From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.107.81.133; helo=nam01-by2-obe.outbound.protection.outlook.com; envelope-from=christopher.co@microsoft.com; receiver=edk2-devel@lists.01.org Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-eopbgr810133.outbound.protection.outlook.com [40.107.81.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 7FCAB21180F46 for ; Fri, 2 Nov 2018 16:55:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BPAV9XEAXYfE6v1KRLZhyXC2C00hBMuVTRtzWA3TOsQ=; b=BE+e4it7Pb6B/FV1otmstjxWnDFUzs1j6R/j08qKd5WLAf4iKovmc9Ct9J1XOcYeETTsqfsA4dwwcu1brjKfEoJcUhWxiNjg6ChW4er+O2l1b/+LcvWd0sZHyOdMetbwCs3DOJBVqLJEwzuGF0OqA7cWNW5goiIhRe4HCEzMoOQ= Received: from DM5PR2101MB1128.namprd21.prod.outlook.com (52.132.133.20) by DM5PR2101MB0886.namprd21.prod.outlook.com (52.132.132.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.8; Fri, 2 Nov 2018 23:55:45 +0000 Received: from DM5PR2101MB1128.namprd21.prod.outlook.com ([fe80::a5e3:1236:5d97:60a7]) by DM5PR2101MB1128.namprd21.prod.outlook.com ([fe80::a5e3:1236:5d97:60a7%6]) with mapi id 15.20.1294.014; Fri, 2 Nov 2018 23:55:45 +0000 From: Chris Co To: Sumit Garg CC: Leif Lindholm , "edk2-devel@lists.01.org" , Ard Biesheuvel , Michael D Kinney , "tee-dev@lists.linaro.org" Thread-Topic: [PATCH edk2-platforms 01/27] Platform/Microsoft: Add OpteeClientPkg dec Thread-Index: AQHUUYS21ey30s1HOESZEQCxUptORKU6EZyAgADuJACAAOB2oIAAVWGAgADZQ1A= Date: Fri, 2 Nov 2018 23:55:45 +0000 Message-ID: References: <20180921082542.35768-1-christopher.co@microsoft.com> <20180921082542.35768-2-christopher.co@microsoft.com> <20181031204305.mkivnbhnna4niy2g@bivouac.eciton.net> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Owner=chrco@microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2018-11-02T23:55:43.5383127Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Application=Microsoft Azure Information Protection; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Extended_MSFT_Method=Automatic; Sensitivity=General x-originating-ip: [2001:4898:80e8:f:2842:dd19:2513:486c] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DM5PR2101MB0886; 6:awwSWO+wlEMbHnHws5caWZ38g2Ch65tQPEhQDpI2klFObzRzamZGPDDNECD5iOXeq00kEDFG1aMR6PyKj3C+TnGy1NwZPhVSWoOZ0gUwoC1AVY7rjrPAa2Nkbd4JDTLJxR6qd+5Ha4l/FXZPwOCNgvhdY0gtw1eMf1F0ObsicMxAkH/lEqJXMkqNcVg1R2/BWF+oUL3qtg2ZxfSuWmwlk6di+VtFGW2nyoUIkRXGWqtDR5BRLH3gmHT28XA8lE4jRvM5IzBnNnp+BlebrV6oKENVcCUgh+Q/HMghm+i7I1oVX48UifRfg9nQCYwADR50J/Cd4zlUrcvUmrAk7kAxbs4kurBM2pduQbPVHdHePeBIlNmLrEpELGShHA4rfUraCvD15i+knHBnluKCiet6CQBYE8MTE89HbfjkJ+dErVmrPgIu6Q+vNqMjsdtCPSsqgPRNmI5+jeZqwIVnWgf1qg==; 5:iNil6SlFBRlhB3aZNz3MyRbyLjg/oq3Nc+Gw5Ign34GMU1ailOHNJhXDVI6G0dZDIg9Btig1ybCavgbCR1Glsw6bXXJTHHceS1VHwuZpnE5/+LJUWatpiuf9xX5M5U2ESAvalihzbhTCg3r85916SCGKvkJD2/y6/O0sKda461M=; 7:W90DuX19wUtqS7rZUpM9GaOl84k5NeLdmB54JmY2/iBllguITmhpOdRIvXTtD39/hN1IrhEIQmOTw8Y+TSBjkdK35V/QueeQqac9notnbblqDxrlYCg1qyhZQYQgGomcM8hHUYkB+6pflYIsu6lwwA== x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 25808eb7-0a83-45df-39dc-08d6411eb4b8 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7193020); SRVR:DM5PR2101MB0886; x-ms-traffictypediagnostic: DM5PR2101MB0886: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(162533806227266)(1553240931313)(72170088055959)(219752817060721)(189930954265078)(278428928389397)(28532068793085)(89211679590171)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(8220035)(2401047)(5005006)(8121501046)(3002001)(3231382)(944501410)(4982022)(52105095)(2018427008)(10201501046)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(20161123560045)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:DM5PR2101MB0886; BCL:0; PCL:0; RULEID:; SRVR:DM5PR2101MB0886; x-forefront-prvs: 08444C7C87 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(366004)(39860400002)(136003)(376002)(346002)(47530400004)(199004)(13464003)(189003)(6506007)(10290500003)(74316002)(10090500001)(22452003)(508600001)(6116002)(8936002)(99286004)(11346002)(256004)(4326008)(7736002)(305945005)(54906003)(966005)(6916009)(14444005)(446003)(14454004)(229853002)(5660300001)(16799955002)(316002)(8676002)(25786009)(71190400001)(486006)(71200400001)(81166006)(72206003)(2906002)(76176011)(86612001)(9686003)(53936002)(6346003)(186003)(33656002)(68736007)(2900100001)(86362001)(8990500004)(7696005)(6306002)(55016002)(105586002)(81156014)(6246003)(93886005)(102836004)(6436002)(53546011)(575784001)(97736004)(46003)(106356001)(476003); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR2101MB0886; H:DM5PR2101MB1128.namprd21.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Christopher.Co@microsoft.com; x-microsoft-antispam-message-info: vyUOCQstAxU+IovuZWEJJ4RQ7GACrKm3XKkD69uyJev6yKJXQCUjrDgxqMEdWLZD7rQf0grm6jCfy/BKANYAN6T1iaZx5OqmnyegJLtbMYIz6HXTBgFDWdoYRAfU2SijIb1tENttgaZZw87ijw4Evm5Ufybdnmffs0eE45wAPzoRXNZc99J5KRlhTfmqKgCKTXQKMcQD0kXLfA/MCe20jhLFhErxFed726+AeQdwr0ctJyawJuzjj5p6IBBgvv2n6WDRX6P2TnYsGuQGJtj4IoqPbf/amUHK+dHG9ysK4g0ZMqQ4VBg4CP7mlOcvm6xBEpQ93faA2+VeEVOJqdTzBqui8HST9io+3eOCFO779eg= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25808eb7-0a83-45df-39dc-08d6411eb4b8 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2018 23:55:45.4409 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR2101MB0886 Subject: Re: [PATCH edk2-platforms 01/27] Platform/Microsoft: Add OpteeClientPkg dec X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Nov 2018 23:55:47 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgU3VtaXQsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogU3VtaXQg R2FyZyA8c3VtaXQuZ2FyZ0BsaW5hcm8ub3JnPg0KPiBTZW50OiBUaHVyc2RheSwgTm92ZW1iZXIg MSwgMjAxOCAxMDoyNCBQTQ0KPiBUbzogQ2hyaXMgQ28gPENocmlzdG9waGVyLkNvQG1pY3Jvc29m dC5jb20+DQo+IENjOiBMZWlmIExpbmRob2xtIDxsZWlmLmxpbmRob2xtQGxpbmFyby5vcmc+OyBl ZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsgQXJkDQo+IEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVs QGxpbmFyby5vcmc+OyBNaWNoYWVsIEQgS2lubmV5DQo+IDxtaWNoYWVsLmQua2lubmV5QGludGVs LmNvbT47IHRlZS1kZXZAbGlzdHMubGluYXJvLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIGVk azItcGxhdGZvcm1zIDAxLzI3XSBQbGF0Zm9ybS9NaWNyb3NvZnQ6IEFkZA0KPiBPcHRlZUNsaWVu dFBrZyBkZWMNCj4gDQo+ICsgT1AtVEVFIE1MLg0KPiANCj4gT24gRnJpLCAyIE5vdiAyMDE4IGF0 IDA2OjExLCBDaHJpcyBDbyA8Q2hyaXN0b3BoZXIuQ29AbWljcm9zb2Z0LmNvbT4gd3JvdGU6DQo+ ID4NCj4gPiBIaSBTdW1pdCwNCj4gPg0KPiA+IE91ciBmdWxsIE9wdGVlQ2xpZW50UGtnIGhhczoN Cj4gPiAtIE91ciBPcHRlZUNsaWVudEFQSSBpbXBsZW1lbnRhdGlvbi4gSSB3YXMgbW9uaXRvcmlu ZyB0aGUgbWVyZ2UgcHJvZ3Jlc3MNCj4gb24gT3B0ZWVMaWIgYW5kIHdpbGwgbG9vayBpbnRvIG1v dmluZyBvdmVyIG5vdyB0aGF0IGl0IGlzIGF2YWlsYWJsZS4NCj4gPiAtIFRoZSBmVFBNIGFuZCBB dXRoVmFyIFRBIGJpbmFyaWVzLiBJbiBvdXIgY3VycmVudCBkZXNpZ24sIHRoZSBUQSBiaW5hcmll cw0KPiBhcmUgbG9hZGVkIGF0IHJ1bnRpbWUuIFdlIGNvdWxkIGhvc3QgdGhlIGJpbmFyaWVzIHRo ZW1zZWx2ZXMgZWxzZXdoZXJlIG9uDQo+IHRoZSBmaWxlc3lzdGVtLCBidXQgd2UgZG8gbm90IHdh bnQgdGhlc2UgYmluYXJpZXMgYXMgZWFybHkvcHNldWRvIFRBcy4gSXMNCj4gdGhlcmUgYSBwbGFu IGZvciBPcHRlZUxpYiB0byBzdXBwb3J0IGxvYWRpbmcgZnVsbCBUQXM/DQo+IA0KPiBFYXJseSBU QXMgWzFdIGFyZSBiYXNpY2FsbHkgZnVsbCBUQXMgb25seSwgcnVubmluZyBpbiBTZWN1cmUgRUww IG1vZGUuDQo+IFNvIGluc3RlYWQgb2YgbG9hZGluZyBUQSBmcm9tIG5vcm1hbCB3b3JsZCBmaWxl LXN5c3RlbSwgdGhleSBhcmUgbGlua2VkIGludG8gYQ0KPiBzcGVjaWFsIGRhdGEgc2VjdGlvbiBp biB0aGUgT1AtVEVFIGNvcmUgYmxvYi4NCj4gDQo+IEFsc28gSSBkb24ndCB0aGluayBsb2FkaW5n IFRBcyBkeW5hbWljYWxseSBlc3BlY2lhbGx5IGR1cmluZyBib290IG1ha2VzIG11Y2gNCj4gc2Vu c2UgZHVlIHRvIGZvbGxvd2luZyByZWFzb25zOg0KPiAxLiBJbmNyZWFzZWQgYm9vdCB0aW1lLg0K PiAyLiBGaXhlZCBUQXMgbGlrZSBpbiB5b3VyIGNhc2Ugd2hpY2ggY291bGQgYmUgbGlua2VkIGFz IGVhcmx5IFRBcyBhcyB3ZWxsLg0KPiANCg0KV2UgcHJlZmVyIHRvIGxvYWQgVEFzIGR5bmFtaWNh bGx5IGZvciBhIG1vcmUgZmxleGlibGUgc2VydmljaW5nIHN0b3J5LiBNeSB1bmRlcnN0YW5kaW5n IGlzIHRoYXQgRWFybHkgVEFzIGFyZSBjb3VwbGVkIHdpdGggdGhlIE9QLVRFRSBiaW5hcnkgaXRz ZWxmLCBzbyB0byB1cGRhdGUgYW4gRWFybHkgVEEsIGEgbmV3IE9QLVRFRSBiaW5hcnkgd291bGQg bmVlZCB0byBiZSBjcmVhdGVkIGFuZCBwdXNoZWQuIFdlIHdhbnQgdG8gYXZvaWQgcm9sbGluZyBh IG5ldyBPUC1URUUgYW5kIG9ubHkgdXBkYXRlIHRoZSBUQSBiaW5hcnkgaW4gdGhpcyBzY2VuYXJp by4NCg0KPiBBbmQgeW91IG1lbnRpb25lZCBmaWxlc3lzdGVtLCBhcmUgeW91IHJlZmVycmluZyB0 byByb290IGZpbGVzeXN0ZW0/DQo+IA0KDQpXZSBoYXZlIG5vdCBpbXBsZW1lbnRlZCB0aGlzIHll dCwgYnV0IHdlIHdlcmUgdGhpbmtpbmcgdG8gaGF2ZSB0aGUgVEEgYmluYXJpZXMgcHJlc2VudCBp biB0aGUgRUZJIHBhcnRpdGlvbi4NCg0KPiA+IC0gV2UgaGF2ZSB0d28gY2xpZW50IGRyaXZlcnM6 IGEgZmlybXdhcmUgVFBNIFRBIGRyaXZlciBhbmQgYW4NCj4gYXV0aGVudGljYXRlZCB2YXJpYWJs ZSBUQSBkcml2ZXIuIFRoZXNlIHRhbGsgdGhyb3VnaCB0aGUgdGVlLXN1cHBsaWNhbnQgdG8NCj4g dGhlaXIgcmVzcGVjdGl2ZSBUQXMuDQo+ID4NCj4gDQo+IEhlcmUgZnJvbSB0ZWUtc3VwcGxpY2Fu dCBhcGFydCBmcm9tIGxvYWRpbmcgVEFzLCB3aGF0IG90aGVyIHNlcnZpY2VzIGFyZSB5b3UNCj4g ZXhwZWN0aW5nPyBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIHNlY3VyZSBzdG9yYWdlIHZpYSBSUE1C LCB0aGF0IGNvdWxkIGJlIGFuDQo+IGVuaGFuY2VtZW50IHRvIE9wdGVlTGliIGFkZGluZyBjb3Jy ZXNwb25kaW5nIFJQQyBoYW5kbGluZyBoZXJlIFsyXS4NCj4gDQoNCkZvciBSUEMgaGFuZGxpbmcs IHdlIGFyZSBsb29raW5nIGZvciB0aGUgZm9sbG93aW5nIGNhbGxiYWNrIHN1cHBvcnQ6DQotIE9Q VEVFX1NNQ19SUENfRlVOQ19BTExPQw0KLSBPUFRFRV9TTUNfUlBDX0ZVTkNfRlJFRQ0KLSBPUFRF RV9TTUNfUlBDX0ZVTkNfQ01EDQoJLSBPUFRFRV9NU0dfUlBDX0NNRF9MT0FEX1RBDQoJLSBPUFRF RV9NU0dfUlBDX0NNRF9SUE1CDQoJLSBPUFRFRV9NU0dfUlBDX0NNRF9HRVRfVElNRQ0KCS0gT1BU RUVfTVNHX1JQQ19DTURfU0hNX0FMTE9DDQoJLSBPUFRFRV9NU0dfUlBDX0NNRF9TSE1fRlJFRQ0K CS0gT1BURUVfTVNHX1JQQ19DTURfV0FJVF9RVUVVRQ0KDQpUaGFua3MsDQpDaHJpcw0KDQo+IFsx XQ0KPiBodHRwczovL25hMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1o dHRwcyUzQSUyRiUyRmdpdGh1Yi5jDQo+IG9tJTJGT1AtDQo+IFRFRSUyRm9wdGVlX29zJTJGYmxv YiUyRm1hc3RlciUyRmRvY3VtZW50YXRpb24lMkZvcHRlZV9kZXNpZ24ubWQNCj4gJTIzZWFybHkt dHJ1c3RlZC0NCj4gYXBwbGljYXRpb25zJmFtcDtkYXRhPTAyJTdDMDElN0NDaHJpc3RvcGhlci5D byU0MG1pY3Jvc29mdC5jb20lN0M0YQ0KPiA3ZDhjMDFlNDgwNDM2NWY0ZWIwOGQ2NDA4MzdhMTUl N0M3MmY5ODhiZjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0NyUNCj4gN0MxJTdDMCU3QzYzNjc2NzMz MDc3OTk5ODQyOSZhbXA7c2RhdGE9eWFEV3c1WjZ5dXV4MW84OWt4emJrblZwDQo+IGIlMkIxT0hV YWdiQiUyRk9HUzRkQWNVJTNEJmFtcDtyZXNlcnZlZD0wDQo+IFsyXQ0KPiBodHRwczovL25hMDEu c2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmdpdGh1 Yi5jDQo+IG9tJTJGdGlhbm9jb3JlJTJGZWRrMiUyRmJsb2IlMkZtYXN0ZXIlMkZBcm1Qa2clMkZM aWJyYXJ5JTJGT3B0ZWVMDQo+IGliJTJGT3B0ZWUuYyUyM0wxNDcmYW1wO2RhdGE9MDIlN0MwMSU3 Q0NocmlzdG9waGVyLkNvJTQwbWljcm9zb2Z0LmMNCj4gb20lN0M0YTdkOGMwMWU0ODA0MzY1ZjRl YjA4ZDY0MDgzN2ExNSU3QzcyZjk4OGJmODZmMTQxYWY5MWFiMmQ3Y2QNCj4gMDExZGI0NyU3QzEl N0MwJTdDNjM2NzY3MzMwNzc5OTk4NDI5JmFtcDtzZGF0YT1Mc3BsYjFMN1VnZDJDNmNYRw0KPiA4 Z0JvNDBFaThVUVB0SUE3Zk5FREwxdCUyRmJnJTNEJmFtcDtyZXNlcnZlZD0wDQo+IA0KPiBSZWdh cmRzLA0KPiBTdW1pdA0KPiANCj4gPiBDaHJpcw0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogU3VtaXQgR2FyZyA8c3VtaXQuZ2FyZ0BsaW5hcm8ub3Jn Pg0KPiA+ID4gU2VudDogVGh1cnNkYXksIE5vdmVtYmVyIDEsIDIwMTggMzo1NSBBTQ0KPiA+ID4g VG86IENocmlzIENvIDxDaHJpc3RvcGhlci5Db0BtaWNyb3NvZnQuY29tPjsgTGVpZiBMaW5kaG9s bQ0KPiA+ID4gPGxlaWYubGluZGhvbG1AbGluYXJvLm9yZz4NCj4gPiA+IENjOiBlZGsyLWRldmVs QGxpc3RzLjAxLm9yZzsgQXJkIEJpZXNoZXV2ZWwNCj4gPiA+IDxhcmQuYmllc2hldXZlbEBsaW5h cm8ub3JnPjsgTWljaGFlbCBEIEtpbm5leQ0KPiA+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPg0KPiA+ID4gU3ViamVjdDogUmU6IFtQQVRDSCBlZGsyLXBsYXRmb3JtcyAwMS8yN10gUGxh dGZvcm0vTWljcm9zb2Z0OiBBZGQNCj4gPiA+IE9wdGVlQ2xpZW50UGtnIGRlYw0KPiA+ID4NCj4g PiA+IEhpIENocmlzdG9waGVyLA0KPiA+ID4NCj4gPiA+IE9wdGVlIENsaWVudCBsaWJyYXJ5IGhh cyByZWNlbnRseSBiZWVuIG1lcmdlZCB0byBlZGsyIHNvdXJjZSBjb2RlLg0KPiA+ID4gSXQgdHJp ZXMgdG8gcHJvdmlkZSBhIGdlbmVyaWMgaW50ZXJmYWNlIFsxXSB0byBPUC1URUUgYmFzZWQgdHJ1 c3RlZA0KPiA+ID4gYXBwbGljYXRpb25zIChwc2V1ZG8vZWFybHkpLg0KPiA+ID4NCj4gPiA+IEFG QUlLLCB5b3UgZG9uJ3QgbmVlZCBhbnkgcGxhdGZvcm0gc3BlY2lmaWMgaG9vayBpbiBjbGllbnQg aW50ZXJmYWNlDQo+ID4gPiB0byB3b3JrIHdpdGggdXBzdHJlYW0gT1AtVEVFLiBTbyBpbnN0ZWFk IHlvdSBzaG91bGQgdXNlIE9wdGVlIGxpYnJhcnkuDQo+ID4gPg0KPiA+ID4gWzFdDQo+ID4gPiBo dHRwczovL25hMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUz QSUyRiUyRmdpdA0KPiA+ID4gaHViLmMNCj4gPiA+DQo+IG9tJTJGdGlhbm9jb3JlJTJGZWRrMiUy RmJsb2IlMkZtYXN0ZXIlMkZBcm1Qa2clMkZJbmNsdWRlJTJGTGlicmFyeQ0KPiA+ID4NCj4gJTJG T3B0ZWVMaWIuaCZhbXA7ZGF0YT0wMiU3QzAxJTdDQ2hyaXN0b3BoZXIuQ28lNDBtaWNyb3NvZnQu Y29tJTdDDQo+ID4gPg0KPiBjMTliODRlZjdmOGY0MjEzNDI0MTA4ZDYzZmU4OGY2NiU3QzcyZjk4 OGJmODZmMTQxYWY5MWFiMmQ3Y2QwMTFkYjQ3DQo+ID4gPg0KPiAlN0MxJTdDMCU3QzYzNjc2NjY2 NTQwNDc4NjUwMCZhbXA7c2RhdGE9bTI0YWtiS3RveUNFUlZONzdtZW9TVQ0KPiA+ID4gSDZFJTJC cGY4VzJQNU1GN252VTV5N0klM0QmYW1wO3Jlc2VydmVkPTANCj4gPiA+DQo+ID4gPiBSZWdhcmRz LA0KPiA+ID4gU3VtaXQNCj4gPiA+DQo+ID4gPiBPbiBUaHUsIDEgTm92IDIwMTggYXQgMDI6MTMs IExlaWYgTGluZGhvbG0gPGxlaWYubGluZGhvbG1AbGluYXJvLm9yZz4NCj4gd3JvdGU6DQo+ID4g PiA+DQo+ID4gPiA+ICtTdW1pdCAoanVzdCB0byBsb29wIHlvdSB0d28gdG9nZXRoZXIpLiBJcyB0 aGVyZSBhbnl0aGluZw0KPiA+ID4gPiArTWljcm9zb2Z0DQo+ID4gPiA+IHBsYXRmb3JtIHNwZWNp ZmljIGFib3V0IHdoYXQgd2lsbCBnbyBpbiBoZXJlPw0KPiA+ID4gPg0KPiA+ID4gPiAvDQo+ID4g PiA+ICAgICBMZWlmDQo+ID4gPiA+DQo+ID4gPiA+IE9uIEZyaSwgU2VwIDIxLCAyMDE4IGF0IDA4 OjI1OjUzQU0gKzAwMDAsIENocmlzIENvIHdyb3RlOg0KPiA+ID4gPiA+IE9uIFdpbmRvd3MgSW9U IENvcmUgZGV2aWNlcyB3aXRoIEFSTSBUcnVzdFpvbmUgY2FwYWJpbGl0aWVzLA0KPiA+ID4gPiA+ IEVESzIgcnVucyBpbiBub3JtYWwgd29ybGQgYW5kIHdlIHVzZSBPUC1URUUgdG8gZXhlY3V0ZSBz ZWN1cmUNCj4gPiA+ID4gPiB3b3JsZCBvcGVyYXRpb25zLiBUaGUgb3ZlcmFsbCBwYWNrYWdlIHdp bGwgY29udGFpbiBjbGllbnQtc2lkZQ0KPiA+ID4gPiA+IHN1cHBvcnQgdG8gaW52b2tlIEVESzIg c2VydmljZXMgaW1wbGVtZW50ZWQgYXMgT1AtVEVFIHRydXN0ZWQNCj4gPiA+ID4gPiBhcHBsaWNh dGlvbnMgdGhhdCBydW4gaW4gc2VjdXJlIHdvcmxkLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhp cyBjb21taXQgYWRkcyB0aGUgaW5pdGlhbCBkZWMgZmlsZSB0byBhZGQgc29tZSBQQ0Qgc2V0dGlu Z3MNCj4gPiA+ID4gPiBuZWVkZWQgYnkgb3RoZXIgcGFja2FnZXMuDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiBDb250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQg MS4xDQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoZXIgQ28gPGNocmlzdG9waGVy LmNvQG1pY3Jvc29mdC5jb20+DQo+ID4gPiA+ID4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmll c2hldXZlbEBsaW5hcm8ub3JnPg0KPiA+ID4gPiA+IENjOiBMZWlmIExpbmRob2xtIDxsZWlmLmxp bmRob2xtQGxpbmFyby5vcmc+DQo+ID4gPiA+ID4gQ2M6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hh ZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ICBQbGF0Zm9y bS9NaWNyb3NvZnQvT3B0ZWVDbGllbnRQa2cvT3B0ZWVDbGllbnRQa2cuZGVjIHwgNDkNCj4gPiA+ ID4gPiArKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgNDkg aW5zZXJ0aW9ucygrKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiA+ IGEvUGxhdGZvcm0vTWljcm9zb2Z0L09wdGVlQ2xpZW50UGtnL09wdGVlQ2xpZW50UGtnLmRlYw0K PiA+ID4gPiA+IGIvUGxhdGZvcm0vTWljcm9zb2Z0L09wdGVlQ2xpZW50UGtnL09wdGVlQ2xpZW50 UGtnLmRlYw0KPiA+ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4gaW5kZXgg MDAwMDAwMDAwMDAwLi40NzUyZWFiMzljZTMNCj4gPiA+ID4gPiAtLS0gL2Rldi9udWxsDQo+ID4g PiA+ID4gKysrIGIvUGxhdGZvcm0vTWljcm9zb2Z0L09wdGVlQ2xpZW50UGtnL09wdGVlQ2xpZW50 UGtnLmRlYw0KPiA+ID4gPiA+IEBAIC0wLDAgKzEsNDkgQEANCj4gPiA+ID4gPiArIyMgQGZpbGUN Cj4gPiA+ID4gPiArIw0KPiA+ID4gPiA+ICsjICBPUC1URUUgY2xpZW50IHBhY2thZ2UNCj4gPiA+ ID4gPiArIw0KPiA+ID4gPiA+ICsjICBPUC1URUUgY2xpZW50IHBhY2thZ2UgY29udGFpbnMgdGhl IGNsaWVudC1zaWRlIGludGVyZmFjZSB0bw0KPiA+ID4gPiA+ICtpbnZva2UgT1AtDQo+ID4gPiBU RUUgVEFzLg0KPiA+ID4gPiA+ICsjICBDZXJ0YWluIEVES0lJIHNlcnZpY2VzIGFyZSBpbXBsZW1l bnRlZCBpbiBUcnVzdGVkDQo+ID4gPiA+ID4gK0FwcGxpY2F0aW9ucyBydW5uaW5nIGluICMgIHRo ZSBzZWN1cmUgd29ybGQgT1AtVEVFIE9TLg0KPiA+ID4gPiA+ICsjDQo+ID4gPiA+ID4gKyMgIENv cHlyaWdodCAoYykgMjAxOCBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQuDQo+ID4gPiA+ID4gKyMNCj4gPiA+ID4gPiArIyAgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNj b21wYW55aW5nIG1hdGVyaWFscyAjICBhcmUgbGljZW5zZWQNCj4gPiA+ID4gPiArYW5kIG1hZGUg YXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEDQo+ID4g PiA+ID4gK0xpY2Vuc2UgIyB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRo ZSBmdWxsIHRleHQNCj4gPiA+ID4gPiArb2YgdGhlIGxpY2Vuc2UgbWF5IGJlIGZvdW5kIGF0ICMN Cj4gPiA+ID4gPiAraHR0cHM6Ly9uYTAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29t Lz91cmw9aHR0cCUzQSUyRiUyDQo+ID4gPiA+ID4gK0ZvcGUNCj4gPiA+ID4gPiArbnNvdXJjZS5v cmclMkZsaWNlbnNlcyUyRmJzZC0NCj4gPiA+IGxpY2Vuc2UucGhwJmFtcDtkYXRhPTAyJTdDMDEl N0NDaHJpc3RvDQo+ID4gPiA+ID4NCj4gPiA+DQo+ICtwaGVyLkNvJTQwbWljcm9zb2Z0LmNvbSU3 Q2MxOWI4NGVmN2Y4ZjQyMTM0MjQxMDhkNjNmZTg4ZjY2JTdDNzJmOTg4DQo+ID4gPiA+ID4NCj4g PiA+DQo+ICtiZjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0NyU3QzElN0MwJTdDNjM2NzY2NjY1NDA0 Nzg2NTAwJmFtcDtzZGENCj4gPiA+IHRhPTENCj4gPiA+ID4gPg0KPiArTXhGdmxzTVBoazE5Z3JF ZXhCWG81VnFSZDBqWmFDU1JqeFpDaTg3QTJ3JTNEJmFtcDtyZXNlcnZlZD0wDQo+ID4gPiA+ID4g KyMNCj4gPiA+ID4gPiArIyAgVEhFIFBST0dSQU0gSVMgRElTVFJJQlVURUQgVU5ERVIgVEhFIEJT RCBMSUNFTlNFIE9OIEFOICJBUw0KPiBJUyINCj4gPiA+ID4gPiArQkFTSVMsICMgIFdJVEhPVVQg V0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlMgT0YgQU5ZIEtJTkQsDQo+ID4gPiBFSVRIRVIg RVhQUkVTUyBPUiBJTVBMSUVELg0KPiA+ID4gPiA+ICsjDQo+ID4gPiA+ID4gKyMjDQo+ID4gPiA+ ID4gKw0KPiA+ID4gPiA+ICtbRGVmaW5lc10NCj4gPiA+ID4gPiArICBERUNfU1BFQ0lGSUNBVElP TiAgICAgICAgICAgICAgPSAweDAwMDEwMDFBDQo+ID4gPiA+ID4gKyAgUEFDS0FHRV9OQU1FICAg ICAgICAgICAgICAgICAgID0gT3B0ZWVDbGllbnRQa2cNCj4gPiA+ID4gPiArICBQQUNLQUdFX0dV SUQgICAgICAgICAgICAgICAgICAgPSA3NzQxNmZjYi0xMGVjLTQ2OTMtYmRjMC0NCj4gMWJkZDc0 ZWM5NTk1DQo+ID4gPiA+ID4gKyAgUEFDS0FHRV9WRVJTSU9OICAgICAgICAgICAgICAgID0gMC4w MQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArW0luY2x1ZGVzXQ0KPiA+ID4gPiA+ICsNCj4gPiA+ ID4gPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArW0d1aWRzXQ0K PiA+ID4gPiA+ICsgIGdPcHRlZUNsaWVudFBrZ1Rva2VuU3BhY2VHdWlkICAgPSB7IDB4MDRhZDM0 Y2EsIDB4ZGQyNSwgMHg0MTU2LCB7DQo+ID4gPiAweDkwLCAweGY1LCAweDE2LCAweGY5LCAweDQw LCAweGQwLCAweDQ5LCAweGUzIH19DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICtbUGNkc0ZpeGVk QXRCdWlsZF0NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4NCj4gPiA+DQo+ICtnT3B0ZWVDbGllbnRQ a2dUb2tlblNwYWNlR3VpZC5QY2RUcG0yQWNwaUJ1ZmZlckJhc2V8MHxVSU5UNjR8MHgwMDAwDQo+ ID4gPiA+ID4gKzAwMDUNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4NCj4gPiA+DQo+ICtnT3B0ZWVD bGllbnRQa2dUb2tlblNwYWNlR3VpZC5QY2RUcG0yQWNwaUJ1ZmZlclNpemV8MHxVSU5UMzJ8MHgw MDAwDQo+ID4gPiA+ID4gKzAwMDYNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgIyMgVGhlIGJh c2UgYWRkcmVzcyBvZiB0aGUgVHJ1c3QgWm9uZSBPcFRFRSBPUyBwcml2YXRlIG1lbW9yeQ0KPiA+ ID4gPiA+ICsgcmVnaW9uICAjIFRoaXMgbWVtb3J5IGlzIG1hbmFnZXIgcHJpdmF0ZWx5IGJ5IHRo ZSBPcFRFRSBPUy4NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKw0KPiA+ID4NCj4gZ09wdGVlQ2xp ZW50UGtnVG9rZW5TcGFjZUd1aWQuUGNkVHJ1c3Rab25lUHJpdmF0ZU1lbW9yeUJhc2V8MHhERUFE DQo+ID4gPiA+ID4gKyAxfFVJTlQ2NHwweDAwMDAwMDAxDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ ICsgICMjIFRoZSBzaXplIG9mIHRoZSBUcnVzdCBab25lIE9wVEVFIE9TIHByaXZhdGUgbWVtb3J5 IHJlZ2lvbg0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArDQo+ID4gPiBnT3B0ZWVDbGllbnRQa2dU b2tlblNwYWNlR3VpZC5QY2RUcnVzdFpvbmVQcml2YXRlTWVtb3J5U2l6ZXw1NXxVSU4NCj4gPiA+ ID4gPiArIFQ2NHwweDAwMDAwMDAyDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICMjIFRoZSBi YXNlIGFkZHJlc3Mgb2YgdGhlIFRydXN0IFpvbmUgT3BURUUgT1Mgc2hhcmVkIG1lbW9yeQ0KPiA+ ID4gPiA+ICsgcmVnaW9uDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsNCj4gPiA+DQo+IGdPcHRl ZUNsaWVudFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRydXN0Wm9uZVNoYXJlZE1lbW9yeUJhc2V8MHhE RUFEMg0KPiA+ID4gPiA+ICsgfFVJTlQ2NHwweDAwMDAwMDAzDQo+ID4gPiA+ID4gKw0KPiA+ID4g PiA+ICsgICMjIFRoZSBzaXplIG9mIHRoZSBUcnVzdCBab25lIE9wVEVFIE9TIHNoYXJlZCBtZW1v cnkgcmVnaW9uDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsNCj4gPiA+DQo+IGdPcHRlZUNsaWVu dFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRydXN0Wm9uZVNoYXJlZE1lbW9yeVNpemV8MHhBQXxVSQ0K PiA+ID4gPiA+ICsgTlQ2NHwweDAwMDAwMDA0DQo+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiAyLjE2 LjIuZ3Zmcy4xLjMzLmdmNTM3MGYxDQo+ID4gPiA+ID4NCg==