From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web09.19756.1628494022326829583 for ; Mon, 09 Aug 2021 00:27:03 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=M8gP2BHy; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: hao.a.wu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10070"; a="275678015" X-IronPort-AV: E=Sophos;i="5.84,305,1620716400"; d="scan'208";a="275678015" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Aug 2021 00:27:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,305,1620716400"; d="scan'208";a="674123420" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga005.fm.intel.com with ESMTP; 09 Aug 2021 00:27:00 -0700 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Mon, 9 Aug 2021 00:27:00 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Mon, 9 Aug 2021 00:27:00 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Mon, 9 Aug 2021 00:26:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fM5h6xwBUjqvWkI6uFSPU19pgFoJ6F4UdYF4ciw5d6Pk58g+aY3cZdQrv9ghxUKbb/MYLHWHN04o87c7ScbfpGWL7y3Gb2NW4rpYR4CLl9l5EPAwJ4FWdpe+BShDjulj6RH/Z3UxQRLMcPSl1CJAxTdVITrYqzgZxPTVjtzXMWTKcrToBcU6mUE5wNhBI1KtZ9PUf3DV0WoLh94FMRlhJXkJRu+ZDfLhPgIXGYcB6Iq6WxILqFP/uugd6PEEj64O+8oQ0SSZTuvw9tx+FuHqCsAJd5g7JCDzPFTmyYImyM0dKkaQiyBH/8s7zHF+0wibWedFLIln2QHvBDIztfB0nQ== 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=Kl9Jmf/l//qjYoJ7IW9iXjjlp7vhPUIDXgBxQeN/E3M=; b=OBVNtlaIhBs6BHUmFauyrLmStZwRReW0hGW9gkAHkAczz8DhJzqcWNxryZwQmtZGcU6JhDVCJ3p9MFVxkPsT2VY+2wFY0pS+N4jYgMqqsURIS2BLFKeovrs4nfMQ5xfm68DhfgcG+nqrfMmXsYieuNbOHn4yvQ/d2X8OsFiOmNPSC8lrnPcN06/8R0uTDJfgDvHKM+Q07vCtsxUS2lR9Eb6e7RXwhf0j+4hs8BXmkP7UcTT3SetPUSMko3roxFw0Cn9WkKtzQmH8SIab5mlD6DeTHbctHqeJruXuo/ft2jf5NDAKQzFGn27+JupV7VzHS9MIqYIEX0IXvQhJaObHwA== 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=Kl9Jmf/l//qjYoJ7IW9iXjjlp7vhPUIDXgBxQeN/E3M=; b=M8gP2BHy8O4yYaLKgymk506/rytnS1n6Agn7y/ej2She3x82PyD5qd710L7nKEBLQ86Hlt6/PrS8JO2ajVwzQ/JN5iXYe/xlKxhaFS8wSC4GDBnP1cLwJCN+zE9ASS1m/nOUJJ2+HNchzIdxrVUWZKzD4xwpC+grKRXK1C+mITI= Received: from BN8PR11MB3666.namprd11.prod.outlook.com (2603:10b6:408:8c::19) by BN6PR11MB4033.namprd11.prod.outlook.com (2603:10b6:405:78::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Mon, 9 Aug 2021 07:26:56 +0000 Received: from BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::1d8:daf8:84de:1666]) by BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::1d8:daf8:84de:1666%3]) with mapi id 15.20.4394.023; Mon, 9 Aug 2021 07:26:56 +0000 From: "Wu, Hao A" To: "devel@edk2.groups.io" , "mhaeuser@posteo.de" CC: "Wang, Jian J" , Vitaly Cheptsov Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/DxeCore: Consistent DebugImageInfoTable updates Thread-Topic: [edk2-devel] [PATCH] MdeModulePkg/DxeCore: Consistent DebugImageInfoTable updates Thread-Index: AQHXjI1Jx92p5wysHE2B1jkTh1c95atqr5WQgAADRgCAAAbtUIAAC3SAgAAA7BA= Date: Mon, 9 Aug 2021 07:26:55 +0000 Message-ID: References: <5df11a13422732b9c03c120775a2b4dd0a49182f.1628444003.git.mhaeuser@posteo.de> <88816e99692b15cf61f3057ffab4d54455159c7c.1628443860.git.mhaeuser@posteo.de> <6de21706-f63e-b32d-d032-0bd550d62a70@posteo.de> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 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-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 84a78b05-0f61-49c7-fae6-08d95b071138 x-ms-traffictypediagnostic: BN6PR11MB4033: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: f5MPYvpwzQDZ2RVxD0cr+odY2Wqea6xmjFa0feuNneznpdKwgmDXU5KEJglNpffgSCUJlx8c2MNRiopDOlVElzoH7csBYrQDxQc9FhSQZSQ9s1emYz1X1/aAEMeY4IV6MovIrWX+uf4VfPGwIkNdsWpxcS5McFeUCWEDD9nBVKLInRo7HLnW3YeeXLKZFlS+Csde67wdh133VM6BDIDjltt6LX6tgsstRPgmlX8uiWu7vb9m4JI16dywvW9n/o6l4rct6TlR2CRxBniR37PHgO8J8qmFgskJkV2PYiEVt9bfkXX+8iNIUeDpqjpN23KFZdVKpbRwF3mQcR2I+eB41ws7FN3rkMwfSTkvJYlbzHfi9o/EIeQ1RyM0p/lKEKdv08iq/H3GL1+g/7Qf2fnNYUfUwOBkoAH4R4biBa+klON7SkHuFQD/B6BaQdgfTegoZ6aSvO2gxZcFNodHJEdN+ynT5RRJXT3ReqlSEMDbgV7QrDLJIsfZmqgMzGUudqPs/eSguA3wd7WBHceOj97hz0HvACAIoMa8er1ILqizHxcH3se+FuYH3fenasxTfCg3BEaI5nXpq3xIbJji4rlDc1GcnDZsFdbS3XN6oo0JQVxFbV9ncN22x1n4Btts4/T07V1L70QC/HtegicrKa0eMvA0B82p6k8VWoyXEN5AdHoqU363hdIm8+GynosUJgq0Evt+vsKG4Ri2u5XjZL3VVMyFt07bM2ubdgRTZ3+nH9/7OUhBut1UPJdszYouvWSDiz5dI2K1vRSxYrNkZNZH3l14aGjSYFP0Han+2DVb8tCcknA5deXZ+OgDcJ/y0sZzs3vWqLlcMUShcWsw0UL+AQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR11MB3666.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(346002)(376002)(39860400002)(136003)(366004)(5660300002)(966005)(52536014)(71200400001)(86362001)(6506007)(53546011)(7696005)(4326008)(478600001)(9686003)(186003)(55016002)(26005)(76116006)(8936002)(66574015)(38100700002)(83380400001)(122000001)(64756008)(15650500001)(8676002)(2906002)(66946007)(66556008)(66446008)(33656002)(54906003)(38070700005)(316002)(110136005)(66476007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RVNLdGNOZEw2djlua3hVaElaMk8rcEx3UXE3VmhDa1NlNUlFdlpnTG52dUVM?= =?utf-8?B?cFB3dlpWTjhxK2JRTjBISUY0ajJIbThwOU9SWExFYVpkc1RJa1lXK1RnUUZ6?= =?utf-8?B?bmlTelFuRVpHTU9ucVZtT3Yxa2p1b25LUWJQeGVBMnRzNDdSSzcyUXhncVVn?= =?utf-8?B?cDZvWVM1NzR6UU1yVjZ2c3JUNVZ3SVlNVG5nNWlmZGovVE00MXdDMmN0V05n?= =?utf-8?B?TkJwNVVLNG53VjZCUGtUQlI1Y0VWcy9hV09wWmVUTXl5MzI0SjBCOEdYWHZX?= =?utf-8?B?ZktTR25ZQ2tYN25ZTGZXMHdsZXM2eG1OcW1iMmlyY0F2QnVOZHNGRVlNb0NU?= =?utf-8?B?RTF1MUx0YWh0QWVGZCtkY1NHUTNQYS9WVVlRaC9XYUxPRmRFRjFHenJvY2Fh?= =?utf-8?B?ZjhmL1c2cDhVak0vVGJRNXo1amk2L2daZkpXSGhkcCt4ZUdzaDdGajhHdERo?= =?utf-8?B?VzJEZXdzbFZFTVNIWXBYS1NnNExvL25JNzU1ci96RDYwWlJxdXlydjVQblV6?= =?utf-8?B?ZTMxckdZM3FqcGZBMm55RjFQQXovalJRVXdaUjNhMVlYUENZN2FnRG1jYjll?= =?utf-8?B?Tnc2UStRcEcySXZ2N3JpVVUyNEVQcnE4SGRPcm4weE5HK1dObHU0SmNna00w?= =?utf-8?B?K0xUR21RV2UxR1JLWWRFWk1aNGtQQ0IxRGhvTnR6Q2NaVHdqekRNOGh4eEd2?= =?utf-8?B?ckJIaTNzUWZuYVlnUGRaa3BLVkxTbm1URFlsNTJKaXNRQUdJWElzWlBPQTVx?= =?utf-8?B?b01OU1haRWVKMjlmbGpLOUlqS2RvSWpDLzJLUTJsVzk1NlppenEweWlnT3RB?= =?utf-8?B?UmwzQk5ONUVwcnVnalpHa0pZWjc4N1ZkK1Q4UVBHVEIwdkt4eUJCRDlvTlk2?= =?utf-8?B?SENEVm1LUjhVRDQ3YXcyb095MFlJSTV2d3pxc0QrZFo4K085REVWVlU2NGxm?= =?utf-8?B?S3UwTm9NaUxBTitRNk1ZQTNLcktBMTZNbjBRM1RabGxnTGVDamg3bWhWQjA1?= =?utf-8?B?bGJXT0V4Q1NObjdUR0VyUlhaZ01hNEhZWkpVLzRVSlJua0JoUUtLL2hTRm1j?= =?utf-8?B?bDVBWEFQYjdNcXgycS9qTU1VSEpZZmN4YjVwbVVlMWxJNzNuTDNRTStMZExF?= =?utf-8?B?alFoV09hZTN5OUI1ckhPdGJhR2xKRjJXSWF4WUJ6VmIxLzVzZ2d0ek1PL1FX?= =?utf-8?B?aTBpWnlINTdCaktUUkl6R090a3ZHeWMvUmJTRUpxUlowUjBtd2tZeFJBNk5N?= =?utf-8?B?SkNaclRJVU9CbWFUSzJmY0cwOFJyVEw4MFpyVi9HWllRNEJEalpQZWY5MFlG?= =?utf-8?B?dHRIMUVQSlVMVVB5LzdRejZhM1BDc2o2d3NrK1NGWkQvazFmWTZMOGo4NmFz?= =?utf-8?B?U3QrTEk2cFR4SzFTNUN1WjM2T0w0YlhWeTVaTjdkY2xZV3dqbFg1TUJueWl4?= =?utf-8?B?NGpnN21ITW9zK1pNclIrUjQrSDhaRm1DNDhwWWF6SmpnNnpxeTIzZ0hWMExx?= =?utf-8?B?ZjlwZlRkSm02bERIclZsK05jalJIUWw3aDFqQ2g4WWpzMzNIMHh1dmlyT0ZS?= =?utf-8?B?V1E2L1hFMk5MS29EOE9XNFhLdU4vUnlBNGlWYlZ2WXhDcHNCcklwRWtJdkJp?= =?utf-8?B?WUxVakl6L1RZZnpLWWRNYzRqOVpLYmUzamRzYnJrc0RpbFJjK29JRjJlYmdM?= =?utf-8?B?Q285Zm9yMUc1bmFqeVB4TnlCNVlQUytXajl5bkV6N0xRcXNqRmc1K2JFQkpn?= =?utf-8?Q?3EnHrYlEVzYk2eH6WIiJck0g2EtkfcQBkp33SeH?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN8PR11MB3666.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84a78b05-0f61-49c7-fae6-08d95b071138 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Aug 2021 07:26:56.0132 (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: NyLTAZbHUupRNtGCJNBaufhCeDCTs1rdHwjvDKbbcE6hZJ0Odn6u3sYxheXJ4M091lMGnqo6RwmnwNNnwmd7fw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB4033 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5p byA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBNYXJ2aW4NCj4gSD91c2VyDQo+ IFNlbnQ6IE1vbmRheSwgQXVndXN0IDksIDIwMjEgMzoyMSBQTQ0KPiBUbzogV3UsIEhhbyBBIDxo YW8uYS53dUBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogV2FuZywgSmlh biBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBWaXRhbHkgQ2hlcHRzb3YNCj4gPHZpdDk2OTZA cHJvdG9ubWFpbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBNZGVN b2R1bGVQa2cvRHhlQ29yZTogQ29uc2lzdGVudA0KPiBEZWJ1Z0ltYWdlSW5mb1RhYmxlIHVwZGF0 ZXMNCj4gDQo+IE9uIDA5LzA4LzIwMjEgMDg6NTIsIFd1LCBIYW8gQSB3cm90ZToNCj4gPj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8g PGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgTWFydmluDQo+ID4+IEg/dXNlcg0K PiA+PiBTZW50OiBNb25kYXksIEF1Z3VzdCA5LCAyMDIxIDI6MTYgUE0NCj4gPj4gVG86IFd1LCBI YW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPj4gQ2M6 IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgVml0YWx5IENoZXB0c292DQo+ ID4+IDx2aXQ5Njk2QHByb3Rvbm1haWwuY29tPg0KPiA+PiBTdWJqZWN0OiBSZTogW2VkazItZGV2 ZWxdIFtQQVRDSF0gTWRlTW9kdWxlUGtnL0R4ZUNvcmU6IENvbnNpc3RlbnQNCj4gPj4gRGVidWdJ bWFnZUluZm9UYWJsZSB1cGRhdGVzDQo+ID4+DQo+ID4+IEdvb2QgZGF5IEhhbywNCj4gPj4NCj4g Pj4gU29ycnkgZm9yIHRoZSBjb25mdXNpb24sIGFuZCB5b3UgYXJlIChyaWdodGZ1bGx5ISkgbm90 IGFsb25lLiA6KCBJJ2xsDQo+ID4+IHF1b3RlIG15c2VsZiBmcm9tIGEgZGlmZmVyZW50IHBhdGNo Og0KPiA+Pg0KPiA+PiBbLi4uXSBmb3Igc29tZSByZWFzb24sIG5vbmUgb2YgdGhlIG90aGVyIHBh dGNoIHNlcmllcyBoYWQgaW5kaWNlcyBhcHBlbmRlZC4NCj4gPj4gSSdtIHN1cmUgSSBjYW4gZ2V0 IHRoYXQgZml4ZWQgc2hvcnRseSwgYnV0IHdoYXQgdG8gZG8gdGhlbiwgcmUtc2VuZA0KPiA+PiB0 aGUgZW50aXJlIGJ1bGs/IEkgZG9uJ3Qgd2FudCB0byBzcGFtIHRoZSBsaXN0LCBtYXliZSBpdCBp cyBzbWFydGVyDQo+ID4+IHRvIGdyb3VwIHRoZW0gYnkgc29tZSBvdmVydmlldyBtYWlsIHRoaXMg b25lIHRpbWU/DQo+ID4NCj4gPiBJIHdvdWxkIHN1Z2dlc3QgdG8gc2VuZCBhIFYyIHNlcmllcyBm b3IgYWxsIHRoZSBwYXRjaGVzIChub3Qgb25seSBsaW1pdGVkIHRvDQo+IE1kZU1vZHVsZVBrZykg eW91IHNlbnQuDQo+IA0KPiBSaWdodCwgSSBjYW4gZG8gdGhhdCwganVzdCBtYW55IG9mIHRoZSBw YXRjaGVzIHdlcmUgYWN0dWFsbHkgbWVhbnQgdG8gYmUgc2luZ2xlDQo+IGFuZCBpbmRlcGVuZGVu dC4gSSBiZWxpZXZlIHRoZXJlIHdlcmUgdHdvIHNlcmllcyB0aGF0IHNvbWVob3cgZGlkIG5vdCBn ZXQNCj4gaW5kZXhlZCBieSB0aGUgY29tbWFuZC4gSSBqdXN0IGZvcmNlZCBudW1iZXJpbmcgbm93 IGFuZCBpdCBzZWVtcyB0byB3b3JrLg0KPiANCj4gTWF5IGl0IGJlIGVhc2llciBpZiBJIHJlLXNl bmQgb25seSB0aGUgdHdvIHNlcmllcz8gQSBmZXcgb2YgdGhlIGluZGl2aWR1YWwgcGF0Y2hlcw0K PiBhY3R1YWxseSBzdGFydGVkIHJldmlldy4NCg0KDQpJIGFtIGZpbmUgd2l0aCB0aGlzLg0KTXkg aW50ZW50aW9uIGZvciBhc2tpbmcgVjIgZm9yIGFsbCB0aGUgcGF0Y2hlcyB3YXMgdGhhdCBkb2lu ZyBzbyBJIGNhbiBzaW1wbHkgaWdub3JlIGFsbCB0aGUgVjEgcGF0Y2ggbWFpbHMuDQoNCkJlc3Qg UmVnYXJkcywNCkhhbyBXdQ0KDQoNCj4gDQo+IFRoYW5rcyBmb3IgeW91ciBzdWdnZXN0aW9ucywg YW5kIHNvcnJ5IGFnYWluIGZvciB0aGUgZGlzcnVwdGlvbiENCj4gDQo+IEJlc3QgcmVnYXJkcywN Cj4gTWFydmluDQo+IA0KPiA+DQo+ID4gUGxlYXNlIGVuc3VyZSB0aGF0IHBhdGNoZXMgYmVsb25n IHRvIG9uZSBzZXJpZXMgYXJlIGdlbmVyYXRlZCBieSBhIHNpbmdsZSAnZ2l0DQo+IGZvcm1hdC1w YXRjaCcgY29tbWFuZC4NCj4gPiBJIHRoaW5rIGRvaW5nIHNvIHdpbGwgYWRkIGluZm9ybWF0aW9u IGxpa2UgJzEvbicsICcyL24nLCAuLi4sICduL24nIGZvciB0aGUgcGF0Y2hlcyBpbg0KPiBvbmUg c2VyaWVzLg0KPiA+IEFuZCB5b3UgbWF5IG5lZWQgdG8gY3JlYXRlIGEgY292ZXItbGV0dGVyIGZv ciBvbmUgcGF0Y2ggc2VyaWVzIHRvIGdpdmUgYSBicmllZg0KPiBzdW1tYXJ5IG9uIHRoZSBwdXJw b3NlIG9mIHRoZSBzZXJpZXMgYXMgYSB3aG9sZS4NCj4gPg0KPiA+IEFsc28sIGlmIHlvdSBhcmUg aW1wbGVtZW50aW5nIGEgbmV3IGZlYXR1cmUgb3IgYSBmaXggdGhhdCB0b3VjaGVzIG1hbnkNCj4g bW9kdWxlcywgSSBzdWdnZXN0IHRvIGZpbGUgYSBCdWd6aWxsYSB0cmFja2VyIGZvciBpdDoNCj4g PiBGZWF0dXJlIHJlcXVlc3Q6DQo+ID4gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL2Vu dGVyX2J1Zy5jZ2k/cHJvZHVjdD1UaWFub2NvcmUlMjBGZWF0dQ0KPiA+IHJlJTIwUmVxdWVzdHMN Cj4gPiBCdWdmaXg6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9lbnRlcl9idWcuY2dp P3Byb2R1Y3Q9RURLMg0KPiA+DQo+ID4gTGFzdGx5LCB5b3UgbWF5IGtlZXAgdGhlICdSZXZpZXdl ZC1ieScgdGFncyBhbHJlYWR5IHJlY2VpdmVkIGJ5IG90aGVyDQo+IHJldmlld2Vycy4NCj4gPg0K PiA+IEJlc3QgUmVnYXJkcywNCj4gPiBIYW8gV3UNCj4gPg0KPiA+DQo+ID4+IFNvcnJ5IGZvciB0 aGUgZGlzcnVwdGlvbiENCj4gPj4NCj4gPj4gQmVzdCByZWdhcmRzLA0KPiA+PiBNYXJ2aW4NCj4g Pj4NCj4gPj4gT24gMDkvMDgvMjAyMSAwODoxMCwgV3UsIEhhbyBBIHdyb3RlOg0KPiA+Pj4gU29y cnkgTWFydmluIEjDpHVzZXIsDQo+ID4+Pg0KPiA+Pj4gQ291bGQgeW91IGhlbHAgdG8gY29uZmly bSB0aGF0IGJlbG93IDkgTWRlTW9kdWxlUGtnIHJlbGF0ZWQgcGF0Y2hlcw0KPiA+Pj4gYXJlDQo+ ID4+IGVpdGhlcjoNCj4gPj4+ICAgICogQWxsIGluZGVwZW5kZW50IHBhdGNoZXMNCj4gPj4+ICAg ICogQmVsb25nIHRvIGEgcGF0Y2ggc2VyaWVzIHRoYXQgaW5jbHVkZXMgYWxsIHRoZXNlIDkgTWRl TW9kdWxlUGtnDQo+ID4+PiByZWxhdGVkDQo+ID4+IGNvbW1pdHMNCj4gPj4+ICAgICogQmVsb25n IHRvIHNldmVyYWwgaW5kZXBlbmRlbnQgcGF0Y2ggc2VyaWVzDQo+ID4+Pg0KPiA+Pj4gTWRlUGtn L0Jhc2UuaDogSW50cm9kdWNlIHZhcmlvdXMgYWxpZ25tZW50LXJlbGF0ZWQgbWFjcm9zDQo+ID4+ PiBNZGVNb2R1bGVQa2cvQ29yZUR4ZTogTWFuZGF0b3J5IExvYWRlZEltYWdlIGZvcg0KPiA+PiBE ZWJ1Z0ltYWdlSW5mb1RhYmxlDQo+ID4+PiBNZGVNb2R1bGVQa2cvRHhlQ29yZTogRml4IERlYnVn SW1hZ2VJbmZvVGFibGUgc2l6ZSByZXBvcnQNCj4gPj4+IE1kZU1vZHVsZVBrZy9EeGVDb3JlOiBV c2UgdGhlIGNvcnJlY3Qgc291cmNlIGZvciBmaXhlZCBsb2FkIGFkZHJlc3MNCj4gPj4+IE1kZU1v ZHVsZVBrZy9QaVNtbUNvcmU6IERyb3AgZGVwcmVjYXRlZCBpbWFnZSBwcm9maWxpbmcgY29tbWFu ZHMNCj4gPj4+IE1kZU1vZHVsZVBrZy9Db3JlRHhlOiBEcm9wIGNhbGxlci1hbGxvY2F0ZWQgaW1h Z2UgYnVmZmVycw0KPiA+Pj4gTWRlTW9kdWxlUGtnL0R4ZUNvcmU6IERyb3AgdW5uZWNlc3Nhcnkg cG9pbnRlciBpbmRpcmVjdGlvbg0KPiA+Pj4gTWRlTW9kdWxlUGtnL1BpU21tSXBsOiBDb3JyZWN0 IGZpeGVkIGxvYWQgYWRkcmVzcyBib3VuZHMgY2hlY2sNCj4gPj4+IE1kZU1vZHVsZVBrZy9EeGVD b3JlOiBDb25zaXN0ZW50IERlYnVnSW1hZ2VJbmZvVGFibGUgdXBkYXRlcw0KPiA+Pj4NCj4gPj4+ IEJlc3QgUmVnYXJkcywNCj4gPj4+IEhhbyBXdQ0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IE1hcnZpbiBIw6R1c2VyIDxtaGFldXNlckBwb3N0 ZW8uZGU+DQo+ID4+Pj4gU2VudDogTW9uZGF5LCBBdWd1c3QgOSwgMjAyMSAzOjQwIEFNDQo+ID4+ Pj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4+Pj4gQ2M6IFdhbmcsIEppYW4gSiA8amlh bi5qLndhbmdAaW50ZWwuY29tPjsgV3UsIEhhbyBBDQo+ID4+Pj4gPGhhby5hLnd1QGludGVsLmNv bT47IEJpLCBEYW5kYW4gPGRhbmRhbi5iaUBpbnRlbC5jb20+OyBMaW1pbmcgR2FvDQo+ID4+Pj4g PGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IFZpdGFseSBDaGVwdHNvdg0KPiA+Pj4+IDx2aXQ5 Njk2QHByb3Rvbm1haWwuY29tPg0KPiA+Pj4+IFN1YmplY3Q6IFtQQVRDSF0gTWRlTW9kdWxlUGtn L0R4ZUNvcmU6IENvbnNpc3RlbnQNCj4gPj4gRGVidWdJbWFnZUluZm9UYWJsZQ0KPiA+Pj4+IHVw ZGF0ZXMNCj4gPj4+Pg0KPiA+Pj4+IEluIHRoZW9yeSwgbW9kaWZpY2F0aW9ucyB0byB0aGUgRGVi dWdJbWFnZUluZm9UYWJsZSBtYXkgY2F1c2UNCj4gPj4gZXhjZXB0aW9ucy4NCj4gPj4+PiBJZiB0 aGUgZXhjZXB0aW9uIGhhbmRsZXIgcGFyc2VzIHRoZSB0YWJsZSwgdGhpcyBjYW4gbGVhZCB0bw0K PiA+Pj4+IHN1YnNlcXVlbnQgZXhjZXB0aW9ucyBpZiB0aGUgdGFibGUgc3RhdGUgaXMgaW5jb25z aXN0ZW50Lg0KPiA+Pj4+DQo+ID4+Pj4gRW5zdXJlIHRoZSBEZWJ1Z0ltYWdlSW5mb1RhYmxlIHJl bWFpbnMgY29uc2lzdGVudCBkdXJpbmcgbW9kaWZpY2F0aW9ucy4NCj4gPj4+PiBUaGlzIGluY2x1 ZGVzOg0KPiA+Pj4+IDEpIEZyZWUgdGhlIG9sZCB0YWJsZSBvbmx5IG9ubHkgYWZ0ZXIgdGhlIG5l dyB0YWJsZSBoYXMgYmVlbiBwdWJsaXNoZWQuDQo+ID4+Pj4gTWl0aWdhdGVzIHVzZS1hZnRlci1m cmVlIG9mIHRoZSBvbGQgdGFibGUuDQo+ID4+Pj4gMikgRG8gbm90IGluc2VydCBhbiBpbWFnZSBl bnRyeSB0aWxsIGl0IGlzIGZ1bGx5IGluaXRpYWxpc2VkLg0KPiA+Pj4+IEVudHJpZXMgbWF5IGJl IGluc2VydGVkIGluIHRoZSBsaXZlIHJhbmdlIGlmIGFuIGVudHJ5IHdhcyBkZWxldGVkIHByZXZp b3VzbHkuDQo+ID4+Pj4gTWl0aWdhZXMgdGhlIHVzYWdlIG9mIGluY29uc2lzdGVudCBlbnRyaWVz Lg0KPiA+Pj4+IDMpIEZyZWUgdGhlIG9sZCBpbWFnZSBlbnRyeSBvbmx5IGFmdGVyIHRoZSB0YWJs ZSBoYXMgYmVlbiB1cGRhdGVkDQo+ID4+Pj4gd2l0aCB0aGUgTlVMTCB2YWx1ZS4gTWl0aWdhdGVz IHVzZS1hZnRlci1mcmVlIG9mIHRoZSBvbGQgZW50cnkuDQo+ID4+Pj4gNCkgU2V0IHRoZSBNT0RJ RklFRCBzdGF0ZSBiZWZvcmUgcGVyZm9ybWluZyBhbnkgbW9kaWZpY2F0aW9ucy4NCj4gPj4+Pg0K PiA+Pj4+IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+Pj4+IENj OiBIYW8gQSBXdSA8aGFvLmEud3VAaW50ZWwuY29tPg0KPiA+Pj4+IENjOiBEYW5kYW4gQmkgPGRh bmRhbi5iaUBpbnRlbC5jb20+DQo+ID4+Pj4gQ2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9z b2Z0LmNvbS5jbj4NCj4gPj4+PiBDYzogVml0YWx5IENoZXB0c292IDx2aXQ5Njk2QHByb3Rvbm1h aWwuY29tPg0KPiA+Pj4+IFNpZ25lZC1vZmYtYnk6IE1hcnZpbiBIw6R1c2VyIDxtaGFldXNlckBw b3N0ZW8uZGU+DQo+ID4+Pj4gLS0tDQo+ID4+Pj4gICAgTWRlTW9kdWxlUGtnL0NvcmUvRHhlL01p c2MvRGVidWdJbWFnZUluZm8uYyB8IDYwICsrKysrKysrKysrLS0NCj4gPj4gLS0tLQ0KPiA+Pj4+ IC0tLQ0KPiA+Pj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAyNiBkZWxl dGlvbnMoLSkNCj4gPj4+Pg0KPiA+Pj4+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQ29yZS9E eGUvTWlzYy9EZWJ1Z0ltYWdlSW5mby5jDQo+ID4+Pj4gYi9NZGVNb2R1bGVQa2cvQ29yZS9EeGUv TWlzYy9EZWJ1Z0ltYWdlSW5mby5jDQo+ID4+Pj4gaW5kZXggYTc1ZDQxNTgyODBiLi43YmQ5NzAx MTUxMTEgMTAwNjQ0DQo+ID4+Pj4gLS0tIGEvTWRlTW9kdWxlUGtnL0NvcmUvRHhlL01pc2MvRGVi dWdJbWFnZUluZm8uYw0KPiA+Pj4+ICsrKyBiL01kZU1vZHVsZVBrZy9Db3JlL0R4ZS9NaXNjL0Rl YnVnSW1hZ2VJbmZvLmMNCj4gPj4+PiBAQCAtMTY1LDEwICsxNjUsMTEgQEAgQ29yZU5ld0RlYnVn SW1hZ2VJbmZvRW50cnkgKA0KPiA+Pj4+ICAgICAgSU4gIEVGSV9IQU5ETEUgICAgICAgICAgICAg ICAgICBJbWFnZUhhbmRsZSAgICkgey0gIEVGSV9ERUJVR19JTUFHRV9JTkZPDQo+ID4+Pj4gKlRh YmxlOy0gIEVGSV9ERUJVR19JTUFHRV9JTkZPICAgICAgKk5ld1RhYmxlOy0gIFVJTlRODQo+ID4+ IEluZGV4Oy0NCj4gPj4+PiBVSU5UTiAgICAgICAgICAgICAgICAgICAgIFRhYmxlU2l6ZTsrICBF RklfREVCVUdfSU1BR0VfSU5GTyAgICAgICAgKlRhYmxlOysNCj4gPj4+PiBFRklfREVCVUdfSU1B R0VfSU5GTyAgICAgICAgKk5ld1RhYmxlOysgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICBJ bmRleDsrDQo+ID4+Pj4gVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIFRhYmxlU2l6ZTsrICBF RklfREVCVUdfSU1BR0VfSU5GT19OT1JNQUwNCj4gPj4+PiAqTm9ybWFsSW1hZ2U7ICAgIC8vICAg Ly8gU2V0IHRoZSBmbGFnIGluZGljYXRpbmcgdGhhdCB3ZSdyZSBpbiB0aGUgcHJvY2VzcyBvZg0K PiA+Pj4+IHVwZGF0aW5nIHRoZSB0YWJsZS5AQCAtMjAzLDE0ICsyMDQsNiBAQA0KPiA+PiBDb3Jl TmV3RGVidWdJbWFnZUluZm9FbnRyeSAoDQo+ID4+Pj4gICAgICAgIC8vIENvcHkgdGhlIG9sZCB0 YWJsZSBpbnRvIHRoZSBuZXcgb25lICAgICAvLyAgICAgQ29weU1lbSAoTmV3VGFibGUsDQo+ID4+ IFRhYmxlLA0KPiA+Pj4+IFRhYmxlU2l6ZSk7LSAgICAvLy0gICAgLy8gRnJlZSB0aGUgb2xkIHRh YmxlLSAgICAvLy0gICAgQ29yZUZyZWVQb29sIChUYWJsZSk7LSAgICAvLy0NCj4gPj4+PiAvLyBV cGRhdGUgdGhlIHRhYmxlIGhlYWRlci0gICAgLy8tICAgIFRhYmxlID0gTmV3VGFibGU7DQo+ID4+ Pj4gbURlYnVnSW5mb1RhYmxlSGVhZGVyLkVmaURlYnVnSW1hZ2VJbmZvVGFibGUgPSBOZXdUYWJs ZTsgICAgIC8vICAgICAvLw0KPiA+Pj4+IEVubGFyZ2UgdGhlIG1heCB0YWJsZSBlbnRyaWVzIGFu ZCBzZXQgdGhlIGZpcnN0IGVtcHR5IGVudHJ5IGluZGV4DQo+ID4+Pj4gdG9AQCAtDQo+ID4+Pj4g MjE4LDI0ICsyMTEsMzQgQEAgQ29yZU5ld0RlYnVnSW1hZ2VJbmZvRW50cnkgKA0KPiA+Pj4+ICAg ICAgICAvLyAgICAgSW5kZXggICAgICAgICAgICAgPSBtTWF4VGFibGVFbnRyaWVzOyAgICAgbU1h eFRhYmxlRW50cmllcyArPQ0KPiA+Pj4+IEVGSV9QQUdFX1NJWkUgLyBFRklfREVCVUdfVEFCTEVf RU5UUllfU0laRTsrICAgIC8vKyAgICAvLyBGcmVlIHRoZSBvbGQNCj4gPj4+PiB0YWJsZSsgICAg Ly8rICAgIENvcmVGcmVlUG9vbCAoVGFibGUpOysgICAgLy8rICAgIC8vIFVwZGF0ZSB0aGUgdGFi bGUgaGVhZGVyKw0KPiA+Pj4+IC8vKyAgICBUYWJsZSA9IE5ld1RhYmxlOyAgIH0gICAgLy8gICAv LyBBbGxvY2F0ZSBkYXRhIGZvciBuZXcgZW50cnkgICAvLy0NCj4gPj4+PiBUYWJsZVtJbmRleF0u Tm9ybWFsSW1hZ2UgPSBBbGxvY2F0ZVplcm9Qb29sIChzaXplb2YNCj4gPj4+PiAoRUZJX0RFQlVH X0lNQUdFX0lORk9fTk9STUFMKSk7LSAgaWYgKFRhYmxlW0luZGV4XS5Ob3JtYWxJbWFnZSAhPQ0K PiA+Pj4+IE5VTEwpIHsrICBOb3JtYWxJbWFnZSA9IEFsbG9jYXRlWmVyb1Bvb2wgKHNpemVvZg0K PiA+Pj4+IChFRklfREVCVUdfSU1BR0VfSU5GT19OT1JNQUwpKTsrICBpZiAoTm9ybWFsSW1hZ2Ug IT0gTlVMTCkgeyAgICAgLy8NCj4gPj4+PiAvLyBVcGRhdGUgdGhlIGVudHJ5ICAgICAvLy0gICAg VGFibGVbSW5kZXhdLk5vcm1hbEltYWdlLT5JbWFnZUluZm9UeXBlDQo+ID4+Pj4gPSAoVUlOVDMy KSBJbWFnZUluZm9UeXBlOy0gICAgVGFibGVbSW5kZXhdLk5vcm1hbEltYWdlLQ0KPiA+Pj4+PiBM b2FkZWRJbWFnZVByb3RvY29sSW5zdGFuY2UgPSBMb2FkZWRJbWFnZTstDQo+ID4+Pj4gVGFibGVb SW5kZXhdLk5vcm1hbEltYWdlLT5JbWFnZUhhbmRsZSAgICAgICAgICAgICAgICAgPSBJbWFnZUhh bmRsZTsrDQo+ID4+Pj4gTm9ybWFsSW1hZ2UtPkltYWdlSW5mb1R5cGUgICAgICAgICAgICAgICA9 IChVSU5UMzIpIEltYWdlSW5mb1R5cGU7Kw0KPiA+Pj4+IE5vcm1hbEltYWdlLT5Mb2FkZWRJbWFn ZVByb3RvY29sSW5zdGFuY2UgPSBMb2FkZWRJbWFnZTsrDQo+ID4+Pj4gTm9ybWFsSW1hZ2UtPklt YWdlSGFuZGxlICAgICAgICAgICAgICAgICA9IEltYWdlSGFuZGxlOyAgICAgLy8tICAgIC8vIElu Y3JlYXNlDQo+ID4+IHRoZQ0KPiA+Pj4+IG51bWJlciBvZiBFRklfREVCVUdfSU1BR0VfSU5GTyBl bGVtZW50cyBhbmQgc2V0IHRoZQ0KPiA+Pj4+IG1EZWJ1Z0luZm9UYWJsZSBpbiBtb2RpZmllZCBz dGF0dXMuKyAgICAvLyBTZXQgdGhlIG1EZWJ1Z0luZm9UYWJsZSBpbg0KPiA+Pj4+IG1vZGlmaWVk IHN0YXR1cywgaW5zZXJ0IHRoZSBlbnRyeSwgYW5kKyAgICAvLyBpbmNyZWFzZSB0aGUgbnVtYmVy IG9mDQo+ID4+Pj4gRUZJX0RFQlVHX0lNQUdFX0lORk8gZWxlbWVudHMuICAgICAvLy0NCj4gPj4+ PiBtRGVidWdJbmZvVGFibGVIZWFkZXIuVGFibGVTaXplKys7DQo+ID4+Pj4gbURlYnVnSW5mb1Rh YmxlSGVhZGVyLlVwZGF0ZVN0YXR1cyB8PQ0KPiA+Pj4+IEVGSV9ERUJVR19JTUFHRV9JTkZPX1RB QkxFX01PRElGSUVEOysNCj4gPj4gVGFibGVbSW5kZXhdLk5vcm1hbEltYWdlDQo+ID4+Pj4gPSBO b3JtYWxJbWFnZTsrICAgIG1EZWJ1Z0luZm9UYWJsZUhlYWRlci5UYWJsZVNpemUrKzsgICB9DQo+ ID4+Pj4gbURlYnVnSW5mb1RhYmxlSGVhZGVyLlVwZGF0ZVN0YXR1cyAmPQ0KPiA+Pj4+IH5FRklf REVCVUdfSU1BR0VfSU5GT19VUERBVEVfSU5fUFJPR1JFU1M7IH1AQCAtMjUzLDggKzI1Niw5DQo+ ID4+IEBADQo+ID4+Pj4gQ29yZVJlbW92ZURlYnVnSW1hZ2VJbmZvRW50cnkgKA0KPiA+Pj4+ICAg ICAgRUZJX0hBTkRMRSBJbWFnZUhhbmRsZSAgICkgey0gIEVGSV9ERUJVR19JTUFHRV9JTkZPICAq VGFibGU7LQ0KPiA+PiBVSU5UTg0KPiA+Pj4+IEluZGV4OysgIEVGSV9ERUJVR19JTUFHRV9JTkZP ICAgICAgICAqVGFibGU7KyAgVUlOVE4NCj4gPj4gSW5kZXg7Kw0KPiA+Pj4+IEVGSV9ERUJVR19J TUFHRV9JTkZPX05PUk1BTCAqTm9ybWFsSW1hZ2U7DQo+ID4+Pj4gbURlYnVnSW5mb1RhYmxlSGVh ZGVyLlVwZGF0ZVN0YXR1cyB8PQ0KPiA+Pj4+IEVGSV9ERUJVR19JTUFHRV9JTkZPX1VQREFURV9J Tl9QUk9HUkVTUzsgQEAgLTI2MywxNiArMjY3LDIwDQo+ID4+IEBADQo+ID4+Pj4gQ29yZVJlbW92 ZURlYnVnSW1hZ2VJbmZvRW50cnkgKA0KPiA+Pj4+ICAgICAgZm9yIChJbmRleCA9IDA7IEluZGV4 IDwgbU1heFRhYmxlRW50cmllczsgSW5kZXgrKykgeyAgICAgaWYNCj4gPj4+PiAoVGFibGVbSW5k ZXhdLk5vcm1hbEltYWdlICE9IE5VTEwgJiYgVGFibGVbSW5kZXhdLk5vcm1hbEltYWdlLQ0KPiA+ Pj4+PiBJbWFnZUhhbmRsZSA9PSBJbWFnZUhhbmRsZSkgeyAgICAgICAvLy0gICAgICAvLyBGb3Vu ZCBhIG1hdGNoLiBGcmVlIHVwIHRoZQ0KPiA+Pj4+IHJlY29yZCwgdGhlbiBOVUxMIHRoZSBwb2lu dGVyIHRvIGluZGljYXRlIHRoZSBzbG90LSAgICAgIC8vIGlzIGZyZWUuKyAgICAgIC8vDQo+ID4+ IEZvdW5kIGENCj4gPj4+PiBtYXRjaC4gU2V0IHRoZSBtRGVidWdJbmZvVGFibGUgaW4gbW9kaWZp ZWQgc3RhdHVzIGFuZCBOVUxMIHRoZSsgICAgICAvLw0KPiA+Pj4+IHBvaW50ZXIgdG8gaW5kaWNh dGUgdGhlIHNsb3QgaXMgZnJlZSBhbmQuICAgICAgIC8vLSAgICAgIENvcmVGcmVlUG9vbA0KPiA+ Pj4+IChUYWJsZVtJbmRleF0uTm9ybWFsSW1hZ2UpOysgICAgICBOb3JtYWxJbWFnZSA9DQo+ID4+ Pj4gVGFibGVbSW5kZXhdLk5vcm1hbEltYWdlOysgICAgICBtRGVidWdJbmZvVGFibGVIZWFkZXIu VXBkYXRlU3RhdHVzDQo+ID4+IHw9DQo+ID4+Pj4gRUZJX0RFQlVHX0lNQUdFX0lORk9fVEFCTEVf TU9ESUZJRUQ7DQo+ID4+IFRhYmxlW0luZGV4XS5Ob3JtYWxJbWFnZQ0KPiA+Pj4+ID0gTlVMTDsg ICAgICAgLy8tICAgICAgLy8gRGVjcmVhc2UgdGhlIG51bWJlciBvZiBFRklfREVCVUdfSU1BR0Vf SU5GTw0KPiA+Pj4+IGVsZW1lbnRzIGFuZCBzZXQgdGhlIG1EZWJ1Z0luZm9UYWJsZSBpbiBtb2Rp ZmllZCBzdGF0dXMuKyAgICAgIC8vDQo+ID4+IERlY3JlYXNlDQo+ID4+Pj4gdGhlIG51bWJlciBv ZiBFRklfREVCVUdfSU1BR0VfSU5GTyBlbGVtZW50cy4gICAgICAgLy8NCj4gPj4+PiBtRGVidWdJ bmZvVGFibGVIZWFkZXIuVGFibGVTaXplLS07LQ0KPiA+Pj4+IG1EZWJ1Z0luZm9UYWJsZUhlYWRl ci5VcGRhdGVTdGF0dXMgfD0NCj4gPj4+PiBFRklfREVCVUdfSU1BR0VfSU5GT19UQUJMRV9NT0RJ RklFRDsrICAgICAgLy8rICAgICAgLy8gRnJlZSB1cCB0aGUNCj4gPj4+PiByZWNvcmQuKyAgICAg IC8vKyAgICAgIENvcmVGcmVlUG9vbCAoTm9ybWFsSW1hZ2UpOyAgICAgICBicmVhazsgICAgIH0g ICB9LS0NCj4gPj4+PiAyLjMxLjENCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4NCj4gDQo+IA0KPiAN Cj4gDQo+IA0KDQo=