From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 09C9BCA0EDC for ; Thu, 14 Aug 2025 22:18:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 601139001EB; Thu, 14 Aug 2025 18:18:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5D87C9001D5; Thu, 14 Aug 2025 18:18:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4798E9001EB; Thu, 14 Aug 2025 18:18:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 349189001D5 for ; Thu, 14 Aug 2025 18:18:08 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id D4B511407B0 for ; Thu, 14 Aug 2025 22:18:07 +0000 (UTC) X-FDA: 83776777014.08.B4338E4 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) by imf19.hostedemail.com (Postfix) with ESMTP id 9ADBC1A0003 for ; Thu, 14 Aug 2025 22:18:03 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=CYUqhJv5; spf=pass (imf19.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 198.175.65.20 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1755209884; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=BdwpE8S8qZ1QYzJSmelSYYSOMZZePZSK/WCAa7ZTZvw=; b=stB1i7cL5fZ4TMpWGAZpKfWsmGH4gEhA/bDpQnhWUz1c/fN/v5CdpYz1AkfBp+PMR9aovM E9+HNDvRonl996Ib/57PY+ZrVvTn2VBzR8ECH+CkWeDbSnEGC4e+v9OUAtrTSSiVdl9H/C ctydIFwGs3411DwJU83fiShDx3sK1sc= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=CYUqhJv5; spf=pass (imf19.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 198.175.65.20 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1755209884; a=rsa-sha256; cv=pass; b=8HN9Syn0Zn6dSHwOuEdjnT8Bd4sN+n7YVTdc4a6NXHGZ4nNIEsOy3esLiDTuCM2f/r4Dm1 +/7AQ6ly5SLDCzpoyRFFqjcBde6ejlypBlP6bvy2F4rgD8UqesYalDQuOe6Xt7PpBkytrh GFJfwCz+WjfD101+pvPIulEtwZSHL6U= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1755209884; x=1786745884; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=BdwpE8S8qZ1QYzJSmelSYYSOMZZePZSK/WCAa7ZTZvw=; b=CYUqhJv5JXAvRoQWQk8VqTHAcP9Gr8H19vvr5JgpqtHTBCtNiQyunWtW 6yo6mvOzEtoZevMf8OFuQHOR/27QP8uuoKZ8OPzXE2D1VBNu/qCpEYyrk bE1muV18dZukJVzp53QPfY7Ktb5fyO3rGbdEb4Bu97mgvYAoZg2dm2oER 0GeaGvlGcK06/TkvPpE8XBuoc8MAv6AhYEVIQFOH+KDWbzu0vbImqWAP0 K4ym4guDpOs3wgNgSHzZBKTFQyl+PnW/H5yEuEctURv7J/aZqO7zSfuAX Q5PRZa2O3b8RNG7XXpYtfWKS7vfBGefeqI2Y99XXLjpXneAVDpSaQPEqP Q==; X-CSE-ConnectionGUID: H6lO1AzhTmyeeiajwugGfA== X-CSE-MsgGUID: 8B7KeGCDREWd8D7mWfyZOw== X-IronPort-AV: E=McAfee;i="6800,10657,11522"; a="57253030" X-IronPort-AV: E=Sophos;i="6.17,290,1747724400"; d="scan'208";a="57253030" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Aug 2025 15:18:02 -0700 X-CSE-ConnectionGUID: XhTKJjZ2TUupH81GG/GvHA== X-CSE-MsgGUID: L/Fov+dAQYek95JAd1Tm5Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.17,290,1747724400"; d="scan'208";a="166366154" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by fmviesa007.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Aug 2025 15:18:01 -0700 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 14 Aug 2025 15:18:00 -0700 Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17 via Frontend Transport; Thu, 14 Aug 2025 15:18:00 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (40.107.93.50) by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 14 Aug 2025 15:18:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EHvbLyxz0oxh/KxeGq9+hGfVPXaCWVS0d1lRQ+QTp/8M6XXa/dVDtMhb2bPjHe+3lqbL59/3F7OuEMy8WzDi3lpUWkfngD+Kq8Q5RK1At4JVA+D6o6/W8RlKuhau5/RWOUDu8t+ukFEBOH0dsVhMOCt4HcEre7N1THsICgqzGGCjPmo+aZ/tTbrWpQefBD7i7aZnNWUbmsMXOEYqMNHL32zxrhato2unAtSQ3AOJqRbt3PThLFlmeyI+VNw+2jPYUL8iS4DDJydugBzRbB3wXiaInEFNTAje/YW800QEE3T71KKL2MGB6JPZR4vUSy1VJ8YOavNQfzPePqSCCNoMOw== 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=BdwpE8S8qZ1QYzJSmelSYYSOMZZePZSK/WCAa7ZTZvw=; b=W00KW1Jmi6MISPAjf73ugyi/j8Wtp8XLQKGQcoGXh8gpGna4R81zKZydILg4MChI1fm3RfoGisng3GCpGjfFjDI2Iv/w6lQtKveiwrcHp2UdVupMdZq0m0/2BbKQV2e9G8pR2WEs8zHoL920v/eDsF+9BxDHRljgwnH2aHmGyqywZOXZ9SO2W+CcwHN1f0kVMVlMGHyC1usdWxTnFHvgAMEXnlZ3AOJzutcpW4Z+v9EaCUsLOeADhMUkEFtqH3Cn5nZIFGbO4ZCVqZ1y/so7/9Z7lrCWmtUhQ1XaTVRzFzO7yETmxY0Tx1UOBZXg3SZrxZzMQHfderNKMkjahOJjHQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH7PR11MB8121.namprd11.prod.outlook.com (2603:10b6:510:234::14) by SN7PR11MB7068.namprd11.prod.outlook.com (2603:10b6:806:29b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.18; Thu, 14 Aug 2025 22:17:58 +0000 Received: from PH7PR11MB8121.namprd11.prod.outlook.com ([fe80::ec4e:64cf:cf1f:daab]) by PH7PR11MB8121.namprd11.prod.outlook.com ([fe80::ec4e:64cf:cf1f:daab%7]) with mapi id 15.20.9031.014; Thu, 14 Aug 2025 22:17:58 +0000 From: "Sridhar, Kanchana P" To: Nhat Pham CC: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "hannes@cmpxchg.org" , "yosry.ahmed@linux.dev" , "chengming.zhou@linux.dev" , "usamaarif642@gmail.com" , "ryan.roberts@arm.com" , "21cnbao@gmail.com" <21cnbao@gmail.com>, "ying.huang@linux.alibaba.com" , "akpm@linux-foundation.org" , "senozhatsky@chromium.org" , "linux-crypto@vger.kernel.org" , "herbert@gondor.apana.org.au" , "davem@davemloft.net" , "clabbe@baylibre.com" , "ardb@kernel.org" , "ebiggers@google.com" , "surenb@google.com" , "Accardi, Kristen C" , "Gomes, Vinicius" , "Feghali, Wajdi K" , "Gopal, Vinodh" , "Sridhar, Kanchana P" Subject: RE: [PATCH v11 24/24] mm: zswap: Batched zswap_compress() with compress batching of large folios. Thread-Topic: [PATCH v11 24/24] mm: zswap: Batched zswap_compress() with compress batching of large folios. Thread-Index: AQHcAp3rZa+v4TFKjkuil/Grf2UpDbRiu6WAgAAQM+A= Date: Thu, 14 Aug 2025 22:17:58 +0000 Message-ID: References: <20250801043642.8103-1-kanchana.p.sridhar@intel.com> <20250801043642.8103-25-kanchana.p.sridhar@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH7PR11MB8121:EE_|SN7PR11MB7068:EE_ x-ms-office365-filtering-correlation-id: 5d083043-1dd1-4c07-c099-08dddb806cce x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?YmZJZnU0NnBpWUE5SDR3VnlBcm1Wb1NuVU9MdHBOZ1BobUFWVUZDcW1UZTZL?= =?utf-8?B?RWNIU1pqMVJTWGFJdDErNk5wbEp2dFNwZE5UQXBENm8wVFpvUlVkQW90OFpT?= =?utf-8?B?Z2hMbGNqUFZUUjh1d0JyQU84by94ekhDWmIvUUFiRnRCWmFJbFI1aEdkaE5m?= =?utf-8?B?dEtWVEg4cWlJdEFPVzhIMm0wbmEzdENEY0Y1RkFxTUY3dC8yZFBCRm9FMnVp?= =?utf-8?B?SkdGT0p4R1VoZEVUZnhYeC9UUTltUHZpcmt3bEdKaml5by90T2ZmeVZUYm1O?= =?utf-8?B?aEI5TnJmVUl3MFZNU2trNElSMDZtLy94cFlPU1I0UzdoMmxTaTdhMHpGZ3VJ?= =?utf-8?B?U084aUJaZno3eVM0YmtxZ254Mmh4ZlBtSzJCSVFTdzJWMThjL25VYi85cmRP?= =?utf-8?B?eFNXTXhzM1FWblFIRkpBU1l1ZDFhM2xCdEIzTVNieDZnN3lIQWQ3eUxsMWZo?= =?utf-8?B?cjBGMUtaSmRJcExWbDVUNzc2bGpRdzJYalFVZGtNbUM3dVZtNEk0U3F3amtq?= =?utf-8?B?dDlCV1dEL3pJSlVlMTk2QytFUlVFVzh1TjNpOXRJOU5BNDlSc0ZNL28waThT?= =?utf-8?B?Y2RDQVJwYzFPL2MwMWFyQUZXWUlvSy9JZldwN0dkOTdjKzBFellxQVh4bWVG?= =?utf-8?B?WXcxRlBvMTRzYzBVb3lva3Z1OFRLaFVIL0Z0bld6bE1XSDUrV2VFR1NJakpZ?= =?utf-8?B?ZElSa281eVlJNkZpWW1pbnJKbUdrNmVWOTNoelVkYzAyZDBqTWc0aldPdk1M?= =?utf-8?B?b2FYQnA2bGZSd0xBa0JzZytSdnNtZDl5TmVTNVhuV243QzhoZDZaUXA5R05F?= =?utf-8?B?R1pMTFBaTTNXdXB2cTZpL2NiRDFydzlkWFExM21UaXpCRTg1em16TURCTWRX?= =?utf-8?B?R05QZjFOSGk4bVM2d1dJWnRZQnVXamRFejgvV2NXVXRDWDlHWEc4em9PVFU2?= =?utf-8?B?UWlyNXRPTFF4R0dWcUhoUHk1U3pGSENYVWZmNUcycGVndWs4MW44WGw2aWcy?= =?utf-8?B?cyt3Q1YyS2RsQXZmbzVONnRZaEMvYm00Kyt0VEViU2dGbmJmU3Q4S1VVMlJY?= =?utf-8?B?MkZmdzlBZjQzV0VRalJSWVFEVnAwd09sbVVmeHJtSVpKUktIV3BqZ2ttUWZn?= =?utf-8?B?bzc4MzYxdG1PSElDaitHK3U2Y0tBdGtuWDYzUGpWUU1sTDcvRDZ3b0pOS2tX?= =?utf-8?B?eFJ2alZIZjdaZTBCUVpVSHNWRzVpNlVrSDVoKytVbDl1QjdaZEJWRTFReVpI?= =?utf-8?B?L0MwdE5TdWl6WmhybkF5eDhpK2p6OEJWRXFRRjZCUDRUVVpXMVU2OG5zOHBG?= =?utf-8?B?SGl2K3c1T0prSktFYVJWTjkvcnNTbE80MDE2VXoybU9zK0FoQzluNGJaSUVO?= =?utf-8?B?Sjdobzc1S3hkWlNjS1B0QXhDMmpINDZzRldnUjJuSC9OVVJEc0NCTDlyamhp?= =?utf-8?B?Uy9FZXdPNldTeDcvaGl6UzVaSmpHTElRb252RDJKSmJkaHlOSUIrU2QyNWFI?= =?utf-8?B?bTFaN084ZVRnMHpteFNtd3hyY2lJbGFCamlDVHVDVHBLNTZBRjRaaHJsNTdX?= =?utf-8?B?M3lhby91QjZqZU84ZzVaOURpeG9Ka1I5aGI3Q3RWcS9qL0s2bHB3a29IM0ZH?= =?utf-8?B?MzY4NGZ6M0wwbUxJUVlFVWVxdlArT0dscmZJMUhyM3NWSTNidzdYL3RGWHlI?= =?utf-8?B?WXQyMVpTSkhOa3FjRTFRb2YyQXNSWG9CUDdkcFlZMFNhVDNKelkrNS9YYmVw?= =?utf-8?B?WjVuSk5MSnlUSzY2SDBHQ0dYemlvT3FseVVBc3padTRic1NHaTMydFkwVXpn?= =?utf-8?B?WFJwS3JGWUFnQ29qQk80a0FEd1YwQ1RBRUVCM0NIalo1ajZGQzcrRnJ4K1d1?= =?utf-8?B?ZDF2VHFlQVRvSDlReWFHS3k2dW5uUk81N0dEbTRKZDJOdmhSNVo5WlZsVXBu?= =?utf-8?B?K1A3d0puRmVjTUMya3BqNHhJSHBRSUdzNi8yKzQ3cVVZNFZZb3lZN3hnU0FQ?= =?utf-8?B?eFNTOUkwM2Z3PT0=?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB8121.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eVlQeFJ3Z2o0TVJmZlpBTVQrWUlkanFJTnJCY2lWcjZOc3JoeEpLM0tPNzlh?= =?utf-8?B?RjFXZzRBNWxPRks4VHMweDBWWFBhdlRJeE9qS1VEc2RSbWNFZ3RTcEFreG1I?= =?utf-8?B?NmMrand4a2tlRW1YOFpRWW82ejRpMUdaWi9oMnpWb1VQdnpzQVgxR0FGSmhS?= =?utf-8?B?Q1lZKzI1eC8zTUszVEhOQnBuOXROc0l5L2ZkRG5GNkkvUU1MM3N2bUtxZ1hT?= =?utf-8?B?L2FCM0NnOGJDZUl0dUhtL1BPUzhDdDQwY2tCTi8yc0Y1VHV4bkRBUlpIZXVk?= =?utf-8?B?SkNqTHNLMkp0RWFOOTRDSThuc0RQT24zc25jMklmYnltbjRuZTRwYXBvcFFM?= =?utf-8?B?YXJtelBvWVJFUS9iZW5yT2dzQWR2MFhrdlNzWmsyeWp1NVdxV3h5eFBCOG5U?= =?utf-8?B?ZW81aW9zMytJZmlBaWpaajh3TTV3YnZvbEU5RkdURWN0K2V4dUdxcDRJZ1RD?= =?utf-8?B?bks3TWdscEh5aTdCZjJPZHltYlMyZjIvRkhtaHpQTnZ3dW9FYlh6YXZaMlMy?= =?utf-8?B?NXpGMzZuQnNJR2M4RjI4RlJXZzFEVkZDZ3BrZStVS2hMVTZVV2ZmelJEVjRO?= =?utf-8?B?d25NSVFuSXVvL043YVg1bGJRRkV3bHVmWStlRGNmeXhGMXVFaE1uc3o5Qlpu?= =?utf-8?B?ZTdYUWhQU054cFhtaWVnbisyd1ZjRkhZUEhTQmlNcVovRmVRTWYzVVNxWnRm?= =?utf-8?B?RlA3WWgwS2U3OWFFSE5VYzgrOUNTTmFEeG1hcHNkTlNib0pPU2hKTEEvSTZG?= =?utf-8?B?bU5uME96VnhGZENGeHV6SXN3NnJSczM4a1F6R1I2MStzeVhXczFzSGpnTmR5?= =?utf-8?B?WjAyZjEvVmRmamRCenpCRHVtTHk2aWpvL0t2elkxOHhkMlh5VnoyZ20wNVJH?= =?utf-8?B?ekhCTk5Qa1crUFdnMCtkS2xramMwZmptM0ttQUxOSFdnWldpSmZyNEw1S2R6?= =?utf-8?B?UjlYN1p0L1pPVHg1S00ranZRSW5NcW55Wm1GN1lLQkJweG55NzVGVGhKb0Vp?= =?utf-8?B?SXFDbXpKUUJ2ZHFFWnpSWGZkRkU4dFRhemFTTGNVOHNYZlZ0YUcrZ0pZSUxr?= =?utf-8?B?Q0ozYmt5M2ZEeXpNWjhEV2xRZ085Y0VUaEl3N1lLUHZiL3VRbkNnNVFxcW5P?= =?utf-8?B?SUNqMkZGcFljYUNUV2lmcHc4dERrSHRla1dSaXNxcTlPTDZNelFqTUhpc3Jp?= =?utf-8?B?Yk4zSE1VRHEyK3JNalk0L296a2xYQm9lZzdMYWNYU1ZNM0lzSU1xNEtoVlJZ?= =?utf-8?B?Q0hxQUdBbzFpdzllUmpDQTdTOEpnZG40aml3WS9nM2NxRnNsQUo1UzlaS2Y3?= =?utf-8?B?bHp0NUxVd1pUWTZndnU2SGl0OUptTGkvWjdWWHFyeXgvYTY2MkU5UlFKWjVS?= =?utf-8?B?MVh5ZldsZ05MeVBPK2MzNldWeVkxOGRQTUF0YzBHdHZvbytuUWwzc0tkTzhQ?= =?utf-8?B?TXFhNVlsT3RYRDhGVi8zSW4wQVhodzZ5cjZQOEFmaGUzVVBIaWNnRE91aGJz?= =?utf-8?B?M2lVMVAxYVEzKzREMHU4RzluakJQQ3RlZFEzeFp2QzMxd1dIRHYyM0RiaGlU?= =?utf-8?B?KzN3YStreXlFeHlrR1QyVmV4cmJob094Ry9paEpwY0d6UFRoYVg0Q0ZORXND?= =?utf-8?B?c1pYSC93UFRCeGJYdWtUaEh3Znk1MCtGeEgxbTc0OXBReTFzOXdvSTdidmhB?= =?utf-8?B?TVl0MmtGWlJCZG1scmJnSWVFbko5Y0o1ZkswTUExdTcxQXZUMXE1bUcvTldm?= =?utf-8?B?aHBEQ1JaeUpLR3UveHI5OG12MWllOGcyMGVGaEhUS25tRTg5b3lGeVdWcVc1?= =?utf-8?B?eEg5SDIrdHpZVEo2R0drblBnTkdDZlM4U1lJcm5HdlRKOW4xbTJObFdmYnRv?= =?utf-8?B?WVBBU3FsVW5tZFZJbytXL2pGT01ocis4ZS80OUFWWDQ1SnJ2WVNBWGwrcjNn?= =?utf-8?B?dUFwSTlLUVRVbGlJRU1lVzNvOHZpcE14MWR4UUtBTnI4dnNNRXNPTm95VmNn?= =?utf-8?B?MFgxa2N3NWlRTkNvVkpLd1FnTXlFdzQyL2cxa0E2Q2FkSk9aMFFyTHFHTmxu?= =?utf-8?B?VVRTY2hWY0FTWFB0SmxqRFdsZFRNQk9ab0NFQkV1ajhNM2d4NXEycDlnbG5k?= =?utf-8?B?cVRmUDBmUHVmVkk4d3VLOHVERFJlRkFUT1hzUVo4cXJ1Zlo5aHBIaGd1bEpG?= =?utf-8?B?cUE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB8121.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5d083043-1dd1-4c07-c099-08dddb806cce X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Aug 2025 22:17:58.3874 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: dOyuJDTbHvAT9Z0xD5sNSFoPlQ6765V5Huoru7zZG1Kc6sJkdd4h1Ha31n52LMmfHK5ddf9otJ4lu4Ue85xB5oi0jBfn6XCh2bM/IvsQ9BE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB7068 X-OriginatorOrg: intel.com X-Rspamd-Queue-Id: 9ADBC1A0003 X-Rspam-User: X-Stat-Signature: ganjt7aft49anof3sybm5a6akakp1stp X-Rspamd-Server: rspam09 X-HE-Tag: 1755209883-360504 X-HE-Meta: U2FsdGVkX1961W+KNsnc6ojBD1OZSD2DN0Q9I3PJhBYvqR25SH8DlpGS5lOO5tefXAA31vpr/3Kbuyemq2OE6RAlOt5L6BBFfAMLwwrr1d53cuOaxYCeGvv19YaFjTpPsdYydsXCZH68GGgTNnWXCbX9MFoszKdffztFYza0/f3dJcOXBllS+bTcOTEQZXZFWvyYduPQLLqvN0oy1vqlf3lUm9U0ok2kygHYKAQBrcRgQ2VgTczBbs/YeTCDJaZqSykjwj1FTF5ySgiOD0QCPPrQGZxWRtwi9Tbao9LmvLFe7AmTRyJoz26xlA/JoSUbDuFezIGHk6JQvE2WMEz7Vuwj0CxhRz8ef5j27ZeIKqXuGrvIX3hvMPFffq+IRGXhlwErRdHWPJAOdWOnlQYriGOpUe98ih7Az4J1mF+qEb6TCBa6FRK+fziRhPwnKc/twVyL5MUnv5hJ2A5/fZY1bPEn1mI+WP5xAcCTo0PwZz2Ue9GrVQWOYC5QzUcR6VUrzn5IF7xWzPeedVYlFpguzsU8vhAuEDRZItuh7rg2JmyE3COIYBHqovYaIIKi6D/FvNbzPLjhEcBT9h9OZGOJOGFjoyT5YntbydVox+gN/GvO2AA8jHeu60GmrKSiIXep+2wxBvNb3Gsjdk4UnIiZUNDuBLT9r+Ki963xydgp1D3kCwVHafZptkkbLqOWGibushywjykvnw5EmRhNW2pFKe2xA858m1UtqSEQ1W7b9dB3N6cXB6bjsy+Ge0yQCannsQB5CfK9Y6avAVa/2GHiDYmS41nH2uOvrs38dBjuWQ9e1bTG4F0jzx+1pW8cqXHJT7lufJyn7xzIV6o9AOgxCOT+0Y19J7pFk8fEKVOGm0/AujsD+vNkoKrfFVMgSxOfT6cUpK4F4b9NeGmtrH+NAwxeayJ+FWOJHqvvB0d7n3/KU/RWxfXnFeFK2Z/XBBfqGW6mXT882JNUt3aMNk/ 2oItMo/o ulv0eXJ9ND7VFd8x/VbuY+XQIsYwi58H4/4w+y6vGkQPaxed4ASijDFgjnMx2uFtaYIYZV4syfKWefPc0UzBaOWQOiGtBse4/oRLqeSzZb22ETq19/HwDPI5wgVpdaTNICl/EjPu9tF+w+HOeFIFChphSinV6heEz5H6rQdPJkReJm6veB9L8VOsNcLgLr9Okd11ioQH8MKMzS7RCcTWDoB74YcLfBKKhX4t72lVN+vUvv85H9tMC7YS5tKOPNpl4RYSPBfTaIwTI+ShFpcOkF/puc61MensCT9iZFcKAXoYzVkpFBHvatWPXC89oPUEwtXUcUPuih2eYSYmbxGKTyuAtdBNwkGHivYbhk5NvSSzmmRBPX4CbyUtNqdsaEsBq6huO9jIkuDwjWsA097f01ApLK1D4kvKYW0SpjzfGGbt9LBo34qBm79wZpdDV9wlFIDtx3GB0TDyywwpYuhc+zh+9BdBUnpc8y7OPuk3H3xEeLg2b4y6b+0bsJjxjjx3ZaDCSNrQ4A40UKYlYda1b4wPMMYUP547n474IlA/kjzaSss77MNFfsO0kJboxG+99zuDahbJx31f8Y8P9iRg7XMHJEbVIMrhcKGlhnQcS9bs5WV5+BENCjE9vxYsh3PT7DpJW7N6Oy4msvzbmlAC2wnAvrugUf4zvcoejoocXqw28QYXOB3l6ItfiUGcScBdUcyw3TLKO51vvonNx8MiHTrYXvB/vCgYaGBlQsRHrHetB6Blk0IVFrAn7CAB312qmyVvUfxPHyp+hbupgx7apO1cvDB55T6fTwGYm02VB0JkE1wWi8o96+XXbg8OQ5OtOxyBcJu5gAo1luFrY3JhoTAj1iLKgmf2dg/s9RQEuP3DZYdNs3SoMHwMhQTXFfkPioC1lIb53jWHRo3EtkT0qDcUkJ8gov2HN6lRFStaYsl72BIHsstYft9o/3FzoOjlduz/mpx29Jz2e6NsWe31q2Cv0XO5H pVWCtd2c xGnfXexrI8CDHhKQqYYdlYqSNPJrN62vVZWzO0dFl3muJZC2m76xR/lJqQROV5nsKTZwbzjMUJTu3MV4yy+qQJ8RtSqJyI+wr4VFjzBGwClsl78pMiQxAoRjxclfNFFu7adopwDGx/3WPlnP4FK73baYkrpUffaBZI+NyYN0IfdDdkMdYAPW7pd31iSqSxSJJpr3CMt9AiUseNiR0gG4PhFEBu0CUAY+b2Kxd4NOHTRKsUMN9nve8Q== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE5oYXQgUGhhbSA8bnBoYW1j c0BnbWFpbC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBBdWd1c3QgMTQsIDIwMjUgMjoxNSBQTQ0K PiBUbzogU3JpZGhhciwgS2FuY2hhbmEgUCA8a2FuY2hhbmEucC5zcmlkaGFyQGludGVsLmNvbT4N Cj4gQ2M6IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LW1tQGt2YWNrLm9yZzsN Cj4gaGFubmVzQGNtcHhjaGcub3JnOyB5b3NyeS5haG1lZEBsaW51eC5kZXY7IGNoZW5nbWluZy56 aG91QGxpbnV4LmRldjsNCj4gdXNhbWFhcmlmNjQyQGdtYWlsLmNvbTsgcnlhbi5yb2JlcnRzQGFy bS5jb207IDIxY25iYW9AZ21haWwuY29tOw0KPiB5aW5nLmh1YW5nQGxpbnV4LmFsaWJhYmEuY29t OyBha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnOw0KPiBzZW5vemhhdHNreUBjaHJvbWl1bS5vcmc7 IGxpbnV4LWNyeXB0b0B2Z2VyLmtlcm5lbC5vcmc7DQo+IGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9y Zy5hdTsgZGF2ZW1AZGF2ZW1sb2Z0Lm5ldDsNCj4gY2xhYmJlQGJheWxpYnJlLmNvbTsgYXJkYkBr ZXJuZWwub3JnOyBlYmlnZ2Vyc0Bnb29nbGUuY29tOw0KPiBzdXJlbmJAZ29vZ2xlLmNvbTsgQWNj YXJkaSwgS3Jpc3RlbiBDIDxrcmlzdGVuLmMuYWNjYXJkaUBpbnRlbC5jb20+Ow0KPiBHb21lcywg VmluaWNpdXMgPHZpbmljaXVzLmdvbWVzQGludGVsLmNvbT47IEZlZ2hhbGksIFdhamRpIEsNCj4g PHdhamRpLmsuZmVnaGFsaUBpbnRlbC5jb20+OyBHb3BhbCwgVmlub2RoIDx2aW5vZGguZ29wYWxA aW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYxMSAyNC8yNF0gbW06IHpzd2FwOiBC YXRjaGVkIHpzd2FwX2NvbXByZXNzKCkgd2l0aA0KPiBjb21wcmVzcyBiYXRjaGluZyBvZiBsYXJn ZSBmb2xpb3MuDQo+IA0KPiBPbiBUaHUsIEp1bCAzMSwgMjAyNSBhdCA5OjM24oCvUE0gS2FuY2hh bmEgUCBTcmlkaGFyDQo+IDxrYW5jaGFuYS5wLnNyaWRoYXJAaW50ZWwuY29tPiB3cm90ZToNCj4g Pg0KPiA+IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyB1bmlmaWVkIGltcGxlbWVudGF0aW9u IG9mIHpzd2FwX2NvbXByZXNzKCkNCj4gPiBmb3IgY29tcHJlc3NvcnMgdGhhdCBkbyBhbmQgZG8g bm90IHN1cHBvcnQgYmF0Y2hpbmcuIFRoaXMgZWxpbWluYXRlcw0KPiA+IGNvZGUgZHVwbGljYXRp b24gYW5kIGZhY2lsaXRhdGVzIG1haW50YWluYWJpbGl0eSBvZiB0aGUgY29kZSB3aXRoIHRoZQ0K PiA+IGludHJvZHVjdGlvbiBvZiBjb21wcmVzcyBiYXRjaGluZy4NCj4gPg0KPiA+IFRoZSB2ZWN0 b3JpemVkIGltcGxlbWVudGF0aW9uIG9mIGNhbGxpbmcgdGhlIGVhcmxpZXIgenN3YXBfY29tcHJl c3MoKQ0KPiA+IHNlcXVlbnRpYWxseSwgb25lIHBhZ2UgYXQgYSB0aW1lIGluIHpzd2FwX3N0b3Jl X3BhZ2VzKCksIGlzIHJlcGxhY2VkDQo+ID4gd2l0aCB0aGlzIG5ldyB2ZXJzaW9uIG9mIHpzd2Fw X2NvbXByZXNzKCkgdGhhdCBhY2NlcHRzIG11bHRpcGxlIHBhZ2VzIHRvDQo+ID4gY29tcHJlc3Mg YXMgYSBiYXRjaC4NCj4gPg0KPiA+IElmIHRoZSBjb21wcmVzc29yIGRvZXMgbm90IHN1cHBvcnQg YmF0Y2hpbmcsIGVhY2ggcGFnZSBpbiB0aGUgYmF0Y2ggaXMNCj4gPiBjb21wcmVzc2VkIGFuZCBz dG9yZWQgc2VxdWVudGlhbGx5Lg0KPiA+DQo+ID4gSWYgdGhlIGNvbXByZXNzb3Igc3VwcG9ydHMg YmF0Y2hpbmcsIGZvciBlLmcuLCAnZGVmbGF0ZS1pYWEnLCB0aGUgSW50ZWwNCj4gPiBJQUEgaGFy ZHdhcmUgYWNjZWxlcmF0b3IsIHRoZSBiYXRjaCBpcyBjb21wcmVzc2VkIGluIHBhcmFsbGVsIGlu DQo+ID4gaGFyZHdhcmUgYnkgc2V0dGluZyB0aGUgYWNvbXBfY3R4LT5yZXEtPmtlcm5lbF9kYXRh IHRvIGNvbnRhaW4gdGhlDQo+ID4gbmVjZXNzYXJ5IGJhdGNoaW5nIGRhdGEgYmVmb3JlIGNhbGxp bmcgY3J5cHRvX2Fjb21wX2NvbXByZXNzKCkuIElmIGFsbA0KPiA+IHJlcXVlc3RzIGluIHRoZSBi YXRjaCBhcmUgY29tcHJlc3NlZCB3aXRob3V0IGVycm9ycywgdGhlIGNvbXByZXNzZWQNCj4gPiBi dWZmZXJzIGFyZSB0aGVuIHN0b3JlZCBpbiB6cG9vbC4NCj4gPg0KPiA+IEFub3RoZXIgaW1wb3J0 YW50IGNoYW5nZSB0aGlzIHBhdGNoIG1ha2VzIGlzIHdpdGggdGhlIGFjb21wX2N0eCBtdXRleA0K PiA+IGxvY2tpbmcgaW4genN3YXBfY29tcHJlc3MoKS4gRWFybGllciwgdGhlIG11dGV4IHdhcyBo ZWxkIHBlciBwYWdlJ3MNCj4gPiBjb21wcmVzc2lvbi4gV2l0aCB0aGUgbmV3IGNvZGUsIFt1bl1s b2NraW5nIHRoZSBtdXRleCBwZXIgcGFnZSBjYXVzZWQNCj4gPiByZWdyZXNzaW9ucyBmb3Igc29m dHdhcmUgY29tcHJlc3NvcnMgd2hlbiB0ZXN0aW5nIHdpdGggdXNlbWVtDQo+ID4gKDMwIHByb2Nl c3NlcykgYW5kIGFsc28ga2VybmVsIGNvbXBpbGF0aW9uIHdpdGggJ2FsbG1vZCcgY29uZmlnLiBU aGUNCj4gPiByZWdyZXNzaW9ucyB3ZXJlIG1vcmUgZWdncmVnaW91cyB3aGVuIFBNRCBmb2xpb3Mg d2VyZSBzdG9yZWQuIFRoZQ0KPiA+IGltcGxlbWVudGF0aW9uIGluIHRoaXMgY29tbWl0IGxvY2tz L3VubG9ja3MgdGhlIG11dGV4IG9uY2UgcGVyIGJhdGNoLA0KPiA+IHRoYXQgcmVzb2x2ZXMgdGhl IHJlZ3Jlc3Npb24uDQo+ID4NCj4gPiBUaGUgdXNlIG9mIHByZWZldGNodygpIGZvciB6c3dhcCBl bnRyaWVzIGFuZCBsaWtlbHkoKS91bmxpa2VseSgpDQo+ID4gYW5ub3RhdGlvbnMgcHJldmVudCBy ZWdyZXNzaW9ucyB3aXRoIHNvZnR3YXJlIGNvbXByZXNzb3JzIGxpa2UgenN0ZCwgYW5kDQo+ID4g Z2VuZXJhbGx5IGltcHJvdmUgbm9uLWJhdGNoaW5nIGNvbXByZXNzb3JzJyBwZXJmb3JtYW5jZSB3 aXRoIHRoZQ0KPiA+IGJhdGNoaW5nIGNvZGUgYnkgfjMlLg0KPiA+DQo+ID4gQXJjaGl0ZWN0dXJh bCBjb25zaWRlcmF0aW9ucyBmb3IgdGhlIHpzd2FwIGJhdGNoaW5nIGZyYW1ld29yazoNCj4gPg0K PiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KPiA+IFdlIGhhdmUgZGVzaWduZWQgdGhlIHpzd2FwIGJhdGNoaW5nIGZyYW1ld29y ayB0byBiZQ0KPiA+IGhhcmR3YXJlLWFnbm9zdGljLiBJdCBoYXMgbm8gZGVwZW5kZW5jaWVzIG9u IEludGVsLXNwZWNpZmljIGZlYXR1cmVzIGFuZA0KPiA+IGNhbiBiZSBsZXZlcmFnZWQgYnkgYW55 IGhhcmR3YXJlIGFjY2VsZXJhdG9yIG9yIHNvZnR3YXJlLWJhc2VkDQo+ID4gY29tcHJlc3Nvci4g SW4gb3RoZXIgd29yZHMsIHRoZSBmcmFtZXdvcmsgaXMgb3BlbiBhbmQgaW5jbHVzaXZlIGJ5DQo+ ID4gZGVzaWduLg0KPiA+DQo+ID4gT3RoZXIgb25nb2luZyB3b3JrIHRoYXQgY2FuIHVzZSBiYXRj aGluZzoNCj4gPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+ IFRoaXMgcGF0Y2gtc2VyaWVzIGRlbW9uc3RyYXRlcyB0aGUgcGVyZm9ybWFuY2UgYmVuZWZpdHMg b2YgY29tcHJlc3MNCj4gPiBiYXRjaGluZyB3aGVuIHVzZWQgaW4genN3YXBfc3RvcmUoKSBvZiBs YXJnZSBmb2xpb3MuIHNocmlua19mb2xpb19saXN0KCkNCj4gPiAicmVjbGFpbSBiYXRjaGluZyIg b2YgYW55LW9yZGVyIGZvbGlvcyBpcyB0aGUgbWFqb3IgbmV4dCB3b3JrIHRoYXQgdXNlcw0KPiA+ IHRoZSB6c3dhcCBjb21wcmVzcyBiYXRjaGluZyBmcmFtZXdvcms6IG91ciB0ZXN0aW5nIG9mIGtl cm5lbF9jb21waWxhdGlvbg0KPiA+IHdpdGggd3JpdGViYWNrIGFuZCB0aGUgenN3YXAgc2hyaW5r ZXIgaW5kaWNhdGVzIDEwWCBmZXdlciBwYWdlcyBnZXQNCj4gPiB3cml0dGVuIGJhY2sgd2hlbiB3 ZSByZWNsYWltIDMyIGZvbGlvcyBhcyBhIGJhdGNoLCBhcyBjb21wYXJlZCB0byBvbmUNCj4gPiBm b2xpbyBhdCBhIHRpbWU6IHRoaXMgaXMgd2l0aCBkZWZsYXRlLWlhYSBhbmQgd2l0aCB6c3RkLiBX ZSBleHBlY3QgdG8NCj4gPiBzdWJtaXQgYSBwYXRjaC1zZXJpZXMgd2l0aCB0aGlzIGRhdGEgYW5k IHRoZSByZXN1bHRpbmcgcGVyZm9ybWFuY2UNCj4gPiBpbXByb3ZlbWVudHMgc2hvcnRseS4gUmVj bGFpbSBiYXRjaGluZyByZWxpZXZlcyBtZW1vcnkgcHJlc3N1cmUgZmFzdGVyDQo+ID4gdGhhbiBy ZWNsYWltaW5nIG9uZSBmb2xpbyBhdCBhIHRpbWUsIGhlbmNlIGFsbGV2aWF0ZXMgdGhlIG5lZWQg dG8gc2Nhbg0KPiA+IHNsYWIgbWVtb3J5IGZvciB3cml0ZWJhY2suDQo+ID4NCj4gPiBOaGF0IGhh cyBnaXZlbiBpZGVhcyBvbiB1c2luZyBiYXRjaGluZyB3aXRoIHRoZSBvbmdvaW5nIGtjb21wcmVz c2Qgd29yaywNCj4gPiBhcyB3ZWxsIGFzIGJlbmVmaWNpYWxseSB1c2luZyBkZWNvbXByZXNzaW9u IGJhdGNoaW5nICYgYmxvY2sgSU8gYmF0Y2hpbmcNCj4gPiB0byBpbXByb3ZlIHpzd2FwIHdyaXRl YmFjayBlZmZpY2llbmN5Lg0KPiA+DQo+ID4gRXhwZXJpbWVudHMgdGhhdCBjb21iaW5lIHpzd2Fw IGNvbXByZXNzIGJhdGNoaW5nLCByZWNsYWltIGJhdGNoaW5nLA0KPiA+IHN3YXBpbl9yZWFkYWhl YWQoKSBkZWNvbXByZXNzaW9uIGJhdGNoaW5nIG9mIHByZWZldGNoZWQgcGFnZXMsIGFuZA0KPiA+ IHdyaXRlYmFjayBiYXRjaGluZyBzaG93IHRoYXQgMCBwYWdlcyBhcmUgd3JpdHRlbiBiYWNrIHdp dGggZGVmbGF0ZS1pYWENCj4gPiBhbmQgenN0ZC4gRm9yIGNvbXBhcmlzb24sIHRoZSBiYXNlbGlu ZXMgZm9yIHRoZXNlIGNvbXByZXNzb3JzIHNlZQ0KPiA+IDIwMEstODAwSyBwYWdlcyB3cml0dGVu IHRvIGRpc2sgKGtlcm5lbCBjb21waWxhdGlvbiAnYWxsbW9kJyBjb25maWcpLg0KPiA+DQo+ID4g VG8gc3VtbWFyaXplLCB0aGVzZSBhcmUgZnV0dXJlIGNsaWVudHMgb2YgdGhlIGJhdGNoaW5nIGZy YW1ld29yazoNCj4gPg0KPiA+ICAgIC0gc2hyaW5rX2ZvbGlvX2xpc3QoKSByZWNsYWltIGJhdGNo aW5nIG9mIG11bHRpcGxlIGZvbGlvczoNCj4gPiAgICAgICAgSW1wbGVtZW50ZWQsIHdpbGwgc3Vi bWl0IHBhdGNoLXNlcmllcy4NCj4gPiAgICAtIHpzd2FwIHdyaXRlYmFjayB3aXRoIGRlY29tcHJl c3MgYmF0Y2hpbmc6DQo+ID4gICAgICAgIEltcGxlbWVudGVkLCB3aWxsIHN1Ym1pdCBwYXRjaC1z ZXJpZXMuDQo+ID4gICAgLSB6cmFtOg0KPiA+ICAgICAgICBJbXBsZW1lbnRlZCwgd2lsbCBzdWJt aXQgcGF0Y2gtc2VyaWVzLg0KPiA+ICAgIC0ga2NvbXByZXNzZDoNCj4gPiAgICAgICAgTm90IHll dCBpbXBsZW1lbnRlZC4NCj4gPiAgICAtIGZpbGUgc3lzdGVtczoNCj4gPiAgICAgICAgTm90IHll dCBpbXBsZW1lbnRlZC4NCj4gPiAgICAtIHN3YXBpbl9yZWFkYWhlYWQoKSBkZWNvbXByZXNzaW9u IGJhdGNoaW5nIG9mIHByZWZldGNoZWQgcGFnZXM6DQo+ID4gICAgICAgIEltcGxlbWVudGVkLCB3 aWxsIHN1Ym1pdCBwYXRjaC1zZXJpZXMuDQo+ID4NCj4gPiBBZGRpdGlvbmFsbHksIGFueSBwbGFj ZSB3ZSBoYXZlIGZvbGlvcyB0aGF0IG5lZWQgdG8gYmUgY29tcHJlc3NlZCwgY2FuDQo+ID4gcG90 ZW50aWFsbHkgYmUgcGFyYWxsZWxpemVkLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogS2FuY2hh bmEgUCBTcmlkaGFyIDxrYW5jaGFuYS5wLnNyaWRoYXJAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ ICBtbS9zd2FwLmggIHwgIDIzICsrKysrKw0KPiA+ICBtbS96c3dhcC5jIHwgMjAxICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQ0KPiAtLS0tLQ0KPiA+ICAy IGZpbGVzIGNoYW5nZWQsIDE2OCBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkNCj4gPg0K PiA+IGRpZmYgLS1naXQgYS9tbS9zd2FwLmggYi9tbS9zd2FwLmgNCj4gPiBpbmRleCA5MTFhZDVm ZjBmODlmLi4yYWZiZjAwZjU5ZmVhIDEwMDY0NA0KPiA+IC0tLSBhL21tL3N3YXAuaA0KPiA+ICsr KyBiL21tL3N3YXAuaA0KPiA+IEBAIC0xMSw2ICsxMSwyOSBAQCBleHRlcm4gaW50IHBhZ2VfY2x1 c3RlcjsNCj4gPiAgI2luY2x1ZGUgPGxpbnV4L3N3YXBvcHMuaD4gLyogZm9yIHN3cF9vZmZzZXQg Ki8NCj4gPiAgI2luY2x1ZGUgPGxpbnV4L2Jsa190eXBlcy5oPiAvKiBmb3IgYmlvX2VuZF9pb190 ICovDQo+ID4NCj4gPiArLyogbGludXgvbW0venN3YXAuYyAqLw0KPiA+ICsvKg0KPiA+ICsgKiBB IGNvbXByZXNzaW9uIGFsZ29yaXRobSB0aGF0IHdhbnRzIHRvIGJhdGNoDQo+IGNvbXByZXNzaW9u cy9kZWNvbXByZXNzaW9ucw0KPiA+ICsgKiBtdXN0IGRlZmluZSBpdHMgb3duIGludGVybmFsIGRh dGEgc3RydWN0dXJlcyB0aGF0IGV4YWN0bHkgbWlycm9yDQo+ID4gKyAqIEBzdHJ1Y3Qgc3dhcF9i YXRjaF9jb21wX2RhdGEgYW5kIEBzdHJ1Y3QNCj4gc3dhcF9iYXRjaF9kZWNvbXBfZGF0YS4NCj4g PiArICovDQo+ID4gK3N0cnVjdCBzd2FwX2JhdGNoX2NvbXBfZGF0YSB7DQo+ID4gKyAgICAgICBz dHJ1Y3QgcGFnZSAqKnBhZ2VzOw0KPiA+ICsgICAgICAgdTggKipkc3RzOw0KPiA+ICsgICAgICAg dW5zaWduZWQgaW50ICpkbGVuczsNCj4gPiArICAgICAgIGludCAqZXJyb3JzOw0KPiA+ICsgICAg ICAgdTggbnJfY29tcHM7DQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdHJ1Y3Qgc3dhcF9iYXRjaF9k ZWNvbXBfZGF0YSB7DQo+ID4gKyAgICAgICB1OCAqKnNyY3M7DQo+ID4gKyAgICAgICBzdHJ1Y3Qg cGFnZSAqKnBhZ2VzOw0KPiA+ICsgICAgICAgdW5zaWduZWQgaW50ICpzbGVuczsNCj4gPiArICAg ICAgIHVuc2lnbmVkIGludCAqZGxlbnM7DQo+ID4gKyAgICAgICBpbnQgKmVycm9yczsNCj4gPiAr ICAgICAgIHU4IG5yX2RlY29tcHM7DQo+ID4gK307DQo+IA0KPiBUaGlzIHN0cnVjdCBpcyBub3Qg YmVpbmcgdXNlZCB5ZXQgcmlnaHQ/IEkgYXNzdW1lIHRoaXMgaXMgdXNlZCBmb3INCj4gYmF0Y2gg enN3YXAgbG9hZCBhbmQgd3JpdGViYWNrIGV0Yy4NCg0KWWVzLCB5b3UgYXJlIHJpZ2h0IDopDQoN Cj4gDQo+IENhbiB3ZSBpbnRyb2R1Y2UgdGhlbSB3aGVuIHRob3NlIHNlcmllcyBhcmUgc2VudCBv dXQ/IEp1c3QgdG8gbGltaXQNCj4gdGhlIGFtb3VudCBvZiByZXZpZXdpbmcgaGVyZSA6KQ0KDQpT dXJlLCAgSSBjYW4gbWFrZSB0aGlzIGNoYW5nZSBpbiB2MTIuDQoNCj4gDQo+ID4gKw0KPiA+ICAv KiBsaW51eC9tbS9wYWdlX2lvLmMgKi8NCj4gPiAgaW50IHNpb19wb29sX2luaXQodm9pZCk7DQo+ ID4gIHN0cnVjdCBzd2FwX2lvY2I7DQo+ID4gZGlmZiAtLWdpdCBhL21tL3pzd2FwLmMgYi9tbS96 c3dhcC5jDQo+ID4gaW5kZXggOGNhNjljM2YzMGRmMi4uYzMwYzFmMzI1ZjU3MyAxMDA2NDQNCj4g PiAtLS0gYS9tbS96c3dhcC5jDQo+ID4gKysrIGIvbW0venN3YXAuYw0KPiA+IEBAIC0zNSw2ICsz NSw3IEBADQo+ID4gICNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+DQo+ID4gICNpbmNsdWRlIDxs aW51eC93b3JrcXVldWUuaD4NCj4gPiAgI2luY2x1ZGUgPGxpbnV4L2xpc3RfbHJ1Lmg+DQo+ID4g KyNpbmNsdWRlIDxsaW51eC9wcmVmZXRjaC5oPg0KPiA+DQo+ID4gICNpbmNsdWRlICJzd2FwLmgi DQo+ID4gICNpbmNsdWRlICJpbnRlcm5hbC5oIg0KPiA+IEBAIC05ODgsNzEgKzk4OSwxNjMgQEAg c3RhdGljIGludCB6c3dhcF9jcHVfY29tcF9wcmVwYXJlKHVuc2lnbmVkDQo+IGludCBjcHUsIHN0 cnVjdCBobGlzdF9ub2RlICpub2RlKQ0KPiA+ICAgICAgICAgcmV0dXJuIHJldDsNCj4gPiAgfQ0K PiA+DQo+ID4gLXN0YXRpYyBib29sIHpzd2FwX2NvbXByZXNzKHN0cnVjdCBwYWdlICpwYWdlLCBz dHJ1Y3QgenN3YXBfZW50cnkgKmVudHJ5LA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCB6c3dhcF9wb29sICpwb29sKQ0KPiA+ICsvKg0KPiA+ICsgKiBVbmlmaWVkIGNvZGUg cGF0aCBmb3IgY29tcHJlc3NvcnMgdGhhdCBkbyBhbmQgZG8gbm90IHN1cHBvcnQgYmF0Y2hpbmcu DQo+IFRoaXMNCj4gPiArICogcHJvY2VkdXJlIHdpbGwgY29tcHJlc3MgbXVsdGlwbGUgQG5yX3Bh Z2VzIGluIEBmb2xpbyBzdGFydGluZyBmcm9tIHRoZQ0KPiA+ICsgKiBAc3RhcnQgaW5kZXguDQo+ ID4gKyAqDQo+ID4gKyAqIEl0IGlzIGFzc3VtZWQgdGhhdCBAbnJfcGFnZXMgPD0gWlNXQVBfTUFY X0JBVENIX1NJWkUuDQo+IHpzd2FwX3N0b3JlKCkgbWFrZXMNCj4gPiArICogc3VyZSBvZiB0aGlz IGJ5IGRlc2lnbi4NCj4gDQo+IE1heWJlIGFkZCBhIFZNX1dBUk5fT05fT05DRShucl9wYWdlcyA8 PSBaU1dBUF9NQVhfQkFUQ0hfU0laRSk7DQo+IGluDQo+IHpzd2FwX3N0b3JlX3BhZ2VzKCkgdG8g Y29kaWZ5IHRoaXMgZGVzaWduIGNob2ljZT8NCj4gDQo+ID4gKyAqDQo+ID4gKyAqIEBucl9wYWdl cyBjYW4gYmUgaW4gKDEsIFpTV0FQX01BWF9CQVRDSF9TSVpFXSBldmVuIGlmIHRoZQ0KPiBjb21w cmVzc29yIGRvZXMgbm90DQo+ID4gKyAqIHN1cHBvcnQgYmF0Y2hpbmcuDQo+ID4gKyAqDQo+ID4g KyAqIElmIEBwb29sLT5jb21wcl9iYXRjaF9zaXplIGlzIDEsIGVhY2ggcGFnZSBpcyBwcm9jZXNz ZWQgc2VxdWVudGlhbGx5Lg0KPiA+ICsgKg0KPiA+ICsgKiBJZiBAcG9vbC0+Y29tcHJfYmF0Y2hf c2l6ZSBpcyA+IDEsIGNvbXByZXNzaW9uIGJhdGNoaW5nIGlzIGludm9rZWQsDQo+IGV4Y2VwdCBp Zg0KPiA+ICsgKiBAbnJfcGFnZXMgaXMgMTogaWYgc28sIHdlIGNhbGwgdGhlIGZ1bGx5IHN5bmNo cm9ub3VzIG5vbi1iYXRjaGluZw0KPiA+ICsgKiBjcnlwdG9fYWNvbXAgQVBJLg0KPiA+ICsgKg0K PiA+ICsgKiBJbiBib3RoIGNhc2VzLCBpZiBhbGwgY29tcHJlc3Npb25zIGFyZSBzdWNjZXNzZnVs LCB0aGUgY29tcHJlc3NlZCBidWZmZXJzDQo+ID4gKyAqIGFyZSBzdG9yZWQgaW4genBvb2wuDQo+ ID4gKyAqDQo+ID4gKyAqIEEgZmV3IGltcG9ydGFudCBjaGFuZ2VzIG1hZGUgdG8gbm90IHJlZ3Jl c3MgYW5kIGluIGZhY3QgaW1wcm92ZQ0KPiA+ICsgKiBjb21wcmVzc2lvbiBwZXJmb3JtYW5jZSB3 aXRoIG5vbi1iYXRjaGluZyBzb2Z0d2FyZSBjb21wcmVzc29ycywNCj4gdXNpbmcgdGhpcw0KPiA+ ICsgKiBuZXcvYmF0Y2hpbmcgY29kZToNCj4gPiArICoNCj4gPiArICogMSkgYWNvbXBfY3R4IG11 dGV4IGxvY2tpbmc6DQo+ID4gKyAqICAgIEVhcmxpZXIsIHRoZSBtdXRleCB3YXMgaGVsZCBwZXIg cGFnZSBjb21wcmVzc2lvbi4gV2l0aCB0aGUgbmV3IGNvZGUsDQo+ID4gKyAqICAgIFt1bl1sb2Nr aW5nIHRoZSBtdXRleCBwZXIgcGFnZSBjYXVzZWQgcmVncmVzc2lvbnMgZm9yIHNvZnR3YXJlDQo+ ID4gKyAqICAgIGNvbXByZXNzb3JzLiBXZSBub3cgbG9jayB0aGUgbXV0ZXggb25jZSBwZXIgYmF0 Y2gsIHdoaWNoIHJlc29sdmVzDQo+IHRoZQ0KPiA+ICsgKiAgICByZWdyZXNzaW9uLg0KPiANCj4g TWFrZXMgc2Vuc2UsIHllYWguDQoNClRoYW5rcyENCg0KPiANCj4gPiArICoNCj4gPiArICogMikg VGhlIHByZWZldGNodygpIGFuZCBsaWtlbHkoKS91bmxpa2VseSgpIGFubm90YXRpb25zIHByZXZl bnQNCj4gPiArICogICAgcmVncmVzc2lvbnMgd2l0aCBzb2Z0d2FyZSBjb21wcmVzc29ycyBsaWtl IHpzdGQsIGFuZCBnZW5lcmFsbHkgaW1wcm92ZQ0KPiA+ICsgKiAgICBub24tYmF0Y2hpbmcgY29t cHJlc3NvcnMnIHBlcmZvcm1hbmNlIHdpdGggdGhlIGJhdGNoaW5nIGNvZGUgYnkNCj4gfjMlLg0K PiA+ICsgKi8NCj4gPiArc3RhdGljIGJvb2wgenN3YXBfY29tcHJlc3Moc3RydWN0IGZvbGlvICpm b2xpbywgbG9uZyBzdGFydCwgdW5zaWduZWQgaW50DQo+IG5yX3BhZ2VzLA0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCB6c3dhcF9lbnRyeSAqZW50cmllc1tdLCBzdHJ1Y3Qg enN3YXBfcG9vbCAqcG9vbCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbm9k ZV9pZCkNCj4gPiAgew0KPiA+ICAgICAgICAgc3RydWN0IGNyeXB0b19hY29tcF9jdHggKmFjb21w X2N0eDsNCj4gPiAgICAgICAgIHN0cnVjdCBzY2F0dGVybGlzdCBpbnB1dCwgb3V0cHV0Ow0KPiA+ IC0gICAgICAgaW50IGNvbXBfcmV0ID0gMCwgYWxsb2NfcmV0ID0gMDsNCj4gPiAtICAgICAgIHVu c2lnbmVkIGludCBkbGVuID0gUEFHRV9TSVpFOw0KPiA+IC0gICAgICAgdW5zaWduZWQgbG9uZyBo YW5kbGU7DQo+ID4gLSAgICAgICBzdHJ1Y3QgenBvb2wgKnpwb29sOw0KPiA+ICsgICAgICAgc3Ry dWN0IHpwb29sICp6cG9vbCA9IHBvb2wtPnpwb29sOw0KPiA+ICsNCj4gPiArICAgICAgIHVuc2ln bmVkIGludCBkbGVuc1taU1dBUF9NQVhfQkFUQ0hfU0laRV07DQo+ID4gKyAgICAgICBpbnQgZXJy b3JzW1pTV0FQX01BWF9CQVRDSF9TSVpFXTsNCj4gPiArDQo+ID4gKyAgICAgICB1bnNpZ25lZCBp bnQgbnJfY29tcHMgPSBtaW4obnJfcGFnZXMsIHBvb2wtPmNvbXByX2JhdGNoX3NpemUpOw0KPiA+ ICsgICAgICAgdW5zaWduZWQgaW50IGksIGo7DQo+ID4gKyAgICAgICBpbnQgZXJyOw0KPiA+ICAg ICAgICAgZ2ZwX3QgZ2ZwOw0KPiA+IC0gICAgICAgdTggKmRzdDsNCj4gPiArDQo+ID4gKyAgICAg ICBnZnAgPSBHRlBfTk9XQUlUIHwgX19HRlBfTk9SRVRSWSB8IF9fR0ZQX0hJR0hNRU0gfA0KPiBf X0dGUF9NT1ZBQkxFOw0KPiA+DQo+ID4gICAgICAgICBhY29tcF9jdHggPSByYXdfY3B1X3B0cihw b29sLT5hY29tcF9jdHgpOw0KPiA+DQo+ID4gICAgICAgICBtdXRleF9sb2NrKCZhY29tcF9jdHgt Pm11dGV4KTsNCj4gPg0KPiA+IC0gICAgICAgZHN0ID0gYWNvbXBfY3R4LT5idWZmZXJzWzBdOw0K PiA+IC0gICAgICAgc2dfaW5pdF90YWJsZSgmaW5wdXQsIDEpOw0KPiA+IC0gICAgICAgc2dfc2V0 X3BhZ2UoJmlucHV0LCBwYWdlLCBQQUdFX1NJWkUsIDApOw0KPiA+IC0NCj4gPiAgICAgICAgIC8q DQo+ID4gLSAgICAgICAgKiBXZSBuZWVkIFBBR0VfU0laRSAqIDIgaGVyZSBzaW5jZSB0aGVyZSBt YXliZSBvdmVyLWNvbXByZXNzaW9uDQo+IGNhc2UsDQo+ID4gLSAgICAgICAgKiBhbmQgaGFyZHdh cmUtYWNjZWxlcmF0b3JzIG1heSB3b24ndCBjaGVjayB0aGUgZHN0IGJ1ZmZlciBzaXplLCBzbw0K PiA+IC0gICAgICAgICogZ2l2aW5nIHRoZSBkc3QgYnVmZmVyIHdpdGggZW5vdWdoIGxlbmd0aCB0 byBhdm9pZCBidWZmZXIgb3ZlcmZsb3cuDQo+ID4gKyAgICAgICAgKiBOb3RlOg0KPiA+ICsgICAg ICAgICogW2ldIHJlZmVycyB0byB0aGUgaW5jb21pbmcgYmF0Y2ggc3BhY2UgYW5kIGlzIHVzZWQg dG8NCj4gPiArICAgICAgICAqICAgICBpbmRleCBpbnRvIHRoZSBmb2xpbyBwYWdlcywgQGVudHJp ZXMgYW5kIEBlcnJvcnMuDQo+ID4gICAgICAgICAgKi8NCj4gPiAtICAgICAgIHNnX2luaXRfb25l KCZvdXRwdXQsIGRzdCwgUEFHRV9TSVpFICogMik7DQo+ID4gLSAgICAgICBhY29tcF9yZXF1ZXN0 X3NldF9wYXJhbXMoYWNvbXBfY3R4LT5yZXEsICZpbnB1dCwgJm91dHB1dCwNCj4gUEFHRV9TSVpF LCBkbGVuKTsNCj4gPiArICAgICAgIGZvciAoaSA9IDA7IGkgPCBucl9wYWdlczsgaSArPSBucl9j b21wcykgew0KPiA+ICsgICAgICAgICAgICAgICBpZiAobnJfY29tcHMgPT0gMSkgew0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgIHNnX2luaXRfdGFibGUoJmlucHV0LCAxKTsNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICBzZ19zZXRfcGFnZSgmaW5wdXQsIGZvbGlvX3BhZ2UoZm9saW8s IHN0YXJ0ICsgaSksIFBBR0VfU0laRSwgMCk7DQo+ID4NCj4gPiAtICAgICAgIC8qDQo+ID4gLSAg ICAgICAgKiBpdCBtYXliZSBsb29rcyBhIGxpdHRsZSBiaXQgc2lsbHkgdGhhdCB3ZSBzZW5kIGFu IGFzeW5jaHJvbm91cyByZXF1ZXN0LA0KPiA+IC0gICAgICAgICogdGhlbiB3YWl0IGZvciBpdHMg Y29tcGxldGlvbiBzeW5jaHJvbm91c2x5LiBUaGlzIG1ha2VzIHRoZSBwcm9jZXNzDQo+IGxvb2sN Cj4gPiAtICAgICAgICAqIHN5bmNocm9ub3VzIGluIGZhY3QuDQo+ID4gLSAgICAgICAgKiBUaGVv cmV0aWNhbGx5LCBhY29tcCBzdXBwb3J0cyB1c2VycyBzZW5kIG11bHRpcGxlIGFjb21wIHJlcXVl c3RzIGluDQo+IG9uZQ0KPiA+IC0gICAgICAgICogYWNvbXAgaW5zdGFuY2UsIHRoZW4gZ2V0IHRo b3NlIHJlcXVlc3RzIGRvbmUgc2ltdWx0YW5lb3VzbHkuIGJ1dCBpbg0KPiB0aGlzDQo+ID4gLSAg ICAgICAgKiBjYXNlLCB6c3dhcCBhY3R1YWxseSBkb2VzIHN0b3JlIGFuZCBsb2FkIHBhZ2UgYnkg cGFnZSwgdGhlcmUgaXMgbm8NCj4gPiAtICAgICAgICAqIGV4aXN0aW5nIG1ldGhvZCB0byBzZW5k IHRoZSBzZWNvbmQgcGFnZSBiZWZvcmUgdGhlIGZpcnN0IHBhZ2UgaXMNCj4gZG9uZQ0KPiA+IC0g ICAgICAgICogaW4gb25lIHRocmVhZCBkb2luZyB6d2FwLg0KPiA+IC0gICAgICAgICogYnV0IGlu IGRpZmZlcmVudCB0aHJlYWRzIHJ1bm5pbmcgb24gZGlmZmVyZW50IGNwdSwgd2UgaGF2ZSBkaWZm ZXJlbnQNCj4gPiAtICAgICAgICAqIGFjb21wIGluc3RhbmNlLCBzbyBtdWx0aXBsZSB0aHJlYWRz IGNhbiBkbyAoZGUpY29tcHJlc3Npb24gaW4NCj4gcGFyYWxsZWwuDQo+ID4gLSAgICAgICAgKi8N Cj4gPiAtICAgICAgIGNvbXBfcmV0ID0gY3J5cHRvX3dhaXRfcmVxKGNyeXB0b19hY29tcF9jb21w cmVzcyhhY29tcF9jdHgtDQo+ID5yZXEpLCAmYWNvbXBfY3R4LT53YWl0KTsNCj4gPiAtICAgICAg IGRsZW4gPSBhY29tcF9jdHgtPnJlcS0+ZGxlbjsNCj4gPiAtICAgICAgIGlmIChjb21wX3JldCkN Cj4gPiAtICAgICAgICAgICAgICAgZ290byB1bmxvY2s7DQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgLyoNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgKiBXZSBuZWVkIFBBR0VfU0la RSAqIDIgaGVyZSBzaW5jZSB0aGVyZSBtYXliZSBvdmVyLQ0KPiBjb21wcmVzc2lvbiBjYXNlLA0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAqIGFuZCBoYXJkd2FyZS1hY2NlbGVyYXRvcnMg bWF5IHdvbid0IGNoZWNrIHRoZSBkc3QgYnVmZmVyDQo+IHNpemUsIHNvDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICogZ2l2aW5nIHRoZSBkc3QgYnVmZmVyIHdpdGggZW5vdWdoIGxlbmd0 aCB0byBhdm9pZCBidWZmZXINCj4gb3ZlcmZsb3cuDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICovDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgc2dfaW5pdF9vbmUoJm91dHB1dCwg YWNvbXBfY3R4LT5idWZmZXJzWzBdLCBQQUdFX1NJWkUgKiAyKTsNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICBhY29tcF9yZXF1ZXN0X3NldF9wYXJhbXMoYWNvbXBfY3R4LT5yZXEsICZpbnB1 dCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Jm91dHB1dCwgUEFHRV9TSVpFLCBQQUdFX1NJWkUpOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICBlcnJvcnNbaV0gPQ0KPiBjcnlwdG9fd2FpdF9yZXEoY3J5cHRvX2Fjb21wX2Nv bXByZXNzKGFjb21wX2N0eC0+cmVxKSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmFjb21wX2N0eC0+d2FpdCk7DQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgaWYgKHVubGlrZWx5KGVycm9yc1tpXSkpDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBnb3RvIGNvbXByZXNzX2Vycm9yOw0KPiA+ICsNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICBkbGVuc1tpXSA9IGFjb21wX2N0eC0+cmVxLT5kbGVuOw0KPiA+ ICsgICAgICAgICAgICAgICB9IGVsc2Ugew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBwYWdlICpwYWdlc1taU1dBUF9NQVhfQkFUQ0hfU0laRV07DQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IGs7DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgIGZvciAoayA9IDA7IGsgPCBucl9wYWdlczsgKytrKQ0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcGFnZXNba10gPSBmb2xpb19wYWdlKGZvbGlvLCBzdGFydCArIGsp Ow0KPiA+ICsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3dhcF9iYXRjaF9j b21wX2RhdGEgYmF0Y2hfY29tcF9kYXRhID0gew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLnBhZ2VzID0gcGFnZXMsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAuZHN0cyA9IGFjb21wX2N0eC0+YnVmZmVycywNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC5kbGVucyA9IGRsZW5zLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLmVycm9ycyA9IGVycm9ycywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC5ucl9jb21wcyA9IG5yX3BhZ2VzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg IH07DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGFjb21wX2N0eC0+cmVxLT5r ZXJuZWxfZGF0YSA9ICZiYXRjaF9jb21wX2RhdGE7DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgIGlmICh1bmxpa2VseShjcnlwdG9fYWNvbXBfY29tcHJlc3MoYWNvbXBfY3R4LT5y ZXEpKSkNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gY29tcHJlc3Nf ZXJyb3I7DQo+IA0KPiBJIGFzc3VtZSB0aGlzIGlzIGEgbmV3IGNyeXB0byBBUEk/DQoNCk5vdCBl eGFjdGx5IGEgbmV3IEFQSSwgcmF0aGVyIGEgbmV3ICJ2b2lkICprZXJuZWxfZGF0YSIgbWVtYmVy IGFkZGVkDQp0byB0aGUgZXhpc3RpbmcgInN0cnVjdCBhY29tcF9yZXEiLg0KDQo+IA0KPiBJJ2xs IGxldCBIZXJiZXJ0IGRlY2lkZSB3aGV0aGVyIHRoaXMgbWFrZXMgc2Vuc2UgOikNCg0KRGVmaW5p dGVseS4NCg0KVGhhbmtzLA0KS2FuY2hhbmENCg0KPiANCj4gPiArICAgICAgICAgICAgICAgfQ0K PiA+DQo+ID4gLSAgICAgICB6cG9vbCA9IHBvb2wtPnpwb29sOw0KPiA+IC0gICAgICAgZ2ZwID0g R0ZQX05PV0FJVCB8IF9fR0ZQX05PUkVUUlkgfCBfX0dGUF9ISUdITUVNIHwNCj4gX19HRlBfTU9W QUJMRTsNCj4gPiAtICAgICAgIGFsbG9jX3JldCA9IHpwb29sX21hbGxvYyh6cG9vbCwgZGxlbiwg Z2ZwLCAmaGFuZGxlLCBwYWdlX3RvX25pZChwYWdlKSk7DQo+ID4gLSAgICAgICBpZiAoYWxsb2Nf cmV0KQ0KPiA+IC0gICAgICAgICAgICAgICBnb3RvIHVubG9jazsNCj4gPiAtDQo+ID4gLSAgICAg ICB6cG9vbF9vYmpfd3JpdGUoenBvb2wsIGhhbmRsZSwgZHN0LCBkbGVuKTsNCj4gPiAtICAgICAg IGVudHJ5LT5oYW5kbGUgPSBoYW5kbGU7DQo+ID4gLSAgICAgICBlbnRyeS0+bGVuZ3RoID0gZGxl bjsNCj4gPiAtDQo+ID4gLXVubG9jazoNCj4gPiAtICAgICAgIGlmIChjb21wX3JldCA9PSAtRU5P U1BDIHx8IGFsbG9jX3JldCA9PSAtRU5PU1BDKQ0KPiA+IC0gICAgICAgICAgICAgICB6c3dhcF9y ZWplY3RfY29tcHJlc3NfcG9vcisrOw0KPiA+IC0gICAgICAgZWxzZSBpZiAoY29tcF9yZXQpDQo+ ID4gLSAgICAgICAgICAgICAgIHpzd2FwX3JlamVjdF9jb21wcmVzc19mYWlsKys7DQo+ID4gLSAg ICAgICBlbHNlIGlmIChhbGxvY19yZXQpDQo+ID4gLSAgICAgICAgICAgICAgIHpzd2FwX3JlamVj dF9hbGxvY19mYWlsKys7DQo+ID4gKyAgICAgICAgICAgICAgIC8qDQo+ID4gKyAgICAgICAgICAg ICAgICAqIEFsbCBAbnJfY29tcHMgcGFnZXMgd2VyZSBzdWNjZXNzZnVsbHkgY29tcHJlc3NlZC4N Cj4gPiArICAgICAgICAgICAgICAgICogU3RvcmUgdGhlIHBhZ2VzIGluIHpwb29sLg0KPiA+ICsg ICAgICAgICAgICAgICAgKg0KPiA+ICsgICAgICAgICAgICAgICAgKiBOb3RlOg0KPiA+ICsgICAg ICAgICAgICAgICAgKiBbal0gcmVmZXJzIHRvIHRoZSBpbmNvbWluZyBiYXRjaCBzcGFjZSBhbmQg aXMgdXNlZCB0bw0KPiA+ICsgICAgICAgICAgICAgICAgKiAgICAgaW5kZXggaW50byB0aGUgZm9s aW8gcGFnZXMsIEBlbnRyaWVzLCBAZGxlbnMgYW5kIEBlcnJvcnMuDQo+ID4gKyAgICAgICAgICAg ICAgICAqIFtrXSByZWZlcnMgdG8gdGhlIEBhY29tcF9jdHggc3BhY2UsIGFzIGRldGVybWluZWQg YnkNCj4gPiArICAgICAgICAgICAgICAgICogICAgIEBwb29sLT5jb21wcl9iYXRjaF9zaXplLCBh bmQgaXMgdXNlZCB0byBpbmRleCBpbnRvDQo+ID4gKyAgICAgICAgICAgICAgICAqICAgICBAYWNv bXBfY3R4LT5idWZmZXJzLg0KPiA+ICsgICAgICAgICAgICAgICAgKi8NCj4gPiArICAgICAgICAg ICAgICAgZm9yIChqID0gaTsgaiA8IGkgKyBucl9jb21wczsgKytqKSB7DQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGsgPSBqIC0gaTsNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBsb25nIGhhbmRsZTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgLyoNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgKiBwcmVmZXRjaHco KSBtaW5pbWl6ZXMgY2FjaGUtbWlzcyBsYXRlbmN5IGJ5DQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICogbW92aW5nIHRoZSB6c3dhcCBlbnRyeSB0byB0aGUgY2FjaGUgYmVmb3JlIGl0DQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICogaXMgd3JpdHRlbiB0bzsgcmVkdWNpbmcgc3lz IHRpbWUgYnkgfjEuNSUgZm9yDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICogbm9uLWJh dGNoaW5nIHNvZnR3YXJlIGNvbXByZXNzb3JzLg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAqLw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHByZWZldGNodyhlbnRyaWVzW2pdKTsN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICBlcnIgPSB6cG9vbF9tYWxsb2MoenBvb2wsIGRs ZW5zW2pdLCBnZnAsICZoYW5kbGUsIG5vZGVfaWQpOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICBpZiAodW5saWtlbHkoZXJyKSkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaWYgKGVyciA9PSAtRU5PU1BDKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB6c3dhcF9yZWplY3RfY29tcHJlc3NfcG9vcisrOw0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB6c3dhcF9yZWplY3RfYWxsb2NfZmFpbCsrOw0KPiA+ICsN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyX3VubG9jazsNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgIHpwb29sX29ial93cml0ZSh6cG9vbCwgaGFuZGxlLCBhY29tcF9jdHgtPmJ1ZmZlcnNb a10sDQo+IGRsZW5zW2pdKTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBlbnRyaWVzW2pd LT5oYW5kbGUgPSBoYW5kbGU7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgZW50cmllc1tq XS0+bGVuZ3RoID0gZGxlbnNbal07DQo+ID4gKyAgICAgICAgICAgICAgIH0NCj4gPiArICAgICAg IH0gLyogZmluaXNoZWQgY29tcHJlc3MgYW5kIHN0b3JlIG5yX3BhZ2VzLiAqLw0KPiA+DQo+ID4g ICAgICAgICBtdXRleF91bmxvY2soJmFjb21wX2N0eC0+bXV0ZXgpOw0KPiA+IC0gICAgICAgcmV0 dXJuIGNvbXBfcmV0ID09IDAgJiYgYWxsb2NfcmV0ID09IDA7DQo+ID4gKyAgICAgICByZXR1cm4g dHJ1ZTsNCj4gPiArDQo+ID4gK2NvbXByZXNzX2Vycm9yOg0KPiA+ICsgICAgICAgZm9yIChqID0g aTsgaiA8IGkgKyBucl9jb21wczsgKytqKSB7DQo+ID4gKyAgICAgICAgICAgICAgIGlmIChlcnJv cnNbal0pIHsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3JzW2pdID09IC1F Tk9TUEMpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6c3dhcF9yZWplY3Rf Y29tcHJlc3NfcG9vcisrOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpzd2FwX3JlamVjdF9jb21wcmVzc19mYWls Kys7DQo+ID4gKyAgICAgICAgICAgICAgIH0NCj4gPiArICAgICAgIH0NCj4gPiArDQo+ID4gK2Vy cl91bmxvY2s6DQo+ID4gKyAgICAgICBtdXRleF91bmxvY2soJmFjb21wX2N0eC0+bXV0ZXgpOw0K PiA+ICsgICAgICAgcmV0dXJuIGZhbHNlOw0KPiA+ICB9DQo+ID4NCj4gPiAgc3RhdGljIGJvb2wg enN3YXBfZGVjb21wcmVzcyhzdHJ1Y3QgenN3YXBfZW50cnkgKmVudHJ5LCBzdHJ1Y3QgZm9saW8N Cj4gKmZvbGlvKQ0KPiA+IEBAIC0xNTkwLDEyICsxNjgzLDggQEAgc3RhdGljIGJvb2wgenN3YXBf c3RvcmVfcGFnZXMoc3RydWN0IGZvbGlvDQo+ICpmb2xpbywNCj4gPiAgICAgICAgICAgICAgICAg SU5JVF9MSVNUX0hFQUQoJmVudHJpZXNbaV0tPmxydSk7DQo+ID4gICAgICAgICB9DQo+ID4NCj4g PiAtICAgICAgIGZvciAoaSA9IDA7IGkgPCBucl9wYWdlczsgKytpKSB7DQo+ID4gLSAgICAgICAg ICAgICAgIHN0cnVjdCBwYWdlICpwYWdlID0gZm9saW9fcGFnZShmb2xpbywgc3RhcnQgKyBpKTsN Cj4gPiAtDQo+ID4gLSAgICAgICAgICAgICAgIGlmICghenN3YXBfY29tcHJlc3MocGFnZSwgZW50 cmllc1tpXSwgcG9vbCkpDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgZ290byBzdG9yZV9w YWdlc19mYWlsZWQ7DQo+ID4gLSAgICAgICB9DQo+ID4gKyAgICAgICBpZiAodW5saWtlbHkoIXpz d2FwX2NvbXByZXNzKGZvbGlvLCBzdGFydCwgbnJfcGFnZXMsIGVudHJpZXMsIHBvb2wsDQo+IG5v ZGVfaWQpKSkNCj4gPiArICAgICAgICAgICAgICAgZ290byBzdG9yZV9wYWdlc19mYWlsZWQ7DQo+ ID4NCj4gPiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBucl9wYWdlczsgKytpKSB7DQo+ID4gICAg ICAgICAgICAgICAgIHN0cnVjdCB6c3dhcF9lbnRyeSAqb2xkLCAqZW50cnkgPSBlbnRyaWVzW2ld Ow0KPiA+IC0tDQo+ID4gMi4yNy4wDQo+ID4NCg==