Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp2333380pxb; Sat, 7 Nov 2020 19:02:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJwvtftkY/GsgyYP69biMHSvY+oydxdT4pPU0yVY8+278wnDQY1jqxAdf1lI6ZwJZSAq1J11 X-Received: by 2002:a17:906:7cc:: with SMTP id m12mr8612939ejc.365.1604804551193; Sat, 07 Nov 2020 19:02:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604804551; cv=none; d=google.com; s=arc-20160816; b=LK+PQOSMxmDFCs1ayHjcIRnaVpGJNAmVIfwAdctORFwpaXUJWd5azUjliD00E3uVaO b30NhifOs+shBS3KTYrsCrJftZIJXp4LnxjexVGuj51wNhsOdQDpo2W7nfEjnAEGzowU uOszzteu/+yJV4OL9WILvoSjJjZhgwgnBCWWxQdCHgQa/vNVLU14WEZ4XTJS4G0lJ12Z 8E1uc3qG6Peq0WDO2bjUVPpE8TDgEzcskcPFFjG9Ib1eiSKn9GgoesCf9jUUa+rMU9aD gkMJ3m0lwA+rVHNynhmpfL8ZuOMzg4orZG01O9VrygTl+x4p096ep90gK/09a5hJZcPm iHfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from; bh=WOKrQL2p6qYsbcYBCYxshTAsW1+3vKRWWC0iWjww3Ik=; b=GCU3jfQ9J3jf8CYKp5fPfmlR+BeMUTZomlDhGKMqsERlSOPSeXFEsLc4dFkDQzKv9J xYkge4HBdhZVkJ2ct7pBgZ+glUicDOshChmB8H8CNB09ErWHC1TimkWaNNcVxbeTq6wa 1UKPqBLji3MY5D4k+6rCgRPwat3qo35bkHQ12JMFR0TwkMvO2kMvBVKtybp+Y5F/yP4c 2ZOdlaE4g4L5hdKkqwL34d7tXUbwNEfDfKdONAwvzEnHSmDURqUcoqTotrwEzw93ynQE LVFh4dYi42ZZlq9XlQdoYvrXOLHD9pRQvqMvC8IyizGyLBu9nRbna+pISEfHZ31u1BRq WZYw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bs1si5809534edb.116.2020.11.07.19.01.38; Sat, 07 Nov 2020 19:02:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728798AbgKHC6I (ORCPT + 99 others); Sat, 7 Nov 2020 21:58:08 -0500 Received: from frasgout.his.huawei.com ([185.176.79.56]:2070 "EHLO frasgout.his.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728367AbgKHC6I (ORCPT ); Sat, 7 Nov 2020 21:58:08 -0500 Received: from fraeml734-chm.china.huawei.com (unknown [172.18.147.226]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4CTJg90s6Qz67Hnm; Sun, 8 Nov 2020 10:56:37 +0800 (CST) Received: from lhreml736-chm.china.huawei.com (10.201.108.87) by fraeml734-chm.china.huawei.com (10.206.15.215) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Sun, 8 Nov 2020 03:58:05 +0100 Received: from dggemi761-chm.china.huawei.com (10.1.198.147) by lhreml736-chm.china.huawei.com (10.201.108.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1913.5; Sun, 8 Nov 2020 02:58:03 +0000 Received: from dggemi761-chm.china.huawei.com ([10.9.49.202]) by dggemi761-chm.china.huawei.com ([10.9.49.202]) with mapi id 15.01.1913.007; Sun, 8 Nov 2020 10:58:01 +0800 From: "Song Bao Hua (Barry Song)" To: John Hubbard , Randy Dunlap , "akpm@linux-foundation.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" CC: Linuxarm , Ralph Campbell , John Garry Subject: RE: [PATCH] mm/gup_benchmark: GUP_BENCHMARK depends on DEBUG_FS Thread-Topic: [PATCH] mm/gup_benchmark: GUP_BENCHMARK depends on DEBUG_FS Thread-Index: AQHWspKkrOQfdWDOqkGzzyoK3BLHUam7SjKAgAG/lxD//4AMgIAAM28AgAAckACAAK7tEA== Date: Sun, 8 Nov 2020 02:58:01 +0000 Message-ID: <869059977c224a3aa31bfb42a4a8148d@hisilicon.com> References: <20201104100552.20156-1-song.bao.hua@hisilicon.com> <9286e2d0e17a47a1874dc4a96d83a38f@hisilicon.com> <2c968615-587c-b978-7961-8391c70382b2@nvidia.com> In-Reply-To: <2c968615-587c-b978-7961-8391c70382b2@nvidia.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.126.200.224] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSm9obiBIdWJiYXJkIFtt YWlsdG86amh1YmJhcmRAbnZpZGlhLmNvbV0NCj4gU2VudDogU3VuZGF5LCBOb3ZlbWJlciA4LCAy MDIwIDE6MDMgUE0NCj4gVG86IFJhbmR5IER1bmxhcCA8cmR1bmxhcEBpbmZyYWRlYWQub3JnPjsg U29uZyBCYW8gSHVhIChCYXJyeSBTb25nKQ0KPiA8c29uZy5iYW8uaHVhQGhpc2lsaWNvbi5jb20+ OyBha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnOw0KPiBsaW51eC1tbUBrdmFjay5vcmc7IGxpbnV4 LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcNCj4gQ2M6IExpbnV4YXJtIDxsaW51eGFybUBodWF3ZWku Y29tPjsgUmFscGggQ2FtcGJlbGwNCj4gPHJjYW1wYmVsbEBudmlkaWEuY29tPjsgSm9obiBHYXJy eSA8am9obi5nYXJyeUBodWF3ZWkuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIXSBtbS9ndXBf YmVuY2htYXJrOiBHVVBfQkVOQ0hNQVJLIGRlcGVuZHMgb24NCj4gREVCVUdfRlMNCj4gDQo+IE9u IDExLzcvMjAgMjoyMCBQTSwgUmFuZHkgRHVubGFwIHdyb3RlOg0KPiA+IE9uIDExLzcvMjAgMTE6 MTYgQU0sIEpvaG4gSHViYmFyZCB3cm90ZToNCj4gPj4gT24gMTEvNy8yMCAxMTowNSBBTSwgU29u ZyBCYW8gSHVhIChCYXJyeSBTb25nKSB3cm90ZToNCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+Pj4+IEZyb206IEpvaG4gSHViYmFyZCBbbWFpbHRvOmpodWJiYXJkQG52aWRp YS5jb21dDQo+ID4+IC4uLg0KPiA+Pj4+PiAgwqDCoCBjb25maWcgR1VQX0JFTkNITUFSSw0KPiA+ Pj4+PiAgwqDCoMKgwqDCoMKgIGJvb2wgIkVuYWJsZSBpbmZyYXN0cnVjdHVyZSBmb3IgZ2V0X3Vz ZXJfcGFnZXMoKSBhbmQgcmVsYXRlZA0KPiBjYWxscw0KPiA+Pj4+IGJlbmNobWFya2luZyINCj4g Pj4+Pj4gK8KgwqDCoCBkZXBlbmRzIG9uIERFQlVHX0ZTDQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+ IEkgdGhpbmsgInNlbGVjdCBERUJVR19GUyIgaXMgYmV0dGVyIGhlcmUuICJkZXBlbmRzIG9uIiBo YXMgdGhlIG9ibm94aW91cw0KPiA+Pj4+IGJlaGF2aW9yIG9mIGhpZGluZyB0aGUgY2hvaWNlIGZy b20geW91LCBpZiB0aGUgZGVwZW5kZW5jaWVzIGFyZW4ndCBhbHJlYWR5DQo+IG1ldC4NCj4gPj4+ PiBXaGVyZWFzIHdoYXQgdGhlIGRldmVsb3BlciAqcmVhbGx5KiB3YW50cyBpcyBhIG5vLW5vbnNl bnNlIGFjdGl2YXRpb24gb2YNCj4gdGhlDQo+ID4+Pj4gY2hvaWNlOiAiZW5hYmxlIEdVUF9CRU5D SE1BUksgYW5kIHRoZSBkZWJ1ZyBmcyB0aGF0IGl0IHJlcXVpcmVzIi4NCj4gPj4+Pg0KPiA+Pj4N Cj4gPj4+IFRvIHNvbWUgZXh0ZW50LCBJIGFncmVlIHdpdGggeW91LiBCdXQgSSBzdGlsbCB0aGlu ayBoZXJlIGl0IGlzIGJldHRlciB0byB1c2UNCj4gImRlcGVuZHMgb24iLg0KPiA+Pj4gQWNjb3Jk aW5nIHRvDQo+ID4+PiBodHRwczovL3d3dy5rZXJuZWwub3JnL2RvYy9Eb2N1bWVudGF0aW9uL2ti dWlsZC9rY29uZmlnLWxhbmd1YWdlLnR4dA0KPiA+Pj4NCj4gPj4+ICDCoMKgwqDCoHNlbGVjdCBz aG91bGQgYmUgdXNlZCB3aXRoIGNhcmUuIHNlbGVjdCB3aWxsIGZvcmNlDQo+ID4+PiAgwqDCoMKg wqBhIHN5bWJvbCB0byBhIHZhbHVlIHdpdGhvdXQgdmlzaXRpbmcgdGhlIGRlcGVuZGVuY2llcy4N Cj4gPj4+ICDCoMKgwqDCoEJ5IGFidXNpbmcgc2VsZWN0IHlvdSBhcmUgYWJsZSB0byBzZWxlY3Qg YSBzeW1ib2wgRk9PIGV2ZW4NCj4gPj4+ICDCoMKgwqDCoGlmIEZPTyBkZXBlbmRzIG9uIEJBUiB0 aGF0IGlzIG5vdCBzZXQuDQo+ID4+PiAgwqDCoMKgwqBJbiBnZW5lcmFsIHVzZSBzZWxlY3Qgb25s eSBmb3Igbm9uLXZpc2libGUgc3ltYm9scw0KPiA+Pj4gIMKgwqDCoMKgKG5vIHByb21wdHMgYW55 d2hlcmUpIGFuZCBmb3Igc3ltYm9scyB3aXRoIG5vIGRlcGVuZGVuY2llcy4NCj4gPj4+ICDCoMKg wqDCoFRoYXQgd2lsbCBsaW1pdCB0aGUgdXNlZnVsbmVzcyBidXQgb24gdGhlIG90aGVyIGhhbmQg YXZvaWQNCj4gPj4+ICDCoMKgwqDCoHRoZSBpbGxlZ2FsIGNvbmZpZ3VyYXRpb25zIGFsbCBvdmVy Lg0KPiA+Pj4NCj4gPj4+IE9uIHRoZSBvdGhlciBoYW5kLCBpbiBrZXJuZWwgdGhlcmUgYXJlIDc4 ICJkZXBlbmRzIG9uIERFQlVHX0ZTIiBhbmQNCj4gPj4+IG9ubHkgMTQgInNlbGVjdCBERUJVR19G UyIuDQo+ID4+Pg0KPiA+Pg0KPiA+PiBZb3UncmUgbm90IGxvb2tpbmcgYXQgdGhlIGJlc3Qgc3Rh dGlzdGljcy4gR28gbG9vayBhdCB3aGF0ICphbHJlYWR5KiBzZWxlY3RzDQo+ID4+IERFQlVHX0ZT LCBhbmQgeW91J2xsIGZpbmQgYWJvdXQgNTAgaXRlbXMuDQo+ID4NCj4gPiBTb3JyeSwgSSdtIG5v dCBmb2xsb3dpbmcgeW91LiBJIHNlZSB0aGUgc2FtZSAxNCAic2VsZWN0IERFQlVHX0ZTIiBhcyBC YXJyeS4NCj4gDQo+IEkgcmFuIG1ha2UgbWVudWNvbmZpZywgYW5kIGxvb2tlZCBhdCBpdC4gQmVj YXVzZSBJIHdhbnQgdG8gc2VlIHRoZSB0cnVlIGVuZA0KPiByZXN1bHQsDQo+IGFuZCBJIGRpZG4n dCB0cnVzdCBteSBncmVwIHVzZSwgZ2l2ZW4gdGhhdCB0aGUgc3lzdGVtIGhhcyBpbnRlcmxvY2tp bmcNCj4gZGVwZW5kZW5jaWVzLA0KPiBhbmQgSSB0aGluayBvbmUgc2VsZWN0IGNvdWxkIGVuZCB1 cCBhY3RpdmF0aW5nIG90aGVycyAoeWVzPykuDQo+IA0KPiBBbmQgc3VyZSBlbm91Z2gsIHRoZXJl IGFyZSA0MiBpdGVtcyBsaXN0ZWQsIGhlcmUgdGhleSBhcmUsIGNsZWFuZWQgdXAgc28gdGhhdA0K PiB0aGVyZQ0KPiBpcyBvbmUgcGVyIGxpbmU6DQo+IA0KPiBaU01BTExPQ19TVEFUIFs9bl0NCj4g WlNNQUxMT0MgWz1tXQ0KPiBCQ0FDSEVfQ0xPU1VSRVNfREVCVUcgWz1uXQ0KPiBNRCBbPXldDQo+ IEJDQUNIRSBbPW5dDQo+IERWQl9DOFNFQ1RQRkUgWz1uXQ0KPiBNRURJQV9TVVBQT1JUIFs9bV0N Cj4gTUVESUFfUExBVEZPUk1fU1VQUE9SVCBbPXldDQo+IERWQl9QTEFURk9STV9EUklWRVJTIFs9 bl0NCj4gUElOQ1QNCj4gRFJNX0k5MTVfREVCVUcgWz1uXQ0KPiBIQVNfSU9NRU0gWz15XQ0KPiBF WFBFUlQgWz15XQ0KPiBEUk1fSTkxNSBbPW1dDQo+IEVEQUNfREVCVUcgWz1uXQ0KPiBFREFDIFs9 eV0NCj4gU1VOUlBDX0RFQlVHIFs9bl0NCj4gTkVUV09SS19GSUxFU1lTVEVNUyBbPXldDQo+IFNV TlJQQyBbPW1dDQo+IFNZU0NUTCBbPXldDQo+IFBBR0VfT1dORVIgWz1uXQ0KPiBERUJVR19LRVJO RUwgWz15XQ0KPiBTVEFDS1RSQUNFX1NVUFBPUlQgWz15XQ0KPiBERUJVR19LTUVNTEVBSyBbPW5d DQo+IERFQlVHX0tFUk5FTCBbPXldDQo+IEhBVkVfREVCVUdfS01FTUxFQUsgWz15XQ0KPiBCTEtf REVWX0lPX1RSQUNFIFs9bl0NCj4gVFJBQ0lOR19TVVBQT1JUIFs9eV0NCj4gRlRSQUNFIFs9eV0N Cj4gU1lTRlMgWz15XQ0KPiBCTE9DSyBbPXldDQo+IFBVTklUX0FUT01fREVCVUcgWz1uXQ0KPiBQ Q0kgWz15XQ0KPiBOT1RJRklFUl9FUlJPUl9JTkpFQ1RJT04gWz1uXQ0KPiBERUJVR19LRVJORUwg Wz15XQ0KPiBGQUlMX0ZVVEVYIFs9bl0NCj4gRkFVTFRfSU5KRUNUSU9OIFs9bl0NCj4gRlVURVgg Wz15XQ0KPiBLQ09WIFs9bl0NCj4gQVJDSF9IQVNfS0NPViBbPXldDQo+IENDX0hBU19TQU5DT1Zf VFJBQ0VfUEMgWz15XQ0KPiBHQ0NfUExVR0lOUw0KPiANCj4gDQo+ID4NCj4gPiBJbiBnZW5lcmFs IHdlIGRvbid0IHdhbnQgYW55IG9uZSBsYXJnZSAiZmVhdHVyZSIgKG9yIHN1YnN5c3RlbSkgdG8g YmUNCj4gZW5hYmxlZA0KPiA+IGJ5IG9uZSBkcml2ZXIuIElmIHNvbWVvbmUgaGFzIGdvbmUgdG8g dGhlIHRyb3VibGUgdG8gZGlzYWJsZSBERUJVR19GUyAob3INCj4gd2hhdGV2ZXIpLA0KPiA+IHRo ZW4gYSBkaWZmZXJlbnQgS2NvbmZpZyBzeW1ib2wgc2hvdWxkbid0IHVuZG8gdGhhdC4NCj4gPg0K PiANCj4gSSBhZ3JlZSB3aXRoIHRoZSAiaW4gZ2VuZXJhbCIgcG9pbnQsIHllcy4gQW5kIG15IGNv bXBsYWludCBpcyByZWFsbHkgODAlIGR1ZSB0bw0KPiB0aGUNCj4gdmVyeSB1bmhhcHB5IHNpdHVh dGlvbiB3aXRoIEtjb25maWcsIHdoZXJlIHdlIHNlZW0gdG8gZ2V0IGEgY2hvaWNlIGJldHdlZW4N Cj4gKmhpZGluZyoNCj4gYSBmZWF0dXJlLCBvciBmb3JjaW5nIGEgZGVwZW5kZW5jeSBicmVhay4g V2hhdCB3ZSByZWFsbHkgd2FudCBpcyBhIHdheSB0bw0KPiBpbmRpY2F0ZQ0KPiBhIGRlcGVuZGVu Y3kgdGhhdCBkb2Vzbid0IGhpZGUgZW50aXJlIGZlYXR1cmVzLCB1bmxlc3Mgd2Ugd2FudCB0aGF0 LiAoTWF5YmUgSQ0KPiBzaG91bGQNCj4gYXR0ZW1wdCB0byBnZXQgaW50byB0aGUgaW1wbGVtZW50 YXRpb24sIGFsdGhvdWdoIEkgc3VzcGVjdCBpdCdzIGhhcmRlciB0aGFuIEkNCj4gcmVhbGl6ZS4p DQo+IA0KPiBCdXQgdGhlIG90aGVyIDIwJSBvZiBteSBjb21wbGFpbnQgaXMsIGdpdmVuIHdoYXQg d2UgaGF2ZSwgSSB0aGluayB0aGUNCj4gYXBwcm9wcmlhdGUNCj4gYWRhcHRhdGlvbiBmb3IgR1VQ X0JFTkNITUFSSydzIHJlbGF0aW9uc2hpcCB0byBERUJVR19GUyAqaW4gcGFydGljdWxhciosIGlz Og0KPiBzZWxlY3QuDQo+IA0KPiBBbmQgNDIgb3RoZXIgY29tbWl0dGVycyBoYXZlIGNob3NlbiB0 aGUgc2FtZSB0aGluZywgZm9yIHRoZWlyIHJlbGF0aW9uc2hpcCB0bw0KPiBERUJVR19GUy4gSSdt IGluIGdvb2QgY29tcGFueS4NCj4gDQo+IEJ1dCBpZiB5b3UgcmVhbGx5IGRpc2FncmVlLCB0aGVu IEknZCBnbyB3aXRoLCBqdXN0IGRyb3AgdGhlIHBhdGNoIGVudGlyZWx5LCBiZWNhdXNlDQo+IGl0 IGRvZXNuJ3QgcmVhbGx5IG1ha2UgdGhpbmdzIGJldHRlciBhcyB3cml0dGVuLi4uSU1ITyBhbnl3 YXkuIDopDQoNCkp1c3QgaW1hZ2luZSBhIGNhc2UsIHdlIGRvbid0IGVuYWJsZSBERUJVR19GUyBi dXQgd2UgZW5hYmxlIEdVUF9URVNULCB3ZSB3aWxsDQpnZXQgYW4gaW1hZ2Ugd2l0aCB0b3RhbGx5 IHVzZWxlc3MgY29kZSBzZWN0aW9uIHNpbmNlIEdVUF9URVNUIGRlcGVuZHMgb24gZGVidWdmcw0K ZW50cnkgdG8gcGVyZm9ybSBhbnkgdXNlZnVsIGZ1bmN0aW9uYWxpdHkuDQoNClRoZSBkaWZmZXJl bmNlIGJldHdlZW4gImRlcGVuZHMgb24iIGFuZCAic2VsZWN0IiBmb3IgdGhpcyBjYXNlIGlzIGxp a2U6DQpkZXBlbmRzIG9uOiBpZiB3ZSB3YW50IHRvIHVzZSBHVVBfVEVTVCwgd2UgaGF2ZSB0byBl bmFibGUgREVCVUdfRlMgZmlyc3Q7DQpzZWxlY3Q6IGlmIHdlIGVuYWJsZSBHVVBfVEVTVCwgS2Nv bmZpZyB3aWxsIGVuYWJsZSBERUJVR19GUyBhdXRvbWF0aWNhbGx5Lg0KDQpUbyBtZSwgSSBhbSA2 MCUgaW5jbGluZWQgdG8gImRlcGVuZHMgb24iIGFzIEkgdGhpbmsgIkRFQlVHX0ZTIiBpcyBtb3Jl DQpvZiBhIHByZS1jb25kaXRpb24gb2YgR1VQX1RFU1QgdGhhbiBhbiBpbnRlcm5hbCBwYXJ0IG9m IEdVUF9URVNULiBTbyBwZW9wbGUNCnNob3VsZCByZWFsaXplIHRoZSBwcmUtY29uZGl0aW9uIG11 c3QgYmUgbWV0IGJlZm9yZSB1c2luZyBHVVBfVEVTVCBhbmQNCnRoZXkgbXVzdCBtYW51YWxseSBl bmFibGUgaXQgaWYgdGhleSBoYXZlbid0LiBUaGF0J3Mgd2h5IEkgdGhpbmsgdGhpcyBwYXRjaCBp cw0KbWFraW5nIHRoaW5ncyBiZXR0ZXIuDQoNCkhvd2V2ZXIsIGFzIEkgcmVwbGllZCBiZWZvcmUs IHRvIHNvbWUgZXh0ZW50LCBJIGFsc28gYWdyZWUgd2l0aCB5b3UuIGlmIG1vc3QNCnBlb3BsZSB2 b3RlIGZvciAic2VsZWN0IiBmb3IgdGhpcyBwYXJ0aWN1bGFyIGNhc2UsIEknbSBhbHNvIGhhcHB5 IHRvIHVzZSAic2VsZWN0Ii4NCg0KPiANCj4gdGhhbmtzLA0KPiAtLQ0KPiBKb2huIEh1YmJhcmQN Cj4gTlZJRElBDQoNClRoYW5rcw0KQmFycnkNCg==