From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 44EF28957B for ; Thu, 25 Oct 2018 18:36:22 +0000 (UTC) Date: Thu, 25 Oct 2018 11:36:20 -0700 From: Rodrigo Vivi Message-ID: <20181025183620.GW3942@intel.com> References: <20181024133421.26047-1-daniel.vetter@ffwll.ch> <20181024170414.GB3942@intel.com> <20181025065822.GU324@phenom.ffwll.local> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20181025065822.GU324@phenom.ffwll.local> 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: Daniel Vetter Cc: IGT development , Daniel Vetter List-ID: T24gVGh1LCBPY3QgMjUsIDIwMTggYXQgMDg6NTg6MjJBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBXZWQsIE9jdCAyNCwgMjAxOCBhdCAxMDowNDoxNEFNIC0wNzAwLCBSb2RyaWdv IFZpdmkgd3JvdGU6Cj4gPiBPbiBXZWQsIE9jdCAyNCwgMjAxOCBhdCAwMzozNDoyMVBNICswMjAw LCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4gPiBMb29rcyBzbyBtdWNoIGJldHRlciBpbiB0aGUg Z2l0bGFiIFVJLiBNYXliZSB3ZSB3YW50IHRvIHNwbGl0IG91dCBzb21lCj4gPiA+IG9mIHRoZXNl IFJFQURNRSBpbnRvIHN1YmRpcmVjdG9yaWVzIC4uLgo+ID4gPiAKPiA+ID4gdjI6IFBvbGlzaCBs YXlvdXQgYSBiaXQuIENoYW5nZXMgYXJlIG9ubHkgd2hpdGVzcGFjZSwgYnV0IFJFQURNRSBpcyBz bwo+ID4gPiBjb21wbGljYXRlZCByZXdvcmtlZCB0aGF0IGdpdCdzIHJlbmFtZSBkZXRlY3Rpb24g ZG9lc24ndCBzcG90IHRoZQo+ID4gPiBzaW1pbGFyaXRpZXMgYW55bW9yZS4KPiA+ID4gCj4gPiA+ IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ ID4gPiAtLS0KPiA+ID4gTm90ZSB0aGlzIG5lZWRzIFBldHJpJ3MgZWFybGllciBwYXRjaCB0byBh cHBseSBjbGVhbmx5Lgo+ID4gPiAtRGFuaWVsCj4gPiA+IC0tLQo+ID4gPiAgQ09OVFJJQlVUSU5H ID0+IENPTlRSSUJVVElORy5tZCB8ICAgNiArLQo+ID4gPiAgUkVBRE1FICAgICAgICAgICAgICAg ICAgICAgICAgICB8IDIwMiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gIFJF QURNRS5tZCAgICAgICAgICAgICAgICAgICAgICAgfCAyMTAgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPiA+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMjEzIGluc2VydGlvbnMoKyksIDIw NSBkZWxldGlvbnMoLSkKPiA+ID4gIHJlbmFtZSBDT05UUklCVVRJTkcgPT4gQ09OVFJJQlVUSU5H Lm1kICg5NSUpCj4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQgUkVBRE1FCj4gPiA+ICBjcmVhdGUg bW9kZSAxMDA2NDQgUkVBRE1FLm1kCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvQ09OVFJJQlVU SU5HIGIvQ09OVFJJQlVUSU5HLm1kCj4gPiA+IHNpbWlsYXJpdHkgaW5kZXggOTUlCj4gPiA+IHJl bmFtZSBmcm9tIENPTlRSSUJVVElORwo+ID4gPiByZW5hbWUgdG8gQ09OVFJJQlVUSU5HLm1kCj4g PiA+IGluZGV4IDFhNjhmY2Y1Y2M5Yy4uMjdjOGU3OTY3YjkzIDEwMDY0NAo+ID4gPiAtLS0gYS9D T05UUklCVVRJTkcKPiA+ID4gKysrIGIvQ09OVFJJQlVUSU5HLm1kCj4gPiA+IEBAIC04LDcgKzgs NyBAQCBBIHNob3J0IGxpc3Qgb2YgY29udHJpYnV0aW9uIGd1aWRlbGluZXM6Cj4gPiA+ICAtIFBs ZWFzZSBzdWJtaXQgcGF0Y2hlcyBmb3JtYXR0ZWQgd2l0aCBnaXQgc2VuZC1lbWFpbC9naXQgZm9y bWF0LXBhdGNoIG9yCj4gPiA+ICAgIGVxdWl2YWxlbnQgdG86Cj4gPiA+ICAKPiA+ID4gLSAgICBE ZXZlbG9wbWVudCBtYWlsaW5nIGxpc3QgZm9yIElHVCBHUFUgVG9vbHMgPGlndC1kZXZAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnPgo+ID4gPiArICAgICAgRGV2ZWxvcG1lbnQgbWFpbGluZyBsaXN0IGZv ciBJR1QgR1BVIFRvb2xzIDxpZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4KPiA+ID4gIAo+ ID4gPiAgICBGb3IgYSB0cmFuc2l0aW9uIHBlcmlvZCBwYXRjaGVzIGFyZSBhY2NlcHRlZCBvbiBi b3RoIHRoZSBpZ3QtZGV2IG1haWxpbmcgbGlzdAo+ID4gPiAgICBhbmQgdGhlIGZvcm1lciBpbnRl bC1nZnggbWFpbGluZyBsaXN0ICh3aXRoIHRoZSBhcHByb3ByaWF0ZSBwYXRjaAo+ID4gPiBAQCAt MTgsMTMgKzE4LDEzIEBAIEEgc2hvcnQgbGlzdCBvZiBjb250cmlidXRpb24gZ3VpZGVsaW5lczoK PiA+ID4gICAgaGF2ZSBhIG5lZWQgdG8gZG8gc28sIGFzIHRoZXkgd2lsbCBnZXQgZGVkdXBsaWNh dGVkIHNvIHRoZXkgb25seSBhcHBlYXIgYW5kCj4gPiA+ICAgIGFyZSB0ZXN0ZWQgaW4gb25lIFBh dGNod29yayBpbnN0YW5jZS4KPiA+ID4gIAo+ID4gPiAtICAgIEludGVsIEdGWCBkaXNjdXNzaW9u IDxpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPgo+ID4gPiArICAgICAgSW50ZWwgR0ZY IGRpc2N1c3Npb24gPGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc+Cj4gPiA+ICAKPiA+ ID4gICAgUGxlYXNlIHVzZSAtLXN1YmplY3QtcHJlZml4PSJQQVRDSCBpLWctdCIgc28gSUdUIHBh dGNoZXMgYXJlIGVhc2lseQo+ID4gPiAgICBpZGVudGlmaWVkIGluIHRoZSBtYXNzaXZlIGFtb3Vu dCBtYWlscyBvbiBpbnRlbC1nZnguIFRvIGVuc3VyZSB0aGlzIGlzIGFsd2F5cwo+ID4gPiAgICBk b25lLCBtZXNvbi5zaCAoYW5kIGF1dG9nZW4uc2gpIHdpbGwgcnVuOgo+ID4gPiAgCj4gPiA+IC0g ICAgZ2l0IGNvbmZpZyBmb3JtYXQuc3ViamVjdHByZWZpeCAiUEFUQ0ggaS1nLXQiCj4gPiA+ICsg ICAgICBnaXQgY29uZmlnIGZvcm1hdC5zdWJqZWN0cHJlZml4ICJQQVRDSCBpLWctdCIKPiA+ID4g IAo+ID4gPiAgICBvbiBpdHMgZmlyc3QgaW52b2NhdGlvbi4KPiA+ID4gIAo+ID4gPiBkaWZmIC0t Z2l0IGEvUkVBRE1FIGIvUkVBRE1FCj4gPiA+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+ID4g PiBpbmRleCA3OGQxNDA2MGRjY2QuLjAwMDAwMDAwMDAwMAo+ID4gPiAtLS0gYS9SRUFETUUKPiA+ ID4gKysrIC9kZXYvbnVsbAo+ID4gPiBAQCAtMSwyMDIgKzAsMCBAQAo+ID4gPiAtSUdUIEdQVSBU b29scwo+ID4gPiAtPT09PT09PT09PT09PQo+ID4gPiAtCj4gPiA+IC1EZXNjcmlwdGlvbgo+ID4g PiAtLS0tLS0tLS0tLS0KPiA+ID4gLQo+ID4gPiAtSUdUIEdQVSBUb29scyBpcyBhIGNvbGxlY3Rp b24gb2YgdG9vbHMgZm9yIGRldmVsb3BtZW50IGFuZCB0ZXN0aW5nIG9mIHRoZSBEUk0KPiA+ID4g LWRyaXZlcnMuIFRoZXJlIGFyZSBtYW55IG1hY3JvLWxldmVsIHRlc3Qgc3VpdGVzIHRoYXQgZ2V0 IHVzZWQgYWdhaW5zdCB0aGUKPiA+ID4gLWRyaXZlcnMsIGluY2x1ZGluZyB4dGVzdCwgcmVuZGVy Y2hlY2ssIHBpZ2xpdCwgYW5kIG9nbGNvbmZvcm0sIGJ1dCBmYWlsdXJlcyBmcm9tCj4gPiA+IC10 aG9zZSBjYW4gYmUgZGlmZmljdWx0IHRvIHRyYWNrIGRvd24gdG8ga2VybmVsIGNoYW5nZXMsIGFu ZCBtYW55IHJlcXVpcmUKPiA+ID4gLWNvbXBsaWNhdGVkIGJ1aWxkIHByb2NlZHVyZXMgb3Igc3Bl Y2lmaWMgdGVzdGluZyBlbnZpcm9ubWVudHMgdG8gZ2V0IHVzZWZ1bAo+ID4gPiAtcmVzdWx0cy4g VGhlcmVmb3JlLCBJR1QgR1BVIFRvb2xzIGluY2x1ZGVzIGxvdy1sZXZlbCB0b29scyBhbmQgdGVz dHMKPiA+ID4gLXNwZWNpZmljYWxseSBmb3IgZGV2ZWxvcG1lbnQgYW5kIHRlc3Rpbmcgb2YgdGhl IERSTSBEcml2ZXJzLgo+ID4gPiAtCj4gPiA+IC1JR1QgR1BVIFRvb2xzIGlzIHNwbGl0IGludG8g c2V2ZXJhbCBzZWN0aW9uczoKPiA+ID4gLQo+ID4gPiAtYmVuY2htYXJrcy8KPiA+ID4gLQlUaGlz IGlzIGEgY29sbGVjdGlvbiBvZiB1c2VmdWwgbWljcm9iZW5jaG1hcmtzIHRoYXQgY2FuIGJlIHVz ZWQgdG8gdHVuZQo+ID4gPiAtCURSTSBjb2RlIGluIHJlbGV2YW50IHdheXMuCj4gPiA+IC0KPiA+ ID4gLQlUaGUgYmVuY2htYXJrcyByZXF1aXJlIEtNUyB0byBiZSBlbmFibGVkLiAgV2hlbiBydW4g d2l0aCBhbiBYIFNlcnZlcgo+ID4gPiAtCXJ1bm5pbmcsIHRoZXkgbXVzdCBiZSBydW4gYXMgcm9v dCB0byBhdm9pZCB0aGUgYXV0aGVudGljYXRpb24KPiA+ID4gLQlyZXF1aXJlbWVudC4KPiA+ID4g LQo+ID4gPiAtCU5vdGUgdGhhdCBhIGZldyBvdGhlciBtaWNyb2JlbmNobWFya3MgYXJlIGluIHRl c3RzIChsaWtlIGdlbV9ndHRfc3BlZWQpLgo+ID4gPiAtCj4gPiA+IC10ZXN0cy8KPiA+ID4gLQlU aGlzIGlzIGEgc2V0IG9mIGF1dG9tYXRlZCB0ZXN0cyB0byBydW4gYWdhaW5zdCB0aGUgRFJNIHRv IHZhbGlkYXRlCj4gPiA+IC0JY2hhbmdlcy4gTWFueSBvZiB0aGUgdGVzdHMgaGF2ZSBzdWJ0ZXN0 cywgd2hpY2ggY2FuIGJlIGxpc3RlZCBieSB1c2luZwo+ID4gPiAtCXRoZSAtLWxpc3Qtc3VidGVz dHMgY29tbWFuZCBsaW5lIG9wdGlvbiBhbmQgdGhlbiBydW4gdXNpbmcgdGhlCj4gPiA+IC0JLS1y dW4tc3VidGVzdCBvcHRpb24uIElmIC0tcnVuLXN1YnRlc3QgaXMgbm90IHVzZWQsIGFsbCBzdWJ0 ZXN0cyB3aWxsCj4gPiA+IC0JYmUgcnVuLiBTb21lIHRlc3RzIGhhdmUgZnV0aGVyIG9wdGlvbnMg YW5kIHRoZXNlIGFyZSBkZXRhaWxlZCBieSB1c2luZwo+ID4gPiAtCXRoZSAtLWhlbHAgb3B0aW9u Lgo+ID4gPiAtCj4gPiA+IC0JVGhlIHRlc3Qgc3VpdGUgY2FuIGJlIHJ1biB1c2luZyB0aGUgcnVu LXRlc3RzLnNoIHNjcmlwdCBhdmFpbGFibGUgaW4KPiA+ID4gLQl0aGUgc2NyaXB0cyBkaXJlY3Rv cnkuIFBpZ2xpdCBpcyB1c2VkIHRvIHJ1biB0aGUgdGVzdHMgYW5kIGNhbiBlaXRoZXIKPiA+ID4g LQliZSBpbnN0YWxsZWQgZnJvbSB5b3VyIGRpc3RyaWJ1dGlvbiAoaWYgYXZhaWxhYmxlKSwgb3Ig Y2FuIGJlCj4gPiA+IC0JZG93bmxvYWRlZCBsb2NhbGx5IGZvciB1c2Ugd2l0aCB0aGUgc2NyaXB0 IGJ5IHJ1bm5pbmc6Cj4gPiA+IC0KPiA+ID4gLQkuL3NjcmlwdHMvcnVuLXRlc3RzLnNoIC1kCj4g PiA+IC0KPiA+ID4gLQlydW4tdGVzdHMuc2ggaGFzIG9wdGlvbnMgZm9yIGZpbHRlcmluZyBhbmQg ZXhjbHVkaW5nIHRlc3RzIGZyb20gdGVzdAo+ID4gPiAtCXJ1bnM6Cj4gPiA+IC0KPiA+ID4gLQkg IC10IDxyZWdleD4gICAgICBvbmx5IGluY2x1ZGUgdGVzdHMgdGhhdCBtYXRjaCB0aGUgcmVndWxh ciBleHByZXNzaW9uCj4gPiA+IC0JICAteCA8cmVnZXg+ICAgICAgZXhjbHVkZSB0ZXN0cyB0aGF0 IG1hdGNoIHRoZSByZWd1bGFyIGV4cHJlc3Npb24KPiA+ID4gLQo+ID4gPiAtCVVzZWZ1bCBwYXR0 ZXJucyBmb3IgdGVzdCBmaWx0ZXJpbmcgYXJlIGRlc2NyaWJlZCBpbiB0aGUgQVBJCj4gPiA+IC0J ZG9jdW1lbnRhdGlvbiBhbmQgdGhlIGZ1bGwgbGlzdCBvZiB0ZXN0cyBhbmQgc3VidGVzdHMgY2Fu IGJlIHByb2R1Y2VkCj4gPiA+IC0JYnkgcGFzc2luZyAtbCB0byB0aGUgcnVuLXRlc3RzLnNoIHNj cmlwdC4KPiA+ID4gLQo+ID4gPiAtCVJlc3VsdHMgYXJlIHdyaXR0ZW4gdG8gYSBKU09OIGZpbGUg YW5kIGFuIEhUTUwgc3VtbWFyeSBjYW4gYWxzbyBiZQo+ID4gPiAtCWNyZWF0ZWQgYnkgcGFzc2lu ZyAtcyB0byB0aGUgcnVuLXRlc3RzLnNoIHNjcmlwdC4gRnVydGhlciBvcHRpb25zIGFyZQo+ID4g PiAtCWFyZSBkZXRhaWxlZCBieSB1c2luZyB0aGUgLWggb3B0aW9uLgo+ID4gPiAtCj4gPiA+IC0K PiA+ID4gLQlJZiBub3QgdXNpbmcgdGhlIHNjcmlwdCwgcGlnbGl0IGNhbiBiZSBvYnRhaW5lZCBm cm9tOgo+ID4gPiAtCj4gPiA+IC0JZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvcGlnbGl0 Cj4gPiA+IC0KPiA+ID4gLQlUaGVyZSBpcyBubyBuZWVkIHRvIGJ1aWxkIGFuZCBpbnN0YWxsIHBp Z2xpdCBpZiBpdCBpcyBvbmx5IGdvaW5nIHRvIGJlCj4gPiA+IC0JdXNlZCBmb3IgcnVubmluZyBp LWctdCB0ZXN0cy4KPiA+ID4gLQo+ID4gPiAtCVNldCB0aGUgSUdUX1RFU1RfUk9PVCBlbnZpcm9u bWVudCB2YXJpYWJsZSB0byBwb2ludCB0byB0aGUgdGVzdHMKPiA+ID4gLQlkaXJlY3RvcnksIG9y IHNldCB0aGUgcGF0aCBrZXkgaW4gdGhlICJpZ3QiIHNlY3Rpb24gb2YgcGlnbGl0LmNvbmYgdG8K PiA+ID4gLQl0aGUgaWd0LWdwdS10b29scyByb290IGRpcmVjdG9yeS4KPiA+ID4gLQo+ID4gPiAt CVRoZSB0ZXN0cyBpbiB0aGUgaS1nLXQgc291cmNlcyBuZWVkIHRvIGhhdmUgYmVlbiBidWlsdCBh bHJlYWR5LiBUaGVuIHdlCj4gPiA+IC0JY2FuIHJ1biB0aGUgdGVzdGNhc2VzIHdpdGggKGFzIHVz dWFsIGFzIHJvb3QsIG5vIG90aGVyIGRybSBjbGllbnRzCj4gPiA+IC0JcnVubmluZyk6Cj4gPiA+ IC0KPiA+ID4gLQlwaWdsaXQtc291cmNlcyAjIC4vcGlnbGl0IHJ1biBpZ3QgPHJlc3VsdHMtZmls ZT4KPiA+ID4gLQo+ID4gPiAtCVRoZSB0ZXN0bGlzdCBpcyBidWlsdCBhdCBydW50aW1lLCBzbyBu byBuZWVkIHRvIHVwZGF0ZSBhbnl0aGluZyBpbgo+ID4gPiAtCXBpZ2xpdCB3aGVuIGFkZGluZyBu ZXcgdGVzdHMuIFNlZQo+ID4gPiAtCj4gPiA+IC0JcGlnbGl0LXNvdXJjZXMgJCAuL3BpZ2xpdCBy dW4gLWgKPiA+ID4gLQo+ID4gPiAtCWZvciBzb21lIHVzZWZ1bCBvcHRpb25zLgo+ID4gPiAtCj4g PiA+IC0JUGlnbGl0IG9ubHkgcnVucyBhIGRlZmF1bHQgc2V0IG9mIHRlc3RzIGFuZCBpcyB1c2Vm dWwgZm9yIHJlZ3Jlc3Npb24KPiA+ID4gLQl0ZXN0aW5nLiBPdGhlciB0ZXN0cyBub3QgcnVuIGFy ZToKPiA+ID4gLQktIHRlc3RzIHRoYXQgbWlnaHQgaGFuZyB0aGUgZ3B1LCBzZWUgSEFORyBpbiBN YWtlZmlsZS5hbQo+ID4gPiAtCS0gZ2VtX3N0cmVzcywgYSBzdHJlc3MgdGVzdCBzdWl0ZS4gTG9v ayBhdCB0aGUgc291cmNlIGZvciBhbGwgdGhlCj4gPiA+IC0JICB2YXJpb3VzIG9wdGlvbnMuCj4g PiA+IC0JLSB0ZXN0ZGlzcGxheSBpcyBvbmx5IHJ1biBpbiB0aGUgZGVmYXVsdCBtb2RlLiB0ZXN0 ZGlzcGxheSBoYXMgdG9ucyBvZgo+ID4gPiAtCSAgb3B0aW9ucyB0byB0ZXN0IGRpZmZlcmVudCBr bXMgZnVuY3Rpb25hbGl0eSwgYWdhaW4gcmVhZCB0aGUgc291cmNlIGZvcgo+ID4gPiAtCSAgdGhl IGRldGFpbHMuCj4gPiA+IC0KPiA+ID4gLWxpYi8KPiA+ID4gLQlDb21tb24gaGVscGVyIGZ1bmN0 aW9ucyBhbmQgaGVhZGVycyB1c2VkIGJ5IHRoZSBvdGhlciB0b29scy4KPiA+ID4gLQo+ID4gPiAt bWFuLwo+ID4gPiAtCU1hbnBhZ2VzLCB1bmZvcnR1bmF0ZWx5IHJhdGhlciBpbmNvbXBsZXRlLgo+ ID4gPiAtCj4gPiA+IC10b29scy8KPiA+ID4gLQlUaGlzIGlzIGEgY29sbGVjdGlvbiBvZiBkZWJ1 Z2dpbmcgdG9vbHMgdGhhdCBoYWQgcHJldmlvdXNseSBiZWVuCj4gPiA+IC0JYnVpbHQgd2l0aCB0 aGUgMkQgZHJpdmVyIGJ1dCBub3Qgc2hpcHBlZC4gIFNvbWUgZGlzdHJvcyB3ZXJlIGhhY2tpbmcK PiA+ID4gLQl1cCB0aGUgMkQgYnVpbGQgdG8gc2hpcCB0aGVtLiAgSW5zdGVhZCwgaGVyZSdzIGEg c2VwYXJhdGUgcGFja2FnZSBmb3IKPiA+ID4gLQlwZW9wbGUgZGVidWdnaW5nIHRoZSBkcml2ZXIu Cj4gPiA+IC0KPiA+ID4gLQlUaGVzZSB0b29scyBnZW5lcmFsbHkgbXVzdCBiZSBydW4gYXMgcm9v dCwgZXhjZXB0IGZvciB0aGUgb25lcyB0aGF0IGp1c3QKPiA+ID4gLQlkZWNvZGUgZHVtcHMuCj4g PiA+IC0KPiA+ID4gLWRlYnVnZ2VyLwo+ID4gPiAtCVRoaXMgdG9vbCBpcyB0byBiZSB1c2VkIHRv IGRvIHNoYWRlciBkZWJ1Z2dpbmcuIEl0IGFjdHMgbGlrZSBhCj4gPiA+IC0JZGVidWcgc2VydmVy IGFjY2VwdGluZyBjb25uZWN0aW9ucyBmcm9tIGRlYnVnIGNsaWVudHMgc3VjaCBhcwo+ID4gPiAt CW1lc2EuIFRoZSBjb25uZWN0aW9ucyBpcyBtYWRlIHdpdGggdW5peCBkb21haW4gc29ja2V0cywg YW5kIGF0IHNvbWUKPiA+ID4gLQlwb2ludCBpdCB3b3VsZCBiZSBuaWNlIGlmIHRoaXMgZGlyZWN0 b3J5IGNvbnRhaW5lZCBhIGxpYnJhcnkgZm9yCj4gPiA+IC0JaW5pdGlhdGluZyBjb25uZWN0aW9u cyB3aXRoIGRlYnVnIGNsaWVudHMuLgo+ID4gPiAtCj4gPiA+IC0JVGhlIGRlYnVnZ2VyIG11c3Qg YmUgcnVuIGFzIHJvb3Q6ICJzdWRvIGRlYnVnZ2VyL2V1ZGIiCj4gPiA+IC0KPiA+ID4gLWRvY3Mv Cj4gPiA+IC0JQ29udGFpbnMgdGhlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGlndC1ncHUtdG9v bHMgbGlicmFyaWVzCj4gPiA+IC0JcmVmZXJlbmNlIGRvY3VtZW50YXRpb24gaW4gZG9jcy9yZWZl cmVuY2UvLiBZb3UgbmVlZCB0byBoYXZlIHRoZQo+ID4gPiAtCWd0ay1kb2MgdG9vbHMgaW5zdGFs bGVkIGFuZCB1c2UgdGhlICItLWVuYWJsZS1ndGstZG9jIiBjb25maWd1cmUgZmxhZwo+ID4gPiAt CXRvIGdlbmVyYXRlIHRoaXMgQVBJIGRvY3VtZW50YXRpb24uCj4gPiA+IC0KPiA+ID4gLQlUbyBy ZWdlbmVyYXRlIHRoZSBodG1sIGZpbGVzIHdoZW4gdXBkYXRpbmcgZG9jdW1lbnRhdGlvbiwgdXNl Ogo+ID4gPiAtCj4gPiA+IC0JJCBtYWtlIGNsZWFuIC1DIGRvY3MgJiYgbWFrZSAtQyBkb2NzCj4g PiA+IC0KPiA+ID4gLQlJZiB5b3UndmUgYWRkZWQvY2hhbmdlZC9yZW1vdmVkIGEgc3ltYm9sIG9y IGFueXRoaW5nIGVsc2UgdGhhdCBjaGFuZ2VzCj4gPiA+IC0JdGhlIG92ZXJhbGwgc3RydWN0dXJl IG9yIGluZGV4ZXMsIHRoaXMgbmVlZHMgdG8gYmUgcmVmbGVjdGVkIGluCj4gPiA+IC0JaWd0LWdw dS10b29scy1zZWN0aW9ucy50eHQuIEVudGlyZWx5IG5ldyBzZWN0aW9ucyB3aWxsIGFsc28gbmVl ZCB0byBiZQo+ID4gPiAtCWFkZGVkIHRvIGlndC1ncHUtdG9vbHMtZG9jcy54bWwgaW4gdGhlIGFw cHJvcHJpYXRlIHBsYWNlLgo+ID4gPiAtCj4gPiA+IC1pbmNsdWRlL2RybS11YXBpCj4gPiA+IC0J SW1wb3J0ZWQgRFJNIHVhcGkgaGVhZGVycyBmcm9tIGFpcmxpZWQncyBkcm0tbmV4dCBicmFuY2gu Cj4gPiA+IC0JVGhlc2Ugc2hvdWxkIGJlIHVwZGF0ZWQgYWxsIHRvZ2V0aGVyIGJ5IGV4ZWN1dGlu ZyAibWFrZQo+ID4gPiAtCWhlYWRlcnNfaW5zdGFsbCIgZnJvbSB0aGF0IGJyYW5jaCBvZiB0aGUg a2VybmVsIGFuZCB0aGVuCj4gPiA+IC0JY29weWluZyB0aGUgcmVzdWx0aW5nIC4vdXNyL2luY2x1 ZGUvZHJtLyouaCBpbiBhbmQgY29tbWl0dGluZwo+ID4gPiAtCXdpdGggYSBub3RlIG9mIHdoaWNo IGNvbW1pdCBvbiBhaXJsaWVkJ3MgYnJhbmNoIHdhcyB1c2VkIHRvCj4gPiA+IC0JZ2VuZXJhdGUg dGhlbS4KPiA+ID4gLQo+ID4gPiAtCj4gPiA+IC1SZXF1aXJlbWVudHMKPiA+ID4gLS0tLS0tLS0t LS0tLQo+ID4gPiAtCj4gPiA+IC1UaGlzIGlzIGEgbm9uLWV4aGF1c3RpdmUgbGlzdCBvZiBwYWNr YWdlIGRlcGVuZGVuY2llcyByZXF1aXJlZCBmb3IgYnVpbGRpbmcKPiA+ID4gLXRoZSBkZWZhdWx0 IGNvbmZpZ3VyYXRpb24gKHBhY2thZ2UgbmFtZXMgbWF5IHZhcnkpOgo+ID4gPiAtCj4gPiA+IC0J Z3RrLWRvYy10b29scwo+ID4gPiAtCWxpYmNhaXJvMi1kZXYKPiA+ID4gLQlsaWJkcm0tZGV2Cj4g PiA+IC0JbGlia21vZC1kZXYKPiA+ID4gLQlsaWJwaXhtYW4tMS1kZXYKPiA+ID4gLQlsaWJwY2lh Y2Nlc3MtZGV2Cj4gPiA+IC0JbGlicHJvY3BzLWRldgo+ID4gPiAtCWxpYnVud2luZC1kZXYKPiA+ ID4gLQlsaWJkdy1kZXYKPiA+ID4gLQlweXRob24tZG9jdXRpbHMKPiA+ID4gLQl4MTFwcm90by1k cmkyLWRldgo+ID4gPiAtCXh1dGlscy1kZXYKPiA+ID4gLQo+ID4gPiAtVGhlIGZvbGxvd2luZyBk ZXBlbmRlbmNpZXMgYXJlIHJlcXVpcmVkIGZvciBidWlsZGluZyBjaGFtZWxpdW0gc3VwcG9ydAo+ ID4gPiAtKHBhY2thZ2UgbmFtZXMgbWF5IHZhcnkpOgo+ID4gPiAtCj4gPiA+IC0JbGlieG1scnBj LWNvcmUtYzMtZGV2Cj4gPiA+IC0JbGlidWRldi1kZXYKPiA+ID4gLQlsaWJnbGliMi4wLWRldgo+ ID4gPiAtCWxpYmdzbC1kZXYKPiA+ID4gLQo+ID4gPiAtVGhlIGZvbGxvd2luZyBkZXBlbmRlbmNp ZXMgYXJlIHJlcXVpcmVzIGZvciBidWlsZGluZyBhdWRpbyBzdXBwb3J0Cj4gPiA+IC0ocGFja2Fn ZSBuYW1lcyBtYXkgdmFyeSk6Cj4gPiA+IC0KPiA+ID4gLQlsaWJhc291bmQyLWRldgo+ID4gPiAt CWxpYmdzbC1kZXYKPiA+ID4gLQo+ID4gPiAtTWVzb24gYnVpbGQgc3lzdGVtIHN1cHBvcnQKPiA+ ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+IC0KPiA+ID4gLUN1cnJlbnRseSB3 ZSBzdXBwb3J0IGJvdGggbWVzb24gYW5kIGF1dG9tYWtlIGFzIGJ1aWxkIHN5c3RlbXMsIGJ1dCBt ZXNvbiBpcyB0aGUKPiA+ID4gLXJlY29tbWVuZGVkIGNob2ljZS4gT25lbGluZXIgdG8gZ2V0IHN0 YXJ0ZWQ6Cj4gPiA+IC0KPiA+ID4gLSQgbWtkaXIgYnVpbGQgJiYgbWVzb24gYnVpbGQgJiYgY2Qg YnVpbGQgJiYgbmluamEKPiA+ID4gLQo+ID4gPiAtTm90ZSB0aGF0IG1lc29uIGluc2lzdCBvbiBz ZXBhcmF0ZSBidWlsZCBkaXJlY3RvcmllcyBmcm9tIHRoZSBzb3VyY2UgdHJlZS4KPiA+ID4gLQo+ ID4gPiAtUnVubmluZyBzZWxmY2hlY2tzIGZvciBsaWIvdGVzdHMgYW5kIHRlc3RzLyBpcyBkb25l IHdpdGgKPiA+ID4gLQo+ID4gPiAtJCBjZCBidWlsZCAmJiBuaW5qYSB0ZXN0Cj4gPiA+IC0KPiA+ ID4gLU5vdGUgdGhhdCB0aGlzIGRvZXNuJ3QgYWN0dWFsbHkgcnVuIHRoZSB0ZXN0Y2FzZXMgaW4g dGVzdHMvOiBzY3JpcHRzL3J1bi10ZXN0cy5zaAo+ID4gPiAtc2hvdWxkIGNvbnRpbnVlIHRvIGJl IHVzZWQgZm9yIHRoYXQuCj4gPiA+IC0KPiA+ID4gLURvY3VtZW50YXRpb24gaXMgYnVpbHQgdXNp bmcKPiA+ID4gLQo+ID4gPiAtJCBjZCBidWlsZCAmJiBuaW5qYSAmJiBuaW5qYSBpZ3QtZ3B1LXRv b2xzLWRvYwo+ID4gPiAtCj4gPiA+IC1Ob3RlIHRoYXQgdGhlcmUncyBhIHNldHVwIHNjcmlwdCBz aW1pbGFyIHRvIC4vYXV0b2dlbi5zaCB3aGljaCBjcmVhdGVzIGEKPiA+ID4gLWNvbXBhdGliaWxp dHkgTWFrZWZpbGUgd2l0aCBhIGZldyB1c2VmdWwgZGVmYXVsdCB0YXJnZXRzOgo+ID4gPiAtCj4g PiA+IC0kIC4vbWVzb24uc2ggW21ha2UtYXJndW1lbnRzXQo+ID4gPiAtCj4gPiA+IC1SZWxlYXNl cyBmb3IgbWFpbnRhaW5lcnMKPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiAt Cj4gPiA+IC0oMS4xNCkKPiA+ID4gLQo+ID4gPiAtaHR0cDovL3d3dy54Lm9yZy93aWtpL0RldmVs b3BtZW50L0RvY3VtZW50YXRpb24vUmVsZWFzZUhPV1RPLwo+ID4gPiBkaWZmIC0tZ2l0IGEvUkVB RE1FLm1kIGIvUkVBRE1FLm1kCj4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+IGluZGV4 IDAwMDAwMDAwMDAwMC4uZGNmZjAzZWZkYmFjCj4gPiA+IC0tLSAvZGV2L251bGwKPiA+ID4gKysr IGIvUkVBRE1FLm1kCj4gPiA+IEBAIC0wLDAgKzEsMjEwIEBACj4gPiA+ICtJR1QgR1BVIFRvb2xz Cj4gPiA+ICs9PT09PT09PT09PT09Cj4gPiA+ICsKPiA+ID4gK0Rlc2NyaXB0aW9uCj4gPiA+ICst LS0tLS0tLS0tLQo+ID4gPiArCj4gPiA+ICtJR1QgR1BVIFRvb2xzIGlzIGEgY29sbGVjdGlvbiBv ZiB0b29scyBmb3IgZGV2ZWxvcG1lbnQgYW5kIHRlc3Rpbmcgb2YgdGhlIERSTQo+ID4gPiArZHJp dmVycy4gVGhlcmUgYXJlIG1hbnkgbWFjcm8tbGV2ZWwgdGVzdCBzdWl0ZXMgdGhhdCBnZXQgdXNl ZCBhZ2FpbnN0IHRoZQo+ID4gPiArZHJpdmVycywgaW5jbHVkaW5nIHh0ZXN0LCByZW5kZXJjaGVj aywgcGlnbGl0LCBhbmQgb2dsY29uZm9ybSwgYnV0IGZhaWx1cmVzIGZyb20KPiA+ID4gK3Rob3Nl IGNhbiBiZSBkaWZmaWN1bHQgdG8gdHJhY2sgZG93biB0byBrZXJuZWwgY2hhbmdlcywgYW5kIG1h bnkgcmVxdWlyZQo+ID4gPiArY29tcGxpY2F0ZWQgYnVpbGQgcHJvY2VkdXJlcyBvciBzcGVjaWZp YyB0ZXN0aW5nIGVudmlyb25tZW50cyB0byBnZXQgdXNlZnVsCj4gPiA+ICtyZXN1bHRzLiBUaGVy ZWZvcmUsIElHVCBHUFUgVG9vbHMgaW5jbHVkZXMgbG93LWxldmVsIHRvb2xzIGFuZCB0ZXN0cwo+ ID4gPiArc3BlY2lmaWNhbGx5IGZvciBkZXZlbG9wbWVudCBhbmQgdGVzdGluZyBvZiB0aGUgRFJN IERyaXZlcnMuCj4gPiA+ICsKPiA+ID4gK0lHVCBHUFUgVG9vbHMgaXMgc3BsaXQgaW50byBzZXZl cmFsIHNlY3Rpb25zOgo+ID4gPiArCj4gPiA+ICsqKmJlbmNobWFya3MvKioKPiA+ID4gKwo+ID4g PiArVGhpcyBpcyBhIGNvbGxlY3Rpb24gb2YgdXNlZnVsIG1pY3JvYmVuY2htYXJrcyB0aGF0IGNh biBiZSB1c2VkIHRvIHR1bmUKPiA+ID4gK0RSTSBjb2RlIGluIHJlbGV2YW50IHdheXMuCj4gPiA+ ICsKPiA+ID4gK1RoZSBiZW5jaG1hcmtzIHJlcXVpcmUgS01TIHRvIGJlIGVuYWJsZWQuICBXaGVu IHJ1biB3aXRoIGFuIFggU2VydmVyCj4gPiA+ICtydW5uaW5nLCB0aGV5IG11c3QgYmUgcnVuIGFz IHJvb3QgdG8gYXZvaWQgdGhlIGF1dGhlbnRpY2F0aW9uCj4gPiA+ICtyZXF1aXJlbWVudC4KPiA+ ID4gKwo+ID4gPiArTm90ZSB0aGF0IGEgZmV3IG90aGVyIG1pY3JvYmVuY2htYXJrcyBhcmUgaW4g dGVzdHMgKGxpa2UgZ2VtX2d0dF9zcGVlZCkuCj4gPiA+ICsKPiA+ID4gKyoqdGVzdHMvKioKPiA+ ID4gKwo+ID4gPiArVGhpcyBpcyBhIHNldCBvZiBhdXRvbWF0ZWQgdGVzdHMgdG8gcnVuIGFnYWlu c3QgdGhlIERSTSB0byB2YWxpZGF0ZQo+ID4gPiArY2hhbmdlcy4gTWFueSBvZiB0aGUgdGVzdHMg aGF2ZSBzdWJ0ZXN0cywgd2hpY2ggY2FuIGJlIGxpc3RlZCBieSB1c2luZwo+ID4gPiArdGhlIC0t bGlzdC1zdWJ0ZXN0cyBjb21tYW5kIGxpbmUgb3B0aW9uIGFuZCB0aGVuIHJ1biB1c2luZyB0aGUK PiA+ID4gKy0tcnVuLXN1YnRlc3Qgb3B0aW9uLiBJZiAtLXJ1bi1zdWJ0ZXN0IGlzIG5vdCB1c2Vk LCBhbGwgc3VidGVzdHMgd2lsbAo+ID4gPiArYmUgcnVuLiBTb21lIHRlc3RzIGhhdmUgZnV0aGVy IG9wdGlvbnMgYW5kIHRoZXNlIGFyZSBkZXRhaWxlZCBieSB1c2luZwo+ID4gPiArdGhlIC0taGVs cCBvcHRpb24uCj4gPiA+ICsKPiA+ID4gK1RoZSB0ZXN0IHN1aXRlIGNhbiBiZSBydW4gdXNpbmcg dGhlIHJ1bi10ZXN0cy5zaCBzY3JpcHQgYXZhaWxhYmxlIGluCj4gPiA+ICt0aGUgc2NyaXB0cyBk aXJlY3RvcnkuIFBpZ2xpdCBpcyB1c2VkIHRvIHJ1biB0aGUgdGVzdHMgYW5kIGNhbiBlaXRoZXIK PiA+ID4gK2JlIGluc3RhbGxlZCBmcm9tIHlvdXIgZGlzdHJpYnV0aW9uIChpZiBhdmFpbGFibGUp LCBvciBjYW4gYmUKPiA+ID4gK2Rvd25sb2FkZWQgbG9jYWxseSBmb3IgdXNlIHdpdGggdGhlIHNj cmlwdCBieSBydW5uaW5nOgo+ID4gPiArCj4gPiA+ICsgICAgLi9zY3JpcHRzL3J1bi10ZXN0cy5z aCAtZAo+ID4gPiArCj4gPiA+ICtydW4tdGVzdHMuc2ggaGFzIG9wdGlvbnMgZm9yIGZpbHRlcmlu ZyBhbmQgZXhjbHVkaW5nIHRlc3RzIGZyb20gdGVzdAo+ID4gPiArcnVuczoKPiA+ID4gKwo+ID4g PiArICAtdCA8cmVnZXg+ICAgICAgb25seSBpbmNsdWRlIHRlc3RzIHRoYXQgbWF0Y2ggdGhlIHJl Z3VsYXIgZXhwcmVzc2lvbgo+ID4gPiArICAteCA8cmVnZXg+ICAgICAgZXhjbHVkZSB0ZXN0cyB0 aGF0IG1hdGNoIHRoZSByZWd1bGFyIGV4cHJlc3Npb24KPiA+ID4gKwo+ID4gPiArVXNlZnVsIHBh dHRlcm5zIGZvciB0ZXN0IGZpbHRlcmluZyBhcmUgZGVzY3JpYmVkIGluIHRoZSBBUEkKPiA+ID4g K2RvY3VtZW50YXRpb24gYW5kIHRoZSBmdWxsIGxpc3Qgb2YgdGVzdHMgYW5kIHN1YnRlc3RzIGNh biBiZSBwcm9kdWNlZAo+ID4gPiArYnkgcGFzc2luZyAtbCB0byB0aGUgcnVuLXRlc3RzLnNoIHNj cmlwdC4KPiA+ID4gKwo+ID4gPiArUmVzdWx0cyBhcmUgd3JpdHRlbiB0byBhIEpTT04gZmlsZSBh bmQgYW4gSFRNTCBzdW1tYXJ5IGNhbiBhbHNvIGJlCj4gPiA+ICtjcmVhdGVkIGJ5IHBhc3Npbmcg LXMgdG8gdGhlIHJ1bi10ZXN0cy5zaCBzY3JpcHQuIEZ1cnRoZXIgb3B0aW9ucyBhcmUKPiA+ID4g K2FyZSBkZXRhaWxlZCBieSB1c2luZyB0aGUgLWggb3B0aW9uLgo+ID4gPiArCj4gPiA+ICsKPiA+ ID4gK0lmIG5vdCB1c2luZyB0aGUgc2NyaXB0LCBwaWdsaXQgY2FuIGJlIG9idGFpbmVkIGZyb206 Cj4gPiA+ICsKPiA+ID4gKyAgICBnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9waWdsaXQK PiA+ID4gKwo+ID4gPiArVGhlcmUgaXMgbm8gbmVlZCB0byBidWlsZCBhbmQgaW5zdGFsbCBwaWds aXQgaWYgaXQgaXMgb25seSBnb2luZyB0byBiZQo+ID4gPiArdXNlZCBmb3IgcnVubmluZyBpLWct dCB0ZXN0cy4KPiA+ID4gKwo+ID4gPiArU2V0IHRoZSBJR1RfVEVTVF9ST09UIGVudmlyb25tZW50 IHZhcmlhYmxlIHRvIHBvaW50IHRvIHRoZSB0ZXN0cwo+ID4gPiArZGlyZWN0b3J5LCBvciBzZXQg dGhlIHBhdGgga2V5IGluIHRoZSAiaWd0IiBzZWN0aW9uIG9mIHBpZ2xpdC5jb25mIHRvCj4gPiA+ ICt0aGUgaWd0LWdwdS10b29scyByb290IGRpcmVjdG9yeS4KPiA+ID4gKwo+ID4gPiArVGhlIHRl c3RzIGluIHRoZSBpLWctdCBzb3VyY2VzIG5lZWQgdG8gaGF2ZSBiZWVuIGJ1aWx0IGFscmVhZHku IFRoZW4gd2UKPiA+ID4gK2NhbiBydW4gdGhlIHRlc3RjYXNlcyB3aXRoIChhcyB1c3VhbCBhcyBy b290LCBubyBvdGhlciBkcm0gY2xpZW50cwo+ID4gPiArcnVubmluZyk6Cj4gPiA+ICsKPiA+ID4g KyAgICBwaWdsaXQtc291cmNlcyAjIC4vcGlnbGl0IHJ1biBpZ3QgPHJlc3VsdHMtZmlsZT4KPiA+ ID4gKwo+ID4gPiArVGhlIHRlc3RsaXN0IGlzIGJ1aWx0IGF0IHJ1bnRpbWUsIHNvIG5vIG5lZWQg dG8gdXBkYXRlIGFueXRoaW5nIGluCj4gPiA+ICtwaWdsaXQgd2hlbiBhZGRpbmcgbmV3IHRlc3Rz LiBTZWUKPiA+IAo+ID4gYGBgYmFzaAo+ID4gCj4gPiA+ICsKPiA+ID4gKyAgICBwaWdsaXQtc291 cmNlcyAkIC4vcGlnbGl0IHJ1biAtaAo+ID4gPiArCj4gPiAKPiA+IGBgYAo+ID4gCj4gPiBJIGJl bGlldmUgYWxsIGJsb2NrcyB3aXRoIGNvbW1hbmQgbGluZXMgY291bGQgYmUgaW4gdGhlIG1hcmtk b3duIGJsb2NrCj4gPiBsaWtlIHRoaXMgYGBgYmFzaCBvciBzb21ldGhpbmcgbGlrZSB0aGF0Lgo+ IAo+IEkgdHJpZWQgdG8gZG8gdGhhdCAoeW91IG5lZWQgNCBzcGFjZXMgb2YgaW5kZW50IGF0IGxl YXN0KS4gRGlkIEkgbWlzcyBvbmU/Cj4gT3IgSSdtIG5vdCBlbnRpcmVseSBmb2xsb3dpbmcgLi4u CgphaCBjb29sLi4uIEkgZGlkbid0IGtub3cgdGhpcyBwb3NzaWJpbGl0eS4KCmp1c3QgaWdub3Jl IG1lIDspCgpUaGFua3MsClJvZHJpZ28KCj4gLURhbmllbAo+IAo+ID4gCj4gPiBCdXQgdGhpcyBj YW4gYmUgZG9uZSBpbiBhIGZvbGxvdy11cCBzaW5jZSBpdCBnZXRzIGVhc2llciB0byByZXZpZXcK PiA+IEkgdGhpbmsuLi4KPiA+IAo+ID4gc286Cj4gPiAKPiA+IFJldmlld2VkLWJ5OiBSb2RyaWdv IFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gPiAKPiA+IAo+ID4gPiArZm9yIHNvbWUg dXNlZnVsIG9wdGlvbnMuCj4gPiA+ICsKPiA+ID4gK1BpZ2xpdCBvbmx5IHJ1bnMgYSBkZWZhdWx0 IHNldCBvZiB0ZXN0cyBhbmQgaXMgdXNlZnVsIGZvciByZWdyZXNzaW9uCj4gPiA+ICt0ZXN0aW5n LiBPdGhlciB0ZXN0cyBub3QgcnVuIGFyZToKPiA+ID4gKy0gdGVzdHMgdGhhdCBtaWdodCBoYW5n IHRoZSBncHUsIHNlZSBIQU5HIGluIE1ha2VmaWxlLmFtCj4gPiA+ICstIGdlbV9zdHJlc3MsIGEg c3RyZXNzIHRlc3Qgc3VpdGUuIExvb2sgYXQgdGhlIHNvdXJjZSBmb3IgYWxsIHRoZQo+ID4gPiAr ICB2YXJpb3VzIG9wdGlvbnMuCj4gPiA+ICstIHRlc3RkaXNwbGF5IGlzIG9ubHkgcnVuIGluIHRo ZSBkZWZhdWx0IG1vZGUuIHRlc3RkaXNwbGF5IGhhcyB0b25zIG9mCj4gPiA+ICsgIG9wdGlvbnMg dG8gdGVzdCBkaWZmZXJlbnQga21zIGZ1bmN0aW9uYWxpdHksIGFnYWluIHJlYWQgdGhlIHNvdXJj ZSBmb3IKPiA+ID4gKyAgdGhlIGRldGFpbHMuCj4gPiA+ICsKPiA+ID4gKyoqbGliLyoqCj4gPiA+ ICsKPiA+ID4gK0NvbW1vbiBoZWxwZXIgZnVuY3Rpb25zIGFuZCBoZWFkZXJzIHVzZWQgYnkgdGhl IG90aGVyIHRvb2xzLgo+ID4gPiArCj4gPiA+ICsqKm1hbi8qKgo+ID4gPiArCj4gPiA+ICtNYW5w YWdlcywgdW5mb3J0dW5hdGVseSByYXRoZXIgaW5jb21wbGV0ZS4KPiA+ID4gKwo+ID4gPiArKip0 b29scy8qKgo+ID4gPiArCj4gPiA+ICtUaGlzIGlzIGEgY29sbGVjdGlvbiBvZiBkZWJ1Z2dpbmcg dG9vbHMgdGhhdCBoYWQgcHJldmlvdXNseSBiZWVuCj4gPiA+ICtidWlsdCB3aXRoIHRoZSAyRCBk cml2ZXIgYnV0IG5vdCBzaGlwcGVkLiAgU29tZSBkaXN0cm9zIHdlcmUgaGFja2luZwo+ID4gPiAr dXAgdGhlIDJEIGJ1aWxkIHRvIHNoaXAgdGhlbS4gIEluc3RlYWQsIGhlcmUncyBhIHNlcGFyYXRl IHBhY2thZ2UgZm9yCj4gPiA+ICtwZW9wbGUgZGVidWdnaW5nIHRoZSBkcml2ZXIuCj4gPiA+ICsK PiA+ID4gK1RoZXNlIHRvb2xzIGdlbmVyYWxseSBtdXN0IGJlIHJ1biBhcyByb290LCBleGNlcHQg Zm9yIHRoZSBvbmVzIHRoYXQganVzdAo+ID4gPiArZGVjb2RlIGR1bXBzLgo+ID4gPiArCj4gPiA+ ICsqKmRlYnVnZ2VyLyoqCj4gPiA+ICsKPiA+ID4gK1RoaXMgdG9vbCBpcyB0byBiZSB1c2VkIHRv IGRvIHNoYWRlciBkZWJ1Z2dpbmcuIEl0IGFjdHMgbGlrZSBhCj4gPiA+ICtkZWJ1ZyBzZXJ2ZXIg YWNjZXB0aW5nIGNvbm5lY3Rpb25zIGZyb20gZGVidWcgY2xpZW50cyBzdWNoIGFzCj4gPiA+ICtt ZXNhLiBUaGUgY29ubmVjdGlvbnMgaXMgbWFkZSB3aXRoIHVuaXggZG9tYWluIHNvY2tldHMsIGFu ZCBhdCBzb21lCj4gPiA+ICtwb2ludCBpdCB3b3VsZCBiZSBuaWNlIGlmIHRoaXMgZGlyZWN0b3J5 IGNvbnRhaW5lZCBhIGxpYnJhcnkgZm9yCj4gPiA+ICtpbml0aWF0aW5nIGNvbm5lY3Rpb25zIHdp dGggZGVidWcgY2xpZW50cy4uCj4gPiA+ICsKPiA+ID4gK1RoZSBkZWJ1Z2dlciBtdXN0IGJlIHJ1 biBhcyByb290OiAic3VkbyBkZWJ1Z2dlci9ldWRiIgo+ID4gPiArCj4gPiA+ICsqKmRvY3MvKioK PiA+ID4gKwo+ID4gPiArQ29udGFpbnMgdGhlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGlndC1n cHUtdG9vbHMgbGlicmFyaWVzCj4gPiA+ICtyZWZlcmVuY2UgZG9jdW1lbnRhdGlvbiBpbiBkb2Nz L3JlZmVyZW5jZS8uIFlvdSBuZWVkIHRvIGhhdmUgdGhlCj4gPiA+ICtndGstZG9jIHRvb2xzIGlu c3RhbGxlZCBhbmQgdXNlIHRoZSAiLS1lbmFibGUtZ3RrLWRvYyIgY29uZmlndXJlIGZsYWcKPiA+ ID4gK3RvIGdlbmVyYXRlIHRoaXMgQVBJIGRvY3VtZW50YXRpb24uCj4gPiA+ICsKPiA+ID4gK1Rv IHJlZ2VuZXJhdGUgdGhlIGh0bWwgZmlsZXMgd2hlbiB1cGRhdGluZyBkb2N1bWVudGF0aW9uLCB1 c2U6Cj4gPiA+ICsKPiA+ID4gKyAgICAkIG1ha2UgY2xlYW4gLUMgZG9jcyAmJiBtYWtlIC1DIGRv Y3MKPiA+ID4gKwo+ID4gPiArSWYgeW91J3ZlIGFkZGVkL2NoYW5nZWQvcmVtb3ZlZCBhIHN5bWJv bCBvciBhbnl0aGluZyBlbHNlIHRoYXQgY2hhbmdlcwo+ID4gPiArdGhlIG92ZXJhbGwgc3RydWN0 dXJlIG9yIGluZGV4ZXMsIHRoaXMgbmVlZHMgdG8gYmUgcmVmbGVjdGVkIGluCj4gPiA+ICtpZ3Qt Z3B1LXRvb2xzLXNlY3Rpb25zLnR4dC4gRW50aXJlbHkgbmV3IHNlY3Rpb25zIHdpbGwgYWxzbyBu ZWVkIHRvIGJlCj4gPiA+ICthZGRlZCB0byBpZ3QtZ3B1LXRvb2xzLWRvY3MueG1sIGluIHRoZSBh cHByb3ByaWF0ZSBwbGFjZS4KPiA+ID4gKwo+ID4gPiArKippbmNsdWRlL2RybS11YXBpKioKPiA+ ID4gKwo+ID4gPiArSW1wb3J0ZWQgRFJNIHVhcGkgaGVhZGVycyBmcm9tIGFpcmxpZWQncyBkcm0t bmV4dCBicmFuY2guCj4gPiA+ICtUaGVzZSBzaG91bGQgYmUgdXBkYXRlZCBhbGwgdG9nZXRoZXIg YnkgZXhlY3V0aW5nICJtYWtlCj4gPiA+ICtoZWFkZXJzX2luc3RhbGwiIGZyb20gdGhhdCBicmFu Y2ggb2YgdGhlIGtlcm5lbCBhbmQgdGhlbgo+ID4gPiArY29weWluZyB0aGUgcmVzdWx0aW5nIC4v dXNyL2luY2x1ZGUvZHJtLyouaCBpbiBhbmQgY29tbWl0dGluZwo+ID4gPiArd2l0aCBhIG5vdGUg b2Ygd2hpY2ggY29tbWl0IG9uIGFpcmxpZWQncyBicmFuY2ggd2FzIHVzZWQgdG8KPiA+ID4gK2dl bmVyYXRlIHRoZW0uCj4gPiA+ICsKPiA+ID4gKwo+ID4gPiArUmVxdWlyZW1lbnRzCj4gPiA+ICst LS0tLS0tLS0tLS0KPiA+ID4gKwo+ID4gPiArVGhpcyBpcyBhIG5vbi1leGhhdXN0aXZlIGxpc3Qg b2YgcGFja2FnZSBkZXBlbmRlbmNpZXMgcmVxdWlyZWQgZm9yIGJ1aWxkaW5nCj4gPiA+ICt0aGUg ZGVmYXVsdCBjb25maWd1cmF0aW9uIChwYWNrYWdlIG5hbWVzIG1heSB2YXJ5KToKPiA+ID4gKwo+ ID4gPiArCWd0ay1kb2MtdG9vbHMKPiA+ID4gKwlsaWJjYWlybzItZGV2Cj4gPiA+ICsJbGliZHJt LWRldgo+ID4gPiArCWxpYmttb2QtZGV2Cj4gPiA+ICsJbGlicGl4bWFuLTEtZGV2Cj4gPiA+ICsJ bGlicGNpYWNjZXNzLWRldgo+ID4gPiArCWxpYnByb2Nwcy1kZXYKPiA+ID4gKwlsaWJ1bndpbmQt ZGV2Cj4gPiA+ICsJbGliZHctZGV2Cj4gPiA+ICsJcHl0aG9uLWRvY3V0aWxzCj4gPiA+ICsJeDEx cHJvdG8tZHJpMi1kZXYKPiA+ID4gKwl4dXRpbHMtZGV2Cj4gPiA+ICsKPiA+ID4gK1RoZSBmb2xs b3dpbmcgZGVwZW5kZW5jaWVzIGFyZSByZXF1aXJlZCBmb3IgYnVpbGRpbmcgY2hhbWVsaXVtIHN1 cHBvcnQKPiA+ID4gKyhwYWNrYWdlIG5hbWVzIG1heSB2YXJ5KToKPiA+ID4gKwo+ID4gPiArCWxp YnhtbHJwYy1jb3JlLWMzLWRldgo+ID4gPiArCWxpYnVkZXYtZGV2Cj4gPiA+ICsJbGliZ2xpYjIu MC1kZXYKPiA+ID4gKwlsaWJnc2wtZGV2Cj4gPiA+ICsKPiA+ID4gK1RoZSBmb2xsb3dpbmcgZGVw ZW5kZW5jaWVzIGFyZSByZXF1aXJlcyBmb3IgYnVpbGRpbmcgYXVkaW8gc3VwcG9ydAo+ID4gPiAr KHBhY2thZ2UgbmFtZXMgbWF5IHZhcnkpOgo+ID4gPiArCj4gPiA+ICsJbGliYXNvdW5kMi1kZXYK PiA+ID4gKwlsaWJnc2wtZGV2Cj4gPiA+ICsKPiA+ID4gK01lc29uIGJ1aWxkIHN5c3RlbSBzdXBw b3J0Cj4gPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiArCj4gPiA+ICtDdXJy ZW50bHkgd2Ugc3VwcG9ydCBib3RoIG1lc29uIGFuZCBhdXRvbWFrZSBhcyBidWlsZCBzeXN0ZW1z LCBidXQgbWVzb24gaXMgdGhlCj4gPiA+ICtyZWNvbW1lbmRlZCBjaG9pY2UuIE9uZWxpbmVyIHRv IGdldCBzdGFydGVkOgo+ID4gPiArCj4gPiA+ICsgICAgJCBta2RpciBidWlsZCAmJiBtZXNvbiBi dWlsZCAmJiBjZCBidWlsZCAmJiBuaW5qYQo+ID4gPiArCj4gPiA+ICtOb3RlIHRoYXQgbWVzb24g aW5zaXN0IG9uIHNlcGFyYXRlIGJ1aWxkIGRpcmVjdG9yaWVzIGZyb20gdGhlIHNvdXJjZSB0cmVl Lgo+ID4gPiArCj4gPiA+ICtSdW5uaW5nIHNlbGZjaGVja3MgZm9yIGxpYi90ZXN0cyBhbmQgdGVz dHMvIGlzIGRvbmUgd2l0aAo+ID4gPiArCj4gPiA+ICsgICAgJCBjZCBidWlsZCAmJiBuaW5qYSB0 ZXN0Cj4gPiA+ICsKPiA+ID4gK05vdGUgdGhhdCB0aGlzIGRvZXNuJ3QgYWN0dWFsbHkgcnVuIHRo ZSB0ZXN0Y2FzZXMgaW4gdGVzdHMvOiBzY3JpcHRzL3J1bi10ZXN0cy5zaAo+ID4gPiArc2hvdWxk IGNvbnRpbnVlIHRvIGJlIHVzZWQgZm9yIHRoYXQuCj4gPiA+ICsKPiA+ID4gK0RvY3VtZW50YXRp b24gaXMgYnVpbHQgdXNpbmcKPiA+ID4gKwo+ID4gPiArICAgICQgY2QgYnVpbGQgJiYgbmluamEg JiYgbmluamEgaWd0LWdwdS10b29scy1kb2MKPiA+ID4gKwo+ID4gPiArTm90ZSB0aGF0IHRoZXJl J3MgYSBzZXR1cCBzY3JpcHQgc2ltaWxhciB0byAuL2F1dG9nZW4uc2ggd2hpY2ggY3JlYXRlcyBh Cj4gPiA+ICtjb21wYXRpYmlsaXR5IE1ha2VmaWxlIHdpdGggYSBmZXcgdXNlZnVsIGRlZmF1bHQg dGFyZ2V0czoKPiA+ID4gKwo+ID4gPiArICAgICQgLi9tZXNvbi5zaCBbbWFrZS1hcmd1bWVudHNd Cj4gPiA+ICsKPiA+ID4gK1JlbGVhc2VzIGZvciBtYWludGFpbmVycwo+ID4gPiArLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gPiA+ICsKPiA+ID4gKygxLjE0KQo+ID4gPiArCj4gPiA+ICtodHRw Oi8vd3d3Lngub3JnL3dpa2kvRGV2ZWxvcG1lbnQvRG9jdW1lbnRhdGlvbi9SZWxlYXNlSE9XVE8v Cj4gPiA+IC0tIAo+ID4gPiAyLjE5LjEKPiA+ID4gCj4gPiA+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+IGlndC1kZXYgbWFpbGluZyBsaXN0Cj4g PiA+IGlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+IGh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo+IAo+IC0tIAo+IERhbmllbCBW ZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxv Zy5mZndsbC5jaAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gaWd0LWRldiBtYWlsaW5nIGxpc3QKPiBpZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRl dgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2 IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK