From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id C8489377E for ; Sun, 16 Oct 2016 15:31:24 +0200 (CEST) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP; 16 Oct 2016 06:31:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,354,1473145200"; d="scan'208";a="20095309" Received: from irsmsx151.ger.corp.intel.com ([163.33.192.59]) by fmsmga005.fm.intel.com with ESMTP; 16 Oct 2016 06:31:19 -0700 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.196]) by IRSMSX151.ger.corp.intel.com ([169.254.4.226]) with mapi id 14.03.0248.002; Sun, 16 Oct 2016 14:31:18 +0100 From: "Ananyev, Konstantin" To: "Guo, Jia" , "Zhang, Helin" , "Wu, Jingjing" CC: "dev@dpdk.org" , "Guo, Jia" Thread-Topic: [dpdk-dev] [PATCH v2 1/2] drivers/i40e: fix X722 macro absence result in compile Thread-Index: AQHSJ03f+LpBA2ELh0yaDBejAWhFsaCrEvAQ Date: Sun, 16 Oct 2016 13:31:17 +0000 Message-ID: <2601191342CEEE43887BDE71AB9772583F0C1FF9@irsmsx105.ger.corp.intel.com> References: <1474887098-115474-1-git-send-email-jia.guo@intel.com> <1476582005-110811-1-git-send-email-jia.guo@intel.com> In-Reply-To: <1476582005-110811-1-git-send-email-jia.guo@intel.com> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.180] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2 1/2] drivers/i40e: fix X722 macro absence result in compile X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Oct 2016 13:31:26 -0000 SGkgSmVmZiwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXYgW21h aWx0bzpkZXYtYm91bmNlc0BkcGRrLm9yZ10gT24gQmVoYWxmIE9mIEplZmYgR3VvDQo+IFNlbnQ6 IFN1bmRheSwgT2N0b2JlciAxNiwgMjAxNiAyOjQwIEFNDQo+IFRvOiBaaGFuZywgSGVsaW4gPGhl bGluLnpoYW5nQGludGVsLmNvbT47IFd1LCBKaW5namluZyA8amluZ2ppbmcud3VAaW50ZWwuY29t Pg0KPiBDYzogZGV2QGRwZGsub3JnOyBHdW8sIEppYSA8amlhLmd1b0BpbnRlbC5jb20+DQo+IFN1 YmplY3Q6IFtkcGRrLWRldl0gW1BBVENIIHYyIDEvMl0gZHJpdmVycy9pNDBlOiBmaXggWDcyMiBt YWNybyBhYnNlbmNlIHJlc3VsdCBpbiBjb21waWxlDQo+IA0KPiBTaW5jZSBzb21lIHJlZ2lzdGVy IG9ubHkgYmUgc3VwcG9ydGVkIGJ5IFg3MjIgYnV0IG1heSBub3QgYmUgc3VwcG9ydGVkDQo+IGJ5 IG90aGVyIE5JQ3MsIHNvIGFkZCBYNzIyIG1hY3JvIHRvIGRpc3Rpbmd1aXNoIHRoYXQgdG8gYXZv aWQgY29tcGlsZSBlcnJvcg0KPiB3aGVuIHRoZSBYNzIyIG1hY3JvIGlzIHVuZGVmaW5lZC4NCg0K DQpUd28gcHJvYmFibHkgc2lsbHkgcXVlc3Rpb25zOg0KMSkgU28gd2hvIHdpbGwgc2V0dXAgWDcy Ml9TVVBQT1JUIG1hY3JvPw0KSXMgdGhhdCBhIHVzZXIgcmVzcG9uc2liaWxpdHkgd2hlbiBoZSBp cyBidWlsZGluZyBkcGRrIGk0MGUgUE1EPw0KSWYgc28sIHdoeSBpdCBpcyBub3QgYSBydGVfY29u ZmlnIG9wdGlvbj8NCjIpIFdoeSB0aGlzIGFsbCBoYXMgdG8gYmUgYnVpbGQgIHRpbWUgZGVjaXNp b24/DQpXaHkgbm9yIHJ1bi10aW1lPw0KV2h5IGk0MGUgZHJpdmVyIGNhbid0IHN1cHBvcnQgYWxs IGRldmljZXMgKGluY2x1ZGluZyB4NzIyKQ0KYW5kIGludm9rZSBkaWZmZXJlbnQgY29uZmlnIGZ1 bmN0aW9ucyAod3JpdGUgZGlmZmVyZW50IHJlZ2lzdGVycykNCmJhc2VkIG9uIGRldmljZSB0eXBl L2lkIGluZm9ybWF0aW9uPw0KQXMgaXQgZG9lcyBmb3Igb3RoZXIgZGV2aWNlIHR5cGVzL2lkcz8N Cg0KS29uc3RhbnRpbg0KDQo+IA0KPiBGaXhlczogZDBhMzQ5NDA5YmQ3ICjigJxpNDBlOiBzdXBw b3J0IEFRIGJhc2VkIFJTUyBjb25maWfigJ0pDQo+IEZpeGVzOiAwMDFhMWMwZjk4ZjQgKCJldGhk ZXY6IGdldCByZWdpc3RlcnMgd2lkdGgiKQ0KPiBGaXhlczogYTA0NTRiNWQyZTA4ICjigJxpNDBl OiB1cGRhdGUgZGV2aWNlIGlkc+KAnSkNCj4gRml4ZXM6IDY0N2QxZWFmNzU4YiAo4oCcaTQwZXZm OiBzdXBwb3J0IEFRIGJhc2VkIFJTUyBjb25maWfigJ0pDQo+IEZpeGVzOiAzMDU4ODkxYTJiMDIg KOKAnG5ldC9pNDBlOiBtb3ZlIFBDSSBkZXZpY2UgaWRzIHRvIHRoZSBkcml2ZXLigJ0pDQo+IEZp eGVzOiBkOWVmZDAxMzZhYzEgKOKAnGk0MGU6IGFkZCBFRVBST00gYW5kIHJlZ2lzdGVycyBkdW1w aW5n4oCdKQ0KPiBTaWduZWQtb2ZmLWJ5OiBKZWZmIEd1byA8amlhLmd1b0BpbnRlbC5jb20+DQo+ IA0KPiAtLS0NCj4gdjI6DQo+IGZpeCBjb21waWxlIGVycm9yIHdoZW4geDcyMiBtYWNybyBpcyBu b3QgZGVmaW5lLg0KPiAtLS0NCj4gIGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYyAgICB8 IDM2ICsrKysrKysrKysrKysrLQ0KPiAgZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oICAg IHwgMTcgKysrKysrKw0KPiAgZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldl92Zi5jIHwgMjcg KysrKysrKysrKysNCj4gIGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9yZWdzLmggICAgICB8IDk2ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgZHJpdmVycy9uZXQvaTQw ZS9pNDBlX3J4dHguYyAgICAgIHwgMTggKysrKysrKy0NCj4gIDUgZmlsZXMgY2hhbmdlZCwgMTkx IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jIGIvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j DQo+IGluZGV4IGQwNjQwYjkuLjkyMGZkNmQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMN Cj4gQEAgLTQ2OCwxMyArNDY4LDE3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRlX3BjaV9pZCBw Y2lfaWRfaTQwZV9tYXBbXSA9IHsNCj4gIAl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVO RE9SX0lELCBJNDBFX0RFVl9JRF8xMEdfQkFTRV9UNCkgfSwNCj4gIAl7IFJURV9QQ0lfREVWSUNF KEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RFVl9JRF8yNUdfQikgfSwNCj4gIAl7IFJURV9Q Q0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RFVl9JRF8yNUdfU0ZQMjgpIH0s DQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICsjaWZkZWYgWDcyMl9BMF9TVVBQT1JUDQo+ICAJ eyBSVEVfUENJX0RFVklDRShJNDBFX0lOVEVMX1ZFTkRPUl9JRCwgSTQwRV9ERVZfSURfWDcyMl9B MCkgfSwNCj4gKyNlbmRpZiAvKiBYNzIyX0EwX1NVUFBPUlQgKi8NCj4gIAl7IFJURV9QQ0lfREVW SUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RFVl9JRF9LWF9YNzIyKSB9LA0KPiAgCXsg UlRFX1BDSV9ERVZJQ0UoSTQwRV9JTlRFTF9WRU5ET1JfSUQsIEk0MEVfREVWX0lEX1FTRlBfWDcy MikgfSwNCj4gIAl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RF Vl9JRF9TRlBfWDcyMikgfSwNCj4gIAl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9S X0lELCBJNDBFX0RFVl9JRF8xR19CQVNFX1RfWDcyMikgfSwNCj4gIAl7IFJURV9QQ0lfREVWSUNF KEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RFVl9JRF8xMEdfQkFTRV9UX1g3MjIpIH0sDQo+ ICAJeyBSVEVfUENJX0RFVklDRShJNDBFX0lOVEVMX1ZFTkRPUl9JRCwgSTQwRV9ERVZfSURfU0ZQ X0lfWDcyMikgfSwNCj4gKyNlbmRpZiAvKiBYNzIyX1NVUFBPUlQgKi8NCj4gIAl7IC52ZW5kb3Jf aWQgPSAwLCAvKiBzZW50aW5lbCAqLyB9LA0KPiAgfTsNCj4gDQo+IEBAIC0zMTgyLDYgKzMxODYs NyBAQCBpNDBlX2dldF9yc3NfbHV0KHN0cnVjdCBpNDBlX3ZzaSAqdnNpLCB1aW50OF90ICpsdXQs IHVpbnQxNl90IGx1dF9zaXplKQ0KPiAgCWlmICghbHV0KQ0KPiAgCQlyZXR1cm4gLUVJTlZBTDsN Cj4gDQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJaWYgKHBmLT5mbGFncyAmIEk0MEVfRkxB R19SU1NfQVFfQ0FQQUJMRSkgew0KPiAgCQlyZXQgPSBpNDBlX2FxX2dldF9yc3NfbHV0KGh3LCB2 c2ktPnZzaV9pZCwgVFJVRSwNCj4gIAkJCQkJICBsdXQsIGx1dF9zaXplKTsNCj4gQEAgLTMxOTAs MTIgKzMxOTUsMTUgQEAgaTQwZV9nZXRfcnNzX2x1dChzdHJ1Y3QgaTQwZV92c2kgKnZzaSwgdWlu dDhfdCAqbHV0LCB1aW50MTZfdCBsdXRfc2l6ZSkNCj4gIAkJCXJldHVybiByZXQ7DQo+ICAJCX0N Cj4gIAl9IGVsc2Ugew0KPiArI2VuZGlmIC8qIFg3MjJfU1VQUE9SVCAqLw0KPiAgCQl1aW50MzJf dCAqbHV0X2R3ID0gKHVpbnQzMl90ICopbHV0Ow0KPiAgCQl1aW50MTZfdCBpLCBsdXRfc2l6ZV9k dyA9IGx1dF9zaXplIC8gNDsNCj4gDQo+ICAJCWZvciAoaSA9IDA7IGkgPCBsdXRfc2l6ZV9kdzsg aSsrKQ0KPiAgCQkJbHV0X2R3W2ldID0gSTQwRV9SRUFEX1JFRyhodywgSTQwRV9QRlFGX0hMVVQo aSkpOw0KPiArI2lmZGVmIFg3MjJfU1VQUE9SVA0KPiAgCX0NCj4gKyNlbmRpZiAvKiBYNzIyX1NV UFBPUlQgKi8NCj4gDQo+ICAJcmV0dXJuIDA7DQo+ICB9DQo+IEBAIC0zMjEzLDYgKzMyMjEsNyBA QCBpNDBlX3NldF9yc3NfbHV0KHN0cnVjdCBpNDBlX3ZzaSAqdnNpLCB1aW50OF90ICpsdXQsIHVp bnQxNl90IGx1dF9zaXplKQ0KPiAgCXBmID0gSTQwRV9WU0lfVE9fUEYodnNpKTsNCj4gIAlodyA9 IEk0MEVfVlNJX1RPX0hXKHZzaSk7DQo+IA0KPiArI2lmZGVmIFg3MjJfU1VQUE9SVA0KPiAgCWlm IChwZi0+ZmxhZ3MgJiBJNDBFX0ZMQUdfUlNTX0FRX0NBUEFCTEUpIHsNCj4gIAkJcmV0ID0gaTQw ZV9hcV9zZXRfcnNzX2x1dChodywgdnNpLT52c2lfaWQsIFRSVUUsDQo+ICAJCQkJCSAgbHV0LCBs dXRfc2l6ZSk7DQo+IEBAIC0zMjIxLDEzICszMjMwLDE2IEBAIGk0MGVfc2V0X3Jzc19sdXQoc3Ry dWN0IGk0MGVfdnNpICp2c2ksIHVpbnQ4X3QgKmx1dCwgdWludDE2X3QgbHV0X3NpemUpDQo+ICAJ CQlyZXR1cm4gcmV0Ow0KPiAgCQl9DQo+ICAJfSBlbHNlIHsNCj4gKyNlbmRpZiAvKiBYNzIyX1NV UFBPUlQgKi8NCj4gIAkJdWludDMyX3QgKmx1dF9kdyA9ICh1aW50MzJfdCAqKWx1dDsNCj4gIAkJ dWludDE2X3QgaSwgbHV0X3NpemVfZHcgPSBsdXRfc2l6ZSAvIDQ7DQo+IA0KPiAgCQlmb3IgKGkg PSAwOyBpIDwgbHV0X3NpemVfZHc7IGkrKykNCj4gIAkJCUk0MEVfV1JJVEVfUkVHKGh3LCBJNDBF X1BGUUZfSExVVChpKSwgbHV0X2R3W2ldKTsNCj4gIAkJSTQwRV9XUklURV9GTFVTSChodyk7DQo+ ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJfQ0KPiArI2VuZGlmIC8qIFg3MjJfU1VQUE9SVCAq Lw0KPiANCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gQEAgLTM1MDgsOCArMzUyMCwxMCBAQCBpNDBl X3BmX3BhcmFtZXRlcl9pbml0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiAgCQlwZi0+bGFu X25iX3FwcyA9IDE7DQo+ICAJfSBlbHNlIHsNCj4gIAkJcGYtPmZsYWdzIHw9IEk0MEVfRkxBR19S U1M7DQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJCWlmIChody0+bWFjLnR5cGUgPT0gSTQw RV9NQUNfWDcyMikNCj4gIAkJCXBmLT5mbGFncyB8PSBJNDBFX0ZMQUdfUlNTX0FRX0NBUEFCTEU7 DQo+ICsjZW5kaWYgLyogWDcyMl9TVVBQT1JUICovDQo+ICAJCXBmLT5sYW5fbmJfcXBzID0gcGYt Pmxhbl9uYl9xcF9tYXg7DQo+ICAJfQ0KPiAgCXFwX2NvdW50ICs9IHBmLT5sYW5fbmJfcXBzOw0K PiBAQCAtNjMwMiw2ICs2MzE2LDcgQEAgaTQwZV9zZXRfcnNzX2tleShzdHJ1Y3QgaTQwZV92c2kg KnZzaSwgdWludDhfdCAqa2V5LCB1aW50OF90IGtleV9sZW4pDQo+ICAJCXJldHVybiAtRUlOVkFM Ow0KPiAgCX0NCj4gDQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJaWYgKHBmLT5mbGFncyAm IEk0MEVfRkxBR19SU1NfQVFfQ0FQQUJMRSkgew0KPiAgCQlzdHJ1Y3QgaTQwZV9hcWNfZ2V0X3Nl dF9yc3Nfa2V5X2RhdGEgKmtleV9kdyA9DQo+ICAJCQkoc3RydWN0IGk0MGVfYXFjX2dldF9zZXRf cnNzX2tleV9kYXRhICopa2V5Ow0KPiBAQCAtNjMxMSwxMyArNjMyNiwxNiBAQCBpNDBlX3NldF9y c3Nfa2V5KHN0cnVjdCBpNDBlX3ZzaSAqdnNpLCB1aW50OF90ICprZXksIHVpbnQ4X3Qga2V5X2xl bikNCj4gIAkJCVBNRF9JTklUX0xPRyhFUlIsICJGYWlsZWQgdG8gY29uZmlndXJlIFJTUyBrZXkg Ig0KPiAgCQkJCSAgICAgInZpYSBBUSIpOw0KPiAgCX0gZWxzZSB7DQo+ICsjZW5kaWYgLyogWDcy Ml9TVVBQT1JUICovDQo+ICAJCXVpbnQzMl90ICpoYXNoX2tleSA9ICh1aW50MzJfdCAqKWtleTsN Cj4gIAkJdWludDE2X3QgaTsNCj4gDQo+ICAJCWZvciAoaSA9IDA7IGkgPD0gSTQwRV9QRlFGX0hL RVlfTUFYX0lOREVYOyBpKyspDQo+ICAJCQlpNDBlX3dyaXRlX3J4X2N0bChodywgSTQwRV9QRlFG X0hLRVkoaSksIGhhc2hfa2V5W2ldKTsNCj4gIAkJSTQwRV9XUklURV9GTFVTSChodyk7DQo+ICsj aWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJfQ0KPiArI2VuZGlmIC8qIFg3MjJfU1VQUE9SVCAqLw0K PiANCj4gIAlyZXR1cm4gcmV0Ow0KPiAgfQ0KPiBAQCAtNjMzMiw2ICs2MzUwLDcgQEAgaTQwZV9n ZXRfcnNzX2tleShzdHJ1Y3QgaTQwZV92c2kgKnZzaSwgdWludDhfdCAqa2V5LCB1aW50OF90ICpr ZXlfbGVuKQ0KPiAgCWlmICgha2V5IHx8ICFrZXlfbGVuKQ0KPiAgCQlyZXR1cm4gLUVJTlZBTDsN Cj4gDQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJaWYgKHBmLT5mbGFncyAmIEk0MEVfRkxB R19SU1NfQVFfQ0FQQUJMRSkgew0KPiAgCQlyZXQgPSBpNDBlX2FxX2dldF9yc3Nfa2V5KGh3LCB2 c2ktPnZzaV9pZCwNCj4gIAkJCShzdHJ1Y3QgaTQwZV9hcWNfZ2V0X3NldF9yc3Nfa2V5X2RhdGEg KilrZXkpOw0KPiBAQCAtNjM0MCwxMiArNjM1OSwxNiBAQCBpNDBlX2dldF9yc3Nfa2V5KHN0cnVj dCBpNDBlX3ZzaSAqdnNpLCB1aW50OF90ICprZXksIHVpbnQ4X3QgKmtleV9sZW4pDQo+ICAJCQly ZXR1cm4gcmV0Ow0KPiAgCQl9DQo+ICAJfSBlbHNlIHsNCj4gKyNlbmRpZiAvKiBYNzIyX1NVUFBP UlQgKi8NCj4gIAkJdWludDMyX3QgKmtleV9kdyA9ICh1aW50MzJfdCAqKWtleTsNCj4gIAkJdWlu dDE2X3QgaTsNCj4gDQo+ICAJCWZvciAoaSA9IDA7IGkgPD0gSTQwRV9QRlFGX0hLRVlfTUFYX0lO REVYOyBpKyspDQo+ICAJCQlrZXlfZHdbaV0gPSBpNDBlX3JlYWRfcnhfY3RsKGh3LCBJNDBFX1BG UUZfSEtFWShpKSk7DQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJfQ0KPiArI2VuZGlmIC8q IFg3MjJfU1VQUE9SVCAqLw0KPiArDQo+ICAJKmtleV9sZW4gPSAoSTQwRV9QRlFGX0hLRVlfTUFY X0lOREVYICsgMSkgKiBzaXplb2YodWludDMyX3QpOw0KPiANCj4gIAlyZXR1cm4gMDsNCj4gQEAg LTk2MTAsOCArOTYzMywxNyBAQCBzdGF0aWMgaW50IGk0MGVfZ2V0X3JlZ3Moc3RydWN0IHJ0ZV9l dGhfZGV2ICpkZXYsDQo+ICAJY29uc3Qgc3RydWN0IGk0MGVfcmVnX2luZm8gKnJlZ19pbmZvOw0K PiANCj4gIAlpZiAocHRyX2RhdGEgPT0gTlVMTCkgew0KPiAtCQlyZWdzLT5sZW5ndGggPSBJNDBF X0dMR0VOX1NUQVRfQ0xFQVIgKyA0Ow0KPiAtCQlyZWdzLT53aWR0aCA9IHNpemVvZih1aW50MzJf dCk7DQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICsJCWlmIChody0+bWFjLnR5cGUgPT0gSTQw RV9NQUNfWDcyMikgew0KPiArCQkJcmVncy0+bGVuZ3RoID0gSTQwRV9HTEdFTl9TVEFUX0NMRUFS ICsgNDsNCj4gKyNlbHNlDQo+ICsJCQlyZWdzLT5sZW5ndGggPSBJNDBFX0dMVkVCVkxfQlBDSCgN Cj4gKwkJCQlJNDBFX0dMVkVCVkxfQlBDSF9NQVhfSU5ERVgpICsgMHg4Ow0KPiArI2VuZGlmIC8q IFg3MjJfU1VQUE9SVCAqLw0KPiArCQkJcmVncy0+d2lkdGggPSBzaXplb2YodWludDMyX3QpOw0K PiArI2lmZGVmIFg3MjJfU1VQUE9SVA0KPiArCQl9DQo+ICsjZW5kaWYgLyogWDcyMl9TVVBQT1JU ICovDQo+ICAJCXJldHVybiAwOw0KPiAgCX0NCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmggYi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmgNCj4g aW5kZXggNTdhOGFlMS4uNDM3MTFiOCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5oDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaA0KPiBA QCAtMTI1LDcgKzEyNSwxMCBAQCBlbnVtIGk0MGVfZmx4cGxkX2xheWVyX2lkeCB7DQo+ICAjZGVm aW5lIEk0MEVfRkxBR19IRUFERVJfU1BMSVRfRU5BQkxFRCAgKDFVTEwgPDwgNSkNCj4gICNkZWZp bmUgSTQwRV9GTEFHX0ZESVIgICAgICAgICAgICAgICAgICAoMVVMTCA8PCA2KQ0KPiAgI2RlZmlu ZSBJNDBFX0ZMQUdfVlhMQU4gICAgICAgICAgICAgICAgICgxVUxMIDw8IDcpDQo+ICsjaWZkZWYg WDcyMl9TVVBQT1JUDQo+ICAjZGVmaW5lIEk0MEVfRkxBR19SU1NfQVFfQ0FQQUJMRSAgICAgICAg KDFVTEwgPDwgOCkNCj4gKyNlbmRpZiAvKiBYNzIyX1NVUFBPUlQgKi8NCj4gKyNpZmRlZiBYNzIy X1NVUFBPUlQNCj4gICNkZWZpbmUgSTQwRV9GTEFHX0FMTCAoSTQwRV9GTEFHX1JTUyB8IFwNCj4g IAkJICAgICAgIEk0MEVfRkxBR19EQ0IgfCBcDQo+ICAJCSAgICAgICBJNDBFX0ZMQUdfVk1EUSB8 IFwNCj4gQEAgLTEzNSw2ICsxMzgsMTYgQEAgZW51bSBpNDBlX2ZseHBsZF9sYXllcl9pZHggew0K PiAgCQkgICAgICAgSTQwRV9GTEFHX0ZESVIgfCBcDQo+ICAJCSAgICAgICBJNDBFX0ZMQUdfVlhM QU4gfCBcDQo+ICAJCSAgICAgICBJNDBFX0ZMQUdfUlNTX0FRX0NBUEFCTEUpDQo+ICsjZWxzZQ0K PiArI2RlZmluZSBJNDBFX0ZMQUdfQUxMIChJNDBFX0ZMQUdfUlNTIHwgXA0KPiArCQkgICAgICAg STQwRV9GTEFHX0RDQiB8IFwNCj4gKwkJICAgICAgIEk0MEVfRkxBR19WTURRIHwgXA0KPiArCQkg ICAgICAgSTQwRV9GTEFHX1NSSU9WIHwgXA0KPiArCQkgICAgICAgSTQwRV9GTEFHX0hFQURFUl9T UExJVF9ESVNBQkxFRCB8IFwNCj4gKwkJICAgICAgIEk0MEVfRkxBR19IRUFERVJfU1BMSVRfRU5B QkxFRCB8IFwNCj4gKwkJICAgICAgIEk0MEVfRkxBR19GRElSIHwgXA0KPiArCQkgICAgICAgSTQw RV9GTEFHX1ZYTEFOKQ0KPiArI2VuZGlmIC8qIFg3MjJfU1VQUE9SVCAqLw0KPiANCj4gICNkZWZp bmUgSTQwRV9SU1NfT0ZGTE9BRF9BTEwgKCBcDQo+ICAJRVRIX1JTU19GUkFHX0lQVjQgfCBcDQo+ IEBAIC02NTAsNyArNjYzLDExIEBAIGk0MGVfZ2V0X3ZzaV9mcm9tX2FkYXB0ZXIoc3RydWN0IGk0 MGVfYWRhcHRlciAqYWRhcHRlcikNCj4gICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsNCj4g DQo+ICAJaHcgPSBJNDBFX0RFVl9QUklWQVRFX1RPX0hXKGFkYXB0ZXIpOw0KPiArI2lmZGVmIFg3 MjJfU1VQUE9SVA0KPiAgCWlmIChody0+bWFjLnR5cGUgPT0gSTQwRV9NQUNfVkYgfHwgaHctPm1h Yy50eXBlID09IEk0MEVfTUFDX1g3MjJfVkYpIHsNCj4gKyNlbHNlDQo+ICsJaWYgKGh3LT5tYWMu dHlwZSA9PSBJNDBFX01BQ19WRikgew0KPiArI2VuZGlmIC8qIFg3MjJfU1VQUE9SVCAqLw0KPiAg CQlzdHJ1Y3QgaTQwZV92ZiAqdmYgPSBJNDBFVkZfREVWX1BSSVZBVEVfVE9fVkYoYWRhcHRlcik7 DQo+ICAJCXJldHVybiAmdmYtPnZzaTsNCj4gIAl9IGVsc2Ugew0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldl92Zi5jIGIvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldl92Zi5jDQo+IGluZGV4IDM0ZWIyNzQuLmFhYjljYWUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXZfdmYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2X3ZmLmMNCj4gQEAgLTExMTIsOSArMTExMiwxNyBAQCBpNDBldmZfZ2V0X2xpbmtf c3RhdHVzKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCBzdHJ1Y3QgcnRlX2V0aF9saW5rICpsaW5r KQ0KPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBydGVfcGNpX2lkIHBjaV9pZF9pNDBldmZfbWFwW10g PSB7DQo+ICAJeyBSVEVfUENJX0RFVklDRShJNDBFX0lOVEVMX1ZFTkRPUl9JRCwgSTQwRV9ERVZf SURfVkYpIH0sDQo+ICAJeyBSVEVfUENJX0RFVklDRShJNDBFX0lOVEVMX1ZFTkRPUl9JRCwgSTQw RV9ERVZfSURfVkZfSFYpIH0sDQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICsjaWZkZWYgWDcy Ml9BMF9TVVBQT1JUDQo+ICsjaWYgZGVmaW5lZChJTlRFR1JBVEVEX1ZGKSB8fCBkZWZpbmVkKFZG X0RSSVZFUikNCj4gIAl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBF X0RFVl9JRF9YNzIyX0EwX1ZGKSB9LA0KPiArI2VuZGlmIC8qIElOVEVHUkFURURfVkYgfHwgVkZf RFJJVkVSICovDQo+ICsjZW5kaWYgLyogWDcyMl9BMF9TVVBQT1JUICovDQo+ICsjaWYgZGVmaW5l ZChJTlRFR1JBVEVEX1ZGKSB8fCBkZWZpbmVkKFZGX0RSSVZFUikgfHwgZGVmaW5lZChJNDBFX05E SVNfU1VQUE9SVCkNCj4gIAl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJ NDBFX0RFVl9JRF9YNzIyX1ZGKSB9LA0KPiAgCXsgUlRFX1BDSV9ERVZJQ0UoSTQwRV9JTlRFTF9W RU5ET1JfSUQsIEk0MEVfREVWX0lEX1g3MjJfVkZfSFYpIH0sDQo+ICsjZW5kaWYgLyogSU5URUdS QVRFRF9WRiB8fCBWRl9EUklWRVIgfHwgSTQwRV9ORElTX1NVUFBPUlQgKi8NCj4gKyNlbmRpZiAv KiBYNzIyX1NVUFBPUlQgKi8NCj4gIAl7IC52ZW5kb3JfaWQgPSAwLCAvKiBzZW50aW5lbCAqLyB9 LA0KPiAgfTsNCj4gDQo+IEBAIC0xMjc3LDggKzEyODUsMTAgQEAgaTQwZXZmX2luaXRfdmYoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ICAJCWdvdG8gZXJyX2FsbG9jOw0KPiAgCX0NCj4gDQo+ ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJaWYgKGh3LT5tYWMudHlwZSA9PSBJNDBFX01BQ19Y NzIyX1ZGKQ0KPiAgCQl2Zi0+ZmxhZ3MgPSBJNDBFX0ZMQUdfUlNTX0FRX0NBUEFCTEU7DQo+ICsj ZW5kaWYgLyogWDcyMl9TVVBQT1JUICovDQo+ICAJdmYtPnZzaS52c2lfaWQgPSB2Zi0+dnNpX3Jl cy0+dnNpX2lkOw0KPiAgCXZmLT52c2kudHlwZSA9IHZmLT52c2lfcmVzLT52c2lfdHlwZTsNCj4g IAl2Zi0+dnNpLm5iX3FwcyA9IHZmLT52c2lfcmVzLT5udW1fcXVldWVfcGFpcnM7DQo+IEBAIC0y MzQwLDYgKzIzNTAsNyBAQCBpNDBldmZfZ2V0X3Jzc19sdXQoc3RydWN0IGk0MGVfdnNpICp2c2ks IHVpbnQ4X3QgKmx1dCwgdWludDE2X3QgbHV0X3NpemUpDQo+ICAJaWYgKCFsdXQpDQo+ICAJCXJl dHVybiAtRUlOVkFMOw0KPiANCj4gKyNpZmRlZiBYNzIyX1NVUFBPUlQNCj4gIAlpZiAodmYtPmZs YWdzICYgSTQwRV9GTEFHX1JTU19BUV9DQVBBQkxFKSB7DQo+ICAJCXJldCA9IGk0MGVfYXFfZ2V0 X3Jzc19sdXQoaHcsIHZzaS0+dnNpX2lkLCBGQUxTRSwNCj4gIAkJCQkJICBsdXQsIGx1dF9zaXpl KTsNCj4gQEAgLTIzNDgsMTIgKzIzNTksMTUgQEAgaTQwZXZmX2dldF9yc3NfbHV0KHN0cnVjdCBp NDBlX3ZzaSAqdnNpLCB1aW50OF90ICpsdXQsIHVpbnQxNl90IGx1dF9zaXplKQ0KPiAgCQkJcmV0 dXJuIHJldDsNCj4gIAkJfQ0KPiAgCX0gZWxzZSB7DQo+ICsjZW5kaWYgLyogWDcyMl9TVVBQT1JU ICovDQo+ICAJCXVpbnQzMl90ICpsdXRfZHcgPSAodWludDMyX3QgKilsdXQ7DQo+ICAJCXVpbnQx Nl90IGksIGx1dF9zaXplX2R3ID0gbHV0X3NpemUgLyA0Ow0KPiANCj4gIAkJZm9yIChpID0gMDsg aSA8IGx1dF9zaXplX2R3OyBpKyspDQo+ICAJCQlsdXRfZHdbaV0gPSBJNDBFX1JFQURfUkVHKGh3 LCBJNDBFX1ZGUUZfSExVVChpKSk7DQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJfQ0KPiAr I2VuZGlmIC8qIFg3MjJfU1VQUE9SVCAqLw0KPiANCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gQEAg LTIzNzEsNiArMjM4NSw3IEBAIGk0MGV2Zl9zZXRfcnNzX2x1dChzdHJ1Y3QgaTQwZV92c2kgKnZz aSwgdWludDhfdCAqbHV0LCB1aW50MTZfdCBsdXRfc2l6ZSkNCj4gIAl2ZiA9IEk0MEVfVlNJX1RP X1ZGKHZzaSk7DQo+ICAJaHcgPSBJNDBFX1ZTSV9UT19IVyh2c2kpOw0KPiANCj4gKyNpZmRlZiBY NzIyX1NVUFBPUlQNCj4gIAlpZiAodmYtPmZsYWdzICYgSTQwRV9GTEFHX1JTU19BUV9DQVBBQkxF KSB7DQo+ICAJCXJldCA9IGk0MGVfYXFfc2V0X3Jzc19sdXQoaHcsIHZzaS0+dnNpX2lkLCBGQUxT RSwNCj4gIAkJCQkJICBsdXQsIGx1dF9zaXplKTsNCj4gQEAgLTIzNzksMTMgKzIzOTQsMTYgQEAg aTQwZXZmX3NldF9yc3NfbHV0KHN0cnVjdCBpNDBlX3ZzaSAqdnNpLCB1aW50OF90ICpsdXQsIHVp bnQxNl90IGx1dF9zaXplKQ0KPiAgCQkJcmV0dXJuIHJldDsNCj4gIAkJfQ0KPiAgCX0gZWxzZSB7 DQo+ICsjZW5kaWYgLyogWDcyMl9TVVBQT1JUICovDQo+ICAJCXVpbnQzMl90ICpsdXRfZHcgPSAo dWludDMyX3QgKilsdXQ7DQo+ICAJCXVpbnQxNl90IGksIGx1dF9zaXplX2R3ID0gbHV0X3NpemUg LyA0Ow0KPiANCj4gIAkJZm9yIChpID0gMDsgaSA8IGx1dF9zaXplX2R3OyBpKyspDQo+ICAJCQlJ NDBFX1dSSVRFX1JFRyhodywgSTQwRV9WRlFGX0hMVVQoaSksIGx1dF9kd1tpXSk7DQo+ICAJCUk0 MEVWRl9XUklURV9GTFVTSChodyk7DQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJfQ0KPiAr I2VuZGlmIC8qIFg3MjJfU1VQUE9SVCAqLw0KPiANCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gQEAg LTI0ODQsNiArMjUwMiw3IEBAIGk0MGV2Zl9zZXRfcnNzX2tleShzdHJ1Y3QgaTQwZV92c2kgKnZz aSwgdWludDhfdCAqa2V5LCB1aW50OF90IGtleV9sZW4pDQo+ICAJCXJldHVybiAtRUlOVkFMOw0K PiAgCX0NCj4gDQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJaWYgKHZmLT5mbGFncyAmIEk0 MEVfRkxBR19SU1NfQVFfQ0FQQUJMRSkgew0KPiAgCQlzdHJ1Y3QgaTQwZV9hcWNfZ2V0X3NldF9y c3Nfa2V5X2RhdGEgKmtleV9kdyA9DQo+ICAJCQkoc3RydWN0IGk0MGVfYXFjX2dldF9zZXRfcnNz X2tleV9kYXRhICopa2V5Ow0KPiBAQCAtMjQ5MywxMyArMjUxMiwxNiBAQCBpNDBldmZfc2V0X3Jz c19rZXkoc3RydWN0IGk0MGVfdnNpICp2c2ksIHVpbnQ4X3QgKmtleSwgdWludDhfdCBrZXlfbGVu KQ0KPiAgCQkJUE1EX0lOSVRfTE9HKEVSUiwgIkZhaWxlZCB0byBjb25maWd1cmUgUlNTIGtleSAi DQo+ICAJCQkJICAgICAidmlhIEFRIik7DQo+ICAJfSBlbHNlIHsNCj4gKyNlbmRpZiAvKiBYNzIy X1NVUFBPUlQgKi8NCj4gIAkJdWludDMyX3QgKmhhc2hfa2V5ID0gKHVpbnQzMl90ICopa2V5Ow0K PiAgCQl1aW50MTZfdCBpOw0KPiANCj4gIAkJZm9yIChpID0gMDsgaSA8PSBJNDBFX1ZGUUZfSEtF WV9NQVhfSU5ERVg7IGkrKykNCj4gIAkJCWk0MGVfd3JpdGVfcnhfY3RsKGh3LCBJNDBFX1ZGUUZf SEtFWShpKSwgaGFzaF9rZXlbaV0pOw0KPiAgCQlJNDBFVkZfV1JJVEVfRkxVU0goaHcpOw0KPiAr I2lmZGVmIFg3MjJfU1VQUE9SVA0KPiAgCX0NCj4gKyNlbmRpZiAvKiBYNzIyX1NVUFBPUlQgKi8N Cj4gDQo+ICAJcmV0dXJuIHJldDsNCj4gIH0NCj4gQEAgLTI1MTQsNiArMjUzNiw3IEBAIGk0MGV2 Zl9nZXRfcnNzX2tleShzdHJ1Y3QgaTQwZV92c2kgKnZzaSwgdWludDhfdCAqa2V5LCB1aW50OF90 ICprZXlfbGVuKQ0KPiAgCWlmICgha2V5IHx8ICFrZXlfbGVuKQ0KPiAgCQlyZXR1cm4gLUVJTlZB TDsNCj4gDQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJaWYgKHZmLT5mbGFncyAmIEk0MEVf RkxBR19SU1NfQVFfQ0FQQUJMRSkgew0KPiAgCQlyZXQgPSBpNDBlX2FxX2dldF9yc3Nfa2V5KGh3 LCB2c2ktPnZzaV9pZCwNCj4gIAkJCShzdHJ1Y3QgaTQwZV9hcWNfZ2V0X3NldF9yc3Nfa2V5X2Rh dGEgKilrZXkpOw0KPiBAQCAtMjUyMiwxMiArMjU0NSwxNiBAQCBpNDBldmZfZ2V0X3Jzc19rZXko c3RydWN0IGk0MGVfdnNpICp2c2ksIHVpbnQ4X3QgKmtleSwgdWludDhfdCAqa2V5X2xlbikNCj4g IAkJCXJldHVybiByZXQ7DQo+ICAJCX0NCj4gIAl9IGVsc2Ugew0KPiArI2VuZGlmIC8qIFg3MjJf U1VQUE9SVCAqLw0KPiAgCQl1aW50MzJfdCAqa2V5X2R3ID0gKHVpbnQzMl90ICopa2V5Ow0KPiAg CQl1aW50MTZfdCBpOw0KPiANCj4gIAkJZm9yIChpID0gMDsgaSA8PSBJNDBFX1ZGUUZfSEtFWV9N QVhfSU5ERVg7IGkrKykNCj4gIAkJCWtleV9kd1tpXSA9IGk0MGVfcmVhZF9yeF9jdGwoaHcsIEk0 MEVfVkZRRl9IS0VZKGkpKTsNCj4gKyNpZmRlZiBYNzIyX1NVUFBPUlQNCj4gIAl9DQo+ICsjZW5k aWYgLyogWDcyMl9TVVBQT1JUICovDQo+ICsNCj4gIAkqa2V5X2xlbiA9IChJNDBFX1ZGUUZfSEtF WV9NQVhfSU5ERVggKyAxKSAqIHNpemVvZih1aW50MzJfdCk7DQo+IA0KPiAgCXJldHVybiAwOw0K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaTQwZS9pNDBlX3JlZ3MuaCBiL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9yZWdzLmgNCj4gaW5kZXggNDcyYzdhMC4uN2JlNmNlMyAxMDA2NDQNCj4gLS0t IGEvZHJpdmVycy9uZXQvaTQwZS9pNDBlX3JlZ3MuaA0KPiArKysgYi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfcmVncy5oDQo+IEBAIC01Miw3ICs1Miw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTQw ZV9yZWdfaW5mbyBpNDBlX3JlZ3NfYWRtaW5xW10gPSB7DQo+ICAJe0k0MEVfVlNJTEFOX1FCQVNF KDApLCAzODMsIDQsIDAsIDAsICJWU0lMQU5fUUJBU0UifSwNCj4gIAl7STQwRV9WU0lRRl9DVEwo MCksIDM4MywgNCwgMCwgMCwgIlZTSVFGX0NUTCJ9LA0KPiAgCXtJNDBFX1BGUUZfSEtFWSgwKSwg MTIsIDEyOCwgMCwgMCwgIlBGUUZfSEtFWSJ9LA0KPiArI2lmZGVmIFg3MjJfU1VQUE9SVA0KPiAg CXtJNDBFX1BGUUZfSFJFR0lPTigwKSwgNywgMTI4LCAwLCAwLCAiUEZRRl9IUkVHSU9OIn0sDQo+ ICsjZW5kaWYNCj4gIAl7STQwRV9QRlFGX0hFTkEoMCksIDEsIDEyOCwgMCwgMCwgIlBGUUZfSEVO QSJ9LA0KPiAgCXtJNDBFX1BGUUZfRkRBTExPQywgMCwgMCwgMCwgMCwgIlBGUUZfRkRBTExPQyJ9 LA0KPiAgCXtJNDBFX1BSVFFGX0ZEX0lOU0VUKDAsIDApLCA2MywgNjQsIDEsIDMyLCAiUFJUUUZf RkRfSU5TRVQifSwNCj4gQEAgLTYwLDkgKzYyLDExIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTQw ZV9yZWdfaW5mbyBpNDBlX3JlZ3NfYWRtaW5xW10gPSB7DQo+ICAJe0k0MEVfUFJUUUZfRkRfTVNL KDAsIDApLCA2MywgNjQsIDEsIDMyLCAiUFJUUUZfRkRfTVNLIn0sDQo+ICAJe0k0MEVfUFJUUUZf RkRfRkxYSU5TRVQoMCksIDYzLCAzMiwgMCwgMCwgIlBSVFFGX0ZEX0ZMWElOU0VUIn0sDQo+ICAJ e0k0MEVfUFJUUUZfQ1RMXzAsIDAsIDAsIDAsIDAsICJQUlRRRl9DVExfMCJ9LA0KPiArI2lmZGVm IFg3MjJfU1VQUE9SVA0KPiAgCXtJNDBFX0dMUUZfRkRfTVNLKDAsIDApLCAxLCA0LCA2MywgOCwg IkdMUUZfRkRfTVNLIn0sDQo+ICAJe0k0MEVfR0xRRl9IQVNIX0lOU0VUKDAsIDApLCAxLCA0LCA2 MywgOCwgIkdMUUZfSEFTSF9JTlNFVCJ9LA0KPiAgCXtJNDBFX0dMUUZfSEFTSF9NU0soMCwgMCks IDEsIDQsIDYzLCA4LCAiR0xRRl9IQVNIX01TSyJ9LA0KPiArI2VuZGlmDQo+ICAJe0k0MEVfR0xR Rl9TV0FQKDAsIDApLCAxLCA0LCA2MywgOCwgIkdMUUZfU1dBUCJ9LA0KPiAgCXtJNDBFX0dMRkNP RV9SQ1RMLCAwLCAwLCAwLCAwLCAiR0xGQ09FX1JDVEwifSwNCj4gIAl7STQwRV9HTFFGX0NUTCwg MCwgMCwgMCwgMCwgIkdMUUZfQ1RMIn0sDQo+IEBAIC03Miw2ICs3Niw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgaTQwZV9yZWdfaW5mbyBpNDBlX3JlZ3NfYWRtaW5xW10gPSB7DQo+IA0KPiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBpNDBlX3JlZ19pbmZvIGk0MGVfcmVnc19vdGhlcnNbXSA9IHsNCj4g IAl7STQwRV9RVFhfVEFJTDEoMCksIDE1LCA0LCAwLCAwLCAiUVRYX1RBSUwxIn0sDQo+ICsjaWZk ZWYgWDcyMl9TVVBQT1JUDQo+ICAJe0k0MEVfVkZQRV9DUVBEQigwKSwgMTI3LCA0LCAwLCAwLCAi VkZQRV9DUVBEQiJ9LA0KPiAgCXtJNDBFX1ZGUEVfQ1FQVEFJTCgwKSwgMTI3LCA0LCAwLCAwLCAi VkZQRV9DUVBUQUlMIn0sDQo+ICAJe0k0MEVfVkZQRV9DQ1FQU1RBVFVTKDApLCAxMjcsIDQsIDAs IDAsICJWRlBFX0NDUVBTVEFUVVMifSwNCj4gQEAgLTc5LDEyICs4NCwxNSBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGk0MGVfcmVnX2luZm8gaTQwZV9yZWdzX290aGVyc1tdID0gew0KPiAgCXtJNDBF X1ZGUEVfQ0NRUEhJR0goMCksIDEyNywgNCwgMCwgMCwgIlZGUEVfQ0NRUEhJR0gifSwNCj4gIAl7 STQwRV9WRlBFX0lQQ09ORklHMCgwKSwgMTI3LCA0LCAwLCAwLCAiVkZQRV9JUENPTkZJRzAifSwN Cj4gIAl7STQwRV9WRlBFX0NRUEVSUkNPREVTKDApLCAxMjcsIDQsIDAsIDAsICJWRlBFX0NRUEVS UkNPREVTIn0sDQo+ICsjZW5kaWYNCj4gIAl7STQwRV9RUlhfVEFJTDEoMCksIDE1LCA0LCAwLCAw LCAiUVJYX1RBSUwxIn0sDQo+ICAJe0k0MEVfVkZJTlRfSVRSTjEoMCwgMCksIDIsIDY0LCAxNSwg NCwgIlZGSU5UX0lUUk4xIn0sDQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJe0k0MEVfVkZQ RV9UQ1BOT1dUSU1FUigwKSwgMTI3LCA0LCAwLCAwLCAiVkZQRV9UQ1BOT1dUSU1FUiJ9LA0KPiAg CXtJNDBFX1ZGUEVfTVJURUlEWE1BU0soMCksIDEyNywgNCwgMCwgMCwgIlZGUEVfTVJURUlEWE1B U0sifSwNCj4gIAl7STQwRV9WRlBFX1JDVlVORVhQRUNURURFUlJPUigwKSwgMTI3LCA0LCAwLCAw LA0KPiAgCQkiVkZQRV9SQ1ZVTkVYUEVDVEVERVJST1IifSwNCj4gKyNlbmRpZg0KPiAgCXtJNDBF X1ZGSU5UX0RZTl9DVExOMSgwKSwgMTUsIDQsIDAsIDAsICJWRklOVF9EWU5fQ1RMTjEifSwNCj4g IAl7STQwRV9WRklOVF9JQ1IwMSwgMCwgMCwgMCwgMCwgIlZGSU5UX0lDUjAxIn0sDQo+ICAJe0k0 MEVfVkZJTlRfSVRSMDEoMCksIDIsIDQsIDAsIDAsICJWRklOVF9JVFIwMSJ9LA0KPiBAQCAtMTAw LDE5ICsxMDgsMjQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpNDBlX3JlZ19pbmZvIGk0MGVfcmVn c19vdGhlcnNbXSA9IHsNCj4gIAl7STQwRV9WRl9BVFFCQUgxLCAwLCAwLCAwLCAwLCAiVkZfQVRR QkFIMSJ9LA0KPiAgCXtJNDBFX1ZGX0FUUUJBTDEsIDAsIDAsIDAsIDAsICJWRl9BVFFCQUwxIn0s DQo+ICAJe0k0MEVfVkZfQVJRTEVOMSwgMCwgMCwgMCwgMCwgIlZGX0FSUUxFTjEifSwNCj4gKyNp ZmRlZiBYNzIyX1NVUFBPUlQNCj4gIAl7STQwRV9QRlBFX0NRUERCLCAwLCAwLCAwLCAwLCAiUEZQ RV9DUVBEQiJ9LA0KPiAgCXtJNDBFX1BGUEVfQ1FQVEFJTCwgMCwgMCwgMCwgMCwgIlBGUEVfQ1FQ VEFJTCJ9LA0KPiAgCXtJNDBFX1BGUEVfQ0NRUFNUQVRVUywgMCwgMCwgMCwgMCwgIlBGUEVfQ0NR UFNUQVRVUyJ9LA0KPiAgCXtJNDBFX1BGUEVfQ0NRUExPVywgMCwgMCwgMCwgMCwgIlBGUEVfQ0NR UExPVyJ9LA0KPiAgCXtJNDBFX1BGUEVfQ0NRUEhJR0gsIDAsIDAsIDAsIDAsICJQRlBFX0NDUVBI SUdIIn0sDQo+ICAJe0k0MEVfUEZQRV9JUENPTkZJRzAsIDAsIDAsIDAsIDAsICJQRlBFX0lQQ09O RklHMCJ9LA0KPiArI2VuZGlmDQo+ICAJe0k0MEVfVkZfQVRRVDEsIDAsIDAsIDAsIDAsICJWRl9B VFFUMSJ9LA0KPiArI2lmZGVmIFg3MjJfU1VQUE9SVA0KPiAgCXtJNDBFX1BGUEVfVENQTk9XVElN RVIsIDAsIDAsIDAsIDAsICJQRlBFX1RDUE5PV1RJTUVSIn0sDQo+ICAJe0k0MEVfUEZQRV9NUlRF SURYTUFTSywgMCwgMCwgMCwgMCwgIlBGUEVfTVJURUlEWE1BU0sifSwNCj4gIAl7STQwRV9QRlBF X1JDVlVORVhQRUNURURFUlJPUiwgMCwgMCwgMCwgMCwgIlBGUEVfUkNWVU5FWFBFQ1RFREVSUk9S In0sDQo+ICAJe0k0MEVfUEZQRV9VREFDVFJMLCAwLCAwLCAwLCAwLCAiUEZQRV9VREFDVFJMIn0s DQo+ICAJe0k0MEVfUEZQRV9VREFVQ0ZCUVBOLCAwLCAwLCAwLCAwLCAiUEZQRV9VREFVQ0ZCUVBO In0sDQo+ICsjZW5kaWYNCj4gIAl7STQwRV9WRkdFTl9SU1RBVCwgMCwgMCwgMCwgMCwgIlZGR0VO X1JTVEFUIn0sDQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJe0k0MEVfUEZQRV9DUVBFUlJD T0RFUywgMCwgMCwgMCwgMCwgIlBGUEVfQ1FQRVJSQ09ERVMifSwNCj4gIAl7STQwRV9QRlBFX0ZM TVhNSVRBTExPQ0VSUiwgMCwgMCwgMCwgMCwgIlBGUEVfRkxNWE1JVEFMTE9DRVJSIn0sDQo+ICAJ e0k0MEVfUEZQRV9GTE1RMUFMTE9DRVJSLCAwLCAwLCAwLCAwLCAiUEZQRV9GTE1RMUFMTE9DRVJS In0sDQo+IEBAIC0xMzQsNyArMTQ3LDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpNDBlX3JlZ19p bmZvIGk0MGVfcmVnc19vdGhlcnNbXSA9IHsNCj4gIAl7STQwRV9HTFBFX1ZGVURBVUNGQlFQTigw KSwgMzEsIDQsIDAsIDAsICJHTFBFX1ZGVURBVUNGQlFQTiJ9LA0KPiAgCXtJNDBFX0dMUEVfVkZG TE1YTUlUQUxMT0NFUlIoMCksIDMxLCA0LCAwLCAwLCAiR0xQRV9WRkZMTVhNSVRBTExPQ0VSUiJ9 LA0KPiAgCXtJNDBFX0dMUEVfVkZGTE1RMUFMTE9DRVJSKDApLCAzMSwgNCwgMCwgMCwgIkdMUEVf VkZGTE1RMUFMTE9DRVJSIn0sDQo+ICsjZW5kaWYNCj4gIAl7STQwRV9WRlFGX0hMVVQoMCksIDE1 LCA0LCAwLCAwLCAiVkZRRl9ITFVUIn0sDQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJe0k0 MEVfR0xQRV9DUFVTVEFUVVMwLCAwLCAwLCAwLCAwLCAiR0xQRV9DUFVTVEFUVVMwIn0sDQo+ICAJ e0k0MEVfR0xQRV9DUFVTVEFUVVMxLCAwLCAwLCAwLCAwLCAiR0xQRV9DUFVTVEFUVVMxIn0sDQo+ ICAJe0k0MEVfR0xQRV9DUFVTVEFUVVMyLCAwLCAwLCAwLCAwLCAiR0xQRV9DUFVTVEFUVVMyIn0s DQo+IEBAIC0xNTgsOCArMTczLDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTQwZV9yZWdfaW5m byBpNDBlX3JlZ3Nfb3RoZXJzW10gPSB7DQo+ICAJe0k0MEVfUFJUUEVfUlVQTV9DTlRSLCAwLCAw LCAwLCAwLCAiUFJUUEVfUlVQTV9DTlRSIn0sDQo+ICAJe0k0MEVfUFJUUEVfUlVQTV9QVFhUQ0NO VFIwMywgMCwgMCwgMCwgMCwgIlBSVFBFX1JVUE1fUFRYVENDTlRSMDMifSwNCj4gIAl7STQwRV9Q UlRQRV9SVVBNX1BUQ1RDQ05UUjQ3LCAwLCAwLCAwLCAwLCAiUFJUUEVfUlVQTV9QVENUQ0NOVFI0 NyJ9LA0KPiArI2VuZGlmDQo+ICAJe0k0MEVfVkZDTV9QRV9FUlJEQVRBLCAwLCAwLCAwLCAwLCAi VkZDTV9QRV9FUlJEQVRBIn0sDQo+ICAJe0k0MEVfUEZQQ0lfVkZfRkxVU0hfRE9ORSwgMCwgMCwg MCwgMCwgIlBGUENJX1ZGX0ZMVVNIX0RPTkUifSwNCj4gKyNpZmRlZiBYNzIyX1NVUFBPUlQNCj4g IAl7STQwRV9HTFBFU19QRlJYVkxBTkVSUigwKSwgMTUsIDQsIDAsIDAsICJHTFBFU19QRlJYVkxB TkVSUiJ9LA0KPiAgCXtJNDBFX0dMUEVTX1BGSVA0UlhPQ1RTTE8oMCksIDE1LCA4LCAwLCAwLCAi R0xQRVNfUEZJUDRSWE9DVFNMTyJ9LA0KPiAgCXtJNDBFX0dMUEVTX1BGSVA0UlhPQ1RTSEkoMCks IDE1LCA4LCAwLCAwLCAiR0xQRVNfUEZJUDRSWE9DVFNISSJ9LA0KPiBAQCAtMzMzLDYgKzM1MCw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTQwZV9yZWdfaW5mbyBpNDBlX3JlZ3Nfb3RoZXJzW10g PSB7DQo+ICAJe0k0MEVfUFJURENCX1RDTVNUQ19STFBNKDApLCA3LCAzMiwgMCwgMCwgIlBSVERD Ql9UQ01TVENfUkxQTSJ9LA0KPiAgCXtJNDBFX1BSVERDQl9STFBNQywgMCwgMCwgMCwgMCwgIlBS VERDQl9STFBNQyJ9LA0KPiAgCXtJNDBFX1BSVERDQl9UQ1BNQ19STFBNLCAwLCAwLCAwLCAwLCAi UFJURENCX1RDUE1DX1JMUE0ifSwNCj4gKyNlbmRpZg0KPiAgCXtJNDBFX1ZGSU5UX0lUUk4oMCwg MCksIDIsIDIwNDgsIDUxMSwgNCwgIlZGSU5UX0lUUk4ifSwNCj4gIAl7STQwRV9WRklOVF9EWU5f Q1RMTigwKSwgNTExLCA0LCAwLCAwLCAiVkZJTlRfRFlOX0NUTE4ifSwNCj4gIAl7STQwRV9WUElO VF9MTktMU1ROKDApLCA1MTEsIDQsIDAsIDAsICJWUElOVF9MTktMU1ROIn0sDQo+IEBAIC0zNzYs NyArMzk0LDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpNDBlX3JlZ19pbmZvIGk0MGVfcmVnc19v dGhlcnNbXSA9IHsNCj4gIAl7STQwRV9WUExBTl9RVEFCTEUoMCwgMCksIDE1LCAxMDI0LCAxMjcs IDQsICJWUExBTl9RVEFCTEUifSwNCj4gIAl7STQwRV9WUExBTl9NQVBFTkEoMCksIDEyNywgNCwg MCwgMCwgIlZQTEFOX01BUEVOQSJ9LA0KPiAgCXtJNDBFX1ZGR0VOX1JTVEFUMSgwKSwgMTI3LCA0 LCAwLCAwLCAiVkZHRU5fUlNUQVQxIn0sDQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJe0k0 MEVfVlBMQU5fUUJBU0UoMCksIDEyNywgNCwgMCwgMCwgIlZQTEFOX1FCQVNFIn0sDQo+ICsjZW5k aWYNCj4gIAl7STQwRV9QRl9BVFFCQUwsIDAsIDAsIDAsIDAsICJQRl9BVFFCQUwifSwNCj4gIAl7 STQwRV9HTF9BVFFCQUwsIDAsIDAsIDAsIDAsICJHTF9BVFFCQUwifSwNCj4gIAl7STQwRV9QRl9B UlFCQUwsIDAsIDAsIDAsIDAsICJQRl9BUlFCQUwifSwNCj4gQEAgLTQxMSw4ICs0MzEsMTAgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBpNDBlX3JlZ19pbmZvIGk0MGVfcmVnc19vdGhlcnNbXSA9IHsN Cj4gIAl7STQwRV9HTERDQl9HRU5DLCAwLCAwLCAwLCAwLCAiR0xEQ0JfR0VOQyJ9LA0KPiAgCXtJ NDBFX0dMX0ZXU1RTLCAwLCAwLCAwLCAwLCAiR0xfRldTVFMifSwNCj4gIAl7STQwRV9HTF9GV1JF U0VUQ05ULCAwLCAwLCAwLCAwLCAiR0xfRldSRVNFVENOVCJ9LA0KPiArI2lmZGVmIFg3MjJfU1VQ UE9SVA0KPiAgCXtJNDBFX0dMX1ZGX0NUUkxfVFgoMCksIDEyNywgNCwgMCwgMCwgIkdMX1ZGX0NU UkxfVFgifSwNCj4gIAl7STQwRV9HTF9WRl9DVFJMX1JYKDApLCAxMjcsIDQsIDAsIDAsICJHTF9W Rl9DVFJMX1JYIn0sDQo+ICsjZW5kaWYNCj4gIAl7STQwRV9QUlRUU1lOX0NUTDEsIDAsIDAsIDAs IDAsICJQUlRUU1lOX0NUTDEifSwNCj4gIAl7STQwRV9QUlRUU1lOX1JYVElNRV9IKDApLCAzLCAz MiwgMCwgMCwgIlBSVFRTWU5fUlhUSU1FX0gifSwNCj4gIAl7STQwRV9QUlRUU1lOX1JYVElNRV9M KDApLCAzLCAzMiwgMCwgMCwgIlBSVFRTWU5fUlhUSU1FX0wifSwNCj4gQEAgLTQyMCwxMCArNDQy LDE0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTQwZV9yZWdfaW5mbyBpNDBlX3JlZ3Nfb3RoZXJz W10gPSB7DQo+ICAJe0k0MEVfUFJUX01OR19GVEZUX01BU0soMCksIDcsIDMyLCAwLCAwLCAiUFJU X01OR19GVEZUX01BU0sifSwNCj4gIAl7STQwRV9QUlRfTU5HX0ZURlRfTEVOR1RILCAwLCAwLCAw LCAwLCAiUFJUX01OR19GVEZUX0xFTkdUSCJ9LA0KPiAgCXtJNDBFX1BSVF9NTkdfRlRGVF9EQVRB KDApLCAzMSwgMzIsIDAsIDAsICJQUlRfTU5HX0ZURlRfREFUQSJ9LA0KPiArI2lmZGVmIFg3MjJf U1VQUE9SVA0KPiAgCXtJNDBFX0dMX1BQUlNfU1BBUkUsIDAsIDAsIDAsIDAsICJHTF9QUFJTX1NQ QVJFIn0sDQo+ICsjZW5kaWYNCj4gIAl7STQwRV9QRkdFTl9TVEFURSwgMCwgMCwgMCwgMCwgIlBG R0VOX1NUQVRFIn0sDQo+ICAJe0k0MEVfUEZJTlRfR1BJT19FTkEsIDAsIDAsIDAsIDAsICJQRklO VF9HUElPX0VOQSJ9LA0KPiArI2lmZGVmIFg3MjJfU1VQUE9SVA0KPiAgCXtJNDBFX0dMR0VOX01J U0NfU1BBUkUsIDAsIDAsIDAsIDAsICJHTEdFTl9NSVNDX1NQQVJFIn0sDQo+ICsjZW5kaWYNCj4g IAl7STQwRV9HTEdFTl9HUElPX0NUTCgwKSwgMjksIDQsIDAsIDAsICJHTEdFTl9HUElPX0NUTCJ9 LA0KPiAgCXtJNDBFX0dMR0VOX0xFRF9DVEwsIDAsIDAsIDAsIDAsICJHTEdFTl9MRURfQ1RMIn0s DQo+ICAJe0k0MEVfR0xHRU5fR1BJT19TVEFULCAwLCAwLCAwLCAwLCAiR0xHRU5fR1BJT19TVEFU In0sDQo+IEBAIC00NzAsNiArNDk2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpNDBlX3JlZ19p bmZvIGk0MGVfcmVnc19vdGhlcnNbXSA9IHsNCj4gIAl7STQwRV9HTFBDSV9QTV9NVVhfTlBRLCAw LCAwLCAwLCAwLCAiR0xQQ0lfUE1fTVVYX05QUSJ9LA0KPiAgCXtJNDBFX0dMUENJX1NQQVJFX0JJ VFNfMCwgMCwgMCwgMCwgMCwgIkdMUENJX1NQQVJFX0JJVFNfMCJ9LA0KPiAgCXtJNDBFX0dMUENJ X1NQQVJFX0JJVFNfMSwgMCwgMCwgMCwgMCwgIkdMUENJX1NQQVJFX0JJVFNfMSJ9LA0KPiArI2lm ZGVmIFg3MjJfU1VQUE9SVA0KPiAgCXtJNDBFX0dMUENJX0NVUl9STEFOX0FMV0QsIDAsIDAsIDAs IDAsICJHTFBDSV9DVVJfUkxBTl9BTFdEIn0sDQo+ICAJe0k0MEVfR0xQQ0lfQ1VSX1RMQU5fQUxX RCwgMCwgMCwgMCwgMCwgIkdMUENJX0NVUl9UTEFOX0FMV0QifSwNCj4gIAl7STQwRV9HTFBDSV9D VVJfUlhQRV9BTFdELCAwLCAwLCAwLCAwLCAiR0xQQ0lfQ1VSX1JYUEVfQUxXRCJ9LA0KPiBAQCAt NDg0LDkgKzUxMSwxMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk0MGVfcmVnX2luZm8gaTQwZV9y ZWdzX290aGVyc1tdID0gew0KPiAgCXtJNDBFX0dMUENJX0NVUl9QTUFUX1JTVkQsIDAsIDAsIDAs IDAsICJHTFBDSV9DVVJfUE1BVF9SU1ZEIn0sDQo+ICAJe0k0MEVfR0xQQ0lfQ1VSX01OR19SU1ZE LCAwLCAwLCAwLCAwLCAiR0xQQ0lfQ1VSX01OR19SU1ZEIn0sDQo+ICAJe0k0MEVfR0xQQ0lfQ1VS X1REUFVfUlNWRCwgMCwgMCwgMCwgMCwgIkdMUENJX0NVUl9URFBVX1JTVkQifSwNCj4gKyNlbmRp Zg0KPiAgCXtJNDBFX1BGUENJX1ZGX0ZMVVNIX0RPTkUxKDApLCAxMjcsIDQsIDAsIDAsICJQRlBD SV9WRl9GTFVTSF9ET05FMSJ9LA0KPiAgCXtJNDBFX1BGUENJX1BGX0ZMVVNIX0RPTkUsIDAsIDAs IDAsIDAsICJQRlBDSV9QRl9GTFVTSF9ET05FIn0sDQo+ICAJe0k0MEVfUEZQQ0lfVk1fRkxVU0hf RE9ORSwgMCwgMCwgMCwgMCwgIlBGUENJX1ZNX0ZMVVNIX0RPTkUifSwNCj4gKyNpZmRlZiBYNzIy X1NVUFBPUlQNCj4gIAl7STQwRV9HTFBDSV9OUFFfQ0ZHLCAwLCAwLCAwLCAwLCAiR0xQQ0lfTlBR X0NGRyJ9LA0KPiAgCXtJNDBFX0dMUENJX0NVUl9DTE5UX0NPTU1PTiwgMCwgMCwgMCwgMCwgIkdM UENJX0NVUl9DTE5UX0NPTU1PTiJ9LA0KPiAgCXtJNDBFX0dMUENJX0NVUl9DTE5UX1BJUEVNT04s IDAsIDAsIDAsIDAsICJHTFBDSV9DVVJfQ0xOVF9QSVBFTU9OIn0sDQo+IEBAIC01MDEsMTUgKzUz MCwyMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk0MGVfcmVnX2luZm8gaTQwZV9yZWdzX290aGVy c1tdID0gew0KPiAgCXtJNDBFX0dMUENJX1dBVE1LX1BNQVRfQUxXRCwgMCwgMCwgMCwgMCwgIkdM UENJX1dBVE1LX1BNQVRfQUxXRCJ9LA0KPiAgCXtJNDBFX0dMUENJX1dBVE1LX01OR19BTFdELCAw LCAwLCAwLCAwLCAiR0xQQ0lfV0FUTUtfTU5HX0FMV0QifSwNCj4gIAl7STQwRV9HTFBDSV9XQVRN S19UUERVX0FMV0QsIDAsIDAsIDAsIDAsICJHTFBDSV9XQVRNS19UUERVX0FMV0QifSwNCj4gKyNl bmRpZg0KPiAgCXtJNDBFX1BSVERDQl9UQ01TVEMoMCksIDcsIDMyLCAwLCAwLCAiUFJURENCX1RD TVNUQyJ9LA0KPiArI2lmZGVmIFg3MjJfU1VQUE9SVA0KPiAgCXtJNDBFX1BSVERDQl9URk1TVEMo MCksIDcsIDMyLCAwLCAwLCAiUFJURENCX1RGTVNUQyJ9LA0KPiArI2VuZGlmDQo+ICAJe0k0MEVf UFJURENCX1REUE1DLCAwLCAwLCAwLCAwLCAiUFJURENCX1REUE1DIn0sDQo+ICAJe0k0MEVfUFJU RENCX1RDV1NUQygwKSwgNywgMzIsIDAsIDAsICJQUlREQ0JfVENXU1RDIn0sDQo+ICAJe0k0MEVf UFJURENCX1RDUE1DLCAwLCAwLCAwLCAwLCAiUFJURENCX1RDUE1DIn0sDQo+ICsjaWZkZWYgWDcy Ml9TVVBQT1JUDQo+ICAJe0k0MEVfR0xfVFVQTV9TUEFSRSwgMCwgMCwgMCwgMCwgIkdMX1RVUE1f U1BBUkUifSwNCj4gIAl7STQwRV9HTFBFT0NfQ0FDSEVTSVpFLCAwLCAwLCAwLCAwLCAiR0xQRU9D X0NBQ0hFU0laRSJ9LA0KPiAgCXtJNDBFX0dMUEJMT0NfQ0FDSEVTSVpFLCAwLCAwLCAwLCAwLCAi R0xQQkxPQ19DQUNIRVNJWkUifSwNCj4gIAl7STQwRV9HTEZPQ19DQUNIRVNJWkUsIDAsIDAsIDAs IDAsICJHTEZPQ19DQUNIRVNJWkUifSwNCj4gKyNlbmRpZg0KPiAgCXtJNDBFX1BSVFJQQl9ESFco MCksIDcsIDMyLCAwLCAwLCAiUFJUUlBCX0RIVyJ9LA0KPiAgCXtJNDBFX1BSVFJQQl9ETFcoMCks IDcsIDMyLCAwLCAwLCAiUFJUUlBCX0RMVyJ9LA0KPiAgCXtJNDBFX1BSVFJQQl9EUFMoMCksIDcs IDMyLCAwLCAwLCAiUFJUUlBCX0RQUyJ9LA0KPiBAQCAtNTM2LDYgKzU3MCw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgaTQwZV9yZWdfaW5mbyBpNDBlX3JlZ3Nfb3RoZXJzW10gPSB7DQo+ICAJe0k0 MEVfR0xHRU5fU1RBVCwgMCwgMCwgMCwgMCwgIkdMR0VOX1NUQVQifSwNCj4gIAl7STQwRV9HTF9N TkdfSFdBUkJfQ1RSTCwgMCwgMCwgMCwgMCwgIkdMX01OR19IV0FSQl9DVFJMIn0sDQo+ICAJe0k0 MEVfR0xfTU5HX0ZXU00sIDAsIDAsIDAsIDAsICJHTF9NTkdfRldTTSJ9LA0KPiArI2lmZGVmIFg3 MjJfU1VQUE9SVA0KPiAgCXtJNDBFX0dMTlZNX0FMVElNRVJTLCAwLCAwLCAwLCAwLCAiR0xOVk1f QUxUSU1FUlMifSwNCj4gIAl7STQwRV9HTE5WTV9VTFQsIDAsIDAsIDAsIDAsICJHTE5WTV9VTFQi fSwNCj4gIAl7STQwRV9NRU1fSU5JVF9ET05FX1NUQVQsIDAsIDAsIDAsIDAsICJNRU1fSU5JVF9E T05FX1NUQVQifSwNCj4gQEAgLTU1Myw2ICs1ODgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk0 MGVfcmVnX2luZm8gaTQwZV9yZWdzX290aGVyc1tdID0gew0KPiAgCXtJNDBFX01OR1NCX1dEQVRB LCAwLCAwLCAwLCAwLCAiTU5HU0JfV0RBVEEifSwNCj4gIAl7STQwRV9NTkdTQl9SSERSMCwgMCwg MCwgMCwgMCwgIk1OR1NCX1JIRFIwIn0sDQo+ICAJe0k0MEVfTU5HU0JfUkRBVEEsIDAsIDAsIDAs IDAsICJNTkdTQl9SREFUQSJ9LA0KPiArI2VuZGlmDQo+ICAJe0k0MEVfUEZQTV9BUE0sIDAsIDAs IDAsIDAsICJQRlBNX0FQTSJ9LA0KPiAgCXtJNDBFX1BSVEdFTl9TVEFUVVMsIDAsIDAsIDAsIDAs ICJQUlRHRU5fU1RBVFVTIn0sDQo+ICAJe0k0MEVfUFJUR0VOX0NORiwgMCwgMCwgMCwgMCwgIlBS VEdFTl9DTkYifSwNCj4gQEAgLTU2Miw4ICs1OTgsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBp NDBlX3JlZ19pbmZvIGk0MGVfcmVnc19vdGhlcnNbXSA9IHsNCj4gIAl7STQwRV9HTEdFTl9DTEtT VEFULCAwLCAwLCAwLCAwLCAiR0xHRU5fQ0xLU1RBVCJ9LA0KPiAgCXtJNDBFX0dMR0VOX1JTVEFU LCAwLCAwLCAwLCAwLCAiR0xHRU5fUlNUQVQifSwNCj4gIAl7STQwRV9HTEdFTl9SVFJJRywgMCwg MCwgMCwgMCwgIkdMR0VOX1JUUklHIn0sDQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJe0k0 MEVfR0xHRU5fUE1FX1RPLCAwLCAwLCAwLCAwLCAiR0xHRU5fUE1FX1RPIn0sDQo+ICAJe0k0MEVf R0xHRU5fQ0FSX0RFQlVHLCAwLCAwLCAwLCAwLCAiR0xHRU5fQ0FSX0RFQlVHIn0sDQo+ICsjZW5k aWYNCj4gIAl7STQwRV9QRlBDSV9DTkYsIDAsIDAsIDAsIDAsICJQRlBDSV9DTkYifSwNCj4gIAl7 STQwRV9QRlBDSV9ERVZJRCwgMCwgMCwgMCwgMCwgIlBGUENJX0RFVklEIn0sDQo+ICAJe0k0MEVf UEZQQ0lfU1VCU1lTSUQsIDAsIDAsIDAsIDAsICJQRlBDSV9TVUJTWVNJRCJ9LA0KPiBAQCAtNTg5 LDcgKzYyNyw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTQwZV9yZWdfaW5mbyBpNDBlX3JlZ3Nf b3RoZXJzW10gPSB7DQo+ICAJe0k0MEVfR0xQQ0lfVVBBREQsIDAsIDAsIDAsIDAsICJHTFBDSV9V UEFERCJ9LA0KPiAgCXtJNDBFX0dMUENJX1BDSUVSUiwgMCwgMCwgMCwgMCwgIkdMUENJX1BDSUVS UiJ9LA0KPiAgCXtJNDBFX0dMUENJX1ZFTkRPUklELCAwLCAwLCAwLCAwLCAiR0xQQ0lfVkVORE9S SUQifSwNCj4gKyNpZmRlZiBYNzIyX1NVUFBPUlQNCj4gIAl7STQwRV9HTF9VRlVTRV9TT0MsIDAs IDAsIDAsIDAsICJHTF9VRlVTRV9TT0MifSwNCj4gKyNlbmRpZg0KPiAgCXtJNDBFX1BGSE1DX1NE Q01ELCAwLCAwLCAwLCAwLCAiUEZITUNfU0RDTUQifSwNCj4gIAl7STQwRV9QRkhNQ19TRERBVEFM T1csIDAsIDAsIDAsIDAsICJQRkhNQ19TRERBVEFMT1cifSwNCj4gIAl7STQwRV9QRkhNQ19TRERB VEFISUdILCAwLCAwLCAwLCAwLCAiUEZITUNfU0REQVRBSElHSCJ9LA0KPiBAQCAtNTk3LDcgKzYz Nyw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTQwZV9yZWdfaW5mbyBpNDBlX3JlZ3Nfb3RoZXJz W10gPSB7DQo+ICAJe0k0MEVfUEZITUNfRVJST1JJTkZPLCAwLCAwLCAwLCAwLCAiUEZITUNfRVJS T1JJTkZPIn0sDQo+ICAJe0k0MEVfUEZITUNfRVJST1JEQVRBLCAwLCAwLCAwLCAwLCAiUEZITUNf RVJST1JEQVRBIn0sDQo+ICAJe0k0MEVfR0xITUNfU0RQQVJUKDApLCAxNSwgNCwgMCwgMCwgIkdM SE1DX1NEUEFSVCJ9LA0KPiArI2lmZGVmIFg3MjJfU1VQUE9SVA0KPiAgCXtJNDBFX0dMSE1DX1BG UEVTRFBBUlQoMCksIDE1LCA0LCAwLCAwLCAiR0xITUNfUEZQRVNEUEFSVCJ9LA0KPiArI2VuZGlm DQo+ICAJe0k0MEVfR0xITUNfUEZBU1NJR04oMCksIDE1LCA0LCAwLCAwLCAiR0xITUNfUEZBU1NJ R04ifSwNCj4gIAl7STQwRV9HTEhNQ19MQU5UWE9CSlNaLCAwLCAwLCAwLCAwLCAiR0xITUNfTEFO VFhPQkpTWiJ9LA0KPiAgCXtJNDBFX0dMSE1DX0xBTlFNQVgsIDAsIDAsIDAsIDAsICJHTEhNQ19M QU5RTUFYIn0sDQo+IEBAIC02MDUsNiArNjQ3LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpNDBl X3JlZ19pbmZvIGk0MGVfcmVnc19vdGhlcnNbXSA9IHsNCj4gIAl7STQwRV9HTEhNQ19GQ09FRERQ T0JKU1osIDAsIDAsIDAsIDAsICJHTEhNQ19GQ09FRERQT0JKU1oifSwNCj4gIAl7STQwRV9HTEhN Q19GQ09FTUFYLCAwLCAwLCAwLCAwLCAiR0xITUNfRkNPRU1BWCJ9LA0KPiAgCXtJNDBFX0dMSE1D X0ZDT0VGT0JKU1osIDAsIDAsIDAsIDAsICJHTEhNQ19GQ09FRk9CSlNaIn0sDQo+ICsjaWZkZWYg WDcyMl9TVVBQT1JUDQo+ICAJe0k0MEVfR0xITUNfUEVRUE9CSlNaLCAwLCAwLCAwLCAwLCAiR0xI TUNfUEVRUE9CSlNaIn0sDQo+ICAJe0k0MEVfR0xITUNfUEVDUU9CSlNaLCAwLCAwLCAwLCAwLCAi R0xITUNfUEVDUU9CSlNaIn0sDQo+ICAJe0k0MEVfR0xITUNfUEVTUlFPQkpTWiwgMCwgMCwgMCwg MCwgIkdMSE1DX1BFU1JRT0JKU1oifSwNCj4gQEAgLTYyMSwxMCArNjY0LDEyIEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgaTQwZV9yZWdfaW5mbyBpNDBlX3JlZ3Nfb3RoZXJzW10gPSB7DQo+ICAJe0k0 MEVfR0xITUNfUEVRMU9CSlNaLCAwLCAwLCAwLCAwLCAiR0xITUNfUEVRMU9CSlNaIn0sDQo+ICAJ e0k0MEVfR0xITUNfUEVRMU1BWCwgMCwgMCwgMCwgMCwgIkdMSE1DX1BFUTFNQVgifSwNCj4gIAl7 STQwRV9HTEhNQ19QRVExRkxNQVgsIDAsIDAsIDAsIDAsICJHTEhNQ19QRVExRkxNQVgifSwNCj4g KyNlbmRpZg0KPiAgCXtJNDBFX0dMSE1DX0ZTSU1DT0JKU1osIDAsIDAsIDAsIDAsICJHTEhNQ19G U0lNQ09CSlNaIn0sDQo+ICAJe0k0MEVfR0xITUNfRlNJTUNNQVgsIDAsIDAsIDAsIDAsICJHTEhN Q19GU0lNQ01BWCJ9LA0KPiAgCXtJNDBFX0dMSE1DX0ZTSUFWT0JKU1osIDAsIDAsIDAsIDAsICJH TEhNQ19GU0lBVk9CSlNaIn0sDQo+ICAJe0k0MEVfR0xITUNfRlNJQVZNQVgsIDAsIDAsIDAsIDAs ICJHTEhNQ19GU0lBVk1BWCJ9LA0KPiArI2lmZGVmIFg3MjJfU1VQUE9SVA0KPiAgCXtJNDBFX0dM SE1DX1BFUEJMTUFYLCAwLCAwLCAwLCAwLCAiR0xITUNfUEVQQkxNQVgifSwNCj4gIAl7STQwRV9H TEhNQ19QRVRJTUVST0JKU1osIDAsIDAsIDAsIDAsICJHTEhNQ19QRVRJTUVST0JKU1oifSwNCj4g IAl7STQwRV9HTEhNQ19QRVRJTUVSTUFYLCAwLCAwLCAwLCAwLCAiR0xITUNfUEVUSU1FUk1BWCJ9 LA0KPiBAQCAtNjk1LDExICs3NDAsMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpNDBlX3JlZ19p bmZvIGk0MGVfcmVnc19vdGhlcnNbXSA9IHsNCj4gIAl7STQwRV9HTEhNQ19WRlBFVElNRVJCQVNF KDApLCAzMSwgNCwgMCwgMCwgIkdMSE1DX1ZGUEVUSU1FUkJBU0UifSwNCj4gIAl7STQwRV9HTEhN Q19WRlBFVElNRVJDTlQoMCksIDMxLCA0LCAwLCAwLCAiR0xITUNfVkZQRVRJTUVSQ05UIn0sDQo+ ICAJe0k0MEVfR0xQRE9DX0NBQ0hFU0laRSwgMCwgMCwgMCwgMCwgIkdMUERPQ19DQUNIRVNJWkUi fSwNCj4gKyNlbmRpZg0KPiAgCXtJNDBFX1FUWF9IRUFEKDApLCAxNTM1LCA0LCAwLCAwLCAiUVRY X0hFQUQifSwNCj4gIAl7STQwRV9WUF9NREVUX1RYKDApLCAxMjcsIDQsIDAsIDAsICJWUF9NREVU X1RYIn0sDQo+ICAJe0k0MEVfUEZfTURFVF9UWCwgMCwgMCwgMCwgMCwgIlBGX01ERVRfVFgifSwN Cj4gIAl7STQwRV9HTF9NREVUX1RYLCAwLCAwLCAwLCAwLCAiR0xfTURFVF9UWCJ9LA0KPiArI2lm ZGVmIFg3MjJfU1VQUE9SVA0KPiAgCXtJNDBFX0dMX1RMQU5fU1BBUkUsIDAsIDAsIDAsIDAsICJH TF9UTEFOX1NQQVJFIn0sDQo+ICsjZW5kaWYNCj4gIAl7STQwRV9HTExBTl9UWFBSRV9RRElTKDAp LCAxMSwgNCwgMCwgMCwgIkdMTEFOX1RYUFJFX1FESVMifSwNCj4gIAl7STQwRV9RVFhfRU5BKDAp LCAxNTM1LCA0LCAwLCAwLCAiUVRYX0VOQSJ9LA0KPiAgCXtJNDBFX1FUWF9DVEwoMCksIDE1MzUs IDQsIDAsIDAsICJRVFhfQ1RMIn0sDQo+IEBAIC03MDksNyArNzU3LDkgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBpNDBlX3JlZ19pbmZvIGk0MGVfcmVnc19vdGhlcnNbXSA9IHsNCj4gIAl7STQwRV9Q RkNNX0xBTkNUWERBVEEoMCksIDMsIDEyOCwgMCwgMCwgIlBGQ01fTEFOQ1RYREFUQSJ9LA0KPiAg CXtJNDBFX1BGQ01fTEFOQ1RYQ1RMLCAwLCAwLCAwLCAwLCAiUEZDTV9MQU5DVFhDVEwifSwNCj4g IAl7STQwRV9QRkNNX0xBTkNUWFNUQVQsIDAsIDAsIDAsIDAsICJQRkNNX0xBTkNUWFNUQVQifSwN Cj4gKyNpZmRlZiBYNzIyX1NVUFBPUlQNCj4gIAl7STQwRV9HTENNX0xBTl9DQUNIRVNJWkUsIDAs IDAsIDAsIDAsICJHTENNX0xBTl9DQUNIRVNJWkUifSwNCj4gKyNlbmRpZg0KPiAgCXtJNDBFX1FS WF9FTkEoMCksIDE1MzUsIDQsIDAsIDAsICJRUlhfRU5BIn0sDQo+ICAJe0k0MEVfUFJURENCX1JF VFNUQ0MoMCksIDcsIDMyLCAwLCAwLCAiUFJURENCX1JFVFNUQ0MifSwNCj4gIAl7STQwRV9QUlRE Q0JfUlBQTUMsIDAsIDAsIDAsIDAsICJQUlREQ0JfUlBQTUMifSwNCj4gQEAgLTcyMSw2ICs3NzEs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk0MGVfcmVnX2luZm8gaTQwZV9yZWdzX290aGVyc1td ID0gew0KPiAgCXtJNDBFX1BGX01ERVRfUlgsIDAsIDAsIDAsIDAsICJQRl9NREVUX1JYIn0sDQo+ ICAJe0k0MEVfR0xMQU5fUkNUTF8wLCAwLCAwLCAwLCAwLCAiR0xMQU5fUkNUTF8wIn0sDQo+ICAJ e0k0MEVfR0xfTURFVF9SWCwgMCwgMCwgMCwgMCwgIkdMX01ERVRfUlgifSwNCj4gKyNpZmRlZiBY NzIyX1NVUFBPUlQNCj4gIAl7STQwRV9WRlBFX0NRQVJNKDApLCAxMjcsIDQsIDAsIDAsICJWRlBF X0NRQVJNIn0sDQo+ICAJe0k0MEVfVkZQRV9DUUFDSygwKSwgMTI3LCA0LCAwLCAwLCAiVkZQRV9D UUFDSyJ9LA0KPiAgCXtJNDBFX1ZGUEVfQUVRQUxMT0MoMCksIDEyNywgNCwgMCwgMCwgIlZGUEVf QUVRQUxMT0MifSwNCj4gQEAgLTczOCwxNCArNzg5LDE3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg aTQwZV9yZWdfaW5mbyBpNDBlX3JlZ3Nfb3RoZXJzW10gPSB7DQo+ICAJe0k0MEVfR0xQRV9WRkNF UUVEUk9QQ05UKDApLCAzMSwgNCwgMCwgMCwgIkdMUEVfVkZDRVFFRFJPUENOVCJ9LA0KPiAgCXtJ NDBFX0dMUEVfVkZBRVFFRFJPUENOVCgwKSwgMzEsIDQsIDAsIDAsICJHTFBFX1ZGQUVRRURST1BD TlQifSwNCj4gIAl7STQwRV9WRlBFX1dRRUFMTE9DKDApLCAxMjcsIDQsIDAsIDAsICJWRlBFX1dR RUFMTE9DIn0sDQo+ICsjZW5kaWYNCj4gIAl7STQwRV9WRkNNX1BFX0VSUklORk8xKDApLCAxMjcs IDQsIDAsIDAsICJWRkNNX1BFX0VSUklORk8xIn0sDQo+ICAJe0k0MEVfVkZDTV9QRV9FUlJEQVRB MSgwKSwgMTI3LCA0LCAwLCAwLCAiVkZDTV9QRV9FUlJEQVRBMSJ9LA0KPiArI2lmZGVmIFg3MjJf U1VQUE9SVA0KPiAgCXtJNDBFX1BGUEVfV1FFQUxMT0MsIDAsIDAsIDAsIDAsICJQRlBFX1dRRUFM TE9DIn0sDQo+ICAJe0k0MEVfUEZDTV9QRV9FUlJJTkZPLCAwLCAwLCAwLCAwLCAiUEZDTV9QRV9F UlJJTkZPIn0sDQo+ICAJe0k0MEVfUEZDTV9QRV9FUlJEQVRBLCAwLCAwLCAwLCAwLCAiUEZDTV9Q RV9FUlJEQVRBIn0sDQo+ICAJe0k0MEVfR0xITUNfREJRUFBBUlQoMCksIDE1LCA0LCAwLCAwLCAi R0xITUNfREJRUFBBUlQifSwNCj4gIAl7STQwRV9HTEhNQ19WRkRCUVBQQVJUKDApLCAzMSwgNCwg MCwgMCwgIkdMSE1DX1ZGREJRUFBBUlQifSwNCj4gIAl7STQwRV9HTENNX1BFX0NBQ0hFU0laRSwg MCwgMCwgMCwgMCwgIkdMQ01fUEVfQ0FDSEVTSVpFIn0sDQo+ICsjZW5kaWYNCj4gIAl7STQwRV9Q RkdFTl9QT1JUTlVNLCAwLCAwLCAwLCAwLCAiUEZHRU5fUE9SVE5VTSJ9LA0KPiAgCXtJNDBFX1BG X1ZUX1BGQUxMT0MsIDAsIDAsIDAsIDAsICJQRl9WVF9QRkFMTE9DIn0sDQo+ICAJe0k0MEVfUFJU RENCX1RDMlBGQywgMCwgMCwgMCwgMCwgIlBSVERDQl9UQzJQRkMifSwNCj4gQEAgLTc1Niw4ICs4 MTAsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpNDBlX3JlZ19pbmZvIGk0MGVfcmVnc19vdGhl cnNbXSA9IHsNCj4gIAl7STQwRV9QUlRHTF9TQUwsIDAsIDAsIDAsIDAsICJQUlRHTF9TQUwifSwN Cj4gIAl7STQwRV9QUlRHTF9TQUgsIDAsIDAsIDAsIDAsICJQUlRHTF9TQUgifSwNCj4gIAl7STQw RV9QUlREQ0JfTUZMQ04sIDAsIDAsIDAsIDAsICJQUlREQ0JfTUZMQ04ifSwNCj4gKyNpZmRlZiBY NzIyX1NVUFBPUlQNCj4gIAl7STQwRV9QUlRNQUNfTElOS19ET1dOX0NPVU5URVIsIDAsIDAsIDAs IDAsDQo+ICAJCSJQUlRNQUNfTElOS19ET1dOX0NPVU5URVIifSwNCj4gKyNlbmRpZg0KPiAgCXtJ NDBFX1BSVE1BQ19IU0VDX0NUTF9SWF9QQVVTRV9FTkFCTEUsIDAsIDAsIDAsIDAsDQo+ICAJCSJQ UlRNQUNfSFNFQ19DVExfUlhfUEFVU0VfRU5BQkxFIn0sDQo+ICAJe0k0MEVfUFJUTUFDX0hTRUNf Q1RMX1RYX1BBVVNFX0VOQUJMRSwgMCwgMCwgMCwgMCwNCj4gQEAgLTgxNywxMiArODczLDE2IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTQwZV9yZWdfaW5mbyBpNDBlX3JlZ3Nfb3RoZXJzW10gPSB7 DQo+ICAJe0k0MEVfUFJURENCX0ZDQ0ZHLCAwLCAwLCAwLCAwLCAiUFJURENCX0ZDQ0ZHIn0sDQo+ ICAJe0k0MEVfUFJURENCX1RQRkNUUygwKSwgNywgMzIsIDAsIDAsICJQUlREQ0JfVFBGQ1RTIn0s DQo+ICAJe0k0MEVfVkZRRl9ITFVUMSgwLCAwKSwgMTUsIDEwMjQsIDEyNywgNCwgIlZGUUZfSExV VDEifSwNCj4gKyNpZmRlZiBYNzIyX1NVUFBPUlQNCj4gIAl7STQwRV9WU0lRRl9ITFVUKDAsIDAp LCAxNSwgMjA0OCwgMzgzLCA0LCAiVlNJUUZfSExVVCJ9LA0KPiArI2VuZGlmDQo+ICAJe0k0MEVf VkZRRl9IS0VZMSgwLCAwKSwgMTIsIDEwMjQsIDEyNywgNCwgIlZGUUZfSEtFWTEifSwNCj4gIAl7 STQwRV9WRlFGX0hSRUdJT04xKDAsIDApLCA3LCAxMDI0LCAxMjcsIDQsICJWRlFGX0hSRUdJT04x In0sDQo+ICAJe0k0MEVfVkZRRl9IRU5BMSgwLCAwKSwgMSwgMTAyNCwgMTI3LCA0LCAiVkZRRl9I RU5BMSJ9LA0KPiAgCXtJNDBFX1BGUUZfSExVVCgwKSwgMTI3LCAxMjgsIDAsIDAsICJQRlFGX0hM VVQifSwNCj4gKyNpZmRlZiBYNzIyX1NVUFBPUlQNCj4gIAl7STQwRV9YNzIyX1BGUUZfSExVVCgw KSwgMTI3LCAxMjgsIDAsIDAsICJYNzIyX1BGUUZfSExVVCJ9LA0KPiArI2VuZGlmDQo+ICAJe0k0 MEVfUEZRRl9DVExfMSwgMCwgMCwgMCwgMCwgIlBGUUZfQ1RMXzEifSwNCj4gIAl7STQwRV9QRlFG X0ZEU1RBVCwgMCwgMCwgMCwgMCwgIlBGUUZfRkRTVEFUIn0sDQo+ICAJe0k0MEVfUFJUX01OR19N SVBBRjYoMCksIDE1LCAzMiwgMCwgMCwgIlBSVF9NTkdfTUlQQUY2In0sDQo+IEBAIC04MzksMjEg Kzg5OSwyNSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk0MGVfcmVnX2luZm8gaTQwZV9yZWdzX290 aGVyc1tdID0gew0KPiAgCXtJNDBFX1BSVF9NTkdfTUFOQywgMCwgMCwgMCwgMCwgIlBSVF9NTkdf TUFOQyJ9LA0KPiAgCXtJNDBFX1BSVF9NTkdfTU5HT05MWSwgMCwgMCwgMCwgMCwgIlBSVF9NTkdf TU5HT05MWSJ9LA0KPiAgCXtJNDBFX1BSVF9NTkdfTVNGTSwgMCwgMCwgMCwgMCwgIlBSVF9NTkdf TVNGTSJ9LA0KPiArI2lmZGVmIFg3MjJfU1VQUE9SVA0KPiAgCXtJNDBFX0dMUUZfQVBCVlQoMCks IDIwNDcsIDQsIDAsIDAsICJHTFFGX0FQQlZUIn0sDQo+ICAJe0k0MEVfR0xRRl9QQ05UKDApLCA1 MTEsIDQsIDAsIDAsICJHTFFGX1BDTlQifSwNCj4gIAl7STQwRV9HTFFGX0ZEX1BDVFlQRVMoMCks IDYzLCA0LCAwLCAwLCAiR0xRRl9GRF9QQ1RZUEVTIn0sDQo+ICAJe0k0MEVfR0xRRl9PUlQoMCks IDYzLCA0LCAwLCAwLCAiR0xRRl9PUlQifSwNCj4gIAl7STQwRV9HTFFGX1BJVCgwKSwgMjMsIDQs IDAsIDAsICJHTFFGX1BJVCJ9LA0KPiArI2VuZGlmDQo+ICAJe0k0MEVfR0xfUFJTX0ZWQk0oMCks IDMsIDQsIDAsIDAsICJHTF9QUlNfRlZCTSJ9LA0KPiAgCXtJNDBFX0dMUUZfRkRDTlRfMCwgMCwg MCwgMCwgMCwgIkdMUUZfRkRDTlRfMCJ9LA0KPiAgCXtJNDBFX0dMX01UR19GTFVfTVNLX0gsIDAs IDAsIDAsIDAsICJHTF9NVEdfRkxVX01TS19IIn0sDQo+ICAJe0k0MEVfR0xfU1dSX0RFRl9BQ1Rf RU4oMCksIDEsIDQsIDAsIDAsICJHTF9TV1JfREVGX0FDVF9FTiJ9LA0KPiAgCXtJNDBFX0dMUUZf SEtFWSgwKSwgMTIsIDQsIDAsIDAsICJHTFFGX0hLRVkifSwNCj4gIAl7STQwRV9HTF9TV1JfREVG X0FDVCgwKSwgMzUsIDQsIDAsIDAsICJHTF9TV1JfREVGX0FDVCJ9LA0KPiArI2lmZGVmIFg3MjJf U1VQUE9SVA0KPiAgCXtJNDBFX0dMUUZfRkRFVklDVEZMQUcsIDAsIDAsIDAsIDAsICJHTFFGX0ZE RVZJQ1RGTEFHIn0sDQo+ICAJe0k0MEVfUEZRRl9DVExfMiwgMCwgMCwgMCwgMCwgIlBGUUZfQ1RM XzIifSwNCj4gIAl7STQwRV9HTFFGX0ZERVZJQ1RFTkEoMCksIDEsIDQsIDAsIDAsICJHTFFGX0ZE RVZJQ1RFTkEifSwNCj4gIAl7STQwRV9WU0lRRl9IS0VZKDAsIDApLCAxMiwgMjA0OCwgMzgzLCA0 LCAiVlNJUUZfSEtFWSJ9LA0KPiArI2VuZGlmDQo+ICAJe0k0MEVfR0xQUlRfR09SQ0woMCksIDMs IDgsIDAsIDAsICJHTFBSVF9HT1JDTCJ9LA0KPiAgCXtJNDBFX0dMUFJUX0dPUkNIKDApLCAzLCA4 LCAwLCAwLCAiR0xQUlRfR09SQ0gifSwNCj4gIAl7STQwRV9HTFBSVF9NTEZDKDApLCAzLCA4LCAw LCAwLCAiR0xQUlRfTUxGQyJ9LA0KPiBAQCAtOTkxLDcgKzEwNTUsMzkgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBpNDBlX3JlZ19pbmZvIGk0MGVfcmVnc19vdGhlcnNbXSA9IHsNCj4gIAl7STQwRV9H TFZFQlZMX01QQ0goMCksIDEyNywgOCwgMCwgMCwgIkdMVkVCVkxfTVBDSCJ9LA0KPiAgCXtJNDBF X0dMVkVCVkxfQlBDTCgwKSwgMTI3LCA4LCAwLCAwLCAiR0xWRUJWTF9CUENMIn0sDQo+ICAJe0k0 MEVfR0xWRUJWTF9CUENIKDApLCAxMjcsIDgsIDAsIDAsICJHTFZFQlZMX0JQQ0gifSwNCj4gKyNp ZmRlZiBYNzIyX1NVUFBPUlQNCj4gIAl7STQwRV9HTEdFTl9TVEFUX0hBTFQsIDAsIDAsIDAsIDAs ICJHTEdFTl9TVEFUX0hBTFQifSwNCj4gIAl7STQwRV9HTEdFTl9TVEFUX0NMRUFSLCAwLCAwLCAw LCAwLCAiR0xHRU5fU1RBVF9DTEVBUiJ9LA0KPiArI2VuZGlmDQo+ICAJezAsIDAsIDAsIDAsIDAs IE5VTEx9DQo+ICB9Ow0KPiArDQo+ICsjaWZuZGVmIFg3MjJfU1VQUE9SVA0KPiArI2RlZmluZSBJ NDBFX0dMUUZfRkRfTVNLKF9pLCBfaikgXA0KPiArCSgweDAwMjY3MjAwICsgKChfaSkgKiA0ICsg KF9qKSAqIDgpKSBcDQo+ICsJLyogX2k9MC4uLjEsIF9qPTAuLi42MyAqLyAvKiBSZXNldDogQ09S RVIgKi8NCj4gKyNkZWZpbmUgSTQwRV9HTFFGX0ZEX01TS19NQVhfSU5ERVggICAgMQ0KPiArI2Rl ZmluZSBJNDBFX0dMUUZfRkRfTVNLX01BU0tfU0hJRlQgICAwDQo+ICsjZGVmaW5lIEk0MEVfR0xR Rl9GRF9NU0tfTUFTS19NQVNLIFwNCj4gKwlJNDBFX01BU0soMHhGRkZGLCBJNDBFX0dMUUZfRkRf TVNLX01BU0tfU0hJRlQpDQo+ICsjZGVmaW5lIEk0MEVfR0xRRl9GRF9NU0tfT0ZGU0VUX1NISUZU IDE2DQo+ICsjZGVmaW5lIEk0MEVfR0xRRl9GRF9NU0tfT0ZGU0VUX01BU0sgXA0KPiArCUk0MEVf TUFTSygweDNGLCBJNDBFX0dMUUZfRkRfTVNLX09GRlNFVF9TSElGVCkNCj4gKyNkZWZpbmUgSTQw RV9HTFFGX0hBU0hfSU5TRVQoX2ksIF9qKSBcDQo+ICsJKDB4MDAyNjc2MDAgKyAoKF9pKSAqIDQg KyAoX2opICogOCkpIFwNCj4gKwkvKiBfaT0wLi4uMSwgX2o9MC4uLjYzICovIC8qIFJlc2V0OiBD T1JFUiAqLw0KPiArI2RlZmluZSBJNDBFX0dMUUZfSEFTSF9JTlNFVF9NQVhfSU5ERVggICAxDQo+ ICsjZGVmaW5lIEk0MEVfR0xRRl9IQVNIX0lOU0VUX0lOU0VUX1NISUZUIDANCj4gKyNkZWZpbmUg STQwRV9HTFFGX0hBU0hfSU5TRVRfSU5TRVRfTUFTSyBcDQo+ICsJSTQwRV9NQVNLKDB4RkZGRkZG RkYsIEk0MEVfR0xRRl9IQVNIX0lOU0VUX0lOU0VUX1NISUZUKQ0KPiArI2RlZmluZSBJNDBFX0dM UUZfSEFTSF9NU0soX2ksIF9qKSBcDQo+ICsJKDB4MDAyNjdBMDAgKyAoKF9pKSAqIDQgKyAoX2op ICogOCkpIFwNCj4gKwkvKiBfaT0wLi4uMSwgX2o9MC4uLjYzICovIC8qIFJlc2V0OiBDT1JFUiAq Lw0KPiArI2RlZmluZSBJNDBFX0dMUUZfSEFTSF9NU0tfTUFYX0lOREVYICAgIDENCj4gKyNkZWZp bmUgSTQwRV9HTFFGX0hBU0hfTVNLX01BU0tfU0hJRlQgICAwDQo+ICsjZGVmaW5lIEk0MEVfR0xR Rl9IQVNIX01TS19NQVNLX01BU0sgXA0KPiArCUk0MEVfTUFTSygweEZGRkYsIEk0MEVfR0xRRl9I QVNIX01TS19NQVNLX1NISUZUKQ0KPiArI2RlZmluZSBJNDBFX0dMUUZfSEFTSF9NU0tfT0ZGU0VU X1NISUZUIDE2DQo+ICsjZGVmaW5lIEk0MEVfR0xRRl9IQVNIX01TS19PRkZTRVRfTUFTSyBcDQo+ ICsJSTQwRV9NQVNLKDB4M0YsIEk0MEVfR0xRRl9IQVNIX01TS19PRkZTRVRfU0hJRlQpDQo+ICsj ZW5kaWYNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9yeHR4LmMgYi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfcnh0eC5jDQo+IGluZGV4IDJjYjJlMzAuLjQ4Njg3ODYgMTAwNjQ0 DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9yeHR4LmMNCj4gKysrIGIvZHJpdmVycy9u ZXQvaTQwZS9pNDBlX3J4dHguYw0KPiBAQCAtMjE5OSw3ICsyMTk5LDExIEBAIGk0MGVfZGV2X3J4 X3F1ZXVlX3NldHVwKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiAgCXVpbnQxNl90IGJhc2Us IGJzZiwgdGNfbWFwcGluZzsNCj4gIAlpbnQgdXNlX2RlZl9idXJzdF9mdW5jID0gMTsNCj4gDQo+ ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJaWYgKGh3LT5tYWMudHlwZSA9PSBJNDBFX01BQ19W RiB8fCBody0+bWFjLnR5cGUgPT0gSTQwRV9NQUNfWDcyMl9WRikgew0KPiArI2Vsc2UNCj4gKwlp ZiAoaHctPm1hYy50eXBlID09IEk0MEVfTUFDX1ZGKSB7DQo+ICsjZW5kaWYgLyogWDcyMl9TVVBQ T1JUICovDQo+ICAJCXN0cnVjdCBpNDBlX3ZmICp2ZiA9DQo+ICAJCQlJNDBFVkZfREVWX1BSSVZB VEVfVE9fVkYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQo+ICAJCXZzaSA9ICZ2Zi0+dnNpOw0K PiBAQCAtMjIzOSw3ICsyMjQzLDEyIEBAIGk0MGVfZGV2X3J4X3F1ZXVlX3NldHVwKHN0cnVjdCBy dGVfZXRoX2RldiAqZGV2LA0KPiAgCXJ4cS0+bmJfcnhfZGVzYyA9IG5iX2Rlc2M7DQo+ICAJcnhx LT5yeF9mcmVlX3RocmVzaCA9IHJ4X2NvbmYtPnJ4X2ZyZWVfdGhyZXNoOw0KPiAgCXJ4cS0+cXVl dWVfaWQgPSBxdWV1ZV9pZHg7DQo+ICsNCj4gKyNpZmRlZiBYNzIyX1NVUFBPUlQNCj4gIAlpZiAo aHctPm1hYy50eXBlID09IEk0MEVfTUFDX1ZGIHx8IGh3LT5tYWMudHlwZSA9PSBJNDBFX01BQ19Y NzIyX1ZGKQ0KPiArI2Vsc2UNCj4gKwlpZiAoaHctPm1hYy50eXBlID09IEk0MEVfTUFDX1ZGKQ0K PiArI2VuZGlmIC8qIFg3MjJfU1VQUE9SVCAqLw0KPiAgCQlyeHEtPnJlZ19pZHggPSBxdWV1ZV9p ZHg7DQo+ICAJZWxzZSAvKiBQRiBkZXZpY2UgKi8NCj4gIAkJcnhxLT5yZWdfaWR4ID0gdnNpLT5i YXNlX3F1ZXVlICsNCj4gQEAgLTI0MTYsNyArMjQyNSwxMSBAQCBpNDBlX2Rldl90eF9xdWV1ZV9z ZXR1cChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gIAl1aW50MTZfdCB0eF9yc190aHJlc2gs IHR4X2ZyZWVfdGhyZXNoOw0KPiAgCXVpbnQxNl90IGksIGJhc2UsIGJzZiwgdGNfbWFwcGluZzsN Cj4gDQo+ICsjaWZkZWYgWDcyMl9TVVBQT1JUDQo+ICAJaWYgKGh3LT5tYWMudHlwZSA9PSBJNDBF X01BQ19WRiB8fCBody0+bWFjLnR5cGUgPT0gSTQwRV9NQUNfWDcyMl9WRikgew0KPiArI2Vsc2UN Cj4gKwlpZiAoaHctPm1hYy50eXBlID09IEk0MEVfTUFDX1ZGKSB7DQo+ICsjZW5kaWYgLyogWDcy Ml9TVVBQT1JUICovDQo+ICAJCXN0cnVjdCBpNDBlX3ZmICp2ZiA9DQo+ICAJCQlJNDBFVkZfREVW X1BSSVZBVEVfVE9fVkYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQo+ICAJCXZzaSA9ICZ2Zi0+ dnNpOw0KPiBAQCAtMjU0NCwxMiArMjU1NywxNSBAQCBpNDBlX2Rldl90eF9xdWV1ZV9zZXR1cChz dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gIAl0eHEtPmh0aHJlc2ggPSB0eF9jb25mLT50eF90 aHJlc2guaHRocmVzaDsNCj4gIAl0eHEtPnd0aHJlc2ggPSB0eF9jb25mLT50eF90aHJlc2gud3Ro cmVzaDsNCj4gIAl0eHEtPnF1ZXVlX2lkID0gcXVldWVfaWR4Ow0KPiArI2lmZGVmIFg3MjJfU1VQ UE9SVA0KPiAgCWlmIChody0+bWFjLnR5cGUgPT0gSTQwRV9NQUNfVkYgfHwgaHctPm1hYy50eXBl ID09IEk0MEVfTUFDX1g3MjJfVkYpDQo+ICsjZWxzZQ0KPiArCWlmIChody0+bWFjLnR5cGUgPT0g STQwRV9NQUNfVkYpDQo+ICsjZW5kaWYgLyogWDcyMl9TVVBQT1JUICovDQo+ICAJCXR4cS0+cmVn X2lkeCA9IHF1ZXVlX2lkeDsNCj4gIAllbHNlIC8qIFBGIGRldmljZSAqLw0KPiAgCQl0eHEtPnJl Z19pZHggPSB2c2ktPmJhc2VfcXVldWUgKw0KPiAgCQkJaTQwZV9nZXRfcXVldWVfb2Zmc2V0X2J5 X3FpbmRleChwZiwgcXVldWVfaWR4KTsNCj4gLQ0KPiAgCXR4cS0+cG9ydF9pZCA9IGRldi0+ZGF0 YS0+cG9ydF9pZDsNCj4gIAl0eHEtPnR4cV9mbGFncyA9IHR4X2NvbmYtPnR4cV9mbGFnczsNCj4g IAl0eHEtPnZzaSA9IHZzaTsNCj4gLS0NCj4gMS45LjMNCg0K