From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 5AB3A1B971 for ; Thu, 10 May 2018 10:08:02 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 May 2018 01:08:02 -0700 Message-Id: <0590c7$1k5aku@orsmga001.jf.intel.com> Date: 10 May 2018 01:08:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,384,1520924400"; d="scan'208";a="54700724" Received: from unknown (HELO [127.0.1.1]) ([10.240.176.154]) by orsmga001.jf.intel.com with ESMTP; 10 May 2018 01:08:00 -0700 Content-Type: multipart/alternative; boundary="===============4867164690692906089==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org Cc: xinfengx.zhao@intel.com, zhaoyan.chen@intel.com, peipeix.lu@intel.com Subject: [dpdk-test-report] |FAILURE| pw37176[dpdk-dev, v1, 09/16] ethdev: add hash function to RSS flow API action X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 May 2018 08:08:03 -0000 --===============4867164690692906089== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKaHR0cDov L2RwZGsub3JnL3BhdGNoLzM3MTc2CgpfYXBwbHkgaXNzdWVzXwoKU3VibWl0dGVyOiBBZHJpZW4g TWF6YXJndWlsIDxhZHJpZW4ubWF6YXJndWlsQDZ3aW5kLmNvbT4KRGF0ZTogMjAxOC0wNC0wNCAx NTo1Njo0NQpEUERLIGdpdCBiYXNlbGluZToKCVJlcG86ZHBkay1tYXN0ZXIsIENvbW1pdElEOiA4 ZWE0MTQzODgzMmEzNjBhZWQyYjdiYTQ5ZmI3NWUzMTBhMmZmMWRjCglSZXBvOmRwZGstbmV4dC1l dmVudGRldiwgQ29tbWl0SUQ6IDY0MGIwZDFlNTEwZTExMTY5NGMyNTE0NTQ2NmYzNzg2NzQ1Mzgz N2YKCVJlcG86ZHBkay1uZXh0LW5ldCwgQ29tbWl0SUQ6IDc3NGMxODkyYzQzNGRiYTA5OTk4Y2Nj NzZiOTU2ZmViNzIyMjQ1NzEKCVJlcG86ZHBkay1uZXh0LWNyeXB0bywgQ29tbWl0SUQ6IDcyOGNh OWIwZDVhYmVhODJjZDAxZGVlNjY0NTQ1NmE5ZDU2MjE1ZjcKCVJlcG86ZHBkay1uZXh0LXZpcnRp bywgQ29tbWl0SUQ6IDAzN2MwOTk2YmM5MjczNDJmMTU3NDI2NzM5ZTBjYjYzZjJkYjg2ODkKCipS ZXBvOiBkcGRrLW1hc3RlcgpDaGVja2luZyBwYXRjaCBhcHAvdGVzdC1wbWQvY21kbGluZV9mbG93 LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+ CgojaW5jbHVkZSA8cnRlX2NvbW1vbi5oPgojaW5jbHVkZSA8cnRlX2V0aGRldi5oPgojaW5jbHVk ZSA8cnRlX2J5dGVvcmRlci5oPgojaW5jbHVkZSA8Y21kbGluZV9wYXJzZS5oPgoKZXJyb3I6IHBh dGNoIGZhaWxlZDogYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jOjE0CmVycm9yOiBhcHAvdGVz dC1wbWQvY21kbGluZV9mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNo IGFwcC90ZXN0LXBtZC9jb25maWcuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQlv ZmYgPSAwOwoJCWlmIChkc3QucnNzKQoJCQkqZHN0LnJzcyA9IChzdHJ1Y3QgcnRlX2Zsb3dfYWN0 aW9uX3Jzcyl7CgkJCQkudHlwZXMgPSBzcmMucnNzLT50eXBlcywKCQkJCS5rZXlfbGVuID0gc3Jj LnJzcy0+a2V5X2xlbiwKCQkJCS5xdWV1ZV9udW0gPSBzcmMucnNzLT5xdWV1ZV9udW0sCgplcnJv cjogcGF0Y2ggZmFpbGVkOiBhcHAvdGVzdC1wbWQvY29uZmlnLmM6MTA4NAplcnJvcjogYXBwL3Rl c3QtcG1kL2NvbmZpZy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkb2Mv Z3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcg Zm9yOgogICArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsKICAgfCBGaWVsZCAgICAgICAgIHwgVmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8CiAgICs9PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09KwogICB8IGBgdHlwZXNgYCAgICAgfCBSU1MgaGFzaCB0eXBlcyAoc2VlIGBgRVRIX1JT U18qYGApIHwKICAgKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rCiAgIHwgYGBrZXlfbGVuYGAgICB8IGhhc2gga2V5IGxlbmd0aCBpbiBieXRlcyAg ICAgICAgICAgfAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0 ZV9mbG93LnJzdDoxMzExCmVycm9yOiBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0 OiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkb2MvZ3VpZGVzL3Rlc3RwbWRf YXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoK LSBgYHJzc2BgOiBzcHJlYWQgcGFja2V0cyBhbW9uZyBzZXZlcmFsIHF1ZXVlcy4KCiAgLSBgYHR5 cGVzIFt7UlNTIGhhc2ggdHlwZX0gWy4uLl1dIGVuZGBgOiBSU1MgaGFzaCB0eXBlcywgYWxsb3dl ZCB0b2tlbnMKICAgIGFyZSB0aGUgc2FtZSBhcyBgc2V0X2hhc2hfaW5wdXRfc2V0YF8sIGFuIGVt cHR5IGxpc3QgbWVhbnMgbm9uZSAoMCkuCgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1aWRl cy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1kX2Z1bmNzLnJzdDozMzk4CmVycm9yOiBkb2MvZ3VpZGVz L3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0OiBwYXRjaCBkb2VzIG5vdCBhcHBseQpD aGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9lMTAwMC9pZ2JfZmxvdy5jLi4uCmVycm9yOiB3aGls ZSBzZWFyY2hpbmcgZm9yOgoJCX0KCX0KCglpZiAocnNzLT5rZXlfbGVuICYmIHJzcy0+a2V5X2xl biAhPSBSVEVfRElNKHJzc19jb25mLT5rZXkpKQoJCXJldHVybiBydGVfZmxvd19lcnJvcl9zZXQK CQkJKGVycm9yLCBFTk9UU1VQLCBSVEVfRkxPV19FUlJPUl9UWVBFX0FDVElPTiwgYWN0LAoKZXJy b3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvZTEwMDAvaWdiX2Zsb3cuYzoxMzEwCmVycm9y OiBkcml2ZXJzL25ldC9lMTAwMC9pZ2JfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVj a2luZyBwYXRjaCBkcml2ZXJzL25ldC9lMTAwMC9pZ2Jfcnh0eC5jLi4uCmVycm9yOiB3aGlsZSBz ZWFyY2hpbmcgZm9yOgoJICAgIGluLT5xdWV1ZV9udW0gPiBSVEVfRElNKG91dC0+cXVldWUpKQoJ CXJldHVybiAtRUlOVkFMOwoJb3V0LT5jb25mID0gKHN0cnVjdCBydGVfZmxvd19hY3Rpb25fcnNz KXsKCQkudHlwZXMgPSBpbi0+dHlwZXMsCgkJLmtleV9sZW4gPSBpbi0+a2V5X2xlbiwKCQkucXVl dWVfbnVtID0gaW4tPnF1ZXVlX251bSwKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0 L2UxMDAwL2lnYl9yeHR4LmM6Mjc2NgplcnJvcjogZHJpdmVycy9uZXQvZTEwMDAvaWdiX3J4dHgu YzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJICAgIGluLT5xdWV1 ZV9udW0gPiBSVEVfRElNKG91dC0+cXVldWUpKQoJCXJldHVybiAtRUlOVkFMOwoJb3V0LT5jb25m ID0gKHN0cnVjdCBydGVfZmxvd19hY3Rpb25fcnNzKXsKCQkudHlwZXMgPSBpbi0+dHlwZXMsCgkJ LmtleV9sZW4gPSBpbi0+a2V5X2xlbiwKCQkucXVldWVfbnVtID0gaW4tPnF1ZXVlX251bSwKCmVy cm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTk2Mgpl cnJvcjogZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBs eQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9pNDBlL2k0MGVfZmxvdy5jLi4uCmVycm9yOiB3 aGlsZSBzZWFyY2hpbmcgZm9yOgoJCX0KCX0KCglpZiAocnNzLT5rZXlfbGVuICYmIHJzcy0+a2V5 X2xlbiA+IFJURV9ESU0ocnNzX2NvbmZpZy0+a2V5KSkKCQlyZXR1cm4gcnRlX2Zsb3dfZXJyb3Jf c2V0CgkJCShlcnJvciwgRU5PVFNVUCwgUlRFX0ZMT1dfRVJST1JfVFlQRV9BQ1RJT04sIGFjdCwK CmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9mbG93LmM6NDMyNApl cnJvcjogZHJpdmVycy9uZXQvaTQwZS9pNDBlX2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkK Q2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZmxvdy5jLi4uCmVycm9yOiB3 aGlsZSBzZWFyY2hpbmcgZm9yOgoJCX0KCX0KCglpZiAocnNzLT5rZXlfbGVuICYmIHJzcy0+a2V5 X2xlbiAhPSBSVEVfRElNKHJzc19jb25mLT5rZXkpKQoJCXJldHVybiBydGVfZmxvd19lcnJvcl9z ZXQKCQkJKGVycm9yLCBFTk9UU1VQLCBSVEVfRkxPV19FUlJPUl9UWVBFX0FDVElPTiwgYWN0LAoK ZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZmxvdy5jOjI3NzkK ZXJyb3I6IGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBw bHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jLi4uCmVycm9y OiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJICAgIGluLT5xdWV1ZV9udW0gPiBSVEVfRElNKG91dC0+ cXVldWUpKQoJCXJldHVybiAtRUlOVkFMOwoJb3V0LT5jb25mID0gKHN0cnVjdCBydGVfZmxvd19h Y3Rpb25fcnNzKXsKCQkudHlwZXMgPSBpbi0+dHlwZXMsCgkJLmtleV9sZW4gPSBpbi0+a2V5X2xl biwKCQkucXVldWVfbnVtID0gaW4tPnF1ZXVlX251bSwKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRy aXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYzo1NTI5CmVycm9yOiBkcml2ZXJzL25ldC9peGdi ZS9peGdiZV9yeHR4LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZl cnMvbmV0L21seDQvbWx4NF9mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJ CQkJIiBvZiB0aGUgY29udGV4dCBzaXplIjsKCQkJCWdvdG8gZXhpdF9hY3Rpb25fbm90X3N1cHBv cnRlZDsKCQkJfQoJCQlydGVfZXJybm8gPSAwOwoJCQlmaWVsZHMgPSBtbHg0X2NvbnZfcnNzX3R5 cGVzKHByaXYsIHJzcy0+dHlwZXMpOwoJCQlpZiAoZmllbGRzID09ICh1aW50NjRfdCktMSAmJiBy dGVfZXJybm8pIHsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L21seDQvbWx4NF9m bG93LmM6NzkwCmVycm9yOiBkcml2ZXJzL25ldC9tbHg0L21seDRfZmxvdy5jOiBwYXRjaCBkb2Vz IG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jLi4u CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgojZW5kaWYKCiNpbmNsdWRlIDxydGVfY29tbW9u Lmg+CiNpbmNsdWRlIDxydGVfZXRoZGV2X2RyaXZlci5oPgojaW5jbHVkZSA8cnRlX2Zsb3cuaD4K I2luY2x1ZGUgPHJ0ZV9mbG93X2RyaXZlci5oPgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVy cy9uZXQvbWx4NS9tbHg1X2Zsb3cuYzoxOAplcnJvcjogZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zs b3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvc2Zj L3NmY19mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJCXJ4cV9od19pbmRl eF9tYXggPSByeHEtPmh3X2luZGV4OwoJfQoKCWlmICgocnNzLT50eXBlcyAmIH5TRkNfUlNTX09G RkxPQURTKSAhPSAwKQoJCXJldHVybiAtRUlOVkFMOwoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRy aXZlcnMvbmV0L3NmYy9zZmNfZmxvdy5jOjEyNjIKZXJyb3I6IGRyaXZlcnMvbmV0L3NmYy9zZmNf Zmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC90 YXAvdGFwX2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCXN0cnVjdCByc3Nf a2V5IHJzc19lbnRyeSA9IHsgLmhhc2hfZmllbGRzID0gMCwKCQkJCSAgICAgLmtleV9zaXplID0g MCB9OwoKCS8qIEdldCBhIG5ldyBtYXAga2V5IGZvciBhIG5ldyBSU1MgcnVsZSAqLwoJZXJyID0g YnBmX3Jzc19rZXkoS0VZX0NNRF9HRVQsICZmbG93LT5rZXlfaWR4KTsKCWlmIChlcnIgPCAwKSB7 CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC90YXAvdGFwX2Zsb3cuYzoyMDU1CmVy cm9yOiBkcml2ZXJzL25ldC90YXAvdGFwX2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hl Y2tpbmcgcGF0Y2ggbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5jLi4uCmVycm9yOiBsaWIvbGli cnRlX2V0aGVyL3J0ZV9mbG93LmM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKQ2hlY2tpbmcg cGF0Y2ggbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5oLi4uCmVycm9yOiBsaWIvbGlicnRlX2V0 aGVyL3J0ZV9mbG93Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKlJlcG86IGRwZGstbmV4 dC1ldmVudGRldgpDaGVja2luZyBwYXRjaCBhcHAvdGVzdC1wbWQvY21kbGluZV9mbG93LmMuLi4K ZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CgojaW5j bHVkZSA8cnRlX2NvbW1vbi5oPgojaW5jbHVkZSA8cnRlX2V0aGRldi5oPgojaW5jbHVkZSA8cnRl X2J5dGVvcmRlci5oPgojaW5jbHVkZSA8Y21kbGluZV9wYXJzZS5oPgoKZXJyb3I6IHBhdGNoIGZh aWxlZDogYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jOjE0CmVycm9yOiBhcHAvdGVzdC1wbWQv Y21kbGluZV9mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGFwcC90 ZXN0LXBtZC9jb25maWcuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQlvZmYgPSAw OwoJCWlmIChkc3QucnNzKQoJCQkqZHN0LnJzcyA9IChzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3Jz cyl7CgkJCQkudHlwZXMgPSBzcmMucnNzLT50eXBlcywKCQkJCS5rZXlfbGVuID0gc3JjLnJzcy0+ a2V5X2xlbiwKCQkJCS5xdWV1ZV9udW0gPSBzcmMucnNzLT5xdWV1ZV9udW0sCgplcnJvcjogcGF0 Y2ggZmFpbGVkOiBhcHAvdGVzdC1wbWQvY29uZmlnLmM6MTA4NAplcnJvcjogYXBwL3Rlc3QtcG1k L2NvbmZpZy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkb2MvZ3VpZGVz L3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgog ICArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK ICAgfCBGaWVsZCAgICAgICAgIHwgVmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 CiAgICs9PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 KwogICB8IGBgdHlwZXNgYCAgICAgfCBSU1MgaGFzaCB0eXBlcyAoc2VlIGBgRVRIX1JTU18qYGAp IHwKICAgKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rCiAgIHwgYGBrZXlfbGVuYGAgICB8IGhhc2gga2V5IGxlbmd0aCBpbiBieXRlcyAgICAgICAg ICAgfAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93 LnJzdDoxMzExCmVycm9yOiBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0OiBwYXRj aCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3Vn L3Rlc3RwbWRfZnVuY3MucnN0Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoKLSBgYHJz c2BgOiBzcHJlYWQgcGFja2V0cyBhbW9uZyBzZXZlcmFsIHF1ZXVlcy4KCiAgLSBgYHR5cGVzIFt7 UlNTIGhhc2ggdHlwZX0gWy4uLl1dIGVuZGBgOiBSU1MgaGFzaCB0eXBlcywgYWxsb3dlZCB0b2tl bnMKICAgIGFyZSB0aGUgc2FtZSBhcyBgc2V0X2hhc2hfaW5wdXRfc2V0YF8sIGFuIGVtcHR5IGxp c3QgbWVhbnMgbm9uZSAoMCkuCgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1aWRlcy90ZXN0 cG1kX2FwcF91Zy90ZXN0cG1kX2Z1bmNzLnJzdDozMzk4CmVycm9yOiBkb2MvZ3VpZGVzL3Rlc3Rw bWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0OiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2lu ZyBwYXRjaCBkcml2ZXJzL25ldC9lMTAwMC9pZ2JfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFy Y2hpbmcgZm9yOgoJCX0KCX0KCglpZiAocnNzLT5rZXlfbGVuICYmIHJzcy0+a2V5X2xlbiAhPSBS VEVfRElNKHJzc19jb25mLT5rZXkpKQoJCXJldHVybiBydGVfZmxvd19lcnJvcl9zZXQKCQkJKGVy cm9yLCBFTk9UU1VQLCBSVEVfRkxPV19FUlJPUl9UWVBFX0FDVElPTiwgYWN0LAoKZXJyb3I6IHBh dGNoIGZhaWxlZDogZHJpdmVycy9uZXQvZTEwMDAvaWdiX2Zsb3cuYzoxMzEwCmVycm9yOiBkcml2 ZXJzL25ldC9lMTAwMC9pZ2JfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBw YXRjaCBkcml2ZXJzL25ldC9lMTAwMC9pZ2Jfcnh0eC5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hp bmcgZm9yOgoJICAgIGluLT5xdWV1ZV9udW0gPiBSVEVfRElNKG91dC0+cXVldWUpKQoJCXJldHVy biAtRUlOVkFMOwoJb3V0LT5jb25mID0gKHN0cnVjdCBydGVfZmxvd19hY3Rpb25fcnNzKXsKCQku dHlwZXMgPSBpbi0+dHlwZXMsCgkJLmtleV9sZW4gPSBpbi0+a2V5X2xlbiwKCQkucXVldWVfbnVt ID0gaW4tPnF1ZXVlX251bSwKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2UxMDAw L2lnYl9yeHR4LmM6Mjc2NgplcnJvcjogZHJpdmVycy9uZXQvZTEwMDAvaWdiX3J4dHguYzogcGF0 Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJICAgIGluLT5xdWV1ZV9udW0g PiBSVEVfRElNKG91dC0+cXVldWUpKQoJCXJldHVybiAtRUlOVkFMOwoJb3V0LT5jb25mID0gKHN0 cnVjdCBydGVfZmxvd19hY3Rpb25fcnNzKXsKCQkudHlwZXMgPSBpbi0+dHlwZXMsCgkJLmtleV9s ZW4gPSBpbi0+a2V5X2xlbiwKCQkucXVldWVfbnVtID0gaW4tPnF1ZXVlX251bSwKCmVycm9yOiBw YXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTk2MgplcnJvcjog ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVj a2luZyBwYXRjaCBkcml2ZXJzL25ldC9pNDBlL2k0MGVfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBz ZWFyY2hpbmcgZm9yOgoJCX0KCX0KCglpZiAocnNzLT5rZXlfbGVuICYmIHJzcy0+a2V5X2xlbiA+ IFJURV9ESU0ocnNzX2NvbmZpZy0+a2V5KSkKCQlyZXR1cm4gcnRlX2Zsb3dfZXJyb3Jfc2V0CgkJ CShlcnJvciwgRU5PVFNVUCwgUlRFX0ZMT1dfRVJST1JfVFlQRV9BQ1RJT04sIGFjdCwKCmVycm9y OiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9mbG93LmM6NDMyNAplcnJvcjog ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBz ZWFyY2hpbmcgZm9yOgoJCX0KCX0KCglpZiAocnNzLT5rZXlfbGVuICYmIHJzcy0+a2V5X2xlbiAh PSBSVEVfRElNKHJzc19jb25mLT5rZXkpKQoJCXJldHVybiBydGVfZmxvd19lcnJvcl9zZXQKCQkJ KGVycm9yLCBFTk9UU1VQLCBSVEVfRkxPV19FUlJPUl9UWVBFX0FDVElPTiwgYWN0LAoKZXJyb3I6 IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZmxvdy5jOjI3NzkKZXJyb3I6 IGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hl Y2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jLi4uCmVycm9yOiB3aGls ZSBzZWFyY2hpbmcgZm9yOgoJICAgIGluLT5xdWV1ZV9udW0gPiBSVEVfRElNKG91dC0+cXVldWUp KQoJCXJldHVybiAtRUlOVkFMOwoJb3V0LT5jb25mID0gKHN0cnVjdCBydGVfZmxvd19hY3Rpb25f cnNzKXsKCQkudHlwZXMgPSBpbi0+dHlwZXMsCgkJLmtleV9sZW4gPSBpbi0+a2V5X2xlbiwKCQku cXVldWVfbnVtID0gaW4tPnF1ZXVlX251bSwKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMv bmV0L2l4Z2JlL2l4Z2JlX3J4dHguYzo1NTI5CmVycm9yOiBkcml2ZXJzL25ldC9peGdiZS9peGdi ZV9yeHR4LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0 L21seDQvbWx4NF9mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJCQkJIiBv ZiB0aGUgY29udGV4dCBzaXplIjsKCQkJCWdvdG8gZXhpdF9hY3Rpb25fbm90X3N1cHBvcnRlZDsK CQkJfQoJCQlydGVfZXJybm8gPSAwOwoJCQlmaWVsZHMgPSBtbHg0X2NvbnZfcnNzX3R5cGVzKHBy aXYsIHJzcy0+dHlwZXMpOwoJCQlpZiAoZmllbGRzID09ICh1aW50NjRfdCktMSAmJiBydGVfZXJy bm8pIHsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L21seDQvbWx4NF9mbG93LmM6 NzkwCmVycm9yOiBkcml2ZXJzL25ldC9tbHg0L21seDRfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBh cHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jLi4uCmVycm9y OiB3aGlsZSBzZWFyY2hpbmcgZm9yOgojZW5kaWYKCiNpbmNsdWRlIDxydGVfY29tbW9uLmg+CiNp bmNsdWRlIDxydGVfZXRoZGV2X2RyaXZlci5oPgojaW5jbHVkZSA8cnRlX2Zsb3cuaD4KI2luY2x1 ZGUgPHJ0ZV9mbG93X2RyaXZlci5oPgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQv bWx4NS9tbHg1X2Zsb3cuYzoxOAplcnJvcjogZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYzog cGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvc2ZjL3NmY19m bG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJCXJ4cV9od19pbmRleF9tYXgg PSByeHEtPmh3X2luZGV4OwoJfQoKCWlmICgocnNzLT50eXBlcyAmIH5TRkNfUlNTX09GRkxPQURT KSAhPSAwKQoJCXJldHVybiAtRUlOVkFMOwoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMv bmV0L3NmYy9zZmNfZmxvdy5jOjEyNjIKZXJyb3I6IGRyaXZlcnMvbmV0L3NmYy9zZmNfZmxvdy5j OiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC90YXAvdGFw X2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCXN0cnVjdCByc3Nfa2V5IHJz c19lbnRyeSA9IHsgLmhhc2hfZmllbGRzID0gMCwKCQkJCSAgICAgLmtleV9zaXplID0gMCB9OwoK CS8qIEdldCBhIG5ldyBtYXAga2V5IGZvciBhIG5ldyBSU1MgcnVsZSAqLwoJZXJyID0gYnBmX3Jz c19rZXkoS0VZX0NNRF9HRVQsICZmbG93LT5rZXlfaWR4KTsKCWlmIChlcnIgPCAwKSB7CgplcnJv cjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC90YXAvdGFwX2Zsb3cuYzoyMDU1CmVycm9yOiBk cml2ZXJzL25ldC90YXAvdGFwX2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcg cGF0Y2ggbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5jLi4uCmVycm9yOiBsaWIvbGlicnRlX2V0 aGVyL3J0ZV9mbG93LmM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKQ2hlY2tpbmcgcGF0Y2gg bGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5oLi4uCmVycm9yOiBsaWIvbGlicnRlX2V0aGVyL3J0 ZV9mbG93Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKlJlcG86IGRwZGstbmV4dC1uZXQK Q2hlY2tpbmcgcGF0Y2ggYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jLi4uCmVycm9yOiB3aGls ZSBzZWFyY2hpbmcgZm9yOgojaW5jbHVkZSA8c3lzL3NvY2tldC5oPgoKI2luY2x1ZGUgPHJ0ZV9j b21tb24uaD4KI2luY2x1ZGUgPHJ0ZV9ldGhkZXYuaD4KI2luY2x1ZGUgPHJ0ZV9ieXRlb3JkZXIu aD4KI2luY2x1ZGUgPGNtZGxpbmVfcGFyc2UuaD4KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGFwcC90 ZXN0LXBtZC9jbWRsaW5lX2Zsb3cuYzoxNAplcnJvcjogYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxv dy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBhcHAvdGVzdC1wbWQvY29u ZmlnLmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJb2ZmID0gMDsKCQlpZiAoZHN0 LnJzcykKCQkJKmRzdC5yc3MgPSAoc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9yc3MpewoJCQkJLnR5 cGVzID0gc3JjLnJzcy0+dHlwZXMsCgkJCQkua2V5X2xlbiA9IHNyYy5yc3MtPmtleV9sZW4sCgkJ CQkucXVldWVfbnVtID0gc3JjLnJzcy0+cXVldWVfbnVtLAoKZXJyb3I6IHBhdGNoIGZhaWxlZDog YXBwL3Rlc3QtcG1kL2NvbmZpZy5jOjEwODQKZXJyb3I6IGFwcC90ZXN0LXBtZC9jb25maWcuYzog cGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZG9jL2d1aWRlcy9wcm9nX2d1aWRl L3J0ZV9mbG93LnJzdC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKICAgKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgIHwgRmllbGQg ICAgICAgICB8IFZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICArPT09PT09 PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKICAgfCBgYHR5 cGVzYGAgICAgIHwgUlNTIGhhc2ggdHlwZXMgKHNlZSBgYEVUSF9SU1NfKmBgKSB8CiAgICstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICB8IGBg a2V5X2xlbmBgICAgfCBoYXNoIGtleSBsZW5ndGggaW4gYnl0ZXMgICAgICAgICAgIHwKCmVycm9y OiBwYXRjaCBmYWlsZWQ6IGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3Q6MTMxMQpl cnJvcjogZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdDogcGF0Y2ggZG9lcyBub3Qg YXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1kX2Z1 bmNzLnJzdC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCi0gYGByc3NgYDogc3ByZWFk IHBhY2tldHMgYW1vbmcgc2V2ZXJhbCBxdWV1ZXMuCgogIC0gYGB0eXBlcyBbe1JTUyBoYXNoIHR5 cGV9IFsuLi5dXSBlbmRgYDogUlNTIGhhc2ggdHlwZXMsIGFsbG93ZWQgdG9rZW5zCiAgICBhcmUg dGhlIHNhbWUgYXMgYHNldF9oYXNoX2lucHV0X3NldGBfLCBhbiBlbXB0eSBsaXN0IG1lYW5zIG5v bmUgKDApLgoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcv dGVzdHBtZF9mdW5jcy5yc3Q6MzM5OAplcnJvcjogZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90 ZXN0cG1kX2Z1bmNzLnJzdDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9uZXQvZTEwMDAvaWdiX2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoK CQl9Cgl9CgoJaWYgKHJzcy0+a2V5X2xlbiAmJiByc3MtPmtleV9sZW4gIT0gUlRFX0RJTShyc3Nf Y29uZi0+a2V5KSkKCQlyZXR1cm4gcnRlX2Zsb3dfZXJyb3Jfc2V0CgkJCShlcnJvciwgRU5PVFNV UCwgUlRFX0ZMT1dfRVJST1JfVFlQRV9BQ1RJT04sIGFjdCwKCmVycm9yOiBwYXRjaCBmYWlsZWQ6 IGRyaXZlcnMvbmV0L2UxMDAwL2lnYl9mbG93LmM6MTMxMAplcnJvcjogZHJpdmVycy9uZXQvZTEw MDAvaWdiX2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVy cy9uZXQvZTEwMDAvaWdiX3J4dHguYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCSAg ICBpbi0+cXVldWVfbnVtID4gUlRFX0RJTShvdXQtPnF1ZXVlKSkKCQlyZXR1cm4gLUVJTlZBTDsK CW91dC0+Y29uZiA9IChzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3Jzcyl7CgkJLnR5cGVzID0gaW4t PnR5cGVzLAoJCS5rZXlfbGVuID0gaW4tPmtleV9sZW4sCgkJLnF1ZXVlX251bSA9IGluLT5xdWV1 ZV9udW0sCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9lMTAwMC9pZ2Jfcnh0eC5j OjI3NjYKZXJyb3I6IGRyaXZlcnMvbmV0L2UxMDAwL2lnYl9yeHR4LmM6IHBhdGNoIGRvZXMgbm90 IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYy4uLgpl cnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCSAgICBpbi0+cXVldWVfbnVtID4gUlRFX0RJTShv dXQtPnF1ZXVlKSkKCQlyZXR1cm4gLUVJTlZBTDsKCW91dC0+Y29uZiA9IChzdHJ1Y3QgcnRlX2Zs b3dfYWN0aW9uX3Jzcyl7CgkJLnR5cGVzID0gaW4tPnR5cGVzLAoJCS5rZXlfbGVuID0gaW4tPmtl eV9sZW4sCgkJLnF1ZXVlX251bSA9IGluLT5xdWV1ZV9udW0sCgplcnJvcjogcGF0Y2ggZmFpbGVk OiBkcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE5NjIKZXJyb3I6IGRyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2gg ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZv cjoKCQl9Cgl9CgoJaWYgKHJzcy0+a2V5X2xlbiAmJiByc3MtPmtleV9sZW4gPiBSVEVfRElNKHJz c19jb25maWctPmtleSkpCgkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldAoJCQkoZXJyb3IsIEVO T1RTVVAsIFJURV9GTE9XX0VSUk9SX1RZUEVfQUNUSU9OLCBhY3QsCgplcnJvcjogcGF0Y2ggZmFp bGVkOiBkcml2ZXJzL25ldC9pNDBlL2k0MGVfZmxvdy5jOjQzMjQKZXJyb3I6IGRyaXZlcnMvbmV0 L2k0MGUvaTQwZV9mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRy aXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZv cjoKCQl9Cgl9CgoJaWYgKHJzcy0+a2V5X2xlbiAmJiByc3MtPmtleV9sZW4gIT0gUlRFX0RJTShy c3NfY29uZi0+a2V5KSkKCQlyZXR1cm4gcnRlX2Zsb3dfZXJyb3Jfc2V0CgkJCShlcnJvciwgRU5P VFNVUCwgUlRFX0ZMT1dfRVJST1JfVFlQRV9BQ1RJT04sIGFjdCwKCmVycm9yOiBwYXRjaCBmYWls ZWQ6IGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2Zsb3cuYzoyNzc5CmVycm9yOiBkcml2ZXJzL25l dC9peGdiZS9peGdiZV9mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5n IGZvcjoKCSAgICBpbi0+cXVldWVfbnVtID4gUlRFX0RJTShvdXQtPnF1ZXVlKSkKCQlyZXR1cm4g LUVJTlZBTDsKCW91dC0+Y29uZiA9IChzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3Jzcyl7CgkJLnR5 cGVzID0gaW4tPnR5cGVzLAoJCS5rZXlfbGVuID0gaW4tPmtleV9sZW4sCgkJLnF1ZXVlX251bSA9 IGluLT5xdWV1ZV9udW0sCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9peGdiZS9p eGdiZV9yeHR4LmM6NTUyOQplcnJvcjogZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jOiBw YXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg0L21seDRf Zmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCQkJCSIgb2YgdGhlIGNvbnRl eHQgc2l6ZSI7CgkJCQlnb3RvIGV4aXRfYWN0aW9uX25vdF9zdXBwb3J0ZWQ7CgkJCX0KCQkJcnRl X2Vycm5vID0gMDsKCQkJZmllbGRzID0gbWx4NF9jb252X3Jzc190eXBlcyhwcml2LCByc3MtPnR5 cGVzKTsKCQkJaWYgKGZpZWxkcyA9PSAodWludDY0X3QpLTEgJiYgcnRlX2Vycm5vKSB7CgplcnJv cjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9tbHg0L21seDRfZmxvdy5jOjc5MAplcnJvcjog ZHJpdmVycy9uZXQvbWx4NC9tbHg0X2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2Vh cmNoaW5nIGZvcjoKI2VuZGlmCgojaW5jbHVkZSA8cnRlX2NvbW1vbi5oPgojaW5jbHVkZSA8cnRl X2V0aGRldl9kcml2ZXIuaD4KI2luY2x1ZGUgPHJ0ZV9mbG93Lmg+CiNpbmNsdWRlIDxydGVfZmxv d19kcml2ZXIuaD4KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9m bG93LmM6MTgKZXJyb3I6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmM6IHBhdGNoIGRvZXMg bm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3NmYy9zZmNfZmxvdy5jLi4uCmVy cm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCQlyeHFfaHdfaW5kZXhfbWF4ID0gcnhxLT5od19p bmRleDsKCX0KCglpZiAoKHJzcy0+dHlwZXMgJiB+U0ZDX1JTU19PRkZMT0FEUykgIT0gMCkKCQly ZXR1cm4gLUVJTlZBTDsKCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9zZmMvc2Zj X2Zsb3cuYzoxMjYyCmVycm9yOiBkcml2ZXJzL25ldC9zZmMvc2ZjX2Zsb3cuYzogcGF0Y2ggZG9l cyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvdGFwL3RhcF9mbG93LmMuLi4K ZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CglzdHJ1Y3QgcnNzX2tleSByc3NfZW50cnkgPSB7 IC5oYXNoX2ZpZWxkcyA9IDAsCgkJCQkgICAgIC5rZXlfc2l6ZSA9IDAgfTsKCgkvKiBHZXQgYSBu ZXcgbWFwIGtleSBmb3IgYSBuZXcgUlNTIHJ1bGUgKi8KCWVyciA9IGJwZl9yc3Nfa2V5KEtFWV9D TURfR0VULCAmZmxvdy0+a2V5X2lkeCk7CglpZiAoZXJyIDwgMCkgewoKZXJyb3I6IHBhdGNoIGZh aWxlZDogZHJpdmVycy9uZXQvdGFwL3RhcF9mbG93LmM6MjA1NQplcnJvcjogZHJpdmVycy9uZXQv dGFwL3RhcF9mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGxpYi9s aWJydGVfZXRoZXIvcnRlX2Zsb3cuYy4uLgplcnJvcjogbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxv dy5jOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CkNoZWNraW5nIHBhdGNoIGxpYi9saWJydGVf ZXRoZXIvcnRlX2Zsb3cuaC4uLgplcnJvcjogbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CipSZXBvOiBkcGRrLW5leHQtY3J5cHRvCkNoZWNraW5n IHBhdGNoIGFwcC90ZXN0LXBtZC9jbWRsaW5lX2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNo aW5nIGZvcjoKI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KCiNpbmNsdWRlIDxydGVfY29tbW9uLmg+ CiNpbmNsdWRlIDxydGVfZXRoZGV2Lmg+CiNpbmNsdWRlIDxydGVfYnl0ZW9yZGVyLmg+CiNpbmNs dWRlIDxjbWRsaW5lX3BhcnNlLmg+CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBhcHAvdGVzdC1wbWQv Y21kbGluZV9mbG93LmM6MTQKZXJyb3I6IGFwcC90ZXN0LXBtZC9jbWRsaW5lX2Zsb3cuYzogcGF0 Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggYXBwL3Rlc3QtcG1kL2NvbmZpZy5jLi4u CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCW9mZiA9IDA7CgkJaWYgKGRzdC5yc3MpCgkJ CSpkc3QucnNzID0gKHN0cnVjdCBydGVfZmxvd19hY3Rpb25fcnNzKXsKCQkJCS50eXBlcyA9IHNy Yy5yc3MtPnR5cGVzLAoJCQkJLmtleV9sZW4gPSBzcmMucnNzLT5rZXlfbGVuLAoJCQkJLnF1ZXVl X251bSA9IHNyYy5yc3MtPnF1ZXVlX251bSwKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGFwcC90ZXN0 LXBtZC9jb25maWcuYzoxMDg0CmVycm9yOiBhcHAvdGVzdC1wbWQvY29uZmlnLmM6IHBhdGNoIGRv ZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxv dy5yc3QuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiAgICstLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICB8IEZpZWxkICAgICAgICAg fCBWYWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgKz09PT09PT09PT09PT09 PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgIHwgYGB0eXBlc2BgICAg ICB8IFJTUyBoYXNoIHR5cGVzIChzZWUgYGBFVEhfUlNTXypgYCkgfAogICArLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgfCBgYGtleV9sZW5g YCAgIHwgaGFzaCBrZXkgbGVuZ3RoIGluIGJ5dGVzICAgICAgICAgICB8CgplcnJvcjogcGF0Y2gg ZmFpbGVkOiBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0OjEzMTEKZXJyb3I6IGRv Yy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3Q6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNo ZWNraW5nIHBhdGNoIGRvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBtZF9mdW5jcy5yc3Qu Li4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgotIGBgcnNzYGA6IHNwcmVhZCBwYWNrZXRz IGFtb25nIHNldmVyYWwgcXVldWVzLgoKICAtIGBgdHlwZXMgW3tSU1MgaGFzaCB0eXBlfSBbLi4u XV0gZW5kYGA6IFJTUyBoYXNoIHR5cGVzLCBhbGxvd2VkIHRva2VucwogICAgYXJlIHRoZSBzYW1l IGFzIGBzZXRfaGFzaF9pbnB1dF9zZXRgXywgYW4gZW1wdHkgbGlzdCBtZWFucyBub25lICgwKS4K CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRf ZnVuY3MucnN0OjMzOTgKZXJyb3I6IGRvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBtZF9m dW5jcy5yc3Q6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0 L2UxMDAwL2lnYl9mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJfQoJfQoK CWlmIChyc3MtPmtleV9sZW4gJiYgcnNzLT5rZXlfbGVuICE9IFJURV9ESU0ocnNzX2NvbmYtPmtl eSkpCgkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldAoJCQkoZXJyb3IsIEVOT1RTVVAsIFJURV9G TE9XX0VSUk9SX1RZUEVfQUNUSU9OLCBhY3QsCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJz L25ldC9lMTAwMC9pZ2JfZmxvdy5jOjEzMTAKZXJyb3I6IGRyaXZlcnMvbmV0L2UxMDAwL2lnYl9m bG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2Ux MDAwL2lnYl9yeHR4LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkgICAgaW4tPnF1 ZXVlX251bSA+IFJURV9ESU0ob3V0LT5xdWV1ZSkpCgkJcmV0dXJuIC1FSU5WQUw7CglvdXQtPmNv bmYgPSAoc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9yc3MpewoJCS50eXBlcyA9IGluLT50eXBlcywK CQkua2V5X2xlbiA9IGluLT5rZXlfbGVuLAoJCS5xdWV1ZV9udW0gPSBpbi0+cXVldWVfbnVtLAoK ZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvZTEwMDAvaWdiX3J4dHguYzoyNzY2CmVy cm9yOiBkcml2ZXJzL25ldC9lMTAwMC9pZ2Jfcnh0eC5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpD aGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMuLi4KZXJyb3I6IHdo aWxlIHNlYXJjaGluZyBmb3I6CgkgICAgaW4tPnF1ZXVlX251bSA+IFJURV9ESU0ob3V0LT5xdWV1 ZSkpCgkJcmV0dXJuIC1FSU5WQUw7CglvdXQtPmNvbmYgPSAoc3RydWN0IHJ0ZV9mbG93X2FjdGlv bl9yc3MpewoJCS50eXBlcyA9IGluLT50eXBlcywKCQkua2V5X2xlbiA9IGluLT5rZXlfbGVuLAoJ CS5xdWV1ZV9udW0gPSBpbi0+cXVldWVfbnVtLAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExOTYyCmVycm9yOiBkcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMv bmV0L2k0MGUvaTQwZV9mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJfQoJ fQoKCWlmIChyc3MtPmtleV9sZW4gJiYgcnNzLT5rZXlfbGVuID4gUlRFX0RJTShyc3NfY29uZmln LT5rZXkpKQoJCXJldHVybiBydGVfZmxvd19lcnJvcl9zZXQKCQkJKGVycm9yLCBFTk9UU1VQLCBS VEVfRkxPV19FUlJPUl9UWVBFX0FDVElPTiwgYWN0LAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJp dmVycy9uZXQvaTQwZS9pNDBlX2Zsb3cuYzo0MzI0CmVycm9yOiBkcml2ZXJzL25ldC9pNDBlL2k0 MGVfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25l dC9peGdiZS9peGdiZV9mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJfQoJ fQoKCWlmIChyc3MtPmtleV9sZW4gJiYgcnNzLT5rZXlfbGVuICE9IFJURV9ESU0ocnNzX2NvbmYt PmtleSkpCgkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldAoJCQkoZXJyb3IsIEVOT1RTVVAsIFJU RV9GTE9XX0VSUk9SX1RZUEVfQUNUSU9OLCBhY3QsCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2 ZXJzL25ldC9peGdiZS9peGdiZV9mbG93LmM6Mjc3OQplcnJvcjogZHJpdmVycy9uZXQvaXhnYmUv aXhnYmVfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJz L25ldC9peGdiZS9peGdiZV9yeHR4LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6Cgkg ICAgaW4tPnF1ZXVlX251bSA+IFJURV9ESU0ob3V0LT5xdWV1ZSkpCgkJcmV0dXJuIC1FSU5WQUw7 CglvdXQtPmNvbmYgPSAoc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9yc3MpewoJCS50eXBlcyA9IGlu LT50eXBlcywKCQkua2V5X2xlbiA9IGluLT5rZXlfbGVuLAoJCS5xdWV1ZV9udW0gPSBpbi0+cXVl dWVfbnVtLAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0 eC5jOjU1MjkKZXJyb3I6IGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYzogcGF0Y2ggZG9l cyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NC9tbHg0X2Zsb3cuYy4u LgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQkJCQkiIG9mIHRoZSBjb250ZXh0IHNpemUi OwoJCQkJZ290byBleGl0X2FjdGlvbl9ub3Rfc3VwcG9ydGVkOwoJCQl9CgkJCXJ0ZV9lcnJubyA9 IDA7CgkJCWZpZWxkcyA9IG1seDRfY29udl9yc3NfdHlwZXMocHJpdiwgcnNzLT50eXBlcyk7CgkJ CWlmIChmaWVsZHMgPT0gKHVpbnQ2NF90KS0xICYmIHJ0ZV9lcnJubykgewoKZXJyb3I6IHBhdGNo IGZhaWxlZDogZHJpdmVycy9uZXQvbWx4NC9tbHg0X2Zsb3cuYzo3OTAKZXJyb3I6IGRyaXZlcnMv bmV0L21seDQvbWx4NF9mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBm b3I6CiNlbmRpZgoKI2luY2x1ZGUgPHJ0ZV9jb21tb24uaD4KI2luY2x1ZGUgPHJ0ZV9ldGhkZXZf ZHJpdmVyLmg+CiNpbmNsdWRlIDxydGVfZmxvdy5oPgojaW5jbHVkZSA8cnRlX2Zsb3dfZHJpdmVy Lmg+CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jOjE4 CmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBs eQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9zZmMvc2ZjX2Zsb3cuYy4uLgplcnJvcjogd2hp bGUgc2VhcmNoaW5nIGZvcjoKCQkJcnhxX2h3X2luZGV4X21heCA9IHJ4cS0+aHdfaW5kZXg7Cgl9 CgoJaWYgKChyc3MtPnR5cGVzICYgflNGQ19SU1NfT0ZGTE9BRFMpICE9IDApCgkJcmV0dXJuIC1F SU5WQUw7CgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvc2ZjL3NmY19mbG93LmM6 MTI2MgplcnJvcjogZHJpdmVycy9uZXQvc2ZjL3NmY19mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFw cGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3RhcC90YXBfZmxvdy5jLi4uCmVycm9yOiB3 aGlsZSBzZWFyY2hpbmcgZm9yOgoJc3RydWN0IHJzc19rZXkgcnNzX2VudHJ5ID0geyAuaGFzaF9m aWVsZHMgPSAwLAoJCQkJICAgICAua2V5X3NpemUgPSAwIH07CgoJLyogR2V0IGEgbmV3IG1hcCBr ZXkgZm9yIGEgbmV3IFJTUyBydWxlICovCgllcnIgPSBicGZfcnNzX2tleShLRVlfQ01EX0dFVCwg JmZsb3ctPmtleV9pZHgpOwoJaWYgKGVyciA8IDApIHsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRy aXZlcnMvbmV0L3RhcC90YXBfZmxvdy5jOjIwNTUKZXJyb3I6IGRyaXZlcnMvbmV0L3RhcC90YXBf Zmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBsaWIvbGlicnRlX2V0 aGVyL3J0ZV9mbG93LmMuLi4KZXJyb3I6IGxpYi9saWJydGVfZXRoZXIvcnRlX2Zsb3cuYzogTm8g c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpDaGVja2luZyBwYXRjaCBsaWIvbGlicnRlX2V0aGVyL3J0 ZV9mbG93LmguLi4KZXJyb3I6IGxpYi9saWJydGVfZXRoZXIvcnRlX2Zsb3cuaDogTm8gc3VjaCBm aWxlIG9yIGRpcmVjdG9yeQoqUmVwbzogZHBkay1uZXh0LXZpcnRpbwpDaGVja2luZyBwYXRjaCBh cHAvdGVzdC1wbWQvY21kbGluZV9mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6 CiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CgojaW5jbHVkZSA8cnRlX2NvbW1vbi5oPgojaW5jbHVk ZSA8cnRlX2V0aGRldi5oPgojaW5jbHVkZSA8cnRlX2J5dGVvcmRlci5oPgojaW5jbHVkZSA8Y21k bGluZV9wYXJzZS5oPgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogYXBwL3Rlc3QtcG1kL2NtZGxpbmVf Zmxvdy5jOjE0CmVycm9yOiBhcHAvdGVzdC1wbWQvY21kbGluZV9mbG93LmM6IHBhdGNoIGRvZXMg bm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGFwcC90ZXN0LXBtZC9jb25maWcuYy4uLgplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKCQlvZmYgPSAwOwoJCWlmIChkc3QucnNzKQoJCQkqZHN0LnJz cyA9IChzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3Jzcyl7CgkJCQkudHlwZXMgPSBzcmMucnNzLT50 eXBlcywKCQkJCS5rZXlfbGVuID0gc3JjLnJzcy0+a2V5X2xlbiwKCQkJCS5xdWV1ZV9udW0gPSBz cmMucnNzLT5xdWV1ZV9udW0sCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBhcHAvdGVzdC1wbWQvY29u ZmlnLmM6MTA4NAplcnJvcjogYXBwL3Rlc3QtcG1kL2NvbmZpZy5jOiBwYXRjaCBkb2VzIG5vdCBh cHBseQpDaGVja2luZyBwYXRjaCBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0Li4u CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgogICArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgfCBGaWVsZCAgICAgICAgIHwgVmFsdWUg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICs9PT09PT09PT09PT09PT0rPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KwogICB8IGBgdHlwZXNgYCAgICAgfCBSU1Mg aGFzaCB0eXBlcyAoc2VlIGBgRVRIX1JTU18qYGApIHwKICAgKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgIHwgYGBrZXlfbGVuYGAgICB8IGhh c2gga2V5IGxlbmd0aCBpbiBieXRlcyAgICAgICAgICAgfAoKZXJyb3I6IHBhdGNoIGZhaWxlZDog ZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdDoxMzExCmVycm9yOiBkb2MvZ3VpZGVz L3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0OiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBw YXRjaCBkb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0Li4uCmVycm9y OiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoKLSBgYHJzc2BgOiBzcHJlYWQgcGFja2V0cyBhbW9uZyBz ZXZlcmFsIHF1ZXVlcy4KCiAgLSBgYHR5cGVzIFt7UlNTIGhhc2ggdHlwZX0gWy4uLl1dIGVuZGBg OiBSU1MgaGFzaCB0eXBlcywgYWxsb3dlZCB0b2tlbnMKICAgIGFyZSB0aGUgc2FtZSBhcyBgc2V0 X2hhc2hfaW5wdXRfc2V0YF8sIGFuIGVtcHR5IGxpc3QgbWVhbnMgbm9uZSAoMCkuCgoKZXJyb3I6 IHBhdGNoIGZhaWxlZDogZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1kX2Z1bmNzLnJz dDozMzk4CmVycm9yOiBkb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0 OiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9lMTAwMC9p Z2JfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCX0KCX0KCglpZiAocnNz LT5rZXlfbGVuICYmIHJzcy0+a2V5X2xlbiAhPSBSVEVfRElNKHJzc19jb25mLT5rZXkpKQoJCXJl dHVybiBydGVfZmxvd19lcnJvcl9zZXQKCQkJKGVycm9yLCBFTk9UU1VQLCBSVEVfRkxPV19FUlJP Ul9UWVBFX0FDVElPTiwgYWN0LAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvZTEw MDAvaWdiX2Zsb3cuYzoxMzEwCmVycm9yOiBkcml2ZXJzL25ldC9lMTAwMC9pZ2JfZmxvdy5jOiBw YXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9lMTAwMC9pZ2Jf cnh0eC5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJICAgIGluLT5xdWV1ZV9udW0g PiBSVEVfRElNKG91dC0+cXVldWUpKQoJCXJldHVybiAtRUlOVkFMOwoJb3V0LT5jb25mID0gKHN0 cnVjdCBydGVfZmxvd19hY3Rpb25fcnNzKXsKCQkudHlwZXMgPSBpbi0+dHlwZXMsCgkJLmtleV9s ZW4gPSBpbi0+a2V5X2xlbiwKCQkucXVldWVfbnVtID0gaW4tPnF1ZXVlX251bSwKCmVycm9yOiBw YXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2UxMDAwL2lnYl9yeHR4LmM6Mjc2NgplcnJvcjogZHJp dmVycy9uZXQvZTEwMDAvaWdiX3J4dHguYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcg cGF0Y2ggZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jLi4uCmVycm9yOiB3aGlsZSBzZWFy Y2hpbmcgZm9yOgoJICAgIGluLT5xdWV1ZV9udW0gPiBSVEVfRElNKG91dC0+cXVldWUpKQoJCXJl dHVybiAtRUlOVkFMOwoJb3V0LT5jb25mID0gKHN0cnVjdCBydGVfZmxvd19hY3Rpb25fcnNzKXsK CQkudHlwZXMgPSBpbi0+dHlwZXMsCgkJLmtleV9sZW4gPSBpbi0+a2V5X2xlbiwKCQkucXVldWVf bnVtID0gaW4tPnF1ZXVlX251bSwKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTk2MgplcnJvcjogZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9pNDBl L2k0MGVfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCX0KCX0KCglpZiAo cnNzLT5rZXlfbGVuICYmIHJzcy0+a2V5X2xlbiA+IFJURV9ESU0ocnNzX2NvbmZpZy0+a2V5KSkK CQlyZXR1cm4gcnRlX2Zsb3dfZXJyb3Jfc2V0CgkJCShlcnJvciwgRU5PVFNVUCwgUlRFX0ZMT1df RVJST1JfVFlQRV9BQ1RJT04sIGFjdCwKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0 L2k0MGUvaTQwZV9mbG93LmM6NDMyNAplcnJvcjogZHJpdmVycy9uZXQvaTQwZS9pNDBlX2Zsb3cu YzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaXhnYmUv aXhnYmVfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCX0KCX0KCglpZiAo cnNzLT5rZXlfbGVuICYmIHJzcy0+a2V5X2xlbiAhPSBSVEVfRElNKHJzc19jb25mLT5rZXkpKQoJ CXJldHVybiBydGVfZmxvd19lcnJvcl9zZXQKCQkJKGVycm9yLCBFTk9UU1VQLCBSVEVfRkxPV19F UlJPUl9UWVBFX0FDVElPTiwgYWN0LAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQv aXhnYmUvaXhnYmVfZmxvdy5jOjI3NzkKZXJyb3I6IGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2Zs b3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaXhn YmUvaXhnYmVfcnh0eC5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJICAgIGluLT5x dWV1ZV9udW0gPiBSVEVfRElNKG91dC0+cXVldWUpKQoJCXJldHVybiAtRUlOVkFMOwoJb3V0LT5j b25mID0gKHN0cnVjdCBydGVfZmxvd19hY3Rpb25fcnNzKXsKCQkudHlwZXMgPSBpbi0+dHlwZXMs CgkJLmtleV9sZW4gPSBpbi0+a2V5X2xlbiwKCQkucXVldWVfbnVtID0gaW4tPnF1ZXVlX251bSwK CmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYzo1NTI5 CmVycm9yOiBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9yeHR4LmM6IHBhdGNoIGRvZXMgbm90IGFw cGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDQvbWx4NF9mbG93LmMuLi4KZXJyb3I6 IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJCQkJIiBvZiB0aGUgY29udGV4dCBzaXplIjsKCQkJCWdv dG8gZXhpdF9hY3Rpb25fbm90X3N1cHBvcnRlZDsKCQkJfQoJCQlydGVfZXJybm8gPSAwOwoJCQlm aWVsZHMgPSBtbHg0X2NvbnZfcnNzX3R5cGVzKHByaXYsIHJzcy0+dHlwZXMpOwoJCQlpZiAoZmll bGRzID09ICh1aW50NjRfdCktMSAmJiBydGVfZXJybm8pIHsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6 IGRyaXZlcnMvbmV0L21seDQvbWx4NF9mbG93LmM6NzkwCmVycm9yOiBkcml2ZXJzL25ldC9tbHg0 L21seDRfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJz L25ldC9tbHg1L21seDVfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgojZW5k aWYKCiNpbmNsdWRlIDxydGVfY29tbW9uLmg+CiNpbmNsdWRlIDxydGVfZXRoZGV2X2RyaXZlci5o PgojaW5jbHVkZSA8cnRlX2Zsb3cuaD4KI2luY2x1ZGUgPHJ0ZV9mbG93X2RyaXZlci5oPgoKZXJy b3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYzoxOAplcnJvcjog ZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9uZXQvc2ZjL3NmY19mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJj aGluZyBmb3I6CgkJCXJ4cV9od19pbmRleF9tYXggPSByeHEtPmh3X2luZGV4OwoJfQoKCWlmICgo cnNzLT50eXBlcyAmIH5TRkNfUlNTX09GRkxPQURTKSAhPSAwKQoJCXJldHVybiAtRUlOVkFMOwoK CmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3NmYy9zZmNfZmxvdy5jOjEyNjIKZXJy b3I6IGRyaXZlcnMvbmV0L3NmYy9zZmNfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVj a2luZyBwYXRjaCBkcml2ZXJzL25ldC90YXAvdGFwX2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2Vh cmNoaW5nIGZvcjoKCXN0cnVjdCByc3Nfa2V5IHJzc19lbnRyeSA9IHsgLmhhc2hfZmllbGRzID0g MCwKCQkJCSAgICAgLmtleV9zaXplID0gMCB9OwoKCS8qIEdldCBhIG5ldyBtYXAga2V5IGZvciBh IG5ldyBSU1MgcnVsZSAqLwoJZXJyID0gYnBmX3Jzc19rZXkoS0VZX0NNRF9HRVQsICZmbG93LT5r ZXlfaWR4KTsKCWlmIChlcnIgPCAwKSB7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25l dC90YXAvdGFwX2Zsb3cuYzoyMDU1CmVycm9yOiBkcml2ZXJzL25ldC90YXAvdGFwX2Zsb3cuYzog cGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggbGliL2xpYnJ0ZV9ldGhlci9ydGVf Zmxvdy5jLi4uCmVycm9yOiBsaWIvbGlicnRlX2V0aGVyL3J0ZV9mbG93LmM6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKQ2hlY2tpbmcgcGF0Y2ggbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5o Li4uCmVycm9yOiBsaWIvbGlicnRlX2V0aGVyL3J0ZV9mbG93Lmg6IE5vIHN1Y2ggZmlsZSBvciBk aXJlY3RvcnkKCkRQREsgU1RWIHRlYW0= --===============4867164690692906089==--