From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mail.openembedded.org (Postfix) with ESMTP id 718286F9D5 for ; Fri, 21 Mar 2014 08:58:31 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP; 21 Mar 2014 01:58:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.97,702,1389772800"; d="scan'208";a="496571002" Received: from irsmsx101.ger.corp.intel.com ([163.33.3.153]) by fmsmga001.fm.intel.com with ESMTP; 21 Mar 2014 01:58:30 -0700 Received: from irsmsx153.ger.corp.intel.com (163.33.192.75) by IRSMSX101.ger.corp.intel.com (163.33.3.153) with Microsoft SMTP Server (TLS) id 14.3.123.3; Fri, 21 Mar 2014 08:57:36 +0000 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.87]) by IRSMSX153.ger.corp.intel.com ([169.254.9.144]) with mapi id 14.03.0123.003; Fri, 21 Mar 2014 08:57:36 +0000 From: "Stanacar, StefanX" To: "otavio@ossystems.com.br" Thread-Topic: [OE-core] [RFC PATCH 4/4] lib/oeqa: add a test target controller for EFI targets Thread-Index: AQHPRICbonrE+enVnkK8Hg0m8OPyxZrrPkAA Date: Fri, 21 Mar 2014 08:57:35 +0000 Message-ID: <1395392266.24296.19.camel@firebird.rb.intel.com> References: <726442aad46caaed6a069b6428692ed2e4903026.1395332218.git.stefanx.stanacar@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.237.105.160] MIME-Version: 1.0 Cc: "openembedded-core@lists.openembedded.org" Subject: Re: [RFC PATCH 4/4] lib/oeqa: add a test target controller for EFI targets X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Mar 2014 08:58:32 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <728AC814AE63E14F8C323AFAC72CDCFC@intel.com> Content-Transfer-Encoding: base64 DQpIaSBPdGF2aW8sDQoNCk9uIFRodSwgMjAxNC0wMy0yMCBhdCAxODowOCAtMDMwMCwgT3Rhdmlv IFNhbHZhZG9yIHdyb3RlOg0KPiBPbiBUaHUsIE1hciAyMCwgMjAxNCBhdCAxOjI5IFBNLCBTdGVm YW4gU3RhbmFjYXINCj4gPHN0ZWZhbnguc3RhbmFjYXJAaW50ZWwuY29tPiB3cm90ZToNCg0KPiA+ ICsgICAgICAgICMgdGVzdCByb290ZnMgKyBrZXJuZWwNCj4gPiArICAgICAgICBzZWxmLnJvb3Rm cyA9IG9zLnBhdGguam9pbihkLmdldFZhcigiREVQTE9ZX0RJUl9JTUFHRSIsIFRydWUpLCBkLmdl dFZhcigiSU1BR0VfTElOS19OQU1FIiwgVHJ1ZSkgKyAnLnRhci5neicpDQo+ID4gKyAgICAgICAg c2VsZi5rZXJuZWwgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoIkRFUExPWV9ESVJfSU1BR0UiLCBU cnVlKSwgZC5nZXRWYXIoIktFUk5FTF9JTUFHRVRZUEUiKSkNCj4gPiArICAgICAgICBpZiBub3Qg b3MucGF0aC5pc2ZpbGUoc2VsZi5yb290ZnMpOg0KPiA+ICsgICAgICAgICAgICAjIHdlIGNvdWxk J3ZlIGNoZWNrZWQgdGhhdCBJTUFHRV9GU1RZUEVTIGNvbnRhaW5zIHRhci5neiBidXQgdGhlIGNv bmZpZyBmb3IgcnVubmluZyB0ZXN0aW1hZ2UgbWlnaHQgbm90IGJlDQo+ID4gKyAgICAgICAgICAg ICMgdGhlIHNhbWUgYXMgdGhlIGNvbmZpZyB3aXRoIHdoaWNoIHRoZSBpbWFnZSB3YXMgYnVpbGQs IGllDQo+ID4gKyAgICAgICAgICAgICMgeW91IGJpdGJha2UgY29yZS1pbWFnZS1zYXRvIHdpdGgg SU1BR0VfRlNUWVBFUyArPSAidGFyLmd6Ig0KPiA+ICsgICAgICAgICAgICAjIGFuZCB5b3VyIGF1 dG9idWlsZGVyIG92ZXJ3cml0ZXMgdGhlIGNvbmZpZywgYWRkcyB0aGUgdGVzdCBiaXRzIGFuZCBy dW5zIGJpdGJha2UgY29yZS1pbWFnZS1zYXRvIC1jIHRlc3RpbWFnZQ0KPiA+ICsgICAgICAgICAg ICBiYi5mYXRhbCgiTm8gcm9vdGZzIGZvdW5kLiBEaWQgeW91IGJ1aWxkIHRoZSBpbWFnZSA/XG5J ZiB5ZXMsIGRpZCB5b3UgYnVpbGQgaXQgd2l0aCBJTUFHRV9GU1RZUEVTICs9IFwidGFyLmd6XCIg PyBcDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICBcbkV4cGVjdGVkIHBhdGg6ICVzIiAlIHNl bGYucm9vdGZzKQ0KPiANCj4gQ291bGRuJ3QgdGVzdGltYWdlIGNsYXNzIGFkZCBpdD8NCj4gDQoN Ck5vcGUuLi4gdGVzdGltYWdlIHRhc2sgY2FuIGJlIHRyaWdnZXJlZCBpbiB0d28gd2F5czogZnJv bQ0KdGVzdGltYWdlLmJiY2xhc3Mgb3IgdGVzdGltYWdlLWF1dG8uYmJjbGFzcywgdGhhdCBtZWFu czoNCiAgLSBtYW51YWxseTogeW91IGhhdmUgYWxyZWFkeSBidWlsdCB5b3VyIGltYWdlLCB0aGVu IGFkZCBJTkhFUklUICs9DQoidGVzdGltYWdlIiBpbiBsb2NhbC5jb25mIGFuZCBydW4gYml0YmFr ZSA8aW1hZ2U+IC1jIHRlc3RpbWFnZSAodGhlIEFCDQpkb2VzIGl0IHRoaXMgd2F5KS4gVGhlIHRl c3RpbWFnZSB0YXNrIGRvZXMgbm90IGhhdmUgYSBkZXBlbmRzIG9uDQpkb19yb290ZnMsIHNvIGl0 IHdvbid0IGNyZWF0ZSBhIHRhci5neiByb290ZnMgaWYgSU1BR0VfRlNUWVBFUyB3YXNuJ3QNCmFk ZGVkIHRvIGxvY2FsLmNvbmYgYXQgYnVpbGQgdGltZS4NCiAgLSBhdXRvbWF0aWNhbGx5OiB5b3Ug YWRkIFRFU1RfSU1BR0UgPSAiMSIgaW4gbG9jYWwuY29uZiBiZWZvcmUgYml0YmFrZQ0KPGltYWdl Pi4gVGhhdCdzIGEgaGlkZGVuIGluaGVyaXQgaW4gaW1hZ2UuYmJjbGFzcyB0aGF0IGluaGVyaXRz DQp0ZXN0aW1hZ2UtYXV0byB0aGF0IGRvZXMgZGVwZW5kIG9uIHJvb3Rmcy4gDQoNCldlIHdhbnQg dG8gc3VwcG9ydCBib3RoIGNhc2VzLi4uIFNvIGNoZWNraW5nIHRoYXQgdGFyLmd6IGlzDQpJTUFH RV9GU1RZUEVTIGRvZXNuJ3QgbWVhbiB0aGF0IHRoZSBpbWFnZSBhY3R1YWxseSB3YXMgYnVpbHQg d2l0aCB0aGF0Lg0KQWxzbywgdGFyLmd6IG1pZ2h0IG5vdCBiZSB0aGVyZSBhbHRob3VnaCB0aGUg aW1hZ2Ugd2FzIGJ1aWx0IHdpdGggdGhhdCANCihUaGUgQUIgaGFzIHR3byBkaWZmZXJlbnQgYnVp bGQgc3RlcHMgZm9yIGJ1aWxkIGFuZCBydW5uaW5nIHRlc3RzLCBhbmQNCmluIGJldHdlZW4gdGhl IGNvbmZpZyBjYW4gYmUgb3ZlcndyaXR0ZW4pLg0KDQo+ID4gKyAgICAgICAgaWYgbm90IG9zLnBh dGguaXNmaWxlKHNlbGYua2VybmVsKToNCj4gPiArICAgICAgICAgICAgYmIuZmF0YWwoIk5vIGtl cm5lbCBmb3VuZC4gRXhwZWN0ZWQgcGF0aDogJXMiICUgc2VsZi5rZXJuZWwpDQo+ID4gKw0KPiA+ ICsgICAgICAgICMgaWYgdGhlIHVzZXIga25vd3Mgd2hhdCBoZSdzIGRvaW5nLCB0aGVuIGJ5IGFs bCBtZWFucy4uLg0KPiA+ICsgICAgICAgICMgdGVzdC1yb290ZnMudGFyLmd6IGFuZCB0ZXN0LWtl cm5lbCBhcmUgaGFyZGNvZGVkIG5hbWVzIGluIG90aGVyIHBsYWNlcw0KPiA+ICsgICAgICAgICMg dGhleSByZWFsbHkgaGF2ZSB0byBiZSB1c2VkIGxpa2UgdGhhdCBpbiBjb21tYW5kcyB0aG91Z2gN Cj4gPiArICAgICAgICBjbWRzID0gZC5nZXRWYXIoIlRFU1RfREVQTE9ZX0NNRFMiLCBUcnVlKQ0K PiA+ICsgICAgICAgIGlmIGNtZHM6DQo+ID4gKyAgICAgICAgICAgIHNlbGYuZGVwbG95X2NtZHMg PSBjbWRzLnNwbGl0KCJcbiIpDQo+IA0KPiBHb29kLg0KPiANCj4gPiArICAgICAgICBlbHNlOg0K PiA+ICsgICAgICAgICAgICBzZWxmLmRlcGxveV9jbWRzID0gWw0KPiA+ICsgICAgICAgICAgICAg ICAgJ21vdW50IC1MIGJvb3QgL2Jvb3QnLA0KPiA+ICsgICAgICAgICAgICAgICAgJ21rZGlyIC1w IC9tbnQvdGVzdHJvb3RmcycsDQo+ID4gKyAgICAgICAgICAgICAgICAnbW91bnQgLUwgdGVzdHJv b3RmcyAvbW50L3Rlc3Ryb290ZnMnLA0KPiA+ICsgICAgICAgICAgICAgICAgJ21vZHByb2JlIGVm aXZhcmZzJywNCj4gPiArICAgICAgICAgICAgICAgICdtb3VudCAtdCBlZml2YXJmcyBlZml2YXJm cyAvc3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzJywNCj4gPiArICAgICAgICAgICAgICAgICdjcCB+ L3Rlc3Qta2VybmVsIC9ib290JywNCj4gPiArICAgICAgICAgICAgICAgICdybSAtcmYgL21udC90 ZXN0cm9vdGZzLyonLA0KPiA+ICsgICAgICAgICAgICAgICAgJ3RhciB4enZmIH4vdGVzdC1yb290 ZnMudGFyLmd6IC1DIC9tbnQvdGVzdHJvb3RmcycsDQo+IA0KPiBIb3cgdGFyZ2V0IHNlZSB0aG9z ZSBmaWxlcz8gTkZTPw0KDQpOb3BlLCBzZWUgYmVsb3cgaW4gX2RlcGxveS4NClRob3NlIGZpbGVz IGFyZSBzY3AnZWQgZnJvbSB0aGUgYnVpbGQgbWFjaGluZSB0byB0aGUgdGFyZ2V0Lg0KDQogICAg ICBzZWxmLm1hc3Rlci5jb3B5X3RvKHNlbGYucm9vdGZzLCAifi90ZXN0LXJvb3Rmcy50YXIuZ3oi KQ0KICAgICAgc2VsZi5tYXN0ZXIuY29weV90byhzZWxmLmtlcm5lbCwgIn4vdGVzdC1rZXJuZWwi KQ0KICAgICAgZm9yIGNtZCBpbiBzZWxmLmRlcGxveV9jbWRzOg0KICAgICAgICAgICAgc2VsZi5t YXN0ZXIucnVuKGNtZCkNCg0KPiANCj4gPiArICAgICAgICAgICAgICAgIHIncHJpbnRmICJceDA3 XHgwMFx4MDBceDAwXHg3NFx4MDBceDY1XHgwMFx4NzNceDAwXHg3NFx4MDBceDAwXHgwMCIgPiAv c3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzL0xvYWRlckVudHJ5T25lU2hvdC00YTY3YjA4Mi0wYTRj LTQxY2YtYjZjNy00NDBiMjliYjhjNGYnDQo+IA0KPiBDYW4geW91IGVsYWJvcmF0ZSB0aGlzPyBT ZWVtcyB0b28gJ2JsYWNrIG1hZ2ljJyBmb3IgbWUuDQo+IA0KDQpPa2F5IHNvIG9uZSBvZiB0aGUg cmVhc29ucyB0aGlzIEdlbmVyaWNFZmkgdGFyZ2V0IHJlcXVpcmVzIHRoYXQgdGhlDQptYXN0ZXIg aW1hZ2UgZGVwbG95ZWQgdXNlcyBndW1taWJvb3QgaXMgYmVjYXVzZSBvZiB0aGF0Lg0KZ3VtbWli b290IGFjdHVhbGx5IHJlYWRzIGFuZCBvYmV5cyBzeXN0ZW0gRUZJIHZhcmlhYmxlcy4gWzFdDQpP bmUgb2YgdGhvc2UgdmFyaWFibGVzIGlzIExvYWRlckVudHJ5T25lU2hvdCB3aGljaCB0ZWxscyBp dCB0byBib290IGENCmxhYmVsIChrZXJuZWwgICsgcm9vdGZzKSBvbmNlIGFuZCBvbmx5IG9uY2Ug c28gdGhpcyBob3cgd2Uga25vdyB0aGF0IHdlDQphbHdheXMgZ2V0IGJhY2sgdG8gdGhlIG1hc3Rl ci9nb29kIGltYWdlLg0KDQoNClsxXSAiU29tZSBFRkkgdmFyaWFibGVzIGNvbnRyb2wgdGhlIGxv YWRlciBvciBleHBvcnRlZCB0aGUgbG9hZGVycyBzdGF0ZQ0KdG8gdGhlIHN0YXJ0ZWQgb3BlcmF0 aW5nIHN5c3RlbS4gVGhlIHZlbmRvciBVVUlEDQo0YTY3YjA4Mi0wYTRjLTQxY2YtYjZjNy00NDBi MjliYjhjNGYgYW5kIHRoZSB2YXJpYWJsZSBuYW1lcyBhcmUgc3VwcG9zZWQNCnRvIGJlIHNoYXJl ZCBhY3Jvc3MgYWxsIGxvYWRlcnMgaW1wbGVtZW50YXRpb25zIHdoaWNoIGZvbGxvdyB0aGlzIHNj aGVtZQ0Kb2YgY29uZmlndXJhdGlvbjogIg0KaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy93aWtpL1Nv ZnR3YXJlL2d1bW1pYm9vdC8NCg0KDQpBY2Nlc3NpbmcgdGhlIEVGSSB2YXJzIHN1YnN5c3RlbSBp cyBkb25lIGluIHR3byB3YXlzOg0KICAtIG9sZCBzeXNmcy1lZml2YXJzIGludGVyZmFjZSAoQ09O RklHX0VGSV9WQVJTKSwgcG9wdWxhdGVkDQphdCAvc3lzL2Zpcm13YXJlL2VmaS92YXJzLCB3aGlj aCBoYXMgc29tZSBsaW1pdGF0aW9ucyAoYmFzaWNhbGx5IHlvdQ0KbmVlZCBhbm90aGVyIHRvb2wg dG8gcmVhZC93cml0ZSkNCi0gbmV3IGVmaXZhcmZzIGludGVyZmFjZSAoQ09ORklHX0VGSVZBUl9G UyksIHR5cGljYWxseSBtb3VudGVkIGxpa2UNCnRoaXM6IG1vdW50IC10IGVmaXZhcmZzIGVmaXZh cmZzIC9zeXMvZmlybXdhcmUvZWZpL2VmaXZhcnMNCkl0IHdhcyBhZGRlZCBpbiAzLjggaW50ZW5k ZWQgYXMgYSByZXBsYWNlbWVudCBmb3IgdGhlIHN5c2ZzLWVmaXZhcnMNCmludGVyZmFjZSwgaGFz IG5vIG1heGltdW0gcGVyLXZhcmlhYmxlIHNpemUgbGltaXRhdGlvbiBhbmQgc3VwcG9ydHMgVUVG SQ0KU2VjdXJlIEJvb3QgdmFyaWFibGVzLg0KWW91IGNhbiByZWFkIG1vcmUgYWJvdXQgdGhhdCBh dDoNCmh0dHA6Ly91ZWZpZGsuaW50ZWwuY29tL2Jsb2cvYWNjZXNzaW5nLXVlZmktdmFyaWFibGVz LWxpbnV4I3N0aGFzaC4yd0kyOE1rbi5kcHVmDQoNClRoZSBmaXJzdCBmb3VyIGJ5dGVzIGFyZSBF RklfVkFSSUFCTEVfTk9OX1ZPTEFUSUxFLA0KRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VT UyBhbmQgRUZJX1ZBUklBQkxFX1JVTlRJTUVfQUNDRVNTIGJpdHMgc2V0DQppbiB0aGUgYXR0cmli dXRlIGJpdG1hc2ssIGFuZCB0aGUgcmVzdCBpcyBqdXN0IHRoZSBvdXRwdXQgZnJvbToNCltzdGVm YW5zQGZpcmViaXJkIH5dJCBlY2hvIC1lbiAidGVzdCIgfCBpY29udiAtZiBhc2NpaSAtdCB1dGYt MTZsZSB8DQpoZXhkdW1wIC1DDQowMDAwMDAwMCAgNzQgMDAgNjUgMDAgNzMgMDAgNzQgMDAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8dC5lLnMudC58DQowMDAwMDAwOA0KW3N0ZWZhbnNAZmly ZWJpcmQgfl0kIA0KDQpUaGUgZ3VtbWlib290IGxvYWRlciBjb25maWcgdGhhdCBnZXRzIGluc3Rh bGxlZCB3aXRoIHRoZSBtYXN0ZXIgaW1hZ2UNCmhhcyB0d28gbGFiZWxzOiBib290IGFuZCB0ZXN0 IGFuZCB0aGlzIGlzIGhvdyB3ZSB0ZWxsIGl0IHRoYXQgZm9yIHRoZQ0KbmV4dCBib290IG9ubHkg d2Ugd2FudCB0aGUgdGVzdCBsYWJlbC4NCg0KVGhlIHNpbXBsZXN0IHRvb2wgdG8gcmVhZCBFRkkg dmFycyBJJ3ZlIGZvdW5kIGlzIGVmaXZhci4gSSd2ZSB1c2VkIGl0DQp3aGVuIGRlYnVnZ2luZyBh bmQgcGxheWluZyB3aXRoIHRoaXMgc3R1ZmYuDQpUaGVyZSBpcyBhIHJlY2lwZSBoZXJlOg0KaHR0 cDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2NnaXQvY2dpdC5jZ2kvcG9reS1jb250cmliL2NvbW1p dC8/aD1zdGVmYW5zL3dpcDImaWQ9M2RmMjJiOGFiMzY1NTMwNTIzODE0NTgzMTRiNDNiNzZjZDFk M2RmZg0KDQpJIGhhdmVuJ3Qgc3VibWl0dGVkIGl0IGJlY2F1c2UgSSBkb24ndCBrbm93IGhvdyBt YW55IHBlb3BsZSBuZWVkIGl0Lg0KDQpIVEgsDQoNCkNoZWVycywNClN0ZWZhbg0KDQo+ID4gKyAg ICAgICAgICAgICAgICBdDQo+ID4gKw0KPiA+ICsgICAgICAgICMgbWFzdGVyIHNzaCBjb25uZWN0 aW9uDQo+ID4gKyAgICAgICAgc2VsZi5tYXN0ZXIgPSBOb25lDQo+ID4gKw0KPiA+ICsgICAgICAg ICMgdGhpcyBpcyB0aGUgbmFtZSBvZiB0aGUgY29tbWFuZCB0aGF0IGNvbnRyb2xzIHRoZSBwb3dl ciBmb3IgYSBib2FyZA0KPiA+ICsgICAgICAgICMgZS5nOiBURVNUX1BPV0VSQ09OVFJPTF9DTUQg PSAiL2hvbWUvdXNlci9teXNjcmlwdHMvcG93ZXJjb250cm9sLnB5ICR7TUFDSElORX0gd2hhdC1l dmVyLW90aGVyLWFyZ3MtdGhlLXNjcmlwdC13YW50cyINCj4gPiArICAgICAgICAjIHRoZSBjb21t YW5kIHNob3VsZCB0YWtlIGFzIHRoZSBsYXN0IGFyZ3VtZW50ICJvZmYiIGFuZCAib24iIGFuZCAi Y3ljbGUiIChvZmYsIG9uKQ0KPiA+ICsgICAgICAgIHNlbGYucG93ZXJjb250cm9sX2NtZCA9IGQu Z2V0VmFyKCJURVNUX1BPV0VSQ09OVFJPTF9DTUQiLCBUcnVlKSBvciBOb25lDQo+ID4gKyAgICAg ICAgc2VsZi5wb3dlcmNvbnRyb2xfYXJncyA9IGQuZ2V0VmFyKCJURVNUX1BPV0VSQ09OVFJPTF9F WFRSQV9BUkdTIikgb3IgIiINCj4gPiArICAgICAgICBzZWxmLm9yaWdlbnYgPSBvcy5lbnZpcm9u DQo+ID4gKyAgICAgICAgaWYgc2VsZi5wb3dlcmNvbnRyb2xfY21kOg0KPiA+ICsgICAgICAgICAg ICBpZiBzZWxmLnBvd2VyY29udHJvbF9hcmdzOg0KPiA+ICsgICAgICAgICAgICAgICAgc2VsZi5w b3dlcmNvbnRyb2xfY21kID0gIiVzICVzIiAlIChzZWxmLnBvd2VyY29udHJvbF9jbWQsIHNlbGYu cG93ZXJjb250cm9sX2FyZ3MpDQo+ID4gKyAgICAgICAgICAgICMgdGhlIGV4dGVybmFsIHNjcmlw dCBmb3IgY29udHJvbGxpbmcgcG93ZXIgbWlnaHQgdXNlIHNzaA0KPiA+ICsgICAgICAgICAgICAj IHNzaCArIGtleXMgbWVhbnMgd2UgbmVlZCB0aGUgb3JpZ2luYWwgdXNlciBlbnYNCj4gPiArICAg ICAgICAgICAgYmJvcmlnZW52ID0gZC5nZXRWYXIoIkJCX09SSUdFTlYiLCBGYWxzZSkgb3Ige30N Cj4gPiArICAgICAgICAgICAgZm9yIGtleSBpbiBiYm9yaWdlbnY6DQo+ID4gKyAgICAgICAgICAg ICAgICB2YWwgPSBiYm9yaWdlbnYuZ2V0VmFyKGtleSwgVHJ1ZSkNCj4gPiArICAgICAgICAgICAg ICAgIGlmIHZhbCBpcyBub3QgTm9uZToNCj4gPiArICAgICAgICAgICAgICAgICAgICBzZWxmLm9y aWdlbnZba2V5XSA9IHN0cih2YWwpDQo+ID4gKyAgICAgICAgICAgIHNlbGYucG93ZXJfY3RsKCJv biIpDQo+ID4gKw0KPiA+ICsgICAgZGVmIHBvd2VyX2N0bChzZWxmLCBtc2cpOg0KPiA+ICsgICAg ICAgIGlmIHNlbGYucG93ZXJjb250cm9sX2NtZDoNCj4gPiArICAgICAgICAgICAgY21kID0gIiVz ICVzIiAlIChzZWxmLnBvd2VyY29udHJvbF9jbWQsIG1zZykNCj4gPiArICAgICAgICAgICAgY29t bWFuZHMucnVuQ21kKGNtZCwgcHJlZXhlY19mbj1vcy5zZXRzaWQsIGVudj1zZWxmLm9yaWdlbnYp DQo+ID4gKw0KPiA+ICsgICAgZGVmIHBvd2VyX2N5Y2xlKHNlbGYsIGNvbm4pOg0KPiA+ICsgICAg ICAgIGlmIHNlbGYucG93ZXJjb250cm9sX2NtZDoNCj4gPiArICAgICAgICAgICAgIyBiZSBuaWNl LCBkb24ndCBqdXN0IGN1dCBwb3dlcg0KPiA+ICsgICAgICAgICAgICBjb25uLnJ1bigic2h1dGRv d24gLWggbm93IikNCj4gPiArICAgICAgICAgICAgdGltZS5zbGVlcCgxMCkNCj4gPiArICAgICAg ICAgICAgc2VsZi5wb3dlcl9jdGwoImN5Y2xlIikNCj4gPiArICAgICAgICBlbHNlOg0KPiA+ICsg ICAgICAgICAgICBzdGF0dXMsIG91dHB1dCA9IGNvbm4ucnVuKCJyZWJvb3QiKQ0KPiA+ICsgICAg ICAgICAgICBpZiBzdGF0dXMgIT0gMDoNCj4gPiArICAgICAgICAgICAgICAgIGJiLmVycm9yKCJG YWlsZWQgcmVib290aW5nIHRhcmdldCBhbmQgbm8gcG93ZXIgY29udHJvbCBjb21tYW5kIGRlZmlu ZWQuIFlvdSBuZWVkIHRvIG1hbnVhbGx5IHJlc2V0IHRoZSBkZXZpY2UuXG4lcyIgJSBvdXRwdXQp DQo+ID4gKw0KPiA+ICsgICAgZGVmIGRlcGxveShzZWxmKToNCj4gPiArICAgICAgICBiYi5wbGFp bigiJXMgLSBkZXBsb3lpbmcgaW1hZ2Ugb24gdGFyZ2V0IiAlIHNlbGYucG4pDQo+ID4gKyAgICAg ICAgIyBiYXNlIGNsYXNzIGp1c3Qgc2V0cyB0aGUgc3NoIGxvZyBmaWxlIGZvciB1cw0KPiA+ICsg ICAgICAgIHN1cGVyKEdlbmVyaWNFZmksIHNlbGYpLmRlcGxveSgpDQo+ID4gKyAgICAgICAgc2Vs Zi5tYXN0ZXIgPSBzc2hjb250cm9sLlNTSENvbnRyb2woaXA9c2VsZi5pcCwgbG9nZmlsZT1zZWxm LnNzaGxvZywgdGltZW91dD02MDAsIHBvcnQ9c2VsZi5wb3J0KQ0KPiA+ICsgICAgICAgIHRyeToN Cj4gPiArICAgICAgICAgICAgc2VsZi5fZGVwbG95KCkNCj4gPiArICAgICAgICBleGNlcHQgRXhj ZXB0aW9uIGFzIGU6DQo+ID4gKyAgICAgICAgICAgIGJiLmZhdGFsKCJGYWlsZWQgZGVwbG95aW5n IHRlc3QgaW1hZ2U6ICVzIiAlIGUpDQo+ID4gKw0KPiA+ICsgICAgZGVmIF9kZXBsb3koc2VsZik6 DQo+ID4gKyAgICAgICAgIyBtYWtlIHN1cmUgd2UgYXJlIGluIHRoZSByaWdodCBpbWFnZQ0KPiA+ ICsgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi5tYXN0ZXIucnVuKCJjYXQgL2V0Yy9tYXN0 ZXJpbWFnZSIpDQo+ID4gKyAgICAgICAgaWYgc3RhdHVzICE9IDA6DQo+ID4gKyAgICAgICAgICAg IHJhaXNlIEV4Y2VwdGlvbigiTm8gc3NoIGNvbm5lY3Rpdml0eSBvciB0YXJnZXQgaXNuJ3QgcnVu bmluZyBhIG1hc3RlciBpbWFnZS5cbiVzIiAlIG91dHB1dCkNCj4gPiArDQo+ID4gKyAgICAgICAg IyBtYWtlIHN1cmUgdGhlc2UgYXJlbid0IG1vdW50ZWQNCj4gPiArICAgICAgICBzZWxmLm1hc3Rl ci5ydW4oInVtb3VudCAvYm9vdDsgdW1vdW50IC9tbnQvdGVzdHJvb3RmczsgdW1vdW50IC9zeXMv ZmlybXdhcmUvZWZpL2VmaXZhcnM7IikNCj4gPiArDQo+ID4gKyAgICAgICAgIyBmcm9tIG5vdyBv biwgZXZlcnkgZGVwbG95IGNtZCBzaG91bGQgcmV0dXJuIDANCj4gPiArICAgICAgICBzZWxmLm1h c3Rlci5pZ25vcmVfc3RhdHVzID0gRmFsc2UNCj4gPiArICAgICAgICBzZWxmLm1hc3Rlci5jb3B5 X3RvKHNlbGYucm9vdGZzLCAifi90ZXN0LXJvb3Rmcy50YXIuZ3oiKQ0KPiA+ICsgICAgICAgIHNl bGYubWFzdGVyLmNvcHlfdG8oc2VsZi5rZXJuZWwsICJ+L3Rlc3Qta2VybmVsIikNCj4gPiArICAg ICAgICBmb3IgY21kIGluIHNlbGYuZGVwbG95X2NtZHM6DQo+ID4gKyAgICAgICAgICAgIHNlbGYu bWFzdGVyLnJ1bihjbWQpDQo+ID4gKw0KPiA+ICsNCj4gPiArICAgIGRlZiBzdGFydChzZWxmLCBw YXJhbXM9Tm9uZSk6DQo+ID4gKyAgICAgICAgYmIucGxhaW4oIiVzIC0gYm9vdCB0ZXN0IGltYWdl IG9uIHRhcmdldCIgJSBzZWxmLnBuKQ0KPiA+ICsgICAgICAgIHNlbGYucG93ZXJfY3ljbGUoc2Vs Zi5tYXN0ZXIpDQo+ID4gKyAgICAgICAgIyBhc3N1bWluZyB0aGUgcmVib290IHdvcmtlZCwgd2Ug bmVlZCB0byB3YWl0IGEgYml0DQo+ID4gKyAgICAgICAgIyB0aGVyZSBhcmUgYmV0dGVyIHdheXMg dGhhbiBhIHRpbWVvdXQgYnV0IHRoaXMgc2hvdWxkIHdvcmsgZm9yIG15IHB1cnBvc2UgZm9yIG5v dw0KPiA+ICsgICAgICAgIHRpbWUuc2xlZXAoMTIwKQ0KPiA+ICsgICAgICAgICMgd2UgYXJlIGxp dmUsIHNldCB0aGUgc3NoIG9iamVjdCBmb3IgdGhlIHRhcmdldC90ZXN0IGltYWdlDQo+ID4gKyAg ICAgICAgc2VsZi5jb25uZWN0aW9uID0gc3NoY29udHJvbC5TU0hDb250cm9sKHNlbGYuaXAsIGxv Z2ZpbGU9c2VsZi5zc2hsb2csIHBvcnQ9c2VsZi5wb3J0KQ0KPiA+ICsgICAgICAgIGJiLnBsYWlu KCIlcyAtIHN0YXJ0IHJ1bm5pbmcgdGVzdHMiICUgc2VsZi5wbikNCj4gPiArDQo+ID4gKyAgICBk ZWYgc3RvcChzZWxmKToNCj4gPiArICAgICAgICBiYi5wbGFpbigiJXMgLSByZWJvb3QvcG93ZXJj eWNsZSB0YXJnZXQiICUgc2VsZi5wbikNCj4gPiArICAgICAgICBzZWxmLnBvd2VyX2N5Y2xlKHNl bGYuY29ubmVjdGlvbikNCj4gPiBkaWZmIC0tZ2l0IGEvbWV0YS9saWIvb2VxYS9ydW50aW1lL3Nz aC5weSBiL21ldGEvbGliL29lcWEvcnVudGltZS9zc2gucHkNCj4gPiBpbmRleCA4Yzk2MDIwLi5l NjQ4NjYwIDEwMDY0NA0KPiA+IC0tLSBhL21ldGEvbGliL29lcWEvcnVudGltZS9zc2gucHkNCj4g PiArKysgYi9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvc3NoLnB5DQo+ID4gQEAgLTE0LDMgKzE0LDUg QEAgY2xhc3MgU3NoVGVzdChvZVJ1bnRpbWVUZXN0KToNCj4gPiAgICAgIGRlZiB0ZXN0X3NzaChz ZWxmKToNCj4gPiAgICAgICAgICAoc3RhdHVzLCBvdXRwdXQpID0gc2VsZi50YXJnZXQucnVuKCd1 bmFtZSAtYScpDQo+ID4gICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZz0i U1NIIFRlc3QgZmFpbGVkOiAlcyIgJSBvdXRwdXQpDQo+ID4gKyAgICAgICAgKHN0YXR1cywgb3V0 cHV0KSA9IHNlbGYudGFyZ2V0LnJ1bignY2F0IC9ldGMvbWFzdGVyaW1hZ2UnKQ0KPiA+ICsgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAxLCBtc2c9IlRoaXMgaXNuJ3QgdGhlIHJpZ2h0 IGltYWdlICAtIC9ldGMvbWFzdGVyaW1hZ2Ugc2hvdWxkbid0IGJlIGhlcmUgJXMiICUgb3V0cHV0 KQ0KPiA+IC0tDQo+ID4gMS44LjUuMw0KPiA+DQo+ID4gLS0NCj4gPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+IE9wZW5lbWJlZGRlZC1jb3JlIG1h aWxpbmcgbGlzdA0KPiA+IE9wZW5lbWJlZGRlZC1jb3JlQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcN Cj4gPiBodHRwOi8vbGlzdHMub3BlbmVtYmVkZGVkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29wZW5l bWJlZGRlZC1jb3JlDQo+IA0KPiANCj4gDQoNCg==