From: Thomas Garnier Subject: [PATCH v2 15/27] compiler: Option to default to hidden symbols Date: Tue, 13 Mar 2018 13:59:33 -0700 Message-ID: <20180313205945.245105-16-thgarnie@google.com> References: <20180313205945.245105-1-thgarnie@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: linux-arch@vger.kernel.org, kvm@vger.kernel.org, linux-pm@vger.kernel.org, x86@kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-sparse@vger.kernel.org, linux-crypto@vger.kernel.org, kernel-hardening@lists.openwall.com, xen-devel@lists.xenproject.org To: Herbert Xu , "David S . Miller" , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Peter Zijlstra , Josh Poimboeuf , Greg Kroah-Hartman , Kate Stewart , Thomas Garnier , Arnd Bergmann , Philippe Ombredanne , Arnaldo Carvalho de Melo , Andrey Ryabinin , Matthias Kaehlcke , Kees Cook , Tom Lendacky , "Kirill A . Shutemov" , Andy Lutomirski , Dominik Brodowski , Borislav Petkov , Borislav Petkov , "Raf Return-path: In-Reply-To: <20180313205945.245105-1-thgarnie@google.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" List-Id: linux-crypto.vger.kernel.org UHJvdmlkZSBhbiBvcHRpb24gdG8gZGVmYXVsdCB2aXNpYmlsaXR5IHRvIGhpZGRlbiBleGNlcHQg Zm9yIGtleQpzeW1ib2xzLiBUaGlzIG9wdGlvbiBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCB3 aWxsIGJlIHVzZWQgYnkgeDg2XzY0ClBJRSBzdXBwb3J0IHRvIHJlbW92ZSBlcnJvcnMgYmV0d2Vl biBjb21waWxhdGlvbiB1bml0cy4KClRoZSBkZWZhdWx0IHZpc2liaWxpdHkgaXMgYWxzbyBlbmFi bGVkIGZvciBleHRlcm5hbCBzeW1ib2xzIHRoYXQgYXJlCmNvbXBhcmVkIGFzIHRoZXkgbWF5YmUg ZXF1YWxzIChzdGFydC9lbmQgb2Ygc2VjdGlvbnMpLiBJbiB0aGlzIGNhc2UsCm9sZGVyIHZlcnNp b25zIG9mIEdDQyB3aWxsIHJlbW92ZSB0aGUgY29tcGFyaXNvbiBpZiB0aGUgc3ltYm9scyBhcmUK aGlkZGVuLiBUaGlzIGlzc3VlIGV4aXN0cyBhdCBsZWFzdCBvbiBnY2MgNC45IGFuZCBiZWZvcmUu CgpTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgR2FybmllciA8dGhnYXJuaWVAZ29vZ2xlLmNvbT4KLS0t CiBhcmNoL3g4Ni9ib290L2Jvb3QuaCAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC94ODYv aW5jbHVkZS9hc20vc2V0dXAuaCAgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L2tlcm5lbC9jcHUv bWljcm9jb2RlL2NvcmUuYyB8ICA0ICsrLS0KIGRyaXZlcnMvYmFzZS9maXJtd2FyZV9jbGFzcy5j ICAgICAgICB8ICA0ICsrLS0KIGluY2x1ZGUvYXNtLWdlbmVyaWMvc2VjdGlvbnMuaCAgICAgICB8 ICA2ICsrKysrKwogaW5jbHVkZS9saW51eC9jb21waWxlci5oICAgICAgICAgICAgIHwgIDcgKysr KysrKwogaW5pdC9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDcgKysrKysrKwog a2VybmVsL2thbGxzeW1zLmMgICAgICAgICAgICAgICAgICAgIHwgMTYgKysrKysrKystLS0tLS0t LQoga2VybmVsL3RyYWNlL3RyYWNlLmggICAgICAgICAgICAgICAgIHwgIDQgKystLQogbGliL2R5 bmFtaWNfZGVidWcuYyAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogMTAgZmlsZXMgY2hhbmdl ZCwgMzggaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC94 ODYvYm9vdC9ib290LmggYi9hcmNoL3g4Ni9ib290L2Jvb3QuaAppbmRleCBlZjVhOWNjNjZmYjgu LmQ3MjZjMzViZGQ5NiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9ib290LmgKKysrIGIvYXJj aC94ODYvYm9vdC9ib290LmgKQEAgLTE5Myw3ICsxOTMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg bWVtY21wX2dzKGNvbnN0IHZvaWQgKnMxLCBhZGRyX3QgczIsIHNpemVfdCBsZW4pCiB9CiAKIC8q IEhlYXAgLS0gYXZhaWxhYmxlIGZvciBkeW5hbWljIGxpc3RzLiAqLwotZXh0ZXJuIGNoYXIgX2Vu ZFtdOworZXh0ZXJuIGNoYXIgX2VuZFtdIF9fZGVmYXVsdF92aXNpYmlsaXR5OwogZXh0ZXJuIGNo YXIgKkhFQVA7CiBleHRlcm4gY2hhciAqaGVhcF9lbmQ7CiAjZGVmaW5lIFJFU0VUX0hFQVAoKSAo KHZvaWQgKikoIEhFQVAgPSBfZW5kICkpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2Fz bS9zZXR1cC5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vc2V0dXAuaAppbmRleCAzMTA4ZTI5N2Q4 N2QuLmRmYmE2NGZlMWM3ZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vc2V0dXAu aAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9zZXR1cC5oCkBAIC03MCw3ICs3MCw3IEBAIHN0 YXRpYyBpbmxpbmUgdm9pZCB4ODZfY2U0MTAwX2Vhcmx5X3NldHVwKHZvaWQpIHsgfQogICogVGhp cyBpcyBzZXQgdXAgYnkgdGhlIHNldHVwLXJvdXRpbmUgYXQgYm9vdC10aW1lCiAgKi8KIGV4dGVy biBzdHJ1Y3QgYm9vdF9wYXJhbXMgYm9vdF9wYXJhbXM7Ci1leHRlcm4gY2hhciBfdGV4dFtdOwor ZXh0ZXJuIGNoYXIgX3RleHRbXSBfX2RlZmF1bHRfdmlzaWJpbGl0eTsKIAogc3RhdGljIGlubGlu ZSBib29sIGthc2xyX2VuYWJsZWQodm9pZCkKIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5l bC9jcHUvbWljcm9jb2RlL2NvcmUuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWljcm9jb2RlL2Nv cmUuYwppbmRleCBhYTFiOWE0MjJmMmIuLmVkNTY3NWRiNmU4MiAxMDA2NDQKLS0tIGEvYXJjaC94 ODYva2VybmVsL2NwdS9taWNyb2NvZGUvY29yZS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUv bWljcm9jb2RlL2NvcmUuYwpAQCAtMTQxLDggKzE0MSw4IEBAIHN0YXRpYyBib29sIF9faW5pdCBj aGVja19sb2FkZXJfZGlzYWJsZWRfYnNwKHZvaWQpCiAJcmV0dXJuICpyZXM7CiB9CiAKLWV4dGVy biBzdHJ1Y3QgYnVpbHRpbl9mdyBfX3N0YXJ0X2J1aWx0aW5fZndbXTsKLWV4dGVybiBzdHJ1Y3Qg YnVpbHRpbl9mdyBfX2VuZF9idWlsdGluX2Z3W107CitleHRlcm4gc3RydWN0IGJ1aWx0aW5fZncg X19zdGFydF9idWlsdGluX2Z3W10gX19kZWZhdWx0X3Zpc2liaWxpdHk7CitleHRlcm4gc3RydWN0 IGJ1aWx0aW5fZncgX19lbmRfYnVpbHRpbl9md1tdIF9fZGVmYXVsdF92aXNpYmlsaXR5OwogCiBi b29sIGdldF9idWlsdGluX2Zpcm13YXJlKHN0cnVjdCBjcGlvX2RhdGEgKmNkLCBjb25zdCBjaGFy ICpuYW1lKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlL2Zpcm13YXJlX2NsYXNzLmMgYi9k cml2ZXJzL2Jhc2UvZmlybXdhcmVfY2xhc3MuYwppbmRleCA3ZGQzNmFjZTYxNTIuLjkzOWExOTUy ZDBhYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9iYXNlL2Zpcm13YXJlX2NsYXNzLmMKKysrIGIvZHJp dmVycy9iYXNlL2Zpcm13YXJlX2NsYXNzLmMKQEAgLTEzNiw4ICsxMzYsOCBAQCBzdGF0aWMgc3Ry dWN0IGZpcm13YXJlX2NhY2hlIGZ3X2NhY2hlOwogCiAjaWZkZWYgQ09ORklHX0ZXX0xPQURFUgog Ci1leHRlcm4gc3RydWN0IGJ1aWx0aW5fZncgX19zdGFydF9idWlsdGluX2Z3W107Ci1leHRlcm4g c3RydWN0IGJ1aWx0aW5fZncgX19lbmRfYnVpbHRpbl9md1tdOworZXh0ZXJuIHN0cnVjdCBidWls dGluX2Z3IF9fc3RhcnRfYnVpbHRpbl9md1tdIF9fZGVmYXVsdF92aXNpYmlsaXR5OworZXh0ZXJu IHN0cnVjdCBidWlsdGluX2Z3IF9fZW5kX2J1aWx0aW5fZndbXSBfX2RlZmF1bHRfdmlzaWJpbGl0 eTsKIAogc3RhdGljIHZvaWQgZndfY29weV90b19wcmVhbGxvY19idWYoc3RydWN0IGZpcm13YXJl ICpmdywKIAkJCQkgICAgdm9pZCAqYnVmLCBzaXplX3Qgc2l6ZSkKZGlmZiAtLWdpdCBhL2luY2x1 ZGUvYXNtLWdlbmVyaWMvc2VjdGlvbnMuaCBiL2luY2x1ZGUvYXNtLWdlbmVyaWMvc2VjdGlvbnMu aAppbmRleCA4NDljZDhlYjVjYTAuLjBhMGUyMzQwNWRkZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9h c20tZ2VuZXJpYy9zZWN0aW9ucy5oCisrKyBiL2luY2x1ZGUvYXNtLWdlbmVyaWMvc2VjdGlvbnMu aApAQCAtMzIsNiArMzIsOSBAQAogICoJX19zb2Z0aXJxZW50cnlfdGV4dF9zdGFydCwgX19zb2Z0 aXJxZW50cnlfdGV4dF9lbmQKICAqCV9fc3RhcnRfb3BkLCBfX2VuZF9vcGQKICAqLworI2lmZGVm IENPTkZJR19ERUZBVUxUX0hJRERFTgorI3ByYWdtYSBHQ0MgdmlzaWJpbGl0eSBwdXNoKGRlZmF1 bHQpCisjZW5kaWYKIGV4dGVybiBjaGFyIF90ZXh0W10sIF9zdGV4dFtdLCBfZXRleHRbXTsKIGV4 dGVybiBjaGFyIF9kYXRhW10sIF9zZGF0YVtdLCBfZWRhdGFbXTsKIGV4dGVybiBjaGFyIF9fYnNz X3N0YXJ0W10sIF9fYnNzX3N0b3BbXTsKQEAgLTQ5LDYgKzUyLDkgQEAgZXh0ZXJuIGNoYXIgX19z dGFydF9vbmNlW10sIF9fZW5kX29uY2VbXTsKIAogLyogU3RhcnQgYW5kIGVuZCBvZiAuY3RvcnMg c2VjdGlvbiAtIHVzZWQgZm9yIGNvbnN0cnVjdG9yIGNhbGxzLiAqLwogZXh0ZXJuIGNoYXIgX19j dG9yc19zdGFydFtdLCBfX2N0b3JzX2VuZFtdOworI2lmZGVmIENPTkZJR19ERUZBVUxUX0hJRERF TgorI3ByYWdtYSBHQ0MgdmlzaWJpbGl0eSBwb3AKKyNlbmRpZgogCiAvKiBTdGFydCBhbmQgZW5k IG9mIC5vcGQgc2VjdGlvbiAtIHVzZWQgZm9yIGZ1bmN0aW9uIGRlc2NyaXB0b3JzLiAqLwogZXh0 ZXJuIGNoYXIgX19zdGFydF9vcGRbXSwgX19lbmRfb3BkW107CmRpZmYgLS1naXQgYS9pbmNsdWRl L2xpbnV4L2NvbXBpbGVyLmggYi9pbmNsdWRlL2xpbnV4L2NvbXBpbGVyLmgKaW5kZXggYWI0NzEx YzYzNjAxLi5hOWFjODRlMzdhZjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvY29tcGlsZXIu aAorKysgYi9pbmNsdWRlL2xpbnV4L2NvbXBpbGVyLmgKQEAgLTI3OCw2ICsyNzgsMTMgQEAgdW5z aWduZWQgbG9uZyByZWFkX3dvcmRfYXRfYV90aW1lKGNvbnN0IHZvaWQgKmFkZHIpCiAJX191Ll9f dmFsOwkJCQkJXAogfSkKIAorI2lmZGVmIENPTkZJR19ERUZBVUxUX0hJRERFTgorI3ByYWdtYSBH Q0MgdmlzaWJpbGl0eSBwdXNoKGhpZGRlbikKKyNkZWZpbmUgX19kZWZhdWx0X3Zpc2liaWxpdHkg IF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkgKCJkZWZhdWx0IikpKQorI2Vsc2UKKyNkZWZpbmUg X19kZWZhdWx0X3Zpc2liaWxpdHkKKyNlbmRpZgorCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwog CiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCmRpZmYgLS1naXQgYS9pbml0L0tjb25maWcgYi9p bml0L0tjb25maWcKaW5kZXggYWNjOTA4NzU0NmFjLi5jOTI0YmFiYzZkNDcgMTAwNjQ0Ci0tLSBh L2luaXQvS2NvbmZpZworKysgYi9pbml0L0tjb25maWcKQEAgLTE2NjcsNiArMTY2NywxMyBAQCBj b25maWcgUFJPRklMSU5HCiBjb25maWcgVFJBQ0VQT0lOVFMKIAlib29sCiAKKyMKKyMgRGVmYXVs dCB0byBoaWRkZW4gdmlzaWJpbGl0eSBmb3IgYWxsIHN5bWJvbHMuCisjIFVzZWZ1bCBmb3IgUG9z aXRpb24gSW5kZXBlbmRlbnQgQ29kZSB0byByZWR1Y2UgZ2xvYmFsIHJlZmVyZW5jZXMuCisjCitj b25maWcgREVGQVVMVF9ISURERU4KKwlib29sCisKIHNvdXJjZSAiYXJjaC9LY29uZmlnIgogCiBl bmRtZW51CQkjIEdlbmVyYWwgc2V0dXAKZGlmZiAtLWdpdCBhL2tlcm5lbC9rYWxsc3ltcy5jIGIv a2VybmVsL2thbGxzeW1zLmMKaW5kZXggYTIzZTIxYWRhODFiLi5mNGU1OGI3YTZkYWYgMTAwNjQ0 Ci0tLSBhL2tlcm5lbC9rYWxsc3ltcy5jCisrKyBiL2tlcm5lbC9rYWxsc3ltcy5jCkBAIC0yOSwy NCArMjksMjQgQEAKICAqIFRoZXNlIHdpbGwgYmUgcmUtbGlua2VkIGFnYWluc3QgdGhlaXIgcmVh bCB2YWx1ZXMKICAqIGR1cmluZyB0aGUgc2Vjb25kIGxpbmsgc3RhZ2UuCiAgKi8KLWV4dGVybiBj b25zdCB1bnNpZ25lZCBsb25nIGthbGxzeW1zX2FkZHJlc3Nlc1tdIF9fd2VhazsKLWV4dGVybiBj b25zdCBpbnQga2FsbHN5bXNfb2Zmc2V0c1tdIF9fd2VhazsKLWV4dGVybiBjb25zdCB1OCBrYWxs c3ltc19uYW1lc1tdIF9fd2VhazsKK2V4dGVybiBjb25zdCB1bnNpZ25lZCBsb25nIGthbGxzeW1z X2FkZHJlc3Nlc1tdIF9fd2VhayBfX2RlZmF1bHRfdmlzaWJpbGl0eTsKK2V4dGVybiBjb25zdCBp bnQga2FsbHN5bXNfb2Zmc2V0c1tdIF9fd2VhayBfX2RlZmF1bHRfdmlzaWJpbGl0eTsKK2V4dGVy biBjb25zdCB1OCBrYWxsc3ltc19uYW1lc1tdIF9fd2VhayBfX2RlZmF1bHRfdmlzaWJpbGl0eTsK IAogLyoKICAqIFRlbGwgdGhlIGNvbXBpbGVyIHRoYXQgdGhlIGNvdW50IGlzbid0IGluIHRoZSBz bWFsbCBkYXRhIHNlY3Rpb24gaWYgdGhlIGFyY2gKICAqIGhhcyBvbmUgKGVnOiBGUlYpLgogICov CiBleHRlcm4gY29uc3QgdW5zaWduZWQgbG9uZyBrYWxsc3ltc19udW1fc3ltcwotX19hdHRyaWJ1 dGVfXygod2Vhaywgc2VjdGlvbigiLnJvZGF0YSIpKSk7CitfX2F0dHJpYnV0ZV9fKCh3ZWFrLCBz ZWN0aW9uKCIucm9kYXRhIikpKSBfX2RlZmF1bHRfdmlzaWJpbGl0eTsKIAogZXh0ZXJuIGNvbnN0 IHVuc2lnbmVkIGxvbmcga2FsbHN5bXNfcmVsYXRpdmVfYmFzZQotX19hdHRyaWJ1dGVfXygod2Vh aywgc2VjdGlvbigiLnJvZGF0YSIpKSk7CitfX2F0dHJpYnV0ZV9fKCh3ZWFrLCBzZWN0aW9uKCIu cm9kYXRhIikpKSBfX2RlZmF1bHRfdmlzaWJpbGl0eTsKIAotZXh0ZXJuIGNvbnN0IHU4IGthbGxz eW1zX3Rva2VuX3RhYmxlW10gX193ZWFrOwotZXh0ZXJuIGNvbnN0IHUxNiBrYWxsc3ltc190b2tl bl9pbmRleFtdIF9fd2VhazsKK2V4dGVybiBjb25zdCB1OCBrYWxsc3ltc190b2tlbl90YWJsZVtd IF9fd2VhayBfX2RlZmF1bHRfdmlzaWJpbGl0eTsKK2V4dGVybiBjb25zdCB1MTYga2FsbHN5bXNf dG9rZW5faW5kZXhbXSBfX3dlYWsgX19kZWZhdWx0X3Zpc2liaWxpdHk7CiAKLWV4dGVybiBjb25z dCB1bnNpZ25lZCBsb25nIGthbGxzeW1zX21hcmtlcnNbXSBfX3dlYWs7CitleHRlcm4gY29uc3Qg dW5zaWduZWQgbG9uZyBrYWxsc3ltc19tYXJrZXJzW10gX193ZWFrIF9fZGVmYXVsdF92aXNpYmls aXR5OwogCiAvKgogICogRXhwYW5kIGEgY29tcHJlc3NlZCBzeW1ib2wgZGF0YSBpbnRvIHRoZSBy ZXN1bHRpbmcgdW5jb21wcmVzc2VkIHN0cmluZywKZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90 cmFjZS5oIGIva2VybmVsL3RyYWNlL3RyYWNlLmgKaW5kZXggMmE2ZDAzMjVhNzYxLi41YWViYjBk Y2VjYmEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC90cmFjZS90cmFjZS5oCisrKyBiL2tlcm5lbC90cmFj ZS90cmFjZS5oCkBAIC0xNzQxLDggKzE3NDEsOCBAQCBleHRlcm4gaW50IHRyYWNlX2V2ZW50X2Vu YWJsZV9kaXNhYmxlKHN0cnVjdCB0cmFjZV9ldmVudF9maWxlICpmaWxlLAogCQkJCSAgICAgIGlu dCBlbmFibGUsIGludCBzb2Z0X2Rpc2FibGUpOwogZXh0ZXJuIGludCB0cmFjaW5nX2FsbG9jX3Nu YXBzaG90KHZvaWQpOwogCi1leHRlcm4gY29uc3QgY2hhciAqX19zdGFydF9fX3RyYWNlX2Jwcmlu dGtfZm10W107Ci1leHRlcm4gY29uc3QgY2hhciAqX19zdG9wX19fdHJhY2VfYnByaW50a19mbXRb XTsKK2V4dGVybiBjb25zdCBjaGFyICpfX3N0YXJ0X19fdHJhY2VfYnByaW50a19mbXRbXSBfX2Rl ZmF1bHRfdmlzaWJpbGl0eTsKK2V4dGVybiBjb25zdCBjaGFyICpfX3N0b3BfX190cmFjZV9icHJp bnRrX2ZtdFtdIF9fZGVmYXVsdF92aXNpYmlsaXR5OwogCiBleHRlcm4gY29uc3QgY2hhciAqX19z dGFydF9fX3RyYWNlcG9pbnRfc3RyW107CiBleHRlcm4gY29uc3QgY2hhciAqX19zdG9wX19fdHJh Y2Vwb2ludF9zdHJbXTsKZGlmZiAtLWdpdCBhL2xpYi9keW5hbWljX2RlYnVnLmMgYi9saWIvZHlu YW1pY19kZWJ1Zy5jCmluZGV4IGM3Yzk2YmM3NjU0YS4uNDBiNzUyYjUzNjI3IDEwMDY0NAotLS0g YS9saWIvZHluYW1pY19kZWJ1Zy5jCisrKyBiL2xpYi9keW5hbWljX2RlYnVnLmMKQEAgLTM3LDgg KzM3LDggQEAKICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9uZXRk ZXZpY2UuaD4KIAotZXh0ZXJuIHN0cnVjdCBfZGRlYnVnIF9fc3RhcnRfX192ZXJib3NlW107Ci1l eHRlcm4gc3RydWN0IF9kZGVidWcgX19zdG9wX19fdmVyYm9zZVtdOworZXh0ZXJuIHN0cnVjdCBf ZGRlYnVnIF9fc3RhcnRfX192ZXJib3NlW10gX19kZWZhdWx0X3Zpc2liaWxpdHk7CitleHRlcm4g c3RydWN0IF9kZGVidWcgX19zdG9wX19fdmVyYm9zZVtdIF9fZGVmYXVsdF92aXNpYmlsaXR5Owog CiBzdHJ1Y3QgZGRlYnVnX3RhYmxlIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7Ci0tIAoyLjE2 LjIuNjYwLmc3MDk4ODc5NzFiLWdvb2cKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu Zm8veGVuLWRldmVs