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 17B7443B7F;
	Thu, 22 Feb 2024 19:28:40 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 94243402E9;
	Thu, 22 Feb 2024 19:28:39 +0100 (CET)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com
 [185.176.79.56])
 by mails.dpdk.org (Postfix) with ESMTP id 20B3D402CD;
 Thu, 22 Feb 2024 19:28:37 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.18.186.231])
 by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4TghPT5QKdz6K6BV;
 Fri, 23 Feb 2024 02:24:29 +0800 (CST)
Received: from frapeml100007.china.huawei.com (unknown [7.182.85.133])
 by mail.maildlp.com (Postfix) with ESMTPS id 6EE89140A9C;
 Fri, 23 Feb 2024 02:28:36 +0800 (CST)
Received: from frapeml500007.china.huawei.com (7.182.85.172) by
 frapeml100007.china.huawei.com (7.182.85.133) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.35; Thu, 22 Feb 2024 19:28:36 +0100
Received: from frapeml500007.china.huawei.com ([7.182.85.172]) by
 frapeml500007.china.huawei.com ([7.182.85.172]) with mapi id 15.01.2507.035;
 Thu, 22 Feb 2024 19:28:36 +0100
From: Konstantin Ananyev <konstantin.ananyev@huawei.com>
To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= <mb@smartsharesystems.com>, Ferruh Yigit
 <ferruh.yigit@amd.com>, Kaiwen Deng <kaiwenx.deng@intel.com>,
 "dev@dpdk.org" <dev@dpdk.org>
CC: "stable@dpdk.org" <stable@dpdk.org>, "qiming.yang@intel.com"
 <qiming.yang@intel.com>, "yidingx.zhou@intel.com" <yidingx.zhou@intel.com>,
 Aman Singh <aman.deep.singh@intel.com>, Yuying Zhang
 <yuying.zhang@intel.com>, David Marchand <david.marchand@redhat.com>, "Thomas
 Monjalon" <thomas@monjalon.net>, Andrew Rybchenko
 <andrew.rybchenko@oktetlabs.ru>, Jerin Jacob <jerinj@marvell.com>
Subject: RE: [PATCH v2] app/testpmd: use Tx preparation in txonly engine
Thread-Topic: [PATCH v2] app/testpmd: use Tx preparation in txonly engine
Thread-Index: AQHaRFRkjdCCtAptyE+no5avCHrrtrD/rEgAgADB6ZCAAA2bsIAE2D1ggALj3kCADqCK0A==
Date: Thu, 22 Feb 2024 18:28:35 +0000
Message-ID: <670ee735254244878e4b1247a8850be5@huawei.com>
References: <20240103012912.4334-1-kaiwenx.deng@intel.com>
 <20240111052555.35930-1-kaiwenx.deng@intel.com>
 <38baef9c-103a-4be4-8546-e9ea35abc46f@amd.com>
 <ff79ff9e060946a990f7e7a820549f6f@huawei.com>
 <98CBD80474FA8B44BF855DF32C47DC35E9F1FE@smartserver.smartshare.dk>
 <918593c56c5745a285facc47b6cdc76b@huawei.com>
 <98CBD80474FA8B44BF855DF32C47DC35E9F20C@smartserver.smartshare.dk>
In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35E9F20C@smartserver.smartshare.dk>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.48.146.142]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
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

DQo+ICtDQzogRXRoZXJuZXQgQVBJIG1haW50YWluZXJzDQo+ICtDQzogSmVyaW4gKGNvbW1lbnRl
ZCBvbiBhbm90aGVyIGJyYW5jaCBvZiB0aGlzIHRocmVhZCkNCj4gDQo+ID4gRnJvbTogS29uc3Rh
bnRpbiBBbmFueWV2IFttYWlsdG86a29uc3RhbnRpbi5hbmFueWV2QGh1YXdlaS5jb21dDQo+ID4g
U2VudDogU3VuZGF5LCAxMSBGZWJydWFyeSAyMDI0IDE2LjA0DQo+ID4NCj4gPiA+ID4gPiA+IFRT
TyBicmVha3Mgd2hlbiBNU1Mgc3BhbnMgbW9yZSB0aGFuIDggZGF0YSBmcmFnbWVudHMuIFRob3Nl
DQo+ID4gPiA+ID4gPiBwYWNrZXRzIHdpbGwgYmUgZHJvcHBlZCBieSBUeCBwcmVwYXJhdGlvbiBB
UEksIGJ1dCBpdCB3aWxsDQo+ID4gY2F1c2UNCj4gPiA+ID4gPiA+IE1ERCBldmVudCBpZiB0eG9u
bHkgZm9yd2FyZGluZyBlbmdpbmUgZG9lcyBub3QgY2FsbCB0aGUgVHgNCj4gPiA+ID4gcHJlcGFy
YXRpb24NCj4gPiA+ID4gPiA+IEFQSSBiZWZvcmUgdHJhbnNtaXR0aW5nIHBhY2tldHMuDQo+ID4g
PiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gdHhvbmx5IGlzIHVzZWQgY29tbW9ubHksIGFk
ZGluZyBUeCBwcmVwYXJlIGZvciBhIHNwZWNpZmljIGNhc2UNCj4gPiBtYXkNCj4gPiA+ID4gPiBp
bXBhY3QgcGVyZm9ybWFuY2UgZm9yIHVzZXJzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gV2hhdCBo
YXBwZW5zIHdoZW4gZHJpdmVyIHRocm93cyBNREQgKE1hbGljaW91cyBEcml2ZXIgRGV0ZWN0aW9u
KQ0KPiA+ID4gPiBldmVudCwNCj4gPiA+ID4gPiBjYW4ndCBpdCBiZSBpZ25vcmVkPyBBcyB5b3Ug
YXJlIGFscmVhZHkgT0sgdG8gZHJvcCB0aGUgcGFja2V0LA0KPiA+IGNhbg0KPiA+ID4gPiA+IGRl
dmljZSBiZSBjb25maWd1cmVkIHRvIGRyb3AgdGhlc2UgcGFja2FnZXM/DQo+ID4gPiA+ID4NCj4g
PiA+ID4gPg0KPiA+ID4gPiA+IE9yIGFzIEplcmluIHN1Z2dlc3RlZCBhZGRpbmcgYSBuZXcgZm9y
d2FyZGluZyBlbmdpbmUgaXMgYQ0KPiA+IHNvbHV0aW9uLA0KPiA+ID4gPiBidXQNCj4gPiA+ID4g
PiB0aGF0IHdpbGwgY3JlYXRlIGNvZGUgZHVwbGljYXRpb24sIEkgcHJlZmVyIHRvIG5vdCBoYXZl
IGl0IGlmDQo+ID4gdGhpcw0KPiA+ID4gPiBjYW4NCj4gPiA+ID4gPiBiZSBoYW5kbGVkIGluIGRl
dmljZSBsZXZlbC4NCj4gPiA+ID4NCj4gPiA+ID4gQWN0dWFsbHkgSSBhbSBhZ3JlZSB3aXRoIHRo
ZSBhdXRob3Igb2YgdGhlIHBhdGNoIC0gd2hlbiBUWCBvZmZsb2Fkcw0KPiA+ID4gPiBhbmQvb3Ig
bXVsdGlzZWdzIGFyZSBlbmFibGVkLA0KPiA+ID4gPiB1c2VyIHN1cHBvc2VkIHRvIGludm9rZSBl
dGhfdHhfcHJlcGFyZSgpLg0KPiA+ID4gPiBOb3QgZG9pbmcgdGhhdCBzZWVtcyBsaWtlIGEgYnVn
IHRvIG1lLg0KPiA+ID4NCj4gPiA+IEkgc3Ryb25nbHkgZGlzYWdyZWUgd2l0aCB0aGF0IHN0YXRl
bWVudCwgS29uc3RhbnRpbiENCj4gPiA+IEl0IGlzIG5vdCBkb2N1bWVudGVkIGFueXdoZXJlIHRo
YXQgdXNpbmcgVFggb2ZmbG9hZHMgYW5kL29yIG11bHRpc2Vncw0KPiA+IHJlcXVpcmVzIGNhbGxp
bmcgcnRlX2V0aF90eF9wcmVwYXJlKCkgYmVmb3JlDQo+ID4gPiBydGVfZXRoX3R4X2J1cnN0KCku
IEFuZCBub25lIG9mIHRoZSBleGFtcGxlcyBkbyBpdC4NCj4gPg0KPiA+IEluIGZhY3QsIHdlIGRv
IHVzZSBpdCBmb3IgdGVzdC1wbWQvY3N1bW9ubHkuYy4NCj4gPiBBYm91dCBvdGhlciBzYW1wbGUg
YXBwczoNCj4gPiBBRkFJSywgbm90IG1hbnkgb2Ygb3RoZXIgRFBESyBhcHBzIGRvIHVzZSBMNCBv
ZmZsb2Fkcy4NCj4gPiBSaWdodCBub3cgc3BlY2lhbCB0cmVhdG1lbnQgKHBzZXVkby1oZWFkZXIg
Y2tzdW0gY2FsY3VsYXRpb24pIGlzIG5lZWRlZA0KPiA+IG9ubHkgZm9yIEw0IG9mZmxvYWRzIChD
S1NVTSwgU0VHKS4NCj4gPiBTbywgbWFqb3JpdHkgb2Ygb3VyIGFwcHMgd2hvIHJlbHkgb24gb3Ro
ZXIgVFggb2ZmbG9hZHMgKG11bHRpLXNlZywgaXB2NA0KPiA+IGNrc3VtLCB2bGFuIGluc2VydGlv
bikgaGFwcGlseSBydW4gd2l0aG91dA0KPiA+IGNhbGxpbmcgdHhfcHJlcGFyZSgpLCBldmVuIHRo
b3VnaCBpdCBpcyBub3QgdGhlIHNhZmVzdCB3YXkuDQo+ID4NCj4gPiA+DQo+ID4gPiBJbiBteSBv
cGluaW9uOg0KPiA+ID4gSWYgc29tZSBkcml2ZXIgaGFzIGxpbWl0YXRpb25zIGZvciBhIGZlYXR1
cmUsIGUuZy4gbWF4IDggZnJhZ21lbnRzLA0KPiA+IGl0IHNob3VsZCBiZSBkb2N1bWVudGVkIGZv
ciB0aGF0IGRyaXZlciwgc28gdGhlIGFwcGxpY2F0aW9uDQo+ID4gPiBkZXZlbG9wZXIgY2FuIG1h
a2UgdGhlIGFwcHJvcHJpYXRlIGRlY2lzaW9ucyB3aGVuIGRlc2lnbmluZyB0aGUNCj4gPiBhcHBs
aWNhdGlvbi4NCj4gPiA+IEZ1cnRoZXJtb3JlLCB3ZSBoYXZlIEFQSXMgZm9yIHRoZSBkcml2ZXJz
IHRvIGV4cG9zZSB0byB0aGUNCj4gPiBhcHBsaWNhdGlvbnMgd2hhdCB0aGUgZHJpdmVyIHN1cHBv
cnRzLCBzbyB0aGUgYXBwbGljYXRpb24gY2FuIGNvbmZpZ3VyZQ0KPiA+ID4gaXRzZWxmIG9wdGlt
YWxseSBhdCBzdGFydHVwLiBQZXJoYXBzIHRob3NlIEFQSXMgbmVlZCB0byBiZSBleHBhbmRlZC4N
Cj4gPiA+IEFuZCBpZiBhIGZlYXR1cmUgbGltaXRhdGlvbiBpcyBjb21tb24gYWNyb3NzIHRoZSBt
YWpvcml0eSBvZiBkcml2ZXJzLA0KPiA+IHRoYXQgbGltaXRhdGlvbiBzaG91bGQgYmUgbWVudGlv
bmVkIGluIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZQ0KPiA+ID4gZmVhdHVyZSBpdHNlbGYuDQo+
ID4NCj4gPiBNYW55IG9mIHN1Y2ggbGltaXRhdGlvbnMgKmFyZSogZG9jdW1lbnRlZCBhbmQgaW4g
ZmFjdCB3ZSBkbyBoYXZlIGFuIEFQSQ0KPiA+IHRvIGNoZWNrIG1heCBzZWdtZW50cyB0aGF0IGVh
Y2ggZHJpdmVyIHN1cHBvcnQsDQo+ID4gc2VlIHN0cnVjdCBydGVfZXRoX2Rlc2NfbGltLg0KPiAN
Cj4gWWVzLCB0aGlzIGlzIHRoZSBraW5kIG9mIEFQSSB3ZSBzaG91bGQgcHJvdmlkZSwgc28gdGhl
IGFwcGxpY2F0aW9uIGNhbiBjb25maWd1cmUgaXRzZWxmIGFwcHJvcHJpYXRlbHkuDQo+IA0KPiA+
IFRoZSBwcm9ibGVtIGlzOg0KPiA+IC0gbm9uZSBvZiBvdXIgc2FtcGxlIGFwcCBkb2VzIHByb3Bl
ciBjaGVjayBvbiB0aGVzZSB2YWx1ZXMsIHNvIHVzZXJzDQo+ID4gZG9uJ3QgaGF2ZSBhIGdvb2Qg
ZXhhbXBsZSBob3cgdG8gZG8gaXQuDQo+IA0KPiBBZ3JlZWQuDQo+IEFkZGluZyBhbiBleGFtcGxl
IHNob3dpbmcgaG93IHRvIGRvIGl0IHByb3Blcmx5IHdvdWxkIGJlIHRoZSBiZXN0IHNvbHV0aW9u
Lg0KPiBDYWxsaW5nIHR4X3ByZXBhcmUoKSBpbiB0aGUgZXhhbXBsZXMgaXMgY2VydGFpbmx5IG5v
dCB0aGUgc29sdXRpb24uDQo+IA0KPiA+IC0gd2l0aCBjdXJyZW50IERQREsgQVBJIG5vdCBhbGwg
b2YgSFcvUE1EIHJlcXVpcmVtZW50cyBjb3VsZCBiZQ0KPiA+IGV4dHJhY3RlZCBwcm9ncmFtbWF0
aWNhbGx5Og0KPiA+ICAgbGV0IHNheSBtYWpvcml0eSBvZiBJbnRlbCBQTURzIGZvciBUQ1Agb2Zm
bG9hZHMgZXhwZWN0IHBzZXVkby1oZWFkZXINCj4gPiBja3N1bSB0byBiZSBwcmUtY2FsY3VsYXRl
ZCBieSB0aGUgU1cuDQo+IA0KPiBJIGhvcGUgdGhpcyByZXF1aXJlbWVudCBpcyBkb2N1bWVudGVk
IHNvbWV3aGVyZS4NCj4gDQo+ID4gICBhbm90aGVyIGV4YW1wbGUsIHNvbWUgSFcgZXhwZWN0cyBw
a3RfbGVuIHRvIGJlIGJpZ2dlciB0aGVuIHNvbWUNCj4gPiB0aHJlc2hvbGQgdmFsdWUsIG90aGVy
d2lzZSBIVyBoYW5nIG1heSBhcHBlYXIuDQo+IA0KPiBJIGhvcGUgdGhpcyByZXF1aXJlbWVudCBp
cyBhbHNvIGRvY3VtZW50ZWQgc29tZXdoZXJlLg0KDQpObyBpZGVhLCBJIGZvdW5kIGl0IG9ubHkg
aW4gdGhlIGNvZGUuDQoNCj4gR2VuZXJhbGx5LCBpZiB0aGUgcmVxdWlyZW1lbnRzIGNhbm5vdCBi
ZSBleHRyYWN0ZWQgcHJvZ3JhbW1hdGljYWxseSwgdGhleSBtdXN0IGJlIHByb21pbmVudGx5IGRv
Y3VtZW50ZWQsIGxpa2UgdGhpcyBub3RlIHRvDQo+IHJ0ZV9ldGhfcnhfYnVyc3QoKToNCg0KT2J2
aW91c2x5LCBtb3JlIGRldGFpbGVkIGRvY3VtZW50YXRpb24gaXMgYWx3YXlzIGdvb2QsIGJ1dC4u
Lg0KUmlnaHQgbm93IHdlIGhhdmUgNTArIGRpZmZlcmVudCBQTURzIGZyb20gZGlmZmVyZW50IHZl
bmRvcnMuDQpFdmVuIGlmIGVhY2ggYW5kIGV2ZXJ5IG9mIHRoZW0gd2lsbCBjYXJlZnVsbHkgZG9j
dW1lbnQgYWxsIHBvc3NpYmxlIGxpbWl0YXRpb25zIGFuZCBuZWNlc3NhcnkgcHJlcGFyYXRpb24g
c3RlcHMsDQpob3cgRFBESyBhcHAgZGV2ZWxvcGVyIHN1cHBvc2VkIHRvICBkZWFsIHdpdGggYWxs
IHRoYXQ/DQpEbyB5b3UgZXhwZWN0IGV2ZXJ5b25lLCB0byByZWFkIGNhcmVmdWxseSB0aHJvdWdo
IGFsbCBvZiB0aGVtLCBhbmQgaGFuZGxlIGFsbCBvZiB0aGVtIHByb3Blcmx5IG9oIGhpcyBvd24N
CmluIGVhY2ggYW5kIGV2ZXJ5IERQREsgYXBwIGhlIGlzIGdvaW5nIHRvIHdyaXRlPw0KVGhhdCBz
ZWVtcyB1bnJlYWxpc3RpYy4NCkFnYWluIHdoYXQgdG8gZG8gd2l0aCBiYWNrd2FyZCBjb21wYXRp
YmlsaXR5OiB3aGVuIG5ldyBkcml2ZXIgKHdpdGggbmV3IGxpbWl0YXRpb25zKSB3aWxsIGFyaXNl
DQoqYWZ0ZXIqIHlvdXIgYXBwIGlzIGFscmVhZHkgd3JpdHRlbiBhbmQgdGVzdGVkPyANCg0KPiAN
Cj4gICogQG5vdGUNCj4gICogICBTb21lIGRyaXZlcnMgdXNpbmcgdmVjdG9yIGluc3RydWN0aW9u
cyByZXF1aXJlIHRoYXQgKm5iX3BrdHMqIGlzDQo+ICAqICAgZGl2aXNpYmxlIGJ5IDQgb3IgOCwg
ZGVwZW5kaW5nIG9uIHRoZSBkcml2ZXIgaW1wbGVtZW50YXRpb24uDQo+IA0KPiA+IC0gQXMgbmV3
IEhXIGFuZCBQTUQga2VlcCBhcHBlYXJpbmcgaXQgaXMgaGFyZCB0byBwcmVkaWN0IHdoYXQgZXh0
cmENCj4gPiBsaW1pdGF0aW9ucy9yZXF1aXJlbWVudHMgd2lsbCBhcmlzZSwNCj4gPiAgIHRoYXQn
cyB3aHkgdHhfcHJlcGFyZSgpIHdhcyBpbnRyb2R1Y2VkIGFzIHMgZHJpdmVyIG9wLg0KPiA+DQo+
ID4gPg0KPiA+ID4gV2UgZG9uJ3Qgd2FudCB0byBjaGVjayBpbiB0aGUgZmFzdCBwYXRoIHdoYXQg
Y2FuIGJlIGNoZWNrZWQgYXQNCj4gPiBzdGFydHVwIG9yIGJ1aWxkIHRpbWUhDQo+ID4NCj4gPiBJ
ZiB5b3VyIGFwcCBzdXBwb3NlZCB0byB3b3JrIHdpdGgganVzdCBhIGZldywga25vd24gaW4gYWR2
YW5jZSwgTklDDQo+ID4gbW9kZWxzLCB0aGVuIHN1cmUsIHlvdSBjYW4gZG8gdGhhdC4NCj4gPiBG
b3IgYXBwcyB0aGF0IHN1cHBvc2VkIHRvIHdvcmsgJ2luIGdlbmVyYWwnICB3aXRoIGFueSBwb3Nz
aWJsZSBQTURzDQo+ID4gdGhhdCBEUERLIHN1cHBvcnRzIC0gdGhhdCBtaWdodCBiZSBhIHByb2Js
ZW0uDQo+ID4gVGhhdCdzIHdoeSB0eF9wcmVwYXJlKCkgd2FzIGludHJvZHVjZWQgYW5kIGl0IGlz
IHN0cm9uZ2x5IHJlY29tbWVuZGVkDQo+ID4gdG8gdXNlIGl0IGJ5IHRoZSBhcHBzIHRoYXQgZG8g
dXNlIFRYIG9mZmxvYWRzLg0KPiA+IFByb2JhYmx5IHR4X3ByZXBhcmUoKSBpcyBub3QgdGhlIGJl
c3QgcG9zc2libGUgYXBwcm9hY2gsIGJ1dCByaWdodCBub3cNCj4gPiB0aGVyZSBhcmUgbm90IG1h
bnkgYWx0ZXJuYXRpdmVzIHdpdGhpbiBEUERLLg0KPiANCj4gV2hhdCBleGFjdGx5IGlzIGFuIGFw
cGxpY2F0aW9uIHN1cHBvc2VkIHRvIGRvIGlmIHR4X3ByZXBhcmUoKSBkb2Vzbid0IGFjY2VwdCB0
aGUgZnVsbCBidXJzdD8gSXQgZG9lc24ndCByZXR1cm4gaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBp
cw0KPiB3cm9uZy4NCg0KSXQgcHJvdmlkZXMgc29tZSBpbmZvcm1hdGlvbiwgYnV0IGl0IGlzICp2
ZXJ5KiBsaW1pdGVkOiBqdXN0IGluZGV4IG9mICdiYWQnIHBhY2tldCBhbmQgZXJyb3IgY29kZS4N
CkluIHRoZW9yeSBhcHAgY2FuIHRyeSB0byBoYW5kbGUgaXQgaW4gYSAnc21hcnQnIHdheTogbGV0
IHNheSBpZiBFTk9UU1VQIGlzIHJldHVybmVkLCB0aGVuIHRyeSB0byBkaXNhYmxlIGFsbCBIVyBv
ZmZsb2Fkcw0KYW5kIGRvIGFsbCBpbiBTVy4gQnV0IGFnYWluLCBpdCBpcyBtdWNoIGJldHRlciB0
byBkbyBzbyAqYmVmb3JlKiBzdWJtaXR0aW5nIHBhY2tldHMgZm9yIFRYLCBzbyBpbiBwcmFjdGlj
ZSBldmVyeW9uZQ0KanVzdCBkcm9wIHN1Y2ggJ2JhZCcgcGFja2V0cy4gICANCg0KIERyb3BwaW5n
IHRoZSBwYWNrZXRzIG1pZ2h0IG5vdCBiZSBhbiBvcHRpb24sIGUuZy4gZm9yIGFwcGxpY2F0aW9u
cyB1c2VkIGluIGxpZmUgc3VwcG9ydCBvciB0ZWxlLW1lZGljaW5lLg0KDQpJZiB0aGUgcGFja2V0
IGlzICdiYWQnLCB0aGVuIGl0IGlzIG11Y2ggYmV0dGVyIHRvIGRyb3AgaXQsIHRoZW4gVFggY29y
cnVwdGVkIHBhY2tldCBvciBldmVuIGhhbmcgTklDIEhXIGNvbXBsZXRlbHkuDQpUaG91Z2ggb2Zm
LWNvdXJzZSBpdCBpcyBtdWNoIGJldHRlciB0byBoYXZlIGFuIGFwcCB0aGF0IHdvdWxkIGNoZWNr
IGZvciBsaW1pdGF0aW9ucyB0aGF0IGNhbiBiZSBjaGVja2VkIGJ5IEFQSSBwcm92aWRlZA0KYW5k
IGVuYWJsZSBvbmx5IHN1cHBvcnRlZCBvZmZsb2Fkcy4gICANCg0KPiBJZiBsaW1pdGF0aW9ucyBh
cmUgZG9jdW1lbnRlZCwgYW4gYXBwbGljYXRpb24gY2FuIHVzZSB0aGUgbG93ZXN0IGNvbW1vbiBk
ZW5vbWluYXRvciBvZiB0aGUgTklDcyBpdCBzdXBwb3J0cy4gQW5kIGlmIHRoZSBhcHBsaWNhdGlv
biBpcw0KPiBzdXBwb3NlZCB0byB3b3JrIGluIGdlbmVyYWwsIHRoYXQgYmVjb21lcyB0aGUgbG93
ZXN0IGNvbW1vbiBkZW5vbWluYXRvciBvZiBhbGwgTklDcy4NCg0KSSBhZ3JlZTogZm9yIGxpbWl0
YXRpb25zIHRoYXQgY2FuIGJlIGV4dHJhY3RlZCB3aXRoIGdlbmVyaWMgQVBJLCBsaWtlOg0KbnVt
YmVyIG9mIHNlZ21lbnRzIHBlciBwYWNrZXQsIHN1cHBvcnRlZCBUWCBvZmZsb2FkcywgbWJ1ZiBm
aWxlZHMgdGhhdCBtdXN0IGJlIHByb3ZpZGVkIGZvciBlYWNoIFRYIG9mZmxvYWQsICBldGMuIC0N
Cml0IGlzIHJlc3BvbnNpYmlsaXR5IG9mIHdlbGwtd3JpdHRlbiBhcHBsaWNhdGlvbiB0byBvYmV5
IGFsbCBvZiB0aGVtLg0KWWVzLCBtYW55IHR4X3ByZXBhcmUoKSBpbXBsZW1lbnRhdGlvbnMgZG8g
IHN1Y2ggY2hlY2tzIGFueXdheSwgYnV0IGZyb20gbXkgcGVyc3BlY3RpdmUgaXQgaXMgc29ydCBv
ZiBsYXN0LWxpbmUgb2YgZGVmZW5zZS4NCkZvciB3ZWxsIHdyaXR0ZW4gYXBwbGljYXRpb24gdGhh
dCBzaG91bGQganVzdCBuZXZlciBoYXBwZW4uIA0KQnV0IHRoZXJlIGlzIG9uZSBtb3JlIGltcG9y
dGFudCByZXNwb25zaWJpbGl0eSBvZiB0eF9wcmVwYXJlKCkgLSAgaXQgcGVyZm9ybXMgUE1EIHNw
ZWNpZmljIHBhY2tldCBtb2RpZmljYXRpb25zIGZvciByZXF1ZXN0ZWQgb2ZmbG9hZHMuDQpBcyBJ
IGFscmVhZHkgbWVudGlvbmVkIGZvciBJbnRlbCBOSUNzIC0gaXQgZG9lcyBwc2V1ZG8taGVhZGVy
IGNrc3VtIGNhbGN1Y2F0aW9uLCBmb3IgcGFja2V0cyB3aXRoIHNpemUgbGVzcyB0aGVuIG1pbmlt
YWwsIGl0IGNhbg0KcHJvYmFibHkgZG8gcGFkZGluZyAoZXZlbiBpZiBkb2Vzbid0IGRvIGl0IHJp
Z2h0IG5vdyksIGZvciBzb21lIG90aGVyIFBNRHMgLSBtaWdodCBiZSBzb21ldGhpbmcgZWxzZSwg
SSBkaWRuJ3QgY2hlY2suDQpPYnZpb3VzbHkgaXQgc2F2ZXMgYXBwIGRldmVsb3BlciBmcm9tIGEg
YnVyZGVuIHRvIGRvIGFsbCB0aGVzZSB0aGluZ3Mgb24gaGlzIG93bi4NCg0KPiBJdCBsb29rcyBs
aWtlIHR4X3ByZXBhcmUoKSBoYXMgYmVjb21lIGEgaG9ycmlibGUgd29ya2Fyb3VuZCBmb3IgdW5k
b2N1bWVudGVkIGxpbWl0YXRpb25zLg0KPiANCj4gTGltaXRhdGlvbnMgZHVlIHRvIGhhcmR3YXJl
IGFuZC9vciBzb2Z0d2FyZSB0cmFkZW9mZnMgYXJlIHVuYXZvaWRhYmxlLCBzbyB3ZSBoYXZlIHRv
IGxpdmUgd2l0aCB0aGVtOyBidXQgd2Ugc2hvdWxkIG5vdCBhY2NlcHQNCj4gUE1EcyB3aXRoIHVu
ZG9jdW1lbnRlZCBsaW1pdGF0aW9ucy4NCg0KQXMgSSBhbHJlYWR5IHNhaWQsIG1vcmUgZG9jdW1l
bnRhdGlvbiBuZXZlciBodXJ0cywgYnV0IGZvciB0aGF0IGNhc2UsIEkgdGhpbmsgaXQgaXMgbm90
IGVub3VnaC4NCkkgZXhwZWN0IFBNRCB0byBwcm92aWRlIGEgdHhfcHJlcGFyZSgpIGltcGxlbWVu
dGF0aW9uIHRoYXQgd291bGQgZGVhbCB3aXRoIHN1Y2ggc3BlY2lmaWMgdGhpbmdzLiANCiANCkFu
eXdheSwgYmFjayB0byB0aGUgb3JpZ2luYWwgcGF0Y2ggLSBJIGxvb2tlZCBhdCBpdCBvbmNlIGFn
YWluLCBhbmQgcmVhbGl6ZWQgdGhhdCB0aGUgcHJvYmxlbQ0KaXMganVzdCBpbiB0aGUgdW5zdXBw
b3J0ZWQgbnVtYmVyIG9mIHNlZ21lbnRzLg0KQXMgd2UgZGlzY3Vzc2VkIGFib3ZlIC0gc3VjaCBs
aW1pdGF0aW9ucyBzaG91bGQgYmUgaGFuZGxlZCBieSB3ZWxsIHdyaXR0ZW4gYXBwLA0KYnV0IG5v
bmUgb2YgRFBESyBhcHBzIGRvZXMgaXQgcmlnaHQgbm93Lg0KU28gcHJvYmFibHkgaXQgaXMgZ29v
ZCBvcHBvcnR1bml0eSB0byBkbyB0aGluZ3MgaW4gYSBwcm9wZXIgd2F5IGFuZCBpbnRyb2R1Y2Ug
c3VjaCBjaGVja3MNCmluIHRlc3RwbWQgOykNCkthaXdlbiwgV0RZVD8gICANCg0KPiA+DQo+ID4g
Pg0KPiA+ID4gPiBJZiBpdCBzdGlsbCB3b3JrcyBmb3Igc29tZSBjYXNlcywgdGhhdCdzIGEgbHVj
a3kgY29pbmNpZGVuY2UsIGJ1dA0KPiA+IG5vdA0KPiA+ID4gPiB0aGUgZXhwZWN0ZWQgYmVoYXZp
b3IuDQo+ID4gPiA+IEFib3V0IHBlcmZvcm1hbmNlIC0gZmlyc3Qgd2UgY2FuIGNoZWNrIGlzIHRo
YXQgcmVhbGx5IGEgZHJvcC4NCj4gPiA+ID4gQWxzbyBhcyBJIHJlbWVtYmVyIG1vc3QgZHJpdmVy
cyBzZXQgaXQgdG8gbm9uLU5VTEwgdmFsdWUsIG9ubHkgd2hlbg0KPiA+ID4gPiBzb21lIFRYIG9m
ZmxvYWRzIHdlcmUNCj4gPiA+ID4gZW5hYmxlZCBieSB0aGUgdXNlciBvbiB0aGF0IHBvcnQsIHNv
IGhvcGVmdWxseSBmb3Igc2ltcGxlIGNhc2UgKG9uZQ0KPiA+ID4gPiBzZWdtZW50LCBubyB0eCBv
ZmZsb2FkcykgaXQNCj4gPiA+ID4gc2hvdWxkIGJlIG5lZ2xpZ2libGUuDQo+ID4gPiA+IEFnYWlu
LCB3ZSBjYW4gYWRkIG1hbnVhbCBjaGVjayBpbiB0ZXN0cG1kIHR4LW9ubHkgY29kZSB0byBkZWNp
ZGUgZG8NCj4gPiB3ZQ0KPiA+ID4gPiBuZWVkIGEgVFggcHJlcGFyZQ0KPiA+ID4gPiB0byBiZSBj
YWxsZWQgb3Igbm90Lg0KPiA+ID4gPiBLb25zdGFudGluDQo=