From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 5C1CF5F1D for ; Thu, 5 Jul 2018 10:39:51 +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 fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Jul 2018 01:39:50 -0700 Message-Id: <0590c7$22vh12@orsmga001.jf.intel.com> Date: 05 Jul 2018 01:39:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,311,1526367600"; d="scan'208";a="70239266" Received: from unknown (HELO [127.0.1.1]) ([10.240.176.154]) by orsmga001.jf.intel.com with ESMTP; 05 Jul 2018 01:39:50 -0700 Content-Type: multipart/alternative; boundary="===============5677941978463893268==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org Cc: Subject: [dpdk-test-report] |FAILURE| pw37624[dpdk-dev, v2, 09/14] net/qede/base: refine error handling 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, 05 Jul 2018 08:39:51 -0000 --===============5677941978463893268== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKaHR0cDov L2RwZGsub3JnL3BhdGNoLzM3NjI0CgpfYXBwbHkgaXNzdWVzXwoKU3VibWl0dGVyOiBSYXNlc2gg TW9keSA8cmFzZXNoLm1vZHlAY2F2aXVtLmNvbT4KRGF0ZTogMjAxOC0wNC0wOSAwNDo0ODowNQpE UERLIGdpdCBiYXNlbGluZToKCVJlcG86ZHBkay1tYXN0ZXIsIENvbW1pdElEOiAwNWUwZWVlMDAw MWNiMTk2NzFlYjdlOGQzZGQ2ODY4MGE2OTVmZWEyCglSZXBvOmRwZGstbmV4dC1ldmVudGRldiwg Q29tbWl0SUQ6IGFhOWNiZmM4Y2QxY2FlM2U5MWU0NzQxZWRjMmFhZjNkMDgwNTZhMzkKCVJlcG86 ZHBkay1uZXh0LW5ldCwgQ29tbWl0SUQ6IDBiOGI5MmUzOGNkNTVjNjhlNGRjNDlkZDU5N2Y2MjMy Nzc5OGVjNzQKCVJlcG86ZHBkay1uZXh0LWNyeXB0bywgQ29tbWl0SUQ6IGE1MjAzZTA4YTVlOWI2 ZWU5ZmZiYmY0YzE1MGI3Nzc2ZGU4MzNiMDgKCVJlcG86ZHBkay1uZXh0LXZpcnRpbywgQ29tbWl0 SUQ6IDliOTU0ZjljNDU1YTc2MzA0NjAxZGViODhlMmRmMTU0OWRjOWUwOWEKCipSZXBvOiBkcGRr LW1hc3RlcgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0LmMu Li4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJCQkgcF9tbmdyLT50Ml9udW1fcGFnZXMg KgoJCQkJIHNpemVvZihzdHJ1Y3QgZWNvcmVfZG1hX21lbSkpOwoJaWYgKCFwX21uZ3ItPnQyKSB7 CgkJRFBfTk9USUNFKHBfaHdmbiwgdHJ1ZSwgIkZhaWxlZCB0byBhbGxvY2F0ZSB0MiB0YWJsZVxu Iik7CgkJcmMgPSBFQ09SRV9OT01FTTsKCQlnb3RvIHQyX2ZhaWw7Cgl9CgplcnJvcjogcGF0Y2gg ZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0LmM6ODM0CmVycm9yOiBkcml2 ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNr aW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kY2J4LmMuLi4KZXJyb3I6IHdo aWxlIHNlYXJjaGluZyBmb3I6CglwX2h3Zm4tPnBfZGNieF9pbmZvID0gT1NBTF9aQUxMT0MocF9o d2ZuLT5wX2RldiwgR0ZQX0tFUk5FTCwKCQkJCQkgIHNpemVvZigqcF9od2ZuLT5wX2RjYnhfaW5m bykpOwoJaWYgKCFwX2h3Zm4tPnBfZGNieF9pbmZvKSB7CgkJRFBfTk9USUNFKHBfaHdmbiwgdHJ1 ZSwKCQkJICAiRmFpbGVkIHRvIGFsbG9jYXRlIGBzdHJ1Y3QgZWNvcmVfZGNieF9pbmZvJyIpOwoJ CXJldHVybiBFQ09SRV9OT01FTTsKCX0KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0 L3FlZGUvYmFzZS9lY29yZV9kY2J4LmM6OTEwCmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2Uv ZWNvcmVfZGNieC5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJz L25ldC9xZWRlL2Jhc2UvZWNvcmVfZGV2LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6 CiAqIHRoZXJlJ3MgbW9yZSB0aGFuIGEgc2luZ2xlIGNvbXBpbGVkIGVjb3JlIGNvbXBvbmVudCBp biBzeXN0ZW1dLgogKi8Kc3RhdGljIG9zYWxfc3BpbmxvY2tfdCBxbV9sb2NrOwpzdGF0aWMgYm9v bCBxbV9sb2NrX2luaXQ7CgovKioqKioqKioqKioqKioqKioqKiogRG9vcmJlbGwgUmVjb3Zlcnkg KioqKioqKioqKioqKioqKioqKi8KLyogVGhlIGRvb3JiZWxsIHJlY292ZXJ5IG1lY2hhbmlzbSBj b25zaXN0cyBvZiBhIGxpc3Qgb2YgZW50cmllcyB3aGljaCByZXByZXNlbnQKCmVycm9yOiBwYXRj aCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kZXYuYzozOQplcnJvcjogZHJp dmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2Rldi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVj a2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfZGV2X2FwaS5oLi4uCmVycm9y OiB3aGlsZSBzZWFyY2hpbmcgZm9yOgogKgogKiBAcGFyYW0gcF9kZXYKICovCnZvaWQgZWNvcmVf aW5pdF9zdHJ1Y3Qoc3RydWN0IGVjb3JlX2RldiAqcF9kZXYpOwoKLyoqCiAqIEBicmllZiBlY29y ZV9yZXNjX2ZyZWUgLQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNl L2Vjb3JlX2Rldl9hcGkuaDozMgplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2Rl dl9hcGkuaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQv cWVkZS9iYXNlL2Vjb3JlX2h3LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CglzdHJ1 Y3QgZWNvcmVfcHR0IHB0dHNbUFhQX0VYVEVSTkFMX0JBUl9QRl9XSU5ET1dfTlVNXTsKfTsKCmVu dW0gX2Vjb3JlX3N0YXR1c190IGVjb3JlX3B0dF9wb29sX2FsbG9jKHN0cnVjdCBlY29yZV9od2Zu ICpwX2h3Zm4pCnsKCXN0cnVjdCBlY29yZV9wdHRfcG9vbCAqcF9wb29sID0gT1NBTF9BTExPQyhw X2h3Zm4tPnBfZGV2LAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNl L2Vjb3JlX2h3LmM6MzgKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9ody5jOiBw YXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2Uv ZWNvcmVfaW50LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkvKiBTQiBzdHJ1Y3Qg Ki8KCXBfc2IgPSBPU0FMX0FMTE9DKHBfZGV2LCBHRlBfS0VSTkVMLCBzaXplb2YoKnBfc2IpKTsK CWlmICghcF9zYikgewoJCURQX05PVElDRShwX2RldiwgdHJ1ZSwKCQkJICAiRmFpbGVkIHRvIGFs bG9jYXRlIGBzdHJ1Y3QgZWNvcmVfc2JfYXR0bl9pbmZvJ1xuIik7CgkJcmV0dXJuIEVDT1JFX05P TUVNOwoJfQoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29y ZV9pbnQuYzoxNDA2CmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaW50LmM6IHBh dGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9l Y29yZV9sMi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJfQoKI2lmZGVmIENPTkZJ R19FQ09SRV9MT0NLX0FMTE9DCglPU0FMX01VVEVYX0FMTE9DKHBfaHdmbiwgJnBfbDJfaW5mby0+ bG9jayk7CiNlbmRpZgoKCXJldHVybiBFQ09SRV9TVUNDRVNTOwoKZXJyb3I6IHBhdGNoIGZhaWxl ZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2wyLmM6NzcKZXJyb3I6IGRyaXZlcnMvbmV0 L3FlZGUvYmFzZS9lY29yZV9sMi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRj aCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfbWNwLmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJj aGluZyBmb3I6CgoJLyogQWxsb2NhdGUgbWNwX2luZm8gc3RydWN0dXJlICovCglwX2h3Zm4tPm1j cF9pbmZvID0gT1NBTF9aQUxMT0MocF9od2ZuLT5wX2RldiwgR0ZQX0tFUk5FTCwKCQkJCSAgICAg ICBzaXplb2YoKnBfaHdmbi0+bWNwX2luZm8pKTsKCWlmICghcF9od2ZuLT5tY3BfaW5mbykKLS0K CU9TQUxfU1BJTl9MT0NLX0FMTE9DKHBfaHdmbiwgJnBfaW5mby0+bGlua19sb2NrKTsKI2VuZGlm CglPU0FMX1NQSU5fTE9DS19JTklUKCZwX2luZm8tPmNtZF9sb2NrKTsKCU9TQUxfU1BJTl9MT0NL X0lOSVQoJnBfaW5mby0+bGlua19sb2NrKTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMv bmV0L3FlZGUvYmFzZS9lY29yZV9tY3AuYzoyNDAKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFz ZS9lY29yZV9tY3AuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVy cy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3NwcS5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9y OgoJLyogQWxsb2NhdGUgRVEgc3RydWN0ICovCglwX2VxID0gT1NBTF9aQUxMT0MocF9od2ZuLT5w X2RldiwgR0ZQX0tFUk5FTCwgc2l6ZW9mKCpwX2VxKSk7CglpZiAoIXBfZXEpIHsKCQlEUF9OT1RJ Q0UocF9od2ZuLCB0cnVlLAoJCQkgICJGYWlsZWQgdG8gYWxsb2NhdGUgYHN0cnVjdCBlY29yZV9l cSdcbiIpOwoJCXJldHVybiBFQ09SRV9OT01FTTsKCX0KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRy aXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9zcHEuYzo0MDEKZXJyb3I6IGRyaXZlcnMvbmV0L3Fl ZGUvYmFzZS9lY29yZV9zcHEuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2gg ZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3NyaW92LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJj aGluZyBmb3I6CgoJcF9zcmlvdiA9IE9TQUxfWkFMTE9DKHBfaHdmbi0+cF9kZXYsIEdGUF9LRVJO RUwsIHNpemVvZigqcF9zcmlvdikpOwoJaWYgKCFwX3NyaW92KSB7CgkJRFBfTk9USUNFKHBfaHdm biwgdHJ1ZSwKCQkJICAiRmFpbGVkIHRvIGFsbG9jYXRlIGBzdHJ1Y3QgZWNvcmVfc3Jpb3YnXG4i KTsKCQlyZXR1cm4gRUNPUkVfTk9NRU07Cgl9CgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVy cy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3NyaW92LmM6NTkwCmVycm9yOiBkcml2ZXJzL25ldC9xZWRl L2Jhc2UvZWNvcmVfc3Jpb3YuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKKlJlcG86IGRwZGstbmV4 dC1ldmVudGRldgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0 LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJCQkgcF9tbmdyLT50Ml9udW1fcGFn ZXMgKgoJCQkJIHNpemVvZihzdHJ1Y3QgZWNvcmVfZG1hX21lbSkpOwoJaWYgKCFwX21uZ3ItPnQy KSB7CgkJRFBfTk9USUNFKHBfaHdmbiwgdHJ1ZSwgIkZhaWxlZCB0byBhbGxvY2F0ZSB0MiB0YWJs ZVxuIik7CgkJcmMgPSBFQ09SRV9OT01FTTsKCQlnb3RvIHQyX2ZhaWw7Cgl9CgplcnJvcjogcGF0 Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0LmM6ODM0CmVycm9yOiBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNo ZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kY2J4LmMuLi4KZXJyb3I6 IHdoaWxlIHNlYXJjaGluZyBmb3I6CglwX2h3Zm4tPnBfZGNieF9pbmZvID0gT1NBTF9aQUxMT0Mo cF9od2ZuLT5wX2RldiwgR0ZQX0tFUk5FTCwKCQkJCQkgIHNpemVvZigqcF9od2ZuLT5wX2RjYnhf aW5mbykpOwoJaWYgKCFwX2h3Zm4tPnBfZGNieF9pbmZvKSB7CgkJRFBfTk9USUNFKHBfaHdmbiwg dHJ1ZSwKCQkJICAiRmFpbGVkIHRvIGFsbG9jYXRlIGBzdHJ1Y3QgZWNvcmVfZGNieF9pbmZvJyIp OwoJCXJldHVybiBFQ09SRV9OT01FTTsKCX0KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMv bmV0L3FlZGUvYmFzZS9lY29yZV9kY2J4LmM6OTEwCmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jh c2UvZWNvcmVfZGNieC5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2 ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfZGV2LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBm b3I6CiAqIHRoZXJlJ3MgbW9yZSB0aGFuIGEgc2luZ2xlIGNvbXBpbGVkIGVjb3JlIGNvbXBvbmVu dCBpbiBzeXN0ZW1dLgogKi8Kc3RhdGljIG9zYWxfc3BpbmxvY2tfdCBxbV9sb2NrOwpzdGF0aWMg Ym9vbCBxbV9sb2NrX2luaXQ7CgovKioqKioqKioqKioqKioqKioqKiogRG9vcmJlbGwgUmVjb3Zl cnkgKioqKioqKioqKioqKioqKioqKi8KLyogVGhlIGRvb3JiZWxsIHJlY292ZXJ5IG1lY2hhbmlz bSBjb25zaXN0cyBvZiBhIGxpc3Qgb2YgZW50cmllcyB3aGljaCByZXByZXNlbnQKCmVycm9yOiBw YXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kZXYuYzozOQplcnJvcjog ZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2Rldi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpD aGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfZGV2X2FwaS5oLi4uCmVy cm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgogKgogKiBAcGFyYW0gcF9kZXYKICovCnZvaWQgZWNv cmVfaW5pdF9zdHJ1Y3Qoc3RydWN0IGVjb3JlX2RldiAqcF9kZXYpOwoKLyoqCiAqIEBicmllZiBl Y29yZV9yZXNjX2ZyZWUgLQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9i YXNlL2Vjb3JlX2Rldl9hcGkuaDozMgplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3Jl X2Rldl9hcGkuaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9u ZXQvcWVkZS9iYXNlL2Vjb3JlX2h3LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6Cglz dHJ1Y3QgZWNvcmVfcHR0IHB0dHNbUFhQX0VYVEVSTkFMX0JBUl9QRl9XSU5ET1dfTlVNXTsKfTsK CmVudW0gX2Vjb3JlX3N0YXR1c190IGVjb3JlX3B0dF9wb29sX2FsbG9jKHN0cnVjdCBlY29yZV9o d2ZuICpwX2h3Zm4pCnsKCXN0cnVjdCBlY29yZV9wdHRfcG9vbCAqcF9wb29sID0gT1NBTF9BTExP QyhwX2h3Zm4tPnBfZGV2LAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9i YXNlL2Vjb3JlX2h3LmM6MzgKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9ody5j OiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jh c2UvZWNvcmVfaW50LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkvKiBTQiBzdHJ1 Y3QgKi8KCXBfc2IgPSBPU0FMX0FMTE9DKHBfZGV2LCBHRlBfS0VSTkVMLCBzaXplb2YoKnBfc2Ip KTsKCWlmICghcF9zYikgewoJCURQX05PVElDRShwX2RldiwgdHJ1ZSwKCQkJICAiRmFpbGVkIHRv IGFsbG9jYXRlIGBzdHJ1Y3QgZWNvcmVfc2JfYXR0bl9pbmZvJ1xuIik7CgkJcmV0dXJuIEVDT1JF X05PTUVNOwoJfQoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9l Y29yZV9pbnQuYzoxNDA2CmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaW50LmM6 IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFz ZS9lY29yZV9sMi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJfQoKI2lmZGVmIENP TkZJR19FQ09SRV9MT0NLX0FMTE9DCglPU0FMX01VVEVYX0FMTE9DKHBfaHdmbiwgJnBfbDJfaW5m by0+bG9jayk7CiNlbmRpZgoKCXJldHVybiBFQ09SRV9TVUNDRVNTOwoKZXJyb3I6IHBhdGNoIGZh aWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2wyLmM6NzcKZXJyb3I6IGRyaXZlcnMv bmV0L3FlZGUvYmFzZS9lY29yZV9sMi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBw YXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfbWNwLmMuLi4KZXJyb3I6IHdoaWxlIHNl YXJjaGluZyBmb3I6CgoJLyogQWxsb2NhdGUgbWNwX2luZm8gc3RydWN0dXJlICovCglwX2h3Zm4t Pm1jcF9pbmZvID0gT1NBTF9aQUxMT0MocF9od2ZuLT5wX2RldiwgR0ZQX0tFUk5FTCwKCQkJCSAg ICAgICBzaXplb2YoKnBfaHdmbi0+bWNwX2luZm8pKTsKCWlmICghcF9od2ZuLT5tY3BfaW5mbykK LS0KCU9TQUxfU1BJTl9MT0NLX0FMTE9DKHBfaHdmbiwgJnBfaW5mby0+bGlua19sb2NrKTsKI2Vu ZGlmCglPU0FMX1NQSU5fTE9DS19JTklUKCZwX2luZm8tPmNtZF9sb2NrKTsKCU9TQUxfU1BJTl9M T0NLX0lOSVQoJnBfaW5mby0+bGlua19sb2NrKTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZl cnMvbmV0L3FlZGUvYmFzZS9lY29yZV9tY3AuYzoyNDAKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUv YmFzZS9lY29yZV9tY3AuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3NwcS5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcg Zm9yOgoJLyogQWxsb2NhdGUgRVEgc3RydWN0ICovCglwX2VxID0gT1NBTF9aQUxMT0MocF9od2Zu LT5wX2RldiwgR0ZQX0tFUk5FTCwgc2l6ZW9mKCpwX2VxKSk7CglpZiAoIXBfZXEpIHsKCQlEUF9O T1RJQ0UocF9od2ZuLCB0cnVlLAoJCQkgICJGYWlsZWQgdG8gYWxsb2NhdGUgYHN0cnVjdCBlY29y ZV9lcSdcbiIpOwoJCXJldHVybiBFQ09SRV9OT01FTTsKCX0KCmVycm9yOiBwYXRjaCBmYWlsZWQ6 IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9zcHEuYzo0MDEKZXJyb3I6IGRyaXZlcnMvbmV0 L3FlZGUvYmFzZS9lY29yZV9zcHEuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0 Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3NyaW92LmMuLi4KZXJyb3I6IHdoaWxlIHNl YXJjaGluZyBmb3I6CgoJcF9zcmlvdiA9IE9TQUxfWkFMTE9DKHBfaHdmbi0+cF9kZXYsIEdGUF9L RVJORUwsIHNpemVvZigqcF9zcmlvdikpOwoJaWYgKCFwX3NyaW92KSB7CgkJRFBfTk9USUNFKHBf aHdmbiwgdHJ1ZSwKCQkJICAiRmFpbGVkIHRvIGFsbG9jYXRlIGBzdHJ1Y3QgZWNvcmVfc3Jpb3Yn XG4iKTsKCQlyZXR1cm4gRUNPUkVfTk9NRU07Cgl9CgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJp dmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3NyaW92LmM6NTkwCmVycm9yOiBkcml2ZXJzL25ldC9x ZWRlL2Jhc2UvZWNvcmVfc3Jpb3YuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKKlJlcG86IGRwZGst bmV4dC1uZXQKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2N4dC5j Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCQkJIHBfbW5nci0+dDJfbnVtX3BhZ2Vz ICoKCQkJCSBzaXplb2Yoc3RydWN0IGVjb3JlX2RtYV9tZW0pKTsKCWlmICghcF9tbmdyLT50Mikg ewoJCURQX05PVElDRShwX2h3Zm4sIHRydWUsICJGYWlsZWQgdG8gYWxsb2NhdGUgdDIgdGFibGVc biIpOwoJCXJjID0gRUNPUkVfTk9NRU07CgkJZ290byB0Ml9mYWlsOwoJfQoKZXJyb3I6IHBhdGNo IGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2N4dC5jOjgzNAplcnJvcjogZHJp dmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2N4dC5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVj a2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfZGNieC5jLi4uCmVycm9yOiB3 aGlsZSBzZWFyY2hpbmcgZm9yOgoJcF9od2ZuLT5wX2RjYnhfaW5mbyA9IE9TQUxfWkFMTE9DKHBf aHdmbi0+cF9kZXYsIEdGUF9LRVJORUwsCgkJCQkJICBzaXplb2YoKnBfaHdmbi0+cF9kY2J4X2lu Zm8pKTsKCWlmICghcF9od2ZuLT5wX2RjYnhfaW5mbykgewoJCURQX05PVElDRShwX2h3Zm4sIHRy dWUsCgkJCSAgIkZhaWxlZCB0byBhbGxvY2F0ZSBgc3RydWN0IGVjb3JlX2RjYnhfaW5mbyciKTsK CQlyZXR1cm4gRUNPUkVfTk9NRU07Cgl9CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25l dC9xZWRlL2Jhc2UvZWNvcmVfZGNieC5jOjkxMAplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNl L2Vjb3JlX2RjYnguYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVy cy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2Rldi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9y OgogKiB0aGVyZSdzIG1vcmUgdGhhbiBhIHNpbmdsZSBjb21waWxlZCBlY29yZSBjb21wb25lbnQg aW4gc3lzdGVtXS4KICovCnN0YXRpYyBvc2FsX3NwaW5sb2NrX3QgcW1fbG9jazsKc3RhdGljIGJv b2wgcW1fbG9ja19pbml0OwoKLyoqKioqKioqKioqKioqKioqKioqIERvb3JiZWxsIFJlY292ZXJ5 ICoqKioqKioqKioqKioqKioqKiovCi8qIFRoZSBkb29yYmVsbCByZWNvdmVyeSBtZWNoYW5pc20g Y29uc2lzdHMgb2YgYSBsaXN0IG9mIGVudHJpZXMgd2hpY2ggcmVwcmVzZW50CgplcnJvcjogcGF0 Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfZGV2LmM6MzkKZXJyb3I6IGRy aXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kZXYuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hl Y2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2Rldl9hcGkuaC4uLgplcnJv cjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKICoKICogQHBhcmFtIHBfZGV2CiAqLwp2b2lkIGVjb3Jl X2luaXRfc3RydWN0KHN0cnVjdCBlY29yZV9kZXYgKnBfZGV2KTsKCi8qKgogKiBAYnJpZWYgZWNv cmVfcmVzY19mcmVlIC0KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFz ZS9lY29yZV9kZXZfYXBpLmg6MzIKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9k ZXZfYXBpLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0 L3FlZGUvYmFzZS9lY29yZV9ody5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJc3Ry dWN0IGVjb3JlX3B0dCBwdHRzW1BYUF9FWFRFUk5BTF9CQVJfUEZfV0lORE9XX05VTV07Cn07Cgpl bnVtIF9lY29yZV9zdGF0dXNfdCBlY29yZV9wdHRfcG9vbF9hbGxvYyhzdHJ1Y3QgZWNvcmVfaHdm biAqcF9od2ZuKQp7CglzdHJ1Y3QgZWNvcmVfcHR0X3Bvb2wgKnBfcG9vbCA9IE9TQUxfQUxMT0Mo cF9od2ZuLT5wX2RldiwKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFz ZS9lY29yZV9ody5jOjM4CmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaHcuYzog cGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNl L2Vjb3JlX2ludC5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJLyogU0Igc3RydWN0 ICovCglwX3NiID0gT1NBTF9BTExPQyhwX2RldiwgR0ZQX0tFUk5FTCwgc2l6ZW9mKCpwX3NiKSk7 CglpZiAoIXBfc2IpIHsKCQlEUF9OT1RJQ0UocF9kZXYsIHRydWUsCgkJCSAgIkZhaWxlZCB0byBh bGxvY2F0ZSBgc3RydWN0IGVjb3JlX3NiX2F0dG5faW5mbydcbiIpOwoJCXJldHVybiBFQ09SRV9O T01FTTsKCX0KCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNv cmVfaW50LmM6MTQwNgplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2ludC5jOiBw YXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2Uv ZWNvcmVfbDIuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCX0KCiNpZmRlZiBDT05G SUdfRUNPUkVfTE9DS19BTExPQwoJT1NBTF9NVVRFWF9BTExPQyhwX2h3Zm4sICZwX2wyX2luZm8t PmxvY2spOwojZW5kaWYKCglyZXR1cm4gRUNPUkVfU1VDQ0VTUzsKCmVycm9yOiBwYXRjaCBmYWls ZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9sMi5jOjc3CmVycm9yOiBkcml2ZXJzL25l dC9xZWRlL2Jhc2UvZWNvcmVfbDIuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0 Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX21jcC5jLi4uCmVycm9yOiB3aGlsZSBzZWFy Y2hpbmcgZm9yOgoKCS8qIEFsbG9jYXRlIG1jcF9pbmZvIHN0cnVjdHVyZSAqLwoJcF9od2ZuLT5t Y3BfaW5mbyA9IE9TQUxfWkFMTE9DKHBfaHdmbi0+cF9kZXYsIEdGUF9LRVJORUwsCgkJCQkgICAg ICAgc2l6ZW9mKCpwX2h3Zm4tPm1jcF9pbmZvKSk7CglpZiAoIXBfaHdmbi0+bWNwX2luZm8pCi0t CglPU0FMX1NQSU5fTE9DS19BTExPQyhwX2h3Zm4sICZwX2luZm8tPmxpbmtfbG9jayk7CiNlbmRp ZgoJT1NBTF9TUElOX0xPQ0tfSU5JVCgmcF9pbmZvLT5jbWRfbG9jayk7CglPU0FMX1NQSU5fTE9D S19JTklUKCZwX2luZm8tPmxpbmtfbG9jayk7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJz L25ldC9xZWRlL2Jhc2UvZWNvcmVfbWNwLmM6MjQwCmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jh c2UvZWNvcmVfbWNwLmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZl cnMvbmV0L3FlZGUvYmFzZS9lY29yZV9zcHEuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZv cjoKCS8qIEFsbG9jYXRlIEVRIHN0cnVjdCAqLwoJcF9lcSA9IE9TQUxfWkFMTE9DKHBfaHdmbi0+ cF9kZXYsIEdGUF9LRVJORUwsIHNpemVvZigqcF9lcSkpOwoJaWYgKCFwX2VxKSB7CgkJRFBfTk9U SUNFKHBfaHdmbiwgdHJ1ZSwKCQkJICAiRmFpbGVkIHRvIGFsbG9jYXRlIGBzdHJ1Y3QgZWNvcmVf ZXEnXG4iKTsKCQlyZXR1cm4gRUNPUkVfTk9NRU07Cgl9CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfc3BxLmM6NDAxCmVycm9yOiBkcml2ZXJzL25ldC9x ZWRlL2Jhc2UvZWNvcmVfc3BxLmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9zcmlvdi5jLi4uCmVycm9yOiB3aGlsZSBzZWFy Y2hpbmcgZm9yOgoKCXBfc3Jpb3YgPSBPU0FMX1pBTExPQyhwX2h3Zm4tPnBfZGV2LCBHRlBfS0VS TkVMLCBzaXplb2YoKnBfc3Jpb3YpKTsKCWlmICghcF9zcmlvdikgewoJCURQX05PVElDRShwX2h3 Zm4sIHRydWUsCgkJCSAgIkZhaWxlZCB0byBhbGxvY2F0ZSBgc3RydWN0IGVjb3JlX3NyaW92J1xu Iik7CgkJcmV0dXJuIEVDT1JFX05PTUVNOwoJfQoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZl cnMvbmV0L3FlZGUvYmFzZS9lY29yZV9zcmlvdi5jOjU5MAplcnJvcjogZHJpdmVycy9uZXQvcWVk ZS9iYXNlL2Vjb3JlX3NyaW92LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CipSZXBvOiBkcGRrLW5l eHQtY3J5cHRvCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9jeHQu Yy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQkJCSBwX21uZ3ItPnQyX251bV9wYWdl cyAqCgkJCQkgc2l6ZW9mKHN0cnVjdCBlY29yZV9kbWFfbWVtKSk7CglpZiAoIXBfbW5nci0+dDIp IHsKCQlEUF9OT1RJQ0UocF9od2ZuLCB0cnVlLCAiRmFpbGVkIHRvIGFsbG9jYXRlIHQyIHRhYmxl XG4iKTsKCQlyYyA9IEVDT1JFX05PTUVNOwoJCWdvdG8gdDJfZmFpbDsKCX0KCmVycm9yOiBwYXRj aCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9jeHQuYzo4MzQKZXJyb3I6IGRy aXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9jeHQuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hl Y2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2RjYnguYy4uLgplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKCXBfaHdmbi0+cF9kY2J4X2luZm8gPSBPU0FMX1pBTExPQyhw X2h3Zm4tPnBfZGV2LCBHRlBfS0VSTkVMLAoJCQkJCSAgc2l6ZW9mKCpwX2h3Zm4tPnBfZGNieF9p bmZvKSk7CglpZiAoIXBfaHdmbi0+cF9kY2J4X2luZm8pIHsKCQlEUF9OT1RJQ0UocF9od2ZuLCB0 cnVlLAoJCQkgICJGYWlsZWQgdG8gYWxsb2NhdGUgYHN0cnVjdCBlY29yZV9kY2J4X2luZm8nIik7 CgkJcmV0dXJuIEVDT1JFX05PTUVNOwoJfQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9u ZXQvcWVkZS9iYXNlL2Vjb3JlX2RjYnguYzo5MTAKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFz ZS9lY29yZV9kY2J4LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZl cnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kZXYuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZv cjoKICogdGhlcmUncyBtb3JlIHRoYW4gYSBzaW5nbGUgY29tcGlsZWQgZWNvcmUgY29tcG9uZW50 IGluIHN5c3RlbV0uCiAqLwpzdGF0aWMgb3NhbF9zcGlubG9ja190IHFtX2xvY2s7CnN0YXRpYyBi b29sIHFtX2xvY2tfaW5pdDsKCi8qKioqKioqKioqKioqKioqKioqKiBEb29yYmVsbCBSZWNvdmVy eSAqKioqKioqKioqKioqKioqKioqLwovKiBUaGUgZG9vcmJlbGwgcmVjb3ZlcnkgbWVjaGFuaXNt IGNvbnNpc3RzIG9mIGEgbGlzdCBvZiBlbnRyaWVzIHdoaWNoIHJlcHJlc2VudAoKZXJyb3I6IHBh dGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2Rldi5jOjM5CmVycm9yOiBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfZGV2LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNo ZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kZXZfYXBpLmguLi4KZXJy b3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiAqCiAqIEBwYXJhbSBwX2RldgogKi8Kdm9pZCBlY29y ZV9pbml0X3N0cnVjdChzdHJ1Y3QgZWNvcmVfZGV2ICpwX2Rldik7CgovKioKICogQGJyaWVmIGVj b3JlX3Jlc2NfZnJlZSAtCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jh c2UvZWNvcmVfZGV2X2FwaS5oOjMyCmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVf ZGV2X2FwaS5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25l dC9xZWRlL2Jhc2UvZWNvcmVfaHcuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCXN0 cnVjdCBlY29yZV9wdHQgcHR0c1tQWFBfRVhURVJOQUxfQkFSX1BGX1dJTkRPV19OVU1dOwp9OwoK ZW51bSBfZWNvcmVfc3RhdHVzX3QgZWNvcmVfcHR0X3Bvb2xfYWxsb2Moc3RydWN0IGVjb3JlX2h3 Zm4gKnBfaHdmbikKewoJc3RydWN0IGVjb3JlX3B0dF9wb29sICpwX3Bvb2wgPSBPU0FMX0FMTE9D KHBfaHdmbi0+cF9kZXYsCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jh c2UvZWNvcmVfaHcuYzozOAplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2h3LmM6 IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFz ZS9lY29yZV9pbnQuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCS8qIFNCIHN0cnVj dCAqLwoJcF9zYiA9IE9TQUxfQUxMT0MocF9kZXYsIEdGUF9LRVJORUwsIHNpemVvZigqcF9zYikp OwoJaWYgKCFwX3NiKSB7CgkJRFBfTk9USUNFKHBfZGV2LCB0cnVlLAoJCQkgICJGYWlsZWQgdG8g YWxsb2NhdGUgYHN0cnVjdCBlY29yZV9zYl9hdHRuX2luZm8nXG4iKTsKCQlyZXR1cm4gRUNPUkVf Tk9NRU07Cgl9CgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vj b3JlX2ludC5jOjE0MDYKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9pbnQuYzog cGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNl L2Vjb3JlX2wyLmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6Cgl9CgojaWZkZWYgQ09O RklHX0VDT1JFX0xPQ0tfQUxMT0MKCU9TQUxfTVVURVhfQUxMT0MocF9od2ZuLCAmcF9sMl9pbmZv LT5sb2NrKTsKI2VuZGlmCgoJcmV0dXJuIEVDT1JFX1NVQ0NFU1M7CgplcnJvcjogcGF0Y2ggZmFp bGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfbDIuYzo3NwplcnJvcjogZHJpdmVycy9u ZXQvcWVkZS9iYXNlL2Vjb3JlX2wyLmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBh dGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9tY3AuYy4uLgplcnJvcjogd2hpbGUgc2Vh cmNoaW5nIGZvcjoKCgkvKiBBbGxvY2F0ZSBtY3BfaW5mbyBzdHJ1Y3R1cmUgKi8KCXBfaHdmbi0+ bWNwX2luZm8gPSBPU0FMX1pBTExPQyhwX2h3Zm4tPnBfZGV2LCBHRlBfS0VSTkVMLAoJCQkJICAg ICAgIHNpemVvZigqcF9od2ZuLT5tY3BfaW5mbykpOwoJaWYgKCFwX2h3Zm4tPm1jcF9pbmZvKQot LQoJT1NBTF9TUElOX0xPQ0tfQUxMT0MocF9od2ZuLCAmcF9pbmZvLT5saW5rX2xvY2spOwojZW5k aWYKCU9TQUxfU1BJTl9MT0NLX0lOSVQoJnBfaW5mby0+Y21kX2xvY2spOwoJT1NBTF9TUElOX0xP Q0tfSU5JVCgmcF9pbmZvLT5saW5rX2xvY2spOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVy cy9uZXQvcWVkZS9iYXNlL2Vjb3JlX21jcC5jOjI0MAplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9i YXNlL2Vjb3JlX21jcC5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2 ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfc3BxLmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBm b3I6CgkvKiBBbGxvY2F0ZSBFUSBzdHJ1Y3QgKi8KCXBfZXEgPSBPU0FMX1pBTExPQyhwX2h3Zm4t PnBfZGV2LCBHRlBfS0VSTkVMLCBzaXplb2YoKnBfZXEpKTsKCWlmICghcF9lcSkgewoJCURQX05P VElDRShwX2h3Zm4sIHRydWUsCgkJCSAgIkZhaWxlZCB0byBhbGxvY2F0ZSBgc3RydWN0IGVjb3Jl X2VxJ1xuIik7CgkJcmV0dXJuIEVDT1JFX05PTUVNOwoJfQoKZXJyb3I6IHBhdGNoIGZhaWxlZDog ZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3NwcS5jOjQwMQplcnJvcjogZHJpdmVycy9uZXQv cWVkZS9iYXNlL2Vjb3JlX3NwcS5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRj aCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfc3Jpb3YuYy4uLgplcnJvcjogd2hpbGUgc2Vh cmNoaW5nIGZvcjoKCglwX3NyaW92ID0gT1NBTF9aQUxMT0MocF9od2ZuLT5wX2RldiwgR0ZQX0tF Uk5FTCwgc2l6ZW9mKCpwX3NyaW92KSk7CglpZiAoIXBfc3Jpb3YpIHsKCQlEUF9OT1RJQ0UocF9o d2ZuLCB0cnVlLAoJCQkgICJGYWlsZWQgdG8gYWxsb2NhdGUgYHN0cnVjdCBlY29yZV9zcmlvdidc biIpOwoJCXJldHVybiBFQ09SRV9OT01FTTsKCX0KCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2 ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfc3Jpb3YuYzo1OTAKZXJyb3I6IGRyaXZlcnMvbmV0L3Fl ZGUvYmFzZS9lY29yZV9zcmlvdi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQoqUmVwbzogZHBkay1u ZXh0LXZpcnRpbwpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0 LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJCQkgcF9tbmdyLT50Ml9udW1fcGFn ZXMgKgoJCQkJIHNpemVvZihzdHJ1Y3QgZWNvcmVfZG1hX21lbSkpOwoJaWYgKCFwX21uZ3ItPnQy KSB7CgkJRFBfTk9USUNFKHBfaHdmbiwgdHJ1ZSwgIkZhaWxlZCB0byBhbGxvY2F0ZSB0MiB0YWJs ZVxuIik7CgkJcmMgPSBFQ09SRV9OT01FTTsKCQlnb3RvIHQyX2ZhaWw7Cgl9CgplcnJvcjogcGF0 Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0LmM6ODM0CmVycm9yOiBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNo ZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kY2J4LmMuLi4KZXJyb3I6 IHdoaWxlIHNlYXJjaGluZyBmb3I6CglwX2h3Zm4tPnBfZGNieF9pbmZvID0gT1NBTF9aQUxMT0Mo cF9od2ZuLT5wX2RldiwgR0ZQX0tFUk5FTCwKCQkJCQkgIHNpemVvZigqcF9od2ZuLT5wX2RjYnhf aW5mbykpOwoJaWYgKCFwX2h3Zm4tPnBfZGNieF9pbmZvKSB7CgkJRFBfTk9USUNFKHBfaHdmbiwg dHJ1ZSwKCQkJICAiRmFpbGVkIHRvIGFsbG9jYXRlIGBzdHJ1Y3QgZWNvcmVfZGNieF9pbmZvJyIp OwoJCXJldHVybiBFQ09SRV9OT01FTTsKCX0KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMv bmV0L3FlZGUvYmFzZS9lY29yZV9kY2J4LmM6OTEwCmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jh c2UvZWNvcmVfZGNieC5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2 ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfZGV2LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBm b3I6CiAqIHRoZXJlJ3MgbW9yZSB0aGFuIGEgc2luZ2xlIGNvbXBpbGVkIGVjb3JlIGNvbXBvbmVu dCBpbiBzeXN0ZW1dLgogKi8Kc3RhdGljIG9zYWxfc3BpbmxvY2tfdCBxbV9sb2NrOwpzdGF0aWMg Ym9vbCBxbV9sb2NrX2luaXQ7CgovKioqKioqKioqKioqKioqKioqKiogRG9vcmJlbGwgUmVjb3Zl cnkgKioqKioqKioqKioqKioqKioqKi8KLyogVGhlIGRvb3JiZWxsIHJlY292ZXJ5IG1lY2hhbmlz bSBjb25zaXN0cyBvZiBhIGxpc3Qgb2YgZW50cmllcyB3aGljaCByZXByZXNlbnQKCmVycm9yOiBw YXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kZXYuYzozOQplcnJvcjog ZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2Rldi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpD aGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfZGV2X2FwaS5oLi4uCmVy cm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgogKgogKiBAcGFyYW0gcF9kZXYKICovCnZvaWQgZWNv cmVfaW5pdF9zdHJ1Y3Qoc3RydWN0IGVjb3JlX2RldiAqcF9kZXYpOwoKLyoqCiAqIEBicmllZiBl Y29yZV9yZXNjX2ZyZWUgLQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9i YXNlL2Vjb3JlX2Rldl9hcGkuaDozMgplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3Jl X2Rldl9hcGkuaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9u ZXQvcWVkZS9iYXNlL2Vjb3JlX2h3LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6Cglz dHJ1Y3QgZWNvcmVfcHR0IHB0dHNbUFhQX0VYVEVSTkFMX0JBUl9QRl9XSU5ET1dfTlVNXTsKfTsK CmVudW0gX2Vjb3JlX3N0YXR1c190IGVjb3JlX3B0dF9wb29sX2FsbG9jKHN0cnVjdCBlY29yZV9o d2ZuICpwX2h3Zm4pCnsKCXN0cnVjdCBlY29yZV9wdHRfcG9vbCAqcF9wb29sID0gT1NBTF9BTExP QyhwX2h3Zm4tPnBfZGV2LAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9i YXNlL2Vjb3JlX2h3LmM6MzgKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9ody5j OiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jh c2UvZWNvcmVfaW50LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkvKiBTQiBzdHJ1 Y3QgKi8KCXBfc2IgPSBPU0FMX0FMTE9DKHBfZGV2LCBHRlBfS0VSTkVMLCBzaXplb2YoKnBfc2Ip KTsKCWlmICghcF9zYikgewoJCURQX05PVElDRShwX2RldiwgdHJ1ZSwKCQkJICAiRmFpbGVkIHRv IGFsbG9jYXRlIGBzdHJ1Y3QgZWNvcmVfc2JfYXR0bl9pbmZvJ1xuIik7CgkJcmV0dXJuIEVDT1JF X05PTUVNOwoJfQoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9l Y29yZV9pbnQuYzoxNDA2CmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaW50LmM6 IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFz ZS9lY29yZV9sMi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJfQoKI2lmZGVmIENP TkZJR19FQ09SRV9MT0NLX0FMTE9DCglPU0FMX01VVEVYX0FMTE9DKHBfaHdmbiwgJnBfbDJfaW5m by0+bG9jayk7CiNlbmRpZgoKCXJldHVybiBFQ09SRV9TVUNDRVNTOwoKZXJyb3I6IHBhdGNoIGZh aWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2wyLmM6NzcKZXJyb3I6IGRyaXZlcnMv bmV0L3FlZGUvYmFzZS9lY29yZV9sMi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBw YXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfbWNwLmMuLi4KZXJyb3I6IHdoaWxlIHNl YXJjaGluZyBmb3I6CgoJLyogQWxsb2NhdGUgbWNwX2luZm8gc3RydWN0dXJlICovCglwX2h3Zm4t Pm1jcF9pbmZvID0gT1NBTF9aQUxMT0MocF9od2ZuLT5wX2RldiwgR0ZQX0tFUk5FTCwKCQkJCSAg ICAgICBzaXplb2YoKnBfaHdmbi0+bWNwX2luZm8pKTsKCWlmICghcF9od2ZuLT5tY3BfaW5mbykK LS0KCU9TQUxfU1BJTl9MT0NLX0FMTE9DKHBfaHdmbiwgJnBfaW5mby0+bGlua19sb2NrKTsKI2Vu ZGlmCglPU0FMX1NQSU5fTE9DS19JTklUKCZwX2luZm8tPmNtZF9sb2NrKTsKCU9TQUxfU1BJTl9M T0NLX0lOSVQoJnBfaW5mby0+bGlua19sb2NrKTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZl cnMvbmV0L3FlZGUvYmFzZS9lY29yZV9tY3AuYzoyNDAKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUv YmFzZS9lY29yZV9tY3AuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3NwcS5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcg Zm9yOgoJLyogQWxsb2NhdGUgRVEgc3RydWN0ICovCglwX2VxID0gT1NBTF9aQUxMT0MocF9od2Zu LT5wX2RldiwgR0ZQX0tFUk5FTCwgc2l6ZW9mKCpwX2VxKSk7CglpZiAoIXBfZXEpIHsKCQlEUF9O T1RJQ0UocF9od2ZuLCB0cnVlLAoJCQkgICJGYWlsZWQgdG8gYWxsb2NhdGUgYHN0cnVjdCBlY29y ZV9lcSdcbiIpOwoJCXJldHVybiBFQ09SRV9OT01FTTsKCX0KCmVycm9yOiBwYXRjaCBmYWlsZWQ6 IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9zcHEuYzo0MDEKZXJyb3I6IGRyaXZlcnMvbmV0 L3FlZGUvYmFzZS9lY29yZV9zcHEuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0 Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3NyaW92LmMuLi4KZXJyb3I6IHdoaWxlIHNl YXJjaGluZyBmb3I6CgoJcF9zcmlvdiA9IE9TQUxfWkFMTE9DKHBfaHdmbi0+cF9kZXYsIEdGUF9L RVJORUwsIHNpemVvZigqcF9zcmlvdikpOwoJaWYgKCFwX3NyaW92KSB7CgkJRFBfTk9USUNFKHBf aHdmbiwgdHJ1ZSwKCQkJICAiRmFpbGVkIHRvIGFsbG9jYXRlIGBzdHJ1Y3QgZWNvcmVfc3Jpb3Yn XG4iKTsKCQlyZXR1cm4gRUNPUkVfTk9NRU07Cgl9CgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJp dmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3NyaW92LmM6NTkwCmVycm9yOiBkcml2ZXJzL25ldC9x ZWRlL2Jhc2UvZWNvcmVfc3Jpb3YuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKCkRQREsgU1RWIHRl YW0= --===============5677941978463893268==--