From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 187D6C74A5B for ; Tue, 21 Mar 2023 05:10:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=4a9WsNR2TjCSEbzZKp3ONSiGQ/e9ToNf/rrkDMVvGEQ=; b=q/+4JMNB7Tqgqz RBv9gZBXOC63KZ81+CLnUq/T1T22lfhniiI6eJ6TnG84CMX0UAXOEvg7QcTh98MfzuPoIax/HZMqu QpNvA6PGKwfhP8IwE9MoP448PMU4Z51MTcmEtSXg66zjyoHDsRFAn0Q/3nl963v26+jgzvgsM8ias Cbz7zSwgqqAZHOVAsljLuIo1YBN8ZTmpx21dekeLtRxBQc9GakTfu2UZXNvkEKIXTwaoDdHCz9hOh PAhZEGquCsx/pyqsZjiYpV8TbWgm0zPyocxA0s+BMDCAKvEGezcF4+BvRYg6PE1X7B/CzACT/7YMc 6TftGS82BY0/taOWLgFA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1peUFh-00BESn-0E; Tue, 21 Mar 2023 05:09:41 +0000 Received: from mail-he1eur04on0606.outbound.protection.outlook.com ([2a01:111:f400:fe0d::606] helo=EUR04-HE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1peUFd-00BESC-2i for linux-arm-kernel@lists.infradead.org; Tue, 21 Mar 2023 05:09:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AioHCcPA5F8I3D+l27QL92mwXL524hwIefYqxMJRHS2KIOknVzRngV3lk3pvEBfdxBLzvZqNA7kcBPM8YayC1pWRJpil2klNBQIvwTK1kt04Jl52GQKurRMP12PfsAqwfLygpC0nzSpzsd48XZufXEHLtcDvF5d6xsDcyGIM4DU3ROBrg+S7bQqkJlYuX4ALvlVDT/hhX4f+B8Fe8cg1e/zSEXBzO5qOviJvLEYXUC8Kz44rkUqBQhkNKmNzCaMpRv3oztW6E1/sB6txglqDFmjWwKmxor+0/gRzEpJsar0EV9qyZzToCEoPyhupQs98430YoEdt9Fxin0DOYtwr+A== 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=ysjQpHp2o1y4RgL3OZJueo+b1SptdMMHry6dea+91bU=; b=QB+FhZtN5gmelBijXs2us302teweIKQr/mb4b7Rl5a1BbX4BLxqBiJl6kudV2dtCZUHgGtWRvpSWTmwKzT1xOyPq0lO+LkebhcBCC4GOZNbQ9El92Ia00OJlC7/yfIFhq+9RKA1xkaQfZB5nRCdib8T7teLvidkv3KKq2p7e2LnWHeNy2Q92ewUoV3wHRBzP1GCy7r+YNjymKgjm4RjVRu8uZZEeaHGiXUAT38pHtdYlR4IY+QQFCzFB5VCvvJv8DVBRVFuCqrEBL2vH5EWF9YGiI01VSoAVdi0MhbFiZCVb3QSoQ1QDnDTzWXohs2EuRH65ZwDNIYIRBI0YP5Qo5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ysjQpHp2o1y4RgL3OZJueo+b1SptdMMHry6dea+91bU=; b=E5gzwBfSia8R8exjP/DOtJPLkeq06BysHNa9Ty31k/S8JyMku562tdjRdHsY5+5AQ6Oev2wNlmweNuvJGLKdf3ttdseunul2NSGDLFTD8wktxVCbqju4GPXIFlL7r6nnHRqCT2vh18ZmarX+dg9otd35g0nRCLEmaS89Onui+cE6V+b2SLqjCw5GIBmIZ2Oe5dZSICyso+MnygsweLL1lThSmwZBd9a7gNT/Iur/f231etPepjsCu21WK+zOPbRTaQhQhxh2tEEMKuiszr619NuTBJfkyFTUqlPqwGQXvEYRmEIpxCKBJyqD4CY/8PlSmNj+z5o7c8Wr9XzK6ttytg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from VI1PR0402MB3439.eurprd04.prod.outlook.com (2603:10a6:803:4::13) by DB9PR04MB8218.eurprd04.prod.outlook.com (2603:10a6:10:24a::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar 2023 05:09:32 +0000 Received: from VI1PR0402MB3439.eurprd04.prod.outlook.com ([fe80::6802:b2c3:5f12:8f9f]) by VI1PR0402MB3439.eurprd04.prod.outlook.com ([fe80::6802:b2c3:5f12:8f9f%2]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023 05:09:32 +0000 Date: Tue, 21 Mar 2023 13:09:18 +0800 From: Chester Lin To: Andy Shevchenko Cc: Linus Walleij , NXP S32 Linux Team , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Ghennadi Procopciuc , Andrei Stefanescu , Radu Pirea , Andreas =?iso-8859-1?Q?F=E4rber?= , Matthias Brugger Subject: Re: [PATCH v2 4/4] pinctrl: s32cc: embed generic struct pingroup and pinfunction Message-ID: References: <20230320163823.886-1-clin@suse.com> <20230320163823.886-5-clin@suse.com> Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: TYCP286CA0124.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b6::6) To VI1PR0402MB3439.eurprd04.prod.outlook.com (2603:10a6:803:4::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI1PR0402MB3439:EE_|DB9PR04MB8218:EE_ X-MS-Office365-Filtering-Correlation-Id: ac6a480f-d405-4a68-2dbe-08db29ca7476 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fURAf4bolx0nEkfhGwspvqAi+EUjZh3yR633yd4evI6NAIX7kgLtOmtdhp1HLXTMZMfrhLq3q29eCYAIUk6Gdvz87FIFwPf63KPgcJDTYs/8tn88wua3QyDIk5B/jn3jfWBV7ZH3ugqXYWGAuQzEHHxwBJXPyrJFlUzL5bfBfE25srvKRUXbOqhCcdbUtJxAROxv19ivapJBHsKt5+hSga557BSl59e3c+QqZyToKCTe1cT8wyMcsJN4mfkN8m2UH7VJyfvTlvEUUatX0+eDsGYP3HM2CcAahTA/bXcT/wFgzwZjQHhvv7m4ba22t2iYit8edGQmkeSQBvCtHejiHUKj8sJwwondpLWqLT1I/c41neJhl8sZOaie0eqQ5UktwvimB5G3wv15Pr+C6MsxqNWaLVQLarX4ZkBF8n5X+oEl+VBu4cv0DYSX4OtmtlqXL2pyU7PnfsqkUvTeaSkwFiSm3XIhSctnCPk3klgHsLDKaZTwTv6LM4ixcYRrhGZ0ZpQzMD4s9I7MwNPly5951BDv0xvQanJWdTClRdB6Arwqw7TfjDGahJcAzBPtWGyp1safeEqNkOdl9PPIoXPDujzfzfJ9nwR+wgFzK2eVID4JPdBNpuaD/0ahhTB2G+CoZ7vsAIMQQsQ+niPbK/45Gr9fcBYhAxV5BuU3Z4d0T74R2wS2GuPbHljorFbnu497 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3439.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(346002)(366004)(136003)(396003)(39860400002)(376002)(451199018)(7416002)(5660300002)(41300700001)(86362001)(8936002)(33716001)(38100700002)(2906002)(6666004)(4326008)(6486002)(107886003)(83380400001)(478600001)(53546011)(186003)(26005)(6506007)(9686003)(6512007)(8676002)(54906003)(316002)(66946007)(6916009)(66476007)(66556008)(41533002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ek9ua05Ud2JyQ01KNjdEVDk0bkdDTk1TZnMwRWxIV1pjMVR4M2pWUnptSVQ5?= =?utf-8?B?OStTUTdjbnE4YmhFMllCQWF1K0dENXFWa2NVN3F1eTMwMEdVTitKM3IxWjNE?= =?utf-8?B?ZVQ3V1FFUW50VDRiYWMwaGhXVE51VFRaWHRKMjlGWUZCMWU0dlJPOWZXQkdQ?= =?utf-8?B?RUQwaXVSTUc2YjEyVVBES3pZS0o2dmJMT2xvWTJTME5zeGtiZXFyak5Rd295?= =?utf-8?B?Slo4NisrSE5UbUJhT21WQ016Rk5DTEFjbDE4VGVxaHpKaTBOOVE5bU1PUE1t?= =?utf-8?B?Ykg5YTVhMmxkSG56R3hGbG1URUNXY0xwYnRZRCtXK0dPQzJlTDVSa0RwcUw1?= =?utf-8?B?bXhkVDF3bGRsS0JPSEhKWmREUjNUVVN0VE1OYTJ6TTN0Zms4Rk9xYVBIbU1C?= =?utf-8?B?bGdTdGU1aHdicFMyc2JrdFR2cVJNVHlSeGdwK2NHcFV5YlBIRTNKbHh0Wkxu?= =?utf-8?B?QXovRkt6dXlpcTFFWTk4SUJjLzQ0ZVlzSGwxb3RsbHlZQlJ4T3BjVVRHcTIx?= =?utf-8?B?dlBseERYR21LQzlwVjhObCtUVXR5bVA1UGhOUjRndW1UZmdWN1dwT0N4QmU0?= =?utf-8?B?ZlgwM3R5a3dRMVBsOFpOT1Z6L1VrczFrRGZvZUZEczRrRFd0V0JKenpxWHhO?= =?utf-8?B?NC9TM2hZa0dFQ2JMdXkvWUpwWWRxMktyVnk1MXlCdUxDS2lXdlZpZSttUGF3?= =?utf-8?B?eGZkK01zS1B5TXZGMlBBU0ZOdGNObEtYaFJKMlBDQjdKV0xSbXpwUUN6bDRt?= =?utf-8?B?aHJZZEZRZW9JLzF0UmNrKzhLMXAzb1dzSFM1QnpSbGxWQXZISzhweFFaYkZZ?= =?utf-8?B?MWZwUER4eFMxNVo3dlp3TVl0dlZUMTJYSUVOUzBjNzdNZzR3c2I5SjRMaFpR?= =?utf-8?B?ZS8zUWlweTNuemxIYmptOWFiYVZSQStjUjBjdlVFVW1MenNGUmY3cjRoMTB5?= =?utf-8?B?anA0bDlIWkRBUUpFVEd6M2ZNT0t3aG00ank0emFJQmVOdGtCN0hlY2JvVHlk?= =?utf-8?B?MFQ4aFlBZU9Ia3dGUmw5cjBDMjBqWVgyTC8vS2xHZE1IUnRxdElYakVvb3l4?= =?utf-8?B?ODFMbEFnamxPY1hFcXFVTnUrenRtVG5KQlBJZncxSkhsdzdsamkzNU5nVlJK?= =?utf-8?B?YzNOTTZUQ3FsK0ZTS0RNeGdzN3pYS3pEQnpEUW1heXcrSGoyZUlDdXN1YWE0?= =?utf-8?B?L2xBaWN3VzdHSXk1Y3JnSTAzcDNZa0NPVGxjMlRJK09FWDFuR0xab2V2ZWs3?= =?utf-8?B?T25lYWRVOTFRTjdBTTE3ZTNRbXFtNlFGYlRJUGdFYVdWVTduSUlvNmdrNTN5?= =?utf-8?B?VGpBRTlqT09XcnlFaXlheWowaEtqSFhsNEdYeUp0NWgrZ3k1ZWgwVnFDYUtm?= =?utf-8?B?Z1dRejhFdzAvNFN0ejhlSjVoQnIzWWhaLzE4WWNKZjU2M2Z0QUgwZUtHQTBs?= =?utf-8?B?eE80VHc5RmNsNSt2YjRYRUE2Vk5lY0F1Zjl6RVl1cDJCdzFSbGdKcmdjVjdP?= =?utf-8?B?U2FLeCs4QmcyMU5vZmRRejFEbXN1VzlHSnVsWG8wWEF4Ky9nMkZxajZaT0RC?= =?utf-8?B?ZTdLdTcrTS9yUUptMFZGN1Z1LzlVQjRENHFaanlBekhvOFBRTWI4MWc2dExO?= =?utf-8?B?dXMxWm8yci9HV2tkSW9TSE9IZ3l5VHdiY2VFaFB5VWJmcURkS2NzQWZtQ0dw?= =?utf-8?B?eUFZTCttQ1JCRkQvMFdtZ2F3ZEtDcG1ia2Y5MFFkMkxMcDJrWUNqWnk5UXJq?= =?utf-8?B?M015ZW1UWVNkcXd6enlFN0pQdWh2SVNSUmhCUFBnQWllL2RkTzNEbUd4WUZx?= =?utf-8?B?TVdzNkN1aHJoUnFmOU94TEF5UmJETktUL3BjbVdBTmVNcGtUejNXMGQ4OTdP?= =?utf-8?B?aGhCZ0pkblcxNklUNTUvclNqWk9EbVcxR0JHTDNLZ3UxNXl4bk5hY2JtNENa?= =?utf-8?B?VFd5Q3NLb0JjMUhXLyt2QVdVNG0wMEsvbENCajVvOFhqTVp2ZlQ3WE9SQjJT?= =?utf-8?B?VDg5dGRtZ2FNSDJEeVBOcVVuYW1EZFdyNTVVNTZmQ2wwMG42WmR6bGR4UzJ1?= =?utf-8?B?V1B1Qkx2VTZWUXE0UEJzcC9mbmhJL0ZLL0t4TFNCZnVkMnMyS1RwbG13WGMv?= =?utf-8?Q?Nv7s=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac6a480f-d405-4a68-2dbe-08db29ca7476 X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3439.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 05:09:32.0997 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tVyZ7yjPpeuydqUt3z4t+RJD0T+CJH+NMTT9kN0Z3KVOBeaHG6GwG9XUwKej5DuT X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8218 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230320_220938_052545_6DA3AE55 X-CRM114-Status: GOOD ( 27.10 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gTW9uLCBNYXIgMjAsIDIwMjMgYXQgMDc6MTA6NDBQTSArMDIwMCwgQW5keSBTaGV2Y2hlbmtv IHdyb3RlOgo+IE9uIE1vbiwgTWFyIDIwLCAyMDIzIGF0IDY6MznigK9QTSBDaGVzdGVyIExpbiA8 Y2xpbkBzdXNlLmNvbT4gd3JvdGU6Cj4gPgo+ID4gVXNlIGdlbmVyaWMgZGF0YSBzdHJ1Y3R1cmUg dG8gZGVzY3JpYmUgcGluIGNvbnRyb2wgZnVuY3Rpb25zIGFuZCBncm91cHMgaW4KPiA+IFMzMiBT b0MgZmFtaWx5IGFuZCBkcm9wIGR1cGxpY2F0ZWQgc3RydWN0IG1lbWJlcnMuCj4gCj4gTm90IHN1 cmUgYWJvdXQgdGhlIG5lZWQgb2YgdGhlIGNhc3RpbmcsIHNlZSBiZWxvdywgb3RoZXJ3aXNlIExH VE0uCj4gUmV2aWV3ZWQtYnk6IEFuZHkgU2hldmNoZW5rbyA8YW5keS5zaGV2Y2hlbmtvQGdtYWls LmNvbT4KPiAKPiA+IFNpZ25lZC1vZmYtYnk6IENoZXN0ZXIgTGluIDxjbGluQHN1c2UuY29tPgo+ ID4gLS0tCj4gPiBDaGFuZ2VzIGluIHYyOgo+ID4gLSBTaW1wbHkgdXNlIGdlbmVyaWMgJ3N0cnVj dCBwaW5mdW5jdGlvbicgcmF0aGVyIHRoYW4gaGF2aW5nIGV4dHJhICdzdHJ1Y3QKPiA+ICAgczMy X3BteF9mdW5jJy4KPiA+Cj4gPiAgZHJpdmVycy9waW5jdHJsL254cC9waW5jdHJsLXMzMi5oICAg fCAyNiArKy0tLS0tLS0tCj4gPiAgZHJpdmVycy9waW5jdHJsL254cC9waW5jdHJsLXMzMmNjLmMg fCA3NiArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwg NDUgaW5zZXJ0aW9ucygrKSwgNTcgZGVsZXRpb25zKC0pCj4gPgo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvcGluY3RybC9ueHAvcGluY3RybC1zMzIuaCBiL2RyaXZlcnMvcGluY3RybC9ueHAvcGlu Y3RybC1zMzIuaAo+ID4gaW5kZXggNTQ1YmYxNmI5ODhkLi4yZjdhZWNkNDYyZTQgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL3BpbmN0cmwvbnhwL3BpbmN0cmwtczMyLmgKPiA+ICsrKyBiL2RyaXZl cnMvcGluY3RybC9ueHAvcGluY3RybC1zMzIuaAo+ID4gQEAgLTE1LDMxICsxNSwxNSBAQCBzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlOwo+ID4KPiA+ICAvKioKPiA+ICAgKiBzdHJ1Y3QgczMyX3Bpbl9n cm91cCAtIGRlc2NyaWJlcyBhbiBTMzIgcGluIGdyb3VwCj4gPiAtICogQG5hbWU6IHRoZSBuYW1l IG9mIHRoaXMgc3BlY2lmaWMgcGluIGdyb3VwCj4gPiAtICogQG5waW5zOiB0aGUgbnVtYmVyIG9m IHBpbnMgaW4gdGhpcyBncm91cCBhcnJheSwgaS5lLiB0aGUgbnVtYmVyIG9mCj4gPiAtICogICAg ICAgICBlbGVtZW50cyBpbiBwaW5faWRzIGFuZCBwaW5fc3NzIHNvIHdlIGNhbiBpdGVyYXRlIG92 ZXIgdGhhdCBhcnJheQo+ID4gLSAqIEBwaW5faWRzOiBhbiBhcnJheSBvZiBwaW4gSURzIGluIHRo aXMgZ3JvdXAKPiA+IC0gKiBAcGluX3NzczogYW4gYXJyYXkgb2Ygc291cmNlIHNpZ25hbCBzZWxl Y3QgY29uZmlncyBwYWlyZWQgd2l0aCBwaW5faWRzCj4gPiArICogQGRhdGE6IGdlbmVyaWMgZGF0 YSBkZXNjcmliZXMgZ3JvdXAgbmFtZSwgbnVtYmVyIG9mIHBpbnMsIGFuZCBhIHBpbiBhcnJheSBp bgo+ID4gKyAgICAgICB0aGlzIGdyb3VwLgo+ID4gKyAqIEBwaW5fc3NzOiBhbiBhcnJheSBvZiBz b3VyY2Ugc2lnbmFsIHNlbGVjdCBjb25maWdzIHBhaXJlZCB3aXRoIHBpbiBhcnJheS4KPiA+ICAg Ki8KPiA+ICBzdHJ1Y3QgczMyX3Bpbl9ncm91cCB7Cj4gPiAtICAgICAgIGNvbnN0IGNoYXIgKm5h bWU7Cj4gPiAtICAgICAgIHVuc2lnbmVkIGludCBucGluczsKPiA+IC0gICAgICAgdW5zaWduZWQg aW50ICpwaW5faWRzOwo+ID4gKyAgICAgICBzdHJ1Y3QgcGluZ3JvdXAgZGF0YTsKPiA+ICAgICAg ICAgdW5zaWduZWQgaW50ICpwaW5fc3NzOwo+ID4gIH07Cj4gPgo+ID4gLS8qKgo+ID4gLSAqIHN0 cnVjdCBzMzJfcG14X2Z1bmMgLSBkZXNjcmliZXMgUzMyIHBpbm11eCBmdW5jdGlvbnMKPiA+IC0g KiBAbmFtZTogdGhlIG5hbWUgb2YgdGhpcyBzcGVjaWZpYyBmdW5jdGlvbgo+ID4gLSAqIEBncm91 cHM6IGNvcnJlc3BvbmRpbmcgcGluIGdyb3Vwcwo+ID4gLSAqIEBudW1fZ3JvdXBzOiB0aGUgbnVt YmVyIG9mIGdyb3Vwcwo+ID4gLSAqLwo+ID4gLXN0cnVjdCBzMzJfcG14X2Z1bmMgewo+ID4gLSAg ICAgICBjb25zdCBjaGFyICpuYW1lOwo+ID4gLSAgICAgICBjb25zdCBjaGFyICoqZ3JvdXBzOwo+ ID4gLSAgICAgICB1bnNpZ25lZCBpbnQgbnVtX2dyb3VwczsKPiA+IC19Owo+ID4gLQo+ID4gIC8q Kgo+ID4gICAqIHN0cnVjdCBzMzJfcGluX3JhbmdlIC0gcGluIElEIHJhbmdlIGZvciBlYWNoIG1l bW9yeSByZWdpb24uCj4gPiAgICogQHN0YXJ0OiBzdGFydCBwaW4gSUQKPiA+IEBAIC01Niw3ICs0 MCw3IEBAIHN0cnVjdCBzMzJfcGluY3RybF9zb2NfaW5mbyB7Cj4gPiAgICAgICAgIHVuc2lnbmVk IGludCBucGluczsKPiA+ICAgICAgICAgc3RydWN0IHMzMl9waW5fZ3JvdXAgKmdyb3VwczsKPiA+ ICAgICAgICAgdW5zaWduZWQgaW50IG5ncm91cHM7Cj4gPiAtICAgICAgIHN0cnVjdCBzMzJfcG14 X2Z1bmMgKmZ1bmN0aW9uczsKPiA+ICsgICAgICAgc3RydWN0IHBpbmZ1bmN0aW9uICpmdW5jdGlv bnM7Cj4gPiAgICAgICAgIHVuc2lnbmVkIGludCBuZnVuY3Rpb25zOwo+ID4gICAgICAgICB1bnNp Z25lZCBpbnQgZ3JwX2luZGV4Owo+ID4gICAgICAgICBjb25zdCBzdHJ1Y3QgczMyX3Bpbl9yYW5n ZSAqbWVtX3Bpbl9yYW5nZXM7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waW5jdHJsL254cC9w aW5jdHJsLXMzMmNjLmMgYi9kcml2ZXJzL3BpbmN0cmwvbnhwL3BpbmN0cmwtczMyY2MuYwo+ID4g aW5kZXggY2I4YTA4NDRjMGZhLi40ZWQwY2M5MDUyMzIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L3BpbmN0cmwvbnhwL3BpbmN0cmwtczMyY2MuYwo+ID4gKysrIGIvZHJpdmVycy9waW5jdHJsL254 cC9waW5jdHJsLXMzMmNjLmMKPiA+IEBAIC0xODgsNyArMTg4LDcgQEAgc3RhdGljIGNvbnN0IGNo YXIgKnMzMl9nZXRfZ3JvdXBfbmFtZShzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYsCj4gPiAg ICAgICAgIHN0cnVjdCBzMzJfcGluY3RybCAqaXBjdGwgPSBwaW5jdHJsX2Rldl9nZXRfZHJ2ZGF0 YShwY3RsZGV2KTsKPiA+ICAgICAgICAgY29uc3Qgc3RydWN0IHMzMl9waW5jdHJsX3NvY19pbmZv ICppbmZvID0gaXBjdGwtPmluZm87Cj4gPgo+ID4gLSAgICAgICByZXR1cm4gaW5mby0+Z3JvdXBz W3NlbGVjdG9yXS5uYW1lOwo+ID4gKyAgICAgICByZXR1cm4gaW5mby0+Z3JvdXBzW3NlbGVjdG9y XS5kYXRhLm5hbWU7Cj4gPiAgfQo+ID4KPiA+ICBzdGF0aWMgaW50IHMzMl9nZXRfZ3JvdXBfcGlu cyhzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYsCj4gPiBAQCAtMTk4LDggKzE5OCw4IEBAIHN0 YXRpYyBpbnQgczMyX2dldF9ncm91cF9waW5zKHN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRldiwK PiA+ICAgICAgICAgc3RydWN0IHMzMl9waW5jdHJsICppcGN0bCA9IHBpbmN0cmxfZGV2X2dldF9k cnZkYXRhKHBjdGxkZXYpOwo+ID4gICAgICAgICBjb25zdCBzdHJ1Y3QgczMyX3BpbmN0cmxfc29j X2luZm8gKmluZm8gPSBpcGN0bC0+aW5mbzsKPiA+Cj4gPiAtICAgICAgICpwaW5zID0gaW5mby0+ Z3JvdXBzW3NlbGVjdG9yXS5waW5faWRzOwo+ID4gLSAgICAgICAqbnBpbnMgPSBpbmZvLT5ncm91 cHNbc2VsZWN0b3JdLm5waW5zOwo+ID4gKyAgICAgICAqcGlucyA9IGluZm8tPmdyb3Vwc1tzZWxl Y3Rvcl0uZGF0YS5waW5zOwo+ID4gKyAgICAgICAqbnBpbnMgPSBpbmZvLT5ncm91cHNbc2VsZWN0 b3JdLmRhdGEubnBpbnM7Cj4gPgo+ID4gICAgICAgICByZXR1cm4gMDsKPiA+ICB9Cj4gPiBAQCAt MzE0LDIzICszMTQsMjMgQEAgc3RhdGljIGludCBzMzJfcG14X3NldChzdHJ1Y3QgcGluY3RybF9k ZXYgKnBjdGxkZXYsIHVuc2lnbmVkIGludCBzZWxlY3RvciwKPiA+ICAgICAgICAgZ3JwID0gJmlu Zm8tPmdyb3Vwc1tncm91cF07Cj4gPgo+ID4gICAgICAgICBkZXZfZGJnKGlwY3RsLT5kZXYsICJz ZXQgbXV4IGZvciBmdW5jdGlvbiAlcyBncm91cCAlc1xuIiwKPiA+IC0gICAgICAgICAgICAgICBp bmZvLT5mdW5jdGlvbnNbc2VsZWN0b3JdLm5hbWUsIGdycC0+bmFtZSk7Cj4gPiArICAgICAgICAg ICAgICAgaW5mby0+ZnVuY3Rpb25zW3NlbGVjdG9yXS5uYW1lLCBncnAtPmRhdGEubmFtZSk7Cj4g Pgo+ID4gICAgICAgICAvKiBDaGVjayBiZWZvcmVoYW5kIHNvIHdlIGRvbid0IGhhdmUgYSBwYXJ0 aWFsIGNvbmZpZy4gKi8KPiA+IC0gICAgICAgZm9yIChpID0gMDsgaSA8IGdycC0+bnBpbnM7IGkr Kykgewo+ID4gLSAgICAgICAgICAgICAgIGlmIChzMzJfY2hlY2tfcGluKHBjdGxkZXYsIGdycC0+ cGluX2lkc1tpXSkgIT0gMCkgewo+ID4gKyAgICAgICBmb3IgKGkgPSAwOyBpIDwgZ3JwLT5kYXRh Lm5waW5zOyBpKyspIHsKPiA+ICsgICAgICAgICAgICAgICBpZiAoczMyX2NoZWNrX3BpbihwY3Rs ZGV2LCBncnAtPmRhdGEucGluc1tpXSkgIT0gMCkgewo+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgZGV2X2VycihpbmZvLT5kZXYsICJpbnZhbGlkIHBpbjogJXUgaW4gZ3JvdXA6ICV1XG4iLAo+ ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncnAtPnBpbl9pZHNbaV0sIGdyb3Vw KTsKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JwLT5kYXRhLnBpbnNbaV0s IGdyb3VwKTsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4g ICAgICAgICAgICAgICAgIH0KPiA+ICAgICAgICAgfQo+ID4KPiA+IC0gICAgICAgZm9yIChpID0g MCwgcmV0ID0gMDsgaSA8IGdycC0+bnBpbnMgJiYgIXJldDsgaSsrKSB7Cj4gPiAtICAgICAgICAg ICAgICAgcmV0ID0gczMyX3JlZ21hcF91cGRhdGUocGN0bGRldiwgZ3JwLT5waW5faWRzW2ldLAo+ ID4gKyAgICAgICBmb3IgKGkgPSAwLCByZXQgPSAwOyBpIDwgZ3JwLT5kYXRhLm5waW5zICYmICFy ZXQ7IGkrKykgewo+ID4gKyAgICAgICAgICAgICAgIHJldCA9IHMzMl9yZWdtYXBfdXBkYXRlKHBj dGxkZXYsIGdycC0+ZGF0YS5waW5zW2ldLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFMzMl9NU0NSX1NTU19NQVNLLCBncnAtPnBpbl9zc3NbaV0pOwo+ID4gICAg ICAgICAgICAgICAgIGlmIChyZXQpIHsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9l cnIoaW5mby0+ZGV2LCAiRmFpbGVkIHRvIHNldCBwaW4gJXVcbiIsCj4gPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdycC0+cGluX2lkc1tpXSk7Cj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGdycC0+ZGF0YS5waW5zW2ldKTsKPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgIHJldHVybiByZXQ7Cj4gPiAgICAgICAgICAgICAgICAgfQo+ID4gICAgICAgICB9Cj4g PiBAQCAtMzY0LDcgKzM2NCw3IEBAIHN0YXRpYyBpbnQgczMyX3BteF9nZXRfZ3JvdXBzKHN0cnVj dCBwaW5jdHJsX2RldiAqcGN0bGRldiwKPiA+ICAgICAgICAgY29uc3Qgc3RydWN0IHMzMl9waW5j dHJsX3NvY19pbmZvICppbmZvID0gaXBjdGwtPmluZm87Cj4gPgo+ID4gICAgICAgICAqZ3JvdXBz ID0gaW5mby0+ZnVuY3Rpb25zW3NlbGVjdG9yXS5ncm91cHM7Cj4gPiAtICAgICAgICpudW1fZ3Jv dXBzID0gaW5mby0+ZnVuY3Rpb25zW3NlbGVjdG9yXS5udW1fZ3JvdXBzOwo+ID4gKyAgICAgICAq bnVtX2dyb3VwcyA9IGluZm8tPmZ1bmN0aW9uc1tzZWxlY3Rvcl0ubmdyb3VwczsKPiA+Cj4gPiAg ICAgICAgIHJldHVybiAwOwo+ID4gIH0KPiA+IEBAIC02MDIsOCArNjAyLDggQEAgc3RhdGljIGlu dCBzMzJfcGNvbmZfZ3JvdXBfc2V0KHN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRldiwgdW5zaWdu ZWQgaW50IHNlbGVjdG8KPiA+ICAgICAgICAgaW50IGksIHJldDsKPiA+Cj4gPiAgICAgICAgIGdy cCA9ICZpbmZvLT5ncm91cHNbc2VsZWN0b3JdOwo+ID4gLSAgICAgICBmb3IgKGkgPSAwOyBpIDwg Z3JwLT5ucGluczsgaSsrKSB7Cj4gPiAtICAgICAgICAgICAgICAgcmV0ID0gczMyX3BpbmNvbmZf bXNjcl91cGRhdGUocGN0bGRldiwgZ3JwLT5waW5faWRzW2ldLAo+ID4gKyAgICAgICBmb3IgKGkg PSAwOyBpIDwgZ3JwLT5kYXRhLm5waW5zOyBpKyspIHsKPiA+ICsgICAgICAgICAgICAgICByZXQg PSBzMzJfcGluY29uZl9tc2NyX3VwZGF0ZShwY3RsZGV2LCBncnAtPmRhdGEucGluc1tpXSwKPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWdzLCBu dW1fY29uZmlncyk7Cj4gPiAgICAgICAgICAgICAgICAgaWYgKHJldCkKPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gPiBAQCAtNjM3LDkgKzYzNyw5IEBAIHN0YXRpYyB2 b2lkIHMzMl9waW5jb25mX2dyb3VwX2RiZ19zaG93KHN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRl diwKPiA+Cj4gPiAgICAgICAgIHNlcV9wdXRzKHMsICJcbiIpOwo+ID4gICAgICAgICBncnAgPSAm aW5mby0+Z3JvdXBzW3NlbGVjdG9yXTsKPiA+IC0gICAgICAgZm9yIChpID0gMDsgaSA8IGdycC0+ bnBpbnM7IGkrKykgewo+ID4gLSAgICAgICAgICAgICAgIG5hbWUgPSBwaW5fZ2V0X25hbWUocGN0 bGRldiwgZ3JwLT5waW5faWRzW2ldKTsKPiA+IC0gICAgICAgICAgICAgICByZXQgPSBzMzJfcmVn bWFwX3JlYWQocGN0bGRldiwgZ3JwLT5waW5faWRzW2ldLCAmY29uZmlnKTsKPiA+ICsgICAgICAg Zm9yIChpID0gMDsgaSA8IGdycC0+ZGF0YS5ucGluczsgaSsrKSB7Cj4gPiArICAgICAgICAgICAg ICAgbmFtZSA9IHBpbl9nZXRfbmFtZShwY3RsZGV2LCBncnAtPmRhdGEucGluc1tpXSk7Cj4gPiAr ICAgICAgICAgICAgICAgcmV0ID0gczMyX3JlZ21hcF9yZWFkKHBjdGxkZXYsIGdycC0+ZGF0YS5w aW5zW2ldLCAmY29uZmlnKTsKPiA+ICAgICAgICAgICAgICAgICBpZiAocmV0KQo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgcmV0dXJuOwo+ID4gICAgICAgICAgICAgICAgIHNlcV9wcmludGYo cywgIiVzOiAweCV4XG4iLCBuYW1lLCBjb25maWcpOwo+ID4gQEAgLTczMiw2ICs3MzIsNyBAQCBz dGF0aWMgaW50IHMzMl9waW5jdHJsX3BhcnNlX2dyb3VwcyhzdHJ1Y3QgZGV2aWNlX25vZGUgKm5w LAo+ID4gICAgICAgICBjb25zdCBfX2JlMzIgKnA7Cj4gPiAgICAgICAgIHN0cnVjdCBkZXZpY2Ug KmRldjsKPiA+ICAgICAgICAgc3RydWN0IHByb3BlcnR5ICpwcm9wOwo+ID4gKyAgICAgICB1bnNp Z25lZCBpbnQgKnBpbnMsICpzc3M7Cj4gPiAgICAgICAgIGludCBpLCBucGluczsKPiA+ICAgICAg ICAgdTMyIHBpbm11eDsKPiA+Cj4gPiBAQCAtNzQwLDM4ICs3NDEsMzggQEAgc3RhdGljIGludCBz MzJfcGluY3RybF9wYXJzZV9ncm91cHMoc3RydWN0IGRldmljZV9ub2RlICpucCwKPiA+ICAgICAg ICAgZGV2X2RiZyhkZXYsICJncm91cDogJXBPRm5cbiIsIG5wKTsKPiA+Cj4gPiAgICAgICAgIC8q IEluaXRpYWxpc2UgZ3JvdXAgKi8KPiA+IC0gICAgICAgZ3JwLT5uYW1lID0gbnAtPm5hbWU7Cj4g PiArICAgICAgIGdycC0+ZGF0YS5uYW1lID0gbnAtPm5hbWU7Cj4gPgo+ID4gICAgICAgICBucGlu cyA9IG9mX3Byb3BlcnR5X2NvdW50X2VsZW1zX29mX3NpemUobnAsICJwaW5tdXgiLCBzaXplb2Yo dTMyKSk7Cj4gPiAgICAgICAgIGlmIChucGlucyA8IDApIHsKPiA+ICAgICAgICAgICAgICAgICBk ZXZfZXJyKGRldiwgIkZhaWxlZCB0byByZWFkICdwaW5tdXgnIHByb3BlcnR5IGluIG5vZGUgJXMu XG4iLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgZ3JwLT5uYW1lKTsKPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgIGdycC0+ZGF0YS5uYW1lKTsKPiA+ICAgICAgICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsKPiA+ICAgICAgICAgfQo+ID4gICAgICAgICBpZiAoIW5waW5zKSB7Cj4gPiAt ICAgICAgICAgICAgICAgZGV2X2VycihkZXYsICJUaGUgZ3JvdXAgJXMgaGFzIG5vIHBpbnMuXG4i LCBncnAtPm5hbWUpOwo+ID4gKyAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiVGhlIGdyb3Vw ICVzIGhhcyBubyBwaW5zLlxuIiwgZ3JwLT5kYXRhLm5hbWUpOwo+ID4gICAgICAgICAgICAgICAg IHJldHVybiAtRUlOVkFMOwo+ID4gICAgICAgICB9Cj4gPgo+ID4gLSAgICAgICBncnAtPm5waW5z ID0gbnBpbnM7Cj4gPiArICAgICAgIGdycC0+ZGF0YS5ucGlucyA9IG5waW5zOwo+ID4KPiA+IC0g ICAgICAgZ3JwLT5waW5faWRzID0gZGV2bV9rY2FsbG9jKGluZm8tPmRldiwgZ3JwLT5ucGlucywK PiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih1bnNpZ25lZCBp bnQpLCBHRlBfS0VSTkVMKTsKPiA+IC0gICAgICAgZ3JwLT5waW5fc3NzID0gZGV2bV9rY2FsbG9j KGluZm8tPmRldiwgZ3JwLT5ucGlucywKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNpemVvZih1bnNpZ25lZCBpbnQpLCBHRlBfS0VSTkVMKTsKPiA+IC0gICAgICAgaWYg KCFncnAtPnBpbl9pZHMgfHwgIWdycC0+cGluX3NzcykKPiA+ICsgICAgICAgcGlucyA9IGRldm1f a2NhbGxvYyhpbmZvLT5kZXYsIG5waW5zLCBzaXplb2YoKnBpbnMpLCBHRlBfS0VSTkVMKTsKPiA+ ICsgICAgICAgc3NzID0gZGV2bV9rY2FsbG9jKGluZm8tPmRldiwgbnBpbnMsIHNpemVvZigqc3Nz KSwgR0ZQX0tFUk5FTCk7Cj4gPiArICAgICAgIGlmICghcGlucyB8fCAhc3NzKQo+ID4gICAgICAg ICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ID4KPiA+ICAgICAgICAgaSA9IDA7Cj4gPiAgICAg ICAgIG9mX3Byb3BlcnR5X2Zvcl9lYWNoX3UzMihucCwgInBpbm11eCIsIHByb3AsIHAsIHBpbm11 eCkgewo+ID4gLSAgICAgICAgICAgICAgIGdycC0+cGluX2lkc1tpXSA9IGdldF9waW5fbm8ocGlu bXV4KTsKPiA+IC0gICAgICAgICAgICAgICBncnAtPnBpbl9zc3NbaV0gPSBnZXRfcGluX2Z1bmMo cGlubXV4KTsKPiA+ICsgICAgICAgICAgICAgICBwaW5zW2ldID0gZ2V0X3Bpbl9ubyhwaW5tdXgp Owo+ID4gKyAgICAgICAgICAgICAgIHNzc1tpXSA9IGdldF9waW5fZnVuYyhwaW5tdXgpOwo+ID4K PiA+IC0gICAgICAgICAgICAgICBkZXZfZGJnKGluZm8tPmRldiwgInBpbi1pZDogMHgleCwgc3Nz OiAweCV4IiwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIGdycC0+cGluX2lkc1tpXSwgZ3Jw LT5waW5fc3NzW2ldKTsKPiA+ICsgICAgICAgICAgICAgICBkZXZfZGJnKGluZm8tPmRldiwgInBp bjogMHgleCwgc3NzOiAweCV4IiwgcGluc1tpXSwgc3NzW2ldKTsKPiA+ICAgICAgICAgICAgICAg ICBpKys7Cj4gPiAgICAgICAgIH0KPiA+Cj4gPiArICAgICAgIGdycC0+ZGF0YS5waW5zID0gcGlu czsKPiA+ICsgICAgICAgZ3JwLT5waW5fc3NzID0gc3NzOwo+ID4gKwo+ID4gICAgICAgICByZXR1 cm4gMDsKPiA+ICB9Cj4gPgo+ID4gQEAgLTc4MCw4ICs3ODEsOSBAQCBzdGF0aWMgaW50IHMzMl9w aW5jdHJsX3BhcnNlX2Z1bmN0aW9ucyhzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLAo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBpbmRleCkKPiA+ICB7Cj4gPiAg ICAgICAgIHN0cnVjdCBkZXZpY2Vfbm9kZSAqY2hpbGQ7Cj4gPiAtICAgICAgIHN0cnVjdCBzMzJf cG14X2Z1bmMgKmZ1bmM7Cj4gPiArICAgICAgIHN0cnVjdCBwaW5mdW5jdGlvbiAqZnVuYzsKPiA+ ICAgICAgICAgc3RydWN0IHMzMl9waW5fZ3JvdXAgKmdycDsKPiA+ICsgICAgICAgY2hhciAqKmdy b3VwczsKPiA+ICAgICAgICAgdTMyIGkgPSAwOwo+ID4gICAgICAgICBpbnQgcmV0ID0gMDsKPiA+ Cj4gPiBAQCAtNzkxLDE4ICs3OTMsMTggQEAgc3RhdGljIGludCBzMzJfcGluY3RybF9wYXJzZV9m dW5jdGlvbnMoc3RydWN0IGRldmljZV9ub2RlICpucCwKPiA+Cj4gPiAgICAgICAgIC8qIEluaXRp YWxpc2UgZnVuY3Rpb24gKi8KPiA+ICAgICAgICAgZnVuYy0+bmFtZSA9IG5wLT5uYW1lOwo+ID4g LSAgICAgICBmdW5jLT5udW1fZ3JvdXBzID0gb2ZfZ2V0X2NoaWxkX2NvdW50KG5wKTsKPiA+IC0g ICAgICAgaWYgKGZ1bmMtPm51bV9ncm91cHMgPT0gMCkgewo+ID4gKyAgICAgICBmdW5jLT5uZ3Jv dXBzID0gb2ZfZ2V0X2NoaWxkX2NvdW50KG5wKTsKPiA+ICsgICAgICAgaWYgKGZ1bmMtPm5ncm91 cHMgPT0gMCkgewo+ID4gICAgICAgICAgICAgICAgIGRldl9lcnIoaW5mby0+ZGV2LCAibm8gZ3Jv dXBzIGRlZmluZWQgaW4gJXBPRlxuIiwgbnApOwo+ID4gICAgICAgICAgICAgICAgIHJldHVybiAt RUlOVkFMOwo+ID4gICAgICAgICB9Cj4gPiAtICAgICAgIGZ1bmMtPmdyb3VwcyA9IGRldm1fa2Nh bGxvYyhpbmZvLT5kZXYsIGZ1bmMtPm51bV9ncm91cHMsCj4gPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaXplb2YoKmZ1bmMtPmdyb3VwcyksIEdGUF9LRVJORUwpOwo+ID4g LSAgICAgICBpZiAoIWZ1bmMtPmdyb3VwcykKPiA+ICsgICAgICAgZ3JvdXBzID0gZGV2bV9rY2Fs bG9jKGluZm8tPmRldiwgZnVuYy0+bmdyb3VwcywKPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNpemVvZigqZnVuYy0+Z3JvdXBzKSwgR0ZQX0tFUk5FTCk7Cj4gPiArICAgICAgIGlm ICghZ3JvdXBzKQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ID4KPiA+ICAg ICAgICAgZm9yX2VhY2hfY2hpbGRfb2Zfbm9kZShucCwgY2hpbGQpIHsKPiA+IC0gICAgICAgICAg ICAgICBmdW5jLT5ncm91cHNbaV0gPSBjaGlsZC0+bmFtZTsKPiA+ICsgICAgICAgICAgICAgICBn cm91cHNbaV0gPSAoY2hhciAqKWNoaWxkLT5uYW1lOwo+ID4gICAgICAgICAgICAgICAgIGdycCA9 ICZpbmZvLT5ncm91cHNbaW5mby0+Z3JwX2luZGV4KytdOwo+ID4gICAgICAgICAgICAgICAgIHJl dCA9IHMzMl9waW5jdHJsX3BhcnNlX2dyb3VwcyhjaGlsZCwgZ3JwLCBpbmZvKTsKPiA+ICAgICAg ICAgICAgICAgICBpZiAocmV0KQo+ID4gQEAgLTgxMCw2ICs4MTIsOCBAQCBzdGF0aWMgaW50IHMz Ml9waW5jdHJsX3BhcnNlX2Z1bmN0aW9ucyhzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLAo+ID4gICAg ICAgICAgICAgICAgIGkrKzsKPiA+ICAgICAgICAgfQo+ID4KPiA+ICsgICAgICAgZnVuYy0+Z3Jv dXBzID0gKGNvbnN0IGNoYXIgKiopZ3JvdXBzOwo+IAo+IEhtbS4uLiBXaHkgaXMgY2FzdGluZyBu ZWVkZWQ/CgpJdCdzIHVzZWQgZm9yIGZ1bGZpbGxpbmcgdGhlIHR5cGUgY2hlY2tpbmcgZG9uZSBi eSBrYnVpbGQgb3RoZXJ3aXNlIGFuIGVycm9yIHdpbGwgb2NjdXI6Cgpkcml2ZXJzL3BpbmN0cmwv bnhwL3BpbmN0cmwtczMyY2MuYzo4MTU6MjI6IGVycm9yOiBhc3NpZ25tZW50IHRvICdjb25zdCBj aGFyICogY29uc3QqJyBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgJ2NoYXIgKionIFst V2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQoKSW4gJ3N0cnVjdCBwaW5mdW5jdGlv bicsIHRoZSBtZW1iZXIgJ2dyb3VwcycgaXMgZGVjbGFyZWQgYXMgKGNvbnN0IGNoYXIgKiBjb25z dCAqKS4KClJlZ2FyZHMsCkNoZXN0ZXIKCj4gCj4gPiAgICAgICAgIHJldHVybiAwOwo+ID4gIH0K PiAKPiAtLSAKPiBXaXRoIEJlc3QgUmVnYXJkcywKPiBBbmR5IFNoZXZjaGVua28KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK