From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 485E8C433FE for ; Thu, 9 Dec 2021 17:38:14 +0000 (UTC) Received: from mail.irisgmbh.de (mail.irisgmbh.de [81.169.172.79]) by mx.groups.io with SMTP id smtpd.web11.15060.1639071493070199563 for ; Thu, 09 Dec 2021 09:38:13 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=SPF record not found (domain: iris-sensing.com, ip: 81.169.172.79, mailfrom: jasper.orschulko@iris-sensing.com) Received: from localhost (localhost [127.0.0.1]) by mail.irisgmbh.de (Postfix) with ESMTP id 90E0631E035C; Thu, 9 Dec 2021 18:38:10 +0100 (CET) X-Virus-Scanned: amavisd-new at irisgmbh.de Received: from mail.irisgmbh.de ([127.0.0.1]) by localhost (s15324379.rootmaster.info [127.0.0.1]) (amavisd-new, port 10027) with ESMTP; Thu, 9 Dec 2021 18:38:10 +0100 (CET) Received: from ERDE.irisgmbh.local (unknown [213.61.209.158]) by mail.irisgmbh.de (Postfix) with ESMTPS id 7418E31E034A; Thu, 9 Dec 2021 18:38:10 +0100 (CET) Received: from ERDE.irisgmbh.local ([172.30.10.11]) by ERDE.irisgmbh.local ([172.30.10.11]) with mapi id 14.03.0513.000; Thu, 9 Dec 2021 18:38:09 +0100 From: Jasper Orschulko To: "openembedded-core@lists.openembedded.org" , "eero.aaltonen@vaisala.com" , "steve@sakoman.com" CC: "martin@mko.dev" , Daniel Baumgart Subject: Re: [OE-core][dunfell 16/18] cmake: FindGTest: Add target for gmock library Thread-Topic: [OE-core][dunfell 16/18] cmake: FindGTest: Add target for gmock library Thread-Index: AQHX7SOHLP6K9+F0LkKyTWXDRZ6RJw== Date: Thu, 9 Dec 2021 17:38:08 +0000 Message-ID: <929bdc2257cb8de09bec15e256db812bd83df309.camel@iris-sensing.com> References: <80ab29b962cea17a4f2486ad25577bc830cdd8d9.1638555254.git.steve@sakoman.com> In-Reply-To: <80ab29b962cea17a4f2486ad25577bc830cdd8d9.1638555254.git.steve@sakoman.com> Accept-Language: en-US, de-DE Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.30.10.1] Content-Type: text/plain; charset="utf-8" Content-ID: <33CB47EF01793E449C2F1EDBA252D555@irisgmbh.local> Content-Transfer-Encoding: base64 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 09 Dec 2021 17:38:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/159473 LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQ0KSGFzaDogU0hBMjU2DQoNCkhpLA0K DQpJIGNhbid0IHByb3ZpZGUgYW55IGRldGFpbHMgeWV0LCBidXQgSSBjYW4gc2F5IHdpdGggY2Vy dGFpbnR5IHRoYXQgdGhpcw0KcGF0Y2ggYnJlYWtzIG91ciBidWlsZCAodXNpbmcgdGhlIHBhcmVu dCBjb21taXQNCgk3NDZiMzAxZDM3ZjliNzMzM2YzZDkzZTZmYjdlYTI4MDg2NjVkZjQxIGFzIHJl ZnNwZWMgZHVyaW5nIHRoZSBidWlsZCB3b3Jrc2FzZXhwZWN0ZWQpOg0KDQpbLi4uXSB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvIGB0ZXN0aW5nOjoqDQoNCkNhbiBzb21lb25lIGNvbmZpcm0gdGhpcyBp c3N1ZT8gRmVlbCBmcmVlIHRvIHJlYWNoIG91dCBmb3IgZnVydGhlcg0KZGV0YWlscy4NCg0KLSAt LSANCldpdGggYmVzdCByZWdhcmRzDQoNCkphc3BlciBPcnNjaHVsa28NCkRldk9wcyBFbmdpbmVl cg0KDQpUZWwuICs0OSAzMCA1OCA1OCAxNCAyNjUNCkZheCArNDkgMzAgNTggNTggMTQgOTk5DQpK YXNwZXIuT3JzY2h1bGtvQGlyaXMtc2Vuc2luZy5jb20NCg0K4oCiIOKAoiDigKIg4oCiIOKAoiDi gKIg4oCiIOKAoiDigKIg4oCiIOKAoiDigKIg4oCiIOKAoiDigKIg4oCiIOKAoiDigKIg4oCiIOKA oiDigKIg4oCiIOKAoiDigKIg4oCiIOKAog0KDQppcmlzLUdtYkgNCmluZnJhcmVkICYgaW50ZWxs aWdlbnQgc2Vuc29ycw0KU2NobmVsbGVyc3RyYcOfZSAxLTUgfCAxMjQzOSBCZXJsaW4NCg0KaHR0 cHM6Ly9pcmlzLXNlbnNpbmcuY29tLw0KDQoNCg0KDQoNCk9uIEZyaSwgMjAyMS0xMi0wMyBhdCAw ODoxOSAtMTAwMCwgU3RldmUgU2Frb21hbiB3cm90ZToNCj4gRnJvbTogRWVybyBBYWx0b25lbiA8 ZWVyby5hYWx0b25lbkB2YWlzYWxhLmNvbT4NCj4gDQo+IGBnb29nbGVtb2NrYCBoYXMgYmVlbiBh YnNvcmJlZCBpbnRvIHRoZQ0KPiBbZ29vZ2xldGVzdF0oaHR0cHM6Ly9naXRodWIuY29tL2dvb2ds ZS9nb29nbGV0ZXN0KSBwcm9qZWN0IGFuZCBpcw0KPiBidWlsdA0KPiBhbmQgaW5zdGFsbGVkIGZy b20gdGhlIHNhbWUgc291cmNlIHRyZWUuDQo+IA0KPiBgZ29vZ2xldGVzdGAgaGFzIHByb3ZpZGVk IGEgQ01ha2UgQ29uZmlnLWZpbGUgUGFja2FnZSBzdGFydGluZyB3aXRoDQo+IEdUZXN0IDEuOC4x LiBgZmluZF9wYWNrYWdlKEdUZXN0IC4uLilgIGJ5IGRlZmF1bHQgZGlzcGF0Y2hlcyBmaXJzdCB0 bw0KPiBDTWFrZSBGaW5kIE1vZHVsZS4gU3RhcnRpbmcgd2l0aCBDTWFrZSBjb21taXQNCj4gMjMy N2I0MzMwY2NlMTU3ZDYxNmZmOGI2MTFiM2U3NzU2OGQwMDM1MSBpbiBDTWFrZSB2My4yMC4wIHRo ZSBtb2R1bGUNCj4gZGlzcGF0Y2hlcyBvbndhcmQgdG8gdGhlIENvbmZpZy1maWxlIFBhY2thZ2Ug c28gdGhhdCB0aGUgc2FtZSB0YXJnZXRzDQo+IGFyZSBhdmFpbGFibGUuIEluIHByZSB2My4yMC4w IHZlcnNpb25zIG9mIENNYWtlIGhvd2V2ZXIgdGhlIEZpbmQNCj4gTW9kdWxlDQo+IG1hc2tzIHRo ZSB0YXJnZXRzIHByb3ZpZGVkIGJ5IHRoZSB1cHN0cmVhbSBgR1Rlc3RgIHBhY2thZ2UuDQo+IA0K PiBVcGRhdGUgYE1vZHVsZXMvRmluZEdUZXN0LmNtYWtlYCB0byBwcm92aWRlIHRoZSBzYW1lIHRh cmdldHMgYXMgdGhlDQo+IENNYWtlIENvbmZpZy1maWxlIFBhY2thZ2UgYW5kIGJhY2t3YXJkcyBj b21wYXRpYmxlIHRhcmdldHMgYW5kIHJlc3VsdA0KPiB2YXJpYWJsZXMuDQo+IA0KPiBTaWduZWQt b2ZmLWJ5OiBFZXJvIEFhbHRvbmVuIDxlZXJvLmFhbHRvbmVuQHZhaXNhbGEuY29tPg0KPiBTaWdu ZWQtb2ZmLWJ5OiBTdGV2ZSBTYWtvbWFuIDxzdGV2ZUBzYWtvbWFuLmNvbT4NCj4gLS0tDQo+IMKg Li4uL2NtYWtlL2NtYWtlLW5hdGl2ZV8zLjE2LjUuYmLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8wqDCoCAxICsNCj4gwqAuLi5uZEdUZXN0LUFkZC10YXJnZXQtZm9yLWdtb2NrLWxpYnJhcnku cGF0Y2ggfCAyNTUNCj4gKysrKysrKysrKysrKysrKysrDQo+IMKgMiBmaWxlcyBjaGFuZ2VkLCAy NTYgaW5zZXJ0aW9ucygrKQ0KPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhL3JlY2lwZXMtZGV2 dG9vbHMvY21ha2UvY21ha2UvMDAwNi1jbWFrZS0NCj4gRmluZEdUZXN0LUFkZC10YXJnZXQtZm9y LWdtb2NrLWxpYnJhcnkucGF0Y2gNCj4gDQo+IGRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZGV2 dG9vbHMvY21ha2UvY21ha2UtbmF0aXZlXzMuMTYuNS5iYg0KPiBiL21ldGEvcmVjaXBlcy1kZXZ0 b29scy9jbWFrZS9jbWFrZS1uYXRpdmVfMy4xNi41LmJiDQo+IGluZGV4IGIyOTUyZWU1ZjUuLjk2 YTdiZTY3NzAgMTAwNjQ0DQo+IC0tLSBhL21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFr ZS1uYXRpdmVfMy4xNi41LmJiDQo+ICsrKyBiL21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9j bWFrZS1uYXRpdmVfMy4xNi41LmJiDQo+IEBAIC03LDYgKzcsNyBAQCBTUkNfVVJJICs9ICJmaWxl Oi8vT0VUb29sY2hhaW5Db25maWcuY21ha2XCoFwNCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGZpbGU6Ly9lbnZpcm9ubWVudC5kLWNtYWtlLnNowqBcDQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoA0KPiBmaWxlOi8vMDAwMS1DTWFrZURldGVybWluZVN5c3RlbS11c2Utb2UtZW52aXJvbm1l bnQtdmFycy10by1sb2FkLnBhdGNoDQo+IMKgXA0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAN Cj4gZmlsZTovLzAwMDUtRGlzYWJsZS11c2Utb2YtZXh0MmZzLWV4dDJfZnMuaC1ieS1jbWFrZS1z LWludGVybmFsLS5wYXRjaA0KPiDCoFwNCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqANCj4gZmls ZTovLzAwMDYtY21ha2UtRmluZEdUZXN0LUFkZC10YXJnZXQtZm9yLWdtb2NrLWxpYnJhcnkucGF0 Y2jCoFwNCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICINCj4gwqANCj4gwqANCj4gZGlmZiAt LWdpdCBhL21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDA2LWNtYWtlLUZpbmRH VGVzdC0NCj4gQWRkLXRhcmdldC1mb3ItZ21vY2stbGlicmFyeS5wYXRjaCBiL21ldGEvcmVjaXBl cy0NCj4gZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwNi1jbWFrZS1GaW5kR1Rlc3QtQWRkLXRhcmdl dC1mb3ItZ21vY2stDQo+IGxpYnJhcnkucGF0Y2gNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g aW5kZXggMDAwMDAwMDAwMC4uMjY3ZjU4NmE3MQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL21l dGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDA2LWNtYWtlLUZpbmRHVGVzdC1BZGQt DQo+IHRhcmdldC1mb3ItZ21vY2stbGlicmFyeS5wYXRjaA0KPiBAQCAtMCwwICsxLDI1NSBAQA0K PiArRnJvbSAzOWVhZTBkNmMxYjM5OGYxODc2MWFiYWM3ZjU1OTQ0ZjAyOTBmOGExIE1vbiBTZXAg MTcgMDA6MDA6MDANCj4gMjAwMQ0KPiArRnJvbTogRWVybyBBYWx0b25lbiA8ZWVyby5hYWx0b25l bkBpa2kuZmk+DQo+ICtEYXRlOiBTdW4sIDE3IE9jdCAyMDIxIDE3OjEzOjA3ICswMzAwDQo+ICtT dWJqZWN0OiBbUEFUQ0hdIEZpbmRHVGVzdDogQWRkIHRhcmdldCBmb3IgZ21vY2sgbGlicmFyeQ0K PiArDQo+ICtgZ29vZ2xlbW9ja2AgaGFzIGJlZW4gYWJzb3JiZWQgaW50byB0aGUNCj4gK1tnb29n bGV0ZXN0XShodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2dvb2dsZXRlc3QpIHByb2plY3QgYW5k IGlzDQo+IGJ1aWx0DQo+ICthbmQgaW5zdGFsbGVkIGZyb20gdGhlIHNhbWUgc291cmNlIHRyZWUu DQo+ICsNCj4gK0FzIEdUZXN0IG1heSBiZSBidWlsdCB3aXRoIG9yIHdpdGhvdXQgR01vY2ssIHNr aXAgR01vY2sgaWYgaXQgaXMgbm90DQo+ICtwcmVzZW50Lg0KPiArDQo+ICtEbyBub3QgcHJvdmlk ZSByZXN1bHQgdmFyaWFibGVzIGZvciBHTW9jay7CoCBUaGV5IGFyZSBub3QgcHJvdmlkZWQgYnkN Cj4gK3Vwc3RyZWFtIEdUZXN0J3MgQ01ha2UgUGFja2FnZSBDb25maWd1cmF0aW9uIEZpbGUuDQo+ ICsNCj4gK0Fsc28gdXBkYXRlIHRoZSB0ZXN0IGNhc2UgdG8gY292ZXIgbGlua2luZyB0byBgR1Rl c3Q6Omdtb2NrYC4NCj4gKw0KPiArVGhlIHBhdGNoIHdhcyBpbXBvcnRlZCBmcm9tIHRoZSBLaXR3 YXJlIGdpdCBzZXJ2ZXINCj4gKyhnaXRAZ2l0bGFiLmtpdHdhcmUuY29tOmNtYWtlL2NtYWtlLmdp dCkgYXMgb2YgY29tbWl0IGlkDQo+ICs1MGJmNDU3YTBkZDg1N2NmOTc2YjIyYzViZTdkMzMzNDkz MjMzZDFlDQo+ICsNCj4gK1BhdGNoIHdhcyBtb2RpZmllZCB0byBzdXBwb3J0IHVwcGVyIGNhc2Ug dmFyaWFibGUgYEdURVNUX0ZPVU5EYC4NCj4gKw0KPiArVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRl ZA0KPiBbaHR0cHM6Ly9naXRsYWIua2l0d2FyZS5jb20vY21ha2UvY21ha2UvLS9tZXJnZV9yZXF1 ZXN0cy82NjMyXQ0KPiArTWlsZXN0b25lOiAzLjIzLjANCj4gKw0KPiArU2lnbmVkLW9mZi1ieTog RWVybyBBYWx0b25lbiA8ZWVyby5hYWx0b25lbkB2YWlzYWxhLmNvbT4NCj4gKy0tLQ0KPiArIC4u Li9kZXYvRmluZEdUZXN0LXRhcmdldC1mb3ItZ21vY2sucnN0wqDCoMKgwqDCoMKgwqAgfMKgwqAg NCArDQo+ICsgTW9kdWxlcy9GaW5kR1Rlc3QuY21ha2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IDEzMw0KPiArKysrKysrKysrKysrKystLS0NCj4gKyBUZXN0 cy9GaW5kR1Rlc3QvVGVzdC9DTWFrZUxpc3RzLnR4dMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKg IDQgKw0KPiArIDMgZmlsZXMgY2hhbmdlZCwgMTIxIGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9u cygtKQ0KPiArIGNyZWF0ZSBtb2RlIDEwMDY0NCBIZWxwL3JlbGVhc2UvZGV2L0ZpbmRHVGVzdC10 YXJnZXQtZm9yLWdtb2NrLnJzdA0KPiArDQo+ICtkaWZmIC0tZ2l0IGEvSGVscC9yZWxlYXNlL2Rl di9GaW5kR1Rlc3QtdGFyZ2V0LWZvci1nbW9jay5yc3QNCj4gYi9IZWxwL3JlbGVhc2UvZGV2L0Zp bmRHVGVzdC10YXJnZXQtZm9yLWdtb2NrLnJzdA0KPiArbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g K2luZGV4IDAwMDAwMDAwMDAuLmY3ODI0MmM4MGUNCj4gKy0tLSAvZGV2L251bGwNCj4gKysrKyBi L0hlbHAvcmVsZWFzZS9kZXYvRmluZEdUZXN0LXRhcmdldC1mb3ItZ21vY2sucnN0DQo+ICtAQCAt MCwwICsxLDQgQEANCj4gKytGaW5kR1Rlc3QtdGFyZ2V0LWZvci1nbW9jaw0KPiArKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsrDQo+ICsrKiBUaGUgOm1vZHVsZTpgRmluZEdUZXN0YCBt b2R1bGUgbm93IHByb3ZpZGVzIGEgdGFyZ2V0IGZvciBHTW9jaywNCj4gaWYgZm91bmQuDQo+ICtk aWZmIC0tZ2l0IGEvTW9kdWxlcy9GaW5kR1Rlc3QuY21ha2UgYi9Nb2R1bGVzL0ZpbmRHVGVzdC5j bWFrZQ0KPiAraW5kZXggZTAxNWE5ODQwZi4uMDMzMTA0OTU5NCAxMDA2NDQNCj4gKy0tLSBhL01v ZHVsZXMvRmluZEdUZXN0LmNtYWtlDQo+ICsrKysgYi9Nb2R1bGVzL0ZpbmRHVGVzdC5jbWFrZQ0K PiArQEAgLTcsMTAgKzcsMjMgQEAgRmluZEdUZXN0DQo+ICsgDQo+ICsgTG9jYXRlIHRoZSBHb29n bGUgQysrIFRlc3RpbmcgRnJhbWV3b3JrLg0KPiArIA0KPiArKy4uIHZlcnNpb25hZGRlZDo6IDMu MjANCj4gKyvCoCBVcHN0cmVhbSBgYEdUZXN0Q29uZmlnLmNtYWtlYGAgaXMgdXNlZCBpZiBwb3Nz aWJsZS4NCj4gKysNCj4gKyBJbXBvcnRlZCB0YXJnZXRzDQo+ICsgXl5eXl5eXl5eXl5eXl5eXg0K PiArIA0KPiArLVRoaXMgbW9kdWxlIGRlZmluZXMgdGhlIGZvbGxvd2luZyA6cHJvcF90Z3Q6YElN UE9SVEVEYCB0YXJnZXRzOg0KPiArK8KgIFRoaXMgbW9kdWxlIGRlZmluZXMgdGhlIGZvbGxvd2lu ZyA6cHJvcF90Z3Q6YElNUE9SVEVEYCB0YXJnZXRzOg0KPiArKw0KPiArK2BgR1Rlc3Q6Omd0ZXN0 YGANCj4gKyvCoCBUaGUgR29vZ2xlIFRlc3QgYGBndGVzdGBgIGxpYnJhcnksIGlmIGZvdW5kOyBh ZGRzIFRocmVhZDo6VGhyZWFkDQo+ICsrwqAgYXV0b21hdGljYWxseQ0KPiArK2BgR1Rlc3Q6Omd0 ZXN0X21haW5gYA0KPiArK8KgIFRoZSBHb29nbGUgVGVzdCBgYGd0ZXN0X21haW5gYCBsaWJyYXJ5 LCBpZiBmb3VuZA0KPiArKw0KPiArKy4uIGRlcHJlY2F0ZWQ6OiAzLjIwDQo+ICsrwqAgRm9yIGJh Y2t3YXJkcyBjb21wYXRpYmlsaXR5LCB0aGlzIG1vZHVsZSBkZWZpbmVzIGFkZGl0aW9uYWxseSB0 aGUNCj4gKyvCoCBmb2xsb3dpbmcgZGVwcmVjYXRlZCA6cHJvcF90Z3Q6YElNUE9SVEVEYCB0YXJn ZXRzIChhdmFpbGFibGUNCj4gc2luY2UgMy41KToNCj4gKyANCj4gKyBgYEdUZXN0OjpHVGVzdGBg DQo+ICvCoMKgIFRoZSBHb29nbGUgVGVzdCBgYGd0ZXN0YGAgbGlicmFyeSwgaWYgZm91bmQ7IGFk ZHMgVGhyZWFkOjpUaHJlYWQNCj4gK0BAIC0xOCw3ICszMSw2IEBAIFRoaXMgbW9kdWxlIGRlZmlu ZXMgdGhlIGZvbGxvd2luZw0KPiA6cHJvcF90Z3Q6YElNUE9SVEVEYCB0YXJnZXRzOg0KPiArIGBg R1Rlc3Q6Ok1haW5gYA0KPiArwqDCoCBUaGUgR29vZ2xlIFRlc3QgYGBndGVzdF9tYWluYGAgbGli cmFyeSwgaWYgZm91bmQNCj4gKyANCj4gKy0NCj4gKyBSZXN1bHQgdmFyaWFibGVzDQo+ICsgXl5e Xl5eXl5eXl5eXl5eXg0KPiArIA0KPiArQEAgLTE0Niw4ICsxNTgsNDIgQEAgZnVuY3Rpb24oX19n dGVzdF9pbXBvcnRfbGlicmFyeSBfdGFyZ2V0IF92YXINCj4gX2NvbmZpZykNCj4gK8KgwqDCoMKg IGVuZGlmKCkNCj4gKyBlbmRmdW5jdGlvbigpDQo+ICsgDQo+ICsrZnVuY3Rpb24oX19ndGVzdF9k ZWZpbmVfYmFja3dhcmRzX2NvbXBhdGlibGVfbGlicmFyeV90YXJnZXRzKQ0KPiArK8KgwqDCoCBz ZXQoR1RFU1RfQk9USF9MSUJSQVJJRVMgJHtHVEVTVF9MSUJSQVJJRVN9DQo+ICR7R1RFU1RfTUFJ Tl9MSUJSQVJJRVN9IFBBUkVOVF9TQ09QRSkNCj4gKysNCj4gKyvCoMKgwqAgIyBBZGQgdGFyZ2V0 cyBtYXBwaW5nIHRoZSBzYW1lIGxpYnJhcnkgbmFtZXMgYXMgZGVmaW5lZCBpbg0KPiArK8KgwqDC oCAjIG9sZGVyIHZlcnNpb25zIG9mIENNYWtlJ3MgRmluZEdUZXN0DQo+ICsrwqDCoMKgIGlmKE5P VCBUQVJHRVQgR1Rlc3Q6OkdUZXN0KQ0KPiArK8KgwqDCoMKgwqDCoMKgIGFkZF9saWJyYXJ5KEdU ZXN0OjpHVGVzdCBJTlRFUkZBQ0UgSU1QT1JURUQpDQo+ICsrwqDCoMKgwqDCoMKgwqAgdGFyZ2V0 X2xpbmtfbGlicmFyaWVzKEdUZXN0OjpHVGVzdCBJTlRFUkZBQ0UgR1Rlc3Q6Omd0ZXN0KQ0KPiAr K8KgwqDCoCBlbmRpZigpDQo+ICsrwqDCoMKgIGlmKE5PVCBUQVJHRVQgR1Rlc3Q6Ok1haW4pDQo+ ICsrwqDCoMKgwqDCoMKgwqAgYWRkX2xpYnJhcnkoR1Rlc3Q6Ok1haW4gSU5URVJGQUNFIElNUE9S VEVEKQ0KPiArK8KgwqDCoMKgwqDCoMKgIHRhcmdldF9saW5rX2xpYnJhcmllcyhHVGVzdDo6TWFp biBJTlRFUkZBQ0UNCj4gR1Rlc3Q6Omd0ZXN0X21haW4pDQo+ICsrwqDCoMKgIGVuZGlmKCkNCj4g KytlbmRmdW5jdGlvbigpDQo+ICsrDQo+ICsgIw0KPiArIA0KPiArK2luY2x1ZGUoJHtDTUFLRV9D VVJSRU5UX0xJU1RfRElSfS9GaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncy5jbWENCj4ga2Up DQo+ICsrDQo+ICsrIyBmaXJzdCBzcGVjaWZpY2FsbHkgbG9vayBmb3IgdGhlIENNYWtlIHZlcnNp b24gb2YgR1Rlc3QNCj4gKytmaW5kX3BhY2thZ2UoR1Rlc3QgUVVJRVQgTk9fTU9EVUxFKQ0KPiAr Kw0KPiArKyMgaWYgd2UgZm91bmQgdGhlIEdUZXN0IGNtYWtlIHBhY2thZ2UgdGhlbiB3ZSBhcmUg ZG9uZSwgYW5kDQo+ICsrIyBjYW4gcHJpbnQgd2hhdCB3ZSBmb3VuZCBhbmQgcmV0dXJuLg0KPiAr K2lmKEdUZXN0X0ZPVU5EKQ0KPiArK8KgwqDCoCBzZXQoR1RFU1RfRk9VTkQgJHtHVGVzdF9GT1VO RH0pDQo+ICsrwqDCoMKgIEZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRfQVJHUyhHVGVzdCBI QU5ETEVfQ09NUE9ORU5UUw0KPiBDT05GSUdfTU9ERSkNCj4gKysNCj4gKyvCoMKgwqAgc2V0KEdU RVNUX0xJQlJBUklFU8KgwqDCoMKgwqAgR1Rlc3Q6Omd0ZXN0KQ0KPiArK8KgwqDCoCBzZXQoR1RF U1RfTUFJTl9MSUJSQVJJRVMgR1Rlc3Q6Omd0ZXN0X21haW4pDQo+ICsrDQo+ICsrwqDCoMKgIF9f Z3Rlc3RfZGVmaW5lX2JhY2t3YXJkc19jb21wYXRpYmxlX2xpYnJhcnlfdGFyZ2V0cygpDQo+ICsr DQo+ICsrwqDCoMKgIHJldHVybigpDQo+ICsrZW5kaWYoKQ0KPiArKw0KPiArIGlmKE5PVCBERUZJ TkVEIEdURVNUX01TVkNfU0VBUkNIKQ0KPiArwqDCoMKgwqAgc2V0KEdURVNUX01TVkNfU0VBUkNI IE1EKQ0KPiArIGVuZGlmKCkNCj4gK0BAIC0xOTQsNTAgKzI0MCw5NyBAQCBpZihNU1ZDIEFORCBH VEVTVF9NU1ZDX1NFQVJDSCBTVFJFUVVBTCAiTUQiKQ0KPiArwqDCoMKgwqAgX19ndGVzdF9maW5k X2xpYnJhcnkoR1RFU1RfTElCUkFSWV9ERUJVR8KgwqDCoMKgwqAgZ3Rlc3QtbWRkIGd0ZXN0ZCkN Cj4gK8KgwqDCoMKgIF9fZ3Rlc3RfZmluZF9saWJyYXJ5KEdURVNUX01BSU5fTElCUkFSWcKgwqDC oMKgwqDCoCBndGVzdF9tYWluLW1kwqANCj4gZ3Rlc3RfbWFpbikNCj4gK8KgwqDCoMKgIF9fZ3Rl c3RfZmluZF9saWJyYXJ5KEdURVNUX01BSU5fTElCUkFSWV9ERUJVRyBndGVzdF9tYWluLW1kZA0K PiBndGVzdF9tYWluZCkNCj4gKyvCoMKgwqAgX19ndGVzdF9maW5kX2xpYnJhcnkoR01PQ0tfTElC UkFSWcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ21vY2stbWTCoCBnbW9jaykNCj4gKyvCoMKgwqAg X19ndGVzdF9maW5kX2xpYnJhcnkoR01PQ0tfTElCUkFSWV9ERUJVR8KgwqDCoMKgwqAgZ21vY2st bWRkIGdtb2NrZCkNCj4gKyvCoMKgwqAgX19ndGVzdF9maW5kX2xpYnJhcnkoR01PQ0tfTUFJTl9M SUJSQVJZwqDCoMKgwqDCoMKgIGdtb2NrX21haW4tbWTCoA0KPiBnbW9ja19tYWluKQ0KPiArK8Kg wqDCoCBfX2d0ZXN0X2ZpbmRfbGlicmFyeShHTU9DS19NQUlOX0xJQlJBUllfREVCVUcgZ21vY2tf bWFpbi1tZGQNCj4gZ21vY2tfbWFpbmQpDQo+ICsgZWxzZSgpDQo+ICvCoMKgwqDCoCBfX2d0ZXN0 X2ZpbmRfbGlicmFyeShHVEVTVF9MSUJSQVJZwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBndGVzdCkN Cj4gK8KgwqDCoMKgIF9fZ3Rlc3RfZmluZF9saWJyYXJ5KEdURVNUX0xJQlJBUllfREVCVUfCoMKg wqDCoMKgIGd0ZXN0ZCkNCj4gK8KgwqDCoMKgIF9fZ3Rlc3RfZmluZF9saWJyYXJ5KEdURVNUX01B SU5fTElCUkFSWcKgwqDCoMKgwqDCoCBndGVzdF9tYWluKQ0KPiArwqDCoMKgwqAgX19ndGVzdF9m aW5kX2xpYnJhcnkoR1RFU1RfTUFJTl9MSUJSQVJZX0RFQlVHIGd0ZXN0X21haW5kKQ0KPiArK8Kg wqDCoCBfX2d0ZXN0X2ZpbmRfbGlicmFyeShHTU9DS19MSUJSQVJZwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBnbW9jaykNCj4gKyvCoMKgwqAgX19ndGVzdF9maW5kX2xpYnJhcnkoR01PQ0tfTElCUkFS WV9ERUJVR8KgwqDCoMKgwqAgZ21vY2tkKQ0KPiArK8KgwqDCoCBfX2d0ZXN0X2ZpbmRfbGlicmFy eShHTU9DS19NQUlOX0xJQlJBUlnCoMKgwqDCoMKgwqAgZ21vY2tfbWFpbikNCj4gKyvCoMKgwqAg X19ndGVzdF9maW5kX2xpYnJhcnkoR01PQ0tfTUFJTl9MSUJSQVJZX0RFQlVHIGdtb2NrX21haW5k KQ0KPiArIGVuZGlmKCkNCj4gKyANCj4gKy0NCj4gaW5jbHVkZSgke0NNQUtFX0NVUlJFTlRfTElT VF9ESVJ9L0ZpbmRQYWNrYWdlSGFuZGxlU3RhbmRhcmRBcmdzLmNtYWtlDQo+ICkNCj4gKyBGSU5E X1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoR1Rlc3QgREVGQVVMVF9NU0cgR1RFU1RfTElC UkFSWQ0KPiBHVEVTVF9JTkNMVURFX0RJUiBHVEVTVF9NQUlOX0xJQlJBUlkpDQo+ICsgDQo+ICst aWYoR1RFU1RfRk9VTkQpDQo+ICsraWYoR01PQ0tfTElCUkFSWSBBTkQgR01PQ0tfTUFJTl9MSUJS QVJZKQ0KPiArK8KgwqDCoCBzZXQoR01vY2tfRk9VTkQgVHJ1ZSkNCj4gKytlbHNlKCkNCj4gKyvC oMKgwqAgc2V0KEdNb2NrX0ZPVU5EIEZhbHNlKQ0KPiArK2VuZGlmKCkNCj4gKysNCj4gKytpZihH VGVzdF9GT1VORCkNCj4gK8KgwqDCoMKgIHNldChHVEVTVF9JTkNMVURFX0RJUlMgJHtHVEVTVF9J TkNMVURFX0RJUn0pDQo+ICvCoMKgwqDCoCBfX2d0ZXN0X2FwcGVuZF9kZWJ1Z3MoR1RFU1RfTElC UkFSSUVTwqDCoMKgwqDCoCBHVEVTVF9MSUJSQVJZKQ0KPiArwqDCoMKgwqAgX19ndGVzdF9hcHBl bmRfZGVidWdzKEdURVNUX01BSU5fTElCUkFSSUVTIEdURVNUX01BSU5fTElCUkFSWSkNCj4gKy3C oMKgwqAgc2V0KEdURVNUX0JPVEhfTElCUkFSSUVTICR7R1RFU1RfTElCUkFSSUVTfQ0KPiAke0dU RVNUX01BSU5fTElCUkFSSUVTfSkNCj4gKyANCj4gK8KgwqDCoMKgIGZpbmRfcGFja2FnZShUaHJl YWRzIFFVSUVUKQ0KPiArIA0KPiArLcKgwqDCoCBpZihOT1QgVEFSR0VUIEdUZXN0OjpHVGVzdCkN Cj4gKyvCoMKgwqAgaWYoTk9UIFRBUkdFVCBHVGVzdDo6Z3Rlc3QpDQo+ICvCoMKgwqDCoMKgwqDC oMKgIF9fZ3Rlc3RfZGV0ZXJtaW5lX2xpYnJhcnlfdHlwZShHVEVTVF9MSUJSQVJZKQ0KPiArLcKg wqDCoMKgwqDCoMKgIGFkZF9saWJyYXJ5KEdUZXN0OjpHVGVzdCAke0dURVNUX0xJQlJBUllfVFlQ RX0gSU1QT1JURUQpDQo+ICsrwqDCoMKgwqDCoMKgwqAgYWRkX2xpYnJhcnkoR1Rlc3Q6Omd0ZXN0 ICR7R1RFU1RfTElCUkFSWV9UWVBFfSBJTVBPUlRFRCkNCj4gK8KgwqDCoMKgwqDCoMKgwqAgaWYo VEFSR0VUIFRocmVhZHM6OlRocmVhZHMpDQo+ICstwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzZXRf dGFyZ2V0X3Byb3BlcnRpZXMoR1Rlc3Q6OkdUZXN0IFBST1BFUlRJRVMNCj4gKyvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHNldF90YXJnZXRfcHJvcGVydGllcyhHVGVzdDo6Z3Rlc3QgUFJPUEVSVElF Uw0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSU5URVJGQUNFX0xJTktfTElC UkFSSUVTIFRocmVhZHM6OlRocmVhZHMpDQo+ICvCoMKgwqDCoMKgwqDCoMKgIGVuZGlmKCkNCj4g K8KgwqDCoMKgwqDCoMKgwqAgaWYoR1RFU1RfTElCUkFSWV9UWVBFIFNUUkVRVUFMICJTSEFSRUQi KQ0KPiArLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKEdUZXN0 OjpHVGVzdCBQUk9QRVJUSUVTDQo+ICsrwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzZXRfdGFyZ2V0 X3Byb3BlcnRpZXMoR1Rlc3Q6Omd0ZXN0IFBST1BFUlRJRVMNCj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIElOVEVSRkFDRV9DT01QSUxFX0RFRklOSVRJT05TDQo+ICJHVEVTVF9M SU5LRURfQVNfU0hBUkVEX0xJQlJBUlk9MSIpDQo+ICvCoMKgwqDCoMKgwqDCoMKgIGVuZGlmKCkN Cj4gK8KgwqDCoMKgwqDCoMKgwqAgaWYoR1RFU1RfSU5DTFVERV9ESVJTKQ0KPiArLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKEdUZXN0OjpHVGVzdCBQUk9QRVJU SUVTDQo+ICsrwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoR1Rl c3Q6Omd0ZXN0IFBST1BFUlRJRVMNCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IElOVEVSRkFDRV9JTkNMVURFX0RJUkVDVE9SSUVTDQo+ICIke0dURVNUX0lOQ0xVREVfRElSU30i KQ0KPiArwqDCoMKgwqDCoMKgwqDCoCBlbmRpZigpDQo+ICstwqDCoMKgwqDCoMKgwqAgX19ndGVz dF9pbXBvcnRfbGlicmFyeShHVGVzdDo6R1Rlc3QgR1RFU1RfTElCUkFSWSAiIikNCj4gKy3CoMKg wqDCoMKgwqDCoCBfX2d0ZXN0X2ltcG9ydF9saWJyYXJ5KEdUZXN0OjpHVGVzdCBHVEVTVF9MSUJS QVJZDQo+ICJSRUxFQVNFIikNCj4gKy3CoMKgwqDCoMKgwqDCoCBfX2d0ZXN0X2ltcG9ydF9saWJy YXJ5KEdUZXN0OjpHVGVzdCBHVEVTVF9MSUJSQVJZICJERUJVRyIpDQo+ICsrwqDCoMKgwqDCoMKg wqAgX19ndGVzdF9pbXBvcnRfbGlicmFyeShHVGVzdDo6Z3Rlc3QgR1RFU1RfTElCUkFSWSAiIikN Cj4gKyvCoMKgwqDCoMKgwqDCoCBfX2d0ZXN0X2ltcG9ydF9saWJyYXJ5KEdUZXN0OjpndGVzdCBH VEVTVF9MSUJSQVJZDQo+ICJSRUxFQVNFIikNCj4gKyvCoMKgwqDCoMKgwqDCoCBfX2d0ZXN0X2lt cG9ydF9saWJyYXJ5KEdUZXN0OjpndGVzdCBHVEVTVF9MSUJSQVJZICJERUJVRyIpDQo+ICvCoMKg wqDCoCBlbmRpZigpDQo+ICstwqDCoMKgIGlmKE5PVCBUQVJHRVQgR1Rlc3Q6Ok1haW4pDQo+ICsr wqDCoMKgIGlmKE5PVCBUQVJHRVQgR1Rlc3Q6Omd0ZXN0X21haW4pDQo+ICvCoMKgwqDCoMKgwqDC oMKgIF9fZ3Rlc3RfZGV0ZXJtaW5lX2xpYnJhcnlfdHlwZShHVEVTVF9NQUlOX0xJQlJBUlkpDQo+ ICstwqDCoMKgwqDCoMKgwqAgYWRkX2xpYnJhcnkoR1Rlc3Q6Ok1haW4gJHtHVEVTVF9NQUlOX0xJ QlJBUllfVFlQRX0NCj4gSU1QT1JURUQpDQo+ICstwqDCoMKgwqDCoMKgwqAgc2V0X3RhcmdldF9w cm9wZXJ0aWVzKEdUZXN0OjpNYWluIFBST1BFUlRJRVMNCj4gKy3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgIElOVEVSRkFDRV9MSU5LX0xJQlJBUklFUyAiR1Rlc3Q6OkdUZXN0IikNCj4gKy3CoMKgwqDC oMKgwqDCoCBfX2d0ZXN0X2ltcG9ydF9saWJyYXJ5KEdUZXN0OjpNYWluIEdURVNUX01BSU5fTElC UkFSWSAiIikNCj4gKy3CoMKgwqDCoMKgwqDCoCBfX2d0ZXN0X2ltcG9ydF9saWJyYXJ5KEdUZXN0 OjpNYWluIEdURVNUX01BSU5fTElCUkFSWQ0KPiAiUkVMRUFTRSIpDQo+ICstwqDCoMKgwqDCoMKg wqAgX19ndGVzdF9pbXBvcnRfbGlicmFyeShHVGVzdDo6TWFpbiBHVEVTVF9NQUlOX0xJQlJBUlkN Cj4gIkRFQlVHIikNCj4gKyvCoMKgwqDCoMKgwqDCoCBhZGRfbGlicmFyeShHVGVzdDo6Z3Rlc3Rf bWFpbiAke0dURVNUX01BSU5fTElCUkFSWV9UWVBFfQ0KPiBJTVBPUlRFRCkNCj4gKyvCoMKgwqDC oMKgwqDCoCBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoR1Rlc3Q6Omd0ZXN0X21haW4gUFJPUEVSVElF Uw0KPiArK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSU5URVJGQUNFX0xJTktfTElCUkFSSUVTICJH VGVzdDo6Z3Rlc3QiKQ0KPiArK8KgwqDCoMKgwqDCoMKgIF9fZ3Rlc3RfaW1wb3J0X2xpYnJhcnko R1Rlc3Q6Omd0ZXN0X21haW4gR1RFU1RfTUFJTl9MSUJSQVJZDQo+ICIiKQ0KPiArK8KgwqDCoMKg wqDCoMKgIF9fZ3Rlc3RfaW1wb3J0X2xpYnJhcnkoR1Rlc3Q6Omd0ZXN0X21haW4gR1RFU1RfTUFJ Tl9MSUJSQVJZDQo+ICJSRUxFQVNFIikNCj4gKyvCoMKgwqDCoMKgwqDCoCBfX2d0ZXN0X2ltcG9y dF9saWJyYXJ5KEdUZXN0OjpndGVzdF9tYWluIEdURVNUX01BSU5fTElCUkFSWQ0KPiAiREVCVUci KQ0KPiArK8KgwqDCoCBlbmRpZigpDQo+ICsrDQo+ICsrwqDCoMKgIF9fZ3Rlc3RfZGVmaW5lX2Jh Y2t3YXJkc19jb21wYXRpYmxlX2xpYnJhcnlfdGFyZ2V0cygpDQo+ICsrZW5kaWYoKQ0KPiArKw0K PiArK2lmKEdNb2NrX0ZPVU5EKQ0KPiArK8KgwqDCoCBpZihOT1QgVEFSR0VUIEdUZXN0OjpnbW9j aykNCj4gKyvCoMKgwqDCoMKgwqDCoCBfX2d0ZXN0X2RldGVybWluZV9saWJyYXJ5X3R5cGUoR01P Q0tfTElCUkFSWSkNCj4gKyvCoMKgwqDCoMKgwqDCoCBhZGRfbGlicmFyeShHVGVzdDo6Z21vY2sg JHtHTU9DS19MSUJSQVJZX1RZUEV9IElNUE9SVEVEKQ0KPiArK8KgwqDCoMKgwqDCoMKgIHNldChf Z21vY2tfbGlua19saWJyYXJpZXMgIkdUZXN0OjpndGVzdCIpDQo+ICsrwqDCoMKgwqDCoMKgwqAg aWYoVEFSR0VUIFRocmVhZHM6OlRocmVhZHMpDQo+ICsrwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBs aXN0KEFQUEVORCBfZ21vY2tfbGlua19saWJyYXJpZXMgVGhyZWFkczo6VGhyZWFkcykNCj4gKyvC oMKgwqDCoMKgwqDCoCBlbmRpZigpDQo+ICsrwqDCoMKgwqDCoMKgwqAgc2V0X3RhcmdldF9wcm9w ZXJ0aWVzKEdUZXN0OjpnbW9jayBQUk9QRVJUSUVTDQo+ICsrwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBJTlRFUkZBQ0VfTElOS19MSUJSQVJJRVMgIiR7X2dtb2NrX2xpbmtfbGlicmFyaWVzfSIpDQo+ ICsrwqDCoMKgwqDCoMKgwqAgaWYoR01PQ0tfTElCUkFSWV9UWVBFIFNUUkVRVUFMICJTSEFSRUQi KQ0KPiArK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKEdUZXN0 OjpnbW9jayBQUk9QRVJUSUVTDQo+ICsrwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIElO VEVSRkFDRV9DT01QSUxFX0RFRklOSVRJT05TDQo+ICJHTU9DS19MSU5LRURfQVNfU0hBUkVEX0xJ QlJBUlk9MSIpDQo+ICsrwqDCoMKgwqDCoMKgwqAgZW5kaWYoKQ0KPiArK8KgwqDCoMKgwqDCoMKg IGlmKEdURVNUX0lOQ0xVREVfRElSUykNCj4gKyvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNldF90 YXJnZXRfcHJvcGVydGllcyhHVGVzdDo6Z21vY2sgUFJPUEVSVElFUw0KPiArK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBJTlRFUkZBQ0VfSU5DTFVERV9ESVJFQ1RPUklFUw0KPiAiJHtH VEVTVF9JTkNMVURFX0RJUlN9IikNCj4gKyvCoMKgwqDCoMKgwqDCoCBlbmRpZigpDQo+ICsrwqDC oMKgwqDCoMKgwqAgX19ndGVzdF9pbXBvcnRfbGlicmFyeShHVGVzdDo6Z21vY2sgR01PQ0tfTElC UkFSWSAiIikNCj4gKyvCoMKgwqDCoMKgwqDCoCBfX2d0ZXN0X2ltcG9ydF9saWJyYXJ5KEdUZXN0 OjpnbW9jayBHTU9DS19MSUJSQVJZDQo+ICJSRUxFQVNFIikNCj4gKyvCoMKgwqDCoMKgwqDCoCBf X2d0ZXN0X2ltcG9ydF9saWJyYXJ5KEdUZXN0OjpnbW9jayBHTU9DS19MSUJSQVJZICJERUJVRyIp DQo+ICsrwqDCoMKgIGVuZGlmKCkNCj4gKyvCoMKgwqAgaWYoTk9UIFRBUkdFVCBHVGVzdDo6Z21v Y2tfbWFpbikNCj4gKyvCoMKgwqDCoMKgwqDCoCBfX2d0ZXN0X2RldGVybWluZV9saWJyYXJ5X3R5 cGUoR01PQ0tfTUFJTl9MSUJSQVJZKQ0KPiArK8KgwqDCoMKgwqDCoMKgIGFkZF9saWJyYXJ5KEdU ZXN0OjpnbW9ja19tYWluICR7R01PQ0tfTUFJTl9MSUJSQVJZX1RZUEV9DQo+IElNUE9SVEVEKQ0K PiArK8KgwqDCoMKgwqDCoMKgIHNldF90YXJnZXRfcHJvcGVydGllcyhHVGVzdDo6Z21vY2tfbWFp biBQUk9QRVJUSUVTDQo+ICsrwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBJTlRFUkZBQ0VfTElOS19M SUJSQVJJRVMgIkdUZXN0OjpnbW9jayIpDQo+ICsrwqDCoMKgwqDCoMKgwqAgX19ndGVzdF9pbXBv cnRfbGlicmFyeShHVGVzdDo6Z21vY2tfbWFpbiBHTU9DS19NQUlOX0xJQlJBUlkNCj4gIiIpDQo+ ICsrwqDCoMKgwqDCoMKgwqAgX19ndGVzdF9pbXBvcnRfbGlicmFyeShHVGVzdDo6Z21vY2tfbWFp biBHTU9DS19NQUlOX0xJQlJBUlkNCj4gIlJFTEVBU0UiKQ0KPiArK8KgwqDCoMKgwqDCoMKgIF9f Z3Rlc3RfaW1wb3J0X2xpYnJhcnkoR1Rlc3Q6Omdtb2NrX21haW4gR01PQ0tfTUFJTl9MSUJSQVJZ DQo+ICJERUJVRyIpDQo+ICvCoMKgwqDCoCBlbmRpZigpDQo+ICsgZW5kaWYoKQ0KPiArZGlmZiAt LWdpdCBhL1Rlc3RzL0ZpbmRHVGVzdC9UZXN0L0NNYWtlTGlzdHMudHh0DQo+IGIvVGVzdHMvRmlu ZEdUZXN0L1Rlc3QvQ01ha2VMaXN0cy50eHQNCj4gK2luZGV4IGI2NWI5ZDI4ZjYuLjdkM2EzNzhh NjUgMTAwNjQ0DQo+ICstLS0gYS9UZXN0cy9GaW5kR1Rlc3QvVGVzdC9DTWFrZUxpc3RzLnR4dA0K PiArKysrIGIvVGVzdHMvRmluZEdUZXN0L1Rlc3QvQ01ha2VMaXN0cy50eHQNCj4gK0BAIC0xMiwz ICsxMiw3IEBAIGFkZF9leGVjdXRhYmxlKHRlc3RfZ3Rlc3RfdmFyIG1haW4uY3h4KQ0KPiArIHRh cmdldF9pbmNsdWRlX2RpcmVjdG9yaWVzKHRlc3RfZ3Rlc3RfdmFyIFBSSVZBVEUNCj4gJHtHVEVT VF9JTkNMVURFX0RJUlN9KQ0KPiArIHRhcmdldF9saW5rX2xpYnJhcmllcyh0ZXN0X2d0ZXN0X3Zh ciBQUklWQVRFDQo+ICR7R1RFU1RfQk9USF9MSUJSQVJJRVN9ICR7Q01BS0VfVEhSRUFEX0xJQlNf SU5JVH0pDQo+ICsgYWRkX3Rlc3QoTkFNRSB0ZXN0X2d0ZXN0X3ZhciBDT01NQU5EIHRlc3RfZ3Rl c3RfdmFyKQ0KPiArKw0KPiArK2FkZF9leGVjdXRhYmxlKHRlc3RfZ21vY2tfdGd0IG1haW4uY3h4 KQ0KPiArK3RhcmdldF9saW5rX2xpYnJhcmllcyh0ZXN0X2dtb2NrX3RndCBHVGVzdDo6Z21vY2tf bWFpbikNCj4gKythZGRfdGVzdChOQU1FIHRlc3RfZ21vY2tfdGd0IENPTU1BTkQgdGVzdF9nbW9j a190Z3QpDQo+ICstLSANCj4gKzIuMTcuMQ0KPiArDQotLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUt LS0tLQ0KDQppUUV6QkFFQkNBQWRGaUVFNFd5UE1JQzVBcDQrT29vMVlncWV3MDdWTU5VRkFtR3lQ d0FBQ2drUVlncWV3MDdWDQpNTlUrcXdmL2E2cERkYWNKbENHbE5oYStkMkFia0FxaUFsQy9kalAw aTVoMTdtaFJodmZaV3d2bThEbHlYVU5MDQpvWWpoaTd5NlB2TzJIN1RUc0FDZXk3YkJjR0J3eWlr VHJwQnJsb3hhYStLREtrRzFPSXZwekpCbFJOR0EvUFVUDQp2Wk1tRHRMNlM0RTNTdXh3QlQ4UC9T aEgrUlNpakpEV1ZxKzlVZ056Nmp5dU5JeDRsU1ZVOWxWVEFDTnBONE1qDQpQSTVZWGwzZzZIWkEz NjRVbkVaK0tGS3dvYzVJaG01VTcxS2tLS2VrTmFPVk5mNHJ6a2N3eThiUUZjMFd5SDQyDQo0Ti9z UERCeXUvOElObmFiWm0wNHlwcUlPQU1HT0tzTGp1WnF2eTJQZUZpQm9YQ1JzeEpEOVNGNmlGRlZl dXVjDQovbFA5aUlGT0lIeFVGa2VvcEd2TEg3b2w4WVF0b3c9PQ0KPTcySysNCi0tLS0tRU5EIFBH UCBTSUdOQVRVUkUtLS0tLQ0K