From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 15D894C92 for ; Thu, 8 Mar 2018 07:02:03 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Mar 2018 22:02:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.47,439,1515484800"; d="scan'208";a="206445905" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga005.jf.intel.com with ESMTP; 07 Mar 2018 22:02:02 -0800 Received: from fmsmsx116.amr.corp.intel.com (10.18.116.20) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 7 Mar 2018 22:02:02 -0800 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by fmsmsx116.amr.corp.intel.com (10.18.116.20) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 7 Mar 2018 22:02:01 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.116]) by shsmsx102.ccr.corp.intel.com ([169.254.2.124]) with mapi id 14.03.0319.002; Thu, 8 Mar 2018 14:01:57 +0800 From: "Liu, Yong" To: "Lin, Xueqin" , "dts@dpdk.org" CC: "Lin, Xueqin" Thread-Topic: [dts] [dts PATCH]: test plans: add ddp gtp ipv6 test plan Thread-Index: AQHTnlW5KYd6e6b8GUOhBYZIJfO8uKPGCLWA Date: Thu, 8 Mar 2018 06:01:57 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E62FAB4B4@SHSMSX103.ccr.corp.intel.com> References: <1517795116-71193-1-git-send-email-xueqin.lin@intel.com> In-Reply-To: <1517795116-71193-1-git-send-email-xueqin.lin@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYzJkN2NhMzQtNzkxNy00MjdjLWFhNjYtMTA1NzliMTVjNTQzIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJFMVR5UWI2aWQ5Q3d6ZHlLbm03RkVKZ1lsRytpZ2dCNDB5U2Q4Q1pXem5JMlBoaHV2OHJVS1h0WTBWeVo2OW42In0= x-ctpclassification: CTP_NT 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] [dts PATCH]: test plans: add ddp gtp ipv6 test plan 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: Thu, 08 Mar 2018 06:02:05 -0000 SGkgWHVlcWluLA0KQXMgdGVzdCBwbGFuIGlzIG5hbWVzIGFzIGlwdjYsIHdoeSBJUHY0IHJlbGF0 ZWQgdGVzdCBjYXNlIGV4aXN0aW5nIGluIHRoaXMgdGVzdCBwbGFuPw0KSXMgaXQgYmV0dGVyIHRo YXQgcGxhY2UgdGhlbSBpbiBkZHBfZ3RwX3Rlc3RfcGxhbj8NCg0KK1Rlc3QgQ2FzZTogSW5uZXIg SVAgZHN0IGNvbnRyb2xzIEdUUC1VIElQdjQgcXVldWUgaW4gcXVldWUgcmVnaW9uDQorVGVzdCBD YXNlOiBURUlEIGNvbnRyb2xzIEdUUC1VIElQdjQgcXVldWUgaW4gcXVldWUgcmVnaW9uDQoNClRo YW5rcywNCk1hcnZpbg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGR0 cyBbbWFpbHRvOmR0cy1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgWHVlcWluIExpbg0K PiBTZW50OiBNb25kYXksIEZlYnJ1YXJ5IDA1LCAyMDE4IDk6NDUgQU0NCj4gVG86IGR0c0BkcGRr Lm9yZw0KPiBDYzogTGluLCBYdWVxaW4gPHh1ZXFpbi5saW5AaW50ZWwuY29tPg0KPiBTdWJqZWN0 OiBbZHRzXSBbZHRzIFBBVENIXTogdGVzdCBwbGFuczogYWRkIGRkcCBndHAgaXB2NiB0ZXN0IHBs YW4NCj4gDQo+IC0tLQ0KPiAgdGVzdF9wbGFucy9kZHBfZ3RwX2lwdjZfdGVzdF9wbGFuLnJzdCB8 IDcwMA0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ICAxIGZpbGUgY2hh bmdlZCwgNzAwIGluc2VydGlvbnMoKykNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0X3BsYW5z L2RkcF9ndHBfaXB2Nl90ZXN0X3BsYW4ucnN0DQo+IA0KPiBkaWZmIC0tZ2l0IGEvdGVzdF9wbGFu cy9kZHBfZ3RwX2lwdjZfdGVzdF9wbGFuLnJzdA0KPiBiL3Rlc3RfcGxhbnMvZGRwX2d0cF9pcHY2 X3Rlc3RfcGxhbi5yc3QNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMC4u MGU4NDViZA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL3Rlc3RfcGxhbnMvZGRwX2d0cF9pcHY2 X3Rlc3RfcGxhbi5yc3QNCj4gQEAgLTAsMCArMSw3MDAgQEANCj4gKy4uIENvcHlyaWdodCAoYykg PDIwMTc+LCBJbnRlbCBDb3Jwb3JhdGlvbg0KPiArICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4g Kw0KPiArICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt cywgd2l0aCBvciB3aXRob3V0DQo+ICsgICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCj4gKyAgIGFyZSBtZXQ6DQo+ICsN Cj4gKyAgIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh Ym92ZSBjb3B5cmlnaHQNCj4gKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KPiArDQo+ICsgICAtIFJlZGlzdHJpYnV0aW9u cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQo+ICsg ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz Y2xhaW1lciBpbg0KPiArICAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp YWxzIHByb3ZpZGVkIHdpdGggdGhlDQo+ICsgICAgIGRpc3RyaWJ1dGlvbi4NCj4gKw0KPiArICAg LSBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2Yg aXRzDQo+ICsgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v dGUgcHJvZHVjdHMgZGVyaXZlZA0KPiArICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQo+ICsNCj4gKyAgIFRISVMgU09GVFdB UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMN Cj4gKyAgICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D TFVESU5HLCBCVVQgTk9UDQo+ICsgICBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KPiArICAgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUNCj4gKyAgIENPUFlS SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ UkVDVCwNCj4gKyAgIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO VElBTCBEQU1BR0VTDQo+ICsgICAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1INCj4gKyAgIFNFUlZJQ0VTOyBMT1NTIE9GIFVT RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQ0KPiArICAgSE9X RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP TlRSQUNULA0KPiArICAgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ R0VOQ0UgT1IgT1RIRVJXSVNFKQ0KPiArICAgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRA0KPiArICAgT0YgVEhFIFBPU1NJ QklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KPiArDQo+ICs9PT09PT09PT09PT09DQo+ICtERFAgR1RQ IElQdjYNCj4gKz09PT09PT09PT09PT0NCj4gKw0KPiArRERQIHByb2ZpbGUgMHg4MDAwMDAwOCBh ZGRzIHN1cHBvcnQgZm9yIEdUUCB3aXRoIElQdjQgb3IgSVB2NiBwYXlsb2FkLg0KPiArVGhlIHRl c3QgY2FzZSBwbGFuIGZvY3VzIG9uIG1vcmUgRERQIEdUUCByZXF1aXJlbWVudHMgYXMgYmVsb3cu IEZvciBERFANCj4gK0dUUCBpbnRyb2R1Y3Rpb24sIHBsZWFzZSByZWZlciB0byBERFAgR1RQIHRl c3QgcGxhbi4NCj4gKw0KPiArUmVxdWlyZW1lbnRzDQo+ICs9PT09PT09PT09PT0NCj4gKzEuIEdU UC1DIGRpc3RyaWJ1dGVkIHRvIGNvbnRyb2wgcGxhbmUgcXVldWVzIHJlZ2lvbiB1c2luZyBvdXRl ciBJUA0KPiArICAgZGVzdGluYXRpb24gYWRkcmVzcyBhcyBoYXNoIGlucHV0IHNldCAodGhlcmUg aXMgbm8gaW5uZXIgSVAgaGVhZGVycw0KPiArICAgZm9yIEdUUC1DIHBhY2tldHMpDQo+ICsyLiBH VFAtVSBkaXN0cmlidXRlZCB0byBkYXRhIHBsYW5lIHF1ZXVlcyByZWdpb24gdXNpbmcgaW5uZXIg SVAgc291cmNlDQo+ICsgICBhZGRyZXNzIGFzIGhhc2ggaW5wdXQgc2V0Lg0KPiArMy4gR1RQLUMg ZGlzdHJpYnV0ZWQgdG8gY29udHJvbCBwbGFuZSBxdWV1ZXMgcmVnaW9uIHVzaW5nIFRFSUQgYXMg aGFzaA0KPiArICAgaW5wdXQgc2V0Lg0KPiArNC4gR1RQLVUgZGlzdHJpYnV0ZWQgdG8gZGF0YSBw bGFuZSBxdWV1ZXMgcmVnaW9uIHVzaW5nIFRFSUQgYW5kIGlubmVyDQo+ICsgICBwYWNrZXQgNS10 dXBsZSBhcyBoYXNoIGlucHV0IHNldC4NCj4gKw0KPiArRlZMIHN1cHBvcnRzIHF1ZXVlIHJlZ2lv bnMgY29uZmlndXJhdGlvbiBmb3IgUlNTLCBzbyBkaWZmZXJlbnQgdHJhZmZpYw0KPiArY2xhc3Nl cyBvciBkaWZmZXJlbnQgcGFja2V0IGNsYXNzaWZpY2F0aW9uIHR5cGVzIGNhbiBiZSBzZXBhcmF0 ZWQgdG8NCj4gK2RpZmZlcmVudCBxdWV1ZSByZWdpb25zIHdoaWNoIGluY2x1ZGVzIHNldmVyYWwg cXVldWVzLiBTdXBwb3J0IHRvIHNldA0KPiAraGFzaCBpbnB1dCBzZXQgaW5mbyBmb3IgUlNTIGZs ZXhpYmxlIHBheWxvYWQsIHRoZW4gZW5hYmxlIG5ldw0KPiArcHJvdG9jb2xzJyBSU1MuDQo+ICtE eW5hbWljIGZsb3cgdHlwZSBmZWF0dXJlIGludHJvZHVjZXMgR1RQIHBjdHlwZSBhbmQgZmxvdyB0 eXBlLCBkZXNpZ24NCj4gK2FuZCBhZGQgcXVldWUgcmVnaW9uL3F1ZXVlIHJhbmdlIG1hcHBpbmcg YXMgYmVsb3cgdGFibGUuIEZvciBtb3JlDQo+IGRldGFpbGVkDQo+ICthbmQgcmVsYXRpdmUgaW5m b3JtYXRpb24sIHBsZWFzZSByZWZlciB0byBkeW5hbWljIGZsb3cgdHlwZSBhbmQgcXVldWUNCj4g K3JlZ2lvbiB0ZXN0IHBsYW46Og0KPiArDQo+ICsgICAgKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tDQo+ICsNCj4gKyAg ICB8IFBhY2tldCBUeXBlIHwgICBQQ1R5cGVzICB8IEZsb3cgVHlwZXMgfCBRdWV1ZSByZWdpb24g fCBRdWV1ZSByYW5nZQ0KPiB8DQo+ICsgICAgKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tDQo+ICsNCj4gKyAgICB8IEdU UC1VIElQdjQgIHwgICAgIDIyICAgICB8ICAgIDI2ICAgICAgfCAgICAgIDAgICAgICAgfCAgICAg MX44DQo+IHwNCj4gKyAgICArLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0NCj4gKw0KPiArICAgIHwgR1RQLVUgSVB2NiAg fCAgICAgMjMgICAgIHwgICAgMjMgICAgICB8ICAgICAgMSAgICAgICB8ICAgICAxMH4yNQ0KPiB8 DQo+ICsgICAgKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tDQo+ICsNCj4gKyAgICB8IEdUUC1VIFBBWTQgIHwgICAgIDI0 ICAgICB8ICAgIDI0ICAgICAgfCAgICAgIDIgICAgICAgfCAgICAgMzB+MzcNCj4gfA0KPiArICAg ICstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLQ0KPiArDQo+ICsgICAgfCBHVFAtQyBQQVk0ICB8ICAgICAyNSAgICAgfCAg ICAyNSAgICAgIHwgICAgICAzICAgICAgIHwgICAgIDQwfjU1DQo+IHwNCj4gKyAgICArLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0NCj4gKw0KPiArDQo+ICtQcmVyZXF1aXNpdGVzDQo+ICs9PT09PT09PT09PT09DQo+ICsN Cj4gKzEuIEhvc3QgUEYgaW4gRFBESyBkcml2ZXI6Og0KPiArDQo+ICsgICAgLi90b29scy9kcGRr LWRldmJpbmQucHkgLWIgaWdiX3VpbyA4MTowMC4wDQo+ICsNCj4gKzIuIFN0YXJ0IHRlc3RwbWQg b24gaG9zdCwgc2V0IGNoYWluZWQgcG9ydCB0b3BvbG9neSBtb2RlLCBhZGQgdHhxL3J4cSB0bw0K PiArICAgZW5hYmxlIG11bHRpLXF1ZXVlcy4gSW4gZ2VuZXJhbCwgUEYncyBtYXggcXVldWUgaXMg NjQ6Og0KPiArDQo+ICsgICAgLi90ZXN0cG1kIC1jIGYgLW4gNCAtLSAtaSAtLXBvcnQtdG9wb2xv Z3k9Y2hhaW5lZCAtLXR4cT02NCAtLXJ4cT02NA0KPiArDQo+ICtMb2FkL2RlbGV0ZSBkeW5hbWlj IGRldmljZSBwZXJzb25hbGl6YXRpb24NCj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KPiArDQo+ICsxLiBTdG9wIHRlc3RwbWQgcG9ydCBiZWZvcmUgbG9hZGlu ZyBwcm9maWxlOjoNCj4gKw0KPiArICAgIHRlc3RwbWQgPiBwb3J0IHN0b3AgYWxsDQo+ICsNCj4g KzIuIExvYWQgZ3RwLnBrZ28gZmlsZSB0byB0aGUgbWVtb3J5IGJ1ZmZlciwgc2F2ZSBvcmlnaW5h bCBjb25maWd1cmF0aW9uDQo+ICsgICBhbmQgcmV0dXJuIGluIHRoZSBzYW1lIGJ1ZmZlciB0byB0 aGUgZ3RwLmJhayBmaWxlOjoNCj4gKw0KPiArICAgIHRlc3RwbWQgPiBkZHAgYWRkIChwb3J0X2lk KSAvdG1wL2d0cC5wa2dvLC90bXAvZ3RwLmJhaw0KPiArDQo+ICszLiBSZW1vdmUgcHJvZmlsZSBm cm9tIHRoZSBuZXR3b3JrIGFkYXB0ZXIgYW5kIHJlc3RvcmUgb3JpZ2luYWwNCj4gKyAgIGNvbmZp Z3VyYXRpb246Og0KPiArDQo+ICsgICAgdGVzdHBtZCA+IGRkcCBkZWwgKHBvcnRfaWQpIC90bXAv Z3RwLmJhaw0KPiArDQo+ICs0LiBTdGFydCB0ZXN0cG1kIHBvcnQ6Og0KPiArDQo+ICsgICAgdGVz dHBtZCA+IHBvcnQgc3RhcnQgYWxsDQo+ICsNCj4gK05vdGU6DQo+ICsNCj4gKzEuIEd0cC5wa2dv IHByb2ZpbGUgaXMgbm90IHJlbGVhc2VkIGJ5IE5EIHlldCwgb25seSBoYXZlIGVuZ2luZWVyIHZl cnNpb24NCj4gZm9yDQo+ICsgICBpbnRlcm5hbCB1c2Ugc28gZmFyLiBQbGFuIHRvIGtlZXAgcHVi bGljIHJlZmVyZW5jZSBwcm9maWxlcyBhdCBJbnRlbA0KPiArICAgRGV2ZWxvcGVyIFpvbmUsIHJl bGVhc2UgdmVyc2lvbnMgb2YgcHJvZmlsZXMgYW5kIHN1cHBseSBsaW5rIGxhdGVyLg0KPiArDQo+ ICsyLiBMb2FkaW5nIEREUCBpcyB0aGUgcHJlcmVxdWlzaXRlIGZvciBiZWxvdyBHVFAgcmVsYXRp dmUgY2FzZXMuIExvYWQNCj4gKyAgIHByb2ZpbGUgYWdhaW4gb25jZSByZXN0YXJ0aW5nIHRlc3Rw bWQgdG8gbGV0IHNvZnR3YXJlIGRldGVjdCB0aGlzDQo+ICsgICBldmVudCwgYWx0aG91Z2ggaGFz IOKAnHByb2ZpbGUgaGFzIGFscmVhZHkgZXhpc3RlZOKAnSByZW1pbmRlci4gT3BlcmF0ZQ0KPiAr ICAgZ2xvYmFsIHJlc2V0IG9yIGxhbmNvbmYgdG9vbCB0byByZWNvdmVyIG9yaWdpbmFsIHNldHRp bmcuIEdsb2JhbCByZXNldA0KPiArICAgdHJpZ2dlciByZWcgaXMgMHhiODE5MCwgZmlyc3QgY21k IGlzIGNvcmUgcmVzZXQsIHNlY29uZCBjbWQgaXMgZ2xvYmFsDQo+ICsgICByZXNldDo6DQo+ICsN Cj4gKyAgICB0ZXN0cG1kID4gd3JpdGUgcmVnIDAgMHhiODE5MCAxDQo+ICsgICAgdGVzdHBtZCA+ IHdyaXRlIHJlZyAwIDB4YjgxOTAgMg0KPiArDQo+ICsNCj4gK0Zsb3cgdHlwZSBhbmQgcXVldWUg cmVnaW9uIG1hcHBpbmcgc2V0dGluZw0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09DQo+ICsxLiBBcyBhYm92ZSBtYXBwaW5nIHRhYmxlLCBzZXQgcXVldWUgcmVn aW9uIG9uIGEgcG9ydDo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBzZXQgcG9ydCAwIHF1ZXVlLXJl Z2lvbiByZWdpb25faWQgMCBxdWV1ZV9zdGFydF9pbmRleCAxDQo+IHF1ZXVlX251bSA4DQo+ICsg ICAgdGVzdHBtZD4gc2V0IHBvcnQgMCBxdWV1ZS1yZWdpb24gcmVnaW9uX2lkIDEgcXVldWVfc3Rh cnRfaW5kZXggMTANCj4gcXVldWVfbnVtIDE2DQo+ICsgICAgdGVzdHBtZD4gc2V0IHBvcnQgMCBx dWV1ZS1yZWdpb24gcmVnaW9uX2lkIDIgcXVldWVfc3RhcnRfaW5kZXggMzANCj4gcXVldWVfbnVt IDgNCj4gKyAgICB0ZXN0cG1kPiBzZXQgcG9ydCAwIHF1ZXVlLXJlZ2lvbiByZWdpb25faWQgMyBx dWV1ZV9zdGFydF9pbmRleCA0MA0KPiBxdWV1ZV9udW0gMTYNCj4gKw0KPiArMi4gU2V0IHRoZSBt YXBwaW5nIG9mIGZsb3cgdHlwZSB0byByZWdpb24gaW5kZXggb24gYSBwb3J0OjoNCj4gKw0KPiAr ICAgIHRlc3RwbWQ+IHNldCBwb3J0IDAgcXVldWUtcmVnaW9uIHJlZ2lvbl9pZCAwIGZsb3d0eXBl IDI2DQo+ICsgICAgdGVzdHBtZD4gc2V0IHBvcnQgMCBxdWV1ZS1yZWdpb24gcmVnaW9uX2lkIDEg Zmxvd3R5cGUgMjMNCj4gKyAgICB0ZXN0cG1kPiBzZXQgcG9ydCAwIHF1ZXVlLXJlZ2lvbiByZWdp b25faWQgMiBmbG93dHlwZSAyNA0KPiArICAgIHRlc3RwbWQ+IHNldCBwb3J0IDAgcXVldWUtcmVn aW9uIHJlZ2lvbl9pZCAzIGZsb3d0eXBlIDI1DQo+ICsgICAgdGVzdHBtZD4gc2V0IHBvcnQgMCBx dWV1ZS1yZWdpb24gZmx1c2ggb24NCj4gKw0KPiArMy4gZmx1c2ggYWxsIHF1ZXVlIHJlZ2lvbnM6 Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2V0IHBvcnQgMCBxdWV1ZS1yZWdpb24gZmx1c2ggb2Zm DQo+ICsNCj4gKw0KPiArVGVzdCBDYXNlOiBPdXRlciBJUHY2IGRzdCBjb250cm9scyBHVFAtQyBx dWV1ZSBpbiBxdWV1ZSByZWdpb24NCj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ICsNCj4gKzEuIENoZWNrIGZsb3cgcHR5 cGUgdG8gcGN0eXBlIG1hcHBpbmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAg cGN0eXBlIG1hcHBpbmcNCj4gKw0KPiArMi4gVXBkYXRlIEdUUC1DIGZsb3cgdHlwZSBpZCAyNSB0 byBwY3l0cGUgaWQgMjUgbWFwcGluZyBpdGVtOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQg Y29uZmlnIDAgcGN0eXBlIG1hcHBpbmcgdXBkYXRlIDI1IDI1DQo+ICsNCj4gKzMuIENoZWNrIGZs b3cgcHR5cGUgdG8gcGN0eXBlIG1hcHBpbmcgYWRkcyAyNSB0aGlzIG1hcHBpbmcNCj4gKw0KPiAr NC4gUmVzZXQgR1RQLUMgaGFzaCBjb25maWd1cmU6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9y dCBjb25maWcgMCBwY3R5cGUgMjUgaGFzaF9pbnNldCBjbGVhciBhbGwNCj4gKw0KPiArNS4gT3V0 ZXIgZHN0IGFkZHJlc3Mgd29yZHMgYXJlIDUwfjU3LCBlbmFibGUgaGFzaCBpbnB1dCBzZXQgZm9y IG91dGVyDQo+IGRzdDo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlw ZSAyNSBoYXNoX2luc2V0IHNldCBmaWVsZCA1MA0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmln IDAgcGN0eXBlIDI1IGhhc2hfaW5zZXQgc2V0IGZpZWxkIDUxDQo+ICsgICAgdGVzdHBtZD4gcG9y dCBjb25maWcgMCBwY3R5cGUgMjUgaGFzaF9pbnNldCBzZXQgZmllbGQgNTINCj4gKyAgICB0ZXN0 cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyNSBoYXNoX2luc2V0IHNldCBmaWVsZCA1Mw0KPiAr ICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDI1IGhhc2hfaW5zZXQgc2V0IGZpZWxk IDU0DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjUgaGFzaF9pbnNldCBz ZXQgZmllbGQgNTUNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyNSBoYXNo X2luc2V0IHNldCBmaWVsZCA1Ng0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBl IDI1IGhhc2hfaW5zZXQgc2V0IGZpZWxkIDU3DQo+ICsNCj4gKzYuIEVuYWJsZSBmbG93IHR5cGUg aWQgMjUncyBSU1M6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgYWxsIHJzcyAy NQ0KPiArDQo+ICs3LiBTdGFydCB0ZXN0cG1kLCBzZXQgZndkIHJ4b25seSwgZW5hYmxlIG91dHB1 dCBwcmludA0KPiArDQo+ICs4LiBTZW5kIG91dGVyIGRzdCBHVFAtQyBwYWNrZXQsIGNoZWNrIFJT UyBjb3VsZCB3b3JrLCB2ZXJpZnkgdGhlIHF1ZXVlIGlzDQo+ICsgICBiZXR3ZWVuIDQwIGFuZCA1 NSwgcHJpbnQgUEtUX1JYX1JTU19IQVNIOjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUHY2KHNy Yz0iMTAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3MDowMDAxIiwNCj4gKyAgICBkc3Q9 IjIwMDE6MGRiODo4NWEzOjAwMDA6MDAwMDo4YTJlOjAzNzA6MDAwMSIpL1VEUChkcG9ydD0yMTIz KS8NCj4gKyAgICBHVFBfVV9IZWFkZXIoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICs5LiBTZW5kIGRp ZmZlcmVudCBvdXRlciBkc3QgR1RQLUMgcGFja2V0LCBjaGVjayBwbWQgcmVjZWl2ZXMgcGFja2V0 IGZyb20NCj4gKyAgIGRpZmZlcmVudCBxdWV1ZSBidXQgYmV0d2VlbiA0MCBhbmQgNTU6Og0KPiAr DQo+ICsgICAgcD1FdGhlcigpL0lQdjYoc3JjPSIxMDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEy ZTowMzcwOjAwMDEiLA0KPiArICAgIGRzdD0iMjAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6 MDM3MDowMDAyIikvVURQKGRwb3J0PTIxMjMpLw0KPiArICAgIEdUUF9VX0hlYWRlcigpL1Jhdygn eCcqMjApDQo+ICsNCj4gKzEwLiBTZW5kIGRpZmZlcmVudCBvdXRlciBzcmMgR1RQLUMgcGFja2V0 LCBjaGVjayBwbWQgcmVjZWl2ZXMgcGFja2V0IGZyb20NCj4gKyAgICBzYW1lIHF1ZXVlOjoNCj4g Kw0KPiArICAgIHA9RXRoZXIoKS9JUHY2KHNyYz0iMTAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhh MmU6MDM3MDowMDAyIiwNCj4gKyAgICBkc3Q9IjIwMDE6MGRiODo4NWEzOjAwMDA6MDAwMDo4YTJl OjAzNzA6MDAwMSIpLw0KPiArICAgIFVEUChkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIoKS9SYXco J3gnKjIwKQ0KPiArDQo+ICsNCj4gK1Rlc3QgQ2FzZTogVEVJRCBjb250cm9scyBHVFAtQyBxdWV1 ZSBpbiBxdWV1ZSByZWdpb24NCj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0NCj4gKw0KPiArMS4gQ2hlY2sgZmxvdyBwdHlwZSB0byBwY3R5cGUg bWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGlu Zw0KPiArDQo+ICsyLiBVcGRhdGUgR1RQLUMgZmxvdyB0eXBlIGlkIDI1IHRvIHBjeXRwZSBpZCAy NSBtYXBwaW5nIGl0ZW06Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5 cGUgbWFwcGluZyB1cGRhdGUgMjUgMjUNCj4gKw0KPiArMy4gQ2hlY2sgZmxvdyBwdHlwZSB0byBw Y3R5cGUgbWFwcGluZyBhZGRzIDI1IHRoaXMgbWFwcGluZw0KPiArDQo+ICs0LiBSZXNldCBHVFAt QyBoYXNoIGNvbmZpZ3VyZTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBj dHlwZSAyNSBoYXNoX2luc2V0IGNsZWFyIGFsbA0KPiArDQo+ICs1LiBUZWlkIHdvcmRzIGFyZSA0 NCBhbmQgNDUsIGVuYWJsZSBoYXNoIGlucHV0IHNldCBmb3IgdGVpZDo6DQo+ICsNCj4gKyAgICB0 ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyNSBoYXNoX2luc2V0IHNldCBmaWVsZCA0NA0K PiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDI1IGhhc2hfaW5zZXQgc2V0IGZp ZWxkIDQ1DQo+ICsNCj4gKzYuIEVuYWJsZSBmbG93IHR5cGUgaWQgMjUncyBSU1M6Og0KPiArDQo+ ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgYWxsIHJzcyAyNQ0KPiArDQo+ICs3LiBTdGFydCB0 ZXN0cG1kLCBzZXQgZndkIHJ4b25seSwgZW5hYmxlIG91dHB1dCBwcmludA0KPiArDQo+ICs4LiBT ZW5kIHRlaWQgR1RQLUMgcGFja2V0LCBjaGVjayBSU1MgY291bGQgd29yaywgdmVyaWZ5IHRoZSBx dWV1ZSBpcw0KPiArICAgYmV0d2VlbiA0MCBhbmQgNTUsIHByaW50IFBLVF9SWF9SU1NfSEFTSDo6 DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTIzKS9HVFBfVV9IZWFk ZXIodGVpZD0weGZlKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICs5LiBTZW5kIGRpZmZlcmVudCB0ZWlk IEdUUC1DIHBhY2tldCwgY2hlY2sgcmVjZWl2ZSBwYWNrZXQgZnJvbSBkaWZmZXJlbnQNCj4gKyAg IHF1ZXVlIGJ1dCBiZXR3ZWVuIDQwIGFuZCA1NTo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVB2 NigpL1VEUChkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weGZmKS9SYXcoJ3gnKjIwKQ0K PiArDQo+ICsNCj4gK1Rlc3QgQ2FzZTogVEVJRCBjb250cm9scyBHVFAtVSBJUHY0IHF1ZXVlIGlu IHF1ZXVlIHJlZ2lvbg0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQo+ICsxLiBDaGVjayBmbG93IHR5cGUgdG8gcGN0eXBlIG1hcHBp bmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcNCj4g Kw0KPiArMi4gVXBkYXRlIEdUUC1VIElQdjQgZmxvdyB0eXBlIGlkIDI2IHRvIHBjeXRwZSBpZCAy MiBtYXBwaW5nIGl0ZW06Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5 cGUgbWFwcGluZyB1cGRhdGUgMjIgMjYNCj4gKw0KPiArMy4gQ2hlY2sgZmxvdyBwdHlwZSB0byBw Y3R5cGUgbWFwcGluZyBhZGRzIDI2IHRoaXMgbWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1k PiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICs0LiBSZXNldCBHVFAtVSBJUHY0 IGhhc2ggY29uZmlndXJlOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0 eXBlIDIyIGhhc2hfaW5zZXQgY2xlYXIgYWxsDQo+ICsNCj4gKzUuIFRlaWQgd29yZHMgYXJlIDQ0 IGFuZCA0NSwgZW5hYmxlIGhhc2ggaW5wdXQgc2V0IGZvciB0ZWlkOjoNCj4gKw0KPiArICAgIHRl c3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIyIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDQ0DQo+ ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjIgaGFzaF9pbnNldCBzZXQgZmll bGQgNDUNCj4gKw0KPiArNi4gRW5hYmxlIGZsb3cgdHlwZSBpZCAyNidzIFJTUzo6DQo+ICsNCj4g KyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBhbGwgcnNzIDI2DQo+ICsNCj4gKzcuIFN0YXJ0IHRl c3RwbWQsIHNldCBmd2Qgcnhvbmx5LCBlbmFibGUgb3V0cHV0IHByaW50DQo+ICsNCj4gKzguIFNl bmQgdGVpZCBHVFAtVSBJUHY0IHBhY2tldCwgY2hlY2sgUlNTIGNvdWxkIHdvcmssIHZlcmlmeSB0 aGUgcXVldWUgaXMNCj4gKyAgIGJldHdlZW4gMSBhbmQgOCwgcHJpbnQgUEtUX1JYX1JTU19IQVNI OjoNCj4gKw0KPiArDQo+IHA9RXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hl YWRlcih0ZWlkPTB4ZmUpL0lQKCkvUmF3KCd4JyoyMCkNCj4gKw0KPiArOS4gU2VuZCBkaWZmZXJl bnQgdGVpZCBHVFAtVSBJUHY0IHBhY2tldCwgY2hlY2sgcmVjZWl2ZSBwYWNrZXQgZnJvbQ0KPiBk aWZmZXJlbnQNCj4gKyAgIHF1ZXVlIGJ1dCBiZXR3ZWVuIDEgYW5kIDg6Og0KPiArDQo+ICsNCj4g cD1FdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhmZikv SVAoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsNCj4gK1Rlc3QgQ2FzZTogU3BvcnQgY29udHJvbHMg R1RQLVUgSVB2NCBxdWV1ZSBpbiBxdWV1ZSByZWdpb24NCj4gKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gKzEuIENoZWNrIGZsb3cg dHlwZSB0byBwY3R5cGUgbWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQg MCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICsyLiBVcGRhdGUgR1RQLVUgSVB2NCBmbG93IHR5cGUg aWQgMjYgdG8gcGN5dHBlIGlkIDIyIG1hcHBpbmcgaXRlbTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1k PiBwb3J0IGNvbmZpZyAwIHBjdHlwZSBtYXBwaW5nIHVwZGF0ZSAyMiAyNg0KPiArDQo+ICszLiBD aGVjayBmbG93IHB0eXBlIHRvIHBjdHlwZSBtYXBwaW5nIGFkZHMgMjYgdGhpcyBtYXBwaW5nOjoN Cj4gKw0KPiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4g KzQuIFJlc2V0IEdUUC1VIElQdjQgaGFzaCBjb25maWd1cmU6Og0KPiArDQo+ICsgICAgdGVzdHBt ZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjIgaGFzaF9pbnNldCBjbGVhciBhbGwNCj4gKw0KPiAr NS4gU3BvcnQgd29yZHMgYXJlIDI5IGFuZCAzMCwgZW5hYmxlIGhhc2ggaW5wdXQgc2V0IGZvciBz cG9ydDo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMiBoYXNo X2luc2V0IHNldCBmaWVsZCAyOQ0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBl IDIyIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDMwDQo+ICsNCj4gKzYuIEVuYWJsZSBmbG93IHR5cGUg aWQgMjYncyBSU1M6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgYWxsIHJzcyAy Ng0KPiArDQo+ICs3LiBTdGFydCB0ZXN0cG1kLCBzZXQgZndkIHJ4b25seSwgZW5hYmxlIG91dHB1 dCBwcmludA0KPiArDQo+ICs4LiBTZW5kIHNwb3J0IEdUUC1VIElQdjQgcGFja2V0LCBjaGVjayBS U1MgY291bGQgd29yaywgdmVyaWZ5IHRoZSBxdWV1ZQ0KPiBpcw0KPiArICAgYmV0d2VlbiAxIGFu ZCA4LCBwcmludCBQS1RfUlhfUlNTX0hBU0g6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQdjYo KS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApL0lQKCkvDQo+ICsgICAgVURQ KHNwb3J0PTEwMCxkcG9ydD0yMDApL1JhdygneCcqMjApDQo+ICsNCj4gKzkuIFNlbmQgZGlmZmVy ZW50IHNwb3J0IEdUUC1VIElQdjQgcGFja2V0LCBjaGVjayBwbWQgcmVjZWl2ZXMgcGFja2V0IGZy b20NCj4gKyAgIGRpZmZlcmVudCBxdWV1ZSBidXQgYmV0d2VlbiAxIGFuZCA4OjoNCj4gKw0KPiAr ICAgIHA9RXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTMw KS9JUCgpLw0KPiArICAgIFVEUChzcG9ydD0xMDEsZHBvcnQ9MjAwKS9SYXcoJ3gnKjIwKQ0KPiAr DQo+ICsNCj4gK1Rlc3QgQ2FzZTogRHBvcnQgY29udHJvbHMgR1RQLVUgSVB2NCBxdWV1ZSBpbiBx dWV1ZSByZWdpb24NCj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0NCj4gKzEuIENoZWNrIGZsb3cgdHlwZSB0byBwY3R5cGUgbWFwcGlu Zzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiAr DQo+ICsyLiBVcGRhdGUgR1RQLVUgSVB2NCBmbG93IHR5cGUgaWQgMjYgdG8gcGN5dHBlIGlkIDIy IG1hcHBpbmcgaXRlbTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlw ZSBtYXBwaW5nIHVwZGF0ZSAyMiAyNg0KPiArDQo+ICszLiBDaGVjayBmbG93IHB0eXBlIHRvIHBj dHlwZSBtYXBwaW5nIGFkZHMgMjYgdGhpcyBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+ IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzQuIFJlc2V0IEdUUC1VIElQdjQg aGFzaCBjb25maWd1cmU6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5 cGUgMjIgaGFzaF9pbnNldCBjbGVhciBhbGwNCj4gKw0KPiArNS4gRHBvcnQgd29yZHMgYXJlIDI5 IGFuZCAzMCwgZW5hYmxlIGhhc2ggaW5wdXQgc2V0IGZvciBkcG9ydDo6DQo+ICsNCj4gKyAgICB0 ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMiBoYXNoX2luc2V0IHNldCBmaWVsZCAyOQ0K PiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIyIGhhc2hfaW5zZXQgc2V0IGZp ZWxkIDMwDQo+ICsNCj4gKzYuIEVuYWJsZSBmbG93IHR5cGUgaWQgMjYncyBSU1M6Og0KPiArDQo+ ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgYWxsIHJzcyAyNg0KPiArDQo+ICs3LiBTdGFydCB0 ZXN0cG1kLCBzZXQgZndkIHJ4b25seSwgZW5hYmxlIG91dHB1dCBwcmludA0KPiArDQo+ICs4LiBT ZW5kIGRwcm90IEdUUC1VIElQdjQgcGFja2V0LCBjaGVjayBSU1MgY291bGQgd29yaywgdmVyaWZ5 IHRoZSBxdWV1ZQ0KPiBpcw0KPiArICAgYmV0d2VlbiAxIGFuZCA4LCBwcmludCBQS1RfUlhfUlNT X0hBU0g6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQ X1VfSGVhZGVyKHRlaWQ9MzApL0lQKCkvDQo+ICsgICAgVURQKHNwb3J0PTEwMCxkcG9ydD0yMDAp L1JhdygneCcqMjApDQo+ICsNCj4gKzkuIFNlbmQgZGlmZmVyZW50IGRwb3J0IEdUUC1VIElQdjQg cGFja2V0LCBjaGVjayByZWNlaXZlIHBhY2tldCBmcm9tDQo+IGRpZmZlcmVudA0KPiArICAgcXVl dWUgYnV0IGJldHdlZW4gMSBhbmQgODo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVB2NigpL1VE UChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvSVAoKS8NCj4gKyAgICBVRFAoc3Bv cnQ9MTAwLGRwb3J0PTIwMSkvUmF3KCd4JyoyMCkNCj4gKw0KPiArDQo+ICtUZXN0IENhc2U6IElu bmVyIElQIHNyYyBjb250cm9scyBHVFAtVSBJUHY0IHF1ZXVlIGluIHF1ZXVlIHJlZ2lvbg0KPiAr PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NCj4gKzEuIENoZWNrIGZsb3cgdHlwZSB0byBwY3R5cGUgbWFwcGluZzo6DQo+ICsN Cj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICsyLiBV cGRhdGUgR1RQLVUgSVB2NCBmbG93IHR5cGUgaWQgMjYgdG8gcGN5dHBlIGlkIDIyIG1hcHBpbmcg aXRlbTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSBtYXBwaW5n IHVwZGF0ZSAyMiAyNg0KPiArDQo+ICszLiBDaGVjayBmbG93IHB0eXBlIHRvIHBjdHlwZSBtYXBw aW5nIGFkZHMgMjYgdGhpcyBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNob3cgcG9y dCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzQuIFJlc2V0IEdUUC1VIElQdjQgaGFzaCBjb25m aWd1cmU6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjIgaGFz aF9pbnNldCBjbGVhciBhbGwNCj4gKw0KPiArNS4gSW5uZXIgc291cmNlIHdvcmRzIGFyZSAxNSBh bmQgMTYsIGVuYWJsZSBoYXNoIGlucHV0IHNldCBmb3IgaW5uZXIgc3JjOjoNCj4gKw0KPiArICAg IHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIyIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDE1 DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjIgaGFzaF9pbnNldCBzZXQg ZmllbGQgMTYNCj4gKw0KPiArNi4gRW5hYmxlIGZsb3cgdHlwZSBpZCAyNidzIFJTUzo6DQo+ICsN Cj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBhbGwgcnNzIDI2DQo+ICsNCj4gKzcuIFN0YXJ0 IHRlc3RwbWQsIHNldCBmd2Qgcnhvbmx5LCBlbmFibGUgb3V0cHV0IHByaW50DQo+ICsNCj4gKzgu IFNlbmQgaW5uZXIgc3JjIEdUUC1VIElQdjQgcGFja2V0LCBjaGVjayBSU1MgY291bGQgd29yaywg dmVyaWZ5IHRoZQ0KPiBxdWV1ZSBpcw0KPiArICAgYmV0d2VlbiAxIGFuZCA4LCBwcmludCBQS1Rf UlhfUlNTX0hBU0g6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIp L0dUUF9VX0hlYWRlcih0ZWlkPTMwKS8NCj4gKyAgICBJUChzcmM9IjEuMS4xLjEiLGRzdD0iMi4y LjIuMiIpL1VEUCgpL1JhdygneCcqMjApDQo+ICsNCj4gKzkuIFNlbmQgZGlmZmVyZW50IHNyYyBH VFAtVSBJUHY0IHBhY2tldCwgY2hlY2sgcG1kIHJlY2VpdmVzIHBhY2tldCBmcm9tDQo+IGRpZmZl cmVudA0KPiArICAgcXVldWUgYnV0IGJldHdlZW4gMSBhbmQgODo6DQo+ICsNCj4gKyAgICBwPUV0 aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApLw0KPiArICAg IElQKHNyYz0iMS4xLjEuMiIsZHN0PSIyLjIuMi4yIikvVURQKCkvUmF3KCd4JyoyMCkNCj4gKw0K PiArMTAuIFNlbmQgZGlmZmVyZW50IGRzdCBHVFAtVSBJUHY0IHBhY2tldCwgY2hlY2sgcG1kIHJl Y2VpdmVzIHBhY2tldCBmcm9tDQo+IHNhbWUNCj4gKyAgICBxdWV1ZTo6DQo+ICsNCj4gKyAgICBw PUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApLw0KPiAr ICAgIElQKHNyYz0iMS4xLjEuMSIsZHN0PSIyLjIuMi4zIikvVURQKCkvUmF3KCd4JyoyMCkNCj4g Kw0KPiArDQo+ICtUZXN0IENhc2U6IElubmVyIElQIGRzdCBjb250cm9scyBHVFAtVSBJUHY0IHF1 ZXVlIGluIHF1ZXVlIHJlZ2lvbg0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gKzEuIENoZWNrIGZsb3cgdHlwZSB0 byBwY3R5cGUgbWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5 cGUgbWFwcGluZw0KPiArDQo+ICsyLiBVcGRhdGUgR1RQLVUgSVB2NCBmbG93IHR5cGUgaWQgMjYg dG8gcGN5dHBlIGlkIDIyIG1hcHBpbmcgaXRlbTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0 IGNvbmZpZyAwIHBjdHlwZSBtYXBwaW5nIHVwZGF0ZSAyMiAyNg0KPiArDQo+ICszLiBDaGVjayBm bG93IHB0eXBlIHRvIHBjdHlwZSBtYXBwaW5nIGFkZHMgMjYgdGhpcyBtYXBwaW5nOjoNCj4gKw0K PiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzQuIFJl c2V0IEdUUC1VIElQdjQgaGFzaCBjb25maWd1cmU6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9y dCBjb25maWcgMCBwY3R5cGUgMjIgaGFzaF9pbnNldCBjbGVhciBhbGwNCj4gKw0KPiArNS4gSW5u ZXIgZHN0IHdvcmRzIGFyZSAyNyBhbmQgMjgsIGVuYWJsZSBoYXNoIGlucHV0IHNldCBmb3IgaW5u ZXIgZHN0OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIyIGhh c2hfaW5zZXQgc2V0IGZpZWxkIDI3DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5 cGUgMjIgaGFzaF9pbnNldCBzZXQgZmllbGQgMjgNCj4gKw0KPiArNi4gRW5hYmxlIGZsb3cgdHlw ZSBpZCAyNidzIFJTUzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBhbGwgcnNz IDI2DQo+ICsNCj4gKzcuIFN0YXJ0IHRlc3RwbWQsIHNldCBmd2Qgcnhvbmx5LCBlbmFibGUgb3V0 cHV0IHByaW50DQo+ICsNCj4gKzguIFNlbmQgaW5uZXIgZHN0IEdUUC1VIElQdjQgcGFja2V0LCBj aGVjayBSU1MgY291bGQgd29yaywgdmVyaWZ5IHRoZQ0KPiBxdWV1ZSBpcw0KPiArICAgYmV0d2Vl biAxIGFuZCA4LCBwcmludCBQS1RfUlhfUlNTX0hBU0g6Og0KPiArDQo+ICsgICAgcD1FdGhlcigp L0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTMwKS8NCj4gKyAgICBJUChz cmM9IjEuMS4xLjEiLGRzdD0iMi4yLjIuMiIpL1VEUCgpL1JhdygneCcqMjApDQo+ICsNCj4gKzku IFNlbmQgZGlmZmVyZW50IGRzdCBhZGRyZXNzIEdUUC1VIElQdjQgcGFja2V0LCBjaGVjayBwbWQg cmVjZWl2ZXMNCj4gcGFja2V0DQo+ICsgICBmcm9tIGRpZmZlcmVudCBxdWV1ZSBidXQgYmV0d2Vl biAxIGFuZCA4OjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9H VFBfVV9IZWFkZXIodGVpZD0zMCkvDQo+ICsgICAgSVAoc3JjPSIxLjEuMS4xIixkc3Q9IjIuMi4y LjMiKS9VRFAoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsxMC4gU2VuZCBkaWZmZXJlbnQgc3JjIGFk ZHJlc3MsIGNoZWNrIHBtZCByZWNlaXZlcyBwYWNrZXQgZnJvbSBzYW1lDQo+IHF1ZXVlOjoNCj4g Kw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVp ZD0zMCkvDQo+ICsgICAgSVAoc3JjPSIxLjEuMS4yIixkc3Q9IjIuMi4yLjIiKS9VRFAoKS9SYXco J3gnKjIwKQ0KPiArDQo+ICsNCj4gK1Rlc3QgQ2FzZTogVEVJRCBjb250cm9scyBHVFAtVSBJUHY2 IHF1ZXVlIGluIHF1ZXVlIHJlZ2lvbg0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ICsxLiBDaGVjayBmbG93IHR5cGUgdG8gcGN0 eXBlIG1hcHBpbmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1h cHBpbmcNCj4gKw0KPiArMi4gVXBkYXRlIEdUUC1VIElQdjYgZmxvdyB0eXBlIGlkIDIzIHRvIHBj eXRwZSBpZCAyMyBtYXBwaW5nIGl0ZW06Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25m aWcgMCBwY3R5cGUgbWFwcGluZyB1cGRhdGUgMjMgMjMNCj4gKw0KPiArMy4gQ2hlY2sgZmxvdyBw dHlwZSB0byBwY3R5cGUgbWFwcGluZyBhZGRzIDIzIHRoaXMgbWFwcGluZzo6DQo+ICsNCj4gKyAg ICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICs0LiBSZXNldCBH VFAtVSBJUHY2IGhhc2ggY29uZmlndXJlOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29u ZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgY2xlYXIgYWxsDQo+ICsNCj4gKzUuIFRlaWQgd29y ZHMgYXJlIDQ0IGFuZCA0NSwgZW5hYmxlIGhhc2ggaW5wdXQgc2V0IGZvciB0ZWlkOjoNCj4gKw0K PiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZp ZWxkIDQ0DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNl dCBzZXQgZmllbGQgNDUNCj4gKw0KPiArNi4gRW5hYmxlIGZsb3cgdHlwZSBpZCAyMydzIFJTUzo6 DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBhbGwgcnNzIDIzDQo+ICsNCj4gKzcu IFN0YXJ0IHRlc3RwbWQsIHNldCBmd2Qgcnhvbmx5LCBlbmFibGUgb3V0cHV0IHByaW50DQo+ICsN Cj4gKzguIFNlbmQgdGVpZCBHVFAtVSBJUHY2IHBhY2tldCwgY2hlY2sgUlNTIGNvdWxkIHdvcmss IHZlcmlmeSB0aGUgcXVldWUgaXMNCj4gKyAgIGJldHdlZW4gMTAgYW5kIDI1LCBwcmludCBQS1Rf UlhfUlNTX0hBU0g6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIp L0dUUF9VX0hlYWRlcih0ZWlkPTB4ZmUpL0lQdjYoKS8NCj4gKyAgICBVRFAoc3BvcnQ9MTAwLGRw b3J0PTIwMCkvUmF3KCd4JyoyMCkNCj4gKw0KPiArOS4gU2VuZCBkaWZmZXJlbnQgdGVpZCBHVFAt VSBJUHY0IHBhY2tldCwgY2hlY2sgcG1kIHJlY2VpdmVzIHBhY2tldCBmcm9tDQo+ICsgICBkaWZm ZXJlbnQgcXVldWUgYnV0IGJldHdlZW4gMTAgYW5kIDI1OjoNCj4gKw0KPiArICAgIHA9RXRoZXIo KS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGZmKS9JUHY2KCkvDQo+ ICsgICAgVURQKHNwb3J0PTEwMCxkcG9ydD0yMDApL1JhdygneCcqMjApDQo+ICsNCj4gKw0KPiAr VGVzdCBDYXNlOiBTcG9ydCBjb250cm9scyBHVFAtVSBJUHY2IHF1ZXVlIGluIHF1ZXVlIHJlZ2lv bg0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KPiArMS4gQ2hlY2sgZmxvdyB0eXBlIHRvIHBjdHlwZSBtYXBwaW5nOjoNCj4gKw0K PiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzIuIFVw ZGF0ZSBHVFAtVSBJUHY2IGZsb3cgdHlwZSBpZCAyMyB0byBwY3l0cGUgaWQgMjMgbWFwcGluZyBp dGVtOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIG1hcHBpbmcg dXBkYXRlIDIzIDIzDQo+ICsNCj4gKzMuIENoZWNrIGZsb3cgcHR5cGUgdG8gcGN0eXBlIG1hcHBp bmcgYWRkcyAyMyB0aGlzIG1hcHBpbmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0 IDAgcGN0eXBlIG1hcHBpbmcNCj4gKw0KPiArNC4gUmVzZXQgR1RQLVUgSVB2NiBoYXNoIGNvbmZp Z3VyZTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNo X2luc2V0IGNsZWFyIGFsbA0KPiArDQo+ICs1LiBTcG9ydCB3b3JkcyBhcmUgMjkgYW5kIDMwLCBl bmFibGUgaGFzaCBpbnB1dCBzZXQgZm9yIHNwb3J0OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBv cnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDI5DQo+ICsgICAgdGVz dHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMzANCj4g Kw0KPiArNi4gRW5hYmxlIGZsb3cgdHlwZSBpZCAyMydzIFJTUzo6DQo+ICsNCj4gKyAgICB0ZXN0 cG1kPiBwb3J0IGNvbmZpZyBhbGwgcnNzIDIzDQo+ICsNCj4gKzcuIFN0YXJ0IHRlc3RwbWQsIHNl dCBmd2Qgcnhvbmx5LCBlbmFibGUgb3V0cHV0IHByaW50DQo+ICsNCj4gKzguIFNlbmQgc3BvcnQg R1RQLVUgSVB2NiBwYWNrZXQsIGNoZWNrIFJTUyBjb3VsZCB3b3JrLCB2ZXJpZnkgdGhlIHF1ZXVl DQo+IGlzDQo+ICsgICBiZXR3ZWVuIDEwIGFuZCAyNSwgcHJpbnQgUEtUX1JYX1JTU19IQVNIOjoN Cj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIo dGVpZD0zMCkvSVB2NigpLw0KPiArICAgIFVEUChzcG9ydD0xMDAsZHBvcnQ9MjAwKS9SYXcoJ3gn KjIwKQ0KPiArDQo+ICs5LiBTZW5kIGRpZmZlcmVudCBzcG9ydCBHVFAtVSBJUHY2IHBhY2tldCwg Y2hlY2sgcG1kIHJlY2VpdmVzIHBhY2tldCBmcm9tDQo+ICsgICBkaWZmZXJlbnQgcXVldWUgYnV0 IGJldHdlZW4gMTAgYW5kIDI1OjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VEUChkcG9y dD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvSVB2NigpLw0KPiArICAgIFVEUChzcG9ydD0x MDEsZHBvcnQ9MjAwKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsNCj4gK1Rlc3QgQ2FzZTogRHBvcnQg Y29udHJvbHMgR1RQLVUgSVB2NiBxdWV1ZSBpbiBxdWV1ZSByZWdpb24NCj4gKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gKzEuIENo ZWNrIGZsb3cgdHlwZSB0byBwY3R5cGUgbWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBz aG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICsyLiBVcGRhdGUgR1RQLVUgSVB2NiBm bG93IHR5cGUgaWQgMjMgdG8gcGN5dHBlIGlkIDIzIG1hcHBpbmcgaXRlbTo6DQo+ICsNCj4gKyAg ICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSBtYXBwaW5nIHVwZGF0ZSAyMyAyMw0KPiAr DQo+ICszLiBDaGVjayBmbG93IHB0eXBlIHRvIHBjdHlwZSBtYXBwaW5nIGFkZHMgMjMgdGhpcyBt YXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5n DQo+ICsNCj4gKzQuIFJlc2V0IEdUUC1VIElQdjYgaGFzaCBjb25maWd1cmU6Og0KPiArDQo+ICsg ICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBjbGVhciBhbGwN Cj4gKw0KPiArNS4gRHBvcnQgd29yZHMgYXJlIDI5IGFuZCAzMCwgZW5hYmxlIGhhc2ggaW5wdXQg c2V0IGZvciBkcG9ydDo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlw ZSAyMyBoYXNoX2luc2V0IHNldCBmaWVsZCAyOQ0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmln IDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDMwDQo+ICsNCj4gKzYuIEVuYWJsZSBm bG93IHR5cGUgaWQgMjMncyBSU1M6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcg YWxsIHJzcyAyMw0KPiArDQo+ICs3LiBTdGFydCB0ZXN0cG1kLCBzZXQgZndkIHJ4b25seSwgZW5h YmxlIG91dHB1dCBwcmludA0KPiArDQo+ICs4LiBTZW5kIGRwb3J0IEdUUC1VIElQdjYgcGFja2V0 LCBjaGVjayBSU1MgY291bGQgd29yaywgdmVyaWZ5IHRoZSBxdWV1ZQ0KPiArICAgaXMgYmV0d2Vl biAxMCBhbmQgMjUsIHByaW50IFBLVF9SWF9SU1NfSEFTSDo6DQo+ICsNCj4gKyAgICBwPUV0aGVy KCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApL0lQdjYoKS8NCj4g KyAgICBVRFAoc3BvcnQ9MTAwLGRwb3J0PTIwMCkvUmF3KCd4JyoyMCkNCj4gKw0KPiArOS4gU2Vu ZCBkaWZmZXJlbnQgZHBvcnQgR1RQLVUgSVB2NiBwYWNrZXQsIGNoZWNrIHBtZCByZWNlaXZlcyBw YWNrZXQgZnJvbQ0KPiArICAgZGlmZmVyZW50IHF1ZXVlIGJ1dCBiZXR3ZWVuIDEwIGFuZCAyNTo6 DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVy KHRlaWQ9MzApL0lQdjYoKS8NCj4gKyAgICBVRFAoc3BvcnQ9MTAwLGRwb3J0PTIwMSkvUmF3KCd4 JyoyMCkNCj4gKw0KPiArDQo+ICsNCj4gK1Rlc3QgQ2FzZTogSW5uZXIgSVB2NiBzcmMgY29udHJv bHMgR1RQLVUgSVB2NiBxdWV1ZSBpbiBxdWV1ZSByZWdpb24NCj4gKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gKzEu IENoZWNrIGZsb3cgdHlwZSB0byBwY3R5cGUgbWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1k PiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICsyLiBVcGRhdGUgR1RQLVUgSVB2 NiBmbG93IHR5cGUgaWQgMjMgdG8gcGN5dHBlIGlkIDIzIG1hcHBpbmcgaXRlbTo6DQo+ICsNCj4g KyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSBtYXBwaW5nIHVwZGF0ZSAyMyAyMw0K PiArDQo+ICszLiBDaGVjayBmbG93IHB0eXBlIHRvIHBjdHlwZSBtYXBwaW5nIGFkZHMgMjMgdGhp cyBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBw aW5nDQo+ICsNCj4gKzQuIFJlc2V0IEdUUC1VIElQdjYgaGFzaCBjb25maWd1cmU6Og0KPiArDQo+ ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBjbGVhciBh bGwNCj4gKw0KPiArNS4gSW5uZXIgSVB2NiBzcmMgd29yZHMgYXJlIDEzfjIwLCBlbmFibGUgaGFz aCBpbnB1dCBzZXQgZm9yIGlubmVyIHNyYzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNv bmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IHNldCBmaWVsZCAxMw0KPiArICAgIHRlc3RwbWQ+ IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDE0DQo+ICsgICAg dGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMTUN Cj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IHNldCBm aWVsZCAxNg0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5z ZXQgc2V0IGZpZWxkIDE3DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMg aGFzaF9pbnNldCBzZXQgZmllbGQgMTgNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBj dHlwZSAyMyBoYXNoX2luc2V0IHNldCBmaWVsZCAxOQ0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29u ZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDIwDQo+ICsNCj4gKzYuIEVuYWJs ZSBmbG93IHR5cGUgaWQgMjMncyBSU1M6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25m aWcgYWxsIHJzcyAyMw0KPiArDQo+ICs3LiBTdGFydCB0ZXN0cG1kLCBzZXQgZndkIHJ4b25seSwg ZW5hYmxlIG91dHB1dCBwcmludA0KPiArDQo+ICs4LiBTZW5kIGlubmVyIHNyYyBhZGRyZXNzIEdU UC1VIElQdjYgcGFja2V0cywgY2hlY2sgUlNTIGNvdWxkIHdvcmssDQo+IHZlcmlmeQ0KPiArICAg dGhlIHF1ZXVlIGlzIGJldHdlZW4gMTAgYW5kIDI1LCBwcmludCBQS1RfUlhfUlNTX0hBU0g6Og0K PiArDQo+ICsgICAgcD1FdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0 ZWlkPTMwKS8NCj4gKyAgICBJUHY2KHNyYz0iMTAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6 MDM3MDowMDAxIiwNCj4gKyAgICBkc3Q9IjIwMDE6MGRiODo4NWEzOjAwMDA6MDAwMDo4YTJlOjAz NzA6MDAwMSIpL1VEUCgpL1JhdygneCcqMjApDQo+ICsNCj4gKzkuIFNlbmQgZGlmZmVyZW50IGlu bmVyIHNyYyBHVFAtVSBJUHY2IHBhY2tldCwgY2hlY2sgcG1kIHJlY2VpdmVzIHBhY2tldA0KPiAr ICAgZnJvbSBkaWZmZXJlbnQgcXVldWUgYnV0IGRiZXR3ZWVuIDEwIGFuZCAyNTo6DQo+ICsNCj4g KyAgICBwPUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzAp Lw0KPiArICAgIElQdjYoc3JjPSIxMDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcwOjAw MDIiLA0KPiArICAgIGRzdD0iMjAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3MDowMDAx IikvVURQKCkvUmF3KCd4JyoyMCkNCj4gKw0KPiArMTAuIFNlbmQgZGlmZmVyZW50IGlubmVyIGRz dCBHVFAtVSBJUHY2IHBhY2tldCwgY2hlY2sgcG1kIHJlY2VpdmVzIHBhY2tldA0KPiArICAgIGZy b20gc2FtZSBxdWV1ZTo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1 MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApLw0KPiArICAgIElQdjYoc3JjPSIxMDAxOjBkYjg6ODVh MzowMDAwOjAwMDA6OGEyZTowMzcwOjAwMDEiLA0KPiArICAgIGRzdD0iMjAwMTowZGI4Ojg1YTM6 MDAwMDowMDAwOjhhMmU6MDM3MDowMDAyKS9VRFAoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsNCj4g Kw0KPiArVGVzdCBDYXNlOiBJbm5lciBJUHY2IGRzdCBjb250cm9scyBHVFAtVSBJUHY2IHF1ZXVl IGluIHF1ZXVlIHJlZ2lvbg0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArMS4gQ2hlY2sgZmxvdyB0 eXBlIHRvIHBjdHlwZSBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAw IHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzIuIFVwZGF0ZSBHVFAtVSBJUHY2IGZsb3cgdHlwZSBp ZCAyMyB0byBwY3l0cGUgaWQgMjMgbWFwcGluZyBpdGVtOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+ IHBvcnQgY29uZmlnIDAgcGN0eXBlIG1hcHBpbmcgdXBkYXRlIDIzIDIzDQo+ICsNCj4gKzMuIENo ZWNrIGZsb3cgcHR5cGUgdG8gcGN0eXBlIG1hcHBpbmcgYWRkcyAyMyB0aGlzIG1hcHBpbmc6Og0K PiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcNCj4gKw0KPiAr NC4gUmVzZXQgR1RQLVUgSVB2NiBoYXNoIGNvbmZpZ3VyZTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1k PiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IGNsZWFyIGFsbA0KPiArDQo+ICs1 LiBJbm5lciBJUHY2IGRzdCB3b3JkcyBhcmUgMjF+MjgsIGVuYWJsZSBoYXNoIGlucHV0IHNldCBm b3IgaW5uZXIgZHN0OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBl IDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDIxDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcg MCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMjINCj4gKyAgICB0ZXN0cG1kPiBwb3J0 IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IHNldCBmaWVsZCAyMw0KPiArICAgIHRlc3Rw bWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDI0DQo+ICsg ICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQg MjUNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IHNl dCBmaWVsZCAyNg0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hf aW5zZXQgc2V0IGZpZWxkIDI3DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUg MjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMjgNCj4gKw0KPiArNi4gRW5hYmxlIGZsb3cgdHlwZSBp ZCAyMydzIFJTUzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBhbGwgcnNzIDIz DQo+ICsNCj4gKzcuIFN0YXJ0IHRlc3RwbWQsIHNldCBmd2Qgcnhvbmx5LCBlbmFibGUgb3V0cHV0 IHByaW50DQo+ICsNCj4gKzguIFNlbmQgaW5uZXIgZHN0IEdUUC1VIElQdjYgcGFja2V0cywgY2hl Y2sgUlNTIGNvdWxkIHdvcmssIHZlcmlmeSB0aGUNCj4gKyAgIHF1ZXVlIGlzIGJldHdlZW4gMTAg YW5kIDI1LCBwcmludCBQS1RfUlhfUlNTX0hBU0g6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQ KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTMwKS8NCj4gKyAgICBJUHY2KHNy Yz0iMTAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3MDowMDAxIiwNCj4gKyAgICBkc3Q9 IjIwMDE6MGRiODo4NWEzOjAwMDA6MDAwMDo4YTJlOjAzNzA6MDAwMSIpL1VEUCgpL1JhdygneCcq MjApDQo+ICsNCj4gKzkuIFNlbmQgZGlmZmVyZW50IGlubmVyIGRzdCBHVFAtVSBJUHY2IHBhY2tl dHMsIGNoZWNrIHBtZCByZWNlaXZlcyBwYWNrZXQNCj4gKyAgIGZyb20gZGlmZmVyZW50IHF1ZXVl IGJ1dCBiZXR3ZWVuIDEwIGFuZCAyNTo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVAoKS9VRFAo ZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApLw0KPiArICAgIElQdjYoc3JjPSIxMDAx OjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcwOjAwMDEiLA0KPiArICAgIGRzdD0iMjAwMTow ZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3MDowMDAyIikvVURQKCkvUmF3KCd4JyoyMCkNCj4g Kw0KPiArMTAuIFNlbmQgZGlmZmVyZW50IGlubmVyIHNyYyBHVFAtVSBJUHY2IHBhY2tldHMsIGNo ZWNrIHBtZCByZWNlaXZlcw0KPiBwYWNrZXQNCj4gKyAgICBmcm9tIHNhbWUgcXVldWU6Og0KPiAr DQo+ICsgICAgcD1FdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlk PTMwKS8NCj4gKyAgICBJUHY2KHNyYz0iMTAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3 MDowMDAyIiwNCj4gKyAgICBkc3Q9IjIwMDE6MGRiODo4NWEzOjAwMDA6MDAwMDo4YTJlOjAzNzA6 MDAwMSIpL1VEUCgpL1JhdygneCcqMjApDQo+IC0tDQo+IDIuNS41DQoNCg==