From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t 22/25] tests/i915_query: Engine discovery tests Date: Fri, 17 May 2019 12:25:23 +0100 Message-ID: <20190517112526.6738-23-tvrtko.ursulin@linux.intel.com> References: <20190517112526.6738-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190517112526.6738-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRlc3QgdGhl IG5ldyBlbmdpbmUgZGlzY292ZXJ5IHF1ZXJ5LgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3Vs aW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiB0ZXN0cy9pOTE1L2k5MTVfcXVlcnku YyB8IDI0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUg Y2hhbmdlZCwgMjQ3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2k5MTVf cXVlcnkuYyBiL3Rlc3RzL2k5MTUvaTkxNV9xdWVyeS5jCmluZGV4IDdkMGMwZTNhMDYxYy4uZWNi ZWMzYWUxNDFkIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2k5MTVfcXVlcnkuYworKysgYi90ZXN0 cy9pOTE1L2k5MTVfcXVlcnkuYwpAQCAtNDgzLDYgKzQ4MywyNDEgQEAgdGVzdF9xdWVyeV90b3Bv bG9neV9rbm93bl9wY2lfaWRzKGludCBmZCwgaW50IGRldmlkKQogCWZyZWUodG9wb19pbmZvKTsK IH0KIAorc3RhdGljIGJvb2wgcXVlcnlfZW5naW5lX2luZm9fc3VwcG9ydGVkKGludCBmZCkKK3sK KwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSBpdGVtID0geworCQkucXVlcnlfaWQgPSBEUk1f STkxNV9RVUVSWV9FTkdJTkVfSU5GTywKKwl9OworCisJcmV0dXJuIF9faTkxNV9xdWVyeV9pdGVt cyhmZCwgJml0ZW0sIDEpID09IDAgJiYgaXRlbS5sZW5ndGggPiAwOworfQorCitzdGF0aWMgdm9p ZCBlbmdpbmVzX2ludmFsaWQoaW50IGZkKQoreworCXN0cnVjdCBkcm1faTkxNV9xdWVyeV9lbmdp bmVfaW5mbyAqZW5naW5lczsKKwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSBpdGVtOworCXVu c2lnbmVkIGludCBsZW47CisKKwkvKiBGbGFncyBpcyBNQlouICovCisJbWVtc2V0KCZpdGVtLCAw LCBzaXplb2YoaXRlbSkpOworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVSWV9FTkdJTkVf SU5GTzsKKwlpdGVtLmZsYWdzID0gMTsKKwlpOTE1X3F1ZXJ5X2l0ZW1zKGZkLCAmaXRlbSwgMSk7 CisJaWd0X2Fzc2VydF9lcShpdGVtLmxlbmd0aCwgLUVJTlZBTCk7CisKKwkvKiBMZW5ndGggbm90 IHplcm8gYW5kIG5vdCBncmVhdGVyIG9yIGVxdWFsIHJlcXVpcmVkIHNpemUuICovCisJbWVtc2V0 KCZpdGVtLCAwLCBzaXplb2YoaXRlbSkpOworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVS WV9FTkdJTkVfSU5GTzsKKwlpdGVtLmxlbmd0aCA9IDE7CisJaTkxNV9xdWVyeV9pdGVtcyhmZCwg Jml0ZW0sIDEpOworCWlndF9hc3NlcnRfZXEoaXRlbS5sZW5ndGgsIC1FSU5WQUwpOworCisJLyog UXVlcnkgY29ycmVjdCBsZW5ndGguICovCisJbWVtc2V0KCZpdGVtLCAwLCBzaXplb2YoaXRlbSkp OworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVSWV9FTkdJTkVfSU5GTzsKKwlpOTE1X3F1 ZXJ5X2l0ZW1zKGZkLCAmaXRlbSwgMSk7CisJaWd0X2Fzc2VydChpdGVtLmxlbmd0aCA+PSAwKTsK KwlsZW4gPSBpdGVtLmxlbmd0aDsKKworCWVuZ2luZXMgPSBtYWxsb2MobGVuKTsKKwlpZ3RfYXNz ZXJ0KGVuZ2luZXMpOworCisJLyogSXZhbGlkIHBvaW50ZXIuICovCisJbWVtc2V0KCZpdGVtLCAw LCBzaXplb2YoaXRlbSkpOworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVSWV9FTkdJTkVf SU5GTzsKKwlpdGVtLmxlbmd0aCA9IGxlbjsKKwlpOTE1X3F1ZXJ5X2l0ZW1zKGZkLCAmaXRlbSwg MSk7CisJaWd0X2Fzc2VydF9lcShpdGVtLmxlbmd0aCwgLUVGQVVMVCk7CisKKwkvKiBBbGwgZmll bGRzIGluIGVuZ2luZXMgcXVlcnkgYXJlIE1CWiBhbmQgb25seSBmaWxsZWQgYnkgdGhlIGtlcm5l bC4gKi8KKworCW1lbXNldChlbmdpbmVzLCAwLCBsZW4pOworCWVuZ2luZXMtPm51bV9lbmdpbmVz ID0gMTsKKwltZW1zZXQoJml0ZW0sIDAsIHNpemVvZihpdGVtKSk7CisJaXRlbS5xdWVyeV9pZCA9 IERSTV9JOTE1X1FVRVJZX0VOR0lORV9JTkZPOworCWl0ZW0ubGVuZ3RoID0gbGVuOworCWl0ZW0u ZGF0YV9wdHIgPSB0b191c2VyX3BvaW50ZXIoZW5naW5lcyk7CisJaTkxNV9xdWVyeV9pdGVtcyhm ZCwgJml0ZW0sIDEpOworCWlndF9hc3NlcnRfZXEoaXRlbS5sZW5ndGgsIC1FSU5WQUwpOworCisJ bWVtc2V0KGVuZ2luZXMsIDAsIGxlbik7CisJZW5naW5lcy0+cnN2ZFswXSA9IDE7CisJbWVtc2V0 KCZpdGVtLCAwLCBzaXplb2YoaXRlbSkpOworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVS WV9FTkdJTkVfSU5GTzsKKwlpdGVtLmxlbmd0aCA9IGxlbjsKKwlpdGVtLmRhdGFfcHRyID0gdG9f dXNlcl9wb2ludGVyKGVuZ2luZXMpOworCWk5MTVfcXVlcnlfaXRlbXMoZmQsICZpdGVtLCAxKTsK KwlpZ3RfYXNzZXJ0X2VxKGl0ZW0ubGVuZ3RoLCAtRUlOVkFMKTsKKworCW1lbXNldChlbmdpbmVz LCAwLCBsZW4pOworCWVuZ2luZXMtPnJzdmRbMV0gPSAxOworCW1lbXNldCgmaXRlbSwgMCwgc2l6 ZW9mKGl0ZW0pKTsKKwlpdGVtLnF1ZXJ5X2lkID0gRFJNX0k5MTVfUVVFUllfRU5HSU5FX0lORk87 CisJaXRlbS5sZW5ndGggPSBsZW47CisJaXRlbS5kYXRhX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihl bmdpbmVzKTsKKwlpOTE1X3F1ZXJ5X2l0ZW1zKGZkLCAmaXRlbSwgMSk7CisJaWd0X2Fzc2VydF9l cShpdGVtLmxlbmd0aCwgLUVJTlZBTCk7CisKKwltZW1zZXQoZW5naW5lcywgMCwgbGVuKTsKKwll bmdpbmVzLT5yc3ZkWzJdID0gMTsKKwltZW1zZXQoJml0ZW0sIDAsIHNpemVvZihpdGVtKSk7CisJ aXRlbS5xdWVyeV9pZCA9IERSTV9JOTE1X1FVRVJZX0VOR0lORV9JTkZPOworCWl0ZW0ubGVuZ3Ro ID0gbGVuOworCWl0ZW0uZGF0YV9wdHIgPSB0b191c2VyX3BvaW50ZXIoZW5naW5lcyk7CisJaTkx NV9xdWVyeV9pdGVtcyhmZCwgJml0ZW0sIDEpOworCWlndF9hc3NlcnRfZXEoaXRlbS5sZW5ndGgs IC1FSU5WQUwpOworCisJZnJlZShlbmdpbmVzKTsKKworCWlndF9hc3NlcnQobGVuIDw9IDQwOTYp OworCWVuZ2luZXMgPSBtbWFwKDAsIDQwOTYsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9Q UklWQVRFIHwgTUFQX0FOT04sCisJCSAgICAgICAtMSwgMCk7CisJaWd0X2Fzc2VydChlbmdpbmVz ICE9IE1BUF9GQUlMRUQpOworCisJLyogUFJPVF9OT05FIGlzIHNpbWlsYXIgdG8gdW5tYXBwZWQg YXJlYS4gKi8KKwltZW1zZXQoZW5naW5lcywgMCwgbGVuKTsKKwlpZ3RfYXNzZXJ0X2VxKG1wcm90 ZWN0KGVuZ2luZXMsIGxlbiwgUFJPVF9OT05FKSwgMCk7CisJbWVtc2V0KCZpdGVtLCAwLCBzaXpl b2YoaXRlbSkpOworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVSWV9FTkdJTkVfSU5GTzsK KwlpdGVtLmxlbmd0aCA9IGxlbjsKKwlpdGVtLmRhdGFfcHRyID0gdG9fdXNlcl9wb2ludGVyKGVu Z2luZXMpOworCWk5MTVfcXVlcnlfaXRlbXMoZmQsICZpdGVtLCAxKTsKKwlpZ3RfYXNzZXJ0X2Vx KGl0ZW0ubGVuZ3RoLCAtRUZBVUxUKTsKKwlpZ3RfYXNzZXJ0X2VxKG1wcm90ZWN0KGVuZ2luZXMs IGxlbiwgUFJPVF9XUklURSksIDApOworCisJLyogUmVhZC1vbmx5IHNvIGtlcm5lbCBjYW5ub3Qg ZmlsbCB0aGUgZGF0YSBiYWNrLiAqLworCW1lbXNldChlbmdpbmVzLCAwLCBsZW4pOworCWlndF9h c3NlcnRfZXEobXByb3RlY3QoZW5naW5lcywgbGVuLCBQUk9UX1JFQUQpLCAwKTsKKwltZW1zZXQo Jml0ZW0sIDAsIHNpemVvZihpdGVtKSk7CisJaXRlbS5xdWVyeV9pZCA9IERSTV9JOTE1X1FVRVJZ X0VOR0lORV9JTkZPOworCWl0ZW0ubGVuZ3RoID0gbGVuOworCWl0ZW0uZGF0YV9wdHIgPSB0b191 c2VyX3BvaW50ZXIoZW5naW5lcyk7CisJaTkxNV9xdWVyeV9pdGVtcyhmZCwgJml0ZW0sIDEpOwor CWlndF9hc3NlcnRfZXEoaXRlbS5sZW5ndGgsIC1FRkFVTFQpOworCisJbXVubWFwKGVuZ2luZXMs IDQwOTYpOworfQorCitzdGF0aWMgYm9vbAoraGFzX2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVfcXVl cnlfZW5naW5lX2luZm8gKmVuZ2luZXMsCisJICAgdW5zaWduZWQgY2xhc3MsIHVuc2lnbmVkIGlu c3RhbmNlKQoreworCXVuc2lnbmVkIGludCBpOworCisJZm9yIChpID0gMDsgaSA8IGVuZ2luZXMt Pm51bV9lbmdpbmVzOyBpKyspIHsKKwkJc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvICplbmdp bmUgPQorCQkJKHN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyAqKSZlbmdpbmVzLT5lbmdpbmVz W2ldOworCisJCWlmIChlbmdpbmUtPmVuZ2luZS5lbmdpbmVfY2xhc3MgPT0gY2xhc3MgJiYKKwkJ ICAgIGVuZ2luZS0+ZW5naW5lLmVuZ2luZV9pbnN0YW5jZSA9PSBpbnN0YW5jZSkKKwkJCXJldHVy biB0cnVlOworCX0KKworCXJldHVybiBmYWxzZTsKK30KKworc3RhdGljIHZvaWQgZW5naW5lcyhp bnQgZmQpCit7CisJc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2VuZ2luZV9pbmZvICplbmdpbmVzOwor CXN0cnVjdCBkcm1faTkxNV9xdWVyeV9pdGVtIGl0ZW07CisJdW5zaWduZWQgaW50IGxlbiwgaTsK KworCWVuZ2luZXMgPSBtYWxsb2MoNDA5Nik7CisJaWd0X2Fzc2VydChlbmdpbmVzKTsKKworCS8q IFF1ZXJ5IHJlcXVpcmVkIGJ1ZmZlciBsZW5ndGguICovCisJbWVtc2V0KGVuZ2luZXMsIDAsIDQw OTYpOworCW1lbXNldCgmaXRlbSwgMCwgc2l6ZW9mKGl0ZW0pKTsKKwlpdGVtLnF1ZXJ5X2lkID0g RFJNX0k5MTVfUVVFUllfRU5HSU5FX0lORk87CisJaXRlbS5kYXRhX3B0ciA9IHRvX3VzZXJfcG9p bnRlcihlbmdpbmVzKTsKKwlpOTE1X3F1ZXJ5X2l0ZW1zKGZkLCAmaXRlbSwgMSk7CisJaWd0X2Fz c2VydChpdGVtLmxlbmd0aCA+PSAwKTsKKwlpZ3RfYXNzZXJ0KGl0ZW0ubGVuZ3RoIDw9IDQwOTYp OworCWxlbiA9IGl0ZW0ubGVuZ3RoOworCisJLyogQ2hlY2sgbGVuZ3RoIGxhcmdlciB0aGFuIHJl cXVpcmVkIHdvcmtzIGFuZCByZXBvcnRzIHNhbWUgbGVuZ3RoLiAqLworCW1lbXNldChlbmdpbmVz LCAwLCA0MDk2KTsKKwltZW1zZXQoJml0ZW0sIDAsIHNpemVvZihpdGVtKSk7CisJaXRlbS5xdWVy eV9pZCA9IERSTV9JOTE1X1FVRVJZX0VOR0lORV9JTkZPOworCWl0ZW0ubGVuZ3RoID0gNDA5NjsK KwlpdGVtLmRhdGFfcHRyID0gdG9fdXNlcl9wb2ludGVyKGVuZ2luZXMpOworCWk5MTVfcXVlcnlf aXRlbXMoZmQsICZpdGVtLCAxKTsKKwlpZ3RfYXNzZXJ0X2VxKGl0ZW0ubGVuZ3RoLCBsZW4pOwor CisJLyogQWN0dWFsIHF1ZXJ5LiAqLworCW1lbXNldChlbmdpbmVzLCAwLCA0MDk2KTsKKwltZW1z ZXQoJml0ZW0sIDAsIHNpemVvZihpdGVtKSk7CisJaXRlbS5xdWVyeV9pZCA9IERSTV9JOTE1X1FV RVJZX0VOR0lORV9JTkZPOworCWl0ZW0ubGVuZ3RoID0gbGVuOworCWl0ZW0uZGF0YV9wdHIgPSB0 b191c2VyX3BvaW50ZXIoZW5naW5lcyk7CisJaTkxNV9xdWVyeV9pdGVtcyhmZCwgJml0ZW0sIDEp OworCWlndF9hc3NlcnRfZXEoaXRlbS5sZW5ndGgsIGxlbik7CisKKwkvKiBFdmVyeSBHUFUgaGFz IGF0IGxlYXN0IG9uZSBlbmdpbmUuICovCisJaWd0X2Fzc2VydChlbmdpbmVzLT5udW1fZW5naW5l cyA+IDApOworCisJLyogTUJaIGZpZWxkcy4gKi8KKwlpZ3RfYXNzZXJ0X2VxKGVuZ2luZXMtPnJz dmRbMF0sIDApOworCWlndF9hc3NlcnRfZXEoZW5naW5lcy0+cnN2ZFsxXSwgMCk7CisJaWd0X2Fz c2VydF9lcShlbmdpbmVzLT5yc3ZkWzJdLCAwKTsKKworCS8qIENoZWNrIHJlc3VsdHMgbWF0Y2gg dGhlIGxlZ2FjeSBHRVRfUEFSQU0gKHdoZXJlIHdlIGNhbikuICovCisJZm9yIChpID0gMDsgaSA8 IGVuZ2luZXMtPm51bV9lbmdpbmVzOyBpKyspIHsKKwkJc3RydWN0IGRybV9pOTE1X2VuZ2luZV9p bmZvICplbmdpbmUgPQorCQkJKHN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyAqKSZlbmdpbmVz LT5lbmdpbmVzW2ldOworCisJCWlndF9kZWJ1ZygiJXU6IGNsYXNzPSV1IGluc3RhbmNlPSV1IGZs YWdzPSVsbHggY2FwYWJpbGl0aWVzPSVsbHhcbiIsCisJCQkgIGksCisJCQkgIGVuZ2luZS0+ZW5n aW5lLmVuZ2luZV9jbGFzcywKKwkJCSAgZW5naW5lLT5lbmdpbmUuZW5naW5lX2luc3RhbmNlLAor CQkJICBlbmdpbmUtPmZsYWdzLAorCQkJICBlbmdpbmUtPmNhcGFiaWxpdGllcyk7CisKKwkJLyog TUJaIGZpZWxkcy4gKi8KKwkJaWd0X2Fzc2VydF9lcShlbmdpbmUtPnJzdmQwLCAwKTsKKwkJaWd0 X2Fzc2VydF9lcShlbmdpbmUtPnJzdmQxWzBdLCAwKTsKKwkJaWd0X2Fzc2VydF9lcShlbmdpbmUt PnJzdmQxWzFdLCAwKTsKKworCQlzd2l0Y2ggKGVuZ2luZS0+ZW5naW5lLmVuZ2luZV9jbGFzcykg eworCQljYXNlIEk5MTVfRU5HSU5FX0NMQVNTX1JFTkRFUjoKKwkJCS8qIFdpbGwgYmUgdGVzdGVk IGxhdGVyLiAqLworCQkJYnJlYWs7CisJCWNhc2UgSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWToKKwkJ CWlndF9hc3NlcnQoZ2VtX2hhc19ibHQoZmQpKTsKKwkJCWJyZWFrOworCQljYXNlIEk5MTVfRU5H SU5FX0NMQVNTX1ZJREVPOgorCQkJc3dpdGNoIChlbmdpbmUtPmVuZ2luZS5lbmdpbmVfaW5zdGFu Y2UpIHsKKwkJCWNhc2UgMDoKKwkJCQlpZ3RfYXNzZXJ0KGdlbV9oYXNfYnNkKGZkKSk7CisJCQkJ YnJlYWs7CisJCQljYXNlIDE6CisJCQkJaWd0X2Fzc2VydChnZW1faGFzX2JzZDIoZmQpKTsKKwkJ CQlicmVhazsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVP X0VOSEFOQ0U6CisJCQlpZ3RfYXNzZXJ0KGdlbV9oYXNfdmVib3goZmQpKTsKKwkJCWJyZWFrOwor CQlkZWZhdWx0OgorCQkJaWd0X2Fzc2VydCgwKTsKKwkJfQorCX0KKworCS8qIFJldmVyc2UgY2hl Y2sgdG8gdGhlIGFib3ZlIC0gYWxsIEdFVF9QQVJBTSBlbmdpbmVzIGFyZSBwcmVzZW50LiAqLwor CWlndF9hc3NlcnQoaGFzX2VuZ2luZShlbmdpbmVzLCBJOTE1X0VOR0lORV9DTEFTU19SRU5ERVIs IDApKTsKKwlpZiAoZ2VtX2hhc19ibHQoZmQpKQorCQlpZ3RfYXNzZXJ0KGhhc19lbmdpbmUoZW5n aW5lcywgSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWSwgMCkpOworCWlmIChnZW1faGFzX2JzZChmZCkp CisJCWlndF9hc3NlcnQoaGFzX2VuZ2luZShlbmdpbmVzLCBJOTE1X0VOR0lORV9DTEFTU19WSURF TywgMCkpOworCWlmIChnZW1faGFzX2JzZDIoZmQpKQorCQlpZ3RfYXNzZXJ0KGhhc19lbmdpbmUo ZW5naW5lcywgSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8sIDEpKTsKKwlpZiAoZ2VtX2hhc192ZWJv eChmZCkpCisJCWlndF9hc3NlcnQoaGFzX2VuZ2luZShlbmdpbmVzLCBJOTE1X0VOR0lORV9DTEFT U19WSURFT19FTkhBTkNFLAorCQkJCSAgICAgICAwKSk7CisKKwlmcmVlKGVuZ2luZXMpOworfQor CiBpZ3RfbWFpbgogewogCWludCBmZCA9IC0xOwpAQCAtNTMwLDYgKzc2NSwxOCBAQCBpZ3RfbWFp bgogCQl0ZXN0X3F1ZXJ5X3RvcG9sb2d5X2tub3duX3BjaV9pZHMoZmQsIGRldmlkKTsKIAl9CiAK KwlpZ3Rfc3VidGVzdF9ncm91cCB7CisJCWlndF9maXh0dXJlIHsKKwkJCWlndF9yZXF1aXJlKHF1 ZXJ5X2VuZ2luZV9pbmZvX3N1cHBvcnRlZChmZCkpOworCQl9CisKKwkJaWd0X3N1YnRlc3QoImVu Z2luZS1pbmZvLWludmFsaWQiKQorCQkJZW5naW5lc19pbnZhbGlkKGZkKTsKKworCQlpZ3Rfc3Vi dGVzdCgiZW5naW5lLWluZm8iKQorCQkJZW5naW5lcyhmZCk7CisJfQorCiAJaWd0X2ZpeHR1cmUg ewogCQljbG9zZShmZCk7CiAJfQotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZng= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Tvrtko Ursulin Date: Fri, 17 May 2019 12:25:23 +0100 Message-Id: <20190517112526.6738-23-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20190517112526.6738-1-tvrtko.ursulin@linux.intel.com> References: <20190517112526.6738-1-tvrtko.ursulin@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 22/25] tests/i915_query: Engine discovery tests List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRlc3QgdGhl IG5ldyBlbmdpbmUgZGlzY292ZXJ5IHF1ZXJ5LgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3Vs aW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiB0ZXN0cy9pOTE1L2k5MTVfcXVlcnku YyB8IDI0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUg Y2hhbmdlZCwgMjQ3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2k5MTVf cXVlcnkuYyBiL3Rlc3RzL2k5MTUvaTkxNV9xdWVyeS5jCmluZGV4IDdkMGMwZTNhMDYxYy4uZWNi ZWMzYWUxNDFkIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2k5MTVfcXVlcnkuYworKysgYi90ZXN0 cy9pOTE1L2k5MTVfcXVlcnkuYwpAQCAtNDgzLDYgKzQ4MywyNDEgQEAgdGVzdF9xdWVyeV90b3Bv bG9neV9rbm93bl9wY2lfaWRzKGludCBmZCwgaW50IGRldmlkKQogCWZyZWUodG9wb19pbmZvKTsK IH0KIAorc3RhdGljIGJvb2wgcXVlcnlfZW5naW5lX2luZm9fc3VwcG9ydGVkKGludCBmZCkKK3sK KwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSBpdGVtID0geworCQkucXVlcnlfaWQgPSBEUk1f STkxNV9RVUVSWV9FTkdJTkVfSU5GTywKKwl9OworCisJcmV0dXJuIF9faTkxNV9xdWVyeV9pdGVt cyhmZCwgJml0ZW0sIDEpID09IDAgJiYgaXRlbS5sZW5ndGggPiAwOworfQorCitzdGF0aWMgdm9p ZCBlbmdpbmVzX2ludmFsaWQoaW50IGZkKQoreworCXN0cnVjdCBkcm1faTkxNV9xdWVyeV9lbmdp bmVfaW5mbyAqZW5naW5lczsKKwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSBpdGVtOworCXVu c2lnbmVkIGludCBsZW47CisKKwkvKiBGbGFncyBpcyBNQlouICovCisJbWVtc2V0KCZpdGVtLCAw LCBzaXplb2YoaXRlbSkpOworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVSWV9FTkdJTkVf SU5GTzsKKwlpdGVtLmZsYWdzID0gMTsKKwlpOTE1X3F1ZXJ5X2l0ZW1zKGZkLCAmaXRlbSwgMSk7 CisJaWd0X2Fzc2VydF9lcShpdGVtLmxlbmd0aCwgLUVJTlZBTCk7CisKKwkvKiBMZW5ndGggbm90 IHplcm8gYW5kIG5vdCBncmVhdGVyIG9yIGVxdWFsIHJlcXVpcmVkIHNpemUuICovCisJbWVtc2V0 KCZpdGVtLCAwLCBzaXplb2YoaXRlbSkpOworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVS WV9FTkdJTkVfSU5GTzsKKwlpdGVtLmxlbmd0aCA9IDE7CisJaTkxNV9xdWVyeV9pdGVtcyhmZCwg Jml0ZW0sIDEpOworCWlndF9hc3NlcnRfZXEoaXRlbS5sZW5ndGgsIC1FSU5WQUwpOworCisJLyog UXVlcnkgY29ycmVjdCBsZW5ndGguICovCisJbWVtc2V0KCZpdGVtLCAwLCBzaXplb2YoaXRlbSkp OworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVSWV9FTkdJTkVfSU5GTzsKKwlpOTE1X3F1 ZXJ5X2l0ZW1zKGZkLCAmaXRlbSwgMSk7CisJaWd0X2Fzc2VydChpdGVtLmxlbmd0aCA+PSAwKTsK KwlsZW4gPSBpdGVtLmxlbmd0aDsKKworCWVuZ2luZXMgPSBtYWxsb2MobGVuKTsKKwlpZ3RfYXNz ZXJ0KGVuZ2luZXMpOworCisJLyogSXZhbGlkIHBvaW50ZXIuICovCisJbWVtc2V0KCZpdGVtLCAw LCBzaXplb2YoaXRlbSkpOworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVSWV9FTkdJTkVf SU5GTzsKKwlpdGVtLmxlbmd0aCA9IGxlbjsKKwlpOTE1X3F1ZXJ5X2l0ZW1zKGZkLCAmaXRlbSwg MSk7CisJaWd0X2Fzc2VydF9lcShpdGVtLmxlbmd0aCwgLUVGQVVMVCk7CisKKwkvKiBBbGwgZmll bGRzIGluIGVuZ2luZXMgcXVlcnkgYXJlIE1CWiBhbmQgb25seSBmaWxsZWQgYnkgdGhlIGtlcm5l bC4gKi8KKworCW1lbXNldChlbmdpbmVzLCAwLCBsZW4pOworCWVuZ2luZXMtPm51bV9lbmdpbmVz ID0gMTsKKwltZW1zZXQoJml0ZW0sIDAsIHNpemVvZihpdGVtKSk7CisJaXRlbS5xdWVyeV9pZCA9 IERSTV9JOTE1X1FVRVJZX0VOR0lORV9JTkZPOworCWl0ZW0ubGVuZ3RoID0gbGVuOworCWl0ZW0u ZGF0YV9wdHIgPSB0b191c2VyX3BvaW50ZXIoZW5naW5lcyk7CisJaTkxNV9xdWVyeV9pdGVtcyhm ZCwgJml0ZW0sIDEpOworCWlndF9hc3NlcnRfZXEoaXRlbS5sZW5ndGgsIC1FSU5WQUwpOworCisJ bWVtc2V0KGVuZ2luZXMsIDAsIGxlbik7CisJZW5naW5lcy0+cnN2ZFswXSA9IDE7CisJbWVtc2V0 KCZpdGVtLCAwLCBzaXplb2YoaXRlbSkpOworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVS WV9FTkdJTkVfSU5GTzsKKwlpdGVtLmxlbmd0aCA9IGxlbjsKKwlpdGVtLmRhdGFfcHRyID0gdG9f dXNlcl9wb2ludGVyKGVuZ2luZXMpOworCWk5MTVfcXVlcnlfaXRlbXMoZmQsICZpdGVtLCAxKTsK KwlpZ3RfYXNzZXJ0X2VxKGl0ZW0ubGVuZ3RoLCAtRUlOVkFMKTsKKworCW1lbXNldChlbmdpbmVz LCAwLCBsZW4pOworCWVuZ2luZXMtPnJzdmRbMV0gPSAxOworCW1lbXNldCgmaXRlbSwgMCwgc2l6 ZW9mKGl0ZW0pKTsKKwlpdGVtLnF1ZXJ5X2lkID0gRFJNX0k5MTVfUVVFUllfRU5HSU5FX0lORk87 CisJaXRlbS5sZW5ndGggPSBsZW47CisJaXRlbS5kYXRhX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihl bmdpbmVzKTsKKwlpOTE1X3F1ZXJ5X2l0ZW1zKGZkLCAmaXRlbSwgMSk7CisJaWd0X2Fzc2VydF9l cShpdGVtLmxlbmd0aCwgLUVJTlZBTCk7CisKKwltZW1zZXQoZW5naW5lcywgMCwgbGVuKTsKKwll bmdpbmVzLT5yc3ZkWzJdID0gMTsKKwltZW1zZXQoJml0ZW0sIDAsIHNpemVvZihpdGVtKSk7CisJ aXRlbS5xdWVyeV9pZCA9IERSTV9JOTE1X1FVRVJZX0VOR0lORV9JTkZPOworCWl0ZW0ubGVuZ3Ro ID0gbGVuOworCWl0ZW0uZGF0YV9wdHIgPSB0b191c2VyX3BvaW50ZXIoZW5naW5lcyk7CisJaTkx NV9xdWVyeV9pdGVtcyhmZCwgJml0ZW0sIDEpOworCWlndF9hc3NlcnRfZXEoaXRlbS5sZW5ndGgs IC1FSU5WQUwpOworCisJZnJlZShlbmdpbmVzKTsKKworCWlndF9hc3NlcnQobGVuIDw9IDQwOTYp OworCWVuZ2luZXMgPSBtbWFwKDAsIDQwOTYsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9Q UklWQVRFIHwgTUFQX0FOT04sCisJCSAgICAgICAtMSwgMCk7CisJaWd0X2Fzc2VydChlbmdpbmVz ICE9IE1BUF9GQUlMRUQpOworCisJLyogUFJPVF9OT05FIGlzIHNpbWlsYXIgdG8gdW5tYXBwZWQg YXJlYS4gKi8KKwltZW1zZXQoZW5naW5lcywgMCwgbGVuKTsKKwlpZ3RfYXNzZXJ0X2VxKG1wcm90 ZWN0KGVuZ2luZXMsIGxlbiwgUFJPVF9OT05FKSwgMCk7CisJbWVtc2V0KCZpdGVtLCAwLCBzaXpl b2YoaXRlbSkpOworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVSWV9FTkdJTkVfSU5GTzsK KwlpdGVtLmxlbmd0aCA9IGxlbjsKKwlpdGVtLmRhdGFfcHRyID0gdG9fdXNlcl9wb2ludGVyKGVu Z2luZXMpOworCWk5MTVfcXVlcnlfaXRlbXMoZmQsICZpdGVtLCAxKTsKKwlpZ3RfYXNzZXJ0X2Vx KGl0ZW0ubGVuZ3RoLCAtRUZBVUxUKTsKKwlpZ3RfYXNzZXJ0X2VxKG1wcm90ZWN0KGVuZ2luZXMs IGxlbiwgUFJPVF9XUklURSksIDApOworCisJLyogUmVhZC1vbmx5IHNvIGtlcm5lbCBjYW5ub3Qg ZmlsbCB0aGUgZGF0YSBiYWNrLiAqLworCW1lbXNldChlbmdpbmVzLCAwLCBsZW4pOworCWlndF9h c3NlcnRfZXEobXByb3RlY3QoZW5naW5lcywgbGVuLCBQUk9UX1JFQUQpLCAwKTsKKwltZW1zZXQo Jml0ZW0sIDAsIHNpemVvZihpdGVtKSk7CisJaXRlbS5xdWVyeV9pZCA9IERSTV9JOTE1X1FVRVJZ X0VOR0lORV9JTkZPOworCWl0ZW0ubGVuZ3RoID0gbGVuOworCWl0ZW0uZGF0YV9wdHIgPSB0b191 c2VyX3BvaW50ZXIoZW5naW5lcyk7CisJaTkxNV9xdWVyeV9pdGVtcyhmZCwgJml0ZW0sIDEpOwor CWlndF9hc3NlcnRfZXEoaXRlbS5sZW5ndGgsIC1FRkFVTFQpOworCisJbXVubWFwKGVuZ2luZXMs IDQwOTYpOworfQorCitzdGF0aWMgYm9vbAoraGFzX2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVfcXVl cnlfZW5naW5lX2luZm8gKmVuZ2luZXMsCisJICAgdW5zaWduZWQgY2xhc3MsIHVuc2lnbmVkIGlu c3RhbmNlKQoreworCXVuc2lnbmVkIGludCBpOworCisJZm9yIChpID0gMDsgaSA8IGVuZ2luZXMt Pm51bV9lbmdpbmVzOyBpKyspIHsKKwkJc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvICplbmdp bmUgPQorCQkJKHN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyAqKSZlbmdpbmVzLT5lbmdpbmVz W2ldOworCisJCWlmIChlbmdpbmUtPmVuZ2luZS5lbmdpbmVfY2xhc3MgPT0gY2xhc3MgJiYKKwkJ ICAgIGVuZ2luZS0+ZW5naW5lLmVuZ2luZV9pbnN0YW5jZSA9PSBpbnN0YW5jZSkKKwkJCXJldHVy biB0cnVlOworCX0KKworCXJldHVybiBmYWxzZTsKK30KKworc3RhdGljIHZvaWQgZW5naW5lcyhp bnQgZmQpCit7CisJc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2VuZ2luZV9pbmZvICplbmdpbmVzOwor CXN0cnVjdCBkcm1faTkxNV9xdWVyeV9pdGVtIGl0ZW07CisJdW5zaWduZWQgaW50IGxlbiwgaTsK KworCWVuZ2luZXMgPSBtYWxsb2MoNDA5Nik7CisJaWd0X2Fzc2VydChlbmdpbmVzKTsKKworCS8q IFF1ZXJ5IHJlcXVpcmVkIGJ1ZmZlciBsZW5ndGguICovCisJbWVtc2V0KGVuZ2luZXMsIDAsIDQw OTYpOworCW1lbXNldCgmaXRlbSwgMCwgc2l6ZW9mKGl0ZW0pKTsKKwlpdGVtLnF1ZXJ5X2lkID0g RFJNX0k5MTVfUVVFUllfRU5HSU5FX0lORk87CisJaXRlbS5kYXRhX3B0ciA9IHRvX3VzZXJfcG9p bnRlcihlbmdpbmVzKTsKKwlpOTE1X3F1ZXJ5X2l0ZW1zKGZkLCAmaXRlbSwgMSk7CisJaWd0X2Fz c2VydChpdGVtLmxlbmd0aCA+PSAwKTsKKwlpZ3RfYXNzZXJ0KGl0ZW0ubGVuZ3RoIDw9IDQwOTYp OworCWxlbiA9IGl0ZW0ubGVuZ3RoOworCisJLyogQ2hlY2sgbGVuZ3RoIGxhcmdlciB0aGFuIHJl cXVpcmVkIHdvcmtzIGFuZCByZXBvcnRzIHNhbWUgbGVuZ3RoLiAqLworCW1lbXNldChlbmdpbmVz LCAwLCA0MDk2KTsKKwltZW1zZXQoJml0ZW0sIDAsIHNpemVvZihpdGVtKSk7CisJaXRlbS5xdWVy eV9pZCA9IERSTV9JOTE1X1FVRVJZX0VOR0lORV9JTkZPOworCWl0ZW0ubGVuZ3RoID0gNDA5NjsK KwlpdGVtLmRhdGFfcHRyID0gdG9fdXNlcl9wb2ludGVyKGVuZ2luZXMpOworCWk5MTVfcXVlcnlf aXRlbXMoZmQsICZpdGVtLCAxKTsKKwlpZ3RfYXNzZXJ0X2VxKGl0ZW0ubGVuZ3RoLCBsZW4pOwor CisJLyogQWN0dWFsIHF1ZXJ5LiAqLworCW1lbXNldChlbmdpbmVzLCAwLCA0MDk2KTsKKwltZW1z ZXQoJml0ZW0sIDAsIHNpemVvZihpdGVtKSk7CisJaXRlbS5xdWVyeV9pZCA9IERSTV9JOTE1X1FV RVJZX0VOR0lORV9JTkZPOworCWl0ZW0ubGVuZ3RoID0gbGVuOworCWl0ZW0uZGF0YV9wdHIgPSB0 b191c2VyX3BvaW50ZXIoZW5naW5lcyk7CisJaTkxNV9xdWVyeV9pdGVtcyhmZCwgJml0ZW0sIDEp OworCWlndF9hc3NlcnRfZXEoaXRlbS5sZW5ndGgsIGxlbik7CisKKwkvKiBFdmVyeSBHUFUgaGFz IGF0IGxlYXN0IG9uZSBlbmdpbmUuICovCisJaWd0X2Fzc2VydChlbmdpbmVzLT5udW1fZW5naW5l cyA+IDApOworCisJLyogTUJaIGZpZWxkcy4gKi8KKwlpZ3RfYXNzZXJ0X2VxKGVuZ2luZXMtPnJz dmRbMF0sIDApOworCWlndF9hc3NlcnRfZXEoZW5naW5lcy0+cnN2ZFsxXSwgMCk7CisJaWd0X2Fz c2VydF9lcShlbmdpbmVzLT5yc3ZkWzJdLCAwKTsKKworCS8qIENoZWNrIHJlc3VsdHMgbWF0Y2gg dGhlIGxlZ2FjeSBHRVRfUEFSQU0gKHdoZXJlIHdlIGNhbikuICovCisJZm9yIChpID0gMDsgaSA8 IGVuZ2luZXMtPm51bV9lbmdpbmVzOyBpKyspIHsKKwkJc3RydWN0IGRybV9pOTE1X2VuZ2luZV9p bmZvICplbmdpbmUgPQorCQkJKHN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyAqKSZlbmdpbmVz LT5lbmdpbmVzW2ldOworCisJCWlndF9kZWJ1ZygiJXU6IGNsYXNzPSV1IGluc3RhbmNlPSV1IGZs YWdzPSVsbHggY2FwYWJpbGl0aWVzPSVsbHhcbiIsCisJCQkgIGksCisJCQkgIGVuZ2luZS0+ZW5n aW5lLmVuZ2luZV9jbGFzcywKKwkJCSAgZW5naW5lLT5lbmdpbmUuZW5naW5lX2luc3RhbmNlLAor CQkJICBlbmdpbmUtPmZsYWdzLAorCQkJICBlbmdpbmUtPmNhcGFiaWxpdGllcyk7CisKKwkJLyog TUJaIGZpZWxkcy4gKi8KKwkJaWd0X2Fzc2VydF9lcShlbmdpbmUtPnJzdmQwLCAwKTsKKwkJaWd0 X2Fzc2VydF9lcShlbmdpbmUtPnJzdmQxWzBdLCAwKTsKKwkJaWd0X2Fzc2VydF9lcShlbmdpbmUt PnJzdmQxWzFdLCAwKTsKKworCQlzd2l0Y2ggKGVuZ2luZS0+ZW5naW5lLmVuZ2luZV9jbGFzcykg eworCQljYXNlIEk5MTVfRU5HSU5FX0NMQVNTX1JFTkRFUjoKKwkJCS8qIFdpbGwgYmUgdGVzdGVk IGxhdGVyLiAqLworCQkJYnJlYWs7CisJCWNhc2UgSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWToKKwkJ CWlndF9hc3NlcnQoZ2VtX2hhc19ibHQoZmQpKTsKKwkJCWJyZWFrOworCQljYXNlIEk5MTVfRU5H SU5FX0NMQVNTX1ZJREVPOgorCQkJc3dpdGNoIChlbmdpbmUtPmVuZ2luZS5lbmdpbmVfaW5zdGFu Y2UpIHsKKwkJCWNhc2UgMDoKKwkJCQlpZ3RfYXNzZXJ0KGdlbV9oYXNfYnNkKGZkKSk7CisJCQkJ YnJlYWs7CisJCQljYXNlIDE6CisJCQkJaWd0X2Fzc2VydChnZW1faGFzX2JzZDIoZmQpKTsKKwkJ CQlicmVhazsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVP X0VOSEFOQ0U6CisJCQlpZ3RfYXNzZXJ0KGdlbV9oYXNfdmVib3goZmQpKTsKKwkJCWJyZWFrOwor CQlkZWZhdWx0OgorCQkJaWd0X2Fzc2VydCgwKTsKKwkJfQorCX0KKworCS8qIFJldmVyc2UgY2hl Y2sgdG8gdGhlIGFib3ZlIC0gYWxsIEdFVF9QQVJBTSBlbmdpbmVzIGFyZSBwcmVzZW50LiAqLwor CWlndF9hc3NlcnQoaGFzX2VuZ2luZShlbmdpbmVzLCBJOTE1X0VOR0lORV9DTEFTU19SRU5ERVIs IDApKTsKKwlpZiAoZ2VtX2hhc19ibHQoZmQpKQorCQlpZ3RfYXNzZXJ0KGhhc19lbmdpbmUoZW5n aW5lcywgSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWSwgMCkpOworCWlmIChnZW1faGFzX2JzZChmZCkp CisJCWlndF9hc3NlcnQoaGFzX2VuZ2luZShlbmdpbmVzLCBJOTE1X0VOR0lORV9DTEFTU19WSURF TywgMCkpOworCWlmIChnZW1faGFzX2JzZDIoZmQpKQorCQlpZ3RfYXNzZXJ0KGhhc19lbmdpbmUo ZW5naW5lcywgSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8sIDEpKTsKKwlpZiAoZ2VtX2hhc192ZWJv eChmZCkpCisJCWlndF9hc3NlcnQoaGFzX2VuZ2luZShlbmdpbmVzLCBJOTE1X0VOR0lORV9DTEFT U19WSURFT19FTkhBTkNFLAorCQkJCSAgICAgICAwKSk7CisKKwlmcmVlKGVuZ2luZXMpOworfQor CiBpZ3RfbWFpbgogewogCWludCBmZCA9IC0xOwpAQCAtNTMwLDYgKzc2NSwxOCBAQCBpZ3RfbWFp bgogCQl0ZXN0X3F1ZXJ5X3RvcG9sb2d5X2tub3duX3BjaV9pZHMoZmQsIGRldmlkKTsKIAl9CiAK KwlpZ3Rfc3VidGVzdF9ncm91cCB7CisJCWlndF9maXh0dXJlIHsKKwkJCWlndF9yZXF1aXJlKHF1 ZXJ5X2VuZ2luZV9pbmZvX3N1cHBvcnRlZChmZCkpOworCQl9CisKKwkJaWd0X3N1YnRlc3QoImVu Z2luZS1pbmZvLWludmFsaWQiKQorCQkJZW5naW5lc19pbnZhbGlkKGZkKTsKKworCQlpZ3Rfc3Vi dGVzdCgiZW5naW5lLWluZm8iKQorCQkJZW5naW5lcyhmZCk7CisJfQorCiAJaWd0X2ZpeHR1cmUg ewogCQljbG9zZShmZCk7CiAJfQotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2lndC1kZXY=