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 27362A328D
	for <public@inbox.dpdk.org>; Tue, 22 Oct 2019 11:37:04 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 006A81BE82;
	Tue, 22 Oct 2019 11:37:03 +0200 (CEST)
Received: from mga06.intel.com (mga06.intel.com [134.134.136.31])
 by dpdk.org (Postfix) with ESMTP id 2F0664C9D
 for <dev@dpdk.org>; Tue, 22 Oct 2019 11:37:02 +0200 (CEST)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga008.jf.intel.com ([10.7.209.65])
 by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 22 Oct 2019 02:37:01 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.67,326,1566889200"; d="scan'208";a="191407231"
Received: from irsmsx109.ger.corp.intel.com ([163.33.3.23])
 by orsmga008.jf.intel.com with ESMTP; 22 Oct 2019 02:36:58 -0700
Received: from irsmsx111.ger.corp.intel.com (10.108.20.4) by
 IRSMSX109.ger.corp.intel.com (163.33.3.23) with Microsoft SMTP Server (TLS)
 id 14.3.439.0; Tue, 22 Oct 2019 10:36:57 +0100
Received: from irsmsx104.ger.corp.intel.com ([169.254.5.252]) by
 irsmsx111.ger.corp.intel.com ([169.254.2.123]) with mapi id 14.03.0439.000;
 Tue, 22 Oct 2019 10:36:57 +0100
From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: David Marchand <david.marchand@redhat.com>, Gavin Hu <gavin.hu@arm.com>
CC: dev <dev@dpdk.org>, nd <nd@arm.com>, Thomas Monjalon
 <thomas@monjalon.net>, Stephen Hemminger <stephen@networkplumber.org>, Hemant
 Agrawal <hemant.agrawal@nxp.com>, Jerin Jacob Kollanukkaran
 <jerinj@marvell.com>, Pavan Nikhilesh <pbhagavatula@marvell.com>, "Honnappa
 Nagarahalli" <Honnappa.Nagarahalli@arm.com>, "Ruifeng Wang (Arm Technology
 China)" <ruifeng.wang@arm.com>, Phil Yang <phil.yang@arm.com>, Steve Capper
 <steve.capper@arm.com>
Thread-Topic: [dpdk-dev] [PATCH v8 2/6] eal: add the APIs to wait until equal
Thread-Index: AQHVh/TfoilnXxemWkG5fqMNF23LVqdlaCaAgAD3g2A=
Date: Tue, 22 Oct 2019 09:36:56 +0000
Message-ID: <2601191342CEEE43887BDE71AB97725801A8C6DDF9@IRSMSX104.ger.corp.intel.com>
References: <1561911676-37718-1-git-send-email-gavin.hu@arm.com>
 <1571651279-51857-1-git-send-email-gavin.hu@arm.com>
 <1571651279-51857-3-git-send-email-gavin.hu@arm.com>
 <CAJFAV8xeMY=4oMt0DJg9fyuceLzFJwitW37PeLc53nGxiWj6vA@mail.gmail.com>
In-Reply-To: <CAJFAV8xeMY=4oMt0DJg9fyuceLzFJwitW37PeLc53nGxiWj6vA@mail.gmail.com>
Accept-Language: en-IE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNWUxOTE3ODctZDFhYy00OWY2LTkwN2UtNjVkMjAyMWE2ZTJkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiWUZWRVBhb2h3cmhZYkpyYUxPQ3lEVEx1ZFhvUG9LaFZ2MnF4UnhDRWI4V1wvM0dYb0FTSG13SDcrbDZEK3oyQ1QifQ==
x-ctpclassification: CTP_NT
dlp-product: dlpe-windows
dlp-version: 11.2.0.6
dlp-reaction: no-action
x-originating-ip: [163.33.239.180]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [dpdk-dev] [PATCH v8 2/6] eal: add the APIs to wait until equal
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>

PiA+IFRoZSBydGVfd2FpdF91bnRpbF9lcXVhbF94eCBBUElzIGFic3RyYWN0IHRoZSBmdW5jdGlv
bmFsaXR5IG9mDQo+ID4gJ3BvbGxpbmcgZm9yIGEgbWVtb3J5IGxvY2F0aW9uIHRvIGJlY29tZSBl
cXVhbCB0byBhIGdpdmVuIHZhbHVlJy4NCj4gPg0KPiA+IEFkZCB0aGUgUlRFX0FSTV9VU0VfV0ZF
IGNvbmZpZ3VyYXRpb24gZW50cnkgZm9yIGFhcmNoNjQsIGRpc2FibGVkDQo+ID4gYnkgZGVmYXVs
dC4gV2hlbiBpdCBpcyBlbmFibGVkLCB0aGUgYWJvdmUgQVBJcyB3aWxsIGNhbGwgV0ZFIGluc3Ry
dWN0aW9uDQo+ID4gdG8gc2F2ZSBDUFUgY3ljbGVzIGFuZCBwb3dlci4NCj4gPg0KPiA+IEZyb20g
YSBWTSwgd2hlbiBjYWxsaW5nIHRoaXMgQVBJIG9uIGFhcmNoNjQsIGl0IG1heSB0cmFwIGluIGFu
ZCBvdXQgdG8NCj4gPiByZWxlYXNlIHZDUFVzIHdoZXJlYXMgY2F1c2UgaGlnaCBleGl0IGxhdGVu
Y3kuIFNpbmNlIGtlcm5lbCA0LjE4LjIwIGFuDQo+ID4gYWRhcHRpdmUgdHJhcHBpbmcgbWVjaGFu
aXNtIGlzIGludHJvZHVjZWQgdG8gYmFsYW5jZSB0aGUgbGF0ZW5jeSBhbmQNCj4gPiB3b3JrbG9h
ZC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEdhdmluIEh1IDxnYXZpbi5odUBhcm0uY29tPg0K
PiA+IFJldmlld2VkLWJ5OiBSdWlmZW5nIFdhbmcgPHJ1aWZlbmcud2FuZ0Bhcm0uY29tPg0KPiA+
IFJldmlld2VkLWJ5OiBTdGV2ZSBDYXBwZXIgPHN0ZXZlLmNhcHBlckBhcm0uY29tPg0KPiA+IFJl
dmlld2VkLWJ5OiBPbGEgTGlsamVkYWhsIDxvbGEubGlsamVkYWhsQGFybS5jb20+DQo+ID4gUmV2
aWV3ZWQtYnk6IEhvbm5hcHBhIE5hZ2FyYWhhbGxpIDxob25uYXBwYS5uYWdhcmFoYWxsaUBhcm0u
Y29tPg0KPiA+IFJldmlld2VkLWJ5OiBQaGlsIFlhbmcgPHBoaWwueWFuZ0Bhcm0uY29tPg0KPiA+
IEFja2VkLWJ5OiBQYXZhbiBOaWtoaWxlc2ggPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT4NCj4g
PiBBY2tlZC1ieTogSmVyaW4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT4NCj4gPiAtLS0NCj4g
PiAgY29uZmlnL2FybS9tZXNvbi5idWlsZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
MSArDQo+ID4gIGNvbmZpZy9jb21tb25fYmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgIDUgKysNCj4gPiAgLi4uL2NvbW1vbi9pbmNsdWRlL2FyY2gvYXJtL3J0ZV9wYXVzZV82
NC5oICAgICAgICAgfCAyNiArKysrKysNCj4gPiAgbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1
ZGUvZ2VuZXJpYy9ydGVfcGF1c2UuaCAgfCA5MyArKysrKysrKysrKysrKysrKysrKysrDQo+ID4g
IDQgZmlsZXMgY2hhbmdlZCwgMTI1IGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRpZmYgLS1naXQg
YS9jb25maWcvYXJtL21lc29uLmJ1aWxkIGIvY29uZmlnL2FybS9tZXNvbi5idWlsZA0KPiA+IGlu
ZGV4IDk3OTAxOGUuLmI0YjRjYWMgMTAwNjQ0DQo+ID4gLS0tIGEvY29uZmlnL2FybS9tZXNvbi5i
dWlsZA0KPiA+ICsrKyBiL2NvbmZpZy9hcm0vbWVzb24uYnVpbGQNCj4gPiBAQCAtMjYsNiArMjYs
NyBAQCBmbGFnc19jb21tb25fZGVmYXVsdCA9IFsNCj4gPiAgICAgICAgIFsnUlRFX0xJQlJURV9B
VlBfUE1EJywgZmFsc2VdLA0KPiA+DQo+ID4gICAgICAgICBbJ1JURV9TQ0hFRF9WRUNUT1InLCBm
YWxzZV0sDQo+ID4gKyAgICAgICBbJ1JURV9BUk1fVVNFX1dGRScsIGZhbHNlXSwNCj4gPiAgXQ0K
PiA+DQo+ID4gIGZsYWdzX2dlbmVyaWMgPSBbDQo+ID4gZGlmZiAtLWdpdCBhL2NvbmZpZy9jb21t
b25fYmFzZSBiL2NvbmZpZy9jb21tb25fYmFzZQ0KPiA+IGluZGV4IGU4NDNhMjEuLmM4MTIxNTYg
MTAwNjQ0DQo+ID4gLS0tIGEvY29uZmlnL2NvbW1vbl9iYXNlDQo+ID4gKysrIGIvY29uZmlnL2Nv
bW1vbl9iYXNlDQo+ID4gQEAgLTExMSw2ICsxMTEsMTEgQEAgQ09ORklHX1JURV9NQVhfVkZJT19D
T05UQUlORVJTPTY0DQo+ID4gIENPTkZJR19SVEVfTUFMTE9DX0RFQlVHPW4NCj4gPiAgQ09ORklH
X1JURV9FQUxfTlVNQV9BV0FSRV9IVUdFUEFHRVM9bg0KPiA+ICBDT05GSUdfUlRFX1VTRV9MSUJC
U0Q9bg0KPiA+ICsjIFVzZSBXRkUgaW5zdHJ1Y3Rpb25zIHRvIGltcGxlbWVudCB0aGUgcnRlX3dh
aXRfZm9yX2VxdWFsX3h4eCBBUElzLA0KPiA+ICsjIGNhbGxpbmcgdGhlc2UgQVBJcyBwdXQgdGhl
IGNvcmVzIGluIGxvdyBwb3dlciBzdGF0ZSB3aGlsZSB3YWl0aW5nDQo+ID4gKyMgZm9yIHRoZSBt
ZW1vcnkgYWRkcmVzcyB0byBiZWNvbWUgZXF1YWwgdG8gdGhlIGV4cGVjdGVkIHZhbHVlLg0KPiA+
ICsjIFRoaXMgaXMgc3VwcG9ydGVkIG9ubHkgYnkgYWFyY2g2NC4NCj4gPiArQ09ORklHX1JURV9B
Uk1fVVNFX1dGRT1uDQo+ID4NCj4gPiAgIw0KPiA+ICAjIFJlY29nbml6ZS9pZ25vcmUgdGhlIEFW
WC9BVlg1MTIgQ1BVIGZsYWdzIGZvciBwZXJmb3JtYW5jZS9wb3dlciB0ZXN0aW5nLg0KPiA+IGRp
ZmYgLS1naXQgYS9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL2FybS9ydGVfcGF1
c2VfNjQuaCBiL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gvYXJtL3J0ZV9wYXVz
ZV82NC5oDQo+ID4gaW5kZXggOTM4OTVkMy4uZWI4ZjczZSAxMDA2NDQNCj4gPiAtLS0gYS9saWIv
bGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL2FybS9ydGVfcGF1c2VfNjQuaA0KPiA+ICsr
KyBiL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gvYXJtL3J0ZV9wYXVzZV82NC5o
DQo+ID4gQEAgLTEsNSArMSw2IEBADQo+ID4gIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC
U0QtMy1DbGF1c2UNCj4gPiAgICogQ29weXJpZ2h0KGMpIDIwMTcgQ2F2aXVtLCBJbmMNCj4gPiAr
ICogQ29weXJpZ2h0KGMpIDIwMTkgQXJtIExpbWl0ZWQNCj4gPiAgICovDQo+IA0KPiBCZWZvcmUg
aW5jbHVkaW5nIGdlbmVyaWMvcnRlX3BhdXNlLmgsIHB1dCBhIGNoZWNrIGxpa2U6DQo+IA0KPiAj
aWZkZWYgUlRFX0FSTV9VU0VfV0ZFDQo+ICNkZWZpbmUgUlRFX0FSQ0hfSEFTX1dGRQ0KPiAjZW5k
aWYNCj4gDQo+ICNpbmNsdWRlICJnZW5lcmljL3J0ZV9wYXVzZS5oIg0KPiANCj4gPg0KPiA+ICAj
aWZuZGVmIF9SVEVfUEFVU0VfQVJNNjRfSF8NCj4gPiBAQCAtMTcsNiArMTgsMzEgQEAgc3RhdGlj
IGlubGluZSB2b2lkIHJ0ZV9wYXVzZSh2b2lkKQ0KPiA+ICAgICAgICAgYXNtIHZvbGF0aWxlKCJ5
aWVsZCIgOjo6ICJtZW1vcnkiKTsNCj4gPiAgfQ0KPiA+DQo+ID4gKyNpZmRlZiBSVEVfQVJNX1VT
RV9XRkUNCj4gPiArI2RlZmluZSBzZXYoKSAgeyBhc20gdm9sYXRpbGUoInNldiIgOiA6IDogIm1l
bW9yeSIpIH0NCj4gPiArI2RlZmluZSB3ZmUoKSAgeyBhc20gdm9sYXRpbGUoIndmZSIgOiA6IDog
Im1lbW9yeSIpIH0NCj4gPiArDQo+ID4gKyNkZWZpbmUgX19XQUlUX1VOVElMX0VRVUFMKHR5cGUs
IHNpemUsIGFkZHIsIGV4cGVjdGVkLCBtZW1vcmRlcikgXA0KPiA+ICtfX3J0ZV9leHBlcmltZW50
YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+IA0KPiBU
aGUgZXhwZXJpbWVudGFsIHRhZyBpcyB1bm5lY2Vzc2FyeSBoZXJlLg0KPiBXZSBvbmx5IG5lZWQg
aXQgaW4gdGhlIGZ1bmN0aW9uIHByb3RvdHlwZSAoaW4gdGhlIGdlbmVyaWMgaGVhZGVyKS4NCj4g
DQo+ID4gK3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ICtydGVfd2FpdF91bnRpbF9lcXVhbF8jI3NpemUo
dm9sYXRpbGUgdHlwZSAqIGFkZHIsIHR5cGUgZXhwZWN0ZWQsXA0KPiA+ICtpbnQgbWVtb3JkZXIp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4g
K3sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwNCj4gPiArICAgICAgIGlmIChfX2F0b21pY19sb2FkX24oYWRkciwgbWVtb3JkZXIp
ICE9IGV4cGVjdGVkKSB7ICAgICAgXA0KPiA+ICsgICAgICAgICAgICAgICBzZXYoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiArICAgICAg
ICAgICAgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgd2ZlKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ICsgICAgICAgICAgICAgICB9IHdo
aWxlIChfX2F0b21pY19sb2FkX24oYWRkciwgbWVtb3JkZXIpICE9IGV4cGVjdGVkKTsgIFwNCj4g
PiArICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcDQo+ID4gK30NCj4gPiArX19XQUlUX1VOVElMX0VRVUFMKHVpbnQx
Nl90LCAxNiwgYWRkciwgZXhwZWN0ZWQsIG1lbW9yZGVyKQ0KPiA+ICtfX1dBSVRfVU5USUxfRVFV
QUwodWludDMyX3QsIDMyLCBhZGRyLCBleHBlY3RlZCwgbWVtb3JkZXIpDQo+ID4gK19fV0FJVF9V
TlRJTF9FUVVBTCh1aW50NjRfdCwgNjQsIGFkZHIsIGV4cGVjdGVkLCBtZW1vcmRlcikNCj4gPiAr
DQo+ID4gKyN1bmRlZiBfX1dBSVRfVU5USUxfRVFVQUwNCg0KTWlnaHQgYmUgaW5zdGVhZCBvZiBk
ZWZpbmluZy91bmRlZmluaW5nIHRoZXNlIG1hY3JvcywganVzdA0KZGVmaW5lIGV4cGxpY2l0bHkg
dGhlc2UgMyBmdW5jdGlvbnM/DQpOb3cgdGhleSBhcmUgcmVhbGx5IHNtYWxsLCBzbyBJIHRoaW5r
IGl0IHdvdWxkIGJlIGFuIGVhc2llci9jbGVhbmVyIHdheS4NClllcywgYSBiaXQgb2YgY29kZSBk
dXBsaWNhdGlvbiwgYnV0IGFzIEkgc2FpZCB0aGV5IGFyZSByZWFsbHkgc21hbGwgbm93Lg0KU2Ft
ZSB0aG91Z2h0IGFib3V0IGdlbmVyaWMgdmVyc2lvbi4NCg0KPiANCj4gTWlzc2luZyAjdW5kZWYg
b24gc2V2IGFuZCB3ZmUgbWFjcm9zLg0KDQpBY3R1YWxseSBzaG91bGQgd2UgdW5kZWZpbmUgdGhl
bT8NCk9yIHNob3VsZCB3ZSBhZGQgcnRlXyBwcmVmaXggKHdoaWNoIGlzIG5lZWRlZCBhbnl3YXkg
SSBzdXBwb3NlKQ0KYW5kIGhhdmUgdGhlbSBhbHdheXMgZGVmaW5lZD8NCk1pZ2h0IGJlIHlvdSBj
YW4gcmV1c2UgdGhlbSBpbiBvdGhlciBhcm0gc3BlY2lmaWMgcGxhY2VzIHRvbyAoc3BpbmxvY2ss
IHJ3bG9jaywgZXRjLikNCkFjdHVhbGx5IHByb2JhYmx5IGl0IGlzIHBvc3NpYmxlIHRvIG1ha2Ug
dGhlbSBlaXRoZXIgZW1pdGluZyBhIHByb3BlciBpbnN0cnVjdGlvbnMgb3IgTk9QLA0KdGhlbiB5
b3UnbGwgbmVlZCBSVEVfQVJNX1VTRV9XRkUgb25seSBhcm91bmQgdGhlc2UgbWFjcm9zLg0KDQpJ
LkUNCg0KI2lmZGVmIFJURV9BUk1fVVNFX1dGRQ0KI2RlZmluZSBydGVfc2V2KCkgIHsgYXNtIHZv
bGF0aWxlKCJzZXYiIDogOiA6ICJtZW1vcnkiKSB9DQojZGVmaW5lIHJ0ZV93ZmUoKSAgeyBhc20g
dm9sYXRpbGUoIndmZSIgOiA6IDogIm1lbW9yeSIpIH0NCiNlbHNlDQpzdGF0aWMgaW5saW5lIHZv
aWQgcnRlX3Nldih2b2lkKQ0Kew0KfQ0Kc3RhdGljIGlubGluZSB2b2lkIHJ0ZV93ZmUodm9pZCkN
CnsNCglydGVfcGF1c2UoKTsNCn0NCiNlbmRpZg0KDQpBbmQgdGhlbiBqdXN0IG9uZSBjb21tb24g
dmVyc2lvbiBvZiBfd2FpdF8gZnVuY3Rpb3M6DQoNCnN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5l
IHZvaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KcnRlX3dhaXRf
dW50aWxfZXF1YWxfMzIodm9sYXRpbGUgdHlwZSAqIGFkZHIsIHR5cGUgZXhwZWN0ZWQsIGludCBt
ZW1vcmRlcikNCnsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwNCglpZiAoX19hdG9taWNfbG9hZF9uKGFkZHIsIG1lbW9yZGVyKSAh
PSBleHBlY3RlZCkgeyAgICANCgkJcnRlX3NldigpOw0KCQlkbyB7DQoJICAgICAgICAgICAgICAg
ICAgICAgICBydGVfd2ZlKCk7DQoJICAgICAgICAgICAgICB9IHdoaWxlIChfX2F0b21pY19sb2Fk
X24oYWRkciwgbWVtb3JkZXIpICE9IGV4cGVjdGVkKTsNCgkgIH0gDQp9DQogDQoNCj4gDQo+IA0K
PiA+ICsNCj4gPiArI2VuZGlmIC8qIFJURV9BUk1fVVNFX1dGRSAqLw0KPiA+ICsNCj4gPiAgI2lm
ZGVmIF9fY3BsdXNwbHVzDQo+ID4gIH0NCj4gPiAgI2VuZGlmDQo+ID4gZGlmZiAtLWdpdCBhL2xp
Yi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2dlbmVyaWMvcnRlX3BhdXNlLmggYi9saWIvbGli
cnRlX2VhbC9jb21tb24vaW5jbHVkZS9nZW5lcmljL3J0ZV9wYXVzZS5oDQo+ID4gaW5kZXggNTJi
ZDRkYi4uODA1OTdhOSAxMDA2NDQNCj4gPiAtLS0gYS9saWIvbGlicnRlX2VhbC9jb21tb24vaW5j
bHVkZS9nZW5lcmljL3J0ZV9wYXVzZS5oDQo+ID4gKysrIGIvbGliL2xpYnJ0ZV9lYWwvY29tbW9u
L2luY2x1ZGUvZ2VuZXJpYy9ydGVfcGF1c2UuaA0KPiA+IEBAIC0xLDUgKzEsNiBAQA0KPiA+ICAv
KiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+ID4gICAqIENvcHlyaWdo
dChjKSAyMDE3IENhdml1bSwgSW5jDQo+ID4gKyAqIENvcHlyaWdodChjKSAyMDE5IEFybSBMaW1p
dGVkDQo+ID4gICAqLw0KPiA+DQo+ID4gICNpZm5kZWYgX1JURV9QQVVTRV9IXw0KPiA+IEBAIC0x
Miw2ICsxMywxMSBAQA0KPiA+ICAgKg0KPiA+ICAgKi8NCj4gPg0KPiA+ICsjaW5jbHVkZSA8c3Rk
aW50Lmg+DQo+ID4gKyNpbmNsdWRlIDxydGVfY29tbW9uLmg+DQo+ID4gKyNpbmNsdWRlIDxydGVf
YXRvbWljLmg+DQo+ID4gKyNpbmNsdWRlIDxydGVfY29tcGF0Lmg+DQo+ID4gKw0KPiA+ICAvKioN
Cj4gPiAgICogUGF1c2UgQ1BVIGV4ZWN1dGlvbiBmb3IgYSBzaG9ydCB3aGlsZQ0KPiA+ICAgKg0K
PiA+IEBAIC0yMCw0ICsyNiw5MSBAQA0KPiA+ICAgKi8NCj4gPiAgc3RhdGljIGlubGluZSB2b2lk
IHJ0ZV9wYXVzZSh2b2lkKTsNCj4gPg0KPiA+ICsvKioNCj4gPiArICogQHdhcm5pbmcNCj4gPiAr
ICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlLCBvciBiZSByZW1vdmVkLCB3
aXRob3V0IHByaW9yIG5vdGljZQ0KPiA+ICsgKg0KPiA+ICsgKiBXYWl0IGZvciAqYWRkciB0byBi
ZSB1cGRhdGVkIHdpdGggYSAxNi1iaXQgZXhwZWN0ZWQgdmFsdWUsIHdpdGggYSByZWxheGVkDQo+
ID4gKyAqIG1lbW9yeSBvcmRlcmluZyBtb2RlbCBtZWFuaW5nIHRoZSBsb2FkcyBhcm91bmQgdGhp
cyBBUEkgY2FuIGJlIHJlb3JkZXJlZC4NCj4gPiArICoNCj4gPiArICogQHBhcmFtIGFkZHINCj4g
PiArICogIEEgcG9pbnRlciB0byB0aGUgbWVtb3J5IGxvY2F0aW9uLg0KPiA+ICsgKiBAcGFyYW0g
ZXhwZWN0ZWQNCj4gPiArICogIEEgMTYtYml0IGV4cGVjdGVkIHZhbHVlIHRvIGJlIGluIHRoZSBt
ZW1vcnkgbG9jYXRpb24uDQo+ID4gKyAqIEBwYXJhbSBtZW1vcmRlcg0KPiA+ICsgKiAgVHdvIGRp
ZmZlcmVudCBtZW1vcnkgb3JkZXJzIHRoYXQgY2FuIGJlIHNwZWNpZmllZDoNCj4gPiArICogIF9f
QVRPTUlDX0FDUVVJUkUgYW5kIF9fQVRPTUlDX1JFTEFYRUQuIFRoZXNlIG1hcCB0bw0KPiA+ICsg
KiAgQysrMTEgbWVtb3J5IG9yZGVycyB3aXRoIHRoZSBzYW1lIG5hbWVzLCBzZWUgdGhlIEMrKzEx
IHN0YW5kYXJkIG9yDQo+ID4gKyAqICB0aGUgR0NDIHdpa2kgb24gYXRvbWljIHN5bmNocm9uaXph
dGlvbiBmb3IgZGV0YWlsZWQgZGVmaW5pdGlvbi4NCj4gPiArICovDQo+ID4gK19fcnRlX2V4cGVy
aW1lbnRhbA0KPiA+ICtzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSB2b2lkDQo+ID4gK3J0ZV93
YWl0X3VudGlsX2VxdWFsXzE2KHZvbGF0aWxlIHVpbnQxNl90ICphZGRyLCB1aW50MTZfdCBleHBl
Y3RlZCwNCj4gPiAraW50IG1lbW9yZGVyKTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBAd2Fy
bmluZw0KPiA+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2UsIG9yIGJl
IHJlbW92ZWQsIHdpdGhvdXQgcHJpb3Igbm90aWNlDQo+ID4gKyAqDQo+ID4gKyAqIFdhaXQgZm9y
ICphZGRyIHRvIGJlIHVwZGF0ZWQgd2l0aCBhIDMyLWJpdCBleHBlY3RlZCB2YWx1ZSwgd2l0aCBh
IHJlbGF4ZWQNCj4gPiArICogbWVtb3J5IG9yZGVyaW5nIG1vZGVsIG1lYW5pbmcgdGhlIGxvYWRz
IGFyb3VuZCB0aGlzIEFQSSBjYW4gYmUgcmVvcmRlcmVkLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFy
YW0gYWRkcg0KPiA+ICsgKiAgQSBwb2ludGVyIHRvIHRoZSBtZW1vcnkgbG9jYXRpb24uDQo+ID4g
KyAqIEBwYXJhbSBleHBlY3RlZA0KPiA+ICsgKiAgQSAzMi1iaXQgZXhwZWN0ZWQgdmFsdWUgdG8g
YmUgaW4gdGhlIG1lbW9yeSBsb2NhdGlvbi4NCj4gPiArICogQHBhcmFtIG1lbW9yZGVyDQo+ID4g
KyAqICBUd28gZGlmZmVyZW50IG1lbW9yeSBvcmRlcnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkOg0K
PiA+ICsgKiAgX19BVE9NSUNfQUNRVUlSRSBhbmQgX19BVE9NSUNfUkVMQVhFRC4gVGhlc2UgbWFw
IHRvDQo+ID4gKyAqICBDKysxMSBtZW1vcnkgb3JkZXJzIHdpdGggdGhlIHNhbWUgbmFtZXMsIHNl
ZSB0aGUgQysrMTEgc3RhbmRhcmQgb3INCj4gPiArICogIHRoZSBHQ0Mgd2lraSBvbiBhdG9taWMg
c3luY2hyb25pemF0aW9uIGZvciBkZXRhaWxlZCBkZWZpbml0aW9uLg0KPiA+ICsgKi8NCj4gPiAr
X19ydGVfZXhwZXJpbWVudGFsDQo+ID4gK3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQN
Cj4gPiArcnRlX3dhaXRfdW50aWxfZXF1YWxfMzIodm9sYXRpbGUgdWludDMyX3QgKmFkZHIsIHVp
bnQzMl90IGV4cGVjdGVkLA0KPiA+ICtpbnQgbWVtb3JkZXIpOw0KPiA+ICsNCj4gPiArLyoqDQo+
ID4gKyAqIEB3YXJuaW5nDQo+ID4gKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNo
YW5nZSwgb3IgYmUgcmVtb3ZlZCwgd2l0aG91dCBwcmlvciBub3RpY2UNCj4gPiArICoNCj4gPiAr
ICogV2FpdCBmb3IgKmFkZHIgdG8gYmUgdXBkYXRlZCB3aXRoIGEgNjQtYml0IGV4cGVjdGVkIHZh
bHVlLCB3aXRoIGEgcmVsYXhlZA0KPiA+ICsgKiBtZW1vcnkgb3JkZXJpbmcgbW9kZWwgbWVhbmlu
ZyB0aGUgbG9hZHMgYXJvdW5kIHRoaXMgQVBJIGNhbiBiZSByZW9yZGVyZWQuDQo+ID4gKyAqDQo+
ID4gKyAqIEBwYXJhbSBhZGRyDQo+ID4gKyAqICBBIHBvaW50ZXIgdG8gdGhlIG1lbW9yeSBsb2Nh
dGlvbi4NCj4gPiArICogQHBhcmFtIGV4cGVjdGVkDQo+ID4gKyAqICBBIDY0LWJpdCBleHBlY3Rl
ZCB2YWx1ZSB0byBiZSBpbiB0aGUgbWVtb3J5IGxvY2F0aW9uLg0KPiA+ICsgKiBAcGFyYW0gbWVt
b3JkZXINCj4gPiArICogIFR3byBkaWZmZXJlbnQgbWVtb3J5IG9yZGVycyB0aGF0IGNhbiBiZSBz
cGVjaWZpZWQ6DQo+ID4gKyAqICBfX0FUT01JQ19BQ1FVSVJFIGFuZCBfX0FUT01JQ19SRUxBWEVE
LiBUaGVzZSBtYXAgdG8NCj4gPiArICogIEMrKzExIG1lbW9yeSBvcmRlcnMgd2l0aCB0aGUgc2Ft
ZSBuYW1lcywgc2VlIHRoZSBDKysxMSBzdGFuZGFyZCBvcg0KPiA+ICsgKiAgdGhlIEdDQyB3aWtp
IG9uIGF0b21pYyBzeW5jaHJvbml6YXRpb24gZm9yIGRldGFpbGVkIGRlZmluaXRpb24uDQo+ID4g
KyAqLw0KPiA+ICtfX3J0ZV9leHBlcmltZW50YWwNCj4gPiArc3RhdGljIF9fcnRlX2Fsd2F5c19p
bmxpbmUgdm9pZA0KPiA+ICtydGVfd2FpdF91bnRpbF9lcXVhbF82NCh2b2xhdGlsZSB1aW50NjRf
dCAqYWRkciwgdWludDY0X3QgZXhwZWN0ZWQsDQo+ID4gK2ludCBtZW1vcmRlcik7DQo+ID4gKw0K
PiANCj4gSGVyZSwgY2hhbmdlIHRoaXMgY2hlY2sgdG86DQo+IA0KPiAjaWZuZGVmIFJURV9BUkNI
X0hBU19XRkUNCj4gDQo+IA0KPiA+ICsjaWZuZGVmIFJURV9BUk1fVVNFX1dGRQ0KDQpNaWdodCBi
ZSBzb21ldGhpbmcgYXJjaCBuZXV0cmFsIGluIG5hbWUgaGVyZT8NClJURV9XQUlUX1VOVElMX0VR
VUFMX0FSQ0hfREVGSU5FRCBvciBzbz8NCg0KPiA+ICsjZGVmaW5lIF9fV0FJVF9VTlRJTF9FUVVB
TCh0eXBlLCBzaXplLCBhZGRyLCBleHBlY3RlZCwgbWVtb3JkZXIpIFwNCj4gPiArX19ydGVfZXhw
ZXJpbWVudGFsIFwNCj4gPiArc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmUgdm9pZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gK3J0ZV93YWl0X3VudGlsX2Vx
dWFsXyMjc2l6ZSh2b2xhdGlsZSB0eXBlICogYWRkciwgdHlwZSBleHBlY3RlZCxcDQo+ID4gK2lu
dCBtZW1vcmRlcikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwNCj4gPiAreyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXA0KPiA+ICsgICAgICAgaWYgKF9fYXRvbWljX2xvYWRfbihhZGRy
LCBtZW1vcmRlcikgIT0gZXhwZWN0ZWQpIHsgICAgICBcDQo+ID4gKyAgICAgICAgICAgICAgIGRv
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K
PiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9wYXVzZSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwNCj4gPiArICAgICAgICAgICAgICAgfSB3aGlsZSAoX19hdG9t
aWNfbG9hZF9uKGFkZHIsIG1lbW9yZGVyKSAhPSBleHBlY3RlZCk7ICBcDQo+ID4gKyAgICAgICB9
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXA0KPiA+ICt9DQo+ID4gK19fV0FJVF9VTlRJTF9FUVVBTCh1aW50MTZfdCwgMTYsIGFk
ZHIsIGV4cGVjdGVkLCBtZW1vcmRlcikNCj4gPiArX19XQUlUX1VOVElMX0VRVUFMKHVpbnQzMl90
LCAzMiwgYWRkciwgZXhwZWN0ZWQsIG1lbW9yZGVyKQ0KPiA+ICtfX1dBSVRfVU5USUxfRVFVQUwo
dWludDY0X3QsIDY0LCBhZGRyLCBleHBlY3RlZCwgbWVtb3JkZXIpDQo+ID4gKw0KPiA+ICsjdW5k
ZWYgX19XQUlUX1VOVElMX0VRVUFMDQo+ID4gKw0KPiA+ICsjZW5kaWYgLyogUlRFX0FSTV9VU0Vf
V0ZFICovDQo+ID4gKw0KPiA+ICAjZW5kaWYgLyogX1JURV9QQVVTRV9IXyAqLw0KPiA+IC0tDQo+
ID4gMi43LjQNCj4gPg0KPiANCj4gVGhhbmtzLg0KPiANCj4gLS0NCj4gRGF2aWQgTWFyY2hhbmQN
Cg0K