From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v6 20/42] x86emul: support AVX512F legacy-equivalent packed int/FP conversion insns Date: Thu, 06 Dec 2018 03:00:47 -0700 Message-ID: <5C08F34F0200007800203835@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5C08EFAE020000780020373E@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gUqSh-0005Qp-LL for xen-devel@lists.xenproject.org; Thu, 06 Dec 2018 10:00:51 +0000 In-Reply-To: <5C08EFAE020000780020373E@prv1-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: George Dunlap , Andrew Cooper , Wei Liu , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org Li4uIGluY2x1ZGluZyB0aGUgdHdvIEFWWDUxMkRRIGZvcm1zIHdoaWNoIHNoYXJlZCBlbmNvZGlu Z3MsIGp1c3Qgd2l0aApFVkVYLlcgc2V0IHRoZXJlLgoKVkNWVERRMlBELCBzaGFyaW5nIGl0cyBt YWluIG9wY29kZSB3aXRoIG90aGVycywgbmVlZHMgYSAibWFudWFsIgpvdmVycmlkZSBvZiBkaXNw OHNjYWxlLgoKVGhlIHNpbWRfc2l6ZSBjaGFuZ2VzIGZvciB0aGUgdHdvYnl0ZV90YWJsZVtdIGVu dHJpZXMgYXJlIGJlbmlnbiB0bwpwcmUtZXhpc3RpbmcgY29kZSwgYnV0IGFsbG93IGRlY29kZV9k aXNwOHNjYWxlKCkgdG8gd29yayBhcyBpcyBoZXJlLgoKVGhlIGF0IHRoaXMgcG9pbnQgd3Jvbmcg cGxhY2VtZW50IG9mIHRoZSAweGU2IGNhc2UgYmxvY2sgaXMgb25jZSBhZ2FpbgppbiBhbnRpY2lw YXRpb24gb2YgZnVydGhlciBhZGRpdGlvbnMgb2YgY2FzZSBsYWJlbHMuCgpTaWduZWQtb2ZmLWJ5 OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQp2NjogUmUtYmFzZSBvdmVyIGNo YW5nZXMgZWFybGllciBpbiB0aGUgc2VyaWVzLgp2NDogTmV3LgoKLS0tIGEvdG9vbHMvdGVzdHMv eDg2X2VtdWxhdG9yL2V2ZXgtZGlzcDguYworKysgYi90b29scy90ZXN0cy94ODZfZW11bGF0b3Iv ZXZleC1kaXNwOC5jCkBAIC0xMDksOCArMTA5LDEyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGVz dCBhdng1MTJmX2FsbFtdID0KICAgICBJTlNOX0ZQKGNtcCwgICAgICAgICAgICAgMGYsIGMyKSwK ICAgICBJTlNOKGNvbWlzZCwgICAgICAgNjYsICAgMGYsIDJmLCAgICBlbCwgICAgICBxLCBlbCks CiAgICAgSU5TTihjb21pc3MsICAgICAgICAgLCAgIDBmLCAyZiwgICAgZWwsICAgICAgZCwgZWwp LAorICAgIElOU04oY3Z0ZHEycGQsICAgICBmMywgICAwZiwgZTYsICAgIHZsXzIsICAgIGQsIHZs KSwKKyAgICBJTlNOKGN2dGRxMnBzLCAgICAgICAsICAgMGYsIDViLCAgICB2bCwgICAgICBkLCB2 bCksCisgICAgSU5TTihjdnRwZDJkcSwgICAgIGYyLCAgIDBmLCBlNiwgICAgdmwsICAgICAgcSwg dmwpLAogICAgIElOU04oY3Z0cGQycHMsICAgICA2NiwgICAwZiwgNWEsICAgIHZsLCAgICAgIHEs IHZsKSwKICAgICBJTlNOKGN2dHBoMnBzLCAgICAgNjYsIDBmMzgsIDEzLCAgICB2bF8yLCBkX25i LCB2bCksCisgICAgSU5TTihjdnRwczJkcSwgICAgIDY2LCAgIDBmLCA1YiwgICAgdmwsICAgICAg ZCwgdmwpLAogICAgIElOU04oY3Z0cHMycGQsICAgICAgICwgICAwZiwgNWEsICAgIHZsXzIsICAg IGQsIHZsKSwKICAgICBJTlNOKGN2dHBzMnBoLCAgICAgNjYsIDBmM2EsIDFkLCAgICB2bF8yLCBk X25iLCB2bCksCiAgICAgSU5TTihjdnRzZDJzcywgICAgIGYyLCAgIDBmLCA1YSwgICAgZWwsICAg ICAgcSwgZWwpLApAQCAtMzk4LDYgKzQwMiw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGVzdCBh dng1MTJkcV9hbGxbXQogICAgIElOU05fUEZQKGFuZCwgICAgICAgICAgICAgIDBmLCA1NCksCiAg ICAgSU5TTl9QRlAoYW5kbiwgICAgICAgICAgICAgMGYsIDU1KSwKICAgICBJTlNOKGJyb2FkY2Fz dGkzMngyLCA2NiwgMGYzOCwgNTksIGVsXzIsICBkLCB2bCksCisgICAgSU5TTihjdnRxcTJwZCwg ICAgICAgZjMsICAgMGYsIGU2LCAgIHZsLCAgcSwgdmwpLAorICAgIElOU04oY3Z0cXEycHMsICAg ICAgICAgLCAgIDBmLCA1YiwgICB2bCwgIHEsIHZsKSwKICAgICBJTlNOX1BGUChvciwgICAgICAg ICAgICAgICAwZiwgNTYpLAogLy8gICAgICAgcG1vdmQybSwgICAgICAgIGYzLCAwZjM4LCAzOSwg ICAgICAgIGQKIC8vICAgICAgIHBtb3ZtMiwgICAgICAgICBmMywgMGYzOCwgMzgsICAgICAgIGRx Ci0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLmMKKysrIGIvdG9vbHMvdGVzdHMv eDg2X2VtdWxhdG9yL3NpbWQuYwpAQCAtOTIsNiArOTIsMTMgQEAgc3RhdGljIGlubGluZSBib29s IF90b19ib29sKGJ5dGVfdmVjX3QgYgogIyBkZWZpbmUgdG9faW50KHgpICgodmVjX3QpeyAoaW50 KSh4KVswXSB9KQogI2VsaWYgVkVDX1NJWkUgPT0gOCAmJiBGTE9BVF9TSVpFID09IDQgJiYgZGVm aW5lZChfXzNkTk9XX18pCiAjIGRlZmluZSB0b19pbnQoeCkgX19idWlsdGluX2lhMzJfcGkyZmQo X19idWlsdGluX2lhMzJfcGYyaWQoeCkpCisjZWxpZiBkZWZpbmVkKEZMT0FUX1NJWkUpICYmIFZF Q19TSVpFID4gRkxPQVRfU0laRSAmJiBkZWZpbmVkKF9fQVZYNTEyRl9fKSAmJiBcCisgICAgICAo VkVDX1NJWkUgPT0gNjQgfHwgZGVmaW5lZChfX0FWWDUxMlZMX18pKQorIyBpZiBGTE9BVF9TSVpF ID09IDQKKyMgIGRlZmluZSB0b19pbnQoeCkgQlIoY3Z0ZHEycHMsIF9tYXNrLCBCUihjdnRwczJk cSwgX21hc2ssIHgsICh2c2lfdCl1bmRlZigpLCB+MCksIHVuZGVmKCksIH4wKQorIyBlbGlmIEZM T0FUX1NJWkUgPT0gOAorIyAgZGVmaW5lIHRvX2ludCh4KSBCKGN2dGRxMnBkLCBfbWFzaywgQlIo Y3Z0cGQyZHEsIF9tYXNrLCB4LCAodnNpX2hhbGZfdCl7fSwgfjApLCB1bmRlZigpLCB+MCkKKyMg ZW5kaWYKICNlbGlmIFZFQ19TSVpFID09IDE2ICYmIGRlZmluZWQoX19TU0UyX18pCiAjIGlmIEZM T0FUX1NJWkUgPT0gNAogIyAgZGVmaW5lIHRvX2ludCh4KSBfX2J1aWx0aW5faWEzMl9jdnRkcTJw cyhfX2J1aWx0aW5faWEzMl9jdnRwczJkcSh4KSkKQEAgLTExNDIsMTUgKzExNDksMjEgQEAgaW50 IHNpbWRfdGVzdCh2b2lkKQogICAgIHRvdWNoKHNyYyk7CiAgICAgaWYgKCAhZXEoeCAqIC1hbHQs IC1zcmMpICkgcmV0dXJuIF9fTElORV9fOwogCi0jIGlmIGRlZmluZWQocmVjaXApICYmIGRlZmlu ZWQodG9faW50KQorIyBpZmRlZiB0b19pbnQKKworICAgIHRvdWNoKHNyYyk7CisgICAgeCA9IHRv X2ludChzcmMpOworICAgIHRvdWNoKHNyYyk7CisgICAgaWYgKCAhZXEoeCwgc3JjKSApIHJldHVy biBfX0xJTkVfXzsKIAorIyAgaWZkZWYgcmVjaXAKICAgICB0b3VjaChzcmMpOwogICAgIHggPSBy ZWNpcChzcmMpOwogICAgIHRvdWNoKHNyYyk7CiAgICAgdG91Y2goeCk7CiAgICAgaWYgKCAhZXEo dG9faW50KHJlY2lwKHgpKSwgc3JjKSApIHJldHVybiBfX0xJTkVfXzsKIAotIyAgaWZkZWYgcnNx cnQKKyMgICBpZmRlZiByc3FydAogICAgIHggPSBzcmMgKiBzcmM7CiAgICAgdG91Y2goeCk7CiAg ICAgeSA9IHJzcXJ0KHgpOwpAQCAtMTE1OCw2ICsxMTcxLDcgQEAgaW50IHNpbWRfdGVzdCh2b2lk KQogICAgIGlmICggIWVxKHRvX2ludChyZWNpcCh5KSksIHNyYykgKSByZXR1cm4gX19MSU5FX187 CiAgICAgdG91Y2goc3JjKTsKICAgICBpZiAoICFlcSh0b19pbnQoeSksIHRvX2ludChyZWNpcChz cmMpKSkgKSByZXR1cm4gX19MSU5FX187CisjICAgZW5kaWYKICMgIGVuZGlmCiAKICMgZW5kaWYK LS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3NpbWQuaAorKysgYi90b29scy90ZXN0cy94 ODZfZW11bGF0b3Ivc2ltZC5oCkBAIC0yNDQsNiArMjQ0LDcgQEAgYXNtICggIi5tYWNybyBvdmVy cmlkZSBpbnNuICAgIFxuXHQiCiBPVlJfSU5UKGJyb2FkY2FzdCk7CiBPVlJfU0ZQKGJyb2FkY2Fz dCk7CiBPVlJfU0ZQKGNvbWkpOworT1ZSX1ZGUChjdnRkcTIpOwogT1ZSX0ZQKGFkZCk7CiBPVlJf SU5UKGFkZCk7CiBPVlJfQlcoYWRkcyk7CkBAIC0zMzAsMTMgKzMzMSwxOSBAQCBSRU4ocGFuZG4s ICwgZCk7CiBSRU4ocG9yLCAsIGQpOwogUkVOKHB4b3IsICwgZCk7CiAjICBlbmRpZgorT1ZSKGN2 dHBkMmRxeCk7CitPVlIoY3Z0cGQyZHF5KTsKIE9WUihjdnRwZDJwc3gpOwogT1ZSKGN2dHBkMnBz eSk7CiBPVlIoY3Z0cGgycHMpOworT1ZSKGN2dHBzMmRxKTsKIE9WUihjdnRwczJwZCk7CiBPVlIo Y3Z0cHMycGgpOwogT1ZSKGN2dHNkMnNzKTsKIE9WUihjdnRzczJzZCk7CitPVlIoY3Z0dHBkMmRx eCk7CitPVlIoY3Z0dHBkMmRxeSk7CitPVlIoY3Z0dHBzMmRxKTsKIE9WUihtb3ZkZHVwKTsKIE9W Uihtb3ZudGRxKTsKIE9WUihtb3ZudGRxYSk7Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0 ZS94ODZfZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0 ZS5jCkBAIC0zMTEsNyArMzExLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0d29ieXRlX3RhYmxl IHsKICAgICBbMHg1NCAuLi4gMHg1N10gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2lt ZF9wYWNrZWRfZnAsIGQ4c192bCB9LAogICAgIFsweDU4IC4uLiAweDU5XSA9IHsgRHN0SW1wbGlj aXR8U3JjTWVtfE1vZFJNLCBzaW1kX2FueV9mcCwgZDhzX3ZsIH0sCiAgICAgWzB4NWFdID0geyBE c3RJbXBsaWNpdHxTcmNNZW18TW9kUk18TW92LCBzaW1kX2FueV9mcCwgZDhzX3ZsIH0sCi0gICAg WzB4NWJdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk18TW92LCBzaW1kX290aGVyIH0sCisg ICAgWzB4NWJdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk18TW92LCBzaW1kX3BhY2tlZF9m cCwgZDhzX3ZsIH0sCiAgICAgWzB4NWMgLi4uIDB4NWZdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18 TW9kUk0sIHNpbWRfYW55X2ZwLCBkOHNfdmwgfSwKICAgICBbMHg2MCAuLi4gMHg2Ml0gPSB7IERz dEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF9vdGhlciwgZDhzX3ZsIH0sCiAgICAgWzB4NjMg Li4uIDB4NjddID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfcGFja2VkX2ludCwg ZDhzX3ZsIH0sCkBAIC0zNzUsNyArMzc1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0d29ieXRl X3RhYmxlIHsKICAgICBbMHhlMF0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF9w YWNrZWRfaW50LCBkOHNfdmwgfSwKICAgICBbMHhlMSAuLi4gMHhlMl0gPSB7IERzdEltcGxpY2l0 fFNyY01lbXxNb2RSTSwgc2ltZF8xMjgsIDQgfSwKICAgICBbMHhlMyAuLi4gMHhlNV0gPSB7IERz dEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF9wYWNrZWRfaW50LCBkOHNfdmwgfSwKLSAgICBb MHhlNl0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTXxNb3YsIHNpbWRfb3RoZXIgfSwKKyAg ICBbMHhlNl0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTXxNb3YsIHNpbWRfcGFja2VkX2Zw LCBkOHNfdmwgfSwKICAgICBbMHhlN10gPSB7IERzdE1lbXxTcmNJbXBsaWNpdHxNb2RSTXxNb3Ys IHNpbWRfcGFja2VkX2ludCwgZDhzX3ZsIH0sCiAgICAgWzB4ZTggLi4uIDB4ZWZdID0geyBEc3RJ bXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfcGFja2VkX2ludCwgZDhzX3ZsIH0sCiAgICAgWzB4 ZjBdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk18TW92LCBzaW1kX290aGVyIH0sCkBAIC0z MDc4LDYgKzMwNzgsMTEgQEAgeDg2X2RlY29kZSgKICAgICAgICAgICAgICAgICBpZiAoIGRpc3A4 c2NhbGUgPT0gMiAmJiBldmV4LnBmeCA9PSB2ZXhfZjMgKQogICAgICAgICAgICAgICAgICAgICBk aXNwOHNjYWxlID0gMzsKICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2Fz ZSAweGU2OiAvKiB2Y3Z0ZHEycGQgbmVlZHMgc3BlY2lhbCBjYXNpbmcgKi8KKyAgICAgICAgICAg ICAgICBpZiAoIGRpc3A4c2NhbGUgJiYgZXZleC5wZnggPT0gdmV4X2YzICYmICFldmV4LncgJiYg IWV2ZXguYnIgKQorICAgICAgICAgICAgICAgICAgICAtLWRpc3A4c2NhbGU7CisgICAgICAgICAg ICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKIApAQCAtNjU2 OSw2ICs2NTc0LDIyIEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBvcF9ieXRlcyA9IDE2IDw8IHZl eC5sOwogICAgICAgICBnb3RvIHNpbWRfMGZfY3Z0OwogCisgICAgY2FzZSBYODZFTVVMX09QQ19F VkVYXzY2KDB4MGYsIDB4NWIpOiAvKiB2Y3Z0cHMyZHEgW3h5el1tbS9tZW0sW3h5el1tbXtrfSAq LworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF9GMygweDBmLCAweDViKTogLyogdmN2dHRwczJk cSBbeHl6XW1tL21lbSxbeHl6XW1te2t9ICovCisgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9p ZihldmV4LncsIEVYQ19VRCk7CisgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAgIGNhc2Ug WDg2RU1VTF9PUENfRVZFWCgweDBmLCAweDViKTogICAgLyogdmN2dGRxMnBzIFt4eXpdbW0vbWVt LFt4eXpdbW17a30gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8qIHZjdnRxcTJwcyBbeHl6XW1tL21lbSx7eCx5fW1te2t9ICovCisgICAgICAgIGlmICggZXZl eC53ICkKKyAgICAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMmRxKTsKKyAg ICAgICAgZWxzZQorICAgICAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyZik7 CisgICAgICAgIGlmICggZWEudHlwZSA9PSBPUF9NRU0gfHwgIWV2ZXguYnIgKQorICAgICAgICAg ICAgYXZ4NTEyX3ZsZW5fY2hlY2soZmFsc2UpOworICAgICAgICBkIHw9IFR3b09wOworICAgICAg ICBvcF9ieXRlcyA9IDE2IDw8IGV2ZXgubHI7CisgICAgICAgIGdvdG8gc2ltZF96bW07CisKICAg ICBDQVNFX1NJTURfUEFDS0VEX0lOVCgweDBmLCAweDYwKTogICAgLyogcHVucGNrbGJ3IHsseH1t bS9tZW0seyx4fW1tICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZiwgMHg2MCk6 IC8qIHZwdW5wY2tsYncge3gseX1tbS9tZW0se3gseX1tbSx7eCx5fW1tICovCiAgICAgQ0FTRV9T SU1EX1BBQ0tFRF9JTlQoMHgwZiwgMHg2MSk6ICAgIC8qIHB1bnBja2x3ZCB7LHh9bW0vbWVtLHss eH1tbSAqLwpAQCAtNzIyNyw2ICs3MjQ4LDI3IEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBvcF9i eXRlcyA9IDg7CiAgICAgICAgIGdvdG8gc2ltZF8wZl94bW07CiAKKyAgICBjYXNlIFg4NkVNVUxf T1BDX0VWRVhfNjYoMHgwZiwgMHhlNik6ICAgLyogdmN2dHRwZDJkcSBbeHl6XW1tL21lbSx7eCx5 fW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYX0YyKDB4MGYsIDB4ZTYpOiAgIC8q IHZjdnRwZDJkcSBbeHl6XW1tL21lbSx7eCx5fW1te2t9ICovCisgICAgICAgIGdlbmVyYXRlX2V4 Y2VwdGlvbl9pZighZXZleC53LCBFWENfVUQpOworICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8K KyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfRjMoMHgwZiwgMHhlNik6ICAgLyogdmN2dGRxMnBk IHt4LHl9bW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLyogdmN2dHFxMnBkIFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KKyAg ICAgICAgaWYgKCBldmV4LnBmeCAhPSB2ZXhfZjMgKQorICAgICAgICAgICAgaG9zdF9hbmRfdmNw dV9tdXN0X2hhdmUoYXZ4NTEyZik7CisgICAgICAgIGVsc2UgaWYgKCBldmV4LncgKQorICAgICAg ICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyZHEpOworICAgICAgICBlbHNlCisg ICAgICAgIHsKKyAgICAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMmYpOwor ICAgICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKGVhLnR5cGUgIT0gT1BfTUVNICYmIGV2 ZXguYnIsIEVYQ19VRCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCBlYS50eXBlID09IE9QX01F TSB8fCAhZXZleC5iciApCisgICAgICAgICAgICBhdng1MTJfdmxlbl9jaGVjayhmYWxzZSk7Cisg ICAgICAgIGQgfD0gVHdvT3A7CisgICAgICAgIG9wX2J5dGVzID0gOCA8PCAoZXZleC53ICsgZXZl eC5scik7CisgICAgICAgIGdvdG8gc2ltZF96bW07CisKICAgICBjYXNlIFg4NkVNVUxfT1BDX0Yy KDB4MGYsIDB4ZjApOiAgICAgLyogbGRkcXUgbTEyOCx4bW0gKi8KICAgICBjYXNlIFg4NkVNVUxf T1BDX1ZFWF9GMigweDBmLCAweGYwKTogLyogdmxkZHF1IG1lbSx7eCx5fW1tICovCiAgICAgICAg IGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihlYS50eXBlICE9IE9QX01FTSwgRVhDX1VEKTsKCgoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=