From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web09.8834.1616740412021213354 for ; Thu, 25 Mar 2021 23:33:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=NszW+mLi; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: w.sheng@intel.com) IronPort-SDR: R2dL5cDUaHxxCsYJqtecg1ifqXvhQYxlZTamQOo3xmZ4l68RCAmsSzd+UiGFWaZlWdf1FvB9a8 j0dialjJU/Ng== X-IronPort-AV: E=McAfee;i="6000,8403,9934"; a="178207365" X-IronPort-AV: E=Sophos;i="5.81,279,1610438400"; d="scan'208";a="178207365" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 23:33:30 -0700 IronPort-SDR: VE99M2BMlG82k37nBUCj1DccMvfeoCjjpk0zDeMAvXEBmt/p1uW1AIKdgMskYJM5S6p778qR8b u7ZA7KYIbihw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,279,1610438400"; d="scan'208";a="443694303" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by FMSMGA003.fm.intel.com with ESMTP; 25 Mar 2021 23:33:28 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.2106.2; Thu, 25 Mar 2021 23:33:26 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Thu, 25 Mar 2021 23:33:26 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.54) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Thu, 25 Mar 2021 23:33:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V85yVzh+Em0m3ncbzpKil3TJYby/f0/08WDML7wre3A4VyzyjfLx2PzuGJZ09VUhxIX2QiBt+RvqNC0wzPDQadKlc9awL2wo+7PyVIBvsG0cxZlpdH/PwsLEEEy+B6yL8bEBI3B53ATsvTXfyN8CklRwsOlzzSjBLiaKKh3OYECZKlTTBjzrS//AUKehJsTEtpNwDQG5yl89ZARZWPORI+xdbEvME6OV6+A/BsQd7TcfeDeIvQEDFB918qMtmHNzEMtrtj6Sl2eBsMxH8UK6ZL82mKXhCh/5ZXMZfLUYagh/jKXLdKr79dU89/3skvnHZz0onRtwyPP24yWvC5/r5w== 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=TBZd9EoE5hQ0U2RMJua8kcreymqbMp7qDnuhT7ednU8=; b=kU/Xo07ETJ8E0XB4gF7E+hWPNzD0dBH50/+VsZSKFUWqPMOfh7CAJ6UE56PTu2beNrZzPcwWRHNqwl+rJO3WATbpMowbZ6cN6Ivbf27KRiTaOIP9E3MBGOvdbak8HUJEtvztF+5lXJTi7OMaTPLhf2A1QsVE9e0+26gM7Ky2jajdNtPEv3YyOeVysx6KT16iAC7CZUpP/evmkMqiLz/VX44Ty1/uwTur7/mwrhb8hU6dpHRFy/wqvERThwwu9hwFbrSfCgkP0Dcs9omqmeAwJzYPFMUkY5j81S22K9FMNRJs6fQ606e2qW6O1vRB4O59El1llpn14yXQSNgou65iKA== 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=TBZd9EoE5hQ0U2RMJua8kcreymqbMp7qDnuhT7ednU8=; b=NszW+mLiQMvWJJuzx00keNg4kqNFFBxkcEle/ljpeIKebxcLSHKok3I4gyRDuXIIesdciX3jn/XRULh6/H+0yhzHIa4t9h1fWsXURx5Yg+7Z8F+rsAqHsIknjGPK4dzS432ApT+aadiLrSWtoxrPCtd72ILerbXVOBHtfKCAOrI= Received: from MN2PR11MB4479.namprd11.prod.outlook.com (2603:10b6:208:17b::32) by MN2PR11MB4615.namprd11.prod.outlook.com (2603:10b6:208:263::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.30; Fri, 26 Mar 2021 06:33:21 +0000 Received: from MN2PR11MB4479.namprd11.prod.outlook.com ([fe80::cc6b:3ea8:355a:cae8]) by MN2PR11MB4479.namprd11.prod.outlook.com ([fe80::cc6b:3ea8:355a:cae8%6]) with mapi id 15.20.3977.025; Fri, 26 Mar 2021 06:33:21 +0000 From: "Sheng Wei" To: "Yao, Jiewen" , "devel@edk2.groups.io" CC: "Dong, Eric" , "Ni, Ray" , "Laszlo Ersek" , "Kumar, Rahul1" , "Feng, Roger" Subject: Re: [PATCH] UefiCpuPkg/PiSmmCpuDxeSmm: Support detect SMM shadow stack overflow Thread-Topic: [PATCH] UefiCpuPkg/PiSmmCpuDxeSmm: Support detect SMM shadow stack overflow Thread-Index: AQHXIgcuG+0P80JiW1e9tmFv25wDR6qVzAMg Date: Fri, 26 Mar 2021 06:33:20 +0000 Message-ID: References: <20210326060413.7760-1-w.sheng@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.55] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b5366396-094a-43f3-3d13-08d8f0210cc9 x-ms-traffictypediagnostic: MN2PR11MB4615: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oC8uB+j/AIOWfKJE2NG0JtPf5vqCjZ03tgaqNfCxjo97d4nGP5LJkH74BPBae7b2hULnsIo3jlbv6z5wxx6WPEtnJ+gQhtujKstQUPe5HdRXWf/GUq6cpts7i6P5KvbwolmaRYxV763FM3wmcrv1DAV+caqDyJXfpJ9Weol3KSZAigk668Y9G2Wg0lz89D6x+MVphd93wuyoJxAZR5hR+TpAX0xfJdUBCmaxHo39smcIAkQTG1xPC/dNcmfO6peNPMg0kSEdaOirYV1sAt+cC8TLMIaO013txbFM69GDT4F4JkmyeI4eIMwchUALlaXr+IMhQ7wbu7nZT2avqPvxEi4MtoE2SW5sQK4qeQfXKLkNjyVP5QyRYgXlO8vKayumYuX+0Ov5F/R1BRrl0wRkwPTLcyUk9KZbjQ8u7GiF5Myex/ChtqK0ZasBU31Wb2homW7prwnBXvsGTG8R3k7wv9k7QZ4QHbQz0ZPthNlZegommPgQDDxSi+8EezbHcmk2xyL/vjQBrRSVddife+E6RH0/uw0vzqHIDx6BaHkyeeOCM3CNUfLDjUK2ujR+uhZTjWy8eKFdscVXjINh6cwtLQ+3XeUZczwymWEA+UjCZ3K9CiAiMf6b/A693PL9q99NkyFIIigdQQyMnMoH9OYwYH1sCNjo66nw+uijCy1j4JV26zTN1/R7UhrIR9iwh6Tc4J8HGs8eMo0W+v+9JFxP5X38ExFxpvvjftDtfR/6dI4qfSixKsTRx6W6DRid6yJa x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4479.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(376002)(136003)(396003)(39860400002)(366004)(346002)(316002)(4326008)(26005)(71200400001)(110136005)(8676002)(52536014)(54906003)(107886003)(186003)(64756008)(5660300002)(19627235002)(6506007)(55016002)(53546011)(38100700001)(966005)(8936002)(2906002)(83380400001)(9686003)(33656002)(76116006)(7696005)(66556008)(66946007)(478600001)(66476007)(86362001)(66446008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?gb2312?B?Q1dFUHpsWkMrbjZ2WG05R1FDYUI4OTcxdzkzVEdDYkJpQ1AyVUhHT3Q1dTlr?= =?gb2312?B?cEo4SlZuZ1JqRTMxU2Q3MnV3aWYwOGhXV215cVJJUjZFZlFPZXFnM0thTk1R?= =?gb2312?B?V3pyRFhDQm9vQWZUMUl3ZlFVd3NvV1dkKzdZaEJrWUEyRURkb2p4RHhIVlds?= =?gb2312?B?U0RZaVEvcGJPbXVIS3U1dHJpWHdmOXl1SjFvS3FoZGxQTTlCK1dwem1vUXlQ?= =?gb2312?B?VXo0TXVtR3Y4bWpONEgrTFVYK2J0WHZiMmJMVCtMZkVmUlJNTURDVDVIbjZX?= =?gb2312?B?aXd6eGhJR0JraFY2bkdTVUJ3Q2NIREFUOHE0ZFRNSHc1Y3R6ejlYQ1BXSGd5?= =?gb2312?B?OFE0dWdTaTBMQm9YSmF5U0hLa1g5VmNHVDE3Uk9hSUJHdkFYRmhWam5mUlo5?= =?gb2312?B?WFdQK0Z2bmh5RFBGQnVWNDh6eWM3TUtSdHZ1NDlzTDNvS0t2bmhablRXMGhm?= =?gb2312?B?VHZmaEVRK2hMaUFqcmNQSHlZWklBU2tRcUNodEtvR0RrbnVBOTRFQnNQVzFw?= =?gb2312?B?WnJLTFd5R0pQS2drbjBxc2ZvY1JCbXlaMkRkdWRUa3hod1J0b0dxQ0xxR29C?= =?gb2312?B?TEt5djNNWnJ3eTdtQTd5M1pveVNNOXJqb1VtamZlNnJ3L202K0owV3ZjZGJn?= =?gb2312?B?alExa1pveUtpYmozTG9UQmw0cnE1dG5FL1FlTG1SVXFYZC9VWnVXdEZOL0Z1?= =?gb2312?B?QTA5T0p1SWRQalFaVnBOUU5BRzdqS2ZsM3ZDdnZWay9wU2RpUnNRZUdMaFQw?= =?gb2312?B?WWdqK3dwWHJML2FqL250N0FWcS9iRUYxbjdDeFQwM2RwR0Z5cFVZQktORTZK?= =?gb2312?B?N0tpWDI5UTlVRUQvTlQvNUZsb1Y1WGZMVSsxR1krOGRnckVGK0lKQVBEM2J1?= =?gb2312?B?L0YySUdaRXZFYndnTURCMURDam50RS9RY1VRZ1hHeVNIL2FHdHRLOEloMVQy?= =?gb2312?B?L2JTTHJWYzhCRnFOWmJvOFpFRXVsT3h0YXEvckRJdVRJNmY1YVFTV3lJbzhn?= =?gb2312?B?cjYzSGs4eUdDSDM0MHZETHZRTndFYVdrVDBCSDlmV0s1UEUzdUxuUnRDWXRV?= =?gb2312?B?cXZCL2wrTFpoK09YTXNCUyt0aE9RMEs1dlJRdnV6RjJSS0plcXdnNHhlZUZt?= =?gb2312?B?aEpIejlYdFdGZEw5UUtHcFpLTWlTM3plUWFPbHVjbHBlNy9zSTd3RlZHT2w0?= =?gb2312?B?SnA1eGU5OXR4VDlDeDAxd2pzZzl5YkRmNmhZQXhWNGVRNHVrR3JIYzNWQXY1?= =?gb2312?B?bVA1ZnFybUdMUlc5S1d4Rkh5dll0OG9xS01IOFhwV3ZmTmxZaU93SFprbVRQ?= =?gb2312?B?eUcrT0VBcUkzbnZXclNlZXFEaVczZ1R1dGpjcE93MUZhSGd1SDZ1c1U2NkQ4?= =?gb2312?B?OEdBT0VUcEtBWnpuNXBXVW9qYW5FRGI2T3c2ZHNHSE5oaStRWGpZSVRxbEdn?= =?gb2312?B?cHk3bkNCN3hHMW4yUVNVY0tHb1pBUGd0QjdreFNjWXVGQTlhZHh6L3pFcGx5?= =?gb2312?B?WEdVNzlCL2tDU083KzAwajJDQkdEVXZOa2tmbUdoV1pxaStVWlI2OHdIbGZX?= =?gb2312?B?MWZ2bWpzUDBDT2xVd1MwMkxhWSt6OTZPalRWUmpMdC9ZWFlNUm1hQ2dKSnli?= =?gb2312?B?TDlVOHNxSE55bzFTdHRBQkpRZmFVR2xHS0NGTU9ucmN3WFpvM3UxTnhMRmd2?= =?gb2312?B?a2RiOVFQV29HOUVpT01OVDFPaXl6WHFPVENaWUJLa3pwaFI3VTlzNkFoejli?= =?gb2312?Q?IQvCgtRsM8cfGZCRsjCaMkfLUG9Ktkhmitg2Luk?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4479.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5366396-094a-43f3-3d13-08d8f0210cc9 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Mar 2021 06:33:21.0218 (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: UvKqv9C8mNjFJIYtPuCQgI3dBwypO+P9craPLFZdrP7MStxyh68Vv/VW50BIOKyPEQci/mJvGK7+VRgLje9xXg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4615 Return-Path: w.sheng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGkgSmlld2VuLA0KSW4gY3VycmVudCBjb2RlLCBpZiBTTU0gc3RhY2sgZ3VhcmQgaXMgZW5hYmxl ZCwgdGhlcmUgaXMgYSBndWFyZCBwYWdlIGF0IHRoZSB0b3Agb2YgU01NIHNoYWRvdyBzdGFjay4N CklmIFNNTSBzaGFkb3cgc3RhY2sgb3ZlcmZsb3cgSGFwcGVucywgaXQgd2lsbCB0b3VjaCB0aGUg Z3VhcmQgcGFnZSwgYW5kIHRyaWdnZXIgdGhlICNQRiBleGNlcHRpb24uDQpJbiB0aGlzIHBhdGNo LCBJIHdpbGwgY2hlY2sgdGhlIFBGQWRkcmVzcyBpbiBTbWlQRkhhbmRsZXIoKSwgaWYgaXQgYmVs b25ncyB0byB0aGUgcmFuZ2Ugb2YgU01NIHNoYWRvdyBzdGFjayBndWFyZCBwYWdlLCBJIHdpbGwg c2hvdyB0aGUgZXJyb3IgbWVzc2FnZS4NCg0KdW5pdCB0ZXN0Og0KSSB1c2UgcmVjdXJzaXZlIGZ1 bmN0aW9uIHRvIGRvIHRoZSB0ZXN0LiBJbiBlYWNoIGZ1bmN0aW9uIGNhbGwsIGl0IHdpbGwgcHVz aCB0aGUgcmV0dXJuIGFkZHJlc3MgdG8gdGhlIFNNTSBzaGFkb3cgc3RhY2suDQpXaGVuIHRoZSBs b29wIHJlYWNoZXMgdG8gYSBjZXJ0YWluIGFtb3VudCwgaXQgd2lsbCBmaW5hbGx5IHRvdWNoIHRo ZSBndWFyZCBwYWdlLCBhbmQgdHJpZ2dlciAjUEYgZXhjZXB0aW9uLg0KDQpUaGFuayB5b3UNCkJS DQpTaGVuZyBXZWkNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBZYW8s IEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+IFNlbnQ6IDIwMjHE6jPUwjI2yNUgMTQ6 MTQNCj4gVG86IFNoZW5nLCBXIDx3LnNoZW5nQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBz LmlvDQo+IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5 Lm5pQGludGVsLmNvbT47IExhc3psbw0KPiBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBLdW1h ciwgUmFodWwxIDxyYWh1bDEua3VtYXJAaW50ZWwuY29tPjsNCj4gRmVuZywgUm9nZXIgPHJvZ2Vy LmZlbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTogW1BBVENIXSBVZWZpQ3B1UGtnL1BpU21t Q3B1RHhlU21tOiBTdXBwb3J0IGRldGVjdCBTTU0NCj4gc2hhZG93IHN0YWNrIG92ZXJmbG93DQo+ IA0KPiBIaQ0KPiBXb3VsZCB5b3UgcGxlYXNlIHNoYXJlIHRoZSBpbmZvIG9uIGhvdyB5b3UgZG8g dW5pdCB0ZXN0IGZvciB0aGUgbmV3IGFkZGVkDQo+IGNvZGU/DQo+IA0KPiBUaGFuayB5b3UNCj4g DQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBTaGVuZywgVyA8dy5z aGVuZ0BpbnRlbC5jb20+DQo+ID4gU2VudDogRnJpZGF5LCBNYXJjaCAyNiwgMjAyMSAyOjA0IFBN DQo+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gQ2M6IERvbmcsIEVyaWMgPGVyaWMu ZG9uZ0BpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsNCj4gPiBMYXN6bG8g RXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgS3VtYXIsIFJhaHVsMQ0KPiA+IDxyYWh1bDEua3Vt YXJAaW50ZWwuY29tPjsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgRmVuZywN Cj4gPiBSb2dlciA8cm9nZXIuZmVuZ0BpbnRlbC5jb20+DQo+ID4gU3ViamVjdDogW1BBVENIXSBV ZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tOiBTdXBwb3J0IGRldGVjdCBTTU0NCj4gc2hhZG93DQo+ ID4gc3RhY2sgb3ZlcmZsb3cNCj4gPg0KPiA+IFVzZSBTTU0gc3RhY2sgZ3VhcmQgZmVhdHVyZSB0 byBkZXRlY3QgU01NIHNoYWRvdyBzdGFjayBvdmVyZmxvdy4NCj4gPg0KPiA+IFJFRjogaHR0cHM6 Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjgwDQo+ID4NCj4gPiBT aWduZWQtb2ZmLWJ5OiBTaGVuZyBXZWkgPHcuc2hlbmdAaW50ZWwuY29tPg0KPiA+IENjOiBFcmlj IERvbmcgPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4gQ2M6IFJheSBOaSA8cmF5Lm5pQGludGVs LmNvbT4NCj4gPiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPiBDYzog UmFodWwgS3VtYXIgPHJhaHVsMS5rdW1hckBpbnRlbC5jb20+DQo+ID4gQ2M6IEppZXdlbiBZYW8g PGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+IENjOiBSb2dlciBGZW5nIDxyb2dlci5mZW5nQGlu dGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAgVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9YNjQvUGFn ZVRibC5jIHwgOSArKysrKysrKy0NCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvUGlTbW1D cHVEeGVTbW0vWDY0L1BhZ2VUYmwuYw0KPiA+IGIvVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9Y NjQvUGFnZVRibC5jDQo+ID4gaW5kZXggMDdlN2VhNzBkZS4uNjkwMjU4NGIxZiAxMDA2NDQNCj4g PiAtLS0gYS9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1g2NC9QYWdlVGJsLmMNCj4gPiArKysg Yi9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1g2NC9QYWdlVGJsLmMNCj4gPiBAQCAtMTAxNiw2 ICsxMDE2LDcgQEAgU21pUEZIYW5kbGVyICgNCj4gPiAgew0KPiA+ICAgIFVJTlROICAgICAgICAg ICAgIFBGQWRkcmVzczsNCj4gPiAgICBVSU5UTiAgICAgICAgICAgICBHdWFyZFBhZ2VBZGRyZXNz Ow0KPiA+ICsgIFVJTlROICAgICAgICAgICAgIFNoYWRvd1N0YWNrR3VhcmRQYWdlQWRkcmVzczsN Cj4gPiAgICBVSU5UTiAgICAgICAgICAgICBDcHVJbmRleDsNCj4gPg0KPiA+ICAgIEFTU0VSVCAo SW50ZXJydXB0VHlwZSA9PSBFWENFUFRfSUEzMl9QQUdFX0ZBVUxUKTsgQEAgLTEwMzIsNw0KPiA+ ICsxMDMzLDcgQEAgU21pUEZIYW5kbGVyICgNCj4gPiAgICB9DQo+ID4NCj4gPiAgICAvLw0KPiA+ IC0gIC8vIElmIGEgcGFnZSBmYXVsdCBvY2N1cnMgaW4gU01SQU0gcmFuZ2UsIGl0IG1pZ2h0IGJl IGluIGEgU01NDQo+ID4gc3RhY2sgZ3VhcmQgcGFnZSwNCj4gPiArICAvLyBJZiBhIHBhZ2UgZmF1 bHQgb2NjdXJzIGluIFNNUkFNIHJhbmdlLCBpdCBtaWdodCBiZSBpbiBhIFNNTQ0KPiA+ICsgc3Rh Y2svc2hhZG93DQo+ID4gc3RhY2sgZ3VhcmQgcGFnZSwNCj4gPiAgICAvLyBvciBTTU0gcGFnZSBw cm90ZWN0aW9uIHZpb2xhdGlvbi4NCj4gPiAgICAvLw0KPiA+ICAgIGlmICgoUEZBZGRyZXNzID49 IG1DcHVIb3RQbHVnRGF0YS5TbXJyQmFzZSkgJiYgQEAgLTEwNDAsMTAgKzEwNDEsMTYNCj4gPiBA QCBTbWlQRkhhbmRsZXIgKA0KPiA+ICAgICAgRHVtcENwdUNvbnRleHQgKEludGVycnVwdFR5cGUs IFN5c3RlbUNvbnRleHQpOw0KPiA+ICAgICAgQ3B1SW5kZXggPSBHZXRDcHVJbmRleCAoKTsNCj4g PiAgICAgIEd1YXJkUGFnZUFkZHJlc3MgPSAobVNtbVN0YWNrQXJyYXlCYXNlICsgRUZJX1BBR0Vf U0laRSArDQo+IENwdUluZGV4DQo+ID4gKiAobVNtbVN0YWNrU2l6ZSArIG1TbW1TaGFkb3dTdGFj a1NpemUpKTsNCj4gPiArICAgIFNoYWRvd1N0YWNrR3VhcmRQYWdlQWRkcmVzcyA9IChtU21tU3Rh Y2tBcnJheUJhc2UgKw0KPiBtU21tU3RhY2tTaXplDQo+ID4gKyBFRklfUEFHRV9TSVpFICsgQ3B1 SW5kZXggKiAobVNtbVN0YWNrU2l6ZSArDQo+IG1TbW1TaGFkb3dTdGFja1NpemUpKTsNCj4gPiAg ICAgIGlmICgoRmVhdHVyZVBjZEdldCAoUGNkQ3B1U21tU3RhY2tHdWFyZCkpICYmDQo+ID4gICAg ICAgICAgKFBGQWRkcmVzcyA+PSBHdWFyZFBhZ2VBZGRyZXNzKSAmJg0KPiA+ICAgICAgICAgIChQ RkFkZHJlc3MgPCAoR3VhcmRQYWdlQWRkcmVzcyArIEVGSV9QQUdFX1NJWkUpKSkgew0KPiA+ICAg ICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiU01NIHN0YWNrIG92ZXJmbG93IVxuIikpOw0KPiA+ ICsgICAgfSBlbHNlIGlmICgoRmVhdHVyZVBjZEdldCAoUGNkQ3B1U21tU3RhY2tHdWFyZCkpICYm DQo+ID4gKyAgICAgICAgKG1TbW1TaGFkb3dTdGFja1NpemUgPiAwKSAmJg0KPiA+ICsgICAgICAg IChQRkFkZHJlc3MgPj0gU2hhZG93U3RhY2tHdWFyZFBhZ2VBZGRyZXNzKSAmJg0KPiA+ICsgICAg ICAgIChQRkFkZHJlc3MgPCAoU2hhZG93U3RhY2tHdWFyZFBhZ2VBZGRyZXNzICsgRUZJX1BBR0Vf U0laRSkpKSB7DQo+ID4gKyAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJTTU0gc2hhZG93IHN0 YWNrIG92ZXJmbG93IVxuIikpOw0KPiA+ICAgICAgfSBlbHNlIHsNCj4gPiAgICAgICAgaWYgKChT eXN0ZW1Db250ZXh0LlN5c3RlbUNvbnRleHRYNjQtPkV4Y2VwdGlvbkRhdGEgJg0KPiA+IElBMzJf UEZfRUNfSUQpICE9DQo+ID4gMCkgew0KPiA+ICAgICAgICAgIERFQlVHICgoREVCVUdfRVJST1Is ICJTTU0gZXhjZXB0aW9uIGF0IGV4ZWN1dGlvbiAoMHglbHgpXG4iLA0KPiA+IFBGQWRkcmVzcykp Ow0KPiA+IC0tDQo+ID4gMi4xNi4yLndpbmRvd3MuMQ0KDQo=