From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=eric.jin@intel.com; receiver=edk2-devel@lists.01.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 34E4821196225 for ; Sun, 2 Dec 2018 19:33:08 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Dec 2018 19:33:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,308,1539673200"; d="scan'208";a="95582638" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga007.jf.intel.com with ESMTP; 02 Dec 2018 19:33:07 -0800 Received: from fmsmsx161.amr.corp.intel.com (10.18.125.9) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 2 Dec 2018 19:33:07 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX161.amr.corp.intel.com (10.18.125.9) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 2 Dec 2018 19:33:07 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.59]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.203]) with mapi id 14.03.0415.000; Mon, 3 Dec 2018 11:33:05 +0800 From: "Jin, Eric" To: Supreeth Venkatesh , "edk2-devel@lists.01.org" Thread-Topic: [edk2-test][Patch 3/3] uefi-sct/SctPkg:Add VerifySignature() Conf Test Thread-Index: AQHUiPvmswQ/AZaTxkW9xcwlLP6y7qVsXzMw Date: Mon, 3 Dec 2018 03:33:04 +0000 Message-ID: References: <20181129084602.116544-1-eric.jin@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [edk2-test][Patch 3/3] uefi-sct/SctPkg:Add VerifySignature() Conf Test X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Dec 2018 03:33:09 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGVsbG8gU3VwcmVldGgsDQoNClRoYW5rIHlvdSBmb3IgdGhlIGNvbW1lbnRzLg0KVjIgd2lsbCBi ZSBzZW50IG91dC4gQWxsIGNsZWFuIHVwIHdpbGwgYmUgbWVyZ2VkIGludG8gdGhlICBwYXRjaCAx LzMgd2l0aCBJTkYgdmVyc2lvbiB1cGRhdGUuDQoNCkJlc3QgUmVnYXJkcw0KRXJpYw0KDQotLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogU3VwcmVldGggVmVua2F0ZXNoIDxzdXByZWV0 aC52ZW5rYXRlc2hAYXJtLmNvbT4gDQpTZW50OiBTYXR1cmRheSwgRGVjZW1iZXIgMSwgMjAxOCA2 OjI4IEFNDQpUbzogSmluLCBFcmljIDxlcmljLmppbkBpbnRlbC5jb20+OyBlZGsyLWRldmVsQGxp c3RzLjAxLm9yZw0KU3ViamVjdDogUmU6IFtlZGsyLXRlc3RdW1BhdGNoIDMvM10gdWVmaS1zY3Qv U2N0UGtnOkFkZCBWZXJpZnlTaWduYXR1cmUoKSBDb25mIFRlc3QNCg0KQ29tbWl0IG1lc3NhZ2Ug dG8gbWVudGlvbiB3aGF0IHRoaXMgcGF0Y2ggaXMgaW1sZW1lbnRpbmcuDQoNCkluIGFkZGl0aW9u LCB0aGVyZSBpcyBjbGVhbnVwIHRvIHJlbW92ZSAjaWYgMCBibG9jayBiZWxvdy4NCkJvdGggb2Yg dGhpcyBzaG91bGQgYmUgaW4gY29tbWl0IG1lc3NhZ2UuDQoNCk9uIFRodSwgMjAxOC0xMS0yOSBh dCAxNjo0NiArMDgwMCwgRXJpYyBKaW4gd3JvdGU6DQo+IENjOiBTdXByZWV0aCBWZW5rYXRlc2gg PHN1cHJlZXRoLnZlbmthdGVzaEBhcm0uY29tPg0KPiBDb250cmlidXRlZC11bmRlcjogVGlhbm9D b3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4xDQo+IFNpZ25lZC1vZmYtYnk6IEVyaWMgSmlu IDxlcmljLmppbkBpbnRlbC5jb20+DQo+IC0tLQ0KPiAgLi4uL0VGSS9Qcm90b2NvbC9QS0NTN1Zl cmlmeS9CbGFja0JveFRlc3QvR3VpZC5jICAgfCAgIDUgKy0NCj4gIC4uLi9FRkkvUHJvdG9jb2wv UEtDUzdWZXJpZnkvQmxhY2tCb3hUZXN0L0d1aWQuaCAgIHwgIDE2ICsrDQo+ICAuLi4vQmxhY2tC b3hUZXN0L1BrY3M3QkJUZXN0Q29uZm9ybWFuY2UuYyAgICAgICAgICB8IDMwMw0KPiArKysrKysr KysrKysrKysrKysrKy0NCj4gIC4uLi9QS0NTN1ZlcmlmeS9CbGFja0JveFRlc3QvUGtjczdCQlRl c3RNYWluLmMgICAgIHwgICAyIC0NCj4gIDQgZmlsZXMgY2hhbmdlZCwgMzE5IGluc2VydGlvbnMo KyksIDcgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvdWVmaS0NCj4gc2N0L1NjdFBr Zy9UZXN0Q2FzZS9VRUZJL0VGSS9Qcm90b2NvbC9QS0NTN1ZlcmlmeS9CbGFja0JveFRlc3QvR3Vp ZC5jDQo+IGIvdWVmaS0NCj4gc2N0L1NjdFBrZy9UZXN0Q2FzZS9VRUZJL0VGSS9Qcm90b2NvbC9Q S0NTN1ZlcmlmeS9CbGFja0JveFRlc3QvR3VpZC5jDQo+IGluZGV4IDRkNDMzYzMuLjhmNjU0NmEg MTAwNjQ0DQo+IC0tLSBhL3VlZmktDQo+IHNjdC9TY3RQa2cvVGVzdENhc2UvVUVGSS9FRkkvUHJv dG9jb2wvUEtDUzdWZXJpZnkvQmxhY2tCb3hUZXN0L0d1aWQuYw0KPiArKysgYi91ZWZpLQ0KPiBz Y3QvU2N0UGtnL1Rlc3RDYXNlL1VFRkkvRUZJL1Byb3RvY29sL1BLQ1M3VmVyaWZ5L0JsYWNrQm94 VGVzdC9HdWlkLmMNCj4gQEAgLTM2LDcgKzM2LDEwIEBAIEVGSV9HVUlEIGdQa2NzN0JCVGVzdENv bmZvcm1hbmNlQXNzZXJ0aW9uR3VpZDAwNyA9IA0KPiBFRklfVEVTVF9QS0NTN0JCVEVTVENPTkZP Uk1BTiAgRUZJX0dVSUQgDQo+IGdQa2NzN0JCVGVzdENvbmZvcm1hbmNlQXNzZXJ0aW9uR3VpZDAw OCA9IA0KPiBFRklfVEVTVF9QS0NTN0JCVEVTVENPTkZPUk1BTkNFX0FTU0VSVElPTl8wMDhfR1VJ RDsNCj4gIEVGSV9HVUlEIGdQa2NzN0JCVGVzdENvbmZvcm1hbmNlQXNzZXJ0aW9uR3VpZDAwOSA9 IA0KPiBFRklfVEVTVF9QS0NTN0JCVEVTVENPTkZPUk1BTkNFX0FTU0VSVElPTl8wMDlfR1VJRDsN Cj4gIEVGSV9HVUlEIGdQa2NzN0JCVGVzdENvbmZvcm1hbmNlQXNzZXJ0aW9uR3VpZDAxMCA9IA0K PiBFRklfVEVTVF9QS0NTN0JCVEVTVENPTkZPUk1BTkNFX0FTU0VSVElPTl8wMTBfR1VJRDsNCj4g LQ0KPiArRUZJX0dVSUQgZ1BrY3M3QkJUZXN0Q29uZm9ybWFuY2VBc3NlcnRpb25HdWlkMDExID0N Cj4gRUZJX1RFU1RfUEtDUzdCQlRFU1RDT05GT1JNQU5DRV9BU1NFUlRJT05fMDExX0dVSUQ7DQo+ ICtFRklfR1VJRCBnUGtjczdCQlRlc3RDb25mb3JtYW5jZUFzc2VydGlvbkd1aWQwMTIgPQ0KPiBF RklfVEVTVF9QS0NTN0JCVEVTVENPTkZPUk1BTkNFX0FTU0VSVElPTl8wMTJfR1VJRDsNCj4gK0VG SV9HVUlEIGdQa2NzN0JCVGVzdENvbmZvcm1hbmNlQXNzZXJ0aW9uR3VpZDAxMyA9DQo+IEVGSV9U RVNUX1BLQ1M3QkJURVNUQ09ORk9STUFOQ0VfQVNTRVJUSU9OXzAxM19HVUlEOw0KPiArRUZJX0dV SUQgZ1BrY3M3QkJUZXN0Q29uZm9ybWFuY2VBc3NlcnRpb25HdWlkMDE0ID0NCj4gRUZJX1RFU1Rf UEtDUzdCQlRFU1RDT05GT1JNQU5DRV9BU1NFUlRJT05fMDE0X0dVSUQ7DQo+ICANCj4gIEVGSV9H VUlEIGdQa2NzN0JCVGVzdEZ1bmN0aW9uQXNzZXJ0aW9uR3VpZDAwMSA9IA0KPiBFRklfVEVTVF9Q S0NTN0JCVEVTVEZVTkNUSU9OX0FTU0VSVElPTl8wMDFfR1VJRDsNCj4gIEVGSV9HVUlEIGdQa2Nz N0JCVGVzdEZ1bmN0aW9uQXNzZXJ0aW9uR3VpZDAwMiA9IA0KPiBFRklfVEVTVF9QS0NTN0JCVEVT VEZVTkNUSU9OX0FTU0VSVElPTl8wMDJfR1VJRDsNCj4gZGlmZiAtLWdpdCBhL3VlZmktDQo+IHNj dC9TY3RQa2cvVGVzdENhc2UvVUVGSS9FRkkvUHJvdG9jb2wvUEtDUzdWZXJpZnkvQmxhY2tCb3hU ZXN0L0d1aWQuaA0KPiBiL3VlZmktDQo+IHNjdC9TY3RQa2cvVGVzdENhc2UvVUVGSS9FRkkvUHJv dG9jb2wvUEtDUzdWZXJpZnkvQmxhY2tCb3hUZXN0L0d1aWQuaA0KPiBpbmRleCAzMmEwMGY2Li5m OGQxYjhmIDEwMDY0NA0KPiAtLS0gYS91ZWZpLQ0KPiBzY3QvU2N0UGtnL1Rlc3RDYXNlL1VFRkkv RUZJL1Byb3RvY29sL1BLQ1M3VmVyaWZ5L0JsYWNrQm94VGVzdC9HdWlkLmgNCj4gKysrIGIvdWVm aS0NCj4gc2N0L1NjdFBrZy9UZXN0Q2FzZS9VRUZJL0VGSS9Qcm90b2NvbC9QS0NTN1ZlcmlmeS9C bGFja0JveFRlc3QvR3VpZC5oDQo+IEBAIC02NSw2ICs2NSwyMiBAQCBleHRlcm4gRUZJX0dVSUQN Cj4gZ1BrY3M3QkJUZXN0Q29uZm9ybWFuY2VBc3NlcnRpb25HdWlkMDA5Ow0KPiAgeyAweGIxMzZl MDE2LCAweDRmODAsIDB4NDRiZCwgezB4YmEsIDB4YjAsIDB4MWMsIDB4MzQsIDB4OGEsIDB4MmQs IA0KPiAweGExLCAweDhhIH19ICBleHRlcm4gRUZJX0dVSUQgDQo+IGdQa2NzN0JCVGVzdENvbmZv cm1hbmNlQXNzZXJ0aW9uR3VpZDAxMDsNCj4gIA0KPiArI2RlZmluZSBFRklfVEVTVF9QS0NTN0JC VEVTVENPTkZPUk1BTkNFX0FTU0VSVElPTl8wMTFfR1VJRCBcIHsgDQo+ICsweGE1OGYzNjI2LCAw eGYxNmUsIDB4NGNkNSwgeyAweGJhLCAweDEyLCAweDdhLCAweDlkLCAweGQ2LCAweDlhLA0KPiAw eDdhLCAweDcxIH19DQo+ICtleHRlcm4gRUZJX0dVSUQgZ1BrY3M3QkJUZXN0Q29uZm9ybWFuY2VB c3NlcnRpb25HdWlkMDExOw0KPiArDQo+ICsjZGVmaW5lIEVGSV9URVNUX1BLQ1M3QkJURVNUQ09O Rk9STUFOQ0VfQVNTRVJUSU9OXzAxMl9HVUlEIFwgeyANCj4gKzB4YmU0YTBiZjIsIDB4MmQ0Niwg MHg0ZDk2LCB7IDB4YTYsIDB4MTEsIDB4MjEsIDB4OTksIDB4YTUsIDB4NWYsDQo+IDB4YTQsIDB4 ZWUgfX0NCj4gK2V4dGVybiBFRklfR1VJRCBnUGtjczdCQlRlc3RDb25mb3JtYW5jZUFzc2VydGlv bkd1aWQwMTI7DQo+ICsNCj4gKyNkZWZpbmUgRUZJX1RFU1RfUEtDUzdCQlRFU1RDT05GT1JNQU5D RV9BU1NFUlRJT05fMDEzX0dVSUQgXCB7IA0KPiArMHhjMDUzNmEyNywgMHgzMDRlLCAweDQ5N2Es IHsgMHhhNSwgMHhlMywgMHg5NCwgMHgxMSwgMHgzOCwgMHg1MywNCj4gMHg2ZSwgMHg0MCB9fQ0K PiArZXh0ZXJuIEVGSV9HVUlEIGdQa2NzN0JCVGVzdENvbmZvcm1hbmNlQXNzZXJ0aW9uR3VpZDAx MzsNCj4gKw0KPiArI2RlZmluZSBFRklfVEVTVF9QS0NTN0JCVEVTVENPTkZPUk1BTkNFX0FTU0VS VElPTl8wMTRfR1VJRCBcIHsgDQo+ICsweDhjNWFhMGU4LCAweDE3ZmYsIDB4NDljZCwgeyAweDhm LCAweGVjLCAweDM3LCAweGMzLCAweGZkLCAweDVmLA0KPiAweDc3LCAweDAgfX0NCj4gK2V4dGVy biBFRklfR1VJRCBnUGtjczdCQlRlc3RDb25mb3JtYW5jZUFzc2VydGlvbkd1aWQwMTQ7DQo+ICsN Cj4gIA0KPiAgI2RlZmluZSBFRklfVEVTVF9QS0NTN0JCVEVTVEZVTkNUSU9OX0FTU0VSVElPTl8w MDFfR1VJRCBcICB7IA0KPiAweDVjMGVlYzUwLCAweGE2ZWEsIDB4NDEzYywgezB4OGEsIDB4NDYs IDB4NGEsIDB4ZDEsIDB4NGEsIDB4NzcsIDB4NzYsIA0KPiAweGYxIH19IGRpZmYgLS1naXQgYS91 ZWZpLSANCj4gc2N0L1NjdFBrZy9UZXN0Q2FzZS9VRUZJL0VGSS9Qcm90b2NvbC9QS0NTN1Zlcmlm eS9CbGFja0JveFRlc3QvUGtjczdCDQo+IEJUZXN0Q29uZm9ybWFuY2UuYyBiL3VlZmktDQo+IHNj dC9TY3RQa2cvVGVzdENhc2UvVUVGSS9FRkkvUHJvdG9jb2wvUEtDUzdWZXJpZnkvQmxhY2tCb3hU ZXN0L1BrY3M3Qg0KPiBCVGVzdENvbmZvcm1hbmNlLmMNCj4gaW5kZXggYjdiYzE5Yi4uY2U3ZDVi YiAxMDA2NDQNCj4gLS0tIGEvdWVmaS0NCj4gc2N0L1NjdFBrZy9UZXN0Q2FzZS9VRUZJL0VGSS9Q cm90b2NvbC9QS0NTN1ZlcmlmeS9CbGFja0JveFRlc3QvUGtjczdCDQo+IEJUZXN0Q29uZm9ybWFu Y2UuYw0KPiArKysgYi91ZWZpLQ0KPiBzY3QvU2N0UGtnL1Rlc3RDYXNlL1VFRkkvRUZJL1Byb3Rv Y29sL1BLQ1M3VmVyaWZ5L0JsYWNrQm94VGVzdC9Qa2NzN0INCj4gQlRlc3RDb25mb3JtYW5jZS5j DQo+IEBAIC0yNzgsMTAgKzI3OCw2IEBAIEJCVGVzdFZlcmlmeUJ1ZmZlckNvbmZvcm1hbmNlVGVz dCAoDQo+ICAgICAgICAgICAgICAgICAgIFN0YXR1cw0KPiAgICAgICAgICAgICAgICAgICApOw0K PiAgDQo+IC0NCj4gLQ0KPiAtDQo+IC0NCj4gICAgLy8gU2lnbmVkIGRhdGEgZW1iZWRkZWQgaW4g U2lnbmVkRGF0YSBidXQgSW5EYXRhIGlzIG5vdCBOVUxMDQo+ICAgIEFsbG93ZWREYlswXSA9IERi RW50cnkxOw0KPiAgICBSZXZva2VkRGJbMF0gPSBOVUxMOw0KPiBAQCAtNTA3LDQgKzUwMywzMDMg QEAgQkJUZXN0VmVyaWZ5QnVmZmVyQ29uZm9ybWFuY2VUZXN0ICgNCj4gICAgcmV0dXJuIEVGSV9T VUNDRVNTOw0KPiAgfQ0KPiAgDQo+ICtFRklfU1RBVFVTDQo+ICtCQlRlc3RWZXJpZnlTaWduYXR1 cmVDb25mb3JtYW5jZVRlc3QgKA0KPiArICBJTiBFRklfQkJfVEVTVF9QUk9UT0NPTCAgICAqVGhp cywNCj4gKyAgSU4gVk9JRCAgICAgICAgICAgICAgICAgICAgKkNsaWVudEludGVyZmFjZSwNCj4g KyAgSU4gRUZJX1RFU1RfTEVWRUwgICAgICAgICAgVGVzdExldmVsLA0KPiArICBJTiBFRklfSEFO RExFICAgICAgICAgICAgICBTdXBwb3J0SGFuZGxlDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NU QU5EQVJEX1RFU1RfTElCUkFSWV9QUk9UT0NPTCAgICAqU3RhbmRhcmRMaWI7DQo+ICsgIEVGSV9T VEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfUEtDUzdf VkVSSUZZX1BST1RPQ09MICAgICAgICAgICAgICpQa2NzN1ZlcmlmeTsNCj4gKyAgRUZJX1RFU1Rf QVNTRVJUSU9OICAgICAgICAgICAgICAgICAgICBBc3NlcnRpb25UeXBlOw0KPiAgDQo+ICsgIFBr Y3M3VmVyaWZ5ID0gKEVGSV9QS0NTN19WRVJJRllfUFJPVE9DT0wqKUNsaWVudEludGVyZmFjZTsN Cj4gKyAgaWYgKFBrY3M3VmVyaWZ5ID09IE5VTEwpDQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBP UlRFRDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBHZXQgdGhlIFN0YW5kYXJkIExpYnJhcnkgSW50 ZXJmYWNlICAvLyAgU3RhdHVzID0gDQo+ICsgZ3RCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAg ICAgICAgICAgICAgICAgIFN1cHBvcnRIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAgJmdF ZmlTdGFuZGFyZFRlc3RMaWJyYXJ5R3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAoVk9JRCAq KikgJlN0YW5kYXJkTGliDQo+ICsgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9F UlJPUihTdGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgfQ0KPiArDQo+ICsg IEFsbG93ZWREYlswXSA9IERiRW50cnkxOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENoZWNrcG9p bnQgMSAtIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgLy8NCj4gKw0KPiArICAvLyBTaWduYXR1cmUg aXMgTlVMTA0KPiArICBTdGF0dXMgPSBQa2NzN1ZlcmlmeS0+VmVyaWZ5U2lnbmF0dXJlIChQa2Nz N1ZlcmlmeSwgTlVMTCwNCj4gc2l6ZW9mKFA3VGVzdFNpZ25hdHVyZSksIFRlc3RJbkhhc2gsIHNp emVvZihUZXN0SW5IYXNoKSwgQWxsb3dlZERiLCANCj4gTlVMTCwgTlVMTCk7DQo+ICsgIGlmIChT dGF0dXMgPT0gRUZJX0lOVkFMSURfUEFSQU1FVEVSKQ0KPiArICAgIEFzc2VydGlvblR5cGUgPSBF RklfVEVTVF9BU1NFUlRJT05fUEFTU0VEOyAgZWxzZQ0KPiArICAgIEFzc2VydGlvblR5cGUgPSBF RklfVEVTVF9BU1NFUlRJT05fRkFJTEVEOw0KPiArDQo+ICsgIFN0YW5kYXJkTGliLT5SZWNvcmRB c3NlcnRpb24gKA0KPiArICAgICAgICAgICAgICAgICBTdGFuZGFyZExpYiwNCj4gKyAgICAgICAg ICAgICAgICAgQXNzZXJ0aW9uVHlwZSwNCj4gKyAgICAgICAgICAgICAgICAgZ1BrY3M3QkJUZXN0 Q29uZm9ybWFuY2VBc3NlcnRpb25HdWlkMDExLA0KPiArICAgICAgICAgICAgICAgICBMIlBLQ1M3 X1ZFUklGWV9QUk9UT0NPTC5WZXJpZnlTaWduYXR1cmUgLQ0KPiBWZXJpZnlTaWduYXR1cmUoKSBz aG91bGQgcmV0dXJucyBFRklfSU5WQUxJRF9QQVJBTUVURVIgd2hlbiBTaWduYXR1cmUgDQo+IGlz IE5VTEwuIiwNCj4gKyAgICAgICAgICAgICAgICAgTCIlYTolZDogU3RhdHVzIC0gJXJcbiIsDQo+ ICsgICAgICAgICAgICAgICAgIF9fRklMRV9fLA0KPiArICAgICAgICAgICAgICAgICAoVUlOVE4p X19MSU5FX18sDQo+ICsgICAgICAgICAgICAgICAgIFN0YXR1cw0KPiArICAgICAgICAgICAgICAg ICApOw0KPiArDQo+ICsgIC8vIFNpZ25hdHVyZVNpemUgaXMgMA0KPiArICBTdGF0dXMgPSBQa2Nz N1ZlcmlmeS0+VmVyaWZ5U2lnbmF0dXJlIChQa2NzN1ZlcmlmeSwNCj4gUDdUZXN0U2lnbmF0dXJl LCAwLCBUZXN0SW5IYXNoLCBzaXplb2YoVGVzdEluSGFzaCksIEFsbG93ZWREYiwgTlVMTCwgDQo+ IE5VTEwpOw0KPiArICBpZiAoU3RhdHVzID09IEVGSV9JTlZBTElEX1BBUkFNRVRFUikNCj4gKyAg ICBBc3NlcnRpb25UeXBlID0gRUZJX1RFU1RfQVNTRVJUSU9OX1BBU1NFRDsgIGVsc2UNCj4gKyAg ICBBc3NlcnRpb25UeXBlID0gRUZJX1RFU1RfQVNTRVJUSU9OX0ZBSUxFRDsNCj4gKw0KPiArICBT dGFuZGFyZExpYi0+UmVjb3JkQXNzZXJ0aW9uICgNCj4gKyAgICAgICAgICAgICAgICAgU3RhbmRh cmRMaWIsDQo+ICsgICAgICAgICAgICAgICAgIEFzc2VydGlvblR5cGUsDQo+ICsgICAgICAgICAg ICAgICAgIGdQa2NzN0JCVGVzdENvbmZvcm1hbmNlQXNzZXJ0aW9uR3VpZDAxMSwNCj4gKyAgICAg ICAgICAgICAgICAgTCJQS0NTN19WRVJJRllfUFJPVE9DT0wuVmVyaWZ5U2lnbmF0dXJlIC0NCj4g VmVyaWZ5U2lnbmF0dXJlKCkgc2hvdWxkIHJldHVybnMgRUZJX0lOVkFMSURfUEFSQU1FVEVSIHdo ZW4gDQo+IFNpZ25hdHVyZVNpemUgaXMgMC4iLA0KPiArICAgICAgICAgICAgICAgICBMIiVhOiVk OiBTdGF0dXMgLSAlclxuIiwNCj4gKyAgICAgICAgICAgICAgICAgX19GSUxFX18sDQo+ICsgICAg ICAgICAgICAgICAgIChVSU5UTilfX0xJTkVfXywNCj4gKyAgICAgICAgICAgICAgICAgU3RhdHVz DQo+ICsgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgLy8gSW5IYXNoIGlzIE5VTEwuDQo+ ICsgIFN0YXR1cyA9IFBrY3M3VmVyaWZ5LT5WZXJpZnlTaWduYXR1cmUgKFBrY3M3VmVyaWZ5LA0K PiBQN1Rlc3RTaWduYXR1cmUsIHNpemVvZihQN1Rlc3RTaWduYXR1cmUpLCBOVUxMLCBzaXplb2Yo VGVzdEluSGFzaCksIA0KPiBBbGxvd2VkRGIsIE5VTEwsIE5VTEwpOw0KPiArICBpZiAoU3RhdHVz ID09IEVGSV9JTlZBTElEX1BBUkFNRVRFUikNCj4gKyAgICBBc3NlcnRpb25UeXBlID0gRUZJX1RF U1RfQVNTRVJUSU9OX1BBU1NFRDsgIGVsc2UNCj4gKyAgICBBc3NlcnRpb25UeXBlID0gRUZJX1RF U1RfQVNTRVJUSU9OX0ZBSUxFRDsNCj4gKw0KPiArICBTdGFuZGFyZExpYi0+UmVjb3JkQXNzZXJ0 aW9uICgNCj4gKyAgICAgICAgICAgICAgICAgU3RhbmRhcmRMaWIsDQo+ICsgICAgICAgICAgICAg ICAgIEFzc2VydGlvblR5cGUsDQo+ICsgICAgICAgICAgICAgICAgIGdQa2NzN0JCVGVzdENvbmZv cm1hbmNlQXNzZXJ0aW9uR3VpZDAxMSwNCj4gKyAgICAgICAgICAgICAgICAgTCJQS0NTN19WRVJJ RllfUFJPVE9DT0wuVmVyaWZ5U2lnbmF0dXJlIC0NCj4gVmVyaWZ5U2lnbmF0dXJlKCkgc2hvdWxk IHJldHVybnMgRUZJX0lOVkFMSURfUEFSQU1FVEVSIHdoZW4gSW5IYXNoIGlzIA0KPiBOVUxMLiIs DQo+ICsgICAgICAgICAgICAgICAgIEwiJWE6JWQ6IFN0YXR1cyAtICVyXG4iLA0KPiArICAgICAg ICAgICAgICAgICBfX0ZJTEVfXywNCj4gKyAgICAgICAgICAgICAgICAgKFVJTlROKV9fTElORV9f LA0KPiArICAgICAgICAgICAgICAgICBTdGF0dXMNCj4gKyAgICAgICAgICAgICAgICAgKTsNCj4g Kw0KPiArICAvLyBJbkhhc2hTaXplIGlzIDAuDQo+ICsgIFN0YXR1cyA9IFBrY3M3VmVyaWZ5LT5W ZXJpZnlTaWduYXR1cmUgKFBrY3M3VmVyaWZ5LA0KPiBQN1Rlc3RTaWduYXR1cmUsIHNpemVvZihQ N1Rlc3RTaWduYXR1cmUpLCBUZXN0SW5IYXNoLCAwLCBBbGxvd2VkRGIsIA0KPiBOVUxMLCBOVUxM KTsNCj4gKyAgaWYgKFN0YXR1cyA9PSBFRklfSU5WQUxJRF9QQVJBTUVURVIpDQo+ICsgICAgQXNz ZXJ0aW9uVHlwZSA9IEVGSV9URVNUX0FTU0VSVElPTl9QQVNTRUQ7ICBlbHNlDQo+ICsgICAgQXNz ZXJ0aW9uVHlwZSA9IEVGSV9URVNUX0FTU0VSVElPTl9GQUlMRUQ7DQo+ICsNCj4gKyAgU3RhbmRh cmRMaWItPlJlY29yZEFzc2VydGlvbiAoDQo+ICsgICAgICAgICAgICAgICAgIFN0YW5kYXJkTGli LA0KPiArICAgICAgICAgICAgICAgICBBc3NlcnRpb25UeXBlLA0KPiArICAgICAgICAgICAgICAg ICBnUGtjczdCQlRlc3RDb25mb3JtYW5jZUFzc2VydGlvbkd1aWQwMTEsDQo+ICsgICAgICAgICAg ICAgICAgIEwiUEtDUzdfVkVSSUZZX1BST1RPQ09MLlZlcmlmeVNpZ25hdHVyZSAtDQo+IFZlcmlm eVNpZ25hdHVyZSgpIHNob3VsZCByZXR1cm5zIEVGSV9JTlZBTElEX1BBUkFNRVRFUiB3aGVuIElu SGFzaFNpemUgDQo+IGlzIDAuIiwNCj4gKyAgICAgICAgICAgICAgICAgTCIlYTolZDogU3RhdHVz IC0gJXJcbiIsDQo+ICsgICAgICAgICAgICAgICAgIF9fRklMRV9fLA0KPiArICAgICAgICAgICAg ICAgICAoVUlOVE4pX19MSU5FX18sDQo+ICsgICAgICAgICAgICAgICAgIFN0YXR1cw0KPiArICAg ICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIC8vIEFsbG93ZWREYiBpcyBOVUxMDQo+ICsgIFN0 YXR1cyA9IFBrY3M3VmVyaWZ5LT5WZXJpZnlTaWduYXR1cmUgKFBrY3M3VmVyaWZ5LA0KPiBQN1Rl c3RTaWduYXR1cmUsIHNpemVvZihQN1Rlc3RTaWduYXR1cmUpLCBUZXN0SW5IYXNoLCANCj4gc2l6 ZW9mKFRlc3RJbkhhc2gpLCBOVUxMLCBOVUxMLCBOVUxMKTsNCj4gKyAgaWYgKFN0YXR1cyA9PSBF RklfSU5WQUxJRF9QQVJBTUVURVIpDQo+ICsgICAgQXNzZXJ0aW9uVHlwZSA9IEVGSV9URVNUX0FT U0VSVElPTl9QQVNTRUQ7ICBlbHNlDQo+ICsgICAgQXNzZXJ0aW9uVHlwZSA9IEVGSV9URVNUX0FT U0VSVElPTl9GQUlMRUQ7DQo+ICsNCj4gKyAgU3RhbmRhcmRMaWItPlJlY29yZEFzc2VydGlvbiAo DQo+ICsgICAgICAgICAgICAgICAgIFN0YW5kYXJkTGliLA0KPiArICAgICAgICAgICAgICAgICBB c3NlcnRpb25UeXBlLA0KPiArICAgICAgICAgICAgICAgICBnUGtjczdCQlRlc3RDb25mb3JtYW5j ZUFzc2VydGlvbkd1aWQwMTEsDQo+ICsgICAgICAgICAgICAgICAgIEwiUEtDUzdfVkVSSUZZX1BS T1RPQ09MLlZlcmlmeVNpZ25hdHVyZSAtDQo+IFZlcmlmeVNpZ25hdHVyZSgpIHNob3VsZCByZXR1 cm5zIEVGSV9JTlZBTElEX1BBUkFNRVRFUiB3aGVuIEFsbG93ZWREYiANCj4gaXMgTlVMTC4iLA0K PiArICAgICAgICAgICAgICAgICBMIiVhOiVkOiBTdGF0dXMgLSAlclxuIiwNCj4gKyAgICAgICAg ICAgICAgICAgX19GSUxFX18sDQo+ICsgICAgICAgICAgICAgICAgIChVSU5UTilfX0xJTkVfXywN Cj4gKyAgICAgICAgICAgICAgICAgU3RhdHVzDQo+ICsgICAgICAgICAgICAgICAgICk7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gQ2hlY2twb2ludCAyIC0gRUZJX1VOU1VQUE9SVEVEDQo+ICsgIC8v ICAgIE5PVEU6IEl0J3MgaGFyZCB0byBkaXN0aW5ndWlzaCB1bnN1cHBvcnRlZCBTaWduYXR1cmUg b3INCj4gc2VjdXJpdHktdmlvbGF0ZWQgc2lnbmF0dXJlIGZvciBWZXJpZnlTaWduYXR1cmUoKSBp bnRlcmZhY2UNCj4gKyAgLy8gICAgICAgICAgc2luY2Ugd2UgZG9uJ3QgbmVlZCB0byBleHRyYSB0 aGUgYXR0YWNoZWQgY29udGVudCBmcm9tDQo+IGlucHV0IHNpZ25hdHVyZSBhcyBWZXJpZnlCdWZm ZXIoKSBpbnRlcmZhY2UuDQo+ICsgIC8vICAgICAgICAgIFNvIGl0J3MgT0sgdG8gYnlwYXNzIHRo aXMgY2hlY2sgb3IganVzdCBjaGVjayB0aGUNCj4gRUZJX1NFQ1VSSVRZX1ZJT0xBVElPTiByZXN1 bHQuDQo+ICsgIC8vDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTW9kaWZ5IHRoZSBEYXRhIGluIHRo ZSBQN1Rlc3RTaWduYXR1cmUgdG8gbWFrZSBpdCB0aGUgaW52YWxpZA0KPiBvbmUNCj4gKyAgLy8N Cj4gKyAgUDdUZXN0U2lnbmF0dXJlWzBdID0gMHg0MDsNCj4gKw0KPiArICBTdGF0dXMgPSBQa2Nz N1ZlcmlmeS0+VmVyaWZ5U2lnbmF0dXJlIChQa2NzN1ZlcmlmeSwNCj4gUDdUZXN0U2lnbmF0dXJl LCBzaXplb2YoUDdUZXN0U2lnbmF0dXJlKSwgVGVzdEluSGFzaCwgDQo+IHNpemVvZihUZXN0SW5I YXNoKSwgQWxsb3dlZERiLCBOVUxMLCBOVUxMKTsNCj4gKw0KPiArICBpZiAoKFN0YXR1cyA9PSBF RklfVU5TVVBQT1JURUQpIHx8IChTdGF0dXMgPT0NCj4gRUZJX1NFQ1VSSVRZX1ZJT0xBVElPTikp DQo+ICsgICAgQXNzZXJ0aW9uVHlwZSA9IEVGSV9URVNUX0FTU0VSVElPTl9QQVNTRUQ7ICBlbHNl DQo+ICsgICAgQXNzZXJ0aW9uVHlwZSA9IEVGSV9URVNUX0FTU0VSVElPTl9GQUlMRUQ7DQo+ICsN Cj4gKyAgU3RhbmRhcmRMaWItPlJlY29yZEFzc2VydGlvbiAoDQo+ICsgICAgICAgICAgICAgICAg IFN0YW5kYXJkTGliLA0KPiArICAgICAgICAgICAgICAgICBBc3NlcnRpb25UeXBlLA0KPiArICAg ICAgICAgICAgICAgICBnUGtjczdCQlRlc3RDb25mb3JtYW5jZUFzc2VydGlvbkd1aWQwMTIsDQo+ ICsgICAgICAgICAgICAgICAgIEwiUEtDUzdfVkVSSUZZX1BST1RPQ09MLlZlcmlmeVNpZ25hdHVy ZSAtDQo+IFZlcmlmeVNpZ25hdHVyZSgpIHNob3VsZCByZXR1cm5zIEVGSV9VTlNVUFBPUlRFRCB3 aGVuIFNpZ25hdHVyZSBidWZmZXIgDQo+IHdhcyBub3QgY2xycmVjdGx5IGZvcm1hdHRlZC4iLA0K PiArICAgICAgICAgICAgICAgICBMIiVhOiVkOiBTdGF0dXMgLSAlclxuIiwNCj4gKyAgICAgICAg ICAgICAgICAgX19GSUxFX18sDQo+ICsgICAgICAgICAgICAgICAgIChVSU5UTilfX0xJTkVfXywN Cj4gKyAgICAgICAgICAgICAgICAgU3RhdHVzDQo+ICsgICAgICAgICAgICAgICAgICk7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gUmVzdG9yZSB0aGUgUDdUZXN0U2lnbmF0dXJlIHRvIHRoZSB2YWxp ZCBvbmUgIC8vICANCj4gKyBQN1Rlc3RTaWduYXR1cmVbMF0gPSAweDMwOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIENoZWNrcG9pbnQgNCAtIEVGSV9DT01QUk9NSVNFRF9EQVRBDQo+ICsgIC8vICAg ICBOT1RFOiBQN1ZlcmlmeSBsZXZlcmFnZSBPcGVuU1NMIGZvciBwa2NzNyBzaWduYXR1cmUNCj4g dmVyaWZpY2F0aW9uDQo+ICsgIC8vICAgICAgICAgICBJdCdzIGhhcmQgZm9yIEVGSV9DT01QUk9N SVNFRF9EQVRBIGNoZWNrLiBKdXN0IHVzZQ0KPiBFRklfU0VDVVJJVFlfVklPTEFUSU9OIGZvciB3 cm9uZyBJbkhhc2ggaW5wdXQuDQo+ICsgIC8vDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTW9kaWZ5 IHRoZSBEYXRhIGluIHRoZSBJbkhhc2ggdG8gbWFrZSBpdCB0aGUgaW52YWxpZCBvbmUgIC8vICAN Cj4gKyBUZXN0SW5IYXNoWzBdID0gMHgzRTsgIFN0YXR1cyA9IFBrY3M3VmVyaWZ5LT5WZXJpZnlT aWduYXR1cmUgDQo+ICsgKFBrY3M3VmVyaWZ5LA0KPiBQN1Rlc3RTaWduYXR1cmUsIHNpemVvZihQ N1Rlc3RTaWduYXR1cmUpLCBUZXN0SW5IYXNoLCANCj4gc2l6ZW9mKFRlc3RJbkhhc2gpLCBBbGxv d2VkRGIsIFJldm9rZWREYiwgVGltZXN0YW1wRGIpOw0KPiArICBpZiAoU3RhdHVzID09IEVGSV9T RUNVUklUWV9WSU9MQVRJT04pDQo+ICsgICAgQXNzZXJ0aW9uVHlwZSA9IEVGSV9URVNUX0FTU0VS VElPTl9QQVNTRUQ7ICBlbHNlDQo+ICsgICAgQXNzZXJ0aW9uVHlwZSA9IEVGSV9URVNUX0FTU0VS VElPTl9GQUlMRUQ7DQo+ICsNCj4gKyAgU3RhbmRhcmRMaWItPlJlY29yZEFzc2VydGlvbiAoDQo+ ICsgICAgICAgICAgICAgICAgIFN0YW5kYXJkTGliLA0KPiArICAgICAgICAgICAgICAgICBBc3Nl cnRpb25UeXBlLA0KPiArICAgICAgICAgICAgICAgICBnUGtjczdCQlRlc3RDb25mb3JtYW5jZUFz c2VydGlvbkd1aWQwMTMsDQo+ICsgICAgICAgICAgICAgICAgIEwiUEtDUzdfVkVSSUZZX1BST1RP Q09MLlZlcmlmeVNpZ25hdHVyZSAtDQo+IFZlcmlmeVNpZ25hdHVyZSgpIHNob3VsZCByZXR1cm5z IEVGSV9TRUNVUklUWV9WSU9MQVRJT04gd2hlbiBoYXNoIA0KPiBkaWZmZXJzIGZyb20gc2lnbmVk IGhhc2guIiwNCj4gKyAgICAgICAgICAgICAgICAgTCIlYTolZDogU3RhdHVzIC0gJXJcbiIsDQo+ ICsgICAgICAgICAgICAgICAgIF9fRklMRV9fLA0KPiArICAgICAgICAgICAgICAgICAoVUlOVE4p X19MSU5FX18sDQo+ICsgICAgICAgICAgICAgICAgIFN0YXR1cw0KPiArICAgICAgICAgICAgICAg ICApOw0KPiArICAvLw0KPiArICAvLyBSZXN0b3JlIHRoZSBJbkhhc2gNCj4gKyAgLy8NCj4gKyAg VGVzdEluSGFzaFswXSA9IDB4M0Q7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSW5wdXQgdGhlIGlu dmFsaWQgSGFzaHNpemUNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gUGtjczdWZXJpZnktPlZlcmlm eVNpZ25hdHVyZSAoUGtjczdWZXJpZnksDQo+IFA3VGVzdFNpZ25hdHVyZSwgc2l6ZW9mKFA3VGVz dFNpZ25hdHVyZSksIFRlc3RJbkhhc2gsDQo+IHNpemVvZihUZXN0SW5IYXNoKS0gMiwgQWxsb3dl ZERiLCBSZXZva2VkRGIsIFRpbWVzdGFtcERiKTsNCj4gKyAgaWYgKFN0YXR1cyA9PSBFRklfU0VD VVJJVFlfVklPTEFUSU9OKQ0KPiArICAgIEFzc2VydGlvblR5cGUgPSBFRklfVEVTVF9BU1NFUlRJ T05fUEFTU0VEOyAgZWxzZQ0KPiArICAgIEFzc2VydGlvblR5cGUgPSBFRklfVEVTVF9BU1NFUlRJ T05fRkFJTEVEOw0KPiArDQo+ICsgIFN0YW5kYXJkTGliLT5SZWNvcmRBc3NlcnRpb24gKA0KPiAr ICAgICAgICAgICAgICAgICBTdGFuZGFyZExpYiwNCj4gKyAgICAgICAgICAgICAgICAgQXNzZXJ0 aW9uVHlwZSwNCj4gKyAgICAgICAgICAgICAgICAgZ1BrY3M3QkJUZXN0Q29uZm9ybWFuY2VBc3Nl cnRpb25HdWlkMDEzLA0KPiArICAgICAgICAgICAgICAgICBMIlBLQ1M3X1ZFUklGWV9QUk9UT0NP TC5WZXJpZnlTaWduYXR1cmUgLQ0KPiBWZXJpZnlTaWduYXR1cmUoKSBzaG91bGQgcmV0dXJucyBF RklfU0VDVVJJVFlfVklPTEFUSU9OIHdoZW4gZW5jcnlwdGVkIA0KPiBoYXNoIGlzIGRpZmZlcmVu dCBzaXplLiIsDQo+ICsgICAgICAgICAgICAgICAgIEwiJWE6JWQ6IFN0YXR1cyAtICVyXG4iLA0K PiArICAgICAgICAgICAgICAgICBfX0ZJTEVfXywNCj4gKyAgICAgICAgICAgICAgICAgKFVJTlRO KV9fTElORV9fLA0KPiArICAgICAgICAgICAgICAgICBTdGF0dXMNCj4gKyAgICAgICAgICAgICAg ICAgKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDaGVja3BvaW50IDUgLSBFRklfU0VDVVJJVFlf VklPTEFUSU9OICAvLw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBTaWduZWREYXRhIGJ1ZmZl ciB3YXMgY29ycmVjdGx5IGZvcm1hdHRlZCBidXQgc2lnbmVyIHdhcyBpbg0KPiBSZXZva2VkRGIN Cj4gKyAgLy8NCj4gKyAgQWxsb3dlZERiWzBdID0gRGJFbnRyeTE7DQo+ICsgIFJldm9rZWREYlsw XSA9IERiRW50cnkxOw0KPiArDQo+ICsgIFN0YXR1cyA9IFBrY3M3VmVyaWZ5LT5WZXJpZnlTaWdu YXR1cmUgKFBrY3M3VmVyaWZ5LA0KPiBQN1Rlc3RTaWduYXR1cmUsIHNpemVvZihQN1Rlc3RTaWdu YXR1cmUpLCBUZXN0SW5IYXNoLCANCj4gc2l6ZW9mKFRlc3RJbkhhc2gpLCBBbGxvd2VkRGIsIFJl dm9rZWREYiwgVGltZXN0YW1wRGIpOw0KPiArDQo+ICsgIEFsbG93ZWREYlswXSA9IE5VTEw7DQo+ ICsgIFJldm9rZWREYlswXSA9IE5VTEw7DQo+ICsNCj4gKyAgaWYgKFN0YXR1cyA9PSBFRklfU0VD VVJJVFlfVklPTEFUSU9OKQ0KPiArICAgIEFzc2VydGlvblR5cGUgPSBFRklfVEVTVF9BU1NFUlRJ T05fUEFTU0VEOyAgZWxzZQ0KPiArICAgIEFzc2VydGlvblR5cGUgPSBFRklfVEVTVF9BU1NFUlRJ T05fRkFJTEVEOw0KPiArDQo+ICsgIFN0YW5kYXJkTGliLT5SZWNvcmRBc3NlcnRpb24gKA0KPiAr ICAgICAgICAgICAgICAgICBTdGFuZGFyZExpYiwNCj4gKyAgICAgICAgICAgICAgICAgQXNzZXJ0 aW9uVHlwZSwNCj4gKyAgICAgICAgICAgICAgICAgZ1BrY3M3QkJUZXN0Q29uZm9ybWFuY2VBc3Nl cnRpb25HdWlkMDE0LA0KPiArICAgICAgICAgICAgICAgICBMIlBLQ1M3X1ZFUklGWV9QUk9UT0NP TC5WZXJpZnlTaWduYXR1cmUgLQ0KPiBWZXJpZnlTaWduYXR1cmUoKSBzaG91bGQgcmV0dXJucyBF RklfU0VDVVJJVFlfVklPTEFUSU9OIHdoZW4gdGhlIA0KPiBTaWduZWREYXRhIGJ1ZmZlciB3YXMg Y29ycmVjdGx5IGZvcm1hdHRlZCBidXQgc2lnbmVyIHdhcyBpbiANCj4gUmV2b2tlZERiLiIsDQo+ ICsgICAgICAgICAgICAgICAgIEwiJWE6JWQ6IFN0YXR1cyAtICVyXG4iLA0KPiArICAgICAgICAg ICAgICAgICBfX0ZJTEVfXywNCj4gKyAgICAgICAgICAgICAgICAgKFVJTlROKV9fTElORV9fLA0K PiArICAgICAgICAgICAgICAgICBTdGF0dXMNCj4gKyAgICAgICAgICAgICAgICAgKTsNCj4gKw0K PiArICAvLw0KPiArICAvLyBUaGUgU2lnbmVkRGF0YSBidWZmZXIgd2FzIGNvcnJlY3RseSBmb3Jt YXR0ZWQgYnV0IHNpZ25lciB3YXMNCj4gbm90IGluIEFsbG93ZWREYg0KPiArICAvLw0KPiArICBB bGxvd2VkRGJbMF0gPSBOVUxMOw0KPiArDQo+ICsgIFN0YXR1cyA9IFBrY3M3VmVyaWZ5LT5WZXJp ZnlTaWduYXR1cmUgKFBrY3M3VmVyaWZ5LA0KPiBQN1Rlc3RTaWduYXR1cmUsIHNpemVvZihQN1Rl c3RTaWduYXR1cmUpLCBUZXN0SW5IYXNoLCANCj4gc2l6ZW9mKFRlc3RJbkhhc2gpLCBBbGxvd2Vk RGIsIFJldm9rZWREYiwgVGltZXN0YW1wRGIpOw0KPiArDQo+ICsgIGlmIChTdGF0dXMgPT0gRUZJ X1NFQ1VSSVRZX1ZJT0xBVElPTikNCj4gKyAgICBBc3NlcnRpb25UeXBlID0gRUZJX1RFU1RfQVNT RVJUSU9OX1BBU1NFRDsgIGVsc2UNCj4gKyAgICBBc3NlcnRpb25UeXBlID0gRUZJX1RFU1RfQVNT RVJUSU9OX0ZBSUxFRDsNCj4gKw0KPiArICBTdGFuZGFyZExpYi0+UmVjb3JkQXNzZXJ0aW9uICgN Cj4gKyAgICAgICAgICAgICAgICAgU3RhbmRhcmRMaWIsDQo+ICsgICAgICAgICAgICAgICAgIEFz c2VydGlvblR5cGUsDQo+ICsgICAgICAgICAgICAgICAgIGdQa2NzN0JCVGVzdENvbmZvcm1hbmNl QXNzZXJ0aW9uR3VpZDAxNCwNCj4gKyAgICAgICAgICAgICAgICAgTCJQS0NTN19WRVJJRllfUFJP VE9DT0wuVmVyaWZ5U2lnbmF0dXJlIC0NCj4gVmVyaWZ5U2lnbmF0dXJlKCkgc2hvdWxkIHJldHVy bnMgRUZJX1NFQ1VSSVRZX1ZJT0xBVElPTiB3aGVuIHRoZSANCj4gU2lnbmVkRGF0YSBidWZmZXIg d2FzIGNvcnJlY3RseSBmb3JtYXR0ZWQgYnV0IHNpZ25lciB3YXMgbm90IGluIA0KPiBBbGxvd2Vk RGIuIiwNCj4gKyAgICAgICAgICAgICAgICAgTCIlYTolZDogU3RhdHVzIC0gJXJcbiIsDQo+ICsg ICAgICAgICAgICAgICAgIF9fRklMRV9fLA0KPiArICAgICAgICAgICAgICAgICAoVUlOVE4pX19M SU5FX18sDQo+ICsgICAgICAgICAgICAgICAgIFN0YXR1cw0KPiArICAgICAgICAgICAgICAgICAp Ow0KPiArICAvLw0KPiArICAvLyBNYXRjaGluZyBjb250ZW50IGhhc2ggZm91bmQgaW4gdGhlIFJl dm9rZWREYiAgLy8gIFNjdENvcHlNZW0gDQo+ICsgKChVSU5UOCAqKURiRW50cnk0ICsgc2l6ZW9m IChFRklfU0lHTkFUVVJFX0xJU1QpICsNCj4gc2l6ZW9mKEVGSV9HVUlEKSwgVGVzdEluSGFzaCwg c2l6ZW9mKFRlc3RJbkhhc2gpKTsNCj4gKyAgUmV2b2tlZERiWzBdID0gRGJFbnRyeTQ7DQo+ICsg IEFsbG93ZWREYlswXSA9IERiRW50cnkxOw0KPiArICBTdGF0dXMgPSBQa2NzN1ZlcmlmeS0+VmVy aWZ5U2lnbmF0dXJlIChQa2NzN1ZlcmlmeSwNCj4gUDdUZXN0U2lnbmF0dXJlLCBzaXplb2YoUDdU ZXN0U2lnbmF0dXJlKSwgVGVzdEluSGFzaCwgDQo+IHNpemVvZihUZXN0SW5IYXNoKSwgQWxsb3dl ZERiLCBSZXZva2VkRGIsIFRpbWVzdGFtcERiKTsNCj4gKw0KPiArICBSZXZva2VkRGJbMF0gPSBO VUxMOw0KPiArICBBbGxvd2VkRGJbMF0gPSBOVUxMOw0KPiArDQo+ICsgIGlmIChTdGF0dXMgPT0g RUZJX1NFQ1VSSVRZX1ZJT0xBVElPTikNCj4gKyAgICBBc3NlcnRpb25UeXBlID0gRUZJX1RFU1Rf QVNTRVJUSU9OX1BBU1NFRDsgIGVsc2UNCj4gKyAgICBBc3NlcnRpb25UeXBlID0gRUZJX1RFU1Rf QVNTRVJUSU9OX0ZBSUxFRDsNCj4gKw0KPiArICBTdGFuZGFyZExpYi0+UmVjb3JkQXNzZXJ0aW9u ICgNCj4gKyAgICAgICAgICAgICAgICAgU3RhbmRhcmRMaWIsDQo+ICsgICAgICAgICAgICAgICAg IEFzc2VydGlvblR5cGUsDQo+ICsgICAgICAgICAgICAgICAgIGdQa2NzN0JCVGVzdENvbmZvcm1h bmNlQXNzZXJ0aW9uR3VpZDAxNCwNCj4gKyAgICAgICAgICAgICAgICAgTCJQS0NTN19WRVJJRllf UFJPVE9DT0wuVmVyaWZ5U2lnbmF0dXJlIC0NCj4gVmVyaWZ5U2lnbmF0dXJlKCkgc2hvdWxkIHJl dHVybnMgRUZJX1NFQ1VSSVRZX1ZJT0xBVElPTiB3aGVuIG1hdGNoaW5nIA0KPiBjb250ZW50IGhh c2ggZm91bmQgaW4gdGhlIFJldm9rZWREYi4iLA0KPiArICAgICAgICAgICAgICAgICBMIiVhOiVk OiBTdGF0dXMgLSAlclxuIiwNCj4gKyAgICAgICAgICAgICAgICAgX19GSUxFX18sDQo+ICsgICAg ICAgICAgICAgICAgIChVSU5UTilfX0xJTkVfXywNCj4gKyAgICAgICAgICAgICAgICAgU3RhdHVz DQo+ICsgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2xlYW4gdGhl IERhdGEgaW4gYWxsIERicw0KPiArICAvLw0KPiArICBBbGxvd2VkRGJbMF0gICA9IE5VTEw7DQo+ ICsgIFJldm9rZWREYlswXSAgID0gTlVMTDsNCj4gKyAgVGltZXN0YW1wRGJbMF0gPSBOVUxMOw0K PiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL3VlZmkt DQo+IHNjdC9TY3RQa2cvVGVzdENhc2UvVUVGSS9FRkkvUHJvdG9jb2wvUEtDUzdWZXJpZnkvQmxh Y2tCb3hUZXN0L1BrY3M3Qg0KPiBCVGVzdE1haW4uYyBiL3VlZmktDQo+IHNjdC9TY3RQa2cvVGVz dENhc2UvVUVGSS9FRkkvUHJvdG9jb2wvUEtDUzdWZXJpZnkvQmxhY2tCb3hUZXN0L1BrY3M3Qg0K PiBCVGVzdE1haW4uYw0KPiBpbmRleCA3NzBiZjMzLi5hODRjYzY5IDEwMDY0NA0KPiAtLS0gYS91 ZWZpLQ0KPiBzY3QvU2N0UGtnL1Rlc3RDYXNlL1VFRkkvRUZJL1Byb3RvY29sL1BLQ1M3VmVyaWZ5 L0JsYWNrQm94VGVzdC9Qa2NzN0INCj4gQlRlc3RNYWluLmMNCj4gKysrIGIvdWVmaS0NCj4gc2N0 L1NjdFBrZy9UZXN0Q2FzZS9VRUZJL0VGSS9Qcm90b2NvbC9QS0NTN1ZlcmlmeS9CbGFja0JveFRl c3QvUGtjczdCDQo+IEJUZXN0TWFpbi5jDQo+IEBAIC04OCw3ICs4OCw2IEBAIEVGSV9CQl9URVNU X0VOVFJZX0ZJRUxEIGdCQlRlc3RFbnRyeUZpZWxkW10gPSB7DQo+ICAgICAgRUZJX1RFU1RfQ0FT RV9BVVRPLA0KPiAgICAgIEJCVGVzdFZlcmlmeUJ1ZmZlckNvbmZvcm1hbmNlVGVzdA0KPiAgICB9 LA0KPiAtI2lmIDANCj4gICAgew0KPiAgICAgIEVGSV9QS0NTN19WRVJJRllfUFJPVE9DT0xfVEVT VF9FTlRSWV9HVUlEMDIwMiwNCj4gICAgICBMIlZlcmlmeVNpZ25hdHVyZUNvbmZvcm1hbmNlIiwN Cj4gQEAgLTk4LDcgKzk3LDYgQEAgRUZJX0JCX1RFU1RfRU5UUllfRklFTEQgZ0JCVGVzdEVudHJ5 RmllbGRbXSA9IHsNCj4gICAgICBFRklfVEVTVF9DQVNFX0FVVE8sDQo+ICAgICAgQkJUZXN0VmVy aWZ5U2lnbmF0dXJlQ29uZm9ybWFuY2VUZXN0DQo+ICAgIH0sDQo+IC0jZW5kaWYNCj4gICAgMA0K PiAgfTsNCj4gIA0KDQo=