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 BBCBCA04B6; Mon, 12 Oct 2020 11:56:33 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E9F1F1D65B; Mon, 12 Oct 2020 11:56:31 +0200 (CEST) Received: from nat-hk.nvidia.com (nat-hk.nvidia.com [203.18.50.4]) by dpdk.org (Postfix) with ESMTP id 3BF521D656 for ; Mon, 12 Oct 2020 11:56:28 +0200 (CEST) Received: from HKMAIL104.nvidia.com (Not Verified[10.18.92.9]) by nat-hk.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Mon, 12 Oct 2020 17:56:26 +0800 Received: from HKMAIL101.nvidia.com (10.18.16.10) by HKMAIL104.nvidia.com (10.18.16.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 12 Oct 2020 09:56:23 +0000 Received: from NAM04-CO1-obe.outbound.protection.outlook.com (104.47.45.50) by HKMAIL101.nvidia.com (10.18.16.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Mon, 12 Oct 2020 09:56:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lOkjKQSOvGv9tDwB9GFSX1VwRfQ4oarrLz4jElKc5U3pL94gxrYnHkz/ccmrdP7HORJbBLLycPEITusFxIarjgjKGeEfya/KqHeiFEoERd4karSJdWIDfu4ShrobARuY8XpY2B/CzTOeTsg3zWGm8XV0FMxkqUO+7xopfIQOmziUAoK1gTo1ELQWELm0ObuAq5N/vNninrNdGt+DCtoYr8L5QbDf9iMs6MOubEBHzj1sCQMxDoVroSSjUGAPUVP1rjTlBAwKHn7r05al2GLRoj/Zvr/HEksGxSQ5OXtF29Zw5wUgTVbzKz4IvdwOYDrc/P9Rdmlf6nXXm5wKdUKTKw== 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=Oo2P3nypiNLkqjhiMfkVElEgvgcNeM96BMx99C+JLUg=; b=hAnoRwLr9ayhBdCp5Trxmy//cBe6UbGROuS3JyNYunpPsL6eYwgO+icjydqJXVOfEB8d9SYEQsXkL3SyfNQoqGWcWzfkXTIGIKkNCe135Ohbm1aEjtGwALlOgLkdp1va65GnuwZFkVQc9i3Nmjaow80RuwdPZbWpvQzGbMUq9Bl6LKlOedwHfGUysCZKk3CtBIgz6WSc62ufO9vNIcWzS2bJcYKhhQW4s2YSc0iKuUIWFtlXH7UCknS2oeTCUSlhjWyIW8v/ij2Hv+tkNr3FgKqbQuxkSzXRXEz+WFN/OL/YTF9sC68ZX/1jorDi5ZZk5rJUDiXYjUQt6c4HMorFtg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from MWHPR12MB1360.namprd12.prod.outlook.com (2603:10b6:300:12::7) by MWHPR12MB1757.namprd12.prod.outlook.com (2603:10b6:300:111::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.22; Mon, 12 Oct 2020 09:56:20 +0000 Received: from MWHPR12MB1360.namprd12.prod.outlook.com ([fe80::711e:ec6f:ba28:d3d0]) by MWHPR12MB1360.namprd12.prod.outlook.com ([fe80::711e:ec6f:ba28:d3d0%5]) with mapi id 15.20.3455.030; Mon, 12 Oct 2020 09:56:20 +0000 From: Slava Ovsiienko To: Andrew Rybchenko , "dev@dpdk.org" CC: Thomas Monjalon , "stephen@networkplumber.org" , "ferruh.yigit@intel.com" , 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+Q Date: Mon, 12 Oct 2020 09:56:19 +0000 Message-ID: References: <1870d31a-0ec1-4198-fcee-03646c009458@solarflare.com> <4d4be3cd-e418-00cf-ce6d-51f6c3e5c078@oktetlabs.ru> In-Reply-To: <4d4be3cd-e418-00cf-ce6d-51f6c3e5c078@oktetlabs.ru> Accept-Language: en-US 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=nvidia.com; x-originating-ip: [95.164.10.10] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6d391625-1edb-4074-e692-08d86e9511d0 x-ms-traffictypediagnostic: MWHPR12MB1757: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,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: inll9Cn4SqxwsOuXRSZDEfBxZ3S7ubjsT56+D2aA9G5klFy+r+uyS0XMdd7oB1liC4VC3DI2BUgVF4ierGSSeSnvIl4Dvj/ImaE7ILgtXp7PXVff/ciIQsQ5bvlD3fH/iPfvlMRCUPheHHeohGcdCsV74KcYtNwF3WUNezRXQzSxZKFL7uwvkWZSOWKfDgCqmld9uhkZn1oxV9RVvow6YpIFzdtOjT1l6DCo4XT50l6ZZtMJdCbSseHwiMNyeDvKq3OWY/XilIIBClkbOmW5Ol0KVF6PyE8ad7uzOVsvg66cgiFiGcnKsZbaVJ067rbOQFPfdRLM96eiPsoGh0zdA01oA2y22ARhYJL0TPWmwqD8Z5tSOsckaab4+IPlvSDJdj1DIJZzxlsTed6I+iqAbQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR12MB1360.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(346002)(376002)(39860400002)(136003)(396003)(186003)(26005)(86362001)(55016002)(76116006)(478600001)(83380400001)(6506007)(66556008)(66446008)(66476007)(33656002)(5660300002)(8936002)(4326008)(64756008)(66946007)(45080400002)(53546011)(52536014)(2906002)(83080400001)(110136005)(54906003)(316002)(8676002)(71200400001)(107886003)(9686003)(7696005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: z/kZzLbVQAb2QjZjIXrnP8F039OQMEiGhmAHczRVf07lCL8qnvssPBpM2sKi28UKgJ5uEBdlac5hb/1nEnuHnilPUHH8eVKrSit9n0UhjxBMEIuUIzIIDC5TdBmCSAgeFfuktTN4oGVngfE5oACB6vTcHf9RVsvav8PCGRn4A5L/Kc38+lVUD/6SGS5dgsAKkmygItxz3h3v5WraNgWSkexfiEYI9xOI3EXfpqWnW/qGZlJ6pnByyM+fhkA5yVjYCGTpSK1wVD12JgbkRSMRhQmfwvf874g3Fno+81hMDo5FxWUrHzfkdhb6x2z2RNIwByFJRIKb3Mt5C92lwnZA3U6CKEWQwB9DEGD6T5re7++zM1Jsj2AfZ3KZvJlb24DJw8bb+gIj5TFUC1xgYeZgHcd+nvuyYfSK4JvmlnEDJKR4M0HeYyV7zTo35UX8iT+UyK6zJajFdBfo1L/c9GAXF6Ci8cFKNgV6uaxNdfVq/3QEpt+fr75adlsHoZqufq2FOTIkhP7SYfYX8jWTTZRFM6+EQAg2faz7r6iYrF8K0hEAj9viC2JQVYhWIZs/nhSlvjrmtSrxtwRfLNH6E2OQqTo6kDr48V8cYjGu00aFtC2yqxAIpt5QehdbI93ivwGib5tUEG7yneyP+xA5IE4fTg== 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: MWHPR12MB1360.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d391625-1edb-4074-e692-08d86e9511d0 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2020 09:56:19.8771 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YQYimyUmj5e5s6Ec7W3FW7YyAdjOZEIt+oSVslmh5Uen3VDWFJTPcYgtk0KrfTH435YD/I+Hd5Th6EJQTF83OQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1757 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1602496586; bh=Oo2P3nypiNLkqjhiMfkVElEgvgcNeM96BMx99C+JLUg=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-ms-exchange-transport-forked:x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report:x-ms-exchange-antispam-messagedata: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=VpnHJOyeQnb76EIKttFmFN1vmRtH01Xfl3H0LjYI0w+KnQ0BWNVGgk1OWi5tUmglm OwAknisWdVgsVBBQ5ib2tGgtqWFByfXl6YoU7zCVsmKAoNMXdn+KvZAJak65kxa9QV Oaj82WU/zwNyih0ApWeGDfbYzqwMMLczXazz70p8EyrC9r5lMB+JMq18QCLleCGdJ4 TVOVvO08jJfgCVwacVcyTlKR9aD5yTpjnyhDFie1X3dy4h45sJoWY5g9UuGTN2Z3ib d+WZsfmbsldwNlRKyJyvBHD3wi/+rG0oTJRtaq/KXdvAAFYqA90ffBSwOqSyqVWg64 N8YJPoaLZK3bw== 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" SGksIEFuZHJldw0KDQpUaGFuayB5b3UgZm9yIHRoZSBjb21tZW50cy4NCg0KV2UgaGF2ZSB0d28g YXBwcm9hY2hlcyBob3cgdG8gc3BlY2lmeSBtdWx0aXBsZSBzZWdtZW50cyB0byBzcGxpdCBSeCBw YWNrZXRzOg0KMS4gdXBkYXRlIHF1ZXVlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlDQoyLiBpbnRy b2R1Y2UgbmV3IHJ4X3F1ZXVlX3NldHVwX2V4KCkgcm91dGluZSB3aXRoIGV4dHJhIHBhcmFtZXRl cnMuDQoNCkZvciBbMV0gbXkgb25seSBhY3R1YWwgZGlzbGlrZSBpcyB0aGF0IHdlIHdvdWxkIGhh dmUgbXVsdGlwbGUgcGxhY2VzIHRvIHNwZWNpZnkNCnRoZSBwb29sIC0gaW4gcnhfcXVldWVfc2V0 dXAoKSBhbmQgaW4gdGhlIGNvbmZpZyBzdHJ1Y3R1cmUuIFNvLCB3ZSBzaG91bGQNCmltcGxlbWVu dCBzb21lIGNoZWNraW5nIChpZiB3ZSBoYXZlIG9mZmxvYWQgZmxhZyBzZXQgd2Ugc2hvdWxkIGNo ZWNrDQp3aGV0aGVyIG1wIHBhcmFtZXRlciBpcyBOVUxMIGFuZCBzZWdtZW50IGRlc2NyaXB0aW9u cyBhcnJheSBwb2ludGVyL3NpemUNCmlzIHByb3ZpZGVkLCBpZiBubyBvZmZsb2FkIGZsYWcgc2V0 IC0gd2UgbXVzdCBjaGVjayB0aGUgZGVzY3JpcHRpb24gYXJyYXkgaXMgZW1wdHkpLiANCg0KPiBA VGhvbWFzLCBARmVycnVoOiBJJ2QgbGlrZSB0byBoZWFyIHdoYXQgb3RoZXIgZXRoZGV2IG1haW50 YWluZXJzIHRoaW5rDQo+IGFib3V0IGl0Lg0KDQpZZXMsIGl0IHdvdWxkIGJlIHZlcnkgbmljZSB0 byBoZWFyIGV4dHJhIG9waW5pb25zLiBEbyB3ZSB0aGluayB0aGUgcHJvdmlkaW5nDQpvZiBleHRy YSBBUEkgZnVuY3Rpb24gaXMgd29yc2UgdGhhbiBleHRlbmRpbmcgZXhpc3Rpbmcgc3RydWN0dXJl LCBpbnRyb2R1Y2luZw0Kc29tZSBjb25kaXRpb25hbCBhbWJpZ3VpdHkgYW5kIGNvbXBsaWNhdGlu ZyB0aGUgcGFyYW1ldGVyIGNvbXBsaWFuY2UNCmNoZWNrPw0KDQpOb3cgSSdtIHVwZGF0aW5nIHRo ZSBleGlzdGluZyB2ZXJzaW9uIG9uIHRoZSBwYXRjaCBiYXNlZCBvbiByeF9xdWV1ZV9leCgpDQph bmQgdGhlbiBjb3VsZCBwcmVwYXJlIHRoZSB2ZXJzaW9uIGZvciBjb25maWd1cmF0aW9uIHN0cnVj dHVyZSwNCml0IGlzIG5vdCBhIHByb2JsZW0gLSBhcHByb2FjaGVzIGFyZSB2ZXJ5IHNpbWlsYXIs IHdlIGp1c3Qgc2hvdWxkIGNob29zZQ0KdGhlIG1vc3QgcmVsZXZhbnQgb25lLg0KDQpXaXRoIGJl c3QgcmVnYXJkcywgU2xhdmENCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9t OiBBbmRyZXcgUnliY2hlbmtvIDxBbmRyZXcuUnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gU2Vu dDogTW9uZGF5LCBPY3RvYmVyIDEyLCAyMDIwIDExOjQ1DQo+IFRvOiBTbGF2YSBPdnNpaWVua28g PHZpYWNoZXNsYXZvQG52aWRpYS5jb20+OyBkZXZAZHBkay5vcmcNCj4gQ2M6IFRob21hcyBNb25q YWxvbiA8dGhvbWFzbUBtZWxsYW5veC5jb20+Ow0KPiBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9y ZzsgZmVycnVoLnlpZ2l0QGludGVsLmNvbTsgU2hhaGFmIFNodWxlcg0KPiA8c2hhaGFmc0Budmlk aWEuY29tPjsgb2xpdmllci5tYXR6QDZ3aW5kLmNvbTsgamVyaW5qYWNvYmtAZ21haWwuY29tOw0K PiBtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbTsgZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbTsg QXNhZiBQZW5zbw0KPiA8YXNhZnBAbnZpZGlhLmNvbT4NCj4gU3ViamVjdDogUmU6IFtkcGRrLWRl dl0gW1JGQ10gZXRoZGV2OiBpbnRyb2R1Y2UgUnggYnVmZmVyIHNwbGl0DQo+IA0KPiBIaSBTbGF2 YSwNCj4gDQo+IEknbSBzb3JyeSBmb3IgbGF0ZSByZXBseS4gU2VlIG15IG5vdGVzIGJlbG93Lg0K PiANCj4gT24gMTAvMS8yMCAxMTo1NCBBTSwgU2xhdmEgT3ZzaWllbmtvIHdyb3RlOg0KPiA+IEhp LCBBbmRyZXcNCj4gPg0KPiA+IFRoYW5rIHlvdSBmb3IgdGhlIGNvbW1lbnRzLCBwbGVhc2Ugc2Vl IG15IHJlcGxpZXMgYmVsb3cuDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5rbyA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT4N Cj4gPj4gU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAxNywgMjAyMCAxOTo1NQ0KPiA+PiBUbzog U2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgZGV2QGRwZGsub3JnDQo+ ID4+IENjOiBUaG9tYXMgTW9uamFsb24gPHRob21hc21AbWVsbGFub3guY29tPjsNCj4gPj4gc3Rl cGhlbkBuZXR3b3JrcGx1bWJlci5vcmc7IGZlcnJ1aC55aWdpdEBpbnRlbC5jb207IFNoYWhhZiBT aHVsZXINCj4gPj4gPHNoYWhhZnNAbnZpZGlhLmNvbT47IG9saXZpZXIubWF0ekA2d2luZC5jb207 DQo+IGplcmluamFjb2JrQGdtYWlsLmNvbTsNCj4gPj4gbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5j b207IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb207IEFzYWYNCj4gUGVuc28NCj4gPj4gPGFzYWZw QG52aWRpYS5jb20+DQo+ID4+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtSRkNdIGV0aGRldjog aW50cm9kdWNlIFJ4IGJ1ZmZlciBzcGxpdA0KPiA+Pg0KPiA+IFtzbmlwXQ0KPiA+Pj4NCj4gPj4+ IEZvciBleGFtcGxlLCBsZXQncyBzdXBwb3NlIHdlIGNvbmZpZ3VyZWQgdGhlIFJ4IHF1ZXVlIHdp dGggdGhlDQo+ID4+PiBmb2xsb3dpbmcgc2VnbWVudHM6DQo+ID4+PiBzZWcwIC0gcG9vbDAsIGxl bjA9MTRCLCBvZmYwPVJURV9QS1RNQlVGX0hFQURST09NDQo+ID4+PiBzZWcxIC0gcG9vbDEsIGxl bjE9MjBCLCBvZmYxPTBCDQo+ID4+PiBzZWcyIC0gcG9vbDIsIGxlbjI9MjBCLCBvZmYyPTBCDQo+ ID4+PiBzZWczIC0gcG9vbDMsIGxlbjM9NTEyQiwgb2ZmMz0wQg0KPiA+Pj4NCj4gPj4+IFRoZSBw YWNrZXQgNDYgYnl0ZXMgbG9uZyB3aWxsIGxvb2sgbGlrZSB0aGUgZm9sbG93aW5nOg0KPiA+Pj4g c2VnMCAtIDE0QiBsb25nIEAgUlRFX1BLVE1CVUZfSEVBRFJPT00gaW4gbWJ1ZiBmcm9tIHBvb2ww DQo+ID4+PiBzZWcxIC0gMjBCIGxvbmcgQCAwIGluIG1idWYgZnJvbSBwb29sMQ0KPiA+Pj4gc2Vn MiAtIDEyQiBsb25nIEAgMCBpbiBtYnVmIGZyb20gcG9vbDINCj4gPj4+DQo+ID4+PiBUaGUgcGFj a2V0IDE1MDAgYnl0ZXMgbG9uZyB3aWxsIGxvb2sgbGlrZSB0aGUgZm9sbG93aW5nOg0KPiA+Pj4g c2VnMCAtIDE0QiBAIFJURV9QS1RNQlVGX0hFQURST09NIGluIG1idWYgZnJvbSBwb29sMA0KPiA+ Pj4gc2VnMSAtIDIwQiBAIDAgaW4gbWJ1ZiBmcm9tIHBvb2wxDQo+ID4+PiBzZWcyIC0gMjBCIEAg MCBpbiBtYnVmIGZyb20gcG9vbDINCj4gPj4+IHNlZzMgLSA1MTJCIEAgMCBpbiBtYnVmIGZyb20g cG9vbDMNCj4gPj4+IHNlZzQgLSA1MTJCIEAgMCBpbiBtYnVmIGZyb20gcG9vbDMNCj4gPj4+IHNl ZzUgLSA0MjJCIEAgMCBpbiBtYnVmIGZyb20gcG9vbDMNCj4gPj4NCj4gPj4gVGhlIGJlaGF2aW91 ciBpcyBsb2dpY2FsLCBidXQgd2hhdCB0byBkbyBpZiBIVyBjYW4ndCBkbyBpdCwgaS5lLiB1c2UN Cj4gPj4gdGhlIGxhc3Qgc2VnbWVudCBtYW55IHRpbWVzLiBTaG91bGQgaXQgcmVqZWN0IGNvbmZp Z3VyYXRpb24gaWYNCj4gPj4gcHJvdmlkZWQgc2VnbWVudHMgYXJlIGluc3VmZmljaWVudCB0byBm aXQgTVRVIHBhY2tldD8gSG93IHRvIHJlcG9ydA0KPiA+PiB0aGUgbGltaXRhdGlvbj8NCj4gPj4g KEknbSBzdGlsbCB0cnlpbmcgdG8gY29udmluY2UgdGhhdCBTQ0FUVEVSIGFuZCBCVUZGRVJfU1BM SVQgc2hvdWxkIGJlDQo+ID4+IGluZGVwZW5kZW50KS4NCj4gPg0KPiA+IEJVRkZFUl9TUExJVCBp cyByYXRoZXIgdGhlIHdheSB0byB0dW5lIFNDQVRURVIuIEN1cnJlbnRseSBzY2F0dGVyaW5nDQo+ ID4gaGFwcGVucyBvbiB1bmNvbmRpdGlvbmFsIG1idWYgZGF0YSBidWZmZXIgYm91bmRhcmllcyAo d2UgaGF2ZSByZXNlcnZlZA0KPiA+IEhFQUQgc3BhY2UgaW4gdGhlIGZpcnN0IG1idWYgYW5kIGZp bGwgdGhpcyBvbmUgdG8gdGhlIGJ1ZmZlciBlbmQsIHRoZQ0KPiA+IG5leHQgbWJ1ZiBidWZmZXJz IG1pZ2h0IGJlIGZpbGxlZCBjb21wbGV0ZWx5KS4gQlVGRkVSX1NQTElUIHByb3ZpZGVzDQo+ID4g dGhlIHdheSB0byBzcGVjaWZ5IHRoZSBkZXNpcmVkIHBvaW50cyB0byBzcGxpdCBwYWNrZXQsIG5v dCBqdXN0DQo+ID4gYmxpbmRseSBmb2xsb3cgYnVmZmVyIGJvdW5kYXJpZXMuIFRoZXJlIGlzIHRo ZSBjaGVjayBpbnBsZW1lbnRlZCBpbg0KPiA+IGNvbW1vbiBwYXJ0IGlmIGVhY2ggc3BsaXQgc2Vn bWVudCBmaXRzIHRoZSBtYnVmIGFsbG9jYXRlZCBmcm9tDQo+IGFwcHJvcHJpYXRlIHBvb2wuDQo+ ID4gUE1EIHNob3VsZCBkbyBleHRyYSBjaGVjayBpbnRlcm5hbGx5IHdoZXRoZXIgaXQgc3VwcG9y dHMgdGhlIHJlcXVlc3RlZA0KPiA+IHNwbGl0IHNldHRpbmdzLCBpZiBub3QgLSBjYWxsIHdpbGwg YmUgcmVqZWN0ZWQuDQo+ID4NCj4gDQo+IEBUaG9tYXMsIEBGZXJydWg6IEknZCBsaWtlIHRvIGhl YXIgd2hhdCBvdGhlciBldGhkZXYgbWFpbnRhaW5lcnMgdGhpbmsNCj4gYWJvdXQgaXQuDQo+IA0K PiA+IFtzbmlwXQ0KPiA+Pg0KPiA+PiBJIGRpc2xpa2UgdGhlIGlkZWEgdG8gaW50cm9kdWNlIG5l dyBkZXZpY2Ugb3BlcmF0aW9uLg0KPiA+PiBydGVfZXRoX3J4Y29uZiBoYXMgcmVzZXJ2ZWQgc3Bh Y2UgYW5kIEJVRkZFUl9TUExJVCBvZmZsb2FkIHdpbGwgbWVhbg0KPiA+PiB0aGF0IFBNRCBsb29r cyBhdCB0aGUgc3BsaXQgY29uZmlndXJhdGlvbiBsb2NhdGlvbiB0aGVyZS4NCj4gPj4NCj4gPiBX ZSBjb25zaWRlcmVkIHRoZSBhcHByb2FjaCBvZiBwdXNoaW5nIHNwbGl0IHNldHRpbmcgdG8gdGhl IHJ4Y29uZg0KPiA+IHN0cnVjdHVyZS4NCj4gPg0KPiBbaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3Mu cHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHAlM0ElMkYlMkZwYXRjDQo+ID4NCj4gaGVz LmRwZGsub3JnJTJGcGF0Y2glMkY3NTIwNSUyRiZhbXA7ZGF0YT0wMiU3QzAxJTdDdmlhY2hlc2xh dm8lDQo+IDQwbnZpZGkNCj4gPg0KPiBhLmNvbSU3Qzk3YTQ5Y2I2MjAyODQzMjYxMGVhMDhkODZl OGIzMjgzJTdDNDMwODNkMTU3MjczNDBjMWI3DQo+IGRiMzllZmQ5Yw0KPiA+DQo+IGNjMTdhJTdD MCU3QzAlN0M2MzczODA4OTE0MTQxODIyODUmYW1wO3NkYXRhPWxpSUk1REhHbEpBTDh3RXdWDQo+ IFZpa2E3OXRwDQo+ID4gOFI5ZmFUWjBsWHJsZnZRR1pFJTNEJmFtcDtyZXNlcnZlZD0wXQ0KPiA+ IEJ1dCBpdCBzZWVtcyB0aGVyZSBhcmUgc29tZSBpc3N1ZXM6DQo+ID4NCj4gPiAtIHRoZSBzcGxp dCBjb25maWd1cmF0aW9uIGRlc2NyaXB0aW9uIHJlcXVpcmVzIHRoZSB2YXJpYWJsZSBsZW5ndGgN Cj4gPiBhcnJheSAoZHVlIHRvIHZhcmlhdGlvbnMgaW4gbnVtYmVyIG9mIHNlZ21lbnRzKSwgc28g cnRlX2V0aF9yeGNvbmYNCj4gPiBzdHJ1Y3R1cmUgd291bGQgaGF2ZSB0aGUgdmFyaWFibGUgbGVu Z3RoIChub3QgbmljZSwgSU1PKS4NCj4gPg0KPiA+IFdlIGNvdWxkIHB1c2ggcG9pbnRlcnMgdG8g dGhlIGFycmF5IG9mIHJ0ZV9ldGhfcnhzZWcsIGJ1dCB3ZSB3b3VsZA0KPiA+IGxvc3QgdGhlIHNp bmdsZSBzdHJ1Y3R1cmUgKGFuZCBjb250aWd1b3VzIG1lbW9yeSkgc2ltcGxpY2l0eSwgdGhpcw0K PiA+IGFwcHJvYWNoIGhhcyBubyBhZHZhbnRhZ2VzIG92ZXIgdGhlIHNwZWNpZnlpbmcgdGhlIHNw bGl0IGNvbmZpZ3VyYXRpb24NCj4gPiBhcyBwYXJhbWV0ZXJzIG9mIHNldHVwX2V4KCkuDQo+ID4N Cj4gDQo+IEkgdGhpbmsgaXQgaGFzIGEgaHVnZSBhZHZhbnRhZ2UgdG8gYXZvaWQgZXh0cmEgZGV2 aWNlIG9wZXJhdGlvbi4NCj4gDQo+ID4gLSBpdCB3b3VsZCBpbnRyb2R1Y2VzIHRoZSBhbWJpZ3Vp dHksIHJ0ZV9ldGhfcnhfcXVldWVfc2V0dXAoKQ0KPiA+IHNwZWNpZmllcyB0aGUgc2luZ2xlIG1i dWYgcG9vbCBhcyBwYXJhbWV0ZXIuIFdoYXQgc2hvdWxkIHdlIGRvIHdpdGgNCj4gPiBpdD8gU2V0 IHRvIE5VTEw/IFRyZWF0IGFzIHRoZSBmaXJzdCBwb29sPyBJIHdvdWxkIHByZWZlciB0byBzcGVj aWZ5DQo+ID4gYWxsIHNwbGl0IHNlZ21lbnRzIGluIHVuaWZvcm0gZmFzaGlvbiwgaS5lLiBhcyBh cnJheSBvciBydGVfZXRoX3J4c2VnDQo+ID4gc3RydWN0dXJlcyAoYW5kIGl0IGNhbiBiZSBlYXNp bHkgdXBkYXRlZCB3aXRoIHNvbWUgZXh0cmEgc2VnbWVudA0KPiA+IGF0dHJpYnV0ZXMgaWYgbmVl ZGVkKS4gU28sIGluIG15IG9waW5pb24sIHdlIHNob3VsZCByZW1vdmUvcmVwbGFjZSB0aGUNCj4g PiBwb29sIHBhcmFtZXRlciBpbiByeF9xdWV1ZV9zZXR1cCAoYnkgaW50cm9kdWNpbmcgbmV3IGZ1 bmMpLg0KPiA+DQo+IA0KPiBJJ20gdHJ5aW5nIHRvIHJlc29sdmUgdGhlIGFtYmlndWl0eSBhcyBk ZXNjcmliZWQgYWJvdmUgKHNlZSBCVUZGRVJfU1BMSVQgdnMNCj4gU0NBVFRFUikuIFVzZSB0aGUg cG9pbnRlciBmb3IgdGFpbCBzZWdtZW50cyB3aXRoIHJlc3BlY3QgdG8gU0NBVFRFUg0KPiBjYXBh YmlsaXR5Lg0KPiANCj4gPiAtIHNwZWNpZnlpbmcgdGhlIG5ldyBleHRlbmRlZCBzZXR1cCByb2l1 dGluZSBoYXMgYW4gYWR2YW50YWdlIHRoYXQgd2UNCj4gPiBzaG91bGQgbm90IHVwZGF0ZSBhbnkg UE1EcyBjb2RlIGluIHBhcnQgb2YgZXhpc3RpbmcgaW1wbGVtZW50YXRpb25zIG9mDQo+ID4gcnRl X2V0aF9yeF9xdWV1ZV9zZXR1cCgpLg0KPiANCj4gSXQgaXMgbm90IHJlcXVpcmVkIHNpbmNlIGl0 IGlzIGNvbnRyb2xsZWQgYnkgdGhlIG5ldyBvZmZsb2FkIGZsYWdzLiBJZiB0aGUgb2ZmbG9hZA0K PiBpcyBub3Qgc3VwcG9ydGVkLCB0aGUgbmV3IGZpZWxkIGlzIGludmlzaWJsZSBmb3IgUE1EIChp dCBzaW1wbHkgaWdub3JlcykuDQo+IA0KPiA+DQo+ID4gSWYgUE1EIHN1cHBvcnRzIEJVRkZFUl9T UExJVCAob3Igb3RoZXIgcmVsYXRlZCBmZWF0dXJlKSBpdCBqdXN0IHNob3VsZA0KPiA+IHByb3Zp ZGUNCj4gPiBydGVfZXRoX3J4X3F1ZXVlX3NldHVwX2V4KCkgYW5kIGNoZWNrIHRoZQ0KPiBERVZf UlhfT0ZGTE9BRF9CVUZGRVJfU1BMSVQNCj4gPiAob3IgSEVBREVSX1NQTElULCBvciBldmVyIGZl YXR1cmUpIGl0IHN1cHBvcnRzLiBUaGUgY29tbW9uIGNvZGUgZG9lcw0KPiA+IG5vdCBjaGVjayB0 aGUgZmVhdHVyZSBmbGFncyAtIGl0IGlzIG9uIFBNRHMnIG93bi4gSW4gb3JkZXIgdG8NCj4gPiBj b25maWd1cmUgUE1EIHRvIHBlcmZyb20gYXJiaXRyYXJ5IGRlc2lyZWQgUnggc3BsaXRpbmcgdGhl IGFwcGxpY2F0aW9uDQo+ID4gc2hvdWxkIGNoZWNrIERFVl9SWF9PRkZMT0FEX0JVRkZFUl9TUExJ VCBpbiBwb3J0IGNhcGFiaWxpdGVzLCBpZiBmb3VuZA0KPiA+IC0gc2V0IERFVl9SWF9PRkZMT0FE X0JVRkZFUl9TUExJVCBpbiBjb25maWd1cmF0aW9uIGFuZCBjYWxsDQo+ID4gcnRlX2V0aF9yeF9x dWV1ZV9zZXR1cF9leCgpLg0KPiA+IEFuZCB0aGlzIGFwcHJvYWNoIGNhbiBiZSBmb2xsb3dlZCBm b3IgYW55IG90aGVyIHNwbGl0IHJlbGF0ZWQgZmVhdHVyZS4NCj4gPg0KPiA+IFdpdGggYmVzdCBy ZWdhcmRzLCBTbGF2YQ0KPiA+DQo+IA0KDQo=