From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 84FFA952 for ; Wed, 8 Mar 2017 02:54:07 +0100 (CET) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga105.jf.intel.com with ESMTP; 07 Mar 2017 17:54:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,261,1486454400"; d="scan'208";a="74028617" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga006.fm.intel.com with ESMTP; 07 Mar 2017 17:54:06 -0800 Received: from fmsmsx158.amr.corp.intel.com (10.18.116.75) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 7 Mar 2017 17:54:06 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx158.amr.corp.intel.com (10.18.116.75) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 7 Mar 2017 17:54:05 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.20]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.204]) with mapi id 14.03.0248.002; Wed, 8 Mar 2017 09:54:03 +0800 From: "Liu, Yong" To: "Chen, Zhaoyan" , "dts@dpdk.org" CC: "Chen, Zhaoyan" Thread-Topic: [dts] [PATCH] Add Cryptodev Unit Test Cases Thread-Index: AQHSl6IdaPSfKUu6xUC0AwmA7B2PUqGKLhHQ Date: Wed, 8 Mar 2017 01:54:02 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E62D74EA3@SHSMSX103.ccr.corp.intel.com> References: <20170308002204.12188-1-zhaoyan.chen@intel.com> In-Reply-To: <20170308002204.12188-1-zhaoyan.chen@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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] [PATCH] Add Cryptodev Unit Test Cases 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: Wed, 08 Mar 2017 01:54:08 -0000 Wmhhb3lhbiwNCkZldyBjb21tZW50cyBiZWxvdy4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiBGcm9tOiBkdHMgW21haWx0bzpkdHMtYm91bmNlc0BkcGRrLm9yZ10gT24gQmVoYWxm IE9mIENoZW4sIFpoYW95YW4NCj4gU2VudDogV2VkbmVzZGF5LCBNYXJjaCAwOCwgMjAxNyA4OjIy IEFNDQo+IFRvOiBkdHNAZHBkay5vcmcNCj4gQ2M6IENoZW4sIFpoYW95YW4gPHpoYW95YW4uY2hl bkBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFtkdHNdIFtQQVRDSF0gQWRkIENyeXB0b2RldiBVbml0 IFRlc3QgQ2FzZXMNCj4gDQo+IC0tLQ0KPiAgdGVzdF9wbGFucy91bml0X3Rlc3RzX2NyeXB0b2Rl dl90ZXN0X3BsYW4ucnN0IHwgIDg1ICsrKysrKysrKysrKysNCj4gIHRlc3RzL1Rlc3RTdWl0ZV91 bml0X3Rlc3RzX2NyeXB0b2Rldi5weSAgICAgICB8IDE3NA0KPiArKysrKysrKysrKysrKysrKysr KysrKysrKw0KPiAgMiBmaWxlcyBjaGFuZ2VkLCAyNTkgaW5zZXJ0aW9ucygrKQ0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IHRlc3RfcGxhbnMvdW5pdF90ZXN0c19jcnlwdG9kZXZfdGVzdF9wbGFuLnJz dA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL1Rlc3RTdWl0ZV91bml0X3Rlc3RzX2NyeXB0 b2Rldi5weQ0KPiANCj4gZGlmZiAtLWdpdCBhL3Rlc3RfcGxhbnMvdW5pdF90ZXN0c19jcnlwdG9k ZXZfdGVzdF9wbGFuLnJzdA0KPiBiL3Rlc3RfcGxhbnMvdW5pdF90ZXN0c19jcnlwdG9kZXZfdGVz dF9wbGFuLnJzdA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwLi41NjVk ZWYxDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvdGVzdF9wbGFucy91bml0X3Rlc3RzX2NyeXB0 b2Rldl90ZXN0X3BsYW4ucnN0DQo+IEBAIC0wLDAgKzEsODUgQEANCj4gKy4uIENvcHlyaWdodCAo YykgMjAxMCwyMDExIEludGVsIENvcnBvcmF0aW9uDQoNClBsZWFzZSB1cGRhdGUgY29weXJpZ2h0 IGVuZCB5ZWFyIHRvIDIwMTcuDQoNCj4gKyAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ICsNCj4g KyAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp dGggb3Igd2l0aG91dA0KPiArICAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQo+ICsgICBhcmUgbWV0Og0KPiArDQo+ICsg ICAtIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg Y29weXJpZ2h0DQo+ICsgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCj4gKw0KPiArICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4g YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KPiArICAgICBu b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt ZXIgaW4NCj4gKyAgICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw cm92aWRlZCB3aXRoIHRoZQ0KPiArICAgICBkaXN0cmlidXRpb24uDQo+ICsNCj4gKyAgIC0gTmVp dGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cw0K PiArICAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy b2R1Y3RzIGRlcml2ZWQNCj4gKyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KPiArDQo+ICsgICBUSElTIFNPRlRXQVJFIElT IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTDQo+ICsg ICAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO RywgQlVUIE5PVA0KPiArICAgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCj4gKyAgIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFDQo+ICsgICBDT1BZUklHSFQg T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs DQo+ICsgICBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg REFNQUdFUw0KPiArICAgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SDQo+ICsgICBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikNCj4gKyAgIEhPV0VWRVIg Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD VCwNCj4gKyAgIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF IE9SIE9USEVSV0lTRSkNCj4gKyAgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQNCj4gKyAgIE9GIFRIRSBQT1NTSUJJTElU WSBPRiBTVUNIIERBTUFHRS4NCj4gKw0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KPiArVGVzdGluZyBvZiBDcnlwdG9kZXYgVW5pdCB0ZXN0cw0KPiAr PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArDQo+ICsN Cj4gK0Rlc2NyaXB0aW9uDQo+ICs9PT09PT09PT09PQ0KPiArDQo+ICtUaGlzIGRvY3VtZW50IHBy b3ZpZGVzIHRoZSBwbGFuIGZvciB0ZXN0aW5nIENyeXB0b2RldiBBUEkgdmlhIENyeXB0b2Rldg0K PiB1bml0IHRlc3RzLg0KPiArVW5pdCB0ZXN0cyBpbmNsdWRlIHN1cHBvcnRlZCBIYXJkd2FyZSBh bmQgU29mdHdhcmUgUE1EKHBvbGxpbmcgbW9kZQ0KPiBkZXZpY2UpIGFuZCBzdXBwb3J0ZWQgYWxn b3JpdGhtcy4NCj4gK0NyeXB0b2RldiBBUEkgcHJvdmlkZXMgYWJpbGl0eSB0byBkbyBlbmNyeXB0 aW9uL2RlY3J5cHRpb24gYnkgaW50ZWdyYXRpbmcNCj4gUUFUKEludGVs77+9IFF1aWNrQXNzaXN0 DQoNClBsZWFzZSB1c2UgQCBmb3IgY29weXJpZ2h0LiANCg0KPiArVGVjaG5vbG9neSkgaW50byBE UERLLiBUaGUgUUFUIHByb3ZpZGVzIHBvbGwgbW9kZSBjcnlwdG8gZHJpdmVyIHN1cHBvcnQNCj4g Zm9yDQo+ICtJbnRlbO+/vSBRdWlja0Fzc2lzdCBBZGFwdGVyIDg5NTAgaGFyZHdhcmUgYWNjZWxl cmF0b3IuDQo+ICsNCj4gK1RoZSB0ZXN0aW5nIG9mIENyeXRwb2RldiBBUEkgc2hvdWxkIGJlIHRl c3RlZCB1bmRlciBlaXRoZXIgSW50ZWwNCj4gUXVpY2tBc3Npc3QgVGVjaG5vbG9neSBESDg5NXh4 QyBoYXJkd2FyZQ0KPiArYWNjZWxlcmF0b3Igb3IgQUVTLU5JIGxpYnJhcnkuDQo+ICsNCj4gK1Ro aXMgdGVzdCBzdWl0ZSB3aWxsIHJ1biBhbGwgY3J5cHRvZGV2IHJlbGF0ZWQgdW5pdCB0ZXN0IGNh c2VzLg0KPiBBbHRlcm5hdGl2ZWx5LCB5b3UgY291bGQgZXhlY3V0ZQ0KPiArdGhlIHVuaXQgdGVz dHMgbWFudWFsbHkgYnkgYXBwL3Rlc3QgRFBESyBhcHBsaWNhdGlvbi4NCj4gKw0KPiArVW5pdCBU ZXN0IExpc3QNCj4gKz09PT09PT09PT09PT09DQo+ICsNCj4gKy0gY3J5cHRvZGV2X3FhdF9hdXRv dGVzdA0KPiArLSBjcnlwdG9kZXZfcWF0X3BlcmZ0ZXN0DQo+ICstIGNyeXB0b2Rldl9hZXNuaV9t Yl9wZXJmdGVzdA0KPiArLSBjcnlwdG9kZXZfc3dfc25vdzNnX3BlcmZ0ZXN0DQo+ICstIGNyeXB0 b2Rldl9xYXRfc25vdzNnX3BlcmZ0ZXN0DQo+ICstIGNyeXB0b2Rldl9hZXNuaV9nY21fcGVyZnRl c3QNCj4gKy0gY3J5cHRvZGV2X29wZW5zc2xfcGVyZnRlc3QNCj4gKy0gY3J5cHRvZGV2X3FhdF9j b250aW51YWxfcGVyZnRlc3QNCj4gKy0gY3J5cHRvZGV2X2Flc25pX21iX2F1dG90ZXN0DQo+ICst IGNyeXB0b2Rldl9vcGVuc3NsX2F1dG90ZXN0DQo+ICstIGNyeXB0b2Rldl9hZXNuaV9nY21fYXV0 b3Rlc3QNCj4gKy0gY3J5cHRvZGV2X251bGxfYXV0b3Rlc3QNCj4gKy0gY3J5cHRvZGV2X3N3X3Nu b3czZ19hdXRvdGVzdA0KPiArLSBjcnlwdG9kZXZfc3dfa2FzdW1pX2F1dG90ZXN0DQo+ICstIGNy eXB0b2Rldl9zd196dWNfYXV0b3Rlc3QNCj4gKw0KPiArDQo+ICtUZXN0IENhc2UgU2V0dXANCj4g Kz09PT09PT09PT09PT09PQ0KPiArDQo+ICsxLiBCdWlsZCBEUERLIGFuZCBhcHAvdGVzdCBhcHAN Cj4gKzIuIEJpbmQgY3J5cHRvZGV2IGRldmljZXMgdG8gaWdiX3VpbyBkcml2ZXINCj4gKzMuIE1h bnVhbGx5IHZlcmlmeSB0aGUgYXBwL3Rlc3QgYnkgdGhpcyBjb21tYW5kLCBhcyBleGFtcGxlLCBp biB5b3VyDQo+IGJ1aWxkIGZvbGRlcg0KPiArKiAuL2FwcC90ZXN0IC1jIDEgLW4gMQ0KPiArKiBS VEU+PiBjcnlwdG9kZXZfcWF0X2F1dG90ZXN0DQo+ICsNCj4gK0FsbCBVbml0IFRlc3QgQ2FzZXMg YXJlIGxpc3RlZCBhYm92ZS4NCj4gKw0KPiArRXhwZWN0ZWQgYWxsIHRlc3RzIGNvdWxkIHBhc3Mg aW4gdGVzdGluZy4NCj4gKw0KPiBkaWZmIC0tZ2l0IGEvdGVzdHMvVGVzdFN1aXRlX3VuaXRfdGVz dHNfY3J5cHRvZGV2LnB5DQo+IGIvdGVzdHMvVGVzdFN1aXRlX3VuaXRfdGVzdHNfY3J5cHRvZGV2 LnB5DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAuLjM1NmMyMmMNCj4g LS0tIC9kZXYvbnVsbA0KPiArKysgYi90ZXN0cy9UZXN0U3VpdGVfdW5pdF90ZXN0c19jcnlwdG9k ZXYucHkNCj4gQEAgLTAsMCArMSwxNzQgQEANCj4gKyMgQlNEIExJQ0VOU0UNCj4gKyMNCj4gKyMg Q29weXJpZ2h0KGMpIDIwMTAtMjAxNCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC4NCj4gKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gKyMNCj4gKyMgUmVkaXN0cmlidXRp b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQo+ ICsjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp bmcgY29uZGl0aW9ucw0KPiArIyBhcmUgbWV0Og0KPiArIw0KPiArIyAgICogUmVkaXN0cmlidXRp b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCj4gKyMg ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz Y2xhaW1lci4NCj4gKyMgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQo+ICsjICAgICBub3RpY2UsIHRoaXMgbGlzdCBv ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4NCj4gKyMgICAgIHRo ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUN Cj4gKyMgICAgIGRpc3RyaWJ1dGlvbi4NCj4gKyMgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50 ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMNCj4gKyMgICAgIGNvbnRyaWJ1dG9y cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZA0KPiAr IyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw ZXJtaXNzaW9uLg0KPiArIw0KPiArIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTDQo+ICsjICJBUyBJUyIgQU5EIEFOWSBF WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UDQo+ICsjIExJ TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG SVRORVNTIEZPUg0KPiArIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVA0KPiArIyBPV05FUiBPUiBDT05UUklCVVRPUlMg QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwNCj4gKyMgU1BF Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU IE5PVA0KPiArIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwNCj4gKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZDQo+ICsjIFRIRU9SWSBP RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP UlQNCj4gKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB TlkgV0FZIE9VVCBPRiBUSEUgVVNFDQo+ICsjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQo+ICsNCj4gK2ltcG9ydCB1 dGlscw0KPiArZnJvbSB0ZXN0X2Nhc2UgaW1wb3J0IFRlc3RDYXNlDQo+ICsNCj4gKw0KPiArY2xh c3MgVW5pdFRlc3RzQ3J5cHRvZGV2KFRlc3RDYXNlKToNCj4gKw0KPiArICAgIGRlZiBzZXRfdXBf YWxsKHNlbGYpOg0KPiArDQo+ICsgICAgICAgIHNlbGYuY29yZV9jb25maWcgPSAiMVMvMkMvMVQi DQo+ICsgICAgICAgIHNlbGYubnVtYmVyX29mX3BvcnRzID0gMQ0KPiArICAgICAgICBzZWxmLmR1 dF9wb3J0cyA9IHNlbGYuZHV0LmdldF9wb3J0cyhzZWxmLm5pYykNCj4gKyAgICAgICAgc2VsZi52 ZXJpZnkobGVuKHNlbGYuZHV0X3BvcnRzKSA+PSBzZWxmLm51bWJlcl9vZl9wb3J0cywNCj4gKyAg ICAgICAgICAgICAgICAgICAgIk5vdCBlbm91Z2ggcG9ydHMgZm9yICIgKyBzZWxmLm5pYykNCj4g KyAgICAgICAgc2VsZi5wb3J0c19zb2NrZXQgPSBzZWxmLmR1dC5nZXRfbnVtYV9pZChzZWxmLmR1 dF9wb3J0c1swXSkNCj4gKw0KPiArICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJjb3JlIGNvbmZp ZyA9ICIgKyBzZWxmLmNvcmVfY29uZmlnKQ0KPiArICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJu dW1iZXIgb2YgcG9ydHMgPSAiICsgc3RyKHNlbGYubnVtYmVyX29mX3BvcnRzKSkNCj4gKyAgICAg ICAgc2VsZi5sb2dnZXIuaW5mbygiZHV0IHBvcnRzID0gIiArIHN0cihzZWxmLmR1dF9wb3J0cykp DQo+ICsgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oInBvcnRzX3NvY2tldCA9ICIgKyBzdHIoc2Vs Zi5wb3J0c19zb2NrZXQpKQ0KPiArDQo+ICsgICAgICAgIHNlbGYuY29yZV9tYXNrID0gdXRpbHMu Y3JlYXRlX21hc2soc2VsZi5kdXQuZ2V0X2NvcmVfbGlzdCgNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb3JlX2NvbmZpZywNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0PXNlbGYucG9ydHNfc29ja2V0KSkN Cj4gKyAgICAgICAgc2VsZi5wb3J0X21hc2sgPSB1dGlscy5jcmVhdGVfbWFzayhbc2VsZi5kdXRf cG9ydHNbMF1dKQ0KPiArDQo+ICsgICAgICAgIHNlbGYudHhfcG9ydCA9IHNlbGYudGVzdGVyLmdl dF9sb2NhbF9wb3J0KHNlbGYuZHV0X3BvcnRzWzBdKQ0KPiArICAgICAgICBzZWxmLnJ4X3BvcnQg PSBzZWxmLnRlc3Rlci5nZXRfbG9jYWxfcG9ydChzZWxmLmR1dF9wb3J0c1swXSkNCj4gKw0KPiAr ICAgICAgICBzZWxmLnR4X2ludGVyZmFjZSA9IHNlbGYudGVzdGVyLmdldF9pbnRlcmZhY2Uoc2Vs Zi50eF9wb3J0KQ0KPiArICAgICAgICBzZWxmLnJ4X2ludGVyZmFjZSA9IHNlbGYudGVzdGVyLmdl dF9pbnRlcmZhY2Uoc2VsZi5yeF9wb3J0KQ0KPiArDQo+ICsgICAgICAgIHNlbGYubG9nZ2VyLmlu Zm8oImNvcmUgbWFzayA9ICIgKyBzZWxmLmNvcmVfbWFzaykNCj4gKyAgICAgICAgc2VsZi5sb2dn ZXIuaW5mbygicG9ydCBtYXNrID0gIiArIHNlbGYucG9ydF9tYXNrKQ0KPiArICAgICAgICBzZWxm LmxvZ2dlci5pbmZvKCJ0eCBpbnRlcmZhY2UgPSAiICsgc2VsZi50eF9pbnRlcmZhY2UpDQo+ICsg ICAgICAgIHNlbGYubG9nZ2VyLmluZm8oInJ4IGludGVyZmFjZSA9ICIgKyBzZWxmLnJ4X2ludGVy ZmFjZSkNCj4gKw0KPiArICAgICAgICAjIFJlYnVpbGQgdGhlIGRwZGsgd2l0aCBjcnlwdG9kZXYg cG1kcw0KPiBDT05GSUdfUlRFX0xJQlJURV9QTURfWlVDPW4NCj4gKyAgICAgICAgc2VsZi5kdXQu c2VuZF9leHBlY3QoImV4cG9ydA0KPiBBRVNOSV9NVUxUSV9CVUZGRVJfTElCX1BBVEg9L3Jvb3Qv aXBzZWNfMDQzL2NvZGUvIiwgIiMiKQ0KPiArICAgICAgICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgi ZXhwb3J0DQo+IExJQlNTT19TTk9XM0dfUEFUSD0vcm9vdC9saWJzc29fc25vdzNnL3Nub3czZy8i LCAiIyIpDQo+ICsgICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJleHBvcnQNCj4gTElCU1NP X1pVQ19QQVRIPS9yb290L2xpYnNzb196dWMuMS4wLjEuMS04L3p1YyIsICIjIikNCj4gKyAgICAg ICAgc2VsZi5kdXQuc2VuZF9leHBlY3QoImV4cG9ydA0KPiBMSUJTU09fS0FTVU1JX1BBVEg9L3Jv b3QvTGliU1NPXzBfM18xL2lzZ19jaWQtDQo+IHdpcmVsZXNzX2xpYnMvY2lwaGVycy9rYXN1bWkv IiwgIiMiKQ0KPiArICAgICAgICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgic2VkIC1pDQo+ICdzL0NP TkZJR19SVEVfTElCUlRFX1BNRF9RQVQ9biQvQ09ORklHX1JURV9MSUJSVEVfUE1EX1FBVD15LycN Cj4gY29uZmlnL2NvbW1vbl9iYXNlIiwgIiMgIikNCj4gKyAgICAgICAgc2VsZi5kdXQuc2VuZF9l eHBlY3QoInNlZCAtaQ0KPiAncy9DT05GSUdfUlRFX0xJQlJURV9QTURfQUVTTklfR0NNPW4kL0NP TkZJR19SVEVfTElCUlRFX1BNRF9BRVNOSV9HQ009eS8nDQo+IGNvbmZpZy9jb21tb25fYmFzZSIs ICIjICIpDQo+ICsgICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJzZWQgLWkNCj4gJ3MvQ09O RklHX1JURV9MSUJSVEVfUE1EX05VTExfQ1JZUFRPPW4kL0NPTkZJR19SVEVfTElCUlRFX1BNRF9O VUxMX0NSWVBUTz0NCj4geS8nIGNvbmZpZy9jb21tb25fYmFzZSIsICIjICIpDQo+ICsgICAgICAg IHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJzZWQgLWkNCj4gJ3MvQ09ORklHX1JURV9MSUJSVEVfUE1E X1NOT1czRz1uJC9DT05GSUdfUlRFX0xJQlJURV9QTURfU05PVzNHPXkvJw0KPiBjb25maWcvY29t bW9uX2Jhc2UiLCAiIyAiKQ0KPiArICAgICAgICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgic2VkIC1p DQo+ICdzL0NPTkZJR19SVEVfTElCUlRFX1BNRF9LQVNVTUk9biQvQ09ORklHX1JURV9MSUJSVEVf UE1EX0tBU1VNST15LycNCj4gY29uZmlnL2NvbW1vbl9iYXNlIiwgIiMgIikNCj4gKyAgICAgICAg c2VsZi5kdXQuc2VuZF9leHBlY3QoInNlZCAtaQ0KPiAncy9DT05GSUdfUlRFX0xJQlJURV9QTURf T1BFTlNTTD1uJC9DT05GSUdfUlRFX0xJQlJURV9QTURfT1BFTlNTTD15LycNCj4gY29uZmlnL2Nv bW1vbl9iYXNlIiwgIiMgIikNCj4gKyAgICAgICAgc2VsZi5kdXQuc2VuZF9leHBlY3QoInNlZCAt aQ0KPiAncy9DT05GSUdfUlRFX0xJQlJURV9QTURfQUVTTklfTUI9biQvQ09ORklHX1JURV9MSUJS VEVfUE1EX0FFU05JX01CPXkvJw0KPiBjb25maWcvY29tbW9uX2Jhc2UiLCAiIyAiKQ0KPiArICAg ICAgICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgic2VkIC1pDQo+ICdzL0NPTkZJR19SVEVfTElCUlRF X1BNRF9aVUM9biQvQ09ORklHX1JURV9MSUJSVEVfUE1EX1pVQz15LycNCj4gY29uZmlnL2NvbW1v bl9iYXNlIiwgIiMgIikNCj4gKyAgICAgICAgc2VsZi5kdXQuc2tpcF9zZXR1cCA9IEZhbHNlDQo+ ICsgICAgICAgIHNlbGYuZHV0LmJ1aWxkX2luc3RhbGxfZHBkayhzZWxmLmR1dC50YXJnZXQpDQo+ ICsNCj4gKyAgICAgICAgI291dCA9IHNlbGYuZHV0LmJ1aWxkX2RwZGtfYXBwcygiLi9hcHAvdGVz dC8iKQ0KPiArICAgICAgICAjc2VsZi52ZXJpZnkoJ21ha2U6IExlYXZpbmcgZGlyZWN0b3J5JyBp biBvdXQsICJDb21waWxhdGlvbg0KPiBmYWlsZWQiKQ0KPiArDQo+ICsNCj4gKyAgICAgICAgIyBC aW5kIFFBVCBWRiBkZXZpY2VzDQo+ICsgICAgICAgIG91dCA9IHNlbGYuZHV0LnNlbmRfZXhwZWN0 KCJsc3BjaSAtZDo0NDN8YXdrICd7cHJpbnQgJDF9JyIsICIjICIsDQo+IDEwKQ0KPiArICAgICAg ICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgnZWNobyAiODA4NiAwNDQzIiA+DQo+IC9zeXMvYnVzL3Bj aS9kcml2ZXJzL2lnYl91aW8vbmV3X2lkJywgIiMgIiwgMTApDQo+ICsgICAgICAgIGZvciBsaW5l IGluIG91dC5yZXBsYWNlKCJcciIsICJcbiIpLnJlcGxhY2UoIlxuXG4iLA0KPiAiXG4iKS5zcGxp dCgiXG4iKToNCj4gKyAgICAgICAgICAgIGNtZCA9ICJlY2hvIDAwMDA6e30gPg0KPiAvc3lzL2J1 cy9wY2kvZGV2aWNlcy8wMDAwXDp7fS9kcml2ZXIvdW5iaW5kIi5mb3JtYXQobGluZSwgbGluZS5y ZXBsYWNlKCI6IiwNCj4gIlw6IikpDQo+ICsgICAgICAgICAgICBzZWxmLmR1dC5zZW5kX2V4cGVj dChjbWQsICIjICIsIDEwKQ0KPiArICAgICAgICAgICAgY21kID0gImVjaG8gMDAwMDp7fSA+DQo+ IC9zeXMvYnVzL3BjaS9kcml2ZXJzL2lnYl91aW8vYmluZCIuZm9ybWF0KGxpbmUpDQo+ICsgICAg ICAgICAgICBzZWxmLmR1dC5zZW5kX2V4cGVjdChjbWQsICIjICIsIDEwKQ0KPiArDQo+ICsgICAg ZGVmIHNldF91cChzZWxmKToNCj4gKyAgICAgICAgcGFzcw0KPiArDQo+ICsgICAgZGVmIHRlYXJf ZG93bihzZWxmKToNCj4gKyAgICAgICAgcGFzcw0KPiArDQo+ICsgICAgZGVmIHRlYXJfZG93bl9h bGwoc2VsZik6DQo+ICsgICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJzZWQgLWkNCj4gJ3Mv Q09ORklHX1JURV9MSUJSVEVfUE1EX1FBVD15JC9DT05GSUdfUlRFX0xJQlJURV9QTURfUUFUPW4v Jw0KPiBjb25maWcvY29tbW9uX2Jhc2UiLCAiIyAiKQ0KPiArICAgICAgICBzZWxmLmR1dC5zZW5k X2V4cGVjdCgic2VkIC1pDQo+ICdzL0NPTkZJR19SVEVfTElCUlRFX1BNRF9BRVNOSV9HQ009eSQv Q09ORklHX1JURV9MSUJSVEVfUE1EX0FFU05JX0dDTT1uLycNCj4gY29uZmlnL2NvbW1vbl9iYXNl IiwgIiMgIikNCj4gKyAgICAgICAgc2VsZi5kdXQuc2VuZF9leHBlY3QoInNlZCAtaQ0KPiAncy9D T05GSUdfUlRFX0xJQlJURV9QTURfTlVMTF9DUllQVE89eSQvQ09ORklHX1JURV9MSUJSVEVfUE1E X05VTExfQ1JZUFRPPQ0KPiBuLycgY29uZmlnL2NvbW1vbl9iYXNlIiwgIiMgIikNCj4gKyAgICAg ICAgc2VsZi5kdXQuc2VuZF9leHBlY3QoInNlZCAtaQ0KPiAncy9DT05GSUdfUlRFX0xJQlJURV9Q TURfU05PVzNHPXkkL0NPTkZJR19SVEVfTElCUlRFX1BNRF9TTk9XM0c9bi8nDQo+IGNvbmZpZy9j b21tb25fYmFzZSIsICIjICIpDQo+ICsgICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJzZWQg LWkNCj4gJ3MvQ09ORklHX1JURV9MSUJSVEVfUE1EX0tBU1VNST15JC9DT05GSUdfUlRFX0xJQlJU RV9QTURfS0FTVU1JPW4vJw0KPiBjb25maWcvY29tbW9uX2Jhc2UiLCAiIyAiKQ0KPiArICAgICAg ICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgic2VkIC1pDQo+ICdzL0NPTkZJR19SVEVfTElCUlRFX1BN RF9PUEVOU1NMPXkkL0NPTkZJR19SVEVfTElCUlRFX1BNRF9PUEVOU1NMPW4vJw0KPiBjb25maWcv Y29tbW9uX2Jhc2UiLCAiIyAiKQ0KPiArICAgICAgICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgic2Vk IC1pDQo+ICdzL0NPTkZJR19SVEVfTElCUlRFX1BNRF9BRVNOSV9NQj15JC9DT05GSUdfUlRFX0xJ QlJURV9QTURfQUVTTklfTUI9bi8nDQo+IGNvbmZpZy9jb21tb25fYmFzZSIsICIjICIpDQo+ICsg ICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJzZWQgLWkNCj4gJ3MvQ09ORklHX1JURV9MSUJS VEVfUE1EX1pVQz15JC9DT05GSUdfUlRFX0xJQlJURV9QTURfWlVDPW4vJw0KPiBjb25maWcvY29t bW9uX2Jhc2UiLCAiIyAiKQ0KPiArDQo+ICsgICAgZGVmIHRlc3RfY3J5cHRvZGV2X3FhdF9hdXRv dGVzdChzZWxmKToNCj4gKyAgICAgICAgc2VsZi5fX3J1bl91bml0X3Rlc3QoImNyeXB0b2Rldl9x YXRfYXV0b3Rlc3QiKQ0KPiArDQo+ICsgICAgZGVmIHRlc3RfY3J5cHRvZGV2X3FhdF9wZXJmdGVz dChzZWxmKToNCj4gKyAgICAgICAgc2VsZi5fX3J1bl91bml0X3Rlc3QoImNyeXB0b2Rldl9xYXRf cGVyZnRlc3QiKQ0KPiArDQo+ICsgICAgZGVmIHRlc3RfY3J5cHRvZGV2X2Flc25pX21iX3BlcmZ0 ZXN0KHNlbGYpOg0KPiArICAgICAgICBzZWxmLl9fcnVuX3VuaXRfdGVzdCgiY3J5cHRvZGV2X2Fl c25pX21iX3BlcmZ0ZXN0IikNCj4gKw0KPiArICAgIGRlZiB0ZXN0X2NyeXB0b2Rldl9zd19zbm93 M2dfcGVyZnRlc3Qoc2VsZik6DQo+ICsgICAgICAgIHNlbGYuX19ydW5fdW5pdF90ZXN0KCJjcnlw dG9kZXZfc3dfc25vdzNnX3BlcmZ0ZXN0IikNCj4gKw0KPiArICAgIGRlZiB0ZXN0X2NyeXB0b2Rl dl9xYXRfc25vdzNnX3BlcmZ0ZXN0KHNlbGYpOg0KPiArICAgICAgICBzZWxmLl9fcnVuX3VuaXRf dGVzdCgiY3J5cHRvZGV2X3FhdF9zbm93M2dfcGVyZnRlc3QiKQ0KPiArDQo+ICsgICAgZGVmIHRl c3RfY3J5cHRvZGV2X2Flc25pX2djbV9wZXJmdGVzdChzZWxmKToNCj4gKyAgICAgICAgc2VsZi5f X3J1bl91bml0X3Rlc3QoImNyeXB0b2Rldl9hZXNuaV9nY21fcGVyZnRlc3QiKQ0KPiArDQo+ICsg ICAgZGVmIHRlc3RfY3J5cHRvZGV2X29wZW5zc2xfcGVyZnRlc3Qoc2VsZik6DQo+ICsgICAgICAg IHNlbGYuX19ydW5fdW5pdF90ZXN0KCJjcnlwdG9kZXZfb3BlbnNzbF9wZXJmdGVzdCIpDQo+ICsN Cj4gKyAgICBkZWYgdGVzdF9jcnlwdG9kZXZfcWF0X2NvbnRpbnVhbF9wZXJmdGVzdChzZWxmKToN Cj4gKyAgICAgICAgc2VsZi5fX3J1bl91bml0X3Rlc3QoImNyeXB0b2Rldl9xYXRfY29udGludWFs X3BlcmZ0ZXN0IikNCj4gKw0KPiArICAgIGRlZiB0ZXN0X2NyeXB0b2Rldl9hZXNuaV9tYl9hdXRv dGVzdChzZWxmKToNCj4gKyAgICAgICAgc2VsZi5fX3J1bl91bml0X3Rlc3QoImNyeXB0b2Rldl9h ZXNuaV9tYl9hdXRvdGVzdCIpDQo+ICsNCj4gKyAgICBkZWYgdGVzdF9jcnlwdG9kZXZfb3BlbnNz bF9hdXRvdGVzdChzZWxmKToNCj4gKyAgICAgICAgc2VsZi5fX3J1bl91bml0X3Rlc3QoImNyeXB0 b2Rldl9vcGVuc3NsX2F1dG90ZXN0IikNCj4gKw0KPiArICAgIGRlZiB0ZXN0X2NyeXB0b2Rldl9h ZXNuaV9nY21fYXV0b3Rlc3Qoc2VsZik6DQo+ICsgICAgICAgIHNlbGYuX19ydW5fdW5pdF90ZXN0 KCJjcnlwdG9kZXZfYWVzbmlfZ2NtX2F1dG90ZXN0IikNCj4gKw0KPiArICAgIGRlZiB0ZXN0X2Ny eXB0b2Rldl9udWxsX2F1dG90ZXN0KHNlbGYpOg0KPiArICAgICAgICBzZWxmLl9fcnVuX3VuaXRf dGVzdCgiY3J5cHRvZGV2X251bGxfYXV0b3Rlc3QiKQ0KPiArDQo+ICsgICAgZGVmIHRlc3RfY3J5 cHRvZGV2X3N3X3Nub3czZ19hdXRvdGVzdChzZWxmKToNCj4gKyAgICAgICAgc2VsZi5fX3J1bl91 bml0X3Rlc3QoImNyeXB0b2Rldl9zd19zbm93M2dfYXV0b3Rlc3QiKQ0KPiArDQo+ICsgICAgZGVm IHRlc3RfY3J5cHRvZGV2X3N3X2thc3VtaV9hdXRvdGVzdChzZWxmKToNCj4gKyAgICAgICAgc2Vs Zi5fX3J1bl91bml0X3Rlc3QoImNyeXB0b2Rldl9zd19rYXN1bWlfYXV0b3Rlc3QiKQ0KPiArDQo+ ICsgICAgZGVmIHRlc3RfY3J5cHRvZGV2X3N3X3p1Y19hdXRvdGVzdChzZWxmKToNCj4gKyAgICAg ICAgc2VsZi5fX3J1bl91bml0X3Rlc3QoImNyeXB0b2Rldl9zd196dWNfYXV0b3Rlc3QiKQ0KPiAr DQo+ICsgICAgZGVmIF9fcnVuX3VuaXRfdGVzdChzZWxmLCB0ZXN0c3VpdGUsIHRpbWVvdXQ9NjAw KToNCj4gKyAgICAgICAgcHJpbnQgIlNURVBfVEVTVDogIiArIHRlc3RzdWl0ZQ0KPiArICAgICAg ICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgiZG1lc2cgLUMiLCAiIyAiLCAzMCkNCj4gKyAgICAgICAg c2VsZi5kdXQuc2VuZF9leHBlY3QoIi4ve3RhcmdldH0vYXBwL3Rlc3QgLW4gMSAtYw0KPiAweGYi LmZvcm1hdCh0YXJnZXQ9c2VsZi5kdXQudGFyZ2V0KSwgIlJURT4+IiwgMzApDQo+ICsgICAgICAg IG91dCA9ICIiDQo+ICsgICAgICAgIHRyeToNCj4gKyAgICAgICAgICAgIG91dCA9IHNlbGYuZHV0 LnNlbmRfZXhwZWN0KHRlc3RzdWl0ZSwgIlJURT4+IiwgdGltZW91dCkNCj4gKyAgICAgICAgICAg IHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJxdWl0IiwgIiMgIiwgMzApDQo+ICsgICAgICAgIGV4Y2Vw dCBFeGNlcHRpb24sIGV4Og0KPiArICAgICAgICAgICAgcHJpbnQgZXgNCj4gKyAgICAgICAgICAg IHByaW50ICJydW4gY3J5cHRvZGV2X3VuaXRfdGVzdHMgcHJvY2VzcyBjb3JlZHVtcCINCj4gKyAg ICAgICAgICAgIHNlbGYuZHV0LmFsdF9zZXNzaW9uLnNlbmRfZXhwZWN0KCJraWxsYWxsIHRlc3Qi LCAiIyAiLCAzMCkNCj4gKyAgICAgICAgICAgIGRtZXNnID0gc2VsZi5kdXQuYWx0X3Nlc3Npb24u c2VuZF9leHBlY3QoImRtZXNnIiwgIiMgIiwgMzApDQo+ICsgICAgICAgICAgICBwcmludCBkbWVz Zw0KPiArICAgICAgICBwcmludCBvdXQNCj4gKyAgICAgICAgc2VsZi52ZXJpZnkoIlRlc3QgT0si IGluIG91dCwgIlRlc3QgRmFpbGVkIikNCj4gKw0KPiAtLQ0KPiAxLjkuMw0KDQo=