From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id AFE266E07E for ; Wed, 23 Jan 2019 11:33:33 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id x30so1432805edx.2 for ; Wed, 23 Jan 2019 03:33:33 -0800 (PST) Date: Wed, 23 Jan 2019 12:33:29 +0100 From: Daniel Vetter Message-ID: <20190123113329.GI3271@phenom.ffwll.local> References: <20190114083937.14822-1-emil.l.velikov@gmail.com> <20190118155844.GI3271@phenom.ffwll.local> <20190123111814.GH3271@phenom.ffwll.local> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190123111814.GH3271@phenom.ffwll.local> Subject: Re: [igt-dev] [PATCH i-g-t] tests/core_unauth_vs_render: new test for the relaxed DRM_AUTH handling 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: Emil Velikov Cc: IGT development , Daniel Vetter List-ID: T24gV2VkLCBKYW4gMjMsIDIwMTkgYXQgMTI6MTg6MTRQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBUdWUsIEphbiAyMiwgMjAxOSBhdCAwNTo0NDowMlBNICswMDAwLCBFbWlsIFZl bGlrb3Ygd3JvdGU6Cj4gPiBPbiBGcmksIDE4IEphbiAyMDE5IGF0IDE1OjU4LCBEYW5pZWwgVmV0 dGVyIDxkYW5pZWxAZmZ3bGwuY2g+IHdyb3RlOgo+ID4gPgo+ID4gPiBPbiBNb24sIEphbiAxNCwg MjAxOSBhdCAwODozOTozN0FNICswMDAwLCBFbWlsIFZlbGlrb3Ygd3JvdGU6Cj4gPiA+ID4gRnJv bTogRW1pbCBWZWxpa292IDxlbWlsLnZlbGlrb3ZAY29sbGFib3JhLmNvbT4KPiA+ID4gPgo+ID4g PiA+IEFzIHRoZSBpbmxpbmUgY29tbWVudCBzYXlzLCB0aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl IGtlcm5lbCBhbGxvd3MKPiA+ID4gPiB1bmF1dGhlbnRpY2F0ZWQgbWFzdGVyIHdpdGggcmVuZGVy IGNhcGFibGUsIFJFTkRFUl9BTExPVyBpb2N0bHMuCj4gPiA+ID4KPiA+ID4gPiBUaGUga2VybmVs IGNvbW1pdCBoYXMgZXh0cmEgZGV0YWlscyB3aHkuCj4gPiA+ID4KPiA+ID4gPiBTaWduZWQtb2Zm LWJ5OiBFbWlsIFZlbGlrb3YgPGVtaWwudmVsaWtvdkBjb2xsYWJvcmEuY29tPgo+ID4gPgo+ID4g PiBTb3JyeSBmb3IgdGhlIGxhdGUgcmVwbHksIGdvdCBkaXN0cmFjdGVkIGFuZCBhbGwgdGhhdCA6 LS8KPiA+ID4KPiA+IExvb2tpbmcgYXQgdGhlIHJlcGx5IEkgdW5kZXJzdGFuZCB3aHkgOi1QCj4g PiAKPiA+ID4gPiAtLS0KPiA+ID4gPiAgdGVzdHMvY29yZV91bmF1dGhfdnNfcmVuZGVyLmMgfCAx MDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gPiA+ICB0ZXN0cy9tZXNv bi5idWlsZCAgICAgICAgICAgICB8ICAgMSArCj4gPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMTA5 IGluc2VydGlvbnMoKykKPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2NvcmVfdW5h dXRoX3ZzX3JlbmRlci5jCj4gPiA+ID4KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZV91 bmF1dGhfdnNfcmVuZGVyLmMgYi90ZXN0cy9jb3JlX3VuYXV0aF92c19yZW5kZXIuYwo+ID4gPiA+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+ID4gaW5kZXggMDAwMDAwMDAuLmE3ZDcwZDc3Cj4g PiA+ID4gLS0tIC9kZXYvbnVsbAo+ID4gPiA+ICsrKyBiL3Rlc3RzL2NvcmVfdW5hdXRoX3ZzX3Jl bmRlci5jCj4gPiA+ID4gQEAgLTAsMCArMSwxMDggQEAKPiA+ID4gPiArLyoKPiA+ID4gPiArICog Q29weXJpZ2h0IDIwMTggQ29sbGFib3JhLCBMdGQKPiA+ID4gPiArICoKPiA+ID4gPiArICogUGVy bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g b2J0YWluaW5nIGEKPiA+ID4gPiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lh dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKPiA+ID4gPiArICogdG8g ZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhv dXQgbGltaXRhdGlvbgo+ID4gPiA+ICsgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5 LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKPiA+ID4gPiArICogYW5k L29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRv IHdob20gdGhlCj4gPiA+ID4gKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi amVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gPiA+ID4gKyAqCj4gPiA+ID4gKyAq IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChp bmNsdWRpbmcgdGhlIG5leHQKPiA+ID4gPiArICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRl ZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQo+ID4gPiA+ICsg KiBTb2Z0d2FyZS4KPiA+ID4gPiArICoKPiA+ID4gPiArICogVEhFIFNPRlRXQVJFIElTIFBST1ZJ REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKPiA+ ID4gPiArICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO VElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gPiA+ID4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAo+ID4g PiA+ICsgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO WSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgo+ID4gPiA+ICsgKiBMSUFCSUxJVFksIFdIRVRIRVIg SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwo+ID4g PiA+ICsgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBP UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCj4gPiA+ID4gKyAqIElOIFRIRSBTT0ZUV0FSRS4K PiA+ID4gPiArICoKPiA+ID4gPiArICogQXV0aG9yczoKPiA+ID4gPiArICogICBFbWlsIFZlbGlr b3YgPGVtaWwudmVsaWtvdkBjb2xsYWJvcmEuY29tPgo+ID4gPiA+ICsgKi8KPiA+ID4gPiArCj4g PiA+ID4gKy8qCj4gPiA+ID4gKyAqIFRlc3RjYXNlOiBSZW5kZXIgY2FwYWJsZSwgdW5hdXRoZW50 aWNhdGVkIG1hc3RlciBkb2Vzbid0IHRocm93IC1FQUNDRVMgZm9yCj4gPiA+ID4gKyAqIERSTV9S RU5ERVJfQUxMT1cgaW9jdGxzLgo+ID4gPiA+ICsgKi8KPiA+ID4gPiArCj4gPiA+ID4gKyNpbmNs dWRlICJpZ3QuaCIKPiA+ID4gPiArI2luY2x1ZGUgPHVuaXN0ZC5oPgo+ID4gPiA+ICsjaW5jbHVk ZSA8c3RkbGliLmg+Cj4gPiA+ID4gKyNpbmNsdWRlIDxzdGRpbnQuaD4KPiA+ID4gPiArI2luY2x1 ZGUgPHN0ZGlvLmg+Cj4gPiA+ID4gKyNpbmNsdWRlIDxzdHJpbmcuaD4KPiA+ID4gPiArI2luY2x1 ZGUgPHNpZ25hbC5oPgo+ID4gPiA+ICsjaW5jbHVkZSA8ZmNudGwuaD4KPiA+ID4gPiArI2luY2x1 ZGUgPGludHR5cGVzLmg+Cj4gPiA+ID4gKyNpbmNsdWRlIDxlcnJuby5oPgo+ID4gPiA+ICsjaW5j bHVkZSA8c3lzL3N0YXQuaD4KPiA+ID4gPiArI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgo+ID4gPiA+ ICsjaW5jbHVkZSA8c3lzL3RpbWUuaD4KPiA+ID4gPiArI2luY2x1ZGUgPHN5cy9wb2xsLmg+Cj4g PiA+ID4gKyNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KPiA+ID4gPiArI2luY2x1ZGUgImRybS5o Igo+ID4gPiA+ICsKPiA+ID4gPiArSUdUX1RFU1RfREVTQ1JJUFRJT04oIkNhbGwgWFhYIGZyb20g dW5hdXRoZW50aWNhdGVkIG1hc3RlciBkb2Vzbid0IHJldHVybiAtRUFDQ0VTLiIpOwo+ID4gPiA+ ICsKPiA+ID4gPiArc3RhdGljIHZvaWQgdGVzdF91bmF1dGhfdnNfcmVuZGVyKGludCBtYXN0ZXIp Cj4gPiA+ID4gK3sKPiA+ID4gPiArICAgICBpbnQgc2xhdmU7Cj4gPiA+ID4gKyAgICAgaW50IHBy aW1lX2ZkOwo+ID4gPiA+ICsgICAgIHVpbnQzMl90IGhhbmRsZTsKPiA+ID4gPiArCj4gPiA+ID4g KyAgICAgLyoKPiA+ID4gPiArICAgICAgKiBUaGUgc2Vjb25kIG9wZW4oKSBoYXBwZW5zIHdpdGhv dXQgQ0FQX1NZU19BRE1JTiwgdGh1cyBpdAo+ID4gPiA+ICsgICAgICAqIHdpbGwgbm90IGJlIGF1 dGhlbnRpY2F0ZWQuCj4gPiA+ID4gKyAgICAgICovCj4gPiA+ID4gKyAgICAgc2xhdmUgPSBkcm1f b3Blbl9kcml2ZXIoRFJJVkVSX0FOWSk7IC8vIFhYWDogcmVsYXRlIHRvIHRoZSBtYXN0ZXIgZ2l2 ZW4/Cj4gPiA+ID4gKyAgICAgaWd0X3JlcXVpcmUoc2xhdmUgPj0gMCk7Cj4gPiA+ID4gKwo+ID4g PiA+ICsgICAgIC8qIElzc3VpbmcgdGhlIGZvbGxvd2luZyBpb2N0bCB3aWxsIGZhaWwsIG5vIGRv dWJ0IGFib3V0IGl0LiAqLwo+ID4gPiA+ICsgICAgIGlndF9hc3NlcnQoZHJtUHJpbWVGRFRvSGFu ZGxlKHNsYXZlLCBwcmltZV9mZCwgJmhhbmRsZSkgPCAwKTsKPiA+ID4gPiArCj4gPiA+ID4gKyAg ICAgLyoKPiA+ID4gPiArICAgICAgKiBVcGRhdGVkIGtlcm5lbHMgYWxsb3cgcmVuZGVyIGNhcGFi bGUsIHVuYXV0aGVudGljYXRlZAo+ID4gPiA+ICsgICAgICAqIG1hc3RlciB0byBpc3N1ZSBEUk1f QVVUSCBpb2N0bHMgKGxpa2UgdGhlIGFib3ZlKSwgYXMgbG9uZyBhcwo+ID4gPiA+ICsgICAgICAq IHRoZXkgYXJlIGFubm90YXRlZCBhcyBEUk1fUkVOREVSX0FMTE9XLgo+ID4gPiA+ICsgICAgICAq Cj4gPiA+ID4gKyAgICAgICogT2xkZXIgb25lcyB0aHJvdyAtRUFDQ0VTLgo+ID4gPiA+ICsgICAg ICAqLwo+ID4gPiA+ICsgICAgIGlndF9hc3NlcnQoZXJybm8gIT0gRUFDQ0VTKTsKPiA+ID4gPiAr Cj4gPiA+ID4gKyAgICAgY2xvc2Uoc2xhdmUpOwo+ID4gPgo+ID4gPiBIbSBJIHRoaW5rIHdlIG5l ZWQgYSBtb3JlIHN0cmljdCB0ZXN0Y2FzZSBoZXJlLiBXaGF0IEkgbGlrZSBkb2luZyBpcwo+ID4g PiBkb2luZyB0aGUgZXhhY3Qgc2FtZSBpb2N0bCB0d2ljZSwgb25jZSB3aGVyZSBpdCBzaG91bGQg ZmFpbCwgYW5kIG9uY2UKPiA+ID4gd2hlcmUgaXQgZG9lc24ndCBmYWlsLiBXZSBhbHNvIG5lZWQg dG8gY2hlY2sgZm9yIHJlbmRlcl9hbGxvdyBoZXJlCj4gPiA+IHNvbWVob3csIG9yIHRoaXMgd2ls bCBmYWlsIG9uIHNvbWUgZHJpdmVycy4gRXhjZXB0IGZvciB0aGlzIGNhc2UgaGVyZSB3ZQo+ID4g PiB3YW50IGl0IHRvIHN1Y2NlZWQgYm90aCB0aW1lcywgYnV0IG9uY2UgYXV0aGVudGljYXRlZCBh bmQgb25jZSB3aGVyZSB3ZSd2ZQo+ID4gPiBtYWRlIHN1cmUgd2UncmUgbm90IGF1dGhlbnRpY2F0 ZWQuCj4gPiA+Cj4gPiA+IEkgdGhpbmsgdGhlIGZvbGxvd2luZyBzaG91bGQgZ2l2ZSB1cyBhIHNv bGlkIHRlc3RjYXNlOgo+ID4gPgo+ID4gPiAxLiBpZ3RfcmVxdWlyZShnZXRjYXAoRFJNX0NBUF9Q UklNRSkpCj4gPiA+Cj4gPiA+IDIuIE9wZW4gdGhlIHByaW1hcnkgbm9kZSwgbWFrZSBzdXJlIHdl J3JlIGF1dGhlbnRpY2F0ZWQgKHJldXNpbmcKPiA+ID4gY2hlY2tfYXV0aCBmcm9tIGNvcmVfZ2V0 X2NsaWVudF9hdXRoIHNob3VsZCBoZWxwKS4gTWFrZSBzdXJlIGEgcmVuZGVyIG5vZGUKPiA+ID4g Zm9yIHRoaXMgcHJpbWFyeSBub2RlIGV4aXN0cywgaWd0X3NraXAgaWYgdGhhdCdzIG5vdCB0aGUg Y2FzZS4gTWlnaHQgbmVlZAo+ID4gPiBhIG5ldyBsaWJyYXJ5IGZ1bmN0aW9uLiBXZSBuZWVkIHRo aXMgdG8gaGFuZGxlIHJlbmRlci1sZXNzIGRyaXZlcnMsIHdoaWNoCj4gPiA+IGlzIHRoZSBzdGFu ZGFyZCBmb3Iga21zLW9ubHkgZHJtIGRyaXZlcnMuCj4gPiA+Cj4gPiBIb3cgZG8geW91IGVudmlz aW9uIHRoZSBjYXJkKiB0byByZW5kZXJEKiBoZWxwZXI/IFNob3VsZCBJIGdvIHdpdGggdGhlCj4g PiBtaW5vcihyZGV2KSAmIDB4ODAgaGFjaywgdXNlIHRoZSBsaWJkcm0gaGVscGVycyBvciBzb21l dGhpbmcgZWxzZT8KPiAKPiBJIHRoaW5rIGl0J3MgbWlub3IocmRldikgKyAweDgwLCBidXQgeWVh aCBJIHRoaW5rIHRoYXQncyBvZmZpY2lhbCB1YXBpIG5vdwo+IDotLwo+IAo+ID4gQSBzaW1wbGUg ZHJtX29wZW5fZHJpdmVyKCkgb3BlbnMgL2Rldi9kcmkvY2FyZDAgdHdpY2UsIHdoZW4gdXNpbmcg dGhlCj4gPiBkcm1fb3Blbl9kcml2ZXJfbWFzdGVyIHdlIGVuZCB1cCB3aXRoIGFuIGV4dHJhIG9w ZW4oKS4KPiA+IFRoZSBrZXJuZWwgZHJtX2dldGNsaWVudCgpIHdhcyBob2xsb3dlZC1vdXQgc2V2 ZXJlbHkgKGNvbW1pdAo+ID4gNzE5NTI0ZGY0YTJlNDhmYTdjYTNhZDE2OTdmZDlhN2Y4NWVjOGFk MyksIHNvIEknbSBub3Qgc3VyZSBpZi9ob3cKPiA+IHJlbGlhYmx5IHdlIGNhbiB1c2UgdGhhdC4K PiAKPiBJIHdyb3RlIHRoYXQgaWd0IHRvIHZhbGlkYXRlIHRoZSBob2xsb3dlZC1vdXQgZ2V0Y2xp ZW50LCBhbmQgaXQncyB1c2VkIGJ5Cj4gbGlidmEgKHNvbWVob3cgYWxsIHRoZXNlIGhhY2tzIGFy ZSB1c2VkIGJ5IGxpYnZhKSB0byBjaGVjayB3aGV0aGVyIGl0J3MKPiBhdXRoZW50aWNhdGVkLiBT byBzaG91bGQgYmUgYWNjdXJhdGUgSSBob3BlLgo+IAo+ID4gVGhhdCdzIHdoeSBJIHVzZWQgaWd0 X2RlYnVnZnNfZHVtcCgpIHRvIHByaW50IHRoZSBzdGF0ZSA7LSkKPiAKPiBZZWFoLCBidXQgZm9y IGlndCBJIHdhbnQgdGVzdHMgdGhhdCBjaGVjayB0aGVtc2VsdmVzLCBub3QKPiBodW1hbnMtaW4t dGhlLWxvb3Agc3R1ZmYuIFRoZSBpbnRlcmFjdGl2ZS9kZWJ1ZyBzdHVmZiBpcyB1c2VmdWwgZm9y IGh1bWFucwo+IHRvIGRlYnVnIHdoZW4gdGhpbmdzIGZhaWwuCj4gCj4gPiA+IDMuIEZEMkhBTkRM RSB3aXRoIC0xIGFzIGhhbmRsZSBzaG91bGQgYWx3YXlzIGZhaWwgd2l0aCBFQkFERiwgc28gd2Ug Y2FuCj4gPiA+IGNoZWNrIGZvciB0aGF0IGV4YWN0IGVycm9yLiBJZiB3ZSBqdXN0IGNoZWNrIGZv ciBhbnl0aGluZyBnb2luZyB3cm9uZywKPiA+ID4gd2UnbGwgY2F0Y2ggbXVjaCBmZXdlciBidWdz Lgo+ID4gPgo+ID4gT3VjaCwgY291bGQgc3dlYXIgSSB1c2VkIC0xIGF0IHNvbWUgcG9pbnQuCj4g PiAKPiA+IFdoeSBjaGVjayBmb3IgRUJBREYgaW5zdGVhZCBvZiBFQUNDRVM/IEFmdGVyIGFsbCB3 ZSdyZSBpbnRlcmVzdGVkIGlmCj4gPiB0aGUgcGVybWlzc2lvbiBpcyBiZWluZyBoYW5kbGVkIGNv cnJlY3RseSBhbmQgZXZlcnl0aGluZyBlbHNlIGlzCj4gPiBleHRyYS4KPiA+IAo+ID4gPiA0LiBP cGVuIHRoZSBkZXZpY2UgYXMgbm9uLXJvb3QsIG1ha2Ugc3VyZSB3ZSBhcmUgX25vdF8gYXV0aGVu dGljYXRlZAo+ID4gPiAodXNpbmcgY2hlY2tfYXV0aCkuCj4gPiA+Cj4gPiA+IDUuIEZEMkhBTkRM RSBsaWtlIGluIDMsIGZhaWwgaWYgd2UgZ2V0IGFueXRoaW5nIGVsc2UgdGhhbiBFQkFERi4KPiA+ ID4KPiA+IE9yIHBlcmhhcHMga2VlcCB0aGUgRUJBREYgZm9yIDMgYW5kIHVzZSBFQUNDRVMgZm9y IGhlcmU/Cj4gCj4gVGhlIGlkZWEgYmVoaW5kIEVCQURGIGlzIHRoYXQgeW91IGNhbiBvbmx5IGdl dCB0aGF0IGZyb20gdGhlIGlvY3RsCj4gaW1wbGVtZW50YXRpb24sIHdoaWNoIG1lYW5zIHRoZSBj b3JlIGRybSBhdXRoIGNoZWNrcyBoYXZlIGJlZW4gcGFzc2VkCj4gYWxyZWFkeS4gU28gaXQncyBw b3NpdGl2ZSBjb25maXJtYXRpb24gdGhhdCB0aGUgY2hlY2tzIHdvcmsgYXMgaW50ZW5kZWQuCj4g Tm93IGlkZWFsbHkgd2UnZCB0ZXN0IG9uZSBjYXNlIHdoZXJlIHdlIGdldCBzdWNjZXNzIGFnYWlu c3Qgb25lIGNhc2Ugd2hlcmUKPiB3ZSBnZXQgYSBzcGVjaWZpYyBmYWlsdXJlIChzbyB0aGF0IGV2 ZW4gd2hlbiBzb21lb25lIGNvbXBsZXRlbHkgcmVvcmRlcnMKPiB0aGUgaW9jdGwgaW1wbGVtZW50 YXRpb24gd2UncmUgc3RpbGwgaGl0dGluZyB0aGUgcmlnaHQgY2FzZSBhbmQgdGhlIHRlc3QKPiBz dGlsbCB0ZXN0cyB3aGF0IGl0IHNob3VsZCB0ZXN0KS4gQnV0IEkgY291bGRuJ3QgY29tZSB1cCB3 aXRoIHNvbWV0aGluZwo+IGxpa2UgdGhhdDoKPiAKPiAtIENyZWF0aW5nIGEgZG1hLWJ1ZiB0aGF0 J3MgZ3VhcmFudGVlZCB0byB3b3JrIGZvciBpbXBvcnRpbmcgb3V0IG9mIHRoaW4KPiAgIGFpciBp cyBoYXJkLgo+IAo+IC0gV2l0aCB5b3VyIGtlcm5lbCBjaGFuZ2UgX2V2ZXJ5dGhpbmdfIHdvcmtz LCBhdCBsZWFzdCBpZiB3ZSBoYXZlIGEgcmVuZGVyCj4gICBub2RlIGNhcGFibGUgZHJpdmVyLiBT byB0aGVyZSdzIG5vdCByZWFsbHkgYW55IGtub3duLXRvLWZhaWwgY2FzZSBsZWZ0Cj4gICBhbnlt b3JlLgo+ICAKPiBCdXQgeWVhaCBpdCdzIG5vdCBwZXJmZWN0Lgo+IAo+IEkgZ3Vlc3MgaWYgeW91 IHdhbnQgdG8gY2hlY2sgZm9yIC1FQUNDRVNTIG1ha2UgYSAybmQgdGVzdCAob3IgbWVyZ2UgdGhl bSkKPiB3aGljaCBtYWtlcyBzdXJlIHRoYXQgaWYgd2UgaGF2ZSBhIG5vbi1yZW5kZXIgbm9kZSwg dGhlbiB3ZSBnZXQgYW4KPiBFQUNDRVNTLiBXb3VsZCBtZWFuIGEgcXVpY2sgdGVzdHJ1biBvbiBh IGRpc3BsYXktb25seSBkcm0gZHJpdmVyICh0aG9zZQo+IGFyZSBhbGwgbm9uLXJlbmRlcm5vZGUp IHRvIG1ha2Ugc3VyZSBpdCB3b3Jrcy4gQW5kIHdvdWxkIGJlIGFuIGV2ZW4gYmV0dGVyCj4gdGVz dCBJIHRoaW5rLgoKSSBqdXN0IHJlYWxpemVkIHRoYXQgYXMgc29vbiBhcyB5b3Ugb3BlbiBhIGZp bGUgYXMgcm9vdCB5b3UncmUKYXV0aGVudGljYXRlZCwgc28gdGhpcyB0ZXN0cyBub3RoaW5nLiBJ IHRoaW5rIHdlIG5lZWQgYSBuZXcKZHJtX29wZW5fYW55X25vbnJvb3QoKSwgd2hpY2ggZHJvcHMg Q0FQX1NZU19BRE1JTiAod2hpbGUgb3RoZXJ3aXNlIApzdGF5aW5nIGFzIHJvb3QsIGNhbid0IG9w ZW4gdGhlIG1rZGV2IG90aGVyd2lzZSBJIHRoaW5rKSBhbmQgdGhlbiByZXN0b3JlcwppdC4gT3Ig c29tZXRoaW5nIGxpa2UgdGhpcy4gVGJoIG5vdCBxdWl0ZSBzdXJlIGhvdyB0byBtYWtlIHRoaXMg aGFwcGVuCmV4YWN0bHkuCgpOb3RpY2VkIHdoaWxlIEkgd2FzIHRyeWluZyB0byBjcmVhdGUgYSBu ZXcgY2hlY2tfYXV0aCgpIHN1YnRlc3QgZm9yCm5vbi1yb290IG5vdCBiZWluZyBhdXRoZW50aWNh dGVkIGZyb20gdGhlIHN0YXJ0LCBhbmQgaXQgZGlkbid0IGZhaWwgbGlrZSBJCnRob3VnaHQgaXQg c2hvdWxkIDotKQoKU28gYSBzaW1wbGUKCglkcm1fb3Blbl9hbnkoKTsKCWlndF9kcm9wX3Jvb3Qo KTsKCkRvZXNuJ3QgY3V0IGl0IHVuZm9ydHVuYXRlbHkgOi0vCi1EYW5pZWwKCj4gCj4gPiAKPiA+ ID4KPiA+ID4gPiArfQo+ID4gPiA+ICsKPiA+ID4gPiArLyoKPiA+ID4gPiArICogQnkgZGVmYXVs dCBJR1QgaXMgZXhlY3V0ZWQgYXMgcm9vdC4KPiA+ID4KPiA+ID4gSXQncyBub3QganVzdCB0aGUg ZGVmYXVsdCwgaXQncyBhIGhhcmQgcmVxdWlyZW1lbnQuIFRoZSBydW5uZXIgaGFzIGNoZWNrcwo+ ID4gPiBmb3Igb3RoZXIgZHJtIGNsaWVudHMgYW5kIHdoZXRoZXIgeW91J3JlIHJvb3QgYW5kIGJh aWxzIG91dCBpZiB0aGF0J3Mgbm90Cj4gPiA+IHRoZSBjYXNlLiBMb3RzJmxvdHMgb2YgaWd0cyBi cmVhayBpZiB5b3UgcnVuIHRoZW0gYXMgbm9uLXJvb3Qgb3Igd2l0aAo+ID4gPiBvdGhlciBkcm0g Y2xpZW50cyBydW5uaW5nLiBPbmx5IHRoaW5nIHRoYXQncyBhbGxvd2VkIGlzIGVudW1lcmF0aW5n Cj4gPiA+IHN1YnRlc3RzIChiZWNhdXNlIHdlIG5lZWQgdGhhdCBvbiBvdXIgYnVpbGQgbWFjaGlu ZXMgdG8gZ2VuZXJhdGUgdGhlCj4gPiA+IHRlc3RsaXN0cykuCj4gPiA+Cj4gPiA+IHRsZHI7IFBs ZWFzZSBmb2xkIGluLgo+ID4gPgo+ID4gU3VyZSB3aWxsIGZvbGQuCj4gPiAKPiA+IE1vZHVsbyBh biBleGNlcHRpb24gb3IgdHdvLCBJR1QgdGVzdHMgb25seSByZXF1aXJlIGRlYnVnZnMgKHdyaXRl IHBlcm0KPiA+IGZvciBpOTE1KSBhbmQgdXNlciBpbiB0aGUgdmlkZW8gZ3JvdXAgKHRvIG9wZW4g dGhlIG5vZGUpLgo+ID4gVGhhdCdzIGJhc2VkIG9uIGEgcXVpY2sgbG9vay90ZXN0Lgo+ID4gCj4g PiBTaW5jZSBmZXcgZGlzdHJpYnV0aW9ucyBkb24ndCBydW4gdGhlIGRpc3BsYXkgc2VydmVyIGFu ZC9vciBjb21wb3NpdG9yCj4gPiBhcyByb290LCBpZGVhbGx5IElHVCB3aWxsIGdldCByb290LWZy ZWUgYXQgc29tZSBwb2ludC4KPiA+IEFrZSBJR1QgdGVzdGluZyB3aWxsIGJlIGNsb3NlciB0byBy ZWFsIHdvcmxkIHVzZS1jYXNlcy4KPiAKPiBJR1QgaXNudCBsaWtlIHBpZ2xpdCwgbW9zdCBvZiB0 aGUgdGVzdHMgY2hlY2sgZm9yIGNvcm5lciBjYXNlcyB3aGVyZSB5b3UKPiByZWFsbHkgY2FuJ3Qg aGF2ZSBhbnl0aGluZyBlbHNlIHRvdWNoaW5nIHRoZSBkaXNwbGF5IChlLmcuIGFueXRoaW5nIGtt cykuCj4gQmVpbmcgcm9vdCBpcyB0aGUgZWFzaWVzdCB3YXkgdG8gY2hlY2sgZm9yIHRoYXQgKGlu IGRlYnVnZnMsIGlmIHRoZXJlJ3MKPiBhbnkgb3RoZXIgZHJtIGNsaWVudCB0aGUgaWd0IHJ1bm5l ciBjb21wbGFpbnMmcXVpdHMpLiBJIGd1ZXNzIHRoZXJlJ3Mgc29tZQo+IGlndHMgd2hpY2ggY2Fu IGJlIHJ1biBsaWtlIHBpZ2xpdHMsIGJ1dCB0aG9zZSBhcmUgdGhlIHJhcmUgZXhjZXB0aW9ucy4K PiAKPiBOb3cgdGhlIGVudGlyZSAicnVuIGNvbXBvc2l0b3IgYXMgbm9uLXJvb3QiIGJ1c2luZXNz IGlzIGEgZ29vZCBwb2ludC4gV2UKPiBkbyBoYXZlIHNvbWUgaWd0cyB0aGF0IGRyb3AgQ0FQX1NZ U19BRE1JTiAoc2VlIGlndF9kcm9wX3Jvb3QoKSksIGJ1dCBub25lCj4gdGhhdCBtYWtlIHN1cmUg dGhpcyBob2xkcyBmb3Iga21zL2NvcmUgZnVuY3Rpb25hbGl0eS4gSXQncyBqdXN0IGEgZmV3Cj4g aTkxNS1nZW0gdGVzdHMuIFdvdWxkIGJlIGEgZ29vZCBnYXAgdG8gZmlsbCB0aG91Z2guIEkgdGhp bmsgZm9yIHRoZQo+IG5vbi1yZW5kZXJub2RlIEVBQ0NFU1MgdGVzdCB3ZSdsbCBuZWVkIHRoYXQg KHNpbmNlIHJvb3QgY2FuIGRvIHdoYXRldmVyKS4KPiAKPiA+ID4gPiBAQCAtMSw1ICsxLDYgQEAK PiA+ID4gPiAgdGVzdF9wcm9ncyA9IFsKPiA+ID4gPiAgICAgICAnY29yZV9hdXRoJywKPiA+ID4g PiArICAgICAnY29yZV91bmF1dGhfdnNfcmVuZGVyJywKPiA+ID4gPiAgICAgICAnY29yZV9nZXRf Y2xpZW50X2F1dGgnLAo+ID4gPgo+ID4gPiBJIHRoaW5rIGl0IHdvdWxkIG1ha2Ugc2Vuc2UgdG8g cHV0IGFsbCB0aGUgYXV0aCB0ZXN0cyBpbnRvIGNvcmVfYXV0aCwKPiA+ID4gdG9nZXRoZXIgd2l0 aCBjb3JlX2dldF9jbGllbnRfYXV0aC4gVGhhdCB3YXkgd2UgY2FuIGFsc28gcmV1c2UgdGhlCj4g PiA+IGNoZWNrX2F1dGggZnVuY3Rpb24gd2l0aG91dCBjb3B5cGFzdGluZyBpdC4KPiA+ID4KPiA+ IENvbnNpZGVyaW5nIG15IGx1Y2ssIEknbSB3ZWFyeSB0aGF0IGNvbWJpbmluZyB0aGluZ3Mgd2ls bCBvcGVuIGFub3RoZXIKPiA+IGNhbiBvZiB3b3Jtcy4KPiA+IERvIHlvdSBtaW5kIGlmIEkga2Vl cCB0aGUgdGVzdCBzZXBhcmF0ZSwgc28gdGhhdCB0aGUga2VybmVsIGZpeCBpc24ndCBibG9ja2Vk Pwo+ID4gCj4gPiBGb3IgZXhhbXBsZSwgdXNpbmcgZHJtX29wZW5fZHJpdmVyX21hc3RlciAoYXMg c2VlbiBpbiBjb3JlX2F1dGgpIGZvcgo+ID4gdGhlIHVuYXV0aF92c19yZW5kZXIgdGVzdCBkaWQg bm90IGdvIHdlbGwuCj4gPiBPdGhlciBpbnRlcmVzdGluZyBpc3N1ZXMgaW5jbHVkZSwgaWd0X2Zv cmsgYW5kIGlndF9za2lwKiAoaW1wbGljaXQKPiA+IGhpZGRlbiBpbiB0aGUgZHJtX29wZW5fZHJp dmVyIG1hemUpIGNvbmZsaWN0cy4KPiAKPiBIbSwgc2hvdWxkIHdvcmsuIEkganVzdCB3YW50ZWQg dG8gYXZvaWQgY29weXBhc3RlaW5nIHRoZSBjaGVja19hdXRoCj4gZnVuY3Rpb24uIFlvdSBuZWVk IHRvIGJlIHNvbWV3aGF0IGNhcmVmdWwgd2l0aCBtZXJnaW5nIHRoZW0gdGhvdWdoLCBuZWVkcwo+ IGFuIGlndF9zdWJ0ZXN0X2dyb3VwLiBJIGNhbiB0eXBlIHRoZSBwcmVwIHBhdGNoLiBPciBmb2xs b3cgdXAmcmViYXNlIG9uY2UKPiB0aGlzIGhhcyBsYW5kZWQsIGlmIHlvdSBwcmVmZXIuCj4gLURh bmllbAo+IC0tIAo+IERhbmllbCBWZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29y cG9yYXRpb24KPiBodHRwOi8vYmxvZy5mZndsbC5jaAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdh cmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGlu ZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=