From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Wang Subject: Re: [PATCH 24/26] drm/amdgpu: add RAS callback for gfx Date: Thu, 1 Aug 2019 05:40:50 +0000 Message-ID: References: <20190731175818.20159-1-alexander.deucher@amd.com> <20190731175818.20159-25-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190731175818.20159-25-alexander.deucher-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US Content-ID: <8C42EE0A64D84B418EEC334A6563C42E-asWib9pRmPqcE4WynfumptQqCkab/8FMAL8bYrjMMd8@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Alex Deucher , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: "Zhou1, Tao" , "Li, Dennis" , "Zhang, Hawking" DQpPbiA4LzEvMTkgMTo1OCBBTSwgQWxleCBEZXVjaGVyIHdyb3RlOg0KPiBGcm9tOiBEZW5uaXMg TGkgPERlbm5pcy5MaUBhbWQuY29tPg0KPg0KPiBBZGQgZnVuY3Rpb25zIGZvciBSQVMgZXJyb3Ig aW5qZWN0IGFuZCBxdWVyeSBlcnJvciBjb3VudGVyDQo+DQo+IFNpZ25lZC1vZmYtYnk6IERlbm5p cyBMaSA8RGVubmlzLkxpQGFtZC5jb20+DQo+IFJldmlld2VkLWJ5OiBUYW8gWmhvdSA8dGFvLnpo b3UxQGFtZC5jb20+DQo+IFJldmlld2VkLWJ5OiBIYXdraW5nIFpoYW5nIDxIYXdraW5nLlpoYW5n QGFtZC5jb20+DQo+IC0tLQ0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9n ZnguaCB8ICAgMiArDQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y5XzAuYyAg IHwgNTMwICsrKysrKysrKysrKysrKysrKysrKysrLQ0KPiAgIDIgZmlsZXMgY2hhbmdlZCwgNTMx IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZnguaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9nZnguaA0KPiBpbmRleCAxMTk5YjU4MjhiOTAuLjU1NGE1OWIzYzRhNiAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dmeC5oDQo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZnguaA0KPiBAQCAtMTk2LDYg KzE5Niw4IEBAIHN0cnVjdCBhbWRncHVfZ2Z4X2Z1bmNzIHsNCj4gICAJCQkJdWludDMyX3QgKmRz dCk7DQo+ICAgCXZvaWQgKCpzZWxlY3RfbWVfcGlwZV9xKShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwgdTMyIG1lLCB1MzIgcGlwZSwNCj4gICAJCQkJIHUzMiBxdWV1ZSwgdTMyIHZtaWQpOw0K PiArCWludCAoKnJhc19lcnJvcl9pbmplY3QpKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB2 b2lkICppbmplY3RfaWYpOw0KPiArCWludCAoKnF1ZXJ5X3Jhc19lcnJvcl9jb3VudCkgKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LCB2b2lkICpyYXNfZXJyb3Jfc3RhdHVzKTsNCj4gICB9Ow0K PiAgIA0KPiAgIHN0cnVjdCBhbWRncHVfbmdnX2J1ZiB7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjlfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvZ2Z4X3Y5XzAuYw0KPiBpbmRleCBmYmE1NTJiOTNjYzguLmQ3OTAyZTc4MmJlNCAxMDA2NDQN Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y5XzAuYw0KPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjlfMC5jDQo+IEBAIC0zMTgsNiArMzE4LDEz NSBAQCBlbnVtIHRhX3Jhc19nZnhfc3ViYmxvY2sgew0KPiAgIAlUQV9SQVNfQkxPQ0tfX1VUQ19B VENMMl9DQUNIRV80S19CQU5LLA0KPiAgIAlUQV9SQVNfQkxPQ0tfX0dGWF9NQVgNCj4gICB9Ow0K PiArDQo+ICtzdHJ1Y3QgcmFzX2dmeF9zdWJibG9jayB7DQo+ICsJdW5zaWduZWQgY2hhciAqbmFt ZTsNCj4gKwlpbnQgdGFfc3ViYmxvY2s7DQo+ICsJaW50IHN1cHBvcnRlZF9lcnJvcl90eXBlOw0K PiArfTsNCj4gKw0KPiArI2RlZmluZSBBTURHUFVfUkFTX1NVQl9CTE9DSyhzdWJibG9jaywgYSwg YiwgYywgZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKwlbQU1ER1BVX1JBU19C TE9DS19fIyNzdWJibG9ja10gPSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwNCj4gKwkJI3N1YmJsb2NrLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXA0KPiArCQlUQV9SQVNfQkxPQ0tfXyMjc3ViYmxvY2ssICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsJCSgoYSkgfCAoKGIpIDw8IDEpIHwg KChjKSA8PCAyKSB8ICgoZCkgPDwgMykpLCAgICAgICAgICAgICAgICAgIFwNCj4gKwl9DQo+ICsN Cj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmFzX2dmeF9zdWJibG9jayByYXNfZ2Z4X3N1YmJsb2Nr c1tdID0gew0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9DUENfU0NSQVRDSCwgMCwgMSwg MSwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0NQQ19VQ09ERSwgMCwgMSwgMSwg MSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0RDX1NUQVRFX01FMSwgMSwgMCwgMCwg MSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0RDX0NTSU5WT0NfTUUxLCAxLCAwLCAw LCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRENfUkVTVE9SRV9NRTEsIDEsIDAs IDAsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9EQ19TVEFURV9NRTIsIDEsIDAs IDAsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9EQ19DU0lOVk9DX01FMiwgMSwg MCwgMCwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0RDX1JFU1RPUkVfTUUyLCAx LCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfQ1BGX1JPUV9NRTIsIDEs IDAsIDAsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9DUEZfUk9RX01FMSwgMSwg MCwgMCwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0NQRl9UQUcsIDAsIDEsIDEs IDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9DUEdfRE1BX1JPUSwgMSwgMCwgMCwg MSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0NQR19ETUFfVEFHLCAwLCAxLCAxLCAx KSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfQ1BHX1RBRywgMCwgMSwgMSwgMSksDQo+ ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0dEU19NRU0sIDAsIDEsIDEsIDEpLA0KPiArCUFN REdQVV9SQVNfU1VCX0JMT0NLKEdGWF9HRFNfSU5QVVRfUVVFVUUsIDEsIDAsIDAsIDEpLA0KPiAr CUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9HRFNfT0FfUEhZX0NNRF9SQU1fTUVNLCAwLCAxLCAx LCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfR0RTX09BX1BIWV9EQVRBX1JBTV9N RU0sIDEsIDAsIDAsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9HRFNfT0FfUElQ RV9NRU0sIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9TUElfU1Jf TUVNLCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FfU0dQUiwg MCwgMSwgMSwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1NRX0xEU19ELCAwLCAx LCAxLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FfTERTX0ksIDAsIDEsIDEs IDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9TUV9WR1BSLCAwLCAxLCAxLCAxKSwN Cj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0lOU1RfVVRDTDFfTEZJRk8sIDAsIDEs IDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9TUUNfREFUQV9DVTBfV1JJVEVf REFUQV9CVUYsIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9TUUNf REFUQV9DVTBfVVRDTDFfTEZJRk8sIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JM T0NLKEdGWF9TUUNfREFUQV9DVTFfV1JJVEVfREFUQV9CVUYsIDAsIDEsIDEsIDEpLA0KPiArCUFN REdQVV9SQVNfU1VCX0JMT0NLKEdGWF9TUUNfREFUQV9DVTFfVVRDTDFfTEZJRk8sIDAsIDEsIDEs IDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9TUUNfREFUQV9DVTJfV1JJVEVfREFU QV9CVUYsIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9TUUNfREFU QV9DVTJfVVRDTDFfTEZJRk8sIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NL KEdGWF9TUUNfSU5TVF9CQU5LQV9UQUdfUkFNLCAwLCAxLCAxLCAxKSwNCj4gKwlBTURHUFVfUkFT X1NVQl9CTE9DSyhHRlhfU1FDX0lOU1RfQkFOS0FfVVRDTDFfTUlTU19GSUZPLCAxLCAwLCAwLCAx KSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0lOU1RfQkFOS0FfTUlTU19GSUZP LCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0lOU1RfQkFO S0FfQkFOS19SQU0sIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9T UUNfREFUQV9CQU5LQV9UQUdfUkFNLCAwLCAxLCAxLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9C TE9DSyhHRlhfU1FDX0RBVEFfQkFOS0FfSElUX0ZJRk8sIDEsIDAsIDAsIDEpLA0KPiArCUFNREdQ VV9SQVNfU1VCX0JMT0NLKEdGWF9TUUNfREFUQV9CQU5LQV9NSVNTX0ZJRk8sIDEsIDAsIDAsIDEp LA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9TUUNfREFUQV9CQU5LQV9ESVJUWV9CSVRf UkFNLCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0RBVEFf QkFOS0FfQkFOS19SQU0sIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdG WF9TUUNfSU5TVF9CQU5LQl9UQUdfUkFNLCAwLCAxLCAxLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NV Ql9CTE9DSyhHRlhfU1FDX0lOU1RfQkFOS0JfVVRDTDFfTUlTU19GSUZPLCAxLCAwLCAwLCAxKSwN Cj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0lOU1RfQkFOS0JfTUlTU19GSUZPLCAx LCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0lOU1RfQkFOS0Jf QkFOS19SQU0sIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9TUUNf REFUQV9CQU5LQl9UQUdfUkFNLCAwLCAxLCAxLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9D SyhHRlhfU1FDX0RBVEFfQkFOS0JfSElUX0ZJRk8sIDEsIDAsIDAsIDEpLA0KPiArCUFNREdQVV9S QVNfU1VCX0JMT0NLKEdGWF9TUUNfREFUQV9CQU5LQl9NSVNTX0ZJRk8sIDEsIDAsIDAsIDEpLA0K PiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9TUUNfREFUQV9CQU5LQl9ESVJUWV9CSVRfUkFN LCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0RBVEFfQkFO S0JfQkFOS19SQU0sIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9U QV9GU19ERklGTywgMCwgMSwgMSwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RB X0ZTX0FGSUZPLCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVEFf RkxfTEZJRk8sIDEsIDAsIDAsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQV9G WF9MRklGTywgMSwgMCwgMCwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RBX0ZT X0NGSUZPLCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENBX0hP TEVfRklGTywgMSwgMCwgMCwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RDQV9S RVFfRklGTywgMSwgMCwgMCwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RDQ19D QUNIRV9EQVRBLCAwLCAxLCAxLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVEND X0NBQ0hFX0RBVEFfQkFOS18wXzEsIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JM T0NLKEdGWF9UQ0NfQ0FDSEVfREFUQV9CQU5LXzFfMCwgMCwgMSwgMSwgMSksDQo+ICsJQU1ER1BV X1JBU19TVUJfQkxPQ0soR0ZYX1RDQ19DQUNIRV9EQVRBX0JBTktfMV8xLCAwLCAxLCAxLCAxKSwN Cj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENDX0NBQ0hFX0RJUlRZX0JBTktfMCwgMCwg MSwgMSwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RDQ19DQUNIRV9ESVJUWV9C QU5LXzEsIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQ0NfSElH SF9SQVRFX1RBRywgMCwgMSwgMSwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RD Q19MT1dfUkFURV9UQUcsIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdG WF9UQ0NfSU5fVVNFX0RFQywgMSwgMCwgMCwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0so R0ZYX1RDQ19JTl9VU0VfVFJBTlNGRVIsIDEsIDAsIDAsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VC X0JMT0NLKEdGWF9UQ0NfUkVUVVJOX0RBVEEsIDEsIDAsIDAsIDEpLA0KPiArCUFNREdQVV9SQVNf U1VCX0JMT0NLKEdGWF9UQ0NfUkVUVVJOX0NPTlRST0wsIDEsIDAsIDAsIDEpLA0KPiArCUFNREdQ VV9SQVNfU1VCX0JMT0NLKEdGWF9UQ0NfVUNfQVRPTUlDX0ZJRk8sIDEsIDAsIDAsIDEpLA0KPiAr CUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQ0NfV1JJVEVfUkVUVVJOLCAxLCAwLCAwLCAxKSwN Cj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENDX1dSSVRFX0NBQ0hFX1JFQUQsIDEsIDAs IDAsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQ0NfU1JDX0ZJRk8sIDAsIDEs IDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQ0NfU1JDX0ZJRk9fTkVYVF9S QU0sIDEsIDAsIDAsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQ0NfQ0FDSEVf VEFHX1BST0JFX0ZJRk8sIDEsIDAsIDAsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdG WF9UQ0NfTEFURU5DWV9GSUZPLCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9D SyhHRlhfVENDX0xBVEVOQ1lfRklGT19ORVhUX1JBTSwgMSwgMCwgMCwgMSksDQo+ICsJQU1ER1BV X1JBU19TVUJfQkxPQ0soR0ZYX1RDQ19XUlJFVF9UQUdfV1JJVEVfUkVUVVJOLCAxLCAwLCAwLCAx KSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENDX0FUT01JQ19SRVRVUk5fQlVGRkVS LCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENJX1dSSVRFX1JB TSwgMSwgMCwgMCwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RDUF9DQUNIRV9S QU0sIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQ1BfTEZJRk9f UkFNLCAwLCAxLCAxLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENQX0NNRF9G SUZPLCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENQX1ZNX0ZJ Rk8sIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQ1BfREJfUkFN LCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENQX1VUQ0wxX0xG SUZPMCwgMCwgMSwgMSwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RDUF9VVENM MV9MRklGTzEsIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9URF9T U19GSUZPX0xPLCAwLCAxLCAxLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVERf U1NfRklGT19ISSwgMCwgMSwgMSwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RE X0NTX0ZJRk8sIDEsIDAsIDAsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9FQV9E UkFNUkRfQ01ETUVNLCAwLCAxLCAxLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhf RUFfRFJBTVdSX0NNRE1FTSwgMCwgMSwgMSwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0so R0ZYX0VBX0RSQU1XUl9EQVRBTUVNLCAwLCAxLCAxLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9C TE9DSyhHRlhfRUFfUlJFVF9UQUdNRU0sIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VC X0JMT0NLKEdGWF9FQV9XUkVUX1RBR01FTSwgMCwgMSwgMSwgMSksDQo+ICsJQU1ER1BVX1JBU19T VUJfQkxPQ0soR0ZYX0VBX0dNSVJEX0NNRE1FTSwgMCwgMSwgMSwgMSksDQo+ICsJQU1ER1BVX1JB U19TVUJfQkxPQ0soR0ZYX0VBX0dNSVdSX0NNRE1FTSwgMCwgMSwgMSwgMSksDQo+ICsJQU1ER1BV X1JBU19TVUJfQkxPQ0soR0ZYX0VBX0dNSVdSX0RBVEFNRU0sIDAsIDEsIDEsIDEpLA0KPiArCUFN REdQVV9SQVNfU1VCX0JMT0NLKEdGWF9FQV9EUkFNUkRfUEFHRU1FTSwgMSwgMCwgMCwgMSksDQo+ ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0VBX0RSQU1XUl9QQUdFTUVNLCAxLCAwLCAwLCAx KSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRUFfSU9SRF9DTURNRU0sIDEsIDAsIDAs IDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9FQV9JT1dSX0NNRE1FTSwgMSwgMCwg MCwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0VBX0lPV1JfREFUQU1FTSwgMSwg MCwgMCwgMSksDQo+ICsJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0VBX0dNSVJEX1BBR0VNRU0s IDEsIDAsIDAsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9FQV9HTUlXUl9QQUdF TUVNLCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRUFfTUFNX0Qw TUVNLCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRUFfTUFNX0Qx TUVNLCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRUFfTUFNX0Qy TUVNLCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRUFfTUFNX0Qz TUVNLCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhVVENfVk1MMl9CQU5L X0NBQ0hFLCAwLCAxLCAxLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhVVENfVk1MMl9X QUxLRVIsIDAsIDEsIDEsIDEpLA0KPiArCUFNREdQVV9SQVNfU1VCX0JMT0NLKFVUQ19BVENMMl9D QUNIRV8yTV9CQU5LLCAxLCAwLCAwLCAxKSwNCj4gKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhVVENf QVRDTDJfQ0FDSEVfNEtfQkFOSywgMCwgMSwgMSwgMSksDQo+ICt9Ow0KPiArDQo+ICAgc3RhdGlj IGNvbnN0IHN0cnVjdCBzb2MxNV9yZWdfZ29sZGVuIGdvbGRlbl9zZXR0aW5nc19nY185XzBbXSA9 DQo+ICAgew0KPiAgIAlTT0MxNV9SRUdfR09MREVOX1ZBTFVFKEdDLCAwLCBtbURCX0RFQlVHMiwg MHhmMDBmZmZmZiwgMHgwMDAwMDQwMCksDQo+IEBAIC01MzYsNiArNjY1LDEwIEBAIHN0YXRpYyB1 aW50NjRfdCBnZnhfdjlfMF9nZXRfZ3B1X2Nsb2NrX2NvdW50ZXIoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYpOw0KPiAgIHN0YXRpYyB2b2lkIGdmeF92OV8wX3NlbGVjdF9zZV9zaChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwgdTMyIHNlX251bSwgdTMyIHNoX251bSwgdTMyIGluc3RhbmNl KTsNCj4gICBzdGF0aWMgdm9pZCBnZnhfdjlfMF9yaW5nX2VtaXRfZGVfbWV0YShzdHJ1Y3QgYW1k Z3B1X3JpbmcgKnJpbmcpOw0KPiAgIHN0YXRpYyB1NjQgZ2Z4X3Y5XzBfcmluZ19nZXRfcnB0cl9j b21wdXRlKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZyk7DQo+ICtzdGF0aWMgaW50IGdmeF92OV8w X3F1ZXJ5X3Jhc19lcnJvcl9jb3VudChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwNCj4gKwkJ CQkJICB2b2lkICpyYXNfZXJyb3Jfc3RhdHVzKTsNCj4gK3N0YXRpYyBpbnQgZ2Z4X3Y5XzBfcmFz X2Vycm9yX2luamVjdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwNCj4gKwkJCQkgICAgIHZv aWQgKmluamVjdF9pZik7DQo+ICAgDQo+ICAgc3RhdGljIHZvaWQgZ2Z4X3Y5XzBfaW5pdF9nb2xk ZW5fcmVnaXN0ZXJzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQ0KPiAgIHsNCj4gQEAgLTE2 MjEsNyArMTc1NCw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2dmeF9mdW5jcyBnZnhf djlfMF9nZnhfZnVuY3MgPSB7DQo+ICAgCS5yZWFkX3dhdmVfZGF0YSA9ICZnZnhfdjlfMF9yZWFk X3dhdmVfZGF0YSwNCj4gICAJLnJlYWRfd2F2ZV9zZ3BycyA9ICZnZnhfdjlfMF9yZWFkX3dhdmVf c2dwcnMsDQo+ICAgCS5yZWFkX3dhdmVfdmdwcnMgPSAmZ2Z4X3Y5XzBfcmVhZF93YXZlX3ZncHJz LA0KPiAtCS5zZWxlY3RfbWVfcGlwZV9xID0gJmdmeF92OV8wX3NlbGVjdF9tZV9waXBlX3ENCj4g Kwkuc2VsZWN0X21lX3BpcGVfcSA9ICZnZnhfdjlfMF9zZWxlY3RfbWVfcGlwZV9xLA0KPiArCS5y YXNfZXJyb3JfaW5qZWN0ID0gJmdmeF92OV8wX3Jhc19lcnJvcl9pbmplY3QsDQo+ICsJLnF1ZXJ5 X3Jhc19lcnJvcl9jb3VudCA9ICZnZnhfdjlfMF9xdWVyeV9yYXNfZXJyb3JfY291bnQNCj4gICB9 Ow0KPiAgIA0KPiAgIHN0YXRpYyBpbnQgZ2Z4X3Y5XzBfZ3B1X2Vhcmx5X2luaXQoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYpDQo+IEBAIC01NDc2LDYgKzU2MTEsMzk5IEBAIHN0YXRpYyBpbnQg Z2Z4X3Y5XzBfcHJvY2Vzc19yYXNfZGF0YV9jYihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwN Cj4gICAJcmV0dXJuIEFNREdQVV9SQVNfVUU7DQo+ICAgfQ0KPiAgIA0KPiArc3RhdGljIGNvbnN0 IHN0cnVjdCB7DQo+ICsJY29uc3QgY2hhciAqbmFtZTsNCj4gKwl1aW50MzJfdCBpcDsNCj4gKwl1 aW50MzJfdCBpbnN0Ow0KPiArCXVpbnQzMl90IHNlZzsNCj4gKwl1aW50MzJfdCByZWdfb2Zmc2V0 Ow0KPiArCXVpbnQzMl90IHBlcl9zZV9pbnN0YW5jZTsNCj4gKwlpbnQzMl90IG51bV9pbnN0YW5j ZTsNCj4gKwl1aW50MzJfdCBzZWNfY291bnRfbWFzazsNCj4gKwl1aW50MzJfdCBkZWRfY291bnRf bWFzazsNCj4gK30gZ2Z4X3Jhc19lZGNfcmVnc1tdID0gew0KPiArCXsgIkNQQ19TQ1JBVENIIiwg U09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUNQQ19FRENfU0NSQVRDSF9DTlQpLCAwLCAxLA0KPiAr CSAgUkVHX0ZJRUxEX01BU0soQ1BDX0VEQ19TQ1JBVENIX0NOVCwgU0VDX0NPVU5UKSwNCj4gKwkg IFJFR19GSUVMRF9NQVNLKENQQ19FRENfU0NSQVRDSF9DTlQsIERFRF9DT1VOVCkgfSwNCj4gKwl7 ICJDUENfVUNPREUiLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tQ1BDX0VEQ19VQ09ERV9DTlQp LCAwLCAxLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soQ1BDX0VEQ19VQ09ERV9DTlQsIFNFQ19DT1VO VCksDQo+ICsJICBSRUdfRklFTERfTUFTSyhDUENfRURDX1VDT0RFX0NOVCwgREVEX0NPVU5UKSB9 LA0KPiArCXsgIkNQRl9ST1FfTUUxIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUNQRl9FRENf Uk9RX0NOVCksIDAsIDEsDQo+ICsJICBSRUdfRklFTERfTUFTSyhDUEZfRURDX1JPUV9DTlQsIENP VU5UX01FMSksIDAgfSwNCj4gKwl7ICJDUEZfUk9RX01FMiIsIFNPQzE1X1JFR19FTlRSWShHQywg MCwgbW1DUEZfRURDX1JPUV9DTlQpLCAwLCAxLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soQ1BGX0VE Q19ST1FfQ05ULCBDT1VOVF9NRTIpLCAwIH0sDQo+ICsJeyAiQ1BGX1RBRyIsIFNPQzE1X1JFR19F TlRSWShHQywgMCwgbW1DUEZfRURDX1RBR19DTlQpLCAwLCAxLA0KPiArCSAgUkVHX0ZJRUxEX01B U0soQ1BGX0VEQ19UQUdfQ05ULCBTRUNfQ09VTlQpLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soQ1BG X0VEQ19UQUdfQ05ULCBERURfQ09VTlQpIH0sDQo+ICsJeyAiQ1BHX0RNQV9ST1EiLCBTT0MxNV9S RUdfRU5UUlkoR0MsIDAsIG1tQ1BHX0VEQ19ETUFfQ05UKSwgMCwgMSwNCj4gKwkgIFJFR19GSUVM RF9NQVNLKENQR19FRENfRE1BX0NOVCwgUk9RX0NPVU5UKSwgMCB9LA0KPiArCXsgIkNQR19ETUFf VEFHIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUNQR19FRENfRE1BX0NOVCksIDAsIDEsDQo+ ICsJICBSRUdfRklFTERfTUFTSyhDUEdfRURDX0RNQV9DTlQsIFRBR19TRUNfQ09VTlQpLA0KPiAr CSAgUkVHX0ZJRUxEX01BU0soQ1BHX0VEQ19ETUFfQ05ULCBUQUdfREVEX0NPVU5UKSB9LA0KPiAr CXsgIkNQR19UQUciLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tQ1BHX0VEQ19UQUdfQ05UKSwg MCwgMSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKENQR19FRENfVEFHX0NOVCwgU0VDX0NPVU5UKSwN Cj4gKwkgIFJFR19GSUVMRF9NQVNLKENQR19FRENfVEFHX0NOVCwgREVEX0NPVU5UKSB9LA0KPiAr CXsgIkRDX0NTSU5WT0MiLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tRENfRURDX0NTSU5WT0Nf Q05UKSwgMCwgMSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKERDX0VEQ19DU0lOVk9DX0NOVCwgQ09V TlRfTUUxKSwgMCB9LA0KPiArCXsgIkRDX1JFU1RPUkUiLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAs IG1tRENfRURDX1JFU1RPUkVfQ05UKSwgMCwgMSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKERDX0VE Q19SRVNUT1JFX0NOVCwgQ09VTlRfTUUxKSwgMCB9LA0KPiArCXsgIkRDX1NUQVRFIiwgU09DMTVf UkVHX0VOVFJZKEdDLCAwLCBtbURDX0VEQ19TVEFURV9DTlQpLCAwLCAxLA0KPiArCSAgUkVHX0ZJ RUxEX01BU0soRENfRURDX1NUQVRFX0NOVCwgQ09VTlRfTUUxKSwgMCB9LA0KPiArCXsgIkdEU19N RU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0RTX0VEQ19DTlQpLCAwLCAxLA0KPiArCSAg UkVHX0ZJRUxEX01BU0soR0RTX0VEQ19DTlQsIEdEU19NRU1fU0VDKSwNCj4gKwkgIFJFR19GSUVM RF9NQVNLKEdEU19FRENfQ05ULCBHRFNfTUVNX0RFRCkgfSwNCj4gKwl7ICJHRFNfSU5QVVRfUVVF VUUiLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0RTX0VEQ19DTlQpLCAwLCAxLA0KPiArCSAg UkVHX0ZJRUxEX01BU0soR0RTX0VEQ19DTlQsIEdEU19JTlBVVF9RVUVVRV9TRUQpLCAwIH0sDQo+ ICsJeyAiR0RTX01FMF9DU19QSVBFX01FTSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1HRFNf RURDX09BX1BIWV9DTlQpLA0KPiArCSAgMCwgMSwgUkVHX0ZJRUxEX01BU0soR0RTX0VEQ19PQV9Q SFlfQ05ULCBNRTBfQ1NfUElQRV9NRU1fU0VDKSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKEdEU19F RENfT0FfUEhZX0NOVCwgTUUwX0NTX1BJUEVfTUVNX0RFRCkgfSwNCj4gKwl7ICJHRFNfT0FfUEhZ X1BIWV9DTURfUkFNX01FTSIsDQo+ICsJICBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0RTX0VE Q19PQV9QSFlfQ05UKSwgMCwgMSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKEdEU19FRENfT0FfUEhZ X0NOVCwgUEhZX0NNRF9SQU1fTUVNX1NFQyksDQo+ICsJICBSRUdfRklFTERfTUFTSyhHRFNfRURD X09BX1BIWV9DTlQsIFBIWV9DTURfUkFNX01FTV9ERUQpIH0sDQo+ICsJeyAiR0RTX09BX1BIWV9Q SFlfREFUQV9SQU1fTUVNIiwNCj4gKwkgIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1HRFNfRURD X09BX1BIWV9DTlQpLCAwLCAxLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soR0RTX0VEQ19PQV9QSFlf Q05ULCBQSFlfREFUQV9SQU1fTUVNX1NFRCksIDAgfSwNCj4gKwl7ICJHRFNfT0FfUElQRV9NRTFf UElQRTBfUElQRV9NRU0iLA0KPiArCSAgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUdEU19FRENf T0FfUElQRV9DTlQpLCAwLCAxLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soR0RTX0VEQ19PQV9QSVBF X0NOVCwgTUUxX1BJUEUwX1BJUEVfTUVNX1NFQyksDQo+ICsJICBSRUdfRklFTERfTUFTSyhHRFNf RURDX09BX1BJUEVfQ05ULCBNRTFfUElQRTBfUElQRV9NRU1fREVEKSB9LA0KPiArCXsgIkdEU19P QV9QSVBFX01FMV9QSVBFMV9QSVBFX01FTSIsDQo+ICsJICBTT0MxNV9SRUdfRU5UUlkoR0MsIDAs IG1tR0RTX0VEQ19PQV9QSVBFX0NOVCksIDAsIDEsDQo+ICsJICBSRUdfRklFTERfTUFTSyhHRFNf RURDX09BX1BJUEVfQ05ULCBNRTFfUElQRTFfUElQRV9NRU1fU0VDKSwNCj4gKwkgIFJFR19GSUVM RF9NQVNLKEdEU19FRENfT0FfUElQRV9DTlQsIE1FMV9QSVBFMV9QSVBFX01FTV9ERUQpIH0sDQo+ ICsJeyAiR0RTX09BX1BJUEVfTUUxX1BJUEUyX1BJUEVfTUVNIiwNCj4gKwkgIFNPQzE1X1JFR19F TlRSWShHQywgMCwgbW1HRFNfRURDX09BX1BJUEVfQ05UKSwgMCwgMSwNCj4gKwkgIFJFR19GSUVM RF9NQVNLKEdEU19FRENfT0FfUElQRV9DTlQsIE1FMV9QSVBFMl9QSVBFX01FTV9TRUMpLA0KPiAr CSAgUkVHX0ZJRUxEX01BU0soR0RTX0VEQ19PQV9QSVBFX0NOVCwgTUUxX1BJUEUyX1BJUEVfTUVN X0RFRCkgfSwNCj4gKwl7ICJHRFNfT0FfUElQRV9NRTFfUElQRTNfUElQRV9NRU0iLA0KPiArCSAg U09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUdEU19FRENfT0FfUElQRV9DTlQpLCAwLCAxLA0KPiAr CSAgUkVHX0ZJRUxEX01BU0soR0RTX0VEQ19PQV9QSVBFX0NOVCwgTUUxX1BJUEUzX1BJUEVfTUVN X1NFQyksDQo+ICsJICBSRUdfRklFTERfTUFTSyhHRFNfRURDX09BX1BJUEVfQ05ULCBNRTFfUElQ RTNfUElQRV9NRU1fREVEKSB9LA0KPiArCXsgIlNQSV9TUl9NRU0iLCBTT0MxNV9SRUdfRU5UUlko R0MsIDAsIG1tU1BJX0VEQ19DTlQpLCAxLCAxLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soU1BJX0VE Q19DTlQsIFNQSV9TUl9NRU1fU0VEX0NPVU5UKSwgMCB9LA0KPiArCXsgIlRBX0ZTX0RGSUZPIiwg U09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRBX0VEQ19DTlQpLCAxLCAxNiwNCj4gKwkgIFJFR19G SUVMRF9NQVNLKFRBX0VEQ19DTlQsIFRBX0ZTX0RGSUZPX1NFQ19DT1VOVCksDQo+ICsJICBSRUdf RklFTERfTUFTSyhUQV9FRENfQ05ULCBUQV9GU19ERklGT19ERURfQ09VTlQpIH0sDQo+ICsJeyAi VEFfRlNfQUZJRk8iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVEFfRURDX0NOVCksIDEsIDE2 LA0KPiArCSAgUkVHX0ZJRUxEX01BU0soVEFfRURDX0NOVCwgVEFfRlNfQUZJRk9fU0VEX0NPVU5U KSwgMCB9LA0KPiArCXsgIlRBX0ZMX0xGSUZPIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRB X0VEQ19DTlQpLCAxLCAxNiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFRBX0VEQ19DTlQsIFRBX0ZM X0xGSUZPX1NFRF9DT1VOVCksIDAgfSwNCj4gKwl7ICJUQV9GWF9MRklGTyIsIFNPQzE1X1JFR19F TlRSWShHQywgMCwgbW1UQV9FRENfQ05UKSwgMSwgMTYsDQo+ICsJICBSRUdfRklFTERfTUFTSyhU QV9FRENfQ05ULCBUQV9GWF9MRklGT19TRURfQ09VTlQpLCAwIH0sDQo+ICsJeyAiVEFfRlNfQ0ZJ Rk8iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVEFfRURDX0NOVCksIDEsIDE2LA0KPiArCSAg UkVHX0ZJRUxEX01BU0soVEFfRURDX0NOVCwgVEFfRlNfQ0ZJRk9fU0VEX0NPVU5UKSwgMCB9LA0K PiArCXsgIlRDQV9IT0xFX0ZJRk8iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVENBX0VEQ19D TlQpLCAwLCAyLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soVENBX0VEQ19DTlQsIEhPTEVfRklGT19T RURfQ09VTlQpLCAwIH0sDQo+ICsJeyAiVENBX1JFUV9GSUZPIiwgU09DMTVfUkVHX0VOVFJZKEdD LCAwLCBtbVRDQV9FRENfQ05UKSwgMCwgMiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFRDQV9FRENf Q05ULCBSRVFfRklGT19TRURfQ09VTlQpLCAwIH0sDQo+ICsJeyAiVENDX0NBQ0hFX0RBVEEiLCBT T0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVENDX0VEQ19DTlQpLCAwLCAxNiwNCj4gKwkgIFJFR19G SUVMRF9NQVNLKFRDQ19FRENfQ05ULCBDQUNIRV9EQVRBX1NFQ19DT1VOVCksDQo+ICsJICBSRUdf RklFTERfTUFTSyhUQ0NfRURDX0NOVCwgQ0FDSEVfREFUQV9ERURfQ09VTlQpIH0sDQo+ICsJeyAi VENDX0NBQ0hFX0RJUlRZIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDQ19FRENfQ05UKSwg MCwgMTYsDQo+ICsJICBSRUdfRklFTERfTUFTSyhUQ0NfRURDX0NOVCwgQ0FDSEVfRElSVFlfU0VD X0NPVU5UKSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFRDQ19FRENfQ05ULCBDQUNIRV9ESVJUWV9E RURfQ09VTlQpIH0sDQo+ICsJeyAiVENDX0hJR0hfUkFURV9UQUciLCBTT0MxNV9SRUdfRU5UUlko R0MsIDAsIG1tVENDX0VEQ19DTlQpLCAwLCAxNiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFRDQ19F RENfQ05ULCBISUdIX1JBVEVfVEFHX1NFQ19DT1VOVCksDQo+ICsJICBSRUdfRklFTERfTUFTSyhU Q0NfRURDX0NOVCwgSElHSF9SQVRFX1RBR19ERURfQ09VTlQpIH0sDQo+ICsJeyAiVENDX0xPV19S QVRFX1RBRyIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1UQ0NfRURDX0NOVCksIDAsIDE2LA0K PiArCSAgUkVHX0ZJRUxEX01BU0soVENDX0VEQ19DTlQsIExPV19SQVRFX1RBR19TRUNfQ09VTlQp LA0KPiArCSAgUkVHX0ZJRUxEX01BU0soVENDX0VEQ19DTlQsIExPV19SQVRFX1RBR19ERURfQ09V TlQpIH0sDQo+ICsJeyAiVENDX1NSQ19GSUZPIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRD Q19FRENfQ05UKSwgMCwgMTYsDQo+ICsJICBSRUdfRklFTERfTUFTSyhUQ0NfRURDX0NOVCwgU1JD X0ZJRk9fU0VDX0NPVU5UKSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFRDQ19FRENfQ05ULCBTUkNf RklGT19ERURfQ09VTlQpIH0sDQo+ICsJeyAiVENDX0lOX1VTRV9ERUMiLCBTT0MxNV9SRUdfRU5U UlkoR0MsIDAsIG1tVENDX0VEQ19DTlQpLCAwLCAxNiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFRD Q19FRENfQ05ULCBJTl9VU0VfREVDX1NFRF9DT1VOVCksIDAgfSwNCj4gKwl7ICJUQ0NfSU5fVVNF X1RSQU5TRkVSIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDQ19FRENfQ05UKSwgMCwgMTYs DQo+ICsJICBSRUdfRklFTERfTUFTSyhUQ0NfRURDX0NOVCwgSU5fVVNFX1RSQU5TRkVSX1NFRF9D T1VOVCksIDAgfSwNCj4gKwl7ICJUQ0NfTEFURU5DWV9GSUZPIiwgU09DMTVfUkVHX0VOVFJZKEdD LCAwLCBtbVRDQ19FRENfQ05UKSwgMCwgMTYsDQo+ICsJICBSRUdfRklFTERfTUFTSyhUQ0NfRURD X0NOVCwgTEFURU5DWV9GSUZPX1NFRF9DT1VOVCksIDAgfSwNCj4gKwl7ICJUQ0NfUkVUVVJOX0RB VEEiLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVENDX0VEQ19DTlQpLCAwLCAxNiwNCj4gKwkg IFJFR19GSUVMRF9NQVNLKFRDQ19FRENfQ05ULCBSRVRVUk5fREFUQV9TRURfQ09VTlQpLCAwIH0s DQo+ICsJeyAiVENDX1JFVFVSTl9DT05UUk9MIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRD Q19FRENfQ05UKSwgMCwgMTYsDQo+ICsJICBSRUdfRklFTERfTUFTSyhUQ0NfRURDX0NOVCwgUkVU VVJOX0NPTlRST0xfU0VEX0NPVU5UKSwgMCB9LA0KPiArCXsgIlRDQ19VQ19BVE9NSUNfRklGTyIs IFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1UQ0NfRURDX0NOVCksIDAsIDE2LA0KPiArCSAgUkVH X0ZJRUxEX01BU0soVENDX0VEQ19DTlQsIFVDX0FUT01JQ19GSUZPX1NFRF9DT1VOVCksIDAgfSwN Cj4gKwl7ICJUQ0NfV1JJVEVfUkVUVVJOIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDQ19F RENfQ05UMiksIDAsIDE2LA0KPiArCSAgUkVHX0ZJRUxEX01BU0soVENDX0VEQ19DTlQyLCBXUklU RV9SRVRVUk5fU0VEX0NPVU5UKSwgMCB9LA0KPiArCXsgIlRDQ19XUklURV9DQUNIRV9SRUFEIiwg U09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDQ19FRENfQ05UMiksIDAsIDE2LA0KPiArCSAgUkVH X0ZJRUxEX01BU0soVENDX0VEQ19DTlQyLCBXUklURV9DQUNIRV9SRUFEX1NFRF9DT1VOVCksIDAg fSwNCj4gKwl7ICJUQ0NfU1JDX0ZJRk9fTkVYVF9SQU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAs IG1tVENDX0VEQ19DTlQyKSwgMCwNCj4gKwkgIDE2LCBSRUdfRklFTERfTUFTSyhUQ0NfRURDX0NO VDIsIFNSQ19GSUZPX05FWFRfUkFNX1NFRF9DT1VOVCksIDAgfSwNCj4gKwl7ICJUQ0NfTEFURU5D WV9GSUZPX05FWFRfUkFNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDQ19FRENfQ05UMiks DQo+ICsJICAwLCAxNiwgUkVHX0ZJRUxEX01BU0soVENDX0VEQ19DTlQyLCBMQVRFTkNZX0ZJRk9f TkVYVF9SQU1fU0VEX0NPVU5UKSwNCj4gKwkgIDAgfSwNCj4gKwl7ICJUQ0NfQ0FDSEVfVEFHX1BS T0JFX0ZJRk8iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVENDX0VEQ19DTlQyKSwgMCwNCj4g KwkgIDE2LCBSRUdfRklFTERfTUFTSyhUQ0NfRURDX0NOVDIsIENBQ0hFX1RBR19QUk9CRV9GSUZP X1NFRF9DT1VOVCksIDAgfSwNCj4gKwl7ICJUQ0NfV1JSRVRfVEFHX1dSSVRFX1JFVFVSTiIsIFNP QzE1X1JFR19FTlRSWShHQywgMCwgbW1UQ0NfRURDX0NOVDIpLA0KPiArCSAgMCwgMTYsIFJFR19G SUVMRF9NQVNLKFRDQ19FRENfQ05UMiwgV1JSRVRfVEFHX1dSSVRFX1JFVFVSTl9TRURfQ09VTlQp LA0KPiArCSAgMCB9LA0KPiArCXsgIlRDQ19BVE9NSUNfUkVUVVJOX0JVRkZFUiIsIFNPQzE1X1JF R19FTlRSWShHQywgMCwgbW1UQ0NfRURDX0NOVDIpLCAwLA0KPiArCSAgMTYsIFJFR19GSUVMRF9N QVNLKFRDQ19FRENfQ05UMiwgQVRPTUlDX1JFVFVSTl9CVUZGRVJfU0VEX0NPVU5UKSwgMCB9LA0K PiArCXsgIlRDSV9XUklURV9SQU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVENJX0VEQ19D TlQpLCAwLCA3MiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFRDSV9FRENfQ05ULCBXUklURV9SQU1f U0VEX0NPVU5UKSwgMCB9LA0KPiArCXsgIlRDUF9DQUNIRV9SQU0iLCBTT0MxNV9SRUdfRU5UUlko R0MsIDAsIG1tVENQX0VEQ19DTlRfTkVXKSwgMSwgMTYsDQo+ICsJICBSRUdfRklFTERfTUFTSyhU Q1BfRURDX0NOVF9ORVcsIENBQ0hFX1JBTV9TRUNfQ09VTlQpLA0KPiArCSAgUkVHX0ZJRUxEX01B U0soVENQX0VEQ19DTlRfTkVXLCBDQUNIRV9SQU1fREVEX0NPVU5UKSB9LA0KPiArCXsgIlRDUF9M RklGT19SQU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVENQX0VEQ19DTlRfTkVXKSwgMSwg MTYsDQo+ICsJICBSRUdfRklFTERfTUFTSyhUQ1BfRURDX0NOVF9ORVcsIExGSUZPX1JBTV9TRUNf Q09VTlQpLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soVENQX0VEQ19DTlRfTkVXLCBMRklGT19SQU1f REVEX0NPVU5UKSB9LA0KPiArCXsgIlRDUF9DTURfRklGTyIsIFNPQzE1X1JFR19FTlRSWShHQywg MCwgbW1UQ1BfRURDX0NOVF9ORVcpLCAxLCAxNiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFRDUF9F RENfQ05UX05FVywgQ01EX0ZJRk9fU0VEX0NPVU5UKSwgMCB9LA0KPiArCXsgIlRDUF9WTV9GSUZP IiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDUF9FRENfQ05UX05FVyksIDEsIDE2LA0KPiAr CSAgUkVHX0ZJRUxEX01BU0soVENQX0VEQ19DTlRfTkVXLCBWTV9GSUZPX1NFQ19DT1VOVCksIDAg fSwNCj4gKwl7ICJUQ1BfREJfUkFNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDUF9FRENf Q05UX05FVyksIDEsIDE2LA0KPiArCSAgUkVHX0ZJRUxEX01BU0soVENQX0VEQ19DTlRfTkVXLCBE Ql9SQU1fU0VEX0NPVU5UKSwgMCB9LA0KPiArCXsgIlRDUF9VVENMMV9MRklGTzAiLCBTT0MxNV9S RUdfRU5UUlkoR0MsIDAsIG1tVENQX0VEQ19DTlRfTkVXKSwgMSwgMTYsDQo+ICsJICBSRUdfRklF TERfTUFTSyhUQ1BfRURDX0NOVF9ORVcsIFVUQ0wxX0xGSUZPMF9TRUNfQ09VTlQpLA0KPiArCSAg UkVHX0ZJRUxEX01BU0soVENQX0VEQ19DTlRfTkVXLCBVVENMMV9MRklGTzBfREVEX0NPVU5UKSB9 LA0KPiArCXsgIlRDUF9VVENMMV9MRklGTzEiLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVENQ X0VEQ19DTlRfTkVXKSwgMSwgMTYsDQo+ICsJICBSRUdfRklFTERfTUFTSyhUQ1BfRURDX0NOVF9O RVcsIFVUQ0wxX0xGSUZPMV9TRUNfQ09VTlQpLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soVENQX0VE Q19DTlRfTkVXLCBVVENMMV9MRklGTzFfREVEX0NPVU5UKSB9LA0KPiArCXsgIlREX1NTX0ZJRk9f TE8iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVERfRURDX0NOVCksIDEsIDE2LA0KPiArCSAg UkVHX0ZJRUxEX01BU0soVERfRURDX0NOVCwgU1NfRklGT19MT19TRUNfQ09VTlQpLA0KPiArCSAg UkVHX0ZJRUxEX01BU0soVERfRURDX0NOVCwgU1NfRklGT19MT19ERURfQ09VTlQpIH0sDQo+ICsJ eyAiVERfU1NfRklGT19ISSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1URF9FRENfQ05UKSwg MSwgMTYsDQo+ICsJICBSRUdfRklFTERfTUFTSyhURF9FRENfQ05ULCBTU19GSUZPX0hJX1NFQ19D T1VOVCksDQo+ICsJICBSRUdfRklFTERfTUFTSyhURF9FRENfQ05ULCBTU19GSUZPX0hJX0RFRF9D T1VOVCkgfSwNCj4gKwl7ICJURF9DU19GSUZPIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRE X0VEQ19DTlQpLCAxLCAxNiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFREX0VEQ19DTlQsIENTX0ZJ Rk9fU0VEX0NPVU5UKSwgMCB9LA0KPiArCXsgIlNRX0xEU19EIiwgU09DMTVfUkVHX0VOVFJZKEdD LCAwLCBtbVNRX0VEQ19DTlQpLCAxLCAxNiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFNRX0VEQ19D TlQsIExEU19EX1NFQ19DT1VOVCksDQo+ICsJICBSRUdfRklFTERfTUFTSyhTUV9FRENfQ05ULCBM RFNfRF9ERURfQ09VTlQpIH0sDQo+ICsJeyAiU1FfTERTX0kiLCBTT0MxNV9SRUdfRU5UUlkoR0Ms IDAsIG1tU1FfRURDX0NOVCksIDEsIDE2LA0KPiArCSAgUkVHX0ZJRUxEX01BU0soU1FfRURDX0NO VCwgTERTX0lfU0VDX0NPVU5UKSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFNRX0VEQ19DTlQsIExE U19JX0RFRF9DT1VOVCkgfSwNCj4gKwl7ICJTUV9TR1BSIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAw LCBtbVNRX0VEQ19DTlQpLCAxLCAxNiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFNRX0VEQ19DTlQs IFNHUFJfU0VDX0NPVU5UKSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFNRX0VEQ19DTlQsIFNHUFJf REVEX0NPVU5UKSB9LA0KPiArCXsgIlNRX1ZHUFIwIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBt bVNRX0VEQ19DTlQpLCAxLCAxNiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFNRX0VEQ19DTlQsIFZH UFIwX1NFQ19DT1VOVCksDQo+ICsJICBSRUdfRklFTERfTUFTSyhTUV9FRENfQ05ULCBWR1BSMF9E RURfQ09VTlQpIH0sDQo+ICsJeyAiU1FfVkdQUjEiLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1t U1FfRURDX0NOVCksIDEsIDE2LA0KPiArCSAgUkVHX0ZJRUxEX01BU0soU1FfRURDX0NOVCwgVkdQ UjFfU0VDX0NPVU5UKSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFNRX0VEQ19DTlQsIFZHUFIxX0RF RF9DT1VOVCkgfSwNCj4gKwl7ICJTUV9WR1BSMiIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1T UV9FRENfQ05UKSwgMSwgMTYsDQo+ICsJICBSRUdfRklFTERfTUFTSyhTUV9FRENfQ05ULCBWR1BS Ml9TRUNfQ09VTlQpLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soU1FfRURDX0NOVCwgVkdQUjJfREVE X0NPVU5UKSB9LA0KPiArCXsgIlNRX1ZHUFIzIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVNR X0VEQ19DTlQpLCAxLCAxNiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFNRX0VEQ19DTlQsIFZHUFIz X1NFQ19DT1VOVCksDQo+ICsJICBSRUdfRklFTERfTUFTSyhTUV9FRENfQ05ULCBWR1BSM19ERURf Q09VTlQpIH0sDQo+ICsJeyAiU1FDX0RBVEFfQ1UwX1dSSVRFX0RBVEFfQlVGIiwgU09DMTVfUkVH X0VOVFJZKEdDLCAwLCBtbVNRQ19FRENfQ05UKSwNCj4gKwkgIDEsIDYsIFJFR19GSUVMRF9NQVNL KFNRQ19FRENfQ05ULCBEQVRBX0NVMF9XUklURV9EQVRBX0JVRl9TRUNfQ09VTlQpLA0KPiArCSAg UkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQsIERBVEFfQ1UwX1dSSVRFX0RBVEFfQlVGX0RFRF9D T1VOVCkgfSwNCj4gKwl7ICJTUUNfREFUQV9DVTBfVVRDTDFfTEZJRk8iLCBTT0MxNV9SRUdfRU5U UlkoR0MsIDAsIG1tU1FDX0VEQ19DTlQpLCAxLA0KPiArCSAgNiwgUkVHX0ZJRUxEX01BU0soU1FD X0VEQ19DTlQsIERBVEFfQ1UwX1VUQ0wxX0xGSUZPX1NFQ19DT1VOVCksDQo+ICsJICBSRUdfRklF TERfTUFTSyhTUUNfRURDX0NOVCwgREFUQV9DVTBfVVRDTDFfTEZJRk9fREVEX0NPVU5UKSB9LA0K PiArCXsgIlNRQ19EQVRBX0NVMV9XUklURV9EQVRBX0JVRiIsIFNPQzE1X1JFR19FTlRSWShHQywg MCwgbW1TUUNfRURDX0NOVCksDQo+ICsJICAxLCA2LCBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NO VCwgREFUQV9DVTFfV1JJVEVfREFUQV9CVUZfU0VDX0NPVU5UKSwNCj4gKwkgIFJFR19GSUVMRF9N QVNLKFNRQ19FRENfQ05ULCBEQVRBX0NVMV9XUklURV9EQVRBX0JVRl9ERURfQ09VTlQpIH0sDQo+ ICsJeyAiU1FDX0RBVEFfQ1UxX1VUQ0wxX0xGSUZPIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBt bVNRQ19FRENfQ05UKSwgMSwNCj4gKwkgIDYsIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05ULCBE QVRBX0NVMV9VVENMMV9MRklGT19TRUNfQ09VTlQpLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soU1FD X0VEQ19DTlQsIERBVEFfQ1UxX1VUQ0wxX0xGSUZPX0RFRF9DT1VOVCkgfSwNCj4gKwl7ICJTUUNf REFUQV9DVTJfV1JJVEVfREFUQV9CVUYiLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tU1FDX0VE Q19DTlQpLA0KPiArCSAgMSwgNiwgUkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQsIERBVEFfQ1Uy X1dSSVRFX0RBVEFfQlVGX1NFQ19DT1VOVCksDQo+ICsJICBSRUdfRklFTERfTUFTSyhTUUNfRURD X0NOVCwgREFUQV9DVTJfV1JJVEVfREFUQV9CVUZfREVEX0NPVU5UKSB9LA0KPiArCXsgIlNRQ19E QVRBX0NVMl9VVENMMV9MRklGTyIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NO VCksIDEsDQo+ICsJICA2LCBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NOVCwgREFUQV9DVTJfVVRD TDFfTEZJRk9fU0VDX0NPVU5UKSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05ULCBE QVRBX0NVMl9VVENMMV9MRklGT19ERURfQ09VTlQpIH0sDQo+ICsJeyAiU1FDX0lOU1RfQkFOS0Ff VEFHX1JBTSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NOVDIpLCAxLA0KPiAr CSAgNiwgUkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQyLCBJTlNUX0JBTktBX1RBR19SQU1fU0VD X0NPVU5UKSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05UMiwgSU5TVF9CQU5LQV9U QUdfUkFNX0RFRF9DT1VOVCkgfSwNCj4gKwl7ICJTUUNfSU5TVF9CQU5LQV9CQU5LX1JBTSIsIFNP QzE1X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NOVDIpLCAxLA0KPiArCSAgNiwgUkVHX0ZJ RUxEX01BU0soU1FDX0VEQ19DTlQyLCBJTlNUX0JBTktBX0JBTktfUkFNX1NFQ19DT1VOVCksDQo+ ICsJICBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NOVDIsIElOU1RfQkFOS0FfQkFOS19SQU1fREVE X0NPVU5UKSB9LA0KPiArCXsgIlNRQ19EQVRBX0JBTktBX1RBR19SQU0iLCBTT0MxNV9SRUdfRU5U UlkoR0MsIDAsIG1tU1FDX0VEQ19DTlQyKSwgMSwNCj4gKwkgIDYsIFJFR19GSUVMRF9NQVNLKFNR Q19FRENfQ05UMiwgREFUQV9CQU5LQV9UQUdfUkFNX1NFQ19DT1VOVCksDQo+ICsJICBSRUdfRklF TERfTUFTSyhTUUNfRURDX0NOVDIsIERBVEFfQkFOS0FfVEFHX1JBTV9ERURfQ09VTlQpIH0sDQo+ ICsJeyAiU1FDX0RBVEFfQkFOS0FfQkFOS19SQU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1t U1FDX0VEQ19DTlQyKSwgMSwNCj4gKwkgIDYsIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05UMiwg REFUQV9CQU5LQV9CQU5LX1JBTV9TRUNfQ09VTlQpLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soU1FD X0VEQ19DTlQyLCBEQVRBX0JBTktBX0JBTktfUkFNX0RFRF9DT1VOVCkgfSwNCj4gKwl7ICJTUUNf SU5TVF9CQU5LQV9VVENMMV9NSVNTX0ZJRk8iLA0KPiArCSAgU09DMTVfUkVHX0VOVFJZKEdDLCAw LCBtbVNRQ19FRENfQ05UMiksIDEsIDYsDQo+ICsJICBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NO VDIsIElOU1RfQkFOS0FfVVRDTDFfTUlTU19GSUZPX1NFRF9DT1VOVCksDQo+ICsJICAwIH0sDQo+ ICsJeyAiU1FDX0lOU1RfQkFOS0FfTUlTU19GSUZPIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBt bVNRQ19FRENfQ05UMiksIDEsDQo+ICsJICA2LCBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NOVDIs IElOU1RfQkFOS0FfTUlTU19GSUZPX1NFRF9DT1VOVCksIDAgfSwNCj4gKwl7ICJTUUNfREFUQV9C QU5LQV9ISVRfRklGTyIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NOVDIpLCAx LA0KPiArCSAgNiwgUkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQyLCBEQVRBX0JBTktBX0hJVF9G SUZPX1NFRF9DT1VOVCksIDAgfSwNCj4gKwl7ICJTUUNfREFUQV9CQU5LQV9NSVNTX0ZJRk8iLCBT T0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tU1FDX0VEQ19DTlQyKSwgMSwNCj4gKwkgIDYsIFJFR19G SUVMRF9NQVNLKFNRQ19FRENfQ05UMiwgREFUQV9CQU5LQV9NSVNTX0ZJRk9fU0VEX0NPVU5UKSwg MCB9LA0KPiArCXsgIlNRQ19EQVRBX0JBTktBX0RJUlRZX0JJVF9SQU0iLA0KPiArCSAgU09DMTVf UkVHX0VOVFJZKEdDLCAwLCBtbVNRQ19FRENfQ05UMiksIDEsIDYsDQo+ICsJICBSRUdfRklFTERf TUFTSyhTUUNfRURDX0NOVDIsIERBVEFfQkFOS0FfRElSVFlfQklUX1JBTV9TRURfQ09VTlQpLCAw IH0sDQo+ICsJeyAiU1FDX0lOU1RfVVRDTDFfTEZJRk8iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAs IG1tU1FDX0VEQ19DTlQyKSwgMSwgNiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05U MiwgSU5TVF9VVENMMV9MRklGT19TRUNfQ09VTlQpLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soU1FD X0VEQ19DTlQyLCBJTlNUX1VUQ0wxX0xGSUZPX0RFRF9DT1VOVCkgfSwNCj4gKwl7ICJTUUNfSU5T VF9CQU5LQl9UQUdfUkFNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVNRQ19FRENfQ05UMyks IDEsDQo+ICsJICA2LCBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NOVDMsIElOU1RfQkFOS0JfVEFH X1JBTV9TRUNfQ09VTlQpLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQzLCBJTlNU X0JBTktCX1RBR19SQU1fREVEX0NPVU5UKSB9LA0KPiArCXsgIlNRQ19JTlNUX0JBTktCX0JBTktf UkFNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVNRQ19FRENfQ05UMyksIDEsDQo+ICsJICA2 LCBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NOVDMsIElOU1RfQkFOS0JfQkFOS19SQU1fU0VDX0NP VU5UKSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05UMywgSU5TVF9CQU5LQl9CQU5L X1JBTV9ERURfQ09VTlQpIH0sDQo+ICsJeyAiU1FDX0RBVEFfQkFOS0JfVEFHX1JBTSIsIFNPQzE1 X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NOVDMpLCAxLA0KPiArCSAgNiwgUkVHX0ZJRUxE X01BU0soU1FDX0VEQ19DTlQzLCBEQVRBX0JBTktCX1RBR19SQU1fU0VDX0NPVU5UKSwNCj4gKwkg IFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05UMywgREFUQV9CQU5LQl9UQUdfUkFNX0RFRF9DT1VO VCkgfSwNCj4gKwl7ICJTUUNfREFUQV9CQU5LQl9CQU5LX1JBTSIsIFNPQzE1X1JFR19FTlRSWShH QywgMCwgbW1TUUNfRURDX0NOVDMpLCAxLA0KPiArCSAgNiwgUkVHX0ZJRUxEX01BU0soU1FDX0VE Q19DTlQzLCBEQVRBX0JBTktCX0JBTktfUkFNX1NFQ19DT1VOVCksDQo+ICsJICBSRUdfRklFTERf TUFTSyhTUUNfRURDX0NOVDMsIERBVEFfQkFOS0JfQkFOS19SQU1fREVEX0NPVU5UKSB9LA0KPiAr CXsgIlNRQ19JTlNUX0JBTktCX1VUQ0wxX01JU1NfRklGTyIsDQo+ICsJICBTT0MxNV9SRUdfRU5U UlkoR0MsIDAsIG1tU1FDX0VEQ19DTlQzKSwgMSwgNiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKFNR Q19FRENfQ05UMywgSU5TVF9CQU5LQl9VVENMMV9NSVNTX0ZJRk9fU0VEX0NPVU5UKSwNCj4gKwkg IDAgfSwNCj4gKwl7ICJTUUNfSU5TVF9CQU5LQl9NSVNTX0ZJRk8iLCBTT0MxNV9SRUdfRU5UUlko R0MsIDAsIG1tU1FDX0VEQ19DTlQzKSwgMSwNCj4gKwkgIDYsIFJFR19GSUVMRF9NQVNLKFNRQ19F RENfQ05UMywgSU5TVF9CQU5LQl9NSVNTX0ZJRk9fU0VEX0NPVU5UKSwgMCB9LA0KPiArCXsgIlNR Q19EQVRBX0JBTktCX0hJVF9GSUZPIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVNRQ19FRENf Q05UMyksIDEsDQo+ICsJICA2LCBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NOVDMsIERBVEFfQkFO S0JfSElUX0ZJRk9fU0VEX0NPVU5UKSwgMCB9LA0KPiArCXsgIlNRQ19EQVRBX0JBTktCX01JU1Nf RklGTyIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NOVDMpLCAxLA0KPiArCSAg NiwgUkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQzLCBEQVRBX0JBTktCX01JU1NfRklGT19TRURf Q09VTlQpLCAwIH0sDQo+ICsJeyAiU1FDX0RBVEFfQkFOS0JfRElSVFlfQklUX1JBTSIsDQo+ICsJ ICBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tU1FDX0VEQ19DTlQzKSwgMSwgNiwNCj4gKwkgIFJF R19GSUVMRF9NQVNLKFNRQ19FRENfQ05UMywgREFUQV9CQU5LQl9ESVJUWV9CSVRfUkFNX1NFRF9D T1VOVCksIDAgfSwNCj4gKwl7ICJFQV9EUkFNUkRfQ01ETUVNIiwgU09DMTVfUkVHX0VOVFJZKEdD LCAwLCBtbUdDRUFfRURDX0NOVCksIDAsIDMyLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soR0NFQV9F RENfQ05ULCBEUkFNUkRfQ01ETUVNX1NFQ19DT1VOVCksDQo+ICsJICBSRUdfRklFTERfTUFTSyhH Q0VBX0VEQ19DTlQsIERSQU1SRF9DTURNRU1fREVEX0NPVU5UKSB9LA0KPiArCXsgIkVBX0RSQU1X Ul9DTURNRU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0NFQV9FRENfQ05UKSwgMCwgMzIs DQo+ICsJICBSRUdfRklFTERfTUFTSyhHQ0VBX0VEQ19DTlQsIERSQU1XUl9DTURNRU1fU0VDX0NP VU5UKSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NOVCwgRFJBTVdSX0NNRE1FTV9E RURfQ09VTlQpIH0sDQo+ICsJeyAiRUFfRFJBTVdSX0RBVEFNRU0iLCBTT0MxNV9SRUdfRU5UUlko R0MsIDAsIG1tR0NFQV9FRENfQ05UKSwgMCwgMzIsDQo+ICsJICBSRUdfRklFTERfTUFTSyhHQ0VB X0VEQ19DTlQsIERSQU1XUl9EQVRBTUVNX1NFQ19DT1VOVCksDQo+ICsJICBSRUdfRklFTERfTUFT SyhHQ0VBX0VEQ19DTlQsIERSQU1XUl9EQVRBTUVNX0RFRF9DT1VOVCkgfSwNCj4gKwl7ICJFQV9S UkVUX1RBR01FTSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1HQ0VBX0VEQ19DTlQpLCAwLCAz MiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NOVCwgUlJFVF9UQUdNRU1fU0VDX0NP VU5UKSwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NOVCwgUlJFVF9UQUdNRU1fREVE X0NPVU5UKSB9LA0KPiArCXsgIkVBX1dSRVRfVEFHTUVNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAw LCBtbUdDRUFfRURDX0NOVCksIDAsIDMyLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soR0NFQV9FRENf Q05ULCBXUkVUX1RBR01FTV9TRUNfQ09VTlQpLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soR0NFQV9F RENfQ05ULCBXUkVUX1RBR01FTV9ERURfQ09VTlQpIH0sDQo+ICsJeyAiRUFfRFJBTVJEX1BBR0VN RU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0NFQV9FRENfQ05UKSwgMCwgMzIsDQo+ICsJ ICBSRUdfRklFTERfTUFTSyhHQ0VBX0VEQ19DTlQsIERSQU1SRF9QQUdFTUVNX1NFRF9DT1VOVCks IDAgfSwNCj4gKwl7ICJFQV9EUkFNV1JfUEFHRU1FTSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwg bW1HQ0VBX0VEQ19DTlQpLCAwLCAzMiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NO VCwgRFJBTVdSX1BBR0VNRU1fU0VEX0NPVU5UKSwgMCB9LA0KPiArCXsgIkVBX0lPUkRfQ01ETUVN IiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUdDRUFfRURDX0NOVCksIDAsIDMyLA0KPiArCSAg UkVHX0ZJRUxEX01BU0soR0NFQV9FRENfQ05ULCBJT1JEX0NNRE1FTV9TRURfQ09VTlQpLCAwIH0s DQo+ICsJeyAiRUFfSU9XUl9DTURNRU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0NFQV9F RENfQ05UKSwgMCwgMzIsDQo+ICsJICBSRUdfRklFTERfTUFTSyhHQ0VBX0VEQ19DTlQsIElPV1Jf Q01ETUVNX1NFRF9DT1VOVCksIDAgfSwNCj4gKwl7ICJFQV9JT1dSX0RBVEFNRU0iLCBTT0MxNV9S RUdfRU5UUlkoR0MsIDAsIG1tR0NFQV9FRENfQ05UKSwgMCwgMzIsDQo+ICsJICBSRUdfRklFTERf TUFTSyhHQ0VBX0VEQ19DTlQsIElPV1JfREFUQU1FTV9TRURfQ09VTlQpLCAwIH0sDQo+ICsJeyAi R01JUkRfQ01ETUVNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUdDRUFfRURDX0NOVDIpLCAw LCAzMiwNCj4gKwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NOVDIsIEdNSVJEX0NNRE1FTV9T RUNfQ09VTlQpLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soR0NFQV9FRENfQ05UMiwgR01JUkRfQ01E TUVNX0RFRF9DT1VOVCkgfSwNCj4gKwl7ICJHTUlXUl9DTURNRU0iLCBTT0MxNV9SRUdfRU5UUlko R0MsIDAsIG1tR0NFQV9FRENfQ05UMiksIDAsIDMyLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soR0NF QV9FRENfQ05UMiwgR01JV1JfQ01ETUVNX1NFQ19DT1VOVCksDQo+ICsJICBSRUdfRklFTERfTUFT SyhHQ0VBX0VEQ19DTlQyLCBHTUlXUl9DTURNRU1fREVEX0NPVU5UKSB9LA0KPiArCXsgIkdNSVdS X0RBVEFNRU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0NFQV9FRENfQ05UMiksIDAsIDMy LA0KPiArCSAgUkVHX0ZJRUxEX01BU0soR0NFQV9FRENfQ05UMiwgR01JV1JfREFUQU1FTV9TRUNf Q09VTlQpLA0KPiArCSAgUkVHX0ZJRUxEX01BU0soR0NFQV9FRENfQ05UMiwgR01JV1JfREFUQU1F TV9ERURfQ09VTlQpIH0sDQo+ICsJeyAiR01JUkRfUEFHRU1FTSIsIFNPQzE1X1JFR19FTlRSWShH QywgMCwgbW1HQ0VBX0VEQ19DTlQyKSwgMCwgMzIsDQo+ICsJICBSRUdfRklFTERfTUFTSyhHQ0VB X0VEQ19DTlQyLCBHTUlSRF9QQUdFTUVNX1NFRF9DT1VOVCksIDAgfSwNCj4gKwl7ICJHTUlXUl9Q QUdFTUVNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUdDRUFfRURDX0NOVDIpLCAwLCAzMiwN Cj4gKwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NOVDIsIEdNSVdSX1BBR0VNRU1fU0VEX0NP VU5UKSwgMCB9LA0KPiArCXsgIk1BTV9EME1FTSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1H Q0VBX0VEQ19DTlQyKSwgMCwgMzIsDQo+ICsJICBSRUdfRklFTERfTUFTSyhHQ0VBX0VEQ19DTlQy LCBNQU1fRDBNRU1fU0VEX0NPVU5UKSwgMCB9LA0KPiArCXsgIk1BTV9EMU1FTSIsIFNPQzE1X1JF R19FTlRSWShHQywgMCwgbW1HQ0VBX0VEQ19DTlQyKSwgMCwgMzIsDQo+ICsJICBSRUdfRklFTERf TUFTSyhHQ0VBX0VEQ19DTlQyLCBNQU1fRDFNRU1fU0VEX0NPVU5UKSwgMCB9LA0KPiArCXsgIk1B TV9EMk1FTSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1HQ0VBX0VEQ19DTlQyKSwgMCwgMzIs DQo+ICsJICBSRUdfRklFTERfTUFTSyhHQ0VBX0VEQ19DTlQyLCBNQU1fRDJNRU1fU0VEX0NPVU5U KSwgMCB9LA0KPiArCXsgIk1BTV9EM01FTSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1HQ0VB X0VEQ19DTlQyKSwgMCwgMzIsDQo+ICsJICBSRUdfRklFTERfTUFTSyhHQ0VBX0VEQ19DTlQyLCBN QU1fRDNNRU1fU0VEX0NPVU5UKSwgMCB9LA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGludCBnZnhf djlfMF9yYXNfZXJyb3JfaW5qZWN0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPiArCQkJ CSAgICAgdm9pZCAqaW5qZWN0X2lmKQ0KPiArew0KPiArCXN0cnVjdCByYXNfaW5qZWN0X2lmICpp bmZvID0gKHN0cnVjdCByYXNfaW5qZWN0X2lmICopaW5qZWN0X2lmOw0KPiArCWludCByZXQ7DQo+ ICsJc3RydWN0IHRhX3Jhc190cmlnZ2VyX2Vycm9yX2lucHV0IGJsb2NrX2luZm8gPSB7IDAgfTsN Cj4gKw0KPiArCWlmIChhZGV2LT5hc2ljX3R5cGUgIT0gQ0hJUF9WRUdBMjApDQo+ICsJCXJldHVy biAtRUlOVkFMOw0KPiArDQo+ICsJaWYgKCFyYXNfZ2Z4X3N1YmJsb2Nrc1tpbmZvLT5oZWFkLnN1 Yl9ibG9ja19pbmRleF0ubmFtZSkNCj4gKwkJcmV0dXJuIC1FUEVSTTsNCj4gKw0KPiArCWlmICgh KHJhc19nZnhfc3ViYmxvY2tzW2luZm8tPmhlYWQuc3ViX2Jsb2NrX2luZGV4XS5zdXBwb3J0ZWRf ZXJyb3JfdHlwZSAmDQo+ICsJICAgICAgaW5mby0+aGVhZC50eXBlKSkNCj4gKwkJcmV0dXJuIC1F UEVSTTsNCj4gKw0KPiArCWJsb2NrX2luZm8uYmxvY2tfaWQgPSBhbWRncHVfcmFzX2Jsb2NrX3Rv X3RhKGluZm8tPmhlYWQuYmxvY2spOw0KPiArCWJsb2NrX2luZm8uc3ViX2Jsb2NrX2luZGV4ID0N Cj4gKwkJcmFzX2dmeF9zdWJibG9ja3NbaW5mby0+aGVhZC5zdWJfYmxvY2tfaW5kZXhdLnRhX3N1 YmJsb2NrOw0KPiArCWJsb2NrX2luZm8uaW5qZWN0X2Vycm9yX3R5cGUgPSBhbWRncHVfcmFzX2Vy cm9yX3RvX3RhKGluZm8tPmhlYWQudHlwZSk7DQo+ICsJYmxvY2tfaW5mby5hZGRyZXNzID0gaW5m by0+YWRkcmVzczsNCj4gKwlibG9ja19pbmZvLnZhbHVlID0gaW5mby0+dmFsdWU7DQo+ICsNCj4g KwltdXRleF9sb2NrKCZhZGV2LT5ncmJtX2lkeF9tdXRleCk7DQo+ICsJcmV0ID0gcHNwX3Jhc190 cmlnZ2VyX2Vycm9yKCZhZGV2LT5wc3AsICZibG9ja19pbmZvKTsNCj4gKwltdXRleF91bmxvY2so JmFkZXYtPmdyYm1faWR4X211dGV4KTsNCj4gKw0KPiArCXJldHVybiByZXQ7DQo+ICt9DQo+ICsN Cj4gK3N0YXRpYyBpbnQgZ2Z4X3Y5XzBfcXVlcnlfcmFzX2Vycm9yX2NvdW50KHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LA0KPiArCQkJCQkgIHZvaWQgKnJhc19lcnJvcl9zdGF0dXMpDQo+ICt7 DQo+ICsJc3RydWN0IHJhc19lcnJfZGF0YSAqZXJyX2RhdGEgPSAoc3RydWN0IHJhc19lcnJfZGF0 YSAqKXJhc19lcnJvcl9zdGF0dXM7DQo+ICsJdWludDMyX3Qgc2VjX2NvdW50LCBkZWRfY291bnQ7 DQo+ICsJdWludDMyX3QgaTsNCj4gKwl1aW50MzJfdCByZWdfdmFsdWU7DQo+ICsJdWludDMyX3Qg c2VfaWQsIGluc3RhbmNlX2lkOw0KPiArDQo+ICsJaWYgKGFkZXYtPmFzaWNfdHlwZSAhPSBDSElQ X1ZFR0EyMCkNCj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gKwllcnJfZGF0YS0+dWVfY291 bnQgPSAwOw0KPiArCWVycl9kYXRhLT5jZV9jb3VudCA9IDA7DQo+ICsNCj4gKwltdXRleF9sb2Nr KCZhZGV2LT5ncmJtX2lkeF9tdXRleCk7DQo+ICsJZm9yIChzZV9pZCA9IDA7IHNlX2lkIDwgYWRl di0+Z2Z4LmNvbmZpZy5tYXhfc2hhZGVyX2VuZ2luZXM7IHNlX2lkKyspIHsNCj4gKwkJZm9yIChp bnN0YW5jZV9pZCA9IDA7IGluc3RhbmNlX2lkIDwgMjU2OyBpbnN0YW5jZV9pZCsrKSB7DQo+ICsJ CQlmb3IgKGkgPSAwOw0KPiBba2V2aW5dOg0KPiB3ZSBjYW4gdXNlIG1hY3JvIEFSUkFZX1NJWkUg dG8gcmVwcmVzZW50IHRoZSBsZW5ndGggb2YgdGhlIGFycmF5Lg0KPiArCQkJICAgICBpIDwgc2l6 ZW9mKGdmeF9yYXNfZWRjX3JlZ3MpIC8gc2l6ZW9mKGdmeF9yYXNfZWRjX3JlZ3NbMF0pOw0KPiAr CQkJICAgICBpKyspIHsNCj4gKwkJCQlpZiAoc2VfaWQgIT0gMCAmJg0KPiArCQkJCSAgICAhZ2Z4 X3Jhc19lZGNfcmVnc1tpXS5wZXJfc2VfaW5zdGFuY2UpDQo+ICsJCQkJCWNvbnRpbnVlOw0KPiAr CQkJCWlmIChpbnN0YW5jZV9pZCA+PSBnZnhfcmFzX2VkY19yZWdzW2ldLm51bV9pbnN0YW5jZSkN Cj4gKwkJCQkJY29udGludWU7DQo+ICsNCj4gKwkJCQlnZnhfdjlfMF9zZWxlY3Rfc2Vfc2goYWRl diwgc2VfaWQsIDAsDQo+ICsJCQkJCQkgICAgICBpbnN0YW5jZV9pZCk7DQo+ICsNCj4gKwkJCQly ZWdfdmFsdWUgPSBSUkVHMzIoDQo+ICsJCQkJCWFkZXYtPnJlZ19vZmZzZXRbZ2Z4X3Jhc19lZGNf cmVnc1tpXS5pcF0NCj4gKwkJCQkJCQlbZ2Z4X3Jhc19lZGNfcmVnc1tpXS5pbnN0XQ0KPiArCQkJ CQkJCVtnZnhfcmFzX2VkY19yZWdzW2ldLnNlZ10gKw0KPiArCQkJCQlnZnhfcmFzX2VkY19yZWdz W2ldLnJlZ19vZmZzZXQpOw0KPiArCQkJCXNlY19jb3VudCA9IHJlZ192YWx1ZSAmDQo+ICsJCQkJ CSAgICBnZnhfcmFzX2VkY19yZWdzW2ldLnNlY19jb3VudF9tYXNrOw0KPiArCQkJCWRlZF9jb3Vu dCA9IHJlZ192YWx1ZSAmDQo+ICsJCQkJCSAgICBnZnhfcmFzX2VkY19yZWdzW2ldLmRlZF9jb3Vu dF9tYXNrOw0KPiArCQkJCWlmIChzZWNfY291bnQpIHsNCj4gKwkJCQkJRFJNX0lORk8oDQo+ICsJ CQkJCQkiSW5zdGFuY2VbJWRdWyVkXTogU3ViQmxvY2sgJXMsIFNFQyAlZFxuIiwNCj4gKwkJCQkJ CXNlX2lkLCBpbnN0YW5jZV9pZCwNCj4gKwkJCQkJCWdmeF9yYXNfZWRjX3JlZ3NbaV0ubmFtZSwN Cj4gKwkJCQkJCXNlY19jb3VudCk7DQo+ICsJCQkJCWVycl9kYXRhLT5jZV9jb3VudCsrOw0KPiAr CQkJCX0NCj4gKw0KPiArCQkJCWlmIChkZWRfY291bnQpIHsNCj4gKwkJCQkJRFJNX0lORk8oDQo+ ICsJCQkJCQkiSW5zdGFuY2VbJWRdWyVkXTogU3ViQmxvY2sgJXMsIERFRCAlZFxuIiwNCj4gKwkJ CQkJCXNlX2lkLCBpbnN0YW5jZV9pZCwNCj4gKwkJCQkJCWdmeF9yYXNfZWRjX3JlZ3NbaV0ubmFt ZSwNCj4gKwkJCQkJCWRlZF9jb3VudCk7DQo+ICsJCQkJCWVycl9kYXRhLT51ZV9jb3VudCsrOw0K PiArCQkJCX0NCj4gKwkJCX0NCj4gKwkJfQ0KPiArCX0NCj4gKwlnZnhfdjlfMF9zZWxlY3Rfc2Vf c2goYWRldiwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7DQo+ICsJbXV0ZXhf dW5sb2NrKCZhZGV2LT5ncmJtX2lkeF9tdXRleCk7DQo+ICsNCj4gKwlyZXR1cm4gMDsNCj4gK30N Cj4gKw0KPiAgIHN0YXRpYyBpbnQgZ2Z4X3Y5XzBfY3BfZWNjX2Vycm9yX2lycShzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwNCj4gICAJCQkJICBzdHJ1Y3QgYW1kZ3B1X2lycV9zcmMgKnNvdXJj ZSwNCj4gICAJCQkJICBzdHJ1Y3QgYW1kZ3B1X2l2X2VudHJ5ICplbnRyeSkNCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0 CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==