From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id EF7326E387 for ; Thu, 25 Oct 2018 06:58:26 +0000 (UTC) Received: by mail-ed1-x543.google.com with SMTP id w19-v6so7405562eds.1 for ; Wed, 24 Oct 2018 23:58:26 -0700 (PDT) Date: Thu, 25 Oct 2018 08:58:22 +0200 From: Daniel Vetter Message-ID: <20181025065822.GU324@phenom.ffwll.local> References: <20181024133421.26047-1-daniel.vetter@ffwll.ch> <20181024170414.GB3942@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20181024170414.GB3942@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t] README|CONTRIBUTING: Move to .md List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Rodrigo Vivi Cc: IGT development , Daniel Vetter List-ID: T24gV2VkLCBPY3QgMjQsIDIwMTggYXQgMTA6MDQ6MTRBTSAtMDcwMCwgUm9kcmlnbyBWaXZpIHdy b3RlOgo+IE9uIFdlZCwgT2N0IDI0LCAyMDE4IGF0IDAzOjM0OjIxUE0gKzAyMDAsIERhbmllbCBW ZXR0ZXIgd3JvdGU6Cj4gPiBMb29rcyBzbyBtdWNoIGJldHRlciBpbiB0aGUgZ2l0bGFiIFVJLiBN YXliZSB3ZSB3YW50IHRvIHNwbGl0IG91dCBzb21lCj4gPiBvZiB0aGVzZSBSRUFETUUgaW50byBz dWJkaXJlY3RvcmllcyAuLi4KPiA+IAo+ID4gdjI6IFBvbGlzaCBsYXlvdXQgYSBiaXQuIENoYW5n ZXMgYXJlIG9ubHkgd2hpdGVzcGFjZSwgYnV0IFJFQURNRSBpcyBzbwo+ID4gY29tcGxpY2F0ZWQg cmV3b3JrZWQgdGhhdCBnaXQncyByZW5hbWUgZGV0ZWN0aW9uIGRvZXNuJ3Qgc3BvdCB0aGUKPiA+ IHNpbWlsYXJpdGllcyBhbnltb3JlLgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0 dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiA+IC0tLQo+ID4gTm90ZSB0aGlzIG5lZWRz IFBldHJpJ3MgZWFybGllciBwYXRjaCB0byBhcHBseSBjbGVhbmx5Lgo+ID4gLURhbmllbAo+ID4g LS0tCj4gPiAgQ09OVFJJQlVUSU5HID0+IENPTlRSSUJVVElORy5tZCB8ICAgNiArLQo+ID4gIFJF QURNRSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMDIgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCj4gPiAgUkVBRE1FLm1kICAgICAgICAgICAgICAgICAgICAgICB8IDIxMCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMjEzIGlu c2VydGlvbnMoKyksIDIwNSBkZWxldGlvbnMoLSkKPiA+ICByZW5hbWUgQ09OVFJJQlVUSU5HID0+ IENPTlRSSUJVVElORy5tZCAoOTUlKQo+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBSRUFETUUKPiA+ ICBjcmVhdGUgbW9kZSAxMDA2NDQgUkVBRE1FLm1kCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9DT05U UklCVVRJTkcgYi9DT05UUklCVVRJTkcubWQKPiA+IHNpbWlsYXJpdHkgaW5kZXggOTUlCj4gPiBy ZW5hbWUgZnJvbSBDT05UUklCVVRJTkcKPiA+IHJlbmFtZSB0byBDT05UUklCVVRJTkcubWQKPiA+ IGluZGV4IDFhNjhmY2Y1Y2M5Yy4uMjdjOGU3OTY3YjkzIDEwMDY0NAo+ID4gLS0tIGEvQ09OVFJJ QlVUSU5HCj4gPiArKysgYi9DT05UUklCVVRJTkcubWQKPiA+IEBAIC04LDcgKzgsNyBAQCBBIHNo b3J0IGxpc3Qgb2YgY29udHJpYnV0aW9uIGd1aWRlbGluZXM6Cj4gPiAgLSBQbGVhc2Ugc3VibWl0 IHBhdGNoZXMgZm9ybWF0dGVkIHdpdGggZ2l0IHNlbmQtZW1haWwvZ2l0IGZvcm1hdC1wYXRjaCBv cgo+ID4gICAgZXF1aXZhbGVudCB0bzoKPiA+ICAKPiA+IC0gICAgRGV2ZWxvcG1lbnQgbWFpbGlu ZyBsaXN0IGZvciBJR1QgR1BVIFRvb2xzIDxpZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4K PiA+ICsgICAgICBEZXZlbG9wbWVudCBtYWlsaW5nIGxpc3QgZm9yIElHVCBHUFUgVG9vbHMgPGln dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPgo+ID4gIAo+ID4gICAgRm9yIGEgdHJhbnNpdGlv biBwZXJpb2QgcGF0Y2hlcyBhcmUgYWNjZXB0ZWQgb24gYm90aCB0aGUgaWd0LWRldiBtYWlsaW5n IGxpc3QKPiA+ICAgIGFuZCB0aGUgZm9ybWVyIGludGVsLWdmeCBtYWlsaW5nIGxpc3QgKHdpdGgg dGhlIGFwcHJvcHJpYXRlIHBhdGNoCj4gPiBAQCAtMTgsMTMgKzE4LDEzIEBAIEEgc2hvcnQgbGlz dCBvZiBjb250cmlidXRpb24gZ3VpZGVsaW5lczoKPiA+ICAgIGhhdmUgYSBuZWVkIHRvIGRvIHNv LCBhcyB0aGV5IHdpbGwgZ2V0IGRlZHVwbGljYXRlZCBzbyB0aGV5IG9ubHkgYXBwZWFyIGFuZAo+ ID4gICAgYXJlIHRlc3RlZCBpbiBvbmUgUGF0Y2h3b3JrIGluc3RhbmNlLgo+ID4gIAo+ID4gLSAg ICBJbnRlbCBHRlggZGlzY3Vzc2lvbiA8aW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4K PiA+ICsgICAgICBJbnRlbCBHRlggZGlzY3Vzc2lvbiA8aW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZz4KPiA+ICAKPiA+ICAgIFBsZWFzZSB1c2UgLS1zdWJqZWN0LXByZWZpeD0iUEFUQ0gg aS1nLXQiIHNvIElHVCBwYXRjaGVzIGFyZSBlYXNpbHkKPiA+ICAgIGlkZW50aWZpZWQgaW4gdGhl IG1hc3NpdmUgYW1vdW50IG1haWxzIG9uIGludGVsLWdmeC4gVG8gZW5zdXJlIHRoaXMgaXMgYWx3 YXlzCj4gPiAgICBkb25lLCBtZXNvbi5zaCAoYW5kIGF1dG9nZW4uc2gpIHdpbGwgcnVuOgo+ID4g IAo+ID4gLSAgICBnaXQgY29uZmlnIGZvcm1hdC5zdWJqZWN0cHJlZml4ICJQQVRDSCBpLWctdCIK PiA+ICsgICAgICBnaXQgY29uZmlnIGZvcm1hdC5zdWJqZWN0cHJlZml4ICJQQVRDSCBpLWctdCIK PiA+ICAKPiA+ICAgIG9uIGl0cyBmaXJzdCBpbnZvY2F0aW9uLgo+ID4gIAo+ID4gZGlmZiAtLWdp dCBhL1JFQURNRSBiL1JFQURNRQo+ID4gZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRl eCA3OGQxNDA2MGRjY2QuLjAwMDAwMDAwMDAwMAo+ID4gLS0tIGEvUkVBRE1FCj4gPiArKysgL2Rl di9udWxsCj4gPiBAQCAtMSwyMDIgKzAsMCBAQAo+ID4gLUlHVCBHUFUgVG9vbHMKPiA+IC09PT09 PT09PT09PT09Cj4gPiAtCj4gPiAtRGVzY3JpcHRpb24KPiA+IC0tLS0tLS0tLS0tLQo+ID4gLQo+ ID4gLUlHVCBHUFUgVG9vbHMgaXMgYSBjb2xsZWN0aW9uIG9mIHRvb2xzIGZvciBkZXZlbG9wbWVu dCBhbmQgdGVzdGluZyBvZiB0aGUgRFJNCj4gPiAtZHJpdmVycy4gVGhlcmUgYXJlIG1hbnkgbWFj cm8tbGV2ZWwgdGVzdCBzdWl0ZXMgdGhhdCBnZXQgdXNlZCBhZ2FpbnN0IHRoZQo+ID4gLWRyaXZl cnMsIGluY2x1ZGluZyB4dGVzdCwgcmVuZGVyY2hlY2ssIHBpZ2xpdCwgYW5kIG9nbGNvbmZvcm0s IGJ1dCBmYWlsdXJlcyBmcm9tCj4gPiAtdGhvc2UgY2FuIGJlIGRpZmZpY3VsdCB0byB0cmFjayBk b3duIHRvIGtlcm5lbCBjaGFuZ2VzLCBhbmQgbWFueSByZXF1aXJlCj4gPiAtY29tcGxpY2F0ZWQg YnVpbGQgcHJvY2VkdXJlcyBvciBzcGVjaWZpYyB0ZXN0aW5nIGVudmlyb25tZW50cyB0byBnZXQg dXNlZnVsCj4gPiAtcmVzdWx0cy4gVGhlcmVmb3JlLCBJR1QgR1BVIFRvb2xzIGluY2x1ZGVzIGxv dy1sZXZlbCB0b29scyBhbmQgdGVzdHMKPiA+IC1zcGVjaWZpY2FsbHkgZm9yIGRldmVsb3BtZW50 IGFuZCB0ZXN0aW5nIG9mIHRoZSBEUk0gRHJpdmVycy4KPiA+IC0KPiA+IC1JR1QgR1BVIFRvb2xz IGlzIHNwbGl0IGludG8gc2V2ZXJhbCBzZWN0aW9uczoKPiA+IC0KPiA+IC1iZW5jaG1hcmtzLwo+ ID4gLQlUaGlzIGlzIGEgY29sbGVjdGlvbiBvZiB1c2VmdWwgbWljcm9iZW5jaG1hcmtzIHRoYXQg Y2FuIGJlIHVzZWQgdG8gdHVuZQo+ID4gLQlEUk0gY29kZSBpbiByZWxldmFudCB3YXlzLgo+ID4g LQo+ID4gLQlUaGUgYmVuY2htYXJrcyByZXF1aXJlIEtNUyB0byBiZSBlbmFibGVkLiAgV2hlbiBy dW4gd2l0aCBhbiBYIFNlcnZlcgo+ID4gLQlydW5uaW5nLCB0aGV5IG11c3QgYmUgcnVuIGFzIHJv b3QgdG8gYXZvaWQgdGhlIGF1dGhlbnRpY2F0aW9uCj4gPiAtCXJlcXVpcmVtZW50Lgo+ID4gLQo+ ID4gLQlOb3RlIHRoYXQgYSBmZXcgb3RoZXIgbWljcm9iZW5jaG1hcmtzIGFyZSBpbiB0ZXN0cyAo bGlrZSBnZW1fZ3R0X3NwZWVkKS4KPiA+IC0KPiA+IC10ZXN0cy8KPiA+IC0JVGhpcyBpcyBhIHNl dCBvZiBhdXRvbWF0ZWQgdGVzdHMgdG8gcnVuIGFnYWluc3QgdGhlIERSTSB0byB2YWxpZGF0ZQo+ ID4gLQljaGFuZ2VzLiBNYW55IG9mIHRoZSB0ZXN0cyBoYXZlIHN1YnRlc3RzLCB3aGljaCBjYW4g YmUgbGlzdGVkIGJ5IHVzaW5nCj4gPiAtCXRoZSAtLWxpc3Qtc3VidGVzdHMgY29tbWFuZCBsaW5l IG9wdGlvbiBhbmQgdGhlbiBydW4gdXNpbmcgdGhlCj4gPiAtCS0tcnVuLXN1YnRlc3Qgb3B0aW9u LiBJZiAtLXJ1bi1zdWJ0ZXN0IGlzIG5vdCB1c2VkLCBhbGwgc3VidGVzdHMgd2lsbAo+ID4gLQli ZSBydW4uIFNvbWUgdGVzdHMgaGF2ZSBmdXRoZXIgb3B0aW9ucyBhbmQgdGhlc2UgYXJlIGRldGFp bGVkIGJ5IHVzaW5nCj4gPiAtCXRoZSAtLWhlbHAgb3B0aW9uLgo+ID4gLQo+ID4gLQlUaGUgdGVz dCBzdWl0ZSBjYW4gYmUgcnVuIHVzaW5nIHRoZSBydW4tdGVzdHMuc2ggc2NyaXB0IGF2YWlsYWJs ZSBpbgo+ID4gLQl0aGUgc2NyaXB0cyBkaXJlY3RvcnkuIFBpZ2xpdCBpcyB1c2VkIHRvIHJ1biB0 aGUgdGVzdHMgYW5kIGNhbiBlaXRoZXIKPiA+IC0JYmUgaW5zdGFsbGVkIGZyb20geW91ciBkaXN0 cmlidXRpb24gKGlmIGF2YWlsYWJsZSksIG9yIGNhbiBiZQo+ID4gLQlkb3dubG9hZGVkIGxvY2Fs bHkgZm9yIHVzZSB3aXRoIHRoZSBzY3JpcHQgYnkgcnVubmluZzoKPiA+IC0KPiA+IC0JLi9zY3Jp cHRzL3J1bi10ZXN0cy5zaCAtZAo+ID4gLQo+ID4gLQlydW4tdGVzdHMuc2ggaGFzIG9wdGlvbnMg Zm9yIGZpbHRlcmluZyBhbmQgZXhjbHVkaW5nIHRlc3RzIGZyb20gdGVzdAo+ID4gLQlydW5zOgo+ ID4gLQo+ID4gLQkgIC10IDxyZWdleD4gICAgICBvbmx5IGluY2x1ZGUgdGVzdHMgdGhhdCBtYXRj aCB0aGUgcmVndWxhciBleHByZXNzaW9uCj4gPiAtCSAgLXggPHJlZ2V4PiAgICAgIGV4Y2x1ZGUg dGVzdHMgdGhhdCBtYXRjaCB0aGUgcmVndWxhciBleHByZXNzaW9uCj4gPiAtCj4gPiAtCVVzZWZ1 bCBwYXR0ZXJucyBmb3IgdGVzdCBmaWx0ZXJpbmcgYXJlIGRlc2NyaWJlZCBpbiB0aGUgQVBJCj4g PiAtCWRvY3VtZW50YXRpb24gYW5kIHRoZSBmdWxsIGxpc3Qgb2YgdGVzdHMgYW5kIHN1YnRlc3Rz IGNhbiBiZSBwcm9kdWNlZAo+ID4gLQlieSBwYXNzaW5nIC1sIHRvIHRoZSBydW4tdGVzdHMuc2gg c2NyaXB0Lgo+ID4gLQo+ID4gLQlSZXN1bHRzIGFyZSB3cml0dGVuIHRvIGEgSlNPTiBmaWxlIGFu ZCBhbiBIVE1MIHN1bW1hcnkgY2FuIGFsc28gYmUKPiA+IC0JY3JlYXRlZCBieSBwYXNzaW5nIC1z IHRvIHRoZSBydW4tdGVzdHMuc2ggc2NyaXB0LiBGdXJ0aGVyIG9wdGlvbnMgYXJlCj4gPiAtCWFy ZSBkZXRhaWxlZCBieSB1c2luZyB0aGUgLWggb3B0aW9uLgo+ID4gLQo+ID4gLQo+ID4gLQlJZiBu b3QgdXNpbmcgdGhlIHNjcmlwdCwgcGlnbGl0IGNhbiBiZSBvYnRhaW5lZCBmcm9tOgo+ID4gLQo+ ID4gLQlnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9waWdsaXQKPiA+IC0KPiA+IC0JVGhl cmUgaXMgbm8gbmVlZCB0byBidWlsZCBhbmQgaW5zdGFsbCBwaWdsaXQgaWYgaXQgaXMgb25seSBn b2luZyB0byBiZQo+ID4gLQl1c2VkIGZvciBydW5uaW5nIGktZy10IHRlc3RzLgo+ID4gLQo+ID4g LQlTZXQgdGhlIElHVF9URVNUX1JPT1QgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gcG9pbnQgdG8g dGhlIHRlc3RzCj4gPiAtCWRpcmVjdG9yeSwgb3Igc2V0IHRoZSBwYXRoIGtleSBpbiB0aGUgImln dCIgc2VjdGlvbiBvZiBwaWdsaXQuY29uZiB0bwo+ID4gLQl0aGUgaWd0LWdwdS10b29scyByb290 IGRpcmVjdG9yeS4KPiA+IC0KPiA+IC0JVGhlIHRlc3RzIGluIHRoZSBpLWctdCBzb3VyY2VzIG5l ZWQgdG8gaGF2ZSBiZWVuIGJ1aWx0IGFscmVhZHkuIFRoZW4gd2UKPiA+IC0JY2FuIHJ1biB0aGUg dGVzdGNhc2VzIHdpdGggKGFzIHVzdWFsIGFzIHJvb3QsIG5vIG90aGVyIGRybSBjbGllbnRzCj4g PiAtCXJ1bm5pbmcpOgo+ID4gLQo+ID4gLQlwaWdsaXQtc291cmNlcyAjIC4vcGlnbGl0IHJ1biBp Z3QgPHJlc3VsdHMtZmlsZT4KPiA+IC0KPiA+IC0JVGhlIHRlc3RsaXN0IGlzIGJ1aWx0IGF0IHJ1 bnRpbWUsIHNvIG5vIG5lZWQgdG8gdXBkYXRlIGFueXRoaW5nIGluCj4gPiAtCXBpZ2xpdCB3aGVu IGFkZGluZyBuZXcgdGVzdHMuIFNlZQo+ID4gLQo+ID4gLQlwaWdsaXQtc291cmNlcyAkIC4vcGln bGl0IHJ1biAtaAo+ID4gLQo+ID4gLQlmb3Igc29tZSB1c2VmdWwgb3B0aW9ucy4KPiA+IC0KPiA+ IC0JUGlnbGl0IG9ubHkgcnVucyBhIGRlZmF1bHQgc2V0IG9mIHRlc3RzIGFuZCBpcyB1c2VmdWwg Zm9yIHJlZ3Jlc3Npb24KPiA+IC0JdGVzdGluZy4gT3RoZXIgdGVzdHMgbm90IHJ1biBhcmU6Cj4g PiAtCS0gdGVzdHMgdGhhdCBtaWdodCBoYW5nIHRoZSBncHUsIHNlZSBIQU5HIGluIE1ha2VmaWxl LmFtCj4gPiAtCS0gZ2VtX3N0cmVzcywgYSBzdHJlc3MgdGVzdCBzdWl0ZS4gTG9vayBhdCB0aGUg c291cmNlIGZvciBhbGwgdGhlCj4gPiAtCSAgdmFyaW91cyBvcHRpb25zLgo+ID4gLQktIHRlc3Rk aXNwbGF5IGlzIG9ubHkgcnVuIGluIHRoZSBkZWZhdWx0IG1vZGUuIHRlc3RkaXNwbGF5IGhhcyB0 b25zIG9mCj4gPiAtCSAgb3B0aW9ucyB0byB0ZXN0IGRpZmZlcmVudCBrbXMgZnVuY3Rpb25hbGl0 eSwgYWdhaW4gcmVhZCB0aGUgc291cmNlIGZvcgo+ID4gLQkgIHRoZSBkZXRhaWxzLgo+ID4gLQo+ ID4gLWxpYi8KPiA+IC0JQ29tbW9uIGhlbHBlciBmdW5jdGlvbnMgYW5kIGhlYWRlcnMgdXNlZCBi eSB0aGUgb3RoZXIgdG9vbHMuCj4gPiAtCj4gPiAtbWFuLwo+ID4gLQlNYW5wYWdlcywgdW5mb3J0 dW5hdGVseSByYXRoZXIgaW5jb21wbGV0ZS4KPiA+IC0KPiA+IC10b29scy8KPiA+IC0JVGhpcyBp cyBhIGNvbGxlY3Rpb24gb2YgZGVidWdnaW5nIHRvb2xzIHRoYXQgaGFkIHByZXZpb3VzbHkgYmVl bgo+ID4gLQlidWlsdCB3aXRoIHRoZSAyRCBkcml2ZXIgYnV0IG5vdCBzaGlwcGVkLiAgU29tZSBk aXN0cm9zIHdlcmUgaGFja2luZwo+ID4gLQl1cCB0aGUgMkQgYnVpbGQgdG8gc2hpcCB0aGVtLiAg SW5zdGVhZCwgaGVyZSdzIGEgc2VwYXJhdGUgcGFja2FnZSBmb3IKPiA+IC0JcGVvcGxlIGRlYnVn Z2luZyB0aGUgZHJpdmVyLgo+ID4gLQo+ID4gLQlUaGVzZSB0b29scyBnZW5lcmFsbHkgbXVzdCBi ZSBydW4gYXMgcm9vdCwgZXhjZXB0IGZvciB0aGUgb25lcyB0aGF0IGp1c3QKPiA+IC0JZGVjb2Rl IGR1bXBzLgo+ID4gLQo+ID4gLWRlYnVnZ2VyLwo+ID4gLQlUaGlzIHRvb2wgaXMgdG8gYmUgdXNl ZCB0byBkbyBzaGFkZXIgZGVidWdnaW5nLiBJdCBhY3RzIGxpa2UgYQo+ID4gLQlkZWJ1ZyBzZXJ2 ZXIgYWNjZXB0aW5nIGNvbm5lY3Rpb25zIGZyb20gZGVidWcgY2xpZW50cyBzdWNoIGFzCj4gPiAt CW1lc2EuIFRoZSBjb25uZWN0aW9ucyBpcyBtYWRlIHdpdGggdW5peCBkb21haW4gc29ja2V0cywg YW5kIGF0IHNvbWUKPiA+IC0JcG9pbnQgaXQgd291bGQgYmUgbmljZSBpZiB0aGlzIGRpcmVjdG9y eSBjb250YWluZWQgYSBsaWJyYXJ5IGZvcgo+ID4gLQlpbml0aWF0aW5nIGNvbm5lY3Rpb25zIHdp dGggZGVidWcgY2xpZW50cy4uCj4gPiAtCj4gPiAtCVRoZSBkZWJ1Z2dlciBtdXN0IGJlIHJ1biBh cyByb290OiAic3VkbyBkZWJ1Z2dlci9ldWRiIgo+ID4gLQo+ID4gLWRvY3MvCj4gPiAtCUNvbnRh aW5zIHRoZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBpZ3QtZ3B1LXRvb2xzIGxpYnJhcmllcwo+ ID4gLQlyZWZlcmVuY2UgZG9jdW1lbnRhdGlvbiBpbiBkb2NzL3JlZmVyZW5jZS8uIFlvdSBuZWVk IHRvIGhhdmUgdGhlCj4gPiAtCWd0ay1kb2MgdG9vbHMgaW5zdGFsbGVkIGFuZCB1c2UgdGhlICIt LWVuYWJsZS1ndGstZG9jIiBjb25maWd1cmUgZmxhZwo+ID4gLQl0byBnZW5lcmF0ZSB0aGlzIEFQ SSBkb2N1bWVudGF0aW9uLgo+ID4gLQo+ID4gLQlUbyByZWdlbmVyYXRlIHRoZSBodG1sIGZpbGVz IHdoZW4gdXBkYXRpbmcgZG9jdW1lbnRhdGlvbiwgdXNlOgo+ID4gLQo+ID4gLQkkIG1ha2UgY2xl YW4gLUMgZG9jcyAmJiBtYWtlIC1DIGRvY3MKPiA+IC0KPiA+IC0JSWYgeW91J3ZlIGFkZGVkL2No YW5nZWQvcmVtb3ZlZCBhIHN5bWJvbCBvciBhbnl0aGluZyBlbHNlIHRoYXQgY2hhbmdlcwo+ID4g LQl0aGUgb3ZlcmFsbCBzdHJ1Y3R1cmUgb3IgaW5kZXhlcywgdGhpcyBuZWVkcyB0byBiZSByZWZs ZWN0ZWQgaW4KPiA+IC0JaWd0LWdwdS10b29scy1zZWN0aW9ucy50eHQuIEVudGlyZWx5IG5ldyBz ZWN0aW9ucyB3aWxsIGFsc28gbmVlZCB0byBiZQo+ID4gLQlhZGRlZCB0byBpZ3QtZ3B1LXRvb2xz LWRvY3MueG1sIGluIHRoZSBhcHByb3ByaWF0ZSBwbGFjZS4KPiA+IC0KPiA+IC1pbmNsdWRlL2Ry bS11YXBpCj4gPiAtCUltcG9ydGVkIERSTSB1YXBpIGhlYWRlcnMgZnJvbSBhaXJsaWVkJ3MgZHJt LW5leHQgYnJhbmNoLgo+ID4gLQlUaGVzZSBzaG91bGQgYmUgdXBkYXRlZCBhbGwgdG9nZXRoZXIg YnkgZXhlY3V0aW5nICJtYWtlCj4gPiAtCWhlYWRlcnNfaW5zdGFsbCIgZnJvbSB0aGF0IGJyYW5j aCBvZiB0aGUga2VybmVsIGFuZCB0aGVuCj4gPiAtCWNvcHlpbmcgdGhlIHJlc3VsdGluZyAuL3Vz ci9pbmNsdWRlL2RybS8qLmggaW4gYW5kIGNvbW1pdHRpbmcKPiA+IC0Jd2l0aCBhIG5vdGUgb2Yg d2hpY2ggY29tbWl0IG9uIGFpcmxpZWQncyBicmFuY2ggd2FzIHVzZWQgdG8KPiA+IC0JZ2VuZXJh dGUgdGhlbS4KPiA+IC0KPiA+IC0KPiA+IC1SZXF1aXJlbWVudHMKPiA+IC0tLS0tLS0tLS0tLS0K PiA+IC0KPiA+IC1UaGlzIGlzIGEgbm9uLWV4aGF1c3RpdmUgbGlzdCBvZiBwYWNrYWdlIGRlcGVu ZGVuY2llcyByZXF1aXJlZCBmb3IgYnVpbGRpbmcKPiA+IC10aGUgZGVmYXVsdCBjb25maWd1cmF0 aW9uIChwYWNrYWdlIG5hbWVzIG1heSB2YXJ5KToKPiA+IC0KPiA+IC0JZ3RrLWRvYy10b29scwo+ ID4gLQlsaWJjYWlybzItZGV2Cj4gPiAtCWxpYmRybS1kZXYKPiA+IC0JbGlia21vZC1kZXYKPiA+ IC0JbGlicGl4bWFuLTEtZGV2Cj4gPiAtCWxpYnBjaWFjY2Vzcy1kZXYKPiA+IC0JbGlicHJvY3Bz LWRldgo+ID4gLQlsaWJ1bndpbmQtZGV2Cj4gPiAtCWxpYmR3LWRldgo+ID4gLQlweXRob24tZG9j dXRpbHMKPiA+IC0JeDExcHJvdG8tZHJpMi1kZXYKPiA+IC0JeHV0aWxzLWRldgo+ID4gLQo+ID4g LVRoZSBmb2xsb3dpbmcgZGVwZW5kZW5jaWVzIGFyZSByZXF1aXJlZCBmb3IgYnVpbGRpbmcgY2hh bWVsaXVtIHN1cHBvcnQKPiA+IC0ocGFja2FnZSBuYW1lcyBtYXkgdmFyeSk6Cj4gPiAtCj4gPiAt CWxpYnhtbHJwYy1jb3JlLWMzLWRldgo+ID4gLQlsaWJ1ZGV2LWRldgo+ID4gLQlsaWJnbGliMi4w LWRldgo+ID4gLQlsaWJnc2wtZGV2Cj4gPiAtCj4gPiAtVGhlIGZvbGxvd2luZyBkZXBlbmRlbmNp ZXMgYXJlIHJlcXVpcmVzIGZvciBidWlsZGluZyBhdWRpbyBzdXBwb3J0Cj4gPiAtKHBhY2thZ2Ug bmFtZXMgbWF5IHZhcnkpOgo+ID4gLQo+ID4gLQlsaWJhc291bmQyLWRldgo+ID4gLQlsaWJnc2wt ZGV2Cj4gPiAtCj4gPiAtTWVzb24gYnVpbGQgc3lzdGVtIHN1cHBvcnQKPiA+IC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQo+ID4gLQo+ID4gLUN1cnJlbnRseSB3ZSBzdXBwb3J0IGJvdGggbWVz b24gYW5kIGF1dG9tYWtlIGFzIGJ1aWxkIHN5c3RlbXMsIGJ1dCBtZXNvbiBpcyB0aGUKPiA+IC1y ZWNvbW1lbmRlZCBjaG9pY2UuIE9uZWxpbmVyIHRvIGdldCBzdGFydGVkOgo+ID4gLQo+ID4gLSQg bWtkaXIgYnVpbGQgJiYgbWVzb24gYnVpbGQgJiYgY2QgYnVpbGQgJiYgbmluamEKPiA+IC0KPiA+ IC1Ob3RlIHRoYXQgbWVzb24gaW5zaXN0IG9uIHNlcGFyYXRlIGJ1aWxkIGRpcmVjdG9yaWVzIGZy b20gdGhlIHNvdXJjZSB0cmVlLgo+ID4gLQo+ID4gLVJ1bm5pbmcgc2VsZmNoZWNrcyBmb3IgbGli L3Rlc3RzIGFuZCB0ZXN0cy8gaXMgZG9uZSB3aXRoCj4gPiAtCj4gPiAtJCBjZCBidWlsZCAmJiBu aW5qYSB0ZXN0Cj4gPiAtCj4gPiAtTm90ZSB0aGF0IHRoaXMgZG9lc24ndCBhY3R1YWxseSBydW4g dGhlIHRlc3RjYXNlcyBpbiB0ZXN0cy86IHNjcmlwdHMvcnVuLXRlc3RzLnNoCj4gPiAtc2hvdWxk IGNvbnRpbnVlIHRvIGJlIHVzZWQgZm9yIHRoYXQuCj4gPiAtCj4gPiAtRG9jdW1lbnRhdGlvbiBp cyBidWlsdCB1c2luZwo+ID4gLQo+ID4gLSQgY2QgYnVpbGQgJiYgbmluamEgJiYgbmluamEgaWd0 LWdwdS10b29scy1kb2MKPiA+IC0KPiA+IC1Ob3RlIHRoYXQgdGhlcmUncyBhIHNldHVwIHNjcmlw dCBzaW1pbGFyIHRvIC4vYXV0b2dlbi5zaCB3aGljaCBjcmVhdGVzIGEKPiA+IC1jb21wYXRpYmls aXR5IE1ha2VmaWxlIHdpdGggYSBmZXcgdXNlZnVsIGRlZmF1bHQgdGFyZ2V0czoKPiA+IC0KPiA+ IC0kIC4vbWVzb24uc2ggW21ha2UtYXJndW1lbnRzXQo+ID4gLQo+ID4gLVJlbGVhc2VzIGZvciBt YWludGFpbmVycwo+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gLQo+ID4gLSgxLjE0 KQo+ID4gLQo+ID4gLWh0dHA6Ly93d3cueC5vcmcvd2lraS9EZXZlbG9wbWVudC9Eb2N1bWVudGF0 aW9uL1JlbGVhc2VIT1dUTy8KPiA+IGRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQK PiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLmRjZmYwM2Vm ZGJhYwo+ID4gLS0tIC9kZXYvbnVsbAo+ID4gKysrIGIvUkVBRE1FLm1kCj4gPiBAQCAtMCwwICsx LDIxMCBAQAo+ID4gK0lHVCBHUFUgVG9vbHMKPiA+ICs9PT09PT09PT09PT09Cj4gPiArCj4gPiAr RGVzY3JpcHRpb24KPiA+ICstLS0tLS0tLS0tLQo+ID4gKwo+ID4gK0lHVCBHUFUgVG9vbHMgaXMg YSBjb2xsZWN0aW9uIG9mIHRvb2xzIGZvciBkZXZlbG9wbWVudCBhbmQgdGVzdGluZyBvZiB0aGUg RFJNCj4gPiArZHJpdmVycy4gVGhlcmUgYXJlIG1hbnkgbWFjcm8tbGV2ZWwgdGVzdCBzdWl0ZXMg dGhhdCBnZXQgdXNlZCBhZ2FpbnN0IHRoZQo+ID4gK2RyaXZlcnMsIGluY2x1ZGluZyB4dGVzdCwg cmVuZGVyY2hlY2ssIHBpZ2xpdCwgYW5kIG9nbGNvbmZvcm0sIGJ1dCBmYWlsdXJlcyBmcm9tCj4g PiArdGhvc2UgY2FuIGJlIGRpZmZpY3VsdCB0byB0cmFjayBkb3duIHRvIGtlcm5lbCBjaGFuZ2Vz LCBhbmQgbWFueSByZXF1aXJlCj4gPiArY29tcGxpY2F0ZWQgYnVpbGQgcHJvY2VkdXJlcyBvciBz cGVjaWZpYyB0ZXN0aW5nIGVudmlyb25tZW50cyB0byBnZXQgdXNlZnVsCj4gPiArcmVzdWx0cy4g VGhlcmVmb3JlLCBJR1QgR1BVIFRvb2xzIGluY2x1ZGVzIGxvdy1sZXZlbCB0b29scyBhbmQgdGVz dHMKPiA+ICtzcGVjaWZpY2FsbHkgZm9yIGRldmVsb3BtZW50IGFuZCB0ZXN0aW5nIG9mIHRoZSBE Uk0gRHJpdmVycy4KPiA+ICsKPiA+ICtJR1QgR1BVIFRvb2xzIGlzIHNwbGl0IGludG8gc2V2ZXJh bCBzZWN0aW9uczoKPiA+ICsKPiA+ICsqKmJlbmNobWFya3MvKioKPiA+ICsKPiA+ICtUaGlzIGlz IGEgY29sbGVjdGlvbiBvZiB1c2VmdWwgbWljcm9iZW5jaG1hcmtzIHRoYXQgY2FuIGJlIHVzZWQg dG8gdHVuZQo+ID4gK0RSTSBjb2RlIGluIHJlbGV2YW50IHdheXMuCj4gPiArCj4gPiArVGhlIGJl bmNobWFya3MgcmVxdWlyZSBLTVMgdG8gYmUgZW5hYmxlZC4gIFdoZW4gcnVuIHdpdGggYW4gWCBT ZXJ2ZXIKPiA+ICtydW5uaW5nLCB0aGV5IG11c3QgYmUgcnVuIGFzIHJvb3QgdG8gYXZvaWQgdGhl IGF1dGhlbnRpY2F0aW9uCj4gPiArcmVxdWlyZW1lbnQuCj4gPiArCj4gPiArTm90ZSB0aGF0IGEg ZmV3IG90aGVyIG1pY3JvYmVuY2htYXJrcyBhcmUgaW4gdGVzdHMgKGxpa2UgZ2VtX2d0dF9zcGVl ZCkuCj4gPiArCj4gPiArKip0ZXN0cy8qKgo+ID4gKwo+ID4gK1RoaXMgaXMgYSBzZXQgb2YgYXV0 b21hdGVkIHRlc3RzIHRvIHJ1biBhZ2FpbnN0IHRoZSBEUk0gdG8gdmFsaWRhdGUKPiA+ICtjaGFu Z2VzLiBNYW55IG9mIHRoZSB0ZXN0cyBoYXZlIHN1YnRlc3RzLCB3aGljaCBjYW4gYmUgbGlzdGVk IGJ5IHVzaW5nCj4gPiArdGhlIC0tbGlzdC1zdWJ0ZXN0cyBjb21tYW5kIGxpbmUgb3B0aW9uIGFu ZCB0aGVuIHJ1biB1c2luZyB0aGUKPiA+ICstLXJ1bi1zdWJ0ZXN0IG9wdGlvbi4gSWYgLS1ydW4t c3VidGVzdCBpcyBub3QgdXNlZCwgYWxsIHN1YnRlc3RzIHdpbGwKPiA+ICtiZSBydW4uIFNvbWUg dGVzdHMgaGF2ZSBmdXRoZXIgb3B0aW9ucyBhbmQgdGhlc2UgYXJlIGRldGFpbGVkIGJ5IHVzaW5n Cj4gPiArdGhlIC0taGVscCBvcHRpb24uCj4gPiArCj4gPiArVGhlIHRlc3Qgc3VpdGUgY2FuIGJl IHJ1biB1c2luZyB0aGUgcnVuLXRlc3RzLnNoIHNjcmlwdCBhdmFpbGFibGUgaW4KPiA+ICt0aGUg c2NyaXB0cyBkaXJlY3RvcnkuIFBpZ2xpdCBpcyB1c2VkIHRvIHJ1biB0aGUgdGVzdHMgYW5kIGNh biBlaXRoZXIKPiA+ICtiZSBpbnN0YWxsZWQgZnJvbSB5b3VyIGRpc3RyaWJ1dGlvbiAoaWYgYXZh aWxhYmxlKSwgb3IgY2FuIGJlCj4gPiArZG93bmxvYWRlZCBsb2NhbGx5IGZvciB1c2Ugd2l0aCB0 aGUgc2NyaXB0IGJ5IHJ1bm5pbmc6Cj4gPiArCj4gPiArICAgIC4vc2NyaXB0cy9ydW4tdGVzdHMu c2ggLWQKPiA+ICsKPiA+ICtydW4tdGVzdHMuc2ggaGFzIG9wdGlvbnMgZm9yIGZpbHRlcmluZyBh bmQgZXhjbHVkaW5nIHRlc3RzIGZyb20gdGVzdAo+ID4gK3J1bnM6Cj4gPiArCj4gPiArICAtdCA8 cmVnZXg+ICAgICAgb25seSBpbmNsdWRlIHRlc3RzIHRoYXQgbWF0Y2ggdGhlIHJlZ3VsYXIgZXhw cmVzc2lvbgo+ID4gKyAgLXggPHJlZ2V4PiAgICAgIGV4Y2x1ZGUgdGVzdHMgdGhhdCBtYXRjaCB0 aGUgcmVndWxhciBleHByZXNzaW9uCj4gPiArCj4gPiArVXNlZnVsIHBhdHRlcm5zIGZvciB0ZXN0 IGZpbHRlcmluZyBhcmUgZGVzY3JpYmVkIGluIHRoZSBBUEkKPiA+ICtkb2N1bWVudGF0aW9uIGFu ZCB0aGUgZnVsbCBsaXN0IG9mIHRlc3RzIGFuZCBzdWJ0ZXN0cyBjYW4gYmUgcHJvZHVjZWQKPiA+ ICtieSBwYXNzaW5nIC1sIHRvIHRoZSBydW4tdGVzdHMuc2ggc2NyaXB0Lgo+ID4gKwo+ID4gK1Jl c3VsdHMgYXJlIHdyaXR0ZW4gdG8gYSBKU09OIGZpbGUgYW5kIGFuIEhUTUwgc3VtbWFyeSBjYW4g YWxzbyBiZQo+ID4gK2NyZWF0ZWQgYnkgcGFzc2luZyAtcyB0byB0aGUgcnVuLXRlc3RzLnNoIHNj cmlwdC4gRnVydGhlciBvcHRpb25zIGFyZQo+ID4gK2FyZSBkZXRhaWxlZCBieSB1c2luZyB0aGUg LWggb3B0aW9uLgo+ID4gKwo+ID4gKwo+ID4gK0lmIG5vdCB1c2luZyB0aGUgc2NyaXB0LCBwaWds aXQgY2FuIGJlIG9idGFpbmVkIGZyb206Cj4gPiArCj4gPiArICAgIGdpdDovL2Fub25naXQuZnJl ZWRlc2t0b3Aub3JnL3BpZ2xpdAo+ID4gKwo+ID4gK1RoZXJlIGlzIG5vIG5lZWQgdG8gYnVpbGQg YW5kIGluc3RhbGwgcGlnbGl0IGlmIGl0IGlzIG9ubHkgZ29pbmcgdG8gYmUKPiA+ICt1c2VkIGZv ciBydW5uaW5nIGktZy10IHRlc3RzLgo+ID4gKwo+ID4gK1NldCB0aGUgSUdUX1RFU1RfUk9PVCBl bnZpcm9ubWVudCB2YXJpYWJsZSB0byBwb2ludCB0byB0aGUgdGVzdHMKPiA+ICtkaXJlY3Rvcnks IG9yIHNldCB0aGUgcGF0aCBrZXkgaW4gdGhlICJpZ3QiIHNlY3Rpb24gb2YgcGlnbGl0LmNvbmYg dG8KPiA+ICt0aGUgaWd0LWdwdS10b29scyByb290IGRpcmVjdG9yeS4KPiA+ICsKPiA+ICtUaGUg dGVzdHMgaW4gdGhlIGktZy10IHNvdXJjZXMgbmVlZCB0byBoYXZlIGJlZW4gYnVpbHQgYWxyZWFk eS4gVGhlbiB3ZQo+ID4gK2NhbiBydW4gdGhlIHRlc3RjYXNlcyB3aXRoIChhcyB1c3VhbCBhcyBy b290LCBubyBvdGhlciBkcm0gY2xpZW50cwo+ID4gK3J1bm5pbmcpOgo+ID4gKwo+ID4gKyAgICBw aWdsaXQtc291cmNlcyAjIC4vcGlnbGl0IHJ1biBpZ3QgPHJlc3VsdHMtZmlsZT4KPiA+ICsKPiA+ ICtUaGUgdGVzdGxpc3QgaXMgYnVpbHQgYXQgcnVudGltZSwgc28gbm8gbmVlZCB0byB1cGRhdGUg YW55dGhpbmcgaW4KPiA+ICtwaWdsaXQgd2hlbiBhZGRpbmcgbmV3IHRlc3RzLiBTZWUKPiAKPiBg YGBiYXNoCj4gCj4gPiArCj4gPiArICAgIHBpZ2xpdC1zb3VyY2VzICQgLi9waWdsaXQgcnVuIC1o Cj4gPiArCj4gCj4gYGBgCj4gCj4gSSBiZWxpZXZlIGFsbCBibG9ja3Mgd2l0aCBjb21tYW5kIGxp bmVzIGNvdWxkIGJlIGluIHRoZSBtYXJrZG93biBibG9jawo+IGxpa2UgdGhpcyBgYGBiYXNoIG9y IHNvbWV0aGluZyBsaWtlIHRoYXQuCgpJIHRyaWVkIHRvIGRvIHRoYXQgKHlvdSBuZWVkIDQgc3Bh Y2VzIG9mIGluZGVudCBhdCBsZWFzdCkuIERpZCBJIG1pc3Mgb25lPwpPciBJJ20gbm90IGVudGly ZWx5IGZvbGxvd2luZyAuLi4KLURhbmllbAoKPiAKPiBCdXQgdGhpcyBjYW4gYmUgZG9uZSBpbiBh IGZvbGxvdy11cCBzaW5jZSBpdCBnZXRzIGVhc2llciB0byByZXZpZXcKPiBJIHRoaW5rLi4uCj4g Cj4gc286Cj4gCj4gUmV2aWV3ZWQtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVs LmNvbT4KPiAKPiAKPiA+ICtmb3Igc29tZSB1c2VmdWwgb3B0aW9ucy4KPiA+ICsKPiA+ICtQaWds aXQgb25seSBydW5zIGEgZGVmYXVsdCBzZXQgb2YgdGVzdHMgYW5kIGlzIHVzZWZ1bCBmb3IgcmVn cmVzc2lvbgo+ID4gK3Rlc3RpbmcuIE90aGVyIHRlc3RzIG5vdCBydW4gYXJlOgo+ID4gKy0gdGVz dHMgdGhhdCBtaWdodCBoYW5nIHRoZSBncHUsIHNlZSBIQU5HIGluIE1ha2VmaWxlLmFtCj4gPiAr LSBnZW1fc3RyZXNzLCBhIHN0cmVzcyB0ZXN0IHN1aXRlLiBMb29rIGF0IHRoZSBzb3VyY2UgZm9y IGFsbCB0aGUKPiA+ICsgIHZhcmlvdXMgb3B0aW9ucy4KPiA+ICstIHRlc3RkaXNwbGF5IGlzIG9u bHkgcnVuIGluIHRoZSBkZWZhdWx0IG1vZGUuIHRlc3RkaXNwbGF5IGhhcyB0b25zIG9mCj4gPiAr ICBvcHRpb25zIHRvIHRlc3QgZGlmZmVyZW50IGttcyBmdW5jdGlvbmFsaXR5LCBhZ2FpbiByZWFk IHRoZSBzb3VyY2UgZm9yCj4gPiArICB0aGUgZGV0YWlscy4KPiA+ICsKPiA+ICsqKmxpYi8qKgo+ ID4gKwo+ID4gK0NvbW1vbiBoZWxwZXIgZnVuY3Rpb25zIGFuZCBoZWFkZXJzIHVzZWQgYnkgdGhl IG90aGVyIHRvb2xzLgo+ID4gKwo+ID4gKyoqbWFuLyoqCj4gPiArCj4gPiArTWFucGFnZXMsIHVu Zm9ydHVuYXRlbHkgcmF0aGVyIGluY29tcGxldGUuCj4gPiArCj4gPiArKip0b29scy8qKgo+ID4g Kwo+ID4gK1RoaXMgaXMgYSBjb2xsZWN0aW9uIG9mIGRlYnVnZ2luZyB0b29scyB0aGF0IGhhZCBw cmV2aW91c2x5IGJlZW4KPiA+ICtidWlsdCB3aXRoIHRoZSAyRCBkcml2ZXIgYnV0IG5vdCBzaGlw cGVkLiAgU29tZSBkaXN0cm9zIHdlcmUgaGFja2luZwo+ID4gK3VwIHRoZSAyRCBidWlsZCB0byBz aGlwIHRoZW0uICBJbnN0ZWFkLCBoZXJlJ3MgYSBzZXBhcmF0ZSBwYWNrYWdlIGZvcgo+ID4gK3Bl b3BsZSBkZWJ1Z2dpbmcgdGhlIGRyaXZlci4KPiA+ICsKPiA+ICtUaGVzZSB0b29scyBnZW5lcmFs bHkgbXVzdCBiZSBydW4gYXMgcm9vdCwgZXhjZXB0IGZvciB0aGUgb25lcyB0aGF0IGp1c3QKPiA+ ICtkZWNvZGUgZHVtcHMuCj4gPiArCj4gPiArKipkZWJ1Z2dlci8qKgo+ID4gKwo+ID4gK1RoaXMg dG9vbCBpcyB0byBiZSB1c2VkIHRvIGRvIHNoYWRlciBkZWJ1Z2dpbmcuIEl0IGFjdHMgbGlrZSBh Cj4gPiArZGVidWcgc2VydmVyIGFjY2VwdGluZyBjb25uZWN0aW9ucyBmcm9tIGRlYnVnIGNsaWVu dHMgc3VjaCBhcwo+ID4gK21lc2EuIFRoZSBjb25uZWN0aW9ucyBpcyBtYWRlIHdpdGggdW5peCBk b21haW4gc29ja2V0cywgYW5kIGF0IHNvbWUKPiA+ICtwb2ludCBpdCB3b3VsZCBiZSBuaWNlIGlm IHRoaXMgZGlyZWN0b3J5IGNvbnRhaW5lZCBhIGxpYnJhcnkgZm9yCj4gPiAraW5pdGlhdGluZyBj b25uZWN0aW9ucyB3aXRoIGRlYnVnIGNsaWVudHMuLgo+ID4gKwo+ID4gK1RoZSBkZWJ1Z2dlciBt dXN0IGJlIHJ1biBhcyByb290OiAic3VkbyBkZWJ1Z2dlci9ldWRiIgo+ID4gKwo+ID4gKyoqZG9j cy8qKgo+ID4gKwo+ID4gK0NvbnRhaW5zIHRoZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBpZ3Qt Z3B1LXRvb2xzIGxpYnJhcmllcwo+ID4gK3JlZmVyZW5jZSBkb2N1bWVudGF0aW9uIGluIGRvY3Mv cmVmZXJlbmNlLy4gWW91IG5lZWQgdG8gaGF2ZSB0aGUKPiA+ICtndGstZG9jIHRvb2xzIGluc3Rh bGxlZCBhbmQgdXNlIHRoZSAiLS1lbmFibGUtZ3RrLWRvYyIgY29uZmlndXJlIGZsYWcKPiA+ICt0 byBnZW5lcmF0ZSB0aGlzIEFQSSBkb2N1bWVudGF0aW9uLgo+ID4gKwo+ID4gK1RvIHJlZ2VuZXJh dGUgdGhlIGh0bWwgZmlsZXMgd2hlbiB1cGRhdGluZyBkb2N1bWVudGF0aW9uLCB1c2U6Cj4gPiAr Cj4gPiArICAgICQgbWFrZSBjbGVhbiAtQyBkb2NzICYmIG1ha2UgLUMgZG9jcwo+ID4gKwo+ID4g K0lmIHlvdSd2ZSBhZGRlZC9jaGFuZ2VkL3JlbW92ZWQgYSBzeW1ib2wgb3IgYW55dGhpbmcgZWxz ZSB0aGF0IGNoYW5nZXMKPiA+ICt0aGUgb3ZlcmFsbCBzdHJ1Y3R1cmUgb3IgaW5kZXhlcywgdGhp cyBuZWVkcyB0byBiZSByZWZsZWN0ZWQgaW4KPiA+ICtpZ3QtZ3B1LXRvb2xzLXNlY3Rpb25zLnR4 dC4gRW50aXJlbHkgbmV3IHNlY3Rpb25zIHdpbGwgYWxzbyBuZWVkIHRvIGJlCj4gPiArYWRkZWQg dG8gaWd0LWdwdS10b29scy1kb2NzLnhtbCBpbiB0aGUgYXBwcm9wcmlhdGUgcGxhY2UuCj4gPiAr Cj4gPiArKippbmNsdWRlL2RybS11YXBpKioKPiA+ICsKPiA+ICtJbXBvcnRlZCBEUk0gdWFwaSBo ZWFkZXJzIGZyb20gYWlybGllZCdzIGRybS1uZXh0IGJyYW5jaC4KPiA+ICtUaGVzZSBzaG91bGQg YmUgdXBkYXRlZCBhbGwgdG9nZXRoZXIgYnkgZXhlY3V0aW5nICJtYWtlCj4gPiAraGVhZGVyc19p bnN0YWxsIiBmcm9tIHRoYXQgYnJhbmNoIG9mIHRoZSBrZXJuZWwgYW5kIHRoZW4KPiA+ICtjb3B5 aW5nIHRoZSByZXN1bHRpbmcgLi91c3IvaW5jbHVkZS9kcm0vKi5oIGluIGFuZCBjb21taXR0aW5n Cj4gPiArd2l0aCBhIG5vdGUgb2Ygd2hpY2ggY29tbWl0IG9uIGFpcmxpZWQncyBicmFuY2ggd2Fz IHVzZWQgdG8KPiA+ICtnZW5lcmF0ZSB0aGVtLgo+ID4gKwo+ID4gKwo+ID4gK1JlcXVpcmVtZW50 cwo+ID4gKy0tLS0tLS0tLS0tLQo+ID4gKwo+ID4gK1RoaXMgaXMgYSBub24tZXhoYXVzdGl2ZSBs aXN0IG9mIHBhY2thZ2UgZGVwZW5kZW5jaWVzIHJlcXVpcmVkIGZvciBidWlsZGluZwo+ID4gK3Ro ZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gKHBhY2thZ2UgbmFtZXMgbWF5IHZhcnkpOgo+ID4gKwo+ ID4gKwlndGstZG9jLXRvb2xzCj4gPiArCWxpYmNhaXJvMi1kZXYKPiA+ICsJbGliZHJtLWRldgo+ ID4gKwlsaWJrbW9kLWRldgo+ID4gKwlsaWJwaXhtYW4tMS1kZXYKPiA+ICsJbGlicGNpYWNjZXNz LWRldgo+ID4gKwlsaWJwcm9jcHMtZGV2Cj4gPiArCWxpYnVud2luZC1kZXYKPiA+ICsJbGliZHct ZGV2Cj4gPiArCXB5dGhvbi1kb2N1dGlscwo+ID4gKwl4MTFwcm90by1kcmkyLWRldgo+ID4gKwl4 dXRpbHMtZGV2Cj4gPiArCj4gPiArVGhlIGZvbGxvd2luZyBkZXBlbmRlbmNpZXMgYXJlIHJlcXVp cmVkIGZvciBidWlsZGluZyBjaGFtZWxpdW0gc3VwcG9ydAo+ID4gKyhwYWNrYWdlIG5hbWVzIG1h eSB2YXJ5KToKPiA+ICsKPiA+ICsJbGlieG1scnBjLWNvcmUtYzMtZGV2Cj4gPiArCWxpYnVkZXYt ZGV2Cj4gPiArCWxpYmdsaWIyLjAtZGV2Cj4gPiArCWxpYmdzbC1kZXYKPiA+ICsKPiA+ICtUaGUg Zm9sbG93aW5nIGRlcGVuZGVuY2llcyBhcmUgcmVxdWlyZXMgZm9yIGJ1aWxkaW5nIGF1ZGlvIHN1 cHBvcnQKPiA+ICsocGFja2FnZSBuYW1lcyBtYXkgdmFyeSk6Cj4gPiArCj4gPiArCWxpYmFzb3Vu ZDItZGV2Cj4gPiArCWxpYmdzbC1kZXYKPiA+ICsKPiA+ICtNZXNvbiBidWlsZCBzeXN0ZW0gc3Vw cG9ydAo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiArCj4gPiArQ3VycmVudGx5 IHdlIHN1cHBvcnQgYm90aCBtZXNvbiBhbmQgYXV0b21ha2UgYXMgYnVpbGQgc3lzdGVtcywgYnV0 IG1lc29uIGlzIHRoZQo+ID4gK3JlY29tbWVuZGVkIGNob2ljZS4gT25lbGluZXIgdG8gZ2V0IHN0 YXJ0ZWQ6Cj4gPiArCj4gPiArICAgICQgbWtkaXIgYnVpbGQgJiYgbWVzb24gYnVpbGQgJiYgY2Qg YnVpbGQgJiYgbmluamEKPiA+ICsKPiA+ICtOb3RlIHRoYXQgbWVzb24gaW5zaXN0IG9uIHNlcGFy YXRlIGJ1aWxkIGRpcmVjdG9yaWVzIGZyb20gdGhlIHNvdXJjZSB0cmVlLgo+ID4gKwo+ID4gK1J1 bm5pbmcgc2VsZmNoZWNrcyBmb3IgbGliL3Rlc3RzIGFuZCB0ZXN0cy8gaXMgZG9uZSB3aXRoCj4g PiArCj4gPiArICAgICQgY2QgYnVpbGQgJiYgbmluamEgdGVzdAo+ID4gKwo+ID4gK05vdGUgdGhh dCB0aGlzIGRvZXNuJ3QgYWN0dWFsbHkgcnVuIHRoZSB0ZXN0Y2FzZXMgaW4gdGVzdHMvOiBzY3Jp cHRzL3J1bi10ZXN0cy5zaAo+ID4gK3Nob3VsZCBjb250aW51ZSB0byBiZSB1c2VkIGZvciB0aGF0 Lgo+ID4gKwo+ID4gK0RvY3VtZW50YXRpb24gaXMgYnVpbHQgdXNpbmcKPiA+ICsKPiA+ICsgICAg JCBjZCBidWlsZCAmJiBuaW5qYSAmJiBuaW5qYSBpZ3QtZ3B1LXRvb2xzLWRvYwo+ID4gKwo+ID4g K05vdGUgdGhhdCB0aGVyZSdzIGEgc2V0dXAgc2NyaXB0IHNpbWlsYXIgdG8gLi9hdXRvZ2VuLnNo IHdoaWNoIGNyZWF0ZXMgYQo+ID4gK2NvbXBhdGliaWxpdHkgTWFrZWZpbGUgd2l0aCBhIGZldyB1 c2VmdWwgZGVmYXVsdCB0YXJnZXRzOgo+ID4gKwo+ID4gKyAgICAkIC4vbWVzb24uc2ggW21ha2Ut YXJndW1lbnRzXQo+ID4gKwo+ID4gK1JlbGVhc2VzIGZvciBtYWludGFpbmVycwo+ID4gKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gKwo+ID4gKygxLjE0KQo+ID4gKwo+ID4gK2h0dHA6Ly93 d3cueC5vcmcvd2lraS9EZXZlbG9wbWVudC9Eb2N1bWVudGF0aW9uL1JlbGVhc2VIT1dUTy8KPiA+ IC0tIAo+ID4gMi4xOS4xCj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4gPiBpZ3QtZGV2IG1haWxpbmcgbGlzdAo+ID4gaWd0LWRldkBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaWd0LWRldgoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIs IEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1k ZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaWd0LWRldgo=