From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id BD530A00BE;
	Tue,  7 Jul 2020 08:21:11 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id B188C1DA85;
	Tue,  7 Jul 2020 08:21:10 +0200 (CEST)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80088.outbound.protection.outlook.com [40.107.8.88])
 by dpdk.org (Postfix) with ESMTP id B41A21DA7E
 for <dev@dpdk.org>; Tue,  7 Jul 2020 08:21:08 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NWS4YRnMbw189nnMkI9qjCxCgrVq4Hh5dYT5O5zsieg/Y/kxKpFqn667w0V5rFfSdQDhc9lJCaeE8mHhNgCe9O+E+fpiSeJw8/8xvvbMghkdkTVq3O1ICdlSqZqjM7mzaKP/uEPnfBlxsb6GAd+W8daX5Dwj7q0DnjCu+wxE3oGXKeUwTzkk5oWRx9M3Z0QpYG+H6FL6634iRUGVN1hylRU1dk8RsMD2ZSctthymoL/S0URAHvy7rCwVtG4Z3WIem1ISzVgH7Yb0NLo9enjHfZLA7au3rBt/44Z4jBMt3cbyS8rXLhRxxRD+KQDEUIefyWCTP4SOUCV4BXW8/MBhcA==
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=wtC0A/Bd6x6+56oidNomKKZVUdpbBzJD0IecVwwGaOQ=;
 b=ZMdQr+qd4V4yjCGC9x6R53Y0V7IhnAndl0oClmoyA6DaXIdpZti9xTIx4jsSUe0Dtvm5ZeXoejUs7zhQnURBs2TQ4L4N/kwnqm/DQaXf5+xBDFnHdc/PAQmedsq2CyaUsRpjnNGphB8qvEYLfolEP1vuo0N8iVbLA5W9vppQs0+CFsG1vCx87DqEUA+bh/fyVfH+Q5gqp7ncPRy4kBEdfLsDPod5GzJ8C6lZHSMbmqEtDbtmcko/9hHP5v/9DYWHqbSaagyhBdpdPuXhgGkBwIbQmBE6KbAITP3Y+6Vov8K60eG7DWvqwMUrsA4D1arye1g60dpSE9b0Ghge8INYGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com;
 dkim=pass header.d=mellanox.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wtC0A/Bd6x6+56oidNomKKZVUdpbBzJD0IecVwwGaOQ=;
 b=dmtz0C3yLWaBLJ0kV25/eeQBv8HAoncktxfpdc4KUc1C+w2Lkotx2wIiMY89DlLzbgnKYSsd0C0RFXxprebfZf5PnexzYfu8h5tv2D8JdMsbY2qX8bGJLX128hbN4wOeNw3foM5MQo0OwECUrEa0kBU7AijR8UePJGACWOHeZJs=
