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 904E8C48BC3 for ; Tue, 20 Feb 2024 09:07:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 244C46B0083; Tue, 20 Feb 2024 04:07:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1CD6A6B0085; Tue, 20 Feb 2024 04:07:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 022616B0092; Tue, 20 Feb 2024 04:07:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id DFD176B008A for ; Tue, 20 Feb 2024 04:07:44 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id ACB97A0628 for ; Tue, 20 Feb 2024 09:07:44 +0000 (UTC) X-FDA: 81811604448.23.CAD0171 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2085.outbound.protection.outlook.com [40.107.94.85]) by imf27.hostedemail.com (Postfix) with ESMTP id 947E64000A for ; Tue, 20 Feb 2024 09:07:41 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=VDO3ibvb; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf27.hostedemail.com: domain of zhiw@nvidia.com designates 40.107.94.85 as permitted sender) smtp.mailfrom=zhiw@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708420061; 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=S6O8a2dJu00sj8YriheWKThr0Mx1uxdeYm3o6oz5T5E=; b=QWoDjHc42Nn8XouUkSEgfrkrVbd0L4g0iPyDTm4C4YZjbafTZiscuTHSIbZoBE6lSZBwj1 a9p9f7DKphdlxhZAAphfGHeSrO4qk5WmYEqgywBPrNcVexapWGfkRKfnefxL6egraHJTak +3BDX1KGVAYBQEGjNJVM9TMoGIo7+go= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1708420061; a=rsa-sha256; cv=pass; b=ErgvqOTDRpaud/vWn/bq3h7ju813Lq6ot226DVSz8oDmsToe1fv+glmhG7b8WPX8Xc3SQu fQKEzINDIfNsjXchba55cZbzTLV9wuBEHfKKKp0/qpsdQqyCx4R5V1jXl70GtLWCl0jgAP uBGvgnNxKgbhak8/HC60GEKTLu8NPRk= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=VDO3ibvb; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf27.hostedemail.com: domain of zhiw@nvidia.com designates 40.107.94.85 as permitted sender) smtp.mailfrom=zhiw@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VqZU/8qtPejOc46ywJ0p3+CLXN60NOU5WU36rCt3LJESui9hikmOC/GDnnYYeS2kb+FleVVIkzlbwsXQ5IBukwZzW9LMqt4LzzXmxS0TtDYr0UM3hB8pTuIUo0n9hVC/TIve4Uu6TxXYRC8yo4dpGOzJY9QntiKPtmjgy6i8Nq6hJk7POud5T7oN7RbCBTmrznQaoRXb9AOoRdaXs1KcXyHWF6FKnmA0i5wWm3xZIfJpDZiKeLPS5bR5KVHOwaiopFg/rjAI73uiVkfgr8zIYTAIrDnARMGUBT8IPhWh+YnSmS3A0sZXcKdgDRM61a5tMQkQQx7ZIbmlpE6ZGawASA== 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=S6O8a2dJu00sj8YriheWKThr0Mx1uxdeYm3o6oz5T5E=; b=A+yG2VPfOOuR8P3BHIgydA9tX0BSsXaDBFqBRxpxYc+yiVP2GffRZ71e4SEt1eRxhuFNrLje08bbiVk1Kh87QKn9//DcBF2SUkDUnrCFjLLj8qIRKI1HAjk3hRndUpn9kUMzPlLa+HnWuBRUMobNE0Cuomcjtx+IwIdOMBK3YbmDWouLkj3B9T1gcp6soq2poiOXPACSe4oJMZvJMbSxS0oU8VzqnTLfceyY/3Ot4yiVOiJcNxpQCB8vWAGrvAKbO/CoVyLjfCMmKfQxvmDdkVonf6mKZGe++bAWQpdEFY0ib4cIJ1QJ6I2CZi/NHaAuiYFe/lcY6A4mNyJWgOnOog== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S6O8a2dJu00sj8YriheWKThr0Mx1uxdeYm3o6oz5T5E=; b=VDO3ibvbTfFiSG2rJM0gDsRIDwnKxbSo/xaPAfO14pUj5eT3bjmtT6guxGqnxLLedLbsBvQHiMQpuH7Rzy9r/Sn0vBMMHw0NZTbr+uh4En8VZHsbkHNvHCkaFFP+G6Fz7eByAO/+UG6Lw9dWMWBeMEahVmHfJOMO9+xTR7FVlxsPFB5V4EKFQ+ne3GOfwmQ0OPp5T5h3m6o+wgrh2CDlHKnHuJqvml84asVuCvYoM/JXBduYFJ4/8Ke0uWUlXbvj5A3a8Az2e4jjeiMmIGuHT9kofyTNzSnKtGA0zHqBcBNuQcTRJpWa6xx3HdkCoqqgFvw5oL6CYUi/iwrIZa+how== Received: from SA1PR12MB6870.namprd12.prod.outlook.com (2603:10b6:806:25e::22) by PH0PR12MB5605.namprd12.prod.outlook.com (2603:10b6:510:129::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.21; Tue, 20 Feb 2024 09:07:37 +0000 Received: from SA1PR12MB6870.namprd12.prod.outlook.com ([fe80::97d8:a505:950c:6e89]) by SA1PR12MB6870.namprd12.prod.outlook.com ([fe80::97d8:a505:950c:6e89%4]) with mapi id 15.20.7316.018; Tue, 20 Feb 2024 09:07:36 +0000 From: Zhi Wang To: Ankit Agrawal , Jason Gunthorpe , "maz@kernel.org" , "oliver.upton@linux.dev" , "james.morse@arm.com" , "suzuki.poulose@arm.com" , "yuzenghui@huawei.com" , "reinette.chatre@intel.com" , "surenb@google.com" , "stefanha@redhat.com" , "brauner@kernel.org" , "catalin.marinas@arm.com" , "will@kernel.org" , "mark.rutland@arm.com" , "alex.williamson@redhat.com" , "kevin.tian@intel.com" , "yi.l.liu@intel.com" , "ardb@kernel.org" , "akpm@linux-foundation.org" , "andreyknvl@gmail.com" , "wangjinchao@xfusion.com" , "gshan@redhat.com" , "shahuang@redhat.com" , "ricarkol@google.com" , "linux-mm@kvack.org" , "lpieralisi@kernel.org" , "rananta@google.com" , "ryan.roberts@arm.com" , "david@redhat.com" , "linus.walleij@linaro.org" , "bhe@redhat.com" CC: Aniket Agashe , Neo Jia , Kirti Wankhede , "Tarun Gupta (SW-GPU)" , Vikram Sethi , Andy Currid , Alistair Popple , John Hubbard , Dan Williams , "kvmarm@lists.linux.dev" , Matt Ochs , "kvm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH v8 2/4] mm: introduce new flag to indicate wc safe Thread-Topic: [PATCH v8 2/4] mm: introduce new flag to indicate wc safe Thread-Index: AQHaY86q3o4vxPMh/EWney6fGMJmL7ES5W4AgAAHBICAAARtgA== Date: Tue, 20 Feb 2024 09:07:36 +0000 Message-ID: References: <20240220072926.6466-1-ankita@nvidia.com> <20240220072926.6466-3-ankita@nvidia.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: SA1PR12MB6870:EE_|PH0PR12MB5605:EE_ x-ms-office365-filtering-correlation-id: a70fb582-3deb-4695-c04b-08dc31f361cf x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Er8okpPBi4zzLEr6EOZGp4IRdF2bswAlZ1W37qYheCVonSKIEYiHK9JQApHaMcteXdAZu76+RUUGydHkcgXxYHUfY4A2339z1ogvIcjm8yKMiy4mpdS06lY5M5iqyXlv/Mf9Q3diJvciLssQ9QJSBGHLTB7EURGVKHvh79ln8JimH/5uwHQXl0+QMaU2ZlDc5hjq8DqlgTl+c+dXAInyXd90b6ax5MczRoWPlBGY9yZQj+pAxdPv1Yl3q2f4aPJ27QjJ7+jJiBLsKOFlq45RCvVo/R2or5q/2O96hqW4kr0A5/ij+KGxOrNdjo4ZQ4ShulgMrZPxwrowTt4fUhmgpnXDUdFKCekTVqT/q/jC0PksEufSGJfXwyThr/VnywACxruft0L9pu55CRVlD1vB4G34EmYgUP41PGhS7pF78v3f5kPF8uka0DVbAQZ28UkPCOzhx8uTaGCDg3/AwAIWrnMkgJXWIDMQQOUEa7ntGSC1U1gh4TMspStZe6AIdAzGHRkgn+GGe9U9GUKWd4EVoa58lX+l1EhstMxrmxGMk9tYd7uywaFCIUlwDppxyADil0dT8JAFcf2OlTKcc0FnrilA9SdsGH0jsaMBwz+AgkzBiU8OUiMP/6Vl9EeWckCZh0Xtclz5wUmezYTv2RA0XA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR12MB6870.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(38070700009)(921011);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dllpWU9hSkVyay9jTStkZVVZd1ZCc3d5WnJuaDVJT2lQSG5UV21XUkZocm1h?= =?utf-8?B?di9va0d0VVBmVU9mWjNsTHJwNHJVbjI5SDVucmR6RmlIbXNTZUNPOXpRUEly?= =?utf-8?B?WDl4VmxyWDJxbVZsLzdXMXJ6UXE5TVVsQnRLRXJqM2s0MmwvWTcwVkc2amFq?= =?utf-8?B?Vk9lbFNEMHg4ekRJOWRoYWZHdXRiWVhLU2ZxS1VhN0lwK2QrZDVldXgwbGNZ?= =?utf-8?B?RGZ4UlRwbVlMMkJhOGg4emd5K0xNQU5QL0dsYzZSb1RYK2Z1Z2R0dlg5T2xC?= =?utf-8?B?eGpmb0dZRHU4VVNTT0YxYU5qVkxEMHFUN0F1WEhNb1djcGNIVEV4UVJzQlc2?= =?utf-8?B?cFNrbWJ3d2NSNitVL3g2OE5Ga2ppZEs4NXBZaGp3V2FmZ1h2L3gyVktncTdZ?= =?utf-8?B?OHhtOEp0QlI0WjJ3YUJNOVJtZ0c5OWVGaUEvZVhTR1NKM1A0S3NEMll1NmtV?= =?utf-8?B?bld1VzRzOHc5WG5iMVBuR1NQSE1QVUFFSHF3VnZPK0Ntd1cwQVJNd1dFZ2xI?= =?utf-8?B?UnR3dXNhbTR1ZW9oM1l0Q3VQbkJhcXNSVis1MWpxTytNQkRhMWxlOVFJUTVF?= =?utf-8?B?ak9GbEhyTHJuYkpkbmlXUEJETWgwaWxOODQ3bmkyMUxpY2hEOGY1QUs1bUQ2?= =?utf-8?B?d001UG9yVVpOcFdaN3N3V2wrb1o0WHp1TjhQVXF0SFQ0aHUvSGVvNDYrQnAx?= =?utf-8?B?TzlJdDFHN29QaUlSRklONGRpL1RNVWNTSDBMcEowV0FjQTRLeitaOC9aQlFN?= =?utf-8?B?cEdhdUIxTDhnYkYvY3FFN3BQWTdjUlpyb0NHVGRZaFlDMEFMNjd1L3lwbHM5?= =?utf-8?B?ZWlxdFRGbzBNc0g5em1hTGlWb29WYmlSUCswSEd0T3dWVDhYTTlNcXludkJ3?= =?utf-8?B?MSs4WERyWDRVaWtWUFFJQzdJSUhYZ2VHV1hwNFk4RzNCL0d5aWZnRGhhUGs4?= =?utf-8?B?VFJsZVJOU3puWUpyYUZJQldEVUs3cEsxWVhvUEQ1cXdRZFI1YmxBam5DSG9J?= =?utf-8?B?clREU3p2QmZnbWtka3Z5NFp1Q2FKcS8zMm1OOFRxUGJIdzIrU2U4c3JYRE1a?= =?utf-8?B?QXVtYWRFNG9EaGhWclhwU2wvcTcxQ0kyeVRmbkE5V3JxZDBrVHBCZHJqNit2?= =?utf-8?B?TjhzanBuamVWUzVpaGkyM0Q4RzlvWTlzWEVpaEJITkdGcm9tRHJjTDkrcnBO?= =?utf-8?B?OTV1bUhwMWNkRG1kR3JRVUw0YVVLVXpvVlIwYkVEbzNXN3lRSmtidmNXR1VJ?= =?utf-8?B?SEFubExxL0RtNHhmM3ZRM0szZEFIeXAzRlFXcGVNWGQwWHBhUnliMEwyK3dH?= =?utf-8?B?b1l2QzNWUnVNS0dTTy9lWExtYWlCak4yMzZJV2ZmY3E5VnliOHhub0NkMDlh?= =?utf-8?B?RnZPck4vRFhCeWNERzhGUXN6Z0ZnZWdpa0I2bWhtcW9XT1FDNnI1WmJlVzY5?= =?utf-8?B?VGZwYTErbVlRU2NGUFprV0NHang0VDJvTlo0c2IxWHJvOUdUWmNtSVpKZGJh?= =?utf-8?B?M0loYlB4ZFFJcTFEem5ibDY5dlpBditlZ1pGTHdzck5wc3V0dk8yZlRaa3Ar?= =?utf-8?B?UmhFMHZUK1YyN2ZSN3M0N1laVHdGeGczZGxGTktTYlc1RWdCSzVMY1lhNWJp?= =?utf-8?B?T3pzNGpDZVdZOGlKbnpEd3M5VmJkc3pHY1pRdzBWWHdrZWxFQkpsMk1ZWk9S?= =?utf-8?B?WjY2N3QvcFJRVnFRMDNyZGRjdW9QQjRacmxrQUNXaHlDb0tPaUdPbS82VWd2?= =?utf-8?B?ZWFpNUg3YzNqdEV2UjU3TzlaSDZUMm5ZTjhrN2lpR0JDSjVTKzREeExtR2NX?= =?utf-8?B?ZjlkTHlPVkJiSEI4WXlVWWpGQit2cTNKWHFEbEtLS2MwM1hEVHBUNmZkZEUr?= =?utf-8?B?ekZNRExVcnN6SnlVaWtySDhjUEFBMmRMcGtmOVZ4dGFzTTVxY0ZGQ3hrU0Fs?= =?utf-8?B?VTBFYXMzWEd5YllUZ0ZCdFExenFMb1FMdlVCUC95SEtiODdscFZrZ0MxOUU0?= =?utf-8?B?R2Y0K2xsVjRCM1lFdEREekZVVWZpNXh5SkQyaVcxTnF6Ynh5QUxqWVZHZTND?= =?utf-8?B?OFp4WTJ5RXlpbWc2YnVXTDVtckVTREI1cFZIMWc5ZFpvRUxmTzFKcWtmUFlk?= =?utf-8?Q?fNPU=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <9C27405F8875BD4EB070092C4F991937@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR12MB6870.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a70fb582-3deb-4695-c04b-08dc31f361cf X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Feb 2024 09:07:36.6970 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cXtUkhqBgVQG6gjYDZo/yLFrBqAPghtQHpHnF4F5LldYxmGXJWUbK5x7DfHTXQ+x X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5605 X-Stat-Signature: xut74w7qo7rt77so8kfk61tj5gt4t4o8 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 947E64000A X-Rspam-User: X-HE-Tag: 1708420061-436293 X-HE-Meta: U2FsdGVkX1++dYK0X/lFPVay8pHV5tPK8vHMA04afEHeeE9vx3PyyH4WNk+n0SJwuefUxrVuH8efUfmFQSxyfbF8uvPiGiAGBlJ+krp/+ddl/Bfx/3re85TE7A1ptvx7c1Xy0mdwoTKcEWR83HhA4+N0eQf0ppuOVCJOiuK3eX38X4Jon8ULoLcJMe7N1d8NibZCZNI47sI8+GthOuoagV5xK1QpEj7rfILxmZbviJQEqRs1St8fVLnmn2ckVzMtr4uwI3Ef1oEfbXeVANd8PMyi/uLoNZ3PU0C2NDZ66Ru1t7JkYT5VT6ednb3f/m+D+ybGDfRD7EGVBakBj8zQt4tSDrquc4y2MknQmNagzZ8q5A8oGqj/J0VKxWYD0oUFHGbARtcqvpkMMi8i538DWqkZC8vxlnHXiNbVsw7g9rJvQM935OTVBdNaA6pFYOtF973tbq5p0aiMN+9T+tFZ/cOfeAalnjoEwAyuE5mliNM7ut+p9y97EjD+pMm2vPN7xsUU5w5ZCo0cGH+XE3mzxFet7WWBY2dE7BozsclOOjLRMiIoF95hJ9ErqtzVweOpaIgxmzVmU+EwVoJH0+FMVoapKvCk3SkOOV7Y6/58gvQ2wkUtagLCXbqkdtaA5JYpgHRAh787pKhhpqL1fMCKCT/Wy1LmwWpP3TS6+5IZDJDnH/sWxJotE84i4odnRpZboSEzgjJThdpqaWWEJzMvi8AUgs9uxth/mtoAjvGfGEUr1PPWmktX5xOw78IarXEUxnV5olsKo8Gw9H/Nai/fT9RVjHD38ofoxwEMB1C0mDJSGbPDQRSvrIQ3RwtZZAWZEIiwxioXeWxay2ZHkU+YwkK7aTrCRyoFt8k+ACa0+eyQF9JKfRELWUNRL3RCvVsqSsMt29fUwyT+ieMDDL4sZEJf3k8YK7HxEP8aR5wYme00YVZmVrb34VcT0+gOfFJJW6Zm1upO3mtgdZK3KOm plRqxn2W f7WqvOCMY0oh65AaOKnr7Doyzhfgd8SegZuknF4Vhr/pHO9ZsSEm605kHIibQRJymrOaWa2bgR61FbdOu2YYxO1y17vEfmT2p99NjQtDbhQCHxk2+GknfVLIDSaT/hF1IjaThsWHJ9XGLC2j9U7qVLYAOVmVwezGSVS1HjFOIKpVnqxANz/w69/HK/nq30EEW5Y1bNX+7R06hVLa6RyHQ/vEoB+cV91n4wX7fJ8PmMgeXbb4PKPzpMa9yl/FIoDuXCwLwGH9gafcKRzbjdb4M0dnRiRNXC6mng11/32vboIKaIBDs63u4jnwxkjYhCUB6VW9/wP3Kj7vFW+M44lmkvufDQA== 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: T24gMi8yMC8yNCAwODo1MSwgQW5raXQgQWdyYXdhbCB3cm90ZToNCj4+PiBUbyBzYWZlbHkgdXNl IFZGSU8gaW4gS1ZNIHRoZSBwbGF0Zm9ybSBtdXN0IGd1YXJhbnRlZSBmdWxsIHNhZmV0eSBpbiB0 aGUNCj4+PiBndWVzdCB3aGVyZSBubyBhY3Rpb24gdGFrZW4gYWdhaW5zdCBhIE1NSU8gbWFwcGlu ZyBjYW4gdHJpZ2dlciBhbg0KPj4+IHVuY29udGFpbmVkIGZhaWx1cmUuIFdlIGJlbGl2ZSB0aGF0 IG1vc3QgVkZJTyBQQ0kgcGxhdGZvcm1zIHN1cHBvcnQgdGhpcw0KPj4NCj4+IEEgbml0LCBsZXQn cyB1c2UgcGFzc2l2ZSB2b2ljZSBpbiB0aGUgcGF0Y2ggY29tbWVudC4gQWxzbyBiZWxpdmUgaXMg bW9zdGx5DQo+PiBhIHR5cG8uDQo+IA0KPiBTdXJlLCB3aWxsIGRvLg0KQWxzbyBwYXRjaCA0IGhh cyB0aGUgc2FtZSBuaXQuIEl0IHNob3VsZCBiZSBmaXhlZCBhcyB3ZWxsLg0K