From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 5FF41A0521;
	Tue,  3 Nov 2020 15:03:05 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 41658CAB6;
	Tue,  3 Nov 2020 15:03:04 +0100 (CET)
Received: from hqnvemgate26.nvidia.com (hqnvemgate26.nvidia.com
 [216.228.121.65]) by dpdk.org (Postfix) with ESMTP id 84F34CABF;
 Tue,  3 Nov 2020 15:03:01 +0100 (CET)
Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by
 hqnvemgate26.nvidia.com (using TLS: TLSv1.2, AES256-SHA)
 id <B5fa163170000>; Tue, 03 Nov 2020 06:03:03 -0800
Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
 (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 3 Nov
 2020 14:02:40 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176)
 by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id
 15.0.1473.3 via Frontend Transport; Tue, 3 Nov 2020 14:02:40 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n2q0VGS+nHwPSlfcwxQTcZUCMhLoZE91Uf7839Bbi68fIz3Opo+cW+tGpFXlopTMK9Wheh151c5VLRhPcW2qgNO+11d5bG/EUmwuf2G64YFv6Hscj/Acz2sE7+ovVKJ3aPEKWamaYZfM05m+2j27wUYokMXCuq5Xh3bVHHRH02LQZRW+iX7aUdoyVZg/wEvaSOWtcla1xXAehUODSthL3GiBStrgp6Y4WNeqgNmp6nVnXebgw6jMtvZsAB8m6/p1IBuPD0biv1CAEMzkiAqjUwQTfYXJOfazrjgKf8CT98ZyqCEWyxXeNqHzeBrWlm2A4blek4LuLfq7irsKp/qiWQ==
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=m+9+hMrmNQAqsrOUbpPkQeD9kuXw69XIWuw/54CN/S8=;
 b=VE5jjdyEU8SN202IIAHLscBqPbIl1NbpsEy2cMTUG5YLhP4wUurt4A2xbYtYp5Lku025rzx7xnF7mXKDA9MuEs8HcO+8YiDs/g1dGcImsxCaxtY9Fg9I/FI4h7kYAjT7JtNhDu12aIc6XpyFMruEc3I0HoAmV6C9YC0yNnPtQmwVLlRxhUxGyD3Zz0Dlic/drjgxnwejhwctvcXbSDeAGTmJ4Ip+d8UgLDuU420QFJe/0PbksEU8P2Rc26nnTZr99HDPtKiJi7szjYl0/knlln+b2qOLO6MI62QpmuQkjPmhnRhLyQubXt9MOFrKtQzhMb62hRMjemGjF90q8fpYUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
