From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2189FA0C57; Mon, 1 Nov 2021 10:10:21 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D61AB40E28; Mon, 1 Nov 2021 10:10:20 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 9A49740DF6 for ; Mon, 1 Nov 2021 10:10:19 +0100 (CET) X-IronPort-AV: E=McAfee;i="6200,9189,10154"; a="254582967" X-IronPort-AV: E=Sophos;i="5.87,198,1631602800"; d="scan'208";a="254582967" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Nov 2021 02:10:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,198,1631602800"; d="scan'208";a="539546672" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga008.fm.intel.com with ESMTP; 01 Nov 2021 02:10:10 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 1 Nov 2021 02:10:10 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Mon, 1 Nov 2021 02:10:10 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Mon, 1 Nov 2021 02:10:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NUCh9iZ5R5yabqhyi9nhzyXsYHpOQ0hcjCEL4fcaGjvBxTIWd2mc+f4sUob3z+DzCgbwGj/SDFi78928An00/cNTlV/MSLDChVvwH0W7FPhiwSOpbzeq1+8l+w9aIxosgX8HnLdbxRDezeOOm3Xmw0SE5RvFGXIEHSo6u8y65+nDSZIok6tF+AKMHZMVvK831w9ISfZA11AA7y8UksWMn/f6OG+S4HxuUsqKclO+N308Ji9GS8BM99MNYG71ZeX1qeJqNRQX7YZRL5POiuzh7uqcEsRSuIWfVPrSjMw3fyFctqN11EuyiLZ/XR+BVJW4jNyRuGlRIKTl2PD9MOsyZQ== 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=zLi23KUEGEN2oxlW2XWiwsrHcvUa5Iyc9ZeOakXNkp0=; b=hg4DEI+LTe/4GpybwWQ69e/ebgbSv7YiWdSqkuNfCpbIXO53qg0u6hVT1JPg4NVUtKHz6X/UjrVI65/ufO8dPFoLeucAvwBTeGd0lxgEBGzPWQIEz4hfHFqjdvavoZpjtuRzLw5vTiuj0au7vN/XeaIQO+D3CsO2x/tlTMIiOMa+dlJYJzbqXEybRyz4qtR1Ay9oJf28732eqNVuPrZliMYyd325e8upQONHPVEphRX5GBaL/1MWBerdo6Ck2cc93aCDZmkJfrQe+XFpLDi8qtwW5eFbHUjrLqq6KVBQ90yXCWdWUb1tez+bnq1EtXLNdhROcZpUNsjFwYPZRmbknA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zLi23KUEGEN2oxlW2XWiwsrHcvUa5Iyc9ZeOakXNkp0=; b=j30IcPS5nELFRKcuPcmN4kz7B2K/zwiDHI0xsHNopqEtvdrEUq/39iJJdYDylSOd3gKP/37BTZD2hLyM1SZ09dIGhZnWyuKVG8wCwcZtLleF80mnL2pLTbKgj/rLjbwxG1MDOIkhGlt2lQDsez8MLwgPlG+lOuwIe1Rsj6sC40g= Received: from SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by SA0PR11MB4591.namprd11.prod.outlook.com (2603:10b6:806:9c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15; Mon, 1 Nov 2021 09:10:08 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::94ce:97cd:1b5f:b511]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::94ce:97cd:1b5f:b511%7]) with mapi id 15.20.4649.019; Mon, 1 Nov 2021 09:10:08 +0000 From: "Xia, Chenbo" To: Andrew Rybchenko , Vijay Srivastava , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" , "Vijay Kumar Srivastava" Thread-Topic: [PATCH v3 01/10] vdpa/sfc: introduce Xilinx vDPA driver Thread-Index: AQHXzNQRv/sLSLfEekykyYpk6JbXZavuRXIggAAee4CAAADEkA== Date: Mon, 1 Nov 2021 09:10:08 +0000 Message-ID: References: <20210706164418.32615-1-vsrivast@xilinx.com> <20211029144645.30295-1-vsrivast@xilinx.com> <20211029144645.30295-2-vsrivast@xilinx.com> <3e963f9a-ed91-cd6a-41c2-7c221a5c1c4f@oktetlabs.ru> In-Reply-To: <3e963f9a-ed91-cd6a-41c2-7c221a5c1c4f@oktetlabs.ru> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oktetlabs.ru; dkim=none (message not signed) header.d=none;oktetlabs.ru; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 79b2989b-98a2-4fd0-a3a3-08d99d176702 x-ms-traffictypediagnostic: SA0PR11MB4591: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: i/GVBVxSAxWm64Q14ecF58QZ2j5YBwFa0P8SMHUpKLOeWJsbSfqDEBVOA+CGvwj590SrZ7PkWZJ8WpAX1yF2HcJuZ06uaN3rOYkxzlZTp1ejJqpecD8m3aspE5KSKmHKl33DI7l3YX4DdFoWQXuFhzi6GEUxtCOWpa44I2YduKoQZPNPD6Le7j3xjrAYnguCczj5gquwdxeos2E+BINLTfsbpeJ5NXlzRuneVr+2vafB+d1ZBWe6OgFVTiTp00E+216XdDg7DlsbtDTQRZZQfoewsMuhxqPzCGCbuqM0oFqLCVLY/ZoVbUYuO6fn8q3TJCIi0HTtI28+laRRad7DBdPgk9a9Rpwvqwijlwn5ELV6dniktE4oxVoAKx1+7+WOMt/gvEPa4hq3pUVPl7bjsbqb0ivkVQ9ANmPTIpYHVwKb4hM7UViOZkztwNu2+SGkc7YR1cynbWvUalUD7NtDh4vMbfdFvGV/38TPezAr173g9KcyKmk0G5uYtFe67neCFeMcUl1+BQKkIHccWalTq04vtODGS2BS1RPY4AbtwHISiVxqJGBP3w8MGG0ddMEdCMCpH61OvxMRTb/hCdmOzxIAxBP1I/5evAz6uTIoGQudnjaYoS4DL1eBpKN2gBdR2oGf26cmD0NW1TdcvwELiskzcC6J/k/jRNNkTWFTpzN1rw0y9WFvBV+oCgOkdsU1X3yUCfPioYhojsi1CiWq4g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(53546011)(5660300002)(54906003)(52536014)(38070700005)(316002)(110136005)(66476007)(55016002)(7696005)(66946007)(4326008)(66556008)(8936002)(8676002)(2906002)(76116006)(66446008)(64756008)(6506007)(82960400001)(9686003)(186003)(33656002)(71200400001)(26005)(38100700002)(86362001)(83380400001)(122000001)(508600001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UzB0SVdjaXZVSWJ0dnBSSHhtc1lmZkhGOG9qbVpsSGhCM2FyL2J0TEZUK3dO?= =?utf-8?B?eTlNcXF1SzdVZllPRisrMGFEc1R6VXVzSWJZcmE0N3UrRXJRaUtIdzFmQ3Z6?= =?utf-8?B?WDNraGQyaFErcFRCSnB6eTVac1o4TnNEc2cwVkNLNU1Bb1Y1azZWU05Tdmty?= =?utf-8?B?ZGE3N2ZlN0RVb1BuY2NZcGZCUG4wNEdlY2tPQUF3UERaMnZ2T21kaWVxK2FY?= =?utf-8?B?b1dseFAwdVNNVmt6aE1NOGZnWEEwZ1Zwdi8veDduRmg5cE9CSFpRNkVWdmQx?= =?utf-8?B?V0F3WFhKOWszME82czY3TkhkSnhVdm1MelMydmhZQ204ajB1S0VZeTFaMkJ0?= =?utf-8?B?N210bUNtc1ZyTnhFdXZPbFpnOVE4QVFrUDdNL3lBMW9lT1VscVJQZkEwKzdp?= =?utf-8?B?ekpGNjAzVlpheFh0WFdkY2tZajJQMzhJQm90NzAzdlRDR3pTVXU5Y3ZUckJ1?= =?utf-8?B?dHI5YzUyNmU4OUR3QzUrUGtSeWZOckZaMGVjai95ME5zcGMrR05JMG5ZUGxD?= =?utf-8?B?RHc2VUlMVU83aU92bzBWaGFsL2JZUDNyK0Rpd295KzdJT0VYWUNzYTd0emJX?= =?utf-8?B?VHEyUkVEcDg5T1BDY05tWjh4UDQvcW9ZNFVNelFpNmdlUVFXR0FPVExKOUMz?= =?utf-8?B?ZWs3YVVvT2pxZ0RzUlNhMDJzSHhRYytjaDBvYXArSm41Z3FPWDFMelpPNEZL?= =?utf-8?B?QUYva3lSSWczK2dYdXBoY0Z1V0RVWEpXK3RCckNQclVERkJjYTIyOExsRVlJ?= =?utf-8?B?WE1kQVpuL1d5bCtVcjlMcnFkSGtIcTFVTzdvajNoTlpsZ0h4V1NZOGJyZTNq?= =?utf-8?B?cU9jcEgxemVIQTF0Y2pTOG5tSHZRNldjazJ1SDFhbC9jM1N4dStYNWtpNExG?= =?utf-8?B?bWtTZTM5L21HWmczV2FMZ1U0ZDduT1hlbWxzSGgxc2ZGek5Rc2xTR0sxQVNv?= =?utf-8?B?dVFCVWVRUXhTNjZQMmg4SXZqT2hpT2VycjBBYjFpNnl0QkVZSk9tT3lScWJt?= =?utf-8?B?SWZDeVl4VmYvWjR2cDJnOTBCY3kzTTRkR0ZLckZBOS8vcm9IUEdVVHF2N3hF?= =?utf-8?B?ODdtdnpnckhZSmNOKzBrZlVPQWF4NEk2YWJvSUpCNnAxdHlQaFpvV205TWVG?= =?utf-8?B?SHlXbXllZTNZblVYOU9ybTZ0S25yVFBIbEs3VmxYZXg0T2U0WHJnOTduM0l3?= =?utf-8?B?TkpTc3VtbDZyUCs1T2Y4UUZHS0RWd21yUWhuQ3UzTlN1MlJ2ZHNId3dqcjVX?= =?utf-8?B?NmUwMXIzU3NNQm50ZHBLNjRaWlZJTlAyS2NVQnhTWHc0TG9YYTJXRlBEeFBX?= =?utf-8?B?UTBGdllyN21VZlp6V2t3a3VWOHJUcDdzYUIrR1A1YzVJbkVQSGdvVEFscnlG?= =?utf-8?B?akRTK3dReEZLQnNPc2I0b3h2OHlEY2VpaVYzQm5qZmcvbGJjUDVPTUQvaVRD?= =?utf-8?B?a0lYOUs3TVM3dkkyR2hVbVVyYlYwQnBNS1RUZG9aaDdFNWRxWS9ua0JmY24x?= =?utf-8?B?RjRYMVQ2bUd5bjBqbWIvNmM4eG9FTkU1K08vQkRhV0VsSnVkOWN2dm41OEZo?= =?utf-8?B?d0t5bjdORkRld05mcHB5MEhUOUpIVDdVQ3lNdEg3alhGQUhiNXdZcDl5aWgx?= =?utf-8?B?VEZLMklVblMwNndrMnlVR21PSmdMVnFjR1N2eEhOZVVyS0o5WmNLTFNWMXVo?= =?utf-8?B?RmhiU0kvYTB6dHJQNXgxK3FsSkhtdDFna0RlTUVnWkYvaVRUMTRnRm9HeGpj?= =?utf-8?B?Vmc5NzFYQTJIRzFhN3hraWpnaksvSXpudEFiM0o0em9vRWhTUWZVZWxaN3dr?= =?utf-8?B?WjlXc09YU1BKb1UzYnBWb2dsMEwyUS9SL0E2bm94dE5SY0pNd0FJcTQ3YTZP?= =?utf-8?B?MWtuV2NsMVBESXlWd1hQZW5seFFURTRjbk5XVkE4TG5rZmQyMHNpS0I4Vyt2?= =?utf-8?B?MWJORXRUclMxRjgxN0Z4VjVKdGVTODg5M0UrNUVSK00yeHBsRWhzaWtPaFMv?= =?utf-8?B?U092ZmJyM0c0d3dHalZjNk83Zk41dXNNMGZuMVJSNW1WcXkvT1l1Sjk0TlJE?= =?utf-8?B?UzVReE1RQ1pPakVEUEx0YTEvcWhzZloyc3FmZzA4YW1nNjJKaFdWTTdzaDVY?= =?utf-8?B?Mkk0V0J1cmUvdXJLVUo4Rmk5dWFqUDU0aW1KRjZURmxDVS9tZ2ltZi83TEVa?= =?utf-8?B?NkE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB3504.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 79b2989b-98a2-4fd0-a3a3-08d99d176702 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Nov 2021 09:10:08.6271 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: vBql7tLdmzj9J025g89E0OTXXsr1NXUqFjaXTCHQckmKxIV7x2uLXYfPRJZq1LTQuHjIz7ueNC7vGKjyE+mfDg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4591 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3 01/10] vdpa/sfc: introduce Xilinx vDPA driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxh bmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gU2VudDogTW9uZGF5LCBOb3ZlbWJlciAx LCAyMDIxIDU6MDAgUE0NCj4gVG86IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT47 IFZpamF5IFNyaXZhc3RhdmENCj4gPHZpamF5LnNyaXZhc3RhdmFAeGlsaW54LmNvbT47IGRldkBk cGRrLm9yZw0KPiBDYzogbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb207IFZpamF5IEt1bWFyIFNy aXZhc3RhdmEgPHZzcml2YXN0QHhpbGlueC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMg MDEvMTBdIHZkcGEvc2ZjOiBpbnRyb2R1Y2UgWGlsaW54IHZEUEEgZHJpdmVyDQo+IA0KPiBIaSBD aGVuYm8sDQo+IA0KPiBUaGFua3MgZm9yIHJldmlldy4NCj4gRmV3IHF1ZXN0aW9ucyBmcm9tIG1l IGJlbG93IG9uIHlvdXIgcmV2aWV3IG5vdGVzLg0KPiANCj4gQW5kcmV3Lg0KPiANCj4gT24gMTEv MS8yMSAxMTozMCBBTSwgWGlhLCBDaGVuYm8gd3JvdGU6DQo+ID4gSGkgVmlqYXksDQo+ID4NCj4g Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogVmlqYXkgU3JpdmFzdGF2 YSA8dmlqYXkuc3JpdmFzdGF2YUB4aWxpbnguY29tPg0KPiA+PiBTZW50OiBGcmlkYXksIE9jdG9i ZXIgMjksIDIwMjEgMTA6NDcgUE0NCj4gPj4gVG86IGRldkBkcGRrLm9yZw0KPiA+PiBDYzogbWF4 aW1lLmNvcXVlbGluQHJlZGhhdC5jb207IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNv bT47DQo+ID4+IGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1OyBWaWpheSBLdW1hciBTcml2 YXN0YXZhIDx2c3JpdmFzdEB4aWxpbnguY29tPg0KPiA+PiBTdWJqZWN0OiBbUEFUQ0ggdjMgMDEv MTBdIHZkcGEvc2ZjOiBpbnRyb2R1Y2UgWGlsaW54IHZEUEEgZHJpdmVyDQo+ID4+DQo+ID4+IEZy b206IFZpamF5IEt1bWFyIFNyaXZhc3RhdmEgPHZzcml2YXN0QHhpbGlueC5jb20+DQo+ID4+DQo+ ID4+IEFkZCBuZXcgdkRQQSBQTUQgdG8gc3VwcG9ydCB2RFBBIG9wZXJhdGlvbnMgb2YgWGlsaW54 IGRldmljZXMuDQo+ID4+IFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwcm9iZSBhbmQgcmVtb3ZlIGZ1 bmN0aW9ucy4NCj4gPj4NCj4gPj4gU2lnbmVkLW9mZi1ieTogVmlqYXkgS3VtYXIgU3JpdmFzdGF2 YSA8dnNyaXZhc3RAeGlsaW54LmNvbT4NCj4gPj4gQWNrZWQtYnk6IEFuZHJldyBSeWJjaGVua28g PGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiA+DQo+ID4gTm90ZSB0aGF0IHlvdXIg cGF0Y2ggaXMgbm90IHJlYmFzZWQgb24gdGhlIGxhdGVzdCBjb21taXQuIFJldmlld2Vycw0KPiA+ IG1heSBoYXZlIHRyb3VibGUgdG8gcmV2aWV3IHlvdXIgcGF0Y2guDQo+ID4NCj4gDQo+IFtzbmlw XQ0KPiANCj4gPj4gKwlzdmEtPnZmaW9fZ3JvdXBfZmQgPQ0KPiA+PiArCQlydGVfdmZpb19jb250 YWluZXJfZ3JvdXBfYmluZChzdmEtPnZmaW9fY29udGFpbmVyX2ZkLA0KPiA+DQo+ID4gRFBESyBh bGxvd3MgdXAgdG8gMTAwIGNoYXJzIHBlciBsaW5lLiBQbGVhc2UgY2hlY2sgYWxsIGNvZGUgdGhh dCBkbyBub3QNCj4gPiBuZWVkIG5ldyBsaW5lcy4gSXQgd2lsbCBtYWtlIHRoZSBjb2RlIGxvb2sg YmV0dGVyLg0KPiANCj4gSSdtIHNvcnJ5LCBidXQgYXMgZmFyIGFzIEkga25vdyBwZXJtaXNzaXZl IHRvIGhhdmUgdXAgdG8gMTAwIGNoYXJzDQo+IGRvZXMgbm90IGVuZm9yY2UgdG8gc3RyZXRjaCBh bGwgbGluZXMuIE9yIGFtIEkgbWlzc2luZyBzb21ldGhpbmcgaW4NCj4gY29kaW5nIHN0eWxlPyBJ TUhPLCBpdCBpcyBzdGlsbCAqYWxsb3dlZCogdG8gYXZvaWQgbGluZXMgbG9uZ2VyIHRoYW4NCj4g ODAgY2hhcnMuDQoNCllvdSBhcmUgY29ycmVjdC4gODAgY2hhcnMgaXMgc3RpbGwgYWxsb3dlZC4g WW91IGNhbiBrZWVwIGl0IGlmIGl0J3MgeW91cg0KcHJlZmVyZW5jZS4gSSBqdXN0IHRob3VnaHQg bW9zdCBwZW9wbGUgd291bGQgY2hvb3NlIDEwMCBjaGFycyBmb3IgYSBjYXNlDQphYm92ZS4gQnV0 IHlvdSBjYW4gY2hvb3NlIG9uIHlvdXIgb3duIDopDQoNCi9DaGVuYm8NCg0KPiANCj4gW3NuaXBd DQo=