Received: from AM6PR05MB5176.eurprd05.prod.outlook.com (2603:10a6:20b:63::30)
 by AM6PR05MB5799.eurprd05.prod.outlook.com (2603:10a6:20b:93::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.22; Tue, 7 Jul
 2020 06:21:07 +0000
Received: from AM6PR05MB5176.eurprd05.prod.outlook.com
 ([fe80::9024:accb:4d6b:805f]) by AM6PR05MB5176.eurprd05.prod.outlook.com
 ([fe80::9024:accb:4d6b:805f%3]) with mapi id 15.20.3153.029; Tue, 7 Jul 2020
 06:21:07 +0000
From: Ori Kam <orika@mellanox.com>
To: Jerin Jacob <jerinjacobk@gmail.com>, Andrey Vesnovaty
 <andrey.vesnovaty@gmail.com>
CC: Andrey Vesnovaty <andreyv@mellanox.com>, Thomas Monjalon
 <thomas@monjalon.net>, Ferruh Yigit <ferruh.yigit@intel.com>, Andrew
 Rybchenko <arybchenko@solarflare.com>, dpdk-dev <dev@dpdk.org>
Thread-Topic: [dpdk-dev] [PATCH] add flow shared action API
Thread-Index: AQHWUGkQL3wvR30Pj0qctUDdToyRSqj19SQAgAFAmICAACgNAIABbUtwgAF7yQCAADVjIIAAFrWAgADZbYCAAD4lkA==
Date: Tue, 7 Jul 2020 06:21:06 +0000
Message-ID: <AM6PR05MB5176010767C6BF5B68943E0BDB660@AM6PR05MB5176.eurprd05.prod.outlook.com>
References: <20200702120511.16315-1-andreyv@mellanox.com>
 <CALBAE1O8mZS5q_hvSeJ91P_YzyYfXyb-VWyv5R=DQ4W8URdTFQ@mail.gmail.com>
 <CAOwx9Su5t1XwFppqFgjNJuxj4JiE5O96nQXXiDQ=bFROV4nXGA@mail.gmail.com>
 <CALBAE1PT-Wpr8b9AZO8wRqwh1YWTQwn9ddeFQBoo5w60s=iokw@mail.gmail.com>
 <AM6PR05MB517660041EAF868EAFCF6F69DB680@AM6PR05MB5176.eurprd05.prod.outlook.com>
 <CALBAE1MzSqSf=yWbGXr7=4ny6LKUnDgm5wieD8C4ev83pZfA0g@mail.gmail.com>
 <AM6PR05MB51762BE0AD2C6D927F225B8BDB690@AM6PR05MB5176.eurprd05.prod.outlook.com>
 <CAOwx9SsMToGpxkynQ4nsXECsNiCqo3K6UF=hTwXNmaZVa0Sbug@mail.gmail.com>
 <CALBAE1OhmJUM+SoFw-xf2X6hPBwXzsCwJ1j5tZruFnv-9dtMpg@mail.gmail.com>
In-Reply-To: <CALBAE1OhmJUM+SoFw-xf2X6hPBwXzsCwJ1j5tZruFnv-9dtMpg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=mellanox.com;
x-originating-ip: [147.236.152.129]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 337507aa-e1c2-44c2-510c-08d8223def03
x-ms-traffictypediagnostic: AM6PR05MB5799:
x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <AM6PR05MB57992905C44485C318E90B24DB660@AM6PR05MB5799.eurprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0457F11EAF
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: VfzuIM9Ta18UoGRtCJKn1pNYeXj02iS1VnUWhGvVSW2uyttyQShBnKgymQ/AVDoyNI6brm591tkLeQyVPv2F+RySrBj7CbU/jaq+SkJW6rTFZQkNrh6NJQoTHauN0JrY0PMQ75G39VDOHFKDLeWtVMhvJAFRgUWhOxF8iuI2nxe2t5TmkPhX89d/vYBHmLlCCkVhnkKyjOlWtoEyM+8QvWsxeDJOhFH/hT9NsiX2UacB2dbvBFhN9yNviSaTltIH4R3c2GLrpC21kMF2oXT90H4BA+47lEOztbeuYg6PWVR18bJlCxPJqqHqXDjDKzvN9mH5rBPFN2Q9d7UKI9CHRxdYIKszyruFaZSXq+LVjarIkHGMMlnkNCHLP6kaUFxV
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:AM6PR05MB5176.eurprd05.prod.outlook.com; PTR:; CAT:NONE;
 SFTY:;
 SFS:(4636009)(39860400002)(376002)(396003)(136003)(346002)(366004)(86362001)(33656002)(4326008)(5660300002)(8936002)(478600001)(110136005)(316002)(54906003)(52536014)(83380400001)(9686003)(55016002)(186003)(8676002)(2906002)(64756008)(6506007)(53546011)(71200400001)(26005)(7696005)(66946007)(66476007)(66556008)(66446008)(76116006)(21314003);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata: H4EyTfFc31J95zmkLKaLqJpd80ycTqMxwFcsx8BB4KcDohYb2QzIvl/Za9x0SIeCW4Mw2W73hNVaihLYrL20JPOxiczxb2uKyFdiupTLPlY0VFiqqSXAfYl3SFXpwMUE7TbOloFnvm1/an/2MEMp5xcgVwDoL88XCvC3iDIwIpm+YfTDx7ictfcGR+9CPE4zZWEwv3IK7+uHDD1ePodpc7Q7pbxzy3CDmeVUF9+ZRhdc4ObRkxy6f4E/++0vMporwJcBv7VypBAXEMA3kuR9o6cOLE3kWpOXcNHACp5Vx2azK3oNpwqhjtl1HEF5gmkuXNXSJnCPcmfpyTR+oB5wT8csn63KpETRVLCdVz3a26X+BYj0gTwv65TmUG4nXJEAZPdPXOgsI9UNVgcVVRRLAcbIr5ZGaxtMikpum52K0dEuSYHIpc+BpmHUO4fOf3bB53pCxXFvYeGtkVqwqAJM9ivNpt256CYoEA5KTWtGdiCighh+jMFdga2M1rfpcw3a
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Mellanox.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM6PR05MB5176.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 337507aa-e1c2-44c2-510c-08d8223def03
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jul 2020 06:21:06.9437 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: hJeOtLFbrVu4QRJBaItrsbVSb0N9/Fv+NXF8QLdIj71nYvn2zMFdVzH2Sc+lGawHXC3+O9zaFM6oq9AYPdvBkg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB5799
Subject: Re: [dpdk-dev] [PATCH] add flow shared action API
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

SGkgSmVyaW4sDQogVGhhbmtzIHlvdSBmb3IgeW91ciBxdWljayByZXBseS4NCg0KPiAtLS0tLU9y
aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21h
aWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0hdIGFkZCBmbG93IHNoYXJl
ZCBhY3Rpb24gQVBJDQo+IA0KPiBPbiBNb24sIEp1bCA2LCAyMDIwIGF0IDc6MDIgUE0gQW5kcmV5
IFZlc25vdmF0eQ0KPiA8YW5kcmV5LnZlc25vdmF0eUBnbWFpbC5jb20+IHdyb3RlOg0KPiA+DQo+
ID4gSGksIEplcmluLg0KPiANCj4gSGkgT3JpIGFuZCBBbmRyZXksDQo+IA0KPiANCj4gPg0KPiA+
IFBsZWFzZSBzZWUgYmVsb3cgT3JpJ3Mgc3VnZ2VzdGlvbiBiZWxvdyB0byBpbXBsZW1lbnQgeW91
cg0KPiBydGVfZmxvd19hY3Rpb25fdXBkYXRlKCkgaWRlYQ0KPiA+IHdpdGggc29tZSBBUEkgY2hh
bmdlcyBvZiBydGVfZmxvd19zaGFyZWRfYWN0aW9uX3h4eCBBUEkgY2hhbmdlcy4NCj4gPg0KPiA+
IE9uIE1vbiwgSnVsIDYsIDIwMjAgYXQgMzoyOCBQTSBPcmkgS2FtIDxvcmlrYUBtZWxsYW5veC5j
b20+IHdyb3RlOg0KPiA+Pg0KPiA+PiBIaSBKZXJpbiwNCj4gPj4NCj4gPj4gPiAtLS0tLU9yaWdp
bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiA+IEZyb206IEplcmluIEphY29iIDxqZXJpbmphY29ia0Bn
bWFpbC5jb20+DQo+ID4+ID4gU2VudDogTW9uZGF5LCBKdWx5IDYsIDIwMjAgMTI6MDAgUE0NCj4g
Pj4gPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0hdIGFkZCBmbG93IHNoYXJlZCBhY3Rp
b24gQVBJDQo+ID4+ID4NCj4gPj4gPiBPbiBTdW4sIEp1bCA1LCAyMDIwIGF0IDM6NTYgUE0gT3Jp
IEthbSA8b3Jpa2FAbWVsbGFub3guY29tPiB3cm90ZToNCj4gPj4gPiA+DQo+ID4+ID4gPiBIaSBK
ZXJpbiwNCj4gPj4gPiA+IFBTQiwNCj4gPj4gPiA+DQo+ID4+ID4gPiBUaGFua3MsDQo+ID4+ID4g
PiBPcmkNCj4gPj4gPiA+DQo+ID4+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+
ID4+ID4gPiA+IEZyb206IEplcmluIEphY29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ID4+
ID4gPiA+IFNlbnQ6IFNhdHVyZGF5LCBKdWx5IDQsIDIwMjAgMzozMyBQTQ0KPiA+PiA+ID4gPiBk
cGRrLWRldiA8ZGV2QGRwZGsub3JnPg0KPiA+PiA+ID4gPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2
XSBbUEFUQ0hdIGFkZCBmbG93IHNoYXJlZCBhY3Rpb24gQVBJDQo+ID4+ID4gPiA+DQo+ID4+ID4g
PiA+IE9uIFNhdCwgSnVsIDQsIDIwMjAgYXQgMzo0MCBQTSBBbmRyZXkgVmVzbm92YXR5DQo+ID4+
ID4gPiA+IDxhbmRyZXkudmVzbm92YXR5QGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4+ID4gPiA+ID4N
Cj4gPj4gPiA+ID4gPg0KPiA+PiA+ID4gPiA+IFRoYW5rcywNCj4gPj4gPiA+ID4gPg0KPiA+PiA+
ID4gPiA+IEFuZHJleSBWZXNub3ZhdHkNCj4gPj4gPiA+ID4gPiAoKzk3Mik1MjY3NzU1MTIgfCBT
a3lwZTogYW5kcmV5Nzc1NTEyDQo+ID4+ID4gPiA+ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+
PiA+ID4gWy4uTmlwIC4uXQ0KPiA+PiA+ID4NCj4gPj4gPiA+ID4gPiBJIG5lZWQgdG8gbWVudGlv
biB0aGUgbG9ja2luZyBpc3N1ZSBvbmNlIGFnYWluLg0KPiA+PiA+ID4gPiA+IElmIHRoZXJlIGlz
IGEgbmVlZCB0byBtYWludGFpbiAic2hhcmVkIHNlc3Npb24iIGluIHRoZSBnZW5lcmljDQo+IHJ0
ZV9mbG93DQo+ID4+ID4gbGF5ZXINCj4gPj4gPiA+ID4gYWxsDQo+ID4+ID4gPiA+ID4gY2FsbHMg
dG8gZmxvd19jcmVhdGUoKSB3aXRoIHNoYXJlZCBhY3Rpb24gJiBhbGwgZGVsZXRlIG5lZWQgdG8g
dGFrZQ0KPiA+PiA+ID4gPiBzaGFyZWRzZXNzaW9uDQo+ID4+ID4gPiA+ID4gbWFuYWdlbWVudCBs
b2NrcyBhdCBsZWFzdCBmb3IgdmVyaWZpY2F0aW9uLiBMb2NrIHBhcnRpdGlvbmluZyBpcyBhbHNv
DQo+IGJpdA0KPiA+PiA+ID4gPiBwcm9ibGVtYXRpYw0KPiA+PiA+ID4gPiA+IHNpbmNlIG9uZSBm
bG93IG1heSBoYXZlIG1vcmUgdGhhbiBvbmUgc2hhcmVkIGFjdGlvbi4NCj4gPj4gPiA+ID4NCj4g
Pj4gPiA+ID4gVGhlbiwgSSB0aGluayBiZXR0ZXIgYXBwcm9hY2ggd291bGQgYmUgdG8gaW50cm9k
dWNlDQo+ID4+ID4gPiA+IHJ0ZV9mbG93X2FjdGlvbl91cGRhdGUoKSBwdWJsaWMNCj4gPj4gPiA+
ID4gQVBJIHdoaWNoIGNhbiBlaXRoZXIgdGFrZSAiY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2FjdGlv
biBbXSIgT1Igc2hhcmVkDQo+ID4+ID4gPiA+IGNvbnRleHQgSUQsIHRvIGNhdGVyIHRvDQo+ID4+
ID4gPiA+IGJvdGggY2FzZXMgb3Igc29tZXRoaW5nIG9uIHNpbWlsYXIgbGluZXMuIFRoaXMgd291
bGQgYWxsb3cgSFcncw0KPiA+PiA+ID4gPiB3aXRob3V0IGhhdmUgIHRoZSBzaGFyZWQgY29udGV4
dCBJRA0KPiA+PiA+ID4gPiB0byB1c2UgdGhlIGFjdGlvbiB1cGRhdGUuDQo+ID4+ID4gPg0KPiA+
PiA+ID4gQ2FuIHlvdSBwbGVhc2UgZXhwbGFpbiB5b3VyIGlkZWE/DQo+ID4+ID4NCj4gPj4gPiBJ
IHNlZSB0d28gdHlwZXMgb2YgSFcgc2NoZW1lcyBzdXBwb3J0aW5nIGFjdGlvbiB1cGRhdGVzIHdp
dGhvdXQgZ29pbmcNCj4gPj4gPiB0aHJvdWdoIGNhbGwgYHJ0ZV9mbG93X2Rlc3Ryb3koKWAgYW5k
IGNhbGwgYHJ0ZV9mbG93X2NyZWF0ZSgpYA0KPiA+PiA+IC0gVGhlIHNoYXJlZCBIVyBhY3Rpb24g
Y29udGV4dCBmZWF0dXJlDQo+ID4+ID4gLSBUaGUgSFcgaGFzICJwYXR0ZXJuIiBhbmQgImFjdGlv
biIgbWFwcGVkIHRvIGRpZmZlcmVudCBIVyBvYmplY3RzIGFuZA0KPiA+PiA+IGFjdGlvbiBjYW4g
YmUgdXBkYXRlZCBhbnkgdGltZS4NCj4gPj4gPiBPdGhlciB0aGFuIGFib3ZlLW1lbnRpb25lZCBS
U1MgdXNlIGNhc2UsIGFub3RoZXIgdXNlIGNhc2Ugd291bGQgYmUgdG8NCj4gPj4gPiBhKSBjcmVh
dGUgcnRlX2Zsb3cgYW5kIHNldCB0aGUgYWN0aW9uIGFzIERST1AgKEtpbmQgb2YgcmVzZXJ2aW5n
IHRoZSBIVw0KPiBvYmplY3QpDQo+ID4+ID4gYikgVXBkYXRlIHRoZSBhY3Rpb24gb25seSB3aGVu
IHRoZSByZXN0IG9mIHRoZSByZXF1aXJlbWVudHMgcmVhZHkuDQo+ID4+ID4NCj4gPj4gPiBBbnkg
QVBJIHNjaGVtYXRpYyB0aGF0IHN1cHBvcnRzIGJvdGggbm90aW9ucyBvZiBIVyBpcyBmaW5lIHdp
dGggbWUuDQo+ID4+ID4NCj4gPj4gSSBoYXZlIGFuIGlkZWEgaWYgdGhlIEFQSSB3aWxsIGJlIGNo
YW5nZWQgdG8gc29tZXRoaW5nIGxpa2UgdGhpcywNCj4gPj4gUnRlX2Zsb3dfc2hhcmVkX2FjdGlv
bl91cGRhdGUodWludDE2X3BvcnQgcG9ydCwgcnRlX3NoYXJlZF9jdHggKmN0eCwNCj4gcnRlX2Zs
b3dfYWN0aW9uICphY3Rpb24sIGVycm9yKQ0KPiA+PiBUaGlzIHdpbGwgZW5hYmxlIHRoZSBhcHBs
aWNhdGlvbiB0byBzZW5kIGEgZGlmZmVyZW50IGFjdGlvbiB0aGFuIHRoZSBvcmlnaW5hbA0KPiBv
bmUgdG8gYmUgc3dpdGNoZWQuDQo+ID4+IEFzc3VtaW5nIHRoZSBQTUQgc3VwcG9ydHMgdGhpcy4N
Cj4gPj4gRG9lcyBpdCBhbnN3ZXIgeW91ciBjb25jZXJucz8NCj4gPg0KPiA+DQo+ID4gVGhpcyBh
bGxvd3MgYm90aDoNCj4gPiAxLiBVcGRhdGUgYWN0aW9uIGNvbmZpZ3VyYXRpb24NCj4gPiAyLiBS
ZXBsYWNlIGFjdGlvbiBieSBzb21lIG90aGVyIGFjdGlvbg0KPiA+IEZvciAyIHB1cmUgc29mdHdh
cmUgaW1wbGVtZW50YXRpb24gbWF5IGNhcmF0ZSBzaHJlZCBhY3Rpb24gKHRoYXQgY2FuIGJlDQo+
IHNoYXJlZA0KPiA+IHdpdGggb25lIGZsb3cgb25seSwgZGVwZW5kcyBvbiBQTUQpIGFuZCBsYXRl
ciBvbg0KPiBydGVfZmxvd19zaGFyZWRfYWN0aW9uX3VwZGF0ZSBtYXkgcmVwbGFjZSB0aGlzDQo+
ID4gYWN0aW9uIHdpdGggc29tZSBvdGhlciBhY3Rpb24gYnkgaGFuZGxlIHJldHVybmVkIGZyb20N
Cj4gcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl9jcmVhdGUNCj4gPiBEb2VzaWduIGJldHdlZW4gMSBh
bmQgMiBpcyBwZXIgUE1ELg0KPiANCj4gc3RydWN0IHJ0ZV9mbG93ICogb2JqZWN0IGhvbGRzIHRo
ZSBkcml2ZXIgcmVwcmVzZW50YXRpb24gb2YgdGhlDQo+IHBhdHRlcm4gKyBhY3Rpb24uDQo+IFNv
IGluIG9yZGVyIHRvIHVwZGF0ZSB0aGUgYWN0aW9uLCB3ZSB3b3VsZCBuZWVkIHN0cnVjdCBydGVf
ZmxvdyAqIGluIEFQSS4NCj4gDQpXaHkgaXMgdGhhdD8gVGhlIGlkZWEgaXMgdG8gY2hhbmdlIHRo
ZSBhY3Rpb24sIHRoZSBhY3Rpb24gaXRzZWxmIGlzIGNvbm5lY3RlZCB0byBmbG93cy4NClRoZSBQ
TUQgY2FuIHNhdmUgaW4gdGhlIHNoYXJlZF9jdHggYWxsIGZsb3dzIHRoYXQgYXJlIGNvbm5lY3Rl
ZCB0byB0aGlzIGFjdGlvbi4NCiANCj4gSSB0aGluaywgc2ltcGxlIEFQSSBjaGFuZ2Ugd291bGQg
YmUgdG8gYWNjb21tb2RhdGUgInJ0ZV9zaGFyZWRfY3R4DQo+ICpjdHgsIHJ0ZV9mbG93X2FjdGlv
biAqYWN0aW9uIiBtb2Rlcw0KPiB3aXRob3V0IGludHJvZHVjaW5nIHRoZSBlbXVsYXRpb24gZm9y
IG9uZSBvciBvdGhlciBtb2RlLCB3aWxsIGJlLg0KPiANCj4gZW51bSBydGVfZmxvd19hY3Rpb25f
dXBkYXRlX3R5cGUgew0KPiAgICAgICAgICAgICAgIFJURV9GTE9XX0FDVElPTl9VUERBVEVfVFlQ
RV9TSEFSRURfQUNUSU9OLA0KPiAgICAgICAgICAgICAgIFJURV9GTE9XX0FDVElPTl9VUERBVEVf
VFlQRV9BQ1RJT04sDQo+IH07DQo+IA0KPiBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3VwZGF0ZV90
eXBlX3BhcmFtIHsNCj4gICAgICAgICAgZW51bSBydGVfZmxvd19hY3Rpb25fdXBkYXRlX3R5cGUg
dHlwZTsNCj4gICAgICAgICAgdW5pb24gew0KPiAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg
cnRlX2Zsb3dfYWN0aW9uX3VwZGF0ZV90eXBlX3NoYXJlZF9hY3Rpb25fcGFyYW0gew0KPiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9zaGFyZWRfY3R4ICpjdHg7DQo+ICAgICAg
ICAgICAgICAgICAgICAgICB9IHNoYXJlZF9hY3Rpb247DQo+ICAgICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3VwZGF0ZV90eXBlX3NoYXJlZF9hY3Rpb25fcGFyYW0g
ew0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9mbG93ICpmbG93LA0KPiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydGVfZmxvd19hY3Rpb24gKmFjdGlvbjsN
Cj4gICAgICAgICAgICAgICAgICAgICAgIH0gYWN0aW9uOw0KPiAgICAgICAgICB9DQo+IH0NCj4g
DQpUaGFuayB5b3UgZm9yIHRoZSBpZGVhIGJ1dCBJIGZhbGwgdG8gc2VlIGhvdyB5b3VyIHN1Z2dl
c3RlZCBBUEkgaXMgc2ltcGxlciB0aGFuIHRoZSBvbmUgc3VnZ2VzdGVkIGJ5IG1lPw0KSW4gbXkg
c3VnZ2VzdGlvbiB0aGUgUE1EIHNpbXBseSBuZWVkcyB0byBjaGVjayBpZiB0aGUgbmV3IGFjdGlv
biBhbmQgY2hhbmdlIHRoZSANCmNvbnRleHQgYW5kIHRvIHRoYXQgYWN0aW9uLCBvciBqdXN0IGNo
YW5nZSBwYXJhbWV0ZXJzIGluIHRoZSBhY3Rpb24sIGlmIGl0IGlzIHRoZSBzYW1lIGFjdGlvbi4N
Cg0KTGV0J3MgZ28gd2l0aCB0aGUgb3JpZ2luYWwgcGF0Y2ggQVBJIG1vZGlmaWVkIHRvIHN1cHBv
cnQgbGlrZSB5b3UgcmVxdWVzdGVkIGFsc28gY2hhbmdpbmcgdGhlIGFjdGlvbiwNCmJhc2VkIG9u
IG15IGNvbW1lbnRzLg0KDQo+IHJ0ZV9mbG93X2FjdGlvbl91cGRhdGUodWludDE2X3BvcnQgcG9y
dCwgc3RydWN0DQo+IHJ0ZV9mbG93X2FjdGlvbl91cGRhdGVfdHlwZV9wYXJhbSAgKnBhcmFtLCBl
cnJvcikNCj4gDQo+ID4NCj4gPj4NCj4gPj4gPg0KPiA+PiA+ID4gQXMgSSBjYW4gc2VlIGlmIHdl
IHVzZSB0aGUgZmxvd19hY3Rpb24gYXJyYXkgaXQgbWF5IHJlc3VsdCBpbiBidWdzLg0KPiA+PiA+
ID4gRm9yIGV4YW1wbGUsIHRoZSBhcHBsaWNhdGlvbiBjcmVhdGVkIHR3byBmbG93cyB3aXRoIHRo
ZSBzYW1lIFJTUyAobm90DQo+IHVzaW5nDQo+ID4+ID4gdGhlIGNvbnRleHQpDQo+ID4+ID4gPiBU
aGVuIGhlIHdhbnRzIHRvIGNoYW5nZSBvbmUgZmxvdyB0byB1c2UgZGlmZmVyZW50IFJTUywgYnV0
IHRoZSByZXN1bHQgd2lsbA0KPiB0aGF0DQo+ID4+ID4gYm90aCBmbG93cw0KPiA+PiA+ID4gd2ls
bCBiZSBjaGFuZ2VkLg0KPiA+PiA+DQo+ID4+ID4gU29ycnkuIEkgZG9uJ3QgcXVpdGUgZm9sbG93
IHRoaXMuDQo+ID4+ID4NCj4gPj4gSSB3YXMgdHJ5aW5nIHRvIHNob3cgdGhhdCB0aGVyZSBtdXN0
IGJlIHNvbWUgY29udGV4dC4gQnV0IEkgZG9u4oCZdCB0aGluayB0aGlzIGlzDQo+IHJlbGV2YW50
IHRvDQo+ID4+IHlvdXIgY3VycmVudCBpZGVhcy4NCj4gPj4NCj4gPj4gPiA+IEFsc28gdGhpcyB3
aWxsIGVuZm9yY2UgdGhlIFBNRCB0byBrZWVwIHRyYWNrIG9uIGFsbCBmbG93cyB3aGljaCB3aWxs
IGhhdmUNCj4gPj4gPiBtZW1vcnkgcGVuYWx0eSBmb3INCj4gPj4gPiA+IHNvbWUgUE1Ecy4NCj4g
Pj4NCj4gPj4gQmVzdCwNCj4gPj4gT3JpDQo+ID4NCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBBbmRy
ZXkNCkJlc3QsDQpPcmkNCg==