Received: from MWHPR12MB1501.namprd12.prod.outlook.com (2603:10b6:301:f::18)
 by MWHPR12MB1424.namprd12.prod.outlook.com (2603:10b6:300:13::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.18; Tue, 3 Nov
 2020 14:02:39 +0000
Received: from MWHPR12MB1501.namprd12.prod.outlook.com
 ([fe80::ec4d:f17d:402c:78b4]) by MWHPR12MB1501.namprd12.prod.outlook.com
 ([fe80::ec4d:f17d:402c:78b4%6]) with mapi id 15.20.3499.030; Tue, 3 Nov 2020
 14:02:38 +0000
From: Slava Ovsiienko <viacheslavo@nvidia.com>
To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= <mb@smartsharesystems.com>,
 NBU-Contact-Thomas Monjalon <thomas@monjalon.net>, "dev@dpdk.org"
 <dev@dpdk.org>, "techboard@dpdk.org" <techboard@dpdk.org>
CC: Ajit Khaparde <ajit.khaparde@broadcom.com>, "Ananyev, Konstantin"
 <konstantin.ananyev@intel.com>, Andrew Rybchenko
 <andrew.rybchenko@oktetlabs.ru>, "dev@dpdk.org" <dev@dpdk.org>, "Yigit,
 Ferruh" <ferruh.yigit@intel.com>, "david.marchand@redhat.com"
 <david.marchand@redhat.com>, "Richardson, Bruce"
 <bruce.richardson@intel.com>, "olivier.matz@6wind.com"
 <olivier.matz@6wind.com>, "jerinj@marvell.com" <jerinj@marvell.com>,
 "honnappa.nagarahalli@arm.com" <honnappa.nagarahalli@arm.com>,
 "maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>,
 "stephen@networkplumber.org" <stephen@networkplumber.org>,
 "hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>, Matan Azrad
 <matan@nvidia.com>, Shahaf Shuler <shahafs@nvidia.com>
Thread-Topic: [dpdk-dev] [PATCH 15/15] mbuf: move pool pointer in hotterfirst
 half
Thread-Index: AQHWr7KXTn2+3kU3gEmve7K5iz/ia6myLNIAgADSGICAAHx6AIAASNyAgAE+RACAAVKegIAAF2JQ
Date: Tue, 3 Nov 2020 14:02:38 +0000
Message-ID: <MWHPR12MB150109404B0B68CD9D70B4A6DF110@MWHPR12MB1501.namprd12.prod.outlook.com>
References: <20201029092751.3837177-1-thomas@monjalon.net>
 <3086227.yllCKDRCEA@thomas>
 <98CBD80474FA8B44BF855DF32C47DC35C613CD@smartserver.smartshare.dk>
 <13044489.RHGIMAnax8@thomas>
 <98CBD80474FA8B44BF855DF32C47DC35C613DB@smartserver.smartshare.dk>
In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35C613DB@smartserver.smartshare.dk>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: smartsharesystems.com; dkim=none (message not signed)
 header.d=none; smartsharesystems.com;
 dmarc=none action=none header.from=nvidia.com;
x-originating-ip: [95.164.10.10]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c5b494ee-f8d3-42f0-2e60-08d880011fc6
x-ms-traffictypediagnostic: MWHPR12MB1424:
x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <MWHPR12MB1424EF971159AA6C336CE3A1DF110@MWHPR12MB1424.namprd12.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: ZAcEYEKcQyno3+hWUWVrCsIt/8Nro5zBM3hAk2yBB11uB1MVtCvKK1JyEuhAUh1Xs+MtB04A/w8eS8S1AMfErib6hwZ3S/TSTi2dm9GV/ebU8G2eECdcDmX/ov7sCjIodCFhuu+NEAUFGYzF6G4vYXMAIm3bozYtX0o9qHry4Dw5n7BLImWDlm+wgTzUOvFE7xji+vEJWht8aLQcpFBSnF1hGMzBg274Ye8bMyEg37OoffFhxUrvTMA2eaKYBSFJNqhafGF2gn5wH0aUuiLshsPj/4v02hfRezKVZ11L1TcWIdtJ/T+O67XRp/jXiUkpxJZOGQA2pHICSDJ5+Fawjw==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:MWHPR12MB1501.namprd12.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(366004)(396003)(136003)(376002)(346002)(39860400002)(7416002)(66574015)(2906002)(52536014)(76116006)(66556008)(6506007)(66946007)(66476007)(64756008)(66446008)(83380400001)(8676002)(26005)(8936002)(55016002)(186003)(53546011)(478600001)(71200400001)(110136005)(30864003)(316002)(4326008)(7696005)(9686003)(33656002)(5660300002)(107886003)(86362001)(54906003);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata: faISpPEd2OB0SCtfLdxWQBzvm3AlC/KcHaWl+8Pg/pasYZn5bGzghM1+B8qKTaQ+RJlYXMoUGOA3JnPT/HTUdwmP+JWTCvPrlnM4WY1ekl56HncRCbLm+13yGCut1rH8UEcDdYP7F7MLEsfjIzIndBxxpMwoQS1Jei24swKlp0af7SLMH/T0fw0mW5oz2Ip0D9B47vqdYSoa/gqtqbwtrxes94Jxvyh99tDIfTTMK2g6/l8w7ja5NqCq3G39oXiuoboQLNbcDQ/Z8H6zdBbMaABdGWFQKcaSgxDXyVq/euCuVapvLQJJlAMB8J2rkjfLBOGdQ9Ckh2IeA/brOKiEl8/IoW9XIEFAq+CfZAuMbCqvGHFHVlHjNOVNriVRGucACW1V9mWRKh75w4mZkW+g5OMnO1VkDl0kM6En5IgD9K8qQsbJ2bSMOEin7cU/EKtZg/7NKNTrdmu6BnobSbY3ls6qeZyculLanhGtRwVX/kKiVwd/bzjqG4b18UO6SV+rkpSJD2AlJq0DU0VCY3EQwtfxr3haSjv7FgR8QZcRSXsWWZX31Avsj0toU7v1Jm4Qk4QV5YjNqxuUmLh6m/aXuaQEM8UNTNVcsD7b+YcwI8oftP9dMeAeqZMhhActPHKsOWwWw9xuGJ/LrWSCZnaw4w==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MWHPR12MB1501.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5b494ee-f8d3-42f0-2e60-08d880011fc6
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2020 14:02:38.8259 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: I3EgRna9oilpmdVKmu9g6BgzTc01hiQXr29j99oBkupoizrDPqFrCR4Gsv//2l9n1x5oFeViFoxdAOQ5U/0ICw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1424
X-OriginatorOrg: Nvidia.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
 t=1604412183; bh=m+9+hMrmNQAqsrOUbpPkQeD9kuXw69XIWuw/54CN/S8=;
 h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:
 CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:
 In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach:
 X-MS-TNEF-Correlator:authentication-results:x-originating-ip:
 x-ms-publictraffictype:x-ms-office365-filtering-correlation-id:
 x-ms-traffictypediagnostic:x-ld-processed:
 x-ms-exchange-transport-forked:x-microsoft-antispam-prvs:
 x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck:
 x-microsoft-antispam:x-microsoft-antispam-message-info:
 x-forefront-antispam-report:x-ms-exchange-antispam-messagedata:
 Content-Type:Content-Transfer-Encoding:MIME-Version:
 X-MS-Exchange-CrossTenant-AuthAs:
 X-MS-Exchange-CrossTenant-AuthSource:
 X-MS-Exchange-CrossTenant-Network-Message-Id:
 X-MS-Exchange-CrossTenant-originalarrivaltime:
 X-MS-Exchange-CrossTenant-fromentityheader:
 X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype:
 X-MS-Exchange-CrossTenant-userprincipalname:
 X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg;
 b=VFnqpR1s/IC5UsM1EszUu3Fw946sK/8cDXVqxVVb3bsTSkC+/yXa1F0SALrSCMFNm
 MCEYB4qcNirnBoutbOuSSK4NtHFoUi5Y3+F7yhiKyTRJAW+XhSiAasafz5HtrS9wZI
 5+V+Glq9xxJCCCYprajLWcAMjQVjETB6cpHwz0XP/VQ8Wko82s+YiFieXvrRIIdDcZ
 efWruR9Cns9M3z6tOfm02pxujQM0ocvQHUga9X2vI+LlzpRmVRVvzMcQ2qZVExI8hk
 IKTxZeD4tGD5zWPEvsY1fHj5wIM/qqqpbF2CUf/L080caVarVvYHdCdNXQL2yvooeF
 Ox9paje8c3w4w==
Subject: Re: [dpdk-dev] [PATCH 15/15] mbuf: move pool pointer in hotterfirst
 half
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

SGksIE1vcnRlbg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1vcnRl
biBCcsO4cnVwIDxtYkBzbWFydHNoYXJlc3lzdGVtcy5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIE5v
dmVtYmVyIDMsIDIwMjAgMTQ6MTANCj4gVG86IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbiA8
dGhvbWFzQG1vbmphbG9uLm5ldD47IGRldkBkcGRrLm9yZzsNCj4gdGVjaGJvYXJkQGRwZGsub3Jn
DQo+IENjOiBBaml0IEtoYXBhcmRlIDxhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNvbT47IEFuYW55
ZXYsIEtvbnN0YW50aW4NCj4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+OyBBbmRyZXcg
UnliY2hlbmtvDQo+IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IGRldkBkcGRrLm9y
ZzsgWWlnaXQsIEZlcnJ1aA0KPiA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IGRhdmlkLm1hcmNo
YW5kQHJlZGhhdC5jb207IFJpY2hhcmRzb24sIEJydWNlDQo+IDxicnVjZS5yaWNoYXJkc29uQGlu
dGVsLmNvbT47IG9saXZpZXIubWF0ekA2d2luZC5jb207IGplcmluakBtYXJ2ZWxsLmNvbTsNCj4g
U2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgaG9ubmFwcGEubmFnYXJh
aGFsbGlAYXJtLmNvbTsNCj4gbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb207IHN0ZXBoZW5AbmV0
d29ya3BsdW1iZXIub3JnOw0KPiBoZW1hbnQuYWdyYXdhbEBueHAuY29tOyBTbGF2YSBPdnNpaWVu
a28gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+OyBNYXRhbg0KPiBBenJhZCA8bWF0YW5AbnZpZGlh
LmNvbT47IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbnZpZGlhLmNvbT4NCj4gU3ViamVjdDogUkU6
IFtkcGRrLWRldl0gW1BBVENIIDE1LzE1XSBtYnVmOiBtb3ZlIHBvb2wgcG9pbnRlciBpbiBob3R0
ZXJmaXJzdA0KPiBoYWxmDQo+IA0KPiA+IEZyb206IFRob21hcyBNb25qYWxvbiBbbWFpbHRvOnRo
b21hc0Btb25qYWxvbi5uZXRdDQo+ID4gU2VudDogTW9uZGF5LCBOb3ZlbWJlciAyLCAyMDIwIDQ6
NTggUE0NCj4gPg0KPiA+ICtDYyB0ZWNoYm9hcmQNCj4gPg0KPiA+IFdlIG5lZWQgYmVuY2htYXJr
IG51bWJlcnMgaW4gb3JkZXIgdG8gdGFrZSBhIGRlY2lzaW9uLg0KPiA+IFBsZWFzZSBhbGwsIHBy
ZXBhcmUgc29tZSBhcmd1bWVudHMgYW5kIG51bWJlcnMgc28gd2UgY2FuIGRpc2N1c3MgdGhlDQo+
ID4gbWJ1ZiBsYXlvdXQgaW4gdGhlIG5leHQgdGVjaGJvYXJkIG1lZXRpbmcuDQo+IA0KPiBJIHBy
b3Bvc2UgdGhhdCB0aGUgdGVjaGJvYXJkIGNvbnNpZGVycyB0aGlzIGZyb20gdHdvIGFuZ2VsczoN
Cj4gDQo+IDEuIExvbmcgdGVybSBnb2FscyBhbmQgdGhlaXIgcmVsYXRpdmUgcHJpb3JpdHkuIEku
ZS4gd2hhdCBjYW4gYmUgYWNoaWV2ZWQgd2l0aA0KPiB3aWRlLXJhbmdpbmcgbW9kaWZpY2F0aW9u
cywgcmVxdWlyaW5nIHlldCBhbm90aGVyIEFCSSBicmVhayBhbmQgZHVlIG5vdGljZXMuDQo+IA0K
PiAyLiBTaG9ydCB0ZXJtIGdvYWxzLCBpLmUuIHdoYXQgY2FuIGJlIGFjaGlldmVkIGZvciB0aGlz
IHJlbGVhc2UuDQo+IA0KPiANCj4gTXkgc3VnZ2VzdGlvbnMgZm9sbG93Li4uDQo+IA0KPiAxLiBS
ZWdhcmRpbmcgbG9uZyB0ZXJtIGdvYWxzOg0KPiANCj4gSSBoYXZlIGFyZ3VlZCB0aGF0IHNpbXBs
ZSBmb3J3YXJkaW5nIG9mIG5vbi1zZWdtZW50ZWQgcGFja2V0cyB1c2luZyBvbmx5IHRoZQ0KPiBm
aXJzdCBtYnVmIGNhY2hlIGxpbmUgY2FuIGJlIGFjaGlldmVkIGJ5IG1ha2luZyB0aHJlZQ0KPiBt
b2RpZmljYXRpb25zOg0KPiANCj4gYSkgTW92ZSBtLT50eF9vZmZsb2FkIHRvIHRoZSBmaXJzdCBj
YWNoZSBsaW5lLg0KTm90IGFsbCBQTURzIHVzZSB0aGlzIGZpZWxkIG9uIFR4LiBIVyBtaWdodCBz
dXBwb3J0IHRoZSBjaGVja3N1bSBvZmZsb2Fkcw0KZGlyZWN0bHksIG5vdCByZXF1aXJpbmcgdGhl
c2UgZmllbGRzIGF0IGFsbC4gDQoNCg0KPiBiKSBVc2UgYW4gOCBiaXQgcGt0bWJ1ZiBtZW1wb29s
IGluZGV4IGluIHRoZSBmaXJzdCBjYWNoZSBsaW5lLA0KPiAgICBpbnN0ZWFkIG9mIHRoZSA2NCBi
aXQgbS0+cG9vbCBwb2ludGVyIGluIHRoZSBzZWNvbmQgY2FjaGUgbGluZS4NCjI1NiBtcG9vbCBs
b29rcyBlbm91Z2gsIGFzIGZvciBtZS4gUmVnYXJkaW5nIHRoZSBpbmRpcmVjdCBhY2Nlc3MgdG8g
dGhlIHBvb2wNCih2aWEgc29tZSB0YWJsZSkgLSBpdCBtaWdodCBpbnRyb2R1Y2Ugc29tZSBwZXJm
b3JtYW5jZSBpbXBhY3QuIEZvciBleGFtcGxlLCANCm1seDUgUE1EIHN0cm9uZ2x5IHJlbGllcyBv
biBwb29sIGZpZWxkIGZvciBhbGxvY2F0aW5nIG1idWZzIGluIFJ4IGRhdGFwYXRoLg0KV2UncmUg
Z29pbmcgdG8gdXBkYXRlIChvLW8sIHdlIGZvdW5kIHBvaW50IHRvIG9wdGltaXplKSwgYnV0IGZv
ciBub3cgaXQgZG9lcy4NCg0KPiBjKSBEbyBub3QgYWNjZXNzIG0tPm5leHQgd2hlbiB3ZSBrbm93
IHRoYXQgaXQgaXMgTlVMTC4NCj4gICAgV2UgY2FuIHVzZSBtLT5uYl9zZWdzID09IDEgb3Igc29t
ZSBvdGhlciBpbnZhcmlhbnQgYXMgdGhlIGdhdGUuDQo+ICAgIEl0IGNhbiBiZSBpbXBsZW1lbnRl
ZCBieSBhZGRpbmcgYW4gbS0+bmV4dCBhY2Nlc3NvciBmdW5jdGlvbjoNCj4gICAgc3RydWN0IHJ0
ZV9tYnVmICogcnRlX21idWZfbmV4dChzdHJ1Y3QgcnRlX21idWYgKiBtKQ0KPiAgICB7DQo+ICAg
ICAgICByZXR1cm4gbS0+bmJfc2VncyA9PSAxID8gTlVMTCA6IG0tPm5leHQ7DQo+ICAgIH0NCg0K
U29ycnksIG5vdCBzdXJlIGFib3V0IHRoaXMuIElJUkMsIG5iX3NlZ3MgaXMgdmFsaWQgaW4gdGhl
IGZpcnN0IHNlZ21lbnQvbWJ1ZiAgb25seS4NCklmIHdlIGhhdmUgdGhlIDQgc2VnbWVudHMgaW4g
dGhlIHBrdCB3ZSBzZWUgbmJfc2VnPTQgaW4gdGhlIGZpcnN0IG9uZSwgYW5kIHRoZSBuYl9zZWc9
MQ0KaW4gdGhlIG90aGVycy4gVGhlIG5leHQgZmllbGQgaXMgTlVMTCBpbiB0aGUgbGFzdCBtYnVm
IG9ubHkuIEFtIEkgd3JvbmcgYW5kIG1pc3Mgc29tZXRoaW5nID8NCg0KPiBSZWdhcmRpbmcgdGhl
IHByaW9yaXR5IG9mIHRoaXMgZ29hbCwgSSBndWVzcyB0aGF0IHNpbXBsZSBmb3J3YXJkaW5nIG9m
IG5vbi0NCj4gc2VnbWVudGVkIHBhY2tldHMgaXMgcHJvYmFibHkgdGhlIHBhdGggdGFrZW4gYnkg
dGhlIG1ham9yaXR5IG9mIHBhY2tldHMNCj4gaGFuZGxlZCBieSBEUERLLg0KPiANCj4gQW4gYWx0
ZXJuYXRpdmUgZ29hbCBjb3VsZCBiZToNCj4gRG8gbm90IHRvdWNoIHRoZSBzZWNvbmQgY2FjaGUg
bGluZSBkdXJpbmcgUlguDQo+IEEgY29tbWVudCBpbiB0aGUgbWJ1ZiBzdHJ1Y3R1cmUgc2F5cyBz
bywgYnV0IGl0IGlzIG5vdCB0cnVlIGFueW1vcmUuDQo+IA0KPiAoSSBndWVzcyB0aGF0IHJlZ3Jl
c3Npb24gdGVzdGluZyBkaWRuJ3QgY2F0Y2ggdGhpcyBiZWNhdXNlIHRoZSB0ZXN0cyBwZXJmb3Jt
IFRYDQo+IGltbWVkaWF0ZWx5IGFmdGVyIFJYLCBzbyB0aGUgY2FjaGUgbWlzcyBqdXN0IG1vdmVz
IGZyb20gdGhlIFRYIHRvIHRoZSBSWCBwYXJ0DQo+IG9mIHRoZSB0ZXN0IGFwcGxpY2F0aW9uLikN
Cj4gDQo+IA0KPiAyLiBSZWdhcmRpbmcgc2hvcnQgdGVybSBnb2FsczoNCj4gDQo+IFRoZSBjdXJy
ZW50IERQREsgc291cmNlIGNvZGUgbG9va3MgdG8gbWUgbGlrZSBtLT5uZXh0IGlzIHRoZSBtb3N0
IGZyZXF1ZW50bHkNCj4gYWNjZXNzZWQgZmllbGQgaW4gdGhlIHNlY29uZCBjYWNoZSBsaW5lLCBz
byBpdCBtYWtlcyBzZW5zZSBtb3ZpbmcgdGhpcyB0byB0aGUNCj4gZmlyc3QgY2FjaGUgbGluZSwg
cmF0aGVyIHRoYW4gbS0+cG9vbC4NCj4gQmVuY2htYXJraW5nIG1heSBoZWxwIGhlcmUuDQoNCk1v
cmVvdmVyLCBmb3IgdGhlIHNlZ21lbnRlZCBwYWNrZXRzIHRoZSBwYWNrZXQgc2l6ZSBpcyBzdXBw
b3NlZCB0byBiZSBsYXJnZSwNCmFuZCBpdCBpbXBvc2VzIHRoZSByZWxhdGl2ZWx5IGxvdyBwYWNr
ZXQgcmF0ZSwgc28gcHJvYmFibHkgb3B0aW1pemF0aW9uIG9mDQptb3ZpbmcgbmV4dCB0byB0aGUg
MXN0IGNhY2hlIGxpbmUgbWlnaHQgYmUgbmVnbGlnaWJsZSBhdCBhbGwuIEp1c3QgY29tcGFyZSAx
NDhNcHBzIG9mDQo2NEIgcGt0cyBhbmQgNE1wcHMgb2YgMzAwMEIgcGt0cyBvdmVyIDEwMEdicHMg
bGluay4gQ3VycmVudGx5IHdlIGFyZSBvbiBiZW5jaG1hcmtpbmcNCmFuZCBkaWQgbm90IHN1Y2Nl
ZWQgeWV0IG9uIGRpZmZlcmVuY2UgZmluZGluZy4gVGhlIGJlbmVmaXQgY2FuJ3QgYmUgZXhwcmVz
c2VkIGluIG1wcHMgZGVsdGEsDQp3ZSBzaG91bGQgbWVhc3VyZSBDUFUgY2xvY2tzLCBidXQgUngg
cXVldWUgaXMgYWxtb3N0IGFsd2F5cyBlbXB0eSAtIHdlIGhhdmUgYW4gZW1wdHkNCmxvb3BzLiBT
bywgaWYgd2UgaGF2ZSB0aGUgYm9vc3QgLSBpdCBpcyBleHRyZW1lbHkgaGFyZCB0byBjYXRjaCBv
bmUuDQoNCldpdGggYmVzdCByZWdhcmRzLCBTbGF2YQ0KDQo+DQo+IA0KPiBJZiB3ZSAtIHdpdGhv
dXQgYnJlYWtpbmcgdGhlIEFCSSAtIGNhbiBpbnRyb2R1Y2UgYSBnYXRlIHRvIGF2b2lkIGFjY2Vz
c2luZyBtLQ0KPiA+bmV4dCB3aGVuIHdlIGtub3cgdGhhdCBpdCBpcyBOVUxMLCB3ZSBzaG91bGQg
a2VlcCBpdCBpbiB0aGUgc2Vjb25kIGNhY2hlDQo+IGxpbmUuDQo+IA0KPiBJbiB0aGlzIGNhc2Us
IEkgd291bGQgcHJlZmVyIHRvIG1vdmUgbS0+dHhfb2ZmbG9hZCB0byB0aGUgZmlyc3QgY2FjaGUg
bGluZSwNCj4gdGhlcmVieSBwcm92aWRpbmcgYSBmaWVsZCBhdmFpbGFibGUgZm9yIGFwcGxpY2F0
aW9uIHVzZSwgdW50aWwgdGhlIGFwcGxpY2F0aW9uDQo+IHByZXBhcmVzIHRoZSBwYWNrZXQgZm9y
IHRyYW5zbWlzc2lvbi4NCj4gDQo+IA0KPiA+DQo+ID4NCj4gPiAwMS8xMS8yMDIwIDIxOjU5LCBN
b3J0ZW4gQnLDuHJ1cDoNCj4gPiA+ID4gRnJvbTogVGhvbWFzIE1vbmphbG9uIFttYWlsdG86dGhv
bWFzQG1vbmphbG9uLm5ldF0NCj4gPiA+ID4gU2VudDogU3VuZGF5LCBOb3ZlbWJlciAxLCAyMDIw
IDU6MzggUE0NCj4gPiA+ID4NCj4gPiA+ID4gMDEvMTEvMjAyMCAxMDoxMiwgTW9ydGVuIEJyw7hy
dXA6DQo+ID4gPiA+ID4gT25lIHRoaW5nIGhhcyBhbHdheXMgcHV6emxlZCBtZToNCj4gPiA+ID4g
PiBXaHkgZG8gd2UgdXNlIDY0IGJpdHMgdG8gaW5kaWNhdGUgd2hpY2ggbWVtb3J5IHBvb2wgYW4g
bWJ1Zg0KPiA+ID4gPiA+IGJlbG9uZ3MgdG8/DQo+ID4gPiA+ID4gVGhlIHBvcnRpZCBvbmx5IHVz
ZXMgMTYgYml0cyBhbmQgYW4gaW5kaXJlY3Rpb24gaW5kZXguDQo+ID4gPiA+ID4gV2h5IGRvbid0
IHdlIHVzZSB0aGUgc2FtZSBraW5kIG9mIGluZGlyZWN0aW9uIGluZGV4IGZvciBtYnVmDQo+ID4g
cG9vbHM/DQo+ID4gPiA+DQo+ID4gPiA+IEkgd29uZGVyIHdoYXQgd291bGQgYmUgdGhlIGNvc3Qg
b2YgaW5kaXJlY3Rpb24uIFByb2JhYmx5DQo+ID4gbmVnbGVjdGlibGUuDQo+ID4gPg0KPiA+ID4g
UHJvYmFibHkuIFRoZSBwb3J0aWQgZG9lcyBpdCwgYW5kIHRoYXQgaW5kaXJlY3Rpb24gaXMgaGVh
dmlseSB1c2VkDQo+ID4gZXZlcnl3aGVyZS4NCj4gPiA+DQo+ID4gPiBUaGUgc2l6ZSBvZiBtYnVm
IG1lbW9yeSBwb29sIGluZGlyZWN0aW9uIGFycmF5IHNob3VsZCBiZSBjb21waWxlDQo+ID4gPiB0
aW1lDQo+ID4gY29uZmlndXJhYmxlLCBsaWtlIHRoZSBzaXplIG9mIHRoZSBwb3J0aWQgaW5kaXJl
Y3Rpb24gYXJyYXkuDQo+ID4gPg0KPiA+ID4gQW5kIGZvciByZWZlcmVuY2UsIHRoZSBpbmRpcmVj
dGlvbiBhcnJheSB3aWxsIGZpdCBpbnRvIG9uZSBjYWNoZQ0KPiA+ID4gbGluZQ0KPiA+IGlmIHdl
IGRlZmF1bHQgdG8gOCBtYnVmIHBvb2xzLCB0aHVzIHN1cHBvcnRpbmcgYW4gOCBDUFUgc29ja2V0
IHN5c3RlbQ0KPiA+IHdpdGggb25lIG1idWYgcG9vbCBwZXIgQ1BVIHNvY2tldCwgb3IgYSA0IENQ
VSBzb2NrZXQgc3lzdGVtIHdpdGggdHdvDQo+ID4gbWJ1ZiBwb29scyBwZXIgQ1BVIHNvY2tldC4N
Cj4gPiA+DQo+ID4gPiAoQW5kIGFzIGEgc2lkZSBub3RlOiBPdXIgYXBwbGljYXRpb24gaXMgb3B0
aW1pemVkIGZvciBzaW5nbGUtc29ja2V0DQo+ID4gc3lzdGVtcywgYW5kIHdlIG9ubHkgdXNlIG9u
ZSBtYnVmIHBvb2wuIEkgZ3Vlc3MgbWFueSBhcHBsaWNhdGlvbnMgd2VyZQ0KPiA+IGRldmVsb3Bl
ZCB3aXRob3V0IGNhcmVmdWxseSBvcHRpbWl6aW5nIGZvciBtdWx0aS1zb2NrZXQgc3lzdGVtcywg
YW5kDQo+ID4gYWxzbyBqdXN0IHVzZSBvbmUgbWJ1ZiBwb29sLiBJbiB0aGVzZSBjYXNlcywgdGhl
IG1idWYgc3RydWN0dXJlDQo+ID4gZG9lc24ndCByZWFsbHkgbmVlZCBhIHBvb2wgZmllbGQuIEJ1
dCBpdCBpcyBzdGlsbCB0aGVyZSwgYW5kIHRoZSBEUERLDQo+ID4gbGlicmFyaWVzIHVzZSBpdCwg
c28gd2UgZGlkbid0IGJvdGhlciByZW1vdmluZyBpdC4pDQo+ID4gPg0KPiA+ID4gPiBJIHRoaW5r
IGl0IGlzIGEgZ29vZCBwcm9wb3NhbC4uLg0KPiA+ID4gPiAuLi4gZm9yIG5leHQgeWVhciwgYWZ0
ZXIgYSBkZXByZWNhdGlvbiBub3RpY2UuDQo+ID4gPiA+DQo+ID4gPiA+ID4gSSBjYW4gZWFzaWx5
IGltYWdpbmUgdXNpbmcgb25lIG1idWYgcG9vbCAob3IgcGVyaGFwcyBhIGZldw0KPiA+ID4gPiA+
IHBvb2xzKSBwZXIgQ1BVIHNvY2tldCAob3IgcGVyIHBoeXNpY2FsIG1lbW9yeSBidXMgY2xvc2Vz
dCB0byBhbg0KPiA+ID4gPiA+IGF0dGFjaGVkDQo+ID4gTklDKSwNCj4gPiA+ID4gPiBidXQgbm90
IG1vcmUgdGhhbiAyNTYgbWJ1ZiBtZW1vcnkgcG9vbHMgaW4gdG90YWwuDQo+ID4gPiA+ID4gU28s
IGxldCdzIGludHJvZHVjZSBhbiBtYnVmcG9vbGlkIGxpa2UgdGhlIHBvcnRpZCwgYW5kIGN1dCB0
aGlzDQo+ID4gPiA+ID4gbWJ1ZiBmaWVsZCBkb3duIGZyb20gNjQgdG8gOCBiaXRzLg0KPiA+DQo+
ID4gV2Ugd2lsbCBuZWVkIHRvIG1lYXN1cmUgdGhlIHBlcmYgb2YgdGhlIHNvbHV0aW9uLg0KPiA+
IFRoZXJlIGlzIGEgY2hhbmNlIGZvciB0aGUgY29zdCB0byBiZSB0b28gbXVjaCBoaWdoLg0KPiA+
DQo+ID4NCj4gPiA+ID4gPiBJZiB3ZSBhbHNvIGN1dCBkb3duIG0tPnBrdF9sZW4gZnJvbSAzMiB0
byAyNCBiaXRzLA0KPiA+ID4gPg0KPiA+ID4gPiBXaG8gaXMgdXNpbmcgcGFja2V0cyBsYXJnZXIg
dGhhbiA2NGs/IEFyZSAxNiBiaXRzIGVub3VnaD8NCj4gPiA+DQo+ID4gPiBJIHBlcnNvbmFsbHkg
Y29uc2lkZXIgNjRrIGEgcmVhc29uYWJsZSBwYWNrZXQgc2l6ZSBsaW1pdC4gRXhvdGljDQo+ID4g
YXBwbGljYXRpb25zIHdpdGggZXZlbiBsYXJnZXIgcGFja2V0cyB3b3VsZCBoYXZlIHRvIGxpdmUg
d2l0aCB0aGlzDQo+ID4gY29uc3RyYWludC4gQnV0IGxldCdzIHNlZSBpZiB0aGVyZSBhcmUgYW55
IG9iamVjdGlvbnMuIEZvciByZWZlcmVuY2UsDQo+ID4gNjRrIGNvcnJlc3BvbmRzIHRvIGNhLiA0
NCBFdGhlcm5ldCAoMTUwMCBieXRlKSBwYWNrZXRzLg0KPiA+ID4NCj4gPiA+IChUaGUgbGltaXQg
Y291bGQgYmUgNjU1MzUgYnl0ZXMsIHRvIGF2b2lkIHRyYW5zbGF0aW9uIG9mIHRoZSB2YWx1ZSAw
DQo+ID4gaW50byA2NTUzNiBieXRlcy4pDQo+ID4gPg0KPiA+ID4gVGhpcyBtb2RpZmljYXRpb24g
d291bGQgZ28gbmljZWx5IGhhbmQgaW4gaGFuZCB3aXRoIHRoZSBtYnVmIHBvb2wNCj4gPiBpbmRp
cmVjdGlvbiBtb2RpZmljYXRpb24uDQo+ID4gPg0KPiA+ID4gLi4uIGFmdGVyIHlldCBhbm90aGVy
IHJvdW5kIG9mIEFCSSBzdGFiaWxpdHkgZGlzY3Vzc2lvbnMsDQo+ID4gZGVwcmVjaWF0aW9uIG5v
dGljZXMsIGFuZCBzbyBvbi4gOi0pDQo+ID4NCj4gPiBBZnRlciBtb3JlIHRob3VnaHRzLCBJJ20g
YWZyYWlkIDY0ayBpcyB0b28gc21hbGwgaW4gc29tZSBjYXNlcy4NCj4gPiBBbmQgMjQtYml0IG1h
bmlwdWxhdGlvbiB3b3VsZCBwcm9iYWJseSBicmVhayBwZXJmb3JtYW5jZS4NCj4gPiBJJ20gYWZy
YWlkIHdlIGFyZSBzdHVjayB3aXRoIDMyLWJpdCBsZW5ndGguDQo+IA0KPiBZZXMsIDI0IGJpdCBt
YW5pcHVsYXRpb24gd291bGQgcHJvYmFibHkgYnJlYWsgcGVyZm9ybWFuY2UuDQo+IA0KPiBQZXJo
YXBzIGEgc29sdXRpb24gZXhpc3RzIHdpdGggMTYgYml0cyAobGVhc3Qgc2lnbmlmaWNhbnQgYml0
cykgZm9yIHRoZSBjb21tb24NCj4gY2FzZXMsIGFuZCA4IGJpdHMgbW9yZSAobW9zdCBzaWduaWZp
Y2FudCBiaXRzKSBmb3IgdGhlIGxlc3MgY29tbW9uIGNhc2VzLiBKdXN0DQo+IHRoaW5raW5nIG91
dCBsb3VkIGhlcmUuLi4NCj4gDQo+ID4NCj4gPiA+ID4gPiB3ZSBjYW4gZ2V0IHRoZSA4IGJpdCBt
YnVmIHBvb2wgaW5kZXggaW50byB0aGUgZmlyc3QgY2FjaGUgbGluZQ0KPiA+ID4gPiA+IGF0IG5v
IGFkZGl0aW9uYWwgY29zdC4NCj4gPiA+ID4NCj4gPiA+ID4gSSBsaWtlIHRoZSBpZGVhLg0KPiA+
ID4gPiBJdCBtZWFucyB3ZSBkb24ndCBuZWVkIHRvIG1vdmUgdGhlIHBvb2wgcG9pbnRlciBub3cs
IGkuZS4gaXQgZG9lcw0KPiA+ID4gPiBub3QgaGF2ZSB0byByZXBsYWNlIHRoZSB0aW1lc3RhbXAg
ZmllbGQuDQo+ID4gPg0KPiA+ID4gQWdyZWVkISBEb24ndCBtb3ZlIG0tPnBvb2wgdG8gdGhlIGZp
cnN0IGNhY2hlIGxpbmU7IGl0IGlzIG5vdCB1c2VkDQo+ID4gZm9yIFJYLg0KPiA+ID4NCj4gPiA+
ID4NCj4gPiA+ID4gPiBJbiBvdGhlciB3b3JkczogVGhpcyB3b3VsZCBmcmVlIHVwIGFub3RoZXIg
NjQgYml0IGZpZWxkIGluIHRoZQ0KPiA+IG1idWYNCj4gPiA+ID4gc3RydWN0dXJlIQ0KPiA+ID4g
Pg0KPiA+ID4gPiBUaGF0IHdvdWxkIGJlIGdyZWF0IQ0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4g
PiA+IEFuZCBldmVuIHRob3VnaCB0aGUgbS0+bmV4dCBwb2ludGVyIGZvciBzY2F0dGVyZWQgcGFj
a2V0cw0KPiA+ID4gPiA+IHJlc2lkZXMgaW4gdGhlIHNlY29uZCBjYWNoZSBsaW5lLCB0aGUgbGli
cmFyaWVzIGFuZCBhcHBsaWNhdGlvbg0KPiA+ID4gPiA+IGtub3dzIHRoYXQgbS0+bmV4dCBpcyBO
VUxMIHdoZW4gbS0+bmJfc2VncyBpcyAxLg0KPiA+ID4gPiA+IFRoaXMgcHJvdmVzIHRoYXQgbXkg
c3VnZ2VzdGlvbiB3b3VsZCBtYWtlIHRvdWNoaW5nIHRoZSBzZWNvbmQNCj4gPiA+ID4gPiBjYWNo
ZSBsaW5lIHVubmVjZXNzYXJ5IChpbiBzaW1wbGUgY2FzZXMpLCBldmVuIGZvcg0KPiA+ID4gPiA+
IHJlLWluaXRpYWxpemluZyB0aGUgbWJ1Zi4NCj4gPiA+ID4NCj4gPiA+ID4gU28geW91IHRoaW5r
IHRoZSAibmV4dCIgcG9pbnRlciBzaG91bGQgc3RheSBpbiB0aGUgc2Vjb25kIGhhbGYgb2YNCj4g
PiBtYnVmPw0KPiA+ID4gPg0KPiA+ID4gPiBJIGZlZWwgeW91IHdvdWxkIGxpa2UgdG8gbW92ZSB0
aGUgVHggb2ZmbG9hZHMgaW4gdGhlIGZpcnN0IGhhbGYgdG8NCj4gPiA+ID4gaW1wcm92ZSBwZXJm
b3JtYW5jZSBvZiB2ZXJ5IHNpbXBsZSBhcHBzLg0KPiA+ID4NCj4gPiA+ICJWZXJ5IHNpbXBsZSBh
cHBzIiBzb3VuZHMgbGlrZSBhIG1pbm9yaXR5IG9mIGFwcHMuIEkgd291bGQgcmF0aGVyDQo+ID4g
PiBzYXkNCj4gPiAidmVyeSBzaW1wbGUgcGFja2V0IGhhbmRsaW5nIHNjZW5hcmlvcyIsIGUuZy4g
Zm9yd2FyZGluZyBvZiBub3JtYWwNCj4gPiBzaXplIG5vbi1zZWdtZW50ZWQgcGFja2V0cy4gSSB3
b3VsZCBndWVzcyB0aGF0IHRoZSB2YXN0IG1ham9yaXR5IG9mDQo+ID4gcGFja2V0cyBoYW5kbGVk
IGJ5IERQREsgYXBwbGljYXRpb25zIGFjdHVhbGx5IG1hdGNoIHRoaXMgc2NlbmFyaW8uIFNvDQo+
ID4gSSdtIHByb3Bvc2luZyB0byBvcHRpbWl6ZSBmb3Igd2hhdCBJIHRoaW5rIGlzIHRoZSBtb3N0
IGNvbW1vbiBzY2VuYXJpby4NCj4gPiA+DQo+ID4gPiBJZiBzZWdtZW50ZWQgcGFja2V0cyBhcmUg
Y29tbW9uLCB0aGVuIG0tPm5leHQgY291bGQgYmUgbW92ZWQgdG8gdGhlDQo+ID4gZmlyc3QgY2Fj
aGUgbGluZS4gQnV0IGl0IHdpbGwgb25seSBpbXByb3ZlIHRoZSBwdXJlIFJYIHN0ZXBzIG9mIHRo
ZQ0KPiA+IHBpcGVsaW5lLiBXaGVuIHByZXBhcmluZyB0aGUgcGFja2V0IGZvciBUWCwgbS0+dHhf
b2ZmbG9hZHMgd2lsbCBuZWVkDQo+ID4gdG8gYmUgc2V0LCBhbmQgdGhlIHNlY29uZCBjYWNoZSBs
aW5lIGNvbWVzIGludG8gcGxheS4gU28gSSdtIHdvbmRlcmluZw0KPiA+IGhvdyBiaWcgdGhlIGJl
bmVmaXQgb2YgaGF2aW5nIG0tPm5leHQgaW4gdGhlIGZpcnN0IGNhY2hlIGxpbmUgcmVhbGx5DQo+
ID4gaXMgLSBhc3N1bWluZyB0aGF0IG0tPm5iX3NlZ3Mgd2lsbCBiZSBjaGVja2VkIGJlZm9yZSBh
Y2Nlc3NpbmcgbS0+bmV4dC4NCj4gPiA+DQo+ID4gPiA+IEkgYW0gdGhpbmtpbmcgdGhlIG9wcG9z
aXRlOiB3ZSBjb3VsZCBoYXZlIHNvbWUgZHluYW1pYyBmaWVsZHMNCj4gPiA+ID4gc3BhY2UgaW4g
dGhlIGZpcnN0IGhhbGYgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBvZiBjb21wbGV4IFJ4Lg0KPiA+
ID4gPiBOb3RlOiB3ZSBjYW4gYWRkIGEgZmxhZyBoaW50IGZvciBmaWVsZCByZWdpc3RyYXRpb24g
aW4gdGhpcyBmaXJzdA0KPiA+IGhhbGYuDQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4gSSBoYXZlIGhh
ZCB0aGUgc2FtZSB0aG91Z2h0cy4gSG93ZXZlciwgSSB3b3VsZCBwcmVmZXIgYmVpbmcgYWJsZSB0
bw0KPiA+IGZvcndhcmQgb3JkaW5hcnkgcGFja2V0cyB3aXRob3V0IHVzaW5nIHRoZSBzZWNvbmQg
bWJ1ZiBjYWNoZSBsaW5lIGF0DQo+ID4gYWxsIChhbHRob3VnaCBvbmx5IGluIHNwZWNpZmljIHNj
ZW5hcmlvcyBsaWtlIG15IGV4YW1wbGUgYWJvdmUpLg0KPiA+ID4NCj4gPiA+IEZ1cnRoZXJtb3Jl
LCB0aGUgYXBwbGljYXRpb24gY2FuIGFidXNlIHRoZSA2NCBiaXQgbS0+dHhfb2ZmbG9hZA0KPiA+
ID4gZmllbGQNCj4gPiBmb3IgcHJpdmF0ZSBwdXJwb3NlcyB1bnRpbCBpdCBpcyB0aW1lIHRvIHBy
ZXBhcmUgdGhlIHBhY2tldCBmb3IgVFggYW5kDQo+ID4gcGFzcyBpdCBvbiB0byB0aGUgZHJpdmVy
LiBUaGlzIGhhY2sgc29tZXdoYXQgcmVzZW1ibGVzIGEgZHluYW1pYyBmaWVsZA0KPiA+IGluIHRo
ZSBmaXJzdCBjYWNoZSBsaW5lLCBhbmQgd2lsbCBub3QgYmUgcG9zc2libGUgaWYgdGhlIG0tPnBv
b2wgb3IgbS0NCj4gPiA+bmV4dCBmaWVsZCBpcyBtb3ZlZCB0aGVyZS4NCj4gPg0KPiA+DQo+ID4N
Cg0K