From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v7 26/49] x86emul: support remaining AVX512F legacy-equivalent insns Date: Wed, 19 Dec 2018 07:53:09 -0700 Message-ID: <5C1A5B5502000078002079A4@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5C1A52ED0200007800207865@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gZdDn-0005yl-FI for xen-devel@lists.xenproject.org; Wed, 19 Dec 2018 14:53:15 +0000 In-Reply-To: <5C1A52ED0200007800207865@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 UGx1cyB0aGVpciBBVlg1MTJCVyBjb3VudGVycGFydHMuCgpUYWtlIHRoZSBvcHBvcnR1bml0eSBh bmQgYWxzbyBlbGltaW5hdGUgYSBwYWlyIG9mIG9wZW4gY29kZWQgaW5zdGFuY2VzCm9mIHNjYWxh cl8xb3AoKS4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K LS0tCnY3OiBSZS1iYXNlLgp2NjogUmUtYmFzZSBvdmVyIGNoYW5nZXMgZWFybGllciBpbiB0aGUg c2VyaWVzLgp2NTogTmV3LgoKLS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL2V2ZXgtZGlz cDguYworKysgYi90b29scy90ZXN0cy94ODZfZW11bGF0b3IvZXZleC1kaXNwOC5jCkBAIC0xOTMs NiArMTkzLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmZfYWxsW10gPQogICAg IElOU05fUEZQX05CKG1vdnUsICAgICAgICAwZiwgMTApLAogICAgIElOU05fUEZQX05CKG1vdnUs ICAgICAgICAwZiwgMTEpLAogICAgIElOU05fRlAobXVsLCAgICAgICAgICAgICAwZiwgNTkpLAor ICAgIElOU04ocGFic2QsICAgICAgICA2NiwgMGYzOCwgMWUsICAgIHZsLCAgICAgIGQsIHZsKSwK KyAgICBJTlNOKHBhYnNxLCAgICAgICAgNjYsIDBmMzgsIDFmLCAgICB2bCwgICAgICBxLCB2bCks CiAgICAgSU5TTihwYWRkZCwgICAgICAgIDY2LCAgIDBmLCBmZSwgICAgdmwsICAgICAgZCwgdmwp LAogICAgIElOU04ocGFkZHEsICAgICAgICA2NiwgICAwZiwgZDQsICAgIHZsLCAgICAgIHEsIHZs KSwKICAgICBJTlNOKHBhbmQsICAgICAgICAgNjYsICAgMGYsIGRiLCAgICB2bCwgICAgIGRxLCB2 bCksCkBAIC0yNzYsNiArMjc4LDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGVzdCBhdng1MTJm X2FsbFtdID0KICAgICBJTlNOKHB1bnBja2xkcSwgICAgNjYsICAgMGYsIDYyLCAgICB2bCwgICAg ICBkLCB2bCksCiAgICAgSU5TTihwdW5wY2tscWRxLCAgIDY2LCAgIDBmLCA2YywgICAgdmwsICAg ICAgcSwgdmwpLAogICAgIElOU04ocHhvciwgICAgICAgICA2NiwgICAwZiwgZWYsICAgIHZsLCAg ICAgZHEsIHZsKSwKKyAgICBJTlNOKHJuZHNjYWxlcGQsICAgNjYsIDBmM2EsIDA5LCAgICB2bCwg ICAgICBxLCB2bCksCisgICAgSU5TTihybmRzY2FsZXBzLCAgIDY2LCAwZjNhLCAwOCwgICAgdmws ICAgICAgZCwgdmwpLAorICAgIElOU04ocm5kc2NhbGVzZCwgICA2NiwgMGYzYSwgMGIsICAgIGVs LCAgICAgIHEsIGVsKSwKKyAgICBJTlNOKHJuZHNjYWxlc3MsICAgNjYsIDBmM2EsIDBhLCAgICBl bCwgICAgICBkLCBlbCksCiAgICAgSU5TTl9QRlAoc2h1ZiwgICAgICAgICAgIDBmLCBjNiksCiAg ICAgSU5TTl9GUChzcXJ0LCAgICAgICAgICAgIDBmLCA1MSksCiAgICAgSU5TTl9GUChzdWIsICAg ICAgICAgICAgIDBmLCA1YyksCkBAIC0zMzYsNiArMzQyLDggQEAgc3RhdGljIGNvbnN0IHN0cnVj dCB0ZXN0IGF2eDUxMmJ3X2FsbFtdCiAgICAgSU5TTihtb3ZkcXU4LCAgICAgZjIsICAgMGYsIDdm LCAgICB2bCwgICAgYiwgdmwpLAogICAgIElOU04obW92ZHF1MTYsICAgIGYyLCAgIDBmLCA2Ziwg ICAgdmwsICAgIHcsIHZsKSwKICAgICBJTlNOKG1vdmRxdTE2LCAgICBmMiwgICAwZiwgN2YsICAg IHZsLCAgICB3LCB2bCksCisgICAgSU5TTihwYWJzYiwgICAgICAgNjYsIDBmMzgsIDFjLCAgICB2 bCwgICAgYiwgdmwpLAorICAgIElOU04ocGFic3csICAgICAgIDY2LCAwZjM4LCAxZCwgICAgdmws ICAgIHcsIHZsKSwKICAgICBJTlNOKHBhY2tzc2R3LCAgICA2NiwgICAwZiwgNmIsICAgIHZsLCBk X25iLCB2bCksCiAgICAgSU5TTihwYWNrc3N3YiwgICAgNjYsICAgMGYsIDYzLCAgICB2bCwgICAg dywgdmwpLAogICAgIElOU04ocGFja3VzZHcsICAgIDY2LCAwZjM4LCAyYiwgICAgdmwsIGRfbmIs IHZsKSwKLS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3NpbWQuYworKysgYi90b29scy90 ZXN0cy94ODZfZW11bGF0b3Ivc2ltZC5jCkBAIC0yMTEsOCArMjExLDEwIEBAIHN0YXRpYyBpbmxp bmUgdmVjX3QgbW92bGhwcyh2ZWNfdCB4LCB2ZWMKICNlbGlmIGRlZmluZWQoRkxPQVRfU0laRSkg JiYgVkVDX1NJWkUgPT0gRkxPQVRfU0laRSAmJiBkZWZpbmVkKF9fQVZYNTEyRl9fKQogIyBpZiBG TE9BVF9TSVpFID09IDQKICMgIGRlZmluZSBzcXJ0KHgpIHNjYWxhcl8xb3AoeCwgInZzcXJ0c3Mg JVtpbl0sICVbb3V0XSwgJVtvdXRdIikKKyMgIGRlZmluZSB0cnVuYyh4KSBzY2FsYXJfMW9wKHgs ICJ2cm5kc2NhbGVzcyAkMGIxMDExLCAlW2luXSwgJVtvdXRdLCAlW291dF0iKQogIyBlbGlmIEZM T0FUX1NJWkUgPT0gOAogIyAgZGVmaW5lIHNxcnQoeCkgc2NhbGFyXzFvcCh4LCAidnNxcnRzZCAl W2luXSwgJVtvdXRdLCAlW291dF0iKQorIyAgZGVmaW5lIHRydW5jKHgpIHNjYWxhcl8xb3AoeCwg InZybmRzY2FsZXNkICQwYjEwMTEsICVbaW5dLCAlW291dF0sICVbb3V0XSIpCiAjIGVuZGlmCiAj ZWxpZiBkZWZpbmVkKEZMT0FUX1NJWkUpICYmIGRlZmluZWQoX19BVlg1MTJGX18pICYmIFwKICAg ICAgIChWRUNfU0laRSA9PSA2NCB8fCBkZWZpbmVkKF9fQVZYNTEyVkxfXykpCkBAIC0yNjMsNiAr MjY1LDcgQEAgc3RhdGljIGlubGluZSB2ZWNfdCBtb3ZsaHBzKHZlY190IHgsIHZlYwogIyAgZGVm aW5lIG1peCh4LCB5KSBCKG1vdmFwcywgX21hc2ssIHgsIHksICgwYjAxMDEwMTAxMDEwMTAxMDEg JiBBTExfVFJVRSkpCiAjICBkZWZpbmUgc2hyaW5rMSh4KSBCUl8oY3Z0cGQycHMsIF9tYXNrLCAo dmRmX3QpKHgpLCAodnNmX2hhbGZfdCl7fSwgfjApCiAjICBkZWZpbmUgc3FydCh4KSBCUihzcXJ0 cHMsIF9tYXNrLCB4LCB1bmRlZigpLCB+MCkKKyMgIGRlZmluZSB0cnVuYyh4KSBCUihybmRzY2Fs ZXBzXywgX21hc2ssIHgsIDBiMTAxMSwgdW5kZWYoKSwgfjApCiAjICBkZWZpbmUgd2lkZW4xKHgp ICgodmVjX3QpQlIoY3Z0cHMycGQsIF9tYXNrLCB4LCAodmRmX3QpdW5kZWYoKSwgfjApKQogIyAg aWYgVkVDX1NJWkUgPT0gMTYKICMgICBkZWZpbmUgaW50ZXJsZWF2ZV9oaSh4LCB5KSBCKHVucGNr aHBzLCBfbWFzaywgeCwgeSwgdW5kZWYoKSwgfjApCkBAIC0zMTYsNiArMzE5LDcgQEAgc3RhdGlj IGlubGluZSB2ZWNfdCBtb3ZsaHBzKHZlY190IHgsIHZlYwogIyAgZGVmaW5lIG1pbih4LCB5KSBC Ul8obWlucGQsIF9tYXNrLCB4LCB5LCB1bmRlZigpLCB+MCkKICMgIGRlZmluZSBtaXgoeCwgeSkg Qihtb3ZhcGQsIF9tYXNrLCB4LCB5LCAwYjAxMDEwMTAxKQogIyAgZGVmaW5lIHNxcnQoeCkgQlIo c3FydHBkLCBfbWFzaywgeCwgdW5kZWYoKSwgfjApCisjICBkZWZpbmUgdHJ1bmMoeCkgQlIocm5k c2NhbGVwZF8sIF9tYXNrLCB4LCAwYjEwMTEsIHVuZGVmKCksIH4wKQogIyAgaWYgVkVDX1NJWkUg PT0gMTYKICMgICBkZWZpbmUgaW50ZXJsZWF2ZV9oaSh4LCB5KSBCKHVucGNraHBkLCBfbWFzaywg eCwgeSwgdW5kZWYoKSwgfjApCiAjICAgZGVmaW5lIGludGVybGVhdmVfbG8oeCwgeSkgQih1bnBj a2xwZCwgX21hc2ssIHgsIHksIHVuZGVmKCksIH4wKQpAQCAtNTQ4LDYgKzU1Miw3IEBAIHN0YXRp YyBpbmxpbmUgdmVjX3QgbW92bGhwcyh2ZWNfdCB4LCB2ZWMKICMgIGVuZGlmCiAjIGVuZGlmCiAj IGlmIElOVF9TSVpFID09IDQKKyMgIGRlZmluZSBhYnMoeCkgQihwYWJzZCwgX21hc2ssIHgsIHVu ZGVmKCksIH4wKQogIyAgZGVmaW5lIG1heCh4LCB5KSBCKHBtYXhzZCwgX21hc2ssIHgsIHksIHVu ZGVmKCksIH4wKQogIyAgZGVmaW5lIG1pbih4LCB5KSBCKHBtaW5zZCwgX21hc2ssIHgsIHksIHVu ZGVmKCksIH4wKQogIyAgZGVmaW5lIG11bF9mdWxsKHgsIHkpICgodmVjX3QpQihwbXVsZHEsIF9t YXNrLCB4LCB5LCAodmRpX3QpdW5kZWYoKSwgfjApKQpAQCAtNTU4LDYgKzU2Myw3IEBAIHN0YXRp YyBpbmxpbmUgdmVjX3QgbW92bGhwcyh2ZWNfdCB4LCB2ZWMKICMgIGRlZmluZSBtdWxfZnVsbCh4 LCB5KSAoKHZlY190KUIocG11bHVkcSwgX21hc2ssICh2c2lfdCkoeCksICh2c2lfdCkoeSksICh2 ZGlfdCl1bmRlZigpLCB+MCkpCiAjICBkZWZpbmUgd2lkZW4xKHgpICgodmVjX3QpQihwbW92enhk cSwgX21hc2ssICh2c2lfaGFsZl90KSh4KSwgKHZkaV90KXVuZGVmKCksIH4wKSkKICMgZWxpZiBJ TlRfU0laRSA9PSA4CisjICBkZWZpbmUgYWJzKHgpICgodmVjX3QpQihwYWJzcSwgX21hc2ssICh2 ZGlfdCkoeCksICh2ZGlfdCl1bmRlZigpLCB+MCkpCiAjICBkZWZpbmUgbWF4KHgsIHkpICgodmVj X3QpQihwbWF4c3EsIF9tYXNrLCAodmRpX3QpKHgpLCAodmRpX3QpKHkpLCAodmRpX3QpdW5kZWYo KSwgfjApKQogIyAgZGVmaW5lIG1pbih4LCB5KSAoKHZlY190KUIocG1pbnNxLCBfbWFzaywgKHZk aV90KSh4KSwgKHZkaV90KSh5KSwgKHZkaV90KXVuZGVmKCksIH4wKSkKICMgZWxpZiBVSU5UX1NJ WkUgPT0gOApAQCAtNjI1LDYgKzYzMSw3IEBAIHN0YXRpYyBpbmxpbmUgdmVjX3QgbW92bGhwcyh2 ZWNfdCB4LCB2ZWMKICMgIGRlZmluZSBzd2FwMih4KSAoKHZlY190KUIocGVybXZhcmhpLCBfbWFz aywgKHZoaV90KSh4KSwgKHZoaV90KShpbnYgLSAxKSwgKHZoaV90KXVuZGVmKCksIH4wKSkKICMg ZW5kaWYKICMgaWYgSU5UX1NJWkUgPT0gMQorIyAgZGVmaW5lIGFicyh4KSAoKHZlY190KUIocGFi c2IsIF9tYXNrLCAodnFpX3QpKHgpLCAodnFpX3QpdW5kZWYoKSwgfjApKQogIyAgZGVmaW5lIG1h eCh4LCB5KSAoKHZlY190KUIocG1heHNiLCBfbWFzaywgKHZxaV90KSh4KSwgKHZxaV90KSh5KSwg KHZxaV90KXVuZGVmKCksIH4wKSkKICMgIGRlZmluZSBtaW4oeCwgeSkgKCh2ZWNfdClCKHBtaW5z YiwgX21hc2ssICh2cWlfdCkoeCksICh2cWlfdCkoeSksICh2cWlfdCl1bmRlZigpLCB+MCkpCiAj ICBkZWZpbmUgd2lkZW4xKHgpICgodmVjX3QpQihwbW92c3hidywgX21hc2ssICh2cWlfaGFsZl90 KSh4KSwgKHZoaV90KXVuZGVmKCksIH4wKSkKQEAgLTYzNyw2ICs2NDQsNyBAQCBzdGF0aWMgaW5s aW5lIHZlY190IG1vdmxocHModmVjX3QgeCwgdmVjCiAjICBkZWZpbmUgd2lkZW4yKHgpICgodmVj X3QpQihwbW92enhiZCwgX21hc2ssICh2cWlfcXVhcnRlcl90KSh4KSwgKHZzaV90KXVuZGVmKCks IH4wKSkKICMgIGRlZmluZSB3aWRlbjMoeCkgKCh2ZWNfdClCKHBtb3Z6eGJxLCBfbWFzaywgKHZx aV9laWdodGhfdCkoeCksICh2ZGlfdCl1bmRlZigpLCB+MCkpCiAjIGVsaWYgSU5UX1NJWkUgPT0g MgorIyAgZGVmaW5lIGFicyh4KSBCKHBhYnN3LCBfbWFzaywgeCwgdW5kZWYoKSwgfjApCiAjICBk ZWZpbmUgbWF4KHgsIHkpIEIocG1heHN3LCBfbWFzaywgeCwgeSwgdW5kZWYoKSwgfjApCiAjICBk ZWZpbmUgbWluKHgsIHkpIEIocG1pbnN3LCBfbWFzaywgeCwgeSwgdW5kZWYoKSwgfjApCiAjICBk ZWZpbmUgbXVsX2hpKHgsIHkpIEIocG11bGh3LCBfbWFzaywgeCwgeSwgdW5kZWYoKSwgfjApCkBA IC05NDgsMTkgKzk1NiwxMSBAQCBzdGF0aWMgaW5saW5lIHZlY190IG1vdmxocHModmVjX3QgeCwg dmVjCiAjaWYgVkVDX1NJWkUgPT0gRkxPQVRfU0laRQogIyBkZWZpbmUgbWF4KHgsIHkpICgodmVj X3Qpeyh7IHR5cGVvZih4WzBdKSB4XyA9ICh4KVswXSwgeV8gPSAoeSlbMF07IHhfID4geV8gPyB4 XyA6IHlfOyB9KX0pCiAjIGRlZmluZSBtaW4oeCwgeSkgKCh2ZWNfdCl7KHsgdHlwZW9mKHhbMF0p IHhfID0gKHgpWzBdLCB5XyA9ICh5KVswXTsgeF8gPCB5XyA/IHhfIDogeV87IH0pfSkKLSMgaWZk ZWYgX19TU0U0XzFfXworIyBpZiBkZWZpbmVkKF9fU1NFNF8xX18pICYmICFkZWZpbmVkKF9fQVZY NTEyRl9fKQogIyAgaWYgRkxPQVRfU0laRSA9PSA0Ci0jICAgZGVmaW5lIHRydW5jKHgpICh7IFwK LSAgICBmbG9hdCBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSByXzsgXAotICAgIGFz bSAoICJyb3VuZHNzICQwYjEwMTEsJTEsJTAiIDogIj14IiAocl8pIDogIm0iICh4KSApOyBcCi0g ICAgKHZlY190KXsgcl9bMF0gfTsgXAotfSkKKyMgICBkZWZpbmUgdHJ1bmMoeCkgc2NhbGFyXzFv cCh4LCAicm91bmRzcyAkMGIxMDExLCAlW2luXSwgJVtvdXRdIikKICMgIGVsaWYgRkxPQVRfU0la RSA9PSA4Ci0jICAgZGVmaW5lIHRydW5jKHgpICh7IFwKLSAgICBkb3VibGUgX19hdHRyaWJ1dGVf XygodmVjdG9yX3NpemUoMTYpKSkgcl87IFwKLSAgICBhc20gKCAicm91bmRzZCAkMGIxMDExLCUx LCUwIiA6ICI9eCIgKHJfKSA6ICJtIiAoeCkgKTsgXAotICAgICh2ZWNfdCl7IHJfWzBdIH07IFwK LX0pCisjICAgZGVmaW5lIHRydW5jKHgpIHNjYWxhcl8xb3AoeCwgInJvdW5kc2QgJDBiMTAxMSwg JVtpbl0sICVbb3V0XSIpCiAjICBlbmRpZgogIyBlbmRpZgogI2VuZGlmCi0tLSBhL3Rvb2xzL3Rl c3RzL3g4Nl9lbXVsYXRvci9zaW1kLmgKKysrIGIvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3Np bWQuaApAQCAtMTg0LDYgKzE4NCw4IEBAIERFQ0xfT0NURVQoaGFsZik7CiAjIGRlZmluZSBfX2J1 aWx0aW5faWEzMl9pbnNlcnRpMzJ4NF81MTJfbWFzayBfX2J1aWx0aW5faWEzMl9pbnNlcnRpMzJ4 NF9tYXNrCiAjIGRlZmluZSBfX2J1aWx0aW5faWEzMl9pbnNlcnRpMzJ4OF81MTJfbWFzayBfX2J1 aWx0aW5faWEzMl9pbnNlcnRpMzJ4OF9tYXNrCiAjIGRlZmluZSBfX2J1aWx0aW5faWEzMl9pbnNl cnRpNjR4NF81MTJfbWFzayBfX2J1aWx0aW5faWEzMl9pbnNlcnRpNjR4NF9tYXNrCisjIGRlZmlu ZSBfX2J1aWx0aW5faWEzMl9ybmRzY2FsZXBkXzUxMl9tYXNrIF9fYnVpbHRpbl9pYTMyX3JuZHNj YWxlcGRfbWFzaworIyBkZWZpbmUgX19idWlsdGluX2lhMzJfcm5kc2NhbGVwc181MTJfbWFzayBf X2J1aWx0aW5faWEzMl9ybmRzY2FsZXBzX21hc2sKICMgZGVmaW5lIF9fYnVpbHRpbl9pYTMyX3No dWZfZjMyeDRfNTEyX21hc2sgX19idWlsdGluX2lhMzJfc2h1Zl9mMzJ4NF9tYXNrCiAjIGRlZmlu ZSBfX2J1aWx0aW5faWEzMl9zaHVmX2Y2NHgyXzUxMl9tYXNrIF9fYnVpbHRpbl9pYTMyX3NodWZf ZjY0eDJfbWFzawogIyBkZWZpbmUgX19idWlsdGluX2lhMzJfc2h1Zl9pMzJ4NF81MTJfbWFzayBf X2J1aWx0aW5faWEzMl9zaHVmX2kzMng0X21hc2sKQEAgLTI0NSw2ICsyNDcsNyBAQCBPVlJfSU5U KGJyb2FkY2FzdCk7CiBPVlJfU0ZQKGJyb2FkY2FzdCk7CiBPVlJfU0ZQKGNvbWkpOwogT1ZSX1ZG UChjdnRkcTIpOworT1ZSX0lOVChhYnMpOwogT1ZSX0ZQKGFkZCk7CiBPVlJfSU5UKGFkZCk7CiBP VlJfQlcoYWRkcyk7Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5j CisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jCkBAIC00NDYsNyAr NDQ2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBleHQwZjM4X3RhYmxlIHsKICAgICBbMHgxOV0g PSB7IC5zaW1kX3NpemUgPSBzaW1kX3NjYWxhcl9vcGMsIC50d29fb3AgPSAxLCAuZDhzID0gMyB9 LAogICAgIFsweDFhXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfMTI4LCAudHdvX29wID0gMSwgLmQ4 cyA9IDQgfSwKICAgICBbMHgxYl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kXzI1NiwgLnR3b19vcCA9 IDEsIC5kOHMgPSBkOHNfdmxfYnlfMiB9LAotICAgIFsweDFjIC4uLiAweDFlXSA9IHsgLnNpbWRf c2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLnR3b19vcCA9IDEgfSwKKyAgICBbMHgxYyAuLi4gMHgx Zl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQsIC50d29fb3AgPSAxLCAuZDhzID0g ZDhzX3ZsIH0sCiAgICAgWzB4MjBdID0geyAuc2ltZF9zaXplID0gc2ltZF9vdGhlciwgLnR3b19v cCA9IDEsIC5kOHMgPSBkOHNfdmxfYnlfMiB9LAogICAgIFsweDIxXSA9IHsgLnNpbWRfc2l6ZSA9 IHNpbWRfb3RoZXIsIC50d29fb3AgPSAxLCAuZDhzID0gZDhzX3ZsX2J5XzQgfSwKICAgICBbMHgy Ml0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX290aGVyLCAudHdvX29wID0gMSwgLmQ4cyA9IGQ4c192 bF9ieV84IH0sCkBAIC01MzEsOCArNTMxLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBleHQwZjNh X3RhYmxlIHsKICAgICBbMHgwMl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQgfSwK ICAgICBbMHgwNCAuLi4gMHgwNV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9mcCwgLnR3 b19vcCA9IDEsIC5kOHMgPSBkOHNfdmwgfSwKICAgICBbMHgwNl0gPSB7IC5zaW1kX3NpemUgPSBz aW1kX3BhY2tlZF9mcCB9LAotICAgIFsweDA4IC4uLiAweDA5XSA9IHsgLnNpbWRfc2l6ZSA9IHNp bWRfcGFja2VkX2ZwLCAudHdvX29wID0gMSB9LAotICAgIFsweDBhIC4uLiAweDBiXSA9IHsgLnNp bWRfc2l6ZSA9IHNpbWRfc2NhbGFyX29wYyB9LAorICAgIFsweDA4IC4uLiAweDA5XSA9IHsgLnNp bWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAudHdvX29wID0gMSwgLmQ4cyA9IGQ4c192bCB9LAor ICAgIFsweDBhIC4uLiAweDBiXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfc2NhbGFyX29wYywgLmQ4 cyA9IGQ4c19kcSB9LAogICAgIFsweDBjIC4uLiAweDBkXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRf cGFja2VkX2ZwIH0sCiAgICAgWzB4MGUgLi4uIDB4MGZdID0geyAuc2ltZF9zaXplID0gc2ltZF9w YWNrZWRfaW50IH0sCiAgICAgWzB4MTRdID0geyAuc2ltZF9zaXplID0gc2ltZF9ub25lLCAudG9f bWVtID0gMSwgLnR3b19vcCA9IDEsIC5kOHMgPSAwIH0sCkBAIC02OTA2LDYgKzY5MDYsOCBAQCB4 ODZfZW11bGF0ZSgKICAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhmOSk6IC8q IHZwc3VidyBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KICAgICBjYXNlIFg4NkVN VUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhmYyk6IC8qIHZwYWRkYiBbeHl6XW1tL21lbSxbeHl6XW1t LFt4eXpdbW17a30gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhmZCk6 IC8qIHZwYWRkdyBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4 NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDFjKTogLyogdnBhYnNiIFt4eXpdbW0vbWVtLFt4 eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDFkKTog LyogdnBhYnN3IFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KICAgICAgICAgaG9zdF9hbmRfdmNw dV9tdXN0X2hhdmUoYXZ4NTEyYncpOwogICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoZXZl eC5icnMsIEVYQ19VRCk7CiAgICAgICAgIGVsZW1fYnl0ZXMgPSAxIDw8IChiICYgMSk7CkBAIC04 MjkyLDYgKzgyOTQsOCBAQCB4ODZfZW11bGF0ZSgKICAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhf NjYoMHgwZiwgMHhmYSk6IC8qIHZwc3ViZCBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30g Ki8KICAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhmYik6IC8qIHZwc3VicSBb eHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX0VW RVhfNjYoMHgwZiwgMHhmZSk6IC8qIHZwYWRkZCBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17 a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDFlKTogLyogdnBh YnNkIFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhf NjYoMHgwZjM4LCAweDFmKTogLyogdnBhYnNxIFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KICAg ICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKGV2ZXgudyAhPSAoYiAmIDEpLCBFWENfVUQpOwog ICAgICAgICBnb3RvIGF2eDUxMmZfbm9fc2FlOwogCkBAIC05MzIwLDYgKzkzMjQsMTcgQEAgeDg2 X2VtdWxhdGUoCiAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKHNzZTRfMSk7CiAgICAg ICAgIGdvdG8gc2ltZF8wZjNhX2NvbW1vbjsKIAorICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82 NigweDBmM2EsIDB4MGEpOiAvKiB2cm5kc2NhbGVzcyAkaW1tOCxbeHl6XW1tL21lbSxbeHl6XW1t LFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjNhLCAweDBi KTogLyogdnJuZHNjYWxlc2QgJGltbTgsW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICov CisgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihlYS50eXBlICE9IE9QX1JFRyAmJiBldmV4 LmJycywgRVhDX1VEKTsKKyAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCisgICAgY2FzZSBYODZF TVVMX09QQ19FVkVYXzY2KDB4MGYzYSwgMHgwOCk6IC8qIHZybmRzY2FsZXBzICRpbW04LFt4eXpd bW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjNh LCAweDA5KTogLyogdnJuZHNjYWxlcGQgJGltbTgsW3h5el1tbS9tZW0sW3h5el1tbXtrfSAqLwor ICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJmKTsKKyAgICAgICAgZ2VuZXJh dGVfZXhjZXB0aW9uX2lmKGV2ZXgudyAhPSAoYiAmIDEpLCBFWENfVUQpOworICAgICAgICBhdng1 MTJfdmxlbl9jaGVjayhiICYgMik7CisgICAgICAgIGdvdG8gc2ltZF9pbW04X3ptbTsKKwogICAg IGNhc2UgWDg2RU1VTF9PUEMoMHgwZjNhLCAweDBmKTogICAgLyogcGFsaWduciAkaW1tOCxtbS9t NjQsbW0gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzYSwgMHgwZik6IC8qIHBhbGln bnIgJGltbTgseG1tL20xMjgseG1tICovCiAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZl KHNzc2UzKTsKCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=