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 dpdk.org (Postfix) with ESMTP id 6A9C69A87 for ; Mon, 18 May 2015 10:00:11 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP; 18 May 2015 01:00:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,452,1427785200"; d="scan'208";a="731000318" Received: from pgsmsx103.gar.corp.intel.com ([10.221.44.82]) by orsmga002.jf.intel.com with ESMTP; 18 May 2015 01:00:00 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.110.14) by PGSMSX103.gar.corp.intel.com (10.221.44.82) with Microsoft SMTP Server (TLS) id 14.3.224.2; Mon, 18 May 2015 15:59:59 +0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.120]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.23]) with mapi id 14.03.0224.002; Mon, 18 May 2015 15:59:58 +0800 From: "Xu, HuilongX" To: "Jiajia, SunX" , "dts@dpdk.org" Thread-Topic: =?utf-8?B?W2R0c10gW+KAmGR0cy12MeKAmSAzLzldIEFkZCBzb21lIHBhcmFtcyBhbmQg?= =?utf-8?Q?functions_related_to_the_virtual_test?= Thread-Index: AQHQkSiguUU6fPLfZkCR2l7RsTgbUJ2BXe2g Date: Mon, 18 May 2015 07:59:58 +0000 Message-ID: References: <1431925646-1314-1-git-send-email-sunx.jiajia@intel.com> <1431925646-1314-4-git-send-email-sunx.jiajia@intel.com> In-Reply-To: <1431925646-1314-4-git-send-email-sunx.jiajia@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-cr-hashedpuzzle: ATwA B6w+ CJI0 DoFg Ej+R Fk0f GGbR GLVa GYGO GkI5 HPVZ HT40 Hb+2 IH6o IMYN Ik1n; 1; ZAB0AHMAQABkAHAAZABrAC4AbwByAGcA; Sosha1_v1; 7; {892B660D-1EF4-49A4-962E-350BFD69A3E6}; aAB1AGkAbABvAG4AZwB4AC4AeAB1AEAAaQBuAHQAZQBsAC4AYwBvAG0A; Mon, 18 May 2015 07:59:56 GMT; UgBFADoAIABbAGQAdABzAF0AIABbABggZAB0AHMALQB2ADEAGSAgADMALwA5AF0AIABBAGQAZAAgAHMAbwBtAGUAIABwAGEAcgBhAG0AcwAgAGEAbgBkACAAZgB1AG4AYwB0AGkAbwBuAHMAIAByAGUAbABhAHQAZQBkACAAdABvACAAdABoAGUAIAB2AGkAcgB0AHUAYQBsACAAdABlAHMAdAA= x-cr-puzzleid: {892B660D-1EF4-49A4-962E-350BFD69A3E6} x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dts] =?utf-8?b?W+KAmGR0cy12MeKAmSAzLzldIEFkZCBzb21lIHBhcmFtcyBh?= =?utf-8?q?nd_functions_related_to_the_virtual_test?= X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 May 2015 08:00:12 -0000 DQpIaSBKaWFqaWEsDQpJIGhhdmUgb25lIGNvbW1lbnRzIGF0ICJAQCAtMjAyLDcgKzIxMyw3IEBA IGNsYXNzIERQREtkdXQoRHV0KToiDQpXb3VsZCB5b3UgY2hlY2sgaXQsIHRoYW5rcyAgYSBsb3QN Ci0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBkdHMgW21haWx0bzpkdHMtYm91bmNl c0BkcGRrLm9yZ10gT24gQmVoYWxmIE9mIHNqaWFqaWF4DQpTZW50OiBNb25kYXksIE1heSAxOCwg MjAxNSAxOjA3IFBNDQpUbzogZHRzQGRwZGsub3JnDQpTdWJqZWN0OiBbZHRzXSBb4oCYZHRzLXYx 4oCZIDMvOV0gQWRkIHNvbWUgcGFyYW1zIGFuZCBmdW5jdGlvbnMgcmVsYXRlZCB0byB0aGUgdmly dHVhbCB0ZXN0DQoNClNpZ25lZC1vZmYtYnk6IHNqaWFqaWF4IDxzdW54LmppYWppYUBpbnRlbC5j b20+DQotLS0NCiBmcmFtZXdvcmsvZHRzLnB5ICAgICAgICAgIHwgOTIgKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiBmcmFtZXdvcmsvZXhjZXB0aW9uLnB5 ICAgIHwgMjcgKysrKysrKysrKysrKysNCiBmcmFtZXdvcmsvbG9nZ2VyLnB5ICAgICAgIHwgNjkg KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0NCiBmcmFtZXdvcmsvbWFpbi5weSAg ICAgICAgIHwgIDcgKysrLQ0KIGZyYW1ld29yay9wcm9qZWN0X2RwZGsucHkgfCA2MiArKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLQ0KIDUgZmlsZXMgY2hhbmdlZCwgMTU3IGluc2VydGlv bnMoKyksIDEwMCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2ZyYW1ld29yay9kdHMucHkg Yi9mcmFtZXdvcmsvZHRzLnB5DQppbmRleCBjOWVjY2NiLi5jMGRmNGU5IDEwMDY0NA0KLS0tIGEv ZnJhbWV3b3JrL2R0cy5weQ0KKysrIGIvZnJhbWV3b3JrL2R0cy5weQ0KQEAgLTQ5LDYgKzQ5LDcg QEAgZnJvbSB0ZXN0X2Nhc2UgaW1wb3J0IFRlc3RDYXNlDQogZnJvbSB0ZXN0X3Jlc3VsdCBpbXBv cnQgUmVzdWx0DQogZnJvbSBzdGF0c19yZXBvcnRlciBpbXBvcnQgU3RhdHNSZXBvcnRlcg0KIGZy b20gZXhjZWxfcmVwb3J0ZXIgaW1wb3J0IEV4Y2VsUmVwb3J0ZXINCitmcm9tIHV0aWxzIGltcG9y dCAqDQogZnJvbSBleGNlcHRpb24gaW1wb3J0IFRpbWVvdXRFeGNlcHRpb24NCiBmcm9tIGxvZ2dl ciBpbXBvcnQgZ2V0TG9nZ2VyDQogaW1wb3J0IGxvZ2dlcg0KQEAgLTU3LDYgKzU4LDcgQEAgaW1w b3J0IHN5cw0KIHJlbG9hZChzeXMpDQogc3lzLnNldGRlZmF1bHRlbmNvZGluZygnVVRGOCcpDQog DQorUFJPSkVDVF9NT0RVTEVfUFJFRklYID0gJ3Byb2plY3RfJw0KIA0KIGRlYnVnX21vZGUgPSBG YWxzZQ0KIGNvbmZpZyA9IE5vbmUNCkBAIC03Myw0NCArNzUsMTIgQEAgcmVzdWx0ID0gTm9uZQ0K IGV4Y2VsX3JlcG9ydCA9IE5vbmUNCiBzdGF0cyA9IE5vbmUNCiBsb2dfaGFuZGxlciA9IE5vbmUN CitQYWNrYWdlID0gJycNCitQYXRjaGVzID0gW10NCiBkcml2ZXJuYW1lID0gIiINCiBpbnRlcnJ1 cHR0eXByID0gIiINCiANCiANCi1kZWYgUkVEKHRleHQpOg0KLSAgICByZXR1cm4gIlx4MUJbIiAr ICIzMTsxbSIgKyB0ZXh0ICsgIlx4MUJbIiArICIwbSINCi0NCi0NCi1kZWYgQkxVRSh0ZXh0KToN Ci0gICAgcmV0dXJuICJceDFCWyIgKyAiMzY7MW0iICsgdGV4dCArICJceDFCWyIgKyAiMG0iDQot DQotDQotZGVmIEdSRUVOKHRleHQpOg0KLSAgICByZXR1cm4gIlx4MUJbIiArICIzMjsxbSIgKyB0 ZXh0ICsgIlx4MUJbIiArICIwbSINCi0NCi0NCi1kZWYgcmVnZXhwKHMsIHRvX21hdGNoLCBhbGxT dHJpbmc9RmFsc2UpOg0KLSAgICAiIiINCi0gICAgRW5zdXJlIHRoYXQgdGhlIHJlIGB0b19tYXRj aCcgb25seSBoYXMgb25lIGdyb3VwIGluIGl0Lg0KLSAgICAiIiINCi0NCi0gICAgc2Nhbm5lciA9 IHJlLmNvbXBpbGUodG9fbWF0Y2gsIHJlLkRPVEFMTCkNCi0gICAgaWYgYWxsU3RyaW5nOg0KLSAg ICAgICAgcmV0dXJuIHNjYW5uZXIuZmluZGFsbChzKQ0KLSAgICBtID0gc2Nhbm5lci5zZWFyY2go cykNCi0gICAgaWYgbSBpcyBOb25lOg0KLSAgICAgICAgbG9nX2hhbmRsZXIud2FybmluZygiRmFp bGVkIHRvIG1hdGNoICIgKyB0b19tYXRjaCArICIgaW4gdGhlIHN0cmluZyAiICsgcykNCi0gICAg ICAgIHJldHVybiBOb25lDQotICAgIHJldHVybiBtLmdyb3VwKDEpDQotDQotDQotZGVmIHBwcmlu dChzb21lX2RpY3QpOg0KLSAgICAiIiINCi0gICAgUHJpbnQgSlNPTiBmb3JtYXQgZGljdGlvbmFy eSBvYmplY3QuDQotICAgICIiIg0KLSAgICByZXR1cm4ganNvbi5kdW1wcyhzb21lX2RpY3QsIHNv cnRfa2V5cz1UcnVlLCBpbmRlbnQ9NCkNCi0NCi0NCiBkZWYgcmVwb3J0KHRleHQsIGZyYW1lPUZh bHNlLCBhbm5leD1GYWxzZSk6DQogICAgICIiIg0KICAgICBTYXZlIHJlcG9ydCB0ZXh0IGludG8g cnN0IGZpbGUuDQpAQCAtMTMyLDM2ICsxMDIsNiBAQCBkZWYgY2xvc2VfY3JiX3Nlc3Npb25zKCk6 DQogICAgIGxvZ19oYW5kbGVyLmluZm8oIkRUUyBlbmRlZCIpDQogDQogDQotZGVmIGdldF9uaWNf ZHJpdmVyKHBjaV9pZCk6DQotICAgICIiIg0KLSAgICBSZXR1cm4gbGludXggZHJpdmVyIGZvciBz cGVjaWZpZWQgcGNpIGRldmljZQ0KLSAgICAiIiINCi0gICAgZHJpdmVybGlzdCA9IGRpY3Qoemlw KE5JQ1MudmFsdWVzKCksIERSSVZFUlMua2V5cygpKSkNCi0gICAgdHJ5Og0KLSAgICAgICAgZHJp dmVyID0gRFJJVkVSU1tkcml2ZXJsaXN0W3BjaV9pZF1dDQotICAgIGV4Y2VwdCBFeGNlcHRpb24g YXMgZToNCi0gICAgICAgIGRyaXZlciA9IE5vbmUNCi0gICAgcmV0dXJuIGRyaXZlcg0KLQ0KLQ0K LWRlZiBhY2NlcHRlZF9uaWMocGNpX2lkKToNCi0gICAgIiIiDQotICAgIFJldHVybiBUcnVlIGlm IHRoZSBwY2lfaWQgaXMgYSBrbm93biBOSUMgY2FyZCBpbiB0aGUgc2V0dGluZ3MgZmlsZSBhbmQg aWYNCi0gICAgaXQgaXMgc2VsZWN0ZWQgaW4gdGhlIGV4ZWN1dGlvbiBmaWxlLCBvdGhlcndpc2Ug aXQgcmV0dXJucyBGYWxzZS4NCi0gICAgIiIiDQotICAgIGlmIHBjaV9pZCBub3QgaW4gTklDUy52 YWx1ZXMoKToNCi0gICAgICAgIHJldHVybiBGYWxzZQ0KLQ0KLSAgICBpZiBuaWMgaXMgJ2FueSc6 DQotICAgICAgICByZXR1cm4gVHJ1ZQ0KLQ0KLSAgICBlbHNlOg0KLSAgICAgICAgaWYgcGNpX2lk ID09IE5JQ1NbbmljXToNCi0gICAgICAgICAgICByZXR1cm4gVHJ1ZQ0KLQ0KLSAgICByZXR1cm4g RmFsc2UNCi0NCi0NCiBkZWYgZ2V0X2NyYl9vcyhjcmIpOg0KICAgICBpZiAnT1MnIGluIGNyYjoN CiAgICAgICAgIHJldHVybiBjcmJbJ09TJ10NCkBAIC0yMjAsOSArMTYwLDEwIEBAIGRlZiBnZXRf cHJvamVjdF9vYmoocHJvamVjdF9uYW1lLCBzdXBlcl9jbGFzcywgY3JiSW5zdCwgc2VyaWFsaXpl cik6DQogICAgICIiIg0KICAgICBMb2FkIHByb2plY3QgbW9kdWxlIGFuZCByZXR1cm4gY3JiIGlu c3RhbmNlLg0KICAgICAiIiINCisgICAgZ2xvYmFsIFBST0pFQ1RfTU9EVUxFX1BSRUZJWA0KICAg ICBwcm9qZWN0X29iaiA9IE5vbmUNCiAgICAgdHJ5Og0KLSAgICAgICAgcHJvamVjdF9tb2R1bGUg PSBfX2ltcG9ydF9fKCJwcm9qZWN0XyIgKyBwcm9qZWN0X25hbWUpDQorICAgICAgICBwcm9qZWN0 X21vZHVsZSA9IF9faW1wb3J0X18oUFJPSkVDVF9NT0RVTEVfUFJFRklYICsgcHJvamVjdF9uYW1l KQ0KIA0KICAgICAgICAgZm9yIHByb2plY3Rfc3ViY2xhc3NuYW1lLCBwcm9qZWN0X3N1YmNsYXNz IGluIGdldF9zdWJjbGFzc2VzKHByb2plY3RfbW9kdWxlLCBzdXBlcl9jbGFzcyk6DQogICAgICAg ICAgICAgcHJvamVjdF9vYmogPSBwcm9qZWN0X3N1YmNsYXNzKGNyYkluc3QsIHNlcmlhbGl6ZXIp DQpAQCAtMjY3LDE5ICsyMDgsMjAgQEAgZGVmIGR0c19sb2dfZXhlY3V0aW9uKGxvZ19oYW5kbGVy KToNCiAgICAgICAgIHBhc3MNCiANCiANCi1kZWYgZHRzX2NyYnNfaW5pdChjcmJJbnN0LCBza2lw X3NldHVwLCByZWFkX2NhY2hlLCBwcm9qZWN0LCBiYXNlX2RpciwgbmljKToNCitkZWYgZHRzX2Ny YnNfaW5pdChjcmJJbnN0LCBza2lwX3NldHVwLCByZWFkX2NhY2hlLCBwcm9qZWN0LCBiYXNlX2Rp ciwgbmljLCB2aXJ0dHlwZSk6DQogICAgICIiIg0KICAgICBDcmVhdGUgZHRzIGR1dC90ZXN0ZXIg aW5zdGFuY2UgYW5kIGluaXRpYWxpemUgdGhlbS4NCiAgICAgIiIiDQogICAgIGdsb2JhbCBkdXQN CiAgICAgZ2xvYmFsIHRlc3Rlcg0KLSAgICBzZXJpYWxpemVyLnNldF9zZXJpYWxpemVkX2ZpbGVu YW1lKCcuLi8uJXMuY2FjaGUnICUgY3JiSW5zdFsnSVAnXSkNCisgICAgc2VyaWFsaXplci5zZXRf c2VyaWFsaXplZF9maWxlbmFtZSgnLiVzLmNhY2hlJyAlIGNyYkluc3RbJ0lQJ10pDQogICAgIHNl cmlhbGl6ZXIubG9hZF9mcm9tX2ZpbGUoKQ0KIA0KICAgICBkdXQgPSBnZXRfcHJvamVjdF9vYmoo cHJvamVjdCwgRHV0LCBjcmJJbnN0LCBzZXJpYWxpemVyKQ0KICAgICB0ZXN0ZXIgPSBnZXRfcHJv amVjdF9vYmoocHJvamVjdCwgVGVzdGVyLCBjcmJJbnN0LCBzZXJpYWxpemVyKQ0KICAgICBkdXQu dGVzdGVyID0gdGVzdGVyDQogICAgIHRlc3Rlci5kdXQgPSBkdXQNCisgICAgZHV0LnNldF92aXJ0 dHlwZSh2aXJ0dHlwZSkNCiAgICAgZHV0LnNldF9zcGVlZHVwX29wdGlvbnMocmVhZF9jYWNoZSwg c2tpcF9zZXR1cCkNCiAgICAgZHV0LnNldF9kaXJlY3RvcnkoYmFzZV9kaXIpDQogICAgIGR1dC5z ZXRfbmljX3R5cGUobmljKQ0KQEAgLTMzNyw3ICsyNzksNiBAQCBkZWYgZHRzX3J1bl90YXJnZXQo Y3JiSW5zdCwgdGFyZ2V0cywgdGVzdF9zdWl0ZXMsIG5pYyk6DQogICAgICAgICBpZiAnbmljX3R5 cGUnIG5vdCBpbiBwYXJhbURpY3Q6DQogICAgICAgICAgICAgcGFyYW1EaWN0WyduaWNfdHlwZSdd ID0gJ2FueScNCiAgICAgICAgICAgICBuaWMgPSAnYW55Jw0KLSAgICAgICAgcmVzdWx0Lm5pYyA9 IG5pYw0KIA0KICAgICAgICAgZHRzX3J1bl9zdWl0ZShjcmJJbnN0LCB0ZXN0X3N1aXRlcywgdGFy Z2V0LCBuaWMpDQogDQpAQCAtMzU5LDcgKzMwMCw5IEBAIGRlZiBkdHNfcnVuX3N1aXRlKGNyYklu c3QsIHRlc3Rfc3VpdGVzLCB0YXJnZXQsIG5pYyk6DQogICAgICAgICAgICAgdGVzdF9tb2R1bGUg PSBfX2ltcG9ydF9fKCdUZXN0U3VpdGVfJyArIHRlc3Rfc3VpdGUpDQogICAgICAgICAgICAgZm9y IHRlc3RfY2xhc3NuYW1lLCB0ZXN0X2NsYXNzIGluIGdldF9zdWJjbGFzc2VzKHRlc3RfbW9kdWxl LCBUZXN0Q2FzZSk6DQogDQotICAgICAgICAgICAgICAgIHRlc3Rfc3VpdGUgPSB0ZXN0X2NsYXNz KGR1dCwgdGVzdGVyLCB0YXJnZXQpDQorICAgICAgICAgICAgICAgIHRlc3Rfc3VpdGUgPSB0ZXN0 X2NsYXNzKGR1dCwgdGVzdGVyLCB0YXJnZXQsIHRlc3Rfc3VpdGUpDQorICAgICAgICAgICAgICAg IHJlc3VsdC5uaWMgPSB0ZXN0X3N1aXRlLm5pYw0KKw0KICAgICAgICAgICAgICAgICBkdHNfbG9n X3Rlc3RzdWl0ZSh0ZXN0X3N1aXRlLCBsb2dfaGFuZGxlciwgdGVzdF9jbGFzc25hbWUpDQogDQog ICAgICAgICAgICAgICAgIGxvZ19oYW5kbGVyLmluZm8oIlxuVEVTVCBTVUlURSA6ICIgKyB0ZXN0 X2NsYXNzbmFtZSkNCkBAIC0zODYsNyArMzI5LDcgQEAgZGVmIGR0c19ydW5fc3VpdGUoY3JiSW5z dCwgdGVzdF9zdWl0ZXMsIHRhcmdldCwgbmljKToNCiANCiBkZWYgcnVuX2FsbChjb25maWdfZmls ZSwgcGtnTmFtZSwgZ2l0LCBwYXRjaCwgc2tpcF9zZXR1cCwNCiAgICAgICAgICAgICByZWFkX2Nh Y2hlLCBwcm9qZWN0LCBzdWl0ZV9kaXIsIHRlc3RfY2FzZXMsDQotICAgICAgICAgICAgYmFzZV9k aXIsIG91dHB1dF9kaXIsIHZlcmJvc2UsIGRlYnVnKToNCisgICAgICAgICAgICBiYXNlX2Rpciwg b3V0cHV0X2RpciwgdmVyYm9zZSwgdmlydHR5cGUsIGRlYnVnKToNCiAgICAgIiIiDQogICAgIE1h aW4gcHJvY2VzcyBvZiBEVFMsIGl0IHdpbGwgcnVuIGFsbCB0ZXN0IHN1aXRlcyBpbiB0aGUgY29u ZmlnIGZpbGUuDQogICAgICIiIg0KQEAgLTQwMCw2ICszNDMsMTIgQEAgZGVmIHJ1bl9hbGwoY29u ZmlnX2ZpbGUsIHBrZ05hbWUsIGdpdCwgcGF0Y2gsIHNraXBfc2V0dXAsDQogICAgIGdsb2JhbCBz dGF0cw0KICAgICBnbG9iYWwgbG9nX2hhbmRsZXINCiAgICAgZ2xvYmFsIGRlYnVnX21vZGUNCisg ICAgZ2xvYmFsIFBhY2thZ2UNCisgICAgZ2xvYmFsIFBhdGNoZXMNCisNCisgICAgIyBzYXZlIGds b2JhbCB2YXJpYWJsZQ0KKyAgICBQYWNrYWdlID0gcGtnTmFtZQ0KKyAgICBQYXRjaGVzID0gcGF0 Y2gNCiANCiAgICAgIyBwcmVwYXJlIHRoZSBvdXRwdXQgZm9sZGVyDQogICAgIGlmIG5vdCBvcy5w YXRoLmV4aXN0cyhvdXRwdXRfZGlyKToNCkBAIC00NjYsNyArNDE1LDggQEAgZGVmIHJ1bl9hbGwo Y29uZmlnX2ZpbGUsIHBrZ05hbWUsIGdpdCwgcGF0Y2gsIHNraXBfc2V0dXAsDQogICAgICAgICBy ZXN1bHQuZHV0ID0gZHV0SVANCiANCiAgICAgICAgICMgaW5pdCBkdXQsIHRlc3RlciBjcmINCi0g ICAgICAgIGR0c19jcmJzX2luaXQoY3JiSW5zdCwgc2tpcF9zZXR1cCwgcmVhZF9jYWNoZSwgcHJv amVjdCwgYmFzZV9kaXIsIG5pY3MpDQorICAgICAgICBkdHNfY3Jic19pbml0KA0KKyAgICAgICAg ICAgIGNyYkluc3QsIHNraXBfc2V0dXAsIHJlYWRfY2FjaGUsIHByb2plY3QsIGJhc2VfZGlyLCBu aWNzLCB2aXJ0dHlwZSkNCiANCiAgICAgICAgICMgUnVuIERVVCBwcmVyZXF1aXNpdGVzDQogICAg ICAgICBpZiBkdHNfcnVuX3ByZXJlcXVpc3RpZXMocGtnTmFtZSwgcGF0Y2gpIGlzIEZhbHNlOg0K ZGlmZiAtLWdpdCBhL2ZyYW1ld29yay9leGNlcHRpb24ucHkgYi9mcmFtZXdvcmsvZXhjZXB0aW9u LnB5DQppbmRleCBiZTM4YzE2Li45OGRlZGY0IDEwMDY0NA0KLS0tIGEvZnJhbWV3b3JrL2V4Y2Vw dGlvbi5weQ0KKysrIGIvZnJhbWV3b3JrL2V4Y2VwdGlvbi5weQ0KQEAgLTQ2LDMgKzQ2LDMwIEBA IGNsYXNzIFNTSENvbm5lY3Rpb25FeGNlcHRpb24oRXhjZXB0aW9uKToNCiANCiAgICAgZGVmIF9f c3RyX18oc2VsZik6DQogICAgICAgICByZXR1cm4gJ0Vycm9yIHRyeWluZyB0byBjb25uZWN0IHdp dGggJXMnICUgc2VsZi5ob3N0DQorDQorDQorY2xhc3MgU1NIU2Vzc2lvbkRlYWRFeGNlcHRpb24o RXhjZXB0aW9uKToNCisNCisgICAgIiIiDQorICAgIFNTSCBzZXNzaW9uIGlzIG5vdCBhbGl2ZS4N CisgICAgSXQgY2FuIG5vIGxvbmdlciBiZSB1c2VkLg0KKyAgICAiIiINCisNCisgICAgZGVmIF9f aW5pdF9fKHNlbGYsIGhvc3QpOg0KKyAgICAgICAgc2VsZi5ob3N0ID0gaG9zdA0KKw0KKyAgICBk ZWYgX19zdHJfXyhzZWxmKToNCisgICAgICAgIHJldHVybiAnU1NIIHNlc3Npb24gd2l0aCAlcyBo YXMgYmVlbiBkZWFkJyAlIHNlbGYuaG9zdA0KKw0KKw0KK2NsYXNzIFN0YXJ0Vk1GYWlsZWRFeGNl cHRpb24oRXhjZXB0aW9uKToNCisNCisgICAgIiIiDQorICAgIFN0YXJ0IFZNIGZhaWxlZC4NCisg ICAgIiIiDQorDQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBlcnJvcik6DQorICAgICAgICBzZWxm LmVycm9yID0gZXJyb3INCisNCisgICAgZGVmIF9fc3RyX18oc2VsZik6DQorICAgICAgICByZXR1 cm4gcmVwcihzZWxmLmVycm9yKQ0KZGlmZiAtLWdpdCBhL2ZyYW1ld29yay9sb2dnZXIucHkgYi9m cmFtZXdvcmsvbG9nZ2VyLnB5DQppbmRleCAxODI5ZTE4Li41NTk3ZTMzIDEwMDY0NA0KLS0tIGEv ZnJhbWV3b3JrL2xvZ2dlci5weQ0KKysrIGIvZnJhbWV3b3JrL2xvZ2dlci5weQ0KQEAgLTM1LDYg KzM1LDkgQEAgaW1wb3J0IHN5cw0KIGltcG9ydCBpbnNwZWN0DQogaW1wb3J0IHJlDQogDQorZnJv bSBzZXR0aW5ncyBpbXBvcnQgTE9HX05BTUVfU0VQDQorZnJvbSB1dGlscyBpbXBvcnQgUkVEDQor DQogIiIiDQogRFRTIGxvZ2dlciBtb2R1bGUgd2l0aCBzZXZlcmFsIGxvZyBsZXZlbC4gRFRTIGZy YW13b3JrIGFuZCBUZXN0U3VpdGUgbG9nDQogd2lsbCBzYXZlZCBpbnRvIGRpZmZlcmVudCBsb2cg ZmlsZXMuDQpAQCAtNTgsNiArNjEsOSBAQCBsb2dnaW5nLlNVSVRFX1RFU1RFUl9PVVRQVVQgPSBs b2dnaW5nLkRFQlVHICsgNA0KIGxvZ2dpbmcuRFRTX0lYSUFfQ01EID0gbG9nZ2luZy5JTkZPICsg NQ0KIGxvZ2dpbmcuRFRTX0lYSUFfT1VUUFVUID0gbG9nZ2luZy5ERUJVRyArIDUNCiANCitsb2dn aW5nLkRUU19WSVJURFVUX0NNRCA9IGxvZ2dpbmcuSU5GTyArIDYNCitsb2dnaW5nLkRUU19WSVJU RFVUX09VVFBVVCA9IGxvZ2dpbmcuREVCVUcgKyA2DQorDQogbG9nZ2luZy5hZGRMZXZlbE5hbWUo bG9nZ2luZy5EVFNfRFVUX0NNRCwgJ0RUU19EVVRfQ01EJykNCiBsb2dnaW5nLmFkZExldmVsTmFt ZShsb2dnaW5nLkRUU19EVVRfT1VUUFVULCAnRFRTX0RVVF9PVVRQVVQnKQ0KIGxvZ2dpbmcuYWRk TGV2ZWxOYW1lKGxvZ2dpbmcuRFRTX0RVVF9SRVNVTFQsICdEVFNfRFVUX1JFU1VUTCcpDQpAQCAt NjYsNiArNzIsMTIgQEAgbG9nZ2luZy5hZGRMZXZlbE5hbWUobG9nZ2luZy5EVFNfVEVTVEVSX0NN RCwgJ0RUU19URVNURVJfQ01EJykNCiBsb2dnaW5nLmFkZExldmVsTmFtZShsb2dnaW5nLkRUU19U RVNURVJfT1VUUFVULCAnRFRTX1RFU1RFUl9PVVRQVVQnKQ0KIGxvZ2dpbmcuYWRkTGV2ZWxOYW1l KGxvZ2dpbmcuRFRTX1RFU1RFUl9SRVNVTFQsICdEVFNfVEVTVEVSX1JFU1VMVCcpDQogDQorbG9n Z2luZy5hZGRMZXZlbE5hbWUobG9nZ2luZy5EVFNfSVhJQV9DTUQsICdEVFNfSVhJQV9DTUQnKQ0K K2xvZ2dpbmcuYWRkTGV2ZWxOYW1lKGxvZ2dpbmcuRFRTX0lYSUFfT1VUUFVULCAnRFRTX0lYSUFf T1VUUFVUJykNCisNCitsb2dnaW5nLmFkZExldmVsTmFtZShsb2dnaW5nLkRUU19WSVJURFVUX0NN RCwgJ1ZJUlREVVRfQ01EJykNCitsb2dnaW5nLmFkZExldmVsTmFtZShsb2dnaW5nLkRUU19WSVJU RFVUX09VVFBVVCwgJ1ZJUlREVVRfT1VUUFVUJykNCisNCiBsb2dnaW5nLmFkZExldmVsTmFtZShs b2dnaW5nLlNVSVRFX0RVVF9DTUQsICdTVUlURV9EVVRfQ01EJykNCiBsb2dnaW5nLmFkZExldmVs TmFtZShsb2dnaW5nLlNVSVRFX0RVVF9PVVRQVVQsICdTVUlURV9EVVRfT1VUUFVUJykNCiANCkBA IC04MiwxNSArOTQsMTggQEAgc3RyZWFtX2ZtdCA9ICclKGNvbG9yKXMlKGxldmVsbmFtZSkyMHM6 ICUobWVzc2FnZSlzJyArIFJFU0VUX0NPTE9SDQogbG9nX2RpciA9IE5vbmUNCiANCiANCi1kZWYg UkVEKHRleHQpOg0KLSAgICByZXR1cm4gIlx4MUJbIiArICIzMTsxbSIgKyB0ZXh0ICsgIlx4MUJb IiArICIwbSINCi0NCi0NCiBkZWYgc2V0X3ZlcmJvc2UoKToNCiAgICAgZ2xvYmFsIHZlcmJvc2UN CiAgICAgdmVyYm9zZSA9IFRydWUNCiANCiANCitkZWYgYWRkX3NhbHQoc2FsdCwgbXNnKToNCisg ICAgaWYgbm90IHNhbHQ6DQorICAgICAgICByZXR1cm4gbXNnDQorICAgIGVsc2U6DQorICAgICAg ICByZXR1cm4gJ1slc10gJyAlIHNhbHQgKyBzdHIobXNnKQ0KKw0KKw0KIGNsYXNzIEJhc2VMb2dn ZXJBZGFwdGVyKGxvZ2dpbmcuTG9nZ2VyQWRhcHRlcik6DQogICAgICIiIg0KICAgICBVcHBlciBs YXllciBvZiBvcmlnaW5hbCBsb2dnaW5nIG1vZHVsZS4NCkBAIC0xMzIsNiArMTQ3LDEyIEBAIGNs YXNzIEJhc2VMb2dnZXJBZGFwdGVyKGxvZ2dpbmcuTG9nZ2VyQWRhcHRlcik6DQogICAgIGRlZiBk dHNfaXhpYV9vdXRwdXQoc2VsZiwgbXNnLCAqYXJncywgKiprd2FyZ3MpOg0KICAgICAgICAgc2Vs Zi5sb2cobG9nZ2luZy5EVFNfSVhJQV9PVVRQVVQsIG1zZywgKmFyZ3MsICoqa3dhcmdzKQ0KIA0K KyAgICBkZWYgZHRzX3ZpcnRkdXRfY21kKHNlbGYsIG1zZywgKmFyZ3MsICoqa3dhcmdzKToNCisg ICAgICAgIHNlbGYubG9nKGxvZ2dpbmcuRFRTX1ZJUlREVVRfQ01ELCBtc2csICphcmdzLCAqKmt3 YXJncykNCisNCisgICAgZGVmIGR0c192aXJ0ZHV0X291dHB1dChzZWxmLCBtc2csICphcmdzLCAq Kmt3YXJncyk6DQorICAgICAgICBzZWxmLmxvZyhsb2dnaW5nLkRUU19WSVJURFVUX09VVFBVVCwg bXNnLCAqYXJncywgKiprd2FyZ3MpDQorDQogDQogY2xhc3MgQ29sb3JIYW5kbGVyKGxvZ2dpbmcu U3RyZWFtSGFuZGxlcik6DQogICAgICIiIg0KQEAgLTE1MCw2ICsxNzEsOCBAQCBjbGFzcyBDb2xv ckhhbmRsZXIobG9nZ2luZy5TdHJlYW1IYW5kbGVyKToNCiAgICAgICAgIGxvZ2dpbmcuU1VJVEVf VEVTVEVSX0NNRDogJycsICAjIFNZU1RFTQ0KICAgICAgICAgbG9nZ2luZy5EVFNfSVhJQV9DTUQ6 ICcnLCAgIyBTWVNURU0NCiAgICAgICAgIGxvZ2dpbmcuRFRTX0lYSUFfT1VUUFVUOiAnJywgICMg U1lTVEVNDQorICAgICAgICBsb2dnaW5nLkRUU19WSVJURFVUX0NNRDogJycsICAjIFNZU1RFTQ0K KyAgICAgICAgbG9nZ2luZy5EVFNfVklSVERVVF9PVVRQVVQ6ICcnLCAgIyBTWVNURU0NCiAgICAg ICAgIGxvZ2dpbmcuV0FSTjogJ1wwMzNbMDE7MzNtJywgICMgQk9MRCBZRUxMT1cNCiAgICAgICAg IGxvZ2dpbmcuRFRTX0RVVF9SRVNVTFQ6ICdcMDMzWzAxOzM0bScsICAjIEJPTEQgQkxVRQ0KICAg ICAgICAgbG9nZ2luZy5EVFNfVEVTVEVSX1JFU1VMVDogJ1wwMzNbMDE7MzRtJywgICMgQk9MRCBC TFVFDQpAQCAtMTg5LDYgKzIxMiw4IEBAIGNsYXNzIERUU0xPRyhCYXNlTG9nZ2VyQWRhcHRlcik6 DQogICAgICAgICBzZWxmLmNyYiA9IGNyYg0KICAgICAgICAgc3VwZXIoRFRTTE9HLCBzZWxmKS5f X2luaXRfXyhzZWxmLmxvZ2dlciwgZGljdChjcmI9c2VsZi5jcmIpKQ0KIA0KKyAgICAgICAgc2Vs Zi5zYWx0ID0gJycNCisNCiAgICAgICAgIHNlbGYuZmggPSBOb25lDQogICAgICAgICBzZWxmLmNo ID0gTm9uZQ0KIA0KQEAgLTIyMSwyNCArMjQ2LDI4IEBAIGNsYXNzIERUU0xPRyhCYXNlTG9nZ2Vy QWRhcHRlcik6DQogICAgICAgICAiIiINCiAgICAgICAgIERUUyB3YXJubmluZyBsZXZlbCBsb2cg ZnVuY3Rpb24uDQogICAgICAgICAiIiINCisgICAgICAgIG1lc3NhZ2UgPSBhZGRfc2FsdChzZWxm LnNhbHQsIG1lc3NhZ2UpDQogICAgICAgICBzZWxmLmxvZ2dlci5sb2coc2VsZi53YXJuX2x2bCwg bWVzc2FnZSkNCiANCiAgICAgZGVmIGluZm8oc2VsZiwgbWVzc2FnZSk6DQogICAgICAgICAiIiIN CiAgICAgICAgIERUUyBpbmZvcm1hdGlvbiBsZXZlbCBsb2cgZnVuY3Rpb24uDQogICAgICAgICAi IiINCisgICAgICAgIG1lc3NhZ2UgPSBhZGRfc2FsdChzZWxmLnNhbHQsIG1lc3NhZ2UpDQogICAg ICAgICBzZWxmLmxvZ2dlci5sb2coc2VsZi5pbmZvX2x2bCwgbWVzc2FnZSkNCiANCiAgICAgZGVm IGVycm9yKHNlbGYsIG1lc3NhZ2UpOg0KICAgICAgICAgIiIiDQogICAgICAgICBEVFMgZXJyb3Ig bGV2ZWwgbG9nIGZ1bmN0aW9uLg0KICAgICAgICAgIiIiDQorICAgICAgICBtZXNzYWdlID0gYWRk X3NhbHQoc2VsZi5zYWx0LCBtZXNzYWdlKQ0KICAgICAgICAgc2VsZi5sb2dnZXIubG9nKHNlbGYu ZXJyb3JfbHZsLCBtZXNzYWdlKQ0KIA0KICAgICBkZWYgZGVidWcoc2VsZiwgbWVzc2FnZSk6DQog ICAgICAgICAiIiINCiAgICAgICAgIERUUyBkZWJ1ZyBsZXZlbCBsb2cgZnVuY3Rpb24uDQogICAg ICAgICAiIiINCisgICAgICAgIG1lc3NhZ2UgPSBhZGRfc2FsdChzZWxmLnNhbHQsIG1lc3NhZ2Up DQogICAgICAgICBzZWxmLmxvZ2dlci5sb2coc2VsZi5kZWJ1Z19sdmwsIG1lc3NhZ2UpDQogDQog ICAgIGRlZiBzZXRfbG9nZmlsZV9wYXRoKHNlbGYsIHBhdGgpOg0KQEAgLTI3MCwxNyArMjk5LDM0 IEBAIGNsYXNzIERUU0xPRyhCYXNlTG9nZ2VyQWRhcHRlcik6DQogICAgICAgICBjaCA9IENvbG9y SGFuZGxlcigpDQogICAgICAgICBzZWxmLl9fbG9nX2hhbmRlcihmaCwgY2gpDQogDQotICAgICAg ICBpZiBjcmIgPT0gImR1dCI6DQorICAgICAgICBkZWYgc2V0X3NhbHQoY3JiLCBzdGFydF9mbGFn KToNCisgICAgICAgICAgICBpZiBMT0dfTkFNRV9TRVAgaW4gY3JiOg0KKyAgICAgICAgICAgICAg ICBvbGQgPSAnJXMlcycgJSAoc3RhcnRfZmxhZywgTE9HX05BTUVfU0VQKQ0KKyAgICAgICAgICAg ICAgICBpZiBub3Qgc2VsZi5zYWx0Og0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zYWx0ID0g Y3JiLnJlcGxhY2Uob2xkLCAnJywgMSkNCisNCisgICAgICAgIGlmIGNyYi5zdGFydHN3aXRoKCdk dXQnKToNCiAgICAgICAgICAgICBzZWxmLmluZm9fbHZsID0gbG9nZ2luZy5EVFNfRFVUX0NNRA0K ICAgICAgICAgICAgIHNlbGYuZGVidWdfbHZsID0gbG9nZ2luZy5EVFNfRFVUX09VVFBVVA0KICAg ICAgICAgICAgIHNlbGYud2Fybl9sdmwgPSBsb2dnaW5nLkRUU19EVVRfUkVTVUxUDQotICAgICAg ICBlbGlmIGNyYiA9PSAidGVzdGVyIjoNCisNCisgICAgICAgICAgICBzZXRfc2FsdChjcmIsICdk dXQnKQ0KKyAgICAgICAgZWxpZiBjcmIuc3RhcnRzd2l0aCgndGVzdGVyJyk6DQogICAgICAgICAg ICAgc2VsZi5pbmZvX2x2bCA9IGxvZ2dpbmcuRFRTX1RFU1RFUl9DTUQNCiAgICAgICAgICAgICBz ZWxmLmRlYnVnX2x2bCA9IGxvZ2dpbmcuRFRTX1RFU1RFUl9PVVRQVVQNCiAgICAgICAgICAgICBz ZWxmLndhcm5fbHZsID0gbG9nZ2luZy5EVFNfVEVTVEVSX1JFU1VMVA0KLSAgICAgICAgZWxpZiBj cmIgPT0gIml4aWEiOg0KKw0KKyAgICAgICAgICAgIHNldF9zYWx0KGNyYiwgJ3Rlc3RlcicpDQor ICAgICAgICBlbGlmIGNyYi5zdGFydHN3aXRoKCdpeGlhJyk6DQogICAgICAgICAgICAgc2VsZi5p bmZvX2x2bCA9IGxvZ2dpbmcuRFRTX0lYSUFfQ01EDQogICAgICAgICAgICAgc2VsZi5kZWJ1Z19s dmwgPSBsb2dnaW5nLkRUU19JWElBX09VVFBVVA0KKw0KKyAgICAgICAgICAgIHNldF9zYWx0KGNy YiwgJ2l4aWEnKQ0KKyAgICAgICAgZWxpZiBjcmIuc3RhcnRzd2l0aCgndmlydGR1dCcpOg0KKyAg ICAgICAgICAgIHNlbGYuaW5mb19sdmwgPSBsb2dnaW5nLkRUU19WSVJURFVUX0NNRA0KKyAgICAg ICAgICAgIHNlbGYuZGVidWdfbHZsID0gbG9nZ2luZy5EVFNfVklSVERVVF9PVVRQVVQNCisNCisg ICAgICAgICAgICBzZXRfc2FsdChjcmIsICd2aXJ0ZHV0JykNCiAgICAgICAgIGVsc2U6DQogICAg ICAgICAgICAgc2VsZi5lcnJvcl9sdmwgPSBsb2dnaW5nLkVSUk9SDQogICAgICAgICAgICAgc2Vs Zi53YXJuX2x2bCA9IGxvZ2dpbmcuV0FSTklORw0KQEAgLTI5NiwxNSArMzQyLDE4IEBAIGNsYXNz IERUU0xPRyhCYXNlTG9nZ2VyQWRhcHRlcik6DQogICAgICAgICBjaCA9IENvbG9ySGFuZGxlcigp DQogICAgICAgICBzZWxmLl9fbG9nX2hhbmRlcihmaCwgY2gpDQogDQotICAgICAgICBpZiBjcmIg PT0gImR1dCI6DQorICAgICAgICBpZiBjcmIgPT0gJ2R1dCc6DQogICAgICAgICAgICAgc2VsZi5p bmZvX2x2bCA9IGxvZ2dpbmcuU1VJVEVfRFVUX0NNRA0KICAgICAgICAgICAgIHNlbGYuZGVidWdf bHZsID0gbG9nZ2luZy5TVUlURV9EVVRfT1VUUFVUDQotICAgICAgICBlbGlmIGNyYiA9PSAidGVz dGVyIjoNCisgICAgICAgIGVsaWYgY3JiID09ICd0ZXN0ZXInOg0KICAgICAgICAgICAgIHNlbGYu aW5mb19sdmwgPSBsb2dnaW5nLlNVSVRFX1RFU1RFUl9DTUQNCiAgICAgICAgICAgICBzZWxmLmRl YnVnX2x2bCA9IGxvZ2dpbmcuU1VJVEVfVEVTVEVSX09VVFBVVA0KLSAgICAgICAgZWxpZiBjcmIg PT0gIml4aWEiOg0KKyAgICAgICAgZWxpZiBjcmIgPT0gJ2l4aWEnOg0KICAgICAgICAgICAgIHNl bGYuaW5mb19sdmwgPSBsb2dnaW5nLkRUU19JWElBX0NNRA0KICAgICAgICAgICAgIHNlbGYuZGVi dWdfbHZsID0gbG9nZ2luZy5EVFNfSVhJQV9PVVRQVVQNCisgICAgICAgIGVsaWYgY3JiID09ICd2 aXJ0ZHV0JzoNCisgICAgICAgICAgICBzZWxmLmluZm9fbHZsID0gbG9nZ2luZy5EVFNfVklSVERV VF9DTUQNCisgICAgICAgICAgICBzZWxmLmRlYnVnX2x2bCA9IGxvZ2dpbmcuRFRTX1ZJUlREVVRf T1VUUFVUDQogDQogICAgIGRlZiBsb2dnZXJfZXhpdChzZWxmKToNCiAgICAgICAgICIiIg0KZGlm ZiAtLWdpdCBhL2ZyYW1ld29yay9tYWluLnB5IGIvZnJhbWV3b3JrL21haW4ucHkNCmluZGV4IDNl NDY3ZDAuLjA0OTZiMjAgMTAwNzU1DQotLS0gYS9mcmFtZXdvcmsvbWFpbi5weQ0KKysrIGIvZnJh bWV3b3JrL21haW4ucHkNCkBAIC0xMTcsNiArMTE3LDEwIEBAIHBhcnNlci5hZGRfYXJndW1lbnQo Jy12JywgJy0tdmVyYm9zZScsDQogICAgICAgICAgICAgICAgICAgICBhY3Rpb249J3N0b3JlX3Ry dWUnLA0KICAgICAgICAgICAgICAgICAgICAgaGVscD0nZW5hYmxlIHZlcmJvc2Ugb3V0cHV0LCBh bGwgbWVzc2FnZSBvdXRwdXQgb24gc2NyZWVuJykNCiANCitwYXJzZXIuYWRkX2FyZ3VtZW50KCct LXZpcnR0eXBlJywNCisgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9J2t2bScsDQorICAgICAg ICAgICAgICAgICAgICBoZWxwPSdzZXQgdmlydCB0eXBlLHN1cHBvcnQgbGlidmlydCx4ZW4sa3Zt JykNCisNCiBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRlYnVnJywNCiAgICAgICAgICAgICAgICAg ICAgIGFjdGlvbj0nc3RvcmVfdHJ1ZScsDQogICAgICAgICAgICAgICAgICAgICBoZWxwPSdlbmFi bGUgZGVidWcgbW9kZSwgdXNlciBjYW4gZW50ZXIgZGVidWcgbW9kZSBpbiBwcm9jZXNzJykNCkBA IC0xMzYsNCArMTQwLDUgQEAgaWYgYXJncy5naXQgaXMgbm90IE5vbmU6DQogZHRzLnJ1bl9hbGwo YXJncy5jb25maWdfZmlsZSwgYXJncy5zbmFwc2hvdCwgYXJncy5naXQsDQogICAgICAgICAgICAg YXJncy5wYXRjaCwgYXJncy5za2lwX3NldHVwLCBhcmdzLnJlYWRfY2FjaGUsDQogICAgICAgICAg ICAgYXJncy5wcm9qZWN0LCBhcmdzLnN1aXRlX2RpciwgYXJncy50ZXN0X2Nhc2VzLA0KLSAgICAg ICAgICAgIGFyZ3MuZGlyLCBhcmdzLm91dHB1dCwgYXJncy52ZXJib3NlLCBhcmdzLmRlYnVnKQ0K KyAgICAgICAgICAgIGFyZ3MuZGlyLCBhcmdzLm91dHB1dCwgYXJncy52ZXJib3NlLGFyZ3Mudmly dHR5cGUsDQorICAgICAgICAgICAgYXJncy5kZWJ1ZykNCmRpZmYgLS1naXQgYS9mcmFtZXdvcmsv cHJvamVjdF9kcGRrLnB5IGIvZnJhbWV3b3JrL3Byb2plY3RfZHBkay5weQ0KaW5kZXggODk2Mzky NC4uNjdiZDQ5MiAxMDA2NDQNCi0tLSBhL2ZyYW1ld29yay9wcm9qZWN0X2RwZGsucHkNCisrKyBi L2ZyYW1ld29yay9wcm9qZWN0X2RwZGsucHkNCkBAIC0zOSw3ICszOSw3IEBAIGZyb20gY3JiIGlt cG9ydCBDcmINCiBmcm9tIGR1dCBpbXBvcnQgRHV0DQogZnJvbSB0ZXN0ZXIgaW1wb3J0IFRlc3Rl cg0KIGZyb20gbG9nZ2VyIGltcG9ydCBnZXRMb2dnZXINCi1mcm9tIHNldHRpbmdzIGltcG9ydCBJ WElBDQorZnJvbSBzZXR0aW5ncyBpbXBvcnQgSVhJQSwgYWNjZXB0ZWRfbmljDQogDQogDQogY2xh c3MgRFBES2R1dChEdXQpOg0KQEAgLTUwLDggKzUwLDkgQEAgY2xhc3MgRFBES2R1dChEdXQpOg0K ICAgICAiIiINCiANCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNyYiwgc2VyaWFsaXplcik6DQot ICAgICAgICBzZWxmLk5BTUUgPSAnZHV0Jw0KKyANCiAgICAgICAgIHN1cGVyKERQREtkdXQsIHNl bGYpLl9faW5pdF9fKGNyYiwgc2VyaWFsaXplcikNCisgICAgICAgIHNlbGYudGVzdHBtZCA9IE5v bmUNCiANCiAgICAgZGVmIHNldF90YXJnZXQoc2VsZiwgdGFyZ2V0KToNCiAgICAgICAgICIiIg0K QEAgLTYwLDYgKzYxLDcgQEAgY2xhc3MgRFBES2R1dChEdXQpOg0KICAgICAgICAgU2V0IGh1Z2Vw YWdlIG9uIERVVCBhbmQgaW5zdGFsbCBtb2R1bGVzIHJlcXVpcmVkIGJ5IERQREsuDQogICAgICAg ICBDb25maWd1cmUgZGVmYXVsdCBpeGdiZSBQTUQgZnVuY3Rpb24uDQogICAgICAgICAiIiINCisg ICAgICAgIHNlbGYudGFyZ2V0ID0gdGFyZ2V0DQogICAgICAgICBzZWxmLnNldF90b29sY2hhaW4o dGFyZ2V0KQ0KIA0KICAgICAgICAgIyBzZXQgZW52IHZhcmlhYmxlDQpAQCAtOTksNyArMTAxLDE2 IEBAIGNsYXNzIERQREtkdXQoRHV0KToNCiAgICAgICAgICAgICBvdXQgPSBzZWxmLnNlbmRfZXhw ZWN0KCJsc21vZCB8IGdyZXAgaWdiX3VpbyIsICIjIikNCiAgICAgICAgICAgICBpZiAiaWdiX3Vp byIgaW4gb3V0Og0KICAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXhwZWN0KCJybW1vZCAtZiBp Z2JfdWlvIiwgIiMiLCA3MCkNCi0gICAgICAgICAgICBzZWxmLnNlbmRfZXhwZWN0KCJpbnNtb2Qg Li8iICsgdGFyZ2V0ICsgIi9rbW9kL2lnYl91aW8ua28iLCAiIyIsIDYwKQ0KKyAgICAgICAgICAg IGlmICJydGVfZG9tMF9tbSIgaW4gc2VsZi5zZW5kX2V4cGVjdCgibHNtb2QgfGdyZXAgcnRlX2Rv bTBfbW0iLCAiIyIpOg0KKyAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXhwZWN0KCJybW1vZCAt ZiBydGVfZG1vMF9tbSIsICIjIiwgNzApDQorICAgICAgICAgICAgc2VsZi5zZW5kX2V4cGVjdCgN CisgICAgICAgICAgICAgICAgImluc21vZCAuLyIgKyB0YXJnZXQgKyAiL2ttb2QvaWdiX3Vpby5r byIsICIjIiwgNjApDQorICAgICAgICAgICAgaWYgc2VsZi52aXJ0dHlwZSA9PSAneGVuJzoNCisg ICAgICAgICAgICAgICAgc2VsZi5zZW5kX2V4cGVjdCgNCisgICAgICAgICAgICAgICAgICAgICJp bnNtb2QgLi8iICsgdGFyZ2V0ICsgIi9rbW9kL3J0ZV9kb20wX21tLmtvIiwgIiMiLCA2MCkNCisg ICAgICAgICAgICAgICAgc2VsZi5zZW5kX2V4cGVjdCgNCisgICAgICAgICAgICAgICAgICAgIHIn ZWNobyAxMDI0ID4gL3N5cy9rZXJuZWwvbW0vZG9tMC1tbS9tZW1zaXplLW1CL21lbXNpemUnLCAi IyIsIDcwKQ0KKw0KICAgICAgICAgICAgIG91dCA9IHNlbGYuc2VuZF9leHBlY3QoImxzbW9kIHwg Z3JlcCBpZ2JfdWlvIiwgIiMiKQ0KICAgICAgICAgICAgIGFzc2VydCAoImlnYl91aW8iIGluIG91 dCksICJGYWlsZWQgdG8gaW5zbW9kIGlnYl91aW8iDQogDQpAQCAtMTEwLDcgKzEyMSw3IEBAIGNs YXNzIERQREtkdXQoRHV0KToNCiAgICAgICAgIGJpbmRpbmdfbGlzdCA9ICcnDQogDQogICAgICAg ICBmb3IgKHBjaV9idXMsIHBjaV9pZCkgaW4gc2VsZi5wY2lfZGV2aWNlc19pbmZvOg0KLSAgICAg ICAgICAgIGlmIGR0cy5hY2NlcHRlZF9uaWMocGNpX2lkKToNCisgICAgICAgICAgICBpZiBhY2Nl cHRlZF9uaWMocGNpX2lkKToNCiAgICAgICAgICAgICAgICAgYmluZGluZ19saXN0ICs9ICclcywn ICUgKHBjaV9idXMpDQogDQogICAgICAgICBzZWxmLnNlbmRfZXhwZWN0KCJrbGR1bmxvYWQgaWZf aXhnYmUua28iLCAiIyIpDQpAQCAtMTU4LDYgKzE2OSw5IEBAIGNsYXNzIERQREtkdXQoRHV0KToN CiAgICAgICAgICIiIg0KICAgICAgICAgIyBjbGVhbiBhbGwNCiAgICAgICAgIHNlbGYuc2VuZF9l eHBlY3QoInJtIC1yZiAiICsgdGFyZ2V0LCAiIyIpDQorICAgICAgICBpZiBzZWxmLnZpcnR0eXBl ID09ICd4ZW4nOg0KKyAgICAgICAgICAgIHNlbGYuc2VuZF9leHBlY3QoInNlZCAtaSAtZSAncy9D T05GSUdfUlRFX0xJQlJURV9YRU5fRE9NMD0uKiQvIg0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKyAiQ09ORklHX1JURV9MSUJSVEVfWEVOX0RPTTA9eS8nIGNvbmZpZy9jb21tb25fbGlu dXhhcHAiLCAiIyAiLCAzMCkNCiANCiAgICAgICAgICMgY29tcGlsZQ0KICAgICAgICAgb3V0ID0g c2VsZi5zZW5kX2V4cGVjdCgibWFrZSAtaiBpbnN0YWxsIFQ9JXMgJXMiICUgKHRhcmdldCwgZXh0 cmFfb3B0aW9ucyksICIjICIsIDEyMCkNCkBAIC0xNzgsOSArMTkyLDkgQEAgY2xhc3MgRFBES2R1 dChEdXQpOg0KICAgICAgICAgc2VsZi5zZW5kX2V4cGVjdCgicm0gLXJmICIgKyB0YXJnZXQsICIj IikNCiANCiAgICAgICAgICMgY29tcGlsZQ0KLSAgICAgICAgb3V0ID0gc2VsZi5zZW5kX2V4cGVj dCgibWFrZSAtaiAlZCBpbnN0YWxsIFQ9JXMgQ0M9Z2NjNDgiICUgKHNlbGYubnVtYmVyX29mX2Nv cmVzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRhcmdldCksDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICIjIiwgMTIwKQ0KKyAgICAgICAgb3V0ID0gc2VsZi5zZW5kX2V4cGVjdCgNCisgICAgICAg ICAgICAibWFrZSAtaiAlZCBpbnN0YWxsIFQ9JXMgQ0M9Z2NjNDgiICUNCisgICAgICAgICAgICAo c2VsZi5udW1iZXJfb2ZfY29yZXMsIHRhcmdldCksICIjIiwgMTIwKQ0KIA0KICAgICAgICAgaWYo IkVycm9yIiBpbiBvdXQgb3IgIk5vIHJ1bGUgdG8gbWFrZSIgaW4gb3V0KToNCiAgICAgICAgICAg ICBzZWxmLmxvZ2dlci5lcnJvcigiRVJST1IgLSB0cnkgd2l0aG91dCAnLWonIikNCkBAIC0xOTEs MTAgKzIwNSw3IEBAIGNsYXNzIERQREtkdXQoRHV0KToNCiAgICAgICAgIGFzc2VydCAoIkVycm9y IiBub3QgaW4gb3V0KSwgIkNvbXBpbGF0aW9uIGVycm9yLi4uIg0KICAgICAgICAgYXNzZXJ0ICgi Tm8gcnVsZSB0byBtYWtlIiBub3QgaW4gb3V0KSwgIk5vIHJ1bGUgdG8gbWFrZSBlcnJvci4uLiIN CiANCi0gICAgZGVmIHByZXJlcXVpc2l0ZXMoc2VsZiwgcGtnTmFtZSwgcGF0Y2gpOg0KLSAgICAg ICAgIiIiDQotICAgICAgICBDb3B5IERQREsgcGFja2FnZSB0byBEVVQgYW5kIGFwcGx5IHBhdGNo IGZpbGVzLg0KLSAgICAgICAgIiIiDQorICAgIGRlZiBwcmVwYXJlX3BhY2thZ2Uoc2VsZiwgcGtn TmFtZSwgcGF0Y2gpOg0KICAgICAgICAgaWYgbm90IHNlbGYuc2tpcF9zZXR1cDoNCiAgICAgICAg ICAgICBhc3NlcnQgKG9zLnBhdGguaXNmaWxlKHBrZ05hbWUpIGlzIFRydWUpLCAiSW52YWxpZCBw YWNrYWdlIg0KIA0KQEAgLTIwMiw3ICsyMTMsNyBAQCBjbGFzcyBEUERLZHV0KER1dCk6DQogICAg ICAgICAgICAgIyBUb0RvOiBtYWtlIHRoaXMgY29uZmlndXJhYmxlDQogICAgICAgICAgICAgZHN0 X2RpciA9ICIvdG1wLyINCiAgICAgICAgICAgICBsbCBpc27igJl0IGxpbnV4IGtlcm5lbCBkZWZh dWx0IGNtZGxpbmUsIHNvbWUgbGludXggbm90IGhhdmUgdGhpcyBjbWQsIHdvdWxkIHVzZWQgbHMg dG8gcmVwbGFjZS4NCi0gICAgICAgICAgICBvdXQgPSBzZWxmLnNlbmRfZXhwZWN0KCJscyAlcyAm JiBjZCAlcyIgJSAoZHN0X2RpciwgcF9kaXIpLA0KKyAgICAgICAgICAgIG91dCA9IHNlbGYuc2Vu ZF9leHBlY3QoImxsICVzICYmIGNkICVzIiAlIChkc3RfZGlyLCBwX2RpciksDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiIyIsIHZlcmlmeT1UcnVlKQ0KICAgICAgICAgICAg IGlmIG91dCA9PSAtMToNCiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRGlyZWN0 aXJ5ICVzIG9yICVzIGRvZXMgbm90IGV4aXN0LCINCkBAIC0yNDksNiArMjYwLDE3IEBAIGNsYXNz IERQREtkdXQoRHV0KToNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHNlbGYuYmFzZV9kaXIsIGRzdF9kaXIgKyBwKSwgIiMgIikNCiAgICAgICAgICAgICAgICAg ICAgIGFzc2VydCAiKioqKiIgbm90IGluIG91dA0KIA0KKyAgICAgICAgICAgIHNlbGYuc2Vzc2lv bi5jb3B5X2ZpbGVfdG8oImRlcC9hY2xydWxlLnRneiIsIGRzdF9kaXIpDQorICAgICAgICAgICAg IyB1bnBhY2sgYWNsIHJ1bGUNCisgICAgICAgICAgICBvdXQgPSBzZWxmLnNlbmRfZXhwZWN0KCJ0 YXIgenhmICVzYWNscnVsZS50Z3ogLUMgJXMiICUgKGRzdF9kaXIsIHBfZGlyKSwgIiMgIiwgMjAs IHZlcmlmeT1UcnVlKQ0KKyAgICAgICAgICAgIGlmIG91dCA9PSAtMToNCisgICAgICAgICAgICAg ICAgcmFpc2UgVmFsdWVFcnJvcigiYWNsIHJ1bGUgZXh0cmFjdCBmYWlsdXJlISEhIikNCisNCisg ICAgZGVmIHByZXJlcXVpc2l0ZXMoc2VsZiwgcGtnTmFtZSwgcGF0Y2gpOg0KKyAgICAgICAgIiIi DQorICAgICAgICBDb3B5IERQREsgcGFja2FnZSB0byBEVVQgYW5kIGFwcGx5IHBhdGNoIGZpbGVz Lg0KKyAgICAgICAgIiIiDQorICAgICAgICBzZWxmLnByZXBhcmVfcGFja2FnZShwa2dOYW1lLCBw YXRjaCkNCiAgICAgICAgIHNlbGYuZHV0X3ByZXJlcXVpc2l0ZXMoKQ0KIA0KICAgICBkZWYgYmlu ZF9pbnRlcmZhY2VzX2xpbnV4KHNlbGYsIGRyaXZlcj0naWdiX3VpbycsIG5pY3NfdG9fYmluZD1O b25lKToNCkBAIC0zNTQsMTYgKzM3NiwyMCBAQCBjbGFzcyBEUERLdGVzdGVyKFRlc3Rlcik6DQog ICAgICAgICAgICAgdG90YWxfaHVnZV9wYWdlcyA9IHNlbGYuZ2V0X3RvdGFsX2h1Z2VfcGFnZXMo KQ0KICAgICAgICAgICAgIGlmIHRvdGFsX2h1Z2VfcGFnZXMgPT0gMDoNCiAgICAgICAgICAgICAg ICAgc2VsZi5tb3VudF9odWdlX3BhZ2VzKCkNCi0gICAgICAgICAgICAgICAgc2VsZi5zZXRfaHVn ZV9wYWdlcyg0MDk2KQ0KKyAgICAgICAgICAgICAgICBzZWxmLnNldF9odWdlX3BhZ2VzKDEwMjQp DQogDQogICAgICAgICAgICAgc2VsZi5zZXNzaW9uLmNvcHlfZmlsZV90bygiZGVwL3RnZW4udGd6 IikNCiAgICAgICAgICAgICBzZWxmLnNlc3Npb24uY29weV9maWxlX3RvKCJkZXAvdGNsY2xpZW50 LnRneiIpDQorICAgICAgICAgICAgc2VsZi5zZXNzaW9uLmNvcHlfZmlsZV90bygiZGVwL2FjbHBj YXAudGd6IikNCiAgICAgICAgICAgICAjIHVucGFjayB0Z2VuDQogICAgICAgICAgICAgb3V0ID0g c2VsZi5zZW5kX2V4cGVjdCgidGFyIHp4ZiB0Z2VuLnRneiIsICIjICIpDQogICAgICAgICAgICAg YXNzZXJ0ICJFcnJvciIgbm90IGluIG91dA0KICAgICAgICAgICAgICMgdW5wYWNrIHRjbGNsaWVu dA0KICAgICAgICAgICAgIG91dCA9IHNlbGYuc2VuZF9leHBlY3QoInRhciB6eGYgdGNsY2xpZW50 LnRneiIsICIjICIpDQogICAgICAgICAgICAgYXNzZXJ0ICJFcnJvciIgbm90IGluIG91dA0KKyAg ICAgICAgICAgICMgdW5wYWNsIEFDTCBwY2FwIGZpbGVzDQorICAgICAgICAgICAgb3V0ID0gc2Vs Zi5zZW5kX2V4cGVjdCgidGFyIHp4ZiBhY2xwY2FwLnRneiIsICIjICIpDQorICAgICAgICAgICAg YXNzZXJ0ICJFcnJvciIgbm90IGluIG91dA0KIA0KICAgICAgICAgc2VsZi5zZW5kX2V4cGVjdCgi bW9kcHJvYmUgdWlvIiwgIiMgIikNCiANCkBAIC0zODYsMTAgKzQxMiwxMCBAQCBjbGFzcyBEUERL dGVzdGVyKFRlc3Rlcik6DQogICAgICAgICAiIiINCiAgICAgICAgIGh1Z2VwYWdlc19zaXplID0g c2VsZi5zZW5kX2V4cGVjdCgiYXdrICcvSHVnZXBhZ2VzaXplLyB7cHJpbnQgJDJ9JyAvcHJvYy9t ZW1pbmZvIiwgIiMgIikNCiANCi0gICAgICAgIGlmIGludChodWdlcGFnZXNfc2l6ZSkgPCAoMTAy NCAqIDEwMjQpOg0KLSAgICAgICAgICAgIGFyY2hfaHVnZV9wYWdlcyA9IGh1Z2VwYWdlcyBpZiBo dWdlcGFnZXMgPiAwIGVsc2UgNDA5Ng0KKyAgICAgICAgaWYgaW50KGh1Z2VwYWdlc19zaXplKSA8 ICgyMDQ4ICogMjA0OCk6DQorICAgICAgICAgICAgYXJjaF9odWdlX3BhZ2VzID0gaHVnZXBhZ2Vz IGlmIGh1Z2VwYWdlcyA+IDAgZWxzZSAyMDQ4DQogICAgICAgICAgICAgdG90YWxfaHVnZV9wYWdl cyA9IHNlbGYuZ2V0X3RvdGFsX2h1Z2VfcGFnZXMoKQ0KIA0KLSAgICAgICAgICAgIHNlbGYubW91 bnRfaHVnZV9wYWdlcygpDQotICAgICAgICAgICAgaWYgdG90YWxfaHVnZV9wYWdlcyAhPSBhcmNo X2h1Z2VfcGFnZXM6DQotICAgICAgICAgICAgICAgIHNlbGYuc2V0X2h1Z2VfcGFnZXMoYXJjaF9o dWdlX3BhZ2VzKQ0KKyAgICAgICAgc2VsZi5tb3VudF9odWdlX3BhZ2VzKCkNCisgICAgICAgIGlm IHRvdGFsX2h1Z2VfcGFnZXMgIT0gYXJjaF9odWdlX3BhZ2VzOg0KKyAgICAgICAgICAgIHNlbGYu c2V0X2h1Z2VfcGFnZXMoYXJjaF9odWdlX3BhZ2VzKQ0KLS0gDQoxLjkuMA0KDQo=