From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web09.268.1573237696863337937 for ; Fri, 08 Nov 2019 10:28:17 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: isaac.w.oram@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Nov 2019 10:28:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,282,1569308400"; d="scan'208";a="206526908" Received: from orsmsx104.amr.corp.intel.com ([10.22.225.131]) by orsmga006.jf.intel.com with ESMTP; 08 Nov 2019 10:28:16 -0800 Received: from orsmsx151.amr.corp.intel.com (10.22.226.38) by ORSMSX104.amr.corp.intel.com (10.22.225.131) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 8 Nov 2019 10:28:15 -0800 Received: from orsmsx116.amr.corp.intel.com ([169.254.7.79]) by ORSMSX151.amr.corp.intel.com ([169.254.7.41]) with mapi id 14.03.0439.000; Fri, 8 Nov 2019 10:28:15 -0800 From: "Oram, Isaac W" To: "devel@edk2.groups.io" , "tigerliu@zhaoxin.com" Subject: Re: [edk2-devel] [edk2] OCP : Olympus project's UEFI BIOS code support Thread-Topic: [edk2-devel] [edk2] OCP : Olympus project's UEFI BIOS code support Thread-Index: AdWV/J3XGotoj1nwQnC/9u6ZQ6hh7QAY8mxA Date: Fri, 8 Nov 2019 18:28:15 +0000 Message-ID: <3155A53C14BABF45A364D10949B7414C97280730@ORSMSX116.amr.corp.intel.com> References: <974a546fa8494dc7864b0ee6e5cbfbe1@zhaoxin.com> In-Reply-To: <974a546fa8494dc7864b0ee6e5cbfbe1@zhaoxin.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 x-originating-ip: [10.22.254.138] MIME-Version: 1.0 Return-Path: isaac.w.oram@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlIFB1cmxleS9NdCBPbHltcHVzIHdhcyBqdXN0IGEgcHJvb2Ygb2YgY29uY2VwdCBmb3IgYSBk ZW1vIGF0IE9DUCBHbG9iYWwgU3VtbWl0LiAgVGhlIHByaW9yaXR5IHdhcyBnZXR0aW5nIHRoaW5n cyB3b3JraW5nLCBub3QgbmVjZXNzYXJpbHkgY2xlYW5seS4gIEkgZG9uJ3Qga25vdyB0aGUgc3Bl Y2lmaWMgZGV0YWlscywgYnV0IHdlIGxpa2VseSB1c2VkIGEgYmluYXJ5IHZlcnNpb24gYmVjYXVz ZSB3ZSByZXF1aXJlZCBzb21lIG5vbi1wdWJsaWMgaW5mb3JtYXRpb24gZm9yIHRoZSBQdXJsZXkg c2lsaWNvbi4NCg0KUmVnYXJkcywNCklzYWFjDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQpGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJl aGFsZiBPZiBUaWdlciBMaXUoQkotUkQpDQpTZW50OiBUaHVyc2RheSwgTm92ZW1iZXIgNywgMjAx OSAxMDoyOCBQTQ0KVG86IE9yYW0sIElzYWFjIFcgPGlzYWFjLncub3JhbUBpbnRlbC5jb20+OyBk ZXZlbEBlZGsyLmdyb3Vwcy5pbw0KU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbZWRrMl0gT0NQ IDogT2x5bXB1cyBwcm9qZWN0J3MgVUVGSSBCSU9TIGNvZGUgc3VwcG9ydA0KDQpIaSwgSXNhYWM6 DQpJIGFtIGN1cmlvdXMgYWJvdXQgd2h5IHByb3ZpZGluZyB0aGVzZSBkcml2ZXIncycgaW1wbGVt ZW50YXRpb25zIChDUFUgQXJjaC9QY2lIb3N0QnJpZGdlKSBieSBhIGJpbmFyeSBGViBhbmQgbm90 IHVzZSBNZGVNb2R1bGVQa2cgb3BlbiBzb3VyY2UgY29kZS4NCg0KQmFzZWQgb24gYSBPQ1AgcHB0 LCB0aGUgYmFzZWxpbmUgYm9vdCBmbG93IGlzOg0KQUNNIC0+IFNFQyAtPiBVUEkvRFJBTSBNUkMg aW5pdC9NUCBJbml0IGV0Yy4gLT4gRFhFIFBoYXNlIC0+IC4uLi4uLg0KDQpJIHRoaW5rIEZTUCBi aW5hcnkganVzdCBjb3ZlciBTRUMvUEVJIHBsYXRmb3JtIHJlbGF0ZWQgaW5pdCwgYW5kIERYRSBw aGFzZSdzIGRyaXZlcnMgc2hvdWxkIGFkb3B0IHN0YW5kYXJkIFVESyBvcGVuIHNvdXJjZSBjb2Rl Lg0KDQpBbmQgaXQgc2VlbXMgS2FieUxha2UvV2hpc2tleWxha2UgdXNlIG9wZW4gc291cmNlIFVE SyBEeGUgcGhhc2UncyBkcml2ZXJzLg0KDQpUaGFua3MNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQpGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9u IEJlaGFsZiBPZiBUaWdlciBMaXUoQkotUkQpDQpTZW50OiBUaHVyc2RheSwgTm92ZW1iZXIgNywg MjAxOSA1OjIxIFBNDQpUbzogT3JhbSwgSXNhYWMgVyA8aXNhYWMudy5vcmFtQGludGVsLmNvbT47 IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLdWJhY2tpLCBNaWNoYWVsIEEgPG1pY2hhZWwuYS5rdWJh Y2tpQGludGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW2VkazJdIE9DUCA6IE9s eW1wdXMgcHJvamVjdCdzIFVFRkkgQklPUyBjb2RlIHN1cHBvcnQNCg0KSGksIElzYWFjOg0KR290 IGl0IQ0KDQpNYXliZSwgdGhlc2UgdGhyZWUgRFhFL1NNTSBkcml2ZXJzIGFyZSBhbGwgcHJvdmlk ZWQgYnkgRnZQb3N0TWVtb3J5U2lsaWNvbi5GdiAjVWVmaUNwdVBrZy9DcHVEeGUvQ3B1RHhlLmlu ZiAjVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9QaVNtbUNwdUR4ZVNtbS5pbmYNCiNNZGVNb2R1 bGVQa2cvQnVzL1BjaS9QY2lIb3N0QnJpZGdlRHhlL1BjaUhvc3RCcmlkZ2VEeGUuaW5mDQoNClRo YW5rcw0KLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0K5Y+R5Lu25Lq6OiBPcmFtLCBJc2FhYyBXIDxp c2FhYy53Lm9yYW1AaW50ZWwuY29tPg0K5Y+R6YCB5pe26Ze0OiAyMDE55bm0MTHmnIg45pelIDY6 MTgNCuaUtuS7tuS6ujogZGV2ZWxAZWRrMi5ncm91cHMuaW87IFRpZ2VyIExpdShCSi1SRCkgPFRp Z2VyTGl1QHpoYW94aW4uY29tPjsgS3ViYWNraSwgTWljaGFlbCBBIDxtaWNoYWVsLmEua3ViYWNr aUBpbnRlbC5jb20+DQrkuLvpopg6IFJFOiBbZWRrMi1kZXZlbF0gW2VkazJdIE9DUCA6IE9seW1w dXMgcHJvamVjdCdzIFVFRkkgQklPUyBjb2RlIHN1cHBvcnQNCg0KVGlnZXIsDQoNCkkgYmVsaWV2 ZSB0aGF0IHRoZSBzb2x1dGlvbiB1c2VkIGEgc2lsaWNvbiBzcGVjaWZpYyBQY2lIb3N0QnJpZGdl IGRyaXZlciBwcm92aWRlZCBieSBvbmUgb2YgdGhlIGJpbmFyeSBGViBwcm92aWRpbmcgc2lsaWNv biBjb21wb25lbnRzIChwcm9iYWJseSBGSUxFID0gJChTSUxJQ09OX0JJTl9QS0cpL0Z2UG9zdE1l bW9yeVNpbGljb24vJChUQVJHRVQpL0Z2UG9zdE1lbW9yeVNpbGljb24uRnYpLg0KDQpSZWdhcmRz LA0KSXNhYWMNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGRldmVsQGVkazIu Z3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIFRpZ2VyIExpdShC Si1SRCkNClNlbnQ6IFdlZG5lc2RheSwgTm92ZW1iZXIgNiwgMjAxOSA5OjQ1IFBNDQpUbzogS3Vi YWNraSwgTWljaGFlbCBBIDxtaWNoYWVsLmEua3ViYWNraUBpbnRlbC5jb20+OyBkZXZlbEBlZGsy Lmdyb3Vwcy5pbw0KU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbZWRrMl0gT0NQIDogT2x5bXB1 cyBwcm9qZWN0J3MgVUVGSSBCSU9TIGNvZGUgc3VwcG9ydA0KDQpIaSwgTWljaGFlbDoNCkkgaGF2 ZSBhIHF1ZXN0aW9uIGFib3V0IFBDSSBob3N0IGJyaWRnZSBkcml2ZXIgaW4gT2x5bXB1cyBib2Fy ZC4NCg0KSSBmb3VuZCBQY2lIb3N0QnJpZGdlIGRyaXZlciBpcyBkZWxldGVkIGluIENvcmVEeGVJ bmNsdWRlLmRzYy4NCiAgI01kZU1vZHVsZVBrZy9CdXMvUGNpL1BjaUhvc3RCcmlkZ2VEeGUvUGNp SG9zdEJyaWRnZUR4ZS5pbmYNCg0KU28sIGl0IHNlZW1zIEJvYXJkTXRPbHltcHVzXFBsYXRmb3Jt UGtnLmRzYyBkb2VzIG5vdCBpbmNsdWRlIGFueSBQY2lIb3N0QnJpZGdlIGRyaXZlciBpbXBsZW1l bnRhdGlvbi4NCg0KVGhhbmtzDQotLS0tLemCruS7tuWOn+S7ti0tLS0tDQrlj5Hku7bkuro6IFRp Z2VyIExpdShCSi1SRCkNCuWPkemAgeaXtumXtDogMjAxOeW5tDEx5pyINuaXpSAxNTo0OA0K5pS2 5Lu25Lq6OiAnS3ViYWNraSwgTWljaGFlbCBBJyA8bWljaGFlbC5hLmt1YmFja2lAaW50ZWwuY29t PjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCuS4u+mimDogUmU6IFtlZGsyLWRldmVsXSBbZWRrMl0g T0NQIDogT2x5bXB1cyBwcm9qZWN0J3MgVUVGSSBCSU9TIGNvZGUgc3VwcG9ydA0KDQpHb3QgaXQu DQoNClRoYW5rIHlvdSB2ZXJ5IG11Y2guDQoNCkJlc3Qgd2lzaGVzLA0KLS0tLS3pgq7ku7bljp/k u7YtLS0tLQ0K5Y+R5Lu25Lq6OiBLdWJhY2tpLCBNaWNoYWVsIEEgPG1pY2hhZWwuYS5rdWJhY2tp QGludGVsLmNvbT4NCuWPkemAgeaXtumXtDogMjAxOeW5tDEx5pyINuaXpSAxNTowNQ0K5pS25Lu2 5Lq6OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgVGlnZXIgTGl1KEJKLVJEKSA8VGlnZXJMaXVAemhh b3hpbi5jb20+DQrkuLvpopg6IFJFOiBbZWRrMi1kZXZlbF0gW2VkazJdIE9DUCA6IE9seW1wdXMg cHJvamVjdCdzIFVFRkkgQklPUyBjb2RlIHN1cHBvcnQNCg0KVW5mb3J0dW5hdGVseSBub3QuIFRo YXQncyB3aHkgd2UncmUgdHJ5aW5nIHRvIGFkZCBzdXBwb3J0IGZvciB0aGVzZSBvdGhlciBjb21t ZXJjaWFsbHkgYXZhaWxhYmxlIHN5c3RlbXMgc3VjaCBhcyB0aGUgU3lzdGVtIDc2IGxhcHRvcCBh bmQgdGhlIFVQIFh0cmVtZSBib2FyZC4NCg0KVGhlIG5leHQgcHJvZHVjdCBmYW1pbHkgdGhhdCB3 aWxsIGxpa2VseSBnZXQgYW4gb3BlbiBzb3VyY2UgYm9hcmQgcGFja2FnZSBhZGRlZCB3aWxsIGJl IENvbWV0IExha2UgKGNsaWVudCkgYXMgdHJhY2tlZCBoZXJlOiBodHRwczovL2J1Z3ppbGxhLnRp YW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTIyODANCg0KV2UgdmVyeSBtdWNoIHdvdWxkIGxp a2UgdG8gYWRkIGJhY2sgb3BlbiBzb3VyY2Ugc2VydmVyIHBsYXRmb3JtIGNvZGUgaW5jbHVkaW5n IHN1cHBvcnQgZm9yIGEgY29tbWVyY2lhbGx5IGF2YWlsYWJsZSBib2FyZCBhbmQgd2UncmUgZXZh bHVhdGluZyBhIGZldyBvcHRpb25zIGJ1dCB0aGVyZSdzIG5vdGhpbmcgZGVmaW5pdGl2ZSBlbm91 Z2ggYXQgdGhlIG1vbWVudCB0byBnaXZlIGEgdGFyZ2V0IHN5c3RlbSBvciBFVEEuDQoNClRoYW5r cywNCk1pY2hhZWwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBUaWdl cg0KPiBMaXUoQkotUkQpDQo+IFNlbnQ6IFR1ZXNkYXksIE5vdmVtYmVyIDUsIDIwMTkgMTA6NDcg UE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLdWJhY2tpLCBNaWNoYWVsIEEgDQo+IDxt aWNoYWVsLmEua3ViYWNraUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0g W2VkazJdIE9DUCA6IE9seW1wdXMgcHJvamVjdCdzIFVFRkkgQklPUyANCj4gY29kZSBzdXBwb3J0 DQo+DQo+IEhpLCBNaWNoYWVsOg0KPiBHb3QgaXQuDQo+IFRoYW5rcw0KPg0KPiBGb3IgIlJlZmVy ZW5jZSBhbmQgVmFsaWRhdGlvbiBQbGF0Zm9ybSIgbW90aGVyYm9hcmQsIGNvdWxkIHVzZXIgYnV5 IGl0IA0KPiBhdCBvcGVuIG1hcmtldD8NCj4gRm9yIGV4YW1wbGUsIGJ1eSBpdCBvbiBBbWF6b24u DQo+DQo+IFRoYW5rcw0KPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+IOWPkeS7tuS6ujogZGV2 ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiDku6PooaggS3ViYWNraSwg TWljaGFlbCBBDQo+IOWPkemAgeaXtumXtDogMjAxOeW5tDEx5pyINuaXpSAxMDoxMg0KPiDmlLbk u7bkuro6IFRpZ2VyIExpdShCSi1SRCkgPFRpZ2VyTGl1QHpoYW94aW4uY29tPjsgZGV2ZWxAZWRr Mi5ncm91cHMuaW8NCj4g5Li76aKYOiBSZTogW2VkazItZGV2ZWxdIFtlZGsyXSBPQ1AgOiBPbHlt cHVzIHByb2plY3QncyBVRUZJIEJJT1MgY29kZSANCj4gc3VwcG9ydA0KPg0KPiBObyBvdGhlciBP Q1Agc3VwcG9ydCBhdCB0aGUgbW9tZW50LiBDdXJyZW50IGJvYXJkIHN1cHBvcnQgaXMgDQo+IHN1 bW1hcml6ZWQgaW4gdGhpcyBSZWFkbWUubWQ6DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2Nv cmUvZWRrMi0NCj4gcGxhdGZvcm1zL2Jsb2IvbWFzdGVyL1JlYWRtZS5tZCNpbnRlbA0KPg0KPiBO ZXdlciBJbnRlbCBwbGF0Zm9ybSBmaXJtd2FyZSBpcyBmb2xsb3dpbmcgdGhlIEVESyBJSSBNaW5p bXVtIFBsYXRmb3JtIA0KPiBzcGVjaWZpY2F0aW9uIGFuZCB0aGUgYm9hcmRzIHN1cHBvcnRlZCBh cmUgZG9jdW1lbnRlZCBoZXJlOg0KPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIt DQo+IHBsYXRmb3Jtcy9ibG9iL21hc3Rlci9QbGF0Zm9ybS9JbnRlbC9SZWFkbWUubWQjc3VwcG9y dGVkLWhhcmR3YXJlDQo+DQo+IEthYnlsYWtlT3BlbkJvYXJkUGtnIHN1cHBvcnRzIHR3byBib2Fy ZHM6DQo+ICAqIEthYnlsYWtlUnZwMyAoYW4gSW50ZWwgS2FieSBMYWtlIFkgUmVmZXJlbmNlIGFu ZCBWYWxpZGF0aW9uDQo+IFBsYXRmb3JtKQ0KPiAgKiBHYWxhZ29Qcm8zIChhIGNvbW1lcmNpYWwg bGFwdG9wIHdpdGggS2FieSBMYWtlIGZyb20gU3lzdGVtIDc2KQ0KPg0KPiBXaGlza2V5bGFrZU9w ZW5Cb2FyZFBrZyBjdXJyZW50bHkgc3VwcG9ydHM6DQo+ICAqIFdoaXNrZXlsYWtlVVJ2cCAoYW4g SW50ZWwgV2hpc2tleSBMYWtlIFUgUmVmZXJlbmNlIGFuZCBWYWxpZGF0aW9uDQo+IFBsYXRmb3Jt KQ0KPg0KPiBUaGVyZSBpcyBhIHBsYW4gdG8gYWRkIGJvYXJkIHN1cHBvcnQgZm9yIHRoZSBVUCBY dHJlbWUgYm9hcmQgaW4gDQo+IFdoaXNrZXlsYWtlT3BlbkJvYXJkUGtnIHNvb24gYXMgbm90ZWQg aGVyZToNCj4gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0y MTkxLg0KPg0KPiBUaGFua3MsDQo+IE1pY2hhZWwNCj4NCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+IEZyb206IFRpZ2VyIExpdShCSi1SRCkgPFRpZ2VyTGl1QHpoYW94aW4uY29t Pg0KPiA+IFNlbnQ6IFR1ZXNkYXksIE5vdmVtYmVyIDUsIDIwMTkgNTozMiBQTQ0KPiA+IFRvOiBL dWJhY2tpLCBNaWNoYWVsIEEgPG1pY2hhZWwuYS5rdWJhY2tpQGludGVsLmNvbT47IA0KPiA+IGRl dmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbZWRrMl0g T0NQIDogT2x5bXB1cyBwcm9qZWN0J3MgVUVGSSBCSU9TIA0KPiA+IGNvZGUgc3VwcG9ydA0KPiA+ DQo+ID4gSGksIE1pY2hhZWw6DQo+ID4gVGhhbmtzIGZvciB5b3VyIHJlcGx5IQ0KPiA+DQo+ID4g SXMgdGhlcmUgYW55IG90aGVyIHByb2plY3QgRm9yIEludGVsIG9wZW4gc291cmNlIHBsYXRmb3Jt IGZpcm13YXJlPw0KPiA+DQo+ID4gS2FieWxha2VPcGVuQm9hcmRQa2cgLyBXaGlza2V5bGFrZU9w ZW5Cb2FyZFBrZyBpcyBhbHNvIGZvciBPQ1AgDQo+ID4gcGxhdGZvcm0gYm9hcmQ/DQo+ID4NCj4g PiBUaGFua3MNCj4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4g5Y+R5Lu25Lq6OiBLdWJh Y2tpLCBNaWNoYWVsIEEgPG1pY2hhZWwuYS5rdWJhY2tpQGludGVsLmNvbT4NCj4gPiDlj5HpgIHm l7bpl7Q6IDIwMTnlubQxMeaciDbml6UgMjozOA0KPiA+IOaUtuS7tuS6ujogZGV2ZWxAZWRrMi5n cm91cHMuaW87IFRpZ2VyIExpdShCSi1SRCkgPFRpZ2VyTGl1QHpoYW94aW4uY29tPg0KPiA+IOS4 u+mimDogUkU6IFtlZGsyLWRldmVsXSBbZWRrMl0gT0NQIDogT2x5bXB1cyBwcm9qZWN0J3MgVUVG SSBCSU9TIGNvZGUgDQo+ID4gc3VwcG9ydA0KPiA+DQo+ID4gSGksDQo+ID4NCj4gPiBUaGUgUHVy bGV5T3BlbkJvYXJkUGtnIGNvZGUgaXMgYmVpbmcgcmVtb3ZlZCBhcyBub3RlZCBpbiB0aGUgDQo+ ID4gZm9sbG93aW5nIHBhdGNoIHNlcmllcyByZWNlbnRseSBzZW50IHRvIHRoZSBtYWlsaW5nIGxp c3QgLSANCj4gPiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS80OTg0My4N Cj4gPg0KPiA+IEl0IGhhcyBub3QgYmVlbiB0ZXN0ZWQgaW4gc29tZSB0aW1lIGFuZCBkb2VzIG5v dCBhbGlnbiB3aXRoIG91ciANCj4gPiB2aXNpb24gZm9yIEludGVsIG9wZW4gc291cmNlIHBsYXRm b3JtIGZpcm13YXJlLiBUaGUgZWZmb3J0IHJlcXVpcmVkIA0KPiA+IHRvIHVwZGF0ZSB0aGUgY29k ZSBhbmQgc3VzdGFpbiB0ZXN0aW5nIGFsb25nc2lkZSBhIGxhcmdlIG51bWJlciBvZiANCj4gPiBw bGFubmVkIGNoYW5nZXMgZWxzZXdoZXJlIHRoYXQgd2lsbCBpbXBhY3QgUHVybGV5T3BlbkJvYXJk UGtnIGxlZCB0byANCj4gPiB0aGUgZGVjaXNpb24gdG8gcmVtb3ZlIHRoZSBwYWNrYWdlIGJlZm9y ZSB0aGUgbmV4dCBzdGFibGUgdGFnLg0KPiA+DQo+ID4gUHJpb3IgdG8gcmVtb3ZhbCB0aGUgY29k ZSBzaG91bGQgY29tcGlsZSBieSBmb2xsb3dpbmcgdGhlIA0KPiA+IGluc3RydWN0aW9ucw0KPiBo ZXJlOg0KPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi0NCj4gPiBwbGF0Zm9y bXMvYmxvYi9tYXN0ZXIvUGxhdGZvcm0vSW50ZWwvUmVhZG1lLm1kDQo+ID4NCj4gPiBUaGFua3Ms DQo+ID4gTWljaGFlbA0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBC ZWhhbGYgT2YgDQo+ID4gPiBUaWdlcg0KPiA+ID4gTGl1KEJKLVJEKQ0KPiA+ID4gU2VudDogVHVl c2RheSwgTm92ZW1iZXIgNSwgMjAxOSAyOjU4IEFNDQo+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91 cHMuaW87IEt1YmFja2ksIE1pY2hhZWwgQSANCj4gPiA+IDxtaWNoYWVsLmEua3ViYWNraUBpbnRl bC5jb20+DQo+ID4gPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW2VkazJdIE9DUCA6IE9seW1wdXMg cHJvamVjdCdzIFVFRkkgQklPUyANCj4gPiA+IGNvZGUgc3VwcG9ydA0KPiA+ID4NCj4gPiA+IEhp LCBNaWNoYWVsOg0KPiA+ID4gSSBmb3VuZCBlZGsyLXBsYXRmb3JtcyBpbmNsdWRlIE9DUCBPbHlt cHVzIGJvYXJk4oCZcyBzdXBwb3J0IHBhY2thZ2UuDQo+ID4gPiBlZGsyLXBsYXRmb3Jtc1xQbGF0 Zm9ybVxJbnRlbFxQdXJsZXlPcGVuQm9hcmRQa2dcQm9hcmRNdE9seW1wdXMNCj4gPiA+DQo+ID4g PiBJbiB0aGlzIHdpa2ksDQo+ID4gPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL3RpYW5v Y29yZS5naXRodWIuaW8vd2lraS9FREstSUktDQo+ID4gPiBQbGF0Zm9ybXMNCj4gPiA+IEl0IGFs c28gc2FpZCxlZGsyLXBsYXRmb3JtIGluY2x1ZGUgUHJvamVjdCBPbHltcHVz4oCZcyBzdXBwb3J0 Og0KPiA+ID4gRURLIElJIE1pbmltdW0gUGxhdGZvcm1zDQo+ID4gPiDigKIgaHR0cHM6Ly9naXRo dWIuY29tL3RpYW5vY29yZS90aWFub2NvcmUuZ2l0aHViLmlvL3dpa2kvS2FieS1MYWtlLQ0KPiA+ ID4gTWluUGxhdGZvcm0gLSBFREsgSUkgcGxhdGZvcm0gZmlybXdhcmUgb24gN3RoIEdlbmVyYXRp b24gSW50ZWzCriANCj4gPiA+IENvcmXihKIgUHJvY2Vzc29ycyBhbmQgY2hpcHNldHMgKGZvcm1l cmx5IA0KPiA+ID4gaHR0cHM6Ly9hcmsuaW50ZWwuY29tL3Byb2R1Y3RzL2NvZGVuYW1lLzgyODc5 L0thYnktTGFrZSBwbGF0Zm9ybXMpLg0KPiA+ID4g4oCiIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFu b2NvcmUvdGlhbm9jb3JlLmdpdGh1Yi5pby93aWtpL1B1cmxleS0NCj4gPiA+IE1pblBsYXRmb3Jt IC0gRURLIElJIHBsYXRmb3JtIGZpcm13YXJlIGZvciB0aGUgT3BlbiBDb21wdXRlIA0KPiA+ID4g UHJvamVjdA0KPiA+ID4gKE9DUCkNCj4gPiA+DQo+ID4NCj4gaHR0cDovL3d3dy5vcGVuY29tcHV0 ZS5vcmcvd2lraS9TZXJ2ZXIvUHJvamVjdE9seW1wdXMjUHJvamVjdF9PbHltcA0KPiA+ID4gdXNf U2VydmVyX01vdGhlcmJvYXJkcy4NCj4gPiA+IOKAog0KPiA+ID4gaHR0cHM6Ly9naXRodWIuY29t L3RpYW5vY29yZS90aWFub2NvcmUuZ2l0aHViLmlvL3dpa2kvV2hpc2tleS1MYWtlDQo+ID4gPiAt IE1pblBsYXRmb3JtIC0gRURLIElJIHBsYXRmb3JtIGZpcm13YXJlIG9uIDh0aCBHZW5lcmF0aW9u IEludGVswq4gDQo+ID4gPiBDb3Jl4oSiIFByb2Nlc3NvcnMgYW5kIGNoaXBzZXRzIChmb3JtZXJs eQ0KPiA+ID4NCj4gPg0KPiBodHRwczovL2Fyay5pbnRlbC5jb20vY29udGVudC93d3cvdXMvZW4v YXJrL3Byb2R1Y3RzL2NvZGVuYW1lLzEzNTg4Mw0KPiA+ID4gL3doaXNrZXktbGFrZS5odG1sIHBs YXRmb3JtcykuDQo+ID4gPg0KPiA+ID4gU28sIENvdWxkIEkgIGNvbXBpbGUgYSBVRUZJIEJJT1Mg RmlybXdhcmUgZm9yIE9seW1wdXMgYm9hcmQgd2l0aCANCj4gPiA+IGN1cnJlbnQgZWRrMi1wbGF0 Zm9ybSBjb2RlICsgZWRrMiBjb2RlPw0KPiA+ID4NCj4gPiA+IE5vdGU6DQo+ID4gPiBQcm9qZWN0 IE9seW1wdXMgYm9hcmQncyB3aWtpIHBhZ2U6DQo+ID4gPiBodHRwczovL3d3dy5vcGVuY29tcHV0 ZS5vcmcvd2lraS9TZXJ2ZXIvUHJvamVjdE9seW1wdXMNCj4gPiA+DQo+ID4gPiBUaGFua3MNCj4g PiA+DQo+ID4gPg0KPiA+ID4g5L+d5a+G5aOw5piO77yaDQo+ID4gPiDmnKzpgq7ku7blkKvmnInk v53lr4bmiJbkuJPmnInkv6Hmga/vvIzku4XkvpvmjIflrprmlLbku7bkurrkvb/nlKjjgILkuKXn poHlr7nmnKzpgq7ku7YNCj4g5oiWDQo+ID4g5YW25YaFDQo+ID4gPiDlrrnlgZrku7vkvZXmnKrn u4/mjojmnYPnmoTmn6XpmIXjgIHkvb/nlKjjgIHlpI3liLbmiJbovazlj5HjgIINCj4gPiA+IENP TkZJREVOVElBTCBOT1RFOg0KPiA+ID4gVGhpcyBlbWFpbCBjb250YWlucyBjb25maWRlbnRpYWwg b3IgbGVnYWxseSBwcml2aWxlZ2VkIGluZm9ybWF0aW9uIA0KPiA+ID4gYW5kIGlzIGZvciB0aGUg c29sZSB1c2Ugb2YgaXRzIGludGVuZGVkIHJlY2lwaWVudC4gQW55IA0KPiA+ID4gdW5hdXRob3Jp emVkIHJldmlldywgdXNlLCBjb3B5aW5nIG9yIGZvcndhcmRpbmcgb2YgdGhpcyBlbWFpbCBvciAN Cj4gPiA+IHRoZSBjb250ZW50IG9mIHRoaXMgZW1haWwNCj4gPiBpcyBzdHJpY3RseSBwcm9oaWJp dGVkLg0KPiA+ID4NCj4gPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4g5L+d5a+G5aOw5piO77yaDQo+ ID4g5pys6YKu5Lu25ZCr5pyJ5L+d5a+G5oiW5LiT5pyJ5L+h5oGv77yM5LuF5L6b5oyH5a6a5pS2 5Lu25Lq65L2/55So44CC5Lil56aB5a+55pys6YKu5Lu25oiWDQo+IOWFtg0KPiA+IOWGheWuueWB muS7u+S9leacque7j+aOiOadg+eahOafpemYheOAgeS9v+eUqOOAgeWkjeWItuaIlui9rOWPkeOA gg0KPiA+IENPTkZJREVOVElBTCBOT1RFOg0KPiA+IFRoaXMgZW1haWwgY29udGFpbnMgY29uZmlk ZW50aWFsIG9yIGxlZ2FsbHkgcHJpdmlsZWdlZCBpbmZvcm1hdGlvbiANCj4gPiBhbmQgaXMgZm9y IHRoZSBzb2xlIHVzZSBvZiBpdHMgaW50ZW5kZWQgcmVjaXBpZW50LiBBbnkgdW5hdXRob3JpemVk IA0KPiA+IHJldmlldywgdXNlLCBjb3B5aW5nIG9yIGZvcndhcmRpbmcgb2YgdGhpcyBlbWFpbCBv ciB0aGUgY29udGVudCBvZiANCj4gPiB0aGlzIGVtYWlsDQo+IGlzIHN0cmljdGx5IHByb2hpYml0 ZWQuDQo+DQo+DQo+DQo+DQo+DQo+IOS/neWvhuWjsOaYju+8mg0KPiDmnKzpgq7ku7blkKvmnInk v53lr4bmiJbkuJPmnInkv6Hmga/vvIzku4XkvpvmjIflrprmlLbku7bkurrkvb/nlKjjgILkuKXn poHlr7nmnKzpgq7ku7bmiJblhbYNCj4g5YaF5a655YGa5Lu75L2V5pyq57uP5o6I5p2D55qE5p+l 6ZiF44CB5L2/55So44CB5aSN5Yi25oiW6L2s5Y+R44CCDQo+IENPTkZJREVOVElBTCBOT1RFOg0K PiBUaGlzIGVtYWlsIGNvbnRhaW5zIGNvbmZpZGVudGlhbCBvciBsZWdhbGx5IHByaXZpbGVnZWQg aW5mb3JtYXRpb24gYW5kIA0KPiBpcyBmb3IgdGhlIHNvbGUgdXNlIG9mIGl0cyBpbnRlbmRlZCBy ZWNpcGllbnQuIEFueSB1bmF1dGhvcml6ZWQgDQo+IHJldmlldywgdXNlLCBjb3B5aW5nIG9yIGZv cndhcmRpbmcgb2YgdGhpcyBlbWFpbCBvciB0aGUgY29udGVudCBvZiB0aGlzIGVtYWlsIGlzIHN0 cmljdGx5IHByb2hpYml0ZWQuDQo+DQo+DQoNCg0KDQrkv53lr4blo7DmmI7vvJoNCuacrOmCruS7 tuWQq+acieS/neWvhuaIluS4k+acieS/oeaBr++8jOS7heS+m+aMh+WumuaUtuS7tuS6uuS9v+eU qOOAguS4peemgeWvueacrOmCruS7tuaIluWFtuWGheWuueWBmuS7u+S9leacque7j+aOiOadg+ea hOafpemYheOAgeS9v+eUqOOAgeWkjeWItuaIlui9rOWPkeOAgg0KQ09ORklERU5USUFMIE5PVEU6 DQpUaGlzIGVtYWlsIGNvbnRhaW5zIGNvbmZpZGVudGlhbCBvciBsZWdhbGx5IHByaXZpbGVnZWQg aW5mb3JtYXRpb24gYW5kIGlzIGZvciB0aGUgc29sZSB1c2Ugb2YgaXRzIGludGVuZGVkIHJlY2lw aWVudC4gQW55IHVuYXV0aG9yaXplZCByZXZpZXcsIHVzZSwgY29weWluZyBvciBmb3J3YXJkaW5n IG9mIHRoaXMgZW1haWwgb3IgdGhlIGNvbnRlbnQgb2YgdGhpcyBlbWFpbCBpcyBzdHJpY3RseSBw cm9oaWJpdGVkLg0KDQoNCg0KDQoNCuS/neWvhuWjsOaYju+8mg0K5pys6YKu5Lu25ZCr5pyJ5L+d 5a+G5oiW5LiT5pyJ5L+h5oGv77yM5LuF5L6b5oyH5a6a5pS25Lu25Lq65L2/55So44CC5Lil56aB 5a+55pys6YKu5Lu25oiW5YW25YaF5a655YGa5Lu75L2V5pyq57uP5o6I5p2D55qE5p+l6ZiF44CB 5L2/55So44CB5aSN5Yi25oiW6L2s5Y+R44CCDQpDT05GSURFTlRJQUwgTk9URToNClRoaXMgZW1h aWwgY29udGFpbnMgY29uZmlkZW50aWFsIG9yIGxlZ2FsbHkgcHJpdmlsZWdlZCBpbmZvcm1hdGlv biBhbmQgaXMgZm9yIHRoZSBzb2xlIHVzZSBvZiBpdHMgaW50ZW5kZWQgcmVjaXBpZW50LiBBbnkg dW5hdXRob3JpemVkIHJldmlldywgdXNlLCBjb3B5aW5nIG9yIGZvcndhcmRpbmcgb2YgdGhpcyBl bWFpbCBvciB0aGUgY29udGVudCBvZiB0aGlzIGVtYWlsIGlzIHN0cmljdGx5IHByb2hpYml0ZWQu DQoNCg0KDQoNCg0K5L+d5a+G5aOw5piO77yaDQrmnKzpgq7ku7blkKvmnInkv53lr4bmiJbkuJPm nInkv6Hmga/vvIzku4XkvpvmjIflrprmlLbku7bkurrkvb/nlKjjgILkuKXnpoHlr7nmnKzpgq7k u7bmiJblhbblhoXlrrnlgZrku7vkvZXmnKrnu4/mjojmnYPnmoTmn6XpmIXjgIHkvb/nlKjjgIHl pI3liLbmiJbovazlj5HjgIINCkNPTkZJREVOVElBTCBOT1RFOg0KVGhpcyBlbWFpbCBjb250YWlu cyBjb25maWRlbnRpYWwgb3IgbGVnYWxseSBwcml2aWxlZ2VkIGluZm9ybWF0aW9uIGFuZCBpcyBm b3IgdGhlIHNvbGUgdXNlIG9mIGl0cyBpbnRlbmRlZCByZWNpcGllbnQuIEFueSB1bmF1dGhvcml6 ZWQgcmV2aWV3LCB1c2UsIGNvcHlpbmcgb3IgZm9yd2FyZGluZyBvZiB0aGlzIGVtYWlsIG9yIHRo ZSBjb250ZW50IG9mIHRoaXMgZW1haWwgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4NCg0KDQoNCg==