From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web10.6271.1578481087067590990 for ; Wed, 08 Jan 2020 02:58:07 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: siyuan.fu@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Jan 2020 02:58:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,409,1571727600"; d="scan'208";a="223513257" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga003.jf.intel.com with ESMTP; 08 Jan 2020 02:58:05 -0800 Received: from fmsmsx123.amr.corp.intel.com (10.18.125.38) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 8 Jan 2020 02:58:05 -0800 Received: from shsmsx105.ccr.corp.intel.com (10.239.4.158) by fmsmsx123.amr.corp.intel.com (10.18.125.38) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 8 Jan 2020 02:58:05 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.245]) by SHSMSX105.ccr.corp.intel.com ([169.254.11.28]) with mapi id 14.03.0439.000; Wed, 8 Jan 2020 18:58:03 +0800 From: "Siyuan, Fu" To: Laszlo Ersek , "devel@edk2.groups.io" CC: "Kinney, Michael D" , "Gao, Liming" , "Dong, Eric" , "Ni, Ray" , Tom Lendacky Subject: Re: [Patch 0/2] Shadow microcode patch according to FIT microcode table. Thread-Topic: [Patch 0/2] Shadow microcode patch according to FIT microcode table. Thread-Index: AQHVxggJNisCpoF6iECbO+89w4EBn6fglM/g Date: Wed, 8 Jan 2020 10:58:03 +0000 Message-ID: References: <20200108042525.408-1-siyuan.fu@intel.com> <27dad7c9-0b89-4edb-6b5b-a47820068fe4@redhat.com> In-Reply-To: <27dad7c9-0b89-4edb-6b5b-a47820068fe4@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZTYxNTcxZmQtMzdiYi00MzZiLWI0MTMtMjNlYWJjMjMyNGFmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiRDFHYU9RSDNDRmw3Q05YclliRlhHb0pYTFluSFBQQURObkN2QkVZR3BPVVcwK1JiNlwvek10SWRuUkxZYldTY20ifQ== dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: siyuan.fu@intel.com Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGksIExhc3psbw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExhc3ps byBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+IFNlbnQ6IDIwMjDE6jHUwjjI1SAxNzo0Mw0K PiBUbzogRnUsIFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBz LmlvDQo+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+ OyBHYW8sIExpbWluZw0KPiA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBEb25nLCBFcmljIDxlcmlj LmRvbmdAaW50ZWwuY29tPjsgTmksIFJheQ0KPiA8cmF5Lm5pQGludGVsLmNvbT47IFRvbSBMZW5k YWNreSA8dGhvbWFzLmxlbmRhY2t5QGFtZC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUGF0Y2ggMC8y XSBTaGFkb3cgbWljcm9jb2RlIHBhdGNoIGFjY29yZGluZyB0byBGSVQgbWljcm9jb2RlDQo+IHRh YmxlLg0KPiANCj4gKCtUb20pDQo+IA0KPiBPbiAwMS8wOC8yMCAwNToyNSwgU2l5dWFuIEZ1IHdy b3RlOg0KPiA+IFRoZSBleGlzdGluZyBNcEluaXRMaWIgd2lsbCBzaGFkb3cgdGhlIG1pY3JvY29k ZSB1cGRhdGUgcGF0Y2hlcyBmcm9tDQo+ID4gZmxhc2ggdG8gbWVtb3J5IGFuZCB0aGlzIGlzIGRv bmUgYnkgc2VhcmNoaW5nIG1pY3JvY29kZSByZWdpb24NCj4gPiBzcGVjaWZpZWQgYnkgUENEIFBj ZENwdU1pY3JvY29kZVBhdGNoQWRkcmVzcyBhbmQNCj4gPiBQY2RDcHVNaWNyb2NvZGVQYXRjaFJl Z2lvblNpemUuDQo+ID4gVGhpcyBicmluZ3MgYSBsaW1pdGlvbiB0byBwbGF0Zm9ybSBGVyB0aGF0 IGFsbCB0aGUgbWljcm9jb2RlIHBhdGNoZXMNCj4gPiBtdXN0IGJlIHBsYWNlZCBpbiBvbmUgY29u dGludW91cyBmbGFzaCBzcGFjZS4NCj4gPg0KPiA+IFRoaXMgcGF0Y2ggc2V0IHNoYWRvd3MgbWlj cm9jb2RlIHVwZGF0ZSBhY2NvcmRpbmcgdG8gRklUIG1pY3JvY29kZQ0KPiA+IGVudHJpZXMgaWYg aXQncyBwcmVzZW50LCBvdGhlcndpc2UgaXQgd2lsbCBmYWxsYmFjayB0byBvcmlnaW5hbCBsb2dp Yw0KPiA+IChieSBQQ0QpLg0KPiA+DQo+ID4gUGF0Y2ggMS8yOiBBZGQgRklUIGhlYWRlciBmaWxl IHRvIE1kZVBrZy4NCj4gPiBQYXRjaCAyLzI6IFVwZGF0ZSBtaWNyb2NvZGUgbG9hZGVyIHRvIHNo YWRvdyBtaWNyb2NvZGUgYWNjb3JkaW5nIHRvIEZJVC4NCj4gPg0KPiA+IENjOiBNaWNoYWVsIEQg S2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiBDYzogTGltaW5nIEdhbyA8 bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+ID4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVs LmNvbT4NCj4gPiBDYzogUmF5IE5pIDxyYXkubmlAaW50ZWwuY29tPg0KPiA+IENjOiBMYXN6bG8g RXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+DQo+ID4gU2l5dWFuIEZ1ICgyKToNCj4gPiAg IE1kZVBrZzogQWRkIGhlYWRlciBmaWxlIGZvciBGaXJtd2FyZSBJbnRlcmZhY2UgVGFibGUgc3Bl Y2lmaWNhdGlvbi4NCj4gPiAgIFVlZmlDcHVQa2c6IFNoYWRvdyBtaWNyb2NvZGUgcGF0Y2ggYWNj b3JkaW5nIHRvIEZJVCBtaWNyb2NvZGUgZW50cnkuDQo+ID4NCj4gPiAgLi4uL0luZHVzdHJ5U3Rh bmRhcmQvRmlybXdhcmVJbnRlcmZhY2VUYWJsZS5oIHwgIDc2ICsrKysrKw0KPiA+ICBVZWZpQ3B1 UGtnL0xpYnJhcnkvTXBJbml0TGliL01pY3JvY29kZS5jICAgICAgfCAyNTUgKysrKysrKysrKysr Ky0tLS0tDQo+ID4gIFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvTXBMaWIuYyAgICAgICAg ICB8ICAgNCArLQ0KPiA+ICBVZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL01wTGliLmggICAg ICAgICAgfCAgIDcgKy0NCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAyNzYgaW5zZXJ0aW9ucygrKSwg NjYgZGVsZXRpb25zKC0pDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBNZGVQa2cvSW5jbHVk ZS9JbmR1c3RyeVN0YW5kYXJkL0Zpcm13YXJlSW50ZXJmYWNlVGFibGUuaA0KPiA+DQo+IA0KPiBJ IGhhdmUgbm93IGNoZWNrZWQNCj4gDQo+IA0KPiBodHRwczovL3d3dy5pbnRlbC5jb20vY29udGVu dC9kYW0vd3d3L3B1YmxpYy91cy9lbi9kb2N1bWVudHMvZ3VpZGVzDQo+IC9maXQtYmlvcy1zcGVj aWZpY2F0aW9uLnBkZg0KPiANCj4gdGhhdCBpcyByZWZlcmVuY2VkIGluDQo+IA0KPiAgIGh0dHBz Oi8vdGlhbm9jb3JlLmFjZ211bHRpbWVkaWEuY29tL3Nob3dfYnVnLmNnaT9pZD0yNDQ5I2MwDQo+ IA0KPiBJIHRoaW5rIGl0IGlzIHdyb25nIGZvciBNcEluaXRMaWIgdG8gZGVkdWNlIGFueXRoaW5n IGZyb20gdGhlIGZsYXNoDQo+IGNvbnRlbnRzIGF0IGZpeGVkIHBoeXNpY2FsIGFkZHJlc3MgMHhG RkZGRkZDMCAqdW5sZXNzKiB0aGUgcGxhdGZvcm0NCj4gYWR2ZXJ0aXplcyB1cC1mcm9udCBhZGhl cmVuY2UgdG8gdGhlIEZJVCBzcGVjaWZpY2F0aW9uLg0KPiANCj4gVGhlIHByb3Bvc2VkIGxvZ2lj IGluIHBhdGNoIzIgZ29lcyBsaWtlIHRoaXM6DQo+IA0KPiAoMSkgcmVhZCB0aGUgVUlOVDY0IGF0 IHBoeXNpY2FsIGFkZHJlc3MgMHhGRkZGRkZDMA0KPiANCj4gKDIpIElmIHRoZSB2YWx1ZSByZWFk IGlzIHplcm8sIGFsbC1uaWJsZXMtRiwgb3IgYWxsLW5pYmJsZXMtRSwgdGhlbg0KPiAgICAgYXNz dW1lICJubyBGSVQiDQo+IA0KPiAoMykgb3RoZXJ3aXNlLCBkZXJlZmVyZW5jZSB0aGUgdmFsdWUg cmVhZCwgYXMgYQ0KPiAgICAgcG9pbnRlci10by1GSVJNV0FSRV9JTlRFUkZBQ0VfVEFCTEVfRU5U UlkNCj4gDQo+ICg0KSBpZiB0aGUgYXNzdW1lZCBGSVJNV0FSRV9JTlRFUkZBQ0VfVEFCTEVfRU5U UlkgZG9lc24ndCBsb29rIHJpZ2h0LA0KPiAgICAgYXNzdW1lICJubyBGSVQiDQo+IA0KPiAoNSkg aWYgIm5vIEZJVCIsIHRoZW4gZmFsbCBiYWNrIHRvIHByZXZpb3VzIFBDRHMgKHdoaWNoIGRlc2Ny aWJlIGlmDQo+ICAgICB0aGVyZSBpcyBhIG1pY3JvY29kZSB1cGRhdGUgaW4gdGhlIGZsYXNoLCBh bmQgaWYgc28sIHdoZXJlKQ0KPiANCj4gVGhpcyBhcHByb2FjaCBpcyB3cm9uZy4gSWYgYSBwbGF0 Zm9ybSBoYXMgbmV2ZXIgaGVhcmQgb2YgdGhlIEZJVA0KPiBzcGVjaWZpY2F0aW9uLCBpdCBtYXkg aGF2ZSBhbnkgdmFsdWUgYXQgYWxsIGF0IGFkZHJlc3MgMHhGRkZGRkZDMC4gVGhlDQo+IHZhbHVl IHRoZXJlIG1heSBlYXNpbHkgZGlmZmVyIGZyb20gdGhlIHRocmVlIHZhbHVlcyB0aGF0IHN0ZXAg KDIpDQo+IGVxdWF0ZXMgdG8gIm5vIEZJVCIuDQo+IA0KPiBUaGVyZWZvcmUgdGhlIHdob2xlIHBy b2NlZHVyZSBhYm92ZSBuZWVkcyB0byBiZSBnYXRlZCB3aXRoIGEgbmV3DQo+IEZlYXR1cmVQQ0Qg KGRlZmF1bHQgdmFsdWUgRkFMU0UpLg0KPiANCj4gDQo+IFRoaXMgaXMgbm90IGEgdGhlb3JldGlj YWwgcmlzay4gUGxlYXNlIHNlZSB0aGUgZm9sbG93aW5nIHBhdGNoZXM6DQo+IA0KPiAqIFtlZGsy LWRldmVsXSBbUkZDIFBBVENIIHYzIDM2LzQzXSBVZWZpQ3B1UGtnOiBBbGxvdyBBUCBib290aW5n IHVuZGVyDQo+IFNFVi1FUw0KPiAgIGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNz YWdlLzUwOTc2DQo+ICAgaHR0cDovL21pZC5tYWlsLQ0KPiBhcmNoaXZlLmNvbS9kZGMxMGUwMTQ4 MjJjOWE4N2E3ZGM5YTQ0ZWU4NTQ3NTFmZmNmNDQyLjE1NzQyODA0MjUuZ2l0Lg0KPiB0aG9tYXMu bGVuZGFja3lAYW1kLmNvbQ0KPiANCj4gKiBbZWRrMi1kZXZlbF0gW1JGQyBQQVRDSCB2MyAzNy80 M10gT3ZtZlBrZzogUmVzZXJ2ZSBhIHBhZ2UgaW4gbWVtb3J5IGZvcg0KPiB0aGUgU0VWLUVTIEFQ IHJlc2V0IHZlY3Rvcg0KPiAgIGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdl LzUwOTc3DQo+ICAgaHR0cDovL21pZC5tYWlsLQ0KPiBhcmNoaXZlLmNvbS83MDZmMTdhYTBlYTNl ZDNmNTdjMWU5MzNlOTMxNjRhOTRiYTFhMGNmLjE1NzQyODA0MjUuZ2l0Lg0KPiB0aG9tYXMubGVu ZGFja3lAYW1kLmNvbQ0KPiANCj4gVGhvc2UgcGF0Y2hlcyBkZXNjcmliZSBhIHN0cnVjdHVyZSB3 aG9zZSAqbGFzdCogZmllbGQsIGFuZCBFRklfR1VJRCwgaXMNCj4gcGxhY2VkIGF0aCAweGZmZmZm ZmQwLiBUaGlzIHN0cnVjdHVyZSBpcyBleHRlbnNpYmxlLCBhbmQgbmV3IGZpZWxkcyBhcmUNCj4g c3VwcG9zZWQgdG8gYmUgKnByZXBlbmRlZCogdG8gaXQuIFRoZSBjdXJyZW50bHkgZGVmaW5lZCBm aXJzdCBmaWVsZA0KPiBzdGFydHMgYXQgMHhmZmZmZmZjYS4gV2hlcmVhcyB0aGUgKGV4Y2x1c2l2 ZSkgZW5kIG9mIHRoZSBGSVQgcG9pbnRlciBpcw0KPiBhdCAweGZmZmZmZmM4LiBUaGlzIG1lYW5z IHRoZXJlIGlzIGEgMiAodHdvKSBieXRlcyBnYXAgYmV0d2VlbiB0aGVtLiBJZg0KPiBtb3JlIHRo YW4gdHdvIGJ5dGVzIGFyZSBwcmVwZW5kZWQgdG8gdGhlIGV4dGVuc2libGUgc3RydWN0dXJlIGlu IHRoZQ0KPiBmdXR1cmUsIHRoYXQgbWF5IGVhc2lseSBsZWFkIHN0ZXAgKDIpIGFib3ZlIHRvIGlu Y29ycmVjdGx5IGRldGVybWluZQ0KPiAieWVzIEZJVCIuDQo+IA0KPiBTbyBwbGVhc2UgaW50cm9k dWNlIGEgbmV3IEZlYXR1cmVQQ0QgaW4gTWRlUGtnIChvciBldmVuIGEgZHluYW1pYw0KPiBib29s ZWFuIFBDRCwgaWYgeW91IHRoaW5rIHRoYXQncyBtb3JlIGZsZXhpYmxlKSwgYW5kIGFkZCBsb2dp YyBzaW1pbGFyDQo+IHRvOg0KDQpJIHRoaW5rIGEgRmVhdHVyZSBQQ0Qgc2hvdWxkIGJlIGVub3Vn aCBmb3IgdGhpcyBzaW5jZSB3aGV0aGVyIHVzaW5nDQp0aGUgRklUIGJhc2VkIGJvb3RpbmcgZmxv dyBpcyBkZWNpZGVkIGJ5IHBsYXRmb3JtIG93bmVyIGFuZCBub3QgZXhwZWN0ZWQNCnRvIGJlIGNo YW5nZWQgb25jZSBkZWNpZGVkLg0KDQpBbmQgY29uc2lkZXJpbmcgdGhhdCB0aGUgRklUIHRhYmxl IGlzIHZlcnkgY3JpdGljYWwgdG8gcHJvY2Vzc29yIGluaXQgZmxvdywgDQpJIHByb3Bvc2UgdG8g YWRkIGEgREVCVUcgQVNTRVJUIGlmIHRoZSBGZWF0dXJlIFBDRCBpcyB0cnVlLCBidXQgY291bGRu J3QNCmZpbmQgYSB2YWxpZCBGSVQgdGFibGUgc3RydWN0dXJlLiBUaGlzIGNvdWxkIHJlbWluZGVy IHBsYXRmb3JtIGRldmVsb3BlciANCnRoYXQgdGhlIEZJVCBhZGRyZXNzIG1heSBoYXZlIGJlZW4g aW5jb3JyZWN0bHkgb3ZlcnJpZGUgYnkgc29tZW9uZSBlbHNlLA0KbGlrZSB0aGUgZXh0ZW5zaWJs ZSBzdHJ1Y3R1cmUgYXMgeW91IG1lbnRpb25lZCBhYm92ZS4NCg0KU28gdGhlIGNoZWNraW5nIGlu IFNoYWRvd01pY3JvY29kZVBhdGNoQnlGaXQoKSBzaG91bGQgYmUgYXMgZm9sbG93czoNCiANCiAg IGlmICghRmVhdHVyZVBjZEdldCAoUGNkRmlybXdhcmVJbnRlcmZhY2VUYWJsZVN1cHBvcnRlZCkp IHsNCiAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCiAgIH0NCiAgDQogIGlmIChGSVJNV0FS RV9JTlRFUkZBQ0VfVEFCTEVfRU5UUlkgZG9lc24ndCBsb29rIHJpZ2h0KSB7DQogICAgIEFTU0VS VChGQUxTRSk7DQogIH0NCg0KV2hhdCdzIHlvdXIgb3BpbmlvbiBvbiB0aGlzPw0KDQpCZXN0IFJl Z2FyZHMsDQpTaXl1YW4NCg0KPiANCj4gPiBWT0lEDQo+ID4gU2hhZG93TWljcm9jb2RlVXBkYXRl UGF0Y2ggKA0KPiA+ICAgSU4gT1VUIENQVV9NUF9EQVRBICAgICAgICAgICAgICpDcHVNcERhdGEN Cj4gPiAgICkNCj4gPiB7DQo+ID4gICBFRklfU1RBVFVTICAgICBTdGF0dXM7DQo+ID4NCj4gPiAg IGlmIChGZWF0dXJlUGNkR2V0IChQY2RGaXJtd2FyZUludGVyZmFjZVRhYmxlU3VwcG9ydGVkKSkg ew0KPiA+ICAgICBTdGF0dXMgPSBTaGFkb3dNaWNyb2NvZGVQYXRjaEJ5Rml0IChDcHVNcERhdGEp Ow0KPiA+ICAgfSBlbHNlIHsNCj4gPiAgICAgU3RhdHVzID0gRUZJX1VOU1VQUE9SVEVEOw0KPiA+ ICAgfQ0KPiA+DQo+ID4gICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4gICAgIFNoYWRv d01pY3JvY29kZVBhdGNoQnlQY2QgKENwdU1wRGF0YSk7DQo+ID4gICB9DQo+ID4gfQ0KPiANCj4g QWx0ZXJuYXRpdmVseSwgbGVhdmUgU2hhZG93TWljcm9jb2RlVXBkYXRlUGF0Y2goKSBhcyBpdCBp cyBjdXJyZW50bHkNCj4gcHJvcG9zZWQsIGJ1dCBzdGFydCBTaGFkb3dNaWNyb2NvZGVQYXRjaEJ5 Rml0KCkgYXMgZm9sbG93czoNCj4gDQo+ID4gICBpZiAoIUZlYXR1cmVQY2RHZXQgKFBjZEZpcm13 YXJlSW50ZXJmYWNlVGFibGVTdXBwb3J0ZWQpKSB7DQo+ID4gICAgIHJldHVybiBFRklfVU5TVVBQ T1JURUQ7DQo+ID4gICB9DQo+IA0KPiANCj4gSW4gY2xvc2luZzogaXQgc2VlbXMgc2hvcnQtc2ln aHRlZCB0aGF0IHRoZSBGSVQgc3BlY2lmaWNhdGlvbiBwbGFjZWQgYQ0KPiAibmFrZWQiIHBvaW50 ZXIgYXQgYSBmaXhlZCBvZmZzZXQgaW4gZmxhc2gsIHJhdGhlciB0aGFuIGEgdGhyZWUtZmllbGQN Cj4gc3RydWN0dXJlIGNvbnNpc3Rpbmcgb2Y6DQo+IC0gYSBHVUlELA0KPiAtIHByZWNlZGVkIGJ5 IGEgc3RydWN0dXJlIHNpemUsDQo+IC0gcHJlY2VkZWQgYnkgdGhlIEZJVCBwb2ludGVyLg0KPiAN Cj4gQmVjYXVzZSwgdXNpbmcgYSBHVUlELWVkIGFwcHJvYWNoLCB0aGUgY2hhbmNlIHRvICppbmNv cnJlY3RseSogZGVkdWNlDQo+ICJ5ZXMgRklUIiB3b3VsZCBiZSAxIGluICgyXjEyOCkgLS0gYWxs IDEyOC1iaXQgdmFsdWVzIGV4Y2VwdCBvbmUgbWFnaWMNCj4gdmFsdWUgd291bGQgaW5kaWNhdGUg Im5vIEZJVCIuIFRoYXQncyBnb29kLg0KPiANCj4gV2hlcmVhcywgd2l0aCB0aGUgc3BlYydzIGN1 cnJlbnQgIm5ha2VkIHBvaW50ZXIiIGFwcHJvYWNoLCB0aGUgY2hhbmNlIHRvDQo+ICpjb3JyZWN0 bHkqIGRlZHVjZSAieWVzIEZJVCIgaXMgMyBpbiAoMl42NCkgLS0gYWxsIDY0LWJpdCB2YWx1ZXMg ZXhjZXB0DQo+IHRocmVlIG1hZ2ljIHZhbHVlcyBpbmRpY2F0ZSAieWVzIEZJVCIuIE5vdCBnb29k Lg0KPiANCj4gVGhhbmtzDQo+IExhc3psbw0KDQo=