From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: jian.j.wang@intel.com) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by groups.io with SMTP; Wed, 22 May 2019 22:10:20 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 May 2019 22:10:20 -0700 X-ExtLoop1: 1 Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga003.jf.intel.com with ESMTP; 22 May 2019 22:10:19 -0700 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 22 May 2019 22:10:19 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 22 May 2019 22:10:18 -0700 Received: from shsmsx107.ccr.corp.intel.com ([169.254.9.7]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.18]) with mapi id 14.03.0415.000; Thu, 23 May 2019 13:10:17 +0800 From: "Wang, Jian J" To: "devel@edk2.groups.io" , "ard.biesheuvel@linaro.org" , Laszlo Ersek CC: "Lu, XiaoyuX" , "Ye, Ting" , "Leif Lindholm" , "Gao, Liming" Subject: Re: [edk2-devel] [PATCH v4 0/7] CryptoPkg: Upgrade OpenSSL to 1.1.1b Thread-Topic: [edk2-devel] [PATCH v4 0/7] CryptoPkg: Upgrade OpenSSL to 1.1.1b Thread-Index: AQHVC7zVpOxy6Zdx1EC7bPrPXOKPO6Zti+mAgAE3ZtCAAAFKAIAAA2yAgAAehYCABEop8IACCNxw//+QiICAAIa7YP//sZiAgAAVNYCAAxtWgA== Date: Thu, 23 May 2019 05:10:17 +0000 Message-ID: References: <1557993298-22205-1-git-send-email-xiaoyux.lu@intel.com> <049e489c-b58f-0fc5-1c66-8ad920d93979@redhat.com> <0a6b50d4-3837-a5e6-7f3a-36386c65d42b@redhat.com> <75b13a2a-f570-97e9-a7df-5e24b2a2b22c@redhat.com> <15A0408CA29C0595.820@groups.io> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOWIwZTVhMjgtMDg3Ny00ODQyLWFlYjYtMmUzMmUwYjk0OWVmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiNWFEOXg4cGg5RklKQ3pqc1hwRjQ3emRsNiszR09uWjY1bWtxbzJWU1wvNlZQVGxUdlRqdXViQU9aM1p3Q2lIZGgifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: jian.j.wang@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QXJkLA0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRr Mi5ncm91cHMuaW8gW21haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pb10gT24gQmVoYWxmIE9mIEFy ZA0KPiBCaWVzaGV1dmVsDQo+IFNlbnQ6IFR1ZXNkYXksIE1heSAyMSwgMjAxOSA5OjM5IFBNDQo+ IFRvOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiBDYzogV2FuZywgSmlhbiBK IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTHUsIFhpYW95 dVgNCj4gPHhpYW95dXgubHVAaW50ZWwuY29tPjsgWWUsIFRpbmcgPHRpbmcueWVAaW50ZWwuY29t PjsgTGVpZiBMaW5kaG9sbQ0KPiA8bGVpZi5saW5kaG9sbUBsaW5hcm8ub3JnPjsgR2FvLCBMaW1p bmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ QVRDSCB2NCAwLzddIENyeXB0b1BrZzogVXBncmFkZSBPcGVuU1NMIHRvIDEuMS4xYg0KPiANCj4g T24gVHVlLCAyMSBNYXkgMjAxOSBhdCAxMzoyMywgTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0 LmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBIaSwNCj4gPg0KPiA+IE9uIDA1LzIxLzE5IDExOjA5LCBX YW5nLCBKaWFuIEogd3JvdGU6DQo+ID4gPiBBcmQsDQo+ID4gPg0KPiA+ID4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4gPj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gW21haWx0 bzpkZXZlbEBlZGsyLmdyb3Vwcy5pb10gT24gQmVoYWxmIE9mDQo+IEFyZA0KPiA+ID4+IEJpZXNo ZXV2ZWwNCj4gPiA+PiBTZW50OiBUdWVzZGF5LCBNYXkgMjEsIDIwMTkgNTowMiBQTQ0KPiA+ID4+ IFRvOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gPiA+PiBDYzogZGV2 ZWxAZWRrMi5ncm91cHMuaW87IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBMdSwg WGlhb3l1WA0KPiA+ID4+IDx4aWFveXV4Lmx1QGludGVsLmNvbT47IFllLCBUaW5nIDx0aW5nLnll QGludGVsLmNvbT47IExlaWYgTGluZGhvbG0NCj4gPiA+PiA8bGVpZi5saW5kaG9sbUBsaW5hcm8u b3JnPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KPiA+ID4+IFN1YmplY3Q6 IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0IDAvN10gQ3J5cHRvUGtnOiBVcGdyYWRlIE9wZW5T U0wgdG8NCj4gMS4xLjFiDQo+ID4gPj4NCj4gPiA+PiBPbiBUdWUsIDIxIE1heSAyMDE5IGF0IDA5 OjQzLCBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT4gd3JvdGU6DQo+ID4gPj4+ DQo+ID4gPj4+IEhpIEFyZCwNCj4gPiA+Pj4NCj4gPiA+Pj4gQW55IGNvbW1lbnRzPw0KPiA+ID4+ Pg0KPiA+ID4+PiBSZWdhcmRzLA0KPiA+ID4+PiBKaWFuDQo+ID4gPj4+DQo+ID4gPj4+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4+Pj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMu aW8gW21haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pb10gT24gQmVoYWxmDQo+IE9mDQo+ID4gPj4g V2FuZywNCj4gPiA+Pj4+IEppYW4gSg0KPiA+ID4+Pj4gU2VudDogTW9uZGF5LCBNYXkgMjAsIDIw MTkgOTo0MSBBTQ0KPiA+ID4+Pj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBhcmQuYmllc2hl dXZlbEBsaW5hcm8ub3JnOyBMYXN6bG8gRXJzZWsNCj4gPiA+Pj4+IDxsZXJzZWtAcmVkaGF0LmNv bT4NCj4gPiA+Pj4+IENjOiBMdSwgWGlhb3l1WCA8eGlhb3l1eC5sdUBpbnRlbC5jb20+OyBZZSwg VGluZyA8dGluZy55ZUBpbnRlbC5jb20+Ow0KPiBMZWlmDQo+ID4gPj4+PiBMaW5kaG9sbSA8bGVp Zi5saW5kaG9sbUBsaW5hcm8ub3JnPjsgR2FvLCBMaW1pbmcNCj4gPGxpbWluZy5nYW9AaW50ZWwu Y29tPg0KPiA+ID4+Pj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjQgMC83XSBD cnlwdG9Qa2c6IFVwZ3JhZGUgT3BlblNTTCB0bw0KPiA+ID4+IDEuMS4xYg0KPiA+ID4+Pj4NCj4g PiA+Pj4+IEFyZCwNCj4gPiA+Pj4+DQo+ID4gPj4+Pg0KPiA+ID4+Pj4+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gPj4+Pj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gW21haWx0 bzpkZXZlbEBlZGsyLmdyb3Vwcy5pb10gT24gQmVoYWxmDQo+IE9mDQo+ID4gPj4gQXJkDQo+ID4g Pj4+Pj4gQmllc2hldXZlbA0KPiA+ID4+Pj4+IFNlbnQ6IEZyaWRheSwgTWF5IDE3LCAyMDE5IDEx OjA2IFBNDQo+ID4gPj4+Pj4gVG86IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+ ID4gPj4+Pj4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgZGV2ZWxA ZWRrMi5ncm91cHMuaW87IEx1LA0KPiA+ID4+IFhpYW95dVgNCj4gPiA+Pj4+PiA8eGlhb3l1eC5s dUBpbnRlbC5jb20+OyBZZSwgVGluZyA8dGluZy55ZUBpbnRlbC5jb20+OyBMZWlmIExpbmRob2xt DQo+ID4gPj4+Pj4gPGxlaWYubGluZGhvbG1AbGluYXJvLm9yZz47IEdhbywgTGltaW5nIDxsaW1p bmcuZ2FvQGludGVsLmNvbT4NCj4gPiA+Pj4+PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ QVRDSCB2NCAwLzddIENyeXB0b1BrZzogVXBncmFkZSBPcGVuU1NMDQo+IHRvDQo+ID4gPj4+PiAx LjEuMWINCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IE9uIEZyaSwgMTcgTWF5IDIwMTkgYXQgMTU6MTcs IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+IHdyb3RlOg0KPiA+ID4+Pj4+Pg0KPiA+ ID4+Pj4+PiBPbiAwNS8xNy8xOSAxNTowNCwgTGFzemxvIEVyc2VrIHdyb3RlOg0KPiA+ID4+Pj4+ Pj4gT24gMDUvMTcvMTkgMDc6MTEsIFdhbmcsIEppYW4gSiB3cm90ZToNCj4gPiA+Pj4+Pj4+PiBI aSBMYXN6bG8sDQo+ID4gPj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+PiBUaGVyZSdzIGFscmVhZHkgYSBm bG9hdCBsaWJyYXJ5IHVzZWQgaW4gT3BlbnNzbExpYi5pbmYuDQo+ID4gPj4+Pj4+Pj4NCj4gPiA+ Pj4+Pj4+PiBbTGlicmFyeUNsYXNzZXMuQVJNXQ0KPiA+ID4+Pj4+Pj4+ICAgQXJtU29mdEZsb2F0 TGliDQo+ID4gPj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+PiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBi ZWxvdyBpbnN0YW5jZSBkb2Vzbid0IGltcGxlbWVudA0KPiA+ID4+IF9fYWVhYmlfdWkyZA0KPiA+ ID4+Pj4+Pj4+IGFuZCBfX2FlYWJpX2QydWl6IChJIGVuY291bnRlcmVkIHRoaXMgb25lIGFzIHdl bGwpDQo+ID4gPj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+PiAgIEFybVBrZ1xMaWJyYXJ5XEFybVNvZnRG bG9hdExpYlxBcm1Tb2Z0RmxvYXRMaWIuaW5mDQo+ID4gPj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+PiBJ IHRoaW5rIHdlIGNhbiB1cGRhdGUgdGhpcyBsaWJyYXJ5IHN1cHBvcnQgdGhvc2UgdHdvIEFQSXMu IFNvIHdoYXQNCj4gPiA+PiBhYm91dA0KPiA+ID4+Pj4+Pj4+IHdlIHN0aWxsIHB1c2ggdGhlIHBh dGNoIGFuZCBmaWxlIGEgQlogdG8gZml4IHRoaXMgaXNzdWU/DQo+ID4gPj4+Pj4+Pg0KPiA+ID4+ Pj4+Pj4gSSdtIE9LIHdpdGggdGhhdCwgYnV0IGl0IHdpbGwgYnJlYWsgQVJNIGFuZCBBQVJDSDY0 IHBsYXRmb3JtcyB0aGF0DQo+ID4gPj4+Pj4+PiBjb25zdW1lIE9wZW5zc2xMaWIgKGRpcmVjdGx5 IG9yIHRocm91Z2ggQmFzZUNyeXB0TGliKSwgc28gdGhpcw0KPiBxdWVzdGlvbg0KPiA+ID4+Pj4+ Pj4gaXMgdXAgdG8gTGVpZiBhbmQgQXJkIHRvIGRlY2lkZS4NCj4gPiA+Pj4+Pj4NCj4gPiA+Pj4+ Pj4gQ29ycmVjdGlvbjogYnJlYWsgQVJNIHBsYXRmb3JtcyBvbmx5LCBub3QgQUFSQ0g2NC4NCj4g PiA+Pj4+Pj4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IFdlIG9idmlvdXNseSBuZWVkIHRvIGZpeCB0 aGlzIGJlZm9yZSB3ZSBjYW4gdXBncmFkZSB0byBhIG5ldyBPcGVuU1NMDQo+ID4gPj4gdmVyc2lv bi4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IERvIHdlIHJlYWxseSBoYXZlIGEgbmVlZCBmb3IgdGhl IHJhbmRvbSBmdW5jdGlvbnM/IFRoZXNlIHNlZW0gdGhlDQo+IG9ubHkNCj4gPiA+Pj4+PiBvbmVz IHRoYXQgdXNlIGZsb2F0aW5nIHBvaW50LCB3aGljaCB0aGUgVUVGSSBzcGVjIGRvZXMgbm90IHBl cm1pdCwgc28NCj4gPiA+Pj4+PiBpdCB3b3VsZCBiZSBiZXR0ZXIgaWYgd2UgY291bGQgZml4IHRo aXMgYnkgcmVtb3ZpbmcgdGhlIGRlcGVuZGVuY3kgb24NCj4gPiA+Pj4+PiBGUCBpbiB0aGUgZmly c3QgcGxhY2UgKGFuZCBnZXQgcmlkIG9mIEFybVNvZnRGbG9hdExpYiBlbnRpcmVseSkNCj4gPiA+ Pj4+Pg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IEJhc2VDcnlwdExpYiBwcm92aWRlcyBSYW5kU2VlZC9S YW5kQnl0ZXMgaW50ZXJmYWNlIHdoaWNoIHdyYXANCj4gb3BlbnNzbA0KPiA+ID4+IHJhbmQNCj4g PiA+Pj4+IGZ1bmN0aW9uYWxpdGllcy4gVGhlc2UgaW50ZXJmYWNlcyBhcmUgdXNlZCBieSBmb2xs b3dpbmcgY29tcG9uZW50cyBpbg0KPiBlZGsyDQo+ID4gPj4+Pg0KPiA+ID4+Pj4gICAtIENyeXB0 b1BrZ1xMaWJyYXJ5XFRsc0xpYlxUbHNJbml0LmMNCj4gPiA+Pj4+ICAgLSBTZWN1cml0eVBrZ1xI ZGRQYXNzd29yZFxIZGRQYXNzd29yZER4ZS5jDQo+ID4gPj4+Pg0KPiA+ID4+Pj4gT3BlbnNzbCBj b21wb25lbnRzLCBsaWtlIGFzbjEsIGJuLCBldnAsIG9jc3AsIHBlbSwgcGtjczcsIHBrY3MxMiwg cnNhLA0KPiBzc2wgKGluDQo+ID4gPj4+PiBhZGRpdGlvbg0KPiA+ID4+Pj4gdG8gY21zLCBkc2Es IHNycCwgd2hpY2ggYXJlIGRpc2FibGVkIGluIGVkazIpIHdpbGwgY2FsbCByYW5kXyogaW50ZXJm YWNlIGFzDQo+IHdlbGwuDQo+ID4gPj4+Pg0KPiA+ID4+DQo+ID4gPj4gSWYgd2UgaGF2ZSBib3Ro IGludGVybmFsICh0byBPcGVuc3NsKSBhbmQgZXh0ZXJuYWwgdXNlcnMgb2YgdGhlIFJORw0KPiA+ ID4+IGFwaSwgdGhlbiBJIGd1ZXNzIHRoZXJlIGlzIG5vIHdheSB0byB3b3JrIGFyb3VuZCB0aGlz LiBJdCBpcw0KPiA+ID4+IHVuZm9ydHVuYXRlLCBzaW5jZSB0aGUgUk5HIGNvZGUgaW4gT3BlblNT TCBkb2Vzbid0IGFjdHVhbGx5IHVzZSBkb3VibGUNCj4gPiA+PiB0eXBlcyBleGNlcHQgZm9yIGtl ZXBpbmcgYW4gZW50cm9weSBjb3VudCwgd2hpY2ggY291bGQganVzdCBhcyBlYXNpbHkNCj4gPiA+ PiBiZSBrZXB0IGluIGFuIGludGVnZXIgdmFyaWFibGUuDQo+ID4NCj4gPiAoMSkgSSB0aGluayBJ IGFncmVlLi4uIEhvd2V2ZXIsIGl0IHNlZW1zIHRoYXQgdGhlIGZpcnN0IGZ1bmN0aW9uIChvciBv bmUNCj4gPiBvZiB0aGUgZmlyc3QgZnVuY3Rpb25zKSBpbiBPcGVuU1NMIHRvIHRha2UgYW4gImVu dHJvcHkiIHBhcmFtZXRlciwgb2YNCj4gPiB0eXBlICJkb3VibGUiLCB3YXMgUkFORF9hZGQoKS4g QW5kIHRoZSBSQU5EX2FkZCgpIG1hbnVhbCBzdGF0ZXMsDQo+ID4NCj4gPiAgICAgICAgUkFORF9h ZGQoKSBtaXhlcyB0aGUgbnVtIGJ5dGVzIGF0IGJ1ZiBpbnRvIHRoZSBQUk5HIHN0YXRlLg0KPiA+ ICAgICAgICBUaHVzLCBpZiB0aGUgZGF0YSBhdCBidWYgYXJlIHVucHJlZGljdGFibGUgdG8gYW4g YWR2ZXJzYXJ5LA0KPiA+ICAgICAgICB0aGlzIGluY3JlYXNlcyB0aGUgdW5jZXJ0YWludHkgYWJv dXQgdGhlIHN0YXRlIGFuZCBtYWtlcyB0aGUNCj4gPiAgICAgICAgUFJORyBvdXRwdXQgbGVzcyBw cmVkaWN0YWJsZS4gU3VpdGFibGUgaW5wdXQgY29tZXMgZnJvbSB1c2VyDQo+ID4gICAgICAgIGlu dGVyYWN0aW9uIChyYW5kb20ga2V5IHByZXNzZXMsIG1vdXNlIG1vdmVtZW50cykgYW5kIGNlcnRh aW4NCj4gPiAgICAgICAgaGFyZHdhcmUgZXZlbnRzLiBUaGUgZW50cm9weSBhcmd1bWVudCBpcyAo dGhlIGxvd2VyIGJvdW5kIG9mKQ0KPiA+ICAgICAgICBhbiBlc3RpbWF0ZSBvZiBob3cgbXVjaCBy YW5kb21uZXNzIGlzIGNvbnRhaW5lZCBpbiBidWYsDQo+ID4gICAgICAgIG1lYXN1cmVkIGluIGJ5 dGVzLiBEZXRhaWxzIGFib3V0IHNvdXJjZXMgb2YgcmFuZG9tbmVzcyBhbmQgaG93DQo+ID4gICAg ICAgIHRvIGVzdGltYXRlIHRoZWlyIGVudHJvcHkgY2FuIGJlIGZvdW5kIGluIHRoZSBsaXRlcmF0 dXJlLCBlLmcuDQo+ID4gICAgICAgIFJGQyAxNzUwLg0KPiA+DQo+ID4gSSd2ZSBub3cgbG9va2Vk IHVwIFJGQyAxNzUwLCBhbmQgaXQgY29udGFpbnMgY29waW91cyBhbW91bnRzIG9mIG1hdGggb24N Cj4gPiBpcnJhdGlvbmFsIG51bWJlcnMuIEhlbmNlIHRoZSB1c2Ugb2YgZmxvYXRpbmcgcG9pbnQg aW4gT3BlblNTTCwgSSdkIGd1ZXNzLg0KPiA+DQo+ID4gICBodHRwczovL3d3dy5pZXRmLm9yZy9y ZmMvcmZjMTc1MC50eHQNCj4gPg0KPiA+IC4uLiBBZnRlciBkaWdnaW5nIGEgYml0IGluIHRoZSBP cGVuU1NMIGdpdCBoaXN0b3J5LCBJJ3ZlIGZvdW5kIHRoZQ0KPiA+IGZvbGxvd2luZyBjb21taXQg KGZyb20gMTkgeWVhcnMgYWdvKToNCj4gPg0KPiA+IGNvbW1pdCA4NTNmNzU3ZWNlYTc0YTI3MWE3 YzVjZGVlM2YzYjVmZTBkM2FlODYzDQo+ID4gQXV0aG9yOiBCb2RvIE3DtmxsZXIgPGJvZG9Ab3Bl bnNzbC5vcmc+DQo+ID4gRGF0ZTogICBTYXQgRmViIDE5IDE1OjIyOjUzIDIwMDAgKzAwMDANCj4g Pg0KPiA+ICAgICBBbGxvdyBmb3IgaGlnaGVyIGdyYW51bGFyaXR5IG9mIGVudHJvcHkgZXN0aW1h dGVzIGJ5IHVzaW5nICdkb3VibGUnDQo+ID4gICAgIGluc3RlYWQgb2YgJ3Vuc2lnbmVkJyBjb3Vu dGVycy4NCj4gPiAgICAgU2VlZCBQUk5HIGluIE1hY09TL0dldEhUVFBTLnNyYy9HZXRIVFRQUy5j cHAuDQo+ID4NCj4gPiAgICAgUGFydGlhbGx5IHN1Ym1pdHRlZCBieSBZb3JhbSBNZXJveiA8eW9y YW1AbWFpbC5pZHJpdmUuY29tPi4NCj4gPg0KPiA+IEl0IHdhcyB0aGUgY29tbWl0IHdpdGgNCj4g Pg0KPiA+IC12b2lkIFJBTkRfYWRkKGNvbnN0IHZvaWQgKmJ1ZixpbnQgbnVtLGludCBlbnRyb3B5 KTsNCj4gPiArdm9pZCBSQU5EX2FkZChjb25zdCB2b2lkICpidWYsaW50IG51bSxkb3VibGUgZW50 cm9weSk7DQo+ID4NCj4gPiBGV0lXLCB0aGUgIlBSTkciIHJlZmVyZW5jZSBhdCB0aGUgZW5kIG9m IHRoZSBjb21taXQgbWVzc2FnZSBzZWVtcw0KPiA+IG1lYW5pbmdsZXNzLiBDaGVjayBmb3IgeW91 cnNlbGY6DQo+ID4NCj4gPiAkIGdpdCBzaG93IDg1M2Y3NTdlY2VhNzpNYWNPUy9HZXRIVFRQUy5z cmMvR2V0SFRUUFMuY3BwDQo+ID4NCj4gPiBUaGUgZmFjdCB0aGF0ICJlbnRyb3B5IiBpcyBub3cg b2YgdHlwZSAiZG91YmxlIiBkb2VzIG5vdCBzZWVtIHRvIGJlIHB1dA0KPiA+IHRvIHVzZSwgYW55 d2hlcmUgaW4gdGhhdCBmaWxlLg0KPiA+DQo+ID4gSSdsbCBzZW5kIGEgcXVlcnkgdG8gdGhlIG9w ZW5zc2wtdXNlcnMgbWFpbGluZyBsaXN0LCBqdXN0IHNvIHdlDQo+ID4gdW5kZXJzdGFuZCBiZXR0 ZXIuDQo+ID4NCj4gDQo+IFRoYW5rcyBmb3IgZG9pbmcgdGhlIHBhbGVvbnRvbG9naWNhbCByZXNl YXJjaCBoZXJlLg0KPiANCj4gSG93ZXZlciwgdGhlIG91dGNvbWUgb2YgdGhpcyBxdWVyeSBpcyBu b3QgZ29pbmcgdG8gYWZmZWN0IG91ciBzaG9ydA0KPiB0ZXJtIGlzc3VlIHdpdGggdGhpcyBjb2Rl Lg0KPiANCj4gSSB3aWxsIHRyeSB0byBjb21lIGJhY2sgdG8gdGhpcyBpc3N1ZSBhcyBzb29uIGFz IEkgY2FuLCBidXQgSSBhbSBhIGJpdA0KPiBzd2FtcGVkIGF0IHRoZSBtb21lbnQuDQo+IA0KPiAN Cg0KVGhlIGNvbW11bml0eSBoYXMgZGVjaWRlZCB0byBjb21wbGV0ZSB0aGUgdXBncmFkZSBmb3Ig ZWRrMi1zdGFibGUyMDE5MDUuDQpIb3cgbG9uZyB3aWxsIHlvdSBuZWVkIHRvIGFkZCB0aG9zZSB0 d28gQVBJcz8NCg0KUmVnYXJkcywNCkppYW4NCj4gDQo+IA0KPiA+DQo+ID4gPj4gU28gd2Ugd2ls bCBuZWVkIHRvIGZpeCBBcm1Tb2Z0RmxvYXRMaWIgYmVmb3JlIHdlIGNhbiBtZXJnZSB0aGlzDQo+ ID4gPj4gT3BlblNTTCB1cGRhdGUuDQo+ID4NCj4gPiAoMikgTkIsIEkgdGhpbmsgd2UgY2FuIG5v IGxvbmdlciBtZXJnZSB0aGlzIGZlYXR1cmUgZm9yDQo+ID4gZWRrMi1zdGFibGUyMDE5MDUuIFRo ZSBzb2Z0IGZlYXR1cmUgZnJlZXplIGNyaXRlcmlvbiBpcyB0aGF0IGFsbCBwYXRjaGVzDQo+ID4g YmUgcmV2aWV3ZWQgKGFwcHJvdmVkKSBvbi1saXN0IGJlZm9yZSB0aGUgU0ZGIGRhdGUgLyBhbm5v dW5jZW1lbnQsIGFuZA0KPiA+IHRoYXQgd2FzIG5vdCBmdWxmaWxsZWQgaW4gdGhpcyBjYXNlLg0K PiA+DQo+ID4NCj4gPiA+PiBJJ20gaGFwcHkgdG8gaGVscCBkb2luZyB0aGF0LCBjb3VsZCB5b3Ug cGxlYXNlDQo+ID4gPj4gc3VtbWFyaXplIHdoYXQgd2UgYXJlIG1pc3NpbmcgdG9kYXk/DQo+ID4g Pj4NCj4gPiA+DQo+ID4gPiBHcmVhdC4gSSB0aGluayB0aGVyZSdyZSB0d28gaW50cmluc2ljIGZ1 bmN0aW9ucyBtaXNzaW5nIGhlcmUNCj4gPiA+DQo+ID4gPiAgIF9fYWVhYmlfdWkyZA0KPiA+ID4g ICBfX2FlYWJpX2QydWl6DQo+ID4gPg0KPiA+ID4gTGFzemxvLCBwbGVhc2UgZG91YmxlIGNoZWNr IGlmIHRoZXNlIHR3byBhcmUgZW5vdWdoLg0KPiA+DQo+ID4gKDMpIEkgY2FuIG9ubHkgcmVwb3J0 IHRoZSBmYWlsdXJlIHRoYXQgdHJpcHMgdXAgdGhlIGJ1aWxkIGZvciBtZS4gSSBkaWQNCj4gPiB0 aGF0IGhlcmU6DQo+ID4NCj4gPiBodHRwOi8vbWlkLm1haWwtYXJjaGl2ZS5jb20vMDQ5ZTQ4OWMt YjU4Zi0wZmM1LTFjNjYtDQo+IDhhZDkyMGQ5Mzk3OUByZWRoYXQuY29tDQo+ID4gaHR0cHM6Ly9l ZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNDA4MjMNCj4gPg0KPiA+DQo+ID4gVGh1cywg Zm9yIG1lLCB0aGUgbWlzc2luZyBzeW1ib2wgd2FzICJfX2FlYWJpX3VpMmQiLg0KPiA+DQo+ID4g SXQncyBwb3NzaWJsZSB0aGF0IHRoZSAzMi1iaXQgQVJNIGJ1aWxkIHdpbGwgZmFpbCBhdCBhIGRp ZmZlcmVudCAobGF0ZXIpDQo+ID4gc3RhZ2UgYXMgd2VsbCwgYnV0IEkgY2FuJ3QgdGVsbCB1bnRp bCBJIGdldCBwYXN0IHRoaXMgb25lLiAoQW5kIEkgZG9uJ3QNCj4gPiB0aGluayBJIGNhbiBpbXBs ZW1lbnQgYSAic2hpbSIgZnVuY3Rpb24gZm9yIHRoZSBtaXNzaW5nIHN5bWJvbCwganVzdCB0bw0K PiA+IGxldCB0aGUgYnVpbGQgcHJvZ3Jlc3MuKQ0KPiA+DQo+ID4gVGhhbmtzLA0KPiA+IExhc3ps bw0KPiA+DQo+ID4gPiBUaGFua3MgZm9yIGRvaW5nIHRoaXMuDQo+ID4gPg0KPiA+ID4gUmVnYXJk cywNCj4gPiA+IEppYW4NCj4gPiA+DQo+ID4gPj4NCj4gPiA+DQo+ID4NCj4gDQo+IA0KDQo=