From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D8671C43603 for ; Mon, 9 Dec 2019 11:36:02 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B12272073D for ; Mon, 9 Dec 2019 11:36:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B12272073D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3E9226E406; Mon, 9 Dec 2019 11:36:02 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 61A956E406 for ; Mon, 9 Dec 2019 11:36:01 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Dec 2019 03:35:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,294,1571727600"; d="scan'208";a="206868150" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by orsmga008.jf.intel.com with SMTP; 09 Dec 2019 03:35:54 -0800 Received: by stinkbox (sSMTP sendmail emulation); Mon, 09 Dec 2019 13:35:53 +0200 Date: Mon, 9 Dec 2019 13:35:53 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: "Souza, Jose" Message-ID: <20191209113553.GN1208@intel.com> References: <20191204205510.119853-1-jose.souza@intel.com> <20191204205510.119853-3-jose.souza@intel.com> <20191205103812.GF1208@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [PATCH v2 3/3] drm/i915/display: Refactor intel_commit_modeset_disables() X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "De Marchi, Lucas" , "intel-gfx@lists.freedesktop.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gVGh1LCBEZWMgMDUsIDIwMTkgYXQgMDg6Mjg6NTFQTSArMDAwMCwgU291emEsIEpvc2Ugd3Jv dGU6Cj4gT24gVGh1LCAyMDE5LTEyLTA1IGF0IDEyOjM4ICswMjAwLCBWaWxsZSBTeXJqw6Rsw6Qg d3JvdGU6Cj4gPiBPbiBXZWQsIERlYyAwNCwgMjAxOSBhdCAxMjo1NToxMFBNIC0wODAwLCBKb3PD qSBSb2JlcnRvIGRlIFNvdXphCj4gPiB3cm90ZToKPiA+ID4gQ29tbWl0IDljNzIyZTE3YzFiOSAo ImRybS9pOTE1OiBEaXNhYmxlIHBpcGVzIGluIHJldmVyc2Ugb3JkZXIiKQo+ID4gPiByZXZlcnRl ZCB0aGUgb3JkZXIgdGhhdCBwaXBlcyBnZXRzIGRpc2FibGVkIGJlY2F1c2Ugb2YgVEdMCj4gPiA+ IG1hc3Rlci9zbGF2ZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0cmFuc2NvZGVycyBpbiBNU1QgbW9k ZS4KPiA+ID4gCj4gPiA+IEJ1dCBhcyBzdGF0ZWQgaW4gYSBjb21tZW50IGluIHNrbF9jb21taXRf bW9kZXNldF9lbmFibGVzKCkgdGhlCj4gPiA+IGVuYWJsaW5nIG9yZGVyIGlzIG5vdCBhbHdheXMg Y3Jlc2NlbnQsIHBvc3NpYmx5IGNhdXNpbmcgcHJldmlvdXNseQo+ID4gPiBzZWxlY3RlZCBzbGF2 ZSB0cmFuc2NvZGVyIGJlaW5nIGVuYWJsZWQgYmVmb3JlIG1hc3RlciBzbyBhbm90aGVyCj4gPiA+ IGFwcHJvYWNoIHdpbGwgYmUgbmVlZGVkIHRvIHNlbGVjdCBhIHRyYW5zY29kZXIgdG8gbWFzdGVy IGluIE1TVAo+ID4gPiBtb2RlLgo+ID4gPiBJdCB3aWxsIGJlIHNpbWlsYXIgdG8gdGhlIGFwcHJv YWNoIHRha2VuIGluIHBvcnQgc3luYy4KPiA+ID4gCj4gPiA+IEJ1dCBpbnN0ZWFkIG9mIGltcGxl bWVudCBzb21ldGhpbmcgbGlrZQo+ID4gPiBpbnRlbF90cmFuc19wb3J0X3N5bmNfbW9kZXNldF9k aXNhYmxlcygpIHRvIE1TVCBsZXRzIHNpbXBseSBpdCBhbmQKPiA+ID4gaXRlcmF0ZSBvdmVyIGFs bCBwaXBlcyAyIHRpbWVzLCB0aGUgZmlyc3Qgb25lIGRpc2FibGluZyBhbnkgc2xhdmUKPiA+ID4g YW5kCj4gPiA+IHRoZW4gZGlzYWJsaW5nIGV2ZXJ5dGhpbmcgZWxzZS4KPiA+ID4gVGhlIE1TVCBi aXRzIHdpbGwgYmUgYWRkZWQgaW4gYW5vdGhlciBwYXRjaC4KPiA+ID4gCj4gPiA+IHYyOgo+ID4g PiBOb3QgdXNpbmcgY3J0Yy0+YWN0aXZlIGFzIGl0IGlzIGRlcHJlY2F0ZWQKPiA+ID4gCj4gPiA+ IENjOiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KPiA+ID4gQ2M6 IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gPiA+IENjOiBNYXR0 IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgo+ID4gPiBDYzogTWFhcnRlbiBMYW5r aG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiA+ID4gQ2M6IFZpbGxl IFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+IFNpZ25lZC1v ZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgo+ID4g PiAtLS0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5j IHwgODYgKysrKysrKy0tLS0tLS0tLQo+ID4gPiAtLS0tCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwg MzAgaW5zZXJ0aW9ucygrKSwgNTYgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiBpbmRleCA2 ODU3NTQ1N2Q0MGUuLmE5ZjVhYWY4ZGY5YiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gQEAgLTE0MzkzLDc3ICsxNDM5 Myw1MSBAQCBzdGF0aWMgdm9pZAo+ID4gPiBpbnRlbF9vbGRfY3J0Y19zdGF0ZV9kaXNhYmxlcyhz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+ID4gIAkJZGV2X3ByaXYtPmRpc3Bs YXkuaW5pdGlhbF93YXRlcm1hcmtzKHN0YXRlLCBjcnRjKTsKPiA+ID4gIH0KPiA+ID4gIAo+ID4g PiAtc3RhdGljIHZvaWQgaW50ZWxfdHJhbnNfcG9ydF9zeW5jX21vZGVzZXRfZGlzYWJsZXMoc3Ry dWN0Cj4gPiA+IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPiA+IC0JCQkJCQkgICBzdHJ1 Y3QgaW50ZWxfY3J0Ywo+ID4gPiAqY3J0YywKPiA+ID4gLQkJCQkJCSAgIHN0cnVjdAo+ID4gPiBp bnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiA+ID4gLQkJCQkJCSAgIHN0cnVjdAo+ ID4gPiBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKPiA+ID4gLXsKPiA+ID4gLQlz dHJ1Y3QgaW50ZWxfY3J0YyAqc2xhdmVfY3J0YyA9Cj4gPiA+IGludGVsX2dldF9zbGF2ZV9jcnRj KG5ld19jcnRjX3N0YXRlKTsKPiA+ID4gLQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X3Ns YXZlX2NydGNfc3RhdGUgPQo+ID4gPiAtCQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRl KHN0YXRlLCBzbGF2ZV9jcnRjKTsKPiA+ID4gLQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xk X3NsYXZlX2NydGNfc3RhdGUgPQo+ID4gPiAtCQlpbnRlbF9hdG9taWNfZ2V0X29sZF9jcnRjX3N0 YXRlKHN0YXRlLCBzbGF2ZV9jcnRjKTsKPiA+ID4gLQo+ID4gPiAtCVdBUk5fT04oIXNsYXZlX2Ny dGMgfHwgIW5ld19zbGF2ZV9jcnRjX3N0YXRlIHx8Cj4gPiA+IC0JCSFvbGRfc2xhdmVfY3J0Y19z dGF0ZSk7Cj4gPiA+IC0KPiA+ID4gLQkvKiBEaXNhYmxlIFNsYXZlIGZpcnN0ICovCj4gPiA+IC0J aW50ZWxfcHJlX3BsYW5lX3VwZGF0ZShzdGF0ZSwgc2xhdmVfY3J0Yyk7Cj4gPiA+IC0JaWYgKG9s ZF9zbGF2ZV9jcnRjX3N0YXRlLT5ody5hY3RpdmUpCj4gPiA+IC0JCWludGVsX29sZF9jcnRjX3N0 YXRlX2Rpc2FibGVzKHN0YXRlLAo+ID4gPiAtCQkJCQkgICAgICBvbGRfc2xhdmVfY3J0Y19zdGF0 ZSwKPiA+ID4gLQkJCQkJICAgICAgbmV3X3NsYXZlX2NydGNfc3RhdGUsCj4gPiA+IC0JCQkJCSAg ICAgIHNsYXZlX2NydGMpOwo+ID4gPiAtCj4gPiA+IC0JLyogRGlzYWJsZSBNYXN0ZXIgKi8KPiA+ ID4gLQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHN0YXRlLCBjcnRjKTsKPiA+ID4gLQlpZiAob2xk X2NydGNfc3RhdGUtPmh3LmFjdGl2ZSkKPiA+ID4gLQkJaW50ZWxfb2xkX2NydGNfc3RhdGVfZGlz YWJsZXMoc3RhdGUsCj4gPiA+IC0JCQkJCSAgICAgIG9sZF9jcnRjX3N0YXRlLAo+ID4gPiAtCQkJ CQkgICAgICBuZXdfY3J0Y19zdGF0ZSwKPiA+ID4gLQkJCQkJICAgICAgY3J0Yyk7Cj4gPiA+IC19 Cj4gPiA+IC0KPiA+ID4gIHN0YXRpYyB2b2lkIGludGVsX2NvbW1pdF9tb2Rlc2V0X2Rpc2FibGVz KHN0cnVjdAo+ID4gPiBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gPiAgewo+ID4gPiAg CXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSwgKm9sZF9jcnRjX3N0YXRl Owo+ID4gPiAgCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwo+ID4gPiArCXUzMiBoYW5kbGVkID0g MDsKPiA+ID4gIAlpbnQgaTsKPiA+ID4gIAo+ID4gPiAtCS8qCj4gPiA+IC0JICogRGlzYWJsZSBD UlRDL3BpcGVzIGluIHJldmVyc2Ugb3JkZXIgYmVjYXVzZSBzb21lCj4gPiA+IGZlYXR1cmVzKE1T VCBpbgo+ID4gPiAtCSAqIFRHTCspIHJlcXVpcmVzIG1hc3RlciBhbmQgc2xhdmUgcmVsYXRpb25z aGlwIGJldHdlZW4gcGlwZXMsCj4gPiA+IHNvIGl0Cj4gPiA+IC0JICogc2hvdWxkIGFsd2F5cyBw aWNrIHRoZSBsb3dlc3QgcGlwZSBhcyBtYXN0ZXIgYXMgaXQgd2lsbCBiZQo+ID4gPiBlbmFibGVk Cj4gPiA+IC0JICogZmlyc3QgYW5kIGRpc2FibGUgaW4gdGhlIHJldmVyc2Ugb3JkZXIgc28gdGhl IG1hc3RlciB3aWxsIGJlCj4gPiA+IHRoZQo+ID4gPiAtCSAqIGxhc3Qgb25lIHRvIGJlIGRpc2Fi bGVkLgo+ID4gPiAtCSAqLwo+ID4gPiAtCWZvcl9lYWNoX29sZG5ld19pbnRlbF9jcnRjX2luX3N0 YXRlX3JldmVyc2Uoc3RhdGUsIGNydGMsCj4gPiA+IG9sZF9jcnRjX3N0YXRlLAo+ID4gPiAtCQkJ CQkJICAgIG5ld19jcnRjX3N0YXRlLCBpKQo+ID4gPiB7Cj4gPiA+ICsJLyogT25seSBkaXNhYmxl IHBvcnQgc3luYyBzbGF2ZXMgKi8KPiA+ID4gKwlmb3JfZWFjaF9vbGRuZXdfaW50ZWxfY3J0Y19p bl9zdGF0ZShzdGF0ZSwgY3J0YywKPiA+ID4gb2xkX2NydGNfc3RhdGUsCj4gPiA+ICsJCQkJCSAg ICBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+ID4gPiAgCQlpZiAoIW5lZWRzX21vZGVzZXQobmV3X2Ny dGNfc3RhdGUpKQo+ID4gPiAgCQkJY29udGludWU7Cj4gPiA+ICAKPiA+ID4gKwkJLyogSWYgaXQg d2Fzbid0IGFjdGl2ZSBubyBuZWVkIHRvIGNoZWNrIHRoZSBzcGVjaWFsCj4gPiA+IGNhc2VzICov Cj4gPiAKPiA+IFRoaXMgY29tbWVudCBzZWVtcyBhIGJpdCByZWR1bmRhbnQuCj4gCj4gT2theSwg cmVtb3ZpbmcgaXQuCj4gCj4gPiAKPiA+ID4gKwkJaWYgKCFvbGRfY3J0Y19zdGF0ZS0+aHcuYWN0 aXZlKQo+ID4gPiArCQkJY29udGludWU7Cj4gPiA+ICsKPiA+ID4gIAkJLyogSW4gY2FzZSBvZiBU cmFuc2NvZGVyIHBvcnQgU3luYyBtYXN0ZXIgc2xhdmUgQ1JUQ3MKPiA+ID4gY2FuIGJlCj4gPiA+ ICAJCSAqIGFzc2lnbmVkIGluIGFueSBvcmRlciBhbmQgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhh dAo+ID4gPiAgCQkgKiBzbGF2ZSBDUlRDcyBhcmUgZGlzYWJsZWQgZmlyc3QgYW5kIHRoZW4gbWFz dGVyIENSVEMKPiA+ID4gc2luY2UKPiA+ID4gIAkJICogU2xhdmUgdmJsYW5rcyBhcmUgbWFza2Vk IHRpbGwgTWFzdGVyIFZibGFua3MuCj4gPiA+ICAJCSAqLwo+ID4gPiAtCQlpZiAoaXNfdHJhbnNf cG9ydF9zeW5jX21vZGUob2xkX2NydGNfc3RhdGUpKSB7Cj4gPiA+IC0JCQlpZiAoaXNfdHJhbnNf cG9ydF9zeW5jX21hc3RlcihvbGRfY3J0Y19zdGF0ZSkpCj4gPiA+IC0JCQkJaW50ZWxfdHJhbnNf cG9ydF9zeW5jX21vZGVzZXRfZGlzYWJsZXMoCj4gPiA+IHN0YXRlLAo+ID4gPiAtCQkJCQkJCQkg ICAgICAgCj4gPiA+IGNydGMsCj4gPiA+IC0JCQkJCQkJCSAgICAgICAKPiA+ID4gb2xkX2NydGNf c3RhdGUsCj4gPiA+IC0JCQkJCQkJCSAgICAgICAKPiA+ID4gbmV3X2NydGNfc3RhdGUpOwo+ID4g PiAtCQkJZWxzZQo+ID4gPiAtCQkJCWNvbnRpbnVlOwo+ID4gPiAtCQl9IGVsc2Ugewo+ID4gPiAt CQkJaW50ZWxfcHJlX3BsYW5lX3VwZGF0ZShzdGF0ZSwgY3J0Yyk7Cj4gPiA+ICsJCWlmICghaXNf dHJhbnNfcG9ydF9zeW5jX21vZGUob2xkX2NydGNfc3RhdGUpKQo+ID4gPiArCQkJY29udGludWU7 Cj4gPiA+ICAKPiA+ID4gLQkJCWlmIChvbGRfY3J0Y19zdGF0ZS0+aHcuYWN0aXZlKQo+ID4gPiAt CQkJCWludGVsX29sZF9jcnRjX3N0YXRlX2Rpc2FibGVzKHN0YXRlLAo+ID4gPiAtCQkJCQkJCSAg ICAgIG9sZF9jcnRjXwo+ID4gPiBzdGF0ZSwKPiA+ID4gLQkJCQkJCQkgICAgICBuZXdfY3J0Y18K PiA+ID4gc3RhdGUsCj4gPiA+IC0JCQkJCQkJICAgICAgY3J0Yyk7Cj4gPiA+IC0JCX0KPiA+ID4g KwkJaWYgKGlzX3RyYW5zX3BvcnRfc3luY19tYXN0ZXIob2xkX2NydGNfc3RhdGUpKQo+ID4gPiAr CQkJY29udGludWU7Cj4gPiAKPiA+IEknZCBzdGlsbCBsaWtlIHRvIHNlZSBpc190cmFuc19wb3J0 X3N5bmNfc2xhdmUoKSBzbyB3ZSBjb3VsZAo+ID4gZWxpbWluYXRlCj4gPiB0aGUgZG91YmxlIGNo ZWNrIGhlcmUuCj4gCj4gVGhpbmtpbmcgYWdhaW4sIHdlIG9ubHkgbmVlZAo+IAo+IGlmIChpc190 cmFuc19wb3J0X3N5bmNfbWFzdGVyKG9sZF9jcnRjX3N0YXRlKSkKPiAJY29udGludWU7Cj4gCj4g aGVyZSwgbm8gaXNfdHJhbnNfcG9ydF9zeW5jX21hc3RlcigpIHJlcXVpcmVkLgoKT25seSBpZiB3 ZSB3YW50IHRvIGFsc28gaGFuZGxlIHRoZSBub24tc3luYyBwaXBlcyBoZXJlLiBXaGljaCBJIGRv bid0CnRoaW5rIHdlIHdhbnQuCgo+IAo+IEFkZGluZyB0aGUgaXNfdHJhbnNfcG9ydF9zeW5jX3Ns YXZlKCkgd291bGQgbGVhdmUgdXNlIHdpdGgKPiBpZiAoIWlzX3RyYW5zX3BvcnRfc3luY19tYXN0 ZXIob2xkX2NydGNfc3RhdGUpKQo+IAljb250aW51ZTsKPiAKPiBvciB3aXRoIGEgaW5kZW50ZWQg YmxvY2suCj4gCj4gRml4aW5nIGl0Li4uCj4gCj4gPiAKPiA+ID4gKwo+ID4gPiArCQlpbnRlbF9w cmVfcGxhbmVfdXBkYXRlKHN0YXRlLCBjcnRjKTsKPiA+ID4gKwkJaW50ZWxfb2xkX2NydGNfc3Rh dGVfZGlzYWJsZXMoc3RhdGUsIG9sZF9jcnRjX3N0YXRlLAo+ID4gPiArCQkJCQkgICAgICBuZXdf Y3J0Y19zdGF0ZSwgY3J0Yyk7Cj4gPiA+ICsJCWhhbmRsZWQgfD0gQklUKGNydGMtPnBpcGUpOwo+ ID4gPiArCX0KPiA+ID4gKwo+ID4gPiArCS8qIERpc2FibGUgZXZlcnl0aGluZyBlbHNlIGxlZnQg b24gKi8KPiA+ID4gKwlmb3JfZWFjaF9vbGRuZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZShzdGF0ZSwg Y3J0YywKPiA+ID4gb2xkX2NydGNfc3RhdGUsCj4gPiA+ICsJCQkJCSAgICBuZXdfY3J0Y19zdGF0 ZSwgaSkgewo+ID4gPiArCQlpZiAoIW5lZWRzX21vZGVzZXQobmV3X2NydGNfc3RhdGUpIHx8Cj4g PiA+ICsJCSAgICAoaGFuZGxlZCAmIEJJVChjcnRjLT5waXBlKSkpCj4gPiA+ICsJCQljb250aW51 ZTsKPiA+ID4gKwo+ID4gPiArCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHN0YXRlLCBjcnRjKTsK PiA+ID4gKwkJaWYgKG9sZF9jcnRjX3N0YXRlLT5ody5hY3RpdmUpCj4gPiA+ICsJCQlpbnRlbF9v bGRfY3J0Y19zdGF0ZV9kaXNhYmxlcyhzdGF0ZSwKPiA+ID4gb2xkX2NydGNfc3RhdGUsCj4gPiA+ ICsJCQkJCQkgICAgICBuZXdfY3J0Y19zdGF0ZSwKPiA+ID4gY3J0Yyk7Cj4gPiA+ICAJfQo+ID4g Cj4gPiBUaGUgb25seSBjb25jZXJuIGxlZnQgaXMgdGhlIG5ldyBvcmRlcmluZyB3aGVuIHdlIGhh dmUgbXVsdGlwbGUKPiA+IHNldHMgb2YgZ2VubG9ja2VkIHBpcGVzLiBBc3N1bWluZyB0aGUgaGFy ZHdhcmUgaXMgc2FuZSBJIGRvbid0Cj4gPiB0aGluayBhbnl0aGluZyAqc2hvdWxkKiBicmVhay4g QnV0IHdobyBrbm93cy4KPiA+IAo+ID4gQXBhcnQgZnJvbSB0aGF0Ogo+ID4gUmV2aWV3ZWQtYnk6 IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAKPiAK PiBUaGFua3MsIHdpbGwgc2VuZCBhIG5ldyB2ZXJzaW9uIHdpdGggdGhlIHNtYWxsIGNoYW5nZXMg YWJvdmUgYW5kIGtlZXAKPiB5b3VyIHJ2Yi4KPiAKPiA+ID4gIH0KPiA+ID4gIAo+ID4gPiAtLSAK PiA+ID4gMi4yNC4wCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==