From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id A366DA0A0A;
	Thu,  3 Jun 2021 10:25:06 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 26A814069F;
	Thu,  3 Jun 2021 10:25:06 +0200 (CEST)
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2042.outbound.protection.outlook.com [40.107.237.42])
 by mails.dpdk.org (Postfix) with ESMTP id DE9E840689
 for <dev@dpdk.org>; Thu,  3 Jun 2021 10:25:03 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=csH1qJqpwkm65D08Uq7KqZ3rjxoiMWXzbJeERXS6h7hg2N0T+qglYKUjNPlMe2EqLAc6gxueXPDIhVn7wxPIAnaSFXh5HY1cR3PTa51joNX+/sJ6ltYbWhCHByzbhiDz0uBn9+IXWf+uIeMPonvBxo2yZJDqvNaE1787t9tExi/hWfg+7Zf1h8CHWWeppoWkiA1nwCa95qK4YSaad96R4QRqTc2PciK3Xd1gIc1W0Gtl9tMsOnm+bryAXIKHhHeq1H6Like6fzu/eHQLO4j1poE09vM4w1d7YpdHp8tMIs1CM0PschKU3nul2ieDlaY5iRl8TwMJOP508jvWEcaxww==
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=hTo34ux7tR5La5t5byiT3LzjUQ9KUkWfg06lZ9hTDqE=;
 b=E3G9Zeza4RSkEbpOHqcrkn/VyjPG8v/7JsLjqBkT+GxqxObFJISThc5ZPAR5SgL/Z5D3WUJalc3iHK7tjpHHuZN0q9E4r0UyvT/YmV815FFHDEbG0rSpkj9lGz0iXOo27ll8YsZzPEq+8DpBlOrIBMPIzFaRC/MNDFHEt0QMuaDIZSqyvwxi9orcu+PHI1sIHvRaKCIEixLk5tvy6wpq4xJ3JBV5Z+eYq2Ld9S9NpxvA5I/Gk4H/2ydXy1fuedk0UeNJMCm+C+V/lMrXdjPVee01/8QZmbohazhtOyM3+OJcRgDPVxD301pdvFF0yg1pN6yvu4IOZPngpWysVXr/Eg==
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=hTo34ux7tR5La5t5byiT3LzjUQ9KUkWfg06lZ9hTDqE=;
 b=p4wtgp+TAzdOKmnJmVGTJdtwcNJBxVjScySa5xI79nSnSdB2oJd6Fidv9ea+MXlBNTrpADm6Gz9+Nls/sqTnh7aj1KINoeQ3qzZxWkjLY+ijNzFmf6LTB0nOANdCY9xNJ0yl7WLPLrtspd4QYj3qNrguojxEN2v65pzUA2ufWKb78K+r1l4Kt79Z0JF41y8amCjv8ToxYrQ6yHo/WQ5WORtQNE5Kkm94nQc6D9T/KATejPmO/VQeiNBW0K8wi2yXINCm6IMylkpmoYsWEZwvTdUNXAaaOx1vf7ZYySSm3zeB6QwCY8cqx92JfdHtUSOAnIR0NIMI6XUXah4ARGMU0Q==
