From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web12.10798.1611060776125191794 for ; Tue, 19 Jan 2021 04:52:56 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=rgLeNLg4; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: ray.ni@intel.com) IronPort-SDR: e6CmwjpFr6D6RR2QwpRkRL97r7/+VAN5jgBc6fmPXe9u8TSR6eK7sx+mx6EaG9KDoYpt8dhvel iazzCxm2NOOw== X-IronPort-AV: E=McAfee;i="6000,8403,9868"; a="178140968" X-IronPort-AV: E=Sophos;i="5.79,358,1602572400"; d="scan'208";a="178140968" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jan 2021 04:52:55 -0800 IronPort-SDR: 2VsNWqGribjkKWJOsui4xPXjIBQ2uyPYADdcv90HgjKQaombAjWBo9tH4yWrxWR/S8qY+Jh6j9 lFN9civISYMQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,358,1602572400"; d="scan'208";a="466688569" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga001.fm.intel.com with ESMTP; 19 Jan 2021 04:52:55 -0800 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 19 Jan 2021 04:52:54 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 19 Jan 2021 04:52:54 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.172) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 19 Jan 2021 04:52:54 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QlIzn3ye8LBOPC8if5+qi2EvA5Md1U0jXi+oP2hbECcMRpyRaJ/BzoyqsV68OPLjsBminnSrgT5N/Tt0VcQINt8KAhTdqujsY+7h5pgIId6MWxkoVizJaZbO4tl9NeYwtkTb956qdE9EYXJgcPk/tsY/1i0FGI6cBRQ/vzMPu4qPbriXcFMBheoN98ORA8u9zFyja2FztqwBETwkboUCCXcHZkTPM9i7zo+x/9/hdFAXOKCtb5q8K7ioRNg7W/64RCtJgVUlz3vwpJuRsNeivHghHj6Yq6RWZrJFBcFtRcB9XjEI+DhACZyf0X3cuPRJoFwtjEdBgIq/+9z0HQh5kA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3x/j9eUu5a6uJ5lrOgnmALDjxiGC3WiQ8qbAazplYg4=; b=cNzxucIHOdx9MvK3GAle0auRjJYRQQDxHsXgIuGwaMogw+GeEo6TuMacjw0NJGkDRquP7vJq94/e+PZX0Rbzq6usw7sSU3OlURDc4QBADJ/uPomUPTI+u+Q2A5mX3BKB6jnWaWGO4lAY1n6naL8tpcMuy7KfvpetNRS3eA7FdWJSYfomqhGCbQThvSxNopRP8BYFmH3gvJNw4IqCc8iqZKG+QyNiC2s1cFUamhc7WZRM4Hi7vyxywCwr3fs5+c4Fm6mAR5eziFsGfS0D0b7LjeFTYTKLYt+8Cbo03BSAdHvMxvFY2o0KeAYjmStOFeeTTVDcQwaz6rT2SlEkRC7UkA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3x/j9eUu5a6uJ5lrOgnmALDjxiGC3WiQ8qbAazplYg4=; b=rgLeNLg4zbsg2aFPvQF1KKddhTxNqWoqp05szBdtijYoKuNaKj2ezQApLpg5nMRoomi4rXbzeq1aNHUw0W4hHEBDniEpAiSUnLly/wL+g+ji/kzha6+h1+Zic/7lhnevDXDQOtz9BD65QbGW6Dl8BEtxsPBL+6m3DP1WuR2rwEU= Received: from CO1PR11MB4930.namprd11.prod.outlook.com (2603:10b6:303:9b::11) by MW3PR11MB4587.namprd11.prod.outlook.com (2603:10b6:303:58::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11; Tue, 19 Jan 2021 12:52:53 +0000 Received: from CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::d18:1234:c1d6:5936]) by CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::d18:1234:c1d6:5936%7]) with mapi id 15.20.3763.014; Tue, 19 Jan 2021 12:52:53 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "lersek@redhat.com" , "Zeng, Star" CC: "Dong, Eric" , =?utf-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= , "Kumar, Rahul1" Subject: Re: [edk2-devel] [PATCH 2/3] UefiCpuPkg/CpuS3DataDxe: do not allocate useless register tables Thread-Topic: [edk2-devel] [PATCH 2/3] UefiCpuPkg/CpuS3DataDxe: do not allocate useless register tables Thread-Index: AQHW6RfpxmvHHIqjTk2NaiA87EFz+qolEmSggAATkYCAAAvXoIABLLAAgAEGtoCAAPonYIAAAbEAgAaQkhA= Date: Tue, 19 Jan 2021 12:52:53 +0000 Message-ID: References: <20210112191934.12459-1-lersek@redhat.com> <20210112191934.12459-3-lersek@redhat.com> <6b798462-be3b-ad4a-fc84-eb679d28b601@redhat.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [124.77.195.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a30b3026-81a4-4bc8-0c9b-08d8bc7922b9 x-ms-traffictypediagnostic: MW3PR11MB4587: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ivhzIlMBKBRmh+wperYUHh3fkCZAnaIlfQnYrQNv0Mnwghmqo9slBDeLyq16Bpu6hvljtMreIlfYVuKwW28ryYBC5ls3xDYtInbfurDEQ9zcUe8rrWQ+AhrFUhkZAbR5j6It9irpZihXtBTPtN8V+70JTWW+b5lpc/+axXI/vmdp0mwAbQYb0tQzdju455jIUYrXHH0x4vYkCc4i1yn+6SivNPR4ytjbqRqU2AOsVD+Sd3hkmWPukczX9gxzKZyX2uBhXj3eyKbkUSib0bvDHdNVcjEn22xpjhgZ70AQmYZlF8Vdq6zCoXLpJEYQtKBXkTANHqh6VLJNne2zqU6+epEXWhBhwMQlDaHJF9HvGZCgYhjuLZXiryH1SCA9m2pZdZSfV7d/DtZGA50YzmrdJME3LvH9gfLI4w7nqTk6quAfbuj0gJMBZpKCoodWdiAZk+ZtBiDFMTXByc7MCoTB3Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4930.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(376002)(346002)(39860400002)(366004)(136003)(2906002)(30864003)(7696005)(6636002)(110136005)(316002)(5660300002)(54906003)(478600001)(8676002)(71200400001)(4326008)(966005)(19627235002)(52536014)(64756008)(186003)(55016002)(76116006)(66556008)(9686003)(107886003)(66446008)(26005)(66476007)(33656002)(86362001)(6506007)(8936002)(53546011)(66946007)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?cFp6Zk01LzVGMDhYTTdzSUVpN1BiS1NtenlQNzdWWHN6Z0t5UjdWekszekRO?= =?utf-8?B?SmNnVVBTRFFZM0hvRHJsTnQyWWV0OHd0MW9IVUplV2Q1bkVmL1RGcFRDZ2Yr?= =?utf-8?B?NC9NeURybWVpanRQZTNTSHpKZEFKbkV1ak9hNFV2ckI3TlBNN2pGUERrK2s0?= =?utf-8?B?Nlg2WDBZN0RjSytMSVZFYTBtbmpLamFPRmZXYWpnazF1dlpUa0NWTThvU0V5?= =?utf-8?B?NkRHNG9GaHVHSGJtaEVQVzIzeFgybjZsUjM0ZlBNSElKb0ZqYTgzZUpKVytD?= =?utf-8?B?cWRsTWhHUk9jRExHbTVmRUdJMXVKdjMvOE93aTIrMUZJZmw0NlA3R09hL3F5?= =?utf-8?B?dTdoVEJWdTN1ZTg4ZlJCREh1T1pnS3k0d2hDZmJhYkkrbTgra2lSbWlJR1RR?= =?utf-8?B?RkJkV1I4VDlpUW9ZUXZrTlpCQ21hdzBtUGhJV2UrRVorb2dScTlBV1luUG9Y?= =?utf-8?B?TjZTNW9hNitqeXdleWxFSUc4c1RnNGJCL1FwNWQ5TXAxREV1Qk9sM1lQUjNV?= =?utf-8?B?YUFaQ2Y3dG02Z05EYmRtYUgrTXR2ZDJqYm1XN1kvNENnNlBSdUVWWWFqYUc4?= =?utf-8?B?akZkdkcxMHhBbGJ1MzdYd08vd29JWFdtRDVXak05QVJjTTUyNm5RdWo5UGxi?= =?utf-8?B?UWY2SFJ2dERYTm02eGF4anNaMWNQMG9RRFJtY2k0QVVMcGszYUJyTlZZSDZS?= =?utf-8?B?czZRV1dFa1g4NmExNUJvd3JtbDV3NDBxUGxERzl6SDN1WHlDL2orR0M0K0Nu?= =?utf-8?B?cGhQcFMrQTJrQ1NVU2swK0hjbUUvQng2Mkk2THdEdjg3ZmFZZmhTR2tITHha?= =?utf-8?B?QWFQUG55UjZqSEF2cE1SOEw3MThvd3lwOVNzY2NoRU9YaVNrTjJJUHFMTC9D?= =?utf-8?B?KzJPbUFJYjVVRW84NW9WOFg0NkhVL2MyblVzUFZENm5iaGlLdk9rR3hicU9y?= =?utf-8?B?OThxcHh0b3U2c0RjaDJrR1dSR255aXB5S3VhSHJjSzJudU9MV2J0ZUo2Um0v?= =?utf-8?B?VGF2UXdqSnY5S1EvQlUycmR1UU1RemtYTmZWcW5HVzluUmxvZERrVXFPb3c1?= =?utf-8?B?SDhGa1BjZUJIR3k5UVl1dkFIQnRDTWdEbXBkQjAvMlRJUk5Bcm11ZTVYUkR5?= =?utf-8?B?UFlFTzZhQU1TNUtPMi9ZMVlnZWxqU3VKZzN4TGFqSnVMYS8vb1FaS2c5WVJG?= =?utf-8?B?Y0w3bnNOelJWbUcycjgzMDVVLzIwR1FmelhOcHJSNWZBK3hnVk1VUUNrZTFi?= =?utf-8?B?dktiL3ZEL2h6ZVhGcFNiY1dJcER3MGx3aHkwa1lYaWxORUxrZGtrR3ZDb2Jz?= =?utf-8?Q?MlYc56vkCINHk=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4930.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a30b3026-81a4-4bc8-0c9b-08d8bc7922b9 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jan 2021 12:52:53.0999 (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: XWrgFyMdiP6oSEpgGoOqnBq2f9nzq0aLrMjbjFlgNOVVU6JSFqQmUScOZoLCW3/oyV70QD6Ew2Vv8+PKZ7zMag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4587 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 aHR0cHM6Ly9naXRodWIuY29tL25pcnVpeXUvZWRrMi9jb21taXQvNzA5MWFhNTBiOWQ4NzI0MGIx NGU1YTc0Mzk4ZWFiMDEwZmZjNGQzZA0KTGFzemxvLCBTdGFyLA0KUGxlYXNlIGNoZWNrIHRoaXMg Y29kZSBjaGFuZ2UuIEkgdmVyaWZpZWQgUzMgYm9vdCBpbiBhbiBpbnRlcm5hbCBwbGF0Zm9ybS4N Cg0KVGhhbmtzLA0KUmF5DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog ZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2Yg TGFzemxvIEVyc2VrDQo+IFNlbnQ6IEZyaWRheSwgSmFudWFyeSAxNSwgMjAyMSA0OjM3IFBNDQo+ IFRvOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IFpl bmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+DQo+IENjOiBEb25nLCBFcmljIDxlcmljLmRv bmdAaW50ZWwuY29tPjsgUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxtZEByZWRoYXQuY29t PjsgS3VtYXIsIFJhaHVsMQ0KPiA8cmFodWwxLmt1bWFyQGludGVsLmNvbT4NCj4gU3ViamVjdDog UmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggMi8zXSBVZWZpQ3B1UGtnL0NwdVMzRGF0YUR4ZTogZG8g bm90IGFsbG9jYXRlIHVzZWxlc3MgcmVnaXN0ZXIgdGFibGVzDQo+IA0KPiBPbiAwMS8xNS8yMSAw OTozMywgTmksIFJheSB3cm90ZToNCj4gPiBMYXN6bG8sDQo+ID4gSSB3aWxsIHRlc3QgbXkgcGF0 Y2hlcyBpbnRlcm5hbGx5IGFuZCBmaW5kIGEgd2F5IHRvIGdpdmUgeW91IHRoZSBwYXRjaCB0byBi ZSBpbmNsdWRlZCBpbiB5b3VyIFYyLg0KPiANCj4gVGhhbmsgeW91IQ0KPiBMYXN6bG8NCj4gDQo+ ID4NCj4gPiBUaGFua3MsDQo+ID4gUmF5DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBz LmlvPiBPbiBCZWhhbGYgT2YgTGFzemxvIEVyc2VrDQo+ID4+IFNlbnQ6IEZyaWRheSwgSmFudWFy eSAxNSwgMjAyMSAxOjM2IEFNDQo+ID4+IFRvOiBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwu Y29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ ID4+IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgUGhpbGlwcGUgTWF0aGll dS1EYXVkw6kgPHBoaWxtZEByZWRoYXQuY29tPjsgS3VtYXIsIFJhaHVsMQ0KPiA+PiA8cmFodWwx Lmt1bWFyQGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0gg Mi8zXSBVZWZpQ3B1UGtnL0NwdVMzRGF0YUR4ZTogZG8gbm90IGFsbG9jYXRlIHVzZWxlc3MgcmVn aXN0ZXIgdGFibGVzDQo+ID4+DQo+ID4+IEhpIFN0YXIsDQo+ID4+DQo+ID4+IE9uIDAxLzE0LzIx IDAyOjU1LCBaZW5nLCBTdGFyIHdyb3RlOg0KPiA+Pj4gSnVzdCB0aGluayBtb3JlLCB0aGUgY2hh bmdlIGJlbG93IG5lZWRzIGEgbWlub3IgZW5oYW5jZW1lbnQgYXMgYmVsb3csIG90aGVyd2lzZSB0 aGUgdGFibGUgd2lsbCBiZSBvdmVycmlkZGVuIGJ5DQo+IHRoZQ0KPiA+PiBmdW5jdGlvbidzIHNl Y29uZCBjYWxsLg0KPiA+Pg0KPiA+PiB0aGFuayB5b3UgZm9yIGZvbGxvd2luZyB1cCBoZXJlIC0t IGNvdWxkIHlvdSBvciBSYXkgcGxlYXNlIHByb3Bvc2UgYW4NCj4gPj4gYWN0dWFsIHBhdGNoIGZv ciBSZWdpc3RlckNwdUZlYXR1cmVzTGliLCBhcyBJIHJlcXVlc3RlZCBiZWZvcmU/DQo+ID4+DQo+ ID4+IFBvc3RpbmcgdGhlIHBhdGNoIGlzIG5vdCBuZWNlc3Nhcnk7IEkgb25seSBuZWVkIHRvIGZl dGNoIGl0IGZyb20geW91cg0KPiA+PiBwZXJzb25hbCByZXBvKHMpIC0tIHlvdSBjYW4gZXZlbiBz ZW5kIG1lIHRoZSByZXBvIC8gYnJhbmNoIHJlZmVyZW5jZQ0KPiA+PiBvZmYtbGlzdC4gSSB3b3Vs ZCBpbmNsdWRlIHRoZSBSZWdpc3RlckNwdUZlYXR1cmVzTGliIHBhdGNoIGluIG15IHYyDQo+ID4+ IHBvc3Rpbmcgb2YgdGhpcyBzZXJpZXMuDQo+ID4+DQo+ID4+IFRoYW5rcyENCj4gPj4gTGFzemxv DQo+ID4+DQo+ID4+Pg0KPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4g RnJvbTogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPj4+PiBTZW50OiBXZWRuZXNkYXks IEphbnVhcnkgMTMsIDIwMjEgNDoxMiBQTQ0KPiA+Pj4+IFRvOiBaZW5nLCBTdGFyIDxzdGFyLnpl bmdAaW50ZWwuY29tPjsgTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47DQo+ID4+Pj4g ZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPj4+PiBDYzogRG9uZywgRXJpYyA8ZXJpYy5kb25nQGlu dGVsLmNvbT47IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpDQo+ID4+Pj4gPHBoaWxtZEByZWRoYXQu Y29tPjsgS3VtYXIsIFJhaHVsMSA8cmFodWwxLmt1bWFyQGludGVsLmNvbT4NCj4gPj4+PiBTdWJq ZWN0OiBSRTogW1BBVENIIDIvM10gVWVmaUNwdVBrZy9DcHVTM0RhdGFEeGU6IGRvIG5vdCBhbGxv Y2F0ZSB1c2VsZXNzDQo+ID4+Pj4gcmVnaXN0ZXIgdGFibGVzDQo+ID4+Pj4NCj4gPj4+PiBTdGFy LA0KPiA+Pj4+IFRoYW5rcyBmb3IgcG9pbnRpbmcgdGhhdC4NCj4gPj4+PiBSZWdpc3RlckNwdUZl YXR1cmVzTGliIGFzc3VtZXMgW1ByZVNtbUluaXRdUmVnaXN0ZXJUYWJsZSBhcnJheSBpcw0KPiA+ Pj4+IGFsbG9jYXRlZCBidXQgQ3B1UzNEYXRhDQo+ID4+Pj4gZG9lc24ndCBkbyB0aGF0Lg0KPiA+ Pj4+DQo+ID4+Pj4gQ2FuIGZvbGxvd2luZyBjaGFuZ2UgZml4IHRoZSBwcm9ibGVtPw0KPiA+Pj4+ DQo+ID4+Pj4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1JlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIv UmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi5jDQo+ID4+Pj4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5 L1JlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIvUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi5jDQo+ID4+Pj4g QEAgLTkzNywyMSArOTM3LDE5IEBAIEdldEFjcGlDcHVEYXRhICgNCj4gPj4+PiAgICBFRklfUFJP Q0VTU09SX0lORk9STUFUSU9OICAgICAgICAgICAgUHJvY2Vzc29ySW5mb0J1ZmZlcjsNCj4gPj4+ Pg0KPiA+Pj4+ICAgIEFjcGlDcHVEYXRhID0gKEFDUElfQ1BVX0RBVEEgKikgKFVJTlROKSBQY2RH ZXQ2NA0KPiA+Pj4+IChQY2RDcHVTM0RhdGFBZGRyZXNzKTsNCj4gPj4+PiAtICBpZiAoQWNwaUNw dURhdGEgIT0gTlVMTCkgew0KPiA+Pj4+IC0gICAgcmV0dXJuIEFjcGlDcHVEYXRhOw0KPiA+Pj4+ IC0gIH0NCj4gPj4+PiAtDQo+ID4+Pj4gLSAgQWNwaUNwdURhdGEgID0gQWxsb2NhdGVQYWdlcyAo RUZJX1NJWkVfVE9fUEFHRVMgKHNpemVvZg0KPiA+Pj4+IChBQ1BJX0NQVV9EQVRBKSkpOw0KPiA+ Pj4+IC0gIEFTU0VSVCAoQWNwaUNwdURhdGEgIT0gTlVMTCk7DQo+ID4+Pj4gKyAgaWYgKEFjcGlD cHVEYXRhID09IE5VTEwpIHsNCj4gPj4+PiArICAgIEFjcGlDcHVEYXRhICA9IEFsbG9jYXRlUGFn ZXMgKEVGSV9TSVpFX1RPX1BBR0VTIChzaXplb2YNCj4gPj4+PiAoQUNQSV9DUFVfREFUQSkpKTsN Cj4gPj4+PiArICAgIEFTU0VSVCAoQWNwaUNwdURhdGEgIT0gTlVMTCk7DQo+ID4+Pj4NCj4gPj4+ PiAtICAvLw0KPiA+Pj4+IC0gIC8vIFNldCBQY2RDcHVTM0RhdGFBZGRyZXNzIHRvIHRoZSBiYXNl IGFkZHJlc3Mgb2YgdGhlIEFDUElfQ1BVX0RBVEENCj4gPj4+PiBzdHJ1Y3R1cmUNCj4gPj4+PiAt ICAvLw0KPiA+Pj4+IC0gIFN0YXR1cyA9IFBjZFNldDY0UyAoUGNkQ3B1UzNEYXRhQWRkcmVzcywg KFVJTlQ2NCkoVUlOVE4pQWNwaUNwdURhdGEpOw0KPiA+Pj4+IC0gIEFTU0VSVF9FRklfRVJST1Ig KFN0YXR1cyk7DQo+ID4+Pj4gKyAgICAvLw0KPiA+Pj4+ICsgICAgLy8gU2V0IFBjZENwdVMzRGF0 YUFkZHJlc3MgdG8gdGhlIGJhc2UgYWRkcmVzcyBvZiB0aGUgQUNQSV9DUFVfREFUQQ0KPiA+Pj4+ IHN0cnVjdHVyZQ0KPiA+Pj4+ICsgICAgLy8NCj4gPj4+PiArICAgIFN0YXR1cyA9IFBjZFNldDY0 UyAoUGNkQ3B1UzNEYXRhQWRkcmVzcywNCj4gPj4+PiAoVUlOVDY0KShVSU5UTilBY3BpQ3B1RGF0 YSk7DQo+ID4+Pj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiA+Pj4+DQo+ID4+ Pj4gLSAgR2V0TnVtYmVyT2ZQcm9jZXNzb3IgKCZOdW1iZXJPZkNwdXMsICZOdW1iZXJPZkVuYWJs ZWRQcm9jZXNzb3JzKTsNCj4gPj4+PiAtICBBY3BpQ3B1RGF0YS0+TnVtYmVyT2ZDcHVzID0gKFVJ TlQzMilOdW1iZXJPZkNwdXM7DQo+ID4+Pj4gKyAgICBHZXROdW1iZXJPZlByb2Nlc3NvciAoJk51 bWJlck9mQ3B1cywNCj4gPj4+PiAmTnVtYmVyT2ZFbmFibGVkUHJvY2Vzc29ycyk7DQo+ID4+Pj4g KyAgICBBY3BpQ3B1RGF0YS0+TnVtYmVyT2ZDcHVzID0gKFVJTlQzMilOdW1iZXJPZkNwdXM7DQo+ ID4+Pj4gKyAgfQ0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pj4gQWRkIGNoZWNrIGFzIGJlbG93IGhlcmUu DQo+ID4+Pg0KPiA+Pj4gaWYgKEFjcGlDcHVEYXRhLT5SZWdpc3RlclRhYmxlID09IDApIHsNCj4g Pj4+DQo+ID4+Pj4gICAgLy8NCj4gPj4+PiAgICAvLyBBbGxvY2F0ZSBidWZmZXIgZm9yIGVtcHR5 IFJlZ2lzdGVyVGFibGUgYW5kIFByZVNtbUluaXRSZWdpc3RlclRhYmxlDQo+ID4+Pj4gZm9yIGFs bCBDUFVzDQo+ID4+Pj4NCj4gPj4+PiBUaGFua3MsDQo+ID4+Pj4gUmF5DQo+ID4+Pj4NCj4gPj4+ Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+Pj4gRnJvbTogWmVuZywgU3RhciA8 c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPj4+Pj4gU2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDEz LCAyMDIxIDM6MTcgUE0NCj4gPj4+Pj4gVG86IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBM YXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsNCj4gPj4+Pj4gZGV2ZWxAZWRrMi5ncm91 cHMuaW8NCj4gPj4+Pj4gQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBQaGls aXBwZSBNYXRoaWV1LURhdWTDqQ0KPiA+Pj4+PiA8cGhpbG1kQHJlZGhhdC5jb20+OyBLdW1hciwg UmFodWwxIDxyYWh1bDEua3VtYXJAaW50ZWwuY29tPjsgWmVuZywNCj4gPj4+PiBTdGFyDQo+ID4+ Pj4+IDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiA+Pj4+PiBTdWJqZWN0OiBSRTogW1BBVENIIDIv M10gVWVmaUNwdVBrZy9DcHVTM0RhdGFEeGU6IGRvIG5vdCBhbGxvY2F0ZQ0KPiA+Pj4+IHVzZWxl c3MNCj4gPj4+Pj4gcmVnaXN0ZXIgdGFibGVzDQo+ID4+Pj4+DQo+ID4+Pj4+IER4ZVJlZ2lzdGVy Q3B1RmVhdHVyZXNMaWIgc3RpbGwgaGFzIHNvbWUgZXhlY3V0aW9uIHNlcXVlbmNlIGRlcGVuZGVu Y3kNCj4gPj4+PiB0bw0KPiA+Pj4+PiBVZWZpQ3B1UGtnIENwdVMzRGF0YUR4ZS4NCj4gPj4+Pj4g VGhlcmUgaXMgQVNTRVJUIHRvIGhhcHBlbiBhdA0KPiA+Pj4+Pg0KPiA+Pj4+IGh0dHBzOi8vZ2l0 aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci9VZWZpQ3B1UGtnL0xpYnJhcnkvUmVn aXN0DQo+ID4+Pj4gZXJDDQo+ID4+Pj4+IHB1RmVhdHVyZXNMaWIvUmVnaXN0ZXJDcHVGZWF0dXJl c0xpYi5jI0wxMDU5IHdoZW4gQ3B1UzNEYXRhRHhlIHdpdGgNCj4gPj4+PiB0aGlzDQo+ID4+Pj4+ IHBhdGNoIHJ1bnMgYmVmb3JlIER4ZVJlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIuDQo+ID4+Pj4+DQo+ ID4+Pj4+IFRoYW5rcywNCj4gPj4+Pj4gU3Rhcg0KPiA+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+Pj4+PiBGcm9tOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0KPiA+Pj4+ PiBTZW50OiBXZWRuZXNkYXksIEphbnVhcnkgMTMsIDIwMjEgMjoxMiBQTQ0KPiA+Pj4+PiBUbzog TGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ ID4+Pj4+IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgUGhpbGlwcGUgTWF0 aGlldS1EYXVkw6kNCj4gPj4+Pj4gPHBoaWxtZEByZWRoYXQuY29tPjsgS3VtYXIsIFJhaHVsMSA8 cmFodWwxLmt1bWFyQGludGVsLmNvbT47IFplbmcsDQo+ID4+Pj4gU3Rhcg0KPiA+Pj4+PiA8c3Rh ci56ZW5nQGludGVsLmNvbT4NCj4gPj4+Pj4gU3ViamVjdDogUkU6IFtQQVRDSCAyLzNdIFVlZmlD cHVQa2cvQ3B1UzNEYXRhRHhlOiBkbyBub3QgYWxsb2NhdGUNCj4gPj4+PiB1c2VsZXNzDQo+ID4+ Pj4+IHJlZ2lzdGVyIHRhYmxlcw0KPiA+Pj4+Pg0KPiA+Pj4+PiBSZXZpZXdlZC1ieTogUmF5IE5p IDxyYXkubmlAaW50ZWwuY29tPg0KPiA+Pj4+Pg0KPiA+Pj4+PiAoSSBndWVzcyB5b3UgZG9uJ3Qg d2FudCB0byBwdXQgUmVkaGF0IGNvcHlyaWdodCBpbiB0aGUgcGF0Y2ggMSYyIHNvIHRoZQ0KPiA+ Pj4+PiBjb3B5cmlnaHQgeWVhciBpcyBub3QgdXBkYXRlZC4NCj4gPj4+Pj4gU2luY2UgaXQncyBh IHNpbXBsZSBjaGFuZ2UgdGhhdCBtYWtlIHRoZSBsb2dpYyBtb3JlIG5lYXQsIEkgYW0gb2sgd2l0 aCB0aGF0LikNCj4gPj4+Pj4NCj4gPj4+Pj4gV2lsbCB5b3UgY3JlYXRlIGEgcHVsbCByZXF1ZXN0 IHRvIG1lcmdlIGFsbCAzIHBhdGNoZXMgdG9nZXRoZXI/DQo+ID4+Pj4+DQo+ID4+Pj4+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+Pj4gRnJvbTogTGFzemxvIEVyc2VrIDxsZXJz ZWtAcmVkaGF0LmNvbT4NCj4gPj4+Pj4+IFNlbnQ6IFdlZG5lc2RheSwgSmFudWFyeSAxMywgMjAy MSAzOjIwIEFNDQo+ID4+Pj4+PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPj4+Pj4+IENj OiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgUGhpbGlwcGUgTWF0aGlldS1EYXVk w6kNCj4gPj4+Pj4+IDxwaGlsbWRAcmVkaGF0LmNvbT47IEt1bWFyLCBSYWh1bDEgPHJhaHVsMS5r dW1hckBpbnRlbC5jb20+OyBOaSwNCj4gPj4+PiBSYXkNCj4gPj4+Pj4+IDxyYXkubmlAaW50ZWwu Y29tPjsgWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPj4+Pj4+IFN1YmplY3Q6 IFtQQVRDSCAyLzNdIFVlZmlDcHVQa2cvQ3B1UzNEYXRhRHhlOiBkbyBub3QgYWxsb2NhdGUgdXNl bGVzcw0KPiA+Pj4+Pj4gcmVnaXN0ZXIgdGFibGVzDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gQ3B1UzNE YXRhRHhlIGFsbG9jYXRlcyB0aGUgIlJlZ2lzdGVyVGFibGUiIGFuZA0KPiA+Pj4+ICJQcmVTbW1J bml0UmVnaXN0ZXJUYWJsZSINCj4gPj4+Pj4+IGFycmF5cyBpbiBBQ1BJX0NQVV9EQVRBIGp1c3Qg c28gZXZlcnkgcHJvY2Vzc29yIGluIHRoZSBzeXN0ZW0gY2FuIGhhdmUNCj4gPj4+Pj4+IGl0cyBv d24gZW1wdHkgcmVnaXN0ZXIgdGFibGUsIG1hdGNoZWQgYnkgQVBJQyBJRC4gVGhpcyBoYXMgbmV2 ZXIgYmVlbg0KPiA+Pj4+Pj4gdXNlZnVsIGluIHByYWN0aWNlLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+ IEdpdmVuIGNvbW1pdCBlOTkyY2MzZjQ4NTkgKCJVZWZpQ3B1UGtnIFBpU21tQ3B1RHhlU21tOiBS ZWR1Y2UNCj4gPj4+Pj4gU01SQU0NCj4gPj4+Pj4+IGNvbnN1bXB0aW9uIGluIENwdVMzLmMiLCAy MDIxLTAxLTExKSwgc2ltcGx5IGxlYXZlIGJvdGgNCj4gPj4+Pj4+ICJBY3BpQ3B1RGF0YS0+UmVn aXN0ZXJUYWJsZSIgYW5kICJBY3BpQ3B1RGF0YS0NCj4gPj4+Pj4gUHJlU21tSW5pdFJlZ2lzdGVy VGFibGUiDQo+ID4+Pj4+PiBpbml0aWFsaXplZCB0byB0aGUgemVybyBhZGRyZXNzLiBUaGlzIHNp bXBsaWZpZXMgdGhlIGRyaXZlciwgYW5kIHNhdmVzDQo+ID4+Pj4+PiBib3RoIG5vcm1hbCBSQU0g KGJvb3Qgc2VydmljZXMgZGF0YSB0eXBlIG1lbW9yeSkgYW5kIC0tIGluDQo+ID4+Pj4+PiBQaVNt bUNwdUR4ZVNtbQ0KPiA+Pj4+Pj4gLS0gU01SQU0uDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gQ2M6IEVy aWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4gPj4+Pj4+IENjOiBQaGlsaXBwZSBNYXRo aWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+DQo+ID4+Pj4+PiBDYzogUmFodWwgS3VtYXIg PHJhaHVsMS5rdW1hckBpbnRlbC5jb20+DQo+ID4+Pj4+PiBDYzogUmF5IE5pIDxyYXkubmlAaW50 ZWwuY29tPg0KPiA+Pj4+Pj4gQ2M6IFN0YXIgWmVuZyA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4g Pj4+Pj4+IFJlZjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9p ZD0zMTU5DQo+ID4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRo YXQuY29tPg0KPiA+Pj4+Pj4gLS0tDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gTm90ZXM6DQo+ID4+Pj4+ PiAgICAgVGVzdGVkIGJ5IHRlbXBvcmFyaWx5IHJlcGxhY2luZyBPdm1mUGtnUGtnL0NwdVMzRGF0 YUR4ZSBpbiB0aGUNCj4gPj4+Pj4+IE9WTUYNCj4gPj4+Pj4+IElBMzINCj4gPj4+Pj4+ICAgICBh bmQgSUEzMlg2NCBwbGF0Zm9ybXMgd2l0aCB0aGlzIGRyaXZlciAtLSB0aGlzIGRyaXZlciB3b3Jr cyBPSyBpbiBPVk1GDQo+ID4+Pj4+PiAgICAgYXMgbG9uZyBhcyBubyBDUFVzIGFyZSBob3QtcGx1 Z2dlZC4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiAgVWVmaUNwdVBrZy9DcHVTM0RhdGFEeGUvQ3B1UzNE YXRhLmMgfCAzMiAtLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+Pj4+Pj4gIDEgZmlsZSBjaGFuZ2Vk LCAzMiBkZWxldGlvbnMoLSkNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBkaWZmIC0tZ2l0IGEvVWVmaUNw dVBrZy9DcHVTM0RhdGFEeGUvQ3B1UzNEYXRhLmMNCj4gPj4+Pj4+IGIvVWVmaUNwdVBrZy9DcHVT M0RhdGFEeGUvQ3B1UzNEYXRhLmMNCj4gPj4+Pj4+IGluZGV4IDJiZTMzNWQ5MTkwMy4uMDc4YWYz NmNmYjQxIDEwMDY0NA0KPiA+Pj4+Pj4gLS0tIGEvVWVmaUNwdVBrZy9DcHVTM0RhdGFEeGUvQ3B1 UzNEYXRhLmMNCj4gPj4+Pj4+ICsrKyBiL1VlZmlDcHVQa2cvQ3B1UzNEYXRhRHhlL0NwdVMzRGF0 YS5jDQo+ID4+Pj4+PiBAQCAtMTY1LDEwICsxNjUsNiBAQCBDcHVTM0RhdGFJbml0aWFsaXplICgN Cj4gPj4+Pj4+ICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgIE51bWJlck9mQ3B1czsNCj4g Pj4+Pj4+ICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgIE51bWJlck9mRW5hYmxlZFByb2Nl c3NvcnM7DQo+ID4+Pj4+PiAgICBWT0lEICAgICAgICAgICAgICAgICAgICAgICAqU3RhY2s7DQo+ ID4+Pj4+PiAtICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICBUYWJsZVNpemU7DQo+ID4+Pj4+ PiAtICBDUFVfUkVHSVNURVJfVEFCTEUgICAgICAgICAqUmVnaXN0ZXJUYWJsZTsNCj4gPj4+Pj4+ IC0gIFVJTlROICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiA+Pj4+Pj4gLSAgRUZJX1BS T0NFU1NPUl9JTkZPUk1BVElPTiAgUHJvY2Vzc29ySW5mb0J1ZmZlcjsNCj4gPj4+Pj4+ICAgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgIEdkdFNpemU7DQo+ID4+Pj4+PiAgICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgICBJZHRTaXplOw0KPiA+Pj4+Pj4gICAgVk9JRCAgICAgICAgICAgICAg ICAgICAgICAgKkdkdDsNCj4gPj4+Pj4+IEBAIC0yNTUsMzQgKzI1MSw2IEBAIENwdVMzRGF0YUlu aXRpYWxpemUgKA0KPiA+Pj4+Pj4gICAgICBBY3BpQ3B1RGF0YS0+UHJlU21tSW5pdFJlZ2lzdGVy VGFibGUgPSBPbGRBY3BpQ3B1RGF0YS0NCj4gPj4+Pj4+PiBQcmVTbW1Jbml0UmVnaXN0ZXJUYWJs ZTsNCj4gPj4+Pj4+ICAgICAgQWNwaUNwdURhdGEtPkFwTG9jYXRpb24gICAgICAgICAgICAgID0g T2xkQWNwaUNwdURhdGEtPkFwTG9jYXRpb247DQo+ID4+Pj4+PiAgICAgIENvcHlNZW0gKCZBY3Bp Q3B1RGF0YS0+Q3B1U3RhdHVzLCAmT2xkQWNwaUNwdURhdGEtPkNwdVN0YXR1cywNCj4gPj4+Pj4+ IHNpemVvZiAoQ1BVX1NUQVRVU19JTkZPUk1BVElPTikpOw0KPiA+Pj4+Pj4gLSAgfSBlbHNlIHsN Cj4gPj4+Pj4+IC0gICAgLy8NCj4gPj4+Pj4+IC0gICAgLy8gQWxsb2NhdGUgYnVmZmVyIGZvciBl bXB0eSBSZWdpc3RlclRhYmxlIGFuZA0KPiA+Pj4+IFByZVNtbUluaXRSZWdpc3RlclRhYmxlDQo+ ID4+Pj4+IGZvcg0KPiA+Pj4+Pj4gYWxsIENQVXMNCj4gPj4+Pj4+IC0gICAgLy8NCj4gPj4+Pj4+ IC0gICAgVGFibGVTaXplID0gMiAqIE51bWJlck9mQ3B1cyAqIHNpemVvZiAoQ1BVX1JFR0lTVEVS X1RBQkxFKTsNCj4gPj4+Pj4+IC0gICAgUmVnaXN0ZXJUYWJsZSA9IChDUFVfUkVHSVNURVJfVEFC TEUgKilBbGxvY2F0ZVplcm9QYWdlcw0KPiA+Pj4+IChUYWJsZVNpemUpOw0KPiA+Pj4+Pj4gLSAg ICBBU1NFUlQgKFJlZ2lzdGVyVGFibGUgIT0gTlVMTCk7DQo+ID4+Pj4+PiAtDQo+ID4+Pj4+PiAt ICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IE51bWJlck9mQ3B1czsgSW5kZXgrKykgew0KPiA+ Pj4+Pj4gLSAgICAgIFN0YXR1cyA9IE1wU2VydmljZXMtPkdldFByb2Nlc3NvckluZm8gKA0KPiA+ Pj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgIE1wU2VydmljZXMsDQo+ID4+Pj4+PiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXgsDQo+ID4+Pj4+PiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgJlByb2Nlc3NvckluZm9CdWZmZXINCj4gPj4+Pj4+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICApOw0KPiA+Pj4+Pj4gLSAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0 YXR1cyk7DQo+ID4+Pj4+PiAtDQo+ID4+Pj4+PiAtICAgICAgUmVnaXN0ZXJUYWJsZVtJbmRleF0u SW5pdGlhbEFwaWNJZCAgICAgID0NCj4gPj4+Pj4+IChVSU5UMzIpUHJvY2Vzc29ySW5mb0J1ZmZl ci5Qcm9jZXNzb3JJZDsNCj4gPj4+Pj4+IC0gICAgICBSZWdpc3RlclRhYmxlW0luZGV4XS5UYWJs ZUxlbmd0aCAgICAgICAgPSAwOw0KPiA+Pj4+Pj4gLSAgICAgIFJlZ2lzdGVyVGFibGVbSW5kZXhd LkFsbG9jYXRlZFNpemUgICAgICA9IDA7DQo+ID4+Pj4+PiAtICAgICAgUmVnaXN0ZXJUYWJsZVtJ bmRleF0uUmVnaXN0ZXJUYWJsZUVudHJ5ID0gMDsNCj4gPj4+Pj4+IC0NCj4gPj4+Pj4+IC0gICAg ICBSZWdpc3RlclRhYmxlW051bWJlck9mQ3B1cyArIEluZGV4XS5Jbml0aWFsQXBpY0lkICAgICAg PQ0KPiA+Pj4+Pj4gKFVJTlQzMilQcm9jZXNzb3JJbmZvQnVmZmVyLlByb2Nlc3NvcklkOw0KPiA+ Pj4+Pj4gLSAgICAgIFJlZ2lzdGVyVGFibGVbTnVtYmVyT2ZDcHVzICsgSW5kZXhdLlRhYmxlTGVu Z3RoICAgICAgICA9IDA7DQo+ID4+Pj4+PiAtICAgICAgUmVnaXN0ZXJUYWJsZVtOdW1iZXJPZkNw dXMgKyBJbmRleF0uQWxsb2NhdGVkU2l6ZSAgICAgID0gMDsNCj4gPj4+Pj4+IC0gICAgICBSZWdp c3RlclRhYmxlW051bWJlck9mQ3B1cyArIEluZGV4XS5SZWdpc3RlclRhYmxlRW50cnkgPSAwOw0K PiA+Pj4+Pj4gLSAgICB9DQo+ID4+Pj4+PiAtICAgIEFjcGlDcHVEYXRhLT5SZWdpc3RlclRhYmxl ICAgICAgICAgICA9DQo+ID4+Pj4+PiAoRUZJX1BIWVNJQ0FMX0FERFJFU1MpKFVJTlROKVJlZ2lz dGVyVGFibGU7DQo+ID4+Pj4+PiAtICAgIEFjcGlDcHVEYXRhLT5QcmVTbW1Jbml0UmVnaXN0ZXJU YWJsZSA9DQo+ID4+Pj4+PiAoRUZJX1BIWVNJQ0FMX0FERFJFU1MpKFVJTlROKShSZWdpc3RlclRh YmxlICsgTnVtYmVyT2ZDcHVzKTsNCj4gPj4+Pj4+ICAgIH0NCj4gPj4+Pj4+DQo+ID4+Pj4+PiAg ICAvLw0KPiA+Pj4+Pj4gLS0NCj4gPj4+Pj4+IDIuMTkuMS4zLmczMDI0N2FhNWQyMDENCj4gPj4+ Pj4+DQo+ID4+Pg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+DQo+IA0KPiANCj4g DQo+IA0KPiANCg0K