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.web10.4181.1585274647006918429 for ; Thu, 26 Mar 2020 19:04:07 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: RdMs1yieSn/sxEzZy6ePLaHWceyr0LruwX9xGqAfTGw9HZRBgxGGt/NePD3QAAhW77SbhaMDeF zwboBhblWD5g== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Mar 2020 19:04:06 -0700 IronPort-SDR: qaCNvUNDKDftSas80LdjSMO1URzwMzNjA1ASleGXHyo4fU03ELGJjLvUhkGzJWWJgnRSy5+UZJ 5qTFWnmoDR9A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,310,1580803200"; d="scan'208";a="238972657" Received: from orsmsx109.amr.corp.intel.com ([10.22.240.7]) by fmsmga007.fm.intel.com with ESMTP; 26 Mar 2020 19:04:05 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.188]) by ORSMSX109.amr.corp.intel.com ([169.254.11.20]) with mapi id 14.03.0439.000; Thu, 26 Mar 2020 19:04:05 -0700 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "Gao, Zhichao" , "Kinney, Michael D" CC: "Wang, Jian J" , "Lu, XiaoyuX" Subject: Re: [edk2-devel] [PATCH 8/8] CryptoPkg/BaseCryptLib: Use Pcd to control the SHA1 enablement Thread-Topic: [edk2-devel] [PATCH 8/8] CryptoPkg/BaseCryptLib: Use Pcd to control the SHA1 enablement Thread-Index: AQHWA9sLEMqS8soM3021wVC7h38y2Khbr7eg Date: Fri, 27 Mar 2020 02:04:05 +0000 Message-ID: References: <20200327015629.2588-1-zhichao.gao@intel.com> <20200327015629.2588-9-zhichao.gao@intel.com> In-Reply-To: <20200327015629.2588-9-zhichao.gao@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.22.254.140] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 V2Ugc2hvdWxkIG5vdCB1c2UgI2lmIHN0YXRlbWVudHMgaW4gQyBjb2RlLg0KDQpBbHNvLCB3ZSBz aG91bGQgbm90IGJlIGNoYW5naW5nIHRoZSBsYXlvdXQgb2YgdGhlIA0Kc3RydWN0dXJlIGJhc2Vk IG9uIGEgUENEIGZlYXR1cmUgZmxhZy4NCg0KSSBhZ3JlZSB3ZSBuZWVkIHRvIGFiaWxpdHkgdG8g ZGlzYWJsZSB0aGUgdXNlIG9mIHNvbWUNCkNyeXB0byBzZXJ2aWNlcywgYnV0IHdlIG5lZWQgdG8g ZGVjaWRlIHdoYXQgYmVoYXZpb3INCndlIHdhbnQgYXQgYnVpbGQgdGltZSBhbmQgYm9vdCB0aW1l IGlmIHRoZXJlIGlzIGNvZGUNCnRoYXQgdXNlcyBhIGRpc2FibGVkIHNlcnZpY2UuICANCg0KTWlr ZQ0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5n cm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbg0KPiBCZWhhbGYgT2YgR2FvLCBaaGlj aGFvDQo+IFNlbnQ6IFRodXJzZGF5LCBNYXJjaCAyNiwgMjAyMCA2OjU2IFBNDQo+IFRvOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5j b20+OyBMdSwgWGlhb3l1WA0KPiA8eGlhb3l1eC5sdUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFtl ZGsyLWRldmVsXSBbUEFUQ0ggOC84XSBDcnlwdG9Qa2cvQmFzZUNyeXB0TGliOg0KPiBVc2UgUGNk IHRvIGNvbnRyb2wgdGhlIFNIQTEgZW5hYmxlbWVudA0KPiANCj4gUkVGOiBodHRwczovL2J1Z3pp bGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODINCj4gDQo+IE1kNSBhbmQgU0hB MSBpcyBub3Qgc2VjdXJlIGFueSBsb25nZXIgYnV0IHVlZmkgc3BlYyBuZWVkDQo+IHRvIGtlZXAg dGhlbQ0KPiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuDQo+IFVzZSBwY2QgUGNkU0hBMUVu YWJsZSB0byBjb250cm9sIHRoZSBTSEExIGZ1bmN0aW9uDQo+IGVuYWJsZW1lbnQuDQo+IFdoZW4g ZGlzYWJsZSB0aGUgU0hBMSBmdW5jdGlvbnMgd291bGQgbm90IGJlIGNvbXBsaWVkLg0KPiANCj4g Q2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+IENjOiBYaWFveXUgTHUg PHhpYW95dXgubHVAaW50ZWwuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBaaGljaGFvIEdhbyA8emhp Y2hhby5nYW9AaW50ZWwuY29tPg0KPiAtLS0NCj4gIENyeXB0b1BrZy9Ecml2ZXIvQ3J5cHRvLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA4ICsrKysrKysrDQo+ICBDcnlwdG9Qa2cv TGlicmFyeS9CYXNlQ3J5cHRMaWIvQmFzZUNyeXB0TGliLmluZiAgICAgIHwNCj4gMSArDQo+ICBD cnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvSG1hYy9DcnlwdEhtYWNTaGExLmMgIHwNCj4g MyArKysNCj4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9IbWFjL0NyeXB0SG1hY1NoYTFOdWxs LmMgICAgfA0KPiAzICsrKw0KPiAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BlaUNy eXB0TGliLmluZiAgICAgICB8DQo+IDEgKw0KPiAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0 TGliL1BrL0NyeXB0UGtjczVQYmtkZjIuYyB8DQo+IDMgKysrDQo+ICBDcnlwdG9Qa2cvTGlicmFy eS9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRSc2FCYXNpYy5jICAgIHwNCj4gMiArKw0KPiAgQ3J5cHRv UGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0UnNhRXh0LmMgICAgICB8DQo+IDIgKysN Cj4gIENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9SdW50aW1lQ3J5cHRMaWIuaW5mICAg fA0KPiAxICsNCj4gIENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9TbW1DcnlwdExpYi5p bmYgICAgICAgfA0KPiAxICsNCj4gIC4uLi9CYXNlQ3J5cHRMaWJOdWxsL0htYWMvQ3J5cHRIbWFj U2hhMU51bGwuYyAgICAgICAgfA0KPiA0ICsrKy0NCj4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExp Yk9uUHJvdG9jb2xQcGkvQ3J5cHRMaWIuYyAgICAgfA0KPiA0ICsrKysNCj4gIENyeXB0b1BrZy9M aWJyYXJ5L0Jhc2VIYXNoQXBpTGliL0Jhc2VIYXNoQXBpTGliLmMgICAgfA0KPiAxMiArKysrKysr KysrKysNCj4gIENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VIYXNoQXBpTGliL0Jhc2VIYXNoQXBpTGli LmluZiAgfA0KPiAxICsNCj4gIENyeXB0b1BrZy9Qcml2YXRlL1Byb3RvY29sL0NyeXB0by5oICAg ICAgICAgICAgICAgICAgfA0KPiA5ICsrKysrKysrLQ0KPiAgMTUgZmlsZXMgY2hhbmdlZCwgNTMg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9DcnlwdG9Q a2cvRHJpdmVyL0NyeXB0by5jDQo+IGIvQ3J5cHRvUGtnL0RyaXZlci9DcnlwdG8uYw0KPiBpbmRl eCBiNTNkYTg1YmFkLi5mNzkwMjIwNWIzIDEwMDY0NA0KPiAtLS0gYS9DcnlwdG9Qa2cvRHJpdmVy L0NyeXB0by5jDQo+ICsrKyBiL0NyeXB0b1BrZy9Ecml2ZXIvQ3J5cHRvLmMNCj4gQEAgLTI2Niw2 ICsyNjYsNyBAQCBDcnlwdG9TZXJ2aWNlTWQ1SGFzaEFsbCAoDQo+ICB9DQo+ICAjZW5kaWYNCj4g DQo+ICsjaWYgKEZpeGVkUGNkR2V0Qm9vbCAoUGNkU0hBMUVuYWJsZSkpDQo+ICAvKioNCj4gICAg UmV0cmlldmVzIHRoZSBzaXplLCBpbiBieXRlcywgb2YgdGhlIGNvbnRleHQgYnVmZmVyDQo+IHJl cXVpcmVkIGZvciBTSEEtMSBoYXNoIG9wZXJhdGlvbnMuDQo+IA0KPiBAQCAtNDIzLDYgKzQyNCw3 IEBAIENyeXB0b1NlcnZpY2VTaGExSGFzaEFsbCAoDQo+ICB7DQo+ICAgIHJldHVybiBDQUxMX0JB U0VDUllQVExJQiAoU2hhMS5TZXJ2aWNlcy5IYXNoQWxsLA0KPiBTaGExSGFzaEFsbCwgKERhdGEs IERhdGFTaXplLCBIYXNoVmFsdWUpLCBGQUxTRSk7DQo+ICB9DQo+ICsjZW5kaWYNCj4gDQo+ICAv KioNCj4gICAgUmV0cmlldmVzIHRoZSBzaXplLCBpbiBieXRlcywgb2YgdGhlIGNvbnRleHQgYnVm ZmVyDQo+IHJlcXVpcmVkIGZvciBTSEEtMjU2IGhhc2ggb3BlcmF0aW9ucy4NCj4gQEAgLTExNzcs NiArMTE3OSw3IEBAIENyeXB0b1NlcnZpY2VIbWFjTWQ1RmluYWwgKA0KPiAgfQ0KPiAgI2VuZGlm DQo+IA0KPiArI2lmIChGaXhlZFBjZEdldEJvb2wgKFBjZFNIQTFFbmFibGUpKQ0KPiAgLyoqDQo+ ICAgIEFsbG9jYXRlcyBhbmQgaW5pdGlhbGl6ZXMgb25lIEhNQUNfQ1RYIGNvbnRleHQgZm9yDQo+ IHN1YnNlcXVlbnQgSE1BQy1TSEExIHVzZS4NCj4gDQo+IEBAIC0xMzI3LDYgKzEzMzAsNyBAQCBD cnlwdG9TZXJ2aWNlSG1hY1NoYTFGaW5hbCAoDQo+ICB7DQo+ICAgIHJldHVybiBDQUxMX0JBU0VD UllQVExJQiAoSG1hY1NoYTEuU2VydmljZXMuRmluYWwsDQo+IEhtYWNTaGExRmluYWwsIChIbWFj U2hhMUNvbnRleHQsIEhtYWNWYWx1ZSksIEZBTFNFKTsNCj4gIH0NCj4gKyNlbmRpZg0KPiANCj4g IC8qKg0KPiAgICBBbGxvY2F0ZXMgYW5kIGluaXRpYWxpemVzIG9uZSBITUFDX0NUWCBjb250ZXh0 IGZvcg0KPiBzdWJzZXF1ZW50IEhNQUMtU0hBMjU2IHVzZS4NCj4gQEAgLTM4MjAsNiArMzgyNCw3 IEBAIGNvbnN0IEVES0lJX0NSWVBUT19QUk9UT0NPTA0KPiBtRWRraWlDcnlwdG8gPSB7DQo+ICAg IENyeXB0b1NlcnZpY2VIbWFjTWQ1VXBkYXRlLA0KPiAgICBDcnlwdG9TZXJ2aWNlSG1hY01kNUZp bmFsLA0KPiAgI2VuZGlmDQo+ICsjaWYgKEZpeGVkUGNkR2V0Qm9vbCAoUGNkU0hBMUVuYWJsZSkp DQo+ICAgIC8vLyBITUFDIFNIQTENCj4gICAgQ3J5cHRvU2VydmljZUhtYWNTaGExTmV3LA0KPiAg ICBDcnlwdG9TZXJ2aWNlSG1hY1NoYTFGcmVlLA0KPiBAQCAtMzgyNyw2ICszODMyLDcgQEAgY29u c3QgRURLSUlfQ1JZUFRPX1BST1RPQ09MDQo+IG1FZGtpaUNyeXB0byA9IHsNCj4gICAgQ3J5cHRv U2VydmljZUhtYWNTaGExRHVwbGljYXRlLA0KPiAgICBDcnlwdG9TZXJ2aWNlSG1hY1NoYTFVcGRh dGUsDQo+ICAgIENyeXB0b1NlcnZpY2VIbWFjU2hhMUZpbmFsLA0KPiArI2VuZGlmDQo+ICAgIC8v LyBITUFDIFNIQTI1Ng0KPiAgICBDcnlwdG9TZXJ2aWNlSG1hY1NoYTI1Nk5ldywNCj4gICAgQ3J5 cHRvU2VydmljZUhtYWNTaGEyNTZGcmVlLA0KPiBAQCAtMzg3Nyw2ICszODgzLDcgQEAgY29uc3Qg RURLSUlfQ1JZUFRPX1BST1RPQ09MDQo+IG1FZGtpaUNyeXB0byA9IHsNCj4gICAgQ3J5cHRvU2Vy dmljZVJzYVBrY3MxVmVyaWZ5LA0KPiAgICBDcnlwdG9TZXJ2aWNlUnNhR2V0UHJpdmF0ZUtleUZy b21QZW0sDQo+ICAgIENyeXB0b1NlcnZpY2VSc2FHZXRQdWJsaWNLZXlGcm9tWDUwOSwNCj4gKyNp ZiAoRml4ZWRQY2RHZXRCb29sIChQY2RTSEExRW5hYmxlKSkNCj4gICAgLy8vIFNoYTENCj4gICAg Q3J5cHRvU2VydmljZVNoYTFHZXRDb250ZXh0U2l6ZSwNCj4gICAgQ3J5cHRvU2VydmljZVNoYTFJ bml0LA0KPiBAQCAtMzg4NCw2ICszODkxLDcgQEAgY29uc3QgRURLSUlfQ1JZUFRPX1BST1RPQ09M DQo+IG1FZGtpaUNyeXB0byA9IHsNCj4gICAgQ3J5cHRvU2VydmljZVNoYTFVcGRhdGUsDQo+ICAg IENyeXB0b1NlcnZpY2VTaGExRmluYWwsDQo+ICAgIENyeXB0b1NlcnZpY2VTaGExSGFzaEFsbCwN Cj4gKyNlbmRpZg0KPiAgICAvLy8gU2hhMjU2DQo+ICAgIENyeXB0b1NlcnZpY2VTaGEyNTZHZXRD b250ZXh0U2l6ZSwNCj4gICAgQ3J5cHRvU2VydmljZVNoYTI1NkluaXQsDQo+IGRpZmYgLS1naXQN Cj4gYS9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvQmFzZUNyeXB0TGliLmluZg0KPiBi L0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9CYXNlQ3J5cHRMaWIuaW5mDQo+IGluZGV4 IDVjNjVlZjU4OTIuLjlmZmQ5ODA5NmMgMTAwNjQ0DQo+IC0tLSBhL0NyeXB0b1BrZy9MaWJyYXJ5 L0Jhc2VDcnlwdExpYi9CYXNlQ3J5cHRMaWIuaW5mDQo+ICsrKyBiL0NyeXB0b1BrZy9MaWJyYXJ5 L0Jhc2VDcnlwdExpYi9CYXNlQ3J5cHRMaWIuaW5mDQo+IEBAIC04NSw2ICs4NSw3IEBADQo+IA0K PiAgW1BjZF0NCj4gICAgZ0VmaUNyeXB0b1BrZ1Rva2VuU3BhY2VHdWlkLlBjZE1ENUVuYWJsZQ0K PiArICBnRWZpQ3J5cHRvUGtnVG9rZW5TcGFjZUd1aWQuUGNkU0hBMUVuYWJsZQ0KPiANCj4gICMN Cj4gICMgUmVtb3ZlIHRoZXNlIFtCdWlsZE9wdGlvbnNdIGFmdGVyIHRoaXMgbGlicmFyeSBpcw0K PiBjbGVhbmVkIHVwDQo+IGRpZmYgLS1naXQNCj4gYS9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5 cHRMaWIvSG1hYy9DcnlwdEhtYWNTaGExLmMNCj4gYi9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5 cHRMaWIvSG1hYy9DcnlwdEhtYWNTaGExLmMNCj4gaW5kZXggNzU5M2NhNTViMS4uYmFiYTZiMjY3 YyAxMDA2NDQNCj4gLS0tIGEvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL0htYWMvQ3J5 cHRIbWFjU2hhMS5jDQo+ICsrKyBiL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9IbWFj L0NyeXB0SG1hY1NoYTEuYw0KPiBAQCAtNiw2ICs2LDggQEAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS0NCj4gUGF0ZW50DQo+IA0KPiAgKiovDQo+IA0KPiArI2luY2x1ZGUg PExpYnJhcnkvUGNkTGliLmg+DQo+ICsjaWYgKEZpeGVkUGNkR2V0Qm9vbCAoUGNkU0hBMUVuYWJs ZSkpDQo+ICAjaW5jbHVkZSAiSW50ZXJuYWxDcnlwdExpYi5oIg0KPiAgI2luY2x1ZGUgPG9wZW5z c2wvaG1hYy5oPg0KPiANCj4gQEAgLTIxNCwzICsyMTYsNCBAQCBIbWFjU2hhMUZpbmFsICgNCj4g DQo+ICAgIHJldHVybiBUUlVFOw0KPiAgfQ0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9D cnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvSG1hYy9DcnlwdEhtYWNTaGExTnVsbC5jDQo+ IGIvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL0htYWMvQ3J5cHRIbWFjU2hhMU51bGwu Yw0KPiBpbmRleCBlOGMwZjM0MWI3Li4xMzE0ZmExYTc3IDEwMDY0NA0KPiAtLS0NCj4gYS9Dcnlw dG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvSG1hYy9DcnlwdEhtYWNTaGExTnVsbC5jDQo+ICsr Kw0KPiBiL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9IbWFjL0NyeXB0SG1hY1NoYTFO dWxsLmMNCj4gQEAgLTYsNiArNiw4IEBAIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtDQo+IFBhdGVudA0KPiANCj4gICoqLw0KPiANCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1Bj ZExpYi5oPg0KPiArI2lmIChGaXhlZFBjZEdldEJvb2wgKFBjZFNIQTFFbmFibGUpKQ0KPiAgI2lu Y2x1ZGUgIkludGVybmFsQ3J5cHRMaWIuaCINCj4gDQo+ICAvKioNCj4gQEAgLTEzNywzICsxMzks NCBAQCBIbWFjU2hhMUZpbmFsICgNCj4gICAgQVNTRVJUIChGQUxTRSk7DQo+ICAgIHJldHVybiBG QUxTRTsNCj4gIH0NCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvQ3J5cHRvUGtnL0xpYnJh cnkvQmFzZUNyeXB0TGliL1BlaUNyeXB0TGliLmluZg0KPiBiL0NyeXB0b1BrZy9MaWJyYXJ5L0Jh c2VDcnlwdExpYi9QZWlDcnlwdExpYi5pbmYNCj4gaW5kZXggY2ViYzc0Y2NmMi4uYjQwZTc2ZjI0 MyAxMDA2NDQNCj4gLS0tIGEvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BlaUNyeXB0 TGliLmluZg0KPiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGVpQ3J5cHRM aWIuaW5mDQo+IEBAIC03OCw2ICs3OCw3IEBADQo+IA0KPiAgW1BjZF0NCj4gICAgZ0VmaUNyeXB0 b1BrZ1Rva2VuU3BhY2VHdWlkLlBjZE1ENUVuYWJsZQ0KPiArICBnRWZpQ3J5cHRvUGtnVG9rZW5T cGFjZUd1aWQuUGNkU0hBMUVuYWJsZQ0KPiANCj4gICMNCj4gICMgUmVtb3ZlIHRoZXNlIFtCdWls ZE9wdGlvbnNdIGFmdGVyIHRoaXMgbGlicmFyeSBpcw0KPiBjbGVhbmVkIHVwDQo+IGRpZmYgLS1n aXQNCj4gYS9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRQa2NzNVBia2Rm Mi5jDQo+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0UGtjczVQYmtk ZjIuYw0KPiBpbmRleCBhODljMTUyNWMxLi4xNWU2YmMyY2I0IDEwMDY0NA0KPiAtLS0NCj4gYS9D cnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRQa2NzNVBia2RmMi5jDQo+ICsr Kw0KPiBiL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9Qay9DcnlwdFBrY3M1UGJrZGYy LmMNCj4gQEAgLTcsNiArNyw3IEBAIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtDQo+IFBhdGVudA0KPiAgKiovDQo+IA0KPiAgI2luY2x1ZGUgIkludGVybmFsQ3J5cHRMaWIu aCINCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1BjZExpYi5oPg0KPiAgI2luY2x1ZGUgPG9wZW5zc2wv ZXZwLmg+DQo+ICAjaW5jbHVkZSA8b3BlbnNzbC9obWFjLmg+DQo+IA0KPiBAQCAtNjgsOSArNjks MTEgQEAgUGtjczVIYXNoUGFzc3dvcmQgKA0KPiAgICAvLyBNYWtlIHN1cmUgdGhlIGRpZ2VzdCBh bGdvcml0aG0gaXMgc3VwcG9ydGVkLg0KPiAgICAvLw0KPiAgICBzd2l0Y2ggKERpZ2VzdFNpemUp IHsNCj4gKyNpZiAoRml4ZWRQY2RHZXRCb29sIChQY2RTSEExRW5hYmxlKSkNCj4gICAgY2FzZSBT SEExX0RJR0VTVF9TSVpFOg0KPiAgICAgIEhhc2hBbGcgPSBFVlBfc2hhMSgpOw0KPiAgICAgIGJy ZWFrOw0KPiArI2VuZGlmDQo+ICAgIGNhc2UgU0hBMjU2X0RJR0VTVF9TSVpFOg0KPiAgICAgIEhh c2hBbGcgPSBFVlBfc2hhMjU2KCk7DQo+ICAgICAgYnJlYWs7DQo+IGRpZmYgLS1naXQNCj4gYS9D cnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRSc2FCYXNpYy5jDQo+IGIvQ3J5 cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0UnNhQmFzaWMuYw0KPiBpbmRleCAz MWI3ODQ2NGQyLi41NDllZTFiOTMzIDEwMDY0NA0KPiAtLS0gYS9DcnlwdG9Qa2cvTGlicmFyeS9C YXNlQ3J5cHRMaWIvUGsvQ3J5cHRSc2FCYXNpYy5jDQo+ICsrKyBiL0NyeXB0b1BrZy9MaWJyYXJ5 L0Jhc2VDcnlwdExpYi9Qay9DcnlwdFJzYUJhc2ljLmMNCj4gQEAgLTI5OCw5ICsyOTgsMTEgQEAg UnNhUGtjczFWZXJpZnkgKA0KPiAgICAgIGJyZWFrOw0KPiAgI2VuZGlmDQo+IA0KPiArI2lmIChG aXhlZFBjZEdldEJvb2wgKFBjZFNIQTFFbmFibGUpKQ0KPiAgICBjYXNlIFNIQTFfRElHRVNUX1NJ WkU6DQo+ICAgICAgRGlnZXN0VHlwZSA9IE5JRF9zaGExOw0KPiAgICAgIGJyZWFrOw0KPiArI2Vu ZGlmDQo+IA0KPiAgICBjYXNlIFNIQTI1Nl9ESUdFU1RfU0laRToNCj4gICAgICBEaWdlc3RUeXBl ID0gTklEX3NoYTI1NjsNCj4gZGlmZiAtLWdpdA0KPiBhL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VD cnlwdExpYi9Qay9DcnlwdFJzYUV4dC5jDQo+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0 TGliL1BrL0NyeXB0UnNhRXh0LmMNCj4gaW5kZXggMWE1MGJlMWQ3OC4uNjA2MDVlMzQ4NiAxMDA2 NDQNCj4gLS0tIGEvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0UnNhRXh0 LmMNCj4gKysrIGIvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0UnNhRXh0 LmMNCj4gQEAgLTMzNiw5ICszMzYsMTEgQEAgUnNhUGtjczFTaWduICgNCj4gICAgICBicmVhazsN Cj4gICNlbmRpZg0KPiANCj4gKyNpZiAoRml4ZWRQY2RHZXRCb29sIChQY2RTSEExRW5hYmxlKSkN Cj4gICAgY2FzZSBTSEExX0RJR0VTVF9TSVpFOg0KPiAgICAgIERpZ2VzdFR5cGUgPSBOSURfc2hh MTsNCj4gICAgICBicmVhazsNCj4gKyNlbmRpZg0KPiANCj4gICAgY2FzZSBTSEEyNTZfRElHRVNU X1NJWkU6DQo+ICAgICAgRGlnZXN0VHlwZSA9IE5JRF9zaGEyNTY7DQo+IGRpZmYgLS1naXQNCj4g YS9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUnVudGltZUNyeXB0TGliLmluZg0KPiBi L0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9SdW50aW1lQ3J5cHRMaWIuaW5mDQo+IGlu ZGV4IDcyZDRjZDAzYWIuLmI2YzBiZTcwZjIgMTAwNjQ0DQo+IC0tLSBhL0NyeXB0b1BrZy9MaWJy YXJ5L0Jhc2VDcnlwdExpYi9SdW50aW1lQ3J5cHRMaWIuaW5mDQo+ICsrKyBiL0NyeXB0b1BrZy9M aWJyYXJ5L0Jhc2VDcnlwdExpYi9SdW50aW1lQ3J5cHRMaWIuaW5mDQo+IEBAIC05MCw2ICs5MCw3 IEBADQo+IA0KPiAgW1BjZF0NCj4gICAgZ0VmaUNyeXB0b1BrZ1Rva2VuU3BhY2VHdWlkLlBjZE1E NUVuYWJsZQ0KPiArICBnRWZpQ3J5cHRvUGtnVG9rZW5TcGFjZUd1aWQuUGNkU0hBMUVuYWJsZQ0K PiANCj4gICMNCj4gICMgUmVtb3ZlIHRoZXNlIFtCdWlsZE9wdGlvbnNdIGFmdGVyIHRoaXMgbGli cmFyeSBpcw0KPiBjbGVhbmVkIHVwDQo+IGRpZmYgLS1naXQNCj4gYS9DcnlwdG9Qa2cvTGlicmFy eS9CYXNlQ3J5cHRMaWIvU21tQ3J5cHRMaWIuaW5mDQo+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvQmFz ZUNyeXB0TGliL1NtbUNyeXB0TGliLmluZg0KPiBpbmRleCAyMWYxMDRjOTE2Li43ZjY3OGVlZTkz IDEwMDY0NA0KPiAtLS0gYS9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvU21tQ3J5cHRM aWIuaW5mDQo+ICsrKyBiL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9TbW1DcnlwdExp Yi5pbmYNCj4gQEAgLTg5LDYgKzg5LDcgQEANCj4gDQo+ICBbUGNkXQ0KPiAgICBnRWZpQ3J5cHRv UGtnVG9rZW5TcGFjZUd1aWQuUGNkTUQ1RW5hYmxlDQo+ICsgIGdFZmlDcnlwdG9Qa2dUb2tlblNw YWNlR3VpZC5QY2RTSEExRW5hYmxlDQo+IA0KPiAgIw0KPiAgIyBSZW1vdmUgdGhlc2UgW0J1aWxk T3B0aW9uc10gYWZ0ZXIgdGhpcyBsaWJyYXJ5IGlzDQo+IGNsZWFuZWQgdXANCj4gZGlmZiAtLWdp dA0KPiBhL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYk51bGwvSG1hYy9DcnlwdEhtYWNT aGExTnUNCj4gbGwuYw0KPiBiL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYk51bGwvSG1h Yy9DcnlwdEhtYWNTaGExTnUNCj4gbGwuYw0KPiBpbmRleCBlOGMwZjM0MWI3Li4zYWFjNzk4MTg4 IDEwMDY0NA0KPiAtLS0NCj4gYS9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWJOdWxsL0ht YWMvQ3J5cHRIbWFjU2hhMU51DQo+IGxsLmMNCj4gKysrDQo+IGIvQ3J5cHRvUGtnL0xpYnJhcnkv QmFzZUNyeXB0TGliTnVsbC9IbWFjL0NyeXB0SG1hY1NoYTFOdQ0KPiBsbC5jDQo+IEBAIC01LDcg KzUsOCBAQCBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDIwLCBJbnRlbA0KPiBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiANCj4gICoqLw0KPiAtDQo+ICsjaW5jbHVkZSA8TGlicmFyeS9Q Y2RMaWIuaD4NCj4gKyNpZiAoRml4ZWRQY2RHZXRCb29sIChQY2RTSEExRW5hYmxlKSkNCj4gICNp bmNsdWRlICJJbnRlcm5hbENyeXB0TGliLmgiDQo+IA0KPiAgLyoqDQo+IEBAIC0xMzcsMyArMTM4 LDQgQEAgSG1hY1NoYTFGaW5hbCAoDQo+ICAgIEFTU0VSVCAoRkFMU0UpOw0KPiAgICByZXR1cm4g RkFMU0U7DQo+ICB9DQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL0NyeXB0b1BrZy9MaWJy YXJ5L0Jhc2VDcnlwdExpYk9uUHJvdG9jb2xQcGkvQ3J5cHRMaWIuYw0KPiBiL0NyeXB0b1BrZy9M aWJyYXJ5L0Jhc2VDcnlwdExpYk9uUHJvdG9jb2xQcGkvQ3J5cHRMaWIuYw0KPiBpbmRleCBjYmEx ZTRjOGJmLi44NDI5ZmVmYzBiIDEwMDY0NA0KPiAtLS0NCj4gYS9DcnlwdG9Qa2cvTGlicmFyeS9C YXNlQ3J5cHRMaWJPblByb3RvY29sUHBpL0NyeXB0TGliLmMNCj4gKysrDQo+IGIvQ3J5cHRvUGtn L0xpYnJhcnkvQmFzZUNyeXB0TGliT25Qcm90b2NvbFBwaS9DcnlwdExpYi5jDQo+IEBAIC0yNjAs NiArMjYwLDcgQEAgTWQ1SGFzaEFsbCAoDQo+ICB9DQo+ICAjZW5kaWYNCj4gDQo+ICsjaWYgKEZp eGVkUGNkR2V0Qm9vbCAoUGNkU0hBMUVuYWJsZSkpDQo+ICAvKioNCj4gICAgUmV0cmlldmVzIHRo ZSBzaXplLCBpbiBieXRlcywgb2YgdGhlIGNvbnRleHQgYnVmZmVyDQo+IHJlcXVpcmVkIGZvciBT SEEtMSBoYXNoIG9wZXJhdGlvbnMuDQo+IA0KPiBAQCAtNDE3LDYgKzQxOCw3IEBAIFNoYTFIYXNo QWxsICgNCj4gIHsNCj4gICAgQ0FMTF9DUllQVE9fU0VSVklDRSAoU2hhMUhhc2hBbGwsIChEYXRh LCBEYXRhU2l6ZSwNCj4gSGFzaFZhbHVlKSwgRkFMU0UpOw0KPiAgfQ0KPiArI2VuZGlmDQo+IA0K PiAgLyoqDQo+ICAgIFJldHJpZXZlcyB0aGUgc2l6ZSwgaW4gYnl0ZXMsIG9mIHRoZSBjb250ZXh0 IGJ1ZmZlcg0KPiByZXF1aXJlZCBmb3IgU0hBLTI1NiBoYXNoIG9wZXJhdGlvbnMuDQo+IEBAIC0x MTcxLDYgKzExNzMsNyBAQCBIbWFjTWQ1RmluYWwgKA0KPiAgfQ0KPiAgI2VuZGlmDQo+IA0KPiAr I2lmIChGaXhlZFBjZEdldEJvb2wgKFBjZFNIQTFFbmFibGUpKQ0KPiAgLyoqDQo+ICAgIEFsbG9j YXRlcyBhbmQgaW5pdGlhbGl6ZXMgb25lIEhNQUNfQ1RYIGNvbnRleHQgZm9yDQo+IHN1YnNlcXVl bnQgSE1BQy1TSEExIHVzZS4NCj4gDQo+IEBAIC0xMzIxLDYgKzEzMjQsNyBAQCBIbWFjU2hhMUZp bmFsICgNCj4gIHsNCj4gICAgQ0FMTF9DUllQVE9fU0VSVklDRSAoSG1hY1NoYTFGaW5hbCwgKEht YWNTaGExQ29udGV4dCwNCj4gSG1hY1ZhbHVlKSwgRkFMU0UpOw0KPiAgfQ0KPiArI2VuZGlmDQo+ IA0KPiAgLyoqDQo+ICAgIEFsbG9jYXRlcyBhbmQgaW5pdGlhbGl6ZXMgb25lIEhNQUNfQ1RYIGNv bnRleHQgZm9yDQo+IHN1YnNlcXVlbnQgSE1BQy1TSEEyNTYgdXNlLg0KPiBkaWZmIC0tZ2l0DQo+ IGEvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUhhc2hBcGlMaWIvQmFzZUhhc2hBcGlMaWIuYw0KPiBi L0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VIYXNoQXBpTGliL0Jhc2VIYXNoQXBpTGliLmMNCj4gaW5k ZXggZjk3OTZiMjE1OC4uNzU0ZDc1YWViMiAxMDA2NDQNCj4gLS0tIGEvQ3J5cHRvUGtnL0xpYnJh cnkvQmFzZUhhc2hBcGlMaWIvQmFzZUhhc2hBcGlMaWIuYw0KPiArKysgYi9DcnlwdG9Qa2cvTGli cmFyeS9CYXNlSGFzaEFwaUxpYi9CYXNlSGFzaEFwaUxpYi5jDQo+IEBAIC0zMyw5ICszMywxMSBA QCBIYXNoQXBpR2V0Q29udGV4dFNpemUgKA0KPiAgICApDQo+ICB7DQo+ICAgIHN3aXRjaCAoUGNk R2V0MzIgKFBjZEhhc2hBcGlMaWJQb2xpY3kpKSB7DQo+ICsjaWYgKEZpeGVkUGNkR2V0Qm9vbCAo UGNkU0hBMUVuYWJsZSkpDQo+ICAgICAgY2FzZSBIQVNIX0FMR19TSEExOg0KPiAgICAgICAgcmV0 dXJuIFNoYTFHZXRDb250ZXh0U2l6ZSAoKTsNCj4gICAgICAgIGJyZWFrOw0KPiArI2VuZGlmDQo+ IA0KPiAgICAgIGNhc2UgSEFTSF9BTEdfU0hBMjU2Og0KPiAgICAgICAgcmV0dXJuIFNoYTI1Nkdl dENvbnRleHRTaXplICgpOw0KPiBAQCAtNzUsOSArNzcsMTEgQEAgSGFzaEFwaUluaXQgKA0KPiAg ICApDQo+ICB7DQo+ICAgIHN3aXRjaCAoUGNkR2V0MzIgKFBjZEhhc2hBcGlMaWJQb2xpY3kpKSB7 DQo+ICsjaWYgKEZpeGVkUGNkR2V0Qm9vbCAoUGNkU0hBMUVuYWJsZSkpDQo+ICAgICAgY2FzZSBI QVNIX0FMR19TSEExOg0KPiAgICAgICAgcmV0dXJuIFNoYTFJbml0IChIYXNoQ29udGV4dCk7DQo+ ICAgICAgICBicmVhazsNCj4gKyNlbmRpZg0KPiANCj4gICAgICBjYXNlIEhBU0hfQUxHX1NIQTI1 NjoNCj4gICAgICAgIHJldHVybiBTaGEyNTZJbml0IChIYXNoQ29udGV4dCk7DQo+IEBAIC0xMTks OSArMTIzLDExIEBAIEhhc2hBcGlEdXBsaWNhdGUgKA0KPiAgICApDQo+ICB7DQo+ICAgIHN3aXRj aCAoUGNkR2V0MzIgKFBjZEhhc2hBcGlMaWJQb2xpY3kpKSB7DQo+ICsjaWYgKEZpeGVkUGNkR2V0 Qm9vbCAoUGNkU0hBMUVuYWJsZSkpDQo+ICAgICAgY2FzZSBIQVNIX0FMR19TSEExOg0KPiAgICAg ICAgcmV0dXJuIFNoYTFEdXBsaWNhdGUgKEhhc2hDb250ZXh0LA0KPiBOZXdIYXNoQ29udGV4dCk7 DQo+ICAgICAgICBicmVhazsNCj4gKyNlbmRpZg0KPiANCj4gICAgICBjYXNlIEhBU0hfQUxHX1NI QTI1NjoNCj4gICAgICAgIHJldHVybiBTaGEyNTZEdXBsaWNhdGUgKEhhc2hDb250ZXh0LA0KPiBO ZXdIYXNoQ29udGV4dCk7DQo+IEBAIC0xNjUsOSArMTcxLDExIEBAIEhhc2hBcGlVcGRhdGUgKA0K PiAgICApDQo+ICB7DQo+ICAgIHN3aXRjaCAoUGNkR2V0MzIgKFBjZEhhc2hBcGlMaWJQb2xpY3kp KSB7DQo+ICsjaWYgKEZpeGVkUGNkR2V0Qm9vbCAoUGNkU0hBMUVuYWJsZSkpDQo+ICAgICAgY2Fz ZSBIQVNIX0FMR19TSEExOg0KPiAgICAgICAgcmV0dXJuIFNoYTFVcGRhdGUgKEhhc2hDb250ZXh0 LCBEYXRhVG9IYXNoLA0KPiBEYXRhVG9IYXNoTGVuKTsNCj4gICAgICAgIGJyZWFrOw0KPiArI2Vu ZGlmDQo+IA0KPiAgICAgIGNhc2UgSEFTSF9BTEdfU0hBMjU2Og0KPiAgICAgICAgcmV0dXJuIFNo YTI1NlVwZGF0ZSAoSGFzaENvbnRleHQsIERhdGFUb0hhc2gsDQo+IERhdGFUb0hhc2hMZW4pOw0K PiBAQCAtMjA5LDkgKzIxNywxMSBAQCBIYXNoQXBpRmluYWwgKA0KPiAgICApDQo+ICB7DQo+ICAg IHN3aXRjaCAoUGNkR2V0MzIgKFBjZEhhc2hBcGlMaWJQb2xpY3kpKSB7DQo+ICsjaWYgKEZpeGVk UGNkR2V0Qm9vbCAoUGNkU0hBMUVuYWJsZSkpDQo+ICAgICAgY2FzZSBIQVNIX0FMR19TSEExOg0K PiAgICAgICAgcmV0dXJuIFNoYTFGaW5hbCAoSGFzaENvbnRleHQsIERpZ2VzdCk7DQo+ICAgICAg ICBicmVhazsNCj4gKyNlbmRpZg0KPiANCj4gICAgICBjYXNlIEhBU0hfQUxHX1NIQTI1NjoNCj4g ICAgICAgIHJldHVybiBTaGEyNTZGaW5hbCAoSGFzaENvbnRleHQsIERpZ2VzdCk7DQo+IEBAIC0y NTUsOSArMjY1LDExIEBAIEhhc2hBcGlIYXNoQWxsICgNCj4gICAgKQ0KPiAgew0KPiAgICBzd2l0 Y2ggKFBjZEdldDMyIChQY2RIYXNoQXBpTGliUG9saWN5KSkgew0KPiArI2lmIChGaXhlZFBjZEdl dEJvb2wgKFBjZFNIQTFFbmFibGUpKQ0KPiAgICAgIGNhc2UgSEFTSF9BTEdfU0hBMToNCj4gICAg ICAgIHJldHVybiBTaGExSGFzaEFsbCAoRGF0YVRvSGFzaCwgRGF0YVRvSGFzaExlbiwNCj4gRGln ZXN0KTsNCj4gICAgICAgIGJyZWFrOw0KPiArI2VuZGlmDQo+IA0KPiAgICAgIGNhc2UgSEFTSF9B TEdfU0hBMjU2Og0KPiAgICAgICAgcmV0dXJuIFNoYTI1Nkhhc2hBbGwgKERhdGFUb0hhc2gsIERh dGFUb0hhc2hMZW4sDQo+IERpZ2VzdCk7DQo+IGRpZmYgLS1naXQNCj4gYS9DcnlwdG9Qa2cvTGli cmFyeS9CYXNlSGFzaEFwaUxpYi9CYXNlSGFzaEFwaUxpYi5pbmYNCj4gYi9DcnlwdG9Qa2cvTGli cmFyeS9CYXNlSGFzaEFwaUxpYi9CYXNlSGFzaEFwaUxpYi5pbmYNCj4gaW5kZXggYjRkODY3NWRk ZC4uMjlmN2Q3YWJmZCAxMDA2NDQNCj4gLS0tIGEvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUhhc2hB cGlMaWIvQmFzZUhhc2hBcGlMaWIuaW5mDQo+ICsrKyBiL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VI YXNoQXBpTGliL0Jhc2VIYXNoQXBpTGliLmluZg0KPiBAQCAtNDIsMyArNDIsNCBAQA0KPiANCj4g IFtQY2RdDQo+ICAgIGdFZmlDcnlwdG9Qa2dUb2tlblNwYWNlR3VpZC5QY2RIYXNoQXBpTGliUG9s aWN5ICAgICMjDQo+IENPTlNVTUVTDQo+ICsgIGdFZmlDcnlwdG9Qa2dUb2tlblNwYWNlR3VpZC5Q Y2RTSEExRW5hYmxlICAgICAgICAgICMjDQo+IENPTlNVTUVTDQo+IGRpZmYgLS1naXQgYS9Dcnlw dG9Qa2cvUHJpdmF0ZS9Qcm90b2NvbC9DcnlwdG8uaA0KPiBiL0NyeXB0b1BrZy9Qcml2YXRlL1By b3RvY29sL0NyeXB0by5oDQo+IGluZGV4IDUyNzMxOGRjMjMuLjNmOGM1NzUxYTcgMTAwNjQ0DQo+ IC0tLSBhL0NyeXB0b1BrZy9Qcml2YXRlL1Byb3RvY29sL0NyeXB0by5oDQo+ICsrKyBiL0NyeXB0 b1BrZy9Qcml2YXRlL1Byb3RvY29sL0NyeXB0by5oDQo+IEBAIC0xNzksNiArMTc5LDcgQEAgQk9P TEVBTg0KPiAgICApOw0KPiAgI2VuZGlmDQo+IA0KPiArI2lmIChGaXhlZFBjZEdldEJvb2wgKFBj ZFNIQTFFbmFibGUpKQ0KPiAgLyoqDQo+ICAgIEFsbG9jYXRlcyBhbmQgaW5pdGlhbGl6ZXMgb25l IEhNQUNfQ1RYIGNvbnRleHQgZm9yDQo+IHN1YnNlcXVlbnQgSE1BQy1TSEExIHVzZS4NCj4gDQo+ IEBAIC0zMTUsNyArMzE2LDcgQEAgQk9PTEVBTg0KPiAgICBJTiBPVVQgIFZPSUQgICAqSG1hY1No YTFDb250ZXh0LA0KPiAgICBPVVQgICAgIFVJTlQ4ICAqSG1hY1ZhbHVlDQo+ICAgICk7DQo+IC0N Cj4gKyNlbmRpZg0KPiANCj4gIC8qKg0KPiAgICBBbGxvY2F0ZXMgYW5kIGluaXRpYWxpemVzIG9u ZSBITUFDX0NUWCBjb250ZXh0IGZvcg0KPiBzdWJzZXF1ZW50IEhNQUMtU0hBMjU2IHVzZS4NCj4g QEAgLTE1MzcsNiArMTUzOCw3IEBAIEJPT0xFQU4NCj4gIC8vIFNIQQ0KPiAgLy8tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IA0KPiArI2lmIChGaXhlZFBjZEdldEJv b2wgKFBjZFNIQTFFbmFibGUpKQ0KPiAgLyoqDQo+ICAgIFJldHJpZXZlcyB0aGUgc2l6ZSwgaW4g Ynl0ZXMsIG9mIHRoZSBjb250ZXh0IGJ1ZmZlcg0KPiByZXF1aXJlZCBmb3IgU0hBLTEgaGFzaCBv cGVyYXRpb25zLg0KPiANCj4gQEAgLTE2NzYsNiArMTY3OCw3IEBAIEJPT0xFQU4NCj4gICAgSU4g ICBVSU5UTiAgICAgICBEYXRhU2l6ZSwNCj4gICAgT1VUICBVSU5UOCAgICAgICAqSGFzaFZhbHVl DQo+ICAgICk7DQo+ICsjZW5kaWYNCj4gDQo+ICAvKioNCj4gICAgUmV0cmlldmVzIHRoZSBzaXpl LCBpbiBieXRlcywgb2YgdGhlIGNvbnRleHQgYnVmZmVyDQo+IHJlcXVpcmVkIGZvciBTSEEtMjU2 IGhhc2ggb3BlcmF0aW9ucy4NCj4gQEAgLTM0NTMsNiArMzQ1Niw3IEBAIHN0cnVjdCBfRURLSUlf Q1JZUFRPX1BST1RPQ09MIHsNCj4gICAgRURLSUlfQ1JZUFRPX0hNQUNfTUQ1X1VQREFURQ0KPiBI bWFjTWQ1VXBkYXRlOw0KPiAgICBFREtJSV9DUllQVE9fSE1BQ19NRDVfRklOQUwNCj4gSG1hY01k NUZpbmFsOw0KPiAgI2VuZGlmDQo+ICsjaWYgKEZpeGVkUGNkR2V0Qm9vbCAoUGNkU0hBMUVuYWJs ZSkpDQo+ICAgIC8vLyBITUFDIFNIQTENCj4gICAgRURLSUlfQ1JZUFRPX0hNQUNfU0hBMV9ORVcN Cj4gSG1hY1NoYTFOZXc7DQo+ICAgIEVES0lJX0NSWVBUT19ITUFDX1NIQTFfRlJFRQ0KPiBIbWFj U2hhMUZyZWU7DQo+IEBAIC0zNDYwLDYgKzM0NjQsNyBAQCBzdHJ1Y3QgX0VES0lJX0NSWVBUT19Q Uk9UT0NPTCB7DQo+ICAgIEVES0lJX0NSWVBUT19ITUFDX1NIQTFfRFVQTElDQVRFDQo+IEhtYWNT aGExRHVwbGljYXRlOw0KPiAgICBFREtJSV9DUllQVE9fSE1BQ19TSEExX1VQREFURQ0KPiBIbWFj U2hhMVVwZGF0ZTsNCj4gICAgRURLSUlfQ1JZUFRPX0hNQUNfU0hBMV9GSU5BTA0KPiBIbWFjU2hh MUZpbmFsOw0KPiArI2VuZGlmDQo+ICAgIC8vLyBITUFDIFNIQTI1Ng0KPiAgICBFREtJSV9DUllQ VE9fSE1BQ19TSEEyNTZfTkVXDQo+IEhtYWNTaGEyNTZOZXc7DQo+ICAgIEVES0lJX0NSWVBUT19I TUFDX1NIQTI1Nl9GUkVFDQo+IEhtYWNTaGEyNTZGcmVlOw0KPiBAQCAtMzUxMCw2ICszNTE1LDcg QEAgc3RydWN0IF9FREtJSV9DUllQVE9fUFJPVE9DT0wgew0KPiAgICBFREtJSV9DUllQVE9fUlNB X1BLQ1MxX1ZFUklGWQ0KPiBSc2FQa2NzMVZlcmlmeTsNCj4gICAgRURLSUlfQ1JZUFRPX1JTQV9H RVRfUFJJVkFURV9LRVlfRlJPTV9QRU0NCj4gUnNhR2V0UHJpdmF0ZUtleUZyb21QZW07DQo+ICAg IEVES0lJX0NSWVBUT19SU0FfR0VUX1BVQkxJQ19LRVlfRlJPTV9YNTA5DQo+IFJzYUdldFB1Ymxp Y0tleUZyb21YNTA5Ow0KPiArI2lmIChGaXhlZFBjZEdldEJvb2wgKFBjZFNIQTFFbmFibGUpKQ0K PiAgICAvLy8gU2hhMQ0KPiAgICBFREtJSV9DUllQVE9fU0hBMV9HRVRfQ09OVEVYVF9TSVpFDQo+ IFNoYTFHZXRDb250ZXh0U2l6ZTsNCj4gICAgRURLSUlfQ1JZUFRPX1NIQTFfSU5JVA0KPiBTaGEx SW5pdDsNCj4gQEAgLTM1MTcsNiArMzUyMyw3IEBAIHN0cnVjdCBfRURLSUlfQ1JZUFRPX1BST1RP Q09MIHsNCj4gICAgRURLSUlfQ1JZUFRPX1NIQTFfVVBEQVRFDQo+IFNoYTFVcGRhdGU7DQo+ICAg IEVES0lJX0NSWVBUT19TSEExX0ZJTkFMDQo+IFNoYTFGaW5hbDsNCj4gICAgRURLSUlfQ1JZUFRP X1NIQTFfSEFTSF9BTEwNCj4gU2hhMUhhc2hBbGw7DQo+ICsjZW5kaWYNCj4gICAgLy8vIFNoYTI1 Ng0KPiAgICBFREtJSV9DUllQVE9fU0hBMjU2X0dFVF9DT05URVhUX1NJWkUNCj4gU2hhMjU2R2V0 Q29udGV4dFNpemU7DQo+ICAgIEVES0lJX0NSWVBUT19TSEEyNTZfSU5JVA0KPiBTaGEyNTZJbml0 Ow0KPiAtLQ0KPiAyLjIxLjAud2luZG93cy4xDQo+IA0KPiANCj4gDQoNCg==