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 9DAFDA0542
	for <public@inbox.dpdk.org>; Thu, 13 Feb 2020 10:06:50 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 5683C2BF4;
	Thu, 13 Feb 2020 10:06:50 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70053.outbound.protection.outlook.com [40.107.7.53])
 by dpdk.org (Postfix) with ESMTP id 1FB8E2BF4
 for <stable@dpdk.org>; Thu, 13 Feb 2020 10:06:49 +0100 (CET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T4xm67/2MG93D9Kud4+pzV7KvrWWhSpCdJQEhkN4tctwf4/mC1G9wwpzorYm90psrqmwLl2bUiGC7LP/5UVjHDy9BgoKtQKqlVeThnxIzjrazE//9OKtMUeLUxhkvldlsFDfm7y/Ku9IDaoIp0DxQW1RerqtywWnkWAdmnK4ordC5Qfps+EwXdpNED2Mfh/WwZOqgBRk5n4ve93jrgWNPxoFuhcbusbI6+l/Q0/pSlkUsu1MrtYZbK3uOCZei5YBIaSLqsn8bO+AwQD/28ECOV1vmpbOH+tY1UCk1paMicvsvtuo5JvmhtL2M47U+pe/t1YDEeb0/TvDrNhh9jnxxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bFly7xcoqIbIytlIZpIGmfu1BEmEyPS7wb31XpFjz1U=;
 b=XZHFe5+GH0F7jQ+1VYR8NdoG/iikujT198Ycd0OcMbYpU1jy30KJQPMEUhwhNZK62sQNq+1KgTwp2xHz2LBFt8MIaOqX3ADpJ45eYmagzPHWGjespBwJwv4Pv3ZBG+9clFasZzSvVQgR1Sz1m+8U+THkEhO5k4+NyO/k6EdQtUL9An+qxf+bklOsF9SeGtFbH9OCDeS0xaY9t5uYIPcrRpqjLpM/NiPXQPp2rh+PnJJViC1JZw9TlthNNXlWkqhektW6Xf80pbbgRnwiOGOWdrjfPzxkCwnNOD656kocNYWZJszrLFfIpZblrytyCCqEGjP/TgiXT2p4KBXx3CgZkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com;
 dkim=pass header.d=mellanox.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bFly7xcoqIbIytlIZpIGmfu1BEmEyPS7wb31XpFjz1U=;
 b=D+RKNKmNcahpbsO+NFlOgu9+N4mwC6YAvjr6AFbEKkwW7m8uSy/Ykc3wgZJzMgF8pvOpqwuchec2VuLwidD/o1MqRB87qc4VevLiqJRWqQMXPXgFXfS5gAy2FBkOx9jQmCjAy4kercM5n2ExexKsaotma4DIT42Ho3BxDJ7xyr4=
Received: from VI1PR05MB4192.eurprd05.prod.outlook.com (10.171.183.18) by
 VI1PR05MB6350.eurprd05.prod.outlook.com (20.179.26.215) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2729.22; Thu, 13 Feb 2020 09:06:46 +0000
Received: from VI1PR05MB4192.eurprd05.prod.outlook.com
 ([fe80::44e:faeb:1967:44]) by VI1PR05MB4192.eurprd05.prod.outlook.com
 ([fe80::44e:faeb:1967:44%7]) with mapi id 15.20.2729.021; Thu, 13 Feb 2020
 09:06:46 +0000
From: Bing Zhao <bingz@mellanox.com>
To: Luca Boccassi <luca.boccassi@gmail.com>
CC: Ori Kam <orika@mellanox.com>, Slava Ovsiienko <viacheslavo@mellanox.com>, 
 dpdk stable <stable@dpdk.org>
Thread-Topic: patch 'net/mlx5: fix modify actions support limitation' has been
 queued to stable release 19.11.1
Thread-Index: AQHV4M7HneCBrhy0VE60C8RkM8wOW6gV/YAggAAOZACAAstLkA==
Date: Thu, 13 Feb 2020 09:06:46 +0000
Message-ID: <VI1PR05MB4192E2539E401AD700C5C8E0DD1A0@VI1PR05MB4192.eurprd05.prod.outlook.com>
References: <20200211112216.3929-1-luca.boccassi@gmail.com>
 <20200211112216.3929-122-luca.boccassi@gmail.com>
 <VI1PR05MB419276329D75764EE97B1105DD180@VI1PR05MB4192.eurprd05.prod.outlook.com>
 <31aed464aa917104b0a57c6a32870e67a15a60ba.camel@gmail.com>
In-Reply-To: <31aed464aa917104b0a57c6a32870e67a15a60ba.camel@gmail.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=bingz@mellanox.com; 
x-originating-ip: [122.235.209.77]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: eb2c4abb-325b-4765-a8d3-08d7b0640d6c
x-ms-traffictypediagnostic: VI1PR05MB6350:|VI1PR05MB6350:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR05MB6350FF20EC76DB9ADF619CECDD1A0@VI1PR05MB6350.eurprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 031257FE13
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10001)(10009020)(4636009)(366004)(376002)(346002)(39860400002)(136003)(396003)(189003)(199004)(66946007)(6506007)(54906003)(6916009)(966005)(5660300002)(66446008)(45080400002)(76116006)(316002)(66556008)(66476007)(64756008)(7696005)(2906002)(30864003)(86362001)(81156014)(81166006)(9686003)(8676002)(55016002)(71200400001)(33656002)(4326008)(26005)(52536014)(478600001)(53546011)(8936002)(186003)(559001)(579004);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB6350;
 H:VI1PR05MB4192.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: mellanox.com does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: W4P0HVRXr1TNhKsLUUxgkrRb0sGp0tMiVOz2Eph2SR6VZORK3aN/DT488D3PkSIi7DIrU1fMrXPjDOiAx8+zGsBc1kpMwmHKCm1JZ8wjcsNJNWATvK8ZvEIIifZ7rPPmyMFUCq9xUDVegEJz/g0TkIPJZiiDn/BkiUhhbNmR1xKHUwvwCbQQI/L/sITKySC6Ec3x7nZL2kgfJVeuLmXPA6+ih/ZMCBswEUTui0MCiWh8IfBZbfIttAxubPtk/waWeQPMtMWkR8nTNuD7GksFzfC5vth1Z38fU/WSKKpXfQ7e3Udxpd7+rlA2BvUAAamgfL3xiawLil6rosuaeuTtn2uIJMtFuHSgRVBc9UhBvVJ5rIVbDIMy3NFZMTjKJOC/ghBo2JEfwcMWV6Kt2/PcRpqz9afFL1mUROWYVt+TmTTge8M6f1mJ6f7nZkemCizdyZm5K8ml/WEE08T8GsU+VIRAjPhlr/Q6tn+ov888G3CBtTKkgiUGnCWBh5rlu6c7rn/cvmznagH73ySm0z+jTYjQO+EnwsKY8dyAwl712pJ6cgpNxJOsBPQEhkoV0/CumM6/Y3Im68+3wWZcvA1qh8s3f61Xj7/YZLk4TCDeq+bmOZghfyv2Wh1gRwAAMOc4
x-ms-exchange-antispam-messagedata: DjyT2ySu/SKssf/Bp5BGHTv5NbpDuIM2Kqx4V4urq7ETgkWneRd/SK79hc+M2Vbi0LQUzYBJbbRsifBwEpn8ZzqngO8g2UysQYVnduy5/5hyuS810ue4zb/HjNtqOsBEy4D0XgYBZArRkbTDR4Q0iA==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Mellanox.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb2c4abb-325b-4765-a8d3-08d7b0640d6c
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Feb 2020 09:06:46.2688 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: boJhdLohAYv9zMrUJONf8dwRqBY+CNOUhKqoEWOnW6feU5fwNcQsDeCYVdXyRcbd7+j4CG0o2Kf1AyYbe5HA3A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6350
Subject: Re: [dpdk-stable] patch 'net/mlx5: fix modify actions support
 limitation' has been queued to stable release 19.11.1
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>

