From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <stable-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 7F1B1A034F
	for <public@inbox.dpdk.org>; Wed, 13 May 2020 03:28:41 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 386C51C012;
	Wed, 13 May 2020 03:28:41 +0200 (CEST)
Received: from huawei.com (szxga01-in.huawei.com [45.249.212.187])
 by dpdk.org (Postfix) with ESMTP id D42001BFA7;
 Wed, 13 May 2020 03:28:36 +0200 (CEST)
Received: from DGGEML404-HUB.china.huawei.com (unknown [172.30.72.53])
 by Forcepoint Email with ESMTP id 84294780E5640AC25D5B;
 Wed, 13 May 2020 09:28:34 +0800 (CST)
Received: from DGGEML529-MBX.china.huawei.com ([169.254.6.116]) by
 DGGEML404-HUB.china.huawei.com ([fe80::b177:a243:7a69:5ab8%31]) with mapi id
 14.03.0487.000; Wed, 13 May 2020 09:28:29 +0800
From: "Lilijun (Jerry)" <jerry.lilijun@huawei.com>
To: "Wang, Yipeng1" <yipeng1.wang@intel.com>, Honnappa Nagarahalli
 <Honnappa.Nagarahalli@arm.com>, "'dev@dpdk.org'" <dev@dpdk.org>
CC: wangyunjian <wangyunjian@huawei.com>, xudingke <xudingke@huawei.com>,
 "'stable@dpdk.org'" <stable@dpdk.org>, nd <nd@arm.com>, nd <nd@arm.com>
Thread-Topic: [dpdk-dev] [PATCH] lib/librte_hash: add rte_hash_del_key_fixed
 without compact
Thread-Index: AdYcO135HJmvjYM1Q2CGkNRR8o1T1wBYjpkQAAj59vABXEemcAADnGyAAUyt8AAAEvv9YA==
Date: Wed, 13 May 2020 01:28:27 +0000
Message-ID: <40280F65B1B0B44E8089ED31C01616EBA49C65F4@dggeml529-mbx.china.huawei.com>
References: <40280F65B1B0B44E8089ED31C01616EBA49921F2@dggeml529-mbx.china.huawei.com>
 <DBBPR08MB464619A89094FEA419669D4598AC0@DBBPR08MB4646.eurprd08.prod.outlook.com>
 <40280F65B1B0B44E8089ED31C01616EBA4997CD9@dggeml529-mbx.china.huawei.com>
 <DBBPR08MB4646FA4227427A8B731A766C98A70@DBBPR08MB4646.eurprd08.prod.outlook.com>
 <40280F65B1B0B44E8089ED31C01616EBA49A19CE@dggeml529-mbx.china.huawei.com>
 <MW3PR11MB46846D04E1223D7708388898C3BE0@MW3PR11MB4684.namprd11.prod.outlook.com>
In-Reply-To: <MW3PR11MB46846D04E1223D7708388898C3BE0@MW3PR11MB4684.namprd11.prod.outlook.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.173.251.98]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Subject: [dpdk-stable] =?utf-8?b?562U5aSNOiBbZHBkay1kZXZdIFtQQVRDSF0gbGli?=
 =?utf-8?q?/librte=5Fhash=3A_add_rte=5Fhash=5Fdel=5Fkey=5Ffixed_without_co?=
 =?utf-8?q?mpact?=
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
Errors-To: stable-bounces@dpdk.org
Sender: "stable" <stable-bounces@dpdk.org>

DQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IFdhbmcsIFlpcGVuZzEg
W21haWx0bzp5aXBlbmcxLndhbmdAaW50ZWwuY29tXQ0KPiDlj5HpgIHml7bpl7Q6IDIwMjDlubQ1
5pyIMTPml6UgNzo0MQ0KPiDmlLbku7bkuro6IExpbGlqdW4gKEplcnJ5KSA8amVycnkubGlsaWp1
bkBodWF3ZWkuY29tPjsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPEhvbm5hcHBhLk5hZ2FyYWhh
bGxpQGFybS5jb20+OyAnZGV2QGRwZGsub3JnJyA8ZGV2QGRwZGsub3JnPg0KPiDmioTpgIE6IHdh
bmd5dW5qaWFuIDx3YW5neXVuamlhbkBodWF3ZWkuY29tPjsgeHVkaW5na2UNCj4gPHh1ZGluZ2tl
QGh1YXdlaS5jb20+OyAnc3RhYmxlQGRwZGsub3JnJyA8c3RhYmxlQGRwZGsub3JnPjsgbmQNCj4g
PG5kQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4NCj4g5Li76aKYOiBSRTogW2RwZGstZGV2XSBb
UEFUQ0hdIGxpYi9saWJydGVfaGFzaDogYWRkIHJ0ZV9oYXNoX2RlbF9rZXlfZml4ZWQNCj4gd2l0
aG91dCBjb21wYWN0DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJv
bTogTGlsaWp1biAoSmVycnkpIDxqZXJyeS5saWxpanVuQGh1YXdlaS5jb20+DQo+ID4gU2VudDog
VHVlc2RheSwgTWF5IDUsIDIwMjAgNjoxMCBQTQ0KPiA+IFRvOiBIb25uYXBwYSBOYWdhcmFoYWxs
aSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT47DQo+ID4gJ2RldkBkcGRrLm9yZycgPGRl
dkBkcGRrLm9yZz4NCj4gPiBDYzogd2FuZ3l1bmppYW4gPHdhbmd5dW5qaWFuQGh1YXdlaS5jb20+
OyB4dWRpbmdrZQ0KPiA+IDx4dWRpbmdrZUBodWF3ZWkuY29tPjsgJ3N0YWJsZUBkcGRrLm9yZycg
PHN0YWJsZUBkcGRrLm9yZz47IG5kDQo+ID4gPG5kQGFybS5jb20+OyBXYW5nLCBZaXBlbmcxIDx5
aXBlbmcxLndhbmdAaW50ZWwuY29tPjsgbmQNCj4gPG5kQGFybS5jb20+DQo+ID4gU3ViamVjdDog
562U5aSNOiBbZHBkay1kZXZdIFtQQVRDSF0gbGliL2xpYnJ0ZV9oYXNoOiBhZGQNCj4gPiBydGVf
aGFzaF9kZWxfa2V5X2ZpeGVkIHdpdGhvdXQgY29tcGFjdA0KPiA+DQo+ID4gPiAtLS0tLemCruS7
tuWOn+S7ti0tLS0tDQo+ID4gPiDlj5Hku7bkuro6IEhvbm5hcHBhIE5hZ2FyYWhhbGxpIFttYWls
dG86SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbV0NCj4gPiA+IOWPkemAgeaXtumXtDogMjAy
MOW5tDXmnIg25pelIDc6MTgNCj4gPiA+IOaUtuS7tuS6ujogTGlsaWp1biAoSmVycnkpIDxqZXJy
eS5saWxpanVuQGh1YXdlaS5jb20+OyAnZGV2QGRwZGsub3JnJw0KPiA+ID4gPGRldkBkcGRrLm9y
Zz4NCj4gPiA+IOaKhOmAgTogd2FuZ3l1bmppYW4gPHdhbmd5dW5qaWFuQGh1YXdlaS5jb20+OyB4
dWRpbmdrZQ0KPiA+ID4gPHh1ZGluZ2tlQGh1YXdlaS5jb20+OyAnc3RhYmxlQGRwZGsub3JnJyA8
c3RhYmxlQGRwZGsub3JnPjsgbmQNCj4gPiA+IDxuZEBhcm0uY29tPjsgSG9ubmFwcGEgTmFnYXJh
aGFsbGkNCj4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+Ow0KPiA+ID4geWlwZW5nMS53
YW5nQGludGVsLmNvbTsgbmQgPG5kQGFybS5jb20+DQo+ID4gPiDkuLvpopg6IFJFOiBbZHBkay1k
ZXZdIFtQQVRDSF0gbGliL2xpYnJ0ZV9oYXNoOiBhZGQNCj4gPiA+IHJ0ZV9oYXNoX2RlbF9rZXlf
Zml4ZWQgd2l0aG91dCBjb21wYWN0DQo+ID4gPg0KPiA+ID4gPHNuaXA+DQo+ID4gPg0KPiA+ID4g
QWRkaW5nIFlpcGVuZywgbWFpbnRhaW5lciBmb3IgaGFzaCBsaWJyYXJ5DQo+ID4gPg0KPiA+ID4g
Pg0KPiA+ID4gPiBUaGFua3MgZm9yIHlvdXIgcmVwbHkuDQo+ID4gPiA+DQo+ID4gPiA+IFVzaW5n
IHJ0ZV9oYXNoIGl0ZXJhdGUgYW5kIGRlbGV0ZSBrZXlzIGlzIHRvIGZyZWUgdGhlIHJlbGF0ZWQN
Cj4gPiA+ID4gZGF0YSdzDQo+ID4gbWVtb3J5Lg0KPiA+ID4gPiBUaGVyZSBhcmUgdHdvIHJlYXNv
bnMgd2h5IHJ0ZV9oYXNoX3Jlc2V0KCkgaXMgbm90IHByb3Blcmx5Og0KPiA+ID4gPiAxKSAgdGhl
IHJlc2V0IGZ1bmN0aW9uIGp1c3QgY2xlYXIgYWxsIGtleXMsIHRoZSBrZXkncyByZWxhdGVkIGRh
dGEgYXJlDQo+IGxlYWtlZC4NCj4gPiA+IFRoYXQgaXMgYSBnb29kIHBvaW50LiBJIHRoaW5rIHRo
aXMgc2hvdWxkIGJlIGRvY3VtZW50ZWQgaW4gdGhlIEFQSS4NCj4gDQo+IFtZaXBlbmddDQo+IEJ5
IGxlYWtpbmcsIGRvIHlvdSBtZWFuIHRoYXQgeW91IGtlZXAgZGF0YSBpbiBzZXBhcmF0ZSBwbGFj
ZXMgYW5kIHRoZQ0KPiBwb2ludGVycyB0byB0aGVtIGFyZSBtaXNzZWQgZnJvbSB0YWJsZSBhZnRl
ciByZXNldD8gQ2FuIHlvdSBrZWVwIGRhdGEgaW4gYW4NCj4gYXJyYXkgYW5kIGl0ZXJhdGUgdGhh
dCBhcnJheSBpbnN0ZWFkPw0KW0xpbGlqdW4gKEplcnJ5KV0gDQpZZXMsIHRoZSBkYXRhIHBvaW50
ZXJzIGluIHJ0ZSBoYXNoIHRhYmxlIGFyZSBtaXNzZWQgYWZ0ZXIgcmVzZXQuDQpUaGUgc29sdXRp
b24gdXNpbmcgYW4gZXh0ZXJuYWwgYXJyYXkgdG8ga2VlcCBhbGwgZGF0YSBjYW4gYXZvaWQgdGhp
cyBwcm9ibGVtLCBidXQgaXQgbWF5IGludHJvZHVjZSBzb21lIGV4dHJhIG1lbW9yaWVzIGNvc3Qu
DQpJdCdzIGJldHRlciBydGVfaGFzaCBjYW4gc3VwcG9ydCBpdGVyYXRlIHdoZW4gaW5zZXJ0aW5n
IG9yIGRlbGV0aW5nLg0KPiA+ID4NCj4gPiA+ID4gMikgIEluIHNvbWUgY2FzZXMsIEkgZG9uJ3Qg
bmVlZCBkZWxldGUgYWxsIGtleXMuIEp1c3Qgc29tZQ0KPiA+ID4gPiBzZWxlY3RlZCBrZXlzIGFu
ZCBkYXRhIGFyZSBkZWxldGVkIGFuZCByZWxlYXNlZC4NCj4gW1lpcGVuZ10NCj4gQ291bGQgeW91
IGtlZXAgYSBjYW5kaWRhdGUgbGlzdCBvZiBrZXlzIHlvdSB3YW50IHRvIGRlbGV0ZSBpbiBhbm90
aGVyIGRhdGENCj4gc3RydWN0dXJlIHNvIHlvdSBkb27igJl0IG5lZWQgdG8gaXRlcmF0ZSB0aGUg
d2hvbGUgaGFzaCB0YWJsZT8NCj4gDQpbTGlsaWp1biAoSmVycnkpXSANCkkgbmVlZCBpdGVyYXRl
IHRoZSBoYXNoIHRhYmxlIGF0IGZpcnN0IGFuZCBkZWNpZGUgd2hpY2gga2V5IGFyZSBjYW5kaWRh
dGUsICB0aGVuIGRlbGV0ZSB0aGUga2V5L2RhdGEgaW5zdGFudGx5Lg0KT2YgY291cnNlLCBoZXJl
IEkgY2FuIGtlZXAgdGhvc2UgY2FuZGlkYXRlIGtleXMgYW5kIGRhdGFzIGluIGEgdGVtcG9yYXJ5
IGxpc3QgYW5kIGRlbGV0ZSB0aGVtIGFmdGVyIHRoZSBpdGVyYXRlIGlzIGZpbmlzaGVkLg0KVGhp
cyBtYXkgYmUgYSBzZWNvbmQgY2hvaWNlIGZvciBtZSBhbHRob3VnaCBpdCBiZWNhbWUgbW9yZSBj
b21wbGljYXRlZC4NCj4gPiA+IEkgdW5kZXJzdGFuZCB0aGUgcHJvYmxlbSB5b3UgaGF2ZSBwb2lu
dGVkIG91dCBhbmQgdW5kZXJzdGFuZCBob3cgdG8NCj4gPiA+IHJlcHJvZHVjZSBpdC4gQnV0LCB0
aGUgdXNlIGNhc2UgaXMgbm90IGNsZWFyIHRvIG1lLiBDYW4geW91IHBsZWFzZQ0KPiA+ID4gZXhw
bGFpbiB0aGUgdXNlIGNhc2U/DQo+ID4gW0xpbGlqdW4gKEplcnJ5KV0NCj4gPg0KPiA+IEFzIHlv
dSBrbm93LCB0aGUgZHBkayBydGVfaGFzaCB1c2UgYSBmaXhlZCBzaXplIHRhYmxlIHRvIHN0b3Jl
IGFsbA0KPiBrZXlzL2RhdGFzLg0KPiA+IFRoZSBtZW1vcnkgdXNlZCBieSBoYXNoIHRhYmxlIGlz
IHJlbGF0ZWQgd2l0aCB0aGlzIGZpeGVkIHNpemUuDQo+ID4gSW4gbXkgY2FzZSwgbm9ybWFsbHkg
dGhlIGNvdW50IG9mIGtleXMgaXMgYWJvdXQgMTAwLDAwMCBidXQgc29tZXRpbWVzDQo+ID4gdGhl
IGNvdW50IG1heSBidXJzdCB1cCB0byAzMCwwMDAsMDAwLg0KPiA+IEluIG9yZGVyIHRvIHNhdmUg
bWVtb3J5IHVzYWdlLCBJIGNyZWF0ZSBhIHNtYWxsIGhhc2ggdGFibGUgd2l0aA0KPiA+IDEwMCww
MDAgc2l6ZSBhbmQgcmVwbGFjZSB0byBhIGJpZ2dlciBvbmUgd2l0aCAzMCwwMDAsMDAwIHNpemUg
d2hlbg0KPiA+IHRoZXJlIGFyZSBtb3JlIGtleXMgdG8gYmUgc3RvcmVkLiBBbHNvIHdoZW4gdGhl
IGtleSdzIGNvdW50IHJlZHVjZWQgdG8NCj4gPiBsZXNzIHRoYW4gMTAwLDAwMCwgSSByZXBsYWNl
IHRoZSBoYXNoIHRhYmxlIHdpdGggYSBzbWFsbCBvbmUgdG8gc2F2ZSB0aGUNCj4gbWVtb3J5Lg0K
PiBbWWlwZW5nXQ0KPiBDb3VsZCB5b3UgdGVsbCBtZSBtb3JlIG9uIHRoZSB1c2UgY2FzZT8gU2lu
Y2UgaW5zZXJ0aW9uIHdvdWxkIGFsc28gaW52YWxpZGF0ZQ0KPiB0aGUgSXRlcmF0b3IsIGRvIHlv
dSBpbnNlcnQga2V5cyBvbmx5IHRvIG5ldyB0YWJsZSBkdXJpbmcgcmVzaXppbmc/DQo+IA0KW0xp
bGlqdW4gKEplcnJ5KV0gDQpZZXMsIEluc2VydCBvbmx5IHRvIG5ldyB0YWJsZS4gQmVjYXVzZSB0
aGUgcmVzaXplIHByb2Nlc3MgbmVlZCB0YWtlIGEgd3JpdGUgbG9jayBhbmQgdGhlIG9sZCB0YWJs
ZSdzIGtleSBpbnNlcnRpb24gYXJlIHByZXZlbnRlZCBieSB0aGUgbG9jayBub3cuIA0KRG8geW91
IG1lYW4gdGhlIGtleSBpbnNlcnRpb24gbWF5IGNoYW5nZSBvdGhlciBrZXkncyBwb3NpdGlvbiBi
eSBjdWNrb28gaGFzaCBhbGdvcml0aG0gYW5kIGludmFsaWRhdGUgdGhlIGl0ZXJhdG9yPw0KVGhh
dCBtYXliZSBhIG5ldyBxdWVzdGlvbiBJIGhhdmVuJ3QgbWV0IHlldC4NCj4gPg0KPiA+ID4NCj4g
PiA+ID4NCj4gPiA+ID4gSmVycnkuDQo+ID4gPiA+DQo+ID4gPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2
LS0tLS0NCj4gPiA+ID4g5Y+R5Lu25Lq6OiBIb25uYXBwYSBOYWdhcmFoYWxsaSBbbWFpbHRvOkhv
bm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb21dDQo+ID4gPiA+IOWPkemAgeaXtumXtDogMjAyMOW5
tDTmnIgyOeaXpSA0OjQ2DQo+ID4gPiA+IOaUtuS7tuS6ujogTGlsaWp1biAoSmVycnkpIDxqZXJy
eS5saWxpanVuQGh1YXdlaS5jb20+OyAnZGV2QGRwZGsub3JnJw0KPiA+ID4gPiA8ZGV2QGRwZGsu
b3JnPg0KPiA+ID4gPiDmioTpgIE6IHdhbmd5dW5qaWFuIDx3YW5neXVuamlhbkBodWF3ZWkuY29t
PjsgeHVkaW5na2UNCj4gPiA+ID4gPHh1ZGluZ2tlQGh1YXdlaS5jb20+OyAnc3RhYmxlQGRwZGsu
b3JnJyA8c3RhYmxlQGRwZGsub3JnPjsgbmQNCj4gPiA+ID4gPG5kQGFybS5jb20+OyBIb25uYXBw
YSBOYWdhcmFoYWxsaQ0KPiA+IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsNCj4gPiA+
IG5kDQo+ID4gPiA+IDxuZEBhcm0uY29tPg0KPiA+ID4gPiDkuLvpopg6IFJFOiBbZHBkay1kZXZd
IFtQQVRDSF0gbGliL2xpYnJ0ZV9oYXNoOiBhZGQNCj4gPiA+ID4gcnRlX2hhc2hfZGVsX2tleV9m
aXhlZCB3aXRob3V0IGNvbXBhY3QNCj4gPiA+ID4NCj4gPiA+ID4gPHNuaXA+DQo+ID4gPiA+DQo+
ID4gPiA+IEhpIEplcnJ5LA0KPiA+ID4gPiAJRmV3IHF1ZXN0aW9ucyBpbmxpbmUuDQo+ID4gPiA+
DQo+ID4gPiA+ID4gU3ViamVjdDogW2RwZGstZGV2XSBbUEFUQ0hdIGxpYi9saWJydGVfaGFzaDog
YWRkDQo+ID4gPiA+ID4gcnRlX2hhc2hfZGVsX2tleV9maXhlZCB3aXRob3V0IGNvbXBhY3QNCj4g
PiA+ID4gPg0KPiA+ID4gPiA+IFRoZSBrZXlzIGlkeCBhcmUgc3RvcmVkIGluIHJ0ZV9oYXNoIG1h
aW4gYnVja2V0IGtleSBzbG90cyBhbmQNCj4gPiA+ID4gPiBleHRlbmQgYnVja2V0IGtleSBzdG90
cy4NCj4gPiA+ID4gPiBXZSBpdGVyYXRlIGV2ZXJ5IG5vIGVtcHR5IEtleXMgaW4gaC0+YnVja2V0
cyBhbmQgaC0+YnVja2V0c19leHQNCj4gPiA+ID4gPiBmcm9tIHN0YXJ0IHRvIGxhc3QuDQo+ID4g
PiA+ID4gV2hlbiBkZWxldGluZyBrZXlzIHRoZSBmdW5jdGlvbiBfX3J0ZV9oYXNoX2NvbXBhY3Rf
bGwoKSBtYXkgbW92ZQ0KPiA+ID4gPiA+IGxhc3RfYmt0J3Mga2V5IHRvIHByZXZpb3VzIGJ1Y2tl
dCBpbiBvcmRlciB0byBjb21wYWN0IGV4dGVuZCBidWNrZXQNCj4gbGlzdC4NCj4gPiA+ID4gPiBJ
ZiB0aGUgcHJldmlvdXMgYnVja2V0IGhhcyBiZWVuIGl0ZXJhdGVkLCB0aGUgbW92ZWQga2V5IG1h
eSBiZQ0KPiA+ID4gPiA+IG1pc3NlZCBmb3IgdXNlcnMuDQo+ID4gPiA+ID4gVGhlbiB0aG9zZSBt
aXNzZWQga2V5cyBhcmUgbGVha2VkIGFuZCBydGVfaGFzaCB0YWJsZSBjYW4ndCBiZQ0KPiBjbGVh
bnVwLg0KPiA+ID4gPiA+IFNvIHdlIGFkZCBhIG5ldyBBUEkgcnRlX2hhc2hfZGVsX2tleV9maXhl
ZCgpIHVzZWQgaW4gaXRlcmF0ZQ0KPiA+ID4gPiA+IGxvb3AgdG8gYXZvaWQgdGhpcyBidWdzLg0K
PiA+ID4gPiA+DQo+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gIGxpYi9saWJydGVfaGFzaC9ydGVf
Y3Vja29vX2hhc2guYyAgICB8IDE5ICsrKysrKysrKysrKysrLS0tLS0NCj4gPiA+ID4gPiAgbGli
L2xpYnJ0ZV9oYXNoL3J0ZV9oYXNoLmggICAgICAgICAgIHwgIDUgKysrKysNCj4gPiA+ID4gPiAg
bGliL2xpYnJ0ZV9oYXNoL3J0ZV9oYXNoX3ZlcnNpb24ubWFwIHwgIDEgKw0KPiA+ID4gPiA+ICAz
IGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pDQo+ID4gPiA+
ID4NCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9oYXNoL3J0ZV9jdWNrb29faGFz
aC5jDQo+ID4gPiA+ID4gYi9saWIvbGlicnRlX2hhc2gvcnRlX2N1Y2tvb19oYXNoLmMNCj4gPiA+
ID4gPiBpbmRleCBiNTI2MzBiLi4yZGEzYzFkIDEwMDY0NA0KPiA+ID4gPiA+IC0tLSBhL2xpYi9s
aWJydGVfaGFzaC9ydGVfY3Vja29vX2hhc2guYw0KPiA+ID4gPiA+ICsrKyBiL2xpYi9saWJydGVf
aGFzaC9ydGVfY3Vja29vX2hhc2guYw0KPiA+ID4gPiA+IEBAIC0xNTIzLDcgKzE1MjMsNyBAQCBz
ZWFyY2hfYW5kX3JlbW92ZShjb25zdCBzdHJ1Y3QgcnRlX2hhc2gNCj4gPiA+ID4gPiAqaCwgY29u
c3Qgdm9pZCAqa2V5LA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gIHN0YXRpYyBpbmxpbmUgaW50MzJf
dA0KPiA+ID4gPiA+ICBfX3J0ZV9oYXNoX2RlbF9rZXlfd2l0aF9oYXNoKGNvbnN0IHN0cnVjdCBy
dGVfaGFzaCAqaCwgY29uc3QNCj4gPiA+ID4gPiB2b2lkDQo+ID4gPiAqa2V5LA0KPiA+ID4gPiA+
IC0JCQkJCQloYXNoX3NpZ190IHNpZykNCj4gPiA+ID4gPiArCQkJCQkJaGFzaF9zaWdfdCBzaWcs
DQo+IHVpbnQ4X3QNCj4gPiA+ID4gPiBjb21wYWN0KQ0KPiA+ID4gPiA+ICB7DQo+ID4gPiA+ID4g
IAl1aW50MzJfdCBwcmltX2J1Y2tldF9pZHgsIHNlY19idWNrZXRfaWR4Ow0KPiA+ID4gPiA+ICAJ
c3RydWN0IHJ0ZV9oYXNoX2J1Y2tldCAqcHJpbV9ia3QsICpzZWNfYmt0LCAqcHJldl9ia3QsDQo+
ID4gPiA+ID4gKmxhc3RfYmt0Ow0KPiA+ID4gPiBAQA0KPiA+ID4gPiA+IC0xNTQxLDcgKzE1NDEs
OCBAQCBfX3J0ZV9oYXNoX2RlbF9rZXlfd2l0aF9oYXNoKGNvbnN0IHN0cnVjdA0KPiA+ID4gPiA+
IHJ0ZV9oYXNoICpoLCBjb25zdCB2b2lkICprZXksDQo+ID4gPiA+ID4gIAkvKiBsb29rIGZvciBr
ZXkgaW4gcHJpbWFyeSBidWNrZXQgKi8NCj4gPiA+ID4gPiAgCXJldCA9IHNlYXJjaF9hbmRfcmVt
b3ZlKGgsIGtleSwgcHJpbV9ia3QsIHNob3J0X3NpZywgJnBvcyk7DQo+ID4gPiA+ID4gIAlpZiAo
cmV0ICE9IC0xKSB7DQo+ID4gPiA+ID4gLQkJX19ydGVfaGFzaF9jb21wYWN0X2xsKGgsIHByaW1f
Ymt0LCBwb3MpOw0KPiA+ID4gPiA+ICsJCWlmIChjb21wYWN0KQ0KPiA+ID4gPiA+ICsJCQlfX3J0
ZV9oYXNoX2NvbXBhY3RfbGwoaCwgcHJpbV9ia3QsIHBvcyk7DQo+ID4gPiA+ID4gIAkJbGFzdF9i
a3QgPSBwcmltX2JrdC0+bmV4dDsNCj4gPiA+ID4gPiAgCQlwcmV2X2JrdCA9IHByaW1fYmt0Ow0K
PiA+ID4gPiA+ICAJCWdvdG8gcmV0dXJuX2JrdDsNCj4gPiA+ID4gPiBAQCAtMTU1Myw3ICsxNTU0
LDggQEAgX19ydGVfaGFzaF9kZWxfa2V5X3dpdGhfaGFzaChjb25zdA0KPiBzdHJ1Y3QNCj4gPiA+
ID4gPiBydGVfaGFzaCAqaCwgY29uc3Qgdm9pZCAqa2V5LA0KPiA+ID4gPiA+ICAJRk9SX0VBQ0hf
QlVDS0VUKGN1cl9ia3QsIHNlY19ia3QpIHsNCj4gPiA+ID4gPiAgCQlyZXQgPSBzZWFyY2hfYW5k
X3JlbW92ZShoLCBrZXksIGN1cl9ia3QsIHNob3J0X3NpZywNCj4gJnBvcyk7DQo+ID4gPiA+ID4g
IAkJaWYgKHJldCAhPSAtMSkgew0KPiA+ID4gPiA+IC0JCQlfX3J0ZV9oYXNoX2NvbXBhY3RfbGwo
aCwgY3VyX2JrdCwgcG9zKTsNCj4gPiA+ID4gPiArCQkJaWYgKGNvbXBhY3QpDQo+ID4gPiA+ID4g
KwkJCQlfX3J0ZV9oYXNoX2NvbXBhY3RfbGwoaCwgY3VyX2JrdCwNCj4gcG9zKTsNCj4gPiA+ID4g
PiAgCQkJbGFzdF9ia3QgPSBzZWNfYmt0LT5uZXh0Ow0KPiA+ID4gPiA+ICAJCQlwcmV2X2JrdCA9
IHNlY19ia3Q7DQo+ID4gPiA+ID4gIAkJCWdvdG8gcmV0dXJuX2JrdDsNCj4gPiA+ID4gPiBAQCAt
MTYwNywxNCArMTYwOSwyMSBAQCBydGVfaGFzaF9kZWxfa2V5X3dpdGhfaGFzaChjb25zdA0KPiBz
dHJ1Y3QNCj4gPiA+ID4gPiBydGVfaGFzaCAqaCwNCj4gPiA+ID4gPiAgCQkJY29uc3Qgdm9pZCAq
a2V5LCBoYXNoX3NpZ190IHNpZykgIHsNCj4gPiA+ID4gPiAgCVJFVFVSTl9JRl9UUlVFKCgoaCA9
PSBOVUxMKSB8fCAoa2V5ID09IE5VTEwpKSwgLUVJTlZBTCk7DQo+ID4gPiA+ID4gLQlyZXR1cm4g
X19ydGVfaGFzaF9kZWxfa2V5X3dpdGhfaGFzaChoLCBrZXksIHNpZyk7DQo+ID4gPiA+ID4gKwly
ZXR1cm4gX19ydGVfaGFzaF9kZWxfa2V5X3dpdGhfaGFzaChoLCBrZXksIHNpZywgMSk7DQo+ID4g
PiA+ID4gIH0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICBpbnQzMl90DQo+ID4gPiA+ID4gIHJ0ZV9o
YXNoX2RlbF9rZXkoY29uc3Qgc3RydWN0IHJ0ZV9oYXNoICpoLCBjb25zdCB2b2lkICprZXkpICB7
DQo+ID4gPiA+ID4gIAlSRVRVUk5fSUZfVFJVRSgoKGggPT0gTlVMTCkgfHwgKGtleSA9PSBOVUxM
KSksIC1FSU5WQUwpOw0KPiA+ID4gPiA+IC0JcmV0dXJuIF9fcnRlX2hhc2hfZGVsX2tleV93aXRo
X2hhc2goaCwga2V5LA0KPiBydGVfaGFzaF9oYXNoKGgsDQo+ID4gPiBrZXkpKTsNCj4gPiA+ID4g
PiArCXJldHVybiBfX3J0ZV9oYXNoX2RlbF9rZXlfd2l0aF9oYXNoKGgsIGtleSwNCj4gcnRlX2hh
c2hfaGFzaChoLA0KPiA+ID4ga2V5KSwNCj4gPiA+ID4gPiAxKTsNCj4gPiA+ID4gPiArfQ0KPiA+
ID4gPiA+ICsNCj4gPiA+ID4gPiAraW50MzJfdA0KPiA+ID4gPiA+ICtydGVfaGFzaF9kZWxfa2V5
X2ZpeGVkKGNvbnN0IHN0cnVjdCBydGVfaGFzaCAqaCwgY29uc3Qgdm9pZCAqa2V5KQ0KPiB7DQo+
ID4gPiA+ID4gKwlSRVRVUk5fSUZfVFJVRSgoKGggPT0gTlVMTCkgfHwgKGtleSA9PSBOVUxMKSks
IC1FSU5WQUwpOw0KPiA+ID4gPiA+ICsJcmV0dXJuIF9fcnRlX2hhc2hfZGVsX2tleV93aXRoX2hh
c2goaCwga2V5LA0KPiBydGVfaGFzaF9oYXNoKGgsDQo+ID4gPiBrZXkpLA0KPiA+ID4gPiA+IDAp
Ow0KPiA+ID4gPiA+ICB9DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgaW50DQo+ID4gPiA+ID4gZGlm
ZiAtLWdpdCBhL2xpYi9saWJydGVfaGFzaC9ydGVfaGFzaC5oDQo+ID4gPiA+ID4gYi9saWIvbGli
cnRlX2hhc2gvcnRlX2hhc2guaCBpbmRleCBlY2ViMzY1Li45YjcxZDhhIDEwMDY0NA0KPiA+ID4g
PiA+IC0tLSBhL2xpYi9saWJydGVfaGFzaC9ydGVfaGFzaC5oDQo+ID4gPiA+ID4gKysrIGIvbGli
L2xpYnJ0ZV9oYXNoL3J0ZV9oYXNoLmgNCj4gPiA+ID4gPiBAQCAtMjk3LDYgKzI5NywxMSBAQCBy
dGVfaGFzaF9hZGRfa2V5X3dpdGhfaGFzaChjb25zdCBzdHJ1Y3QNCj4gPiA+ID4gcnRlX2hhc2gN
Cj4gPiA+ID4gPiAqaCwgY29uc3Qgdm9pZCAqa2V5LCBoYXNoX3NpZ190ICBpbnQzMl90ICBydGVf
aGFzaF9kZWxfa2V5KGNvbnN0DQo+ID4gPiA+ID4gc3RydWN0IHJ0ZV9oYXNoICpoLCBjb25zdCB2
b2lkICprZXkpOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsvKiBmb3Igd2l0
aG91dCBjb21wYWN0ICovDQo+ID4gPiA+ID4gK2ludDMyX3QNCj4gPiA+ID4gPiArcnRlX2hhc2hf
ZGVsX2tleV9maXhlZChjb25zdCBzdHJ1Y3QgcnRlX2hhc2ggKmgsIGNvbnN0IHZvaWQNCj4gPiA+
ID4gPiArKmtleSk7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICAvKioNCj4gPiA+ID4gPiAgICog
UmVtb3ZlIGEga2V5IGZyb20gYW4gZXhpc3RpbmcgaGFzaCB0YWJsZS4NCj4gPiA+ID4gPiAgICog
VGhpcyBvcGVyYXRpb24gaXMgbm90IG11bHRpLXRocmVhZCBzYWZlIGRpZmYgLS1naXQNCj4gPiA+
ID4gPiBhL2xpYi9saWJydGVfaGFzaC9ydGVfaGFzaF92ZXJzaW9uLm1hcA0KPiA+ID4gPiA+IGIv
bGliL2xpYnJ0ZV9oYXNoL3J0ZV9oYXNoX3ZlcnNpb24ubWFwDQo+ID4gPiA+ID4gaW5kZXggMzBj
YzA4Ni4uMTk0MWQxNyAxMDA2NDQNCj4gPiA+ID4gPiAtLS0gYS9saWIvbGlicnRlX2hhc2gvcnRl
X2hhc2hfdmVyc2lvbi5tYXANCj4gPiA+ID4gPiArKysgYi9saWIvbGlicnRlX2hhc2gvcnRlX2hh
c2hfdmVyc2lvbi5tYXANCj4gPiA+ID4gPiBAQCAtMTEsNiArMTEsNyBAQCBEUERLXzIwLjAgew0K
PiA+ID4gPiA+ICAJcnRlX2hhc2hfY291bnQ7DQo+ID4gPiA+ID4gIAlydGVfaGFzaF9jcmVhdGU7
DQo+ID4gPiA+ID4gIAlydGVfaGFzaF9kZWxfa2V5Ow0KPiA+ID4gPiA+ICsJcnRlX2hhc2hfZGVs
X2tleV9maXhlZDsNCj4gPiA+ID4gPiAgCXJ0ZV9oYXNoX2RlbF9rZXlfd2l0aF9oYXNoOw0KPiA+
ID4gPiA+ICAJcnRlX2hhc2hfZmluZF9leGlzdGluZzsNCj4gPiA+ID4gPiAgCXJ0ZV9oYXNoX2Zy
ZWU7DQo+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiAyLjE5LjENCj4gPiA+ID4gPg0KPiA+ID4gPiA+
IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiA+ID4gPiDlj5Hku7bkuro6IExpbGlqdW4gKEpl
cnJ5KQ0KPiA+ID4gPiA+IOWPkemAgeaXtumXtDogMjAyMOW5tDTmnIgxOOaXpSAxODowMA0KPiA+
ID4gPiA+IOaUtuS7tuS6ujogJ2RldkBkcGRrLm9yZycgPGRldkBkcGRrLm9yZz47ICdzdGFibGVA
ZHBkay5vcmcnDQo+ID4gPiA+ID4gPHN0YWJsZUBkcGRrLm9yZz4NCj4gPiA+ID4gPiDkuLvpopg6
IHJ0ZV9oYXNoIGJ1ZzogY2FuJ3QgaXRlcmF0ZSBhbGwgZW50cmllcyB3aGVuIGRlbGV0aW5nIGtl
eXMNCj4gPiA+ID4gPiBpbiBydGVfaGFzaCBpdGVyYXRlIGxvb3AuDQo+ID4gPiA+ID4NCj4gPiA+
ID4gPiBIaSBhbGwsDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgICAgSW4gbXkgdGVzdCwgZW50cmll
cyBjYW4ndCBiZSBjbGVhbnVwIGluIHJ0ZV9oYXNoIHRhYmxlIHdoZW4NCj4gPiA+ID4gPiBkZWxl
dGluZyBrZXlzIGluIHJ0ZV9oYXNoIGl0ZXJhdGUgbG9vcC4gVGhlIHRlc3Qgc3RlcHM6DQo+ID4g
PiA+ID4gICAgIDEuICBjcmVhdGUgYSBoYXNoIHRhYmxlIHRhYmxlMSB3aXRoIGxpbWl0IDMwMDAw
LCBleHQgYnVja2V0DQo+ID4gPiA+ID4gZW5hYmxlZCwgIGFuZCBpbnNlcnQgMzAwMDAgZW50cmll
cyBpbnRvIHRoaXMgaGFzaCB0YWJsZS4NCj4gPiA+ID4gPiAgICAgMi4gIGNyZWF0ZSBhIGxhcmdl
ciBoYXNoIHRhYmxlIHRhYmxlMiB3aXRoIGxpbWl0IDYwMDAwLCAsDQo+ID4gPiA+ID4gZXh0IGJ1
Y2tldA0KPiA+ID4gPiBlbmFibGVkLg0KPiA+ID4gPiA+ICAgICAzLiAgaXRlcmF0ZSBhbGwgZW50
cmllcyBvZiB0YWJsZTEgYW5kIGluc2VydCB0aGVtIHRvIHRoZSB0YWJsZTIuDQo+ID4gPiA+ID4g
SW5zZXJ0IG5ldw0KPiA+ID4gPiA+IDEwMDAwIGVudHJpZXMgdG8gdGhpcyB0YWJsZTIuDQo+ID4g
PiA+ID4gICAgIDQuICBUaGVuIGZsdXNoIGFsbCBlbnRyaWVzIGZyb20gdGFibGUyIGJ5IGRlbGV0
aW5nIGtleXMgaW4NCj4gPiA+ID4gPiBydGVfaGFzaCBpdGVyYXRlIGxvb3AuIEJ1dCB0aGVyZSBh
cmUgc3RpbGwgc29tZSBrZXlzIGxlYWtlZCBpbiB0YWJsZTIuDQo+ID4gPiA+IElzIHRoZXJlIGFu
eSByZWFzb24gZm9yIGZsdXNoaW5nIHRhYmxlMiBpbiB0aGlzIG1hbm5lcj8NCj4gPiA+ID4gSXMg
aXQgcG9zc2libGUgdG8gdXNlICdydGVfaGFzaF9yZXNldCcgaW5zdGVhZD8NCj4gPiA+ID4NCj4g
PiA+ID4gPg0KPiA+ID4gPiA+ICAgICBGcm9tIG15IGFuYWx5c2lzLCB0aGUga2V5cyBpZHggYXJl
IHN0b3JlZCBpbiBydGVfaGFzaCBtYWluDQo+ID4gPiA+ID4gYnVja2V0IGtleSBzbG90cyBhbmQg
ZXh0ZW5kIGJ1Y2tldCBrZXkgc3RvdHMuDQo+ID4gPiA+ID4gICAgIFdlIGl0ZXJhdGUgZXZlcnkg
bm8gZW1wdHkgS2V5cyBpbiBoLT5idWNrZXRzIGFuZA0KPiA+ID4gPiA+IGgtPmJ1Y2tldHNfZXh0
IGZyb20gc3RhcnQgdG8gbGFzdC4NCj4gPiA+ID4gPiAgICAgV2hlbiBkZWxldGluZyBrZXlzIHRo
ZSBmdW5jdGlvbiBfX3J0ZV9oYXNoX2NvbXBhY3RfbGwoKSBtYXkNCj4gPiA+ID4gPiBtb3ZlIGxh
c3RfYmt0J3Mga2V5IHRvIHByZXZpb3VzIGJ1Y2tldCBpbiBvcmRlciB0byBjb21wYWN0DQo+ID4g
PiA+ID4gZXh0ZW5kDQo+ID4gYnVja2V0IGxpc3QuDQo+ID4gPiA+ID4gICAgIElmIHRoZSBwcmV2
aW91cyBidWNrZXQgaGFzIGJlZW4gaXRlcmF0ZWQsIHRoZSBtb3ZlZCBrZXkgbWF5DQo+ID4gPiA+
ID4gYmUgbWlzc2VkIGZvciB1c2Vycy4NCj4gPiA+ID4gPiAgICAgVGhlbiB0aG9zZSBtaXNzZWQg
a2V5cyBhcmUgbGVha2VkIGFuZCBydGVfaGFzaCB0YWJsZSBjYW4ndA0KPiA+ID4gPiA+IGJlDQo+
ID4gY2xlYW51cC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgICBOb3cgSSByZXRyeSB0aGUgaXRl
cmF0ZSBhbmQgZGVsZXRlIGtleXMsIHRoYXQgY2FuIGF2b2lkIHRoaXMgYnVnLg0KPiA+ID4gPiA+
DQo+ID4gPiA+ID4gICAgIElzIHRoZXJlIGFueSBpZGVhcyBvciBzb2x1dGlvbnMgb24gdGhpcyBi
dWc/ICAgVGhhbmtzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSmVycnkuDQo+IFtXYW5nLCBZaXBl
bmddDQo+IFRoYW5rcyBIb25uYXBwYSBmb3IgYWRkaW5nIG1lIHRvIHRoZSByZWNpcGllbnQgbGlz
dCwgSSBhbSBzb3JyeSB0aGF0IEkgbWlzc2VkDQo+IHRoaXMgcGF0Y2ggcHJldmlvdXNseS4NCj4g
SW4gZnV0dXJlIHlvdSBjb3VsZCBhZGQgbWUgdG8gdGhlIHJlY2lwaWVudCBsaXN0IGZvciBoYXNo
IHJlbGF0ZWQNCj4gcGF0Y2hlcy9xdWVzdGlvbnMhIFRoYW5rcyENCj4gDQo+IEFsdGhvdWdoIGl0
IGlzIG5vdCBhIGJ1ZyB0byBtZSwgSSB0aGluayB0aGlzIGlzIGEgdmFsaWQgaXNzdWUgYW5kIHRo
YW5rcyBmb3INCj4gYnJpbmdpbmcgaXQgdXAuDQo+IEkgc2VlIHRoZSBpdGVyYXRlIGZ1bmN0aW9u
IGFzIGxpa2UgdGhlIGl0ZXJhdG9yIGZyb20gQysrIHN0bC4gQW55DQo+IGluc2VydGlvbi9kZWxl
dGUgc2hvdWxkIGludmFsaWRhdGUgdGhlIGN1cnJlbnQgaXRlcmF0b3IgKGluc2VydGlvbiB0b28s
IHNpbmNlDQo+IGluc2VydGlvbiBjb3VsZCBtb3ZlIHRoaW5ncyBhcm91bmQgaW4gY3Vja29vIHBh
dGgpLg0KPiBGcm9tIHRoaXMgcG9pbnQgb2YgdmlldywgYnkgZGVzaWduIHRoZXJlIGlzIG5vIGd1
YXJhbnRlZSB0aGF0IHRoZSAibmV4dCINCj4gcG9pbnRlciBpcyBzdGlsbCB2YWxpZCBhZnRlciBh
bnkgaW5zZXJ0aW9uL2RlbGV0aW9uIGR1cmluZyB0aGUgaXRlcmF0aW9uLiBXZSBhdA0KPiBsZWFz
dCBzaG91bGQgY2xhcmlmeSB0aGlzIGluIHRoZSBkb2N1bWVudGF0aW9uLg0KPiANCj4gVGhhdCBz
YWlkLCBpbiBjKysgc3RsIHRoZXJlIGlzIGluZGVlZCBhIHdheSB0byBpdGVyYXRlIGFuZCBkZWxl
dGUgc2luY2UgaXQNCj4gcHJvdmlkZXMgYW4gZXJhc2UgZnVuY3Rpb24gcmV0dXJuaW5nIHRoZSBu
ZXh0IHZhbGlkIGl0ZXJhdG9yLg0KPiBJIHRoaW5rIHdlIGRvbuKAmXQgaGF2ZSBzdWNoIGNhcGFi
aWxpdHkgaW4gcnRlX2hhc2ggbm93IGFzIHlvdSBwb2ludGVkIG91dCwgYW5kDQo+IHRoaXMgaXMg
YSBnYXAgeW91IHdhbnQgdG8gZmlsbC4NCj4gDQo+IEhvd2V2ZXIsIHRoZSBwcm9wb3NlZCBBUEkg
IiBydGVfaGFzaF9kZWxfa2V5X2ZpeGVkIiBleHBvc2VzIHRoZQ0KPiBpbnRlcm5hbHMgb2YgdGhl
IGltcGxlbWVudGF0aW9uLg0KPiBUaGUgaW50ZXJuYWwgb2YgaGFzaCBsaWIgaXMgc3VwcG9zZWQg
dG8gYmUgYSBibGFjayBib3ggdG8gdGhlIHVzZXIuIEFsdGhvdWdoDQo+IHRoZSBpc3N1ZSBpcyBj
YXVzZWQgYnkgImNvbXBhY3Rpb24iLCB0aGUgQVBJIHNob3VsZCBub3QgZXhwb3NlIHRoYXQuIEkg
YW0NCj4gdGhpbmtpbmcgYSBmdW5jdGlvbiBsaWtlIHRoZSAiZXJhc2UiIGZyb20gc3RsIHdoaWNo
IHJldHVybnMgdGhlIG5leHQgdmFsaWQNCj4gaXRlcmF0b3Igc2hvdWxkIGJlIGEgYmV0dGVyIHdh
eS4gV2hhdCBkbyB5b3UgdGhpbms/DQo+IA0KW0xpbGlqdW4gKEplcnJ5KV0gDQpZZXMsIEkgYW0g
YWdyZWUgd2l0aCB5b3VyIHZpZXdzLiBTb21lICJlcmFzZSIgZnVuY3Rpb24gbWF5IGJlIGJldHRl
ciBmb3IgdGhpcyBjYXNlcy4NCg0KPiBSZXNpemluZyBpcyBhbiBpbXBvcnRhbnQgZmVhdHVyZSB0
aGF0IHdlIGFsd2F5cyB0aGluayB0byBhZGQgaW50byBydGVfaGFzaC4NCj4gRmVlbCBmcmVlIHRv
IHByb3Bvc2UgcmVzaXppbmcgRmVhdHVyZXMgdG9vIGludG8gcnRlX2hhc2ggYXMgeW91IGFyZSBh
bHJlYWR5DQo+IGRvaW5nIHNpbWlsYXIgdGhpbmcgcmlnaHQgbm93Lg0KPiANCltMaWxpanVuIChK
ZXJyeSldIA0KWWVzLCB0aGUgbWVtb3J5IGNvc3QgYnkgcnRlIGhhc2ggbWF5IGJlIHdhc3RlIHdo
ZW4gdGhlIGtleXMgdXNhZ2UgaXMgbm90IGhpZ2ggaW4gY29tbW9uLg0KUmVzaXplIGZlYXR1cmVz
IGNhbiBmaWd1cmUgb3V0IHRoYXQgcHJvYmxlbSBpbiBydGVfaGFzaC4gVGhhbmtzIGZvciB5b3Vy
IGFkdmljZS4NCg0KPiBCVFcsIHlvdSBjYW4gYWRkIGEgW1JGQ10gcHJlZml4IHRvIHRoZSBzdWJq
ZWN0IGxpbmUgZm9yIGZ1dHVyZSBSRkMgcGF0Y2hlcy4NCj4gDQo+IE90aGVyIHF1ZXN0aW9ucy9j
b21tZW50cyBhcmUgaW5saW5lZC4NCj4gDQo=