From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: References: <20200227120206.8592-1-a.fatoum@pengutronix.de> From: Ahmad Fatoum Message-ID: <1197dc51-b176-b40a-a19d-6a35a2434d07@pengutronix.de> Date: Thu, 19 Mar 2020 17:20:29 +0100 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Subject: Re: [ptxdist] [PATCH v4] tf-a: new package for ARM trusted firmware A List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: Guillermo Rodriguez Garcia , ptxdist@pengutronix.de Cc: Alejandro Vazquez , Michael Tretter T24gMy8xOS8yMCA1OjE2IFBNLCBHdWlsbGVybW8gUm9kcmlndWV6IEdhcmNpYSB3cm90ZToKPiBI aSBhbGwsCj4gCj4gVGhpcyBzZWVtcyB0byBiZSBpbiBwcmV0dHkgZ29vZCBzaGFwZSBub3c7IHdp bGwgdGhpcyBiZSBtZXJnZWQgPwoKQWxleGFuZGVyIERhaGwgc3BvdHRlZCBhbiBpc3N1ZSB3aGVu IGhlIGJ1aWx0IGl0IGFsb25nIHdpdGggRGlzdHJvS2l0LgpJIHdpbGwgcG9zdCBhIHY1LgoKQ2hl ZXJzLAoKPiAKPiBHdWlsbGVybW8KPiAKPiBFbCBqdWUuLCAyNyBmZWIuIDIwMjAgYSBsYXMgMTM6 MDIsIEFobWFkIEZhdG91bQo+ICg8YS5mYXRvdW1AcGVuZ3V0cm9uaXguZGU+KSBlc2NyaWJpw7M6 Cj4+Cj4+IFRydXN0ZWQgRmlybXdhcmUtQSAoVEYtQSkgaXMgYSByZWZlcmVuY2UgaW1wbGVtZW50 YXRpb24gb2Ygc2VjdXJlIHdvcmxkCj4+IHNvZnR3YXJlIGZvciBBcm0gQS1Qcm9maWxlIGFyY2hp dGVjdHVyZXMgKEFybXY4LUEgYW5kIEFybXY3LUEpLgo+Pgo+PiBDYzogQWxlamFuZHJvIFZhenF1 ZXogPGF2YXpxdWV6LmRldkBnbWFpbC5jb20+Cj4+IFRlc3RlZC1ieTogTWljaGFlbCBUcmV0dGVy IDxtLnRyZXR0ZXJAcGVuZ3V0cm9uaXguZGU+Cj4+IFNpZ25lZC1vZmYtYnk6IFJvdXZlbiBDemVy d2luc2tpIDxyb3V2ZW5AY3plcndpbnNraXMuZGU+Cj4+IFNpZ25lZC1vZmYtYnk6IEFobWFkIEZh dG91bSA8YS5mYXRvdW1AcGVuZ3V0cm9uaXguZGU+Cj4+IC0tLQo+PiB2MyAtPiB2NDoKPj4gICAt IEZpeGVkIGxpY2Vuc2Ugc3RhdGVtZW50IChSb2xhbmQsIFBoaWxpcHApCj4+ICAgLSBGaXhlZCB0 eXBvIGluIEtjb25maWcgZGVzY3JpcHRpb24gc3RyaW5nIChQaGlsaXBwKQo+PiAgIC0gUmVtb3Zl IGNvbW1lbnRlZCBvdXQgVEZfQV9ERUJVRyAoUGhpbGlwcCwgbW9sKQo+PiAgIC0gQWRkZWQgbm9u LWNvbW1lbnRlZCBvdXQgVEZfQV9SRUxBU0UgKG15c2VsZikKPj4gICAtIEFkZGVkIE1pY2hhZWwg VHJldHRlcidzIFRlc3RlZC1ieQo+PiB2MiAtPiB2MzoKPj4gICAtIHNvcnRlZCB2ZXJzaW9uIGFu ZCBtZDUgS2NvbmZpZyBvcHRpb25zIHRvIHRvcCAobW9sKQo+PiAgIC0gQWRkZWQgdHJhaWxpbmcg c3BhY2VzIHRvIGFsaWduIGFycm93IGFmdGVyIG1haW4gcHJvbXB0IChtb2wpCj4+ICAgLSBDaGFu Z2VkIFRGX0FfVkVSU0lPTiBoZWxwIHRleHQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgdmVyc2lvbiBj YW4gYmUgYW55Cj4+ICAgICBnaXQgY29tbWl0c2gKPj4gICAtIFJlbW92ZWQgZGVmYXVsdCB2YWx1 ZSBmb3IgVEZfQV9BUlRJRkFDVFMgKG1vbCkKPj4gICAtIGludGVncmF0ZWQgVEZfQV9WRVJTSU9O IGludG8gQlVJTERfU1RSSU5HIG9mIHJlc3VsdGluZyBhcnRpZmFjdHMKPj4gICAgIChHdWlsbGVy bW8sIG10cikKPj4gICAtIHVuY29uZGl0aW9uYWwgZXJyb3IgaWYgVEZfQV9BUlRJRkFDVFMgaXMg ZW1wdHkgaW5zdGVhZCBvZiB3YXJuaW5nIGxhdGVyIG9uCj4+ICAgICAobW9sKQo+PiAgIC0gcmVt b3ZlZCBkaXBsaWNhdGUgUHJlcGFyZSBoZWFkZXIgKG1vbCkKPj4gICAtIHJlc29ydGVkIG1ha2Ug dmFyaWFibGUgZGVmaW5pdGlvbnMKPj4gICAtIGF2b2lkIHVucG9ydGFibGUgaW5zdGFsbCAtLXRh cmdldC1kaXJlY3RvcnkgKEd1aWxsZXJtbykKPj4gICAtIGRvY3VtZW50ZWQgc3VwcG9ydCBmb3Ig Z2xvYmJpbmcgaW4gVEZfQV9BUlRJRkFDVFMKPj4gICAtIGRvbid0IGdsb2IgZGVsZXRlIGluIElN QUdFRElSLCBpbnN0ZWFkIGV4cGFuZCB0aGUgZ2xvYiBpbiB0aGUgYnVpbGQKPj4gICAgIGRpcmVj dG9yeSBmaXJzdAo+PiB2MSAtPiB2MjoKPj4gICAtIE1hZGUgVEZfQV9BUkNIX01BSk9SIGNvbmZp Z3VyYWJsZSB0byBzdXBwb3J0IDMyIGJpdCBBUk12OCAoR3VpbGxlcm1vKQo+PiAgIC0gUmVwbGFj ZXMgc3RtMzJtcC1zcGVjaWZpYyBURl9BX0RUQiB3aXRoIFRGX0FfRVhUUkFfQVJHUyB0byBjb250 YWluCj4+ICAgICBhbGwgYm9hcmQvdmVuZG9yIHNwZWNpZmljIG9wdGlvbnMKPj4gICAtIHJlbW92 ZWQgcmVmZXJlbmNlIHRvIG5vIGxvbmdlciBleGlzdGluZyBDUkVESVRTIGZpbGUKPj4gICAtIHJl bW92ZWQgVEZfQV9NQUtFX09QVCBjb250ZW50cyB0aGF0IGFyZSBzZXQgZWxzZXdoZXJlCj4+ICAg LSByZWR1Y2VkIHVzZXMgb2YgKz0gaW4gZmF2b3Igb2YgZGlyZWN0bHkgYXBwZW5kaW5nIHRvIHRo ZSBzdHJpbmcKPj4gICAtIGRlbGV0ZSBvbGQgYnVpbGQgZGlyZWN0b3J5IGluIHByZXBhcmUgaW5z dGVhZCBvZiBjb21waWxlCj4+ICAgLSB1c2UgZGVmYXVsdCBjb21waWxlIHN0YWdlIChHdWlsbGVy bW8pCj4+ICAgLSBpbnN0YWxsIGFydGlmYWN0cyB0byBzeXNyb290IC91c3IvbGliL2Zpcm13YXJl IGluIGluc3RhbGwgc3RhZ2UKPj4gICAtIGluc3RhbGwgYXJ0aWZhY3RzIHRvIElNQUdFRElSIGlu IHRhcmdldGluc3RhbGwKPj4gICAtIGZpeCBjbGVhbiBzdGFnZSB0byBkZWxldGUgcHJvcGVyIGFy dGlmYWN0cwo+PiAtLS0KPj4gIHBsYXRmb3Jtcy90Zi1hLmluIHwgMTQwICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gIHJ1bGVzL3RmLWEubWFrZSAgIHwg MTIyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gIDIgZmlsZXMg Y2hhbmdlZCwgMjYyIGluc2VydGlvbnMoKykKPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0Zm9y bXMvdGYtYS5pbgo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bGVzL3RmLWEubWFrZQo+Pgo+PiBk aWZmIC0tZ2l0IGEvcGxhdGZvcm1zL3RmLWEuaW4gYi9wbGF0Zm9ybXMvdGYtYS5pbgo+PiBuZXcg ZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjNjZGRmNzkwNzk2MAo+PiAt LS0gL2Rldi9udWxsCj4+ICsrKyBiL3BsYXRmb3Jtcy90Zi1hLmluCj4+IEBAIC0wLDAgKzEsMTQw IEBACj4+ICsjIyBTRUNUSU9OPWJvb3Rsb2FkZXIKPj4gKwo+PiArbWVudWNvbmZpZyBURl9BCj4+ ICsgICAgICAgc2VsZWN0IEJPT1RMT0FERVIKPj4gKyAgICAgICBwcm9tcHQgIkFSTSBUcnVzdGVk IEZpcm13YXJlLUEgICAgICAgICIKPj4gKyAgICAgICBkZXBlbmRzIG9uIEFSQ0hfQVJNIHx8IEFS Q0hfQVJNNjQKPj4gKyAgICAgICBib29sCj4+ICsKPj4gK2lmIFRGX0EKPj4gKwo+PiArY29uZmln IFRGX0FfVkVSU0lPTgo+PiArICAgICAgIHN0cmluZwo+PiArICAgICAgIGRlZmF1bHQgInYyLjIi Cj4+ICsgICAgICAgcHJvbXB0ICJURi1BIHZlcnNpb24iCj4+ICsgICAgICAgaGVscAo+PiArICAg ICAgICAgRW50ZXIgdGhlIFRGLUEgZ2l0IGNvbW1pdC1pc2ggeW91IHdhbnQgdG8gYnVpbGQuIFVz dWFsbHkgYSB0YWdnZWQKPj4gKyAgICAgICAgIHJlbGVhc2UgbGlrZSAidjIuMiIKPj4gKwo+PiAr Y29uZmlnIFRGX0FfTUQ1Cj4+ICsgICAgICAgc3RyaW5nCj4+ICsgICAgICAgZGVmYXVsdCAiYmIz MDBlNWE2MmM5MTFlMTg5YzgwZDkzNWQ0OTdhNGIiCj4+ICsgICAgICAgcHJvbXB0ICJURi1BIHNv dXJjZSBtZDUiCj4+ICsKPj4gK2NvbmZpZyBURl9BX0FSQ0hfU1RSSU5HCj4+ICsgICAgICAgIHN0 cmluZwo+PiArICAgICAgICBkZWZhdWx0ICJhYXJjaDMyIiBpZiBBUkNIX0FSTQo+PiArICAgICAg ICBkZWZhdWx0ICJhYXJjaDY0IiBpZiBBUkNIX0FSTTY0Cj4+ICsKPj4gK2Nob2ljZQo+PiArICAg ICAgIHByb21wdCAiVEYtQSBBcmNoaXRlY3R1cmUiCj4+ICsgICAgICAgZGVmYXVsdCBURl9BX0FS TV9BUkNIX01BSk9SXzcgaWYgQVJDSF9BUk0KPj4gKyAgICAgICBkZWZhdWx0IFRGX0FfQVJNX0FS Q0hfTUFKT1JfOCBpZiBBUkNIX0FSTTY0Cj4+ICsgICAgICAgaGVscAo+PiArICAgICAgICAgQXJj aGl0ZWN0dXJlIHZlcnNpb24gbWFqb3IgbnVtYmVyCj4+ICsKPj4gKyAgICAgICBjb25maWcgVEZf QV9BUk1fQVJDSF9NQUpPUl83Cj4+ICsgICAgICAgICAgICAgICBkZXBlbmRzIG9uIEFSQ0hfQVJN Cj4+ICsgICAgICAgICAgICAgICBwcm9tcHQgIkFSTXY3Igo+PiArICAgICAgICAgICAgICAgYm9v bAo+PiArCj4+ICsgICAgICAgY29uZmlnIFRGX0FfQVJNX0FSQ0hfTUFKT1JfOF8zMl9CSVQKPj4g KyAgICAgICAgICAgICAgIGRlcGVuZHMgb24gQVJDSF9BUk0KPj4gKyAgICAgICAgICAgICAgIHBy b21wdCAiQVJNdjggMzItYml0Igo+PiArICAgICAgICAgICAgICAgYm9vbAo+PiArCj4+ICsgICAg ICAgY29uZmlnIFRGX0FfQVJNX0FSQ0hfTUFKT1JfOAo+PiArICAgICAgICAgICAgICAgZGVwZW5k cyBvbiBBUkNIX0FSTTY0Cj4+ICsgICAgICAgICAgICAgICBwcm9tcHQgIkFSTXY4Igo+PiArICAg ICAgICAgICAgICAgYm9vbAo+PiArCj4+ICtlbmRjaG9pY2UKPj4gKwo+PiArY29uZmlnIFRGX0Ff QVJNX0FSQ0hfTUFKT1IKPj4gKyAgICAgICAgaW50Cj4+ICsgICAgICAgIGRlZmF1bHQgNyBpZiBU Rl9BX0FSTV9BUkNIX01BSk9SXzcKPj4gKyAgICAgICAgZGVmYXVsdCA4IGlmIFRGX0FfQVJNX0FS Q0hfTUFKT1JfOF8zMl9CSVQKPj4gKyAgICAgICAgZGVmYXVsdCA4IGlmIFRGX0FfQVJNX0FSQ0hf TUFKT1JfOAo+PiArCj4+ICsKPj4gK2NvbmZpZyBURl9BX1BMQVRGT1JNCj4+ICsgICAgICAgc3Ry aW5nCj4+ICsgICAgICAgcHJvbXB0ICJURi1BIHRhcmdldCBwbGF0Zm9ybSIKPj4gKyAgICAgICBo ZWxwCj4+ICsgICAgICAgICBUaGUgVEYtQSB0YXJnZXQgcGxhdGZvcm0uCj4+ICsKPj4gK2NvbmZp ZyBURl9BX0FSTV9BUkNIX01JTk9SCj4+ICsgICAgICAgZGVwZW5kcyBvbiBURl9BX0FSTV9BUkNI X01BSk9SXzggfHwgVEZfQV9BUk1fQVJDSF9NQUpPUl84XzMyX0JJVAo+PiArICAgICAgIGludAo+ PiArICAgICAgIGRlZmF1bHQgMAo+PiArICAgICAgIHByb21wdCAiVEYtQSB0YXJnZXQgQVJNdjgu TUlOT1IgdmVyc2lvbiIKPj4gKyAgICAgICBoZWxwCj4+ICsgICAgICAgICBUaGUgbWlub3IgdmVy c2lvbiBvZiB0aGUgQVJNdjggYXJjaGl0ZWN0dXJlIHRhcmdldGVkLiBEZWZhdWx0cyB0byAwLgo+ PiArCj4+ICtjb25maWcgVEZfQV9FWFRSQV9BUkdTCj4+ICsgICAgICAgc3RyaW5nCj4+ICsgICAg ICAgcHJvbXB0ICJURi1BIGV4dHJhIGJ1aWxkIGFyZ3VtZW50cyIKPj4gKyAgICAgICBoZWxwCj4+ ICsgICAgICAgICBFeHRyYSBwbGF0Zm9ybS1zcGVjaWZpYyBidWlsZCBhcmd1bWVudHMgdG8gcGFz cyB0byB0aGUgVEYtQSBidWlsZAo+PiArICAgICAgICAgcHJvY2VzcywgZS5nLiBEVEJfRklMRV9O QU1FPSBmb3IgdGhlIHN0bTMybXAxCj4+ICsKPj4gK2NvbmZpZyBURl9BX0FSVElGQUNUUwo+PiAr ICAgICAgIHN0cmluZwo+PiArICAgICAgIHByb21wdCAiVEYtQSBhcnRpZmFjdCBmaWxlIG5hbWVz Igo+PiArICAgICAgIGhlbHAKPj4gKyAgICAgICAgIEEgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2Yg Z2xvYiBwYXR0ZXJucyBvZiBhcnRpZmFjdHMgdG8gY29weSBmcm9tIHRoZQo+PiArICAgICAgICAg YnVpbGQgZGlyZWN0b3J5Lgo+PiArICAgICAgICAgQWxsIGZpbGUgbmFtZXMgYXJlIHJlbGF0aXZl IHRvIHRoZSBhcHByb3ByaWF0ZSBURi1BIHBsYXRmb3JtIGJ1aWxkCj4+ICsgICAgICAgICBkaXJl Y3RvcnkuCj4+ICsKPj4gK2NvbW1lbnQgIlBheWxvYWRzIgo+PiArCj4+ICtjaG9pY2UKPj4gKyAg ICAgICBwcm9tcHQgIkJMMzIgUGF5bG9hZCIKPj4gKyAgICAgICBkZWZhdWx0IFRGX0FfQkwzMl9O T05FCj4+ICsgICAgICAgaGVscAo+PiArICAgICAgICAgcGF5bG9hZCBmb3IgQkwzMiAoU2VjdXJl IFdvcmxkIE9TKQo+PiArCj4+ICsgICAgICAgY29uZmlnIFRGX0FfQkwzMl9OT05FCj4+ICsgICAg ICAgICAgICAgICBwcm9tcHQgIk5vbmUiCj4+ICsgICAgICAgICAgICAgICBib29sCj4+ICsKPj4g KyAgICAgICBjb25maWcgVEZfQV9CTDMyX1NQX01JTgo+PiArICAgICAgICAgICAgICAgZGVwZW5k cyBvbiBBUkNIX0FSTQo+PiArICAgICAgICAgICAgICAgcHJvbXB0ICJzcF9taW4iCj4+ICsgICAg ICAgICAgICAgICBib29sCj4+ICsKPj4gKyAgICAgICBjb25maWcgVEZfQV9CTDMyX1RTUAo+PiAr ICAgICAgICAgICAgICAgZGVwZW5kcyBvbiBBUkNIX0FSTTY0Cj4+ICsgICAgICAgICAgICAgICBw cm9tcHQgIlRlc3QgU2VjdXJlIFBheWxvYWQiCj4+ICsgICAgICAgICAgICAgICBib29sCj4+ICsK Pj4gK2VuZGNob2ljZQo+PiArCj4+ICtpZiBURl9BX0JMMzJfVFNQCj4+ICtjaG9pY2UgVEZfQV9C TDMyX1RTUF9SQU1fTE9DQVRJT04KPj4gKyAgICAgICBwcm9tcHQgIlRTUCBsb2NhdGlvbiIKPj4g KyAgICAgICBkZWZhdWx0IFRGX0FfQkwzMl9UU1BfUkFNX0xPQ0FUSU9OX1RTUkFNCj4+ICsKPj4g KyAgICAgICBjb25maWcgVEZfQV9CTDMyX1RTUF9SQU1fTE9DQVRJT05fVFNSQU0KPj4gKyAgICAg ICAgICAgICAgIHByb21wdCAiVHJ1c3RlZCBTUkFNIgo+PiArICAgICAgICAgICAgICAgYm9vbAo+ PiArCj4+ICsgICAgICAgY29uZmlnIFRGX0FfQkwzMl9UU1BfUkFNX0xPQ0FUSU9OX1REUkFNCj4+ ICsgICAgICAgICAgICAgICBwcm9tcHQgIlRydXN0ZWQgRFJBTSAoaWYgYXZhaWxhYmxlKSIKPj4g KyAgICAgICAgICAgICAgIGJvb2wKPj4gKwo+PiArICAgICAgIGNvbmZpZyBURl9BX0JMMzJfVFNQ X1JBTV9MT0NBVElPTl9EUkFNCj4+ICsgICAgICAgICAgICAgICBwcm9tcHQgIlNlY3VyZSBEUkFN IHJlZ2lvbiAoY29uZmlndXJlZCBieSBUcnVzdFpvbmUgY29udHJvbGxlcikiCj4+ICsgICAgICAg ICAgICAgICBib29sCj4+ICtlbmRjaG9pY2UKPj4gKwo+PiArY29uZmlnIFRGX0FfQkwzMl9UU1Bf UkFNX0xPQ0FUSU9OX1NUUklORwo+PiArICAgICAgICBzdHJpbmcKPj4gKyAgICAgICAgZGVmYXVs dCAidHNyYW0iIGlmIFRGX0FfQkwzMl9UU1BfUkFNX0xPQ0FUSU9OX1RTUkFNCj4+ICsgICAgICAg IGRlZmF1bHQgInRkcmFtIiBpZiBURl9BX0JMMzJfVFNQX1JBTV9MT0NBVElPTl9URFJBTQo+PiAr ICAgICAgICBkZWZhdWx0ICJkcmFtIiAgaWYgVEZfQV9CTDMyX1RTUF9SQU1fTE9DQVRJT05fRFJB TQo+PiArCj4+ICtlbmRpZgo+PiArCj4+ICtlbmRpZgo+PiBkaWZmIC0tZ2l0IGEvcnVsZXMvdGYt YS5tYWtlIGIvcnVsZXMvdGYtYS5tYWtlCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4 IDAwMDAwMDAwMDAwMC4uM2JhNWNhMjc1MDUwCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvcnVs ZXMvdGYtYS5tYWtlCj4+IEBAIC0wLDAgKzEsMTIyIEBACj4+ICsjIC0qLW1ha2VmaWxlLSotCj4+ ICsjCj4+ICsjIENvcHlyaWdodCAoQykgMjAxOCBieSBSb3V2ZW4gQ3plcndpbnNraSA8ci5jemVy d2luc2tpQHBlbmd1dHJvbml4LmRlPgo+PiArIyAgICAgICAgICAgICAgIDIwMTkgYnkgQWhtYWQg RmF0b3VtIDxhLmZhdG91bUBwZW5ndXRyb25peC5kZT4KPj4gKyMKPj4gKyMgRm9yIGZ1cnRoZXIg aW5mb3JtYXRpb24gYWJvdXQgdGhlIFBUWGRpc3QgcHJvamVjdCBhbmQgbGljZW5zZSBjb25kaXRp b25zCj4+ICsjIHNlZSB0aGUgUkVBRE1FIGZpbGUuCj4+ICsjCj4+ICsKPj4gKyMKPj4gKyMgV2Ug cHJvdmlkZSB0aGlzIHBhY2thZ2UKPj4gKyMKPj4gK1BBQ0tBR0VTLSQoUFRYQ09ORl9URl9BKSAr PSB0Zi1hCj4+ICsKPj4gKyMKPj4gKyMgUGF0aHMgYW5kIG5hbWVzCj4+ICsjCj4+ICtURl9BX1ZF UlNJT04gICA6PSAkKGNhbGwgcmVtb3ZlX3F1b3RlcywkKFBUWENPTkZfVEZfQV9WRVJTSU9OKSkK Pj4gK1RGX0FfTUQ1ICAgICAgIDo9ICQoY2FsbCByZW1vdmVfcXVvdGVzLCQoUFRYQ09ORl9URl9B X01ENSkpCj4+ICtURl9BICAgICAgICAgICA6PSB0Zi1hLSQoVEZfQV9WRVJTSU9OKQo+PiArVEZf QV9TVUZGSVggICAgOj0gdGFyLmd6Cj4+ICtURl9BX1VSTCAgICAgICA6PSBodHRwczovL2dpdC50 cnVzdGVkZmlybXdhcmUub3JnL1RGLUEvdHJ1c3RlZC1maXJtd2FyZS1hLmdpdC9zbmFwc2hvdC8k KFRGX0FfVkVSU0lPTikuJChURl9BX1NVRkZJWCkKPj4gK1RGX0FfU09VUkNFICAgIDo9ICQoU1JD RElSKS8kKFRGX0EpLiQoVEZfQV9TVUZGSVgpCj4+ICtURl9BX0RJUiAgICAgICA6PSAkKEJVSUxE RElSKS8kKFRGX0EpCj4+ICtURl9BX0xJQ0VOU0UgICAgOj0gQlNELTMtQ2xhdXNlIEFORCBCU0Qt Mi1DbGF1c2UgXAo+PiArICAgICAgICAgICAgICAgICAgQU5EIChHUEwtMi4wLW9yLWxhdGVyIE9S IEJTRC0yLUNsYXVzZSkgXAo+PiArICAgICAgICAgICAgICAgICAgQU5EIChOQ1NBIE9SIE1JVCkg XAo+PiArICAgICAgICAgICAgICAgICAgQU5EIFpsaWIgXAo+PiArICAgICAgICAgICAgICAgICAg QU5EIChHUEwtMi4wLW9yLWxhdGVyIE9SIEJTRC0zLUNsYXVzZSkKPj4gKwo+PiArIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4+ICsjIFByZXBhcmUKPj4gKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiAr Cj4+ICtURl9BX1dSQVBQRVJfQkxBQ0tMSVNUIDo9IFwKPj4gKyAgICAgICBUQVJHRVRfSEFSREVO X1JFTFJPIFwKPj4gKyAgICAgICBUQVJHRVRfSEFSREVOX0JJTkROT1cgXAo+PiArICAgICAgIFRB UkdFVF9IQVJERU5fUElFIFwKPj4gKyAgICAgICBUQVJHRVRfREVCVUcgXAo+PiArICAgICAgIFRB UkdFVF9CVUlMRF9JRAo+PiArCj4+ICtURl9BX1JFTEVBU0UgOj0gMQo+PiArCj4+ICtURl9BX1BB VEggICAgICA6PSBQQVRIPSQoQ1JPU1NfUEFUSCkKPj4gK1RGX0FfTUFLRV9PUFQgIDo9IFwKPj4g KyAgICAgICBDUk9TU19DT01QSUxFPSQoQk9PVExPQURFUl9DUk9TU19DT01QSUxFKSBcCj4+ICsg ICAgICAgSE9TVENDPSQoSE9TVENDKSBcCj4+ICsgICAgICAgUExBVD0kKFBUWENPTkZfVEZfQV9Q TEFURk9STSkgXAo+PiArICAgICAgIERFQlVHPSQoaWYgJChmaWx0ZXIgMSwkKFRGX0FfUkVMRUFT RSkpLDAsMSkgXAo+PiArICAgICAgIEFSQ0g9JChQVFhDT05GX1RGX0FfQVJDSF9TVFJJTkcpIFwK Pj4gKyAgICAgICBBUk1fQVJDSF9NQUpPUj0kKFBUWENPTkZfVEZfQV9BUk1fQVJDSF9NQUpPUikg XAo+PiArICAgICAgIEJVSUxEX1NUUklORz0kKFBUWENPTkZfVEZfQV9WRVJTSU9OKSBcCj4+ICsg ICAgICAgJChjYWxsIHJlbW92ZV9xdW90ZXMsJChQVFhDT05GX1RGX0FfRVhUUkFfQVJHUykpIFwK Pj4gKyAgICAgICBhbGwKPj4gKwo+PiAraWZkZWYgUFRYQ09ORl9URl9BX0JMMzJfVFNQCj4+ICtU Rl9BX01BS0VfT1BUICs9IEFSTV9UU1BfUkFNX0xPQ0FUSU9OPSQoUFRYQ09ORl9URl9BX0JMMzJf VFNQX1JBTV9MT0NBVElPTl9TVFJJTkcpCj4+ICtlbmRpZgo+PiAraWZkZWYgUFRYQ09ORl9URl9B X0FSTV9BUkNIX01JTk9SCj4+ICtURl9BX01BS0VfT1BUICs9IEFSTV9BUkNIX01JTk9SPSQoUFRY Q09ORl9URl9BX0FSTV9BUkNIX01JTk9SKQo+PiArZW5kaWYKPj4gK2lmZGVmIFBUWENPTkZfVEZf QV9CTDMyX1NQX01JTgo+PiArVEZfQV9NQUtFX09QVCArPSBBQVJDSDMyX1NQPXNwX21pbgo+PiAr ZW5kaWYKPj4gKwo+PiAraWZkZWYgUFRYQ09ORl9URl9BCj4+ICtpZmVxICgkKFBUWENPTkZfVEZf QV9BUlRJRkFDVFMpLCkKPj4gKyQoZXJyb3IgVEZfQV9BUlRJRkFDVFMgaXMgZW1wdHkuIG5vdGhp bmcgdG8gaW5zdGFsbC4pCj4+ICtlbmRpZgo+PiArZW5kaWYKPj4gKwo+PiArVEZfQV9DT05GX1RP T0wgOj0gTk8KPj4gKwo+PiArJChTVEFURURJUikvdGYtYS5wcmVwYXJlOgo+PiArICAgICAgIEAk KGNhbGwgdGFyZ2V0aW5mbykKPj4gKyAgICAgICBAcm0gLXJmICQoVEZfQV9ESVIpL2J1aWxkLwo+ PiArICAgICAgIEAkKGNhbGwgdG91Y2gpCj4+ICsKPj4gKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ PiArIyBDb21waWxlCj4+ICsjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gKwo+PiArVEZfQV9NQUtF X0VOViAgOj0gJChDUk9TU19FTlYpCj4+ICsKPj4gKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiAr IyBJbnN0YWxsCj4+ICsjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gKwo+PiArVEZfQV9CVUlMRF9P VVRQVVRfRElSIDo9ICQoVEZfQV9ESVIpL2J1aWxkLyQoY2FsbCByZW1vdmVfcXVvdGVzLCBcCj4+ ICsgICAgICAgJChQVFhDT05GX1RGX0FfUExBVEZPUk0pKS8kKGlmICQoZmlsdGVyIDEsJChURl9B X1JFTEVBU0UpKSxyZWxlYXNlLGRlYnVnKQo+PiArVEZfQV9BUlRJRkFDVFNfU1JDID0gJCh3aWxk Y2FyZCAkKGFkZHByZWZpeCAkKFRGX0FfQlVJTERfT1VUUFVUX0RJUikvLCBcCj4+ICsgICAgICAg JChjYWxsIHJlbW92ZV9xdW90ZXMsJChQVFhDT05GX1RGX0FfQVJUSUZBQ1RTKSkpKQo+PiArVEZf QV9BUlRJRkFDVFNfREVTVCA9ICQoc3Vic3QgJChURl9BX0JVSUxEX09VVFBVVF9ESVIpLywsJChU Rl9BX0FSVElGQUNUU19TUkMpKQo+PiArCj4+ICskKFNUQVRFRElSKS90Zi1hLmluc3RhbGw6Cj4+ ICsgICAgICAgQCQoY2FsbCB0YXJnZXRpbmZvKQo+PiArICAgICAgIEAkKGZvcmVhY2ggYXJ0aWZh Y3QsICQoVEZfQV9BUlRJRkFDVFNfU1JDKSwgXAo+PiArICAgICAgICAgICAgICAgaW5zdGFsbCAt diAtRCAtbSA2NDQgJChhcnRpZmFjdCkgXAo+PiArICAgICAgICAgICAgICAgJChURl9BX1BLR0RJ UikvdXNyL2xpYi9maXJtd2FyZS8kKG5vdGRpciAkKGFydGlmYWN0KSkkKHB0eC9ubCkpCj4+ICsg ICAgICAgQCQoY2FsbCB0b3VjaCkKPj4gKwo+PiArIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ICsj IFRhcmdldC1JbnN0YWxsCj4+ICsjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gKwo+PiArJChTVEFU RURJUikvdGYtYS50YXJnZXRpbnN0YWxsOgo+PiArICAgICAgIEAkKGNhbGwgdGFyZ2V0aW5mbykK Pj4gKyAgICAgICBAJChmb3JlYWNoIGFydGlmYWN0LCAkKFRGX0FfQVJUSUZBQ1RTX1NSQyksIFwK Pj4gKyAgICAgICAgICAgICAgIGluc3RhbGwgLXYgLUQgLW0gNjQ0ICQoYXJ0aWZhY3QpIFwKPj4g KyAgICAgICAgICAgICAgICQoSU1BR0VESVIpLyQobm90ZGlyICQoYXJ0aWZhY3QpKSQocHR4L25s KSkKPj4gKyAgICAgICBAJChjYWxsIHRvdWNoKQo+PiArCj4+ICsjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KPj4gKyMgQ2xlYW4KPj4gKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiArCj4+ICskKFNUQVRF RElSKS90Zi1hLmNsZWFuOgo+PiArICAgICAgIEAkKGNhbGwgdGFyZ2V0aW5mbykKPj4gKyAgICAg ICBAcm0gLWYgJChhZGRwcmVmaXggJChJTUFHRURJUikvLCAkKFRGX0FfQVJUSUZBQ1RTX0RFU1Qp KQo+PiArICAgICAgIEAkKGNhbGwgY2xlYW5fcGtnLCBURl9BKQo+PiArCj4+ICsjIHZpbTogc3lu dGF4PW1ha2UKPj4gLS0KPj4gMi4yNS4wCj4+Cj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4+IHB0eGRpc3QgbWFpbGluZyBsaXN0Cj4+IHB0eGRp c3RAcGVuZ3V0cm9uaXguZGUKPiAKPiAKPiAKCi0tIApQZW5ndXRyb25peCBlLksuICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfApTdGV1ZXJ3 YWxkZXIgU3RyLiAyMSAgICAgICAgICAgICAgICAgICAgICAgfCBodHRwOi8vd3d3LnBlbmd1dHJv bml4LmRlLyAgfAozMTEzNyBIaWxkZXNoZWltLCBHZXJtYW55ICAgICAgICAgICAgICAgICAgfCBQ aG9uZTogKzQ5LTUxMjEtMjA2OTE3LTAgICAgfApBbXRzZ2VyaWNodCBIaWxkZXNoZWltLCBIUkEg MjY4NiAgICAgICAgICAgfCBGYXg6ICAgKzQ5LTUxMjEtMjA2OTE3LTU1NTUgfAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHR4ZGlzdCBtYWlsaW5nIGxp c3QKcHR4ZGlzdEBwZW5ndXRyb25peC5kZQo=