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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 940EAC433EF for ; Wed, 9 Mar 2022 02:15:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:References: Mime-Version:Message-Id:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=s+K7NXuEWO1JyqmINM5PmsJ30Grfp5D74UIz4tr57tE=; b=FRwyHnZWYOissrMxNC+l0zWzpu tWBXxWKmosovW9veC+TV3t0Nn19GZ2xfjR//MTGP111ZVwL6eHeHFO31xVCPXCrce+g2aFaY5Z7a2 EWdMB8W5SZl0Cos4bN7HZTtIhWHbhOPQ1pR0oY89ZNP/pWIGkAlX0k8p5CW84u36vnzSj8TPJOvOJ TIYDKncmbnE0iQVeChSsr5Ifr0T2kDGO+YYIbmAbrvrScBYiubxrdOaOkVPPUZWdMhBp/rj583xxJ K6Jji9O1J4fCh21M60RrAK4gWtQsUyQiCPjbLbISWFyzsHZJcP8m+40F6ELJiJ5uOAPB5eTAtrS9E Auu8+y/w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nRlpU-006uLU-CU; Wed, 09 Mar 2022 02:13:33 +0000 Received: from mail-yw1-x114a.google.com ([2607:f8b0:4864:20::114a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nRlpO-006uHv-I5 for linux-arm-kernel@lists.infradead.org; Wed, 09 Mar 2022 02:13:28 +0000 Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-2d7eaa730d9so6059917b3.13 for ; Tue, 08 Mar 2022 18:13:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc:content-transfer-encoding; bh=rg3wku5xl2PL1N8SWaxt6E1BdTA98F4PakQ3p281Xms=; b=nEmItpTLFzmEpkQdZ6HtfDVVI0HoiNzdZyImfv1khSwWR1+VTwzx196eg9+HBnqc2g 4BkDdxh0ll2AH4+uxMGQ0G0W0w9eYS3wcQtzkyHucA9fkZ+UTRk5yRpsUq+Io7Z9uDAw 1YyPHJiQfFCfTRjNU8tKCQ/z2nL27QpA88rFI1IZNbNoYDoVvoulshTlz2V2wWF2e69D iQ2Ao/fe+rGGkv4CDwpNDg8ui+QtZeJNkjHRRwAn4CRg5vgbGbQAHHqZmwzk0BOvmIyy R5X5+tffvWhOb+Fk+8qJk4Qs/M11pB1BsmYAZ31SqghbWd3qO5rn5ggNxR35+ffS6Ny9 TZUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc:content-transfer-encoding; bh=rg3wku5xl2PL1N8SWaxt6E1BdTA98F4PakQ3p281Xms=; b=mPNNFLOYdF8SQh/yC4342BfE5JTzP+7cVgcX9XB64Ap/zVB5D2xD3hxGkDtfA90hzx lx0D5WPhkE1D9iGWW48OnMnhHCIrnhGjw7CUHkFCK5GraW3kSwgDj8uI+akQYQfwT3kL HOY2UOYka7ZxIMQhfZ4rkN+/LllcqqXv6Zv8dfGUO/y9b7c/V/+30lqzTTl+2E5Gv+TX w2+hYgOTmtVR7P0TJSHsycrwFpgLpecYHeNuleqKcpLNEIyxmR2vw6yE30d83neeCmEL JV/5s0GpLWzWu7x+gjKdJq8QoiTHn1rkRe8YQyRWraefB/zngooLafzSSVNwY2YGKNTc YZog== X-Gm-Message-State: AOAM531CzuPugcdCddy3k5ggr2RF+4zeGQQv512iWz8vuKIzEV/7Ijs1 UzlumLGUXds9mug8QCia8SEU80buufk= X-Google-Smtp-Source: ABdhPJw9/JKbj0bOT+fBPxqSrCTUh59PyXYEJ8rk8m0oESXRRSVh7FDaOlHzYCErBJIQpbA9pgyuVHGCuaU= X-Received: from yuzhao.bld.corp.google.com ([2620:15c:183:200:57a6:54a6:aad1:c0a8]) (user=yuzhao job=sendgmr) by 2002:a81:3a44:0:b0:2dc:e978:2099 with SMTP id h65-20020a813a44000000b002dce9782099mr8419302ywa.166.1646792004552; Tue, 08 Mar 2022 18:13:24 -0800 (PST) Date: Tue, 8 Mar 2022 19:12:18 -0700 In-Reply-To: <20220309021230.721028-1-yuzhao@google.com> Message-Id: <20220309021230.721028-2-yuzhao@google.com> Mime-Version: 1.0 References: <20220309021230.721028-1-yuzhao@google.com> X-Mailer: git-send-email 2.35.1.616.g0bdcbb4464-goog Subject: [PATCH v9 01/14] mm: x86, arm64: add arch_has_hw_pte_young() From: Yu Zhao To: Andrew Morton , Linus Torvalds Cc: Andi Kleen , Aneesh Kumar , Catalin Marinas , Dave Hansen , Hillf Danton , Jens Axboe , Jesse Barnes , Johannes Weiner , Jonathan Corbet , Matthew Wilcox , Mel Gorman , Michael Larabel , Michal Hocko , Mike Rapoport , Rik van Riel , Vlastimil Babka , Will Deacon , Ying Huang , linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, page-reclaim@google.com, x86@kernel.org, Yu Zhao , Brian Geffon , Jan Alexander Steffens , Oleksandr Natalenko , Steven Barrett , Suleiman Souhlal , Daniel Byrne , Donald Carr , "=?UTF-8?q?Holger=20Hoffst=C3=A4tte?=" , Konstantin Kharlamov , Shuang Zhai , Sofia Trinh , Vaibhav Jain X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220308_181326_631346_F7D7B7AC X-CRM114-Status: GOOD ( 17.96 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org U29tZSBhcmNoaXRlY3R1cmVzIGF1dG9tYXRpY2FsbHkgc2V0IHRoZSBhY2Nlc3NlZCBiaXQgaW4g UFRFcywgZS5nLiwKeDg2IGFuZCBhcm02NCB2OC4yLiBPbiBhcmNoaXRlY3R1cmVzIHRoYXQgZG8g bm90IGhhdmUgdGhpcyBjYXBhYmlsaXR5LApjbGVhcmluZyB0aGUgYWNjZXNzZWQgYml0IGluIGEg UFRFIHVzdWFsbHkgdHJpZ2dlcnMgYSBwYWdlIGZhdWx0CmZvbGxvd2luZyB0aGUgVExCIG1pc3Mg b2YgdGhpcyBQVEUgKHRvIGVtdWxhdGUgdGhlIGFjY2Vzc2VkIGJpdCkuCgpCZWluZyBhd2FyZSBv ZiB0aGlzIGNhcGFiaWxpdHkgY2FuIGhlbHAgbWFrZSBiZXR0ZXIgZGVjaXNpb25zLCBlLmcuLAp3 aGV0aGVyIHRvIHNwcmVhZCB0aGUgd29yayBvdXQgb3ZlciBhIHBlcmlvZCBvZiB0aW1lIHRvIHJl ZHVjZSBidXJzdHkKcGFnZSBmYXVsdHMgd2hlbiB0cnlpbmcgdG8gY2xlYXIgdGhlIGFjY2Vzc2Vk IGJpdCBpbiBtYW55IFBURXMuCgpOb3RlIHRoYXQgdGhlb3JldGljYWxseSB0aGlzIGNhcGFiaWxp dHkgY2FuIGJlIHVucmVsaWFibGUsIGUuZy4sCmhvdHBsdWdnZWQgQ1BVcyBtaWdodCBiZSBkaWZm ZXJlbnQgZnJvbSBidWlsdGluIG9uZXMuIFRoZXJlZm9yZSBpdApzaG91bGQgbm90IGJlIHVzZWQg aW4gYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50IGNvZGUgdGhhdCBpbnZvbHZlcwpjb3JyZWN0bmVz cywgZS5nLiwgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgVExCIGZsdXNoZXMgYXJlIHJlcXVpcmVkIChp bgpjb21iaW5hdGlvbiB3aXRoIHRoZSBhY2Nlc3NlZCBiaXQpLgoKU2lnbmVkLW9mZi1ieTogWXUg WmhhbyA8eXV6aGFvQGdvb2dsZS5jb20+CkFja2VkLWJ5OiBCcmlhbiBHZWZmb24gPGJnZWZmb25A Z29vZ2xlLmNvbT4KQWNrZWQtYnk6IEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGhl ZnRpZ0BhcmNobGludXgub3JnPgpBY2tlZC1ieTogT2xla3NhbmRyIE5hdGFsZW5rbyA8b2xla3Nh bmRyQG5hdGFsZW5rby5uYW1lPgpBY2tlZC1ieTogU3RldmVuIEJhcnJldHQgPHN0ZXZlbkBsaXF1 b3JpeC5uZXQ+CkFja2VkLWJ5OiBTdWxlaW1hbiBTb3VobGFsIDxzdWxlaW1hbkBnb29nbGUuY29t PgpBY2tlZC1ieTogV2lsbCBEZWFjb24gPHdpbGxAa2VybmVsLm9yZz4KVGVzdGVkLWJ5OiBEYW5p ZWwgQnlybmUgPGRqYnlybmVAbXR1LmVkdT4KVGVzdGVkLWJ5OiBEb25hbGQgQ2FyciA8ZEBjaGFv cy1yZWlucy5jb20+ClRlc3RlZC1ieTogSG9sZ2VyIEhvZmZzdMOkdHRlIDxob2xnZXJAYXBwbGll ZC1hc3luY2hyb255LmNvbT4KVGVzdGVkLWJ5OiBLb25zdGFudGluIEtoYXJsYW1vdiA8SGktQW5n ZWxAeWFuZGV4LnJ1PgpUZXN0ZWQtYnk6IFNodWFuZyBaaGFpIDxzemhhaTJAY3Mucm9jaGVzdGVy LmVkdT4KVGVzdGVkLWJ5OiBTb2ZpYSBUcmluaCA8c29maWEudHJpbmhAZWRpLndvcmtzPgpUZXN0 ZWQtYnk6IFZhaWJoYXYgSmFpbiA8dmFpYmhhdkBsaW51eC5pYm0uY29tPgotLS0KIGFyY2gvYXJt NjQvaW5jbHVkZS9hc20vcGd0YWJsZS5oIHwgMTQgKystLS0tLS0tLS0tLS0KIGFyY2gveDg2L2lu Y2x1ZGUvYXNtL3BndGFibGUuaCAgIHwgIDYgKysrLS0tCiBpbmNsdWRlL2xpbnV4L3BndGFibGUu aCAgICAgICAgICB8IDEzICsrKysrKysrKysrKysKIG1tL21lbW9yeS5jICAgICAgICAgICAgICAg ICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9u cygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2Fz bS9wZ3RhYmxlLmggYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaAppbmRleCBjNGJh MDQ3YTgyZDIuLjk5MDM1OGVjYTM1OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2Fz bS9wZ3RhYmxlLmgKKysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKQEAgLTk5 OSwyMyArOTk5LDEzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVfbW11X2NhY2hlKHN0cnVj dCB2bV9hcmVhX3N0cnVjdCAqdm1hLAogICogcGFnZSBhZnRlciBmb3JrKCkgKyBDb1cgZm9yIHBm biBtYXBwaW5ncy4gV2UgZG9uJ3QgYWx3YXlzIGhhdmUgYQogICogaGFyZHdhcmUtbWFuYWdlZCBh Y2Nlc3MgZmxhZyBvbiBhcm02NC4KICAqLwotc3RhdGljIGlubGluZSBib29sIGFyY2hfZmF1bHRz X29uX29sZF9wdGUodm9pZCkKLXsKLQlXQVJOX09OKHByZWVtcHRpYmxlKCkpOwotCi0JcmV0dXJu ICFjcHVfaGFzX2h3X2FmKCk7Ci19Ci0jZGVmaW5lIGFyY2hfZmF1bHRzX29uX29sZF9wdGUJCWFy Y2hfZmF1bHRzX29uX29sZF9wdGUKKyNkZWZpbmUgYXJjaF9oYXNfaHdfcHRlX3lvdW5nCQljcHVf aGFzX2h3X2FmCiAKIC8qCiAgKiBFeHBlcmltZW50YWxseSwgaXQncyBjaGVhcCB0byBzZXQgdGhl IGFjY2VzcyBmbGFnIGluIGhhcmR3YXJlIGFuZCB3ZQogICogYmVuZWZpdCBmcm9tIHByZWZhdWx0 aW5nIG1hcHBpbmdzIGFzICdvbGQnIHRvIHN0YXJ0IHdpdGguCiAgKi8KLXN0YXRpYyBpbmxpbmUg Ym9vbCBhcmNoX3dhbnRzX29sZF9wcmVmYXVsdGVkX3B0ZSh2b2lkKQotewotCXJldHVybiAhYXJj aF9mYXVsdHNfb25fb2xkX3B0ZSgpOwotfQotI2RlZmluZSBhcmNoX3dhbnRzX29sZF9wcmVmYXVs dGVkX3B0ZQlhcmNoX3dhbnRzX29sZF9wcmVmYXVsdGVkX3B0ZQorI2RlZmluZSBhcmNoX3dhbnRz X29sZF9wcmVmYXVsdGVkX3B0ZQljcHVfaGFzX2h3X2FmCiAKIHN0YXRpYyBpbmxpbmUgcGdwcm90 X3QgYXJjaF9maWx0ZXJfcGdwcm90KHBncHJvdF90IHByb3QpCiB7CmRpZmYgLS1naXQgYS9hcmNo L3g4Ni9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wZ3RhYmxl LmgKaW5kZXggOGE5NDMyZmIzODAyLi42MGI2Y2U0NWMyZTMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2 L2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wZ3RhYmxl LmgKQEAgLTE0MjMsMTAgKzE0MjMsMTAgQEAgc3RhdGljIGlubGluZSBib29sIGFyY2hfaGFzX3Bm bl9tb2RpZnlfY2hlY2sodm9pZCkKIAlyZXR1cm4gYm9vdF9jcHVfaGFzX2J1ZyhYODZfQlVHX0wx VEYpOwogfQogCi0jZGVmaW5lIGFyY2hfZmF1bHRzX29uX29sZF9wdGUgYXJjaF9mYXVsdHNfb25f b2xkX3B0ZQotc3RhdGljIGlubGluZSBib29sIGFyY2hfZmF1bHRzX29uX29sZF9wdGUodm9pZCkK KyNkZWZpbmUgYXJjaF9oYXNfaHdfcHRlX3lvdW5nIGFyY2hfaGFzX2h3X3B0ZV95b3VuZworc3Rh dGljIGlubGluZSBib29sIGFyY2hfaGFzX2h3X3B0ZV95b3VuZyh2b2lkKQogewotCXJldHVybiBm YWxzZTsKKwlyZXR1cm4gdHJ1ZTsKIH0KIAogI2VuZGlmCS8qIF9fQVNTRU1CTFlfXyAqLwpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wZ3RhYmxlLmggYi9pbmNsdWRlL2xpbnV4L3BndGFibGUu aAppbmRleCBmNGY0MDc3Yjk3YWEuLjc5ZjY0ZGNmZjA3ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9s aW51eC9wZ3RhYmxlLmgKKysrIGIvaW5jbHVkZS9saW51eC9wZ3RhYmxlLmgKQEAgLTI1OSw2ICsy NTksMTkgQEAgc3RhdGljIGlubGluZSBpbnQgcG1kcF9jbGVhcl9mbHVzaF95b3VuZyhzdHJ1Y3Qg dm1fYXJlYV9zdHJ1Y3QgKnZtYSwKICNlbmRpZiAvKiBDT05GSUdfVFJBTlNQQVJFTlRfSFVHRVBB R0UgKi8KICNlbmRpZgogCisjaWZuZGVmIGFyY2hfaGFzX2h3X3B0ZV95b3VuZworLyoKKyAqIFJl dHVybiB3aGV0aGVyIHRoZSBhY2Nlc3NlZCBiaXQgaXMgc3VwcG9ydGVkIG9uIHRoZSBsb2NhbCBD UFUuCisgKgorICogVGhpcyBzdHViIGFzc3VtZXMgYWNjZXNzaW5nIHRocm91Z2ggYW4gb2xkIFBU RSB0cmlnZ2VycyBhIHBhZ2UgZmF1bHQuCisgKiBBcmNoaXRlY3R1cmVzIHRoYXQgYXV0b21hdGlj YWxseSBzZXQgdGhlIGFjY2VzcyBiaXQgc2hvdWxkIG92ZXJ3cml0ZSBpdC4KKyAqLworc3RhdGlj IGlubGluZSBib29sIGFyY2hfaGFzX2h3X3B0ZV95b3VuZyh2b2lkKQoreworCXJldHVybiBmYWxz ZTsKK30KKyNlbmRpZgorCiAjaWZuZGVmIF9fSEFWRV9BUkNIX1BURVBfQ0xFQVIKIHN0YXRpYyBp bmxpbmUgdm9pZCBwdGVwX2NsZWFyKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25n IGFkZHIsCiAJCQkgICAgICBwdGVfdCAqcHRlcCkKZGlmZiAtLWdpdCBhL21tL21lbW9yeS5jIGIv bW0vbWVtb3J5LmMKaW5kZXggYzEyNWM0OTY5OTEzLi5hNzM3OTE5NmE0N2UgMTAwNjQ0Ci0tLSBh L21tL21lbW9yeS5jCisrKyBiL21tL21lbW9yeS5jCkBAIC0xMjIsMTggKzEyMiw2IEBAIGludCBy YW5kb21pemVfdmFfc3BhY2UgX19yZWFkX21vc3RseSA9CiAJCQkJCTI7CiAjZW5kaWYKIAotI2lm bmRlZiBhcmNoX2ZhdWx0c19vbl9vbGRfcHRlCi1zdGF0aWMgaW5saW5lIGJvb2wgYXJjaF9mYXVs dHNfb25fb2xkX3B0ZSh2b2lkKQotewotCS8qCi0JICogVGhvc2UgYXJjaGVzIHdoaWNoIGRvbid0 IGhhdmUgaHcgYWNjZXNzIGZsYWcgZmVhdHVyZSBuZWVkIHRvCi0JICogaW1wbGVtZW50IHRoZWly IG93biBoZWxwZXIuIEJ5IGRlZmF1bHQsICJ0cnVlIiBtZWFucyBwYWdlZmF1bHQKLQkgKiB3aWxs IGJlIGhpdCBvbiBvbGQgcHRlLgotCSAqLwotCXJldHVybiB0cnVlOwotfQotI2VuZGlmCi0KICNp Zm5kZWYgYXJjaF93YW50c19vbGRfcHJlZmF1bHRlZF9wdGUKIHN0YXRpYyBpbmxpbmUgYm9vbCBh cmNoX3dhbnRzX29sZF9wcmVmYXVsdGVkX3B0ZSh2b2lkKQogewpAQCAtMjc3OCw3ICsyNzY2LDcg QEAgc3RhdGljIGlubGluZSBib29sIGNvd191c2VyX3BhZ2Uoc3RydWN0IHBhZ2UgKmRzdCwgc3Ry dWN0IHBhZ2UgKnNyYywKIAkgKiBPbiBhcmNoaXRlY3R1cmVzIHdpdGggc29mdHdhcmUgImFjY2Vz c2VkIiBiaXRzLCB3ZSB3b3VsZAogCSAqIHRha2UgYSBkb3VibGUgcGFnZSBmYXVsdCwgc28gbWFy ayBpdCBhY2Nlc3NlZCBoZXJlLgogCSAqLwotCWlmIChhcmNoX2ZhdWx0c19vbl9vbGRfcHRlKCkg JiYgIXB0ZV95b3VuZyh2bWYtPm9yaWdfcHRlKSkgeworCWlmICghYXJjaF9oYXNfaHdfcHRlX3lv dW5nKCkgJiYgIXB0ZV95b3VuZyh2bWYtPm9yaWdfcHRlKSkgewogCQlwdGVfdCBlbnRyeTsKIAog CQl2bWYtPnB0ZSA9IHB0ZV9vZmZzZXRfbWFwX2xvY2sobW0sIHZtZi0+cG1kLCBhZGRyLCAmdm1m LT5wdGwpOwotLSAKMi4zNS4xLjYxNi5nMGJkY2JiNDQ2NC1nb29nCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5n IGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=