From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Wood Subject: Re: [PATCH i-g-t] Add dmesg capture and dumping to tests and a test for it. Date: Wed, 18 Nov 2015 17:41:45 +0000 Message-ID: References: <1447680143-11895-1-git-send-email-joonas.lahtinen@linux.intel.com> <20151118154420.GC20799@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-io0-f169.google.com (mail-io0-f169.google.com [209.85.223.169]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6B5DF6E6FF for ; Wed, 18 Nov 2015 09:42:05 -0800 (PST) Received: by iofh3 with SMTP id h3so61630371iof.3 for ; Wed, 18 Nov 2015 09:42:04 -0800 (PST) In-Reply-To: <20151118154420.GC20799@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Intel graphics driver community testing & development List-Id: intel-gfx@lists.freedesktop.org T24gMTggTm92ZW1iZXIgMjAxNSBhdCAxNTo0NCwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xs LmNoPiB3cm90ZToKPiBPbiBNb24sIE5vdiAxNiwgMjAxNSBhdCAwMzoyMjoyM1BNICswMjAwLCBK b29uYXMgTGFodGluZW4gd3JvdGU6Cj4+IENjOiBUaG9tYXMgV29vZCA8dGhvbWFzLndvb2RAaW50 ZWwuY29tPgo+PiBDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4+ IENjOiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAaW50ZWwuY29tPgo+PiBTaWduZWQt b2ZmLWJ5OiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+ Cj4KPiBHaXZlbiB0aGF0IHdlIGhhdmUgYWxsIHRoYXQgaW4gcGlnbGl0IGFscmVhZHkgdGhlIGNv bW1pdCBtZXNzYWdlIGlzIGEgYml0Cj4gdGhpbiBvbiBqdXN0aWZpY2F0aW9uLiBXaHkgZG8gd2Ug bmVlZCB0aGlzIGluIGlndCB0b28/IEhvdyBkb2VzIHRoaXMKPiBpbnRlcmFjdCB3aXRoIHRoZSBw aWdsaXQgZG1lc2cgY2FwdHVyZT8KClRoZXJlIGFyZSBhIGZldyB0ZXN0cyB0aGF0IHJlbHkgb24g Y2hlY2tpbmcgZG1lc2cgdG8gZGV0ZXJtaW5lIGlmIHRoZQp0ZXN0IGZhaWxlZCAoc3VjaCBhcyBn ZW1faGFuZ2NoZWNrX2ZvcmNld2FrZSBhbmQga21zX2ZsaXBfZXZlbnRfbGVhaykuCkFsdGhvdWdo IG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIHBhdGNoLCBpdCBtaWdodCBiZSB1c2VmdWwgdG8gdXNl IHRoaXMKZmVhdHVyZSB0byBhY3R1YWxseSByZXBvcnQgYSBmYWlsdXJlIGluIHRob3NlIGNhc2Vz LgoKCj4KPj4gLS0tCj4+ICBsaWIvaWd0X2NvcmUuYyAgICAgICAgIHwgMTEzICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KPj4gIHRlc3RzL01ha2VmaWxl LnNvdXJjZXMgfCAgIDEgKwo+PiAgdGVzdHMvaWd0X2NhcHR1cmUuYyAgICB8ICA5MyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+ICAzIGZpbGVzIGNoYW5nZWQsIDIw MCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRl c3RzL2lndF9jYXB0dXJlLmMKPj4KPj4gZGlmZiAtLWdpdCBhL2xpYi9pZ3RfY29yZS5jIGIvbGli L2lndF9jb3JlLmMKPj4gaW5kZXggMDRhMGFiMi4uZTczMTc1YSAxMDA2NDQKPj4gLS0tIGEvbGli L2lndF9jb3JlLmMKPj4gKysrIGIvbGliL2lndF9jb3JlLmMKPj4gQEAgLTIxMSw2ICsyMTEsOCBA QAo+PiAgICogIi0taGVscCIgY29tbWFuZCBsaW5lIG9wdGlvbi4KPj4gICAqLwo+Pgo+PiArI2Rl ZmluZSBJR1RfS01TR19DQVBUVVJFX0RVTVBfQlVGX1NJWkUgICAgICAgICAgICAgICA0MDk2Cj4+ ICsKPj4gIHN0YXRpYyB1bnNpZ25lZCBpbnQgZXhpdF9oYW5kbGVyX2NvdW50Owo+PiAgY29uc3Qg Y2hhciAqaWd0X2ludGVyYWN0aXZlX2RlYnVnOwo+Pgo+PiBAQCAtMjQ3LDYgKzI0OSwxMCBAQCBl bnVtIHsKPj4gIHN0YXRpYyBpbnQgaWd0X2V4aXRjb2RlID0gSUdUX0VYSVRfU1VDQ0VTUzsKPj4g IHN0YXRpYyBjb25zdCBjaGFyICpjb21tYW5kX3N0cjsKPj4KPj4gK3N0YXRpYyBpbnQgaWd0X2tt c2dfY2FwdHVyZV9mZDsKPj4gK3N0YXRpYyBjaGFyKiBpZ3Rfa21zZ19jYXB0dXJlX2R1bXBfYnVm Owo+PiArc3RhdGljIHB0aHJlYWRfbXV0ZXhfdCBrbXNnX211dGV4ID0gUFRIUkVBRF9NVVRFWF9J TklUSUFMSVpFUjsKPj4gKwo+PiAgc3RhdGljIGNoYXIqIGlndF9sb2dfZG9tYWluX2ZpbHRlcjsK Pj4gIHN0YXRpYyBzdHJ1Y3Qgewo+PiAgICAgICBjaGFyICplbnRyaWVzWzI1Nl07Cj4+IEBAIC0z MTIsNiArMzE4LDcxIEBAIHN0YXRpYyB2b2lkIF9pZ3RfbG9nX2J1ZmZlcl9kdW1wKHZvaWQpCj4+ ICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZsb2dfYnVmZmVyX211dGV4KTsKPj4gIH0KPj4K Pj4gK3N0YXRpYyB2b2lkIF9pZ3Rfa21zZ19jYXB0dXJlX3Jlc2V0KHZvaWQpCj4+ICt7Cj4+ICsg ICAgIGlmIChpZ3Rfa21zZ19jYXB0dXJlX2ZkID09IC0xKQo+PiArICAgICAgICAgICAgIHJldHVy bjsKPj4gKwo+PiArICAgICBwdGhyZWFkX211dGV4X2xvY2soJmttc2dfbXV0ZXgpOwo+PiArCj4+ ICsgICAgIGxzZWVrKGlndF9rbXNnX2NhcHR1cmVfZmQsIDAsIFNFRUtfRU5EKTsKPj4gKwo+PiAr ICAgICBwdGhyZWFkX211dGV4X3VubG9jaygma21zZ19tdXRleCk7Cj4+ICt9Cj4+ICsKPj4gK3N0 YXRpYyB2b2lkIF9pZ3Rfa21zZ19jYXB0dXJlX2R1bXAodm9pZCkKPj4gK3sKPj4gKyAgICAgc2l6 ZV90IG5ieXRlczsKPj4gKyAgICAgaW50IG5saW5lczsKPj4gKyAgICAgY2hhciAqcDsKPj4gKyAg ICAgY2hhciAqcDA7Cj4+ICsgICAgIGludCBjOwo+PiArCj4+ICsgICAgIGlmIChpZ3Rfa21zZ19j YXB0dXJlX2ZkID09IC0xIHx8Cj4+ICsgICAgICAgICBpZ3Rfa21zZ19jYXB0dXJlX2R1bXBfYnVm ID09IE5VTEwpCj4+ICsgICAgICAgICAgICAgcmV0dXJuOwo+PiArCj4+ICsgICAgIHB0aHJlYWRf bXV0ZXhfbG9jaygma21zZ19tdXRleCk7Cj4+ICsKPj4gKwo+PiArICAgICBubGluZXMgPSAwOwo+ PiArICAgICBkbyB7Cj4+ICsgICAgICAgICAgICAgZXJybm8gPSAwOwo+PiArICAgICAgICAgICAg IG5ieXRlcyA9IHJlYWQoaWd0X2ttc2dfY2FwdHVyZV9mZCwKPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIGlndF9rbXNnX2NhcHR1cmVfZHVtcF9idWYsCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICBJR1RfS01TR19DQVBUVVJFX0RVTVBfQlVGX1NJWkUpOwo+PiArCj4+ICsgICAg ICAgICAgICAgaWYgKG5ieXRlcyA9PSAtMSkKPj4gKyAgICAgICAgICAgICAgICAgICAgIGNvbnRp bnVlOwo+PiArCj4+ICsgICAgICAgICAgICAgaWYgKCFubGluZXMpCj4+ICsgICAgICAgICAgICAg ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIioqKiogS01TRyAqKioqXG4iKTsKPj4gKwo+PiArICAg ICAgICAgICAgIHAgPSBwMCA9IHN0cmNocihpZ3Rfa21zZ19jYXB0dXJlX2R1bXBfYnVmLCAnOycp ICsgMTsKPj4gKyAgICAgICAgICAgICB3aGlsZSAocCAtIHAwIDwgbmJ5dGVzKSB7Cj4+ICsgICAg ICAgICAgICAgICAgICAgICBpZiAoKnAgIT0gJ1xcJykgewo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmcHV0YygqcCsrLCBzdGRlcnIpOwo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250aW51ZTsKPj4gKyAgICAgICAgICAgICAgICAgICAgIH0KPj4gKyAgICAgICAg ICAgICAgICAgICAgIHNzY2FuZihwLCAiXFx4JXgiLCAmYyk7Cj4+ICsgICAgICAgICAgICAgICAg ICAgICBmcHV0YyhjLCBzdGRlcnIpOwo+PiArICAgICAgICAgICAgICAgICAgICAgcCArPSA0Owo+ PiArICAgICAgICAgICAgIH0KPj4gKyAgICAgICAgICAgICAvL2ZwdXRzKHN0cmNocihpZ3Rfa21z Z19jYXB0dXJlX2R1bXBfYnVmLCAnOycpICsgMSwgc3RkZXJyKTsKPj4gKyAgICAgICAgICAgICBu bGluZXMrKzsKPj4gKyAgICAgfSB3aGlsZShlcnJubyA9PSAwKTsKPj4gKwo+PiArICAgICBpZiAo bmxpbmVzKQo+PiArICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiKioqKiAgRU5EICAqKioq XG4iKTsKPj4gKyAgICAgZWxzZQo+PiArICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiTm8g a21zZy5cbiIpOwo+PiArCj4+ICsgICAgIGlmIChlcnJubyAhPSBFQUdBSU4pCj4+ICsgICAgICAg ICAgICAgZnByaW50ZihzdGRlcnIsICJJbmNvbXBsZXRlIGttc2cuXG4iKTsKPj4gKwo+PiArICAg ICBwdGhyZWFkX211dGV4X3VubG9jaygma21zZ19tdXRleCk7Cj4+ICt9Cj4+ICsKPj4gIF9fYXR0 cmlidXRlX18oKGZvcm1hdChwcmludGYsIDEsIDIpKSkKPj4gIHN0YXRpYyB2b2lkIGttc2coY29u c3QgY2hhciAqZm9ybWF0LCAuLi4pCj4+ICAjZGVmaW5lIEtFUk5fRU1FUiAgICAiPDA+Igo+PiBA QCAtMzMwLDExICs0MDEsMTUgQEAgc3RhdGljIHZvaWQga21zZyhjb25zdCBjaGFyICpmb3JtYXQs IC4uLikKPj4gICAgICAgaWYgKGZpbGUgPT0gTlVMTCkKPj4gICAgICAgICAgICAgICByZXR1cm47 Cj4+Cj4+ICsgICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygma21zZ19tdXRleCk7Cj4+ICsKPj4gICAg ICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7Cj4+ICAgICAgIHZmcHJpbnRmKGZpbGUsIGZvcm1hdCwg YXApOwo+PiAgICAgICB2YV9lbmQoYXApOwo+Pgo+PiAgICAgICBmY2xvc2UoZmlsZSk7Cj4+ICsK Pj4gKyAgICAgcHRocmVhZF9tdXRleF91bmxvY2soJmttc2dfbXV0ZXgpOwo+PiAgfQo+Pgo+PiAg c3RhdGljIHZvaWQgZ2V0dGltZShzdHJ1Y3QgdGltZXNwZWMgKnRzKQo+PiBAQCAtNTI3LDYgKzYw MiwxNSBAQCBzdGF0aWMgaW50IGNvbW1vbl9pbml0KGludCAqYXJnYywgY2hhciAqKmFyZ3YsCj4+ ICAgICAgIGludCByZXQgPSAwOwo+PiAgICAgICBjb25zdCBjaGFyICplbnY7Cj4+Cj4+ICsgICAg IGlndF9rbXNnX2NhcHR1cmVfZmQgPSBvcGVuKCIvZGV2L2ttc2ciLCBPX1JEV1IgfCBPX05PTkJM T0NLKTsKPj4gKyAgICAgaWYgKGlndF9rbXNnX2NhcHR1cmVfZmQgIT0gLTEpIHsKPj4gKyAgICAg ICAgICAgICBpZ3Rfa21zZ19jYXB0dXJlX2R1bXBfYnVmID0KPj4gKyAgICAgICAgICAgICAgICAg ICAgIG1hbGxvYyhJR1RfS01TR19DQVBUVVJFX0RVTVBfQlVGX1NJWkUpOwo+PiArICAgICAgICAg ICAgIGlmKGlndF9rbXNnX2NhcHR1cmVfZHVtcF9idWYgPT0gTlVMTCkKPj4gKyAgICAgICAgICAg ICAgICAgICAgIGlndF93YXJuKCJVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5LCAiCj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAid2lsbCBub3QgZHVtcCBrbXNnLlxuIik7Cj4+ICsg ICAgIH0KPj4gKwo+PiAgICAgICBpZiAoIWlzYXR0eShTVERPVVRfRklMRU5PKSB8fCBnZXRlbnYo IklHVF9QTEFJTl9PVVRQVVQiKSkKPj4gICAgICAgICAgICAgICBfX2lndF9wbGFpbl9vdXRwdXQg PSB0cnVlOwo+Pgo+PiBAQCAtNzk2LDYgKzg4MCw3IEBAIGJvb2wgX19pZ3RfcnVuX3N1YnRlc3Qo Y29uc3QgY2hhciAqc3VidGVzdF9uYW1lKQo+PiAgICAgICBpZ3RfZGVidWcoIlN0YXJ0aW5nIHN1 YnRlc3Q6ICVzXG4iLCBzdWJ0ZXN0X25hbWUpOwo+Pgo+PiAgICAgICBfaWd0X2xvZ19idWZmZXJf cmVzZXQoKTsKPj4gKyAgICAgX2lndF9rbXNnX2NhcHR1cmVfcmVzZXQoKTsKPj4KPj4gICAgICAg Z2V0dGltZSgmc3VidGVzdF90aW1lKTsKPj4gICAgICAgcmV0dXJuIChpbl9zdWJ0ZXN0ID0gc3Vi dGVzdF9uYW1lKTsKPj4gQEAgLTk3Miw2ICsxMDU3LDcgQEAgdm9pZCBpZ3RfZmFpbChpbnQgZXhp dGNvZGUpCj4+ICAgICAgICAgICAgICAgZXhpdChleGl0Y29kZSk7Cj4+Cj4+ICAgICAgIF9pZ3Rf bG9nX2J1ZmZlcl9kdW1wKCk7Cj4+ICsgICAgIF9pZ3Rfa21zZ19jYXB0dXJlX2R1bXAoKTsKPj4K Pj4gICAgICAgaWYgKGluX3N1YnRlc3QpIHsKPj4gICAgICAgICAgICAgICBpZiAoZXhpdGNvZGUg PT0gSUdUX0VYSVRfVElNRU9VVCkKPj4gQEAgLTEwNzIsMTYgKzExNTgsMjEgQEAgdm9pZCBfX2ln dF9mYWlsX2Fzc2VydChjb25zdCBjaGFyICpkb21haW4sIGNvbnN0IGNoYXIgKmZpbGUsIGNvbnN0 IGludCBsaW5lLAo+PiAgICovCj4+ICB2b2lkIGlndF9leGl0KHZvaWQpCj4+ICB7Cj4+ICsgICAg IGludCBzdGF0dXMgPSBJR1RfRVhJVF9TVUNDRVNTOwo+PiArCj4+ICAgICAgIGlndF9leGl0X2Nh bGxlZCA9IHRydWU7Cj4+Cj4+ICAgICAgIGlmIChydW5fc2luZ2xlX3N1YnRlc3QgJiYgIXJ1bl9z aW5nbGVfc3VidGVzdF9mb3VuZCkgewo+PiAgICAgICAgICAgICAgIGlndF93YXJuKCJVbmtub3du IHN1YnRlc3Q6ICVzXG4iLCBydW5fc2luZ2xlX3N1YnRlc3QpOwo+PiAtICAgICAgICAgICAgIGV4 aXQoSUdUX0VYSVRfSU5WQUxJRCk7Cj4+ICsgICAgICAgICAgICAgc3RhdHVzID0gSUdUX0VYSVRf SU5WQUxJRDsKPj4gKyAgICAgICAgICAgICBnb3RvIGRvX2V4aXQ7Cj4+ICAgICAgIH0KPj4KPj4K Pj4gLSAgICAgaWYgKGlndF9vbmx5X2xpc3Rfc3VidGVzdHMoKSkKPj4gLSAgICAgICAgICAgICBl eGl0KElHVF9FWElUX1NVQ0NFU1MpOwo+PiArICAgICBpZiAoaWd0X29ubHlfbGlzdF9zdWJ0ZXN0 cygpKSB7Cj4+ICsgICAgICAgICAgICAgc3RhdHVzID0gSUdUX0VYSVRfU1VDQ0VTUzsKPj4gKyAg ICAgICAgICAgICBnb3RvIGRvX2V4aXQ7Cj4+ICsgICAgIH0KPj4KPj4gICAgICAga21zZyhLRVJO X0lORk8gIiVzOiBleGl0aW5nLCByZXQ9JWRcbiIsIGNvbW1hbmRfc3RyLCBpZ3RfZXhpdGNvZGUp Owo+PiAgICAgICBpZ3RfZGVidWcoIkV4aXRpbmcgd2l0aCBzdGF0dXMgY29kZSAlZFxuIiwgaWd0 X2V4aXRjb2RlKTsKPj4gQEAgLTExMTEsMTggKzEyMDIsMjYgQEAgdm9pZCBpZ3RfZXhpdCh2b2lk KQo+Pgo+Pgo+PiAgICAgICAgICAgICAgIHByaW50ZigiJXMgKCUuM2ZzKVxuIiwgcmVzdWx0LCBl bGFwc2VkKTsKPj4gLSAgICAgICAgICAgICBleGl0KGlndF9leGl0Y29kZSk7Cj4+ICsgICAgICAg ICAgICAgc3RhdHVzID0gaWd0X2V4aXRjb2RlOwo+PiArICAgICAgICAgICAgIGdvdG8gZG9fZXhp dDsKPj4gICAgICAgfQo+Pgo+PiAgICAgICAvKiBDYWxsaW5nIHRoaXMgd2l0aG91dCBjYWxsaW5n IG9uZSBvZiB0aGUgYWJvdmUgaXMgYSBmYWlsdXJlICovCj4+ICAgICAgIGFzc2VydChza2lwcGVk X29uZSB8fCBzdWNjZWVkZWRfb25lIHx8IGZhaWxlZF9vbmUpOwo+Pgo+PiAgICAgICBpZiAoZmFp bGVkX29uZSkKPj4gLSAgICAgICAgICAgICBleGl0KGlndF9leGl0Y29kZSk7Cj4+ICsgICAgICAg ICAgICAgc3RhdHVzID0gaWd0X2V4aXRjb2RlOwo+PiAgICAgICBlbHNlIGlmIChzdWNjZWVkZWRf b25lKQo+PiAtICAgICAgICAgICAgIGV4aXQoSUdUX0VYSVRfU1VDQ0VTUyk7Cj4+ICsgICAgICAg ICAgICAgc3RhdHVzID0gSUdUX0VYSVRfU1VDQ0VTUzsKPj4gICAgICAgZWxzZQo+PiAtICAgICAg ICAgICAgIGV4aXQoSUdUX0VYSVRfU0tJUCk7Cj4+ICsgICAgICAgICAgICAgc3RhdHVzID0gSUdU X0VYSVRfU0tJUDsKPj4gK2RvX2V4aXQ6Cj4+ICsgICAgIGlmIChpZ3Rfa21zZ19jYXB0dXJlX2Zk ICE9IC0xKQo+PiArICAgICAgICAgICAgIGNsb3NlKGlndF9rbXNnX2NhcHR1cmVfZmQpOwo+PiAr ICAgICBpZiAoaWd0X2ttc2dfY2FwdHVyZV9kdW1wX2J1ZiAhPSBOVUxMKQo+PiArICAgICAgICAg ICAgIGZyZWUoaWd0X2ttc2dfY2FwdHVyZV9kdW1wX2J1Zik7Cj4+ICsKPj4gKyAgICAgZXhpdChz dGF0dXMpOwo+PiAgfQo+Pgo+PiAgLyogZm9yayBzdXBwb3J0IGNvZGUgKi8KPj4gZGlmZiAtLWdp dCBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4+IGlu ZGV4IDhmYjJkZTguLjI1ZjBjNGEgMTAwNjQ0Cj4+IC0tLSBhL3Rlc3RzL01ha2VmaWxlLnNvdXJj ZXMKPj4gKysrIGIvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+PiBAQCAtNjIsNiArNjIsNyBAQCBU RVNUU19wcm9nc19NID0gXAo+PiAgICAgICBnZW1fdGlsZWRfcGFydGlhbF9wd3JpdGVfcHJlYWQg XAo+PiAgICAgICBnZW1fdXNlcnB0cl9ibGl0cyBcCj4+ICAgICAgIGdlbV93cml0ZV9yZWFkX3Jp bmdfc3dpdGNoIFwKPj4gKyAgICAgaWd0X2NhcHR1cmUgXAo+PiAgICAgICBrbXNfYWRkZmJfYmFz aWMgXAo+PiAgICAgICBrbXNfYXRvbWljIFwKPj4gICAgICAga21zX2N1cnNvcl9jcmMgXAo+PiBk aWZmIC0tZ2l0IGEvdGVzdHMvaWd0X2NhcHR1cmUuYyBiL3Rlc3RzL2lndF9jYXB0dXJlLmMKPj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMC4uZmQwMDhkMAo+PiAtLS0gL2Rl di9udWxsCj4+ICsrKyBiL3Rlc3RzL2lndF9jYXB0dXJlLmMKPj4gQEAgLTAsMCArMSw5MyBAQAo+ PiArLyoKPj4gKyAqIENvcHlyaWdodCDCqSAyMDE1IEludGVsIENvcnBvcmF0aW9uCj4+ICsgKgo+ PiArICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu eSBwZXJzb24gb2J0YWluaW5nIGEKPj4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNz b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4+ICsgKiB0byBk ZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91 dCBsaW1pdGF0aW9uCj4+ICsgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn ZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKPj4gKyAqIGFuZC9vciBzZWxsIGNv cGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQo+ PiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKPj4gKyAqCj4+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0Cj4+ICsgKiBw YXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg cG9ydGlvbnMgb2YgdGhlCj4+ICsgKiBTb2Z0d2FyZS4KPj4gKyAqCj4+ICsgKiBUSEUgU09GVFdB UkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQ UkVTUyBPUgo+PiArICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKPj4g KyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENM QUlNLCBEQU1BR0VTIE9SIE9USEVSCj4+ICsgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNU SU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwo+PiArICogRlJPTSwg T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBP VEhFUiBERUFMSU5HUwo+PiArICogSU4gVEhFIFNPRlRXQVJFLgo+PiArICoKPj4gKyAqIEF1dGhv cnM6Cj4+ICsgKiAgICBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRl bC5jb20+Cj4+ICsgKgo+PiArICovCj4+ICsKPj4gKyNpbmNsdWRlICJpZ3QuaCIKPj4gKyNpbmNs dWRlIDx1bmlzdGQuaD4KPj4gKyNpbmNsdWRlIDxzdGRsaWIuaD4KPj4gKyNpbmNsdWRlIDxzdGRp by5oPgo+PiArI2luY2x1ZGUgPHN0cmluZy5oPgo+PiArI2luY2x1ZGUgPGZjbnRsLmg+Cj4+ICsj aW5jbHVkZSA8aW50dHlwZXMuaD4KPj4gKyNpbmNsdWRlIDxlcnJuby5oPgo+PiArI2luY2x1ZGUg PHN5cy9zdGF0Lmg+Cj4+ICsjaW5jbHVkZSA8c3lzL2lvY3RsLmg+Cj4+ICsKPj4gK3N0YXRpYyBG SUxFKiBrbXNnOwo+PiArCj4+ICtzdGF0aWMgdm9pZAo+PiArdGVzdF9rbXNnKHZvaWQpCj4+ICt7 Cj4+ICsgICAgIGZwdXRzKCJURVNUIChLTVNHKVxuIiwga21zZyk7Cj4+ICsgICAgIGZmbHVzaChr bXNnKTsKPj4gKyAgICAgaWd0X2ZhaWwoSUdUX0VYSVRfRkFJTFVSRSk7Cj4+ICt9Cj4+ICsKPj4g K3N0YXRpYyB2b2lkCj4+ICt0ZXN0X3dhcm4odm9pZCkKPj4gK3sKPj4gKyAgICAgaWd0X3dhcm4o IlRFU1QgKFdBUk4pXG4iKTsKPj4gKyAgICAgaWd0X2ZhaWwoSUdUX0VYSVRfRkFJTFVSRSk7Cj4+ ICt9Cj4+ICsKPj4gK3N0YXRpYyB2b2lkCj4+ICt0ZXN0X2RlYnVnKHZvaWQpCj4+ICt7Cj4+ICsg ICAgIGlndF9kZWJ1ZygiVEVTVCAoREVCVUcpXG4iKTsKPj4gKyAgICAgaWd0X2ZhaWwoSUdUX0VY SVRfRkFJTFVSRSk7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyB2b2lkCj4+ICt0ZXN0X2NvbWJpbmVk KHZvaWQpCj4+ICt7Cj4+ICsgICAgIGlndF93YXJuKCJURVNUICMxIChXQVJOKVxuIik7Cj4+ICsg ICAgIGZwdXRzKCJURVNUICMxXG4iLCBrbXNnKTsKPj4gKyAgICAgaWd0X3dhcm4oIlRFU1QgIzIg KFdBUk4pXG4iKTsKPj4gKyAgICAgZnB1dHMoIlRFU1QgIzJcbiIsIGttc2cpOwo+PiArICAgICBm Zmx1c2goa21zZyk7Cj4+ICsgICAgIGlndF9mYWlsKElHVF9FWElUX0ZBSUxVUkUpOwo+PiArfQo+ PiArCj4+ICtpZ3RfbWFpbgo+PiArewo+PiArICAgICBpZ3RfZml4dHVyZSB7Cj4+ICsgICAgICAg ICAgICAga21zZyA9IGZvcGVuKCIvZGV2L2ttc2ciLCAidyIpOwo+PiArICAgICAgICAgICAgIGln dF9yZXF1aXJlKGttc2cgIT0gTlVMTCk7Cj4+ICsgICAgIH0KPj4gKwo+PiArICAgICBpZ3Rfc3Vi dGVzdCgia21zZyIpCj4+ICsgICAgICAgICAgICAgdGVzdF9rbXNnKCk7Cj4+ICsgICAgIGlndF9z dWJ0ZXN0KCJ3YXJuIikKPj4gKyAgICAgICAgICAgICB0ZXN0X3dhcm4oKTsKPj4gKyAgICAgaWd0 X3N1YnRlc3QoImRlYnVnIikKPj4gKyAgICAgICAgICAgICB0ZXN0X2RlYnVnKCk7Cj4+ICsgICAg IGlndF9zdWJ0ZXN0KCJjb21iaW5lZCIpCj4+ICsgICAgICAgICAgICAgdGVzdF9jb21iaW5lZCgp Owo+PiArCj4+ICsgICAgIGlndF9maXh0dXJlIHsKPj4gKyAgICAgICAgICAgICBmY2xvc2Uoa21z Zyk7Cj4+ICsgICAgIH0KPj4gK30KPj4gLS0KPj4gMi40LjMKPj4KPj4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dAo+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IGh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPgo+IC0tCj4gRGFuaWVsIFZl dHRlcgo+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+IGh0dHA6Ly9ibG9n LmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==