Received: from BL1PR12MB5335.namprd12.prod.outlook.com (2603:10b6:208:317::19)
 by BL1PR12MB5126.namprd12.prod.outlook.com (2603:10b6:208:312::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.23; Thu, 3 Jun
 2021 08:25:02 +0000
Received: from BL1PR12MB5335.namprd12.prod.outlook.com
 ([fe80::6130:4ca:e5b6:4a36]) by BL1PR12MB5335.namprd12.prod.outlook.com
 ([fe80::6130:4ca:e5b6:4a36%9]) with mapi id 15.20.4195.023; Thu, 3 Jun 2021
 08:25:02 +0000
From: Ori Kam <orika@nvidia.com>
To: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>, Ivan Malov
 <Ivan.Malov@oktetlabs.ru>, "dev@dpdk.org" <dev@dpdk.org>
CC: NBU-Contact-Thomas Monjalon <thomas@monjalon.net>, Ferruh Yigit
 <ferruh.yigit@intel.com>, Ray Kinsella <mdr@ashroe.eu>, Neil Horman
 <nhorman@tuxdriver.com>
Thread-Topic: [RFC PATCH] ethdev: add support for testpmd-compliant flow rule
 dumping
Thread-Index: AQHXUtHTVmOnBGTM6UKpSaUBdRK75qr7mK5QgAOg/oCAAYYpoIAABsYAgAEzHAA=
Date: Thu, 3 Jun 2021 08:25:02 +0000
Message-ID: <BL1PR12MB5335CFCF2DB0ACFEE728D52AD63C9@BL1PR12MB5335.namprd12.prod.outlook.com>
References: <20210527082504.3495-1-ivan.malov@oktetlabs.ru>
 <BL1PR12MB53352FFAB92FFDFE9E7659F6D6209@BL1PR12MB5335.namprd12.prod.outlook.com>
 <6175cb60-5d9a-832a-fa07-32326018661c@oktetlabs.ru>
 <BL1PR12MB5335FE20DF4E61FE5AF9E696D63D9@BL1PR12MB5335.namprd12.prod.outlook.com>
 <fee04ceb-e7e6-6608-f5d0-c989a5b19fdb@oktetlabs.ru>
In-Reply-To: <fee04ceb-e7e6-6608-f5d0-c989a5b19fdb@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: [147.236.145.254]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 7bfad6b4-e137-45ce-2451-08d92669159c
x-ms-traffictypediagnostic: BL1PR12MB5126:
x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr
x-microsoft-antispam-prvs: <BL1PR12MB51267A4C8EBE9A6A30A833F2D63C9@BL1PR12MB5126.namprd12.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 7FphMrBMlqVsHQ2FXFYtGZte6VmRXsBkfRdIr2oVH6ZL6eV29Ve+ibn324dbKD4w4xkBd4aKGuStvzuqH4hKobAOYEru24XBR01FyHwS+ToCQyiiII/5OLQ/6bRQCbqD6rXRi+Jhete1oejugOTpK69Fde9SVQe28FO73Kzgiajv0fKLJeSS4233rKItRF/dKO547aVURUwsq6iFoGRbF/11MTMkJAUXn35+jHTYsHc9oqcb1HtGX3G7U4uwRc8HEG21hG213ZdC1paA9ItGXJAYtAC8UOTaAQyZUfhadPbgbWqdOxtdVmBBfRYZsONtpyUy5fw67vQrpsa5RORF1PUGRnpG8jT6k2GlFCrhFfvEX4SNC1CeG9rHg8X9mDZAaHr5kyEA8fXRKMCu+pvQ2QbZmVzMqlpQ8BjH86w+S3F5oOl5xg/xV4BwmZhd2aXoSnxgGqJdkhTVOohmAUZT/pOkIMI0ES17Vm2V3PRRs1aFEHMY8s2ZGOJ+Icdr2MslPtKsnAfdY2ipA0miHifbVhK2iQKilMS/zFUbjwiKtcGmw2X8G/V18FKcf4UzB1cjb1y5i/JlrxcgnNB0UThvU70SzuKrO6+YNNzr0lacr3Y=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:BL1PR12MB5335.namprd12.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(396003)(346002)(136003)(366004)(39860400002)(376002)(8936002)(478600001)(64756008)(6506007)(66556008)(5660300002)(53546011)(76116006)(66476007)(8676002)(66946007)(26005)(33656002)(7696005)(55016002)(71200400001)(186003)(66446008)(9686003)(4326008)(122000001)(86362001)(83380400001)(38100700002)(52536014)(2906002)(316002)(110136005)(54906003);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata: =?utf-8?B?Mmhydkk0eXhwRGlRZUcvamV6WjE3TGNTR0RJTzZCOVkxclMxbXUyNFlONzdO?=
 =?utf-8?B?WkJad3Y1Y0pNMHZRN25SdWpyVFVnRkFVbVlHLzYrNWNpU1BqRmpJTFRicVJF?=
 =?utf-8?B?cThacTNPTzY0eWF2czVyWXgzL2JJdERLSFVZYWZWRUVldnRiem5HWTZFRHow?=
 =?utf-8?B?VkNtcmxNRGYxck1ITUhYcnAvQkJ3b1hPN0JtR1laV0ZpZjYrSFJHa1lNc2oz?=
 =?utf-8?B?Q3pjN1BRWjF0NjRuS3BFK3BaQkhTYVBoVWEyaEZ2RTlzQ25PMkc2cUptbzBh?=
 =?utf-8?B?cDg4NDlIc1BDRUVZZjBDNVM3aUhFQ3RnV0tHUkhHM1V3eGMwYjNRY0JyTmxJ?=
 =?utf-8?B?UmpuYnpJQXR0Y1B1emNjdGZ3MnBRT0loVXpKUFFXaGhidnZuMkI0WmY4Zldw?=
 =?utf-8?B?aU1LWjRaaEprekgrOU9NYkgrZVVLaWZRNmwzSXVwdzdsc1ZabTNIYjNnWmVk?=
 =?utf-8?B?emRrbmw2ZEtMcm9ZUFFtYWxPc2dYY0ViRVFzeFpPbTE2N0RDdlRDU2lmaS9O?=
 =?utf-8?B?L01BcDEyblZrUkp3YURhSmVnOVdrMllaTERRRGJkTGxOSUN5ZVphd2xRQ3g4?=
 =?utf-8?B?YmdpN0l0TG5tYS8vdHZyeVBwOUtHMFVZaklBTWJOUkZFU1pHN0NmS0JBVFhz?=
 =?utf-8?B?UUdCUmdzaWo0S1dRV3ZxRVFOWDNiamxLSkl3QU9OQXdRMHlsRjhRNlUxN3Rk?=
 =?utf-8?B?RWNsbTh0UHM2Z3Z1NE1QWWVFMXZSU3pTSWI0aW5YYkJOd3JCQzQxendiVVI2?=
 =?utf-8?B?T2VwclNERlNJZjROWkdDWHRlT2F1aDhCMk0yTnhHVzhnV0dpVmVxb0ZNUWxh?=
 =?utf-8?B?OUh3bEVJZ21YQURDR0NDbmY5emlQOGFSUlRQY1cxcDdZM3R3TktiaStYcVdp?=
 =?utf-8?B?YnlXdk9UQU11cW9IT3FuUnFuRzUzK0dLdjZkczBCSW5HY1NoQXhxM1IycXBa?=
 =?utf-8?B?Mk5SODkvNjlpdlovTkhzS3p0WHJzRDBOTEF6N2h0K0lsdkJRUENBZjkwTUtX?=
 =?utf-8?B?RHpaUFJKa3BrbU45UVQwSjl0NUNva2NCQlR0NHBKWWVXK2JybmI5Y0Fpdnl6?=
 =?utf-8?B?Q1BIOGtUSi9BWUZMVERQWUgzSGozeDNKSE9XS1NiVTlJZ09GdkJYTHdZVWJF?=
 =?utf-8?B?d25tU0dkb0UvVVlKK29GdEJYS3pSbEpURkwxWmJYUEhZOG1qN08wdHcxMnZr?=
 =?utf-8?B?VnJQalh0THY4Um12elp0Rk5vSDErUGJScjBRRGxGMFNyTHpPZ2w5L1Y2dkY2?=
 =?utf-8?B?WEtjYjlZenVrR2ZDekhVRzBwWHAyWUVZVkhtM1NuYXlsMnB5R1RGQlNKN0Ra?=
 =?utf-8?B?Y090cGp1c2RDa2t2anRDTXRuYjBaeEoyaWJWMW1PRC9rVDhJajJPb2UrOEhF?=
 =?utf-8?B?SnVnazluSDVhL2VvSnNVVWpLVnNURDJwSTZrallIbGs2TXZvaTlGTUhYUlla?=
 =?utf-8?B?OEszS05KYytzNUI5NnNvbDNERFEvTDlERVlwQSs2QVZhdXNsd2thNjBML2dR?=
 =?utf-8?B?SDlHNmlWaXVuMWNhVS9uZ1h5cEsyUnRralhobllPUkdSMTZrTVNkM1hRWDds?=
 =?utf-8?B?bzRrSDI2bnFWOG5MbHZVanhoRGNmL0JhRGdHQXRidVdWaDIraGJocHhLUjE3?=
 =?utf-8?B?UW9vQ081YWxaWUs1NFRMbThFUDE1YWJRY3ZMT1ZRWWhuSnJxZS93UTY2ZlBM?=
 =?utf-8?B?dWtjN3duUlZpUWxxclNZcVIzZE9WTjJUSzlPVmVaanNRcjJmMmNTakhJa1JK?=
 =?utf-8?Q?RLNCIh0H3TmXZOC9xLxGQJZEjrI5tZc368h/psQ?=
x-ms-exchange-transport-forked: True
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: BL1PR12MB5335.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7bfad6b4-e137-45ce-2451-08d92669159c
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2021 08:25:02.3630 (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: b5LUNbJtZahlTbUM/d55bWwada3zZe17uq35NYEqorob2gAWdsJAQF3klD57ObjoE2gn5kxx6F0EGL5KmuPMKg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5126
Subject: Re: [dpdk-dev] [RFC PATCH] ethdev: add support for
 testpmd-compliant flow rule dumping
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
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>

SGkgQW5kcmV3LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl
dyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiANCj4gSGkgT3Jp
LA0KPiANCj4gT24gNi8yLzIxIDQ6MzIgUE0sIE9yaSBLYW0gd3JvdGU6DQo+ID4gSGkgSXZhbiwN
Cj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBJdmFuIE1h
bG92IDxJdmFuLk1hbG92QG9rdGV0bGFicy5ydT4NCj4gPj4NCj4gPj4gSGkgT3JpLA0KPiA+Pg0K
PiA+PiBZb3VyIHJldmlldyBlZmZvcnRzIGFyZSBtdWNoIGFwcHJlY2lhdGVkLiBJIHVuZGVyc3Rh
bmQgeW91ciBjb25jZXJuDQo+ID4+IGFib3V0IHRoZSBwYXJ0aWFsIGl0ZW0vYWN0aW9uIGNvdmVy
YWdlLCBidXQgdGhlcmUgYXJlIHNvbWUgcG9pbnRzIHRvDQo+ID4+IGJlIGNvbnNpZGVyZWQgd2hl
biBhZGRyZXNzaW5nIGl0Og0KPiA+PiAtIEl0J3MgYW55d2F5IGhhcmRseSBwb3NzaWJsZSB0byB1
c2UgdGhlIHByaW50ZWQgZmxvdyBkaXJlY3RseSBpbg0KPiA+PiB0ZXN0cG1kIGlmIGl0IGNvbnRh
aW5zICJvcGFxdWUiLCBvciAiUE1ELXNwZWNpZmljIiwgaXRlbXMvYWN0aW9ucyBpbg0KPiA+PiB0
ZXJtcyBvZiB0aGUgdHVubmVsIG9mZmxvYWQgbW9kZWwuIFRoZXNlIGl0ZW1zL2FjdGlvbnMgaGF2
ZSB0byBiZQ0KPiA+PiBvbWl0dGVkIHdoZW4gcHJpbnRpbmcgdGhlIGZsb3csIGFuZCB0aGVpciBh
YnNlbmNlIGluIHRoZSByZXN1bHRpbmcNCj4gPj4gc3RyaW5nIG1lYW5zIHRoYXQgY29weS9wYXN0
aW5nIHRoZSBmbG93IHRvIHRlc3RwbWQgaXNuJ3QgaGVscGZ1bCBpbg0KPiA+PiB0aGlzIHBhcnRp
Y3VsYXIgY2FzZS4NCj4gPiBJIGZ1bGx5IGFncmVlIHdpdGggeW91IHRoYXQgc29tZSBvZiB0aGUg
cnVsZXMgY2FuJ3QgYmUgcHJpbnRlZC4gVGhhdCBpcyB3aHkuDQo+ID4gSSdtIG5vdCBzdXJlIGhh
dmluZyBwYXJ0aWFsIHNvbHV0aW9uIGlzIHRoZSB3YXkgdG8gZ28uDQo+IA0KPiBTb3JyeSwgSSBk
aXNhZ3JlZSB0aGF0IHBvc3NpYmlsaXR5IHRvIGNvdmVyIDk5JSBhbmQgaW1wb3NzaWJpbGl0eSB0
byBjb3ZlciBqdXN0DQo+IDElIGlzIHRoZSByZWFzb24gdG8gZGlzY2FyZC4NCj4gDQoNCkkgYWdy
ZWUgd2l0aCB5b3UgdGhhdCA5OSUgaXMgYmV0dGVyIHRoYW4gMCDwn5iKIGJ1dCBpcyB0aGlzIHBh
dGNoIDk5JT8NCm1heWJlIHdlIGNhbiBhZ3JlZSBldmVuIGlmIGl0IGlzIDcwJSBpdCBpcyBnb29k
IGZvciB0aGlzIHBhdGNoLg0KDQo+ID4gSWYgT1ZTIGZvciBleGFtcGxlIGNhcmVzIGFib3V0DQo+
ID4gc29tZSBvZiB0aGUgaXRlbS9hY3Rpb24sIG1heWJlIHRoaXMgbG9nIHNob3VsZCBiZSBvbiB0
aGVpciBwYXJ0Lg0KPiANCj4gT3ZTIGRvZXMgYW5kIGFzIGZhciBhcyBJIGNhbiBzZWUgYWxyZWFk
eSBoYXMgYnVncyB0aGVyZS4NCj4gT2YgY291cnNlLCBub2JvZHkgc2F5cyB0aGF0IGl0IGlzIHRl
c3RwbWQtY29tcGxpZW50IGZvcm1hdCwgYnV0IGl0IGRlZmluaXRlbHkNCj4gbG9va3Mgc28uDQo+
IA0KPiBBbnl3YXksIGl0IHNvdW5kcyBzdHJhbmdlIGRvIGR1cGxpY2F0ZSB0aGUgZnVuY3Rpb25h
bGl0eSBpbiBtYW55LW1hbnkgRFBESw0KPiBhcHBzLiBPZiBjb3Vyc2UsIGl0IHJlbW92ZXMgdGhl
IGhlYWRhY2hlIGZyb20gRFBESyBtYWludGFpbmVycywgYnV0IGl0IGlzDQo+IGhhcmRseSBmcmll
bmRseSB0byBEUERLIGNvbW11bml0eSBpbiBnZW5lcmFsLg0KPiANCg0KRnVsbHkgYWdyZWUgd2l0
aCB5b3UgdGhhdCBpZiBzb21lIGZlYXR1cmUgaXMgdXNlZCBieSBudW1iZXIgb2YgYXBwbGljYXRp
b25zLCB0aGVuIGl0IGlzIGJldHRlcg0Kb3IgYXQgbGVhc3QgbmljZXIgdG8gaGF2ZSBpdCBpbiBE
UERLLCBidXQgbXkgcXVlc3Rpb24gaXMgdGhhdCwgdGhlIGN1cnJlbnQgcGF0Y2ggaXMgZm9yIHRo
ZSBPVlMgdXNlIGNhc2UNCmZyb20gbXkgdW5kZXJzdGFuZGluZyBhbmQgbm90IGNvbnNpZGVyaW5n
IGFueSBvdGhlciBhcHBsaWNhdGlvbi4gU28sIGluIHRoaXMgY2FzZQ0KZG8gd2Ugd2FudCBpdCBp
biBEUERLPw0KDQo+ID4+IC0gVGhlcmUncyBhY3Rpb24gRU5DQVAgd2hpY2ggYWxzbyBjYW4ndCBi
ZSBmdWxseSByZXByZXNlbnRlZCBieSB0aGUNCj4gPj4gdG9vbCBpbiBxdWVzdGlvbiwgc2ltcGx5
IGJlY2F1c2UgaXQgaGFzIG5vIHBhcmFtZXRlcnMuIEluIHRlc3BtZCwgb25lDQo+ID4+IGZpcnN0
IGhhcyB0byBpc3N1ZSAic2V0IHZ4bGFuIiBjb21tYW5kIHRvIGNvbmZpZ3VyZSB0aGUgZW5jYXAu
DQo+ID4+IGhlYWRlciwgd2hpbHN0ICJ2eGxhbiIgdG9rZW4gaW4gdGhlIGZsb3cgcnVsZSBzdHJp
bmcganVzdCByZWZlcnMgdG8NCj4gPj4gdGhlIHByZXZpb3VzbHkgc2V0IGVuY2FwLiBwYXJhbWV0
ZXJzLiBUaGUgc3VnZ2VzdGVkIGZsb3cgcHJpbnQgaGVscGVyDQo+ID4+IGNhbid0IHJlbGlhYmx5
IHByaW50IHRoZXNlIHR3byBjb21wb25lbnRzICgic2V0IHZ4bGFuIiBhbmQgdGhlIGZsb3cNCj4g
Pj4gcnVsZSBpdHNlbGYpIGFzIHRoZXkgYmVsb25nIHRvIGRpZmZlcmVudCB0ZXN0cG1kIGNvbW1h
bmQgc3RyaW5ncy4NCj4gPj4NCj4gPiBBZ2FpbiwgSSBhZ3JlZSB3aXRoIHlvdSBidXQgbGlrZSBt
eSBhYm92ZSBhbnN3ZXIsIGRvIHdlIHdhbnQgYSBwYXJ0aWFsDQo+ID4gc29sdXRpb24gaW4gRFBE
Sz8NCj4gDQo+IE15IGFuc3dlciBpcyBZRVMuDQo+IA0KDQpJIGNhbiBsaXZlIHdpdGggc3VjaCBk
ZWNpc2lvbiBidXQgbGlrZSBJIHNhaWQgYWJvdmUgaXQgZGVwZW5kcyBvbiB0aGUgdXNlIGNhc2UN
CmFuZCBob3cgcGFydGlhbCBpdCBpcy4NCg0KPiA+PiBBcyB5b3UgbWlnaHQgc2VlLCBjb21wbGV0
ZW5lc3Mgb2YgdGhlIHNvbHV0aW9uIHdvdWxkbid0IG5lY2Vzc2FyaWx5DQo+ID4+IGJlIHJlYWNo
YWJsZSwgZXZlbiBpZiBmdWxsIGl0ZW0vYWN0aW9uIGNvdmVyYWdlIHdhcyBwcm92aWRlZC4NCj4g
Pj4NCj4gPj4gQXMgZm9yIHRoZSBpdGVtL2FjdGlvbiBjb3ZlcmFnZSBpdHNlbGYsIGl0J3MgcmF0
aGVyIGNvbnRyb3ZlcnNpYWwuIE9uDQo+ID4+IHRoZSBvbmUgaGFuZCwgeWVzLCB3ZSBzaG91bGQg
cHJvYmFibHkgdHJ5IHRvIGNvdmVyIG1vcmUgaXRlbXMgYW5kDQo+ID4+IGFjdGlvbnMgaW4gdGhl
IHN1Z2dlc3RlZCBwYXRjaCwgdG8gdGhlIGV4dGVudCBhbGxvd2VkIGJ5IG91ciBjdXJyZW50DQo+
ID4+IHByaW9yaXRpZXMuIEJ1dCBvbiB0aGUgb3RoZXIgaGFuZCwgdGhlIGV4aXN0aW5nIGNvdmVy
YWdlIG1pZ2h0IG5vdCBiZQ0KPiA+PiB0aGF0IHBvb3I6IGl0J3MgZmFpcmx5IGVsYWJvcmF0ZSBh
bmQgYXQgbGVhc3QgYWxsb3dzIHRvIHByaW50IHRoZQ0KPiA+PiBtb3N0IGNvbW1vbiBmbG93IHJ1
bGVzLg0KPiA+Pg0KPiA+IFRoYXQgaXMgbXkgbWFpbiBpc3N1ZSB5b3UgYXJlIGdvaW5nIHRvIHB1
c2ggc29tZXRoaW5nIHRoYXQgaXMgZ29vZCBmb3INCj4gPiB5b3UgYW5kIG1heWJlIHNvbWUgb3Ro
ZXIgY2FzZXMsIGJ1dCBpdCBjYW4ndCBiZSB1c2VkIGJ5IGFsbA0KPiA+IGFwcGxpY2F0aW9uLCBl
dmVuIHdpdGggdGhlIG1vc3QgYmFzaWMgY29tbWFuZHMgbGlrZSBlbmNhcC4NCj4gDQo+IElzbid0
IGl0IGZhaXI6IGlmIG9uZSB3YW50cyB0byB1c2Ugc29tZXRoaW5nLCBiZSByZWFkeSB0byBoZWxw
IGFuZCBleHRlbmQgaXQuIE5vDQo+IHBhaW4sIG5vIGdhaW4gOikgSm9rZXMgYXNpZGUgLSB3ZSdy
ZSByZWFkeSB0byBzdXBwb3J0ICJ0aGUgbW9zdCBiYXNpYw0KPiBjb21tYW5kcyIsIGp1c3QgbGlz
dCBpdCwgYnV0IGRvIG5vdCBzYXkgZXZlcnl0aGluZyBpcyBiYXNpYy4gImV2ZXJ5dGhpbmciIHdp
bGwNCj4gZGVsYXkgdGhlIGZlYXR1cmUgYW5kIHNpbXBseSB1bmZhaXIgdG8gZGVtYW5kIChJTUhP
KS4NCj4gDQo+IElNSE8sIHRoZSBmZWF0dXJlIHdvdWxkIG1ha2UgZmxvdyBBUEkgbW9yZSBmcmll
bmRseSBhbmQgZWFzaWVyIHRvIGRlYnVnLA0KPiByZXBvcnQgYnVncyBldGMuDQo+DQpJIGZ1bGx5
IGFncmVlIHRoYXQgaWYgc29tZW9uZSB3YW50cyBmdW5jdGlvbmFsaXR5LCBoZSBzaG91bGQgd29y
ayBmb3IgaXQuDQpCdXQgYXMgYSBkZXZlbG9wZXIgb2YgcnRlX2Zsb3cgYW5kIG1haW50YWluZXIg
SSBuZWVkIHRvIGFzayB3aG8gd2lsbCBhZGQgdGhlIG5ldw0KZmVhdHVyZXMvbWlzc2luZyBmZWF0
dXJlcz8gU2hvdWxkIHdlIGVuZm9yY2UgdGhhdCBlYWNoIGRldmVsb3BlciB3aGVuIGNvZGluZyBh
IG5ldw0KaXRlbS9hY3Rpb24gd2lsbCBhZGQgaXQgdG8gdGhlIHByaW50Pw0KT3IganVzdCB1c2Vy
cyB0aGF0IGNhcmUgYWJvdXQgc3VjaCBsb2cgd2lsbCBhZGQgaXQ/DQoNCg0KVG8gc3VtbWFyaXpl
Lg0KSSB0aGluayB0aGUgZm9sbG93aW5nIHF1ZXN0aW9uIG11c3QgYmUgYW5zd2VyIGJlZm9yZSBk
ZWNpZGluZzoNCjEuIGhvdyBtYW55IGFwcHMgYXJlIGdvaW5nIHRvIHVzZSB0aGlzIGZlYXR1cmU/
DQoyLiBpdCB0aGUgY292ZXJhZ2Ugc3VmZmljaWVudD8NCjMuIHdobyBpcyByZXNwb25zaWJsZSB0
byB1cGRhdGUgaXQ/IChlYWNoIGRldmVsb3Blci90aGUgaW50ZXJlc3RlZCBwYXJ0eSBtZW1iZXI/
KQ0KDQoNCkJlc3QsDQpPcmkNCiANCj4gPj4gWWVzLCBtYWNyb3MgYW5kIHNvbWUgb3RoZXIgY3Vu
bmluZyB3YXlzIHRvIGNvdmVyIG1vcmUgZmxvdyBzcGVjaWZpY3MNCj4gPj4gbWlnaHQgY29tZSBp
biBoYW5keSwgYnV0LCBhdCB0aGUgc2FtZSB0aW1lLCBjYW4gYmUgcmF0aGVyIGVycm9yIHByb25l
Lg0KPiA+PiBTb21ldGltZXMgaXQncyBtb3JlIHJvYnVzdCB0byBqdXN0IHdyaXRlIHRoZSBjb2Rl
IG91dCBpbiBmdWxsLg0KPiA+Pg0KPiA+IEknbSBhbHdheXMgaW4gZmF2b3Igb2YgZWFzeSBvZiBl
eHRyYSBjb21wbGV4IGJ1dCB0b28gaGFyZCBpcyBhbHNvIG5vdCBnb29kLg0KPiA+DQo+ID4gVGhh
bmtzLA0KPiA+IE9yaQ0KPiA+PiBUaGFuayB5b3UuDQo+ID4+DQo+ID4+IE9uIDMwLzA1LzIwMjEg
MTA6MjcsIE9yaSBLYW0gd3JvdGU6DQo+ID4+PiBIaSBJdmFuLA0KPiA+Pj4NCj4gPj4+IEZpcnN0
IG5pY2UgaWRlYSBhbmQgdGhhbmtzIGZvciB0aGUgcGlja2luZyB1cCB0aGUgYmFsbC4NCj4gPj4+
DQo+ID4+PiBCZWZvcmUgYSBkZXRhaWwgcmV2aWV3LA0KPiA+Pj4gVGhlIG1haW4gdGhpbmcgSSdt
IGNvbmNlcm5lZCBhYm91dCBpcyB0aGF0IHRoaXMgcHJpbnQgd2lsbCBiZQ0KPiA+Pj4gcGFydGlh
bGx5DQo+ID4+IHN1cHBvcnRlZCwNCj4gPj4+IEkga25vdyB0aGF0IHlvdSBjb3ZlcmVkIHRoaXMg
aXNzdWUgYnkgcHJpbnRpbmcgdW5rbm93biBmb3INCj4gPj4+IHVuc3VwcG9ydGVkDQo+ID4+IGl0
ZW0vYWN0aW9ucywNCj4gPj4+IGJ1dCB0aGlzIHdpbGwgbWVhbiB0aGF0IGl0IGlzIGVub3VnaCB0
aGF0IG9uZSBpdGVtL2FjdGlvbiBpcyBub3QNCj4gPj4+IHN1cHBvcnRlZA0KPiA+PiBhbmQgYWxy
ZWFkeSB0aGUNCj4gPj4+IGZsb3cgY2FuJ3QgYmUgdXNlZCBpbiB0ZXN0cG1kLg0KPiA+Pj4gVG8g
Z2V0IGZ1bGwgc3VwcG9ydCBpdCBtZWFucyB0aGF0IHRoZSBkZXZlbG9wZXIgbmVlZHMgdG8gYWRk
IHN1Y2gNCj4gPj4+IHByaW50DQo+ID4+IHdpdGggZWFjaCBuZXcNCj4gPj4+IGl0ZW0vYWN0aW9u
LiBJIGFncmVlIGl0IGlzIHBvc3NpYmxlLCBidXQgaXQgaGFzIGhpZ2ggb3ZlcmhlYWQgZm9yIGVh
Y2gNCj4gZmVhdHVyZS4NCj4gPj4+DQo+ID4+PiBNYXliZSB3ZSBzaG91bGQgc29tZWhvdyBjcmVh
dGUgYSBtYWNyb3MgZm9yIHRoZSBwcmludHMgb3Igb3RoZXINCj4gPj4+IGVhc2llcg0KPiA+PiB0
byBzdXBwb3J0IHdheXMuDQo+ID4+Pg0KPiA+Pj4gRm9yIGV4YW1wbGUsIGp1c3QgcHJpbnRpbmcg
dGhlIGlwdjQgaGFzIDcgZnVuY3Rpb24gY2FsbHMgaW5zaWRlIG9mDQo+ID4+PiBpdCBlYWNoIG9u
ZQ0KPiA+PiB3aXRoIGVycm9yIGNoZWNraW5nLA0KPiA+Pj4gYW5kIEknbSBub3QgY291bnRpbmcg
dGhlIGRlZGljYXRlZCBmdW5jdGlvbnMuDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+PiBCZXN0
LA0KPiA+Pj4gT3JpDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut
LS0tLQ0KPiA+Pj4+IEZyb206IEl2YW4gTWFsb3YgPGl2YW4ubWFsb3ZAb2t0ZXRsYWJzLnJ1Pg0K
PiA+Pj4+IFNlbnQ6IFRodXJzZGF5LCBNYXkgMjcsIDIwMjEgMTE6MjUgQU0NCj4gPj4+PiBUbzog
ZGV2QGRwZGsub3JnDQo+ID4+Pj4gQ2M6IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbiA8dGhv
bWFzQG1vbmphbG9uLm5ldD47IEZlcnJ1aA0KPiA+PiBZaWdpdA0KPiA+Pj4+IDxmZXJydWgueWln
aXRAaW50ZWwuY29tPjsgQW5kcmV3IFJ5YmNoZW5rbw0KPiA+Pj4+IDxhbmRyZXcucnliY2hlbmtv
QG9rdGV0bGFicy5ydT47IE9yaSBLYW0gPG9yaWthQG52aWRpYS5jb20+OyBSYXkNCj4gPj4+PiBL
aW5zZWxsYSA8bWRyQGFzaHJvZS5ldT47IE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5j
b20+DQo+ID4+Pj4gU3ViamVjdDogW1JGQyBQQVRDSF0gZXRoZGV2OiBhZGQgc3VwcG9ydCBmb3Ig
dGVzdHBtZC1jb21wbGlhbnQgZmxvdw0KPiA+PiBydWxlDQo+ID4+Pj4gZHVtcGluZw0KPiA+Pj4+
DQo+ID4+Pj4gRFBESyBhcHBsaWNhdGlvbnMgKGZvciBleGFtcGxlLCBPdlMpIG9yIHRlc3RzIHdo
aWNoIHVzZSBSVEUgZmxvdw0KPiA+Pj4+IEFQSQ0KPiA+PiBuZWVkIHRvDQo+ID4+Pj4gbG9nIGNy
ZWF0ZWQgb3IgcmVqZWN0ZWQgZmxvdyBydWxlcyB0byBoZWxwIHRvIHJlY29nbmlzZSB3aGF0IGdv
ZXMNCj4gPj4+PiByaWdodCBvciB3cm9uZy4gRnJvbSB0aGlzIHN0YW5kcG9pbnQsIHRlc3RwbWQt
Y29tcGxpYW50IGZvcm1hdCBpcw0KPiA+Pj4+IG5pY2UgZm9yIHRoZSBwdXJwb3NlIGJlY2F1c2Ug
aXQgYWxsb3dzIHRvIGNvcHktcGFzdGUgdGhlIGZsb3cgcnVsZXMNCj4gPj4+PiBhbmQgZGVidWcg
dXNpbmcgdGVzdHBtZC4NCj4gPj4+Pg0KPiA+Pj4+IFJlY29nbmlzYWJsZSBwYXR0ZXJuIGl0ZW1z
Og0KPiA+Pj4+IFZPSUQsIFZGLCBQRiwgUEhZX1BPUlQsIFBPUlRfSUQsIEVUSCwgVkxBTiwgSVBW
NCwgSVBWNiwgVURQLCBUQ1AsDQo+ID4+IFZYTEFOLA0KPiA+Pj4+IE5WR1JFLCBHRU5FVkUsIE1B
UkssIFBQUE9FUywgUFBQT0VELg0KPiA+Pj4+DQo+ID4+Pj4gUmVjb2duaXNhYmxlIGFjdGlvbnM6
DQo+ID4+Pj4gVk9JRCwgSlVNUCwgTUFSSywgRkxBRywgUVVFVUUsIERST1AsIENPVU5ULCBSU1Ms
IFBGLCBWRiwNCj4gPj4gUEhZX1BPUlQsDQo+ID4+Pj4gUE9SVF9JRCwgT0ZfUE9QX1ZMQU4sIE9G
X1BVU0hfVkxBTiwgT0ZfU0VUX1ZMQU5fVklELA0KPiA+Pj4+IE9GX1NFVF9WTEFOX1BDUCwgVlhM
QU5fRU5DQVAsIFZYTEFOX0RFQ0FQLg0KPiA+Pj4+DQo+ID4+Pj4gUmVjb2duaXNhYmxlIFJTUyB0
eXBlcyAoYWN0aW9uIFJTUyk6DQo+ID4+Pj4gSVBWNCwgRlJBR19JUFY0LCBOT05GUkFHX0lQVjRf
VENQLCBOT05GUkFHX0lQVjRfVURQLA0KPiA+Pj4+IE5PTkZSQUdfSVBWNF9PVEhFUiwgSVBWNiwg
RlJBR19JUFY2LCBOT05GUkFHX0lQVjZfVENQLA0KPiA+Pj4+IE5PTkZSQUdfSVBWNl9VRFAsIE5P
TkZSQUdfSVBWNl9PVEhFUiwgSVBWNl9FWCwNCj4gSVBWNl9UQ1BfRVgsDQo+ID4+Pj4gSVBWNl9V
RFBfRVgsIEwzX1NSQ19PTkxZLCBMM19EU1RfT05MWSwgTDRfU1JDX09OTFksDQo+ID4+IEw0X0RT
VF9PTkxZLg0KPiA+Pj4+DQo+ID4+Pj4gVW5yZWNvZ25pc2VkIHBhcnRzIG9mIHRoZSBmbG93IHNw
ZWNpZmljYXRpb24gYXJlIHJlcHJlc2VudGVkIGJ5DQo+ID4+Pj4gdG9rZW5zICJ7dW5rbm93bn0i
IGFuZCAie3Vua25vd24gYml0c30iLiBJbnRlcmVzdGVkIHBhcnRpZXMgYXJlDQo+ID4+Pj4gd2Vs
Y29tZSB0byBleHRlbmQgdGhpcyB0b29sIHRvIHJlY29nbmlzZSBtb3JlIGl0ZW1zIGFuZCBhY3Rp
b25zLg0KPiA+Pj4+DQo+ID4+Pj4gU2lnbmVkLW9mZi1ieTogSXZhbiBNYWxvdiA8aXZhbi5tYWxv
dkBva3RldGxhYnMucnU+DQo=