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=-10.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,HK_RANDOM_FROM,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,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 25C2BC4742C for ; Tue, 10 Nov 2020 11:19:54 +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 B06D520659 for ; Tue, 10 Nov 2020 11:19:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B06D520659 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 D9C5B8909F; Tue, 10 Nov 2020 11:19:52 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 01C5A89263; Tue, 10 Nov 2020 11:19:50 +0000 (UTC) IronPort-SDR: cKRy3lkQhrJ6gAQCgojIfrsRIKLUFIv5BJAHRBy/1Qn39DEljq6CZ0KPBnw20D7j0qn0PY5oNn wqpynIgKIG7Q== X-IronPort-AV: E=McAfee;i="6000,8403,9800"; a="234122161" X-IronPort-AV: E=Sophos;i="5.77,466,1596524400"; d="scan'208";a="234122161" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2020 03:19:50 -0800 IronPort-SDR: 7qo4VMr4tLuV14HBtyH2NWT91Le2Wp4Nd8xjxTLv5H8A0MoKr7zAnQFu7F30nsmiRFA0YPuwmO 2o6aISrnlz/g== X-IronPort-AV: E=Sophos;i="5.77,466,1596524400"; d="scan'208";a="541287558" Received: from stadlerw-mobl2.ger.corp.intel.com (HELO [10.252.50.177]) ([10.252.50.177]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2020 03:19:48 -0800 To: =?UTF-8?Q?Zbigniew_Kempczy=c5=84ski?= References: <20201109104811.3773962-1-tvrtko.ursulin@linux.intel.com> <20201109104811.3773962-2-tvrtko.ursulin@linux.intel.com> <20201110111352.GD5736@zkempczy-mobl2> From: Tvrtko Ursulin Organization: Intel Corporation UK Plc Message-ID: <92afca40-68e5-5233-b6c8-24e79540fa32@linux.intel.com> Date: Tue, 10 Nov 2020 11:19:46 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20201110111352.GD5736@zkempczy-mobl2> Content-Language: en-US Subject: Re: [Intel-gfx] [RFC 1/3] intel_gpu_top: User friendly device listing X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: igt-dev@lists.freedesktop.org, Intel-gfx@lists.freedesktop.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Ck9uIDEwLzExLzIwMjAgMTE6MTMsIFpiaWduaWV3IEtlbXBjennFhHNraSB3cm90ZToKPiBPbiBN b24sIE5vdiAwOSwgMjAyMCBhdCAxMDo0ODowOUFNICswMDAwLCBUdnJ0a28gVXJzdWxpbiB3cm90 ZToKPj4gRnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPj4K Pj4gQWRkaW5nIGEgbmV3IGRldmljZSBzZWxlY3Rpb24gcHJpbnQgdHlwZSBzdWl0YWJsZSBmb3Ig dXNlci1mYWNpbmcKPj4gdXNlIGNhc2VzIGxpa2UgaW50ZWxfZ3B1X3RvcCAtTCBhbmQgbGF0ZXIg bHNncHUuCj4+Cj4+IEluc3RlYWQgb2Y6Cj4+Cj4+IHN5czovc3lzL2RldmljZXMvcGNpMDAwMDow MC8wMDAwOjAwOjAyLjAvZHJtL2NhcmQwCj4+ICAgICAgc3Vic3lzdGVtICAgICAgIDogZHJtCj4+ ICAgICAgZHJtIGNhcmQgICAgICAgIDogL2Rldi9kcmkvY2FyZDAKPj4gICAgICBwYXJlbnQgICAg ICAgICAgOiBzeXM6L3N5cy9kZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDowMDowMi4wCj4+Cj4+IHN5 czovc3lzL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAwOjAyLjAvZHJtL3JlbmRlckQxMjgKPj4g ICAgICBzdWJzeXN0ZW0gICAgICAgOiBkcm0KPj4gICAgICBkcm0gcmVuZGVyICAgICAgOiAvZGV2 L2RyaS9yZW5kZXJEMTI4Cj4+ICAgICAgcGFyZW50ICAgICAgICAgIDogc3lzOi9zeXMvZGV2aWNl cy9wY2kwMDAwOjAwLzAwMDA6MDA6MDIuMAo+Pgo+PiBzeXM6L3N5cy9kZXZpY2VzL3BjaTAwMDA6 MDAvMDAwMDowMDowMi4wCj4+ICAgICAgc3Vic3lzdGVtICAgICAgIDogcGNpCj4+ICAgICAgZHJt IGNhcmQgICAgICAgIDogL2Rldi9kcmkvY2FyZDAKPj4gICAgICBkcm0gcmVuZGVyICAgICAgOiAv ZGV2L2RyaS9yZW5kZXJEMTI4Cj4+ICAgICAgdmVuZG9yICAgICAgICAgIDogODA4Ngo+PiAgICAg IGRldmljZSAgICAgICAgICA6IDE5M0IKPj4KPj4gTmV3IGZvcm1hdCBsb29rcyBsaWtlOgo+Pgo+ PiBjYXJkMCAgICAgICAgICAgICAgICAgICA4MDg2OjE5M0IgICAgZHJtOi9kZXYvZHJpL2NhcmQw Cj4+IOKUlOKUgHJlbmRlckQxMjggICAgICAgICAgICAgICAgICAgICAgICAgZHJtOi9kZXYvZHJp L3JlbmRlckQxMjgKPj4KPj4gQWR2YW50YWdlcyBhcmUgbW9yZSBjb21wYWN0LCBtb3JlIHJlYWRh YmxlLCBvbmUgZW50cnkgcGVyIEdQVSwgc2hvcnRlcgo+PiBzdHJpbmcgdG8gY29weSBhbmQgcGFz dGUgdG8gaW50ZWxfZ3B1X3RvcCAtZCwgb3IgcmVzcGVjdGl2ZSB1c2FnZS4KPj4KPj4gU2lnbmVk LW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPj4gQ2M6 IFBldHJpIExhdHZhbGEgPHBldHJpLmxhdHZhbGFAaW50ZWwuY29tPgo+PiBDYzogWmJpZ25pZXcg S2VtcGN6ecWEc2tpIDx6Ymlnbmlldy5rZW1wY3p5bnNraUBpbnRlbC5jb20+Cj4+IC0tLQo+PiAg IGxpYi9pZ3RfZGV2aWNlX3NjYW4uYyB8IDEwOSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0KPj4gICBsaWIvaWd0X2RldmljZV9zY2FuLmggfCAgIDEgKwo+PiAgIHRv b2xzL2ludGVsX2dwdV90b3AuYyB8ICAgMyArLQo+PiAgIDMgZmlsZXMgY2hhbmdlZCwgMTAwIGlu c2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvbGliL2lndF9k ZXZpY2Vfc2Nhbi5jIGIvbGliL2lndF9kZXZpY2Vfc2Nhbi5jCj4+IGluZGV4IGM1ODFhMzFhZTU1 ZS4uZTY2Y2NkYzI1YWViIDEwMDY0NAo+PiAtLS0gYS9saWIvaWd0X2RldmljZV9zY2FuLmMKPj4g KysrIGIvbGliL2lndF9kZXZpY2Vfc2Nhbi5jCj4+IEBAIC03MzUsMTggKzczNSwyNiBAQCBzdGF0 aWMgaW5saW5lIHZvaWQgX3ByX3NpbXBsZTIoY29uc3QgY2hhciAqaywgY29uc3QgY2hhciAqdjEs IGNvbnN0IGNoYXIgKnYyKQo+PiAgIAlwcmludGYoIiAgICAlLTE2czogJXM6JXNcbiIsIGssIHYx LCB2Mik7Cj4+ICAgfQo+PiAgIAo+PiAtc3RhdGljIHZvaWQgaWd0X2RldnNfcHJpbnRfc2ltcGxl KHN0cnVjdCBpZ3RfbGlzdF9oZWFkICp2aWV3KQo+PiArc3RhdGljIGJvb2wgX19jaGVja19lbXB0 eShzdHJ1Y3QgaWd0X2xpc3RfaGVhZCAqdmlldykKPj4gICB7Cj4+IC0Jc3RydWN0IGlndF9kZXZp Y2UgKmRldjsKPj4gLQo+PiAgIAlpZiAoIXZpZXcpCj4+IC0JCXJldHVybjsKPj4gKwkJcmV0dXJu IHRydWU7Cj4+ICAgCj4+ICAgCWlmIChpZ3RfbGlzdF9lbXB0eSh2aWV3KSkgewo+PiAgIAkJcHJp bnRmKCJObyBHUFUgZGV2aWNlcyBmb3VuZFxuIik7Cj4+IC0JCXJldHVybjsKPj4gKwkJcmV0dXJu IHRydWU7Cj4+ICAgCX0KPj4gICAKPj4gKwlyZXR1cm4gZmFsc2U7Cj4+ICt9Cj4+ICsKPj4gK3N0 YXRpYyB2b2lkIGlndF9kZXZzX3ByaW50X3NpbXBsZShzdHJ1Y3QgaWd0X2xpc3RfaGVhZCAqdmll dykKPj4gK3sKPj4gKwlzdHJ1Y3QgaWd0X2RldmljZSAqZGV2Owo+PiArCj4+ICsJaWYgKF9fY2hl Y2tfZW1wdHkodmlldykpCj4+ICsJCXJldHVybjsKPj4gKwo+PiAgIAlpZ3RfbGlzdF9mb3JfZWFj aF9lbnRyeShkZXYsIHZpZXcsIGxpbmspIHsKPj4gICAJCXByaW50Zigic3lzOiVzXG4iLCBkZXYt PnN5c3BhdGgpOwo+PiAgIAkJaWYgKGRldi0+c3Vic3lzdGVtKQo+PiBAQCAtNzY4LDYgKzc3Niw4 OSBAQCBzdGF0aWMgdm9pZCBpZ3RfZGV2c19wcmludF9zaW1wbGUoc3RydWN0IGlndF9saXN0X2hl YWQgKnZpZXcpCj4+ICAgCX0KPj4gICB9Cj4+ICAgCj4+ICtzdGF0aWMgc3RydWN0IGlndF9kZXZp Y2UgKgo+PiArX19maW5kX3BjaShzdHJ1Y3QgaWd0X2xpc3RfaGVhZCAqdmlldywgY29uc3QgY2hh ciAqZHJtKQo+PiArewo+PiArCXN0cnVjdCBpZ3RfZGV2aWNlICpkZXY7Cj4+ICsKPj4gKwlpZ3Rf bGlzdF9mb3JfZWFjaF9lbnRyeShkZXYsIHZpZXcsIGxpbmspIHsKPj4gKwkJaWYgKCFpc19wY2lf c3Vic3lzdGVtKGRldikgfHwgIWRldi0+ZHJtX2NhcmQpCj4+ICsJCQljb250aW51ZTsKPj4gKwo+ PiArCQlpZiAoIXN0cmNtcChkZXYtPmRybV9jYXJkLCBkcm0pKQo+PiArCQkJcmV0dXJuIGRldjsK Pj4gKwl9Cj4+ICsKPj4gKwlyZXR1cm4gTlVMTDsKPj4gK30KPj4gKwo+PiArc3RhdGljIHZvaWQg aWd0X2RldnNfcHJpbnRfdXNlcihzdHJ1Y3QgaWd0X2xpc3RfaGVhZCAqdmlldykKPj4gK3sKPj4g KwlzdHJ1Y3QgaWd0X2RldmljZSAqZGV2Owo+PiArCj4+ICsJaWYgKF9fY2hlY2tfZW1wdHkodmll dykpCj4+ICsJCXJldHVybjsKPj4gKwo+PiArCWlndF9saXN0X2Zvcl9lYWNoX2VudHJ5KGRldiwg dmlldywgbGluaykgewo+PiArCQl1bnNpZ25lZCBpbnQgaSwgbnVtX2NoaWxkcmVuOwo+PiArCQlz dHJ1Y3QgaWd0X2RldmljZSAqcGNpX2RldjsKPj4gKwkJc3RydWN0IGlndF9kZXZpY2UgKmRldjI7 Cj4+ICsJCWNoYXIgZmlsdGVyWzY0XTsKPj4gKwkJY2hhciAqZHJtX25hbWU7Cj4+ICsJCWludCBy ZXQ7Cj4+ICsKPj4gKwkJaWYgKCFpc19kcm1fc3Vic3lzdGVtKGRldikpCj4+ICsJCQljb250aW51 ZTsKPj4gKwkJaWYgKCFkZXYtPmRybV9jYXJkIHx8IGRldi0+ZHJtX3JlbmRlcikKPj4gKwkJCWNv bnRpbnVlOwo+PiArCj4+ICsJCWRybV9uYW1lID0gcmluZGV4KGRldi0+ZHJtX2NhcmQsICcvJyk7 Cj4+ICsJCWlmICghZHJtX25hbWUgfHwgISorK2RybV9uYW1lKQo+PiArCQkJY29udGludWU7Cj4+ ICsKPj4gKwkJcmV0ID0gc25wcmludGYoZmlsdGVyLCBzaXplb2YoZmlsdGVyKSwgImRybTolcyIs IGRldi0+ZHJtX2NhcmQpOwo+PiArCQlpZ3RfYXNzZXJ0KHJldCA8IHNpemVvZihmaWx0ZXIpKTsK Pj4gKwo+PiArCQlwY2lfZGV2ID0gX19maW5kX3BjaSh2aWV3LCBkZXYtPmRybV9jYXJkKTsKPj4g KwkJaWYgKHBjaV9kZXYpCj4+ICsJCQlwcmludGYoIiUtMjRzJTRzOiU0cyAgICAlc1xuIiwKPj4g KwkJCSAgICAgICBkcm1fbmFtZSwgcGNpX2Rldi0+dmVuZG9yLCBwY2lfZGV2LT5kZXZpY2UsCj4+ ICsJCQkgICAgICAgZmlsdGVyKTsKPj4gKwkJZWxzZQo+PiArCQkJcHJpbnRmKCIlLTI0cyAgICAg ICAgICAgICAlc1xuIiwgZHJtX25hbWUsIGZpbHRlcik7Cj4+ICsKPj4gKwkJbnVtX2NoaWxkcmVu ID0gMDsKPj4gKwkJaWd0X2xpc3RfZm9yX2VhY2hfZW50cnkoZGV2MiwgdmlldywgbGluaykgewo+ PiArCQkJaWYgKCFpc19kcm1fc3Vic3lzdGVtKGRldjIpIHx8ICFkZXYyLT5kcm1fcmVuZGVyKQo+ PiArCQkJCWNvbnRpbnVlOwo+PiArCQkJaWYgKHN0cmNtcChkZXYyLT5wYXJlbnQtPnN5c3BhdGgs IGRldi0+cGFyZW50LT5zeXNwYXRoKSkKPj4gKwkJCQljb250aW51ZTsKPj4gKwo+PiArCQkJbnVt X2NoaWxkcmVuKys7Cj4+ICsJCX0KPj4gKwo+PiArCQlpID0gMDsKPj4gKwkJaWd0X2xpc3RfZm9y X2VhY2hfZW50cnkoZGV2MiwgdmlldywgbGluaykgewo+PiArCQkJaWYgKCFpc19kcm1fc3Vic3lz dGVtKGRldjIpIHx8ICFkZXYyLT5kcm1fcmVuZGVyKQo+PiArCQkJCWNvbnRpbnVlOwo+PiArCQkJ aWYgKHN0cmNtcChkZXYyLT5wYXJlbnQtPnN5c3BhdGgsIGRldi0+cGFyZW50LT5zeXNwYXRoKSkK Pj4gKwkJCQljb250aW51ZTsKPj4gKwo+PiArCQkJZHJtX25hbWUgPSByaW5kZXgoZGV2Mi0+ZHJt X3JlbmRlciwgJy8nKTsKPj4gKwkJCWlmICghZHJtX25hbWUgfHwgISorK2RybV9uYW1lKQo+PiAr CQkJCWNvbnRpbnVlOwo+PiArCj4+ICsJCQlyZXQgPSBzbnByaW50ZihmaWx0ZXIsIHNpemVvZihm aWx0ZXIpLCAiZHJtOiVzIiwKPj4gKwkJCQkgICAgICAgZGV2Mi0+ZHJtX3JlbmRlcik7Cj4+ICsJ CQlpZ3RfYXNzZXJ0KHJldCA8IHNpemVvZihmaWx0ZXIpKTsKPj4gKwo+PiArCQkJcHJpbnRmKCIl cyUtMjJzICAgICAgICAgICAgICVzXG4iLAo+PiArCQkJICAgICAgICgrK2kgPT0gbnVtX2NoaWxk cmVuKSA/ICLilJTilIAiIDogIuKUnOKUgCIsCj4+ICsJCQkgICAgICAgZHJtX25hbWUsIGZpbHRl cik7Cj4+ICsJCX0KPj4gKwl9Cj4+ICt9Cj4+ICsKPj4gICBzdGF0aWMgaW5saW5lIHZvaWQgX3By aW50X2tleV92YWx1ZShjb25zdCBjaGFyKiBrLCBjb25zdCBjaGFyICp2KQo+PiAgIHsKPj4gICAJ cHJpbnRmKCIlLTMyczogJXNcbiIsIGssIHYpOwo+PiBAQCAtNzkyLDE0ICs4ODMsOSBAQCBzdGF0 aWMgdm9pZCBpZ3RfZGV2c19wcmludF9kZXRhaWwoc3RydWN0IGlndF9saXN0X2hlYWQgKnZpZXcp Cj4+ICAgewo+PiAgIAlzdHJ1Y3QgaWd0X2RldmljZSAqZGV2Owo+PiAgIAo+PiAtCWlmICghdmll dykKPj4gKwlpZiAoX19jaGVja19lbXB0eSh2aWV3KSkKPj4gICAJCXJldHVybjsKPj4gICAKPj4g LQlpZiAoaWd0X2xpc3RfZW1wdHkodmlldykpIHsKPj4gLQkJcHJpbnRmKCJObyBHUFUgZGV2aWNl cyBmb3VuZFxuIik7Cj4+IC0JCXJldHVybjsKPj4gLQl9Cj4+IC0KPj4gICAJaWd0X2xpc3RfZm9y X2VhY2hfZW50cnkoZGV2LCB2aWV3LCBsaW5rKSB7Cj4+ICAgCQlwcmludGYoIj09PT09PT09PT0g JXM6JXMgPT09PT09PT09PVxuIiwKPj4gICAJCSAgICAgICBkZXYtPnN1YnN5c3RlbSwgZGV2LT5z eXNwYXRoKTsKPj4gQEAgLTgyMSw2ICs5MDcsNyBAQCBzdGF0aWMgc3RydWN0IHByaW50X2Z1bmMg ewo+PiAgIH0gcHJpbnRfZnVuY3Rpb25zW10gPSB7Cj4+ICAgCVtJR1RfUFJJTlRfU0lNUExFXSA9 IHsgLnBybiA9IGlndF9kZXZzX3ByaW50X3NpbXBsZSB9LAo+PiAgIAlbSUdUX1BSSU5UX0RFVEFJ TF0gPSB7IC5wcm4gPSBpZ3RfZGV2c19wcmludF9kZXRhaWwgfSwKPj4gKwlbSUdUX1BSSU5UX1VT RVJdID0geyAucHJuID0gaWd0X2RldnNfcHJpbnRfdXNlciB9LAo+PiAgIH07Cj4+ICAgCj4+ICAg LyoqCj4+IGRpZmYgLS1naXQgYS9saWIvaWd0X2RldmljZV9zY2FuLmggYi9saWIvaWd0X2Rldmlj ZV9zY2FuLmgKPj4gaW5kZXggOTlkYWVlMGM1MmQ2Li45ODIyYzIyY2I2OWMgMTAwNjQ0Cj4+IC0t LSBhL2xpYi9pZ3RfZGV2aWNlX3NjYW4uaAo+PiArKysgYi9saWIvaWd0X2RldmljZV9zY2FuLmgK Pj4gQEAgLTM3LDYgKzM3LDcgQEAKPj4gICBlbnVtIGlndF9kZXZpY2VzX3ByaW50X3R5cGUgewo+ PiAgIAlJR1RfUFJJTlRfU0lNUExFLAo+PiAgIAlJR1RfUFJJTlRfREVUQUlMLAo+PiArCUlHVF9Q UklOVF9VU0VSLCAvKiBFbmQgdXNlciBmcmllbmRseS4gKi8KPj4gICB9Owo+PiAgIAo+PiAgICNk ZWZpbmUgSU5URUdSQVRFRF9JOTE1X0dQVV9QQ0lfSUQgIjAwMDA6MDA6MDIuMCIKPj4gZGlmZiAt LWdpdCBhL3Rvb2xzL2ludGVsX2dwdV90b3AuYyBiL3Rvb2xzL2ludGVsX2dwdV90b3AuYwo+PiBp bmRleCAyOThkZWZhNGU2ZWQuLjUyMzA0NzJkMmFmNCAxMDA2NDQKPj4gLS0tIGEvdG9vbHMvaW50 ZWxfZ3B1X3RvcC5jCj4+ICsrKyBiL3Rvb2xzL2ludGVsX2dwdV90b3AuYwo+PiBAQCAtMTMxMyw3 ICsxMzEzLDYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQo+PiAgIAl1bnNpZ25l ZCBpbnQgaTsKPj4gICAJaW50IHJldCA9IDAsIGNoOwo+PiAgIAlib29sIGxpc3RfZGV2aWNlID0g ZmFsc2U7Cj4+IC0JZW51bSBpZ3RfZGV2aWNlc19wcmludF90eXBlIHByaW50dHlwZSA9IElHVF9Q UklOVF9TSU1QTEU7Cj4+ICAgCWNoYXIgKnBtdV9kZXZpY2UsICpvcHRfZGV2aWNlID0gTlVMTDsK Pj4gICAJc3RydWN0IGlndF9kZXZpY2VfY2FyZCBjYXJkOwo+PiAgIAo+PiBAQCAtMTM4OCw3ICsx Mzg3LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQo+PiAgIAlpZ3RfZGV2aWNl c19zY2FuKGZhbHNlKTsKPj4gICAKPj4gICAJaWYgKGxpc3RfZGV2aWNlKSB7Cj4+IC0JCWlndF9k ZXZpY2VzX3ByaW50KHByaW50dHlwZSk7Cj4+ICsJCWlndF9kZXZpY2VzX3ByaW50KElHVF9QUklO VF9VU0VSKTsKPiAKPiBJIHdvdWxkIGFkZCBhdCBsZWFzdCBwb3NzaWJpbGl0eSB0byB1c2Ugc2lt cGxlIHZpZXcgdG8gc3VnZ2VzdAo+IGhvdyB0byB1c2UgcGNpL3N5cyBmaWx0ZXIuIFdpdGggVVNF UiBwcmludCBmb3JtYXQgd2Ugc2VlIG9ubHkKCllvdSBtZWFuIHRoZSBibHVyYiBwcmludGVkIG91 dCBieSBpZ3RfZGV2aWNlX3ByaW50X2ZpbHRlcl90eXBlcyAKKGN1cnJlbnRseSBwcmludGVkIGFz IHBhcnQgb2YgaGVscCB0ZXh0KSBvciBzb21ldGhpbmcgZWxzZT8KCj4gZHJtIHBhdGhzLiBCdXQg SSB3b24ndCBpbnNpc3QgZm9yIHRoYXQsIHVzaW5nIGRybSBzZWxlY3Rpb24KPiBpcyBvayBmb3Ig bWUuCgpHb29kIHBvaW50IGFjdHVhbGx5LCBpbnRlbF9ncHVfdG9wIHNob3VsZCBwcm9iYWJseSBk ZWZhdWx0IHRvICItLXBjaSIgCmxpc3RpbmcgdHlwZSBzaW5jZSBpdCBtb25pdG9ycyBHUFVzIHdp dGggbm8gbm90aW9uIG9mIERSTSBtYXN0ZXIvcmVuZGVyLgoKPiBSZXZpZXdlZC1ieTogWmJpZ25p ZXcgS2VtcGN6ecWEc2tpIDx6Ymlnbmlldy5rZW1wY3p5bnNraUBpbnRlbC5jb20+CgpUaGFua3Mh IExldCBtZSBrbm93IGlmIHlvdSBhZ3JlZSB3aXRoICItLXBjaSIgYnkgZGVmYXVsdCBmb3IgCmlu dGVsX2dwdV90b3AgYW5kIGlmIGl0IGlzIG9rYXkgdG8ga2VlcCB0aGUgci1iPwoKUmVnYXJkcywK ClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK