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 64416A31F3
	for <public@inbox.dpdk.org>; Fri, 18 Oct 2019 21:04:10 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 2EBD41C07F;
	Fri, 18 Oct 2019 21:04:09 +0200 (CEST)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00055.outbound.protection.outlook.com [40.107.0.55])
 by dpdk.org (Postfix) with ESMTP id 34DDB1BE81
 for <dev@dpdk.org>; Fri, 18 Oct 2019 21:04:07 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UdwJUbSqia+XSgnF7rvdFyBgAzHF2Q56Opf3o7fXuQE=;
 b=n+vCQk/+m/j4aYcm8jhh4jSnS3jyvJ/LQBUyW6LTqkI7UgwBLs8sB5ygYg3lCs1+2Gdz/XzqkKreWXu5seeuafl4Guu/lHW3zMTxCamtlpkXH2WOGuM0E5CLAYf1UZBe1mRinoxdw1qUK3+/YccqRRlNuupkUwhbpT3LEs6yq9I=
Received: from VI1PR08CA0132.eurprd08.prod.outlook.com (2603:10a6:800:d4::34)
 by VI1PR0801MB2061.eurprd08.prod.outlook.com (2603:10a6:800:8e::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2347.18; Fri, 18 Oct
 2019 19:04:03 +0000
Received: from AM5EUR03FT019.eop-EUR03.prod.protection.outlook.com
 (2a01:111:f400:7e08::207) by VI1PR08CA0132.outlook.office365.com
 (2603:10a6:800:d4::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2347.18 via Frontend
 Transport; Fri, 18 Oct 2019 19:04:03 +0000
Authentication-Results: spf=temperror (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dpdk.org; dmarc=none action=none
 header.from=arm.com;
Received-SPF: TempError (protection.outlook.com: error in processing during
 lookup of arm.com: DNS Timeout)
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT019.mail.protection.outlook.com (10.152.16.104) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id
 15.20.2305.15 via Frontend Transport; Fri, 18 Oct 2019 19:04:02 +0000
Received: ("Tessian outbound 851a1162fca7:v33");
 Fri, 18 Oct 2019 19:03:55 +0000
X-CR-MTA-TID: 64aa7808
Received: from 03cf728a66a6.2 (ip-172-16-0-2.eu-west-1.compute.internal
 [104.47.2.52]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B9CCD2CD-6190-44FE-96C8-1AE805DA949C.1; 
 Fri, 18 Oct 2019 19:03:50 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2052.outbound.protection.outlook.com [104.47.2.52])
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 03cf728a66a6.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 18 Oct 2019 19:03:50 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DNp1vYRxgGz3dIi7v4PleBMJ067sW2c9TZCtj2eGo57g8mxRUOEskDFERhBpifTRM6X0h+JDC7BVUiXYTkjeRO3t6QK0MgMlC3IEPM50EN/NMYwHA8pach3kULr3ts2Gx4DKPebru/2j/zltrdZ8MYgr7rleMlARws4Ytsx6as+ShCnz3UgcrcdakZOSy4g52jJOiztUMxu/d/LPSCQI1WlgsTFy6M7HIzWvYJVYHN24FwhuwRE2YoUnVDvXKjv4FcDwl6qGIoheblNGt++KcLyVmiUhJXLpfKtgLLcvpNOOyN0/YWWBZWbTNX934J76y8OhJESFijNSZcrbIsVvzQ==
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=UdwJUbSqia+XSgnF7rvdFyBgAzHF2Q56Opf3o7fXuQE=;
 b=SAuc11xcgegNlLw4dtjNwRkdLcS4DNtVPeE8xyRuJ/NpmCp7poj5Zzt8293npRfktqQt0MbHSGhA0kpjm7yi+Ib8d6g/VgzmwFFWfTimGB1cZ16g1xV4x5hKvVqElPU5qISStOS0/kOatVpkJWEEFjgOz1VNkNR+QXxBAEEaj+pMSR4mtSXh3IDpG2uq0OI55K0T3WLrZNau50kA/4ujIGRTZL0y7csj2iYz4q9Is2v1y0LdqfWGR5szeyPiK6VdBWQmUf9oL8dGXglGsGMkmkGu71w+sRJSUUGRw020RswCvbXYY6O2CQ3wECAxYDF5RlFTPcvdAqVZaEZoxOXh3g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UdwJUbSqia+XSgnF7rvdFyBgAzHF2Q56Opf3o7fXuQE=;
 b=n+vCQk/+m/j4aYcm8jhh4jSnS3jyvJ/LQBUyW6LTqkI7UgwBLs8sB5ygYg3lCs1+2Gdz/XzqkKreWXu5seeuafl4Guu/lHW3zMTxCamtlpkXH2WOGuM0E5CLAYf1UZBe1mRinoxdw1qUK3+/YccqRRlNuupkUwhbpT3LEs6yq9I=
Received: from VE1PR08MB5149.eurprd08.prod.outlook.com (20.179.30.27) by
 VE1PR08MB4943.eurprd08.prod.outlook.com (10.255.159.155) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2347.21; Fri, 18 Oct 2019 19:03:48 +0000
Received: from VE1PR08MB5149.eurprd08.prod.outlook.com
 ([fe80::8c82:8d9c:c78d:22a6]) by VE1PR08MB5149.eurprd08.prod.outlook.com
 ([fe80::8c82:8d9c:c78d:22a6%7]) with mapi id 15.20.2347.026; Fri, 18 Oct 2019
 19:03:48 +0000
From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>, Jerin Jacob
 <jerinjacobk@gmail.com>
CC: David Christensen <drc@linux.vnet.ibm.com>, "olivier.matz@6wind.com"
 <olivier.matz@6wind.com>, "sthemmin@microsoft.com" <sthemmin@microsoft.com>,
 "jerinj@marvell.com" <jerinj@marvell.com>, "Richardson, Bruce"
 <bruce.richardson@intel.com>, "david.marchand@redhat.com"
 <david.marchand@redhat.com>, "pbhagavatula@marvell.com"
 <pbhagavatula@marvell.com>, "dev@dpdk.org" <dev@dpdk.org>, Dharmik Thakkar
 <Dharmik.Thakkar@arm.com>, "Ruifeng Wang (Arm Technology China)"
 <Ruifeng.Wang@arm.com>, "Gavin Hu (Arm Technology China)" <Gavin.Hu@arm.com>, 
 "stephen@networkplumber.org" <stephen@networkplumber.org>, nd <nd@arm.com>,
 Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>, nd <nd@arm.com>
Thread-Topic: [dpdk-dev] [PATCH v4 1/2] lib/ring: apis to support configurable
 element size
Thread-Index: AQHVgGkjycLlQ66roUqbf1hqE7rJk6dVxOuAgASfoeCAAGP4AIAAqIDwgALNTICAAIYKsIAAfeKAgAAyfYCAAENBAIAAUAoAgACYtzCAACd9cA==
Date: Fri, 18 Oct 2019 19:03:48 +0000
Message-ID: <VE1PR08MB5149AF01E1C51335855225DB986C0@VE1PR08MB5149.eurprd08.prod.outlook.com>
References: <20190906190510.11146-1-honnappa.nagarahalli@arm.com>
 <20191009024709.38144-1-honnappa.nagarahalli@arm.com>
 <20191009024709.38144-2-honnappa.nagarahalli@arm.com>
 <VE1PR08MB5149D57CAA77B51392E5423898970@VE1PR08MB5149.eurprd08.prod.outlook.com>
 <2601191342CEEE43887BDE71AB97725801A8C68545@IRSMSX104.ger.corp.intel.com>
 <VE1PR08MB5149CD175CEB6B455C99F88D98900@VE1PR08MB5149.eurprd08.prod.outlook.com>
 <2601191342CEEE43887BDE71AB97725801A8C68A99@IRSMSX104.ger.corp.intel.com>
 <VE1PR08MB5149D51FA4EDB55D6DEFA129986D0@VE1PR08MB5149.eurprd08.prod.outlook.com>
 <2601191342CEEE43887BDE71AB97725801A8C6A2DA@IRSMSX104.ger.corp.intel.com>
 <VE1PR08MB51496EBD19AD797C17C29CF6986D0@VE1PR08MB5149.eurprd08.prod.outlook.com>
 <7df09c22-5b8b-77d8-1e8a-a2714e732036@linux.vnet.ibm.com>
 <VE1PR08MB5149DC6F20C8F1689E5D76E7986C0@VE1PR08MB5149.eurprd08.prod.outlook.com>
 <CALBAE1MdGRGV-n-Q=8fcXgy=4rfTO-_aG_LemdZ+RtzT4r8XpQ@mail.gmail.com>
 <2601191342CEEE43887BDE71AB97725801A8C6B54E@IRSMSX104.ger.corp.intel.com>
In-Reply-To: <2601191342CEEE43887BDE71AB97725801A8C6B54E@IRSMSX104.ger.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ts-tracking-id: 631b635c-a1e1-43a0-9386-d8f67ebef503.0
x-checkrecipientchecked: true
Authentication-Results-Original: spf=none (sender IP is )
 smtp.mailfrom=Honnappa.Nagarahalli@arm.com; 
x-originating-ip: [217.140.111.135]
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: af9b8b3c-d2b2-4e60-9793-08d753fdf085
X-MS-Office365-Filtering-HT: Tenant
X-MS-TrafficTypeDiagnostic: VE1PR08MB4943:|VE1PR08MB4943:|VI1PR0801MB2061:
X-MS-Exchange-PUrlCount: 1
x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS: <VI1PR0801MB206180A962D85608D6FCBEB6986C0@VI1PR0801MB2061.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
x-forefront-prvs: 01949FE337
X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;
 SFS:(10009020)(4636009)(39860400002)(366004)(396003)(346002)(136003)(376002)(53754006)(199004)(189003)(51234002)(256004)(7416002)(8676002)(14454004)(5660300002)(52536014)(6246003)(8936002)(66066001)(71200400001)(478600001)(71190400001)(9686003)(14444005)(5024004)(6306002)(25786009)(74316002)(81156014)(81166006)(966005)(7736002)(305945005)(316002)(66476007)(64756008)(66946007)(66446008)(26005)(54906003)(110136005)(99286004)(6506007)(53546011)(102836004)(186003)(76176011)(7696005)(55016002)(229853002)(6436002)(486006)(4326008)(446003)(11346002)(476003)(6116002)(3846002)(33656002)(30864003)(66556008)(76116006)(86362001)(2906002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4943;
 H:VE1PR08MB5149.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:1; MX:1; 
received-spf: None (protection.outlook.com: arm.com does not designate
 permitted sender hosts)
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: gLynXUeHdOGBtaQU45Vu6J6AeBty46dCaLAyC4CfH8OW0Q2bs2Ea0H7wagB/y+4k/1zRdirvwlT5dlxOfKOXGo/7P2+b7RAvGfFYYU3IuLBzCN2bdkmusdgEV12GE4/V5Jm46WOxk/KxNg6rI9qJwROPc0HWJcYPYfvH+OGdmDVlHymKNSs6uX19UEk+aLQVEwj9UAKS5JAvUd2AiGVj3WWjDIxWHNxCRLjRwcXZccg4onr5DuTjL19dE/5VLZZOsnoIH7WrcSz0jGRGnwq/p7WqSPTz7WAzLStjmh+wFu2UjSNlsrnYiDWVhn0a1pfUKjDbJ/vVN+ykRSc4RA7VyiXzKUQXeFysrscxjT5LZ4UI5+3GApWJfBwQx/d/MO0nmbY8NdzNRDUDWec3WT3b5kfqeORgxSV4dFvbgstNpBzAxTdcnAyN6CXS+d7SwWkG+4fFbK5EawgnSJDjRfcL4g==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4943
Original-Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Honnappa.Nagarahalli@arm.com; 
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE;
 EFV:NLI; SFV:NSPM;
 SFS:(10009020)(4636009)(39860400002)(136003)(396003)(376002)(346002)(53754006)(189003)(51234002)(199004)(50466002)(26005)(70206006)(6246003)(14444005)(33656002)(25786009)(70586007)(316002)(102836004)(186003)(76130400001)(336012)(6116002)(36906005)(23676004)(110136005)(86362001)(6506007)(22756006)(66066001)(55016002)(2906002)(4326008)(76176011)(2486003)(26826003)(7696005)(47776003)(229853002)(54906003)(3846002)(5024004)(53546011)(9686003)(6306002)(8676002)(74316002)(81166006)(7736002)(305945005)(14454004)(30864003)(81156014)(126002)(966005)(99286004)(356004)(11346002)(52536014)(436003)(63350400001)(8936002)(446003)(5660300002)(486006)(478600001)(476003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0801MB2061;
 H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:TempError; LANG:en;
 PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; MX:1; A:1; 
X-MS-Office365-Filtering-Correlation-Id-Prvs: 693482f6-0a54-4cfe-9ac0-08d753fde880
NoDisclaimer: True
X-Forefront-PRVS: 01949FE337
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 72bL7x8oA8iQeLwBCYvwylq2yc8VYZQk/aD5h8RtWxp4HtmfDpEEnx9p2Nk6XqGEnA9jdxrcVwdxc1PcCkOq2pESfJ1/mStJgodSR9Bnyj5uyrrLwINirqmAVyTyYyq2us0nY2zQYrmP1Flc03q0U31TAJPltSiiIO56xRdp1He8wJPNHRzntC7wLNRXVSb9W/vMXyZdCKptTIfDon437ctdg09YNWDyE2z+a1pJnlLNFFvd1vjItNC89cK/IZJoaOVcC/08JDIr39VmKa7Hj3NnGHiL0kQEHvY9Cbid60zor1Hy8GmX71jNYVR9Qju4R107nuahWXQ68Z5K6nCnF5bZEr8fVU9bsFF9bB3/5doWV3j9GL7SYGd/5zId5ivPBixUNL9Lx3sfKTXopUGyQQ4hlFwRlnJN8LAobpUnMf7zVNq9N9IZWcZSRZ+LRyGlgkVd5NxgSPdwmLlvMWT+Uw==
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2019 19:04:02.2582 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: af9b8b3c-d2b2-4e60-9793-08d753fdf085
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];
 Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2061
Subject: Re: [dpdk-dev] [PATCH v4 1/2] lib/ring: apis to support
 configurable element size
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>

PHNuaXA+DQoNCj4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1BBVENIIHY0IDEvMl0gbGliL3Jp
bmc6IGFwaXMgdG8gc3VwcG9ydCBjb25maWd1cmFibGUNCj4gZWxlbWVudCBzaXplDQo+IA0KPiAN
Cj4gSGkgZXZlcnlvbmUsDQo+IA0KPiANCj4gPiA+ID4gPj4+IEkgdHJpZWQgdGhpcy4gT24geDg2
IChYZW9uKFIpIEdvbGQgNjEzMiBDUFUgQCAyLjYwR0h6KSwgdGhlDQo+ID4gPiA+ID4+PiByZXN1
bHRzIGFyZSBhcw0KPiA+ID4gPiA+PiBmb2xsb3dzLiBUaGUgbnVtYmVycyBpbiBicmFja2V0cyBh
cmUgd2l0aCB0aGUgY29kZSBvbiBtYXN0ZXIuDQo+ID4gPiA+ID4+PiBnY2MgKFVidW50dSA3LjQu
MC0xdWJ1bnR1MX4xOC4wNC4xKSA3LjQuMA0KPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPj4+IFJURT4+
cmluZ19wZXJmX2VsZW1fYXV0b3Rlc3QNCj4gPiA+ID4gPj4+ICMjIyBUZXN0aW5nIHNpbmdsZSBl
bGVtZW50IGFuZCBidXJzdCBlbnEvZGVxICMjIyBTUC9TQyBzaW5nbGUNCj4gPiA+ID4gPj4+IGVu
cS9kZXF1ZXVlOiA1IE1QL01DIHNpbmdsZSBlbnEvZGVxdWV1ZTogNDAgKDM1KSBTUC9TQyBidXJz
dA0KPiA+ID4gPiA+Pj4gZW5xL2RlcXVldWUgKHNpemU6IDgpOiAyIE1QL01DIGJ1cnN0IGVucS9k
ZXF1ZXVlIChzaXplOiA4KTogNg0KPiA+ID4gPiA+Pj4gU1AvU0MgYnVyc3QgZW5xL2RlcXVldWUg
KHNpemU6IDMyKTogMSAoMikgTVAvTUMgYnVyc3QNCj4gZW5xL2RlcXVldWUgKHNpemU6DQo+ID4g
PiA+ID4+PiAzMik6IDINCj4gPiA+ID4gPj4+DQo+ID4gPiA+ID4+PiAjIyMgVGVzdGluZyBlbXB0
eSBkZXF1ZXVlICMjIw0KPiA+ID4gPiA+Pj4gU0MgZW1wdHkgZGVxdWV1ZTogMi4xMQ0KPiA+ID4g
PiA+Pj4gTUMgZW1wdHkgZGVxdWV1ZTogMS40MSAoMi4xMSkNCj4gPiA+ID4gPj4+DQo+ID4gPiA+
ID4+PiAjIyMgVGVzdGluZyB1c2luZyBhIHNpbmdsZSBsY29yZSAjIyMgU1AvU0MgYnVsayBlbnEv
ZGVxdWV1ZSAoc2l6ZToNCj4gPiA+ID4gPj4+IDgpOiAyLjE1ICgyLjg2KSBNUC9NQyBidWxrIGVu
cS9kZXF1ZXVlDQo+ID4gPiA+ID4+PiAoc2l6ZTogOCk6IDYuMzUgKDYuOTEpIFNQL1NDIGJ1bGsg
ZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMS4zNQ0KPiA+ID4gPiA+Pj4gKDIuMDYpIE1QL01DIGJ1
bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMi4zOCAoMi45NSkNCj4gPiA+ID4gPj4+DQo+ID4g
PiA+ID4+PiAjIyMgVGVzdGluZyB1c2luZyB0d28gcGh5c2ljYWwgY29yZXMgIyMjIFNQL1NDIGJ1
bGsgZW5xL2RlcXVldWUNCj4gKHNpemU6DQo+ID4gPiA+ID4+PiA4KTogNzMuODEgKDE1LjMzKSBN
UC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogNzUuMTANCj4gPiA+ID4gPj4+ICg3MS4y
NykgU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAyMS4xNCAoOS41OCkgTVAvTUMN
Cj4gPiA+ID4gPj4+IGJ1bGsgZW5xL2RlcXVldWUNCj4gPiA+ID4gPj4+IChzaXplOiAzMik6IDI1
Ljc0ICgyMC45MSkNCj4gPiA+ID4gPj4+DQo+ID4gPiA+ID4+PiAjIyMgVGVzdGluZyB1c2luZyB0
d28gTlVNQSBub2RlcyAjIyMgU1AvU0MgYnVsayBlbnEvZGVxdWV1ZQ0KPiAoc2l6ZToNCj4gPiA+
ID4gPj4+IDgpOiAxNjQuMzIgKDUwLjY2KSBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4
KTogMTc2LjAyDQo+ID4gPiA+ID4+PiAoMTczLjQzKSBTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChz
aXplOg0KPiA+ID4gPiA+Pj4gMzIpOiA1MC43OCAoMjMpIE1QL01DIGJ1bGsgZW5xL2RlcXVldWUg
KHNpemU6IDMyKTogNjMuMTcNCj4gPiA+ID4gPj4+ICg0Ni43NCkNCj4gPiA+ID4gPj4+DQo+ID4g
PiA+ID4+PiBPbiBvbmUgb2YgdGhlIEFybSBwbGF0Zm9ybQ0KPiA+ID4gPiA+Pj4gTVAvTUMgYnVs
ayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAwLjM3ICgwLjMzKSAofjEyJSBoaXQsIHRoZQ0KPiA+
ID4gPiA+Pj4gcmVzdCBhcmUNCj4gPiA+ID4gPj4+IG9rKQ0KPiA+ID4gPg0KPiA+ID4gPiBUcmll
ZCB0aGlzIG9uIGEgUG93ZXI5IHBsYXRmb3JtICgzLjZHSHopLCB3aXRoIHR3byBudW1hIG5vZGVz
IGFuZA0KPiA+ID4gPiAxNiBjb3Jlcy9ub2RlIChTTVQ9NCkuICBBcHBsaWVkIGFsbCAzIHBhdGNo
ZXMgaW4gdjUsIHRlc3QgcmVzdWx0cw0KPiA+ID4gPiBhcmUgYXMNCj4gPiA+ID4gZm9sbG93czoN
Cj4gPiA+ID4NCj4gPiA+ID4gUlRFPj5yaW5nX3BlcmZfZWxlbV9hdXRvdGVzdA0KPiA+ID4gPiAj
IyMgVGVzdGluZyBzaW5nbGUgZWxlbWVudCBhbmQgYnVyc3QgZW5xL2RlcSAjIyMgU1AvU0Mgc2lu
Z2xlDQo+IGVucS9kZXF1ZXVlOg0KPiA+ID4gPiA0MiBNUC9NQyBzaW5nbGUgZW5xL2RlcXVldWU6
IDU5IFNQL1NDIGJ1cnN0IGVucS9kZXF1ZXVlIChzaXplOiA4KToNCj4gPiA+ID4gNSBNUC9NQyBi
dXJzdCBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDcgU1AvU0MgYnVyc3QgZW5xL2RlcXVldWUNCj4g
PiA+ID4gKHNpemU6IDMyKTogMiBNUC9NQyBidXJzdCBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAy
DQo+ID4gPiA+DQo+ID4gPiA+ICMjIyBUZXN0aW5nIGVtcHR5IGRlcXVldWUgIyMjDQo+ID4gPiA+
IFNDIGVtcHR5IGRlcXVldWU6IDcuODENCj4gPiA+ID4gTUMgZW1wdHkgZGVxdWV1ZTogNy44MQ0K
PiA+ID4gPg0KPiA+ID4gPiAjIyMgVGVzdGluZyB1c2luZyBhIHNpbmdsZSBsY29yZSAjIyMgU1Av
U0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZToNCj4gPiA+ID4gOCk6IDUuNzYgTVAvTUMgYnVsayBl
bnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDcuNjYgU1AvU0MgYnVsaw0KPiA+ID4gPiBlbnEvZGVxdWV1
ZSAoc2l6ZTogMzIpOiAyLjEwIE1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKToNCj4g
PiA+ID4gMi41Nw0KPiA+ID4gPg0KPiA+ID4gPiAjIyMgVGVzdGluZyB1c2luZyB0d28gaHlwZXJ0
aHJlYWRzICMjIyBTUC9TQyBidWxrIGVucS9kZXF1ZXVlDQo+ID4gPiA+IChzaXplOiA4KTogMTMu
MTMgTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDEzLjk4IFNQL1NDDQo+ID4gPiA+
IGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMy40MSBNUC9NQyBidWxrIGVucS9kZXF1ZXVl
IChzaXplOg0KPiA+ID4gPiAzMik6IDQuNDUNCj4gPiA+ID4NCj4gPiA+ID4gIyMjIFRlc3Rpbmcg
dXNpbmcgdHdvIHBoeXNpY2FsIGNvcmVzICMjIyBTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChzaXpl
Og0KPiA4KToNCj4gPiA+ID4gMTEuMDAgTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6
IDEwLjk1IFNQL1NDIGJ1bGsNCj4gPiA+ID4gZW5xL2RlcXVldWUNCj4gPiA+ID4gKHNpemU6IDMy
KTogMy4wOCBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDMuNDANCj4gPiA+ID4N
Cj4gPiA+ID4gIyMjIFRlc3RpbmcgdXNpbmcgdHdvIE5VTUEgbm9kZXMgIyMjIFNQL1NDIGJ1bGsg
ZW5xL2RlcXVldWUgKHNpemU6DQo+ID4gPiA+IDgpOiA2My40MSBNUC9NQyBidWxrIGVucS9kZXF1
ZXVlIChzaXplOiA4KTogNjIuNzAgU1AvU0MgYnVsaw0KPiA+ID4gPiBlbnEvZGVxdWV1ZSAoc2l6
ZTogMzIpOiAxNS4zOSBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOg0KPiA+ID4gPiAzMik6
IDIyLjk2DQo+ID4gPiA+DQo+ID4gPiBUaGFua3MgZm9yIHJ1bm5pbmcgdGhpcy4gVGhlcmUgaXMg
YW5vdGhlciB0ZXN0ICdyaW5nX3BlcmZfYXV0b3Rlc3QnDQo+ID4gPiB3aGljaCBwcm92aWRlcyB0
aGUgbnVtYmVycyB3aXRoIHRoZSBvcmlnaW5hbCBpbXBsZW1lbnRhdGlvbi4gVGhlDQo+ID4gPiBn
b2FsDQo+ID4gaXMgdG8gbWFrZSBzdXJlIHRoZSBudW1iZXJzIHdpdGggdGhlIG9yaWdpbmFsIGlt
cGxlbWVudGF0aW9uIGFyZSB0aGUgc2FtZQ0KPiBhcyB0aGVzZS4gQ2FuIHlvdSBwbGVhc2UgcnVu
IHRoYXQgYXMgd2VsbD8NCj4gPg0KPiA+IEhvbm5hcHBhLA0KPiA+DQo+ID4gWW91ciBlYXJsaWVy
IHBlcmYgcmVwb3J0IHNob3dzIHRoZSBjeWNsZXMgYXJlIGluIGxlc3MgdGhhbiAxLiBUaGF0J3MN
Cj4gPiBpcyBkdWUgdG8gaXQgaXMgdXNpbmcgNTAgb3IgMTAwTUh6IGNsb2NrIGluIEVMMC4NCj4g
PiBQbGVhc2UgY2hlY2sgd2l0aCBQTVUgY291bnRlci4gU2VlICJBUk02NCBwcm9maWxpbmciIGlu
DQo+ID4NCj4gPiBodHRwOi8vZG9jLmRwZGsub3JnL2d1aWRlcy9wcm9nX2d1aWRlL3Byb2ZpbGVf
YXBwLmh0bWwNCj4gPg0KPiA+DQo+ID4gSGVyZSBpcyB0aGUgb2N0ZW9udHgyIHZhbHVlcy4gVGhl
cmUgaXMgYSByZWdyZXNzaW9uIGluIHR3byBjb3JlIGNhc2VzDQo+ID4gYXMgeW91IHJlcG9ydGVk
IGVhcmxpZXIgaW4geDg2Lg0KPiA+DQo+ID4NCj4gPiBSVEU+PnJpbmdfcGVyZl9hdXRvdGVzdA0K
PiA+ICMjIyBUZXN0aW5nIHNpbmdsZSBlbGVtZW50IGFuZCBidXJzdCBlbnEvZGVxICMjIyBTUC9T
QyBzaW5nbGUNCj4gPiBlbnEvZGVxdWV1ZTogMjg4IE1QL01DIHNpbmdsZSBlbnEvZGVxdWV1ZTog
NDUyIFNQL1NDIGJ1cnN0DQo+IGVucS9kZXF1ZXVlDQo+ID4gKHNpemU6IDgpOiAzOSBNUC9NQyBi
dXJzdCBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDYxIFNQL1NDIGJ1cnN0DQo+ID4gZW5xL2RlcXVl
dWUgKHNpemU6IDMyKTogMTMgTVAvTUMgYnVyc3QgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMjEN
Cj4gPg0KPiA+ICMjIyBUZXN0aW5nIGVtcHR5IGRlcXVldWUgIyMjDQo+ID4gU0MgZW1wdHkgZGVx
dWV1ZTogNi4zMw0KPiA+IE1DIGVtcHR5IGRlcXVldWU6IDYuNjcNCj4gPg0KPiA+ICMjIyBUZXN0
aW5nIHVzaW5nIGEgc2luZ2xlIGxjb3JlICMjIw0KPiA+IFNQL1NDIGJ1bGsgZW5xL2RlcXVldWUg
KHNpemU6IDgpOiAzOC4zNSBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOg0KPiA+IDgpOiA2
Ny4zNiBTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDEzLjEwIE1QL01DIGJ1bGsN
Cj4gPiBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAyMS42NA0KPiA+DQo+ID4gIyMjIFRlc3Rpbmcg
dXNpbmcgdHdvIHBoeXNpY2FsIGNvcmVzICMjIyBTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChzaXpl
Og0KPiA+IDgpOiA3NS45NCBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogMTA3LjY2
IFNQL1NDIGJ1bGsNCj4gPiBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAyNC41MSBNUC9NQyBidWxr
IGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDMzLjIzDQo+ID4gVGVzdCBPSw0KPiA+IFJURT4+DQo+
ID4NCj4gPiAtLS0tIGFmdGVyIGFwcGx5aW5nIHY1IG9mIHRoZSBwYXRjaCAtLS0tLS0NCj4gPg0K
PiA+IFJURT4+cmluZ19wZXJmX2F1dG90ZXN0DQo+ID4gIyMjIFRlc3Rpbmcgc2luZ2xlIGVsZW1l
bnQgYW5kIGJ1cnN0IGVucS9kZXEgIyMjIFNQL1NDIHNpbmdsZQ0KPiA+IGVucS9kZXF1ZXVlOiAy
ODkgTVAvTUMgc2luZ2xlIGVucS9kZXF1ZXVlOiA0NTIgU1AvU0MgYnVyc3QNCj4gZW5xL2RlcXVl
dWUNCj4gPiAoc2l6ZTogOCk6IDQwIE1QL01DIGJ1cnN0IGVucS9kZXF1ZXVlIChzaXplOiA4KTog
NjQgU1AvU0MgYnVyc3QNCj4gPiBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAxMyBNUC9NQyBidXJz
dCBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAyMg0KPiA+DQo+ID4gIyMjIFRlc3RpbmcgZW1wdHkg
ZGVxdWV1ZSAjIyMNCj4gPiBTQyBlbXB0eSBkZXF1ZXVlOiA2LjMzDQo+ID4gTUMgZW1wdHkgZGVx
dWV1ZTogNi42Nw0KPiA+DQo+ID4gIyMjIFRlc3RpbmcgdXNpbmcgYSBzaW5nbGUgbGNvcmUgIyMj
DQo+ID4gU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDM5LjczIE1QL01DIGJ1bGsg
ZW5xL2RlcXVldWUgKHNpemU6DQo+ID4gOCk6IDY5LjEzIFNQL1NDIGJ1bGsgZW5xL2RlcXVldWUg
KHNpemU6IDMyKTogMTMuNDQgTVAvTUMgYnVsaw0KPiA+IGVucS9kZXF1ZXVlIChzaXplOiAzMik6
IDIyLjAwDQo+ID4NCj4gPiAjIyMgVGVzdGluZyB1c2luZyB0d28gcGh5c2ljYWwgY29yZXMgIyMj
IFNQL1NDIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6DQo+ID4gOCk6IDc2LjAyIE1QL01DIGJ1bGsg
ZW5xL2RlcXVldWUgKHNpemU6IDgpOiAxMTIuNTAgU1AvU0MgYnVsaw0KPiA+IGVucS9kZXF1ZXVl
IChzaXplOiAzMik6IDI0LjcxIE1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMzMu
MzQNCj4gPiBUZXN0IE9LDQo+ID4gUlRFPj4NCj4gPg0KPiA+IFJURT4+cmluZ19wZXJmX2VsZW1f
YXV0b3Rlc3QNCj4gPiAjIyMgVGVzdGluZyBzaW5nbGUgZWxlbWVudCBhbmQgYnVyc3QgZW5xL2Rl
cSAjIyMgU1AvU0Mgc2luZ2xlDQo+ID4gZW5xL2RlcXVldWU6IDI5MCBNUC9NQyBzaW5nbGUgZW5x
L2RlcXVldWU6IDUwMyBTUC9TQyBidXJzdA0KPiBlbnEvZGVxdWV1ZQ0KPiA+IChzaXplOiA4KTog
MzkgTVAvTUMgYnVyc3QgZW5xL2RlcXVldWUgKHNpemU6IDgpOiA2MyBTUC9TQyBidXJzdA0KPiA+
IGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDExIE1QL01DIGJ1cnN0IGVucS9kZXF1ZXVlIChzaXpl
OiAzMik6IDE5DQo+ID4NCj4gPiAjIyMgVGVzdGluZyBlbXB0eSBkZXF1ZXVlICMjIw0KPiA+IFND
IGVtcHR5IGRlcXVldWU6IDYuMzMNCj4gPiBNQyBlbXB0eSBkZXF1ZXVlOiA2LjY3DQo+ID4NCj4g
PiAjIyMgVGVzdGluZyB1c2luZyBhIHNpbmdsZSBsY29yZSAjIyMNCj4gPiBTUC9TQyBidWxrIGVu
cS9kZXF1ZXVlIChzaXplOiA4KTogMzguOTIgTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZToN
Cj4gPiA4KTogNjIuNTQgU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAxMS40NiBN
UC9NQyBidWxrDQo+ID4gZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMTkuODkNCj4gPg0KPiA+ICMj
IyBUZXN0aW5nIHVzaW5nIHR3byBwaHlzaWNhbCBjb3JlcyAjIyMgU1AvU0MgYnVsayBlbnEvZGVx
dWV1ZSAoc2l6ZToNCj4gPiA4KTogODcuNTUgTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTog
OCk6IDk5LjEwIFNQL1NDIGJ1bGsNCj4gPiBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAyNi42MyBN
UC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDI5LjkxDQo+ID4gVGVzdCBPSw0KPiA+
IFJURT4+DQo+ID4NCj4gDQo+IEFzIEkgY2FuIHNlZSwgdGhlcmUgaXMgY29weSZwYXN0ZSBidWcg
aW4gcGF0Y2ggIzMgKHRoYXQncyB3aHkgaXQgcHJvYmFibHkNCj4gcHJvZHVjZWQgc29tZSB3ZWly
ZCBudW1iZXJzIGZvciBtZSBmaXJzdCkuDQpBcG9sb2dpZXMgb24gdGhpcy4gSW4gdGhlIGhpbmRz
aWdodCwgc2hvdWxkIGhhdmUgYWRkZWQgdGhlIHVuaXQgdGVzdHMuDQoNCj4gQWZ0ZXIgZml4IGFw
cGxpZWQgKHNlZSBwYXRjaCBiZWxvdyksIHRoaW5ncyBsb29rIHByZXR0eSBnb29kIG9uIG15IGJv
eC4NCj4gQXMgSSBjYW4gc2VlIHRoZXJlIGFyZSBvbmx5IDMgcmVzdWx0cyBub3RpY2FibHkgbG93
ZXI6DQo+ICAgIFNQL1NDIChzaXplPTgpIG92ZXIgMiBwaHlzaWNhbCBjb3JlcyBzYW1lIG51bWEg
c29ja2V0DQo+ICAgIE1QL01DIChzaXplPTgpIG92ZXIgMiBwaHlzaWNhbCBjb3JlcyBvbiBkaWZm
ZXJlbnQgbnVtYSBzb2NrZXRzLg0KSXMgdGhpcyBvayBmb3IgeW91Pw0KDQo+IEFsbCBvdGhlcnMg
c2VlbXMgYWJvdXQgc2FtZSBvciBiZXR0ZXIuDQo+IEFueXdheSBJIHdlbnQgYWhlYWQgYW5kIHJl
d29ya2VkIGNvZGUgYSBiaXQgKGFzIEkgc3VnZ2VzdGVkIGJlZm9yZSkgdG8gZ2V0DQo+IHJpZCBv
ZiB0aGVzZSBodWdlIEVOUVVFVUUvREVRVUVVRSBtYWNyb3MuDQo+IFJlc3VsdHMgYXJlIHZlcnkg
Y2xvc2UgdG8gZml4ZWQgcGF0Y2ggIzMgdmVyc2lvbiAocGF0Y2ggaXMgYWxzbyBhdHRhY2hlZCku
DQo+IFRob3VnaCBJIHN1Z2dlc3QgcGVvcGxlIGhvbGQgb24gdG8gcmUtcnVuIHBlcmYgdGVzdHMg
dGlsbCB3ZSdsbCBtYWtlIHJpbmcNCj4gZnVuY3Rpb25hbCB0ZXN0IHRvIHJ1biBmb3IgX2VsZW1f
IGZ1bmN0aW9ucyB0b28uDQo+IEkgc3RhcnRlZCB0byB3b3JrIG9uIHRoYXQsIGJ1dCBub3Qgc3Vy
ZSBJJ2xsIGZpbmlzaCB0b2RheSAobW9zdCBsaWtlbHkgTW9uZGF5KS4NCj4gUGVyZiByZXN1bHRz
IGZyb20gbXkgYm94LCBwbHVzIHBhdGNoZXMgYmVsb3cuDQo+IEtvbnN0YW50aW4NCj4gDQo+IHBl
cmYgcmVzdWx0cw0KPiA9PT09PT09PT09DQo+IA0KPiBJbnRlbChSKSBYZW9uKFIpIFBsYXRpbnVt
IDgxNjAgQ1BVIEAgMi4xMEdIeg0KPiANCj4gQSAtIHJpbmdfcGVyZl9hdXRvdGVzdA0KPiBCIC0g
cmluZ19wZXJmX2VsZW1fYXV0b3Rlc3QgKyBwYXRjaCAjMyArIGZpeCBDIC0gQiArIHVwZGF0ZQ0K
PiANCj4gIyMjIFRlc3RpbmcgdXNpbmcgYSBzaW5nbGUgbGNvcmUgIyMjCUEJQglDDQo+IFNQL1ND
IGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAJNC4wNgkzLjA2CTMuMjINCj4gTVAvTUMgYnVs
ayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IAkxMC4wNQk5LjA0CTkuMzgNCj4gU1AvU0MgYnVsayBl
bnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAJMi45MwkxLjkxCTEuODQNCj4gTVAvTUMgYnVsayBlbnEv
ZGVxdWV1ZSAoc2l6ZTogMzIpOiAJNC4xMgkzLjM5CTMuMzUNCj4gDQo+ICMjIyBUZXN0aW5nIHVz
aW5nIHR3byBoeXBlcnRocmVhZHMgIyMjDQo+IFNQL1NDIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6
IDgpOiAJOS4yNAk4LjkyCTguODkNCj4gTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6
IAkxNS40NwkxNS4zOQkxNi4wMg0KPiBTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6
IAk1Ljc4CTMuODcJMy44Ng0KPiBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IAk2
LjQxCTQuNTcJNC40NQ0KPiANCj4gIyMjIFRlc3RpbmcgdXNpbmcgdHdvIHBoeXNpY2FsIGNvcmVz
ICMjIw0KPiBTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogCTI0LjE0CTI5Ljg5CTI3
LjA1DQo+IE1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAJNjguNjEJNzAuNTUJNjku
ODUNCj4gU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAJMTIuMTEJMTIuOTkJMTMu
MDQNCj4gTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAJMjIuMTQJMTcuODYJMTgu
MjUNCj4gDQo+ICMjIyBUZXN0aW5nIHVzaW5nIHR3byBOVU1BIG5vZGVzICMjIw0KPiBTUC9TQyBi
dWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogCTQ4Ljc4CTMxLjk4CTMzLjU3DQo+IE1QL01DIGJ1
bGsgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAJMTY3LjUzCTE5Ny4yOQkxOTIuMTMNCj4gU1AvU0Mg
YnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAJMzEuMjgJMjEuNjgJMjEuNjENCj4gTVAvTUMg
YnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAJNTMuNDUJNDkuOTQJNDguODENCj4gDQo+IGZp
eCBwYXRjaA0KPiA9PT09PT09DQo+IA0KPiBGcm9tIGEyYmU1YTliMTM2MzMzYTU2ZDQ2NmVmMDQy
YzY1NWU1MjJjYTcwMTIgTW9uIFNlcCAxNyAwMDowMDowMA0KPiAyMDAxDQo+IEZyb206IEtvbnN0
YW50aW4gQW5hbnlldiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4NCj4gRGF0ZTogRnJp
LCAxOCBPY3QgMjAxOSAxNTo1MDo0MyArMDEwMA0KPiBTdWJqZWN0OiBbUEFUQ0hdIGZpeDENCj4g
DQo+IFNpZ25lZC1vZmYtYnk6IEtvbnN0YW50aW4gQW5hbnlldiA8a29uc3RhbnRpbi5hbmFueWV2
QGludGVsLmNvbT4NCj4gLS0tDQo+ICBsaWIvbGlicnRlX3JpbmcvcnRlX3JpbmdfZWxlbS5oIHwg
NCArKy0tDQo+ICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt
KQ0KPiANCj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfcmluZy9ydGVfcmluZ19lbGVtLmggYi9s
aWIvbGlicnRlX3JpbmcvcnRlX3JpbmdfZWxlbS5oDQo+IGluZGV4IDkyZTkyZjE1MC4uNWUxODE5
MDY5IDEwMDY0NA0KPiAtLS0gYS9saWIvbGlicnRlX3JpbmcvcnRlX3JpbmdfZWxlbS5oDQo+ICsr
KyBiL2xpYi9saWJydGVfcmluZy9ydGVfcmluZ19lbGVtLmgNCj4gQEAgLTExOCw3ICsxMTgsNyBA
QCBzdHJ1Y3QgcnRlX3JpbmcgKnJ0ZV9yaW5nX2NyZWF0ZV9lbGVtKGNvbnN0IGNoYXINCj4gKm5h
bWUsIHVuc2lnbmVkIGNvdW50LA0KPiAgICAgICAgIHVpbnQzMl90IHN6ID0gbiAqIChlc2l6ZSAv
IHNpemVvZih1aW50MzJfdCkpOyBcDQo+ICAgICAgICAgaWYgKGxpa2VseShpZHggKyBuIDwgc2l6
ZSkpIHsgXA0KPiAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IChzeiAmICgofih1bnNp
Z25lZCkweDcpKSk7IGkgKz0gOCwgaWR4ICs9IDgpIHsgXA0KPiAtICAgICAgICAgICAgICAgICAg
ICAgICBtZW1jcHkgKHJpbmcgKyBpLCBvYmogKyBpLCA4ICogc2l6ZW9mICh1aW50MzJfdCkpOyBc
DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIG1lbWNweSAocmluZyArIGlkeCwgb2JqICsgaSwg
OCAqIHNpemVvZg0KPiArICh1aW50MzJfdCkpOyBcDQo+ICAgICAgICAgICAgICAgICB9IFwNCj4g
ICAgICAgICAgICAgICAgIHN3aXRjaCAobiAmIDB4NykgeyBcDQo+ICAgICAgICAgICAgICAgICBj
YXNlIDc6IFwNCj4gQEAgLTE1Myw3ICsxNTMsNyBAQCBzdHJ1Y3QgcnRlX3JpbmcgKnJ0ZV9yaW5n
X2NyZWF0ZV9lbGVtKGNvbnN0IGNoYXINCj4gKm5hbWUsIHVuc2lnbmVkIGNvdW50LA0KPiAgICAg
ICAgIHVpbnQzMl90IHN6ID0gbiAqIChlc2l6ZSAvIHNpemVvZih1aW50MzJfdCkpOyBcDQo+ICAg
ICAgICAgaWYgKGxpa2VseShpZHggKyBuIDwgc2l6ZSkpIHsgXA0KPiAgICAgICAgICAgICAgICAg
Zm9yIChpID0gMDsgaSA8IChzeiAmICgofih1bnNpZ25lZCkweDcpKSk7IGkgKz0gOCwgaWR4ICs9
IDgpIHsgXA0KPiAtICAgICAgICAgICAgICAgICAgICAgICBtZW1jcHkgKG9iaiArIGksIHJpbmcg
KyBpLCA4ICogc2l6ZW9mICh1aW50MzJfdCkpOyBcDQo+ICsgICAgICAgICAgICAgICAgICAgICAg
IG1lbWNweSAob2JqICsgaSwgcmluZyArIGlkeCwgOCAqIHNpemVvZg0KPiArICh1aW50MzJfdCkp
OyBcDQo+ICAgICAgICAgICAgICAgICB9IFwNCj4gICAgICAgICAgICAgICAgIHN3aXRjaCAobiAm
IDB4NykgeyBcDQo+ICAgICAgICAgICAgICAgICBjYXNlIDc6IFwNCj4gLS0NCj4gMi4xNy4xDQo+
IA0KPiB1cGRhdGUgcGF0Y2ggKHJlbW92ZSBtYWNyb3MpDQo+ID09PT09PT09PT09PT09PT09PT09
PT09PT0NCj4gDQo+IEZyb20gMThiMzg4ZTg3N2I5N2UyNDNmODA3ZjI3YTMyM2U4NzZiMzA4Njlk
ZCBNb24gU2VwIDE3IDAwOjAwOjAwDQo+IDIwMDENCj4gRnJvbTogS29uc3RhbnRpbiBBbmFueWV2
IDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPg0KPiBEYXRlOiBGcmksIDE4IE9jdCAyMDE5
IDE3OjM1OjQzICswMTAwDQo+IFN1YmplY3Q6IFtQQVRDSF0gdXBkYXRlMQ0KPiANCj4gU2lnbmVk
LW9mZi1ieTogS29uc3RhbnRpbiBBbmFueWV2IDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29t
Pg0KPiAtLS0NCj4gIGxpYi9saWJydGVfcmluZy9ydGVfcmluZ19lbGVtLmggfCAxNDEgKysrKysr
KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCA3MCBpbnNlcnRp
b25zKCspLCA3MSBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX3Jp
bmcvcnRlX3JpbmdfZWxlbS5oIGIvbGliL2xpYnJ0ZV9yaW5nL3J0ZV9yaW5nX2VsZW0uaA0KPiBp
bmRleCA1ZTE4MTkwNjkuLmViNzA2YjEyZiAxMDA2NDQNCj4gLS0tIGEvbGliL2xpYnJ0ZV9yaW5n
L3J0ZV9yaW5nX2VsZW0uaA0KPiArKysgYi9saWIvbGlicnRlX3JpbmcvcnRlX3JpbmdfZWxlbS5o
DQo+IEBAIC0xMDksNzUgKzEwOSw3NCBAQCBfX3J0ZV9leHBlcmltZW50YWwgIHN0cnVjdCBydGVf
cmluZw0KPiAqcnRlX3JpbmdfY3JlYXRlX2VsZW0oY29uc3QgY2hhciAqbmFtZSwgdW5zaWduZWQg
Y291bnQsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgZXNpemUs
IGludCBzb2NrZXRfaWQsIHVuc2lnbmVkIGZsYWdzKTsNCj4gDQo+IC0jZGVmaW5lIEVOUVVFVUVf
UFRSU19HRU4ociwgcmluZ19zdGFydCwgcHJvZF9oZWFkLCBvYmpfdGFibGUsIGVzaXplLCBuKQ0K
PiBkbyB7IFwNCj4gLSAgICAgICB1bnNpZ25lZCBpbnQgaTsgXA0KPiAtICAgICAgIGNvbnN0IHVp
bnQzMl90IHNpemUgPSAociktPnNpemU7IFwNCj4gLSAgICAgICB1aW50MzJfdCBpZHggPSBwcm9k
X2hlYWQgJiAociktPm1hc2s7IFwNCj4gLSAgICAgICB1aW50MzJfdCAqcmluZyA9ICh1aW50MzJf
dCAqKXJpbmdfc3RhcnQ7IFwNCj4gLSAgICAgICB1aW50MzJfdCAqb2JqID0gKHVpbnQzMl90ICop
b2JqX3RhYmxlOyBcDQo+IC0gICAgICAgdWludDMyX3Qgc3ogPSBuICogKGVzaXplIC8gc2l6ZW9m
KHVpbnQzMl90KSk7IFwNCj4gLSAgICAgICBpZiAobGlrZWx5KGlkeCArIG4gPCBzaXplKSkgeyBc
DQo+IC0gICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgKHN6ICYgKCh+KHVuc2lnbmVkKTB4
NykpKTsgaSArPSA4LCBpZHggKz0gOCkgeyBcDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIG1l
bWNweSAocmluZyArIGlkeCwgb2JqICsgaSwgOCAqIHNpemVvZiAodWludDMyX3QpKTsgXA0KPiAt
ICAgICAgICAgICAgICAgfSBcDQo+IC0gICAgICAgICAgICAgICBzd2l0Y2ggKG4gJiAweDcpIHsg
XA0KPiAtICAgICAgICAgICAgICAgY2FzZSA3OiBcDQo+IC0gICAgICAgICAgICAgICAgICAgICAg
IHJpbmdbaWR4KytdID0gb2JqW2krK107IC8qIGZhbGx0aHJvdWdoICovIFwNCj4gLSAgICAgICAg
ICAgICAgIGNhc2UgNjogXA0KPiAtICAgICAgICAgICAgICAgICAgICAgICByaW5nW2lkeCsrXSA9
IG9ialtpKytdOyAvKiBmYWxsdGhyb3VnaCAqLyBcDQo+IC0gICAgICAgICAgICAgICBjYXNlIDU6
IFwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgcmluZ1tpZHgrK10gPSBvYmpbaSsrXTsgLyog
ZmFsbHRocm91Z2ggKi8gXA0KPiAtICAgICAgICAgICAgICAgY2FzZSA0OiBcDQo+IC0gICAgICAg
ICAgICAgICAgICAgICAgIHJpbmdbaWR4KytdID0gb2JqW2krK107IC8qIGZhbGx0aHJvdWdoICov
IFwNCj4gLSAgICAgICAgICAgICAgIGNhc2UgMzogXA0KPiAtICAgICAgICAgICAgICAgICAgICAg
ICByaW5nW2lkeCsrXSA9IG9ialtpKytdOyAvKiBmYWxsdGhyb3VnaCAqLyBcDQo+IC0gICAgICAg
ICAgICAgICBjYXNlIDI6IFwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgcmluZ1tpZHgrK10g
PSBvYmpbaSsrXTsgLyogZmFsbHRocm91Z2ggKi8gXA0KPiAtICAgICAgICAgICAgICAgY2FzZSAx
OiBcDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIHJpbmdbaWR4KytdID0gb2JqW2krK107IC8q
IGZhbGx0aHJvdWdoICovIFwNCj4gLSAgICAgICAgICAgICAgIH0gXA0KPiAtICAgICAgIH0gZWxz
ZSB7IFwNCj4gLSAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGlkeCA8IHNpemU7IGkrKywgaWR4
KyspXA0KPiAtICAgICAgICAgICAgICAgICAgICAgICByaW5nW2lkeF0gPSBvYmpbaV07IFwNCj4g
LSAgICAgICAgICAgICAgIGZvciAoaWR4ID0gMDsgaSA8IG47IGkrKywgaWR4KyspIFwNCj4gLSAg
ICAgICAgICAgICAgICAgICAgICAgcmluZ1tpZHhdID0gb2JqW2ldOyBcDQo+IC0gICAgICAgfSBc
DQo+IC19IHdoaWxlICgwKQ0KPiAtDQo+IC0jZGVmaW5lIERFUVVFVUVfUFRSU19HRU4ociwgcmlu
Z19zdGFydCwgY29uc19oZWFkLCBvYmpfdGFibGUsIGVzaXplLCBuKQ0KPiBkbyB7IFwNCj4gLSAg
ICAgICB1bnNpZ25lZCBpbnQgaTsgXA0KPiAtICAgICAgIHVpbnQzMl90IGlkeCA9IGNvbnNfaGVh
ZCAmIChyKS0+bWFzazsgXA0KPiAtICAgICAgIGNvbnN0IHVpbnQzMl90IHNpemUgPSAociktPnNp
emU7IFwNCj4gLSAgICAgICB1aW50MzJfdCAqcmluZyA9ICh1aW50MzJfdCAqKXJpbmdfc3RhcnQ7
IFwNCj4gLSAgICAgICB1aW50MzJfdCAqb2JqID0gKHVpbnQzMl90ICopb2JqX3RhYmxlOyBcDQo+
IC0gICAgICAgdWludDMyX3Qgc3ogPSBuICogKGVzaXplIC8gc2l6ZW9mKHVpbnQzMl90KSk7IFwN
Cj4gLSAgICAgICBpZiAobGlrZWx5KGlkeCArIG4gPCBzaXplKSkgeyBcDQo+IC0gICAgICAgICAg
ICAgICBmb3IgKGkgPSAwOyBpIDwgKHN6ICYgKCh+KHVuc2lnbmVkKTB4NykpKTsgaSArPSA4LCBp
ZHggKz0gOCkgeyBcDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIG1lbWNweSAob2JqICsgaSwg
cmluZyArIGlkeCwgOCAqIHNpemVvZiAodWludDMyX3QpKTsgXA0KPiAtICAgICAgICAgICAgICAg
fSBcDQo+IC0gICAgICAgICAgICAgICBzd2l0Y2ggKG4gJiAweDcpIHsgXA0KPiAtICAgICAgICAg
ICAgICAgY2FzZSA3OiBcDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIG9ialtpKytdID0gcmlu
Z1tpZHgrK107IC8qIGZhbGx0aHJvdWdoICovIFwNCj4gLSAgICAgICAgICAgICAgIGNhc2UgNjog
XA0KPiAtICAgICAgICAgICAgICAgICAgICAgICBvYmpbaSsrXSA9IHJpbmdbaWR4KytdOyAvKiBm
YWxsdGhyb3VnaCAqLyBcDQo+IC0gICAgICAgICAgICAgICBjYXNlIDU6IFwNCj4gLSAgICAgICAg
ICAgICAgICAgICAgICAgb2JqW2krK10gPSByaW5nW2lkeCsrXTsgLyogZmFsbHRocm91Z2ggKi8g
XA0KPiAtICAgICAgICAgICAgICAgY2FzZSA0OiBcDQo+IC0gICAgICAgICAgICAgICAgICAgICAg
IG9ialtpKytdID0gcmluZ1tpZHgrK107IC8qIGZhbGx0aHJvdWdoICovIFwNCj4gLSAgICAgICAg
ICAgICAgIGNhc2UgMzogXA0KPiAtICAgICAgICAgICAgICAgICAgICAgICBvYmpbaSsrXSA9IHJp
bmdbaWR4KytdOyAvKiBmYWxsdGhyb3VnaCAqLyBcDQo+IC0gICAgICAgICAgICAgICBjYXNlIDI6
IFwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgb2JqW2krK10gPSByaW5nW2lkeCsrXTsgLyog
ZmFsbHRocm91Z2ggKi8gXA0KPiAtICAgICAgICAgICAgICAgY2FzZSAxOiBcDQo+IC0gICAgICAg
ICAgICAgICAgICAgICAgIG9ialtpKytdID0gcmluZ1tpZHgrK107IC8qIGZhbGx0aHJvdWdoICov
IFwNCj4gLSAgICAgICAgICAgICAgIH0gXA0KPiAtICAgICAgIH0gZWxzZSB7IFwNCj4gLSAgICAg
ICAgICAgICAgIGZvciAoaSA9IDA7IGlkeCA8IHNpemU7IGkrKywgaWR4KyspIFwNCj4gLSAgICAg
ICAgICAgICAgICAgICAgICAgb2JqW2ldID0gcmluZ1tpZHhdOyBcDQo+IC0gICAgICAgICAgICAg
ICBmb3IgKGlkeCA9IDA7IGkgPCBuOyBpKyssIGlkeCsrKSBcDQo+IC0gICAgICAgICAgICAgICAg
ICAgICAgIG9ialtpXSA9IHJpbmdbaWR4XTsgXA0KPiAtICAgICAgIH0gXA0KPiAtfSB3aGlsZSAo
MCkNCj4gK3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQNCj4gK2NvcHlfZWxlbXModWlu
dDMyX3QgZHUzMltdLCBjb25zdCB1aW50MzJfdCBzdTMyW10sIHVpbnQzMl90IG51bSwNCj4gK3Vp
bnQzMl90IGVzaXplKSB7DQo+ICsgICAgICAgdWludDMyX3QgaSwgc3o7DQo+ICsNCj4gKyAgICAg
ICBzeiA9IChudW0gKiBlc2l6ZSkgLyBzaXplb2YodWludDMyX3QpOw0KPiArDQo+ICsgICAgICAg
Zm9yIChpID0gMDsgaSA8IChzeiAmIH43KTsgaSArPSA4KQ0KPiArICAgICAgICAgICAgICAgbWVt
Y3B5KGR1MzIgKyBpLCBzdTMyICsgaSwgOCAqIHNpemVvZih1aW50MzJfdCkpOw0KPiArDQo+ICsg
ICAgICAgc3dpdGNoIChzeiAmIDcpIHsNCj4gKyAgICAgICBjYXNlIDc6IGR1MzJbc3ogLSA3XSA9
IHN1MzJbc3ogLSA3XTsgLyogZmFsbHRocm91Z2ggKi8NCj4gKyAgICAgICBjYXNlIDY6IGR1MzJb
c3ogLSA2XSA9IHN1MzJbc3ogLSA2XTsgLyogZmFsbHRocm91Z2ggKi8NCj4gKyAgICAgICBjYXNl
IDU6IGR1MzJbc3ogLSA1XSA9IHN1MzJbc3ogLSA1XTsgLyogZmFsbHRocm91Z2ggKi8NCj4gKyAg
ICAgICBjYXNlIDQ6IGR1MzJbc3ogLSA0XSA9IHN1MzJbc3ogLSA0XTsgLyogZmFsbHRocm91Z2gg
Ki8NCj4gKyAgICAgICBjYXNlIDM6IGR1MzJbc3ogLSAzXSA9IHN1MzJbc3ogLSAzXTsgLyogZmFs
bHRocm91Z2ggKi8NCj4gKyAgICAgICBjYXNlIDI6IGR1MzJbc3ogLSAyXSA9IHN1MzJbc3ogLSAy
XTsgLyogZmFsbHRocm91Z2ggKi8NCj4gKyAgICAgICBjYXNlIDE6IGR1MzJbc3ogLSAxXSA9IHN1
MzJbc3ogLSAxXTsgLyogZmFsbHRocm91Z2ggKi8NCj4gKyAgICAgICB9DQo+ICt9DQo+ICsNCj4g
K3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQNCj4gK2VucXVldWVfZWxlbXMoc3RydWN0
IHJ0ZV9yaW5nICpyLCB2b2lkICpyaW5nX3N0YXJ0LCB1aW50MzJfdCBwcm9kX2hlYWQsDQo+ICsg
ICAgICAgICAgICAgICB2b2lkICpvYmpfdGFibGUsIHVpbnQzMl90IG51bSwgdWludDMyX3QgZXNp
emUpIHsNCj4gKyAgICAgICB1aW50MzJfdCBpZHgsIG47DQo+ICsgICAgICAgdWludDMyX3QgKmR1
MzI7DQo+ICsgICAgICAgY29uc3QgdWludDMyX3QgKnN1MzI7DQo+ICsNCj4gKyAgICAgICBjb25z
dCB1aW50MzJfdCBzaXplID0gci0+c2l6ZTsNCj4gKw0KPiArICAgICAgIGlkeCA9IHByb2RfaGVh
ZCAmIChyKS0+bWFzazsNCj4gKw0KPiArICAgICAgIGR1MzIgPSAodWludDMyX3QgKilyaW5nX3N0
YXJ0ICsgaWR4Ow0KPiArICAgICAgIHN1MzIgPSBvYmpfdGFibGU7DQo+ICsNCj4gKyAgICAgICBp
ZiAoaWR4ICsgbnVtIDwgc2l6ZSkNCj4gKyAgICAgICAgICAgICAgIGNvcHlfZWxlbXMoZHUzMiwg
c3UzMiwgbnVtLCBlc2l6ZSk7DQo+ICsgICAgICAgZWxzZSB7DQo+ICsgICAgICAgICAgICAgICBu
ID0gc2l6ZSAtIGlkeDsNCj4gKyAgICAgICAgICAgICAgIGNvcHlfZWxlbXMoZHUzMiwgc3UzMiwg
biwgZXNpemUpOw0KPiArICAgICAgICAgICAgICAgY29weV9lbGVtcyhyaW5nX3N0YXJ0LCBzdTMy
ICsgbiwgbnVtIC0gbiwgZXNpemUpOw0KPiArICAgICAgIH0NCj4gK30NCj4gKw0KPiArc3RhdGlj
IF9fcnRlX2Fsd2F5c19pbmxpbmUgdm9pZA0KPiArZGVxdWV1ZV9lbGVtcyhzdHJ1Y3QgcnRlX3Jp
bmcgKnIsIHZvaWQgKnJpbmdfc3RhcnQsIHVpbnQzMl90IGNvbnNfaGVhZCwNCj4gKyAgICAgICAg
ICAgICAgIHZvaWQgKm9ial90YWJsZSwgdWludDMyX3QgbnVtLCB1aW50MzJfdCBlc2l6ZSkgew0K
PiArICAgICAgIHVpbnQzMl90IGlkeCwgbjsNCj4gKyAgICAgICB1aW50MzJfdCAqZHUzMjsNCj4g
KyAgICAgICBjb25zdCB1aW50MzJfdCAqc3UzMjsNCj4gKw0KPiArICAgICAgIGNvbnN0IHVpbnQz
Ml90IHNpemUgPSByLT5zaXplOw0KPiArDQo+ICsgICAgICAgaWR4ID0gY29uc19oZWFkICYgKHIp
LT5tYXNrOw0KPiArDQo+ICsgICAgICAgc3UzMiA9ICh1aW50MzJfdCAqKXJpbmdfc3RhcnQgKyBp
ZHg7DQo+ICsgICAgICAgZHUzMiA9IG9ial90YWJsZTsNCj4gKw0KPiArICAgICAgIGlmIChpZHgg
KyBudW0gPCBzaXplKQ0KPiArICAgICAgICAgICAgICAgY29weV9lbGVtcyhkdTMyLCBzdTMyLCBu
dW0sIGVzaXplKTsNCj4gKyAgICAgICBlbHNlIHsNCj4gKyAgICAgICAgICAgICAgIG4gPSBzaXpl
IC0gaWR4Ow0KPiArICAgICAgICAgICAgICAgY29weV9lbGVtcyhkdTMyLCBzdTMyLCBuLCBlc2l6
ZSk7DQo+ICsgICAgICAgICAgICAgICBjb3B5X2VsZW1zKGR1MzIgKyBuLCByaW5nX3N0YXJ0LCBu
dW0gLSBuLCBlc2l6ZSk7DQo+ICsgICAgICAgfQ0KPiArfQ0KPiANCj4gIC8qIEJldHdlZW4gbG9h
ZCBhbmQgbG9hZC4gdGhlcmUgbWlnaHQgYmUgY3B1IHJlb3JkZXIgaW4gd2VhayBtb2RlbA0KPiAg
ICogKHBvd2VycGMvYXJtKS4NCj4gQEAgLTIzMiw3ICsyMzEsNyBAQCBfX3J0ZV9yaW5nX2RvX2Vu
cXVldWVfZWxlbShzdHJ1Y3QgcnRlX3JpbmcgKnIsIHZvaWQNCj4gKiBjb25zdCBvYmpfdGFibGUs
DQo+ICAgICAgICAgaWYgKG4gPT0gMCkNCj4gICAgICAgICAgICAgICAgIGdvdG8gZW5kOw0KPiAN
Cj4gLSAgICAgICBFTlFVRVVFX1BUUlNfR0VOKHIsICZyWzFdLCBwcm9kX2hlYWQsIG9ial90YWJs
ZSwgZXNpemUsIG4pOw0KPiArICAgICAgIGVucXVldWVfZWxlbXMociwgJnJbMV0sIHByb2RfaGVh
ZCwgb2JqX3RhYmxlLCBuLCBlc2l6ZSk7DQo+IA0KPiAgICAgICAgIHVwZGF0ZV90YWlsKCZyLT5w
cm9kLCBwcm9kX2hlYWQsIHByb2RfbmV4dCwgaXNfc3AsIDEpOw0KPiAgZW5kOg0KPiBAQCAtMjc5
LDcgKzI3OCw3IEBAIF9fcnRlX3JpbmdfZG9fZGVxdWV1ZV9lbGVtKHN0cnVjdCBydGVfcmluZyAq
ciwgdm9pZA0KPiAqb2JqX3RhYmxlLA0KPiAgICAgICAgIGlmIChuID09IDApDQo+ICAgICAgICAg
ICAgICAgICBnb3RvIGVuZDsNCj4gDQo+IC0gICAgICAgREVRVUVVRV9QVFJTX0dFTihyLCAmclsx
XSwgY29uc19oZWFkLCBvYmpfdGFibGUsIGVzaXplLCBuKTsNCj4gKyAgICAgICBkZXF1ZXVlX2Vs
ZW1zKHIsICZyWzFdLCBjb25zX2hlYWQsIG9ial90YWJsZSwgbiwgZXNpemUpOw0KPiANCj4gICAg
ICAgICB1cGRhdGVfdGFpbCgmci0+Y29ucywgY29uc19oZWFkLCBjb25zX25leHQsIGlzX3NjLCAw
KTsNCj4gDQo+IC0tDQo+IDIuMTcuMQ0KPiANCg0K