Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp418065rwl; Thu, 6 Apr 2023 22:33:50 -0700 (PDT) X-Google-Smtp-Source: AKy350YLCyOQfmj9rWyBZH/DqAwC/nqWB9NbcVXhQnIpdjp2HV2TLkgjyDoHGuVU8RV4YCwqHjX5 X-Received: by 2002:a05:6a20:2daf:b0:da:318a:981f with SMTP id bf47-20020a056a202daf00b000da318a981fmr796702pzb.42.1680845630115; Thu, 06 Apr 2023 22:33:50 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1680845630; cv=pass; d=google.com; s=arc-20160816; b=B2WKdGPQ3kJ8fLC6jD3J5NXPai8eYFj8zlSJq87M5yW/Isis/w7uvGZVbyF+glsKQ5 +ebJozfujwHkqRgMOFvlea6bhXWOnRD0gob+wcDOcuHC0KMpGnjWGpf5gFB12gLa1kcL E66+0yFDK3EdZnO9ROmofz85tNh2ny0qjsbkkCmNw7Feg4+q6hyekj3nGL67xZcT5Z0B hhI0mXLiyNG6QGHiPsOgcvXUyNbs2ObhCjqWhLMY0qAEy4kX6TuubJSAjaLhqfhj59Xk kPIVJnNh4KYU31PVL70jIDmKcSnhZMLR2PbUu4YkuN1NowuPBkthbK5B06wKx3s7Iqfj 8SGA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature:dkim-signature; bh=MPojZzKGVAIIlUYngfwjkUr7qBKD/1KgNSzz+d0ZFR0=; b=C8x1xcZ3BY1qz1AjRa8g2c4Y3itffqN0GMp+Vym8NT1uMcICtFtZ+tGWBKe8Xw+QTM ZNo8+r4O92dVtBLNAwXaTn3532eSK/olKXSGQ1Ge6Vq287syQYOHpRNMt1dTn668y4wA YsRRNrbYdGI/+ujuA+2VUssyNbLTK+DT+kGP7r19EcfrPzF0p6rXPp4Nw//ZvnigQr+j lGnEMDsXlJemwoEdIqQd3YXyousV8wyk3M9bThutYQqD14llBJ1+TsvXKKZAkF75rxXL KXgwYU6nKVf401Hbwpx038eNoE8muCvd1lkkeKS0Zg8QQEKCBnxGpwPa01kbPRdF+qLB oWtg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=fKkSyMY7; dkim=pass header.i=@mediateko365.onmicrosoft.com header.s=selector2-mediateko365-onmicrosoft-com header.b=l6Xtms9O; arc=pass (i=1 spf=pass spfdomain=mediatek.com dkim=pass dkdomain=mediatek.com dmarc=pass fromdomain=mediatek.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h18-20020a63e152000000b0050726756edesi2815611pgk.76.2023.04.06.22.33.37; Thu, 06 Apr 2023 22:33:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=fKkSyMY7; dkim=pass header.i=@mediateko365.onmicrosoft.com header.s=selector2-mediateko365-onmicrosoft-com header.b=l6Xtms9O; arc=pass (i=1 spf=pass spfdomain=mediatek.com dkim=pass dkdomain=mediatek.com dmarc=pass fromdomain=mediatek.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231642AbjDGFbR (ORCPT + 99 others); Fri, 7 Apr 2023 01:31:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50328 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229783AbjDGFbO (ORCPT ); Fri, 7 Apr 2023 01:31:14 -0400 Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4A21F72BC; Thu, 6 Apr 2023 22:31:05 -0700 (PDT) X-UUID: 622a5d9cd50511edb6b9f13eb10bd0fe-20230407 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=MIME-Version:Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From; bh=MPojZzKGVAIIlUYngfwjkUr7qBKD/1KgNSzz+d0ZFR0=; b=fKkSyMY7qc0HbUSg98ls9aj/iEPywIqCpgOnG4F8f+VTNL7cnjIeAEDwD+6dJgYUHEs+vX6YN1AWcu+BrdHBpBrwhSTCgwhItxbE5IE50mRBEd6y6eMifyTOxb/qsALPpGhOtdF2GiPAdbM+pm37HOfuPCLFz0OKjc8u6d2Pt98=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.22,REQID:a93b5724-0d47-4af6-a10f-f0005994dab1,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:-5,FILE:0,BULK:0,RULE:Release_Ham,ACTION :release,TS:-5 X-CID-INFO: VERSION:1.1.22,REQID:a93b5724-0d47-4af6-a10f-f0005994dab1,IP:0,URL :0,TC:0,Content:0,EDM:0,RT:0,SF:-5,FILE:0,BULK:0,RULE:Release_Ham,ACTION:r elease,TS:-5 X-CID-META: VersionHash:120426c,CLOUDID:23677bb5-beed-4dfc-bd9c-e1b22fa6ccc4,B ulkID:230407104033U91YOVZJ,BulkQuantity:18,Recheck:0,SF:17|19|102,TC:nil,C ontent:0,EDM:-3,IP:nil,URL:0,File:nil,Bulk:41,QS:nil,BEC:nil,COL:0,OSI:0,O SA:0,AV:0 X-CID-BVR: 0,NGT X-CID-BAS: 0,NGT,0,_ X-UUID: 622a5d9cd50511edb6b9f13eb10bd0fe-20230407 Received: from mtkmbs10n1.mediatek.inc [(172.21.101.34)] by mailgw02.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 957889396; Fri, 07 Apr 2023 13:31:01 +0800 Received: from mtkmbs10n2.mediatek.inc (172.21.101.183) by mtkmbs13n1.mediatek.inc (172.21.101.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Fri, 7 Apr 2023 13:31:00 +0800 Received: from APC01-TYZ-obe.outbound.protection.outlook.com (172.21.101.239) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server id 15.2.1118.25 via Frontend Transport; Fri, 7 Apr 2023 13:31:00 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P5RmDTOJPYUb1NxhROiU5A9vK2W7n4KwkLnCaPsTzqxCnjwFPYpxp/n8sC6i+PebxL/5lRuGrEEuhWIoT47/dBeuWmkXTiQ7W0KNpZIG4e239wlkv7RGYmldsK9WycOiRBa8nEmluLQq4LHQBbF2fVoykjMLKlZ+Ntw82K2hWBMZAzAGSFqK0bxtFcSCjdi9K+ZnYqKhi6w9+7aK9lpDqj4mjuzuG7bdmggP8sfkoQLJ8UJC3fwd8W1cmY9ijcSIM8L4104BelaJXpJA8DG/LzRqWaKbcJDmDWLGy/eyJ9q9U+Q2LFe2CSqw3aP5Q3s//lDk8a36NmE7btRheFg1iQ== 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=MPojZzKGVAIIlUYngfwjkUr7qBKD/1KgNSzz+d0ZFR0=; b=aIbnChaU/4RxWXpdBzju5Err4kABXRAWW6lPnDmcGixdrkrmgr+fWPz49QAkJWYCOFejjppZJjYb54tFmdfZyKNS9uH92hiaNGpsojWHR/VjUJOtDuNGCgqULpaQ45J47vXYZHTL+z1GXpdAIYHL3b/6Nr3lTCWHBZG2qD9LI5Zx/OdD5xbNDw/zcnWQb++GjthxdC9QvNa/MBBx76G/a/BThN3BR0jGbJqbJNDv0e3hm+3QMiaXK3uw3C09JDhY1j6vVUwB77TZTS9PE7jnJK5mDE1s5pbwHO/F1/qND+bQ7Zpyty0YLbnZvrzP/msj10LZ6MafT5f7RJKO9xqTFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mediatek.com; dmarc=pass action=none header.from=mediatek.com; dkim=pass header.d=mediatek.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mediateko365.onmicrosoft.com; s=selector2-mediateko365-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MPojZzKGVAIIlUYngfwjkUr7qBKD/1KgNSzz+d0ZFR0=; b=l6Xtms9OPerRlMXjlpSAywPyooSjNrpDEd+Yr6xVsLzWN2ciYE1ORIMZkWgB5msOGb+xM8eEkYX46XOKVFP/dDaJgQOY33F1JEMuC1mt+RwUZHoU4jeYliZxfiMqpkbZVn1uRcCXUGAN17gSiy2SIXYVUNao/cm94BoCG8A0sxw= Received: from KL1PR03MB5062.apcprd03.prod.outlook.com (2603:1096:820:1a::22) by TYZPR03MB5263.apcprd03.prod.outlook.com (2603:1096:405:6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.30; Fri, 7 Apr 2023 05:30:58 +0000 Received: from KL1PR03MB5062.apcprd03.prod.outlook.com ([fe80::82b9:eab9:b4e3:8464]) by KL1PR03MB5062.apcprd03.prod.outlook.com ([fe80::82b9:eab9:b4e3:8464%7]) with mapi id 15.20.6254.035; Fri, 7 Apr 2023 05:30:58 +0000 From: =?utf-8?B?Q2h1bmZlbmcgWXVuICjkupHmmKXls7Ap?= To: "jstephan@baylibre.com" CC: "linux-mediatek@lists.infradead.org" , "robh+dt@kernel.org" , "linux-kernel@vger.kernel.org" , "kishon@kernel.org" , "chunkuang.hu@kernel.org" , "devicetree@vger.kernel.org" , "p.zabel@pengutronix.de" , "dri-devel@lists.freedesktop.org" , =?utf-8?B?QW5keSBIc2llaCAo6Kyd5pm655qTKQ==?= , =?utf-8?B?TG91aXMgS3VvICjpg63lvrflr6cp?= , "krzysztof.kozlowski+dt@linaro.org" , "vkoul@kernel.org" , "matthias.bgg@gmail.com" , "linux-phy@lists.infradead.org" , "linux-arm-kernel@lists.infradead.org" , "angelogioacchino.delregno@collabora.com" , "pnguyen@baylibre.com" Subject: Re: [PATCH 2/2] phy: mtk-mipi-csi: add driver for CSI phy Thread-Topic: [PATCH 2/2] phy: mtk-mipi-csi: add driver for CSI phy Thread-Index: AQHZZfzouCNLv8qiX0+hX6w5CXetpa8fNtuA Date: Fri, 7 Apr 2023 05:30:57 +0000 Message-ID: <3fc4f3167044aba4ba947cf0a1f776218b970995.camel@mediatek.com> References: <20230403071929.360911-1-jstephan@baylibre.com> <20230403071929.360911-3-jstephan@baylibre.com> In-Reply-To: <20230403071929.360911-3-jstephan@baylibre.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Evolution 3.28.5-0ubuntu0.18.04.2 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mediatek.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: KL1PR03MB5062:EE_|TYZPR03MB5263:EE_ x-ms-office365-filtering-correlation-id: 8b5370b9-1270-4709-0b04-08db37294430 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: S6v6acgpe1PrmBtVu/co5sBnvnJfeVnCWXtu24Djm434oID56BJBDy7unflG6aKIRuG56sjl2Mi7sH1KesvlW/PPELrXWJHBXRdUtnEWbqXdqEsa1z/B2FxnF6894f5FgaBI/V70GBUUokDbp5z61Ira8XjAkOACoeG+Czxl5wTqEyz14O4bQPkE2/F6fbQAnoCol32Yl+7rhSoFHkDGCIv228ojmJTvU6DWcbSXi0kpZaL3L5X4cKoHl8hxCTXezMm/cINW1RmvwZOz/dgYWfQWryvG86L7mIpYSx/oGFsiCxI2sC91aihYD5MLAlu4/L1XgEVbSvtnpawm8ijCj6OIH5JY8EdRbB0vkgcovUYgdNc4RQ+w+L5LF7n9oisAAYP8WSkH2pecW+Ja4GJwB+N5a7dGB4MFdI6GU/G6jmcL6TtGooEaRrTVt2Brqgyqr3+t6V964U+Oe3jxv4heLqxGuC/b8fpFSLyxEZUjSsCN9/HE54OadZACzxpq52ar2Zy8MdIo+gmo5UZXF2MVXzuXinZPgSWlax3d5lF8PnEsj6L3+k8y1StRNuo8T7lOy0Fs1CGor3wTTq5FPF5VkwWmLX9nE/O1cPIcYTAQoz5bSrxNmSuEZEvNP2IEwEvk2x7Jm48ScaxAB2HUA64kWQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:KL1PR03MB5062.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(366004)(396003)(346002)(376002)(39860400002)(451199021)(19627235002)(85182001)(122000001)(38100700002)(5660300002)(30864003)(7416002)(2906002)(64756008)(4326008)(76116006)(38070700005)(8936002)(86362001)(66476007)(66946007)(66446008)(8676002)(41300700001)(66556008)(6486002)(6916009)(83380400001)(36756003)(2616005)(91956017)(54906003)(6506007)(26005)(478600001)(6512007)(186003)(71200400001)(316002)(99106002)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RUtxY2h2V2F1eTRSdkMzelp6alJVT0R3Z2VlTVRTR3A5NDJvOXZlY2ExYW5h?= =?utf-8?B?dUFFa1dzTk1kVzB6V3pKRXR3bHhac3Zyc1RXcUVXWUp3aUZFb3hHVTdacVhl?= =?utf-8?B?Z0U5WXgrUUExNVhvSkV0Ykh6dDFtTlpieCtZbkFxaFdsWXVBM1ZjRXQ2bkJB?= =?utf-8?B?dkJqaC9WeW1RcVU2QmhhR212cFp5SkVZRmV2dGY1WTdKR3BITzdhRXkvRFdV?= =?utf-8?B?YjRwSWhLeUtCY0MwS2F0OGJPSk4yMWRWQk5KaU1CT0xMaE5taTFWdUhNVDJi?= =?utf-8?B?R3YyL1BmSVg2MVlPTS9BU2tXNGwyWjVkeVRxb1V5eVpKQjlJYjBzOHRIVU8x?= =?utf-8?B?a054cFhUTjZYTkJMSm5zMTFTUm4vY1RuWjBFMTRSNjNLWExYV1hYQ21JaHdv?= =?utf-8?B?V2lldm9nSWNUeUZrSUJ5OTRTYXVhU1ZXQWtteDlHSldVR3hyMm5mSzJoekR1?= =?utf-8?B?SlMrZk1PSVorN1NxS1hTaUFtQjd5Q1RvelhyYkhVTzBtSWtOMWJLb0RKenMw?= =?utf-8?B?bjFGRjJEUW83T01jb2NLcDJiRG8vLytOTzdoOHpTd2VpZkNrUjhOTXpvSDFt?= =?utf-8?B?VFFIOXpvZ2ttc2hzZnB0RlFRZDloTFZSWG9nQkprNGFGb1ZRUFE3WlYvN1FM?= =?utf-8?B?cUk0VktzOGFzM1djc1RCeTNtZ295TE01bFFUbExrMVFIeEUwNEJPekduNkpI?= =?utf-8?B?VWc1RHlyeG9NbkNvUnFicjhMcXlwRFpybUNlRUR5RC90K3pwa1hGUlYzT3Zv?= =?utf-8?B?WHppYi9HM29JU3ZRSVJwVUFwaTJNV29qblA3YzVBNTh6emF6TmpHWUh3SGNT?= =?utf-8?B?S20zaHpqRWRoNlhMMG41L28vNmU0R3RrOTlkdFNYRExNZEpoaXUvZU54VEV0?= =?utf-8?B?UDFlRTBEWC9sc0pPQ05JYnpUYUZBL3Z6SS9MekVqbUVNc0tUTHVnWVFBZEtZ?= =?utf-8?B?YkorMUhnNnduTDE0YUVyenRpVkhSSWxqbllpaS9IcFJ5UUYrRmVPcWs0SE1o?= =?utf-8?B?V045UUFCaWlLVTJ1bElNaU1XSzhGaG85OW9vM0dzUEVkSks3cEVtbndDODlk?= =?utf-8?B?RUs3UkdkUTJPSVdRR01nRUxUUFJWUCtuYjVnU3p3S0lQNFUvSjBLeERJdWt5?= =?utf-8?B?T2VQSFdPZ1RBMnNNdjA0eS80UlhnVW5UNzhVdTNiaDZrQ3lxUmJ5RUloYytG?= =?utf-8?B?R2lJTks4ZnQyWHNITTNoNWR1TDEvRDNiOTVMR0QwV0VLaGZBNDJZcWVHazEx?= =?utf-8?B?N01HOXhJNTlPM1dRU2xCNWRPTnNld2JGenUrc3RIUURIaExZYWtkekMyd211?= =?utf-8?B?RmlzZWNscWlFTVNLSytCNjZURy9ySzRDZFVpd1RQYS9nTmQrbElRSFJkNUxK?= =?utf-8?B?aE1oVXU1U1JyZlN2Ui9zcjIwMHNhNGREVURuR1FpeTRqcEVTSk1hMmtpZjNK?= =?utf-8?B?SFBGZkpibTlzaFlZOFVmNllRVm1uQnJMeTlrdVRIRkNOQkNWOW5NUTkwRHAz?= =?utf-8?B?dUhmUGVmQ2xpNjg3TGFGNTdxTGZFcGVLaDcrQ05rcDE1RmhyQTBMOWg2UmNW?= =?utf-8?B?T2h0ajd3djRXYmt6R3p3aWdOZ0l4cGZwTjJ5TE1RdExqUTFwVlhYNHhHa2dQ?= =?utf-8?B?QVdzeFVKYWY2QTRIOTVnUjdycHZ3ek1ZN1hGSWJzdDY1U1hwMkhZVFc5elN0?= =?utf-8?B?Nm8rRFdGV2RJa3RCUnd1WDdDYWlTS0NpRUo5dGFqYUFSVTF6TDViL0JLdXBR?= =?utf-8?B?c3l1UTFvT3JlM3lldmxFZWJoNytJcStLUG8wN0liYlR0akpvdERQYzNTL3l0?= =?utf-8?B?V1U0em5KQmVNRWRoTFluRGdpUWI1bDRONG8yelNiWStBYXRpR2QyQVVvMXQ3?= =?utf-8?B?ZDllOFJkYXZ2b0tTNkVpclVBemhkeTV0dUZRVVNlYlh4RkVjTU9McE40Zk5J?= =?utf-8?B?RXFXWW81R3BRaEllZDdJUWlqZ0lsQzJTUlBBNXo1Ulpxb09rQU9LS1J6dTN3?= =?utf-8?B?dUpCeGZEM0g0WXl3YkdkWlpSaVlrejFhc0FiUjdXZXFNVVVCcUFGaEoxZUpM?= =?utf-8?B?WVh4SEZRRkxQd21pTnBMeDBaZlNycWFNTjYzQWRFZ29aL2NzeWgxODV1MkFQ?= =?utf-8?B?MlErSUFPVm1FK0pFU3NuNVFWNE1McFpNVmlFMXRCVE9vcEhlMXZHZDhWbUFh?= =?utf-8?B?S1E9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <13A9924E9739A74089848E74B393556E@apcprd03.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: KL1PR03MB5062.apcprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8b5370b9-1270-4709-0b04-08db37294430 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Apr 2023 05:30:57.7625 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a7687ede-7a6b-4ef6-bace-642f677fbe31 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Sx/Oi6ZzDmfjY1AB368r4G9NQIqJfD5JAOsNOl5PuCXQ/RTiF/Yfn314W7wY6uX/uNt4bQbHZU5cmuR7zlJAtPRovnJIgt8p1Iv8Kwu2Jy8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZPR03MB5263 X-MTK: N X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, T_SPF_TEMPERROR,UNPARSEABLE_RELAY autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gTW9uLCAyMDIzLTA0LTAzIGF0IDA5OjE5ICswMjAwLCBKdWxpZW4gU3RlcGhhbiB3cm90ZToN Cj4gRXh0ZXJuYWwgZW1haWwgOiBQbGVhc2UgZG8gbm90IGNsaWNrIGxpbmtzIG9yIG9wZW4gYXR0 YWNobWVudHMgdW50aWwNCj4geW91IGhhdmUgdmVyaWZpZWQgdGhlIHNlbmRlciBvciB0aGUgY29u dGVudC4NCj4gDQo+IA0KPiBGcm9tOiBQaGktYmFuZyBOZ3V5ZW4gPHBuZ3V5ZW5AYmF5bGlicmUu Y29tPg0KPiANCj4gVGhpcyBpcyBhIG5ldyBkcml2ZXIgdGhhdCBzdXBwb3J0cyB0aGUgTUlQSSBD U0kgQ0QtUEhZIGZvciBtZWRpYXRlaw0KPiBtdDgzNjUgc29jDQo+IA0KPiBTaWduZWQtb2ZmLWJ5 OiBMb3VpcyBLdW8gPGxvdWlzLmt1b0BtZWRpYXRlay5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IFBo aS1iYW5nIE5ndXllbiA8cG5ndXllbkBiYXlsaWJyZS5jb20+DQo+IFtKdWxpZW4gU3RlcGhhbjog dXNlIHJlZ21hcF0NCj4gW0p1bGllbiBTdGVwaGFuOiB1c2UgR0VOTUFTS10NCj4gQ28tZGV2ZWxv cGVkLWJ5OiBKdWxpZW4gU3RlcGhhbiA8anN0ZXBoYW5AYmF5bGlicmUuY29tPg0KPiBTaWduZWQt b2ZmLWJ5OiBKdWxpZW4gU3RlcGhhbiA8anN0ZXBoYW5AYmF5bGlicmUuY29tPg0KPiAtLS0NCj4g IC4uLi9iaW5kaW5ncy9waHkvbWVkaWF0ZWssY3NpLXBoeS55YW1sICAgICAgICB8ICAgOSArLQ0K PiAgTUFJTlRBSU5FUlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsN Cj4gIGRyaXZlcnMvcGh5L21lZGlhdGVrL0tjb25maWcgICAgICAgICAgICAgICAgICB8ICAgOCAr DQo+ICBkcml2ZXJzL3BoeS9tZWRpYXRlay9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAgIDIg Kw0KPiAgLi4uL3BoeS9tZWRpYXRlay9waHktbXRrLW1pcGktY3NpLXJ4LXJlZy5oICAgIHwgNDM1 DQo+ICsrKysrKysrKysrKysrKysrKw0KPiAgZHJpdmVycy9waHkvbWVkaWF0ZWsvcGh5LW10ay1t aXBpLWNzaS5jICAgICAgIHwgMzkyICsrKysrKysrKysrKysrKysNCj4gIDYgZmlsZXMgY2hhbmdl ZCwgODQ1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9waHkvbWVkaWF0ZWsvcGh5LW10ay1taXBpLWNzaS1yeC1yZWcuaA0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcGh5L21lZGlhdGVrL3BoeS1tdGstbWlwaS1jc2kuYw0K DQpQbGVhc2UgY2MgbGludXgtbWVkaWF0ZWtAbGlzdHMuaW5mcmFkZWFkLm9yZw0KDQo+IA0KPiAg Li4uDQo+IGRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTDQo+IGluZGV4IDkz MDhiNGJiODhiZi4uYjMwNzdlZGRkMGJmIDEwMDY0NA0KPiAtLS0gYS9NQUlOVEFJTkVSUw0KPiAr KysgYi9NQUlOVEFJTkVSUw0KPiBAQCAtMTMxMDMsNiArMTMxMDMsNyBAQCBNOiAgICAgIEp1bGll biBTdGVwaGFuIDxqc3RlcGhhbkBiYXlsaWJyZS5jb20NCj4gPg0KPiAgTTogICAgIEFuZHkgSHNp ZWggPGFuZHkuaHNpZWhAbWVkaWF0ZWsuY29tPg0KPiAgUzogICAgIFN1cHBvcnRlZA0KPiAgRjog ICAgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9waHkvbWVkaWF0ZWssY3NpLXBo eS55YW1sDQo+ICtGOiAgICAgZHJpdmVycy9waHkvbWVkaWF0ZWsvcGh5LW10ay1taXBpLWNzaSoN Cj4gDQo+ICBNRURJQVRFSyBNTUMvU0QvU0RJTyBEUklWRVINCj4gIE06ICAgICBDaGFvdGlhbiBK aW5nIDxjaGFvdGlhbi5qaW5nQG1lZGlhdGVrLmNvbT4NCg0Kc2VwYXJhdGUgYSBuZXcgcGF0Y2gg Zm9yIE1BSU5UQUlORVJTIGNoYW5nZT8NCg0KDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9t ZWRpYXRlay9LY29uZmlnDQo+IGIvZHJpdmVycy9waHkvbWVkaWF0ZWsvS2NvbmZpZw0KPiBpbmRl eCAzMTI1ZWNiNWQxMTkuLjYzZmIwZmE3NzU3MyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9waHkv bWVkaWF0ZWsvS2NvbmZpZw0KPiArKysgYi9kcml2ZXJzL3BoeS9tZWRpYXRlay9LY29uZmlnDQo+ IEBAIC03NCwzICs3NCwxMSBAQCBjb25maWcgUEhZX01US19EUA0KPiAgICAgICAgIHNlbGVjdCBH RU5FUklDX1BIWQ0KPiAgICAgICAgIGhlbHANCj4gICAgICAgICAgIFN1cHBvcnQgRGlzcGxheVBv cnQgUEhZIGZvciBNZWRpYVRlayBTb0NzLg0KPiArDQo+ICtjb25maWcgUEhZX01US19NSVBJX0NT SQ0KPiArICAgICAgIHRyaXN0YXRlICJNZWRpYVRlayBDU0kgQ0QtUEhZIERyaXZlciINCj4gKyAg ICAgICBkZXBlbmRzIG9uIEFSQ0hfTUVESUFURUsgJiYgT0YNCj4gKyAgICAgICBzZWxlY3QgR0VO RVJJQ19QSFkNCj4gKyAgICAgICBoZWxwDQo+ICsgICAgICAgICBFbmFibGUgdGhpcyB0byBzdXBw b3J0IHRoZSBNSVBJIENTSSBDRC1QSFkgcmVjZWl2ZXIuDQo+ICsgICAgICAgICBUaGUgZHJpdmVy IHN1cHBvcnRzIG11bHRpcGxlIENTSSBjZHBoeSBwb3J0cw0KPiBzaW11bHRhbmVvdXNseS4NCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGh5L21lZGlhdGVrL01ha2VmaWxlDQo+IGIvZHJpdmVycy9w aHkvbWVkaWF0ZWsvTWFrZWZpbGUNCj4gaW5kZXggZmIxZjhlZGFmZmE3Li45YTE3OGMxYzI2Mjgg MTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvcGh5L21lZGlhdGVrL01ha2VmaWxlDQo+ICsrKyBiL2Ry aXZlcnMvcGh5L21lZGlhdGVrL01ha2VmaWxlDQo+IEBAIC0xOCwzICsxOCw1IEBAIHBoeS1tdGst bWlwaS1kc2ktZHJ2LXkgICAgICAgICAgICAgICAgICAgICAgICA6PQ0KPiBwaHktbXRrLW1pcGkt ZHNpLm8NCj4gIHBoeS1tdGstbWlwaS1kc2ktZHJ2LXkgICAgICAgICAgICAgICAgICs9IHBoeS1t dGstbWlwaS1kc2ktbXQ4MTczLm8NCj4gIHBoeS1tdGstbWlwaS1kc2ktZHJ2LXkgICAgICAgICAg ICAgICAgICs9IHBoeS1tdGstbWlwaS1kc2ktbXQ4MTgzLm8NCj4gIG9iai0kKENPTkZJR19QSFlf TVRLX01JUElfRFNJKSAgICAgICAgICs9IHBoeS1tdGstbWlwaS1kc2ktZHJ2Lm8NCj4gKw0KPiAr b2JqLSQoQ09ORklHX1BIWV9NVEtfTUlQSV9DU0kpICAgICAgICAgKz0gcGh5LW10ay1taXBpLWNz aS5vDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9tZWRpYXRlay9waHktbXRrLW1pcGktY3Np LXJ4LXJlZy5oDQo+IGIvZHJpdmVycy9waHkvbWVkaWF0ZWsvcGh5LW10ay1taXBpLWNzaS1yeC1y ZWcuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMDAuLmYzNjBl ODA3ZTNkMQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2RyaXZlcnMvcGh5L21lZGlhdGVrL3Bo eS1tdGstbWlwaS1jc2ktcngtcmVnLmgNCj4gQEAgLTAsMCArMSw0MzUgQEANCj4gKy8qIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovDQo+ICsNCj4gKyNpZm5kZWYgX19NSVBJX0NE UEhZX1JYX1JFR19IX18NCj4gKyNkZWZpbmUgX19NSVBJX0NEUEhZX1JYX1JFR19IX18NCj4gKw0K PiArLyoNCj4gKyAqIENTSTEgYW5kIENTSTIgYXJlIGlkZW50aWNhbCwgYW5kIHNpbWlsYXIgdG8g Q1NJMC4gQWxsIENTSXggbWFjcm9zDQo+IGFyZQ0KPiArICogYXBwbGljYWJsZSB0byB0aGUgdGhy ZWUgUEhZcy4gV2hlcmUgZGlmZmVyZW5jZXMgZXhpc3QsIHRoZXkgYXJlDQo+IGRlbm90ZWQgYnkN Cj4gKyAqIG1hY3JvIG5hbWVzIHVzaW5nIENTSTAgYW5kIENTSTEsIHRoZSBsYXR0ZXIgYmVpbmcg YXBwbGljYWJsZSB0bw0KPiBDU0kxIGFuZA0KPiArICogQ1NJMiBhbGlrZS4NCj4gKyAqLw0KPiAr DQo+ICsvKg0KPiArICogRHVlIHRvIGxhbmVzIHN1cHBvcnRpbmcgQy1QSFkgbW9kZSBvbiBDU0kw LCByZWdpc3RlciBmaWVsZHMgdGhhdA0KPiBjb250cm9sIHRoZQ0KPiArICogYmVoYXZpb3VyIG9m IGxhbmVzIGFyZSBuYW1lZCBkaWZmZXJlbnRseSBiZXR3ZWVuIENTSTAgYW5kDQo+IENTSTEvQ1NJ MiwgZXZlbg0KPiArICogd2hlbiB0aGV5IGNvbnRyb2wgcGFyYW1ldGVycyB0aGF0IGFyZSBhZ25v c3RpYyB0byB0aGUgUEhZIG1vZGUuDQo+IEluIHRob3NlDQo+ICsgKiBjYXNlcywgdGhlIG1hY3Jv cyBiZWxvdyB1c2UgdGhlIENTSTAgZmllbGQgbmFtZXMgKGUuZy4NCj4gKyAqIE1JUElfUlhfQU5B MDhfQ1NJeEFfUkdfQ1NJeEFfTDBQX1QwQV9IU1JUX0NPREVfU0hJRlQpLg0KPiArICovDQo+ICsN Cj4gPHNraXA+DQo+IA0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX0FOQTI0X0NTSXhBX1JHX0NTSXhB X1JFU0VSVkVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICANCj4gICAyNA0KPiArI2Rl ZmluZQ0KPiBNSVBJX1JYX0FOQTI0X0NTSXhBX1JHX0NTSXhBX1JFU0VSVkVfTUFTSyAgICAgICAg ICAgICAgICAgICAgICAgICAgICANCj4gICAoMHhmZiA8PCAyNCkNCg0KVXNlIEdFTk1BU0soKQ0K DQoNCj4gKw0KPiArLyogQ1NJMC1zcGVjaWZpYyByZWdpc3Rlci4gKi8NCj4gKyNkZWZpbmUNCj4g TUlQSV9SWF9BTkEyOF9DU0kwQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgDQo+ICAgMHgwMDI4DQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfQU5BMjhfQ1NJ MEFfUkdfQ1NJMEFfQ1BIWV9UMF9DRFJfRElSRUNUX0VOX1NISUZUICAgICAgICAgICAgIA0KPiAg IDANCj4gDQo+IA0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX0FOQTQ4X0NTSXhBX1JHU19DU0kxQV9E UEhZX0wyX09TX0NBTF9DUExUX1NISUZUICAgICAgICAgICAgICANCj4gICAgICAgICAgIDUNCj4g KyNkZWZpbmUNCj4gTUlQSV9SWF9BTkE0OF9DU0l4QV9SR1NfQ1NJMUFfRFBIWV9MMl9PU19DQUxf Q1BMVF9NQVNLICAgICAgICAgICAgICAgDQo+ICAgQklUKDUpDQo+ICsvKiBDb21tb24gZmllbGRz LiAqLw0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX0FOQTQ4X0NTSXhBX1JHU19DU0l4QV9PU19DQUxf Q09ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICANCj4gICAgICAgICAgIDgNCj4gKyNkZWZp bmUNCj4gTUlQSV9SWF9BTkE0OF9DU0l4QV9SR1NfQ1NJeEFfT1NfQ0FMX0NPREVfTUFTSyAgICAg ICAgICAgICAgICAgICAgICAgDQo+ICAgR0VOTUFTSygxNSwgOCkNCj4gKw0KPiArI2RlZmluZQ0K PiBNSVBJX1JYX1dSQVBQRVI4MF9DU0l4QSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICANCj4gICAgICAgICAgIDB4MDA4MA0KPiArI2RlZmluZQ0KPiBNSVBJX1JY X1dSQVBQRVI4MF9DU0l4QV9DU1JfQ1NJX0NMS19NT05fU0hJRlQgICAgICAgICAgICAgICAgICAg ICAgICANCj4gICAwDQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfV1JBUFBFUjgwX0NTSXhBX0NTUl9D U0lfQ0xLX01PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIA0KPiAgIEJJVCgwKQ0KPiAr I2RlZmluZQ0KPiBNSVBJX1JYX1dSQVBQRVI4MF9DU0l4QV9DU1JfQ1NJX0NMS19FTl9TSElGVCAg ICAgICAgICAgICAgICAgICAgICAgICANCj4gICAxDQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfV1JB UFBFUjgwX0NTSXhBX0NTUl9DU0lfQ0xLX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAg IA0KPiAgIEJJVCgxKQ0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX1dSQVBQRVI4MF9DU0l4QV9DU1Jf Q1NJX01PTl9NVVhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICANCj4gICA4DQo+ICsjZGVm aW5lDQo+IE1JUElfUlhfV1JBUFBFUjgwX0NTSXhBX0NTUl9DU0lfTU9OX01VWF9NQVNLICAgICAg ICAgICAgICAgICAgICAgICAgIA0KPiAgIEdFTk1BU0soMTUsIDgpDQo+ICsjZGVmaW5lDQo+IE1J UElfUlhfV1JBUFBFUjgwX0NTSXhBX0NTUl9DU0lfUlNUX01PREVfU0hJRlQgICAgICAgICAgICAg ICAgICAgICAgIA0KPiAgIDE2DQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfV1JBUFBFUjgwX0NTSXhB X0NTUl9DU0lfUlNUX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIA0KPiAgIEdFTk1B U0soMTcsIDE2KQ0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX1dSQVBQRVI4MF9DU0l4QV9DU1JfU1df UlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCj4gICAyNA0KPiArI2RlZmlu ZQ0KPiBNSVBJX1JYX1dSQVBQRVI4MF9DU0l4QV9DU1JfU1dfUlNUX01BU0sgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICANCj4gICAgICAgICAgIEdFTk1BU0soMjcsIDI0KQ0KPiArDQo+ICsj ZGVmaW5lDQo+IE1JUElfUlhfV1JBUFBFUjg0X0NTSXhBICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIA0KPiAgICAgICAgICAgMHgwMDg0DQo+ICsjZGVmaW5lDQo+ IE1JUElfUlhfV1JBUFBFUjg0X0NTSXhBX0NTSV9ERUJVR19PVVRfU0hJRlQgICAgICAgICAgICAg ICAgICAgICAgICAgIA0KPiAgIDANCj4gKyNkZWZpbmUNCj4gTUlQSV9SWF9XUkFQUEVSODRfQ1NJ eEFfQ1NJX0RFQlVHX09VVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgDQo+ICAgR0VO TUFTSygzMSwgMCkNCj4gKw0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX1dSQVBQRVI4OF9DU0l4QSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCj4gICAgICAgICAg IDB4MDA4OA0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX1dSQVBQRVI4OF9DU0l4QV9DU1JfU1dfTU9E RV8wX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICANCj4gICAwDQo+ICsjZGVmaW5lDQo+ IE1JUElfUlhfV1JBUFBFUjg4X0NTSXhBX0NTUl9TV19NT0RFXzBfTUFTSyAgICAgICAgICAgICAg ICAgICAgICAgICAgIA0KPiAgIEdFTk1BU0soMzEsIDApDQo+ICsNCj4gKyNkZWZpbmUNCj4gTUlQ SV9SWF9XUkFQUEVSOENfQ1NJeEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgDQo+ICAgICAgICAgICAweDAwOGMNCj4gKyNkZWZpbmUNCj4gTUlQSV9SWF9XUkFQ UEVSOENfQ1NJeEFfQ1NSX1NXX01PREVfMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAg DQo+ICAgMA0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX1dSQVBQRVI4Q19DU0l4QV9DU1JfU1dfTU9E RV8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICANCj4gICBHRU5NQVNLKDMxLCAwKQ0K PiArDQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfV1JBUFBFUjkwX0NTSXhBICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KPiAgICAgICAgICAgMHgwMDkwDQo+ICsj ZGVmaW5lDQo+IE1JUElfUlhfV1JBUFBFUjkwX0NTSXhBX0NTUl9TV19NT0RFXzJfU0hJRlQgICAg ICAgICAgICAgICAgICAgICAgICAgIA0KPiAgIDANCj4gKyNkZWZpbmUNCj4gTUlQSV9SWF9XUkFQ UEVSOTBfQ1NJeEFfQ1NSX1NXX01PREVfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAg DQo+ICAgR0VOTUFTSygzMSwgMCkNCj4gKw0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX1dSQVBQRVI5 NF9DU0l4QSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCj4g ICAgICAgICAgIDB4MDA5NA0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX1dSQVBQRVI5NF9DU0l4QV9D U1JfU1dfVkFMVUVfMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICANCj4gICAwDQo+ICsj ZGVmaW5lDQo+IE1JUElfUlhfV1JBUFBFUjk0X0NTSXhBX0NTUl9TV19WQUxVRV8wX01BU0sgICAg ICAgICAgICAgICAgICAgICAgICAgIA0KPiAgIEdFTk1BU0soMzEsIDApDQo+ICsNCj4gKyNkZWZp bmUNCj4gTUlQSV9SWF9XUkFQUEVSOThfQ1NJeEEgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgDQo+ICAgICAgICAgICAweDAwOTgNCj4gKyNkZWZpbmUNCj4gTUlQ SV9SWF9XUkFQUEVSOThfQ1NJeEFfQ1NSX1NXX1ZBTFVFXzFfU0hJRlQgICAgICAgICAgICAgICAg ICAgICAgICAgDQo+ICAgMA0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX1dSQVBQRVI5OF9DU0l4QV9D U1JfU1dfVkFMVUVfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICANCj4gICBHRU5NQVNL KDMxLCAwKQ0KPiArDQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfV1JBUFBFUjlDX0NTSXhBICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KPiAgICAgICAgICAgMHgw MDljDQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfV1JBUFBFUjlDX0NTSXhBX0NTUl9TV19WQUxVRV8y X1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIA0KPiAgIDANCj4gKyNkZWZpbmUNCj4gTUlQ SV9SWF9XUkFQUEVSOUNfQ1NJeEFfQ1NSX1NXX1ZBTFVFXzJfTUFTSyAgICAgICAgICAgICAgICAg ICAgICAgICAgDQo+ICAgR0VOTUFTSygzMSwgMCkNCj4gKw0KPiArI2RlZmluZQ0KPiBNSVBJX1JY X0FOQUE0X0NTSXhBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICANCj4gICAweDAwYTQNCj4gKyNkZWZpbmUNCj4gTUlQSV9SWF9BTkFBNF9DU0l4QV9SR19D U0l4QV9DRFBIWV9MMF9UMF9TWU5DX0lOSVRfU0VMX1NISUZUICAgICAgICAgDQo+ICAgMA0KPiAr I2RlZmluZQ0KPiBNSVBJX1JYX0FOQUE0X0NTSXhBX1JHX0NTSXhBX0NEUEhZX0wwX1QwX1NZTkNf SU5JVF9TRUxfTUFTSyAgICAgICAgICANCj4gICBCSVQoMCkNCj4gKyNkZWZpbmUNCj4gTUlQSV9S WF9BTkFBNF9DU0l4QV9SR19DU0l4QV9DRFBIWV9MMF9UMF9GT1JDRV9JTklUX1NISUZUICAgICAg ICAgICAgDQo+ICAgMQ0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX0FOQUE0X0NTSXhBX1JHX0NTSXhB X0NEUEhZX0wwX1QwX0ZPUkNFX0lOSVRfTUFTSyAgICAgICAgICAgICANCj4gICBCSVQoMSkNCj4g KyNkZWZpbmUNCj4gTUlQSV9SWF9BTkFBNF9DU0l4QV9SR19DU0l4QV9EUEhZX0wxX1NZTkNfSU5J VF9TRUxfU0hJRlQgICAgICAgICAgICAgDQo+ICAgMg0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX0FO QUE0X0NTSXhBX1JHX0NTSXhBX0RQSFlfTDFfU1lOQ19JTklUX1NFTF9NQVNLICAgICAgICAgICAg ICANCj4gICAgICAgICAgIEJJVCgyKQ0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX0FOQUE0X0NTSXhB X1JHX0NTSXhBX0RQSFlfTDFfRk9SQ0VfSU5JVF9TSElGVCAgICAgICAgICAgICAgICANCj4gICAz DQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfQU5BQTRfQ1NJeEFfUkdfQ1NJeEFfRFBIWV9MMV9GT1JD RV9JTklUX01BU0sgICAgICAgICAgICAgICAgIA0KPiAgIEJJVCgzKQ0KPiArI2RlZmluZQ0KPiBN SVBJX1JYX0FOQUE0X0NTSXhBX1JHX0NTSXhBX0NEUEhZX0wyX1QyX1NZTkNfSU5JVF9TRUxfU0hJ RlQgICAgICAgICANCj4gICA0DQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfQU5BQTRfQ1NJeEFfUkdf Q1NJeEFfQ0RQSFlfTDJfVDJfU1lOQ19JTklUX1NFTF9NQVNLICAgICAgICAgIA0KPiAgIEJJVCg0 KQ0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX0FOQUE0X0NTSXhBX1JHX0NTSXhBX0NEUEhZX0wyX1Qy X0ZPUkNFX0lOSVRfU0hJRlQgICAgICAgICAgICANCj4gICA1DQo+ICsjZGVmaW5lDQo+IE1JUElf UlhfQU5BQTRfQ1NJeEFfUkdfQ1NJeEFfQ0RQSFlfTDJfVDJfRk9SQ0VfSU5JVF9NQVNLICAgICAg ICAgICAgIA0KPiAgIEJJVCg1KQ0KPiArDQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfQU5BQThfQ1NJ eEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KPiAg IDB4MDBhOA0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX0FOQUE4X0NTSXhBX1JHX0NTSXhBX0NEUEhZ X0wwX1QwX0JZVEVDS19JTlZFUlRfU0hJRlQgICAgICAgICANCj4gICAwDQo+ICsjZGVmaW5lDQo+ IE1JUElfUlhfQU5BQThfQ1NJeEFfUkdfQ1NJeEFfQ0RQSFlfTDBfVDBfQllURUNLX0lOVkVSVF9N QVNLICAgICAgICAgIA0KPiAgIEJJVCgwKQ0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX0FOQUE4X0NT SXhBX1JHX0NTSXhBX0RQSFlfTDFfQllURUNLX0lOVkVSVF9TSElGVCAgICAgICAgICAgICANCj4g ICAxDQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfQU5BQThfQ1NJeEFfUkdfQ1NJeEFfRFBIWV9MMV9C WVRFQ0tfSU5WRVJUX01BU0sgICAgICAgICAgICAgIA0KPiAgICAgICAgICAgQklUKDEpDQo+ICsj ZGVmaW5lDQo+IE1JUElfUlhfQU5BQThfQ1NJeEFfUkdfQ1NJeEFfQ0RQSFlfTDJfVDFfQllURUNL X0lOVkVSVF9TSElGVCAgICAgICAgIA0KPiAgIDINCj4gKyNkZWZpbmUNCj4gTUlQSV9SWF9BTkFB OF9DU0l4QV9SR19DU0l4QV9DRFBIWV9MMl9UMV9CWVRFQ0tfSU5WRVJUX01BU0sgICAgICAgICAg DQo+ICAgQklUKDIpDQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfQU5BQThfQ1NJeEFfUkdfQ1NJeEFf RFBIWV9IU0RFVF9MRVZFTF9NT0RFX0VOX1NISUZUICAgICAgICAgIA0KPiAgIDMNCj4gKyNkZWZp bmUNCj4gTUlQSV9SWF9BTkFBOF9DU0l4QV9SR19DU0l4QV9EUEhZX0hTREVUX0xFVkVMX01PREVf RU5fTUFTSyAgICAgICAgICAgDQo+ICAgQklUKDMpDQo+ICsjZGVmaW5lDQo+IE1JUElfUlhfQU5B QThfQ1NJeEFfUkdfQ1NJeEFfT1NfQ0FMX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAg IA0KPiAgIDQNCj4gKyNkZWZpbmUNCj4gTUlQSV9SWF9BTkFBOF9DU0l4QV9SR19DU0l4QV9PU19D QUxfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgDQo+ICAgR0VOTUFTSyg2LCA0KQ0K PiArI2RlZmluZQ0KPiBNSVBJX1JYX0FOQUE4X0NTSXhBX1JHX0NTSXhBX0RQSFlfSFNERVRfRElH X0JBQ0tfRU5fU0hJRlQgICAgICAgICAgICANCj4gICA3DQo+ICsjZGVmaW5lDQo+IE1JUElfUlhf QU5BQThfQ1NJeEFfUkdfQ1NJeEFfRFBIWV9IU0RFVF9ESUdfQkFDS19FTl9NQVNLICAgICAgICAg ICAgIA0KPiAgIEJJVCg3KQ0KPiArI2RlZmluZQ0KPiBNSVBJX1JYX0FOQUE4X0NTSXhBX1JHX0NT SXhBX0NEUEhZX0RFTEFZQ0FMX0NLX1NFTF9TSElGVCAgICAgICAgICAgICANCj4gICA4DQo+ICsj ZGVmaW5lDQo+IE1JUElfUlhfQU5BQThfQ1NJeEFfUkdfQ1NJeEFfQ0RQSFlfREVMQVlDQUxfQ0tf U0VMX01BU0sgICAgICAgICAgICAgIA0KPiAgICAgICAgICAgR0VOTUFTSygxMCwgOCkNCj4gKyNk ZWZpbmUNCj4gTUlQSV9SWF9BTkFBOF9DU0l4QV9SR19DU0l4QV9PU19DQUxfRElWX1NISUZUICAg ICAgICAgICAgICAgICAgICAgICAgDQo+ICAgMTENCj4gKyNkZWZpbmUNCj4gTUlQSV9SWF9BTkFB OF9DU0l4QV9SR19DU0l4QV9PU19DQUxfRElWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAg DQo+ICAgR0VOTUFTSygxMiwgMTEpDQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9waHkvbWVkaWF0ZWsvcGh5LW10ay1taXBpLWNzaS5jDQo+IGIvZHJpdmVycy9waHkvbWVk aWF0ZWsvcGh5LW10ay1taXBpLWNzaS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4 IDAwMDAwMDAwMDAwMC4uNmNlM2Y5NWY1N2JkDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZHJp dmVycy9waHkvbWVkaWF0ZWsvcGh5LW10ay1taXBpLWNzaS5jDQo+IEBAIC0wLDAgKzEsMzkyIEBA DQo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMA0KPiArDQo+ICsjaW5jbHVk ZSA8bGludXgvZGVsYXkuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9pby5oPg0KPiArI2luY2x1ZGUg PGxpbnV4L21vZHVsZS5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+DQo+ICsjaW5jbHVk ZSA8bGludXgvcGh5L3BoeS5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5o Pg0KPiArI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAu aD4NCj4gKw0KPiArI2luY2x1ZGUgInBoeS1tdGstbWlwaS1jc2ktcngtcmVnLmgiDQo+ICsNCj4g KyNkZWZpbmUgQ1NJeEJfT0ZGU0VUICAgICAgICAgICAweDEwMDANCj4gKw0KPiArc3RydWN0IG10 a19taXBpX2RwaHk7DQo+ICsNCj4gK2VudW0gbXRrX21pcGlfZHBoeV9wb3J0X2lkIHsNCj4gKyAg ICAgICBNVEtfTUlQSV9QSFlfUE9SVF8wID0gMHgwLCAvKiA0RDFDIC0gQ0RQSFkgKi8NCj4gKyAg ICAgICBNVEtfTUlQSV9QSFlfUE9SVF8xLCAvKiA0RDFDIC0gRFBIWSAqLw0KPiArICAgICAgIE1U S19NSVBJX1BIWV9QT1JUXzIsIC8qIDREMUMgLSBEUEhZICovDQo+ICsgICAgICAgTVRLX01JUElf UEhZX1BPUlRfMEEsIC8qIDJEMUMgLSBDRFBIWSAqLw0KPiArICAgICAgIE1US19NSVBJX1BIWV9Q T1JUXzBCLCAvKiAyRDFDIC0gQ0RQSFkgKi8NCj4gKyAgICAgICBNVEtfTUlQSV9QSFlfUE9SVF9N QVhfTlVNDQo+ICt9Ow0KPiArDQo+ICtzdHJ1Y3QgbXRrX21pcGlfZHBoeV9wb3J0IHsNCj4gKyAg ICAgICBzdHJ1Y3QgbXRrX21pcGlfZHBoeSAqZGV2Ow0KPiArICAgICAgIGVudW0gbXRrX21pcGlf ZHBoeV9wb3J0X2lkIGlkOw0KPiArICAgICAgIHN0cnVjdCByZWdtYXAgKnJlZ21hcF9iYXNlOw0K PiArICAgICAgIHN0cnVjdCByZWdtYXAgKnJlZ21hcF80ZDFjOw0KQ291bGQgeW91IGF2b2lkIHVz aW5nIHJlZ21hcCBpZiB0aGUgcmVnaXN0ZXJzIGFyZSBvbmx5IHVzZWQgYnkgdGhpcw0KZHJpdmVy LCB1c2UgcGh5LW10ay1pby5oIGFwaSBpbnN0ZWFkLg0KDQo+ICsgICAgICAgc3RydWN0IHBoeSAq cGh5Ow0KPiArICAgICAgIGJvb2wgYWN0aXZlOw0KPiArICAgICAgIGJvb2wgaXNfY2RwaHk7DQo+ ICsgICAgICAgYm9vbCBpc180ZDFjOw0KPiArfTsNCj4gKw0KPiArc3RydWN0IG10a19taXBpX2Rw aHkgew0KPiArICAgICAgIHN0cnVjdCBkZXZpY2UgKmRldjsNCj4gKyAgICAgICB2b2lkIF9faW9t ZW0gKnJ4Ow0KPiArICAgICAgIHN0cnVjdCBtdGtfbWlwaV9kcGh5X3BvcnQgcG9ydHNbTVRLX01J UElfUEhZX1BPUlRfTUFYX05VTV07DQo+ICsgICAgICAgc3RydWN0IG11dGV4IGxvY2s7IC8qIFBv cnRzIENTSTAgYW5kIENTSTBBL0IgYXJlIG11dHVhbGx5DQo+IGV4Y2x1c2l2ZSAqLw0KcGh5IGNv cmUgYWxyZWFkeSBwcm92aWRlcyBhIG11dGV4LCBubyBuZWVkIHByb3ZpZGUgYW5vdGhlciBvbmUu DQoNCkRvIHlvdSBzd2l0Y2ggdGhlbSBhdCBydW50aW1lIGZvciBwb3J0IDA/DQoNCkZyb20gYmlu ZGluZywgSSBndWVzcyB3ZSB1c2UgbXRrX21pcGlfZHBoeV9wb3J0X2lkIGluIERUUyB0byBkZXRl cm1pbmUNCndoaWNoIG1vZGUgaXMgdXNlZC4NCg0KPiArfTsNCj4gKw0KPiArI2RlZmluZSBSRUdN QVBfQklUKG1hcCwgcmVnLCBmaWVsZCwgdmFsKSBcDQo+ICsgICAgICAgcmVnbWFwX3VwZGF0ZV9i aXRzKChtYXApLCByZWcsIHJlZyMjXyMjZmllbGQjI19NQVNLLCBcDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICh2YWwpIDw8IHJlZyMjXyMjZmllbGQjI19TSElGVCkNCj4gKw0KPiArc3Rh dGljIGludCBtdGtfbWlwaV9waHlfcG93ZXJfb24oc3RydWN0IHBoeSAqcGh5KQ0KPiArew0KPiAr ICAgICAgIHN0cnVjdCBtdGtfbWlwaV9kcGh5X3BvcnQgKnBvcnQgPSBwaHlfZ2V0X2RydmRhdGEo cGh5KTsNCj4gKyAgICAgICBzdHJ1Y3QgbXRrX21pcGlfZHBoeSAqcHJpdiA9IHBvcnQtPmRldjsN Cj4gKyAgICAgICBzdHJ1Y3QgcmVnbWFwICpyZWdtYXBfYmFzZSA9IHBvcnQtPnJlZ21hcF9iYXNl Ow0KPiArICAgICAgIHN0cnVjdCByZWdtYXAgKnJlZ21hcF80ZDFjID0gcG9ydC0+cmVnbWFwXzRk MWM7DQo+ICsgICAgICAgaW50IHJldCA9IDA7DQo+ICsNCj4gKyAgICAgICBtdXRleF9sb2NrKCZw cml2LT5sb2NrKTsNCj4gKw0KPiArICAgICAgIHN3aXRjaCAocG9ydC0+aWQpIHsNCj4gKyAgICAg ICBjYXNlIE1US19NSVBJX1BIWV9QT1JUXzA6DQo+ICsgICAgICAgICAgICAgICBpZiAocHJpdi0+ cG9ydHNbTVRLX01JUElfUEhZX1BPUlRfMEFdLmFjdGl2ZSB8fA0KPiArICAgICAgICAgICAgICAg ICAgIHByaXYtPnBvcnRzW01US19NSVBJX1BIWV9QT1JUXzBCXS5hY3RpdmUpDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgIHJldCA9IC1FQlVTWTsNCj4gKyAgICAgICAgICAgICAgIGJyZWFrOw0K PiArDQo+ICsgICAgICAgY2FzZSBNVEtfTUlQSV9QSFlfUE9SVF8wQToNCj4gKyAgICAgICBjYXNl IE1US19NSVBJX1BIWV9QT1JUXzBCOg0KPiArICAgICAgICAgICAgICAgaWYgKHByaXYtPnBvcnRz W01US19NSVBJX1BIWV9QT1JUXzBdLmFjdGl2ZSkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg cmV0ID0gLUVCVVNZOw0KPiArICAgICAgICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgfQ0KPiAr DQo+ICsgICAgICAgaWYgKCFyZXQpDQo+ICsgICAgICAgICAgICAgICBwb3J0LT5hY3RpdmUgPSB0 cnVlOw0KPiArDQo+ICsgICAgICAgbXV0ZXhfdW5sb2NrKCZwcml2LT5sb2NrKTsNCj4gKw0KPiAr ICAgICAgIGlmIChyZXQgPCAwKQ0KPiArICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4gKw0K PiArICAgICAgIC8qIFNldCBhbmFsb2cgcGh5IG1vZGUgdG8gRFBIWSAqLw0KPiArICAgICAgIGlm IChwb3J0LT5pc19jZHBoeSkNCj4gKyAgICAgICAgICAgICAgIFJFR01BUF9CSVQocmVnbWFwX2Jh c2UsIE1JUElfUlhfQU5BMDBfQ1NJeEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFJH X0NTSTBBX0NQSFlfRU4sIDApOw0KPiArDQo+ICsgICAgICAgaWYgKHBvcnQtPmlzXzRkMWMpIHsN Cj4gKyAgICAgICAgICAgICAgIFJFR01BUF9CSVQocmVnbWFwX2Jhc2UsIE1JUElfUlhfQU5BMDBf Q1NJeEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFJHX0NTSXhBX0RQSFlfTDBfQ0tN T0RFX0VOLCAwKTsNCj4gKyAgICAgICAgICAgICAgIFJFR01BUF9CSVQocmVnbWFwX2Jhc2UsIE1J UElfUlhfQU5BMDBfQ1NJeEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFJHX0NTSXhB X0RQSFlfTDBfQ0tTRUwsIDEpOw0KPiArICAgICAgICAgICAgICAgUkVHTUFQX0JJVChyZWdtYXBf YmFzZSwgTUlQSV9SWF9BTkEwMF9DU0l4QSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg UkdfQ1NJeEFfRFBIWV9MMV9DS01PREVfRU4sIDApOw0KPiArICAgICAgICAgICAgICAgUkVHTUFQ X0JJVChyZWdtYXBfYmFzZSwgTUlQSV9SWF9BTkEwMF9DU0l4QSwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgUkdfQ1NJeEFfRFBIWV9MMV9DS1NFTCwgMSk7DQo+ICsgICAgICAgICAgICAg ICBSRUdNQVBfQklUKHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTAwX0NTSXhBLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICBSR19DU0l4QV9EUEhZX0wyX0NLTU9ERV9FTiwgMSk7DQo+ICsg ICAgICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTAwX0NTSXhB LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBSR19DU0l4QV9EUEhZX0wyX0NLU0VMLCAx KTsNCj4gKyAgICAgICB9IGVsc2Ugew0KPiArICAgICAgICAgICAgICAgUkVHTUFQX0JJVChyZWdt YXBfYmFzZSwgTUlQSV9SWF9BTkEwMF9DU0l4QSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgUkdfQ1NJeEFfRFBIWV9MMF9DS01PREVfRU4sIDApOw0KPiArICAgICAgICAgICAgICAgUkVH TUFQX0JJVChyZWdtYXBfYmFzZSwgTUlQSV9SWF9BTkEwMF9DU0l4QSwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgUkdfQ1NJeEFfRFBIWV9MMF9DS1NFTCwgMCk7DQo+ICsgICAgICAgICAg ICAgICBSRUdNQVBfQklUKHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTAwX0NTSXhBLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICBSR19DU0l4QV9EUEhZX0wxX0NLTU9ERV9FTiwgMSk7DQo+ ICsgICAgICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTAwX0NT SXhBLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBSR19DU0l4QV9EUEhZX0wxX0NLU0VM LCAwKTsNCj4gKyAgICAgICAgICAgICAgIFJFR01BUF9CSVQocmVnbWFwX2Jhc2UsIE1JUElfUlhf QU5BMDBfQ1NJeEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFJHX0NTSXhBX0RQSFlf TDJfQ0tNT0RFX0VOLCAwKTsNCj4gKyAgICAgICAgICAgICAgIFJFR01BUF9CSVQocmVnbWFwX2Jh c2UsIE1JUElfUlhfQU5BMDBfQ1NJeEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFJH X0NTSXhBX0RQSFlfTDJfQ0tTRUwsIDApOw0KPiArICAgICAgIH0NCj4gKw0KPiArICAgICAgIGlm IChwb3J0LT5pc180ZDFjKSB7DQo+ICsgICAgICAgICAgICAgICBpZiAocG9ydC0+aXNfY2RwaHkp DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIFJFR01BUF9CSVQocmVnbWFwXzRkMWMsIE1JUElf UlhfQU5BMDBfQ1NJeEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkdf Q1NJMEFfQ1BIWV9FTiwgMCk7DQo+ICsNCj4gKyAgICAgICAgICAgICAgIFJFR01BUF9CSVQocmVn bWFwXzRkMWMsIE1JUElfUlhfQU5BMDBfQ1NJeEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIFJHX0NTSXhBX0RQSFlfTDBfQ0tNT0RFX0VOLCAwKTsNCj4gKyAgICAgICAgICAgICAgIFJF R01BUF9CSVQocmVnbWFwXzRkMWMsIE1JUElfUlhfQU5BMDBfQ1NJeEEsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgIFJHX0NTSXhBX0RQSFlfTDBfQ0tTRUwsIDEpOw0KPiArICAgICAgICAg ICAgICAgUkVHTUFQX0JJVChyZWdtYXBfNGQxYywgTUlQSV9SWF9BTkEwMF9DU0l4QSwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgUkdfQ1NJeEFfRFBIWV9MMV9DS01PREVfRU4sIDApOw0K PiArICAgICAgICAgICAgICAgUkVHTUFQX0JJVChyZWdtYXBfNGQxYywgTUlQSV9SWF9BTkEwMF9D U0l4QSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgUkdfQ1NJeEFfRFBIWV9MMV9DS1NF TCwgMSk7DQo+ICsgICAgICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF80ZDFjLCBNSVBJX1JY X0FOQTAwX0NTSXhBLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBSR19DU0l4QV9EUEhZ X0wyX0NLTU9ERV9FTiwgMCk7DQo+ICsgICAgICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF80 ZDFjLCBNSVBJX1JYX0FOQTAwX0NTSXhBLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBS R19DU0l4QV9EUEhZX0wyX0NLU0VMLCAxKTsNCj4gKyAgICAgICB9DQo+ICsNCj4gKyAgICAgICAv KiBCeXRlIGNsb2NrIGludmVydCAqLw0KPiArICAgICAgIFJFR01BUF9CSVQocmVnbWFwX2Jhc2Us IE1JUElfUlhfQU5BQThfQ1NJeEEsDQo+ICsgICAgICAgICAgICAgICAgICBSR19DU0l4QV9DRFBI WV9MMF9UMF9CWVRFQ0tfSU5WRVJULCAxKTsNCj4gKyAgICAgICBSRUdNQVBfQklUKHJlZ21hcF9i YXNlLCBNSVBJX1JYX0FOQUE4X0NTSXhBLA0KPiArICAgICAgICAgICAgICAgICAgUkdfQ1NJeEFf RFBIWV9MMV9CWVRFQ0tfSU5WRVJULCAxKTsNCj4gKyAgICAgICBSRUdNQVBfQklUKHJlZ21hcF9i YXNlLCBNSVBJX1JYX0FOQUE4X0NTSXhBLA0KPiArICAgICAgICAgICAgICAgICAgUkdfQ1NJeEFf Q0RQSFlfTDJfVDFfQllURUNLX0lOVkVSVCwgMSk7DQo+ICsNCj4gKyAgICAgICBpZiAocG9ydC0+ aXNfNGQxYykgew0KPiArICAgICAgICAgICAgICAgUkVHTUFQX0JJVChyZWdtYXBfNGQxYywgTUlQ SV9SWF9BTkFBOF9DU0l4QSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgUkdfQ1NJeEFf Q0RQSFlfTDBfVDBfQllURUNLX0lOVkVSVCwgMSk7DQo+ICsgICAgICAgICAgICAgICBSRUdNQVBf QklUKHJlZ21hcF80ZDFjLCBNSVBJX1JYX0FOQUE4X0NTSXhBLA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICBSR19DU0l4QV9EUEhZX0wxX0JZVEVDS19JTlZFUlQsIDEpOw0KPiArICAgICAg ICAgICAgICAgUkVHTUFQX0JJVChyZWdtYXBfNGQxYywgTUlQSV9SWF9BTkFBOF9DU0l4QSwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgUkdfQ1NJeEFfQ0RQSFlfTDJfVDFfQllURUNLX0lO VkVSVCwgMSk7DQo+ICsgICAgICAgfQ0KPiArDQo+ICsgICAgICAgLyogU3RhcnQgQU5BIEVRIHR1 bmluZyAqLw0KPiArICAgICAgIGlmIChwb3J0LT5pc19jZHBoeSkgew0KPiArICAgICAgICAgICAg ICAgUkVHTUFQX0JJVChyZWdtYXBfYmFzZSwgTUlQSV9SWF9BTkExOF9DU0l4QSwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgUkdfQ1NJMEFfTDBfVDBBQl9FUV9JUywgMSk7DQo+ICsgICAg ICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTE4X0NTSXhBLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICBSR19DU0kwQV9MMF9UMEFCX0VRX0JXLCAxKTsN Cj4gKyAgICAgICAgICAgICAgIFJFR01BUF9CSVQocmVnbWFwX2Jhc2UsIE1JUElfUlhfQU5BMUNf Q1NJeEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFJHX0NTSTBBX0wxX1QxQUJfRVFf SVMsIDEpOw0KPiArICAgICAgICAgICAgICAgUkVHTUFQX0JJVChyZWdtYXBfYmFzZSwgTUlQSV9S WF9BTkExQ19DU0l4QSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgUkdfQ1NJMEFfTDFf VDFBQl9FUV9CVywgMSk7DQo+ICsgICAgICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF9iYXNl LCBNSVBJX1JYX0FOQTIwX0NTSTBBLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBSR19D U0kwQV9MMl9UMUJDX0VRX0lTLCAxKTsNCj4gKyAgICAgICAgICAgICAgIFJFR01BUF9CSVQocmVn bWFwX2Jhc2UsIE1JUElfUlhfQU5BMjBfQ1NJMEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIFJHX0NTSTBBX0wyX1QxQkNfRVFfQlcsIDEpOw0KPiArDQo+ICsgICAgICAgICAgICAgICBp ZiAocG9ydC0+aXNfNGQxYykgew0KPiArICAgICAgICAgICAgICAgICAgICAgICBSRUdNQVBfQklU KHJlZ21hcF80ZDFjLCBNSVBJX1JYX0FOQTE4X0NTSXhBLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJHX0NTSTBBX0wwX1QwQUJfRVFfSVMsIDEpOw0KPiArICAgICAgICAg ICAgICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF80ZDFjLCBNSVBJX1JYX0FOQTE4X0NTSXhB LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJHX0NTSTBBX0wwX1QwQUJf RVFfQlcsIDEpOw0KPiArICAgICAgICAgICAgICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF80 ZDFjLCBNSVBJX1JYX0FOQTFDX0NTSXhBLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJHX0NTSTBBX0wxX1QxQUJfRVFfSVMsIDEpOw0KPiArICAgICAgICAgICAgICAgICAg ICAgICBSRUdNQVBfQklUKHJlZ21hcF80ZDFjLCBNSVBJX1JYX0FOQTFDX0NTSXhBLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJHX0NTSTBBX0wxX1QxQUJfRVFfQlcsIDEp Ow0KPiArICAgICAgICAgICAgICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF80ZDFjLCBNSVBJ X1JYX0FOQTIwX0NTSTBBLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJH X0NTSTBBX0wyX1QxQkNfRVFfSVMsIDEpOw0KPiArICAgICAgICAgICAgICAgICAgICAgICBSRUdN QVBfQklUKHJlZ21hcF80ZDFjLCBNSVBJX1JYX0FOQTIwX0NTSTBBLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJHX0NTSTBBX0wyX1QxQkNfRVFfQlcsIDEpOw0KPiArICAg ICAgICAgICAgICAgfQ0KPiArICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgICAgICBSRUdN QVBfQklUKHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTE4X0NTSXhBLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICBSR19DU0kxQV9MMF9FUV9JUywgMSk7DQo+ICsgICAgICAgICAgICAgICBS RUdNQVBfQklUKHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTE4X0NTSXhBLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICBSR19DU0kxQV9MMF9FUV9CVywgMSk7DQo+ICsgICAgICAgICAgICAg ICBSRUdNQVBfQklUKHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTE4X0NTSXhBLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICBSR19DU0kxQV9MMV9FUV9JUywgMSk7DQo+ICsgICAgICAgICAg ICAgICBSRUdNQVBfQklUKHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTE4X0NTSXhBLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICBSR19DU0kxQV9MMV9FUV9CVywgMSk7DQo+ICsgICAgICAg ICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTFDX0NTSXhBLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICBSR19DU0kxQV9MMl9FUV9JUywgMSk7DQo+ICsgICAg ICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTFDX0NTSXhBLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICBSR19DU0kxQV9MMl9FUV9CVywgMSk7DQo+ICsN Cj4gKyAgICAgICAgICAgICAgIGlmIChwb3J0LT5pc180ZDFjKSB7DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgIFJFR01BUF9CSVQocmVnbWFwXzRkMWMsIE1JUElfUlhfQU5BMThfQ1NJeEEsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkdfQ1NJMUFfTDBfRVFfSVMsIDEp Ow0KPiArICAgICAgICAgICAgICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF80ZDFjLCBNSVBJ X1JYX0FOQTE4X0NTSXhBLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJH X0NTSTFBX0wwX0VRX0JXLCAxKTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgUkVHTUFQX0JJ VChyZWdtYXBfNGQxYywgTUlQSV9SWF9BTkExOF9DU0l4QSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSR19DU0kxQV9MMV9FUV9JUywgMSk7DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgIFJFR01BUF9CSVQocmVnbWFwXzRkMWMsIE1JUElfUlhfQU5BMThfQ1NJeEEsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkdfQ1NJMUFfTDFfRVFfQlcsIDEp Ow0KPiArICAgICAgICAgICAgICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF80ZDFjLCBNSVBJ X1JYX0FOQTFDX0NTSXhBLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJH X0NTSTFBX0wyX0VRX0lTLCAxKTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgUkVHTUFQX0JJ VChyZWdtYXBfNGQxYywgTUlQSV9SWF9BTkExQ19DU0l4QSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSR19DU0kxQV9MMl9FUV9CVywgMSk7DQo+ICsgICAgICAgICAgICAg ICB9DQo+ICsgICAgICAgfQ0KPiArDQo+ICsgICAgICAgLyogRW5kIEFOQSBFUSB0dW5pbmcgKi8N Cj4gKyAgICAgICByZWdtYXBfd3JpdGUocmVnbWFwX2Jhc2UsIE1JUElfUlhfQU5BNDBfQ1NJeEEs IDB4OTApOw0KPiArDQo+ICsgICAgICAgUkVHTUFQX0JJVChyZWdtYXBfYmFzZSwgTUlQSV9SWF9B TkEyNF9DU0l4QSwNCj4gKyAgICAgICAgICAgICAgICAgIFJHX0NTSXhBX1JFU0VSVkUsIDB4NDAp Ow0KPiArICAgICAgIGlmIChwb3J0LT5pc180ZDFjKQ0KPiArICAgICAgICAgICAgICAgUkVHTUFQ X0JJVChyZWdtYXBfNGQxYywgTUlQSV9SWF9BTkEyNF9DU0l4QSwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgUkdfQ1NJeEFfUkVTRVJWRSwgMHg0MCk7DQo+ICsgICAgICAgUkVHTUFQX0JJ VChyZWdtYXBfYmFzZSwgTUlQSV9SWF9XUkFQUEVSODBfQ1NJeEEsDQo+ICsgICAgICAgICAgICAg ICAgICBDU1JfQ1NJX1JTVF9NT0RFLCAwKTsNCj4gKyAgICAgICBpZiAocG9ydC0+aXNfNGQxYykN Cj4gKyAgICAgICAgICAgICAgIFJFR01BUF9CSVQocmVnbWFwXzRkMWMsIE1JUElfUlhfV1JBUFBF UjgwX0NTSXhBLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBDU1JfQ1NJX1JTVF9NT0RF LCAwKTsNCj4gKyAgICAgICAvKiBBTkEgcG93ZXIgb24gKi8NCj4gKyAgICAgICBSRUdNQVBfQklU KHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTAwX0NTSXhBLA0KPiArICAgICAgICAgICAgICAgICAg UkdfQ1NJeEFfQkdfQ09SRV9FTiwgMSk7DQo+ICsgICAgICAgaWYgKHBvcnQtPmlzXzRkMWMpDQo+ ICsgICAgICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF80ZDFjLCBNSVBJX1JYX0FOQTAwX0NT SXhBLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBSR19DU0l4QV9CR19DT1JFX0VOLCAx KTsNCj4gKyAgICAgICB1c2xlZXBfcmFuZ2UoMjAsIDQwKTsNCj4gKyAgICAgICBSRUdNQVBfQklU KHJlZ21hcF9iYXNlLCBNSVBJX1JYX0FOQTAwX0NTSXhBLA0KPiArICAgICAgICAgICAgICAgICAg UkdfQ1NJeEFfQkdfTFBGX0VOLCAxKTsNCj4gKyAgICAgICBpZiAocG9ydC0+aXNfNGQxYykNCj4g KyAgICAgICAgICAgICAgIFJFR01BUF9CSVQocmVnbWFwXzRkMWMsIE1JUElfUlhfQU5BMDBfQ1NJ eEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFJHX0NTSXhBX0JHX0xQRl9FTiwgMSk7 DQo+ICsNCj4gKyAgICAgICByZXR1cm4gMDsNCj4gK30NCj4gKw0KPiArc3RhdGljIGludCBtdGtf bWlwaV9waHlfcG93ZXJfb2ZmKHN0cnVjdCBwaHkgKnBoeSkNCj4gK3sNCj4gKyAgICAgICBzdHJ1 Y3QgbXRrX21pcGlfZHBoeV9wb3J0ICpwb3J0ID0gcGh5X2dldF9kcnZkYXRhKHBoeSk7DQo+ICsg ICAgICAgc3RydWN0IHJlZ21hcCAqcmVnbWFwX2Jhc2UgPSBwb3J0LT5yZWdtYXBfYmFzZTsNCj4g KyAgICAgICBzdHJ1Y3QgcmVnbWFwICpyZWdtYXBfNGQxYyA9IHBvcnQtPnJlZ21hcF80ZDFjOw0K PiArDQo+ICsgICAgICAgLyogRGlzYWJsZSBNSVBJIEJHLiAqLw0KPiArICAgICAgIFJFR01BUF9C SVQocmVnbWFwX2Jhc2UsIE1JUElfUlhfQU5BMDBfQ1NJeEEsDQo+ICsgICAgICAgICAgICAgICAg ICBSR19DU0l4QV9CR19DT1JFX0VOLCAwKTsNCj4gKyAgICAgICBSRUdNQVBfQklUKHJlZ21hcF9i YXNlLCBNSVBJX1JYX0FOQTAwX0NTSXhBLA0KPiArICAgICAgICAgICAgICAgICAgUkdfQ1NJeEFf QkdfTFBGX0VOLCAwKTsNCj4gKw0KPiArICAgICAgIGlmIChwb3J0LT5pc180ZDFjKSB7DQo+ICsg ICAgICAgICAgICAgICBSRUdNQVBfQklUKHJlZ21hcF80ZDFjLCBNSVBJX1JYX0FOQTAwX0NTSXhB LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBSR19DU0l4QV9CR19DT1JFX0VOLCAwKTsN Cj4gKyAgICAgICAgICAgICAgIFJFR01BUF9CSVQocmVnbWFwXzRkMWMsIE1JUElfUlhfQU5BMDBf Q1NJeEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFJHX0NTSXhBX0JHX0xQRl9FTiwg MCk7DQo+ICsgICAgICAgfQ0KPiArDQo+ICsgICAgICAgbXV0ZXhfbG9jaygmcG9ydC0+ZGV2LT5s b2NrKTsNCj4gKyAgICAgICBwb3J0LT5hY3RpdmUgPSBmYWxzZTsNCj4gKyAgICAgICBtdXRleF91 bmxvY2soJnBvcnQtPmRldi0+bG9jayk7DQo+ICsNCj4gKyAgICAgICByZXR1cm4gMDsNCj4gK30N Cj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBwaHlfb3BzIG10a19kcGh5X29wcyA9IHsNCj4g KyAgICAgICAucG93ZXJfb24gICAgICAgPSBtdGtfbWlwaV9waHlfcG93ZXJfb24sDQo+ICsgICAg ICAgLnBvd2VyX29mZiAgICAgID0gbXRrX21pcGlfcGh5X3Bvd2VyX29mZiwNCj4gKyAgICAgICAu b3duZXIgICAgICAgICAgPSBUSElTX01PRFVMRSwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBzdHJ1 Y3QgcGh5ICptdGtfbWlwaV9kcGh5X3hsYXRlKHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG9mX3BoYW5kbGVfYXJncyAq YXJncykNCj4gK3sNCj4gKyAgICAgICBzdHJ1Y3QgbXRrX21pcGlfZHBoeSAqcHJpdiA9IGRldl9n ZXRfZHJ2ZGF0YShkZXYpOw0KPiArDQo+ICsgICAgICAgaWYgKGFyZ3MtPmFyZ3NfY291bnQgIT0g MSkNCj4gKyAgICAgICAgICAgICAgIHJldHVybiBFUlJfUFRSKC1FSU5WQUwpOw0KPiArDQo+ICsg ICAgICAgaWYgKGFyZ3MtPmFyZ3NbMF0gPj0gQVJSQVlfU0laRShwcml2LT5wb3J0cykpDQo+ICsg ICAgICAgICAgICAgICByZXR1cm4gRVJSX1BUUigtRU5PREVWKTsNCj4gKw0KPiArICAgICAgIHJl dHVybiBwcml2LT5wb3J0c1thcmdzLT5hcmdzWzBdXS5waHk7DQo+ICt9DQo+ICsNCj4gK3N0YXRp YyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyBtdDgzNjVfcGh5X3JlZ21hcF9jb25maWcgPSB7 DQo+ICsgICAgICAgLnJlZ19iaXRzID0gMzIsDQo+ICsgICAgICAgLnZhbF9iaXRzID0gMzIsDQo+ ICsgICAgICAgLnJlZ19zdHJpZGUgPSA0LA0KPiArICAgICAgIC5tYXhfcmVnaXN0ZXIgPSAweDcw MCwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBpbnQgbXRrX21pcGlfZHBoeV9wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiArew0KPiArICAgICAgIHN0YXRpYyBjb25zdCB1bnNp Z25lZCBpbnQgcG9ydHNfb2Zmc2V0c1tdID0gew0KPiArICAgICAgICAgICAgICAgW01US19NSVBJ X1BIWV9QT1JUXzBdID0gMCwNCj4gKyAgICAgICAgICAgICAgIFtNVEtfTUlQSV9QSFlfUE9SVF8w QV0gPSAwLA0KPiArICAgICAgICAgICAgICAgW01US19NSVBJX1BIWV9QT1JUXzBCXSA9IDB4MTAw MCwNCj4gKyAgICAgICAgICAgICAgIFtNVEtfTUlQSV9QSFlfUE9SVF8xXSA9IDB4MjAwMCwNCj4g KyAgICAgICAgICAgICAgIFtNVEtfTUlQSV9QSFlfUE9SVF8yXSA9IDB4NDAwMCwNCj4gKyAgICAg ICB9Ow0KSG93IGFib3V0IHByb3ZpZGUgdGhyZWUgc3Vibm9kZSAocDAvcDEvcDIpaW4gZHRzIGxp a2UgYXMgdHBoeSBkcml2ZXI/DQoNCmZvciB0aGUgcG9ydCAwLCBpdCB3b3JrcyBhcyB0aHJlZSBt b2RlICgqXzAvMEEvMEIsIG9yIDRkMWMvMmQxYyksIHdlDQpjYW4gZGlzdGluZ3Vpc2ggaXQgZnJv bSBwaHkgYXJndW1lbnRzLCBhbHNvIHRoZSBzYW1lIGZvciBwb3J0IDEvMg0KDQo+ICsNCj4gKyAg ICAgICBzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Ow0KPiArICAgICAgIHN0cnVjdCBw aHlfcHJvdmlkZXIgKnBoeV9wcm92aWRlcjsNCj4gKyAgICAgICBzdHJ1Y3QgbXRrX21pcGlfZHBo eSAqcHJpdjsNCj4gKyAgICAgICBzdHJ1Y3QgcmVzb3VyY2UgKnJlczsNCj4gKyAgICAgICB1bnNp Z25lZCBpbnQgaTsNCj4gKw0KPiArICAgICAgIHByaXYgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXpl b2YoKnByaXYpLCBHRlBfS0VSTkVMKTsNCj4gKyAgICAgICBpZiAoIXByaXYpDQo+ICsgICAgICAg ICAgICAgICByZXR1cm4gLUVOT01FTTsNCj4gKw0KPiArICAgICAgIGRldl9zZXRfZHJ2ZGF0YShk ZXYsIHByaXYpOw0KPiArICAgICAgIHByaXYtPmRldiA9IGRldjsNCj4gKw0KPiArICAgICAgIHJl cyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7DQo+ICsg ICAgICAgcHJpdi0+cnggPSBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoZGV2LCByZXMpOw0KdXNlIGRl dm1fcGxhdGZvcm1faW9yZW1hcF9yZXNvdXJjZSgpDQoNCj4gKyAgICAgICBpZiAoSVNfRVJSKHBy aXYtPnJ4KSkNCj4gKyAgICAgICAgICAgICAgIHJldHVybiBQVFJfRVJSKHByaXYtPnJ4KTsNCj4g Kw0KPiArICAgICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHByaXYtPnBvcnRzKTsgKytp KSB7DQo+ICsgICAgICAgICAgICAgICBzdHJ1Y3QgbXRrX21pcGlfZHBoeV9wb3J0ICpwb3J0ID0g JnByaXYtPnBvcnRzW2ldOw0KPiArICAgICAgICAgICAgICAgc3RydWN0IHBoeSAqcGh5Ow0KPiAr ICAgICAgICAgICAgICAgdm9pZCBfX2lvbWVtICpiYXNlOw0KPiArDQo+ICsgICAgICAgICAgICAg ICBwb3J0LT5kZXYgPSBwcml2Ow0KPiArICAgICAgICAgICAgICAgcG9ydC0+aWQgPSBpOw0KPiAr ICAgICAgICAgICAgICAgYmFzZSA9IHByaXYtPnJ4ICsgcG9ydHNfb2Zmc2V0c1tpXTsNCj4gKw0K PiArICAgICAgICAgICAgICAgcG9ydC0+cmVnbWFwX2Jhc2UgPSBkZXZtX3JlZ21hcF9pbml0X21t aW8ocG9ydC0+ZGV2LQ0KPiA+ZGV2LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtdDgzNjVfcGh5DQo+IF9yZWdt YXBfY29uZmlnKTsNCj4gKw0KPiArICAgICAgICAgICAgICAgcG9ydC0+aXNfY2RwaHkgPSBpID09 IE1US19NSVBJX1BIWV9QT1JUXzBBIHx8DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGkgPT0gTVRLX01JUElfUEhZX1BPUlRfMEIgfHwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaSA9PSBNVEtfTUlQSV9QSFlfUE9SVF8wOw0KPiArICAgICAgICAgICAgICAg cG9ydC0+aXNfNGQxYyA9IGkgPCBNVEtfTUlQSV9QSFlfUE9SVF8wQTsNCj4gKw0KPiArICAgICAg ICAgICAgICAgaWYgKHBvcnQtPmlzXzRkMWMpDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHBv cnQtPnJlZ21hcF80ZDFjID0NCj4gZGV2bV9yZWdtYXBfaW5pdF9tbWlvKHBvcnQtPmRldi0+ZGV2 LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiYXMNCj4gZSArIENTSXhCX09GRlNFVCwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm10DQo+ IDgzNjVfcGh5X3JlZ21hcF9jb25maWcpOw0KPiArDQo+ICsgICAgICAgICAgICAgICBwaHkgPSBk ZXZtX3BoeV9jcmVhdGUoZGV2LCBOVUxMLCAmbXRrX2RwaHlfb3BzKTsNCj4gKyAgICAgICAgICAg ICAgIGlmIChJU19FUlIocGh5KSkgew0KPiArICAgICAgICAgICAgICAgICAgICAgICBkZXZfZXJy KGRldiwgIkZhaWxlZCB0byBjcmVhdGUgUEhZOiAlbGRcbiIsDQo+IFBUUl9FUlIocGh5KSk7DQo+ ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQVFJfRVJSKHBoeSk7DQo+ICsgICAgICAg ICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgICAgICAgIHBvcnQtPnBoeSA9IHBoeTsNCj4gKyAg ICAgICAgICAgICAgIHBoeV9zZXRfZHJ2ZGF0YShwaHksIHBvcnQpOw0KPiArICAgICAgIH0NCj4g Kw0KPiArICAgICAgIHBoeV9wcm92aWRlciA9IGRldm1fb2ZfcGh5X3Byb3ZpZGVyX3JlZ2lzdGVy KGRldiwNCj4gbXRrX21pcGlfZHBoeV94bGF0ZSk7DQo+ICsgICAgICAgaWYgKElTX0VSUihwaHlf cHJvdmlkZXIpKSB7DQo+ICsgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBy ZWdpc3RlciBQSFkgcHJvdmlkZXI6DQo+ICVsZFxuIiwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgUFRSX0VSUihwaHlfcHJvdmlkZXIpKTsNCj4gKyAgICAgICAgICAgICAgIHJldHVybiBQVFJf RVJSKHBoeV9wcm92aWRlcik7DQo+ICsgICAgICAgfQ0KPiArDQo+ICsgICAgICAgbXV0ZXhfaW5p dCgmcHJpdi0+bG9jayk7DQo+ICsNCj4gKyAgICAgICByZXR1cm4gMDsNCj4gK30NCj4gKw0KPiAr c3RhdGljIGludCBtdGtfbWlwaV9kcGh5X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQ0KPiArew0KPiArICAgICAgIHN0cnVjdCBtdGtfbWlwaV9kcGh5ICpwcml2ID0gcGxhdGZv cm1fZ2V0X2RydmRhdGEocGRldik7DQo+ICsNCj4gKyAgICAgICBtdXRleF9kZXN0cm95KCZwcml2 LT5sb2NrKTsNCj4gKw0KPiArICAgICAgIHJldHVybiAwOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMg Y29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBtdGtfbWlwaV9kcGh5X29mX21hdGNoW10gPSB7DQo+ ICsgICAgICAgey5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODM2NS1taXBpLWNzaSJ9LA0KcHJl ZmVyIHRvIHByb3ZpZGUgYSBnZW5lcmljIGNvbXBhdGlibGUgaWYgbm90IGEgc3BlY2lmaWMgY29u dHJvbGxlcg0Kb25seSBmb3IgbXQ4MzY1Lg0KDQpUaGFua3MgYSBsb3QNCj4gKyAgICAgICB7fSwN Cj4gK307DQo+ICtNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBtdGtfbWlwaV9kcGh5X29mX21hdGNo KTsNCg0KDQo+ICsNCj4gK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG1pcGlfZHBoeV9w ZHJ2ID0gew0KPiArICAgICAgIC5wcm9iZSA9IG10a19taXBpX2RwaHlfcHJvYmUsDQo+ICsgICAg ICAgLnJlbW92ZSA9IG10a19taXBpX2RwaHlfcmVtb3ZlLA0KPiArICAgICAgIC5kcml2ZXIgPSB7 DQo+ICsgICAgICAgICAgICAgICAubmFtZSAgID0gIm10ay1taXBpLWNzaSIsDQo+ICsgICAgICAg ICAgICAgICAub2ZfbWF0Y2hfdGFibGUgPQ0KPiBvZl9tYXRjaF9wdHIobXRrX21pcGlfZHBoeV9v Zl9tYXRjaCksDQo+ICsgICAgICAgfSwNCj4gK307DQo+ICsNCj4gK21vZHVsZV9wbGF0Zm9ybV9k cml2ZXIobWlwaV9kcGh5X3BkcnYpOw0KPiArDQo+ICtNT0RVTEVfREVTQ1JJUFRJT04oIk1USyBt aXBpIGNzaSBjZHBoeSBkcml2ZXIiKTsNCj4gK01PRFVMRV9BVVRIT1IoIkxvdWlzIEt1byA8bG91 aXMua3VvQG1lZGlhdGVrLmNvbT4iKTsNCj4gK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsNCj4gLS0N Cj4gMi40MC4wDQo+IA0K