From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazolkn19010007.outbound.protection.outlook.com [52.103.66.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 77BE2189F43; Wed, 25 Jun 2025 17:25:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.66.7 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750872333; cv=fail; b=WBjlhRAno9/qOJL4ogGjTWh4g2yjn/qWFzStOJrh/qOqd+fwY04lNLjMsV1J3ukGLvGaJoQYKG5ihynbw1hzC6BkNWYVWfWuUCwewXVfSwxmCWxIJlCQOiuhPjYR1GdeyrSlUQV3lh8kIW41q7mhiGeqgDrfkQ7O2vn98Vu8Vs8= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750872333; c=relaxed/simple; bh=Py6DvYci5vJUUIKw/1YOyhfbTiRec+zIuRrDXm0o76g=; h=Message-ID:Date:Cc:Subject:To:References:From:In-Reply-To: Content-Type:MIME-Version; b=I9ykI5zt5bJtL2fwQZd5MQZSWQZ5E9JmvVXC6oWq8fBobbuT7W04Phfs/Bf4g/7AiX9d3CQuINW4T9kjHQ57eM1S4Ocoeq4kyXhSgLkXs1S29l0h/nOZwnyQhP9FtewOWRK62eRHAuCuEhI2+ADvYx/ABH1Ayua9n5btMMHoCLA= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com; spf=pass smtp.mailfrom=outlook.com; dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b=BaoiQx5e; arc=fail smtp.client-ip=52.103.66.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=outlook.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b="BaoiQx5e" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qFqtiZyfCW78bVyJ7U+0UtGJF/llVUYPUKjAO7tHQMD2Btwx4DJCKc0FUODeo0cKigDp9T46Ixg1Hj2CMzvJZLCevu76Nth0i/cwjhMTq8qfsg5y9w5nrz2tmCiqUZIWaXch41u/0IWRbYo8KgF1Li69N40xrSXGUOzQaCBDNDmuaHAw6CPT6hxx/B0v6QVrs3Hcn5ba7fxP23z6hOY6OX7urZxlILO+/OMAXWupvMaqpRL3KKg2w1g2fo/vWObwtpKXybV5hankXKgqju9kcJZoMNHKzs7rcSPRUyLxaVSvbvJeidsa6yZIvrKf9ogR/uF0MT+KW6vkb3gX1TW0ow== 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=Py6DvYci5vJUUIKw/1YOyhfbTiRec+zIuRrDXm0o76g=; b=q8V4af4M89Iv2WAc1wM5265MtTzfjRrOnZ4PEula2nMCWsME9I2N8tVp4ZoUnmi4PHwbY+33+SHYPOcXNoAJiF7M0GI6nLSUygDWmmJU0m7O0DazUfnNqndBe9Pyz3FZBjVng0270BiJCTT1s5U/a9Jb0AI1AOnhxDKB+1ezFiYsZwCl2Ta8rlxjy5CitHoMh3qL+S7gfnwXGkbBVOL/Tzh7nC0J4wA+Kf6t+1en/o2PpVEfz5ngaU7GRNLADKIBLO9KnfaMFdttK8nZ9yxq30Z7RJvHL4b2IVN6h3tL4kNAT5m6B+6ONkx6K8G4eSXlhiMajS0t8PQ9I+yjYJBRMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Py6DvYci5vJUUIKw/1YOyhfbTiRec+zIuRrDXm0o76g=; b=BaoiQx5eU5WpVyFNVRIThxFeviC/ASoSXS3jlAylFpjw+i2TXdHEOH61QZ59GFFCRdwIBEPckKCHGr3cpNsgcQZHKg++k+6s4aMqVddi55wyPCy/7+Ec0XyJ2NsmyDFgTlF/EO53L/NJLU+lrIifF1U0DXKUvhrmIdlb9Mu+4m8BUZGmUBkWcZimNvC+PYmnuYFBE4J3/1fnXh4H8y+kvWrBklTdM+u7gODc5DH5mp5TkyUYq35te8QvEvPY8UI/050dP9nFlZk0X68pWt84I3IgoDe4k3NdSMEGpAZ4eZwwAlcIX4cxQ0wIaH4+DG33L7Jcaaoznez3HWZOar6psw== Received: from TY4PR01MB14432.jpnprd01.prod.outlook.com (2603:1096:405:235::10) by TYCPR01MB9569.jpnprd01.prod.outlook.com (2603:1096:400:192::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.30; Wed, 25 Jun 2025 17:25:23 +0000 Received: from TY4PR01MB14432.jpnprd01.prod.outlook.com ([fe80::7679:e9eb:aeb2:f12f]) by TY4PR01MB14432.jpnprd01.prod.outlook.com ([fe80::7679:e9eb:aeb2:f12f%7]) with mapi id 15.20.8857.026; Wed, 25 Jun 2025 17:25:23 +0000 Message-ID: Date: Thu, 26 Jun 2025 01:25:14 +0800 User-Agent: Mozilla Thunderbird Cc: wiagn233@outlook.com, Sujuan Chen , Bo Jiao Subject: Re: [PATCH v10 RESEND] wifi: mt76: mt7915: add wds support when wed is enabled To: Felix Fietkau , pkshih@realtek.com, lorenzo@kernel.org, ryder.lee@mediatek.com, shayne.chen@mediatek.com, sean.wang@mediatek.com, matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com, johannes.berg@intel.com, miriam.rachel.korenblit@intel.com, christophe.jaillet@wanadoo.fr, greearb@candelatech.com, howard-yh.hsu@mediatek.com, StanleyYP.Wang@mediatek.com, deren.wu@mediatek.com, chui-hao.chiu@mediatek.com, quic_adisi@quicinc.com, gustavoars@kernel.org, razvan.grigore@vampirebyte.ro, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org References: <26e6c7f7-a35f-4ebb-a55b-ade2ac7c20bb@nbd.name> <3903ee21-c87d-4a2c-b688-d64a5796b6c0@nbd.name> From: Shengyu Qu Content-Language: en-US Autocrypt: addr=wiagn233@outlook.com; keydata= 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 In-Reply-To: <3903ee21-c87d-4a2c-b688-d64a5796b6c0@nbd.name> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------vdFXcXfONvPNqmLpznB2aCVK" X-ClientProxiedBy: SI1PR02CA0056.apcprd02.prod.outlook.com (2603:1096:4:1f5::7) To TY4PR01MB14432.jpnprd01.prod.outlook.com (2603:1096:405:235::10) X-Microsoft-Original-Message-ID: <902b4091-e168-4d50-b1b4-6544c21f68b4@outlook.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TY4PR01MB14432:EE_|TYCPR01MB9569:EE_ X-MS-Office365-Filtering-Correlation-Id: f46b6860-fe4d-471a-d5ea-08ddb40d4433 X-Microsoft-Antispam: BCL:0;ARA:14566002|12121999007|15080799009|5072599009|19110799006|8060799009|41001999006|6092099012|7092599006|461199028|20055399003|440099028|40105399003|3412199025|26104999006|19111999003|26115399003|12091999003|1710799026; X-Microsoft-Antispam-Message-Info: =?utf-8?B?NHorbUYybDl6UG4zMHpGd2M5RFUvVGphOVo5c3k3KzRSZE80Ui9PTkwwbEF2?= =?utf-8?B?MnRVaFl0UzlDNTR3a2tYTkRZQ3RXc3JxQ20rTTdZam5ZOFIzYkV5Mjd4eXNQ?= =?utf-8?B?U2NpVTBQZ2lKT2xrR1dhSDRNcWdwRUdMeS81cWJCZGZwYlhtOFZUbkpzbmI2?= =?utf-8?B?bnpOTW1LTTZXd0RxNTBGclBpR1RhelJZVVhKV1N6YUpzVjVYS01VVWJVYjdu?= =?utf-8?B?SzFTaHhISHpaQldoaFBCSlNjL1BwS2FhZmI4dXk2ZkNLbm4yK0FlWlpzRENp?= =?utf-8?B?RWErTDRWY2k3QUtpQWh1d29qR1kxSld4RWVMMUtBMi80WTFUVXFNdW5RMXJP?= =?utf-8?B?K013VDBobStwNW9LazA3cTFkVU5VSHV0OW1nMTN1bUFRc05DeG1lQ0tJNE8x?= =?utf-8?B?K1VpUjdMZ25rQmJHcmRSUjB1NWIyNDZOUWdpai8wM25UbCtkN3hCcXVRdTUx?= =?utf-8?B?V24rbGNKNnJJVkFRbUxBeWVXNmJyTm5QNUN3d1ZvYTlSbThiUVJkdnFKa2h3?= =?utf-8?B?WWd0VXRtN0szSVRsbERteHptSjRTQXdNS1Myb1BBUmdtU2ZINkRQWnk0QWsr?= =?utf-8?B?MU03amJ4VjIwajRqeUdkYy95eXZmenNadmtXTXM4TFpoM3N2S21rSU1waEVy?= =?utf-8?B?Z096MndjMEozVmpPWHBPSnhyUzl3U2tPYmhLeE04enJMRzFWZzlWNEEyTWc3?= =?utf-8?B?UGxpa0hrbzdWR1ljMktsTzg4SHhnRzNpaDB6WGtKTGpUR3o3Z0VRbVB2Y2VC?= =?utf-8?B?ajFoTmx0V0dXem9BRVRoeXIvV1NWZXlDLzdYUklXTTJQa0QvWjlqUjFxRnhy?= =?utf-8?B?VEZhQTFEbjdwRENweTRrUlhzQ1VKeHI5aHlkeHJ1RkE3cXlTMU1jb0Nld05y?= =?utf-8?B?dDRiSWplS2tUQ1ZFbHBZMUQvQUhTcEhNZllJRE9PYzcxQmNVYUlXMS9RV05X?= =?utf-8?B?bkRCVmtPWXJaWWx6MlFQS0VuU012V2liRlVqb0o4NkJ6ZjFobGVoemFiM1BJ?= =?utf-8?B?UVVJUms4Q1UwWmFZMFJJSG1SazlLZC9oaHczdXVDYkphekhWVTQ0NUhZOHZY?= =?utf-8?B?Rjd6TU5lb3pORkNMUS9tSm9FVVhHRWpWdzd2OWJIdXNubnEwaWQ5ZGhiWWdi?= =?utf-8?B?aGluUXlNTXExNDh5bnY5K1ppMmloUkhWMlhyL2xraVdUVG9NQStzM09YSERa?= =?utf-8?B?dGFxbnRlQnB4eWREK1AxenRsdDFBU05yam9RM3EzSmMrTWhwOGJCSG1DRHFP?= =?utf-8?B?Nk1PbGJjNCtWVlZuL3JMcExDZGdoNWg4ZkxFZjltTDhWRSsyTm5qVHJYMDNz?= =?utf-8?B?OFUzS3pqVmlOelpvWGVLVExNOG1iOTVYazNLZStFUFlZcXltSU9xQ2E4Y2c5?= =?utf-8?B?M3NxLzNHK2pNUUJqcjBnREt2RWFUeDg4NDlTLzNvMnNzVkdYK2IySFFpSzJP?= =?utf-8?B?Q1VJZ21yTFExZDJoMFBkUzJhZ3BZNXc1YnB1dnlaUDAyZDk5Z1hybkMvc3Qr?= =?utf-8?B?ajRyL3dvMUFyWFk1Y29KT3JTTlAyb0RUTVU2QWd4VE1Md0JaR3A0QzZIZjRY?= =?utf-8?B?QUU2alZoODRSODBLa2NJZm1OVDJSWHlCOUxvWGl1Y2kycVgybTQyMmwwZ0Nz?= =?utf-8?B?dk9kajhlaXJ0YllVVFkwR1dlejJ0emR5aWhjOW1GdkZTbkdJbHo5TSsybnY1?= =?utf-8?B?MUtWWFRhNDU5RjBLWDh6cUpqcHliK2JxK3ZaM05FV0t0ZDBhK1l3a2ZVUGtU?= =?utf-8?B?VUhoNk1HQTgxV1pmWjNydWNUNmt1Wlgwblp1WWZkWjBvbWdoTGI2c3kyU1BU?= =?utf-8?B?di9YZFI0RWMrNCtkV21uRFRCOUt3Vy9DL2JudUFhczJkbEJ3VjlpdlFwY2ZC?= =?utf-8?B?L08yZGdtRWV4eGdHRzh2cjdEb3hRQlNYR0Y0UnFzMUJwNEE1czhOOHhlQ21U?= =?utf-8?B?K1dNSXZTQ2ZuL21WNjJxeFBuNEZDcTFsajlqRi8zaGRDZ3pmRUVuV2IzWWJW?= =?utf-8?B?ZFFzLzM3b2ZiaWVOR2NveEc3dnd6S2J4YjEreXd1ckJacUZxaEp1Sk5ycUk5?= =?utf-8?Q?ea9CnN?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UUJvSHZKNHkzTWZJQW54UFYwSUJLQ01JMHAwNUJNNlBJdVJOSGdMamNPaFlw?= =?utf-8?B?K2FFbzdZVTczMWlsTHFGaWJqRzcvMzd2ZjE5SnJLd2tjRHp2QkVqNDhPa09O?= =?utf-8?B?U0JJUG5WeVFFT3JZYnUwZG4zOEczV08zZDZBRW82amlsak1EbTNqb0Jqbmt2?= =?utf-8?B?QklxQ3pDays0T1RqQ2tHOUMrOHVONVRySUNvYm8zQ09LK0FGdEZuYnJ4cUdn?= =?utf-8?B?Y0NLOExwTmZIU3dsV09HQmRaK3g2bVArYjVMUXBYejF5eGVPMHdNMFNmUXhw?= =?utf-8?B?b3lNTjJTdGt2cEwxaHJEMDBzRC9IRVhVdU05L2E5YnY0ZXA4bUtjRC9LNkNG?= =?utf-8?B?Wmc0dHFGUk1WUUFMK1FGMkVndkdCMHdNSVBMdFRZVzlGc3hScG5UdjczSVBX?= =?utf-8?B?ZDdQZkZja1FTOTZvSHJkZHpINk5pTGZ6ZlVLOWEyQjhabytMMDVuL0h3WExj?= =?utf-8?B?VXlCR2ovVTN3WU92dFJZTGhoL1UvVXJQek0zQzdRbTZFMHNqaDVwOVV4R2dV?= =?utf-8?B?dGhoQmlqbVNLVjBYeW9rWlhnRHhRNE1mK3plWS9JR3dwRXhIYjRrQkgzS094?= =?utf-8?B?bW1xR0FGN0RxMHZ3QXI4eW9LQ2h6RHJLTGZtcy82YWtNUDNPV1U3SU5EaGE0?= =?utf-8?B?UkdDRCtBVWxjZ2NxVU13eVlaNlBvOGpId293NkR6R0cwaTBxTFdZMjk1MXph?= =?utf-8?B?em1vRC9ZZUczaitsVGtJRkt4MWJiNmcrcm1TY0QzaE1xVFR1UUpOTEltckJF?= =?utf-8?B?MFNEc3BvMitkY3BqS2tqbVFCOG5xWmhvWkhqVFV2c0E2enhHSnVkU2lhaWlB?= =?utf-8?B?ZllLQmJrcUtwdFhaTTZQNG9xcGhqUVR0YW56bHV6SlRIWE1uTnpBNHFiTVBH?= =?utf-8?B?MFJMR2RZVzU2M1hDR3pOT1Y0M2hRV0tybTFsdk01NVB1YlBFZko0N1ZwZC9C?= =?utf-8?B?M0IrR3E2cEIwMjdXbUJZVkNiV0ZhOExFY01XTzUxU3BPcGtHcEZ2MUwwa08x?= =?utf-8?B?SU5uSStCNVZjazVCcnVqU3hEL0tScFNteVJWMlEraGIzWTMrM0JPb2ZaQjRy?= =?utf-8?B?WTY0ZnFzMkZ2VitKVVpnSFZnQjlkTVhNczl5RUVOVnRNUlNRaEdPdVRGNjQ5?= =?utf-8?B?NVJ6bUZaaDZoemJxb3pMUm5EdE43Z1pESCtJV0ViazRkTklDcjZFZUY2cnl5?= =?utf-8?B?RVhRUWNoV3ljWC9VdkFoa3pNdFExakxCMDBEOUkzUXl1ZFlBaS9yMWJFTDhF?= =?utf-8?B?Q2hsaXhyMUFJRGczQkI0Q2ZIU1YyTnl4V3pJaDVMY2lScFcyb0ZSb1hJOEdz?= =?utf-8?B?bEhLS05FS1hhWFFJUGhGNXArM3puZ3Zlc3VkQVphWDVENEtpR1RmQ2lnemRG?= =?utf-8?B?d0I3ZFJyQkpIMGdIUWY1cll3cUM1V2FCakU0VTVtRXVQakV3ZjVMNjZwQWhG?= =?utf-8?B?ME1iZjNaTStzYXowelMvQkZaM2pKUU9WQW5rV2lqREtCd3RMV1NNWUc4M1RC?= =?utf-8?B?SSs3SjJiU3pGb3NiZ3B4QzlMZFZSN3VSNGsrdjBqWHI4SzBzODFVWWd2SHpK?= =?utf-8?B?dFNjcVA2SWJUSDRxWTduelBmRGZnbVF6SCtoU3hvQ1QwWGpUaEU3UVltL2Nk?= =?utf-8?B?dGdkOVQwNVErY0xlSDYxMjZscm5EeVp6Zm9jaVBWOUIzVGNjL3VaZVFDWlJL?= =?utf-8?B?WlNScVJZdVh3aUk5dUF6RmoyTWhVQ2NIWlZvODlEVzAvR0lWcTVFQW84SkhD?= =?utf-8?Q?fxSnMPg5V+CKT7am0M=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f46b6860-fe4d-471a-d5ea-08ddb40d4433 X-MS-Exchange-CrossTenant-AuthSource: TY4PR01MB14432.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2025 17:25:23.3637 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB9569 --------------vdFXcXfONvPNqmLpznB2aCVK Content-Type: multipart/mixed; boundary="------------0JGG8bgxkHQLHQ0MnfpFgV9C"; protected-headers="v1" From: Shengyu Qu To: Felix Fietkau , pkshih@realtek.com, lorenzo@kernel.org, ryder.lee@mediatek.com, shayne.chen@mediatek.com, sean.wang@mediatek.com, matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com, johannes.berg@intel.com, miriam.rachel.korenblit@intel.com, christophe.jaillet@wanadoo.fr, greearb@candelatech.com, howard-yh.hsu@mediatek.com, StanleyYP.Wang@mediatek.com, deren.wu@mediatek.com, chui-hao.chiu@mediatek.com, quic_adisi@quicinc.com, gustavoars@kernel.org, razvan.grigore@vampirebyte.ro, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Cc: wiagn233@outlook.com, Sujuan Chen , Bo Jiao Message-ID: <902b4091-e168-4d50-b1b4-6544c21f68b4@outlook.com> Subject: Re: [PATCH v10 RESEND] wifi: mt76: mt7915: add wds support when wed is enabled References: <26e6c7f7-a35f-4ebb-a55b-ade2ac7c20bb@nbd.name> <3903ee21-c87d-4a2c-b688-d64a5796b6c0@nbd.name> In-Reply-To: <3903ee21-c87d-4a2c-b688-d64a5796b6c0@nbd.name> --------------0JGG8bgxkHQLHQ0MnfpFgV9C Content-Type: multipart/mixed; boundary="------------ISpd7csWw07LP5BknOtc30Sv" --------------ISpd7csWw07LP5BknOtc30Sv Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 SGkgRmVsaXgsDQoNClRoYW5rcyBmb3IgcmVwbHkuIFNhZGx5IEkgZG9uJ3QgaGF2ZSB0aW1l IHRvIHRlc3QgdGhpcyBwYXRjaCBlaXRoZXIuIEJ1dA0KSSB0aGluayB5b3UgY2FuIGZpbmQg c29tZW9uZSB0byBoZWxwIHRlc3RpbmcgaXQgaGVyZToNCmh0dHBzOi8vZ2l0aHViLmNvbS9v cGVud3J0L29wZW53cnQvaXNzdWVzLzE0NjgwDQoNCkJlc3QgcmVnYXJkcywNClNoZW5neXUN Cg0K5ZyoIDIwMjUvNi8yNSAxOTowMCwgRmVsaXggRmlldGthdSDlhpnpgZM6DQo+IE9uIDI1 LjA2LjI1IDEyOjE4LCBGZWxpeCBGaWV0a2F1IHdyb3RlOg0KPj4gT24gMjQuMDYuMjUgMTY6 MTEsIFNoZW5neXUgUXUgd3JvdGU6DQo+Pj4gSGkgRmVsaXgsDQo+Pj4NCj4+PiBQbGVhc2Us IHRlbGwgbWUgaWYgdGhpcyBwYXRjaCBuZWVkcyBhbnkgcG9saXNoaW5nLiBJIHJlYWxseSBk b24ndCBrbm93DQo+Pj4gd2h5IHRoaXMgcGF0Y2ggc3RpbGwgbm90IGdldCBtZXJnZWQgYWZ0 ZXIgc3VjaCBhIGxvbmcgdGltZShhbmQgMngNCj4+PiByZXNlbmQpLCBlc3BlY2lhbGx5IGl0 IGFscmVhZHkgZ290IGEgUmV2aWV3ZWQtYnkgYW5kIGlzIGEgYnVnZml4Lg0KPj4NCj4+IEhp IFNoZW5neXUsDQo+Pg0KPj4gc29ycnkgaXQgdG9vayBzdWNoIGEgbG9uZyB0aW1lIGZvciBt ZSB0byB0YWtlIGEgbG9vayBhdCB0aGlzIHBhdGNoLg0KPj4gSSBkb24ndCBzZWUgaG93IGl0 IGNhbiBldmVuIHdvcmsgcHJvcGVybHkgaW4gaXRzIGN1cnJlbnQgZm9ybSwgYmVjYXVzZQ0K Pj4gb2YgYXQgbGVhc3Qgb25lIGJ1ZzoNCj4+DQo+PiBXaGVuIHN3aXRjaGluZyBmcm9tIG5v bi13ZHMgdG8gd2RzIG1vZGUsIHRoZSBjb2RlIGNhbGxzDQo+PiBtdDc5MTVfbWFjX3N0YV9h ZGQgaW4gb3JkZXIgdG8gY3JlYXRlIHRoZSBuZXcgc3RhLiBIb3dldmVyLCBhZnRlcg0KPj4g Y2hhbmdlcyB0aGF0IEkgbWFkZSBhIHdoaWxlIGJhY2ssIHRoaXMgZnVuY3Rpb24gZG9lcyBu b3QgYWN0dWFsbHkgdXBsb2FkDQo+PiB0aGUgc3RhdGlvbiB0byB0aGUgTUNVIGFueW1vcmUs IHNpbmNlIGl0IGlzIGNhbGxlZCBvbiB0aGUgTk9URVhJU1QtPk5PTkUNCj4+IHRyYW5zaXRp b24gYmVmb3JlIGFzc29jLiBXaXRob3V0IGNvcnJlc3BvbmRpbmcgQVNTT0MvQVVUSE9SSVpF IGV2ZW50cw0KPj4gKGhhbmRsZWQgYnkgbXQ3OTE1X21hY19zdGFfZXZlbnQpLCB0aGUgZmly bXdhcmUgZG9lc24ndCBnZXQgYW55IGRhdGEgZm9yDQo+PiB0aGUgbmV3IHdjaWQuDQo+Pg0K Pj4gVGhhdCBzYWlkLCBJIGZpbmFsbHkgZ290IGFyb3VuZCB0byBzdGFydGluZyB0byByZXdv cmsgeW91ciBwYXRjaCBteXNlbGYuDQo+PiBJIHdpbGwgbGV0IHlvdSBrbm93IHdoZW4gSSBo YXZlIHNvbWV0aGluZyByZWFkeSBmb3IgdGVzdGluZywgaG9wZWZ1bGx5DQo+PiBsYXRlciB0 b2RheS4NCj4gDQo+IEhlcmUncyBteSBmaXJzdCBkcmFmdDoNCj4gDQo+IC0tLQ0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc2LmggYi9k cml2ZXJzL25ldC8gDQo+IHdpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3Ni5oDQo+IGluZGV4 IDE0OTI3YTkyZjlkMS4uZjFkMWIwZWJkMDc0IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25l dC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzYuaA0KPiArKysgYi9kcml2ZXJzL25ldC93 aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzYuaA0KPiBAQCAtMjgsNiArMjgsOSBAQA0KPiAN Cj4gIMKgI2RlZmluZSBNVDc2X1RPS0VOX0ZSRUVfVEhSwqDCoMKgIDY0DQo+IA0KPiArI2Rl ZmluZSBNVDc2X1dFRF9XRFNfTUlOwqDCoMKgIDI1Ng0KPiArI2RlZmluZSBNVDc2X1dFRF9X RFNfTUFYwqDCoMKgIDI3Mg0KPiArDQo+ICDCoCNkZWZpbmUgTVRfUUZMQUdfV0VEX1JJTkfC oMKgwqAgR0VOTUFTSygxLCAwKQ0KPiAgwqAjZGVmaW5lIE1UX1FGTEFHX1dFRF9UWVBFwqDC oMKgIEdFTk1BU0soNCwgMikNCj4gIMKgI2RlZmluZSBNVF9RRkxBR19XRUTCoMKgwqDCoMKg wqDCoCBCSVQoNSkNCj4gQEAgLTExODEsNiArMTE4NCw3IEBAIHZvaWQgbXQ3Nl93ZWRfZG1h X3Jlc2V0KHN0cnVjdCBtdDc2X2RldiAqZGV2KTsNCj4gIMKgaW50IG10NzZfd2VkX25ldF9z ZXR1cF90YyhzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywgc3RydWN0IA0KPiBpZWVlODAyMTFf dmlmICp2aWYsDQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBuZXRf ZGV2aWNlICpuZXRkZXYsIGVudW0gdGNfc2V0dXBfdHlwZSB0eXBlLA0KPiAgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB2b2lkICp0eXBlX2RhdGEpOw0KPiArDQo+ICDCoCNpZmRl ZiBDT05GSUdfTkVUX01FRElBVEVLX1NPQ19XRUQNCj4gIMKgdTMyIG10NzZfd2VkX2luaXRf cnhfYnVmKHN0cnVjdCBtdGtfd2VkX2RldmljZSAqd2VkLCBpbnQgc2l6ZSk7DQo+ICDCoGlu dCBtdDc2X3dlZF9vZmZsb2FkX2VuYWJsZShzdHJ1Y3QgbXRrX3dlZF9kZXZpY2UgKndlZCk7 DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210 NzkxNS9kZWJ1Z2ZzLmMgYi8gDQo+IGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210 NzYvbXQ3OTE1L2RlYnVnZnMuYw0KPiBpbmRleCBiMjg3YjdkOTM5NGUuLmVjMjI4NzQ1OTU4 NyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9t dDc5MTUvZGVidWdmcy5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVr L210NzYvbXQ3OTE1L2RlYnVnZnMuYw0KPiBAQCAtMTM4NSw3ICsxMzg1LDcgQEAgc3RhdGlj IHNzaXplX3QgbXQ3OTE1X3N0YV9maXhlZF9yYXRlX3NldChzdHJ1Y3QgDQo+IGZpbGUgKmZp bGUsDQo+IA0KPiAgwqBvdXQ6DQo+ICDCoMKgwqDCoCB2aWYgPSBjb250YWluZXJfb2YoKHZv aWQgKiltc3RhLT52aWYsIHN0cnVjdCBpZWVlODAyMTFfdmlmLCANCj4gZHJ2X3ByaXYpOw0K PiAtwqDCoMKgIHJldCA9IG10NzkxNV9tY3Vfc2V0X2ZpeGVkX3JhdGVfY3RybChkZXYsIHZp Ziwgc3RhLCAmcGh5LCBmaWVsZCk7DQo+ICvCoMKgwqAgcmV0ID0gbXQ3OTE1X21jdV9zZXRf Zml4ZWRfcmF0ZV9jdHJsKGRldiwgdmlmLCBzdGEsICZtc3RhLT53Y2lkLCANCj4gJnBoeSwg ZmllbGQpOw0KPiAgwqDCoMKgwqAgaWYgKHJldCkNCj4gIMKgwqDCoMKgwqDCoMKgwqAgcmV0 dXJuIC1FRkFVTFQ7DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3Mv bWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmMgYi9kcml2ZXJzLyANCj4gbmV0L3dpcmVsZXNz L21lZGlhdGVrL210NzYvbXQ3OTE1L21hYy5jDQo+IGluZGV4IDk0MDBlNGFmMmEwNC4uZTNl NjU4NDhhMTdmIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRl ay9tdDc2L210NzkxNS9tYWMuYw0KPiArKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRp YXRlay9tdDc2L210NzkxNS9tYWMuYw0KPiBAQCAtMTk5MSw3ICsxOTkxLDcgQEAgdm9pZCBt dDc5MTVfbWFjX3N0YV9yY193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykNCj4gIMKg wqDCoMKgwqDCoMKgwqAgaWYgKGNoYW5nZWQgJiAoSUVFRTgwMjExX1JDX1NVUFBfUkFURVNf Q0hBTkdFRCB8DQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBJ RUVFODAyMTFfUkNfTlNTX0NIQU5HRUQgfA0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgSUVFRTgwMjExX1JDX0JXX0NIQU5HRUQpKQ0KPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBtdDc5MTVfbWN1X2FkZF9yYXRlX2N0cmwoZGV2LCB2aWYsIHN0YSwg dHJ1ZSk7DQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG10NzkxNV9tY3VfYWRkX3JhdGVf Y3RybChkZXYsIHZpZiwgc3RhLCAmbXN0YS0+d2NpZCwgdHJ1ZSk7DQo+IA0KPiAgwqDCoMKg wqDCoMKgwqDCoCBpZiAoY2hhbmdlZCAmIElFRUU4MDIxMV9SQ19TTVBTX0NIQU5HRUQpDQo+ ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXQ3OTE1X21jdV9hZGRfc21wcyhkZXYsIHZp Ziwgc3RhKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVr L210NzYvbXQ3OTE1L21haW4uYyBiL2RyaXZlcnMvIA0KPiBuZXQvd2lyZWxlc3MvbWVkaWF0 ZWsvbXQ3Ni9tdDc5MTUvbWFpbi5jDQo+IGluZGV4IGZlMDYzOWMxNGJmOS4uMDIyN2VhODY2 NWYxIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2 L210NzkxNS9tYWluLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsv bXQ3Ni9tdDc5MTUvbWFpbi5jDQo+IEBAIC03NDcsNyArNzQ3LDEzIEBAIGludCBtdDc5MTVf bWFjX3N0YV9hZGQoc3RydWN0IG10NzZfZGV2ICptZGV2LCANCj4gc3RydWN0IGllZWU4MDIx MV92aWYgKnZpZiwNCj4gIMKgwqDCoMKgIGJvb2wgZXh0X3BoeSA9IG12aWYtPnBoeSAhPSAm ZGV2LT5waHk7DQo+ICDCoMKgwqDCoCBpbnQgaWR4Ow0KPiANCj4gLcKgwqDCoCBpZHggPSBt dDc2X3djaWRfYWxsb2MoZGV2LT5tdDc2LndjaWRfbWFzaywgTVQ3OTE1X1dUQkxfU1RBKTsN Cj4gK8KgwqDCoCBpZiAobXRrX3dlZF9kZXZpY2VfYWN0aXZlKCZkZXYtPm10NzYubW1pby53 ZWQpICYmDQo+ICvCoMKgwqDCoMKgwqDCoCAhaXNfbXQ3OTE1KCZkZXYtPm10NzYpICYmDQo+ ICvCoMKgwqDCoMKgwqDCoCB0ZXN0X2JpdChNVF9XQ0lEX0ZMQUdfNEFERFIsICZtc3RhLT53 Y2lkLmZsYWdzKSkNCj4gK8KgwqDCoMKgwqDCoMKgIGlkeCA9IF9fbXQ3Nl93Y2lkX2FsbG9j KG1kZXYtPndjaWRfbWFzaywgTVQ3Nl9XRURfV0RTX01JTiwNCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE1UNzZfV0VEX1dEU19NQVgpOw0KPiArwqDCoMKg IGVsc2UNCj4gK8KgwqDCoMKgwqDCoMKgIGlkeCA9IG10NzZfd2NpZF9hbGxvYyhtZGV2LT53 Y2lkX21hc2ssIE1UNzkxNV9XVEJMX1NUQSk7DQo+ICDCoMKgwqDCoCBpZiAoaWR4IDwgMCkN Cj4gIMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FTk9TUEM7DQo+IA0KPiBAQCAtODM2LDcg Kzg0Miw3IEBAIGludCBtdDc5MTVfbWFjX3N0YV9ldmVudChzdHJ1Y3QgbXQ3Nl9kZXYgKm1k ZXYsIA0KPiBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLA0KPiAgwqDCoMKgwqDCoMKgwqDC oCBhZGRyID0gbXQ3OTE1X21hY193dGJsX2xtYWNfYWRkcihkZXYsIG1zdGEtPndjaWQuaWR4 LCAzMCk7DQo+ICDCoMKgwqDCoMKgwqDCoMKgIG10NzZfcm13X2ZpZWxkKGRldiwgYWRkciwg R0VOTUFTSyg3LCAwKSwgMHhhMCk7DQo+IA0KPiAtwqDCoMKgwqDCoMKgwqAgcmV0ID0gbXQ3 OTE1X21jdV9hZGRfcmF0ZV9jdHJsKGRldiwgdmlmLCBzdGEsIGZhbHNlKTsNCj4gK8KgwqDC oMKgwqDCoMKgIHJldCA9IG10NzkxNV9tY3VfYWRkX3JhdGVfY3RybChkZXYsIHZpZiwgc3Rh LCAmbXN0YS0+d2NpZCwgZmFsc2UpOw0KPiAgwqDCoMKgwqDCoMKgwqDCoCBpZiAocmV0KQ0K PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7DQo+IA0KPiBAQCAtMTI2 Nyw2ICsxMjczLDQwIEBAIG10NzkxNV9zZXRfYml0cmF0ZV9tYXNrKHN0cnVjdCBpZWVlODAy MTFfaHcgKmh3LCANCj4gc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZiwNCj4gIMKgwqDCoMKg IHJldHVybiAwOw0KPiAgwqB9DQo+IA0KPiArc3RhdGljIHZvaWQgbXQ3OTE1X3N0YV93ZWRf c2V0XzRhZGRyKHN0cnVjdCBtdDc5MTVfZGV2ICpkZXYsIHN0cnVjdCANCj4gaWVlZTgwMjEx X3ZpZiAqdmlmLA0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBzdHJ1Y3QgaWVlZTgwMjExX3N0YSAqc3RhKQ0KPiArew0KPiArwqDCoMKgIHN0cnVjdCBt dDc5MTVfc3RhICptc3RhID0gKHN0cnVjdCBtdDc5MTVfc3RhICopc3RhLT5kcnZfcHJpdjsN Cj4gK8KgwqDCoCBpbnQgbWluID0gTVQ3Nl9XRURfV0RTX01JTiwgbWF4ID0gTVQ3Nl9XRURf V0RTX01BWDsNCj4gK8KgwqDCoCBpbnQgaWR4LCBwcmV2X2lkeCA9IG1zdGEtPndjaWQuaWR4 Ow0KPiArwqDCoMKgIHN0cnVjdCBtdDc2X3djaWQgd2NpZCA9IG1zdGEtPndjaWQ7DQo+ICvC oMKgwqAgaW50IHN0YXRlOw0KPiArDQo+ICvCoMKgwqAgaWYgKCFpc19tdDc5MTUoJmRldi0+ bXQ3NikpDQo+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm47DQo+ICsNCj4gK8KgwqDCoCBpZiAo bXN0YS0+d2NpZC5pZHggPj0gbWluICYmIG1zdGEtPndjaWQuaWR4IDwgbWF4KQ0KPiArwqDC oMKgwqDCoMKgwqAgcmV0dXJuOw0KPiArDQo+ICvCoMKgwqAgaWR4ID0gX19tdDc2X3djaWRf YWxsb2MoZGV2LT5tdDc2LndjaWRfbWFzaywgbWluLCBtYXgpOw0KPiArwqDCoMKgIGlmIChp ZHggPCAwKQ0KPiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuOw0KPiArDQo+ICvCoMKgwqAgd2Np ZC5pZHggPSBpZHg7DQo+ICvCoMKgwqAgc3RhdGUgPSBtc3RhLT53Y2lkLnN0YSA/IENPTk5f U1RBVEVfUE9SVF9TRUNVUkUgOiANCj4gQ09OTl9TVEFURV9ESVNDT05ORUNUOw0KPiArwqDC oMKgIF9fbXQ3OTE1X21jdV9hZGRfc3RhKGRldiwgdmlmLCBzdGEsICZ3Y2lkLCBzdGF0ZSwg dHJ1ZSk7DQo+ICvCoMKgwqAgbXQ3OTE1X21jdV9hZGRfcmF0ZV9jdHJsKGRldiwgdmlmLCBz dGEsICZ3Y2lkLCBmYWxzZSk7DQo+ICvCoMKgwqAgcmN1X2Fzc2lnbl9wb2ludGVyKGRldi0+ bXQ3Ni53Y2lkW2lkeF0sICZtc3RhLT53Y2lkKTsNCj4gK8KgwqDCoCBtc3RhLT53Y2lkLmlk eCA9IGlkeDsNCj4gKw0KPiArwqDCoMKgIHN5bmNocm9uaXplX3JjdSgpOw0KPiArDQo+ICvC oMKgwqAgcmN1X2Fzc2lnbl9wb2ludGVyKGRldi0+bXQ3Ni53Y2lkW3ByZXZfaWR4XSwgTlVM TCk7DQo+ICvCoMKgwqAgbXQ3Nl93Y2lkX21hc2tfY2xlYXIoZGV2LT5tdDc2LndjaWRfbWFz aywgcHJldl9pZHgpOw0KPiArwqDCoMKgIHdjaWQuaWR4ID0gcHJldl9pZHg7DQo+ICvCoMKg wqAgX19tdDc5MTVfbWN1X2FkZF9zdGEoZGV2LCB2aWYsIHN0YSwgJndjaWQsIENPTk5fU1RB VEVfRElTQ09OTkVDVCwgDQo+IGZhbHNlKTsNCj4gK30NCj4gKw0KPiAgwqBzdGF0aWMgdm9p ZCBtdDc5MTVfc3RhX3NldF80YWRkcihzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywNCj4gIMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGllZWU4MDIxMV92aWYg KnZpZiwNCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGll ZWU4MDIxMV9zdGEgKnN0YSwNCj4gQEAgLTEyODAsNiArMTMyMCw5IEBAIHN0YXRpYyB2b2lk IG10NzkxNV9zdGFfc2V0XzRhZGRyKHN0cnVjdCANCj4gaWVlZTgwMjExX2h3ICpodywNCj4g IMKgwqDCoMKgIGVsc2UNCj4gIMKgwqDCoMKgwqDCoMKgwqAgY2xlYXJfYml0KE1UX1dDSURf RkxBR180QUREUiwgJm1zdGEtPndjaWQuZmxhZ3MpOw0KPiANCj4gK8KgwqDCoCBpZiAobXRr X3dlZF9kZXZpY2VfYWN0aXZlKCZkZXYtPm10NzYubW1pby53ZWQpICYmIGVuYWJsZWQpDQo+ ICvCoMKgwqDCoMKgwqDCoCBtdDc5MTVfc3RhX3dlZF9zZXRfNGFkZHIoZGV2LCB2aWYsIHN0 YSk7DQo+ICsNCj4gIMKgwqDCoMKgIGlmICghbXN0YS0+d2NpZC5zdGEpDQo+ICDCoMKgwqDC oMKgwqDCoMKgIHJldHVybjsNCj4gDQo+IEBAIC0xNzI5LDE1ICsxNzcyLDE5IEBAIG10Nzkx NV9uZXRfZmlsbF9mb3J3YXJkX3BhdGgoc3RydWN0IGllZWU4MDIxMV9odyANCj4gKmh3LA0K PiAgwqDCoMKgwqAgaWYgKCFtdGtfd2VkX2RldmljZV9hY3RpdmUod2VkKSkNCj4gIMKgwqDC oMKgwqDCoMKgwqAgcmV0dXJuIC1FTk9ERVY7DQo+IA0KPiAtwqDCoMKgIGlmIChtc3RhLT53 Y2lkLmlkeCA+IDB4ZmYpDQo+ICvCoMKgwqAgaWYgKG1zdGEtPndjaWQuaWR4ID4gTVQ3OTE1 X1dUQkxfU1RBKQ0KPiAgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVJTzsNCj4gDQo+ICDC oMKgwqDCoCBwYXRoLT50eXBlID0gREVWX1BBVEhfTVRLX1dETUE7DQo+ICDCoMKgwqDCoCBw YXRoLT5kZXYgPSBjdHgtPmRldjsNCj4gIMKgwqDCoMKgIHBhdGgtPm10a193ZG1hLndkbWFf aWR4ID0gd2VkLT53ZG1hX2lkeDsNCj4gIMKgwqDCoMKgIHBhdGgtPm10a193ZG1hLmJzcyA9 IG12aWYtPm10NzYuaWR4Ow0KPiAtwqDCoMKgIHBhdGgtPm10a193ZG1hLndjaWQgPSBpc19t dDc5MTUoJmRldi0+bXQ3NikgPyBtc3RhLT53Y2lkLmlkeCA6IDB4M2ZmOw0KPiAgwqDCoMKg wqAgcGF0aC0+bXRrX3dkbWEucXVldWUgPSBwaHkgIT0gJmRldi0+cGh5Ow0KPiArwqDCoMKg IGlmICh0ZXN0X2JpdChNVF9XQ0lEX0ZMQUdfNEFERFIsICZtc3RhLT53Y2lkLmZsYWdzKSB8 fA0KPiArwqDCoMKgwqDCoMKgwqAgaXNfbXQ3OTE1KCZkZXYtPm10NzYpKQ0KPiArwqDCoMKg wqDCoMKgwqAgcGF0aC0+bXRrX3dkbWEud2NpZCA9IG1zdGEtPndjaWQuaWR4Ow0KPiArwqDC oMKgIGVsc2UNCj4gK8KgwqDCoMKgwqDCoMKgIHBhdGgtPm10a193ZG1hLndjaWQgPSAweDNm ZjsNCj4gDQo+ICDCoMKgwqDCoCBjdHgtPmRldiA9IE5VTEw7DQo+IA0KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWN1LmMgYi9k cml2ZXJzLyANCj4gbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21jdS5jDQo+ IGluZGV4IGNmOTQ4NjI4ZTU4OC4uMjY0OTdiNTgwZWI2IDEwMDY0NA0KPiAtLS0gYS9kcml2 ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tY3UuYw0KPiArKysgYi9k cml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tY3UuYw0KPiBAQCAt MTM1OSw2ICsxMzU5LDcgQEAgbXQ3OTE1X21jdV9nZXRfbW1wc19tb2RlKGVudW0gaWVlZTgw MjExX3NtcHNfbW9kZSANCj4gc21wcykNCj4gIMKgaW50IG10NzkxNV9tY3Vfc2V0X2ZpeGVk X3JhdGVfY3RybChzdHJ1Y3QgbXQ3OTE1X2RldiAqZGV2LA0KPiAgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZiwNCj4g IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBpZWVlODAy MTFfc3RhICpzdGEsDQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg c3RydWN0IG10NzZfd2NpZCAqd2NpZCwNCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHZvaWQgKmRhdGEsIHUzMiBmaWVsZCkNCj4gIMKgew0KPiAgwqDCoMKg wqAgc3RydWN0IG10NzkxNV92aWYgKm12aWYgPSAoc3RydWN0IG10NzkxNV92aWYgKil2aWYt PmRydl9wcml2Ow0KPiBAQCAtMTQzMCw3ICsxNDMxLDcgQEAgaW50IG10NzkxNV9tY3VfYWRk X3NtcHMoc3RydWN0IG10NzkxNV9kZXYgKmRldiwgDQo+IHN0cnVjdCBpZWVlODAyMTFfdmlm ICp2aWYsDQo+ICDCoMKgwqDCoCBpZiAocmV0KQ0KPiAgwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm4gcmV0Ow0KPiANCj4gLcKgwqDCoCByZXR1cm4gbXQ3OTE1X21jdV9zZXRfZml4ZWRfcmF0 ZV9jdHJsKGRldiwgdmlmLCBzdGEsIE5VTEwsDQo+ICvCoMKgwqAgcmV0dXJuIG10NzkxNV9t Y3Vfc2V0X2ZpeGVkX3JhdGVfY3RybChkZXYsIHZpZiwgc3RhLCAmbXN0YS0+d2NpZCwgDQo+ IE5VTEwsDQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIFJBVEVfUEFSQU1fTU1QU19VUERBVEUpOw0KPiAgwqB9DQo+IA0KPiBAQCAt MTQzOSwxNyArMTQ0MCwxOSBAQCBtdDc5MTVfbWN1X3NldF9zcGVfaWR4KHN0cnVjdCBtdDc5 MTVfZGV2ICpkZXYsIA0KPiBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLA0KPiAgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBpZWVlODAyMTFfc3RhICpzdGEpDQo+ ICDCoHsNCj4gIMKgwqDCoMKgIHN0cnVjdCBtdDc5MTVfdmlmICptdmlmID0gKHN0cnVjdCBt dDc5MTVfdmlmICopdmlmLT5kcnZfcHJpdjsNCj4gK8KgwqDCoCBzdHJ1Y3QgbXQ3OTE1X3N0 YSAqbXN0YSA9IChzdHJ1Y3QgbXQ3OTE1X3N0YSAqKXN0YS0+ZHJ2X3ByaXY7DQo+ICDCoMKg wqDCoCBzdHJ1Y3QgbXQ3Nl9waHkgKm1waHkgPSBtdmlmLT5waHktPm10NzY7DQo+ICDCoMKg wqDCoCB1OCBzcGVfaWR4ID0gbXQ3Nl9jb25uYWNfc3BlX2lkeChtcGh5LT5hbnRlbm5hX21h c2spOw0KPiANCj4gLcKgwqDCoCByZXR1cm4gbXQ3OTE1X21jdV9zZXRfZml4ZWRfcmF0ZV9j dHJsKGRldiwgdmlmLCBzdGEsICZzcGVfaWR4LA0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUkFURV9QQVJBTV9TUEVfVVBEQVRFKTsN Cj4gK8KgwqDCoCByZXR1cm4gbXQ3OTE1X21jdV9zZXRfZml4ZWRfcmF0ZV9jdHJsKGRldiwg dmlmLCBzdGEsICZtc3RhLT53Y2lkLA0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnNwZV9pZHgsIFJBVEVfUEFSQU1fU1BFX1VQREFU RSk7DQo+ICDCoH0NCj4gDQo+ICDCoHN0YXRpYyBpbnQNCj4gIMKgbXQ3OTE1X21jdV9hZGRf cmF0ZV9jdHJsX2ZpeGVkKHN0cnVjdCBtdDc5MTVfZGV2ICpkZXYsDQo+ICDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlm LA0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBpZWVl ODAyMTFfc3RhICpzdGEpDQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgc3RydWN0IGllZWU4MDIxMV9zdGEgKnN0YSwNCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgbXQ3Nl93Y2lkICp3Y2lkKQ0KPiAgwqB7DQo+ICDC oMKgwqDCoCBzdHJ1Y3QgbXQ3OTE1X3ZpZiAqbXZpZiA9IChzdHJ1Y3QgbXQ3OTE1X3ZpZiAq KXZpZi0+ZHJ2X3ByaXY7DQo+ICDCoMKgwqDCoCBzdHJ1Y3QgY2ZnODAyMTFfY2hhbl9kZWYg KmNoYW5kZWYgPSAmbXZpZi0+cGh5LT5tdDc2LT5jaGFuZGVmOw0KPiBAQCAtMTQ5Nyw3ICsx NTAwLDcgQEAgbXQ3OTE1X21jdV9hZGRfcmF0ZV9jdHJsX2ZpeGVkKHN0cnVjdCBtdDc5MTVf ZGV2IA0KPiAqZGV2LA0KPiANCj4gIMKgwqDCoMKgIC8qIGZpeGVkIHNpbmdsZSByYXRlICov DQo+ICDCoMKgwqDCoCBpZiAobnJhdGVzID09IDEpIHsNCj4gLcKgwqDCoMKgwqDCoMKgIHJl dCA9IG10NzkxNV9tY3Vfc2V0X2ZpeGVkX3JhdGVfY3RybChkZXYsIHZpZiwgc3RhLCAmcGh5 LA0KPiArwqDCoMKgwqDCoMKgwqAgcmV0ID0gbXQ3OTE1X21jdV9zZXRfZml4ZWRfcmF0ZV9j dHJsKGRldiwgdmlmLCBzdGEsIHdjaWQsICZwaHksDQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFJBVEVfUEFSQU1fRklY RURfTUNTKTsNCj4gIMKgwqDCoMKgwqDCoMKgwqAgaWYgKHJldCkNCj4gIMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPiBAQCAtMTUxOSw3ICsxNTIyLDcgQEAgbXQ3 OTE1X21jdV9hZGRfcmF0ZV9jdHJsX2ZpeGVkKHN0cnVjdCBtdDc5MTVfZGV2IA0KPiAqZGV2 LA0KPiAgwqDCoMKgwqDCoMKgwqDCoCBlbHNlDQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgbXQ3Nl9ybXdfZmllbGQoZGV2LCBhZGRyLCBHRU5NQVNLKDE1LCAxMiksIHBoeS5zZ2kp Ow0KPiANCj4gLcKgwqDCoMKgwqDCoMKgIHJldCA9IG10NzkxNV9tY3Vfc2V0X2ZpeGVkX3Jh dGVfY3RybChkZXYsIHZpZiwgc3RhLCAmcGh5LA0KPiArwqDCoMKgwqDCoMKgwqAgcmV0ID0g bXQ3OTE1X21jdV9zZXRfZml4ZWRfcmF0ZV9jdHJsKGRldiwgdmlmLCBzdGEsIHdjaWQsICZw aHksDQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIFJBVEVfUEFSQU1fRklYRURfR0kpOw0KPiAgwqDCoMKgwqDCoMKgwqDC oCBpZiAocmV0KQ0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7DQo+ IEBAIC0xNTI3LDcgKzE1MzAsNyBAQCBtdDc5MTVfbWN1X2FkZF9yYXRlX2N0cmxfZml4ZWQo c3RydWN0IG10NzkxNV9kZXYgDQo+ICpkZXYsDQo+IA0KPiAgwqDCoMKgwqAgLyogZml4ZWQg SEVfTFRGICovDQo+ICDCoMKgwqDCoCBpZiAobWFzay0+Y29udHJvbFtiYW5kXS5oZV9sdGYg IT0gR0VOTUFTSyg3LCAwKSkgew0KPiAtwqDCoMKgwqDCoMKgwqAgcmV0ID0gbXQ3OTE1X21j dV9zZXRfZml4ZWRfcmF0ZV9jdHJsKGRldiwgdmlmLCBzdGEsICZwaHksDQo+ICvCoMKgwqDC oMKgwqDCoCByZXQgPSBtdDc5MTVfbWN1X3NldF9maXhlZF9yYXRlX2N0cmwoZGV2LCB2aWYs IHN0YSwgd2NpZCwgJnBoeSwNCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUkFURV9QQVJBTV9GSVhFRF9IRV9MVEYpOw0K PiAgwqDCoMKgwqDCoMKgwqDCoCBpZiAocmV0KQ0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHJldHVybiByZXQ7DQo+IEBAIC0xNjQwLDE1ICsxNjQzLDE0IEBAIG10NzkxNV9tY3Vf c3RhX3JhdGVfY3RybF90bHYoc3RydWN0IHNrX2J1ZmYgDQo+ICpza2IsIHN0cnVjdCBtdDc5 MTVfZGV2ICpkZXYsDQo+ICDCoH0NCj4gDQo+ICDCoGludCBtdDc5MTVfbWN1X2FkZF9yYXRl X2N0cmwoc3RydWN0IG10NzkxNV9kZXYgKmRldiwgc3RydWN0IA0KPiBpZWVlODAyMTFfdmlm ICp2aWYsDQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaWVl ZTgwMjExX3N0YSAqc3RhLCBib29sIGNoYW5nZWQpDQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaWVlZTgwMjExX3N0YSAqc3RhLCBzdHJ1Y3QgbXQ3Nl93 Y2lkICp3Y2lkLA0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYm9vbCBj aGFuZ2VkKQ0KPiAgwqB7DQo+ICDCoMKgwqDCoCBzdHJ1Y3QgbXQ3OTE1X3ZpZiAqbXZpZiA9 IChzdHJ1Y3QgbXQ3OTE1X3ZpZiAqKXZpZi0+ZHJ2X3ByaXY7DQo+IC3CoMKgwqAgc3RydWN0 IG10NzkxNV9zdGEgKm1zdGEgPSAoc3RydWN0IG10NzkxNV9zdGEgKilzdGEtPmRydl9wcml2 Ow0KPiAgwqDCoMKgwqAgc3RydWN0IHNrX2J1ZmYgKnNrYjsNCj4gIMKgwqDCoMKgIGludCBy ZXQ7DQo+IA0KPiAtwqDCoMKgIHNrYiA9IG10NzZfY29ubmFjX21jdV9hbGxvY19zdGFfcmVx KCZkZXYtPm10NzYsICZtdmlmLT5tdDc2LA0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbXN0YS0+d2NpZCk7DQo+ICvCoMKgwqAgc2tiID0g bXQ3Nl9jb25uYWNfbWN1X2FsbG9jX3N0YV9yZXEoJmRldi0+bXQ3NiwgJm12aWYtPm10NzYs IHdjaWQpOw0KPiAgwqDCoMKgwqAgaWYgKElTX0VSUihza2IpKQ0KPiAgwqDCoMKgwqDCoMKg wqDCoCByZXR1cm4gUFRSX0VSUihza2IpOw0KPiANCj4gQEAgLTE2NzMsNyArMTY3NSw3IEBA IGludCBtdDc5MTVfbWN1X2FkZF9yYXRlX2N0cmwoc3RydWN0IG10NzkxNV9kZXYgDQo+ICpk ZXYsIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsDQo+ICDCoMKgwqDCoMKgICogYW5kIHVw ZGF0ZXMgYXMgcGVlciBmaXhlZCByYXRlIHBhcmFtZXRlcnMsIHdoaWNoIG92ZXJyaWRlcw0K PiAgwqDCoMKgwqDCoCAqIHN0YV9yZWNfcmEgYW5kIGZpcm13YXJlIHJhdGUgY29udHJvbCBh bGdvcml0aG0uDQo+ICDCoMKgwqDCoMKgICovDQo+IC3CoMKgwqAgcmV0dXJuIG10NzkxNV9t Y3VfYWRkX3JhdGVfY3RybF9maXhlZChkZXYsIHZpZiwgc3RhKTsNCj4gK8KgwqDCoCByZXR1 cm4gbXQ3OTE1X21jdV9hZGRfcmF0ZV9jdHJsX2ZpeGVkKGRldiwgdmlmLCBzdGEsIHdjaWQp Ow0KPiAgwqB9DQo+IA0KPiAgwqBzdGF0aWMgaW50DQo+IEBAIC0xNzA0LDggKzE3MDYsOSBA QCBtdDc5MTVfbWN1X2FkZF9ncm91cChzdHJ1Y3QgbXQ3OTE1X2RldiAqZGV2LCANCj4gc3Ry dWN0IGllZWU4MDIxMV92aWYgKnZpZiwNCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgc2l6ZW9mKHJlcSksIHRydWUpOw0KPiAgwqB9DQo+IA0KPiAtaW50IG10Nzkx NV9tY3VfYWRkX3N0YShzdHJ1Y3QgbXQ3OTE1X2RldiAqZGV2LCBzdHJ1Y3QgaWVlZTgwMjEx X3ZpZiAqdmlmLA0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaWVl ZTgwMjExX3N0YSAqc3RhLCBpbnQgY29ubl9zdGF0ZSwgYm9vbCBuZXdseSkNCj4gK2ludCBf X210NzkxNV9tY3VfYWRkX3N0YShzdHJ1Y3QgbXQ3OTE1X2RldiAqZGV2LCBzdHJ1Y3QgaWVl ZTgwMjExX3ZpZiANCj4gKnZpZiwNCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1 Y3QgaWVlZTgwMjExX3N0YSAqc3RhLMKgIHN0cnVjdCBtdDc2X3djaWQgKndjaWQsDQo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW50IGNvbm5fc3RhdGUsIGJvb2wgbmV3bHkpDQo+ ICDCoHsNCj4gIMKgwqDCoMKgIHN0cnVjdCBtdDc5MTVfdmlmICptdmlmID0gKHN0cnVjdCBt dDc5MTVfdmlmICopdmlmLT5kcnZfcHJpdjsNCj4gIMKgwqDCoMKgIHN0cnVjdCBpZWVlODAy MTFfbGlua19zdGEgKmxpbmtfc3RhOw0KPiBAQCAtMTcxNSw5ICsxNzE4LDEwIEBAIGludCBt dDc5MTVfbWN1X2FkZF9zdGEoc3RydWN0IG10NzkxNV9kZXYgKmRldiwgDQo+IHN0cnVjdCBp ZWVlODAyMTFfdmlmICp2aWYsDQo+IA0KPiAgwqDCoMKgwqAgbXN0YSA9IHN0YSA/IChzdHJ1 Y3QgbXQ3OTE1X3N0YSAqKXN0YS0+ZHJ2X3ByaXYgOiAmbXZpZi0+c3RhOw0KPiAgwqDCoMKg wqAgbGlua19zdGEgPSBzdGEgPyAmc3RhLT5kZWZsaW5rIDogTlVMTDsNCj4gK8KgwqDCoCBp ZiAoIXdjaWQpDQo+ICvCoMKgwqDCoMKgwqDCoCB3Y2lkID0gJm1zdGEtPndjaWQ7DQo+IA0K PiAtwqDCoMKgIHNrYiA9IG10NzZfY29ubmFjX21jdV9hbGxvY19zdGFfcmVxKCZkZXYtPm10 NzYsICZtdmlmLT5tdDc2LA0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAmbXN0YS0+d2NpZCk7DQo+ICvCoMKgwqAgc2tiID0gbXQ3Nl9jb25u YWNfbWN1X2FsbG9jX3N0YV9yZXEoJmRldi0+bXQ3NiwgJm12aWYtPm10NzYsIHdjaWQpOw0K PiAgwqDCoMKgwqAgaWYgKElTX0VSUihza2IpKQ0KPiAgwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm4gUFRSX0VSUihza2IpOw0KPiANCj4gQEAgLTI0MTMsMTAgKzI0MTcsMjAgQEAgaW50IG10 NzkxNV9tY3VfaW5pdF9maXJtd2FyZShzdHJ1Y3QgbXQ3OTE1X2RldiANCj4gKmRldikNCj4g DQo+ICDCoMKgwqDCoCBtdDc2X2Nvbm5hY19tY3VfZGVsX3d0YmxfYWxsKCZkZXYtPm10NzYp Ow0KPiANCj4gLcKgwqDCoCBpZiAoKG10a193ZWRfZGV2aWNlX2FjdGl2ZSgmZGV2LT5tdDc2 Lm1taW8ud2VkKSAmJg0KPiAtwqDCoMKgwqDCoMKgwqDCoCBpc19tdDc5MTUoJmRldi0+bXQ3 NikpIHx8DQo+IC3CoMKgwqDCoMKgwqDCoCAhbXRrX3dlZF9nZXRfcnhfY2FwYSgmZGV2LT5t dDc2Lm1taW8ud2VkKSkNCj4gLcKgwqDCoMKgwqDCoMKgIG10NzkxNV9tY3Vfd2FfY21kKGRl diwgTUNVX1dBX1BBUkFNX0NNRChDQVBBQklMSVRZKSwgMCwgMCwgMCk7DQo+ICsjaWYgSVNf RU5BQkxFRChDT05GSUdfTkVUX01FRElBVEVLX1NPQ19XRUQpDQo+ICvCoMKgwqAgaWYgKG10 a193ZWRfZGV2aWNlX2FjdGl2ZSgmZGV2LT5tdDc2Lm1taW8ud2VkKSkgew0KPiArwqDCoMKg wqDCoMKgwqAgaWYgKGlzX210NzkxNSgmZGV2LT5tdDc2KSB8fA0KPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAhbXRrX3dlZF9nZXRfcnhfY2FwYSgmZGV2LT5tdDc2Lm1taW8ud2VkKSkN Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0ID0gbXQ3OTE1X21jdV93YV9jbWQoZGV2 LCBNQ1VfV0FfUEFSQU1fQ01EKENBUEFCSUxJVFkpLA0KPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAwLCAwLCAwKTsNCj4gK8KgwqDCoMKgwqDC oMKgIGVsc2UNCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0ID0gbXQ3OTE1X21jdV93 YV9jbWQoZGV2LCBNQ1VfV0FfUEFSQU1fQ01EKFNFVCksDQo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE1DVV9XQV9QQVJBTV9XRURfVkVSU0lP TiwNCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg ZGV2LT5tdDc2Lm1taW8ud2VkLnJldl9pZCwgMCk7DQo+ICvCoMKgwqDCoMKgwqDCoCBpZiAo cmV0KQ0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPiArwqDCoMKg IH0NCj4gKyNlbmRpZg0KPiANCj4gIMKgwqDCoMKgIHJldCA9IG10NzkxNV9tY3Vfc2V0X213 ZHMoZGV2LCAxKTsNCj4gIMKgwqDCoMKgIGlmIChyZXQpDQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tY3UuaCBiL2RyaXZlcnMv IA0KPiBuZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWN1LmgNCj4gaW5kZXgg MDg2YWQ4OWVjZDkxLi45ODlmMjRjYjQ5ZWIgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21jdS5oDQo+ICsrKyBiL2RyaXZlcnMv bmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21jdS5oDQo+IEBAIC0yNzgsNiAr Mjc4LDcgQEAgZW51bSB7DQo+ICDCoMKgwqDCoCBNQ1VfV0FfUEFSQU1fUERNQV9SWCA9IDB4 MDQsDQo+ICDCoMKgwqDCoCBNQ1VfV0FfUEFSQU1fQ1BVX1VUSUwgPSAweDBiLA0KPiAgwqDC oMKgwqAgTUNVX1dBX1BBUkFNX1JFRCA9IDB4MGUsDQo+ICvCoMKgwqAgTUNVX1dBX1BBUkFN X1dFRF9WRVJTSU9OID0gMHgzMiwNCj4gIMKgwqDCoMKgIE1DVV9XQV9QQVJBTV9SRURfU0VU VElORyA9IDB4NDAsDQo+ICDCoH07DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv d2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbXQ3OTE1LmggYi8gDQo+IGRyaXZlcnMv bmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L210NzkxNS5oDQo+IGluZGV4IDJl OTQzNDdjNDZkNi4uYzc4MTA1OGE0MTZmIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC93 aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tdDc5MTUuaA0KPiArKysgYi9kcml2ZXJz L25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tdDc5MTUuaA0KPiBAQCAtNDU1 LDggKzQ1NSwxNiBAQCBpbnQgbXQ3OTE1X21jdV9hZGRfZGV2X2luZm8oc3RydWN0IG10Nzkx NV9waHkgKnBoeSwNCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVj dCBpZWVlODAyMTFfdmlmICp2aWYsIGJvb2wgZW5hYmxlKTsNCj4gIMKgaW50IG10NzkxNV9t Y3VfYWRkX2Jzc19pbmZvKHN0cnVjdCBtdDc5MTVfcGh5ICpwaHksDQo+ICDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLCBpbnQg ZW5hYmxlKTsNCj4gLWludCBtdDc5MTVfbWN1X2FkZF9zdGEoc3RydWN0IG10NzkxNV9kZXYg KmRldiwgc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZiwNCj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgc3RydWN0IGllZWU4MDIxMV9zdGEgKnN0YSwgaW50IGNvbm5fc3RhdGUs IGJvb2wgbmV3bHkpOw0KPiAraW50IF9fbXQ3OTE1X21jdV9hZGRfc3RhKHN0cnVjdCBtdDc5 MTVfZGV2ICpkZXYsIHN0cnVjdCBpZWVlODAyMTFfdmlmIA0KPiAqdmlmLA0KPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBpZWVlODAyMTFfc3RhICpzdGEsIHN0cnVjdCBt dDc2X3djaWQgKndjaWQsDQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW50IGNvbm5f c3RhdGUsIGJvb2wgbmV3bHkpOw0KPiArc3RhdGljIGlubGluZSBpbnQNCj4gK210NzkxNV9t Y3VfYWRkX3N0YShzdHJ1Y3QgbXQ3OTE1X2RldiAqZGV2LCBzdHJ1Y3QgaWVlZTgwMjExX3Zp ZiAqdmlmLA0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGllZWU4MDIxMV9zdGEg KnN0YSwgaW50IGNvbm5fc3RhdGUsIGJvb2wgbmV3bHkpDQo+ICt7DQo+ICvCoMKgwqAgcmV0 dXJuIF9fbXQ3OTE1X21jdV9hZGRfc3RhKGRldiwgdmlmLCBzdGEsIE5VTEwsIGNvbm5fc3Rh dGUsIG5ld2x5KTsNCj4gK30NCj4gKw0KPiAgwqBpbnQgbXQ3OTE1X21jdV9hZGRfdHhfYmEo c3RydWN0IG10NzkxNV9kZXYgKmRldiwNCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHN0cnVjdCBpZWVlODAyMTFfYW1wZHVfcGFyYW1zICpwYXJhbXMsDQo+ICDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBib29sIGFkZCk7DQo+IEBAIC00NzIsNyArNDgwLDggQEAgaW50 IG10NzkxNV9tY3VfYWRkX2JlYWNvbihzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywgDQo+IHN0 cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsDQo+ICDCoGludCBtdDc5MTVfbWN1X2FkZF9vYnNz X3NwcihzdHJ1Y3QgbXQ3OTE1X3BoeSAqcGh5LCBzdHJ1Y3QgDQo+IGllZWU4MDIxMV92aWYg KnZpZiwNCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBpZWVl ODAyMTFfaGVfb2Jzc19wZCAqaGVfb2Jzc19wZCk7DQo+ICDCoGludCBtdDc5MTVfbWN1X2Fk ZF9yYXRlX2N0cmwoc3RydWN0IG10NzkxNV9kZXYgKmRldiwgc3RydWN0IA0KPiBpZWVlODAy MTFfdmlmICp2aWYsDQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1 Y3QgaWVlZTgwMjExX3N0YSAqc3RhLCBib29sIGNoYW5nZWQpOw0KPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGllZWU4MDIxMV9zdGEgKnN0YSwgc3RydWN0 IG10NzZfd2NpZCAqd2NpZCwNCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGJvb2wgY2hhbmdlZCk7DQo+ICDCoGludCBtdDc5MTVfbWN1X2FkZF9zbXBzKHN0cnVjdCBt dDc5MTVfZGV2ICpkZXYsIHN0cnVjdCBpZWVlODAyMTFfdmlmIA0KPiAqdmlmLA0KPiAgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBpZWVlODAyMTFfc3RhICpzdGEpOw0KPiAg wqBpbnQgbXQ3OTE1X3NldF9jaGFubmVsKHN0cnVjdCBtdDc2X3BoeSAqbXBoeSk7DQo+IEBA IC00ODIsNiArNDkxLDcgQEAgaW50IG10NzkxNV9tY3VfdXBkYXRlX2VkY2Eoc3RydWN0IG10 NzkxNV9kZXYgKmRldiwgDQo+IHZvaWQgKnJlcSk7DQo+ICDCoGludCBtdDc5MTVfbWN1X3Nl dF9maXhlZF9yYXRlX2N0cmwoc3RydWN0IG10NzkxNV9kZXYgKmRldiwNCj4gIMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2 aWYsDQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3Qg aWVlZTgwMjExX3N0YSAqc3RhLA0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHN0cnVjdCBtdDc2X3djaWQgKndjaWQsDQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB2b2lkICpkYXRhLCB1MzIgZmllbGQpOw0KPiAgwqBpbnQg bXQ3OTE1X21jdV9zZXRfZWVwcm9tKHN0cnVjdCBtdDc5MTVfZGV2ICpkZXYpOw0KPiAgwqBp bnQgbXQ3OTE1X21jdV9nZXRfZWVwcm9tKHN0cnVjdCBtdDc5MTVfZGV2ICpkZXYsIHUzMiBv ZmZzZXQsIHU4IA0KPiAqcmVhZF9idWYpOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv d2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni91dGlsLmMgYi9kcml2ZXJzL25ldC8gDQo+IHdpcmVs ZXNzL21lZGlhdGVrL210NzYvdXRpbC5jDQo+IGluZGV4IDk1YjNkYzk2ZTRjNC4uOWZhNjBk MzgwZWRlIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9t dDc2L3V0aWwuYw0KPiArKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2 L3V0aWwuYw0KPiBAQCAtNDIsMTIgKzQyLDE5IEBAIGJvb2wgX19fX210NzZfcG9sbF9tc2Vj KHN0cnVjdCBtdDc2X2RldiAqZGV2LCB1MzIgDQo+IG9mZnNldCwgdTMyIG1hc2ssIHUzMiB2 YWwsDQo+ICDCoH0NCj4gIMKgRVhQT1JUX1NZTUJPTF9HUEwoX19fX210NzZfcG9sbF9tc2Vj KTsNCj4gDQo+IC1pbnQgbXQ3Nl93Y2lkX2FsbG9jKHUzMiAqbWFzaywgaW50IHNpemUpDQo+ ICtpbnQgX19tdDc2X3djaWRfYWxsb2ModTMyICptYXNrLCBpbnQgbWluLCBpbnQgc2l6ZSkN Cj4gIMKgew0KPiArwqDCoMKgIHUzMiBtaW5fbWFzayA9IH4wOw0KPiAgwqDCoMKgwqAgaW50 IGksIGlkeCA9IDAsIGN1cjsNCj4gDQo+ICvCoMKgwqAgbWFzayArPSBtaW4gLyAzMjsNCj4g K8KgwqDCoCBtaW4gJT0gMzI7DQo+ICvCoMKgwqAgaWYgKG1pbiA+IDApDQo+ICvCoMKgwqDC oMKgwqDCoCBtaW5fbWFzayA9IH4oKDEgPDwgbWluKSAtIDEpOw0KPiArDQo+ICDCoMKgwqDC oCBmb3IgKGkgPSAwOyBpIDwgRElWX1JPVU5EX1VQKHNpemUsIDMyKTsgaSsrKSB7DQo+IC3C oMKgwqDCoMKgwqDCoCBpZHggPSBmZnMofm1hc2tbaV0pOw0KPiArwqDCoMKgwqDCoMKgwqAg aWR4ID0gZmZzKH5tYXNrW2ldICYgbWluX21hc2spOw0KPiArwqDCoMKgwqDCoMKgwqAgbWlu X21hc2sgPSB+MDsNCj4gIMKgwqDCoMKgwqDCoMKgwqAgaWYgKCFpZHgpDQo+ICDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7DQo+IA0KPiBAQCAtNjIsNyArNjksNyBAQCBp bnQgbXQ3Nl93Y2lkX2FsbG9jKHUzMiAqbWFzaywgaW50IHNpemUpDQo+IA0KPiAgwqDCoMKg wqAgcmV0dXJuIC0xOw0KPiAgwqB9DQo+IC1FWFBPUlRfU1lNQk9MX0dQTChtdDc2X3djaWRf YWxsb2MpOw0KPiArRVhQT1JUX1NZTUJPTF9HUEwoX19tdDc2X3djaWRfYWxsb2MpOw0KPiAN Cj4gIMKgaW50IG10NzZfZ2V0X21pbl9hdmdfcnNzaShzdHJ1Y3QgbXQ3Nl9kZXYgKmRldiwg dTggcGh5X2lkeCkNCj4gIMKgew0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxl c3MvbWVkaWF0ZWsvbXQ3Ni91dGlsLmggYi9kcml2ZXJzL25ldC8gDQo+IHdpcmVsZXNzL21l ZGlhdGVrL210NzYvdXRpbC5oDQo+IGluZGV4IDI2MDk2NWRkZTk0Yy4uYmNhMjg5M2Y5ODBl IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L3V0 aWwuaA0KPiArKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L3V0aWwu aA0KPiBAQCAtMjcsNyArMjcsMTIgQEAgZW51bSB7DQo+ICDCoCNkZWZpbmUgTVQ3Nl9JTkNS KF92YXIsIF9zaXplKSBcDQo+ICDCoMKgwqDCoCAoX3ZhciA9ICgoKF92YXIpICsgMSkgJSAo X3NpemUpKSkNCj4gDQo+IC1pbnQgbXQ3Nl93Y2lkX2FsbG9jKHUzMiAqbWFzaywgaW50IHNp emUpOw0KPiAraW50IF9fbXQ3Nl93Y2lkX2FsbG9jKHUzMiAqbWFzaywgaW50IG1pbiwgaW50 IHNpemUpOw0KPiArDQo+ICtzdGF0aWMgaW5saW5lIGludCBtdDc2X3djaWRfYWxsb2ModTMy ICptYXNrLCBpbnQgc2l6ZSkNCj4gK3sNCj4gK8KgwqDCoCByZXR1cm4gX19tdDc2X3djaWRf YWxsb2MobWFzaywgMCwgc2l6ZSk7DQo+ICt9DQo+IA0KPiAgwqBzdGF0aWMgaW5saW5lIHZv aWQNCj4gIMKgbXQ3Nl93Y2lkX21hc2tfc2V0KHUzMiAqbWFzaywgaW50IGlkeCkNCg0K --------------ISpd7csWw07LP5BknOtc30Sv Content-Type: application/pgp-keys; name="OpenPGP_0xE3520CC91929C8E7.asc" Content-Disposition: attachment; filename="OpenPGP_0xE3520CC91929C8E7.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- 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 scUnWnv8sErY943hM8MUsMQ5D0P2 =3DUrys -----END PGP PUBLIC KEY BLOCK----- --------------ISpd7csWw07LP5BknOtc30Sv-- --------------0JGG8bgxkHQLHQ0MnfpFgV9C-- --------------vdFXcXfONvPNqmLpznB2aCVK Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEET/yoGP3p5Zl+RKVuX75KBAfJsRkFAmhcMPoFAwAAAAAACgkQX75KBAfJsRmE jhAAj0qb0/SQ+EHN8/XpVMPpbmH0j7ZCX75psPCkFCXxHvqsAI070fZX1KUCGe0ivgkn8aIQCoFF CBRNBwXd6K135iOISzTQqr4alZwy3AUAxqG6/O9XGtMYoAmsH/xV4LCp3S5Tn4WxAH9BpS9qateh FtcoDWJI/uZQjVELPRVnbW1iSyXrXXYib6t9x7Gcg2ZqL+G5xnCspLhvLavAtpW4z6WVd9Gd4+ue dfUybRE8HMbpqUSeQXRXfimcRE6AEXqXHRYFrIACHQhBCGPg+GkTahN7phaXY4NKhvYhrPmQB7C8 qvU7n4KUkXTviL/vY7H86tP92qkB8I0ZvzEeDBaitjByqh3gZh0I/VUuOJJ7hzwn1UEnjKVp4o5l 9OcBn6XK92IITRzPJRyoqfyF9k6xXKK9Qe9ARiIZGaU7Epp5tlNIkgDFyf3h6dI0oNm+VXq7SM3C bqSx2tgUktXh/CLtHBVTcNEcQBezMzJg289V4RWnC4rfVLRmT598DJAAjBxGhbjGV5BDAUQAbwsv /8ED+bin8UCYrQx4CcSzWwxq8Y7rLNY5X3+xiACoi6BJSledGHp4JsCFizbYz+iGvFGEaqSRIyVe tK3CM8pdUuuMpBevO6RP1fSxp9XIJHByK/0pewfZE/Z2aBi8paRNMa/i8w6RU3ZgvDikXmuNZTtt 8ko= =cSRk -----END PGP SIGNATURE----- --------------vdFXcXfONvPNqmLpznB2aCVK--