From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web12.28257.1610330182612003177 for ; Sun, 10 Jan 2021 17:56:22 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=CokMsH+I; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: star.zeng@intel.com) IronPort-SDR: pkkHuwLRDZJqeRXoyIkJn23WVrGgnUknOzfK7ygaAMItRdyOeDj2JVCym/HGSaJrXAHzPdifTW +zQi+XPE0C2g== X-IronPort-AV: E=McAfee;i="6000,8403,9860"; a="156973490" X-IronPort-AV: E=Sophos;i="5.79,337,1602572400"; d="scan'208";a="156973490" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jan 2021 17:56:21 -0800 IronPort-SDR: OE5L652zUedESRqtL3w/fqgHpNsGog+nllAQDygAQ9mQRMu/GvyXWOYpP/jKN0ii3TJP8LYkp8 so/YvGFThJfg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,337,1602572400"; d="scan'208";a="571262117" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by fmsmga005.fm.intel.com with ESMTP; 10 Jan 2021 17:56:21 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 10 Jan 2021 17:56:21 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.1713.5 via Frontend Transport; Sun, 10 Jan 2021 17:56:21 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.177) 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.1713.5; Sun, 10 Jan 2021 17:56:20 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j/n/b7zrYeRFTtZMY3EkQmCoRZahyAWyHWfj/UvWEMLgIGU2Zvz3DCloRgU+NmyxkcbYYOE32RGvtgjRW0diw5J69yNHw0mw0s1PDq+7dJJwdU+1Vw8aSfVwzp8gCbciLo9J1ThZCxWcoukTPKYhA9xBLEqDNR/FRP3vnGdd70sUdWWAvp7ixf50By0tzpUQhd5azp4p5UwEcd+2wkSelrZW/876o7prTZrs/vu2Siz9MCjmWSxXL+Ll4G7YwbIsvhlXrOZJrxE/LUeoS1MJiUzCUy2HwrwLrVOaxD/rjGa4JwsYoZX9VYWRkYtbTP7jg+pmnb0Hja67V6aBhSWgGA== 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=ZGKP1VFdLGoAHUhic/HublAkckMxJ46mEzN6xu60lno=; b=S8d0EtXlr0/PL3QYekUl8MTeI/SFUA1OGof67x/QGzHzHNsbHXW0vr55M0iXo9TaGiP7pNDJw4CWcc98nRU1MIn7SsRF3R79FkjLBO8OyY24mSs346xQ+x2WmgWIIT6eLYX08eufKuMpFzSRogqNwYqttSpPGuzA1z4Ypl4pqpOlsOORIxsEJ5fBxcslQ7eLO2qgRz2a/ceYGTZY8EcCL/X/0zBht+fyuvUeDdCK61SvIB09Y4N5HmchXyV/6cxyUemYNNBqn3v8TUjOM6drb+sMixAtKPNtMrRLs+2RojBC/pDpercVwFkCAwne5jQosgEzRQHB3eidrCbDN5XBnw== 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=ZGKP1VFdLGoAHUhic/HublAkckMxJ46mEzN6xu60lno=; b=CokMsH+I36BZnWAwVRsWEZtQ1y02DhvofJxuD1efpzVUz4O4fGun2Esg+USbIQm6cdWUGMfNDDjPS6B+ESYuWZA1mdBu/R0d6beuTHALg/c2sz4S26FeHwesQsmbHiM7e+banTX39n2P7PRKUyPm+NeX/lm354HrUctuTr2ydKI= Received: from DM6PR11MB4058.namprd11.prod.outlook.com (2603:10b6:5:193::13) by DM6PR11MB2697.namprd11.prod.outlook.com (2603:10b6:5:c3::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.9; Mon, 11 Jan 2021 01:56:16 +0000 Received: from DM6PR11MB4058.namprd11.prod.outlook.com ([fe80::880f:c15b:574a:a9eb]) by DM6PR11MB4058.namprd11.prod.outlook.com ([fe80::880f:c15b:574a:a9eb%6]) with mapi id 15.20.3742.012; Mon, 11 Jan 2021 01:56:16 +0000 From: "Zeng, Star" To: Laszlo Ersek , "devel@edk2.groups.io" CC: "Ni, Ray" , "Dong, Eric" , "Zeng, Star" Subject: Re: [edk2-devel] [PATCH V3] UefiCpuPkg PiSmmCpuDxeSmm: Reduce SMRAM consumption in CpuS3.c Thread-Topic: [edk2-devel] [PATCH V3] UefiCpuPkg PiSmmCpuDxeSmm: Reduce SMRAM consumption in CpuS3.c Thread-Index: AQHW5OJsP+atRR83FEqc56di3iozhaob/uWAgAHHx6CAAEaiAIADoqvg Date: Mon, 11 Jan 2021 01:56:15 +0000 Message-ID: References: <20210107104650.27404-1-star.zeng@intel.com> <2586b96a-1acf-7cae-ff5f-42b79158c775@redhat.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.37] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5b4d01d4-769e-4a56-1aed-08d8b5d414db x-ms-traffictypediagnostic: DM6PR11MB2697: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:262; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Aaws9808tHSEGhVzdg5Z33v1AZDxIEcQlEswJe9HsXw58OiIFSeUwHbmHN4KxdjjPZ/lHOXreq/CydfAR5GSAe0SJ3jEcouev33nhXg+K25BGCkqxp2XUvmJqejBFzdRJOFka7bJwE82HhD7ikgJ+Ex0FBl5V8WLJutYabXQ4DJz8I2iBztPmYz80t9yK/FwNFR7o/LdSFlgp5xg0v4/6+DD2uoiRHxwJEQ7K85hmcTKDVMsmYlh1oNEU6Gzhed5PK+1c7R/NcFMSCbUr0sKvRGyPOrOCDQdzt0zxmQnxXWZMZt1Rc6dULDCrk968by/0ZmDlojl6YqQZpyHREgzmfHxoPyZ2icT7Noj+ByIO+49iI4Rx5/LWDasimBqlhWkJCMVzOXUluF1EiAdkx4HOCUV76tthq0Oa8HcGatdIQeQdxRdueKd9bI3CrfWMS356vncnLgc90mFeJ/mXbVd/Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4058.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(4636009)(396003)(366004)(346002)(136003)(376002)(39860400002)(316002)(54906003)(7696005)(110136005)(33656002)(83380400001)(4326008)(52536014)(107886003)(8936002)(5660300002)(86362001)(76116006)(966005)(478600001)(66556008)(19627235002)(66476007)(64756008)(66946007)(55016002)(8676002)(71200400001)(2906002)(186003)(66446008)(26005)(53546011)(9686003)(6506007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?MjRXSFBZZmVIeDNsYlJ6aHkvdlV1czBTcjVsbkY3dis2ZGhmeE1sQ05GUllE?= =?utf-8?B?UlduVjZXTngvaDVmai96dmZ6YTZjRFlDYTFvT2FBMzdjcGo2d3hZS1JrVzIr?= =?utf-8?B?K3QzaG5nZnI5d0pEWWF3UThpRitxeVdyMyszZUFOb2NybUNNbFFFUWtqUVFP?= =?utf-8?B?N1RFVUdEMkcySldhNlRWaEExNmh5azRUaHA4c0hnZTVaemJGVnkvK0tNZXM5?= =?utf-8?B?c0t4Q2JzYTdNaUlHZTZDdzVCU0ZXU1hqWm9DZEMwbDk2MWdHY3ZkcFRSVUhu?= =?utf-8?B?c2V3dXNUczRHQVo3RTgxRnFKbmxTVUo0UDFMNll3RmplM2JtbDFIQnlWMDhm?= =?utf-8?B?Y3VFOGFQZ210NU1DRFlBMUc5MlZOQmZCbkZydm5nV1praUM2QzUwUFVsTEth?= =?utf-8?B?Ukt6dXFQZmJTQ3M2bDE4aEpkamVlVXpCOHJZZUxVYmlpZVJCaFRNNTVDMytP?= =?utf-8?B?RXRJZ2xMT0JXdk1tdWU2aEFybWphYzlFTFB5NUNoS3cxc0pYYW5taXhKQUll?= =?utf-8?B?U0hJRzNaQmxLNVkwb0JQeVRJTHdwYzBTcVRrUXlPT3dqNUkzd3BRRllPWnpY?= =?utf-8?B?cDM5TUwyTWxZV0ZHWjVhay9DVWp5VElZVkc3WnBMZE56Wno4MC8zK0trNEpr?= =?utf-8?B?ZTUyeTBCVk9SVlNVTXE5TlhWR1E2LzRGWDU3cFVHME1LdjJFV3U1UVZwaW8v?= =?utf-8?B?TWFkZXN5RGJVOTZzVU1JU1RPbU5iQkJieFNFN1FrNmdYSHZ1NXFaVXowRm5T?= =?utf-8?B?K2JtekVuTVZxS3VMTmZCd0p0dXp2cngzT0ZzR1V0VGFFOGd0eTlFSEZsMjY3?= =?utf-8?B?UWdJQ0FqRHo1ZUVEU0hybnVYTnNIVHpPTEZZb0ZqRlA5ZURLaldRSlc5ZlBC?= =?utf-8?B?Q2ZNb2lqMFRFWkRlS28xNVRCaVdWalI1UUltMDVFYkJ5YXdLN2ZZWW9xYk5N?= =?utf-8?B?OVlONVhoNXp4N09GVWtZRFJwS1hPbUNoK1NUU1dxQXZ4cEVlU2w5d29aSGx5?= =?utf-8?B?TTlzSlBhQ3R1SGpjSWdBY01CYVo0MEZkeEgrTVpUV3NJSmlBaE1nMktWMlFw?= =?utf-8?B?WDIzV09KVkVEWUt0KzFXVnRNYy81NVo4dE9IWUpSYlFUUVJVdkwwOGNYYzFw?= =?utf-8?B?elNGRnd4MjVISXNHUmw3N2lYK2xYT1M5STJaTkxFdVBQMUJBMEJZSnFURmh6?= =?utf-8?B?RFZkMSs1YU96Z1JNS2RDdjNxeEp1SkhNMEhDakVkZk9PcDc5emxxODZhTHcw?= =?utf-8?B?cmluSk5BZkhwcGE4Zlc3NkZuUTFCTkNBVHY4MEE0WElSamhHUHZzODNJcE1u?= =?utf-8?Q?V1iAdmRMLyd18=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4058.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b4d01d4-769e-4a56-1aed-08d8b5d414db X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2021 01:56:15.9453 (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: vM/8fpqYQBRaYl9/f+rZ5g5oB99GdKXAFx/RU/N7/L0xMCivWZwDTw0nsZPxSucq5Ne58rKTaixrE37FKtEW0Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2697 Return-Path: star.zeng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMYXN6bG8gRXJzZWsgPGxlcnNl a0ByZWRoYXQuY29tPg0KPiBTZW50OiBTYXR1cmRheSwgSmFudWFyeSA5LCAyMDIxIDI6MjUgQU0N Cj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwu Y29tPg0KPiBDYzogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IERvbmcsIEVyaWMgPGVyaWMu ZG9uZ0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIFYzXSBV ZWZpQ3B1UGtnIFBpU21tQ3B1RHhlU21tOg0KPiBSZWR1Y2UgU01SQU0gY29uc3VtcHRpb24gaW4g Q3B1UzMuYw0KPiANCj4gSGkgU3RhciwNCj4gDQo+IE9uIDAxLzA4LzIxIDE1OjEzLCBaZW5nLCBT dGFyIHdyb3RlOg0KPiA+IFRoYW5rcyBMYXN6bG8uDQo+ID4NCj4gPiBSYXksIExhc3psbyBvciBF cmljLCBuZWVkIHlvdXIgaGVscCB0byBjb21taXQgaXQgaWYgbm8gZnVydGhlciBjb21tZW50IHRv DQo+IHRoZSBwYXRjaC4NCj4gDQo+IHRoZSBtZXJnZSByZXF1ZXN0DQo+IA0KPiAgIGh0dHBzOi8v Z2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9wdWxsLzEzMjYNCj4gDQo+IGZhaWxlZCwgZHVlIHRv IHRoZSBmb2xsb3dpbmcgRUNDIGVycm9yIHJlcG9ydDoNCj4gDQo+ICAgRVJST1IgLSBFRkkgY29k aW5nIHN0eWxlIGVycm9yDQo+ICAgRVJST1IgLSAqRXJyb3IgY29kZTogOTAwMg0KPiAgIEVSUk9S IC0gKlRoZSBmdW5jdGlvbiBoZWFkZXJzIHNob3VsZCBmb2xsb3cgRG94eWdlbiBzcGVjaWFsDQo+ IGRvY3VtZW50YXRpb24gYmxvY2tzIGluIHNlY3Rpb24gMi4zLjUNCj4gICBFUlJPUiAtICpmaWxl Og0KPiAvL2hvbWUvdnN0cy93b3JrLzEvcy9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL0NwdVMz LmMNCj4gICBFUlJPUiAtICpMaW5lIG51bWJlcjogOTg1DQo+ICAgRVJST1IgLSAqaW4gQ29tbWVu dCwgPEByZXR2YWwgVFJVRT4gZG9lcyBOT1QgY29uc2lzdGVudCB3aXRoDQo+IHBhcmFtZXRlciBu YW1lIE51bWJlck9mQ3B1cw0KPiANCj4gQXMgZmFyIGFzIEkgdW5kZXJzdGFuZCwgdGhlIGlzc3Vl IGlzIHRoYXQgdGhlICJOdW1iZXJPZkNwdXMiIHBhcmFtZXRlciBvZg0KPiBJc1JlZ2lzdGVyVGFi bGVFbXB0eSgpIGRvZXMgbm90IGhhdmUgaXRzIG93biBAcGFyYW1baW5dIHN0YW56YSwgaW4gdGhl DQo+IHByZWNlZGluZyBjb21tZW50IGJsb2NrLg0KPiANCj4gUGxlYXNlIHN1Ym1pdCBhIHY0Lg0K DQpUaGFua3MgTGFzemxvIGZvciB0aGUgaGVscC4NCkp1c3Qgc2VudCB0aGUgVjQgcGF0Y2guDQoN ClRoYW5rcywNClN0YXINCg0KPiANCj4gVGhhbmtzLA0KPiBMYXN6bG8NCj4gDQo+ID4+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxk ZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mDQo+IExhc3psbw0KPiA+PiBFcnNlaw0K PiA+PiBTZW50OiBUaHVyc2RheSwgSmFudWFyeSA3LCAyMDIxIDc6MDEgUE0NCj4gPj4gVG86IFpl bmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ PiBDYzogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0Bp bnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIFYzXSBVZWZp Q3B1UGtnIFBpU21tQ3B1RHhlU21tOg0KPiA+PiBSZWR1Y2UgU01SQU0gY29uc3VtcHRpb24gaW4g Q3B1UzMuYw0KPiA+Pg0KPiA+PiBPbiAwMS8wNy8yMSAxMTo0NiwgU3RhciBaZW5nIHdyb3RlOg0K PiA+Pj4gVGhpcyBwYXRjaCBtYWtlcyB0d28gcmVmaW5lbWVudHMgdG8gcmVkdWNlIFNNUkFNIGNv bnN1bXB0aW9uIGluDQo+ID4+IENwdVMzLmMuDQo+ID4+PiAxLiBPbmx5IGRvIENvcHlSZWdpc3Rl clRhYmxlKCkgd2hlbiByZWdpc3RlciB0YWJsZSBpcyBub3QgZW1wdHksDQo+ID4+PiAgIElzUmVn aXN0ZXJUYWJsZUVtcHR5KCkgaXMgY3JlYXRlZCB0byBjaGVjayB3aGV0aGVyIHRoZSByZWdpc3Rl ciB0YWJsZQ0KPiA+Pj4gICBpcyBlbXB0eSBvciBub3QuDQo+ID4+Pg0KPiA+Pj4gICBUYWtlIGVt cHR5IFByZVNtbUluaXRSZWdpc3RlclRhYmxlIGFzIGV4YW1wbGUsIGFib3V0IDI0SyBTTVJBTQ0K PiA+PiBjb25zdW1wdGlvbg0KPiA+Pj4gICBjb3VsZCBiZSByZWR1Y2VkIHdoZW4gbUFjcGlDcHVE YXRhLk51bWJlck9mQ3B1cz0xMDI0Lg0KPiA+Pj4gICBzaXplb2YgKENQVV9SRUdJU1RFUl9UQUJM RSkgPSAyNA0KPiA+Pj4gICBtQWNwaUNwdURhdGEuTnVtYmVyT2ZDcHVzID0gMTAyNCA9IDFLDQo+ ID4+PiAgIG1BY3BpQ3B1RGF0YS5OdW1iZXJPZkNwdXMgKiBzaXplb2YgKENQVV9SRUdJU1RFUl9U QUJMRSkgPSAyNEsNCj4gPj4+DQo+ID4+PiAyLiBPbmx5IGNvcHkgdGFibGUgZW50cmllcyBidWZm ZXIgaW5zdGVhZCBvZiB3aG9sZSBidWZmZXIuDQo+ID4+PiAgIEFsbG9jYXRlZFNpemUgaW4gU291 cmNlUmVnaXN0ZXJUYWJsZUxpc3QgaXMgdGhlIHdob2xlIGJ1ZmZlciBzaXplLg0KPiA+Pj4gICBB Y3R1YWxseSwgb25seSB0aGUgdGFibGUgZW50cmllcyBidWZmZXIgbmVlZHMgdG8gYmUgY29waWVk LCBhbmQgdGhlIHNpemUNCj4gPj4+ICAgaXMgVGFibGVMZW5ndGggKiBzaXplb2YgKENQVV9SRUdJ U1RFUl9UQUJMRV9FTlRSWSkuDQo+ID4+Pg0KPiA+Pj4gICBUYWtlIEFsbG9jYXRlZFNpemU9MHgx MDAwPTQwOTYsIFRhYmxlTGVuZ3RoPTEwMCBhbmQNCj4gPj4gTnVtYmVyT2ZDcHVzPTEwMjQgYXMg ZXhhbXBsZSwNCj4gPj4+ICAgYWJvdXQgMTY5NksgU01SQU0gY29uc3VtcHRpb24gY291bGQgYmUg cmVkdWNlZC4NCj4gPj4+ICAgc2l6ZW9mIChDUFVfUkVHSVNURVJfVEFCTEVfRU5UUlkpID0gMjQN Cj4gPj4+ICAgVGFibGVMZW5ndGggPSAxMDANCj4gPj4+ICAgVGFibGVMZW5ndGggKiBzaXplb2Yg KENQVV9SRUdJU1RFUl9UQUJMRV9FTlRSWSkgPSAyNDAwDQo+ID4+PiAgIEFsbG9jYXRlZFNpemUg PSAweDEwMDAgPSA0MDk2DQo+ID4+PiAgIEFsbG9jYXRlZFNpemUgLSBUYWJsZUxlbmd0aCAqIHNp emVvZiAoQ1BVX1JFR0lTVEVSX1RBQkxFX0VOVFJZKSA9DQo+ID4+PiA0MDk2DQo+ID4+IC0gMjQw MCA9IDE2OTYNCj4gPj4+ICAgTnVtYmVyT2ZDcHVzID0gMTAyNCA9IDFLDQo+ID4+PiAgIE51bWJl ck9mQ3B1cyAqIChBbGxvY2F0ZWRTaXplIC0gVGFibGVMZW5ndGggKiBzaXplb2YNCj4gPj4+IChD UFVfUkVHSVNURVJfVEFCTEVfRU5UUlkpKSA9IDE2OTZLDQo+ID4+Pg0KPiA+Pj4gVGhpcyBwYXRj aCBhbHNvIGNvcnJlY3RzIHRoZSBDb3B5UmVnaXN0ZXJUYWJsZSgpIGZ1bmN0aW9uIGRlc2NyaXB0 aW9uLg0KPiA+Pj4NCj4gPj4+IFNpZ25lZC1vZmYtYnk6IFN0YXIgWmVuZyA8c3Rhci56ZW5nQGlu dGVsLmNvbT4NCj4gPj4+IFJldmlld2VkLWJ5OiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+ ID4+PiBSZXZpZXdlZC1ieTogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPj4+ IENjOiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4+PiBDYzogRXJpYyBEb25nIDxlcmlj LmRvbmdAaW50ZWwuY29tPg0KPiA+Pj4gQ2M6IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5j b20+DQo+ID4+PiAtLS0NCj4gPj4+ICBVZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL0NwdVMzLmMg fCA3Mw0KPiA+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQ0KPiA+Pj4gIDEgZmls ZSBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkNCj4gPj4NCj4gPj4g VGhhbmtzIGZvciB0aGUgdXBkYXRlLCBteSBSLWIgc3RhbmRzLg0KPiA+Pg0KPiA+PiBMYXN6bG8N Cj4gPj4NCj4gPj4+DQo+ID4+PiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNt bS9DcHVTMy5jDQo+ID4+PiBiL1VlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vQ3B1UzMuYw0KPiA+ Pj4gaW5kZXggOTU5MjQzMDYzNmVjLi43MjRlNTQ2MGJhNmYgMTAwNjQ0DQo+ID4+PiAtLS0gYS9V ZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL0NwdVMzLmMNCj4gPj4+ICsrKyBiL1VlZmlDcHVQa2cv UGlTbW1DcHVEeGVTbW0vQ3B1UzMuYw0KPiA+Pj4gQEAgLTEsNyArMSw3IEBADQo+ID4+PiAgLyoq IEBmaWxlDQo+ID4+PiAgQ29kZSBmb3IgUHJvY2Vzc29yIFMzIHJlc3RvcmF0aW9uDQo+ID4+Pg0K PiA+Pj4gLUNvcHlyaWdodCAoYykgMjAwNiAtIDIwMjAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzDQo+ID4+PiByZXNlcnZlZC48QlI+DQo+ID4+PiArQ29weXJpZ2h0IChjKSAyMDA2IC0g MjAyMSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPj4+ICtyZXNlcnZlZC48QlI+ DQo+ID4+PiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Pj4+DQo+ID4+PiAgKiovDQo+ID4+PiBAQCAtNDg3LDYgKzQ4Nyw5IEBAIFNldFJlZ2lzdGVyICgN Cj4gPj4+ICAgIH0gZWxzZSB7DQo+ID4+PiAgICAgIFJlZ2lzdGVyVGFibGVzID0gKENQVV9SRUdJ U1RFUl9UQUJMRQ0KPiA+PiAqKShVSU5UTiltQWNwaUNwdURhdGEuUmVnaXN0ZXJUYWJsZTsNCj4g Pj4+ICAgIH0NCj4gPj4+ICsgIGlmIChSZWdpc3RlclRhYmxlcyA9PSBOVUxMKSB7DQo+ID4+PiAr ICAgIHJldHVybjsNCj4gPj4+ICsgIH0NCj4gPj4+DQo+ID4+PiAgICBJbml0QXBpY0lkID0gR2V0 SW5pdGlhbEFwaWNJZCAoKTsNCj4gPj4+ICAgIFJlZ2lzdGVyVGFibGUgPSBOVUxMOw0KPiA+Pj4g QEAgLTk0OCw3ICs5NTEsNyBAQCBJbml0U21tUzNSZXN1bWVTdGF0ZSAoICB9DQo+ID4+Pg0KPiA+ Pj4gIC8qKg0KPiA+Pj4gLSAgQ29weSByZWdpc3RlciB0YWJsZSBmcm9tIEFDUEkgTlZTIG1lbW9y eSBpbnRvIFNNUkFNLg0KPiA+Pj4gKyAgQ29weSByZWdpc3RlciB0YWJsZSBmcm9tIG5vbi1TTVJB TSBpbnRvIFNNUkFNLg0KPiA+Pj4NCj4gPj4+ICAgIEBwYXJhbVtpbl0gRGVzdGluYXRpb25SZWdp c3RlclRhYmxlTGlzdCAgUG9pbnRzIHRvIGRlc3RpbmF0aW9uDQo+ID4+PiByZWdpc3Rlcg0KPiA+ PiB0YWJsZS4NCj4gPj4+ICAgIEBwYXJhbVtpbl0gU291cmNlUmVnaXN0ZXJUYWJsZUxpc3QgICAg ICAgUG9pbnRzIHRvIHNvdXJjZSByZWdpc3RlciB0YWJsZS4NCj4gPj4+IEBAIC05NjcsNyArOTcw LDggQEAgQ29weVJlZ2lzdGVyVGFibGUgKA0KPiA+Pj4NCj4gPj4+ICAgIENvcHlNZW0gKERlc3Rp bmF0aW9uUmVnaXN0ZXJUYWJsZUxpc3QsIFNvdXJjZVJlZ2lzdGVyVGFibGVMaXN0LA0KPiA+PiBO dW1iZXJPZkNwdXMgKiBzaXplb2YgKENQVV9SRUdJU1RFUl9UQUJMRSkpOw0KPiA+Pj4gICAgZm9y IChJbmRleCA9IDA7IEluZGV4IDwgTnVtYmVyT2ZDcHVzOyBJbmRleCsrKSB7DQo+ID4+PiAtICAg IGlmIChEZXN0aW5hdGlvblJlZ2lzdGVyVGFibGVMaXN0W0luZGV4XS5BbGxvY2F0ZWRTaXplICE9 IDApIHsNCj4gPj4+ICsgICAgaWYgKERlc3RpbmF0aW9uUmVnaXN0ZXJUYWJsZUxpc3RbSW5kZXhd LlRhYmxlTGVuZ3RoICE9IDApIHsNCj4gPj4+ICsgICAgICBEZXN0aW5hdGlvblJlZ2lzdGVyVGFi bGVMaXN0W0luZGV4XS5BbGxvY2F0ZWRTaXplID0NCj4gPj4+ICsgRGVzdGluYXRpb25SZWdpc3Rl clRhYmxlTGlzdFtJbmRleF0uVGFibGVMZW5ndGggKiBzaXplb2YNCj4gPj4+ICsgKENQVV9SRUdJ U1RFUl9UQUJMRV9FTlRSWSk7DQo+ID4+PiAgICAgICAgUmVnaXN0ZXJUYWJsZUVudHJ5ID0gQWxs b2NhdGVDb3B5UG9vbCAoDQo+ID4+PiAgICAgICAgICBEZXN0aW5hdGlvblJlZ2lzdGVyVGFibGVM aXN0W0luZGV4XS5BbGxvY2F0ZWRTaXplLA0KPiA+Pj4gICAgICAgICAgKFZPSUQNCj4gPj4+ICop KFVJTlROKVNvdXJjZVJlZ2lzdGVyVGFibGVMaXN0W0luZGV4XS5SZWdpc3RlclRhYmxlRW50cnkN Cj4gPj4+IEBAIC05NzgsNiArOTgyLDMzIEBAIENvcHlSZWdpc3RlclRhYmxlICgNCj4gPj4+ICAg IH0NCj4gPj4+ICB9DQo+ID4+Pg0KPiA+Pj4gKy8qKg0KPiA+Pj4gKyAgQ2hlY2sgd2hldGhlciB0 aGUgcmVnaXN0ZXIgdGFibGUgaXMgZW1wdHkgb3Igbm90Lg0KPiA+Pj4gKw0KPiA+Pj4gKyAgQHBh cmFtW2luXSBSZWdpc3RlclRhYmxlICBQb2ludCB0byB0aGUgcmVnaXN0ZXIgdGFibGUuDQo+ID4+ PiArDQo+ID4+PiArICBAcmV0dmFsIFRSVUUgICAgICAgICAgICAgIFRoZSByZWdpc3RlciB0YWJs ZSBpcyBlbXB0eS4NCj4gPj4+ICsgIEByZXR2YWwgRkFMU0UgICAgICAgICAgICAgVGhlIHJlZ2lz dGVyIHRhYmxlIGlzIG5vdCBlbXB0eS4NCj4gPj4+ICsqKi8NCj4gPj4+ICtCT09MRUFODQo+ID4+ PiArSXNSZWdpc3RlclRhYmxlRW1wdHkgKA0KPiA+Pj4gKyAgSU4gQ1BVX1JFR0lTVEVSX1RBQkxF ICAgICAqUmVnaXN0ZXJUYWJsZSwNCj4gPj4+ICsgIElOIFVJTlQzMiAgICAgICAgICAgICAgICAg TnVtYmVyT2ZDcHVzDQo+ID4+PiArICApDQo+ID4+PiArew0KPiA+Pj4gKyAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICBJbmRleDsNCj4gPj4+ICsNCj4gPj4+ICsgIGlmIChSZWdpc3RlclRhYmxl ICE9IE5VTEwpIHsNCj4gPj4+ICsgICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgTnVtYmVyT2ZD cHVzOyBJbmRleCsrKSB7DQo+ID4+PiArICAgICAgaWYgKFJlZ2lzdGVyVGFibGVbSW5kZXhdLlRh YmxlTGVuZ3RoICE9IDApIHsNCj4gPj4+ICsgICAgICAgIHJldHVybiBGQUxTRTsNCj4gPj4+ICsg ICAgICB9DQo+ID4+PiArICAgIH0NCj4gPj4+ICsgIH0NCj4gPj4+ICsNCj4gPj4+ICsgIHJldHVy biBUUlVFOw0KPiA+Pj4gK30NCj4gPj4+ICsNCj4gPj4+ICAvKioNCj4gPj4+ICAgIEdldCBBQ1BJ IENQVSBkYXRhLg0KPiA+Pj4NCj4gPj4+IEBAIC0xMDMyLDIzICsxMDYzLDMxIEBAIEdldEFjcGlD cHVEYXRhICgNCj4gPj4+DQo+ID4+PiAgICBDb3B5TWVtICgoVk9JRCAqKShVSU5UTiltQWNwaUNw dURhdGEuSWR0clByb2ZpbGUsIChWT0lEDQo+ID4+PiAqKShVSU5UTilBY3BpQ3B1RGF0YS0+SWR0 clByb2ZpbGUsIHNpemVvZiAoSUEzMl9ERVNDUklQVE9SKSk7DQo+ID4+Pg0KPiA+Pj4gLSAgbUFj cGlDcHVEYXRhLlByZVNtbUluaXRSZWdpc3RlclRhYmxlID0NCj4gPj4+IChFRklfUEhZU0lDQUxf QUREUkVTUykoVUlOVE4pQWxsb2NhdGVQb29sDQo+ID4+IChtQWNwaUNwdURhdGEuTnVtYmVyT2ZD cHVzICoNCj4gPj4+IHNpemVvZiAoQ1BVX1JFR0lTVEVSX1RBQkxFKSk7DQo+ID4+PiAtICBBU1NF UlQgKG1BY3BpQ3B1RGF0YS5QcmVTbW1Jbml0UmVnaXN0ZXJUYWJsZSAhPSAwKTsNCj4gPj4+ICsg IGlmICghSXNSZWdpc3RlclRhYmxlRW1wdHkgKChDUFVfUkVHSVNURVJfVEFCTEUNCj4gPj4gKiko VUlOVE4pQWNwaUNwdURhdGEtPlByZVNtbUluaXRSZWdpc3RlclRhYmxlLA0KPiA+PiBtQWNwaUNw dURhdGEuTnVtYmVyT2ZDcHVzKSkgew0KPiA+Pj4gKyAgICBtQWNwaUNwdURhdGEuUHJlU21tSW5p dFJlZ2lzdGVyVGFibGUgPQ0KPiA+PiAoRUZJX1BIWVNJQ0FMX0FERFJFU1MpKFVJTlROKUFsbG9j YXRlUG9vbA0KPiA+PiAobUFjcGlDcHVEYXRhLk51bWJlck9mQ3B1cyAqIHNpemVvZiAoQ1BVX1JF R0lTVEVSX1RBQkxFKSk7DQo+ID4+PiArICAgIEFTU0VSVCAobUFjcGlDcHVEYXRhLlByZVNtbUlu aXRSZWdpc3RlclRhYmxlICE9IDApOw0KPiA+Pj4NCj4gPj4+IC0gIENvcHlSZWdpc3RlclRhYmxl ICgNCj4gPj4+IC0gICAgKENQVV9SRUdJU1RFUl9UQUJMRQ0KPiA+PiAqKShVSU5UTiltQWNwaUNw dURhdGEuUHJlU21tSW5pdFJlZ2lzdGVyVGFibGUsDQo+ID4+PiAtICAgIChDUFVfUkVHSVNURVJf VEFCTEUgKikoVUlOVE4pQWNwaUNwdURhdGEtDQo+ID4+PiBQcmVTbW1Jbml0UmVnaXN0ZXJUYWJs ZSwNCj4gPj4+IC0gICAgbUFjcGlDcHVEYXRhLk51bWJlck9mQ3B1cw0KPiA+Pj4gLSAgICApOw0K PiA+Pj4gKyAgICBDb3B5UmVnaXN0ZXJUYWJsZSAoDQo+ID4+PiArICAgICAgKENQVV9SRUdJU1RF Ul9UQUJMRQ0KPiA+PiAqKShVSU5UTiltQWNwaUNwdURhdGEuUHJlU21tSW5pdFJlZ2lzdGVyVGFi bGUsDQo+ID4+PiArICAgICAgKENQVV9SRUdJU1RFUl9UQUJMRSAqKShVSU5UTilBY3BpQ3B1RGF0 YS0NCj4gPj4+IFByZVNtbUluaXRSZWdpc3RlclRhYmxlLA0KPiA+Pj4gKyAgICAgIG1BY3BpQ3B1 RGF0YS5OdW1iZXJPZkNwdXMNCj4gPj4+ICsgICAgICApOw0KPiA+Pj4gKyAgfSBlbHNlIHsNCj4g Pj4+ICsgICAgbUFjcGlDcHVEYXRhLlByZVNtbUluaXRSZWdpc3RlclRhYmxlID0gMDsgIH0NCj4g Pj4+DQo+ID4+PiAtICBtQWNwaUNwdURhdGEuUmVnaXN0ZXJUYWJsZSA9DQo+ID4+PiAoRUZJX1BI WVNJQ0FMX0FERFJFU1MpKFVJTlROKUFsbG9jYXRlUG9vbA0KPiA+PiAobUFjcGlDcHVEYXRhLk51 bWJlck9mQ3B1cyAqDQo+ID4+PiBzaXplb2YgKENQVV9SRUdJU1RFUl9UQUJMRSkpOw0KPiA+Pj4g LSAgQVNTRVJUIChtQWNwaUNwdURhdGEuUmVnaXN0ZXJUYWJsZSAhPSAwKTsNCj4gPj4+ICsgIGlm ICghSXNSZWdpc3RlclRhYmxlRW1wdHkgKChDUFVfUkVHSVNURVJfVEFCTEUNCj4gPj4gKikoVUlO VE4pQWNwaUNwdURhdGEtPlJlZ2lzdGVyVGFibGUsIG1BY3BpQ3B1RGF0YS5OdW1iZXJPZkNwdXMp KSB7DQo+ID4+PiArICAgIG1BY3BpQ3B1RGF0YS5SZWdpc3RlclRhYmxlID0NCj4gPj4gKEVGSV9Q SFlTSUNBTF9BRERSRVNTKShVSU5UTilBbGxvY2F0ZVBvb2wNCj4gPj4gKG1BY3BpQ3B1RGF0YS5O dW1iZXJPZkNwdXMgKiBzaXplb2YgKENQVV9SRUdJU1RFUl9UQUJMRSkpOw0KPiA+Pj4gKyAgICBB U1NFUlQgKG1BY3BpQ3B1RGF0YS5SZWdpc3RlclRhYmxlICE9IDApOw0KPiA+Pj4NCj4gPj4+IC0g IENvcHlSZWdpc3RlclRhYmxlICgNCj4gPj4+IC0gICAgKENQVV9SRUdJU1RFUl9UQUJMRSAqKShV SU5UTiltQWNwaUNwdURhdGEuUmVnaXN0ZXJUYWJsZSwNCj4gPj4+IC0gICAgKENQVV9SRUdJU1RF Ul9UQUJMRSAqKShVSU5UTilBY3BpQ3B1RGF0YS0+UmVnaXN0ZXJUYWJsZSwNCj4gPj4+IC0gICAg bUFjcGlDcHVEYXRhLk51bWJlck9mQ3B1cw0KPiA+Pj4gLSAgICApOw0KPiA+Pj4gKyAgICBDb3B5 UmVnaXN0ZXJUYWJsZSAoDQo+ID4+PiArICAgICAgKENQVV9SRUdJU1RFUl9UQUJMRSAqKShVSU5U TiltQWNwaUNwdURhdGEuUmVnaXN0ZXJUYWJsZSwNCj4gPj4+ICsgICAgICAoQ1BVX1JFR0lTVEVS X1RBQkxFICopKFVJTlROKUFjcGlDcHVEYXRhLT5SZWdpc3RlclRhYmxlLA0KPiA+Pj4gKyAgICAg IG1BY3BpQ3B1RGF0YS5OdW1iZXJPZkNwdXMNCj4gPj4+ICsgICAgICApOw0KPiA+Pj4gKyAgfSBl bHNlIHsNCj4gPj4+ICsgICAgbUFjcGlDcHVEYXRhLlJlZ2lzdGVyVGFibGUgPSAwOyAgfQ0KPiA+ Pj4NCj4gPj4+ICAgIC8vDQo+ID4+PiAgICAvLyBDb3B5IEFQJ3MgR0RULCBJRFQgYW5kIE1hY2hp bmUgQ2hlY2sgaGFuZGxlciBpbnRvIFNNUkFNLg0KPiA+Pj4NCj4gPj4NCj4gPj4NCj4gPj4NCj4g Pj4NCj4gPj4NCj4gPg0KPiA+DQo+ID4NCj4gPiANCj4gPg0KPiA+DQoNCg==