From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F0036E456 for ; Thu, 29 Nov 2018 12:57:26 +0000 (UTC) From: Lukasz Kalamarz Date: Thu, 29 Nov 2018 13:57:25 +0100 Message-Id: <20181129125725.25114-1-lukasz.kalamarz@intel.com> Subject: [igt-dev] [PATCH i-g-t] include/drm-uapi: bump headers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: ICAgIFRha2VuIGZyb20gZHJtLW5leHQgOgoKICAgIGNvbW1pdCAxZWMyOGY4YjhhZGE0ZTRmNzdk MWFmMDA2YTNhNDc0ZjRmODNiOGUzCiAgICBNZXJnZTogNjE2NDdjNzdjYjE1IDJlNmU5MDJkMTg1 MAogICAgQXV0aG9yOiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgogICAgRGF0ZTog ICBUaHUgTm92IDI5IDEwOjM0OjAzIDIwMTggKzEwMDAKCiAgICBNZXJnZSB2NC4yMC1yYzQgaW50 byBkcm0tbmV4dAoKR2VuZXJhdGVkIGJ5ICdtYWtlIGhlYWRlcnNfaW5zdGFsbCcKClNpZ25lZC1v ZmYtYnk6IEx1a2FzeiBLYWxhbWFyeiA8bHVrYXN6LmthbGFtYXJ6QGludGVsLmNvbT4KLS0tCiBp bmNsdWRlL2RybS11YXBpL2FtZGdwdV9kcm0uaCAgfCAgNTggKysrLQogaW5jbHVkZS9kcm0tdWFw aS9kcm0uaCAgICAgICAgIHwgIDE2ICsrCiBpbmNsdWRlL2RybS11YXBpL2RybV9mb3VyY2MuaCAg fCAyMzkgKysrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS11YXBpL2RybV9tb2RlLmggICAgfCAg MjYgKy0KIGluY2x1ZGUvZHJtLXVhcGkvZXRuYXZpdl9kcm0uaCB8ICAgNiArCiBpbmNsdWRlL2Ry bS11YXBpL2V4eW5vc19kcm0uaCAgfCAyNDAgKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0t dWFwaS9pOTE1X2RybS5oICAgIHwgIDMwICsrCiBpbmNsdWRlL2RybS11YXBpL21zbV9kcm0uaCAg ICAgfCAgIDIgKwogaW5jbHVkZS9kcm0tdWFwaS90ZWdyYV9kcm0uaCAgIHwgNTEyICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLQogaW5jbHVkZS9kcm0tdWFwaS92M2RfZHJtLmggICAg IHwgICA0ICstCiBpbmNsdWRlL2RybS11YXBpL3ZjNF9kcm0uaCAgICAgfCAgMTMgKy0KIGluY2x1 ZGUvZHJtLXVhcGkvdmlydGdwdV9kcm0uaCB8ICAxNCArLQogaW5jbHVkZS9kcm0tdWFwaS92bXdn ZnhfZHJtLmggIHwgMTY2ICsrKysrKysrLS0tCiAxMyBmaWxlcyBjaGFuZ2VkLCAxMjU1IGluc2Vy dGlvbnMoKyksIDcxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkv YW1kZ3B1X2RybS5oIGIvaW5jbHVkZS9kcm0tdWFwaS9hbWRncHVfZHJtLmgKaW5kZXggMTgxNmJk ODIuLmJlODRlNDNjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS11YXBpL2FtZGdwdV9kcm0uaAor KysgYi9pbmNsdWRlL2RybS11YXBpL2FtZGdwdV9kcm0uaApAQCAtNzIsMTIgKzcyLDQxIEBAIGV4 dGVybiAiQyIgewogI2RlZmluZSBEUk1fSU9DVExfQU1ER1BVX0ZFTkNFX1RPX0hBTkRMRSBEUk1f SU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0FNREdQVV9GRU5DRV9UT19IQU5ETEUsIHVuaW9u IGRybV9hbWRncHVfZmVuY2VfdG9faGFuZGxlKQogI2RlZmluZSBEUk1fSU9DVExfQU1ER1BVX1ND SEVECQlEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fQU1ER1BVX1NDSEVELCB1bmlvbiBk cm1fYW1kZ3B1X3NjaGVkKQogCisvKioKKyAqIERPQzogbWVtb3J5IGRvbWFpbnMKKyAqCisgKiAl QU1ER1BVX0dFTV9ET01BSU5fQ1BVCVN5c3RlbSBtZW1vcnkgdGhhdCBpcyBub3QgR1BVIGFjY2Vz c2libGUuCisgKiBNZW1vcnkgaW4gdGhpcyBwb29sIGNvdWxkIGJlIHN3YXBwZWQgb3V0IHRvIGRp c2sgaWYgdGhlcmUgaXMgcHJlc3N1cmUuCisgKgorICogJUFNREdQVV9HRU1fRE9NQUlOX0dUVAlH UFUgYWNjZXNzaWJsZSBzeXN0ZW0gbWVtb3J5LCBtYXBwZWQgaW50byB0aGUKKyAqIEdQVSdzIHZp cnR1YWwgYWRkcmVzcyBzcGFjZSB2aWEgZ2FydC4gR2FydCBtZW1vcnkgbGluZWFyaXplcyBub24t Y29udGlndW91cworICogcGFnZXMgb2Ygc3lzdGVtIG1lbW9yeSwgYWxsb3dzIEdQVSBhY2Nlc3Mg c3lzdGVtIG1lbW9yeSBpbiBhIGxpbmV6cml6ZWQKKyAqIGZhc2hpb24uCisgKgorICogJUFNREdQ VV9HRU1fRE9NQUlOX1ZSQU0JTG9jYWwgdmlkZW8gbWVtb3J5LiBGb3IgQVBVcywgaXQgaXMgbWVt b3J5CisgKiBjYXJ2ZWQgb3V0IGJ5IHRoZSBCSU9TLgorICoKKyAqICVBTURHUFVfR0VNX0RPTUFJ Tl9HRFMJR2xvYmFsIG9uLWNoaXAgZGF0YSBzdG9yYWdlIHVzZWQgdG8gc2hhcmUgZGF0YQorICog YWNyb3NzIHNoYWRlciB0aHJlYWRzLgorICoKKyAqICVBTURHUFVfR0VNX0RPTUFJTl9HV1MJR2xv YmFsIHdhdmUgc3luYywgdXNlZCB0byBzeW5jaHJvbml6ZSB0aGUKKyAqIGV4ZWN1dGlvbiBvZiBh bGwgdGhlIHdhdmVzIG9uIGEgZGV2aWNlLgorICoKKyAqICVBTURHUFVfR0VNX0RPTUFJTl9PQQlP cmRlcmVkIGFwcGVuZCwgdXNlZCBieSAzRCBvciBDb21wdXRlIGVuZ2luZXMKKyAqIGZvciBhcHBl bmRpbmcgZGF0YS4KKyAqLwogI2RlZmluZSBBTURHUFVfR0VNX0RPTUFJTl9DUFUJCTB4MQogI2Rl ZmluZSBBTURHUFVfR0VNX0RPTUFJTl9HVFQJCTB4MgogI2RlZmluZSBBTURHUFVfR0VNX0RPTUFJ Tl9WUkFNCQkweDQKICNkZWZpbmUgQU1ER1BVX0dFTV9ET01BSU5fR0RTCQkweDgKICNkZWZpbmUg QU1ER1BVX0dFTV9ET01BSU5fR1dTCQkweDEwCiAjZGVmaW5lIEFNREdQVV9HRU1fRE9NQUlOX09B CQkweDIwCisjZGVmaW5lIEFNREdQVV9HRU1fRE9NQUlOX01BU0sJCShBTURHUFVfR0VNX0RPTUFJ Tl9DUFUgfCBcCisJCQkJCSBBTURHUFVfR0VNX0RPTUFJTl9HVFQgfCBcCisJCQkJCSBBTURHUFVf R0VNX0RPTUFJTl9WUkFNIHwgXAorCQkJCQkgQU1ER1BVX0dFTV9ET01BSU5fR0RTIHwgXAorCQkJ CQkgQU1ER1BVX0dFTV9ET01BSU5fR1dTIHwgXAorCQkJCQkgQU1ER1BVX0dFTV9ET01BSU5fT0Ep CiAKIC8qIEZsYWcgdGhhdCBDUFUgYWNjZXNzIHdpbGwgYmUgcmVxdWlyZWQgZm9yIHRoZSBjYXNl IG9mIFZSQU0gZG9tYWluICovCiAjZGVmaW5lIEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1Nf UkVRVUlSRUQJKDEgPDwgMCkKQEAgLTk1LDYgKzEyNCwxMCBAQCBleHRlcm4gIkMiIHsKICNkZWZp bmUgQU1ER1BVX0dFTV9DUkVBVEVfVk1fQUxXQVlTX1ZBTElECSgxIDw8IDYpCiAvKiBGbGFnIHRo YXQgQk8gc2hhcmluZyB3aWxsIGJlIGV4cGxpY2l0bHkgc3luY2hyb25pemVkICovCiAjZGVmaW5l IEFNREdQVV9HRU1fQ1JFQVRFX0VYUExJQ0lUX1NZTkMJCSgxIDw8IDcpCisvKiBGbGFnIHRoYXQg aW5kaWNhdGVzIGFsbG9jYXRpbmcgTVFEIGdhcnQgb24gR0ZYOSwgd2hlcmUgdGhlIG10eXBlCisg KiBmb3IgdGhlIHNlY29uZCBwYWdlIG9ud2FyZCBzaG91bGQgYmUgc2V0IHRvIE5DLgorICovCisj ZGVmaW5lIEFNREdQVV9HRU1fQ1JFQVRFX01RRF9HRlg5CQkoMSA8PCA4KQogCiBzdHJ1Y3QgZHJt X2FtZGdwdV9nZW1fY3JlYXRlX2luICB7CiAJLyoqIHRoZSByZXF1ZXN0ZWQgbWVtb3J5IHNpemUg Ki8KQEAgLTI5Myw2ICszMjYsMTIgQEAgc3RydWN0IGRybV9hbWRncHVfZ2VtX3VzZXJwdHIgewog LyogR0ZYOSBhbmQgbGF0ZXI6ICovCiAjZGVmaW5lIEFNREdQVV9USUxJTkdfU1dJWlpMRV9NT0RF X1NISUZUCQkwCiAjZGVmaW5lIEFNREdQVV9USUxJTkdfU1dJWlpMRV9NT0RFX01BU0sJCQkweDFm CisjZGVmaW5lIEFNREdQVV9USUxJTkdfRENDX09GRlNFVF8yNTZCX1NISUZUCQk1CisjZGVmaW5l IEFNREdQVV9USUxJTkdfRENDX09GRlNFVF8yNTZCX01BU0sJCTB4RkZGRkZGCisjZGVmaW5lIEFN REdQVV9USUxJTkdfRENDX1BJVENIX01BWF9TSElGVAkJMjkKKyNkZWZpbmUgQU1ER1BVX1RJTElO R19EQ0NfUElUQ0hfTUFYX01BU0sJCTB4M0ZGRgorI2RlZmluZSBBTURHUFVfVElMSU5HX0RDQ19J TkRFUEVOREVOVF82NEJfU0hJRlQJCTQzCisjZGVmaW5lIEFNREdQVV9USUxJTkdfRENDX0lOREVQ RU5ERU5UXzY0Ql9NQVNLCQkweDEKIAogLyogU2V0L0dldCBoZWxwZXJzIGZvciB0aWxpbmcgZmxh Z3MuICovCiAjZGVmaW5lIEFNREdQVV9USUxJTkdfU0VUKGZpZWxkLCB2YWx1ZSkgXApAQCAtNDcz LDcgKzUxMiw4IEBAIHN0cnVjdCBkcm1fYW1kZ3B1X2dlbV92YSB7CiAjZGVmaW5lIEFNREdQVV9I V19JUF9VVkRfRU5DICAgICAgNQogI2RlZmluZSBBTURHUFVfSFdfSVBfVkNOX0RFQyAgICAgIDYK ICNkZWZpbmUgQU1ER1BVX0hXX0lQX1ZDTl9FTkMgICAgICA3Ci0jZGVmaW5lIEFNREdQVV9IV19J UF9OVU0gICAgICAgICAgOAorI2RlZmluZSBBTURHUFVfSFdfSVBfVkNOX0pQRUcgICAgIDgKKyNk ZWZpbmUgQU1ER1BVX0hXX0lQX05VTSAgICAgICAgICA5CiAKICNkZWZpbmUgQU1ER1BVX0hXX0lQ X0lOU1RBTkNFX01BWF9DT1VOVCAxCiAKQEAgLTQ4Miw2ICs1MjIsNyBAQCBzdHJ1Y3QgZHJtX2Ft ZGdwdV9nZW1fdmEgewogI2RlZmluZSBBTURHUFVfQ0hVTktfSURfREVQRU5ERU5DSUVTCTB4MDMK ICNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfSU4gICAgICAweDA0CiAjZGVmaW5lIEFN REdQVV9DSFVOS19JRF9TWU5DT0JKX09VVCAgICAgMHgwNQorI2RlZmluZSBBTURHUFVfQ0hVTktf SURfQk9fSEFORExFUyAgICAgIDB4MDYKIAogc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmsgewog CV9fdTMyCQljaHVua19pZDsKQEAgLTUyMCw2ICs1NjEsMTAgQEAgdW5pb24gZHJtX2FtZGdwdV9j cyB7CiAvKiBQcmVlbXB0IGZsYWcsIElCIHNob3VsZCBzZXQgUHJlX2VuYiBiaXQgaWYgUFJFRU1Q VCBmbGFnIGRldGVjdGVkICovCiAjZGVmaW5lIEFNREdQVV9JQl9GTEFHX1BSRUVNUFQgKDE8PDIp CiAKKy8qIFRoZSBJQiBmZW5jZSBzaG91bGQgZG8gdGhlIEwyIHdyaXRlYmFjayBidXQgbm90IGlu dmFsaWRhdGUgYW55IHNoYWRlcgorICogY2FjaGVzIChMMi92TDEvc0wxL0kkKS4gKi8KKyNkZWZp bmUgQU1ER1BVX0lCX0ZMQUdfVENfV0JfTk9UX0lOVkFMSURBVEUgKDEgPDwgMykKKwogc3RydWN0 IGRybV9hbWRncHVfY3NfY2h1bmtfaWIgewogCV9fdTMyIF9wYWQ7CiAJLyoqIEFNREdQVV9JQl9G TEFHXyogKi8KQEAgLTYxOCw2ICs2NjMsMTYgQEAgc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtf ZGF0YSB7CiAJI2RlZmluZSBBTURHUFVfSU5GT19GV19TT1MJCTB4MGMKIAkvKiBTdWJxdWVyeSBp ZDogUXVlcnkgUFNQIEFTRCBmaXJtd2FyZSB2ZXJzaW9uICovCiAJI2RlZmluZSBBTURHUFVfSU5G T19GV19BU0QJCTB4MGQKKwkvKiBTdWJxdWVyeSBpZDogUXVlcnkgVkNOIGZpcm13YXJlIHZlcnNp b24gKi8KKwkjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX1ZDTgkJMHgwZQorCS8qIFN1YnF1ZXJ5IGlk OiBRdWVyeSBHRlggUkxDIFNSTEMgZmlybXdhcmUgdmVyc2lvbiAqLworCSNkZWZpbmUgQU1ER1BV X0lORk9fRldfR0ZYX1JMQ19SRVNUT1JFX0xJU1RfQ05UTCAweDBmCisJLyogU3VicXVlcnkgaWQ6 IFF1ZXJ5IEdGWCBSTEMgU1JMRyBmaXJtd2FyZSB2ZXJzaW9uICovCisJI2RlZmluZSBBTURHUFVf SU5GT19GV19HRlhfUkxDX1JFU1RPUkVfTElTVF9HUE1fTUVNIDB4MTAKKwkvKiBTdWJxdWVyeSBp ZDogUXVlcnkgR0ZYIFJMQyBTUkxTIGZpcm13YXJlIHZlcnNpb24gKi8KKwkjZGVmaW5lIEFNREdQ VV9JTkZPX0ZXX0dGWF9STENfUkVTVE9SRV9MSVNUX1NSTV9NRU0gMHgxMQorCS8qIFN1YnF1ZXJ5 IGlkOiBRdWVyeSBETUNVIGZpcm13YXJlIHZlcnNpb24gKi8KKwkjZGVmaW5lIEFNREdQVV9JTkZP X0ZXX0RNQ1UJCTB4MTIKIC8qIG51bWJlciBvZiBieXRlcyBtb3ZlZCBmb3IgVFRNIG1pZ3JhdGlv biAqLwogI2RlZmluZSBBTURHUFVfSU5GT19OVU1fQllURVNfTU9WRUQJCTB4MGYKIC8qIHRoZSB1 c2VkIFZSQU0gc2l6ZSAqLwpAQCAtODA2LDYgKzg2MSw3IEBAIHN0cnVjdCBkcm1fYW1kZ3B1X2lu Zm9fZmlybXdhcmUgewogI2RlZmluZSBBTURHUFVfVlJBTV9UWVBFX0dERFI1IDUKICNkZWZpbmUg QU1ER1BVX1ZSQU1fVFlQRV9IQk0gICA2CiAjZGVmaW5lIEFNREdQVV9WUkFNX1RZUEVfRERSMyAg NworI2RlZmluZSBBTURHUFVfVlJBTV9UWVBFX0REUjQgIDgKIAogc3RydWN0IGRybV9hbWRncHVf aW5mb19kZXZpY2UgewogCS8qKiBQQ0kgRGV2aWNlIElEICovCmRpZmYgLS1naXQgYS9pbmNsdWRl L2RybS11YXBpL2RybS5oIGIvaW5jbHVkZS9kcm0tdWFwaS9kcm0uaAppbmRleCBmMGJkOTFkZS4u ODVjNjg1YTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvZHJtLmgKKysrIGIvaW5jbHVk ZS9kcm0tdWFwaS9kcm0uaApAQCAtNjc0LDYgKzY3NCwyMiBAQCBzdHJ1Y3QgZHJtX2dldF9jYXAg ewogICovCiAjZGVmaW5lIERSTV9DTElFTlRfQ0FQX0FUT01JQwkzCiAKKy8qKgorICogRFJNX0NM SUVOVF9DQVBfQVNQRUNUX1JBVElPCisgKgorICogSWYgc2V0IHRvIDEsIHRoZSBEUk0gY29yZSB3 aWxsIHByb3ZpZGUgYXNwZWN0IHJhdGlvIGluZm9ybWF0aW9uIGluIG1vZGVzLgorICovCisjZGVm aW5lIERSTV9DTElFTlRfQ0FQX0FTUEVDVF9SQVRJTyAgICA0CisKKy8qKgorICogRFJNX0NMSUVO VF9DQVBfV1JJVEVCQUNLX0NPTk5FQ1RPUlMKKyAqCisgKiBJZiBzZXQgdG8gMSwgdGhlIERSTSBj b3JlIHdpbGwgZXhwb3NlIHNwZWNpYWwgY29ubmVjdG9ycyB0byBiZSB1c2VkIGZvcgorICogd3Jp dGluZyBiYWNrIHRvIG1lbW9yeSB0aGUgc2NlbmUgc2V0dXAgaW4gdGhlIGNvbW1pdC4gRGVwZW5k cyBvbiBjbGllbnQKKyAqIGFsc28gc3VwcG9ydGluZyBEUk1fQ0xJRU5UX0NBUF9BVE9NSUMKKyAq LworI2RlZmluZSBEUk1fQ0xJRU5UX0NBUF9XUklURUJBQ0tfQ09OTkVDVE9SUwk1CisKIC8qKiBE Uk1fSU9DVExfU0VUX0NMSUVOVF9DQVAgaW9jdGwgYXJndW1lbnQgdHlwZSAqLwogc3RydWN0IGRy bV9zZXRfY2xpZW50X2NhcCB7CiAJX191NjQgY2FwYWJpbGl0eTsKZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5oIGIvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmgK aW5kZXggZTA0NjEzZDMuLjBiNDQyNjBhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS11YXBpL2Ry bV9mb3VyY2MuaAorKysgYi9pbmNsdWRlL2RybS11YXBpL2RybV9mb3VyY2MuaApAQCAtMzAsMTEg KzMwLDUwIEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCisvKioKKyAqIERPQzogb3ZlcnZpZXcK KyAqCisgKiBJbiB0aGUgRFJNIHN1YnN5c3RlbSwgZnJhbWVidWZmZXIgcGl4ZWwgZm9ybWF0cyBh cmUgZGVzY3JpYmVkIHVzaW5nIHRoZQorICogZm91cmNjIGNvZGVzIGRlZmluZWQgaW4gYGluY2x1 ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oYC4gSW4gYWRkaXRpb24gdG8gdGhlCisgKiBmb3VyY2Mg Y29kZSwgYSBGb3JtYXQgTW9kaWZpZXIgbWF5IG9wdGlvbmFsbHkgYmUgcHJvdmlkZWQsIGluIG9y ZGVyIHRvCisgKiBmdXJ0aGVyIGRlc2NyaWJlIHRoZSBidWZmZXIncyBmb3JtYXQgLSBmb3IgZXhh bXBsZSB0aWxpbmcgb3IgY29tcHJlc3Npb24uCisgKgorICogRm9ybWF0IE1vZGlmaWVycworICog LS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIEZvcm1hdCBtb2RpZmllcnMgYXJlIHVzZWQgaW4gY29u anVuY3Rpb24gd2l0aCBhIGZvdXJjYyBjb2RlLCBmb3JtaW5nIGEKKyAqIHVuaXF1ZSBmb3VyY2M6 bW9kaWZpZXIgcGFpci4gVGhpcyBmb3JtYXQ6bW9kaWZpZXIgcGFpciBtdXN0IGZ1bGx5IGRlZmlu ZSB0aGUKKyAqIGZvcm1hdCBhbmQgZGF0YSBsYXlvdXQgb2YgdGhlIGJ1ZmZlciwgYW5kIHNob3Vs ZCBiZSB0aGUgb25seSB3YXkgdG8gZGVzY3JpYmUKKyAqIHRoYXQgcGFydGljdWxhciBidWZmZXIu CisgKgorICogSGF2aW5nIG11bHRpcGxlIGZvdXJjYzptb2RpZmllciBwYWlycyB3aGljaCBkZXNj cmliZSB0aGUgc2FtZSBsYXlvdXQgc2hvdWxkCisgKiBiZSBhdm9pZGVkLCBhcyBzdWNoIGFsaWFz ZXMgcnVuIHRoZSByaXNrIG9mIGRpZmZlcmVudCBkcml2ZXJzIGV4cG9zaW5nCisgKiBkaWZmZXJl bnQgbmFtZXMgZm9yIHRoZSBzYW1lIGRhdGEgZm9ybWF0LCBmb3JjaW5nIHVzZXJzcGFjZSB0byB1 bmRlcnN0YW5kCisgKiB0aGF0IHRoZXkgYXJlIGFsaWFzZXMuCisgKgorICogRm9ybWF0IG1vZGlm aWVycyBtYXkgY2hhbmdlIGFueSBwcm9wZXJ0eSBvZiB0aGUgYnVmZmVyLCBpbmNsdWRpbmcgdGhl IG51bWJlcgorICogb2YgcGxhbmVzIGFuZC9vciB0aGUgcmVxdWlyZWQgYWxsb2NhdGlvbiBzaXpl LiBGb3JtYXQgbW9kaWZpZXJzIGFyZQorICogdmVuZG9yLW5hbWVzcGFjZWQsIGFuZCBhcyBzdWNo IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBhIGZvdXJjYyBjb2RlIGFuZCBhCisgKiBtb2RpZmll ciBpcyBzcGVjaWZpYyB0byB0aGUgbW9kaWZlciBiZWluZyB1c2VkLiBGb3IgZXhhbXBsZSwgc29t ZSBtb2RpZmllcnMKKyAqIG1heSBwcmVzZXJ2ZSBtZWFuaW5nIC0gc3VjaCBhcyBudW1iZXIgb2Yg cGxhbmVzIC0gZnJvbSB0aGUgZm91cmNjIGNvZGUsCisgKiB3aGVyZWFzIG90aGVycyBtYXkgbm90 LgorICoKKyAqIFZlbmRvcnMgc2hvdWxkIGRvY3VtZW50IHRoZWlyIG1vZGlmaWVyIHVzYWdlIGlu IGFzIG11Y2ggZGV0YWlsIGFzCisgKiBwb3NzaWJsZSwgdG8gZW5zdXJlIG1heGltdW0gY29tcGF0 aWJpbGl0eSBhY3Jvc3MgZGV2aWNlcywgZHJpdmVycyBhbmQKKyAqIGFwcGxpY2F0aW9ucy4KKyAq CisgKiBUaGUgYXV0aG9yaXRhdGl2ZSBsaXN0IG9mIGZvcm1hdCBtb2RpZmllciBjb2RlcyBpcyBm b3VuZCBpbgorICogYGluY2x1ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oYAorICovCisKICNkZWZp bmUgZm91cmNjX2NvZGUoYSwgYiwgYywgZCkgKChfX3UzMikoYSkgfCAoKF9fdTMyKShiKSA8PCA4 KSB8IFwKIAkJCQkgKChfX3UzMikoYykgPDwgMTYpIHwgKChfX3UzMikoZCkgPDwgMjQpKQogCiAj ZGVmaW5lIERSTV9GT1JNQVRfQklHX0VORElBTiAoMTw8MzEpIC8qIGZvcm1hdCBpcyBiaWcgZW5k aWFuIGluc3RlYWQgb2YgbGl0dGxlIGVuZGlhbiAqLwogCisvKiBSZXNlcnZlIDAgZm9yIHRoZSBp bnZhbGlkIGZvcm1hdCBzcGVjaWZpZXIgKi8KKyNkZWZpbmUgRFJNX0ZPUk1BVF9JTlZBTElECTAK KwogLyogY29sb3IgaW5kZXggKi8KICNkZWZpbmUgRFJNX0ZPUk1BVF9DOAkJZm91cmNjX2NvZGUo J0MnLCAnOCcsICcgJywgJyAnKSAvKiBbNzowXSBDICovCiAKQEAgLTExMiw2ICsxNTEsMjEgQEAg ZXh0ZXJuICJDIiB7CiAjZGVmaW5lIERSTV9GT1JNQVRfVllVWQkJZm91cmNjX2NvZGUoJ1YnLCAn WScsICdVJywgJ1knKSAvKiBbMzE6MF0gWTE6Q2IwOlkwOkNyMCA4Ojg6ODo4IGxpdHRsZSBlbmRp YW4gKi8KIAogI2RlZmluZSBEUk1fRk9STUFUX0FZVVYJCWZvdXJjY19jb2RlKCdBJywgJ1knLCAn VScsICdWJykgLyogWzMxOjBdIEE6WTpDYjpDciA4Ojg6ODo4IGxpdHRsZSBlbmRpYW4gKi8KKyNk ZWZpbmUgRFJNX0ZPUk1BVF9YWVVWODg4OAkJZm91cmNjX2NvZGUoJ1gnLCAnWScsICdVJywgJ1Yn KSAvKiBbMzE6MF0gWDpZOkNiOkNyIDg6ODo4OjggbGl0dGxlIGVuZGlhbiAqLworCisvKgorICog cGFja2VkIFlDYkNyNDIwIDJ4MiB0aWxlZCBmb3JtYXRzCisgKiBmaXJzdCA2NCBiaXRzIHdpbGwg Y29udGFpbiBZLENiLENyIGNvbXBvbmVudHMgZm9yIGEgMngyIHRpbGUKKyAqLworLyogWzYzOjBd ICAgQTM6QTI6WTM6MDpDcjA6MDpZMjowOkExOkEwOlkxOjA6Q2IwOjA6WTA6MCAgMToxOjg6Mjo4 OjI6ODoyOjE6MTo4OjI6ODoyOjg6MiBsaXR0bGUgZW5kaWFuICovCisjZGVmaW5lIERSTV9GT1JN QVRfWTBMMAkJZm91cmNjX2NvZGUoJ1knLCAnMCcsICdMJywgJzAnKQorLyogWzYzOjBdICAgWDM6 WDI6WTM6MDpDcjA6MDpZMjowOlgxOlgwOlkxOjA6Q2IwOjA6WTA6MCAgMToxOjg6Mjo4OjI6ODoy OjE6MTo4OjI6ODoyOjg6MiBsaXR0bGUgZW5kaWFuICovCisjZGVmaW5lIERSTV9GT1JNQVRfWDBM MAkJZm91cmNjX2NvZGUoJ1gnLCAnMCcsICdMJywgJzAnKQorCisvKiBbNjM6MF0gICBBMzpBMjpZ MzpDcjA6WTI6QTE6QTA6WTE6Q2IwOlkwICAxOjE6MTA6MTA6MTA6MToxOjEwOjEwOjEwIGxpdHRs ZSBlbmRpYW4gKi8KKyNkZWZpbmUgRFJNX0ZPUk1BVF9ZMEwyCQlmb3VyY2NfY29kZSgnWScsICcw JywgJ0wnLCAnMicpCisvKiBbNjM6MF0gICBYMzpYMjpZMzpDcjA6WTI6WDE6WDA6WTE6Q2IwOlkw ICAxOjE6MTA6MTA6MTA6MToxOjEwOjEwOjEwIGxpdHRsZSBlbmRpYW4gKi8KKyNkZWZpbmUgRFJN X0ZPUk1BVF9YMEwyCQlmb3VyY2NfY29kZSgnWCcsICcwJywgJ0wnLCAnMicpCiAKIC8qCiAgKiAy IHBsYW5lIFJHQiArIEEKQEAgLTE4Myw2ICsyMzcsNyBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUg RFJNX0ZPUk1BVF9NT0RfVkVORE9SX1FDT00gICAgMHgwNQogI2RlZmluZSBEUk1fRk9STUFUX01P RF9WRU5ET1JfVklWQU5URSAweDA2CiAjZGVmaW5lIERSTV9GT1JNQVRfTU9EX1ZFTkRPUl9CUk9B RENPTSAweDA3CisjZGVmaW5lIERSTV9GT1JNQVRfTU9EX1ZFTkRPUl9BUk0gICAgIDB4MDgKIC8q IGFkZCBtb3JlIHRvIHRoZSBlbmQgYXMgbmVlZGVkICovCiAKICNkZWZpbmUgRFJNX0ZPUk1BVF9S RVNFUlZFRAkgICAgICAoKDFVTEwgPDwgNTYpIC0gMSkKQEAgLTI5OCw2ICszNTMsMjggQEAgZXh0 ZXJuICJDIiB7CiAgKi8KICNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfU0FNU1VOR182NF8zMl9USUxF CWZvdXJjY19tb2RfY29kZShTQU1TVU5HLCAxKQogCisvKgorICogVGlsZWQsIDE2IChwaXhlbHMp IHggMTYgKGxpbmVzKSAtIHNpemVkIG1hY3JvYmxvY2tzCisgKgorICogVGhpcyBpcyBhIHNpbXBs ZSB0aWxlZCBsYXlvdXQgdXNpbmcgdGlsZXMgb2YgMTZ4MTYgcGl4ZWxzIGluIGEgcm93LW1ham9y CisgKiBsYXlvdXQuIEZvciBZQ2JDciBmb3JtYXRzIENiL0NyIGNvbXBvbmVudHMgYXJlIHRha2Vu IGluIHN1Y2ggYSB3YXkgdGhhdAorICogdGhleSBjb3JyZXNwb25kIHRvIHRoZWlyIDE2eDE2IGx1 bWEgYmxvY2suCisgKi8KKyNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfU0FNU1VOR18xNl8xNl9USUxF CWZvdXJjY19tb2RfY29kZShTQU1TVU5HLCAyKQorCisvKgorICogUXVhbGNvbW0gQ29tcHJlc3Nl ZCBGb3JtYXQKKyAqCisgKiBSZWZlcnMgdG8gYSBjb21wcmVzc2VkIHZhcmlhbnQgb2YgdGhlIGJh c2UgZm9ybWF0IHRoYXQgaXMgY29tcHJlc3NlZC4KKyAqIEltcGxlbWVudGF0aW9uIG1heSBiZSBw bGF0Zm9ybSBhbmQgYmFzZS1mb3JtYXQgc3BlY2lmaWMuCisgKgorICogRWFjaCBtYWNyb3RpbGUg Y29uc2lzdHMgb2YgbSB4IG4gKG1vc3RseSA0IHggNCkgdGlsZXMuCisgKiBQaXhlbCBkYXRhIHBp dGNoL3N0cmlkZSBpcyBhbGlnbmVkIHdpdGggbWFjcm90aWxlIHdpZHRoLgorICogUGl4ZWwgZGF0 YSBoZWlnaHQgaXMgYWxpZ25lZCB3aXRoIG1hY3JvdGlsZSBoZWlnaHQuCisgKiBFbnRpcmUgcGl4 ZWwgZGF0YSBidWZmZXIgaXMgYWxpZ25lZCB3aXRoIDRrKGJ5dGVzKS4KKyAqLworI2RlZmluZSBE Uk1fRk9STUFUX01PRF9RQ09NX0NPTVBSRVNTRUQJZm91cmNjX21vZF9jb2RlKFFDT00sIDEpCisK IC8qIFZpdmFudGUgZnJhbWVidWZmZXIgbW9kaWZpZXJzICovCiAKIC8qCkBAIC0zODQsNiArNDYx LDIzIEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJf QkxPQ0tfVEhJUlRZVFdPX0dPQiBcCiAJZm91cmNjX21vZF9jb2RlKE5WSURJQSwgMHgxNSkKIAor LyoKKyAqIFNvbWUgQnJvYWRjb20gbW9kaWZpZXJzIHRha2UgcGFyYW1ldGVycywgZm9yIGV4YW1w bGUgdGhlIG51bWJlciBvZgorICogdmVydGljYWwgbGluZXMgaW4gdGhlIGltYWdlLiBSZXNlcnZl IHRoZSBsb3dlciAzMiBiaXRzIGZvciBtb2RpZmllcgorICogdHlwZSwgYW5kIHRoZSBuZXh0IDI0 IGJpdHMgZm9yIHBhcmFtZXRlcnMuIFRvcCA4IGJpdHMgYXJlIHRoZQorICogdmVuZG9yIGNvZGUu CisgKi8KKyNkZWZpbmUgX19mb3VyY2NfbW9kX2Jyb2FkY29tX3BhcmFtX3NoaWZ0IDgKKyNkZWZp bmUgX19mb3VyY2NfbW9kX2Jyb2FkY29tX3BhcmFtX2JpdHMgNDgKKyNkZWZpbmUgZm91cmNjX21v ZF9icm9hZGNvbV9jb2RlKHZhbCwgcGFyYW1zKSBcCisJZm91cmNjX21vZF9jb2RlKEJST0FEQ09N LCAoKCgoX191NjQpcGFyYW1zKSA8PCBfX2ZvdXJjY19tb2RfYnJvYWRjb21fcGFyYW1fc2hpZnQp IHwgdmFsKSkKKyNkZWZpbmUgZm91cmNjX21vZF9icm9hZGNvbV9wYXJhbShtKSBcCisJKChpbnQp KCgobSkgPj4gX19mb3VyY2NfbW9kX2Jyb2FkY29tX3BhcmFtX3NoaWZ0KSAmCVwKKwkgICAgICAg KCgxVUxMIDw8IF9fZm91cmNjX21vZF9icm9hZGNvbV9wYXJhbV9iaXRzKSAtIDEpKSkKKyNkZWZp bmUgZm91cmNjX21vZF9icm9hZGNvbV9tb2QobSkgXAorCSgobSkgJiB+KCgoMVVMTCA8PCBfX2Zv dXJjY19tb2RfYnJvYWRjb21fcGFyYW1fYml0cykgLSAxKSA8PAlcCisJCSBfX2ZvdXJjY19tb2Rf YnJvYWRjb21fcGFyYW1fc2hpZnQpKQorCiAvKgogICogQnJvYWRjb20gVkM0ICJUIiBmb3JtYXQK ICAqCkBAIC00MDUsNiArNDk5LDE1MSBAQCBleHRlcm4gIkMiIHsKICAqLwogI2RlZmluZSBEUk1f Rk9STUFUX01PRF9CUk9BRENPTV9WQzRfVF9USUxFRCBmb3VyY2NfbW9kX2NvZGUoQlJPQURDT00s IDEpCiAKKy8qCisgKiBCcm9hZGNvbSBTQU5EIGZvcm1hdAorICoKKyAqIFRoaXMgaXMgdGhlIG5h dGl2ZSBmb3JtYXQgdGhhdCB0aGUgSC4yNjQgY29kZWMgYmxvY2sgdXNlcy4gIEZvciBWQzQKKyAq IEhWUywgaXQgaXMgb25seSB2YWxpZCBmb3IgSC4yNjQgKE5WMTIvMjEpIGFuZCBSR0JBIG1vZGVz LgorICoKKyAqIFRoZSBpbWFnZSBjYW4gYmUgY29uc2lkZXJlZCB0byBiZSBzcGxpdCBpbnRvIGNv bHVtbnMsIGFuZCB0aGUKKyAqIGNvbHVtbnMgYXJlIHBsYWNlZCBjb25zZWN1dGl2ZWx5IGludG8g bWVtb3J5LiAgVGhlIHdpZHRoIG9mIHRob3NlCisgKiBjb2x1bW5zIGNhbiBiZSBlaXRoZXIgMzIs IDY0LCAxMjgsIG9yIDI1NiBwaXhlbHMsIGJ1dCBpbiBwcmFjdGljZQorICogb25seSAxMjggcGl4 ZWwgY29sdW1ucyBhcmUgdXNlZC4KKyAqCisgKiBUaGUgcGl0Y2ggYmV0d2VlbiB0aGUgc3RhcnQg b2YgZWFjaCBjb2x1bW4gaXMgc2V0IHRvIG9wdGltYWxseQorICogc3dpdGNoIGJldHdlZW4gU0RS QU0gYmFua3MuIFRoaXMgaXMgcGFzc2VkIGFzIHRoZSBudW1iZXIgb2YgbGluZXMKKyAqIG9mIGNv bHVtbiB3aWR0aCBpbiB0aGUgbW9kaWZpZXIgKHdlIGNhbid0IHVzZSB0aGUgc3RyaWRlIHZhbHVl IGR1ZQorICogdG8gdmFyaW91cyBjb3JlIGNoZWNrcyB0aGF0IGxvb2sgYXQgaXQgLCBzbyB5b3Ug c2hvdWxkIHNldCB0aGUKKyAqIHN0cmlkZSB0byB3aWR0aCpjcHApLgorICoKKyAqIE5vdGUgdGhh dCB0aGUgY29sdW1uIGhlaWdodCBmb3IgdGhpcyBmb3JtYXQgbW9kaWZpZXIgaXMgdGhlIHNhbWUK KyAqIGZvciBhbGwgb2YgdGhlIHBsYW5lcywgYXNzdW1pbmcgdGhhdCBlYWNoIGNvbHVtbiBjb250 YWlucyBib3RoIFkKKyAqIGFuZCBVVi4gIFNvbWUgU0FORC11c2luZyBoYXJkd2FyZSBzdG9yZXMg VVYgaW4gYSBzZXBhcmF0ZSB0aWxlZAorICogaW1hZ2UgZnJvbSBZIHRvIHJlZHVjZSB0aGUgY29s dW1uIGhlaWdodCwgd2hpY2ggaXMgbm90IHN1cHBvcnRlZAorICogd2l0aCB0aGVzZSBtb2RpZmll cnMuCisgKi8KKworI2RlZmluZSBEUk1fRk9STUFUX01PRF9CUk9BRENPTV9TQU5EMzJfQ09MX0hF SUdIVCh2KSBcCisJZm91cmNjX21vZF9icm9hZGNvbV9jb2RlKDIsIHYpCisjZGVmaW5lIERSTV9G T1JNQVRfTU9EX0JST0FEQ09NX1NBTkQ2NF9DT0xfSEVJR0hUKHYpIFwKKwlmb3VyY2NfbW9kX2Jy b2FkY29tX2NvZGUoMywgdikKKyNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fU0FORDEy OF9DT0xfSEVJR0hUKHYpIFwKKwlmb3VyY2NfbW9kX2Jyb2FkY29tX2NvZGUoNCwgdikKKyNkZWZp bmUgRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fU0FORDI1Nl9DT0xfSEVJR0hUKHYpIFwKKwlmb3Vy Y2NfbW9kX2Jyb2FkY29tX2NvZGUoNSwgdikKKworI2RlZmluZSBEUk1fRk9STUFUX01PRF9CUk9B RENPTV9TQU5EMzIgXAorCURSTV9GT1JNQVRfTU9EX0JST0FEQ09NX1NBTkQzMl9DT0xfSEVJR0hU KDApCisjZGVmaW5lIERSTV9GT1JNQVRfTU9EX0JST0FEQ09NX1NBTkQ2NCBcCisJRFJNX0ZPUk1B VF9NT0RfQlJPQURDT01fU0FORDY0X0NPTF9IRUlHSFQoMCkKKyNkZWZpbmUgRFJNX0ZPUk1BVF9N T0RfQlJPQURDT01fU0FORDEyOCBcCisJRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fU0FORDEyOF9D T0xfSEVJR0hUKDApCisjZGVmaW5lIERSTV9GT1JNQVRfTU9EX0JST0FEQ09NX1NBTkQyNTYgXAor CURSTV9GT1JNQVRfTU9EX0JST0FEQ09NX1NBTkQyNTZfQ09MX0hFSUdIVCgwKQorCisvKiBCcm9h ZGNvbSBVSUYgZm9ybWF0CisgKgorICogVGhpcyBpcyB0aGUgY29tbW9uIGZvcm1hdCBmb3IgdGhl IGN1cnJlbnQgQnJvYWRjb20gbXVsdGltZWRpYQorICogYmxvY2tzLCBpbmNsdWRpbmcgVjNEIDMu eCBhbmQgbmV3ZXIsIG5ld2VyIHZpZGVvIGNvZGVjcywgYW5kCisgKiBkaXNwbGF5cy4KKyAqCisg KiBUaGUgaW1hZ2UgY29uc2lzdHMgb2YgdXRpbGVzICg2NGIgYmxvY2tzKSwgVUlGIGJsb2NrcyAo MngyIHV0aWxlcyksCisgKiBhbmQgbWFjcm9ibG9ja3MgKDR4NCBVSUYgYmxvY2tzKS4gIFRob3Nl IDR4NCBVSUYgYmxvY2sgZ3JvdXBzIGFyZQorICogc3RvcmVkIGluIGNvbHVtbnMsIHdpdGggcGFk ZGluZyBiZXR3ZWVuIHRoZSBjb2x1bW5zIHRvIGVuc3VyZSB0aGF0CisgKiBtb3ZpbmcgZnJvbSBv bmUgY29sdW1uIHRvIHRoZSBuZXh0IGRvZXNuJ3QgaGl0IHRoZSBzYW1lIFNEUkFNIHBhZ2UKKyAq IGJhbmsuCisgKgorICogVG8gY2FsY3VsYXRlIHRoZSBwYWRkaW5nLCBpdCBpcyBhc3N1bWVkIHRo YXQgZWFjaCBoYXJkd2FyZSBibG9jaworICogYW5kIHRoZSBzb2Z0d2FyZSBkcml2aW5nIGl0IGtu b3dzIHRoZSBwbGF0Zm9ybSdzIFNEUkFNIHBhZ2Ugc2l6ZSwKKyAqIG51bWJlciBvZiBiYW5rcywg YW5kIFhPUiBhZGRyZXNzLCBhbmQgdGhhdCBpdCdzIGlkZW50aWNhbCBiZXR3ZWVuCisgKiBhbGwg YmxvY2tzIHVzaW5nIHRoZSBmb3JtYXQuICBUaGlzIHRpbGluZyBtb2RpZmllciB3aWxsIHVzZSBY T1IgYXMKKyAqIG5lY2Vzc2FyeSB0byByZWR1Y2UgdGhlIHBhZGRpbmcuICBJZiBhIGhhcmR3YXJl IGJsb2NrIGNhbid0IGRvIFhPUiwKKyAqIHRoZSBhc3N1bXB0aW9uIGlzIHRoYXQgYSBuby1YT1Ig dGlsaW5nIG1vZGlmaWVyIHdpbGwgYmUgY3JlYXRlZC4KKyAqLworI2RlZmluZSBEUk1fRk9STUFU X01PRF9CUk9BRENPTV9VSUYgZm91cmNjX21vZF9jb2RlKEJST0FEQ09NLCA2KQorCisvKgorICog QXJtIEZyYW1lYnVmZmVyIENvbXByZXNzaW9uIChBRkJDKSBtb2RpZmllcnMKKyAqCisgKiBBRkJD IGlzIGEgcHJvcHJpZXRhcnkgbG9zc2xlc3MgaW1hZ2UgY29tcHJlc3Npb24gcHJvdG9jb2wgYW5k IGZvcm1hdC4KKyAqIEl0IHByb3ZpZGVzIGZpbmUtZ3JhaW5lZCByYW5kb20gYWNjZXNzIGFuZCBt aW5pbWl6ZXMgdGhlIGFtb3VudCBvZiBkYXRhCisgKiB0cmFuc2ZlcnJlZCBiZXR3ZWVuIElQIGJs b2Nrcy4KKyAqCisgKiBBRkJDIGhhcyBzZXZlcmFsIGZlYXR1cmVzIHdoaWNoIG1heSBiZSBzdXBw b3J0ZWQgYW5kL29yIHVzZWQsIHdoaWNoIGFyZQorICogcmVwcmVzZW50ZWQgdXNpbmcgYml0cyBp biB0aGUgbW9kaWZpZXIuIE5vdCBhbGwgY29tYmluYXRpb25zIGFyZSB2YWxpZCwKKyAqIGFuZCBk aWZmZXJlbnQgZGV2aWNlcyBvciB1c2UtY2FzZXMgbWF5IHN1cHBvcnQgZGlmZmVyZW50IGNvbWJp bmF0aW9ucy4KKyAqLworI2RlZmluZSBEUk1fRk9STUFUX01PRF9BUk1fQUZCQyhfX2FmYmNfbW9k ZSkJZm91cmNjX21vZF9jb2RlKEFSTSwgX19hZmJjX21vZGUpCisKKy8qCisgKiBBRkJDIHN1cGVy YmxvY2sgc2l6ZQorICoKKyAqIEluZGljYXRlcyB0aGUgc3VwZXJibG9jayBzaXplKHMpIHVzZWQg Zm9yIHRoZSBBRkJDIGJ1ZmZlci4gVGhlIGJ1ZmZlcgorICogc2l6ZSAoaW4gcGl4ZWxzKSBtdXN0 IGJlIGFsaWduZWQgdG8gYSBtdWx0aXBsZSBvZiB0aGUgc3VwZXJibG9jayBzaXplLgorICogRm91 ciBsb3dlc3Qgc2lnbmlmaWNhbnQgYml0cyhMU0JzKSBhcmUgcmVzZXJ2ZWQgZm9yIGJsb2NrIHNp emUuCisgKi8KKyNkZWZpbmUgQUZCQ19GT1JNQVRfTU9EX0JMT0NLX1NJWkVfTUFTSyAgICAgIDB4 ZgorI2RlZmluZSBBRkJDX0ZPUk1BVF9NT0RfQkxPQ0tfU0laRV8xNngxNiAgICAgKDFVTEwpCisj ZGVmaW5lIEFGQkNfRk9STUFUX01PRF9CTE9DS19TSVpFXzMyeDggICAgICAoMlVMTCkKKworLyoK KyAqIEFGQkMgbG9zc2xlc3MgY29sb3JzcGFjZSB0cmFuc2Zvcm0KKyAqCisgKiBJbmRpY2F0ZXMg dGhhdCB0aGUgYnVmZmVyIG1ha2VzIHVzZSBvZiB0aGUgQUZCQyBsb3NzbGVzcyBjb2xvcnNwYWNl CisgKiB0cmFuc2Zvcm0uCisgKi8KKyNkZWZpbmUgQUZCQ19GT1JNQVRfTU9EX1lUUiAgICAgKDFV TEwgPDwgIDQpCisKKy8qCisgKiBBRkJDIGJsb2NrLXNwbGl0CisgKgorICogSW5kaWNhdGVzIHRo YXQgdGhlIHBheWxvYWQgb2YgZWFjaCBzdXBlcmJsb2NrIGlzIHNwbGl0LiBUaGUgc2Vjb25kCisg KiBoYWxmIG9mIHRoZSBwYXlsb2FkIGlzIHBvc2l0aW9uZWQgYXQgYSBwcmVkZWZpbmVkIG9mZnNl dCBmcm9tIHRoZSBzdGFydAorICogb2YgdGhlIHN1cGVyYmxvY2sgcGF5bG9hZC4KKyAqLworI2Rl ZmluZSBBRkJDX0ZPUk1BVF9NT0RfU1BMSVQgICAoMVVMTCA8PCAgNSkKKworLyoKKyAqIEFGQkMg c3BhcnNlIGxheW91dAorICoKKyAqIFRoaXMgZmxhZyBpbmRpY2F0ZXMgdGhhdCB0aGUgcGF5bG9h ZCBvZiBlYWNoIHN1cGVyYmxvY2sgbXVzdCBiZSBzdG9yZWQgYXQgYQorICogcHJlZGVmaW5lZCBw b3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgb3RoZXIgc3VwZXJibG9ja3MgaW4gdGhlIHNhbWUgQUZC QworICogYnVmZmVyLiBUaGlzIG9yZGVyIGlzIHRoZSBzYW1lIG9yZGVyIHVzZWQgYnkgdGhlIGhl YWRlciBidWZmZXIuIEluIHRoaXMgbW9kZQorICogZWFjaCBzdXBlcmJsb2NrIGlzIGdpdmVuIHRo ZSBzYW1lIGFtb3VudCBvZiBzcGFjZSBhcyBhbiB1bmNvbXByZXNzZWQKKyAqIHN1cGVyYmxvY2sg b2YgdGhlIHBhcnRpY3VsYXIgZm9ybWF0IHdvdWxkIHJlcXVpcmUsIHJvdW5kaW5nIHVwIHRvIHRo ZSBuZXh0CisgKiBtdWx0aXBsZSBvZiAxMjggYnl0ZXMgaW4gc2l6ZS4KKyAqLworI2RlZmluZSBB RkJDX0ZPUk1BVF9NT0RfU1BBUlNFICAoMVVMTCA8PCAgNikKKworLyoKKyAqIEFGQkMgY29weS1i bG9jayByZXN0cmljdAorICoKKyAqIEJ1ZmZlcnMgd2l0aCB0aGlzIGZsYWcgbXVzdCBvYmV5IHRo ZSBjb3B5LWJsb2NrIHJlc3RyaWN0aW9uLiBUaGUgcmVzdHJpY3Rpb24KKyAqIGlzIHN1Y2ggdGhh dCB0aGVyZSBhcmUgbm8gY29weS1ibG9ja3MgcmVmZXJyaW5nIGFjcm9zcyB0aGUgYm9yZGVyIG9m IDh4OAorICogYmxvY2tzLiBGb3IgdGhlIHN1YnNhbXBsZWQgZGF0YSB0aGUgOHg4IGxpbWl0YXRp b24gaXMgYWxzbyBzdWJzYW1wbGVkLgorICovCisjZGVmaW5lIEFGQkNfRk9STUFUX01PRF9DQlIg ICAgICgxVUxMIDw8ICA3KQorCisvKgorICogQUZCQyB0aWxlZCBsYXlvdXQKKyAqCisgKiBUaGUg dGlsZWQgbGF5b3V0IGdyb3VwcyBzdXBlcmJsb2NrcyBpbiA4eDggb3IgNHg0IHRpbGVzLCB3aGVy ZSBhbGwKKyAqIHN1cGVyYmxvY2tzIGluc2lkZSBhIHRpbGUgYXJlIHN0b3JlZCB0b2dldGhlciBp biBtZW1vcnkuIDh4OCB0aWxlcyBhcmUgdXNlZAorICogZm9yIHBpeGVsIGZvcm1hdHMgdXAgdG8g YW5kIGluY2x1ZGluZyAzMiBicHAgd2hpbGUgNHg0IHRpbGVzIGFyZSB1c2VkIGZvcgorICogbGFy Z2VyIGJwcCBmb3JtYXRzLiBUaGUgb3JkZXIgYmV0d2VlbiB0aGUgdGlsZXMgaXMgc2NhbiBsaW5l LgorICogV2hlbiB0aGUgdGlsZWQgbGF5b3V0IGlzIHVzZWQsIHRoZSBidWZmZXIgc2l6ZSAoaW4g cGl4ZWxzKSBtdXN0IGJlIGFsaWduZWQKKyAqIHRvIHRoZSB0aWxlIHNpemUuCisgKi8KKyNkZWZp bmUgQUZCQ19GT1JNQVRfTU9EX1RJTEVEICAgKDFVTEwgPDwgIDgpCisKKy8qCisgKiBBRkJDIHNv bGlkIGNvbG9yIGJsb2NrcworICoKKyAqIEluZGljYXRlcyB0aGF0IHRoZSBidWZmZXIgbWFrZXMg dXNlIG9mIHNvbGlkLWNvbG9yIGJsb2Nrcywgd2hlcmVieSBiYW5kd2lkdGgKKyAqIGNhbiBiZSBy ZWR1Y2VkIGlmIGEgd2hvbGUgc3VwZXJibG9jayBpcyBhIHNpbmdsZSBjb2xvci4KKyAqLworI2Rl ZmluZSBBRkJDX0ZPUk1BVF9NT0RfU0MgICAgICAoMVVMTCA8PCAgOSkKKwogI2lmIGRlZmluZWQo X19jcGx1c3BsdXMpCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvZHJt X21vZGUuaCBiL2luY2x1ZGUvZHJtLXVhcGkvZHJtX21vZGUuaAppbmRleCAyYzU3NTc5NC4uZDNl MGZlMzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvZHJtX21vZGUuaAorKysgYi9pbmNs dWRlL2RybS11YXBpL2RybV9tb2RlLmgKQEAgLTkzLDYgKzkzLDE1IEBAIGV4dGVybiAiQyIgewog I2RlZmluZSBEUk1fTU9ERV9QSUNUVVJFX0FTUEVDVF9OT05FCQkwCiAjZGVmaW5lIERSTV9NT0RF X1BJQ1RVUkVfQVNQRUNUXzRfMwkJMQogI2RlZmluZSBEUk1fTU9ERV9QSUNUVVJFX0FTUEVDVF8x Nl85CQkyCisjZGVmaW5lIERSTV9NT0RFX1BJQ1RVUkVfQVNQRUNUXzY0XzI3CQkzCisjZGVmaW5l IERSTV9NT0RFX1BJQ1RVUkVfQVNQRUNUXzI1Nl8xMzUJCTQKKworLyogQ29udGVudCB0eXBlIG9w dGlvbnMgKi8KKyNkZWZpbmUgRFJNX01PREVfQ09OVEVOVF9UWVBFX05PX0RBVEEJCTAKKyNkZWZp bmUgRFJNX01PREVfQ09OVEVOVF9UWVBFX0dSQVBISUNTCQkxCisjZGVmaW5lIERSTV9NT0RFX0NP TlRFTlRfVFlQRV9QSE9UTwkJMgorI2RlZmluZSBEUk1fTU9ERV9DT05URU5UX1RZUEVfQ0lORU1B CQkzCisjZGVmaW5lIERSTV9NT0RFX0NPTlRFTlRfVFlQRV9HQU1FCQk0CiAKIC8qIEFzcGVjdCBy YXRpbyBmbGFnIGJpdG1hc2sgKDQgYml0cyAyMjoxOSkgKi8KICNkZWZpbmUgRFJNX01PREVfRkxB R19QSUNfQVJfTUFTSwkJKDB4MEY8PDE5KQpAQCAtMTAyLDYgKzExMSwxMCBAQCBleHRlcm4gIkMi IHsKIAkJCShEUk1fTU9ERV9QSUNUVVJFX0FTUEVDVF80XzM8PDE5KQogI2RlZmluZSAgRFJNX01P REVfRkxBR19QSUNfQVJfMTZfOSBcCiAJCQkoRFJNX01PREVfUElDVFVSRV9BU1BFQ1RfMTZfOTw8 MTkpCisjZGVmaW5lICBEUk1fTU9ERV9GTEFHX1BJQ19BUl82NF8yNyBcCisJCQkoRFJNX01PREVf UElDVFVSRV9BU1BFQ1RfNjRfMjc8PDE5KQorI2RlZmluZSAgRFJNX01PREVfRkxBR19QSUNfQVJf MjU2XzEzNSBcCisJCQkoRFJNX01PREVfUElDVFVSRV9BU1BFQ1RfMjU2XzEzNTw8MTkpCiAKICNk ZWZpbmUgIERSTV9NT0RFX0ZMQUdfQUxMCShEUk1fTU9ERV9GTEFHX1BIU1lOQyB8CQlcCiAJCQkJ IERSTV9NT0RFX0ZMQUdfTkhTWU5DIHwJCVwKQEAgLTE3Myw4ICsxODYsOSBAQCBleHRlcm4gIkMi IHsKIC8qCiAgKiBEUk1fTU9ERV9SRUZMRUNUXzxheGlzPgogICoKLSAqIFNpZ25hbHMgdGhhdCB0 aGUgY29udGVudHMgb2YgYSBkcm0gcGxhbmUgaXMgcmVmbGVjdGVkIGluIHRoZSA8YXhpcz4gYXhp cywKKyAqIFNpZ25hbHMgdGhhdCB0aGUgY29udGVudHMgb2YgYSBkcm0gcGxhbmUgaXMgcmVmbGVj dGVkIGFsb25nIHRoZSA8YXhpcz4gYXhpcywKICAqIGluIHRoZSBzYW1lIHdheSBhcyBtaXJyb3Jp bmcuCisgKiBTZWUga2VybmVsZG9jIGNoYXB0ZXIgIlBsYW5lIENvbXBvc2l0aW9uIFByb3BlcnRp ZXMiIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogVGhpcyBkZWZpbmUgaXMgcHJvdmlkZWQgYXMg YSBjb252ZW5pZW5jZSwgbG9va2luZyB1cCB0aGUgcHJvcGVydHkgaWQKICAqIHVzaW5nIHRoZSBu YW1lLT5wcm9wIGlkIGxvb2t1cCBpcyB0aGUgcHJlZmVycmVkIG1ldGhvZC4KQEAgLTMzOCw2ICsz NTIsNyBAQCBlbnVtIGRybV9tb2RlX3N1YmNvbm5lY3RvciB7CiAjZGVmaW5lIERSTV9NT0RFX0NP Tk5FQ1RPUl9WSVJUVUFMICAgICAgMTUKICNkZWZpbmUgRFJNX01PREVfQ09OTkVDVE9SX0RTSQkJ MTYKICNkZWZpbmUgRFJNX01PREVfQ09OTkVDVE9SX0RQSQkJMTcKKyNkZWZpbmUgRFJNX01PREVf Q09OTkVDVE9SX1dSSVRFQkFDSwkxOAogCiBzdHJ1Y3QgZHJtX21vZGVfZ2V0X2Nvbm5lY3RvciB7 CiAKQEAgLTM2Myw3ICszNzgsNyBAQCBzdHJ1Y3QgZHJtX21vZGVfZ2V0X2Nvbm5lY3RvciB7CiAJ X191MzIgcGFkOwogfTsKIAotI2RlZmluZSBEUk1fTU9ERV9QUk9QX1BFTkRJTkcJKDE8PDApCisj ZGVmaW5lIERSTV9NT0RFX1BST1BfUEVORElORwkoMTw8MCkgLyogZGVwcmVjYXRlZCwgZG8gbm90 IHVzZSAqLwogI2RlZmluZSBEUk1fTU9ERV9QUk9QX1JBTkdFCSgxPDwxKQogI2RlZmluZSBEUk1f TU9ERV9QUk9QX0lNTVVUQUJMRQkoMTw8MikKICNkZWZpbmUgRFJNX01PREVfUFJPUF9FTlVNCSgx PDwzKSAvKiBlbnVtZXJhdGVkIHR5cGUgd2l0aCB0ZXh0IHN0cmluZ3MgKi8KQEAgLTU5OCw4ICs2 MTMsMTEgQEAgc3RydWN0IGRybV9tb2RlX2NydGNfbHV0IHsKIH07CiAKIHN0cnVjdCBkcm1fY29s b3JfY3RtIHsKLQkvKiBDb252ZXJzaW9uIG1hdHJpeCBpbiBTMzEuMzIgZm9ybWF0LiAqLwotCV9f czY0IG1hdHJpeFs5XTsKKwkvKgorCSAqIENvbnZlcnNpb24gbWF0cml4IGluIFMzMS4zMiBzaWdu LW1hZ25pdHVkZQorCSAqIChub3QgdHdvJ3MgY29tcGxlbWVudCEpIGZvcm1hdC4KKwkgKi8KKwlf X3U2NCBtYXRyaXhbOV07CiB9OwogCiBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCB7CmRpZmYgLS1naXQg YS9pbmNsdWRlL2RybS11YXBpL2V0bmF2aXZfZHJtLmggYi9pbmNsdWRlL2RybS11YXBpL2V0bmF2 aXZfZHJtLmgKaW5kZXggZTliOTk3YTAuLjBkNWM0OWRjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2Ry bS11YXBpL2V0bmF2aXZfZHJtLmgKKysrIGIvaW5jbHVkZS9kcm0tdWFwaS9ldG5hdml2X2RybS5o CkBAIC01NSw2ICs1NSwxMiBAQCBzdHJ1Y3QgZHJtX2V0bmF2aXZfdGltZXNwZWMgewogI2RlZmlu ZSBFVE5BVklWX1BBUkFNX0dQVV9GRUFUVVJFU180ICAgICAgICAgICAgICAgIDB4MDcKICNkZWZp bmUgRVROQVZJVl9QQVJBTV9HUFVfRkVBVFVSRVNfNSAgICAgICAgICAgICAgICAweDA4CiAjZGVm aW5lIEVUTkFWSVZfUEFSQU1fR1BVX0ZFQVRVUkVTXzYgICAgICAgICAgICAgICAgMHgwOQorI2Rl ZmluZSBFVE5BVklWX1BBUkFNX0dQVV9GRUFUVVJFU183ICAgICAgICAgICAgICAgIDB4MGEKKyNk ZWZpbmUgRVROQVZJVl9QQVJBTV9HUFVfRkVBVFVSRVNfOCAgICAgICAgICAgICAgICAweDBiCisj ZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX0ZFQVRVUkVTXzkgICAgICAgICAgICAgICAgMHgwYwor I2RlZmluZSBFVE5BVklWX1BBUkFNX0dQVV9GRUFUVVJFU18xMCAgICAgICAgICAgICAgIDB4MGQK KyNkZWZpbmUgRVROQVZJVl9QQVJBTV9HUFVfRkVBVFVSRVNfMTEgICAgICAgICAgICAgICAweDBl CisjZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX0ZFQVRVUkVTXzEyICAgICAgICAgICAgICAgMHgw ZgogCiAjZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX1NUUkVBTV9DT1VOVCAgICAgICAgICAgICAg MHgxMAogI2RlZmluZSBFVE5BVklWX1BBUkFNX0dQVV9SRUdJU1RFUl9NQVggICAgICAgICAgICAg IDB4MTEKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvZXh5bm9zX2RybS5oIGIvaW5jbHVk ZS9kcm0tdWFwaS9leHlub3NfZHJtLmgKaW5kZXggYTAwMTE2YjUuLjc0MTRjZmQ3IDEwMDY0NAot LS0gYS9pbmNsdWRlL2RybS11YXBpL2V4eW5vc19kcm0uaAorKysgYi9pbmNsdWRlL2RybS11YXBp L2V4eW5vc19kcm0uaApAQCAtMTM1LDYgKzEzNSwyMTkgQEAgc3RydWN0IGRybV9leHlub3NfZzJk X2V4ZWMgewogCV9fdTY0CQkJCQlhc3luYzsKIH07CiAKKy8qIEV4eW5vcyBEUk0gSVBQIHYyIEFQ SSAqLworCisvKioKKyAqIEVudW1lcmF0ZSBhdmFpbGFibGUgSVBQIGhhcmR3YXJlIG1vZHVsZXMu CisgKgorICogQGNvdW50X2lwcHM6IHNpemUgb2YgaXBwX2lkIGFycmF5IC8gbnVtYmVyIG9mIGlw cCBtb2R1bGVzIChzZXQgYnkgZHJpdmVyKQorICogQHJlc2VydmVkOiBwYWRkaW5nCisgKiBAaXBw X2lkX3B0cjogcG9pbnRlciB0byBpcHBfaWQgYXJyYXkgb3IgTlVMTAorICovCitzdHJ1Y3QgZHJt X2V4eW5vc19pb2N0bF9pcHBfZ2V0X3JlcyB7CisJX191MzIgY291bnRfaXBwczsKKwlfX3UzMiBy ZXNlcnZlZDsKKwlfX3U2NCBpcHBfaWRfcHRyOworfTsKKworZW51bSBkcm1fZXh5bm9zX2lwcF9m b3JtYXRfdHlwZSB7CisJRFJNX0VYWU5PU19JUFBfRk9STUFUX1NPVVJDRQkJPSAweDAxLAorCURS TV9FWFlOT1NfSVBQX0ZPUk1BVF9ERVNUSU5BVElPTgk9IDB4MDIsCit9OworCitzdHJ1Y3QgZHJt X2V4eW5vc19pcHBfZm9ybWF0IHsKKwlfX3UzMiBmb3VyY2M7CisJX191MzIgdHlwZTsKKwlfX3U2 NCBtb2RpZmllcjsKK307CisKK2VudW0gZHJtX2V4eW5vc19pcHBfY2FwYWJpbGl0eSB7CisJRFJN X0VYWU5PU19JUFBfQ0FQX0NST1AJCT0gMHgwMSwKKwlEUk1fRVhZTk9TX0lQUF9DQVBfUk9UQVRF CT0gMHgwMiwKKwlEUk1fRVhZTk9TX0lQUF9DQVBfU0NBTEUJPSAweDA0LAorCURSTV9FWFlOT1Nf SVBQX0NBUF9DT05WRVJUCT0gMHgwOCwKK307CisKKy8qKgorICogR2V0IElQUCBoYXJkd2FyZSBj YXBhYmlsaXRpZXMgYW5kIHN1cHBvcnRlZCBpbWFnZSBmb3JtYXRzLgorICoKKyAqIEBpcHBfaWQ6 IGlkIG9mIElQUCBtb2R1bGUgdG8gcXVlcnkKKyAqIEBjYXBhYmlsaXRpZXM6IGJpdG1hc2sgb2Yg ZHJtX2V4eW5vc19pcHBfY2FwYWJpbGl0eSAoc2V0IGJ5IGRyaXZlcikKKyAqIEByZXNlcnZlZDog cGFkZGluZworICogQGZvcm1hdHNfY291bnQ6IHNpemUgb2YgZm9ybWF0cyBhcnJheSAoaW4gZW50 cmllcykgLyBudW1iZXIgb2YgZmlsbGVkCisgKgkJICAgZm9ybWF0cyAoc2V0IGJ5IGRyaXZlcikK KyAqIEBmb3JtYXRzX3B0cjogcG9pbnRlciB0byBmb3JtYXRzIGFycmF5IG9yIE5VTEwKKyAqLwor c3RydWN0IGRybV9leHlub3NfaW9jdGxfaXBwX2dldF9jYXBzIHsKKwlfX3UzMiBpcHBfaWQ7CisJ X191MzIgY2FwYWJpbGl0aWVzOworCV9fdTMyIHJlc2VydmVkOworCV9fdTMyIGZvcm1hdHNfY291 bnQ7CisJX191NjQgZm9ybWF0c19wdHI7Cit9OworCitlbnVtIGRybV9leHlub3NfaXBwX2xpbWl0 X3R5cGUgeworCS8qIHNpemUgKGhvcml6b250YWwvdmVydGlhbCkgbGltaXRzLCBpbiBwaXhlbHMg KG1pbiwgbWF4LCBhbGlnbm1lbnQpICovCisJRFJNX0VYWU5PU19JUFBfTElNSVRfVFlQRV9TSVpF CQk9IDB4MDAwMSwKKwkvKiBzY2FsZSByYXRpbyAoaG9yaXpvbnRhL3ZlcnRpYWwpLCAxNi4xNiBm aXhlZCBwb2ludCAobWluLCBtYXgpICovCisJRFJNX0VYWU5PU19JUFBfTElNSVRfVFlQRV9TQ0FM RQkJPSAweDAwMDIsCisKKwkvKiBpbWFnZSBidWZmZXIgYXJlYSAqLworCURSTV9FWFlOT1NfSVBQ X0xJTUlUX1NJWkVfQlVGRkVSCT0gMHgwMDAxIDw8IDE2LAorCS8qIHNyYy9kc3QgcmVjdGFuZ2xl IGFyZWEgKi8KKwlEUk1fRVhZTk9TX0lQUF9MSU1JVF9TSVpFX0FSRUEJCT0gMHgwMDAyIDw8IDE2 LAorCS8qIHNyYy9kc3QgcmVjdGFuZ2xlIGFyZWEgd2hlbiByb3RhdGlvbiBlbmFibGVkICovCisJ RFJNX0VYWU5PU19JUFBfTElNSVRfU0laRV9ST1RBVEVECT0gMHgwMDAzIDw8IDE2LAorCisJRFJN X0VYWU5PU19JUFBfTElNSVRfVFlQRV9NQVNLCQk9IDB4MDAwZiwKKwlEUk1fRVhZTk9TX0lQUF9M SU1JVF9TSVpFX01BU0sJCT0gMHgwMDBmIDw8IDE2LAorfTsKKworc3RydWN0IGRybV9leHlub3Nf aXBwX2xpbWl0X3ZhbCB7CisJX191MzIgbWluOworCV9fdTMyIG1heDsKKwlfX3UzMiBhbGlnbjsK KwlfX3UzMiByZXNlcnZlZDsKK307CisKKy8qKgorICogSVBQIG1vZHVsZSBsaW1pdGF0aW9uLgor ICoKKyAqIEB0eXBlOiBsaW1pdCB0eXBlIChzZWUgZHJtX2V4eW5vc19pcHBfbGltaXRfdHlwZSBl bnVtKQorICogQHJlc2VydmVkOiBwYWRkaW5nCisgKiBAaDogaG9yaXpvbnRhbCBsaW1pdHMKKyAq IEB2OiB2ZXJ0aWNhbCBsaW1pdHMKKyAqLworc3RydWN0IGRybV9leHlub3NfaXBwX2xpbWl0IHsK KwlfX3UzMiB0eXBlOworCV9fdTMyIHJlc2VydmVkOworCXN0cnVjdCBkcm1fZXh5bm9zX2lwcF9s aW1pdF92YWwgaDsKKwlzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfbGltaXRfdmFsIHY7Cit9OworCisv KioKKyAqIEdldCBJUFAgbGltaXRzIGZvciBnaXZlbiBpbWFnZSBmb3JtYXQuCisgKgorICogQGlw cF9pZDogaWQgb2YgSVBQIG1vZHVsZSB0byBxdWVyeQorICogQGZvdXJjYzogaW1hZ2UgZm9ybWF0 IGNvZGUgKHNlZSBEUk1fRk9STUFUXyogaW4gZHJtX2ZvdXJjYy5oKQorICogQG1vZGlmaWVyOiBp bWFnZSBmb3JtYXQgbW9kaWZpZXIgKHNlZSBEUk1fRk9STUFUX01PRF8qIGluIGRybV9mb3VyY2Mu aCkKKyAqIEB0eXBlOiBzb3VyY2UvZGVzdGluYXRpb24gaWRlbnRpZmllciAoZHJtX2V4eW5vc19p cHBfZm9ybWF0X2ZsYWcgZW51bSkKKyAqIEBsaW1pdHNfY291bnQ6IHNpemUgb2YgbGltaXRzIGFy cmF5IChpbiBlbnRyaWVzKSAvIG51bWJlciBvZiBmaWxsZWQgZW50cmllcworICoJCSAoc2V0IGJ5 IGRyaXZlcikKKyAqIEBsaW1pdHNfcHRyOiBwb2ludGVyIHRvIGxpbWl0cyBhcnJheSBvciBOVUxM CisgKi8KK3N0cnVjdCBkcm1fZXh5bm9zX2lvY3RsX2lwcF9nZXRfbGltaXRzIHsKKwlfX3UzMiBp cHBfaWQ7CisJX191MzIgZm91cmNjOworCV9fdTY0IG1vZGlmaWVyOworCV9fdTMyIHR5cGU7CisJ X191MzIgbGltaXRzX2NvdW50OworCV9fdTY0IGxpbWl0c19wdHI7Cit9OworCitlbnVtIGRybV9l eHlub3NfaXBwX3Rhc2tfaWQgeworCS8qIGJ1ZmZlciBkZXNjcmliZWQgYnkgc3RydWN0IGRybV9l eHlub3NfaXBwX3Rhc2tfYnVmZmVyICovCisJRFJNX0VYWU5PU19JUFBfVEFTS19CVUZGRVIJCT0g MHgwMDAxLAorCS8qIHJlY3RhbmdsZSBkZXNjcmliZWQgYnkgc3RydWN0IGRybV9leHlub3NfaXBw X3Rhc2tfcmVjdCAqLworCURSTV9FWFlOT1NfSVBQX1RBU0tfUkVDVEFOR0xFCQk9IDB4MDAwMiwK KwkvKiB0cmFuc2Zvcm1hdGlvbiBkZXNjcmliZWQgYnkgc3RydWN0IGRybV9leHlub3NfaXBwX3Rh c2tfdHJhbnNmb3JtICovCisJRFJNX0VYWU5PU19JUFBfVEFTS19UUkFOU0ZPUk0JCT0gMHgwMDAz LAorCS8qIGFscGhhIGNvbmZpZ3VyYXRpb24gZGVzY3JpYmVkIGJ5IHN0cnVjdCBkcm1fZXh5bm9z X2lwcF90YXNrX2FscGhhICovCisJRFJNX0VYWU5PU19JUFBfVEFTS19BTFBIQQkJPSAweDAwMDQs CisKKwkvKiBzb3VyY2UgaW1hZ2UgZGF0YSAoZm9yIGJ1ZmZlciBhbmQgcmVjdGFuZ2xlIGNodW5r cykgKi8KKwlEUk1fRVhZTk9TX0lQUF9UQVNLX1RZUEVfU09VUkNFCQk9IDB4MDAwMSA8PCAxNiwK KwkvKiBkZXN0aW5hdGlvbiBpbWFnZSBkYXRhIChmb3IgYnVmZmVyIGFuZCByZWN0YW5nbGUgY2h1 bmtzKSAqLworCURSTV9FWFlOT1NfSVBQX1RBU0tfVFlQRV9ERVNUSU5BVElPTgk9IDB4MDAwMiA8 PCAxNiwKK307CisKKy8qKgorICogTWVtb3J5IGJ1ZmZlciB3aXRoIGltYWdlIGRhdGEuCisgKgor ICogQGlkOiBtdXN0IGJlIERSTV9FWFlOT1NfSVBQX1RBU0tfQlVGRkVSCisgKiBvdGhlciBwYXJh bWV0ZXJzIGFyZSBzYW1lIGFzIGZvciBBZGRGQjIgZ2VuZXJpYyBEUk0gaW9jdGwKKyAqLworc3Ry dWN0IGRybV9leHlub3NfaXBwX3Rhc2tfYnVmZmVyIHsKKwlfX3UzMglpZDsKKwlfX3UzMglmb3Vy Y2M7CisJX191MzIJd2lkdGgsIGhlaWdodDsKKwlfX3UzMglnZW1faWRbNF07CisJX191MzIJb2Zm c2V0WzRdOworCV9fdTMyCXBpdGNoWzRdOworCV9fdTY0CW1vZGlmaWVyOworfTsKKworLyoqCisg KiBSZWN0YW5nbGUgZm9yIHByb2Nlc3NpbmcuCisgKgorICogQGlkOiBtdXN0IGJlIERSTV9FWFlO T1NfSVBQX1RBU0tfUkVDVEFOR0xFCisgKiBAcmVzZXJ2ZWQ6IHBhZGRpbmcKKyAqIEB4LEB5OiBs ZWZ0IGNvcm5lciBpbiBwaXhlbHMKKyAqIEB3LEBoOiB3aWR0aC9oZWlnaHQgaW4gcGl4ZWxzCisg Ki8KK3N0cnVjdCBkcm1fZXh5bm9zX2lwcF90YXNrX3JlY3QgeworCV9fdTMyCWlkOworCV9fdTMy CXJlc2VydmVkOworCV9fdTMyCXg7CisJX191MzIJeTsKKwlfX3UzMgl3OworCV9fdTMyCWg7Cit9 OworCisvKioKKyAqIEltYWdlIHRyYW5mb3JtYXRpb24gZGVzY3JpcHRpb24uCisgKgorICogQGlk OiBtdXN0IGJlIERSTV9FWFlOT1NfSVBQX1RBU0tfVFJBTlNGT1JNCisgKiBAcm90YXRpb246IERS TV9NT0RFX1JPVEFURV8qIGFuZCBEUk1fTU9ERV9SRUZMRUNUXyogdmFsdWVzCisgKi8KK3N0cnVj dCBkcm1fZXh5bm9zX2lwcF90YXNrX3RyYW5zZm9ybSB7CisJX191MzIJaWQ7CisJX191MzIJcm90 YXRpb247Cit9OworCisvKioKKyAqIEltYWdlIGdsb2JhbCBhbHBoYSBjb25maWd1cmF0aW9uIGZv ciBmb3JtYXRzIHdpdGhvdXQgYWxwaGEgdmFsdWVzLgorICoKKyAqIEBpZDogbXVzdCBiZSBEUk1f RVhZTk9TX0lQUF9UQVNLX0FMUEhBCisgKiBAdmFsdWU6IGdsb2JhbCBhbHBoYSB2YWx1ZSAoMC0y NTUpCisgKi8KK3N0cnVjdCBkcm1fZXh5bm9zX2lwcF90YXNrX2FscGhhIHsKKwlfX3UzMglpZDsK KwlfX3UzMgl2YWx1ZTsKK307CisKK2VudW0gZHJtX2V4eW5vc19pcHBfZmxhZyB7CisJLyogZ2Vu ZXJhdGUgRFJNIGV2ZW50IGFmdGVyIHByb2Nlc3NpbmcgKi8KKwlEUk1fRVhZTk9TX0lQUF9GTEFH X0VWRU5UCT0gMHgwMSwKKwkvKiBkcnkgcnVuLCBvbmx5IGNoZWNrIHRhc2sgcGFyYW1ldGVycyAq LworCURSTV9FWFlOT1NfSVBQX0ZMQUdfVEVTVF9PTkxZCT0gMHgwMiwKKwkvKiBub24tYmxvY2tp bmcgcHJvY2Vzc2luZyAqLworCURSTV9FWFlOT1NfSVBQX0ZMQUdfTk9OQkxPQ0sJPSAweDA0LAor fTsKKworI2RlZmluZSBEUk1fRVhZTk9TX0lQUF9GTEFHUyAoRFJNX0VYWU5PU19JUFBfRkxBR19F VkVOVCB8XAorCQlEUk1fRVhZTk9TX0lQUF9GTEFHX1RFU1RfT05MWSB8IERSTV9FWFlOT1NfSVBQ X0ZMQUdfTk9OQkxPQ0spCisKKy8qKgorICogUGVyZm9ybSBpbWFnZSBwcm9jZXNzaW5nIGRlc2Ny aWJlZCBieSBhcnJheSBvZiBkcm1fZXh5bm9zX2lwcF90YXNrXyoKKyAqIHN0cnVjdHVyZXMgKHBh cmFtZXRlcnMgYXJyYXkpLgorICoKKyAqIEBpcHBfaWQ6IGlkIG9mIElQUCBtb2R1bGUgdG8gcnVu IHRoZSB0YXNrCisgKiBAZmxhZ3M6IGJpdG1hc2sgb2YgZHJtX2V4eW5vc19pcHBfZmxhZyB2YWx1 ZXMKKyAqIEByZXNlcnZlZDogcGFkZGluZworICogQHBhcmFtc19zaXplOiBzaXplIG9mIHBhcmFt ZXRlcnMgYXJyYXkgKGluIGJ5dGVzKQorICogQHBhcmFtc19wdHI6IHBvaW50ZXIgdG8gcGFyYW1l dGVycyBhcnJheSBvciBOVUxMCisgKiBAdXNlcl9kYXRhOiAob3B0aW9uYWwpIGRhdGEgZm9yIGRy bSBldmVudAorICovCitzdHJ1Y3QgZHJtX2V4eW5vc19pb2N0bF9pcHBfY29tbWl0IHsKKwlfX3Uz MiBpcHBfaWQ7CisJX191MzIgZmxhZ3M7CisJX191MzIgcmVzZXJ2ZWQ7CisJX191MzIgcGFyYW1z X3NpemU7CisJX191NjQgcGFyYW1zX3B0cjsKKwlfX3U2NCB1c2VyX2RhdGE7Cit9OworCiAjZGVm aW5lIERSTV9FWFlOT1NfR0VNX0NSRUFURQkJMHgwMAogI2RlZmluZSBEUk1fRVhZTk9TX0dFTV9N QVAJCTB4MDEKIC8qIFJlc2VydmVkIDB4MDMgfiAweDA1IGZvciBleHlub3Mgc3BlY2lmaWMgZ2Vt IGlvY3RsICovCkBAIC0xNDcsNiArMzYwLDExIEBAIHN0cnVjdCBkcm1fZXh5bm9zX2cyZF9leGVj IHsKICNkZWZpbmUgRFJNX0VYWU5PU19HMkRfRVhFQwkJMHgyMgogCiAvKiBSZXNlcnZlZCAweDMw IH4gMHgzMyBmb3Igb2Jzb2xldGUgRXh5bm9zIElQUCBpb2N0bHMgKi8KKy8qIElQUCAtIEltYWdl IFBvc3QgUHJvY2Vzc2luZyAqLworI2RlZmluZSBEUk1fRVhZTk9TX0lQUF9HRVRfUkVTT1VSQ0VT CTB4NDAKKyNkZWZpbmUgRFJNX0VYWU5PU19JUFBfR0VUX0NBUFMJCTB4NDEKKyNkZWZpbmUgRFJN X0VYWU5PU19JUFBfR0VUX0xJTUlUUwkweDQyCisjZGVmaW5lIERSTV9FWFlOT1NfSVBQX0NPTU1J VAkJMHg0MwogCiAjZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfR0VNX0NSRUFURQkJRFJNX0lPV1Io RFJNX0NPTU1BTkRfQkFTRSArIFwKIAkJRFJNX0VYWU5PU19HRU1fQ1JFQVRFLCBzdHJ1Y3QgZHJt X2V4eW5vc19nZW1fY3JlYXRlKQpAQCAtMTY1LDggKzM4MywyMCBAQCBzdHJ1Y3QgZHJtX2V4eW5v c19nMmRfZXhlYyB7CiAjZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfRzJEX0VYRUMJCURSTV9JT1dS KERSTV9DT01NQU5EX0JBU0UgKyBcCiAJCURSTV9FWFlOT1NfRzJEX0VYRUMsIHN0cnVjdCBkcm1f ZXh5bm9zX2cyZF9leGVjKQogCisjZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfSVBQX0dFVF9SRVNP VVJDRVMJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIFwKKwkJRFJNX0VYWU5PU19JUFBfR0VU X1JFU09VUkNFUywgXAorCQlzdHJ1Y3QgZHJtX2V4eW5vc19pb2N0bF9pcHBfZ2V0X3JlcykKKyNk ZWZpbmUgRFJNX0lPQ1RMX0VYWU5PU19JUFBfR0VUX0NBUFMJCURSTV9JT1dSKERSTV9DT01NQU5E X0JBU0UgKyBcCisJCURSTV9FWFlOT1NfSVBQX0dFVF9DQVBTLCBzdHJ1Y3QgZHJtX2V4eW5vc19p b2N0bF9pcHBfZ2V0X2NhcHMpCisjZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfSVBQX0dFVF9MSU1J VFMJCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBcCisJCURSTV9FWFlOT1NfSVBQX0dFVF9M SU1JVFMsIFwKKwkJc3RydWN0IGRybV9leHlub3NfaW9jdGxfaXBwX2dldF9saW1pdHMpCisjZGVm aW5lIERSTV9JT0NUTF9FWFlOT1NfSVBQX0NPTU1JVAkJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFT RSArIFwKKwkJRFJNX0VYWU5PU19JUFBfQ09NTUlULCBzdHJ1Y3QgZHJtX2V4eW5vc19pb2N0bF9p cHBfY29tbWl0KQorCiAvKiBFWFlOT1Mgc3BlY2lmaWMgZXZlbnRzICovCiAjZGVmaW5lIERSTV9F WFlOT1NfRzJEX0VWRU5UCQkweDgwMDAwMDAwCisjZGVmaW5lIERSTV9FWFlOT1NfSVBQX0VWRU5U CQkweDgwMDAwMDAyCiAKIHN0cnVjdCBkcm1fZXh5bm9zX2cyZF9ldmVudCB7CiAJc3RydWN0IGRy bV9ldmVudAliYXNlOwpAQCAtMTc3LDYgKzQwNywxNiBAQCBzdHJ1Y3QgZHJtX2V4eW5vc19nMmRf ZXZlbnQgewogCV9fdTMyCQkJcmVzZXJ2ZWQ7CiB9OwogCitzdHJ1Y3QgZHJtX2V4eW5vc19pcHBf ZXZlbnQgeworCXN0cnVjdCBkcm1fZXZlbnQJYmFzZTsKKwlfX3U2NAkJCXVzZXJfZGF0YTsKKwlf X3UzMgkJCXR2X3NlYzsKKwlfX3UzMgkJCXR2X3VzZWM7CisJX191MzIJCQlpcHBfaWQ7CisJX191 MzIJCQlzZXF1ZW5jZTsKKwlfX3U2NAkJCXJlc2VydmVkOworfTsKKwogI2lmIGRlZmluZWQoX19j cGx1c3BsdXMpCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvaTkxNV9k cm0uaCBiL2luY2x1ZGUvZHJtLXVhcGkvaTkxNV9kcm0uaAppbmRleCAxNmU0NTJhYS4uZTM5YjI2 ZDQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvaTkxNV9kcm0uaAorKysgYi9pbmNsdWRl L2RybS11YXBpL2k5MTVfZHJtLmgKQEAgLTQxMiw2ICs0MTIsMTQgQEAgdHlwZWRlZiBzdHJ1Y3Qg ZHJtX2k5MTVfaXJxX3dhaXQgewogCWludCBpcnFfc2VxOwogfSBkcm1faTkxNV9pcnFfd2FpdF90 OwogCisvKgorICogRGlmZmVyZW50IG1vZGVzIG9mIHBlci1wcm9jZXNzIEdyYXBoaWNzIFRyYW5z bGF0aW9uIFRhYmxlLAorICogc2VlIEk5MTVfUEFSQU1fSEFTX0FMSUFTSU5HX1BQR1RUCisgKi8K KyNkZWZpbmUgSTkxNV9HRU1fUFBHVFRfTk9ORQkwCisjZGVmaW5lIEk5MTVfR0VNX1BQR1RUX0FM SUFTSU5HCTEKKyNkZWZpbmUgSTkxNV9HRU1fUFBHVFRfRlVMTAkyCisKIC8qIElvY3RsIHRvIHF1 ZXJ5IGtlcm5lbCBwYXJhbXM6CiAgKi8KICNkZWZpbmUgSTkxNV9QQVJBTV9JUlFfQUNUSVZFICAg ICAgICAgICAgMQpAQCAtNTI5LDYgKzUzNywyOCBAQCB0eXBlZGVmIHN0cnVjdCBkcm1faTkxNV9p cnFfd2FpdCB7CiAgKi8KICNkZWZpbmUgSTkxNV9QQVJBTV9DU19USU1FU1RBTVBfRlJFUVVFTkNZ IDUxCiAKKy8qCisgKiBPbmNlIHVwb24gYSB0aW1lIHdlIHN1cHBvc2VkIHRoYXQgd3JpdGVzIHRo cm91Z2ggdGhlIEdHVFQgd291bGQgYmUKKyAqIGltbWVkaWF0ZWx5IGluIHBoeXNpY2FsIG1lbW9y eSAob25jZSBmbHVzaGVkIG91dCBvZiB0aGUgQ1BVIHBhdGgpLiBIb3dldmVyLAorICogb24gYSBm ZXcgZGlmZmVyZW50IHByb2Nlc3NvcnMgYW5kIGNoaXBzZXRzLCB0aGlzIGlzIG5vdCBuZWNlc3Nh cmlseSB0aGUgY2FzZQorICogYXMgdGhlIHdyaXRlcyBhcHBlYXIgdG8gYmUgYnVmZmVyZWQgaW50 ZXJuYWxseS4gVGh1cyBhIHJlYWQgb2YgdGhlIGJhY2tpbmcKKyAqIHN0b3JhZ2UgKHBoeXNpY2Fs IG1lbW9yeSkgdmlhIGEgZGlmZmVyZW50IHBhdGggKHdpdGggZGlmZmVyZW50IHBoeXNpY2FsIHRh Z3MKKyAqIHRvIHRoZSBpbmRpcmVjdCB3cml0ZSB2aWEgdGhlIEdHVFQpIHdpbGwgc2VlIHN0YWxl IHZhbHVlcyBmcm9tIGJlZm9yZQorICogdGhlIEdHVFQgd3JpdGUuIEluc2lkZSB0aGUga2VybmVs LCB3ZSBjYW4gZm9yIHRoZSBtb3N0IHBhcnQga2VlcCB0cmFjayBvZgorICogdGhlIGRpZmZlcmVu dCByZWFkL3dyaXRlIGRvbWFpbnMgaW4gdXNlIChlLmcuIHNldC1kb21haW4pLCBidXQgdGhlIGFz c3VtcHRpb24KKyAqIG9mIGNvaGVyZW5jeSBpcyBiYWtlZCBpbnRvIHRoZSBBQkksIGhlbmNlIHJl cG9ydGluZyBpdHMgdHJ1ZSBzdGF0ZSBpbiB0aGlzCisgKiBwYXJhbWV0ZXIuCisgKgorICogUmVw b3J0cyB0cnVlIHdoZW4gd3JpdGVzIHZpYSBtbWFwX2d0dCBhcmUgaW1tZWRpYXRlbHkgdmlzaWJs ZSBmb2xsb3dpbmcgYW4KKyAqIGxmZW5jZSB0byBmbHVzaCB0aGUgV0NCLgorICoKKyAqIFJlcG9y dHMgZmFsc2Ugd2hlbiB3cml0ZXMgdmlhIG1tYXBfZ3R0IGFyZSBpbmRldGVybWluYXRlbHkgZGVs YXllZCBpbiBhbiBpbgorICogaW50ZXJuYWwgYnVmZmVyIGFuZCBhcmUgX25vdF8gaW1tZWRpYXRl bHkgdmlzaWJsZSB0byB0aGlyZCBwYXJ0aWVzIGFjY2Vzc2luZworICogZGlyZWN0bHkgdmlhIG1t YXBfY3B1L21tYXBfd2MuIFVzZSBvZiBtbWFwX2d0dCBhcyBwYXJ0IG9mIGFuIElQQworICogY29t bXVuaWNhdGlvbnMgY2hhbm5lbCB3aGVuIHJlcG9ydGluZyBmYWxzZSBpcyBzdHJvbmdseSBkaXNh ZHZpc2VkLgorICovCisjZGVmaW5lIEk5MTVfUEFSQU1fTU1BUF9HVFRfQ09IRVJFTlQJNTIKKwog dHlwZWRlZiBzdHJ1Y3QgZHJtX2k5MTVfZ2V0cGFyYW0gewogCV9fczMyIHBhcmFtOwogCS8qCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL21zbV9kcm0uaCBiL2luY2x1ZGUvZHJtLXVhcGkv bXNtX2RybS5oCmluZGV4IGJiYmFmZmFkLi5jMDZkMGE1YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9k cm0tdWFwaS9tc21fZHJtLmgKKysrIGIvaW5jbHVkZS9kcm0tdWFwaS9tc21fZHJtLmgKQEAgLTIw MSwxMCArMjAxLDEyIEBAIHN0cnVjdCBkcm1fbXNtX2dlbV9zdWJtaXRfYm8gewogI2RlZmluZSBN U01fU1VCTUlUX05PX0lNUExJQ0lUICAgMHg4MDAwMDAwMCAvKiBkaXNhYmxlIGltcGxpY2l0IHN5 bmMgKi8KICNkZWZpbmUgTVNNX1NVQk1JVF9GRU5DRV9GRF9JTiAgIDB4NDAwMDAwMDAgLyogZW5h YmxlIGlucHV0IGZlbmNlX2ZkICovCiAjZGVmaW5lIE1TTV9TVUJNSVRfRkVOQ0VfRkRfT1VUICAw eDIwMDAwMDAwIC8qIGVuYWJsZSBvdXRwdXQgZmVuY2VfZmQgKi8KKyNkZWZpbmUgTVNNX1NVQk1J VF9TVURPICAgICAgICAgIDB4MTAwMDAwMDAgLyogcnVuIHN1Ym1pdHRlZCBjbWRzIGZyb20gUkIg Ki8KICNkZWZpbmUgTVNNX1NVQk1JVF9GTEFHUyAgICAgICAgICAgICAgICAoIFwKIAkJTVNNX1NV Qk1JVF9OT19JTVBMSUNJVCAgIHwgXAogCQlNU01fU1VCTUlUX0ZFTkNFX0ZEX0lOICAgfCBcCiAJ CU1TTV9TVUJNSVRfRkVOQ0VfRkRfT1VUICB8IFwKKwkJTVNNX1NVQk1JVF9TVURPICAgICAgICAg IHwgXAogCQkwKQogCiAvKiBFYWNoIGNtZHN0cmVhbSBzdWJtaXQgY29uc2lzdHMgb2YgYSB0YWJs ZSBvZiBidWZmZXJzIGludm9sdmVkLCBhbmQKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkv dGVncmFfZHJtLmggYi9pbmNsdWRlL2RybS11YXBpL3RlZ3JhX2RybS5oCmluZGV4IDEyZjliZjg0 Li42YzA3OTE5YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0tdWFwaS90ZWdyYV9kcm0uaAorKysg Yi9pbmNsdWRlL2RybS11YXBpL3RlZ3JhX2RybS5oCkBAIC0zMiwxNDMgKzMyLDYxNSBAQCBleHRl cm4gIkMiIHsKICNkZWZpbmUgRFJNX1RFR1JBX0dFTV9DUkVBVEVfVElMRUQgICAgICgxIDw8IDAp CiAjZGVmaW5lIERSTV9URUdSQV9HRU1fQ1JFQVRFX0JPVFRPTV9VUCAoMSA8PCAxKQogCisvKioK KyAqIHN0cnVjdCBkcm1fdGVncmFfZ2VtX2NyZWF0ZSAtIHBhcmFtZXRlcnMgZm9yIHRoZSBHRU0g b2JqZWN0IGNyZWF0aW9uIElPQ1RMCisgKi8KIHN0cnVjdCBkcm1fdGVncmFfZ2VtX2NyZWF0ZSB7 CisJLyoqCisJICogQHNpemU6CisJICoKKwkgKiBUaGUgc2l6ZSwgaW4gYnl0ZXMsIG9mIHRoZSBi dWZmZXIgb2JqZWN0IHRvIGJlIGNyZWF0ZWQuCisJICovCiAJX191NjQgc2l6ZTsKKworCS8qKgor CSAqIEBmbGFnczoKKwkgKgorCSAqIEEgYml0bWFzayBvZiBmbGFncyB0aGF0IGluZmx1ZW5jZSB0 aGUgY3JlYXRpb24gb2YgR0VNIG9iamVjdHM6CisJICoKKwkgKiBEUk1fVEVHUkFfR0VNX0NSRUFU RV9USUxFRAorCSAqICAgVXNlIHRoZSAxNngxNiB0aWxpbmcgZm9ybWF0IGZvciB0aGlzIGJ1ZmZl ci4KKwkgKgorCSAqIERSTV9URUdSQV9HRU1fQ1JFQVRFX0JPVFRPTV9VUAorCSAqICAgVGhlIGJ1 ZmZlciBoYXMgYSBib3R0b20tdXAgbGF5b3V0LgorCSAqLwogCV9fdTMyIGZsYWdzOworCisJLyoq CisJICogQGhhbmRsZToKKwkgKgorCSAqIFRoZSBoYW5kbGUgb2YgdGhlIGNyZWF0ZWQgR0VNIG9i amVjdC4gU2V0IGJ5IHRoZSBrZXJuZWwgdXBvbgorCSAqIHN1Y2Nlc3NmdWwgY29tcGxldGlvbiBv ZiB0aGUgSU9DVEwuCisJICovCiAJX191MzIgaGFuZGxlOwogfTsKIAorLyoqCisgKiBzdHJ1Y3Qg ZHJtX3RlZ3JhX2dlbV9tbWFwIC0gcGFyYW1ldGVycyBmb3IgdGhlIEdFTSBtbWFwIElPQ1RMCisg Ki8KIHN0cnVjdCBkcm1fdGVncmFfZ2VtX21tYXAgeworCS8qKgorCSAqIEBoYW5kbGU6CisJICoK KwkgKiBIYW5kbGUgb2YgdGhlIEdFTSBvYmplY3QgdG8gb2J0YWluIGFuIG1tYXAgb2Zmc2V0IGZv ci4KKwkgKi8KIAlfX3UzMiBoYW5kbGU7CisKKwkvKioKKwkgKiBAcGFkOgorCSAqCisJICogU3Ry dWN0dXJlIHBhZGRpbmcgdGhhdCBtYXkgYmUgdXNlZCBpbiB0aGUgZnV0dXJlLiBNdXN0IGJlIDAu CisJICovCiAJX191MzIgcGFkOworCisJLyoqCisJICogQG9mZnNldDoKKwkgKgorCSAqIFRoZSBt bWFwIG9mZnNldCBmb3IgdGhlIGdpdmVuIEdFTSBvYmplY3QuIFNldCBieSB0aGUga2VybmVsIHVw b24KKwkgKiBzdWNjZXNzZnVsIGNvbXBsZXRpb24gb2YgdGhlIElPQ1RMLgorCSAqLwogCV9fdTY0 IG9mZnNldDsKIH07CiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV9zeW5jcHRfcmVhZCAtIHBh cmFtZXRlcnMgZm9yIHRoZSByZWFkIHN5bmNwb2ludCBJT0NUTAorICovCiBzdHJ1Y3QgZHJtX3Rl Z3JhX3N5bmNwdF9yZWFkIHsKKwkvKioKKwkgKiBAaWQ6CisJICoKKwkgKiBJRCBvZiB0aGUgc3lu Y3BvaW50IHRvIHJlYWQgdGhlIGN1cnJlbnQgdmFsdWUgZnJvbS4KKwkgKi8KIAlfX3UzMiBpZDsK KworCS8qKgorCSAqIEB2YWx1ZToKKwkgKgorCSAqIFRoZSBjdXJyZW50IHN5bmNwb2ludCB2YWx1 ZS4gU2V0IGJ5IHRoZSBrZXJuZWwgdXBvbiBzdWNjZXNzZnVsCisJICogY29tcGxldGlvbiBvZiB0 aGUgSU9DVEwuCisJICovCiAJX191MzIgdmFsdWU7CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1f dGVncmFfc3luY3B0X2luY3IgLSBwYXJhbWV0ZXJzIGZvciB0aGUgaW5jcmVtZW50IHN5bmNwb2lu dCBJT0NUTAorICovCiBzdHJ1Y3QgZHJtX3RlZ3JhX3N5bmNwdF9pbmNyIHsKKwkvKioKKwkgKiBA aWQ6CisJICoKKwkgKiBJRCBvZiB0aGUgc3luY3BvaW50IHRvIGluY3JlbWVudC4KKwkgKi8KIAlf X3UzMiBpZDsKKworCS8qKgorCSAqIEBwYWQ6CisJICoKKwkgKiBTdHJ1Y3R1cmUgcGFkZGluZyB0 aGF0IG1heSBiZSB1c2VkIGluIHRoZSBmdXR1cmUuIE11c3QgYmUgMC4KKwkgKi8KIAlfX3UzMiBw YWQ7CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0X3dhaXQgLSBwYXJhbWV0 ZXJzIGZvciB0aGUgd2FpdCBzeW5jcG9pbnQgSU9DVEwKKyAqLwogc3RydWN0IGRybV90ZWdyYV9z eW5jcHRfd2FpdCB7CisJLyoqCisJICogQGlkOgorCSAqCisJICogSUQgb2YgdGhlIHN5bmNwb2lu dCB0byB3YWl0IG9uLgorCSAqLwogCV9fdTMyIGlkOworCisJLyoqCisJICogQHRocmVzaDoKKwkg KgorCSAqIFRocmVzaG9sZCB2YWx1ZSBmb3Igd2hpY2ggdG8gd2FpdC4KKwkgKi8KIAlfX3UzMiB0 aHJlc2g7CisKKwkvKioKKwkgKiBAdGltZW91dDoKKwkgKgorCSAqIFRpbWVvdXQsIGluIG1pbGxp c2Vjb25kcywgdG8gd2FpdC4KKwkgKi8KIAlfX3UzMiB0aW1lb3V0OworCisJLyoqCisJICogQHZh bHVlOgorCSAqCisJICogVGhlIG5ldyBzeW5jcG9pbnQgdmFsdWUgYWZ0ZXIgdGhlIHdhaXQuIFNl dCBieSB0aGUga2VybmVsIHVwb24KKwkgKiBzdWNjZXNzZnVsIGNvbXBsZXRpb24gb2YgdGhlIElP Q1RMLgorCSAqLwogCV9fdTMyIHZhbHVlOwogfTsKIAogI2RlZmluZSBEUk1fVEVHUkFfTk9fVElN RU9VVAkoMHhmZmZmZmZmZikKIAorLyoqCisgKiBzdHJ1Y3QgZHJtX3RlZ3JhX29wZW5fY2hhbm5l bCAtIHBhcmFtZXRlcnMgZm9yIHRoZSBvcGVuIGNoYW5uZWwgSU9DVEwKKyAqLwogc3RydWN0IGRy bV90ZWdyYV9vcGVuX2NoYW5uZWwgeworCS8qKgorCSAqIEBjbGllbnQ6CisJICoKKwkgKiBUaGUg Y2xpZW50IElEIGZvciB0aGlzIGNoYW5uZWwuCisJICovCiAJX191MzIgY2xpZW50OworCisJLyoq CisJICogQHBhZDoKKwkgKgorCSAqIFN0cnVjdHVyZSBwYWRkaW5nIHRoYXQgbWF5IGJlIHVzZWQg aW4gdGhlIGZ1dHVyZS4gTXVzdCBiZSAwLgorCSAqLwogCV9fdTMyIHBhZDsKKworCS8qKgorCSAq IEBjb250ZXh0OgorCSAqCisJICogVGhlIGFwcGxpY2F0aW9uIGNvbnRleHQgb2YgdGhpcyBjaGFu bmVsLiBTZXQgYnkgdGhlIGtlcm5lbCB1cG9uCisJICogc3VjY2Vzc2Z1bCBjb21wbGV0aW9uIG9m IHRoZSBJT0NUTC4gVGhpcyBjb250ZXh0IG5lZWRzIHRvIGJlIHBhc3NlZAorCSAqIHRvIHRoZSBE Uk1fVEVHUkFfQ0hBTk5FTF9DTE9TRSBvciB0aGUgRFJNX1RFR1JBX1NVQk1JVCBJT0NUTHMuCisJ ICovCiAJX191NjQgY29udGV4dDsKIH07CiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV9jbG9z ZV9jaGFubmVsIC0gcGFyYW1ldGVycyBmb3IgdGhlIGNsb3NlIGNoYW5uZWwgSU9DVEwKKyAqLwog c3RydWN0IGRybV90ZWdyYV9jbG9zZV9jaGFubmVsIHsKKwkvKioKKwkgKiBAY29udGV4dDoKKwkg KgorCSAqIFRoZSBhcHBsaWNhdGlvbiBjb250ZXh0IG9mIHRoaXMgY2hhbm5lbC4gVGhpcyBpcyBv YnRhaW5lZCBmcm9tIHRoZQorCSAqIERSTV9URUdSQV9PUEVOX0NIQU5ORUwgSU9DVEwuCisJICov CiAJX191NjQgY29udGV4dDsKIH07CiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV9nZXRfc3lu Y3B0IC0gcGFyYW1ldGVycyBmb3IgdGhlIGdldCBzeW5jcG9pbnQgSU9DVEwKKyAqLwogc3RydWN0 IGRybV90ZWdyYV9nZXRfc3luY3B0IHsKKwkvKioKKwkgKiBAY29udGV4dDoKKwkgKgorCSAqIFRo ZSBhcHBsaWNhdGlvbiBjb250ZXh0IGlkZW50aWZ5aW5nIHRoZSBjaGFubmVsIGZvciB3aGljaCB0 byBvYnRhaW4KKwkgKiB0aGUgc3luY3BvaW50IElELgorCSAqLwogCV9fdTY0IGNvbnRleHQ7CisK KwkvKioKKwkgKiBAaW5kZXg6CisJICoKKwkgKiBJbmRleCBvZiB0aGUgY2xpZW50IHN5bmNwb2lu dCBmb3Igd2hpY2ggdG8gb2J0YWluIHRoZSBJRC4KKwkgKi8KIAlfX3UzMiBpbmRleDsKKworCS8q KgorCSAqIEBpZDoKKwkgKgorCSAqIFRoZSBJRCBvZiB0aGUgZ2l2ZW4gc3luY3BvaW50LiBTZXQg YnkgdGhlIGtlcm5lbCB1cG9uIHN1Y2Nlc3NmdWwKKwkgKiBjb21wbGV0aW9uIG9mIHRoZSBJT0NU TC4KKwkgKi8KIAlfX3UzMiBpZDsKIH07CiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV9nZXRf c3luY3B0X2Jhc2UgLSBwYXJhbWV0ZXJzIGZvciB0aGUgZ2V0IHdhaXQgYmFzZSBJT0NUTAorICov CiBzdHJ1Y3QgZHJtX3RlZ3JhX2dldF9zeW5jcHRfYmFzZSB7CisJLyoqCisJICogQGNvbnRleHQ6 CisJICoKKwkgKiBUaGUgYXBwbGljYXRpb24gY29udGV4dCBpZGVudGlmeWluZyBmb3Igd2hpY2gg Y2hhbm5lbCB0byBvYnRhaW4gdGhlCisJICogd2FpdCBiYXNlLgorCSAqLwogCV9fdTY0IGNvbnRl eHQ7CisKKwkvKioKKwkgKiBAc3luY3B0OgorCSAqCisJICogSUQgb2YgdGhlIHN5bmNwb2ludCBm b3Igd2hpY2ggdG8gb2J0YWluIHRoZSB3YWl0IGJhc2UuCisJICovCiAJX191MzIgc3luY3B0Owor CisJLyoqCisJICogQGlkOgorCSAqCisJICogVGhlIElEIG9mIHRoZSB3YWl0IGJhc2UgY29ycmVz cG9uZGluZyB0byB0aGUgY2xpZW50IHN5bmNwb2ludC4gU2V0CisJICogYnkgdGhlIGtlcm5lbCB1 cG9uIHN1Y2Nlc3NmdWwgY29tcGxldGlvbiBvZiB0aGUgSU9DVEwuCisJICovCiAJX191MzIgaWQ7 CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0IC0gc3luY3BvaW50IGluY3Jl bWVudCBvcGVyYXRpb24KKyAqLwogc3RydWN0IGRybV90ZWdyYV9zeW5jcHQgeworCS8qKgorCSAq IEBpZDoKKwkgKgorCSAqIElEIG9mIHRoZSBzeW5jcG9pbnQgdG8gb3BlcmF0ZSBvbi4KKwkgKi8K IAlfX3UzMiBpZDsKKworCS8qKgorCSAqIEBpbmNyczoKKwkgKgorCSAqIE51bWJlciBvZiBpbmNy ZW1lbnRzIHRvIHBlcmZvcm0gZm9yIHRoZSBzeW5jcG9pbnQuCisJICovCiAJX191MzIgaW5jcnM7 CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfY21kYnVmIC0gc3RydWN0dXJlIGRlc2Ny aWJpbmcgYSBjb21tYW5kIGJ1ZmZlcgorICovCiBzdHJ1Y3QgZHJtX3RlZ3JhX2NtZGJ1ZiB7CisJ LyoqCisJICogQGhhbmRsZToKKwkgKgorCSAqIEhhbmRsZSB0byBhIEdFTSBvYmplY3QgY29udGFp bmluZyB0aGUgY29tbWFuZCBidWZmZXIuCisJICovCiAJX191MzIgaGFuZGxlOworCisJLyoqCisJ ICogQG9mZnNldDoKKwkgKgorCSAqIE9mZnNldCwgaW4gYnl0ZXMsIGludG8gdGhlIEdFTSBvYmpl Y3QgaWRlbnRpZmllZCBieSBAaGFuZGxlIGF0CisJICogd2hpY2ggdGhlIGNvbW1hbmQgYnVmZmVy IHN0YXJ0cy4KKwkgKi8KIAlfX3UzMiBvZmZzZXQ7CisKKwkvKioKKwkgKiBAd29yZHM6CisJICoK KwkgKiBOdW1iZXIgb2YgMzItYml0IHdvcmRzIGluIHRoaXMgY29tbWFuZCBidWZmZXIuCisJICov CiAJX191MzIgd29yZHM7CisKKwkvKioKKwkgKiBAcGFkOgorCSAqCisJICogU3RydWN0dXJlIHBh ZGRpbmcgdGhhdCBtYXkgYmUgdXNlZCBpbiB0aGUgZnV0dXJlLiBNdXN0IGJlIDAuCisJICovCiAJ X191MzIgcGFkOwogfTsKIAorLyoqCisgKiBzdHJ1Y3QgZHJtX3RlZ3JhX3JlbG9jIC0gR0VNIG9i amVjdCByZWxvY2F0aW9uIHN0cnVjdHVyZQorICovCiBzdHJ1Y3QgZHJtX3RlZ3JhX3JlbG9jIHsK IAlzdHJ1Y3QgeworCQkvKioKKwkJICogQGNtZGJ1Zi5oYW5kbGU6CisJCSAqCisJCSAqIEhhbmRs ZSB0byB0aGUgR0VNIG9iamVjdCBjb250YWluaW5nIHRoZSBjb21tYW5kIGJ1ZmZlciBmb3IKKwkJ ICogd2hpY2ggdG8gcGVyZm9ybSB0aGlzIEdFTSBvYmplY3QgcmVsb2NhdGlvbi4KKwkJICovCiAJ CV9fdTMyIGhhbmRsZTsKKworCQkvKioKKwkJICogQGNtZGJ1Zi5vZmZzZXQ6CisJCSAqCisJCSAq IE9mZnNldCwgaW4gYnl0ZXMsIGludG8gdGhlIGNvbW1hbmQgYnVmZmVyIGF0IHdoaWNoIHRvCisJ CSAqIGluc2VydCB0aGUgcmVsb2NhdGVkIGFkZHJlc3MuCisJCSAqLwogCQlfX3UzMiBvZmZzZXQ7 CiAJfSBjbWRidWY7CiAJc3RydWN0IHsKKwkJLyoqCisJCSAqIEB0YXJnZXQuaGFuZGxlOgorCQkg KgorCQkgKiBIYW5kbGUgdG8gdGhlIEdFTSBvYmplY3QgdG8gYmUgcmVsb2NhdGVkLgorCQkgKi8K IAkJX191MzIgaGFuZGxlOworCisJCS8qKgorCQkgKiBAdGFyZ2V0Lm9mZnNldDoKKwkJICoKKwkJ ICogT2Zmc2V0LCBpbiBieXRlcywgaW50byB0aGUgdGFyZ2V0IEdFTSBvYmplY3QgYXQgd2hpY2gg dGhlCisJCSAqIHJlbG9jYXRlZCBkYXRhIHN0YXJ0cy4KKwkJICovCiAJCV9fdTMyIG9mZnNldDsK IAl9IHRhcmdldDsKKworCS8qKgorCSAqIEBzaGlmdDoKKwkgKgorCSAqIFRoZSBudW1iZXIgb2Yg Yml0cyBieSB3aGljaCB0byBzaGlmdCByZWxvY2F0ZWQgYWRkcmVzc2VzLgorCSAqLwogCV9fdTMy IHNoaWZ0OworCisJLyoqCisJICogQHBhZDoKKwkgKgorCSAqIFN0cnVjdHVyZSBwYWRkaW5nIHRo YXQgbWF5IGJlIHVzZWQgaW4gdGhlIGZ1dHVyZS4gTXVzdCBiZSAwLgorCSAqLwogCV9fdTMyIHBh ZDsKIH07CiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV93YWl0Y2hrIC0gd2FpdCBjaGVjayBz dHJ1Y3R1cmUKKyAqLwogc3RydWN0IGRybV90ZWdyYV93YWl0Y2hrIHsKKwkvKioKKwkgKiBAaGFu ZGxlOgorCSAqCisJICogSGFuZGxlIHRvIHRoZSBHRU0gb2JqZWN0IGNvbnRhaW5pbmcgYSBjb21t YW5kIHN0cmVhbSBvbiB3aGljaCB0bworCSAqIHBlcmZvcm0gdGhlIHdhaXQgY2hlY2suCisJICov CiAJX191MzIgaGFuZGxlOworCisJLyoqCisJICogQG9mZnNldDoKKwkgKgorCSAqIE9mZnNldCwg aW4gYnl0ZXMsIG9mIHRoZSBsb2NhdGlvbiBpbiB0aGUgY29tbWFuZCBzdHJlYW0gdG8gcGVyZm9y bQorCSAqIHRoZSB3YWl0IGNoZWNrIG9uLgorCSAqLwogCV9fdTMyIG9mZnNldDsKKworCS8qKgor CSAqIEBzeW5jcHQ6CisJICoKKwkgKiBJRCBvZiB0aGUgc3luY3BvaW50IHRvIHdhaXQgY2hlY2su CisJICovCiAJX191MzIgc3luY3B0OworCisJLyoqCisJICogQHRocmVzaDoKKwkgKgorCSAqIFRo cmVzaG9sZCB2YWx1ZSBmb3Igd2hpY2ggdG8gY2hlY2suCisJICovCiAJX191MzIgdGhyZXNoOwog fTsKIAorLyoqCisgKiBzdHJ1Y3QgZHJtX3RlZ3JhX3N1Ym1pdCAtIGpvYiBzdWJtaXNzaW9uIHN0 cnVjdHVyZQorICovCiBzdHJ1Y3QgZHJtX3RlZ3JhX3N1Ym1pdCB7CisJLyoqCisJICogQGNvbnRl eHQ6CisJICoKKwkgKiBUaGUgYXBwbGljYXRpb24gY29udGV4dCBpZGVudGlmeWluZyB0aGUgY2hh bm5lbCB0byB1c2UgZm9yIHRoZQorCSAqIGV4ZWN1dGlvbiBvZiB0aGlzIGpvYi4KKwkgKi8KIAlf X3U2NCBjb250ZXh0OwotCV9fdTMyIG51bV9zeW5jcHRzOwotCV9fdTMyIG51bV9jbWRidWZzOwot CV9fdTMyIG51bV9yZWxvY3M7Ci0JX191MzIgbnVtX3dhaXRjaGtzOwotCV9fdTMyIHdhaXRjaGtf bWFzazsKLQlfX3UzMiB0aW1lb3V0OwotCV9fdTY0IHN5bmNwdHM7Ci0JX191NjQgY21kYnVmczsK LQlfX3U2NCByZWxvY3M7Ci0JX191NjQgd2FpdGNoa3M7Ci0JX191MzIgZmVuY2U7CQkvKiBSZXR1 cm4gdmFsdWUgKi8KIAotCV9fdTMyIHJlc2VydmVkWzVdOwkvKiBmdXR1cmUgZXhwYW5zaW9uICov CisJLyoqCisJICogQG51bV9zeW5jcHRzOgorCSAqCisJICogVGhlIG51bWJlciBvZiBzeW5jcG9p bnRzIG9wZXJhdGVkIG9uIGJ5IHRoaXMgam9iLiBUaGlzIGRlZmluZXMgdGhlCisJICogbGVuZ3Ro IG9mIHRoZSBhcnJheSBwb2ludGVkIHRvIGJ5IEBzeW5jcHRzLgorCSAqLworCV9fdTMyIG51bV9z eW5jcHRzOworCisJLyoqCisJICogQG51bV9jbWRidWZzOgorCSAqCisJICogVGhlIG51bWJlciBv ZiBjb21tYW5kIGJ1ZmZlcnMgdG8gZXhlY3V0ZSBhcyBwYXJ0IG9mIHRoaXMgam9iLiBUaGlzCisJ ICogZGVmaW5lcyB0aGUgbGVuZ3RoIG9mIHRoZSBhcnJheSBwb2ludGVkIHRvIGJ5IEBjbWRidWZz LgorCSAqLworCV9fdTMyIG51bV9jbWRidWZzOworCisJLyoqCisJICogQG51bV9yZWxvY3M6CisJ ICoKKwkgKiBUaGUgbnVtYmVyIG9mIHJlbG9jYXRpb25zIHRvIHBlcmZvcm0gYmVmb3JlIGV4ZWN1 dGluZyB0aGlzIGpvYi4KKwkgKiBUaGlzIGRlZmluZXMgdGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkg cG9pbnRlZCB0byBieSBAcmVsb2NzLgorCSAqLworCV9fdTMyIG51bV9yZWxvY3M7CisKKwkvKioK KwkgKiBAbnVtX3dhaXRjaGtzOgorCSAqCisJICogVGhlIG51bWJlciBvZiB3YWl0IGNoZWNrcyB0 byBwZXJmb3JtIGFzIHBhcnQgb2YgdGhpcyBqb2IuIFRoaXMKKwkgKiBkZWZpbmVzIHRoZSBsZW5n dGggb2YgdGhlIGFycmF5IHBvaW50ZWQgdG8gYnkgQHdhaXRjaGtzLgorCSAqLworCV9fdTMyIG51 bV93YWl0Y2hrczsKKworCS8qKgorCSAqIEB3YWl0Y2hrX21hc2s6CisJICoKKwkgKiBCaXRtYXNr IG9mIHZhbGlkIHdhaXQgY2hlY2tzLgorCSAqLworCV9fdTMyIHdhaXRjaGtfbWFzazsKKworCS8q KgorCSAqIEB0aW1lb3V0OgorCSAqCisJICogVGltZW91dCwgaW4gbWlsbGlzZWNvbmRzLCBiZWZv cmUgdGhpcyBqb2IgaXMgY2FuY2VsbGVkLgorCSAqLworCV9fdTMyIHRpbWVvdXQ7CisKKwkvKioK KwkgKiBAc3luY3B0czoKKwkgKgorCSAqIEEgcG9pbnRlciB0byBhbiBhcnJheSBvZiAmc3RydWN0 IGRybV90ZWdyYV9zeW5jcHQgc3RydWN0dXJlcyB0aGF0CisJICogc3BlY2lmeSB0aGUgc3luY3Bv aW50IG9wZXJhdGlvbnMgcGVyZm9ybWVkIGFzIHBhcnQgb2YgdGhpcyBqb2IuCisJICogVGhlIG51 bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgYXJyYXkgbXVzdCBiZSBlcXVhbCB0byB0aGUgdmFsdWUK KwkgKiBnaXZlbiBieSBAbnVtX3N5bmNwdHMuCisJICovCisJX191NjQgc3luY3B0czsKKworCS8q KgorCSAqIEBjbWRidWZzOgorCSAqCisJICogQSBwb2ludGVyIHRvIGFuIGFycmF5IG9mICZzdHJ1 Y3QgZHJtX3RlZ3JhX2NtZGJ1ZiBzdHJ1Y3R1cmVzIHRoYXQKKwkgKiBkZWZpbmUgdGhlIGNvbW1h bmQgYnVmZmVycyB0byBleGVjdXRlIGFzIHBhcnQgb2YgdGhpcyBqb2IuIFRoZQorCSAqIG51bWJl ciBvZiBlbGVtZW50cyBpbiB0aGUgYXJyYXkgbXVzdCBiZSBlcXVhbCB0byB0aGUgdmFsdWUgZ2l2 ZW4KKwkgKiBieSBAbnVtX3N5bmNwdHMuCisJICovCisJX191NjQgY21kYnVmczsKKworCS8qKgor CSAqIEByZWxvY3M6CisJICoKKwkgKiBBIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgJnN0cnVjdCBk cm1fdGVncmFfcmVsb2Mgc3RydWN0dXJlcyB0aGF0CisJICogc3BlY2lmeSB0aGUgcmVsb2NhdGlv bnMgdGhhdCBuZWVkIHRvIGJlIHBlcmZvcm1lZCBiZWZvcmUgZXhlY3V0aW5nCisJICogdGhpcyBq b2IuIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5IG11c3QgYmUgZXF1YWwgdG8g dGhlCisJICogdmFsdWUgZ2l2ZW4gYnkgQG51bV9yZWxvY3MuCisJICovCisJX191NjQgcmVsb2Nz OworCisJLyoqCisJICogQHdhaXRjaGtzOgorCSAqCisJICogQSBwb2ludGVyIHRvIGFuIGFycmF5 IG9mICZzdHJ1Y3QgZHJtX3RlZ3JhX3dhaXRjaGsgc3RydWN0dXJlcyB0aGF0CisJICogc3BlY2lm eSB0aGUgd2FpdCBjaGVja3MgdG8gYmUgcGVyZm9ybWVkIHdoaWxlIGV4ZWN1dGluZyB0aGlzIGpv Yi4KKwkgKiBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBhcnJheSBtdXN0IGJlIGVxdWFs IHRvIHRoZSB2YWx1ZQorCSAqIGdpdmVuIGJ5IEBudW1fd2FpdGNoa3MuCisJICovCisJX191NjQg d2FpdGNoa3M7CisKKwkvKioKKwkgKiBAZmVuY2U6CisJICoKKwkgKiBUaGUgdGhyZXNob2xkIG9m IHRoZSBzeW5jcG9pbnQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgam9iIGFmdGVyIGl0CisJICogaGFz IGJlZW4gY29tcGxldGVkLiBTZXQgYnkgdGhlIGtlcm5lbCB1cG9uIHN1Y2Nlc3NmdWwgY29tcGxl dGlvbiBvZgorCSAqIHRoZSBJT0NUTC4gVGhpcyBjYW4gYmUgdXNlZCB3aXRoIHRoZSBEUk1fVEVH UkFfU1lOQ1BUX1dBSVQgSU9DVEwgdG8KKwkgKiB3YWl0IGZvciB0aGlzIGpvYiB0byBiZSBmaW5p c2hlZC4KKwkgKi8KKwlfX3UzMiBmZW5jZTsKKworCS8qKgorCSAqIEByZXNlcnZlZDoKKwkgKgor CSAqIFRoaXMgZmllbGQgaXMgcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UuIE11c3QgYmUgMC4KKwkg Ki8KKwlfX3UzMiByZXNlcnZlZFs1XTsKIH07CiAKICNkZWZpbmUgRFJNX1RFR1JBX0dFTV9USUxJ TkdfTU9ERV9QSVRDSCAwCiAjZGVmaW5lIERSTV9URUdSQV9HRU1fVElMSU5HX01PREVfVElMRUQg MQogI2RlZmluZSBEUk1fVEVHUkFfR0VNX1RJTElOR19NT0RFX0JMT0NLIDIKIAorLyoqCisgKiBz dHJ1Y3QgZHJtX3RlZ3JhX2dlbV9zZXRfdGlsaW5nIC0gcGFyYW1ldGVycyBmb3IgdGhlIHNldCB0 aWxpbmcgSU9DVEwKKyAqLwogc3RydWN0IGRybV90ZWdyYV9nZW1fc2V0X3RpbGluZyB7Ci0JLyog aW5wdXQgKi8KKwkvKioKKwkgKiBAaGFuZGxlOgorCSAqCisJICogSGFuZGxlIHRvIHRoZSBHRU0g b2JqZWN0IGZvciB3aGljaCB0byBzZXQgdGhlIHRpbGluZyBwYXJhbWV0ZXJzLgorCSAqLwogCV9f dTMyIGhhbmRsZTsKKworCS8qKgorCSAqIEBtb2RlOgorCSAqCisJICogVGhlIHRpbGluZyBtb2Rl IHRvIHNldC4gTXVzdCBiZSBvbmUgb2Y6CisJICoKKwkgKiBEUk1fVEVHUkFfR0VNX1RJTElOR19N T0RFX1BJVENICisJICogICBwaXRjaCBsaW5lYXIgZm9ybWF0CisJICoKKwkgKiBEUk1fVEVHUkFf R0VNX1RJTElOR19NT0RFX1RJTEVECisJICogICAxNngxNiB0aWxpbmcgZm9ybWF0CisJICoKKwkg KiBEUk1fVEVHUkFfR0VNX1RJTElOR19NT0RFX0JMT0NLCisJICogICAxNkJ4MiB0aWxpbmcgZm9y bWF0CisJICovCiAJX191MzIgbW9kZTsKKworCS8qKgorCSAqIEB2YWx1ZToKKwkgKgorCSAqIFRo ZSB2YWx1ZSB0byBzZXQgZm9yIHRoZSB0aWxpbmcgbW9kZSBwYXJhbWV0ZXIuCisJICovCiAJX191 MzIgdmFsdWU7CisKKwkvKioKKwkgKiBAcGFkOgorCSAqCisJICogU3RydWN0dXJlIHBhZGRpbmcg dGhhdCBtYXkgYmUgdXNlZCBpbiB0aGUgZnV0dXJlLiBNdXN0IGJlIDAuCisJICovCiAJX191MzIg cGFkOwogfTsKIAorLyoqCisgKiBzdHJ1Y3QgZHJtX3RlZ3JhX2dlbV9nZXRfdGlsaW5nIC0gcGFy YW1ldGVycyBmb3IgdGhlIGdldCB0aWxpbmcgSU9DVEwKKyAqLwogc3RydWN0IGRybV90ZWdyYV9n ZW1fZ2V0X3RpbGluZyB7Ci0JLyogaW5wdXQgKi8KKwkvKioKKwkgKiBAaGFuZGxlOgorCSAqCisJ ICogSGFuZGxlIHRvIHRoZSBHRU0gb2JqZWN0IGZvciB3aGljaCB0byBxdWVyeSB0aGUgdGlsaW5n IHBhcmFtZXRlcnMuCisJICovCiAJX191MzIgaGFuZGxlOwotCS8qIG91dHB1dCAqLworCisJLyoq CisJICogQG1vZGU6CisJICoKKwkgKiBUaGUgdGlsaW5nIG1vZGUgY3VycmVudGx5IGFzc29jaWF0 ZWQgd2l0aCB0aGUgR0VNIG9iamVjdC4gU2V0IGJ5CisJICogdGhlIGtlcm5lbCB1cG9uIHN1Y2Nl c3NmdWwgY29tcGxldGlvbiBvZiB0aGUgSU9DVEwuCisJICovCiAJX191MzIgbW9kZTsKKworCS8q KgorCSAqIEB2YWx1ZToKKwkgKgorCSAqIFRoZSB0aWxpbmcgbW9kZSBwYXJhbWV0ZXIgY3VycmVu dGx5IGFzc29jaWF0ZWQgd2l0aCB0aGUgR0VNIG9iamVjdC4KKwkgKiBTZXQgYnkgdGhlIGtlcm5l bCB1cG9uIHN1Y2Nlc3NmdWwgY29tcGxldGlvbiBvZiB0aGUgSU9DVEwuCisJICovCiAJX191MzIg dmFsdWU7CisKKwkvKioKKwkgKiBAcGFkOgorCSAqCisJICogU3RydWN0dXJlIHBhZGRpbmcgdGhh dCBtYXkgYmUgdXNlZCBpbiB0aGUgZnV0dXJlLiBNdXN0IGJlIDAuCisJICovCiAJX191MzIgcGFk OwogfTsKIAogI2RlZmluZSBEUk1fVEVHUkFfR0VNX0JPVFRPTV9VUAkJKDEgPDwgMCkKICNkZWZp bmUgRFJNX1RFR1JBX0dFTV9GTEFHUwkJKERSTV9URUdSQV9HRU1fQk9UVE9NX1VQKQogCisvKioK KyAqIHN0cnVjdCBkcm1fdGVncmFfZ2VtX3NldF9mbGFncyAtIHBhcmFtZXRlcnMgZm9yIHRoZSBz ZXQgZmxhZ3MgSU9DVEwKKyAqLwogc3RydWN0IGRybV90ZWdyYV9nZW1fc2V0X2ZsYWdzIHsKLQkv KiBpbnB1dCAqLworCS8qKgorCSAqIEBoYW5kbGU6CisJICoKKwkgKiBIYW5kbGUgdG8gdGhlIEdF TSBvYmplY3QgZm9yIHdoaWNoIHRvIHNldCB0aGUgZmxhZ3MuCisJICovCiAJX191MzIgaGFuZGxl OwotCS8qIG91dHB1dCAqLworCisJLyoqCisJICogQGZsYWdzOgorCSAqCisJICogVGhlIGZsYWdz IHRvIHNldCBmb3IgdGhlIEdFTSBvYmplY3QuCisJICovCiAJX191MzIgZmxhZ3M7CiB9OwogCisv KioKKyAqIHN0cnVjdCBkcm1fdGVncmFfZ2VtX2dldF9mbGFncyAtIHBhcmFtZXRlcnMgZm9yIHRo ZSBnZXQgZmxhZ3MgSU9DVEwKKyAqLwogc3RydWN0IGRybV90ZWdyYV9nZW1fZ2V0X2ZsYWdzIHsK LQkvKiBpbnB1dCAqLworCS8qKgorCSAqIEBoYW5kbGU6CisJICoKKwkgKiBIYW5kbGUgdG8gdGhl IEdFTSBvYmplY3QgZm9yIHdoaWNoIHRvIHF1ZXJ5IHRoZSBmbGFncy4KKwkgKi8KIAlfX3UzMiBo YW5kbGU7Ci0JLyogb3V0cHV0ICovCisKKwkvKioKKwkgKiBAZmxhZ3M6CisJICoKKwkgKiBUaGUg ZmxhZ3MgY3VycmVudGx5IGFzc29jaWF0ZWQgd2l0aCB0aGUgR0VNIG9iamVjdC4gU2V0IGJ5IHRo ZQorCSAqIGtlcm5lbCB1cG9uIHN1Y2Nlc3NmdWwgY29tcGxldGlvbiBvZiB0aGUgSU9DVEwuCisJ ICovCiAJX191MzIgZmxhZ3M7CiB9OwogCkBAIC0xOTMsNyArNjY1LDcgQEAgc3RydWN0IGRybV90 ZWdyYV9nZW1fZ2V0X2ZsYWdzIHsKICNkZWZpbmUgRFJNX0lPQ1RMX1RFR1JBX1NZTkNQVF9JTkNS IERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVEVHUkFfU1lOQ1BUX0lOQ1IsIHN0cnVj dCBkcm1fdGVncmFfc3luY3B0X2luY3IpCiAjZGVmaW5lIERSTV9JT0NUTF9URUdSQV9TWU5DUFRf V0FJVCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1RFR1JBX1NZTkNQVF9XQUlULCBz dHJ1Y3QgZHJtX3RlZ3JhX3N5bmNwdF93YWl0KQogI2RlZmluZSBEUk1fSU9DVExfVEVHUkFfT1BF Tl9DSEFOTkVMIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVEVHUkFfT1BFTl9DSEFO TkVMLCBzdHJ1Y3QgZHJtX3RlZ3JhX29wZW5fY2hhbm5lbCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1RF R1JBX0NMT1NFX0NIQU5ORUwgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9URUdSQV9D TE9TRV9DSEFOTkVMLCBzdHJ1Y3QgZHJtX3RlZ3JhX29wZW5fY2hhbm5lbCkKKyNkZWZpbmUgRFJN X0lPQ1RMX1RFR1JBX0NMT1NFX0NIQU5ORUwgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERS TV9URUdSQV9DTE9TRV9DSEFOTkVMLCBzdHJ1Y3QgZHJtX3RlZ3JhX2Nsb3NlX2NoYW5uZWwpCiAj ZGVmaW5lIERSTV9JT0NUTF9URUdSQV9HRVRfU1lOQ1BUIERSTV9JT1dSKERSTV9DT01NQU5EX0JB U0UgKyBEUk1fVEVHUkFfR0VUX1NZTkNQVCwgc3RydWN0IGRybV90ZWdyYV9nZXRfc3luY3B0KQog I2RlZmluZSBEUk1fSU9DVExfVEVHUkFfU1VCTUlUIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0Ug KyBEUk1fVEVHUkFfU1VCTUlULCBzdHJ1Y3QgZHJtX3RlZ3JhX3N1Ym1pdCkKICNkZWZpbmUgRFJN X0lPQ1RMX1RFR1JBX0dFVF9TWU5DUFRfQkFTRSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsg RFJNX1RFR1JBX0dFVF9TWU5DUFRfQkFTRSwgc3RydWN0IGRybV90ZWdyYV9nZXRfc3luY3B0X2Jh c2UpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL3YzZF9kcm0uaCBiL2luY2x1ZGUvZHJt LXVhcGkvdjNkX2RybS5oCmluZGV4IGY0NDY2NTZkLi5iMWU1ZGUwNyAxMDA2NDQKLS0tIGEvaW5j bHVkZS9kcm0tdWFwaS92M2RfZHJtLmgKKysrIGIvaW5jbHVkZS9kcm0tdWFwaS92M2RfZHJtLmgK QEAgLTY2LDcgKzY2LDcgQEAgc3RydWN0IGRybV92M2Rfc3VibWl0X2NsIHsKIAkgKi8KIAlfX3Uz MiBiY2xfc3RhcnQ7CiAKLQkgLyoqIEVuZCBhZGRyZXNzIG9mIHRoZSBCQ0wgKGZpcnN0IGJ5dGUg YWZ0ZXIgdGhlIEJDTCkgKi8KKwkvKiogRW5kIGFkZHJlc3Mgb2YgdGhlIEJDTCAoZmlyc3QgYnl0 ZSBhZnRlciB0aGUgQkNMKSAqLwogCV9fdTMyIGJjbF9lbmQ7CiAKIAkvKiBPZmZzZXQgb2YgdGhl IHJlbmRlciBjb21tYW5kIGxpc3QuCkBAIC04Miw3ICs4Miw3IEBAIHN0cnVjdCBkcm1fdjNkX3N1 Ym1pdF9jbCB7CiAJICovCiAJX191MzIgcmNsX3N0YXJ0OwogCi0JIC8qKiBFbmQgYWRkcmVzcyBv ZiB0aGUgUkNMIChmaXJzdCBieXRlIGFmdGVyIHRoZSBSQ0wpICovCisJLyoqIEVuZCBhZGRyZXNz IG9mIHRoZSBSQ0wgKGZpcnN0IGJ5dGUgYWZ0ZXIgdGhlIFJDTCkgKi8KIAlfX3UzMiByY2xfZW5k OwogCiAJLyoqIEFuIG9wdGlvbmFsIHN5bmMgb2JqZWN0IHRvIHdhaXQgb24gYmVmb3JlIHN0YXJ0 aW5nIHRoZSBCQ0wuICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL3ZjNF9kcm0uaCBi L2luY2x1ZGUvZHJtLXVhcGkvdmM0X2RybS5oCmluZGV4IDQxMTcxMTdiLi4zMWY1MGRlMyAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9kcm0tdWFwaS92YzRfZHJtLmgKKysrIGIvaW5jbHVkZS9kcm0tdWFw aS92YzRfZHJtLmgKQEAgLTE4MywxMCArMTgzLDE3IEBAIHN0cnVjdCBkcm1fdmM0X3N1Ym1pdF9j bCB7CiAJLyogSUQgb2YgdGhlIHBlcmZtb24gdG8gYXR0YWNoIHRvIHRoaXMgam9iLiAwIG1lYW5z IG5vIHBlcmZtb24uICovCiAJX191MzIgcGVyZm1vbmlkOwogCi0JLyogVW51c2VkIGZpZWxkIHRv IGFsaWduIHRoaXMgc3RydWN0IG9uIDY0IGJpdHMuIE11c3QgYmUgc2V0IHRvIDAuCi0JICogSWYg b25lIGV2ZXIgbmVlZHMgdG8gYWRkIGFuIHUzMiBmaWVsZCB0byB0aGlzIHN0cnVjdCwgdGhpcyBm aWVsZAotCSAqIGNhbiBiZSB1c2VkLgorCS8qIFN5bmNvYmogaGFuZGxlIHRvIHdhaXQgb24uIElm IHNldCwgcHJvY2Vzc2luZyBvZiB0aGlzIHJlbmRlciBqb2IKKwkgKiB3aWxsIG5vdCBzdGFydCB1 bnRpbCB0aGUgc3luY29iaiBpcyBzaWduYWxlZC4gMCBtZWFucyBpZ25vcmUuCiAJICovCisJX191 MzIgaW5fc3luYzsKKworCS8qIFN5bmNvYmogaGFuZGxlIHRvIGV4cG9ydCBmZW5jZSB0by4gSWYg c2V0LCB0aGUgZmVuY2UgaW4gdGhlIHN5bmNvYmoKKwkgKiB3aWxsIGJlIHJlcGxhY2VkIHdpdGgg YSBmZW5jZSB0aGF0IHNpZ25hbHMgdXBvbiBjb21wbGV0aW9uIG9mIHRoaXMKKwkgKiByZW5kZXIg am9iLiAwIG1lYW5zIGlnbm9yZS4KKwkgKi8KKwlfX3UzMiBvdXRfc3luYzsKKwogCV9fdTMyIHBh ZDI7CiB9OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL3ZpcnRncHVfZHJtLmggYi9p bmNsdWRlL2RybS11YXBpL3ZpcnRncHVfZHJtLmgKaW5kZXggOTFhMzFmZmUuLmYwNmE3ODlmIDEw MDY0NAotLS0gYS9pbmNsdWRlL2RybS11YXBpL3ZpcnRncHVfZHJtLmgKKysrIGIvaW5jbHVkZS9k cm0tdWFwaS92aXJ0Z3B1X2RybS5oCkBAIC00Nyw2ICs0NywxMyBAQCBleHRlcm4gIkMiIHsKICNk ZWZpbmUgRFJNX1ZJUlRHUFVfV0FJVCAgICAgMHgwOAogI2RlZmluZSBEUk1fVklSVEdQVV9HRVRf Q0FQUyAgMHgwOQogCisjZGVmaW5lIFZJUlRHUFVfRVhFQ0JVRl9GRU5DRV9GRF9JTgkweDAxCisj ZGVmaW5lIFZJUlRHUFVfRVhFQ0JVRl9GRU5DRV9GRF9PVVQJMHgwMgorI2RlZmluZSBWSVJUR1BV X0VYRUNCVUZfRkxBR1MgIChcCisJCVZJUlRHUFVfRVhFQ0JVRl9GRU5DRV9GRF9JTiB8XAorCQlW SVJUR1BVX0VYRUNCVUZfRkVOQ0VfRkRfT1VUIHxcCisJCTApCisKIHN0cnVjdCBkcm1fdmlydGdw dV9tYXAgewogCV9fdTY0IG9mZnNldDsgLyogdXNlIGZvciBtbWFwIHN5c3RlbSBjYWxsICovCiAJ X191MzIgaGFuZGxlOwpAQCAtNTQsMTUgKzYxLDE2IEBAIHN0cnVjdCBkcm1fdmlydGdwdV9tYXAg ewogfTsKIAogc3RydWN0IGRybV92aXJ0Z3B1X2V4ZWNidWZmZXIgewotCV9fdTMyCQlmbGFnczsJ CS8qIGZvciBmdXR1cmUgdXNlICovCisJX191MzIgZmxhZ3M7CiAJX191MzIgc2l6ZTsKIAlfX3U2 NCBjb21tYW5kOyAvKiB2b2lkKiAqLwogCV9fdTY0IGJvX2hhbmRsZXM7CiAJX191MzIgbnVtX2Jv X2hhbmRsZXM7Ci0JX191MzIgcGFkOworCV9fczMyIGZlbmNlX2ZkOyAvKiBpbi9vdXQgZmVuY2Ug ZmQgKHNlZSBWSVJUR1BVX0VYRUNCVUZfRkVOQ0VfRkRfSU4vT1VUKSAqLwogfTsKIAogI2RlZmlu ZSBWSVJUR1BVX1BBUkFNXzNEX0ZFQVRVUkVTIDEgLyogZG8gd2UgaGF2ZSAzRCBmZWF0dXJlcyBp biB0aGUgaHcgKi8KKyNkZWZpbmUgVklSVEdQVV9QQVJBTV9DQVBTRVRfUVVFUllfRklYIDIgLyog ZG8gd2UgaGF2ZSB0aGUgY2Fwc2V0IGZpeCAqLwogCiBzdHJ1Y3QgZHJtX3ZpcnRncHVfZ2V0cGFy YW0gewogCV9fdTY0IHBhcmFtOwpAQCAtMTM2LDcgKzE0NCw3IEBAIHN0cnVjdCBkcm1fdmlydGdw dV9nZXRfY2FwcyB7CiAJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WSVJUR1BVX01B UCwgc3RydWN0IGRybV92aXJ0Z3B1X21hcCkKIAogI2RlZmluZSBEUk1fSU9DVExfVklSVEdQVV9F WEVDQlVGRkVSIFwKLQlEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVklSVEdQVV9FWEVD QlVGRkVSLFwKKwlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJUlRHUFVfRVhFQ0JV RkZFUixcCiAJCXN0cnVjdCBkcm1fdmlydGdwdV9leGVjYnVmZmVyKQogCiAjZGVmaW5lIERSTV9J T0NUTF9WSVJUR1BVX0dFVFBBUkFNIFwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvdm13 Z2Z4X2RybS5oIGIvaW5jbHVkZS9kcm0tdWFwaS92bXdnZnhfZHJtLmgKaW5kZXggMGJjNzg0ZjUu LjM5OWY1ODMxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS11YXBpL3Ztd2dmeF9kcm0uaAorKysg Yi9pbmNsdWRlL2RybS11YXBpL3Ztd2dmeF9kcm0uaApAQCAtNDAsNiArNDAsNyBAQCBleHRlcm4g IkMiIHsKIAogI2RlZmluZSBEUk1fVk1XX0dFVF9QQVJBTSAgICAgICAgICAgIDAKICNkZWZpbmUg RFJNX1ZNV19BTExPQ19ETUFCVUYgICAgICAgICAxCisjZGVmaW5lIERSTV9WTVdfQUxMT0NfQk8g ICAgICAgICAgICAgMQogI2RlZmluZSBEUk1fVk1XX1VOUkVGX0RNQUJVRiAgICAgICAgIDIKICNk ZWZpbmUgRFJNX1ZNV19IQU5ETEVfQ0xPU0UgICAgICAgICAyCiAjZGVmaW5lIERSTV9WTVdfQ1VS U09SX0JZUEFTUyAgICAgICAgMwpAQCAtNjgsNiArNjksOCBAQCBleHRlcm4gIkMiIHsKICNkZWZp bmUgRFJNX1ZNV19HQl9TVVJGQUNFX1JFRiAgICAgICAyNAogI2RlZmluZSBEUk1fVk1XX1NZTkND UFUgICAgICAgICAgICAgIDI1CiAjZGVmaW5lIERSTV9WTVdfQ1JFQVRFX0VYVEVOREVEX0NPTlRF WFQgMjYKKyNkZWZpbmUgRFJNX1ZNV19HQl9TVVJGQUNFX0NSRUFURV9FWFQgICAyNworI2RlZmlu ZSBEUk1fVk1XX0dCX1NVUkZBQ0VfUkVGX0VYVCAgICAgIDI4CiAKIC8qKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq LwogLyoqCkBAIC03OSw2ICs4Miw5IEBAIGV4dGVybiAiQyIgewogICoKICAqIERSTV9WTVdfUEFS QU1fT1ZFUkxBWV9JT0NUTDoKICAqIERvZXMgdGhlIGRyaXZlciBzdXBwb3J0IHRoZSBvdmVybGF5 IGlvY3RsLgorICoKKyAqIERSTV9WTVdfUEFSQU1fU000XzEKKyAqIFNNNF8xIHN1cHBvcnQgaXMg ZW5hYmxlZC4KICAqLwogCiAjZGVmaW5lIERSTV9WTVdfUEFSQU1fTlVNX1NUUkVBTVMgICAgICAw CkBAIC05NCw2ICsxMDAsOCBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUgRFJNX1ZNV19QQVJBTV9N QVhfTU9CX1NJWkUgICAgIDEwCiAjZGVmaW5lIERSTV9WTVdfUEFSQU1fU0NSRUVOX1RBUkdFVCAg ICAxMQogI2RlZmluZSBEUk1fVk1XX1BBUkFNX0RYICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUg RFJNX1ZNV19QQVJBTV9IV19DQVBTMiAgICAgICAgIDEzCisjZGVmaW5lIERSTV9WTVdfUEFSQU1f U000XzEgICAgICAgICAgICAxNAogCiAvKioKICAqIGVudW0gZHJtX3Ztd19oYW5kbGVfdHlwZSAt IGhhbmRsZSB0eXBlIGZvciByZWYgaW9jdGxzCkBAIC0zNTYsOSArMzY0LDkgQEAgc3RydWN0IGRy bV92bXdfZmVuY2VfcmVwIHsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAvKioKLSAqIERSTV9WTVdf QUxMT0NfRE1BQlVGCisgKiBEUk1fVk1XX0FMTE9DX0JPCiAgKgotICogQWxsb2NhdGUgYSBETUEg YnVmZmVyIHRoYXQgaXMgdmlzaWJsZSBhbHNvIHRvIHRoZSBob3N0LgorICogQWxsb2NhdGUgYSBi dWZmZXIgb2JqZWN0IHRoYXQgaXMgdmlzaWJsZSBhbHNvIHRvIHRoZSBob3N0LgogICogTk9URTog VGhlIGJ1ZmZlciBpcwogICogaWRlbnRpZmllZCBieSBhIGhhbmRsZSBhbmQgYW4gb2Zmc2V0LCB3 aGljaCBhcmUgcHJpdmF0ZSB0byB0aGUgZ3Vlc3QsIGJ1dAogICogdXNlYWJsZSBpbiB0aGUgY29t bWFuZCBzdHJlYW0uIFRoZSBndWVzdCBrZXJuZWwgbWF5IHRyYW5zbGF0ZSB0aGVzZQpAQCAtMzY2 LDI3ICszNzQsMjggQEAgc3RydWN0IGRybV92bXdfZmVuY2VfcmVwIHsKICAqIGJlIHplcm8gYXQg YWxsIHRpbWVzLCBvciBpdCBtYXkgZGlzYXBwZWFyIGZyb20gdGhlIGludGVyZmFjZSBiZWZvcmUg aXQgaXMKICAqIGZpeGVkLgogICoKLSAqIFRoZSBETUEgYnVmZmVyIG1heSBzdGF5IHVzZXItc3Bh Y2UgbWFwcGVkIGluIHRoZSBndWVzdCBhdCBhbGwgdGltZXMsCisgKiBUaGUgYnVmZmVyIG9iamVj dCBtYXkgc3RheSB1c2VyLXNwYWNlIG1hcHBlZCBpbiB0aGUgZ3Vlc3QgYXQgYWxsIHRpbWVzLAog ICogYW5kIGlzIHRodXMgc3VpdGFibGUgZm9yIHN1Yi1hbGxvY2F0aW9uLgogICoKLSAqIERNQSBi dWZmZXJzIGFyZSBtYXBwZWQgdXNpbmcgdGhlIG1tYXAoKSBzeXNjYWxsIG9uIHRoZSBkcm0gZGV2 aWNlLgorICogQnVmZmVyIG9iamVjdHMgYXJlIG1hcHBlZCB1c2luZyB0aGUgbW1hcCgpIHN5c2Nh bGwgb24gdGhlIGRybSBkZXZpY2UuCiAgKi8KIAogLyoqCi0gKiBzdHJ1Y3QgZHJtX3Ztd19hbGxv Y19kbWFidWZfcmVxCisgKiBzdHJ1Y3QgZHJtX3Ztd19hbGxvY19ib19yZXEKICAqCiAgKiBAc2l6 ZTogUmVxdWlyZWQgbWluaW11bSBzaXplIG9mIHRoZSBidWZmZXIuCiAgKgotICogSW5wdXQgZGF0 YSB0byB0aGUgRFJNX1ZNV19BTExPQ19ETUFCVUYgSW9jdGwuCisgKiBJbnB1dCBkYXRhIHRvIHRo ZSBEUk1fVk1XX0FMTE9DX0JPIElvY3RsLgogICovCiAKLXN0cnVjdCBkcm1fdm13X2FsbG9jX2Rt YWJ1Zl9yZXEgeworc3RydWN0IGRybV92bXdfYWxsb2NfYm9fcmVxIHsKIAlfX3UzMiBzaXplOwog CV9fdTMyIHBhZDY0OwogfTsKKyNkZWZpbmUgZHJtX3Ztd19hbGxvY19kbWFidWZfcmVxIGRybV92 bXdfYWxsb2NfYm9fcmVxCiAKIC8qKgotICogc3RydWN0IGRybV92bXdfZG1hYnVmX3JlcAorICog c3RydWN0IGRybV92bXdfYm9fcmVwCiAgKgogICogQG1hcF9oYW5kbGU6IE9mZnNldCB0byB1c2Ug aW4gdGhlIG1tYXAoKSBjYWxsIHVzZWQgdG8gbWFwIHRoZSBidWZmZXIuCiAgKiBAaGFuZGxlOiBI YW5kbGUgdW5pcXVlIHRvIHRoaXMgYnVmZmVyLiBVc2VkIGZvciB1bnJlZmVyZW5jaW5nLgpAQCAt Mzk1LDUwICs0MDQsMzIgQEAgc3RydWN0IGRybV92bXdfYWxsb2NfZG1hYnVmX3JlcSB7CiAgKiBA Y3VyX2dtcl9vZmZzZXQ6IE9mZnNldCB0byB1c2UgaW4gdGhlIGNvbW1hbmQgc3RyZWFtIHdoZW4g dGhpcyBidWZmZXIgaXMKICAqIHJlZmVyZW5jZWQuIFNlZSBub3RlIGFib3ZlLgogICoKLSAqIE91 dHB1dCBkYXRhIGZyb20gdGhlIERSTV9WTVdfQUxMT0NfRE1BQlVGIElvY3RsLgorICogT3V0cHV0 IGRhdGEgZnJvbSB0aGUgRFJNX1ZNV19BTExPQ19CTyBJb2N0bC4KICAqLwogCi1zdHJ1Y3QgZHJt X3Ztd19kbWFidWZfcmVwIHsKK3N0cnVjdCBkcm1fdm13X2JvX3JlcCB7CiAJX191NjQgbWFwX2hh bmRsZTsKIAlfX3UzMiBoYW5kbGU7CiAJX191MzIgY3VyX2dtcl9pZDsKIAlfX3UzMiBjdXJfZ21y X29mZnNldDsKIAlfX3UzMiBwYWQ2NDsKIH07CisjZGVmaW5lIGRybV92bXdfZG1hYnVmX3JlcCBk cm1fdm13X2JvX3JlcAogCiAvKioKLSAqIHVuaW9uIGRybV92bXdfZG1hYnVmX2FyZworICogdW5p b24gZHJtX3Ztd19hbGxvY19ib19hcmcKICAqCiAgKiBAcmVxOiBJbnB1dCBkYXRhIGFzIGRlc2Ny aWJlZCBhYm92ZS4KICAqIEByZXA6IE91dHB1dCBkYXRhIGFzIGRlc2NyaWJlZCBhYm92ZS4KICAq Ci0gKiBBcmd1bWVudCB0byB0aGUgRFJNX1ZNV19BTExPQ19ETUFCVUYgSW9jdGwuCisgKiBBcmd1 bWVudCB0byB0aGUgRFJNX1ZNV19BTExPQ19CTyBJb2N0bC4KICAqLwogCi11bmlvbiBkcm1fdm13 X2FsbG9jX2RtYWJ1Zl9hcmcgewotCXN0cnVjdCBkcm1fdm13X2FsbG9jX2RtYWJ1Zl9yZXEgcmVx OwotCXN0cnVjdCBkcm1fdm13X2RtYWJ1Zl9yZXAgcmVwOwotfTsKLQotLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KiovCi0vKioKLSAqIERSTV9WTVdfVU5SRUZfRE1BQlVGIC0gRnJlZSBhIERNQSBidWZmZXIuCi0g KgotICovCi0KLS8qKgotICogc3RydWN0IGRybV92bXdfdW5yZWZfZG1hYnVmX2FyZwotICoKLSAq IEBoYW5kbGU6IEhhbmRsZSBpbmRpY2F0aW5nIHdoYXQgYnVmZmVyIHRvIGZyZWUuIE9idGFpbmVk IGZyb20gdGhlCi0gKiBEUk1fVk1XX0FMTE9DX0RNQUJVRiBJb2N0bC4KLSAqCi0gKiBBcmd1bWVu dCB0byB0aGUgRFJNX1ZNV19VTlJFRl9ETUFCVUYgSW9jdGwuCi0gKi8KLQotc3RydWN0IGRybV92 bXdfdW5yZWZfZG1hYnVmX2FyZyB7Ci0JX191MzIgaGFuZGxlOwotCV9fdTMyIHBhZDY0OwordW5p b24gZHJtX3Ztd19hbGxvY19ib19hcmcgeworCXN0cnVjdCBkcm1fdm13X2FsbG9jX2JvX3JlcSBy ZXE7CisJc3RydWN0IGRybV92bXdfYm9fcmVwIHJlcDsKIH07CisjZGVmaW5lIGRybV92bXdfYWxs b2NfZG1hYnVmX2FyZyBkcm1fdm13X2FsbG9jX2JvX2FyZwogCiAvKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K IC8qKgpAQCAtMTEwMyw5ICsxMDk0LDggQEAgdW5pb24gZHJtX3Ztd19leHRlbmRlZF9jb250ZXh0 X2FyZyB7CiAgKiBEUk1fVk1XX0hBTkRMRV9DTE9TRSAtIENsb3NlIGEgdXNlci1zcGFjZSBoYW5k bGUgYW5kIHJlbGVhc2UgaXRzCiAgKiB1bmRlcmx5aW5nIHJlc291cmNlLgogICoKLSAqIE5vdGUg dGhhdCB0aGlzIGlvY3RsIGlzIG92ZXJsYWlkIG9uIHRoZSBEUk1fVk1XX1VOUkVGX0RNQUJVRiBJ b2N0bC4KLSAqIFRoZSBpb2N0bCBhcmd1bWVudHMgdGhlcmVmb3JlIG5lZWQgdG8gYmUgaWRlbnRp Y2FsIGluIGxheW91dC4KLSAqCisgKiBOb3RlIHRoYXQgdGhpcyBpb2N0bCBpcyBvdmVybGFpZCBv biB0aGUgZGVwcmVjYXRlZCBEUk1fVk1XX1VOUkVGX0RNQUJVRgorICogSW9jdGwuCiAgKi8KIAog LyoqCkBAIC0xMTE5LDcgKzExMDksMTA3IEBAIHN0cnVjdCBkcm1fdm13X2hhbmRsZV9jbG9zZV9h cmcgewogCV9fdTMyIGhhbmRsZTsKIAlfX3UzMiBwYWQ2NDsKIH07CisjZGVmaW5lIGRybV92bXdf dW5yZWZfZG1hYnVmX2FyZyBkcm1fdm13X2hhbmRsZV9jbG9zZV9hcmcKIAorLyoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKiovCisvKioKKyAqIERSTV9WTVdfR0JfU1VSRkFDRV9DUkVBVEVfRVhUIC0gQ3JlYXRlIGEg aG9zdCBndWVzdC1iYWNrZWQgc3VyZmFjZS4KKyAqCisgKiBBbGxvY2F0ZXMgYSBzdXJmYWNlIGhh bmRsZSBhbmQgcXVldWVzIGEgY3JlYXRlIHN1cmZhY2UgY29tbWFuZAorICogZm9yIHRoZSBob3N0 IG9uIHRoZSBmaXJzdCB1c2Ugb2YgdGhlIHN1cmZhY2UuIFRoZSBzdXJmYWNlIElEIGNhbgorICog YmUgdXNlZCBhcyB0aGUgc3VyZmFjZSBJRCBpbiBjb21tYW5kcyByZWZlcmVuY2luZyB0aGUgc3Vy ZmFjZS4KKyAqCisgKiBUaGlzIG5ldyBjb21tYW5kIGV4dGVuZHMgRFJNX1ZNV19HQl9TVVJGQUNF X0NSRUFURSBieSBhZGRpbmcgdmVyc2lvbgorICogcGFyYW1ldGVyIGFuZCA2NCBiaXQgc3ZnYSBm bGFnLgorICovCisKKy8qKgorICogZW51bSBkcm1fdm13X3N1cmZhY2VfdmVyc2lvbgorICoKKyAq IEBkcm1fdm13X3N1cmZhY2VfZ2JfdjE6IENvcnJlc3BvbmRzIHRvIGN1cnJlbnQgZ2Igc3VyZmFj ZSBmb3JtYXQgd2l0aAorICogc3ZnYTNkIHN1cmZhY2UgZmxhZ3Mgc3BsaXQgaW50byAyLCB1cHBl ciBoYWxmIGFuZCBsb3dlciBoYWxmLgorICovCitlbnVtIGRybV92bXdfc3VyZmFjZV92ZXJzaW9u IHsKKwlkcm1fdm13X2diX3N1cmZhY2VfdjEKK307CisKKy8qKgorICogc3RydWN0IGRybV92bXdf Z2Jfc3VyZmFjZV9jcmVhdGVfZXh0X3JlcQorICoKKyAqIEBiYXNlOiBTdXJmYWNlIGNyZWF0ZSBw YXJhbWV0ZXJzLgorICogQHZlcnNpb246IFZlcnNpb24gb2Ygc3VyZmFjZSBjcmVhdGUgaW9jdGwu CisgKiBAc3ZnYTNkX2ZsYWdzX3VwcGVyXzMyX2JpdHM6IFVwcGVyIDMyIGJpdHMgb2Ygc3ZnYTNk IGZsYWdzLgorICogQG11bHRpc2FtcGxlX3BhdHRlcm46IE11bHRpc2FtcGxpbmcgcGF0dGVybiB3 aGVuIG1zYWEgaXMgc3VwcG9ydGVkLgorICogQHF1YWxpdHlfbGV2ZWw6IFByZWNpc2lvbiBzZXR0 aW5ncyBmb3IgZWFjaCBzYW1wbGUuCisgKiBAbXVzdF9iZV96ZXJvOiBSZXNlcnZlZCBmb3IgZnV0 dXJlIHVzYWdlLgorICoKKyAqIElucHV0IGFyZ3VtZW50IHRvIHRoZSAgRFJNX1ZNV19HQl9TVVJG QUNFX0NSRUFURV9FWFQgSW9jdGwuCisgKiBQYXJ0IG9mIG91dHB1dCBhcmd1bWVudCBmb3IgdGhl IERSTV9WTVdfR0JfU1VSRkFDRV9SRUZfRVhUIElvY3RsLgorICovCitzdHJ1Y3QgZHJtX3Ztd19n Yl9zdXJmYWNlX2NyZWF0ZV9leHRfcmVxIHsKKwlzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJmYWNlX2Ny ZWF0ZV9yZXEgYmFzZTsKKwllbnVtIGRybV92bXdfc3VyZmFjZV92ZXJzaW9uIHZlcnNpb247CisJ dWludDMyX3Qgc3ZnYTNkX2ZsYWdzX3VwcGVyXzMyX2JpdHM7CisJU1ZHQTNkTVNQYXR0ZXJuIG11 bHRpc2FtcGxlX3BhdHRlcm47CisJU1ZHQTNkTVNRdWFsaXR5TGV2ZWwgcXVhbGl0eV9sZXZlbDsK Kwl1aW50NjRfdCBtdXN0X2JlX3plcm87Cit9OworCisvKioKKyAqIHVuaW9uIGRybV92bXdfZ2Jf c3VyZmFjZV9jcmVhdGVfZXh0X2FyZworICoKKyAqIEByZXE6IElucHV0IGFyZ3VtZW50IGFzIGRl c2NyaWJlZCBhYm92ZS4KKyAqIEByZXA6IE91dHB1dCBhcmd1bWVudCBhcyBkZXNjcmliZWQgYWJv dmUuCisgKgorICogQXJndW1lbnQgdG8gdGhlIERSTV9WTVdfR0JfU1VSRkFDRV9DUkVBVEVfRVhU IGlvY3RsLgorICovCit1bmlvbiBkcm1fdm13X2diX3N1cmZhY2VfY3JlYXRlX2V4dF9hcmcgewor CXN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfY3JlYXRlX3JlcCByZXA7CisJc3RydWN0IGRybV92 bXdfZ2Jfc3VyZmFjZV9jcmVhdGVfZXh0X3JlcSByZXE7Cit9OworCisvKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Ki8KKy8qKgorICogRFJNX1ZNV19HQl9TVVJGQUNFX1JFRl9FWFQgLSBSZWZlcmVuY2UgYSBob3N0 IHN1cmZhY2UuCisgKgorICogUHV0cyBhIHJlZmVyZW5jZSBvbiBhIGhvc3Qgc3VyZmFjZSB3aXRo IGEgZ2l2ZW4gaGFuZGxlLCBhcyBwcmV2aW91c2x5CisgKiByZXR1cm5lZCBieSB0aGUgRFJNX1ZN V19HQl9TVVJGQUNFX0NSRUFURV9FWFQgaW9jdGwuCisgKiBBIHJlZmVyZW5jZSB3aWxsIG1ha2Ug c3VyZSB0aGUgc3VyZmFjZSBpc24ndCBkZXN0cm95ZWQgd2hpbGUgd2UgaG9sZAorICogaXQgYW5k IHdpbGwgYWxsb3cgdGhlIGNhbGxpbmcgY2xpZW50IHRvIHVzZSB0aGUgc3VyZmFjZSBoYW5kbGUg aW4KKyAqIHRoZSBjb21tYW5kIHN0cmVhbS4KKyAqCisgKiBPbiBzdWNjZXNzZnVsIHJldHVybiwg dGhlIElvY3RsIHJldHVybnMgdGhlIHN1cmZhY2UgaW5mb3JtYXRpb24gZ2l2ZW4KKyAqIHRvIGFu ZCByZXR1cm5lZCBmcm9tIHRoZSBEUk1fVk1XX0dCX1NVUkZBQ0VfQ1JFQVRFX0VYVCBpb2N0bC4K KyAqLworCisvKioKKyAqIHN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfcmVmX2V4dF9yZXAKKyAq CisgKiBAY3JlcTogVGhlIGRhdGEgdXNlZCBhcyBpbnB1dCB3aGVuIHRoZSBzdXJmYWNlIHdhcyBj cmVhdGVkLCBhcyBkZXNjcmliZWQKKyAqICAgICAgICBhYm92ZSBhdCAic3RydWN0IGRybV92bXdf Z2Jfc3VyZmFjZV9jcmVhdGVfZXh0X3JlcSIKKyAqIEBjcmVwOiBBZGRpdGlvbmFsIGRhdGEgb3V0 cHV0IHdoZW4gdGhlIHN1cmZhY2Ugd2FzIGNyZWF0ZWQsIGFzIGRlc2NyaWJlZAorICogICAgICAg IGFib3ZlIGF0ICJzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJmYWNlX2NyZWF0ZV9yZXAiCisgKgorICog T3V0cHV0IEFyZ3VtZW50IHRvIHRoZSBEUk1fVk1XX0dCX1NVUkZBQ0VfUkVGX0VYVCBpb2N0bC4K KyAqLworc3RydWN0IGRybV92bXdfZ2Jfc3VyZmFjZV9yZWZfZXh0X3JlcCB7CisJc3RydWN0IGRy bV92bXdfZ2Jfc3VyZmFjZV9jcmVhdGVfZXh0X3JlcSBjcmVxOworCXN0cnVjdCBkcm1fdm13X2di X3N1cmZhY2VfY3JlYXRlX3JlcCBjcmVwOworfTsKKworLyoqCisgKiB1bmlvbiBkcm1fdm13X2di X3N1cmZhY2VfcmVmZXJlbmNlX2V4dF9hcmcKKyAqCisgKiBAcmVxOiBJbnB1dCBkYXRhIGFzIGRl c2NyaWJlZCBhYm92ZSBhdCAic3RydWN0IGRybV92bXdfc3VyZmFjZV9hcmciCisgKiBAcmVwOiBP dXRwdXQgZGF0YSBhcyBkZXNjcmliZWQgYWJvdmUgYXQKKyAqICAgICAgICJzdHJ1Y3QgZHJtX3Zt d19nYl9zdXJmYWNlX3JlZl9leHRfcmVwIgorICoKKyAqIEFyZ3VtZW50IHRvIHRoZSBEUk1fVk1X X0dCX1NVUkZBQ0VfUkVGIElvY3RsLgorICovCit1bmlvbiBkcm1fdm13X2diX3N1cmZhY2VfcmVm ZXJlbmNlX2V4dF9hcmcgeworCXN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfcmVmX2V4dF9yZXAg cmVwOworCXN0cnVjdCBkcm1fdm13X3N1cmZhY2VfYXJnIHJlcTsKK307CiAKICNpZiBkZWZpbmVk KF9fY3BsdXNwbHVzKQogfQotLSAKMi4xNy4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2lndC1kZXYK