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 B7BEBA0C57; Mon, 1 Nov 2021 11:40:16 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9B9F340E28; Mon, 1 Nov 2021 11:40:16 +0100 (CET) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2061.outbound.protection.outlook.com [40.107.223.61]) by mails.dpdk.org (Postfix) with ESMTP id 24B8E40DF6 for ; Mon, 1 Nov 2021 11:40:14 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lRfnwabFLRb9qbOcjQmIpvBGM/24MBxlI1LOBV26o+aowVjgKQV7hmXJZ8qaCdO+OwnBe5wsj3oxoe8Oz2ue4E2U0qj7SFWZbAiTVgp42Flg1u8cYR/Ijl1ZbAkLzlX9/dHNA073xSwWd34tI71sXaj2gxFiWoRC55hUF/HrYfZfRibBmWtlz3Po4ky3apo122u3iVo+T7wfViEpDXbDYxPWmTF1R9+ni98PyKEoWDOCSgGiYLzIefm0dhIaJoWSPDDj1flcbkylUdDEGw/O/FtvTUucnWEUYe1OO8IbaGZpvdzknPeB6m0K3LTZirpXNIbSQ8mf7znfmNAgO+VO8w== 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=Lfm7fjJUE/CzsWzJmQIF9MKY6BobKsMzeoHKPu+a6mA=; b=KidPzUbm3BROl8yYsWBTXxbg5b3SI0K9xe9Ybw665BYKqlKb+jD3YJgGrFkG/jU5ehV4dsil6F28jxl4fz0hrwsBqdVjf7FjzsxPS1ejlrQvXM+2d5NRSgh/gmGW7BT6t10UVSgpWFv25W2a0ZtBAgytYkQ7pTgzykLgetFRpLmLKKCYZpuWJujRJhRgI6KAAjyW+xqb9aIXuf8SOYhJ7zUFC+wOvCAZzW076hHmGv5c7jIV6KrJVE00P3yYDaNle04nkfm1c+1FP68fixaakQTYf7+SauvMqKS5DmrBGXI4y6PQ62UDVB+ta2jTsZoh4WwIBNLDCkD8E+AP5rKYpg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Lfm7fjJUE/CzsWzJmQIF9MKY6BobKsMzeoHKPu+a6mA=; b=Z4xZXbCCEc+BNgPWzuP9Zt2GwMhBp5FatAi/F26xDP361EUXx1wRAEUnq66Zso0rs+L5TcbdqNLbRDYGCkVHzFPFHyLU/nwNtQFCg9Z7AKHOFHDl5ZKXm/LdB0iBjOSUkfhL2J1nAqCrpMmzAnSQu2oeGQ5SwXN4Lii/e7TJWOw68fU0ViJ2zeC+Chq5AyoIFnECVMCYxFZNBDgXW1+PbDvb3y0DlzE5yTlPUreIy1isE9TOLLud+vrJV7zWxom9jEzL/FKnWCeiLckt0BHjddPnmipI7wXLm+qatNWizHnQ5Ep69iA1EOou9znFRNvJQUiz6425kunj7isN9OBeUw== Received: from DM8PR12MB5400.namprd12.prod.outlook.com (2603:10b6:8:3b::12) by DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) 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 10:40:12 +0000 Received: from DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::d03d:1f75:ca20:6a32]) by DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::d03d:1f75:ca20:6a32%5]) with mapi id 15.20.4649.019; Mon, 1 Nov 2021 10:40:12 +0000 From: Ori Kam To: Ajit Khaparde CC: Alexander Kozyrev , dpdk-dev , NBU-Contact-Thomas Monjalon , Ivan Malov , Andrew Rybchenko , Ferruh Yigit , "mohammad.abdul.awal@intel.com" , Qi Zhang , Jerin Jacob Kollanukkaran Thread-Topic: [PATCH 1/3] ethdev: introduce flow pre-configuration hints Thread-Index: AQHXum17MKn9PYvodkmib9LckVdFUavQW/CAgACWGWCAHJI5AIABH5Hw Date: Mon, 1 Nov 2021 10:40:12 +0000 Message-ID: References: <20211006044835.3936226-1-akozyrev@nvidia.com> <20211006044835.3936226-2-akozyrev@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: broadcom.com; dkim=none (message not signed) header.d=none;broadcom.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f0fe3fdf-bf22-4e98-7ec1-08d99d23fbc0 x-ms-traffictypediagnostic: DM4PR12MB5373: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kL3NH7FzAEPBZr5vxvhcFfMyFfQpn9PGd4liboJqUFWtS/bWm+TyA5BX+v6jBqCrP0SpIoMnfmx6vgVE820eyQbiOUjoQcPD6YazpND0j9j1oiPkxZxR/wWFrxh0uqe4Kk9jG+WDeC4FibDthYpxcUimgnLku1StIZOzZieNL8VFMWxu2pEXBmTXy0/ZaS0XZBz1Gz+T1cU3GnX2Htpt2DRDHkOcOtch8YqiHNJvZV9SBGX4BCfVdvsDLPa8K+RNodV62KiVRVL7BoMOYtbBpUgIZ4egTrWGy3bO6BmWCx1gmnOJvmbJLECgxPRfEbMVfXfTViLo7CMXhKCR/Wp8qm9s3N5YlzS5CaCY9vbIJeSKSX4BTE7nqyhD1CcRlnMpgiJ1TY1n7R+8xfvZe7xRg0oVqaaBrgUDoLEvd+txYOybYALOsX6Yl9oVLEKKTdapUDbnhiGy3qawWSL53kvRSKOz6sgvHU+JdplOBqlALlrKZwib4Wa4NybdYT7kVmgYnyED5WJj4lrFkcGCumkvqrGx16eHV9K5mxwH/j2yGfHEgjIZp45gyx2UgmEp/ZpT6euOBOa673NY6M+onRyiXLBeW0tH/4DNSvi6gAID3Bkj2OZ4gjGkKfqXw0acITT2DQ5xv+Xj2I+P/AIO6jHQL7xvoF9R4EnRxX7M+gIcjmf/gJBflT1miqfvrPTvd1mHnSmeuNhKyeCDc9Sa8Sh6sw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR12MB5400.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(6506007)(53546011)(8936002)(54906003)(2906002)(83380400001)(6916009)(508600001)(316002)(5660300002)(38100700002)(122000001)(8676002)(64756008)(86362001)(55016002)(38070700005)(9686003)(7696005)(52536014)(33656002)(4326008)(66446008)(66946007)(66556008)(71200400001)(66476007)(76116006)(186003)(26005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Qjc0QjlpT25DRmJQc2lzeDd1QUNoVmFiQms1MTVCMS9xdGFWYXdmdExpN2hw?= =?utf-8?B?eUgvSDAxdE1lTzNGVno2UE5jcEp3OFgxWm5qR2tvcTRueUhFdDdlV0tiV29j?= =?utf-8?B?a0FYN3Boam5aNTZsS3hPYThHazRTUDgwSXdadENRRitxN3ViZDAyaEYvZUd0?= =?utf-8?B?bXhwQ2JFVHFpbVN4VlJzMXg1WG1vM2RkcVVuaHhpRWhId3ZXVmt2ZG9oOVpQ?= =?utf-8?B?Ti9yUW5yMTdNQjlmRDREMjJ0Qy9FaUZFQ1FCZ2hQVFZvalBGUnEwaTd1RDJi?= =?utf-8?B?UkIzNzVraW9abWdHcldLaUpXbVQ5bEJ1OXljT1IzY29teGxQZnFXWVlnSTdY?= =?utf-8?B?eVhGYWlTQWlpRWdHL3lENzIxb3V2aEFUWUtsYzZyMkNUTUJ5aU9QWnhhVlVp?= =?utf-8?B?a0xEdWFOVGthWG0rc0M3NTcrSmxldkcwMTNzdCs2dXlWamJTbWNGNHpJaEhE?= =?utf-8?B?SmpSNDJrUU5rRytwRDNWVnFKVFA0Z2xKTXpQanl1SkRvclE0MTQ2QnNFdDIz?= =?utf-8?B?WG1iQkhzRmdXbGFxd2E2RGdDeG9YT09XVFFKZFNraWxBeDJNRHowR3FXOGVT?= =?utf-8?B?dzExV2JkdlExT250d0pvVlZvN1lpYTdOUlFDb1JKRG9BenlzVjNramZ2SGdQ?= =?utf-8?B?NmllZkhwY1pkQnlzNVBtZnVaT2c0WmhWZU40VTlzUlI1QUpOcHEyU2RXMGhC?= =?utf-8?B?bENKYzZoQVpnMml0bXVJaEJyVEhEZXV3SEUvb2N2cmhMVzExUVJMdXF0YVJH?= =?utf-8?B?WjNFdWMzYk1MdnQ4aGZHQkRmbnIwM2x3bnFzdzNsZlErZEd5UWpQZVNNOGVz?= =?utf-8?B?WkZHRUZwTUlhZmt6UnBJVnl6NjBnSXdXRzQ4Nk5sZGFHc0ZXazR0ZUNaa1h1?= =?utf-8?B?TzdhLzYyVkNhWU83b1NxQUJIMXpYRFRHL3JMUWM0YkJLTVlmdW41UEx6MzNi?= =?utf-8?B?TDlLdW9SaGF4TWxnSm1ERzQyNkl0SmREMUpsZ3ZPcG13eTNYOE82dkVtWDlm?= =?utf-8?B?M2o3VTRNVnBJOVU3RU1ZalpRaU90YjlyM1B2Rml5aTZIaFRkRy8zbGJVRUM2?= =?utf-8?B?RFVOTk9mRjM4OVEzK2l4WWpONnk2N0ZDNHh3VSs1REUxMElucTlCVGF3STlJ?= =?utf-8?B?VGx3NmdESXVkRHQ3a3lBUUlSN1hTMThwSkhsRGdWOU93WGFyZU5nTWhTMGZJ?= =?utf-8?B?ak53V2UvTGhyeHZvNXA3L3lXTlFLbm5GZVdyek5tM3puLzV6eWpXUHRMUDFO?= =?utf-8?B?djlRbm5NQlZwZlpRZmZyTDM2MGNZNDJsWWtWY3ZYakYwYnVtcGJMVG4raTJz?= =?utf-8?B?M3FEMEo4ZTNSSXB1UEMvMlFTekYzblozbDJWL2ZFWFdlSnVXSnVNSmZYOE12?= =?utf-8?B?VkpuU2dOeFFhOTM0YUdPbE5lUXVmR3M5dVJWY0d0cE41UTBkTVFIRkViYlNW?= =?utf-8?B?aXQrb3BuN1lQYzIxaHFXQTJ0OTNxYW0xbmxOR3Irb1J1Ry96cVNNQWswR0RP?= =?utf-8?B?SEVqNWFqM1dGVm9zMm9qV1duSG1lQ1Nrb1Jkb0lxVDhRK1lieXlRcnNZNWNt?= =?utf-8?B?eFNLTm9ib0VBaXo0YVppcG1KUkJPRDlxSjAvZm1nQkJhYUtpV25RVjYwdi9V?= =?utf-8?B?cUFwZStUV1EvLy9idmlyWFBQNXpWYVBReG9JQTFRL29mMWQ5Tm5qdERYbTZT?= =?utf-8?B?NmtTbTdNeUVyMUJRZlZPMGQyN09CWjZqT2ZGTHR6Y1BFY0NYTUVKUDd4WjNU?= =?utf-8?B?dlNmVjkzaVMyQ2pBM2xRT2s4b3RjSzNQRHRORnl0OC81VGxIcVppN0Q5VFZw?= =?utf-8?B?Q044UHQyZkV1K3hRbHJMcVVxd1FkWWdOYXhrOEFGakNjeEtXUHpYMk80ck54?= =?utf-8?B?eit1anJyMWlHMjluc1dJYUQ1Vm5NTGxPVHcrbG9XcjYyOEdhTVpQYjQ3eHRw?= =?utf-8?B?TUNiYzlYSWpMcCtPcmhXcDVRSE1GTTFBUnd6UmZPOUtnMmM4dysrN2NyQkZG?= =?utf-8?B?bFVmUUlNMVpOUEpXZy81OU1yd282Y2NFOHVac1FOY1VKQWFtemYrbUZtUnBE?= =?utf-8?B?Ykh5bERFSDZNZ3lBY24xcVhBM29ycVpGSmhrQXR2ajlGNDdIcFI4ZDVPTHB6?= =?utf-8?B?RjVkTXhDUEkycEFKcGxadStQeEJ2ZHNUanE2RXU4OUl3K2UzRmZRZlY2SEgw?= =?utf-8?B?MEE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR12MB5400.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f0fe3fdf-bf22-4e98-7ec1-08d99d23fbc0 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Nov 2021 10:40:12.2041 (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: KUR3kJxK83ruB/MJi2lHt6YNwNAiJuCDE1GI88c5HPsmOgSlFx9fgF3ZLcT7+mfggjmWs9tNxw8LN3P2Jnv31w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5373 Subject: Re: [dpdk-dev] [PATCH 1/3] ethdev: introduce flow pre-configuration hints 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" SGkgQWppdCwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBaml0IEto YXBhcmRlIDxhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNvbT4NCj4gU2VudDogU3VuZGF5LCBPY3Rv YmVyIDMxLCAyMDIxIDc6MjcgUE0NCj4gU3ViamVjdDogUmU6IFtQQVRDSCAxLzNdIGV0aGRldjog aW50cm9kdWNlIGZsb3cgcHJlLWNvbmZpZ3VyYXRpb24gaGludHMNCj4gDQo+IE9uIFdlZCwgT2N0 IDEzLCAyMDIxIGF0IDY6MTUgQU0gT3JpIEthbSA8b3Jpa2FAbnZpZGlhLmNvbT4gd3JvdGU6DQo+ ID4NCj4gPiBIaSBBaml0LA0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+ID4gRnJvbTogQWppdCBLaGFwYXJkZSA8YWppdC5raGFwYXJkZUBicm9hZGNvbS5jb20+DQo+ ID4gPiBTZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMTMsIDIwMjEgNzoxMSBBTQ0KPiA+ID4gU3Vi amVjdDogUmU6IFtQQVRDSCAxLzNdIGV0aGRldjogaW50cm9kdWNlIGZsb3cgcHJlLWNvbmZpZ3Vy YXRpb24gaGludHMNCj4gPiA+DQo+ID4gPiBPbiBUdWUsIE9jdCA1LCAyMDIxIGF0IDk6NDggUE0g QWxleGFuZGVyIEtvenlyZXYgPGFrb3p5cmV2QG52aWRpYS5jb20+IHdyb3RlOg0KPiA+ID4gPg0K PiA+ID4gPiBUaGUgZmxvdyBydWxlcyBjcmVhdGlvbi9kZXN0cnVjdGlvbiBhdCBhIGxhcmdlIHNj YWxlIGluY3VycyBhDQo+ID4gPiA+IHBlcmZvcm1hbmNlIHBlbmFsdHkgYW5kIG1heSBuZWdhdGl2 ZWx5IGltcGFjdCB0aGUgcGFja2V0IHByb2Nlc3NpbmcNCj4gPiA+ID4gd2hlbiB1c2VkIGFzIHBh cnQgb2YgdGhlIGRhdGFwYXRoIGxvZ2ljLiBUaGlzIGlzIG1haW5seSBiZWNhdXNlDQo+ID4gPiA+ IHNvZnR3YXJlL2hhcmR3YXJlIHJlc291cmNlcyBhcmUgYWxsb2NhdGVkIGFuZCBwcmVwYXJlZCBk dXJpbmcgdGhlIGZsb3cgcnVsZSBjcmVhdGlvbi4NCj4gPiA+ID4NCj4gPiA+ID4gSW4gb3JkZXIg dG8gb3B0aW1pemUgdGhlIGluc2VydGlvbiByYXRlLCBQTUQgbWF5IHVzZSBzb21lIGhpbnRzDQo+ ID4gPiA+IHByb3ZpZGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiBhdCB0aGUgaW5pdGlhbGl6YXRpb24g cGhhc2UuIFRoZQ0KPiA+ID4gPiBydGVfZmxvd19jb25maWd1cmUoKSBmdW5jdGlvbiBhbGxvd3Mg dG8gcHJlLWFsbG9jYXRlIGFsbCB0aGUgbmVlZGVkIHJlc291cmNlcyBiZWZvcmVoYW5kLg0KPiA+ ID4gPiBUaGVzZSByZXNvdXJjZXMgY2FuIGJlIHVzZWQgYXQgYSBsYXRlciBzdGFnZSB3aXRob3V0 IGNvc3RseSBhbGxvY2F0aW9ucy4NCj4gPiA+ID4gRXZlcnkgUE1EIG1heSB1c2Ugb25seSB0aGUg c3Vic2V0IG9mIGhpbnRzIGFuZCBpZ25vcmUgdW51c2VkIG9uZXMuDQo+ID4gPiBUaGlzIGNvdWxk IGdldCB0cmlja3kuIEFuIGFwcGxpY2F0aW9uIGNhbiBhdm9pZCBhdHRlbXB0cyB0byBjcmVhdGUg Zmxvd3MgZm9yIGl0ZW1zL2FjdGlvbnMgaWYgaXQgY2FuIGdldA0KPiBhDQo+ID4gPiBoaW50IHRo YXQgUE1EIGNhbm5vdCBzYXRpc2Z5IHNvbWUgb2YgdGhlIGhpbnRzIHByb3ZpZGVkLg0KPiA+ID4g QWxzbyB3aGF0IGlmIHRoZSBhcHBsaWNhdGlvbiB0cmllcyB0byBjb25maWd1cmUgYSBoaWdoZXIg Y291bnQgdGhhbiB3aGF0IHRoZSBQTUQvSFcgY2FuIHN1cHBvcnQ/DQo+ID4gPiBJdCB3aWxsIGJl IGdvb2QgaWYgdGhlIGhpbnRzIGNhbiBiZSBuZWdvdGlhdGVkLg0KPiA+ID4gU29tZXRoaW5nIGxp a2UgdGhpcz8NCj4gPiA+IEFwcGxpY2F0aW9uIGNvdWxkIHN0YXJ0IHdpdGggYSBzZXQgb2YgaGlu dHMuDQo+ID4gPiBQTUQgY2FuIGNoZWNrIHdoYXQgY2FuIGJlIHN1cHBvcnRlZCBhbmQgcmV0dXJu IGFuIHVwZGF0ZWQgc2V0Lg0KPiA+ID4gQXBwbGljYXRpb24gc3RheXMgd2l0aGluIHRob3NlIHZh bHVlcyB0aWxsIGl0IG5lZWRzIHRvIHJlc2l6ZS4NCj4gPiA+DQo+ID4NCj4gPiBJIGRvbid0IGxp a2UgdGhlIG5lZ290YWlvbiBhcHByb2FjaCBzaW5jZSBzb29uIGl0IHdpbGwgYmUgaW1wb3NzaWJs ZSB0byBtYWludGFpbi4NCj4gPiBJIGRvbid0IGtub3cgaG93IG1hbnkgcG9zc2libGUgb3B0aW9u IHRoZXJlIHdpbGwgYW5kIHdoYXQgZWFjaCBQTUQgd2lsbCBpbXBsZW1lbnQuDQo+ID4gQWxzbyBu ZWdvdGlhdGlvbiBtZWFucyB0aGF0IHRoZSBQTUQgdGhpbmsgaGUga25vd3Mgd2hhdCBpcyBiZXN0 IGFuZCB0aGlzIGlzIHRoZSBvcHBvc2l0ZSBvZg0KPiA+IHRoaXMgZmVhdHVyZSBhcyBnaXZpbmcg dGhlIGFwcGxpY2F0aW9uIGFzIG11Y2ggY29udHJvbCBhcyBwb3NzaWJsZS4NCj4gPg0KPiA+IEp1 c3QgbGlrZSBjb25maWd1cmUgZXRoZGV2IG1heSBmYWlsIGFuZCB0aGUgYXBwbGljYXRpb24ganVz dCBnZXQgdGhlIGVycm9yIG1lc3NhZ2UuDQo+ID4gV2hhdCBhcHBsaWNhdGlvbiBzaG91bGQgZG8g d2l0aCB0aGUgaGl0cyBpcyBQTUQgZGVwZW5kZW50Lg0KPiA+DQo+ID4gRm9yIGV4YW1wbGUgYXBw bGljYXRpb24gcmVxdWVzdCAxTSBjb3VudGVyLCB0aGlzIGNhbiBldmVuIGJlIHN5c3RlbSBzcGVj aWZpYyAodG8gbXVjaCBtZW1vcnkpDQo+ID4gaWYgUE1EIGNhbid0IGFsbG9jYXRlIHN1Y2ggbnVt YmVyIG9mIGNvdW50ZXIgaXQgc2hvdWxkIGZhaWwgd2l0aCBlcnJvciBtZXNzYWdlIHRoYXQgbGV0 cyB0aGUNCj4gYXBwbGljYXRpb24NCj4gPiBrbm93IGlmIHBvc3NpYmxlIHRoZSBtYXggbnVtYmVy IG9mIGNvdW50ZXJzLg0KPiBIb3cgd2lsbCB0aGUgYXBwbGljYXRpb24ga25vdyB0aGF0IHRoZSBm YWlsdXJlIHdhcyBiZWNhdXNlIG9mIGNvdW50ZXJzDQo+IGFuZCBub3QgYmVjYXVzZSBvZiBtZXRl cnMgb3Igc29tZXRoaW5nIGVsc2U/DQo+IA0KSGUgY2FuIGNoZWNrIHRoZSBlcnJvciBkZXNjcmlw dGlvbiwgDQoNCkV2ZW4gbm93IHdoZW4geW91IGluc2VydCBydWxlIHlvdSBkb24ndCBrbm93IHdo eSBpdCBmYWlsZWQuDQpJIGFzc3VtZSB0aGF0IGlmIG9ubHkgc29tZSBvZiB0aGUgcGFyYW1ldGVy cyBhcmUgbm90IHN1cHBvcnRlZCB0aGUNCmVycm9yIHJldHVybmVkIHdpbGwgYmUgRUlOVkFMLg0K DQo+ID4NCj4gPiBCZXN0LA0KPiA+IE9yaQ0KPiA+DQo+ID4gPiA+DQo+ID4gPiA+IFNpZ25lZC1v ZmYtYnk6IEFsZXhhbmRlciBLb3p5cmV2IDxha296eXJldkBudmlkaWEuY29tPg0KPiA+ID4gPiBT dWdnZXN0ZWQtYnk6IE9yaSBLYW0gPG9yaWthQG52aWRpYS5jb20+DQo+ID4gPiA+IC0tLQ0KPiA+ ID4gPiAgbGliL2V0aGRldi9ydGVfZmxvdy5oIHwgNzANCj4gPiA+ID4gKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDcw IGluc2VydGlvbnMoKykNCj4gPiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9ldGhkZXYv cnRlX2Zsb3cuaCBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaCBpbmRleA0KPiA+ID4gPiA3YjFlZDdm MTEwLi5jNjlkNTAzYjkwIDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9saWIvZXRoZGV2L3J0ZV9mbG93 LmgNCj4gPiA+ID4gKysrIGIvbGliL2V0aGRldi9ydGVfZmxvdy5oDQo+ID4gPiA+IEBAIC00Mjg4 LDYgKzQyODgsNzYgQEAgcnRlX2Zsb3dfdHVubmVsX2l0ZW1fcmVsZWFzZSh1aW50MTZfdCBwb3J0 X2lkLA0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxv d19pdGVtICppdGVtcywNCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBudW1fb2ZfaXRlbXMsDQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKy8qKg0K PiA+ID4gPiArICogRmxvdyBlbmdpbmUgY29uZmlndXJhdGlvbi4NCj4gPiA+ID4gKyAqLw0KPiA+ ID4gPiArX19leHRlbnNpb25fXw0KPiA+ID4gPiArc3RydWN0IHJ0ZV9mbG93X3BvcnRfYXR0ciB7 DQo+ID4gPiA+ICsgICAgICAgLyoqDQo+ID4gPiA+ICsgICAgICAgICogVmVyc2lvbiBvZiB0aGUg c3RydWN0IGxheW91dCwgc2hvdWxkIGJlIDAuDQo+ID4gPiA+ICsgICAgICAgICovDQo+ID4gPiA+ ICsgICAgICAgdWludDMyX3QgdmVyc2lvbjsNCj4gPiA+ID4gKyAgICAgICAvKioNCj4gPiA+ID4g KyAgICAgICAgKiBNZW1vcnkgc2l6ZSBhbGxvY2F0ZWQgZm9yIHRoZSBmbG93IHJ1bGVzIG1hbmFn ZW1lbnQuDQo+ID4gPiA+ICsgICAgICAgICogSWYgc2V0IHRvIDAsIG1lbW9yeSBpcyBhbGxvY2F0 ZWQgZHluYW1pY2FsbHkuDQo+ID4gPiA+ICsgICAgICAgICovDQo+ID4gPiA+ICsgICAgICAgdWlu dDMyX3QgbWVtX3NpemU7DQo+ID4gPiA+ICsgICAgICAgLyoqDQo+ID4gPiA+ICsgICAgICAgICog TnVtYmVyIG9mIGNvdW50ZXIgYWN0aW9ucyBwcmUtY29uZmlndXJlZC4NCj4gPiA+ID4gKyAgICAg ICAgKiBJZiBzZXQgdG8gMCwgUE1EIHdpbGwgYWxsb2NhdGUgY291bnRlcnMgZHluYW1pY2FsbHku DQo+ID4gPiA+ICsgICAgICAgICogQHNlZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9DT1VOVA0KPiA+ ID4gPiArICAgICAgICAqLw0KPiA+ID4gPiArICAgICAgIHVpbnQzMl90IG5iX2NvdW50ZXJzOw0K PiA+ID4gPiArICAgICAgIC8qKg0KPiA+ID4gPiArICAgICAgICAqIE51bWJlciBvZiBhZ2luZyBh Y3Rpb25zIHByZS1jb25maWd1cmVkLg0KPiA+ID4gPiArICAgICAgICAqIElmIHNldCB0byAwLCBQ TUQgd2lsbCBhbGxvY2F0ZSBhZ2luZyBkeW5hbWljYWxseS4NCj4gPiA+ID4gKyAgICAgICAgKiBA c2VlIFJURV9GTE9XX0FDVElPTl9UWVBFX0FHRQ0KPiA+ID4gPiArICAgICAgICAqLw0KPiA+ID4g PiArICAgICAgIHVpbnQzMl90IG5iX2FnaW5nOw0KPiA+ID4gPiArICAgICAgIC8qKg0KPiA+ID4g PiArICAgICAgICAqIE51bWJlciBvZiB0cmFmZmljIG1ldGVyaW5nIGFjdGlvbnMgcHJlLWNvbmZp Z3VyZWQuDQo+ID4gPiA+ICsgICAgICAgICogSWYgc2V0IHRvIDAsIFBNRCB3aWxsIGFsbG9jYXRl IG1ldGVycyBkeW5hbWljYWxseS4NCj4gPiA+ID4gKyAgICAgICAgKiBAc2VlIFJURV9GTE9XX0FD VElPTl9UWVBFX01FVEVSDQo+ID4gPiA+ICsgICAgICAgICovDQo+ID4gPiA+ICsgICAgICAgdWlu dDMyX3QgbmJfbWV0ZXJzOw0KPiA+ID4gPiArICAgICAgIC8qKg0KPiA+ID4gPiArICAgICAgICAq IFJlc291cmNlcyByZWFsbG9jYXRpb24gc3RyYXRlZ3kuDQo+ID4gPiA+ICsgICAgICAgICogSWYg c2V0IHRvIDEsIFBNRCBpcyBub3QgYWxsb3dlZCB0byBhbGxvY2F0ZSBtb3JlIHJlc291cmNlcyBv biBkZW1hbmQuDQo+ID4gPiA+ICsgICAgICAgICogQW4gYXBwbGljYXRpb24gY2FuIG9ubHkgYWxs b2NhdGUgbW9yZSByZXNvdXJjZXMgYnkgY2FsbGluZyB0aGUNCj4gPiA+ID4gKyAgICAgICAgKiBj b25maWd1cmUgQVBJIGFnYWluIHdpdGggbmV3IHZhbHVlcyAobWF5IG5vdCBiZSBzdXBwb3J0ZWQg YnkgUE1EKS4NCj4gPiA+ID4gKyAgICAgICAgKi8NCj4gPiA+ID4gKyAgICAgICB1aW50MzJfdCBm aXhlZF9yZXNvdXJjZV9zaXplOjE7IH07DQo+ID4gPiA+ICsNCj4gPiA+ID4gKy8qKg0KPiA+ID4g PiArICogQHdhcm5pbmcNCj4gPiA+ID4gKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5 IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZS4NCj4gPiA+ID4gKyAqDQo+ID4gPiA+ICsgKiBD b25maWd1cmUgZmxvdyBydWxlcyBtb2R1bGUuDQo+ID4gPiA+ICsgKiBUbyBwcmUtYWxsb2NhdGUg cmVzb3VyY2VzIGFzIHBlciB0aGUgZmxvdyBwb3J0IGF0dHJpYnV0ZXMsDQo+ID4gPiA+ICsgKiB0 aGlzIGNvbmZpZ3VyYXRpb24gZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGFueSBmbG93 IHJ1bGUgaXMgY3JlYXRlZC4NCj4gPiA+ID4gKyAqIE5vIG90aGVyIHJ0ZV9mbG93IGZ1bmN0aW9u IHNob3VsZCBiZSBjYWxsZWQgd2hpbGUgdGhpcyBmdW5jdGlvbiBpcyBpbnZva2VkLg0KPiA+ID4g PiArICogVGhpcyBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIGFnYWluIHRvIGNoYW5nZSB0aGUgY29u ZmlndXJhdGlvbi4NCj4gPiA+ID4gKyAqIFNvbWUgUE1EcyBtYXkgbm90IHN1cHBvcnQgcmUtY29u ZmlndXJhdGlvbiBhdCBhbGwsDQo+ID4gPiA+ICsgKiBvciBtYXkgb25seSBhbGxvdyBpbmNyZWFz aW5nIHRoZSBudW1iZXIgb2YgcmVzb3VyY2VzIGFsbG9jYXRlZC4NCj4gPiA+ID4gKyAqDQo+ID4g PiA+ICsgKiBAcGFyYW0gcG9ydF9pZA0KPiA+ID4gPiArICogICBQb3J0IGlkZW50aWZpZXIgb2Yg RXRoZXJuZXQgZGV2aWNlLg0KPiA+ID4gPiArICogQHBhcmFtW2luXSBwb3J0X2F0dHINCj4gPiA+ ID4gKyAqICAgUG9ydCBjb25maWd1cmF0aW9uIGF0dHJpYnV0ZXMuDQo+ID4gPiA+ICsgKiBAcGFy YW1bb3V0XSBlcnJvcg0KPiA+ID4gPiArICogICBQZXJmb3JtIHZlcmJvc2UgZXJyb3IgcmVwb3J0 aW5nIGlmIG5vdCBOVUxMLg0KPiA+ID4gPiArICogICBQTURzIGluaXRpYWxpemUgdGhpcyBzdHJ1 Y3R1cmUgaW4gY2FzZSBvZiBlcnJvciBvbmx5Lg0KPiA+ID4gPiArICoNCj4gPiA+ID4gKyAqIEBy ZXR1cm4NCj4gPiA+ID4gKyAqICAgMCBvbiBzdWNjZXNzLCBhIG5lZ2F0aXZlIGVycm5vIHZhbHVl IG90aGVyd2lzZSBhbmQgcnRlX2Vycm5vIGlzIHNldC4NCj4gPiA+ID4gKyAqLw0KPiA+ID4gPiAr X19ydGVfZXhwZXJpbWVudGFsDQo+ID4gPiA+ICtpbnQNCj4gPiA+ID4gK3J0ZV9mbG93X2NvbmZp Z3VyZSh1aW50MTZfdCBwb3J0X2lkLA0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgY29uc3Qg c3RydWN0IHJ0ZV9mbG93X3BvcnRfYXR0ciAqcG9ydF9hdHRyLA0KPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ID4gPiA+ICAjaWZkZWYg X19jcGx1c3BsdXMNCj4gPiA+ID4gIH0NCj4gPiA+ID4gICNlbmRpZg0KPiA+ID4gPiAtLQ0KPiA+ ID4gPiAyLjE4LjINCj4gPiA+ID4NCg==