From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.115; helo=mga14.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 5B7F122135D51 for ; Wed, 7 Mar 2018 01:36:17 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Mar 2018 01:42:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.47,435,1515484800"; d="scan'208";a="33048340" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga003.jf.intel.com with ESMTP; 07 Mar 2018 01:42:31 -0800 Received: from fmsmsx155.amr.corp.intel.com (10.18.116.71) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 7 Mar 2018 01:42:31 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX155.amr.corp.intel.com (10.18.116.71) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 7 Mar 2018 01:42:31 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.124]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.116]) with mapi id 14.03.0319.002; Wed, 7 Mar 2018 17:42:29 +0800 From: "Zeng, Star" To: Laszlo Ersek , "marcandre.lureau@redhat.com" CC: "edk2-devel@lists.01.org" , "Yao, Jiewen" , "Zhang, Chao B" , "Zeng, Star" Thread-Topic: [edk2] [PATCH 1/1] RFC: SecurityPkg: only clear HashInterface informations Thread-Index: AQHTtYmREvCMxGv8xUG7Nz6+pVUxG6PD9eYAgACNI5A= Date: Wed, 7 Mar 2018 09:42:28 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB0483103BA47A81@shsmsx102.ccr.corp.intel.com> References: <20180306202718.4061-1-marcandre.lureau@redhat.com> <1dbffca1-c83e-0839-45b5-62875b0cfae0@redhat.com> In-Reply-To: <1dbffca1-c83e-0839-45b5-62875b0cfae0@redhat.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 1/1] RFC: SecurityPkg: only clear HashInterface informations X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 09:36:18 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQpHb29kIGFuYWx5c2lzLg0KDQpZZXMsIHRoZSBTdXBwb3J0ZWRIYXNoTWFz ayBmaWVsZCBpbiBIYXNoSW50ZXJmYWNlSG9iIHdpbGwgaGF2ZSBzdGFsZSB2YWx1ZSwgYnV0IHRo YXQgZG9lcyBub3QgaW1wYWN0IHRoZSBmdW5jdGlvbmFsaXR5IHNpbmNlIHRoZSBjb2RlIGhhdmUu DQpTbyB0aGUgcGF0Y2ggY291bGQgZml4IHRoZSBwcm9ibGVtLg0KDQpIYXNoTGliQmFzZUNyeXB0 b1JvdXRlclBlaUNvbnN0cnVjdG9yKCk6DQogIFN0YXR1cyA9IFBjZFNldDMyUyAoUGNkVGNnMkhh c2hBbGdvcml0aG1CaXRtYXAsIDApOw0KDQpSZWdpc3Rlckhhc2hJbnRlcmZhY2VMaWIoKToNCiAg SGFzaEludGVyZmFjZUhvYi0+U3VwcG9ydGVkSGFzaE1hc2sgPSBQY2RHZXQzMiAoUGNkVGNnMkhh c2hBbGdvcml0aG1CaXRtYXApIHwgSGFzaE1hc2s7DQoNCkhhc2hTdGFydCgpL0hhc2hVcGRhdGUo KS9IYXNoQ29tcGxldGVBbmRFeHRlbmQoKS9IYXNoQW5kRXh0ZW5kKCk6DQogIGlmIChIYXNoSW50 ZXJmYWNlSG9iLT5IYXNoSW50ZXJmYWNlQ291bnQgPT0gMCkgew0KICAgIHJldHVybiBFRklfVU5T VVBQT1JURUQ7DQogIH0NCg0KUmVnaXN0ZXJIYXNoSW50ZXJmYWNlTGliKCk6DQogIGlmIChIYXNo SW50ZXJmYWNlSG9iLT5IYXNoSW50ZXJmYWNlQ291bnQgPj0gSEFTSF9DT1VOVCkgew0KICAgIHJl dHVybiBFRklfT1VUX09GX1JFU09VUkNFUzsNCiAgfQ0KDQpBcyBJIGtub3csIENoYW8gaGFzIGhl bHBlZCBwdXNoIHRoZSBwYXRjaC4NCkJ1dCBJIGFtIGZpbmUgd2l0aCBrZWVwaW5nIHRoaXMgcGF0 Y2ggb3IgY29udGludWUgcmVmaW5pbmcgdGhlIGNvZGUuIDopDQoNCklzIGl0IHdvcmtpbmcgd2l0 aCAiIFplcm9NZW0gKEhhc2hJbnRlcmZhY2VIb2IsIHNpemVvZiAoKkhhc2hJbnRlcmZhY2VIb2Ip IC0gc2l6ZW9mIChFRklfR1VJRCkpICIgaWYgdG8gcmVmaW5lIHRoZSBjb2RlPw0KDQoNClRoYW5r cywNClN0YXINCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBlZGsyLWRldmVsIFtt YWlsdG86ZWRrMi1kZXZlbC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24gQmVoYWxmIE9mIExhc3ps byBFcnNlaw0KU2VudDogV2VkbmVzZGF5LCBNYXJjaCA3LCAyMDE4IDU6MDYgUE0NClRvOiBtYXJj YW5kcmUubHVyZWF1QHJlZGhhdC5jb20NCkNjOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsgWWFv LCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgWmVuZywgU3RhciA8c3Rhci56ZW5nQGlu dGVsLmNvbT47IFpoYW5nLCBDaGFvIEIgPGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+DQpTdWJqZWN0 OiBSZTogW2VkazJdIFtQQVRDSCAxLzFdIFJGQzogU2VjdXJpdHlQa2c6IG9ubHkgY2xlYXIgSGFz aEludGVyZmFjZSBpbmZvcm1hdGlvbnMNCg0KSGkgTWFyYy1BbmRyw6ksDQoNCk9uIDAzLzA2LzE4 IDIxOjI3LCBtYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5jb20gd3JvdGU6DQo+IEZyb206IE1hcmMt QW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPg0KPg0KPiBUaGUgWmVy b01lbSgpIGNhbGwgZ29lcyBiZXlvbmQgdGhlIEhhc2hJbnRlcmZhY2VIb2Igc3RydWN0dXJlLCBj YXVzaW5nIA0KPiBIT0IgbGlzdCBjb3JydXB0aW9uLiBJbnN0ZWFkLCBqdXN0IGNsZWFyIHRoZSBI YXNoSW50ZXJmYWNlIGZpZWxkcywgYXMgDQo+IEkgc3VwcG9zZSB3YXMgb3JpZ2luYWxseSBpbnRl bmRlZC4NCj4NCj4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiBDYzog Q2hhbyBaaGFuZyA8Y2hhby5iLnpoYW5nQGludGVsLmNvbT4NCj4gQ2M6IFN0YXIgWmVuZyA8c3Rh ci56ZW5nQGludGVsLmNvbT4NCj4gQ2M6IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+ DQo+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAx LjENCj4gU2lnbmVkLW9mZi1ieTogTWFyYy1BbmRyw6kgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1 QHJlZGhhdC5jb20+DQo+IC0tLQ0KPiAgLi4uL0hhc2hMaWJCYXNlQ3J5cHRvUm91dGVyL0hhc2hM aWJCYXNlQ3J5cHRvUm91dGVyUGVpLmMgICAgICAgfCAzICsrLQ0KPiAgMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPg0KPiBkaWZmIC0tZ2l0IA0KPiBhL1Nl Y3VyaXR5UGtnL0xpYnJhcnkvSGFzaExpYkJhc2VDcnlwdG9Sb3V0ZXIvSGFzaExpYkJhc2VDcnlw dG9Sb3V0ZXJQDQo+IGVpLmMgDQo+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9IYXNoTGliQmFzZUNy eXB0b1JvdXRlci9IYXNoTGliQmFzZUNyeXB0b1JvdXRlclANCj4gZWkuYyBpbmRleCBkYmVlMGYy NTMxYmMuLjM2MWE0ZjY1MDhhMCAxMDA2NDQNCj4gLS0tIA0KPiBhL1NlY3VyaXR5UGtnL0xpYnJh cnkvSGFzaExpYkJhc2VDcnlwdG9Sb3V0ZXIvSGFzaExpYkJhc2VDcnlwdG9Sb3V0ZXJQDQo+IGVp LmMNCj4gKysrIGIvU2VjdXJpdHlQa2cvTGlicmFyeS9IYXNoTGliQmFzZUNyeXB0b1JvdXRlci9I YXNoTGliQmFzZUNyeXB0b1JvdQ0KPiArKysgdGVyUGVpLmMNCj4gQEAgLTQyNCw3ICs0MjQsOCBA QCBIYXNoTGliQmFzZUNyeXB0b1JvdXRlclBlaUNvbnN0cnVjdG9yICgNCj4gICAgICAvLyBUaGlz IGlzIHRoZSBzZWNvbmQgZXhlY3V0aW9uIG9mIHRoaXMgbW9kdWxlLCBjbGVhciB0aGUgaGFzaCBp bnRlcmZhY2UNCj4gICAgICAvLyBpbmZvcm1hdGlvbiByZWdpc3RlcmVkIGF0IGl0cyBmaXJzdCBl eGVjdXRpb24uDQo+ICAgICAgLy8NCj4gLSAgICBaZXJvTWVtICgmSGFzaEludGVyZmFjZUhvYi0+ SGFzaEludGVyZmFjZSwgc2l6ZW9mICgqSGFzaEludGVyZmFjZUhvYikgLSBzaXplb2YgKEVGSV9H VUlEKSk7DQo+ICsgICAgWmVyb01lbSAoJkhhc2hJbnRlcmZhY2VIb2ItPkhhc2hJbnRlcmZhY2Us IHNpemVvZiAoSGFzaEludGVyZmFjZUhvYi0+SGFzaEludGVyZmFjZSkpOw0KPiArICAgIEhhc2hJ bnRlcmZhY2VIb2ItPkhhc2hJbnRlcmZhY2VDb3VudCA9IDA7DQo+ICAgIH0NCj4NCj4gICAgLy8N Cj4NCg0KRXhjZWxsZW50IGNhdGNoISA6KQ0KDQpJIGRvIGhhdmUgYSBxdWVzdGlvbiBob3dldmVy LCBmb3IgdGhlIG90aGVyIHJldmlld2VycyBvbiB0aGlzIHBhdGNoLCBpbiBsaW5lIHdpdGggeW91 ciBjb21taXQgbWVzc2FnZSBzYXlpbmcsICJjbGVhciB0aGUgSGFzaEludGVyZmFjZSBmaWVsZHMs IGFzICpJIHN1cHBvc2UqIHdhcyBvcmlnaW5hbGx5IGludGVuZGVkIi4NCg0KSSBkb24ndCB0aGlu ayB0aGUgcHJvcG9zZWQgdXBkYXRlIG1hdGNoZXMgdGhlIG9yaWdpbmFsIGludGVudCAxMDAlLg0K TmFtZWx5LCB0aGlzIGlzIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBIQVNIX0lOVEVSRkFDRV9IT0Ig dHlwZSAoZnJvbSB0aGUgc2FtZSBzb3VyY2UgZmlsZSk6DQoNCj4gdHlwZWRlZiBzdHJ1Y3Qgew0K PiAgIC8vDQo+ICAgLy8gSWYgZ1plcm9HdWlkLCBTdXBwb3J0ZWRIYXNoTWFzayBpcyAwIGZvciBG SVJTVCBtb2R1bGUgd2hpY2ggY29uc3VtZXMgSGFzaExpYg0KPiAgIC8vICAgb3IgdGhlIGhhc2gg YWxnb3JpdGhtIGJpdG1hcCBvZiBMQVNUIG1vZHVsZSB3aGljaCBjb25zdW1lcyBIYXNoTGliLg0K PiAgIC8vICAgSGFzaEludGVyZmFjZUNvdW50IGFuZCBIYXNoSW50ZXJmYWNlIGFyZSBhbGwgMC4N Cj4gICAvLyBJZiBnRWZpQ2FsbGVySWRHdWlkLCBIYXNoSW50ZXJmYWNlQ291bnQsIEhhc2hJbnRl cmZhY2UgYW5kIFN1cHBvcnRlZEhhc2hNYXNrDQo+ICAgLy8gICBhcmUgdGhlIGhhc2ggaW50ZXJm YWNlIGluZm9ybWF0aW9uIG9mIENVUlJFTlQgbW9kdWxlIHdoaWNoIGNvbnN1bWVzIEhhc2hMaWIu DQo+ICAgLy8NCj4gICBFRklfR1VJRCAgICAgICAgIElkZW50aWZpZXI7DQo+ICAgVUlOVE4gICAg ICAgICAgICBIYXNoSW50ZXJmYWNlQ291bnQ7DQo+ICAgSEFTSF9JTlRFUkZBQ0UgICBIYXNoSW50 ZXJmYWNlW0hBU0hfQ09VTlRdOw0KPiAgIFVJTlQzMiAgICAgICAgICAgU3VwcG9ydGVkSGFzaE1h c2s7DQo+IH0gSEFTSF9JTlRFUkZBQ0VfSE9COw0KDQpOb3RlIHRoYXQgaXQgc2F5cywgaWYgSWRl bnRpZmllciBlcXVhbHMgImdFZmlDYWxsZXJJZEd1aWQiLCB0aGVuICphbGwNCnRocmVlKiBzdWJz ZXF1ZW50IGZpZWxkcyBjYXJyeSBpbmZvcm1hdGlvbiBvZiB0aGUgY3VycmVudCBtb2R1bGUgdGhh dCBjb25zdW1lcyBIYXNoTGliLiBUaG9zZSB0aHJlZSBmaWVsZHMgaW5jbHVkZSAiU3VwcG9ydGVk SGFzaE1hc2siLg0KDQpGdXJ0aGVybW9yZSwgdGhlIGNvbW1lbnQganVzdCBwcmVjZWRpbmcgdGhl IGJ1ZyAvIFplcm9NZW0oKSBjYWxsIHNheXMsDQoNCj4gICAgIC8vDQo+ICAgICAvLyBJbiBQRUkg cGhhc2UsIHNvbWUgbW9kdWxlcyBtYXkgY2FsbCBSZWdpc3RlckZvclNoYWRvdyBhbmQgd2lsbCBi ZQ0KPiAgICAgLy8gc2hhZG93ZWQgYW5kIGV4ZWN1dGVkIGFnYWluIGFmdGVyIG1lbW9yeSBpcyBk aXNjb3ZlcmVkLg0KPiAgICAgLy8gVGhpcyBpcyB0aGUgc2Vjb25kIGV4ZWN1dGlvbiBvZiB0aGlz IG1vZHVsZSwgY2xlYXIgdGhlIGhhc2ggaW50ZXJmYWNlDQo+ICAgICAvLyBpbmZvcm1hdGlvbiBy ZWdpc3RlcmVkIGF0IGl0cyBmaXJzdCBleGVjdXRpb24uDQo+ICAgICAvLw0KDQpBbmQgbm90ZSB0 aGF0IGhlcmUgd2UgYXJlIGp1c3QgcGFzdCB0aGUgY2hlY2sNCg0KPiAgIEhhc2hJbnRlcmZhY2VI b2IgPSBJbnRlcm5hbEdldEhhc2hJbnRlcmZhY2VIb2IgKCZnRWZpQ2FsbGVySWRHdWlkKTsNCj4g ICBpZiAoSGFzaEludGVyZmFjZUhvYiAhPSBOVUxMKSB7DQoNCmluIG90aGVyIHdvcmRzLCB0aGUg IklkZW50aWZpZXIgZXF1YWxzIGdFZmlDYWxsZXJJZEd1aWQiIGJyYW5jaCBmcm9tIHRoZSB0eXBl IGRlZmluaXRpb24gYXBwbGllczsgbWVhbmluZyB0aGF0ICJTdXBwb3J0ZWRIYXNoTWFzayIgaXMg ZGVmaW5lZCB0b28uDQoNClRodXMsIEknZCBsaWtlIHRoZSBvdGhlciByZXZpZXdlcnMgdG8gY29u ZmlybSB3aGV0aGVyIHdlIHNob3VsZCBjbGVhciAiU3VwcG9ydGVkSGFzaE1hc2siLg0KDQpGcm9t IHRoZSBvcmlnaW5hbCAoYnVnZ3kpIGNvZGUsIEkgdGhpbmsgd2UgKnNob3VsZCogY2xlYXIgU3Vw cG9ydGVkSGFzaE1hc2sgYXMgd2VsbC4gVGhlICJMZW5ndGgiIGFyZ3VtZW50IG9mIHRoZSBvcmln aW5hbA0KWmVyb01lbSgpIGNhbGwgaW1wbGllcyBwcmVjaXNlbHkgdGhhdDoNCg0KICBzaXplb2Yg KCpIYXNoSW50ZXJmYWNlSG9iKSAtIHNpemVvZiAoRUZJX0dVSUQpDQoNClRoaXMgc3RhbmRzIGZv ciAiYWxsIGZpZWxkcyBpbiAqSGFzaEludGVyZmFjZUhvYiBleGNlcHQgdGhlIGxlYWRpbmcgRUZJ X0dVSUQgSWRlbnRpZmllciBmaWVsZCIuDQoNClNvLCB0aGUgYWN0dWFsIGJ1ZyBpcyBpbiB0aGUg IkJ1ZmZlciIgYXJndW1lbnQgb2YgdGhlIFplcm9NZW0oKSBjYWxsOiBpdCBpcyBhIHR5cG8uIENl cnRhaW5seSB0aGUgaW50ZW50IG11c3QgaGF2ZSBiZWVuICJzdGFydCBjbGVhcmluZyBmcm9tIHRo ZSBmaXJzdCBmaWVsZCByaWdodCBhZnRlciB0aGUgRUZJX0dVSUQgSWRlbnRpZmllciBmaWVsZCIs IG5hbWVseQ0KIkhhc2hJbnRlcmZhY2VDb3VudCI6DQoNCiAgJkhhc2hJbnRlcmZhY2VIb2ItPkhh c2hJbnRlcmZhY2VDb3VudA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5e DQoNClRoZXJlZm9yZSBJIHRoaW5rIHRoZSAqZmlyc3QqIGFwcHJvYWNoIHRvIGFjdHVhbGx5IGZp eGluZyB0aGlzIGJ1ZyB3b3VsZCBiZSB0byBzaW1wbHkgYWRkIHRoZSAiQ291bnQiIHN1ZmZpeDoN Cg0KPiBkaWZmIC0tZ2l0IA0KPiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvSGFzaExpYkJhc2VDcnlw dG9Sb3V0ZXIvSGFzaExpYkJhc2VDcnlwdG9Sb3V0ZXJQDQo+IGVpLmMgDQo+IGIvU2VjdXJpdHlQ a2cvTGlicmFyeS9IYXNoTGliQmFzZUNyeXB0b1JvdXRlci9IYXNoTGliQmFzZUNyeXB0b1JvdXRl clANCj4gZWkuYyBpbmRleCBkYmVlMGYyNTMxYmMuLmE4NjlmZmZhZTNmZSAxMDA2NDQNCj4gLS0t IA0KPiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvSGFzaExpYkJhc2VDcnlwdG9Sb3V0ZXIvSGFzaExp YkJhc2VDcnlwdG9Sb3V0ZXJQDQo+IGVpLmMNCj4gKysrIGIvU2VjdXJpdHlQa2cvTGlicmFyeS9I YXNoTGliQmFzZUNyeXB0b1JvdXRlci9IYXNoTGliQmFzZUNyeXB0b1JvdQ0KPiArKysgdGVyUGVp LmMNCj4gQEAgLTQyNCw3ICs0MjQsMTAgQEAgSGFzaExpYkJhc2VDcnlwdG9Sb3V0ZXJQZWlDb25z dHJ1Y3RvciAoDQo+ICAgICAgLy8gVGhpcyBpcyB0aGUgc2Vjb25kIGV4ZWN1dGlvbiBvZiB0aGlz IG1vZHVsZSwgY2xlYXIgdGhlIGhhc2ggaW50ZXJmYWNlDQo+ICAgICAgLy8gaW5mb3JtYXRpb24g cmVnaXN0ZXJlZCBhdCBpdHMgZmlyc3QgZXhlY3V0aW9uLg0KPiAgICAgIC8vDQo+IC0gICAgWmVy b01lbSAoJkhhc2hJbnRlcmZhY2VIb2ItPkhhc2hJbnRlcmZhY2UsIHNpemVvZiAoKkhhc2hJbnRl cmZhY2VIb2IpIC0gc2l6ZW9mIChFRklfR1VJRCkpOw0KPiArICAgIFplcm9NZW0gKA0KPiArICAg ICAgJkhhc2hJbnRlcmZhY2VIb2ItPkhhc2hJbnRlcmZhY2VDb3VudCwNCj4gKyAgICAgIHNpemVv ZiAoKkhhc2hJbnRlcmZhY2VIb2IpIC0gc2l6ZW9mIChFRklfR1VJRCkNCj4gKyAgICAgICk7DQo+ ICAgIH0NCj4NCj4gICAgLy8NCg0KT24gdGhlIG90aGVyIGhhbmQsIEkgZG9uJ3QgdGhpbmsgc3Vj aCBhIGZpeCB3b3VsZCBiZSBncmVhdC4gRmlyc3Qgb2YgYWxsLCB0aGUgSEFTSF9JTlRFUkZBQ0Vf SE9CIHN0cnVjdCBkZWZpbml0aW9uIGlzIG5vdCB3cmFwcGVkIGluDQoNCiNwcmFnbWEgcGFjayAo MSkNCi4uLg0KI3ByYWdtYSBwYWNrICgpDQoNCmluIG90aGVyIHdvcmRzLCBIQVNIX0lOVEVSRkFD RV9IT0IgaXMgbm90IHBhY2tlZCwgaGVuY2UgdGhlcmUgY291bGQgYmUgYW4gdW5zcGVjaWZpZWQg YW1vdW50IG9mIHBhZGRpbmcgYmV0d2VlbiAiSWRlbnRpZmllciIgYW5kICJIYXNoSW50ZXJmYWNl Q291bnQiLiBUaGF0IHdvdWxkIGxlYWQgdG8gdGhlIHNhbWUga2luZCBvZiBidWZmZXIgb3ZlcmZs b3csIGJlY2F1c2UgIkxlbmd0aCIgaW5jbHVkZXMgdGhlIHBhZGRpbmcsIGJ1dCB0aGUgIkJ1ZmZl ciINCmFyZ3VtZW50IGRvZXNuJ3QuDQoNClNlY29uZCwgZXZlbiBpZiB0aGVyZSB3ZXJlIG5vIHBh ZGRpbmcgKGFuZCB0aHVzIHRoZSBieXRlIGNvdW50IHdvdWxkIGJlIGEgcGVyZmVjdCBtYXRjaCBm b3IgdGhlIGZ1bGwgSE9CIHN0cnVjdHVyZSksIGluIHRoZSAiQnVmZmVyIiBhcmd1bWVudCB3ZSB0 YWtlIHRoZSBhZGRyZXNzIG9mIHRoZSAiSGFzaEludGVyZmFjZUNvdW50IiBmaWVsZCwgYW5kIHdp dGggdGhlICJMZW5ndGgiIGZpZWxkLCB3ZSBzdGlsbCBvdmVyZmxvdyB0aGF0ICppbmRpdmlkdWFs KiBmaWVsZC4gQWx0aG91Z2ggd2Ugd291bGRuJ3Qgb3ZlcmZsb3cgdGhlIGNvbnRhaW5pbmcgSE9C IHN0cnVjdHVyZSwgdGhpcyBpcyBzdGlsbCAoYXJndWFibHkpIHVuZGVmaW5lZCBiZWhhdmlvciAt LSBJIHNlZW0gdG8gcmVtZW1iZXIgdGhhdCBzb21lIGNvbXBpbGVycyBhY3R1YWxseSBibG93IHVw IG9uIHRoaXMgd2hlbiB5b3UgdXNlIHRoZSBzdGFuZGFyZCBJU08gQyBtZW1jcHkoKSBvciBtZW1z ZXQoKSBmdW5jdGlvbnMgaW4gc3VjaCBjb250ZXh0cy4NCg0KU28sIGxvbmcgc3Rvcnkgc2hvcnQs IEkgc3VnZ2VzdCB0aGUgZm9sbG93aW5nIGZpeCBpbnN0ZWFkOg0KDQo+IGRpZmYgLS1naXQgDQo+ IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9IYXNoTGliQmFzZUNyeXB0b1JvdXRlci9IYXNoTGliQmFz ZUNyeXB0b1JvdXRlclANCj4gZWkuYyANCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hMaWJC YXNlQ3J5cHRvUm91dGVyL0hhc2hMaWJCYXNlQ3J5cHRvUm91dGVyUA0KPiBlaS5jIGluZGV4IGRi ZWUwZjI1MzFiYy4uODRjMWFhYWU3MGViIDEwMDY0NA0KPiAtLS0gDQo+IGEvU2VjdXJpdHlQa2cv TGlicmFyeS9IYXNoTGliQmFzZUNyeXB0b1JvdXRlci9IYXNoTGliQmFzZUNyeXB0b1JvdXRlclAN Cj4gZWkuYw0KPiArKysgYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hMaWJCYXNlQ3J5cHRvUm91 dGVyL0hhc2hMaWJCYXNlQ3J5cHRvUm91DQo+ICsrKyB0ZXJQZWkuYw0KPiBAQCAtMzk3LDYgKzM5 Nyw3IEBAIEhhc2hMaWJCYXNlQ3J5cHRvUm91dGVyUGVpQ29uc3RydWN0b3IgKCAgew0KPiAgICBF RklfU1RBVFVTICAgICAgICAgICAgU3RhdHVzOw0KPiAgICBIQVNIX0lOVEVSRkFDRV9IT0IgICAg Kkhhc2hJbnRlcmZhY2VIb2I7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICBDbGVhclN0YXJ0 T2Zmc2V0Ow0KPg0KPiAgICBIYXNoSW50ZXJmYWNlSG9iID0gSW50ZXJuYWxHZXRIYXNoSW50ZXJm YWNlSG9iICgmZ1plcm9HdWlkKTsNCj4gICAgaWYgKEhhc2hJbnRlcmZhY2VIb2IgPT0gTlVMTCkg ew0KPiBAQCAtNDI0LDcgKzQyNSwxMSBAQCBIYXNoTGliQmFzZUNyeXB0b1JvdXRlclBlaUNvbnN0 cnVjdG9yICgNCj4gICAgICAvLyBUaGlzIGlzIHRoZSBzZWNvbmQgZXhlY3V0aW9uIG9mIHRoaXMg bW9kdWxlLCBjbGVhciB0aGUgaGFzaCBpbnRlcmZhY2UNCj4gICAgICAvLyBpbmZvcm1hdGlvbiBy ZWdpc3RlcmVkIGF0IGl0cyBmaXJzdCBleGVjdXRpb24uDQo+ICAgICAgLy8NCj4gLSAgICBaZXJv TWVtICgmSGFzaEludGVyZmFjZUhvYi0+SGFzaEludGVyZmFjZSwgc2l6ZW9mICgqSGFzaEludGVy ZmFjZUhvYikgLSBzaXplb2YgKEVGSV9HVUlEKSk7DQo+ICsgICAgQ2xlYXJTdGFydE9mZnNldCA9 IE9GRlNFVF9PRiAoSEFTSF9JTlRFUkZBQ0VfSE9CLCBIYXNoSW50ZXJmYWNlQ291bnQpOw0KPiAr ICAgIFplcm9NZW0gKA0KPiArICAgICAgKFVJTlQ4ICopSGFzaEludGVyZmFjZUhvYiArIENsZWFy U3RhcnRPZmZzZXQsDQo+ICsgICAgICBzaXplb2YgKCpIYXNoSW50ZXJmYWNlSG9iKSAtIENsZWFy U3RhcnRPZmZzZXQNCj4gKyAgICAgICk7DQo+ICAgIH0NCj4NCj4gICAgLy8NCg0KVGhvdWdodHM/ DQoNClRoYW5rcyENCkxhc3psbw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18NCmVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQplZGsyLWRldmVsQGxpc3RzLjAx Lm9yZw0KaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo=