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 60A15A00C2; Thu, 13 Oct 2022 12:16:38 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 071F2410F2; Thu, 13 Oct 2022 12:16:38 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70045.outbound.protection.outlook.com [40.107.7.45]) by mails.dpdk.org (Postfix) with ESMTP id 2906C40C35 for ; Thu, 13 Oct 2022 12:16:36 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fN7lVzht+AF8aVB4rhs7FDfQoUfjJwjjRKyX1rzlzNAG4UqcNoe3Gsg9xqIOwmVvXUJjFWShWXjrbSMtEizs/keFZyz5aNiGd2M2PCF061kV/GXrCj2jNgCn2fk4d6omPRbPadnr6ey0GtkfDsS0mIE0NvRqEdA+EtSVRsaP2SPrK4Ka/asUPAg4CfWUtmXy0FOY6zdDW1BU4tl1ZpbyEOoQL6GwjK8FVRpbQVqiVFLMCrN5zw3khUoUIGiEt/mY09FmljO517Vi0GLhO3lK8//wcQ86ROihDHzoqvLHL6dh3NSSkgd+IY7vci9dritTMYowrybgwJFGNobjyony5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=68RpU18zaYrBerZYhbL7NlW7kwhmgzVftbzUizn1Yd0=; b=hVFZmbds83+utR/SHZzXPmP5TRA1rFefTpabl0uXrMhRKxD7iSwelGlwKNoLqLigaYhWrnR/7fZpFsp6QwL1tYNH4IvgIBUkzH9pTYb8gDQVss+WJwlKTxmZHUPFDYKufC2+FaShhq6meU0RtGtsSlKrbTUlSgEUQCLYGwAVmGop6PCyVOksKIZ7HuYs6GbMzkk98llCUY5Y+zs6F9unGEk8zJaC+ro7XiWQD/kUMrt1bdaTMMuEATLHbJxzqguZFB04Z6DTXbPUi24j5wyyw7yNzzxEXeLFAD6EuPugfPAKm8NkJQbDryrEovr3kL7HdZQ5zsBbCiVIa59WRBn3CA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=68RpU18zaYrBerZYhbL7NlW7kwhmgzVftbzUizn1Yd0=; b=NYdykW4rXW3neoJCTaxAydt+aACWYuchwk+QS/kP/2JnGSGVZQHjJyHUdxAKfl7Irf4ZX1f1+8nggYnkJLF/NTPTokZ+J3klXFO1ikribzb8iPuZE6mKC/zd8IsB67LfE0By+kK9FxZbFtT983Hh+5R+lv29EVP0FaUx3kHYR2Q= Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15) by DU0PR07MB8594.eurprd07.prod.outlook.com (2603:10a6:10:31e::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.16; Thu, 13 Oct 2022 10:16:34 +0000 Received: from DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::65db:96fa:f30a:2df1]) by DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::65db:96fa:f30a:2df1%6]) with mapi id 15.20.5723.009; Thu, 13 Oct 2022 10:16:34 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: "pbhagavatula@marvell.com" , "mb@smartsharesystems.com" , "jerinj@marvell.com" , "thomas@monjalon.net" , Shijith Thotton , Timothy McDaniel , Liang Ma , Peter Mccarthy , Harry van Haaren CC: "dev@dpdk.org" Subject: Re: [PATCH] eventdev: increase xstats ID width to 64 bits Thread-Topic: [PATCH] eventdev: increase xstats ID width to 64 bits Thread-Index: AQHY3uWWOqZHJgaWc0illKDL08yXsq4MG/IA Date: Thu, 13 Oct 2022 10:16:34 +0000 Message-ID: References: <20221013092342.6861-1-pbhagavatula@marvell.com> In-Reply-To: <20221013092342.6861-1-pbhagavatula@marvell.com> Accept-Language: en-US, sv-SE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.2 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DB7PR07MB5978:EE_|DU0PR07MB8594:EE_ x-ms-office365-filtering-correlation-id: 918b6c44-c641-46e3-271a-08daad040169 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BPbbenh+o0XrFRT7J+W0xiK7W097Yx1E36/jqkQEB3n/zqd9PmWwY+m8pS8PMHUwiGOUnG3HC4fGxITMnj6tjallCqSToMlvF92EOgV3zXqduK/1c882PtWWqAkkaSMjA4LolFePgwPszLAM0PLDahfZJX7JO482xpNHXE5/L1UxNQvlIrYenpL7t7dFPJLSoMSdnhS0x4DBbPyTTZM5y0wBULTtUIiYYVgmrEsO/mkSDnkxuDM1pnyX8laq7IMtVhfvIMd3ZVE3KS1hH1+nJocW6L7WXWM1Z5KE/uNhh1D6LjyUQXnIRFEG+Tp5bA3EaL4ClzsNiR/BUXulpcuo57NRR9sV430gH7dJfeo2xV4p2TmUArtad4hC6UX9sp7GXndl9EF3Yqd1bErR1mJXRjyeIfE4q9zRvZmadYF/Uz1h5iC0P6qFVE77I4FnmQ8QY4HitFo5BXwSdOLDu2i8Se3TF0DKfLflAl95YBiDDyhIliVkgkWAfmgE+qHf3lTRDsqv3ZeW5nQMrHt8ps1/C07aIC0pLMq9pml/jGVm5O+WVRQByXrVxESFPQvmPmCDwckxX0OD6DVSMmPdg6nzLRc+v44MxZfD0wpr12CgFUCekEBauZSdtfpEKBJV9YC+bLncZRcyThZQMSvT1SNheaPw8E5L3BnKR1McNECn60hmDZZySb9h4tspyN2qNrPVe9DlpLJ2KuulMiM+A3vau78vKW2MDcc/aAVaqMsrHS1T+GUuvg3onLiHzYqA7ogX4R5CpLSX2yAcfEiTUbjIdZIYrnsN5NxcaxA8KPiP5uwIeG7OB9YFCJFhLK/Ry90k+j98/eFrIUOxampqPp4/EzbX7ro0gtzZW2RhjBt+E5I= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR07MB5978.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(396003)(366004)(346002)(376002)(39860400002)(136003)(451199015)(6506007)(31686004)(85202003)(85182001)(36756003)(186003)(53546011)(6512007)(2616005)(110136005)(66574015)(38070700005)(26005)(4001150100001)(2906002)(31696002)(83380400001)(86362001)(316002)(41300700001)(30864003)(76116006)(91956017)(7416002)(4326008)(8676002)(64756008)(66446008)(66476007)(66556008)(66946007)(82960400001)(71200400001)(478600001)(122000001)(8936002)(38100700002)(6486002)(5660300002)(3903001)(45980500001)(43740500002)(579004)(559001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S0dkUWZDKzhvNlQyYlFHSnpOcTh1RjNXWWtwNmlrOWVoZGZEYko4K0lHTXRv?= =?utf-8?B?VmFSalBkakxqV3IwUE1wVGlINHFtalpQVS9DUTNOK2RTcmFKaHZaWUtUVXYz?= =?utf-8?B?TnppZUJuODc4ak94S2VubTBoOWxLS0wxMTJBWHpjRWRUL29HOGt3Q3hQTWRh?= =?utf-8?B?Y1hpZmFMcEQwb2g2WUM1bytwbWU2ZzhaR010N0NJOG9wY2pLMm85WCs1U2hR?= =?utf-8?B?SHlIbWcvTklxeWMwRmpsazdIZ09USEIwVEo2U3hPNTZPMURxMlVnS0ZYU3J0?= =?utf-8?B?RkQwOFhKQzJEYlRNN1piREtzUUpQbmE4bmJCdER6MHlkMEJtZUZvWGh3djdR?= =?utf-8?B?ZHZ1UkhpaVdSd21UM1ZUUk5GUnpaT0JNcjNKVXdINkUyRlYxc0RQZE4rMkNi?= =?utf-8?B?cXpDc2gvUUZEdGFuaDA2WFZ6cHVzSVZxajZEeXV5RitjeU8yL0Z0ODNzeEgr?= =?utf-8?B?VkJLSWo5WFM2K05wdHZTSGtIUXJXRmZtRU1LU2FiK3Y4aUpJZWVxS090aG1Z?= =?utf-8?B?WU9vV3cwcnJlaEFVZTV5dGw5anZzNnN1RjAzUXNpbDRWMFZFd2o0ZHZTdWpt?= =?utf-8?B?Rmd0ZE5tUHBmYXZLU3daQWtodzJYcENrS28vc0UrZE1TSkowd2JyVS9KOUhs?= =?utf-8?B?aGdlKy9KRVNTOHRVQytZamRXWW5SV0RGOU5hQjV6YTZ4bG5weWVBQlcwUHha?= =?utf-8?B?RUlCN3lGNmlJejFkNmh5UytoZTMvTDVWZGdTUDNFcFZWS05sUHB1ekNvQjhI?= =?utf-8?B?Q095ZDhKVnNjWjBHUlY1YnUvcEEvSFF4aFlTcUF0bmtoYU9IMXF0KytCMzQw?= =?utf-8?B?NnFIMU4zSXRmUzRPeFZTcFl5ZWdtL2Rwa2RJRDR5OG5DL0lDT1ZFL0RaNkp3?= =?utf-8?B?SEVWeGhNK2RXZlVHNXVqdk9rcjNyS2pyeE50MFB0eUYxeVB0NDJlbHdGbGlM?= =?utf-8?B?RVRUdS9HaFQvb1hRR25qKzRyRjJISHU2MnRMY1FDV3lhNTlqbFdoc3QvQWN4?= =?utf-8?B?bC9xWnVKMDBhQUZWa1k3elVtZldVMnhtQjFCRVFlNzB0OHdINk5LNkVXaWdV?= =?utf-8?B?NzhiZHM0RHUyNjBFanpteXo0dGFEbzJwK2FDdXc5RDBkandkZ0h2L1dkSkUy?= =?utf-8?B?NjYxNDlXV3l5QXFmVHNiRTNncU52S2Z5Wm1GekdzQjVpc1pvVWJ2WXNHUkw0?= =?utf-8?B?S282YXJnMys3WXFYR2hPM2dIMUJXdTBONExUb24rTGMyZ3VGYzVPYS9udURj?= =?utf-8?B?UDZlSlJkdEgxUFpBZ0g1cUY5ZzhSYjVvUHlNVjhvcVlIZmNIMHN6cFpRckgw?= =?utf-8?B?T21RUmVRVXl5cDlyY2lsR1ByWFNxb1RpUHJnU3E4L3NtNzg4Si9PaHFieVVk?= =?utf-8?B?ZHk1UzY0S0FpNzNBaEc2eHFyYzU3T2x0aHhTUG00YUF1a2MycmR1T3g2UjE2?= =?utf-8?B?K1l5UlhyZExPdU0xendrMFhoY1NBRlBvVUF4RCtRd2NXRW90aG9yZUM2YVRh?= =?utf-8?B?REhHVmtSdlpiRE5rQTVRN0tSMkpFblhBZzJUSVltdXdiOURpNzR5RXZvMlIw?= =?utf-8?B?dllCak9RNmVYb2c2R3c2TUU5VzQ4VkluN0VpT21BanA2WVROc3dFS2w2aVIr?= =?utf-8?B?VzhHS2tIeXA1MmdFa2JMbmRnUVN1RzFlOFNoSDR4Uys4c3lBTEpwd3I0cUNy?= =?utf-8?B?Z1hNQkd2bzdMUHUxKzIvOEg1Uko1NFZidXJFdGlIUDZjZ0lTZ3ZlejZoeC9E?= =?utf-8?B?TVFjK1pjZE4xU2haZTVrZUtvYS9oRU5DVlV1VG9rbmplSWlIbGQ1L1JZcCtH?= =?utf-8?B?ZWxXb1Q3QXRWa1d3ZlhBRFNoVEw3aENTL1YraE5nUFBscW0vUG55RVI4aWtU?= =?utf-8?B?czY4MHNQQlJJaEluU1ZFb1NzTHkyZnNQTEYwQm1VMU5lQys0eU84UjNVOFBV?= =?utf-8?B?SE9HZlpWR0c1YWJlSEZSaGhSSE9iQlBjTjR6NllrN3VKVlg0QXArRnZCNldS?= =?utf-8?B?dWNFMTgza24vaVMyai9Gd24xMDRDcm5IdFluZVlVQ09TZ3lCVzZyd2FjN2dF?= =?utf-8?B?NWd4Vk1SWFAvTlJ4WDZFYVV4WTcvemREM3l4WGhZU0xmdG1UeTM4K2hrbk9n?= =?utf-8?B?a0hZeHdnOHgxQnhPMFRxa1UydHNlRlUyWitGOSsrY1RsMWdMVkZDL3RJMmVX?= =?utf-8?B?ZUE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <6976027872DE764FA6CE499A87C2EE9D@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR07MB5978.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 918b6c44-c641-46e3-271a-08daad040169 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2022 10:16:34.1333 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: DrYmQaOaaLRgQbS11ZGHCWmi/6By6sxFPSVJ83VqJzaPI8CUecVZeOecm82XwQvYE1kc8420VJ1Bao48v1lB9XwG6IUUTQkVDBe99OmQhMo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR07MB8594 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 T24gMjAyMi0xMC0xMyAxMToyMywgcGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tIHdyb3RlOg0KPiBG cm9tOiBQYXZhbiBOaWtoaWxlc2ggPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT4NCj4gDQo+IElu Y3JlYXNlIHhzdGF0cyBJRCB3aWR0aCB0byA2NGJpdHMgZnJvbSAzMiBiaXRzLCB0aGlzIGFsc28N Cg0KIkluY3JlYXNlIHhzdGF0cyBJRCB3aWR0aCBmcm9tIDMyIHRvIDY0IGJpdHMuIFRoaXMgLy4u LyINCg0KTm90IHRoYXQgInVuc2lnbmVkIGludCIgaXMgYWx3YXlzIDMyLCBidXQgYW55d2F5cywg SSBndWVzcyB0aGF0J3MgdHJ1ZSANCmZvciBhbGwgcGxhdGZvcm1zIERQREsgc3VwcG9ydHMuDQoN Cj4gZml4ZXMgdGhlIHhzdGF0cyBJRCBkYXRhdHlwZSBkaXNjcmVwYW5jeSBiZXR3ZWVuIHJlc2V0 IGFuZA0KPiByZXN0IG9mIHRoZSB4c3RhdHMgZmFtaWx5Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTog UGF2YW4gTmlraGlsZXNoIDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+DQo+IC0tLQ0KPiAgIGRv Yy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjJfMTEucnN0ICAgfCAgIDUgKysNCj4gICBkcml2 ZXJzL2V2ZW50L2NueGsvY254a19ldmVudGRldi5oICAgICAgIHwgICA2ICstDQo+ICAgZHJpdmVy cy9ldmVudC9jbnhrL2NueGtfZXZlbnRkZXZfc3RhdHMuYyB8ICAgNiArLQ0KPiAgIGRyaXZlcnMv ZXZlbnQvZGxiMi9kbGIyX3ByaXYuaCAgICAgICAgICAgfCAgIDggKy0NCj4gICBkcml2ZXJzL2V2 ZW50L2RsYjIvZGxiMl94c3RhdHMuYyAgICAgICAgIHwgIDE4ICsrLS0NCj4gICBkcml2ZXJzL2V2 ZW50L2Rzdy9kc3dfZXZkZXYuaCAgICAgICAgICAgIHwgICA2ICstDQo+ICAgZHJpdmVycy9ldmVu dC9kc3cvZHN3X3hzdGF0cy5jICAgICAgICAgICB8ICAzMiArKystLS0tDQo+ICAgZHJpdmVycy9l dmVudC9vcGRsL29wZGxfZXZkZXYuaCAgICAgICAgICB8ICAgOCArLQ0KPiAgIGRyaXZlcnMvZXZl bnQvb3BkbC9vcGRsX2V2ZGV2X3hzdGF0cy5jICAgfCAgIDggKy0NCj4gICBkcml2ZXJzL2V2ZW50 L29wZGwvb3BkbF90ZXN0LmMgICAgICAgICAgIHwgICA0ICstDQo+ICAgZHJpdmVycy9ldmVudC9z dy9zd19ldmRldi5oICAgICAgICAgICAgICB8ICAgOCArLQ0KPiAgIGRyaXZlcnMvZXZlbnQvc3cv c3dfZXZkZXZfc2VsZnRlc3QuYyAgICAgfCAxMDEgKysrKysrKysrKystLS0tLS0tLS0tLS0NCj4g ICBkcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2X3hzdGF0cy5jICAgICAgIHwgIDE4ICsrLS0NCj4g ICBsaWIvZXZlbnRkZXYvZXZlbnRkZXZfcG1kLmggICAgICAgICAgICAgIHwgICA4ICstDQo+ICAg bGliL2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5jICAgICAgICAgICAgICB8ICAxMiArLS0NCj4gICBs aWIvZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmggICAgICAgICAgICAgIHwgICA4ICstDQo+ICAgMTYg ZmlsZXMgY2hhbmdlZCwgMTI4IGluc2VydGlvbnMoKyksIDEyOCBkZWxldGlvbnMoLSkNCj4gDQo+ IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzExLnJzdCBiL2Rv Yy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjJfMTEucnN0DQo+IGluZGV4IDJkYThiYzk2NjEu LjZiNzZhZDU1NjYgMTAwNjQ0DQo+IC0tLSBhL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2Vf MjJfMTEucnN0DQo+ICsrKyBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjJfMTEucnN0 DQo+IEBAIC00NTQsNiArNDU0LDExIEBAIEFQSSBDaGFuZ2VzDQo+ICAgDQo+ICAgKiByYXcvaWZn cGE6IFRoZSBmdW5jdGlvbiBgYHJ0ZV9wbWRfaWZwZ2FfZ2V0X3BjaV9idXNgYCBoYXMgYmVlbiBy ZW1vdmVkLg0KPiAgIA0KPiArKiBldmVudGRldjogVGhlIGRhdGF0eXBlIG9mIHRoZSBJRCBwYXJh bWV0ZXIgaW4gdGhlIGZ1bmN0aW9ucw0KPiArICBgYHJ0ZV9ldmVudF9kZXZfeHN0YXRzX25hbWVz X2dldGBgLCBgYHJ0ZV9ldmVudF9kZXZfeHN0YXRzX2dldGBgLA0KPiArICBgYHJ0ZV9ldmVudF9k ZXZfeHN0YXRzX2J5X25hbWVfZ2V0YGAgYW5kIGBgcnRlX2V2ZW50X2Rldl94c3RhdHNfcmVzZXRg YA0KPiArICBpcyBjaGFuZ2VkIHRvIGBgdWludDY0X3RgYCBmcm9tIGBgdW5zaWduZWQgaW50YGAg YW5kIGBgdWludDMyX3RgYC4NCj4gKw0KPiAgIA0KPiAgIEFCSSBDaGFuZ2VzDQo+ICAgLS0tLS0t LS0tLS0NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZXZlbnQvY254ay9jbnhrX2V2ZW50ZGV2Lmgg Yi9kcml2ZXJzL2V2ZW50L2NueGsvY254a19ldmVudGRldi5oDQo+IGluZGV4IGY2OGMyYWVlMjMu LjczOGUzMzVlYTQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZXZlbnQvY254ay9jbnhrX2V2ZW50 ZGV2LmgNCj4gKysrIGIvZHJpdmVycy9ldmVudC9jbnhrL2NueGtfZXZlbnRkZXYuaA0KPiBAQCAt MjcxLDE0ICsyNzEsMTQgQEAgaW50IGNueGtfc3NvX3hzdGF0c19nZXRfbmFtZXMoY29uc3Qgc3Ry dWN0IHJ0ZV9ldmVudGRldiAqZXZlbnRfZGV2LA0KPiAgIAkJCSAgICAgIGVudW0gcnRlX2V2ZW50 X2Rldl94c3RhdHNfbW9kZSBtb2RlLA0KPiAgIAkJCSAgICAgIHVpbnQ4X3QgcXVldWVfcG9ydF9p ZCwNCj4gICAJCQkgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X2Rldl94c3RhdHNfbmFtZSAqeHN0YXRz X25hbWVzLA0KPiAtCQkJICAgICAgdW5zaWduZWQgaW50ICppZHMsIHVuc2lnbmVkIGludCBzaXpl KTsNCj4gKwkJCSAgICAgIHVpbnQ2NF90ICppZHMsIHVuc2lnbmVkIGludCBzaXplKTsNCj4gICBp bnQgY254a19zc29feHN0YXRzX2dldChjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpldmVudF9k ZXYsDQo+ICAgCQkJZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsDQo+IC0JCQl1 aW50OF90IHF1ZXVlX3BvcnRfaWQsIGNvbnN0IHVuc2lnbmVkIGludCBpZHNbXSwNCj4gKwkJCXVp bnQ4X3QgcXVldWVfcG9ydF9pZCwgY29uc3QgdWludDY0X3QgaWRzW10sDQo+ICAgCQkJdWludDY0 X3QgdmFsdWVzW10sIHVuc2lnbmVkIGludCBuKTsNCj4gICBpbnQgY254a19zc29feHN0YXRzX3Jl c2V0KHN0cnVjdCBydGVfZXZlbnRkZXYgKmV2ZW50X2RldiwNCj4gICAJCQkgIGVudW0gcnRlX2V2 ZW50X2Rldl94c3RhdHNfbW9kZSBtb2RlLA0KPiAtCQkJICBpbnQxNl90IHF1ZXVlX3BvcnRfaWQs IGNvbnN0IHVpbnQzMl90IGlkc1tdLA0KPiArCQkJICBpbnQxNl90IHF1ZXVlX3BvcnRfaWQsIGNv bnN0IHVpbnQ2NF90IGlkc1tdLA0KPiAgIAkJCSAgdWludDMyX3Qgbik7DQo+ICAgDQo+ICAgLyog Q045SyAqLw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ldmVudC9jbnhrL2NueGtfZXZlbnRkZXZf c3RhdHMuYyBiL2RyaXZlcnMvZXZlbnQvY254ay9jbnhrX2V2ZW50ZGV2X3N0YXRzLmMNCj4gaW5k ZXggYTNiNTQ4ZjQ2Mi4uNzE1Y2E5Y2Q4ZiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ldmVudC9j bnhrL2NueGtfZXZlbnRkZXZfc3RhdHMuYw0KPiArKysgYi9kcml2ZXJzL2V2ZW50L2NueGsvY254 a19ldmVudGRldl9zdGF0cy5jDQo+IEBAIC0xMDMsNyArMTAzLDcgQEAgc3RhdGljIHN0cnVjdCBj bnhrX3Nzb194c3RhdHNfbmFtZSBzc29faHdncnBfeHN0YXRzW10gPSB7DQo+ICAgaW50DQo+ICAg Y254a19zc29feHN0YXRzX2dldChjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpldmVudF9kZXYs DQo+ICAgCQkgICAgZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsIHVpbnQ4X3Qg cXVldWVfcG9ydF9pZCwNCj4gLQkJICAgIGNvbnN0IHVuc2lnbmVkIGludCBpZHNbXSwgdWludDY0 X3QgdmFsdWVzW10sIHVuc2lnbmVkIGludCBuKQ0KPiArCQkgICAgY29uc3QgdWludDY0X3QgaWRz W10sIHVpbnQ2NF90IHZhbHVlc1tdLCB1bnNpZ25lZCBpbnQgbikNCj4gICB7DQo+ICAgCXN0cnVj dCBjbnhrX3Nzb19ldmRldiAqZGV2ID0gY254a19zc29fcG1kX3ByaXYoZXZlbnRfZGV2KTsNCj4g ICAJc3RydWN0IHJvY19zc29faHdncnBfc3RhdHMgaHdncnBfc3RhdHM7DQo+IEBAIC0xNzAsNyAr MTcwLDcgQEAgY254a19zc29feHN0YXRzX2dldChjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpl dmVudF9kZXYsDQo+ICAgaW50DQo+ICAgY254a19zc29feHN0YXRzX3Jlc2V0KHN0cnVjdCBydGVf ZXZlbnRkZXYgKmV2ZW50X2RldiwNCj4gICAJCSAgICAgIGVudW0gcnRlX2V2ZW50X2Rldl94c3Rh dHNfbW9kZSBtb2RlLA0KPiAtCQkgICAgICBpbnQxNl90IHF1ZXVlX3BvcnRfaWQsIGNvbnN0IHVp bnQzMl90IGlkc1tdLCB1aW50MzJfdCBuKQ0KPiArCQkgICAgICBpbnQxNl90IHF1ZXVlX3BvcnRf aWQsIGNvbnN0IHVpbnQ2NF90IGlkc1tdLCB1aW50MzJfdCBuKQ0KPiAgIHsNCj4gICAJc3RydWN0 IGNueGtfc3NvX2V2ZGV2ICpkZXYgPSBjbnhrX3Nzb19wbWRfcHJpdihldmVudF9kZXYpOw0KPiAg IAlzdHJ1Y3Qgcm9jX3Nzb19od2dycF9zdGF0cyBod2dycF9zdGF0czsNCj4gQEAgLTIzNSw3ICsy MzUsNyBAQCBjbnhrX3Nzb194c3RhdHNfZ2V0X25hbWVzKGNvbnN0IHN0cnVjdCBydGVfZXZlbnRk ZXYgKmV2ZW50X2RldiwNCj4gICAJCQkgIGVudW0gcnRlX2V2ZW50X2Rldl94c3RhdHNfbW9kZSBt b2RlLA0KPiAgIAkJCSAgdWludDhfdCBxdWV1ZV9wb3J0X2lkLA0KPiAgIAkJCSAgc3RydWN0IHJ0 ZV9ldmVudF9kZXZfeHN0YXRzX25hbWUgKnhzdGF0c19uYW1lcywNCj4gLQkJCSAgdW5zaWduZWQg aW50ICppZHMsIHVuc2lnbmVkIGludCBzaXplKQ0KPiArCQkJICB1aW50NjRfdCAqaWRzLCB1bnNp Z25lZCBpbnQgc2l6ZSkNCj4gICB7DQo+ICAgCXN0cnVjdCBydGVfZXZlbnRfZGV2X3hzdGF0c19u YW1lIHhzdGF0c19uYW1lc19jb3B5W0NOWEtfU1NPX05VTV9YU1RBVFNdOw0KPiAgIAlzdHJ1Y3Qg Y254a19zc29fZXZkZXYgKmRldiA9IGNueGtfc3NvX3BtZF9wcml2KGV2ZW50X2Rldik7DQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2V2ZW50L2RsYjIvZGxiMl9wcml2LmggYi9kcml2ZXJzL2V2ZW50 L2RsYjIvZGxiMl9wcml2LmgNCj4gaW5kZXggOWVmNWJjYjkwMS4uNTJmMGFiOTkzNSAxMDA2NDQN Cj4gLS0tIGEvZHJpdmVycy9ldmVudC9kbGIyL2RsYjJfcHJpdi5oDQo+ICsrKyBiL2RyaXZlcnMv ZXZlbnQvZGxiMi9kbGIyX3ByaXYuaA0KPiBAQCAtNjg4LDIwICs2ODgsMjAgQEAgdm9pZCBkbGIy X3hzdGF0c191bmluaXQoc3RydWN0IGRsYjJfZXZlbnRkZXYgKmRsYjIpOw0KPiAgIA0KPiAgIGlu dCBkbGIyX2V2ZW50ZGV2X3hzdGF0c19nZXQoY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2 LA0KPiAgIAkJZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsIHVpbnQ4X3QgcXVl dWVfcG9ydF9pZCwNCj4gLQkJY29uc3QgdW5zaWduZWQgaW50IGlkc1tdLCB1aW50NjRfdCB2YWx1 ZXNbXSwgdW5zaWduZWQgaW50IG4pOw0KPiArCQljb25zdCB1aW50NjRfdCBpZHNbXSwgdWludDY0 X3QgdmFsdWVzW10sIHVuc2lnbmVkIGludCBuKTsNCj4gICANCj4gICBpbnQgZGxiMl9ldmVudGRl dl94c3RhdHNfZ2V0X25hbWVzKGNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwNCj4gICAJ CWVudW0gcnRlX2V2ZW50X2Rldl94c3RhdHNfbW9kZSBtb2RlLCB1aW50OF90IHF1ZXVlX3BvcnRf aWQsDQo+ICAgCQlzdHJ1Y3QgcnRlX2V2ZW50X2Rldl94c3RhdHNfbmFtZSAqeHN0YXRfbmFtZXMs DQo+IC0JCXVuc2lnbmVkIGludCAqaWRzLCB1bnNpZ25lZCBpbnQgc2l6ZSk7DQo+ICsJCXVpbnQ2 NF90ICppZHMsIHVuc2lnbmVkIGludCBzaXplKTsNCj4gICANCj4gICB1aW50NjRfdCBkbGIyX2V2 ZW50ZGV2X3hzdGF0c19nZXRfYnlfbmFtZShjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYs DQo+IC0JCQkJCSAgY29uc3QgY2hhciAqbmFtZSwgdW5zaWduZWQgaW50ICppZCk7DQo+ICsJCQkJ CSAgY29uc3QgY2hhciAqbmFtZSwgdWludDY0X3QgKmlkKTsNCj4gICANCj4gICBpbnQgZGxiMl9l dmVudGRldl94c3RhdHNfcmVzZXQoc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiAgIAkJZW51 bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsDQo+ICAgCQlpbnQxNl90IHF1ZXVlX3Bv cnRfaWQsDQo+IC0JCWNvbnN0IHVpbnQzMl90IGlkc1tdLA0KPiArCQljb25zdCB1aW50NjRfdCBp ZHNbXSwNCj4gICAJCXVpbnQzMl90IG5iX2lkcyk7DQo+ICAgDQo+ICAgaW50IHRlc3RfZGxiMl9l dmVudGRldih2b2lkKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZXZlbnQvZGxiMi9kbGIyX3hz dGF0cy5jIGIvZHJpdmVycy9ldmVudC9kbGIyL2RsYjJfeHN0YXRzLmMNCj4gaW5kZXggZDRjOGQ5 OTAzNC4uZmYxNTI3MWRkYSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ldmVudC9kbGIyL2RsYjJf eHN0YXRzLmMNCj4gKysrIGIvZHJpdmVycy9ldmVudC9kbGIyL2RsYjJfeHN0YXRzLmMNCj4gQEAg LTY2Niw3ICs2NjYsNyBAQCBpbnQNCj4gICBkbGIyX2V2ZW50ZGV2X3hzdGF0c19nZXRfbmFtZXMo Y29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiAgIAkJZW51bSBydGVfZXZlbnRfZGV2 X3hzdGF0c19tb2RlIG1vZGUsIHVpbnQ4X3QgcXVldWVfcG9ydF9pZCwNCj4gICAJCXN0cnVjdCBy dGVfZXZlbnRfZGV2X3hzdGF0c19uYW1lICp4c3RhdHNfbmFtZXMsDQo+IC0JCXVuc2lnbmVkIGlu dCAqaWRzLCB1bnNpZ25lZCBpbnQgc2l6ZSkNCj4gKwkJdWludDY0X3QgKmlkcywgdW5zaWduZWQg aW50IHNpemUpDQo+ICAgew0KPiAgIAljb25zdCBzdHJ1Y3QgZGxiMl9ldmVudGRldiAqZGxiMiA9 IGRsYjJfcG1kX3ByaXYoZGV2KTsNCj4gICAJdW5zaWduZWQgaW50IGk7DQo+IEBAIC03MTcsNyAr NzE3LDcgQEAgZGxiMl9ldmVudGRldl94c3RhdHNfZ2V0X25hbWVzKGNvbnN0IHN0cnVjdCBydGVf ZXZlbnRkZXYgKmRldiwNCj4gICBzdGF0aWMgaW50DQo+ICAgZGxiMl94c3RhdHNfdXBkYXRlKHN0 cnVjdCBkbGIyX2V2ZW50ZGV2ICpkbGIyLA0KPiAgIAkJZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0 c19tb2RlIG1vZGUsDQo+IC0JCXVpbnQ4X3QgcXVldWVfcG9ydF9pZCwgY29uc3QgdW5zaWduZWQg aW50IGlkc1tdLA0KPiArCQl1aW50OF90IHF1ZXVlX3BvcnRfaWQsIGNvbnN0IHVpbnQ2NF90IGlk c1tdLA0KPiAgIAkJdWludDY0X3QgdmFsdWVzW10sIHVuc2lnbmVkIGludCBuLCBjb25zdCB1aW50 MzJfdCByZXNldCkNCj4gICB7DQo+ICAgCXVuc2lnbmVkIGludCBpOw0KPiBAQCAtNzkxLDcgKzc5 MSw3IEBAIGRsYjJfeHN0YXRzX3VwZGF0ZShzdHJ1Y3QgZGxiMl9ldmVudGRldiAqZGxiMiwNCj4g ICBpbnQNCj4gICBkbGIyX2V2ZW50ZGV2X3hzdGF0c19nZXQoY29uc3Qgc3RydWN0IHJ0ZV9ldmVu dGRldiAqZGV2LA0KPiAgIAkJZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsIHVp bnQ4X3QgcXVldWVfcG9ydF9pZCwNCj4gLQkJY29uc3QgdW5zaWduZWQgaW50IGlkc1tdLCB1aW50 NjRfdCB2YWx1ZXNbXSwgdW5zaWduZWQgaW50IG4pDQo+ICsJCWNvbnN0IHVpbnQ2NF90IGlkc1td LCB1aW50NjRfdCB2YWx1ZXNbXSwgdW5zaWduZWQgaW50IG4pDQo+ICAgew0KPiAgIAlzdHJ1Y3Qg ZGxiMl9ldmVudGRldiAqZGxiMiA9IGRsYjJfcG1kX3ByaXYoZGV2KTsNCj4gICAJY29uc3QgdWlu dDMyX3QgcmVzZXQgPSAwOw0KPiBAQCAtODAyLDcgKzgwMiw3IEBAIGRsYjJfZXZlbnRkZXZfeHN0 YXRzX2dldChjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+ICAgDQo+ICAgdWludDY0 X3QNCj4gICBkbGIyX2V2ZW50ZGV2X3hzdGF0c19nZXRfYnlfbmFtZShjb25zdCBzdHJ1Y3QgcnRl X2V2ZW50ZGV2ICpkZXYsDQo+IC0JCQkJIGNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGludCAq aWQpDQo+ICsJCQkJIGNvbnN0IGNoYXIgKm5hbWUsIHVpbnQ2NF90ICppZCkNCj4gICB7DQo+ICAg CXN0cnVjdCBkbGIyX2V2ZW50ZGV2ICpkbGIyID0gZGxiMl9wbWRfcHJpdihkZXYpOw0KPiAgIAl1 bnNpZ25lZCBpbnQgaTsNCj4gQEAgLTg3Niw3ICs4NzYsNyBAQCBkbGIyX3hzdGF0c19yZXNldF9y YW5nZShzdHJ1Y3QgZGxiMl9ldmVudGRldiAqZGxiMiwgdWludDMyX3Qgc3RhcnQsDQo+ICAgDQo+ ICAgc3RhdGljIGludA0KPiAgIGRsYjJfeHN0YXRzX3Jlc2V0X3F1ZXVlKHN0cnVjdCBkbGIyX2V2 ZW50ZGV2ICpkbGIyLCB1aW50OF90IHF1ZXVlX2lkLA0KPiAtCQkJY29uc3QgdWludDMyX3QgaWRz W10sIHVpbnQzMl90IG5iX2lkcykNCj4gKwkJCWNvbnN0IHVpbnQ2NF90IGlkc1tdLCB1aW50MzJf dCBuYl9pZHMpDQo+ICAgew0KPiAgIAljb25zdCB1aW50MzJfdCByZXNldCA9IDE7DQo+ICAgDQo+ IEBAIC04OTgsNyArODk4LDcgQEAgZGxiMl94c3RhdHNfcmVzZXRfcXVldWUoc3RydWN0IGRsYjJf ZXZlbnRkZXYgKmRsYjIsIHVpbnQ4X3QgcXVldWVfaWQsDQo+ICAgDQo+ICAgc3RhdGljIGludA0K PiAgIGRsYjJfeHN0YXRzX3Jlc2V0X3BvcnQoc3RydWN0IGRsYjJfZXZlbnRkZXYgKmRsYjIsIHVp bnQ4X3QgcG9ydF9pZCwNCj4gLQkJICAgICAgIGNvbnN0IHVpbnQzMl90IGlkc1tdLCB1aW50MzJf dCBuYl9pZHMpDQo+ICsJCSAgICAgICBjb25zdCB1aW50NjRfdCBpZHNbXSwgdWludDMyX3QgbmJf aWRzKQ0KPiAgIHsNCj4gICAJY29uc3QgdWludDMyX3QgcmVzZXQgPSAxOw0KPiAgIAlpbnQgb2Zm c2V0ID0gZGxiMi0+eHN0YXRzX29mZnNldF9mb3JfcG9ydFtwb3J0X2lkXTsNCj4gQEAgLTkxNywx NCArOTE3LDE0IEBAIGRsYjJfeHN0YXRzX3Jlc2V0X3BvcnQoc3RydWN0IGRsYjJfZXZlbnRkZXYg KmRsYjIsIHVpbnQ4X3QgcG9ydF9pZCwNCj4gICB9DQo+ICAgDQo+ICAgc3RhdGljIGludA0KPiAt ZGxiMl94c3RhdHNfcmVzZXRfZGV2KHN0cnVjdCBkbGIyX2V2ZW50ZGV2ICpkbGIyLCBjb25zdCB1 aW50MzJfdCBpZHNbXSwNCj4gK2RsYjJfeHN0YXRzX3Jlc2V0X2RldihzdHJ1Y3QgZGxiMl9ldmVu dGRldiAqZGxiMiwgY29uc3QgdWludDY0X3QgaWRzW10sDQo+ICAgCQkgICAgICB1aW50MzJfdCBu Yl9pZHMpDQo+ICAgew0KPiAgIAl1aW50MzJfdCBpOw0KPiAgIA0KPiAgIAlpZiAoaWRzKSB7DQo+ ICAgCQlmb3IgKGkgPSAwOyBpIDwgbmJfaWRzOyBpKyspIHsNCj4gLQkJCXVpbnQzMl90IGlkID0g aWRzW2ldOw0KPiArCQkJdWludDY0X3QgaWQgPSBpZHNbaV07DQo+ICAgDQo+ICAgCQkJaWYgKGlk ID49IGRsYjItPnhzdGF0c19jb3VudF9tb2RlX2RldikNCj4gICAJCQkJcmV0dXJuIC1FSU5WQUw7 DQo+IEBAIC05NDIsNyArOTQyLDcgQEAgaW50DQo+ICAgZGxiMl9ldmVudGRldl94c3RhdHNfcmVz ZXQoc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiAgIAkJCSAgIGVudW0gcnRlX2V2ZW50X2Rl dl94c3RhdHNfbW9kZSBtb2RlLA0KPiAgIAkJCSAgIGludDE2X3QgcXVldWVfcG9ydF9pZCwNCj4g LQkJCSAgIGNvbnN0IHVpbnQzMl90IGlkc1tdLA0KPiArCQkJICAgY29uc3QgdWludDY0X3QgaWRz W10sDQo+ICAgCQkJICAgdWludDMyX3QgbmJfaWRzKQ0KPiAgIHsNCj4gICAJc3RydWN0IGRsYjJf ZXZlbnRkZXYgKmRsYjIgPSBkbGIyX3BtZF9wcml2KGRldik7DQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2V2ZW50L2Rzdy9kc3dfZXZkZXYuaCBiL2RyaXZlcnMvZXZlbnQvZHN3L2Rzd19ldmRldi5o DQo+IGluZGV4IGRmN2RjYzU1NzcuLjY0MTZhOGE4OTggMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMv ZXZlbnQvZHN3L2Rzd19ldmRldi5oDQo+ICsrKyBiL2RyaXZlcnMvZXZlbnQvZHN3L2Rzd19ldmRl di5oDQo+IEBAIC0yODMsMTIgKzI4MywxMiBAQCBpbnQgZHN3X3hzdGF0c19nZXRfbmFtZXMoY29u c3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiAgIAkJCSBlbnVtIHJ0ZV9ldmVudF9kZXZf eHN0YXRzX21vZGUgbW9kZSwNCj4gICAJCQkgdWludDhfdCBxdWV1ZV9wb3J0X2lkLA0KPiAgIAkJ CSBzdHJ1Y3QgcnRlX2V2ZW50X2Rldl94c3RhdHNfbmFtZSAqeHN0YXRzX25hbWVzLA0KPiAtCQkJ IHVuc2lnbmVkIGludCAqaWRzLCB1bnNpZ25lZCBpbnQgc2l6ZSk7DQo+ICsJCQkgdWludDY0X3Qg KmlkcywgdW5zaWduZWQgaW50IHNpemUpOw0KPiAgIGludCBkc3dfeHN0YXRzX2dldChjb25zdCBz dHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+ICAgCQkgICBlbnVtIHJ0ZV9ldmVudF9kZXZfeHN0 YXRzX21vZGUgbW9kZSwgdWludDhfdCBxdWV1ZV9wb3J0X2lkLA0KPiAtCQkgICBjb25zdCB1bnNp Z25lZCBpbnQgaWRzW10sIHVpbnQ2NF90IHZhbHVlc1tdLCB1bnNpZ25lZCBpbnQgbik7DQo+ICsJ CSAgIGNvbnN0IHVpbnQ2NF90IGlkc1tdLCB1aW50NjRfdCB2YWx1ZXNbXSwgdW5zaWduZWQgaW50 IG4pOw0KPiAgIHVpbnQ2NF90IGRzd194c3RhdHNfZ2V0X2J5X25hbWUoY29uc3Qgc3RydWN0IHJ0 ZV9ldmVudGRldiAqZGV2LA0KPiAtCQkJCWNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGludCAq aWQpOw0KPiArCQkJCWNvbnN0IGNoYXIgKm5hbWUsIHVpbnQ2NF90ICppZCk7DQo+ICAgDQo+ICAg c3RhdGljIGlubGluZSBzdHJ1Y3QgZHN3X2V2ZGV2ICoNCj4gICBkc3dfcG1kX3ByaXYoY29uc3Qg c3RydWN0IHJ0ZV9ldmVudGRldiAqZXZlbnRkZXYpDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2V2 ZW50L2Rzdy9kc3dfeHN0YXRzLmMgYi9kcml2ZXJzL2V2ZW50L2Rzdy9kc3dfeHN0YXRzLmMNCj4g aW5kZXggNGY3ZDRlM2ZmOS4uMjQwOWRlNmFkYyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ldmVu dC9kc3cvZHN3X3hzdGF0cy5jDQo+ICsrKyBiL2RyaXZlcnMvZXZlbnQvZHN3L2Rzd194c3RhdHMu Yw0KPiBAQCAtMTUsOCArMTUsOCBAQA0KPiAgICAqLw0KPiAgICNkZWZpbmUgRFNXX1hTVEFUU19J RF9QQVJBTV9CSVRTICg4KQ0KPiAgICNkZWZpbmUgRFNXX1hTVEFUU19JRF9TVEFUX0JJVFMJCQkJ CVwNCj4gLQkoc2l6ZW9mKHVuc2lnbmVkIGludCkqQ0hBUl9CSVQgLSBEU1dfWFNUQVRTX0lEX1BB UkFNX0JJVFMpDQo+IC0jZGVmaW5lIERTV19YU1RBVFNfSURfU1RBVF9NQVNLICgoMSA8PCBEU1df WFNUQVRTX0lEX1NUQVRfQklUUykgLSAxKQ0KPiArCShzaXplb2YodWludDY0X3QpKkNIQVJfQklU IC0gRFNXX1hTVEFUU19JRF9QQVJBTV9CSVRTKQ0KPiArI2RlZmluZSBEU1dfWFNUQVRTX0lEX1NU QVRfTUFTSyAoKDFVTCA8PCBEU1dfWFNUQVRTX0lEX1NUQVRfQklUUykgLSAxKQ0KDQpVc2UgVUlO VDY0X0MoMSkgaW5zdGVhZC4NCg0KPiAgIA0KPiAgICNkZWZpbmUgRFNXX1hTVEFUU19JRF9HRVRf UEFSQU0oaWQpCQlcDQo+ICAgCSgoaWQpPj5EU1dfWFNUQVRTX0lEX1NUQVRfQklUUykNCj4gQEAg LTI1LDcgKzI1LDcgQEANCj4gICAJKChpZCkgJiBEU1dfWFNUQVRTX0lEX1NUQVRfTUFTSykNCj4g ICANCj4gICAjZGVmaW5lIERTV19YU1RBVFNfSURfQ1JFQVRFKGlkLCBwYXJhbV92YWx1ZSkJCQlc DQo+IC0JKCgocGFyYW1fdmFsdWUpIDw8IERTV19YU1RBVFNfSURfU1RBVF9CSVRTKSB8IGlkKQ0K PiArCSgoKCh1aW50NjRfdClwYXJhbV92YWx1ZSkgPDwgRFNXX1hTVEFUU19JRF9TVEFUX0JJVFMp IHwgaWQpDQo+ICAgDQo+ICAgdHlwZWRlZg0KPiAgIHVpbnQ2NF90ICgqZHN3X3hzdGF0c19kZXZf Z2V0X3ZhbHVlX2ZuKShzdHJ1Y3QgZHN3X2V2ZGV2ICpkc3cpOw0KPiBAQCAtMTY5LDcgKzE2OSw3 IEBAIHN0YXRpYyBzdHJ1Y3QgZHN3X3hzdGF0c19wb3J0IGRzd19wb3J0X3hzdGF0c1tdID0gew0K PiAgIHR5cGVkZWYNCj4gICB2b2lkICgqZHN3X3hzdGF0c19mb3JlYWNoX2ZuKShjb25zdCBjaGFy ICp4c3RhdHNfbmFtZSwNCj4gICAJCQkgICAgICBlbnVtIHJ0ZV9ldmVudF9kZXZfeHN0YXRzX21v ZGUgbW9kZSwNCj4gLQkJCSAgICAgIHVpbnQ4X3QgcXVldWVfcG9ydF9pZCwgdW5zaWduZWQgaW50 IHhzdGF0c19pZCwNCj4gKwkJCSAgICAgIHVpbnQ4X3QgcXVldWVfcG9ydF9pZCwgdWludDY0X3Qg eHN0YXRzX2lkLA0KPiAgIAkJCSAgICAgIHZvaWQgKmRhdGEpOw0KPiAgIA0KPiAgIHN0YXRpYyB2 b2lkDQo+IEBAIC0xOTMsNyArMTkzLDcgQEAgZHN3X3hzdGF0c19wb3J0X2ZvcmVhY2goc3RydWN0 IGRzd19ldmRldiAqZHN3LCB1aW50OF90IHBvcnRfaWQsDQo+ICAgCSAgICAgc3RhdF9pZHggPCBS VEVfRElNKGRzd19wb3J0X3hzdGF0cyk7KSB7DQo+ICAgCQlzdHJ1Y3QgZHN3X3hzdGF0c19wb3J0 ICp4c3RhdCA9ICZkc3dfcG9ydF94c3RhdHNbc3RhdF9pZHhdOw0KPiAgIAkJY2hhciB4c3RhdHNf bmFtZVtSVEVfRVZFTlRfREVWX1hTVEFUU19OQU1FX1NJWkVdOw0KPiAtCQl1bnNpZ25lZCBpbnQg eHN0YXRzX2lkOw0KPiArCQl1aW50NjRfdCB4c3RhdHNfaWQ7DQo+ICAgDQo+ICAgCQlpZiAoeHN0 YXQtPnBlcl9xdWV1ZSkgew0KPiAgIAkJCXhzdGF0c19pZCA9IERTV19YU1RBVFNfSURfQ1JFQVRF KHN0YXRfaWR4LCBxdWV1ZV9pZCk7DQo+IEBAIC0yMTksNyArMjE5LDcgQEAgZHN3X3hzdGF0c19w b3J0X2ZvcmVhY2goc3RydWN0IGRzd19ldmRldiAqZHN3LCB1aW50OF90IHBvcnRfaWQsDQo+ICAg DQo+ICAgc3RydWN0IHN0b3JlX2N0eCB7DQo+ICAgCXN0cnVjdCBydGVfZXZlbnRfZGV2X3hzdGF0 c19uYW1lICpuYW1lczsNCj4gLQl1bnNpZ25lZCBpbnQgKmlkczsNCj4gKwl1aW50NjRfdCAqaWRz Ow0KPiAgIAl1bnNpZ25lZCBpbnQgY291bnQ7DQo+ICAgCXVuc2lnbmVkIGludCBjYXBhY2l0eTsN Cj4gICB9Ow0KPiBAQCAtMjI3LDcgKzIyNyw3IEBAIHN0cnVjdCBzdG9yZV9jdHggew0KPiAgIHN0 YXRpYyB2b2lkDQo+ICAgZHN3X3hzdGF0c19zdG9yZV9zdGF0KGNvbnN0IGNoYXIgKnhzdGF0c19u YW1lLA0KPiAgIAkJICAgICAgZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsDQo+ IC0JCSAgICAgIHVpbnQ4X3QgcXVldWVfcG9ydF9pZCwgdW5zaWduZWQgaW50IHhzdGF0c19pZCwN Cj4gKwkJICAgICAgdWludDhfdCBxdWV1ZV9wb3J0X2lkLCB1aW50NjRfdCB4c3RhdHNfaWQsDQo+ ICAgCQkgICAgICB2b2lkICpkYXRhKQ0KPiAgIHsNCj4gICAJc3RydWN0IHN0b3JlX2N0eCAqY3R4 ID0gZGF0YTsNCj4gQEAgLTI0OCw3ICsyNDgsNyBAQCBkc3dfeHN0YXRzX2dldF9uYW1lcyhjb25z dCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+ICAgCQkgICAgIGVudW0gcnRlX2V2ZW50X2Rl dl94c3RhdHNfbW9kZSBtb2RlLA0KPiAgIAkJICAgICB1aW50OF90IHF1ZXVlX3BvcnRfaWQsDQo+ ICAgCQkgICAgIHN0cnVjdCBydGVfZXZlbnRfZGV2X3hzdGF0c19uYW1lICp4c3RhdHNfbmFtZXMs DQo+IC0JCSAgICAgdW5zaWduZWQgaW50ICppZHMsIHVuc2lnbmVkIGludCBjYXBhY2l0eSkNCj4g KwkJICAgICB1aW50NjRfdCAqaWRzLCB1bnNpZ25lZCBpbnQgY2FwYWNpdHkpDQo+ICAgew0KPiAg IAlzdHJ1Y3QgZHN3X2V2ZGV2ICpkc3cgPSBkc3dfcG1kX3ByaXYoZGV2KTsNCj4gICANCj4gQEAg LTI3NiwxMyArMjc2LDEzIEBAIGRzd194c3RhdHNfZ2V0X25hbWVzKGNvbnN0IHN0cnVjdCBydGVf ZXZlbnRkZXYgKmRldiwNCj4gICANCj4gICBzdGF0aWMgaW50DQo+ICAgZHN3X3hzdGF0c19kZXZf Z2V0KGNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwNCj4gLQkJICAgY29uc3QgdW5zaWdu ZWQgaW50IGlkc1tdLCB1aW50NjRfdCB2YWx1ZXNbXSwgdW5zaWduZWQgaW50IG4pDQo+ICsJCSAg IGNvbnN0IHVpbnQ2NF90IGlkc1tdLCB1aW50NjRfdCB2YWx1ZXNbXSwgdW5zaWduZWQgaW50IG4p DQo+ICAgew0KPiAgIAlzdHJ1Y3QgZHN3X2V2ZGV2ICpkc3cgPSBkc3dfcG1kX3ByaXYoZGV2KTsN Cj4gICAJdW5zaWduZWQgaW50IGk7DQo+ICAgDQo+ICAgCWZvciAoaSA9IDA7IGkgPCBuOyBpKysp IHsNCj4gLQkJdW5zaWduZWQgaW50IGlkID0gaWRzW2ldOw0KPiArCQl1aW50NjRfdCBpZCA9IGlk c1tpXTsNCj4gICAJCXN0cnVjdCBkc3dfeHN0YXRfZGV2ICp4c3RhdCA9ICZkc3dfZGV2X3hzdGF0 c1tpZF07DQo+ICAgCQl2YWx1ZXNbaV0gPSB4c3RhdC0+Z2V0X3ZhbHVlX2ZuKGRzdyk7DQo+ICAg CX0NCj4gQEAgLTI5MSwxMyArMjkxLDEzIEBAIGRzd194c3RhdHNfZGV2X2dldChjb25zdCBzdHJ1 Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+ICAgDQo+ICAgc3RhdGljIGludA0KPiAgIGRzd194c3Rh dHNfcG9ydF9nZXQoY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LCB1aW50OF90IHBvcnRf aWQsDQo+IC0JCSAgICBjb25zdCB1bnNpZ25lZCBpbnQgaWRzW10sIHVpbnQ2NF90IHZhbHVlc1td LCB1bnNpZ25lZCBpbnQgbikNCj4gKwkJICAgIGNvbnN0IHVpbnQ2NF90IGlkc1tdLCB1aW50NjRf dCB2YWx1ZXNbXSwgdW5zaWduZWQgaW50IG4pDQo+ICAgew0KPiAgIAlzdHJ1Y3QgZHN3X2V2ZGV2 ICpkc3cgPSBkc3dfcG1kX3ByaXYoZGV2KTsNCj4gICAJdW5zaWduZWQgaW50IGk7DQo+ICAgDQo+ ICAgCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsNCj4gLQkJdW5zaWduZWQgaW50IGlkID0gaWRz W2ldOw0KPiArCQl1aW50NjRfdCBpZCA9IGlkc1tpXTsNCj4gICAJCXVuc2lnbmVkIGludCBzdGF0 X2lkeCA9IERTV19YU1RBVFNfSURfR0VUX1NUQVQoaWQpOw0KPiAgIAkJc3RydWN0IGRzd194c3Rh dHNfcG9ydCAqeHN0YXQgPSAmZHN3X3BvcnRfeHN0YXRzW3N0YXRfaWR4XTsNCj4gICAJCXVpbnQ4 X3QgcXVldWVfaWQgPSAwOw0KPiBAQCAtMzEzLDcgKzMxMyw3IEBAIGRzd194c3RhdHNfcG9ydF9n ZXQoY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LCB1aW50OF90IHBvcnRfaWQsDQo+ICAg aW50DQo+ICAgZHN3X3hzdGF0c19nZXQoY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0K PiAgIAkgICAgICAgZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsIHVpbnQ4X3Qg cXVldWVfcG9ydF9pZCwNCj4gLQkgICAgICAgY29uc3QgdW5zaWduZWQgaW50IGlkc1tdLCB1aW50 NjRfdCB2YWx1ZXNbXSwgdW5zaWduZWQgaW50IG4pDQo+ICsJICAgICAgIGNvbnN0IHVpbnQ2NF90 IGlkc1tdLCB1aW50NjRfdCB2YWx1ZXNbXSwgdW5zaWduZWQgaW50IG4pDQo+ICAgew0KPiAgIAlz d2l0Y2ggKG1vZGUpIHsNCj4gICAJY2FzZSBSVEVfRVZFTlRfREVWX1hTVEFUU19ERVZJQ0U6DQo+ IEBAIC0zMzIsMTQgKzMzMiwxNCBAQCBkc3dfeHN0YXRzX2dldChjb25zdCBzdHJ1Y3QgcnRlX2V2 ZW50ZGV2ICpkZXYsDQo+ICAgc3RydWN0IGZpbmRfY3R4IHsNCj4gICAJY29uc3Qgc3RydWN0IHJ0 ZV9ldmVudGRldiAqZGV2Ow0KPiAgIAljb25zdCBjaGFyICpuYW1lOw0KPiAtCXVuc2lnbmVkIGlu dCAqaWQ7DQo+ICsJdWludDY0X3QgKmlkOw0KPiAgIAl1aW50NjRfdCB2YWx1ZTsNCj4gICB9Ow0K PiAgIA0KPiAgIHN0YXRpYyB2b2lkDQo+ICAgZHN3X3hzdGF0c19maW5kX3N0YXQoY29uc3QgY2hh ciAqeHN0YXRzX25hbWUsDQo+ICAgCQkgICAgIGVudW0gcnRlX2V2ZW50X2Rldl94c3RhdHNfbW9k ZSBtb2RlLA0KPiAtCQkgICAgIHVpbnQ4X3QgcXVldWVfcG9ydF9pZCwgdW5zaWduZWQgaW50IHhz dGF0c19pZCwNCj4gKwkJICAgICB1aW50OF90IHF1ZXVlX3BvcnRfaWQsIHVpbnQ2NF90IHhzdGF0 c19pZCwNCj4gICAJCSAgICAgdm9pZCAqZGF0YSkNCj4gICB7DQo+ICAgCXN0cnVjdCBmaW5kX2N0 eCAqY3R4ID0gZGF0YTsNCj4gQEAgLTM1NCw3ICszNTQsNyBAQCBkc3dfeHN0YXRzX2ZpbmRfc3Rh dChjb25zdCBjaGFyICp4c3RhdHNfbmFtZSwNCj4gICANCj4gICB1aW50NjRfdA0KPiAgIGRzd194 c3RhdHNfZ2V0X2J5X25hbWUoY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LCBjb25zdCBj aGFyICpuYW1lLA0KPiAtCQkgICAgICAgdW5zaWduZWQgaW50ICppZCkNCj4gKwkJICAgICAgIHVp bnQ2NF90ICppZCkNCj4gICB7DQo+ICAgCXN0cnVjdCBkc3dfZXZkZXYgKmRzdyA9IGRzd19wbWRf cHJpdihkZXYpOw0KPiAgIAl1aW50MTZfdCBwb3J0X2lkOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ldmVudC9vcGRsL29wZGxfZXZkZXYuaCBiL2RyaXZlcnMvZXZlbnQvb3BkbC9vcGRsX2V2ZGV2 LmgNCj4gaW5kZXggMmRjYTBhOGE5OC4uMWNhMTY2YjM3YyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVy cy9ldmVudC9vcGRsL29wZGxfZXZkZXYuaA0KPiArKysgYi9kcml2ZXJzL2V2ZW50L29wZGwvb3Bk bF9ldmRldi5oDQo+IEBAIC0yODksMTYgKzI4OSwxNiBAQCBpbnQgb3BkbF94c3RhdHNfdW5pbml0 KHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldik7DQo+ICAgaW50IG9wZGxfeHN0YXRzX2dldF9uYW1l cyhjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+ICAgCQllbnVtIHJ0ZV9ldmVudF9k ZXZfeHN0YXRzX21vZGUgbW9kZSwgdWludDhfdCBxdWV1ZV9wb3J0X2lkLA0KPiAgIAkJc3RydWN0 IHJ0ZV9ldmVudF9kZXZfeHN0YXRzX25hbWUgKnhzdGF0c19uYW1lcywNCj4gLQkJdW5zaWduZWQg aW50ICppZHMsIHVuc2lnbmVkIGludCBzaXplKTsNCj4gKwkJdWludDY0X3QgKmlkcywgdW5zaWdu ZWQgaW50IHNpemUpOw0KPiAgIGludCBvcGRsX3hzdGF0c19nZXQoY29uc3Qgc3RydWN0IHJ0ZV9l dmVudGRldiAqZGV2LA0KPiAgIAkJZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUs IHVpbnQ4X3QgcXVldWVfcG9ydF9pZCwNCj4gLQkJY29uc3QgdW5zaWduZWQgaW50IGlkc1tdLCB1 aW50NjRfdCB2YWx1ZXNbXSwgdW5zaWduZWQgaW50IG4pOw0KPiArCQljb25zdCB1aW50NjRfdCBp ZHNbXSwgdWludDY0X3QgdmFsdWVzW10sIHVuc2lnbmVkIGludCBuKTsNCj4gICB1aW50NjRfdCBv cGRsX3hzdGF0c19nZXRfYnlfbmFtZShjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+ IC0JCWNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGludCAqaWQpOw0KPiArCQljb25zdCBjaGFy ICpuYW1lLCB1aW50NjRfdCAqaWQpOw0KPiAgIGludCBvcGRsX3hzdGF0c19yZXNldChzdHJ1Y3Qg cnRlX2V2ZW50ZGV2ICpkZXYsDQo+ICAgCQllbnVtIHJ0ZV9ldmVudF9kZXZfeHN0YXRzX21vZGUg bW9kZSwNCj4gICAJCWludDE2X3QgcXVldWVfcG9ydF9pZCwNCj4gLQkJY29uc3QgdWludDMyX3Qg aWRzW10sDQo+ICsJCWNvbnN0IHVpbnQ2NF90IGlkc1tdLA0KPiAgIAkJdWludDMyX3QgbmJfaWRz KTsNCj4gICANCj4gICBpbnQgb3BkbF9hZGRfZXZlbnRfaGFuZGxlcnMoc3RydWN0IHJ0ZV9ldmVu dGRldiAqZGV2KTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZXZlbnQvb3BkbC9vcGRsX2V2ZGV2 X3hzdGF0cy5jIGIvZHJpdmVycy9ldmVudC9vcGRsL29wZGxfZXZkZXZfeHN0YXRzLmMNCj4gaW5k ZXggMjdiM2Q4ODAyMy4uYjM4MmY2NjE5ZCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ldmVudC9v cGRsL29wZGxfZXZkZXZfeHN0YXRzLmMNCj4gKysrIGIvZHJpdmVycy9ldmVudC9vcGRsL29wZGxf ZXZkZXZfeHN0YXRzLmMNCj4gQEAgLTY1LDcgKzY1LDcgQEAgb3BkbF94c3RhdHNfZ2V0X25hbWVz KGNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwNCj4gICAJCWVudW0gcnRlX2V2ZW50X2Rl dl94c3RhdHNfbW9kZSBtb2RlLA0KPiAgIAkJdWludDhfdCBxdWV1ZV9wb3J0X2lkLA0KPiAgIAkJ c3RydWN0IHJ0ZV9ldmVudF9kZXZfeHN0YXRzX25hbWUgKnhzdGF0c19uYW1lcywNCj4gLQkJdW5z aWduZWQgaW50ICppZHMsIHVuc2lnbmVkIGludCBzaXplKQ0KPiArCQl1aW50NjRfdCAqaWRzLCB1 bnNpZ25lZCBpbnQgc2l6ZSkNCj4gICB7DQo+ICAgCXN0cnVjdCBvcGRsX2V2ZGV2ICpkZXZpY2Ug PSBvcGRsX3BtZF9wcml2KGRldik7DQo+ICAgDQo+IEBAIC05OSw3ICs5OSw3IEBAIGludA0KPiAg IG9wZGxfeHN0YXRzX2dldChjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+ICAgCQll bnVtIHJ0ZV9ldmVudF9kZXZfeHN0YXRzX21vZGUgbW9kZSwNCj4gICAJCXVpbnQ4X3QgcXVldWVf cG9ydF9pZCwNCj4gLQkJY29uc3QgdW5zaWduZWQgaW50IGlkc1tdLA0KPiArCQljb25zdCB1aW50 NjRfdCBpZHNbXSwNCj4gICAJCXVpbnQ2NF90IHZhbHVlc1tdLCB1bnNpZ25lZCBpbnQgbikNCj4g ICB7DQo+ICAgCXN0cnVjdCBvcGRsX2V2ZGV2ICpkZXZpY2UgPSBvcGRsX3BtZF9wcml2KGRldik7 DQo+IEBAIC0xMzMsNyArMTMzLDcgQEAgb3BkbF94c3RhdHNfZ2V0KGNvbnN0IHN0cnVjdCBydGVf ZXZlbnRkZXYgKmRldiwNCj4gICANCj4gICB1aW50NjRfdA0KPiAgIG9wZGxfeHN0YXRzX2dldF9i eV9uYW1lKGNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwNCj4gLQkJY29uc3QgY2hhciAq bmFtZSwgdW5zaWduZWQgaW50ICppZCkNCj4gKwkJY29uc3QgY2hhciAqbmFtZSwgdWludDY0X3Qg KmlkKQ0KPiAgIHsNCj4gICAJc3RydWN0IG9wZGxfZXZkZXYgKmRldmljZSA9IG9wZGxfcG1kX3By aXYoZGV2KTsNCj4gICANCj4gQEAgLTE2MSw3ICsxNjEsNyBAQCBvcGRsX3hzdGF0c19nZXRfYnlf bmFtZShjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+ICAgaW50DQo+ICAgb3BkbF94 c3RhdHNfcmVzZXQoc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiAgIAkJZW51bSBydGVfZXZl bnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsDQo+IC0JCWludDE2X3QgcXVldWVfcG9ydF9pZCwgY29u c3QgdWludDMyX3QgaWRzW10sDQo+ICsJCWludDE2X3QgcXVldWVfcG9ydF9pZCwgY29uc3QgdWlu dDY0X3QgaWRzW10sDQo+ICAgCQl1aW50MzJfdCBuYl9pZHMpDQo+ICAgew0KPiAgIAlzdHJ1Y3Qg b3BkbF9ldmRldiAqZGV2aWNlID0gb3BkbF9wbWRfcHJpdihkZXYpOw0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ldmVudC9vcGRsL29wZGxfdGVzdC5jIGIvZHJpdmVycy9ldmVudC9vcGRsL29wZGxf dGVzdC5jDQo+IGluZGV4IDNjYmUyMTM5ZWUuLmI2OWM0NzY5ZGMgMTAwNjQ0DQo+IC0tLSBhL2Ry aXZlcnMvZXZlbnQvb3BkbC9vcGRsX3Rlc3QuYw0KPiArKysgYi9kcml2ZXJzL2V2ZW50L29wZGwv b3BkbF90ZXN0LmMNCj4gQEAgLTQ3MSw3ICs0NzEsNyBAQCBhdG9taWNfYmFzaWMoc3RydWN0IHRl c3QgKnQpDQo+ICAgCXJldHVybiAwOw0KPiAgIH0NCj4gICBzdGF0aWMgX19ydGVfYWx3YXlzX2lu bGluZSBpbnQNCj4gLWNoZWNrX3FpZF9zdGF0cyh1aW50MzJfdCBpZFtdLCBpbnQgaW5kZXgpDQo+ ICtjaGVja19xaWRfc3RhdHModWludDY0X3QgaWRbXSwgaW50IGluZGV4KQ0KPiAgIHsNCj4gICAN Cj4gICAJaWYgKGluZGV4ID09IDApIHsNCj4gQEAgLTUwOSw3ICs1MDksNyBAQCBjaGVja19zdGF0 aXN0aWNzKHZvaWQpDQo+ICAgCQkJCTApOw0KPiAgIAkJaWYgKG51bV9zdGF0cyA+IDApIHsNCj4g ICANCj4gLQkJCXVpbnQzMl90IGlkW251bV9zdGF0c107DQo+ICsJCQl1aW50NjRfdCBpZFtudW1f c3RhdHNdOw0KPiAgIAkJCXN0cnVjdCBydGVfZXZlbnRfZGV2X3hzdGF0c19uYW1lIG5hbWVzW251 bV9zdGF0c107DQo+ICAgCQkJdWludDY0X3QgdmFsdWVzW251bV9zdGF0c107DQo+ICAgDQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2LmggYi9kcml2ZXJzL2V2ZW50L3N3 L3N3X2V2ZGV2LmgNCj4gaW5kZXggODU0MmI3ZDM0ZC4uYzdiOTQzYTcyYiAxMDA2NDQNCj4gLS0t IGEvZHJpdmVycy9ldmVudC9zdy9zd19ldmRldi5oDQo+ICsrKyBiL2RyaXZlcnMvZXZlbnQvc3cv c3dfZXZkZXYuaA0KPiBAQCAtMzAxLDE2ICszMDEsMTYgQEAgaW50IHN3X3hzdGF0c191bmluaXQo c3RydWN0IHN3X2V2ZGV2ICpkZXYpOw0KPiAgIGludCBzd194c3RhdHNfZ2V0X25hbWVzKGNvbnN0 IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwNCj4gICAJZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0 c19tb2RlIG1vZGUsIHVpbnQ4X3QgcXVldWVfcG9ydF9pZCwNCj4gICAJc3RydWN0IHJ0ZV9ldmVu dF9kZXZfeHN0YXRzX25hbWUgKnhzdGF0c19uYW1lcywNCj4gLQl1bnNpZ25lZCBpbnQgKmlkcywg dW5zaWduZWQgaW50IHNpemUpOw0KPiArCXVpbnQ2NF90ICppZHMsIHVuc2lnbmVkIGludCBzaXpl KTsNCj4gICBpbnQgc3dfeHN0YXRzX2dldChjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYs DQo+ICAgCQllbnVtIHJ0ZV9ldmVudF9kZXZfeHN0YXRzX21vZGUgbW9kZSwgdWludDhfdCBxdWV1 ZV9wb3J0X2lkLA0KPiAtCQljb25zdCB1bnNpZ25lZCBpbnQgaWRzW10sIHVpbnQ2NF90IHZhbHVl c1tdLCB1bnNpZ25lZCBpbnQgbik7DQo+ICsJCWNvbnN0IHVpbnQ2NF90IGlkc1tdLCB1aW50NjRf dCB2YWx1ZXNbXSwgdW5zaWduZWQgaW50IG4pOw0KPiAgIHVpbnQ2NF90IHN3X3hzdGF0c19nZXRf YnlfbmFtZShjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+IC0JCWNvbnN0IGNoYXIg Km5hbWUsIHVuc2lnbmVkIGludCAqaWQpOw0KPiArCQljb25zdCBjaGFyICpuYW1lLCB1aW50NjRf dCAqaWQpOw0KPiAgIGludCBzd194c3RhdHNfcmVzZXQoc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2 LA0KPiAgIAkJZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsDQo+ICAgCQlpbnQx Nl90IHF1ZXVlX3BvcnRfaWQsDQo+IC0JCWNvbnN0IHVpbnQzMl90IGlkc1tdLA0KPiArCQljb25z dCB1aW50NjRfdCBpZHNbXSwNCj4gICAJCXVpbnQzMl90IG5iX2lkcyk7DQo+ICAgDQo+ICAgaW50 IHRlc3Rfc3dfZXZlbnRkZXYodm9pZCk7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2V2ZW50L3N3 L3N3X2V2ZGV2X3NlbGZ0ZXN0LmMgYi9kcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2X3NlbGZ0ZXN0 LmMNCj4gaW5kZXggZWQ3YWU2YTY4NS4uNjJkNjY3NDRmMiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVy cy9ldmVudC9zdy9zd19ldmRldl9zZWxmdGVzdC5jDQo+ICsrKyBiL2RyaXZlcnMvZXZlbnQvc3cv c3dfZXZkZXZfc2VsZnRlc3QuYw0KPiBAQCAtOTIsNyArOTIsNyBAQCB4c3RhdHNfcHJpbnQodm9p ZCkNCj4gICB7DQo+ICAgCWNvbnN0IHVpbnQzMl90IFhTVEFUU19NQVggPSAxMDI0Ow0KPiAgIAl1 aW50MzJfdCBpOw0KPiAtCXVpbnQzMl90IGlkc1tYU1RBVFNfTUFYXTsNCj4gKwl1aW50NjRfdCBp ZHNbWFNUQVRTX01BWF07DQo+ICAgCXVpbnQ2NF90IHZhbHVlc1tYU1RBVFNfTUFYXTsNCj4gICAJ c3RydWN0IHJ0ZV9ldmVudF9kZXZfeHN0YXRzX25hbWUgeHN0YXRzX25hbWVzW1hTVEFUU19NQVhd Ow0KPiAgIA0KPiBAQCAtMzEwLDE1ICszMTAsMTQgQEAgc3RhdGljIGlubGluZSBpbnQNCj4gICB0 ZXN0X2V2ZW50X2Rldl9zdGF0c19nZXQoaW50IGRldl9pZCwgc3RydWN0IHRlc3RfZXZlbnRfZGV2 X3N0YXRzICpzdGF0cykNCj4gICB7DQo+ICAgCXN0YXRpYyB1aW50MzJfdCBpOw0KPiAtCXN0YXRp YyB1aW50MzJfdCB0b3RhbF9pZHNbM107IC8qIHJ4LCB0eCBhbmQgZHJvcCAqLw0KPiAtCXN0YXRp YyB1aW50MzJfdCBwb3J0X3J4X3BrdHNfaWRzW01BWF9QT1JUU107DQo+IC0Jc3RhdGljIHVpbnQz Ml90IHBvcnRfcnhfZHJvcHBlZF9pZHNbTUFYX1BPUlRTXTsNCj4gLQlzdGF0aWMgdWludDMyX3Qg cG9ydF9pbmZsaWdodF9pZHNbTUFYX1BPUlRTXTsNCj4gLQlzdGF0aWMgdWludDMyX3QgcG9ydF90 eF9wa3RzX2lkc1tNQVhfUE9SVFNdOw0KPiAtCXN0YXRpYyB1aW50MzJfdCBxaWRfcnhfcGt0c19p ZHNbTUFYX1FJRFNdOw0KPiAtCXN0YXRpYyB1aW50MzJfdCBxaWRfcnhfZHJvcHBlZF9pZHNbTUFY X1FJRFNdOw0KPiAtCXN0YXRpYyB1aW50MzJfdCBxaWRfdHhfcGt0c19pZHNbTUFYX1FJRFNdOw0K PiAtDQo+ICsJc3RhdGljIHVpbnQ2NF90IHRvdGFsX2lkc1szXTsgLyogcngsIHR4IGFuZCBkcm9w ICovDQo+ICsJc3RhdGljIHVpbnQ2NF90IHBvcnRfcnhfcGt0c19pZHNbTUFYX1BPUlRTXTsNCj4g KwlzdGF0aWMgdWludDY0X3QgcG9ydF9yeF9kcm9wcGVkX2lkc1tNQVhfUE9SVFNdOw0KPiArCXN0 YXRpYyB1aW50NjRfdCBwb3J0X2luZmxpZ2h0X2lkc1tNQVhfUE9SVFNdOw0KPiArCXN0YXRpYyB1 aW50NjRfdCBwb3J0X3R4X3BrdHNfaWRzW01BWF9QT1JUU107DQo+ICsJc3RhdGljIHVpbnQ2NF90 IHFpZF9yeF9wa3RzX2lkc1tNQVhfUUlEU107DQo+ICsJc3RhdGljIHVpbnQ2NF90IHFpZF9yeF9k cm9wcGVkX2lkc1tNQVhfUUlEU107DQo+ICsJc3RhdGljIHVpbnQ2NF90IHFpZF90eF9wa3RzX2lk c1tNQVhfUUlEU107DQo+ICAgDQo+ICAgCXN0YXRzLT5yeF9wa3RzID0gcnRlX2V2ZW50X2Rldl94 c3RhdHNfYnlfbmFtZV9nZXQoZGV2X2lkLA0KPiAgIAkJCSJkZXZfcngiLCAmdG90YWxfaWRzWzBd KTsNCj4gQEAgLTg2Myw3ICs4NjIsNyBAQCB4c3RhdHNfdGVzdHMoc3RydWN0IHRlc3QgKnQpDQo+ ICAgCWNvbnN0IHVpbnQzMl90IFhTVEFUU19NQVggPSAxMDI0Ow0KPiAgIA0KPiAgIAl1aW50MzJf dCBpOw0KPiAtCXVpbnQzMl90IGlkc1tYU1RBVFNfTUFYXTsNCj4gKwl1aW50NjRfdCBpZHNbWFNU QVRTX01BWF07DQo+ICAgCXVpbnQ2NF90IHZhbHVlc1tYU1RBVFNfTUFYXTsNCj4gICAJc3RydWN0 IHJ0ZV9ldmVudF9kZXZfeHN0YXRzX25hbWUgeHN0YXRzX25hbWVzW1hTVEFUU19NQVhdOw0KPiAg IA0KPiBAQCAtOTYzLDExICs5NjIsMTAgQEAgeHN0YXRzX3Rlc3RzKHN0cnVjdCB0ZXN0ICp0KQ0K PiAgIAlzdGF0aWMgY29uc3QgdWludDY0X3QgZXhwZWN0ZWRbXSA9IHszLCAzLCAwLCAxLCAwLCAw LCA0LCAxfTsNCj4gICAJZm9yIChpID0gMDsgKHNpZ25lZCBpbnQpaSA8IHJldDsgaSsrKSB7DQo+ ICAgCQlpZiAoZXhwZWN0ZWRbaV0gIT0gdmFsdWVzW2ldKSB7DQo+IC0JCQlwcmludGYoDQo+IC0J CQkJIiVkIEVycm9yIHhzdGF0ICVkIChpZCAlZCkgJXMgOiAlIlBSSXU2NA0KPiAtCQkJCSIsIGV4 cGVjdCAlIlBSSXU2NCJcbiIsDQo+IC0JCQkJX19MSU5FX18sIGksIGlkc1tpXSwgeHN0YXRzX25h bWVzW2ldLm5hbWUsDQo+IC0JCQkJdmFsdWVzW2ldLCBleHBlY3RlZFtpXSk7DQo+ICsJCQlwcmlu dGYoIiVkIEVycm9yIHhzdGF0ICVkIChpZCAlIiBQUkl1NjQNCj4gKwkJCSAgICAgICAiKSAlcyA6 ICUiIFBSSXU2NCAiLCBleHBlY3QgJSIgUFJJdTY0ICJcbiIsDQo+ICsJCQkgICAgICAgX19MSU5F X18sIGksIGlkc1tpXSwgeHN0YXRzX25hbWVzW2ldLm5hbWUsDQo+ICsJCQkgICAgICAgdmFsdWVz W2ldLCBleHBlY3RlZFtpXSk7DQo+ICAgCQkJZ290byBmYWlsOw0KPiAgIAkJfQ0KPiAgIAl9DQo+ IEBAIC05ODIsMTEgKzk4MCwxMCBAQCB4c3RhdHNfdGVzdHMoc3RydWN0IHRlc3QgKnQpDQo+ICAg CQkJCQkwLCBpZHMsIHZhbHVlcywgbnVtX3N0YXRzKTsNCj4gICAJZm9yIChpID0gMDsgKHNpZ25l ZCBpbnQpaSA8IHJldDsgaSsrKSB7DQo+ICAgCQlpZiAoZXhwZWN0ZWRfemVyb1tpXSAhPSB2YWx1 ZXNbaV0pIHsNCj4gLQkJCXByaW50ZigNCj4gLQkJCQkiJWQgRXJyb3IsIHhzdGF0ICVkIChpZCAl ZCkgJXMgOiAlIlBSSXU2NA0KPiAtCQkJCSIsIGV4cGVjdCAlIlBSSXU2NCJcbiIsDQo+IC0JCQkJ X19MSU5FX18sIGksIGlkc1tpXSwgeHN0YXRzX25hbWVzW2ldLm5hbWUsDQo+IC0JCQkJdmFsdWVz W2ldLCBleHBlY3RlZF96ZXJvW2ldKTsNCj4gKwkJCXByaW50ZigiJWQgRXJyb3IsIHhzdGF0ICVk IChpZCAlIiBQUkl1NjQNCj4gKwkJCSAgICAgICAiKSAlcyA6ICUiIFBSSXU2NCAiLCBleHBlY3Qg JSIgUFJJdTY0ICJcbiIsDQo+ICsJCQkgICAgICAgX19MSU5FX18sIGksIGlkc1tpXSwgeHN0YXRz X25hbWVzW2ldLm5hbWUsDQo+ICsJCQkgICAgICAgdmFsdWVzW2ldLCBleHBlY3RlZF96ZXJvW2ld KTsNCj4gICAJCQlnb3RvIGZhaWw7DQo+ICAgCQl9DQo+ICAgCX0NCj4gQEAgLTEwNTgsMTEgKzEw NTUsMTAgQEAgeHN0YXRzX3Rlc3RzKHN0cnVjdCB0ZXN0ICp0KQ0KPiAgIAkJCQkJMCwgaWRzLCB2 YWx1ZXMsIG51bV9zdGF0cyk7DQo+ICAgCWZvciAoaSA9IDA7IChzaWduZWQgaW50KWkgPCByZXQ7 IGkrKykgew0KPiAgIAkJaWYgKHBvcnRfZXhwZWN0ZWRfemVyb1tpXSAhPSB2YWx1ZXNbaV0pIHsN Cj4gLQkJCXByaW50ZigNCj4gLQkJCQkiJWQsIEVycm9yLCB4c3RhdCAlZCAoaWQgJWQpICVzIDog JSJQUkl1NjQNCj4gLQkJCQkiLCBleHBlY3QgJSJQUkl1NjQiXG4iLA0KPiAtCQkJCV9fTElORV9f LCBpLCBpZHNbaV0sIHhzdGF0c19uYW1lc1tpXS5uYW1lLA0KPiAtCQkJCXZhbHVlc1tpXSwgcG9y dF9leHBlY3RlZF96ZXJvW2ldKTsNCj4gKwkJCXByaW50ZigiJWQsIEVycm9yLCB4c3RhdCAlZCAo aWQgJSIgUFJJdTY0DQo+ICsJCQkgICAgICAgIikgJXMgOiAlIiBQUkl1NjQgIiwgZXhwZWN0ICUi IFBSSXU2NCAiXG4iLA0KPiArCQkJICAgICAgIF9fTElORV9fLCBpLCBpZHNbaV0sIHhzdGF0c19u YW1lc1tpXS5uYW1lLA0KPiArCQkJICAgICAgIHZhbHVlc1tpXSwgcG9ydF9leHBlY3RlZF96ZXJv W2ldKTsNCj4gICAJCQlnb3RvIGZhaWw7DQo+ICAgCQl9DQo+ICAgCX0NCj4gQEAgLTEwOTUsMTEg KzEwOTEsMTAgQEAgeHN0YXRzX3Rlc3RzKHN0cnVjdCB0ZXN0ICp0KQ0KPiAgIAl9Ow0KPiAgIAlm b3IgKGkgPSAwOyAoc2lnbmVkIGludClpIDwgcmV0OyBpKyspIHsNCj4gICAJCWlmIChxdWV1ZV9l eHBlY3RlZFtpXSAhPSB2YWx1ZXNbaV0pIHsNCj4gLQkJCXByaW50ZigNCj4gLQkJCQkiJWQsIEVy cm9yLCB4c3RhdCAlZCAoaWQgJWQpICVzIDogJSJQUkl1NjQNCj4gLQkJCQkiLCBleHBlY3QgJSJQ Ukl1NjQiXG4iLA0KPiAtCQkJCV9fTElORV9fLCBpLCBpZHNbaV0sIHhzdGF0c19uYW1lc1tpXS5u YW1lLA0KPiAtCQkJCXZhbHVlc1tpXSwgcXVldWVfZXhwZWN0ZWRbaV0pOw0KPiArCQkJcHJpbnRm KCIlZCwgRXJyb3IsIHhzdGF0ICVkIChpZCAlIiBQUkl1NjQNCj4gKwkJCSAgICAgICAiKSAlcyA6 ICUiIFBSSXU2NCAiLCBleHBlY3QgJSIgUFJJdTY0ICJcbiIsDQo+ICsJCQkgICAgICAgX19MSU5F X18sIGksIGlkc1tpXSwgeHN0YXRzX25hbWVzW2ldLm5hbWUsDQo+ICsJCQkgICAgICAgdmFsdWVz W2ldLCBxdWV1ZV9leHBlY3RlZFtpXSk7DQo+ICAgCQkJZ290byBmYWlsOw0KPiAgIAkJfQ0KPiAg IAl9DQo+IEBAIC0xMTI5LDExICsxMTI0LDEwIEBAIHhzdGF0c190ZXN0cyhzdHJ1Y3QgdGVzdCAq dCkNCj4gICAJaW50IGZhaWxzID0gMDsNCj4gICAJZm9yIChpID0gMDsgKHNpZ25lZCBpbnQpaSA8 IHJldDsgaSsrKSB7DQo+ICAgCQlpZiAocXVldWVfZXhwZWN0ZWRfemVyb1tpXSAhPSB2YWx1ZXNb aV0pIHsNCj4gLQkJCXByaW50ZigNCj4gLQkJCQkiJWQsIEVycm9yLCB4c3RhdCAlZCAoaWQgJWQp ICVzIDogJSJQUkl1NjQNCj4gLQkJCQkiLCBleHBlY3QgJSJQUkl1NjQiXG4iLA0KPiAtCQkJCV9f TElORV9fLCBpLCBpZHNbaV0sIHhzdGF0c19uYW1lc1tpXS5uYW1lLA0KPiAtCQkJCXZhbHVlc1tp XSwgcXVldWVfZXhwZWN0ZWRfemVyb1tpXSk7DQo+ICsJCQlwcmludGYoIiVkLCBFcnJvciwgeHN0 YXQgJWQgKGlkICUiIFBSSXU2NA0KPiArCQkJICAgICAgICIpICVzIDogJSIgUFJJdTY0ICIsIGV4 cGVjdCAlIiBQUkl1NjQgIlxuIiwNCj4gKwkJCSAgICAgICBfX0xJTkVfXywgaSwgaWRzW2ldLCB4 c3RhdHNfbmFtZXNbaV0ubmFtZSwNCj4gKwkJCSAgICAgICB2YWx1ZXNbaV0sIHF1ZXVlX2V4cGVj dGVkX3plcm9baV0pOw0KPiAgIAkJCWZhaWxzKys7DQo+ICAgCQl9DQo+ICAgCX0NCj4gQEAgLTEx NjAsNyArMTE1NCw3IEBAIHhzdGF0c19pZF9hYnVzZV90ZXN0cyhzdHJ1Y3QgdGVzdCAqdCkNCj4g ICAJY29uc3QgdWludDMyX3QgWFNUQVRTX01BWCA9IDEwMjQ7DQo+ICAgCWNvbnN0IHVpbnQzMl90 IGxpbmtfcG9ydCA9IDI7DQo+ICAgDQo+IC0JdWludDMyX3QgaWRzW1hTVEFUU19NQVhdOw0KPiAr CXVpbnQ2NF90IGlkc1tYU1RBVFNfTUFYXTsNCj4gICAJc3RydWN0IHJ0ZV9ldmVudF9kZXZfeHN0 YXRzX25hbWUgeHN0YXRzX25hbWVzW1hTVEFUU19NQVhdOw0KPiAgIA0KPiAgIAkvKiBDcmVhdGUg aW5zdGFuY2Ugd2l0aCA0IHBvcnRzICovDQo+IEBAIC0xMzc5LDcgKzEzNzMsNyBAQCB4c3RhdHNf YnJ1dGVfZm9yY2Uoc3RydWN0IHRlc3QgKnQpDQo+ICAgew0KPiAgIAl1aW50MzJfdCBpOw0KPiAg IAljb25zdCB1aW50MzJfdCBYU1RBVFNfTUFYID0gMTAyNDsNCj4gLQl1aW50MzJfdCBpZHNbWFNU QVRTX01BWF07DQo+ICsJdWludDY0X3QgaWRzW1hTVEFUU19NQVhdOw0KPiAgIAl1aW50NjRfdCB2 YWx1ZXNbWFNUQVRTX01BWF07DQo+ICAgCXN0cnVjdCBydGVfZXZlbnRfZGV2X3hzdGF0c19uYW1l IHhzdGF0c19uYW1lc1tYU1RBVFNfTUFYXTsNCj4gICANCj4gQEAgLTE0NTQsNyArMTQ0OCw3IEBA IHhzdGF0c19pZF9yZXNldF90ZXN0cyhzdHJ1Y3QgdGVzdCAqdCkNCj4gICAjZGVmaW5lIFhTVEFU U19NQVggMTAyNA0KPiAgIAlpbnQgcmV0Ow0KPiAgIAl1aW50MzJfdCBpOw0KPiAtCXVpbnQzMl90 IGlkc1tYU1RBVFNfTUFYXTsNCj4gKwl1aW50NjRfdCBpZHNbWFNUQVRTX01BWF07DQo+ICAgCXVp bnQ2NF90IHZhbHVlc1tYU1RBVFNfTUFYXTsNCj4gICAJc3RydWN0IHJ0ZV9ldmVudF9kZXZfeHN0 YXRzX25hbWUgeHN0YXRzX25hbWVzW1hTVEFUU19NQVhdOw0KPiAgIA0KPiBAQCAtMTUxMCwxMyAr MTUwNCwxNCBAQCB4c3RhdHNfaWRfcmVzZXRfdGVzdHMoc3RydWN0IHRlc3QgKnQpDQo+ICAgCX07 DQo+ICAgCXVpbnQ2NF90IGRldl9leHBlY3RlZFtdID0ge05QS1RTLCBOUEtUUywgMCwgMSwgMCwg MCwgNCwgMX07DQo+ICAgCWZvciAoaSA9IDA7IChpbnQpaSA8IHJldDsgaSsrKSB7DQo+IC0JCXVu c2lnbmVkIGludCBpZDsNCj4gKwkJdWludDY0X3QgaWQ7DQo+ICAgCQl1aW50NjRfdCB2YWwgPSBy dGVfZXZlbnRfZGV2X3hzdGF0c19ieV9uYW1lX2dldChldmRldiwNCj4gICAJCQkJCQkJCWRldl9u YW1lc1tpXSwNCj4gICAJCQkJCQkJCSZpZCk7DQo+ICAgCQlpZiAoaWQgIT0gaSkgew0KPiAtCQkJ cHJpbnRmKCIlZDogJXMgaWQgaW5jb3JyZWN0LCBleHBlY3RlZCAlZCBnb3QgJWRcbiIsDQo+IC0J CQkJCV9fTElORV9fLCBkZXZfbmFtZXNbaV0sIGksIGlkKTsNCj4gKwkJCXByaW50ZigiJWQ6ICVz IGlkIGluY29ycmVjdCwgZXhwZWN0ZWQgJWQgZ290ICUiIFBSSXU2NA0KPiArCQkJICAgICAgICJc biIsDQo+ICsJCQkgICAgICAgX19MSU5FX18sIGRldl9uYW1lc1tpXSwgaSwgaWQpOw0KPiAgIAkJ CWdvdG8gZmFpbDsNCj4gICAJCX0NCj4gICAJCWlmICh2YWwgIT0gZGV2X2V4cGVjdGVkW2ldKSB7 DQo+IEBAIC0xNjMxLDIwICsxNjI2LDIwIEBAIHhzdGF0c19pZF9yZXNldF90ZXN0cyhzdHJ1Y3Qg dGVzdCAqdCkNCj4gICANCj4gICAJaW50IGZhaWxlZCA9IDA7DQo+ICAgCWZvciAoaSA9IDA7IChp bnQpaSA8IHJldDsgaSsrKSB7DQo+IC0JCXVuc2lnbmVkIGludCBpZDsNCj4gKwkJdWludDY0X3Qg aWQ7DQo+ICAgCQl1aW50NjRfdCB2YWwgPSBydGVfZXZlbnRfZGV2X3hzdGF0c19ieV9uYW1lX2dl dChldmRldiwNCj4gICAJCQkJCQkJCXBvcnRfbmFtZXNbaV0sDQo+ICAgCQkJCQkJCQkmaWQpOw0K PiAgIAkJaWYgKGlkICE9IGkgKyBQT1JUX09GRikgew0KPiAtCQkJcHJpbnRmKCIlZDogJXMgaWQg aW5jb3JyZWN0LCBleHBlY3RlZCAlZCBnb3QgJWRcbiIsDQo+IC0JCQkJCV9fTElORV9fLCBwb3J0 X25hbWVzW2ldLCBpK1BPUlRfT0ZGLA0KPiAtCQkJCQlpZCk7DQo+ICsJCQlwcmludGYoIiVkOiAl cyBpZCBpbmNvcnJlY3QsIGV4cGVjdGVkICVkIGdvdCAlIiBQUkl1NjQNCj4gKwkJCSAgICAgICAi XG4iLA0KPiArCQkJICAgICAgIF9fTElORV9fLCBwb3J0X25hbWVzW2ldLCBpICsgUE9SVF9PRkYs IGlkKTsNCj4gICAJCQlmYWlsZWQgPSAxOw0KPiAgIAkJfQ0KPiAgIAkJaWYgKHZhbCAhPSBwb3J0 X2V4cGVjdGVkW2ldKSB7DQo+IC0JCQlwcmludGYoIiVkOiAlcyB2YWx1ZSBpbmNvcnJlY3QsIGV4 cGVjdGVkICUiUFJJdTY0DQo+IC0JCQkJIiBnb3QgJWRcbiIsIF9fTElORV9fLCBwb3J0X25hbWVz W2ldLA0KPiAtCQkJCXBvcnRfZXhwZWN0ZWRbaV0sIGlkKTsNCj4gKwkJCXByaW50ZigiJWQ6ICVz IHZhbHVlIGluY29ycmVjdCwgZXhwZWN0ZWQgJSIgUFJJdTY0DQo+ICsJCQkgICAgICAgIiBnb3Qg JSIgUFJJdTY0ICJcbiIsDQo+ICsJCQkgICAgICAgX19MSU5FX18sIHBvcnRfbmFtZXNbaV0sIHBv cnRfZXhwZWN0ZWRbaV0sIGlkKTsNCj4gICAJCQlmYWlsZWQgPSAxOw0KPiAgIAkJfQ0KPiAgIAkJ LyogcmVzZXQgdG8gemVybyAqLw0KPiBAQCAtMTc0NiwxNCArMTc0MSwxNCBAQCB4c3RhdHNfaWRf cmVzZXRfdGVzdHMoc3RydWN0IHRlc3QgKnQpDQo+ICAgDQo+ICAgCWZhaWxlZCA9IDA7DQo+ICAg CWZvciAoaSA9IDA7IChpbnQpaSA8IHJldDsgaSsrKSB7DQo+IC0JCXVuc2lnbmVkIGludCBpZDsN Cj4gKwkJdWludDY0X3QgaWQ7DQo+ICAgCQl1aW50NjRfdCB2YWwgPSBydGVfZXZlbnRfZGV2X3hz dGF0c19ieV9uYW1lX2dldChldmRldiwNCj4gICAJCQkJCQkJCXF1ZXVlX25hbWVzW2ldLA0KPiAg IAkJCQkJCQkJJmlkKTsNCj4gICAJCWlmIChpZCAhPSBpICsgUVVFVUVfT0ZGKSB7DQo+IC0JCQlw cmludGYoIiVkOiAlcyBpZCBpbmNvcnJlY3QsIGV4cGVjdGVkICVkIGdvdCAlZFxuIiwNCj4gLQkJ CQkJX19MSU5FX18sIHF1ZXVlX25hbWVzW2ldLCBpK1FVRVVFX09GRiwNCj4gLQkJCQkJaWQpOw0K PiArCQkJcHJpbnRmKCIlZDogJXMgaWQgaW5jb3JyZWN0LCBleHBlY3RlZCAlZCBnb3QgJSIgUFJJ dTY0DQo+ICsJCQkgICAgICAgIlxuIiwNCj4gKwkJCSAgICAgICBfX0xJTkVfXywgcXVldWVfbmFt ZXNbaV0sIGkgKyBRVUVVRV9PRkYsIGlkKTsNCj4gICAJCQlmYWlsZWQgPSAxOw0KPiAgIAkJfQ0K PiAgIAkJaWYgKHZhbCAhPSBxdWV1ZV9leHBlY3RlZFtpXSkgew0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ldmVudC9zdy9zd19ldmRldl94c3RhdHMuYyBiL2RyaXZlcnMvZXZlbnQvc3cvc3dfZXZk ZXZfeHN0YXRzLmMNCj4gaW5kZXggYzI2NDdkN2RhMi4uZmJhYzhmM2FiNSAxMDA2NDQNCj4gLS0t IGEvZHJpdmVycy9ldmVudC9zdy9zd19ldmRldl94c3RhdHMuYw0KPiArKysgYi9kcml2ZXJzL2V2 ZW50L3N3L3N3X2V2ZGV2X3hzdGF0cy5jDQo+IEBAIC0zOTMsNyArMzkzLDcgQEAgaW50DQo+ICAg c3dfeHN0YXRzX2dldF9uYW1lcyhjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+ICAg CQllbnVtIHJ0ZV9ldmVudF9kZXZfeHN0YXRzX21vZGUgbW9kZSwgdWludDhfdCBxdWV1ZV9wb3J0 X2lkLA0KPiAgIAkJc3RydWN0IHJ0ZV9ldmVudF9kZXZfeHN0YXRzX25hbWUgKnhzdGF0c19uYW1l cywNCj4gLQkJdW5zaWduZWQgaW50ICppZHMsIHVuc2lnbmVkIGludCBzaXplKQ0KPiArCQl1aW50 NjRfdCAqaWRzLCB1bnNpZ25lZCBpbnQgc2l6ZSkNCj4gICB7DQo+ICAgCWNvbnN0IHN0cnVjdCBz d19ldmRldiAqc3cgPSBzd19wbWRfcHJpdl9jb25zdChkZXYpOw0KPiAgIAl1bnNpZ25lZCBpbnQg aTsNCj4gQEAgLTQ0NCw3ICs0NDQsNyBAQCBzd194c3RhdHNfZ2V0X25hbWVzKGNvbnN0IHN0cnVj dCBydGVfZXZlbnRkZXYgKmRldiwNCj4gICANCj4gICBzdGF0aWMgaW50DQo+ICAgc3dfeHN0YXRz X3VwZGF0ZShzdHJ1Y3Qgc3dfZXZkZXYgKnN3LCBlbnVtIHJ0ZV9ldmVudF9kZXZfeHN0YXRzX21v ZGUgbW9kZSwNCj4gLQkJdWludDhfdCBxdWV1ZV9wb3J0X2lkLCBjb25zdCB1bnNpZ25lZCBpbnQg aWRzW10sDQo+ICsJCXVpbnQ4X3QgcXVldWVfcG9ydF9pZCwgY29uc3QgdWludDY0X3QgaWRzW10s DQo+ICAgCQl1aW50NjRfdCB2YWx1ZXNbXSwgdW5zaWduZWQgaW50IG4sIGNvbnN0IHVpbnQzMl90 IHJlc2V0LA0KPiAgIAkJY29uc3QgdWludDMyX3QgcmV0X2lmX25fbHRfbnN0YXRzKQ0KPiAgIHsN Cj4gQEAgLTUwOSw3ICs1MDksNyBAQCBzd194c3RhdHNfdXBkYXRlKHN0cnVjdCBzd19ldmRldiAq c3csIGVudW0gcnRlX2V2ZW50X2Rldl94c3RhdHNfbW9kZSBtb2RlLA0KPiAgIGludA0KPiAgIHN3 X3hzdGF0c19nZXQoY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiAgIAkJZW51bSBy dGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsIHVpbnQ4X3QgcXVldWVfcG9ydF9pZCwNCj4g LQkJY29uc3QgdW5zaWduZWQgaW50IGlkc1tdLCB1aW50NjRfdCB2YWx1ZXNbXSwgdW5zaWduZWQg aW50IG4pDQo+ICsJCWNvbnN0IHVpbnQ2NF90IGlkc1tdLCB1aW50NjRfdCB2YWx1ZXNbXSwgdW5z aWduZWQgaW50IG4pDQo+ICAgew0KPiAgIAlzdHJ1Y3Qgc3dfZXZkZXYgKnN3ID0gc3dfcG1kX3By aXYoZGV2KTsNCj4gICAJY29uc3QgdWludDMyX3QgcmVzZXQgPSAwOw0KPiBAQCAtNTIwLDcgKzUy MCw3IEBAIHN3X3hzdGF0c19nZXQoY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiAg IA0KPiAgIHVpbnQ2NF90DQo+ICAgc3dfeHN0YXRzX2dldF9ieV9uYW1lKGNvbnN0IHN0cnVjdCBy dGVfZXZlbnRkZXYgKmRldiwNCj4gLQkJY29uc3QgY2hhciAqbmFtZSwgdW5zaWduZWQgaW50ICpp ZCkNCj4gKwkJY29uc3QgY2hhciAqbmFtZSwgdWludDY0X3QgKmlkKQ0KPiAgIHsNCj4gICAJY29u c3Qgc3RydWN0IHN3X2V2ZGV2ICpzdyA9IHN3X3BtZF9wcml2X2NvbnN0KGRldik7DQo+ICAgCXVu c2lnbmVkIGludCBpOw0KPiBAQCAtNTU2LDcgKzU1Niw3IEBAIHN3X3hzdGF0c19yZXNldF9yYW5n ZShzdHJ1Y3Qgc3dfZXZkZXYgKnN3LCB1aW50MzJfdCBzdGFydCwgdWludDMyX3QgbnVtKQ0KPiAg IA0KPiAgIHN0YXRpYyBpbnQNCj4gICBzd194c3RhdHNfcmVzZXRfcXVldWUoc3RydWN0IHN3X2V2 ZGV2ICpzdywgdWludDhfdCBxdWV1ZV9pZCwNCj4gLQkJY29uc3QgdWludDMyX3QgaWRzW10sIHVp bnQzMl90IG5iX2lkcykNCj4gKwkJY29uc3QgdWludDY0X3QgaWRzW10sIHVpbnQzMl90IG5iX2lk cykNCj4gICB7DQo+ICAgCWNvbnN0IHVpbnQzMl90IHJlc2V0ID0gMTsNCj4gICAJY29uc3QgdWlu dDMyX3QgcmV0X25fbHRfc3RhdHMgPSAwOw0KPiBAQCAtNTc3LDcgKzU3Nyw3IEBAIHN3X3hzdGF0 c19yZXNldF9xdWV1ZShzdHJ1Y3Qgc3dfZXZkZXYgKnN3LCB1aW50OF90IHF1ZXVlX2lkLA0KPiAg IA0KPiAgIHN0YXRpYyBpbnQNCj4gICBzd194c3RhdHNfcmVzZXRfcG9ydChzdHJ1Y3Qgc3dfZXZk ZXYgKnN3LCB1aW50OF90IHBvcnRfaWQsDQo+IC0JCWNvbnN0IHVpbnQzMl90IGlkc1tdLCB1aW50 MzJfdCBuYl9pZHMpDQo+ICsJCWNvbnN0IHVpbnQ2NF90IGlkc1tdLCB1aW50MzJfdCBuYl9pZHMp DQo+ICAgew0KPiAgIAljb25zdCB1aW50MzJfdCByZXNldCA9IDE7DQo+ICAgCWNvbnN0IHVpbnQz Ml90IHJldF9uX2x0X3N0YXRzID0gMDsNCj4gQEAgLTU5NywxMiArNTk3LDEyIEBAIHN3X3hzdGF0 c19yZXNldF9wb3J0KHN0cnVjdCBzd19ldmRldiAqc3csIHVpbnQ4X3QgcG9ydF9pZCwNCj4gICB9 DQo+ICAgDQo+ICAgc3RhdGljIGludA0KPiAtc3dfeHN0YXRzX3Jlc2V0X2RldihzdHJ1Y3Qgc3df ZXZkZXYgKnN3LCBjb25zdCB1aW50MzJfdCBpZHNbXSwgdWludDMyX3QgbmJfaWRzKQ0KPiArc3df eHN0YXRzX3Jlc2V0X2RldihzdHJ1Y3Qgc3dfZXZkZXYgKnN3LCBjb25zdCB1aW50NjRfdCBpZHNb XSwgdWludDMyX3QgbmJfaWRzKQ0KPiAgIHsNCj4gICAJdWludDMyX3QgaTsNCj4gICAJaWYgKGlk cykgew0KPiAgIAkJZm9yIChpID0gMDsgaSA8IG5iX2lkczsgaSsrKSB7DQo+IC0JCQl1aW50MzJf dCBpZCA9IGlkc1tpXTsNCj4gKwkJCXVpbnQ2NF90IGlkID0gaWRzW2ldOw0KPiAgIAkJCWlmIChp ZCA+PSBzdy0+eHN0YXRzX2NvdW50X21vZGVfZGV2KQ0KPiAgIAkJCQlyZXR1cm4gLUVJTlZBTDsN Cj4gICAJCQlzd194c3RhdHNfcmVzZXRfcmFuZ2Uoc3csIGlkLCAxKTsNCj4gQEAgLTYxOSw3ICs2 MTksNyBAQCBpbnQNCj4gICBzd194c3RhdHNfcmVzZXQoc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2 LA0KPiAgIAkJZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsDQo+ICAgCQlpbnQx Nl90IHF1ZXVlX3BvcnRfaWQsDQo+IC0JCWNvbnN0IHVpbnQzMl90IGlkc1tdLA0KPiArCQljb25z dCB1aW50NjRfdCBpZHNbXSwNCj4gICAJCXVpbnQzMl90IG5iX2lkcykNCj4gICB7DQo+ICAgCXN0 cnVjdCBzd19ldmRldiAqc3cgPSBzd19wbWRfcHJpdihkZXYpOw0KPiBkaWZmIC0tZ2l0IGEvbGli L2V2ZW50ZGV2L2V2ZW50ZGV2X3BtZC5oIGIvbGliL2V2ZW50ZGV2L2V2ZW50ZGV2X3BtZC5oDQo+ IGluZGV4IGU0OWZmMjNkYjUuLmFlYmFiMjY4NTIgMTAwNjQ0DQo+IC0tLSBhL2xpYi9ldmVudGRl di9ldmVudGRldl9wbWQuaA0KPiArKysgYi9saWIvZXZlbnRkZXYvZXZlbnRkZXZfcG1kLmgNCj4g QEAgLTUyOSw3ICs1MjksNyBAQCB0eXBlZGVmIHZvaWQgKCpldmVudGRldl9kdW1wX3QpKHN0cnVj dCBydGVfZXZlbnRkZXYgKmRldiwgRklMRSAqZik7DQo+ICAgICovDQo+ICAgdHlwZWRlZiBpbnQg KCpldmVudGRldl94c3RhdHNfZ2V0X3QpKGNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwN Cj4gICAJCWVudW0gcnRlX2V2ZW50X2Rldl94c3RhdHNfbW9kZSBtb2RlLCB1aW50OF90IHF1ZXVl X3BvcnRfaWQsDQo+IC0JCWNvbnN0IHVuc2lnbmVkIGludCBpZHNbXSwgdWludDY0X3QgdmFsdWVz W10sIHVuc2lnbmVkIGludCBuKTsNCj4gKwkJY29uc3QgdWludDY0X3QgaWRzW10sIHVpbnQ2NF90 IHZhbHVlc1tdLCB1bnNpZ25lZCBpbnQgbik7DQo+ICAgDQo+ICAgLyoqDQo+ICAgICogUmVzZXRz IHRoZSBzdGF0aXN0aWMgdmFsdWVzIGluIHhzdGF0cyBmb3IgdGhlIGRldmljZSwgYmFzZWQgb24g bW9kZS4NCj4gQEAgLTUzNyw3ICs1MzcsNyBAQCB0eXBlZGVmIGludCAoKmV2ZW50ZGV2X3hzdGF0 c19nZXRfdCkoY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiAgIHR5cGVkZWYgaW50 ICgqZXZlbnRkZXZfeHN0YXRzX3Jlc2V0X3QpKHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwNCj4g ICAJCWVudW0gcnRlX2V2ZW50X2Rldl94c3RhdHNfbW9kZSBtb2RlLA0KPiAgIAkJaW50MTZfdCBx dWV1ZV9wb3J0X2lkLA0KPiAtCQljb25zdCB1aW50MzJfdCBpZHNbXSwNCj4gKwkJY29uc3QgdWlu dDY0X3QgaWRzW10sDQo+ICAgCQl1aW50MzJfdCBuYl9pZHMpOw0KPiAgIA0KPiAgIC8qKg0KPiBA QCAtNTY0LDcgKzU2NCw3IEBAIHR5cGVkZWYgaW50ICgqZXZlbnRkZXZfeHN0YXRzX3Jlc2V0X3Qp KHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwNCj4gICB0eXBlZGVmIGludCAoKmV2ZW50ZGV2X3hz dGF0c19nZXRfbmFtZXNfdCkoY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiAgIAkJ ZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsIHVpbnQ4X3QgcXVldWVfcG9ydF9p ZCwNCj4gICAJCXN0cnVjdCBydGVfZXZlbnRfZGV2X3hzdGF0c19uYW1lICp4c3RhdHNfbmFtZXMs DQo+IC0JCXVuc2lnbmVkIGludCAqaWRzLCB1bnNpZ25lZCBpbnQgc2l6ZSk7DQo+ICsJCXVpbnQ2 NF90ICppZHMsIHVuc2lnbmVkIGludCBzaXplKTsNCj4gICANCj4gICAvKioNCj4gICAgKiBHZXQg dmFsdWUgb2Ygb25lIHN0YXRzIGFuZCBvcHRpb25hbGx5IHJldHVybiBpdHMgaWQNCj4gQEAgLTU4 Miw3ICs1ODIsNyBAQCB0eXBlZGVmIGludCAoKmV2ZW50ZGV2X3hzdGF0c19nZXRfbmFtZXNfdCko Y29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiAgICAqICAgaWYgaWQgcG9pbnRlciBp cyBub24tTlVMTA0KPiAgICAqLw0KPiAgIHR5cGVkZWYgdWludDY0X3QgKCpldmVudGRldl94c3Rh dHNfZ2V0X2J5X25hbWUpKGNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwNCj4gLQkJY29u c3QgY2hhciAqbmFtZSwgdW5zaWduZWQgaW50ICppZCk7DQo+ICsJCWNvbnN0IGNoYXIgKm5hbWUs IHVpbnQ2NF90ICppZCk7DQo+ICAgDQo+ICAgDQo+ICAgLyoqDQo+IGRpZmYgLS1naXQgYS9saWIv ZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMgYi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4g aW5kZXggODQ1ZjhkYmI2ZS4uYjA0MTQyMDZkOSAxMDA2NDQNCj4gLS0tIGEvbGliL2V2ZW50ZGV2 L3J0ZV9ldmVudGRldi5jDQo+ICsrKyBiL2xpYi9ldmVudGRldi9ydGVfZXZlbnRkZXYuYw0KPiBA QCAtMTE2MSw3ICsxMTYxLDcgQEAgaW50DQo+ICAgcnRlX2V2ZW50X2Rldl94c3RhdHNfbmFtZXNf Z2V0KHVpbnQ4X3QgZGV2X2lkLA0KPiAgIAkJZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2Rl IG1vZGUsIHVpbnQ4X3QgcXVldWVfcG9ydF9pZCwNCj4gICAJCXN0cnVjdCBydGVfZXZlbnRfZGV2 X3hzdGF0c19uYW1lICp4c3RhdHNfbmFtZXMsDQo+IC0JCXVuc2lnbmVkIGludCAqaWRzLCB1bnNp Z25lZCBpbnQgc2l6ZSkNCj4gKwkJdWludDY0X3QgKmlkcywgdW5zaWduZWQgaW50IHNpemUpDQo+ ICAgew0KPiAgIAlSVEVfRVZFTlRERVZfVkFMSURfREVWSURfT1JfRVJSX1JFVChkZXZfaWQsIC1F Tk9ERVYpOw0KPiAgIAljb25zdCBpbnQgY250X2V4cGVjdGVkX2VudHJpZXMgPSB4c3RhdHNfZ2V0 X2NvdW50KGRldl9pZCwgbW9kZSwNCj4gQEAgLTExODMsNyArMTE4Myw3IEBAIHJ0ZV9ldmVudF9k ZXZfeHN0YXRzX25hbWVzX2dldCh1aW50OF90IGRldl9pZCwNCj4gICAvKiByZXRyaWV2ZSBldmVu dGRldiBleHRlbmRlZCBzdGF0aXN0aWNzICovDQo+ICAgaW50DQo+ICAgcnRlX2V2ZW50X2Rldl94 c3RhdHNfZ2V0KHVpbnQ4X3QgZGV2X2lkLCBlbnVtIHJ0ZV9ldmVudF9kZXZfeHN0YXRzX21vZGUg bW9kZSwNCj4gLQkJdWludDhfdCBxdWV1ZV9wb3J0X2lkLCBjb25zdCB1bnNpZ25lZCBpbnQgaWRz W10sDQo+ICsJCXVpbnQ4X3QgcXVldWVfcG9ydF9pZCwgY29uc3QgdWludDY0X3QgaWRzW10sDQo+ ICAgCQl1aW50NjRfdCB2YWx1ZXNbXSwgdW5zaWduZWQgaW50IG4pDQo+ICAgew0KPiAgIAlSVEVf RVZFTlRERVZfVkFMSURfREVWSURfT1JfRVJSX1JFVChkZXZfaWQsIC1FTk9ERVYpOw0KPiBAQCAt MTE5OCwxMSArMTE5OCwxMSBAQCBydGVfZXZlbnRfZGV2X3hzdGF0c19nZXQodWludDhfdCBkZXZf aWQsIGVudW0gcnRlX2V2ZW50X2Rldl94c3RhdHNfbW9kZSBtb2RlLA0KPiAgIA0KPiAgIHVpbnQ2 NF90DQo+ICAgcnRlX2V2ZW50X2Rldl94c3RhdHNfYnlfbmFtZV9nZXQodWludDhfdCBkZXZfaWQs IGNvbnN0IGNoYXIgKm5hbWUsDQo+IC0JCXVuc2lnbmVkIGludCAqaWQpDQo+ICsJCXVpbnQ2NF90 ICppZCkNCj4gICB7DQo+ICAgCVJURV9FVkVOVERFVl9WQUxJRF9ERVZJRF9PUl9FUlJfUkVUKGRl dl9pZCwgMCk7DQo+ICAgCWNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiA9ICZydGVfZXZl bnRkZXZzW2Rldl9pZF07DQo+IC0JdW5zaWduZWQgaW50IHRlbXAgPSAtMTsNCj4gKwl1aW50NjRf dCB0ZW1wID0gLTE7DQo+ICAgDQo+ICAgCWlmIChpZCAhPSBOVUxMKQ0KPiAgIAkJKmlkID0gKHVu c2lnbmVkIGludCktMTsNCj4gQEAgLTEyMTcsNyArMTIxNyw3IEBAIHJ0ZV9ldmVudF9kZXZfeHN0 YXRzX2J5X25hbWVfZ2V0KHVpbnQ4X3QgZGV2X2lkLCBjb25zdCBjaGFyICpuYW1lLA0KPiAgIA0K PiAgIGludCBydGVfZXZlbnRfZGV2X3hzdGF0c19yZXNldCh1aW50OF90IGRldl9pZCwNCj4gICAJ CWVudW0gcnRlX2V2ZW50X2Rldl94c3RhdHNfbW9kZSBtb2RlLCBpbnQxNl90IHF1ZXVlX3BvcnRf aWQsDQo+IC0JCWNvbnN0IHVpbnQzMl90IGlkc1tdLCB1aW50MzJfdCBuYl9pZHMpDQo+ICsJCWNv bnN0IHVpbnQ2NF90IGlkc1tdLCB1aW50MzJfdCBuYl9pZHMpDQo+ICAgew0KPiAgIAlSVEVfRVZF TlRERVZfVkFMSURfREVWSURfT1JfRVJSX1JFVChkZXZfaWQsIC1FSU5WQUwpOw0KPiAgIAlzdHJ1 Y3QgcnRlX2V2ZW50ZGV2ICpkZXYgPSAmcnRlX2V2ZW50ZGV2c1tkZXZfaWRdOw0KPiBAQCAtMTY1 OCw3ICsxNjU4LDcgQEAgZXZlbnRkZXZfYnVpbGRfdGVsZW1ldHJ5X2RhdGEoaW50IGRldl9pZCwN Cj4gICAJCQkgICAgICBzdHJ1Y3QgcnRlX3RlbF9kYXRhICpkKQ0KPiAgIHsNCj4gICAJc3RydWN0 IHJ0ZV9ldmVudF9kZXZfeHN0YXRzX25hbWUgKnhzdGF0X25hbWVzOw0KPiAtCXVuc2lnbmVkIGlu dCAqaWRzOw0KPiArCXVpbnQ2NF90ICppZHM7DQo+ICAgCXVpbnQ2NF90ICp2YWx1ZXM7DQo+ICAg CWludCBpLCByZXQsIG51bV94c3RhdHM7DQo+ICAgDQo+IGRpZmYgLS1naXQgYS9saWIvZXZlbnRk ZXYvcnRlX2V2ZW50ZGV2LmggYi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmgNCj4gaW5kZXgg NjBlOTA0M2FjNC4uODJlODk3NmU1NyAxMDA2NDQNCj4gLS0tIGEvbGliL2V2ZW50ZGV2L3J0ZV9l dmVudGRldi5oDQo+ICsrKyBiL2xpYi9ldmVudGRldi9ydGVfZXZlbnRkZXYuaA0KPiBAQCAtMTc4 NCw3ICsxNzg0LDcgQEAgcnRlX2V2ZW50X2Rldl94c3RhdHNfbmFtZXNfZ2V0KHVpbnQ4X3QgZGV2 X2lkLA0KPiAgIAkJCSAgICAgICBlbnVtIHJ0ZV9ldmVudF9kZXZfeHN0YXRzX21vZGUgbW9kZSwN Cj4gICAJCQkgICAgICAgdWludDhfdCBxdWV1ZV9wb3J0X2lkLA0KPiAgIAkJCSAgICAgICBzdHJ1 Y3QgcnRlX2V2ZW50X2Rldl94c3RhdHNfbmFtZSAqeHN0YXRzX25hbWVzLA0KPiAtCQkJICAgICAg IHVuc2lnbmVkIGludCAqaWRzLA0KPiArCQkJICAgICAgIHVpbnQ2NF90ICppZHMsDQo+ICAgCQkJ ICAgICAgIHVuc2lnbmVkIGludCBzaXplKTsNCj4gICANCj4gICAvKioNCj4gQEAgLTE4MTcsNyAr MTgxNyw3IEBAIGludA0KPiAgIHJ0ZV9ldmVudF9kZXZfeHN0YXRzX2dldCh1aW50OF90IGRldl9p ZCwNCj4gICAJCQkgZW51bSBydGVfZXZlbnRfZGV2X3hzdGF0c19tb2RlIG1vZGUsDQo+ICAgCQkJ IHVpbnQ4X3QgcXVldWVfcG9ydF9pZCwNCj4gLQkJCSBjb25zdCB1bnNpZ25lZCBpbnQgaWRzW10s DQo+ICsJCQkgY29uc3QgdWludDY0X3QgaWRzW10sDQo+ICAgCQkJIHVpbnQ2NF90IHZhbHVlc1td LCB1bnNpZ25lZCBpbnQgbik7DQo+ICAgDQo+ICAgLyoqDQo+IEBAIC0xODM4LDcgKzE4MzgsNyBA QCBydGVfZXZlbnRfZGV2X3hzdGF0c19nZXQodWludDhfdCBkZXZfaWQsDQo+ICAgICovDQo+ICAg dWludDY0X3QNCj4gICBydGVfZXZlbnRfZGV2X3hzdGF0c19ieV9uYW1lX2dldCh1aW50OF90IGRl dl9pZCwgY29uc3QgY2hhciAqbmFtZSwNCj4gLQkJCQkgdW5zaWduZWQgaW50ICppZCk7DQo+ICsJ CQkJIHVpbnQ2NF90ICppZCk7DQo+ICAgDQo+ICAgLyoqDQo+ICAgICogUmVzZXQgdGhlIHZhbHVl cyBvZiB0aGUgeHN0YXRzIG9mIHRoZSBzZWxlY3RlZCBjb21wb25lbnQgaW4gdGhlIGRldmljZS4N Cj4gQEAgLTE4NjQsNyArMTg2NCw3IEBAIGludA0KPiAgIHJ0ZV9ldmVudF9kZXZfeHN0YXRzX3Jl c2V0KHVpbnQ4X3QgZGV2X2lkLA0KPiAgIAkJCSAgIGVudW0gcnRlX2V2ZW50X2Rldl94c3RhdHNf bW9kZSBtb2RlLA0KPiAgIAkJCSAgIGludDE2X3QgcXVldWVfcG9ydF9pZCwNCj4gLQkJCSAgIGNv bnN0IHVpbnQzMl90IGlkc1tdLA0KPiArCQkJICAgY29uc3QgdWludDY0X3QgaWRzW10sDQo+ICAg CQkJICAgdWludDMyX3QgbmJfaWRzKTsNCj4gICANCj4gICAvKioNCg0KV2l0aCB0aGUgbWlub3Ig Zml4ZXM6DQpSZXZpZXdlZC1ieTogTWF0dGlhcyBSw7ZubmJsb20gPG1hdHRpYXMucm9ubmJsb21A ZXJpY3Nzb24uY29tPg0KDQoNCg==