From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.16315.1585327095461289594 for ; Fri, 27 Mar 2020 09:38:15 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: JEjI8JVr4B9+BBQKQk0zOf6KJ2Jj8d743GgCrhvmjcKTy0RCzKwJlnFUC2xa1L+MMdFtRB9gFi fRxI5/acqUQw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Mar 2020 09:38:15 -0700 IronPort-SDR: sD4yh6/zf8wUOKG3SkeIIpTIdEVWNTe9HadkMQj83Qr32OutBMHt+4iyWO94Yv2FVBUQrOfLK4 niCybO9/m81Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,313,1580803200"; d="scan'208";a="239146415" Received: from orsmsx103.amr.corp.intel.com ([10.22.225.130]) by fmsmga007.fm.intel.com with ESMTP; 27 Mar 2020 09:38:15 -0700 Received: from orsmsx156.amr.corp.intel.com (10.22.240.22) by ORSMSX103.amr.corp.intel.com (10.22.225.130) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 27 Mar 2020 09:38:14 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.188]) by ORSMSX156.amr.corp.intel.com ([169.254.8.211]) with mapi id 14.03.0439.000; Fri, 27 Mar 2020 09:38:14 -0700 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "Yao, Jiewen" , "Fu, Siyuan" , "Gao, Zhichao" , "Kinney, Michael D" CC: "Wang, Jian J" , "Lu, XiaoyuX" , Maciej Rabeda , "Wu, Jiaxin" Subject: Re: [edk2-devel] [PATCH 0/8] CryptoPkg: Retire the deprecate function Thread-Topic: [edk2-devel] [PATCH 0/8] CryptoPkg: Retire the deprecate function Thread-Index: AQHWA9r6+gR9BC7Y6EaSbcPuNFTiWKhcMa6AgAAC+gCAAAKGAIAAH1sAgABKUUA= Date: Fri, 27 Mar 2020 16:38:13 +0000 Message-ID: References: <20200327015629.2588-1-zhichao.gao@intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F9A0490@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F9A08EF@shsmsx102.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503F9A08EF@shsmsx102.ccr.corp.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 Return-Path: michael.d.kinney@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Smlld2VuLA0KDQpUaGUgcHVycG9zZSBvZiBwcml2YXRlIGluY2x1ZGVzIGlzIHRvIGtlZXAgbW9k dWxlcy9saWINCmluICpvdGhlciogcGFja2FnZXMgZnJvbSB1c2luZyBpbnRlcmZhY2VzIHRoYXQg YXJlIHRoZQ0KcGFja2FnZSB3aXRoIHRoZSBwcml2YXRlIGludGVyZmFjZSBkb2VzIG5vdCB3YW50 IG90aGVyDQpwYWNrYWdlcyB0byB1c2UgYW5kIGRvZXMgbm90IHdhbnQgdG8gaGF2ZSB0byBjb29y ZGluYXRlDQp3aXRoIG90aGVyIHBhY2thZ2VzIGlmIHRoYXQgcGFja2FnZSBvd25lciBkZWNpZGVz IHRvDQptYWtlIGNoYW5nZXMgdG8gdGhvc2UgcHJpdmF0ZSBpbnRlcmZhY2VzLiANCg0KRm9yIG1v ZHVsZXMvbGlicyB3aXRoaW4gcGFja2FnZSB0aGF0IGRvIHVzZSBwcml2YXRlDQppbmNsdWRlcywg dGhlIHBhY2thZ2Ugb3duZXIgZ2V0cyB0byBkZWNpZGUgaG93IHRvIA0KbWFpbnRhaW4gdGhlIGlu dGVyZmFjZXMgaW4gdGhlIHByaXZhdGUgaW5jbHVkZXMgdG8NCnN1cHBvcnQgdGhvc2UgbW9kdWxl cy9saWJzLg0KDQpGb3IgZXhhbXBsZSwgdGhlIENyeXB0b1BrZyBoYXMgbW9kdWxlcyB0aGF0IGFy ZQ0KaW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBwcmUtYnVpbHQgYmluYXJpZXMsIHNvIHRoZQ0KQ3J5 cHRvUGtnIG93bmVyIG5lZWRzIHRvIG1ha2Ugc3VyZSB0aGUgbWFpbnRlbmFuY2UNCm9mIHRoZSBw cml2YXRlIGluY2x1ZGVzIHN1cHBvcnRzIGJvdGggdGhlIHNvdXJjZSBhbmQNCmJpbmFyeSB1c2Ug Y2FzZXMuDQoNClRoZSBwcml2YXRlIFByb3RvY29sL1BQSSBpbnRlcmZhY2VzIGluIHRoZSBDcnlw dG9Qa2cNCndlcmUgZGVzaWduZWQgdG8gc3VwcG9ydCBmdXR1cmUgZXhwYW5zaW9uLiAgVGhlIGZp cnN0DQpBUEkgaW4gdGhlIFByb3RvY29sL1BQSSBpcyBHZXRWZXJzaW9uKCkuICBUaGUgdmVyc2lv biANCnZhbHVlIHJldHVybmVkIGNhbiBiZSB1c2VkIHRvIGhhdmUgZGlmZmVyZW50IGxheW91dHMg DQpvZiBmaWVsZHMgaW4gdGhlIFByb3RvY29sL1BQSS4gIEluIG9yZGVyIHRvIHN1cHBvcnQNCmJh Y2t3YXJkcyBjb21wYXRpYmlsaXR5LCBBUElzIGFyZSBhZGRlZCB0byB0aGUgZW5kDQpvZiB0aGUg UHJvdG9jb2wvUFBJIHN0cnVjdHVyZSBhcyB0aGUgdmVyc2lvbiB2YWx1ZSANCmlzIGluY3JlYXNl ZC4gIFlvdSB3aWxsIG5vdGljZSB0aGF0IHRoZXJlIGlzIGFuIFg1MDkNCnNlcnZpY2UgdGhhdCB3 YXMgYWRkZWQgZnVydGhlciBkb3duIHRoYW4gdGhlIGluaXRpYWwNCmdyb3VwaW5nLiAgVGhpcyBp cyBqdXN0IGFuIGV4YW1wbGUgb2YgaG93IHRoZSBDcnlwdG9Qa2cNCmlzIG1haW50YWluaW5nIGEg cHJpdmF0ZSBpbnRlcmZhY2UgZm9yIGJpbmFyeSB1c2UgY2FzZXMuDQpPdGhlciBwYWNrYWdlcyBt YXkgY2hvb3NlIGFsdGVybmF0ZSB0ZWNobmlxdWVzLg0KIA0KVGhhbmtzLA0KDQpNaWtlDQoNCj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8g PGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbg0KPiBCZWhhbGYgT2YgWWFvLCBKaWV3ZW4NCj4gU2Vu dDogVGh1cnNkYXksIE1hcmNoIDI2LCAyMDIwIDk6NTkgUE0NCj4gVG86IEZ1LCBTaXl1YW4gPHNp eXVhbi5mdUBpbnRlbC5jb20+Ow0KPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgR2FvLCBaaGljaGFv DQo+IDx6aGljaGFvLmdhb0BpbnRlbC5jb20+DQo+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53 YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXVYDQo+IDx4aWFveXV4Lmx1QGludGVsLmNvbT47IE1h Y2llaiBSYWJlZGENCj4gPG1hY2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPjsgV3UsIEppYXhp bg0KPiA8amlheGluLnd1QGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBb UEFUQ0ggMC84XSBDcnlwdG9Qa2c6IFJldGlyZQ0KPiB0aGUgZGVwcmVjYXRlIGZ1bmN0aW9uDQo+ IA0KPiBUaGFua3MgU2l5dW4uDQo+IEkgdGhpbmsgcHJvYmFibHkgd2UgbmVlZCBkaXNjdXNzIHRo aXMgbW9yZS4NCj4gDQo+IDEpIEFib3V0IHByaXZhdGUgdi5zLiBwdWJsaWMuDQo+IA0KPiBUaGUg YmVuZWZpdCBmb3IgcHJpdmF0ZSBpbmNsdWRlIGlzIHRvIGlzb2xhdGUgZXh0ZXJuYWwNCj4gaW50 ZXJmYWNlIGFuZCBpbnRlcm5hbCBpbnRlcmZhY2UuDQo+IEEgcGFja2FnZSBjYW4ga2VlcCB1cGRh dGluZyBpdHMgcHJpdmF0ZSBpbnRlcmZhY2Ugd2l0aG91dA0KPiBpbXBhY3QgYW55IG90aGVyIHBh Y2thZ2VzLg0KPiBIb3dldmVyLCBpbiB0aGlzIGNhc2UsIGEgcHJpdmF0ZSBpbnRlcmZhY2UgdXBk YXRlIHdpbGwNCj4gYnJpbmcgYmluYXJ5IGNvbXBhdGliaWxpdHkgaXNzdWUgd2l0aCBvdGhlciBw YWNrYWdlLg0KPiBJIGFtIG5vdCBzdXJlIGl0IGlzIGFjY2VwdGFibGUgb3Igbm90Lg0KPiANCj4g TWlrZQ0KPiBEbyB5b3UgaGF2ZSBhbnkgY29tbWVudD8gSXMgdGhhdCB0aGUgZGVzaWduIGdvYWwg b2YNCj4gcHJpdmF0ZSBpbnRlcmZhY2UgLSBqdXN0IGtlZXAgc291cmNlIGNvZGUgY29tcGF0aWJp bGl0eSwNCj4gYnV0IG5vdCBiaW5hcnkgY29tcGF0aWJsaXR5Pw0KPiANCj4gMikgQWJvdXQgdGhl IHByb3RvY29sIGl0c2VsZi4NCj4gDQo+IE9uZSBjb25jZXJuIEkgaGF2ZSBpcyB0aGF0IHdlICpo YXJkY29kZSogdGhlIGFsZ29yaXRobSBpbg0KPiBwcm90b2NvbC4NCj4gDQo+IFdlIGtlZXBzIGFk ZGluZyBuZXcgYWxnb3JpdGhtIGFuZCByZW1vdmluZyBvbGQgb25lLiBUaGF0DQo+IG1lYW5zIHRo aXMgcHJvdG9jb2wgaW50ZXJmYWNlIGlzIHVuc3RhYmxlLg0KPiANCj4gVG9kYXksIHdlIGhhdmUg ZGVmaW5lZCBTSEEyIHNldCwgYW5kIGRlcHJlY2F0aW5nIFNIQTEgYW5kDQo+IG9sZGVyIG9uZS4g VG9tb3Jyb3cgd2UgbWF5IG5lZWQgYWRkIFNIQTMgc2V0Lg0KPiBUb2RheSwgd2UgaGF2ZSBSU0FQ S0NTMV8xNS4gVG9tb3Jyb3cgd2Ugd2lsbCBoYXZlIFJTQVBTUy4NCj4gU29tZSBvdGhlciBuZXcg c2V0IG9mIGFsZ29yaXRobXMgbWlnaHQgYmUgYWRkZWQgbGF0ZXIsDQo+IHN1Y2ggYXMgQUVBRCwg R01BQy4NCj4gDQo+IEZvciBhIHByb3RvY29sIGRlZmluaXRpb24sIEkgdGhpbmsgd2UgbmVlZCAq YWJzdHJhY3QgdGhlDQo+IGFjdGlvbiosIGJ1dCBub3QgKmFsZ29yaXRobSouDQo+IE9uZSBnb29k IGV4YW1wbGUgaXMgdGhlIFVFRkkgSEFTSDIgUHJvdG9jb2wuDQo+IGh0dHBzOi8vZ2l0aHViLmNv bS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci9NZGVQa2cvSW5jbA0KPiB1ZGUvUHJvdG9jb2wv SGFzaDIuaA0KPiBJdCBqdXN0IHRlbGxzIHlvdSBkbyB0aGUgaGFzaC4gWW91IG1heSBhZGQgbmV3 IGFsZ29yaXRobQ0KPiBHVUlELg0KPiANCj4gQW5vdGhlciBnb29kIGV4YW1wbGUgaXMgaW5zaWRl IG9mIG9wZW5zc2wuIE5vdyBpdCBpcw0KPiB1c2luZyBFVlAgc3R5bGUgY2lwaGVyIGFsZ28uDQo+ IEZvciBleGFtcGxlLA0KPiBodHRwczovL3d3dy5vcGVuc3NsLm9yZy9kb2NzL21hbjEuMS4xL21h bjMvRVZQX0VuY3J5cHRJbmkNCj4gdF9leC5odG1sDQo+IGh0dHBzOi8vd3d3Lm9wZW5zc2wub3Jn L2RvY3MvbWFuMS4xLjAvbWFuMy9FVlBfQ0lQSEVSX0NUWA0KPiBfY3RybC5odG1sDQo+IFRoZSBj aXBoZXIgaXRzZWxmIGlzIGlucHV0IGFzIHBhcmFtZXRlci4NCj4gDQo+IFRoZSBiZW5lZml0IGlz IHRoYXQsIGlmIHdlIHdhbnQgdG8gZGVwcmVjYXRlIGFuDQo+IGFsZ29yaXRobSwgdGhlIGludGVy ZmFjZSBjYW4gYmUgdW5jaGFuZ2VkLg0KPiBKdXN0IHRoZSBpbnRlcm5hbCBpbXBsZW1lbnRhdGlv biBjYW4gYmUgY2hhbmdlZC4NCj4gVGhlIGN1cnJlbnQgUENEIG1lY2hhbmlzbSBjYW4gc3RpbGwg YmUgYXBwbGllZCB0bw0KPiBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbi4NCj4gDQo+IENhbiB3ZSBn ZXQgYSBjaGFuY2UgdG8gcmV2aXNpdC9yZWRlc2lnbiB0aGUgcHJvdG9jb2wgQVBJLA0KPiB3aGVu IHdlIG1vdmUgdG8gcHVibGljIGluY2x1ZGU/DQo+IA0KPiBUaGFuayB5b3UNCj4gWWFvIEppZXdl bg0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IEZ1LCBTaXl1 YW4gPHNpeXVhbi5mdUBpbnRlbC5jb20+DQo+ID4gU2VudDogRnJpZGF5LCBNYXJjaCAyNywgMjAy MCAxMTowNyBBTQ0KPiA+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+Ow0K PiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgR2FvLCBaaGljaGFvDQo+ID4gPHpoaWNoYW8uZ2FvQGlu dGVsLmNvbT4NCj4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBM dSwgWGlhb3l1WA0KPiA8eGlhb3l1eC5sdUBpbnRlbC5jb20+Ow0KPiA+IE1hY2llaiBSYWJlZGEg PG1hY2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPjsgV3UsDQo+IEppYXhpbg0KPiA+IDxqaWF4 aW4ud3VAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIDAv OF0gQ3J5cHRvUGtnOiBSZXRpcmUNCj4gdGhlIGRlcHJlY2F0ZSBmdW5jdGlvbg0KPiA+DQo+ID4g SGksIEppZXdlbg0KPiA+DQo+ID4gQWx0aG91Z2ggdGhlIHByb3RvY29sIGlzIHByaXZhdGUsIGEg Y29ycmVzcG9uZGluZw0KPiBCYXNlQ3J5cHRvTGliIGluc3RhbmNlIGlzDQo+ID4gbm90IHByaXZh dGUsIGxpa2UgUGVpQ3J5cHRMaWIuaW5mLCBSdW50aW1lQ3J5cHRMaWIsDQo+IGV0Yy4gVGhlc2Ug bGlicmFyeSBpbnN0YW5jZXMNCj4gPiB3aWxsIGJlIHN0YXRpYyBsaW5rZWQgdG8gdGhlIGNvbnN1 bWVyIGRyaXZlciwgZm9yDQo+IGV4YW1wbGUgYW4gaVNDU0kgbmV0d29yayBkcml2ZXIuDQo+ID4g U28gYWN0dWFsbHkgaXQncyBub3QgYSAicHJpdmF0ZSIgY2hhbmdlIGluc2lkZQ0KPiBDcnlwdG9Q a2cuDQo+ID4NCj4gPiBUaGUgZ29hbCB0byBwcm92aWRlIGEgZHJpdmVyIHZlcnNpb24gb2YgY3J5 cHRvIHNlcnZpY2UNCj4gaXMgdG8gc3VwcG9ydCBtb2R1bGl6YXRpb24NCj4gPiBGVyB1cGRhdGUs IHdoaWNoIG1lYW5zIHRoZSBjcnlwdG8gZHJpdmVyIG1heSBOT1QgYmUNCj4gdXBkYXRlZCB0b2dl dGhlciB3aXRoDQo+ID4gaXRzIGNvbnN1bWVyLiBBIHBsYXRmb3JtIG1heSBjaG9vc2UgdG8gdXBk YXRlIHRoZQ0KPiBjcnlwdG8gc2VydmljZSBkcml2ZXIgdG8gYQ0KPiA+IG5ldyB2ZXJzaW9uIHdp dGggdGhpcyBwYXRjaCwgdGhlbiBhbGwgdGhlIEJhc2VDcnlwdG9MaWINCj4gY29uc3VtZXJzIHdp bGwgYmUNCj4gPiBtZXNzZWQuDQo+ID4NCj4gPiBCZXN0IFJlZ2FyZHMNCj4gPiBTaXl1YW4NCj4g Pg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IFlhbywgSmll d2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+IFNlbnQ6IDIwMjDlubQz5pyIMjfml6Ug MTA6NTgNCj4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgRnUsIFNpeXVhbg0KPiA8c2l5 dWFuLmZ1QGludGVsLmNvbT47IEdhbywgWmhpY2hhbw0KPiA+ID4gPHpoaWNoYW8uZ2FvQGludGVs LmNvbT4NCj4gPiA+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEx1 LCBYaWFveXVYDQo+ID4gPHhpYW95dXgubHVAaW50ZWwuY29tPjsNCj4gPiA+IE1hY2llaiBSYWJl ZGEgPG1hY2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPjsgV3UsDQo+IEppYXhpbg0KPiA+ID4g PGppYXhpbi53dUBpbnRlbC5jb20+DQo+ID4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQ QVRDSCAwLzhdIENyeXB0b1BrZzoNCj4gUmV0aXJlIHRoZSBkZXByZWNhdGUNCj4gPiBmdW5jdGlv bg0KPiA+ID4NCj4gPiA+IEVES0lJX0NSWVBUT19QUk9UT0NPTCBpcyAqcHJpdmF0ZSouDQo+ID4g Pg0KPiA+DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci9D cnlwdG9Qa2cvUA0KPiByaXZhdGUvUHJvdG9jb2wvQw0KPiA+ID4gcnlwdG8uaA0KPiA+ID4NCj4g PiA+IFdoeSB3ZSBjYW5ub3QgY2hhbmdlPw0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vw cy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+DQo+IE9uIEJlaGFsZiBPZiBTaXl1YW4sDQo+ID4g RnUNCj4gPiA+ID4gU2VudDogRnJpZGF5LCBNYXJjaCAyNywgMjAyMCAxMDo0NyBBTQ0KPiA+ID4g PiBUbzogR2FvLCBaaGljaGFvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+Ow0KPiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbw0KPiA+ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5j b20+OyBMdSwNCj4gWGlhb3l1WA0KPiA+ID4gPHhpYW95dXgubHVAaW50ZWwuY29tPjsNCj4gPiA+ ID4gTWFjaWVqIFJhYmVkYSA8bWFjaWVqLnJhYmVkYUBsaW51eC5pbnRlbC5jb20+OyBXdSwNCj4g SmlheGluDQo+ID4gPiA+IDxqaWF4aW4ud3VAaW50ZWwuY29tPg0KPiA+ID4gPiBTdWJqZWN0OiBS ZTogW2VkazItZGV2ZWxdIFtQQVRDSCAwLzhdIENyeXB0b1BrZzoNCj4gUmV0aXJlIHRoZSBkZXBy ZWNhdGUNCj4gPiA+IGZ1bmN0aW9uDQo+ID4gPiA+DQo+ID4gPiA+IEhpLCBaaGljaGFvDQo+ID4g PiA+DQo+ID4gPiA+IFdlIHNob3VsZCBuZXZlciBtb3ZlL2RlbGV0ZSBhIG1lbWJlciBmaWVsZCBv ZiBhDQo+IHByZXZpb3VzIGRlZmluZWQgcHJvdG9jb2wNCj4gPiA+ID4gSW50ZXJmYWNlLiBJbnN0 ZWFkLCB0aGVzZSBwcm90b2NvbCBBUElzIHNoYWxsIGJlDQo+IGtlcHQgYW5kIHJldHVybiBhbiBl cnJvciBjb2RlDQo+ID4gPiA+IElmIHRoZSBmdW5jdGlvbiBpcyByZXRpcmVkLiBPdGhlcndpc2Ug dGhlIGNvbnN1bWVyDQo+IGRyaXZlciBtYXkgY2FsbCBpbnRvIGFuDQo+ID4gPiA+IEluY29ycmVj dCBmdW5jdGlvbiBpZiBpdCdzIGJ1aWxkIHdpdGggZGlmZmVyZW50DQo+IGNvZGViYXNlL1BDRCBz ZXR0aW5ncyB3aXRoIHRoZQ0KPiA+ID4gPiBDcnlwdG8gUEVJL0RYRS9TTU0gZHJpdmVyLg0KPiA+ ID4gPiBUaGlzIGNvbW1lbnQgYXBwbGllcyB0byBhbGwgdGhlDQo+IEVES0lJX0NSWVBUT19QUk9U T0NPTCByZWxhdGVkIGNoYW5nZXMNCj4gPiBpbg0KPiA+ID4gPiB5b3VyIHBhdGNoIHNldC4NCj4g PiA+ID4NCj4gPiA+ID4gQmVzdCBSZWdhcmRzDQo+ID4gPiA+IFNpeXVhbg0KPiA+ID4gPg0KPiA+ ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogR2FvLCBa aGljaGFvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gU2VudDogMjAyMOW5tDPm nIgyN+aXpSA5OjU2DQo+ID4gPiA+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+ ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgTHUsDQo+IFhpYW95 dVgNCj4gPiA+ID4gPHhpYW95dXgubHVAaW50ZWwuY29tPjsNCj4gPiA+ID4gPiBNYWNpZWogUmFi ZWRhIDxtYWNpZWoucmFiZWRhQGxpbnV4LmludGVsLmNvbT47DQo+IFd1LCBKaWF4aW4NCj4gPiA+ ID4gPiA8amlheGluLnd1QGludGVsLmNvbT47IEZ1LCBTaXl1YW4NCj4gPHNpeXVhbi5mdUBpbnRl bC5jb20+DQo+ID4gPiA+ID4gU3ViamVjdDogW1BBVENIIDAvOF0gQ3J5cHRvUGtnOiBSZXRpcmUg dGhlDQo+IGRlcHJlY2F0ZSBmdW5jdGlvbg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gUkVGOg0KPiBo dHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODINCj4gPiA+ ID4gPiBSRUY6DQo+IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/ aWQ9MTg5OA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gTUQ0LCBBUjQsIFRkZXMsIEFlcyBFY2IgbW9k ZSwgTUQ1IGFuZCBTSEExIGlzIG5vdA0KPiBzZWN1cmUgYW55IGxvbmdlci4NCj4gPiA+ID4gPiBU aGV5IGFyZSBhbGwgZGVwcmVjYXRlZC4gRWRrMiB3b3VsZCBub3Qgc3VwcG9ydA0KPiB0aGVtIGFu eSBsb25nZXIuDQo+ID4gPiA+ID4gU28gcmVtb3ZlIHRoZW0uDQo+ID4gPiA+ID4gQnV0IHVlZmkg c3BlYyB3YW50IHRvIGtlZXAgTUQ1IGFuZCBTSEExIGZvcg0KPiBiYWNrd2FyZHMgY29tcGF0aWJp bGl0eS4NCj4gPiA+ID4gPiBTbyBhZGQgdHdvIHBjZHMgdG8gY29udHJvbCB0aGUgTUQ1IGFuZCBT SEExDQo+IGVuYWJsZW1lbnQuIFNldCB0aGUgcGNkcw0KPiA+ID4gPiA+IGRlZmF1bHQgdmFsdWUg dG8gZmFsc2UgdG8gaW5kaWNhdGUgdGhleSBhcmUNCj4gZGVwcmVjYXRlZC4NCj4gPiA+ID4gPg0K PiA+ID4gPiA+IE5ldFdvcmtQa2cncyBpU0NTSSBkcml2ZXIgd291bGQgY29uc3VtZSB0aGUgTUQ1 DQo+IGZ1bmN0aW9uLCBzbyBjaGFuZ2UNCj4gPiA+ID4gPiB0aGUgbWQ1IHBjZCB0byBUVVJFIHdo ZW4gaVNDU0kgaXMgZW5hYmxlZC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IENjOiBKaWFuIEogV2Fu ZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+IENjOiBYaWFveXUgTHUgPHhpYW95 dXgubHVAaW50ZWwuY29tPg0KPiA+ID4gPiA+IENjOiBNYWNpZWogUmFiZWRhIDxtYWNpZWoucmFi ZWRhQGxpbnV4LmludGVsLmNvbT4NCj4gPiA+ID4gPiBDYzogSmlheGluIFd1IDxqaWF4aW4ud3VA aW50ZWwuY29tPg0KPiA+ID4gPiA+IENjOiBTaXl1YW4gRnUgPHNpeXVhbi5mdUBpbnRlbC5jb20+ DQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogWmhpY2hhbyBHYW8NCj4gPHpoaWNoYW8uZ2FvQGlu dGVsLmNvbT4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFpoaWNoYW8gR2FvICg4KToNCj4gPiA+ID4g PiAgIENyeXB0b1BrZy9CYXNlQ3JweXRMaWI6IFJldGlyZSBNRDQgYWxnb3JpdGhtDQo+ID4gPiA+ ID4gICBDcnlwdG9Qa2cvQmFzZUNyeXB0TGliOiBSZXRpcmUgQVJDNCBhbGdvcml0aG0NCj4gPiA+ ID4gPiAgIENyeXB0b1BrZy9CYXNlQ3J5cHRMaWI6IFJldGlyZSB0aGUgVGRlcw0KPiBhbGdvcml0 aG0NCj4gPiA+ID4gPiAgIENyeXB0b1BrZy9CYXNlQ3J5cHRMaWI6IFJldGlyZSBBZXMgRWNiIG1v ZGUNCj4gYWxnb3JpdGhtDQo+ID4gPiA+ID4gICBDcnlwdG9Qa2cvZGVjOiBBZGQgcGNkcyB0byBh dm9pZCBidWlsZGluZyB0aGUNCj4gZGVwcmVjYXRlZCBmdW5jdGlvbg0KPiA+ID4gPiA+ICAgTmV0 V29ya1BrZy9QY2QuaW5jOiBFbmFibGUgdGhlIE1ENSBmb3IgaVNDU0kNCj4gPiA+ID4gPiAgIENy eXB0by9CYXNlQ3J5cHRMaWI6IFVzaW5nIHBjZCB0byBjb250cm9sIE1ENQ0KPiBlbmFibGVtZW50 DQo+ID4gPiA+ID4gICBDcnlwdG9Qa2cvQmFzZUNyeXB0TGliOiBVc2UgUGNkIHRvIGNvbnRyb2wg dGhlDQo+IFNIQTEgZW5hYmxlbWVudA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gIENyeXB0b1BrZy9D cnlwdG9Qa2cuZGVjICAgICAgICAgICAgICAgICAgICAgICB8DQo+IDExICsNCj4gPiA+ID4gPiAg Q3J5cHRvUGtnL0NyeXB0b1BrZy51bmkgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gMTEgKw0K PiA+ID4gPiA+ICBDcnlwdG9Qa2cvRHJpdmVyL0NyeXB0by5jICAgICAgICAgICAgICAgICAgICAg fA0KPiA2MzQgKy0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4gIENyeXB0b1BrZy9JbmNsdWRl L0xpYnJhcnkvQmFzZUNyeXB0TGliLmggICAgICB8DQo+IDU0OCAtLS0tLS0tLS0tLS0tLS0NCj4g PiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL0Jhc2VDcnlwdExpYi5pbmYgICAgIHwN Cj4gOSArLQ0KPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvQ2lwaGVyL0NyeXB0 QWVzLmMgICAgfA0KPiAxMTQgLS0tLQ0KPiA+ID4gPiA+ICAuLi4vQmFzZUNyeXB0TGliL0NpcGhl ci9DcnlwdEFlc051bGwuYyAgICAgICAgfA0KPiA1MiAtLQ0KPiA+ID4gPiA+ICAuLi4vTGlicmFy eS9CYXNlQ3J5cHRMaWIvQ2lwaGVyL0NyeXB0QXJjNC5jICAgfA0KPiAyMDUgLS0tLS0tDQo+ID4g PiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWIvQ2lwaGVyL0NyeXB0QXJjNE51bGwuYyAgICAgICB8DQo+ IDEyNCAtLS0tDQo+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9DaXBoZXIvQ3J5 cHRUZGVzLmMgICB8DQo+IDM2NCAtLS0tLS0tLS0tDQo+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRM aWIvQ2lwaGVyL0NyeXB0VGRlc051bGwuYyAgICAgICB8DQo+IDE2MCAtLS0tLQ0KPiA+ID4gPiA+ ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvSGFzaC9DcnlwdE1kNC5jICAgICAgfA0KPiAyMjMg LS0tLS0tDQo+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9IYXNoL0NyeXB0TWQ0 TnVsbC5jICB8DQo+IDE0MyAtLS0tDQo+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExp Yi9IYXNoL0NyeXB0TWQ1LmMgICAgICB8DQo+IDUgKy0NCj4gPiA+ID4gPiAgLi4uL0xpYnJhcnkv QmFzZUNyeXB0TGliL0htYWMvQ3J5cHRIbWFjTWQ1LmMgIHwNCj4gMyArDQo+ID4gPiA+ID4gIC4u Li9CYXNlQ3J5cHRMaWIvSG1hYy9DcnlwdEhtYWNNZDVOdWxsLmMgICAgICB8DQo+IDMgKw0KPiA+ ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvSG1hYy9DcnlwdEhtYWNTaGExLmMgfA0K PiAzICsNCj4gPiA+ID4gPiAgLi4uL0Jhc2VDcnlwdExpYi9IbWFjL0NyeXB0SG1hY1NoYTFOdWxs LmMgICAgIHwNCj4gMyArDQo+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9QZWlD cnlwdExpYi5pbmYgICAgICB8DQo+IDEzICstDQo+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWIv UGsvQ3J5cHRQa2NzNVBia2RmMi5jICAgICAgICB8DQo+IDMgKw0KPiA+ID4gPiA+ICAuLi4vTGli cmFyeS9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRSc2FCYXNpYy5jICAgfA0KPiA1ICsNCj4gPiA+ID4g PiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0UnNhRXh0LmMgICAgIHwNCj4gNSAr DQo+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9SdW50aW1lQ3J5cHRMaWIuaW5m ICB8DQo+IDEzICstDQo+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9TbW1Dcnlw dExpYi5pbmYgICAgICB8DQo+IDEzICstDQo+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWJOdWxs L0Jhc2VDcnlwdExpYk51bGwuaW5mICAgICB8DQo+IDMgLQ0KPiA+ID4gPiA+ICAuLi4vQmFzZUNy eXB0TGliTnVsbC9DaXBoZXIvQ3J5cHRBZXNOdWxsLmMgICAgfA0KPiA1NCArLQ0KPiA+ID4gPiA+ ICAuLi4vQmFzZUNyeXB0TGliTnVsbC9DaXBoZXIvQ3J5cHRBcmM0TnVsbC5jICAgfA0KPiAxMjQg LS0tLQ0KPiA+ID4gPiA+ICAuLi4vQmFzZUNyeXB0TGliTnVsbC9DaXBoZXIvQ3J5cHRUZGVzTnVs bC5jICAgfA0KPiAxNjAgLS0tLS0NCj4gPiA+ID4gPiAgLi4uL0Jhc2VDcnlwdExpYk51bGwvSGFz aC9DcnlwdE1kNE51bGwuYyAgICAgIHwNCj4gMTQzIC0tLS0NCj4gPiA+ID4gPiAgLi4uL0Jhc2VD cnlwdExpYk51bGwvSGFzaC9DcnlwdE1kNU51bGwuYyAgICAgIHwNCj4gMyArDQo+ID4gPiA+ID4g IC4uLi9CYXNlQ3J5cHRMaWJOdWxsL0htYWMvQ3J5cHRIbWFjTWQ1TnVsbC5jICB8DQo+IDMgKw0K PiA+ID4gPiA+ICAuLi4vQmFzZUNyeXB0TGliTnVsbC9IbWFjL0NyeXB0SG1hY1NoYTFOdWxsLmMg fA0KPiA0ICstDQo+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWJPblByb3RvY29sUHBpL0NyeXB0 TGliLmMgICAgICB8DQo+IDYwNCArLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ICAuLi4vTGli cmFyeS9CYXNlSGFzaEFwaUxpYi9CYXNlSGFzaEFwaUxpYi5jICAgfA0KPiAxMiArDQo+ID4gPiA+ ID4gIC4uLi9MaWJyYXJ5L0Jhc2VIYXNoQXBpTGliL0Jhc2VIYXNoQXBpTGliLmluZiB8DQo+IDEg Kw0KPiA+ID4gPiA+ICBDcnlwdG9Qa2cvUHJpdmF0ZS9Qcm90b2NvbC9DcnlwdG8uaCAgICAgICAg ICAgfA0KPiA1ODMgKy0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ICBOZXR3b3JrUGtnL05ldHdv cmtQY2RzLmRzYy5pbmMgICAgICAgICAgICAgICAgfA0KPiA1ICstDQo+ID4gPiA+ID4gIDM3IGZp bGVzIGNoYW5nZWQsIDE0NSBpbnNlcnRpb25zKCspLCA0MjIxDQo+IGRlbGV0aW9ucygtKQ0KPiA+ ID4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQNCj4gQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0 TGliL0NpcGhlci9DcnlwdEFyYzQuYw0KPiA+ID4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQNCj4g PiA+IENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9DaXBoZXIvQ3J5cHRBcmM0TnVsbC5j DQo+ID4gPiA+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NA0KPiBDcnlwdG9Qa2cvTGlicmFyeS9CYXNl Q3J5cHRMaWIvQ2lwaGVyL0NyeXB0VGRlcy5jDQo+ID4gPiA+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0 NA0KPiA+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL0NpcGhlci9DcnlwdFRkZXNO dWxsLmMNCj4gPiA+ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0DQo+IENyeXB0b1BrZy9MaWJyYXJ5 L0Jhc2VDcnlwdExpYi9IYXNoL0NyeXB0TWQ0LmMNCj4gPiA+ID4gPiAgZGVsZXRlIG1vZGUgMTAw NjQ0DQo+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL0hhc2gvQ3J5cHRNZDROdWxs LmMNCj4gPiA+ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4NCj4gQ3J5cHRvUGtn L0xpYnJhcnkvQmFzZUNyeXB0TGliTnVsbC9DaXBoZXIvQ3J5cHRBcmM0TnVsbC5jDQo+ID4gPiA+ ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NA0KPiA+ID4gPiA+DQo+IENyeXB0b1BrZy9MaWJyYXJ5L0Jh c2VDcnlwdExpYk51bGwvQ2lwaGVyL0NyeXB0VGRlc051bGwuYw0KPiA+ID4gPiA+ICBkZWxldGUg bW9kZSAxMDA2NDQNCj4gPiA+ID4NCj4gQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliTnVs bC9IYXNoL0NyeXB0TWQ0TnVsbC5jDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAtLQ0KPiA+ID4gPiA+ IDIuMjEuMC53aW5kb3dzLjENCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gDQo+IA0KPiAN Cg0K