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 A876FC433F5 for ; Tue, 1 Feb 2022 21:11:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 162D46B015C; Tue, 1 Feb 2022 16:11:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 112FC8D0077; Tue, 1 Feb 2022 16:11:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EA76F6B015F; Tue, 1 Feb 2022 16:11:40 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0077.hostedemail.com [216.40.44.77]) by kanga.kvack.org (Postfix) with ESMTP id DB8DB6B015C for ; Tue, 1 Feb 2022 16:11:40 -0500 (EST) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 980DE95183 for ; Tue, 1 Feb 2022 21:11:40 +0000 (UTC) X-FDA: 79095457560.26.3E1C5AE Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf07.hostedemail.com (Postfix) with ESMTP id 0551D40005 for ; Tue, 1 Feb 2022 21:11:39 +0000 (UTC) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 211KSwVu026641; Tue, 1 Feb 2022 21:11:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=FeHRLCb8gkJjQr8hiQ0Q1Gaobq2o2RLeIjKo3+k+myc=; b=SHMJBDYRhiN34bQ3Q9iKFwSswOZ6ynrWxHBtPFnkUcNgH/1Z8fbBxLwNjX+YPJHK+hpH NTT11++EpzDveYkTl5v9nfLSY1ixrM3VnQ91H/7dnVvcRhKf4AGxU8wRCyP/j1l7kQtk /yt8iYYw1X0RqfKZRXE+y51ntElyRQVdYw9Zr0xxfEOQAzlJLxiDJNYZUyhWTaM9ZtwM qbLFjPmRyiJ2LPlo7B/SAm6s/Y3X+FsFUeYwuk6XAWFpad3ZpmxJI4LHqDKk4BZZqgKP 7COf/RWE2C6UNh73/53S0tUASBe/YKrfC7g50tO0QHzQ5kfesL6kVqlzRulVpcO6+IbT IA== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3dxj9vc8ud-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Feb 2022 21:11:12 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 211KthNf108735; Tue, 1 Feb 2022 21:11:11 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2174.outbound.protection.outlook.com [104.47.56.174]) by aserp3030.oracle.com with ESMTP id 3dvumg4fnc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Feb 2022 21:11:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OcvncM7cInaWKNzB2st/2gpbCosZ0WuI+ymeGVCUmzSzQ280eAqneay7woaE7kvxme7kLtNovhuAjjpm7YR5RqmizEPEPHqQNFMSG1Idemmj/CmftyAHfx86rvZEsZ9uflEq6s8mD1uWBJbPfgGj58sHLxX6jZwgVrULUE6sACIprO6dutZE0EYCOGtaDikTiHzrL0foryrAS9cQKn7xKXJUYS5AXDbndQaKRJjsSDXfaG6jKezYPEKdS0EF8dhF5ZzS9WcfMhHci//MWqdGs8RGFOgagtoIx4vcMWJETH0zZ5kF5UsO9lpzOKaN70ee9D1Lj/8cL4CSZzbQn/BAFQ== 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=FeHRLCb8gkJjQr8hiQ0Q1Gaobq2o2RLeIjKo3+k+myc=; b=fSG785vjKWOGbMR1A2wu5rLueb9WjEACiAWCDp2N53SAmHDc9FoUgDu4KZb8ffuv9wv7hf3FwEqvtoXS4Lt2u5O6dMpQYT9mAVzrqWFnY6D6hdqszgPvw3dEjZGSK7gdj1fSlWSTEvFm1dxsiVA+RjVaNlwwg/G2/MMDcsZ38mR4kHswp7TwK+UvE/VO+uAdU50kWdst3w92OLdHUtJClUZnEAJPiUhmvazhWs5iX5H/UGEli3WnwtbNv+9us+PNfLE0SDT0FHR7VRWhI2Nxc+AZsWxgargFDaO/13eUd9jbOQq8DK+n35EVe6lrWtkf9AoM0h76WP8BADtIm+i9WA== 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=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FeHRLCb8gkJjQr8hiQ0Q1Gaobq2o2RLeIjKo3+k+myc=; b=j5GtnuH57MKdVd3DnRT48eMwq9nBDn0Y3TlKOcFQKuDb4Dt3RKW/1dk2vXXJ1+Jawmr4M006Ku3xB2Z6QEH6p5g94FUgyWG/u6eBBshHa8owZxjDvu5j/QDyA/IxfL0WAP2L9Bgu2pHEaYx6HOjaE6bXhlBCyV+X6xzzfGjwtYo= Received: from SJ0PR10MB4429.namprd10.prod.outlook.com (2603:10b6:a03:2d1::14) by DS7PR10MB5359.namprd10.prod.outlook.com (2603:10b6:5:3a5::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Tue, 1 Feb 2022 21:11:09 +0000 Received: from SJ0PR10MB4429.namprd10.prod.outlook.com ([fe80::d034:a8db:9e32:acde]) by SJ0PR10MB4429.namprd10.prod.outlook.com ([fe80::d034:a8db:9e32:acde%5]) with mapi id 15.20.4930.022; Tue, 1 Feb 2022 21:11:09 +0000 From: Jane Chu To: Matthew Wilcox , Joao Martins CC: Naoya Horiguchi , "linux-mm@kvack.org" , Andrew Morton Subject: Re: [RFC] Missing compound_head() in memory-failure Thread-Topic: [RFC] Missing compound_head() in memory-failure Thread-Index: AQHYFuE9TxpAiWmVQ0Gb0dG2fkYpaax9m8OAgAE8JwCAAFrJAA== Date: Tue, 1 Feb 2022 21:11:08 +0000 Message-ID: <4786a41f-9048-e255-d48b-3922dd576255@oracle.com> References: <30a327fd-ae49-7412-ef77-9ec19480626e@oracle.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.5.1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 20e07618-eb82-46e5-db30-08d9e5c75e2b x-ms-traffictypediagnostic: DS7PR10MB5359:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5797; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hplAf97op0JfJyBl/hW5JENJ8FX1VKSrpl265N7nWnOD9f4qA2K9DlUJU3ImVCOr81WTtXKdMH4b6wiRXqnJvVeC60HdoqiWUSrCpKAhCUrraABzPkdFxM59SFOqKOjDb7K55oTdNcV6qIzE5Pc2S5ug0Q0/D0iPlojH0vRoYBRIxKcg/BeWNBHL/GgTMx3rNkJrQgBSXjItBtoPL+NIQXiqN0dfc759YU9Zgznz1/T2l+uRqNFZRqq3mHp+5Mirgi87BB2Td8uBOcD9AOYPQUc5ylsuxei/KT3VyogmblFY6UbBfsOtrTJNrBTKCbbIbL9j1ozEa22m2qEiI104OOnKbmvwWQvqoxJBO7Bmm3UjWhS4T2WS/mgB/DexJqaPoGw+kCo543fVhTmwY0XXp017BNPuy4zmYdXEo8hPpifovlbLjqnAKUDo6RhJMeynp9oFHIDUEj7mV48+arjpwuVEeLD93fGJpyPis7wcAQBK75zak3HcrkXFMyBjCiJKsbGk6r3UXsOssJQ5TN+b+9elFMO48FzUKc7TjFsm2gTww6b3LGHs52y546f4yk4CaUamr4WDpPq7nzvp/jC7hFgFESB1qo8izvj73B6K41aKLznGn7wNuuqrv95S7RhJVV3fG1/bYKCXtPflRaBp0CVzqxIj+tL5IMPf0rLjFlwzro6cLJ8K+fHvZT/j7Zhip9OuyrY4KXcV1cFzbTfJHXHaSspYaA1ZLAzBS3bIpMTdqaoyVyllxyT4y42mHLpwxzD73VkleriSfuxDzcHyGnTRk1+qWFI8AI6qB38wuekgryO2eQ72x1XEdjaSeWpr5PmHTOnZEnU2Yj9siK9GETlQNjt045lFkVNlxK7tqhY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB4429.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(31686004)(5660300002)(26005)(64756008)(186003)(66446008)(66556008)(66476007)(8676002)(8936002)(36756003)(71200400001)(76116006)(4326008)(38070700005)(38100700002)(2616005)(44832011)(66946007)(54906003)(6512007)(83380400001)(31696002)(6506007)(53546011)(2906002)(316002)(966005)(6636002)(6486002)(508600001)(110136005)(86362001)(122000001)(45980500001)(43740500002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VHVPK09CZmtnN29qR0l5MzFsUFB6UkxoRmE5YVRHNEJZb3FDY1o1M1QyMEdh?= =?utf-8?B?NnNESGtHTTJSdDVuL09GZmRTaTVxZXpQYWpvUGlDMTdZLzRLd2ZhL1F1Rlcw?= =?utf-8?B?SXl0dktiUzVjbW03UG0vT2o4VmUxOVVVNlJCWEs4S0ZYSVZBemJncHZCNGth?= =?utf-8?B?M1ZCTURrcDFBMWdKUUxkdnBwQWtQSDVMbDdrN2NSNXlZdUx1eGFKUm8vc2h5?= =?utf-8?B?bDM3NUxPNXFvajJJRUkrVndGT3Y5ZlpobktYQmpCRGlGNFBKU0UzaHUxa1pJ?= =?utf-8?B?TWluZXlHMzRUM09HVWtWZ3FrcUNZOXB6UUV3UmJQVnc2WTlycVFhYmI5Wkhq?= =?utf-8?B?ZWlQSnpUQ0pMNlErNnNvNjhGU1FmM2liTzc1R1dEU0lqTFkrTWZ5RmRWUGFn?= =?utf-8?B?dnUvUlpLU2FQbG1HQVlSc0daU2Z6U1RuYmVOak40d0Ezb0gvODVCU1hwQmlR?= =?utf-8?B?ZzgvUmtUWVZzVnVXb3NsS0JUdVpXbzc4Q0dQZUVZQ3JJcHVvWm1MNitmVFlJ?= =?utf-8?B?TklaQXkrVW9DU3l0ZWNjclVnNEE1MWZrbDNrUzlRdmNkbUZIR1ZVTmwwZk5J?= =?utf-8?B?UXVzVW1FKzM3dWxrZEpoMGhnK0xJN1ovUTNGb0d3NVJlUWxmcTdjdzNsS29G?= =?utf-8?B?YVhFVld6b2pNQ3NtVU1LVnVuTXRTc0l5TGNpaGJNdlMvWnNFWUpDN3ZHbHdy?= =?utf-8?B?VkdnOE56QmRZRTkyRURYU1ZpdEpWOW1rU08zUmFWSHdFUjU0ZktCZWt6aTlx?= =?utf-8?B?YURSMWhlc25Ca0xyNE12STUrbUdqZnpyLzBBR3krNklRclZ0cjZtcUxPSVF3?= =?utf-8?B?ZENuWThDbWJYcXJpL0wzMHkwamNtb2Q3aVpTNy82dStGWWVtMkZTMktvTGo0?= =?utf-8?B?ZDcxZlZvOUZPcWJDSlVTcmExak1mMk5yemNOSjRPYmlYSFJpWEdLWWQwUzVp?= =?utf-8?B?V04xNXJ6UFpwUFdZNVZ2UmZPOGxwVHBQR3U0dElEcDhBcGRvdEFVVnpuN2lt?= =?utf-8?B?V1VnQ0ZyblhkTk5XbEcwbG1zTExDSGJTeHhQRW1JQnIzYXBUZFA2Wkw2UjFE?= =?utf-8?B?ZmpGZ1VlS3d2aXNCVVdGRm5PS0IxOGk3YTB3L2RXR1ZKcCsvU09NL2hrMHVo?= =?utf-8?B?QVREdjBmRjhsbWg5Uy9Cc3NBbUtaQzFhUzg2VlRRWU82WlBnakN4dnVNVXcz?= =?utf-8?B?QU9TaHBDQTBPS0RaWVVvRVRlMVdoK3ZBUUZ5UjZuUSs2OXhvQ05jMVkvU1Bq?= =?utf-8?B?N1VTTGVJeVJlZHVMZzZvSmVTWHdSd1lnQkxnZ2xsb0YrUWtuRSthM3IxZ1dq?= =?utf-8?B?UnhBQzhBcXJyY3VYN09uOVRuQUpoZXNFMzJBOUZZVHcvNGtUZzIxZG9BUUhX?= =?utf-8?B?VTV6Umo0aGdRVlp5a2FLNkVmMUpYYnkyWXBXQjBMSDc1aHpoWEE0aHRkamhj?= =?utf-8?B?a3U3dVNObkdIREw1YWJnODk3c1NOdGx0Z0xweDFHei9iZkFhZXR3Qzd3RHoy?= =?utf-8?B?bFRNNVdvVWh6Y2d5ZmxXTmo2Z1ZMb2xIckdLdDdpTXdJVDVQOUg0bmdIbldw?= =?utf-8?B?Zm1PZUJ1L3V4QjI3b0ovNVh4VmwybFFGZDBONVdFZUszaXJhYlRxbVNrb2Vx?= =?utf-8?B?ZGJUK1lHZ29aaEljU1hyNjV0TEM4dWNxd3RnYUNDaUdSeFdaNi9LbUNpcGcr?= =?utf-8?B?OFhqYkpJQVYxeWRHUWdiYkl2TTltZ1J2N3pMVVNHUzhsS3NMUHRxMnZLY0Vo?= =?utf-8?B?M0hIWFp4cllmSW1YS09Rd2JMeWY5RjRnaDdWVmZNT2hod1krOVVDZUpEeWor?= =?utf-8?B?TlNSVUQ0R01aQjlRQTN3cUNsTEI0MWlSQ3J0UWFEVEJkeEZ6NzZzdkxzVWFn?= =?utf-8?B?cytvR0JNRGt0M3lFQWhVb1dqZWsxaVNITS9ERG42QlFhTWR3UmlSWDhkbG9l?= =?utf-8?B?UUVVQmhSNnRBVTJ1MEdzUEg4N1B1bW9ka3h4b0dkTEUwNEZmYzJpaUMvYy9O?= =?utf-8?B?SXR0N1dmQ1ROSmVOcC9RckVkSTFnSUtMYVdSYW9HSDliV1ZnaDQ5Z0lCUk8y?= =?utf-8?B?SlRSOU1IMW8rbmYya2k2YmpzdERXZ25YZTA4WEJBZk9YZHl5SkU2SUhpWC9k?= =?utf-8?B?eXJEbHRhQVNVMmtPeHg0WW91bkNwL3M4T0ZteVBrSDMrSEZNTm16bTdWWDhP?= =?utf-8?B?elE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <1857D9090726974A87906109D3159816@namprd10.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB4429.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 20e07618-eb82-46e5-db30-08d9e5c75e2b X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2022 21:11:08.9571 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: p4JU9fVnlfGlYgqOCG4pS22K/7Qo3ZEZB4PRdMxRKFo4gVsUUdu+rQ3MF9+tOyFIb8yyCPOQrggTEgqnorrNLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5359 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10245 signatures=673430 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 malwarescore=0 phishscore=0 mlxscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202010116 X-Proofpoint-ORIG-GUID: PdwGBH4fPUVDRtC38QrwhL9iM8NV4fJy X-Proofpoint-GUID: PdwGBH4fPUVDRtC38QrwhL9iM8NV4fJy X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 0551D40005 X-Stat-Signature: 3wzysb4gcx6pmjmigt1kzq93pnzhocny Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=SHMJBDYR; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=j5GtnuH5; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf07.hostedemail.com: domain of jane.chu@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=jane.chu@oracle.com X-Rspam-User: nil X-HE-Tag: 1643749899-842977 X-Bogosity: Ham, tests=bogofilter, spamicity=0.002888, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: T24gMi8xLzIwMjIgNzo0NiBBTSwgTWF0dGhldyBXaWxjb3ggd3JvdGU6DQo+IE9uIE1vbiwgSmFu IDMxLCAyMDIyIGF0IDA4OjU0OjM5UE0gKzAwMDAsIEpvYW8gTWFydGlucyB3cm90ZToNCj4+IE9u IDEvMzEvMjIgMjA6MjksIE1hdHRoZXcgV2lsY294IHdyb3RlOg0KPj4+IFVubGVzcyBJIGFtIG1p c3Rha2VuLCB5b3UgaGF2ZSB0byBwYXNzIHRoZSBjb21wb3VuZCBoZWFkIG9mIHRoZSBwYWdlDQo+ Pj4gd2hpY2ggaGFzIHRoZSBlcnJvciB0byBjb2xsZWN0X3Byb2NzKCkuICBBbSBJIG1pc3Rha2Vu Pw0KPj4+DQo+PiAtcmMyIGFscmVhZHkgaGFzIGEgZml4IGZvciBpdDoNCj4+DQo+PiBodHRwczov L2xvcmUua2VybmVsLm9yZy9saW51eC1tbS8yMDIyMDEyOTAyMTQyMC5QZ0JJWm0tcTklMjVha3Bt QGxpbnV4LWZvdW5kYXRpb24ub3JnLw0KPj4NCj4+IEVhcmxpZXIgaW4gdGhhdCBmdW5jdGlvbiB0 aGVyZSdzIGE6DQo+Pg0KPj4gCXBhZ2UgPSBjb21wb3VuZF9oZWFkKHBhZ2UpOw0KPj4NCj4+IFNv IHRoZSBAcGFnZSBwYXNzZWQgdG8gY29sbGVjdF9wcm9jcygpIGFscmVhZHkgaXMgYSBoZWFkIHBh Z2UuDQo+IA0KPiBJdCdzIHdyb25nIHRob3VnaCA7LSggIFlvdSBzZXQgdGhlIEhXUG9pc29uIGJp dCBvbiB0aGUgcGFnZSBhZnRlcg0KPiBjYWxsaW5nIGNvbXBvdW5kX2hlYWQoKSwgc28geW91IHNl dCB0aGUgYml0IG9uIHRoZSBoZWFkIHBhZ2UgaW5zdGVhZA0KPiBvZiB0aGUgcHJlY2lzZSBwYWdl IHRoYXQgaGFkIHRoZSBwb2lzb24uDQoNCkluZGVlZC4gVGhlIHJlc3Qgb2YgdGhlIGtlcm5lbCBp bmNsdWRpbmcgIHBtZW0gZHJpdmVyIHN0aWxsIGRlYWwgd2l0aA0KYmFzZSBwYWdlIG9uIGNsZWFy aW5nIHBvaXNvbiwgYm9va2tlZXBpbmcgZXRjLiBTbyB0aGUgSFdwb2lzb24gYml0IG5lZWRzIA0K dG8gYmUgc2V0IHByZWNpc2VseSBvbiB0aGUgcG9pc29uZWQgYmFzZSBwYWdlIHN1Y2ggdGhhdCB3 ZSBwYXNzIHRoZSANCmNvcnJlY3QgJ3BmbicgdG8gc2V0X21jZV9ub3NwZWMoKSB0byBkaXNjb3Vy YWdlIHNwZWN1bGF0aXZlIGFjY2Vzcy4NCg0KPiANCj4gSSdtIGZpeGluZyB0aGlzIHVwIGFzIHBh cnQgb2YgdGhlIGZvbGlvIHBhdGNoZXMsIGJ1dCB5b3UgbWF5IHdpc2ggdG8NCj4gZml4IGl0IGVh cmxpZXIgdGhhbiB0aGF0Lg0KDQpUaGFua3MgZm9yIHRoZSBmaXghDQoNCi1qYW5lDQoNCg0K