From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9C07845B12; Fri, 11 Oct 2024 14:17:01 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 331864028B; Fri, 11 Oct 2024 14:17:01 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 627F34025F for ; Fri, 11 Oct 2024 14:16:59 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 49B9hNXx003448; Fri, 11 Oct 2024 05:16:58 -0700 Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2175.outbound.protection.outlook.com [104.47.55.175]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 4271mmr6tn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 11 Oct 2024 05:16:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MxMGVm1r1vj0Q8/1Y4t1e7QJ5Xp5YP/xrIIFIC1RrBebA42SoAognmE/T+Irlr47PU4r/bu1t72i+SF9rLMeeKsPwuZI28L55lOs913ccEWH8EO2rL4dylRPu394q8wvs8sI4EjhGed+9RnfSmWbiTSVRFvdNcDkzfM+/ozLN3i2Vzs8IM9wYBb+X3E8GQbAtEq5cijSt0pj7Xm+w0q00Ojen6RO4PWSn0vixRbSipkOMri4xZyGN+SMdsFkhsYsJ0gbeFUjfzIQclxjuHnPvV9wxyG+vR4PdaBff0rD/yxJ2L0jglgH5jQPkJHifJoN9nADO2Boo6PCLATbCiVe1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/l1T70rVo5dm1+KKReRUcGgq2fAhEZwwCHwaEOMVbPQ=; b=C1qvEpwmJZfLuRJOY5Yng8vjg5srBLHZySpfUmnm27WJXgx9hq3UosZaDg0OMrl8aga0OaOPgVFocKqtjyb/FcBaEIp3ubRpOWBo5DvrSA6qQ7QzP1cd0QCnhaKHQyMjoaaLn89GlaNiTJf9ujSHjh3IqfXeRsW6x10sw3s+IRuSEHfozlDUGTtSpnKFwXfweUxHVsYrsn1VkubqLWywOwQ8aoiVQE1obGrNU8BDY6LQ+VCUwo4n63HcSUCj95qAY8o2WIVi3EYjkTx3HrHvKiW1+YSqbNh9dpg6VQZ4hY+AuPcBPGX6lWhVglzC+O1quV0wEKoykDdffPnbS+1izA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/l1T70rVo5dm1+KKReRUcGgq2fAhEZwwCHwaEOMVbPQ=; b=moESPAwgeesL9wsg9sJ9B9hlzhkiryHbA4jPTMYcy8mYOeiEGCt2E0nSr9jX8lr+qjogT5g1Dbnea5bpaFv8DhKGf7A38tAUrsMGuWWToRjIFzt9rY7Pta8HofGzyIpJxt8D7CUPQ1Q3HhRgvn3fK+dh3Ii8C4S6/0bTcCnQeSQ= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by CO6PR18MB3924.namprd18.prod.outlook.com (2603:10b6:5:340::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8048.20; Fri, 11 Oct 2024 12:16:53 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::3c98:dd36:4897:a51d]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::3c98:dd36:4897:a51d%5]) with mapi id 15.20.8048.018; Fri, 11 Oct 2024 12:16:52 +0000 From: Akhil Goyal To: Arkadiusz Kusztal , "dev@dpdk.org" CC: "brian.dooley@intel.com" Subject: RE: [EXTERNAL] [PATCH v5 4/4] app/test: add test sm2 C1/Kp test cases Thread-Topic: [EXTERNAL] [PATCH v5 4/4] app/test: add test sm2 C1/Kp test cases Thread-Index: AQHbGlXn+6UQ2WpFfUefBUKkBnN6HLKBeQXw Date: Fri, 11 Oct 2024 12:16:52 +0000 Message-ID: References: <20241008181433.57591-3-arkadiuszx.kusztal@intel.com> <20241009130147.38280-1-arkadiuszx.kusztal@intel.com> <20241009130147.38280-5-arkadiuszx.kusztal@intel.com> In-Reply-To: <20241009130147.38280-5-arkadiuszx.kusztal@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR18MB4484:EE_|CO6PR18MB3924:EE_ x-ms-office365-filtering-correlation-id: 52c35597-43d9-4665-76c6-08dce9ee9748 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?ckNFYit4dnd5MmFkUW9sMmlxZ2dJTTg4MFFQbEppOGd4ZHkxUFVIUmliWG5X?= =?utf-8?B?bTczMVVYeXlJeUdTb0REQ1c4WWFMb0Vnb1BxUXZsM0x1WXZha1ZTQkg2Wmht?= =?utf-8?B?ZiswdC9YL0xKTnUxclRTcXNpay9jLzhnbzVsNXBXUnhqVFQ4RjNBM2d3ZUVq?= =?utf-8?B?R3VVU3hlcW5seHV5QUlVTUNDZ0xOZzR3bFlrSm02UHhCMndnNUZ3c0hVVW0r?= =?utf-8?B?dnNXaFI2aW4xUEs0TVg2aXFEZFkrRTdlc05RaXFNTVhNVGtwclQ2SGthbjlQ?= =?utf-8?B?QkhTbU9ma01DNldEU21QZlVTek15eW5JdWhFRUdlNXF3Z1pRdUIwdkx5SXgx?= =?utf-8?B?L3hFMVJFYlV2YVMrbEFTbTIzTmRBL0llcVZJS0VuWVMwMDFmeTJ6YnY4NlFG?= =?utf-8?B?a01mbVUvbVBFZDZjTnh0Tk1STEtyR3pCRXlSMVNPbWczMTJSb3E2RG9saEcr?= =?utf-8?B?a083ZytHNzlZQ0JyaVVyOU52VXZpYjFhUXBhaUFwY3NWSGdIUlgrU2F3Mzl6?= =?utf-8?B?T2luM2JpUnhvQ2J6WWFtRmJZQTNEbHhWWG5PYllzdFVrcXNlY01FS0ZMWEJx?= =?utf-8?B?aGZmNmFJZ1JiNldkQ2l5VTRQcTNWOGc1NnZiQWJqVTBUenVmMVgxSzVSSWFl?= =?utf-8?B?YnpyT3NvR1Q5NnR1K0hzOEVqR1dLM0xJc3V2UlQrakx0QUgxSzAvMDAvUUVR?= =?utf-8?B?YXRzLzl1R3B0Z1IvKzVLQnRaY2tsazhrK0lxbHBURkhYSFlURGwwUnY4bitm?= =?utf-8?B?SzdWU285amhmZ1VaeVJnNW9pRi82Ukh6WTN6S0Mzdjh2MTNDdVgvNXFKRklS?= =?utf-8?B?ZGJWSWNXWlZiZnBwbEZWTVdFNTN3Z21DUjFtRWhYelRYaTIxc0VzY2ZpZExX?= =?utf-8?B?NFFwcmZCSzIySE91eVljVk10QTFIQUlSOHBKUkRoUG56WXJ1SWZpbW9tRDVY?= =?utf-8?B?RGR1bURLZm12aHdDNkZqRlNXYmlvekFqam9LUzdQTE9PYk9DRHRNaDdiUjBQ?= =?utf-8?B?R1VuSWpvb000WWVRelRHQnZxMXRveUVORHFHWWtuZm5GYlhIeWtRL3ordUJZ?= =?utf-8?B?U0ZhbllrQXZNTURWbjFkbml6dlk3QXFlb0xmYnUzT3Y5Nk1wVi96N2x4dC83?= =?utf-8?B?SGw5QVV3bnVaZmVUS2dXbFJMZ3NYRjQ3b2s3QU13ZC9odUlMSTA1NlZnWlQ1?= =?utf-8?B?TTA4bTRXZHZhY0M5RnNnTko3S05MU0w5eU5ubzVlejk5bU5FVWhGM3JCdG0y?= =?utf-8?B?UVVQcXp3a0p3MlV5L0tOVUdTTExROVVHMWVEQ2pGa3dVbnhnS0RQT3RGWnF3?= =?utf-8?B?Y1VTT1lqQUdDUmgrb1VDMVR2YWtpTTBvc21YbVFRcHNYRitSSXFhM0QvSXk4?= =?utf-8?B?U2xidEpsR3VzdGM0R0RWUVkrdHRlZlFLdUQxakZUZDRGbjg3VkRQemhrS3Q0?= =?utf-8?B?L05uMUJwZTNsUWhYVmF1ejNzNURucFh4SmF1dzBJL2FVMGVkYktLOW5rWWNW?= =?utf-8?B?U01jWURseUQ4MnB0QTFpMlF6SThRY1JhRjNtRzdsNXpMZXU2MHRGSGt5djFT?= =?utf-8?B?aWhPNDk1bWJMcitpLzROcHdnckZBWkQ0S1d6R0xFUzcxaktFMTlPRFVCRFBu?= =?utf-8?B?aWUwcE5CaXpjY3NJa2RUVS93OHkwWFlSbDY0L0ljQTV4N0pmeXZqZ291aytt?= =?utf-8?B?Tk9lcWJib2g0MDFFd2Q5T1dDOFhUSi8ybmY4c3hmTE9tUEJQbWdmdUZmQVlU?= =?utf-8?B?Mkhjc1paN1IybmpqMTRxempPSUQwcm5pR3JRc0x2ZWdrQ2tsSWJ2ZjNhQkMz?= =?utf-8?B?L3loRnZwMFJibWRiVEFqZz09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB4484.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZkRRY09uU1lRMjhlWFFPKysxUlJwdGV1QXZvUjFqYWphcElBcXMvTXBrSmNN?= =?utf-8?B?YnF3QWxNNk9UQ2x5T1VVdjhmdC9rMVVVcUxjM1RBbVVQSlNHK1hNZzdkT1oy?= =?utf-8?B?anF2WkZQdHJzRnpGNzMvSW5oaU96bE9CenpBSmdKY1NPUTJnZk1nd0JLbFg5?= =?utf-8?B?cm5scmw0UzJ4ekduUjRrNFdKcjFsREU2MlhHKzl4cVZPekY3cE4ybCtwaDNN?= =?utf-8?B?TlhMNS9SWFRSaUFoellyQ0RjSTd6czhKY21HR3RGVXBLUi9RUU5tUVRYenBB?= =?utf-8?B?UHFlU0p4WG1HVmp5R2hYSnhJQUxONzloUFJzeWdtU1BEQU5PSTl4RlpQNWVt?= =?utf-8?B?UG1mbkZLVTRrdFUrVnkxUlMrVmNEWkxCSVdlOUo0MTVEWkVBR0RJcWtpVHMz?= =?utf-8?B?TFgyT1RwUllJbGEvcUpYZUd1SU1ucDVSZW1rZXg0ellGYUZyMnhhSnc1Y1Mw?= =?utf-8?B?OHdpS0hvektib2hQWjZ3TzlKT01KY1lvY0w5c2hQc3RVdzBhMjJuTkVCZTMx?= =?utf-8?B?dFlyWlJ0eWIremExei9EbDRqTDV5aC80d2gwMFFvQjlXcWwwd1hJeHcxdGcx?= =?utf-8?B?am1BUG5Pb09IN1gxMDN1NTZlUTEyaVhaMklNU0thY3VmTFkxY29rUExKYS9M?= =?utf-8?B?b3lTZldOMUhsWC82R3Mvc0Z4RHRxQjB6Wk1ZeXhuNlpidENIU1FWcCtnWGl2?= =?utf-8?B?T0t1cUM5bjJjOHp3YktETU5VcTBHTUhMTjF1UmpQendpMVl3MU9IVWhLS3hr?= =?utf-8?B?cTlJWHAzWWFLdFkyM090aHVDdGZnV3hqTk1GSVFsWkJXZ0JJaW9SQUpiODkw?= =?utf-8?B?bXRHQ1hmRCt1TXR4WDg5eHBPUVVvRXhjVnl6MzVrTVEzSzVVUUhjck9wWlZW?= =?utf-8?B?ZEgzL0xKNE40Mkg1ci9EY1pnbFVyOW11KzkrdXd6VnhBRUJ3UWpYMkNmZWNY?= =?utf-8?B?WXVVNWVQMUVRTmg4SkdCLzk3clN5enB3VkZ5WTgvZlpEN1ZVVXl6dSs5TEtS?= =?utf-8?B?RFNnSXdMb1krYkxUZU41dTR2VUtGbUlpZUIzbnFuZ1I3UmRtRWhLd1h3eXIr?= =?utf-8?B?UkFGMmcxMFhvYTdGUmtjb2NVMUgzc24xZExCc3Fyc0NzOUZCOGVRZjlZdnor?= =?utf-8?B?MUJzcVNWeStjdDVwTm5jWnRrRklwUlFINDlTS3QwSnlveXhTL3Jxa1NVbFYx?= =?utf-8?B?NXBmeUx1QW9iV2VFbFlQaVByWUZ5b1J0TWgzMUorZDUyLzJISm5oZTJQVkYv?= =?utf-8?B?aEpadC9jR2R6M1laTnh5ZXY5VDRKOGVEMGs5dTFISTlHa3V5RTg4QnJTa1cw?= =?utf-8?B?WVFCTmNVN2E0bzVtSlUwYUg1Mmh6NVhqRlJrM0xLMXhSOHlZWi9SL3c5UHJW?= =?utf-8?B?bWtoaForVGhBVHJIUFdnZGVvTklqSlo2QWhqS1hod2NxTTZRR2E1ZGN3N3Rp?= =?utf-8?B?eUhUSFF6NGNNaGhVc2lJYnhTMnp1TEF3alRDOU1pK1NtTkJuMjVKbHB2UWth?= =?utf-8?B?UE15cUd2T0ZlOHdmNy94MVhTdWRHeXJVczNyOEVzaDVwRmM4VXFBcUJIeDVp?= =?utf-8?B?bUN3TXZhcFhwd3RSUWNXSnV6ekhzSmc0Y3hhQ1BGWnBwdEtHVU9PellpNEFX?= =?utf-8?B?aWRSYjdqS2FaZ0s1Z0MycEhhN29kaHdGOUJIQ2NwbURTc0NkY0NCSnNQczVS?= =?utf-8?B?dktxZnhyRCtiMW56MitBRE10SlNwV0MzT1lXUnIzV05NdGY1Ri9JK0R3NFQ2?= =?utf-8?B?VEZvY0xmUzlZKzVQbFpSTUJKcjhYSXBETWpJc2F2M24xNkJIN2tYc0NiYlFX?= =?utf-8?B?LzZ0b0NQN3RQTlVLbkxTNURrNWY0SFFieWxOWUMzRTNyNEZTL2dYZEZUYmhs?= =?utf-8?B?dDhUQWdNZitLOStaYXQwK0xBMFZLKzJ4TVFuckl3WFJHZUpVR1FtSXllbC92?= =?utf-8?B?QUNGb3pnTzVwbkhYS0V6cTVuVkw1K1cxUUlGRFB5Zkc4MXpwcWtZSG9YaTQw?= =?utf-8?B?UjRmZGhDMDFXWHVDM2hxa2w2MmNFK2E3dTRLMVpxbi8vNHlaQ3hUdUFCSHd1?= =?utf-8?B?VStEZlB4a1dZa2xCWXpOdEgrWmlzVG5Tc2JFcDlBOXFUUjR2TE54eGJXUWxO?= =?utf-8?Q?52jVpnBA63g1MOWWGyRyYZ2eQ?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB4484.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 52c35597-43d9-4665-76c6-08dce9ee9748 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Oct 2024 12:16:52.9072 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: DQjbnTumjprcemeDn7pGBq+VcqvDZykc7BZF+/eOW8FNLibaImoV/fLyI2XQzWdnpPhZnuQ78X9RCHgX0PNKAQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR18MB3924 X-Proofpoint-GUID: UjrVdnl-Ebh21UY9mEfjRe-IV9gRb41D X-Proofpoint-ORIG-GUID: UjrVdnl-Ebh21UY9mEfjRe-IV9gRb41D X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29 definitions=2024-09-06_09,2024-09-06_01,2024-09-02_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PiBUaGlzIGNvbW1pdCBhZGRzIHRlc3RzIGNhc2VzIHRvIGJlIHVzZWQgd2hlbiBDMSBvciBrUCBl bGxpcHRpYw0KPiBjdXJ2ZSBwb2ludHMgbmVlZCB0byBiZSBjb21wdXRlZC4NCj4gDQo+IFNpZ25l ZC1vZmYtYnk6IEFya2FkaXVzeiBLdXN6dGFsIDxhcmthZGl1c3p4Lmt1c3p0YWxAaW50ZWwuY29t Pg0KPiAtLS0NCj4gIGFwcC90ZXN0L3Rlc3RfY3J5cHRvZGV2X2FzeW0uYyAgICAgICAgICAgICB8 IDEzOA0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KPiAgYXBwL3Rlc3QvdGVzdF9j cnlwdG9kZXZfc20yX3Rlc3RfdmVjdG9ycy5oIHwgMTEyICsrKysrKysrKysrKysrKysrKysrKyst DQo+ICAyIGZpbGVzIGNoYW5nZWQsIDI0NiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0K PiANCj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0L3Rlc3RfY3J5cHRvZGV2X2FzeW0uYyBiL2FwcC90 ZXN0L3Rlc3RfY3J5cHRvZGV2X2FzeW0uYw0KPiBpbmRleCBmMGI1ZDM4NTQzLi42ZmM3ZTg3YzFm IDEwMDY0NA0KPiAtLS0gYS9hcHAvdGVzdC90ZXN0X2NyeXB0b2Rldl9hc3ltLmMNCj4gKysrIGIv YXBwL3Rlc3QvdGVzdF9jcnlwdG9kZXZfYXN5bS5jDQo+IEBAIC0yNjM1LDYgKzI2MzUsOCBAQCB0 ZXN0X3NtMl9zaWduKHZvaWQpDQo+ICAJCWFzeW1fb3AtPnNtMi5rLmRhdGEgPSBpbnB1dF9wYXJh bXMuay5kYXRhOw0KPiAgCQlhc3ltX29wLT5zbTIuay5sZW5ndGggPSBpbnB1dF9wYXJhbXMuay5s ZW5ndGg7DQo+ICAJfQ0KPiArCWFzeW1fb3AtPnNtMi5rLmRhdGEgPSBpbnB1dF9wYXJhbXMuay5k YXRhOw0KPiArCWFzeW1fb3AtPnNtMi5rLmxlbmd0aCA9IGlucHV0X3BhcmFtcy5rLmxlbmd0aDsN Cj4gDQo+ICAJLyogSW5pdCBvdXQgYnVmICovDQo+ICAJYXN5bV9vcC0+c20yLnIuZGF0YSA9IG91 dHB1dF9idWZfcjsNCj4gQEAgLTMxODQsNyArMzE4Niw3IEBAIHN0YXRpYyBpbnQgc2VuZF9vbmUo dm9pZCkNCj4gIAkJdGlja3MrKzsNCj4gIAkJaWYgKHRpY2tzID49IERFUV9USU1FT1VUKSB7DQo+ ICAJCQlSVEVfTE9HKEVSUiwgVVNFUjEsDQo+IC0JCQkJImxpbmUgJXUgRkFJTEVEOiBDYW5ub3Qg ZGVxdWV1ZSB0aGUgY3J5cHRvIG9wDQo+IG9uIGRldmljZSAlZCIsDQo+ICsJCQkJImxpbmUgJXUg RkFJTEVEOiBDYW5ub3QgZGVxdWV1ZSB0aGUgY3J5cHRvIG9wDQo+IG9uIGRldmljZSwgdGltZW91 dCAlZCIsDQo+ICAJCQkJX19MSU5FX18sIHBhcmFtcy0+dmFsaWRfZGV2c1swXSk7DQoNClVubmVj ZXNzYXJ5ICBhbmQgaW5jb3JyZWN0IGNoYW5nZS4NCg0KPiAgCQkJcmV0dXJuIFRFU1RfRkFJTEVE Ow0KPiAgCQl9DQo+IEBAIC0zNDg5LDYgKzM0OTEsMTMyIEBAIGthdF9yc2FfZGVjcnlwdF9jcnQo Y29uc3Qgdm9pZCAqZGF0YSkNCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gDQo+ICtzdGF0aWMgaW50 DQo+ICt0ZXN0X3NtMl9wYXJ0aWFsX2VuY3J5cHRpb24oY29uc3Qgdm9pZCAqZGF0YSkNCj4gK3sN Cj4gKwlzdHJ1Y3QgcnRlX2NyeXB0b19hc3ltX3hmb3JtIHhmb3JtID0geyAwIH07DQo+ICsJY29u c3QgdWludDhfdCBkZXZfaWQgPSBwYXJhbXMtPnZhbGlkX2RldnNbMF07DQo+ICsJY29uc3Qgc3Ry dWN0IGNyeXB0b190ZXN0c3VpdGVfc20yX3BhcmFtcyAqdGVzdF92ZWN0b3IgPSBkYXRhOw0KPiAr CXVpbnQ4X3QgcmVzdWx0X0MxX3gxW1RFU1RfREFUQV9TSVpFXSA9IHsgMCB9Ow0KPiArCXVpbnQ4 X3QgcmVzdWx0X0MxX3kxW1RFU1RfREFUQV9TSVpFXSA9IHsgMCB9Ow0KPiArCXVpbnQ4X3QgcmVz dWx0X2tQX3gxW1RFU1RfREFUQV9TSVpFXSA9IHsgMCB9Ow0KPiArCXVpbnQ4X3QgcmVzdWx0X2tQ X3kxW1RFU1RfREFUQV9TSVpFXSA9IHsgMCB9Ow0KPiArCXN0cnVjdCBydGVfY3J5cHRvZGV2X2Fz eW1fY2FwYWJpbGl0eV9pZHggaWR4Ow0KPiArCWNvbnN0IHN0cnVjdCBydGVfY3J5cHRvZGV2X2Fz eW1tZXRyaWNfeGZvcm1fY2FwYWJpbGl0eSAqY2FwYTsNCj4gKw0KPiArCWlkeC50eXBlID0gUlRF X0NSWVBUT19BU1lNX1hGT1JNX1NNMjsNCj4gKwljYXBhID0gcnRlX2NyeXB0b2Rldl9hc3ltX2Nh cGFiaWxpdHlfZ2V0KGRldl9pZCwgJmlkeCk7DQo+ICsJaWYgKGNhcGEgPT0gTlVMTCkNCj4gKwkJ cmV0dXJuIFRFU1RfU0tJUFBFRDsNCj4gKwlpZiAoIXJ0ZV9jcnlwdG9kZXZfYXN5bV94Zm9ybV9j YXBhYmlsaXR5X2NoZWNrX29wY2FwKGNhcGEsDQo+ICsJCQlSVEVfQ1JZUFRPX0FTWU1fT1BfRU5D UllQVCwNCj4gUlRFX0NSWVBUT19TTTJfUEFSVElBTCkpIHsNCj4gKwkJcmV0dXJuIFRFU1RfU0tJ UFBFRDsNCj4gKwl9DQo+ICsNCj4gKwl4Zm9ybS54Zm9ybV90eXBlID0gUlRFX0NSWVBUT19BU1lN X1hGT1JNX1NNMjsNCj4gKwl4Zm9ybS5lYy5jdXJ2ZV9pZCA9IFJURV9DUllQVE9fRUNfR1JPVVBf U00yOw0KPiArCXhmb3JtLmVjLnEgPSB0ZXN0X3ZlY3Rvci0+cHVia2V5Ow0KPiArCXNlbGYtPm9w LT5hc3ltLT5zbTIub3BfdHlwZSA9IFJURV9DUllQVE9fQVNZTV9PUF9FTkNSWVBUOw0KPiArCXNl bGYtPm9wLT5hc3ltLT5zbTIuayA9IHRlc3RfdmVjdG9yLT5rOw0KPiArCWlmIChydGVfY3J5cHRv ZGV2X2FzeW1fc2Vzc2lvbl9jcmVhdGUoZGV2X2lkLCAmeGZvcm0sDQo+ICsJCQlwYXJhbXMtPnNl c3Npb25fbXBvb2wsICZzZWxmLT5zZXNzKSA8IDApIHsNCj4gKwkJUlRFX0xPRyhFUlIsIFVTRVIx LCAibGluZSAldSBGQUlMRUQ6IFNlc3Npb24gY3JlYXRpb24gZmFpbGVkIiwNCj4gKwkJCV9fTElO RV9fKTsNCj4gKwkJcmV0dXJuIFRFU1RfRkFJTEVEOw0KPiArCX0NCj4gKwlydGVfY3J5cHRvX29w X2F0dGFjaF9hc3ltX3Nlc3Npb24oc2VsZi0+b3AsIHNlbGYtPnNlc3MpOw0KPiArDQo+ICsJc2Vs Zi0+b3AtPmFzeW0tPnNtMi5DMS54LmRhdGEgPSByZXN1bHRfQzFfeDE7DQo+ICsJc2VsZi0+b3At PmFzeW0tPnNtMi5DMS55LmRhdGEgPSByZXN1bHRfQzFfeTE7DQo+ICsJc2VsZi0+b3AtPmFzeW0t PnNtMi5rUC54LmRhdGEgPSByZXN1bHRfa1BfeDE7DQo+ICsJc2VsZi0+b3AtPmFzeW0tPnNtMi5r UC55LmRhdGEgPSByZXN1bHRfa1BfeTE7DQo+ICsJVEVTVF9BU1NFUlRfU1VDQ0VTUyhzZW5kX29u ZSgpLA0KPiArCQkiRmFpbGVkIHRvIHByb2Nlc3MgY3J5cHRvIG9wIik7DQo+ICsNCj4gKwlkZWJ1 Z19oZXhkdW1wKHN0ZG91dCwgIkMxW3hdIiwgc2VsZi0+b3AtPmFzeW0tPnNtMi5DMS54LmRhdGEs DQo+ICsJCXNlbGYtPm9wLT5hc3ltLT5zbTIuQzEueC5sZW5ndGgpOw0KPiArCWRlYnVnX2hleGR1 bXAoc3Rkb3V0LCAiQzFbeV0iLCBzZWxmLT5vcC0+YXN5bS0+c20yLkMxLnkuZGF0YSwNCj4gKwkJ c2VsZi0+b3AtPmFzeW0tPnNtMi5DMS55Lmxlbmd0aCk7DQo+ICsJZGVidWdfaGV4ZHVtcChzdGRv dXQsICJrUFt4XSIsIHNlbGYtPm9wLT5hc3ltLT5zbTIua1AueC5kYXRhLA0KPiArCQlzZWxmLT5v cC0+YXN5bS0+c20yLmtQLngubGVuZ3RoKTsNCj4gKwlkZWJ1Z19oZXhkdW1wKHN0ZG91dCwgImtQ W3ldIiwgc2VsZi0+b3AtPmFzeW0tPnNtMi5rUC55LmRhdGEsDQo+ICsJCXNlbGYtPm9wLT5hc3lt LT5zbTIua1AueS5sZW5ndGgpOw0KPiArDQo+ICsJVEVTVF9BU1NFUlRfQlVGRkVSU19BUkVfRVFV QUwodGVzdF92ZWN0b3ItPkMxLnguZGF0YSwNCj4gKwkJc2VsZi0+b3AtPmFzeW0tPnNtMi5DMS54 LmRhdGEsDQo+ICsJCXRlc3RfdmVjdG9yLT5DMS54Lmxlbmd0aCwNCj4gKwkJIkluY29ycmVjdCB2 YWx1ZSBvZiBDMVt4XVxuIik7DQo+ICsJVEVTVF9BU1NFUlRfQlVGRkVSU19BUkVfRVFVQUwodGVz dF92ZWN0b3ItPkMxLnkuZGF0YSwNCj4gKwkJc2VsZi0+b3AtPmFzeW0tPnNtMi5DMS55LmRhdGEs DQo+ICsJCXRlc3RfdmVjdG9yLT5DMS55Lmxlbmd0aCwNCj4gKwkJIkluY29ycmVjdCB2YWx1ZSBv ZiBDMVt5XVxuIik7DQo+ICsJVEVTVF9BU1NFUlRfQlVGRkVSU19BUkVfRVFVQUwodGVzdF92ZWN0 b3ItPmtQLnguZGF0YSwNCj4gKwkJc2VsZi0+b3AtPmFzeW0tPnNtMi5rUC54LmRhdGEsDQo+ICsJ CXRlc3RfdmVjdG9yLT5rUC54Lmxlbmd0aCwNCj4gKwkJIkluY29ycmVjdCB2YWx1ZSBvZiBrUFt4 XVxuIik7DQo+ICsJVEVTVF9BU1NFUlRfQlVGRkVSU19BUkVfRVFVQUwodGVzdF92ZWN0b3ItPmtQ LnkuZGF0YSwNCj4gKwkJc2VsZi0+b3AtPmFzeW0tPnNtMi5rUC55LmRhdGEsDQo+ICsJCXRlc3Rf dmVjdG9yLT5rUC55Lmxlbmd0aCwNCj4gKwkJIkluY29ycmVjdCB2YWx1ZSBvZiBrUFt5XVxuIik7 DQo+ICsNCj4gKwlyZXR1cm4gVEVTVF9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50 DQo+ICt0ZXN0X3NtMl9wYXJ0aWFsX2RlY3J5cHRpb24oY29uc3Qgdm9pZCAqZGF0YSkNCj4gK3sN Cj4gKwlzdHJ1Y3QgcnRlX2NyeXB0b19hc3ltX3hmb3JtIHhmb3JtID0ge307DQo+ICsJY29uc3Qg dWludDhfdCBkZXZfaWQgPSBwYXJhbXMtPnZhbGlkX2RldnNbMF07DQo+ICsJY29uc3Qgc3RydWN0 IGNyeXB0b190ZXN0c3VpdGVfc20yX3BhcmFtcyAqdGVzdF92ZWN0b3IgPSBkYXRhOw0KPiArCXVp bnQ4X3QgcmVzdWx0X2tQX3gxW1RFU1RfREFUQV9TSVpFXSA9IHsgMCB9Ow0KPiArCXVpbnQ4X3Qg cmVzdWx0X2tQX3kxW1RFU1RfREFUQV9TSVpFXSA9IHsgMCB9Ow0KPiArCXN0cnVjdCBydGVfY3J5 cHRvZGV2X2FzeW1fY2FwYWJpbGl0eV9pZHggaWR4Ow0KPiArCWNvbnN0IHN0cnVjdCBydGVfY3J5 cHRvZGV2X2FzeW1tZXRyaWNfeGZvcm1fY2FwYWJpbGl0eSAqY2FwYTsNCj4gKw0KPiArCWlkeC50 eXBlID0gUlRFX0NSWVBUT19BU1lNX1hGT1JNX1NNMjsNCj4gKwljYXBhID0gcnRlX2NyeXB0b2Rl dl9hc3ltX2NhcGFiaWxpdHlfZ2V0KGRldl9pZCwgJmlkeCk7DQo+ICsJaWYgKGNhcGEgPT0gTlVM TCkNCj4gKwkJcmV0dXJuIFRFU1RfU0tJUFBFRDsNCj4gKwlpZiAoIXJ0ZV9jcnlwdG9kZXZfYXN5 bV94Zm9ybV9jYXBhYmlsaXR5X2NoZWNrX29wY2FwKGNhcGEsDQo+ICsJCQlSVEVfQ1JZUFRPX0FT WU1fT1BfREVDUllQVCwNCj4gUlRFX0NSWVBUT19TTTJfUEFSVElBTCkpIHsNCj4gKwkJcmV0dXJu IFRFU1RfU0tJUFBFRDsNCj4gKwl9DQo+ICsNCj4gKwl4Zm9ybS54Zm9ybV90eXBlID0gUlRFX0NS WVBUT19BU1lNX1hGT1JNX1NNMjsNCj4gKwl4Zm9ybS5lYy5wa2V5ID0gdGVzdF92ZWN0b3ItPnBr ZXk7DQo+ICsJc2VsZi0+b3AtPmFzeW0tPnNtMi5vcF90eXBlID0gUlRFX0NSWVBUT19BU1lNX09Q X0RFQ1JZUFQ7DQo+ICsJc2VsZi0+b3AtPmFzeW0tPnNtMi5DMSA9IHRlc3RfdmVjdG9yLT5DMTsN Cj4gKw0KPiArCWlmIChydGVfY3J5cHRvZGV2X2FzeW1fc2Vzc2lvbl9jcmVhdGUoZGV2X2lkLCAm eGZvcm0sDQo+ICsJCQlwYXJhbXMtPnNlc3Npb25fbXBvb2wsICZzZWxmLT5zZXNzKSA8IDApIHsN Cj4gKwkJUlRFX0xPRyhFUlIsIFVTRVIxLCAibGluZSAldSBGQUlMRUQ6IFNlc3Npb24gY3JlYXRp b24gZmFpbGVkIiwNCj4gKwkJCV9fTElORV9fKTsNCj4gKwkJcmV0dXJuIFRFU1RfRkFJTEVEOw0K PiArCX0NCj4gKwlydGVfY3J5cHRvX29wX2F0dGFjaF9hc3ltX3Nlc3Npb24oc2VsZi0+b3AsIHNl bGYtPnNlc3MpOw0KPiArDQo+ICsJc2VsZi0+b3AtPmFzeW0tPnNtMi5rUC54LmRhdGEgPSByZXN1 bHRfa1BfeDE7DQo+ICsJc2VsZi0+b3AtPmFzeW0tPnNtMi5rUC55LmRhdGEgPSByZXN1bHRfa1Bf eTE7DQo+ICsJVEVTVF9BU1NFUlRfU1VDQ0VTUyhzZW5kX29uZSgpLA0KPiArCQkiRmFpbGVkIHRv IHByb2Nlc3MgY3J5cHRvIG9wIik7DQo+ICsNCj4gKwlkZWJ1Z19oZXhkdW1wKHN0ZG91dCwgImtQ W3hdIiwgc2VsZi0+b3AtPmFzeW0tPnNtMi5rUC54LmRhdGEsDQo+ICsJCXNlbGYtPm9wLT5hc3lt LT5zbTIuQzEueC5sZW5ndGgpOw0KPiArCWRlYnVnX2hleGR1bXAoc3Rkb3V0LCAia1BbeV0iLCBz ZWxmLT5vcC0+YXN5bS0+c20yLmtQLnkuZGF0YSwNCj4gKwkJc2VsZi0+b3AtPmFzeW0tPnNtMi5D MS55Lmxlbmd0aCk7DQo+ICsNCj4gKwlURVNUX0FTU0VSVF9CVUZGRVJTX0FSRV9FUVVBTCh0ZXN0 X3ZlY3Rvci0+a1AueC5kYXRhLA0KPiArCQlzZWxmLT5vcC0+YXN5bS0+c20yLmtQLnguZGF0YSwN Cj4gKwkJdGVzdF92ZWN0b3ItPmtQLngubGVuZ3RoLA0KPiArCQkiSW5jb3JyZWN0IHZhbHVlIG9m IGtQW3hdXG4iKTsNCj4gKwlURVNUX0FTU0VSVF9CVUZGRVJTX0FSRV9FUVVBTCh0ZXN0X3ZlY3Rv ci0+a1AueS5kYXRhLA0KPiArCQlzZWxmLT5vcC0+YXN5bS0+c20yLmtQLnkuZGF0YSwNCj4gKwkJ dGVzdF92ZWN0b3ItPmtQLnkubGVuZ3RoLA0KPiArCQkiSW5jb3JyZWN0IHZhbHVlIG9mIGtQW3ld XG4iKTsNCj4gKw0KPiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICBzdGF0aWMgc3RydWN0IHVu aXRfdGVzdF9zdWl0ZSBjcnlwdG9kZXZfb3BlbnNzbF9hc3ltX3Rlc3RzdWl0ZSAgPSB7DQo+ICAJ LnN1aXRlX25hbWUgPSAiQ3J5cHRvIERldmljZSBPUEVOU1NMIEFTWU0gVW5pdCBUZXN0IFN1aXRl IiwNCj4gIAkuc2V0dXAgPSB0ZXN0c3VpdGVfc2V0dXAsDQo+IEBAIC0zNTUzLDYgKzM2ODEsMTQg QEAgc3RhdGljIHN0cnVjdCB1bml0X3Rlc3Rfc3VpdGUNCj4gY3J5cHRvZGV2X3FhdF9hc3ltX3Rl c3RzdWl0ZSAgPSB7DQo+ICAJLnRlYXJkb3duID0gdGVzdHN1aXRlX3RlYXJkb3duLA0KPiAgCS51 bml0X3Rlc3RfY2FzZXMgPSB7DQo+ICAJCVRFU1RfQ0FTRV9OQU1FRF9XSVRIX0RBVEEoDQo+ICsJ CQkiU00yIGVuY3J5cHRpb24gLSB0ZXN0IGNhc2UgMSIsDQo+ICsJCQl1dF9zZXR1cF9hc3ltLCB1 dF90ZWFyZG93bl9hc3ltLA0KPiArCQkJdGVzdF9zbTJfcGFydGlhbF9lbmNyeXB0aW9uLCAmc20y X2VuY19od190MSksDQo+ICsJCVRFU1RfQ0FTRV9OQU1FRF9XSVRIX0RBVEEoDQo+ICsJCQkiU00y IGRlY3J5cHRpb24gLSB0ZXN0IGNhc2UgMSIsDQo+ICsJCQl1dF9zZXR1cF9hc3ltLCB1dF90ZWFy ZG93bl9hc3ltLA0KPiArCQkJdGVzdF9zbTJfcGFydGlhbF9kZWNyeXB0aW9uLCAmc20yX2VuY19o d190MSksDQo+ICsJCVRFU1RfQ0FTRV9OQU1FRF9XSVRIX0RBVEEoDQo+ICAJCQkiTW9kdWxhciBF eHBvbmVudGlhdGlvbiAobW9kPTEyOCwgYmFzZT0yMCwgZXhwPTMsDQo+IHJlcz0xMjgpIiwNCj4g IAkJCXV0X3NldHVwX2FzeW0sIHV0X3RlYXJkb3duX2FzeW0sDQo+ICAJCQltb2R1bGFyX2V4cG9u ZW50aWF0aW9uLA0KPiAmbW9kZXhfdGVzdF9jYXNlX20xMjhfYjIwX2UzKSwNCj4gZGlmZiAtLWdp dCBhL2FwcC90ZXN0L3Rlc3RfY3J5cHRvZGV2X3NtMl90ZXN0X3ZlY3RvcnMuaA0KPiBiL2FwcC90 ZXN0L3Rlc3RfY3J5cHRvZGV2X3NtMl90ZXN0X3ZlY3RvcnMuaA0KPiBpbmRleCA0MWY1ZjcwNzRh Li45MmY3ZTc3NjcxIDEwMDY0NA0KPiAtLS0gYS9hcHAvdGVzdC90ZXN0X2NyeXB0b2Rldl9zbTJf dGVzdF92ZWN0b3JzLmgNCj4gKysrIGIvYXBwL3Rlc3QvdGVzdF9jcnlwdG9kZXZfc20yX3Rlc3Rf dmVjdG9ycy5oDQo+IEBAIC04LDE5ICs4LDEyNSBAQA0KPiAgI2luY2x1ZGUgInJ0ZV9jcnlwdG9f YXN5bS5oIg0KPiANCj4gIHN0cnVjdCBjcnlwdG9fdGVzdHN1aXRlX3NtMl9wYXJhbXMgew0KPiAt CXJ0ZV9jcnlwdG9fcGFyYW0gcHVia2V5X3F4Ow0KPiAtCXJ0ZV9jcnlwdG9fcGFyYW0gcHVia2V5 X3F5Ow0KPiArCXVuaW9uIHsNCj4gKwkJc3RydWN0IHsNCj4gKwkJCXJ0ZV9jcnlwdG9fcGFyYW0g cHVia2V5X3F4Ow0KPiArCQkJcnRlX2NyeXB0b19wYXJhbSBwdWJrZXlfcXk7DQo+ICsJCX07DQo+ ICsJCXN0cnVjdCBydGVfY3J5cHRvX2VjX3BvaW50IHB1YmtleTsNCj4gKwl9Ow0KPiAgCXJ0ZV9j cnlwdG9fcGFyYW0gcGtleTsNCj4gIAlydGVfY3J5cHRvX3BhcmFtIGs7DQo+ICAJcnRlX2NyeXB0 b19wYXJhbSBzaWduX3I7DQo+ICAJcnRlX2NyeXB0b19wYXJhbSBzaWduX3M7DQo+ICAJcnRlX2Ny eXB0b19wYXJhbSBpZDsNCj4gLQlydGVfY3J5cHRvX3BhcmFtIGNpcGhlcjsNCj4gKwl1bmlvbiB7 DQo+ICsJCXJ0ZV9jcnlwdG9fcGFyYW0gY2lwaGVyOw0KPiArCQlzdHJ1Y3Qgew0KPiArCQkJc3Ry dWN0IHJ0ZV9jcnlwdG9fZWNfcG9pbnQgQzE7DQo+ICsJCQlzdHJ1Y3QgcnRlX2NyeXB0b19lY19w b2ludCBrUDsNCg0KSXQgaXMgYmV0dGVyIHRvIHVzZSB2YXJpYWJsZSBuYW1lcyBpbiBsb3dlciBj YXNlIC0gYzEgYW5kIGtwIHNob3VsZCBiZSBmaW5lLg0KDQo+ICsJCX07DQo+ICsJfTsNCj4gIAly dGVfY3J5cHRvX3BhcmFtIG1lc3NhZ2U7DQo+ICAJcnRlX2NyeXB0b19wYXJhbSBkaWdlc3Q7DQo+ ICAJaW50IGN1cnZlOw0KPiAgfTsNCj4gDQo+ICt1aW50OF90IHNtMl9lbmNfcHViX3hfdDFbXSA9 IHsNCj4gKwkweDI2LCAweGYxLCAweGYzLCAweGVmLCAweDEyLCAweDI3LCAweDg1LCAweGQxLA0K PiArCTB4N2QsIDB4MzgsIDB4NzAsIDB4YzIsIDB4NDMsIDB4NDYsIDB4NTAsIDB4MzYsDQo+ICsJ MHgzZiwgMHhkZiwgMHg0YiwgMHgyZiwgMHg0NSwgMHgwZSwgMHg4ZSwgMHhkMSwNCj4gKwkweGI2 LCAweDBmLCAweGRjLCAweDFmLCAweGM2LCAweGYwLCAweDE5LCAweGFiDQo+ICt9Ow0KPiArdWlu dDhfdCBzbTJfZW5jX3B1Yl95X3QxW10gPSB7DQo+ICsJMHhkOSwgMHgxOSwgMHg4YiwgMHhkYiwg MHhlZiwgMHhhNSwgMHg4NCwgMHg3NiwNCj4gKwkweGVjLCAweDgyLCAweDI1LCAweDEyLCAweDVi LCAweDhjLCAweGUzLCAweGUxLA0KPiArCTB4MGEsIDB4MTAsIDB4MGQsIDB4YzYsIDB4OTcsIDB4 NmMsIDB4YzEsIDB4ODksDQo+ICsJMHhkOSwgMHg2ZCwgMHhhNiwgMHg4OCwgMHg5ZSwgMHhiYywg MHhkMywgMHg3YQ0KPiArfTsNCj4gK3VpbnQ4X3Qgc20yX2tfdDFbXSA9IHsNCj4gKwkweDEyLCAw eDM0LCAweDU2LCAweDc4LCAweEI5LCAweDZFLCAweDVBLCAweEY3LA0KPiArCTB4MEIsIDB4RDQs IDB4ODAsIDB4QjQsIDB4NzIsIDB4NDAsIDB4OUEsIDB4OUEsDQo+ICsJMHgzMiwgMHg3MiwgMHg1 NywgMHhGMSwgMHhFQiwgMHhCNywgMHgzRiwgMHg1QiwNCj4gKwkweDA3LCAweDMzLCAweDU0LCAw eEIyLCAweDQ4LCAweDY2LCAweDg1LCAweDYzDQo+ICt9Ow0KPiArDQo+ICt1aW50OF90IHNtMl9D MV94X3QxW10gPSB7DQo+ICsJMHgxNSwgMHhmNiwgMHhiNywgMHg0OSwgMHgwMCwgMHgzOSwgMHg3 MywgMHg5ZCwNCj4gKwkweDViLCAweGIzLCAweGQzLCAweGU5LCAweDFkLCAweGU0LCAweGM4LCAw eGJkLA0KPiArCTB4MDgsIDB4ZTMsIDB4NmEsIDB4MjIsIDB4ZmYsIDB4MWEsIDB4YmYsIDB4ZGMs DQo+ICsJMHg3NSwgMHg2YiwgMHgxMiwgMHg4NSwgMHg4MSwgMHhjNSwgMHg4YiwgMHhjZg0KPiAr fTsNCj4gKw0KPiArdWludDhfdCBzbTJfQzFfeV90MVtdID0gew0KPiArCTB4NmEsIDB4OTIsIDB4 ZDQsIDB4ZDgsIDB4MTMsIDB4ZWMsIDB4OGYsIDB4OWEsDQo+ICsJMHg5ZCwgMHhiZSwgMHg1MSwg MHg0NywgMHg2ZiwgMHg1NCwgMHhjNSwgMHg0MSwNCj4gKwkweDk4LCAweGY1LCAweDVmLCAweDgz LCAweGNlLCAweDFjLCAweDE4LCAweDFhLA0KPiArCTB4NDgsIDB4YmQsIDB4ZWIsIDB4MzgsIDB4 MTMsIDB4NjcsIDB4MGQsIDB4MDYNCj4gK307DQo+ICsNCj4gK3VpbnQ4X3Qgc20yX2tQX3hfdDFb XSA9IHsNCj4gKwkweDZiLCAweGZiLCAweDlhLCAweGNiLCAweGM2LCAweGI2LCAweDM2LCAweDMx LA0KPiArCTB4MGYsIDB4ZDEsIDB4ZGQsIDB4OWMsIDB4OWYsIDB4MTcsIDB4NWYsIDB4M2YsDQo+ ICsJMHg2OCwgMHgxMywgMHg5NiwgMHhkMiwgMHg1NCwgMHg1YiwgMHhhNiwgMHgxOSwNCj4gKwkw eDc4LCAweDFmLCAweDg3LCAweDNkLCAweDgxLCAweGMzLCAweDIxLCAweDAxDQo+ICt9Ow0KPiAr DQo+ICt1aW50OF90IHNtMl9rUF95X3QxW10gPSB7DQo+ICsJMHhhNCwgMHgwOCwgMHhmMywgMHg3 NCwgMHgzNSwgMHg1MSwgMHg4YywgMHg4MSwNCj4gKwkweDA2LCAweDRjLCAweDhmLCAweDMxLCAw eDQ5LCAweGUzLCAweDViLCAweDRkLA0KPiArCTB4ZmMsIDB4M2QsIDB4MTksIDB4YWMsIDB4N2Qs IDB4MDcsIDB4ZDAsIDB4OWEsDQo+ICsJMHg5OSwgMHg1YSwgMHgyNSwgMHgxNiwgMHg2NiwgMHhm ZiwgMHg0MSwgMHgzYw0KPiArfTsNCj4gKw0KPiArdWludDhfdCBzbTJfa1BfZF90MVtdID0gew0K PiArCTB4NkYsIDB4Q0IsIDB4QTIsIDB4RUYsIDB4OUEsIDB4RTAsIDB4QUIsIDB4OTAsDQo+ICsJ MHgyQiwgMHhDMywgMHhCRCwgMHhFMywgMHhGRiwgMHg5MSwgMHg1RCwgMHg0NCwNCj4gKwkweEJB LCAweDRDLCAweEM3LCAweDhGLCAweDg4LCAweEUyLCAweEY4LCAweEU3LA0KPiArCTB4RjgsIDB4 OTksIDB4NkQsIDB4M0IsIDB4OEMsIDB4Q0UsIDB4RUQsIDB4RUUNCj4gK307DQoNCkZpeCBtaXhl ZCBjYXNlIGZvciB0aGUgYXJyYXlzIGRlZmluZWQgYWJvdmUuDQoNCj4gKw0KPiArc3RydWN0IGNy eXB0b190ZXN0c3VpdGVfc20yX3BhcmFtcyBzbTJfZW5jX2h3X3QxID0gew0KPiArCS5rID0gew0K PiArCQkuZGF0YSA9IHNtMl9rX3QxLA0KPiArCQkubGVuZ3RoID0gc2l6ZW9mKHNtMl9rX3QxKQ0K PiArCX0sDQo+ICsJLnB1YmtleSA9IHsNCj4gKwkJLnggPSB7DQo+ICsJCQkuZGF0YSA9IHNtMl9l bmNfcHViX3hfdDEsDQo+ICsJCQkubGVuZ3RoID0gc2l6ZW9mKHNtMl9lbmNfcHViX3hfdDEpDQo+ ICsJCX0sDQo+ICsJCS55ID0gew0KPiArCQkJLmRhdGEgPSBzbTJfZW5jX3B1Yl95X3QxLA0KPiAr CQkJLmxlbmd0aCA9IHNpemVvZihzbTJfZW5jX3B1Yl95X3QxKQ0KPiArCQl9DQo+ICsJfSwNCj4g KwkuQzEgPSB7DQo+ICsJCS54ID0gew0KPiArCQkJLmRhdGEgPSBzbTJfQzFfeF90MSwNCj4gKwkJ CS5sZW5ndGggPSBzaXplb2Yoc20yX0MxX3hfdDEpDQo+ICsJCX0sDQo+ICsJCS55ID0gew0KPiAr CQkJLmRhdGEgPSBzbTJfQzFfeV90MSwNCj4gKwkJCS5sZW5ndGggPSBzaXplb2Yoc20yX0MxX3lf dDEpDQo+ICsJCX0NCj4gKwl9LA0KPiArCS5rUCA9IHsNCj4gKwkJLnggPSB7DQo+ICsJCQkuZGF0 YSA9IHNtMl9rUF94X3QxLA0KPiArCQkJLmxlbmd0aCA9IHNpemVvZihzbTJfa1BfeF90MSkNCj4g KwkJfSwNCj4gKwkJLnkgPSB7DQo+ICsJCQkuZGF0YSA9IHNtMl9rUF95X3QxLA0KPiArCQkJLmxl bmd0aCA9IHNpemVvZihzbTJfa1BfeV90MSkNCj4gKwkJfQ0KPiArCX0sDQo+ICsJLnBrZXkgPSB7 DQo+ICsJCS5kYXRhID0gc20yX2tQX2RfdDEsDQo+ICsJCS5sZW5ndGggPSBzaXplb2Yoc20yX2tQ X2RfdDEpDQo+ICsJfQ0KPiArfTsNCj4gKw0KPiAgc3RhdGljIHVpbnQ4X3QgZnAyNTZfcGtleVtd ID0gew0KPiAgCTB4NzcsIDB4ODQsIDB4MzUsIDB4NjUsIDB4NGMsIDB4N2EsIDB4NmQsIDB4YjEs DQo+ICAJMHgxZSwgMHg2MywgMHgwYiwgMHg0MSwgMHg5NywgMHgzNiwgMHgwNCwgMHhmNCwNCj4g LS0NCj4gMi4xMy42DQoNCg==