From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7C6CF6F900 for ; Fri, 11 Jan 2019 19:49:17 +0000 (UTC) Message-ID: <7ca39c5a45ce39b5b2bd81bb3f36d70ba1979d58.camel@intel.com> From: Dhinakaran Pandiyan Date: Fri, 11 Jan 2019 11:49:14 -0800 In-Reply-To: <84e2114d118e294af5801df0882a3b7e762f63d5.camel@intel.com> References: <20190103143641.20200-1-jose.souza@intel.com> <20190103143641.20200-7-jose.souza@intel.com> <1b8b803eb063c3754a086f0796d19d696363f7f6.camel@intel.com> <84e2114d118e294af5801df0882a3b7e762f63d5.camel@intel.com> Mime-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v2 7/9] tests/psr: Add the same test coverage that we have for PSR1 to PSR2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: dhinakaran.pandiyan@intel.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: "Souza, Jose" , "igt-dev@lists.freedesktop.org" Cc: "Vivi, Rodrigo" List-ID: T24gVGh1LCAyMDE5LTAxLTEwIGF0IDE3OjEyIC0wODAwLCBTb3V6YSwgSm9zZSB3cm90ZToKPiBP biBUaHUsIDIwMTktMDEtMTAgYXQgMTU6NTIgLTA4MDAsIERoaW5ha2FyYW4gUGFuZGl5YW4gd3Jv dGU6Cj4gPiBPbiBUaHUsIDIwMTktMDEtMDMgYXQgMDY6MzYgLTA4MDAsIEpvc8OpIFJvYmVydG8g ZGUgU291emEgd3JvdGU6Cj4gPiA+IFRoZSBtYWluIHRlc3RzIGZvciBQU1IxIGNoZWNrIGlmIGhh cmR3YXJlIHRyYWNraW5nIGlzIGRldGVjdGluZwo+ID4gPiBjaGFuZ2VzIGluIHBsYW5lcyB3aGVu IG1vZGlmaW5nIGl0IGluIGRpZmZlcmVudCB3YXlzIGFuZCBub3cKPiA+ID4gdGhvc2UgdGVzdHMg d2lsbCBhbHNvIHJ1biBmb3IgUFNSMiBpZiBzdXBwb3J0ZWQgYnkgc291cmNlIGFuZAo+ID4gPiBz aW5rLgo+ID4gPiAKPiA+ID4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNv bT4KPiA+ID4gQ2M6IERoaW5ha2FyYW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50 ZWwuY29tPgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3Nl LnNvdXphQGludGVsLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICB0ZXN0cy9rbXNfcHNyLmMgfCAxMTIK PiA+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ID4g PiAtLQo+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDEwNSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9u cygtKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19wc3IuYyBiL3Rlc3RzL2tt c19wc3IuYwo+ID4gPiBpbmRleCA4NTU2NzliMC4uZDRkMzgzMjAgMTAwNjQ0Cj4gPiA+IC0tLSBh L3Rlc3RzL2ttc19wc3IuYwo+ID4gPiArKysgYi90ZXN0cy9rbXNfcHNyLmMKPiA+ID4gQEAgLTYw LDYgKzYwLDcgQEAgdHlwZWRlZiBzdHJ1Y3Qgewo+ID4gPiAgCWludCBkcm1fZmQ7Cj4gPiA+ICAJ aW50IGRlYnVnZnNfZmQ7Cj4gPiA+ICAJZW51bSBvcGVyYXRpb25zIG9wOwo+ID4gPiArCWJvb2wg b3BfcHNyMjsKPiA+ID4gIAl1aW50MzJfdCBkZXZpZDsKPiA+ID4gIAl1aW50MzJfdCBjcnRjX2lk Owo+ID4gPiAgCWlndF9kaXNwbGF5X3QgZGlzcGxheTsKPiA+ID4gQEAgLTcxLDYgKzcyLDcgQEAg dHlwZWRlZiBzdHJ1Y3Qgewo+ID4gPiAgCWRybU1vZGVNb2RlSW5mbyAqbW9kZTsKPiA+ID4gIAlp Z3Rfb3V0cHV0X3QgKm91dHB1dDsKPiA+ID4gIAlib29sIHdpdGhfcHNyX2Rpc2FibGVkOwo+ID4g PiArCWJvb2wgc3VwcG9ydHNfcHNyMjsKPiA+ID4gIH0gZGF0YV90Owo+ID4gPiAgCj4gPiA+ICBz dGF0aWMgdm9pZCBjcmVhdGVfY3Vyc29yX2ZiKGRhdGFfdCAqZGF0YSkKPiA+ID4gQEAgLTE5NCwx MiArMTk2LDIyIEBAIHN0YXRpYyBib29sIHNpbmtfc3VwcG9ydChkYXRhX3QgKmRhdGEpCj4gPiA+ ICAJcmV0dXJuIGRhdGEtPndpdGhfcHNyX2Rpc2FibGVkIHx8IHBzcl9zaW5rX3N1cHBvcnQoZGF0 YS0KPiA+ID4gPiBkZWJ1Z2ZzX2ZkKTsKPiA+ID4gCj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gLXN0 YXRpYyBib29sIHBzcl93YWl0X2VudHJ5X2lmX2VuYWJsZWQoZGF0YV90ICpkYXRhKQo+ID4gPiAr c3RhdGljIGJvb2wgc2lua19zdXBwb3J0X3BzcjIoZGF0YV90ICpkYXRhKQo+ID4gPiAgewo+ID4g PiAtCWlmIChkYXRhLT53aXRoX3Bzcl9kaXNhYmxlZCkKPiA+ID4gLQkJcmV0dXJuIHRydWU7Cj4g PiA+ICsJcmV0dXJuIGRhdGEtPndpdGhfcHNyX2Rpc2FibGVkIHx8IHBzcjJfc2lua19zdXBwb3J0 KGRhdGEtCj4gPiA+ID4gZGVidWdmc19mZCk7Cj4gPiA+IAo+ID4gPiArfQo+ID4gPiAgCj4gPiA+ IC0JcmV0dXJuIHBzcl93YWl0X2VudHJ5KGRhdGEtPmRlYnVnZnNfZmQpOwo+ID4gPiArc3RhdGlj IGJvb2wgcHNyX3dhaXRfZW50cnlfaWZfZW5hYmxlZChkYXRhX3QgKmRhdGEpCj4gPiA+ICt7Cj4g PiA+ICsJaWYgKCFkYXRhLT5vcF9wc3IyKSB7Cj4gPiA+ICsJCWlmIChkYXRhLT53aXRoX3Bzcl9k aXNhYmxlZCkKPiA+ID4gKwkJCXJldHVybiB0cnVlOwo+ID4gPiArCQlyZXR1cm4gcHNyX3dhaXRf ZW50cnkoZGF0YS0+ZGVidWdmc19mZCk7Cj4gPiA+ICsJfSBlbHNlIHsKPiA+ID4gKwkJaWYgKGRh dGEtPndpdGhfcHNyX2Rpc2FibGVkKQo+ID4gPiArCQkJcmV0dXJuIHRydWU7Cj4gPiA+ICsJCXJl dHVybiBwc3IyX3dhaXRfZGVlcF9zbGVlcChkYXRhLT5kZWJ1Z2ZzX2ZkKTsKPiA+ID4gKwl9Cj4g PiA+ICB9Cj4gPiAKPiA+IFVubGVzcyBJIGFtIG1pc3Npbmcgc29tZXRoaW5nLCB3ZSBjYW4gc2lt cGxpZnkgYWxsIHRoZXNlIGNoYW5nZXMgYnkKPiA+IHB1c2hpbmcgdGhlIFBTUiBtb2RlIGRvd24g dGhyb3VnaCB0aGUgY2FsbCBjaGFpbi4KPiA+IAo+ID4gIAo+ID4gLXN0YXRpYyBib29sIHBzcl9h Y3RpdmUoaW50IGRlYnVnZnNfZmQsIGJvb2wgY2hlY2tfYWN0aXZlKQo+ID4gK3N0YXRpYyBib29s IHBzcl9hY3RpdmUoaW50IGRlYnVnZnNfZmQsIGVudW0gcHNyX21vZGUgbW9kZSwgYm9vbAo+ID4g Y2hlY2tfYWN0aXZlKQo+ID4gIHsKPiAKPiBJIGFkZGVkIHRoZSBQU1IyIGZ1bmN0aW9ucyB3aXRo IG90aGVyIG5hbWVzIHRvIGF2b2lkIGFueQo+IG1pc2ludGVycHJldGF0aW9uIGFzIFBTUjIgY291 bGQgYmUgYWN0aXZlIGluIGRlZXAgc2xlZXAgc3RhdGUgYW5kCj4gZG9pbmcKPiBzZWxlY3RpdmUg dXBkYXRlIGFuZCBpbiB0aGUgc3RhdGVzIGJldHdlZW4gYW5kIGluIHRoZSBrbXNfcHNyMl9zdSB3 ZQo+IG5lZWQgdG8gY2hlY2sgYm90aCBzdGF0ZXMgdG8gcHJvcGVybHkgdGVzdC4KClNlbGVjdGl2 ZSB1cGRhdGUgdGVzdGluZyBkb2VzIG5vdCBuZWVkIG1vZGlmeWluZyB0aGUgYmVoYXZpb3Igb2Yg YW55IG9mCnRoZXNlIGZ1bmN0aW9ucywgZG9lcyBpdD8gQm90aCBQU1IxIGFuZCBQU1IyKG5vbi1T VSkgdGVzdHMgd2FpdCB1bnRpbApQU1IgaXMgaW4gYW4gYWN0aXZlIHN0YXRlLCBkbyBzb21lIG9w ZXJhdGlvbiBhbmQgdGhlbiB2ZXJpZnkgd2UgYXJlIG91dApvZiB0aGUgc3RhdGUuIFNpbmNlIHRo ZXkgZm9sbG93IHRoZSBzYW1lIHRlc3Qgc3RlcHMsIEkgYmVsaWV2ZSBpdCBpcwpiZXR0ZXIgdG8g c2hhcmUgdGhlIGludGVyZmFjZS4gV2UgYWxzbyB3YW50IGttc19mYnRfZmJjb24gYW5kCmttc19m cm9udGJ1ZmZlcl90cmFja2luZyB0byBzZXR1cCBQU1IyLCB0aGF0IGlzIGFub3RoZXIgcmVhc29u CnBzcl93YWl0X2VudHJ5KCkvcHNyX3dhaXRfZXhpdCgpIGluIHRoZSBsaWJyYXJ5IHNob3VsZCBo YW5kbGUgUFNSMSB2L3MKUFNSMiBpbnN0ZWFkIG9mIHRoZSBjYWxsZXJzIGluIGttc19wc3IuCgoK PiAgCj4gSSdtIG9rYXkgaW4gYWRkaW5nIHRoZSBQU1IgbW9kZSB0byBlbmFibGUoKSwgZGlzYWJs ZSgpLAo+IHNpbmtfc3VwcG9ydCgpCj4gYW5kIHJldXNlIHRoZSBpbnRlcm5hbCBmdW5jdGlvbnMg dG9vIGJ1dCBpbiB0aGUgb3RoZXIgZnVuY3Rpb25zIHRoZQo+IGNvZGUgc2F2ZWQgaXMgbm90IHdv cnRoLiBXaGF0IGRvIHlvdSB0aGluayBESz8KPiAKPiA+ICAgICAgICAgYm9vbCBhY3RpdmU7Cj4g PiAgICAgICAgIGNoYXIgYnVmW1BTUl9TVEFUVVNfTUFYX0xFTl07Cj4gPiArICAgICAgIGNoYXIg KnMgPSBtb2RlID09IFBTUl9NT0RFXzIgPyAiREVFUF9TTEVFUCIgPyAiU1JERU5UIjsKPiA+ICAK PiA+ICAgICAgICAgaWd0X2RlYnVnZnNfc2ltcGxlX3JlYWQoZGVidWdmc19mZCwgImk5MTVfZWRw X3Bzcl9zdGF0dXMiLAo+ID4gYnVmLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzaXplb2YoYnVmKSk7Cj4gPiAgICAgICAgIGFjdGl2ZSA9IHN0cnN0cihidWYsICJIVyBFbmFi bGVkICYgQWN0aXZlIGJpdDogeWVzXG4iKSAmJgo+ID4gLSAgICAgICAgICAgICAgIChzdHJzdHIo YnVmLCAiU1JERU5UIikgfHwgc3Ryc3RyKGJ1ZiwgIlNMRUVQIikpOwo+ID4gKyAgICAgICAgICAg ICAgICBzdHJzdHIoYnVmLCBzKTsKPiA+ICAgICAgICAgcmV0dXJuIGNoZWNrX2FjdGl2ZSA/IGFj dGl2ZSA6ICFhY3RpdmU7Cj4gPiAgfQo+ID4gIAo+ID4gLWJvb2wgcHNyX3dhaXRfZW50cnkoaW50 IGRlYnVnZnNfZmQpCj4gPiArYm9vbCBwc3Jfd2FpdF9lbnRyeShpbnQgZGVidWdmc19mZCwgaW50 IHBzcl9tb2RlKQo+ID4gIHsKPiA+IC0gICAgICAgcmV0dXJuIGlndF93YWl0KHBzcl9hY3RpdmUo ZGVidWdmc19mZCwgdHJ1ZSksIDUwMCwgMjApOwo+ID4gKyAgICAgICByZXR1cm4gaWd0X3dhaXQo cHNyX2FjdGl2ZShkZWJ1Z2ZzX2ZkLCB0cnVlLCBwc3JfbW9kZSksCj4gPiA1MDAsCj4gPiAyMCk7 Cj4gPiAgfQo+ID4gIAo+ID4gLWJvb2wgcHNyX3dhaXRfZXhpdChpbnQgZGVidWdmc19mZCkKPiA+ ICtib29sIHBzcl93YWl0X2V4aXQoaW50IGRlYnVnZnNfZmQsIGludCBwc3JfbW9kZSkKPiA+ICB7 Cj4gPiAgICAgICAgIHJldHVybiBpZ3Rfd2FpdChwc3JfYWN0aXZlKGRlYnVnZnNfZmQsIGZhbHNl KSwgNDAsIDEwKTsKPiA+ICB9Cj4gPiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX3Bzci5jIGIvdGVz dHMva21zX3Bzci5jCj4gPiBpbmRleCA4NTU2NzliMC4uYmI5MGI5OTQgMTAwNjQ0Cj4gPiAtLS0g YS90ZXN0cy9rbXNfcHNyLmMKPiA+ICsrKyBiL3Rlc3RzL2ttc19wc3IuYwo+ID4gQEAgLTE5OSw3 ICsxOTksNyBAQCBzdGF0aWMgYm9vbCBwc3Jfd2FpdF9lbnRyeV9pZl9lbmFibGVkKGRhdGFfdAo+ ID4gKmRhdGEpCj4gPiAgICAgICAgIGlmIChkYXRhLT53aXRoX3Bzcl9kaXNhYmxlZCkKPiA+ICAg ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKPiA+ICAKPiA+IC0gICAgICAgcmV0dXJuIHBzcl93 YWl0X2VudHJ5KGRhdGEtPmRlYnVnZnNfZmQpOwo+ID4gKyAgICAgICByZXR1cm4gcHNyX3dhaXRf ZW50cnkoZGF0YS0+ZGVidWdmc19mZCwgZGF0YS0+cHNyX21vZGUpOwo+ID4gIH0KPiA+ICAKPiA+ ICBzdGF0aWMgaW5saW5lIHZvaWQgbWFudWFsKGNvbnN0IGNoYXIgKmV4cGVjdGVkKQo+ID4gQEAg LTI4OSw3ICsyODksNyBAQCBzdGF0aWMgdm9pZCBydW5fdGVzdChkYXRhX3QgKmRhdGEpCj4gPiAg ICAgICAgICAgICAgICAgZXhwZWN0ZWQgPSAic2NyZWVuIEdSRUVOIjsKPiA+ICAgICAgICAgICAg ICAgICBicmVhazsKPiA+ICAgICAgICAgfQo+ID4gLSAgICAgICBpZ3RfYXNzZXJ0KHBzcl93YWl0 X2V4aXQoZGF0YS0+ZGVidWdmc19mZCkpOwo+ID4gKyAgICAgICBpZ3RfYXNzZXJ0KHBzcl93YWl0 X2V4aXQoZGF0YS0+ZGVidWdmc19mZCwgZGF0YS0KPiA+ID5wc3JfbW9kZSkpOwo+ID4gICAgICAg ICBtYW51YWwoZXhwZWN0ZWQpOwo+ID4gIH0KPiA+IAo+ID4gCj4gPiAKPiA+ID4gIAo+ID4gPiAg c3RhdGljIGlubGluZSB2b2lkIG1hbnVhbChjb25zdCBjaGFyICpleHBlY3RlZCkKPiA+ID4gQEAg LTI4OSwxMSArMzAxLDE2IEBAIHN0YXRpYyB2b2lkIHJ1bl90ZXN0KGRhdGFfdCAqZGF0YSkKPiA+ ID4gIAkJZXhwZWN0ZWQgPSAic2NyZWVuIEdSRUVOIjsKPiA+ID4gIAkJYnJlYWs7Cj4gPiA+ICAJ fQo+ID4gPiAtCWlndF9hc3NlcnQocHNyX3dhaXRfZXhpdChkYXRhLT5kZWJ1Z2ZzX2ZkKSk7Cj4g PiA+ICsKPiA+ID4gKwlpZiAoIWRhdGEtPm9wX3BzcjIpCj4gPiA+ICsJCWlndF9hc3NlcnQocHNy X3dhaXRfZXhpdChkYXRhLT5kZWJ1Z2ZzX2ZkKSk7Cj4gPiA+ICsJZWxzZQo+ID4gPiArCQlpZ3Rf YXNzZXJ0KHBzcjJfd2FpdF91cGRhdGUoZGF0YS0+ZGVidWdmc19mZCkpOwo+ID4gPiAgCW1hbnVh bChleHBlY3RlZCk7Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gLXN0YXRpYyB2b2lkIHRlc3RfY2xl YW51cChkYXRhX3QgKmRhdGEpIHsKPiA+ID4gK3N0YXRpYyB2b2lkIHRlc3RfY2xlYW51cChkYXRh X3QgKmRhdGEpCj4gPiA+ICt7Cj4gPiA+ICAJaWd0X3BsYW5lX3QgKnByaW1hcnk7Cj4gPiA+ICAK PiA+ID4gIAlwcmltYXJ5ID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZShkYXRhLT5vdXRwdXQs Cj4gPiA+IEBAIC0zMDQsNiArMzIxLDExIEBAIHN0YXRpYyB2b2lkIHRlc3RfY2xlYW51cChkYXRh X3QgKmRhdGEpIHsKPiA+ID4gIAo+ID4gPiAgCWlndF9yZW1vdmVfZmIoZGF0YS0+ZHJtX2ZkLCAm ZGF0YS0+ZmJfZ3JlZW4pOwo+ID4gPiAgCWlndF9yZW1vdmVfZmIoZGF0YS0+ZHJtX2ZkLCAmZGF0 YS0+ZmJfd2hpdGUpOwo+ID4gPiArCj4gPiA+ICsJLyogc3dpdGNoIHRvIFBTUjEgYWdhaW4gKi8K PiA+ID4gKwlpZiAoZGF0YS0+b3BfcHNyMiAmJiAhZGF0YS0+d2l0aF9wc3JfZGlzYWJsZWQpCj4g PiA+ICsJCXBzcl9lbmFibGUoZGF0YS0+ZGVidWdmc19mZCk7Cj4gPiA+ICsJZGF0YS0+b3BfcHNy MiA9IGZhbHNlOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICBzdGF0aWMgdm9pZCBzZXR1cF90ZXN0 X3BsYW5lKGRhdGFfdCAqZGF0YSwgaW50IHRlc3RfcGxhbmUpCj4gPiA+IEBAIC0zMTEsNiArMzMz LDExIEBAIHN0YXRpYyB2b2lkIHNldHVwX3Rlc3RfcGxhbmUoZGF0YV90ICpkYXRhLAo+ID4gPiBp bnQKPiA+ID4gdGVzdF9wbGFuZSkKPiA+ID4gIAl1aW50MzJfdCB3aGl0ZV9oLCB3aGl0ZV92Owo+ ID4gPiAgCWlndF9wbGFuZV90ICpwcmltYXJ5LCAqc3ByaXRlLCAqY3Vyc29yOwo+ID4gPiAgCj4g PiA+ICsJaWYgKGRhdGEtPm9wX3BzcjIgJiYgIWRhdGEtPndpdGhfcHNyX2Rpc2FibGVkKSB7Cj4g PiA+ICsJCWlndF9yZXF1aXJlKGRhdGEtPnN1cHBvcnRzX3BzcjIpOwo+ID4gPiArCQlwc3IyX2Vu YWJsZShkYXRhLT5kZWJ1Z2ZzX2ZkKTsKPiA+ID4gKwl9Cj4gPiA+ICsKPiA+ID4gIAlpZ3RfY3Jl YXRlX2NvbG9yX2ZiKGRhdGEtPmRybV9mZCwKPiA+ID4gIAkJCSAgICBkYXRhLT5tb2RlLT5oZGlz cGxheSwgZGF0YS0+bW9kZS0+dmRpc3BsYXksCj4gPiA+ICAJCQkgICAgRFJNX0ZPUk1BVF9YUkdC ODg4OCwKPiA+ID4gQEAgLTM5MSw3ICs0MTgsNyBAQCBzdGF0aWMgaW50IG9wdF9oYW5kbGVyKGlu dCBvcHQsIGludAo+ID4gPiBvcHRfaW5kZXgsCj4gPiA+IHZvaWQgKl9kYXRhKQo+ID4gPiAgaW50 IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKPiA+ID4gIHsKPiA+ID4gIAljb25zdCBjaGFy ICpoZWxwX3N0ciA9Cj4gPiA+IC0JICAgICAgICIgIC0tbm8tcHNyXHRSdW4gdGVzdCB3aXRob3V0 IFBTUi4iOwo+ID4gPiArCSAgICAgICAiICAtLW5vLXBzclx0UnVuIHRlc3Qgd2l0aG91dCBQU1Iv UFNSMi5cbiI7Cj4gPiA+ICAJc3RhdGljIHN0cnVjdCBvcHRpb24gbG9uZ19vcHRpb25zW10gPSB7 Cj4gPiA+ICAJCXsibm8tcHNyIiwgMCwgMCwgJ24nfSwKPiA+ID4gIAkJeyAwLCAwLCAwLCAwIH0K PiA+ID4gQEAgLTQxNCw2ICs0NDEsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd KQo+ID4gPiAgCj4gPiA+ICAJCWlndF9yZXF1aXJlX2Yoc2lua19zdXBwb3J0KCZkYXRhKSwKPiA+ ID4gIAkJCSAgICAgICJTaW5rIGRvZXMgbm90IHN1cHBvcnQgUFNSXG4iKTsKPiA+ID4gKwkJZGF0 YS5zdXBwb3J0c19wc3IyID0gc2lua19zdXBwb3J0X3BzcjIoJmRhdGEpOwo+ID4gPiAgCj4gPiA+ ICAJCWRhdGEuYnVmbWdyID0gZHJtX2ludGVsX2J1Zm1ncl9nZW1faW5pdChkYXRhLmRybV9mZCwK PiA+ID4gNDA5Nik7Cj4gPiA+ICAJCWlndF9hc3NlcnQoZGF0YS5idWZtZ3IpOwo+ID4gPiBAQCAt NDI4LDYgKzQ1NiwxMyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQo+ID4gPiAg CQl0ZXN0X2NsZWFudXAoJmRhdGEpOwo+ID4gPiAgCX0KPiA+ID4gIAo+ID4gPiArCWlndF9zdWJ0 ZXN0KCJwc3IyX2Jhc2ljIikgewo+ID4gPiArCQlkYXRhLm9wX3BzcjIgPSB0cnVlOwo+ID4gPiAr CQlzZXR1cF90ZXN0X3BsYW5lKCZkYXRhLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPiA+ID4g KwkJaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeV9pZl9lbmFibGVkKCZkYXRhKSk7Cj4gPiA+ICsJ CXRlc3RfY2xlYW51cCgmZGF0YSk7Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICAJaWd0X3N1YnRl c3QoIm5vX2RycnMiKSB7Cj4gPiA+ICAJCXNldHVwX3Rlc3RfcGxhbmUoJmRhdGEsIERSTV9QTEFO RV9UWVBFX1BSSU1BUlkpOwo+ID4gPiAgCQlpZ3RfYXNzZXJ0KHBzcl93YWl0X2VudHJ5X2lmX2Vu YWJsZWQoJmRhdGEpKTsKPiA+ID4gQEAgLTQzNSw2ICs0NzAsMTQgQEAgaW50IG1haW4oaW50IGFy Z2MsIGNoYXIgKmFyZ3ZbXSkKPiA+ID4gIAkJdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiA+ID4gIAl9 Cj4gPiA+ICAKPiA+ID4gKwlpZ3Rfc3VidGVzdCgicHNyMl9ub19kcnJzIikgewo+ID4gPiArCQlk YXRhLm9wX3BzcjIgPSB0cnVlOwo+ID4gPiArCQlzZXR1cF90ZXN0X3BsYW5lKCZkYXRhLCBEUk1f UExBTkVfVFlQRV9QUklNQVJZKTsKPiA+ID4gKwkJaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeV9p Zl9lbmFibGVkKCZkYXRhKSk7Cj4gPiA+ICsJCWlndF9hc3NlcnQoZHJyc19kaXNhYmxlZCgmZGF0 YSkpOwo+ID4gPiArCQl0ZXN0X2NsZWFudXAoJmRhdGEpOwo+ID4gPiArCX0KPiA+ID4gKwo+ID4g PiAgCWZvciAob3AgPSBQQUdFX0ZMSVA7IG9wIDw9IFJFTkRFUjsgb3ArKykgewo+ID4gPiAgCQlp Z3Rfc3VidGVzdF9mKCJwcmltYXJ5XyVzIiwgb3Bfc3RyKG9wKSkgewo+ID4gPiAgCQkJZGF0YS5v cCA9IG9wOwo+ID4gPiBAQCAtNDQ1LDYgKzQ4OCwxNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hh ciAqYXJndltdKQo+ID4gPiAgCQl9Cj4gPiA+ICAJfQo+ID4gPiAgCj4gPiA+ICsJZm9yIChvcCA9 IFBBR0VfRkxJUDsgb3AgPD0gUkVOREVSOyBvcCsrKSB7Cj4gPiA+ICsJCWlndF9zdWJ0ZXN0X2Yo InBzcjJfcHJpbWFyeV8lcyIsIG9wX3N0cihvcCkpIHsKPiA+ID4gKwkJCWRhdGEub3BfcHNyMiA9 IHRydWU7Cj4gPiA+ICsJCQlkYXRhLm9wID0gb3A7Cj4gPiA+ICsJCQlzZXR1cF90ZXN0X3BsYW5l KCZkYXRhLAo+ID4gPiBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPiA+ID4gKwkJCWlndF9hc3Nl cnQocHNyX3dhaXRfZW50cnlfaWZfZW5hYmxlZCgmZGF0YSkpOwo+ID4gPiArCQkJcnVuX3Rlc3Qo JmRhdGEpOwo+ID4gPiArCQkJdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiA+ID4gKwkJfQo+ID4gPiAr CX0KPiA+ID4gKwo+ID4gPiAgCWZvciAob3AgPSBNTUFQX0dUVDsgb3AgPD0gUExBTkVfT05PRkY7 IG9wKyspIHsKPiA+ID4gIAkJaWd0X3N1YnRlc3RfZigic3ByaXRlXyVzIiwgb3Bfc3RyKG9wKSkg ewo+ID4gPiAgCQkJZGF0YS5vcCA9IG9wOwo+ID4gPiBAQCAtNDU1LDYgKzUwOSwxNyBAQCBpbnQg bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQo+ID4gPiAgCQl9Cj4gPiA+ICAJfQo+ID4gPiAg Cj4gPiA+ICsJZm9yIChvcCA9IE1NQVBfR1RUOyBvcCA8PSBQTEFORV9PTk9GRjsgb3ArKykgewo+ ID4gPiArCQlpZ3Rfc3VidGVzdF9mKCJwc3IyX3Nwcml0ZV8lcyIsIG9wX3N0cihvcCkpIHsKPiA+ ID4gKwkJCWRhdGEub3BfcHNyMiA9IHRydWU7Cj4gPiA+ICsJCQlkYXRhLm9wID0gb3A7Cj4gPiA+ ICsJCQlzZXR1cF90ZXN0X3BsYW5lKCZkYXRhLAo+ID4gPiBEUk1fUExBTkVfVFlQRV9PVkVSTEFZ KTsKPiA+ID4gKwkJCWlndF9hc3NlcnQocHNyX3dhaXRfZW50cnlfaWZfZW5hYmxlZCgmZGF0YSkp Owo+ID4gPiArCQkJcnVuX3Rlc3QoJmRhdGEpOwo+ID4gPiArCQkJdGVzdF9jbGVhbnVwKCZkYXRh KTsKPiA+ID4gKwkJfQo+ID4gPiArCX0KPiA+ID4gKwo+ID4gPiAgCWZvciAob3AgPSBNTUFQX0dU VDsgb3AgPD0gUExBTkVfT05PRkY7IG9wKyspIHsKPiA+ID4gIAkJaWd0X3N1YnRlc3RfZigiY3Vy c29yXyVzIiwgb3Bfc3RyKG9wKSkgewo+ID4gPiAgCQkJZGF0YS5vcCA9IG9wOwo+ID4gPiBAQCAt NDY1LDYgKzUzMCwxNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQo+ID4gPiAg CQl9Cj4gPiA+ICAJfQo+ID4gPiAgCj4gPiA+ICsJZm9yIChvcCA9IE1NQVBfR1RUOyBvcCA8PSBQ TEFORV9PTk9GRjsgb3ArKykgewo+ID4gPiArCQlpZ3Rfc3VidGVzdF9mKCJwc3IyX2N1cnNvcl8l cyIsIG9wX3N0cihvcCkpIHsKPiA+ID4gKwkJCWRhdGEub3BfcHNyMiA9IHRydWU7Cj4gPiA+ICsJ CQlkYXRhLm9wID0gb3A7Cj4gPiA+ICsJCQlzZXR1cF90ZXN0X3BsYW5lKCZkYXRhLCBEUk1fUExB TkVfVFlQRV9DVVJTT1IpOwo+ID4gPiArCQkJaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeV9pZl9l bmFibGVkKCZkYXRhKSk7Cj4gPiA+ICsJCQlydW5fdGVzdCgmZGF0YSk7Cj4gPiA+ICsJCQl0ZXN0 X2NsZWFudXAoJmRhdGEpOwo+ID4gPiArCQl9Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICAJaWd0 X3N1YnRlc3RfZigiZHBtcyIpIHsKPiA+ID4gIAkJZGF0YS5vcCA9IFJFTkRFUjsKPiA+ID4gIAkJ c2V0dXBfdGVzdF9wbGFuZSgmZGF0YSwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7Cj4gPiA+IEBA IC00NzQsNiArNTUwLDE2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCj4gPiA+ ICAJCXRlc3RfY2xlYW51cCgmZGF0YSk7Cj4gPiA+ICAJfQo+ID4gPiAgCj4gPiA+ICsJaWd0X3N1 YnRlc3RfZigicHNyMl9kcG1zIikgewo+ID4gPiArCQlkYXRhLm9wX3BzcjIgPSB0cnVlOwo+ID4g PiArCQlkYXRhLm9wID0gUkVOREVSOwo+ID4gPiArCQlzZXR1cF90ZXN0X3BsYW5lKCZkYXRhLCBE Uk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPiA+ID4gKwkJaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRy eV9pZl9lbmFibGVkKCZkYXRhKSk7Cj4gPiA+ICsJCWRwbXNfb2ZmX29uKCZkYXRhKTsKPiA+ID4g KwkJcnVuX3Rlc3QoJmRhdGEpOwo+ID4gPiArCQl0ZXN0X2NsZWFudXAoJmRhdGEpOwo+ID4gPiAr CX0KPiA+ID4gKwo+ID4gPiAgCWlndF9zdWJ0ZXN0X2YoInN1c3BlbmQiKSB7Cj4gPiA+ICAJCWRh dGEub3AgPSBQTEFORV9PTk9GRjsKPiA+ID4gIAkJc2V0dXBfdGVzdF9wbGFuZSgmZGF0YSwgRFJN X1BMQU5FX1RZUEVfQ1VSU09SKTsKPiA+ID4gQEAgLTQ4NSw2ICs1NzEsMTggQEAgaW50IG1haW4o aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKPiA+ID4gIAkJdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiA+ ID4gIAl9Cj4gPiA+ICAKPiA+ID4gKwlpZ3Rfc3VidGVzdF9mKCJwc3IyX3N1c3BlbmQiKSB7Cj4g PiA+ICsJCWRhdGEub3BfcHNyMiA9IHRydWU7Cj4gPiA+ICsJCWRhdGEub3AgPSBQTEFORV9PTk9G RjsKPiA+ID4gKwkJc2V0dXBfdGVzdF9wbGFuZSgmZGF0YSwgRFJNX1BMQU5FX1RZUEVfQ1VSU09S KTsKPiA+ID4gKwkJaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeV9pZl9lbmFibGVkKCZkYXRhKSk7 Cj4gPiA+ICsJCWlndF9zeXN0ZW1fc3VzcGVuZF9hdXRvcmVzdW1lKFNVU1BFTkRfU1RBVEVfTUVN LAo+ID4gPiArCQkJCQkgICAgICBTVVNQRU5EX1RFU1RfTk9ORSk7Cj4gPiA+ICsJCWlndF9hc3Nl cnQocHNyX3dhaXRfZW50cnlfaWZfZW5hYmxlZCgmZGF0YSkpOwo+ID4gPiArCQlydW5fdGVzdCgm ZGF0YSk7Cj4gPiA+ICsJCXRlc3RfY2xlYW51cCgmZGF0YSk7Cj4gPiA+ICsJfQo+ID4gPiArCj4g PiA+ICAJaWd0X2ZpeHR1cmUgewo+ID4gPiAgCQlpZiAoIWRhdGEud2l0aF9wc3JfZGlzYWJsZWQp Cj4gPiA+ICAJCQlwc3JfZGlzYWJsZShkYXRhLmRlYnVnZnNfZmQpOwoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0 LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==