From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: Re: [PATCH] drm/i915/guc: Skip suspend/resume GuC action on platforms w/o GuC submission Date: Fri, 15 Nov 2019 15:10:15 -0800 Message-ID: <9f47d05c-c601-4ffe-5aa5-7b22e92a102e@intel.com> References: <20191115182051.27182-1-don.hiatt@intel.com> <7355e3c9-71ad-bcc2-f069-4e9be308aed4@intel.com> <97654A90DB924C44A3AE6C902A3FEAC15F998201@ORSMSX106.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id EEBFC6EB4B for ; Fri, 15 Nov 2019 23:10:16 +0000 (UTC) In-Reply-To: <97654A90DB924C44A3AE6C902A3FEAC15F998201@ORSMSX106.amr.corp.intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Hiatt, Don" , "intel-gfx@lists.freedesktop.org" Cc: "S . Zharkoff" , KiteStramuort , Tomas Janousek List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxMS8xNS8yMDE5IDI6MjIgUE0sIEhpYXR0LCBEb24gd3JvdGU6Cj4KPj4gRnJvbTogQ2Vy YW9sbyBTcHVyaW8sIERhbmllbGUgPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+Cj4+ IFNlbnQ6IEZyaWRheSwgTm92ZW1iZXIgMTUsIDIwMTkgMjowMiBQTQo+PiBUbzogSGlhdHQsIERv biA8ZG9uLmhpYXR0QGludGVsLmNvbT47IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK Pj4gQ2M6IEV3aW5zLCBKb24gPGpvbi5ld2luc0BpbnRlbC5jb20+OyBLaXRlU3RyYW11b3J0Cj4+ IDxraXRlc3RyYW11b3J0QGF1dGlzdGljaS5vcmc+OyBTIC4gWmhhcmtvZmYgPHMuemhhcmtvZmZA Z21haWwuY29tPjsKPj4gV2FqZGVjemtvLCBNaWNoYWwgPE1pY2hhbC5XYWpkZWN6a29AaW50ZWwu Y29tPjsgU3VtbWVycywgU3R1YXJ0Cj4+IDxzdHVhcnQuc3VtbWVyc0BpbnRlbC5jb20+OyBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az47IFRvbWFzCj4+IEphbm91c2VrIDx0 b21pQG5vbWkuY3o+Cj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIGRybS9pOTE1L2d1YzogU2tpcCBz dXNwZW5kL3Jlc3VtZSBHdUMgYWN0aW9uIG9uCj4+IHBsYXRmb3JtcyB3L28gR3VDIHN1Ym1pc3Np b24KPj4KPj4KPj4KPj4gT24gMTEvMTUvMTkgMTA6MjAgQU0sIGRvbi5oaWF0dEBpbnRlbC5jb20g d3JvdGU6Cj4+PiBGcm9tOiBEb24gSGlhdHQgPGRvbi5oaWF0dEBpbnRlbC5jb20+Cj4+Pgo+Pj4g T24gc29tZSBwbGF0Zm9ybXMgKGUuZy4gS0JMKSB0aGF0IGRvIG5vdCBzdXBwb3J0IEd1QyBzdWJt aXNzaW9uLCBidXQKPj4+IHRoZSB1c2VyIGVuYWJsZWQgdGhlIEd1QyBjb21tdW5pY2F0aW9uIChl LmcgZm9yIEh1QyBhdXRoZW50aWNhdGlvbikKPj4+IGNhbGxpbmcgdGhlIEd1QyBFWElUX1NfU1RB VEUgYWN0aW9uIHJlc3VsdHMgaW4gbG9zZSBvZiBhYmlsaXR5IHRvCj4+PiBlbnRlciBSQzYuIFdl IGNhbiByZW1vdmUgdGhlIEd1QyBzdXNwZW5kL3Jlc3VtZSBlbnRpcmVseSBhcyB3ZSBkbwo+Pj4g bm90IG5lZWQgdG8gc2F2ZSB0aGUgR3VDIHN1Ym1pc3Npb24gc3RhdHVzLgo+Pj4KPj4+IEFkZCBp bnRlbF9ndWNfc3VibWlzc2lvbl9pc19lbmFibGVkKCkgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlm Cj4+PiBHdUMgc3VibWlzc2lvbiBpcyBhY3RpdmUuCj4+Pgo+Pj4gdjI6IERvIG5vdCBzdXNwZW5k L3Jlc3VtZSB0aGUgR3VDIG9uIHBsYXRmb3JtcyB0aGF0IGRvIG5vdCBzdXBwb3J0Cj4+PiAgICAg ICBHdWMgU3VibWlzc2lvbi4KPj4+IHYzOiBGaXggdHlwbywgbW92ZSBzdXNwZW5kIGxvZ2ljIHRv IHJlbW92ZSBnb3RvLgo+Pj4gdjQ6IFVzZSBpbnRlbF9ndWNfc3VibWlzc2lvbl9pc19lbmFibGVk KCkgdG8gY2hlY2sgR3VDIHN1Ym1pc3Npb24KPj4+ICAgICAgIHN0YXR1cy4KPj4+IHY1OiBObyBu ZWVkIHRvIGxvb2sgYXQgZW5naW5lIHRvIGRldGVybWluZSBpZiBzdWJtaXNzaW9uIGlzIGVuYWJs ZWQuCj4+PiAgICAgICBTcXVhc2ggZml4ICsgaW50ZWxfZ3VjX3N1Ym1pc3Npb25faXNfZW5hYmxl ZCgpIHBhdGNoIGludG8gb25lLgo+Pj4KPj4+IFJlcG9ydGVkLWJ5OiBLaXRlU3RyYW11b3J0IDxr aXRlc3RyYW11b3J0QGF1dGlzdGljaS5vcmc+Cj4+PiBSZXBvcnRlZC1ieTogUy4gWmhhcmtvZmYg PHMuemhhcmtvZmZAZ21haWwuY29tPgo+Pj4gQnVnemlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVz a3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTU5NAo+Pj4gQnVnemlsbGE6IGh0dHBzOi8vYnVn cy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTYyMwo+Pj4gRml4ZXM6IGY3NzRm MDk2NDkxOSAoImRybS9pOTE1L2d1YzogVHVybiBvbiBHdUMvSHVDIGF1dG8gbW9kZSIpCj4+IEkg ZG9uJ3QgdGhpbmsgdGhpcyBGaXhlcyB0YWcgaXMgYXBwcm9wcmlhdGUgc2luY2Ugd2UgYWxyZWFk eSByZXZlcnRlZAo+PiB0aGF0IHBhdGNoLgo+Pgo+IENhbiB5b3Ugc3VnZ2VzdCBhbiBhcHByb3By aWF0ZSB0YWc/IENocmlzIHN1Z2dlc3QgImd1Yy9odWMgZW5hYmxpbmcgYnkgZGVmYXVsdCIgcGF0 Y2gKPiBidXQgSSBjb3VsZG4ndCBmaW5kIGl0IGFuZCB0aGlzIG9uZSBzZWVtZWQgc2ltaWxhci4K CkRvIHdlIHdhbnQgdG8gYmFja3BvcnQgdGhpcyBldmVuIGlmIGd1YyBpcyBvZmYgYnkgZGVmYXVs dCBhbmQgdGFpbnRzIG9uIAplbmFibGluZz8gaWYgd2UgZG8sIHRoZW4gd2UgcHJvYmFibHkgbmVl ZCB0byBnbyBhbGwgdGhlIHdheSBiYWNrIHRvIHdoZW4gCndlIGludHJvZHVjZWQgdGhlIG5ldyBi aW5hcmllcyB0aGF0IHNob3cgdGhlIHByb2JsZW0gKCJkcm0vaTkxNS9ndWM6IApVcGRhdGVzIGZv ciBHdUMgMzIuMC4zIGZpcm13YXJlIikuCgpEYW5pZWxlCgo+Cj4+PiBDYzogTWljaGFsIFdhamRl Y3prbyA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+Cj4+PiBDYzogRGFuaWVsZSBDZXJhbG8g U3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgo+Pj4gQ2M6IFN0dWFydCBT dW1tZXJzIDxzdHVhcnQuc3VtbWVyc0BpbnRlbC5jb20+Cj4+PiBDYzogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4+PiBUZXN0ZWQtYnk6IFRvbWFzIEphbm91c2VrIDx0 b21pQG5vbWkuY3o+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBEb24gSGlhdHQgPGRvbi5oaWF0dEBpbnRl bC5jb20+Cj4+PiAtLS0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1 Yy5jIHwgNyArKysrKysrCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91 Yy5jICB8IDggKysrKysrKysKPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg ICAgICAgIHwgNiArKysrKysKPj4+ICAgIDMgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygr KQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9n dWMuYwo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5jCj4+PiBpbmRl eCAwMTlhZTY0ODZlOGQuLjkyZDkzMDVjMGQ3MyAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC91Yy9pbnRlbF9ndWMuYwo+Pj4gQEAgLTU1Myw2ICs1NTMsMTMgQEAgaW50IGludGVsX2d1 Y19zdXNwZW5kKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPj4+ICAgIAkJR1VDX1BPV0VSX0QxLCAv KiBhbnkgdmFsdWUgZ3JlYXRlciB0aGFuIEdVQ19QT1dFUl9EMAo+PiAqLwo+Pj4gICAgCX07Cj4+ Pgo+Pj4gKwkvKgo+Pj4gKwkgKiBJZiBHdUMgY29tbXVuaWNhdGlvbiBpcyBlbmFibGVkIGJ1dCBz dWJtaXNzaW9uIGlzIG5vdCBzdXBwb3J0ZWQsCj4+PiArCSAqIHdlIGRvIG5vdCBuZWVkIHRvIHN1 c3BlbmQgdGhlIEd1Qy4KPj4+ICsJICovCj4+PiArCWlmICghaW50ZWxfZ3VjX3N1Ym1pc3Npb25f aXNfZW5hYmxlZChndWMpKQo+Pj4gKwkJcmV0dXJuIDA7Cj4+PiArCj4+PiAgICAJLyoKPj4+ICAg IAkgKiBUaGUgRU5URVJfU19TVEFURSBhY3Rpb24gcXVldWVzIHRoZSBzYXZlL3Jlc3RvcmUgb3Bl cmF0aW9uIGluIEd1Qwo+PiBGVwo+Pj4gICAgCSAqIGFuZCB0aGVuIHJldHVybnMsIHNvIHdhaXRp bmcgb24gdGhlIEgyRyBpcyBub3QgZW5vdWdoIHRvIGd1YXJhbnRlZQo+Pj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMKPj4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jCj4+PiBpbmRleCA2MjliMTkzNzdhMjkuLjRkZDQzYjk5 YTMzNCAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3Vj LmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMKPj4+IEBA IC02MDUsNiArNjA1LDE0IEBAIHN0YXRpYyBpbnQgX191Y19yZXN1bWUoc3RydWN0IGludGVsX3Vj ICp1YywgYm9vbAo+PiBlbmFibGVfY29tbXVuaWNhdGlvbikKPj4+ICAgIAlpZiAoZW5hYmxlX2Nv bW11bmljYXRpb24pCj4+PiAgICAJCWd1Y19lbmFibGVfY29tbXVuaWNhdGlvbihndWMpOwo+Pj4K Pj4+ICsJLyoKPj4+ICsJICogSWYgR3VDIGNvbW11bmljYXRpb24gaXMgZW5hYmxlZCBidXQgc3Vi bWlzc2lvbiBpcyBub3Qgc3VwcG9ydGVkLAo+Pj4gKwkgKiB3ZSBkbyBub3QgbmVlZCB0byByZXN1 bWUgdGhlIEd1QyBidXQgd2UgZG8gbmVlZCB0byBlbmFibGUgdGhlCj4+PiArCSAqIEd1QyBjb21t dW5pY2F0aW9uIG9uIHJlc3VtZSAoYWJvdmUpLgo+Pj4gKwkgKi8KPj4+ICsJaWYgKCFpbnRlbF9n dWNfc3VibWlzc2lvbl9pc19lbmFibGVkKGd1YykpCj4+PiArCQlyZXR1cm4gMDsKPj4+ICsKPj4g SSB3b3VsZCBwdXQgdGhpcyBjaGVjayBpbnNpZGUgaW50ZWxfZ3VjX3Jlc3VtZSgpLCBmb3Igc3lt bWV0cnkgd2l0aCB0aGUKPj4gb25lIHlvdSBwdXQgaW5zaWRlIGludGVsX2d1Y19zdXNwZW5kKCku Cj4+Cj4gV2lsbCBkby4KPgo+PiBEYW5pZWxlCj4+Cj4+PiAgICAJZXJyID0gaW50ZWxfZ3VjX3Jl c3VtZShndWMpOwo+Pj4gICAgCWlmIChlcnIpIHsKPj4+ICAgIAkJRFJNX0RFQlVHX0RSSVZFUigi RmFpbGVkIHRvIHJlc3VtZSBHdUMsIGVycj0lZCIsIGVycik7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPj4+IGluZGV4IDdiYzFkOGMxMDJiMi4uMmI4Nzk0NzJlNzYwIDEwMDY0NAo+Pj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+Pj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+Pj4gQEAgLTIwNDQsNCArMjA0NCwxMCBAQCBpOTE1X2Nv aGVyZW50X21hcF90eXBlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4+ICppOTE1KQo+Pj4gICAg CXJldHVybiBIQVNfTExDKGk5MTUpID8gSTkxNV9NQVBfV0IgOiBJOTE1X01BUF9XQzsKPj4+ICAg IH0KPj4+Cj4+PiArc3RhdGljIGlubGluZSBib29sIGludGVsX2d1Y19zdWJtaXNzaW9uX2lzX2Vu YWJsZWQoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+Pj4gK3sKPj4+ICsJcmV0dXJuIGludGVsX2d1 Y19pc19zdWJtaXNzaW9uX3N1cHBvcnRlZChndWMpICYmCj4+PiArCQlpbnRlbF9ndWNfaXNfcnVu bmluZyhndWMpOwo+Pj4gK30KPj4+ICsKPj4+ICAgICNlbmRpZgo+Pj4KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA== 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 7CCB0C432C3 for ; Fri, 15 Nov 2019 23:10:18 +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 5007020730 for ; Fri, 15 Nov 2019 23:10:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5007020730 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 E91A16EB48; Fri, 15 Nov 2019 23:10:17 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id EEBFC6EB4B for ; Fri, 15 Nov 2019 23:10:16 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Nov 2019 15:10:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,310,1569308400"; d="scan'208";a="405489795" Received: from dceraolo-mobl.amr.corp.intel.com (HELO [10.254.0.113]) ([10.254.0.113]) by fmsmga005.fm.intel.com with ESMTP; 15 Nov 2019 15:10:14 -0800 To: "Hiatt, Don" , "intel-gfx@lists.freedesktop.org" References: <20191115182051.27182-1-don.hiatt@intel.com> <7355e3c9-71ad-bcc2-f069-4e9be308aed4@intel.com> <97654A90DB924C44A3AE6C902A3FEAC15F998201@ORSMSX106.amr.corp.intel.com> From: Daniele Ceraolo Spurio Message-ID: <9f47d05c-c601-4ffe-5aa5-7b22e92a102e@intel.com> Date: Fri, 15 Nov 2019 15:10:15 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1 MIME-Version: 1.0 In-Reply-To: <97654A90DB924C44A3AE6C902A3FEAC15F998201@ORSMSX106.amr.corp.intel.com> Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH] drm/i915/guc: Skip suspend/resume GuC action on platforms w/o GuC submission 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: "S . Zharkoff" , KiteStramuort , Tomas Janousek Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191115231015.rL5ufzgBped8k1JIQENhFa059_TG3ypdzOTK8AyMy1k@z> CgpPbiAxMS8xNS8yMDE5IDI6MjIgUE0sIEhpYXR0LCBEb24gd3JvdGU6Cj4KPj4gRnJvbTogQ2Vy YW9sbyBTcHVyaW8sIERhbmllbGUgPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+Cj4+ IFNlbnQ6IEZyaWRheSwgTm92ZW1iZXIgMTUsIDIwMTkgMjowMiBQTQo+PiBUbzogSGlhdHQsIERv biA8ZG9uLmhpYXR0QGludGVsLmNvbT47IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK Pj4gQ2M6IEV3aW5zLCBKb24gPGpvbi5ld2luc0BpbnRlbC5jb20+OyBLaXRlU3RyYW11b3J0Cj4+ IDxraXRlc3RyYW11b3J0QGF1dGlzdGljaS5vcmc+OyBTIC4gWmhhcmtvZmYgPHMuemhhcmtvZmZA Z21haWwuY29tPjsKPj4gV2FqZGVjemtvLCBNaWNoYWwgPE1pY2hhbC5XYWpkZWN6a29AaW50ZWwu Y29tPjsgU3VtbWVycywgU3R1YXJ0Cj4+IDxzdHVhcnQuc3VtbWVyc0BpbnRlbC5jb20+OyBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az47IFRvbWFzCj4+IEphbm91c2VrIDx0 b21pQG5vbWkuY3o+Cj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIGRybS9pOTE1L2d1YzogU2tpcCBz dXNwZW5kL3Jlc3VtZSBHdUMgYWN0aW9uIG9uCj4+IHBsYXRmb3JtcyB3L28gR3VDIHN1Ym1pc3Np b24KPj4KPj4KPj4KPj4gT24gMTEvMTUvMTkgMTA6MjAgQU0sIGRvbi5oaWF0dEBpbnRlbC5jb20g d3JvdGU6Cj4+PiBGcm9tOiBEb24gSGlhdHQgPGRvbi5oaWF0dEBpbnRlbC5jb20+Cj4+Pgo+Pj4g T24gc29tZSBwbGF0Zm9ybXMgKGUuZy4gS0JMKSB0aGF0IGRvIG5vdCBzdXBwb3J0IEd1QyBzdWJt aXNzaW9uLCBidXQKPj4+IHRoZSB1c2VyIGVuYWJsZWQgdGhlIEd1QyBjb21tdW5pY2F0aW9uIChl LmcgZm9yIEh1QyBhdXRoZW50aWNhdGlvbikKPj4+IGNhbGxpbmcgdGhlIEd1QyBFWElUX1NfU1RB VEUgYWN0aW9uIHJlc3VsdHMgaW4gbG9zZSBvZiBhYmlsaXR5IHRvCj4+PiBlbnRlciBSQzYuIFdl IGNhbiByZW1vdmUgdGhlIEd1QyBzdXNwZW5kL3Jlc3VtZSBlbnRpcmVseSBhcyB3ZSBkbwo+Pj4g bm90IG5lZWQgdG8gc2F2ZSB0aGUgR3VDIHN1Ym1pc3Npb24gc3RhdHVzLgo+Pj4KPj4+IEFkZCBp bnRlbF9ndWNfc3VibWlzc2lvbl9pc19lbmFibGVkKCkgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlm Cj4+PiBHdUMgc3VibWlzc2lvbiBpcyBhY3RpdmUuCj4+Pgo+Pj4gdjI6IERvIG5vdCBzdXNwZW5k L3Jlc3VtZSB0aGUgR3VDIG9uIHBsYXRmb3JtcyB0aGF0IGRvIG5vdCBzdXBwb3J0Cj4+PiAgICAg ICBHdWMgU3VibWlzc2lvbi4KPj4+IHYzOiBGaXggdHlwbywgbW92ZSBzdXNwZW5kIGxvZ2ljIHRv IHJlbW92ZSBnb3RvLgo+Pj4gdjQ6IFVzZSBpbnRlbF9ndWNfc3VibWlzc2lvbl9pc19lbmFibGVk KCkgdG8gY2hlY2sgR3VDIHN1Ym1pc3Npb24KPj4+ICAgICAgIHN0YXR1cy4KPj4+IHY1OiBObyBu ZWVkIHRvIGxvb2sgYXQgZW5naW5lIHRvIGRldGVybWluZSBpZiBzdWJtaXNzaW9uIGlzIGVuYWJs ZWQuCj4+PiAgICAgICBTcXVhc2ggZml4ICsgaW50ZWxfZ3VjX3N1Ym1pc3Npb25faXNfZW5hYmxl ZCgpIHBhdGNoIGludG8gb25lLgo+Pj4KPj4+IFJlcG9ydGVkLWJ5OiBLaXRlU3RyYW11b3J0IDxr aXRlc3RyYW11b3J0QGF1dGlzdGljaS5vcmc+Cj4+PiBSZXBvcnRlZC1ieTogUy4gWmhhcmtvZmYg PHMuemhhcmtvZmZAZ21haWwuY29tPgo+Pj4gQnVnemlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVz a3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTU5NAo+Pj4gQnVnemlsbGE6IGh0dHBzOi8vYnVn cy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTYyMwo+Pj4gRml4ZXM6IGY3NzRm MDk2NDkxOSAoImRybS9pOTE1L2d1YzogVHVybiBvbiBHdUMvSHVDIGF1dG8gbW9kZSIpCj4+IEkg ZG9uJ3QgdGhpbmsgdGhpcyBGaXhlcyB0YWcgaXMgYXBwcm9wcmlhdGUgc2luY2Ugd2UgYWxyZWFk eSByZXZlcnRlZAo+PiB0aGF0IHBhdGNoLgo+Pgo+IENhbiB5b3Ugc3VnZ2VzdCBhbiBhcHByb3By aWF0ZSB0YWc/IENocmlzIHN1Z2dlc3QgImd1Yy9odWMgZW5hYmxpbmcgYnkgZGVmYXVsdCIgcGF0 Y2gKPiBidXQgSSBjb3VsZG4ndCBmaW5kIGl0IGFuZCB0aGlzIG9uZSBzZWVtZWQgc2ltaWxhci4K CkRvIHdlIHdhbnQgdG8gYmFja3BvcnQgdGhpcyBldmVuIGlmIGd1YyBpcyBvZmYgYnkgZGVmYXVs dCBhbmQgdGFpbnRzIG9uIAplbmFibGluZz8gaWYgd2UgZG8sIHRoZW4gd2UgcHJvYmFibHkgbmVl ZCB0byBnbyBhbGwgdGhlIHdheSBiYWNrIHRvIHdoZW4gCndlIGludHJvZHVjZWQgdGhlIG5ldyBi aW5hcmllcyB0aGF0IHNob3cgdGhlIHByb2JsZW0gKCJkcm0vaTkxNS9ndWM6IApVcGRhdGVzIGZv ciBHdUMgMzIuMC4zIGZpcm13YXJlIikuCgpEYW5pZWxlCgo+Cj4+PiBDYzogTWljaGFsIFdhamRl Y3prbyA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+Cj4+PiBDYzogRGFuaWVsZSBDZXJhbG8g U3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgo+Pj4gQ2M6IFN0dWFydCBT dW1tZXJzIDxzdHVhcnQuc3VtbWVyc0BpbnRlbC5jb20+Cj4+PiBDYzogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4+PiBUZXN0ZWQtYnk6IFRvbWFzIEphbm91c2VrIDx0 b21pQG5vbWkuY3o+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBEb24gSGlhdHQgPGRvbi5oaWF0dEBpbnRl bC5jb20+Cj4+PiAtLS0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1 Yy5jIHwgNyArKysrKysrCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91 Yy5jICB8IDggKysrKysrKysKPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg ICAgICAgIHwgNiArKysrKysKPj4+ICAgIDMgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygr KQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9n dWMuYwo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5jCj4+PiBpbmRl eCAwMTlhZTY0ODZlOGQuLjkyZDkzMDVjMGQ3MyAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC91Yy9pbnRlbF9ndWMuYwo+Pj4gQEAgLTU1Myw2ICs1NTMsMTMgQEAgaW50IGludGVsX2d1 Y19zdXNwZW5kKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPj4+ICAgIAkJR1VDX1BPV0VSX0QxLCAv KiBhbnkgdmFsdWUgZ3JlYXRlciB0aGFuIEdVQ19QT1dFUl9EMAo+PiAqLwo+Pj4gICAgCX07Cj4+ Pgo+Pj4gKwkvKgo+Pj4gKwkgKiBJZiBHdUMgY29tbXVuaWNhdGlvbiBpcyBlbmFibGVkIGJ1dCBz dWJtaXNzaW9uIGlzIG5vdCBzdXBwb3J0ZWQsCj4+PiArCSAqIHdlIGRvIG5vdCBuZWVkIHRvIHN1 c3BlbmQgdGhlIEd1Qy4KPj4+ICsJICovCj4+PiArCWlmICghaW50ZWxfZ3VjX3N1Ym1pc3Npb25f aXNfZW5hYmxlZChndWMpKQo+Pj4gKwkJcmV0dXJuIDA7Cj4+PiArCj4+PiAgICAJLyoKPj4+ICAg IAkgKiBUaGUgRU5URVJfU19TVEFURSBhY3Rpb24gcXVldWVzIHRoZSBzYXZlL3Jlc3RvcmUgb3Bl cmF0aW9uIGluIEd1Qwo+PiBGVwo+Pj4gICAgCSAqIGFuZCB0aGVuIHJldHVybnMsIHNvIHdhaXRp bmcgb24gdGhlIEgyRyBpcyBub3QgZW5vdWdoIHRvIGd1YXJhbnRlZQo+Pj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMKPj4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jCj4+PiBpbmRleCA2MjliMTkzNzdhMjkuLjRkZDQzYjk5 YTMzNCAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3Vj LmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMKPj4+IEBA IC02MDUsNiArNjA1LDE0IEBAIHN0YXRpYyBpbnQgX191Y19yZXN1bWUoc3RydWN0IGludGVsX3Vj ICp1YywgYm9vbAo+PiBlbmFibGVfY29tbXVuaWNhdGlvbikKPj4+ICAgIAlpZiAoZW5hYmxlX2Nv bW11bmljYXRpb24pCj4+PiAgICAJCWd1Y19lbmFibGVfY29tbXVuaWNhdGlvbihndWMpOwo+Pj4K Pj4+ICsJLyoKPj4+ICsJICogSWYgR3VDIGNvbW11bmljYXRpb24gaXMgZW5hYmxlZCBidXQgc3Vi bWlzc2lvbiBpcyBub3Qgc3VwcG9ydGVkLAo+Pj4gKwkgKiB3ZSBkbyBub3QgbmVlZCB0byByZXN1 bWUgdGhlIEd1QyBidXQgd2UgZG8gbmVlZCB0byBlbmFibGUgdGhlCj4+PiArCSAqIEd1QyBjb21t dW5pY2F0aW9uIG9uIHJlc3VtZSAoYWJvdmUpLgo+Pj4gKwkgKi8KPj4+ICsJaWYgKCFpbnRlbF9n dWNfc3VibWlzc2lvbl9pc19lbmFibGVkKGd1YykpCj4+PiArCQlyZXR1cm4gMDsKPj4+ICsKPj4g SSB3b3VsZCBwdXQgdGhpcyBjaGVjayBpbnNpZGUgaW50ZWxfZ3VjX3Jlc3VtZSgpLCBmb3Igc3lt bWV0cnkgd2l0aCB0aGUKPj4gb25lIHlvdSBwdXQgaW5zaWRlIGludGVsX2d1Y19zdXNwZW5kKCku Cj4+Cj4gV2lsbCBkby4KPgo+PiBEYW5pZWxlCj4+Cj4+PiAgICAJZXJyID0gaW50ZWxfZ3VjX3Jl c3VtZShndWMpOwo+Pj4gICAgCWlmIChlcnIpIHsKPj4+ICAgIAkJRFJNX0RFQlVHX0RSSVZFUigi RmFpbGVkIHRvIHJlc3VtZSBHdUMsIGVycj0lZCIsIGVycik7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPj4+IGluZGV4IDdiYzFkOGMxMDJiMi4uMmI4Nzk0NzJlNzYwIDEwMDY0NAo+Pj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+Pj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+Pj4gQEAgLTIwNDQsNCArMjA0NCwxMCBAQCBpOTE1X2Nv aGVyZW50X21hcF90eXBlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4+ICppOTE1KQo+Pj4gICAg CXJldHVybiBIQVNfTExDKGk5MTUpID8gSTkxNV9NQVBfV0IgOiBJOTE1X01BUF9XQzsKPj4+ICAg IH0KPj4+Cj4+PiArc3RhdGljIGlubGluZSBib29sIGludGVsX2d1Y19zdWJtaXNzaW9uX2lzX2Vu YWJsZWQoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+Pj4gK3sKPj4+ICsJcmV0dXJuIGludGVsX2d1 Y19pc19zdWJtaXNzaW9uX3N1cHBvcnRlZChndWMpICYmCj4+PiArCQlpbnRlbF9ndWNfaXNfcnVu bmluZyhndWMpOwo+Pj4gK30KPj4+ICsKPj4+ICAgICNlbmRpZgo+Pj4KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==