From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B313BA04B6; Mon, 12 Oct 2020 17:56:23 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B7A5B1D917; Mon, 12 Oct 2020 17:56:21 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id A1D811D90E for ; Mon, 12 Oct 2020 17:56:19 +0200 (CEST) IronPort-SDR: ahglVQgqNfLXAhtCRP3OXXH/Y9ry6DXm8gc9UgQ6wTb1CPd3RV8oorXPvR38G271V56OS473DX hSpTtZhmHE4g== X-IronPort-AV: E=McAfee;i="6000,8403,9772"; a="145624457" X-IronPort-AV: E=Sophos;i="5.77,367,1596524400"; d="scan'208";a="145624457" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Oct 2020 08:56:17 -0700 IronPort-SDR: si/1sSu7nbJtl9W/yG4tMV+T6UwGWt6Knrx1WB95/8mbGeqnRDa2m2iIWzWcEo5wxqic9bWS51 c1u2LrsHj6/w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,367,1596524400"; d="scan'208";a="317962889" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga006.jf.intel.com with ESMTP; 12 Oct 2020 08:56:17 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 12 Oct 2020 08:56:16 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 12 Oct 2020 08:56:16 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 12 Oct 2020 08:56:16 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.171) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 12 Oct 2020 08:56:14 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lADTK70xzv8lDHhY+nW1Y0Rfhp9fSbCVD+0ZyqhiQ3ICNn+X5x5ouXRFhx9+LcJPqApjslF4gR20xxpfblx9BQQ4Jy3otF458sELoHn6b9CwE3q6sMWTfKLo9AqOxqtp48iD2s1IhWV0p9/uKDG3inGVvfpiayg7gyHwWUVRwU0AJ9BCyyX2jjdkeX0BxfXBVuU17LjSj/E8gabcsa9Utnmsv3ZjNhM8XDv41dHk9KstJq/3I2a+u2Mx5SgTow9sZNxhhgy6uQQvcrQVRwBUnpfynXWuj5F9lhtvPxaQNLiD3YC6kAdBEugV4FQuB4Lns5dfftngLWcxXz5Zz84dng== 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-SenderADCheck; bh=MJ/0BA4T+1VE+FOR2BYaCg3lr6GL8e+Nd9w0AUtkgdw=; b=aLx//XerTO0d3+IkhI3+1Fbh+5S+cqHcYgZrKS/ZiCX4sZcD3dtQVF7lF3pu/0rFsx+A3pmGHgrMsjgfkiNOP/go5bbiH50aLaLSkQkcUBXRdSkX6VLXAIYu5MdzGKHpj5LRx/ZsOKKlJ4hlxOe53SwMhkeZZT4vnD8ozn75lTv1uOZy/QEr/F3ra16JU3IOMSASUfHTRB+YQWjCiBXNEHt1tH1BYlQbglAQvn5EKD9EMJPqdJ4ApZxANMYa2Lo8T4L41jqdHvqd1qFmKyCkyUZ8D+ddgm73qeulnIylvyDRkh3WPffsINK5s+NfM60wV8zc6OmQdyhHPXZT6+X8UA== 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=MJ/0BA4T+1VE+FOR2BYaCg3lr6GL8e+Nd9w0AUtkgdw=; b=OQQVzVklumiP0EzAQOEXMZUMAjs9GQ+RFyW5p9Wymz2iHU+/vUDACdOtNEPeuZyCn6tA6jBGjfEZWU0DIeOiHEQkhiD92r8m7yNB+stJI3/skEGp0FiWyaTt09orYkUX0SvpLgas0f4z7nQkuvfpgEARBYukBjU/Hu4Oe8UW/3s= Received: from BYAPR11MB3301.namprd11.prod.outlook.com (2603:10b6:a03:7f::26) by BYAPR11MB2951.namprd11.prod.outlook.com (2603:10b6:a03:90::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.27; Mon, 12 Oct 2020 15:56:09 +0000 Received: from BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f5a4:3f6b:ade3:296b]) by BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f5a4:3f6b:ade3:296b%3]) with mapi id 15.20.3455.029; Mon, 12 Oct 2020 15:56:09 +0000 From: "Ananyev, Konstantin" To: Slava Ovsiienko , NBU-Contact-Thomas Monjalon , Andrew Rybchenko , "Yigit, Ferruh" CC: "dev@dpdk.org" , "stephen@networkplumber.org" , Shahaf Shuler , "olivier.matz@6wind.com" , "jerinjacobk@gmail.com" , "maxime.coquelin@redhat.com" , "david.marchand@redhat.com" , Asaf Penso Thread-Topic: [dpdk-dev] [RFC] ethdev: introduce Rx buffer split Thread-Index: AdZ0vX26iflBD6P5QjC0iZ6rubHz2wYVc4aAAq8mKXACKQeeAAAB7r+QAAuoYQAAAGdmgAAAIFJQAADJdrA= Date: Mon, 12 Oct 2020 15:56:08 +0000 Message-ID: References: <4d4be3cd-e418-00cf-ce6d-51f6c3e5c078@oktetlabs.ru> <8304375.31BPq7MtOA@thomas> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [46.7.39.127] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fad36b5d-c539-4ba5-adfb-08d86ec755df x-ms-traffictypediagnostic: BYAPR11MB2951: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5wivjXJ+6noHbWy/bthbjdUJoMOMKg6duG117sseAB1S9yaF/0tLsrC64t5LWRqT+yrSP9aJNkkf9UjLT4Thc9ph6dWfzJ52+UmA798iFEB+S9XhquPMQAFT8x85QPMAZU4ZqQCIifBkRuogglNI63MK27ZXDDdH9oOdk2e0kdIKVuRug9g2F4jvidmsLNQAnz2W9BhQTkCoiw/8YaVL/Tu4RO0rUCi8YgqOSOLEoXH5INmDj59pwn+8MNxhEyYkdlnU8Zjz1ETM9YFYEpk6h+E0hgiTmseKAeaSgnPOUb1IZ4dOenKaA3ThB/II9J+kPAT3KhMZGlEsdLCev1tUyQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3301.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(396003)(366004)(39860400002)(136003)(53546011)(6506007)(8936002)(7696005)(7416002)(9686003)(478600001)(8676002)(186003)(26005)(2906002)(54906003)(55016002)(110136005)(316002)(66476007)(4326008)(33656002)(76116006)(5660300002)(52536014)(66556008)(71200400001)(86362001)(66446008)(66946007)(64756008)(83380400001)(6636002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: Hx8pnma07+sOCBkYks8Pb0Yj/KSK+VOzzAJx8fMifoHFcquDyrP3/rH9t9OcU79/7ZzZ2OxEH2yOOSPkYOt80paJRfRh1htNC0U8X53OE//VcKE6AuOlrZ3YAQhbz5pCvEMrcheLZLzc/7jQ+mvU3QFALZFIiAbpFC9ncJ6HLbjka/fRPlyKhZEpdVhJfHFphHbG6yha0EKCB06IVMXGbW98k8fLqNINRl4//rE5ZPKUs1ZC5Ahn0Ry1JsUmXM1TXxsIA4ClHtUPRO5nThA9A70Ua1L3mhzEGSl84Rr/5VlmzGI2xRVtFVR8yJad9U7oMB2vw7ysSn9oUGxO+IdMFSiELsk99o/Y19hrHm0Dfxl2SzBNU2EJ7eoG6LqTZXfOCfOeRcSqGefOzqjDQEdYAoruEkmVOHqkjceMLfFzeAjDHC6sU6mzwqEYv8+Xjb48TlO4qkqwSlcB+6NmjD1gbEpkiWGxCI0UFSE7rJoqdBuWxK0EsW6K9ZtDo27ViVBKXTaSBjyzEMd0EA2hy2eojBGuqbUCKPUeAdV0sYj2/O5/+zwvjmzy4jK9s9oeTP0EFQLoUCHTf4mZ3hvVrhP5t1W7rC/ha9eDAqch70UL26+YrlT5nucv7bFlijykYmiG+StDTnaK5Ym7bEwRHbw8Dw== 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: BYAPR11MB3301.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fad36b5d-c539-4ba5-adfb-08d86ec755df X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2020 15:56:08.9695 (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: TK4VF0JIfka4rJuEgpMxbhe9ORgoZJkQBJ7lUICawwcCGEMKdBFCaaPJKXk+NLWxlZGCKflB+7+EwQMurV4PCj6LYNLUxblRsPD0PBDOg9E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2951 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [RFC] ethdev: introduce Rx buffer split X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogQW5hbnlldiwg S29uc3RhbnRpbiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4NCj4gPiBTZW50OiBNb25k YXksIE9jdG9iZXIgMTIsIDIwMjAgMTg6MjgNCj4gPiBUbzogTkJVLUNvbnRhY3QtVGhvbWFzIE1v bmphbG9uIDx0aG9tYXNAbW9uamFsb24ubmV0PjsgQW5kcmV3DQo+ID4gUnliY2hlbmtvIDxBbmRy ZXcuUnliY2hlbmtvQG9rdGV0bGFicy5ydT47IFlpZ2l0LCBGZXJydWgNCj4gPiA8ZmVycnVoLnlp Z2l0QGludGVsLmNvbT47IFNsYXZhIE92c2lpZW5rbyA8dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT4N Cj4gPiBDYzogZGV2QGRwZGsub3JnOyBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZzsgU2hhaGFm IFNodWxlcg0KPiA+IDxzaGFoYWZzQG52aWRpYS5jb20+OyBvbGl2aWVyLm1hdHpANndpbmQuY29t OyBqZXJpbmphY29ia0BnbWFpbC5jb207DQo+ID4gbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb207 IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb207IEFzYWYgUGVuc28NCj4gPiA8YXNhZnBAbnZpZGlh LmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW2RwZGstZGV2XSBbUkZDXSBldGhkZXY6IGludHJvZHVj ZSBSeCBidWZmZXIgc3BsaXQNCj4gPg0KPiA+DQo+ID4NCj4gPiA+DQo+ID4gPiAxMi8xMC8yMDIw IDExOjU2LCBTbGF2YSBPdnNpaWVua286DQo+ID4gPiA+IEhpLCBBbmRyZXcNCj4gPiA+ID4NCj4g PiA+ID4gVGhhbmsgeW91IGZvciB0aGUgY29tbWVudHMuDQo+ID4gPiA+DQo+ID4gPiA+IFdlIGhh dmUgdHdvIGFwcHJvYWNoZXMgaG93IHRvIHNwZWNpZnkgbXVsdGlwbGUgc2VnbWVudHMgdG8gc3Bs aXQgUngNCj4gPiBwYWNrZXRzOg0KPiA+ID4gPiAxLiB1cGRhdGUgcXVldWUgY29uZmlndXJhdGlv biBzdHJ1Y3R1cmUgMi4gaW50cm9kdWNlIG5ldw0KPiA+ID4gPiByeF9xdWV1ZV9zZXR1cF9leCgp IHJvdXRpbmUgd2l0aCBleHRyYSBwYXJhbWV0ZXJzLg0KPiA+ID4gPg0KPiA+ID4gPiBGb3IgWzFd IG15IG9ubHkgYWN0dWFsIGRpc2xpa2UgaXMgdGhhdCB3ZSB3b3VsZCBoYXZlIG11bHRpcGxlIHBs YWNlcw0KPiA+ID4gPiB0byBzcGVjaWZ5IHRoZSBwb29sIC0gaW4gcnhfcXVldWVfc2V0dXAoKSBh bmQgaW4gdGhlIGNvbmZpZw0KPiA+ID4gPiBzdHJ1Y3R1cmUuIFNvLCB3ZSBzaG91bGQgaW1wbGVt ZW50IHNvbWUgY2hlY2tpbmcgKGlmIHdlIGhhdmUgb2ZmbG9hZA0KPiA+ID4gPiBmbGFnIHNldCB3 ZSBzaG91bGQgY2hlY2sgd2hldGhlciBtcCBwYXJhbWV0ZXIgaXMgTlVMTCBhbmQgc2VnbWVudA0K PiA+ID4gPiBkZXNjcmlwdGlvbnMgYXJyYXkgcG9pbnRlci9zaXplIGlzIHByb3ZpZGVkLCBpZiBu byBvZmZsb2FkIGZsYWcgc2V0IC0gd2UgbXVzdA0KPiA+IGNoZWNrIHRoZSBkZXNjcmlwdGlvbiBh cnJheSBpcyBlbXB0eSkuDQo+ID4gPiA+DQo+ID4gPiA+ID4gQFRob21hcywgQEZlcnJ1aDogSSdk IGxpa2UgdG8gaGVhciB3aGF0IG90aGVyIGV0aGRldiBtYWludGFpbmVycw0KPiA+ID4gPiA+IHRo aW5rIGFib3V0IGl0Lg0KPiA+ID4gPg0KPiA+ID4gPiBZZXMsIGl0IHdvdWxkIGJlIHZlcnkgbmlj ZSB0byBoZWFyIGV4dHJhIG9waW5pb25zLiBEbyB3ZSB0aGluayB0aGUNCj4gPiA+ID4gcHJvdmlk aW5nIG9mIGV4dHJhIEFQSSBmdW5jdGlvbiBpcyB3b3JzZSB0aGFuIGV4dGVuZGluZyBleGlzdGlu Zw0KPiA+ID4gPiBzdHJ1Y3R1cmUsIGludHJvZHVjaW5nIHNvbWUgY29uZGl0aW9uYWwgYW1iaWd1 aXR5IGFuZCBjb21wbGljYXRpbmcNCj4gPiA+ID4gdGhlIHBhcmFtZXRlciBjb21wbGlhbmNlIGNo ZWNrPw0KPiA+ID4NCj4gPiA+IExldCdzIHRyeSBsaXN0aW5nIHByb3MgYW5kIGNvbnMgb2YgZWFj aCBhcHByb2FjaCwgc28gd2UgY2FuIGNvbmNsdWRlLg0KPiA+ID4NCj4gPiA+IDEvIHVwZGF0ZSBx dWV1ZSBjb25maWcgc3RydWN0DQo+ID4gPg0KPiA+ID4gCTEuMSBwcm86IGtlZXAgc2FtZSBxdWV1 ZSBzZXR1cCBmdW5jdGlvbg0KPiA+ID4gCTEuMiBjb246IHR3byBtZW1wb29sIHBvaW50ZXJzIChz dHJ1Y3Qgb3IgZnVuY3Rpb24pDQo+ID4gPiAJMS4zIGNvbjogdmFyaWFibGUgc2l6ZSBvZiBzZWdt ZW50IGRlc2NyaXB0aW9uIGFycmF5DQo+ID4gPg0KPiA+ID4gMi8gbmV3IHF1ZXVlIHNldHVwIGZ1 bmN0aW9uDQo+ID4gPg0KPiA+ID4gCTIuMSBjb246IHR3byBmdW5jdGlvbnMgZm9yIHF1ZXVlIHNl dHVwDQo+ID4gPiAJMi4yIHBybzogbWVtcG9vbCBwb2ludGVyIGlzIG5vdCByZWR1bmRhbnQNCj4g PiA+IAkyLjMgcHJvOiBzZWdtZW50IGRlc2NyaXB0aW9uIGFycmF5IHNpemUgZGVmaW5lZCBieSB0 aGUgY2FsbGVyDQo+ID4gPg0KPiA+ID4gV2hhdCBlbHNlIEknbSBtaXNzaW5nPw0KPiA+ID4NCj4g Pg0KPiA+IE15IDIgY2VudHM6IGNhbiB3ZSBtYWtlIG5ldyAoX2V4KSBmdW5jdGlvbiB0byB3b3Jr IGZvciBib3RoIG9yaWdpbmFsIGNvbmZpZw0KPiA+ICgxIG1wIGZvciBhbGwgc2l6ZXMsIG5vIHNw bGl0KSBhbmQgZm9yIG5ldyBjb25maWcgKG11bHRpcGxlIG1wLCBzcGxpdCBhbGxvd2VkKT8NCj4g PiBUaGVuIGluIGZ1dHVyZSAoMjEuMTE/KSB3ZSBjYW4gZWl0aGVyIGdldCByaWQgb2Ygb3JpZ2lu YWwgb25lLCBvciBldmVuIG1ha2UgaXQNCj4gPiBhIHdyYXBwZXIgYXJvdW5kIGFsbCBvbmU/DQo+ ID4gS29uc3RhbnRpbg0KPiANCj4gWWVzLCBhY3R1YWxseSB0aGUgbWx4NSBQTUQgaW1wbGVtZW50 YXRpb24gZm9sbG93cyB0aGlzIGFwcHJvYWNoIC0NCj4gc3BlY2lmeWluZyB0aGUgc2VnbWVudCBk ZXNjcmlwdGlvbiBhcnJheSB3aXRoIHRoZSBvbmx5IGVsZW1lbnQNCj4gYW5kIHplcm8gc2l6ZS9v ZmZzZXQgcHJvdmlkZXMgZXhhY3RseSB0aGUgc2FtZSBjb25maWd1cmF0aW9uIGFzIGV4aXN0aW5n DQo+IHJ0ZV9ldGhfcnhfcXVldWVfc2V0dXAoKS4NCj4gDQo+IEN1cnJlbnRseSBJJ20gZGV0YWls aW5nIHRoZSBkZXNjcmlwdGlvbiAgKGhvdyBIRUFEX1JPT00gaXMgaGFuZGxlZCwgd2hhdCBoYXBw ZW5zDQo+IGlmIGFycmF5IGlzIHNob3J0ZXIgdGhlIHRoZSBidWZmZXIgY2hhaW4gZm9yIHNlZ21l bnQgb2YgbWF4aW1hbCBzaXplLCB0aGUgemVybyBzZWdtZW50DQo+IHNpemUgbWVhbnMgZm9sbG93 IHRoZSB2YWx1ZSBkZWR1Y2VkIGZyb20gdGhlIHBvb2wgYW5kIHNvIG9uKS4NCj4gDQo+IFNvLCBt YXkgd2UgY29uc2lkZXIgdGhpcyBwb2ludCBhcyBvbmUgbW9yZSAicHJvIiB0byBzZXR1cF9leCBh cHByb2FjaCA/IPCfmIoNCj4gDQoNCkZyb20gbXkgcGVyc3BlY3RpdmUsIHllcy4NCkl0IGlzIHNv cnQgb2YgbW9yZSBncmFkdWFsIGFwcHJvYWNoLg0KSSBleHBlY3QgaXQgd291bGQgYmUgZXhwZXJp bWVudGFsIGZ1bmN0aW9uIGZvciBzb21lIHRpbWUsDQpzbyB3ZSdsbCBoYXZlIHRpbWUgdG8gdHJ5 IGl0LCBhZGp1c3QsIGZpeCwgZXRjIHdpdGhvdXQgYnJlYWtpbmcgb3JpZ2luYWwgb25lLg0KIA0K