From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 0747A42C65;
	Fri,  9 Jun 2023 03:04:28 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id D1BD140E01;
	Fri,  9 Jun 2023 03:04:27 +0200 (CEST)
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by mails.dpdk.org (Postfix) with ESMTP id A7B6540A7D
 for <dev@dpdk.org>; Fri,  9 Jun 2023 03:04:25 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
 t=1686272665; x=1717808665;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:mime-version;
 bh=JmM+q12yvq49VX5bcM1cGba3bzQnX3qcIVVQfJbaCpk=;
 b=Tw5mOrWL175AqJi935yoCAfxdLq3AU5fJ3FQw+bzRa7pwZDBr4Qv9oTL
 2tQSBMUorMQIR+ch7+/xezGgbGd9HabePOQJPNls6JhL8UlE7T6+fYlSZ
 lY2oIhu6fucX1N1QLemm0eTMfVQ3g0iWXfWWulggRF2GB9hkd2HETkL7S
 rin+H1SvcXpH23yvRgq4HgH3eGKNHmViCLxe39f2HR4R+jY8i16SF2wey
 wQ+aa4vEkjEpriMkgz74/P5gMwiI4RXJZa1d+wDdoLnlYaGfIO2SqJQK7
 +Q8LavZ9KDZq4aFvjnX94QXGFqBn8vAbsDdScX7Cz6KpG6wkThwxzpZYo w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10735"; a="347125327"
X-IronPort-AV: E=Sophos;i="6.00,228,1681196400"; 
 d="scan'208,217";a="347125327"
Received: from fmsmga007.fm.intel.com ([10.253.24.52])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 08 Jun 2023 18:04:24 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10735"; a="713318621"
X-IronPort-AV: E=Sophos;i="6.00,228,1681196400"; 
 d="scan'208,217";a="713318621"
Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14])
 by fmsmga007.fm.intel.com with ESMTP; 08 Jun 2023 18:04:23 -0700
Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by
 ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.23; Thu, 8 Jun 2023 18:04:23 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
 orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.23 via Frontend Transport; Thu, 8 Jun 2023 18:04:23 -0700
Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169)
 by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.23; Thu, 8 Jun 2023 18:04:22 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VqDXTvdwNpjdx57aVhULbNS3ANrb9wO2URuM5OjoCG1K8vk5urZ+11qnyBlr6iJT/NyobIk+5hAfYQw1T2AHuyp5HZLDbDEeWnzmYY+Wfl8CQg3E94kiLYycbjvPoDxqLvQIp/VgdNPNn8tFOJDfAIHJN/l3+UKogtyKciFLag9XuJqj8PXBq0q+wkpVzvuJxAMgtnMSp2DgDgcYUPKDf8n5oC+3n91Z2lWqcUCmJinQEEIJQCJAcoMwJVOpVlO/UsSS5Svnd4g134NAmR++KykVOQ6YIDrZR1DS8uuU2QJD5NAJV8gNmapm9dDIpnoW6nv0OTCpCetPZtA4BnX+cw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JmM+q12yvq49VX5bcM1cGba3bzQnX3qcIVVQfJbaCpk=;
 b=jsiNifxLTDofjAGQLEEwkRVEEgbw98KFSDXpe4Jqw/iwRGLeIQUoosxT9wfeGSqQNoDQmASlUyui25FVRaMLpVIk2j6KZFzA/hMSc/3XHwYYIUOV7E8uQoe/9aiyu9Vo8fhoQETsknkdzgswcvVLgBHILSVVoEy/d1F/vevqVeFDejAs6MaMRVp5sq7TYO+xCpkSecy2ggg7z156/1qVte1AiV9pulKWxoLrjAM6CkBb9gnoi1GlViToQHmOxkO+0OXKLdDHtrxuK/GEn6rJhbqPBP5Xm6rY9HggfTCwkPdZ14fdhpg47c+MXhOHY+Ln/ijBK7mHpvwvMD/Ow5HSaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
Received: from CY5PR11MB6487.namprd11.prod.outlook.com (2603:10b6:930:31::17)
 by SA1PR11MB6710.namprd11.prod.outlook.com (2603:10b6:806:25a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.19; Fri, 9 Jun
 2023 01:04:21 +0000
Received: from CY5PR11MB6487.namprd11.prod.outlook.com
 ([fe80::bbdd:44b6:dd11:5070]) by CY5PR11MB6487.namprd11.prod.outlook.com
 ([fe80::bbdd:44b6:dd11:5070%4]) with mapi id 15.20.6455.034; Fri, 9 Jun 2023
 01:04:21 +0000
From: "Hu, Jiayu" <jiayu.hu@intel.com>
To: kumaraparameshwaran rathinavel <kumaraparamesh92@gmail.com>
CC: "dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [PATCH v4] gro : ipv6 changes to support GRO for TCP/ipv6
Thread-Topic: [PATCH v4] gro : ipv6 changes to support GRO for TCP/ipv6
Thread-Index: AQHZmIdczS5iBYQvv0uyxHz+IKTIRq+AQzIggADe2QCAAIZtkA==
Date: Fri, 9 Jun 2023 01:04:21 +0000
Message-ID: <CY5PR11MB6487301D428831080CBC17089251A@CY5PR11MB6487.namprd11.prod.outlook.com>
References: <20221020181425.48006-1-kumaraparmesh92@gmail.com>
 <20230606145802.53671-1-kumaraparamesh92@gmail.com>
 <CY5PR11MB6487580375B22A0B8640CC659250A@CY5PR11MB6487.namprd11.prod.outlook.com>
 <CANxNyat1x=NaQYo7c1BS1DLa8pduUXB4wDTdqwuvXPhd_bc+hg@mail.gmail.com>
In-Reply-To: <CANxNyat1x=NaQYo7c1BS1DLa8pduUXB4wDTdqwuvXPhd_bc+hg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CY5PR11MB6487:EE_|SA1PR11MB6710:EE_
x-ms-office365-filtering-correlation-id: 80a15746-5178-4936-9a7e-08db68857564
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 2qZ1/1KZcvse4UnCqXew67Pf2XVV+6WIFyG/aGFAo3LyA86BguHG2e6sA0D3quZj8/9OB9houiZ+r9bS7Rkgn8LB2JxjjqfSLhTbvWhTgT6pdEF6DqLc6U2Xb5PC3DI7ON9JvTB4XteV1FboVTBOlaLzHtwetmvCpoNJYHY8BtyPWUORx4wVuyn4S6dxaAnL0kSmAAqsi+FXvMNHut0hzmIfadLggkErY72i9fE+EI4Nw8kWN4JqTvUc75GV8psYV9C2m+EsE3aWiYYI+cfsF99U2ETK8P5poJqsuctTyPKAElY0/el1YkEnCH+BNceKXTk+DidWn2uMhy8k4z0RKlJ1GaaEcMifJL5akD8EGAeDM96VST5dHtxrWe9JBw3/ppgedJIkW9nqr2D7GdrESl/lcpJnN4zpPQIpNkdU7cu4QqNbdZX5+4Xsr9YkJ5wKS6DzGoZyyfwv9w55RZ6jy9FRJy+f11LbtxgOTka7wbXkYP1mfkZ+iBRI0Y6U5WBrl/b2FvMhXDmKmA9/Mi43VRfB1N/Qnu0vtpTvs+HKBXa93ZlLRakoWtySJuuBCiYPuGKtHSgPtUK1CbjYxiIkNIHaWe7bDZU/hIUCaZVNxt8pDpIX0qG1Z+nnjIEWFNFk
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:CY5PR11MB6487.namprd11.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230028)(396003)(39860400002)(376002)(346002)(136003)(366004)(451199021)(83380400001)(186003)(38070700005)(478600001)(71200400001)(53546011)(6506007)(9686003)(26005)(55016003)(86362001)(122000001)(4326008)(66446008)(66556008)(76116006)(64756008)(5660300002)(82960400001)(7696005)(6916009)(9326002)(30864003)(2906002)(66476007)(66946007)(38100700002)(33656002)(52536014)(41300700001)(8936002)(8676002)(316002)(579004);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Z3QyQWRBVWs0ZTNDMFM4QWxtR2I0TlhtaktYdjNSWkJKNXNCTlcvdXovWXBS?=
 =?utf-8?B?aTNVdU0wRElzN0FkNmczdjk3c3AxUU4yeENHZDlGbG03aWpmakJkM2gxMjcr?=
 =?utf-8?B?c2NlK29jOHhkWi9xN2dYRmdNVjhMSXozVzFFVEc4NEVyLzExTHV1U2lEMkYy?=
 =?utf-8?B?azh3UlU0Q3EzSE5NZ3h1S0c1bWs4R2YzSE4vU0s0QlJXNU96dEtwZmhUb3Yw?=
 =?utf-8?B?STEwRGNXMm5DN2dTRFJEb3plRWR4cjN5dUpvaWlJVjFES1VDblRpVjg0cnBF?=
 =?utf-8?B?WjNhRXZwTGFxS2NVWVYwUEtIek5WdmwvWWdJSHF2akZPekpCMGFEVjlxMWN2?=
 =?utf-8?B?NVJlRE1oMlRuUG9OVUhqQ0N2dU9RRnBYRDZJYWNuTy9KRGcwWndlZlNRS05u?=
 =?utf-8?B?M09IcXNtdDZCOUx3UExMRVJnUUZTOHR2RlM1NTY2U2lwWEFjYlR3SVB5Q1ox?=
 =?utf-8?B?b0taemx6Wi95Mm5BRzlvMko5eUQ1b0Y4M3E2bDVXZEszeVVPUjVvOHhscEZ5?=
 =?utf-8?B?S2JHanI0RmN6VVRqczZxVDBtcTF5bWx5c25zL3RMZUlIaUFYWjZqeXl3dzEw?=
 =?utf-8?B?a2FVMkk3YmhmUmNmNnk2dzhGdnEzc3pXV1d6WUFRcUNtR1IzWE15R21jeTVS?=
 =?utf-8?B?VkxHL0FLRzdmNjl6TGF2V0NtWGlkUzNjdko0VndRU0U2RHRlNkJBTm00Q3dh?=
 =?utf-8?B?YTVxc3VNM0RCRmVGelhkSlNDRG5PQkpreVo0cTBWNkJwc3FGaktIS2d5T0J5?=
 =?utf-8?B?aEJRVzRmc09Qa0FUTHlCdHJyWjNSZkJITlR4NThUc2FXYlZiTzJHenlPMWpI?=
 =?utf-8?B?ZTR2ME5MQnFkUmYzdTJjSEVwOTJBakY4MUlBTXlBQnNJSzhNNGZTWWVEVUJW?=
 =?utf-8?B?dDU1WHZ0VWRML1lncjN4NDBmWEdiekNtZnlXTE03UW1RcnhjUEJPSGQ4UXl4?=
 =?utf-8?B?a1QxMkE2SEhISFgrN2VBN3RWR2tkcVg5cTZ4UGJ5bGVCVC9kamw2RUhTd29N?=
 =?utf-8?B?UXk4R1BzRFZuLzd1NTJqWVhwaGVRZEtzWE82VE5HTm1yQjhBZlFZdXZybzNF?=
 =?utf-8?B?WGhYSk4rYnJZakJHQ3h0enRoNmtiQ29XcnNGeExMWTRKb29lK1o0WHFPTllC?=
 =?utf-8?B?a01vV2ozWHV3T0V5WUo0bCtRRkNyWWZLcThjNHBJcjhlc0ZoRjBYSVZJMmg1?=
 =?utf-8?B?ZC9UMzhHVXJYeDJ5N2k0bWtjMzZqN3IzM28xdy9XcHppcW9nV0VhZlJHcXgy?=
 =?utf-8?B?V1ZrZjRhcVozeE1zM0lmaXFMc3VGVXgzb2w4YTNSc252T1BlbmJNTmNGVno2?=
 =?utf-8?B?dEpWSGtmT1k0THRVSkY4SnNCN0gxUFJhaW8xcGk1RGR2TE05YUhRT1lYbTdm?=
 =?utf-8?B?ejZyQ29QcUlRT1NsV1R4a1R2em5NVUJJTGVHUkdOKzhFRERGeTA0UHNEMFJ4?=
 =?utf-8?B?RytpVStLazFBS2RBSk80TGc5dks2aTBqWHlCVE40M2FHRWFlRVR0M25KSlVq?=
 =?utf-8?B?Uzl6dkVDQS8xUm9hV0RXblBQbnNoa1F3cUxtV1VzYXJwMTBFSzZrZlVySW5X?=
 =?utf-8?B?ZVQ1c01YWGp1VDM1a3loQTBSMkQ5bjNBMjNWaXhDZW9JTXoyNHJJWjdRdFMv?=
 =?utf-8?B?V2hPa2VoVjhnWUhpcGRTWnZoMEpEREhSbjkyMWtRN09VME8wd3JXOVl1Qkpr?=
 =?utf-8?B?SDVoSzd3SlNsN3B6VnpkeXY5N21HVndtNzY4K2YvdGovQmJHTmRURVFZRTFu?=
 =?utf-8?B?RVlPNVkvOUVEVTlQV1V0dzRiM0RTellLbFF3cUJudERTZjcwd1duNmN0T2lI?=
 =?utf-8?B?OFRzMHlLMHVvc2dqV2FqSHhOaklJQ3Y3WllXTjZVMlYveXBzcXR5K3YySFF5?=
 =?utf-8?B?cjZwL0Z3aWVFSHF4VU5mMVh6VGl2ZEVPenNwUk84SHU0ek5OYXJLY0QzNDll?=
 =?utf-8?B?alY4bW1SanIxYXFYaXAwU2tKYWEyTkxhdmhEZUlrYmJxTWQ0ZlNrNERKcjZh?=
 =?utf-8?B?ZGR3SVJ2YnJxdlRmcDF4clZ3YndVNUs0c0lvN1dBa3NSdk9RYit3ckY1bXBq?=
 =?utf-8?B?bHpSenk0VG1JOXk5QWZuRlkzZTM0bG1PYlVnT2ZpSytzRmFsMnZiRmtaSjhR?=
 =?utf-8?Q?mE9GnLlnjnpCIqe0a4MqQ6fb3?=
Content-Type: multipart/alternative;
 boundary="_000_CY5PR11MB6487301D428831080CBC17089251ACY5PR11MB6487namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CY5PR11MB6487.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 80a15746-5178-4936-9a7e-08db68857564
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jun 2023 01:04:21.2373 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: nXWeVlNXSvYXShG+1jSGe3qGXBGh67A9ZB3Kl96OupvKyNQ7ZxgOmN0bXx4T2Lfj7GThwBBlX7heLmUbNnbFIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB6710
X-OriginatorOrg: intel.com
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
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

--_000_CY5PR11MB6487301D428831080CBC17089251ACY5PR11MB6487namp_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgS3VtYXJhLA0KDQpJbiB5b3VyIHJlcGxpZWQgbWFpbCwgdGhlIGxpbmUgZG9lc27igJl0IHBy
ZWZhY2Ugd2l0aCDigJw+4oCdIGFuZCBpdOKAmXMgaGFyZCB0byBmaW5kIHlvdXIgcmVwbGllcy4N
ClNvIEkgcmVwbHkgaGVyZS4gSW4gZ3JvX3RjcDRfcmVhc3NlbWJsZSgpLCBJIG1lYW4gdGhlcmUg
aXMgbm8gbmVlZCB0byBzd2l0Y2ggdGhlIHNlcXVlbmNlcw0Kb2YgdGNwX2hkciBhbmQgc2VudF9z
ZXEgZGVmaW5pdGlvbiBzdGF0ZW1lbnRzIGluIHRoZSBjb2RlLCByYXRoZXIgdGhhbiBub3QgdXBk
YXRpbmcgdGhlbS4NCg0KVGhhbmtzLA0KSmlheXUNCg0KRnJvbToga3VtYXJhcGFyYW1lc2h3YXJh
biByYXRoaW5hdmVsIDxrdW1hcmFwYXJhbWVzaDkyQGdtYWlsLmNvbT4NClNlbnQ6IEZyaWRheSwg
SnVuZSA5LCAyMDIzIDEyOjUyIEFNDQpUbzogSHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb20+
DQpDYzogZGV2QGRwZGsub3JnDQpTdWJqZWN0OiBSZTogW1BBVENIIHY0XSBncm8gOiBpcHY2IGNo
YW5nZXMgdG8gc3VwcG9ydCBHUk8gZm9yIFRDUC9pcHY2DQoNCkhpIEppeWF1LA0KDQpUaGFua3Mg
Zm9yIHRoZSBxdWljayByZXZpZXcgY29tbWVudHMuIFdpbGwgYWRkcmVzcyB0aGUgcmV2aWV3IGNv
bW1lbnRzLiBSZXF1aXJlIGNsYXJpZmljYXRpb24gaW4gb25lIG9mIHRoZSBjb21tZW50cy4gUGxl
YXNlIGZpbmQgaXQgaW5saW5lLg0KDQpPbiBUaHUsIEp1biA4LCAyMDIzIGF0IDk6MzXigK9BTSBI
dSwgSmlheXUgPGppYXl1Lmh1QGludGVsLmNvbTxtYWlsdG86amlheXUuaHVAaW50ZWwuY29tPj4g
d3JvdGU6DQpIaSBLdW1hcmEsDQoNClBsZWFzZSBzZWUgcmVwbGllcyBpbmxpbmUuDQoNCkluIGFk
ZGl0aW9uLCB5b3UgbmVlZCB0byB1cGRhdGUgdGhlIHByb2dyYW1tZXIgZ3VpZGUgaW4gZ2VuZXJp
Y19yZWNlaXZlX29mZmxvYWRfbGliLnJzdCwNCmFuZCByZWxlYXNlIG5vdGUgcmVsZWFzZV8yM18w
Ny5yc3QuDQoNClRoYW5rcywNCkppYXl1DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N
Cj4gRnJvbTogS3VtYXJhIFBhcmFtZXNod2FyYW4gPGt1bWFyYXBhcmFtZXNoOTJAZ21haWwuY29t
PG1haWx0bzprdW1hcmFwYXJhbWVzaDkyQGdtYWlsLmNvbT4+DQo+IFNlbnQ6IFR1ZXNkYXksIEp1
bmUgNiwgMjAyMyAxMDo1OCBQTQ0KPiBUbzogSHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb208
bWFpbHRvOmppYXl1Lmh1QGludGVsLmNvbT4+DQo+IENjOiBkZXZAZHBkay5vcmc8bWFpbHRvOmRl
dkBkcGRrLm9yZz47IEt1bWFyYSBQYXJhbWVzaHdhcmFuDQo+IDxrdW1hcmFwYXJhbWVzaDkyQGdt
YWlsLmNvbTxtYWlsdG86a3VtYXJhcGFyYW1lc2g5MkBnbWFpbC5jb20+Pg0KPiBTdWJqZWN0OiBb
UEFUQ0ggdjRdIGdybyA6IGlwdjYgY2hhbmdlcyB0byBzdXBwb3J0IEdSTyBmb3IgVENQL2lwdjYN
Cj4NCj4gVGhlIHBhdGNoIGFkZHMgR1JPIHN1cHBvcnQgZm9yIFRDUC9pcHY2IHBhY2tldHMuIFRo
aXMgZG9lcyBub3QgaW5jbHVkZSB0aGUNCj4gc3VwcG9ydCBmb3IgdnhsYW4sIHVkcCBpcHY2IHBh
Y2tldHMuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IEt1bWFyYSBQYXJhbWVzaHdhcmFuIDxrdW1hcmFw
YXJhbWVzaDkyQGdtYWlsLmNvbTxtYWlsdG86a3VtYXJhcGFyYW1lc2g5MkBnbWFpbC5jb20+Pj4N
Cj4gZGlmZiAtLWdpdCBhL2xpYi9ncm8vZ3JvX3RjcC5jIGIvbGliL2dyby9ncm9fdGNwLmMgbmV3
IGZpbGUgbW9kZSAxMDA2NDQgaW5kZXgNCj4gMDAwMDAwMDAwMC4uMDJhN2QwZjhjNQ0KPiAtLS0g
L2Rldi9udWxsDQo+ICsrKyBiL2xpYi9ncm8vZ3JvX3RjcC5jDQoNCkZvciBncm9fdGNwLmMgYW5k
IGdyb190Y3AuaCwgaXQncyBiZXR0ZXIgdG8gYWRkICJfaW50ZXJuYWwiIGluIHRoZSBmaWxlIG5h
bWUuDQoNCj4gQEAgLTAsMCArMSwxMjggQEANCj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy
OiBCU0QtMy1DbGF1c2UNCj4gKyAqIENvcHlyaWdodChjKSAyMDE3IEludGVsIENvcnBvcmF0aW9u
DQo+ICsgKi8NCj4gKyNpbmNsdWRlIDxydGVfbWFsbG9jLmg+DQo+ICsjaW5jbHVkZSA8cnRlX21i
dWYuaD4NCj4gKyNpbmNsdWRlIDxydGVfZXRoZGV2Lmg+DQo+ICsNCj4gKyNpbmNsdWRlICJncm9f
dGNwLmgiDQo+ICsNCj4gK3N0YXRpYyBpbmxpbmUgdWludDMyX3QNCj4gK2ZpbmRfYW5fZW1wdHlf
aXRlbShzdHJ1Y3QgZ3JvX3RjcF9pdGVtICppdGVtcywNCj4gKyAgICAgdWludDMyX3QgbWF4X2l0
ZW1fbnVtKQ0KPiArew0KPiArICAgICB1aW50MzJfdCBpOw0KPiArDQo+ICsgICAgIGZvciAoaSA9
IDA7IGkgPCBtYXhfaXRlbV9udW07IGkrKykNCj4gKyAgICAgICAgICAgICBpZiAoaXRlbXNbaV0u
Zmlyc3RzZWcgPT0gTlVMTCkNCj4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpOw0KPiAr
ICAgICByZXR1cm4gSU5WQUxJRF9BUlJBWV9JTkRFWDsNCj4gK30NCj4gKw0KPiArdWludDMyX3QN
Cj4gK2luc2VydF9uZXdfdGNwX2l0ZW0oc3RydWN0IHJ0ZV9tYnVmICpwa3QsDQo+ICsgICAgICAg
ICAgICAgc3RydWN0IGdyb190Y3BfaXRlbSAqaXRlbXMsDQo+ICsgICAgICAgICAgICAgdWludDMy
X3QgKml0ZW1fbnVtLA0KPiArICAgICAgICAgICAgIHVpbnQzMl90IG1heF9pdGVtX251bSwNCj4g
KyAgICAgICAgICAgICB1aW50NjRfdCBzdGFydF90aW1lLA0KPiArICAgICAgICAgICAgIHVpbnQz
Ml90IHByZXZfaWR4LA0KPiArICAgICAgICAgICAgIHVpbnQzMl90IHNlbnRfc2VxLA0KPiArICAg
ICAgICAgICAgIHVpbnQxNl90IGlwX2lkLA0KPiArICAgICAgICAgICAgIHVpbnQ4X3QgaXNfYXRv
bWljKQ0KDQpUaGlzIGZ1bmN0aW9uIGNhbiBiZSBpbmxpbmUuDQoNCj4gK3sNCj4gKyAgICAgdWlu
dDMyX3QgaXRlbV9pZHg7DQo+ICsNCj4gKyAgICAgaXRlbV9pZHggPSBmaW5kX2FuX2VtcHR5X2l0
ZW0oaXRlbXMsIG1heF9pdGVtX251bSk7DQo+ICsgICAgIGlmIChpdGVtX2lkeCA9PSBJTlZBTElE
X0FSUkFZX0lOREVYKQ0KPiArICAgICAgICAgICAgIHJldHVybiBJTlZBTElEX0FSUkFZX0lOREVY
Ow0KPiArDQo+ICsgICAgIGl0ZW1zW2l0ZW1faWR4XS5maXJzdHNlZyA9IHBrdDsNCj4gKyAgICAg
aXRlbXNbaXRlbV9pZHhdLmxhc3RzZWcgPSBydGVfcGt0bWJ1Zl9sYXN0c2VnKHBrdCk7DQo+ICsg
ICAgIGl0ZW1zW2l0ZW1faWR4XS5zdGFydF90aW1lID0gc3RhcnRfdGltZTsNCj4gKyAgICAgaXRl
bXNbaXRlbV9pZHhdLm5leHRfcGt0X2lkeCA9IElOVkFMSURfQVJSQVlfSU5ERVg7DQo+ICsgICAg
IGl0ZW1zW2l0ZW1faWR4XS5zZW50X3NlcSA9IHNlbnRfc2VxOw0KPiArICAgICBpdGVtc1tpdGVt
X2lkeF0uaXBfaWQgPSBpcF9pZDsNCj4gKyAgICAgaXRlbXNbaXRlbV9pZHhdLm5iX21lcmdlZCA9
IDE7DQo+ICsgICAgIGl0ZW1zW2l0ZW1faWR4XS5pc19hdG9taWMgPSBpc19hdG9taWM7DQo+ICsg
ICAgICgqaXRlbV9udW0pICs9IDE7DQo+ICsNCj4gKyAgICAgLyogaWYgdGhlIHByZXZpb3VzIHBh
Y2tldCBleGlzdHMsIGNoYWluIHRoZW0gdG9nZXRoZXIuICovDQo+ICsgICAgIGlmIChwcmV2X2lk
eCAhPSBJTlZBTElEX0FSUkFZX0lOREVYKSB7DQo+ICsgICAgICAgICAgICAgaXRlbXNbaXRlbV9p
ZHhdLm5leHRfcGt0X2lkeCA9DQo+ICsgICAgICAgICAgICAgICAgICAgICBpdGVtc1twcmV2X2lk
eF0ubmV4dF9wa3RfaWR4Ow0KPiArICAgICAgICAgICAgIGl0ZW1zW3ByZXZfaWR4XS5uZXh0X3Br
dF9pZHggPSBpdGVtX2lkeDsNCj4gKyAgICAgfQ0KPiArDQo+ICsgICAgIHJldHVybiBpdGVtX2lk
eDsNCj4gK30NCj4gKw0KPiArdWludDMyX3QNCj4gK2RlbGV0ZV90Y3BfaXRlbShzdHJ1Y3QgZ3Jv
X3RjcF9pdGVtICppdGVtcywgdWludDMyX3QgaXRlbV9pZHgsDQo+ICsgICAgICAgICAgICAgdWlu
dDMyX3QgKml0ZW1fbnVtLA0KPiArICAgICAgICAgICAgIHVpbnQzMl90IHByZXZfaXRlbV9pZHgp
DQo+ICt7DQo+ICsgICAgIHVpbnQzMl90IG5leHRfaWR4ID0gaXRlbXNbaXRlbV9pZHhdLm5leHRf
cGt0X2lkeDsNCj4gKw0KPiArICAgICAvKiBOVUxMIGluZGljYXRlcyBhbiBlbXB0eSBpdGVtICov
DQo+ICsgICAgIGl0ZW1zW2l0ZW1faWR4XS5maXJzdHNlZyA9IE5VTEw7DQo+ICsgICAgICgqaXRl
bV9udW0pIC09IDE7DQo+ICsgICAgIGlmIChwcmV2X2l0ZW1faWR4ICE9IElOVkFMSURfQVJSQVlf
SU5ERVgpDQo+ICsgICAgICAgICAgICAgaXRlbXNbcHJldl9pdGVtX2lkeF0ubmV4dF9wa3RfaWR4
ID0gbmV4dF9pZHg7DQo+ICsNCj4gKyAgICAgcmV0dXJuIG5leHRfaWR4Ow0KPiArfQ0KDQpUaGlz
IGZ1bmN0aW9uIGNhbiBiZSBpbmxpbmUuDQoNCj4gKw0KPiAraW50MzJfdA0KPiArZ3JvX3Byb2Nl
c3NfdGNwX2l0ZW0oc3RydWN0IHJ0ZV9tYnVmICpwa3QsDQo+ICsgICAgIHN0cnVjdCBydGVfdGNw
X2hkciAqdGNwX2hkciwNCj4gKyAgICAgaW50MzJfdCB0Y3BfZGwsDQo+ICsgICAgIHN0cnVjdCBn
cm9fdGNwX2l0ZW0gKml0ZW1zLA0KPiArICAgICB1aW50MzJfdCBpdGVtX2lkeCwNCj4gKyAgICAg
dWludDMyX3QgKml0ZW1fbnVtLA0KPiArICAgICB1aW50MzJfdCBtYXhfaXRlbV9udW0sDQo+ICsg
ICAgIHVpbnQxNl90IGlwX2lkLA0KPiArICAgICB1aW50OF90IGlzX2F0b21pYywNCj4gKyAgICAg
dWludDY0X3Qgc3RhcnRfdGltZSkNCg0KSXQgaXMgZm9yIGludGVybmFsIHVzZSwgc28gaXQncyBi
ZXR0ZXIgdG8gcmVtb3ZlICJncm9fIiBmcm9tIHRoZSBmdW5jdGlvbiBuYW1lLg0KDQo+ICt7DQo+
ICsgICAgIHVpbnQzMl90IGN1cl9pZHg7DQo+ICsgICAgIHVpbnQzMl90IHByZXZfaWR4Ow0KPiAr
ICAgICBpbnQgY21wOw0KPiArICAgICB1aW50MzJfdCBzZW50X3NlcTsNCj4gKw0KPiArICAgICBz
ZW50X3NlcSA9IHJ0ZV9iZV90b19jcHVfMzIodGNwX2hkci0+c2VudF9zZXEpOw0KPiArICAgICAv
Kg0KPiArICAgICAgKiBDaGVjayBhbGwgcGFja2V0cyBpbiB0aGUgZmxvdyBhbmQgdHJ5IHRvIGZp
bmQgYSBuZWlnaGJvciBmb3INCj4gKyAgICAgICogdGhlIGlucHV0IHBhY2tldC4NCj4gKyAgICAg
ICovDQo+ICsgICAgIGN1cl9pZHggPSBpdGVtX2lkeDsNCj4gKyAgICAgcHJldl9pZHggPSBjdXJf
aWR4Ow0KPiArICAgICBkbyB7DQo+ICsgICAgICAgICAgICAgY21wID0gY2hlY2tfc2VxX29wdGlv
bigmaXRlbXNbY3VyX2lkeF0sIHRjcF9oZHIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbnRfc2VxLCBpcF9pZCwgcGt0LT5sNF9sZW4sIHRjcF9kbCwgMCwNCj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaXNfYXRvbWljKTsNCj4gKyAgICAgICAgICAgICBpZiAoY21w
KSB7DQo+ICsgICAgICAgICAgICAgICAgICAgICBpZiAobWVyZ2VfdHdvX3RjcF9wYWNrZXRzKCZp
dGVtc1tjdXJfaWR4XSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBrdCwgY21wLCBzZW50X3NlcSwgaXBfaWQsIDApKQ0KPiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gMTsNCj4gKyAgICAgICAgICAgICAgICAgICAgIC8qDQo+ICsg
ICAgICAgICAgICAgICAgICAgICAgKiBGYWlsIHRvIG1lcmdlIHRoZSB0d28gcGFja2V0cywgYXMg
dGhlIHBhY2tldA0KPiArICAgICAgICAgICAgICAgICAgICAgICogbGVuZ3RoIGlzIGdyZWF0ZXIg
dGhhbiB0aGUgbWF4IHZhbHVlLiBTdG9yZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICogdGhl
IHBhY2tldCBpbnRvIHRoZSBmbG93Lg0KPiArICAgICAgICAgICAgICAgICAgICAgICovDQo+ICsg
ICAgICAgICAgICAgICAgICAgICBpZiAoaW5zZXJ0X25ld190Y3BfaXRlbShwa3QsIGl0ZW1zLCBp
dGVtX251bSwNCj4gbWF4X2l0ZW1fbnVtLCBzdGFydF90aW1lLCBjdXJfaWR4LA0KPiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VudF9zZXEsIGlwX2lkLCBp
c19hdG9taWMpID09DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5W
QUxJRF9BUlJBWV9JTkRFWCkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IC0xOw0KPiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ICsgICAgICAgICAgICAg
fQ0KPiArICAgICAgICAgICAgIHByZXZfaWR4ID0gY3VyX2lkeDsNCj4gKyAgICAgICAgICAgICBj
dXJfaWR4ID0gaXRlbXNbY3VyX2lkeF0ubmV4dF9wa3RfaWR4Ow0KPiArICAgICB9IHdoaWxlIChj
dXJfaWR4ICE9IElOVkFMSURfQVJSQVlfSU5ERVgpOw0KPiArDQo+ICsgICAgIC8qIEZhaWwgdG8g
ZmluZCBhIG5laWdoYm9yLCBzbyBzdG9yZSB0aGUgcGFja2V0IGludG8gdGhlIGZsb3cuICovDQo+
ICsgICAgIGlmIChpbnNlcnRfbmV3X3RjcF9pdGVtKHBrdCwgaXRlbXMsIGl0ZW1fbnVtLCBtYXhf
aXRlbV9udW0sDQo+IHN0YXJ0X3RpbWUsIHByZXZfaWR4LCBzZW50X3NlcSwNCj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaXBfaWQsIGlzX2F0b21pYykgPT0gSU5WQUxJRF9BUlJBWV9J
TkRFWCkNCj4gKyAgICAgICAgICAgICByZXR1cm4gLTE7DQo+ICsNCj4gKyAgICAgcmV0dXJuIDA7
DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9saWIvZ3JvL2dyb190Y3AuaCBiL2xpYi9ncm8vZ3JvX3Rj
cC5oIG5ldyBmaWxlIG1vZGUgMTAwNjQ0IGluZGV4DQo+IDAwMDAwMDAwMDAuLjRiNWI0ZWRhOWMN
Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9saWIvZ3JvL2dyb190Y3AuaA0KPiBAQCAtMCwwICsx
LDIwOSBAQA0KPiArI2lmbmRlZiBfR1JPX1RDUF9IXw0KPiArI2RlZmluZSBfR1JPX1RDUF9IXw0K
PiArDQo+ICsjZGVmaW5lIElOVkFMSURfQVJSQVlfSU5ERVggMHhmZmZmZmZmZlVMDQo+ICsNCj4g
KyNpbmNsdWRlIDxydGVfdGNwLmg+DQo+ICsNCj4gKy8qDQo+ICsgKiBUaGUgbWF4IGxlbmd0aCBv
ZiBhIElQdjQgcGFja2V0LCB3aGljaCBpbmNsdWRlcyB0aGUgbGVuZ3RoIG9mIHRoZSBMMw0KPiAr
ICogaGVhZGVyLCB0aGUgTDQgaGVhZGVyIGFuZCB0aGUgZGF0YSBwYXlsb2FkLg0KPiArICovDQo+
ICsjZGVmaW5lIE1BWF9JUF9QS1RfTEVOR1RIIFVJTlQxNl9NQVgNCj4gKw0KPiArLyogVGhlIG1h
eGltdW0gVENQIGhlYWRlciBsZW5ndGggKi8NCj4gKyNkZWZpbmUgTUFYX1RDUF9ITEVOIDYwDQo+
ICsjZGVmaW5lIElOVkFMSURfVENQX0hEUkxFTihsZW4pIFwNCj4gKyAgICAgKCgobGVuKSA8IHNp
emVvZihzdHJ1Y3QgcnRlX3RjcF9oZHIpKSB8fCAoKGxlbikgPiBNQVhfVENQX0hMRU4pKQ0KPiAr
DQo+ICtzdHJ1Y3QgZ3JvX3RjcF9mbG93IHsNCg0KVGhpcyBzdHJ1Y3R1cmUgbmFtZSBpcyBjb25m
dXNpbmcuIEluIHRoZSB1cHBlciBsYXllciwgdGNwNCBhbmQgdGNwNiBoYXZlIGdyb190Y3A0X2Zs
b3cNCmFuZCBncm9fdGNwNl9mbG93LCB3aGljaCByZXByZXNlbnQgYSBmbG93LiBJbnNpZGUgZ3Jv
X3RjcDQvNl9mbG93LCB0aGVyZSBhcmUga2V5cywNCnJlcHJlc2VudGVkIGJ5IHN0cnVjdCB0Y3A0
LzZfZmxvd19rZXkuIEJ1dCBpbnNpZGUgc3RydWN0IHRjcDQvNl9mbG93X2tleSwgdGhlcmUgaXMN
CnN0cnVjdCBncm9fdGNwX2Zsb3cuIE5lZWQgdG8gcmVuYW1lIHN0cnVjdCBncm9fdGNwX2Zsb3cs
IGxpa2UgY29tbW9uX3RjcF9mbG93X2tleS4NCg0KPiArICAgICBzdHJ1Y3QgcnRlX2V0aGVyX2Fk
ZHIgZXRoX3NhZGRyOw0KPiArICAgICBzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIgZXRoX2RhZGRyOw0K
PiArICAgICB1aW50MzJfdCByZWN2X2FjazsNCj4gKyAgICAgdWludDE2X3Qgc3JjX3BvcnQ7DQo+
ICsgICAgIHVpbnQxNl90IGRzdF9wb3J0Ow0KPiArfTsNCj4gKw0KPiArI2RlZmluZSBBU1NJR05f
VENQX0ZMT1dfS0VZKGsxLCBrMikgXA0KDQpEaXR0by4gVGhlIG1hY3JvIG5lZWRzIHJlbmFtZSwg
bGlrZSBBU1NJR05fQ09NTU9OX1RDUF9GTE9XX0tFWS4NCg0KPiArICAgICBkbyB7XA0KPiArICAg
ICAgICAgICAgIHJ0ZV9ldGhlcl9hZGRyX2NvcHkoJihrMS0+ZXRoX3NhZGRyKSwgJihrMi0+ZXRo
X3NhZGRyKSk7IFwNCj4gKyAgICAgICAgICAgICBydGVfZXRoZXJfYWRkcl9jb3B5KCYoazEtPmV0
aF9kYWRkciksICYoazItPmV0aF9kYWRkcikpOw0KPiBcDQo+ICsgICAgICAgICAgICAgazItPnJl
Y3ZfYWNrID0gazEtPnJlY3ZfYWNrOyBcDQo+ICsgICAgICAgICAgICAgazItPnNyY19wb3J0ID0g
azEtPnNyY19wb3J0OyBcDQo+ICsgICAgICAgICAgICAgazItPmRzdF9wb3J0ID0gazEtPmRzdF9w
b3J0OyBcDQo+ICsgICAgIH0gd2hpbGUgKDApDQo+ICsNCj4gK3N0cnVjdCBncm9fdGNwX2l0ZW0g
ew0KPiArICAgICAvKg0KPiArICAgICAgKiBUaGUgZmlyc3QgTUJVRiBzZWdtZW50IG9mIHRoZSBw
YWNrZXQuIElmIHRoZSB2YWx1ZQ0KPiArICAgICAgKiBpcyBOVUxMLCBpdCBtZWFucyB0aGUgaXRl
bSBpcyBlbXB0eS4NCj4gKyAgICAgICovDQo+ICsgICAgIHN0cnVjdCBydGVfbWJ1ZiAqZmlyc3Rz
ZWc7DQo+ICsgICAgIC8qIFRoZSBsYXN0IE1CVUYgc2VnbWVudCBvZiB0aGUgcGFja2V0ICovDQo+
ICsgICAgIHN0cnVjdCBydGVfbWJ1ZiAqbGFzdHNlZzsNCj4gKyAgICAgLyoNCj4gKyAgICAgICog
VGhlIHRpbWUgd2hlbiB0aGUgZmlyc3QgcGFja2V0IGlzIGluc2VydGVkIGludG8gdGhlIHRhYmxl
Lg0KPiArICAgICAgKiBUaGlzIHZhbHVlIHdvbid0IGJlIHVwZGF0ZWQsIGV2ZW4gaWYgdGhlIHBh
Y2tldCBpcyBtZXJnZWQNCj4gKyAgICAgICogd2l0aCBvdGhlciBwYWNrZXRzLg0KPiArICAgICAg
Ki8NCj4gKyAgICAgdWludDY0X3Qgc3RhcnRfdGltZTsNCj4gKyAgICAgLyoNCj4gKyAgICAgICog
bmV4dF9wa3RfaWR4IGlzIHVzZWQgdG8gY2hhaW4gdGhlIHBhY2tldHMgdGhhdA0KPiArICAgICAg
KiBhcmUgaW4gdGhlIHNhbWUgZmxvdyBidXQgY2FuJ3QgYmUgbWVyZ2VkIHRvZ2V0aGVyDQo+ICsg
ICAgICAqIChlLmcuIGNhdXNlZCBieSBwYWNrZXQgcmVvcmRlcmluZykuDQo+ICsgICAgICAqLw0K
PiArICAgICB1aW50MzJfdCBuZXh0X3BrdF9pZHg7DQo+ICsgICAgIC8qIFRDUCBzZXF1ZW5jZSBu
dW1iZXIgb2YgdGhlIHBhY2tldCAqLw0KPiArICAgICB1aW50MzJfdCBzZW50X3NlcTsNCj4gKyAg
ICAgLyogSVB2NCBJRCBvZiB0aGUgcGFja2V0ICovDQo+ICsgICAgIHVpbnQxNl90IGlwX2lkOw0K
DQpUaGUgaXBfaWQgZmllbGQgaXMgbm90IHVzZWQgYnkgdGNwNi4gSXQncyBiZXR0ZXIgdG8gdXNl
IGFuIHVuaW9uIHRvIGluY2x1ZGUgaXBfaWQgZm9yIElQdjQgYW5kDQphbiB1c2VsZXNzIG1lbWJl
ciBmb3IgSVB2NiB3aXRoIHNvbWUgY29tbWVudHMgdG8gYXZvaWQgY29uZnVzaW5nLg0KDQo+ICsg
ICAgIC8qIHRoZSBudW1iZXIgb2YgbWVyZ2VkIHBhY2tldHMgKi8NCj4gKyAgICAgdWludDE2X3Qg
bmJfbWVyZ2VkOw0KPiArICAgICAvKiBJbmRpY2F0ZSBpZiBJUHY0IElEIGNhbiBiZSBpZ25vcmVk
ICovDQo+ICsgICAgIHVpbnQ4X3QgaXNfYXRvbWljOw0KPiArfTsNCj4gKw0KPiArdWludDMyX3QN
Cj4gK2luc2VydF9uZXdfdGNwX2l0ZW0oc3RydWN0IHJ0ZV9tYnVmICpwa3QsDQo+ICsgICAgICAg
ICAgICAgc3RydWN0IGdyb190Y3BfaXRlbSAqaXRlbXMsDQo+ICsgICAgICAgICAgICAgdWludDMy
X3QgKml0ZW1fbnVtLA0KPiArICAgICAgICAgICAgIHVpbnQzMl90IHRhYmxlX3NpemUsDQo+ICsg
ICAgICAgICAgICAgdWludDY0X3Qgc3RhcnRfdGltZSwNCj4gKyAgICAgICAgICAgICB1aW50MzJf
dCBwcmV2X2lkeCwNCj4gKyAgICAgICAgICAgICB1aW50MzJfdCBzZW50X3NlcSwNCj4gKyAgICAg
ICAgICAgICB1aW50MTZfdCBpcF9pZCwNCj4gKyAgICAgICAgICAgICB1aW50OF90IGlzX2F0b21p
Yyk7DQo+ICsNCj4gK3VpbnQzMl90DQo+ICtkZWxldGVfdGNwX2l0ZW0oc3RydWN0IGdyb190Y3Bf
aXRlbSAqaXRlbXMsDQo+ICsgICAgICAgICAgICAgdWludDMyX3QgaXRlbV9pZHgsDQo+ICsgICAg
ICAgICAgICAgdWludDMyX3QgKml0ZW1fbnVtLA0KPiArICAgICAgICAgICAgIHVpbnQzMl90IHBy
ZXZfaXRlbV9pZHgpOw0KPiArDQo+ICtpbnQzMl90DQo+ICtncm9fcHJvY2Vzc190Y3BfaXRlbShz
dHJ1Y3QgcnRlX21idWYgKnBrdCwNCj4gKyAgICAgc3RydWN0IHJ0ZV90Y3BfaGRyICp0Y3BfaGRy
LA0KPiArICAgICBpbnQzMl90IHRjcF9kbCwNCj4gKyAgICAgc3RydWN0IGdyb190Y3BfaXRlbSAq
aXRlbXMsDQo+ICsgICAgIHVpbnQzMl90IGl0ZW1faWR4LA0KPiArICAgICB1aW50MzJfdCAqaXRl
bV9udW0sDQo+ICsgICAgIHVpbnQzMl90IHRhYmxlX3NpemUsDQo+ICsgICAgIHVpbnQxNl90IGlw
X2lkLA0KPiArICAgICB1aW50OF90IGlzX2F0b21pYywNCj4gKyAgICAgdWludDY0X3Qgc3RhcnRf
dGltZSk7DQo+ICsNCj4gKy8qDQo+ICsgKiBNZXJnZSB0d28gVENQIHBhY2tldHMgd2l0aG91dCB1
cGRhdGluZyBjaGVja3N1bXMuDQo+ICsgKiBJZiBjbXAgaXMgbGFyZ2VyIHRoYW4gMCwgYXBwZW5k
IHRoZSBuZXcgcGFja2V0IHRvIHRoZQ0KPiArICogb3JpZ2luYWwgcGFja2V0LiBPdGhlcndpc2Us
IHByZS1wZW5kIHRoZSBuZXcgcGFja2V0IHRvDQo+ICsgKiB0aGUgb3JpZ2luYWwgcGFja2V0Lg0K
PiArICovDQo+ICtzdGF0aWMgaW5saW5lIGludA0KPiArbWVyZ2VfdHdvX3RjcF9wYWNrZXRzKHN0
cnVjdCBncm9fdGNwX2l0ZW0gKml0ZW0sDQo+ICsgICAgICAgICAgICAgc3RydWN0IHJ0ZV9tYnVm
ICpwa3QsDQo+ICsgICAgICAgICAgICAgaW50IGNtcCwNCj4gKyAgICAgICAgICAgICB1aW50MzJf
dCBzZW50X3NlcSwNCj4gKyAgICAgICAgICAgICB1aW50MTZfdCBpcF9pZCwNCj4gKyAgICAgICAg
ICAgICB1aW50MTZfdCBsMl9vZmZzZXQpDQo+ICt7DQo+ICsgICAgIHN0cnVjdCBydGVfbWJ1ZiAq
cGt0X2hlYWQsICpwa3RfdGFpbCwgKmxhc3RzZWc7DQo+ICsgICAgIHVpbnQxNl90IGhkcl9sZW4s
IGwyX2xlbjsNCj4gKw0KPiArICAgICBpZiAoY21wID4gMCkgew0KPiArICAgICAgICAgICAgIHBr
dF9oZWFkID0gaXRlbS0+Zmlyc3RzZWc7DQo+ICsgICAgICAgICAgICAgcGt0X3RhaWwgPSBwa3Q7
DQo+ICsgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgICAgcGt0X2hlYWQgPSBwa3Q7DQo+ICsg
ICAgICAgICAgICAgcGt0X3RhaWwgPSBpdGVtLT5maXJzdHNlZzsNCj4gKyAgICAgfQ0KPiArDQo+
ICsgICAgIC8qIGNoZWNrIGlmIHRoZSBJUHY0IHBhY2tldCBsZW5ndGggaXMgZ3JlYXRlciB0aGFu
IHRoZSBtYXggdmFsdWUgKi8NCj4gKyAgICAgaGRyX2xlbiA9IGwyX29mZnNldCArIHBrdF9oZWFk
LT5sMl9sZW4gKyBwa3RfaGVhZC0+bDNfbGVuICsNCj4gKyAgICAgICAgICAgICBwa3RfaGVhZC0+
bDRfbGVuOw0KPiArICAgICBsMl9sZW4gPSBsMl9vZmZzZXQgPiAwID8gcGt0X2hlYWQtPm91dGVy
X2wyX2xlbiA6IHBrdF9oZWFkLT5sMl9sZW47DQo+ICsgICAgIGlmICh1bmxpa2VseShwa3RfaGVh
ZC0+cGt0X2xlbiAtIGwyX2xlbiArIHBrdF90YWlsLT5wa3RfbGVuIC0NCj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGRyX2xlbiA+IE1BWF9JUF9QS1RfTEVOR1RIKSkNCj4gKyAgICAg
ICAgICAgICByZXR1cm4gMDsNCj4gKw0KPiArICAgICAvKiByZW1vdmUgdGhlIHBhY2tldCBoZWFk
ZXIgZm9yIHRoZSB0YWlsIHBhY2tldCAqLw0KPiArICAgICBydGVfcGt0bWJ1Zl9hZGoocGt0X3Rh
aWwsIGhkcl9sZW4pOw0KPiArDQo+ICsgICAgIC8qIGNoYWluIHR3byBwYWNrZXRzIHRvZ2V0aGVy
ICovDQo+ICsgICAgIGlmIChjbXAgPiAwKSB7DQo+ICsgICAgICAgICAgICAgaXRlbS0+bGFzdHNl
Zy0+bmV4dCA9IHBrdDsNCj4gKyAgICAgICAgICAgICBpdGVtLT5sYXN0c2VnID0gcnRlX3BrdG1i
dWZfbGFzdHNlZyhwa3QpOw0KPiArICAgICAgICAgICAgIC8qIHVwZGF0ZSBJUCBJRCB0byB0aGUg
bGFyZ2VyIHZhbHVlICovDQo+ICsgICAgICAgICAgICAgaXRlbS0+aXBfaWQgPSBpcF9pZDsNCj4g
KyAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgICAgICBsYXN0c2VnID0gcnRlX3BrdG1idWZfbGFz
dHNlZyhwa3QpOw0KPiArICAgICAgICAgICAgIGxhc3RzZWctPm5leHQgPSBpdGVtLT5maXJzdHNl
ZzsNCj4gKyAgICAgICAgICAgICBpdGVtLT5maXJzdHNlZyA9IHBrdDsNCj4gKyAgICAgICAgICAg
ICAvKiB1cGRhdGUgc2VudF9zZXEgdG8gdGhlIHNtYWxsZXIgdmFsdWUgKi8NCj4gKyAgICAgICAg
ICAgICBpdGVtLT5zZW50X3NlcSA9IHNlbnRfc2VxOw0KPiArICAgICAgICAgICAgIGl0ZW0tPmlw
X2lkID0gaXBfaWQ7DQo+ICsgICAgIH0NCj4gKyAgICAgaXRlbS0+bmJfbWVyZ2VkKys7DQo+ICsN
Cj4gKyAgICAgLyogdXBkYXRlIE1CVUYgbWV0YWRhdGEgZm9yIHRoZSBtZXJnZWQgcGFja2V0ICov
DQo+ICsgICAgIHBrdF9oZWFkLT5uYl9zZWdzICs9IHBrdF90YWlsLT5uYl9zZWdzOw0KPiArICAg
ICBwa3RfaGVhZC0+cGt0X2xlbiArPSBwa3RfdGFpbC0+cGt0X2xlbjsNCj4gKw0KPiArICAgICBy
ZXR1cm4gMTsNCj4gK30NCj4gKw0KPiArLyoNCj4gKyAqIENoZWNrIGlmIHR3byBUQ1AvSVB2NCBw
YWNrZXRzIGFyZSBuZWlnaGJvcnMuDQo+ICsgKi8NCj4gK3N0YXRpYyBpbmxpbmUgaW50DQo+ICtj
aGVja19zZXFfb3B0aW9uKHN0cnVjdCBncm9fdGNwX2l0ZW0gKml0ZW0sDQo+ICsgICAgICAgICAg
ICAgc3RydWN0IHJ0ZV90Y3BfaGRyICp0Y3BoLA0KPiArICAgICAgICAgICAgIHVpbnQzMl90IHNl
bnRfc2VxLA0KPiArICAgICAgICAgICAgIHVpbnQxNl90IGlwX2lkLA0KPiArICAgICAgICAgICAg
IHVpbnQxNl90IHRjcF9obCwNCj4gKyAgICAgICAgICAgICB1aW50MTZfdCB0Y3BfZGwsDQo+ICsg
ICAgICAgICAgICAgdWludDE2X3QgbDJfb2Zmc2V0LA0KPiArICAgICAgICAgICAgIHVpbnQ4X3Qg
aXNfYXRvbWljKQ0KPiArew0KPiArICAgICBzdHJ1Y3QgcnRlX21idWYgKnBrdF9vcmlnID0gaXRl
bS0+Zmlyc3RzZWc7DQo+ICsgICAgIGNoYXIgKmlwaF9vcmlnOw0KPiArICAgICBzdHJ1Y3QgcnRl
X3RjcF9oZHIgKnRjcGhfb3JpZzsNCj4gKyAgICAgdWludDE2X3QgbGVuLCB0Y3BfaGxfb3JpZzsN
Cj4gKw0KPiArICAgICBpcGhfb3JpZyA9IChjaGFyICopKHJ0ZV9wa3RtYnVmX210b2QocGt0X29y
aWcsIGNoYXIgKikgKw0KPiArICAgICAgICAgICAgICAgICAgICAgbDJfb2Zmc2V0ICsgcGt0X29y
aWctPmwyX2xlbik7DQo+ICsgICAgIHRjcGhfb3JpZyA9IChzdHJ1Y3QgcnRlX3RjcF9oZHIgKiko
aXBoX29yaWcgKyBwa3Rfb3JpZy0+bDNfbGVuKTsNCj4gKyAgICAgdGNwX2hsX29yaWcgPSBwa3Rf
b3JpZy0+bDRfbGVuOw0KPiArDQo+ICsgICAgIC8qIENoZWNrIGlmIFRDUCBvcHRpb24gZmllbGRz
IGVxdWFsICovDQo+ICsgICAgIGxlbiA9IFJURV9NQVgodGNwX2hsLCB0Y3BfaGxfb3JpZykgLSBz
aXplb2Yoc3RydWN0IHJ0ZV90Y3BfaGRyKTsNCj4gKyAgICAgaWYgKCh0Y3BfaGwgIT0gdGNwX2hs
X29yaWcpIHx8ICgobGVuID4gMCkgJiYNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KG1lbWNtcCh0Y3BoICsgMSwgdGNwaF9vcmlnICsgMSwNCj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsZW4pICE9IDApKSkNCj4gKyAgICAgICAgICAgICByZXR1cm4gMDsN
Cj4gKw0KPiArICAgICAvKiBEb24ndCBtZXJnZSBwYWNrZXRzIHdob3NlIERGIGJpdHMgYXJlIGRp
ZmZlcmVudCAqLw0KPiArICAgICBpZiAodW5saWtlbHkoaXRlbS0+aXNfYXRvbWljIF4gaXNfYXRv
bWljKSkNCj4gKyAgICAgICAgICAgICByZXR1cm4gMDsNCj4gKw0KPiArICAgICAvKiBjaGVjayBp
ZiB0aGUgdHdvIHBhY2tldHMgYXJlIG5laWdoYm9ycyAqLw0KPiArICAgICBsZW4gPSBwa3Rfb3Jp
Zy0+cGt0X2xlbiAtIGwyX29mZnNldCAtIHBrdF9vcmlnLT5sMl9sZW4gLQ0KPiArICAgICAgICAg
ICAgIHBrdF9vcmlnLT5sM19sZW4gLSB0Y3BfaGxfb3JpZzsNCj4gKyAgICAgaWYgKChzZW50X3Nl
cSA9PSBpdGVtLT5zZW50X3NlcSArIGxlbikgJiYgKGlzX2F0b21pYyB8fA0KPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoaXBfaWQgPT0gaXRlbS0+aXBfaWQgKyAxKSkpDQo+ICsgICAg
ICAgICAgICAgLyogYXBwZW5kIHRoZSBuZXcgcGFja2V0ICovDQo+ICsgICAgICAgICAgICAgcmV0
dXJuIDE7DQo+ICsgICAgIGVsc2UgaWYgKChzZW50X3NlcSArIHRjcF9kbCA9PSBpdGVtLT5zZW50
X3NlcSkgJiYgKGlzX2F0b21pYyB8fA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
aXBfaWQgKyBpdGVtLT5uYl9tZXJnZWQgPT0gaXRlbS0+aXBfaWQpKSkNCj4gKyAgICAgICAgICAg
ICAvKiBwcmUtcGVuZCB0aGUgbmV3IHBhY2tldCAqLw0KPiArICAgICAgICAgICAgIHJldHVybiAt
MTsNCj4gKw0KPiArICAgICByZXR1cm4gMDsNCj4gK30NCj4gKw0KPiArc3RhdGljIGlubGluZSBp
bnQNCj4gK2lzX3NhbWVfdGNwX2Zsb3coc3RydWN0IGdyb190Y3BfZmxvdyAqazEsIHN0cnVjdCBn
cm9fdGNwX2Zsb3cgKmsyKSB7DQo+ICsgICAgIHJldHVybiAoIW1lbWNtcChrMSwgazIsIHNpemVv
ZihzdHJ1Y3QgZ3JvX3RjcF9mbG93KSkpOyB9DQoNCkkgdGhpbmsgdGhpcyBmdW5jdGlvbiBuZWVk
cyByZW5hbWUsIGFzIHRoZSByZXN1bHQgb2YgdGhpcyBmdW5jdGlvbiBjYW5ub3QgaWRlbnRpZnkg
aWYgdGhleSBhcmUNCnNhbWUgVENQIGZsb3cuDQoNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1n
aXQgYS9saWIvZ3JvL2dyb190Y3A0LmMgYi9saWIvZ3JvL2dyb190Y3A0LmMgaW5kZXgNCj4gMDAx
NDA5NmU2My4uZmZjMzM3NDdjNCAxMDA2NDQNCj4gLS0tIGEvbGliL2dyby9ncm9fdGNwNC5jDQo+
ICsrKyBiL2xpYi9ncm8vZ3JvX3RjcDQuYw0KPiBAQCAtNyw2ICs3LDcgQEANCj4gICNpbmNsdWRl
IDxydGVfZXRoZGV2Lmg+DQo+DQo+ICAjaW5jbHVkZSAiZ3JvX3RjcDQuaCINCj4gKyNpbmNsdWRl
ICJncm9fdGNwLmgiDQo+DQo+ICB2b2lkICoNCj4gIGdyb190Y3A0X3RibF9jcmVhdGUodWludDE2
X3Qgc29ja2V0X2lkLCBAQCAtMzAsNyArMzEsNyBAQA0KPiBncm9fdGNwNF90YmxfY3JlYXRlKHVp
bnQxNl90IHNvY2tldF9pZCwNCj4gICAgICAgaWYgKHRibCA9PSBOVUxMKQ0KPiAgICAgICAgICAg
ICAgIHJldHVybiBOVUxMOw0KPg0KPiAtICAgICBzaXplID0gc2l6ZW9mKHN0cnVjdCBncm9fdGNw
NF9pdGVtKSAqIGVudHJpZXNfbnVtOw0KPiArICAgICBzaXplID0gc2l6ZW9mKHN0cnVjdCBncm9f
dGNwX2l0ZW0pICogZW50cmllc19udW07DQo+ICAgICAgIHRibC0+aXRlbXMgPSBydGVfem1hbGxv
Y19zb2NrZXQoX19mdW5jX18sDQo+ICAgICAgICAgICAgICAgICAgICAgICBzaXplLA0KPiAgICAg
ICAgICAgICAgICAgICAgICAgUlRFX0NBQ0hFX0xJTkVfU0laRSwNCj4gQEAgLTcxLDE4ICs3Miw2
IEBAIGdyb190Y3A0X3RibF9kZXN0cm95KHZvaWQgKnRibCkNCj4gICAgICAgcnRlX2ZyZWUodGNw
X3RibCk7DQo+ICB9DQo+DQo+IC1zdGF0aWMgaW5saW5lIHVpbnQzMl90DQo+IC1maW5kX2FuX2Vt
cHR5X2l0ZW0oc3RydWN0IGdyb190Y3A0X3RibCAqdGJsKSAtew0KPiAtICAgICB1aW50MzJfdCBp
Ow0KPiAtICAgICB1aW50MzJfdCBtYXhfaXRlbV9udW0gPSB0YmwtPm1heF9pdGVtX251bTsNCj4g
LQ0KPiAtICAgICBmb3IgKGkgPSAwOyBpIDwgbWF4X2l0ZW1fbnVtOyBpKyspDQo+IC0gICAgICAg
ICAgICAgaWYgKHRibC0+aXRlbXNbaV0uZmlyc3RzZWcgPT0gTlVMTCkNCj4gLSAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBpOw0KPiAtICAgICByZXR1cm4gSU5WQUxJRF9BUlJBWV9JTkRFWDsN
Cj4gLX0NCj4gLQ0KPiAgc3RhdGljIGlubGluZSB1aW50MzJfdA0KPiAgZmluZF9hbl9lbXB0eV9m
bG93KHN0cnVjdCBncm9fdGNwNF90YmwgKnRibCkgIHsgQEAgLTk1LDU2ICs4NCw2IEBADQo+IGZp
bmRfYW5fZW1wdHlfZmxvdyhzdHJ1Y3QgZ3JvX3RjcDRfdGJsICp0YmwpDQo+ICAgICAgIHJldHVy
biBJTlZBTElEX0FSUkFZX0lOREVYOw0KPiAgfQ0KPg0KPiAtc3RhdGljIGlubGluZSB1aW50MzJf
dA0KPiAtaW5zZXJ0X25ld19pdGVtKHN0cnVjdCBncm9fdGNwNF90YmwgKnRibCwNCj4gLSAgICAg
ICAgICAgICBzdHJ1Y3QgcnRlX21idWYgKnBrdCwNCj4gLSAgICAgICAgICAgICB1aW50NjRfdCBz
dGFydF90aW1lLA0KPiAtICAgICAgICAgICAgIHVpbnQzMl90IHByZXZfaWR4LA0KPiAtICAgICAg
ICAgICAgIHVpbnQzMl90IHNlbnRfc2VxLA0KPiAtICAgICAgICAgICAgIHVpbnQxNl90IGlwX2lk
LA0KPiAtICAgICAgICAgICAgIHVpbnQ4X3QgaXNfYXRvbWljKQ0KPiAtew0KPiAtICAgICB1aW50
MzJfdCBpdGVtX2lkeDsNCj4gLQ0KPiAtICAgICBpdGVtX2lkeCA9IGZpbmRfYW5fZW1wdHlfaXRl
bSh0YmwpOw0KPiAtICAgICBpZiAoaXRlbV9pZHggPT0gSU5WQUxJRF9BUlJBWV9JTkRFWCkNCj4g
LSAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRF9BUlJBWV9JTkRFWDsNCj4gLQ0KPiAtICAgICB0
YmwtPml0ZW1zW2l0ZW1faWR4XS5maXJzdHNlZyA9IHBrdDsNCj4gLSAgICAgdGJsLT5pdGVtc1tp
dGVtX2lkeF0ubGFzdHNlZyA9IHJ0ZV9wa3RtYnVmX2xhc3RzZWcocGt0KTsNCj4gLSAgICAgdGJs
LT5pdGVtc1tpdGVtX2lkeF0uc3RhcnRfdGltZSA9IHN0YXJ0X3RpbWU7DQo+IC0gICAgIHRibC0+
aXRlbXNbaXRlbV9pZHhdLm5leHRfcGt0X2lkeCA9IElOVkFMSURfQVJSQVlfSU5ERVg7DQo+IC0g
ICAgIHRibC0+aXRlbXNbaXRlbV9pZHhdLnNlbnRfc2VxID0gc2VudF9zZXE7DQo+IC0gICAgIHRi
bC0+aXRlbXNbaXRlbV9pZHhdLmlwX2lkID0gaXBfaWQ7DQo+IC0gICAgIHRibC0+aXRlbXNbaXRl
bV9pZHhdLm5iX21lcmdlZCA9IDE7DQo+IC0gICAgIHRibC0+aXRlbXNbaXRlbV9pZHhdLmlzX2F0
b21pYyA9IGlzX2F0b21pYzsNCj4gLSAgICAgdGJsLT5pdGVtX251bSsrOw0KPiAtDQo+IC0gICAg
IC8qIGlmIHRoZSBwcmV2aW91cyBwYWNrZXQgZXhpc3RzLCBjaGFpbiB0aGVtIHRvZ2V0aGVyLiAq
Lw0KPiAtICAgICBpZiAocHJldl9pZHggIT0gSU5WQUxJRF9BUlJBWV9JTkRFWCkgew0KPiAtICAg
ICAgICAgICAgIHRibC0+aXRlbXNbaXRlbV9pZHhdLm5leHRfcGt0X2lkeCA9DQo+IC0gICAgICAg
ICAgICAgICAgICAgICB0YmwtPml0ZW1zW3ByZXZfaWR4XS5uZXh0X3BrdF9pZHg7DQo+IC0gICAg
ICAgICAgICAgdGJsLT5pdGVtc1twcmV2X2lkeF0ubmV4dF9wa3RfaWR4ID0gaXRlbV9pZHg7DQo+
IC0gICAgIH0NCj4gLQ0KPiAtICAgICByZXR1cm4gaXRlbV9pZHg7DQo+IC19DQo+IC0NCj4gLXN0
YXRpYyBpbmxpbmUgdWludDMyX3QNCj4gLWRlbGV0ZV9pdGVtKHN0cnVjdCBncm9fdGNwNF90Ymwg
KnRibCwgdWludDMyX3QgaXRlbV9pZHgsDQo+IC0gICAgICAgICAgICAgdWludDMyX3QgcHJldl9p
dGVtX2lkeCkNCj4gLXsNCj4gLSAgICAgdWludDMyX3QgbmV4dF9pZHggPSB0YmwtPml0ZW1zW2l0
ZW1faWR4XS5uZXh0X3BrdF9pZHg7DQo+IC0NCj4gLSAgICAgLyogTlVMTCBpbmRpY2F0ZXMgYW4g
ZW1wdHkgaXRlbSAqLw0KPiAtICAgICB0YmwtPml0ZW1zW2l0ZW1faWR4XS5maXJzdHNlZyA9IE5V
TEw7DQo+IC0gICAgIHRibC0+aXRlbV9udW0tLTsNCj4gLSAgICAgaWYgKHByZXZfaXRlbV9pZHgg
IT0gSU5WQUxJRF9BUlJBWV9JTkRFWCkNCj4gLSAgICAgICAgICAgICB0YmwtPml0ZW1zW3ByZXZf
aXRlbV9pZHhdLm5leHRfcGt0X2lkeCA9IG5leHRfaWR4Ow0KPiAtDQo+IC0gICAgIHJldHVybiBu
ZXh0X2lkeDsNCj4gLX0NCj4gLQ0KPiAgc3RhdGljIGlubGluZSB1aW50MzJfdA0KPiAgaW5zZXJ0
X25ld19mbG93KHN0cnVjdCBncm9fdGNwNF90YmwgKnRibCwNCj4gICAgICAgICAgICAgICBzdHJ1
Y3QgdGNwNF9mbG93X2tleSAqc3JjLA0KPiBAQCAtMTU5LDEzICs5OCwxMCBAQCBpbnNlcnRfbmV3
X2Zsb3coc3RydWN0IGdyb190Y3A0X3RibCAqdGJsLA0KPg0KPiAgICAgICBkc3QgPSAmKHRibC0+
Zmxvd3NbZmxvd19pZHhdLmtleSk7DQo+DQo+IC0gICAgIHJ0ZV9ldGhlcl9hZGRyX2NvcHkoJihz
cmMtPmV0aF9zYWRkciksICYoZHN0LT5ldGhfc2FkZHIpKTsNCj4gLSAgICAgcnRlX2V0aGVyX2Fk
ZHJfY29weSgmKHNyYy0+ZXRoX2RhZGRyKSwgJihkc3QtPmV0aF9kYWRkcikpOw0KPiArICAgICBB
U1NJR05fVENQX0ZMT1dfS0VZKCgmc3JjLT50Y3BfZmxvdyksICgmZHN0LT50Y3BfZmxvdykpOw0K
PiArDQo+ICAgICAgIGRzdC0+aXBfc3JjX2FkZHIgPSBzcmMtPmlwX3NyY19hZGRyOw0KPiAgICAg
ICBkc3QtPmlwX2RzdF9hZGRyID0gc3JjLT5pcF9kc3RfYWRkcjsNCj4gLSAgICAgZHN0LT5yZWN2
X2FjayA9IHNyYy0+cmVjdl9hY2s7DQo+IC0gICAgIGRzdC0+c3JjX3BvcnQgPSBzcmMtPnNyY19w
b3J0Ow0KPiAtICAgICBkc3QtPmRzdF9wb3J0ID0gc3JjLT5kc3RfcG9ydDsNCj4NCj4gICAgICAg
dGJsLT5mbG93c1tmbG93X2lkeF0uc3RhcnRfaW5kZXggPSBpdGVtX2lkeDsNCj4gICAgICAgdGJs
LT5mbG93X251bSsrOw0KPiBAQCAtMTczLDIxICsxMDksNiBAQCBpbnNlcnRfbmV3X2Zsb3coc3Ry
dWN0IGdyb190Y3A0X3RibCAqdGJsLA0KPiAgICAgICByZXR1cm4gZmxvd19pZHg7DQo+ICB9DQo+
DQo+IC0vKg0KPiAtICogdXBkYXRlIHRoZSBwYWNrZXQgbGVuZ3RoIGZvciB0aGUgZmx1c2hlZCBw
YWNrZXQuDQo+IC0gKi8NCj4gLXN0YXRpYyBpbmxpbmUgdm9pZA0KPiAtdXBkYXRlX2hlYWRlcihz
dHJ1Y3QgZ3JvX3RjcDRfaXRlbSAqaXRlbSkgLXsNCj4gLSAgICAgc3RydWN0IHJ0ZV9pcHY0X2hk
ciAqaXB2NF9oZHI7DQo+IC0gICAgIHN0cnVjdCBydGVfbWJ1ZiAqcGt0ID0gaXRlbS0+Zmlyc3Rz
ZWc7DQo+IC0NCj4gLSAgICAgaXB2NF9oZHIgPSAoc3RydWN0IHJ0ZV9pcHY0X2hkciAqKShydGVf
cGt0bWJ1Zl9tdG9kKHBrdCwgY2hhciAqKSArDQo+IC0gICAgICAgICAgICAgICAgICAgICBwa3Qt
PmwyX2xlbik7DQo+IC0gICAgIGlwdjRfaGRyLT50b3RhbF9sZW5ndGggPSBydGVfY3B1X3RvX2Jl
XzE2KHBrdC0+cGt0X2xlbiAtDQo+IC0gICAgICAgICAgICAgICAgICAgICBwa3QtPmwyX2xlbik7
DQo+IC19DQo+IC0NCj4gIGludDMyX3QNCj4gIGdyb190Y3A0X3JlYXNzZW1ibGUoc3RydWN0IHJ0
ZV9tYnVmICpwa3QsDQo+ICAgICAgICAgICAgICAgc3RydWN0IGdyb190Y3A0X3RibCAqdGJsLA0K
PiBAQCAtMTk1LDE2ICsxMTYsMTUgQEAgZ3JvX3RjcDRfcmVhc3NlbWJsZShzdHJ1Y3QgcnRlX21i
dWYgKnBrdCwgIHsNCj4gICAgICAgc3RydWN0IHJ0ZV9ldGhlcl9oZHIgKmV0aF9oZHI7DQo+ICAg
ICAgIHN0cnVjdCBydGVfaXB2NF9oZHIgKmlwdjRfaGRyOw0KPiAtICAgICBzdHJ1Y3QgcnRlX3Rj
cF9oZHIgKnRjcF9oZHI7DQo+IC0gICAgIHVpbnQzMl90IHNlbnRfc2VxOw0KPiAgICAgICBpbnQz
Ml90IHRjcF9kbDsNCj4gKyAgICAgc3RydWN0IHJ0ZV90Y3BfaGRyICp0Y3BfaGRyOw0KPiAgICAg
ICB1aW50MTZfdCBpcF9pZCwgaGRyX2xlbiwgZnJhZ19vZmYsIGlwX3RsZW47DQo+ICAgICAgIHVp
bnQ4X3QgaXNfYXRvbWljOw0KPiArICAgICB1aW50MzJfdCBzZW50X3NlcTsNCg0KTm8gbmVlZCB0
byBjaGFuZ2UgdGNwX2hkciBhbmQgc2VudF9zZXEgaGVyZS4NClRoZSBmbG93IG1hdGNoaW5nIGlz
IGRvbmUgaW4gdGhlIGZ1bmN0aW9uIGFuZCBpZiB0aGUgZmxvdyBpcyBub3QgZm91bmQgaW5zZXJ0
X25ld190Y3BfaXRlbSBpcyBpbnZva2VkIGZyb20gdGhpcyBmdW5jdGlvbiBpdHNlbGYuIERpZCB5
b3UgbWVhbiB0byBtb3ZlIHRoYXQgdG8gdGhlIHByb2Nlc3NfdGNwX2l0ZW0gYXMgd2VsbD8gSWYg
dGhhdCBpcyB0aGUgY2FzZSB3ZSBzaG91bGQgcGFzcyB0aGUgc3RhcnRfaWR4IGFzIElOVkFMSURf
QVJSQVlfSU5ERVggYW5kIGluIHByb2Nlc3NfdGNwX2l0ZW0gY2hlY2sgaWYgSU5WQUxJRF9BUlJB
WV9JTkRFWCBkbyBhIGluc2VydF9uZXdfdGNwX2l0ZW0gYW5kIHJldHVybiwgZG8gbm90IGRvIHRo
ZSBzZXF1bmNlIG51bWJlciBjaGVja3MgZXRjLg0KPg0KPiAgICAgICBzdHJ1Y3QgdGNwNF9mbG93
X2tleSBrZXk7DQo+IC0gICAgIHVpbnQzMl90IGN1cl9pZHgsIHByZXZfaWR4LCBpdGVtX2lkeDsN
Cj4gKyAgICAgdWludDMyX3QgaXRlbV9pZHg7DQo+ICAgICAgIHVpbnQzMl90IGksIG1heF9mbG93
X251bSwgcmVtYWluaW5nX2Zsb3dfbnVtOw0KPiAtICAgICBpbnQgY21wOw0KPiAgICAgICB1aW50
OF90IGZpbmQ7DQo+DQo+ICAgICAgIC8qDQo+IEBAIC0yMTYsNyArMTM2LDcgQEAgZ3JvX3RjcDRf
cmVhc3NlbWJsZShzdHJ1Y3QgcnRlX21idWYgKnBrdCwNCj4NCj4gICAgICAgZXRoX2hkciA9IHJ0
ZV9wa3RtYnVmX210b2QocGt0LCBzdHJ1Y3QgcnRlX2V0aGVyX2hkciAqKTsNCj4gICAgICAgaXB2
NF9oZHIgPSAoc3RydWN0IHJ0ZV9pcHY0X2hkciAqKSgoY2hhciAqKWV0aF9oZHIgKyBwa3QtPmwy
X2xlbik7DQo+IC0gICAgIHRjcF9oZHIgPSAoc3RydWN0IHJ0ZV90Y3BfaGRyICopKChjaGFyICop
aXB2NF9oZHIgKyBwa3QtPmwzX2xlbik7DQo+ICsgICAgIHRjcF9oZHIgPSBydGVfcGt0bWJ1Zl9t
dG9kX29mZnNldChwa3QsIHN0cnVjdCBydGVfdGNwX2hkciAqLA0KPiArcGt0LT5sMl9sZW4gKyBw
a3QtPmwzX2xlbik7DQo+ICAgICAgIGhkcl9sZW4gPSBwa3QtPmwyX2xlbiArIHBrdC0+bDNfbGVu
ICsgcGt0LT5sNF9sZW47DQo+DQo+ICAgICAgIC8qDQo+IEBAIC0yMzAsNyArMTUwLDYgQEAgZ3Jv
X3RjcDRfcmVhc3NlbWJsZShzdHJ1Y3QgcnRlX21idWYgKnBrdCwNCj4gICAgICAgaXBfdGxlbiA9
IHJ0ZV9iZV90b19jcHVfMTYoaXB2NF9oZHItPnRvdGFsX2xlbmd0aCk7DQo+ICAgICAgIGlmIChw
a3QtPnBrdF9sZW4gPiAodWludDMyX3QpKGlwX3RsZW4gKyBwa3QtPmwyX2xlbikpDQo+ICAgICAg
ICAgICAgICAgcnRlX3BrdG1idWZfdHJpbShwa3QsIHBrdC0+cGt0X2xlbiAtIGlwX3RsZW4gLSBw
a3QtPmwyX2xlbik7DQo+IC0NCj4gICAgICAgLyoNCj4gICAgICAgICogRG9uJ3QgcHJvY2VzcyB0
aGUgcGFja2V0IHdob3NlIHBheWxvYWQgbGVuZ3RoIGlzIGxlc3MgdGhhbiBvcg0KPiAgICAgICAg
KiBlcXVhbCB0byAwLg0KPiBAQCAtMjM5LDYgKzE1OCwxMyBAQCBncm9fdGNwNF9yZWFzc2VtYmxl
KHN0cnVjdCBydGVfbWJ1ZiAqcGt0LA0KPiAgICAgICBpZiAodGNwX2RsIDw9IDApDQo+ICAgICAg
ICAgICAgICAgcmV0dXJuIC0xOw0KPg0KPiArICAgICBydGVfZXRoZXJfYWRkcl9jb3B5KCYoZXRo
X2hkci0+c3JjX2FkZHIpLA0KPiAmKGtleS50Y3BfZmxvdy5ldGhfc2FkZHIpKTsNCj4gKyAgICAg
cnRlX2V0aGVyX2FkZHJfY29weSgmKGV0aF9oZHItPmRzdF9hZGRyKSwNCj4gJihrZXkudGNwX2Zs
b3cuZXRoX2RhZGRyKSk7DQo+ICsgICAgIGtleS5pcF9zcmNfYWRkciA9IGlwdjRfaGRyLT5zcmNf
YWRkcjsNCj4gKyAgICAga2V5LmlwX2RzdF9hZGRyID0gaXB2NF9oZHItPmRzdF9hZGRyOw0KPiAr
ICAgICBrZXkudGNwX2Zsb3cuc3JjX3BvcnQgPSB0Y3BfaGRyLT5zcmNfcG9ydDsNCj4gKyAgICAg
a2V5LnRjcF9mbG93LmRzdF9wb3J0ID0gdGNwX2hkci0+ZHN0X3BvcnQ7DQo+ICsgICAgIGtleS50
Y3BfZmxvdy5yZWN2X2FjayA9IHRjcF9oZHItPnJlY3ZfYWNrOw0KPiAgICAgICAvKg0KPiAgICAg
ICAgKiBTYXZlIElQdjQgSUQgZm9yIHRoZSBwYWNrZXQgd2hvc2UgREYgYml0IGlzIDAuIEZvciB0
aGUgcGFja2V0DQo+ICAgICAgICAqIHdob3NlIERGIGJpdCBpcyAxLCBJUHY0IElEIGlzIGlnbm9y
ZWQuDQo+IEBAIC0yNDYsMTUgKzE3Miw2IEBAIGdyb190Y3A0X3JlYXNzZW1ibGUoc3RydWN0IHJ0
ZV9tYnVmICpwa3QsDQo+ICAgICAgIGZyYWdfb2ZmID0gcnRlX2JlX3RvX2NwdV8xNihpcHY0X2hk
ci0+ZnJhZ21lbnRfb2Zmc2V0KTsNCj4gICAgICAgaXNfYXRvbWljID0gKGZyYWdfb2ZmICYgUlRF
X0lQVjRfSERSX0RGX0ZMQUcpID09DQo+IFJURV9JUFY0X0hEUl9ERl9GTEFHOw0KPiAgICAgICBp
cF9pZCA9IGlzX2F0b21pYyA/IDAgOiBydGVfYmVfdG9fY3B1XzE2KGlwdjRfaGRyLT5wYWNrZXRf
aWQpOw0KPiAtICAgICBzZW50X3NlcSA9IHJ0ZV9iZV90b19jcHVfMzIodGNwX2hkci0+c2VudF9z
ZXEpOw0KPiAtDQo+IC0gICAgIHJ0ZV9ldGhlcl9hZGRyX2NvcHkoJihldGhfaGRyLT5zcmNfYWRk
ciksICYoa2V5LmV0aF9zYWRkcikpOw0KPiAtICAgICBydGVfZXRoZXJfYWRkcl9jb3B5KCYoZXRo
X2hkci0+ZHN0X2FkZHIpLCAmKGtleS5ldGhfZGFkZHIpKTsNCj4gLSAgICAga2V5LmlwX3NyY19h
ZGRyID0gaXB2NF9oZHItPnNyY19hZGRyOw0KPiAtICAgICBrZXkuaXBfZHN0X2FkZHIgPSBpcHY0
X2hkci0+ZHN0X2FkZHI7DQo+IC0gICAgIGtleS5zcmNfcG9ydCA9IHRjcF9oZHItPnNyY19wb3J0
Ow0KPiAtICAgICBrZXkuZHN0X3BvcnQgPSB0Y3BfaGRyLT5kc3RfcG9ydDsNCj4gLSAgICAga2V5
LnJlY3ZfYWNrID0gdGNwX2hkci0+cmVjdl9hY2s7DQo+DQo+ICAgICAgIC8qIFNlYXJjaCBmb3Ig
YSBtYXRjaGVkIGZsb3cuICovDQo+ICAgICAgIG1heF9mbG93X251bSA9IHRibC0+bWF4X2Zsb3df
bnVtOw0KPiBAQCAtMjcwLDYzICsxODcsNDQgQEAgZ3JvX3RjcDRfcmVhc3NlbWJsZShzdHJ1Y3Qg
cnRlX21idWYgKnBrdCwNCj4gICAgICAgICAgICAgICB9DQo+ICAgICAgIH0NCj4NCj4gLSAgICAg
LyoNCj4gLSAgICAgICogRmFpbCB0byBmaW5kIGEgbWF0Y2hlZCBmbG93LiBJbnNlcnQgYSBuZXcg
ZmxvdyBhbmQgc3RvcmUgdGhlDQo+IC0gICAgICAqIHBhY2tldCBpbnRvIHRoZSBmbG93Lg0KPiAt
ICAgICAgKi8NCj4gICAgICAgaWYgKGZpbmQgPT0gMCkgew0KPiAtICAgICAgICAgICAgIGl0ZW1f
aWR4ID0gaW5zZXJ0X25ld19pdGVtKHRibCwgcGt0LCBzdGFydF90aW1lLA0KPiAtICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBJTlZBTElEX0FSUkFZX0lOREVYLCBzZW50X3NlcSwgaXBfaWQs
DQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX2F0b21pYyk7DQo+ICsgICAgICAg
ICAgICAgc2VudF9zZXEgPSBydGVfYmVfdG9fY3B1XzMyKHRjcF9oZHItPnNlbnRfc2VxKTsNCj4g
KyAgICAgICAgICAgICBpdGVtX2lkeCA9IGluc2VydF9uZXdfdGNwX2l0ZW0ocGt0LCB0YmwtPml0
ZW1zLCAmdGJsLQ0KPiA+aXRlbV9udW0sIHRibC0+bWF4X2l0ZW1fbnVtLCBzdGFydF90aW1lLA0K
PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5WQUxJRF9B
UlJBWV9JTkRFWCwNCj4gc2VudF9zZXEsIGlwX2lkLA0KPiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaXNfYXRvbWljKTsNCj4gICAgICAgICAgICAgICBpZiAo
aXRlbV9pZHggPT0gSU5WQUxJRF9BUlJBWV9JTkRFWCkNCj4gICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiAtMTsNCj4gICAgICAgICAgICAgICBpZiAoaW5zZXJ0X25ld19mbG93KHRibCwgJmtl
eSwgaXRlbV9pZHgpID09DQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOVkFMSURf
QVJSQVlfSU5ERVgpIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgIElOVkFMSURfQVJSQVlfSU5E
RVgpIHsNCj4gICAgICAgICAgICAgICAgICAgICAgIC8qDQo+ICAgICAgICAgICAgICAgICAgICAg
ICAgKiBGYWlsIHRvIGluc2VydCBhIG5ldyBmbG93LCBzbyBkZWxldGUgdGhlDQo+ICAgICAgICAg
ICAgICAgICAgICAgICAgKiBzdG9yZWQgcGFja2V0Lg0KPiAtICAgICAgICAgICAgICAgICAgICAg
ICovDQo+IC0gICAgICAgICAgICAgICAgICAgICBkZWxldGVfaXRlbSh0YmwsIGl0ZW1faWR4LCBJ
TlZBTElEX0FSUkFZX0lOREVYKTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICovDQo+ICsgICAg
ICAgICAgICAgICAgICAgICBkZWxldGVfdGNwX2l0ZW0odGJsLT5pdGVtcywgaXRlbV9pZHgsICZ0
YmwtDQo+ID5pdGVtX251bSwNCj4gK0lOVkFMSURfQVJSQVlfSU5ERVgpOw0KPiAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiAgICAgICAgICAgICAgIH0NCj4gICAgICAgICAgICAg
ICByZXR1cm4gMDsNCj4gICAgICAgfQ0KPiArICAgICBpdGVtX2lkeCA9IHRibC0+Zmxvd3NbaV0u
c3RhcnRfaW5kZXg7DQoNCk5vIG5lZWQgdG8gdXBkYXRlIGl0ZW1faWR4LCBhbmQgeW91IGNhbiBk
aXJlY3RseSBwYXNzIHRibC0+Zmxvd3NbaV0uc3RhcnRfaW5kZXggdG8NCmdyb19wcm9jZXNzX3Rj
cF9pdGVtKCkuIEFuZCBzYW1lIGluIGdyb190Y3A2X3JlYXNzZW1ibGUoKS4NCg0KPg0KPiAtICAg
ICAvKg0KPiAtICAgICAgKiBDaGVjayBhbGwgcGFja2V0cyBpbiB0aGUgZmxvdyBhbmQgdHJ5IHRv
IGZpbmQgYSBuZWlnaGJvciBmb3INCj4gLSAgICAgICogdGhlIGlucHV0IHBhY2tldC4NCj4gLSAg
ICAgICovDQo+IC0gICAgIGN1cl9pZHggPSB0YmwtPmZsb3dzW2ldLnN0YXJ0X2luZGV4Ow0KPiAt
ICAgICBwcmV2X2lkeCA9IGN1cl9pZHg7DQo+IC0gICAgIGRvIHsNCj4gLSAgICAgICAgICAgICBj
bXAgPSBjaGVja19zZXFfb3B0aW9uKCYodGJsLT5pdGVtc1tjdXJfaWR4XSksIHRjcF9oZHIsDQo+
IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbnRfc2VxLCBpcF9pZCwgcGt0LT5sNF9s
ZW4sIHRjcF9kbCwgMCwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfYXRvbWlj
KTsNCj4gLSAgICAgICAgICAgICBpZiAoY21wKSB7DQo+IC0gICAgICAgICAgICAgICAgICAgICBp
ZiAobWVyZ2VfdHdvX3RjcDRfcGFja2V0cygmKHRibC0+aXRlbXNbY3VyX2lkeF0pLA0KPiAtICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGt0LCBjbXAsIHNlbnRf
c2VxLCBpcF9pZCwgMCkpDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAx
Ow0KPiAtICAgICAgICAgICAgICAgICAgICAgLyoNCj4gLSAgICAgICAgICAgICAgICAgICAgICAq
IEZhaWwgdG8gbWVyZ2UgdGhlIHR3byBwYWNrZXRzLCBhcyB0aGUgcGFja2V0DQo+IC0gICAgICAg
ICAgICAgICAgICAgICAgKiBsZW5ndGggaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXggdmFsdWUuIFN0
b3JlDQo+IC0gICAgICAgICAgICAgICAgICAgICAgKiB0aGUgcGFja2V0IGludG8gdGhlIGZsb3cu
DQo+IC0gICAgICAgICAgICAgICAgICAgICAgKi8NCj4gLSAgICAgICAgICAgICAgICAgICAgIGlm
IChpbnNlcnRfbmV3X2l0ZW0odGJsLCBwa3QsIHN0YXJ0X3RpbWUsIGN1cl9pZHgsDQo+IC0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50X3NlcSwgaXBfaWQs
IGlzX2F0b21pYykgPT0NCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ
TlZBTElEX0FSUkFZX0lOREVYKQ0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4gLTE7DQo+IC0gICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gLSAgICAgICAgICAg
ICB9DQo+IC0gICAgICAgICAgICAgcHJldl9pZHggPSBjdXJfaWR4Ow0KPiAtICAgICAgICAgICAg
IGN1cl9pZHggPSB0YmwtPml0ZW1zW2N1cl9pZHhdLm5leHRfcGt0X2lkeDsNCj4gLSAgICAgfSB3
aGlsZSAoY3VyX2lkeCAhPSBJTlZBTElEX0FSUkFZX0lOREVYKTsNCj4gKyAgICAgcmV0dXJuIGdy
b19wcm9jZXNzX3RjcF9pdGVtKHBrdCwgdGNwX2hkciwgdGNwX2RsLCB0YmwtPml0ZW1zLA0KPiBp
dGVtX2lkeCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZ0YmwtPml0ZW1fbnVtLCB0YmwtDQo+ID5tYXhfaXRlbV9udW0sDQo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcF9pZCwgaXNfYXRvbWljLCBzdGFydF90
aW1lKTsNCj4gK30NCj4NCj4gLSAgICAgLyogRmFpbCB0byBmaW5kIGEgbmVpZ2hib3IsIHNvIHN0
b3JlIHRoZSBwYWNrZXQgaW50byB0aGUgZmxvdy4gKi8NCj4gLSAgICAgaWYgKGluc2VydF9uZXdf
aXRlbSh0YmwsIHBrdCwgc3RhcnRfdGltZSwgcHJldl9pZHgsIHNlbnRfc2VxLA0KPiAtICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpcF9pZCwgaXNfYXRvbWljKSA9PSBJTlZBTElEX0FSUkFZ
X0lOREVYKQ0KPiAtICAgICAgICAgICAgIHJldHVybiAtMTsNCg==

