From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id ACD7AAC0BB4 for ; Thu, 18 Apr 2024 08:03:34 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=sZrIrdfIyQDqKHvFV2vCbp91ltGXwmzy57oqRbZNr4k=; c=relaxed/simple; d=groups.io; h=From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20240206; t=1713427413; v=1; b=K29OxoJgs3dwfgfr4qJ6MjjA2FpmBYagamdT0k7HbXQcJ0Mkn+HsFyZSxjq6G47S/1O1af+x 24qe2GiCD7c1EOrseN5nPCfLNqofuFt322kkSF7Ukv4ArV7ZWefkfbCs9quXOXk0rCjdguVgovZ uBFiO5fT6KmBWU+Ms5wQ/5XSC+5gCfDASYcNrk1viW8Jfhupj3RoiYyuJlGHcRmT1dlJrEVC/Hp llabiu0io0OGBgu641T/vpR/zZ72N9jy7ulB/oiXA8ZRCh8kuwDYoqtAWCCfwSaNkCJhODN12J+ gUQxAeCwNZjp0i5BL5Bzol5k2wiTRbNndG7dKMW06VnKQ== X-Received: by 127.0.0.2 with SMTP id 1lTUYY7687511xL8k86tC2cz; Thu, 18 Apr 2024 01:03:33 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by mx.groups.io with SMTP id smtpd.web10.7787.1713427412558560149 for ; Thu, 18 Apr 2024 01:03:32 -0700 X-CSE-ConnectionGUID: FlvsfGy8SRGN4IPXYm14eQ== X-CSE-MsgGUID: e2h/0ViqRayXae/AvQmUBw== X-IronPort-AV: E=McAfee;i="6600,9927,11047"; a="12742096" X-IronPort-AV: E=Sophos;i="6.07,211,1708416000"; d="scan'208";a="12742096" X-Received: from orviesa009.jf.intel.com ([10.64.159.149]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2024 01:03:32 -0700 X-CSE-ConnectionGUID: AlS/AU29ROWDGyIQgBFTzQ== X-CSE-MsgGUID: 2nRcjpCBRo+rnBEggTAxaw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,211,1708416000"; d="scan'208";a="22897324" X-Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orviesa009.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 18 Apr 2024 01:03:32 -0700 X-Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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.2507.35; Thu, 18 Apr 2024 01:03:31 -0700 X-Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) 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.35; Thu, 18 Apr 2024 01:03:30 -0700 X-Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 18 Apr 2024 01:03:30 -0700 X-Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.41) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 18 Apr 2024 01:03:30 -0700 X-Received: from MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by PH8PR11MB6777.namprd11.prod.outlook.com (2603:10b6:510:1c8::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.39; Thu, 18 Apr 2024 08:03:22 +0000 X-Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::be3f:5a4f:5180:2ba9]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::be3f:5a4f:5180:2ba9%4]) with mapi id 15.20.7472.027; Thu, 18 Apr 2024 08:03:22 +0000 From: "Yao, Jiewen" To: Adam Dunlap , Ard Biesheuvel CC: "devel@edk2.groups.io" , Borislav Petkov , Peter Gonda , Tom Lendacky , "Aktas, Erdem" , "Gerd Hoffmann" , Michael Roth , "Xu, Min M" Subject: Re: [edk2-devel] [PATCH] OvmfPkg: Harden #VC instruction emulation somewhat (CVE-2024-25742) Thread-Topic: [edk2-devel] [PATCH] OvmfPkg: Harden #VC instruction emulation somewhat (CVE-2024-25742) Thread-Index: AQHakOgHY9Q1/QXWpUmiraU+SNvCErFsseKAgAAKRwCAAO8OUA== Date: Thu, 18 Apr 2024 08:03:22 +0000 Message-ID: References: <20240417165400.3615824-1-acdunlap@google.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR11MB5872:EE_|PH8PR11MB6777:EE_ x-ms-office365-filtering-correlation-id: eacb349a-01dd-42ed-38c6-08dc5f7e0484 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: fVBYAUWyeF3c14k3bzMeNd+gPd0TDAgzumoO5g+d+VLgCOcHE6S/aXHtLuLr50voeXNxPDQcqxBfv102Zp41Ro5dI/sQjBCj18DAVCAJZ3KZ4l/CmoxJYpbBloXuB0bTBpvU0H+4Hh7MDutt7zbHuLkpCcm1aA2RpdjRpyeGgqStMniV+Tng1o2eGuvFxWgRaSm2sVHVRbQb1Hi6Fb8fdKerOVUCXOua0bXJR74xkL0i87cIUicT4HPwTfLtWybuuDp1jK+4FAFD7GbTTccL/WoYEd+6txfQwx2+h90vGtyJ1gqUxfNewNDB4qKA56PzNiTxjmHRDudoNE9jBjpTWt8DdmSPpMfDHxy4bbERVGEVsTb4xmF3IR07ltnLHct8EI/USlc10q3XRUWPHLTtakJdd6O7Gaw+jQRhh2yspr1yFvmu08MmYbG785I8TKzzTRlTNV1UVONbR1/pIfFmXX2kQ7AKij+3iumgPk8CNJIcRgxZPTNrCXw5upct5pxl6x1d5KBAdUjcdbPJzxBQ6SVy1NLnh0+iVT+qRHj4MhPWFhFSmpsR63x/wP0nA4vLn4slDmS4VFWyONcBiGNX9uVKx4NmnOu5dvMWVZ5ri1vbScIE2bxpPPd5EG5G1Fjx3GwMq8f6u1un7tH6ud1nNse82fpugj67VoN9jtFIwErfRKveHy14YCpvCin8DOKF x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eXd3TVhuM0JzSDhoNm1tQ2M5WkRMcEZPeUhtaytUTy9vdzVFTWpyUkdDYkRS?= =?utf-8?B?M29wcjh5d2lsY012ejNtMjVCLzh3VkxBKzNRZEdUeDhFaFgxbXA5RDRhYlVR?= =?utf-8?B?SGVHYXRNaGgrODJlRTRpNXJtZjBGeXRodzhnUlVlV1VzRzNIMG4wZU9zWis2?= =?utf-8?B?TVU0ZFBTdWJoNlEyMDVXWHBpclFYQnlVRVNOWmdCenFtQXlmOUJ5RWhRTjlL?= =?utf-8?B?ZXBkSzBkQ1QrQ2dmZXlhb3pNa2tzNWNwdjZwTzhia1hzeHJZL0U1K2FGUlZ6?= =?utf-8?B?UjVVM1lOM1dFTlFpRTJnMWRsaFpiUWp6MFNQdkovWjFhelNMZjlMc0dpRVNY?= =?utf-8?B?cEQ0VjQvQXY5bDZhcmhTNVB5cGllSUZ6TkUxSWJhMVQzaUFKaWpQZG04SkRp?= =?utf-8?B?NFdiSEoxclBRT0lFMEI5UnhiTkhiekhnMHd1ZjZkZWhCUFR3bTFVWVF1Vlh1?= =?utf-8?B?K3N2N29uL2owYVc3TW9LcE95VHZNMFFiZEtzcHVObVNwUWtFUzdEWGlSc2hF?= =?utf-8?B?Y1JibTFHOTA2NkJSSjdrS25ZK1U3SnRsdnBXbnlTYlVjc1Z0Wk53SXAzaG9s?= =?utf-8?B?a1FvNUNmMmtybllGTm8zaGlrTFFOczhvOGh5Q2lMMTRtbVIzZlpydkhsSGhG?= =?utf-8?B?elZEZ3EvNXFxOXdvaCtIM1E4V3B5SDV4Qkx3eTdiM3dqVkZ0MnZKa1dXdGc0?= =?utf-8?B?N2YzV01OSmtJV3RxRjVhQ05sbmdYYUQ5OUVmWGd5RWR2WlBYS3c0UStjWDVC?= =?utf-8?B?ZVlQVEtHNWRYc1BhWDlXYjduUHQyMUtxUWdsbE9PZ0ZqWVo0U2lqVUNTK2lN?= =?utf-8?B?NElrYW5uYkp5QW1sa0VxKzByQ3NVdDBkeGJiYjBUV2ZERFVnWmtSaUU1dWEz?= =?utf-8?B?OHB6REpGWnVzWkFzQlpPQ1hueUlkNEF1SzVWNlFXQU9EMXlEMU82N3RXRnhl?= =?utf-8?B?Ky9HYjdZcmpjSW1ERlNMdWt1STNhcy9mVkp1Z21CR3lubEZRZzE0NnZPenR6?= =?utf-8?B?NzhuVTBGaUhnVGFYaUl3NmxlTVZMeUhJdyttemNkbHdOMTIwN1RhSkFwZXFo?= =?utf-8?B?K2cyaUZGUmYwVDkyeUtGNHFKRDhqcmRVc1RvMzJQSkJyMjgzQnNmWG02RGoz?= =?utf-8?B?elZmclQ1N296VXJLbmFHejJzdEdnUFlHWnNJTkg3Wk1NZkpLZ0NkWGZwR2ZM?= =?utf-8?B?OWNVMi9GbDM5cUFSQzh5SGM2dHBUUkdtbml4S1FsMTNGaHQzcEg0eFlPVTVI?= =?utf-8?B?U0dITlJwRnloRnpBWlVTSXJBdml6VU5PZzRZdFI3QmlNcUMycDRVMVQ0QnVR?= =?utf-8?B?ajBFeWlESFNoNjVYa2pjL2s5WXpQMGhrZFhYbkJMaHpqM0hkc2cvV2xWRzFR?= =?utf-8?B?WWN2K09uQVNCQ2hiSGplcUhmS1BaTFI3dXJJa3pDdGUva0JnOFAvMXI5S0d1?= =?utf-8?B?SjAxSVoydm94NlZmL1FoTmZnYWRYSm5pckNFWmVDazFTUDFVTVowcnZVMGpD?= =?utf-8?B?Nk1tSzludlgzY2VpSmpEd1MwSlVSVHh6M0hadnN0U3B5Y3Y3ZFhGTmh1aWVy?= =?utf-8?B?ZVhhdXZrZU1IcnBabURDellOUzB1dlI2cnB6eTVmcVRSaVMwaW5vM3JJQ1Iz?= =?utf-8?B?SkFETnhTYnUxa3V4TjFQSUVOYlkraHNkM2t3dEE4bDMvUEE0Q3BOeU9KRTFr?= =?utf-8?B?cWYvWUdMMXBleEU5eS9GNFJyRktUaVU3UjR1MmRBcjBmTzlpQThzYTlDOTdq?= =?utf-8?B?NEFabmFiMFJhbVFWK3Jtd0pSTEtuK1lseTJGSlBSUld5d0pEL0VQdUUxSlZL?= =?utf-8?B?aytxclNITTE4SGFNREg3bGczaFZvcWxIMjNCbzJoUGs2a2czQ1pHM3A5am5h?= =?utf-8?B?UHBaajVFaTcwRE56U1cwVWc1cCtudXFtTUpqVHBQRnJ6clJJQWlPWnlTTE1O?= =?utf-8?B?aVVKWHBvQjYrZDlJUGRoWU1mL0N1TFBFOG83L1RkMzl4Qjk3Yzd2b1piL0Zz?= =?utf-8?B?aDVBYThGenJGYjdXeWgwQ202dVpsRDE2R09kQnBwVjJQRXp6RzZERlcxdTRJ?= =?utf-8?B?ZlllcHg3OVBWZU5HQkd4WUZCTjhHRDVTY3dKaERqNEVVdkVUODYrT0dYNjFm?= =?utf-8?Q?zILL7j8WUc7htcuizPy46R1C1?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: eacb349a-01dd-42ed-38c6-08dc5f7e0484 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Apr 2024 08:03:22.5571 (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: ar1lL6xJjvG5Mnn/Mn4JzsAYdTessJdly5lWTm9ewTisoK4jniG6cbbxoe5NI0ueKS4I3NF3TlQuFNokXUXJ3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB6777 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Thu, 18 Apr 2024 01:03:32 -0700 Resent-From: jiewen.yao@intel.com Reply-To: devel@edk2.groups.io,jiewen.yao@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: zR659739AmP5eMwrRE0yMyPYx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=K29OxoJg; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io VGhhbmtzIEFkYW0gYW5kIEFyZC4NCg0KU2luY2UgdGhpcyAjVkMgc3BlY2lmaWMgaGFyZGVuaW5n LCBJIHdvdWxkIHJlbHkgb24gQU1EIHBlb3BsZSdzIGV4cGVydGlzZSB0byBmaXggaXQuDQpJIGhh dmUgbm8gb2JqZWN0aW9uIGZvciB0aGUgcGF0Y2guDQoNClRoYW5rIHlvdQ0KWWFvLCBKaWV3ZW4N Cg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBZGFtIER1bmxhcCA8YWNk dW5sYXBAZ29vZ2xlLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIEFwcmlsIDE4LCAyMDI0IDE6NDUg QU0NCj4gVG86IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+IENjOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbzsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgQm9yaXNs YXYgUGV0a292DQo+IDxicEBhbGllbjguZGU+OyBQZXRlciBHb25kYSA8cGdvbmRhQGdvb2dsZS5j b20+OyBUb20gTGVuZGFja3kNCj4gPHRob21hcy5sZW5kYWNreUBhbWQuY29tPjsgQWt0YXMsIEVy ZGVtIDxlcmRlbWFrdGFzQGdvb2dsZS5jb20+OyBHZXJkDQo+IEhvZmZtYW5uIDxrcmF4ZWxAcmVk aGF0LmNvbT47IE1pY2hhZWwgUm90aCA8bWljaGFlbC5yb3RoQGFtZC5jb20+OyBYdSwNCj4gTWlu IE0gPG1pbi5tLnh1QGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFU Q0hdIE92bWZQa2c6IEhhcmRlbiAjVkMgaW5zdHJ1Y3Rpb24gZW11bGF0aW9uDQo+IHNvbWV3aGF0 IChDVkUtMjAyNC0yNTc0MikNCj4gDQo+IE9uIFdlZCwgQXByIDE3LCAyMDI0IGF0IDEwOjA44oCv QU0gQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz4gd3JvdGU6DQo+ID4NCj4gPiAoY2Mg Smlld2VuKQ0KPiA+DQo+ID4gUGxlYXNlIGNjIHRoZSBPVk1GIG1haW50YWluZXJzIHdoZW4geW91 IHNlbmQgZWRrMiBwYXRjaGVzLiAoVGhlcmUgaXMgYQ0KPiA+IE1haW50YWluZXJzIGZpbGUgaW4g dGhlIHJvb3Qgb2YgdGhlIHJlcG8pDQo+IA0KPiBUaGFua3MsIEkgYWRkZWQgZXZlcnlvbmUgcmV0 dXJuZWQgZnJvbSB0aGUgR2V0TWFpbnRhaW5lci5weSBzY3JpcHQuDQo+IA0KPiA+IE9uIFdlZCwg MTcgQXByIDIwMjQgYXQgMTg6NTQsIEFkYW0gRHVubGFwIHZpYSBncm91cHMuaW8NCj4gPiA8YWNk dW5sYXA9Z29vZ2xlLmNvbUBncm91cHMuaW8+IHdyb3RlOg0KPiA+ID4NCj4gPiA+IEVuc3VyZSB0 aGF0IHdoZW4gYSAjVkMgZXhjZXB0aW9uIGhhcHBlbnMsIHRoZSBpbnN0cnVjdGlvbiBhdCB0aGUN Cj4gPiA+IGluc3RydWN0aW9uIHBvaW50ZXIgbWF0Y2hlcyB0aGUgaW5zdHJ1Y3Rpb24gdGhhdCBp cyBleHBlY3RlZCBnaXZlbiB0aGUNCj4gPiA+IGVycm9yIGNvZGUuIFRoaXMgaXMgdG8gbWl0aWdh dGUgdGhlIGFob2kgV2VTZWUgYXR0YWNrIFsxXSB0aGF0IGNvdWxkDQo+ID4gPiBhbGxvdyBoeXBl cnZpc29ycyB0byBicmVhY2ggaW50ZWdyaXR5IGFuZCBjb25maWRlbnRpYWxpdHkgb2YgdGhlDQo+ ID4gPiBmaXJtd2FyZSBieSBtYWxpY2lvdXNseSBpbmplY3RpbmcgaW50ZXJydXB0cy4gVGhpcyBj aGFuZ2UgaXMgYQ0KPiA+ID4gdHJhbnNsYXRlZCB2ZXJzaW9uIG9mIGEgbGludXggcGF0Y2ggZTNl ZjQ2MWFmMzVhICgieDg2L3NldjogSGFyZGVuICNWQw0KPiA+ID4gaW5zdHJ1Y3Rpb24gZW11bGF0 aW9uIHNvbWV3aGF0IikNCj4gPiA+DQo+ID4gPiBbMV0gaHR0cHM6Ly9haG9pLWF0dGFja3MuZ2l0 aHViLmlvL3dlc2VlLw0KPiA+ID4NCj4gPiA+IENjOiBCb3Jpc2xhdiBQZXRrb3YgKEFNRCkgPGJw QGFsaWVuOC5kZT4NCj4gPiA+IENjOiBUb20gTGVuZGFja3kgPHRob21hcy5sZW5kYWNreUBhbWQu Y29tPg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogQWRhbSBEdW5sYXAgPGFjZHVubGFwQGdvb2dsZS5j b20+DQo+ID4gPiAtLS0NCj4gPiA+ICBPdm1mUGtnL0xpYnJhcnkvQ2NFeGl0TGliL0NjRXhpdFZj SGFuZGxlci5jIHwgMTcxICsrKysrKysrKysrKysrKysrKy0tDQo+ID4gPiAgMSBmaWxlIGNoYW5n ZWQsIDE2MCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkNCj4gPiA+DQo+ID4gPiBkaWZm IC0tZ2l0IGEvT3ZtZlBrZy9MaWJyYXJ5L0NjRXhpdExpYi9DY0V4aXRWY0hhbmRsZXIuYw0KPiBi L092bWZQa2cvTGlicmFyeS9DY0V4aXRMaWIvQ2NFeGl0VmNIYW5kbGVyLmMNCj4gPiA+IGluZGV4 IDBmYzMwZjdiYzQuLmJkM2U5ZjMwNGEgMTAwNjQ0DQo+ID4gPiAtLS0gYS9Pdm1mUGtnL0xpYnJh cnkvQ2NFeGl0TGliL0NjRXhpdFZjSGFuZGxlci5jDQo+ID4gPiArKysgYi9Pdm1mUGtnL0xpYnJh cnkvQ2NFeGl0TGliL0NjRXhpdFZjSGFuZGxlci5jDQo+ID4gPiBAQCAtNTMyLDggKzUzMiw2IEBA IE13YWl0RXhpdCAoDQo+ID4gPiAgICBJTiAgICAgQ0NfSU5TVFJVQ1RJT05fREFUQSAgICAgKklu c3RydWN0aW9uRGF0YQ0KPiA+ID4gICAgKQ0KPiA+ID4gIHsNCj4gPiA+IC0gIENjRGVjb2RlTW9k Um0gKFJlZ3MsIEluc3RydWN0aW9uRGF0YSk7DQo+ID4gPiAtDQo+ID4gPiAgICBHaGNiLT5TYXZl QXJlYS5SYXggPSBSZWdzLT5SYXg7DQo+ID4gPiAgICBDY0V4aXRWbWdTZXRPZmZzZXRWYWxpZCAo R2hjYiwgR2hjYlJheCk7DQo+ID4gPiAgICBHaGNiLT5TYXZlQXJlYS5SY3ggPSBSZWdzLT5SY3g7 DQo+ID4gPiBAQCAtNTY0LDggKzU2Miw2IEBAIE1vbml0b3JFeGl0ICgNCj4gPiA+ICAgIElOICAg ICBDQ19JTlNUUlVDVElPTl9EQVRBICAgICAqSW5zdHJ1Y3Rpb25EYXRhDQo+ID4gPiAgICApDQo+ ID4gPiAgew0KPiA+ID4gLSAgQ2NEZWNvZGVNb2RSbSAoUmVncywgSW5zdHJ1Y3Rpb25EYXRhKTsN Cj4gPiA+IC0NCj4gPiA+ICAgIEdoY2ItPlNhdmVBcmVhLlJheCA9IFJlZ3MtPlJheDsgIC8vIElk ZW50aXR5IG1hcHBlZCwgc28gVkEgPSBQQQ0KPiA+ID4gICAgQ2NFeGl0Vm1nU2V0T2Zmc2V0VmFs aWQgKEdoY2IsIEdoY2JSYXgpOw0KPiA+ID4gICAgR2hjYi0+U2F2ZUFyZWEuUmN4ID0gUmVncy0+ UmN4Ow0KPiA+ID4gQEAgLTY3MCw4ICs2NjYsNiBAQCBWbW1DYWxsRXhpdCAoDQo+ID4gPiAgew0K PiA+ID4gICAgVUlOVDY0ICBTdGF0dXM7DQo+ID4gPg0KPiA+ID4gLSAgQ2NEZWNvZGVNb2RSbSAo UmVncywgSW5zdHJ1Y3Rpb25EYXRhKTsNCj4gPiA+IC0NCj4gPiA+ICAgIEdoY2ItPlNhdmVBcmVh LlJheCA9IFJlZ3MtPlJheDsNCj4gPiA+ICAgIENjRXhpdFZtZ1NldE9mZnNldFZhbGlkIChHaGNi LCBHaGNiUmF4KTsNCj4gPiA+ICAgIEdoY2ItPlNhdmVBcmVhLkNwbCA9IChVSU5UOCkoUmVncy0+ Q3MgJiAweDMpOw0KPiA+ID4gQEAgLTE2MDMsOCArMTU5Nyw2IEBAIERyN1dyaXRlRXhpdCAoDQo+ ID4gPiAgICBFeHQgICAgICAgPSAmSW5zdHJ1Y3Rpb25EYXRhLT5FeHQ7DQo+ID4gPiAgICBTZXZF c0RhdGEgPSAoU0VWX0VTX1BFUl9DUFVfREFUQSAqKShHaGNiICsgMSk7DQo+ID4gPg0KPiA+ID4g LSAgQ2NEZWNvZGVNb2RSbSAoUmVncywgSW5zdHJ1Y3Rpb25EYXRhKTsNCj4gPiA+IC0NCj4gPiA+ ICAgIC8vDQo+ID4gPiAgICAvLyBNT1YgRFJuIGFsd2F5cyB0cmVhdHMgTU9EID09IDMgbm8gbWF0 dGVyIGhvdyBlbmNvZGVkDQo+ID4gPiAgICAvLw0KPiA+ID4gQEAgLTE2NTUsOCArMTY0Nyw2IEBA IERyN1JlYWRFeGl0ICgNCj4gPiA+ICAgIEV4dCAgICAgICA9ICZJbnN0cnVjdGlvbkRhdGEtPkV4 dDsNCj4gPiA+ICAgIFNldkVzRGF0YSA9IChTRVZfRVNfUEVSX0NQVV9EQVRBICopKEdoY2IgKyAx KTsNCj4gPiA+DQo+ID4gPiAtICBDY0RlY29kZU1vZFJtIChSZWdzLCBJbnN0cnVjdGlvbkRhdGEp Ow0KPiA+ID4gLQ0KPiA+ID4gICAgLy8NCj4gPiA+ICAgIC8vIE1PViBEUm4gYWx3YXlzIHRyZWF0 cyBNT0QgPT0gMyBubyBtYXR0ZXIgaG93IGVuY29kZWQNCj4gPiA+ICAgIC8vDQo+ID4gPiBAQCAt MTY3MSw2ICsxNjYxLDE2MCBAQCBEcjdSZWFkRXhpdCAoDQo+ID4gPiAgICByZXR1cm4gMDsNCj4g PiA+ICB9DQo+ID4gPg0KPiA+ID4gKy8qKg0KPiA+ID4gKyAgQ2hlY2sgdGhhdCB0aGUgb3Bjb2Rl IG1hdGNoZXMgdGhlIGV4aXQgY29kZSBmb3IgYSAjVkMuDQo+ID4gPiArDQo+ID4gPiArICBFYWNo IGV4aXQgY29kZSBzaG91bGQgb25seSBiZSByYWlzZWQgd2hpbGUgZXhlY3V0aW5nIGNlcnRhaW4g aW5zdHJ1Y3Rpb25zLg0KPiA+ID4gKyAgVmVyaWZ5IHRoYXQgcklQIHBvaW50cyB0byBhIGNvcnJl Y3QgaW5zdHJ1Y3Rpb24gYmFzZWQgb24gdGhlIGV4aXQgY29kZSB0bw0KPiA+ID4gKyAgcHJvdGVj dCBhZ2FpbnN0IG1hbGljaW91c2x5IGluamVjdGVkIGludGVycnVwdHMgdmlhIHRoZSBoeXBlcnZp c29yLiBJZiBpdCBkb2VzDQo+ID4gPiArICBub3QsIHJlcG9ydCBhbiB1bnN1cHBvcnRlZCBldmVu dCB0byB0aGUgaHlwZXJ2aXNvci4NCj4gPiA+ICsNCj4gPiA+ICsgIERlY29kZXMgdGhlIE1vZFJt IGJ5dGUgaW50byBJbnN0cnVjdGlvbkRhdGEgaWYgbmVjZXNzYXJ5Lg0KPiA+ID4gKw0KPiA+ID4g KyAgQHBhcmFtW2luLCBvdXRdIEdoY2IgICAgICAgICAgICAgUG9pbnRlciB0byB0aGUgR3Vlc3Qt SHlwZXJ2aXNvcg0KPiBDb21tdW5pY2F0aW9uDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCbG9jaw0KPiA+ID4gKyAgQHBhcmFtW2luLCBvdXRdIFJlZ3MgICAgICAg ICAgICAgeDY0IHByb2Nlc3NvciBjb250ZXh0DQo+ID4gPiArICBAcGFyYW1baW4sIG91dF0gSW5z dHJ1Y3Rpb25EYXRhICBJbnN0cnVjdGlvbiBwYXJzaW5nIGNvbnRleHQNCj4gPiA+ICsgIEBwYXJh bVtpbl0gICAgICBFeGl0Q29kZSAgICAgICAgIEV4aXQgY29kZSBnaXZlbiBieSAjVkMuDQo+ID4g PiArDQo+ID4gPiArICBAcmV0dmFsIDAgICAgICAgICAgICAgICAgICAgICAgICBObyBwcm9ibGVt cyBkZXRlY3RlZC4NCj4gPiA+ICsgIEByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICAgIE5l dyBleGNlcHRpb24gdmFsdWUgdG8gcHJvcGFnYXRlDQo+ID4gPiArDQo+ID4gPiArDQo+ID4gPiAr KiovDQo+ID4gPiArU1RBVElDDQo+ID4gPiArVUlOVDY0DQo+ID4gPiArVmNDaGVja09wY29kZUJ5 dGVzICgNCj4gPiA+ICsgIElOIE9VVCBHSENCICAgICAgICAgICAgICAgICAgICAqR2hjYiwNCj4g PiA+ICsgIElOIE9VVCBFRklfU1lTVEVNX0NPTlRFWFRfWDY0ICAqUmVncywNCj4gPiA+ICsgIElO IE9VVCBDQ19JTlNUUlVDVElPTl9EQVRBICAgICAqSW5zdHJ1Y3Rpb25EYXRhLA0KPiA+ID4gKyAg SU4gICAgIFVJTlQ2NCAgICAgICAgICAgICAgICAgIEV4aXRDb2RlDQo+ID4gPiArICApDQo+ID4g PiArew0KPiA+ID4gKyAgVUlOVDggIE9wQ29kZTsNCj4gPiA+ICsNCj4gPiA+ICsgIC8vDQo+ID4g PiArICAvLyBFeHBlY3RlZCBvcGNvZGVzIGFyZSBlaXRoZXIgMSBvciAyIGJ5dGVzLiBJZiB0aGV5 IGFyZSAyIGJ5dGVzLCB0aGV5IGFsd2F5cw0KPiA+ID4gKyAgLy8gc3RhcnQgd2l0aCBUV09fQllU RV9PUENPREVfRVNDQVBFICgweDBmKSwgc28gc2tpcCBvdmVyIHRoYXQuDQo+ID4gPiArICAvLw0K PiA+ID4gKyAgT3BDb2RlID0gKihJbnN0cnVjdGlvbkRhdGEtPk9wQ29kZXMpOw0KPiA+ID4gKyAg aWYgKE9wQ29kZSA9PSBUV09fQllURV9PUENPREVfRVNDQVBFKSB7DQo+ID4gPiArICAgIE9wQ29k ZSA9ICooSW5zdHJ1Y3Rpb25EYXRhLT5PcENvZGVzICsgMSk7DQo+ID4gPiArICB9DQo+ID4gPiAr DQo+ID4gPiArICBzd2l0Y2ggKEV4aXRDb2RlKSB7DQo+ID4gPiArICAgIGNhc2UgU1ZNX0VYSVRf SU9JT19QUk9UOg0KPiA+ID4gKyAgICBjYXNlIFNWTV9FWElUX05QRjoNCj4gPiA+ICsgICAgICAv KiBoYW5kbGVkIHNlcGFyYXRlbHkgKi8NCj4gPiA+ICsgICAgICByZXR1cm4gMDsNCj4gPiA+ICsN Cj4gPiA+ICsgICAgY2FzZSBTVk1fRVhJVF9DUFVJRDoNCj4gPiA+ICsgICAgICBpZiAoT3BDb2Rl ID09IDB4YTIpIHsNCj4gPiA+ICsgICAgICAgIHJldHVybiAwOw0KPiA+ID4gKyAgICAgIH0NCj4g PiA+ICsNCj4gPiA+ICsgICAgICBicmVhazsNCj4gPiA+ICsNCj4gPiA+ICsgICAgY2FzZSBTVk1f RVhJVF9JTlZEOg0KPiA+ID4gKyAgICAgIGJyZWFrOw0KPiA+ID4gKw0KPiA+ID4gKyAgICBjYXNl IFNWTV9FWElUX01PTklUT1I6DQo+ID4gPiArICAgICAgQ2NEZWNvZGVNb2RSbSAoUmVncywgSW5z dHJ1Y3Rpb25EYXRhKTsNCj4gPiA+ICsNCj4gPiA+ICsgICAgICBpZiAoKE9wQ29kZSA9PSAweDAx KSAmJiAoSW5zdHJ1Y3Rpb25EYXRhLT5Nb2RSbS5VaW50OCA9PSAweGM4KSkgew0KPiA+ID4gKyAg ICAgICAgcmV0dXJuIDA7DQo+ID4gPiArICAgICAgfQ0KPiA+ID4gKw0KPiA+ID4gKyAgICAgIGJy ZWFrOw0KPiA+ID4gKw0KPiA+ID4gKyAgICBjYXNlIFNWTV9FWElUX01XQUlUOg0KPiA+ID4gKyAg ICAgIENjRGVjb2RlTW9kUm0gKFJlZ3MsIEluc3RydWN0aW9uRGF0YSk7DQo+ID4gPiArDQo+ID4g PiArICAgICAgaWYgKChPcENvZGUgPT0gMHgwMSkgJiYgKEluc3RydWN0aW9uRGF0YS0+TW9kUm0u VWludDggPT0gMHhjOSkpIHsNCj4gPiA+ICsgICAgICAgIHJldHVybiAwOw0KPiA+ID4gKyAgICAg IH0NCj4gPiA+ICsNCj4gPiA+ICsgICAgICBicmVhazsNCj4gPiA+ICsNCj4gPiA+ICsgICAgY2Fz ZSBTVk1fRVhJVF9NU1I6DQo+ID4gPiArICAgICAgLyogUkRNU1IgKi8NCj4gPiA+ICsgICAgICBp ZiAoKE9wQ29kZSA9PSAweDMyKSB8fA0KPiA+ID4gKyAgICAgICAgICAvKiBXUk1TUiAqLw0KPiA+ ID4gKyAgICAgICAgICAoT3BDb2RlID09IDB4MzApKQ0KPiA+ID4gKyAgICAgIHsNCj4gPiA+ICsg ICAgICAgIHJldHVybiAwOw0KPiA+ID4gKyAgICAgIH0NCj4gPiA+ICsNCj4gPiA+ICsgICAgICBi cmVhazsNCj4gPiA+ICsNCj4gPiA+ICsgICAgY2FzZSBTVk1fRVhJVF9SRFBNQzoNCj4gPiA+ICsg ICAgICBpZiAoT3BDb2RlID09IDB4MzMpIHsNCj4gPiA+ICsgICAgICAgIHJldHVybiAwOw0KPiA+ ID4gKyAgICAgIH0NCj4gPiA+ICsNCj4gPiA+ICsgICAgICBicmVhazsNCj4gPiA+ICsNCj4gPiA+ ICsgICAgY2FzZSBTVk1fRVhJVF9SRFRTQzoNCj4gPiA+ICsgICAgICBpZiAoT3BDb2RlID09IDB4 MzEpIHsNCj4gPiA+ICsgICAgICAgIHJldHVybiAwOw0KPiA+ID4gKyAgICAgIH0NCj4gPiA+ICsN Cj4gPiA+ICsgICAgICBicmVhazsNCj4gPiA+ICsNCj4gPiA+ICsgICAgY2FzZSBTVk1fRVhJVF9S RFRTQ1A6DQo+ID4gPiArICAgICAgQ2NEZWNvZGVNb2RSbSAoUmVncywgSW5zdHJ1Y3Rpb25EYXRh KTsNCj4gPiA+ICsNCj4gPiA+ICsgICAgICBpZiAoKE9wQ29kZSA9PSAweDAxKSAmJiAoSW5zdHJ1 Y3Rpb25EYXRhLT5Nb2RSbS5VaW50OCA9PSAweGY5KSkgew0KPiA+ID4gKyAgICAgICAgcmV0dXJu IDA7DQo+ID4gPiArICAgICAgfQ0KPiA+ID4gKw0KPiA+ID4gKyAgICAgIGJyZWFrOw0KPiA+ID4g Kw0KPiA+ID4gKyAgICBjYXNlIFNWTV9FWElUX0RSN19SRUFEOg0KPiA+ID4gKyAgICAgIENjRGVj b2RlTW9kUm0gKFJlZ3MsIEluc3RydWN0aW9uRGF0YSk7DQo+ID4gPiArDQo+ID4gPiArICAgICAg aWYgKChPcENvZGUgPT0gMHgyMSkgJiYNCj4gPiA+ICsgICAgICAgICAgKEluc3RydWN0aW9uRGF0 YS0+RXh0Lk1vZFJtLlJlZyA9PSA3KSkNCj4gPiA+ICsgICAgICB7DQo+ID4gPiArICAgICAgICBy ZXR1cm4gMDsNCj4gPiA+ICsgICAgICB9DQo+ID4gPiArDQo+ID4gPiArICAgICAgYnJlYWs7DQo+ ID4gPiArDQo+ID4gPiArICAgIGNhc2UgU1ZNX0VYSVRfVk1NQ0FMTDoNCj4gPiA+ICsgICAgICBD Y0RlY29kZU1vZFJtIChSZWdzLCBJbnN0cnVjdGlvbkRhdGEpOw0KPiA+ID4gKw0KPiA+ID4gKyAg ICAgIGlmICgoT3BDb2RlID09IDB4MDEpICYmIChJbnN0cnVjdGlvbkRhdGEtPk1vZFJtLlVpbnQ4 ID09IDB4ZDkpKSB7DQo+ID4gPiArICAgICAgICByZXR1cm4gMDsNCj4gPiA+ICsgICAgICB9DQo+ ID4gPiArDQo+ID4gPiArICAgICAgYnJlYWs7DQo+ID4gPiArDQo+ID4gPiArICAgIGNhc2UgU1ZN X0VYSVRfRFI3X1dSSVRFOg0KPiA+ID4gKyAgICAgIENjRGVjb2RlTW9kUm0gKFJlZ3MsIEluc3Ry dWN0aW9uRGF0YSk7DQo+ID4gPiArDQo+ID4gPiArICAgICAgaWYgKChPcENvZGUgPT0gMHgyMykg JiYNCj4gPiA+ICsgICAgICAgICAgKEluc3RydWN0aW9uRGF0YS0+RXh0Lk1vZFJtLlJlZyA9PSA3 KSkNCj4gPiA+ICsgICAgICB7DQo+ID4gPiArICAgICAgICByZXR1cm4gMDsNCj4gPiA+ICsgICAg ICB9DQo+ID4gPiArDQo+ID4gPiArICAgICAgYnJlYWs7DQo+ID4gPiArDQo+ID4gPiArICAgIGNh c2UgU1ZNX0VYSVRfV0JJTlZEOg0KPiA+ID4gKyAgICAgIGlmIChPcENvZGUgPT0gMHg5KSB7DQo+ ID4gPiArICAgICAgICByZXR1cm4gMDsNCj4gPiA+ICsgICAgICB9DQo+ID4gPiArDQo+ID4gPiAr ICAgICAgYnJlYWs7DQo+ID4gPiArDQo+ID4gPiArICAgIGRlZmF1bHQ6DQo+ID4gPiArICAgICAg YnJlYWs7DQo+ID4gPiArICB9DQo+ID4gPiArDQo+ID4gPiArICByZXR1cm4gVW5zdXBwb3J0ZWRF eGl0IChHaGNiLCBSZWdzLCBJbnN0cnVjdGlvbkRhdGEpOw0KPiA+ID4gK30NCj4gPiA+ICsNCj4g PiA+ICAvKioNCj4gPiA+ICAgIEhhbmRsZSBhICNWQyBleGNlcHRpb24uDQo+ID4gPg0KPiA+ID4g QEAgLTE3NzMsNyArMTkxNywxMiBAQCBJbnRlcm5hbFZtZ0V4aXRIYW5kbGVWYyAoDQo+ID4gPg0K PiA+ID4gICAgQ2NJbml0SW5zdHJ1Y3Rpb25EYXRhICgmSW5zdHJ1Y3Rpb25EYXRhLCBHaGNiLCBS ZWdzKTsNCj4gPiA+DQo+ID4gPiAtICBTdGF0dXMgPSBOYWVFeGl0IChHaGNiLCBSZWdzLCAmSW5z dHJ1Y3Rpb25EYXRhKTsNCj4gPiA+ICsgIFN0YXR1cyA9IFZjQ2hlY2tPcGNvZGVCeXRlcyAoR2hj YiwgUmVncywgJkluc3RydWN0aW9uRGF0YSwgRXhpdENvZGUpOw0KPiA+ID4gKw0KPiA+ID4gKyAg aWYgKFN0YXR1cyA9PSAwKSB7DQo+ID4gPiArICAgIFN0YXR1cyA9IE5hZUV4aXQgKEdoY2IsIFJl Z3MsICZJbnN0cnVjdGlvbkRhdGEpOw0KPiA+ID4gKyAgfQ0KPiA+ID4gKw0KPiA+DQo+ID4gVGhp cyBsb29rcyBhIGJpdCBkb2RneS4gRmlyc3Qgb2YgYWxsLCBJIGhhdmUgYSBwZXJzb25hbCBkaXNs aWtlIG9mDQo+ID4gdGhpcyAnc3VjY2VzcyBoYW5kbGluZycgYW50aS1wYXR0ZXJuLCBidXQgbW9y ZSBpbXBvcnRhbnRseSwgaXQgc2VlbXMNCj4gPiBsaWtlIHdlIGFyZSByZWx5aW5nIGhlcmUgb24g VmNDaGVja09wY29kZUJ5dGVzKCkgbmV2ZXIgcmV0dXJuaW5nIG9uDQo+ID4gZmFpbHVyZSwgcmln aHQ/IElmIHNvLCB0aGF0IGF0IGxlYXN0IG5lZWRzIGEgY29tbWVudC4NCj4gPg0KPiANCj4gSWYg VmNDaGVja09wY29kZUJ5dGVzKCkgcmV0dXJucyBmYWlsdXJlLCB0aGF0IG1lYW5zIGl0IHRoaW5r cyB0aGF0IHRoZSAjVkMgd2FzDQo+IGludmFsaWQvaW5qZWN0ZWQgbWFsaWNpb3VzbHkgYW5kIHRo YXQgdGhlIGd1ZXN0IHNob3VsZCBhYm9ydC4gRnJvbSByZWFkaW5nIHRoZQ0KPiBjb2RlIGluIHRo aXMgZmlsZSwgaXQgbG9va3MgbGlrZSBjYWxsaW5nIFVuc3VwcG9ydGVkRXhpdCgpIGFuZCByZXR1 cm5pbmcgaXRzDQo+IHJldHVybiB2YWx1ZSBpcyB0aGUgc3RhbmRhcmQgd2F5IG9mIGRvaW5nIHRo aXMuIElmIFVuc3VwcG9ydGVkRXhpdCgpIGRvZXNuJ3QNCj4gYWJvcnQgYW5kIGluc3RlYWQgcmV0 dXJucyBub3JtYWxseSBmb3Igd2hhdGV2ZXIgcmVhc29uLCBpdCB3aWxsIGp1c3QgaWdub3JlIHRo ZQ0KPiBleGNlcHRpb24gd2hpY2ggc2VlbXMgbGlrZSBhY2NlcHRhYmxlIGJlaGF2aW9yLiBNYXli ZSBhZGQgYSBjb21tZW50IGxpa2UNCj4gDQo+IC8qIElmIHRoZSBvcGNvZGUgZG9lcyBub3QgbWF0 Y2ggdGhlIGV4aXQgY29kZSwgZG8gbm90IHByb2Nlc3MgdGhlIGV4Y2VwdGlvbiAqLw0KPiANCj4g SWYgd2UgY291bGQgZW5zdXJlIHRoYXQgVW5zdXBwb3J0ZWRFeGl0KCkgYWx3YXlzIGRpdmVyZ2Vk IChpLmUuIG5ldmVyIHJldHVybmVkKQ0KPiB0aGVuIHRoZSBjb2RlIGNvdWxkIGJlIGEgYml0IHNp bXBsZXIgc2luY2UgaXQgd291bGRuJ3QgbmVlZCB0byBoYW5kbGUgZXJyb3INCj4gY2FzZXMuDQo+ IA0KPiA+ID4gICAgaWYgKFN0YXR1cyA9PSAwKSB7DQo+ID4gPiAgICAgIFJlZ3MtPlJpcCArPSBD Y0luc3RydWN0aW9uTGVuZ3RoICgmSW5zdHJ1Y3Rpb25EYXRhKTsNCj4gPiA+ICAgIH0gZWxzZSB7 DQo+ID4gPiAtLQ0KPiA+ID4gMi40NC4wLjY4My5nNzk2MWM4MzhhYy1nb29nDQo+ID4gPg0KPiA+ ID4NCj4gPiA+DQo+ID4gPiANCj4gPiA+DQo+ID4gPg0KDQoKLT0tPS09LT0tPS09LT0tPS09LT0t PS0KR3JvdXBzLmlvIExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0aGlz IGdyb3VwLgpWaWV3L1JlcGx5IE9ubGluZSAoIzExNzk2Nik6IGh0dHBzOi8vZWRrMi5ncm91cHMu aW8vZy9kZXZlbC9tZXNzYWdlLzExNzk2NgpNdXRlIFRoaXMgVG9waWM6IGh0dHBzOi8vZ3JvdXBz LmlvL210LzEwNTU4MTYzMy83Njg2MTc2Ck11dGUgI3ZjOmh0dHBzOi8vZWRrMi5ncm91cHMuaW8v Zy9kZXZlbC9tdXRlaGFzaHRhZy92YwpHcm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91 cHMuaW8KVW5zdWJzY3JpYmU6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC91bnN1YiBb cmViZWNjYUBvcGVuZncuaW9dCi09LT0tPS09LT0tPS09LT0tPS09LT0tCgoNCg==