From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id B3582460D6;
	Tue, 21 Jan 2025 18:37:49 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 7E78A402C4;
	Tue, 21 Jan 2025 18:37:49 +0100 (CET)
Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com
 [67.231.156.173])
 by mails.dpdk.org (Postfix) with ESMTP id CCD324026C
 for <dev@dpdk.org>; Tue, 21 Jan 2025 18:37:47 +0100 (CET)
Received: from pps.filterd (m0045851.ppops.net [127.0.0.1])
 by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50LH9BeV000614
 for <dev@dpdk.org>; Tue, 21 Jan 2025 09:37:47 -0800
Received: from pps.reinject (localhost [127.0.0.1])
 by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 44afqqg9wu-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <dev@dpdk.org>; Tue, 21 Jan 2025 09:37:46 -0800 (PST)
Received: from m0045851.ppops.net (m0045851.ppops.net [127.0.0.1])
 by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 50LHXgbN014019
 for <dev@dpdk.org>; Tue, 21 Jan 2025 09:37:46 -0800
Received: from nam12-dm6-obe.outbound.protection.outlook.com
 (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174])
 by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 44afqqg9wt-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 21 Jan 2025 09:37:46 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kVELMRN02/7TczWhExyUWj7IRQuxc/OFPXcZ3+kllj8VYB7PIZJ3v5MM1T6py0j7lsz5Tbm2W4MnuOPG8WpMgRJyqKJ0AmZqDum6KZdROOfvhAe/tHYKYmPYNkopKlmVVBOza+16/v4KpTPGymQQibRDiUlh2AGvNftzI1pO+JJGgTaVj3iFZe9QmjNu1h5WD+qkgvv73a+vheqIZM71NF0w2u9kSbSRfJOURtxaPKdIRMN1AKfofC4RepSiI12CN9L3vWYhubeGHgm4Z2oU2QgqfyM1xTmE2VCIUolePOvIfKe3Ez2MIO4Zx86rTYou4AYlPhzjy1ixjpcYPn9YCQ==
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=D66VVdtYNo8gkEWBiPZoAv606ouHr0tu/RtEzXoJ8V4=;
 b=yDb3qSUU7zYuoLYzjX96fjRhLXrEszne/Gp19x+ai9b3RidQew8ec/PLO90w/ablgBIvBASJV2RjcFjlWPctOOrqlpqWXK3ZDxdCSBm23FDuO7k+gT2Gnk+xHVDxc9/NnxCBPmzrDvEkBph+JxC6ia87nxXfGuYUH+mu+qThjks81vWzBpzv8JKUyF8ukQ7MLa86fxxq+kAwAy9vce8YefHZcqww9/992FaPMAj2NQq6XGjGGXuEqYHSgysEwWi9+ou+v5gCaeEjCgOSNMOUy0qkqbiPgD85Mu/2gGPPbwDOJsCsSMTpHYU5Yz8rTeaofWsbforeuEDtuDhoRbrQXg==
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=D66VVdtYNo8gkEWBiPZoAv606ouHr0tu/RtEzXoJ8V4=;
 b=fyUPzOZy1XmNT2IUwdCw4707ZWr3h0iVcNupCljxAVHWIIAcN4jMNPsGfb8GVzl9LS6OQ18Sd37o0Qy6PjZYQw4igdb87ELVhQGosoj6ukLxPn7VW4rS6b/CgjNDR3Cx+RMn2XWu+xH68xUfqEuwwbaOAJvUwiQQhlwqeCZuSSs=
Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by
 BY1PR18MB6112.namprd18.prod.outlook.com (2603:10b6:a03:4a6::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.21; Tue, 21 Jan
 2025 17:37:44 +0000
Received: from CO6PR18MB4484.namprd18.prod.outlook.com
 ([fe80::3c98:dd36:4897:a51d]) by CO6PR18MB4484.namprd18.prod.outlook.com
 ([fe80::3c98:dd36:4897:a51d%7]) with mapi id 15.20.8377.009; Tue, 21 Jan 2025
 17:37:43 +0000
From: Akhil Goyal <gakhil@marvell.com>
To: Hanxiao Li <li.hanxiao@zte.com.cn>, "dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [EXTERNAL] [PATCH v24 05/13] common/zsda: add definition and use
 of msg chan.
Thread-Topic: [EXTERNAL] [PATCH v24 05/13] common/zsda: add definition and use
 of msg chan.
Thread-Index: AQHbZWTDLzwbTGWyBES5kpqLvk0IKbMhi0/g
Date: Tue, 21 Jan 2025 17:37:43 +0000
Message-ID: <CO6PR18MB44840C92F5E60DF8F394F8FBD8E62@CO6PR18MB4484.namprd18.prod.outlook.com>
References: <20250109104203.2404659-2-li.hanxiao@zte.com.cn>
 <20250113022943.2603401-1-li.hanxiao@zte.com.cn>
 <20250113022943.2603401-6-li.hanxiao@zte.com.cn>
In-Reply-To: <20250113022943.2603401-6-li.hanxiao@zte.com.cn>
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_|BY1PR18MB6112:EE_
x-ms-office365-filtering-correlation-id: 6fdcb57d-841b-4a6f-9567-08dd3a424fd3
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?K0V2TzcrK1NPc2NqVDdpaDdMckd0RkNEeGF3TnFSMTNGcjVnS3pBaWZ5NVRP?=
 =?utf-8?B?enMwaGtqdFlSZUpuZzc5RkU0c1N5UkVOV1d0Sk5vdUFvUm1KYjFibytqdkkw?=
 =?utf-8?B?aFhqak9YWlNVVWxBUkRyY3ZrSVViejlVMG5UdXIzK1VxbTlTMnl3eWVMbzdJ?=
 =?utf-8?B?bnlMQjRuOHRTVmdoeUtCckdhZzNaMklrcGNMK3MrZ3JpSUZVNUs3REpXVDVk?=
 =?utf-8?B?ZG5wK1NPc09TMHgyRlF1ZkU0Q0ZCUllkSm9vc0VDN3E1eE1mSEYwcTYxZ2Uv?=
 =?utf-8?B?ZnNYZnFnOXFFNXpYUkZuL09yeitPQWVDb3RqdEswMG9oUGxTQTl4cFM4ZE80?=
 =?utf-8?B?c21ocWFOaVhuN1ZWNTY3SmlEdVJLS1hEZmd3cnl0a3JnTVBSQnJkdXRyYVk3?=
 =?utf-8?B?N21ETGZmS2JWQVRaSzg0MFJ1UlB5bDlIWWFETUsvSTlKU3JCTFp0RVVCZnJ3?=
 =?utf-8?B?cEVCYW1mRWtPSmMxR0hoMVJrd3lnSzBueTRaVGNRNVBSOTVlNTZtbkU4MTBO?=
 =?utf-8?B?YzNPV3J6MnZhbGl0NTByajRlUWw4SVBUOHZ3Yk54aWZXZzB6WjNvZ1EydHhV?=
 =?utf-8?B?WmZNaUc2K2wrMkl2c2g2MmlZRkNua2lsWC9GSmtFZnhEbTdyUlpkNjY5Wktj?=
 =?utf-8?B?MnY3UlFwYklJK211amZ2N1V4aEtieTkyMFV5OW0zOUY2NWZmL05HT2hiUms0?=
 =?utf-8?B?L0tBRjR3cFd3bkJVZS8zN2ZWQ2laRk12cGZ0NDI5ejV3Uk50cnVMZjZWNFZC?=
 =?utf-8?B?YkRaNlhHaXlEYVFoQ29qUWxmWkUvNXp3MTNzeXVYVk50NExyZDNub2FsNVll?=
 =?utf-8?B?WlBNYzYxdElhTXlHZi9xK2hiUFozZnVXOVR1TXBFVVBvUGtUNUN3TkMvZ0pZ?=
 =?utf-8?B?MG5nNUU2aVlMRENSS2xUVTlVR3RrNm5DTitud1ZsZkhDVkJmc1VFWWNCUjI1?=
 =?utf-8?B?SDUvTUk2SlkwSGg4T0prK0IvaXdUOFFlb2xRRGx2T1Y2UzRLMTlJKzR2dm1Z?=
 =?utf-8?B?QW4zY010QVpwWGY1Y3NmUFlESWpiWE55dGhhY09MTmZpTldiMlRvL3B2L3A1?=
 =?utf-8?B?TVRLNVNOWmJKRTkyN1hyZGJrRThSamVKakxxaU1iOUpBNXYxZ1hWdDlVMW5r?=
 =?utf-8?B?MXVmMjZIM2JBc0dkS2wwV0xMV1Vma2MzWWZCc2RaeFV3aXZzTDExOEo1eDBR?=
 =?utf-8?B?NFYwbTNISEM5a25uSCtvWHZ6VDJZWHU0UHJjaEptdjd0Y1FzSENyejlvWmR5?=
 =?utf-8?B?L1BKZUNkQkNnK0srREhxYWFFT0FoV1dndlJERVE1bzR1RDRZQ0d3WFhub3BS?=
 =?utf-8?B?Q0pJeVgwcUdwMER3V3ZJYWV2WjBSNFBUdXN0bTFxYm5hZXhETVJIb0IvRkFI?=
 =?utf-8?B?eUs4MWxUT1IvQjNZVHR3bDN5ckVpREJnRGJEVEp2YWc2ekVXU1MyODJuSUFO?=
 =?utf-8?B?dmRmTFo3Qldjbm9rbENQWmJDMlkvU1JuUUhrQ1Erd0U4d1g2VTd2VkdzT1hz?=
 =?utf-8?B?cUwxY2dCZFd0YXZPQWhTd1RLSFZwN1A0c1FsU3J2R3NyOWI1NXpzVlhwbEwx?=
 =?utf-8?B?bTJPc0JNbXFrRGVvWE9xejQvNHJLbUR1cGh4dSsyRUZoTkVWblpZUG9xNEox?=
 =?utf-8?B?Uk9MYy81eXh2S3c1WUU2TVllSG9xbWRiSkY0VW9YN1VneG56TXRBZjFRL0NM?=
 =?utf-8?B?UENadHdrRk0yYk9UQWlWb2RibW1nbUoveHRpUjVFODI5b2FJbGo4MnFPbnBs?=
 =?utf-8?B?VGpVcFJwcDUzLzcrVHFjd09TbE5NT3FqYndiU0FZY2lXeVdPZjNJS1FSeDky?=
 =?utf-8?B?RndBVzVaZVg4c1lRb2U4NTU1aS81ZXhaS1NaelZkMml4TzllTmVwaUhqNmNY?=
 =?utf-8?B?UjlUVHB5U2xDSE9ONkJleG5kMGxqNXBXY0h0eGVUQkJRMGU2bGtrV1lLUjFM?=
 =?utf-8?Q?L1AEgPMV06CKzzOr1mNoQ+hyKoRYcOBZ?=
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)(366016)(376014)(1800799024)(38070700018); DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SHByMkRRbXREZGZVWkZxTDdGV3dUemFjWFd5a1dIQ2czYTlmRWRMRGJmdlor?=
 =?utf-8?B?RUl0MHZrNWRBTFRpMVJzN0p3NHp2WFcvVmljZHZFekw2NHR1alVRUThJTnIy?=
 =?utf-8?B?cE5ESC8xdHUyOVdQUDZmcHlBY1dybEpzaXRYVXR2djBzaFl5ajJ1VlEwaEUy?=
 =?utf-8?B?KzkxNVZHTUdJN1c3S1FoRXlhSzVLbHVpVTB6aTJSa2dUK0VndlJtVWdPZ0cz?=
 =?utf-8?B?azA2L1Z6RDA3aUNPNHh1OTQxTTlRcDFLTjhYalJ0UlJvLytWcHdMVzNaR3pj?=
 =?utf-8?B?aHhZS1BORDRrc0J5MWtOc3l6dy9jeXhBb3o4VmsvWHFlSGFqaWdYTFFCK0Fm?=
 =?utf-8?B?TDUyeTh2MCszUXFhU0NiM2pWd3k3YkVpSStVVTRKUkx4V1BseTM2Lzc0NXVI?=
 =?utf-8?B?WVNJOFhYdzFiVy9nTUpRS1BiSUFPQ1Y1b25PMW9KSEhtR3oxa21idWxPTFVO?=
 =?utf-8?B?L0JtR0dGZU9VQVd3VnV4RmdCUDByVGdCVFhHY0dKaVc2YUhqK3IxVVppUHFv?=
 =?utf-8?B?UmNwUThJaWo1S2JVeU5oVlJCU0dmczFYcFBrQ1Q3ZmZiNkJjcVZiUE1QbVRu?=
 =?utf-8?B?Y0pTeCtia0N2K2lxMExDei8zOTVVVDB5ajE4dFpvOEtocjIwbTZNOGlmQlJs?=
 =?utf-8?B?Zm9hY0UzZGFlUXVXaldzZU4rV3BTV3lGaFl6YUM4dkg1MngxdjdDbWw4TGkx?=
 =?utf-8?B?SDAvTzJ5V1MrZDkxZ3M1anFpUW9aQktJbjNJWEFueWJ6WmltWlB5dW5iTml0?=
 =?utf-8?B?WWJCMHpwM3Z2d21WL3Z5a2MyU2FIVUlhYlF6Y0FlM0RyVEF6Q2hQU1QxRWM0?=
 =?utf-8?B?NSsxREYydVYxM3J3MTF5T0pzeHZDY0R2SHlURGdIYzZUWC81Q2M2amN5eGFS?=
 =?utf-8?B?ZUp1TGVtaVRncGlPNDBva2NjZXN4NnUvc2J4REd6Y0JlWkZhd3NyZVZPOW9m?=
 =?utf-8?B?S2JaR3lEKyt2TkcwYndIRXVrUDBDR25TQ2NDR3RzdTc0Y1FaKzdRZ3lDOXhi?=
 =?utf-8?B?SjZZYmVremhMbTlPZHZLVGJNVmdvMEorRURNdWFQUWhPczdjcGxwQUJUWFlt?=
 =?utf-8?B?RVNVVzlwYWV3TEVnK0FIQkZ3K1Bpai9yNGs5cTFvVlRTM1B3V1pEckZ0OE5o?=
 =?utf-8?B?b3ZrMFYxb2tzMTNMWkdiNUpPVmJOd3pSSHNweklZRSs2bTRhN21vZmR0ZlRt?=
 =?utf-8?B?Y2hmTHF1L0NvN0pkWjlQdjBFYUZiS3Y2bkkyTGZvSi9GaXl1a2JrSmU5dnQ1?=
 =?utf-8?B?ejVQOVNBWlBrL0MvQkFSTTNpeTJaYUY1S3Uwa3FhdlNHUzg1OVpFcFAzeXdr?=
 =?utf-8?B?M3BiTHBXK1RqUTFlK3RJU2hqRXBnNytzc3RPWUxFenpQcmtOZkNjamluY3Jk?=
 =?utf-8?B?QWVFWDdQdHA0eWo4aCtDR1NmdnpQdWpIZ3Nqdkh5NW9PbjY0eVNHWDFubXNC?=
 =?utf-8?B?ak90S201SnpWWlJVNDdJeHpmNkFONFBFb3I4RDVTYS94YmlKMzNXVW9yNE9x?=
 =?utf-8?B?d2grSWF2aTgwbUZaai9YdHJBRW5QSU5RT2Vlc2pvak9LVWc5WXVma0RSa3Ji?=
 =?utf-8?B?L3VlZUwrR2NuazJyZ1JJWFB2OHR1eHJnRElaT0tYWmlacCsvUVV3Z1gxczdD?=
 =?utf-8?B?TEJaT203dUZPQ2VYZXBlRE5uenpTVWE1SlR6WW50VXJhMDBjQUFzY2tBK05D?=
 =?utf-8?B?bVpjZGF6ZWM5MUVwTEtHb1RXVVNpNW5vbVJvWmZkeHR2OGpzcUVpMjlqWmFz?=
 =?utf-8?B?Tk5xUU5zQTZQQTFha3hLZ2dyU2NMb1pJREFNUFpkaTFvQk5ZRElTQzFoUmlF?=
 =?utf-8?B?NWM5Q2pldW5ZdzB0L04vT3lGTUovR0RwNDJHM2tlOERXNWo5RGpuZFlkQzNI?=
 =?utf-8?B?Q1ZUVHJlR1NuY05lWnFHTFN0blFYV0RxQ0VFVksyWkJteXdFbUJFVGp2azFx?=
 =?utf-8?B?S3Q5dTNGUlZGNUM5M2RaYTNvVjNkc0ZudUdTelZLdTgzS3puNERUK1FUUEV6?=
 =?utf-8?B?WmdJZzBqT0lQK3JHZEhZZUNtMjFMTStBcHhzWVAyRngxYlp2S0NsTUtXWmRD?=
 =?utf-8?B?TjNzbVlYYkJUT0pma0Z1KzBHVzU5U0t2NHhLK1A0ZzFlRG5xNW1GZW5aWW15?=
 =?utf-8?Q?n3A8=3D?=
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: 6fdcb57d-841b-4a6f-9567-08dd3a424fd3
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jan 2025 17:37:43.7452 (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: w5kyQ8rr6hPXM8jZQZ0Xiq52mWrXkpARywHyddykKA3v1QcW6agmkWf61JHtua9diQ/hSP+U6IdScfbJfOrDxQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR18MB6112
X-Proofpoint-GUID: dOnmrxH8RI0qGcpdJXXuSGQMPdxo8yW3
X-Proofpoint-ORIG-GUID: 6LAL1GL8aCFokgCTWgAafPtSUJ7pnBvQ
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34
 definitions=2025-01-21_07,2025-01-21_03,2024-11-22_01
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

PiBBZGQgbXNnIGNoYW4gZnVuY3Rpb25zIGFuZCB0aGUgdXNlIHRvIGdldA0KPiBoYXJkd2FyZSBp
bmZvcm1hdGlvbiBvciBvcGVyYXRlIGhhcmR3YXJlLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogSGFu
eGlhbyBMaSA8bGkuaGFueGlhb0B6dGUuY29tLmNuPg0KDQpQbGVhc2UgcmViYXNlIGFuZCBmaXgN
CiAgIDY1IHwgfSBfX3J0ZV9wYWNrZWQ7DQogICAgICB8ICAgXn5+fn5+fn5+fn5+DQpJbiBmaWxl
IGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmg6OCwNCiAgICAg
ICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYzo1Og0KLi4v
ZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwX2NvbW1vbi5oOjcxOjEzOiBlcnJvcjogIl9fcnRl
X3BhY2tlZCIgaXMgZGVwcmVjYXRlZCBbLVdlcnJvcl0NCiAgIDcxIHwgfSBfX3J0ZV9wYWNrZWQ7
DQogICAgICB8ICAgICAgICAgICAgIF5+fg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9s
b2cvcnRlX2xvZy5oOjIyLA0KICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVk
ZS9ydGVfZGVidWcuaDoxNywNCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL2J1cy9w
Y2kvcnRlX2J1c19wY2kuaDoyMiwNCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL2Nv
bW1vbi96c2RhL3pzZGFfcXBfY29tbW9uLmg6OCwNCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9k
cml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuaDo4LA0KICAgICAgICAgICAgICAgICBmcm9tIC4u
L2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5jOjU6DQouLi9saWIvZWFsL2luY2x1ZGUvcnRl
X2NvbW1vbi5oOjExMjo3OTogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBi
ZWZvcmUg4oCYKeKAmSB0b2tlbg0KICAxMTIgfCAjZGVmaW5lIF9fcnRlX3BhY2tlZCAoUlRFX0RF
UFJFQ0FURUQoX19ydGVfcGFja2VkKSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkpDQogICAg
ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF4NCi4uL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9x
cF9jb21tb24uaDo3MTozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYX19ydGVfcGFj
a2Vk4oCZDQogICA3MSB8IH0gX19ydGVfcGFja2VkOw0KICAgICAgfCAgIF5+fn5+fn5+fn5+fg0K
DQoNCj4gLS0tDQo+ICBkcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYyAgICAgICAgfCAzMDcg
KysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ICBkcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFf
cXAuaCAgICAgICAgfCAgNDggKysrKysNCj4gIGRyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcF9j
b21tb24uaCB8ICAzNyArKysrDQo+ICAzIGZpbGVzIGNoYW5nZWQsIDM5MiBpbnNlcnRpb25zKCsp
DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmMgYi9kcml2
ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYw0KPiBpbmRleCBiYzQ4OWY2Mjk2Li42YzE4NzU3NDZk
IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYw0KPiArKysgYi9k
cml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYw0KPiBAQCAtNCw4ICs0LDUwIEBADQo+IA0KPiAg
I2luY2x1ZGUgInpzZGFfcXAuaCINCj4gDQo+ICsjZGVmaW5lIE1BR0lDX1NFTkQgMHhhYg0KPiAr
I2RlZmluZSBNQUdJQ19SRUNWIDB4Y2QNCj4gKyNkZWZpbmUgQURNSU5fVkVSIDENCj4gKw0KPiAg
c3RhdGljIHVpbnQ4X3QgenNkYV9udW1fdXNlZF9xcHM7DQo+IA0KPiArc3RhdGljIHN0cnVjdCBy
aW5nX3NpemUgenNkYV9xcF9od19yaW5nX3NpemVbWlNEQV9NQVhfU0VSVklDRVNdID0gew0KPiAr
fTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHVpbnQ4X3QgY3JjOF90YWJsZVsyNTZdID0gew0KPiAr
ICAgIDB4MDAsIDB4NDEsIDB4MTMsIDB4NTIsIDB4MjYsIDB4NjcsIDB4MzUsIDB4NzQsIDB4NGMs
IDB4MGQsIDB4NWYsIDB4MWUsDQo+ICsgICAgMHg2YSwgMHgyYiwgMHg3OSwgMHgzOCwgMHgwOSwg
MHg0OCwgMHgxYSwgMHg1YiwgMHgyZiwgMHg2ZSwgMHgzYywgMHg3ZCwNCj4gKyAgICAweDQ1LCAw
eDA0LCAweDU2LCAweDE3LCAweDYzLCAweDIyLCAweDcwLCAweDMxLCAweDEyLCAweDUzLCAweDAx
LCAweDQwLA0KPiArICAgIDB4MzQsIDB4NzUsIDB4MjcsIDB4NjYsIDB4NWUsIDB4MWYsIDB4NGQs
IDB4MGMsIDB4NzgsIDB4MzksIDB4NmIsIDB4MmEsDQo+ICsgICAgMHgxYiwgMHg1YSwgMHgwOCwg
MHg0OSwgMHgzZCwgMHg3YywgMHgyZSwgMHg2ZiwgMHg1NywgMHgxNiwgMHg0NCwgMHgwNSwNCj4g
KyAgICAweDcxLCAweDMwLCAweDYyLCAweDIzLCAweDI0LCAweDY1LCAweDM3LCAweDc2LCAweDAy
LCAweDQzLCAweDExLCAweDUwLA0KPiArICAgIDB4NjgsIDB4MjksIDB4N2IsIDB4M2EsIDB4NGUs
IDB4MGYsIDB4NWQsIDB4MWMsIDB4MmQsIDB4NmMsIDB4M2UsIDB4N2YsDQo+ICsgICAgMHgwYiwg
MHg0YSwgMHgxOCwgMHg1OSwgMHg2MSwgMHgyMCwgMHg3MiwgMHgzMywgMHg0NywgMHgwNiwgMHg1
NCwgMHgxNSwNCj4gKyAgICAweDM2LCAweDc3LCAweDI1LCAweDY0LCAweDEwLCAweDUxLCAweDAz
LCAweDQyLCAweDdhLCAweDNiLCAweDY5LCAweDI4LA0KPiArICAgIDB4NWMsIDB4MWQsIDB4NGYs
IDB4MGUsIDB4M2YsIDB4N2UsIDB4MmMsIDB4NmQsIDB4MTksIDB4NTgsIDB4MGEsIDB4NGIsDQo+
ICsgICAgMHg3MywgMHgzMiwgMHg2MCwgMHgyMSwgMHg1NSwgMHgxNCwgMHg0NiwgMHgwNywgMHg0
OCwgMHgwOSwgMHg1YiwgMHgxYSwNCj4gKyAgICAweDZlLCAweDJmLCAweDdkLCAweDNjLCAweDA0
LCAweDQ1LCAweDE3LCAweDU2LCAweDIyLCAweDYzLCAweDMxLCAweDcwLA0KPiArICAgIDB4NDEs
IDB4MDAsIDB4NTIsIDB4MTMsIDB4NjcsIDB4MjYsIDB4NzQsIDB4MzUsIDB4MGQsIDB4NGMsIDB4
MWUsIDB4NWYsDQo+ICsgICAgMHgyYiwgMHg2YSwgMHgzOCwgMHg3OSwgMHg1YSwgMHgxYiwgMHg0
OSwgMHgwOCwgMHg3YywgMHgzZCwgMHg2ZiwgMHgyZSwNCj4gKyAgICAweDE2LCAweDU3LCAweDA1
LCAweDQ0LCAweDMwLCAweDcxLCAweDIzLCAweDYyLCAweDUzLCAweDEyLCAweDQwLCAweDAxLA0K
PiArICAgIDB4NzUsIDB4MzQsIDB4NjYsIDB4MjcsIDB4MWYsIDB4NWUsIDB4MGMsIDB4NGQsIDB4
MzksIDB4NzgsIDB4MmEsIDB4NmIsDQo+ICsgICAgMHg2YywgMHgyZCwgMHg3ZiwgMHgzZSwgMHg0
YSwgMHgwYiwgMHg1OSwgMHgxOCwgMHgyMCwgMHg2MSwgMHgzMywgMHg3MiwNCj4gKyAgICAweDA2
LCAweDQ3LCAweDE1LCAweDU0LCAweDY1LCAweDI0LCAweDc2LCAweDM3LCAweDQzLCAweDAyLCAw
eDUwLCAweDExLA0KPiArICAgIDB4MjksIDB4NjgsIDB4M2EsIDB4N2IsIDB4MGYsIDB4NGUsIDB4
MWMsIDB4NWQsIDB4N2UsIDB4M2YsIDB4NmQsIDB4MmMsDQo+ICsgICAgMHg1OCwgMHgxOSwgMHg0
YiwgMHgwYSwgMHgzMiwgMHg3MywgMHgyMSwgMHg2MCwgMHgxNCwgMHg1NSwgMHgwNywgMHg0NiwN
Cj4gKyAgICAweDc3LCAweDM2LCAweDY0LCAweDI1LCAweDUxLCAweDEwLCAweDQyLCAweDAzLCAw
eDNiLCAweDdhLCAweDI4LCAweDY5LA0KPiArICAgIDB4MWQsIDB4NWMsIDB4MGUsIDB4NGZ9Ow0K
PiArDQo+ICtzdGF0aWMgdWludDhfdA0KPiArenNkYV9jcmM4KGNvbnN0IHVpbnQ4X3QgKm1lc3Nh
Z2UsIGNvbnN0IGludCBsZW5ndGgpDQo+ICt7DQo+ICsgICAgdWludDhfdCBjcmMgPSAwOw0KPiAr
ICAgIGludCBpOw0KPiArDQo+ICsgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKQ0KPiAr
ICAgICAgICBjcmMgPSBjcmM4X3RhYmxlW2NyYyBeIG1lc3NhZ2VbaV1dOw0KPiArICAgIHJldHVy
biBjcmM7DQo+ICt9DQo+ICsNCj4gIHN0YXRpYyB1aW50OF90DQo+ICB6c2RhX3VzZWRfcXBzX251
bV9nZXQoY29uc3Qgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KQ0KPiAgew0KPiBAQCAt
MTY0LDYgKzIwNiwyNTggQEAgenNkYV9xdWV1ZV9jbGVhcihjb25zdCBzdHJ1Y3QgcnRlX3BjaV9k
ZXZpY2UNCj4gKnBjaV9kZXYpDQo+ICAgICAgcmV0dXJuIHJldDsNCj4gIH0NCj4gDQo+ICtzdGF0
aWMgdWludDMyX3QNCj4gK3pzZGFfcmVnXzhfc2V0KHZvaWQgKmFkZHIsIGNvbnN0IHVpbnQ4X3Qg
dmFsMCwgY29uc3QgdWludDhfdCB2YWwxLA0KPiArICAgICAgY29uc3QgdWludDhfdCB2YWwyLCBj
b25zdCB1aW50OF90IHZhbDMpDQo+ICt7DQo+ICsgICAgdWludDhfdCB2YWxbNF07DQo+ICsNCj4g
KyAgICB2YWxbMF0gPSB2YWwwOw0KPiArICAgIHZhbFsxXSA9IHZhbDE7DQo+ICsgICAgdmFsWzJd
ID0gdmFsMjsNCj4gKyAgICB2YWxbM10gPSB2YWwzOw0KPiArICAgIFpTREFfQ1NSX1dSSVRFMzIo
YWRkciwgKih1aW50MzJfdCAqKXZhbCk7DQo+ICsgICAgcmV0dXJuICoodWludDMyX3QgKil2YWw7
DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB1aW50OF90DQo+ICt6c2RhX3JlZ184X2dldCh2b2lkICph
ZGRyLCBjb25zdCBpbnQgb2Zmc2V0KQ0KPiArew0KPiArICAgIHVpbnQzMl90IHZhbCA9IFpTREFf
Q1NSX1JFQUQzMihhZGRyKTsNCj4gKw0KPiArICAgIHJldHVybiAqKCgodWludDhfdCAqKSZ2YWwp
ICsgb2Zmc2V0KTsNCj4gK30NCj4gKw0KPiArc3RhdGljIGlubGluZSB1aW50MzJfdA0KPiArenNk
YV9tb2R1bG9fMzIodWludDMyX3QgZGF0YSwgdWludDMyX3QgbW9kdWxvX21hc2spDQo+ICt7DQo+
ICsgICAgcmV0dXJuIChkYXRhKSAmIChtb2R1bG9fbWFzayk7DQo+ICt9DQo+ICtzdGF0aWMgaW5s
aW5lIHVpbnQxNl90DQo+ICt6c2RhX21vZHVsb18xNih1aW50MTZfdCBkYXRhLCB1aW50MTZfdCBt
b2R1bG9fbWFzaykNCj4gK3sNCj4gKyAgICByZXR1cm4gKGRhdGEpICYgKG1vZHVsb19tYXNrKTsN
Cj4gK30NCj4gK3N0YXRpYyBpbmxpbmUgdWludDhfdA0KPiArenNkYV9tb2R1bG9fOCh1aW50OF90
IGRhdGEsIHVpbnQ4X3QgbW9kdWxvX21hc2spDQo+ICt7DQo+ICsgICAgcmV0dXJuIChkYXRhKSAm
IChtb2R1bG9fbWFzayk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3pzZGFfYWRtaW5f
bXNnX3NlbmQoY29uc3Qgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2LCB2b2lkICpyZXEs
DQo+ICsgICAgICAgICAgICBjb25zdCB1aW50MzJfdCBsZW4pDQo+ICt7DQo+ICsgICAgdWludDhf
dCAqbW1pb19iYXNlID0gcGNpX2Rldi0+bWVtX3Jlc291cmNlWzBdLmFkZHI7DQo+ICsgICAgdWlu
dDhfdCB3cV9mbGFnOw0KPiArICAgIHVpbnQ4X3QgY3JjOw0KPiArICAgIHVpbnQxNl90IGFkbWlu
X2RiOw0KPiArICAgIHVpbnQzMl90IHJldHJ5ID0gWlNEQV9USU1FX05VTTsNCj4gKyAgICBpbnQg
aTsNCj4gKyAgICB1aW50MTZfdCBkYjsNCj4gKyAgICBpbnQgcmVwZWF0ID0gc2l6ZW9mKHN0cnVj
dCB6c2RhX2FkbWluX3JlcSkgLyBzaXplb2YodWludDMyX3QpOw0KPiArDQo+ICsgICAgaWYgKGxl
biA+IEFETUlOX0JVRl9EQVRBX0xFTikNCj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ICsN
Cj4gKyAgICBmb3IgKGkgPSAwOyBpIDwgcmVwZWF0OyBpKyspIHsNCj4gKyAgICAgICAgWlNEQV9D
U1JfV1JJVEUzMigoKHVpbnQzMl90ICopKG1taW9fYmFzZSArIFpTREFfQURNSU5fV1EpICsgaSks
DQo+ICsgICAgICAgICAgICAgICAgICooKHVpbnQzMl90ICopcmVxICsgaSkpOw0KPiArICAgIH0N
Cj4gKw0KPiArICAgIGNyYyA9IHpzZGFfY3JjOCgodWludDhfdCAqKXJlcSwgQURNSU5fQlVGX0RB
VEFfTEVOKTsNCj4gKyAgICB6c2RhX3JlZ184X3NldChtbWlvX2Jhc2UgKyBaU0RBX0FETUlOX1dR
X0JBU0U3LCBjcmMsIEFETUlOX1ZFUiwNCj4gTUFHSUNfU0VORCwgMCk7DQo+ICsgICAgcnRlX2Rl
bGF5X3VzX3NsZWVwKFpTREFfVElNRV9TTEVFUF9VUyk7DQo+ICsgICAgcnRlX3dtYigpOw0KPiAr
DQo+ICsgICAgYWRtaW5fZGIgPSBaU0RBX0NTUl9SRUFEMzIobW1pb19iYXNlICsgWlNEQV9BRE1J
Tl9XUV9UQUlMKTsNCj4gKyAgICBkYiA9IHpzZGFfbW9kdWxvXzMyKGFkbWluX2RiLCAweDFmZik7
DQo+ICsgICAgWlNEQV9DU1JfV1JJVEUzMihtbWlvX2Jhc2UgKyBaU0RBX0FETUlOX1dRX1RBSUws
IGRiKTsNCj4gKw0KPiArICAgIGRvIHsNCj4gKyAgICAgICAgcnRlX2RlbGF5X3VzX3NsZWVwKFpT
REFfVElNRV9TTEVFUF9VUyk7DQo+ICsgICAgICAgIHdxX2ZsYWcgPSB6c2RhX3JlZ184X2dldCht
bWlvX2Jhc2UgKyBaU0RBX0FETUlOX1dRX0JBU0U3LCAyKTsNCj4gKyAgICAgICAgaWYgKHdxX2Zs
YWcgPT0gTUFHSUNfUkVDVikNCj4gKyAgICAgICAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgICAg
IHJldHJ5LS07DQo+ICsgICAgICAgIGlmICghcmV0cnkpIHsNCj4gKyAgICAgICAgICAgIFpTREFf
TE9HKEVSUiwgIndxX2ZsYWcgMHglWCIsIHdxX2ZsYWcpOw0KPiArICAgICAgICAgICAgenNkYV9y
ZWdfOF9zZXQobW1pb19iYXNlICsgWlNEQV9BRE1JTl9XUV9CQVNFNywgMCwgY3JjLA0KPiArICAg
ICAgICAgICAgICAgICAgQURNSU5fVkVSLCAwKTsNCj4gKyAgICAgICAgICAgIHJldHVybiAtRUlP
Ow0KPiArICAgICAgICB9DQo+ICsgICAgfSB3aGlsZSAoMSk7DQo+ICsNCj4gKyAgICByZXR1cm4g
WlNEQV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50DQo+ICt6c2RhX2FkbWluX21z
Z19yZWN2KGNvbnN0IHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rldiwgdm9pZCAqcmVzcCwN
Cj4gKyAgICAgICAgICAgIGNvbnN0IHVpbnQzMl90IGxlbikNCj4gK3sNCj4gKyAgICB1aW50OF90
ICptbWlvX2Jhc2UgPSBwY2lfZGV2LT5tZW1fcmVzb3VyY2VbMF0uYWRkcjsNCj4gKyAgICB1aW50
OF90IGNxX2ZsYWc7DQo+ICsgICAgdWludDMyX3QgcmV0cnkgPSBaU0RBX1RJTUVfTlVNOw0KPiAr
ICAgIHVpbnQ4X3QgY3JjOw0KPiArICAgIHVpbnQ4X3QgYnVmW0FETUlOX0JVRl9UT1RBTF9MRU5d
ID0gezB9Ow0KPiArICAgIHVpbnQzMl90IGk7DQo+ICsNCj4gKyAgICBpZiAobGVuID4gQURNSU5f
QlVGX0RBVEFfTEVOKQ0KPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gKw0KPiArICAgIGRv
IHsNCj4gKyAgICAgICAgcnRlX2RlbGF5X3VzX3NsZWVwKFpTREFfVElNRV9TTEVFUF9VUyk7DQo+
ICsNCj4gKyAgICAgICAgY3FfZmxhZyA9IHpzZGFfcmVnXzhfZ2V0KG1taW9fYmFzZSArIFpTREFf
QURNSU5fQ1FfQkFTRTcsIDIpOw0KPiArICAgICAgICBpZiAoY3FfZmxhZyA9PSBNQUdJQ19TRU5E
KQ0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAgICAgcmV0cnktLTsNCj4gKyAg
ICAgICAgaWYgKCFyZXRyeSkNCj4gKyAgICAgICAgICAgIHJldHVybiAtRUlPOw0KPiArICAgIH0g
d2hpbGUgKDEpOw0KPiArDQo+ICsgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQ0KPiArICAg
ICAgICBidWZbaV0gPSBaU0RBX0NTUl9SRUFEOChtbWlvX2Jhc2UgKyBaU0RBX0FETUlOX0NRICsg
aSk7DQo+ICsNCj4gKyAgICBjcmMgPSBaU0RBX0NTUl9SRUFEOChtbWlvX2Jhc2UgKyBaU0RBX0FE
TUlOX0NRX0NSQyk7DQo+ICsgICAgcnRlX3JtYigpOw0KPiArICAgIFpTREFfQ1NSX1dSSVRFOCht
bWlvX2Jhc2UgKyBaU0RBX0FETUlOX0NRX0ZMQUcsIE1BR0lDX1JFQ1YpOw0KPiArICAgIGlmIChj
cmMgIT0genNkYV9jcmM4KGJ1ZiwgQURNSU5fQlVGX0RBVEFfTEVOKSkgew0KPiArICAgICAgICBa
U0RBX0xPRyhFUlIsICJbJWRdIEZhaWxlZCEgY3JjIGVycm9yISIsIF9fTElORV9fKTsNCj4gKyAg
ICAgICAgcmV0dXJuIC1FSU87DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgbWVtY3B5KHJlc3AsIGJ1
ZiwgbGVuKTsNCj4gKw0KPiArICAgIHJldHVybiBaU0RBX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4g
K3N0YXRpYyBpbnQNCj4gK3pzZGFfYWRtaW5fbXNnX2luaXQoY29uc3Qgc3RydWN0IHJ0ZV9wY2lf
ZGV2aWNlICpwY2lfZGV2KQ0KPiArew0KPiArICAgIHVpbnQ4X3QgKm1taW9fYmFzZSA9IHBjaV9k
ZXYtPm1lbV9yZXNvdXJjZVswXS5hZGRyOw0KPiArDQo+ICsgICAgenNkYV9yZWdfOF9zZXQobW1p
b19iYXNlICsgWlNEQV9BRE1JTl9XUV9CQVNFNywgMCwgMCwgTUFHSUNfUkVDViwNCj4gMCk7DQo+
ICsgICAgenNkYV9yZWdfOF9zZXQobW1pb19iYXNlICsgWlNEQV9BRE1JTl9DUV9CQVNFNywgMCwg
MCwgTUFHSUNfUkVDViwNCj4gMCk7DQo+ICsgICAgcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK3N0
YXRpYyB2b2lkDQo+ICt6c2RhX3F1ZXVlX2hlYWRfdGFpbF9zZXQoY29uc3Qgc3RydWN0IHpzZGFf
cGNpX2RldmljZSAqenNkYV9wY2lfZGV2LA0KPiArICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qg
cWlkKQ0KPiArew0KPiArICAgIHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2RldiA9DQo+ICsg
ICAgICAgIHpzZGFfZGV2c1t6c2RhX3BjaV9kZXYtPnpzZGFfZGV2X2lkXS5wY2lfZGV2Ow0KPiAr
ICAgIHVpbnQ4X3QgKm1taW9fYmFzZSA9IHBjaV9kZXYtPm1lbV9yZXNvdXJjZVswXS5hZGRyOw0K
PiArDQo+ICsgICAgWlNEQV9DU1JfV1JJVEUzMihtbWlvX2Jhc2UgKyBJT19EQl9JTklUSUFMX0NP
TkZJRyArIChxaWQgKiA0KSwNCj4gKyAgICAgICAgICAgICBTRVRfSEVBRF9JTlRJKTsNCj4gK30N
Cj4gKw0KPiArc3RhdGljIGludA0KPiArenNkYV9xdWV1ZV9jZmdfYnlfaWRfZ2V0KGNvbnN0IHN0
cnVjdCB6c2RhX3BjaV9kZXZpY2UgKnpzZGFfcGNpX2RldiwNCj4gKyAgICAgICAgICAgICBjb25z
dCB1aW50OF90IHFpZCwgc3RydWN0IHFpbmZvICpxY2ZnKQ0KPiArew0KPiArICAgIHN0cnVjdCB6
c2RhX2FkbWluX3JlcV9xY2ZnIHJlcSA9IHswfTsNCj4gKyAgICBzdHJ1Y3QgenNkYV9hZG1pbl9y
ZXNwX3FjZmcgcmVzcCA9IHswfTsNCj4gKyAgICBpbnQgcmV0Ow0KPiArICAgIHN0cnVjdCBydGVf
cGNpX2RldmljZSAqcGNpX2RldiA9DQo+ICsgICAgICAgIHpzZGFfZGV2c1t6c2RhX3BjaV9kZXYt
PnpzZGFfZGV2X2lkXS5wY2lfZGV2Ow0KPiArDQo+ICsgICAgaWYgKHFpZCA+PSBNQVhfUVBTX09O
X0ZVTkNUSU9OKSB7DQo+ICsgICAgICAgIFpTREFfTE9HKEVSUiwgInFpZCBiZXlvbmQgbGltaXQh
Iik7DQo+ICsgICAgICAgIHJldHVybiBaU0RBX0ZBSUxFRDsNCj4gKyAgICB9DQo+ICsNCj4gKyAg
ICB6c2RhX2FkbWluX21zZ19pbml0KHBjaV9kZXYpOw0KPiArICAgIHJlcS5tc2dfdHlwZSA9IFpT
REFfQURNSU5fUVVFVUVfQ0ZHX1JFUTsNCj4gKyAgICByZXEucWlkID0gcWlkOw0KPiArDQo+ICsg
ICAgcmV0ID0genNkYV9hZG1pbl9tc2dfc2VuZChwY2lfZGV2LCAmcmVxLCBzaXplb2YocmVxKSk7
DQo+ICsgICAgaWYgKHJldCkgew0KPiArICAgICAgICBaU0RBX0xPRyhFUlIsICJGYWlsZWQhIFNl
bmQgbXNnIik7DQo+ICsgICAgICAgIHJldHVybiByZXQ7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAg
cmV0ID0genNkYV9hZG1pbl9tc2dfcmVjdihwY2lfZGV2LCAmcmVzcCwgc2l6ZW9mKHJlc3ApKTsN
Cj4gKyAgICBpZiAocmV0KSB7DQo+ICsgICAgICAgIFpTREFfTE9HKEVSUiwgIkZhaWxlZCEgUmVj
ZWl2ZSBtc2ciKTsNCj4gKyAgICAgICAgcmV0dXJuIHJldDsNCj4gKyAgICB9DQo+ICsNCj4gKyAg
ICAqcWNmZyA9IHJlc3AucWNmZzsNCj4gKw0KPiArICAgIHJldHVybiBaU0RBX1NVQ0NFU1M7DQo+
ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3pzZGFfcXVldWVfY2ZnX2dldChzdHJ1Y3QgenNk
YV9wY2lfZGV2aWNlICp6c2RhX3BjaV9kZXYpDQo+ICt7DQo+ICsgICAgdWludDhfdCBpOw0KPiAr
ICAgIHVpbnQzMl90IGluZGV4Ow0KPiArICAgIGVudW0genNkYV9zZXJ2aWNlX3R5cGUgdHlwZTsN
Cj4gKyAgICBzdHJ1Y3QgenNkYV9xcF9odyAqenNkYV9od19xcHMgPSB6c2RhX3BjaV9kZXYtPnpz
ZGFfaHdfcXBzOw0KPiArICAgIHN0cnVjdCBxaW5mbyBxY2ZnID0gezB9Ow0KPiArICAgIGludCBy
ZXQgPSBaU0RBX0ZBSUxFRDsNCj4gKw0KPiArICAgIGZvciAoaSA9IDA7IGkgPCB6c2RhX251bV91
c2VkX3FwczsgaSsrKSB7DQo+ICsgICAgICAgIHpzZGFfcXVldWVfaGVhZF90YWlsX3NldCh6c2Rh
X3BjaV9kZXYsIGkpOw0KPiArICAgICAgICByZXQgPSB6c2RhX3F1ZXVlX2NmZ19ieV9pZF9nZXQo
enNkYV9wY2lfZGV2LCBpLCAmcWNmZyk7DQo+ICsgICAgICAgIHR5cGUgPSBxY2ZnLnFfdHlwZTsN
Cj4gKyAgICAgICAgaWYgKHJldCkgew0KPiArICAgICAgICAgICAgWlNEQV9MT0coRVJSLCAiZ2V0
IHF1ZXVlIGNmZyEiKTsNCj4gKyAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ICsgICAgICAgIH0N
Cj4gKyAgICAgICAgaWYgKHR5cGUgPj0gWlNEQV9TRVJWSUNFX0lOVkFMSUQpDQo+ICsgICAgICAg
ICAgICBjb250aW51ZTsNCj4gKw0KPiArICAgICAgICBpbmRleCA9IHpzZGFfcGNpX2Rldi0+enNk
YV9xcF9od19udW1bdHlwZV07DQo+ICsgICAgICAgIHpzZGFfaHdfcXBzW3R5cGVdLmRhdGFbaW5k
ZXhdLnVzZWQgPSB0cnVlOw0KPiArICAgICAgICB6c2RhX2h3X3Fwc1t0eXBlXS5kYXRhW2luZGV4
XS50eF9yaW5nX251bSA9IGk7DQo+ICsgICAgICAgIHpzZGFfaHdfcXBzW3R5cGVdLmRhdGFbaW5k
ZXhdLnJ4X3JpbmdfbnVtID0gaTsNCj4gKyAgICAgICAgenNkYV9od19xcHNbdHlwZV0uZGF0YVtp
bmRleF0udHhfbXNnX3NpemUgPQ0KPiArICAgICAgICAgICAgenNkYV9xcF9od19yaW5nX3NpemVb
dHlwZV0udHhfbXNnX3NpemU7DQo+ICsgICAgICAgIHpzZGFfaHdfcXBzW3R5cGVdLmRhdGFbaW5k
ZXhdLnJ4X21zZ19zaXplID0NCj4gKyAgICAgICAgICAgIHpzZGFfcXBfaHdfcmluZ19zaXplW3R5
cGVdLnJ4X21zZ19zaXplOw0KPiArDQo+ICsgICAgICAgIHpzZGFfcGNpX2Rldi0+enNkYV9xcF9o
d19udW1bdHlwZV0rKzsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICByZXR1cm4gcmV0Ow0KPiArfQ0K
PiArDQo+ICtzdGF0aWMgaW50DQo+ICt6c2RhX2Zscl91bm1hc2tfc2V0KGNvbnN0IHN0cnVjdCB6
c2RhX3BjaV9kZXZpY2UgKnpzZGFfcGNpX2RldikNCj4gK3sNCj4gKyAgICBzdHJ1Y3QgenNkYV9h
ZG1pbl9yZXFfcWNmZyByZXEgPSB7MH07DQo+ICsgICAgc3RydWN0IHpzZGFfYWRtaW5fcmVzcF9x
Y2ZnIHJlc3AgPSB7MH07DQo+ICsNCj4gKyAgICBpbnQgcmV0ID0gMDsNCj4gKyAgICBzdHJ1Y3Qg
cnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYgPQ0KPiArICAgICAgICB6c2RhX2RldnNbenNkYV9wY2lf
ZGV2LT56c2RhX2Rldl9pZF0ucGNpX2RldjsNCj4gKw0KPiArICAgIHpzZGFfYWRtaW5fbXNnX2lu
aXQocGNpX2Rldik7DQo+ICsNCj4gKyAgICByZXEubXNnX3R5cGUgPSBaU0RBX0ZMUl9TRVRfRlVO
Q1RJT047DQo+ICsNCj4gKyAgICByZXQgPSB6c2RhX2FkbWluX21zZ19zZW5kKHBjaV9kZXYsICZy
ZXEsIHNpemVvZihyZXEpKTsNCj4gKyAgICBpZiAocmV0KSB7DQo+ICsgICAgICAgIFpTREFfTE9H
KEVSUiwgIkZhaWxlZCEgU2VuZCBtc2ciKTsNCj4gKyAgICAgICAgcmV0dXJuIHJldDsNCj4gKyAg
ICB9DQo+ICsNCj4gKyAgICByZXQgPSB6c2RhX2FkbWluX21zZ19yZWN2KHBjaV9kZXYsICZyZXNw
LCBzaXplb2YocmVzcCkpOw0KPiArICAgIGlmIChyZXQpIHsNCj4gKyAgICAgICAgWlNEQV9MT0co
RVJSLCAiRmFpbGVkISBSZWNlaXZlIG1zZyIpOw0KPiArICAgICAgICByZXR1cm4gcmV0Ow0KPiAr
ICAgIH0NCj4gKw0KPiArICAgIHJldHVybiBaU0RBX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKw0K
PiAgaW50DQo+ICB6c2RhX3F1ZXVlX2luaXQoc3RydWN0IHpzZGFfcGNpX2RldmljZSAqenNkYV9w
Y2lfZGV2KQ0KPiAgew0KPiBAQCAtMTgzLDUgKzQ3NywxOCBAQCB6c2RhX3F1ZXVlX2luaXQoc3Ry
dWN0IHpzZGFfcGNpX2RldmljZSAqenNkYV9wY2lfZGV2KQ0KPiAgICAgICAgICBaU0RBX0xPRyhF
UlIsICJGYWlsZWQhIHVzZWQgenNkYV9pbyBxIGNsZWFyIik7DQo+ICAgICAgICAgIHJldHVybiBy
ZXQ7DQo+ICAgICAgfQ0KPiArDQo+ICsgICAgcmV0ID0genNkYV9xdWV1ZV9jZmdfZ2V0KHpzZGFf
cGNpX2Rldik7DQo+ICsgICAgaWYgKHJldCkgew0KPiArICAgICAgICBaU0RBX0xPRyhFUlIsICJG
YWlsZWQhIHpzZGFfcXVldWVfY2ZnX2dldCIpOw0KPiArICAgICAgICByZXR1cm4gcmV0Ow0KPiAr
ICAgIH0NCj4gKw0KPiArICAgIHJldCA9IHpzZGFfZmxyX3VubWFza19zZXQoenNkYV9wY2lfZGV2
KTsNCj4gKyAgICBpZiAocmV0KSB7DQo+ICsgICAgICAgIFpTREFfTE9HKEVSUiwgIkZhaWxlZCEg
enNkYV9mbHJfdW5tYXNrX3NldCIpOw0KPiArICAgICAgICByZXR1cm4gcmV0Ow0KPiArICAgIH0N
Cj4gKw0KPiAgICAgIHJldHVybiByZXQ7DQo+ICB9DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nv
bW1vbi96c2RhL3pzZGFfcXAuaCBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oDQo+IGlu
ZGV4IDk1YmM2YmFjZDUuLmExZDcwZjE1NWYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvY29tbW9u
L3pzZGEvenNkYV9xcC5oDQo+ICsrKyBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oDQo+
IEBAIC0yMCw2ICsyMCwxOSBAQA0KPiAgI2RlZmluZSBaU0RBX0lPX1FfQ0xSICAgICAgICAgICAg
MHg2MDANCj4gICNkZWZpbmUgWlNEQV9JT19RX0NMUl9SRVNQICAgICAgICAweDgwMA0KPiANCj4g
KyNkZWZpbmUgWlNEQV9BRE1JTl9XUSAgICAgICAgICAgIDB4NDANCj4gKyNkZWZpbmUgWlNEQV9B
RE1JTl9XUV9CQVNFNyAgICAgICAgMHg1Qw0KPiArI2RlZmluZSBaU0RBX0FETUlOX1dRX0NSQyAg
ICAgICAgMHg1Qw0KPiArI2RlZmluZSBaU0RBX0FETUlOX1dRX1ZFUlNJT04gICAgMHg1RA0KPiAr
I2RlZmluZSBaU0RBX0FETUlOX1dRX0ZMQUcgICAgICAgIDB4NUUNCj4gKyNkZWZpbmUgWlNEQV9B
RE1JTl9DUSAgICAgICAgICAgIDB4NjANCj4gKyNkZWZpbmUgWlNEQV9BRE1JTl9DUV9CQVNFNyAg
ICAgICAgMHg3Qw0KPiArI2RlZmluZSBaU0RBX0FETUlOX0NRX0NSQyAgICAgICAgMHg3Qw0KPiAr
I2RlZmluZSBaU0RBX0FETUlOX0NRX1ZFUlNJT04gICAgMHg3RA0KPiArI2RlZmluZSBaU0RBX0FE
TUlOX0NRX0ZMQUcgICAgICAgIDB4N0UNCj4gKyNkZWZpbmUgWlNEQV9BRE1JTl9XUV9UQUlMICAg
ICAgICAweDgwDQo+ICsjZGVmaW5lIFpTREFfQURNSU5fQ1FfSEVBRCAgICAgICAgMHg4NA0KPiAr
DQo+ICAjZGVmaW5lIFpTREFfUV9TVEFSVCAgICAgICAgMHgxDQo+ICAjZGVmaW5lIFpTREFfUV9T
VE9QICAgICAgICAgICAgMHgwDQo+ICAjZGVmaW5lIFpTREFfQ0xFQVJfVkFMSUQgICAgMHgxDQo+
IEBAIC0yNywxMSArNDAsNDYgQEANCj4gICNkZWZpbmUgWlNEQV9SRVNQX1ZBTElEICAgICAgICAw
eDENCj4gICNkZWZpbmUgWlNEQV9SRVNQX0lOVkFMSUQgICAgMHgwDQo+IA0KPiArI2RlZmluZSBB
RE1JTl9CVUZfREFUQV9MRU4gICAgICAgIDB4MUMNCj4gKyNkZWZpbmUgQURNSU5fQlVGX1RPVEFM
X0xFTiAgICAgICAgMHgyMA0KPiArDQo+ICsjZGVmaW5lIElPX0RCX0lOSVRJQUxfQ09ORklHICAg
IDB4MUMwMA0KPiArI2RlZmluZSBTRVRfQ1lDTEUgICAgICAgICAgICAweGZmDQo+ICsjZGVmaW5l
IFNFVF9IRUFEX0lOVEkgICAgICAgIDB4MA0KPiArDQo+ICsNCj4gICNkZWZpbmUgWlNEQV9USU1F
X1NMRUVQX1VTICAgIDEwMA0KPiAgI2RlZmluZSBaU0RBX1RJTUVfTlVNICAgICAgICA1MDANCj4g
DQo+ICBleHRlcm4gc3RydWN0IHpzZGFfbnVtX3FwcyB6c2RhX25iX3FwczsNCj4gDQo+ICtlbnVt
IHpzZGFfYWRtaW5fbXNnX2lkIHsNCj4gKyAgICAvKiBWZXJzaW9uIGluZm9ybWF0aW9uICovDQo+
ICsgICAgWlNEQV9BRE1JTl9WRVJTSU9OX1JFUSA9IDAsDQo+ICsgICAgWlNEQV9BRE1JTl9WRVJT
SU9OX1JFU1AsDQo+ICsgICAgLyogYWxnbyB0eXBlICovDQo+ICsgICAgWlNEQV9BRE1JTl9RVUVV
RV9DRkdfUkVRLA0KPiArICAgIFpTREFfQURNSU5fUVVFVUVfQ0ZHX1JFU1AsDQo+ICsgICAgLyog
Z2V0IGN5Y2xlICovDQo+ICsgICAgWlNEQV9BRE1JTl9RVUVVRV9DWUNMRV9SRVEsDQo+ICsgICAg
WlNEQV9BRE1JTl9RVUVVRV9DWUNMRV9SRVNQLA0KPiArICAgIC8qIHNldCBjeWNsciAqLw0KPiAr
ICAgIFpTREFfQURNSU5fU0VUX0NZQ0xFX1JFUSwNCj4gKyAgICBaU0RBX0FETUlOX1NFVF9DWUNM
RV9SRVNQLA0KPiArDQo+ICsgICAgWlNEQV9NSUdfU1RBVEVfV0FSTklORywNCj4gKyAgICBaU0RB
X0FETUlOX1JFU0VSVkUsDQo+ICsgICAgLyogc2V0IGNsb3NlIGZsciByZWdpc3RlciAqLw0KPiAr
ICAgIFpTREFfRkxSX1NFVF9GVU5DVElPTiwNCj4gKyAgICBaU0RBX0FETUlOX01TR19WQUxJRCwN
Cj4gKyAgICBaU0RBX0FETUlOX0lOVF9URVNUDQo+ICt9Ow0KPiArDQo+ICtzdHJ1Y3QgcmluZ19z
aXplIHsNCj4gKyAgICB1aW50MTZfdCB0eF9tc2dfc2l6ZTsNCj4gKyAgICB1aW50MTZfdCByeF9t
c2dfc2l6ZTsNCj4gK307DQo+ICsNCj4gIGludCB6c2RhX3F1ZXVlX3N0YXJ0KGNvbnN0IHN0cnVj
dCBydGVfcGNpX2RldmljZSAqcGNpX2Rldik7DQo+ICBpbnQgenNkYV9xdWV1ZV9zdG9wKGNvbnN0
IHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rldik7DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJp
dmVycy9jb21tb24venNkYS96c2RhX3FwX2NvbW1vbi5oDQo+IGIvZHJpdmVycy9jb21tb24venNk
YS96c2RhX3FwX2NvbW1vbi5oDQo+IGluZGV4IGJjMjlkZmRmNjAuLmFjMjU0MDhhZWIgMTAwNjQ0
DQo+IC0tLSBhL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcF9jb21tb24uaA0KPiArKysgYi9k
cml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXBfY29tbW9uLmgNCj4gQEAgLTMzLDQgKzMzLDQxIEBA
IGVudW0genNkYV9zZXJ2aWNlX3R5cGUgew0KPiAgI2RlZmluZSBaU0RBX0NTUl9SRUFEOChhZGRy
KSAgICAgICAgICBydGVfcmVhZDgoKGFkZHIpKQ0KPiAgI2RlZmluZSBaU0RBX0NTUl9XUklURTgo
YWRkciwgdmFsdWUpICBydGVfd3JpdGU4X3JlbGF4ZWQoKHZhbHVlKSwgKGFkZHIpKQ0KPiANCj4g
K3N0cnVjdCB6c2RhX2FkbWluX3JlcSB7DQo+ICsgICAgdWludDE2X3QgbXNnX3R5cGU7DQo+ICsg
ICAgdWludDhfdCBkYXRhWzI2XTsNCj4gK30gX19ydGVfcGFja2VkOw0KPiArDQo+ICtzdHJ1Y3Qg
enNkYV9hZG1pbl9yZXNwIHsNCj4gKyAgICB1aW50MTZfdCBtc2dfdHlwZTsNCj4gKyAgICB1aW50
OF90IGRhdGFbMjZdOw0KPiArfSBfX3J0ZV9wYWNrZWQ7DQo+ICsNCj4gK3N0cnVjdCB6c2RhX2Fk
bWluX3JlcV9xY2ZnIHsNCj4gKyAgICB1aW50MTZfdCBtc2dfdHlwZTsNCj4gKyAgICB1aW50OF90
IHFpZDsNCj4gKyAgICB1aW50OF90IGRhdGFbMjVdOw0KPiArfSBfX3J0ZV9wYWNrZWQ7DQo+ICsN
Cj4gK3N0cnVjdCB6c2RhX3Rlc3RfbXNnIHsNCj4gKyAgICB1aW50MzJfdCBtc2dfdHlwZTsNCj4g
KyAgICB1aW50MzJfdCBkYXRhX2luOw0KPiArICAgIHVpbnQ4X3QgZGF0YVsyMF07DQo+ICt9IF9f
cnRlX3BhY2tlZDsNCj4gKw0KPiArc3RydWN0IHFpbmZvIHsNCj4gKyAgICB1aW50MTZfdCBxX3R5
cGU7DQo+ICsgICAgdWludDE2X3Qgd3FfdGFpbDsNCj4gKyAgICB1aW50MTZfdCB3cV9oZWFkOw0K
PiArICAgIHVpbnQxNl90IGNxX3RhaWw7DQo+ICsgICAgdWludDE2X3QgY3FfaGVhZDsNCj4gKyAg
ICB1aW50MTZfdCBjeWNsZTsNCj4gK30gX19ydGVfcGFja2VkOw0KPiArDQo+ICtzdHJ1Y3QgenNk
YV9hZG1pbl9yZXNwX3FjZmcgew0KPiArICAgIHVpbnQxNl90IG1zZ190eXBlOw0KPiArICAgIHN0
cnVjdCBxaW5mbyBxY2ZnOw0KPiArICAgIHVpbnQ4X3QgZGF0YVsxNF07DQo+ICt9IF9fcnRlX3Bh
Y2tlZDsNCj4gKw0KPiAgI2VuZGlmIC8qIF9aU0RBX1FQX0NPTU1PTl9IXyAqLw0KPiAtLQ0KPiAy
LjI3LjANCg0K