From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 11E1D6E624 for ; Wed, 30 Jan 2019 18:24:06 +0000 (UTC) Message-ID: <79cf764e56384a486f1e65a83c05ef328b72b0f7.camel@intel.com> From: Dhinakaran Pandiyan Date: Wed, 30 Jan 2019 10:23:57 -0800 In-Reply-To: <16cb8f0f-1a3d-8e73-5fa9-ef69c2a7d158@gmail.com> References: <1548419427-16597-1-git-send-email-juhapekka.heikkila@gmail.com> <16cb8f0f-1a3d-8e73-5fa9-ef69c2a7d158@gmail.com> Mime-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t] tests/kms_available_modes_crc: Fix handling of test comparisons 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: juhapekka.heikkila@gmail.com, igt-dev@lists.freedesktop.org List-ID: T24gV2VkLCAyMDE5LTAxLTMwIGF0IDEzOjI1ICswMjAwLCBKdWhhLVBla2thIEhlaWtraWxhIHdy b3RlOgo+IE9uIDMwLjEuMjAxOSA4LjQwLCBEaGluYWthcmFuIFBhbmRpeWFuIHdyb3RlOgo+ID4g T24gRnJpLCAyMDE5LTAxLTI1IGF0IDE0OjMwICswMjAwLCBKdWhhLVBla2thIEhlaWtraWxhIHdy b3RlOgo+ID4gPiBGaXhlZCBoYW5kbGluZyBvZiBzaW5nbGUgcGxhbmUgbW9kZXMgc28gdXNlZCBi cHAgbmV2ZXIgZ2V0IHRvCj4gPiA+IGJlIDAuCj4gPiA+IAo+ID4gPiBSZWR1Y2UgdmVyYm9zZW5l c3MgaWYgdGhlcmUncyBubyBlcnJvcnMuCj4gPiA+IAo+ID4gPiBCdWd6aWxsYTogaHR0cHM6Ly9i dWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2NzAxCj4gPiA+IFNpZ25lZC1v ZmYtYnk6IEp1aGEtUGVra2EgSGVpa2tpbGEgPGp1aGFwZWtrYS5oZWlra2lsYUBnbWFpbC5jb20+ Cj4gPiA+IC0tLQo+ID4gPiAgIHRlc3RzL2ttc19hdmFpbGFibGVfbW9kZXNfY3JjLmMgfCAxMjMg KysrKysrKysrKysrKysrKysrKystLS0tLQo+ID4gPiAtLS0KPiA+ID4gLS0tLS0tLS0tLS0tCj4g PiA+ICAgMSBmaWxlIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDYyIGRlbGV0aW9ucygtKQo+ ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19hdmFpbGFibGVfbW9kZXNfY3JjLmMK PiA+ID4gYi90ZXN0cy9rbXNfYXZhaWxhYmxlX21vZGVzX2NyYy5jCj4gPiA+IGluZGV4IDdmZjM4 NWYuLjQzMmMwODQgMTAwNjQ0Cj4gPiA+IC0tLSBhL3Rlc3RzL2ttc19hdmFpbGFibGVfbW9kZXNf Y3JjLmMKPiA+ID4gKysrIGIvdGVzdHMva21zX2F2YWlsYWJsZV9tb2Rlc19jcmMuYwo+ID4gPiBA QCAtNTQsNiArNTQsMTIgQEAgdHlwZWRlZiBzdHJ1Y3Qgewo+ID4gPiAgIAo+ID4gPiAgIAlpZ3Rf Y3JjX3QgY3Vyc29yX2NyYzsKPiA+ID4gICAJaWd0X2NyY190IGZ1bGxzY3JlZW5fY3JjOwo+ID4g PiArCj4gPiA+ICsJLyoKPiA+ID4gKwkgKiBJZiB0aGVyZSdzIHVua25vd24gZm9ybWF0IHNldHRp bmcgdXAgbW9kZSBjYW4gZmFpbAo+ID4gPiArCSAqIHdpdGhvdXQgZmFpbGluZyBlbnRpcmUgdGVz dC4KPiA+ID4gKwkgKi8KPiA+ID4gKwlib29sIGFsbG93X2ZhaWw7Cj4gPiA+ICAgfSBkYXRhX3Q7 Cj4gPiA+ICAgCj4gPiA+ICAgCj4gPiA+IEBAIC0xMjAsNyArMTI2LDYgQEAgc3RhdGljIHZvaWQK PiA+ID4gZ2VuZXJhdGVfY29tcGFyaXNvbl9jcmNfbGlzdChkYXRhX3QKPiA+ID4gKmRhdGEsIGln dF9vdXRwdXRfdCAqb3V0cHV0KQo+ID4gPiAgIAo+ID4gPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ewo+ID4gPiAgIAl1aW50MzJfdAlmb3VyY2M7Cj4gPiA+IC0JY2hhcgkJemVyb3BhZGRpbmc7Cj4g PiA+ICAgCWVudW0JCXsgQllURVNfUFBfMT0xLAo+ID4gPiAgIAkJCQlCWVRFU19QUF8yPTIsCj4g PiA+ICAgCQkJCUJZVEVTX1BQXzQ9NCwKPiA+ID4gQEAgLTEyOSwxMCArMTM0LDEwIEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3Qgewo+ID4gPiAgIAkJCQlTS0lQNCB9IGJwcDsKPiA+ID4gICAJdWludDMy X3QJdmFsdWU7Cj4gPiA+ICAgfSBmaWxsZXJzW10gPSB7Cj4gPiA+IC0JeyBEUk1fRk9STUFUX0M4 LCAwLCBCWVRFU19QUF8xLCAweGZmfSwKPiA+ID4gLQl7IERSTV9GT1JNQVRfUkdCNTY1LCAwLCBC WVRFU19QUF8yLCAweGZmZmZ9LAo+ID4gPiAtCXsgRFJNX0ZPUk1BVF9YUkdCODg4OCwgMCwgQllU RVNfUFBfNCwgMHhmZmZmZmZmZn0sCj4gPiA+IC0JeyBEUk1fRk9STUFUX1hCR1I4ODg4LCAwLCBC WVRFU19QUF80LCAweGZmZmZmZmZmfSwKPiA+ID4gKwl7IERSTV9GT1JNQVRfQzgsIEJZVEVTX1BQ XzEsIDB4ZmZ9LAo+ID4gPiArCXsgRFJNX0ZPUk1BVF9SR0I1NjUsIEJZVEVTX1BQXzIsIDB4ZmZm Zn0sCj4gPiA+ICsJeyBEUk1fRk9STUFUX1hSR0I4ODg4LCBCWVRFU19QUF80LCAweGZmZmZmZmZm fSwKPiA+ID4gKwl7IERSTV9GT1JNQVRfWEJHUjg4ODgsIEJZVEVTX1BQXzQsIDB4ZmZmZmZmZmZ9 LAo+ID4gPiAgIAo+ID4gPiAgIAkvKgo+ID4gPiAgIAkgKiBmb2xsb3dpbmcgdHdvIGFyZSBza2lw cGVkIGJlY2F1c2UgYmxlbmRpbmcgc2VlbXMgdG8KPiA+ID4gd29yawo+ID4gPiBAQCAtMTQwLDMx ICsxNDUsMzEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7Cj4gPiA+ICAgCSAqIFRlc3Qgc3RpbGwg Y3JlYXRlcyB0aGUgcGxhbmVzLCBqdXN0IGZpbGxpbmcgcGxhbmUKPiA+ID4gICAJICogYW5kIGdl dHRpbmcgY3JjIGlzIHNraXBwZWQuCj4gPiA+ICAgCSAqLwo+ID4gPiAtCXsgRFJNX0ZPUk1BVF9B UkdCODg4OCwgMCwgU0tJUDQsIDB4ZmZmZmZmZmZ9LAo+ID4gPiAtCXsgRFJNX0ZPUk1BVF9BQkdS ODg4OCwgMCwgU0tJUDQsIDB4MDBmZmZmZmZ9LAo+ID4gPiArCXsgRFJNX0ZPUk1BVF9BUkdCODg4 OCwgU0tJUDQsIDB4ZmZmZmZmZmZ9LAo+ID4gPiArCXsgRFJNX0ZPUk1BVF9BQkdSODg4OCwgU0tJ UDQsIDB4MDBmZmZmZmZ9LAo+ID4gPiAgIAo+ID4gPiAtCXsgRFJNX0ZPUk1BVF9YUkdCMjEwMTAx MCwgMCwgQllURVNfUFBfNCwgMHhmZmZmZmZmZn0sCj4gPiA+IC0JeyBEUk1fRk9STUFUX1hCR1Iy MTAxMDEwLCAwLCBCWVRFU19QUF80LCAweGZmZmZmZmZmfSwKPiA+ID4gKwl7IERSTV9GT1JNQVRf WFJHQjIxMDEwMTAsIEJZVEVTX1BQXzQsIDB4ZmZmZmZmZmZ9LAo+ID4gPiArCXsgRFJNX0ZPUk1B VF9YQkdSMjEwMTAxMCwgQllURVNfUFBfNCwgMHhmZmZmZmZmZn0sCj4gPiA+ICAgCj4gPiA+IC0J eyBEUk1fRk9STUFUX1lVWVYsIDAsIEJZVEVTX1BQXzQsIDB4ODBlYjgwZWJ9LAo+ID4gPiAtCXsg RFJNX0ZPUk1BVF9ZVllVLCAwLCBCWVRFU19QUF80LCAweDgwZWI4MGVifSwKPiA+ID4gLQl7IERS TV9GT1JNQVRfVllVWSwgMCwgQllURVNfUFBfNCwgMHhlYjgwZWI4MH0sCj4gPiA+IC0JeyBEUk1f Rk9STUFUX1VZVlksIDAsIEJZVEVTX1BQXzQsIDB4ZWI4MGViODB9LAo+ID4gPiArCXsgRFJNX0ZP Uk1BVF9ZVVlWLCBCWVRFU19QUF80LCAweDgwZWI4MGVifSwKPiA+ID4gKwl7IERSTV9GT1JNQVRf WVZZVSwgQllURVNfUFBfNCwgMHg4MGViODBlYn0sCj4gPiA+ICsJeyBEUk1fRk9STUFUX1ZZVVks IEJZVEVTX1BQXzQsIDB4ZWI4MGViODB9LAo+ID4gPiArCXsgRFJNX0ZPUk1BVF9VWVZZLCBCWVRF U19QUF80LCAweGViODBlYjgwfSwKPiA+ID4gICAKPiA+ID4gICAJLyoKPiA+ID4gICAJICogKHNl bWktKXBsYW5hciBmb3JtYXRzCj4gPiA+ICAgCSAqLwo+ID4gPiAtCXsgRFJNX0ZPUk1BVF9OVjEy LCAwLCBOVjEyLCAweDgwZWJ9LAo+ID4gPiArCXsgRFJNX0ZPUk1BVF9OVjEyLCBOVjEyLCAweDgw ZWJ9LAo+ID4gPiAgICNpZmRlZiBEUk1fRk9STUFUX1AwMTAKPiA+ID4gLQl7IERSTV9GT1JNQVRf UDAxMCwgMCwgUDAxMCwgMHg4MDAwZWIwMH0sCj4gPiA+ICsJeyBEUk1fRk9STUFUX1AwMTAsIFAw MTAsIDB4ODAwMGViMDB9LAo+ID4gPiAgICNlbmRpZgo+ID4gPiAgICNpZmRlZiBEUk1fRk9STUFU X1AwMTIKPiA+ID4gLQl7IERSTV9GT1JNQVRfUDAxMiwgMCwgUDAxMCwgMHg4MDAwZWIwMH0sCj4g PiA+ICsJeyBEUk1fRk9STUFUX1AwMTIsIFAwMTAsIDB4ODAwMGViMDB9LAo+ID4gPiAgICNlbmRp Zgo+ID4gPiAgICNpZmRlZiBEUk1fRk9STUFUX1AwMTYKPiA+ID4gLQl7IERSTV9GT1JNQVRfUDAx NiwgMCwgUDAxMCwgMHg4MDAwZWIwMH0sCj4gPiA+ICsJeyBEUk1fRk9STUFUX1AwMTYsIFAwMTAs IDB4ODAwMGViMDB9LAo+ID4gCj4gPiBEb2Vzbid0IHRoZSBsaWJyYXJ5IGltcGxlbWVudCB0aGlz IHN0dWZmIGFscmVhZHk/IEkgc2VlIHNpbWlsYXIKPiA+IGNvZGUgaW4KPiA+IGNyZWF0ZV9ib19m b3JfZmIoKS4gRXZlbiBpZiBuZXcgZm9ybWF0cyBhcmUgbmVlZGVkLCBJIHRoaW5rIGl0J3MKPiA+ IGJlc3QKPiA+IHRvIHB1dCB0aGF0IGluIHRoZSBsaWIvaWd0X2ZiLgo+IAo+IFRoZXNlIGRheXMg aWd0X2ZiIGRvZXMgaW1wbGVtZW50IG1vc3Qgb2YgdGhlc2UgbW9kZXMgSSBhZ3JlZS4gVGhpcwo+ IHRlc3QgCj4gd2FzIHdyaXR0ZW4gYmFjayBpbiB0aGUgZGF5IHdoZW4gaWd0IHN1cHBvcnQgd2Fz IGxpbWl0ZWQgdG8gUkdCODg4Cj4gYW5kIAo+IFJHQjU2NS4gSWRlYSBvZiB0aGlzIHRlc3Qgd2Fz IGp1c3QgdG8gdHJ5IGFsbCBmYiBmb3JtYXRzIGtlcm5lbCAKPiBhZHZlcnRpc2VkIGNvdWxkIGFj dHVhbGx5IGluaXRpYWxpemUuCj4gCj4gSWYgeW91IGZlZWwgdGhpcyB0ZXN0IGlzIG9ic29sZXRl IHlvdSBjb3VsZCBhc2sgZm9yIHZvdGVzIHRvIGdldCBpdCAKPiByZW1vdmVkLCBJIHRyaWVkIHRo YXQgYmVmb3JlIHhtYXMgYnV0IG5vYm9keSB3YXMgaW50ZXJlc3RlZCBpbgo+IHJlbW92aW5nIAo+ IHRoaXMgc28gSSBzdGFydGVkIHRvIGZpeCBwcm9ibGVtcyBzZWVuIGluIHRoaXMgdGVzdC4KCkkg aGFkIGEgcXVpY2sgZ2xhbmNlIGF0IGttc19wbGFuZSwgbGlrZSB5b3Ugc2FpZCBpdCBwcmV0dHkg bXVjaCBkb2VzCnRoZSBzYW1lIHRoaW5ncyBidXQgYmV0dGVyLiBNeSBzdWdnZXN0aW9uIGlzIHRv IAoxKSBhZGQgc3VwcG9ydCBpbiB0aGUgbGlicmFyeSBmb3IgdGhlIG1pc3NpbmcgZm9ybWF0cyBp LmUuLCAKRFJNX0ZPUk1BVF9DOCwgRFJNX0ZPUk1BVF9YQkdSMjEwMTAxMAoyKSBnZXQgcmlkIG9m IHRoaXMgdGVzdC4KCgotREsKCj4gCj4gSW4gYW55IGNhc2UgdGhlc2UgZGF5cyBvbmUgY2Fubm90 IGluY2x1ZGUgbmV3IGZiIGZvcm1hdHMgaW50byBpOTE1IAo+IHdpdGhvdXQgSUdUIHN1cHBvcnQg c28ga21zX3BsYW5lIHRlc3QgZG9lcyB3aGF0IHRoaXMgdGVzdCBkb2VzLgo+IAo+ID4gCj4gPiAK PiA+ID4gICAjZW5kaWYKPiA+ID4gLQl7IDAsIDAsIDAsIDAgfQo+ID4gPiArCXsgMCwgU0tJUDQs IDAgfQo+ID4gPiAgIH07Cj4gPiA+ICAgCj4gPiA+ICAgLyoKPiA+ID4gQEAgLTIzMywxMyArMjM4 LDEwIEBAIHN0YXRpYyBib29sIGZpbGxfaW5fZmIoZGF0YV90ICpkYXRhLAo+ID4gPiBpZ3Rfb3V0 cHV0X3QgKm91dHB1dCwgaWd0X3BsYW5lX3QgKnBsYW5lLAo+ID4gPiAgIAkJCXdyaXRlc2l6ZSA9 IGRhdGEtPnNpemU7Cj4gPiA+ICAgCQkJYnJlYWs7Cj4gPiA+ICAgCQl9Cj4gPiA+IC0JCWlndF9p bmZvKCJGb3JtYXQgJXMgQ1JDIGNvbXBhcmlzb24gc2tpcHBlZCBieQo+ID4gPiBkZXNpZ24uXG4i LAo+ID4gPiAtCQkJIChjaGFyKikmZmlsbGVyc1tpXS5mb3VyY2MpOwo+ID4gPiAtCj4gPiA+IC0J CXJldHVybiBmYWxzZTsKPiA+ID4gKwkvKiBGYWxsIHRocm91Z2ggKi8KPiA+ID4gICAJZGVmYXVs dDoKPiA+ID4gLQkJaWd0X2luZm8oIlVuc3VwcG9ydGVkIG1vZGUgZm9yIHRlc3QgJXNcbiIsCj4g PiA+IC0JCQkgKGNoYXIqKSZmaWxsZXJzW2ldLmZvdXJjYyk7Cj4gPiA+ICsJCWlndF9pbmZvKCJV bnN1cHBvcnRlZCBtb2RlIGZvciB0ZXN0aW5nIENSQyAlLjRzXG4iLAo+ID4gPiArCQkJIChjaGFy ICopJmZvcm1hdCk7Cj4gPiA+ICAgCQlyZXR1cm4gZmFsc2U7Cj4gPiA+ICAgCX0KPiA+ID4gICAK PiA+ID4gQEAgLTI2MCw2ICsyNjIsOCBAQCBzdGF0aWMgYm9vbCBzZXR1cF9mYihkYXRhX3QgKmRh dGEsCj4gPiA+IGlndF9vdXRwdXRfdAo+ID4gPiAqb3V0cHV0LCBpZ3RfcGxhbmVfdCAqcGxhbmUs Cj4gPiA+ICAgCWludCBicHAgPSAwOwo+ID4gPiAgIAlpbnQgaTsKPiA+ID4gICAKPiA+ID4gKwlk YXRhLT5hbGxvd19mYWlsID0gZmFsc2U7Cj4gPiA+ICsKPiA+ID4gICAJbW9kZSA9IGlndF9vdXRw dXRfZ2V0X21vZGUob3V0cHV0KTsKPiA+ID4gICAJaWYgKHBsYW5lLT50eXBlICE9IERSTV9QTEFO RV9UWVBFX0NVUlNPUikgewo+ID4gPiAgIAkJdyA9IG1vZGUtPmhkaXNwbGF5Owo+ID4gPiBAQCAt Mjg4LDYgKzI5Miw4IEBAIHN0YXRpYyBib29sIHNldHVwX2ZiKGRhdGFfdCAqZGF0YSwKPiA+ID4g aWd0X291dHB1dF90Cj4gPiA+ICpvdXRwdXQsIGlndF9wbGFuZV90ICpwbGFuZSwKPiA+ID4gICAJ CWJyZWFrOwo+ID4gPiAgIAo+ID4gPiAgIAljYXNlIFNLSVA0Ogo+ID4gPiArCQlkYXRhLT5hbGxv d19mYWlsID0gdHJ1ZTsKPiA+ID4gKwkJLyogZmFsbCB0aHJvdWdoICovCj4gPiAKPiA+IFdvdWxk bid0IHRoaXMgcHJldmVudCBDUkMgdGVzdGluZyBmb3IKPiA+IChmaWxsZXJzW2ldLmZvdXJjYyA9 PSBEUk1fRk9STUFUX0FSR0I4ODg4ICYmIHBsYW5lLT50eXBlID09Cj4gPiBEUk1fUExBTkVfVFlQ RV9DVVJTT1IpID8KPiAKPiBUaGVyZSB3YXMgbGF0ZXIgcGF0Y2ggd2hpY2ggZml4ZWQgdGhpcy4g VGhpcyB2ZXJzaW9uIGRpZG4ndCBwYXNzIENJCj4gdGVzdCAKPiBiZWNhdXNlIEkgaGFkIGZvcmdv dHRlbiAiaWd0X2Rpc3BsYXlfcmVzZXQoJmRhdGEtPmRpc3BsYXkpIiBjYWxsIGJpdCAKPiBiZWxv dywgaXQga2lsbGVkIHRlc3Qgb24gS0JMLgo+IAo+ID4gCj4gPiAKPiA+ID4gICAJY2FzZSBCWVRF U19QUF80Ogo+ID4gPiAgIAkJYnBwID0gMzI7Cj4gPiA+ICAgCQlicmVhazsKPiA+ID4gQEAgLTMy NCw3ICszMzAsNyBAQCBzdGF0aWMgYm9vbCBzZXR1cF9mYihkYXRhX3QgKmRhdGEsCj4gPiA+IGln dF9vdXRwdXRfdAo+ID4gPiAqb3V0cHV0LCBpZ3RfcGxhbmVfdCAqcGxhbmUsCj4gPiA+ICAgCj4g PiA+ICAgCWlmKHJldCA8IDApIHsKPiA+ID4gICAJCWlndF9pbmZvKCJDcmVhdGluZyBmYiBmb3Ig Zm9ybWF0ICVzIGZhaWxlZCwKPiA+ID4gcmV0dXJuIGNvZGUKPiA+ID4gJWRcbiIsCj4gPiA+IC0J CQkgKGNoYXIqKSZkYXRhLT5mb3JtYXQubmFtZSwgcmV0KTsKPiA+ID4gKwkJCSAoY2hhciAqKSZk YXRhLT5mb3JtYXQubmFtZSwgcmV0KTsKPiA+ID4gICAKPiA+ID4gICAJCXJldHVybiBmYWxzZTsK PiA+ID4gICAJfQo+ID4gPiBAQCAtMzg1LDEzICszOTEsMTQgQEAgc3RhdGljIGJvb2wgcHJlcGFy ZV9jcnRjKGRhdGFfdCAqZGF0YSwKPiA+ID4gaWd0X291dHB1dF90ICpvdXRwdXQsCj4gPiA+ICAg Cj4gPiA+ICAgCj4gPiA+ICAgc3RhdGljIGludAo+ID4gPiAtdGVzdF9vbmVfbW9kZShkYXRhX3Qq IGRhdGEsIGlndF9vdXRwdXRfdCAqb3V0cHV0LCBpZ3RfcGxhbmVfdCoKPiA+IAo+ID4gU2lkZSBu b3RlIG5vdCByZWxhdGVkIHRvIHRoZSBjaGFuZ2VzIHlvdSBhcmUgbWFraW5nLCAibW9kZSIgaXMK PiA+IHF1aXRlCj4gPiBtaXNsZWFkaW5nLiBTaG91bGRuJ3QgdGhlIHRlc3QgYmUgY2FsbGVkIGtt c19waXhlbF9mb3JtYXRzX2NyYyBvcgo+ID4gc29tZXRoaW5nPyBJIHRob3VnaHQgdGhpcyB3YXMg YWJvdXQgdGVzdGluZyBkaWZmZXJlbnQgY29ubmVjdG9yCj4gPiBtb2Rlcy4KPiA+IAo+ID4gCj4g PiA+IHBsYW5lLAo+ID4gPiAtCSAgICAgIGludCBtb2RlKQo+ID4gPiArdGVzdF9vbmVfbW9kZShk YXRhX3QgKmRhdGEsIGlndF9vdXRwdXRfdCAqb3V0cHV0LCBpZ3RfcGxhbmVfdAo+ID4gPiAqcGxh bmUsCj4gPiA+ICsJICAgICAgZW51bSBwaXBlIHBpcGUsIGludCBtb2RlKQo+ID4gPiAgIHsKPiA+ ID4gICAJaWd0X2NyY190IGN1cnJlbnRfY3JjOwo+ID4gPiAgIAlzaWduZWQgclZhbCA9IDA7Cj4g PiA+ICAgCWJvb2wgZG9fY3JjOwo+ID4gPiAtCWNoYXIqIGNyY2NvbXBhcmVbMl07Cj4gPiA+ICsJ Y2hhciAqY3JjY29tcGFyZVsyXTsKPiA+ID4gKwlpZ3RfY3JjX3QgKnBfY3JjOwo+ID4gPiAgIAo+ ID4gPiAgIAlpZiAocHJlcGFyZV9jcnRjKGRhdGEsIG91dHB1dCwgcGxhbmUsIG1vZGUpKXsKPiA+ ID4gICAJCS8qCj4gPiA+IEBAIC00MDksMzIgKzQxNiwzMiBAQCB0ZXN0X29uZV9tb2RlKGRhdGFf dCogZGF0YSwgaWd0X291dHB1dF90Cj4gPiA+ICpvdXRwdXQsIGlndF9wbGFuZV90KiBwbGFuZSwK PiA+ID4gICAJCWlmIChkb19jcmMpIHsKPiA+ID4gICAJCQlpZ3RfcGlwZV9jcmNfZ2V0X2N1cnJl bnQoZGF0YS0+Z2Z4X2ZkLAo+ID4gPiBkYXRhLQo+ID4gPiA+IHBpcGVfY3JjLCAmY3VycmVudF9j cmMpOwo+ID4gPiAKPiA+ID4gICAKPiA+ID4gLQkJCWlmIChwbGFuZS0+dHlwZSAhPSBEUk1fUExB TkVfVFlQRV9DVVJTT1IpIHsKPiA+ID4gLQkJCQlpZiAoIWlndF9jaGVja19jcmNfZXF1YWwoJmN1 cnJlbnRfY3JjLAo+ID4gPiAtCQkJCQkmZGF0YS0+ZnVsbHNjcmVlbl9jcmMpKSB7Cj4gPiA+IC0J CQkJCWNyY2NvbXBhcmVbMF0gPQo+ID4gPiBpZ3RfY3JjX3RvX3N0cmluZygmY3VycmVudF9jcmMp Owo+ID4gPiAtCQkJCQljcmNjb21wYXJlWzFdID0KPiA+ID4gaWd0X2NyY190b19zdHJpbmcoJmRh dGEtPmZ1bGxzY3JlZW5fY3JjKTsKPiA+ID4gLQkJCQkJaWd0X3dhcm4oImNyYyBtaXNtYXRjaC4g dGFyZ2V0Cj4gPiA+ICUuOHMsIHJlc3VsdCAlLjhzLlxuIiwgY3JjY29tcGFyZVswXSwgY3JjY29t cGFyZVsxXSk7Cj4gPiA+IC0JCQkJCWZyZWUoY3JjY29tcGFyZVswXSk7Cj4gPiA+IC0JCQkJCWZy ZWUoY3JjY29tcGFyZVsxXSk7Cj4gPiA+IC0JCQkJCXJWYWwrKzsKPiA+ID4gLQkJCQl9Cj4gPiA+ IC0JCQl9IGVsc2Ugewo+ID4gPiAtCQkJCWlmICghaWd0X2NoZWNrX2NyY19lcXVhbCgmY3VycmVu dF9jcmMsCj4gPiA+IC0JCQkJCSZkYXRhLT5jdXJzb3JfY3JjKSkgewo+ID4gPiAtCQkJCQljcmNj b21wYXJlWzBdID0KPiA+ID4gaWd0X2NyY190b19zdHJpbmcoJmN1cnJlbnRfY3JjKTsKPiA+ID4g LQkJCQkJY3JjY29tcGFyZVsxXSA9Cj4gPiA+IGlndF9jcmNfdG9fc3RyaW5nKCZkYXRhLT5jdXJz b3JfY3JjKTsKPiA+ID4gLQkJCQkJaWd0X3dhcm4oImNyYyBtaXNtYXRjaC4gdGFyZ2V0Cj4gPiA+ ICUuOHMsIHJlc3VsdCAlLjhzLlxuIiwgY3JjY29tcGFyZVswXSwgY3JjY29tcGFyZVsxXSk7Cj4g PiA+IC0JCQkJCWZyZWUoY3JjY29tcGFyZVswXSk7Cj4gPiA+IC0JCQkJCWZyZWUoY3JjY29tcGFy ZVsxXSk7Cj4gPiA+ICsJCQlpZiAocGxhbmUtPnR5cGUgIT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09S KQo+ID4gPiArCQkJCXBfY3JjID0gJmRhdGEtPmZ1bGxzY3JlZW5fY3JjOwo+ID4gPiArCQkJZWxz ZQo+ID4gPiArCQkJCXBfY3JjID0gJmRhdGEtPmN1cnNvcl9jcmM7Cj4gPiA+ICsKPiA+ID4gKwkJ CWlmICghaWd0X2NoZWNrX2NyY19lcXVhbCgmY3VycmVudF9jcmMsIHBfY3JjKSkKPiA+ID4gewo+ ID4gPiArCQkJCWNyY2NvbXBhcmVbMF0gPQo+ID4gPiBpZ3RfY3JjX3RvX3N0cmluZygmY3VycmVu dF9jcmMpOwo+ID4gPiArCQkJCWNyY2NvbXBhcmVbMV0gPQo+ID4gPiBpZ3RfY3JjX3RvX3N0cmlu ZyhwX2NyYyk7Cj4gPiA+ICsJCQkJaWd0X3dhcm4oImNyYyBtaXNtYXRjaCBvbiAlcyBQSVBFICVz Cj4gPiA+IHBsYW5lICVkIGZvcm1hdCAlLjRzLiB0YXJnZXQgJS44cywgcmVzdWx0ICUuOHMuXG4i LAo+ID4gPiArCQkJCQkgaWd0X291dHB1dF9uYW1lKG91dHB1dCksCj4gPiA+ICsJCQkJCSBrbXN0 ZXN0X3BpcGVfbmFtZShwaXBlKSwKPiA+ID4gKwkJCQkJIHBsYW5lLT5pbmRleCwKPiA+ID4gKwkJ CQkJIChjaGFyICopJmRhdGEtPmZvcm1hdC5uYW1lLAo+ID4gPiArCQkJCQkgY3JjY29tcGFyZVsw XSwKPiA+ID4gKwkJCQkJIGNyY2NvbXBhcmVbMV0pOwo+ID4gCj4gPiBUaGlzIGlzIHRoZSBvbmx5 IGh1bmsgSSB3YXMgaG9waW5nIHlvdSB3b3VsZCBiZSBhYmxlIHRvIHNwbGl0IGludG8KPiA+IGEK PiA+IHNlcGFyYXRlIHBhdGNoLgo+ID4gCj4gPiA+ICsKPiA+ID4gKwkJCQlmcmVlKGNyY2NvbXBh cmVbMF0pOwo+ID4gPiArCQkJCWZyZWUoY3JjY29tcGFyZVsxXSk7Cj4gPiA+ICsJCQkJaWYgKCFk YXRhLT5hbGxvd19mYWlsKQo+ID4gCj4gPiBJcyB0aGVyZSBhIHBvaW50IG9mIHJlYWRpbmcgQ1JD cyBpZiBmYWlsdXJlcyBhcmUgYWxsb3dlZD8KPiAKPiBJdCBpcyBtYXJrZWQgYXMgbW9kZSB3aGlj aCBpcyBub3QgbGlzdGVkIGluIHRoaXMgdGVzdCBidXQKPiBpbml0aWFsaXphdGlvbiAKPiB3b3Jr ZWQgc28gZGVmYXVsdCBwYXRocyBhcmUgZm9sbG93ZWQuIEl0IHdpbGwgcHJvZHVjZSB3YXJuaW5n IHdoaWNoCj4gSSAKPiB0aGluayBpcyB1c2VmdWwgZm9yIGluZGljYXRpbmcgdGhpcyB0ZXN0IG5l ZWQgdXBkYXRpbmcgYnV0IHdpbGwgbm90IAo+IHByb2R1Y2UgZmFpbHVyZSB0byBtYXJrIG5ld2x5 IGFkZGVkIGZlYXR1cmVzIGNhdXNlZCBwcm9ibGVtcy4KPiAKPiA+IAo+ID4gPiAgIAkJCQkJclZh bCsrOwo+ID4gPiAtCQkJCX0KPiA+ID4gICAJCQl9Cj4gPiA+ICAgCQl9Cj4gPiA+ICAgCQlyZW1v dmVfZmIoZGF0YSwgb3V0cHV0LCBwbGFuZSk7Cj4gPiA+ICAgCQlyZXR1cm4gclZhbDsKPiA+ID4g ICAJfQo+ID4gPiAtCXJldHVybiAxOwo+ID4gPiArCXJldHVybiBkYXRhLT5hbGxvd19mYWlsID8g MCA6IDE7Cj4gPiA+ICAgfQo+ID4gPiAgIAo+ID4gPiAgIAo+ID4gPiBAQCAtNDQ1LDExICs0NTIs MTEgQEAgdGVzdF9hdmFpbGFibGVfbW9kZXMoZGF0YV90KiBkYXRhKQo+ID4gPiAgIAlpZ3RfcGxh bmVfdCAqcGxhbmU7Cj4gPiA+ICAgCWludCBtb2RlaW5kZXg7Cj4gPiA+ICAgCWVudW0gcGlwZSBw aXBlOwo+ID4gPiAtCWludCBpbnZhbGlkcyA9IDA7Cj4gPiA+ICsJaW50IGZhaWxlZF9jcmNzID0g MDsKPiA+ID4gICAJZHJtTW9kZVBsYW5lICptb2RlUGxhbmU7Cj4gPiA+IC0JY2hhciBwbGFuZXR5 cGVbM11bOF0gPSB7Ik9WRVJMQVlcMCIsICJQUklNQVJZXDAiLCAiQ1VSU09SXDAiIH07Cj4gPiA+ ICAgCj4gPiA+ICAgCWZvcl9lYWNoX3BpcGVfd2l0aF92YWxpZF9vdXRwdXQoJmRhdGEtPmRpc3Bs YXksIHBpcGUsCj4gPiA+IG91dHB1dCkgewo+ID4gPiArCQlpZ3RfZGlzcGxheV9yZXNldCgmZGF0 YS0+ZGlzcGxheSk7Cj4gPiA+ICAgCQlpZ3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dCwgcGlwZSk7 Cj4gPiA+ICAgCQlpZ3RfZGlzcGxheV9jb21taXQyKCZkYXRhLT5kaXNwbGF5LCBkYXRhLQo+ID4g PiA+Y29tbWl0KTsKPiA+ID4gICAKPiA+ID4gQEAgLTQ3MiwxNyArNDc5LDkgQEAgdGVzdF9hdmFp bGFibGVfbW9kZXMoZGF0YV90KiBkYXRhKQo+ID4gPiAgIAkJCSAgICAgbW9kZWluZGV4KyspIHsK PiA+ID4gICAJCQkJZGF0YS0+Zm9ybWF0LmR3b3JkID0gbW9kZVBsYW5lLQo+ID4gPiA+IGZvcm1h dHNbbW9kZWluZGV4XTsKPiA+ID4gCj4gPiA+ICAgCj4gPiA+IC0JCQkJaWd0X2luZm8oIlRlc3Rp bmcgY29ubmVjdG9yICVzIHVzaW5nCj4gPiA+IHBpcGUgJXMiIFwKPiA+ID4gLQkJCQkJICIgcGxh bmUgaW5kZXggJWQgdHlwZSAlcyBtb2RlCj4gPiA+ICVzXG4iLAo+ID4gPiAtCQkJCQkgaWd0X291 dHB1dF9uYW1lKG91dHB1dCksCj4gPiA+IC0JCQkJCSBrbXN0ZXN0X3BpcGVfbmFtZShwaXBlKSwK PiA+ID4gLQkJCQkJIHBsYW5lLT5pbmRleCwKPiA+ID4gLQkJCQkJIHBsYW5ldHlwZVtwbGFuZS0+ dHlwZV0sCj4gPiA+IC0JCQkJCSAoY2hhciopJmRhdGEtPmZvcm1hdC5uYW1lKTsKPiA+ID4gLQo+ ID4gPiAtCQkJCWludmFsaWRzICs9IHRlc3Rfb25lX21vZGUoZGF0YSwgb3V0cHV0LAo+ID4gPiAt CQkJCQkJCSAgcGxhbmUsCj4gPiA+IC0JCQkJCQkJICBtb2RlUGxhbmUtCj4gPiA+ID4gZm9ybWF0 c1ttb2RlaW5kZXhdKTsKPiA+ID4gCj4gPiA+ICsJCQkJZmFpbGVkX2NyY3MgKz0gdGVzdF9vbmVf bW9kZShkYXRhLAo+ID4gPiBvdXRwdXQsCj4gPiA+ICsJCQkJCQkJICAgICBwbGFuZSwKPiA+ID4g cGlwZSwKPiA+ID4gKwkJCQkJCQkgICAgIG1vZGVQbGFuZS0KPiA+ID4gPiBmb3JtYXRzW21vZGVp bmRleF0pOwo+ID4gPiAKPiA+ID4gICAJCQl9Cj4gPiA+ICAgCQkJZHJtTW9kZUZyZWVQbGFuZSht b2RlUGxhbmUpOwo+ID4gPiAgIAkJfQo+ID4gPiBAQCAtNDkxLDcgKzQ5MCw3IEBAIHRlc3RfYXZh aWxhYmxlX21vZGVzKGRhdGFfdCogZGF0YSkKPiA+ID4gICAJCWlndF9kaXNwbGF5X2NvbW1pdDIo JmRhdGEtPmRpc3BsYXksIGRhdGEtCj4gPiA+ID5jb21taXQpOwo+ID4gPiAgIAkJaWd0X291dHB1 dF9zZXRfcGlwZShvdXRwdXQsIFBJUEVfTk9ORSk7Cj4gPiA+ICAgCX0KPiA+ID4gLQlpZ3RfYXNz ZXJ0KGludmFsaWRzID09IDApOwo+ID4gPiArCWlndF9hc3NlcnRfZigoZmFpbGVkX2NyY3MgPT0g MCksICJUaGVyZSB3YXMgJWQgbW9kZXMgd2l0aAo+ID4gPiBpbnZhbGlkIGNyY1xuIiwgZmFpbGVk X2NyY3MpOwo+ID4gPiAgIH0KPiA+ID4gICAKPiA+ID4gICAKPiAKPiAKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0Cmln dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=