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 dpdk.space (Postfix) with ESMTP id 826DFA05D3
	for <public@inbox.dpdk.org>; Wed, 24 Apr 2019 07:08:53 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id EE2951B4C1;
	Wed, 24 Apr 2019 07:08:51 +0200 (CEST)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10072.outbound.protection.outlook.com [40.107.1.72])
 by dpdk.org (Postfix) with ESMTP id B32811DBF
 for <dev@dpdk.org>; Wed, 24 Apr 2019 07:08:49 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector1-arm-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XltdqhqnO/0QWODMACYlRyjJHlEZBWyALVbgATUTpBw=;
 b=INvL24Vm6xlQs7v48flzXGSoGa1FWGdTQ6hqMvdcvJGmwdMyRF/ZWAArps9hsNpDbeTJfW0enQ4/aLTp/2t1TCJrKNObOBc0CmzIpcPHJ6hOope3eRcXrs1T689bgb/WWYvRLxTqt0np5T2ZiWb37MeZehfM8QE9M2CgHVC1aZs=
Received: from VE1PR08MB5149.eurprd08.prod.outlook.com (20.179.30.152) by
 VE1PR08MB5181.eurprd08.prod.outlook.com (20.179.31.16) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.1813.14; Wed, 24 Apr 2019 05:08:46 +0000
Received: from VE1PR08MB5149.eurprd08.prod.outlook.com
 ([fe80::9b6:3403:4386:78]) by VE1PR08MB5149.eurprd08.prod.outlook.com
 ([fe80::9b6:3403:4386:78%2]) with mapi id 15.20.1813.017; Wed, 24 Apr 2019
 05:08:46 +0000
From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
To: Bruce Richardson <bruce.richardson@intel.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, Stephen Hemminger
 <stephen@networkplumber.org>, "Ananyev, Konstantin"
 <konstantin.ananyev@intel.com>, "thomas@monjalon.net" <thomas@monjalon.net>,
 Ray Kinsella <mdr@ashroe.eu>, nd <nd@arm.com>, nd <nd@arm.com>
Thread-Topic: [dpdk-dev] ABI and inline functions
Thread-Index: AdT03C2s3ZB+VIuxS0mLCJ+6mgHcvgAHH6YAABZxZtAAH76KgAEhZiSA
Date: Wed, 24 Apr 2019 05:08:46 +0000
Message-ID:
 <VE1PR08MB51496A2D546E1B464CC537B7983C0@VE1PR08MB5149.eurprd08.prod.outlook.com>
References: <VE1PR08MB5149D3D24CD4F903FCFFE14798250@VE1PR08MB5149.eurprd08.prod.outlook.com>
 <20190417083637.GB1890@bricha3-MOBL.ger.corp.intel.com>
 <VE1PR08MB5149FB9FC2CDF139FAAC09DD98260@VE1PR08MB5149.eurprd08.prod.outlook.com>
 <20190418102811.GB1817@bricha3-MOBL.ger.corp.intel.com>
In-Reply-To: <20190418102811.GB1817@bricha3-MOBL.ger.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=Honnappa.Nagarahalli@arm.com; 
x-originating-ip: [217.140.111.135]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3edff64e-63b7-489d-18c3-08d6c872ee1f
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);
 SRVR:VE1PR08MB5181; 
x-ms-traffictypediagnostic: VE1PR08MB5181:
x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr
nodisclaimer: True
x-microsoft-antispam-prvs: <VE1PR08MB51815722B4ECC060FCFD37F3983C0@VE1PR08MB5181.eurprd08.prod.outlook.com>
x-forefront-prvs: 00179089FD
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(136003)(376002)(39860400002)(366004)(396003)(346002)(52314003)(189003)(199004)(2906002)(305945005)(53936002)(9686003)(316002)(6246003)(68736007)(33656002)(186003)(54906003)(52536014)(7736002)(76176011)(4326008)(25786009)(3846002)(8676002)(7696005)(6506007)(99286004)(102836004)(74316002)(6916009)(8936002)(6116002)(81166006)(81156014)(66066001)(93886005)(14454004)(26005)(72206003)(55016002)(229853002)(71190400001)(478600001)(66556008)(97736004)(66446008)(6436002)(5660300002)(476003)(73956011)(446003)(256004)(11346002)(66476007)(14444005)(86362001)(66946007)(76116006)(486006)(64756008)(71200400001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB5181;
 H:VE1PR08MB5149.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: arm.com does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: zWthm4B0MkmsNpwysBlJ82Kftd1lAGq3RObyvYnnmbWWlLJpsvMYurkFcodj4y96bZjG+CWqS/tHQ5y5/JTGJVc6D8aOV14315erm4vwBa8qNkkNaKPHAIwE1f60LcvSQw1exb8JMzCduwmjBBCUI318CRxw4G2sRdHsDGC/Ua2eGlxt5y2MjrfSXJTzsFp3WT1szCfpCj/z8mEFXSy2PZ5XLjWq0oJeIukHSHnOhWZzu8MTGwy/2ZZ5FStz5CBX9REJr7d9xOAHcxNuKaOuSlbW8FYVnPURyXJIi1+QnDHC5E468UHbUPlMy7q8ZrfL3c0QtMPB9qGCX7iQ1VHhwiN4AAlvENQVMSaiJzOUxOezutToOTzhkZnuJKNYaTJ+F1MfFM4m0hrbkkC8JH+qH/cqfkyQjTZ/rPK32NYvbUo=
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3edff64e-63b7-489d-18c3-08d6c872ee1f
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Apr 2019 05:08:46.4694 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5181
Subject: Re: [dpdk-dev] ABI and inline functions
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>
Message-ID: <20190424050846.9P84fk2Fr6Tze2TRCV1hkHxDM6srOZbXvq_KjjCNTwI@z>

PiA+ID4gT24gV2VkLCBBcHIgMTcsIDIwMTkgYXQgMDU6MTI6NDNBTSArMDAwMCwgSG9ubmFwcGEg
TmFnYXJhaGFsbGkNCj4gd3JvdGU6DQo+ID4gPiA+IEhlbGxvLA0KPiA+ID4gPiAJVGhlcmUgd2Fz
IGEgY29udmVyc2F0aW9uIFsxXSBpbiB0aGUgY29udGV4dCBvZiBSQ1UgbGlicmFyeS4gSQ0KPiA+
ID4gPiB0aG91Z2h0IGl0IG5lZWRzIHBhcnRpY2lwYXRpb24gZnJvbSBicm9hZGVyIGF1ZGllbmNl
LiBTdW1tYXJ5IGZvcg0KPiA+ID4gPiB0aGUgY29udGV4dCAocGxlYXNlIGxvb2sgYXQgWzFdIGZv
ciBmdWxsIGRldGFpbHMpDQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4gVGhhbmtzIGZvciBraWNraW5n
IG9mZiB0aGlzIGRpc2N1c3Npb24NCj4gPiA+DQo+ID4gPiA+IDEpIEhvdyBkbyB3ZSBwcm92aWRl
IEFCSSBjb21wYXRpYmlsaXR5IHdoZW4gdGhlIGNvZGUgYmFzZSBjb250YWlucw0KPiA+ID4gaW5s
aW5lIGZ1bmN0aW9ucz8gVW5sZXNzIHdlIGZyZWV6ZSBkZXZlbG9wbWVudCBpbiB0aGVzZSBpbmxp
bmUNCj4gPiA+IGZ1bmN0aW9ucyBhbmQgY29ycmVzcG9uZGluZyBzdHJ1Y3R1cmVzLCBpdCBtaWdo
dCBub3QgYmUgcG9zc2libGUgdG8gY2xhaW0NCj4gQUJJIGNvbXBhdGliaWxpdHkuDQo+ID4gPiBB
cHBsaWNhdGlvbiBoYXMgdG8gYmUgcmVjb21waWxlZC4NCj4gPiA+DQo+ID4gPiBJIGFncmVlIHRo
YXQgaW4gc29tZSBjYXNlcyB0aGUgYXBwbGljYXRpb24gIm1pZ2h0IiBuZWVkIHRvIGJlDQo+ID4g
PiByZWNvbXBpbGVkLCBidXQgb24gdGhlIG90aGVyIGhhbmQgSSBhbHNvIHRoaW5rIHRoYXQgdGhl
cmUgYXJlIG1hbnkNCj4gPiA+IGNhc2VzIHdoZXJlIEFCSSBmdW5jdGlvbiB2ZXJzaW9uaW5nIGNh
biBzdGlsbCBiZSB1c2VkIHRvIG1pdGlnYXRlDQo+ID4gPiB0aGluZ3MuIEZvciBleGFtcGxlLCBp
ZiB3ZSB0aGluayBvZiBhIGNvdXBsZSBvZiB2YXJpb3VzIHNjZW5hcmlvczoNCj4gPiA+DQo+ID4g
PiAxLiBJZiBldmVyeXRoaW5nIGlzIGlubGluZSBhbmQgdmFyaWFibGVzIGFyZSBhbGxvY2F0ZWQg
YnkgYXBwLCBlLmcuDQo+ID4gPiBzcGlubG9jayBvbiBzdGFjaywgdGhlbiB0aGVyZSBpcyBubyBp
c3N1ZSBhcyBldmVyeXRoaW5nIGlzDQo+ID4gPiBhcHBsaWNhdGlvbiBjb250YWluZWQuDQo+ID4g
SWYgdGhlcmUgaXMgYSBidWcgZml4IHdoaWNoIHJlcXVpcmVzIHRoZSBzdHJ1Y3R1cmUgdG8gY2hh
bmdlLCB0aGUgYXBwbGljYXRpb24NCj4gd291bGQgbmVlZCB0byByZWNvbXBpbGUuIEkgZ3Vlc3Mg
eW91IGFyZSB0YWxraW5nIGFib3V0IGEgc2NlbmFyaW8gd2hlbg0KPiBub3RoaW5nIGNoYW5nZWQg
aW4gdGhlIGlubGluZSBmdW5jdGlvbi92YXJpYWJsZXMuDQo+ID4NCj4gDQo+IElmIHRoZSBhcHBs
aWNhdGlvbiB3YW50cyB0aGUgYnVnZml4LCB0aGVuIHllcy4gSG93ZXZlciwgaWYgdGhlIGFwcCBp
cw0KPiB1bmFmZmVjdGVkIGJ5IHRoZSBidWcsIHRoZW4gaXQgc2hvdWxkIGhhdmUgdGhlIG9wdGlv
biBvZiB1cGRhdGluZyBEUERLDQo+IHdpdGhvdXQgYSByZWNvbXBpbGUuDQo+DQpBZ3JlZSBvbiB0
aGUgcmVxdWlyZW1lbnQuDQoNCj4gPiA+DQo+ID4gPiAyLiBJZiB0aGUgc2l0dWF0aW9uIGlzIGFz
IGluICMxLCBidXQgdGhlIHN0cnVjdHVyZXMgaW4gcXVlc3Rpb24gYXJlDQo+ID4gPiBwYXNzZWQg
dG8gbm9uLWlubGluZSBEUERLIGZ1bmN0aW9ucy4gSW4gdGhpcyBjYXNlLCBhbnkgY2hhbmdlcyB0
bw0KPiA+ID4gdGhlIHN0cnVjdHVyZXMgcmVxdWlyZSB0aG9zZSBmdW5jdGlvbnMgdGFraW5nIHRo
ZSBzdHJ1Y3R1cmVzIHRvIGJlDQo+ID4gPiB2ZXJzaW9uZWQgZm9yIG9sZCBhbmQgbmV3IHN0cnVj
dHVyZXMNCj4gPiBJIHRoaW5rIHRoaXMgY2FuIGdldCBjb21wbGljYXRlZCBvbiB0aGUgaW5saW5l
IGZ1bmN0aW9uIHNpZGUuIFRoZSBhcHBsaWNhdGlvbg0KPiBhbmQgdGhlIERQREsgbGlicmFyeSB3
aWxsIGVuZCB1cCBoYXZpbmcgZGlmZmVyZW50IGlubGluZSBmdW5jdGlvbnMuIFRoZQ0KPiBjaGFu
Z2VkIGlubGluZSBmdW5jdGlvbiBuZWVkcyB0byBiZSBhd2FyZSBvZiAyIHN0cnVjdHVyZSBmb3Jt
YXRzIG9yIHRoZSBpbmxpbmUNCj4gZnVuY3Rpb24gbmVlZHMgdG8gYmUgZHVwbGljYXRlZCAob25l
IGZvciBlYWNoIHZlcnNpb24gb2YgdGhlIHN0cnVjdHVyZSkuIEkNCj4gZ3Vlc3MgdGhlc2UgYXJl
IHRoZSB3b3JrYXJvdW5kcyB3ZSBoYXZlIHRvIGRvLg0KPiA+DQo+IE5vLCB0aGVyZSBpcyBuZXZl
ciBhbnkgbmVlZCBmb3IgdHdvIHZlcnNpb25zIG9mIHRoZSBpbmxpbmUgZnVuY3Rpb25zLCBvbmx5
IHRoZQ0KPiBuZXdlc3QgdmVyc2lvbiBpcyBuZWVkZWQuIFRoaXMgaXMgYmVjYXVzZSBpbiB0aGUg
Y2FzZSBvZiBhIG5ld2x5IGNvbXBpbGVkDQo+IGFwcGxpY2F0aW9uIG9ubHkgdGhlIG5ld2VzdCB2
ZXJzaW9uIG9mIHRoZSBub24taW5saW5lIGZ1bmN0aW9ucyBpcyBldmVyIHVzZWQuDQo+IFRoZSBv
dGhlciBvbGRlciB2ZXJzaW9ucyBhcmUgb25seSB1c2VkIGF0IHJ1bnRpbWUgZm9yIGNvbXBhdGls
aWJpdHkgd2l0aCBwcmUtDQo+IGNvbXBpbGVkIGFwcHMgd2l0aCB0aGUgb2xkZXIgaW5saW5lcy4N
Cj4gDQpTaW5jZSB0aGUgaW5saW5lIGZ1bmN0aW9uIGlzIHVzZWQgaW4gdGhlIGFwcGxpY2F0aW9u
IGFuZCB0aGUgRFBESyAoc2F5IGEgbGlicmFyeSksIHdlIGhhdmUgMiBjb3BpZXMgb2YgdGhlIHNh
bWUgaW5saW5lIGZ1bmN0aW9uIGluIHRoZSBmaW5hbCBiaW5hcnkgKDEgd2l0aCB0aGUgYXBwbGlj
YXRpb24gYW5kIDJuZCBvbmUgYmVoaW5kIERQREsgbm9uLWlubGluZSBmdW5jdGlvbnMpLiBXaGVu
IHRoZSBEUERLIG5vbi1pbmxpbmUgZnVuY3Rpb25zIGFyZSB2ZXJzaW9uZWQsIHRoZSBvbGRlciB2
ZXJzaW9uIG9mIHRoZSBmdW5jdGlvbnMgaGF2ZSB0byBzdXBwb3J0IHRoZSBvbGQgc3RydWN0dXJl
cyBmb3IgdGhlIG9sZCBhcHBsaWNhdGlvbiB0byB3b3JrIHdpdGggdGhlIG5ldyBEUERLLiBpLmUu
IGJvdGggY29waWVzIG9mIHRoZSBpbmxpbmUgZnVuY3Rpb24gaGF2ZSB0byBiZSB0aGUgc2FtZS4N
Cg0KPiA+ID4NCj4gPiA+IDMuIElmIGluc3RlYWQgd2UgaGF2ZSB0aGUgY2FzZSwgbGlrZSBpbiBy
dGVfcmluZywgd2hlcmUgdGhlIGRhdGENCj4gPiA+IHN0cnVjdHVyZXMgYXJlIGFsbG9jYXRlZCB1
c2luZyBmdW5jdGlvbnMsIGJ1dCB0aGV5IGFyZSB1c2VkIHZpYQ0KPiA+ID4gaW5saW5lcyBpbiB0
aGUgYXBwLiBJbiB0aGlzIGNhc2UgdGhlIGNyZWF0aW9uIGZ1bmN0aW9ucyAoYW5kIGFueQ0KPiA+
ID4gb3RoZXIgZnVuY3Rpb24gdXNpbmcgdGhlIHN0cnVjdHVyZXMpIG5lZWQgdG8gYmUgdmVyc2lv
bmVkIHNvIHRoYXQNCj4gPiA+IHRoZSBhcHBsaWNhdGlvbiBnZXRzIHRoZSBleHBlY3RlZCBzdHJ1
Y3R1cmUgYmFjayBmcm9tIHRoZSBjcmVhdGlvbi4NCj4gPiBUaGUgbmV3IHN0cnVjdHVyZSBtZW1i
ZXJzIGhhdmUgdG8gYmUgYWRkZWQgc3VjaCB0aGF0IHRoZSBwcmV2aW91cw0KPiA+IGxheW91dCBp
cyBub3QgYWZmZWN0ZWQuIEVpdGhlciBhZGQgYXQgdGhlIGVuZCBvciB1c2UgdGhlIGdhcHMgdGhh
dCBhcmUNCj4gPiBsZWZ0IGJlY2F1c2Ugb2YgY2FjaGUgbGluZSBhbGlnbm1lbnQuDQo+ID4NCj4g
Tm90IG5lY2Vzc2FyaWx5LiBUaGVyZSBpcyBub3RoaW5nIHRoYXQgcmVxdWlyZXMgdGhlIG9sZGVy
IGFuZCBuZXdlciB2ZXJzaW9ucw0KPiBvZiBhIGZ1bmN0aW9uIHRvIHVzZSB0aGUgc2FtZSBzdHJ1
Y3R1cmUuIFdlIGNhbiByZW5hbWUgdGhlIG9yaWdpbmFsIHN0cnVjdHVyZQ0KPiB3aGVuIHZlcnNp
b25pbmcgdGhlIG9sZCBmdW5jdGlvbiwgYW5kIHRoZW4gY3JlYXRlIGEgbmV3IHN0cnVjdHVyZSB3
aXRoIHRoZQ0KPiBvcmlnaW5hbCBuYW1lIGZvciBsYXRlciByZWNvbXBpbGVkIGNvZGUgdXNpbmcg
dGhlIG5ld2VzdCBBQklzLg0KPg0KQWdyZWUsIGFzc3VtaW5nIG9ubHkgdGhlIGFwcCBpcyB1c2lu
ZyB0aGUgaW5saW5lIGZ1bmN0aW9ucy4NCg0KPiA+ID4NCj4gPiA+IEl0IG1pZ2h0IGJlIHVzZWZ1
bCB0byB0aGluayBvZiB3aGF0IG90aGVyIHNjZW5hcmlvcyB3ZSBoYXZlIGFuZCB3aGF0DQo+ID4g
PiBvbmVzIGFyZSBsaWtlbHkgdG8gYmUgcHJvYmxlbWF0aWMsIGVzcGVjaWFsbHkgdGhvc2UgdGhh
dCBjYW4ndCBiZQ0KPiA+ID4gc29sdmVkIGJ5IGhhdmluZyBtdWx0aXBsZSBmdW5jdGlvbiB2ZXJz
aW9ucy4NCj4gPiA+DQo+ID4gPiA+IDIpIEV2ZXJ5IGZ1bmN0aW9uIHRoYXQgaXMgbm90IGluIHRo
ZSBkaXJlY3QgZGF0YXBhdGggKGZhc3RwYXRoPykNCj4gPiA+ID4gc2hvdWxkIG5vdCBiZSBpbmxp
bmUuIEV4Y2VwdGlvbnMgb3IgdGhpbmdzIGxpa2UgcngvdHggYnVyc3QsIHJpbmcNCj4gPiA+ID4g
ZW5xdWV1ZS9kZXF1ZXVlLCBhbmQgcGFja2V0IGFsbG9jL2ZyZWUgLSBTdGVwaGVuDQo+ID4gPg0K
PiA+ID4gQWdyZWUgd2l0aCB0aGlzLiBBbnl0aGluZyBub3QgZGF0YSBwYXRoIHNob3VsZCBub3Qg
YmUgaW5saW5lLiBUaGUNCj4gPiA+IG5leHQNCj4gPiBZZXMsIHZlcnkgY2xlYXIgb24gdGhpcy4N
Cj4gPg0KPiA+ID4gcXVlc3Rpb24gdGhlbiBpcyBmb3IgZGF0YSBwYXRoIGl0ZW1zIGhvdyB0byBk
ZXRlcm1pbmUgd2hldGhlciB0aGV5DQo+ID4gPiBuZWVkIHRvIGJlIGlubGluZSBvciBub3QuIElu
IGdlbmVyYWwgbXkgcnVsZS1vZi10aHVtYjoNCj4gPiA+ICogYW55dGhpbmcgZGVhbGluZyB3aXRo
IGJ1cnN0cyBvZiBwYWNrZXRzIHNob3VsZCBub3QgYmUgaW5saW5lDQo+ID4gPiAqIGFueXRoaW5n
IHdoYXQgd29ya3Mgd2l0aCBzaW5nbGUgcGFja2V0IGF0IGEgdGltZSBzaG91bGQgYmUgaW5saW5l
DQo+ID4gPg0KPiA+ID4gVGhlIG9uZSBleGNlcHRpb24gdG8gdGhpcyBydWxlIGlzIGNhc2VzIHdo
ZXJlIHdlIGhhdmUgdG8gY29uc2lkZXINCj4gPiA+ICJlbXB0eSBwb2xsaW5nIiBhcyBhIGxpa2Vs
eSB1c2UtY2FzZS4gRm9yIGV4YW1wbGUsDQo+ID4gPiBydGVfcmluZ19kZXF1ZXVlX2J1cnN0IHdv
cmtzIHdpdGggYnVyc3RzIG9mIHBhY2tldHMsIGJ1dCB0aGVyZSBpcyBhDQo+ID4gPiB2YWxpZCBh
cHBsaWNhdGlvbiB1c2UgY2FzZSB3aGVyZSBhIHRocmVhZCBjb3VsZCBiZSBwb2xsaW5nIGEgc2V0
IG9mDQo+ID4gPiByaW5ncyB3aGVyZSBvbmx5IGEgc21hbGwgbnVtYmVyIGFyZSBhY3R1YWxseSBi
dXN5LiBSaWdodCBub3csDQo+ID4gPiBwb2xsaW5nIGFuIGVtcHR5IHJpbmcgb25seSBjb3N0cyBh
IGZldyBjeWNsZXMsIG1lYW5pbmcgdGhhdCBpdCdzDQo+ID4gPiBuZWdsaWJsZSB0byBoYXZlIGEg
ZmV3IHBvbGxzIG9mIGVtcHR5IHJpbmdzIGJlZm9yZSB5b3UgZ2V0IHRvIGEgYnVzeQ0KPiA+ID4g
b25lLiBIYXZpbmcgdGhhdCBmdW5jdGlvbiBub3QtaW5saW5lIHdpbGwgY2F1c2UgdGhhdCBjb3N0
IHRvIGp1bXANCj4gPiA+IHNpZ25pZmljYW50bHksIHNvIGNvdWxkIGNhdXNlIHByb2JsZW1zLiAo
VGhpcyBsZWFkcyB0byB0aGUgaW50ZXJlc3RpbmcNCj4gc2NlbmFyaW8gd2hlcmUgcmluZyBlbnF1
ZXVlIGlzIHNhZmUgdG8gdW4taW5saW5lLCB3aGlsZSBkZXF1ZXVlIGlzIG5vdCkuDQo+ID4gQSBn
b29kIHdheSB0byB0aGluayBhYm91dCBpdCB3b3VsZCBiZSAtIHJhdGlvIG9mIGFtb3VudCBvZiB3
b3JrIGRvbmUgaW4NCj4gdGhlIGZ1bmN0aW9uIHRvIGNvc3Qgb2YgZnVuY3Rpb24gY2FsbC4NCj4g
Pg0KPiANCj4gWWVzLCBJIHdvdWxkIHRlbmQgdG8gYWdyZWUgaW4gZ2VuZXJhbC4gIFRoZSBvdGhl
ciB0aGluZyBpcyB0aGUgZnJlcXVlbmN5IG9mDQo+IGNhbGxzLCBhbmQgLSBhcyBhbHJlYWR5IHN0
YXRlZCAtIHdoZXRoZXIgaXQgdGFrZXMgYSBidXJzdCBvZiBub3QuICBCZWNhdXNlIGV2ZW4NCj4g
aWYgaXQncyBhIHRyaXZpYWwgZnVuY3Rpb24gdGhhdCB0YWtlcyBvbmx5IDEwIGN5Y2xlcyBhbmQg
d2Ugd2FudCB0byB1bmlubGluZSBpdCwNCj4gdGhlIGNvc3QgbWF5IGRvdWJsZTsgYnV0IGlmIGl0
IHRha2VzIGEgYnVyc3Qgb2YgcGFja2V0cyBhbmQgaXMgb25seSB1c2VkDQo+IG9uY2UvdHdpY2Ug
cGVyIGJ1cnN0IHRoZSBjb3N0IHBlciBwYWNrZXQgc2hvdWxkIHN0aWxsIG9ubHkgYmUgYSBmcmFj
dGlvbiBvZiBhDQo+IGN5Y2xlLg0KPiANCj4gPiA+DQo+ID4gPiA+IDMpIFBsdXMgc3luY2hyb25p
emF0aW9uIHJvdXRpbmVzOiBzcGluL3J3bG9jay9iYXJyaWVyLCBldGMuIEkNCj4gPiA+ID4gdGhp
bmsgcmN1IHNob3VsZCBiZSBvbmUgb2Ygc3VjaCBleGNlcHRpb25zIC0gaXQgaXMganVzdCBhbm90
aGVyDQo+ID4gPiA+IHN5bmNocm9uaXphdGlvbiBtZWNoYW5pc20gYWZ0ZXIgYWxsIChqdXN0IGEg
Yml0IG1vcmUNCj4gPiA+ID4gc29waGlzdGljYXRlZCkuIC0gS29uc3RhbnRpbg0KPiA+ID4gPg0K
PiA+ID4gSW4gZ2VuZXJhbCBJIGJlbGlldmUgdGhlIHN5bmNocm9uaXNhdGlvbiBwcmltaXRpdmVz
IHNob3VsZCBiZSBpbmxpbmUuDQo+ID4gPiBIb3dldmVyLCBpdCBkb2VzIGNvbWUgZG93biB0byBj
b3N0IHRvbyAtIGlmIGEgZnVuY3Rpb24gdGFrZXMgMzAwDQo+ID4gPiBjeWNsZXMsIGRvIHdlIHJl
YWxseSBjYXJlIGlmIGl0IHRha2VzIDMwNSBvciAzMTAgaW5zdGVhZCB0byBtYWtlIGl0IG5vdA0K
PiBpbmxpbmU/DQo+ID4gPiBIb3BlZnVsbHkgbW9zdCBzeW5jaHJvbmlzYXRpb24gcHJpbWl0aXZl
cyBhcmUgZmFzdGVyIHRoYW4gdGhpcyBzbw0KPiA+ID4gdGhpcyBzaXR1YXRpb24gc2hvdWxkIG5v
dCBvY2N1ci4NCj4gPiA+DQo+ID4gPiA+IDIpIGFuZCAzKSBjYW4gYmUgZ29vZCBndWlkZWxpbmVz
IHRvIHdoYXQgZnVuY3Rpb25zL0FQSXMgY2FuIGJlDQo+ID4gPiA+IGlubGluZS4gQnV0LA0KPiA+
ID4gSSBiZWxpZXZlIHRoaXMgZ3VpZGVsaW5lIGV4aXN0cyB0b2RheSB0b28uIEFyZSB0aGVyZSBh
bnkgdGhvdWdodHMgdG8NCj4gPiA+IGNoYW5nZSB0aGlzPw0KPiA+ID4gPg0KPiA+ID4gPiBDb21p
bmcgdG8gMSksIEkgdGhpbmsgRFBESyBjYW5ub3QgcHJvdmlkZSBBQkkgY29tcGF0aWJpbGl0eSB1
bmxlc3MNCj4gPiA+ID4gYWxsIHRoZQ0KPiA+ID4gaW5saW5lIGZ1bmN0aW9ucyBhcmUgY29udmVy
dGVkIHRvIG5vcm1hbCBmdW5jdGlvbnMgYW5kIHN5bWJvbA0KPiA+ID4gdmVyc2lvbmluZyBpcyBk
b25lIGZvciB0aG9zZSAobm90IGJvdGhlcmluZyBhYm91dCBwZXJmb3JtYW5jZSkuDQo+ID4gPiA+
DQo+ID4gPiBJIGRpc2FncmVlLiBJIHRoaW5rIGV2ZW4gaW4gdGhlIGNhc2Ugb2YgIzEsIHdlIHNo
b3VsZCBiZSBhYmxlIHRvDQo+ID4gPiBtYW5hZ2Ugc29tZSBjaGFuZ2VzIHdpdGhvdXQgYnJlYWtp
bmcgQUJJLg0KPiA+IEkgY29tcGxldGVseSBhZ3JlZSB3aXRoIHlvdSBvbiB0cnlpbmcgdG8ga2Vl
cCB0aGUgQUJJIGJyZWFrIHN1cmZhY2Ugc21hbGwNCj4gYW5kIGRvaW5nIGR1ZSBkaWxpZ2VuY2Ug
d2hlbiBvbmUgaXMgcmVxdWlyZWQuIEhvd2V2ZXIsIEkgdGhpbmsgY2xhaW1pbmcgMTAwJQ0KPiBB
QkkgY29tcGF0aWJpbGl0eSBhbGwgdGhlIHRpbWUgKG9yIGFzIGZyZXF1ZW50bHkgYXMgb3RoZXIg
cHJvamVjdHMgY2xhaW0pIG1pZ2h0DQo+IGJlIHRvdWdoLiBJTU8sIHdlIG5lZWQgdG8gbG9vayBi
ZXlvbmQgdGhpcyB0byBzb2x2ZSB0aGUgZW5kIHVzZXIgcHJvYmxlbS4NCj4gTWF5IGJlIHBhY2th
Z2luZyBtdWx0aXBsZSBMVFMgd2l0aCBkaXN0cm9zIHdoZW4gRFBESyBjb3VsZCBub3QgYXZvaWQN
Cj4gYnJlYWtpbmcgQUJJIGNvbXBhdGliaWxpdHk/DQo+ID4NCj4gSGF2aW5nIG11bHRpcGxlIExU
UydzIHBlciBkaXN0cm8gd291bGQgYmUgbmljZSwgYnV0IGl0J3MgcHV0dGluZyBhIGxvdCBtb3Jl
DQo+IHdvcmsgb24gdGhlIGRpc3RybyBmb2xrcywgSSB0aGluay4NCj4gDQo+ID4gPg0KPiA+ID4g
PiBJbiB0aGlzIGNvbnRleHQsIGRvZXMgaXQgbWFrZSBzZW5zZSB0byBzYXkgdGhhdCB3ZSB3aWxs
IG1haW50YWluDQo+ID4gPiA+IEFQSSBjb21wYXRpYmlsaXR5IHJhdGhlciB0aGFuIHNheWluZyBB
QkkgY29tcGF0aWJpbGl0eT8gVGhpcyB3aWxsDQo+ID4gPiA+IGFsc28gc2VuZCB0aGUgcmlnaHQg
bWVzc2FnZSB0byB0aGUgZW5kIHVzZXJzLg0KPiA+ID4gPg0KPiA+ID4gSSB3b3VsZCB2YWx1ZSBB
QkkgY29tcGF0aWJpbGl0eSBtdWNoIGhpZ2hlciB0aGFuIEFQSSBjb21wYXRpYmlsaXR5Lg0KPiA+
ID4gSWYgc29tZW9uZSBpcyByZWNvbXBpbGluZyB0aGUgYXBwbGljYXRpb24gYW55d2F5LCBtYWtp
bmcgYSBjb3VwbGUgb2YNCj4gPiA+IHNtYWxsIGNoYW5nZXMgKGxhcmdlIHJld29yayBpcyBvYnZp
b3VzbHkgYSBkaWZmZXJlbnQgaXNzdWUpIHRvIHRoZQ0KPiA+ID4gY29kZSBzaG91bGQgbm90IGJl
IGEgbWFzc2l2ZSBpc3N1ZSwgSSBob3BlLiBPbiB0aGUgb3RoZXIgaGFuZCwgQUJJDQo+ID4gPiBj
b21wYXRpYmlsaXR5IGlzIG5lZWRlZCB0byBhbGxvdyBzZWFtbGVzcyB1cGRhdGUgZnJvbSBvbmUg
dmVyc2lvbiB0bw0KPiA+ID4gYW5vdGhlciwgYW5kIGl0J3MgdGhhdCBBQkkgY29tcGF0aWJsaXR5
IHRoYXQgYWxsb3dzIGRpc3RybydzIHRvIHBpY2sgdXAgb3VyDQo+IGxhdGVzdCBhbmQgZ3JlYXRl
c3QgdmVyc2lvbnMuDQo+ID4gPg0KPiA+IEkgdGhpbmsgaXQgaXMgYWxzbyBpbXBvcnRhbnQgdG8g
c2V0dXAgdGhlIHJpZ2h0IGV4cGVjdGF0aW9ucyB0byBEUERLIHVzZXJzLiBpLmUuDQo+IERQREsg
d2lsbCBwb2xpY2UgaXRzZWxmIGJldHRlciB0byBwcm92aWRlIEFCSSBjb21wYXRpYmlsaXR5IGJ1
dCBvY2Nhc2lvbmFsbHkgaXQNCj4gbWlnaHQgbm90IGJlIHBvc3NpYmxlLg0KPiA+DQo+IFRoZSB0
cm91YmxlIGhlcmUgaXMgdGhhdCBhIERQREsgcmVsZWFzZSwgYXMgYSBwcm9kdWN0IGlzIGVpdGhl
ciBiYWNrd2FyZA0KPiBjb21wYXRpYmxlIG9yIG5vdC4gRWl0aGVyIGEgdXNlciBjYW4gdGFrZSBp
dCBhcyBhIGRyb3AtaW4gcmVwbGFjZW1lbnQgZm9yIHRoZQ0KPiBwcmV2aW91cyB2ZXJzaW9uIG9y
IG5vdC4gVXNlcnMgZG8gbm90IHdhbnQgdG8gaGF2ZSB0byBnbyB0aHJvdWdoIGEgY2hlY2tsaXN0
DQo+IGZvciBlYWNoIGFwcCB0byBzZWUgaWYgdGhlIGFwcCB1c2VzIG9ubHkgImNvbXBhdGlibGUi
IEFQSXMgb3Igbm90LiBTYW1lIGZvcg0KRm9yIHRoZSByZWxlYXNlcyB3aGVyZSB0aGUgQUJJIGlz
IGJyb2tlbiwgd291bGQgbm90IHN1Y2ggYSBsaXN0IGhlbHAgdGhlIHVzZXJzPw0KDQo+IHRoZSBk
aXN0cm8gZm9sa3MsIHRoZXkgYXJlIG5vdCBnb2luZyB0byB0YWtlIHNvbWUgbGlicyBmcm9tIGEg
cmVsZWFzZSBidXQgbm90DQo+IG90aGVycyBiZWNhdXNlIHRoZSBBQkkgaXMgYnJva2VuIGZvciBz
b21lIGJ1dCBub3Qgb3RoZXJzLg0KWWVzLCB0aGlzIGlzIG5vdCBhbiBvcHRpb24sIGl0IGJlY29t
ZXMgYSBEUERLIHJlbGVhc2Ugb2YgaXRzIG93biDwn5iKLg0KDQo+IA0KPiBSZWdhcmRzLA0KPiAv
QnJ1Y2UNCg==