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=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,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 1E2B4C433E6 for ; Wed, 13 Jan 2021 22:05:35 +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 C78A523382 for ; Wed, 13 Jan 2021 22:05:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C78A523382 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 5F9356EC70; Wed, 13 Jan 2021 22:05:32 +0000 (UTC) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 98BFE6E8BF for ; Wed, 13 Jan 2021 22:05:31 +0000 (UTC) IronPort-SDR: 4re1pbmb+XAPKkfUVBshEQnpVNSxfEe2MI3q+Wv+Dzx22z7Ekb5tQ+PyJBQQRVdP/bqumAX2WQ YMIguuAv0/NQ== X-IronPort-AV: E=McAfee;i="6000,8403,9863"; a="177498736" X-IronPort-AV: E=Sophos;i="5.79,345,1602572400"; d="scan'208";a="177498736" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2021 14:05:31 -0800 IronPort-SDR: ZvyNc0QOTTStUd9ROkbYS4VpYn9H1gmqaasSQrp/H+r3BnJnwBiTDIerWClySTuYlynDK6eiXA 8PcV7hXuXcWg== X-IronPort-AV: E=Sophos;i="5.79,345,1602572400"; d="scan'208";a="400696558" Received: from labuser-z97x-ud5h.jf.intel.com ([10.165.21.211]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 13 Jan 2021 14:05:31 -0800 From: Manasi Navare To: intel-gfx@lists.freedesktop.org Date: Wed, 13 Jan 2021 14:09:23 -0800 Message-Id: <20210113220935.4151-7-manasi.d.navare@intel.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20210113220935.4151-1-manasi.d.navare@intel.com> References: <20210113220935.4151-1-manasi.d.navare@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v4 06/18] drm/i915/display/dp: Compute VRR state in atomic_check 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" VGhpcyBmb3JjZXMgYSBjb21wbGV0ZSBtb2Rlc2V0IGlmIHZyciBkcm0gY3J0YyBzdGF0ZSBnb2Vz CmZyb20gZW5hYmxlZCB0byBkaXNhYmxlZCBhbmQgdmljZSB2ZXJzYS4KVGhpcyBwYXRjaCBhbHNv IGNvbXB1dGVzIHZyciBzdGF0ZSB2YXJpYWJsZXMgZnJvbSB0aGUgbW9kZSB0aW1pbmdzCmFuZCBi YXNlZCBvbiB0aGUgdnJyIHByb3BlcnR5IHNldCBieSB1c2Vyc3BhY2UgYXMgd2VsbCBhcyBoYXJk d2FyZSdzCnZyciBjYXBhYmlsaXR5LgoKdjI6CipSZWJhc2UKdjM6CiogVm1pbiA9IG1heCAodnRv dGFsLCB2bWluKSAoTWFuYXNpKQp2NDoKKiBzZXQgY3J0Y19zdGF0ZS0+dnJyLmVuYWJsZSA9IDAg Zm9yIGRpc2FibGUgcmVxdWVzdAp2NToKKiBkcm1fZGJnX2ttcywgc3F1YXNoIGNydGMgc3RhdGVz IGRlZiBwYXRjaCAoSmFuaSBOKQp2NjoKKiBNb3ZlIHZyciBtb2Rlc2V0IGNoZWNrIHRvIHNlcGFy YXRlIGZ1bmN0aW9uIChKYW5pIE4pCnY3OgoqIFZpbGxlJ3MgZml4ZXMgLSB2bWluLCB2bWF4IHJl bmFtZSwgZml4IHJvdW5kaW5nIGRpcgoqIEFkZCBwaXBlbGluZSBmdWxsLCBmbGlwbGluZSB0byBj cnRjIHN0YXRlCiogUGFzcyBjb25uIHN0YXRlIHRvIHZycl9jb21wdXRlX2NvbmZpZyAoVmlsbGUp CgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6 IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6 IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgIHwgIDkgKysrCiAuLi4vZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggICAgfCAgNyArKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF92cnIuYyAgICAgIHwgNzAgKysrKysrKysrKysrKysrKysrKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92cnIuaCAgICAgIHwgIDggKysrCiA1 IGZpbGVzIGNoYW5nZWQsIDk1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCmluZGV4IDY3YTU1Y2ZhNTM1NC4uMjJiZGE3YTU1Y2Mw IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXku YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwpAQCAt NTcsNiArNTcsNyBAQAogI2luY2x1ZGUgImRpc3BsYXkvaW50ZWxfc2R2by5oIgogI2luY2x1ZGUg ImRpc3BsYXkvaW50ZWxfdHYuaCIKICNpbmNsdWRlICJkaXNwbGF5L2ludGVsX3Zkc2MuaCIKKyNp bmNsdWRlICJkaXNwbGF5L2ludGVsX3Zyci5oIgogCiAjaW5jbHVkZSAiZ3QvaW50ZWxfcnBzLmgi CiAKQEAgLTEzMzYwLDYgKzEzMzYxLDEyIEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmN1cnJlbnRfY29uZmlnLAogCiAJUElQRV9DT05G X0NIRUNLX0kobXN0X21hc3Rlcl90cmFuc2NvZGVyKTsKIAorCVBJUEVfQ09ORl9DSEVDS19CT09M KHZyci5lbmFibGUpOworCVBJUEVfQ09ORl9DSEVDS19JKHZyci52bWluKTsKKwlQSVBFX0NPTkZf Q0hFQ0tfSSh2cnIudm1heCk7CisJUElQRV9DT05GX0NIRUNLX0kodnJyLmZsaXBsaW5lKTsKKwlQ SVBFX0NPTkZfQ0hFQ0tfSSh2cnIucGlwZWxpbmVfZnVsbCk7CisKICN1bmRlZiBQSVBFX0NPTkZf Q0hFQ0tfWAogI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19JCiAjdW5kZWYgUElQRV9DT05GX0NIRUNL X0JPT0wKQEAgLTE0NTE3LDYgKzE0NTI0LDggQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY2hl Y2soc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCW5ld19jcnRjX3N0YXRlLT51YXBpLm1vZGVf Y2hhbmdlZCA9IHRydWU7CiAJfQogCisJaW50ZWxfdnJyX2NoZWNrX21vZGVzZXQoc3RhdGUpOwor CiAJcmV0ID0gZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldChkZXYsICZzdGF0ZS0+YmFz ZSk7CiAJaWYgKHJldCkKIAkJZ290byBmYWlsOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAppbmRleCAyNDc5MjEwMmJjZjYuLmFhMDg0 MjAyODQxNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5X3R5cGVzLmgKQEAgLTExMzcsNiArMTEzNywxMyBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSB7CiAJc3RydWN0IGludGVsX2RzYiAqZHNiOwogCiAJdTMyIHBzcjJfbWFuX3RyYWNrX2N0 bDsKKworCS8qIFZhcmlhYmxlIFJlZnJlc2ggUmF0ZSBzdGF0ZSAqLworCXN0cnVjdCB7CisJCWJv b2wgZW5hYmxlOworCQl1OCBwaXBlbGluZV9mdWxsOworCQl1MTYgZmxpcGxpbmUsIHZtaW4sIHZt YXg7CisJfSB2cnI7CiB9OwogCiBlbnVtIGludGVsX3BpcGVfY3JjX3NvdXJjZSB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKaW5kZXggZGQwOTNhZTViOGJiLi5hMjc1MzAz YzBjNWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKQEAgLTI5NDgs NiArMjk0OCw3IEBAIGludGVsX2RwX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCWlmICghSEFTX0RESShkZXZfcHJpdikpCiAJCWludGVsX2RwX3NldF9jbG9j ayhlbmNvZGVyLCBwaXBlX2NvbmZpZyk7CiAKKwlpbnRlbF92cnJfY29tcHV0ZV9jb25maWcocGlw ZV9jb25maWcsIGNvbm5fc3RhdGUpOwogCWludGVsX3Bzcl9jb21wdXRlX2NvbmZpZyhpbnRlbF9k cCwgcGlwZV9jb25maWcpOwogCWludGVsX2RwX2RycnNfY29tcHV0ZV9jb25maWcoaW50ZWxfZHAs IHBpcGVfY29uZmlnLCBvdXRwdXRfYnBwLAogCQkJCSAgICAgY29uc3RhbnRfbik7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Zyci5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92cnIuYwppbmRleCA4NjllNDFhYTgzOTYuLjQ2NjY2 M2JlOTBmNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92 cnIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Zyci5jCkBAIC0z MCwzICszMCw3MyBAQCBib29sIGludGVsX3Zycl9pc19jYXBhYmxlKHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpCiAJCWluZm8tPm1vbml0b3JfcmFuZ2UubWF4X3ZmcmVxIC0gaW5mby0+ bW9uaXRvcl9yYW5nZS5taW5fdmZyZXEgPiAxMDsKIH0KIAordm9pZAoraW50ZWxfdnJyX2NoZWNr X21vZGVzZXQoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCit7CisJaW50IGk7CisJ c3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLCAqbmV3X2NydGNfc3RhdGU7 CisJc3RydWN0IGludGVsX2NydGMgKmNydGM7CisKKwlmb3JfZWFjaF9vbGRuZXdfaW50ZWxfY3J0 Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsCisJCQkJCSAgICBuZXdfY3J0 Y19zdGF0ZSwgaSkgeworCQlpZiAobmV3X2NydGNfc3RhdGUtPnVhcGkudnJyX2VuYWJsZWQgIT0K KwkJICAgIG9sZF9jcnRjX3N0YXRlLT51YXBpLnZycl9lbmFibGVkKQorCQkJbmV3X2NydGNfc3Rh dGUtPnVhcGkubW9kZV9jaGFuZ2VkID0gdHJ1ZTsKKwl9Cit9CisKK3ZvaWQKK2ludGVsX3Zycl9j b21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKKwkJCSBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKK3sKKwlzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IgPQorCQl0b19pbnRlbF9jb25uZWN0b3IoY29ubl9zdGF0ZS0+ Y29ubmVjdG9yKTsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZj cnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlOworCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9p bmZvICppbmZvID0gJmNvbm5lY3Rvci0+YmFzZS5kaXNwbGF5X2luZm87CisJaW50IHZtaW4sIHZt YXg7CisKKwlpZiAoIWludGVsX3Zycl9pc19jYXBhYmxlKCZjb25uZWN0b3ItPmJhc2UpKQorCQly ZXR1cm47CisKKwlpZiAoYWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVS TEFDRSkKKwkJcmV0dXJuOworCisJaWYgKCFjcnRjX3N0YXRlLT51YXBpLnZycl9lbmFibGVkKQor CQlyZXR1cm47CisKKwl2bWluID0gRElWX1JPVU5EX1VQKGFkanVzdGVkX21vZGUtPmNydGNfY2xv Y2sgKiAxMDAwLAorCQkJICAgIGFkanVzdGVkX21vZGUtPmNydGNfaHRvdGFsICogaW5mby0+bW9u aXRvcl9yYW5nZS5tYXhfdmZyZXEpOworCXZtYXggPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2Nr ICogMTAwMCAvCisJCShhZGp1c3RlZF9tb2RlLT5jcnRjX2h0b3RhbCAqIGluZm8tPm1vbml0b3Jf cmFuZ2UubWluX3ZmcmVxKTsKKworCXZtaW4gPSBtYXhfdChpbnQsIHZtaW4sIGFkanVzdGVkX21v ZGUtPmNydGNfdnRvdGFsKTsKKwl2bWF4ID0gbWF4X3QoaW50LCB2bWF4LCBhZGp1c3RlZF9tb2Rl LT5jcnRjX3Z0b3RhbCk7CisKKwlpZiAodm1pbiA+PSB2bWF4KQorCQlyZXR1cm47CisKKwkvKgor CSAqIGZsaXBsaW5lIGRldGVybWluZXMgdGhlIG1pbiB2YmxhbmsgbGVuZ3RoIHRoZSBoYXJkd2Fy ZSB3aWxsCisJICogZ2VuZXJhdGUsIGFuZCBmbGlwbGluZT49dm1pbisxLCBoZW5jZSB3ZSByZWR1 Y2Ugdm1pbiBieSBvbmUKKwkgKiB0byBtYWtlIHN1cmUgd2UgY2FuIGdldCB0aGUgYWN0dWFsIG1p biB2YmxhbmsgbGVuZ3RoLgorCSAqLworCWNydGNfc3RhdGUtPnZyci52bWluID0gdm1pbiAtIDE7 CisJY3J0Y19zdGF0ZS0+dnJyLnZtYXggPSB2bWF4OworCWNydGNfc3RhdGUtPnZyci5lbmFibGUg PSB0cnVlOworCisJY3J0Y19zdGF0ZS0+dnJyLmZsaXBsaW5lID0gY3J0Y19zdGF0ZS0+dnJyLnZt aW4gKyAxOworCisJLyoKKwkgKiBGSVhNRTogcy80L2ZyYW1lc3RhcnRfZGVsYXkrMS8gdG8gZ2V0 IGNvbnNpc3RlbnQKKwkgKiBlYXJsaWVzdC9sYXRlc3QgcG9pbnRzIGZvciByZWdpc3RlciBsYXRj aGluZyByZWdhcmRsZXNzCisJICogb2YgdGhlIGZyYW1lc3RhcnRfZGVsYXkgdXNlZD8KKwkgKgor CSAqIEZJWE1FOiB0aGlzIHJlYWxseSBuZWVkcyB0aGUgZXh0cmEgc2NhbmxpbmUgdG8gcHJvdmlk ZSBjb25zaXN0ZW50CisJICogYmVoYXZpb3VyIGZvciBhbGwgZnJhbWVzdGFydF9kZWxheSB2YWx1 ZXMuIE90aGVyd2lzZSB3aXRoCisJICogZnJhbWVzdGFydF9kZWxheT09MyB3ZSB3aWxsIGVuZCB1 cCBleHRlbmRpbmcgdGhlIG1pbiB2YmxhbmsgYnkKKwkgKiBvbmUgZXh0cmEgbGluZS4KKwkgKi8K KwljcnRjX3N0YXRlLT52cnIucGlwZWxpbmVfZnVsbCA9CisJCW1pbigyNTUsIGNydGNfc3RhdGUt PnZyci52bWluIC0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y192ZGlzcGxheSAtIDQgLSAxKTsKK30KKwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92cnIuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdnJyLmgKaW5kZXggMzcwMGFjZWM1ZDA5 Li42N2M0NzdkNmQxYTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfdnJyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92cnIu aApAQCAtOSw3ICs5LDE1IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIAogc3RydWN0IGRy bV9jb25uZWN0b3I7CitzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZTsKK3N0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGU7CitzdHJ1Y3QgaW50ZWxfY3J0YzsKK3N0cnVjdCBpbnRlbF9jcnRjX3N0YXRl Oworc3RydWN0IGludGVsX2RwOwogCiBib29sIGludGVsX3Zycl9pc19jYXBhYmxlKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwordm9pZCBpbnRlbF92cnJfY2hlY2tfbW9kZXNldChz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSk7Cit2b2lkIGludGVsX3Zycl9jb21wdXRl X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKKwkJCSAgICAgIHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKTsKIAogI2VuZGlmIC8qIF9fSU5U RUxfVlJSX0hfXyAqLwotLSAKMi4xOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK