From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <abhinandan.gujjar@intel.com>
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by dpdk.org (Postfix) with ESMTP id 7250D4C97
 for <dev@dpdk.org>; Wed, 28 Feb 2018 10:01:22 +0100 (CET)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga006.jf.intel.com ([10.7.209.51])
 by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 28 Feb 2018 01:01:20 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.47,404,1515484800"; d="scan'208";a="21655929"
Received: from kmsmsx153.gar.corp.intel.com ([172.21.73.88])
 by orsmga006.jf.intel.com with ESMTP; 28 Feb 2018 01:01:18 -0800
Received: from pgsmsx102.gar.corp.intel.com ([169.254.6.72]) by
 KMSMSX153.gar.corp.intel.com ([169.254.5.91]) with mapi id 14.03.0319.002;
 Wed, 28 Feb 2018 17:01:16 +0800
From: "Gujjar, Abhinandan S" <abhinandan.gujjar@intel.com>
To: Akhil Goyal <akhil.goyal@nxp.com>, Jerin Jacob
 <jerin.jacob@caviumnetworks.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, "Vangati, Narender"
 <narender.vangati@intel.com>, "Rao, Nikhil" <nikhil.rao@intel.com>, "Eads,
 Gage" <gage.eads@intel.com>, "hemant.agrawal@nxp.com"
 <hemant.agrawal@nxp.com>, "narayanaprasad.athreya@cavium.com"
 <narayanaprasad.athreya@cavium.com>, "nidadavolu.murthy@cavium.com"
 <nidadavolu.murthy@cavium.com>, "nithin.dabilpuram@cavium.com"
 <nithin.dabilpuram@cavium.com>
Thread-Topic: [RFC v2, 2/2] eventdev: add crypto adapter API header
Thread-Index: AQHTje820XjHLBSSDk6omwDVW3/+OqOnGCiAgASaP7CAAVGhgIAJa+mAgANXjNA=
Date: Wed, 28 Feb 2018 09:01:16 +0000
Message-ID: <5612CB344B05EE4F95FC5B729939F780706A30FA@PGSMSX102.gar.corp.intel.com>
References: <1516013630-146114-1-git-send-email-abhinandan.gujjar@intel.com>
 <20180216193348.GA8882@jerin>
 <5612CB344B05EE4F95FC5B729939F7807069B737@PGSMSX102.gar.corp.intel.com>
 <20180220135920.GA23970@jerin> <d9cc6973-4a49-a8c3-4141-cfa589b23139@nxp.com>
In-Reply-To: <d9cc6973-4a49-a8c3-4141-cfa589b23139@nxp.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ctpclassification: CTP_NT
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTVkYmM4NzYtYjJjNi00YTBkLWEzNzctYjUwNWVmMGQyZTE2IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6Ikc2Z2R6NXZ0TytXeCtqVzdFdmdMTENXR2FaN3laTjF2bjFuT09JNHhGaEE9In0=
dlp-product: dlpe-windows
dlp-version: 11.0.0.116
dlp-reaction: no-action
x-originating-ip: [172.30.20.206]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [dpdk-dev] [RFC v2, 2/2] eventdev: add crypto adapter API header
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://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Feb 2018 09:01:25 -0000

SGkgQWtoaWwsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWtoaWwg
R295YWwgW21haWx0bzpha2hpbC5nb3lhbEBueHAuY29tXQ0KPiBTZW50OiBNb25kYXksIEZlYnJ1
YXJ5IDI2LCAyMDE4IDc6MjIgUE0NCj4gVG86IEplcmluIEphY29iIDxqZXJpbi5qYWNvYkBjYXZp
dW1uZXR3b3Jrcy5jb20+OyBHdWpqYXIsIEFiaGluYW5kYW4gUw0KPiA8YWJoaW5hbmRhbi5ndWpq
YXJAaW50ZWwuY29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyBWYW5nYXRpLCBOYXJlbmRlciA8bmFy
ZW5kZXIudmFuZ2F0aUBpbnRlbC5jb20+OyBSYW8sDQo+IE5pa2hpbCA8bmlraGlsLnJhb0BpbnRl
bC5jb20+OyBFYWRzLCBHYWdlIDxnYWdlLmVhZHNAaW50ZWwuY29tPjsNCj4gaGVtYW50LmFncmF3
YWxAbnhwLmNvbTsgbmFyYXlhbmFwcmFzYWQuYXRocmV5YUBjYXZpdW0uY29tOw0KPiBuaWRhZGF2
b2x1Lm11cnRoeUBjYXZpdW0uY29tOyBuaXRoaW4uZGFiaWxwdXJhbUBjYXZpdW0uY29tDQo+IFN1
YmplY3Q6IFJlOiBbUkZDIHYyLCAyLzJdIGV2ZW50ZGV2OiBhZGQgY3J5cHRvIGFkYXB0ZXIgQVBJ
IGhlYWRlcg0KPiANCj4gSGkgSmVyaW4vQWJoaW5hbmRhbiwNCj4gDQo+IE9uIDIvMjAvMjAxOCA3
OjI5IFBNLCBKZXJpbiBKYWNvYiB3cm90ZToNCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t
LQ0KPiA+PiBEYXRlOiBNb24sIDE5IEZlYiAyMDE4IDEwOjU1OjU4ICswMDAwDQo+ID4+IEZyb206
ICJHdWpqYXIsIEFiaGluYW5kYW4gUyIgPGFiaGluYW5kYW4uZ3VqamFyQGludGVsLmNvbT4NCj4g
Pj4gVG86IEplcmluIEphY29iIDxqZXJpbi5qYWNvYkBjYXZpdW1uZXR3b3Jrcy5jb20+DQo+ID4+
IENDOiAiZGV2QGRwZGsub3JnIiA8ZGV2QGRwZGsub3JnPiwgIlZhbmdhdGksIE5hcmVuZGVyIg0K
PiA+PiAgIDxuYXJlbmRlci52YW5nYXRpQGludGVsLmNvbT4sICJSYW8sIE5pa2hpbCIgPG5pa2hp
bC5yYW9AaW50ZWwuY29tPiwNCj4gIkVhZHMsDQo+ID4+ICAgR2FnZSIgPGdhZ2UuZWFkc0BpbnRl
bC5jb20+LCAiaGVtYW50LmFncmF3YWxAbnhwLmNvbSINCj4gPj4gICA8aGVtYW50LmFncmF3YWxA
bnhwLmNvbT4sICJha2hpbC5nb3lhbEBueHAuY29tIg0KPiA8YWtoaWwuZ295YWxAbnhwLmNvbT4s
DQo+ID4+ICAgIm5hcmF5YW5hcHJhc2FkLmF0aHJleWFAY2F2aXVtLmNvbSINCj4gPG5hcmF5YW5h
cHJhc2FkLmF0aHJleWFAY2F2aXVtLmNvbT4sDQo+ID4+ICAgIm5pZGFkYXZvbHUubXVydGh5QGNh
dml1bS5jb20iIDxuaWRhZGF2b2x1Lm11cnRoeUBjYXZpdW0uY29tPiwNCj4gPj4gICAibml0aGlu
LmRhYmlscHVyYW1AY2F2aXVtLmNvbSIgPG5pdGhpbi5kYWJpbHB1cmFtQGNhdml1bS5jb20+DQo+
ID4+IFN1YmplY3Q6IFJFOiBbUkZDIHYyLCAyLzJdIGV2ZW50ZGV2OiBhZGQgY3J5cHRvIGFkYXB0
ZXIgQVBJIGhlYWRlcg0KPiA+Pg0KPiA+PiBIaSBKZXJpbiwNCj4gPg0KPiA+IEhpIEFiaGluYW5k
YW4sDQo+ID4NCj4gPj4NCj4gPj4gVGhhbmtzIGZvciB0aGUgcmV2aWV3LiBQbGVhc2UgZmluZCBm
ZXcgY29tbWVudHMgaW5saW5lLg0KPiA+Pg0KPiA+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t
LS0NCj4gPj4+IEZyb206IEplcmluIEphY29iIFttYWlsdG86amVyaW4uamFjb2JAY2F2aXVtbmV0
d29ya3MuY29tXQ0KPiA+Pj4gU2VudDogU2F0dXJkYXksIEZlYnJ1YXJ5IDE3LCAyMDE4IDE6MDQg
QU0NCj4gPj4+IFRvOiBHdWpqYXIsIEFiaGluYW5kYW4gUyA8YWJoaW5hbmRhbi5ndWpqYXJAaW50
ZWwuY29tPg0KPiA+Pj4gQ2M6IGRldkBkcGRrLm9yZzsgVmFuZ2F0aSwgTmFyZW5kZXIgPG5hcmVu
ZGVyLnZhbmdhdGlAaW50ZWwuY29tPjsNCj4gPj4+IFJhbywgTmlraGlsIDxuaWtoaWwucmFvQGlu
dGVsLmNvbT47IEVhZHMsIEdhZ2UNCj4gPj4+IDxnYWdlLmVhZHNAaW50ZWwuY29tPjsgaGVtYW50
LmFncmF3YWxAbnhwLmNvbTsNCj4gYWtoaWwuZ295YWxAbnhwLmNvbTsNCj4gPj4+IG5hcmF5YW5h
cHJhc2FkLmF0aHJleWFAY2F2aXVtLmNvbTsgbmlkYWRhdm9sdS5tdXJ0aHlAY2F2aXVtLmNvbTsN
Cj4gPj4+IG5pdGhpbi5kYWJpbHB1cmFtQGNhdml1bS5jb20NCj4gPj4+IFN1YmplY3Q6IFJlOiBb
UkZDIHYyLCAyLzJdIGV2ZW50ZGV2OiBhZGQgY3J5cHRvIGFkYXB0ZXIgQVBJIGhlYWRlcg0KPiA+
Pj4NCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4gRGF0ZTogTW9uLCAx
NSBKYW4gMjAxOCAxNjoyMzo1MCArMDUzMA0KPiA+Pj4+IEZyb206IEFiaGluYW5kYW4gR3VqamFy
IDxhYmhpbmFuZGFuLmd1amphckBpbnRlbC5jb20+DQo+ID4+Pj4gVG86IGplcmluLmphY29iQGNh
dml1bW5ldHdvcmtzLmNvbQ0KPiA+Pj4+IENDOiBkZXZAZHBkay5vcmcsIG5hcmVuZGVyLnZhbmdh
dGlAaW50ZWwuY29tLCBBYmhpbmFuZGFuIEd1amphcg0KPiA+Pj4+IDxhYmhpbmFuZGFuLmd1amph
ckBpbnRlbC5jb20+LCBOaWtoaWwgUmFvIDxuaWtoaWwucmFvQGludGVsLmNvbT4sDQo+ID4+Pj4g
R2FnZSBFYWRzIDxnYWdlLmVhZHNAaW50ZWwuY29tPg0KPiA+Pj4+IFN1YmplY3Q6IFtSRkMgdjIs
IDIvMl0gZXZlbnRkZXY6IGFkZCBjcnlwdG8gYWRhcHRlciBBUEkgaGVhZGVyDQo+ID4+Pj4gWC1N
YWlsZXI6IGdpdC1zZW5kLWVtYWlsIDEuOS4xDQo+ID4+Pj4NCj4gPj4+PiArDQo+ID4+Pj4gKy8q
Kg0KPiA+Pj4+ICsgKiBUaGlzIGFkYXB0ZXIgYWRkcyBzdXBwb3J0IHRvIGVucXVldWUgY3J5cHRv
IGNvbXBsZXRpb25zIHRvIGV2ZW50DQo+IGRldmljZS4NCj4gPj4+PiArICogVGhlIHBhY2tldCBm
bG93IGZyb20gY3J5cHRvZGV2IHRvIHRoZSBldmVudCBkZXZpY2UgY2FuIGJlDQo+ID4+Pj4gK2Fj
Y29tcGxpc2hlZA0KPiA+Pj4+ICsgKiB1c2luZyBib3RoIFNXIGFuZCBIVyBiYXNlZCB0cmFuc2Zl
ciBtZWNoYW5pc21zLg0KPiA+Pj4+ICsgKiBUaGUgYWRhcHRlciB1c2VzIGEgRUFMIHNlcnZpY2Ug
Y29yZSBmdW5jdGlvbiBmb3IgU1cgYmFzZWQNCj4gPj4+PiArcGFja2V0IHRyYW5zZmVyDQo+ID4+
Pj4gKyAqIGFuZCB1c2VzIHRoZSBldmVudGRldiBQTUQgZnVuY3Rpb25zIHRvIGNvbmZpZ3VyZSBI
VyBiYXNlZA0KPiA+Pj4+ICtwYWNrZXQgdHJhbnNmZXINCj4gPj4+PiArICogYmV0d2VlbiB0aGUg
Y3J5cHRvZGV2IGFuZCB0aGUgZXZlbnQgZGV2aWNlLg0KPiA+Pj4+ICsgKg0KPiA+Pj4+ICsgKiBJ
biB0aGUgY2FzZSBvZiBTVyBiYXNlZCB0cmFuc2ZlcnMsIGFwcGxpY2F0aW9uIGNhbiBjaG9vc2Ug
dG8NCj4gPj4+PiArc3VibWl0IGENCj4gPj4+DQo+ID4+PiBJIHRoaW5rLCB3ZSBjYW4gcmVtb3Zl
ICJJbiB0aGUgY2FzZSBvZiBTVyBiYXNlZCB0cmFuc2ZlcnMiIGFzIGl0DQo+ID4+PiBzaG91bGQg
YmUgYXBwbGljYWJsZSBmb3IgSFcgY2FzZSB0b28NCj4gPj4gT2suIEluIHRoYXQgY2FzZSwgYWRh
cHRlciB3aWxsIGRldGVjdCB0aGUgcHJlc2VuY2Ugb2YgSFcgY29ubmVjdGlvbg0KPiA+PiBiZXR3
ZWVuIGNyeXB0b2RldiAmIGV2ZW50ZGV2IGFuZCB3aWxsIG5vdCBkZXF1ZXVlIGNyeXB0byBjb21w
bGV0aW9ucy4NCj4gPg0KPiA+IEkgd291bGQgc2F5IHByZXNlbmNlIG9mICJzcGVjaWZpYyBjYXBh
YmlsaXR5IiBpbnN0ZWFkIG9mIEhXLg0KPiA+DQo+ID4+DQo+ID4+Pg0KPiA+Pj4+ICsgKiBjcnlw
dG8gb3BlcmF0aW9uIGRpcmVjdGx5IHRvIGNyeXB0b2RldiBvciBzZW5kIGl0ICB0byB0aGUNCj4g
Pj4+PiArIGNyeXB0b2Rldg0KPiA+Pj4+ICsgKiBhZGFwdGVyIHZpYSBldmVudGRldiwgdGhlIGNy
eXB0b2RldiBhZGFwdGVyIHRoZW4gc3VibWl0cyB0aGUNCj4gPj4+PiArIGNyeXB0bw0KPiA+Pj4+
ICsgKiBvcGVyYXRpb24gdG8gdGhlIGNyeXB0byBkZXZpY2UuIFRoZSBmaXJzdCBtb2RlIGlzIGtu
b3duIGFzIHRoZQ0KPiA+Pj4NCj4gPj4+IFRoZSBmaXJzdCBtb2RlIChERVEpIGlzIHZlcnkgY2xl
YXIuIEluIHRoZSBzZWNvbmQgbW9kZShFTlFfREVRKSwNCj4gPj4+IC0gSG93IGRvZXMgIndvcmtl
ciIgc3VibWl0cyB0aGUgY3J5cHRvIHdvcmsgdGhyb3VnaCBjcnlwdG8tYWRhcHRlcj8NCj4gPj4+
IElmIEkgdW5kZXJzdGFuZCBpdCBjb3JyZWN0bHksICJ3b3JrZXJzIiBhbHdheXMgZGVhbHMgd2l0
aCBvbmx5DQo+ID4+PiBjcnlwdG9kZXYncw0KPiA+Pj4gcnRlX2NyeXB0b2Rldl9lbnF1ZXVlX2J1
cnN0KCkgQVBJIGFuZCAic2VydmljZSIgZnVuY3Rpb24gaW4gY3J5cHRvDQo+ID4+PiBhZGFwdGVy
IHdvdWxkIGJlIHJlc3BvbnNpYmxlIGZvciBkZXF1ZXVlKCkgZnJvbSBjcnlwdG9kZXYgYW5kIGVu
cXVldWUgdG8NCj4gZXZlbnRkZXY/DQo+ID4+Pg0KPiA+Pj4gSSB1bmRlcnN0YW5kIHRoZSBuZWVk
IGZvciBPUF9ORVcgdnMgT1BfRldEIG1vZGUgZGlmZmVyZW5jZSBpbiBib3RoDQo+IG1vZGVzLg0K
PiA+Pj4gT3RoZXIgdGhhbiB0aGF0LCBXaGF0IG1ha2VzIEVOUV9ERVEgZGlmZmVyZW50PyBDb3Vs
ZCB5b3Ugc2hhcmUgdGhlDQo+ID4+PiBmbG93IGZvciBFTlFfREVRIG1vZGUgd2l0aCBBUElzLg0K
PiA+Pg0KPiA+PiAvKg0KPiA+PiBBcHBsaWNhdGlvbiBjaGFuZ2VzIGZvciBFTlFfREVRIG1vZGU6
DQo+ID4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N
Cj4gPj4gCS8qIEluIEVOUV9ERVEgbW9kZSwgdG8gZW5xdWV1ZSB0byBhZGFwdGVyIGFwcA0KPiA+
PiAJICogaGFzIHRvIGZpbGwgb3V0IGZvbGxvd2luZyBkZXRhaWxzLg0KPiA+PiAJICovDQo+ID4+
IAlzdHJ1Y3QgcnRlX2V2ZW50X2NyeXB0b19yZXF1ZXN0ICpyZXE7DQo+ID4+IAlzdHJ1Y3QgcnRl
X2NyeXB0b19vcCAqb3AgPSBydGVfY3J5cHRvX29wX2FsbG9jKCk7DQo+ID4+DQo+ID4+IAkvKiBm
aWxsIHJlcXVlc3QgaW5mbyAqLw0KPiA+PiAJcmVxID0gKHZvaWQgKikoKGNoYXIgKilvcCArIG9w
LnByaXZhdGVfZGF0YV9vZmZzZXQpOw0KPiA+PiAJcmVxLT5jZGV2X2lkID0gMTsNCj4gPj4gCXJl
cS0+cXVldWVfcGFpcl9pZCA9IDE7DQo+ID4+DQo+ID4+IAkvKiBmaWxsIHJlc3BvbnNlIGluZm8g
Ki8NCj4gPj4gCS4uLg0KPiA+Pg0KPiA+PiAJLyogc2VuZCBldmVudCB0byBjcnlwdG8gYWRhcHRl
ciAqLw0KPiA+PiAJZXYtPmV2ZW50X3B0ciA9IG9wOw0KPiA+PiAJZXYtPnF1ZXVlX2lkID0gZHN0
X2V2ZW50X3FpZDsNCj4gPj4gCWV2LT5wcmlvcml0eSA9IGRzdF9wcmlvcml0eTsNCj4gPj4gCWV2
LT5zY2hlZF90eXBlID0gZHN0X3NjaGVkX3R5cGU7DQo+ID4+IAlldi0+ZXZlbnRfdHlwZSA9IFJU
RV9FVkVOVF9UWVBFX0NSWVBUT0RFVjsNCj4gPj4gCWV2LT5zdWJfZXZlbnRfdHlwZSA9IHN1Yl9l
dmVudF90eXBlOw0KPiA+PiAJZXYtPmZsb3dfaWQgPSBkc3RfZmxvd19pZDsNCj4gPj4gCXJldCA9
IHJ0ZV9ldmVudF9lbnF1ZXVlX2J1cnN0KGV2ZW50X2Rldl9pZCwgZXZlbnRfcG9ydF9pZCwgZXYs
IDEpOw0KPiA+Pg0KPiA+Pg0KPiA+PiBBZGFwdGVyIGluIEVOUV9ERVEgbW9kZSwgc3VibWl0dGlu
ZyBjcnlwdG8gb3BzIHRvIGNyeXB0b2RldjoNCj4gPj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4g
Pj4gCW4gPSBydGVfZXZlbnRfZGVxdWV1ZV9idXJzdChldmVudF9kZXZfaWQsIGV2ZW50X3BvcnRf
aWQsIGV2LA0KPiBCQVRDSF9TSVpFLCB0aW1lX291dCk7DQo+ID4+IAlzdHJ1Y3QgcnRlX2NyeXB0
b19vcCAqb3AgPSBldi0+ZXZlbnRfcHRyOw0KPiA+PiAJc3RydWN0IHJ0ZV9ldmVudF9jcnlwdG9f
cmVxdWVzdCAqcmVxID0gKHZvaWQgKilvcCArDQo+IG9wLnByaXZhdGVfZGF0YV9vZmZzZXQ7DQo+
ID4+IAljZGV2X2lkID0gcmVxLT5jZGV2X2lkOw0KPiA+PiAJcXBfaWQgPSByZXEtPnF1ZXVlX3Bh
aXJfaWQNCj4gPj4NCj4gPj4gCXJldCA9IHJ0ZV9jcnlwdG9kZXZfZW5xdWV1ZV9idXJzdChjZGV2
X2lkLCBxcF9pZCwgb3AsIDEpOw0KPiA+DQo+ID4gVGhpcyBtb2RlIHdvbnQgd29yayBmb3IgdGhl
IEhXIGltcGxlbWVudGF0aW9ucyB0aGF0IEkga25vdy4gQXMgaW4gSFcNCj4gPiBpbXBsZW1lbnRh
dGlvbnMsIFRoZSBBZGFwdGVyIGlzIGVtYmVkZGVkIGluIEhXLg0KPiA+IFRoZSBERVEgbW9kZSB3
b3Jrcy4gQnV0LCBUaGlzIHdvdWxkIGNhbGwgZm9yIHRvIGhhdmUgdHdvIHNlcGFyYXRlDQo+ID4g
YXBwbGljYXRpb24gbG9naWMgZm9yIERFUSBhbmQgRU5RX0RFUSBtb2RlLg0KPiA+IEkgdGhpbmss
IGl0IGlzIHVuYXZvaWRhYmxlIGFzIFNXIHNjaGVtZSBoYXMgYmV0dGVyIHBlcmZvcm1hbmNlIHdp
dGggRU5RX0RFUQ0KPiBNT0RFLg0KPiA+DQo+ID4gSWYgeW91IHRoaW5rLCB0aGVyZSBpcyBubyBv
cHRpb24gb3RoZXIgdGhhbiBpbnRyb2R1Y2luZyBhIGNhcGFiaWxpdHkNCj4gPiBpbiBhZGFwdGVy
IHRoZW4gcGxlYXNlIGNyZWF0ZSBjYXBhYmlsaXR5IGluIFJ4IGFkYXB0ZXIgdG8gaW5mb3JtIHRo
ZQ0KPiA+IGFkYXB0ZXIgY2FwYWJpbGl0eSB0byB0aGUgYXBwbGljYXRpb24uDQo+ID4NCj4gPiBE
byB3ZSB0aGluaywgaXQgcG9zc2libGUgdG8gaGF2ZSBzY2hlbWUgd2l0aCBFTlFfREVRIG1vZGUs
IFdoZXJlDQo+ID4gYXBwbGljYXRpb24gc3RpbGwgZW5xdWV1ZSB0byBjcnlwdG9kZXYgbGlrZSBE
RVEgbW9kZSBidXQgdXNpbmcNCj4gPiBjcnlwdG9kZXYuIGllLiBBZGFwdGVyIHBhdGNoZXMgdGhl
IGNyeXB0b2RldiBkZXYtPmVucXVldWVfYnVyc3QoKSB0bw0KPiA+ICJldmVudGRldiBlbnF1ZXVl
IGJ1cnN0IiBmb2xsb3dlZCBieSAiZXhpdGluZyBkZXYtPmVucXVldWVfYnVyc3QiLg0KPiA+IFNv
bWV0aGluZyBsaWtlIGV4aXRpbmcgZXRoZGV2IHJ4X2J1cnN0IGNhbGxiYWNrIHNjaGVtZS4NCj4g
PiBUaGlzIHdpbGwgZW5hYmxlIGFwcGxpY2F0aW9uIHRvIGhhdmUgdW5pZmllZCBmbG93IElNTy4N
Cj4gPg0KPiA+IEFueSB0aG91Z2h0cyBmcm9tIE5YUCBmb2xrcz8NCj4gDQo+IEkgc2VlIHRoYXQg
dGhlcmUgaXMgcGVyZm9ybWFuY2UgZ2FpbiBpbiBzdyBzaWRlIHdoaWxlIHVzaW5nIEVOUV9ERVEg
bW9kZS4gQnV0DQo+IHNpbmNlIHdlIGFscmVhZHkgaGF2ZSBtYW55IG1vZGVzIGluIHRoZSBhcHBs
aWNhdGlvbiBhbHJlYWR5LCBjYW4gd2UgbWFrZSB0aGlzDQo+IG9uZSB3aXRoIHNvbWUgY2FsbGJh
Y2sgdG8gY3J5cHRvZGV2Lg0KPiANCj4gU28gdGhlIGFwcGxpY2F0aW9uIGNhbiBjYWxsIHRoZSBy
dGVfY3J5cHRvZGV2X2VucXVldWVfYnVyc3QoKSBhcyBpdCBpcyBkb2luZywgYW5kDQo+IGlmIHRo
ZSBFTlFfREVRIG1vZGUgaXMgc3VwcG9ydGVkIGJ5IHRoZSB1bmRlcm5lYXRoIGltcGxlbWVudGF0
aW9uIHRoZW4sIGl0DQo+IGNhbiByZWdpc3RlciBhIGNhbGxiYWNrIHRvIHRoZSBpbXBsZW1lbnRh
dGlvbiB0aGF0IGlzIHJlcXVpcmVkIGluIHRoZSBkcml2ZXIgbGF5ZXINCj4gaXRzZWxmLg0KSW4g
RU5RLURFUSBtb2RlLCBjcnlwdG8gcmVxdWVzdCBhcmUgc2VudCB0aHJvdWdoIHRoZSBldmVudGRl
di4NCldpdGggeW91ciBwcm9wb3NhbCwgaXQgaXMgbm90IGNsZWFyIGhvdyBjcnlwdG8gcmVxdWVz
dCBjYW4gYmUgaGlkZGVuIHVuZGVyIHJ0ZV9jcnlwdG9kZXZfZW5xdWV1ZV9idXJzdCgpIQ0KQ2Fu
IHlvdSBwbGVhc2Ugc2hhcmUgZmxvdyBkaWFncmFtIG9yIHBzZXVkbyBjb2RlPw0KDQotQWJoaW5h
bmRhbg0KDQo+IA0KPiBJbiB0aGlzIHdheSwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgYmVjb21lIGxl
c3MgY29tcGxleCBhcyBjb21wYXJlZCB0byB0aGUNCj4gMiBwYXJhbGxlbCBpbXBsZW1lbnRhdGlv
bnMgZm9yIFNXIGFuZCBIVy4gSXQgd2lsbCBhbHNvIGdpdmUgbW9yZSBmbGV4aWJpbGl0eSB0byB0
aGUNCj4gZHJpdmVyIGltcGxlbWVudGF0aW9uIGFzIHdlbGwuDQo+IA0KPiAtQWtoaWwNCj4gPg0K
PiA+PiAqLw0KPiA+Pj4NCj4gPj4+PiArICogZGVxdWV1ZSBvbmx5IChERVEpIG1vZGUgIGFuZCB0
aGUgc2Vjb25kIGFzIHRoZSBlbnF1ZXVlIC0NCj4gPj4+PiArIGRlcXVldWUNCj4gPj4+DQo+ID4+
PiBleHRyYSBzcGFjZSBiZXR3ZWVuICJtb2RlIiBhbmQgImFuZCINCj4gPj4gT2sNCj4gPj4+DQo+
ID4+Pj4gKyAqIChFTlFfREVRKSBtb2RlLiBUaGUgY2hvaWNlIG9mIG1vZGUgY2FuIGJlIHNwZWNp
ZmllZCB3aGVuDQo+ID4+Pj4gKyBjcmVhdGluZw0KPiA+Pj4+ICsgKiB0aGUgYWRhcHRlci4NCj4g
Pj4+PiArICogSW4gdGhlIGxhdHRlciBjaG9pY2UsIHRoZSBjcnlwdG9kZXYgYWRhcHRlciBpcyBh
YmxlIHRvIHVzZQ0KPiA+Pj4+ICsgKiBSVEVfT1BfRk9SV0FSRCBhcyB0aGUgZXZlbnQgZGV2IGVu
cXVldWUgdHlwZSwgdGhpcyBoYXMgYQ0KPiA+Pj4+ICsgcGVyZm9ybWFuY2UNCj4gPj4+PiArICog
YWR2YW50YWdlIGluICJjbG9zZWQgc3lzdGVtIiBldmVudGRldnMgbGlrZSB0aGUgZXZlbnRkZXYg
U1cgUE1EDQo+ID4+Pj4gKyBhbmQNCj4gPj4+DQo+ID4NCg0K