From: Imre Deak Subject: [PATCH v3 2/8] drm/i915: Move aux_ch to intel_digital_port Date: Wed, 31 Oct 2018 18:26:55 +0200 Message-ID: <20181031162701.32195-3-imre.deak@intel.com> References: <20181031162701.32195-1-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 285D46E336 for ; Wed, 31 Oct 2018 16:27:09 +0000 (UTC) In-Reply-To: <20181031162701.32195-1-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org RnJvbSBJQ0wgb253YXJkcyBhbGwgRERJL1R5cGVDIHBvcnRzIC0gZXZlbiB3b3JraW5nIGluIEhE TUkgbW9kZSAtIG5lZWQKdG8ga25vdyB0aGVpciBjb3JyZXNwb25kaW5nIEFVWCBDSCwgc28gbW92 ZSB0aGUgZmllbGQgdG8gYSBjb21tb24Kc3RydWN0LgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgp2 MzoKLSBBZGQgY29kZSBjb21tZW50IGFib3V0IHdoaWNoIHBvcnRzIGF1eF9jaCBpcyB1c2VkIGZv ci4gKEpvc2UpCgpDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+CkNj OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogSm9z w6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6 IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZGkuYyB8ICA0ICsrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg IHwgMzUgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIHwgIDMgKystCiAzIGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlv bnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKaW5kZXggZTQw YThjOTdkMzRiLi4zMmEwODAyNjVkMDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBAIC0y MDg0LDYgKzIwODQsOCBAQCBib29sIGludGVsX2RkaV9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiBzdGF0aWMgaW5saW5lIGVudW0gaW50ZWxfZGlzcGxheV9wb3dl cl9kb21haW4KIGludGVsX2RkaV9tYWluX2xpbmtfYXV4X2RvbWFpbihzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQogeworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBf dG9fZGlnX3BvcnQoaW50ZWxfZHApOworCiAJLyogQ05MKyBIVyByZXF1aXJlcyBjb3JyZXNwb25k aW5nIEFVWCBJT3MgdG8gYmUgcG93ZXJlZCB1cCBmb3IgUFNSIHdpdGgKIAkgKiBEQyBzdGF0ZXMg ZW5hYmxlZCBhdCB0aGUgc2FtZSB0aW1lLCB3aGlsZSBmb3IgZHJpdmVyIGluaXRpYXRlZCBBVVgK IAkgKiB0cmFuc2ZlcnMgd2UgbmVlZCB0aGUgc2FtZSBBVVggSU9zIHRvIGJlIHBvd2VyZWQgYnV0 IHdpdGggREMgc3RhdGVzCkBAIC0yMDk2LDcgKzIwOTgsNyBAQCBpbnRlbF9kZGlfbWFpbl9saW5r X2F1eF9kb21haW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAkgKiBOb3RlIHRoYXQgUFNS IGlzIGVuYWJsZWQgb25seSBvbiBQb3J0IEEgZXZlbiB0aG91Z2ggdGhpcyBmdW5jdGlvbgogCSAq IHJldHVybnMgdGhlIGNvcnJlY3QgZG9tYWluIGZvciBvdGhlciBwb3J0cyB0b28uCiAJICovCi0J cmV0dXJuIGludGVsX2RwLT5hdXhfY2ggPT0gQVVYX0NIX0EgPyBQT1dFUl9ET01BSU5fQVVYX0lP X0EgOgorCXJldHVybiBkaWdfcG9ydC0+YXV4X2NoID09IEFVWF9DSF9BID8gUE9XRVJfRE9NQUlO X0FVWF9JT19BIDoKIAkJCQkJICAgICAgaW50ZWxfZHAtPmF1eF9wb3dlcl9kb21haW47CiB9CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IDI0NDU4OTdiOGY2Yy4uNTUzMGM2MDRjNjk0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTExNTYsNiArMTE1Niw3IEBAIHN0YXRpYyB1aW50 MzJfdCBnNHhfZ2V0X2F1eF9jbG9ja19kaXZpZGVyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAs IGludCBpbmRleCkKIHN0YXRpYyB1aW50MzJfdCBpbGtfZ2V0X2F1eF9jbG9ja19kaXZpZGVyKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGludCBpbmRleCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkcF90b19pOTE1KGludGVsX2RwKTsKKwlzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKIAogCWlm IChpbmRleCkKIAkJcmV0dXJuIDA7CkBAIC0xMTY1LDcgKzExNjYsNyBAQCBzdGF0aWMgdWludDMy X3QgaWxrX2dldF9hdXhfY2xvY2tfZGl2aWRlcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBp bnQgaW5kZXgpCiAJICogbGlrZSB0byBydW4gYXQgMk1Iei4gIFNvLCB0YWtlIHRoZSBjZGNsayBv ciBQQ0ggcmF3Y2xrIHZhbHVlIGFuZAogCSAqIGRpdmlkZSBieSAyMDAwIGFuZCB1c2UgdGhhdAog CSAqLwotCWlmIChpbnRlbF9kcC0+YXV4X2NoID09IEFVWF9DSF9BKQorCWlmIChkaWdfcG9ydC0+ YXV4X2NoID09IEFVWF9DSF9BKQogCQlyZXR1cm4gRElWX1JPVU5EX0NMT1NFU1QoZGV2X3ByaXYt PmNkY2xrLmh3LmNkY2xrLCAyMDAwKTsKIAllbHNlCiAJCXJldHVybiBESVZfUk9VTkRfQ0xPU0VT VChkZXZfcHJpdi0+cmF3Y2xrX2ZyZXEsIDIwMDApOwpAQCAtMTE3NCw4ICsxMTc1LDkgQEAgc3Rh dGljIHVpbnQzMl90IGlsa19nZXRfYXV4X2Nsb2NrX2RpdmlkZXIoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCwgaW50IGluZGV4KQogc3RhdGljIHVpbnQzMl90IGhzd19nZXRfYXV4X2Nsb2NrX2Rp dmlkZXIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50IGluZGV4KQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRwX3RvX2k5MTUoaW50ZWxfZHApOworCXN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHAp OwogCi0JaWYgKGludGVsX2RwLT5hdXhfY2ggIT0gQVVYX0NIX0EgJiYgSEFTX1BDSF9MUFRfSChk ZXZfcHJpdikpIHsKKwlpZiAoZGlnX3BvcnQtPmF1eF9jaCAhPSBBVVhfQ0hfQSAmJiBIQVNfUENI X0xQVF9IKGRldl9wcml2KSkgewogCQkvKiBXb3JrYXJvdW5kIGZvciBub24tVUxUIEhTVyAqLwog CQlzd2l0Y2ggKGluZGV4KSB7CiAJCWNhc2UgMDogcmV0dXJuIDYzOwpAQCAtMTUwNiw3ICsxNTA4 LDkgQEAgaW50ZWxfZHBfYXV4X3RyYW5zZmVyKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsIHN0cnVj dCBkcm1fZHBfYXV4X21zZyAqbXNnKQogc3RhdGljIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9k b21haW4KIGludGVsX2F1eF9wb3dlcl9kb21haW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK IHsKLQlzd2l0Y2ggKGludGVsX2RwLT5hdXhfY2gpIHsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKKworCXN3aXRjaCAoZGln X3BvcnQtPmF1eF9jaCkgewogCWNhc2UgQVVYX0NIX0E6CiAJCXJldHVybiBQT1dFUl9ET01BSU5f QVVYX0E7CiAJY2FzZSBBVVhfQ0hfQjoKQEAgLTE1MjAsNyArMTUyNCw3IEBAIGludGVsX2F1eF9w b3dlcl9kb21haW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAljYXNlIEFVWF9DSF9GOgog CQlyZXR1cm4gUE9XRVJfRE9NQUlOX0FVWF9GOwogCWRlZmF1bHQ6Ci0JCU1JU1NJTkdfQ0FTRShp bnRlbF9kcC0+YXV4X2NoKTsKKwkJTUlTU0lOR19DQVNFKGRpZ19wb3J0LT5hdXhfY2gpOwogCQly ZXR1cm4gUE9XRVJfRE9NQUlOX0FVWF9BOwogCX0KIH0KQEAgLTE1MjgsNyArMTUzMiw4IEBAIGlu dGVsX2F1eF9wb3dlcl9kb21haW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHN0YXRpYyBp OTE1X3JlZ190IGc0eF9hdXhfY3RsX3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogewog CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRwX3RvX2k5MTUoaW50ZWxfZHAp OwotCWVudW0gYXV4X2NoIGF1eF9jaCA9IGludGVsX2RwLT5hdXhfY2g7CisJc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7CisJZW51 bSBhdXhfY2ggYXV4X2NoID0gZGlnX3BvcnQtPmF1eF9jaDsKIAogCXN3aXRjaCAoYXV4X2NoKSB7 CiAJY2FzZSBBVVhfQ0hfQjoKQEAgLTE1NDQsNyArMTU0OSw4IEBAIHN0YXRpYyBpOTE1X3JlZ190 IGc0eF9hdXhfY3RsX3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogc3RhdGljIGk5MTVf cmVnX3QgZzR4X2F1eF9kYXRhX3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgaW5k ZXgpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZHBfdG9faTkxNShp bnRlbF9kcCk7Ci0JZW51bSBhdXhfY2ggYXV4X2NoID0gaW50ZWxfZHAtPmF1eF9jaDsKKwlzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2Rw KTsKKwllbnVtIGF1eF9jaCBhdXhfY2ggPSBkaWdfcG9ydC0+YXV4X2NoOwogCiAJc3dpdGNoIChh dXhfY2gpIHsKIAljYXNlIEFVWF9DSF9COgpAQCAtMTU2MCw3ICsxNTY2LDggQEAgc3RhdGljIGk5 MTVfcmVnX3QgZzR4X2F1eF9kYXRhX3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQg aW5kZXgpCiBzdGF0aWMgaTkxNV9yZWdfdCBpbGtfYXV4X2N0bF9yZWcoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkcF90 b19pOTE1KGludGVsX2RwKTsKLQllbnVtIGF1eF9jaCBhdXhfY2ggPSBpbnRlbF9kcC0+YXV4X2No OworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQo aW50ZWxfZHApOworCWVudW0gYXV4X2NoIGF1eF9jaCA9IGRpZ19wb3J0LT5hdXhfY2g7CiAKIAlz d2l0Y2ggKGF1eF9jaCkgewogCWNhc2UgQVVYX0NIX0E6CkBAIC0xNTc4LDcgKzE1ODUsOCBAQCBz dGF0aWMgaTkxNV9yZWdfdCBpbGtfYXV4X2N0bF9yZWcoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKIHN0YXRpYyBpOTE1X3JlZ190IGlsa19hdXhfZGF0YV9yZWcoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCwgaW50IGluZGV4KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRwX3RvX2k5MTUoaW50ZWxfZHApOwotCWVudW0gYXV4X2NoIGF1eF9jaCA9IGludGVsX2Rw LT5hdXhfY2g7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBkcF90b19k aWdfcG9ydChpbnRlbF9kcCk7CisJZW51bSBhdXhfY2ggYXV4X2NoID0gZGlnX3BvcnQtPmF1eF9j aDsKIAogCXN3aXRjaCAoYXV4X2NoKSB7CiAJY2FzZSBBVVhfQ0hfQToKQEAgLTE1OTYsNyArMTYw NCw4IEBAIHN0YXRpYyBpOTE1X3JlZ190IGlsa19hdXhfZGF0YV9yZWcoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCwgaW50IGluZGV4KQogc3RhdGljIGk5MTVfcmVnX3Qgc2tsX2F1eF9jdGxfcmVn KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7Ci0JZW51bSBhdXhfY2ggYXV4X2NoID0g aW50ZWxfZHAtPmF1eF9jaDsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9 IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKKwllbnVtIGF1eF9jaCBhdXhfY2ggPSBkaWdfcG9y dC0+YXV4X2NoOwogCiAJc3dpdGNoIChhdXhfY2gpIHsKIAljYXNlIEFVWF9DSF9BOgpAQCAtMTYx NSw3ICsxNjI0LDggQEAgc3RhdGljIGk5MTVfcmVnX3Qgc2tsX2F1eF9jdGxfcmVnKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHApCiBzdGF0aWMgaTkxNV9yZWdfdCBza2xfYXV4X2RhdGFfcmVnKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGludCBpbmRleCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkcF90b19pOTE1KGludGVsX2RwKTsKLQllbnVtIGF1eF9jaCBh dXhfY2ggPSBpbnRlbF9kcC0+YXV4X2NoOworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRp Z19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOworCWVudW0gYXV4X2NoIGF1eF9jaCA9 IGRpZ19wb3J0LT5hdXhfY2g7CiAKIAlzd2l0Y2ggKGF1eF9jaCkgewogCWNhc2UgQVVYX0NIX0E6 CkBAIC0xNjQxLDkgKzE2NTEsMTAgQEAgc3RhdGljIHZvaWQKIGludGVsX2RwX2F1eF9pbml0KHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7Ci0Jc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIgPSAmZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5iYXNlOworCXN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOworCXN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gJmRpZ19wb3J0LT5iYXNlOwogCi0JaW50ZWxfZHAt PmF1eF9jaCA9IGludGVsX2F1eF9jaChkZXZfcHJpdiwgZW5jb2Rlci0+cG9ydCk7CisJZGlnX3Bv cnQtPmF1eF9jaCA9IGludGVsX2F1eF9jaChkZXZfcHJpdiwgZW5jb2Rlci0+cG9ydCk7CiAJaW50 ZWxfZHAtPmF1eF9wb3dlcl9kb21haW4gPSBpbnRlbF9hdXhfcG93ZXJfZG9tYWluKGludGVsX2Rw KTsKIAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKaW5kZXggZTRlYWE0MGJkNWYxLi41YmM3YmEzMjYxMTEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCkBAIC0xMTA5LDcgKzExMDksNiBAQCBzdHJ1Y3QgaW50ZWxfZHAgewogCWJvb2wg bGlua190cmFpbmVkOwogCWJvb2wgaGFzX2F1ZGlvOwogCWJvb2wgcmVzZXRfbGlua19wYXJhbXM7 Ci0JZW51bSBhdXhfY2ggYXV4X2NoOwogCXVpbnQ4X3QgZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0la RV07CiAJdWludDhfdCBwc3JfZHBjZFtFRFBfUFNSX1JFQ0VJVkVSX0NBUF9TSVpFXTsKIAl1aW50 OF90IGRvd25zdHJlYW1fcG9ydHNbRFBfTUFYX0RPV05TVFJFQU1fUE9SVFNdOwpAQCAtMTIxMyw2 ICsxMjEyLDggQEAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCB7CiAJZW51bSBpcnFyZXR1cm4g KCpocGRfcHVsc2UpKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKiwgYm9vbCk7CiAJYm9vbCBy ZWxlYXNlX2NsMl9vdmVycmlkZTsKIAl1aW50OF90IG1heF9sYW5lczsKKwkvKiBVc2VkIGZvciBE UCBhbmQgSUNMKyBUeXBlQy9EUCBhbmQgVHlwZUMvSERNSSBwb3J0cy4gKi8KKwllbnVtIGF1eF9j aCBhdXhfY2g7CiAJZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBkZGlfaW9fcG93ZXJf ZG9tYWluOwogCWVudW0gdGNfcG9ydF90eXBlIHRjX3R5cGU7CiAKLS0gCjIuMTMuMgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==