From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kahola Subject: Re: [PATCH 2/2] drm/i915/dsi: start using enum mipi_dsi_pixel_format Date: Thu, 14 Jan 2016 15:52:29 +0200 Message-ID: <1452779549.4104.33.camel@sorvi> References: <1452767287-8838-1-git-send-email-jani.nikula@intel.com> <1452767287-8838-2-git-send-email-jani.nikula@intel.com> Reply-To: mika.kahola@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id A3E2F8A6FA for ; Thu, 14 Jan 2016 05:51:11 -0800 (PST) In-Reply-To: <1452767287-8838-2-git-send-email-jani.nikula@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE2LTAxLTE0IGF0IDEyOjI4ICswMjAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiBB IHNtYWxsIHN0ZXAgbW92aW5nIHVzIGNsb3NlciB0byBEUk0gTUlQSSBEU0kgY29kZS4gVXNlIGVu dW0KPiBtaXBpX2RzaV9waXhlbF9mb3JtYXQgaW5zdGVhZCBvZiBvdXIgb3duLiBUaGUgZmlyc3Qg YmVuZWZpdCBpcyBiZWluZwo+IGFibGUgdG8gdXNlIGNvbW1vbiBtaXBpX2RzaV9waXhlbF9mb3Jt YXRfdG9fYnBwKCkuCj4gCj4gVGhlcmUncyBhIGxpdHRsZSBiYWNrIGFuZCBmb3J0aCBjb252ZXJz aW9uIHdpdGggdGhlIFZCVCAtPiBlbnVtIC0+Cj4gcmVnaXN0ZXIsIHNpbmNlIHdlIGhhdmUganVz dCBzaG92ZWQgdGhlIFZCVCB2YWx1ZSBpbnRvIHRoZSByZWdpc3Rlcgo+IGRpcmVjdGx5LiBMb25n ZXIgdGVybSwgYWxsIHRoZSBWQlQgcGFyc2luZyBhbmQgZGVjaXBoZXJpbmcgc2hvdWxkIGJlCj4g ZG9uZSBpbiBpbnRlbF9iaW9zLmMsIGFuZCBhYnN0cmFjdGVkIHRoZXJlLgo+IApUZXN0ZWQtYnk6 IE1pa2EgS2Fob2xhIDxtaWthLmthaG9sYUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogSmFu aSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHNpLmMgICAgICAgICAgIHwgMTkgKysrKysrKysrKysrKysrLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuaCAgICAgICAgICAgfCAgOCArKysrKy0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wYW5lbF92YnQuYyB8IDM2ICsrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGxs LmMgICAgICAgfCAzMCArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDQgZmlsZXMgY2hhbmdl ZCwgNTQgaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHNpLmMKPiBpbmRleCA5MWNlZjM1MjVjOTMuLjgzZjE4NzkxYzAwOSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RzaS5jCj4gQEAgLTg0MCw2ICs4NDAsMjMgQEAgc3RhdGljIHZvaWQgc2V0 X2RzaV90aW1pbmdzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgCX0KPiAgfQo+ICAK PiArc3RhdGljIHUzMiBwaXhlbF9mb3JtYXRfdG9fcmVnKGVudW0gbWlwaV9kc2lfcGl4ZWxfZm9y bWF0IGZtdCkKPiArewo+ICsJc3dpdGNoIChmbXQpIHsKPiArCWNhc2UgTUlQSV9EU0lfRk1UX1JH Qjg4ODoKPiArCQlyZXR1cm4gVklEX01PREVfRk9STUFUX1JHQjg4ODsKPiArCWNhc2UgTUlQSV9E U0lfRk1UX1JHQjY2NjoKPiArCQlyZXR1cm4gVklEX01PREVfRk9STUFUX1JHQjY2NjsKPiArCWNh c2UgTUlQSV9EU0lfRk1UX1JHQjY2Nl9QQUNLRUQ6Cj4gKwkJcmV0dXJuIFZJRF9NT0RFX0ZPUk1B VF9SR0I2NjZfUEFDS0VEOwo+ICsJY2FzZSBNSVBJX0RTSV9GTVRfUkdCNTY1Ogo+ICsJCXJldHVy biBWSURfTU9ERV9GT1JNQVRfUkdCNTY1Owo+ICsJZGVmYXVsdDoKPiArCQlNSVNTSU5HX0NBU0Uo Zm10KTsKPiArCQlyZXR1cm4gVklEX01PREVfRk9STUFUX1JHQjY2NjsKPiArCX0KPiArfQo+ICsK PiAgc3RhdGljIHZvaWQgaW50ZWxfZHNpX3ByZXBhcmUoc3RydWN0IGludGVsX2VuY29kZXIgKmlu dGVsX2VuY29kZXIpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZpbnRl bF9lbmNvZGVyLT5iYXNlOwo+IEBAIC05MTAsNyArOTI3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxf ZHNpX3ByZXBhcmUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCj4gIAkJdmFs IHw9IGludGVsX2RzaS0+Y2hhbm5lbCA8PCBWSURfTU9ERV9DSEFOTkVMX05VTUJFUl9TSElGVDsK PiAgCj4gIAkJLyogWFhYOiBjcm9zcy1jaGVjayBicHAgdnMuIHBpeGVsIGZvcm1hdD8gKi8KPiAt CQl2YWwgfD0gaW50ZWxfZHNpLT5waXhlbF9mb3JtYXQ7Cj4gKwkJdmFsIHw9IHBpeGVsX2Zvcm1h dF90b19yZWcoaW50ZWxfZHNpLT5waXhlbF9mb3JtYXQpOwo+ICAJfQo+ICAKPiAgCXRtcCA9IDA7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmgKPiBpbmRleCBkZTdiZTdmM2ZiNDIuLjU0ZjA3MmNk NzhmMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oCj4gQEAgLTYyLDggKzYyLDEyIEBA IHN0cnVjdCBpbnRlbF9kc2kgewo+ICAJLyogbnVtYmVyIG9mIERTSSBsYW5lcyAqLwo+ICAJdW5z aWduZWQgaW50IGxhbmVfY291bnQ7Cj4gIAo+IC0JLyogdmlkZW8gbW9kZSBwaXhlbCBmb3JtYXQg Zm9yIE1JUElfRFNJX0ZVTkNfUFJHIHJlZ2lzdGVyICovCj4gLQl1MzIgcGl4ZWxfZm9ybWF0Owo+ ICsJLyoKPiArCSAqIHZpZGVvIG1vZGUgcGl4ZWwgZm9ybWF0Cj4gKwkgKgo+ICsJICogWFhYOiBj b25zb2xpZGF0ZSBvbiAuZm9ybWF0IGluIHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UuCj4gKwkgKi8K PiArCWVudW0gbWlwaV9kc2lfcGl4ZWxfZm9ybWF0IHBpeGVsX2Zvcm1hdDsKPiAgCj4gIAkvKiB2 aWRlbyBtb2RlIGZvcm1hdCBmb3IgTUlQSV9WSURFT19NT0RFX0ZPUk1BVCByZWdpc3RlciAqLwo+ ICAJdTMyIHZpZGVvX21vZGVfZm9ybWF0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kc2lfcGFuZWxfdmJ0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k c2lfcGFuZWxfdmJ0LmMKPiBpbmRleCAzZjRiOTcxMmJmZmQuLjlhOTYzZmEzNDkxYyAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGFuZWxfdmJ0LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGFuZWxfdmJ0LmMKPiBAQCAtMzkyLDYg KzM5MiwyNSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wYW5lbF9mdW5jcyB2YnRfcGFuZWxf ZnVuY3MgPSB7Cj4gIAkuZ2V0X21vZGVzID0gdmJ0X3BhbmVsX2dldF9tb2RlcywKPiAgfTsKPiAg Cj4gKy8qIFhYWDogVGhpcyBzaG91bGQgYmUgZG9uZSB3aGVuIHBhcnNpbmcgdGhlIFZCVCBpbiBp bnRlbF9iaW9zLmMgKi8KPiArc3RhdGljIGVudW0gbWlwaV9kc2lfcGl4ZWxfZm9ybWF0IHBpeGVs X2Zvcm1hdF9mcm9tX3ZidCh1MzIgZm10KQo+ICt7Cj4gKwkvKiBJdCBqdXN0IHNvIGhhcHBlbnMg dGhlIFZCVCBtYXRjaGVzIHJlZ2lzdGVyIGNvbnRlbnRzLiAqLwo+ICsJc3dpdGNoIChmbXQpIHsK PiArCWNhc2UgVklEX01PREVfRk9STUFUX1JHQjg4ODoKPiArCQlyZXR1cm4gTUlQSV9EU0lfRk1U X1JHQjg4ODsKPiArCWNhc2UgVklEX01PREVfRk9STUFUX1JHQjY2NjoKPiArCQlyZXR1cm4gTUlQ SV9EU0lfRk1UX1JHQjY2NjsKPiArCWNhc2UgVklEX01PREVfRk9STUFUX1JHQjY2Nl9QQUNLRUQ6 Cj4gKwkJcmV0dXJuIE1JUElfRFNJX0ZNVF9SR0I2NjZfUEFDS0VEOwo+ICsJY2FzZSBWSURfTU9E RV9GT1JNQVRfUkdCNTY1Ogo+ICsJCXJldHVybiBNSVBJX0RTSV9GTVRfUkdCNTY1Owo+ICsJZGVm YXVsdDoKPiArCQlNSVNTSU5HX0NBU0UoZm10KTsKPiArCQlyZXR1cm4gTUlQSV9EU0lfRk1UX1JH QjY2NjsKPiArCX0KPiArfQo+ICsKPiAgc3RydWN0IGRybV9wYW5lbCAqdmJ0X3BhbmVsX2luaXQo c3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCB1MTYgcGFuZWxfaWQpCj4gIHsKPiAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kc2ktPmJhc2UuYmFzZS5kZXY7Cj4gQEAgLTQwMCw3 ICs0MTksNyBAQCBzdHJ1Y3QgZHJtX3BhbmVsICp2YnRfcGFuZWxfaW5pdChzdHJ1Y3QgaW50ZWxf ZHNpICppbnRlbF9kc2ksIHUxNiBwYW5lbF9pZCkKPiAgCXN0cnVjdCBtaXBpX3Bwc19kYXRhICpw cHMgPSBkZXZfcHJpdi0+dmJ0LmRzaS5wcHM7Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSA9IGRldl9wcml2LT52YnQubGZwX2x2ZHNfdmJ0X21vZGU7Cj4gIAlzdHJ1Y3QgdmJ0X3Bh bmVsICp2YnRfcGFuZWw7Cj4gLQl1MzIgYml0c19wZXJfcGl4ZWwgPSAyNDsKPiArCXUzMiBicHA7 Cj4gIAl1MzIgdGxweF9ucywgZXh0cmFfYnl0ZV9jb3VudCwgYml0cmF0ZSwgdGxweF91aTsKPiAg CXUzMiB1aV9udW0sIHVpX2RlbjsKPiAgCXUzMiBwcmVwYXJlX2NudCwgZXhpdF96ZXJvX2NudCwg Y2xrX3plcm9fY250LCB0cmFpbF9jbnQ7Cj4gQEAgLTQxNiwxNSArNDM1LDExIEBAIHN0cnVjdCBk cm1fcGFuZWwgKnZidF9wYW5lbF9pbml0KHN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSwgdTE2 IHBhbmVsX2lkKQo+ICAJaW50ZWxfZHNpLT5lb3RwX3BrdCA9IG1pcGlfY29uZmlnLT5lb3RfcGt0 X2Rpc2FibGVkID8gMCA6IDE7Cj4gIAlpbnRlbF9kc2ktPmNsb2NrX3N0b3AgPSBtaXBpX2NvbmZp Zy0+ZW5hYmxlX2Nsa19zdG9wID8gMSA6IDA7Cj4gIAlpbnRlbF9kc2ktPmxhbmVfY291bnQgPSBt aXBpX2NvbmZpZy0+bGFuZV9jbnQgKyAxOwo+IC0JaW50ZWxfZHNpLT5waXhlbF9mb3JtYXQgPSBt aXBpX2NvbmZpZy0+dmlkZW9tb2RlX2NvbG9yX2Zvcm1hdCA8PCA3Owo+ICsJaW50ZWxfZHNpLT5w aXhlbF9mb3JtYXQgPSBwaXhlbF9mb3JtYXRfZnJvbV92YnQobWlwaV9jb25maWctPnZpZGVvbW9k ZV9jb2xvcl9mb3JtYXQgPDwgNyk7Cj4gKwlicHAgPSBtaXBpX2RzaV9waXhlbF9mb3JtYXRfdG9f YnBwKGludGVsX2RzaS0+cGl4ZWxfZm9ybWF0KTsKPiArCj4gIAlpbnRlbF9kc2ktPmR1YWxfbGlu ayA9IG1pcGlfY29uZmlnLT5kdWFsX2xpbms7Cj4gIAlpbnRlbF9kc2ktPnBpeGVsX292ZXJsYXAg PSBtaXBpX2NvbmZpZy0+cGl4ZWxfb3ZlcmxhcDsKPiAtCj4gLQlpZiAoaW50ZWxfZHNpLT5waXhl bF9mb3JtYXQgPT0gVklEX01PREVfRk9STUFUX1JHQjY2Nl9QQUNLRUQpCj4gLQkJYml0c19wZXJf cGl4ZWwgPSAxODsKPiAtCWVsc2UgaWYgKGludGVsX2RzaS0+cGl4ZWxfZm9ybWF0ID09IFZJRF9N T0RFX0ZPUk1BVF9SR0I1NjUpCj4gLQkJYml0c19wZXJfcGl4ZWwgPSAxNjsKPiAtCj4gIAlpbnRl bF9kc2ktPm9wZXJhdGlvbl9tb2RlID0gbWlwaV9jb25maWctPmlzX2NtZF9tb2RlOwo+ICAJaW50 ZWxfZHNpLT52aWRlb19tb2RlX2Zvcm1hdCA9IG1pcGlfY29uZmlnLT52aWRlb190cmFuc2Zlcl9t b2RlOwo+ICAJaW50ZWxfZHNpLT5lc2NhcGVfY2xrX2RpdiA9IG1pcGlfY29uZmlnLT5ieXRlX2Ns a19zZWw7Cj4gQEAgLTQ1OCw4ICs0NzMsNyBAQCBzdHJ1Y3QgZHJtX3BhbmVsICp2YnRfcGFuZWxf aW5pdChzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIHUxNiBwYW5lbF9pZCkKPiAgCSAqLwo+ ICAJaWYgKGludGVsX2RzaS0+dmlkZW9fbW9kZV9mb3JtYXQgPT0gVklERU9fTU9ERV9CVVJTVCkg ewo+ICAJCWlmIChtaXBpX2NvbmZpZy0+dGFyZ2V0X2J1cnN0X21vZGVfZnJlcSkgewo+IC0JCQlj b21wdXRlZF9kZHIgPQo+IC0JCQkJKHBjbGsgKiBiaXRzX3Blcl9waXhlbCkgLyBpbnRlbF9kc2kt PmxhbmVfY291bnQ7Cj4gKwkJCWNvbXB1dGVkX2RkciA9IChwY2xrICogYnBwKSAvIGludGVsX2Rz aS0+bGFuZV9jb3VudDsKPiAgCj4gIAkJCWlmIChtaXBpX2NvbmZpZy0+dGFyZ2V0X2J1cnN0X21v ZGVfZnJlcSA8Cj4gIAkJCQkJCQkJY29tcHV0ZWRfZGRyKSB7Cj4gQEAgLTQ4Miw3ICs0OTYsNyBA QCBzdHJ1Y3QgZHJtX3BhbmVsICp2YnRfcGFuZWxfaW5pdChzdHJ1Y3QgaW50ZWxfZHNpICppbnRl bF9kc2ksIHUxNiBwYW5lbF9pZCkKPiAgCWludGVsX2RzaS0+YnVyc3RfbW9kZV9yYXRpbyA9IGJ1 cnN0X21vZGVfcmF0aW87Cj4gIAlpbnRlbF9kc2ktPnBjbGsgPSBwY2xrOwo+ICAKPiAtCWJpdHJh dGUgPSAocGNsayAqIGJpdHNfcGVyX3BpeGVsKSAvIGludGVsX2RzaS0+bGFuZV9jb3VudDsKPiAr CWJpdHJhdGUgPSAocGNsayAqIGJwcCkgLyBpbnRlbF9kc2ktPmxhbmVfY291bnQ7Cj4gIAo+ICAJ c3dpdGNoIChpbnRlbF9kc2ktPmVzY2FwZV9jbGtfZGl2KSB7Cj4gIAljYXNlIDA6Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYwo+IGluZGV4IGY3MGRmMmI0MmIyMy4uNTk5MWMwNTIw NjExIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYwo+IEBAIC0zMCwyNyAr MzAsNiBAQAo+ICAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKPiAgI2luY2x1ZGUgImludGVsX2RzaS5o Igo+ICAKPiAtc3RhdGljIGludCBkc2lfcGl4ZWxfZm9ybWF0X2JwcChpbnQgcGl4ZWxfZm9ybWF0 KQo+IC17Cj4gLQlpbnQgYnBwOwo+IC0KPiAtCXN3aXRjaCAocGl4ZWxfZm9ybWF0KSB7Cj4gLQlk ZWZhdWx0Ogo+IC0JY2FzZSBWSURfTU9ERV9GT1JNQVRfUkdCODg4Ogo+IC0JY2FzZSBWSURfTU9E RV9GT1JNQVRfUkdCNjY2Ogo+IC0JCWJwcCA9IDI0Owo+IC0JCWJyZWFrOwo+IC0JY2FzZSBWSURf TU9ERV9GT1JNQVRfUkdCNjY2X1BBQ0tFRDoKPiAtCQlicHAgPSAxODsKPiAtCQlicmVhazsKPiAt CWNhc2UgVklEX01PREVfRk9STUFUX1JHQjU2NToKPiAtCQlicHAgPSAxNjsKPiAtCQlicmVhazsK PiAtCX0KPiAtCj4gLQlyZXR1cm4gYnBwOwo+IC19Cj4gLQo+ICBzdHJ1Y3QgZHNpX21ucCB7Cj4g IAl1MzIgZHNpX3BsbF9jdHJsOwo+ICAJdTMyIGRzaV9wbGxfZGl2Owo+IEBAIC02NCwxMCArNDMs MTEgQEAgc3RhdGljIGNvbnN0IHUzMiBsZnNyX2NvbnZlcnRzW10gPSB7Cj4gIH07Cj4gIAo+ICAv KiBHZXQgRFNJIGNsb2NrIGZyb20gcGl4ZWwgY2xvY2sgKi8KPiAtc3RhdGljIHUzMiBkc2lfY2xr X2Zyb21fcGNsayh1MzIgcGNsaywgaW50IHBpeGVsX2Zvcm1hdCwgaW50IGxhbmVfY291bnQpCj4g K3N0YXRpYyB1MzIgZHNpX2Nsa19mcm9tX3BjbGsodTMyIHBjbGssIGVudW0gbWlwaV9kc2lfcGl4 ZWxfZm9ybWF0IGZtdCwKPiArCQkJICAgICBpbnQgbGFuZV9jb3VudCkKPiAgewo+ICAJdTMyIGRz aV9jbGtfa2h6Owo+IC0JdTMyIGJwcCA9IGRzaV9waXhlbF9mb3JtYXRfYnBwKHBpeGVsX2Zvcm1h dCk7Cj4gKwl1MzIgYnBwID0gbWlwaV9kc2lfcGl4ZWxfZm9ybWF0X3RvX2JwcChmbXQpOwo+ICAK PiAgCS8qIERTSSBkYXRhIHJhdGUgPSBwaXhlbCBjbG9jayAqIGJpdHMgcGVyIHBpeGVsIC8gbGFu ZSBjb3VudAo+ICAJICAgcGl4ZWwgY2xvY2sgaXMgY29udmVydGVkIGZyb20gS0h6IHRvIEh6ICov Cj4gQEAgLTIzMiw5ICsyMTIsOSBAQCBzdGF0aWMgdm9pZCBieHRfZGlzYWJsZV9kc2lfcGxsKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJCURSTV9FUlJPUigiVGltZW91dCB3YWl0 aW5nIGZvciBQTEwgbG9jayBkZWFzc2VydGlvblxuIik7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lk IGFzc2VydF9icHBfbWlzbWF0Y2goaW50IHBpeGVsX2Zvcm1hdCwgaW50IHBpcGVfYnBwKQo+ICtz dGF0aWMgdm9pZCBhc3NlcnRfYnBwX21pc21hdGNoKGVudW0gbWlwaV9kc2lfcGl4ZWxfZm9ybWF0 IGZtdCwgaW50IHBpcGVfYnBwKQo+ICB7Cj4gLQlpbnQgYnBwID0gZHNpX3BpeGVsX2Zvcm1hdF9i cHAocGl4ZWxfZm9ybWF0KTsKPiArCWludCBicHAgPSBtaXBpX2RzaV9waXhlbF9mb3JtYXRfdG9f YnBwKGZtdCk7Cj4gIAo+ICAJV0FSTihicHAgIT0gcGlwZV9icHAsCj4gIAkgICAgICJicHAgbWF0 Y2ggYXNzZXJ0aW9uIGZhaWx1cmUgKGV4cGVjdGVkICVkLCBjdXJyZW50ICVkKVxuIiwKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=