From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web11.1232.1592371512841843806 for ; Tue, 16 Jun 2020 22:25:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=eUCYozIa; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: zhiguang.liu@intel.com) IronPort-SDR: tYoemuyaX8VqKOp4PfiDMVZ6jfGWij9/eMJZqgXF1VlciPqQwbYAgMFqZ4Wauz1Ea0cCoYXNF7 JUzM/2OkoE1A== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2020 22:25:12 -0700 IronPort-SDR: 0LNYNGEGyXVuYlXWhbNi0u8M9zSg69n07C5/94dMbOJ8+g8S/eb/hr3KUTaEDNJyTmSW7h8TOP xmHKWLlEUjkQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,521,1583222400"; d="scan'208";a="291310648" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga002.jf.intel.com with ESMTP; 16 Jun 2020 22:25:11 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 16 Jun 2020 22:25:11 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 16 Jun 2020 22:25:11 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 16 Jun 2020 22:25:11 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.109) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 16 Jun 2020 22:25:06 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CLjRoJ4ePmnIabR65eb0F0xBTdd5l8w1D0ndOq3oF1kChyafkYAkdBRZKk5DWJWkUzajk44+4AsrBjoUEAbFi76J14v4NOrc/GhpLwP9VRKHiqfmHcvN7FuRD1Vqf2erNw2VF/G8k+6hjXcI0ZJkoX6Ubaz2IFq5uMNYvEUfltgeHNtZk6oxM3IFIZ4oQHh9EjpjKIST+OvcjBc7hqEBp1kC0ufQSm43OEZJt22FtjRLf4W+YcSGi60gtg5BQGb9bCecbIiR0zpqt3hupo6QNDBP/17tKCtKcjagA/AaTjIgrTAKTSAUgXCVNlzkisj+N+usBCnxxJbIXDbRWNNtJA== 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=xfNPtazM7lv9tAWHEj2G4Pe4g4bfYn8DluQDrgy9Siw=; b=CuwFpyYdRI/AN8TNFi8qA3TP3DNSQTRud9oMHXL/OhiEWtGfpuxw+CBWk2dRJEPL7afsPY2rs4KtrLjG65Od8xXw3UHUFHr03dewksS26VY69uNBP/NrBCuhb8mnwjoz2p1g4Vz8I845rr+FB7Wtv0Ly6dZZ/SRr+SEx1DJn0U9tX2NlvKveC1QzqEBVO6nMy+rdXtWzyIfINoLW0eO078xb+EV2iB/8R2Pl0b50aqw13rp/A9h4pLWKCOCm1IaZs32Q7BPp0ZAXLRNmIgeQ/4A7iBAZLLTAewaOG0NBTvwG2DNa/1sG6ejF4Zq4slfpuiEzVDLUW1bF6XtZ7Sxx/A== 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=xfNPtazM7lv9tAWHEj2G4Pe4g4bfYn8DluQDrgy9Siw=; b=eUCYozIaV5LdSHA1Y7yHs25MhrZK+CXl38WYrV6mOk92hDhlhsN2TDZ6PSMcb3PE6Hhof2EIpRpl9F7Zbf+DaT7z5OkrOWlDk8D5vR+BzcApeA5my0ADlrQE8hWri6gHq2ZhpEyWl+aVVrJrCeWNewQv1qfB03YekqVOvtqpzls= Received: from DM6PR11MB4012.namprd11.prod.outlook.com (2603:10b6:5:6::21) by DM6PR11MB3579.namprd11.prod.outlook.com (2603:10b6:5:13c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.25; Wed, 17 Jun 2020 05:25:04 +0000 Received: from DM6PR11MB4012.namprd11.prod.outlook.com ([fe80::40a5:ddc2:72f0:d5fb]) by DM6PR11MB4012.namprd11.prod.outlook.com ([fe80::40a5:ddc2:72f0:d5fb%6]) with mapi id 15.20.3088.029; Wed, 17 Jun 2020 05:25:04 +0000 From: "Zhiguang Liu" To: "Kinney, Michael D" , "devel@edk2.groups.io" CC: "Zeng, Star" , "Gao, Liming" , "Wang, Jian J" , "Wu, Hao A" Subject: Re: [edk2-devel] [PATCH 1/5] MdeModulePkg: avoid SMM pointers being leaked by not using CopyMem() Thread-Topic: [edk2-devel] [PATCH 1/5] MdeModulePkg: avoid SMM pointers being leaked by not using CopyMem() Thread-Index: AQHWQ71Cn35R8YbAjkuirmGF8IH0tKjb1eEAgABv8VA= Date: Wed, 17 Jun 2020 05:25:04 +0000 Message-ID: References: <20200616090434.1201-1-zhiguang.liu@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.2.0.6 dlp-product: dlpe-windows 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.38] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f7041cf9-cb2d-4e3b-1e9b-08d8127eca9d x-ms-traffictypediagnostic: DM6PR11MB3579: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:561; x-forefront-prvs: 04371797A5 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UikMAIwma1JhIhIc1pkZxI9GOO9NVIEu17QCtB+g9cU7Wm+fjMZeyBKq8170eEwSvykOFvS1VM2IdbRAYNX589ZEVBGeTJakJzrv5Sj4vNfKqa0pGvATxX6dZ6IcjHC8nNtvoJt8VKZhjqbZV6Xh26t+N9fFRnhcz7bKjsnuzgCl+8GG8iAo208AK7bZa1DdZX72uk6m4WdSnfzZW+yNtXs/NC864CMy7otAp6PxrDDgo7hojWpxI92RbQ7/3DR7v6JGyXkfwIvTPFF0PX7aOu3rHMnrkXCpKsb0Y9JV5i7GEkxQBpe+IS0j5bbCaXNpbepf/gm/0KuArr1Vpj3M+shVYlkq1x7jZCUAAEU9RphGYM8MEq3MoE5Jzfyosd+RJFFFcsNX2IiH9eBfmJjVlg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4012.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(136003)(366004)(346002)(376002)(396003)(39860400002)(76116006)(316002)(6506007)(53546011)(55016002)(26005)(66946007)(9686003)(66476007)(66556008)(33656002)(8676002)(86362001)(8936002)(64756008)(83380400001)(66446008)(7696005)(107886003)(71200400001)(966005)(186003)(2906002)(478600001)(5660300002)(52536014)(110136005)(4326008)(54906003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: Rx8TiJvBiUf/alb8LjWdVDGrsUpN1ACQlKWiPXEFIZz94ZrLH7HBptyVg1/zIXMu4hlZvRoPeMjvTxfiVsNVVPpn3pzzRQpXCIlS3nW53X8OsYC7zeDFeZapb7deLgwglQFmI9LJx7rbqWTXCHQs9AKzsjBCi9b6IUGs5vqh8FrJYoKbPzcPn4DRZ9MztqAl6OyydxylESm/7mCtROUV21S53qcR8+aBdzijp1sJhobBLMYpVH8QEA1A/3UFRQxcGUzJ5SzvAW1d1cicnEuZ7/xyttJoLthkByohNSqOcKV1F2UlG+q0W1t4QeYB6FNZT/eAKBGMknYaHoK9Ds86st8FGPjRR8cK/3jotYE0MFBRjTpKYWKOvSB+Gf3CZuvOq5t5VqknZvE1zoTXbRet8yeK5pyjI0CL+oD2SExr+05fFV3Kmjd4hUTz5Fa0DSDnIiGJRUEv22w3A8I4OLmfa9y8+OGZBzecWoE88iY3f8M3OStWf2/gXznfdkknQfpd MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: f7041cf9-cb2d-4e3b-1e9b-08d8127eca9d X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jun 2020 05:25:04.6029 (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: EJqEsEsCm5+hqDY97TzTaRluR0kHdmV2O7ftLBXZB1ZhQK5XbuCRmdtcpdVzchEOmUTcpGF+zdxdli4TGR/2Fw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3579 Return-Path: zhiguang.liu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWlrZSwNClRoaXMgY29kZSBjaGFuZ2UgaXMgdG8gYXZvaWQgZXhwb3NlIHRoZSBTTU0gZGF0 YSBhbmQgdXNpbmcgQ29weU1lbSgpIHRvIGNvcHkgdGhlIHdob2xlIHN0cnVjdHVyZSB3aWxsIENv cHkgdGhlICJuZXh0IiBmaWxlZCB3aGljaCBjb250YWluIFNNTSBhZGRyZXNzLg0KQnV0IHRoZSBH dWlkIGlzIG5vdCBwcml2YXRlIGluZm9ybWF0aW9uIGFuZCBJIHRoaW5rIGl0IGlzIG9rIHRvIHVz ZSBDb3B5TWVtKCkgdG8gY29weSBHdWlkLg0KTWF5YmUgdGhlIHRpdGxlIGlzIGNvbmZ1c2luZywg SSB3aWxsIGNoYW5nZSB0aGUgcGF0Y2ggdGl0bGUuDQoNClRoYW5rcw0KWmhpZ3VhbmcNCg0KPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRCA8bWlj aGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgSnVuZSAxNywgMjAy MCA2OjM4IEFNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTGl1LCBaaGlndWFuZyA8emhp Z3VhbmcubGl1QGludGVsLmNvbT47IEtpbm5leSwNCj4gTWljaGFlbCBEIDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT4NCj4gQ2M6IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBH YW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+Ow0KPiBXYW5nLCBKaWFuIEogPGppYW4u ai53YW5nQGludGVsLmNvbT47IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPg0KPiBTdWJq ZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCAxLzVdIE1kZU1vZHVsZVBrZzogYXZvaWQgU01N IHBvaW50ZXJzDQo+IGJlaW5nIGxlYWtlZCBieSBub3QgdXNpbmcgQ29weU1lbSgpDQo+IA0KPiBa aGlndWFuZywNCj4gDQo+IEFuIGltcGxlbWVudGF0aW9uIG9mIENvcHlHdWlkKCkgY291bGQgdXNl IENvcHlNZW0oKS4NCj4gRG9lcyBDb3B5R3VpZCgpIGFsc28gbmVlZCB0byBiZSBhdm9pZGVkPw0K PiANCj4gTWlrZQ0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206 IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24NCj4gPiBCZWhh bGYgT2YgWmhpZ3VhbmcgTGl1DQo+ID4gU2VudDogVHVlc2RheSwgSnVuZSAxNiwgMjAyMCAyOjA1 IEFNDQo+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gQ2M6IFplbmcsIFN0YXIgPHN0 YXIuemVuZ0BpbnRlbC5jb20+OyBHYW8sIExpbWluZw0KPiA+IDxsaW1pbmcuZ2FvQGludGVsLmNv bT47IFdhbmcsIEppYW4gSg0KPiA+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBXdSwgSGFvIEEg PGhhby5hLnd1QGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIDEv NV0gTWRlTW9kdWxlUGtnOiBhdm9pZA0KPiA+IFNNTSBwb2ludGVycyBiZWluZyBsZWFrZWQgYnkg bm90IHVzaW5nIENvcHlNZW0oKQ0KPiA+DQo+ID4gUkVGOiBodHRwczovL2J1Z3ppbGxhLnRpYW5v Y29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDINCj4gPg0KPiA+IFRoaXMgY29tbWl0IHdpbGwg dXBkYXRlIHRoZSBsb2dpYyBpbiBmdW5jdGlvbg0KPiA+IFNtbVZhcmlhYmxlR2V0U3RhdGlzdGlj cygpDQo+ID4gc28gdGhhdCB0aGUgcG9pbnRlciBmaWVsZHMgKCdOZXh0JyBhbmQgJ05hbWUnKSBp bg0KPiA+IHN0cnVjdHVyZQ0KPiA+IFZBUklBQkxFX0lORk9fRU5UUlkgd2lsbCBub3QgYmUgY29w aWVkIGludG8gdGhlIFNNTQ0KPiA+IGNvbW11bmljYXRpb24gYnVmZmVyLg0KPiA+DQo+ID4gRG9p bmcgc28gd2lsbCBwcmV2ZW50IFNNTSBwb2ludGVycyBhZGRyZXNzIGZyb20gYmVpbmcNCj4gPiBs ZWFrZWQgaW50byBub24tU01NDQo+ID4gZW52aXJvbm1lbnQuDQo+ID4NCj4gPiBQbGVhc2Ugbm90 ZSB0aGF0IG5ld2x5IGludHJvZHVjZWQgaW50ZXJuYWwgZnVuY3Rpb24NCj4gPiBDb3B5VmFySW5m b0VudHJ5KCkNCj4gPiB3aWxsIG5vdCB1c2UgQ29weU1lbSgpIHRvIGNvcHkgdGhlIHdob2xlDQo+ ID4gVkFSSUFCTEVfSU5GT19FTlRSWSBzdHJ1Y3R1cmUgYW5kDQo+ID4gdGhlbiB6ZXJvIG91dCB0 aGUgJ05leHQnIGFuZCAnTmFtZScgZmllbGRzLiBUaGlzIGlzIGZvcg0KPiA+IHByZXZlbnRpbmcg cmFjZQ0KPiA+IGNvbmRpdGlvbnMgd2hlcmUgdGhlIHBvaW50ZXJzIHZhbHVlIG1pZ2h0IHN0aWxs IGJlIHJlYWQuDQo+ID4NCj4gPiBDYzogU3RhciBaZW5nIDxzdGFyLnplbmdAaW50ZWwuY29tPg0K PiA+IENjOiBMaW1pbmcgR2FvIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiBDYzogSmlhbiBK IFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBIYW8gQSBX dSA8aGFvLmEud3VAaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFpoaWd1YW5nIExpdSA8 emhpZ3VhbmcubGl1QGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPg0KPiA+IE1kZU1vZHVsZVBrZy9V bml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbS5jDQo+ID4gfCAzMyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDMxIGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0DQo+ID4gYS9N ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0NCj4g PiAuYw0KPiA+IGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1Zh cmlhYmxlU21tDQo+ID4gLmMNCj4gPiBpbmRleCBjYWNhNWMzMjQxLi43NGU3NTZiYzAwIDEwMDY0 NA0KPiA+IC0tLQ0KPiA+IGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1l RHhlL1ZhcmlhYmxlU21tDQo+ID4gLmMNCj4gPiArKysNCj4gPiBiL01kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbQ0KPiA+IC5jDQo+ID4gQEAgLTMx NSw2ICszMTUsMzUgQEAgR2V0RnZiQ291bnRBbmRCdWZmZXIgKA0KPiA+ICB9DQo+ID4NCj4gPg0K PiA+DQo+ID4NCj4gPg0KPiA+ICsvKioNCj4gPg0KPiA+ICsgIENvcHkgb25seSB0aGUgbWVhbmlu Z2Z1bCBmaWVsZHMgb2YgdGhlIHZhcmlhYmxlDQo+ID4gc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBm cm9tDQo+ID4NCj4gPiArICBzb3VyY2UgYnVmZmVyIHRvIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIu IE90aGVyIGZpZWxkcw0KPiA+IGFyZSBmaWxsZWQgd2l0aCB6ZXJvLg0KPiA+DQo+ID4gKw0KPiA+ DQo+ID4gKyAgQHBhcmFtW291dF0gIERzdEluZm9FbnRyeSAgICBBIHBvaW50ZXIgdG8gdGhlIGJ1 ZmZlcg0KPiA+IG9mIGRlc3RpbmF0aW9uIHZhcmlhYmxlDQo+ID4NCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGluZm9ybWF0aW9uIGVudHJ5Lg0KPiA+DQo+ID4gKyAgQHBhcmFt W2luXSAgIFNyY0luZm9FbnRyeSAgICBBIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlcg0KPiA+IG9mIHNv dXJjZSB2YXJpYWJsZQ0KPiA+DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bmZvcm1hdGlvbiBlbnRyeS4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsqKi8NCj4gPg0KPiA+ICtz dGF0aWMNCj4gPg0KPiA+ICtWT0lEDQo+ID4NCj4gPiArQ29weVZhckluZm9FbnRyeSAoDQo+ID4N Cj4gPiArICBPVVQgVkFSSUFCTEVfSU5GT19FTlRSWSAgICAqRHN0SW5mb0VudHJ5LA0KPiA+DQo+ ID4gKyAgSU4gIFZBUklBQkxFX0lORk9fRU5UUlkgICAgKlNyY0luZm9FbnRyeQ0KPiA+DQo+ID4g KyAgKQ0KPiA+DQo+ID4gK3sNCj4gPg0KPiA+ICsgIERzdEluZm9FbnRyeS0+TmV4dCA9IE5VTEw7 DQo+ID4NCj4gPiArICBEc3RJbmZvRW50cnktPk5hbWUgPSBOVUxMOw0KPiA+DQo+ID4gKw0KPiA+ DQo+ID4gKyAgQ29weUd1aWQgKCZEc3RJbmZvRW50cnktPlZlbmRvckd1aWQsICZTcmNJbmZvRW50 cnktDQo+ID4gPlZlbmRvckd1aWQpOw0KPiA+DQo+ID4gKyAgRHN0SW5mb0VudHJ5LT5BdHRyaWJ1 dGVzICA9IFNyY0luZm9FbnRyeS0+QXR0cmlidXRlczsNCj4gPg0KPiA+ICsgIERzdEluZm9FbnRy eS0+UmVhZENvdW50ICAgPSBTcmNJbmZvRW50cnktPlJlYWRDb3VudDsNCj4gPg0KPiA+ICsgIERz dEluZm9FbnRyeS0+V3JpdGVDb3VudCAgPSBTcmNJbmZvRW50cnktPldyaXRlQ291bnQ7DQo+ID4N Cj4gPiArICBEc3RJbmZvRW50cnktPkRlbGV0ZUNvdW50ID0gU3JjSW5mb0VudHJ5LQ0KPiA+ID5E ZWxldGVDb3VudDsNCj4gPg0KPiA+ICsgIERzdEluZm9FbnRyeS0+Q2FjaGVDb3VudCAgPSBTcmNJ bmZvRW50cnktPkNhY2hlQ291bnQ7DQo+ID4NCj4gPiArICBEc3RJbmZvRW50cnktPlZvbGF0aWxl ICAgID0gU3JjSW5mb0VudHJ5LT5Wb2xhdGlsZTsNCj4gPg0KPiA+ICt9DQo+ID4NCj4gPiArDQo+ ID4NCj4gPiAgLyoqDQo+ID4NCj4gPiAgICBHZXQgdGhlIHZhcmlhYmxlIHN0YXRpc3RpY3MgaW5m b3JtYXRpb24gZnJvbSB0aGUNCj4gPiBpbmZvcm1hdGlvbiBidWZmZXIgcG9pbnRlZCBieSBnVmFy aWFibGVJbmZvLg0KPiA+DQo+ID4NCj4gPg0KPiA+IEBAIC0zNzcsNyArNDA2LDcgQEAgU21tVmFy aWFibGVHZXRTdGF0aXN0aWNzICgNCj4gPiAgICAgICAgKkluZm9TaXplID0gU3RhdGlzdGljc0lu Zm9TaXplOw0KPiA+DQo+ID4gICAgICAgIHJldHVybiBFRklfQlVGRkVSX1RPT19TTUFMTDsNCj4g Pg0KPiA+ICAgICAgfQ0KPiA+DQo+ID4gLSAgICBDb3B5TWVtIChJbmZvRW50cnksIFZhcmlhYmxl SW5mbywgc2l6ZW9mDQo+ID4gKFZBUklBQkxFX0lORk9fRU5UUlkpKTsNCj4gPg0KPiA+ICsgICAg Q29weVZhckluZm9FbnRyeSAoSW5mb0VudHJ5LCBWYXJpYWJsZUluZm8pOw0KPiA+DQo+ID4gICAg ICBDb3B5TWVtIChJbmZvTmFtZSwgVmFyaWFibGVJbmZvLT5OYW1lLCBOYW1lU2l6ZSk7DQo+ID4N Cj4gPiAgICAgICpJbmZvU2l6ZSA9IFN0YXRpc3RpY3NJbmZvU2l6ZTsNCj4gPg0KPiA+ICAgICAg cmV0dXJuIEVGSV9TVUNDRVNTOw0KPiA+DQo+ID4gQEAgLTQxNyw3ICs0NDYsNyBAQCBTbW1WYXJp YWJsZUdldFN0YXRpc3RpY3MgKA0KPiA+ICAgICAgcmV0dXJuIEVGSV9CVUZGRVJfVE9PX1NNQUxM Ow0KPiA+DQo+ID4gICAgfQ0KPiA+DQo+ID4NCj4gPg0KPiA+IC0gIENvcHlNZW0gKEluZm9FbnRy eSwgVmFyaWFibGVJbmZvLCBzaXplb2YNCj4gPiAoVkFSSUFCTEVfSU5GT19FTlRSWSkpOw0KPiA+ DQo+ID4gKyAgQ29weVZhckluZm9FbnRyeSAoSW5mb0VudHJ5LCBWYXJpYWJsZUluZm8pOw0KPiA+ DQo+ID4gICAgQ29weU1lbSAoSW5mb05hbWUsIFZhcmlhYmxlSW5mby0+TmFtZSwgTmFtZVNpemUp Ow0KPiA+DQo+ID4gICAgKkluZm9TaXplID0gU3RhdGlzdGljc0luZm9TaXplOw0KPiA+DQo+ID4N Cj4gPg0KPiA+IC0tDQo+ID4gMi4yNS4xLndpbmRvd3MuMQ0KPiA+DQo+ID4NCj4gPiAtPS09LT0t PS09LT0NCj4gPiBHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50 IHRvIHRoaXMNCj4gPiBncm91cC4NCj4gPg0KPiA+IFZpZXcvUmVwbHkgT25saW5lICgjNjEzMjQp Og0KPiA+IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzYxMzI0DQo+ID4g TXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC83NDkxMjU1Ny8xNjQzNDk2DQo+ ID4gR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlvDQo+ID4gVW5zdWJzY3Jp YmU6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC91bnN1Yg0KPiA+IFttaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbV0NCj4gPiAtPS09LT0tPS09LT0NCg0K