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=-9.3 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 9732DC3A589 for ; Tue, 20 Aug 2019 18:10:57 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 6FF1220644 for ; Tue, 20 Aug 2019 18:10:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hDNWaYOg" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6FF1220644 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i08aj-0006Ic-RY; Tue, 20 Aug 2019 18:10:45 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i08ai-0006Hm-23 for xen-devel@lists.xenproject.org; Tue, 20 Aug 2019 18:10:44 +0000 X-Inumbo-ID: c24adff8-c375-11e9-92eb-bc764e2007e4 Received: from mail-lf1-x141.google.com (unknown [2a00:1450:4864:20::141]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id c24adff8-c375-11e9-92eb-bc764e2007e4; Tue, 20 Aug 2019 18:10:15 +0000 (UTC) Received: by mail-lf1-x141.google.com with SMTP id x3so4852248lfc.0 for ; Tue, 20 Aug 2019 11:10:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=S0JoSMTFvGvAzG2YzPSF+Ye3zNZcXlx2qO4IFTTEzGA=; b=hDNWaYOgiMDe2cncNhscLTQAFvZHi40XG84BHYt4ok4O+MNPZIi33ZiFqPfuYKckpq RYyXTbNwxkLRXHfVrYSPgPMBJqr2F8Vz/vaPtuck768/7JecOmZ/TkIFARIObZX+2QXW 1EzANohZcfxAGmwg8DiDgT6c513ynZtD191bPUYiTOoY59vk1C+iE8DPOyb6+DOWw93v h9M2Js4p/0wy7lc/wulzyzUGLW2uqfKs3MrfVnS54v2ieAAVtM3pRSLLFd8XxhQgrbJN 04CXUT20B7ezMSXEb5BHeS2zSBztt74arHLtVDW/Zl/0vtTymLn8/mvTPZfwpUWgjnQk KWCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=S0JoSMTFvGvAzG2YzPSF+Ye3zNZcXlx2qO4IFTTEzGA=; b=ZYkrz7ezdRlaZ34GBqDUKQhQ9kiu5A1imLjqfYF83bImwEiYrU99W4KfBInuDfvMGJ osjsGa8g4HWqojxN5a2Ktmm5Efag0qMslhNSIaJM3QBh3TV8/6aOe5CaCiolT4QIdeiy Wpwzh3Z4WrTfRkI/z23UVPGFA/TXsySou7aXg054MAQ5YIF5laoDx3XPVCKoOqWhooQ0 Yd0Mh8FdFziroTYUmMKcAc6wn+eY3P+aq2ECIE43/5RYYnnFp6erfEztDyxfKjp2KX+B nM6mxLip/txqAbMK2Ye6wWSWb8T0FSB6errZFzifA82MIjmMvNBCSdoPl3rBD97UOUi5 G42g== X-Gm-Message-State: APjAAAWSO9h2qPdvaue1k0sR7PhNqc2gYoJxQsCAXZpCraGtHBytESff n3hC5JWhmPT6R4bVdRzl8RUGQV8E X-Google-Smtp-Source: APXvYqyx+Q+1ktyHLhD77AMRg3OMJFFvLdtKC5ffthtwC5A0Q3t0JFsKEwQ8IOywc1xeFBUHffdRSA== X-Received: by 2002:ac2:4309:: with SMTP id l9mr15909979lfh.65.1566324614379; Tue, 20 Aug 2019 11:10:14 -0700 (PDT) Received: from otyshchenko.kyiv.epam.com (ll-22.209.223.85.sovam.net.ua. [85.223.209.22]) by smtp.gmail.com with ESMTPSA id f6sm2900642lja.16.2019.08.20.11.10.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 20 Aug 2019 11:10:13 -0700 (PDT) From: Oleksandr Tyshchenko To: xen-devel@lists.xenproject.org Date: Tue, 20 Aug 2019 21:09:46 +0300 Message-Id: <1566324587-3442-8-git-send-email-olekstysh@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1566324587-3442-1-git-send-email-olekstysh@gmail.com> References: <1566324587-3442-1-git-send-email-olekstysh@gmail.com> Subject: [Xen-devel] [PATCH V3 7/8] iommu/arm: Introduce iommu_add_dt_device API X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Oleksandr Tyshchenko , julien.grall@arm.com, sstabellini@kernel.org, Volodymyr_Babchuk@epam.com MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" RnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29t PgoKVGhpcyBwYXRjaCBhZGRzIG5ldyBpb21tdV9hZGRfZHRfZGV2aWNlIEFQSSBmb3IgYWRkaW5n IERUIGRldmljZQp0byB0aGUgSU9NTVUgdXNpbmcgZ2VuZXJpYyBJT01NVSBEVCBiaW5kaW5ncyBb MV0gYW5kIHByZXZpb3VzbHkKYWRkZWQgImlvbW11X2Z3c3BlYyIgc3VwcG9ydCBhbmQgImFkZF9k ZXZpY2Uvb2ZfeGxhdGUiIGNhbGxiYWNrcy4KCk5ldyBmdW5jdGlvbiBkb2VzIHRoZSBmb2xsb3dp bmc6Ci0gUGFyc2UgdGhlIERUIGJpbmRpbmdzIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWNhdGlv bgotIFByb3ZpZGUgRFQgSU9NTVUgc3BlY2lmaWVyIHdoaWNoIGRlc2NyaWJlcyB0aGUgSU9NTVUg bWFzdGVyCiAgaW50ZXJmYWNlcyBvZiB0aGF0IGRldmljZSAoZGV2aWNlIElEcywgZXRjKSB0byB0 aGUgZHJpdmVyCi0gQWRkIG1hc3RlciBkZXZpY2UgdG8gdGhlIElPTU1VIGlmIGxhdHRlciBpcyBw cmVzZW50IGFuZCBhdmFpbGFibGUKClRoZSBhZGRpdGlvbmFsIGJlbmVmaXQgaGVyZSBpcyB0byBh dm9pZCB0byBnbyB0aHJvdWdoIHRoZSB3aG9sZSBEVAptdWx0aXBsZSB0aW1lcyBpbiBJT01NVSBk cml2ZXIgdHJ5aW5nIHRvIGxvY2F0ZSBtYXN0ZXIgZGV2aWNlcyB3aGljaApiZWxvbmcgdG8gZWFj aCBJT01NVSBkZXZpY2UgYmVpbmcgcHJvYmVkLgoKWzFdIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcv ZG9jL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9pb21tdS9pb21tdS50eHQKClNp Z25lZC1vZmYtYnk6IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0Bl cGFtLmNvbT4KQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CgotLS0KQ2hh bmdlcyBWMiAtPiBWMzoKICAgIC0gY2xhcmlmaWVkIHBhdGNoIGRlc2NyaXB0aW9uCiAgICAtIGNs YXJpZmllZCBjb21tZW50cyBpbiBjb2RlCiAgICAtIG1vZGlmaWVkIHRvIHByb3ZpZGUgRFQgSU9N TVUgc3BlY2lmaWVyIHRvIHRoZSBkcml2ZXIKICAgICAgdXNpbmcgIm9mX3hsYXRlIiBjYWxsYmFj awogICAgLSBkb2N1bWVudGVkIGZ1bmN0aW9uIHVzYWdlCiAgICAtIG1vZGlmaWVkIHRvIHJldHVy biBhbiBlcnJvciBpZiBvcHMgaXMgbm90IHByZXNlbnQvaW1wbGVtZW50ZWQsCiAgICAtIGFkZGVk IGFiaWxpdHkgdG8gcmV0dXJuIGEgcG9zc2l0aXZlIHZhbHVlIHRvIGluZGljYXRlCiAgICAgIHRo YXQgZGV2aWNlIGRvZXNuJ3QgbmVlZCB0byBiZSBwcm90ZWN0ZWQKICAgIC0gcmVtb3ZlZCBjaGVj ayBmb3IgdGhlICJpb21tdSIgcHJvcGVydHkgcHJlc2VuY2UKICAgICAgaW4gdGhlIGNvbW1vbiBj b2RlCiAgICAtIGluY2x1ZGVkIDxhc20vaW9tbXVfZndzcGVjLmg+IGRpcmVjdGx5Ci0tLQogeGVu L2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jICAgICAgICAgfCAxMSArKysrKysrKwogeGVuL2RyaXZl cnMvcGFzc3Rocm91Z2gvYXJtL2lvbW11LmMgfCA1NSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2lvbW11LmggICAgICAgICB8IDExICsr KysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMK aW5kZXggZTc5ZDRlMi4uMTU5ZWE2YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9i dWlsZC5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwpAQCAtMTI0MCw2ICsxMjQw LDcgQEAgc3RhdGljIGludCBfX2luaXQgbWFwX2RldmljZV9jaGlsZHJlbihzdHJ1Y3QgZG9tYWlu ICpkLAogCiAvKgogICogRm9yIGEgZ2l2ZW4gZGV2aWNlIG5vZGU6CisgKiAgLSBUcnkgdG8gY2Fs bCBpb21tdV9hZGRfZHRfZGV2aWNlIHRvIHByb3RlY3QgdGhlIGRldmljZSBieSBhbiBJT01NVQog ICogIC0gR2l2ZSBwZXJtaXNzaW9uIHRvIHRoZSBndWVzdCB0byBtYW5hZ2UgSVJRIGFuZCBNTUlP IHJhbmdlCiAgKiAgLSBSZXRyaWV2ZSB0aGUgSVJRIGNvbmZpZ3VyYXRpb24gKGkuZSBlZGdlL2xl dmVsKSBmcm9tIGRldmljZSB0cmVlCiAgKiBXaGVuIHRoZSBkZXZpY2UgaXMgbm90IG1hcmtlZCBm b3IgZ3Vlc3QgcGFzc3Rocm91Z2g6CkBAIC0xMjU3LDYgKzEyNTgsMTYgQEAgc3RhdGljIGludCBf X2luaXQgaGFuZGxlX2RldmljZShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZHRfZGV2aWNlX25v ZGUgKmRldiwKICAgICB1NjQgYWRkciwgc2l6ZTsKICAgICBib29sIG5lZWRfbWFwcGluZyA9ICFk dF9kZXZpY2VfZm9yX3Bhc3N0aHJvdWdoKGRldik7CiAKKyAgICBkdF9kcHJpbnRrKCIlcyBhZGQg dG8gaW9tbXVcbiIsIGR0X25vZGVfZnVsbF9uYW1lKGRldikpOworCisgICAgcmVzID0gaW9tbXVf YWRkX2R0X2RldmljZShkZXYpOworICAgIGlmICggcmVzIDwgMCApCisgICAgeworICAgICAgICBw cmludGsoWEVOTE9HX0VSUiAiRmFpbGVkIHRvIGFkZCAlcyB0byB0aGUgSU9NTVVcbiIsCisgICAg ICAgICAgICAgICBkdF9ub2RlX2Z1bGxfbmFtZShkZXYpKTsKKyAgICAgICAgcmV0dXJuIHJlczsK KyAgICB9CisKICAgICBuaXJxID0gZHRfbnVtYmVyX29mX2lycShkZXYpOwogICAgIG5hZGRyID0g ZHRfbnVtYmVyX29mX2FkZHJlc3MoZGV2KTsKIApkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFz c3Rocm91Z2gvYXJtL2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXUu YwppbmRleCA3MmEzMGUwLi40N2U0YmM2IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy b3VnaC9hcm0vaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXUu YwpAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgPHhlbi9saWIuaD4KIAogI2luY2x1ZGUgPGFz bS9kZXZpY2UuaD4KKyNpbmNsdWRlIDxhc20vaW9tbXVfZndzcGVjLmg+CiAKIC8qCiAgKiBEZWZl cnJlZCBwcm9iZSBsaXN0IGlzIHVzZWQgdG8ga2VlcCB0cmFjayBvZiBkZXZpY2VzIGZvciB3aGlj aCBkcml2ZXIKQEAgLTEzOSwzICsxNDAsNTcgQEAgaW50IGFyY2hfaW9tbXVfcG9wdWxhdGVfcGFn ZV90YWJsZShzdHJ1Y3QgZG9tYWluICpkKQogdm9pZCBfX2h3ZG9tX2luaXQgYXJjaF9pb21tdV9o d2RvbV9pbml0KHN0cnVjdCBkb21haW4gKmQpCiB7CiB9CisKK2ludCBfX2luaXQgaW9tbXVfYWRk X2R0X2RldmljZShzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5wKQoreworICAgIGNvbnN0IHN0cnVj dCBpb21tdV9vcHMgKm9wcyA9IGlvbW11X2dldF9vcHMoKTsKKyAgICBzdHJ1Y3QgZHRfcGhhbmRs ZV9hcmdzIGlvbW11X3NwZWM7CisgICAgc3RydWN0IGRldmljZSAqZGV2ID0gZHRfdG9fZGV2KG5w KTsKKyAgICBpbnQgcmMgPSAxLCBpbmRleCA9IDA7CisKKyAgICBpZiAoICFpb21tdV9lbmFibGVk ICkKKyAgICAgICAgcmV0dXJuIDE7CisKKyAgICBpZiAoICFvcHMgfHwgIW9wcy0+YWRkX2Rldmlj ZSB8fCAhb3BzLT5vZl94bGF0ZSApCisgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgaWYg KCBkZXZfaW9tbXVfZndzcGVjX2dldChkZXYpICkKKyAgICAgICAgcmV0dXJuIC1FRVhJU1Q7CisK KyAgICAvKiBBY2NvcmRpbmcgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2lvbW11 L2lvbW11LnR4dCBmcm9tIExpbnV4ICovCisgICAgd2hpbGUgKCAhZHRfcGFyc2VfcGhhbmRsZV93 aXRoX2FyZ3MobnAsICJpb21tdXMiLCAiI2lvbW11LWNlbGxzIiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbmRleCwgJmlvbW11X3NwZWMpICkKKyAgICB7CisgICAg ICAgIGlmICggIWR0X2RldmljZV9pc19hdmFpbGFibGUoaW9tbXVfc3BlYy5ucCkgKQorICAgICAg ICAgICAgYnJlYWs7CisKKyAgICAgICAgcmMgPSBpb21tdV9md3NwZWNfaW5pdChkZXYsICZpb21t dV9zcGVjLm5wLT5kZXYpOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFrOwor CisgICAgICAgIC8qCisgICAgICAgICAqIFByb3ZpZGUgRFQgSU9NTVUgc3BlY2lmaWVyIHdoaWNo IGRlc2NyaWJlcyB0aGUgSU9NTVUgbWFzdGVyCisgICAgICAgICAqIGludGVyZmFjZXMgb2YgdGhh dCBkZXZpY2UgKGRldmljZSBJRHMsIGV0YykgdG8gdGhlIGRyaXZlci4KKyAgICAgICAgICogVGhl IGRyaXZlcidzIHJlc3BvbnNpYmlsaXR5IGlzIHRvIGRlY2lkZSBob3cgdG8gaW50ZXJwcmV0IHRo ZW0uCisgICAgICAgICAqIEl0IHNob3VsZCBhbHNvIGluaXRpYWxpemUvdmVyaWZ5IHRoYXQgZGV2 aWNlLgorICAgICAgICAgKi8KKyAgICAgICAgcmMgPSBvcHMtPm9mX3hsYXRlKGRldiwgJmlvbW11 X3NwZWMpOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg IGluZGV4Kys7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBZGQgbWFzdGVyIGRldmljZSB0byB0 aGUgSU9NTVUgaWYgbGF0dGVyIGlzIHByZXNlbnQgYW5kIGF2YWlsYWJsZS4KKyAgICAgKiBUaGUg ZHJpdmVyJ3MgcmVzcG9uc2liaWxpdHkgaXMgdG8gY2hlY2sgd2hldGhlciB0aGF0IGRldmljZQor ICAgICAqIHdhcyBpbml0aWFsaXplZC92ZXJpZmllZCBiZWZvcmUgYW5kIG1hcmsgdGhhdCBkZXZp Y2UgYXMgcHJvdGVjdGVkLgorICAgICAqLworICAgIGlmICggIXJjICkKKyAgICAgICAgcmMgPSBv cHMtPmFkZF9kZXZpY2UoMCwgZGV2KTsKKworICAgIGlmICggcmMgPCAwICkKKyAgICAgICAgaW9t bXVfZndzcGVjX2ZyZWUoZGV2KTsKKworICAgIHJldHVybiByYzsKK30KZGlmZiAtLWdpdCBhL3hl bi9pbmNsdWRlL2FzbS1hcm0vaW9tbXUuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vaW9tbXUuaApp bmRleCAyMGQ4NjVlLi5lNzUzNTljIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2lv bW11LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9pb21tdS5oCkBAIC0yNiw2ICsyNiwxNyBA QCBzdHJ1Y3QgYXJjaF9pb21tdQogY29uc3Qgc3RydWN0IGlvbW11X29wcyAqaW9tbXVfZ2V0X29w cyh2b2lkKTsKIHZvaWQgaW9tbXVfc2V0X29wcyhjb25zdCBzdHJ1Y3QgaW9tbXVfb3BzICpvcHMp OwogCisvKgorICogSGVscGVyIHRvIGFkZCBtYXN0ZXIgZGV2aWNlIHRvIHRoZSBJT01NVSB1c2lu ZyBnZW5lcmljIElPTU1VIERUIGJpbmRpbmdzLgorICoKKyAqIFJldHVybiB2YWx1ZXM6CisgKiAg MCA6IGRldmljZSBpcyBwcm90ZWN0ZWQgYnkgYW4gSU9NTVUKKyAqIDwwIDogZGV2aWNlIGlzIG5v dCBwcm90ZWN0ZWQgYnkgYW4gSU9NTVUsIGJ1dCBtdXN0IGJlIChlcnJvciBjb25kaXRpb24pCisg KiA+MCA6IGRldmljZSBkb2Vzbid0IG5lZWQgdG8gYmUgcHJvdGVjdGVkIGJ5IGFuIElPTU1VCisg KiAgICAgIChJT01NVSBpcyBub3QgZW5hYmxlZC9wcmVzZW50IG9yIGRldmljZSBpcyBub3QgY29u bmVjdGVkIHRvIGl0KS4KKyAqLworaW50IGlvbW11X2FkZF9kdF9kZXZpY2Uoc3RydWN0IGR0X2Rl dmljZV9ub2RlICpucCk7CisKIC8qIG1hcHBpbmcgaGVscGVycyAqLwogaW50IF9fbXVzdF9jaGVj ayBhcm1faW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgZGZuX3QgZGZuLCBtZm5fdCBt Zm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxh Z3MsCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2 ZWw=