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 B7A6B41DFF;
	Tue,  7 Mar 2023 11:11:12 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 5E54240E03;
	Tue,  7 Mar 2023 11:11:12 +0100 (CET)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com
 [185.176.79.56]) by mails.dpdk.org (Postfix) with ESMTP id 1BDEC4067E
 for <dev@dpdk.org>; Tue,  7 Mar 2023 11:11:10 +0100 (CET)
Received: from frapeml100006.china.huawei.com (unknown [172.18.147.206])
 by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4PWB6c2mcTz6J7Tt;
 Tue,  7 Mar 2023 18:11:04 +0800 (CST)
Received: from frapeml500007.china.huawei.com (7.182.85.172) by
 frapeml100006.china.huawei.com (7.182.85.201) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.21; Tue, 7 Mar 2023 11:11:09 +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.021;
 Tue, 7 Mar 2023 11:11:09 +0100
From: Konstantin Ananyev <konstantin.ananyev@huawei.com>
To: Konstantin Ananyev <konstantin.ananyev@huawei.com>, Fengchengwen
 <fengchengwen@huawei.com>, Ajit Khaparde <ajit.khaparde@broadcom.com>,
 "Ferruh Yigit" <ferruh.yigit@amd.com>
CC: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>, Thomas Monjalon
 <thomas@monjalon.net>, Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
 "dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [PATCH 1/5] ethdev: fix race-condition of proactive error
 handling mode
Thread-Topic: [PATCH 1/5] ethdev: fix race-condition of proactive error
 handling mode
Thread-Index: AQHZS+uvQnCnmh+sv0S0/W2/2wgHVa7nZ26wgAHQp4CAAwPJgIABLjQAgAAlK+D///3qAIAAAVaAgAASk4CAAVMHgIAAKIowgAAEK2A=
Date: Tue, 7 Mar 2023 10:11:09 +0000
Message-ID: <da1374b7b1294dcdb2bb504eae907caf@huawei.com>
References: <20230301030610.49468-1-fengchengwen@huawei.com>
 <20230301030610.49468-2-fengchengwen@huawei.com>
 <0f387ca1eee34a7f92745de7b59a71a1@huawei.com>
 <bb00bf60-583c-ba6a-92d8-565a875008ab@amd.com>
 <18c5b676-ae72-e646-89af-d6cd636d923f@yandex.ru>
 <5b40049f-6f22-fc3f-b13e-da1793c2fd1a@amd.com>
 <9092fdae9c1d4c53a00a8f23eb1129ec@huawei.com>
 <0effdaa9-5045-0635-775c-6e1eda0d5dba@amd.com>
 <CACZ4nhtvtRZQcBaLKQ5k76VSVo8F9NWWbrJbnUZV5JNO6N4MoA@mail.gmail.com>
 <e3c8dd66f915462e9b58defdb4e5aa1e@huawei.com>
 <9dc5d714-07a4-c32e-e557-efe8e7fe2d16@huawei.com>
 <4b22988ae22e4db08d1cb1f810832605@huawei.com>
In-Reply-To: <4b22988ae22e4db08d1cb1f810832605@huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.48.149.130]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
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

DQoNCj4gPiA+Pj4+Pj4+Pj4gSW4gdGhlIHByb2FjdGl2ZSBlcnJvciBoYW5kbGluZyBtb2RlLCB0
aGUgUE1EIHdpbGwgc2V0IHRoZSBkYXRhIHBhdGgNCj4gPiA+Pj4+Pj4+Pj4gcG9pbnRlcnMgdG8g
ZHVtbXkgZnVuY3Rpb25zIGFuZCB0aGVuIHRyeSByZWNvdmVyeSwgaW4gdGhpcyBwZXJpb2QgdGhl
DQo+ID4gPj4+Pj4+Pj4+IGFwcGxpY2F0aW9uIG1heSBzdGlsbCBpbnZva2luZyBkYXRhIHBhdGgg
QVBJLiBUaGlzIHdpbGwgaW50cm9kdWNlIGENCj4gPiA+Pj4+Pj4+Pj4gcmFjZS1jb25kaXRpb24g
d2l0aCBkYXRhIHBhdGggd2hpY2ggbWF5IGxlYWQgdG8gY3Jhc2ggWzFdLg0KPiA+ID4+Pj4+Pj4+
Pg0KPiA+ID4+Pj4+Pj4+PiBBbHRob3VnaCB0aGUgUE1EIGFkZGVkIGRlbGF5IGFmdGVyIHNldHRp
bmcgZGF0YSBwYXRoIHBvaW50ZXJzIHRvIGNvdmVyDQo+ID4gPj4+Pj4+Pj4+IHRoZSBhYm92ZSBy
YWNlLWNvbmRpdGlvbiwgaXQgcmVkdWNlcyB0aGUgcHJvYmFiaWxpdHksIGJ1dCBpdCBkb2Vzbid0
DQo+ID4gPj4+Pj4+Pj4+IHNvbHZlIHRoZSBwcm9ibGVtLg0KPiA+ID4+Pj4+Pj4+Pg0KPiA+ID4+
Pj4+Pj4+PiBUbyBzb2x2ZSB0aGUgcmFjZS1jb25kaXRpb24gcHJvYmxlbSBmdW5kYW1lbnRhbGx5
LCB0aGUgZm9sbG93aW5nDQo+ID4gPj4+Pj4+Pj4+IHJlcXVpcmVtZW50cyBhcmUgYWRkZWQ6DQo+
ID4gPj4+Pj4+Pj4+IDEuIFRoZSBQTUQgc2hvdWxkIHNldCB0aGUgZGF0YSBwYXRoIHBvaW50ZXJz
IHRvIGR1bW15IGZ1bmN0aW9ucyBhZnRlcg0KPiA+ID4+Pj4+Pj4+PiAgICAgcmVwb3J0IFJURV9F
VEhfRVZFTlRfRVJSX1JFQ09WRVJJTkcgZXZlbnQuDQo+ID4gPj4+Pj4+Pj4+IDIuIFRoZSBhcHBs
aWNhdGlvbiBzaG91bGQgc3RvcCBkYXRhIHBhdGggQVBJIGludm9jYXRpb24gd2hlbiBwcm9jZXNz
DQo+ID4gPj4+Pj4+Pj4+ICAgICB0aGUgUlRFX0VUSF9FVkVOVF9FUlJfUkVDT1ZFUklORyBldmVu
dC4NCj4gPiA+Pj4+Pj4+Pj4gMy4gVGhlIFBNRCBzaG91bGQgc2V0IHRoZSBkYXRhIHBhdGggcG9p
bnRlcnMgdG8gdmFsaWQgZnVuY3Rpb25zIGJlZm9yZQ0KPiA+ID4+Pj4+Pj4+PiAgICAgcmVwb3J0
IFJURV9FVEhfRVZFTlRfUkVDT1ZFUllfU1VDQ0VTUyBldmVudC4NCj4gPiA+Pj4+Pj4+Pj4gNC4g
VGhlIGFwcGxpY2F0aW9uIHNob3VsZCBlbmFibGUgZGF0YSBwYXRoIEFQSSBpbnZvY2F0aW9uIHdo
ZW4gcHJvY2Vzcw0KPiA+ID4+Pj4+Pj4+PiAgICAgdGhlIFJURV9FVEhfRVZFTlRfUkVDT1ZFUllf
U1VDQ0VTUyBldmVudC4NCj4gPiA+Pj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+DQo+ID4gPj4+Pj4+PiBI
b3cgdGhpcyBpcyBzb2x2aW5nIHRoZSByYWNlLWNvbmRpdGlvbiwgYnkgcHVzaGluZyByZXNwb25z
aWJpbGl0eSB0bw0KPiA+ID4+Pj4+Pj4gc3RvcCBkYXRhIHBhdGggdG8gYXBwbGljYXRpb24/DQo+
ID4gPj4+Pj4+DQo+ID4gPj4+Pj4+IEV4YWN0bHksIGl0IGJlY29tZXMgYXBwbGljYXRpb24gcmVz
cG9uc2liaWxpdHkgdG8gbWFrZSBzdXJlIGRhdGEtcGF0aCBpcw0KPiA+ID4+Pj4+PiBzdG9wcGVk
L3N1c3BlbmRlZCBiZWZvcmUgcmVjb3Zlcnkgd2lsbCBjb250aW51ZS4NCj4gPiA+Pj4+Pj4NCj4g
PiA+Pj4+Pg0KPiA+ID4+Pj4+IEZyb20gZG9jdW1lbnRhdGlvbiBvZiB0aGUgZmVhdHVyZToNCj4g
PiA+Pj4+Pg0KPiA+ID4+Pj4+IGBgDQo+ID4gPj4+Pj4gQmVjYXVzZSB0aGUgUE1EIHJlY292ZXJz
IGF1dG9tYXRpY2FsbHksDQo+ID4gPj4+Pj4gdGhlIGFwcGxpY2F0aW9uIGNhbiBvbmx5IHNlbnNl
IHRoYXQgdGhlIGRhdGEgZmxvdyBpcyBkaXNjb25uZWN0ZWQgZm9yIGENCj4gPiA+Pj4+PiB3aGls
ZSBhbmQgdGhlIGNvbnRyb2wgQVBJIHJldHVybnMgYW4gZXJyb3IgaW4gdGhpcyBwZXJpb2QuDQo+
ID4gPj4+Pj4NCj4gPiA+Pj4+PiBJbiBvcmRlciB0byBzZW5zZSB0aGUgZXJyb3IgaGFwcGVuaW5n
L3JlY292ZXJpbmcsIGFzIHdlbGwgYXMgdG8gcmVzdG9yZQ0KPiA+ID4+Pj4+IHNvbWUgYWRkaXRp
b25hbCBjb25maWd1cmF0aW9uLCB0aHJlZSBldmVudHMgYXJlIGF2YWlsYWJsZToNCj4gPiA+Pj4+
PiBgYA0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4gSXQgbG9va3MgbGlrZSBpbml0aWFsIGRlc2lnbiBp
cyB0byB1c2UgZXZlbnRzIG1haW5seSBpbmZvcm0gYXBwbGljYXRpb24NCj4gPiA+Pj4+PiBhYm91
dCB3aGF0IGhhcHBlbmVkIGFuZCBtYWlubHkgZm9yIHJlLWNvbmZpZ3VyYXRpb24uDQo+ID4gPj4+
Pj4NCj4gPiA+Pj4+PiBBbHRob3VnaCBJIGFtIGRvbid0IGRpc2FncmVlIHRvIGludm9sdmUgdGhl
IGFwcGxpY2F0aW9uLCBJIGFtIG5vdCBzdXJlDQo+ID4gPj4+Pj4gdGhhdCBpcyBwYXJ0IG9mIGN1
cnJlbnQgZGVzaWduLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IEkgdGhvdWdodCB3ZSBhbGwgYWdyZWVk
IHRoYXQgaW5pdGlhbCBkZXNpZ24gY29udGFpbiBzb21lIGZhbGxhY2llcyB0aGF0DQo+ID4gPj4+
PiBuZWVkIHRvIGZpeGVkLCBubz8NCj4gPiA+Pj4+IFN0YXRlbWVudCB0aGF0IHdpdGggY3VycmVu
dCBydGVfZXRoZGV2IGRlc2lnbiBlcnJvciByZWNvdmVyeSBjYW4gYmUgZG9uZQ0KPiA+ID4+Pj4g
d2l0aG91dCBpbnRlcmFjdGlvbiB3aXRoIHRoZSBhcHAgKHRvIHN0b3Avc3VzcGVuZCBkYXRhL2Nv
bnRyb2wgcGF0aCkNCj4gPiA+Pj4+IGlzIHRoZSBtYWluIG9uZSBJIHRoaW5rLg0KPiA+ID4+Pj4g
SXQgbmVlZHMgc29tZSBpbnRlcmFjdGlvbiB3aXRoIGFwcCBsYXllciwgb25lIHdheSBvciBhbm90
aGVyLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+Pj4+DQo+ID4gPj4+Pj4+PiBXaGF0IGlmIGFwcGxpY2F0
aW9uIGlzIG5vdCBpbnRlcmVzdGVkIGluIHJlY292ZXJ5IG1vZGVzIGF0IGFsbCBhbmQgbm90DQo+
ID4gPj4+Pj4+PiByZWdpc3RlcmVkIGFueSBjYWxsYmFjayBmb3IgdGhlIHJlY292ZXJ5Pw0KPiA+
ID4+Pj4+Pg0KPiA+ID4+Pj4+Pg0KPiA+ID4+Pj4+PiBBcmUgeW91IHNheWluZyB0aGVyZSBpcyBu
byB3YXkgZm9yIGFwcGxpY2F0aW9uIHRvIGRpc2FibGUNCj4gPiA+Pj4+Pj4gYXV0b21hdGljIHJl
Y292ZXJ5IGluIFBNRCBpZiBpdCBpcyBub3QgaW50ZXJlc3RlZA0KPiA+ID4+Pj4+PiAob3IgY2Fu
J3QgZnVsbC1maWxsIHBlci1yZXF1ZXN0aWVzIGZvciBpdCk/DQo+ID4gPj4+Pj4+IElmIHNvLCB0
aGVuIHllcyBpdCBpcyBhIHByb2JsZW0gYW5kIHdlIG5lZWQgdG8gZml4IGl0Lg0KPiA+ID4+Pj4+
PiBJIGFzc3VtZWQgdGhhdCBzdWNoIG1lY2hhbmlzbSB0byBkaXNhYmxlIHVud2FudGVkIGV2ZW50
cyBhbHJlYWR5IGV4aXN0cywNCj4gPiA+Pj4+Pj4gYnV0IEkgY2FuJ3QgZmluZCBhbnl0aGluZy4N
Cj4gPiA+Pj4+Pj4gV29uZGVyIHdoYXQgd291bGQgYmUgdGhlIGVhc2llc3Qgd2F5IGhlcmUgLSBj
YW4gUE1EIG1ha2UgYSBkZWNpc2lvbg0KPiA+ID4+Pj4+PiBiYXNlZCBvbiBjYWxsYmFjayByZXR1
cm4gdmFsdWUsIG9yIGRvIHdlIG5lZWQgYSBuZXcgQVBJIHRvDQo+ID4gPj4+Pj4+IGVuYWJsZS9k
aXNhYmxlIGNhbGxiYWNrcywgb3IgLi4uPw0KPiA+ID4+Pj4+Pg0KPiA+ID4+Pj4+Pg0KPiA+ID4+
Pj4+DQo+ID4gPj4+Pj4gQXMgZmFyIGFzIEkgY2FuIHNlZSBhdXRvbWF0aWMgcmVjb3ZlcnkgaXMg
bm90IGNvbmZpZ3VyYWJsZSBieSBhcHAuDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBCdXQgdGhhdCBp
cyBub3QgYWxsLCBQTUQgc2VuZHMgZXZlbnRzIHRvIGFwcGxpY2F0aW9uIGJ1dCBQTUQgY2FuJ3Qg
a25vdw0KPiA+ID4+Pj4+IGlmIGFwcGxpY2F0aW9uIGlzIGhhbmRsaW5nIHRoZW0gb3Igbm90LCBz
byB3aXRoIGN1cnJlbnQgZGVzaWduIFBNRCBjYW4ndA0KPiA+ID4+Pj4+IHJlbHkgb24gdG8gYXBw
Lg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IFdlbGwsIFBNRCBpbnZva2VzIHVzZXIgcHJvdmlkZWQgY2Fs
bGJhY2suDQo+ID4gPj4+PiBPbmUgd2F5IHRvIGZpeCB0aGF0IHByb2JsZW0gLSBpZiB0aGVyZSBp
cyBubyBjYWxsYmFjayBwcm92aWRlZCwNCj4gPiA+Pj4+IG9yIGNhbGxiYWNrIHJldHVybnMgYW4g
ZXJyb3IgY29kZSAtIFBNRCBjYW4gYXNzdW1lIHRoYXQgcmVjb3ZlcnkNCj4gPiA+Pj4+IHNob3Vs
ZCBub3QgYmUgZG9uZS4NCj4gPiA+Pj4+IFRoYXQgaXMgcHJvYmFibHkgbm90IHRoZSBiZXN0IGRl
c2lnbiBjaG9pY2UsIGJ1dCBhdCBsZWFzdCBpdCB3aWxsIGFsbG93DQo+ID4gPj4+PiB0byBmaXgg
dGhlIHByb2JsZW0gd2l0aG91dCB0b28gbWFueSBjaGFuZ2VzIGFuZCBpbnRyb2R1Y2luZyBuZXcg
QVBJLg0KPiA+ID4+Pj4gVGhhdCBjb3VsZCBiZSBzb3J0IG9mIGEgJ3F1aWNrIGZpeCcuDQo+ID4g
Pj4+PiBJbiBhIG1lYW53aGlsZSB3ZSBjYW4gdGhpbmsgYWJvdXQgbmV3L2JldHRlciBhcHByb2Fj
aCBmb3IgdGhhdC4NCj4gPiA+Pj4+DQo+ID4gPj4+DQo+ID4gPj4+IC1yYzIgZm9yIDIzLjAzIGlz
IGEgZmV3IGRheXMgYXdheS4NCj4gPiA+Pj4NCj4gPiA+Pj4gV2hhdCBkbyB5b3UgdGhpbmsgdG8g
aGF2ZSAncXVpY2sgZml4JyBhcyBtb2RpZnlpbmcgaG93IGRyaXZlciB1cGRhdGVzDQo+ID4gPj4+
IGJ1cnN0IG9wcyB0byBwcmV2ZW50IHRoZSByYWNlIGNvbmRpdGlvbiwgZm9yIHRoaXMgcmVsZWFz
ZT8NCj4gPg0KPiA+IFRoZSAncXVpY2sgZml4JywgZG8geW91IG1lYW4gb25seSB1cGRhdGUgZnVu
Y3Rpb24gcG9pbnRlciAod2l0aG91dCByeHEgc2V0dGluZykgPw0KPiA+IEN1cnJlbnRseSB0aGUg
UE1EcyB3aGljaCBhbm5vdW5jZWQgc3VwcG9ydCAicHJvYWN0aXZlIGVycm9yIGhhbmRsaW5nIG1v
ZGUiIGFscmVhZHkNCj4gPiBkbyB0aGlzLg0KPiANCj4gUmVhbGx5IHNvcnJ5IGd1eXMsIEkgd2Fz
IHRvbyBmYXN0IG9uIHRoZSBrZXlib2FyZCwgYW5kIGRpZG4ndCByZWFkIHByb3Blcmx5IHdoYXQg
RmVycnVoIHN1Z2dlc3RlZC4NCj4gUmVhZGluZyBpdCBvbmNlIGFnYWluIC0gbm8gSSBkb24gbm90
IGFncmVlIHdpdGggdGhhdC4NCj4gSXQgd291bGRuJ3QgZml4IGFueXRoaW5nLCBidXQgd2lsbCBq
dXN0IGFkZCBleHRyYSBtZXNzIGludG8gdGhlIGNvZGUuDQo+IFNvcnJ5IGFnYWluIGZvciB0aGUg
d3JvbmcgcmVwbHkuDQo+IEtvbnN0YW50aW4NCj4gDQoNClRoaW5raW5nIGFib3V0ICdxdWljayBm
aXgnIG9uY2UgYWdhaW46IEkgdGhpbmsgdGhlIHBhdGNoZXMgRmVuZ2NoZW5nd2VuIGFscmVhZHkg
cHJvdmlkZWQ6DQpodHRwczovL3BhdGNod29yay5kcGRrLm9yZy9wcm9qZWN0L2RwZGsvbGlzdC8/
c2VyaWVzPTI3MjAxDQppcyBhIG11Y2ggYmV0dGVyIGFwcHJvYWNoLg0KSSBiZWxpZXZlIGl0IHNo
b3VsZCBzdG9wIHJhY2UgY29uZGl0aW9uIChhbmQgY3Jhc2hpbmcpIHdpdGggcHJvcGVybHkgd3Jp
dHRlbiBjYWxsYmFjay4NCklmIHdlIHN0aWxsIGhhdmUgdGltZSBmb3IgaXQsIEknZCBzdWdnZXN0
IG9uZSBleHRyYSBjaGFuZ2UgaW4gUE1EOg0KY2hlY2sgdGhhdCByZWNvdmVyeSBjYWxsYmFjayBp
cyBpbnN0YWxsZWQsIGlmIG5vdCBzaW1wbHkgbm90IHN0YXJ0IHJlY292ZXJ5IGF0IGFsbC4gIA0K
DQo+ID4NCj4gPiA+Pj4NCj4gPiA+Pj4gQW5kIHBsYW4gYSBkZXNpZ24gdXBkYXRlIGZvciB0aGUg
bmV4dCByZWxlYXNlPw0KPiA+ID4+ICsxIG9uIHRoZSBvdmVyYWxsIGFwcHJvYWNoLg0KPiA+ID4N
Cj4gPiA+IFllcCwgYWdyZWUuDQo+ID4NCj4gPiBIb3BlIGZvciBiZXR0ZXIgc29sdXRpb24uDQo+
ID4gQW5kIGFsc28sIEkgbm90aWNlIG9ubHkgdGhlIG9wZW52c3dpdGNoIChmcm9tIGFsbCBvcGVu
LXNvdXJjZSBzb2Z0d2FyZSB3aGljaCBiYXNlZC1vbiBEUERLKQ0KPiA+IHJlZ2lzdGVycyBSVEVf
RVRIX0VWRU5UX0lOVFJfUkVTRVQgY2FsbGJhY2sgLg0KPiA+DQo+ID4gVGhlcmVmb3JlLCBob3Bl
IHdlIGJ1aWxkIGEgcmVjb3ZlcnkgZnJhbWV3b3JrIGF0IHRoZSBEUERLIFNESyBsZXZlbCBhbmQg
YmUgY29tcGF0aWJsZQ0KPiA+IHdpdGggUlRFX0VUSF9FVkVOVF9JTlRSX1JFU0VUIGFuZCBSVEVf
RVRIX0VWRU5UX0VSUl9SRUNPVkVSSU5HIG1lY2hhbmlzbS4NCj4gPg0KPiA+ID4NCj4gPiA+Pg0K
PiA+ID4+Pg0KPiA+ID4+Pg0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4+PiBJIHRoaW5rIGRyaXZlciBz
aG91bGQgbm90IHJlbHkgb24gYXBwbGljYXRpb24gZm9yIHRoaXMsIHVubGVzcw0KPiA+ID4+Pj4+
Pj4gYXBwbGljYXRpb24gZXhwbGljaXRseSBzYXlzICh0byBkcml2ZXIpIHRoYXQgaXQgaXMgaGFu
ZGxpbmcgcmVjb3ZlcnksDQo+ID4gPj4+Pj4+PiByaWdodCBub3cgdGhlcmUgaXMgbm8gd2F5IGZv
ciBkcml2ZXIgdG8ga25vdyB0aGlzLg0KPiA+ID4+Pj4+Pg0KPiA+ID4+Pj4+PiBJIHRoaW5rIGl0
IGlzIHZpc2EtdmVyc2E6DQo+ID4gPj4+Pj4+IGFwcGxpY2F0aW9uIHNob3VsZCBub3QgZW5hYmxl
IGF1dG8tcmVjb3ZlcnkgaWYgaXQgY2FuJ3QgbWVldA0KPiA+ID4+Pj4+PiBwZXItcmVxdWVzdHN0
aWVzIGZvciBpdCAocHJvdmlkZSBhcHByb3ByaWF0ZSBjYWxsYmFjaykuDQo+ID4gPj4+Pj4+DQo+
ID4gPj4+Pj4NCj4gPiA+Pj4+PiBJIGFncmVlIG9uIGFib3ZlLCB3ZSBhcmUgc2F5aW5nIHNpbWls
YXIgdGhpbmcgaW4gZGlmZmVyZW50IHBlcnNwZWN0aXZlLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IE9r
LCB0aGF0J3MgZ29vZCB3ZSBhcmUgb24gdGhlIHNhbWUgcGFnZS4NCj4gPiA+Pj4+DQo+ID4gPj4+
Pg0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4+DQo+ID4gPj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4+PiBBbHNv
LCB0aGlzIHBhdGNoIGludHJvZHVjZSBhIGRyaXZlciBpbnRlcm5hbCBmdW5jdGlvbg0KPiA+ID4+
Pj4+Pj4+PiBydGVfZXRoX2ZwX29wc19zZXR1cCB3aGljaCB1c2VkIGFzIGFuIGhlbHAgZnVuY3Rp
b24gZm9yIFBNRC4NCj4gPiA+Pj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+Pj4gWzFdDQo+ID4gPj4+Pj4+
Pj4+IGh0dHA6Ly9wYXRjaHdvcmsuZHBkay5vcmcvcHJvamVjdC9kcGRrL3BhdGNoLzIwMjMwMjIw
MDYwODM5LjEyNjczNDktMi1hc2hvay5rLmthbGFkaUBpbnRlbC5jb20vDQo+ID4gPj4+Pj4+Pj4+
DQo+ID4gPj4+Pj4+Pj4+IEZpeGVzOiBlYjBkNDcxYTg5NDEgKCJldGhkZXY6IGFkZCBwcm9hY3Rp
dmUgZXJyb3IgaGFuZGxpbmcgbW9kZSIpDQo+ID4gPj4+Pj4+Pj4+IENjOiBzdGFibGVAZHBkay5v
cmcNCj4gPiA+Pj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQ2hlbmd3ZW4g
RmVuZyA8ZmVuZ2NoZW5nd2VuQGh1YXdlaS5jb20+DQo+ID4gPj4+Pj4+Pj4+IC0tLQ0KPiA+ID4+
Pj4+Pj4+PiAgIGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9wb2xsX21vZGVfZHJ2LnJzdCB8IDIwICsr
KysrKystLS0tLS0tLS0NCj4gPiA+Pj4+Pj4+Pj4gICBsaWIvZXRoZGV2L2V0aGRldl9kcml2ZXIu
YyAgICAgICAgICAgICAgfCAgOCArKysrKysrDQo+ID4gPj4+Pj4+Pj4+ICAgbGliL2V0aGRldi9l
dGhkZXZfZHJpdmVyLmggICAgICAgICAgICAgIHwgMTAgKysrKysrKysNCj4gPiA+Pj4+Pj4+Pj4g
ICBsaWIvZXRoZGV2L3J0ZV9ldGhkZXYuaCAgICAgICAgICAgICAgICAgfCAzMg0KPiA+ID4+Pj4+
Pj4+PiArKysrKysrKysrKysrKystLS0tLS0tLS0tDQo+ID4gPj4+Pj4+Pj4+ICAgbGliL2V0aGRl
di92ZXJzaW9uLm1hcCAgICAgICAgICAgICAgICAgIHwgIDEgKw0KPiA+ID4+Pj4+Pj4+PiAgIDUg
ZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pDQo+ID4gPj4+
Pj4+Pj4+DQo+ID4gPj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUv
cG9sbF9tb2RlX2Rydi5yc3QNCj4gPiA+Pj4+Pj4+Pj4gYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUv
cG9sbF9tb2RlX2Rydi5yc3QNCj4gPiA+Pj4+Pj4+Pj4gaW5kZXggYzE0NWE5MDY2Yy4uZTM4MGZm
MTM1YSAxMDA2NDQNCj4gPiA+Pj4+Pj4+Pj4gLS0tIGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3Bv
bGxfbW9kZV9kcnYucnN0DQo+ID4gPj4+Pj4+Pj4+ICsrKyBiL2RvYy9ndWlkZXMvcHJvZ19ndWlk
ZS9wb2xsX21vZGVfZHJ2LnJzdA0KPiA+ID4+Pj4+Pj4+PiBAQCAtNjM4LDE0ICs2MzgsOSBAQCBk
aWZmZXJlbnQgZnJvbSB0aGUgYXBwbGljYXRpb24gaW52b2tlcyByZWNvdmVyeQ0KPiA+ID4+Pj4+
Pj4+PiBpbiBQQVNTSVZFIG1vZGUsDQo+ID4gPj4+Pj4+Pj4+ICAgdGhlIFBNRCBhdXRvbWF0aWNh
bGx5IHJlY292ZXJzIGZyb20gZXJyb3IgaW4gUFJPQUNUSVZFIG1vZGUsDQo+ID4gPj4+Pj4+Pj4+
ICAgYW5kIG9ubHkgYSBzbWFsbCBhbW91bnQgb2Ygd29yayBpcyByZXF1aXJlZCBmb3IgdGhlIGFw
cGxpY2F0aW9uLg0KPiA+ID4+Pj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4+PiAtRHVyaW5nIGVycm9yIGRl
dGVjdGlvbiBhbmQgYXV0b21hdGljIHJlY292ZXJ5LA0KPiA+ID4+Pj4+Pj4+PiAtdGhlIFBNRCBz
ZXRzIHRoZSBkYXRhIHBhdGggcG9pbnRlcnMgdG8gZHVtbXkgZnVuY3Rpb25zDQo+ID4gPj4+Pj4+
Pj4+IC0od2hpY2ggd2lsbCBwcmV2ZW50IHRoZSBjcmFzaCksDQo+ID4gPj4+Pj4+Pj4+IC1hbmQg
YWxzbyBtYWtlIHN1cmUgdGhlIGNvbnRyb2wgcGF0aCBvcGVyYXRpb25zIGZhaWwgd2l0aCBhIHJl
dHVybg0KPiA+ID4+Pj4+Pj4+PiBjb2RlIGBgLUVCVVNZYGAuDQo+ID4gPj4+Pj4+Pj4+IC0NCj4g
PiA+Pj4+Pj4+Pj4gLUJlY2F1c2UgdGhlIFBNRCByZWNvdmVycyBhdXRvbWF0aWNhbGx5LA0KPiA+
ID4+Pj4+Pj4+PiAtdGhlIGFwcGxpY2F0aW9uIGNhbiBvbmx5IHNlbnNlIHRoYXQgdGhlIGRhdGEg
ZmxvdyBpcyBkaXNjb25uZWN0ZWQNCj4gPiA+Pj4+Pj4+Pj4gZm9yIGEgd2hpbGUNCj4gPiA+Pj4+
Pj4+Pj4gLWFuZCB0aGUgY29udHJvbCBBUEkgcmV0dXJucyBhbiBlcnJvciBpbiB0aGlzIHBlcmlv
ZC4NCj4gPiA+Pj4+Pj4+Pj4gK0R1cmluZyBlcnJvciBkZXRlY3Rpb24gYW5kIGF1dG9tYXRpYyBy
ZWNvdmVyeSwgdGhlIFBNRCBzZXRzIHRoZQ0KPiA+ID4+Pj4+Pj4+PiBkYXRhIHBhdGgNCj4gPiA+
Pj4+Pj4+Pj4gK3BvaW50ZXJzIHRvIGR1bW15IGZ1bmN0aW9ucyBhbmQgYWxzbyBtYWtlIHN1cmUg
dGhlIGNvbnRyb2wgcGF0aA0KPiA+ID4+Pj4+Pj4+PiBvcGVyYXRpb25zDQo+ID4gPj4+Pj4+Pj4+
ICtmYWlsZWQgd2l0aCBhIHJldHVybiBjb2RlIGBgLUVCVVNZYGAuDQo+ID4gPj4+Pj4+Pj4+DQo+
ID4gPj4+Pj4+Pj4+ICAgSW4gb3JkZXIgdG8gc2Vuc2UgdGhlIGVycm9yIGhhcHBlbmluZy9yZWNv
dmVyaW5nLA0KPiA+ID4+Pj4+Pj4+PiAgIGFzIHdlbGwgYXMgdG8gcmVzdG9yZSBzb21lIGFkZGl0
aW9uYWwgY29uZmlndXJhdGlvbiwNCj4gPiA+Pj4+Pj4+Pj4gQEAgLTY1Myw5ICs2NDgsOSBAQCB0
aHJlZSBldmVudHMgYXJlIGF2YWlsYWJsZToNCj4gPiA+Pj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+Pj4g
ICBgYFJURV9FVEhfRVZFTlRfRVJSX1JFQ09WRVJJTkdgYA0KPiA+ID4+Pj4+Pj4+PiAgICAgIE5v
dGlmeSB0aGUgYXBwbGljYXRpb24gdGhhdCBhbiBlcnJvciBpcyBkZXRlY3RlZA0KPiA+ID4+Pj4+
Pj4+PiAtICAgYW5kIHRoZSByZWNvdmVyeSBpcyBiZWluZyBzdGFydGVkLg0KPiA+ID4+Pj4+Pj4+
PiArICAgYW5kIHRoZSByZWNvdmVyeSBpcyBhYm91dCB0byBzdGFydC4NCj4gPiA+Pj4+Pj4+Pj4g
ICAgICBVcG9uIHJlY2VpdmluZyB0aGUgZXZlbnQsIHRoZSBhcHBsaWNhdGlvbiBzaG91bGQgbm90
IGludm9rZQ0KPiA+ID4+Pj4+Pj4+PiAtICAgYW55IGNvbnRyb2wgcGF0aCBmdW5jdGlvbiB1bnRp
bCByZWNlaXZpbmcNCj4gPiA+Pj4+Pj4+Pj4gKyAgIGFueSBjb250cm9sIGFuZCBkYXRhIHBhdGgg
QVBJIHVudGlsIHJlY2VpdmluZw0KPiA+ID4+Pj4+Pj4+PiAgICAgIGBgUlRFX0VUSF9FVkVOVF9S
RUNPVkVSWV9TVUNDRVNTYGAgb3INCj4gPiA+Pj4+Pj4+Pj4gYGBSVEVfRVRIX0VWRU5UX1JFQ09W
RVJZX0ZBSUxFRGBgIGV2ZW50Lg0KPiA+ID4+Pj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4+PiAgIC4uIG5v
dGU6Og0KPiA+ID4+Pj4+Pj4+PiBAQCAtNjY2LDggKzY2MSw5IEBAIHRocmVlIGV2ZW50cyBhcmUg
YXZhaWxhYmxlOg0KPiA+ID4+Pj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4+PiAgIGBgUlRFX0VUSF9FVkVO
VF9SRUNPVkVSWV9TVUNDRVNTYGANCj4gPiA+Pj4+Pj4+Pj4gICAgICBOb3RpZnkgdGhlIGFwcGxp
Y2F0aW9uIHRoYXQgdGhlIHJlY292ZXJ5IGZyb20gZXJyb3IgaXMgc3VjY2Vzc2Z1bCwNCj4gPiA+
Pj4+Pj4+Pj4gLSAgIHRoZSBQTUQgYWxyZWFkeSByZS1jb25maWd1cmVzIHRoZSBwb3J0LA0KPiA+
ID4+Pj4+Pj4+PiAtICAgYW5kIHRoZSBlZmZlY3QgaXMgdGhlIHNhbWUgYXMgYSByZXN0YXJ0IG9w
ZXJhdGlvbi4NCj4gPiA+Pj4+Pj4+Pj4gKyAgIHRoZSBQTUQgYWxyZWFkeSByZS1jb25maWd1cmVz
IHRoZSBwb3J0Lg0KPiA+ID4+Pj4+Pj4+PiArICAgVGhlIGFwcGxpY2F0aW9uIHNob3VsZCByZXN0
b3JlIHNvbWUgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uLA0KPiA+ID4+Pj4+Pj4+PiBhbmQgdGhl
bg0KPiA+ID4+Pj4+Pj4+PiArICAgZW5hYmxlIGRhdGEgcGF0aCBBUEkgaW52b2NhdGlvbi4NCj4g
PiA+Pj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+Pj4gICBgYFJURV9FVEhfRVZFTlRfUkVDT1ZFUllfRkFJ
TEVEYGANCj4gPiA+Pj4+Pj4+Pj4gICAgICBOb3RpZnkgdGhlIGFwcGxpY2F0aW9uIHRoYXQgdGhl
IHJlY292ZXJ5IGZyb20gZXJyb3IgZmFpbGVkLA0KPiA+ID4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEv
bGliL2V0aGRldi9ldGhkZXZfZHJpdmVyLmMgYi9saWIvZXRoZGV2L2V0aGRldl9kcml2ZXIuYw0K
PiA+ID4+Pj4+Pj4+PiBpbmRleCAwYmUxZThjYTA0Li5mOTk0NjUzZmU5IDEwMDY0NA0KPiA+ID4+
Pj4+Pj4+PiAtLS0gYS9saWIvZXRoZGV2L2V0aGRldl9kcml2ZXIuYw0KPiA+ID4+Pj4+Pj4+PiAr
KysgYi9saWIvZXRoZGV2L2V0aGRldl9kcml2ZXIuYw0KPiA+ID4+Pj4+Pj4+PiBAQCAtNTE1LDYg
KzUxNSwxNCBAQCBydGVfZXRoX2RtYV96b25lX2ZyZWUoY29uc3Qgc3RydWN0IHJ0ZV9ldGhfZGV2
DQo+ID4gPj4+Pj4+Pj4+ICpkZXYsIGNvbnN0IGNoYXIgKnJpbmdfbmFtZSwNCj4gPiA+Pj4+Pj4+
Pj4gICAgICAgcmV0dXJuIHJjOw0KPiA+ID4+Pj4+Pj4+PiAgIH0NCj4gPiA+Pj4+Pj4+Pj4NCj4g
PiA+Pj4+Pj4+Pj4gK3ZvaWQNCj4gPiA+Pj4+Pj4+Pj4gK3J0ZV9ldGhfZnBfb3BzX3NldHVwKHN0
cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiA+ID4+Pj4+Pj4+PiArew0KPiA+ID4+Pj4+Pj4+PiAr
ICAgIGlmIChkZXYgPT0gTlVMTCkNCj4gPiA+Pj4+Pj4+Pj4gKyAgICAgICAgcmV0dXJuOw0KPiA+
ID4+Pj4+Pj4+PiArICAgIGV0aF9kZXZfZnBfb3BzX3NldHVwKHJ0ZV9ldGhfZnBfb3BzICsgZGV2
LT5kYXRhLT5wb3J0X2lkLCBkZXYpOw0KPiA+ID4+Pj4+Pj4+PiArfQ0KPiA+ID4+Pj4+Pj4+PiAr
DQo+ID4gPj4+Pj4+Pj4+ICAgY29uc3Qgc3RydWN0IHJ0ZV9tZW16b25lICoNCj4gPiA+Pj4+Pj4+
Pj4gICBydGVfZXRoX2RtYV96b25lX3Jlc2VydmUoY29uc3Qgc3RydWN0IHJ0ZV9ldGhfZGV2ICpk
ZXYsIGNvbnN0IGNoYXINCj4gPiA+Pj4+Pj4+Pj4gKnJpbmdfbmFtZSwNCj4gPiA+Pj4+Pj4+Pj4g
ICAgICAgICAgICAgICAgdWludDE2X3QgcXVldWVfaWQsIHNpemVfdCBzaXplLCB1bnNpZ25lZCBp
bnQgYWxpZ24sDQo+ID4gPj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L2V0aGRldl9k
cml2ZXIuaCBiL2xpYi9ldGhkZXYvZXRoZGV2X2RyaXZlci5oDQo+ID4gPj4+Pj4+Pj4+IGluZGV4
IDJjOWQ2MTVmYjUuLjBkOTY0ZDFmNjcgMTAwNjQ0DQo+ID4gPj4+Pj4+Pj4+IC0tLSBhL2xpYi9l
dGhkZXYvZXRoZGV2X2RyaXZlci5oDQo+ID4gPj4+Pj4+Pj4+ICsrKyBiL2xpYi9ldGhkZXYvZXRo
ZGV2X2RyaXZlci5oDQo+ID4gPj4+Pj4+Pj4+IEBAIC0xNjIxLDYgKzE2MjEsMTYgQEAgaW50DQo+
ID4gPj4+Pj4+Pj4+ICAgcnRlX2V0aF9kbWFfem9uZV9mcmVlKGNvbnN0IHN0cnVjdCBydGVfZXRo
X2RldiAqZXRoX2RldiwgY29uc3QNCj4gPiA+Pj4+Pj4+Pj4gY2hhciAqbmFtZSwNCj4gPiA+Pj4+
Pj4+Pj4gICAgICAgICAgICB1aW50MTZfdCBxdWV1ZV9pZCk7DQo+ID4gPj4+Pj4+Pj4+DQo+ID4g
Pj4+Pj4+Pj4+ICsvKioNCj4gPiA+Pj4+Pj4+Pj4gKyAqIEBpbnRlcm5hbA0KPiA+ID4+Pj4+Pj4+
PiArICogU2V0dXAgZXRoIGZhc3QtcGF0aCBBUEkgdG8gZXRoZGV2IHZhbHVlcy4NCj4gPiA+Pj4+
Pj4+Pj4gKyAqDQo+ID4gPj4+Pj4+Pj4+ICsgKiBAcGFyYW0gZGV2DQo+ID4gPj4+Pj4+Pj4+ICsg
KiAgUG9pbnRlciB0byBzdHJ1Y3QgcnRlX2V0aF9kZXYuDQo+ID4gPj4+Pj4+Pj4+ICsgKi8NCj4g
PiA+Pj4+Pj4+Pj4gK19fcnRlX2ludGVybmFsDQo+ID4gPj4+Pj4+Pj4+ICt2b2lkIHJ0ZV9ldGhf
ZnBfb3BzX3NldHVwKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KTsNCj4gPiA+Pj4+Pj4+Pj4gKw0K
PiA+ID4+Pj4+Pj4+PiAgIC8qKg0KPiA+ID4+Pj4+Pj4+PiAgICAqIEBpbnRlcm5hbA0KPiA+ID4+
Pj4+Pj4+PiAgICAqIEF0b21pY2FsbHkgc2V0IHRoZSBsaW5rIHN0YXR1cyBmb3IgdGhlIHNwZWNp
ZmljIGRldmljZS4NCj4gPiA+Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2xpYi9ldGhkZXYvcnRlX2V0
aGRldi5oIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2LmgNCj4gPiA+Pj4+Pj4+Pj4gaW5kZXggMDQ5
NjQxZDU3Yy4uNDRlZTcyMjljMSAxMDA2NDQNCj4gPiA+Pj4+Pj4+Pj4gLS0tIGEvbGliL2V0aGRl
di9ydGVfZXRoZGV2LmgNCj4gPiA+Pj4+Pj4+Pj4gKysrIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2
LmgNCj4gPiA+Pj4+Pj4+Pj4gQEAgLTM5NDQsMjUgKzM5NDQsMjggQEAgZW51bSBydGVfZXRoX2V2
ZW50X3R5cGUgew0KPiA+ID4+Pj4+Pj4+PiAgICAgICAgKi8NCj4gPiA+Pj4+Pj4+Pj4gICAgICAg
UlRFX0VUSF9FVkVOVF9SWF9BVkFJTF9USFJFU0gsDQo+ID4gPj4+Pj4+Pj4+ICAgICAgIC8qKiBQ
b3J0IHJlY292ZXJpbmcgZnJvbSBhIGhhcmR3YXJlIG9yIGZpcm13YXJlIGVycm9yLg0KPiA+ID4+
Pj4+Pj4+PiAtICAgICAqIElmIFBNRCBzdXBwb3J0cyBwcm9hY3RpdmUgZXJyb3IgcmVjb3Zlcnks
DQo+ID4gPj4+Pj4+Pj4+IC0gICAgICogaXQgc2hvdWxkIHRyaWdnZXIgdGhpcyBldmVudCB0byBu
b3RpZnkgYXBwbGljYXRpb24NCj4gPiA+Pj4+Pj4+Pj4gLSAgICAgKiB0aGF0IGl0IGRldGVjdGVk
IGFuIGVycm9yIGFuZCB0aGUgcmVjb3ZlcnkgaXMgYmVpbmcgc3RhcnRlZC4NCj4gPiA+Pj4+Pj4+
Pj4gLSAgICAgKiBVcG9uIHJlY2VpdmluZyB0aGUgZXZlbnQsIHRoZSBhcHBsaWNhdGlvbiBzaG91
bGQgbm90IGludm9rZQ0KPiA+ID4+Pj4+Pj4+PiBhbnkgY29udHJvbCBwYXRoIEFQSQ0KPiA+ID4+
Pj4+Pj4+PiAtICAgICAqIChzdWNoIGFzIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZS9ydGVfZXRoX2Rl
dl9zdG9wLi4uKSB1bnRpbA0KPiA+ID4+Pj4+Pj4+PiByZWNlaXZpbmcNCj4gPiA+Pj4+Pj4+Pj4g
LSAgICAgKiBSVEVfRVRIX0VWRU5UX1JFQ09WRVJZX1NVQ0NFU1Mgb3INCj4gPiA+Pj4+Pj4+Pj4g
UlRFX0VUSF9FVkVOVF9SRUNPVkVSWV9GQUlMRUQgZXZlbnQuDQo+ID4gPj4+Pj4+Pj4+IC0gICAg
ICogVGhlIFBNRCB3aWxsIHNldCB0aGUgZGF0YSBwYXRoIHBvaW50ZXJzIHRvIGR1bW15IGZ1bmN0
aW9ucywNCj4gPiA+Pj4+Pj4+Pj4gLSAgICAgKiBhbmQgcmUtc2V0IHRoZSBkYXRhIHBhdGggcG9p
bnRlcnMgdG8gbm9uLWR1bW15IGZ1bmN0aW9ucw0KPiA+ID4+Pj4+Pj4+PiAtICAgICAqIGJlZm9y
ZSByZXBvcnRpbmcgUlRFX0VUSF9FVkVOVF9SRUNPVkVSWV9TVUNDRVNTIGV2ZW50Lg0KPiA+ID4+
Pj4+Pj4+PiAtICAgICAqIEl0IG1lYW5zIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGNhbm5vdCBzZW5k
IG9yIHJlY2VpdmUgYW55DQo+ID4gPj4+Pj4+Pj4+IHBhY2tldHMNCj4gPiA+Pj4+Pj4+Pj4gLSAg
ICAgKiBkdXJpbmcgdGhpcyBwZXJpb2QuDQo+ID4gPj4+Pj4+Pj4+ICsgICAgICoNCj4gPiA+Pj4+
Pj4+Pj4gKyAgICAgKiBJZiBQTUQgc3VwcG9ydHMgcHJvYWN0aXZlIGVycm9yIHJlY292ZXJ5LCBp
dCBzaG91bGQgdHJpZ2dlcg0KPiA+ID4+Pj4+Pj4+PiB0aGlzDQo+ID4gPj4+Pj4+Pj4+ICsgICAg
ICogZXZlbnQgdG8gbm90aWZ5IGFwcGxpY2F0aW9uIHRoYXQgaXQgZGV0ZWN0ZWQgYW4gZXJyb3Ig
YW5kIHRoZQ0KPiA+ID4+Pj4+Pj4+PiArICAgICAqIHJlY292ZXJ5IGlzIGFib3V0IHRvIHN0YXJ0
Lg0KPiA+ID4+Pj4+Pj4+PiArICAgICAqDQo+ID4gPj4+Pj4+Pj4+ICsgICAgICogVXBvbiByZWNl
aXZpbmcgdGhlIGV2ZW50LCB0aGUgYXBwbGljYXRpb24gc2hvdWxkIG5vdCBpbnZva2UgYW55DQo+
ID4gPj4+Pj4+Pj4+ICsgICAgICogY29udHJvbCBhbmQgZGF0YSBwYXRoIEFQSSB1bnRpbCByZWNl
aXZpbmcNCj4gPiA+Pj4+Pj4+Pj4gKyAgICAgKiBSVEVfRVRIX0VWRU5UX1JFQ09WRVJZX1NVQ0NF
U1Mgb3IgUlRFX0VUSF9FVkVOVF9SRUNPVkVSWV9GQUlMRUQNCj4gPiA+Pj4+Pj4+Pj4gKyAgICAg
KiBldmVudC4NCj4gPiA+Pj4+Pj4+Pj4gKyAgICAgKg0KPiA+ID4+Pj4+Pj4+PiArICAgICAqIE9u
Y2UgdGhpcyBldmVudCBpcyByZXBvcnRlZCwgdGhlIFBNRCB3aWxsIHNldCB0aGUgZGF0YSBwYXRo
DQo+ID4gPj4+Pj4+Pj4+IHBvaW50ZXJzDQo+ID4gPj4+Pj4+Pj4+ICsgICAgICogdG8gZHVtbXkg
ZnVuY3Rpb25zLCBhbmQgcmUtc2V0IHRoZSBkYXRhIHBhdGggcG9pbnRlcnMgdG8gdmFsaWQNCj4g
PiA+Pj4+Pj4+Pj4gKyAgICAgKiBmdW5jdGlvbnMgYmVmb3JlIHJlcG9ydGluZyBSVEVfRVRIX0VW
RU5UX1JFQ09WRVJZX1NVQ0NFU1MNCj4gPiA+Pj4+Pj4+Pj4gZXZlbnQuDQo+ID4gPj4+Pj4+Pj4+
ICsgICAgICoNCj4gPiA+Pj4+Pj4+Pj4gICAgICAgICogQG5vdGUgQmVmb3JlIHRoZSBQTUQgcmVw
b3J0cyB0aGUgcmVjb3ZlcnkgcmVzdWx0LA0KPiA+ID4+Pj4+Pj4+PiAgICAgICAgKiB0aGUgUE1E
IG1heSByZXBvcnQgdGhlIFJURV9FVEhfRVZFTlRfRVJSX1JFQ09WRVJJTkcgZXZlbnQNCj4gPiA+
Pj4+Pj4+Pj4gYWdhaW4sDQo+ID4gPj4+Pj4+Pj4+ICAgICAgICAqIGJlY2F1c2UgYSBsYXJnZXIg
ZXJyb3IgbWF5IG9jY3VyIGR1cmluZyB0aGUgcmVjb3ZlcnkuDQo+ID4gPj4+Pj4+Pj4+ICAgICAg
ICAqLw0KPiA+ID4+Pj4+Pj4+PiAgICAgICBSVEVfRVRIX0VWRU5UX0VSUl9SRUNPVkVSSU5HLA0K
PiA+ID4+Pj4+Pj4+PiAgICAgICAvKiogUG9ydCByZWNvdmVycyBzdWNjZXNzZnVsbHkgZnJvbSB0
aGUgZXJyb3IuDQo+ID4gPj4+Pj4+Pj4+IC0gICAgICogVGhlIFBNRCBhbHJlYWR5IHJlLWNvbmZp
Z3VyZWQgdGhlIHBvcnQsDQo+ID4gPj4+Pj4+Pj4+IC0gICAgICogYW5kIHRoZSBlZmZlY3QgaXMg
dGhlIHNhbWUgYXMgYSByZXN0YXJ0IG9wZXJhdGlvbi4NCj4gPiA+Pj4+Pj4+Pj4gKyAgICAgKg0K
PiA+ID4+Pj4+Pj4+PiArICAgICAqIFRoZSBQTUQgYWxyZWFkeSByZS1jb25maWd1cmVkIHRoZSBw
b3J0Og0KPiA+ID4+Pj4+Pj4+PiAgICAgICAgKiBhKSBUaGUgZm9sbG93aW5nIG9wZXJhdGlvbiB3
aWxsIGJlIHJldGFpbmVkOiAoYWxwaGFiZXRpY2FsbHkpDQo+ID4gPj4+Pj4+Pj4+ICAgICAgICAq
ICAgIC0gRENCIGNvbmZpZ3VyYXRpb24NCj4gPiA+Pj4+Pj4+Pj4gICAgICAgICogICAgLSBGRUMg
Y29uZmlndXJhdGlvbg0KPiA+ID4+Pj4+Pj4+PiBAQCAtMzk4OSw2ICszOTkyLDkgQEAgZW51bSBy
dGVfZXRoX2V2ZW50X3R5cGUgew0KPiA+ID4+Pj4+Pj4+PiAgICAgICAgKiAgICAgIChAc2VlIFJU
RV9FVEhfREVWX0NBUEFfRkxPV19TSEFSRURfT0JKRUNUX0tFRVApDQo+ID4gPj4+Pj4+Pj4+ICAg
ICAgICAqIGMpIEFueSBvdGhlciBjb25maWd1cmF0aW9uIHdpbGwgbm90IGJlIHN0b3JlZA0KPiA+
ID4+Pj4+Pj4+PiAgICAgICAgKiAgICBhbmQgd2lsbCBuZWVkIHRvIGJlIHJlLWNvbmZpZ3VyZWQu
DQo+ID4gPj4+Pj4+Pj4+ICsgICAgICoNCj4gPiA+Pj4+Pj4+Pj4gKyAgICAgKiBUaGUgYXBwbGlj
YXRpb24gc2hvdWxkIHJlc3RvcmUgc29tZSBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb24NCj4gPiA+
Pj4+Pj4+Pj4gKyAgICAgKiAoc2VlIGFib3ZlIGNhc2UgYi9jKSwgYW5kIHRoZW4gZW5hYmxlIGRh
dGEgcGF0aCBBUEkgaW52b2NhdGlvbi4NCj4gPiA+Pj4+Pj4+Pj4gICAgICAgICovDQo+ID4gPj4+
Pj4+Pj4+ICAgICAgIFJURV9FVEhfRVZFTlRfUkVDT1ZFUllfU1VDQ0VTUywNCj4gPiA+Pj4+Pj4+
Pj4gICAgICAgLyoqIFBvcnQgcmVjb3ZlcnkgZmFpbGVkLg0KPiA+ID4+Pj4+Pj4+PiBkaWZmIC0t
Z2l0IGEvbGliL2V0aGRldi92ZXJzaW9uLm1hcCBiL2xpYi9ldGhkZXYvdmVyc2lvbi5tYXANCj4g
PiA+Pj4+Pj4+Pj4gaW5kZXggMzU3ZDFhODhjMC4uYzI3M2UwYmRhZSAxMDA2NDQNCj4gPiA+Pj4+
Pj4+Pj4gLS0tIGEvbGliL2V0aGRldi92ZXJzaW9uLm1hcA0KPiA+ID4+Pj4+Pj4+PiArKysgYi9s
aWIvZXRoZGV2L3ZlcnNpb24ubWFwDQo+ID4gPj4+Pj4+Pj4+IEBAIC0zMjAsNiArMzIwLDcgQEAg
SU5URVJOQUwgew0KPiA+ID4+Pj4+Pj4+PiAgICAgICBydGVfZXRoX2RldmljZXM7DQo+ID4gPj4+
Pj4+Pj4+ICAgICAgIHJ0ZV9ldGhfZG1hX3pvbmVfZnJlZTsNCj4gPiA+Pj4+Pj4+Pj4gICAgICAg
cnRlX2V0aF9kbWFfem9uZV9yZXNlcnZlOw0KPiA+ID4+Pj4+Pj4+PiArICAgIHJ0ZV9ldGhfZnBf
b3BzX3NldHVwOw0KPiA+ID4+Pj4+Pj4+PiAgICAgICBydGVfZXRoX2hhaXJwaW5fcXVldWVfcGVl
cl9iaW5kOw0KPiA+ID4+Pj4+Pj4+PiAgICAgICBydGVfZXRoX2hhaXJwaW5fcXVldWVfcGVlcl91
bmJpbmQ7DQo+ID4gPj4+Pj4+Pj4+ICAgICAgIHJ0ZV9ldGhfaGFpcnBpbl9xdWV1ZV9wZWVyX3Vw
ZGF0ZTsNCj4gPiA+Pj4+Pj4+Pj4gLS0NCj4gPiA+Pj4+Pj4+PiAgIEFja2VkLWJ5OiBLb25zdGFu
dGluIEFuYW55ZXYgPGtvbnN0YW50aW4uYW5hbnlldkBodWF3ZWkuY29tPg0KPiA+ID4+Pj4+Pj4+
DQo+ID4gPj4+Pj4+Pj4+IDIuMTcuMQ0KPiA+ID4+Pj4+Pj4+DQo+ID4gPj4+Pj4+Pg0KPiA+ID4+
Pj4+Pg0KPiA+ID4+Pj4NCj4gPiA+Pj4NCg==