From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0E0BFA0032; Wed, 14 Sep 2022 14:45:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A8E8A4021D; Wed, 14 Sep 2022 14:45:04 +0200 (CEST) Received: from mailgw01.pantheon.sk (mailgw01.pantheon.sk [46.229.239.26]) by mails.dpdk.org (Postfix) with ESMTP id BD41A40156 for ; Wed, 14 Sep 2022 14:45:03 +0200 (CEST) Received: from mailgw01.pantheon.sk (localhost.localdomain [127.0.0.1]) by mailgw01.pantheon.sk (Proxmox) with ESMTP id 6801F201C57; Wed, 14 Sep 2022 14:45:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon.tech; h=cc:cc:content-transfer-encoding:content-type:content-type :date:from:from:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=dkim; bh=q4FXFuaY36goGZe1/aZ3 zlegT3xCVXNkUcuMNMiaEnQ=; b=i2ffWzudk67/A6dQm1nT+QYZShwbPxFpc+Qu h9db8WueDwGyqReMCjxh7d+2OZD+9AH0g1dHFXe/vVACCGuV38GgLrQCHDohWbdm 1RKjHhpDUWosfL4QRit2BkxcIdh17mgv7WzY7CqzMpYDuGdjj2NnuTPIAmNwLQpK S7j6f5RmRB2cqvxpWkJG6UVEBE8iara5xVgM1vxd3l4Q3y0FTIbGr8X+XAm/exKG TvosmdBigdXcsRVwCQ7YAZZa8neRmsBz6AsriYmkVQcPsIN6h0qD+GbC8FB2UoCz k3Ab/ZQ4/eQMNxoIfmCGu+FVnaq3khVxXrpiuDLZiGC6OUi5Hw== From: =?utf-8?B?SnVyYWogTGlua2XFoQ==?= To: Honnappa Nagarahalli , Bruce Richardson CC: "thomas@monjalon.net" , "david.marchand@redhat.com" , "ronan.randles@intel.com" , "ohilyard@iol.unh.edu" , "lijuan.tu@intel.com" , "dev@dpdk.org" , nd Subject: RE: [PATCH v4 2/9] dts: add developer tools Thread-Topic: [PATCH v4 2/9] dts: add developer tools Thread-Index: AQHYoznIN+7Trr4f90e+HSImhjGjd63USECAgAlGUrCAAGrnAIAA5o5g Date: Wed, 14 Sep 2022 12:45:00 +0000 Message-ID: <67dfa32cc8d0437dad915952bbdfdad6@pantheon.tech> References: <20220728100044.1318484-1-juraj.linkes@pantheon.tech> <20220729105550.1382664-1-juraj.linkes@pantheon.tech> <20220729105550.1382664-3-juraj.linkes@pantheon.tech> <5fa9cd15e3204c4bbbcaa3b2d53a9736@pantheon.tech> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.101.4.10] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSG9ubmFwcGEgTmFnYXJh aGFsbGkgPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIFNl cHRlbWJlciAxMywgMjAyMiAxMDozOCBQTQ0KPiBUbzogSnVyYWogTGlua2XFoSA8anVyYWoubGlu a2VzQHBhbnRoZW9uLnRlY2g+OyBCcnVjZSBSaWNoYXJkc29uDQo+IDxicnVjZS5yaWNoYXJkc29u QGludGVsLmNvbT4NCj4gQ2M6IHRob21hc0Btb25qYWxvbi5uZXQ7IGRhdmlkLm1hcmNoYW5kQHJl ZGhhdC5jb207DQo+IHJvbmFuLnJhbmRsZXNAaW50ZWwuY29tOyBvaGlseWFyZEBpb2wudW5oLmVk dTsgbGlqdWFuLnR1QGludGVsLmNvbTsNCj4gZGV2QGRwZGsub3JnOyBuZCA8bmRAYXJtLmNvbT4N Cj4gU3ViamVjdDogUkU6IFtQQVRDSCB2NCAyLzldIGR0czogYWRkIGRldmVsb3BlciB0b29scw0K PiANCj4gKEkgaGF2ZSBsb3N0IHRoZSBvcmlnaW5hbCBwYXRjaCBlbWFpbHMgZHVlIHRvIHF1YXJh bnRpbmUgcG9saWN5LCBhcG9sb2dpZXMgZm9yDQo+IHVzaW5nIHRoaXMgdGhyZWFkIGZvciBteSBj b21tZW50cykNCj4gDQo+IDxzbmlwPg0KPiANCj4gPiA+DQo+ID4gPiBPbiBGcmksIEp1bCAyOSwg MjAyMiBhdCAxMDo1NTo0M0FNICswMDAwLCBKdXJhaiBMaW5rZcWhIHdyb3RlOg0KPiA+ID4gPiBU aGUgRG9ja2VyZmlsZSBjb250YWlucyBiYXNpYyBpbWFnZSBmb3IgQ0kgYW5kIGRldmVsb3BlcnMu IFRoZXJlJ3MNCj4gPiA+ID4gYWxzbyBhbiBpbnRlZ3JhdGlvbiBvZiB0aGUgRG9ja2VyZmlsZSB3 aXRoIFZpc3VhbCBTdHVkaW8uDQo+ID4gPiA+DQo+ID4gPiA+IFRoZSBmb3JtYXR0ZXIgc2NyaXB0 IHVzZXMgQmxhY2sgYW5kIElzb3J0IHRvIGZvcm1hdCB0aGUgUHl0aG9uIGNvZGUuDQo+ID4gPiA+ DQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IE93ZW4gSGlseWFyZCA8b2hpbHlhcmRAaW9sLnVuaC5l ZHU+DQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IEp1cmFqIExpbmtlxaEgPGp1cmFqLmxpbmtlc0Bw YW50aGVvbi50ZWNoPg0KPiA+ID4NCj4gPiA+IENvbW1lbnRzIGlubGluZSBiZWxvdy4NCj4gPiA+ DQo+ID4gPiBUaGFua3MsDQo+ID4gPiAvQnJ1Y2UNCj4gPiA+DQo+ID4gPiA+IC0tLQ0KPiA+ID4g PiAgZHRzLy5kZXZjb250YWluZXIvZGV2Y29udGFpbmVyLmpzb24gfCAzMCArKysrKysrKysrKysN Cj4gPiA+ID4gIGR0cy9Eb2NrZXJmaWxlICAgICAgICAgICAgICAgICAgICAgIHwgMzggKysrKysr KysrKysrKysrDQo+ID4gPiA+ICBkdHMvUkVBRE1FLm1kICAgICAgICAgICAgICAgICAgICAgICB8 IDc0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystDQo+ID4gPiA+ICBkdHMvZm9ybWF0LnNo ICAgICAgICAgICAgICAgICAgICAgICB8IDQ1ICsrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiAg NCBmaWxlcyBjaGFuZ2VkLCAxODYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKSAgY3JlYXRl IG1vZGUNCj4gPiA+ID4gMTAwNjQ0IGR0cy8uZGV2Y29udGFpbmVyL2RldmNvbnRhaW5lci5qc29u DQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHRzL0RvY2tlcmZpbGUgIGNyZWF0ZSBtb2Rl IDEwMDc1NQ0KPiA+ID4gPiBkdHMvZm9ybWF0LnNoDQo+ID4gPiA+DQo+ID4gPiA+IGRpZmYgLS1n aXQgYS9kdHMvLmRldmNvbnRhaW5lci9kZXZjb250YWluZXIuanNvbg0KPiA+ID4gPiBiL2R0cy8u ZGV2Y29udGFpbmVyL2RldmNvbnRhaW5lci5qc29uDQo+ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+ID4gPiA+IGluZGV4IDAwMDAwMDAwMDAuLjQxY2EyOGZjMTcNCj4gPiA+ID4gLS0tIC9k ZXYvbnVsbA0KPiA+ID4gPiArKysgYi9kdHMvLmRldmNvbnRhaW5lci9kZXZjb250YWluZXIuanNv bg0KPiA+ID4gPiBAQCAtMCwwICsxLDMwIEBADQo+ID4gPiA+ICsvLyBGb3IgZm9ybWF0IGRldGFp bHMsIHNlZSBodHRwczovL2FrYS5tcy9kZXZjb250YWluZXIuanNvbi4gRm9yDQo+ID4gPiA+ICtj b25maWcNCj4gPiA+IG9wdGlvbnMsIHNlZSB0aGUgUkVBRE1FIGF0Og0KPiA+ID4gPiArLy8NCj4g PiA+ID4gK2h0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvdnNjb2RlLWRldi1jb250YWluZXJz L3RyZWUvdjAuMjQxLjEvDQo+ID4gPiA+ICtjbw0KPiA+ID4gPiArbnQNCj4gPiA+ID4gK2FpbmVy cy9kb2NrZXItZXhpc3RpbmctZG9ja2VyZmlsZQ0KPiA+ID4gPiArew0KPiA+ID4gPiArCSJuYW1l IjogIkV4aXN0aW5nIERvY2tlcmZpbGUiLA0KPiA+ID4gPiArDQo+ID4gPiA+ICsJLy8gU2V0cyB0 aGUgcnVuIGNvbnRleHQgdG8gb25lIGxldmVsIHVwIGluc3RlYWQgb2YgdGhlDQo+ID4gPiA+ICsu ZGV2Y29udGFpbmVyDQo+ID4gPiBmb2xkZXIuDQo+ID4gPiA+ICsJImNvbnRleHQiOiAiLi4iLA0K PiA+ID4gPiArDQo+ID4gPiA+ICsJLy8gVXBkYXRlIHRoZSAnZG9ja2VyRmlsZScgcHJvcGVydHkg aWYgeW91IGFyZW4ndCB1c2luZyB0aGUNCj4gPiA+ID4gK3N0YW5kYXJkDQo+ID4gPiAnRG9ja2Vy ZmlsZScgZmlsZW5hbWUuDQo+ID4gPiA+ICsJImRvY2tlckZpbGUiOiAiLi4vRG9ja2VyZmlsZSIs DQo+ID4gPiA+ICsNCj4gPiA+ID4gKwkvLyBVc2UgJ2ZvcndhcmRQb3J0cycgdG8gbWFrZSBhIGxp c3Qgb2YgcG9ydHMgaW5zaWRlIHRoZQ0KPiA+ID4gPiArY29udGFpbmVyDQo+ID4gPiBhdmFpbGFi bGUgbG9jYWxseS4NCj4gPiA+ID4gKwkvLyAiZm9yd2FyZFBvcnRzIjogW10sDQo+ID4gPiA+ICsN Cj4gPiA+ID4gKwkvLyBVbmNvbW1lbnQgdGhlIG5leHQgbGluZSB0byBydW4gY29tbWFuZHMgYWZ0 ZXIgdGhlIGNvbnRhaW5lcg0KPiA+ID4gPiAraXMNCj4gPiA+IGNyZWF0ZWQgLSBmb3IgZXhhbXBs ZSBpbnN0YWxsaW5nIGN1cmwuDQo+ID4gPiA+ICsJInBvc3RDcmVhdGVDb21tYW5kIjogInBvZXRy eSBpbnN0YWxsIiwNCj4gPiA+ID4gKw0KPiA+ID4gPiArCSJleHRlbnNpb25zIjogWw0KPiA+ID4g PiArCQkibXMtcHl0aG9uLnZzY29kZS1weWxhbmNlIiwNCj4gPiA+ID4gKwldDQo+ID4gPiA+ICsN Cj4gPiA+ID4gKwkvLyBVbmNvbW1lbnQgd2hlbiB1c2luZyBhIHB0cmFjZS1iYXNlZCBkZWJ1Z2dl ciBsaWtlIEMrKywgR28sDQo+ID4gPiA+ICthbmQNCj4gPiA+IFJ1c3QNCj4gPiA+ID4gKwkvLyAi cnVuQXJncyI6IFsgIi0tY2FwLWFkZD1TWVNfUFRSQUNFIiwgIi0tc2VjdXJpdHktb3B0IiwNCj4g PiA+ID4gKyJzZWNjb21wPXVuY29uZmluZWQiIF0sDQo+ID4gPiA+ICsNCj4gPiA+ID4gKwkvLyBV bmNvbW1lbnQgdG8gdXNlIHRoZSBEb2NrZXIgQ0xJIGZyb20gaW5zaWRlIHRoZSBjb250YWluZXIu DQo+ID4gPiA+ICtTZWUNCj4gPiA+IGh0dHBzOi8vYWthLm1zL3ZzY29kZS1yZW1vdGUvc2FtcGxl cy9kb2NrZXItZnJvbS1kb2NrZXIuDQo+ID4gPiA+ICsJLy8gIm1vdW50cyI6IFsNCj4gPiA+ID4g KyJzb3VyY2U9L3Zhci9ydW4vZG9ja2VyLnNvY2ssdGFyZ2V0PS92YXIvcnVuL2RvY2tlci5zb2Nr LHR5cGU9YmluZCINCj4gPiA+ID4gK10sDQo+ID4gPiA+ICsNCj4gPiA+ID4gKwkvLyBVbmNvbW1l bnQgdG8gY29ubmVjdCBhcyBhIG5vbi1yb290IHVzZXIgaWYgeW91J3ZlIGFkZGVkIG9uZS4NCj4g PiA+ID4gK1NlZQ0KPiA+ID4gaHR0cHM6Ly9ha2EubXMvdnNjb2RlLXJlbW90ZS9jb250YWluZXJz L25vbi1yb290Lg0KPiA+ID4gPiArCS8vICJyZW1vdGVVc2VyIjogInZzY29kZSINCj4gPiA+ID4g K30NCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2R0cy9Eb2NrZXJmaWxlIGIvZHRzL0RvY2tlcmZpbGUg bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gaW5kZXggMDAwMDAwMDAwMC4uNjcwMGFhNDVi OA0KPiA+ID4gPiAtLS0gL2Rldi9udWxsDQo+ID4gPiA+ICsrKyBiL2R0cy9Eb2NrZXJmaWxlDQo+ ID4gPiA+IEBAIC0wLDAgKzEsMzggQEANCj4gPiA+ID4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0zLUNsYXVzZSAjIENvcHlyaWdodChjKSAyMDIyDQo+ID4gPiA+ICtVbml2ZXJzaXR5 IG9mIE5ldyBIYW1wc2hpcmUgIw0KPiA+ID4gPiArDQo+IElzIGl0IHBvc3NpYmxlIHRvIGFkZCBz b21lIHRleHQgaGVyZSB0YWxraW5nIGFib3V0IHRoZSB1c2Ugb2YgdGhpcyBmaWxlPw0KPiANCg0K V2hhdCBhYm91dDoNClRoZXJlIGFyZSB0d28gRG9ja2VyIGltYWdlcyBkZWZpbmVkIGluIHRoaXMg RG9ja2VyZmlsZS4NCk9uZSBpcyB0byBiZSB1c2VkIGluIENJIGZvciBhdXRvbWF0ZWQgdGVzdGlu Zy4NClRoZSBvdGhlciBwcm92aWRlcyBhIERUUyBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCwgc2lt cGxpZnlpbmcgUHl0aG9uIGRlcGVuZGVuY3kgbWFuYWdlbWVudC4NCg0KPiA+ID4gPiArRlJPTSB1 YnVudHU6MjIuMDQgQVMgYmFzZQ0KPiA+ID4gPiArDQo+ID4gPiA+ICtSVU4gYXB0LWdldCAteSB1 cGRhdGUgJiYgYXB0LWdldCAteSB1cGdyYWRlICYmIFwNCj4gPiA+ID4gKyAgICBhcHQtZ2V0IC15 IGluc3RhbGwgLS1uby1pbnN0YWxsLXJlY29tbWVuZHMgXA0KPiA+ID4gPiArICAgICAgICBweXRo b24zIFwNCj4gPiA+ID4gKyAgICAgICAgcHl0aG9uMy1waXAgXA0KPiA+ID4gPiArICAgICAgICBw eXRob24zLXBleHBlY3QgXA0KPiA+ID4gPiArICAgICAgICBweXRob24zLXBvZXRyeSBcDQo+ID4g PiA+ICsgICAgICAgIHB5dGhvbjMtY2FjaGVjb250cm9sIFwNCj4gPiA+ID4gKyAgICAgICAgb3Bl bnNzaC1jbGllbnQNCj4gPiA+ID4gKw0KPiA+ID4gPiArDQo+ID4gPiA+ICtGUk9NIGJhc2UgQVMg cnVubmVyDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyMgVGhpcyBjb250YWluZXIgaXMgaW50ZW5kZWQg dG8gYmUgdXNlZCBhcyB0aGUgYmFzZSBmb3IgYXV0b21hdGVkDQo+IHN5c3RlbXMuDQo+ID4gPiA+ ICsjIEl0IGJha2VzIERUUyBpbnRvIHRoZSBjb250YWluZXIgZHVyaW5nIHRoZSBidWlsZC4NCj4g PiA+ID4gKw0KPiA+ID4gPiArUlVOIG1rZGlyIC9kdHMNCj4gPiA+ID4gK0NPUFkgLi9weXByb2pl Y3QudG9tbCAvZHRzL3B5cHJvamVjdC50b21sIENPUFkgLi9wb2V0cnkubG9jaw0KPiA+ID4gPiAr L2R0cy9wb2V0cnkubG9jayBXT1JLRElSIC9kdHMgUlVOIHBvZXRyeSBpbnN0YWxsIC0tbm8tZGV2 IENPUFkgLg0KPiA+ID4gPiArL2R0cw0KPiA+ID4NCj4gPiA+IFR3byBxdWVzdGlvbnMgaGVyZToN Cj4gPiA+ICogaWYgd2UgY29weSBvdmVyIHRoZSBjdXJyZW50IGZvbGRlciwgZG9lcyBpdCByZS1j b3B5IHRoZSBzYW1lIHR3byBmaWxlcw0KPiA+ID4gICBhYm92ZSwgb3IgZG8gd2UgZ2V0IGEgbmV3 IHN1YmZvbGRlciB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgdGhlIGN1cnJlbnQNCj4gPiA+ICAgb25l IChhbmQgdGhlIHR3byBmaWxlcyBpbiB0aGF0IGluc3RlYWQpPw0KPiA+ID4gKiBDYW4gdGhlIGNv bW1hbmRzIGJlIHJlLW9yZGVyZWQgc28gdGhhdCB3ZSBoYXZlIGFsbCB0aGUgY29waWVzIHRvZ2V0 aGVyDQo+ID4gPiAgIHJhdGhlciB0aGFuIGJlaW5nIHNwbGl0IGVpdGhlciBzaWRlIG9mIHRoZSB3 b3JrZGlyIGFuZCBydW4gY29tbWFuZHM/DQo+ID4gPg0KPiA+DQo+ID4gWWVhLCB3ZSBkb24ndCBu ZWVkIHRvIGNvcHkgdGhlIHR3byBmaWxlcyBpbmRpdmlkdWFsbHkgLSB3ZSBvbmx5IG5lZWQNCj4g PiB0byBjb3B5IHRoZSB3aG9sZSBkdHMgZm9sZGVyLiBJJ2xsIG1vdmUgdGhlIGNvbW1hbmRzLg0K PiA+DQo+ID4gPiA+ICsNCj4gPiA+ID4gK0NNRCBbInBvZXRyeSIsICJydW4iLCAicHl0aG9uIiwg Im1haW4ucHkiXQ0KPiA+ID4gPiArDQo+ID4gPiA+ICtGUk9NIGJhc2UgQVMgZGV2DQo+ID4gPiA+ ICsNCj4gPiA+ID4gKyMgVGhpcyBjb250YWluZXIgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBh IGRldmVsb3BtZW50IGVudmlyb25tZW50Lg0KPiBNYXkgYmUgcy9kZXZlbG9wbWVudCBlbnZpcm9u bWVudC9EVFMgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQvDQo+IA0KDQpBY2suDQoNCj4gPiA+ID4g Kw0KPiA+ID4gPiArUlVOIGFwdC1nZXQgLXkgaW5zdGFsbCAtLW5vLWluc3RhbGwtcmVjb21tZW5k cyBcDQo+ID4gPiA+ICsgICAgICAgIHZpbSBlbWFjcyBnaXQNCj4gPiA+ID4gKw0KPiA+ID4gSWYg aXQncyB0byBiZSB1c2VkIGFzIGEgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQsIGRvIHdlIG5vdCBu ZWVkDQo+ID4gPiBidWlsZC1lc3NlbnRpYWwgaW5zdGFsbGVkPw0KPiA+ID4NCj4gPg0KPiA+IEl0 J3MgbWVhbnQgdG8gYmUgYSBEVFMgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgYW5kIHdlIGRvbid0 IG5lZWQgdG8NCj4gPiBidWlsZCBhbnl0aGluZyBmb3IgdGhhdCwgc28gbm8gbmVlZCBmb3IgYnVp bGQtZXNzZW50aWFsLg0KPiBUaGUgYWJvdmUgYWRkaXRpb24gd2lsbCBjbGFyaWZ5IHRoaXMuDQo+ IA0KPiA+DQo+ID4gPiA+ICtXT1JLRElSIC9kdHMNCj4gPiA+DQo+ID4gPiBJcyB0aGlzIG5lZWRl ZCB0d2ljZSBpbiB0aGUgZmlsZSwgc2luY2UgaXQgYXBwZWFycyBhYm92ZSB0b28/DQo+ID4gPg0K PiA+DQo+ID4gSXQgYXBwZWFycyBpbiB0aGUgZGVmaW5pdGlvbnMgb2YgdHdvIHNlcGFyYXRlIGlt YWdlcywgYnV0IHdlIGNhbg0KPiA+IGFjdHVhbGx5IG1vdmUgaXQgdG8gdGhlIGJhc2UgaW1hZ2Ug dG8gaGF2ZSBpdCBpbiB0aGUgZmlsZSBvbmx5IG9uY2UuDQo+ID4NCj4gPiA+ID4gZGlmZiAtLWdp dCBhL2R0cy9SRUFETUUubWQgYi9kdHMvUkVBRE1FLm1kIGluZGV4DQo+ID4gPiA+IGQ4Zjg4Zjk3 ZmUuLjU1YTI3MmQ3NjcgMTAwNjQ0DQo+ID4gPiA+IC0tLSBhL2R0cy9SRUFETUUubWQNCj4gPiA+ ID4gKysrIGIvZHRzL1JFQURNRS5tZA0KPiBJdCBpcyBub3QgY2xlYXIgdG8gbWUgd2hhdCB3ZSB3 YW50IHRvIGRvY3VtZW50IGluIHRoaXMgZmlsZS4gV2UgcHJvYmFibHkgbmVlZCB0bw0KPiBhZGQg ZmV3IGxpbmVzIGluIHRoZSBiZWdpbm5pbmcgb2YgdGhpcyBmaWxlIHRvIGluZGljYXRlIHdoYXQg ZXhhY3RseSB3ZSB3YW50IHRvDQo+IGRvY3VtZW50Lg0KPiBGb3IgZXg6IGlzIHRoaXMgYSAnRGV2 ZWxvcGVyJyBSRUFETUU/DQo+IA0KDQpHb29kIHBvaW50LCBhIHNtYWxsIGludHJvZHVjdGlvbiB3 b3VsZCBoZWxwLiBJdCBjdXJyZW50bHkgZG9jdW1lbnRzIHRoZSBzdGVwcyBmb3Igc2V0dGluZyB1 cCBEVFMgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgYXMgd2VsbCBhcyBleHBsYWluaW5nIGEgYml0 IGFib3V0IHRoZSBiYWNrcm91bmQgb2YgaG93IGl0J3Mgc2V0IHVwICh1c2luZyBQb2V0cnkpLg0K DQo+IERvZXMgaXQgbWFrZSBzZW5zZSB0byBhZGQgYSBicmllZiBpbnRyb2R1Y3Rpb24gYWJvdXQg dmFyaW91cyBub2RlcyBpbiBEVFMNCj4gKHRlc3RlciwgU1VULCBURykgYXMgd2Ugc3RhcnQgdXNp bmcgdGhlIHRlcm1zIHdpdGhvdXQgZXhwbGFpbmluZyB0aGVtLg0KPiANCg0KWWVhIHdlIG5lZWQg dGhpcy4gSSdsbCB1cGRhdGUgdGhlIGRvY3Mgd2l0aCBkZWZpbml0aW9ucy4NCg0KPiA+ID4gPiBA QCAtMTIsNCArMTIsNzYgQEAgVGhlIFB5dGhvbiBWZXJzaW9uIHJlcXVpcmVkIGJ5IERUUyBpcyBz cGVjaWZpZWQNCj4gPiA+ID4gaW4gW0RUUyBweXRob24gY29uZmlnIGZpbGVdKC4vcHlwcm9qZWN0 LnRvbWwpIGluIHRoZQ0KPiA+ID4gPiAqKlt0b29sLnBvZXRyeS5kZXBlbmRlbmNpZXNdKiogIHNl Y3Rpb24uIFBvZXRyeSBkb2Vzbid0IGluc3RhbGwNCj4gPiA+ID4gUHl0aG9uLCBzbyB5b3UgbWF5 IG5lZWQgdG8gc2F0aXNmeSB0aGlzIHJlcXVpcmVtZW50IGlmICB5b3VyDQo+ID4gPiA+IFB5dGhv biBpcyBub3QgdXAgdG8gZGF0ZS4gQSB0b29sIHN1Y2ggYXMNCj4gPiA+ID4gW1B5ZW52XShodHRw czovL2dpdGh1Yi5jb20vcHllbnYvcHllbnYpDQo+ID4gPiA+IC1pcyBhIGdvb2Qgd2F5IHRvIGdl dCBQeXRob24sIHRob3VnaCBub3QgdGhlIG9ubHkgb25lLg0KPiA+ID4gPiAraXMgYSBnb29kIHdh eSB0byBnZXQgUHl0aG9uLCB0aG91Z2ggbm90IHRoZSBvbmx5IG9uZS4gSG93ZXZlciwNCj4gPiA+ ID4gK0RUUyBpbmNsdWRlcyBhIGRldmVsb3BtZW50IGVudmlyb25tZW50IGluIHRoZSBmb3JtIG9m IGEgRG9ja2VyIGltYWdlLg0KPiA+ID4gPiArDQo+ID4gPiA+ICsjIEV4cGVjdGVkIEVudmlyb25t ZW50DQo+ID4gPiA+ICsNCj4gPiA+ID4gK1RoZSBleHBlY3RlZCBleGVjdXRpb24gYW5kIGRldmVs b3BtZW50IGVudmlyb25tZW50cyBmb3IgRFRTIGFyZQ0KPiA+ID4gPiArdGhlIHNhbWUsIHRoZSBj b250YWluZXIgZGVmaW5lZCBieSBbRG9ja2VyZmlsZV0oLi9Eb2NrZXJmaWxlKS4NCj4gPiA+ID4g K1VzaW5nIGEgY29udGFpbmVyIGZvciB0aGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaGVscHMg d2l0aCBhIGZldw0KPiB0aGluZ3MuDQo+ID4gPiA+ICsNCj4gPiA+ID4gKzEuIEl0IGhlbHBzIGVu Zm9yY2UgdGhlIGJvdW5kYXJ5IGJldHdlZW4gdGhlIHRlc3RlciBhbmQgdGhlIHRyYWZmaWMNCj4g PiA+ID4gKyAgIGdlbmVyYXRvci9zdXQsIHNvbWV0aGluZyB3aGljaCBoYXMgZXhwZXJpZW5jZWQg aXNzdWVzIGluIHRoZSBwYXN0Lg0KPiA+ID4NCj4gPiA+IHMvZXhwZXJpZW5jZWQvY2F1c2VkLw0K PiA+ID4NCj4gPg0KPiA+IEFjay4NCj4gPg0KPiA+ID4gPiArMi4gSXQgbWFrZXMgY3JlYXRpbmcg Y29udGFpbmVycyB0byBydW4gRFRTIGluc2lkZSBhdXRvbWF0ZWQgdG9vbGluZw0KPiA+ID4gPiAr ICAgbXVjaCBlYXNpZXIsIHNpbmNlIHRoZXkgY2FuIGJlIGJhc2VkIG9mZiBvZiBhIGtub3duLXdv cmtpbmcNCj4gPiBlbnZpcm9ubWVudA0KPiA+ID4gPiArICAgdGhhdCB3aWxsIGJlIHVwZGF0ZWQg YXMgRFRTIGlzLg0KPiA+ID4gPiArMy4gSXQgYWJzdHJhY3RzIERUUyBmcm9tIHRoZSBzZXJ2ZXIg aXQgaXMgcnVubmluZyBvbi4gVGhpcyBtZWFucyB0aGF0IHRoZQ0KPiA+ID4gPiArICAgYmFyZS1t ZXRhbCBvcyBjYW4gYmUgd2hhdGV2ZXIgY29ycG9yYXRlIHBvbGljeSBvciB5b3VyDQo+ID4gPiA+ ICtwZXJzb25hbA0KPiA+ID4gcHJlZmVyZW5jZXMNCj4gPiA+ID4gKyAgIGRpY3RhdGUsIGFuZCBE VFMgZG9lcyBub3QgaGF2ZSB0byB0cnkgdG8gc3VwcG9ydCBhbGwgMTUgZGlzdHJvcyB0aGF0DQo+ ID4gPiA+ICsgICBhcmUgc3VwcG9ydGVkIGJ5IERQREsgQ0kuDQo+ID4gPg0KPiA+ID4gUmVtb3Zl IHRoZSAiMTUiLg0KPiA+ID4NCj4gPg0KPiA+IEFjaywgdGhpcyB3aWxsIG1ha2UgaXQgYWNjdXJh dGUgZXZlbiB3aGVuIHRoaW5nIGNoYW5nZSBzbGlnaHRseSBpbiB0aGUgbGFiLg0KPiA+DQo+ID4g PiA+ICs0LiBJdCBtYWtlcyBhdXRvbWF0ZWQgdGVzdGluZyBmb3IgRFRTIGVhc2llciwgc2luY2Ug bmV3DQo+ID4gPiA+ICtkZXBlbmRlbmNpZXMgY2FuDQo+ID4gYmUNCj4gPiA+ID4gKyAgIHNlbnQg aW4gd2l0aCB0aGUgcGF0Y2hlcy4NCj4gPiA+ID4gKzUuIEl0IGZpeGVzIHRoZSBpc3N1ZSBvZiB1 bmRvY3VtZW50ZWQgZGVwZW5kZW5jaWVzLCB3aGVyZSBzb21lIHRlc3QNCj4gc3VpdGVzDQo+ID4g PiA+ICsgICByZXF1aXJlIHB5dGhvbiBsaWJyYXJpZXMgdGhhdCBhcmUgbm90IGluc3RhbGxlZC4N Cj4gPiA+ID4gKzYuIEFsbG93cyBldmVyeW9uZSB0byB1c2UgdGhlIHNhbWUgcHl0aG9uIHZlcnNp b24gZWFzaWx5LCBldmVuIGlmIHRoZXkgYXJlDQo+ID4gPiA+ICsgICB1c2luZyBhbiBMVFMgZGlz dHJvIG9yIFdpbmRvd3MuDQo+ID4gPg0KPiA+ID4gUHJlc3VtYWJseSB0aGUgTFRTIGRpc3RybyBp cyBhbiAqb2xkZXIqIExUUyBkaXN0cmlidXRpb24gd2l0aA0KPiA+ID4gcG9zc2libHkgb3V0LW9m LWRhdGUgcGFja2FnZXM/IFRoYXQgc2hvdWxkIHBlcmhhcHMgYmUgbWFkZSBjbGVhcmVyLg0KPiA+ ID4NCj4gPg0KPiA+IEknbGwgY2hhbmdlIGl0IHRvICJldmVuIGlmIHRoZXkgYXJlIHVzaW5nIGEg ZGlzdHJpYnV0aW9uIG9yIFdpbmRvd3MNCj4gPiB3aXRoIG91dC1vZi0gZGF0ZSBwYWNrYWdlcyIs IHRoYXQgc2hvdWxkIGJlIGNsZWFyIGVub3VnaC4NCj4gPg0KPiA+ID4gPiArNy4gQWxsb3dzIHlv dSB0byBydW4gdGhlIHRlc3RlciBvbiBXaW5kb3dzIHdoaWxlIGRldmVsb3BpbmcgdmlhDQo+ID4g PiA+ICtEb2NrZXINCj4gPiBmb3INCj4gPiA+ID4gKyAgIFdpbmRvd3MuDQo+ID4gPiA+ICsNCj4g PiA+ID4gKyMjIFRpcHMgZm9yIHNldHRpbmcgdXAgYSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudA0K PiA+ID4gPiArDQo+ID4gPiA+ICsjIyMgR2V0dGluZyBhIGRvY2tlciBzaGVsbA0KPiA+ID4gPiAr DQo+ID4gPiA+ICtUaGVzZSBjb21tYW5kcyB3aWxsIGdpdmUgeW91IGEgYmFzaCBzaGVsbCBpbnNp ZGUgdGhlIGNvbnRhaW5lcg0KPiA+ID4gPiArd2l0aCBhbGwgdGhlIHB5dGhvbiBkZXBlbmRlbmNp ZXMgaW5zdGFsbGVkLiBUaGlzIHdpbGwgcGxhY2UgeW91DQo+ID4gPiA+ICtpbnNpZGUgYSBweXRo b24gdmlydHVhbCBlbnZpcm9ubWVudC4gRFRTIGlzIG1vdW50ZWQgdmlhIGEgdm9sdW1lLA0KPiA+ ID4gPiArd2hpY2ggaXMgZXNzZW50aWFsbHkgYSBzeW1saW5rIGZyb20gdGhlIGhvc3QgdG8gdGhl IGNvbnRhaW5lci4NCj4gPiA+ID4gK1RoaXMgZW5hYmxlcyB5b3UgdG8gZWRpdCBhbmQgcnVuIGlu c2lkZSB0aGUgY29udGFpbmVyIGFuZCB0aGVuDQo+ID4gPiA+ICtkZWxldGUgdGhlIGNvbnRhaW5l ciB3aGVuDQo+ID4gPiB5b3UgYXJlIGRvbmUsIGtlZXBpbmcgeW91ciB3b3JrLg0KPiA+ID4gPiAr DQo+ID4gPiA+ICtgYGBzaGVsbA0KPiA+ID4gPiArZG9ja2VyIGJ1aWxkIC0tdGFyZ2V0IGRldiAt dCBkcGRrLWR0cyAuDQo+ID4gPiA+ICtkb2NrZXIgcnVuIC12ICQocHdkKTovZHRzIC1pdCBkcGRr LWR0cyBiYXNoICQgcG9ldHJ5IGluc3RhbGwgJA0KPiA+ID4gPiArcG9ldHJ5IHNoZWxsIGBgYA0K PiA+ID4gPiArDQo+ID4gPiA+ICsjIyMgVmltL0VtYWNzDQo+ID4gPiA+ICsNCj4gPiA+ID4gK0Fu eSBlZGl0b3IgaW4gdGhlIHVidW50dSByZXBvcyBzaG91bGQgYmUgZWFzeSB0byB1c2UuIFlvdSBj YW4gYWRkDQo+ID4gPiA+ICt5b3VyIG5vcm1hbCBjb25maWcgZmlsZXMgYXMgYSB2b2x1bWUsIGVu YWJsaW5nIHlvdSB0byB1c2UgeW91cg0KPiA+ID4gPiArcHJlZmVycmVkDQo+ID4gPiBzZXR0aW5n cy4NCj4gPiA+ID4gKw0KPiA+ID4gPiArYGBgc2hlbGwNCj4gPiA+ID4gK2FwdCBpbnN0YWxsIHZp bQ0KPiA+ID4gPiArYXB0IGluc3RhbGwgZW1hY3MNCj4gPiA+ID4gK2BgYA0KPiA+ID4NCj4gPiA+ IFdlcmUgdGhlc2Ugbm90IGFscmVhZHkgaW5zdGFsbGVkIGluIHRoZSBpbWFnZSBjcmVhdGVkIHVz aW5nIHRoZQ0KPiA+ID4gZG9ja2VyZmlsZSBhYm92ZT8NCj4gPiA+DQo+ID4NCj4gPiBUaGV5IHdl cmUuIEknbGwgcmVtb3ZlIHRoZSBpbnN0YWxsIGNvbW1hbmRzIGFuZCBpbnN0ZWFkIGFkZCBhIG1v ZGlmaWVkDQo+ID4gZG9ja2VyIGNvbW1hbmQgbW91bnRpbmcgdmltIGNvbmZpZyBmaWxlIGFzIHZv bHVtZS4NCj4gPg0KPiA+ID4gPiArDQo+ID4gPiA+ICsjIyMgVmlzdWFsIFN0dWRpbyBDb2RlDQo+ ID4gPiA+ICsNCj4gPiA+ID4gK1ZTQ29kZSBoYXMgZmlyc3QtY2xhc3Mgc3VwcG9ydCBmb3IgZGV2 ZWxvcGluZyB3aXRoIGNvbnRhaW5lcnMuDQo+ID4gPiA+ICtZb3UgbWF5IG5lZWQgdG8gcnVuIHRo ZSBub24tZG9ja2VyIHNldHVwIGNvbW1hbmRzIGluIHRoZQ0KPiA+ID4gPiAraW50ZWdyYXRlZCB0 ZXJtaW5hbC4gRFRTIGNvbnRhaW5zIGEgLmRldmNvbnRhaW5lciBjb25maWcsIHNvIGlmDQo+ID4g PiA+ICt5b3Ugb3BlbiB0aGUgZm9sZGVyIGluIHZzY29kZSBpdCBzaG91bGQgcHJvbXB0IHlvdSB0 byB1c2UgdGhlIGRldg0KPiA+ID4gPiArY29udGFpbmVyIGFzc3VtaW5nIHlvdSBoYXZlIHRoZSBw bHVnaW4gaW5zdGFsbGVkLiBQbGVhc2UgcmVmZXIgdG8NCj4gPiA+ID4gK1tWUyBEZXZlbG9wbWVu dCBDb250YWluZXJzDQo+ID4gPiA+ICtEb2NzXShodHRwczovL2NvZGUudmlzdWFsc3R1ZGlvLmNv bS9kb2NzL3JlbW90ZS9jb250YWluZXJzKQ0KPiA+ID4gPiArdG8gc2V0IGl0IGFsbCB1cC4NCj4g PiA+ID4gKw0KPiA+ID4gPiArIyMjIE90aGVyDQo+ID4gPiA+ICsNCj4gPiA+ID4gK1NlYXJjaGlu ZyBmb3IgJyRJREUgZGV2IGNvbnRhaW5lcnMnIHdpbGwgcHJvYmFibHkgbGVhZCB5b3UgaW4gdGhl DQo+ID4gPiA+ICtyaWdodCBkaXJlY3Rpb24uDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyMgUHl0aG9u IEZvcm1hdHRpbmcNCj4gPiA+ID4gKw0KPiA+ID4gPiArVGhlIHRvb2xzIHVzZWQgdG8gZm9ybWF0 IFB5dGhvbiBjb2RlIGluIERUUyBhcmUgQmxhY2sgYW5kIElzb3J0Lg0KPiA+ID4gPiArVGhlcmUn cyBhIHNoZWxsIHNjcmlwdCwgZnVuY3Rpb24uc2gsIHdoaWNoIHJ1bnMgdGhlIGZvcm1hdHRlcnMu DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5e Xl5eXl5eXiBmb3JtYXQuc2g/DQo+IA0KDQpBY2suIFRoZSBuZXh0IHZlcnNpb24gd2lsbCBoYXZl IG1vcmUgaW4gdGVybXMgb2YgZGV2dG9vbHMsIHNvIHN0YXkgdHVuZWQgOi0pLg0KDQo+ID4gPiA+ ICtQb2V0cnkgd2lsbCBpbnN0YWxsIHRoZXNlIHRvb2xzLCBzbyBvbmNlIHlvdSBoYXZlIHRoYXQg c2V0IHVwLA0KPiA+ID4gPiAreW91IHNob3VsZCBydW4gaXQNCj4gPiA+IGJlZm9yZSBzdWJtaXR0 aW5nIHBhdGNoZXMuDQo+ID4gPiA+IGRpZmYgLS1naXQgYS9kdHMvZm9ybWF0LnNoIGIvZHRzL2Zv cm1hdC5zaCBuZXcgZmlsZSBtb2RlIDEwMDc1NQ0KPiBTaG91bGQgdGhpcyBiZSBpbiBkcGRrL2Rl dnRvb2xzIGRpcmVjdG9yeT8gSWYgeWVzLCBuZWVkIGEgZGlmZmVyZW50IG5hbWUgZm9yIHRoZQ0K PiBzY3JpcHQsIGR0cy1maXgtZm9ybWF0LnNoPw0KPiANCg0KV2Ugc2hvdWxkIGRlY2lkZSB3aGVy ZSB3ZSdsbCBwdXQgaXQsIGVpdGhlciB0byBkcGRrL2RldnRvb2xzIG9yIGRwZGsvZHRzL2RldnRv b2xzLiBTbyBmYXIgSSBoYXZlIGl0IGluIGRwZGsvZHRzL2RldnRvb2xzLCBidXQgaXQgbWF5IG1h a2UgbW9yZSBzZW5zZSB0byBwdXQgaXQgaW50byBkcGRrL2RldnRvb2xzLg0KDQo+ID4gPiA+IGlu ZGV4DQo+ID4gPiA+IDAwMDAwMDAwMDAuLjdkNzIzMzU0NzANCj4gPiA+ID4gLS0tIC9kZXYvbnVs bA0KPiA+ID4gPiArKysgYi9kdHMvZm9ybWF0LnNoDQo+ID4gPiA+IEBAIC0wLDAgKzEsNDUgQEAN Cj4gPiA+ID4gKyMhL3Vzci9iaW4vZW52IGJhc2gNCj4gPiA+ID4gKyMgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAjIENvcHlyaWdodChjKSAyMDIyDQo+ID4gPiA+ICtVbml2 ZXJzaXR5IG9mIE5ldyBIYW1wc2hpcmUgIyBDb3B5cmlnaHQoYykgMjAyMiBQQU5USEVPTi50ZWNo IHMuci5vLg0KPiA+ID4gPiArIw0KPiA+ID4gPiArDQo+ID4gPiA+ICtmdW5jdGlvbiBtYWluKCkg ew0KPiA+ID4gPiArICAgICMgVGhlIGRpcmVjdG9yeSB0byB3b3JrIG9uIGlzIGVpdGhlciBwYXNz ZWQgaW4gYXMgYXJndW1lbnQgMSwNCj4gPiA+ID4gKyAgICAjIG9yIGlzIHRoZSBjdXJyZW50IHdv cmtpbmcgZGlyZWN0b3J5DQo+ID4gPiA+ICsgICAgRElSRUNUT1JZPSR7MTotJChwd2QpfQ0KPiA+ ID4gPiArICAgIExJTkVfTEVOR1RIPTg4DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgICBCTEFDS19W RVJTSU9OPSQoYXdrICcvXFt0b29sLnBvZXRyeS5kZXYtZGVwZW5kZW5jaWVzXF0vLC8kXi8nDQo+ ID4gPiBweXByb2plY3QudG9tbCB8XA0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICBncmVw IGJsYWNrIHwgZ3JlcCAtbyAnWzAtOV1bXiJdKicpDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgICBQ WVRIT05fVkVSU0lPTj0kKGF3ayAnL1xbdG9vbC5wb2V0cnkuZGVwZW5kZW5jaWVzXF0vLC8kXi8n DQo+ID4gPiBweXByb2plY3QudG9tbCB8XA0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICBn cmVwIHB5dGhvbiB8IGdyZXAgLW8gJ1swLTldW14iXSonIHwgdHIgLWQNCj4gPiA+ID4gKyAnLicp DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgICBpc29ydCBcDQo+ID4gPiA+ICsgICAgICAtLW92ZXJ3 cml0ZS1pbi1wbGFjZSBcDQo+ID4gPiA+ICsgICAgICAtLXByb2ZpbGUgYmxhY2sgXA0KPiA+ID4g PiArICAgICAgLWogIiQobnByb2MpIiBcDQo+ID4gPiA+ICsgICAgICAtLWxpbmUtbGVuZ3RoICRM SU5FX0xFTkdUSCBcDQo+ID4gPiA+ICsgICAgICAtLXB5dGhvbi12ZXJzaW9uIGF1dG8gXA0KPiA+ ID4gPiArICAgICAgIiRESVJFQ1RPUlkiDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgICBibGFjayBc DQo+ID4gPiA+ICsgICAgICAtLWxpbmUtbGVuZ3RoICRMSU5FX0xFTkdUSCBcDQo+ID4gPiA+ICsg ICAgICAtLXJlcXVpcmVkLXZlcnNpb24gIiR7QkxBQ0tfVkVSU0lPTn0iIFwNCj4gPiA+ID4gKyAg ICAgIC0tdGFyZ2V0LXZlcnNpb24gInB5JHtQWVRIT05fVkVSU0lPTn0iIFwNCj4gPiA+ID4gKyAg ICAgIC0tc2FmZSBcDQo+ID4gPiA+ICsgICAgICAiJERJUkVDVE9SWSINCj4gPiA+ID4gK30NCj4g PiA+ID4gKw0KPiA+ID4gPiArZnVuY3Rpb24gaGVscCgpIHsNCj4gPiA+ID4gKyAgZWNobyAidXNh Z2U6IGZvcm1hdC5zaCA8ZGlyZWN0b3J5PiINCj4gSSBndWVzcyB3ZSBhcmUgYXNzdW1pbmcgdGhh dCB0aGUgdW5tb2RpZmllZCBjb2RlIHdpbGwgbm90IGNoYW5nZSBieSBydW5uaW5nDQo+IHRoaXMg Y29tbWFuZC4NCj4gDQoNClllcywgYXMgaW4gdGhlIHVubW9kaWZpZWQgY29kZSBzaG91bGQgYmUg cHJvcGVybHkgZm9ybWF0dGVkIGJ5IHRoZXNlIGV4YWN0IHRvb2xzICh0aHVzIHRoZSBuZXh0IHJ1 biBvZiB0aGVzZSB0b29scyB3b3VsZCBwcm9kdWNlIHRoZSBzYW1lIG91dHB1dCwgd2hpY2ggaXMg bm8gY2hhbmdlKS4NCg0KPiA+ID4gPiArfQ0KPiA+ID4gPiArDQo+ID4gPiA+ICtpZiBbICIkMSIg PT0gIi1oIiBdIHx8IFsgIiQxIiA9PSAiLS1oZWxwIiBdOyB0aGVuDQo+ID4gPiA+ICsgIGhlbHAN Cj4gPiA+ID4gKyAgZXhpdCAwDQo+ID4gPiA+ICtmaQ0KPiA+ID4gPiArDQo+ID4gPiA+ICttYWlu ICIkMSINCj4gPiA+ID4gKw0KPiA+ID4gPiAtLQ0KPiA+ID4gPiAyLjMwLjINCj4gPiA+ID4NCg0K