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.88; helo=mga01.intel.com; envelope-from=jiaxin.wu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (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 E28B221E25690 for ; Wed, 24 Jan 2018 20:46:37 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Jan 2018 20:52:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,409,1511856000"; d="scan'208";a="24559385" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga004.fm.intel.com with ESMTP; 24 Jan 2018 20:52:06 -0800 Received: from fmsmsx153.amr.corp.intel.com (10.18.125.6) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Jan 2018 20:52:06 -0800 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by FMSMSX153.amr.corp.intel.com (10.18.125.6) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Jan 2018 20:52:05 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.213]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.159]) with mapi id 14.03.0319.002; Thu, 25 Jan 2018 12:52:03 +0800 From: "Wu, Jiaxin" To: Laszlo Ersek , "Fu, Siyuan" , "Ye, Ting" , "Long, Qin" , "Yao, Jiewen" , "Hsiung, Harry L" CC: edk2-devel-01 Thread-Topic: setting the TLS cipher list for HTTPS booting Thread-Index: AQHTkTKC7SSIQqPfwE6mEzdxVropQKN8Nf+ggALqwACAAZWo0IAARlKAgAAQ6YCAATdDQIAAHRVggAA0GHCAAB3oAIABPwpg Date: Thu, 25 Jan 2018 04:52:03 +0000 Message-ID: <895558F6EA4E3B41AC93A00D163B72741635FE91@SHSMSX103.ccr.corp.intel.com> References: <5307d880-d016-ad91-04f5-6b83eb40f905@redhat.com> <895558F6EA4E3B41AC93A00D163B72741635E571@SHSMSX103.ccr.corp.intel.com> <7b529d2c-1e46-3bd5-d8a6-9225a630f23b@redhat.com> <895558F6EA4E3B41AC93A00D163B72741635F0B5@SHSMSX103.ccr.corp.intel.com> <366c3083-0eb1-ecb4-2050-654c09135f8a@redhat.com> <93bf358e-7e57-a0f0-b8ba-239e72036c27@redhat.com> <895558F6EA4E3B41AC93A00D163B72741635F6BC@SHSMSX103.ccr.corp.intel.com> <895558F6EA4E3B41AC93A00D163B72741635F7FE@SHSMSX103.ccr.corp.intel.com> <895558F6EA4E3B41AC93A00D163B72741635F9AF@SHSMSX103.ccr.corp.intel.com> <925c091e-af14-2449-e3ba-f8d6302dea49@redhat.com> In-Reply-To: <925c091e-af14-2449-e3ba-f8d6302dea49@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMjRkMTIwMDktYmIwYy00NzA0LTllODItM2EyYjNiMGMwNGVmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IkZVWmFHVkNCaCtCQitDRFd4VFlxa1RtM2ZmdVwvUTVlYjAwN0xmS21rK1gwPSJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: setting the TLS cipher list for HTTPS booting 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: Thu, 25 Jan 2018 04:46:38 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQpUaGUgSHR0cER4ZSBkcml2ZXIgbmVlZHMgdG8gaW5zdGFsbCB0aGUgRHJp dmVyIEJpbmRpbmcgUHJvdG9jb2wgc28gYXMgdG8gY2hlY2sgaWYgYSBzcGVjaWZpYyBjb250cm9s bGVyIGlzIHN1cHBvcnRlZCBieSBIdHRwRHhlLiBIdHRwRHhlIGNhbiBvbmx5IGJlIHN0YXJ0ZWQg aWYgdGhlIFRjcFNlcnZpY2VCaW5kaW5nUHJvdG9jb2wgZXhpc3RlZC4gU28sIGl0IGhhcyB0byBm b2xsb3cgdGhlIFVFRkkgRHJpdmVyIE1vZGVsLiANCg0KRm9yIHRoZSBQQ0QgdXNhZ2UsIEkgdGhp bmsgaXQgc2hvdWxkIGJlIGZpbmUgdG8gY292ZXIgdGhlIGNvbmZpZ3VyYXRpb24gb2YgVUVGSSBE cml2ZXJzIHRocm91Z2ggdGhlIFBDRCBzZXR0aW5ncy4gVGhlIHJlcXVpcmVtZW50IG9mICouaW5m IG5lZWRzIHRvIGluY2x1ZGUgdGhlIFBjZExpYiBhbmQgdGhlIHNlY3Rpb24gb2YgW1BjZF0uIFdl IGFscmVhZHkgaGF2ZSB0aGUgc2ltaWxhciBwYXR0ZXJuIGZvciB0aGlzIHVzYWdlLCBmb3IgZXhh bXBsZSwgUHMyS2V5Ym9hcmREeGUsIFBjaUJ1c0R4ZSwgUGNpU2lvU2VyaWFsRHhlLCBhbmQgZXRj IGluIE1kZU1vZHVsZVBrZy4gQmVzaWRlcywgdGhlcmUgYXJlIHNvbWUgYWR2YW50YWdlcyBieSB1 c2luZyBQQ0QgY29tcGFyZWQgdG8gdGhlIHZhcmlhYmxlLiBGaXJzdCwgUENEIGlzIG9uZSBraW5k IG9mIGludGVyZmFjZSB0aGF0IG1vcmUgZm9ybWFsIHRoYW4gYSBwcml2YXRlIHZhcmlhYmxlLCB0 aGUgc2V0dGluZyBieSBQQ0QgaXMgbW9yZSBhY2NlcHRhYmxlIGJ5IHRoZSBjb25zdW1lci4gU2Vj b25kbHksIGZyb20gYSAqc2VjdXJpdHkqIHN0YW5kcG9pbnQsIHZhcmlhYmxlIGNhbiBiZSBkdW1w ZWQgZWFzaWx5IGZyb20gdGhlIGZsYXNoIHJlZ2lvbi4gSGVyZSwgZXZlbiB0aG91Z2ggaXQncyBu byBzZWN1cml0eSBpbXBhY3QgdG93YXJkcyB0aGUgY2lwaGVyIGxpc3Qgc3RvcmFnZSBiZWNhdXNl IGl0IHdpbGwgYmUgcHVibGljIHNoYXJlZCB0byByZW1vdGUgc2VydmVyLCBidXQgd2UgbmVlZCB0 byB0aGluayBhbmQgKmFsaWduKiB3aXRoIG90aGVyIGNvbmZpZ3VyYXRpb25zIGZvciBUTFMgaW4g SFRUUFMgbGV2ZWwuIEZvciBleGFtcGxlLCBpbiB0aGUgZnV0dXJlLCB3ZSBtaWdodCBzdXBwb3J0 IHRoZSBIVFRQUyBtdXR1YWwgYXV0aGVudGljYXRpb24sIHRoYW4gdGhlIGhvc3QgUHJpdmF0ZUtl eS9QYXNzd29yZCAoRWZpVGxzQ29uZmlnRGF0YVR5cGVIb3N0UHJpdmF0ZUtleSkgKm11c3RuJ3Qq IGJlIHNhdmVkIGFzIGEgdmFyaWFibGUgZHVlIHRvIGl0cyBjb25maWRlbnRpYWxpdHksIHdoaWxl IFBDRCBpcyBnb29kIGNob2ljZS4gQXQgdGhhdCB0aW1lLCB3ZSB3aWxsIGFsc28gcHJvdmlkZSB0 aGUgUENEIGZvciBFZmlUbHNDb25maWdEYXRhVHlwZUNBQ2VydGlmaWNhdGUsIHdoaWNoIGlzIGN1 cnJlbnRseSBzZXR0aW5nIGJ5IHRoZSB2YXJpYWJsZSAoVGxzQ2FDZXJ0aWZpY2F0ZSksIHNvIGFz IHRvIGFsaWduIGFsbCB0aGUgY29uZmlndXJhdGlvbiBzZXR0aW5nIG9uIG9uZSBsaW5lLCB3aGlj aCBjYW4gcmVkdWNlIHRoZSBjb21wbGV4aXR5IG9mIHBsYXRmb3JtIHVzYWdlLiBGaW5hbGx5LCB3 ZSBjYW4gYWxzbyBzYXZlIHRoZSB2YXJpYWJsZSBzcGFjZS4NCg0KRnJvbSB0aGUgYWJvdmUsIHRo ZSBkeW5hbWljIFBDRCBpcyBhIHNvbHV0aW9uIEkgc3RpbGwgcHJlZmVycmVkLg0KDQpUaGFua3Ms DQpKaWF4aW4NCg0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFz emxvIEVyc2VrIFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+IFNlbnQ6IFRodXJzZGF5LCBK YW51YXJ5IDI1LCAyMDE4IDEyOjEzIEFNDQo+IFRvOiBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50 ZWwuY29tPjsgRnUsIFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT47IFllLA0KPiBUaW5nIDx0 aW5nLnllQGludGVsLmNvbT47IExvbmcsIFFpbiA8cWluLmxvbmdAaW50ZWwuY29tPjsgWWFvLCBK aWV3ZW4NCj4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgSHNpdW5nLCBIYXJyeSBMIDxoYXJyeS5s LmhzaXVuZ0BpbnRlbC5jb20+DQo+IENjOiBlZGsyLWRldmVsLTAxIDxlZGsyLWRldmVsQGxpc3Rz LjAxLm9yZz4NCj4gU3ViamVjdDogUmU6IHNldHRpbmcgdGhlIFRMUyBjaXBoZXIgbGlzdCBmb3Ig SFRUUFMgYm9vdGluZw0KPiANCj4gT24gMDEvMjQvMTggMDc6NTAsIFd1LCBKaWF4aW4gd3JvdGU6 DQo+ID4gSGkgTGFzemxvLA0KPiA+DQo+ID4gQWZ0ZXIgdGhlIGRpc2N1c3Npb24gd2l0aCB0ZWFt IG1lbWJlciwgd2Ugc3RpbGwgcHJlZmVyIHRvIHVzZSB0aGUgUENEDQo+ID4gc29sdXRpb24uIElu IEh0dHBEeGUgZHJpdmVyLCB3ZSBkb24ndCB3YW50IHRvIGxvY2F0ZS91c2UgYQ0KPiA+IG5vbnN0 YW5kYXJkIHByb3RvY29sLiBXZSB0aGluayBJdCdzIG5vdCBhIGdlbmVyYWwgc29sdXRpb24gZm9y IHRoZQ0KPiA+IFVFRkkgZHJpdmVyLg0KPiBBaCwgSSB0b3RhbGx5IG1pc3NlZCB0aGF0IE5ldHdv cmtQa2cvSHR0cER4ZSB3YXMgYSBVRUZJX0RSSVZFUiEgOikNCj4gDQo+IEluIHRoYXQgY2FzZSwg SSB0aGluayAqbmVpdGhlciogdGhlIExvY2F0ZVByb3RvY29sKCkgY2FsbCBmb3IgYW4NCj4gZWRr Mi1zcGVjaWZpYyBwcm90b2NvbCwgKm5vciogYSBQY2RHZXRQdHIoKSBjYWxsIGFyZSBhcHByb3By aWF0ZS4NCj4gVUVGSV9EUklWRVIgbW9kdWxlcyBzaG91bGQgcHJlZmVyYWJseSBvbmx5IHVzZSBm YWNpbGl0aWVzIGZyb20gdGhlIFVFRkkNCj4gc3BlYywgYW5kIHRoZSBwcm90b2NvbCBmb3IgdGhl IGR5bmFtaWMgUENEcyBjb21lcyBmcm9tIHRoZSBQSSBzcGVjLCBub3QNCj4gdGhlIFVFRkkgc3Bl Yy4NCj4gDQo+IChUaGlzIHdvdWxkIGJlIGRpZmZlcmVudCBpZiBIdHRwRHhlIHdhcyBhIERYRV9E UklWRVIgLS0gaW4gdGhhdCBjYXNlDQo+IGJvdGggYXBwcm9hY2hlcyB3b3VsZCBiZSB2YWxpZC4g SSBhc3N1bWVkIEh0dHBEeGUgd2FzIGEgRFhFX0RSSVZFUiwgbm90DQo+IHN1cmUgd2h5LikNCj4g DQo+ICgxKSBTbywgZ2l2ZW4gdGhhdCBIdHRwRHhlIGlzIGEgVUVGSV9EUklWRVIsIEkgdGhpbmsg dGhlIHJpZ2h0IGFwcHJvYWNoDQo+IHdvdWxkIGJlIC0tIHdoaWNoIEkgYmVsaWV2ZSBJIGFsc28g bWVudGlvbmVkIGVhcmxpZXIgLS0gdG8gaW50cm9kdWNlDQo+IGFub3RoZXIgVUVGSSB2YXJpYWJs ZSBmb3IgdGhlIGxpc3Qgb2YgY2lwaGVyIHN1aXRlcywgc2ltaWxhcmx5IHRvDQo+ICJUbHNDYUNl cnRpZmljYXRlIiAoaW4gYSBjdXN0b20gdmFyaWFibGUgbmFtZXNwYWNlIEdVSUQpLiBUaGlzIHdv dWxkDQo+IHN0YXkgd2l0aGluIHRoZSBmcmFtZXdvcmsgb2YgdGhlIFVFRkkgc3BlYy4NCj4gDQo+ IA0KPiAoMikgUmVnYXJkaW5nIHRoZSBvcmRlciBiZXR3ZWVuIHNldHRpbmcgdGhlc2UgVUVGSSB2 YXJpYWJsZXMgaW4gT1ZNRiwNCj4gYW5kIGNvbnN1bWluZyB0aGVtIGluIEh0dHBEeGUsIEkgdGhp bmsgeW91ciBhcmd1bWVudCBpcyBnb29kLiBXZSBjYW4gc2V0DQo+IHRoZSB2YXJpYWJsZXMgaW4g c29tZSBwbGF0Zm9ybSBjb2RlIChEWEVfRFJJVkVSKSBpbiBPVk1GLCBiZWZvcmUNCj4gRW5kLW9m LURYRSwgYW5kIEh0dHBEeGUgd2lsbCBvbmx5IHJlYWQgdGhlbSBsYXRlciBpbiBCRFMuDQo+IA0K PiAiT3ZtZlBrZy9QbGF0Zm9ybUR4ZSIgc2VlbXMgbGlrZSBhIGdvb2QgY2FuZGlkYXRlIGZvciBz ZXR0aW5nIHRoZXNlDQo+IHZhcmlhYmxlcyAoYm90aCBjb25zaWRlcmluZyBQbGF0Zm9ybUR4ZSdz IHB1cnBvc2UsIGFuZCBiZWNhdXNlIGl0DQo+IGFscmVhZHkgZGVwZW5kcyBvbiAiZ0VmaVZhcmlh YmxlV3JpdGVBcmNoUHJvdG9jb2xHdWlkIikuDQo+IA0KPiANCj4gKDMpIFJlZ2FyZGlnIHRoZSBm b3JtYXQgKEVGSV9UTFNfQ0lQSEVSKTogSSBhZ3JlZSB3aXRoIHlvdS4gSXQgc2VlbXMgd2UNCj4g Y2FuIG1vZGlmeSB0aGUgaG9zdCBlbnZpcm9ubWVudCB0byBwYXNzIFFFTVUgKGFuZCBPVk1GKSBh IGNpcGhlciBsaXN0DQo+IHRoYXQgaXMgYWxyZWFkeSBpbiBFRklfVExTX0NJUEhFUiBmb3JtYXQu DQo+IA0KPiANCj4gU28gSSB0aGluayB0aGUgb25seSByZW1haW5pbmcgcXVlc3Rpb24gaXMgaWYg eW91IGxpa2UgYSBuZXcgVUVGSQ0KPiB2YXJpYWJsZSBpbnN0ZWFkIG9mIHRoZSBkeW5hbWljIFBD RCwgZm9yIHRoZSBjaXBoZXIgbGlzdC4NCj4gDQo+IFRoYW5rcyENCj4gTGFzemxvDQo+IA0KPiAN Cj4gDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gSmlheGluDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogV3UsIEppYXhpbg0KPiA+PiBTZW50OiBXZWRuZXNk YXksIEphbnVhcnkgMjQsIDIwMTggMTE6NDAgQU0NCj4gPj4gVG86IFd1LCBKaWF4aW4gPGppYXhp bi53dUBpbnRlbC5jb20+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsNCj4gRnUs DQo+ID4+IFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT47IFllLCBUaW5nIDx0aW5nLnllQGlu dGVsLmNvbT47IExvbmcsIFFpbg0KPiA+PiA8cWluLmxvbmdAaW50ZWwuY29tPjsgWWFvLCBKaWV3 ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgSHNpdW5nLCBIYXJyeQ0KPiBMDQo+ID4+IDxoYXJy eS5sLmhzaXVuZ0BpbnRlbC5jb20+DQo+ID4+IENjOiBlZGsyLWRldmVsLTAxIDxlZGsyLWRldmVs QGxpc3RzLjAxLm9yZz4NCj4gPj4gU3ViamVjdDogUkU6IHNldHRpbmcgdGhlIFRMUyBjaXBoZXIg bGlzdCBmb3IgSFRUUFMgYm9vdGluZw0KPiA+Pg0KPiA+PiBIaSBMYXN6bG8sDQo+ID4+DQo+ID4+ IE1vcmUgY29tbWVudHM6DQo+ID4+DQo+ID4+Pg0KPiA+Pj4gRHluYW1pYyBQQ0RzIGlzIGp1c3Qg b25lIG9mIHRoZSBzb2x1dGlvbnMgZm9yIHRoZSByZXF1aXJlZCBzZXR0aW5ncywganVzdCBsaWtl DQo+ID4+IHRoZQ0KPiA+Pj4gcGxhdGZvcm0gcHJvdG9jb2wgKEhUVFBTX0NPTkZJR19QUk9UT0NP TCksIHByb3ZpZGVzIHRoZSBjYXBhYmlsaXR5IHRvDQo+ID4+PiBzdXBwb3J0IHRoZSBnbG9iYWwg SFRUUFMgY29uZmlndXJhdGlvbi4NCj4gPj4+DQo+ID4+PiBFYWNoIHNvbHV0aW9ucyBoYXZlIGl0 cyBvd24gYWR2YW50YWdlcyBhbmQgZGlzYWR2YW50YWdlczoNCj4gPj4+IDEpIFBDRCBjYW4gc2lt cGxpZnkgdGhlIHByb2JsZW0gYW5kIGl0J3MgZWFzeSB0byB1c2UgZm9yIHRoZSBvdGhlciBwbGF0 Zm9ybQ0KPiA+PiBub3QNCj4gPj4+IG9ubHkgT1ZNRiwgYnV0IGFzIHlvdSBzYWlkLCBpdCdzIHBl cmhhcHMgb3ZlcmtpbGwuDQo+ID4+PiAyKSBUaGUgYWRkaXRpb25hbCBwbGF0Zm9ybSBwcm90b2Nv bCBsb29rcyBmbGV4aWJsZSBhbmQgcmVhc29uYWJseSwgYnV0IGl0DQo+ID4+IG1ha2VzDQo+ID4+ PiB0aGUgc3BlY2lmaWMgcGxhdGZvcm0gaGF2ZSB0aGUgb3B0aW9uYWwgZGVwZW5kZW5jeSBbIk9W TUYgaG9va3MgYSBOVUxMLQ0KPiA+PiBjbGFzcw0KPiA+Pj4gbGlicmFyeSBpbnRvIEh0dHBEeGUg dGhhdCBpbnRyb2R1Y2VzIGEgbmV3IERFUEVYIG9uIHRoZSBwcm90b2NvbC4gT3RoZXINCj4gPj4+ IHBsYXRmb3JtcyB3b3VsZCBub3QgZGVsYXkgSHR0cER4ZS4iXS4gSWYgdGhlIHVzZXIgZG9lc24n dCB3YW50IEhUVFBTDQo+IGZlYXR1cmUNCj4gPj4+IGJ1dCBvbmx5IEhUVFAsIGl0IGhhcyB0byBp bmNsdWRlIG9uZSBOVUxMIHByb3RvY29sLg0KPiA+Pj4NCj4gPj4NCj4gPj4gSSBjaGVja2VkIHRo ZSBQY2lIb3N0QnJpZGdlRHhlIGRyaXZlciB0byBjYWxsIHRoZSBFREtJSV9JT01NVV9QUk9UT0NP TCwNCj4gPj4gd2hpY2ggbWFrZXMgbWUgYmV0dGVyIHVuZGVyc3RhbmRpbmcgeW91ciBjb21tZW50 cy4NCj4gPj4NCj4gPj4gICBNZGVNb2R1bGVQa2cvQnVzL1BjaS9QY2lIb3N0QnJpZGdlRHhlL1Bj aUhvc3RCcmlkZ2VEeGUuaW5mIHsNCj4gPj4gICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gPj4gICAg ICAgLi4uDQo+ID4+DQo+IE5VTEx8T3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtSGFzSW9NbXVMaWIv UGxhdGZvcm1IYXNJb01tdUxpYi5pbmYNCj4gPj4gICB9DQo+ID4+DQo+ID4+IFNvLCBhcyB5b3Ug c2FpZCwgaXQncyBqdXN0IHRoZSBwbGF0Zm9ybSBiZWhhdmlvciBzbyBhcyB0byBob29rIHRoZSBw bGF0Zm9ybQ0KPiA+PiBwcm9kdWNlcyB0aGUgRURLSUlfSU9NTVVfUFJPVE9DT0wgcHJvdG9jb2wg Zmlyc3QsIHRoZW4gZGlzcGF0Y2gNCj4gPj4gUGNpSG9zdEJyaWRnZUR4ZSBkcml2ZXIuIFRoYXQn cyBnb29kIHRvIG1lLg0KPiA+Pg0KPiA+PiBGb3IgSFRUUFMgY29uZmlndXJhdGlvbiwgdGhlIEh0 dHBEeGUgY29uZmlndXJhdGlvbiBpcyBvbmx5IGhhcHBlbmVkIGR1cmluZw0KPiB0aGUNCj4gPj4g cHJvdG9jb2wgaW5zdGFuY2UgY2FsbGluZywgd2hpY2ggaXMgY3JlYXRlZCBieSBzZXJ2aWNlIGJp bmRpbmcgcHJvdG9jb2wuIFNvLCBpdA0KPiA+PiBsb29rcyBvbmx5IGhhcHBlbmVkIGFmdGVyIEVu ZG9mRHhlIHBoYXNlLiBJZiBzbywgaXQgd2lsbCBiZSBubyBzdWNoIG9wdGlvbmFsDQo+ID4+IGRl cGVuZGVuY3kgdG8gd2FpdCBmb3IgdGhlIHBsYXRmb3JtIERYRSBkcml2ZXIgcHJvZHVjZXMgdGhl DQo+ID4+IEVES0lJX1BMQVRGT1JNX0hUVFBTX0NPTkZJR19QUk9UT0NPTC4NCj4gPj4NCj4gPj4g QW55d2F5LCBmb3IgYWJvdmUgdHdvIHNvbHV0aW9ucywgSSBuZWVkIHJldmlldyB0aGVtIHdpdGgg b3RoZXIgY29sbGVhZ3Vlcw0KPiBhbmQNCj4gPj4gaGVscCB0byBjb2xsZWN0IHRoZSBjb21tZW50 cyBmb3IgYm90aCBvZiB0aGVtLCB0aGVuIGZlZWRiYWNrIHRvIHlvdS4gVGhhbmsNCj4geW91DQo+ ID4+IHNvIHN1Y2guDQo+ID4+DQo+ID4+DQo+ID4+PiBOb3csIEkgdGhpbmsgd2UgYXJlIGRpc2N1 c3NpbmcgdGhlIG1vc3QgYXBwcm9wcmlhdGUgd2F5IGZvciB0aGUgSFRUUFMNCj4gPj4+IGNvbnRy b2xsaW5nLiBJdCdzIE5PVCByZWxhdGVkIHRvIHdobyBzaG91bGQgYmUgcmVzcG9uc2libGUgZm9y IHRoZSBzb2x1dGlvbg0KPiA+Pj4gY29kaW5nLCB5b3Uga25vdyB3ZSBhcmUgYWx3YXlzIHRoaW5r aW5nIGZyb20gdGhlIHVzZXIncyBwZXJzcGVjdGl2ZTopLg0KPiA+Pj4NCj4gPj4+DQo+ID4+Pj4+ DQo+ID4+Pj4+IElmIHlvdSByZWFsbHkgdGhpbmsgdGhhdCBIdHRwRHhlIHNob3VsZCBvbmx5IGNh cmUgYWJvdXQgdGhlc2UgdHdvIGl0ZW1zDQo+ID4+Pj4+IChDQSBjZXJ0IGFuZCBjaXBoZXIgbGlz dCksIHRoZW4gSSBoYXZlIGFub3RoZXIgcXVlc3Rpb246IGRvIHlvdSB0aGluayBpdA0KPiA+Pj4+ PiBtYWtlcyBzZW5zZSB0byBpbnRyb2R1Y2UgYW5vdGhlciBub24tdm9sYXRpbGUgVUVGSSB2YXJp YWJsZSwgZm9yIHRoZQ0KPiA+Pj4+PiBjaXBoZXIgc3VpdGVzIHRvbz8gVGhpcyB3b3VsZCBtYWtl IHRoaW5ncyB1bmlmb3JtLCBhbmQgcGVyaGFwcw0KPiA+Pj4+PiBUbHNBdXRoQ29uZmlnRHhlIGNv dWxkIGV4cG9zZSB0aGUgY2lwaGVyIHN1aXRlcyB0b28sIGFzIGEgbGlzdCBvZg0KPiA+Pj4+PiBj aGVja2JveGVzLiBKdXN0IGFuIGlkZWEuDQo+ID4+Pj4NCj4gPj4+PiBTbywgYXBwYXJlbnRseSB3 ZSBpbmRlZWQgY2FyZSBhYm91dCB0aGVzZSB0d28gb3B0aW9ucyBtb3N0bHksIGkuZS4sIHRoZQ0K PiA+Pj4+IENBIGNlcnRzLCBhbmQgdGhlIGNpcGhlciBzdWl0ZXMuDQo+ID4+Pj4NCj4gPj4+PiBI b3dldmVyLCBJIHdhcyBpbmZvcm1lZCB0aGF0IE9WTUYgc2hvdWxkIHNpbXBseSBmb3J3YXJkIHRo ZSAqdGV4dHVhbCoNCj4gPj4+PiBjaXBoZXIgbGlzdCByZXByZXNlbnRhdGlvbiwgd2l0aCBwcmVm ZXJhYmx5IG5vIHByb2Nlc3NpbmcgYXQgYWxsIGJlZm9yZQ0KPiA+Pj4+IHRoZSBzdHJpbmcgcmVh Y2hlcyB0aGUgT3BlblNTTCBjb2RlLiBJbiBvdGhlciB3b3JkcywgT1ZNRiBzaG91bGQgc2V0IHRo ZQ0KPiA+Pj4+IFBDRCAtLSBvciwgZXZlbiBiZXR0ZXIsIHZhcmlhYmxlIC0tIHRvIGEgKmNoYXJh Y3RlciBzdHJpbmcqIGxpa2UgdGhpczoNCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pg0KPiAi a0VFQ0RIOmtSU0E6a0VESDprUFNLOmtESEVQU0s6a0VDREhFUFNLOiFFWFA6IURFUzohUkM0OiFS QzI6IUlERUE6IVNFRQ0KPiA+Pj4+IEQ6IWVOVUxMOiFhTlVMTDohTUQ1OiFTU0x2MiINCj4gPj4+ Pg0KPiA+Pj4+IElzIHRoaXMgZmVhc2libGU/DQo+ID4+Pg0KPiA+Pj4gSXQgbG9va3MgaW1wb3Nz aWJsZSB0byBzaW1wbHkgZm9yd2FyZCB0aGUgKnRleHR1YWwqY2lwaGVyIGxpc3QgdG8gT3BlblNT TA0KPiBmcm9tDQo+ID4+PiB0aGUgYXNwZWN0IG9mIEVGSV9UTFNfUFJPVE9DT0wuDQo+ID4+Pg0K PiA+Pj4NCj4gLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioNCj4gPj4+IC8vIEVGSV9UTFNfQ0lQSEVSDQo+ID4+Pg0KPiAvLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0K PiA+Pj4gdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+Pj4gVUlOVDggRGF0YTE7DQo+ID4+PiBVSU5UOCBE YXRhMjsNCj4gPj4+IH0gRUZJX1RMU19DSVBIRVI7DQo+ID4+PiBOb3RlOiBUaGUgZGVmaW5pdGlv biBvZiBFRklfVExTX0NJUEhFUiBpcyBmcm9tIFJGQyA1MjQ2IEEuNC4xLkhlbGxvDQo+ID4+IE1l c3NhZ2VzLg0KPiA+Pj4gVGhlIHZhbHVlIG9mDQo+ID4+PiBFRklfVExTX0NJUEhFUiBpcyBmcm9t IFRMUyBDaXBoZXIgU3VpdGUgUmVnaXN0cnkgb2YgSUFOQS4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4+ DQo+ID4+Pj4gVGhhbmtzLA0KPiA+Pj4+IExhc3psbw0KPiA+Pj4NCj4gPj4+DQo+ID4+DQo+ID4+ DQo+ID4+IFRoYW5rcywNCj4gPj4gSmlheGluDQo+ID4NCg0K