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 4AF47C43334 for ; Fri, 22 Jul 2022 18:48:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 497D46B0072; Fri, 22 Jul 2022 14:48:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 446916B0073; Fri, 22 Jul 2022 14:48:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2C0088E0001; Fri, 22 Jul 2022 14:48:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 1C4B66B0072 for ; Fri, 22 Jul 2022 14:48:54 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id DD28FA0CD3 for ; Fri, 22 Jul 2022 18:48:53 +0000 (UTC) X-FDA: 79715622546.11.3114D33 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2065.outbound.protection.outlook.com [40.107.223.65]) by imf11.hostedemail.com (Postfix) with ESMTP id 70BB0400B3 for ; Fri, 22 Jul 2022 18:48:53 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VQ7bavqSekoBAWGvKbGUElcQm39VaNRYHXeXbykpRI42IHIrR/tNH87Hbu1ZTsD+a5Vw+r9haWF8iZgtLzaGBuKCAi8Ewq9wdyFlE6fmeS3gKVtLaOge7u5IdmZJn56hng+YlPSBbTh68Z4EvHe2GRU8a6k+5eUmngUsA3/4UNJrRvatzBDCcp9vT+3VcsLM+CEdTOBX9WVNtt6obWeM1PmWbH3bK6/AGViKwcY7/Se9eupLrBszg3QqEnJNwLXtHLW0Yt6KNuIo3P7uyWtkChIUDBTO/O72g2OZoqmvPaJ07ZxkyWkDpjjCVWLUL2PXKwMTZySmukPL97tNKvn/dQ== 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=Rr7eWn01VpfR7Az1PWaPjC3u6z2NhIyhyJjocDQRjzw=; b=dI/QfJLrsq0rlE025zI67mVJoLrEjMoBR0xDgryTidUuUKAPRi3WH/4aIRkaKFdvui/89/V/dW0PRVeAi8oKZkfUywoz3DSKZSV2C9tcZ+scs6/lfR8s5utD8PNQbeNZtZPF5DwlK9MOqMc+HF0VruW/FRxR+weCCY0UqXv3CQO2xr+AArquZbCqORyuMMO8PFiJV54ypmGl/mtXc2W4LQ6iCkgL8FrbBEbT80Peg5SQ8X9RbX0HDP95eIUbFXwbf8JW4r/Y6aXfdyjmuup85oNoOLyIwdZd/vi+x/jfaRySvIOPvEtTyhpS19jQJm9qjkEz1sfGHKrb2TItsbi1AQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Rr7eWn01VpfR7Az1PWaPjC3u6z2NhIyhyJjocDQRjzw=; b=LIA2FjZHkrVr64gmcwvbX4CLWwZUVjQdsa3EQqV7fuxnF7Aw3jKbJXmZyep2jc2kZPjDZ3IlAbZBsbB1OdPa0z8DHuJJ9LB8gN6Q7y1l6l9/i1BUuc4sDpv2hvsoqwZM01Gy41lQ0l9d4WhwFWV2/N8sH5KerqtU8HgTtBpLS5Q= Received: from BY3PR05MB8531.namprd05.prod.outlook.com (2603:10b6:a03:3ce::6) by DM6PR05MB5052.namprd05.prod.outlook.com (2603:10b6:5:77::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.1; Fri, 22 Jul 2022 18:47:49 +0000 Received: from BY3PR05MB8531.namprd05.prod.outlook.com ([fe80::d813:9300:4877:39d0]) by BY3PR05MB8531.namprd05.prod.outlook.com ([fe80::d813:9300:4877:39d0%9]) with mapi id 15.20.5482.001; Fri, 22 Jul 2022 18:47:49 +0000 From: Nadav Amit To: David Hildenbrand CC: Linux MM , Andrew Morton , Mike Kravetz , Hugh Dickins , Axel Rasmussen , Peter Xu , Mike Rapoport Subject: Re: [PATCH v2 1/5] userfaultfd: introduce uffd_flags Thread-Topic: [PATCH v2 1/5] userfaultfd: introduce uffd_flags Thread-Index: AQHYmtvA0AeTvUC38U2KGtFO7Fm2k62KCvMAgAC2aAA= Date: Fri, 22 Jul 2022 18:47:49 +0000 Message-ID: References: <20220718114748.2623-1-namit@vmware.com> <20220718114748.2623-2-namit@vmware.com> <28f4cf6c-1770-8628-0fc9-5d7982ede319@redhat.com> In-Reply-To: <28f4cf6c-1770-8628-0fc9-5d7982ede319@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.100.31) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4039088b-ad31-4f90-456e-08da6c12acee x-ms-traffictypediagnostic: DM6PR05MB5052:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: lGgVHPx7scTXpso7nU93poZ12xyzuR8jedsCEPtiviXFkv4adwWBL8OZ3FEztpomWathwpYJIX58dRR1s1j/tINYN6W95CUawNFbAebMrqoyT60ijlS+OdtGUqN3EUJy1CRQY1mTYZ2X15UncATKQ1VSCPze66PlcDIzLOjMI7UWiHIt/3a39EbwLU/I8jHTXPl3itnEmGPRjs+bRC00fsb/Aw9xJ83eB2vYkoUvLFndreWLILx+6isXrFyK6vsZzQAiGnNQijGXfwdNXUX+L+ZFcapUr22nHBgZ2OS19WTdFL2BRqK0yjIgMngvE1SKmp7T8cqZMtTa4iT9hm4DX0eMuZODIEdz0fYk+jSm9h+yiQWvAsZcqXhu8kkmJsWPQ26etGb9pAi3GJVAUDdUsWew+DUZGHvVmXwfL+BnPXcUtQAPOVobqHFDTPfPspeOUio1dy+jXWQegGk7a1sjmx5WW/pzFDjT3RwBnIA/bi9r8HZw+IwnCXedFHg+Y1q9gX2aAA4VoOlZZH4BpsGHqAgTBn57zKOGM/uiKmcBR37Pi65rnSU5pPfhbMEy5EtnNSIxxFonyE2QPqpz5ZF6/ZmyrBW1+BsdUHmAX1yAWkAoiDUFsTWMV3c58AqPD/jJulHSC76WoMBTs5FOshomqpt5qcmE3d7i+bBLKvkONyRz8iMSC3FAUgc5msLJvxtOwYYOVyA6tKwT2KdGTeSHSAEGHn3oNpWQ6ATqpYOmwsJ3ZgUlA3iNtAgQJofBOzkTasMLDMRYR0okLIIs7DkEo1VWdbAsIyKNOuFvL+6yaomuCUkDL2gA2eMMlcJ+77jUFnzVC6GO+rU57Mv6Fufnr3+Cg47QmHAFrIeJoKMkhpvLWucJMMIZhJh4D4/pRWiXBvVA0Mz5WRkWzhqg2iyEQ/PE4ooqYXDVBwDHodroKD8= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY3PR05MB8531.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(346002)(39860400002)(136003)(396003)(376002)(38070700005)(2906002)(83380400001)(26005)(6512007)(5660300002)(6506007)(41300700001)(53546011)(8936002)(33656002)(6486002)(966005)(2616005)(186003)(86362001)(478600001)(38100700002)(316002)(122000001)(6916009)(54906003)(45080400002)(76116006)(36756003)(8676002)(4326008)(71200400001)(66556008)(66946007)(64756008)(66446008)(66476007)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a1lZSkpZSFlKR3dUcnkxQnRSOHEzMzFDdDNxc1JjbU80d0RIUXdOalNpZitB?= =?utf-8?B?WVlXc1RjVnJ3MlZRZjRvUmV3N2p0M0xYejczWTY4WVdoaisxYS9OZS9Fam52?= =?utf-8?B?Rk04YVQ0TmhVOUFlRDFTd3c4ZXZuaWpHdExCSWY5clMvLzlKY3hKM0p4TlVO?= =?utf-8?B?dlNnSHVUNmxaaUtvWm93bHNsbjVNelUvL1cvTTlUbVJtc0kvRGkwMDNSQ25P?= =?utf-8?B?WmJNYTBFWHlBYmxCbWZOdzY2cE14NnE2WVZmREkvYW9hQk9KTmNIZm1MUFV3?= =?utf-8?B?MU1zeHNhcmlqNURQbk1UdTBhOVdkS1h1aFBpell2VnFTVVJpTnhoeDRScTJG?= =?utf-8?B?SmZXZkVzQ1RFV3U5cnBkdXdlaE1JdFhuT3RQUk1LejZEc1N3eWlralR5aWc4?= =?utf-8?B?QU40VUpXL1Fxd0UrMEI4bFBhWDBjKzgxd3ZFRTdOZElyU1dLYlBHL1lITmlK?= =?utf-8?B?eDNiT3lMOWRUdWhUVWYrWWF3U1oxZGtvdEsxc0NlSmVqVnlyRHN2V2JQVEpG?= =?utf-8?B?VWkvbllTTGYrb3dRYjUyWVRGUm51V2kybFhCdjM5RFV2dHRhY2o1Qm1sWHR3?= =?utf-8?B?Mjc0cjZyQmkzQjIzYnJNb1hEMXkwa1c2djIydU9LNUlJTDR2K3dFeUlWc3NO?= =?utf-8?B?RHhoN2FJcVdmUlNVM3FORTFITVdXOTVrMDc1V3c2NWw0YkFYeWYxQ0dYNTNr?= =?utf-8?B?emM5UGo4eHBPazN2eEhzUmdBWW9yTVprSnoyZjdRbU1XNndOSzJpNVQ3eVB5?= =?utf-8?B?YzZNNGxKNEhQMlZ4ekFiaGMyemNHV3p6bHpaaFZlMlhYTVFPMlNaM2tHV0FN?= =?utf-8?B?ajZjeG42akN3cTBSazgvZU8xVnFPVGk3MXRsRFJiM1FnVCtpRGhRa3M4ZEh4?= =?utf-8?B?OGJlTEFhRXVKcnZlY1BKRkxXU0lyTHE1SlpzV0NYWjdUQmoxT0JOcDIwZTlt?= =?utf-8?B?b0xRQTQvZkxpd0Z2RzdDV05ENG5sVWlFdGFTeVZ3MFo1ZTJ2bnJ6VVU5aFA4?= =?utf-8?B?dVY3S1VVZXROcUZZaU5XY3U5MEp1NGhFOGl5NlM0U0VyMWowZHhpMlhuemJp?= =?utf-8?B?Q01sZkxDaWNxdUlOWUZBZ2VIdzF4aTYxbGJQaUY4RzNJRUxRc1J1Ylg3TW83?= =?utf-8?B?dnQrSU9Vd2ZveUt5OStoU1VVaUtCb1cxeS9LcWRnS2xVR0pVSXQvem1aUDNO?= =?utf-8?B?amV2VmRjOXk5MlIzQzdoWjRhNlRzMGo3UjNiUCtwSG40T1lwT1NJS3dKTUJD?= =?utf-8?B?dmVhbVY0NHZnSzBubmdzbHhWRHlsQ3JDeEJHejMwbVhpQW15SS93akFEd3ZB?= =?utf-8?B?NmhGTUQ1Q1lGb0ZqWWxtUEQvY1BhL1FEcGJsZTBQMmtEK2toZ2dMZHBqZG1q?= =?utf-8?B?bzFFMmFyWHVxZVlmSDgrdFdoUm5qaE01RmRXeUN5bG1RNXA1R01UbUFQaHE0?= =?utf-8?B?QTVqQkp1QXBENG5FeWF2WWZrVHVDN2tIK3dTbWlJSjJnRjhVVm9zQnV0RTRU?= =?utf-8?B?SVgzeHc0UnBFMnBxMEplUjkvM1ZCV3Q5TGU3dERpSmpsOW0zWnFocVJLVUlp?= =?utf-8?B?N1BoYWtLK0ZldDB4WVFEQTFQVTJBaTdUMHd0Z29PVGp5NFJ0NTR0bUw2WjZC?= =?utf-8?B?eksyb2J2UVI0c0RxcUFaVitHOEhDRGc0R2NaWmkzY0xCM2d2alFBb0RlMm9x?= =?utf-8?B?VHBJbmVLM2lxY0dMN3gvNFlLd3JZSDk3a1hBLy9rN0pzdHQyeWpHcXQ3WlJa?= =?utf-8?B?K2hVNHF2aU5rVlNySHJ1YVkwVzFjRklxL1dEdGJzQk1JeW5vb3JQT3kyRzVD?= =?utf-8?B?QkZFbTFPRU0rTGQ2MW5lcU45RWxRVmZyblNZRFlkZWhrcGNyRjdzcVVycWZ6?= =?utf-8?B?ZlM0N2RoUlpnbzhWamlXeEZrRTVlUEQxZEJ1Rmd4RmxZMnFEOFM0bWtSY001?= =?utf-8?B?NmFRQkh3RzRZNUZabSt3TS9ydGI1N3oramY5cEZRSTdRbURscG95US9GTVRU?= =?utf-8?B?ajJLc1ZCOXlrbGVHM3JzMVNoRHU4RHBaL3laMU9ra25LaWlPTGlOR0Ywd0xm?= =?utf-8?B?bEZCYWJZU1JjSFNSZUdXTzVtaWJscGN0WmlIQ2RnQTR5dllRaDN5WVdiRER6?= =?utf-8?Q?0t1v4DoEznIUd7kSUyMy7+J+n?= Content-Type: text/plain; charset="utf-8" Content-ID: <1BD306F8B4BDF645938FEDAFB69608F3@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY3PR05MB8531.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4039088b-ad31-4f90-456e-08da6c12acee X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jul 2022 18:47:49.2698 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: MQaBLE2ykvuYvemh8sh0W6MI3HGrkHYXrpIFxt9/ZRcsDb0XxxUpFrtyUWzSvlcXdQNLhLkp9V6PHqheW1rnmg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR05MB5052 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1658515733; a=rsa-sha256; cv=pass; b=B8joS1qIEb/BcXd4Mo7Gf5w9IKTj0Zv07wS2BoAx0VgrrxrVTOzscsJT1leFnNXtLtH6r2 LXRG05IqiGuhZxNQVJ9DsfijSWJqD1FkDXYRy05TSz8iCfGuhxq0BD2m37eOjWXq3vCfhC T7XaBnZZAmXxdPitaF+2b8pYu61Bye4= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=vmware.com header.s=selector2 header.b=LIA2FjZH; dmarc=pass (policy=quarantine) header.from=vmware.com; spf=none (imf11.hostedemail.com: domain of namit@vmware.com has no SPF policy when checking 40.107.223.65) smtp.mailfrom=namit@vmware.com; 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=1658515733; 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=Rr7eWn01VpfR7Az1PWaPjC3u6z2NhIyhyJjocDQRjzw=; b=ZhGCt27FmlBzhveI/bf/Q9iPxAQuckjrZb7jqTZkE2irXaWD6mKzF41rF0LTvw4/nV5l43 B0XpBJHfIBgItf2ME2ykpo5cPrn8kmwY7M4R69RZ7XH2GD/CKsUbT4lGZWrzFEjkisRv2Y V6XSetzkLaRY7+UouNROPN7x2aowJH0= X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 70BB0400B3 X-Stat-Signature: h5651y3pktpfxq681pbejteh4fjf4y8u Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=vmware.com header.s=selector2 header.b=LIA2FjZH; dmarc=pass (policy=quarantine) header.from=vmware.com; spf=none (imf11.hostedemail.com: domain of namit@vmware.com has no SPF policy when checking 40.107.223.65) smtp.mailfrom=namit@vmware.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-HE-Tag: 1658515733-889663 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: T24gSnVsIDIyLCAyMDIyLCBhdCAxMjo1NCBBTSwgRGF2aWQgSGlsZGVuYnJhbmQgPGRhdmlkQHJl ZGhhdC5jb20+IHdyb3RlOg0KDQo+IOKaoCBFeHRlcm5hbCBFbWFpbA0KPiANCj4gT24gMTguMDcu MjIgMTM6NDcsIE5hZGF2IEFtaXQgd3JvdGU6DQo+PiBGcm9tOiBOYWRhdiBBbWl0IDxuYW1pdEB2 bXdhcmUuY29tPg0KPj4gDQo+PiBBcyB0aGUgbmV4dCBwYXRjaGVzIGFyZSBnb2luZyB0byBpbnRy b2R1Y2UgbW9yZSBpbmZvcm1hdGlvbiB0aGF0IG5lZWRzDQo+PiB0byBiZSBwcm9wYWdhdGVkIHJl Z2FyZGluZyBoYW5kbGVkIHVzZXIgcmVxdWVzdHMsIGludHJvZHVjZSB1ZmZkX2ZsYWdzDQo+PiB0 aGF0IHdvdWxkIGJlIHVzZWQgdG8gcHJvcGFnYXRlIHRoaXMgaW5mb3JtYXRpb24uDQo+PiANCj4+ IFJlbW92ZSB0aGUgdW51c2VkIFVGRkRfRkxBR1NfU0VUIHRvIGF2b2lkIGNvbmZ1c2lvbiBpbiB0 aGUgY29uc3RhbnQNCj4+IG5hbWVzLg0KPj4gDQo+PiBJbnRyb2R1Y2luZyB1ZmZkIGZsYWdzIGFs c28gYWxsb3dzIHRvIGF2b2lkIG1tL3VzZXJmYXVsdGZkIGZyb20gYmVpbmcNCj4+IHVzaW5nIHVh cGkgKGUuZy4sIFVGRkRJT19DT1BZX01PREVfV1ApLg0KPj4gDQo+PiBDYzogTWlrZSBLcmF2ZXR6 IDxtaWtlLmtyYXZldHpAb3JhY2xlLmNvbT4NCj4+IENjOiBIdWdoIERpY2tpbnMgPGh1Z2hkQGdv b2dsZS5jb20+DQo+PiBDYzogQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9y Zz4NCj4+IENjOiBBeGVsIFJhc211c3NlbiA8YXhlbHJhc211c3NlbkBnb29nbGUuY29tPg0KPj4g Q2M6IFBldGVyIFh1IDxwZXRlcnhAcmVkaGF0LmNvbT4NCj4+IENjOiBNaWtlIFJhcG9wb3J0IDxy cHB0QGxpbnV4LmlibS5jb20+DQo+PiBBY2tlZC1ieTogRGF2aWQgSGlsZGVuYnJhbmQgPGRhdmlk QHJlZGhhdC5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBOYWRhdiBBbWl0IDxuYW1pdEB2bXdhcmUu Y29tPg0KPiANCj4gWy4uLl0NCj4gDQo+PiBpbnQgbXdyaXRlcHJvdGVjdF9yYW5nZShzdHJ1Y3Qg bW1fc3RydWN0ICpkc3RfbW0sIHVuc2lnbmVkIGxvbmcgc3RhcnQsDQo+PiAtICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgbG9uZyBsZW4sIGJvb2wgZW5hYmxlX3dwLA0KPj4gLSAgICAgICAg ICAgICAgICAgICAgIGF0b21pY190ICptbWFwX2NoYW5naW5nKQ0KPj4gKyAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGxvbmcgbGVuLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgIGF0b21p Y190ICptbWFwX2NoYW5naW5nLCB1ZmZkX2ZsYWdzX3QgdWZmZF9mbGFncykNCj4+IHsNCj4+ICsg ICAgIGJvb2wgZW5hYmxlX3dwID0gdWZmZF9mbGFncyAmIFVGRkRfRkxBR1NfV1A7DQo+IA0KPiBD b3VsZCBiZSB0aGF0IHRoaXMgd2lsbCB0cmlnZ2VyIGEgc3BhcnNlIHdhcm5pbmdzLCBidXQgSSBo YXZlbid0IGZ1bGx5DQo+IHVuZGVyc3Rvb2QgeWV0IHdoZW4vaG93IHNwYXJzZSB3aWxsIHN0YXJ0 IHRvIGNvbXBsYWluLiBJZiBzbywgdGhpcyB3b3VsZA0KPiBoYXZlIHRvIGJlDQo+IA0KPiBib29s IGVuYWJsZV93cCA9ICEhKHVmZmRfZmxhZ3MgJiBVRkZEX0ZMQUdTX1dQKTsNCj4gDQo+IEkgc3R1 bWJsZWQgaW50byBzb21ldGhpbmcgbGlrZSB0aGF0IGluDQo+IGh0dHBzOi8vbmFtMDQuc2FmZWxp bmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmxvcmUua2VybmVs Lm9yZyUyRmxrbWwlMkYyMDIyMDIyNTIwMzguaWoxWUduMGQtbGtwJTQwaW50ZWwuY29tJTJGVCUy RiZhbXA7ZGF0YT0wNSU3QzAxJTdDbmFtaXQlNDB2bXdhcmUuY29tJTdDYzIzNzAzMmQxMWYwNDk3 MmZkYjcwOGRhNmJiNzdhZGElN0NiMzkxMzhjYTNjZWU0YjRhYTRkNmNkODNkOWRkNjJmMCU3QzAl N0MwJTdDNjM3OTQwNzMzMDQ5NjA5MjIwJTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9p TUM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUz RCU3QzMwMDAlN0MlN0MlN0MmYW1wO3NkYXRhPXFXMHhlNnNTN1BqUDNwYXBsODkwR29QVGJaOTdp RSUyRmZ6dHQxckE5dDYlMkYwJTNEJmFtcDtyZXNlcnZlZD0wDQoNCk9oLCBkYW1uLiBUaGFua3Mg Zm9yIHBvaW50aW5nIGl0IG91dC4gU3BhcnNlIGdpdmVzIG1lIHNlZ21lbnRhdGlvbiBmYXVsdHMN CmZvciBzb21lIHJlYXNvbiwgYnV0IEkgZ3Vlc3MgaXQgc2hvdWxkIGJlIGFkZHJlc3NlZCAtIGp1 c3QgaW4gY2FzZS4NCg0K