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 ECA5FC4706C for ; Tue, 16 Jan 2024 06:30:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CD7756B006E; Tue, 16 Jan 2024 01:30:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CAECC6B0071; Tue, 16 Jan 2024 01:30:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B28326B0072; Tue, 16 Jan 2024 01:30:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A2C4C6B006E for ; Tue, 16 Jan 2024 01:30:48 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 7BDA4A0997 for ; Tue, 16 Jan 2024 06:30:48 +0000 (UTC) X-FDA: 81684200976.13.2FD1A24 Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on2044.outbound.protection.outlook.com [40.107.9.44]) by imf05.hostedemail.com (Postfix) with ESMTP id 4E9CC10000B for ; Tue, 16 Jan 2024 06:30:44 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=csgroup.eu header.s=selector2 header.b=Z1bauFs2; spf=pass (imf05.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 40.107.9.44 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; dmarc=pass (policy=quarantine) header.from=csgroup.eu; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705386644; 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=TUUiAyGn8DJnmZO0KeW4561P39TGLp9XvLZeNsBKWh4=; b=fuI5JaYR/vmCv2GThcaWUmDKltV2VBWdjoJ0IqMcMISOyw2MDk+OclZH5KsaiVM5K/FMPA bQqylStEGHF5qygDYjeMn+FFdA5gifUJ03cntjHWdbiZF+ttTOjjq+jwDxQotWl40aOQh3 DL5n0qEWCz0D+qw0JagMImp18Oclgx8= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1705386644; a=rsa-sha256; cv=pass; b=HRrxfy/ea19A7Tl1X6TyPTm/rI+WRnb7fsj3pyVqX7ydS8UGVGaM8Et30fcrYL9MheIhjI uo6sOq9DXYekYBZO+kc7qqLaOR3kgFKGVrRXHY1ltPF4TCrzXA2HvP3tJ8O0qEepF0nWnS tZxdo6JWWtGuzRCWH3YSeRSjrTK0LZ4= ARC-Authentication-Results: i=2; imf05.hostedemail.com; dkim=pass header.d=csgroup.eu header.s=selector2 header.b=Z1bauFs2; spf=pass (imf05.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 40.107.9.44 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; dmarc=pass (policy=quarantine) header.from=csgroup.eu; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nSdHikWVpbO2DaDWGQASLCci9sjzaDMW+MC/d490RWF1nWgbMLMtcHoK9v0nqyHfuZBM3QAnbzZKFpYp8SrEWQrkV1lKONtjXCDowetZ9YFE3G1EsTuAcI/cdVVm9lzzO9/0X8TOqoR0ECDDRd1yeqszaZkRaoXGbsfYiBpN/vfZ08P4ME3LgVzzlYGABEu9TiExWfDAY7rurlRI0PkBZlh5b7kNzAUGlHCZcNfg8k8Odcb5o8jcU/OfytOdm0vd69sH/+wDJEWMvqL8m/3HPCEDHOOBOOpaJw3Ryv2M88bmn8Ur6EcxQ7eythC2zGnZlvZt2yFi0HvDM/9DvZAVWA== 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=TUUiAyGn8DJnmZO0KeW4561P39TGLp9XvLZeNsBKWh4=; b=ew6/9bAecg0eVlx7GbK1/W7UWiXGrhO9pIySRx9De4i1qW4RH6APZHEhEWmvDEryuTiI+yZ+q8A5ucczE73Id+JqphzXDRNFMkTAnoBFadLJTj/uQ7RTm/MyzURLiAWSTXXfWP7ERai3foHazwDJf+72/8XnKuMkRLk9eV6iW2whXTKGvkJw8zZ7qgFYt3Q9x76eeMK5KFxCb9JaNTmqpdft+AxzgZvBUSfDk+KggxmCk9ldoVLy054ZuJXtHApT68nkhQF1W1Gq1ABW8v23b3+FqDxoE9lNNKi9RfiIp9fxC4yrL2PjD0buRjeP/2twn3RxgORD481GBlvEmZax0Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csgroup.eu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TUUiAyGn8DJnmZO0KeW4561P39TGLp9XvLZeNsBKWh4=; b=Z1bauFs2JCBtmQQxXAZBvY6KDckRXM8tMX4qX2RkR7JBN2xu3Bz+nWkITWE8KB3a42Ju2D0uLdicMSUuEUg8Zk02bkrJXLuCCUGETvJKJ1H3pC/r7cOuKAiDza5F7JDdT4zLbuMqw9RNzPHcjFN1Ayd1y4TrdaPZsA193IJiC74d0/IhgmhLZQQX27ITeW4J8DlCK5TEA8CtFIl8Ox7C2pQh8yqJGjf7XomNgcNJO1ABNgYJi49bc6ivzcG3Uur2Pc9M6ai5/u6sX0FIGtQVi/FylqlzRv/fSKcusotpiAknxyzxFY7xYa2pM7BlgSs329qQWS7Aysrt0/lnLEvKKw== Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by PAZP264MB3152.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1e7::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.26; Tue, 16 Jan 2024 06:30:39 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::9f77:c0ff:cd22:ae96]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::9f77:c0ff:cd22:ae96%4]) with mapi id 15.20.7181.027; Tue, 16 Jan 2024 06:30:39 +0000 From: Christophe Leroy To: Jason Gunthorpe , "peterx@redhat.com" CC: "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , James Houghton , David Hildenbrand , "Kirill A . Shutemov" , Yang Shi , "linux-riscv@lists.infradead.org" , Andrew Morton , "Aneesh Kumar K . V" , Rik van Riel , Andrea Arcangeli , Axel Rasmussen , Mike Rapoport , John Hubbard , Vlastimil Babka , Michael Ellerman , Andrew Jones , "linuxppc-dev@lists.ozlabs.org" , Mike Kravetz , Muchun Song , "linux-arm-kernel@lists.infradead.org" , Christoph Hellwig , Lorenzo Stoakes , Matthew Wilcox Subject: Re: [PATCH v2 06/13] mm/gup: Drop folio_fast_pin_allowed() in hugepd processing Thread-Topic: [PATCH v2 06/13] mm/gup: Drop folio_fast_pin_allowed() in hugepd processing Thread-Index: AQHaPiV3tMHobVJx102EjxnPjrned7DbR5QAgADHKYA= Date: Tue, 16 Jan 2024 06:30:39 +0000 Message-ID: References: <20240103091423.400294-1-peterx@redhat.com> <20240103091423.400294-7-peterx@redhat.com> <20240115183748.GR734935@nvidia.com> In-Reply-To: <20240115183748.GR734935@nvidia.com> Accept-Language: fr-FR, en-US Content-Language: fr-FR X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla Thunderbird x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MRZP264MB2988:EE_|PAZP264MB3152:EE_ x-ms-office365-filtering-correlation-id: 046cb5dd-eb2d-43f6-a42a-08dc165ca84c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: j3bl9c7VBMK2rnAyBOCt7BMnw+VuFGBCcABBuYXsZGzHJBpbNRY8NSSpRzXoYsRiUdk3epWMJAwgyxYXXuAH3REg3SK2zBG2wzSGyyU7vunaggxjZnEUPsK9UjgdIsgTORyUv7ivc03pHc5sJoSMiOQ7neb47a2z7eBYSBkZQc8zGLJ/Jq6svvrL14kF7XgpbjHMNf2H6wjBCWPOKepu3BX17iF4gdd8BnK+UIxKPp+IDPCKHoDNURCihz6dR3kgAEHdguqe6P6j4/bQtaQldgSoAyyjHZ1QgFSO4/B/pnWH0sWuCgMVf28Ae912f8adgP6hvf+L1Ni1VC7nogwzIScAAN7S/X68CU5o36UXbOMLF7x5MAdEJwMVUXfYk1ORCrrtl4Mno6VRf/sCVyUqvgLbC+bEQxvo2KKIH0yVSUY9YBaGItIj6ayR7qPA3HFDqHVZwyvObZ7UG8J5kanEOpffdGRaZ5p1W/OcNZt8pRGs8MeiKGJmFQyTtRsw7TjVHjHKMfpHfRQVEc93WiHSjwDGOpj2nSgVARsGablJtG8MjaxNRL+7gdqsByVDpW3sixKHn5eheD5t9cmqIyMBB9RFGjPCrD9tfoCG8tYid49CtUUpu5Bt/px9IktozstCuj188yGcit7Sinszxx1qIW6T1FxSoMLWHvPo7f+XEJk5zf5WlPkfr96aswaR3YyA x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(39860400002)(366004)(136003)(376002)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(31686004)(2616005)(66574015)(71200400001)(26005)(6512007)(478600001)(38100700002)(122000001)(38070700009)(86362001)(31696002)(36756003)(4326008)(2906002)(5660300002)(7416002)(41300700001)(6506007)(83380400001)(64756008)(66946007)(316002)(66556008)(66446008)(66476007)(91956017)(54906003)(76116006)(110136005)(44832011)(6486002)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WmJIMS9JYXQydGphNktBTEluOVZEVG8vYXdTUWM4bWZCb08waytjalM4T0d6?= =?utf-8?B?byt0Wi9MTExLTHdjT1kxeFE5UytwamFxQThZVUFLL24zTGxLUFNVTTMvMDZm?= =?utf-8?B?eGZLYlFZUmFVM21STFk1TXg4R29tZVllTGdCWGl0NytZcjFGbXZQYStRenRS?= =?utf-8?B?NlB5SnpNbzVBM1dMUzMwT1Z5akVFQzlWYkN1bmJtU1Z0UTh3TDBxSVprZkNE?= =?utf-8?B?TGo0dzZPbE0zL3I2Q0hCTEsrU0hyOW5lQ3duU3VoM0NvWVh3bHlFbzZiZTh0?= =?utf-8?B?eDNiWjFjQUVGVzAyN0doUkNtcnZqaWEzZkhxSXFGZjV6ZWhEOXNTc1VyZ0ZM?= =?utf-8?B?YWtvK1FpRDRKMVVBWUlMc2dVVEpwV0pPZUdBZXNTai9DeWErMlc3bXdPWTdH?= =?utf-8?B?TTlrL0UyZkNGMGc1S3hycjRVR0dTR0JPNTVIOUI5OXd4aklhRkpicCtEK0kv?= =?utf-8?B?TllFWnlId09zcmdNamdGcTU3bk9mMGR2Y1gyRnp0U3MvT2JXekhlaVdmTVp3?= =?utf-8?B?ODkyNjZPeWR0RjZZaXBKRXpyZzh2WWdyR3lmaHdyMWxoNjdrMWlOL0hIdHpm?= =?utf-8?B?RDg0UnE3V2ZiTmtYdjRMdWcxNXNkUXMwdUx3cGtPY1k3MkZEdWJXUE5nM2Z2?= =?utf-8?B?S3JYUEt3UWJTRURCTjRYejBhZDdSeUNQRDMvUG0xaVBodFZnUHdtZHZ0d1pT?= =?utf-8?B?aWt6VmxyQjZUamcyMG83NnpTbGFOTFQ5Vzk0cXVBbnJqNlJpVStlekd2YzRW?= =?utf-8?B?ekxLaW9HaW03eGNOMzhmTFV2aW9hdDVuT2pvVkRNczNpcXJwaFVZcjBsK1J0?= =?utf-8?B?NGxNWnptcnppZlh5aUlEWkdIRTNPTVRnNS9Ra2dkdDBzREthTk5VRDl4Ry9z?= =?utf-8?B?QzAwbEV6eXVsQ2E3a3ZrWXVmN3ZVWUhZVXB4MXJjMW5WZ2M0Vkx5UVpMK3Y2?= =?utf-8?B?N2RIZjdZSWl4aDg2QnBBTHMwOHQ1OEVtWm1kMnVWdHZGVzRhd0RIaVF0ZjNi?= =?utf-8?B?bm85WTkzVDJhcFRrSEJFcnROc2J5OUsySC9lQUtlRkQwck14azV2NUMyUXps?= =?utf-8?B?WEZDSkluMjRUMEtORHAwU3R4aEMrclVEM0c0V1BiRThJQ2RRSUZaT3NCNUNm?= =?utf-8?B?WDd4cWhTZmcyWGFXZTBxcUpoT055Z1ZyT2VjM3liMjZNdTQ4b3hrT3R1Z2Fx?= =?utf-8?B?dnhyMDcvMGl2Sm9XbTVNYlFQR20xa2xLWFJGV0VsKy85SWdHbnkyNDNjV1ZY?= =?utf-8?B?QmxFWjJNT0gzb1R1ZVg2OWR2L2o2bGI3ZWFSbkRXVy9hdWpOWExZdTQ3dFNB?= =?utf-8?B?S3NqZXdBSEdCUGUvUnNPTXFnRmwzdU9oRjdGMDJRMS8rWFNlaHdLSmlzVllV?= =?utf-8?B?eDlkeW1Ga3R5MEJkeGI2VkoydXk0aS9lSnFzZmJNMGhteU14NjFubmtKNHFx?= =?utf-8?B?ZUl0VmFxbndSdUVuREkrWm4xNHduN1lvL0VWUTNXTUpsbTV4MVByNFVnVi80?= =?utf-8?B?bjlkNGZhNzVuREQ5SVJvaHRBMndDanZ5V1ZnTGtKaXlKWkdBZEt2cXBERWNS?= =?utf-8?B?cWxUKzlwTk9sb0FYOVpXN3NJcXJDZkhmZlBFZzlSbmhWU2FOSXZNTDlnSUVa?= =?utf-8?B?Szc4alp2cDd0aXFhZ1N3cXZWRVhSZm9PSkFWRS9zcmR5TFVrTlZPN1hMc09s?= =?utf-8?B?WHFWS05RRXVmT1hocDRvSzkxdTRLSmNvbXh3eXptVXdFVEVmTlltWVIzb0FR?= =?utf-8?B?V3h0cEM1dnVZZXNzMkF4YzBXRGZJdHRUYm44TWFxbWlqaW5XSVI2MndKN2FO?= =?utf-8?B?aUVQeVBXZWg0Z0Y5UzJXMmFmQTJkRGlBVmdBN3lDdFVmejJDWmNBRGV1VVVu?= =?utf-8?B?T1NrZFVhL09IWGNSYkR0VWVSRlk3ZXRSdTdqejNxQXJRTTF6WlVBeUdvUzl1?= =?utf-8?B?MlBJZDhvczFjaDJPY0M1eWswSDlOSkJCbTVIelpKWFdYVkFlbCsxT2RNRXN0?= =?utf-8?B?V3BOWVBFeHppSmRCTDh4OFFNNWFaMkRvdlhLZHNWamNyWHNKTGRKMGlDM2ta?= =?utf-8?B?WW1GQTM3Y1FQSVNEbVVLQmxYTXVEbENiRXJJc1FLekYveXhEdFBGTnFOQmVt?= =?utf-8?B?WEI4YVlabEJlWi9WNTNpQ3lEMDlNRkxWMVhpK0lYaWU5TUVtT01XTTBoWFNF?= =?utf-8?B?clE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <50FA782F16EBD644B9759860BAD112BE@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 046cb5dd-eb2d-43f6-a42a-08dc165ca84c X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jan 2024 06:30:39.5597 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: odKvOquEkQFBZztaDsk1lJdCa/WmXGbsokGKPXB+Ko9QbzGML8yxdld19oFPzzS+dd7WoMEJiy95VGNjnnP4yTT+/70PhpXUCBnv7SizNP8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAZP264MB3152 X-Rspamd-Queue-Id: 4E9CC10000B X-Rspam-User: X-Stat-Signature: x5ti1nycxebb4b3bmuow641qf1owqism X-Rspamd-Server: rspam03 X-HE-Tag: 1705386644-651163 X-HE-Meta: U2FsdGVkX18RU6U2Uk+/92DKCY4HNMVezhRPXKmFYJNpld043laHTYJosn5f7xNbilDBCTXlnkDBBXSU+VafnMl0AZeTd3B8U22Veswvma1h5hwqA7h6QqRbb2TaQThf3K+Ns1F24Scz8MAAbZY0fgRNOCNJvaLkH/t5Qm1SRxs2AgI0Fn8sTMXUEb1pQnQ6JTNrt7/bktp4khLiD0JUqQRBJhafOvNaCJP+8H5E4Vv6MCdQyCMBwPlC1uySn59xWbhIctoIv3C6ExOzOxoe1+4iEI8Emyh+s+GYtgPVqFT+iyM4SXqo4J1U1hGIeAKMQRpwb7mty6ApQie1RSEG0iCRJ9PZe2FQUCupN+r7ol8GW6texAN5bUz3IrhEZfytGkEWz1JG+fTfRW0uowB+3UVW8gdZr6O2dBLYlLHuB3KyzS9BouG8Q1QhIxBk0gQf7ZSdOASIz/Vzf39b8yxm9/dlEvYEU7VWvyYCGx9WdJefXyHHMYnvJRpbgu8wUIlwn3IkwUCoB592wrY6zxUy821WOg13hx6T9kcLmH8I/9+uMQedSRw06tK34bJC9QIT67IZvBOW6JLSjalRANHPR6a/UjsiCOVBpucAqHaD71kSADSMG2EQDPFaf2yXSvClc2oxm+FYmXvhoHM84aR91uGj2yr5NbMC+p5iQQAb0RweZA+jFfbshkNP2JfG4owmpclMjcOiBNEU8chsjEDQ+7UxFMScc51TlcBzPKMs1vW5/26aaTLqRU3/OjSxScxLA47NIg2anWIk8/KvMm0lSBUrnc4992TwcI84VkBLQpW6c4eyBOipYHFr1TMKILjq6o5aasqvwWf8/lYJncu3ufCCyuxCVBL2gZJwGYNtdAOwWDI/iNeLd4cKrBauj+vOzVKLjbrhlP+1e1F+ZnffrG8zT4hXB2ikW6m5kGy3DE+eIJf2m4jm9hnq2KVZ6VXhRSdr/p4TY7psKC9z9J1 34GE9i5f YgcPCiXdeZA6JWRawUm/thDhHPyVxGgij6zoTEP2rz1eSUQmgq31LeBzRCVpxUYhv08Yv6ACPOgHVfZlAonUwMWx5rcMatRyxR4FkvUe21nXBFS1z7cJczfAOcqrYes64adATeX4Q8fdYMmJJxPDjXmsB5z/syUqiN8K5TQtUEwXPqu6zsfD7j5GMr5XkuCnbpNK2CemxQRtPDqVE27b2dLUR+YvBvuo9npB690Nd9gqlIkOA3sDiIjU/eftqQZewTgcQUnIaj2DKrpQD+4KIe3OPq5ogIeR4csWs7fKn6c4Iqo/4I1VfzDdfGBzvmpUzfr11EE9vc1vvThaqXSvLCMlTBrGyujLJr0isovNtB7jFBp85TDRG9KvqLzN7OnShoORx2Ops6xlckzI8fZt5ACaRcKy9zdevPJLNWbkI+/ZqZ3rpf6TpgXnP5LY0IDBvh7ljWctda2UQM747xqKnMOfuD8UEqCWk66oP 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: DQoNCkxlIDE1LzAxLzIwMjQgw6AgMTk6MzcsIEphc29uIEd1bnRob3JwZSBhIMOpY3JpdMKgOg0K PiBPbiBXZWQsIEphbiAwMywgMjAyNCBhdCAwNToxNDoxNlBNICswODAwLCBwZXRlcnhAcmVkaGF0 LmNvbSB3cm90ZToNCj4+IEZyb206IFBldGVyIFh1IDxwZXRlcnhAcmVkaGF0LmNvbT4NCj4+DQo+ PiBIdWdlcGQgZm9ybWF0IGZvciBHVVAgaXMgb25seSB1c2VkIGluIFBvd2VyUEMgd2l0aCBodWdl dGxiZnMuICBUaGVyZSBhcmUNCj4+IHNvbWUga2VybmVsIHVzYWdlIG9mIGh1Z2VwZCAoY2FuIHJl ZmVyIHRvIGh1Z2VwZF9wb3B1bGF0ZV9rZXJuZWwoKSBmb3INCj4+IFBQQ184WFgpLCBob3dldmVy IHRob3NlIHBhZ2VzIGFyZSBub3QgY2FuZGlkYXRlcyBmb3IgR1VQLg0KPj4NCj4+IENvbW1pdCBh NmU3OWRmOTJlNGEgKCJtbS9ndXA6IGRpc2FsbG93IEZPTExfTE9OR1RFUk0gR1VQLWZhc3Qgd3Jp dGluZyB0bw0KPj4gZmlsZS1iYWNrZWQgbWFwcGluZ3MiKSBhZGRlZCBhIGNoZWNrIHRvIGZhaWwg Z3VwLWZhc3QgaWYgdGhlcmUncyBwb3RlbnRpYWwNCj4+IHJpc2sgb2YgdmlvbGF0aW5nIEdVUCBv dmVyIHdyaXRlYmFjayBmaWxlIHN5c3RlbXMuICBUaGF0IHNob3VsZCBuZXZlciBhcHBseQ0KPj4g dG8gaHVnZXBkLiAgQ29uc2lkZXJpbmcgdGhhdCBodWdlcGQgaXMgYW4gb2xkIGZvcm1hdCAoYW5k IGV2ZW4NCj4+IHNvZnR3YXJlLW9ubHkpLCB0aGVyZSdzIG5vIHBsYW4gdG8gZXh0ZW5kIGh1Z2Vw ZCBpbnRvIG90aGVyIGZpbGUgdHlwZWQNCj4+IG1lbW9yaWVzIHRoYXQgaXMgcHJvbmUgdG8gdGhl IHNhbWUgaXNzdWUuDQo+IA0KPiBJIGRpZG4ndCBkaWcgaW50byB0aGUgcHBjIHN0dWZmIHRvbyBk ZWVwbHksIGJ1dCB0aGlzIGxvb2tzIHRvIG1lIGxpa2UNCj4gaXQgaXMgdGhlIHNhbWUgdGhpbmcg YXMgQVJNJ3MgY29udGlnIGJpdHM/DQo+IA0KPiBpZSBhIGNodW5rIG9mIFBNRC9ldGMgZW50cmll cyBhcmUgYWxsIG1hbmFnZWQgdG9nZXRoZXIgYXMgdGhvdWdoIHRoZXkNCj4gYXJlIGEgdmlydHVh bCBsYXJnZXIgZW50cnkgYW5kIHdlIHVzZSB0aGUgaHVnZXB0ZV9hZGRyX2VuZCgpIHN0dWZmIHRv DQo+IGl0ZXJhdGUgb3ZlciBlYWNoIHN1YiBlbnRyeS4NCg0KQXMgZmFyIGFzIEkgdW5kZXJzdGFu ZCBBUk0ncyBjb250aWcgc3R1ZmYsIGh1Z2VwZCBvbiBwb3dlcnBjIGlzIA0Kc29tZXRoaW5nIGRp ZmZlcmVudC4NCg0KaHVnZXBkIGlzIGEgcGFnZSBkaXJlY3RvcnkgZGVkaWNhdGVkIHRvIGh1Z2Ug cGFnZXMsIHdoZXJlIHlvdSBoYXZlIGh1Z2UgDQpwYWdlcyBsaXN0ZWQgaW5zdGVhZCBvZiByZWd1 bGFyIHBhZ2VzLiBGb3IgaW5zdGFuY2UsIG9uIHBvd2VycGMgMzIgd2l0aCANCmVhY2ggUEdEIGVu dHJpZXMgY292ZXJpbmcgNE1ieXRlcywgYSByZWd1bGFyIHBhZ2UgdGFibGUgaGFzIDEwMjQgUFRF cy4gQSANCmh1Z2VwZCBmb3IgNTEyayBpcyBhIHBhZ2UgdGFibGUgd2l0aCA4IGVudHJpZXMuDQoN CkFuZCBmb3IgOE1ieXRlcyBlbnRyaWVzLCB0aGUgaHVnZXBkIGlzIGEgcGFnZSB0YWJsZSB3aXRo IG9ubHkgb25lIGVudHJ5LiANCkFuZCAyIGNvbnNlY3V0aXZlIFBHUyBlbnRyaWVzIHdpbGwgcG9p bnQgdG8gdGhlIHNhbWUgaHVnZXBkIHRvIGNvdmVyIHRoZSANCmVudGlyZSA4TWJ5dGVzLg0KDQo+ IA0KPiBCdXQgV0hZIGlzIEdVUCBkb2luZyB0aGlzIG9yIGNhcmluZyBhYm91dCB0aGlzPyBHVVAg c2hvdWxkIGhhdmUgbm8NCj4gcHJvYmxlbSBoYW5kbGluZyB0aGUgc3VwZXItc2l6ZSBlbnRyeSAo ZWcgOE0gb24gbm9oYXNoKSBhcyBhIHNpbmdsZQ0KPiB0aGluZy4gSXQgc2VlbXMgd2Ugb25seSBs YWNrIGFuIEFQSSB0byBnZXQgdGhpcyBvdXQgb2YgdGhlIGFyY2ggY29kZT8NCj4gDQo+IEl0IHNl ZW1zIHRvIG1lIHdlIHNob3VsZCBzZWUgQVJNIGFuZCBQUEMgYWdyZWUgb24gd2hhdCB0aGUgQVBJ IGlzIGZvcg0KPiB0aGlzIGFuZCB0aGVuIGdldCByaWQgb2YgaHVnZXBkIGJ5IG1ha2luZyBib3Ro IHVzZSB0aGUgc2FtZSBwYWdlIHRhYmxlDQo+IHdhbGtlciBBUEkuIElzIHRoYXQgdG9vIGhvcGVm dWw/DQoNCkNhbid0IHNlZSB0aGUgc2ltaWxhcml0eSBiZXR3ZWVuIEFSTSBjb250aWcgUFRFIGFu ZCBQUEMgaHVnZSBwYWdlIA0KZGlyZWN0b3JpZXMuDQoNCj4gDQo+PiBEcm9wIHRoYXQgY2hlY2ss IG5vdCBvbmx5IGJlY2F1c2UgaXQnbGwgbmV2ZXIgYmUgdHJ1ZSBmb3IgaHVnZXBkIHBlciBhbnkN Cj4+IGtub3duIHBsYW4sIGJ1dCBhbHNvIGl0IHBhdmVzIHdheSBmb3IgcmV1c2luZyB0aGUgZnVu Y3Rpb24gb3V0c2lkZQ0KPj4gZmFzdC1ndXAuDQo+IA0KPiBJIGRpZG4ndCBzZWUgYW55IG90aGVy IGNhbGxlciBvZiB0aGlzIGZ1bmN0aW9uIGluIHRoaXMgc2VyaWVzPyBXaGVuDQo+IGRvZXMgdGhp cyByZS11c2UgaGFwcGVuPz8NCj4gDQo+IEphc29uDQoNCg0KQ2hyaXN0b3BoZQ0K