SGkgTHVjYSwNCkkgY2hlY2tlZCB0aGUgcGF0Y2ggYW5kIGl0IGlzIE9LIGZvciBtZS4NCkFmdGVy
IHRoaXMgaXMgYXBwbGllZCwgdGhlbiBwYXRjaCAjNjU1NzQgaXMgYWxzbyBuZWVkZWQgZm9yIDE5
LjExLjEuDQoNClNvIG1hbnkgdGhhbmtzIGZvciB5b3VyIGhlbHAuDQoNCkJSLiBCaW5nDQoNCj4g
LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTHVjYSBCb2NjYXNzaSA8bHVjYS5i
b2NjYXNzaUBnbWFpbC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIEZlYnJ1YXJ5IDExLCAyMDIwIDEw
OjIzIFBNDQo+IFRvOiBCaW5nIFpoYW8gPGJpbmd6QG1lbGxhbm94LmNvbT4NCj4gQ2M6IE9yaSBL
YW0gPG9yaWthQG1lbGxhbm94LmNvbT47IFNsYXZhIE92c2lpZW5rbw0KPiA8dmlhY2hlc2xhdm9A
bWVsbGFub3guY29tPjsgZHBkayBzdGFibGUgPHN0YWJsZUBkcGRrLm9yZz4NCj4gU3ViamVjdDog
UmU6IHBhdGNoICduZXQvbWx4NTogZml4IG1vZGlmeSBhY3Rpb25zIHN1cHBvcnQgbGltaXRhdGlv
bicgaGFzDQo+IGJlZW4gcXVldWVkIHRvIHN0YWJsZSByZWxlYXNlIDE5LjExLjENCj4gDQo+IEhp
LA0KPiANCj4gVGhlIHJlYmFzaW5nIGlzIGRvbmUgYW5kIHlvdSBjYW4gc2VlIHRoZSByZXN1bHQg
aW4gdGhlIG1haWwgeW91IHJlcGxpZWQNCj4gdG8uDQo+IA0KPiBUaGUgbmV3IDE5LjExIGJyYW5j
aCB3aWxsIGJlIHB1c2hlZCBieSB0aGUgZW5kIG9mIHRoZSB3ZWVrLg0KPiANCj4gT24gVHVlLCAy
MDIwLTAyLTExIGF0IDEzOjQ4ICswMDAwLCBCaW5nIFpoYW8gd3JvdGU6DQo+ID4gSGkgTHVjYSwN
Cj4gPg0KPiA+IE1hbnkgdGhhbmtzIGZvciB5b3VyIGhlbHAuDQo+ID4NCj4gPiBZZXMsIHRoaXMg
bmVlZHMgdG8gYmUgYWxzbyBhcHBsaWVkIHRvIHRoZSAxOS4xMSBzdGFibGUgYnJhbmNoLiBJIHdh
bnQNCj4gPiB0byByZWJhc2UgaXQgYnV0IGNvdWxkIG5vdCBmaW5kIHRoZSBicmFuY2ggaW4NCj4g
Pg0KPiBodHRwczovL2V1cjAzLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9
aHR0cCUzQSUyRiUyRmcNCj4gaXQuZA0KPiA+IHBkay5vcmclMkZkcGRrLQ0KPiBzdGFibGUlMkYm
YW1wO2RhdGE9MDIlN0MwMSU3Q2Jpbmd6JTQwbWVsbGFub3guY29tJTdDODg4DQo+ID4NCj4gYzRm
YTJkMmIyNDJjOTNlYmMwOGQ3YWVmZGU0ZTElN0NhNjUyOTcxYzdkMmU0ZDliYTZhNGQxNDkyNTYN
Cj4gZjQ2MWIlN0MwJTcNCj4gPg0KPiBDMCU3QzYzNzE3MDI3NzgwNDU2NjMyMSZhbXA7c2RhdGE9
WU1UYWVkUlIzTHY3T0tkJTJGdmhFSg0KPiA1Q1hPSjlvSFUzaCUyQg0KPiA+IGVpNHFvdjB4NlJB
JTNEJmFtcDtyZXNlcnZlZD0wDQo+ID4gICwgc28gd291bGQgeW91IHBsZWFzZSBzaGFyZSBtZSB0
aGUNCj4gPiBicmFuY2ggaW5mb3JtYXRpb24gdGhlbiBJIGNhbiB0cnkgdG8gZmluaXNoIHRoZSBy
ZWJhc2luZyB0b2RheSBvcg0KPiA+IGVhcmx5IHRvbW9ycm93Lg0KPiA+DQo+ID4gQlIuIEJpbmcN
Cj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206DQo+ID4g
PiBsdWNhLmJvY2Nhc3NpQGdtYWlsLmNvbQ0KPiA+ID4gIDwNCj4gPiA+IGx1Y2EuYm9jY2Fzc2lA
Z21haWwuY29tDQo+ID4gPiA+DQo+ID4gPiBTZW50OiBUdWVzZGF5LCBGZWJydWFyeSAxMSwgMjAy
MCA3OjIxIFBNDQo+ID4gPiBUbzogQmluZyBaaGFvIDwNCj4gPiA+IGJpbmd6QG1lbGxhbm94LmNv
bQ0KPiA+ID4gPg0KPiA+ID4gQ2M6IE9yaSBLYW0gPA0KPiA+ID4gb3Jpa2FAbWVsbGFub3guY29t
DQo+ID4gPiA+OyBTbGF2YSBPdnNpaWVua28NCj4gPiA+IDwNCj4gPiA+IHZpYWNoZXNsYXZvQG1l
bGxhbm94LmNvbQ0KPiA+ID4gPjsgZHBkayBzdGFibGUgPA0KPiA+ID4gc3RhYmxlQGRwZGsub3Jn
DQo+ID4gPiA+DQo+ID4gPiBTdWJqZWN0OiBwYXRjaCAnbmV0L21seDU6IGZpeCBtb2RpZnkgYWN0
aW9ucyBzdXBwb3J0IGxpbWl0YXRpb24nDQo+ID4gPiBoYXMNCj4gPiA+IGJlZW4gcXVldWVkIHRv
IHN0YWJsZSByZWxlYXNlIDE5LjExLjENCj4gPiA+DQo+ID4gPiBIaSwNCj4gPiA+DQo+ID4gPiBG
WUksIHlvdXIgcGF0Y2ggaGFzIGJlZW4gcXVldWVkIHRvIHN0YWJsZSByZWxlYXNlIDE5LjExLjEN
Cj4gPiA+DQo+ID4gPiBOb3RlIGl0IGhhc24ndCBiZWVuIHB1c2hlZCB0bw0KPiA+ID4NCj4gaHR0
cHM6Ly9ldXIwMy5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHAlM0El
MkYlMkYNCj4gPiA+DQo+ID4gPiBkcGRrLm9yZyUyRmJyb3dzZSUyRmRwZGstDQo+ID4gPg0KPiBz
dGFibGUmYW1wO2RhdGE9MDIlN0MwMSU3Q2Jpbmd6JTQwbWVsbGFub3guY29tJTdDZjMxZDIwYWM4
Yw0KPiA+ID4NCj4gNGU0MjczODZhMTA4ZDdhZWU1ZThjMiU3Q2E2NTI5NzFjN2QyZTRkOWJhNmE0
ZDE0OTI1NmY0NjFiJQ0KPiA+ID4NCj4gN0MwJTdDMCU3QzYzNzE3MDE3NDc4MTk2MTgzNSZhbXA7
c2RhdGE9bm8lMkJHNW5LTnphWUw3Mm4NCj4gPiA+IDN2ZjV2MFptZm1KTFJMTmNQZndxZ2Y0WUpO
VTAlM0QmYW1wO3Jlc2VydmVkPTAgeWV0Lg0KPiA+ID4gSXQgd2lsbCBiZSBwdXNoZWQgaWYgSSBn
ZXQgbm8gb2JqZWN0aW9ucyBiZWZvcmUgMDIvMTMvMjAuIFNvIHBsZWFzZQ0KPiA+ID4gc2hvdXQg
aWYgYW55b25lIGhhcyBvYmplY3Rpb25zLg0KPiA+ID4NCj4gPiA+IEFsc28gbm90ZSB0aGF0IGFm
dGVyIHRoZSBwYXRjaCB0aGVyZSdzIGEgZGlmZiBvZiB0aGUgdXBzdHJlYW0gY29tbWl0DQo+ID4g
PiB2cyB0aGUgcGF0Y2ggYXBwbGllZCB0byB0aGUgYnJhbmNoLiBUaGlzIHdpbGwgaW5kaWNhdGUg
aWYgdGhlcmUgd2FzDQo+ID4gPiBhbnkgcmViYXNpbmcgbmVlZGVkIHRvIGFwcGx5IHRvIHRoZSBz
dGFibGUgYnJhbmNoLiBJZiB0aGVyZSB3ZXJlDQo+ID4gPiBjb2RlIGNoYW5nZXMgZm9yIHJlYmFz
aW5nDQo+ID4gPiAoaWU6IG5vdCBvbmx5IG1ldGFkYXRhIGRpZmZzKSwgcGxlYXNlIGRvdWJsZSBj
aGVjayB0aGF0IHRoZSByZWJhc2UNCj4gPiA+IHdhcyBjb3JyZWN0bHkgZG9uZS4NCj4gPiA+DQo+
ID4gPiBUaGFua3MuDQo+ID4gPg0KPiA+ID4gTHVjYSBCb2NjYXNzaQ0KPiA+ID4NCj4gPiA+IC0t
LQ0KPiA+ID4gRnJvbSBlMGRlODE2Zjk0NWU1OTlhOTMzMDgxYzUzYmIwNjBkNWRkNGNiZjEzIE1v
biBTZXAgMTcNCj4gPiA+IDAwOjAwOjAwIDIwMDENCj4gPiA+IEZyb206IEJpbmcgWmhhbyA8DQo+
ID4gPiBiaW5nekBtZWxsYW5veC5jb20NCj4gPiA+ID4NCj4gPiA+IERhdGU6IE1vbiwgMjAgSmFu
IDIwMjAgMTE6NDM6MDcgKzAyMDANCj4gPiA+IFN1YmplY3Q6IFtQQVRDSF0gbmV0L21seDU6IGZp
eCBtb2RpZnkgYWN0aW9ucyBzdXBwb3J0IGxpbWl0YXRpb24NCj4gPiA+DQo+ID4gPiBbIHVwc3Ry
ZWFtIGNvbW1pdCAwMjRlOTU3NTljMTZjNjdlZWU5MmVmZmZlZWUzNDkxNWRjOTRhOWMwIF0NCj4g
PiA+DQo+ID4gPiBJbiB0aGUgcm9vdCB0YWJsZSwgdGhlcmUgaXMgc29tZSBsaW1pdGF0aW9uIG9m
IHRvdGFsIG51bWJlciBvZg0KPiA+ID4gaGVhZGVyIG1vZGlmeSBhY3Rpb25zLCAxNiBvciA4IGZv
ciBlYWNoLiBCdXQgaW4gb3RoZXIgdGFibGVzLCB0aGVyZQ0KPiA+ID4gaXMgbm8gc3VjaCBzdHJp
Y3QgbGltaXRhdGlvbi4gSW4gYW4gSVB2NiBjYXNlLCB0aGUgSVAgZmllbGRzDQo+ID4gPiBtb2Rp
Znlpbmcgd2lsbCBvY2N1cHkgbW9yZSBhY3Rpb25zIHRoYW4gdGhhdCBpbiBJUHY0LCBzbyB0aGUg
dG90YWwNCj4gPiA+IHN1cHBvcnQgbnVtYmVyIHNob3VsZCBiZSBpbmNyZWFzZWQgaW4gb3JkZXIg
dG8gc3VwcG9ydCBhcyBtYW55DQo+ID4gPiBhY3Rpb25zIGFzIHBvc3NpYmxlIGZvciBhbg0KPiA+
ID4gSVB2NiArDQo+ID4gPiBUQ1AgcGFja2V0Lg0KPiA+ID4gQW5kIGluIHRoZSBtZWFud2hpbGUs
IHRoZSBtZW1vcnkgY29uc3VtcHRpb24gc2hvdWxkIGFsc28gYmUNCj4gdGFrZW4NCj4gPiA+IGlu
dG8gY29uc2lkZXJhdGlvbiBiZWNhdXNlIHNvbWV0aW1lcyBvbmx5IHNldmVyYWwgYWN0aW9ucyBh
cmUNCj4gPiA+IG5lZWRlZC4NCj4gPiA+IFRoZSByb290IHRhYmxlIGNoZWNraW5nIGNvdWxkIGFs
c28gYmUgZG9uZSBpbiBsb3cgbGF5ZXIgZHJpdmVyIGFuZA0KPiA+ID4gdGhlIGVycm9yIGNvZGUg
d2lsbCBiZSByZXR1cm5lZCBpZiB0aGUgYWN0aW9ucyBudW1iZXIgaXMgb3ZlciB0aGUNCj4gPiA+
IG1heGltYWwgc3VwcG9ydGVkIHZhbHVlLg0KPiA+ID4NCj4gPiA+IEZpeGVzOiAwZTlkMDAwMjc2
ODYgKCJuZXQvbWx4NTogY2hlY2sgbWF4aW11bSBtb2RpZnkgYWN0aW9ucw0KPiA+ID4gbnVtYmVy
IikNCj4gPiA+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBCaW5nIFpoYW8gPA0KPiA+ID4gYmluZ3pA
bWVsbGFub3guY29tDQo+ID4gPiA+DQo+ID4gPiBBY2tlZC1ieTogT3JpIEthbSA8DQo+ID4gPiBv
cmlrYUBtZWxsYW5veC5jb20NCj4gPiA+ID4NCj4gPiA+IEFja2VkLWJ5OiBWaWFjaGVzbGF2IE92
c2lpZW5rbyA8DQo+ID4gPiB2aWFjaGVzbGF2b0BtZWxsYW5veC5jb20NCj4gPiA+ID4NCj4gPiA+
IC0tLQ0KPiA+ID4gIGRyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmggICAgfCAgMTUgKysrLS0N
Cj4gPiA+ICBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvd19kdi5jIHwgMTA0ICsrKysrKysrKysr
KysrKysrLS0tLS0tLS0NCj4gLS0tDQo+ID4gPiAtLQ0KPiA+ID4gLS0NCj4gPiA+ICAyIGZpbGVz
IGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDUzIGRlbGV0aW9ucygtKQ0KPiA+ID4NCj4gPiA+
IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5oDQo+ID4gPiBiL2RyaXZl
cnMvbmV0L21seDUvbWx4NV9mbG93LmggaW5kZXggZGIxMjcxNWVjYy4uMTNiZWQwOGQ3NQ0KPiA+
ID4gMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5oDQo+ID4g
PiArKysgYi9kcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5oDQo+ID4gPiBAQCAtMzkxLDExICsz
OTEsMTQgQEAgc3RydWN0IG1seDVfZmxvd19kdl90YWdfcmVzb3VyY2Ugew0KPiA+ID4NCj4gPiA+
ICAvKg0KPiA+ID4gICAqIE51bWJlciBvZiBtb2RpZmljYXRpb24gY29tbWFuZHMuDQo+ID4gPiAt
ICogSWYgZXh0ZW5zaXZlIG1ldGFkYXRhIHJlZ2lzdGVycyBhcmUgc3VwcG9ydGVkDQo+ID4gPiAt
ICogdGhlIG1heGltYWwgYWN0aW9ucyBhbW91bnQgaXMgMTYgYW5kIDggb3RoZXJ3aXNlLg0KPiA+
ID4gKyAqIElmIGV4dGVuc2l2ZSBtZXRhZGF0YSByZWdpc3RlcnMgYXJlIHN1cHBvcnRlZCwgdGhl
IG1heGltYWwNCj4gPiA+IGFjdGlvbnMNCj4gPiA+ICsgYW1vdW50IGlzDQo+ID4gPiArICogMTYg
YW5kIDggb3RoZXJ3aXNlIG9uIHJvb3QgdGFibGUuIFRoZSB2YWxpZGF0aW9uIGNvdWxkIGFsc28g
YmUNCj4gPiA+IGRvbmUNCj4gPiA+ICsgaW4gdGhlDQo+ID4gPiArICogbG93ZXIgZHJpdmVyIGxh
eWVyLg0KPiA+ID4gKyAqIE9uIG5vbi1yb290IHRhYmxlLCB0aGVyZSBpcyBubyBsaW1pdGF0aW9u
LCBidXQgMzIgaXMgZW5vdWdoDQo+ID4gPiByaWdodA0KPiA+ID4gbm93Lg0KPiA+ID4gICAqLw0K
PiA+ID4gLSNkZWZpbmUgTUxYNV9NT0RJRllfTlVNIDE2DQo+ID4gPiAtI2RlZmluZSBNTFg1X01P
RElGWV9OVU1fTk9fTVJFRyA4DQo+ID4gPiArI2RlZmluZSBNTFg1X01BWF9NT0RJRllfTlVNCQkJ
MzINCj4gPiA+ICsjZGVmaW5lIE1MWDVfUk9PVF9UQkxfTU9ESUZZX05VTQkJMTYNCj4gPiA+ICsj
ZGVmaW5lIE1MWDVfUk9PVF9UQkxfTU9ESUZZX05VTV9OT19NUkVHCTgNCj4gPiA+DQo+ID4gPiAg
LyogTW9kaWZ5IHJlc291cmNlIHN0cnVjdHVyZSAqLw0KPiA+ID4gIHN0cnVjdCBtbHg1X2Zsb3df
ZHZfbW9kaWZ5X2hkcl9yZXNvdXJjZSB7IEBAIC00MDYsOSArNDA5LDkNCj4gQEANCj4gPiA+IHN0
cnVjdCBtbHg1X2Zsb3dfZHZfbW9kaWZ5X2hkcl9yZXNvdXJjZSB7DQo+ID4gPiAgCS8qKjwgVmVy
YnMgbW9kaWZ5IGhlYWRlciBhY3Rpb24gb2JqZWN0LiAqLw0KPiA+ID4gIAl1aW50OF90IGZ0X3R5
cGU7IC8qKjwgRmxvdyB0YWJsZSB0eXBlLCBSeCBvciBUeC4gKi8NCj4gPiA+ICAJdWludDMyX3Qg
YWN0aW9uc19udW07IC8qKjwgTnVtYmVyIG9mIG1vZGlmaWNhdGlvbiBhY3Rpb25zLg0KPiA+ID4g
Ki8NCj4gPiA+IC0Jc3RydWN0IG1seDVfbW9kaWZpY2F0aW9uX2NtZCBhY3Rpb25zW01MWDVfTU9E
SUZZX05VTV07DQo+ID4gPiArCXVpbnQ2NF90IGZsYWdzOyAvKio8IEZsYWdzIGZvciBSRE1BIEFQ
SS4gKi8NCj4gPiA+ICsJc3RydWN0IG1seDVfbW9kaWZpY2F0aW9uX2NtZCBhY3Rpb25zW107DQo+
ID4gPiAgCS8qKjwgTW9kaWZpY2F0aW9uIGFjdGlvbnMuICovDQo+ID4gPiAtCXVpbnQ2NF90IGZs
YWdzOyAvKio8IEZsYWdzIGZvciBSRE1BIEFQSS4gKi8NCj4gPiA+ICB9Ow0KPiA+ID4NCj4gPiA+
ICAvKiBKdW1wIGFjdGlvbiByZXNvdXJjZSBzdHJ1Y3R1cmUuICovIGRpZmYgLS1naXQNCj4gPiA+
IGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3dfZHYuYw0KPiBiL2RyaXZlcnMvbmV0L21seDUv
bWx4NV9mbG93X2R2LmMNCj4gPiA+IGluZGV4IDhmNzc5MDk0MTkuLjc0ZDFhNjhlNGENCj4gPiA+
IDEwMDY0NA0KPiA+ID4gLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3dfZHYuYw0KPiA+
ID4gKysrIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3dfZHYuYw0KPiA+ID4gQEAgLTM2Myw3
ICszNjMsNyBAQCBmbG93X2R2X2NvbnZlcnRfbW9kaWZ5X2FjdGlvbihzdHJ1Y3QNCj4gPiA+IHJ0
ZV9mbG93X2l0ZW0gKml0ZW0sDQo+ID4gPiAgCQl1aW50MzJfdCBtYXNrOw0KPiA+ID4gIAkJdWlu
dDMyX3QgZGF0YTsNCj4gPiA+DQo+ID4gPiAtCQlpZiAoaSA+PSBNTFg1X01PRElGWV9OVU0pDQo+
ID4gPiArCQlpZiAoaSA+PSBNTFg1X01BWF9NT0RJRllfTlVNKQ0KPiA+ID4gIAkJCXJldHVybiBy
dGVfZmxvd19lcnJvcl9zZXQoZXJyb3IsIEVJTlZBTCwNCj4gPiA+ICAJCQkJIFJURV9GTE9XX0VS
Uk9SX1RZUEVfQUNUSU9OLA0KPiA+ID4gTlVMTCwNCj4gPiA+ICAJCQkJICJ0b28gbWFueSBpdGVt
cyB0byBtb2RpZnkiKTsNCj4gPiA+IEBAIC00MDQsMTEgKzQwNCwxMSBAQCBmbG93X2R2X2NvbnZl
cnRfbW9kaWZ5X2FjdGlvbihzdHJ1Y3QNCj4gPiA+IHJ0ZV9mbG93X2l0ZW0gKml0ZW0sDQo+ID4g
PiAgCQkrK2k7DQo+ID4gPiAgCQkrK2ZpZWxkOw0KPiA+ID4gIAl9IHdoaWxlIChmaWVsZC0+c2l6
ZSk7DQo+ID4gPiAtCXJlc291cmNlLT5hY3Rpb25zX251bSA9IGk7DQo+ID4gPiAtCWlmICghcmVz
b3VyY2UtPmFjdGlvbnNfbnVtKQ0KPiA+ID4gKwlpZiAocmVzb3VyY2UtPmFjdGlvbnNfbnVtID09
IGkpDQo+ID4gPiAgCQlyZXR1cm4gcnRlX2Zsb3dfZXJyb3Jfc2V0KGVycm9yLCBFSU5WQUwsDQo+
ID4gPg0KPiA+ID4gUlRFX0ZMT1dfRVJST1JfVFlQRV9BQ1RJT04sIE5VTEwsDQo+ID4gPiAgCQkJ
CQkgICJpbnZhbGlkIG1vZGlmaWNhdGlvbiBmbG93DQo+ID4gPiBpdGVtIik7DQo+ID4gPiArCXJl
c291cmNlLT5hY3Rpb25zX251bSA9IGk7DQo+ID4gPiAgCXJldHVybiAwOw0KPiA+ID4gIH0NCj4g
PiA+DQo+ID4gPiBAQCAtNTY5LDcgKzU2OSw3IEBAIGZsb3dfZHZfY29udmVydF9hY3Rpb25fbW9k
aWZ5X3ZsYW5fdmlkDQo+ID4gPiAgCXN0cnVjdCBtbHg1X21vZGlmaWNhdGlvbl9jbWQgKmFjdGlv
bnMgPSAmcmVzb3VyY2UtPmFjdGlvbnNbaV07DQo+ID4gPiAgCXN0cnVjdCBmaWVsZF9tb2RpZnlf
aW5mbyAqZmllbGQgPSBtb2RpZnlfdmxhbl9vdXRfZmlyc3RfdmlkOw0KPiA+ID4NCj4gPiA+IC0J
aWYgKGkgPj0gTUxYNV9NT0RJRllfTlVNKQ0KPiA+ID4gKwlpZiAoaSA+PSBNTFg1X01BWF9NT0RJ
RllfTlVNKQ0KPiA+ID4gIAkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRUlOVkFM
LA0KPiA+ID4gIAkJCSBSVEVfRkxPV19FUlJPUl9UWVBFX0FDVElPTiwgTlVMTCwNCj4gPiA+ICAJ
CQkgInRvbyBtYW55IGl0ZW1zIHRvIG1vZGlmeSIpOw0KPiA+ID4gQEAgLTkwMiw3ICs5MDIsNyBA
QCBmbG93X2R2X2NvbnZlcnRfYWN0aW9uX3NldF9yZWcNCj4gPiA+ICAJc3RydWN0IG1seDVfbW9k
aWZpY2F0aW9uX2NtZCAqYWN0aW9ucyA9IHJlc291cmNlLT5hY3Rpb25zOw0KPiA+ID4gIAl1aW50
MzJfdCBpID0gcmVzb3VyY2UtPmFjdGlvbnNfbnVtOw0KPiA+ID4NCj4gPiA+IC0JaWYgKGkgPj0g
TUxYNV9NT0RJRllfTlVNKQ0KPiA+ID4gKwlpZiAoaSA+PSBNTFg1X01BWF9NT0RJRllfTlVNKQ0K
PiA+ID4gIAkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRUlOVkFMLA0KPiA+ID4N
Cj4gPiA+IFJURV9GTE9XX0VSUk9SX1RZUEVfQUNUSU9OLCBOVUxMLA0KPiA+ID4gIAkJCQkJICAi
dG9vIG1hbnkgaXRlbXMgdG8gbW9kaWZ5Iik7DQo+IEBAIC05MTQsMTAgKzkxNCw2IEBADQo+ID4g
PiBmbG93X2R2X2NvbnZlcnRfYWN0aW9uX3NldF9yZWcNCj4gPiA+ICAJYWN0aW9uc1tpXS5kYXRh
MSA9IHJ0ZV9jcHVfdG9fYmVfMzIoY29uZi0+ZGF0YSk7DQo+ID4gPiAgCSsraTsNCj4gPiA+ICAJ
cmVzb3VyY2UtPmFjdGlvbnNfbnVtID0gaTsNCj4gPiA+IC0JaWYgKCFyZXNvdXJjZS0+YWN0aW9u
c19udW0pDQo+ID4gPiAtCQlyZXR1cm4gcnRlX2Zsb3dfZXJyb3Jfc2V0KGVycm9yLCBFSU5WQUws
DQo+ID4gPiAtDQo+ID4gPiBSVEVfRkxPV19FUlJPUl9UWVBFX0FDVElPTiwgTlVMTCwNCj4gPiA+
IC0JCQkJCSAgImludmFsaWQgbW9kaWZpY2F0aW9uIGZsb3cNCj4gPiA+IGl0ZW0iKTsNCj4gPiA+
ICAJcmV0dXJuIDA7DQo+ID4gPiAgfQ0KPiA+ID4NCj4gPiA+IEBAIC0yMjU2LDcgKzIyNTIsNiBA
QCBmbG93X2R2X2VuY2FwX2RlY2FwX3Jlc291cmNlX3JlZ2lzdGVyDQo+ID4gPiAgCQlkb21haW4g
PSBzaC0+cnhfZG9tYWluOw0KPiA+ID4gIAllbHNlDQo+ID4gPiAgCQlkb21haW4gPSBzaC0+dHhf
ZG9tYWluOw0KPiA+ID4gLQ0KPiA+ID4gIAkvKiBMb29rdXAgYSBtYXRjaGluZyByZXNvdXJjZSBm
cm9tIGNhY2hlLiAqLw0KPiA+ID4gIAlMSVNUX0ZPUkVBQ0goY2FjaGVfcmVzb3VyY2UsICZzaC0+
ZW5jYXBzX2RlY2FwcywgbmV4dCkgew0KPiA+ID4gIAkJaWYgKHJlc291cmNlLT5yZWZvcm1hdF90
eXBlID09IGNhY2hlX3Jlc291cmNlLQ0KPiA+ID4gPiByZWZvcm1hdF90eXBlICYmIEBAIC0zMzY3
LDIxICszMzYyLDI3IEBADQo+ID4gPg0KPiA+ID4gZmxvd19kdl92YWxpZGF0ZV9hY3Rpb25fcG9y
dF9pZChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gPiA+ICAgKg0KPiA+ID4gICAqIEBwYXJh
bSBkZXYNCj4gPiA+ICAgKiAgIFBvaW50ZXIgdG8gcnRlX2V0aF9kZXYgc3RydWN0dXJlLg0KPiA+
ID4gKyAqIEBwYXJhbSBmbGFncw0KPiA+ID4gKyAqICAgRmxhZ3MgYml0cyB0byBjaGVjayBpZiBy
b290IGxldmVsLg0KPiA+ID4gICAqDQo+ID4gPiAgICogQHJldHVybg0KPiA+ID4gICAqICAgTWF4
IG51bWJlciBvZiBtb2RpZnkgaGVhZGVyIGFjdGlvbnMgZGV2aWNlIGNhbiBzdXBwb3J0Lg0KPiA+
ID4gICAqLw0KPiA+ID4gIHN0YXRpYyB1bnNpZ25lZCBpbnQNCj4gPiA+IC1mbG93X2R2X21vZGlm
eV9oZHJfYWN0aW9uX21heChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCj4gPiA+ICtmbG93X2R2
X21vZGlmeV9oZHJfYWN0aW9uX21heChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gdWludDY0
X3QNCj4gPiA+IGZsYWdzKQ0KPiA+ID4gIHsNCj4gPiA+ICAJLyoNCj4gPiA+ICAJICogVGhlcmUn
cyBubyB3YXkgdG8gZGlyZWN0bHkgcXVlcnkgdGhlIG1heCBjYXAuIEFsdGhvdWdoIGl0DQo+IGhh
cw0KPiA+ID4gdG8gYmUNCj4gPiA+ICAJICogYWNxdXJpZWQgYnkgaXRlcmF0aXZlIHRyaWFsLCBp
dCBpcyBhIHNhZmUgYXNzdW1wdGlvbiB0aGF0IG1vcmUNCj4gPiA+ICAJICogYWN0aW9ucyBhcmUg
c3VwcG9ydGVkIGJ5IEZXIGlmIGV4dGVuc2l2ZSBtZXRhZGF0YSByZWdpc3Rlcg0KPiBpcw0KPiA+
ID4gLQkgKiBzdXBwb3J0ZWQuDQo+ID4gPiArCSAqIHN1cHBvcnRlZC4gKE9ubHkgaW4gdGhlIHJv
b3QgdGFibGUpDQo+ID4gPiAgCSAqLw0KPiA+ID4gLQlyZXR1cm4gbWx4NV9mbG93X2V4dF9tcmVn
X3N1cHBvcnRlZChkZXYpID8NCj4gPiA+IE1MWDVfTU9ESUZZX05VTSA6DQo+ID4gPiAtDQo+ID4g
PiBNTFg1X01PRElGWV9OVU1fTk9fTVJFRzsNCj4gPiA+ICsJaWYgKCEoZmxhZ3MgJiBNTFg1RFZf
RFJfQUNUSU9OX0ZMQUdTX1JPT1RfTEVWRUwpKQ0KPiA+ID4gKwkJcmV0dXJuIE1MWDVfTUFYX01P
RElGWV9OVU07DQo+ID4gPiArCWVsc2UNCj4gPiA+ICsJCXJldHVybiBtbHg1X2Zsb3dfZXh0X21y
ZWdfc3VwcG9ydGVkKGRldikgPw0KPiA+ID4gKw0KPiA+ID4gCU1MWDVfUk9PVF9UQkxfTU9ESUZZ
X05VTSA6DQo+ID4gPiArDQo+ID4gPiAJTUxYNV9ST09UX1RCTF9NT0RJRllfTlVNX05PX01SRUc7
DQo+ID4gPiAgfQ0KPiA+ID4NCj4gPiA+ICAvKioNCj4gPiA+IEBAIC0zNDcyLDggKzM0NzMsMTIg
QEAgZmxvd19kdl9tb2RpZnlfaGRyX3Jlc291cmNlX3JlZ2lzdGVyDQo+ID4gPiAgCXN0cnVjdCBt
bHg1X2lidl9zaGFyZWQgKnNoID0gcHJpdi0+c2g7DQo+ID4gPiAgCXN0cnVjdCBtbHg1X2Zsb3df
ZHZfbW9kaWZ5X2hkcl9yZXNvdXJjZSAqY2FjaGVfcmVzb3VyY2U7DQo+ID4gPiAgCXN0cnVjdCBt
bHg1ZHZfZHJfZG9tYWluICpuczsNCj4gPiA+ICsJdWludDMyX3QgYWN0aW9uc19sZW47DQo+ID4g
Pg0KPiA+ID4gLQlpZiAocmVzb3VyY2UtPmFjdGlvbnNfbnVtID4NCj4gPiA+IGZsb3dfZHZfbW9k
aWZ5X2hkcl9hY3Rpb25fbWF4KGRldikpDQo+ID4gPiArCXJlc291cmNlLT5mbGFncyA9DQo+ID4g
PiArCQlkZXZfZmxvdy0+Z3JvdXAgPyAwIDoNCj4gPiA+IE1MWDVEVl9EUl9BQ1RJT05fRkxBR1Nf
Uk9PVF9MRVZFTDsNCj4gPiA+ICsJaWYgKHJlc291cmNlLT5hY3Rpb25zX251bSA+DQo+ID4gPiBm
bG93X2R2X21vZGlmeV9oZHJfYWN0aW9uX21heChkZXYsDQo+ID4gPiArCQkJCSAgICByZXNvdXJj
ZS0+ZmxhZ3MpKQ0KPiA+ID4gIAkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRU9W
RVJGTE9XLA0KPiA+ID4NCj4gPiA+IFJURV9GTE9XX0VSUk9SX1RZUEVfQUNUSU9OLCBOVUxMLA0K
PiA+ID4gIAkJCQkJICAidG9vIG1hbnkgbW9kaWZ5IGhlYWRlcg0KPiA+ID4gaXRlbXMiKTsgQEAg
LTM0ODMsMTcgKzM0ODgsMTUgQEANCj4gPiA+IGZsb3dfZHZfbW9kaWZ5X2hkcl9yZXNvdXJjZV9y
ZWdpc3Rlcg0KPiA+ID4gIAkJbnMgPSBzaC0+dHhfZG9tYWluOw0KPiA+ID4gIAllbHNlDQo+ID4g
PiAgCQlucyA9IHNoLT5yeF9kb21haW47DQo+ID4gPiAtCXJlc291cmNlLT5mbGFncyA9DQo+ID4g
PiAtCQlkZXZfZmxvdy0+Z3JvdXAgPyAwIDoNCj4gPiA+IE1MWDVEVl9EUl9BQ1RJT05fRkxBR1Nf
Uk9PVF9MRVZFTDsNCj4gPiA+ICAJLyogTG9va3VwIGEgbWF0Y2hpbmcgcmVzb3VyY2UgZnJvbSBj
YWNoZS4gKi8NCj4gPiA+ICsJYWN0aW9uc19sZW4gPSByZXNvdXJjZS0+YWN0aW9uc19udW0gKiBz
aXplb2YocmVzb3VyY2UtDQo+ID4gPiA+IGFjdGlvbnNbMF0pOw0KPiA+ID4NCj4gPiA+ICAJTElT
VF9GT1JFQUNIKGNhY2hlX3Jlc291cmNlLCAmc2gtPm1vZGlmeV9jbWRzLCBuZXh0KSB7DQo+ID4g
PiAgCQlpZiAocmVzb3VyY2UtPmZ0X3R5cGUgPT0gY2FjaGVfcmVzb3VyY2UtPmZ0X3R5cGUgJiYN
Cj4gPiA+ICAJCSAgICByZXNvdXJjZS0+YWN0aW9uc19udW0gPT0gY2FjaGVfcmVzb3VyY2UtDQo+
ID4gPiA+IGFjdGlvbnNfbnVtICYmDQo+ID4gPg0KPiA+ID4gIAkJICAgIHJlc291cmNlLT5mbGFn
cyA9PSBjYWNoZV9yZXNvdXJjZS0+ZmxhZ3MgJiYNCj4gPiA+ICAJCSAgICAhbWVtY21wKChjb25z
dCB2b2lkICopcmVzb3VyY2UtPmFjdGlvbnMsDQo+ID4gPiAgCQkJICAgIChjb25zdCB2b2lkICop
Y2FjaGVfcmVzb3VyY2UtPmFjdGlvbnMsDQo+ID4gPiAtCQkJICAgIChyZXNvdXJjZS0+YWN0aW9u
c19udW0gKg0KPiA+ID4gLQkJCQkJICAgIHNpemVvZihyZXNvdXJjZS0NCj4gPiA+ID4gYWN0aW9u
c1swXSkpKSkgew0KPiA+ID4NCj4gPiA+ICsJCQkgICAgYWN0aW9uc19sZW4pKSB7DQo+ID4gPiAg
CQkJRFJWX0xPRyhERUJVRywgIm1vZGlmeS1oZWFkZXINCj4gPiA+IHJlc291cmNlICVwOiByZWZj
bnQgJWQrKyIsDQo+ID4gPiAgCQkJCSh2b2lkICopY2FjaGVfcmVzb3VyY2UsDQo+ID4gPiAgCQkJ
CXJ0ZV9hdG9taWMzMl9yZWFkKCZjYWNoZV9yZXNvdXJjZS0NCj4gPiA+ID4gcmVmY250KSk7DQo+
ID4gPg0KPiA+ID4gQEAgLTM1MDMsMTggKzM1MDYsMTggQEANCj4gZmxvd19kdl9tb2RpZnlfaGRy
X3Jlc291cmNlX3JlZ2lzdGVyDQo+ID4gPiAgCQl9DQo+ID4gPiAgCX0NCj4gPiA+ICAJLyogUmVn
aXN0ZXIgbmV3IG1vZGlmeS1oZWFkZXIgcmVzb3VyY2UuICovDQo+ID4gPiAtCWNhY2hlX3Jlc291
cmNlID0gcnRlX2NhbGxvYyhfX2Z1bmNfXywgMSwNCj4gPiA+IHNpemVvZigqY2FjaGVfcmVzb3Vy
Y2UpLCAwKTsNCj4gPiA+ICsJY2FjaGVfcmVzb3VyY2UgPSBydGVfY2FsbG9jKF9fZnVuY19fLCAx
LA0KPiA+ID4gKwkJCQkgICAgc2l6ZW9mKCpjYWNoZV9yZXNvdXJjZSkgKw0KPiA+ID4gYWN0aW9u
c19sZW4sIDApOw0KPiA+ID4gIAlpZiAoIWNhY2hlX3Jlc291cmNlKQ0KPiA+ID4gIAkJcmV0dXJu
IHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRU5PTUVNLA0KPiA+ID4NCj4gPiA+IFJURV9GTE9X
X0VSUk9SX1RZUEVfVU5TUEVDSUZJRUQsIE5VTEwsDQo+ID4gPiAgCQkJCQkgICJjYW5ub3QgYWxs
b2NhdGUgcmVzb3VyY2UNCj4gPiA+IG1lbW9yeSIpOw0KPiA+ID4gIAkqY2FjaGVfcmVzb3VyY2Ug
PSAqcmVzb3VyY2U7DQo+ID4gPiArCXJ0ZV9tZW1jcHkoY2FjaGVfcmVzb3VyY2UtPmFjdGlvbnMs
IHJlc291cmNlLT5hY3Rpb25zLA0KPiA+ID4gYWN0aW9uc19sZW4pOw0KPiA+ID4gIAljYWNoZV9y
ZXNvdXJjZS0+dmVyYnNfYWN0aW9uID0NCj4gPiA+ICAJCW1seDVfZ2x1ZS0+ZHZfY3JlYXRlX2Zs
b3dfYWN0aW9uX21vZGlmeV9oZWFkZXINCj4gPiA+IC0JCQkJCShzaC0+Y3R4LCBjYWNoZV9yZXNv
dXJjZS0NCj4gPiA+ID4gZnRfdHlwZSwNCj4gPiA+DQo+ID4gPiAtCQkJCQkgbnMsIGNhY2hlX3Jl
c291cmNlLT5mbGFncywNCj4gPiA+IC0JCQkJCSBjYWNoZV9yZXNvdXJjZS0+YWN0aW9uc19udW0N
Cj4gPiA+ICoNCj4gPiA+IC0JCQkJCSBzaXplb2YoY2FjaGVfcmVzb3VyY2UtDQo+ID4gPiA+IGFj
dGlvbnNbMF0pLA0KPiA+ID4NCj4gPiA+ICsJCQkJCShzaC0+Y3R4LCBjYWNoZV9yZXNvdXJjZS0N
Cj4gPiA+ID4gZnRfdHlwZSwgbnMsDQo+ID4gPg0KPiA+ID4gKwkJCQkJIGNhY2hlX3Jlc291cmNl
LT5mbGFncywNCj4gPiA+IGFjdGlvbnNfbGVuLA0KPiA+ID4gIAkJCQkJICh1aW50NjRfdCAqKWNh
Y2hlX3Jlc291cmNlLQ0KPiA+ID4gPiBhY3Rpb25zKTsNCj4gPiA+DQo+ID4gPiAgCWlmICghY2Fj
aGVfcmVzb3VyY2UtPnZlcmJzX2FjdGlvbikgew0KPiA+ID4gIAkJcnRlX2ZyZWUoY2FjaGVfcmVz
b3VyY2UpOw0KPiA+ID4gQEAgLTY2NzAsMTAgKzY2NzMsMTMgQEAgX19mbG93X2R2X3RyYW5zbGF0
ZShzdHJ1Y3QNCj4gcnRlX2V0aF9kZXYgKmRldiwNCj4gPiA+ICAJfTsNCj4gPiA+ICAJaW50IGFj
dGlvbnNfbiA9IDA7DQo+ID4gPiAgCWJvb2wgYWN0aW9uc19lbmQgPSBmYWxzZTsNCj4gPiA+IC0J
c3RydWN0IG1seDVfZmxvd19kdl9tb2RpZnlfaGRyX3Jlc291cmNlIG1oZHJfcmVzID0gew0KPiA+
ID4gLQkJLmZ0X3R5cGUgPSBhdHRyLT5lZ3Jlc3MgPw0KPiA+ID4gTUxYNURWX0ZMT1dfVEFCTEVf
VFlQRV9OSUNfVFggOg0KPiA+ID4gLQ0KPiA+ID4gTUxYNURWX0ZMT1dfVEFCTEVfVFlQRV9OSUNf
UlgNCj4gPiA+IC0JfTsNCj4gPiA+ICsJdW5pb24gew0KPiA+ID4gKwkJc3RydWN0IG1seDVfZmxv
d19kdl9tb2RpZnlfaGRyX3Jlc291cmNlIHJlczsNCj4gPiA+ICsJCXVpbnQ4X3QgbGVuW3NpemVv
ZihzdHJ1Y3QNCj4gPiA+IG1seDVfZmxvd19kdl9tb2RpZnlfaGRyX3Jlc291cmNlKSArDQo+ID4g
PiArCQkJICAgIHNpemVvZihzdHJ1Y3QgbWx4NV9tb2RpZmljYXRpb25fY21kKSAqDQo+ID4gPiAr
CQkJICAgIChNTFg1X01BWF9NT0RJRllfTlVNICsgMSldOw0KPiA+ID4gKwl9IG1oZHJfZHVtbXk7
DQo+ID4gPiArCXN0cnVjdCBtbHg1X2Zsb3dfZHZfbW9kaWZ5X2hkcl9yZXNvdXJjZSAqbWhkcl9y
ZXMgPQ0KPiA+ID4gJm1oZHJfZHVtbXkucmVzOw0KPiA+ID4gIAl1bmlvbiBmbG93X2R2X2F0dHIg
Zmxvd19hdHRyID0geyAuYXR0ciA9IDAgfTsNCj4gPiA+ICAJdWludDMyX3QgdGFnX2JlOw0KPiA+
ID4gIAl1bmlvbiBtbHg1X2Zsb3dfdGJsX2tleSB0Ymxfa2V5Ow0KPiA+ID4gQEAgLTY2ODUsMTUg
KzY2OTEsMTkgQEAgX19mbG93X2R2X3RyYW5zbGF0ZShzdHJ1Y3QNCj4gcnRlX2V0aF9kZXYgKmRl
diwNCj4gPiA+ICAJdWludDMyX3QgdGFibGU7DQo+ID4gPiAgCWludCByZXQgPSAwOw0KPiA+ID4N
Cj4gPiA+ICsJbWhkcl9yZXMtPmZ0X3R5cGUgPSBhdHRyLT5lZ3Jlc3MgPw0KPiA+ID4gTUxYNURW
X0ZMT1dfVEFCTEVfVFlQRV9OSUNfVFggOg0KPiA+ID4gKw0KPiA+ID4gTUxYNURWX0ZMT1dfVEFC
TEVfVFlQRV9OSUNfUlg7DQo+ID4gPiAgCXJldCA9IG1seDVfZmxvd19ncm91cF90b190YWJsZShh
dHRyLCBkZXZfZmxvdy0+ZXh0ZXJuYWwsIGF0dHItDQo+ID4gPiA+IGdyb3VwLA0KPiA+ID4NCj4g
PiA+ICAJCQkJICAgICAgICZ0YWJsZSwgZXJyb3IpOw0KPiA+ID4gIAlpZiAocmV0KQ0KPiA+ID4g
IAkJcmV0dXJuIHJldDsNCj4gPiA+ICAJZGV2X2Zsb3ctPmdyb3VwID0gdGFibGU7DQo+ID4gPiAg
CWlmIChhdHRyLT50cmFuc2ZlcikNCj4gPiA+IC0JCW1oZHJfcmVzLmZ0X3R5cGUgPSBNTFg1RFZf
RkxPV19UQUJMRV9UWVBFX0ZEQjsNCj4gPiA+ICsJCW1oZHJfcmVzLT5mdF90eXBlID0gTUxYNURW
X0ZMT1dfVEFCTEVfVFlQRV9GREI7DQo+ID4gPiAgCWlmIChwcmlvcml0eSA9PSBNTFg1X0ZMT1df
UFJJT19SU1ZEKQ0KPiA+ID4gIAkJcHJpb3JpdHkgPSBkZXZfY29uZi0+Zmxvd19wcmlvIC0gMTsN
Cj4gPiA+ICsJLyogbnVtYmVyIG9mIGFjdGlvbnMgbXVzdCBiZSBzZXQgdG8gMCBpbiBjYXNlIG9m
IGRpcnR5IHN0YWNrLg0KPiA+ID4gKi8NCj4gPiA+ICsJbWhkcl9yZXMtPmFjdGlvbnNfbnVtID0g
MDsNCj4gPiA+ICAJZm9yICg7ICFhY3Rpb25zX2VuZCA7IGFjdGlvbnMrKykgew0KPiA+ID4gIAkJ
Y29uc3Qgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9xdWV1ZSAqcXVldWU7DQo+ID4gPiAgCQljb25z
dCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3JzcyAqcnNzOyBAQCAtNjczMSw3DQo+ID4gPiArNjc0
MSw3IEBAIF9fZmxvd19kdl90cmFuc2xhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ID4g
PiAgCQkJCX07DQo+ID4gPg0KPiA+ID4gIAkJCQlpZiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9t
YXJrKGRldiwNCj4gJm1hcmssDQo+ID4gPiAtDQo+ID4gPiAJJm1oZHJfcmVzLA0KPiA+ID4gKw0K
PiA+ID4gCW1oZHJfcmVzLA0KPiA+ID4gIAkJCQkJCQkJZXJyb3IpKQ0KPiA+ID4gIAkJCQkJcmV0
dXJuIC1ydGVfZXJybm87DQo+ID4gPiAgCQkJCWFjdGlvbl9mbGFncyB8PQ0KPiA+ID4gTUxYNV9G
TE9XX0FDVElPTl9NQVJLX0VYVDsgQEAgLTY3NTMsNyArNjc2Myw3IEBADQo+ID4gPiBfX2Zsb3df
ZHZfdHJhbnNsYXRlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiA+ID4gIAkJCQkJCWFjdGlv
bnMtPmNvbmY7DQo+ID4gPg0KPiA+ID4gIAkJCQlpZiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9t
YXJrKGRldiwNCj4gbWFyaywNCj4gPiA+IC0NCj4gPiA+IAkmbWhkcl9yZXMsDQo+ID4gPiArDQo+
ID4gPiAJbWhkcl9yZXMsDQo+ID4gPiAgCQkJCQkJCQllcnJvcikpDQo+ID4gPiAgCQkJCQlyZXR1
cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ICAJCQkJYWN0aW9uX2ZsYWdzIHw9DQo+ID4gPiBNTFg1X0ZM
T1dfQUNUSU9OX01BUktfRVhUOyBAQCAtNjc3NCw3ICs2Nzg0LDcgQEANCj4gPiA+IF9fZmxvd19k
dl90cmFuc2xhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ID4gPiAgCQkJYnJlYWs7DQo+
ID4gPiAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9NRVRBOg0KPiA+ID4gIAkJCWlm
IChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX3NldF9tZXRhDQo+ID4gPiAtCQkJCShkZXYsICZtaGRy
X3JlcywgYXR0ciwNCj4gPiA+ICsJCQkJKGRldiwgbWhkcl9yZXMsIGF0dHIsDQo+ID4gPiAgCQkJ
CSAoY29uc3Qgc3RydWN0DQo+ID4gPiBydGVfZmxvd19hY3Rpb25fc2V0X21ldGEgKikNCj4gPiA+
ICAJCQkJICBhY3Rpb25zLT5jb25mLCBlcnJvcikpDQo+ID4gPiAgCQkJCXJldHVybiAtcnRlX2Vy
cm5vOw0KPiA+ID4gQEAgLTY3ODIsNyArNjc5Miw3IEBAIF9fZmxvd19kdl90cmFuc2xhdGUoc3Ry
dWN0IHJ0ZV9ldGhfZGV2DQo+ICpkZXYsDQo+ID4gPiAgCQkJYnJlYWs7DQo+ID4gPiAgCQljYXNl
IFJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9UQUc6DQo+ID4gPiAgCQkJaWYgKGZsb3dfZHZfY29u
dmVydF9hY3Rpb25fc2V0X3RhZw0KPiA+ID4gLQkJCQkoZGV2LCAmbWhkcl9yZXMsDQo+ID4gPiAr
CQkJCShkZXYsIG1oZHJfcmVzLA0KPiA+ID4gIAkJCQkgKGNvbnN0IHN0cnVjdCBydGVfZmxvd19h
Y3Rpb25fc2V0X3RhZw0KPiA+ID4gKikNCj4gPiA+ICAJCQkJICBhY3Rpb25zLT5jb25mLCBlcnJv
cikpDQo+ID4gPiAgCQkJCXJldHVybiAtcnRlX2Vycm5vOw0KPiA+ID4gQEAgLTY4ODIsNyArNjg5
Miw3IEBAIGNudF9lcnI6DQo+ID4gPiAgCQkJbWx4NV91cGRhdGVfdmxhbl92aWRfcGNwKGFjdGlv
bnMsICZ2bGFuKTsNCj4gPiA+ICAJCQkvKiBJZiBubyBWTEFOIHB1c2ggLSB0aGlzIGlzIGEgbW9k
aWZ5IGhlYWRlcg0KPiBhY3Rpb24gKi8NCj4gPiA+ICAJCQlpZiAoZmxvd19kdl9jb252ZXJ0X2Fj
dGlvbl9tb2RpZnlfdmxhbl92aWQNCj4gPiA+IC0JCQkJCQkoJm1oZHJfcmVzLCBhY3Rpb25zLA0K
PiA+ID4gZXJyb3IpKQ0KPiA+ID4gKwkJCQkJCShtaGRyX3JlcywgYWN0aW9ucywNCj4gPiA+IGVy
cm9yKSkNCj4gPiA+ICAJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gPiAgCQkJYWN0aW9uX2Zs
YWdzIHw9DQo+ID4gPiBNTFg1X0ZMT1dfQUNUSU9OX09GX1NFVF9WTEFOX1ZJRDsNCj4gPiA+ICAJ
CQlicmVhazsNCj4gPiA+IEBAIC02OTgxLDcgKzY5OTEsNyBAQCBjbnRfZXJyOg0KPiA+ID4gIAkJ
Y2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9TRVRfTUFDX1NSQzoNCj4gPiA+ICAJCWNhc2UgUlRF
X0ZMT1dfQUNUSU9OX1RZUEVfU0VUX01BQ19EU1Q6DQo+ID4gPiAgCQkJaWYgKGZsb3dfZHZfY29u
dmVydF9hY3Rpb25fbW9kaWZ5X21hYw0KPiA+ID4gLQkJCQkJKCZtaGRyX3JlcywgYWN0aW9ucywg
ZXJyb3IpKQ0KPiA+ID4gKwkJCQkJKG1oZHJfcmVzLCBhY3Rpb25zLCBlcnJvcikpDQo+ID4gPiAg
CQkJCXJldHVybiAtcnRlX2Vycm5vOw0KPiA+ID4gIAkJCWFjdGlvbl9mbGFncyB8PSBhY3Rpb25z
LT50eXBlID09DQo+ID4gPg0KPiA+ID4gCVJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9NQUNfU1JD
ID8NCj4gPiA+IEBAIC02OTkxLDcgKzcwMDEsNyBAQCBjbnRfZXJyOg0KPiA+ID4gIAkJY2FzZSBS
VEVfRkxPV19BQ1RJT05fVFlQRV9TRVRfSVBWNF9TUkM6DQo+ID4gPiAgCQljYXNlIFJURV9GTE9X
X0FDVElPTl9UWVBFX1NFVF9JUFY0X0RTVDoNCj4gPiA+ICAJCQlpZiAoZmxvd19kdl9jb252ZXJ0
X2FjdGlvbl9tb2RpZnlfaXB2NA0KPiA+ID4gLQkJCQkJKCZtaGRyX3JlcywgYWN0aW9ucywgZXJy
b3IpKQ0KPiA+ID4gKwkJCQkJKG1oZHJfcmVzLCBhY3Rpb25zLCBlcnJvcikpDQo+ID4gPiAgCQkJ
CXJldHVybiAtcnRlX2Vycm5vOw0KPiA+ID4gIAkJCWFjdGlvbl9mbGFncyB8PSBhY3Rpb25zLT50
eXBlID09DQo+ID4gPg0KPiA+ID4gCVJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9JUFY0X1NSQyA/
DQo+ID4gPiBAQCAtNzAwMSw3ICs3MDExLDcgQEAgY250X2VycjoNCj4gPiA+ICAJCWNhc2UgUlRF
X0ZMT1dfQUNUSU9OX1RZUEVfU0VUX0lQVjZfU1JDOg0KPiA+ID4gIAkJY2FzZSBSVEVfRkxPV19B
Q1RJT05fVFlQRV9TRVRfSVBWNl9EU1Q6DQo+ID4gPiAgCQkJaWYgKGZsb3dfZHZfY29udmVydF9h
Y3Rpb25fbW9kaWZ5X2lwdjYNCj4gPiA+IC0JCQkJCSgmbWhkcl9yZXMsIGFjdGlvbnMsIGVycm9y
KSkNCj4gPiA+ICsJCQkJCShtaGRyX3JlcywgYWN0aW9ucywgZXJyb3IpKQ0KPiA+ID4gIAkJCQly
ZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ICAJCQlhY3Rpb25fZmxhZ3MgfD0gYWN0aW9ucy0+dHlw
ZSA9PQ0KPiA+ID4NCj4gPiA+IAlSVEVfRkxPV19BQ1RJT05fVFlQRV9TRVRfSVBWNl9TUkMgPw0K
PiA+ID4gQEAgLTcwMTEsNyArNzAyMSw3IEBAIGNudF9lcnI6DQo+ID4gPiAgCQljYXNlIFJURV9G
TE9XX0FDVElPTl9UWVBFX1NFVF9UUF9TUkM6DQo+ID4gPiAgCQljYXNlIFJURV9GTE9XX0FDVElP
Tl9UWVBFX1NFVF9UUF9EU1Q6DQo+ID4gPiAgCQkJaWYgKGZsb3dfZHZfY29udmVydF9hY3Rpb25f
bW9kaWZ5X3RwDQo+ID4gPiAtCQkJCQkoJm1oZHJfcmVzLCBhY3Rpb25zLCBpdGVtcywNCj4gPiA+
ICsJCQkJCShtaGRyX3JlcywgYWN0aW9ucywgaXRlbXMsDQo+ID4gPiAgCQkJCQkgJmZsb3dfYXR0
ciwgZXJyb3IpKQ0KPiA+ID4gIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ICAJCQlhY3Rp
b25fZmxhZ3MgfD0gYWN0aW9ucy0+dHlwZSA9PSBAQCAtNzAyMSwxMw0KPiArNzAzMSwxMyBAQA0K
PiA+ID4gY250X2VycjoNCj4gPiA+ICAJCQlicmVhazsNCj4gPiA+ICAJCWNhc2UgUlRFX0ZMT1df
QUNUSU9OX1RZUEVfREVDX1RUTDoNCj4gPiA+ICAJCQlpZiAoZmxvd19kdl9jb252ZXJ0X2FjdGlv
bl9tb2RpZnlfZGVjX3R0bA0KPiA+ID4gLQkJCQkJKCZtaGRyX3JlcywgaXRlbXMsICZmbG93X2F0
dHIsDQo+ID4gPiBlcnJvcikpDQo+ID4gPiArCQkJCQkobWhkcl9yZXMsIGl0ZW1zLCAmZmxvd19h
dHRyLA0KPiA+ID4gZXJyb3IpKQ0KPiA+ID4gIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+
ICAJCQlhY3Rpb25fZmxhZ3MgfD0gTUxYNV9GTE9XX0FDVElPTl9ERUNfVFRMOw0KPiA+ID4gIAkJ
CWJyZWFrOw0KPiA+ID4gIAkJY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9TRVRfVFRMOg0KPiA+
ID4gIAkJCWlmIChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV90dGwNCj4gPiA+IC0JCQkJ
CSgmbWhkcl9yZXMsIGFjdGlvbnMsIGl0ZW1zLA0KPiA+ID4gKwkJCQkJKG1oZHJfcmVzLCBhY3Rp
b25zLCBpdGVtcywNCj4gPiA+ICAJCQkJCSAmZmxvd19hdHRyLCBlcnJvcikpDQo+ID4gPiAgCQkJ
CXJldHVybiAtcnRlX2Vycm5vOw0KPiA+ID4gIAkJCWFjdGlvbl9mbGFncyB8PSBNTFg1X0ZMT1df
QUNUSU9OX1NFVF9UVEw7DQo+IEBAIC03MDM1LDcgKzcwNDUsNyBAQA0KPiA+ID4gY250X2VycjoN
Cj4gPiA+ICAJCWNhc2UgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfSU5DX1RDUF9TRVE6DQo+ID4gPiAg
CQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX0RFQ19UQ1BfU0VROg0KPiA+ID4gIAkJCWlmIChm
bG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV90Y3Bfc2VxDQo+ID4gPiAtCQkJCQkoJm1oZHJf
cmVzLCBhY3Rpb25zLCBlcnJvcikpDQo+ID4gPiArCQkJCQkobWhkcl9yZXMsIGFjdGlvbnMsIGVy
cm9yKSkNCj4gPiA+ICAJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gPiAgCQkJYWN0aW9uX2Zs
YWdzIHw9IGFjdGlvbnMtPnR5cGUgPT0NCj4gPiA+DQo+ID4gPiAJUlRFX0ZMT1dfQUNUSU9OX1RZ
UEVfSU5DX1RDUF9TRVEgPw0KPiA+ID4gQEAgLTcwNDYsNyArNzA1Niw3IEBAIGNudF9lcnI6DQo+
ID4gPiAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX0lOQ19UQ1BfQUNLOg0KPiA+ID4gIAkJ
Y2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9ERUNfVENQX0FDSzoNCj4gPiA+ICAJCQlpZiAoZmxv
d19kdl9jb252ZXJ0X2FjdGlvbl9tb2RpZnlfdGNwX2Fjaw0KPiA+ID4gLQkJCQkJKCZtaGRyX3Jl
cywgYWN0aW9ucywgZXJyb3IpKQ0KPiA+ID4gKwkJCQkJKG1oZHJfcmVzLCBhY3Rpb25zLCBlcnJv
cikpDQo+ID4gPiAgCQkJCXJldHVybiAtcnRlX2Vycm5vOw0KPiA+ID4gIAkJCWFjdGlvbl9mbGFn
cyB8PSBhY3Rpb25zLT50eXBlID09DQo+ID4gPg0KPiA+ID4gCVJURV9GTE9XX0FDVElPTl9UWVBF
X0lOQ19UQ1BfQUNLID8NCj4gPiA+IEBAIC03MDU1LDEzICs3MDY1LDEzIEBAIGNudF9lcnI6DQo+
ID4gPiAgCQkJYnJlYWs7DQo+ID4gPiAgCQljYXNlIE1MWDVfUlRFX0ZMT1dfQUNUSU9OX1RZUEVf
VEFHOg0KPiA+ID4gIAkJCWlmIChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX3NldF9yZWcNCj4gPiA+
IC0JCQkJCSgmbWhkcl9yZXMsIGFjdGlvbnMsIGVycm9yKSkNCj4gPiA+ICsJCQkJCShtaGRyX3Jl
cywgYWN0aW9ucywgZXJyb3IpKQ0KPiA+ID4gIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+
ICAJCQlhY3Rpb25fZmxhZ3MgfD0gTUxYNV9GTE9XX0FDVElPTl9TRVRfVEFHOw0KPiA+ID4gIAkJ
CWJyZWFrOw0KPiA+ID4gIAkJY2FzZSBNTFg1X1JURV9GTE9XX0FDVElPTl9UWVBFX0NPUFlfTVJF
RzoNCj4gPiA+ICAJCQlpZiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9jb3B5X21yZWcNCj4gPiA+
IC0JCQkJCShkZXYsICZtaGRyX3JlcywgYWN0aW9ucywNCj4gPiA+IGVycm9yKSkNCj4gPiA+ICsJ
CQkJCShkZXYsIG1oZHJfcmVzLCBhY3Rpb25zLA0KPiA+ID4gZXJyb3IpKQ0KPiA+ID4gIAkJCQly
ZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ICAJCQlhY3Rpb25fZmxhZ3MgfD0gTUxYNV9GTE9XX0FD
VElPTl9TRVRfVEFHOw0KPiA+ID4gIAkJCWJyZWFrOw0KPiA+ID4gQEAgLTcwODYsMTAgKzcwOTYs
MTAgQEAgY250X2VycjoNCj4gPiA+ICAJCQlicmVhazsNCj4gPiA+ICAJCWNhc2UgUlRFX0ZMT1df
QUNUSU9OX1RZUEVfRU5EOg0KPiA+ID4gIAkJCWFjdGlvbnNfZW5kID0gdHJ1ZTsNCj4gPiA+IC0J
CQlpZiAobWhkcl9yZXMuYWN0aW9uc19udW0pIHsNCj4gPiA+ICsJCQlpZiAobWhkcl9yZXMtPmFj
dGlvbnNfbnVtKSB7DQo+ID4gPiAgCQkJCS8qIGNyZWF0ZSBtb2RpZnkgYWN0aW9uIGlmIG5lZWRl
ZC4gKi8NCj4gPiA+ICAJCQkJaWYNCj4gPiA+IChmbG93X2R2X21vZGlmeV9oZHJfcmVzb3VyY2Vf
cmVnaXN0ZXINCj4gPiA+IC0JCQkJCShkZXYsICZtaGRyX3JlcywgZGV2X2Zsb3csDQo+ID4gPiBl
cnJvcikpDQo+ID4gPiArCQkJCQkoZGV2LCBtaGRyX3JlcywgZGV2X2Zsb3csDQo+ID4gPiBlcnJv
cikpDQo+ID4gPiAgCQkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ICAJCQkJZGV2X2Zsb3ct
DQo+ID4gPiA+IGR2LmFjdGlvbnNbbW9kaWZ5X2FjdGlvbl9wb3NpdGlvbl0gPQ0KPiA+ID4NCj4g
PiA+ICAJCQkJCWRldl9mbG93LT5kdi5tb2RpZnlfaGRyLQ0KPiA+ID4gPiB2ZXJic19hY3Rpb247
DQo+ID4gPg0KPiA+ID4gQEAgLTcwOTgsNyArNzEwOCw3IEBAIGNudF9lcnI6DQo+ID4gPiAgCQlk
ZWZhdWx0Og0KPiA+ID4gIAkJCWJyZWFrOw0KPiA+ID4gIAkJfQ0KPiA+ID4gLQkJaWYgKG1oZHJf
cmVzLmFjdGlvbnNfbnVtICYmDQo+ID4gPiArCQlpZiAobWhkcl9yZXMtPmFjdGlvbnNfbnVtICYm
DQo+ID4gPiAgCQkgICAgbW9kaWZ5X2FjdGlvbl9wb3NpdGlvbiA9PSBVSU5UMzJfTUFYKQ0KPiA+
ID4gIAkJCW1vZGlmeV9hY3Rpb25fcG9zaXRpb24gPSBhY3Rpb25zX24rKzsNCj4gPiA+ICAJfQ0K
PiA+ID4gLS0NCj4gPiA+IDIuMjAuMQ0KPiA+ID4NCj4gPiA+IC0tLQ0KPiA+ID4gICBEaWZmIG9m
IHRoZSBhcHBsaWVkIHBhdGNoIHZzIHVwc3RyZWFtIGNvbW1pdCAocGxlYXNlIGRvdWJsZS0NCj4g
Y2hlY2sNCj4gPiA+IGlmDQo+ID4gPiBub24tZW1wdHk6DQo+ID4gPiAtLS0NCj4gPiA+IC0tLSAt
CTIwMjAtMDItMTEgMTE6MTc6NDIuOTk0ODA0NzkwICswMDAwDQo+ID4gPiArKysgMDEyMi1uZXQt
bWx4NS1maXgtbW9kaWZ5LWFjdGlvbnMtc3VwcG9ydC1saW1pdGF0aW9uLnBhdGNoDQo+ID4gPiAy
MDIwLQ0KPiA+ID4gMDItMTEgMTE6MTc6MzguNjEyMDA1MzExICswMDAwDQo+ID4gPiBAQCAtMSw4
ICsxLDEwIEBADQo+ID4gPiAtRnJvbSAwMjRlOTU3NTljMTZjNjdlZWU5MmVmZmZlZWUzNDkxNWRj
OTRhOWMwIE1vbiBTZXAgMTcNCj4gPiA+IDAwOjAwOjAwIDIwMDENCj4gPiA+ICtGcm9tIGUwZGU4
MTZmOTQ1ZTU5OWE5MzMwODFjNTNiYjA2MGQ1ZGQ0Y2JmMTMgTW9uIFNlcCAxNw0KPiA+ID4gMDA6
MDA6MDAgMjAwMQ0KPiA+ID4gIEZyb206IEJpbmcgWmhhbyA8DQo+ID4gPiBiaW5nekBtZWxsYW5v
eC5jb20NCj4gPiA+ID4NCj4gPiA+ICBEYXRlOiBNb24sIDIwIEphbiAyMDIwIDExOjQzOjA3ICsw
MjAwDQo+ID4gPiAgU3ViamVjdDogW1BBVENIXSBuZXQvbWx4NTogZml4IG1vZGlmeSBhY3Rpb25z
IHN1cHBvcnQgbGltaXRhdGlvbg0KPiA+ID4NCj4gPiA+ICtbIHVwc3RyZWFtIGNvbW1pdCAwMjRl
OTU3NTljMTZjNjdlZWU5MmVmZmZlZWUzNDkxNWRjOTRhOWMwIF0NCj4gPiA+ICsNCj4gPiA+ICBJ
biB0aGUgcm9vdCB0YWJsZSwgdGhlcmUgaXMgc29tZSBsaW1pdGF0aW9uIG9mIHRvdGFsIG51bWJl
ciBvZg0KPiA+ID4gaGVhZGVyIG1vZGlmeSBhY3Rpb25zLCAxNiBvciA4IGZvciBlYWNoLiBCdXQg
aW4gb3RoZXIgdGFibGVzLCB0aGVyZQ0KPiA+ID4gaXMgbm8gIHN1Y2ggc3RyaWN0IGxpbWl0YXRp
b24uIEluIGFuIElQdjYgY2FzZSwgdGhlIElQIGZpZWxkcw0KPiA+ID4gbW9kaWZ5aW5nIEBADQo+
ID4gPiAtMTYsMjENCj4gPiA+ICsxOCwyMCBAQCAgbWF4aW1hbCBzdXBwb3J0ZWQgdmFsdWUuDQo+
ID4gPg0KPiA+ID4gIEZpeGVzOiAwZTlkMDAwMjc2ODYgKCJuZXQvbWx4NTogY2hlY2sgbWF4aW11
bSBtb2RpZnkgYWN0aW9ucw0KPiA+ID4gbnVtYmVyIikNCj4gPiA+IC1DYzoNCj4gPiA+IHN0YWJs
ZUBkcGRrLm9yZw0KPiA+ID4NCj4gPiA+DQo+ID4gPiAgU2lnbmVkLW9mZi1ieTogQmluZyBaaGFv
IDwNCj4gPiA+IGJpbmd6QG1lbGxhbm94LmNvbQ0KPiA+ID4gPg0KPiA+ID4gIEFja2VkLWJ5OiBP
cmkgS2FtIDwNCj4gPiA+IG9yaWthQG1lbGxhbm94LmNvbQ0KPiA+ID4gPg0KPiA+ID4gIEFja2Vk
LWJ5OiBWaWFjaGVzbGF2IE92c2lpZW5rbyA8DQo+ID4gPiB2aWFjaGVzbGF2b0BtZWxsYW5veC5j
b20NCj4gPiA+ID4NCj4gPiA+ICAtLS0NCj4gPiA+ICAgZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zs
b3cuaCAgICB8ICAxNSArKystLQ0KPiA+ID4gLSBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvd19k
di5jIHwgMTA4ICsrKysrKysrKysrKysrKysrLS0tLS0tLQ0KPiAtDQo+ID4gPiAtLS0tDQo+ID4g
PiAtLS0NCj4gPiA+IC0gMiBmaWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspLCA1NSBkZWxl
dGlvbnMoLSkNCj4gPiA+ICsgZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3dfZHYuYyB8IDEwNCAr
KysrKysrKysrKysrKysrKy0tLS0tLQ0KPiAtLQ0KPiA+ID4gLS0tDQo+ID4gPiAtLS0tDQo+ID4g
PiArIDIgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgNTMgZGVsZXRpb25zKC0pDQo+
ID4gPg0KPiA+ID4gIGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5oDQo+
ID4gPiBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmggLWluZGV4IGExYzdiNjc0ODguLjk4
MzI1NDIzMjgNCj4gPiA+IDEwMDY0NA0KPiA+ID4gK2luZGV4IGRiMTI3MTVlY2MuLjEzYmVkMDhk
NzUgMTAwNjQ0DQo+ID4gPiAgLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuaA0KPiA+
ID4gICsrKyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmgNCj4gPiA+IC1AQCAtMzkyLDEx
ICszOTIsMTQgQEAgc3RydWN0IG1seDVfZmxvd19kdl90YWdfcmVzb3VyY2Ugew0KPiA+ID4gK0BA
IC0zOTEsMTEgKzM5MSwxNCBAQCBzdHJ1Y3QgbWx4NV9mbG93X2R2X3RhZ19yZXNvdXJjZSB7DQo+
ID4gPg0KPiA+ID4gICAvKg0KPiA+ID4gICAgKiBOdW1iZXIgb2YgbW9kaWZpY2F0aW9uIGNvbW1h
bmRzLg0KPiA+ID4gQEAgLTQ5LDcgKzUwLDcgQEANCj4gPiA+DQo+ID4gPiAgIC8qIE1vZGlmeSBy
ZXNvdXJjZSBzdHJ1Y3R1cmUgKi8NCj4gPiA+ICAgc3RydWN0IG1seDVfZmxvd19kdl9tb2RpZnlf
aGRyX3Jlc291cmNlIHsgLUBAIC00MDcsOSArNDEwLDkNCj4gQEANCj4gPiA+IHN0cnVjdCBtbHg1
X2Zsb3dfZHZfbW9kaWZ5X2hkcl9yZXNvdXJjZSB7DQo+ID4gPiArQEAgLTQwNiw5ICs0MDksOSBA
QCBzdHJ1Y3QNCj4gbWx4NV9mbG93X2R2X21vZGlmeV9oZHJfcmVzb3VyY2Ugew0KPiA+ID4gICAJ
LyoqPCBWZXJicyBtb2RpZnkgaGVhZGVyIGFjdGlvbiBvYmplY3QuICovDQo+ID4gPiAgIAl1aW50
OF90IGZ0X3R5cGU7IC8qKjwgRmxvdyB0YWJsZSB0eXBlLCBSeCBvciBUeC4gKi8NCj4gPiA+ICAg
CXVpbnQzMl90IGFjdGlvbnNfbnVtOyAvKio8IE51bWJlciBvZiBtb2RpZmljYXRpb24gYWN0aW9u
cy4NCj4gPiA+ICovIEBAIC02MiwxMCArNjMsMTAgQEANCj4gPiA+DQo+ID4gPiAgIC8qIEp1bXAg
YWN0aW9uIHJlc291cmNlIHN0cnVjdHVyZS4gKi8gIGRpZmYgLS1naXQNCj4gPiA+IGEvZHJpdmVy
cy9uZXQvbWx4NS9tbHg1X2Zsb3dfZHYuYw0KPiBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93
X2R2LmMNCj4gPiA+IC1pbmRleCAyNmRiYWFmMzI5Li41YTFiNDI2OThjDQo+ID4gPiAxMDA2NDQN
Cj4gPiA+ICtpbmRleCA4Zjc3OTA5NDE5Li43NGQxYTY4ZTRhIDEwMDY0NA0KPiA+ID4gIC0tLSBh
L2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93X2R2LmMgICsrKw0KPiA+ID4gYi9kcml2ZXJzL25l
dC9tbHg1L21seDVfZmxvd19kdi5jIC1AQCAtMzY2LDcgKzM2Niw3IEBADQo+ID4gPiBmbG93X2R2
X2NvbnZlcnRfbW9kaWZ5X2FjdGlvbihzdHJ1Y3QNCj4gPiA+IHJ0ZV9mbG93X2l0ZW0gKml0ZW0s
DQo+ID4gPiArQEAgLTM2Myw3ICszNjMsNyBAQCBmbG93X2R2X2NvbnZlcnRfbW9kaWZ5X2FjdGlv
bihzdHJ1Y3QNCj4gPiA+IHJ0ZV9mbG93X2l0ZW0NCj4gPiA+ICsqaXRlbSwNCj4gPiA+ICAgCQl1
aW50MzJfdCBtYXNrOw0KPiA+ID4gICAJCXVpbnQzMl90IGRhdGE7DQo+ID4gPg0KPiA+ID4gQEAg
LTc0LDcgKzc1LDcgQEANCj4gPiA+ICAgCQkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJv
ciwgRUlOVkFMLA0KPiA+ID4gICAJCQkJIFJURV9GTE9XX0VSUk9SX1RZUEVfQUNUSU9OLA0KPiA+
ID4gTlVMTCwNCj4gPiA+ICAgCQkJCSAidG9vIG1hbnkgaXRlbXMgdG8gbW9kaWZ5Iik7DQo+ID4g
PiAtQEAgLTQwNywxMSArNDA3LDExIEBAIGZsb3dfZHZfY29udmVydF9tb2RpZnlfYWN0aW9uKHN0
cnVjdA0KPiA+ID4gcnRlX2Zsb3dfaXRlbSAqaXRlbSwNCj4gPiA+ICtAQCAtNDA0LDExICs0MDQs
MTEgQEAgZmxvd19kdl9jb252ZXJ0X21vZGlmeV9hY3Rpb24oc3RydWN0DQo+ID4gPiArcnRlX2Zs
b3dfaXRlbSAqaXRlbSwNCj4gPiA+ICAgCQkrK2k7DQo+ID4gPiAgIAkJKytmaWVsZDsNCj4gPiA+
ICAgCX0gd2hpbGUgKGZpZWxkLT5zaXplKTsNCj4gPiA+IEBAIC04OCw3ICs4OSw3IEBADQo+ID4g
PiAgIAlyZXR1cm4gMDsNCj4gPiA+ICAgfQ0KPiA+ID4NCj4gPiA+IC1AQCAtNTcyLDcgKzU3Miw3
IEBAIGZsb3dfZHZfY29udmVydF9hY3Rpb25fbW9kaWZ5X3ZsYW5fdmlkDQo+ID4gPiArQEAgLTU2
OSw3ICs1NjksNyBAQCBmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV92bGFuX3ZpZA0KPiA+
ID4gICAJc3RydWN0IG1seDVfbW9kaWZpY2F0aW9uX2NtZCAqYWN0aW9ucyA9ICZyZXNvdXJjZS0+
YWN0aW9uc1tpXTsNCj4gPiA+ICAgCXN0cnVjdCBmaWVsZF9tb2RpZnlfaW5mbyAqZmllbGQgPSBt
b2RpZnlfdmxhbl9vdXRfZmlyc3RfdmlkOw0KPiA+ID4NCj4gPiA+IEBAIC05Nyw3ICs5OCw3IEBA
DQo+ID4gPiAgIAkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRUlOVkFMLA0KPiA+
ID4gICAJCQkgUlRFX0ZMT1dfRVJST1JfVFlQRV9BQ1RJT04sIE5VTEwsDQo+ID4gPiAgIAkJCSAi
dG9vIG1hbnkgaXRlbXMgdG8gbW9kaWZ5Iik7DQo+ID4gPiAtQEAgLTkwNSw3ICs5MDUsNyBAQCBm
bG93X2R2X2NvbnZlcnRfYWN0aW9uX3NldF9yZWcNCj4gPiA+ICtAQCAtOTAyLDcgKzkwMiw3IEBA
IGZsb3dfZHZfY29udmVydF9hY3Rpb25fc2V0X3JlZw0KPiA+ID4gICAJc3RydWN0IG1seDVfbW9k
aWZpY2F0aW9uX2NtZCAqYWN0aW9ucyA9IHJlc291cmNlLT5hY3Rpb25zOw0KPiA+ID4gICAJdWlu
dDMyX3QgaSA9IHJlc291cmNlLT5hY3Rpb25zX251bTsNCj4gPiA+DQo+ID4gPiBAQCAtMTA2LDcg
KzEwNyw3IEBADQo+ID4gPiAgIAkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRUlO
VkFMLA0KPiA+ID4NCj4gPiA+IFJURV9GTE9XX0VSUk9SX1RZUEVfQUNUSU9OLCBOVUxMLA0KPiA+
ID4gICAJCQkJCSAgInRvbyBtYW55IGl0ZW1zIHRvIG1vZGlmeSIpOyAtDQo+IEBAIC05MTcsMTAg
KzkxNyw2IEBADQo+ID4gPiBmbG93X2R2X2NvbnZlcnRfYWN0aW9uX3NldF9yZWcNCj4gPiA+ICtA
QCAtOTE0LDEwICs5MTQsNiBAQCBmbG93X2R2X2NvbnZlcnRfYWN0aW9uX3NldF9yZWcNCj4gPiA+
ICAgCWFjdGlvbnNbaV0uZGF0YTEgPSBydGVfY3B1X3RvX2JlXzMyKGNvbmYtPmRhdGEpOw0KPiA+
ID4gICAJKytpOw0KPiA+ID4gICAJcmVzb3VyY2UtPmFjdGlvbnNfbnVtID0gaTsNCj4gPiA+IEBA
IC0xMTcsNyArMTE4LDcgQEANCj4gPiA+ICAgCXJldHVybiAwOw0KPiA+ID4gICB9DQo+ID4gPg0K
PiA+ID4gLUBAIC0yMzg1LDcgKzIzODEsNiBAQA0KPiBmbG93X2R2X2VuY2FwX2RlY2FwX3Jlc291
cmNlX3JlZ2lzdGVyDQo+ID4gPiArQEAgLTIyNTYsNyArMjI1Miw2IEBADQo+IGZsb3dfZHZfZW5j
YXBfZGVjYXBfcmVzb3VyY2VfcmVnaXN0ZXINCj4gPiA+ICAgCQlkb21haW4gPSBzaC0+cnhfZG9t
YWluOw0KPiA+ID4gICAJZWxzZQ0KPiA+ID4gICAJCWRvbWFpbiA9IHNoLT50eF9kb21haW47DQo+
ID4gPiBAQCAtMTI1LDcgKzEyNiw3IEBADQo+ID4gPiAgIAkvKiBMb29rdXAgYSBtYXRjaGluZyBy
ZXNvdXJjZSBmcm9tIGNhY2hlLiAqLw0KPiA+ID4gICAJTElTVF9GT1JFQUNIKGNhY2hlX3Jlc291
cmNlLCAmc2gtPmVuY2Fwc19kZWNhcHMsIG5leHQpIHsNCj4gPiA+ICAgCQlpZiAocmVzb3VyY2Ut
PnJlZm9ybWF0X3R5cGUgPT0gY2FjaGVfcmVzb3VyY2UtDQo+ID4gPiA+IHJlZm9ybWF0X3R5cGUg
JiYgLUBAIC0zNDk2LDIxICszNDkxLDI3IEBADQo+ID4gPg0KPiA+ID4gZmxvd19kdl92YWxpZGF0
ZV9hY3Rpb25fcG9ydF9pZChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gPiA+ICtAQCAtMzM2
NywyMSArMzM2MiwyNyBAQA0KPiBmbG93X2R2X3ZhbGlkYXRlX2FjdGlvbl9wb3J0X2lkKHN0cnVj
dA0KPiA+ID4gK3J0ZV9ldGhfZGV2ICpkZXYsDQo+ID4gPiAgICAqDQo+ID4gPiAgICAqIEBwYXJh
bSBkZXYNCj4gPiA+ICAgICogICBQb2ludGVyIHRvIHJ0ZV9ldGhfZGV2IHN0cnVjdHVyZS4NCj4g
PiA+IEBAIC0xNTcsNyArMTU4LDcgQEANCj4gPiA+ICAgfQ0KPiA+ID4NCj4gPiA+ICAgLyoqDQo+
ID4gPiAtQEAgLTM2NjksOCArMzY3MCwxMiBAQA0KPiBmbG93X2R2X21vZGlmeV9oZHJfcmVzb3Vy
Y2VfcmVnaXN0ZXINCj4gPiA+ICtAQCAtMzQ3Miw4ICszNDczLDEyIEBADQo+IGZsb3dfZHZfbW9k
aWZ5X2hkcl9yZXNvdXJjZV9yZWdpc3Rlcg0KPiA+ID4gICAJc3RydWN0IG1seDVfaWJ2X3NoYXJl
ZCAqc2ggPSBwcml2LT5zaDsNCj4gPiA+ICAgCXN0cnVjdCBtbHg1X2Zsb3dfZHZfbW9kaWZ5X2hk
cl9yZXNvdXJjZSAqY2FjaGVfcmVzb3VyY2U7DQo+ID4gPiAgIAlzdHJ1Y3QgbWx4NWR2X2RyX2Rv
bWFpbiAqbnM7DQo+ID4gPiBAQCAtMTcxLDcgKzE3Miw3IEBADQo+ID4gPiAgIAkJcmV0dXJuIHJ0
ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRU9WRVJGTE9XLA0KPiA+ID4NCj4gPiA+IFJURV9GTE9X
X0VSUk9SX1RZUEVfQUNUSU9OLCBOVUxMLA0KPiA+ID4gICAJCQkJCSAgInRvbyBtYW55IG1vZGlm
eSBoZWFkZXINCj4gPiA+IGl0ZW1zIik7IC1AQCAtMzY4MCwxNyArMzY4NSwxNSBAQA0KPiA+ID4g
Zmxvd19kdl9tb2RpZnlfaGRyX3Jlc291cmNlX3JlZ2lzdGVyDQo+ID4gPiArQEAgLTM0ODMsMTcg
KzM0ODgsMTUgQEANCj4gZmxvd19kdl9tb2RpZnlfaGRyX3Jlc291cmNlX3JlZ2lzdGVyDQo+ID4g
PiAgIAkJbnMgPSBzaC0+dHhfZG9tYWluOw0KPiA+ID4gICAJZWxzZQ0KPiA+ID4gICAJCW5zID0g
c2gtPnJ4X2RvbWFpbjsNCj4gPiA+IEBAIC0xOTEsNyArMTkyLDcgQEANCj4gPiA+ICAgCQkJRFJW
X0xPRyhERUJVRywgIm1vZGlmeS1oZWFkZXINCj4gPiA+IHJlc291cmNlICVwOiByZWZjbnQgJWQr
KyIsDQo+ID4gPiAgIAkJCQkodm9pZCAqKWNhY2hlX3Jlc291cmNlLA0KPiA+ID4gICAJCQkJcnRl
X2F0b21pYzMyX3JlYWQoJmNhY2hlX3Jlc291cmNlLQ0KPiA+ID4gPiByZWZjbnQpKTsNCj4gPiA+
DQo+ID4gPiAtQEAgLTM3MDAsMTggKzM3MDMsMTggQEANCj4gZmxvd19kdl9tb2RpZnlfaGRyX3Jl
c291cmNlX3JlZ2lzdGVyDQo+ID4gPiArQEAgLTM1MDMsMTggKzM1MDYsMTggQEANCj4gZmxvd19k
dl9tb2RpZnlfaGRyX3Jlc291cmNlX3JlZ2lzdGVyDQo+ID4gPiAgIAkJfQ0KPiA+ID4gICAJfQ0K
PiA+ID4gICAJLyogUmVnaXN0ZXIgbmV3IG1vZGlmeS1oZWFkZXIgcmVzb3VyY2UuICovIEBAIC0y
MTUsNyArMjE2LDcNCj4gQEANCj4gPiA+ICAgCQkJCQkgKHVpbnQ2NF90ICopY2FjaGVfcmVzb3Vy
Y2UtDQo+ID4gPiA+IGFjdGlvbnMpOw0KPiA+ID4NCj4gPiA+ICAgCWlmICghY2FjaGVfcmVzb3Vy
Y2UtPnZlcmJzX2FjdGlvbikgew0KPiA+ID4gICAJCXJ0ZV9mcmVlKGNhY2hlX3Jlc291cmNlKTsN
Cj4gPiA+IC1AQCAtNzAyMCwxMCArNzAyMywxMyBAQCBfX2Zsb3dfZHZfdHJhbnNsYXRlKHN0cnVj
dA0KPiBydGVfZXRoX2Rldg0KPiA+ID4gKmRldiwNCj4gPiA+ICtAQCAtNjY3MCwxMCArNjY3Mywx
MyBAQCBfX2Zsb3dfZHZfdHJhbnNsYXRlKHN0cnVjdA0KPiBydGVfZXRoX2Rldg0KPiA+ID4gKmRl
diwNCj4gPiA+ICAgCX07DQo+ID4gPiAgIAlpbnQgYWN0aW9uc19uID0gMDsNCj4gPiA+ICAgCWJv
b2wgYWN0aW9uc19lbmQgPSBmYWxzZTsNCj4gPiA+IEBAIC0yMzMsNyArMjM0LDcgQEANCj4gPiA+
ICAgCXVuaW9uIGZsb3dfZHZfYXR0ciBmbG93X2F0dHIgPSB7IC5hdHRyID0gMCB9Ow0KPiA+ID4g
ICAJdWludDMyX3QgdGFnX2JlOw0KPiA+ID4gICAJdW5pb24gbWx4NV9mbG93X3RibF9rZXkgdGJs
X2tleTsNCj4gPiA+IC1AQCAtNzAzNSwxNSArNzA0MSwxOSBAQCBfX2Zsb3dfZHZfdHJhbnNsYXRl
KHN0cnVjdA0KPiBydGVfZXRoX2Rldg0KPiA+ID4gKmRldiwNCj4gPiA+ICtAQCAtNjY4NSwxNSAr
NjY5MSwxOSBAQCBfX2Zsb3dfZHZfdHJhbnNsYXRlKHN0cnVjdA0KPiBydGVfZXRoX2Rldg0KPiA+
ID4gKmRldiwNCj4gPiA+ICAgCXVpbnQzMl90IHRhYmxlOw0KPiA+ID4gICAJaW50IHJldCA9IDA7
DQo+ID4gPg0KPiA+ID4gQEAgLTI1NCw3ICsyNTUsNyBAQA0KPiA+ID4gICAJZm9yICg7ICFhY3Rp
b25zX2VuZCA7IGFjdGlvbnMrKykgew0KPiA+ID4gICAJCWNvbnN0IHN0cnVjdCBydGVfZmxvd19h
Y3Rpb25fcXVldWUgKnF1ZXVlOw0KPiA+ID4gICAJCWNvbnN0IHN0cnVjdCBydGVfZmxvd19hY3Rp
b25fcnNzICpyc3M7IC1AQCAtNzA4MSw3DQo+ID4gPiArNzA5MSw3IEBAIF9fZmxvd19kdl90cmFu
c2xhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIEBAIC0NCj4gNjczMSw3DQo+ID4gPiArKzY3
NDEsNyBAQCBfX2Zsb3dfZHZfdHJhbnNsYXRlKHN0cnVjdCBydGVfZXRoX2Rldg0KPiA+ID4gKmRl
diwNCj4gPiA+ICAgCQkJCX07DQo+ID4gPg0KPiA+ID4gICAJCQkJaWYgKGZsb3dfZHZfY29udmVy
dF9hY3Rpb25fbWFyayhkZXYsDQo+ICZtYXJrLCBAQCAtMjYzLDcgKzI2NCw3DQo+ID4gPiBAQA0K
PiA+ID4gICAJCQkJCQkJCWVycm9yKSkNCj4gPiA+ICAgCQkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsN
Cj4gPiA+ICAgCQkJCWFjdGlvbl9mbGFncyB8PQ0KPiA+ID4gTUxYNV9GTE9XX0FDVElPTl9NQVJL
X0VYVDsgLUBAIC03MTAzLDcgKzcxMTMsNyBAQA0KPiA+ID4gX19mbG93X2R2X3RyYW5zbGF0ZShz
dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gPiA+ICtAQCAtNjc1Myw3ICs2NzYzLDcgQEAgX19m
bG93X2R2X3RyYW5zbGF0ZShzdHJ1Y3QgcnRlX2V0aF9kZXYNCj4gPiA+ICpkZXYsDQo+ID4gPiAg
IAkJCQkJCWFjdGlvbnMtPmNvbmY7DQo+ID4gPg0KPiA+ID4gICAJCQkJaWYgKGZsb3dfZHZfY29u
dmVydF9hY3Rpb25fbWFyayhkZXYsDQo+IG1hcmssIEBAIC0yNzIsNyArMjczLDcgQEANCj4gPiA+
ICAgCQkJCQkJCQllcnJvcikpDQo+ID4gPiAgIAkJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4g
PiAgIAkJCQlhY3Rpb25fZmxhZ3MgfD0NCj4gPiA+IE1MWDVfRkxPV19BQ1RJT05fTUFSS19FWFQ7
IC1AQCAtNzEyNCw3ICs3MTM0LDcgQEANCj4gPiA+IF9fZmxvd19kdl90cmFuc2xhdGUoc3RydWN0
IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ID4gPiArQEAgLTY3NzQsNyArNjc4NCw3IEBAIF9fZmxvd19k
dl90cmFuc2xhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ID4gPiAqZGV2LA0KPiA+ID4gICAJCQli
cmVhazsNCj4gPiA+ICAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9NRVRBOg0KPiA+
ID4gICAJCQlpZiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9zZXRfbWV0YSBAQCAtDQo+ID4gPiAy
ODEsNyArMjgyLDcgQEANCj4gPiA+ICAgCQkJCSAoY29uc3Qgc3RydWN0DQo+ID4gPiBydGVfZmxv
d19hY3Rpb25fc2V0X21ldGEgKikNCj4gPiA+ICAgCQkJCSAgYWN0aW9ucy0+Y29uZiwgZXJyb3Ip
KQ0KPiA+ID4gICAJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gPiAtQEAgLTcxMzIsNyArNzE0
Miw3IEBAIF9fZmxvd19kdl90cmFuc2xhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ICpkZXYsDQo+
ID4gPiArQEAgLTY3ODIsNyArNjc5Miw3IEBAIF9fZmxvd19kdl90cmFuc2xhdGUoc3RydWN0IHJ0
ZV9ldGhfZGV2DQo+ID4gPiAqZGV2LA0KPiA+ID4gICAJCQlicmVhazsNCj4gPiA+ICAgCQljYXNl
IFJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9UQUc6DQo+ID4gPiAgIAkJCWlmIChmbG93X2R2X2Nv
bnZlcnRfYWN0aW9uX3NldF90YWcgQEAgLTI5MCw3DQo+ICsyOTEsNyBAQA0KPiA+ID4gICAJCQkJ
IChjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3NldF90YWcNCj4gPiA+ICopDQo+ID4gPiAg
IAkJCQkgIGFjdGlvbnMtPmNvbmYsIGVycm9yKSkNCj4gPiA+ICAgCQkJCXJldHVybiAtcnRlX2Vy
cm5vOw0KPiA+ID4gLUBAIC03MjMyLDcgKzcyNDIsNyBAQCBjbnRfZXJyOg0KPiA+ID4gK0BAIC02
ODgyLDcgKzY4OTIsNyBAQCBjbnRfZXJyOg0KPiA+ID4gICAJCQltbHg1X3VwZGF0ZV92bGFuX3Zp
ZF9wY3AoYWN0aW9ucywgJnZsYW4pOw0KPiA+ID4gICAJCQkvKiBJZiBubyBWTEFOIHB1c2ggLSB0
aGlzIGlzIGEgbW9kaWZ5IGhlYWRlcg0KPiBhY3Rpb24gKi8NCj4gPiA+ICAgCQkJaWYgKGZsb3df
ZHZfY29udmVydF9hY3Rpb25fbW9kaWZ5X3ZsYW5fdmlkDQo+ID4gPiBAQCAtMjk5LDcgKzMwMCw3
IEBADQo+ID4gPiAgIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ICAgCQkJYWN0aW9uX2Zs
YWdzIHw9DQo+ID4gPiBNTFg1X0ZMT1dfQUNUSU9OX09GX1NFVF9WTEFOX1ZJRDsNCj4gPiA+ICAg
CQkJYnJlYWs7DQo+ID4gPiAtQEAgLTczMzEsNyArNzM0MSw3IEBAIGNudF9lcnI6DQo+ID4gPiAr
QEAgLTY5ODEsNyArNjk5MSw3IEBAIGNudF9lcnI6DQo+ID4gPiAgIAkJY2FzZSBSVEVfRkxPV19B
Q1RJT05fVFlQRV9TRVRfTUFDX1NSQzoNCj4gPiA+ICAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9U
WVBFX1NFVF9NQUNfRFNUOg0KPiA+ID4gICAJCQlpZiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9t
b2RpZnlfbWFjDQo+ID4gPiBAQCAtMzA4LDcgKzMwOSw3IEBADQo+ID4gPiAgIAkJCQlyZXR1cm4g
LXJ0ZV9lcnJubzsNCj4gPiA+ICAgCQkJYWN0aW9uX2ZsYWdzIHw9IGFjdGlvbnMtPnR5cGUgPT0N
Cj4gPiA+DQo+ID4gPiAJUlRFX0ZMT1dfQUNUSU9OX1RZUEVfU0VUX01BQ19TUkMgPw0KPiA+ID4g
LUBAIC03MzQxLDcgKzczNTEsNyBAQCBjbnRfZXJyOg0KPiA+ID4gK0BAIC02OTkxLDcgKzcwMDEs
NyBAQCBjbnRfZXJyOg0KPiA+ID4gICAJCWNhc2UgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfU0VUX0lQ
VjRfU1JDOg0KPiA+ID4gICAJCWNhc2UgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfU0VUX0lQVjRfRFNU
Og0KPiA+ID4gICAJCQlpZiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9tb2RpZnlfaXB2NA0KPiA+
ID4gQEAgLTMxNyw3ICszMTgsNyBAQA0KPiA+ID4gICAJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+
ID4gPiAgIAkJCWFjdGlvbl9mbGFncyB8PSBhY3Rpb25zLT50eXBlID09DQo+ID4gPg0KPiA+ID4g
CVJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9JUFY0X1NSQyA/DQo+ID4gPiAtQEAgLTczNTEsNyAr
NzM2MSw3IEBAIGNudF9lcnI6DQo+ID4gPiArQEAgLTcwMDEsNyArNzAxMSw3IEBAIGNudF9lcnI6
DQo+ID4gPiAgIAkJY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9TRVRfSVBWNl9TUkM6DQo+ID4g
PiAgIAkJY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9TRVRfSVBWNl9EU1Q6DQo+ID4gPiAgIAkJ
CWlmIChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV9pcHY2DQo+ID4gPiBAQCAtMzI2LDcg
KzMyNyw3IEBADQo+ID4gPiAgIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ICAgCQkJYWN0
aW9uX2ZsYWdzIHw9IGFjdGlvbnMtPnR5cGUgPT0NCj4gPiA+DQo+ID4gPiAJUlRFX0ZMT1dfQUNU
SU9OX1RZUEVfU0VUX0lQVjZfU1JDID8NCj4gPiA+IC1AQCAtNzM2MSw3ICs3MzcxLDcgQEAgY250
X2VycjoNCj4gPiA+ICtAQCAtNzAxMSw3ICs3MDIxLDcgQEAgY250X2VycjoNCj4gPiA+ICAgCQlj
YXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9UUF9TUkM6DQo+ID4gPiAgIAkJY2FzZSBSVEVf
RkxPV19BQ1RJT05fVFlQRV9TRVRfVFBfRFNUOg0KPiA+ID4gICAJCQlpZiAoZmxvd19kdl9jb252
ZXJ0X2FjdGlvbl9tb2RpZnlfdHAgQEAgLQ0KPiA+ID4gMzM1LDcgKzMzNiw3IEBADQo+ID4gPiAg
IAkJCQkJICZmbG93X2F0dHIsIGVycm9yKSkNCj4gPiA+ICAgCQkJCXJldHVybiAtcnRlX2Vycm5v
Ow0KPiA+ID4gICAJCQlhY3Rpb25fZmxhZ3MgfD0gYWN0aW9ucy0+dHlwZSA9PSAtQEAgLTczNzEs
MTMNCj4gKzczODEsMTMgQEANCj4gPiA+IGNudF9lcnI6DQo+ID4gPiArQEAgLTcwMjEsMTMgKzcw
MzEsMTMgQEAgY250X2VycjoNCj4gPiA+ICAgCQkJYnJlYWs7DQo+ID4gPiAgIAkJY2FzZSBSVEVf
RkxPV19BQ1RJT05fVFlQRV9ERUNfVFRMOg0KPiA+ID4gICAJCQlpZiAoZmxvd19kdl9jb252ZXJ0
X2FjdGlvbl9tb2RpZnlfZGVjX3R0bA0KPiA+ID4gQEAgLTM1MSw3ICszNTIsNyBAQA0KPiA+ID4g
ICAJCQkJCSAmZmxvd19hdHRyLCBlcnJvcikpDQo+ID4gPiAgIAkJCQlyZXR1cm4gLXJ0ZV9lcnJu
bzsNCj4gPiA+ICAgCQkJYWN0aW9uX2ZsYWdzIHw9IE1MWDVfRkxPV19BQ1RJT05fU0VUX1RUTDsN
Cj4gLUBAIC03Mzg1LDcgKzczOTUsNw0KPiA+ID4gQEAgY250X2VycjoNCj4gPiA+ICtAQCAtNzAz
NSw3ICs3MDQ1LDcgQEAgY250X2VycjoNCj4gPiA+ICAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9U
WVBFX0lOQ19UQ1BfU0VROg0KPiA+ID4gICAJCWNhc2UgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfREVD
X1RDUF9TRVE6DQo+ID4gPiAgIAkJCWlmIChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV90
Y3Bfc2VxDQo+ID4gPiBAQCAtMzYwLDcgKzM2MSw3IEBADQo+ID4gPiAgIAkJCQlyZXR1cm4gLXJ0
ZV9lcnJubzsNCj4gPiA+ICAgCQkJYWN0aW9uX2ZsYWdzIHw9IGFjdGlvbnMtPnR5cGUgPT0NCj4g
PiA+DQo+ID4gPiAJUlRFX0ZMT1dfQUNUSU9OX1RZUEVfSU5DX1RDUF9TRVEgPw0KPiA+ID4gLUBA
IC03Mzk2LDcgKzc0MDYsNyBAQCBjbnRfZXJyOg0KPiA+ID4gK0BAIC03MDQ2LDcgKzcwNTYsNyBA
QCBjbnRfZXJyOg0KPiA+ID4gICAJCWNhc2UgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfSU5DX1RDUF9B
Q0s6DQo+ID4gPiAgIAkJY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9ERUNfVENQX0FDSzoNCj4g
PiA+ICAgCQkJaWYgKGZsb3dfZHZfY29udmVydF9hY3Rpb25fbW9kaWZ5X3RjcF9hY2sNCj4gPiA+
IEBAIC0zNjksNyArMzcwLDcgQEANCj4gPiA+ICAgCQkJCXJldHVybiAtcnRlX2Vycm5vOw0KPiA+
ID4gICAJCQlhY3Rpb25fZmxhZ3MgfD0gYWN0aW9ucy0+dHlwZSA9PQ0KPiA+ID4NCj4gPiA+IAlS
VEVfRkxPV19BQ1RJT05fVFlQRV9JTkNfVENQX0FDSyA/DQo+ID4gPiAtQEAgLTc0MDUsMTMgKzc0
MTUsMTMgQEAgY250X2VycjoNCj4gPiA+ICtAQCAtNzA1NSwxMyArNzA2NSwxMyBAQCBjbnRfZXJy
Og0KPiA+ID4gICAJCQlicmVhazsNCj4gPiA+ICAgCQljYXNlIE1MWDVfUlRFX0ZMT1dfQUNUSU9O
X1RZUEVfVEFHOg0KPiA+ID4gICAJCQlpZiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9zZXRfcmVn
IEBAIC0NCj4gMzg1LDIyICszODYsNyBAQA0KPiA+ID4gICAJCQkJcmV0dXJuIC1ydGVfZXJybm87
DQo+ID4gPiAgIAkJCWFjdGlvbl9mbGFncyB8PSBNTFg1X0ZMT1dfQUNUSU9OX1NFVF9UQUc7DQo+
ID4gPiAgIAkJCWJyZWFrOw0KPiA+ID4gLUBAIC03NDM1LDIzICs3NDQ1LDIzIEBAIGNudF9lcnI6
DQo+ID4gPiAtIAkJCWFjdGlvbl9mbGFncyB8PSBNTFg1X0ZMT1dfQUNUSU9OX01FVEVSOw0KPiA+
ID4gLSAJCQlicmVhazsNCj4gPiA+IC0gCQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9J
UFY0X0RTQ1A6DQo+ID4gPiAtLQkJCWlmDQo+ID4gPiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9t
b2RpZnlfaXB2NF9kc2NwKCZtaGRyX3JlcywNCj4gPiA+IC0rCQkJaWYNCj4gPiA+IChmbG93X2R2
X2NvbnZlcnRfYWN0aW9uX21vZGlmeV9pcHY0X2RzY3AobWhkcl9yZXMsDQo+ID4gPiAtIAkJCQkJ
CQkgICAgICBhY3Rpb25zLA0KPiA+ID4gZXJyb3IpKQ0KPiA+ID4gLSAJCQkJcmV0dXJuIC1ydGVf
ZXJybm87DQo+ID4gPiAtIAkJCWFjdGlvbl9mbGFncyB8PQ0KPiA+ID4gTUxYNV9GTE9XX0FDVElP
Tl9TRVRfSVBWNF9EU0NQOw0KPiA+ID4gLSAJCQlicmVhazsNCj4gPiA+IC0gCQljYXNlIFJURV9G
TE9XX0FDVElPTl9UWVBFX1NFVF9JUFY2X0RTQ1A6DQo+ID4gPiAtLQkJCWlmDQo+ID4gPiAoZmxv
d19kdl9jb252ZXJ0X2FjdGlvbl9tb2RpZnlfaXB2Nl9kc2NwKCZtaGRyX3JlcywNCj4gPiA+IC0r
CQkJaWYNCj4gPiA+IChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV9pcHY2X2RzY3AobWhk
cl9yZXMsDQo+ID4gPiAtIAkJCQkJCQkgICAgICBhY3Rpb25zLA0KPiA+ID4gZXJyb3IpKQ0KPiA+
ID4gLSAJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gPiAtIAkJCWFjdGlvbl9mbGFncyB8PQ0K
PiA+ID4gTUxYNV9GTE9XX0FDVElPTl9TRVRfSVBWNl9EU0NQOw0KPiA+ID4gK0BAIC03MDg2LDEw
ICs3MDk2LDEwIEBAIGNudF9lcnI6DQo+ID4gPiAgIAkJCWJyZWFrOw0KPiA+ID4gICAJCWNhc2Ug
UlRFX0ZMT1dfQUNUSU9OX1RZUEVfRU5EOg0KPiA+ID4gICAJCQlhY3Rpb25zX2VuZCA9IHRydWU7
DQo+ID4gPiBAQCAtNDEzLDcgKzM5OSw3IEBADQo+ID4gPiAgIAkJCQkJcmV0dXJuIC1ydGVfZXJy
bm87DQo+ID4gPiAgIAkJCQlkZXZfZmxvdy0NCj4gPiA+ID4gZHYuYWN0aW9uc1ttb2RpZnlfYWN0
aW9uX3Bvc2l0aW9uXSA9DQo+ID4gPg0KPiA+ID4gICAJCQkJCWRldl9mbG93LT5kdi5tb2RpZnlf
aGRyLQ0KPiA+ID4gPiB2ZXJic19hY3Rpb247DQo+ID4gPg0KPiA+ID4gLUBAIC03NDYwLDcgKzc0
NzAsNyBAQCBjbnRfZXJyOg0KPiA+ID4gK0BAIC03MDk4LDcgKzcxMDgsNyBAQCBjbnRfZXJyOg0K
PiA+ID4gICAJCWRlZmF1bHQ6DQo+ID4gPiAgIAkJCWJyZWFrOw0KPiA+ID4gICAJCX0NCj4gLS0N
Cj4gS2luZCByZWdhcmRzLA0KPiBMdWNhIEJvY2Nhc3NpDQoNCg==