--_000_CY5PR11MB6487301D428831080CBC17089251ACY5PR11MB6487namp_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkRlbmdYaWFuOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAx
IDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUg
NSAyIDIgMiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IlxARGVuZ1hpYW4i
Ow0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMg
Ki8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBp
bjsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlm
O30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0K
CWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpzcGFuLkVtYWlsU3R5
bGUxOA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglmb250LWZhbWlseToiQ2Fs
aWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCi5Nc29DaHBEZWZhdWx0DQoJ
e21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5z
LXNlcmlmO30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBpbjsNCgltYXJn
aW46MS4waW4gMS4waW4gMS4waW4gMS4waW47fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldv
cmRTZWN0aW9uMTt9DQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hh
cGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4NCjwveG1sPjwhW2VuZGlm
XS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQi
Pg0KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQo8L286c2hhcGVsYXlvdXQ+PC94
bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5nPSJFTi1VUyIgbGluaz0iYmx1ZSIg
dmxpbms9InB1cnBsZSIgc3R5bGU9IndvcmQtd3JhcDpicmVhay13b3JkIj4NCjxkaXYgY2xhc3M9
IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5IaSBLdW1hcmEsPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPkluIHlvdXIgcmVwbGllZCBtYWlsLCB0aGUgbGluZSBkb2VzbuKAmXQg
cHJlZmFjZSB3aXRoIOKAnCZndDvigJ0gYW5kIGl04oCZcyBoYXJkIHRvIGZpbmQgeW91ciByZXBs
aWVzLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+U28gSSByZXBseSBoZXJl
LiBJbiBncm9fdGNwNF9yZWFzc2VtYmxlKCksIEkgbWVhbiB0aGVyZSBpcyBubyBuZWVkIHRvIHN3
aXRjaCB0aGUgc2VxdWVuY2VzPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5v
ZiB0Y3BfaGRyIGFuZCBzZW50X3NlcSBkZWZpbml0aW9uIHN0YXRlbWVudHMgaW4gdGhlIGNvZGUs
IHJhdGhlciB0aGFuIG5vdCB1cGRhdGluZyB0aGVtLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5U
aGFua3MsPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5KaWF5dTxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8ZGl2
IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6
MGluIDBpbiAwaW4gNC4wcHQiPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRl
ci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluIj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxiPkZyb206PC9iPiBrdW1hcmFwYXJhbWVzaHdhcmFuIHJhdGhp
bmF2ZWwgJmx0O2t1bWFyYXBhcmFtZXNoOTJAZ21haWwuY29tJmd0Ow0KPGJyPg0KPGI+U2VudDo8
L2I+IEZyaWRheSwgSnVuZSA5LCAyMDIzIDEyOjUyIEFNPGJyPg0KPGI+VG86PC9iPiBIdSwgSmlh
eXUgJmx0O2ppYXl1Lmh1QGludGVsLmNvbSZndDs8YnI+DQo8Yj5DYzo8L2I+IGRldkBkcGRrLm9y
Zzxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogW1BBVENIIHY0XSBncm8gOiBpcHY2IGNoYW5nZXMg
dG8gc3VwcG9ydCBHUk8gZm9yIFRDUC9pcHY2PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPGRp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5IaSBKaXlhdSw8bzpwPjwvbzpwPjwvcD4N
CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhhbmtzIGZvciB0aGUgcXVp
Y2sgcmV2aWV3IGNvbW1lbnRzLiBXaWxsIGFkZHJlc3MgdGhlIHJldmlldyBjb21tZW50cy4gUmVx
dWlyZSBjbGFyaWZpY2F0aW9uIGluIG9uZSBvZiB0aGUgY29tbWVudHMuIFBsZWFzZSBmaW5kIGl0
IGlubGluZS4NCjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj5PbiBUaHUsIEp1biA4LCAyMDIzIGF0IDk6MzXigK9BTSBIdSwgSmlheXUgJmx0Ozxh
IGhyZWY9Im1haWx0bzpqaWF5dS5odUBpbnRlbC5jb20iPmppYXl1Lmh1QGludGVsLmNvbTwvYT4m
Z3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9y
ZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4g
MGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowaW4iPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+SGkgS3VtYXJhLDxicj4NCjxicj4NClBsZWFzZSBzZWUgcmVwbGllcyBpbmxp
bmUuPGJyPg0KPGJyPg0KSW4gYWRkaXRpb24sIHlvdSBuZWVkIHRvIHVwZGF0ZSB0aGUgcHJvZ3Jh
bW1lciBndWlkZSBpbiBnZW5lcmljX3JlY2VpdmVfb2ZmbG9hZF9saWIucnN0LDxicj4NCmFuZCBy
ZWxlYXNlIG5vdGUgcmVsZWFzZV8yM18wNy5yc3QuPGJyPg0KPGJyPg0KVGhhbmtzLDxicj4NCkpp
YXl1PGJyPg0KPGJyPg0KJmd0OyAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLTxicj4NCiZndDsg
RnJvbTogS3VtYXJhIFBhcmFtZXNod2FyYW4gJmx0OzxhIGhyZWY9Im1haWx0bzprdW1hcmFwYXJh
bWVzaDkyQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmt1bWFyYXBhcmFtZXNoOTJAZ21haWwu
Y29tPC9hPiZndDs8YnI+DQomZ3Q7IFNlbnQ6IFR1ZXNkYXksIEp1bmUgNiwgMjAyMyAxMDo1OCBQ
TTxicj4NCiZndDsgVG86IEh1LCBKaWF5dSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmppYXl1Lmh1QGlu
dGVsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmppYXl1Lmh1QGludGVsLmNvbTwvYT4mZ3Q7PGJyPg0K
Jmd0OyBDYzogPGEgaHJlZj0ibWFpbHRvOmRldkBkcGRrLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPmRl
dkBkcGRrLm9yZzwvYT47IEt1bWFyYSBQYXJhbWVzaHdhcmFuPGJyPg0KJmd0OyAmbHQ7PGEgaHJl
Zj0ibWFpbHRvOmt1bWFyYXBhcmFtZXNoOTJAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+a3Vt
YXJhcGFyYW1lc2g5MkBnbWFpbC5jb208L2E+Jmd0Ozxicj4NCiZndDsgU3ViamVjdDogW1BBVENI
IHY0XSBncm8gOiBpcHY2IGNoYW5nZXMgdG8gc3VwcG9ydCBHUk8gZm9yIFRDUC9pcHY2PGJyPg0K
Jmd0OyA8YnI+DQomZ3Q7IFRoZSBwYXRjaCBhZGRzIEdSTyBzdXBwb3J0IGZvciBUQ1AvaXB2NiBw
YWNrZXRzLiBUaGlzIGRvZXMgbm90IGluY2x1ZGUgdGhlPGJyPg0KJmd0OyBzdXBwb3J0IGZvciB2
eGxhbiwgdWRwIGlwdjYgcGFja2V0cy48YnI+DQomZ3Q7IDxicj4NCiZndDsgU2lnbmVkLW9mZi1i
eTogS3VtYXJhIFBhcmFtZXNod2FyYW4gJmx0OzxhIGhyZWY9Im1haWx0bzprdW1hcmFwYXJhbWVz
aDkyQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmt1bWFyYXBhcmFtZXNoOTJAZ21haWwuY29t
PC9hPiZndDsmZ3Q7DQo8YnI+DQomZ3Q7IGRpZmYgLS1naXQgYS9saWIvZ3JvL2dyb190Y3AuYyBi
L2xpYi9ncm8vZ3JvX3RjcC5jIG5ldyBmaWxlIG1vZGUgMTAwNjQ0IGluZGV4PGJyPg0KJmd0OyAw
MDAwMDAwMDAwLi4wMmE3ZDBmOGM1PGJyPg0KJmd0OyAtLS0gL2Rldi9udWxsPGJyPg0KJmd0OyAr
KysgYi9saWIvZ3JvL2dyb190Y3AuYzxicj4NCjxicj4NCkZvciBncm9fdGNwLmMgYW5kIGdyb190
Y3AuaCwgaXQncyBiZXR0ZXIgdG8gYWRkICZxdW90O19pbnRlcm5hbCZxdW90OyBpbiB0aGUgZmls
ZSBuYW1lLjxicj4NCjxicj4NCiZndDsgQEAgLTAsMCArMSwxMjggQEA8YnI+DQomZ3Q7ICsvKiBT
UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlPGJyPg0KJmd0OyArICogQ29weXJp
Z2h0KGMpIDIwMTcgSW50ZWwgQ29ycG9yYXRpb248YnI+DQomZ3Q7ICsgKi88YnI+DQomZ3Q7ICsj
aW5jbHVkZSAmbHQ7cnRlX21hbGxvYy5oJmd0Ozxicj4NCiZndDsgKyNpbmNsdWRlICZsdDtydGVf
bWJ1Zi5oJmd0Ozxicj4NCiZndDsgKyNpbmNsdWRlICZsdDtydGVfZXRoZGV2LmgmZ3Q7PGJyPg0K
Jmd0OyArPGJyPg0KJmd0OyArI2luY2x1ZGUgJnF1b3Q7Z3JvX3RjcC5oJnF1b3Q7PGJyPg0KJmd0
OyArPGJyPg0KJmd0OyArc3RhdGljIGlubGluZSB1aW50MzJfdDxicj4NCiZndDsgK2ZpbmRfYW5f
ZW1wdHlfaXRlbShzdHJ1Y3QgZ3JvX3RjcF9pdGVtICppdGVtcyw8YnI+DQomZ3Q7ICsmbmJzcDsg
Jm5ic3A7ICZuYnNwO3VpbnQzMl90IG1heF9pdGVtX251bSk8YnI+DQomZ3Q7ICt7PGJyPg0KJmd0
OyArJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50MzJfdCBpOzxicj4NCiZndDsgKzxicj4NCiZndDsg
KyZuYnNwOyAmbmJzcDsgJm5ic3A7Zm9yIChpID0gMDsgaSAmbHQ7IG1heF9pdGVtX251bTsgaSsr
KTxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwO2lmIChpdGVtc1tpXS5maXJzdHNlZyA9PSBOVUxMKTxicj4NCiZndDsgKyZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDtyZXR1cm4gaTs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiBJ
TlZBTElEX0FSUkFZX0lOREVYOzxicj4NCiZndDsgK308YnI+DQomZ3Q7ICs8YnI+DQomZ3Q7ICt1
aW50MzJfdDxicj4NCiZndDsgK2luc2VydF9uZXdfdGNwX2l0ZW0oc3RydWN0IHJ0ZV9tYnVmICpw
a3QsPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7c3RydWN0IGdyb190Y3BfaXRlbSAqaXRlbXMsPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDMyX3QgKml0ZW1fbnVtLDxi
cj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
O3VpbnQzMl90IG1heF9pdGVtX251bSw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50NjRfdCBzdGFydF90aW1lLDxicj4NCiZndDsg
KyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQzMl90
IHByZXZfaWR4LDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwO3VpbnQzMl90IHNlbnRfc2VxLDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQxNl90IGlwX2lkLDxicj4NCiZn
dDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQ4
X3QgaXNfYXRvbWljKTxicj4NCjxicj4NClRoaXMgZnVuY3Rpb24gY2FuIGJlIGlubGluZS48YnI+
DQo8YnI+DQomZ3Q7ICt7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50MzJfdCBp
dGVtX2lkeDs8YnI+DQomZ3Q7ICs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO2l0ZW1f
aWR4ID0gZmluZF9hbl9lbXB0eV9pdGVtKGl0ZW1zLCBtYXhfaXRlbV9udW0pOzxicj4NCiZndDsg
KyZuYnNwOyAmbmJzcDsgJm5ic3A7aWYgKGl0ZW1faWR4ID09IElOVkFMSURfQVJSQVlfSU5ERVgp
PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7cmV0dXJuIElOVkFMSURfQVJSQVlfSU5ERVg7PGJyPg0KJmd0OyArPGJyPg0KJmd0OyArJm5i
c3A7ICZuYnNwOyAmbmJzcDtpdGVtc1tpdGVtX2lkeF0uZmlyc3RzZWcgPSBwa3Q7PGJyPg0KJmd0
OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtpdGVtc1tpdGVtX2lkeF0ubGFzdHNlZyA9IHJ0ZV9wa3Rt
YnVmX2xhc3RzZWcocGt0KTs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO2l0ZW1zW2l0
ZW1faWR4XS5zdGFydF90aW1lID0gc3RhcnRfdGltZTs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7
ICZuYnNwO2l0ZW1zW2l0ZW1faWR4XS5uZXh0X3BrdF9pZHggPSBJTlZBTElEX0FSUkFZX0lOREVY
Ozxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7aXRlbXNbaXRlbV9pZHhdLnNlbnRfc2Vx
ID0gc2VudF9zZXE7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtpdGVtc1tpdGVtX2lk
eF0uaXBfaWQgPSBpcF9pZDs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO2l0ZW1zW2l0
ZW1faWR4XS5uYl9tZXJnZWQgPSAxOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7aXRl
bXNbaXRlbV9pZHhdLmlzX2F0b21pYyA9IGlzX2F0b21pYzs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5i
c3A7ICZuYnNwOygqaXRlbV9udW0pICs9IDE7PGJyPg0KJmd0OyArPGJyPg0KJmd0OyArJm5ic3A7
ICZuYnNwOyAmbmJzcDsvKiBpZiB0aGUgcHJldmlvdXMgcGFja2V0IGV4aXN0cywgY2hhaW4gdGhl
bSB0b2dldGhlci4gKi88YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO2lmIChwcmV2X2lk
eCAhPSBJTlZBTElEX0FSUkFZX0lOREVYKSB7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aXRlbXNbaXRlbV9pZHhdLm5leHRfcGt0X2lk
eCA9PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2l0ZW1zW3ByZXZfaWR4XS5uZXh0X3Br
dF9pZHg7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7aXRlbXNbcHJldl9pZHhdLm5leHRfcGt0X2lkeCA9IGl0ZW1faWR4Ozxicj4NCiZn
dDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7fTxicj4NCiZndDsgKzxicj4NCiZndDsgKyZuYnNwOyAm
bmJzcDsgJm5ic3A7cmV0dXJuIGl0ZW1faWR4Ozxicj4NCiZndDsgK308YnI+DQomZ3Q7ICs8YnI+
DQomZ3Q7ICt1aW50MzJfdDxicj4NCiZndDsgK2RlbGV0ZV90Y3BfaXRlbShzdHJ1Y3QgZ3JvX3Rj
cF9pdGVtICppdGVtcywgdWludDMyX3QgaXRlbV9pZHgsPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDMyX3QgKml0ZW1fbnVtLDxi
cj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
O3VpbnQzMl90IHByZXZfaXRlbV9pZHgpPGJyPg0KJmd0OyArezxicj4NCiZndDsgKyZuYnNwOyAm
bmJzcDsgJm5ic3A7dWludDMyX3QgbmV4dF9pZHggPSBpdGVtc1tpdGVtX2lkeF0ubmV4dF9wa3Rf
aWR4Ozxicj4NCiZndDsgKzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7LyogTlVMTCBp
bmRpY2F0ZXMgYW4gZW1wdHkgaXRlbSAqLzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7
aXRlbXNbaXRlbV9pZHhdLmZpcnN0c2VnID0gTlVMTDs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7
ICZuYnNwOygqaXRlbV9udW0pIC09IDE7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtp
ZiAocHJldl9pdGVtX2lkeCAhPSBJTlZBTElEX0FSUkFZX0lOREVYKTxicj4NCiZndDsgKyZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2l0ZW1zW3ByZXZfaXRl
bV9pZHhdLm5leHRfcGt0X2lkeCA9IG5leHRfaWR4Ozxicj4NCiZndDsgKzxicj4NCiZndDsgKyZu
YnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuIG5leHRfaWR4Ozxicj4NCiZndDsgK308YnI+DQo8YnI+
DQpUaGlzIGZ1bmN0aW9uIGNhbiBiZSBpbmxpbmUuPGJyPg0KPGJyPg0KJmd0OyArPGJyPg0KJmd0
OyAraW50MzJfdDxicj4NCiZndDsgK2dyb19wcm9jZXNzX3RjcF9pdGVtKHN0cnVjdCBydGVfbWJ1
ZiAqcGt0LDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7c3RydWN0IHJ0ZV90Y3BfaGRy
ICp0Y3BfaGRyLDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7aW50MzJfdCB0Y3BfZGws
PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtzdHJ1Y3QgZ3JvX3RjcF9pdGVtICppdGVt
cyw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQzMl90IGl0ZW1faWR4LDxicj4N
CiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDMyX3QgKml0ZW1fbnVtLDxicj4NCiZndDsg
KyZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDMyX3QgbWF4X2l0ZW1fbnVtLDxicj4NCiZndDsgKyZu
YnNwOyAmbmJzcDsgJm5ic3A7dWludDE2X3QgaXBfaWQsPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNw
OyAmbmJzcDt1aW50OF90IGlzX2F0b21pYyw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNw
O3VpbnQ2NF90IHN0YXJ0X3RpbWUpPGJyPg0KPGJyPg0KSXQgaXMgZm9yIGludGVybmFsIHVzZSwg
c28gaXQncyBiZXR0ZXIgdG8gcmVtb3ZlICZxdW90O2dyb18mcXVvdDsgZnJvbSB0aGUgZnVuY3Rp
b24gbmFtZS48YnI+DQo8YnI+DQomZ3Q7ICt7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJz
cDt1aW50MzJfdCBjdXJfaWR4Ozxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDMy
X3QgcHJldl9pZHg7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtpbnQgY21wOzxicj4N
CiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDMyX3Qgc2VudF9zZXE7PGJyPg0KJmd0OyAr
PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtzZW50X3NlcSA9IHJ0ZV9iZV90b19jcHVf
MzIodGNwX2hkci0mZ3Q7c2VudF9zZXEpOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7
Lyo8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAqIENoZWNrIGFsbCBwYWNrZXRzIGlu
IHRoZSBmbG93IGFuZCB0cnkgdG8gZmluZCBhIG5laWdoYm9yIGZvcjxicj4NCiZndDsgKyZuYnNw
OyAmbmJzcDsgJm5ic3A7ICogdGhlIGlucHV0IHBhY2tldC48YnI+DQomZ3Q7ICsmbmJzcDsgJm5i
c3A7ICZuYnNwOyAqLzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7Y3VyX2lkeCA9IGl0
ZW1faWR4Ozxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7cHJldl9pZHggPSBjdXJfaWR4
Ozxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ZG8gezxicj4NCiZndDsgKyZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2NtcCA9IGNoZWNrX3NlcV9v
cHRpb24oJmFtcDtpdGVtc1tjdXJfaWR4XSwgdGNwX2hkciw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3NlbnRfc2VxLCBpcF9pZCwgcGt0
LSZndDtsNF9sZW4sIHRjcF9kbCwgMCw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2lzX2F0b21pYyk7PGJyPg0KJmd0OyArJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aWYgKGNtcCkgezxicj4NCiZn
dDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiAobWVyZ2VfdHdvX3RjcF9wYWNrZXRzKCZhbXA7aXRl
bXNbY3VyX2lkeF0sPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwO3BrdCwgY21wLCBzZW50X3NlcSwgaXBfaWQsIDApKTxicj4NCiZndDsgKyZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuIDE7PGJy
Pg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy8qPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAqIEZhaWwgdG8gbWVyZ2UgdGhlIHR3byBwYWNrZXRzLCBhcyB0aGUgcGFja2V0PGJyPg0K
Jmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAqIGxlbmd0aCBpcyBncmVhdGVyIHRoYW4gdGhlIG1h
eCB2YWx1ZS4gU3RvcmU8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICogdGhlIHBhY2tl
dCBpbnRvIHRoZSBmbG93Ljxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKi88YnI+DQom
Z3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aWYgKGluc2VydF9uZXdfdGNwX2l0ZW0ocGt0LCBpdGVt
cywgaXRlbV9udW0sPGJyPg0KJmd0OyBtYXhfaXRlbV9udW0sIHN0YXJ0X3RpbWUsIGN1cl9pZHgs
PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
O3NlbnRfc2VxLCBpcF9pZCwgaXNfYXRvbWljKSA9PTxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwO0lOVkFMSURfQVJSQVlfSU5ERVgpPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtyZXR1cm4gLTE7PGJyPg0KJmd0OyArJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwO3JldHVybiAwOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwO308YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtwcmV2X2lkeCA9IGN1cl9pZHg7PGJyPg0KJmd0OyAr
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Y3VyX2lkeCA9
IGl0ZW1zW2N1cl9pZHhdLm5leHRfcGt0X2lkeDs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZu
YnNwO30gd2hpbGUgKGN1cl9pZHggIT0gSU5WQUxJRF9BUlJBWV9JTkRFWCk7PGJyPg0KJmd0OyAr
PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsvKiBGYWlsIHRvIGZpbmQgYSBuZWlnaGJv
ciwgc28gc3RvcmUgdGhlIHBhY2tldCBpbnRvIHRoZSBmbG93LiAqLzxicj4NCiZndDsgKyZuYnNw
OyAmbmJzcDsgJm5ic3A7aWYgKGluc2VydF9uZXdfdGNwX2l0ZW0ocGt0LCBpdGVtcywgaXRlbV9u
dW0sIG1heF9pdGVtX251bSw8YnI+DQomZ3Q7IHN0YXJ0X3RpbWUsIHByZXZfaWR4LCBzZW50X3Nl
cSw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwO2lwX2lkLCBpc19hdG9taWMpID09IElOVkFMSURfQVJSQVlfSU5ERVgpPGJyPg0KJmd0OyAr
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuIC0x
Ozxicj4NCiZndDsgKzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuIDA7PGJy
Pg0KJmd0OyArfTxicj4NCiZndDsgZGlmZiAtLWdpdCBhL2xpYi9ncm8vZ3JvX3RjcC5oIGIvbGli
L2dyby9ncm9fdGNwLmggbmV3IGZpbGUgbW9kZSAxMDA2NDQgaW5kZXg8YnI+DQomZ3Q7IDAwMDAw
MDAwMDAuLjRiNWI0ZWRhOWM8YnI+DQomZ3Q7IC0tLSAvZGV2L251bGw8YnI+DQomZ3Q7ICsrKyBi
L2xpYi9ncm8vZ3JvX3RjcC5oPGJyPg0KJmd0OyBAQCAtMCwwICsxLDIwOSBAQDxicj4NCiZndDsg
KyNpZm5kZWYgX0dST19UQ1BfSF88YnI+DQomZ3Q7ICsjZGVmaW5lIF9HUk9fVENQX0hfPGJyPg0K
Jmd0OyArPGJyPg0KJmd0OyArI2RlZmluZSBJTlZBTElEX0FSUkFZX0lOREVYIDB4ZmZmZmZmZmZV
TDxicj4NCiZndDsgKzxicj4NCiZndDsgKyNpbmNsdWRlICZsdDtydGVfdGNwLmgmZ3Q7PGJyPg0K
Jmd0OyArPGJyPg0KJmd0OyArLyo8YnI+DQomZ3Q7ICsgKiBUaGUgbWF4IGxlbmd0aCBvZiBhIElQ
djQgcGFja2V0LCB3aGljaCBpbmNsdWRlcyB0aGUgbGVuZ3RoIG9mIHRoZSBMMzxicj4NCiZndDsg
KyAqIGhlYWRlciwgdGhlIEw0IGhlYWRlciBhbmQgdGhlIGRhdGEgcGF5bG9hZC48YnI+DQomZ3Q7
ICsgKi88YnI+DQomZ3Q7ICsjZGVmaW5lIE1BWF9JUF9QS1RfTEVOR1RIIFVJTlQxNl9NQVg8YnI+
DQomZ3Q7ICs8YnI+DQomZ3Q7ICsvKiBUaGUgbWF4aW11bSBUQ1AgaGVhZGVyIGxlbmd0aCAqLzxi
cj4NCiZndDsgKyNkZWZpbmUgTUFYX1RDUF9ITEVOIDYwPGJyPg0KJmd0OyArI2RlZmluZSBJTlZB
TElEX1RDUF9IRFJMRU4obGVuKSBcPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsoKChs
ZW4pICZsdDsgc2l6ZW9mKHN0cnVjdCBydGVfdGNwX2hkcikpIHx8ICgobGVuKSAmZ3Q7IE1BWF9U
Q1BfSExFTikpPGJyPg0KJmd0OyArPGJyPg0KJmd0OyArc3RydWN0IGdyb190Y3BfZmxvdyB7PGJy
Pg0KPGJyPg0KVGhpcyBzdHJ1Y3R1cmUgbmFtZSBpcyBjb25mdXNpbmcuIEluIHRoZSB1cHBlciBs
YXllciwgdGNwNCBhbmQgdGNwNiBoYXZlIGdyb190Y3A0X2Zsb3c8YnI+DQphbmQgZ3JvX3RjcDZf
Zmxvdywgd2hpY2ggcmVwcmVzZW50IGEgZmxvdy4gSW5zaWRlIGdyb190Y3A0LzZfZmxvdywgdGhl
cmUgYXJlIGtleXMsPGJyPg0KcmVwcmVzZW50ZWQgYnkgc3RydWN0IHRjcDQvNl9mbG93X2tleS4g
QnV0IGluc2lkZSBzdHJ1Y3QgdGNwNC82X2Zsb3dfa2V5LCB0aGVyZSBpczxicj4NCnN0cnVjdCBn
cm9fdGNwX2Zsb3cuIE5lZWQgdG8gcmVuYW1lIHN0cnVjdCBncm9fdGNwX2Zsb3csIGxpa2UgY29t
bW9uX3RjcF9mbG93X2tleS48YnI+DQo8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO3N0
cnVjdCBydGVfZXRoZXJfYWRkciBldGhfc2FkZHI7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAm
bmJzcDtzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIgZXRoX2RhZGRyOzxicj4NCiZndDsgKyZuYnNwOyAm
bmJzcDsgJm5ic3A7dWludDMyX3QgcmVjdl9hY2s7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAm
bmJzcDt1aW50MTZfdCBzcmNfcG9ydDs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO3Vp
bnQxNl90IGRzdF9wb3J0Ozxicj4NCiZndDsgK307PGJyPg0KJmd0OyArPGJyPg0KJmd0OyArI2Rl
ZmluZSBBU1NJR05fVENQX0ZMT1dfS0VZKGsxLCBrMikgXDxicj4NCjxicj4NCkRpdHRvLiBUaGUg
bWFjcm8gbmVlZHMgcmVuYW1lLCBsaWtlIEFTU0lHTl9DT01NT05fVENQX0ZMT1dfS0VZLjxicj4N
Cjxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ZG8ge1w8YnI+DQomZ3Q7ICsmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtydGVfZXRoZXJfYWRkcl9j
b3B5KCZhbXA7KGsxLSZndDtldGhfc2FkZHIpLCAmYW1wOyhrMi0mZ3Q7ZXRoX3NhZGRyKSk7IFw8
YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDtydGVfZXRoZXJfYWRkcl9jb3B5KCZhbXA7KGsxLSZndDtldGhfZGFkZHIpLCAmYW1wOyhrMi0m
Z3Q7ZXRoX2RhZGRyKSk7PGJyPg0KJmd0OyBcPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7azItJmd0O3JlY3ZfYWNrID0gazEtJmd0O3Jl
Y3ZfYWNrOyBcPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7azItJmd0O3NyY19wb3J0ID0gazEtJmd0O3NyY19wb3J0OyBcPGJyPg0KJmd0
OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7azItJmd0
O2RzdF9wb3J0ID0gazEtJmd0O2RzdF9wb3J0OyBcPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAm
bmJzcDt9IHdoaWxlICgwKTxicj4NCiZndDsgKzxicj4NCiZndDsgK3N0cnVjdCBncm9fdGNwX2l0
ZW0gezxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7Lyo8YnI+DQomZ3Q7ICsmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAqIFRoZSBmaXJzdCBNQlVGIHNlZ21lbnQgb2YgdGhlIHBhY2tldC4gSWYg
dGhlIHZhbHVlPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgKiBpcyBOVUxMLCBpdCBt
ZWFucyB0aGUgaXRlbSBpcyBlbXB0eS48YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAq
Lzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7c3RydWN0IHJ0ZV9tYnVmICpmaXJzdHNl
Zzs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOy8qIFRoZSBsYXN0IE1CVUYgc2VnbWVu
dCBvZiB0aGUgcGFja2V0ICovPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtzdHJ1Y3Qg
cnRlX21idWYgKmxhc3RzZWc7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsvKjxicj4N
CiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICogVGhlIHRpbWUgd2hlbiB0aGUgZmlyc3QgcGFj
a2V0IGlzIGluc2VydGVkIGludG8gdGhlIHRhYmxlLjxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICogVGhpcyB2YWx1ZSB3b24ndCBiZSB1cGRhdGVkLCBldmVuIGlmIHRoZSBwYWNrZXQg
aXMgbWVyZ2VkPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgKiB3aXRoIG90aGVyIHBh
Y2tldHMuPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgKi88YnI+DQomZ3Q7ICsmbmJz
cDsgJm5ic3A7ICZuYnNwO3VpbnQ2NF90IHN0YXJ0X3RpbWU7PGJyPg0KJmd0OyArJm5ic3A7ICZu
YnNwOyAmbmJzcDsvKjxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICogbmV4dF9wa3Rf
aWR4IGlzIHVzZWQgdG8gY2hhaW4gdGhlIHBhY2tldHMgdGhhdDxicj4NCiZndDsgKyZuYnNwOyAm
bmJzcDsgJm5ic3A7ICogYXJlIGluIHRoZSBzYW1lIGZsb3cgYnV0IGNhbid0IGJlIG1lcmdlZCB0
b2dldGhlcjxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICogKGUuZy4gY2F1c2VkIGJ5
IHBhY2tldCByZW9yZGVyaW5nKS48YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAqLzxi
cj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDMyX3QgbmV4dF9wa3RfaWR4Ozxicj4N
CiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7LyogVENQIHNlcXVlbmNlIG51bWJlciBvZiB0aGUg
cGFja2V0ICovPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50MzJfdCBzZW50X3Nl
cTs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOy8qIElQdjQgSUQgb2YgdGhlIHBhY2tl
dCAqLzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDE2X3QgaXBfaWQ7PGJyPg0K
PGJyPg0KVGhlIGlwX2lkIGZpZWxkIGlzIG5vdCB1c2VkIGJ5IHRjcDYuIEl0J3MgYmV0dGVyIHRv
IHVzZSBhbiB1bmlvbiB0byBpbmNsdWRlIGlwX2lkIGZvciBJUHY0IGFuZDxicj4NCmFuIHVzZWxl
c3MgbWVtYmVyIGZvciBJUHY2IHdpdGggc29tZSBjb21tZW50cyB0byBhdm9pZCBjb25mdXNpbmcu
PGJyPg0KPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsvKiB0aGUgbnVtYmVyIG9mIG1l
cmdlZCBwYWNrZXRzICovPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50MTZfdCBu
Yl9tZXJnZWQ7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsvKiBJbmRpY2F0ZSBpZiBJ
UHY0IElEIGNhbiBiZSBpZ25vcmVkICovPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDt1
aW50OF90IGlzX2F0b21pYzs8YnI+DQomZ3Q7ICt9Ozxicj4NCiZndDsgKzxicj4NCiZndDsgK3Vp
bnQzMl90PGJyPg0KJmd0OyAraW5zZXJ0X25ld190Y3BfaXRlbShzdHJ1Y3QgcnRlX21idWYgKnBr
dCw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDtzdHJ1Y3QgZ3JvX3RjcF9pdGVtICppdGVtcyw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50MzJfdCAqaXRlbV9udW0sPGJy
Pg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
dWludDMyX3QgdGFibGVfc2l6ZSw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50NjRfdCBzdGFydF90aW1lLDxicj4NCiZndDsgKyZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQzMl90IHBy
ZXZfaWR4LDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwO3VpbnQzMl90IHNlbnRfc2VxLDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQxNl90IGlwX2lkLDxicj4NCiZndDsg
KyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQ4X3Qg
aXNfYXRvbWljKTs8YnI+DQomZ3Q7ICs8YnI+DQomZ3Q7ICt1aW50MzJfdDxicj4NCiZndDsgK2Rl
bGV0ZV90Y3BfaXRlbShzdHJ1Y3QgZ3JvX3RjcF9pdGVtICppdGVtcyw8YnI+DQomZ3Q7ICsmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50MzJfdCBpdGVt
X2lkeCw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDt1aW50MzJfdCAqaXRlbV9udW0sPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDMyX3QgcHJldl9pdGVtX2lkeCk7PGJy
Pg0KJmd0OyArPGJyPg0KJmd0OyAraW50MzJfdDxicj4NCiZndDsgK2dyb19wcm9jZXNzX3RjcF9p
dGVtKHN0cnVjdCBydGVfbWJ1ZiAqcGt0LDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7
c3RydWN0IHJ0ZV90Y3BfaGRyICp0Y3BfaGRyLDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5i
c3A7aW50MzJfdCB0Y3BfZGwsPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtzdHJ1Y3Qg
Z3JvX3RjcF9pdGVtICppdGVtcyw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQz
Ml90IGl0ZW1faWR4LDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDMyX3QgKml0
ZW1fbnVtLDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDMyX3QgdGFibGVfc2l6
ZSw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQxNl90IGlwX2lkLDxicj4NCiZn
dDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDhfdCBpc19hdG9taWMsPGJyPg0KJmd0OyArJm5i
c3A7ICZuYnNwOyAmbmJzcDt1aW50NjRfdCBzdGFydF90aW1lKTs8YnI+DQomZ3Q7ICs8YnI+DQom
Z3Q7ICsvKjxicj4NCiZndDsgKyAqIE1lcmdlIHR3byBUQ1AgcGFja2V0cyB3aXRob3V0IHVwZGF0
aW5nIGNoZWNrc3Vtcy48YnI+DQomZ3Q7ICsgKiBJZiBjbXAgaXMgbGFyZ2VyIHRoYW4gMCwgYXBw
ZW5kIHRoZSBuZXcgcGFja2V0IHRvIHRoZTxicj4NCiZndDsgKyAqIG9yaWdpbmFsIHBhY2tldC4g
T3RoZXJ3aXNlLCBwcmUtcGVuZCB0aGUgbmV3IHBhY2tldCB0bzxicj4NCiZndDsgKyAqIHRoZSBv
cmlnaW5hbCBwYWNrZXQuPGJyPg0KJmd0OyArICovPGJyPg0KJmd0OyArc3RhdGljIGlubGluZSBp
bnQ8YnI+DQomZ3Q7ICttZXJnZV90d29fdGNwX3BhY2tldHMoc3RydWN0IGdyb190Y3BfaXRlbSAq
aXRlbSw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDtzdHJ1Y3QgcnRlX21idWYgKnBrdCw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpbnQgY21wLDxicj4NCiZndDsgKyZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQzMl90IHNlbnRf
c2VxLDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwO3VpbnQxNl90IGlwX2lkLDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQxNl90IGwyX29mZnNldCk8YnI+DQomZ3Q7ICt7
PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtzdHJ1Y3QgcnRlX21idWYgKnBrdF9oZWFk
LCAqcGt0X3RhaWwsICpsYXN0c2VnOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dWlu
dDE2X3QgaGRyX2xlbiwgbDJfbGVuOzxicj4NCiZndDsgKzxicj4NCiZndDsgKyZuYnNwOyAmbmJz
cDsgJm5ic3A7aWYgKGNtcCAmZ3Q7IDApIHs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtwa3RfaGVhZCA9IGl0ZW0tJmd0O2ZpcnN0c2Vn
Ozxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwO3BrdF90YWlsID0gcGt0Ozxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7fSBlbHNl
IHs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDtwa3RfaGVhZCA9IHBrdDs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtwa3RfdGFpbCA9IGl0ZW0tJmd0O2ZpcnN0c2VnOzxicj4N
CiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7fTxicj4NCiZndDsgKzxicj4NCiZndDsgKyZuYnNw
OyAmbmJzcDsgJm5ic3A7LyogY2hlY2sgaWYgdGhlIElQdjQgcGFja2V0IGxlbmd0aCBpcyBncmVh
dGVyIHRoYW4gdGhlIG1heCB2YWx1ZSAqLzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7
aGRyX2xlbiA9IGwyX29mZnNldCArIHBrdF9oZWFkLSZndDtsMl9sZW4gKyBwa3RfaGVhZC0mZ3Q7
bDNfbGVuICs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDtwa3RfaGVhZC0mZ3Q7bDRfbGVuOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsg
Jm5ic3A7bDJfbGVuID0gbDJfb2Zmc2V0ICZndDsgMCA/IHBrdF9oZWFkLSZndDtvdXRlcl9sMl9s
ZW4gOiBwa3RfaGVhZC0mZ3Q7bDJfbGVuOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7
aWYgKHVubGlrZWx5KHBrdF9oZWFkLSZndDtwa3RfbGVuIC0gbDJfbGVuICsgcGt0X3RhaWwtJmd0
O3BrdF9sZW4gLTxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7aGRyX2xlbiAmZ3Q7IE1BWF9JUF9QS1RfTEVOR1RIKSk8YnI+DQomZ3Q7ICsm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtyZXR1cm4gMDs8
YnI+DQomZ3Q7ICs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOy8qIHJlbW92ZSB0aGUg
cGFja2V0IGhlYWRlciBmb3IgdGhlIHRhaWwgcGFja2V0ICovPGJyPg0KJmd0OyArJm5ic3A7ICZu
YnNwOyAmbmJzcDtydGVfcGt0bWJ1Zl9hZGoocGt0X3RhaWwsIGhkcl9sZW4pOzxicj4NCiZndDsg
Kzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7LyogY2hhaW4gdHdvIHBhY2tldHMgdG9n
ZXRoZXIgKi88YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO2lmIChjbXAgJmd0OyAwKSB7
PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7aXRlbS0mZ3Q7bGFzdHNlZy0mZ3Q7bmV4dCA9IHBrdDs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpdGVtLSZndDtsYXN0c2VnID0g
cnRlX3BrdG1idWZfbGFzdHNlZyhwa3QpOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy8qIHVwZGF0ZSBJUCBJRCB0byB0aGUgbGFyZ2Vy
IHZhbHVlICovPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7aXRlbS0mZ3Q7aXBfaWQgPSBpcF9pZDs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5i
c3A7ICZuYnNwO30gZWxzZSB7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7bGFzdHNlZyA9IHJ0ZV9wa3RtYnVmX2xhc3RzZWcocGt0KTs8
YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDtsYXN0c2VnLSZndDtuZXh0ID0gaXRlbS0mZ3Q7Zmlyc3RzZWc7PGJyPg0KJmd0OyArJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aXRlbS0mZ3Q7Zmlyc3Rz
ZWcgPSBwa3Q7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7LyogdXBkYXRlIHNlbnRfc2VxIHRvIHRoZSBzbWFsbGVyIHZhbHVlICovPGJy
Pg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
aXRlbS0mZ3Q7c2VudF9zZXEgPSBzZW50X3NlcTs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpdGVtLSZndDtpcF9pZCA9IGlwX2lkOzxi
cj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7fTxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsg
Jm5ic3A7aXRlbS0mZ3Q7bmJfbWVyZ2VkKys7PGJyPg0KJmd0OyArPGJyPg0KJmd0OyArJm5ic3A7
ICZuYnNwOyAmbmJzcDsvKiB1cGRhdGUgTUJVRiBtZXRhZGF0YSBmb3IgdGhlIG1lcmdlZCBwYWNr
ZXQgKi88YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO3BrdF9oZWFkLSZndDtuYl9zZWdz
ICs9IHBrdF90YWlsLSZndDtuYl9zZWdzOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7
cGt0X2hlYWQtJmd0O3BrdF9sZW4gKz0gcGt0X3RhaWwtJmd0O3BrdF9sZW47PGJyPg0KJmd0OyAr
PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtyZXR1cm4gMTs8YnI+DQomZ3Q7ICt9PGJy
Pg0KJmd0OyArPGJyPg0KJmd0OyArLyo8YnI+DQomZ3Q7ICsgKiBDaGVjayBpZiB0d28gVENQL0lQ
djQgcGFja2V0cyBhcmUgbmVpZ2hib3JzLjxicj4NCiZndDsgKyAqLzxicj4NCiZndDsgK3N0YXRp
YyBpbmxpbmUgaW50PGJyPg0KJmd0OyArY2hlY2tfc2VxX29wdGlvbihzdHJ1Y3QgZ3JvX3RjcF9p
dGVtICppdGVtLDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwO3N0cnVjdCBydGVfdGNwX2hkciAqdGNwaCw8YnI+DQomZ3Q7ICsmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50MzJfdCBzZW50X3Nl
cSw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDt1aW50MTZfdCBpcF9pZCw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50MTZfdCB0Y3BfaGwsPGJyPg0KJmd0OyArJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDE2X3QgdGNwX2Rs
LDxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwO3VpbnQxNl90IGwyX29mZnNldCw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50OF90IGlzX2F0b21pYyk8YnI+DQomZ3Q7ICt7
PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtzdHJ1Y3QgcnRlX21idWYgKnBrdF9vcmln
ID0gaXRlbS0mZ3Q7Zmlyc3RzZWc7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtjaGFy
ICppcGhfb3JpZzs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO3N0cnVjdCBydGVfdGNw
X2hkciAqdGNwaF9vcmlnOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDE2X3Qg
bGVuLCB0Y3BfaGxfb3JpZzs8YnI+DQomZ3Q7ICs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZu
YnNwO2lwaF9vcmlnID0gKGNoYXIgKikocnRlX3BrdG1idWZfbXRvZChwa3Rfb3JpZywgY2hhciAq
KSArPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2wyX29mZnNldCArIHBrdF9vcmlnLSZn
dDtsMl9sZW4pOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dGNwaF9vcmlnID0gKHN0
cnVjdCBydGVfdGNwX2hkciAqKShpcGhfb3JpZyArIHBrdF9vcmlnLSZndDtsM19sZW4pOzxicj4N
CiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dGNwX2hsX29yaWcgPSBwa3Rfb3JpZy0mZ3Q7bDRf
bGVuOzxicj4NCiZndDsgKzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7LyogQ2hlY2sg
aWYgVENQIG9wdGlvbiBmaWVsZHMgZXF1YWwgKi88YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZu
YnNwO2xlbiA9IFJURV9NQVgodGNwX2hsLCB0Y3BfaGxfb3JpZykgLSBzaXplb2Yoc3RydWN0IHJ0
ZV90Y3BfaGRyKTs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO2lmICgodGNwX2hsICE9
IHRjcF9obF9vcmlnKSB8fCAoKGxlbiAmZ3Q7IDApICZhbXA7JmFtcDs8YnI+DQomZ3Q7ICsmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyhtZW1jbXAodGNwaCAr
IDEsIHRjcGhfb3JpZyArIDEsPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7bGVuKSAhPSAw
KSkpPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7cmV0dXJuIDA7PGJyPg0KJmd0OyArPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJz
cDsvKiBEb24ndCBtZXJnZSBwYWNrZXRzIHdob3NlIERGIGJpdHMgYXJlIGRpZmZlcmVudCAqLzxi
cj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7aWYgKHVubGlrZWx5KGl0ZW0tJmd0O2lzX2F0
b21pYyBeIGlzX2F0b21pYykpPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuIDA7PGJyPg0KJmd0OyArPGJyPg0KJmd0OyArJm5i
c3A7ICZuYnNwOyAmbmJzcDsvKiBjaGVjayBpZiB0aGUgdHdvIHBhY2tldHMgYXJlIG5laWdoYm9y
cyAqLzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7bGVuID0gcGt0X29yaWctJmd0O3Br
dF9sZW4gLSBsMl9vZmZzZXQgLSBwa3Rfb3JpZy0mZ3Q7bDJfbGVuIC08YnI+DQomZ3Q7ICsmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtwa3Rfb3JpZy0mZ3Q7
bDNfbGVuIC0gdGNwX2hsX29yaWc7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiAo
KHNlbnRfc2VxID09IGl0ZW0tJmd0O3NlbnRfc2VxICsgbGVuKSAmYW1wOyZhbXA7IChpc19hdG9t
aWMgfHw8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyhpcF9pZCA9PSBpdGVtLSZndDtpcF9pZCArIDEpKSk8YnI+DQomZ3Q7ICsmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsvKiBhcHBlbmQgdGhlIG5l
dyBwYWNrZXQgKi88YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDtyZXR1cm4gMTs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO2Vs
c2UgaWYgKChzZW50X3NlcSArIHRjcF9kbCA9PSBpdGVtLSZndDtzZW50X3NlcSkgJmFtcDsmYW1w
OyAoaXNfYXRvbWljIHx8PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsoaXBfaWQgKyBpdGVtLSZndDtuYl9tZXJnZWQgPT0gaXRlbS0mZ3Q7
aXBfaWQpKSk8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsvKiBwcmUtcGVuZCB0aGUgbmV3IHBhY2tldCAqLzxicj4NCiZndDsgKyZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiAtMTs8YnI+
DQomZ3Q7ICs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiAwOzxicj4NCiZn
dDsgK308YnI+DQomZ3Q7ICs8YnI+DQomZ3Q7ICtzdGF0aWMgaW5saW5lIGludDxicj4NCiZndDsg
K2lzX3NhbWVfdGNwX2Zsb3coc3RydWN0IGdyb190Y3BfZmxvdyAqazEsIHN0cnVjdCBncm9fdGNw
X2Zsb3cgKmsyKSB7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtyZXR1cm4gKCFtZW1j
bXAoazEsIGsyLCBzaXplb2Yoc3RydWN0IGdyb190Y3BfZmxvdykpKTsgfTxicj4NCjxicj4NCkkg
dGhpbmsgdGhpcyBmdW5jdGlvbiBuZWVkcyByZW5hbWUsIGFzIHRoZSByZXN1bHQgb2YgdGhpcyBm
dW5jdGlvbiBjYW5ub3QgaWRlbnRpZnkgaWYgdGhleSBhcmUNCjxicj4NCnNhbWUgVENQIGZsb3cu
PGJyPg0KPGJyPg0KJmd0OyArPGJyPg0KJmd0OyArI2VuZGlmPGJyPg0KJmd0OyBkaWZmIC0tZ2l0
IGEvbGliL2dyby9ncm9fdGNwNC5jIGIvbGliL2dyby9ncm9fdGNwNC5jIGluZGV4PGJyPg0KJmd0
OyAwMDE0MDk2ZTYzLi5mZmMzMzc0N2M0IDEwMDY0NDxicj4NCiZndDsgLS0tIGEvbGliL2dyby9n
cm9fdGNwNC5jPGJyPg0KJmd0OyArKysgYi9saWIvZ3JvL2dyb190Y3A0LmM8YnI+DQomZ3Q7IEBA
IC03LDYgKzcsNyBAQDxicj4NCiZndDsmbmJzcDsgI2luY2x1ZGUgJmx0O3J0ZV9ldGhkZXYuaCZn
dDs8YnI+DQomZ3Q7IDxicj4NCiZndDsmbmJzcDsgI2luY2x1ZGUgJnF1b3Q7Z3JvX3RjcDQuaCZx
dW90Ozxicj4NCiZndDsgKyNpbmNsdWRlICZxdW90O2dyb190Y3AuaCZxdW90Ozxicj4NCiZndDsg
PGJyPg0KJmd0OyZuYnNwOyB2b2lkICo8YnI+DQomZ3Q7Jm5ic3A7IGdyb190Y3A0X3RibF9jcmVh
dGUodWludDE2X3Qgc29ja2V0X2lkLCBAQCAtMzAsNyArMzEsNyBAQDxicj4NCiZndDsgZ3JvX3Rj
cDRfdGJsX2NyZWF0ZSh1aW50MTZfdCBzb2NrZXRfaWQsPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwO2lmICh0YmwgPT0gTlVMTCk8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiBOVUxMOzxicj4NCiZn
dDsgPGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDtzaXplID0gc2l6ZW9mKHN0cnVjdCBn
cm9fdGNwNF9pdGVtKSAqIGVudHJpZXNfbnVtOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5i
c3A7c2l6ZSA9IHNpemVvZihzdHJ1Y3QgZ3JvX3RjcF9pdGVtKSAqIGVudHJpZXNfbnVtOzxicj4N
CiZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt0YmwtJmd0O2l0ZW1zID0gcnRlX3ptYWxs
b2Nfc29ja2V0KF9fZnVuY19fLDxicj4NCiZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3Np
emUsPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7UlRFX0NBQ0hFX0xJTkVfU0la
RSw8YnI+DQomZ3Q7IEBAIC03MSwxOCArNzIsNiBAQCBncm9fdGNwNF90YmxfZGVzdHJveSh2b2lk
ICp0YmwpPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3J0ZV9mcmVlKHRjcF90
YmwpOzxicj4NCiZndDsmbmJzcDsgfTxicj4NCiZndDsgPGJyPg0KJmd0OyAtc3RhdGljIGlubGlu
ZSB1aW50MzJfdDxicj4NCiZndDsgLWZpbmRfYW5fZW1wdHlfaXRlbShzdHJ1Y3QgZ3JvX3RjcDRf
dGJsICp0YmwpIC17PGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50MzJfdCBpOzxi
cj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7dWludDMyX3QgbWF4X2l0ZW1fbnVtID0gdGJs
LSZndDttYXhfaXRlbV9udW07PGJyPg0KJmd0OyAtPGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAm
bmJzcDtmb3IgKGkgPSAwOyBpICZsdDsgbWF4X2l0ZW1fbnVtOyBpKyspPGJyPg0KJmd0OyAtJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aWYgKHRibC0mZ3Q7
aXRlbXNbaV0uZmlyc3RzZWcgPT0gTlVMTCk8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
cmV0dXJuIGk7PGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDtyZXR1cm4gSU5WQUxJRF9B
UlJBWV9JTkRFWDs8YnI+DQomZ3Q7IC19PGJyPg0KJmd0OyAtPGJyPg0KJmd0OyZuYnNwOyBzdGF0
aWMgaW5saW5lIHVpbnQzMl90PGJyPg0KJmd0OyZuYnNwOyBmaW5kX2FuX2VtcHR5X2Zsb3coc3Ry
dWN0IGdyb190Y3A0X3RibCAqdGJsKSZuYnNwOyB7IEBAIC05NSw1NiArODQsNiBAQDxicj4NCiZn
dDsgZmluZF9hbl9lbXB0eV9mbG93KHN0cnVjdCBncm9fdGNwNF90YmwgKnRibCk8YnI+DQomZ3Q7
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuIElOVkFMSURfQVJSQVlfSU5ERVg7PGJy
Pg0KJmd0OyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IC1zdGF0aWMgaW5saW5lIHVpbnQz
Ml90PGJyPg0KJmd0OyAtaW5zZXJ0X25ld19pdGVtKHN0cnVjdCBncm9fdGNwNF90YmwgKnRibCw8
YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDtzdHJ1Y3QgcnRlX21idWYgKnBrdCw8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50NjRfdCBzdGFydF90aW1lLDxicj4NCiZndDsg
LSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQzMl90
IHByZXZfaWR4LDxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwO3VpbnQzMl90IHNlbnRfc2VxLDxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQxNl90IGlwX2lkLDxicj4NCiZn
dDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3VpbnQ4
X3QgaXNfYXRvbWljKTxicj4NCiZndDsgLXs8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNw
O3VpbnQzMl90IGl0ZW1faWR4Ozxicj4NCiZndDsgLTxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsg
Jm5ic3A7aXRlbV9pZHggPSBmaW5kX2FuX2VtcHR5X2l0ZW0odGJsKTs8YnI+DQomZ3Q7IC0mbmJz
cDsgJm5ic3A7ICZuYnNwO2lmIChpdGVtX2lkeCA9PSBJTlZBTElEX0FSUkFZX0lOREVYKTxicj4N
CiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3Jl
dHVybiBJTlZBTElEX0FSUkFZX0lOREVYOzxicj4NCiZndDsgLTxicj4NCiZndDsgLSZuYnNwOyAm
bmJzcDsgJm5ic3A7dGJsLSZndDtpdGVtc1tpdGVtX2lkeF0uZmlyc3RzZWcgPSBwa3Q7PGJyPg0K
Jmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDt0YmwtJmd0O2l0ZW1zW2l0ZW1faWR4XS5sYXN0c2Vn
ID0gcnRlX3BrdG1idWZfbGFzdHNlZyhwa3QpOzxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5i
c3A7dGJsLSZndDtpdGVtc1tpdGVtX2lkeF0uc3RhcnRfdGltZSA9IHN0YXJ0X3RpbWU7PGJyPg0K
Jmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDt0YmwtJmd0O2l0ZW1zW2l0ZW1faWR4XS5uZXh0X3Br
dF9pZHggPSBJTlZBTElEX0FSUkFZX0lOREVYOzxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5i
c3A7dGJsLSZndDtpdGVtc1tpdGVtX2lkeF0uc2VudF9zZXEgPSBzZW50X3NlcTs8YnI+DQomZ3Q7
IC0mbmJzcDsgJm5ic3A7ICZuYnNwO3RibC0mZ3Q7aXRlbXNbaXRlbV9pZHhdLmlwX2lkID0gaXBf
aWQ7PGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDt0YmwtJmd0O2l0ZW1zW2l0ZW1faWR4
XS5uYl9tZXJnZWQgPSAxOzxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7dGJsLSZndDtp
dGVtc1tpdGVtX2lkeF0uaXNfYXRvbWljID0gaXNfYXRvbWljOzxicj4NCiZndDsgLSZuYnNwOyAm
bmJzcDsgJm5ic3A7dGJsLSZndDtpdGVtX251bSsrOzxicj4NCiZndDsgLTxicj4NCiZndDsgLSZu
YnNwOyAmbmJzcDsgJm5ic3A7LyogaWYgdGhlIHByZXZpb3VzIHBhY2tldCBleGlzdHMsIGNoYWlu
IHRoZW0gdG9nZXRoZXIuICovPGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiAocHJl
dl9pZHggIT0gSU5WQUxJRF9BUlJBWV9JTkRFWCkgezxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3RibC0mZ3Q7aXRlbXNbaXRlbV9pZHhd
Lm5leHRfcGt0X2lkeCA9PGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3RibC0mZ3Q7aXRl
bXNbcHJldl9pZHhdLm5leHRfcGt0X2lkeDs8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt0YmwtJmd0O2l0ZW1zW3ByZXZfaWR4XS5uZXh0
X3BrdF9pZHggPSBpdGVtX2lkeDs8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwO308YnI+
DQomZ3Q7IC08YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiBpdGVtX2lkeDs8
YnI+DQomZ3Q7IC19PGJyPg0KJmd0OyAtPGJyPg0KJmd0OyAtc3RhdGljIGlubGluZSB1aW50MzJf
dDxicj4NCiZndDsgLWRlbGV0ZV9pdGVtKHN0cnVjdCBncm9fdGNwNF90YmwgKnRibCwgdWludDMy
X3QgaXRlbV9pZHgsPGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7dWludDMyX3QgcHJldl9pdGVtX2lkeCk8YnI+DQomZ3Q7IC17PGJyPg0K
Jmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50MzJfdCBuZXh0X2lkeCA9IHRibC0mZ3Q7aXRl
bXNbaXRlbV9pZHhdLm5leHRfcGt0X2lkeDs8YnI+DQomZ3Q7IC08YnI+DQomZ3Q7IC0mbmJzcDsg
Jm5ic3A7ICZuYnNwOy8qIE5VTEwgaW5kaWNhdGVzIGFuIGVtcHR5IGl0ZW0gKi88YnI+DQomZ3Q7
IC0mbmJzcDsgJm5ic3A7ICZuYnNwO3RibC0mZ3Q7aXRlbXNbaXRlbV9pZHhdLmZpcnN0c2VnID0g
TlVMTDs8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwO3RibC0mZ3Q7aXRlbV9udW0tLTs8
YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwO2lmIChwcmV2X2l0ZW1faWR4ICE9IElOVkFM
SURfQVJSQVlfSU5ERVgpPGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7dGJsLSZndDtpdGVtc1twcmV2X2l0ZW1faWR4XS5uZXh0X3BrdF9p
ZHggPSBuZXh0X2lkeDs8YnI+DQomZ3Q7IC08YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNw
O3JldHVybiBuZXh0X2lkeDs8YnI+DQomZ3Q7IC19PGJyPg0KJmd0OyAtPGJyPg0KJmd0OyZuYnNw
OyBzdGF0aWMgaW5saW5lIHVpbnQzMl90PGJyPg0KJmd0OyZuYnNwOyBpbnNlcnRfbmV3X2Zsb3co
c3RydWN0IGdyb190Y3A0X3RibCAqdGJsLDxicj4NCiZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7c3RydWN0IHRjcDRfZmxvd19rZXkgKnNy
Yyw8YnI+DQomZ3Q7IEBAIC0xNTksMTMgKzk4LDEwIEBAIGluc2VydF9uZXdfZmxvdyhzdHJ1Y3Qg
Z3JvX3RjcDRfdGJsICp0YmwsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ZHN0ID0gJmFtcDsodGJsLSZndDtmbG93c1tmbG93X2lkeF0ua2V5KTs8YnI+DQom
Z3Q7IDxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7cnRlX2V0aGVyX2FkZHJfY29weSgm
YW1wOyhzcmMtJmd0O2V0aF9zYWRkciksICZhbXA7KGRzdC0mZ3Q7ZXRoX3NhZGRyKSk7PGJyPg0K
Jmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDtydGVfZXRoZXJfYWRkcl9jb3B5KCZhbXA7KHNyYy0m
Z3Q7ZXRoX2RhZGRyKSwgJmFtcDsoZHN0LSZndDtldGhfZGFkZHIpKTs8YnI+DQomZ3Q7ICsmbmJz
cDsgJm5ic3A7ICZuYnNwO0FTU0lHTl9UQ1BfRkxPV19LRVkoKCZhbXA7c3JjLSZndDt0Y3BfZmxv
dyksICgmYW1wO2RzdC0mZ3Q7dGNwX2Zsb3cpKTs8YnI+DQomZ3Q7ICs8YnI+DQomZ3Q7Jm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ZHN0LSZndDtpcF9zcmNfYWRkciA9IHNyYy0mZ3Q7aXBfc3Jj
X2FkZHI7PGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2RzdC0mZ3Q7aXBfZHN0
X2FkZHIgPSBzcmMtJmd0O2lwX2RzdF9hZGRyOzxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5i
c3A7ZHN0LSZndDtyZWN2X2FjayA9IHNyYy0mZ3Q7cmVjdl9hY2s7PGJyPg0KJmd0OyAtJm5ic3A7
ICZuYnNwOyAmbmJzcDtkc3QtJmd0O3NyY19wb3J0ID0gc3JjLSZndDtzcmNfcG9ydDs8YnI+DQom
Z3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwO2RzdC0mZ3Q7ZHN0X3BvcnQgPSBzcmMtJmd0O2RzdF9w
b3J0Ozxicj4NCiZndDsgPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3RibC0m
Z3Q7Zmxvd3NbZmxvd19pZHhdLnN0YXJ0X2luZGV4ID0gaXRlbV9pZHg7PGJyPg0KJmd0OyZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwO3RibC0mZ3Q7Zmxvd19udW0rKzs8YnI+DQomZ3Q7IEBAIC0x
NzMsMjEgKzEwOSw2IEBAIGluc2VydF9uZXdfZmxvdyhzdHJ1Y3QgZ3JvX3RjcDRfdGJsICp0Ymws
PGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiBmbG93X2lkeDs8YnI+
DQomZ3Q7Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsgLS8qPGJyPg0KJmd0OyAtICogdXBk
YXRlIHRoZSBwYWNrZXQgbGVuZ3RoIGZvciB0aGUgZmx1c2hlZCBwYWNrZXQuPGJyPg0KJmd0OyAt
ICovPGJyPg0KJmd0OyAtc3RhdGljIGlubGluZSB2b2lkPGJyPg0KJmd0OyAtdXBkYXRlX2hlYWRl
cihzdHJ1Y3QgZ3JvX3RjcDRfaXRlbSAqaXRlbSkgLXs8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7
ICZuYnNwO3N0cnVjdCBydGVfaXB2NF9oZHIgKmlwdjRfaGRyOzxicj4NCiZndDsgLSZuYnNwOyAm
bmJzcDsgJm5ic3A7c3RydWN0IHJ0ZV9tYnVmICpwa3QgPSBpdGVtLSZndDtmaXJzdHNlZzs8YnI+
DQomZ3Q7IC08YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwO2lwdjRfaGRyID0gKHN0cnVj
dCBydGVfaXB2NF9oZHIgKikocnRlX3BrdG1idWZfbXRvZChwa3QsIGNoYXIgKikgKzxicj4NCiZn
dDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtwa3QtJmd0O2wyX2xlbik7PGJyPg0KJmd0OyAtJm5ic3A7
ICZuYnNwOyAmbmJzcDtpcHY0X2hkci0mZ3Q7dG90YWxfbGVuZ3RoID0gcnRlX2NwdV90b19iZV8x
Nihwa3QtJmd0O3BrdF9sZW4gLTxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtwa3QtJmd0
O2wyX2xlbik7PGJyPg0KJmd0OyAtfTxicj4NCiZndDsgLTxicj4NCiZndDsmbmJzcDsgaW50MzJf
dDxicj4NCiZndDsmbmJzcDsgZ3JvX3RjcDRfcmVhc3NlbWJsZShzdHJ1Y3QgcnRlX21idWYgKnBr
dCw8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwO3N0cnVjdCBncm9fdGNwNF90YmwgKnRibCw8YnI+DQomZ3Q7IEBAIC0xOTUsMTYg
KzExNiwxNSBAQCBncm9fdGNwNF9yZWFzc2VtYmxlKHN0cnVjdCBydGVfbWJ1ZiAqcGt0LCZuYnNw
OyB7PGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3N0cnVjdCBydGVfZXRoZXJf
aGRyICpldGhfaGRyOzxicj4NCiZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtzdHJ1Y3Qg
cnRlX2lwdjRfaGRyICppcHY0X2hkcjs8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwO3N0
cnVjdCBydGVfdGNwX2hkciAqdGNwX2hkcjs8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNw
O3VpbnQzMl90IHNlbnRfc2VxOzxicj4NCiZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtp
bnQzMl90IHRjcF9kbDs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwO3N0cnVjdCBydGVf
dGNwX2hkciAqdGNwX2hkcjs8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7dWlu
dDE2X3QgaXBfaWQsIGhkcl9sZW4sIGZyYWdfb2ZmLCBpcF90bGVuOzxicj4NCiZndDsmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDt1aW50OF90IGlzX2F0b21pYzs8YnI+DQomZ3Q7ICsmbmJzcDsg
Jm5ic3A7ICZuYnNwO3VpbnQzMl90IHNlbnRfc2VxOzxicj4NCjxicj4NCk5vIG5lZWQgdG8gY2hh
bmdlIHRjcF9oZHIgYW5kIHNlbnRfc2VxIGhlcmUuPG86cD48L286cD48L3A+DQo8YmxvY2txdW90
ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRk
aW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowaW4i
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhlIGZsb3cgbWF0Y2hpbmcgaXMgZG9uZSBpbiB0aGUg
ZnVuY3Rpb24gYW5kIGlmIHRoZSBmbG93IGlzIG5vdCBmb3VuZCBpbnNlcnRfbmV3X3RjcF9pdGVt
IGlzIGludm9rZWQgZnJvbSB0aGlzIGZ1bmN0aW9uIGl0c2VsZi4gRGlkIHlvdSBtZWFuIHRvIG1v
dmUgdGhhdCB0byB0aGUgcHJvY2Vzc190Y3BfaXRlbSBhcyB3ZWxsPyBJZiB0aGF0IGlzIHRoZSBj
YXNlIHdlIHNob3VsZCBwYXNzIHRoZSBzdGFydF9pZHgNCiBhcyBJTlZBTElEX0FSUkFZX0lOREVY
IGFuZCBpbiBwcm9jZXNzX3RjcF9pdGVtIGNoZWNrIGlmIElOVkFMSURfQVJSQVlfSU5ERVggZG8g
YSBpbnNlcnRfbmV3X3RjcF9pdGVtIGFuZCByZXR1cm4sIGRvIG5vdCBkbyB0aGUgc2VxdW5jZSBu
dW1iZXIgY2hlY2tzIGV0Yy4NCjxvOnA+PC9vOnA+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyA8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
c3RydWN0IHRjcDRfZmxvd19rZXkga2V5Ozxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7
dWludDMyX3QgY3VyX2lkeCwgcHJldl9pZHgsIGl0ZW1faWR4Ozxicj4NCiZndDsgKyZuYnNwOyAm
bmJzcDsgJm5ic3A7dWludDMyX3QgaXRlbV9pZHg7PGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwO3VpbnQzMl90IGksIG1heF9mbG93X251bSwgcmVtYWluaW5nX2Zsb3dfbnVtOzxi
cj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7aW50IGNtcDs8YnI+DQomZ3Q7Jm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7dWludDhfdCBmaW5kOzxicj4NCiZndDsgPGJyPg0KJmd0OyZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOy8qPGJyPg0KJmd0OyBAQCAtMjE2LDcgKzEzNiw3IEBAIGdy
b190Y3A0X3JlYXNzZW1ibGUoc3RydWN0IHJ0ZV9tYnVmICpwa3QsPGJyPg0KJmd0OyA8YnI+DQom
Z3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ZXRoX2hkciA9IHJ0ZV9wa3RtYnVmX210b2Qo
cGt0LCBzdHJ1Y3QgcnRlX2V0aGVyX2hkciAqKTs8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7aXB2NF9oZHIgPSAoc3RydWN0IHJ0ZV9pcHY0X2hkciAqKSgoY2hhciAqKWV0aF9o
ZHIgKyBwa3QtJmd0O2wyX2xlbik7PGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDt0Y3Bf
aGRyID0gKHN0cnVjdCBydGVfdGNwX2hkciAqKSgoY2hhciAqKWlwdjRfaGRyICsgcGt0LSZndDts
M19sZW4pOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7dGNwX2hkciA9IHJ0ZV9wa3Rt
YnVmX210b2Rfb2Zmc2V0KHBrdCwgc3RydWN0IHJ0ZV90Y3BfaGRyICosPGJyPg0KJmd0OyArcGt0
LSZndDtsMl9sZW4gKyBwa3QtJmd0O2wzX2xlbik7PGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwO2hkcl9sZW4gPSBwa3QtJmd0O2wyX2xlbiArIHBrdC0mZ3Q7bDNfbGVuICsgcGt0
LSZndDtsNF9sZW47PGJyPg0KJmd0OyA8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7Lyo8YnI+DQomZ3Q7IEBAIC0yMzAsNyArMTUwLDYgQEAgZ3JvX3RjcDRfcmVhc3NlbWJsZShz
dHJ1Y3QgcnRlX21idWYgKnBrdCw8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
aXBfdGxlbiA9IHJ0ZV9iZV90b19jcHVfMTYoaXB2NF9oZHItJmd0O3RvdGFsX2xlbmd0aCk7PGJy
Pg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2lmIChwa3QtJmd0O3BrdF9sZW4gJmd0
OyAodWludDMyX3QpKGlwX3RsZW4gKyBwa3QtJmd0O2wyX2xlbikpPGJyPg0KJmd0OyZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtydGVfcGt0bWJ1
Zl90cmltKHBrdCwgcGt0LSZndDtwa3RfbGVuIC0gaXBfdGxlbiAtIHBrdC0mZ3Q7bDJfbGVuKTs8
YnI+DQomZ3Q7IC08YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Lyo8YnI+DQom
Z3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICogRG9uJ3QgcHJvY2VzcyB0aGUgcGFja2V0
IHdob3NlIHBheWxvYWQgbGVuZ3RoIGlzIGxlc3MgdGhhbiBvcjxicj4NCiZndDsmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgKiBlcXVhbCB0byAwLjxicj4NCiZndDsgQEAgLTIzOSw2ICsxNTgs
MTMgQEAgZ3JvX3RjcDRfcmVhc3NlbWJsZShzdHJ1Y3QgcnRlX21idWYgKnBrdCw8YnI+DQomZ3Q7
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aWYgKHRjcF9kbCAmbHQ7PSAwKTxicj4NCiZndDsm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0
dXJuIC0xOzxicj4NCiZndDsgPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDtydGVfZXRo
ZXJfYWRkcl9jb3B5KCZhbXA7KGV0aF9oZHItJmd0O3NyY19hZGRyKSw8YnI+DQomZ3Q7ICZhbXA7
KGtleS50Y3BfZmxvdy5ldGhfc2FkZHIpKTs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNw
O3J0ZV9ldGhlcl9hZGRyX2NvcHkoJmFtcDsoZXRoX2hkci0mZ3Q7ZHN0X2FkZHIpLDxicj4NCiZn
dDsgJmFtcDsoa2V5LnRjcF9mbG93LmV0aF9kYWRkcikpOzxicj4NCiZndDsgKyZuYnNwOyAmbmJz
cDsgJm5ic3A7a2V5LmlwX3NyY19hZGRyID0gaXB2NF9oZHItJmd0O3NyY19hZGRyOzxicj4NCiZn
dDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7a2V5LmlwX2RzdF9hZGRyID0gaXB2NF9oZHItJmd0O2Rz
dF9hZGRyOzxicj4NCiZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7a2V5LnRjcF9mbG93LnNyY19w
b3J0ID0gdGNwX2hkci0mZ3Q7c3JjX3BvcnQ7PGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJz
cDtrZXkudGNwX2Zsb3cuZHN0X3BvcnQgPSB0Y3BfaGRyLSZndDtkc3RfcG9ydDs8YnI+DQomZ3Q7
ICsmbmJzcDsgJm5ic3A7ICZuYnNwO2tleS50Y3BfZmxvdy5yZWN2X2FjayA9IHRjcF9oZHItJmd0
O3JlY3ZfYWNrOzxicj4NCiZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsvKjxicj4NCiZn
dDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKiBTYXZlIElQdjQgSUQgZm9yIHRoZSBwYWNr
ZXQgd2hvc2UgREYgYml0IGlzIDAuIEZvciB0aGUgcGFja2V0PGJyPg0KJmd0OyZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAqIHdob3NlIERGIGJpdCBpcyAxLCBJUHY0IElEIGlzIGlnbm9yZWQu
PGJyPg0KJmd0OyBAQCAtMjQ2LDE1ICsxNzIsNiBAQCBncm9fdGNwNF9yZWFzc2VtYmxlKHN0cnVj
dCBydGVfbWJ1ZiAqcGt0LDxicj4NCiZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtmcmFn
X29mZiA9IHJ0ZV9iZV90b19jcHVfMTYoaXB2NF9oZHItJmd0O2ZyYWdtZW50X29mZnNldCk7PGJy
Pg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2lzX2F0b21pYyA9IChmcmFnX29mZiAm
YW1wOyBSVEVfSVBWNF9IRFJfREZfRkxBRykgPT08YnI+DQomZ3Q7IFJURV9JUFY0X0hEUl9ERl9G
TEFHOzxicj4NCiZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpcF9pZCA9IGlzX2F0b21p
YyA/IDAgOiBydGVfYmVfdG9fY3B1XzE2KGlwdjRfaGRyLSZndDtwYWNrZXRfaWQpOzxicj4NCiZn
dDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7c2VudF9zZXEgPSBydGVfYmVfdG9fY3B1XzMyKHRjcF9o
ZHItJmd0O3NlbnRfc2VxKTs8YnI+DQomZ3Q7IC08YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZu
YnNwO3J0ZV9ldGhlcl9hZGRyX2NvcHkoJmFtcDsoZXRoX2hkci0mZ3Q7c3JjX2FkZHIpLCAmYW1w
OyhrZXkuZXRoX3NhZGRyKSk7PGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDtydGVfZXRo
ZXJfYWRkcl9jb3B5KCZhbXA7KGV0aF9oZHItJmd0O2RzdF9hZGRyKSwgJmFtcDsoa2V5LmV0aF9k
YWRkcikpOzxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7a2V5LmlwX3NyY19hZGRyID0g
aXB2NF9oZHItJmd0O3NyY19hZGRyOzxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7a2V5
LmlwX2RzdF9hZGRyID0gaXB2NF9oZHItJmd0O2RzdF9hZGRyOzxicj4NCiZndDsgLSZuYnNwOyAm
bmJzcDsgJm5ic3A7a2V5LnNyY19wb3J0ID0gdGNwX2hkci0mZ3Q7c3JjX3BvcnQ7PGJyPg0KJmd0
OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDtrZXkuZHN0X3BvcnQgPSB0Y3BfaGRyLSZndDtkc3RfcG9y
dDs8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwO2tleS5yZWN2X2FjayA9IHRjcF9oZHIt
Jmd0O3JlY3ZfYWNrOzxicj4NCiZndDsgPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOy8qIFNlYXJjaCBmb3IgYSBtYXRjaGVkIGZsb3cuICovPGJyPg0KJmd0OyZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwO21heF9mbG93X251bSA9IHRibC0mZ3Q7bWF4X2Zsb3dfbnVtOzxicj4N
CiZndDsgQEAgLTI3MCw2MyArMTg3LDQ0IEBAIGdyb190Y3A0X3JlYXNzZW1ibGUoc3RydWN0IHJ0
ZV9tYnVmICpwa3QsPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDt9PGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
O308YnI+DQomZ3Q7IDxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7Lyo8YnI+DQomZ3Q7
IC0mbmJzcDsgJm5ic3A7ICZuYnNwOyAqIEZhaWwgdG8gZmluZCBhIG1hdGNoZWQgZmxvdy4gSW5z
ZXJ0IGEgbmV3IGZsb3cgYW5kIHN0b3JlIHRoZTxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5i
c3A7ICogcGFja2V0IGludG8gdGhlIGZsb3cuPGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJz
cDsgKi88YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aWYgKGZpbmQgPT0gMCkg
ezxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwO2l0ZW1faWR4ID0gaW5zZXJ0X25ld19pdGVtKHRibCwgcGt0LCBzdGFydF90aW1lLDxicj4N
CiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7SU5W
QUxJRF9BUlJBWV9JTkRFWCwgc2VudF9zZXEsIGlwX2lkLDxicj4NCiZndDsgLSZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aXNfYXRvbWljKTs8YnI+DQomZ3Q7
ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtzZW50X3Nl
cSA9IHJ0ZV9iZV90b19jcHVfMzIodGNwX2hkci0mZ3Q7c2VudF9zZXEpOzxicj4NCiZndDsgKyZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2l0ZW1faWR4ID0g
aW5zZXJ0X25ld190Y3BfaXRlbShwa3QsIHRibC0mZ3Q7aXRlbXMsICZhbXA7dGJsLTxicj4NCiZn
dDsgJmd0O2l0ZW1fbnVtLCB0YmwtJmd0O21heF9pdGVtX251bSwgc3RhcnRfdGltZSw8YnI+DQom
Z3Q7ICsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7SU5WQUxJ
RF9BUlJBWV9JTkRFWCw8YnI+DQomZ3Q7IHNlbnRfc2VxLCBpcF9pZCw8YnI+DQomZ3Q7ICsmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aXNfYXRvbWljKTs8YnI+
DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwO2lmIChpdGVtX2lkeCA9PSBJTlZBTElEX0FSUkFZX0lOREVYKTxicj4NCiZndDsmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiAtMTs8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2lmIChpbnNlcnRfbmV3X2Zsb3co
dGJsLCAmYW1wO2tleSwgaXRlbV9pZHgpID09PGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtJTlZBTElEX0FSUkFZX0lOREVYKSB7PGJyPg0K
Jmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0lOVkFMSURfQVJSQVlfSU5ERVgpIHs8YnI+DQomZ3Q7
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsvKjxicj4NCiZndDsmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAqIEZhaWwgdG8gaW5zZXJ0IGEgbmV3IGZsb3csIHNvIGRlbGV0ZSB0aGU8YnI+DQom
Z3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKiBzdG9yZWQgcGFja2V0Ljxicj4NCiZndDsg
LSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgKi88YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ZGVs
ZXRlX2l0ZW0odGJsLCBpdGVtX2lkeCwgSU5WQUxJRF9BUlJBWV9JTkRFWCk7PGJyPg0KJmd0OyAr
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyovPGJyPg0KJmd0OyArJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2RlbGV0
ZV90Y3BfaXRlbSh0YmwtJmd0O2l0ZW1zLCBpdGVtX2lkeCwgJmFtcDt0YmwtPGJyPg0KJmd0OyAm
Z3Q7aXRlbV9udW0sPGJyPg0KJmd0OyArSU5WQUxJRF9BUlJBWV9JTkRFWCk7PGJyPg0KJmd0OyZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuIC0xOzxicj4NCiZndDsmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fTxicj4NCiZndDsmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJu
IDA7PGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO308YnI+DQomZ3Q7ICsmbmJz
cDsgJm5ic3A7ICZuYnNwO2l0ZW1faWR4ID0gdGJsLSZndDtmbG93c1tpXS5zdGFydF9pbmRleDs8
YnI+DQo8YnI+DQpObyBuZWVkIHRvIHVwZGF0ZSBpdGVtX2lkeCwgYW5kIHlvdSBjYW4gZGlyZWN0
bHkgcGFzcyB0YmwtJmd0O2Zsb3dzW2ldLnN0YXJ0X2luZGV4IHRvPGJyPg0KZ3JvX3Byb2Nlc3Nf
dGNwX2l0ZW0oKS4gQW5kIHNhbWUgaW4gZ3JvX3RjcDZfcmVhc3NlbWJsZSgpLjxicj4NCjxicj4N
CiZndDsgPGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDsvKjxicj4NCiZndDsgLSZuYnNw
OyAmbmJzcDsgJm5ic3A7ICogQ2hlY2sgYWxsIHBhY2tldHMgaW4gdGhlIGZsb3cgYW5kIHRyeSB0
byBmaW5kIGEgbmVpZ2hib3IgZm9yPGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDsgKiB0
aGUgaW5wdXQgcGFja2V0Ljxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICovPGJyPg0K
Jmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDtjdXJfaWR4ID0gdGJsLSZndDtmbG93c1tpXS5zdGFy
dF9pbmRleDs8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwO3ByZXZfaWR4ID0gY3VyX2lk
eDs8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwO2RvIHs8YnI+DQomZ3Q7IC0mbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtjbXAgPSBjaGVja19zZXFf
b3B0aW9uKCZhbXA7KHRibC0mZ3Q7aXRlbXNbY3VyX2lkeF0pLCB0Y3BfaGRyLDxicj4NCiZndDsg
LSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7c2VudF9zZXEs
IGlwX2lkLCBwa3QtJmd0O2w0X2xlbiwgdGNwX2RsLCAwLDxicj4NCiZndDsgLSZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aXNfYXRvbWljKTs8YnI+DQomZ3Q7
IC0mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiAoY21w
KSB7PGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2lmIChtZXJnZV90d29fdGNwNF9wYWNr
ZXRzKCZhbXA7KHRibC0mZ3Q7aXRlbXNbY3VyX2lkeF0pLDxicj4NCiZndDsgLSZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtwa3QsIGNtcCwgc2VudF9zZXEsIGlw
X2lkLCAwKSk8YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwO3JldHVybiAxOzxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsvKjxicj4N
CiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKiBGYWlsIHRvIG1lcmdlIHRoZSB0d28gcGFja2V0
cywgYXMgdGhlIHBhY2tldDxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKiBsZW5ndGgg
aXMgZ3JlYXRlciB0aGFuIHRoZSBtYXggdmFsdWUuIFN0b3JlPGJyPg0KJmd0OyAtJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAqIHRoZSBwYWNrZXQgaW50byB0aGUgZmxvdy48YnI+DQomZ3Q7IC0mbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICovPGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2lmIChpbnNlcnRf
bmV3X2l0ZW0odGJsLCBwa3QsIHN0YXJ0X3RpbWUsIGN1cl9pZHgsPGJyPg0KJmd0OyAtJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3NlbnRfc2VxLCBpcF9pZCwg
aXNfYXRvbWljKSA9PTxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0lOVkFMSURfQVJSQVlf
SU5ERVgpPGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDtyZXR1cm4gLTE7PGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiAw
Ozxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwO308YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDtwcmV2X2lkeCA9IGN1cl9pZHg7PGJyPg0KJmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Y3VyX2lkeCA9IHRibC0mZ3Q7aXRlbXNbY3Vy
X2lkeF0ubmV4dF9wa3RfaWR4Ozxicj4NCiZndDsgLSZuYnNwOyAmbmJzcDsgJm5ic3A7fSB3aGls
ZSAoY3VyX2lkeCAhPSBJTlZBTElEX0FSUkFZX0lOREVYKTs8YnI+DQomZ3Q7ICsmbmJzcDsgJm5i
c3A7ICZuYnNwO3JldHVybiBncm9fcHJvY2Vzc190Y3BfaXRlbShwa3QsIHRjcF9oZHIsIHRjcF9k
bCwgdGJsLSZndDtpdGVtcyw8YnI+DQomZ3Q7IGl0ZW1faWR4LDxicj4NCiZndDsgKyZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmYW1wO3RibC0mZ3Q7aXRlbV9u
dW0sIHRibC08YnI+DQomZ3Q7ICZndDttYXhfaXRlbV9udW0sPGJyPg0KJmd0OyArJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2lwX2lkLCBpc19hdG9taWMsIHN0
YXJ0X3RpbWUpOzxicj4NCiZndDsgK308YnI+DQomZ3Q7IDxicj4NCiZndDsgLSZuYnNwOyAmbmJz
cDsgJm5ic3A7LyogRmFpbCB0byBmaW5kIGEgbmVpZ2hib3IsIHNvIHN0b3JlIHRoZSBwYWNrZXQg
aW50byB0aGUgZmxvdy4gKi88YnI+DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwO2lmIChpbnNl
cnRfbmV3X2l0ZW0odGJsLCBwa3QsIHN0YXJ0X3RpbWUsIHByZXZfaWR4LCBzZW50X3NlcSw8YnI+
DQomZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2lw
X2lkLCBpc19hdG9taWMpID09IElOVkFMSURfQVJSQVlfSU5ERVgpPGJyPg0KJmd0OyAtJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuIC0xOzxvOnA+
PC9vOnA+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+
DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_CY5PR11MB6487301D428831080CBC17089251ACY5PR11MB6487namp_--