Name: series-workflow5vsnr Phase: Succeeded StartedAt: 2026-07-24 03:23:43 +0000 UTC FinishedAt: 2026-07-24 07:59:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[0] Phase: Succeeded StartedAt: 2026-07-24 03:23:43 +0000 UTC FinishedAt: 2026-07-24 03:50:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[0].run-triage Phase: Succeeded StartedAt: 2026-07-24 03:23:43 +0000 UTC FinishedAt: 2026-07-24 03:50:40 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "48a5a7ab8d6ab7090564339e039c421f315de912", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "CFG80211", "MAC80211", "MAC80211_HWSIM" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "48a5a7ab8d6ab7090564339e039c421f315de912", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "CFG80211", "MAC80211", "MAC80211_HWSIM" ], "series_id": "334e5116-e031-4d4f-93f8-5a325191a1c6" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "nl80211_pmsr_start" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDAzOjQ5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0NGRzgwMjExJiMzNDssCiAgICAmIzM0O01BQzgwMjExJiMzNDssCiAgICAmIzM0O01BQzgwMjExX0hXU0lNJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmw4MDIxMV9wbXNyX3N0YXJ0JiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcmFjZSBjb25kaXRpb24gaW4gYG5sODAyMTFfcG1zcl9zdGFydGAgd2hlcmUgYSByZXF1ZXN0IGNvdWxkIGJlIGNvbXBsZXRlZCBhbmQgZnJlZWQgYnkgdGhlIGRyaXZlciBiZWZvcmUgYmVpbmcgYWRkZWQgdG8gdGhlIGBwbXNyX2xpc3RgLiBUaGlzIGlzIHJlYWNoYWJsZSB2aWEgdGhlIGBOTDgwMjExX0NNRF9QRUVSX01FQVNVUkVNRU5UX1NUQVJUYCBuZXRsaW5rIGNvbW1hbmQuIEZ1enppbmcgdGhpcyBmdW5jdGlvbiB3aXRoIGBtYWM4MDIxMV9od3NpbWAgZW5hYmxlZCB3aWxsIGV4ZXJjaXNlIHRoaXMgY29kZSBwYXRoLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDAzOjQ5PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgM2ZiZjc4Y2JhNWRjYTYwZjA5YzZhYzdmZDI5MTgxYmIyMmJhOTYxYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgSnVsIDI0IDAzOjQ5OjUzIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L2NmZzgwMjExLmggYi9pbmNsdWRlL25ldC9jZmc4MDIxMS5oXG5pbmRleCBmNWFiZjFkYjc1NThiYy4uYThiYTQ4NGVjYWQ2ZjggMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL25ldC9jZmc4MDIxMS5oXG4mIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL25ldC9jZmc4MDIxMS5oXG5AQCAtNTIwMiw3ICYjNDM7NTIwMiwxMSBAQCBzdHJ1Y3QgbWdtdF9mcmFtZV9yZWdzIHtcbiAgKlxuICAqIEBnZXRfZnRtX3Jlc3BvbmRlcl9zdGF0czogUmV0cmlldmUgRlRNIHJlc3BvbmRlciBzdGF0aXN0aWNzLCBpZiBhdmFpbGFibGUuXG4gICpcdFN0YXRpc3RpY3Mgc2hvdWxkIGJlIGN1bXVsYXRpdmUsIGN1cnJlbnRseSBubyB3YXkgdG8gcmVzZXQgaXMgcHJvdmlkZWQuXG4tICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKVxuJiM0MzsgKiBAc3RhcnRfcG1zcjogc3RhcnQgcGVlciBtZWFzdXJlbWVudCAoZS5nLiBGVE0pLiBUaGUgY2FsbGJhY2sgbWF5XG4mIzQzOyAqXHRjb21wbGV0ZSB0aGUgcmVxdWVzdCBiZWZvcmUgcmV0dXJuaW5nIHN1Y2Nlc3MuIEFmdGVyIGNvbXBsZXRpbmcgaXQsXG4mIzQzOyAqXHR0aGUgZHJpdmVyIG11c3Qgbm90IGFjY2VzcyB0aGUgcmVxdWVzdC4gSWYgdGhlIGNhbGxiYWNrIHJldHVybnMgYW5cbiYjNDM7ICpcdGVycm9yLCB0aGUgZHJpdmVyIG11c3Qgbm90IHJldGFpbiB0aGUgcmVxdWVzdCBvciBsYXRlciByZXBvcnQgcmVzdWx0c1xuJiM0MzsgKlx0b3IgY29tcGxldGlvbiBmb3IgaXQuXG4gICogQGFib3J0X3Btc3I6IGFib3J0IHBlZXIgbWVhc3VyZW1lbnRcbiAgKlxuICAqIEB1cGRhdGVfb3dlX2luZm86IFByb3ZpZGUgdXBkYXRlZCBPV0UgaW5mbyB0byBkcml2ZXIuIERyaXZlciBpbXBsZW1lbnRpbmcgU01FXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvbWFjODAyMTEuaCBiL2luY2x1ZGUvbmV0L21hYzgwMjExLmhcbmluZGV4IDRmOTVkYTAyMzc0NmY5Li42NDYwMGU3YmQyNTFjZCAxMDA2NDRcbi0tLSBhL2luY2x1ZGUvbmV0L21hYzgwMjExLmhcbiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbmV0L21hYzgwMjExLmhcbkBAIC00NjYxLDcgJiM0Mzs0NjYxLDExIEBAIHN0cnVjdCBpZWVlODAyMTFfcHJlcF90eF9pbmZvIHtcbiAgKiBAZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHM6IFJldHJpZXZlIEZUTSByZXNwb25kZXIgc3RhdGlzdGljcywgaWYgYXZhaWxhYmxlLlxuICAqXHRTdGF0aXN0aWNzIHNob3VsZCBiZSBjdW11bGF0aXZlLCBjdXJyZW50bHkgbm8gd2F5IHRvIHJlc2V0IGlzIHByb3ZpZGVkLlxuICAqXG4tICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKSAodGhpcyBjYWxsIGNhbiBzbGVlcClcbiYjNDM7ICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKSAodGhpcyBjYWxsIGNhbiBzbGVlcCkuXG4mIzQzOyAqXHRUaGUgY2FsbGJhY2sgbWF5IGNvbXBsZXRlIHRoZSByZXF1ZXN0IGJlZm9yZSByZXR1cm5pbmcgc3VjY2Vzcy5cbiYjNDM7ICpcdEFmdGVyIGNvbXBsZXRpbmcgaXQsIHRoZSBkcml2ZXIgbXVzdCBub3QgYWNjZXNzIHRoZSByZXF1ZXN0LiBJZiB0aGVcbiYjNDM7ICpcdGNhbGxiYWNrIHJldHVybnMgYW4gZXJyb3IsIHRoZSBkcml2ZXIgbXVzdCBub3QgcmV0YWluIHRoZSByZXF1ZXN0IG9yXG4mIzQzOyAqXHRsYXRlciByZXBvcnQgcmVzdWx0cyBvciBjb21wbGV0aW9uIGZvciBpdC5cbiAgKiBAYWJvcnRfcG1zcjogYWJvcnQgcGVlciBtZWFzdXJlbWVudCAodGhpcyBjYWxsIGNhbiBzbGVlcClcbiAgKiBAc2V0X3RpZF9jb25maWc6IEFwcGx5IFRJRCBzcGVjaWZpYyBjb25maWd1cmF0aW9ucy4gVGhpcyBjYWxsYmFjayBtYXkgc2xlZXAuXG4gICogQHJlc2V0X3RpZF9jb25maWc6IFJlc2V0IFRJRCBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGZvciB0aGUgcGVlci5cbmRpZmYgLS1naXQgYS9uZXQvd2lyZWxlc3MvcG1zci5jIGIvbmV0L3dpcmVsZXNzL3Btc3IuY1xuaW5kZXggZDFlMmZhZTViYzBlNTguLjM0ODQ5NTZlYmI1MGM3IDEwMDY0NFxuLS0tIGEvbmV0L3dpcmVsZXNzL3Btc3IuY1xuJiM0MzsmIzQzOyYjNDM7IGIvbmV0L3dpcmVsZXNzL3Btc3IuY1xuQEAgLTQyMCw2ICYjNDM7NDIwLDcgQEAgaW50IG5sODAyMTFfcG1zcl9zdGFydChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuIFx0Y29uc3Qgc3RydWN0IGNmZzgwMjExX3Btc3JfY2FwYWJpbGl0aWVzICpjYXBhO1xuIFx0c3RydWN0IGNmZzgwMjExX3Btc3JfcmVxdWVzdCAqcmVxO1xuIFx0c3RydWN0IG5sYXR0ciAqcGVlcnMsICpwZWVyO1xuJiM0MztcdHU2NCBjb29raWU7XG4gXG4gXHRjYXBhID0gcmRldi1cdTAwM2V3aXBoeS5wbXNyX2NhcGE7XG4gXG5AQCAtNTIxLDE0ICYjNDM7NTIyLDI2IEBAIGludCBubDgwMjExX3Btc3Jfc3RhcnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbiBcdH1cbiBcdHJlcS1cdTAwM2Vjb29raWUgPSBjZmc4MDIxMV9hc3NpZ25fY29va2llKHJkZXYpO1xuIFx0cmVxLVx1MDAzZW5sX3BvcnRpZCA9IGluZm8tXHUwMDNlc25kX3BvcnRpZDtcbiYjNDM7XHRjb29raWUgPSByZXEtXHUwMDNlY29va2llO1xuJiM0MztcbiYjNDM7XHQvKlxuJiM0MztcdCAqIFB1Ymxpc2ggYmVmb3JlIHRoZSBkcml2ZXIgY2FuIGNvbXBsZXRlIHRoZSByZXF1ZXN0LiBDb21wbGV0aW9uIG1heSBmcmVlXG4mIzQzO1x0ICogaXQgYmVmb3JlIHJkZXZfc3RhcnRfcG1zcigpIHJldHVybnMsIHNvIHVzZSB0aGUgY29va2llIHNuYXBzaG90IGJlbG93LlxuJiM0MztcdCAqL1xuJiM0MztcdHNwaW5fbG9ja19iaChcdTAwMjZ3ZGV2LVx1MDAzZXBtc3JfbG9jayk7XG4mIzQzO1x0bGlzdF9hZGRfdGFpbChcdTAwMjZyZXEtXHUwMDNlbGlzdCwgXHUwMDI2d2Rldi1cdTAwM2VwbXNyX2xpc3QpO1xuJiM0MztcdHNwaW5fdW5sb2NrX2JoKFx1MDAyNndkZXYtXHUwMDNlcG1zcl9sb2NrKTtcbiBcbiBcdGVyciA9IHJkZXZfc3RhcnRfcG1zcihyZGV2LCB3ZGV2LCByZXEpO1xuLVx0aWYgKGVycilcbiYjNDM7XHRpZiAoZXJyKSB7XG4mIzQzO1x0XHQvKiBBbiBlcnJvciByZXR1cm4gbGVhdmVzIHRoZSByZXF1ZXN0IG93bmVkIGJ5IHRoaXMgcGF0aC4gKi9cbiYjNDM7XHRcdHNwaW5fbG9ja19iaChcdTAwMjZ3ZGV2LVx1MDAzZXBtc3JfbG9jayk7XG4mIzQzO1x0XHRsaXN0X2RlbChcdTAwMjZyZXEtXHUwMDNlbGlzdCk7XG4mIzQzO1x0XHRzcGluX3VubG9ja19iaChcdTAwMjZ3ZGV2LVx1MDAzZXBtc3JfbG9jayk7XG4gXHRcdGdvdG8gb3V0X2VycjtcbiYjNDM7XHR9XG4gXG4tXHRsaXN0X2FkZF90YWlsKFx1MDAyNnJlcS1cdTAwM2VsaXN0LCBcdTAwMjZ3ZGV2LVx1MDAzZXBtc3JfbGlzdCk7XG4tXG4tXHRubF9zZXRfZXh0YWNrX2Nvb2tpZV91NjQoaW5mby1cdTAwM2VleHRhY2ssIHJlcS1cdTAwM2Vjb29raWUpO1xuJiM0MztcdG5sX3NldF9leHRhY2tfY29va2llX3U2NChpbmZvLVx1MDAzZWV4dGFjaywgY29va2llKTtcbiBcdHJldHVybiAwO1xuIG91dF9lcnI6XG4gXHRrZnJlZShyZXEpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDAzOjQ5PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtDRkc4MDIxMSYjMzQ7LAogICAgJiMzNDtNQUM4MDIxMSYjMzQ7LAogICAgJiMzNDtNQUM4MDIxMV9IV1NJTSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25sODAyMTFfcG1zcl9zdGFydCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIGBubDgwMjExX3Btc3Jfc3RhcnRgIHdoZXJlIGEgcmVxdWVzdCBjb3VsZCBiZSBjb21wbGV0ZWQgYW5kIGZyZWVkIGJ5IHRoZSBkcml2ZXIgYmVmb3JlIGJlaW5nIGFkZGVkIHRvIHRoZSBgcG1zcl9saXN0YC4gVGhpcyBpcyByZWFjaGFibGUgdmlhIHRoZSBgTkw4MDIxMV9DTURfUEVFUl9NRUFTVVJFTUVOVF9TVEFSVGAgbmV0bGluayBjb21tYW5kLiBGdXp6aW5nIHRoaXMgZnVuY3Rpb24gd2l0aCBgbWFjODAyMTFfaHdzaW1gIGVuYWJsZWQgd2lsbCBleGVyY2lzZSB0aGlzIGNvZGUgcGF0aC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgM2ZiZjc4Y2JhNWRjYTYwZjA5YzZhYzdmZDI5MTgxYmIyMmJhOTYxYgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgSnVsIDI0IDAzOjQ5OjUzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvY2ZnODAyMTEuaCBiL2luY2x1ZGUvbmV0L2NmZzgwMjExLmgKaW5kZXggZjVhYmYxZGI3NTU4YmMuLmE4YmE0ODRlY2FkNmY4IDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9jZmc4MDIxMS5oCiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbmV0L2NmZzgwMjExLmgKQEAgLTUyMDIsNyAmIzQzOzUyMDIsMTEgQEAgc3RydWN0IG1nbXRfZnJhbWVfcmVncyB7CiAgKgogICogQGdldF9mdG1fcmVzcG9uZGVyX3N0YXRzOiBSZXRyaWV2ZSBGVE0gcmVzcG9uZGVyIHN0YXRpc3RpY3MsIGlmIGF2YWlsYWJsZS4KICAqCVN0YXRpc3RpY3Mgc2hvdWxkIGJlIGN1bXVsYXRpdmUsIGN1cnJlbnRseSBubyB3YXkgdG8gcmVzZXQgaXMgcHJvdmlkZWQuCi0gKiBAc3RhcnRfcG1zcjogc3RhcnQgcGVlciBtZWFzdXJlbWVudCAoZS5nLiBGVE0pCiYjNDM7ICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKS4gVGhlIGNhbGxiYWNrIG1heQomIzQzOyAqCWNvbXBsZXRlIHRoZSByZXF1ZXN0IGJlZm9yZSByZXR1cm5pbmcgc3VjY2Vzcy4gQWZ0ZXIgY29tcGxldGluZyBpdCwKJiM0MzsgKgl0aGUgZHJpdmVyIG11c3Qgbm90IGFjY2VzcyB0aGUgcmVxdWVzdC4gSWYgdGhlIGNhbGxiYWNrIHJldHVybnMgYW4KJiM0MzsgKgllcnJvciwgdGhlIGRyaXZlciBtdXN0IG5vdCByZXRhaW4gdGhlIHJlcXVlc3Qgb3IgbGF0ZXIgcmVwb3J0IHJlc3VsdHMKJiM0MzsgKglvciBjb21wbGV0aW9uIGZvciBpdC4KICAqIEBhYm9ydF9wbXNyOiBhYm9ydCBwZWVyIG1lYXN1cmVtZW50CiAgKgogICogQHVwZGF0ZV9vd2VfaW5mbzogUHJvdmlkZSB1cGRhdGVkIE9XRSBpbmZvIHRvIGRyaXZlci4gRHJpdmVyIGltcGxlbWVudGluZyBTTUUKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L21hYzgwMjExLmggYi9pbmNsdWRlL25ldC9tYWM4MDIxMS5oCmluZGV4IDRmOTVkYTAyMzc0NmY5Li42NDYwMGU3YmQyNTFjZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvbWFjODAyMTEuaAomIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL25ldC9tYWM4MDIxMS5oCkBAIC00NjYxLDcgJiM0Mzs0NjYxLDExIEBAIHN0cnVjdCBpZWVlODAyMTFfcHJlcF90eF9pbmZvIHsKICAqIEBnZXRfZnRtX3Jlc3BvbmRlcl9zdGF0czogUmV0cmlldmUgRlRNIHJlc3BvbmRlciBzdGF0aXN0aWNzLCBpZiBhdmFpbGFibGUuCiAgKglTdGF0aXN0aWNzIHNob3VsZCBiZSBjdW11bGF0aXZlLCBjdXJyZW50bHkgbm8gd2F5IHRvIHJlc2V0IGlzIHByb3ZpZGVkLgogICoKLSAqIEBzdGFydF9wbXNyOiBzdGFydCBwZWVyIG1lYXN1cmVtZW50IChlLmcuIEZUTSkgKHRoaXMgY2FsbCBjYW4gc2xlZXApCiYjNDM7ICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKSAodGhpcyBjYWxsIGNhbiBzbGVlcCkuCiYjNDM7ICoJVGhlIGNhbGxiYWNrIG1heSBjb21wbGV0ZSB0aGUgcmVxdWVzdCBiZWZvcmUgcmV0dXJuaW5nIHN1Y2Nlc3MuCiYjNDM7ICoJQWZ0ZXIgY29tcGxldGluZyBpdCwgdGhlIGRyaXZlciBtdXN0IG5vdCBhY2Nlc3MgdGhlIHJlcXVlc3QuIElmIHRoZQomIzQzOyAqCWNhbGxiYWNrIHJldHVybnMgYW4gZXJyb3IsIHRoZSBkcml2ZXIgbXVzdCBub3QgcmV0YWluIHRoZSByZXF1ZXN0IG9yCiYjNDM7ICoJbGF0ZXIgcmVwb3J0IHJlc3VsdHMgb3IgY29tcGxldGlvbiBmb3IgaXQuCiAgKiBAYWJvcnRfcG1zcjogYWJvcnQgcGVlciBtZWFzdXJlbWVudCAodGhpcyBjYWxsIGNhbiBzbGVlcCkKICAqIEBzZXRfdGlkX2NvbmZpZzogQXBwbHkgVElEIHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zLiBUaGlzIGNhbGxiYWNrIG1heSBzbGVlcC4KICAqIEByZXNldF90aWRfY29uZmlnOiBSZXNldCBUSUQgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBmb3IgdGhlIHBlZXIuCmRpZmYgLS1naXQgYS9uZXQvd2lyZWxlc3MvcG1zci5jIGIvbmV0L3dpcmVsZXNzL3Btc3IuYwppbmRleCBkMWUyZmFlNWJjMGU1OC4uMzQ4NDk1NmViYjUwYzcgMTAwNjQ0Ci0tLSBhL25ldC93aXJlbGVzcy9wbXNyLmMKJiM0MzsmIzQzOyYjNDM7IGIvbmV0L3dpcmVsZXNzL3Btc3IuYwpAQCAtNDIwLDYgJiM0Mzs0MjAsNyBAQCBpbnQgbmw4MDIxMV9wbXNyX3N0YXJ0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pCiAJY29uc3Qgc3RydWN0IGNmZzgwMjExX3Btc3JfY2FwYWJpbGl0aWVzICpjYXBhOwogCXN0cnVjdCBjZmc4MDIxMV9wbXNyX3JlcXVlc3QgKnJlcTsKIAlzdHJ1Y3QgbmxhdHRyICpwZWVycywgKnBlZXI7CiYjNDM7CXU2NCBjb29raWU7CiAKIAljYXBhID0gcmRldi0mZ3Q7d2lwaHkucG1zcl9jYXBhOwogCkBAIC01MjEsMTQgJiM0Mzs1MjIsMjYgQEAgaW50IG5sODAyMTFfcG1zcl9zdGFydChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKQogCX0KIAlyZXEtJmd0O2Nvb2tpZSA9IGNmZzgwMjExX2Fzc2lnbl9jb29raWUocmRldik7CiAJcmVxLSZndDtubF9wb3J0aWQgPSBpbmZvLSZndDtzbmRfcG9ydGlkOwomIzQzOwljb29raWUgPSByZXEtJmd0O2Nvb2tpZTsKJiM0MzsKJiM0MzsJLyoKJiM0MzsJICogUHVibGlzaCBiZWZvcmUgdGhlIGRyaXZlciBjYW4gY29tcGxldGUgdGhlIHJlcXVlc3QuIENvbXBsZXRpb24gbWF5IGZyZWUKJiM0MzsJICogaXQgYmVmb3JlIHJkZXZfc3RhcnRfcG1zcigpIHJldHVybnMsIHNvIHVzZSB0aGUgY29va2llIHNuYXBzaG90IGJlbG93LgomIzQzOwkgKi8KJiM0MzsJc3Bpbl9sb2NrX2JoKCZhbXA7d2Rldi0mZ3Q7cG1zcl9sb2NrKTsKJiM0MzsJbGlzdF9hZGRfdGFpbCgmYW1wO3JlcS0mZ3Q7bGlzdCwgJmFtcDt3ZGV2LSZndDtwbXNyX2xpc3QpOwomIzQzOwlzcGluX3VubG9ja19iaCgmYW1wO3dkZXYtJmd0O3Btc3JfbG9jayk7CiAKIAllcnIgPSByZGV2X3N0YXJ0X3Btc3IocmRldiwgd2RldiwgcmVxKTsKLQlpZiAoZXJyKQomIzQzOwlpZiAoZXJyKSB7CiYjNDM7CQkvKiBBbiBlcnJvciByZXR1cm4gbGVhdmVzIHRoZSByZXF1ZXN0IG93bmVkIGJ5IHRoaXMgcGF0aC4gKi8KJiM0MzsJCXNwaW5fbG9ja19iaCgmYW1wO3dkZXYtJmd0O3Btc3JfbG9jayk7CiYjNDM7CQlsaXN0X2RlbCgmYW1wO3JlcS0mZ3Q7bGlzdCk7CiYjNDM7CQlzcGluX3VubG9ja19iaCgmYW1wO3dkZXYtJmd0O3Btc3JfbG9jayk7CiAJCWdvdG8gb3V0X2VycjsKJiM0MzsJfQogCi0JbGlzdF9hZGRfdGFpbCgmYW1wO3JlcS0mZ3Q7bGlzdCwgJmFtcDt3ZGV2LSZndDtwbXNyX2xpc3QpOwotCi0Jbmxfc2V0X2V4dGFja19jb29raWVfdTY0KGluZm8tJmd0O2V4dGFjaywgcmVxLSZndDtjb29raWUpOwomIzQzOwlubF9zZXRfZXh0YWNrX2Nvb2tpZV91NjQoaW5mby0mZ3Q7ZXh0YWNrLCBjb29raWUpOwogCXJldHVybiAwOwogb3V0X2VycjoKIAlrZnJlZShyZXEpOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yNCAwMzo0OTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyOTY1CgkJCQkJCQlvdXRwdXQ6IDM2CgkJCQkJCQl0aG91Z2h0czogMzI3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIFdpcmVsZXNzIFN1YnN5c3RlbSBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0JiMzOTtzIHRvdWNoZWQgYG5ldC93aXJlbGVzcy9wbXNyLmNgIGFuZCBhIGNvdXBsZSBvZiBrZXkgaGVhZGVycywgYGNmZzgwMjExLmhgIGFuZCBgbWFjODAyMTEuaGAuIEZyb20gdGhlIGxvb2sgb2YgaXQsIHRoaXMgaXMgYSBjaGFuZ2UgdG8gdGhlIHBvd2VyIG1hbmFnZW1lbnQgc3RhdGUgcmVwb3J0aW5nIChQTVNSKSBmdW5jdGlvbmFsaXR5LCBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBgbmw4MDIxMV9wbXNyX3N0YXJ0YCBmdW5jdGlvbi4KClRoZSBjb3JlIG9mIHRoZSBjaGFuZ2UgaXMgYWJvdXQgdGhlICpvcmRlciogb2Ygb3BlcmF0aW9ucywgd2hpY2ggaXMgYWx3YXlzIGEgcmVkIGZsYWcgZm9yIGNvbmN1cnJlbmN5IGJ1Z3MuICBCZWZvcmUsIHRoZSByZXF1ZXN0IChgcmVxYCkgd2FzIGFkZGVkIHRvIGB3ZGV2LSZndDtwbXNyX2xpc3RgICphZnRlciogYHJkZXZfc3RhcnRfcG1zcmAgd2FzIGNhbGxlZCBhbmQgc3VjY2VlZGVkLiBOb3csIGl0JiMzOTtzIGJlaW5nIGFkZGVkICpiZWZvcmUqIGByZGV2X3N0YXJ0X3Btc3JgLCBhbmQgb25seSByZW1vdmVkIGlmIGByZGV2X3N0YXJ0X3Btc3JgIGZhaWxzLiAgVGhpcyBpbW1lZGlhdGVseSBzY3JlYW1zICYjMzQ7cmFjZSBjb25kaXRpb24gZml4LiYjMzQ7IFRoZSBvcmlnaW5hbCBjb2RlIGxpa2VseSBoYWQgYSB3aW5kb3cgd2hlcmUgYHJkZXZfc3RhcnRfcG1zcmAgY291bGQgY29tcGxldGUgdGhlIFBNU1IgcmVxdWVzdCAqYmVmb3JlKiByZXR1cm5pbmcsIHBvdGVudGlhbGx5IGZyZWVpbmcgdGhlIGByZXFgIG9iamVjdCBhbmQgdGhlbiBjYXVzaW5nIGEgdXNlLWFmdGVyLWZyZWUgb3IgY29ycnVwdGluZyB0aGUgbGlzdCBpZiB0aGUgYWRkaXRpb24gdG8gdGhlIGxpc3QgaGFwcGVuZWQgYWZ0ZXIgdGhlIGNvbXBsZXRpb24sIGJ1dCBiZWZvcmUgdGhlIHJldHVybi4gIFRoYXQmIzM5O3MgYSBuYXN0eSBvbmUuCgpUaGlzIGlzIGEgZnVuZGFtZW50YWwgY2hhbmdlIHRvIGBjZmc4MDIxMWAsIHRoZSBjb3JlIHdpcmVsZXNzIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlLCB3aGljaCBtZWFucyBpdOKAmXMgY3JpdGljYWwuICBBbmQgc2luY2UgYG5sODAyMTFfcG1zcl9zdGFydGAgaXMgcmVhY2hhYmxlIHZpYSBuZXRsaW5rLCB3aGljaCBtZWFucyBpdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGV4dGVybmFsIHByb2Nlc3Nlcy4KClRoZSBpbXBsaWNhdGlvbnMgYXJlIGNsZWFyOiBnaXZlbiB0aGUgcG90ZW50aWFsIGZvciByYWNlIGNvbmRpdGlvbnMgYW5kIGV4cG9zdXJlIHRocm91Z2ggbmV0bGluaywgdGhpcyBkZWZpbml0ZWx5IG5lZWRzIGZ1enppbmcuICBJIG5lZWQgdG8gZGlnIGludG8gYG5ldC93aXJlbGVzcy9wbXNyLmNgIGFuZCBzcGVjaWZpY2FsbHkgYG5sODAyMTFfcG1zcl9zdGFydGAgYW5kIHNlZSBob3cgaXQgaW50ZXJhY3RzIHdpdGggdGhlIHVuZGVybHlpbmcgaGFyZHdhcmUgZHJpdmVycy4gVGhlIGBDRkc4MDIxMWAgY29uZmlnIG9wdGlvbiB0ZWxscyBtZSBJJiMzOTttIGluIHRoZSByaWdodCBwbGFjZS4KCknigJlsbCBkbyBhIHF1aWNrIGdyZXAgdG8gbWFrZSBzdXJlIEkgaGF2ZW4mIzM5O3QgbWlzc2VkIGFueXRoaW5nIG9idmlvdXMuICAKCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yNCAwMzo1MDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtubDgwMjExX3Btc3Jfc3RhcnQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvd2lyZWxlc3MvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC93aXJlbGVzcy9ubDgwMjExLmM9MTk1NDc9c3RhdGljIGNvbnN0IHN0cnVjdCBnZW5sX3NtYWxsX29wcyBubDgwMjExX3NtYWxsX29wc1tdID0ge1xuLS1cbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMjAzMDYtXHRcdC52YWxpZGF0ZSA9IEdFTkxfRE9OVF9WQUxJREFURV9TVFJJQ1QgfCBHRU5MX0RPTlRfVkFMSURBVEVfRFVNUCxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmM6MjAzMDc6XHRcdC5kb2l0ID0gbmw4MDIxMV9wbXNyX3N0YXJ0LFxubmV0L3dpcmVsZXNzL25sODAyMTEuYy0yMDMwOC1cdFx0LmZsYWdzID0gR0VOTF9VTlNfQURNSU5fUEVSTSxcbi0tXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5oPTEyND12b2lkIGNmZzgwMjExX2ZyZWVfY29hbGVzY2Uoc3RydWN0IGNmZzgwMjExX2NvYWxlc2NlICpjb2FsZXNjZSk7XG4tLVxubmV0L3dpcmVsZXNzL25sODAyMTEuaC0xMjYtLyogcGVlciBtZWFzdXJlbWVudCAqL1xubmV0L3dpcmVsZXNzL25sODAyMTEuaDoxMjc6aW50IG5sODAyMTFfcG1zcl9zdGFydChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKTtcbm5ldC93aXJlbGVzcy9ubDgwMjExLmgtMTI4LVxuLS1cbm5ldC93aXJlbGVzcy9wbXNyLmM9MzA5PXN0YXRpYyBpbnQgcG1zcl9wYXJzZV9wZWVyKHN0cnVjdCBjZmc4MDIxMV9yZWdpc3RlcmVkX2RldmljZSAqcmRldixcbi0tXG5uZXQvd2lyZWxlc3MvcG1zci5jLTQxMy1cbm5ldC93aXJlbGVzcy9wbXNyLmM6NDE0OmludCBubDgwMjExX3Btc3Jfc3RhcnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbm5ldC93aXJlbGVzcy9wbXNyLmMtNDE1LXtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yNCAwMzo1MDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MjIwCgkJCQkJCQlvdXRwdXQ6IDI5CgkJCQkJCQl0aG91Z2h0czogMTEwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgdGhlIFBlZXIgTWVhc3VyZW1lbnQgU3RhcnQgTmV0bGluayBIYW5kbGVyKioKCk9rYXksIHNvIGBubDgwMjExX3Btc3Jfc3RhcnRgLi4uIHRoYXQmIzM5O3MgdGhlIGhhbmRsZXIgZm9yIGBOTDgwMjExX0NNRF9QRUVSX01FQVNVUkVNRU5UX1NUQVJUYCDigJMgcGVyZmVjdCwgdGhhdCYjMzk7cyBkZWZpbml0ZWx5IHRoZSBlbnRyeSBwb2ludCBJJiMzOTttIGxvb2tpbmcgZm9yLiBUaGlzIGlzIGEgY2xlYXIgdGFyZ2V0IGZvciBmdXp6aW5nLiBOb3csIGxldCYjMzk7cyBzZWUsIHRoZSByZWxldmFudCBjb25maWcgaXMgYENGRzgwMjExYCwgb2J2aW91c2x5LCBhbmQgdGhlbiBvZiBjb3Vyc2UgYE1BQzgwMjExYCwgb3IgYE1BQzgwMjExX0hXU0lNYCBpZiBJJiMzOTttIHRlc3RpbmcuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSBnZXQgdGhlIHNldHVwIHJpZ2h0IGZvciBteSB0ZXN0IGVudmlyb25tZW50LiBJIHNob3VsZCBwcm9iYWJseSBqdXN0IHF1aWNrbHkgZ2xhbmNlIGF0IHRoZSBLY29uZmlnIGZvciBgbmV0L3dpcmVsZXNzL3Btc3IuY2AgdG8gbWFrZSBzdXJlIEkgaGF2ZW4mIzM5O3QgbWlzc2VkIGFueXRoaW5nIGNydWNpYWwuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjQgMDM6NTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cG1zci5vJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3dpcmVsZXNzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvd2lyZWxlc3MvTWFrZWZpbGU9MTA9Y2ZnODAyMTEteSAmIzQzOz0gbWxtZS5vIGlic3MubyBzbWUubyBjaGFuLm8gZXRodG9vbC5vIG1lc2gubyBhcC5vIHRyYWNlLm8gb2NiLm9cbm5ldC93aXJlbGVzcy9NYWtlZmlsZToxMTpjZmc4MDIxMS15ICYjNDM7PSBtaWNoYWVsLW1pYy5vIHBtc3Iub1xubmV0L3dpcmVsZXNzL01ha2VmaWxlLTEyLWNmZzgwMjExLSQoQ09ORklHX09GKSAmIzQzOz0gb2Yub1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDAzOjUwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ2NTkKCQkJCQkJCW91dHB1dDogMzEKCQkJCQkJCXRob3VnaHRzOiAxMDQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqSW52ZXN0aWdhdGluZyB0aGUgVmlydHVhbCBQTVNSIERldmljZSoqCgpPa2F5LCBzbyBJJiMzOTttIGRpZ2dpbmcgaW50byB0aGlzIFBNU1Igc3VwcG9ydC4gSXQgc2VlbXMgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIGhvb2tlZCBpbnRvIGBjZmc4MDIxMWAsIHdoaWNoIG1ha2VzIHNlbnNlLiBUbyBjcmVhdGUgYSB2aXJ0dWFsIGRldmljZSB0aGF0IGNhbiBhY3R1YWxseSBoYW5kbGUgUE1TUiwgSSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgY29uZmlncyBgQ0ZHODAyMTFgIGFuZCBgTUFDODAyMTFfSFdTSU1gIGFyZSBlbmFibGVkLiBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBzaW11bGF0b3Igc3VwcG9ydHMgaXQsIGFuZCBteSBndXQgY2hlY2sgdGVsbHMgbWUgdG8gcXVpY2tseSB2ZXJpZnkgaWYgYG1hYzgwMjExX2h3c2ltYCBoYXMgaW1wbGVtZW50ZWQgUE1TUiwgb3RoZXJ3aXNlLCB0aGlzIGFwcHJvYWNoIHdvbiYjMzk7dCB3b3JrLiBMZXQgbWUgZG91YmxlLWNoZWNrIC0gSSBuZWVkIHRvIHNlZSBpZiBlaXRoZXIgYG1hYzgwMjExX2h3c2ltYCBvciwgbW9yZSBicm9hZGx5LCBgbWFjODAyMTFgIGl0c2VsZiBhY3R1YWxseSBpbXBsZW1lbnRzIGEgYHN0YXJ0X3Btc3JgIGZ1bmN0aW9uIG9yIHNvbWV0aGluZyBzaW1pbGFyLiBJIG5lZWQgdG8ga25vdyB3aGVyZSB0aGUgZnVuY3Rpb25hbGl0eSB0byBzdGFydCBQTVNSIHJlc2lkZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjQgMDM6NTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3RhcnRfcG1zciYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tYWM4MDIxMS5jPTI4Mjk9c3RhdGljIGludCBpd2xfbWxkX3NldF9od190aW1lc3RhbXAoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYy0yODQ2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYzoyODQ3OnN0YXRpYyBpbnQgaXdsX21sZF9zdGFydF9wbXNyKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYy0yODQ4LVx0XHRcdCAgICAgIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYz0yOTA0PWNvbnN0IHN0cnVjdCBpZWVlODAyMTFfb3BzIGl3bF9tbGRfaHdfb3BzID0ge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21hYzgwMjExLmMtMjk3NS1cdC5zZXRfaHdfdGltZXN0YW1wID0gaXdsX21sZF9zZXRfaHdfdGltZXN0YW1wLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYzoyOTc2Olx0LnN0YXJ0X3Btc3IgPSBpd2xfbWxkX3N0YXJ0X3Btc3IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tYWM4MDIxMS5jLTI5NzctXHQuY2FuX25lZ190dGxtID0gaXdsX21sZF9jYW5fbmVnX3R0bG0sXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYz02MjYxPWl3bF9tdm1fbWFjX2dldF9mdG1fcmVzcG9uZGVyX3N0YXRzKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21hYzgwMjExLmMtNjI4OC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21hYzgwMjExLmM6NjI4OTppbnQgaXdsX212bV9zdGFydF9wbXNyKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYy02MjkwLVx0XHQgICAgICAgc3RydWN0IGNmZzgwMjExX3Btc3JfcmVxdWVzdCAqcmVxdWVzdClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jPTYzNTI9Y29uc3Qgc3RydWN0IGllZWU4MDIxMV9vcHMgaXdsX212bV9od19vcHMgPSB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYy02NDMyLVx0LmdldF9mdG1fcmVzcG9uZGVyX3N0YXRzID0gaXdsX212bV9tYWNfZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHMsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jOjY0MzM6XHQuc3RhcnRfcG1zciA9IGl3bF9tdm1fc3RhcnRfcG1zcixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21hYzgwMjExLmMtNjQzNC1cdC5hYm9ydF9wbXNyID0gaXdsX212bV9hYm9ydF9wbXNyLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21sZC1tYWM4MDIxMS5jPTg4OT1jb25zdCBzdHJ1Y3QgaWVlZTgwMjExX29wcyBpd2xfbXZtX21sZF9od19vcHMgPSB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWxkLW1hYzgwMjExLmMtOTY4LVx0LmdldF9mdG1fcmVzcG9uZGVyX3N0YXRzID0gaXdsX212bV9tYWNfZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHMsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tbGQtbWFjODAyMTEuYzo5Njk6XHQuc3RhcnRfcG1zciA9IGl3bF9tdm1fc3RhcnRfcG1zcixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21sZC1tYWM4MDIxMS5jLTk3MC1cdC5hYm9ydF9wbXNyID0gaXdsX212bV9hYm9ydF9wbXNyLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oPTI3OTQ9aXdsX212bV9tYWNfZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHMoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmgtMjc5Ni1cdFx0XHRcdCAgICBzdHJ1Y3QgY2ZnODAyMTFfZnRtX3Jlc3BvbmRlcl9zdGF0cyAqc3RhdHMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmg6Mjc5NzppbnQgaXdsX212bV9zdGFydF9wbXNyKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmgtMjc5OC1cdFx0ICAgICAgIHN0cnVjdCBjZmc4MDIxMV9wbXNyX3JlcXVlc3QgKnJlcXVlc3QpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3ZpcnR1YWwvbWFjODAyMTFfaHdzaW1fbWFpbi5jPTM3MzQ9c3RhdGljIGludCBtYWM4MDIxMV9od3NpbV9zZW5kX3Btc3JfcmVxdWVzdChzdHJ1Y3Qgc2tfYnVmZiAqbXNnLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3ZpcnR1YWwvbWFjODAyMTFfaHdzaW1fbWFpbi5jLTM3NjQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL21hYzgwMjExX2h3c2ltX21haW4uYzozNzY1OnN0YXRpYyBpbnQgbWFjODAyMTFfaHdzaW1fc3RhcnRfcG1zcihzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodyxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3ZpcnR1YWwvbWFjODAyMTFfaHdzaW1fbWFpbi5jLTM3NjYtXHRcdFx0XHQgICAgIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9tYWM4MDIxMV9od3NpbV9tYWluLmM9NDI1MD1zdGF0aWMgaW50IG1hYzgwMjExX2h3c2ltX3NldF9yYWRhcl9iYWNrZ3JvdW5kKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3ZpcnR1YWwvbWFjODAyMTFfaHdzaW1fbWFpbi5jLTQyOTctXHQuZ2V0X2V0X3N0cmluZ3MgPSBtYWM4MDIxMV9od3NpbV9nZXRfZXRfc3RyaW5ncyxcdFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL21hYzgwMjExX2h3c2ltX21haW4uYzo0Mjk4Olx0LnN0YXJ0X3Btc3IgPSBtYWM4MDIxMV9od3NpbV9zdGFydF9wbXNyLFx0XHRcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9tYWM4MDIxMV9od3NpbV9tYWluLmMtNDI5OS1cdC5hYm9ydF9wbXNyID0gbWFjODAyMTFfaHdzaW1fYWJvcnRfcG1zcixcdFx0XFxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yNCAwMzo1MDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2Njg4CgkJCQkJCQlvdXRwdXQ6IDE3MQoJCQkJCQkJdGhvdWdodHM6IDMxNQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIGBubDgwMjExX3Btc3Jfc3RhcnRgIHdpdGggYG1hYzgwMjExX2h3c2ltYCoqCgpPa2F5LCBzbyBpdCBsb29rcyBsaWtlIGBtYWM4MDIxMV9od3NpbWAgKmRvZXMqIHN1cHBvcnQgYHN0YXJ0X3Btc3JgLiBFeGNlbGxlbnQhIFRoaXMgbWVhbnMgd2UgY2FuIGRlZmluaXRlbHkgdGFyZ2V0IGBubDgwMjExX3Btc3Jfc3RhcnRgIGZvciBmdXp6aW5nLCBhbmQgbGV2ZXJhZ2UgdGhlIGhhcmR3YXJlIHNpbXVsYXRvci4gV2UmIzM5O3ZlIGdvdCB0aGUgbmVjZXNzYXJ5IGNvbmZpZ3VyYXRpb25zOiBgQ0ZHODAyMTFgLCBgTUFDODAyMTFgLCBhbmQgYE1BQzgwMjExX0hXU0lNYCDigJMgdGhvc2UgYXJlIHRoZSBrZXkgZW5hYmxlcnMuCgpUaGUgY3JpdGljYWwgZnVuY3Rpb24sIHRoZSBvbmUgdG8gZm9jdXMgb24sIGlzLCBvZiBjb3Vyc2UsIGBubDgwMjExX3Btc3Jfc3RhcnRgLiBJIHNob3VsZCBkb3VibGUtY2hlY2sgdGhhdCB0aGVyZSBhcmVuJiMzOTt0IGFueSBvdGhlciBmdW5jdGlvbnMgdGhhdCBhcmUgcmVsZXZhbnQsIGp1c3QgdG8gYmUgdGhvcm91Z2guIEJ1dCwgYmFzZWQgb24gdGhlIHBhdGNoLCBpdCBkZWZpbml0ZWx5IG1vZGlmaWVzIGBubDgwMjExX3Btc3Jfc3RhcnRgIHdpdGhpbiBgbmV0L3dpcmVsZXNzL3Btc3IuY2AuIEl0JiMzOTtzIHByZXR0eSBjbGVhciB0aGlzIGlzIHRoZSBlbnRyeSBwb2ludCwgYW5kIGl0JiMzOTtzIHJlYWNoYWJsZS4KCkxvb2tpbmcgYXQgdGhlIGNvbnRleHQsIHRoaXMgcGF0Y2ggaXMgYWRkcmVzc2luZyBhIHJhY2UgY29uZGl0aW9uIGluIGBubDgwMjExX3Btc3Jfc3RhcnRgLiBUaGUgaXNzdWUgaXMgdGhhdCBhIHJlcXVlc3QgY291bGQgYmUgY29tcGxldGVkIGFuZCBmcmVlZCBiZWZvcmUgaXQgaXMgYWRkZWQgdG8gdGhlIGBwbXNyX2xpc3RgLiBNeSBleHBlcmllbmNlIHRlbGxzIG1lIHRoYXQgdGhpcyBpcyBkZWZpbml0ZWx5IHJlYWNoYWJsZSB1c2luZyB0aGUgYE5MODAyMTFfQ01EX1BFRVJfTUVBU1VSRU1FTlRfU1RBUlRgIG5ldGxpbmsgY29tbWFuZC4gU28sIGZ1enppbmcgYG5sODAyMTFfcG1zcl9zdGFydGAgd2l0aCBgbWFjODAyMTFfaHdzaW1gIGVuYWJsZWQgd2lsbCBleGVyY2lzZSB0aGlzIGNvZGUgcGF0aCBkaXJlY3RseS4KCk9rYXksIEkgdGhpbmsgd2UgaGF2ZSBhIHNvbGlkIHBsYW4uIExldCYjMzk7cyBjYWxsIGBzZXQtcmVzdWx0c2AuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDAzOjUwPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtDRkc4MDIxMSYjMzQ7LAogICAgJiMzNDtNQUM4MDIxMSYjMzQ7LAogICAgJiMzNDtNQUM4MDIxMV9IV1NJTSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25sODAyMTFfcG1zcl9zdGFydCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIGBubDgwMjExX3Btc3Jfc3RhcnRgIHdoZXJlIGEgcmVxdWVzdCBjb3VsZCBiZSBjb21wbGV0ZWQgYW5kIGZyZWVkIGJ5IHRoZSBkcml2ZXIgYmVmb3JlIGJlaW5nIGFkZGVkIHRvIHRoZSBgcG1zcl9saXN0YC4gVGhpcyBpcyByZWFjaGFibGUgdmlhIHRoZSBgTkw4MDIxMV9DTURfUEVFUl9NRUFTVVJFTUVOVF9TVEFSVGAgbmV0bGluayBjb21tYW5kLiBGdXp6aW5nIHRoaXMgZnVuY3Rpb24gd2l0aCBgbWFjODAyMTFfaHdzaW1gIGVuYWJsZWQgd2lsbCBleGVyY2lzZSB0aGlzIGNvZGUgcGF0aC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7Q0ZHODAyMTEmIzM0OywKICAgICYjMzQ7TUFDODAyMTEmIzM0OywKICAgICYjMzQ7TUFDODAyMTFfSFdTSU0mIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtubDgwMjExX3Btc3Jfc3RhcnQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSByYWNlIGNvbmRpdGlvbiBpbiBgbmw4MDIxMV9wbXNyX3N0YXJ0YCB3aGVyZSBhIHJlcXVlc3QgY291bGQgYmUgY29tcGxldGVkIGFuZCBmcmVlZCBieSB0aGUgZHJpdmVyIGJlZm9yZSBiZWluZyBhZGRlZCB0byB0aGUgYHBtc3JfbGlzdGAuIFRoaXMgaXMgcmVhY2hhYmxlIHZpYSB0aGUgYE5MODAyMTFfQ01EX1BFRVJfTUVBU1VSRU1FTlRfU1RBUlRgIG5ldGxpbmsgY29tbWFuZC4gRnV6emluZyB0aGlzIGZ1bmN0aW9uIHdpdGggYG1hYzgwMjExX2h3c2ltYCBlbmFibGVkIHdpbGwgZXhlcmNpc2UgdGhpcyBjb2RlIHBhdGguJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0yNFQwMzo0OTo1NS44MDQ5MTY1MTVaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMjY4ODAwMDc5NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJDRkc4MDIxMVwiLFxuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIk1BQzgwMjExX0hXU0lNXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmw4MDIxMV9wbXNyX3N0YXJ0XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSByYWNlIGNvbmRpdGlvbiBpbiBgbmw4MDIxMV9wbXNyX3N0YXJ0YCB3aGVyZSBhIHJlcXVlc3QgY291bGQgYmUgY29tcGxldGVkIGFuZCBmcmVlZCBieSB0aGUgZHJpdmVyIGJlZm9yZSBiZWluZyBhZGRlZCB0byB0aGUgYHBtc3JfbGlzdGAuIFRoaXMgaXMgcmVhY2hhYmxlIHZpYSB0aGUgYE5MODAyMTFfQ01EX1BFRVJfTUVBU1VSRU1FTlRfU1RBUlRgIG5ldGxpbmsgY29tbWFuZC4gRnV6emluZyB0aGlzIGZ1bmN0aW9uIHdpdGggYG1hYzgwMjExX2h3c2ltYCBlbmFibGVkIHdpbGwgZXhlcmNpc2UgdGhpcyBjb2RlIHBhdGguXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI0VDAzOjQ5OjU1LjgwNDkyMzI5NVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzAzMzYxMjkyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgM2ZiZjc4Y2JhNWRjYTYwZjA5YzZhYzdmZDI5MTgxYmIyMmJhOTYxYlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgRnJpIEp1bCAyNCAwMzo0OTo1MyAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9jZmc4MDIxMS5oIGIvaW5jbHVkZS9uZXQvY2ZnODAyMTEuaFxcbmluZGV4IGY1YWJmMWRiNzU1OGJjLi5hOGJhNDg0ZWNhZDZmOCAxMDA2NDRcXG4tLS0gYS9pbmNsdWRlL25ldC9jZmc4MDIxMS5oXFxuKysrIGIvaW5jbHVkZS9uZXQvY2ZnODAyMTEuaFxcbkBAIC01MjAyLDcgKzUyMDIsMTEgQEAgc3RydWN0IG1nbXRfZnJhbWVfcmVncyB7XFxuICAqXFxuICAqIEBnZXRfZnRtX3Jlc3BvbmRlcl9zdGF0czogUmV0cmlldmUgRlRNIHJlc3BvbmRlciBzdGF0aXN0aWNzLCBpZiBhdmFpbGFibGUuXFxuICAqXFx0U3RhdGlzdGljcyBzaG91bGQgYmUgY3VtdWxhdGl2ZSwgY3VycmVudGx5IG5vIHdheSB0byByZXNldCBpcyBwcm92aWRlZC5cXG4tICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKVxcbisgKiBAc3RhcnRfcG1zcjogc3RhcnQgcGVlciBtZWFzdXJlbWVudCAoZS5nLiBGVE0pLiBUaGUgY2FsbGJhY2sgbWF5XFxuKyAqXFx0Y29tcGxldGUgdGhlIHJlcXVlc3QgYmVmb3JlIHJldHVybmluZyBzdWNjZXNzLiBBZnRlciBjb21wbGV0aW5nIGl0LFxcbisgKlxcdHRoZSBkcml2ZXIgbXVzdCBub3QgYWNjZXNzIHRoZSByZXF1ZXN0LiBJZiB0aGUgY2FsbGJhY2sgcmV0dXJucyBhblxcbisgKlxcdGVycm9yLCB0aGUgZHJpdmVyIG11c3Qgbm90IHJldGFpbiB0aGUgcmVxdWVzdCBvciBsYXRlciByZXBvcnQgcmVzdWx0c1xcbisgKlxcdG9yIGNvbXBsZXRpb24gZm9yIGl0LlxcbiAgKiBAYWJvcnRfcG1zcjogYWJvcnQgcGVlciBtZWFzdXJlbWVudFxcbiAgKlxcbiAgKiBAdXBkYXRlX293ZV9pbmZvOiBQcm92aWRlIHVwZGF0ZWQgT1dFIGluZm8gdG8gZHJpdmVyLiBEcml2ZXIgaW1wbGVtZW50aW5nIFNNRVxcbmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9tYWM4MDIxMS5oIGIvaW5jbHVkZS9uZXQvbWFjODAyMTEuaFxcbmluZGV4IDRmOTVkYTAyMzc0NmY5Li42NDYwMGU3YmQyNTFjZCAxMDA2NDRcXG4tLS0gYS9pbmNsdWRlL25ldC9tYWM4MDIxMS5oXFxuKysrIGIvaW5jbHVkZS9uZXQvbWFjODAyMTEuaFxcbkBAIC00NjYxLDcgKzQ2NjEsMTEgQEAgc3RydWN0IGllZWU4MDIxMV9wcmVwX3R4X2luZm8ge1xcbiAgKiBAZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHM6IFJldHJpZXZlIEZUTSByZXNwb25kZXIgc3RhdGlzdGljcywgaWYgYXZhaWxhYmxlLlxcbiAgKlxcdFN0YXRpc3RpY3Mgc2hvdWxkIGJlIGN1bXVsYXRpdmUsIGN1cnJlbnRseSBubyB3YXkgdG8gcmVzZXQgaXMgcHJvdmlkZWQuXFxuICAqXFxuLSAqIEBzdGFydF9wbXNyOiBzdGFydCBwZWVyIG1lYXN1cmVtZW50IChlLmcuIEZUTSkgKHRoaXMgY2FsbCBjYW4gc2xlZXApXFxuKyAqIEBzdGFydF9wbXNyOiBzdGFydCBwZWVyIG1lYXN1cmVtZW50IChlLmcuIEZUTSkgKHRoaXMgY2FsbCBjYW4gc2xlZXApLlxcbisgKlxcdFRoZSBjYWxsYmFjayBtYXkgY29tcGxldGUgdGhlIHJlcXVlc3QgYmVmb3JlIHJldHVybmluZyBzdWNjZXNzLlxcbisgKlxcdEFmdGVyIGNvbXBsZXRpbmcgaXQsIHRoZSBkcml2ZXIgbXVzdCBub3QgYWNjZXNzIHRoZSByZXF1ZXN0LiBJZiB0aGVcXG4rICpcXHRjYWxsYmFjayByZXR1cm5zIGFuIGVycm9yLCB0aGUgZHJpdmVyIG11c3Qgbm90IHJldGFpbiB0aGUgcmVxdWVzdCBvclxcbisgKlxcdGxhdGVyIHJlcG9ydCByZXN1bHRzIG9yIGNvbXBsZXRpb24gZm9yIGl0LlxcbiAgKiBAYWJvcnRfcG1zcjogYWJvcnQgcGVlciBtZWFzdXJlbWVudCAodGhpcyBjYWxsIGNhbiBzbGVlcClcXG4gICogQHNldF90aWRfY29uZmlnOiBBcHBseSBUSUQgc3BlY2lmaWMgY29uZmlndXJhdGlvbnMuIFRoaXMgY2FsbGJhY2sgbWF5IHNsZWVwLlxcbiAgKiBAcmVzZXRfdGlkX2NvbmZpZzogUmVzZXQgVElEIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwZWVyLlxcbmRpZmYgLS1naXQgYS9uZXQvd2lyZWxlc3MvcG1zci5jIGIvbmV0L3dpcmVsZXNzL3Btc3IuY1xcbmluZGV4IGQxZTJmYWU1YmMwZTU4Li4zNDg0OTU2ZWJiNTBjNyAxMDA2NDRcXG4tLS0gYS9uZXQvd2lyZWxlc3MvcG1zci5jXFxuKysrIGIvbmV0L3dpcmVsZXNzL3Btc3IuY1xcbkBAIC00MjAsNiArNDIwLDcgQEAgaW50IG5sODAyMTFfcG1zcl9zdGFydChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxcbiBcXHRjb25zdCBzdHJ1Y3QgY2ZnODAyMTFfcG1zcl9jYXBhYmlsaXRpZXMgKmNhcGE7XFxuIFxcdHN0cnVjdCBjZmc4MDIxMV9wbXNyX3JlcXVlc3QgKnJlcTtcXG4gXFx0c3RydWN0IG5sYXR0ciAqcGVlcnMsICpwZWVyO1xcbitcXHR1NjQgY29va2llO1xcbiBcXG4gXFx0Y2FwYSA9IHJkZXYtXFx1MDAzZXdpcGh5LnBtc3JfY2FwYTtcXG4gXFxuQEAgLTUyMSwxNCArNTIyLDI2IEBAIGludCBubDgwMjExX3Btc3Jfc3RhcnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4gXFx0fVxcbiBcXHRyZXEtXFx1MDAzZWNvb2tpZSA9IGNmZzgwMjExX2Fzc2lnbl9jb29raWUocmRldik7XFxuIFxcdHJlcS1cXHUwMDNlbmxfcG9ydGlkID0gaW5mby1cXHUwMDNlc25kX3BvcnRpZDtcXG4rXFx0Y29va2llID0gcmVxLVxcdTAwM2Vjb29raWU7XFxuK1xcbitcXHQvKlxcbitcXHQgKiBQdWJsaXNoIGJlZm9yZSB0aGUgZHJpdmVyIGNhbiBjb21wbGV0ZSB0aGUgcmVxdWVzdC4gQ29tcGxldGlvbiBtYXkgZnJlZVxcbitcXHQgKiBpdCBiZWZvcmUgcmRldl9zdGFydF9wbXNyKCkgcmV0dXJucywgc28gdXNlIHRoZSBjb29raWUgc25hcHNob3QgYmVsb3cuXFxuK1xcdCAqL1xcbitcXHRzcGluX2xvY2tfYmgoXFx1MDAyNndkZXYtXFx1MDAzZXBtc3JfbG9jayk7XFxuK1xcdGxpc3RfYWRkX3RhaWwoXFx1MDAyNnJlcS1cXHUwMDNlbGlzdCwgXFx1MDAyNndkZXYtXFx1MDAzZXBtc3JfbGlzdCk7XFxuK1xcdHNwaW5fdW5sb2NrX2JoKFxcdTAwMjZ3ZGV2LVxcdTAwM2VwbXNyX2xvY2spO1xcbiBcXG4gXFx0ZXJyID0gcmRldl9zdGFydF9wbXNyKHJkZXYsIHdkZXYsIHJlcSk7XFxuLVxcdGlmIChlcnIpXFxuK1xcdGlmIChlcnIpIHtcXG4rXFx0XFx0LyogQW4gZXJyb3IgcmV0dXJuIGxlYXZlcyB0aGUgcmVxdWVzdCBvd25lZCBieSB0aGlzIHBhdGguICovXFxuK1xcdFxcdHNwaW5fbG9ja19iaChcXHUwMDI2d2Rldi1cXHUwMDNlcG1zcl9sb2NrKTtcXG4rXFx0XFx0bGlzdF9kZWwoXFx1MDAyNnJlcS1cXHUwMDNlbGlzdCk7XFxuK1xcdFxcdHNwaW5fdW5sb2NrX2JoKFxcdTAwMjZ3ZGV2LVxcdTAwM2VwbXNyX2xvY2spO1xcbiBcXHRcXHRnb3RvIG91dF9lcnI7XFxuK1xcdH1cXG4gXFxuLVxcdGxpc3RfYWRkX3RhaWwoXFx1MDAyNnJlcS1cXHUwMDNlbGlzdCwgXFx1MDAyNndkZXYtXFx1MDAzZXBtc3JfbGlzdCk7XFxuLVxcbi1cXHRubF9zZXRfZXh0YWNrX2Nvb2tpZV91NjQoaW5mby1cXHUwMDNlZXh0YWNrLCByZXEtXFx1MDAzZWNvb2tpZSk7XFxuK1xcdG5sX3NldF9leHRhY2tfY29va2llX3U2NChpbmZvLVxcdTAwM2VleHRhY2ssIGNvb2tpZSk7XFxuIFxcdHJldHVybiAwO1xcbiBvdXRfZXJyOlxcbiBcXHRrZnJlZShyZXEpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQwMzo0OTo1Ni41MDkyNjg4NDdaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjoyMTk4MzYzMzI5MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJDRkc4MDIxMVwiLFxuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIk1BQzgwMjExX0hXU0lNXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmw4MDIxMV9wbXNyX3N0YXJ0XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSByYWNlIGNvbmRpdGlvbiBpbiBgbmw4MDIxMV9wbXNyX3N0YXJ0YCB3aGVyZSBhIHJlcXVlc3QgY291bGQgYmUgY29tcGxldGVkIGFuZCBmcmVlZCBieSB0aGUgZHJpdmVyIGJlZm9yZSBiZWluZyBhZGRlZCB0byB0aGUgYHBtc3JfbGlzdGAuIFRoaXMgaXMgcmVhY2hhYmxlIHZpYSB0aGUgYE5MODAyMTFfQ01EX1BFRVJfTUVBU1VSRU1FTlRfU1RBUlRgIG5ldGxpbmsgY29tbWFuZC4gRnV6emluZyB0aGlzIGZ1bmN0aW9uIHdpdGggYG1hYzgwMjExX2h3c2ltYCBlbmFibGVkIHdpbGwgZXhlcmNpc2UgdGhpcyBjb2RlIHBhdGguXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgM2ZiZjc4Y2JhNWRjYTYwZjA5YzZhYzdmZDI5MTgxYmIyMmJhOTYxYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgSnVsIDI0IDAzOjQ5OjUzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvY2ZnODAyMTEuaCBiL2luY2x1ZGUvbmV0L2NmZzgwMjExLmhcbmluZGV4IGY1YWJmMWRiNzU1OGJjLi5hOGJhNDg0ZWNhZDZmOCAxMDA2NDRcbi0tLSBhL2luY2x1ZGUvbmV0L2NmZzgwMjExLmhcbisrKyBiL2luY2x1ZGUvbmV0L2NmZzgwMjExLmhcbkBAIC01MjAyLDcgKzUyMDIsMTEgQEAgc3RydWN0IG1nbXRfZnJhbWVfcmVncyB7XG4gICpcbiAgKiBAZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHM6IFJldHJpZXZlIEZUTSByZXNwb25kZXIgc3RhdGlzdGljcywgaWYgYXZhaWxhYmxlLlxuICAqXHRTdGF0aXN0aWNzIHNob3VsZCBiZSBjdW11bGF0aXZlLCBjdXJyZW50bHkgbm8gd2F5IHRvIHJlc2V0IGlzIHByb3ZpZGVkLlxuLSAqIEBzdGFydF9wbXNyOiBzdGFydCBwZWVyIG1lYXN1cmVtZW50IChlLmcuIEZUTSlcbisgKiBAc3RhcnRfcG1zcjogc3RhcnQgcGVlciBtZWFzdXJlbWVudCAoZS5nLiBGVE0pLiBUaGUgY2FsbGJhY2sgbWF5XG4rICpcdGNvbXBsZXRlIHRoZSByZXF1ZXN0IGJlZm9yZSByZXR1cm5pbmcgc3VjY2Vzcy4gQWZ0ZXIgY29tcGxldGluZyBpdCxcbisgKlx0dGhlIGRyaXZlciBtdXN0IG5vdCBhY2Nlc3MgdGhlIHJlcXVlc3QuIElmIHRoZSBjYWxsYmFjayByZXR1cm5zIGFuXG4rICpcdGVycm9yLCB0aGUgZHJpdmVyIG11c3Qgbm90IHJldGFpbiB0aGUgcmVxdWVzdCBvciBsYXRlciByZXBvcnQgcmVzdWx0c1xuKyAqXHRvciBjb21wbGV0aW9uIGZvciBpdC5cbiAgKiBAYWJvcnRfcG1zcjogYWJvcnQgcGVlciBtZWFzdXJlbWVudFxuICAqXG4gICogQHVwZGF0ZV9vd2VfaW5mbzogUHJvdmlkZSB1cGRhdGVkIE9XRSBpbmZvIHRvIGRyaXZlci4gRHJpdmVyIGltcGxlbWVudGluZyBTTUVcbmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9tYWM4MDIxMS5oIGIvaW5jbHVkZS9uZXQvbWFjODAyMTEuaFxuaW5kZXggNGY5NWRhMDIzNzQ2ZjkuLjY0NjAwZTdiZDI1MWNkIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9uZXQvbWFjODAyMTEuaFxuKysrIGIvaW5jbHVkZS9uZXQvbWFjODAyMTEuaFxuQEAgLTQ2NjEsNyArNDY2MSwxMSBAQCBzdHJ1Y3QgaWVlZTgwMjExX3ByZXBfdHhfaW5mbyB7XG4gICogQGdldF9mdG1fcmVzcG9uZGVyX3N0YXRzOiBSZXRyaWV2ZSBGVE0gcmVzcG9uZGVyIHN0YXRpc3RpY3MsIGlmIGF2YWlsYWJsZS5cbiAgKlx0U3RhdGlzdGljcyBzaG91bGQgYmUgY3VtdWxhdGl2ZSwgY3VycmVudGx5IG5vIHdheSB0byByZXNldCBpcyBwcm92aWRlZC5cbiAgKlxuLSAqIEBzdGFydF9wbXNyOiBzdGFydCBwZWVyIG1lYXN1cmVtZW50IChlLmcuIEZUTSkgKHRoaXMgY2FsbCBjYW4gc2xlZXApXG4rICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKSAodGhpcyBjYWxsIGNhbiBzbGVlcCkuXG4rICpcdFRoZSBjYWxsYmFjayBtYXkgY29tcGxldGUgdGhlIHJlcXVlc3QgYmVmb3JlIHJldHVybmluZyBzdWNjZXNzLlxuKyAqXHRBZnRlciBjb21wbGV0aW5nIGl0LCB0aGUgZHJpdmVyIG11c3Qgbm90IGFjY2VzcyB0aGUgcmVxdWVzdC4gSWYgdGhlXG4rICpcdGNhbGxiYWNrIHJldHVybnMgYW4gZXJyb3IsIHRoZSBkcml2ZXIgbXVzdCBub3QgcmV0YWluIHRoZSByZXF1ZXN0IG9yXG4rICpcdGxhdGVyIHJlcG9ydCByZXN1bHRzIG9yIGNvbXBsZXRpb24gZm9yIGl0LlxuICAqIEBhYm9ydF9wbXNyOiBhYm9ydCBwZWVyIG1lYXN1cmVtZW50ICh0aGlzIGNhbGwgY2FuIHNsZWVwKVxuICAqIEBzZXRfdGlkX2NvbmZpZzogQXBwbHkgVElEIHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zLiBUaGlzIGNhbGxiYWNrIG1heSBzbGVlcC5cbiAgKiBAcmVzZXRfdGlkX2NvbmZpZzogUmVzZXQgVElEIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwZWVyLlxuZGlmZiAtLWdpdCBhL25ldC93aXJlbGVzcy9wbXNyLmMgYi9uZXQvd2lyZWxlc3MvcG1zci5jXG5pbmRleCBkMWUyZmFlNWJjMGU1OC4uMzQ4NDk1NmViYjUwYzcgMTAwNjQ0XG4tLS0gYS9uZXQvd2lyZWxlc3MvcG1zci5jXG4rKysgYi9uZXQvd2lyZWxlc3MvcG1zci5jXG5AQCAtNDIwLDYgKzQyMCw3IEBAIGludCBubDgwMjExX3Btc3Jfc3RhcnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbiBcdGNvbnN0IHN0cnVjdCBjZmc4MDIxMV9wbXNyX2NhcGFiaWxpdGllcyAqY2FwYTtcbiBcdHN0cnVjdCBjZmc4MDIxMV9wbXNyX3JlcXVlc3QgKnJlcTtcbiBcdHN0cnVjdCBubGF0dHIgKnBlZXJzLCAqcGVlcjtcbitcdHU2NCBjb29raWU7XG4gXG4gXHRjYXBhID0gcmRldi1cdTAwM2V3aXBoeS5wbXNyX2NhcGE7XG4gXG5AQCAtNTIxLDE0ICs1MjIsMjYgQEAgaW50IG5sODAyMTFfcG1zcl9zdGFydChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuIFx0fVxuIFx0cmVxLVx1MDAzZWNvb2tpZSA9IGNmZzgwMjExX2Fzc2lnbl9jb29raWUocmRldik7XG4gXHRyZXEtXHUwMDNlbmxfcG9ydGlkID0gaW5mby1cdTAwM2VzbmRfcG9ydGlkO1xuK1x0Y29va2llID0gcmVxLVx1MDAzZWNvb2tpZTtcbitcbitcdC8qXG4rXHQgKiBQdWJsaXNoIGJlZm9yZSB0aGUgZHJpdmVyIGNhbiBjb21wbGV0ZSB0aGUgcmVxdWVzdC4gQ29tcGxldGlvbiBtYXkgZnJlZVxuK1x0ICogaXQgYmVmb3JlIHJkZXZfc3RhcnRfcG1zcigpIHJldHVybnMsIHNvIHVzZSB0aGUgY29va2llIHNuYXBzaG90IGJlbG93LlxuK1x0ICovXG4rXHRzcGluX2xvY2tfYmgoXHUwMDI2d2Rldi1cdTAwM2VwbXNyX2xvY2spO1xuK1x0bGlzdF9hZGRfdGFpbChcdTAwMjZyZXEtXHUwMDNlbGlzdCwgXHUwMDI2d2Rldi1cdTAwM2VwbXNyX2xpc3QpO1xuK1x0c3Bpbl91bmxvY2tfYmgoXHUwMDI2d2Rldi1cdTAwM2VwbXNyX2xvY2spO1xuIFxuIFx0ZXJyID0gcmRldl9zdGFydF9wbXNyKHJkZXYsIHdkZXYsIHJlcSk7XG4tXHRpZiAoZXJyKVxuK1x0aWYgKGVycikge1xuK1x0XHQvKiBBbiBlcnJvciByZXR1cm4gbGVhdmVzIHRoZSByZXF1ZXN0IG93bmVkIGJ5IHRoaXMgcGF0aC4gKi9cbitcdFx0c3Bpbl9sb2NrX2JoKFx1MDAyNndkZXYtXHUwMDNlcG1zcl9sb2NrKTtcbitcdFx0bGlzdF9kZWwoXHUwMDI2cmVxLVx1MDAzZWxpc3QpO1xuK1x0XHRzcGluX3VubG9ja19iaChcdTAwMjZ3ZGV2LVx1MDAzZXBtc3JfbG9jayk7XG4gXHRcdGdvdG8gb3V0X2VycjtcbitcdH1cbiBcbi1cdGxpc3RfYWRkX3RhaWwoXHUwMDI2cmVxLVx1MDAzZWxpc3QsIFx1MDAyNndkZXYtXHUwMDNlcG1zcl9saXN0KTtcbi1cbi1cdG5sX3NldF9leHRhY2tfY29va2llX3U2NChpbmZvLVx1MDAzZWV4dGFjaywgcmVxLVx1MDAzZWNvb2tpZSk7XG4rXHRubF9zZXRfZXh0YWNrX2Nvb2tpZV91NjQoaW5mby1cdTAwM2VleHRhY2ssIGNvb2tpZSk7XG4gXHRyZXR1cm4gMDtcbiBvdXRfZXJyOlxuIFx0a2ZyZWUocmVxKTtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI0VDAzOjQ5OjU2LjUwOTI3MTAwN1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY5NTMzMTgzOTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgV2lyZWxlc3MgU3Vic3lzdGVtIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0J3MgdG91Y2hlZCBgbmV0L3dpcmVsZXNzL3Btc3IuY2AgYW5kIGEgY291cGxlIG9mIGtleSBoZWFkZXJzLCBgY2ZnODAyMTEuaGAgYW5kIGBtYWM4MDIxMS5oYC4gRnJvbSB0aGUgbG9vayBvZiBpdCwgdGhpcyBpcyBhIGNoYW5nZSB0byB0aGUgcG93ZXIgbWFuYWdlbWVudCBzdGF0ZSByZXBvcnRpbmcgKFBNU1IpIGZ1bmN0aW9uYWxpdHksIHNwZWNpZmljYWxseSB3aXRoaW4gdGhlIGBubDgwMjExX3Btc3Jfc3RhcnRgIGZ1bmN0aW9uLlxuXG5UaGUgY29yZSBvZiB0aGUgY2hhbmdlIGlzIGFib3V0IHRoZSAqb3JkZXIqIG9mIG9wZXJhdGlvbnMsIHdoaWNoIGlzIGFsd2F5cyBhIHJlZCBmbGFnIGZvciBjb25jdXJyZW5jeSBidWdzLiAgQmVmb3JlLCB0aGUgcmVxdWVzdCAoYHJlcWApIHdhcyBhZGRlZCB0byBgd2Rldi1cdTAwM2VwbXNyX2xpc3RgICphZnRlciogYHJkZXZfc3RhcnRfcG1zcmAgd2FzIGNhbGxlZCBhbmQgc3VjY2VlZGVkLiBOb3csIGl0J3MgYmVpbmcgYWRkZWQgKmJlZm9yZSogYHJkZXZfc3RhcnRfcG1zcmAsIGFuZCBvbmx5IHJlbW92ZWQgaWYgYHJkZXZfc3RhcnRfcG1zcmAgZmFpbHMuICBUaGlzIGltbWVkaWF0ZWx5IHNjcmVhbXMgXCJyYWNlIGNvbmRpdGlvbiBmaXguXCIgVGhlIG9yaWdpbmFsIGNvZGUgbGlrZWx5IGhhZCBhIHdpbmRvdyB3aGVyZSBgcmRldl9zdGFydF9wbXNyYCBjb3VsZCBjb21wbGV0ZSB0aGUgUE1TUiByZXF1ZXN0ICpiZWZvcmUqIHJldHVybmluZywgcG90ZW50aWFsbHkgZnJlZWluZyB0aGUgYHJlcWAgb2JqZWN0IGFuZCB0aGVuIGNhdXNpbmcgYSB1c2UtYWZ0ZXItZnJlZSBvciBjb3JydXB0aW5nIHRoZSBsaXN0IGlmIHRoZSBhZGRpdGlvbiB0byB0aGUgbGlzdCBoYXBwZW5lZCBhZnRlciB0aGUgY29tcGxldGlvbiwgYnV0IGJlZm9yZSB0aGUgcmV0dXJuLiAgVGhhdCdzIGEgbmFzdHkgb25lLlxuXG5UaGlzIGlzIGEgZnVuZGFtZW50YWwgY2hhbmdlIHRvIGBjZmc4MDIxMWAsIHRoZSBjb3JlIHdpcmVsZXNzIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlLCB3aGljaCBtZWFucyBpdOKAmXMgY3JpdGljYWwuICBBbmQgc2luY2UgYG5sODAyMTFfcG1zcl9zdGFydGAgaXMgcmVhY2hhYmxlIHZpYSBuZXRsaW5rLCB3aGljaCBtZWFucyBpdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGV4dGVybmFsIHByb2Nlc3Nlcy5cblxuVGhlIGltcGxpY2F0aW9ucyBhcmUgY2xlYXI6IGdpdmVuIHRoZSBwb3RlbnRpYWwgZm9yIHJhY2UgY29uZGl0aW9ucyBhbmQgZXhwb3N1cmUgdGhyb3VnaCBuZXRsaW5rLCB0aGlzIGRlZmluaXRlbHkgbmVlZHMgZnV6emluZy4gIEkgbmVlZCB0byBkaWcgaW50byBgbmV0L3dpcmVsZXNzL3Btc3IuY2AgYW5kIHNwZWNpZmljYWxseSBgbmw4MDIxMV9wbXNyX3N0YXJ0YCBhbmQgc2VlIGhvdyBpdCBpbnRlcmFjdHMgd2l0aCB0aGUgdW5kZXJseWluZyBoYXJkd2FyZSBkcml2ZXJzLiBUaGUgYENGRzgwMjExYCBjb25maWcgb3B0aW9uIHRlbGxzIG1lIEknbSBpbiB0aGUgcmlnaHQgcGxhY2UuXG5cbknigJlsbCBkbyBhIHF1aWNrIGdyZXAgdG8gbWFrZSBzdXJlIEkgaGF2ZW4ndCBtaXNzZWQgYW55dGhpbmcgb2J2aW91cy4gIFxuXG5cbiIsIklucHV0VG9rZW5zIjoyOTY1LCJPdXRwdXRUb2tlbnMiOjM2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzI3LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMDM6NTA6MDMuNDYyNTkyMTE3WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE5MTA4MzM2NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJubDgwMjExX3Btc3Jfc3RhcnRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3dpcmVsZXNzL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvd2lyZWxlc3Mvbmw4MDIxMS5jPTE5NTQ3PXN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2VubF9zbWFsbF9vcHMgbmw4MDIxMV9zbWFsbF9vcHNbXSA9IHtcXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMjAzMDYtXFx0XFx0LnZhbGlkYXRlID0gR0VOTF9ET05UX1ZBTElEQVRFX1NUUklDVCB8IEdFTkxfRE9OVF9WQUxJREFURV9EVU1QLFxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmM6MjAzMDc6XFx0XFx0LmRvaXQgPSBubDgwMjExX3Btc3Jfc3RhcnQsXFxubmV0L3dpcmVsZXNzL25sODAyMTEuYy0yMDMwOC1cXHRcXHQuZmxhZ3MgPSBHRU5MX1VOU19BRE1JTl9QRVJNLFxcbi0tXFxubmV0L3dpcmVsZXNzL25sODAyMTEuaD0xMjQ9dm9pZCBjZmc4MDIxMV9mcmVlX2NvYWxlc2NlKHN0cnVjdCBjZmc4MDIxMV9jb2FsZXNjZSAqY29hbGVzY2UpO1xcbi0tXFxubmV0L3dpcmVsZXNzL25sODAyMTEuaC0xMjYtLyogcGVlciBtZWFzdXJlbWVudCAqL1xcbm5ldC93aXJlbGVzcy9ubDgwMjExLmg6MTI3OmludCBubDgwMjExX3Btc3Jfc3RhcnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbyk7XFxubmV0L3dpcmVsZXNzL25sODAyMTEuaC0xMjgtXFxuLS1cXG5uZXQvd2lyZWxlc3MvcG1zci5jPTMwOT1zdGF0aWMgaW50IHBtc3JfcGFyc2VfcGVlcihzdHJ1Y3QgY2ZnODAyMTFfcmVnaXN0ZXJlZF9kZXZpY2UgKnJkZXYsXFxuLS1cXG5uZXQvd2lyZWxlc3MvcG1zci5jLTQxMy1cXG5uZXQvd2lyZWxlc3MvcG1zci5jOjQxNDppbnQgbmw4MDIxMV9wbXNyX3N0YXJ0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXFxubmV0L3dpcmVsZXNzL3Btc3IuYy00MTUte1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQwMzo1MDowMy42NTM2ODA1MTRaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNjE4Mjc2OTIwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgdGhlIFBlZXIgTWVhc3VyZW1lbnQgU3RhcnQgTmV0bGluayBIYW5kbGVyKipcblxuT2theSwgc28gYG5sODAyMTFfcG1zcl9zdGFydGAuLi4gdGhhdCdzIHRoZSBoYW5kbGVyIGZvciBgTkw4MDIxMV9DTURfUEVFUl9NRUFTVVJFTUVOVF9TVEFSVGAg4oCTIHBlcmZlY3QsIHRoYXQncyBkZWZpbml0ZWx5IHRoZSBlbnRyeSBwb2ludCBJJ20gbG9va2luZyBmb3IuIFRoaXMgaXMgYSBjbGVhciB0YXJnZXQgZm9yIGZ1enppbmcuIE5vdywgbGV0J3Mgc2VlLCB0aGUgcmVsZXZhbnQgY29uZmlnIGlzIGBDRkc4MDIxMWAsIG9idmlvdXNseSwgYW5kIHRoZW4gb2YgY291cnNlIGBNQUM4MDIxMWAsIG9yIGBNQUM4MDIxMV9IV1NJTWAgaWYgSSdtIHRlc3RpbmcuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSBnZXQgdGhlIHNldHVwIHJpZ2h0IGZvciBteSB0ZXN0IGVudmlyb25tZW50LiBJIHNob3VsZCBwcm9iYWJseSBqdXN0IHF1aWNrbHkgZ2xhbmNlIGF0IHRoZSBLY29uZmlnIGZvciBgbmV0L3dpcmVsZXNzL3Btc3IuY2AgdG8gbWFrZSBzdXJlIEkgaGF2ZW4ndCBtaXNzZWQgYW55dGhpbmcgY3J1Y2lhbC5cblxuXG4iLCJJbnB1dFRva2VucyI6NDIyMCwiT3V0cHV0VG9rZW5zIjoyOSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjExMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQwMzo1MDowNy4yNzE5NTk0MzRaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTY5Nzc4ODM4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInBtc3Iub1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvd2lyZWxlc3MvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC93aXJlbGVzcy9NYWtlZmlsZT0xMD1jZmc4MDIxMS15ICs9IG1sbWUubyBpYnNzLm8gc21lLm8gY2hhbi5vIGV0aHRvb2wubyBtZXNoLm8gYXAubyB0cmFjZS5vIG9jYi5vXFxubmV0L3dpcmVsZXNzL01ha2VmaWxlOjExOmNmZzgwMjExLXkgKz0gbWljaGFlbC1taWMubyBwbXNyLm9cXG5uZXQvd2lyZWxlc3MvTWFrZWZpbGUtMTItY2ZnODAyMTEtJChDT05GSUdfT0YpICs9IG9mLm9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMDM6NTA6MDcuNDQxNzQzNzMyWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzU0Mzc4ODQ3NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipJbnZlc3RpZ2F0aW5nIHRoZSBWaXJ0dWFsIFBNU1IgRGV2aWNlKipcblxuT2theSwgc28gSSdtIGRpZ2dpbmcgaW50byB0aGlzIFBNU1Igc3VwcG9ydC4gSXQgc2VlbXMgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIGhvb2tlZCBpbnRvIGBjZmc4MDIxMWAsIHdoaWNoIG1ha2VzIHNlbnNlLiBUbyBjcmVhdGUgYSB2aXJ0dWFsIGRldmljZSB0aGF0IGNhbiBhY3R1YWxseSBoYW5kbGUgUE1TUiwgSSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgY29uZmlncyBgQ0ZHODAyMTFgIGFuZCBgTUFDODAyMTFfSFdTSU1gIGFyZSBlbmFibGVkLiBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBzaW11bGF0b3Igc3VwcG9ydHMgaXQsIGFuZCBteSBndXQgY2hlY2sgdGVsbHMgbWUgdG8gcXVpY2tseSB2ZXJpZnkgaWYgYG1hYzgwMjExX2h3c2ltYCBoYXMgaW1wbGVtZW50ZWQgUE1TUiwgb3RoZXJ3aXNlLCB0aGlzIGFwcHJvYWNoIHdvbid0IHdvcmsuIExldCBtZSBkb3VibGUtY2hlY2sgLSBJIG5lZWQgdG8gc2VlIGlmIGVpdGhlciBgbWFjODAyMTFfaHdzaW1gIG9yLCBtb3JlIGJyb2FkbHksIGBtYWM4MDIxMWAgaXRzZWxmIGFjdHVhbGx5IGltcGxlbWVudHMgYSBgc3RhcnRfcG1zcmAgZnVuY3Rpb24gb3Igc29tZXRoaW5nIHNpbWlsYXIuIEkgbmVlZCB0byBrbm93IHdoZXJlIHRoZSBmdW5jdGlvbmFsaXR5IHRvIHN0YXJ0IFBNU1IgcmVzaWRlcy5cblxuXG4iLCJJbnB1dFRva2VucyI6NDY1OSwiT3V0cHV0VG9rZW5zIjozMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEwNCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQwMzo1MDoxMC45ODU1MzUyNzhaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjE5MTkxMjU1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN0YXJ0X3Btc3JcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21hYzgwMjExLmM9MjgyOT1zdGF0aWMgaW50IGl3bF9tbGRfc2V0X2h3X3RpbWVzdGFtcChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21hYzgwMjExLmMtMjg0Ni1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tYWM4MDIxMS5jOjI4NDc6c3RhdGljIGludCBpd2xfbWxkX3N0YXJ0X3Btc3Ioc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYy0yODQ4LVxcdFxcdFxcdCAgICAgIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tYWM4MDIxMS5jPTI5MDQ9Y29uc3Qgc3RydWN0IGllZWU4MDIxMV9vcHMgaXdsX21sZF9od19vcHMgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tYWM4MDIxMS5jLTI5NzUtXFx0LnNldF9od190aW1lc3RhbXAgPSBpd2xfbWxkX3NldF9od190aW1lc3RhbXAsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYzoyOTc2OlxcdC5zdGFydF9wbXNyID0gaXdsX21sZF9zdGFydF9wbXNyLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21hYzgwMjExLmMtMjk3Ny1cXHQuY2FuX25lZ190dGxtID0gaXdsX21sZF9jYW5fbmVnX3R0bG0sXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jPTYyNjE9aXdsX212bV9tYWNfZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHMoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jLTYyODgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYzo2Mjg5OmludCBpd2xfbXZtX3N0YXJ0X3Btc3Ioc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYy02MjkwLVxcdFxcdCAgICAgICBzdHJ1Y3QgY2ZnODAyMTFfcG1zcl9yZXF1ZXN0ICpyZXF1ZXN0KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYz02MzUyPWNvbnN0IHN0cnVjdCBpZWVlODAyMTFfb3BzIGl3bF9tdm1faHdfb3BzID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYy02NDMyLVxcdC5nZXRfZnRtX3Jlc3BvbmRlcl9zdGF0cyA9IGl3bF9tdm1fbWFjX2dldF9mdG1fcmVzcG9uZGVyX3N0YXRzLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21hYzgwMjExLmM6NjQzMzpcXHQuc3RhcnRfcG1zciA9IGl3bF9tdm1fc3RhcnRfcG1zcixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jLTY0MzQtXFx0LmFib3J0X3Btc3IgPSBpd2xfbXZtX2Fib3J0X3Btc3IsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tbGQtbWFjODAyMTEuYz04ODk9Y29uc3Qgc3RydWN0IGllZWU4MDIxMV9vcHMgaXdsX212bV9tbGRfaHdfb3BzID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWxkLW1hYzgwMjExLmMtOTY4LVxcdC5nZXRfZnRtX3Jlc3BvbmRlcl9zdGF0cyA9IGl3bF9tdm1fbWFjX2dldF9mdG1fcmVzcG9uZGVyX3N0YXRzLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21sZC1tYWM4MDIxMS5jOjk2OTpcXHQuc3RhcnRfcG1zciA9IGl3bF9tdm1fc3RhcnRfcG1zcixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tbGQtbWFjODAyMTEuYy05NzAtXFx0LmFib3J0X3Btc3IgPSBpd2xfbXZtX2Fib3J0X3Btc3IsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tdm0uaD0yNzk0PWl3bF9tdm1fbWFjX2dldF9mdG1fcmVzcG9uZGVyX3N0YXRzKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmgtMjc5Ni1cXHRcXHRcXHRcXHQgICAgc3RydWN0IGNmZzgwMjExX2Z0bV9yZXNwb25kZXJfc3RhdHMgKnN0YXRzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tdm0uaDoyNzk3OmludCBpd2xfbXZtX3N0YXJ0X3Btc3Ioc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmgtMjc5OC1cXHRcXHQgICAgICAgc3RydWN0IGNmZzgwMjExX3Btc3JfcmVxdWVzdCAqcmVxdWVzdCk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL21hYzgwMjExX2h3c2ltX21haW4uYz0zNzM0PXN0YXRpYyBpbnQgbWFjODAyMTFfaHdzaW1fc2VuZF9wbXNyX3JlcXVlc3Qoc3RydWN0IHNrX2J1ZmYgKm1zZyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3ZpcnR1YWwvbWFjODAyMTFfaHdzaW1fbWFpbi5jLTM3NjQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9tYWM4MDIxMV9od3NpbV9tYWluLmM6Mzc2NTpzdGF0aWMgaW50IG1hYzgwMjExX2h3c2ltX3N0YXJ0X3Btc3Ioc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9tYWM4MDIxMV9od3NpbV9tYWluLmMtMzc2Ni1cXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL21hYzgwMjExX2h3c2ltX21haW4uYz00MjUwPXN0YXRpYyBpbnQgbWFjODAyMTFfaHdzaW1fc2V0X3JhZGFyX2JhY2tncm91bmQoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL21hYzgwMjExX2h3c2ltX21haW4uYy00Mjk3LVxcdC5nZXRfZXRfc3RyaW5ncyA9IG1hYzgwMjExX2h3c2ltX2dldF9ldF9zdHJpbmdzLFxcdFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL21hYzgwMjExX2h3c2ltX21haW4uYzo0Mjk4OlxcdC5zdGFydF9wbXNyID0gbWFjODAyMTFfaHdzaW1fc3RhcnRfcG1zcixcXHRcXHRcXFxcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9tYWM4MDIxMV9od3NpbV9tYWluLmMtNDI5OS1cXHQuYWJvcnRfcG1zciA9IG1hYzgwMjExX2h3c2ltX2Fib3J0X3Btc3IsXFx0XFx0XFxcXFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQwMzo1MDoxMS4yMDQ3MzE1ODNaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3MDk0MTUwNzUwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgYG5sODAyMTFfcG1zcl9zdGFydGAgd2l0aCBgbWFjODAyMTFfaHdzaW1gKipcblxuT2theSwgc28gaXQgbG9va3MgbGlrZSBgbWFjODAyMTFfaHdzaW1gICpkb2VzKiBzdXBwb3J0IGBzdGFydF9wbXNyYC4gRXhjZWxsZW50ISBUaGlzIG1lYW5zIHdlIGNhbiBkZWZpbml0ZWx5IHRhcmdldCBgbmw4MDIxMV9wbXNyX3N0YXJ0YCBmb3IgZnV6emluZywgYW5kIGxldmVyYWdlIHRoZSBoYXJkd2FyZSBzaW11bGF0b3IuIFdlJ3ZlIGdvdCB0aGUgbmVjZXNzYXJ5IGNvbmZpZ3VyYXRpb25zOiBgQ0ZHODAyMTFgLCBgTUFDODAyMTFgLCBhbmQgYE1BQzgwMjExX0hXU0lNYCDigJMgdGhvc2UgYXJlIHRoZSBrZXkgZW5hYmxlcnMuXG5cblRoZSBjcml0aWNhbCBmdW5jdGlvbiwgdGhlIG9uZSB0byBmb2N1cyBvbiwgaXMsIG9mIGNvdXJzZSwgYG5sODAyMTFfcG1zcl9zdGFydGAuIEkgc2hvdWxkIGRvdWJsZS1jaGVjayB0aGF0IHRoZXJlIGFyZW4ndCBhbnkgb3RoZXIgZnVuY3Rpb25zIHRoYXQgYXJlIHJlbGV2YW50LCBqdXN0IHRvIGJlIHRob3JvdWdoLiBCdXQsIGJhc2VkIG9uIHRoZSBwYXRjaCwgaXQgZGVmaW5pdGVseSBtb2RpZmllcyBgbmw4MDIxMV9wbXNyX3N0YXJ0YCB3aXRoaW4gYG5ldC93aXJlbGVzcy9wbXNyLmNgLiBJdCdzIHByZXR0eSBjbGVhciB0aGlzIGlzIHRoZSBlbnRyeSBwb2ludCwgYW5kIGl0J3MgcmVhY2hhYmxlLlxuXG5Mb29raW5nIGF0IHRoZSBjb250ZXh0LCB0aGlzIHBhdGNoIGlzIGFkZHJlc3NpbmcgYSByYWNlIGNvbmRpdGlvbiBpbiBgbmw4MDIxMV9wbXNyX3N0YXJ0YC4gVGhlIGlzc3VlIGlzIHRoYXQgYSByZXF1ZXN0IGNvdWxkIGJlIGNvbXBsZXRlZCBhbmQgZnJlZWQgYmVmb3JlIGl0IGlzIGFkZGVkIHRvIHRoZSBgcG1zcl9saXN0YC4gTXkgZXhwZXJpZW5jZSB0ZWxscyBtZSB0aGF0IHRoaXMgaXMgZGVmaW5pdGVseSByZWFjaGFibGUgdXNpbmcgdGhlIGBOTDgwMjExX0NNRF9QRUVSX01FQVNVUkVNRU5UX1NUQVJUYCBuZXRsaW5rIGNvbW1hbmQuIFNvLCBmdXp6aW5nIGBubDgwMjExX3Btc3Jfc3RhcnRgIHdpdGggYG1hYzgwMjExX2h3c2ltYCBlbmFibGVkIHdpbGwgZXhlcmNpc2UgdGhpcyBjb2RlIHBhdGggZGlyZWN0bHkuXG5cbk9rYXksIEkgdGhpbmsgd2UgaGF2ZSBhIHNvbGlkIHBsYW4uIExldCdzIGNhbGwgYHNldC1yZXN1bHRzYC5cblxuXG4iLCJJbnB1dFRva2VucyI6NjY4OCwiT3V0cHV0VG9rZW5zIjoxNzEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMTUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMDM6NTA6MTguMjk4ODg1NDYzWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTk0MDEwMzI3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJDRkc4MDIxMVwiLFxuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIk1BQzgwMjExX0hXU0lNXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmw4MDIxMV9wbXNyX3N0YXJ0XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSByYWNlIGNvbmRpdGlvbiBpbiBgbmw4MDIxMV9wbXNyX3N0YXJ0YCB3aGVyZSBhIHJlcXVlc3QgY291bGQgYmUgY29tcGxldGVkIGFuZCBmcmVlZCBieSB0aGUgZHJpdmVyIGJlZm9yZSBiZWluZyBhZGRlZCB0byB0aGUgYHBtc3JfbGlzdGAuIFRoaXMgaXMgcmVhY2hhYmxlIHZpYSB0aGUgYE5MODAyMTFfQ01EX1BFRVJfTUVBU1VSRU1FTlRfU1RBUlRgIG5ldGxpbmsgY29tbWFuZC4gRnV6emluZyB0aGlzIGZ1bmN0aW9uIHdpdGggYG1hYzgwMjExX2h3c2ltYCBlbmFibGVkIHdpbGwgZXhlcmNpc2UgdGhpcyBjb2RlIHBhdGguXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQ0ZHODAyMTFcIixcbiAgICBcIk1BQzgwMjExXCIsXG4gICAgXCJNQUM4MDIxMV9IV1NJTVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5sODAyMTFfcG1zcl9zdGFydFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcmFjZSBjb25kaXRpb24gaW4gYG5sODAyMTFfcG1zcl9zdGFydGAgd2hlcmUgYSByZXF1ZXN0IGNvdWxkIGJlIGNvbXBsZXRlZCBhbmQgZnJlZWQgYnkgdGhlIGRyaXZlciBiZWZvcmUgYmVpbmcgYWRkZWQgdG8gdGhlIGBwbXNyX2xpc3RgLiBUaGlzIGlzIHJlYWNoYWJsZSB2aWEgdGhlIGBOTDgwMjExX0NNRF9QRUVSX01FQVNVUkVNRU5UX1NUQVJUYCBuZXRsaW5rIGNvbW1hbmQuIEZ1enppbmcgdGhpcyBmdW5jdGlvbiB3aXRoIGBtYWM4MDIxMV9od3NpbWAgZW5hYmxlZCB3aWxsIGV4ZXJjaXNlIHRoaXMgY29kZSBwYXRoLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow5vsnr[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-24 03:23:43 +0000 UTC FinishedAt: 2026-07-24 03:50:19 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "48a5a7ab8d6ab7090564339e039c421f315de912", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "CFG80211", "MAC80211", "MAC80211_HWSIM" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "48a5a7ab8d6ab7090564339e039c421f315de912", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "CFG80211", "MAC80211", "MAC80211_HWSIM" ], "series_id": "334e5116-e031-4d4f-93f8-5a325191a1c6" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "nl80211_pmsr_start" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDAzOjQ5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0NGRzgwMjExJiMzNDssCiAgICAmIzM0O01BQzgwMjExJiMzNDssCiAgICAmIzM0O01BQzgwMjExX0hXU0lNJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmw4MDIxMV9wbXNyX3N0YXJ0JiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcmFjZSBjb25kaXRpb24gaW4gYG5sODAyMTFfcG1zcl9zdGFydGAgd2hlcmUgYSByZXF1ZXN0IGNvdWxkIGJlIGNvbXBsZXRlZCBhbmQgZnJlZWQgYnkgdGhlIGRyaXZlciBiZWZvcmUgYmVpbmcgYWRkZWQgdG8gdGhlIGBwbXNyX2xpc3RgLiBUaGlzIGlzIHJlYWNoYWJsZSB2aWEgdGhlIGBOTDgwMjExX0NNRF9QRUVSX01FQVNVUkVNRU5UX1NUQVJUYCBuZXRsaW5rIGNvbW1hbmQuIEZ1enppbmcgdGhpcyBmdW5jdGlvbiB3aXRoIGBtYWM4MDIxMV9od3NpbWAgZW5hYmxlZCB3aWxsIGV4ZXJjaXNlIHRoaXMgY29kZSBwYXRoLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDAzOjQ5PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgM2ZiZjc4Y2JhNWRjYTYwZjA5YzZhYzdmZDI5MTgxYmIyMmJhOTYxYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgSnVsIDI0IDAzOjQ5OjUzIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L2NmZzgwMjExLmggYi9pbmNsdWRlL25ldC9jZmc4MDIxMS5oXG5pbmRleCBmNWFiZjFkYjc1NThiYy4uYThiYTQ4NGVjYWQ2ZjggMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL25ldC9jZmc4MDIxMS5oXG4mIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL25ldC9jZmc4MDIxMS5oXG5AQCAtNTIwMiw3ICYjNDM7NTIwMiwxMSBAQCBzdHJ1Y3QgbWdtdF9mcmFtZV9yZWdzIHtcbiAgKlxuICAqIEBnZXRfZnRtX3Jlc3BvbmRlcl9zdGF0czogUmV0cmlldmUgRlRNIHJlc3BvbmRlciBzdGF0aXN0aWNzLCBpZiBhdmFpbGFibGUuXG4gICpcdFN0YXRpc3RpY3Mgc2hvdWxkIGJlIGN1bXVsYXRpdmUsIGN1cnJlbnRseSBubyB3YXkgdG8gcmVzZXQgaXMgcHJvdmlkZWQuXG4tICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKVxuJiM0MzsgKiBAc3RhcnRfcG1zcjogc3RhcnQgcGVlciBtZWFzdXJlbWVudCAoZS5nLiBGVE0pLiBUaGUgY2FsbGJhY2sgbWF5XG4mIzQzOyAqXHRjb21wbGV0ZSB0aGUgcmVxdWVzdCBiZWZvcmUgcmV0dXJuaW5nIHN1Y2Nlc3MuIEFmdGVyIGNvbXBsZXRpbmcgaXQsXG4mIzQzOyAqXHR0aGUgZHJpdmVyIG11c3Qgbm90IGFjY2VzcyB0aGUgcmVxdWVzdC4gSWYgdGhlIGNhbGxiYWNrIHJldHVybnMgYW5cbiYjNDM7ICpcdGVycm9yLCB0aGUgZHJpdmVyIG11c3Qgbm90IHJldGFpbiB0aGUgcmVxdWVzdCBvciBsYXRlciByZXBvcnQgcmVzdWx0c1xuJiM0MzsgKlx0b3IgY29tcGxldGlvbiBmb3IgaXQuXG4gICogQGFib3J0X3Btc3I6IGFib3J0IHBlZXIgbWVhc3VyZW1lbnRcbiAgKlxuICAqIEB1cGRhdGVfb3dlX2luZm86IFByb3ZpZGUgdXBkYXRlZCBPV0UgaW5mbyB0byBkcml2ZXIuIERyaXZlciBpbXBsZW1lbnRpbmcgU01FXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvbWFjODAyMTEuaCBiL2luY2x1ZGUvbmV0L21hYzgwMjExLmhcbmluZGV4IDRmOTVkYTAyMzc0NmY5Li42NDYwMGU3YmQyNTFjZCAxMDA2NDRcbi0tLSBhL2luY2x1ZGUvbmV0L21hYzgwMjExLmhcbiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbmV0L21hYzgwMjExLmhcbkBAIC00NjYxLDcgJiM0Mzs0NjYxLDExIEBAIHN0cnVjdCBpZWVlODAyMTFfcHJlcF90eF9pbmZvIHtcbiAgKiBAZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHM6IFJldHJpZXZlIEZUTSByZXNwb25kZXIgc3RhdGlzdGljcywgaWYgYXZhaWxhYmxlLlxuICAqXHRTdGF0aXN0aWNzIHNob3VsZCBiZSBjdW11bGF0aXZlLCBjdXJyZW50bHkgbm8gd2F5IHRvIHJlc2V0IGlzIHByb3ZpZGVkLlxuICAqXG4tICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKSAodGhpcyBjYWxsIGNhbiBzbGVlcClcbiYjNDM7ICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKSAodGhpcyBjYWxsIGNhbiBzbGVlcCkuXG4mIzQzOyAqXHRUaGUgY2FsbGJhY2sgbWF5IGNvbXBsZXRlIHRoZSByZXF1ZXN0IGJlZm9yZSByZXR1cm5pbmcgc3VjY2Vzcy5cbiYjNDM7ICpcdEFmdGVyIGNvbXBsZXRpbmcgaXQsIHRoZSBkcml2ZXIgbXVzdCBub3QgYWNjZXNzIHRoZSByZXF1ZXN0LiBJZiB0aGVcbiYjNDM7ICpcdGNhbGxiYWNrIHJldHVybnMgYW4gZXJyb3IsIHRoZSBkcml2ZXIgbXVzdCBub3QgcmV0YWluIHRoZSByZXF1ZXN0IG9yXG4mIzQzOyAqXHRsYXRlciByZXBvcnQgcmVzdWx0cyBvciBjb21wbGV0aW9uIGZvciBpdC5cbiAgKiBAYWJvcnRfcG1zcjogYWJvcnQgcGVlciBtZWFzdXJlbWVudCAodGhpcyBjYWxsIGNhbiBzbGVlcClcbiAgKiBAc2V0X3RpZF9jb25maWc6IEFwcGx5IFRJRCBzcGVjaWZpYyBjb25maWd1cmF0aW9ucy4gVGhpcyBjYWxsYmFjayBtYXkgc2xlZXAuXG4gICogQHJlc2V0X3RpZF9jb25maWc6IFJlc2V0IFRJRCBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGZvciB0aGUgcGVlci5cbmRpZmYgLS1naXQgYS9uZXQvd2lyZWxlc3MvcG1zci5jIGIvbmV0L3dpcmVsZXNzL3Btc3IuY1xuaW5kZXggZDFlMmZhZTViYzBlNTguLjM0ODQ5NTZlYmI1MGM3IDEwMDY0NFxuLS0tIGEvbmV0L3dpcmVsZXNzL3Btc3IuY1xuJiM0MzsmIzQzOyYjNDM7IGIvbmV0L3dpcmVsZXNzL3Btc3IuY1xuQEAgLTQyMCw2ICYjNDM7NDIwLDcgQEAgaW50IG5sODAyMTFfcG1zcl9zdGFydChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuIFx0Y29uc3Qgc3RydWN0IGNmZzgwMjExX3Btc3JfY2FwYWJpbGl0aWVzICpjYXBhO1xuIFx0c3RydWN0IGNmZzgwMjExX3Btc3JfcmVxdWVzdCAqcmVxO1xuIFx0c3RydWN0IG5sYXR0ciAqcGVlcnMsICpwZWVyO1xuJiM0MztcdHU2NCBjb29raWU7XG4gXG4gXHRjYXBhID0gcmRldi1cdTAwM2V3aXBoeS5wbXNyX2NhcGE7XG4gXG5AQCAtNTIxLDE0ICYjNDM7NTIyLDI2IEBAIGludCBubDgwMjExX3Btc3Jfc3RhcnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbiBcdH1cbiBcdHJlcS1cdTAwM2Vjb29raWUgPSBjZmc4MDIxMV9hc3NpZ25fY29va2llKHJkZXYpO1xuIFx0cmVxLVx1MDAzZW5sX3BvcnRpZCA9IGluZm8tXHUwMDNlc25kX3BvcnRpZDtcbiYjNDM7XHRjb29raWUgPSByZXEtXHUwMDNlY29va2llO1xuJiM0MztcbiYjNDM7XHQvKlxuJiM0MztcdCAqIFB1Ymxpc2ggYmVmb3JlIHRoZSBkcml2ZXIgY2FuIGNvbXBsZXRlIHRoZSByZXF1ZXN0LiBDb21wbGV0aW9uIG1heSBmcmVlXG4mIzQzO1x0ICogaXQgYmVmb3JlIHJkZXZfc3RhcnRfcG1zcigpIHJldHVybnMsIHNvIHVzZSB0aGUgY29va2llIHNuYXBzaG90IGJlbG93LlxuJiM0MztcdCAqL1xuJiM0MztcdHNwaW5fbG9ja19iaChcdTAwMjZ3ZGV2LVx1MDAzZXBtc3JfbG9jayk7XG4mIzQzO1x0bGlzdF9hZGRfdGFpbChcdTAwMjZyZXEtXHUwMDNlbGlzdCwgXHUwMDI2d2Rldi1cdTAwM2VwbXNyX2xpc3QpO1xuJiM0MztcdHNwaW5fdW5sb2NrX2JoKFx1MDAyNndkZXYtXHUwMDNlcG1zcl9sb2NrKTtcbiBcbiBcdGVyciA9IHJkZXZfc3RhcnRfcG1zcihyZGV2LCB3ZGV2LCByZXEpO1xuLVx0aWYgKGVycilcbiYjNDM7XHRpZiAoZXJyKSB7XG4mIzQzO1x0XHQvKiBBbiBlcnJvciByZXR1cm4gbGVhdmVzIHRoZSByZXF1ZXN0IG93bmVkIGJ5IHRoaXMgcGF0aC4gKi9cbiYjNDM7XHRcdHNwaW5fbG9ja19iaChcdTAwMjZ3ZGV2LVx1MDAzZXBtc3JfbG9jayk7XG4mIzQzO1x0XHRsaXN0X2RlbChcdTAwMjZyZXEtXHUwMDNlbGlzdCk7XG4mIzQzO1x0XHRzcGluX3VubG9ja19iaChcdTAwMjZ3ZGV2LVx1MDAzZXBtc3JfbG9jayk7XG4gXHRcdGdvdG8gb3V0X2VycjtcbiYjNDM7XHR9XG4gXG4tXHRsaXN0X2FkZF90YWlsKFx1MDAyNnJlcS1cdTAwM2VsaXN0LCBcdTAwMjZ3ZGV2LVx1MDAzZXBtc3JfbGlzdCk7XG4tXG4tXHRubF9zZXRfZXh0YWNrX2Nvb2tpZV91NjQoaW5mby1cdTAwM2VleHRhY2ssIHJlcS1cdTAwM2Vjb29raWUpO1xuJiM0MztcdG5sX3NldF9leHRhY2tfY29va2llX3U2NChpbmZvLVx1MDAzZWV4dGFjaywgY29va2llKTtcbiBcdHJldHVybiAwO1xuIG91dF9lcnI6XG4gXHRrZnJlZShyZXEpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDAzOjQ5PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtDRkc4MDIxMSYjMzQ7LAogICAgJiMzNDtNQUM4MDIxMSYjMzQ7LAogICAgJiMzNDtNQUM4MDIxMV9IV1NJTSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25sODAyMTFfcG1zcl9zdGFydCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIGBubDgwMjExX3Btc3Jfc3RhcnRgIHdoZXJlIGEgcmVxdWVzdCBjb3VsZCBiZSBjb21wbGV0ZWQgYW5kIGZyZWVkIGJ5IHRoZSBkcml2ZXIgYmVmb3JlIGJlaW5nIGFkZGVkIHRvIHRoZSBgcG1zcl9saXN0YC4gVGhpcyBpcyByZWFjaGFibGUgdmlhIHRoZSBgTkw4MDIxMV9DTURfUEVFUl9NRUFTVVJFTUVOVF9TVEFSVGAgbmV0bGluayBjb21tYW5kLiBGdXp6aW5nIHRoaXMgZnVuY3Rpb24gd2l0aCBgbWFjODAyMTFfaHdzaW1gIGVuYWJsZWQgd2lsbCBleGVyY2lzZSB0aGlzIGNvZGUgcGF0aC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgM2ZiZjc4Y2JhNWRjYTYwZjA5YzZhYzdmZDI5MTgxYmIyMmJhOTYxYgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgSnVsIDI0IDAzOjQ5OjUzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvY2ZnODAyMTEuaCBiL2luY2x1ZGUvbmV0L2NmZzgwMjExLmgKaW5kZXggZjVhYmYxZGI3NTU4YmMuLmE4YmE0ODRlY2FkNmY4IDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9jZmc4MDIxMS5oCiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbmV0L2NmZzgwMjExLmgKQEAgLTUyMDIsNyAmIzQzOzUyMDIsMTEgQEAgc3RydWN0IG1nbXRfZnJhbWVfcmVncyB7CiAgKgogICogQGdldF9mdG1fcmVzcG9uZGVyX3N0YXRzOiBSZXRyaWV2ZSBGVE0gcmVzcG9uZGVyIHN0YXRpc3RpY3MsIGlmIGF2YWlsYWJsZS4KICAqCVN0YXRpc3RpY3Mgc2hvdWxkIGJlIGN1bXVsYXRpdmUsIGN1cnJlbnRseSBubyB3YXkgdG8gcmVzZXQgaXMgcHJvdmlkZWQuCi0gKiBAc3RhcnRfcG1zcjogc3RhcnQgcGVlciBtZWFzdXJlbWVudCAoZS5nLiBGVE0pCiYjNDM7ICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKS4gVGhlIGNhbGxiYWNrIG1heQomIzQzOyAqCWNvbXBsZXRlIHRoZSByZXF1ZXN0IGJlZm9yZSByZXR1cm5pbmcgc3VjY2Vzcy4gQWZ0ZXIgY29tcGxldGluZyBpdCwKJiM0MzsgKgl0aGUgZHJpdmVyIG11c3Qgbm90IGFjY2VzcyB0aGUgcmVxdWVzdC4gSWYgdGhlIGNhbGxiYWNrIHJldHVybnMgYW4KJiM0MzsgKgllcnJvciwgdGhlIGRyaXZlciBtdXN0IG5vdCByZXRhaW4gdGhlIHJlcXVlc3Qgb3IgbGF0ZXIgcmVwb3J0IHJlc3VsdHMKJiM0MzsgKglvciBjb21wbGV0aW9uIGZvciBpdC4KICAqIEBhYm9ydF9wbXNyOiBhYm9ydCBwZWVyIG1lYXN1cmVtZW50CiAgKgogICogQHVwZGF0ZV9vd2VfaW5mbzogUHJvdmlkZSB1cGRhdGVkIE9XRSBpbmZvIHRvIGRyaXZlci4gRHJpdmVyIGltcGxlbWVudGluZyBTTUUKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L21hYzgwMjExLmggYi9pbmNsdWRlL25ldC9tYWM4MDIxMS5oCmluZGV4IDRmOTVkYTAyMzc0NmY5Li42NDYwMGU3YmQyNTFjZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvbWFjODAyMTEuaAomIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL25ldC9tYWM4MDIxMS5oCkBAIC00NjYxLDcgJiM0Mzs0NjYxLDExIEBAIHN0cnVjdCBpZWVlODAyMTFfcHJlcF90eF9pbmZvIHsKICAqIEBnZXRfZnRtX3Jlc3BvbmRlcl9zdGF0czogUmV0cmlldmUgRlRNIHJlc3BvbmRlciBzdGF0aXN0aWNzLCBpZiBhdmFpbGFibGUuCiAgKglTdGF0aXN0aWNzIHNob3VsZCBiZSBjdW11bGF0aXZlLCBjdXJyZW50bHkgbm8gd2F5IHRvIHJlc2V0IGlzIHByb3ZpZGVkLgogICoKLSAqIEBzdGFydF9wbXNyOiBzdGFydCBwZWVyIG1lYXN1cmVtZW50IChlLmcuIEZUTSkgKHRoaXMgY2FsbCBjYW4gc2xlZXApCiYjNDM7ICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKSAodGhpcyBjYWxsIGNhbiBzbGVlcCkuCiYjNDM7ICoJVGhlIGNhbGxiYWNrIG1heSBjb21wbGV0ZSB0aGUgcmVxdWVzdCBiZWZvcmUgcmV0dXJuaW5nIHN1Y2Nlc3MuCiYjNDM7ICoJQWZ0ZXIgY29tcGxldGluZyBpdCwgdGhlIGRyaXZlciBtdXN0IG5vdCBhY2Nlc3MgdGhlIHJlcXVlc3QuIElmIHRoZQomIzQzOyAqCWNhbGxiYWNrIHJldHVybnMgYW4gZXJyb3IsIHRoZSBkcml2ZXIgbXVzdCBub3QgcmV0YWluIHRoZSByZXF1ZXN0IG9yCiYjNDM7ICoJbGF0ZXIgcmVwb3J0IHJlc3VsdHMgb3IgY29tcGxldGlvbiBmb3IgaXQuCiAgKiBAYWJvcnRfcG1zcjogYWJvcnQgcGVlciBtZWFzdXJlbWVudCAodGhpcyBjYWxsIGNhbiBzbGVlcCkKICAqIEBzZXRfdGlkX2NvbmZpZzogQXBwbHkgVElEIHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zLiBUaGlzIGNhbGxiYWNrIG1heSBzbGVlcC4KICAqIEByZXNldF90aWRfY29uZmlnOiBSZXNldCBUSUQgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBmb3IgdGhlIHBlZXIuCmRpZmYgLS1naXQgYS9uZXQvd2lyZWxlc3MvcG1zci5jIGIvbmV0L3dpcmVsZXNzL3Btc3IuYwppbmRleCBkMWUyZmFlNWJjMGU1OC4uMzQ4NDk1NmViYjUwYzcgMTAwNjQ0Ci0tLSBhL25ldC93aXJlbGVzcy9wbXNyLmMKJiM0MzsmIzQzOyYjNDM7IGIvbmV0L3dpcmVsZXNzL3Btc3IuYwpAQCAtNDIwLDYgJiM0Mzs0MjAsNyBAQCBpbnQgbmw4MDIxMV9wbXNyX3N0YXJ0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pCiAJY29uc3Qgc3RydWN0IGNmZzgwMjExX3Btc3JfY2FwYWJpbGl0aWVzICpjYXBhOwogCXN0cnVjdCBjZmc4MDIxMV9wbXNyX3JlcXVlc3QgKnJlcTsKIAlzdHJ1Y3QgbmxhdHRyICpwZWVycywgKnBlZXI7CiYjNDM7CXU2NCBjb29raWU7CiAKIAljYXBhID0gcmRldi0mZ3Q7d2lwaHkucG1zcl9jYXBhOwogCkBAIC01MjEsMTQgJiM0Mzs1MjIsMjYgQEAgaW50IG5sODAyMTFfcG1zcl9zdGFydChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKQogCX0KIAlyZXEtJmd0O2Nvb2tpZSA9IGNmZzgwMjExX2Fzc2lnbl9jb29raWUocmRldik7CiAJcmVxLSZndDtubF9wb3J0aWQgPSBpbmZvLSZndDtzbmRfcG9ydGlkOwomIzQzOwljb29raWUgPSByZXEtJmd0O2Nvb2tpZTsKJiM0MzsKJiM0MzsJLyoKJiM0MzsJICogUHVibGlzaCBiZWZvcmUgdGhlIGRyaXZlciBjYW4gY29tcGxldGUgdGhlIHJlcXVlc3QuIENvbXBsZXRpb24gbWF5IGZyZWUKJiM0MzsJICogaXQgYmVmb3JlIHJkZXZfc3RhcnRfcG1zcigpIHJldHVybnMsIHNvIHVzZSB0aGUgY29va2llIHNuYXBzaG90IGJlbG93LgomIzQzOwkgKi8KJiM0MzsJc3Bpbl9sb2NrX2JoKCZhbXA7d2Rldi0mZ3Q7cG1zcl9sb2NrKTsKJiM0MzsJbGlzdF9hZGRfdGFpbCgmYW1wO3JlcS0mZ3Q7bGlzdCwgJmFtcDt3ZGV2LSZndDtwbXNyX2xpc3QpOwomIzQzOwlzcGluX3VubG9ja19iaCgmYW1wO3dkZXYtJmd0O3Btc3JfbG9jayk7CiAKIAllcnIgPSByZGV2X3N0YXJ0X3Btc3IocmRldiwgd2RldiwgcmVxKTsKLQlpZiAoZXJyKQomIzQzOwlpZiAoZXJyKSB7CiYjNDM7CQkvKiBBbiBlcnJvciByZXR1cm4gbGVhdmVzIHRoZSByZXF1ZXN0IG93bmVkIGJ5IHRoaXMgcGF0aC4gKi8KJiM0MzsJCXNwaW5fbG9ja19iaCgmYW1wO3dkZXYtJmd0O3Btc3JfbG9jayk7CiYjNDM7CQlsaXN0X2RlbCgmYW1wO3JlcS0mZ3Q7bGlzdCk7CiYjNDM7CQlzcGluX3VubG9ja19iaCgmYW1wO3dkZXYtJmd0O3Btc3JfbG9jayk7CiAJCWdvdG8gb3V0X2VycjsKJiM0MzsJfQogCi0JbGlzdF9hZGRfdGFpbCgmYW1wO3JlcS0mZ3Q7bGlzdCwgJmFtcDt3ZGV2LSZndDtwbXNyX2xpc3QpOwotCi0Jbmxfc2V0X2V4dGFja19jb29raWVfdTY0KGluZm8tJmd0O2V4dGFjaywgcmVxLSZndDtjb29raWUpOwomIzQzOwlubF9zZXRfZXh0YWNrX2Nvb2tpZV91NjQoaW5mby0mZ3Q7ZXh0YWNrLCBjb29raWUpOwogCXJldHVybiAwOwogb3V0X2VycjoKIAlrZnJlZShyZXEpOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yNCAwMzo0OTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyOTY1CgkJCQkJCQlvdXRwdXQ6IDM2CgkJCQkJCQl0aG91Z2h0czogMzI3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIFdpcmVsZXNzIFN1YnN5c3RlbSBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0JiMzOTtzIHRvdWNoZWQgYG5ldC93aXJlbGVzcy9wbXNyLmNgIGFuZCBhIGNvdXBsZSBvZiBrZXkgaGVhZGVycywgYGNmZzgwMjExLmhgIGFuZCBgbWFjODAyMTEuaGAuIEZyb20gdGhlIGxvb2sgb2YgaXQsIHRoaXMgaXMgYSBjaGFuZ2UgdG8gdGhlIHBvd2VyIG1hbmFnZW1lbnQgc3RhdGUgcmVwb3J0aW5nIChQTVNSKSBmdW5jdGlvbmFsaXR5LCBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBgbmw4MDIxMV9wbXNyX3N0YXJ0YCBmdW5jdGlvbi4KClRoZSBjb3JlIG9mIHRoZSBjaGFuZ2UgaXMgYWJvdXQgdGhlICpvcmRlciogb2Ygb3BlcmF0aW9ucywgd2hpY2ggaXMgYWx3YXlzIGEgcmVkIGZsYWcgZm9yIGNvbmN1cnJlbmN5IGJ1Z3MuICBCZWZvcmUsIHRoZSByZXF1ZXN0IChgcmVxYCkgd2FzIGFkZGVkIHRvIGB3ZGV2LSZndDtwbXNyX2xpc3RgICphZnRlciogYHJkZXZfc3RhcnRfcG1zcmAgd2FzIGNhbGxlZCBhbmQgc3VjY2VlZGVkLiBOb3csIGl0JiMzOTtzIGJlaW5nIGFkZGVkICpiZWZvcmUqIGByZGV2X3N0YXJ0X3Btc3JgLCBhbmQgb25seSByZW1vdmVkIGlmIGByZGV2X3N0YXJ0X3Btc3JgIGZhaWxzLiAgVGhpcyBpbW1lZGlhdGVseSBzY3JlYW1zICYjMzQ7cmFjZSBjb25kaXRpb24gZml4LiYjMzQ7IFRoZSBvcmlnaW5hbCBjb2RlIGxpa2VseSBoYWQgYSB3aW5kb3cgd2hlcmUgYHJkZXZfc3RhcnRfcG1zcmAgY291bGQgY29tcGxldGUgdGhlIFBNU1IgcmVxdWVzdCAqYmVmb3JlKiByZXR1cm5pbmcsIHBvdGVudGlhbGx5IGZyZWVpbmcgdGhlIGByZXFgIG9iamVjdCBhbmQgdGhlbiBjYXVzaW5nIGEgdXNlLWFmdGVyLWZyZWUgb3IgY29ycnVwdGluZyB0aGUgbGlzdCBpZiB0aGUgYWRkaXRpb24gdG8gdGhlIGxpc3QgaGFwcGVuZWQgYWZ0ZXIgdGhlIGNvbXBsZXRpb24sIGJ1dCBiZWZvcmUgdGhlIHJldHVybi4gIFRoYXQmIzM5O3MgYSBuYXN0eSBvbmUuCgpUaGlzIGlzIGEgZnVuZGFtZW50YWwgY2hhbmdlIHRvIGBjZmc4MDIxMWAsIHRoZSBjb3JlIHdpcmVsZXNzIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlLCB3aGljaCBtZWFucyBpdOKAmXMgY3JpdGljYWwuICBBbmQgc2luY2UgYG5sODAyMTFfcG1zcl9zdGFydGAgaXMgcmVhY2hhYmxlIHZpYSBuZXRsaW5rLCB3aGljaCBtZWFucyBpdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGV4dGVybmFsIHByb2Nlc3Nlcy4KClRoZSBpbXBsaWNhdGlvbnMgYXJlIGNsZWFyOiBnaXZlbiB0aGUgcG90ZW50aWFsIGZvciByYWNlIGNvbmRpdGlvbnMgYW5kIGV4cG9zdXJlIHRocm91Z2ggbmV0bGluaywgdGhpcyBkZWZpbml0ZWx5IG5lZWRzIGZ1enppbmcuICBJIG5lZWQgdG8gZGlnIGludG8gYG5ldC93aXJlbGVzcy9wbXNyLmNgIGFuZCBzcGVjaWZpY2FsbHkgYG5sODAyMTFfcG1zcl9zdGFydGAgYW5kIHNlZSBob3cgaXQgaW50ZXJhY3RzIHdpdGggdGhlIHVuZGVybHlpbmcgaGFyZHdhcmUgZHJpdmVycy4gVGhlIGBDRkc4MDIxMWAgY29uZmlnIG9wdGlvbiB0ZWxscyBtZSBJJiMzOTttIGluIHRoZSByaWdodCBwbGFjZS4KCknigJlsbCBkbyBhIHF1aWNrIGdyZXAgdG8gbWFrZSBzdXJlIEkgaGF2ZW4mIzM5O3QgbWlzc2VkIGFueXRoaW5nIG9idmlvdXMuICAKCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yNCAwMzo1MDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtubDgwMjExX3Btc3Jfc3RhcnQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvd2lyZWxlc3MvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC93aXJlbGVzcy9ubDgwMjExLmM9MTk1NDc9c3RhdGljIGNvbnN0IHN0cnVjdCBnZW5sX3NtYWxsX29wcyBubDgwMjExX3NtYWxsX29wc1tdID0ge1xuLS1cbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMjAzMDYtXHRcdC52YWxpZGF0ZSA9IEdFTkxfRE9OVF9WQUxJREFURV9TVFJJQ1QgfCBHRU5MX0RPTlRfVkFMSURBVEVfRFVNUCxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmM6MjAzMDc6XHRcdC5kb2l0ID0gbmw4MDIxMV9wbXNyX3N0YXJ0LFxubmV0L3dpcmVsZXNzL25sODAyMTEuYy0yMDMwOC1cdFx0LmZsYWdzID0gR0VOTF9VTlNfQURNSU5fUEVSTSxcbi0tXG5uZXQvd2lyZWxlc3Mvbmw4MDIxMS5oPTEyND12b2lkIGNmZzgwMjExX2ZyZWVfY29hbGVzY2Uoc3RydWN0IGNmZzgwMjExX2NvYWxlc2NlICpjb2FsZXNjZSk7XG4tLVxubmV0L3dpcmVsZXNzL25sODAyMTEuaC0xMjYtLyogcGVlciBtZWFzdXJlbWVudCAqL1xubmV0L3dpcmVsZXNzL25sODAyMTEuaDoxMjc6aW50IG5sODAyMTFfcG1zcl9zdGFydChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKTtcbm5ldC93aXJlbGVzcy9ubDgwMjExLmgtMTI4LVxuLS1cbm5ldC93aXJlbGVzcy9wbXNyLmM9MzA5PXN0YXRpYyBpbnQgcG1zcl9wYXJzZV9wZWVyKHN0cnVjdCBjZmc4MDIxMV9yZWdpc3RlcmVkX2RldmljZSAqcmRldixcbi0tXG5uZXQvd2lyZWxlc3MvcG1zci5jLTQxMy1cbm5ldC93aXJlbGVzcy9wbXNyLmM6NDE0OmludCBubDgwMjExX3Btc3Jfc3RhcnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbm5ldC93aXJlbGVzcy9wbXNyLmMtNDE1LXtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yNCAwMzo1MDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MjIwCgkJCQkJCQlvdXRwdXQ6IDI5CgkJCQkJCQl0aG91Z2h0czogMTEwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgdGhlIFBlZXIgTWVhc3VyZW1lbnQgU3RhcnQgTmV0bGluayBIYW5kbGVyKioKCk9rYXksIHNvIGBubDgwMjExX3Btc3Jfc3RhcnRgLi4uIHRoYXQmIzM5O3MgdGhlIGhhbmRsZXIgZm9yIGBOTDgwMjExX0NNRF9QRUVSX01FQVNVUkVNRU5UX1NUQVJUYCDigJMgcGVyZmVjdCwgdGhhdCYjMzk7cyBkZWZpbml0ZWx5IHRoZSBlbnRyeSBwb2ludCBJJiMzOTttIGxvb2tpbmcgZm9yLiBUaGlzIGlzIGEgY2xlYXIgdGFyZ2V0IGZvciBmdXp6aW5nLiBOb3csIGxldCYjMzk7cyBzZWUsIHRoZSByZWxldmFudCBjb25maWcgaXMgYENGRzgwMjExYCwgb2J2aW91c2x5LCBhbmQgdGhlbiBvZiBjb3Vyc2UgYE1BQzgwMjExYCwgb3IgYE1BQzgwMjExX0hXU0lNYCBpZiBJJiMzOTttIHRlc3RpbmcuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSBnZXQgdGhlIHNldHVwIHJpZ2h0IGZvciBteSB0ZXN0IGVudmlyb25tZW50LiBJIHNob3VsZCBwcm9iYWJseSBqdXN0IHF1aWNrbHkgZ2xhbmNlIGF0IHRoZSBLY29uZmlnIGZvciBgbmV0L3dpcmVsZXNzL3Btc3IuY2AgdG8gbWFrZSBzdXJlIEkgaGF2ZW4mIzM5O3QgbWlzc2VkIGFueXRoaW5nIGNydWNpYWwuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjQgMDM6NTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cG1zci5vJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3dpcmVsZXNzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvd2lyZWxlc3MvTWFrZWZpbGU9MTA9Y2ZnODAyMTEteSAmIzQzOz0gbWxtZS5vIGlic3MubyBzbWUubyBjaGFuLm8gZXRodG9vbC5vIG1lc2gubyBhcC5vIHRyYWNlLm8gb2NiLm9cbm5ldC93aXJlbGVzcy9NYWtlZmlsZToxMTpjZmc4MDIxMS15ICYjNDM7PSBtaWNoYWVsLW1pYy5vIHBtc3Iub1xubmV0L3dpcmVsZXNzL01ha2VmaWxlLTEyLWNmZzgwMjExLSQoQ09ORklHX09GKSAmIzQzOz0gb2Yub1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDAzOjUwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ2NTkKCQkJCQkJCW91dHB1dDogMzEKCQkJCQkJCXRob3VnaHRzOiAxMDQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqSW52ZXN0aWdhdGluZyB0aGUgVmlydHVhbCBQTVNSIERldmljZSoqCgpPa2F5LCBzbyBJJiMzOTttIGRpZ2dpbmcgaW50byB0aGlzIFBNU1Igc3VwcG9ydC4gSXQgc2VlbXMgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIGhvb2tlZCBpbnRvIGBjZmc4MDIxMWAsIHdoaWNoIG1ha2VzIHNlbnNlLiBUbyBjcmVhdGUgYSB2aXJ0dWFsIGRldmljZSB0aGF0IGNhbiBhY3R1YWxseSBoYW5kbGUgUE1TUiwgSSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgY29uZmlncyBgQ0ZHODAyMTFgIGFuZCBgTUFDODAyMTFfSFdTSU1gIGFyZSBlbmFibGVkLiBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBzaW11bGF0b3Igc3VwcG9ydHMgaXQsIGFuZCBteSBndXQgY2hlY2sgdGVsbHMgbWUgdG8gcXVpY2tseSB2ZXJpZnkgaWYgYG1hYzgwMjExX2h3c2ltYCBoYXMgaW1wbGVtZW50ZWQgUE1TUiwgb3RoZXJ3aXNlLCB0aGlzIGFwcHJvYWNoIHdvbiYjMzk7dCB3b3JrLiBMZXQgbWUgZG91YmxlLWNoZWNrIC0gSSBuZWVkIHRvIHNlZSBpZiBlaXRoZXIgYG1hYzgwMjExX2h3c2ltYCBvciwgbW9yZSBicm9hZGx5LCBgbWFjODAyMTFgIGl0c2VsZiBhY3R1YWxseSBpbXBsZW1lbnRzIGEgYHN0YXJ0X3Btc3JgIGZ1bmN0aW9uIG9yIHNvbWV0aGluZyBzaW1pbGFyLiBJIG5lZWQgdG8ga25vdyB3aGVyZSB0aGUgZnVuY3Rpb25hbGl0eSB0byBzdGFydCBQTVNSIHJlc2lkZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjQgMDM6NTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c3RhcnRfcG1zciYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tYWM4MDIxMS5jPTI4Mjk9c3RhdGljIGludCBpd2xfbWxkX3NldF9od190aW1lc3RhbXAoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYy0yODQ2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYzoyODQ3OnN0YXRpYyBpbnQgaXdsX21sZF9zdGFydF9wbXNyKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYy0yODQ4LVx0XHRcdCAgICAgIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYz0yOTA0PWNvbnN0IHN0cnVjdCBpZWVlODAyMTFfb3BzIGl3bF9tbGRfaHdfb3BzID0ge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21hYzgwMjExLmMtMjk3NS1cdC5zZXRfaHdfdGltZXN0YW1wID0gaXdsX21sZF9zZXRfaHdfdGltZXN0YW1wLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYzoyOTc2Olx0LnN0YXJ0X3Btc3IgPSBpd2xfbWxkX3N0YXJ0X3Btc3IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tYWM4MDIxMS5jLTI5NzctXHQuY2FuX25lZ190dGxtID0gaXdsX21sZF9jYW5fbmVnX3R0bG0sXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYz02MjYxPWl3bF9tdm1fbWFjX2dldF9mdG1fcmVzcG9uZGVyX3N0YXRzKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21hYzgwMjExLmMtNjI4OC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21hYzgwMjExLmM6NjI4OTppbnQgaXdsX212bV9zdGFydF9wbXNyKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYy02MjkwLVx0XHQgICAgICAgc3RydWN0IGNmZzgwMjExX3Btc3JfcmVxdWVzdCAqcmVxdWVzdClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jPTYzNTI9Y29uc3Qgc3RydWN0IGllZWU4MDIxMV9vcHMgaXdsX212bV9od19vcHMgPSB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYy02NDMyLVx0LmdldF9mdG1fcmVzcG9uZGVyX3N0YXRzID0gaXdsX212bV9tYWNfZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHMsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jOjY0MzM6XHQuc3RhcnRfcG1zciA9IGl3bF9tdm1fc3RhcnRfcG1zcixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21hYzgwMjExLmMtNjQzNC1cdC5hYm9ydF9wbXNyID0gaXdsX212bV9hYm9ydF9wbXNyLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21sZC1tYWM4MDIxMS5jPTg4OT1jb25zdCBzdHJ1Y3QgaWVlZTgwMjExX29wcyBpd2xfbXZtX21sZF9od19vcHMgPSB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWxkLW1hYzgwMjExLmMtOTY4LVx0LmdldF9mdG1fcmVzcG9uZGVyX3N0YXRzID0gaXdsX212bV9tYWNfZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHMsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tbGQtbWFjODAyMTEuYzo5Njk6XHQuc3RhcnRfcG1zciA9IGl3bF9tdm1fc3RhcnRfcG1zcixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21sZC1tYWM4MDIxMS5jLTk3MC1cdC5hYm9ydF9wbXNyID0gaXdsX212bV9hYm9ydF9wbXNyLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oPTI3OTQ9aXdsX212bV9tYWNfZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHMoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmgtMjc5Ni1cdFx0XHRcdCAgICBzdHJ1Y3QgY2ZnODAyMTFfZnRtX3Jlc3BvbmRlcl9zdGF0cyAqc3RhdHMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmg6Mjc5NzppbnQgaXdsX212bV9zdGFydF9wbXNyKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmgtMjc5OC1cdFx0ICAgICAgIHN0cnVjdCBjZmc4MDIxMV9wbXNyX3JlcXVlc3QgKnJlcXVlc3QpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3ZpcnR1YWwvbWFjODAyMTFfaHdzaW1fbWFpbi5jPTM3MzQ9c3RhdGljIGludCBtYWM4MDIxMV9od3NpbV9zZW5kX3Btc3JfcmVxdWVzdChzdHJ1Y3Qgc2tfYnVmZiAqbXNnLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3ZpcnR1YWwvbWFjODAyMTFfaHdzaW1fbWFpbi5jLTM3NjQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL21hYzgwMjExX2h3c2ltX21haW4uYzozNzY1OnN0YXRpYyBpbnQgbWFjODAyMTFfaHdzaW1fc3RhcnRfcG1zcihzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodyxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3ZpcnR1YWwvbWFjODAyMTFfaHdzaW1fbWFpbi5jLTM3NjYtXHRcdFx0XHQgICAgIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9tYWM4MDIxMV9od3NpbV9tYWluLmM9NDI1MD1zdGF0aWMgaW50IG1hYzgwMjExX2h3c2ltX3NldF9yYWRhcl9iYWNrZ3JvdW5kKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3ZpcnR1YWwvbWFjODAyMTFfaHdzaW1fbWFpbi5jLTQyOTctXHQuZ2V0X2V0X3N0cmluZ3MgPSBtYWM4MDIxMV9od3NpbV9nZXRfZXRfc3RyaW5ncyxcdFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL21hYzgwMjExX2h3c2ltX21haW4uYzo0Mjk4Olx0LnN0YXJ0X3Btc3IgPSBtYWM4MDIxMV9od3NpbV9zdGFydF9wbXNyLFx0XHRcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9tYWM4MDIxMV9od3NpbV9tYWluLmMtNDI5OS1cdC5hYm9ydF9wbXNyID0gbWFjODAyMTFfaHdzaW1fYWJvcnRfcG1zcixcdFx0XFxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yNCAwMzo1MDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2Njg4CgkJCQkJCQlvdXRwdXQ6IDE3MQoJCQkJCQkJdGhvdWdodHM6IDMxNQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIGBubDgwMjExX3Btc3Jfc3RhcnRgIHdpdGggYG1hYzgwMjExX2h3c2ltYCoqCgpPa2F5LCBzbyBpdCBsb29rcyBsaWtlIGBtYWM4MDIxMV9od3NpbWAgKmRvZXMqIHN1cHBvcnQgYHN0YXJ0X3Btc3JgLiBFeGNlbGxlbnQhIFRoaXMgbWVhbnMgd2UgY2FuIGRlZmluaXRlbHkgdGFyZ2V0IGBubDgwMjExX3Btc3Jfc3RhcnRgIGZvciBmdXp6aW5nLCBhbmQgbGV2ZXJhZ2UgdGhlIGhhcmR3YXJlIHNpbXVsYXRvci4gV2UmIzM5O3ZlIGdvdCB0aGUgbmVjZXNzYXJ5IGNvbmZpZ3VyYXRpb25zOiBgQ0ZHODAyMTFgLCBgTUFDODAyMTFgLCBhbmQgYE1BQzgwMjExX0hXU0lNYCDigJMgdGhvc2UgYXJlIHRoZSBrZXkgZW5hYmxlcnMuCgpUaGUgY3JpdGljYWwgZnVuY3Rpb24sIHRoZSBvbmUgdG8gZm9jdXMgb24sIGlzLCBvZiBjb3Vyc2UsIGBubDgwMjExX3Btc3Jfc3RhcnRgLiBJIHNob3VsZCBkb3VibGUtY2hlY2sgdGhhdCB0aGVyZSBhcmVuJiMzOTt0IGFueSBvdGhlciBmdW5jdGlvbnMgdGhhdCBhcmUgcmVsZXZhbnQsIGp1c3QgdG8gYmUgdGhvcm91Z2guIEJ1dCwgYmFzZWQgb24gdGhlIHBhdGNoLCBpdCBkZWZpbml0ZWx5IG1vZGlmaWVzIGBubDgwMjExX3Btc3Jfc3RhcnRgIHdpdGhpbiBgbmV0L3dpcmVsZXNzL3Btc3IuY2AuIEl0JiMzOTtzIHByZXR0eSBjbGVhciB0aGlzIGlzIHRoZSBlbnRyeSBwb2ludCwgYW5kIGl0JiMzOTtzIHJlYWNoYWJsZS4KCkxvb2tpbmcgYXQgdGhlIGNvbnRleHQsIHRoaXMgcGF0Y2ggaXMgYWRkcmVzc2luZyBhIHJhY2UgY29uZGl0aW9uIGluIGBubDgwMjExX3Btc3Jfc3RhcnRgLiBUaGUgaXNzdWUgaXMgdGhhdCBhIHJlcXVlc3QgY291bGQgYmUgY29tcGxldGVkIGFuZCBmcmVlZCBiZWZvcmUgaXQgaXMgYWRkZWQgdG8gdGhlIGBwbXNyX2xpc3RgLiBNeSBleHBlcmllbmNlIHRlbGxzIG1lIHRoYXQgdGhpcyBpcyBkZWZpbml0ZWx5IHJlYWNoYWJsZSB1c2luZyB0aGUgYE5MODAyMTFfQ01EX1BFRVJfTUVBU1VSRU1FTlRfU1RBUlRgIG5ldGxpbmsgY29tbWFuZC4gU28sIGZ1enppbmcgYG5sODAyMTFfcG1zcl9zdGFydGAgd2l0aCBgbWFjODAyMTFfaHdzaW1gIGVuYWJsZWQgd2lsbCBleGVyY2lzZSB0aGlzIGNvZGUgcGF0aCBkaXJlY3RseS4KCk9rYXksIEkgdGhpbmsgd2UgaGF2ZSBhIHNvbGlkIHBsYW4uIExldCYjMzk7cyBjYWxsIGBzZXQtcmVzdWx0c2AuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDAzOjUwPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtDRkc4MDIxMSYjMzQ7LAogICAgJiMzNDtNQUM4MDIxMSYjMzQ7LAogICAgJiMzNDtNQUM4MDIxMV9IV1NJTSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25sODAyMTFfcG1zcl9zdGFydCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIGBubDgwMjExX3Btc3Jfc3RhcnRgIHdoZXJlIGEgcmVxdWVzdCBjb3VsZCBiZSBjb21wbGV0ZWQgYW5kIGZyZWVkIGJ5IHRoZSBkcml2ZXIgYmVmb3JlIGJlaW5nIGFkZGVkIHRvIHRoZSBgcG1zcl9saXN0YC4gVGhpcyBpcyByZWFjaGFibGUgdmlhIHRoZSBgTkw4MDIxMV9DTURfUEVFUl9NRUFTVVJFTUVOVF9TVEFSVGAgbmV0bGluayBjb21tYW5kLiBGdXp6aW5nIHRoaXMgZnVuY3Rpb24gd2l0aCBgbWFjODAyMTFfaHdzaW1gIGVuYWJsZWQgd2lsbCBleGVyY2lzZSB0aGlzIGNvZGUgcGF0aC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7Q0ZHODAyMTEmIzM0OywKICAgICYjMzQ7TUFDODAyMTEmIzM0OywKICAgICYjMzQ7TUFDODAyMTFfSFdTSU0mIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtubDgwMjExX3Btc3Jfc3RhcnQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSByYWNlIGNvbmRpdGlvbiBpbiBgbmw4MDIxMV9wbXNyX3N0YXJ0YCB3aGVyZSBhIHJlcXVlc3QgY291bGQgYmUgY29tcGxldGVkIGFuZCBmcmVlZCBieSB0aGUgZHJpdmVyIGJlZm9yZSBiZWluZyBhZGRlZCB0byB0aGUgYHBtc3JfbGlzdGAuIFRoaXMgaXMgcmVhY2hhYmxlIHZpYSB0aGUgYE5MODAyMTFfQ01EX1BFRVJfTUVBU1VSRU1FTlRfU1RBUlRgIG5ldGxpbmsgY29tbWFuZC4gRnV6emluZyB0aGlzIGZ1bmN0aW9uIHdpdGggYG1hYzgwMjExX2h3c2ltYCBlbmFibGVkIHdpbGwgZXhlcmNpc2UgdGhpcyBjb2RlIHBhdGguJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0yNFQwMzo0OTo1NS44MDQ5MTY1MTVaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMjY4ODAwMDc5NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJDRkc4MDIxMVwiLFxuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIk1BQzgwMjExX0hXU0lNXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmw4MDIxMV9wbXNyX3N0YXJ0XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSByYWNlIGNvbmRpdGlvbiBpbiBgbmw4MDIxMV9wbXNyX3N0YXJ0YCB3aGVyZSBhIHJlcXVlc3QgY291bGQgYmUgY29tcGxldGVkIGFuZCBmcmVlZCBieSB0aGUgZHJpdmVyIGJlZm9yZSBiZWluZyBhZGRlZCB0byB0aGUgYHBtc3JfbGlzdGAuIFRoaXMgaXMgcmVhY2hhYmxlIHZpYSB0aGUgYE5MODAyMTFfQ01EX1BFRVJfTUVBU1VSRU1FTlRfU1RBUlRgIG5ldGxpbmsgY29tbWFuZC4gRnV6emluZyB0aGlzIGZ1bmN0aW9uIHdpdGggYG1hYzgwMjExX2h3c2ltYCBlbmFibGVkIHdpbGwgZXhlcmNpc2UgdGhpcyBjb2RlIHBhdGguXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI0VDAzOjQ5OjU1LjgwNDkyMzI5NVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzAzMzYxMjkyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgM2ZiZjc4Y2JhNWRjYTYwZjA5YzZhYzdmZDI5MTgxYmIyMmJhOTYxYlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgRnJpIEp1bCAyNCAwMzo0OTo1MyAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9jZmc4MDIxMS5oIGIvaW5jbHVkZS9uZXQvY2ZnODAyMTEuaFxcbmluZGV4IGY1YWJmMWRiNzU1OGJjLi5hOGJhNDg0ZWNhZDZmOCAxMDA2NDRcXG4tLS0gYS9pbmNsdWRlL25ldC9jZmc4MDIxMS5oXFxuKysrIGIvaW5jbHVkZS9uZXQvY2ZnODAyMTEuaFxcbkBAIC01MjAyLDcgKzUyMDIsMTEgQEAgc3RydWN0IG1nbXRfZnJhbWVfcmVncyB7XFxuICAqXFxuICAqIEBnZXRfZnRtX3Jlc3BvbmRlcl9zdGF0czogUmV0cmlldmUgRlRNIHJlc3BvbmRlciBzdGF0aXN0aWNzLCBpZiBhdmFpbGFibGUuXFxuICAqXFx0U3RhdGlzdGljcyBzaG91bGQgYmUgY3VtdWxhdGl2ZSwgY3VycmVudGx5IG5vIHdheSB0byByZXNldCBpcyBwcm92aWRlZC5cXG4tICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKVxcbisgKiBAc3RhcnRfcG1zcjogc3RhcnQgcGVlciBtZWFzdXJlbWVudCAoZS5nLiBGVE0pLiBUaGUgY2FsbGJhY2sgbWF5XFxuKyAqXFx0Y29tcGxldGUgdGhlIHJlcXVlc3QgYmVmb3JlIHJldHVybmluZyBzdWNjZXNzLiBBZnRlciBjb21wbGV0aW5nIGl0LFxcbisgKlxcdHRoZSBkcml2ZXIgbXVzdCBub3QgYWNjZXNzIHRoZSByZXF1ZXN0LiBJZiB0aGUgY2FsbGJhY2sgcmV0dXJucyBhblxcbisgKlxcdGVycm9yLCB0aGUgZHJpdmVyIG11c3Qgbm90IHJldGFpbiB0aGUgcmVxdWVzdCBvciBsYXRlciByZXBvcnQgcmVzdWx0c1xcbisgKlxcdG9yIGNvbXBsZXRpb24gZm9yIGl0LlxcbiAgKiBAYWJvcnRfcG1zcjogYWJvcnQgcGVlciBtZWFzdXJlbWVudFxcbiAgKlxcbiAgKiBAdXBkYXRlX293ZV9pbmZvOiBQcm92aWRlIHVwZGF0ZWQgT1dFIGluZm8gdG8gZHJpdmVyLiBEcml2ZXIgaW1wbGVtZW50aW5nIFNNRVxcbmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9tYWM4MDIxMS5oIGIvaW5jbHVkZS9uZXQvbWFjODAyMTEuaFxcbmluZGV4IDRmOTVkYTAyMzc0NmY5Li42NDYwMGU3YmQyNTFjZCAxMDA2NDRcXG4tLS0gYS9pbmNsdWRlL25ldC9tYWM4MDIxMS5oXFxuKysrIGIvaW5jbHVkZS9uZXQvbWFjODAyMTEuaFxcbkBAIC00NjYxLDcgKzQ2NjEsMTEgQEAgc3RydWN0IGllZWU4MDIxMV9wcmVwX3R4X2luZm8ge1xcbiAgKiBAZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHM6IFJldHJpZXZlIEZUTSByZXNwb25kZXIgc3RhdGlzdGljcywgaWYgYXZhaWxhYmxlLlxcbiAgKlxcdFN0YXRpc3RpY3Mgc2hvdWxkIGJlIGN1bXVsYXRpdmUsIGN1cnJlbnRseSBubyB3YXkgdG8gcmVzZXQgaXMgcHJvdmlkZWQuXFxuICAqXFxuLSAqIEBzdGFydF9wbXNyOiBzdGFydCBwZWVyIG1lYXN1cmVtZW50IChlLmcuIEZUTSkgKHRoaXMgY2FsbCBjYW4gc2xlZXApXFxuKyAqIEBzdGFydF9wbXNyOiBzdGFydCBwZWVyIG1lYXN1cmVtZW50IChlLmcuIEZUTSkgKHRoaXMgY2FsbCBjYW4gc2xlZXApLlxcbisgKlxcdFRoZSBjYWxsYmFjayBtYXkgY29tcGxldGUgdGhlIHJlcXVlc3QgYmVmb3JlIHJldHVybmluZyBzdWNjZXNzLlxcbisgKlxcdEFmdGVyIGNvbXBsZXRpbmcgaXQsIHRoZSBkcml2ZXIgbXVzdCBub3QgYWNjZXNzIHRoZSByZXF1ZXN0LiBJZiB0aGVcXG4rICpcXHRjYWxsYmFjayByZXR1cm5zIGFuIGVycm9yLCB0aGUgZHJpdmVyIG11c3Qgbm90IHJldGFpbiB0aGUgcmVxdWVzdCBvclxcbisgKlxcdGxhdGVyIHJlcG9ydCByZXN1bHRzIG9yIGNvbXBsZXRpb24gZm9yIGl0LlxcbiAgKiBAYWJvcnRfcG1zcjogYWJvcnQgcGVlciBtZWFzdXJlbWVudCAodGhpcyBjYWxsIGNhbiBzbGVlcClcXG4gICogQHNldF90aWRfY29uZmlnOiBBcHBseSBUSUQgc3BlY2lmaWMgY29uZmlndXJhdGlvbnMuIFRoaXMgY2FsbGJhY2sgbWF5IHNsZWVwLlxcbiAgKiBAcmVzZXRfdGlkX2NvbmZpZzogUmVzZXQgVElEIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwZWVyLlxcbmRpZmYgLS1naXQgYS9uZXQvd2lyZWxlc3MvcG1zci5jIGIvbmV0L3dpcmVsZXNzL3Btc3IuY1xcbmluZGV4IGQxZTJmYWU1YmMwZTU4Li4zNDg0OTU2ZWJiNTBjNyAxMDA2NDRcXG4tLS0gYS9uZXQvd2lyZWxlc3MvcG1zci5jXFxuKysrIGIvbmV0L3dpcmVsZXNzL3Btc3IuY1xcbkBAIC00MjAsNiArNDIwLDcgQEAgaW50IG5sODAyMTFfcG1zcl9zdGFydChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxcbiBcXHRjb25zdCBzdHJ1Y3QgY2ZnODAyMTFfcG1zcl9jYXBhYmlsaXRpZXMgKmNhcGE7XFxuIFxcdHN0cnVjdCBjZmc4MDIxMV9wbXNyX3JlcXVlc3QgKnJlcTtcXG4gXFx0c3RydWN0IG5sYXR0ciAqcGVlcnMsICpwZWVyO1xcbitcXHR1NjQgY29va2llO1xcbiBcXG4gXFx0Y2FwYSA9IHJkZXYtXFx1MDAzZXdpcGh5LnBtc3JfY2FwYTtcXG4gXFxuQEAgLTUyMSwxNCArNTIyLDI2IEBAIGludCBubDgwMjExX3Btc3Jfc3RhcnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4gXFx0fVxcbiBcXHRyZXEtXFx1MDAzZWNvb2tpZSA9IGNmZzgwMjExX2Fzc2lnbl9jb29raWUocmRldik7XFxuIFxcdHJlcS1cXHUwMDNlbmxfcG9ydGlkID0gaW5mby1cXHUwMDNlc25kX3BvcnRpZDtcXG4rXFx0Y29va2llID0gcmVxLVxcdTAwM2Vjb29raWU7XFxuK1xcbitcXHQvKlxcbitcXHQgKiBQdWJsaXNoIGJlZm9yZSB0aGUgZHJpdmVyIGNhbiBjb21wbGV0ZSB0aGUgcmVxdWVzdC4gQ29tcGxldGlvbiBtYXkgZnJlZVxcbitcXHQgKiBpdCBiZWZvcmUgcmRldl9zdGFydF9wbXNyKCkgcmV0dXJucywgc28gdXNlIHRoZSBjb29raWUgc25hcHNob3QgYmVsb3cuXFxuK1xcdCAqL1xcbitcXHRzcGluX2xvY2tfYmgoXFx1MDAyNndkZXYtXFx1MDAzZXBtc3JfbG9jayk7XFxuK1xcdGxpc3RfYWRkX3RhaWwoXFx1MDAyNnJlcS1cXHUwMDNlbGlzdCwgXFx1MDAyNndkZXYtXFx1MDAzZXBtc3JfbGlzdCk7XFxuK1xcdHNwaW5fdW5sb2NrX2JoKFxcdTAwMjZ3ZGV2LVxcdTAwM2VwbXNyX2xvY2spO1xcbiBcXG4gXFx0ZXJyID0gcmRldl9zdGFydF9wbXNyKHJkZXYsIHdkZXYsIHJlcSk7XFxuLVxcdGlmIChlcnIpXFxuK1xcdGlmIChlcnIpIHtcXG4rXFx0XFx0LyogQW4gZXJyb3IgcmV0dXJuIGxlYXZlcyB0aGUgcmVxdWVzdCBvd25lZCBieSB0aGlzIHBhdGguICovXFxuK1xcdFxcdHNwaW5fbG9ja19iaChcXHUwMDI2d2Rldi1cXHUwMDNlcG1zcl9sb2NrKTtcXG4rXFx0XFx0bGlzdF9kZWwoXFx1MDAyNnJlcS1cXHUwMDNlbGlzdCk7XFxuK1xcdFxcdHNwaW5fdW5sb2NrX2JoKFxcdTAwMjZ3ZGV2LVxcdTAwM2VwbXNyX2xvY2spO1xcbiBcXHRcXHRnb3RvIG91dF9lcnI7XFxuK1xcdH1cXG4gXFxuLVxcdGxpc3RfYWRkX3RhaWwoXFx1MDAyNnJlcS1cXHUwMDNlbGlzdCwgXFx1MDAyNndkZXYtXFx1MDAzZXBtc3JfbGlzdCk7XFxuLVxcbi1cXHRubF9zZXRfZXh0YWNrX2Nvb2tpZV91NjQoaW5mby1cXHUwMDNlZXh0YWNrLCByZXEtXFx1MDAzZWNvb2tpZSk7XFxuK1xcdG5sX3NldF9leHRhY2tfY29va2llX3U2NChpbmZvLVxcdTAwM2VleHRhY2ssIGNvb2tpZSk7XFxuIFxcdHJldHVybiAwO1xcbiBvdXRfZXJyOlxcbiBcXHRrZnJlZShyZXEpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQwMzo0OTo1Ni41MDkyNjg4NDdaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjoyMTk4MzYzMzI5MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJDRkc4MDIxMVwiLFxuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIk1BQzgwMjExX0hXU0lNXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmw4MDIxMV9wbXNyX3N0YXJ0XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSByYWNlIGNvbmRpdGlvbiBpbiBgbmw4MDIxMV9wbXNyX3N0YXJ0YCB3aGVyZSBhIHJlcXVlc3QgY291bGQgYmUgY29tcGxldGVkIGFuZCBmcmVlZCBieSB0aGUgZHJpdmVyIGJlZm9yZSBiZWluZyBhZGRlZCB0byB0aGUgYHBtc3JfbGlzdGAuIFRoaXMgaXMgcmVhY2hhYmxlIHZpYSB0aGUgYE5MODAyMTFfQ01EX1BFRVJfTUVBU1VSRU1FTlRfU1RBUlRgIG5ldGxpbmsgY29tbWFuZC4gRnV6emluZyB0aGlzIGZ1bmN0aW9uIHdpdGggYG1hYzgwMjExX2h3c2ltYCBlbmFibGVkIHdpbGwgZXhlcmNpc2UgdGhpcyBjb2RlIHBhdGguXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgM2ZiZjc4Y2JhNWRjYTYwZjA5YzZhYzdmZDI5MTgxYmIyMmJhOTYxYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgSnVsIDI0IDAzOjQ5OjUzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvY2ZnODAyMTEuaCBiL2luY2x1ZGUvbmV0L2NmZzgwMjExLmhcbmluZGV4IGY1YWJmMWRiNzU1OGJjLi5hOGJhNDg0ZWNhZDZmOCAxMDA2NDRcbi0tLSBhL2luY2x1ZGUvbmV0L2NmZzgwMjExLmhcbisrKyBiL2luY2x1ZGUvbmV0L2NmZzgwMjExLmhcbkBAIC01MjAyLDcgKzUyMDIsMTEgQEAgc3RydWN0IG1nbXRfZnJhbWVfcmVncyB7XG4gICpcbiAgKiBAZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHM6IFJldHJpZXZlIEZUTSByZXNwb25kZXIgc3RhdGlzdGljcywgaWYgYXZhaWxhYmxlLlxuICAqXHRTdGF0aXN0aWNzIHNob3VsZCBiZSBjdW11bGF0aXZlLCBjdXJyZW50bHkgbm8gd2F5IHRvIHJlc2V0IGlzIHByb3ZpZGVkLlxuLSAqIEBzdGFydF9wbXNyOiBzdGFydCBwZWVyIG1lYXN1cmVtZW50IChlLmcuIEZUTSlcbisgKiBAc3RhcnRfcG1zcjogc3RhcnQgcGVlciBtZWFzdXJlbWVudCAoZS5nLiBGVE0pLiBUaGUgY2FsbGJhY2sgbWF5XG4rICpcdGNvbXBsZXRlIHRoZSByZXF1ZXN0IGJlZm9yZSByZXR1cm5pbmcgc3VjY2Vzcy4gQWZ0ZXIgY29tcGxldGluZyBpdCxcbisgKlx0dGhlIGRyaXZlciBtdXN0IG5vdCBhY2Nlc3MgdGhlIHJlcXVlc3QuIElmIHRoZSBjYWxsYmFjayByZXR1cm5zIGFuXG4rICpcdGVycm9yLCB0aGUgZHJpdmVyIG11c3Qgbm90IHJldGFpbiB0aGUgcmVxdWVzdCBvciBsYXRlciByZXBvcnQgcmVzdWx0c1xuKyAqXHRvciBjb21wbGV0aW9uIGZvciBpdC5cbiAgKiBAYWJvcnRfcG1zcjogYWJvcnQgcGVlciBtZWFzdXJlbWVudFxuICAqXG4gICogQHVwZGF0ZV9vd2VfaW5mbzogUHJvdmlkZSB1cGRhdGVkIE9XRSBpbmZvIHRvIGRyaXZlci4gRHJpdmVyIGltcGxlbWVudGluZyBTTUVcbmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9tYWM4MDIxMS5oIGIvaW5jbHVkZS9uZXQvbWFjODAyMTEuaFxuaW5kZXggNGY5NWRhMDIzNzQ2ZjkuLjY0NjAwZTdiZDI1MWNkIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9uZXQvbWFjODAyMTEuaFxuKysrIGIvaW5jbHVkZS9uZXQvbWFjODAyMTEuaFxuQEAgLTQ2NjEsNyArNDY2MSwxMSBAQCBzdHJ1Y3QgaWVlZTgwMjExX3ByZXBfdHhfaW5mbyB7XG4gICogQGdldF9mdG1fcmVzcG9uZGVyX3N0YXRzOiBSZXRyaWV2ZSBGVE0gcmVzcG9uZGVyIHN0YXRpc3RpY3MsIGlmIGF2YWlsYWJsZS5cbiAgKlx0U3RhdGlzdGljcyBzaG91bGQgYmUgY3VtdWxhdGl2ZSwgY3VycmVudGx5IG5vIHdheSB0byByZXNldCBpcyBwcm92aWRlZC5cbiAgKlxuLSAqIEBzdGFydF9wbXNyOiBzdGFydCBwZWVyIG1lYXN1cmVtZW50IChlLmcuIEZUTSkgKHRoaXMgY2FsbCBjYW4gc2xlZXApXG4rICogQHN0YXJ0X3Btc3I6IHN0YXJ0IHBlZXIgbWVhc3VyZW1lbnQgKGUuZy4gRlRNKSAodGhpcyBjYWxsIGNhbiBzbGVlcCkuXG4rICpcdFRoZSBjYWxsYmFjayBtYXkgY29tcGxldGUgdGhlIHJlcXVlc3QgYmVmb3JlIHJldHVybmluZyBzdWNjZXNzLlxuKyAqXHRBZnRlciBjb21wbGV0aW5nIGl0LCB0aGUgZHJpdmVyIG11c3Qgbm90IGFjY2VzcyB0aGUgcmVxdWVzdC4gSWYgdGhlXG4rICpcdGNhbGxiYWNrIHJldHVybnMgYW4gZXJyb3IsIHRoZSBkcml2ZXIgbXVzdCBub3QgcmV0YWluIHRoZSByZXF1ZXN0IG9yXG4rICpcdGxhdGVyIHJlcG9ydCByZXN1bHRzIG9yIGNvbXBsZXRpb24gZm9yIGl0LlxuICAqIEBhYm9ydF9wbXNyOiBhYm9ydCBwZWVyIG1lYXN1cmVtZW50ICh0aGlzIGNhbGwgY2FuIHNsZWVwKVxuICAqIEBzZXRfdGlkX2NvbmZpZzogQXBwbHkgVElEIHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zLiBUaGlzIGNhbGxiYWNrIG1heSBzbGVlcC5cbiAgKiBAcmVzZXRfdGlkX2NvbmZpZzogUmVzZXQgVElEIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwZWVyLlxuZGlmZiAtLWdpdCBhL25ldC93aXJlbGVzcy9wbXNyLmMgYi9uZXQvd2lyZWxlc3MvcG1zci5jXG5pbmRleCBkMWUyZmFlNWJjMGU1OC4uMzQ4NDk1NmViYjUwYzcgMTAwNjQ0XG4tLS0gYS9uZXQvd2lyZWxlc3MvcG1zci5jXG4rKysgYi9uZXQvd2lyZWxlc3MvcG1zci5jXG5AQCAtNDIwLDYgKzQyMCw3IEBAIGludCBubDgwMjExX3Btc3Jfc3RhcnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbiBcdGNvbnN0IHN0cnVjdCBjZmc4MDIxMV9wbXNyX2NhcGFiaWxpdGllcyAqY2FwYTtcbiBcdHN0cnVjdCBjZmc4MDIxMV9wbXNyX3JlcXVlc3QgKnJlcTtcbiBcdHN0cnVjdCBubGF0dHIgKnBlZXJzLCAqcGVlcjtcbitcdHU2NCBjb29raWU7XG4gXG4gXHRjYXBhID0gcmRldi1cdTAwM2V3aXBoeS5wbXNyX2NhcGE7XG4gXG5AQCAtNTIxLDE0ICs1MjIsMjYgQEAgaW50IG5sODAyMTFfcG1zcl9zdGFydChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuIFx0fVxuIFx0cmVxLVx1MDAzZWNvb2tpZSA9IGNmZzgwMjExX2Fzc2lnbl9jb29raWUocmRldik7XG4gXHRyZXEtXHUwMDNlbmxfcG9ydGlkID0gaW5mby1cdTAwM2VzbmRfcG9ydGlkO1xuK1x0Y29va2llID0gcmVxLVx1MDAzZWNvb2tpZTtcbitcbitcdC8qXG4rXHQgKiBQdWJsaXNoIGJlZm9yZSB0aGUgZHJpdmVyIGNhbiBjb21wbGV0ZSB0aGUgcmVxdWVzdC4gQ29tcGxldGlvbiBtYXkgZnJlZVxuK1x0ICogaXQgYmVmb3JlIHJkZXZfc3RhcnRfcG1zcigpIHJldHVybnMsIHNvIHVzZSB0aGUgY29va2llIHNuYXBzaG90IGJlbG93LlxuK1x0ICovXG4rXHRzcGluX2xvY2tfYmgoXHUwMDI2d2Rldi1cdTAwM2VwbXNyX2xvY2spO1xuK1x0bGlzdF9hZGRfdGFpbChcdTAwMjZyZXEtXHUwMDNlbGlzdCwgXHUwMDI2d2Rldi1cdTAwM2VwbXNyX2xpc3QpO1xuK1x0c3Bpbl91bmxvY2tfYmgoXHUwMDI2d2Rldi1cdTAwM2VwbXNyX2xvY2spO1xuIFxuIFx0ZXJyID0gcmRldl9zdGFydF9wbXNyKHJkZXYsIHdkZXYsIHJlcSk7XG4tXHRpZiAoZXJyKVxuK1x0aWYgKGVycikge1xuK1x0XHQvKiBBbiBlcnJvciByZXR1cm4gbGVhdmVzIHRoZSByZXF1ZXN0IG93bmVkIGJ5IHRoaXMgcGF0aC4gKi9cbitcdFx0c3Bpbl9sb2NrX2JoKFx1MDAyNndkZXYtXHUwMDNlcG1zcl9sb2NrKTtcbitcdFx0bGlzdF9kZWwoXHUwMDI2cmVxLVx1MDAzZWxpc3QpO1xuK1x0XHRzcGluX3VubG9ja19iaChcdTAwMjZ3ZGV2LVx1MDAzZXBtc3JfbG9jayk7XG4gXHRcdGdvdG8gb3V0X2VycjtcbitcdH1cbiBcbi1cdGxpc3RfYWRkX3RhaWwoXHUwMDI2cmVxLVx1MDAzZWxpc3QsIFx1MDAyNndkZXYtXHUwMDNlcG1zcl9saXN0KTtcbi1cbi1cdG5sX3NldF9leHRhY2tfY29va2llX3U2NChpbmZvLVx1MDAzZWV4dGFjaywgcmVxLVx1MDAzZWNvb2tpZSk7XG4rXHRubF9zZXRfZXh0YWNrX2Nvb2tpZV91NjQoaW5mby1cdTAwM2VleHRhY2ssIGNvb2tpZSk7XG4gXHRyZXR1cm4gMDtcbiBvdXRfZXJyOlxuIFx0a2ZyZWUocmVxKTtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI0VDAzOjQ5OjU2LjUwOTI3MTAwN1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY5NTMzMTgzOTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgV2lyZWxlc3MgU3Vic3lzdGVtIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0J3MgdG91Y2hlZCBgbmV0L3dpcmVsZXNzL3Btc3IuY2AgYW5kIGEgY291cGxlIG9mIGtleSBoZWFkZXJzLCBgY2ZnODAyMTEuaGAgYW5kIGBtYWM4MDIxMS5oYC4gRnJvbSB0aGUgbG9vayBvZiBpdCwgdGhpcyBpcyBhIGNoYW5nZSB0byB0aGUgcG93ZXIgbWFuYWdlbWVudCBzdGF0ZSByZXBvcnRpbmcgKFBNU1IpIGZ1bmN0aW9uYWxpdHksIHNwZWNpZmljYWxseSB3aXRoaW4gdGhlIGBubDgwMjExX3Btc3Jfc3RhcnRgIGZ1bmN0aW9uLlxuXG5UaGUgY29yZSBvZiB0aGUgY2hhbmdlIGlzIGFib3V0IHRoZSAqb3JkZXIqIG9mIG9wZXJhdGlvbnMsIHdoaWNoIGlzIGFsd2F5cyBhIHJlZCBmbGFnIGZvciBjb25jdXJyZW5jeSBidWdzLiAgQmVmb3JlLCB0aGUgcmVxdWVzdCAoYHJlcWApIHdhcyBhZGRlZCB0byBgd2Rldi1cdTAwM2VwbXNyX2xpc3RgICphZnRlciogYHJkZXZfc3RhcnRfcG1zcmAgd2FzIGNhbGxlZCBhbmQgc3VjY2VlZGVkLiBOb3csIGl0J3MgYmVpbmcgYWRkZWQgKmJlZm9yZSogYHJkZXZfc3RhcnRfcG1zcmAsIGFuZCBvbmx5IHJlbW92ZWQgaWYgYHJkZXZfc3RhcnRfcG1zcmAgZmFpbHMuICBUaGlzIGltbWVkaWF0ZWx5IHNjcmVhbXMgXCJyYWNlIGNvbmRpdGlvbiBmaXguXCIgVGhlIG9yaWdpbmFsIGNvZGUgbGlrZWx5IGhhZCBhIHdpbmRvdyB3aGVyZSBgcmRldl9zdGFydF9wbXNyYCBjb3VsZCBjb21wbGV0ZSB0aGUgUE1TUiByZXF1ZXN0ICpiZWZvcmUqIHJldHVybmluZywgcG90ZW50aWFsbHkgZnJlZWluZyB0aGUgYHJlcWAgb2JqZWN0IGFuZCB0aGVuIGNhdXNpbmcgYSB1c2UtYWZ0ZXItZnJlZSBvciBjb3JydXB0aW5nIHRoZSBsaXN0IGlmIHRoZSBhZGRpdGlvbiB0byB0aGUgbGlzdCBoYXBwZW5lZCBhZnRlciB0aGUgY29tcGxldGlvbiwgYnV0IGJlZm9yZSB0aGUgcmV0dXJuLiAgVGhhdCdzIGEgbmFzdHkgb25lLlxuXG5UaGlzIGlzIGEgZnVuZGFtZW50YWwgY2hhbmdlIHRvIGBjZmc4MDIxMWAsIHRoZSBjb3JlIHdpcmVsZXNzIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlLCB3aGljaCBtZWFucyBpdOKAmXMgY3JpdGljYWwuICBBbmQgc2luY2UgYG5sODAyMTFfcG1zcl9zdGFydGAgaXMgcmVhY2hhYmxlIHZpYSBuZXRsaW5rLCB3aGljaCBtZWFucyBpdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGV4dGVybmFsIHByb2Nlc3Nlcy5cblxuVGhlIGltcGxpY2F0aW9ucyBhcmUgY2xlYXI6IGdpdmVuIHRoZSBwb3RlbnRpYWwgZm9yIHJhY2UgY29uZGl0aW9ucyBhbmQgZXhwb3N1cmUgdGhyb3VnaCBuZXRsaW5rLCB0aGlzIGRlZmluaXRlbHkgbmVlZHMgZnV6emluZy4gIEkgbmVlZCB0byBkaWcgaW50byBgbmV0L3dpcmVsZXNzL3Btc3IuY2AgYW5kIHNwZWNpZmljYWxseSBgbmw4MDIxMV9wbXNyX3N0YXJ0YCBhbmQgc2VlIGhvdyBpdCBpbnRlcmFjdHMgd2l0aCB0aGUgdW5kZXJseWluZyBoYXJkd2FyZSBkcml2ZXJzLiBUaGUgYENGRzgwMjExYCBjb25maWcgb3B0aW9uIHRlbGxzIG1lIEknbSBpbiB0aGUgcmlnaHQgcGxhY2UuXG5cbknigJlsbCBkbyBhIHF1aWNrIGdyZXAgdG8gbWFrZSBzdXJlIEkgaGF2ZW4ndCBtaXNzZWQgYW55dGhpbmcgb2J2aW91cy4gIFxuXG5cbiIsIklucHV0VG9rZW5zIjoyOTY1LCJPdXRwdXRUb2tlbnMiOjM2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzI3LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMDM6NTA6MDMuNDYyNTkyMTE3WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE5MTA4MzM2NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJubDgwMjExX3Btc3Jfc3RhcnRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3dpcmVsZXNzL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvd2lyZWxlc3Mvbmw4MDIxMS5jPTE5NTQ3PXN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2VubF9zbWFsbF9vcHMgbmw4MDIxMV9zbWFsbF9vcHNbXSA9IHtcXG4tLVxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmMtMjAzMDYtXFx0XFx0LnZhbGlkYXRlID0gR0VOTF9ET05UX1ZBTElEQVRFX1NUUklDVCB8IEdFTkxfRE9OVF9WQUxJREFURV9EVU1QLFxcbm5ldC93aXJlbGVzcy9ubDgwMjExLmM6MjAzMDc6XFx0XFx0LmRvaXQgPSBubDgwMjExX3Btc3Jfc3RhcnQsXFxubmV0L3dpcmVsZXNzL25sODAyMTEuYy0yMDMwOC1cXHRcXHQuZmxhZ3MgPSBHRU5MX1VOU19BRE1JTl9QRVJNLFxcbi0tXFxubmV0L3dpcmVsZXNzL25sODAyMTEuaD0xMjQ9dm9pZCBjZmc4MDIxMV9mcmVlX2NvYWxlc2NlKHN0cnVjdCBjZmc4MDIxMV9jb2FsZXNjZSAqY29hbGVzY2UpO1xcbi0tXFxubmV0L3dpcmVsZXNzL25sODAyMTEuaC0xMjYtLyogcGVlciBtZWFzdXJlbWVudCAqL1xcbm5ldC93aXJlbGVzcy9ubDgwMjExLmg6MTI3OmludCBubDgwMjExX3Btc3Jfc3RhcnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbyk7XFxubmV0L3dpcmVsZXNzL25sODAyMTEuaC0xMjgtXFxuLS1cXG5uZXQvd2lyZWxlc3MvcG1zci5jPTMwOT1zdGF0aWMgaW50IHBtc3JfcGFyc2VfcGVlcihzdHJ1Y3QgY2ZnODAyMTFfcmVnaXN0ZXJlZF9kZXZpY2UgKnJkZXYsXFxuLS1cXG5uZXQvd2lyZWxlc3MvcG1zci5jLTQxMy1cXG5uZXQvd2lyZWxlc3MvcG1zci5jOjQxNDppbnQgbmw4MDIxMV9wbXNyX3N0YXJ0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXFxubmV0L3dpcmVsZXNzL3Btc3IuYy00MTUte1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQwMzo1MDowMy42NTM2ODA1MTRaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNjE4Mjc2OTIwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgdGhlIFBlZXIgTWVhc3VyZW1lbnQgU3RhcnQgTmV0bGluayBIYW5kbGVyKipcblxuT2theSwgc28gYG5sODAyMTFfcG1zcl9zdGFydGAuLi4gdGhhdCdzIHRoZSBoYW5kbGVyIGZvciBgTkw4MDIxMV9DTURfUEVFUl9NRUFTVVJFTUVOVF9TVEFSVGAg4oCTIHBlcmZlY3QsIHRoYXQncyBkZWZpbml0ZWx5IHRoZSBlbnRyeSBwb2ludCBJJ20gbG9va2luZyBmb3IuIFRoaXMgaXMgYSBjbGVhciB0YXJnZXQgZm9yIGZ1enppbmcuIE5vdywgbGV0J3Mgc2VlLCB0aGUgcmVsZXZhbnQgY29uZmlnIGlzIGBDRkc4MDIxMWAsIG9idmlvdXNseSwgYW5kIHRoZW4gb2YgY291cnNlIGBNQUM4MDIxMWAsIG9yIGBNQUM4MDIxMV9IV1NJTWAgaWYgSSdtIHRlc3RpbmcuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSBnZXQgdGhlIHNldHVwIHJpZ2h0IGZvciBteSB0ZXN0IGVudmlyb25tZW50LiBJIHNob3VsZCBwcm9iYWJseSBqdXN0IHF1aWNrbHkgZ2xhbmNlIGF0IHRoZSBLY29uZmlnIGZvciBgbmV0L3dpcmVsZXNzL3Btc3IuY2AgdG8gbWFrZSBzdXJlIEkgaGF2ZW4ndCBtaXNzZWQgYW55dGhpbmcgY3J1Y2lhbC5cblxuXG4iLCJJbnB1dFRva2VucyI6NDIyMCwiT3V0cHV0VG9rZW5zIjoyOSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjExMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQwMzo1MDowNy4yNzE5NTk0MzRaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTY5Nzc4ODM4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInBtc3Iub1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvd2lyZWxlc3MvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC93aXJlbGVzcy9NYWtlZmlsZT0xMD1jZmc4MDIxMS15ICs9IG1sbWUubyBpYnNzLm8gc21lLm8gY2hhbi5vIGV0aHRvb2wubyBtZXNoLm8gYXAubyB0cmFjZS5vIG9jYi5vXFxubmV0L3dpcmVsZXNzL01ha2VmaWxlOjExOmNmZzgwMjExLXkgKz0gbWljaGFlbC1taWMubyBwbXNyLm9cXG5uZXQvd2lyZWxlc3MvTWFrZWZpbGUtMTItY2ZnODAyMTEtJChDT05GSUdfT0YpICs9IG9mLm9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMDM6NTA6MDcuNDQxNzQzNzMyWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzU0Mzc4ODQ3NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipJbnZlc3RpZ2F0aW5nIHRoZSBWaXJ0dWFsIFBNU1IgRGV2aWNlKipcblxuT2theSwgc28gSSdtIGRpZ2dpbmcgaW50byB0aGlzIFBNU1Igc3VwcG9ydC4gSXQgc2VlbXMgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIGhvb2tlZCBpbnRvIGBjZmc4MDIxMWAsIHdoaWNoIG1ha2VzIHNlbnNlLiBUbyBjcmVhdGUgYSB2aXJ0dWFsIGRldmljZSB0aGF0IGNhbiBhY3R1YWxseSBoYW5kbGUgUE1TUiwgSSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgY29uZmlncyBgQ0ZHODAyMTFgIGFuZCBgTUFDODAyMTFfSFdTSU1gIGFyZSBlbmFibGVkLiBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBzaW11bGF0b3Igc3VwcG9ydHMgaXQsIGFuZCBteSBndXQgY2hlY2sgdGVsbHMgbWUgdG8gcXVpY2tseSB2ZXJpZnkgaWYgYG1hYzgwMjExX2h3c2ltYCBoYXMgaW1wbGVtZW50ZWQgUE1TUiwgb3RoZXJ3aXNlLCB0aGlzIGFwcHJvYWNoIHdvbid0IHdvcmsuIExldCBtZSBkb3VibGUtY2hlY2sgLSBJIG5lZWQgdG8gc2VlIGlmIGVpdGhlciBgbWFjODAyMTFfaHdzaW1gIG9yLCBtb3JlIGJyb2FkbHksIGBtYWM4MDIxMWAgaXRzZWxmIGFjdHVhbGx5IGltcGxlbWVudHMgYSBgc3RhcnRfcG1zcmAgZnVuY3Rpb24gb3Igc29tZXRoaW5nIHNpbWlsYXIuIEkgbmVlZCB0byBrbm93IHdoZXJlIHRoZSBmdW5jdGlvbmFsaXR5IHRvIHN0YXJ0IFBNU1IgcmVzaWRlcy5cblxuXG4iLCJJbnB1dFRva2VucyI6NDY1OSwiT3V0cHV0VG9rZW5zIjozMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEwNCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQwMzo1MDoxMC45ODU1MzUyNzhaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjE5MTkxMjU1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN0YXJ0X3Btc3JcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21hYzgwMjExLmM9MjgyOT1zdGF0aWMgaW50IGl3bF9tbGRfc2V0X2h3X3RpbWVzdGFtcChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21hYzgwMjExLmMtMjg0Ni1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tYWM4MDIxMS5jOjI4NDc6c3RhdGljIGludCBpd2xfbWxkX3N0YXJ0X3Btc3Ioc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYy0yODQ4LVxcdFxcdFxcdCAgICAgIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tYWM4MDIxMS5jPTI5MDQ9Y29uc3Qgc3RydWN0IGllZWU4MDIxMV9vcHMgaXdsX21sZF9od19vcHMgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tYWM4MDIxMS5jLTI5NzUtXFx0LnNldF9od190aW1lc3RhbXAgPSBpd2xfbWxkX3NldF9od190aW1lc3RhbXAsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWFjODAyMTEuYzoyOTc2OlxcdC5zdGFydF9wbXNyID0gaXdsX21sZF9zdGFydF9wbXNyLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21hYzgwMjExLmMtMjk3Ny1cXHQuY2FuX25lZ190dGxtID0gaXdsX21sZF9jYW5fbmVnX3R0bG0sXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jPTYyNjE9aXdsX212bV9tYWNfZ2V0X2Z0bV9yZXNwb25kZXJfc3RhdHMoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jLTYyODgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYzo2Mjg5OmludCBpd2xfbXZtX3N0YXJ0X3Btc3Ioc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYy02MjkwLVxcdFxcdCAgICAgICBzdHJ1Y3QgY2ZnODAyMTFfcG1zcl9yZXF1ZXN0ICpyZXF1ZXN0KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYz02MzUyPWNvbnN0IHN0cnVjdCBpZWVlODAyMTFfb3BzIGl3bF9tdm1faHdfb3BzID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYy02NDMyLVxcdC5nZXRfZnRtX3Jlc3BvbmRlcl9zdGF0cyA9IGl3bF9tdm1fbWFjX2dldF9mdG1fcmVzcG9uZGVyX3N0YXRzLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21hYzgwMjExLmM6NjQzMzpcXHQuc3RhcnRfcG1zciA9IGl3bF9tdm1fc3RhcnRfcG1zcixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jLTY0MzQtXFx0LmFib3J0X3Btc3IgPSBpd2xfbXZtX2Fib3J0X3Btc3IsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tbGQtbWFjODAyMTEuYz04ODk9Y29uc3Qgc3RydWN0IGllZWU4MDIxMV9vcHMgaXdsX212bV9tbGRfaHdfb3BzID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWxkLW1hYzgwMjExLmMtOTY4LVxcdC5nZXRfZnRtX3Jlc3BvbmRlcl9zdGF0cyA9IGl3bF9tdm1fbWFjX2dldF9mdG1fcmVzcG9uZGVyX3N0YXRzLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL21sZC1tYWM4MDIxMS5jOjk2OTpcXHQuc3RhcnRfcG1zciA9IGl3bF9tdm1fc3RhcnRfcG1zcixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tbGQtbWFjODAyMTEuYy05NzAtXFx0LmFib3J0X3Btc3IgPSBpd2xfbXZtX2Fib3J0X3Btc3IsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tdm0uaD0yNzk0PWl3bF9tdm1fbWFjX2dldF9mdG1fcmVzcG9uZGVyX3N0YXRzKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmgtMjc5Ni1cXHRcXHRcXHRcXHQgICAgc3RydWN0IGNmZzgwMjExX2Z0bV9yZXNwb25kZXJfc3RhdHMgKnN0YXRzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tdm0uaDoyNzk3OmludCBpd2xfbXZtX3N0YXJ0X3Btc3Ioc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmgtMjc5OC1cXHRcXHQgICAgICAgc3RydWN0IGNmZzgwMjExX3Btc3JfcmVxdWVzdCAqcmVxdWVzdCk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL21hYzgwMjExX2h3c2ltX21haW4uYz0zNzM0PXN0YXRpYyBpbnQgbWFjODAyMTFfaHdzaW1fc2VuZF9wbXNyX3JlcXVlc3Qoc3RydWN0IHNrX2J1ZmYgKm1zZyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3ZpcnR1YWwvbWFjODAyMTFfaHdzaW1fbWFpbi5jLTM3NjQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9tYWM4MDIxMV9od3NpbV9tYWluLmM6Mzc2NTpzdGF0aWMgaW50IG1hYzgwMjExX2h3c2ltX3N0YXJ0X3Btc3Ioc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9tYWM4MDIxMV9od3NpbV9tYWluLmMtMzc2Ni1cXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL21hYzgwMjExX2h3c2ltX21haW4uYz00MjUwPXN0YXRpYyBpbnQgbWFjODAyMTFfaHdzaW1fc2V0X3JhZGFyX2JhY2tncm91bmQoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL21hYzgwMjExX2h3c2ltX21haW4uYy00Mjk3LVxcdC5nZXRfZXRfc3RyaW5ncyA9IG1hYzgwMjExX2h3c2ltX2dldF9ldF9zdHJpbmdzLFxcdFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL21hYzgwMjExX2h3c2ltX21haW4uYzo0Mjk4OlxcdC5zdGFydF9wbXNyID0gbWFjODAyMTFfaHdzaW1fc3RhcnRfcG1zcixcXHRcXHRcXFxcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9tYWM4MDIxMV9od3NpbV9tYWluLmMtNDI5OS1cXHQuYWJvcnRfcG1zciA9IG1hYzgwMjExX2h3c2ltX2Fib3J0X3Btc3IsXFx0XFx0XFxcXFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQwMzo1MDoxMS4yMDQ3MzE1ODNaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3MDk0MTUwNzUwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgYG5sODAyMTFfcG1zcl9zdGFydGAgd2l0aCBgbWFjODAyMTFfaHdzaW1gKipcblxuT2theSwgc28gaXQgbG9va3MgbGlrZSBgbWFjODAyMTFfaHdzaW1gICpkb2VzKiBzdXBwb3J0IGBzdGFydF9wbXNyYC4gRXhjZWxsZW50ISBUaGlzIG1lYW5zIHdlIGNhbiBkZWZpbml0ZWx5IHRhcmdldCBgbmw4MDIxMV9wbXNyX3N0YXJ0YCBmb3IgZnV6emluZywgYW5kIGxldmVyYWdlIHRoZSBoYXJkd2FyZSBzaW11bGF0b3IuIFdlJ3ZlIGdvdCB0aGUgbmVjZXNzYXJ5IGNvbmZpZ3VyYXRpb25zOiBgQ0ZHODAyMTFgLCBgTUFDODAyMTFgLCBhbmQgYE1BQzgwMjExX0hXU0lNYCDigJMgdGhvc2UgYXJlIHRoZSBrZXkgZW5hYmxlcnMuXG5cblRoZSBjcml0aWNhbCBmdW5jdGlvbiwgdGhlIG9uZSB0byBmb2N1cyBvbiwgaXMsIG9mIGNvdXJzZSwgYG5sODAyMTFfcG1zcl9zdGFydGAuIEkgc2hvdWxkIGRvdWJsZS1jaGVjayB0aGF0IHRoZXJlIGFyZW4ndCBhbnkgb3RoZXIgZnVuY3Rpb25zIHRoYXQgYXJlIHJlbGV2YW50LCBqdXN0IHRvIGJlIHRob3JvdWdoLiBCdXQsIGJhc2VkIG9uIHRoZSBwYXRjaCwgaXQgZGVmaW5pdGVseSBtb2RpZmllcyBgbmw4MDIxMV9wbXNyX3N0YXJ0YCB3aXRoaW4gYG5ldC93aXJlbGVzcy9wbXNyLmNgLiBJdCdzIHByZXR0eSBjbGVhciB0aGlzIGlzIHRoZSBlbnRyeSBwb2ludCwgYW5kIGl0J3MgcmVhY2hhYmxlLlxuXG5Mb29raW5nIGF0IHRoZSBjb250ZXh0LCB0aGlzIHBhdGNoIGlzIGFkZHJlc3NpbmcgYSByYWNlIGNvbmRpdGlvbiBpbiBgbmw4MDIxMV9wbXNyX3N0YXJ0YC4gVGhlIGlzc3VlIGlzIHRoYXQgYSByZXF1ZXN0IGNvdWxkIGJlIGNvbXBsZXRlZCBhbmQgZnJlZWQgYmVmb3JlIGl0IGlzIGFkZGVkIHRvIHRoZSBgcG1zcl9saXN0YC4gTXkgZXhwZXJpZW5jZSB0ZWxscyBtZSB0aGF0IHRoaXMgaXMgZGVmaW5pdGVseSByZWFjaGFibGUgdXNpbmcgdGhlIGBOTDgwMjExX0NNRF9QRUVSX01FQVNVUkVNRU5UX1NUQVJUYCBuZXRsaW5rIGNvbW1hbmQuIFNvLCBmdXp6aW5nIGBubDgwMjExX3Btc3Jfc3RhcnRgIHdpdGggYG1hYzgwMjExX2h3c2ltYCBlbmFibGVkIHdpbGwgZXhlcmNpc2UgdGhpcyBjb2RlIHBhdGggZGlyZWN0bHkuXG5cbk9rYXksIEkgdGhpbmsgd2UgaGF2ZSBhIHNvbGlkIHBsYW4uIExldCdzIGNhbGwgYHNldC1yZXN1bHRzYC5cblxuXG4iLCJJbnB1dFRva2VucyI6NjY4OCwiT3V0cHV0VG9rZW5zIjoxNzEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMTUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMDM6NTA6MTguMjk4ODg1NDYzWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTk0MDEwMzI3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJDRkc4MDIxMVwiLFxuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIk1BQzgwMjExX0hXU0lNXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmw4MDIxMV9wbXNyX3N0YXJ0XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSByYWNlIGNvbmRpdGlvbiBpbiBgbmw4MDIxMV9wbXNyX3N0YXJ0YCB3aGVyZSBhIHJlcXVlc3QgY291bGQgYmUgY29tcGxldGVkIGFuZCBmcmVlZCBieSB0aGUgZHJpdmVyIGJlZm9yZSBiZWluZyBhZGRlZCB0byB0aGUgYHBtc3JfbGlzdGAuIFRoaXMgaXMgcmVhY2hhYmxlIHZpYSB0aGUgYE5MODAyMTFfQ01EX1BFRVJfTUVBU1VSRU1FTlRfU1RBUlRgIG5ldGxpbmsgY29tbWFuZC4gRnV6emluZyB0aGlzIGZ1bmN0aW9uIHdpdGggYG1hYzgwMjExX2h3c2ltYCBlbmFibGVkIHdpbGwgZXhlcmNpc2UgdGhpcyBjb2RlIHBhdGguXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQ0ZHODAyMTFcIixcbiAgICBcIk1BQzgwMjExXCIsXG4gICAgXCJNQUM4MDIxMV9IV1NJTVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5sODAyMTFfcG1zcl9zdGFydFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcmFjZSBjb25kaXRpb24gaW4gYG5sODAyMTFfcG1zcl9zdGFydGAgd2hlcmUgYSByZXF1ZXN0IGNvdWxkIGJlIGNvbXBsZXRlZCBhbmQgZnJlZWQgYnkgdGhlIGRyaXZlciBiZWZvcmUgYmVpbmcgYWRkZWQgdG8gdGhlIGBwbXNyX2xpc3RgLiBUaGlzIGlzIHJlYWNoYWJsZSB2aWEgdGhlIGBOTDgwMjExX0NNRF9QRUVSX01FQVNVUkVNRU5UX1NUQVJUYCBuZXRsaW5rIGNvbW1hbmQuIEZ1enppbmcgdGhpcyBmdW5jdGlvbiB3aXRoIGBtYWM4MDIxMV9od3NpbWAgZW5hYmxlZCB3aWxsIGV4ZXJjaXNlIHRoaXMgY29kZSBwYXRoLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow5vsnr[1] Phase: Succeeded StartedAt: 2026-07-24 03:50:40 +0000 UTC FinishedAt: 2026-07-24 03:50:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-24 03:50:40 +0000 UTC FinishedAt: 2026-07-24 03:50:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2] Phase: Succeeded StartedAt: 2026-07-24 03:50:40 +0000 UTC FinishedAt: 2026-07-24 07:59:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-24 03:50:40 +0000 UTC FinishedAt: 2026-07-24 07:59:11 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-24 03:50:40 +0000 UTC FinishedAt: 2026-07-24 03:52:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-24 03:50:40 +0000 UTC FinishedAt: 2026-07-24 03:52:13 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-convert-artifact-4100527992/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-24 03:52:22 +0000 UTC FinishedAt: 2026-07-24 04:21:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-24 03:52:22 +0000 UTC FinishedAt: 2026-07-24 04:21:14 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*e110a955-d097-48fe-83d8-d05692962a48,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-convert-artifact-4100527992/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "74b510ae-efbb-477d-9162-b7eacd25be28", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-build-action-3437157422/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-24 03:52:22 +0000 UTC FinishedAt: 2026-07-24 04:21:04 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*e110a955-d097-48fe-83d8-d05692962a48,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-convert-artifact-4100527992/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "74b510ae-efbb-477d-9162-b7eacd25be28", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-build-action-3437157422/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-24 04:21:14 +0000 UTC FinishedAt: 2026-07-24 04:21:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-24 04:21:14 +0000 UTC FinishedAt: 2026-07-24 04:21:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-24 04:21:14 +0000 UTC FinishedAt: 2026-07-24 04:21:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-24 04:21:14 +0000 UTC FinishedAt: 2026-07-24 04:21:20 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-convert-artifact-3814639839/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-24 04:21:24 +0000 UTC FinishedAt: 2026-07-24 04:23:26 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-24 04:21:24 +0000 UTC FinishedAt: 2026-07-24 04:23:16 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*74b510ae-efbb-477d-9162-b7eacd25be28,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-build-action-3437157422/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-24 04:23:26 +0000 UTC FinishedAt: 2026-07-24 04:23:26 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-24 04:23:26 +0000 UTC FinishedAt: 2026-07-24 04:23:26 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-24 04:23:26 +0000 UTC FinishedAt: 2026-07-24 04:55:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-24 04:23:26 +0000 UTC FinishedAt: 2026-07-24 04:55:45 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*e110a955-d097-48fe-83d8-d05692962a48,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-convert-artifact-3814639839/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "39597491-bac9-4bee-8166-3b32fa49b181", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-build-action-858740339/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-24 04:23:26 +0000 UTC FinishedAt: 2026-07-24 04:55:35 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*e110a955-d097-48fe-83d8-d05692962a48,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-convert-artifact-3814639839/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "39597491-bac9-4bee-8166-3b32fa49b181", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-build-action-858740339/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-24 04:55:45 +0000 UTC FinishedAt: 2026-07-24 04:55:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-24 04:55:45 +0000 UTC FinishedAt: 2026-07-24 04:55:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-24 04:55:45 +0000 UTC FinishedAt: 2026-07-24 04:57:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-24 04:55:45 +0000 UTC FinishedAt: 2026-07-24 04:57:38 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*39597491-bac9-4bee-8166-3b32fa49b181,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-build-action-858740339/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-24 04:57:48 +0000 UTC FinishedAt: 2026-07-24 07:59:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-24 04:57:48 +0000 UTC FinishedAt: 2026-07-24 07:59:11 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:track,Default:nil,Value:*KASAN,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:base-build-id,Default:nil,Value:*74b510ae-efbb-477d-9162-b7eacd25be28,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*39597491-bac9-4bee-8166-3b32fa49b181,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-build-action-3437157422/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-build-action-858740339/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-24 04:57:48 +0000 UTC FinishedAt: 2026-07-24 04:57:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-24 04:57:48 +0000 UTC FinishedAt: 2026-07-24 04:57:53 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-convert-artifact-1731702264/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-24 04:57:48 +0000 UTC FinishedAt: 2026-07-24 04:57:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-24 04:57:48 +0000 UTC FinishedAt: 2026-07-24 04:57:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-24 04:57:48 +0000 UTC FinishedAt: 2026-07-24 04:57:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-24 04:57:58 +0000 UTC FinishedAt: 2026-07-24 07:59:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5vsnr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nl80211_pmsr_start"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"48a5a7ab8d6ab7090564339e039c421f315de912","config_name":"upstream-apparmor-kasan.config","enable_configs":["CFG80211","MAC80211","MAC80211_HWSIM"],"series_id":"334e5116-e031-4d4f-93f8-5a325191a1c6","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-24 04:57:58 +0000 UTC FinishedAt: 2026-07-24 07:58:59 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*74b510ae-efbb-477d-9162-b7eacd25be28,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*39597491-bac9-4bee-8166-3b32fa49b181,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Fuzz,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-build-action-3437157422/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:/patched,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-build-action-858740339/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:config,Path:/tmp/config.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow5vsnr/series-workflow5vsnr-convert-artifact-1731702264/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,}