From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v3 18/34] x86emul: support AVX512{F, BW} packed integer arithmetic insns Date: Tue, 18 Sep 2018 06:05:00 -0600 Message-ID: <5BA0E9EC02000078001E95E6@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5BA0E58F02000078001E94CE@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 1g2Ekc-0000Bp-Pk for xen-devel@lists.xenproject.org; Tue, 18 Sep 2018 12:05:06 +0000 In-Reply-To: <5BA0E58F02000078001E94CE@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 List-Id: xen-devel@lists.xenproject.org Tm90ZTogdnBhZGQqIC8gdnBzdWIqIGV0IGFsIGFyZSBwdXQgYXQgc2VlbWluZ2x5IHRoZSB3cm9u ZyBzbG90IG9mIHRoZQpiaWcgc3dpdGNoKCkuIFRoaXMgaXMgaW4gYW50aWNpcGF0aW9uIG9mIGFk ZGluZyB2cHVucGNrKiB0byB0aG9zZQpncm91cHMgKHNlZSB0aGUgbGVnYWN5L1ZFWCBlbmNvZGVk IGNhc2UgbGFiZWxzIG5lYXJieSB0byBzdXBwb3J0IHRoaXMpLgoKU2lnbmVkLW9mZi1ieTogSmFu IEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KdjM6IE5ldy4KCi0tLSBhL3Rvb2xzL3Rl c3RzL3g4Nl9lbXVsYXRvci9ldmV4LWRpc3A4LmMKKysrIGIvdG9vbHMvdGVzdHMveDg2X2VtdWxh dG9yL2V2ZXgtZGlzcDguYwpAQCAtMTQ2LDYgKzE0Niw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg dGVzdCBhdng1MTJmX2FsbFtdID0KICAgICBJTlNOX1BGUF9OQihtb3Z1LCAgICAgICAgMGYsIDEw KSwKICAgICBJTlNOX1BGUF9OQihtb3Z1LCAgICAgICAgMGYsIDExKSwKICAgICBJTlNOX0ZQKG11 bCwgICAgICAgICAgICAgMGYsIDU5KSwKKyAgICBJTlNOKHBhZGRkLCAgICAgICAgNjYsICAgMGYs IGZlLCAgICB2bCwgICAgICBkLCB2bCksCisgICAgSU5TTihwYWRkcSwgICAgICAgIDY2LCAgIDBm LCBkNCwgICAgdmwsICAgICAgcSwgdmwpLAogICAgIElOU04ocGFuZCwgICAgICAgICA2NiwgICAw ZiwgZGIsICAgIHZsLCAgICAgZHEsIHZsKSwKICAgICBJTlNOKHBhbmRuLCAgICAgICAgNjYsICAg MGYsIGRmLCAgICB2bCwgICAgIGRxLCB2bCksCiAgICAgSU5TTihwY21wLCAgICAgICAgIDY2LCAw ZjNhLCAxZiwgICAgdmwsICAgICBkcSwgdmwpLApAQCAtMTU0LDcgKzE1NiwxNiBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IHRlc3QgYXZ4NTEyZl9hbGxbXSA9CiAgICAgSU5TTihwY21wZ3RkLCAgICAg IDY2LCAgIDBmLCA2NiwgICAgdmwsICAgICAgZCwgdmwpLAogICAgIElOU04ocGNtcGd0cSwgICAg ICA2NiwgMGYzOCwgMzcsICAgIHZsLCAgICAgIHEsIHZsKSwKICAgICBJTlNOKHBjbXB1LCAgICAg ICAgNjYsIDBmM2EsIDFlLCAgICB2bCwgICAgIGRxLCB2bCksCisgICAgSU5TTihwbWF4cywgICAg ICAgIDY2LCAwZjM4LCAzZCwgICAgdmwsICAgICBkcSwgdmwpLAorICAgIElOU04ocG1heHUsICAg ICAgICA2NiwgMGYzOCwgM2YsICAgIHZsLCAgICAgZHEsIHZsKSwKKyAgICBJTlNOKHBtaW5zLCAg ICAgICAgNjYsIDBmMzgsIDM5LCAgICB2bCwgICAgIGRxLCB2bCksCisgICAgSU5TTihwbWludSwg ICAgICAgIDY2LCAwZjM4LCAzYiwgICAgdmwsICAgICBkcSwgdmwpLAorICAgIElOU04ocG11bGRx LCAgICAgICA2NiwgMGYzOCwgMjgsICAgIHZsLCAgICAgIHEsIHZsKSwKKyAgICBJTlNOKHBtdWxs ZCwgICAgICAgNjYsIDBmMzgsIDQwLCAgICB2bCwgICAgICBkLCB2bCksCisgICAgSU5TTihwbXVs dWRxLCAgICAgIDY2LCAgIDBmLCBmNCwgICAgdmwsICAgICAgcSwgdmwpLAogICAgIElOU04ocG9y LCAgICAgICAgICA2NiwgICAwZiwgZWIsICAgIHZsLCAgICAgZHEsIHZsKSwKKyAgICBJTlNOKHBz dWJkLCAgICAgICAgNjYsICAgMGYsIGZhLCAgICB2bCwgICAgICBkLCB2bCksCisgICAgSU5TTihw c3VicSwgICAgICAgIDY2LCAgIDBmLCBmYiwgICAgdmwsICAgICAgcSwgdmwpLAogICAgIElOU04o cHRlcm5sb2csICAgICA2NiwgMGYzYSwgMjUsICAgIHZsLCAgICAgZHEsIHZsKSwKICAgICBJTlNO KHB0ZXN0bSwgICAgICAgNjYsIDBmMzgsIDI3LCAgICB2bCwgICAgIGRxLCB2bCksCiAgICAgSU5T TihwdGVzdG5tLCAgICAgIGYzLCAwZjM4LCAyNywgICAgdmwsICAgICBkcSwgdmwpLApAQCAtMTg5 LDEyICsyMDAsMzkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmJ3X2FsbFtdCiAg ICAgSU5TTihtb3ZkcXU4LCAgICAgZjIsICAgMGYsIDdmLCAgICB2bCwgICBiLCB2bCksCiAgICAg SU5TTihtb3ZkcXUxNiwgICAgZjIsICAgMGYsIDZmLCAgICB2bCwgICB3LCB2bCksCiAgICAgSU5T Tihtb3ZkcXUxNiwgICAgZjIsICAgMGYsIDdmLCAgICB2bCwgICB3LCB2bCksCisgICAgSU5TTihw YWRkYiwgICAgICAgNjYsICAgMGYsIGZjLCAgICB2bCwgICBiLCB2bCksCisgICAgSU5TTihwYWRk c2IsICAgICAgNjYsICAgMGYsIGVjLCAgICB2bCwgICBiLCB2bCksCisgICAgSU5TTihwYWRkc3cs ICAgICAgNjYsICAgMGYsIGVkLCAgICB2bCwgICB3LCB2bCksCisgICAgSU5TTihwYWRkdXNiLCAg ICAgNjYsICAgMGYsIGRjLCAgICB2bCwgICBiLCB2bCksCisgICAgSU5TTihwYWRkdXN3LCAgICAg NjYsICAgMGYsIGRkLCAgICB2bCwgICB3LCB2bCksCisgICAgSU5TTihwYWRkdywgICAgICAgNjYs ICAgMGYsIGZkLCAgICB2bCwgICB3LCB2bCksCisgICAgSU5TTihwYXZnYiwgICAgICAgNjYsICAg MGYsIGUwLCAgICB2bCwgICBiLCB2bCksCisgICAgSU5TTihwYXZndywgICAgICAgNjYsICAgMGYs IGUzLCAgICB2bCwgICB3LCB2bCksCiAgICAgSU5TTihwY21wLCAgICAgICAgNjYsIDBmM2EsIDNm LCAgICB2bCwgIGJ3LCB2bCksCiAgICAgSU5TTihwY21wZXFiLCAgICAgNjYsICAgMGYsIDc0LCAg ICB2bCwgICBiLCB2bCksCiAgICAgSU5TTihwY21wZXF3LCAgICAgNjYsICAgMGYsIDc1LCAgICB2 bCwgICB3LCB2bCksCiAgICAgSU5TTihwY21wZ3RiLCAgICAgNjYsICAgMGYsIDY0LCAgICB2bCwg ICBiLCB2bCksCiAgICAgSU5TTihwY21wZ3R3LCAgICAgNjYsICAgMGYsIDY1LCAgICB2bCwgICB3 LCB2bCksCiAgICAgSU5TTihwY21wdSwgICAgICAgNjYsIDBmM2EsIDNlLCAgICB2bCwgIGJ3LCB2 bCksCisgICAgSU5TTihwbWFkZHdkLCAgICAgNjYsICAgMGYsIGY1LCAgICB2bCwgICB3LCB2bCks CisgICAgSU5TTihwbWF4c2IsICAgICAgNjYsIDBmMzgsIDNjLCAgICB2bCwgICBiLCB2bCksCisg ICAgSU5TTihwbWF4c3csICAgICAgNjYsICAgMGYsIGVlLCAgICB2bCwgICB3LCB2bCksCisgICAg SU5TTihwbWF4dWIsICAgICAgNjYsICAgMGYsIGRlLCAgICB2bCwgICBiLCB2bCksCisgICAgSU5T TihwbWF4dXcsICAgICAgNjYsIDBmMzgsIDNlLCAgICB2bCwgICB3LCB2bCksCisgICAgSU5TTihw bWluc2IsICAgICAgNjYsIDBmMzgsIDM4LCAgICB2bCwgICBiLCB2bCksCisgICAgSU5TTihwbWlu c3csICAgICAgNjYsICAgMGYsIGVhLCAgICB2bCwgICB3LCB2bCksCisgICAgSU5TTihwbWludWIs ICAgICAgNjYsICAgMGYsIGRhLCAgICB2bCwgICBiLCB2bCksCisgICAgSU5TTihwbWludXcsICAg ICAgNjYsIDBmMzgsIDNhLCAgICB2bCwgICB3LCB2bCksCisgICAgSU5TTihwbXVsaHV3LCAgICAg NjYsICAgMGYsIGU0LCAgICB2bCwgICB3LCB2bCksCisgICAgSU5TTihwbXVsaHcsICAgICAgNjYs ICAgMGYsIGU1LCAgICB2bCwgICB3LCB2bCksCisgICAgSU5TTihwbXVsbHcsICAgICAgNjYsICAg MGYsIGQ1LCAgICB2bCwgICB3LCB2bCksCisgICAgSU5TTihwc2FkYncsICAgICAgNjYsICAgMGYs IGY2LCAgICB2bCwgICBiLCB2bCksCisgICAgSU5TTihwc3ViYiwgICAgICAgNjYsICAgMGYsIGY4 LCAgICB2bCwgICBiLCB2bCksCisgICAgSU5TTihwc3Vic2IsICAgICAgNjYsICAgMGYsIGU4LCAg ICB2bCwgICBiLCB2bCksCisgICAgSU5TTihwc3Vic3csICAgICAgNjYsICAgMGYsIGU5LCAgICB2 bCwgICB3LCB2bCksCisgICAgSU5TTihwc3VidXNiLCAgICAgNjYsICAgMGYsIGQ4LCAgICB2bCwg ICBiLCB2bCksCisgICAgSU5TTihwc3VidXN3LCAgICAgNjYsICAgMGYsIGQ5LCAgICB2bCwgICB3 LCB2bCksCisgICAgSU5TTihwc3VidywgICAgICAgNjYsICAgMGYsIGY5LCAgICB2bCwgICB3LCB2 bCksCiAgICAgSU5TTihwdGVzdG0sICAgICAgNjYsIDBmMzgsIDI2LCAgICB2bCwgIGJ3LCB2bCks CiAgICAgSU5TTihwdGVzdG5tLCAgICAgZjMsIDBmMzgsIDI2LCAgICB2bCwgIGJ3LCB2bCksCiB9 OwpAQCAtMjAzLDYgKzI0MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGVzdCBhdng1MTJkcV9h bGxbXQogICAgIElOU05fUEZQKGFuZCwgICAgICAgICAgICAgIDBmLCA1NCksCiAgICAgSU5TTl9Q RlAoYW5kbiwgICAgICAgICAgICAgMGYsIDU1KSwKICAgICBJTlNOX1BGUChvciwgICAgICAgICAg ICAgICAwZiwgNTYpLAorICAgIElOU04ocG11bGxxLCAgICAgICAgIDY2LCAwZjM4LCA0MCwgICB2 bCwgIHEsIHZsKSwKICAgICBJTlNOX1BGUCh4b3IsICAgICAgICAgICAgICAwZiwgNTcpLAogfTsK IAotLS0gYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYworKysgYi94ZW4v YXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYwpAQCAtMzY1LDIxICszNjUsMjEgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCB0d29ieXRlX3RhYmxlIHsKICAgICBbMHhjOCAuLi4gMHhjZl0g PSB7IEltcGxpY2l0T3BzIH0sCiAgICAgWzB4ZDBdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9k Uk0sIHNpbWRfb3RoZXIgfSwKICAgICBbMHhkMSAuLi4gMHhkM10gPSB7IERzdEltcGxpY2l0fFNy Y01lbXxNb2RSTSwgc2ltZF9vdGhlciB9LAotICAgIFsweGQ0IC4uLiAweGQ1XSA9IHsgRHN0SW1w bGljaXR8U3JjTWVtfE1vZFJNLCBzaW1kX3BhY2tlZF9pbnQgfSwKKyAgICBbMHhkNCAuLi4gMHhk NV0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF9wYWNrZWRfaW50LCBkOHNfdmwg fSwKICAgICBbMHhkNl0gPSB7IERzdE1lbXxTcmNJbXBsaWNpdHxNb2RSTXxNb3YsIHNpbWRfb3Ro ZXIsIDMgfSwKICAgICBbMHhkN10gPSB7IERzdFJlZ3xTcmNJbXBsaWNpdHxNb2RSTXxNb3YgfSwK ICAgICBbMHhkOCAuLi4gMHhkZl0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF9w YWNrZWRfaW50LCBkOHNfdmwgfSwKLSAgICBbMHhlMF0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxN b2RSTSwgc2ltZF9wYWNrZWRfaW50IH0sCisgICAgWzB4ZTBdID0geyBEc3RJbXBsaWNpdHxTcmNN ZW18TW9kUk0sIHNpbWRfcGFja2VkX2ludCwgZDhzX3ZsIH0sCiAgICAgWzB4ZTEgLi4uIDB4ZTJd ID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfb3RoZXIgfSwKLSAgICBbMHhlMyAu Li4gMHhlNV0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF9wYWNrZWRfaW50IH0s CisgICAgWzB4ZTMgLi4uIDB4ZTVdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRf cGFja2VkX2ludCwgZDhzX3ZsIH0sCiAgICAgWzB4ZTZdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18 TW9kUk18TW92LCBzaW1kX290aGVyIH0sCiAgICAgWzB4ZTddID0geyBEc3RNZW18U3JjSW1wbGlj aXR8TW9kUk18TW92LCBzaW1kX3BhY2tlZF9pbnQsIGQ4c192bCB9LAogICAgIFsweGU4IC4uLiAw eGVmXSA9IHsgRHN0SW1wbGljaXR8U3JjTWVtfE1vZFJNLCBzaW1kX3BhY2tlZF9pbnQsIGQ4c192 bCB9LAogICAgIFsweGYwXSA9IHsgRHN0SW1wbGljaXR8U3JjTWVtfE1vZFJNfE1vdiwgc2ltZF9v dGhlciB9LAogICAgIFsweGYxIC4uLiAweGYzXSA9IHsgRHN0SW1wbGljaXR8U3JjTWVtfE1vZFJN LCBzaW1kX290aGVyIH0sCi0gICAgWzB4ZjQgLi4uIDB4ZjZdID0geyBEc3RJbXBsaWNpdHxTcmNN ZW18TW9kUk0sIHNpbWRfcGFja2VkX2ludCB9LAorICAgIFsweGY0IC4uLiAweGY2XSA9IHsgRHN0 SW1wbGljaXR8U3JjTWVtfE1vZFJNLCBzaW1kX3BhY2tlZF9pbnQsIGQ4c192bCB9LAogICAgIFsw eGY3XSA9IHsgRHN0TWVtfFNyY01lbXxNb2RSTXxNb3YsIHNpbWRfcGFja2VkX2ludCB9LAotICAg IFsweGY4IC4uLiAweGZlXSA9IHsgRHN0SW1wbGljaXR8U3JjTWVtfE1vZFJNLCBzaW1kX3BhY2tl ZF9pbnQgfSwKKyAgICBbMHhmOCAuLi4gMHhmZV0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RS TSwgc2ltZF9wYWNrZWRfaW50LCBkOHNfdmwgfSwKICAgICBbMHhmZl0gPSB7IE1vZFJNIH0KIH07 CiAKQEAgLTQ0OSw3ICs0NDksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGV4dDBmMzhfdGFibGUg ewogICAgIFsweDJlIC4uLiAweDJmXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAu dG9fbWVtID0gMSB9LAogICAgIFsweDMwIC4uLiAweDM1XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRf b3RoZXIsIC50d29fb3AgPSAxIH0sCiAgICAgWzB4MzYgLi4uIDB4M2ZdID0geyAuc2ltZF9zaXpl ID0gc2ltZF9wYWNrZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0sCi0gICAgWzB4NDBdID0geyAuc2lt ZF9zaXplID0gc2ltZF9wYWNrZWRfaW50IH0sCisgICAgWzB4NDBdID0geyAuc2ltZF9zaXplID0g c2ltZF9wYWNrZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0sCiAgICAgWzB4NDFdID0geyAuc2ltZF9z aXplID0gc2ltZF9wYWNrZWRfaW50LCAudHdvX29wID0gMSB9LAogICAgIFsweDQ1IC4uLiAweDQ3 XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCB9LAogICAgIFsweDU4IC4uLiAweDU5 XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfb3RoZXIsIC50d29fb3AgPSAxIH0sCkBAIC01OTYwLDYg KzU5NjAsMTAgQEAgeDg2X2VtdWxhdGUoCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4 MGYsIDB4ZGYpOiAvKiB2cGFuZG57ZCxxfSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30g Ki8KICAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhlYik6IC8qIHZwb3J7ZCxx fSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BD X0VWRVhfNjYoMHgwZiwgMHhlZik6IC8qIHZweG9ye2QscX0gW3h5el1tbS9tZW0sW3h5el1tbSxb eHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgzOSk6 IC8qIHZwbWluc3tkLHF9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNh c2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4M2IpOiAvKiB2cG1pbnV7ZCxxfSBbeHl6 XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhf NjYoMHgwZjM4LCAweDNkKTogLyogdnBtYXhze2QscX0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6 XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgzZik6IC8q IHZwbWF4dXtkLHF9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwogICAgIGF2eDUx MmZfbm9fc2FlOgogICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJmKTsKICAg ICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKGVhLnR5cGUgIT0gT1BfTUVNICYmIGV2ZXguYnIs IEVYQ19VRCk7CkBAIC02NTYwLDYgKzY1NjQsMzcgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAgIGdl dF9mcHUoWDg2RU1VTF9GUFVfbW14KTsKICAgICAgICAgZ290byBzaW1kXzBmX2NvbW1vbjsKIAor ICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGY1KTogLyogdnBtYWRkd2QgW3h5 el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVY XzY2KDB4MGYsIDB4ZjYpOiAvKiB2cHNhZGJ3IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtr fSAqLworICAgICAgICBmYXVsdF9zdXBwcmVzc2lvbiA9IGZhbHNlOworICAgICAgICAvKiBmYWxs IHRocm91Z2ggKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhkNSk6IC8q IHZwbXVsbHcgW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZF TVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4ZDgpOiAvKiB2cHN1YnVzYiBbeHl6XW1tL21lbSxbeHl6 XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhk OSk6IC8qIHZwc3VidXN3IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNh c2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGRjKTogLyogdnBhZGR1c2IgW3h5el1tbS9t ZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4 MGYsIDB4ZGQpOiAvKiB2cGFkZHVzdyBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8K KyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhlMCk6IC8qIHZwYXZnYiBbeHl6 XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhf NjYoMHgwZiwgMHhlMyk6IC8qIHZwYXZndyBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30g Ki8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhlNSk6IC8qIHZwbXVsaHcg W3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19F VkVYXzY2KDB4MGYsIDB4ZTgpOiAvKiB2cHN1YnNiIFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1t bXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGU5KTogLyogdnBz dWJzdyBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxf T1BDX0VWRVhfNjYoMHgwZiwgMHhlYyk6IC8qIHZwYWRkc2IgW3h5el1tbS9tZW0sW3h5el1tbSxb eHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4ZWQpOiAv KiB2cGFkZHN3IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2 RU1VTF9PUENfRVZFWF82NigweDBmLCAweGY4KTogLyogdnBzdWJiIFt4eXpdbW0vbWVtLFt4eXpd bW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGY5 KTogLyogdnBzdWJ3IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2Ug WDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGZjKTogLyogdnBhZGRiIFt4eXpdbW0vbWVtLFt4 eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAw eGZkKTogLyogdnBhZGR3IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgICAg ICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJidyk7CisgICAgICAgIGdlbmVyYXRlX2V4 Y2VwdGlvbl9pZihldmV4LmJyLCBFWENfVUQpOworICAgICAgICBlbGVtX2J5dGVzID0gMSA8PCAo YiAmIDEpOworICAgICAgICBnb3RvIGF2eDUxMmZfbm9fc2FlOworCisgICAgY2FzZSBYODZFTVVM X09QQ19FVkVYXzY2KDB4MGYsIDB4ZmEpOiAvKiB2cHN1YmQgW3h5el1tbS9tZW0sW3h5el1tbSxb eHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4ZmIpOiAv KiB2cHN1YnEgW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZF TVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4ZmUpOiAvKiB2cGFkZGQgW3h5el1tbS9tZW0sW3h5el1t bSxbeHl6XW1te2t9ICovCisgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihldmV4LncgIT0g KGIgJiAxKSwgRVhDX1VEKTsKKyAgICAgICAgZ290byBhdng1MTJmX25vX3NhZTsKKwogICAgIGNh c2UgWDg2RU1VTF9PUENfRVZFWF9GMygweDBmMzgsIDB4MjYpOiAvKiB2cHRlc3RubXtiLHd9IFt4 eXpdbW0vbWVtLFt4eXpdbW0sa3trfSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF9GMygw eDBmMzgsIDB4MjcpOiAvKiB2cHRlc3RubXtkLHF9IFt4eXpdbW0vbWVtLFt4eXpdbW0sa3trfSAq LwogICAgICAgICBvcF9ieXRlcyA9IDE2IDw8IGV2ZXgubHI7CkBAIC02NTg2LDYgKzY2MjEsMTIg QEAgeDg2X2VtdWxhdGUoCiAgICAgICAgIGF2eDUxMl92bGVuX2NoZWNrKGZhbHNlKTsKICAgICAg ICAgZ290byBzaW1kX3ptbTsKIAorICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAw eGQ0KTogLyogdnBhZGRxIFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNh c2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGY0KTogLyogdnBtdWx1ZHEgW3h5el1tbS9t ZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4 MGYzOCwgMHgyOCk6IC8qIHZwbXVsZHEgW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICov CisgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZighZXZleC53LCBFWENfVUQpOworICAgICAg ICBnb3RvIGF2eDUxMmZfbm9fc2FlOworCiAgICAgQ0FTRV9TSU1EX1BBQ0tFRF9JTlQoMHgwZiwg MHg2ZSk6ICAgIC8qIG1vdntkLHF9IHIvbSx7LHh9bW0gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BD X1ZFWF82NigweDBmLCAweDZlKTogLyogdm1vdntkLHF9IHIvbSx4bW0gKi8KICAgICBDQVNFX1NJ TURfUEFDS0VEX0lOVCgweDBmLCAweDdlKTogICAgLyogbW92e2QscX0geyx4fW1tLHIvbSAqLwpA QCAtNzgzNyw2ICs3ODc4LDE2IEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICB2Y3B1X211c3RfaGF2 ZShtbXhleHQpOwogICAgICAgICBnb3RvIHNpbWRfMGZfbW14OwogCisgICAgY2FzZSBYODZFTVVM X09QQ19FVkVYXzY2KDB4MGYsIDB4ZGEpOiAvKiB2cG1pbnViIFt4eXpdbW0vbWVtLFt4eXpdbW0s W3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGRlKTog LyogdnBtYXh1YiBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4 NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhlNCk6IC8qIHZwbXVsaHV3IFt4eXpdbW0vbWVtLFt4 eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAw eGVhKTogLyogdnBtaW5zdyBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBj YXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhlZSk6IC8qIHZwbWF4c3cgW3h5el1tbS9t ZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZl KGF2eDUxMmJ3KTsKKyAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKGV2ZXguYnIsIEVYQ19V RCk7CisgICAgICAgIGVsZW1fYnl0ZXMgPSBiICYgMHgxMCA/IDEgOiAyOworICAgICAgICBnb3Rv IGF2eDUxMmZfbm9fc2FlOworCiAgICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmLCAweGU2KTog ICAgICAgLyogY3Z0dHBkMmRxIHhtbS9tZW0seG1tICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19W RVhfNjYoMHgwZiwgMHhlNik6ICAgLyogdmN2dHRwZDJkcSB7eCx5fW1tL21lbSx4bW0gKi8KICAg ICBjYXNlIFg4NkVNVUxfT1BDX0YzKDB4MGYsIDB4ZTYpOiAgICAgICAvKiBjdnRkcTJwZCB4bW0v bWVtLHhtbSAqLwpAQCAtODIxMCw2ICs4MjYxLDIwIEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBo b3N0X2FuZF92Y3B1X211c3RfaGF2ZShzc2U0XzIpOwogICAgICAgICBnb3RvIHNpbWRfMGYzOF9j b21tb247CiAKKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDM4KTogLyog dnBtaW5zYiBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVN VUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDNhKTogLyogdnBtaW51dyBbeHl6XW1tL21lbSxbeHl6 XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAw eDNjKTogLyogdnBtYXhzYiBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBj YXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDNlKTogLyogdnBtYXh1dyBbeHl6XW1t L21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hh dmUoYXZ4NTEyYncpOworICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoZXZleC5iciwgRVhD X1VEKTsKKyAgICAgICAgZWxlbV9ieXRlcyA9IGIgJiAyID86IDE7CisgICAgICAgIGdvdG8gYXZ4 NTEyZl9ub19zYWU7CisKKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDQw KTogLyogdnBtdWxse2QscX0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAg ICAgIGlmICggZXZleC53ICkKKyAgICAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2 eDUxMmRxKTsKKyAgICAgICAgZ290byBhdng1MTJmX25vX3NhZTsKKwogICAgIGNhc2UgWDg2RU1V TF9PUENfNjYoMHgwZjM4LCAweGRiKTogICAgIC8qIGFlc2ltYyB4bW0vbTEyOCx4bW0gKi8KICAg ICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmMzgsIDB4ZGIpOiAvKiB2YWVzaW1jIHhtbS9t MTI4LHhtbSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweGRjKTogICAgIC8q IGFlc2VuYyB4bW0vbTEyOCx4bW0seG1tICovCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v bGlzdGluZm8veGVuLWRldmVs