Name: series-workflow477lg Phase: Succeeded StartedAt: 2026-07-01 03:58:31 +0000 UTC FinishedAt: 2026-07-01 05:46:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[0] Phase: Succeeded StartedAt: 2026-07-01 03:58:31 +0000 UTC FinishedAt: 2026-07-01 04:13:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[0].run-triage Phase: Succeeded StartedAt: 2026-07-01 03:58:31 +0000 UTC FinishedAt: 2026-07-01 04:13:18 +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": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_UBLK" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_UBLK" ], "series_id": "8e001eef-3f5a-45b2-b84e-83708fc8feca" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "ublk_handle_batch_prep_cmd", "ublk_walk_cmd_buf" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDA0OjExPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfVUJMSyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3VibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kJiMzNDssCiAgICAmIzM0O3VibGtfd2Fsa19jbWRfYnVmJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSB1YmxrIGRyaXZlciB0byBjb3B5IHRoZSBiYXRjaCBjb21tYW5kIGJ1ZmZlciBmcm9tIHVzZXJzcGFjZSBpbiBhIHNpbmdsZSBvcGVyYXRpb24gdXNpbmcgdm1lbWR1cF91c2VyLCBpbnN0ZWFkIG9mIGRvaW5nIGl0IGluIGNodW5rcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBibG9jayBkcml2ZXIgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDA0OjExPC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgM2JlNzhlNzY3MzdkMzViMWYyMDM3OWJjMzNiYmZhZWZkMWYyN2IyNlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDEgMDQ6MTE6MzkgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay91YmxrX2Rydi5jIGIvZHJpdmVycy9ibG9jay91YmxrX2Rydi5jXG5pbmRleCA0ZjZkOWU2NTIxODc4Zi4uYzJjMTFmMmEwMWU3MDEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuY1xuQEAgLTM1ODQsNiAmIzQzOzM1ODQsNyBAQCB1YmxrX2JhdGNoX2F1dG9fYnVmX3JlZyhjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pbyAqdWMsXG4gI2RlZmluZSBVQkxLX0NNRF9CQVRDSF9UTVBfQlVGX1NaICAoNDggKiAxMClcbiBzdHJ1Y3QgdWJsa19iYXRjaF9pb19pdGVyIHtcbiBcdHZvaWQgX191c2VyICp1YWRkcjtcbiYjNDM7XHRjb25zdCB1OCAqa2FkZHI7XG4gXHR1bnNpZ25lZCBkb25lLCB0b3RhbDtcbiBcdHVuc2lnbmVkIGNoYXIgZWxlbV9ieXRlcztcbiBcdC8qIGNvcHkgdG8gdGhpcyBidWZmZXIgZnJvbSB1c2VyIHNwYWNlICovXG5AQCAtMzYzMiw3ICYjNDM7MzYzMywxMCBAQCBzdGF0aWMgaW50IHVibGtfd2Fsa19jbWRfYnVmKHN0cnVjdCB1YmxrX2JhdGNoX2lvX2l0ZXIgKml0ZXIsXG4gXHR3aGlsZSAoaXRlci1cdTAwM2Vkb25lIFx1MDAzYyBpdGVyLVx1MDAzZXRvdGFsKSB7XG4gXHRcdHVuc2lnbmVkIGludCBsZW4gPSBtaW4oc2l6ZW9mKGl0ZXItXHUwMDNlYnVmKSwgaXRlci1cdTAwM2V0b3RhbCAtIGl0ZXItXHUwMDNlZG9uZSk7XG4gXG4tXHRcdGlmIChjb3B5X2Zyb21fdXNlcihpdGVyLVx1MDAzZWJ1ZiwgaXRlci1cdTAwM2V1YWRkciAmIzQzOyBpdGVyLVx1MDAzZWRvbmUsIGxlbikpIHtcbiYjNDM7XHRcdGlmIChpdGVyLVx1MDAzZWthZGRyKSB7XG4mIzQzO1x0XHRcdG1lbWNweShpdGVyLVx1MDAzZWJ1ZiwgaXRlci1cdTAwM2VrYWRkciAmIzQzOyBpdGVyLVx1MDAzZWRvbmUsIGxlbik7XG4mIzQzO1x0XHR9IGVsc2UgaWYgKGNvcHlfZnJvbV91c2VyKGl0ZXItXHUwMDNlYnVmLCBpdGVyLVx1MDAzZXVhZGRyICYjNDM7IGl0ZXItXHUwMDNlZG9uZSxcbiYjNDM7XHRcdFx0XHQgIGxlbikpIHtcbiBcdFx0XHRwcl93YXJuKFwmIzM0O3VibGslZDogcmVhZCBiYXRjaCBjbWQgYnVmZmVyIGZhaWxlZFxcblwmIzM0OyxcbiBcdFx0XHRcdFx0ZGF0YS1cdTAwM2V1Yi1cdTAwM2VkZXZfaW5mby5kZXZfaWQpO1xuIFx0XHRcdHJldHVybiAtRUZBVUxUO1xuQEAgLTM3MjMsMTQgJiM0MzszNzI3LDIxIEBAIHN0YXRpYyBpbnQgdWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWQoY29uc3Qgc3RydWN0IHVibGtfYmF0Y2hfaW9fZGF0YSAqZGF0YSlcbiBcdFx0LnRvdGFsID0gdWMtXHUwMDNlbnJfZWxlbSAqIHVjLVx1MDAzZWVsZW1fYnl0ZXMsXG4gXHRcdC5lbGVtX2J5dGVzID0gdWMtXHUwMDNlZWxlbV9ieXRlcyxcbiBcdH07XG4mIzQzO1x0dm9pZCAqY21kX2J1ZjtcbiBcdGludCByZXQ7XG4gXG4mIzQzO1x0Y21kX2J1ZiA9IHZtZW1kdXBfdXNlcihpdGVyLnVhZGRyLCBpdGVyLnRvdGFsKTtcbiYjNDM7XHRpZiAoSVNfRVJSKGNtZF9idWYpKVxuJiM0MztcdFx0cmV0dXJuIFBUUl9FUlIoY21kX2J1Zik7XG4mIzQzO1x0aXRlci5rYWRkciA9IGNtZF9idWY7XG4mIzQzO1xuIFx0bXV0ZXhfbG9jayhcdTAwMjZkYXRhLVx1MDAzZXViLVx1MDAzZW11dGV4KTtcbiBcdHJldCA9IHVibGtfd2Fsa19jbWRfYnVmKFx1MDAyNml0ZXIsIGRhdGEsIHVibGtfYmF0Y2hfcHJlcF9pbyk7XG4gXG4gXHRpZiAocmV0IFx1MDAyNlx1MDAyNiBpdGVyLmRvbmUpXG4gXHRcdHVibGtfYmF0Y2hfcmV2ZXJ0X3ByZXBfY21kKFx1MDAyNml0ZXIsIGRhdGEpO1xuIFx0bXV0ZXhfdW5sb2NrKFx1MDAyNmRhdGEtXHUwMDNldWItXHUwMDNlbXV0ZXgpO1xuJiM0MztcdGt2ZnJlZShjbWRfYnVmKTtcbiBcdHJldHVybiByZXQ7XG4gfVxuIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDA0OjExPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfVUJMSyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3VibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kJiMzNDssCiAgICAmIzM0O3VibGtfd2Fsa19jbWRfYnVmJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSB1YmxrIGRyaXZlciB0byBjb3B5IHRoZSBiYXRjaCBjb21tYW5kIGJ1ZmZlciBmcm9tIHVzZXJzcGFjZSBpbiBhIHNpbmdsZSBvcGVyYXRpb24gdXNpbmcgdm1lbWR1cF91c2VyLCBpbnN0ZWFkIG9mIGRvaW5nIGl0IGluIGNodW5rcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBibG9jayBkcml2ZXIgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAzYmU3OGU3NjczN2QzNWIxZjIwMzc5YmMzM2JiZmFlZmQxZjI3YjI2CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFdlZCBKdWwgMSAwNDoxMTozOSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuYyBiL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuYwppbmRleCA0ZjZkOWU2NTIxODc4Zi4uYzJjMTFmMmEwMWU3MDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmMKQEAgLTM1ODQsNiAmIzQzOzM1ODQsNyBAQCB1YmxrX2JhdGNoX2F1dG9fYnVmX3JlZyhjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pbyAqdWMsCiAjZGVmaW5lIFVCTEtfQ01EX0JBVENIX1RNUF9CVUZfU1ogICg0OCAqIDEwKQogc3RydWN0IHVibGtfYmF0Y2hfaW9faXRlciB7CiAJdm9pZCBfX3VzZXIgKnVhZGRyOwomIzQzOwljb25zdCB1OCAqa2FkZHI7CiAJdW5zaWduZWQgZG9uZSwgdG90YWw7CiAJdW5zaWduZWQgY2hhciBlbGVtX2J5dGVzOwogCS8qIGNvcHkgdG8gdGhpcyBidWZmZXIgZnJvbSB1c2VyIHNwYWNlICovCkBAIC0zNjMyLDcgJiM0MzszNjMzLDEwIEBAIHN0YXRpYyBpbnQgdWJsa193YWxrX2NtZF9idWYoc3RydWN0IHVibGtfYmF0Y2hfaW9faXRlciAqaXRlciwKIAl3aGlsZSAoaXRlci0mZ3Q7ZG9uZSAmbHQ7IGl0ZXItJmd0O3RvdGFsKSB7CiAJCXVuc2lnbmVkIGludCBsZW4gPSBtaW4oc2l6ZW9mKGl0ZXItJmd0O2J1ZiksIGl0ZXItJmd0O3RvdGFsIC0gaXRlci0mZ3Q7ZG9uZSk7CiAKLQkJaWYgKGNvcHlfZnJvbV91c2VyKGl0ZXItJmd0O2J1ZiwgaXRlci0mZ3Q7dWFkZHIgJiM0MzsgaXRlci0mZ3Q7ZG9uZSwgbGVuKSkgewomIzQzOwkJaWYgKGl0ZXItJmd0O2thZGRyKSB7CiYjNDM7CQkJbWVtY3B5KGl0ZXItJmd0O2J1ZiwgaXRlci0mZ3Q7a2FkZHIgJiM0MzsgaXRlci0mZ3Q7ZG9uZSwgbGVuKTsKJiM0MzsJCX0gZWxzZSBpZiAoY29weV9mcm9tX3VzZXIoaXRlci0mZ3Q7YnVmLCBpdGVyLSZndDt1YWRkciAmIzQzOyBpdGVyLSZndDtkb25lLAomIzQzOwkJCQkgIGxlbikpIHsKIAkJCXByX3dhcm4oJiMzNDt1YmxrJWQ6IHJlYWQgYmF0Y2ggY21kIGJ1ZmZlciBmYWlsZWRcbiYjMzQ7LAogCQkJCQlkYXRhLSZndDt1Yi0mZ3Q7ZGV2X2luZm8uZGV2X2lkKTsKIAkJCXJldHVybiAtRUZBVUxUOwpAQCAtMzcyMywxNCAmIzQzOzM3MjcsMjEgQEAgc3RhdGljIGludCB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZChjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pb19kYXRhICpkYXRhKQogCQkudG90YWwgPSB1Yy0mZ3Q7bnJfZWxlbSAqIHVjLSZndDtlbGVtX2J5dGVzLAogCQkuZWxlbV9ieXRlcyA9IHVjLSZndDtlbGVtX2J5dGVzLAogCX07CiYjNDM7CXZvaWQgKmNtZF9idWY7CiAJaW50IHJldDsKIAomIzQzOwljbWRfYnVmID0gdm1lbWR1cF91c2VyKGl0ZXIudWFkZHIsIGl0ZXIudG90YWwpOwomIzQzOwlpZiAoSVNfRVJSKGNtZF9idWYpKQomIzQzOwkJcmV0dXJuIFBUUl9FUlIoY21kX2J1Zik7CiYjNDM7CWl0ZXIua2FkZHIgPSBjbWRfYnVmOwomIzQzOwogCW11dGV4X2xvY2soJmFtcDtkYXRhLSZndDt1Yi0mZ3Q7bXV0ZXgpOwogCXJldCA9IHVibGtfd2Fsa19jbWRfYnVmKCZhbXA7aXRlciwgZGF0YSwgdWJsa19iYXRjaF9wcmVwX2lvKTsKIAogCWlmIChyZXQgJmFtcDsmYW1wOyBpdGVyLmRvbmUpCiAJCXVibGtfYmF0Y2hfcmV2ZXJ0X3ByZXBfY21kKCZhbXA7aXRlciwgZGF0YSk7CiAJbXV0ZXhfdW5sb2NrKCZhbXA7ZGF0YS0mZ3Q7dWItJmd0O211dGV4KTsKJiM0MzsJa3ZmcmVlKGNtZF9idWYpOwogCXJldHVybiByZXQ7CiB9CiAKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDEgMDQ6MTE8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjMxOAoJCQkJCQkJb3V0cHV0OiAzMAoJCQkJCQkJdGhvdWdodHM6IDE3MgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIHVibGtfZHJ2LmMgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBkcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNgLiBJdCBzZWVtcyB0aGV5JiMzOTtyZSBmdW5kYW1lbnRhbGx5IGFsdGVyaW5nIGhvdyB0aGUgYmF0Y2ggY29tbWFuZCBidWZmZXIgaXMgaGFuZGxlZCwgc3BlY2lmaWNhbGx5IHdpdGhpbiB0aGUgYHVibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kYCBhbmQgYHVibGtfd2Fsa19jbWRfYnVmYCBmdW5jdGlvbnMuIFRoZXkmIzM5O3ZlIGFkZGVkIGEgYGthZGRyYCBmaWVsZCB0byBgc3RydWN0IHVibGtfYmF0Y2hfaW9faXRlcmAsIHdoaWNoIGltbWVkaWF0ZWx5IHN1Z2dlc3RzIGEgY2hhbmdlIGluIG1lbW9yeSBtYW5hZ2VtZW50IHN0cmF0ZWd5LgoKRXNzZW50aWFsbHksIGluc3RlYWQgb2YgdGhlIGV4aXN0aW5nIGNodW5rLWJ5LWNodW5rIGNvcHkgd2l0aGluIGB1YmxrX3dhbGtfY21kX2J1ZmAsIHRoZSBwYXRjaCBhcHBlYXJzIHRvIGJlIGFsbG9jYXRpbmcgYSBzaW5nbGUga2VybmVsIGJ1ZmZlciBhbmQgdXNpbmcgYHZtZW1kdXBfdXNlcmAgaW4gYHVibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kYCB0byBjb3B5IHRoZSAqZW50aXJlKiB1c2VyLXNwYWNlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGF0IG9uY2UuIFRoaXMgaXMgYSBwcmV0dHkgc2lnbmlmaWNhbnQgc2hpZnQgaW4gdGhlIGRhdGEgdHJhbnNmZXIgcGFyYWRpZ20uIFRoaXMgY291bGQgb2ZmZXIgc29tZSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgYnkgcmVkdWNpbmcgdGhlIG51bWJlciBvZiBzeXNjYWxscyBvciBwb3NzaWJseSBpbXByb3ZlIGRhdGEgbG9jYWxpdHkuIFRoZSB0cmFkZS1vZmZzIG1pZ2h0IGJlIGluY3JlYXNlZCBtZW1vcnkgdXNhZ2UgaW4gdGhlIGtlcm5lbC4KCkkgbmVlZCB0byBjb25maXJtIHRoZSBjb25maWd1cmF0aW9uLiBMZXQmIzM5O3MgbWFrZSBzdXJlIGBkcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNgIGlzIGxpbmtlZCB3aXRoIHRoZSBgQ09ORklHX0JMS19ERVZfVUJMS2Agb3B0aW9uLiBUaGlzIGlzIGNyaXRpY2FsIGZvciB0aGUgY2hhbmdlIHRvIGFjdHVhbGx5IGJlIGltcGxlbWVudGVkIG9uIGEgc3lzdGVtLiBJdCYjMzk7cyBhbG1vc3QgY2VydGFpbiBpdCBpcywgYnV0IGl0JiMzOTtzIGFsd2F5cyBnb29kIHRvIHZlcmlmeSB0aGF0IHRoZSBjb25maWcgaXMgY29ycmVjdCBiZWZvcmUgZ2V0dGluZyBhbnkgZnVydGhlci4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMSAwNDoxMTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtCTEtfREVWX1VCTEsmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL0tjb25maWc9MzE1PWNvbmZpZyBCTEtfREVWX1JCRFxuLS1cbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0zMjctXG5kcml2ZXJzL2Jsb2NrL0tjb25maWc6MzI4OmNvbmZpZyBCTEtfREVWX1VCTEtcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0zMjktXHR0cmlzdGF0ZSBcJiMzNDtVc2Vyc3BhY2UgYmxvY2sgZHJpdmVyIChFeHBlcmltZW50YWwpXCYjMzQ7XG4tLVxuZHJpdmVycy9ibG9jay9LY29uZmlnPTMzNz1jb25maWcgQkxLREVWX1VCTEtfTEVHQUNZX09QQ09ERVNcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0zMzgtXHRib29sIFwmIzM0O1N1cHBvcnQgbGVnYWN5IGNvbW1hbmQgb3Bjb2RlXCYjMzQ7XG5kcml2ZXJzL2Jsb2NrL0tjb25maWc6MzM5Olx0ZGVwZW5kcyBvbiBCTEtfREVWX1VCTEtcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0zNDAtXHRkZWZhdWx0IHlcbi0tXG5kcml2ZXJzL2Jsb2NrL01ha2VmaWxlPTM4PW9iai0kKENPTkZJR19CTEtfREVWX1JVU1RfTlVMTCkgJiM0Mzs9IHJudWxsL1xuZHJpdmVycy9ibG9jay9NYWtlZmlsZS0zOS1cbmRyaXZlcnMvYmxvY2svTWFrZWZpbGU6NDA6b2JqLSQoQ09ORklHX0JMS19ERVZfVUJMSylcdFx0XHQmIzQzOz0gdWJsa19kcnYub1xuZHJpdmVycy9ibG9jay9NYWtlZmlsZS00MS1vYmotJChDT05GSUdfQkxLX0RFVl9aT05FRF9MT09QKSAmIzQzOz0gemxvb3Aub1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDA0OjExPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxMDEKCQkJCQkJCW91dHB1dDogNDAKCQkJCQkJCXRob3VnaHRzOiA1NQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBzdW1tYXJ5LCBhcyB0aGUgZXhwZXJ0OgoKKipJbnZlc3RpZ2F0aW5nIHRoZSBVQkxLIENvbmZpZ3VyYXRpb24qKgoKT2theSwgc28gdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiB3ZSYjMzk7cmUgbG9va2luZyBhdCByZXZvbHZlcyBhcm91bmQgYEJMS19ERVZfVUJMS2AuIFJpZ2h0LCB0aGF0IG5hcnJvd3MgdGhlIGZvY3VzIGNvbnNpZGVyYWJseS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGFjdCBvZiByZWNlbnQgbW9kaWZpY2F0aW9ucy4gU3BlY2lmaWNhbGx5LCBJIHNlZSB0aGF0IGB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZGAgYW5kIGB1YmxrX3dhbGtfY21kX2J1ZmAgaGF2ZSBiZWVuIGNoYW5nZWQuIFRoZXNlIGFyZSBrZXkgZnVuY3Rpb25zIHdpdGhpbiB0aGUgVUJMSyBmcmFtZXdvcmssIGFuZCBjb25zaWRlcmluZyB0aGV5JiMzOTt2ZSBiZWVuIHRvdWNoZWQsIEkgbmVlZCB0byB1bmRlcnN0YW5kICp3aHkqLiBNeSBpbW1lZGlhdGUgaW5zdGluY3QgaXMgdG8gZGlnIGRlZXBlci4gSSYjMzk7bGwgbmVlZCB0byBhc3Nlc3MgdGhlIHN1cnJvdW5kaW5nIGNvZGUuIEkgbmVlZCB0byBtYWtlIGEgbWVudGFsIG5vdGUgdG8gZGV0ZXJtaW5lIGlmIG90aGVyIGZ1bmN0aW9ucyBhcmUgbGlrZWx5IGFmZmVjdGVkIGJ5IHRoZSBzYW1lIGNoYW5nZXMuIFRoaXMgY291bGQgYmUgd2hlcmUgdGhlIHJ1YmJlciBtZWV0cyB0aGUgcm9hZC4gV2hhdCBvdGhlciBmdW5jdGlvbnMgYXJlIGluIHRoZSBjYWxsIHRyZWUgYXJvdW5kIHRoZXNlIHR3bz8KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMSAwNDoxMTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvYmxvY2svdWJsa19kcnYuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmM9MzY5MD1zdGF0aWMgaW50IHVibGtfYmF0Y2hfcHJlcF9pbyhzdHJ1Y3QgdWJsa19xdWV1ZSAqdWJxLFxuLS1cbmRyaXZlcnMvYmxvY2svdWJsa19kcnYuYy0zNzIwLVxuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jOjM3MjE6c3RhdGljIGludCB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZChjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pb19kYXRhICpkYXRhKVxuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jLTM3MjIte1xuLS1cbmRyaXZlcnMvYmxvY2svdWJsa19kcnYuYz0zOTgwPXN0YXRpYyBpbnQgdWJsa19jaF9iYXRjaF9pb191cmluZ19jbWQoc3RydWN0IGlvX3VyaW5nX2NtZCAqY21kLFxuLS1cbmRyaXZlcnMvYmxvY2svdWJsa19kcnYuYy00MDA5LVx0XHRcdGdvdG8gb3V0O1xuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jOjQwMTA6XHRcdHJldCA9IHVibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kKFx1MDAyNmRhdGEpO1xuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jLTQwMTEtXHRcdGJyZWFrO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDA0OjExPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM2MjAKCQkJCQkJCW91dHB1dDogMTEyCgkJCQkJCQl0aG91Z2h0czogNjcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBVYmxrIFBhdGNoIGZvciBCYXRjaCBDb21tYW5kIEhhbmRsaW5nKioKCk9rYXksIHNvIEkmIzM5O3ZlIGJlZW4gZGlnZ2luZyBpbnRvIHRoaXMgcGF0Y2guIFRoZSBrZXkgZnVuY3Rpb25zIHRvIHJlYWxseSB6ZXJvIGluIG9uIGhlcmUgYXJlIGB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZGAgYW5kIGB1YmxrX3dhbGtfY21kX2J1ZmAuIFRoYXQmIzM5O3Mgd2hlcmUgdGhlIGNvcmUgbG9naWMgb2YgdGhpcyBiYXRjaCBjb21tYW5kIHByb2Nlc3MgbGl2ZXMsIGFuZCB1bmRlcnN0YW5kaW5nIHRob3NlIGlzIGdvaW5nIHRvIHVubG9jayB0aGUgcmVzdC4gU3BlY2lmaWNhbGx5LCBteSBjb25maWd1cmF0aW9uIHNldHRpbmcgaGVyZSBpcyB0YXJnZXRpbmcgdGhlIGBCTEtfREVWX1VCTEtgIGRldmljZSwgc28gYW55dGhpbmcgaW1wYWN0aW5nIHRoYXQgaXMgZGlyZWN0bHkgcmVsZXZhbnQgdG8gbXkgdXNlIGNhc2UuCgpGcm9tIHdoYXQgSSBjYW4gc2VlLCB0aGlzIHBhdGNoIGxvb2tzIGZ1bmN0aW9uYWwuIFRoZSBjaGFuZ2UgaW52b2x2ZXMgaG93IHdlJiMzOTtyZSBwdWxsaW5nIHRoZSBiYXRjaCBjb21tYW5kIGJ1ZmZlciBmcm9tIHVzZXJzcGFjZS4gSXQmIzM5O3MgYWJvdXQgb3B0aW1pemluZyB0aGF0IGNvcHkgcHJvY2VzcywgcHJlc3VtYWJseS4gTm93LCBsZXQmIzM5O3MgbmFpbCBkb3duIHdoYXQgdGhlIG91dGNvbWUgaXMgYW5kIGVzdGFibGlzaCB0aGUgcmVzdWx0cy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMSAwNDoxMTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9VQkxLJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWQmIzM0OywKICAgICYjMzQ7dWJsa193YWxrX2NtZF9idWYmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHVibGsgZHJpdmVyIHRvIGNvcHkgdGhlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGZyb20gdXNlcnNwYWNlIGluIGEgc2luZ2xlIG9wZXJhdGlvbiB1c2luZyB2bWVtZHVwX3VzZXIsIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gY2h1bmtzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGJsb2NrIGRyaXZlciB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfVUJMSyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3VibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kJiMzNDssCiAgICAmIzM0O3VibGtfd2Fsa19jbWRfYnVmJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSB1YmxrIGRyaXZlciB0byBjb3B5IHRoZSBiYXRjaCBjb21tYW5kIGJ1ZmZlciBmcm9tIHVzZXJzcGFjZSBpbiBhIHNpbmdsZSBvcGVyYXRpb24gdXNpbmcgdm1lbWR1cF91c2VyLCBpbnN0ZWFkIG9mIGRvaW5nIGl0IGluIGNodW5rcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBibG9jayBkcml2ZXIgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMDFUMDQ6MTE6NDAuOTkzNDIxNjcyWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTI5MDM0Njg4OTIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9VQkxLXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWRcIixcbiAgICBcInVibGtfd2Fsa19jbWRfYnVmXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHVibGsgZHJpdmVyIHRvIGNvcHkgdGhlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGZyb20gdXNlcnNwYWNlIGluIGEgc2luZ2xlIG9wZXJhdGlvbiB1c2luZyB2bWVtZHVwX3VzZXIsIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gY2h1bmtzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGJsb2NrIGRyaXZlciB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAxVDA0OjExOjQwLjk5MzQzMjM3MloiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTg4NzAwMTIyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgM2JlNzhlNzY3MzdkMzViMWYyMDM3OWJjMzNiYmZhZWZkMWYyN2IyNlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIEp1bCAxIDA0OjExOjM5IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuYyBiL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuY1xcbmluZGV4IDRmNmQ5ZTY1MjE4NzhmLi5jMmMxMWYyYTAxZTcwMSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNcXG4rKysgYi9kcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNcXG5AQCAtMzU4NCw2ICszNTg0LDcgQEAgdWJsa19iYXRjaF9hdXRvX2J1Zl9yZWcoY29uc3Qgc3RydWN0IHVibGtfYmF0Y2hfaW8gKnVjLFxcbiAjZGVmaW5lIFVCTEtfQ01EX0JBVENIX1RNUF9CVUZfU1ogICg0OCAqIDEwKVxcbiBzdHJ1Y3QgdWJsa19iYXRjaF9pb19pdGVyIHtcXG4gXFx0dm9pZCBfX3VzZXIgKnVhZGRyO1xcbitcXHRjb25zdCB1OCAqa2FkZHI7XFxuIFxcdHVuc2lnbmVkIGRvbmUsIHRvdGFsO1xcbiBcXHR1bnNpZ25lZCBjaGFyIGVsZW1fYnl0ZXM7XFxuIFxcdC8qIGNvcHkgdG8gdGhpcyBidWZmZXIgZnJvbSB1c2VyIHNwYWNlICovXFxuQEAgLTM2MzIsNyArMzYzMywxMCBAQCBzdGF0aWMgaW50IHVibGtfd2Fsa19jbWRfYnVmKHN0cnVjdCB1YmxrX2JhdGNoX2lvX2l0ZXIgKml0ZXIsXFxuIFxcdHdoaWxlIChpdGVyLVxcdTAwM2Vkb25lIFxcdTAwM2MgaXRlci1cXHUwMDNldG90YWwpIHtcXG4gXFx0XFx0dW5zaWduZWQgaW50IGxlbiA9IG1pbihzaXplb2YoaXRlci1cXHUwMDNlYnVmKSwgaXRlci1cXHUwMDNldG90YWwgLSBpdGVyLVxcdTAwM2Vkb25lKTtcXG4gXFxuLVxcdFxcdGlmIChjb3B5X2Zyb21fdXNlcihpdGVyLVxcdTAwM2VidWYsIGl0ZXItXFx1MDAzZXVhZGRyICsgaXRlci1cXHUwMDNlZG9uZSwgbGVuKSkge1xcbitcXHRcXHRpZiAoaXRlci1cXHUwMDNla2FkZHIpIHtcXG4rXFx0XFx0XFx0bWVtY3B5KGl0ZXItXFx1MDAzZWJ1ZiwgaXRlci1cXHUwMDNla2FkZHIgKyBpdGVyLVxcdTAwM2Vkb25lLCBsZW4pO1xcbitcXHRcXHR9IGVsc2UgaWYgKGNvcHlfZnJvbV91c2VyKGl0ZXItXFx1MDAzZWJ1ZiwgaXRlci1cXHUwMDNldWFkZHIgKyBpdGVyLVxcdTAwM2Vkb25lLFxcbitcXHRcXHRcXHRcXHQgIGxlbikpIHtcXG4gXFx0XFx0XFx0cHJfd2FybihcXFwidWJsayVkOiByZWFkIGJhdGNoIGNtZCBidWZmZXIgZmFpbGVkXFxcXG5cXFwiLFxcbiBcXHRcXHRcXHRcXHRcXHRkYXRhLVxcdTAwM2V1Yi1cXHUwMDNlZGV2X2luZm8uZGV2X2lkKTtcXG4gXFx0XFx0XFx0cmV0dXJuIC1FRkFVTFQ7XFxuQEAgLTM3MjMsMTQgKzM3MjcsMjEgQEAgc3RhdGljIGludCB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZChjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pb19kYXRhICpkYXRhKVxcbiBcXHRcXHQudG90YWwgPSB1Yy1cXHUwMDNlbnJfZWxlbSAqIHVjLVxcdTAwM2VlbGVtX2J5dGVzLFxcbiBcXHRcXHQuZWxlbV9ieXRlcyA9IHVjLVxcdTAwM2VlbGVtX2J5dGVzLFxcbiBcXHR9O1xcbitcXHR2b2lkICpjbWRfYnVmO1xcbiBcXHRpbnQgcmV0O1xcbiBcXG4rXFx0Y21kX2J1ZiA9IHZtZW1kdXBfdXNlcihpdGVyLnVhZGRyLCBpdGVyLnRvdGFsKTtcXG4rXFx0aWYgKElTX0VSUihjbWRfYnVmKSlcXG4rXFx0XFx0cmV0dXJuIFBUUl9FUlIoY21kX2J1Zik7XFxuK1xcdGl0ZXIua2FkZHIgPSBjbWRfYnVmO1xcbitcXG4gXFx0bXV0ZXhfbG9jayhcXHUwMDI2ZGF0YS1cXHUwMDNldWItXFx1MDAzZW11dGV4KTtcXG4gXFx0cmV0ID0gdWJsa193YWxrX2NtZF9idWYoXFx1MDAyNml0ZXIsIGRhdGEsIHVibGtfYmF0Y2hfcHJlcF9pbyk7XFxuIFxcbiBcXHRpZiAocmV0IFxcdTAwMjZcXHUwMDI2IGl0ZXIuZG9uZSlcXG4gXFx0XFx0dWJsa19iYXRjaF9yZXZlcnRfcHJlcF9jbWQoXFx1MDAyNml0ZXIsIGRhdGEpO1xcbiBcXHRtdXRleF91bmxvY2soXFx1MDAyNmRhdGEtXFx1MDAzZXViLVxcdTAwM2VtdXRleCk7XFxuK1xcdGt2ZnJlZShjbWRfYnVmKTtcXG4gXFx0cmV0dXJuIHJldDtcXG4gfVxcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMDQ6MTE6NDEuNTgzMjg1MTQ0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMjMxMzU4MTMwMSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCTEtfREVWX1VCTEtcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZFwiLFxuICAgIFwidWJsa193YWxrX2NtZF9idWZcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgdWJsayBkcml2ZXIgdG8gY29weSB0aGUgYmF0Y2ggY29tbWFuZCBidWZmZXIgZnJvbSB1c2Vyc3BhY2UgaW4gYSBzaW5nbGUgb3BlcmF0aW9uIHVzaW5nIHZtZW1kdXBfdXNlciwgaW5zdGVhZCBvZiBkb2luZyBpdCBpbiBjaHVua3MuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgYmxvY2sgZHJpdmVyIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAzYmU3OGU3NjczN2QzNWIxZjIwMzc5YmMzM2JiZmFlZmQxZjI3YjI2XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBKdWwgMSAwNDoxMTozOSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuYyBiL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuY1xuaW5kZXggNGY2ZDllNjUyMTg3OGYuLmMyYzExZjJhMDFlNzAxIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay91YmxrX2Rydi5jXG4rKysgYi9kcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNcbkBAIC0zNTg0LDYgKzM1ODQsNyBAQCB1YmxrX2JhdGNoX2F1dG9fYnVmX3JlZyhjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pbyAqdWMsXG4gI2RlZmluZSBVQkxLX0NNRF9CQVRDSF9UTVBfQlVGX1NaICAoNDggKiAxMClcbiBzdHJ1Y3QgdWJsa19iYXRjaF9pb19pdGVyIHtcbiBcdHZvaWQgX191c2VyICp1YWRkcjtcbitcdGNvbnN0IHU4ICprYWRkcjtcbiBcdHVuc2lnbmVkIGRvbmUsIHRvdGFsO1xuIFx0dW5zaWduZWQgY2hhciBlbGVtX2J5dGVzO1xuIFx0LyogY29weSB0byB0aGlzIGJ1ZmZlciBmcm9tIHVzZXIgc3BhY2UgKi9cbkBAIC0zNjMyLDcgKzM2MzMsMTAgQEAgc3RhdGljIGludCB1YmxrX3dhbGtfY21kX2J1ZihzdHJ1Y3QgdWJsa19iYXRjaF9pb19pdGVyICppdGVyLFxuIFx0d2hpbGUgKGl0ZXItXHUwMDNlZG9uZSBcdTAwM2MgaXRlci1cdTAwM2V0b3RhbCkge1xuIFx0XHR1bnNpZ25lZCBpbnQgbGVuID0gbWluKHNpemVvZihpdGVyLVx1MDAzZWJ1ZiksIGl0ZXItXHUwMDNldG90YWwgLSBpdGVyLVx1MDAzZWRvbmUpO1xuIFxuLVx0XHRpZiAoY29weV9mcm9tX3VzZXIoaXRlci1cdTAwM2VidWYsIGl0ZXItXHUwMDNldWFkZHIgKyBpdGVyLVx1MDAzZWRvbmUsIGxlbikpIHtcbitcdFx0aWYgKGl0ZXItXHUwMDNla2FkZHIpIHtcbitcdFx0XHRtZW1jcHkoaXRlci1cdTAwM2VidWYsIGl0ZXItXHUwMDNla2FkZHIgKyBpdGVyLVx1MDAzZWRvbmUsIGxlbik7XG4rXHRcdH0gZWxzZSBpZiAoY29weV9mcm9tX3VzZXIoaXRlci1cdTAwM2VidWYsIGl0ZXItXHUwMDNldWFkZHIgKyBpdGVyLVx1MDAzZWRvbmUsXG4rXHRcdFx0XHQgIGxlbikpIHtcbiBcdFx0XHRwcl93YXJuKFwidWJsayVkOiByZWFkIGJhdGNoIGNtZCBidWZmZXIgZmFpbGVkXFxuXCIsXG4gXHRcdFx0XHRcdGRhdGEtXHUwMDNldWItXHUwMDNlZGV2X2luZm8uZGV2X2lkKTtcbiBcdFx0XHRyZXR1cm4gLUVGQVVMVDtcbkBAIC0zNzIzLDE0ICszNzI3LDIxIEBAIHN0YXRpYyBpbnQgdWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWQoY29uc3Qgc3RydWN0IHVibGtfYmF0Y2hfaW9fZGF0YSAqZGF0YSlcbiBcdFx0LnRvdGFsID0gdWMtXHUwMDNlbnJfZWxlbSAqIHVjLVx1MDAzZWVsZW1fYnl0ZXMsXG4gXHRcdC5lbGVtX2J5dGVzID0gdWMtXHUwMDNlZWxlbV9ieXRlcyxcbiBcdH07XG4rXHR2b2lkICpjbWRfYnVmO1xuIFx0aW50IHJldDtcbiBcbitcdGNtZF9idWYgPSB2bWVtZHVwX3VzZXIoaXRlci51YWRkciwgaXRlci50b3RhbCk7XG4rXHRpZiAoSVNfRVJSKGNtZF9idWYpKVxuK1x0XHRyZXR1cm4gUFRSX0VSUihjbWRfYnVmKTtcbitcdGl0ZXIua2FkZHIgPSBjbWRfYnVmO1xuK1xuIFx0bXV0ZXhfbG9jayhcdTAwMjZkYXRhLVx1MDAzZXViLVx1MDAzZW11dGV4KTtcbiBcdHJldCA9IHVibGtfd2Fsa19jbWRfYnVmKFx1MDAyNml0ZXIsIGRhdGEsIHVibGtfYmF0Y2hfcHJlcF9pbyk7XG4gXG4gXHRpZiAocmV0IFx1MDAyNlx1MDAyNiBpdGVyLmRvbmUpXG4gXHRcdHVibGtfYmF0Y2hfcmV2ZXJ0X3ByZXBfY21kKFx1MDAyNml0ZXIsIGRhdGEpO1xuIFx0bXV0ZXhfdW5sb2NrKFx1MDAyNmRhdGEtXHUwMDNldWItXHUwMDNlbXV0ZXgpO1xuK1x0a3ZmcmVlKGNtZF9idWYpO1xuIFx0cmV0dXJuIHJldDtcbiB9XG4gXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQwNDoxMTo0MS41ODMzMDgwNzNaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0Nzg2ODYxNzAxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgdWJsa19kcnYuYyBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBkcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNgLiBJdCBzZWVtcyB0aGV5J3JlIGZ1bmRhbWVudGFsbHkgYWx0ZXJpbmcgaG93IHRoZSBiYXRjaCBjb21tYW5kIGJ1ZmZlciBpcyBoYW5kbGVkLCBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBgdWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWRgIGFuZCBgdWJsa193YWxrX2NtZF9idWZgIGZ1bmN0aW9ucy4gVGhleSd2ZSBhZGRlZCBhIGBrYWRkcmAgZmllbGQgdG8gYHN0cnVjdCB1YmxrX2JhdGNoX2lvX2l0ZXJgLCB3aGljaCBpbW1lZGlhdGVseSBzdWdnZXN0cyBhIGNoYW5nZSBpbiBtZW1vcnkgbWFuYWdlbWVudCBzdHJhdGVneS5cblxuRXNzZW50aWFsbHksIGluc3RlYWQgb2YgdGhlIGV4aXN0aW5nIGNodW5rLWJ5LWNodW5rIGNvcHkgd2l0aGluIGB1YmxrX3dhbGtfY21kX2J1ZmAsIHRoZSBwYXRjaCBhcHBlYXJzIHRvIGJlIGFsbG9jYXRpbmcgYSBzaW5nbGUga2VybmVsIGJ1ZmZlciBhbmQgdXNpbmcgYHZtZW1kdXBfdXNlcmAgaW4gYHVibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kYCB0byBjb3B5IHRoZSAqZW50aXJlKiB1c2VyLXNwYWNlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGF0IG9uY2UuIFRoaXMgaXMgYSBwcmV0dHkgc2lnbmlmaWNhbnQgc2hpZnQgaW4gdGhlIGRhdGEgdHJhbnNmZXIgcGFyYWRpZ20uIFRoaXMgY291bGQgb2ZmZXIgc29tZSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgYnkgcmVkdWNpbmcgdGhlIG51bWJlciBvZiBzeXNjYWxscyBvciBwb3NzaWJseSBpbXByb3ZlIGRhdGEgbG9jYWxpdHkuIFRoZSB0cmFkZS1vZmZzIG1pZ2h0IGJlIGluY3JlYXNlZCBtZW1vcnkgdXNhZ2UgaW4gdGhlIGtlcm5lbC5cblxuSSBuZWVkIHRvIGNvbmZpcm0gdGhlIGNvbmZpZ3VyYXRpb24uIExldCdzIG1ha2Ugc3VyZSBgZHJpdmVycy9ibG9jay91YmxrX2Rydi5jYCBpcyBsaW5rZWQgd2l0aCB0aGUgYENPTkZJR19CTEtfREVWX1VCTEtgIG9wdGlvbi4gVGhpcyBpcyBjcml0aWNhbCBmb3IgdGhlIGNoYW5nZSB0byBhY3R1YWxseSBiZSBpbXBsZW1lbnRlZCBvbiBhIHN5c3RlbS4gSXQncyBhbG1vc3QgY2VydGFpbiBpdCBpcywgYnV0IGl0J3MgYWx3YXlzIGdvb2QgdG8gdmVyaWZ5IHRoYXQgdGhlIGNvbmZpZyBpcyBjb3JyZWN0IGJlZm9yZSBnZXR0aW5nIGFueSBmdXJ0aGVyLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMzE4LCJPdXRwdXRUb2tlbnMiOjMwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTcyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMDQ6MTE6NDYuMzcwMTczNTA1WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI2NzIyMDU1NCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJCTEtfREVWX1VCTEtcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9ibG9jay9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9ibG9jay9LY29uZmlnPTMxNT1jb25maWcgQkxLX0RFVl9SQkRcXG4tLVxcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0zMjctXFxuZHJpdmVycy9ibG9jay9LY29uZmlnOjMyODpjb25maWcgQkxLX0RFVl9VQkxLXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTMyOS1cXHR0cmlzdGF0ZSBcXFwiVXNlcnNwYWNlIGJsb2NrIGRyaXZlciAoRXhwZXJpbWVudGFsKVxcXCJcXG4tLVxcbmRyaXZlcnMvYmxvY2svS2NvbmZpZz0zMzc9Y29uZmlnIEJMS0RFVl9VQkxLX0xFR0FDWV9PUENPREVTXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTMzOC1cXHRib29sIFxcXCJTdXBwb3J0IGxlZ2FjeSBjb21tYW5kIG9wY29kZVxcXCJcXG5kcml2ZXJzL2Jsb2NrL0tjb25maWc6MzM5OlxcdGRlcGVuZHMgb24gQkxLX0RFVl9VQkxLXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTM0MC1cXHRkZWZhdWx0IHlcXG4tLVxcbmRyaXZlcnMvYmxvY2svTWFrZWZpbGU9Mzg9b2JqLSQoQ09ORklHX0JMS19ERVZfUlVTVF9OVUxMKSArPSBybnVsbC9cXG5kcml2ZXJzL2Jsb2NrL01ha2VmaWxlLTM5LVxcbmRyaXZlcnMvYmxvY2svTWFrZWZpbGU6NDA6b2JqLSQoQ09ORklHX0JMS19ERVZfVUJMSylcXHRcXHRcXHQrPSB1YmxrX2Rydi5vXFxuZHJpdmVycy9ibG9jay9NYWtlZmlsZS00MS1vYmotJChDT05GSUdfQkxLX0RFVl9aT05FRF9MT09QKSArPSB6bG9vcC5vXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAxVDA0OjExOjQ2LjYzNzQwMTgwOVoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMzMzQ3OTc0MTcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSBzdW1tYXJ5LCBhcyB0aGUgZXhwZXJ0OlxuXG4qKkludmVzdGlnYXRpbmcgdGhlIFVCTEsgQ29uZmlndXJhdGlvbioqXG5cbk9rYXksIHNvIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24gd2UncmUgbG9va2luZyBhdCByZXZvbHZlcyBhcm91bmQgYEJMS19ERVZfVUJMS2AuIFJpZ2h0LCB0aGF0IG5hcnJvd3MgdGhlIGZvY3VzIGNvbnNpZGVyYWJseS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGFjdCBvZiByZWNlbnQgbW9kaWZpY2F0aW9ucy4gU3BlY2lmaWNhbGx5LCBJIHNlZSB0aGF0IGB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZGAgYW5kIGB1YmxrX3dhbGtfY21kX2J1ZmAgaGF2ZSBiZWVuIGNoYW5nZWQuIFRoZXNlIGFyZSBrZXkgZnVuY3Rpb25zIHdpdGhpbiB0aGUgVUJMSyBmcmFtZXdvcmssIGFuZCBjb25zaWRlcmluZyB0aGV5J3ZlIGJlZW4gdG91Y2hlZCwgSSBuZWVkIHRvIHVuZGVyc3RhbmQgKndoeSouIE15IGltbWVkaWF0ZSBpbnN0aW5jdCBpcyB0byBkaWcgZGVlcGVyLiBJJ2xsIG5lZWQgdG8gYXNzZXNzIHRoZSBzdXJyb3VuZGluZyBjb2RlLiBJIG5lZWQgdG8gbWFrZSBhIG1lbnRhbCBub3RlIHRvIGRldGVybWluZSBpZiBvdGhlciBmdW5jdGlvbnMgYXJlIGxpa2VseSBhZmZlY3RlZCBieSB0aGUgc2FtZSBjaGFuZ2VzLiBUaGlzIGNvdWxkIGJlIHdoZXJlIHRoZSBydWJiZXIgbWVldHMgdGhlIHJvYWQuIFdoYXQgb3RoZXIgZnVuY3Rpb25zIGFyZSBpbiB0aGUgY2FsbCB0cmVlIGFyb3VuZCB0aGVzZSB0d28/XG5cblxuIiwiSW5wdXRUb2tlbnMiOjMxMDEsIk91dHB1dFRva2VucyI6NDAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1NSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQwNDoxMTo0OS45NzIyMDM0NDZaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTQ2NDkwNTU1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInVibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvYmxvY2svdWJsa19kcnYuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmM9MzY5MD1zdGF0aWMgaW50IHVibGtfYmF0Y2hfcHJlcF9pbyhzdHJ1Y3QgdWJsa19xdWV1ZSAqdWJxLFxcbi0tXFxuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jLTM3MjAtXFxuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jOjM3MjE6c3RhdGljIGludCB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZChjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pb19kYXRhICpkYXRhKVxcbmRyaXZlcnMvYmxvY2svdWJsa19kcnYuYy0zNzIyLXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svdWJsa19kcnYuYz0zOTgwPXN0YXRpYyBpbnQgdWJsa19jaF9iYXRjaF9pb191cmluZ19jbWQoc3RydWN0IGlvX3VyaW5nX2NtZCAqY21kLFxcbi0tXFxuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jLTQwMDktXFx0XFx0XFx0Z290byBvdXQ7XFxuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jOjQwMTA6XFx0XFx0cmV0ID0gdWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWQoXFx1MDAyNmRhdGEpO1xcbmRyaXZlcnMvYmxvY2svdWJsa19kcnYuYy00MDExLVxcdFxcdGJyZWFrO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQwNDoxMTo1MC4xMTg3MDI1ODFaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNTk1NDQ2MzAxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgVWJsayBQYXRjaCBmb3IgQmF0Y2ggQ29tbWFuZCBIYW5kbGluZyoqXG5cbk9rYXksIHNvIEkndmUgYmVlbiBkaWdnaW5nIGludG8gdGhpcyBwYXRjaC4gVGhlIGtleSBmdW5jdGlvbnMgdG8gcmVhbGx5IHplcm8gaW4gb24gaGVyZSBhcmUgYHVibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kYCBhbmQgYHVibGtfd2Fsa19jbWRfYnVmYC4gVGhhdCdzIHdoZXJlIHRoZSBjb3JlIGxvZ2ljIG9mIHRoaXMgYmF0Y2ggY29tbWFuZCBwcm9jZXNzIGxpdmVzLCBhbmQgdW5kZXJzdGFuZGluZyB0aG9zZSBpcyBnb2luZyB0byB1bmxvY2sgdGhlIHJlc3QuIFNwZWNpZmljYWxseSwgbXkgY29uZmlndXJhdGlvbiBzZXR0aW5nIGhlcmUgaXMgdGFyZ2V0aW5nIHRoZSBgQkxLX0RFVl9VQkxLYCBkZXZpY2UsIHNvIGFueXRoaW5nIGltcGFjdGluZyB0aGF0IGlzIGRpcmVjdGx5IHJlbGV2YW50IHRvIG15IHVzZSBjYXNlLlxuXG5Gcm9tIHdoYXQgSSBjYW4gc2VlLCB0aGlzIHBhdGNoIGxvb2tzIGZ1bmN0aW9uYWwuIFRoZSBjaGFuZ2UgaW52b2x2ZXMgaG93IHdlJ3JlIHB1bGxpbmcgdGhlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGZyb20gdXNlcnNwYWNlLiBJdCdzIGFib3V0IG9wdGltaXppbmcgdGhhdCBjb3B5IHByb2Nlc3MsIHByZXN1bWFibHkuIE5vdywgbGV0J3MgbmFpbCBkb3duIHdoYXQgdGhlIG91dGNvbWUgaXMgYW5kIGVzdGFibGlzaCB0aGUgcmVzdWx0cy5cblxuXG4iLCJJbnB1dFRva2VucyI6MzYyMCwiT3V0cHV0VG9rZW5zIjoxMTIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQwNDoxMTo1My43MTQxNTEzMjJaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE4MjcwNTExMiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9VQkxLXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWRcIixcbiAgICBcInVibGtfd2Fsa19jbWRfYnVmXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHVibGsgZHJpdmVyIHRvIGNvcHkgdGhlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGZyb20gdXNlcnNwYWNlIGluIGEgc2luZ2xlIG9wZXJhdGlvbiB1c2luZyB2bWVtZHVwX3VzZXIsIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gY2h1bmtzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGJsb2NrIGRyaXZlciB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9VQkxLXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWRcIixcbiAgICBcInVibGtfd2Fsa19jbWRfYnVmXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHVibGsgZHJpdmVyIHRvIGNvcHkgdGhlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGZyb20gdXNlcnNwYWNlIGluIGEgc2luZ2xlIG9wZXJhdGlvbiB1c2luZyB2bWVtZHVwX3VzZXIsIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gY2h1bmtzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGJsb2NrIGRyaXZlciB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },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-workflow477lg[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-01 03:58:31 +0000 UTC FinishedAt: 2026-07-01 04:11:56 +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": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_UBLK" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_UBLK" ], "series_id": "8e001eef-3f5a-45b2-b84e-83708fc8feca" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "ublk_handle_batch_prep_cmd", "ublk_walk_cmd_buf" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDA0OjExPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfVUJMSyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3VibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kJiMzNDssCiAgICAmIzM0O3VibGtfd2Fsa19jbWRfYnVmJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSB1YmxrIGRyaXZlciB0byBjb3B5IHRoZSBiYXRjaCBjb21tYW5kIGJ1ZmZlciBmcm9tIHVzZXJzcGFjZSBpbiBhIHNpbmdsZSBvcGVyYXRpb24gdXNpbmcgdm1lbWR1cF91c2VyLCBpbnN0ZWFkIG9mIGRvaW5nIGl0IGluIGNodW5rcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBibG9jayBkcml2ZXIgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDA0OjExPC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgM2JlNzhlNzY3MzdkMzViMWYyMDM3OWJjMzNiYmZhZWZkMWYyN2IyNlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDEgMDQ6MTE6MzkgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay91YmxrX2Rydi5jIGIvZHJpdmVycy9ibG9jay91YmxrX2Rydi5jXG5pbmRleCA0ZjZkOWU2NTIxODc4Zi4uYzJjMTFmMmEwMWU3MDEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuY1xuQEAgLTM1ODQsNiAmIzQzOzM1ODQsNyBAQCB1YmxrX2JhdGNoX2F1dG9fYnVmX3JlZyhjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pbyAqdWMsXG4gI2RlZmluZSBVQkxLX0NNRF9CQVRDSF9UTVBfQlVGX1NaICAoNDggKiAxMClcbiBzdHJ1Y3QgdWJsa19iYXRjaF9pb19pdGVyIHtcbiBcdHZvaWQgX191c2VyICp1YWRkcjtcbiYjNDM7XHRjb25zdCB1OCAqa2FkZHI7XG4gXHR1bnNpZ25lZCBkb25lLCB0b3RhbDtcbiBcdHVuc2lnbmVkIGNoYXIgZWxlbV9ieXRlcztcbiBcdC8qIGNvcHkgdG8gdGhpcyBidWZmZXIgZnJvbSB1c2VyIHNwYWNlICovXG5AQCAtMzYzMiw3ICYjNDM7MzYzMywxMCBAQCBzdGF0aWMgaW50IHVibGtfd2Fsa19jbWRfYnVmKHN0cnVjdCB1YmxrX2JhdGNoX2lvX2l0ZXIgKml0ZXIsXG4gXHR3aGlsZSAoaXRlci1cdTAwM2Vkb25lIFx1MDAzYyBpdGVyLVx1MDAzZXRvdGFsKSB7XG4gXHRcdHVuc2lnbmVkIGludCBsZW4gPSBtaW4oc2l6ZW9mKGl0ZXItXHUwMDNlYnVmKSwgaXRlci1cdTAwM2V0b3RhbCAtIGl0ZXItXHUwMDNlZG9uZSk7XG4gXG4tXHRcdGlmIChjb3B5X2Zyb21fdXNlcihpdGVyLVx1MDAzZWJ1ZiwgaXRlci1cdTAwM2V1YWRkciAmIzQzOyBpdGVyLVx1MDAzZWRvbmUsIGxlbikpIHtcbiYjNDM7XHRcdGlmIChpdGVyLVx1MDAzZWthZGRyKSB7XG4mIzQzO1x0XHRcdG1lbWNweShpdGVyLVx1MDAzZWJ1ZiwgaXRlci1cdTAwM2VrYWRkciAmIzQzOyBpdGVyLVx1MDAzZWRvbmUsIGxlbik7XG4mIzQzO1x0XHR9IGVsc2UgaWYgKGNvcHlfZnJvbV91c2VyKGl0ZXItXHUwMDNlYnVmLCBpdGVyLVx1MDAzZXVhZGRyICYjNDM7IGl0ZXItXHUwMDNlZG9uZSxcbiYjNDM7XHRcdFx0XHQgIGxlbikpIHtcbiBcdFx0XHRwcl93YXJuKFwmIzM0O3VibGslZDogcmVhZCBiYXRjaCBjbWQgYnVmZmVyIGZhaWxlZFxcblwmIzM0OyxcbiBcdFx0XHRcdFx0ZGF0YS1cdTAwM2V1Yi1cdTAwM2VkZXZfaW5mby5kZXZfaWQpO1xuIFx0XHRcdHJldHVybiAtRUZBVUxUO1xuQEAgLTM3MjMsMTQgJiM0MzszNzI3LDIxIEBAIHN0YXRpYyBpbnQgdWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWQoY29uc3Qgc3RydWN0IHVibGtfYmF0Y2hfaW9fZGF0YSAqZGF0YSlcbiBcdFx0LnRvdGFsID0gdWMtXHUwMDNlbnJfZWxlbSAqIHVjLVx1MDAzZWVsZW1fYnl0ZXMsXG4gXHRcdC5lbGVtX2J5dGVzID0gdWMtXHUwMDNlZWxlbV9ieXRlcyxcbiBcdH07XG4mIzQzO1x0dm9pZCAqY21kX2J1ZjtcbiBcdGludCByZXQ7XG4gXG4mIzQzO1x0Y21kX2J1ZiA9IHZtZW1kdXBfdXNlcihpdGVyLnVhZGRyLCBpdGVyLnRvdGFsKTtcbiYjNDM7XHRpZiAoSVNfRVJSKGNtZF9idWYpKVxuJiM0MztcdFx0cmV0dXJuIFBUUl9FUlIoY21kX2J1Zik7XG4mIzQzO1x0aXRlci5rYWRkciA9IGNtZF9idWY7XG4mIzQzO1xuIFx0bXV0ZXhfbG9jayhcdTAwMjZkYXRhLVx1MDAzZXViLVx1MDAzZW11dGV4KTtcbiBcdHJldCA9IHVibGtfd2Fsa19jbWRfYnVmKFx1MDAyNml0ZXIsIGRhdGEsIHVibGtfYmF0Y2hfcHJlcF9pbyk7XG4gXG4gXHRpZiAocmV0IFx1MDAyNlx1MDAyNiBpdGVyLmRvbmUpXG4gXHRcdHVibGtfYmF0Y2hfcmV2ZXJ0X3ByZXBfY21kKFx1MDAyNml0ZXIsIGRhdGEpO1xuIFx0bXV0ZXhfdW5sb2NrKFx1MDAyNmRhdGEtXHUwMDNldWItXHUwMDNlbXV0ZXgpO1xuJiM0MztcdGt2ZnJlZShjbWRfYnVmKTtcbiBcdHJldHVybiByZXQ7XG4gfVxuIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDA0OjExPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfVUJMSyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3VibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kJiMzNDssCiAgICAmIzM0O3VibGtfd2Fsa19jbWRfYnVmJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSB1YmxrIGRyaXZlciB0byBjb3B5IHRoZSBiYXRjaCBjb21tYW5kIGJ1ZmZlciBmcm9tIHVzZXJzcGFjZSBpbiBhIHNpbmdsZSBvcGVyYXRpb24gdXNpbmcgdm1lbWR1cF91c2VyLCBpbnN0ZWFkIG9mIGRvaW5nIGl0IGluIGNodW5rcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBibG9jayBkcml2ZXIgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAzYmU3OGU3NjczN2QzNWIxZjIwMzc5YmMzM2JiZmFlZmQxZjI3YjI2CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFdlZCBKdWwgMSAwNDoxMTozOSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuYyBiL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuYwppbmRleCA0ZjZkOWU2NTIxODc4Zi4uYzJjMTFmMmEwMWU3MDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmMKQEAgLTM1ODQsNiAmIzQzOzM1ODQsNyBAQCB1YmxrX2JhdGNoX2F1dG9fYnVmX3JlZyhjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pbyAqdWMsCiAjZGVmaW5lIFVCTEtfQ01EX0JBVENIX1RNUF9CVUZfU1ogICg0OCAqIDEwKQogc3RydWN0IHVibGtfYmF0Y2hfaW9faXRlciB7CiAJdm9pZCBfX3VzZXIgKnVhZGRyOwomIzQzOwljb25zdCB1OCAqa2FkZHI7CiAJdW5zaWduZWQgZG9uZSwgdG90YWw7CiAJdW5zaWduZWQgY2hhciBlbGVtX2J5dGVzOwogCS8qIGNvcHkgdG8gdGhpcyBidWZmZXIgZnJvbSB1c2VyIHNwYWNlICovCkBAIC0zNjMyLDcgJiM0MzszNjMzLDEwIEBAIHN0YXRpYyBpbnQgdWJsa193YWxrX2NtZF9idWYoc3RydWN0IHVibGtfYmF0Y2hfaW9faXRlciAqaXRlciwKIAl3aGlsZSAoaXRlci0mZ3Q7ZG9uZSAmbHQ7IGl0ZXItJmd0O3RvdGFsKSB7CiAJCXVuc2lnbmVkIGludCBsZW4gPSBtaW4oc2l6ZW9mKGl0ZXItJmd0O2J1ZiksIGl0ZXItJmd0O3RvdGFsIC0gaXRlci0mZ3Q7ZG9uZSk7CiAKLQkJaWYgKGNvcHlfZnJvbV91c2VyKGl0ZXItJmd0O2J1ZiwgaXRlci0mZ3Q7dWFkZHIgJiM0MzsgaXRlci0mZ3Q7ZG9uZSwgbGVuKSkgewomIzQzOwkJaWYgKGl0ZXItJmd0O2thZGRyKSB7CiYjNDM7CQkJbWVtY3B5KGl0ZXItJmd0O2J1ZiwgaXRlci0mZ3Q7a2FkZHIgJiM0MzsgaXRlci0mZ3Q7ZG9uZSwgbGVuKTsKJiM0MzsJCX0gZWxzZSBpZiAoY29weV9mcm9tX3VzZXIoaXRlci0mZ3Q7YnVmLCBpdGVyLSZndDt1YWRkciAmIzQzOyBpdGVyLSZndDtkb25lLAomIzQzOwkJCQkgIGxlbikpIHsKIAkJCXByX3dhcm4oJiMzNDt1YmxrJWQ6IHJlYWQgYmF0Y2ggY21kIGJ1ZmZlciBmYWlsZWRcbiYjMzQ7LAogCQkJCQlkYXRhLSZndDt1Yi0mZ3Q7ZGV2X2luZm8uZGV2X2lkKTsKIAkJCXJldHVybiAtRUZBVUxUOwpAQCAtMzcyMywxNCAmIzQzOzM3MjcsMjEgQEAgc3RhdGljIGludCB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZChjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pb19kYXRhICpkYXRhKQogCQkudG90YWwgPSB1Yy0mZ3Q7bnJfZWxlbSAqIHVjLSZndDtlbGVtX2J5dGVzLAogCQkuZWxlbV9ieXRlcyA9IHVjLSZndDtlbGVtX2J5dGVzLAogCX07CiYjNDM7CXZvaWQgKmNtZF9idWY7CiAJaW50IHJldDsKIAomIzQzOwljbWRfYnVmID0gdm1lbWR1cF91c2VyKGl0ZXIudWFkZHIsIGl0ZXIudG90YWwpOwomIzQzOwlpZiAoSVNfRVJSKGNtZF9idWYpKQomIzQzOwkJcmV0dXJuIFBUUl9FUlIoY21kX2J1Zik7CiYjNDM7CWl0ZXIua2FkZHIgPSBjbWRfYnVmOwomIzQzOwogCW11dGV4X2xvY2soJmFtcDtkYXRhLSZndDt1Yi0mZ3Q7bXV0ZXgpOwogCXJldCA9IHVibGtfd2Fsa19jbWRfYnVmKCZhbXA7aXRlciwgZGF0YSwgdWJsa19iYXRjaF9wcmVwX2lvKTsKIAogCWlmIChyZXQgJmFtcDsmYW1wOyBpdGVyLmRvbmUpCiAJCXVibGtfYmF0Y2hfcmV2ZXJ0X3ByZXBfY21kKCZhbXA7aXRlciwgZGF0YSk7CiAJbXV0ZXhfdW5sb2NrKCZhbXA7ZGF0YS0mZ3Q7dWItJmd0O211dGV4KTsKJiM0MzsJa3ZmcmVlKGNtZF9idWYpOwogCXJldHVybiByZXQ7CiB9CiAKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDEgMDQ6MTE8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjMxOAoJCQkJCQkJb3V0cHV0OiAzMAoJCQkJCQkJdGhvdWdodHM6IDE3MgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIHVibGtfZHJ2LmMgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBkcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNgLiBJdCBzZWVtcyB0aGV5JiMzOTtyZSBmdW5kYW1lbnRhbGx5IGFsdGVyaW5nIGhvdyB0aGUgYmF0Y2ggY29tbWFuZCBidWZmZXIgaXMgaGFuZGxlZCwgc3BlY2lmaWNhbGx5IHdpdGhpbiB0aGUgYHVibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kYCBhbmQgYHVibGtfd2Fsa19jbWRfYnVmYCBmdW5jdGlvbnMuIFRoZXkmIzM5O3ZlIGFkZGVkIGEgYGthZGRyYCBmaWVsZCB0byBgc3RydWN0IHVibGtfYmF0Y2hfaW9faXRlcmAsIHdoaWNoIGltbWVkaWF0ZWx5IHN1Z2dlc3RzIGEgY2hhbmdlIGluIG1lbW9yeSBtYW5hZ2VtZW50IHN0cmF0ZWd5LgoKRXNzZW50aWFsbHksIGluc3RlYWQgb2YgdGhlIGV4aXN0aW5nIGNodW5rLWJ5LWNodW5rIGNvcHkgd2l0aGluIGB1YmxrX3dhbGtfY21kX2J1ZmAsIHRoZSBwYXRjaCBhcHBlYXJzIHRvIGJlIGFsbG9jYXRpbmcgYSBzaW5nbGUga2VybmVsIGJ1ZmZlciBhbmQgdXNpbmcgYHZtZW1kdXBfdXNlcmAgaW4gYHVibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kYCB0byBjb3B5IHRoZSAqZW50aXJlKiB1c2VyLXNwYWNlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGF0IG9uY2UuIFRoaXMgaXMgYSBwcmV0dHkgc2lnbmlmaWNhbnQgc2hpZnQgaW4gdGhlIGRhdGEgdHJhbnNmZXIgcGFyYWRpZ20uIFRoaXMgY291bGQgb2ZmZXIgc29tZSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgYnkgcmVkdWNpbmcgdGhlIG51bWJlciBvZiBzeXNjYWxscyBvciBwb3NzaWJseSBpbXByb3ZlIGRhdGEgbG9jYWxpdHkuIFRoZSB0cmFkZS1vZmZzIG1pZ2h0IGJlIGluY3JlYXNlZCBtZW1vcnkgdXNhZ2UgaW4gdGhlIGtlcm5lbC4KCkkgbmVlZCB0byBjb25maXJtIHRoZSBjb25maWd1cmF0aW9uLiBMZXQmIzM5O3MgbWFrZSBzdXJlIGBkcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNgIGlzIGxpbmtlZCB3aXRoIHRoZSBgQ09ORklHX0JMS19ERVZfVUJMS2Agb3B0aW9uLiBUaGlzIGlzIGNyaXRpY2FsIGZvciB0aGUgY2hhbmdlIHRvIGFjdHVhbGx5IGJlIGltcGxlbWVudGVkIG9uIGEgc3lzdGVtLiBJdCYjMzk7cyBhbG1vc3QgY2VydGFpbiBpdCBpcywgYnV0IGl0JiMzOTtzIGFsd2F5cyBnb29kIHRvIHZlcmlmeSB0aGF0IHRoZSBjb25maWcgaXMgY29ycmVjdCBiZWZvcmUgZ2V0dGluZyBhbnkgZnVydGhlci4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMSAwNDoxMTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtCTEtfREVWX1VCTEsmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL0tjb25maWc9MzE1PWNvbmZpZyBCTEtfREVWX1JCRFxuLS1cbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0zMjctXG5kcml2ZXJzL2Jsb2NrL0tjb25maWc6MzI4OmNvbmZpZyBCTEtfREVWX1VCTEtcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0zMjktXHR0cmlzdGF0ZSBcJiMzNDtVc2Vyc3BhY2UgYmxvY2sgZHJpdmVyIChFeHBlcmltZW50YWwpXCYjMzQ7XG4tLVxuZHJpdmVycy9ibG9jay9LY29uZmlnPTMzNz1jb25maWcgQkxLREVWX1VCTEtfTEVHQUNZX09QQ09ERVNcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0zMzgtXHRib29sIFwmIzM0O1N1cHBvcnQgbGVnYWN5IGNvbW1hbmQgb3Bjb2RlXCYjMzQ7XG5kcml2ZXJzL2Jsb2NrL0tjb25maWc6MzM5Olx0ZGVwZW5kcyBvbiBCTEtfREVWX1VCTEtcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0zNDAtXHRkZWZhdWx0IHlcbi0tXG5kcml2ZXJzL2Jsb2NrL01ha2VmaWxlPTM4PW9iai0kKENPTkZJR19CTEtfREVWX1JVU1RfTlVMTCkgJiM0Mzs9IHJudWxsL1xuZHJpdmVycy9ibG9jay9NYWtlZmlsZS0zOS1cbmRyaXZlcnMvYmxvY2svTWFrZWZpbGU6NDA6b2JqLSQoQ09ORklHX0JMS19ERVZfVUJMSylcdFx0XHQmIzQzOz0gdWJsa19kcnYub1xuZHJpdmVycy9ibG9jay9NYWtlZmlsZS00MS1vYmotJChDT05GSUdfQkxLX0RFVl9aT05FRF9MT09QKSAmIzQzOz0gemxvb3Aub1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDA0OjExPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxMDEKCQkJCQkJCW91dHB1dDogNDAKCQkJCQkJCXRob3VnaHRzOiA1NQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBzdW1tYXJ5LCBhcyB0aGUgZXhwZXJ0OgoKKipJbnZlc3RpZ2F0aW5nIHRoZSBVQkxLIENvbmZpZ3VyYXRpb24qKgoKT2theSwgc28gdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiB3ZSYjMzk7cmUgbG9va2luZyBhdCByZXZvbHZlcyBhcm91bmQgYEJMS19ERVZfVUJMS2AuIFJpZ2h0LCB0aGF0IG5hcnJvd3MgdGhlIGZvY3VzIGNvbnNpZGVyYWJseS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGFjdCBvZiByZWNlbnQgbW9kaWZpY2F0aW9ucy4gU3BlY2lmaWNhbGx5LCBJIHNlZSB0aGF0IGB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZGAgYW5kIGB1YmxrX3dhbGtfY21kX2J1ZmAgaGF2ZSBiZWVuIGNoYW5nZWQuIFRoZXNlIGFyZSBrZXkgZnVuY3Rpb25zIHdpdGhpbiB0aGUgVUJMSyBmcmFtZXdvcmssIGFuZCBjb25zaWRlcmluZyB0aGV5JiMzOTt2ZSBiZWVuIHRvdWNoZWQsIEkgbmVlZCB0byB1bmRlcnN0YW5kICp3aHkqLiBNeSBpbW1lZGlhdGUgaW5zdGluY3QgaXMgdG8gZGlnIGRlZXBlci4gSSYjMzk7bGwgbmVlZCB0byBhc3Nlc3MgdGhlIHN1cnJvdW5kaW5nIGNvZGUuIEkgbmVlZCB0byBtYWtlIGEgbWVudGFsIG5vdGUgdG8gZGV0ZXJtaW5lIGlmIG90aGVyIGZ1bmN0aW9ucyBhcmUgbGlrZWx5IGFmZmVjdGVkIGJ5IHRoZSBzYW1lIGNoYW5nZXMuIFRoaXMgY291bGQgYmUgd2hlcmUgdGhlIHJ1YmJlciBtZWV0cyB0aGUgcm9hZC4gV2hhdCBvdGhlciBmdW5jdGlvbnMgYXJlIGluIHRoZSBjYWxsIHRyZWUgYXJvdW5kIHRoZXNlIHR3bz8KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMSAwNDoxMTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvYmxvY2svdWJsa19kcnYuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmM9MzY5MD1zdGF0aWMgaW50IHVibGtfYmF0Y2hfcHJlcF9pbyhzdHJ1Y3QgdWJsa19xdWV1ZSAqdWJxLFxuLS1cbmRyaXZlcnMvYmxvY2svdWJsa19kcnYuYy0zNzIwLVxuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jOjM3MjE6c3RhdGljIGludCB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZChjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pb19kYXRhICpkYXRhKVxuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jLTM3MjIte1xuLS1cbmRyaXZlcnMvYmxvY2svdWJsa19kcnYuYz0zOTgwPXN0YXRpYyBpbnQgdWJsa19jaF9iYXRjaF9pb191cmluZ19jbWQoc3RydWN0IGlvX3VyaW5nX2NtZCAqY21kLFxuLS1cbmRyaXZlcnMvYmxvY2svdWJsa19kcnYuYy00MDA5LVx0XHRcdGdvdG8gb3V0O1xuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jOjQwMTA6XHRcdHJldCA9IHVibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kKFx1MDAyNmRhdGEpO1xuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jLTQwMTEtXHRcdGJyZWFrO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDA0OjExPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM2MjAKCQkJCQkJCW91dHB1dDogMTEyCgkJCQkJCQl0aG91Z2h0czogNjcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBVYmxrIFBhdGNoIGZvciBCYXRjaCBDb21tYW5kIEhhbmRsaW5nKioKCk9rYXksIHNvIEkmIzM5O3ZlIGJlZW4gZGlnZ2luZyBpbnRvIHRoaXMgcGF0Y2guIFRoZSBrZXkgZnVuY3Rpb25zIHRvIHJlYWxseSB6ZXJvIGluIG9uIGhlcmUgYXJlIGB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZGAgYW5kIGB1YmxrX3dhbGtfY21kX2J1ZmAuIFRoYXQmIzM5O3Mgd2hlcmUgdGhlIGNvcmUgbG9naWMgb2YgdGhpcyBiYXRjaCBjb21tYW5kIHByb2Nlc3MgbGl2ZXMsIGFuZCB1bmRlcnN0YW5kaW5nIHRob3NlIGlzIGdvaW5nIHRvIHVubG9jayB0aGUgcmVzdC4gU3BlY2lmaWNhbGx5LCBteSBjb25maWd1cmF0aW9uIHNldHRpbmcgaGVyZSBpcyB0YXJnZXRpbmcgdGhlIGBCTEtfREVWX1VCTEtgIGRldmljZSwgc28gYW55dGhpbmcgaW1wYWN0aW5nIHRoYXQgaXMgZGlyZWN0bHkgcmVsZXZhbnQgdG8gbXkgdXNlIGNhc2UuCgpGcm9tIHdoYXQgSSBjYW4gc2VlLCB0aGlzIHBhdGNoIGxvb2tzIGZ1bmN0aW9uYWwuIFRoZSBjaGFuZ2UgaW52b2x2ZXMgaG93IHdlJiMzOTtyZSBwdWxsaW5nIHRoZSBiYXRjaCBjb21tYW5kIGJ1ZmZlciBmcm9tIHVzZXJzcGFjZS4gSXQmIzM5O3MgYWJvdXQgb3B0aW1pemluZyB0aGF0IGNvcHkgcHJvY2VzcywgcHJlc3VtYWJseS4gTm93LCBsZXQmIzM5O3MgbmFpbCBkb3duIHdoYXQgdGhlIG91dGNvbWUgaXMgYW5kIGVzdGFibGlzaCB0aGUgcmVzdWx0cy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMSAwNDoxMTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9VQkxLJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWQmIzM0OywKICAgICYjMzQ7dWJsa193YWxrX2NtZF9idWYmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHVibGsgZHJpdmVyIHRvIGNvcHkgdGhlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGZyb20gdXNlcnNwYWNlIGluIGEgc2luZ2xlIG9wZXJhdGlvbiB1c2luZyB2bWVtZHVwX3VzZXIsIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gY2h1bmtzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGJsb2NrIGRyaXZlciB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfVUJMSyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3VibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kJiMzNDssCiAgICAmIzM0O3VibGtfd2Fsa19jbWRfYnVmJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSB1YmxrIGRyaXZlciB0byBjb3B5IHRoZSBiYXRjaCBjb21tYW5kIGJ1ZmZlciBmcm9tIHVzZXJzcGFjZSBpbiBhIHNpbmdsZSBvcGVyYXRpb24gdXNpbmcgdm1lbWR1cF91c2VyLCBpbnN0ZWFkIG9mIGRvaW5nIGl0IGluIGNodW5rcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBibG9jayBkcml2ZXIgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMDFUMDQ6MTE6NDAuOTkzNDIxNjcyWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTI5MDM0Njg4OTIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9VQkxLXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWRcIixcbiAgICBcInVibGtfd2Fsa19jbWRfYnVmXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHVibGsgZHJpdmVyIHRvIGNvcHkgdGhlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGZyb20gdXNlcnNwYWNlIGluIGEgc2luZ2xlIG9wZXJhdGlvbiB1c2luZyB2bWVtZHVwX3VzZXIsIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gY2h1bmtzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGJsb2NrIGRyaXZlciB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAxVDA0OjExOjQwLjk5MzQzMjM3MloiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTg4NzAwMTIyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgM2JlNzhlNzY3MzdkMzViMWYyMDM3OWJjMzNiYmZhZWZkMWYyN2IyNlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIEp1bCAxIDA0OjExOjM5IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuYyBiL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuY1xcbmluZGV4IDRmNmQ5ZTY1MjE4NzhmLi5jMmMxMWYyYTAxZTcwMSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNcXG4rKysgYi9kcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNcXG5AQCAtMzU4NCw2ICszNTg0LDcgQEAgdWJsa19iYXRjaF9hdXRvX2J1Zl9yZWcoY29uc3Qgc3RydWN0IHVibGtfYmF0Y2hfaW8gKnVjLFxcbiAjZGVmaW5lIFVCTEtfQ01EX0JBVENIX1RNUF9CVUZfU1ogICg0OCAqIDEwKVxcbiBzdHJ1Y3QgdWJsa19iYXRjaF9pb19pdGVyIHtcXG4gXFx0dm9pZCBfX3VzZXIgKnVhZGRyO1xcbitcXHRjb25zdCB1OCAqa2FkZHI7XFxuIFxcdHVuc2lnbmVkIGRvbmUsIHRvdGFsO1xcbiBcXHR1bnNpZ25lZCBjaGFyIGVsZW1fYnl0ZXM7XFxuIFxcdC8qIGNvcHkgdG8gdGhpcyBidWZmZXIgZnJvbSB1c2VyIHNwYWNlICovXFxuQEAgLTM2MzIsNyArMzYzMywxMCBAQCBzdGF0aWMgaW50IHVibGtfd2Fsa19jbWRfYnVmKHN0cnVjdCB1YmxrX2JhdGNoX2lvX2l0ZXIgKml0ZXIsXFxuIFxcdHdoaWxlIChpdGVyLVxcdTAwM2Vkb25lIFxcdTAwM2MgaXRlci1cXHUwMDNldG90YWwpIHtcXG4gXFx0XFx0dW5zaWduZWQgaW50IGxlbiA9IG1pbihzaXplb2YoaXRlci1cXHUwMDNlYnVmKSwgaXRlci1cXHUwMDNldG90YWwgLSBpdGVyLVxcdTAwM2Vkb25lKTtcXG4gXFxuLVxcdFxcdGlmIChjb3B5X2Zyb21fdXNlcihpdGVyLVxcdTAwM2VidWYsIGl0ZXItXFx1MDAzZXVhZGRyICsgaXRlci1cXHUwMDNlZG9uZSwgbGVuKSkge1xcbitcXHRcXHRpZiAoaXRlci1cXHUwMDNla2FkZHIpIHtcXG4rXFx0XFx0XFx0bWVtY3B5KGl0ZXItXFx1MDAzZWJ1ZiwgaXRlci1cXHUwMDNla2FkZHIgKyBpdGVyLVxcdTAwM2Vkb25lLCBsZW4pO1xcbitcXHRcXHR9IGVsc2UgaWYgKGNvcHlfZnJvbV91c2VyKGl0ZXItXFx1MDAzZWJ1ZiwgaXRlci1cXHUwMDNldWFkZHIgKyBpdGVyLVxcdTAwM2Vkb25lLFxcbitcXHRcXHRcXHRcXHQgIGxlbikpIHtcXG4gXFx0XFx0XFx0cHJfd2FybihcXFwidWJsayVkOiByZWFkIGJhdGNoIGNtZCBidWZmZXIgZmFpbGVkXFxcXG5cXFwiLFxcbiBcXHRcXHRcXHRcXHRcXHRkYXRhLVxcdTAwM2V1Yi1cXHUwMDNlZGV2X2luZm8uZGV2X2lkKTtcXG4gXFx0XFx0XFx0cmV0dXJuIC1FRkFVTFQ7XFxuQEAgLTM3MjMsMTQgKzM3MjcsMjEgQEAgc3RhdGljIGludCB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZChjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pb19kYXRhICpkYXRhKVxcbiBcXHRcXHQudG90YWwgPSB1Yy1cXHUwMDNlbnJfZWxlbSAqIHVjLVxcdTAwM2VlbGVtX2J5dGVzLFxcbiBcXHRcXHQuZWxlbV9ieXRlcyA9IHVjLVxcdTAwM2VlbGVtX2J5dGVzLFxcbiBcXHR9O1xcbitcXHR2b2lkICpjbWRfYnVmO1xcbiBcXHRpbnQgcmV0O1xcbiBcXG4rXFx0Y21kX2J1ZiA9IHZtZW1kdXBfdXNlcihpdGVyLnVhZGRyLCBpdGVyLnRvdGFsKTtcXG4rXFx0aWYgKElTX0VSUihjbWRfYnVmKSlcXG4rXFx0XFx0cmV0dXJuIFBUUl9FUlIoY21kX2J1Zik7XFxuK1xcdGl0ZXIua2FkZHIgPSBjbWRfYnVmO1xcbitcXG4gXFx0bXV0ZXhfbG9jayhcXHUwMDI2ZGF0YS1cXHUwMDNldWItXFx1MDAzZW11dGV4KTtcXG4gXFx0cmV0ID0gdWJsa193YWxrX2NtZF9idWYoXFx1MDAyNml0ZXIsIGRhdGEsIHVibGtfYmF0Y2hfcHJlcF9pbyk7XFxuIFxcbiBcXHRpZiAocmV0IFxcdTAwMjZcXHUwMDI2IGl0ZXIuZG9uZSlcXG4gXFx0XFx0dWJsa19iYXRjaF9yZXZlcnRfcHJlcF9jbWQoXFx1MDAyNml0ZXIsIGRhdGEpO1xcbiBcXHRtdXRleF91bmxvY2soXFx1MDAyNmRhdGEtXFx1MDAzZXViLVxcdTAwM2VtdXRleCk7XFxuK1xcdGt2ZnJlZShjbWRfYnVmKTtcXG4gXFx0cmV0dXJuIHJldDtcXG4gfVxcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMDQ6MTE6NDEuNTgzMjg1MTQ0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMjMxMzU4MTMwMSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCTEtfREVWX1VCTEtcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZFwiLFxuICAgIFwidWJsa193YWxrX2NtZF9idWZcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgdWJsayBkcml2ZXIgdG8gY29weSB0aGUgYmF0Y2ggY29tbWFuZCBidWZmZXIgZnJvbSB1c2Vyc3BhY2UgaW4gYSBzaW5nbGUgb3BlcmF0aW9uIHVzaW5nIHZtZW1kdXBfdXNlciwgaW5zdGVhZCBvZiBkb2luZyBpdCBpbiBjaHVua3MuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgYmxvY2sgZHJpdmVyIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAzYmU3OGU3NjczN2QzNWIxZjIwMzc5YmMzM2JiZmFlZmQxZjI3YjI2XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBKdWwgMSAwNDoxMTozOSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuYyBiL2RyaXZlcnMvYmxvY2svdWJsa19kcnYuY1xuaW5kZXggNGY2ZDllNjUyMTg3OGYuLmMyYzExZjJhMDFlNzAxIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay91YmxrX2Rydi5jXG4rKysgYi9kcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNcbkBAIC0zNTg0LDYgKzM1ODQsNyBAQCB1YmxrX2JhdGNoX2F1dG9fYnVmX3JlZyhjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pbyAqdWMsXG4gI2RlZmluZSBVQkxLX0NNRF9CQVRDSF9UTVBfQlVGX1NaICAoNDggKiAxMClcbiBzdHJ1Y3QgdWJsa19iYXRjaF9pb19pdGVyIHtcbiBcdHZvaWQgX191c2VyICp1YWRkcjtcbitcdGNvbnN0IHU4ICprYWRkcjtcbiBcdHVuc2lnbmVkIGRvbmUsIHRvdGFsO1xuIFx0dW5zaWduZWQgY2hhciBlbGVtX2J5dGVzO1xuIFx0LyogY29weSB0byB0aGlzIGJ1ZmZlciBmcm9tIHVzZXIgc3BhY2UgKi9cbkBAIC0zNjMyLDcgKzM2MzMsMTAgQEAgc3RhdGljIGludCB1YmxrX3dhbGtfY21kX2J1ZihzdHJ1Y3QgdWJsa19iYXRjaF9pb19pdGVyICppdGVyLFxuIFx0d2hpbGUgKGl0ZXItXHUwMDNlZG9uZSBcdTAwM2MgaXRlci1cdTAwM2V0b3RhbCkge1xuIFx0XHR1bnNpZ25lZCBpbnQgbGVuID0gbWluKHNpemVvZihpdGVyLVx1MDAzZWJ1ZiksIGl0ZXItXHUwMDNldG90YWwgLSBpdGVyLVx1MDAzZWRvbmUpO1xuIFxuLVx0XHRpZiAoY29weV9mcm9tX3VzZXIoaXRlci1cdTAwM2VidWYsIGl0ZXItXHUwMDNldWFkZHIgKyBpdGVyLVx1MDAzZWRvbmUsIGxlbikpIHtcbitcdFx0aWYgKGl0ZXItXHUwMDNla2FkZHIpIHtcbitcdFx0XHRtZW1jcHkoaXRlci1cdTAwM2VidWYsIGl0ZXItXHUwMDNla2FkZHIgKyBpdGVyLVx1MDAzZWRvbmUsIGxlbik7XG4rXHRcdH0gZWxzZSBpZiAoY29weV9mcm9tX3VzZXIoaXRlci1cdTAwM2VidWYsIGl0ZXItXHUwMDNldWFkZHIgKyBpdGVyLVx1MDAzZWRvbmUsXG4rXHRcdFx0XHQgIGxlbikpIHtcbiBcdFx0XHRwcl93YXJuKFwidWJsayVkOiByZWFkIGJhdGNoIGNtZCBidWZmZXIgZmFpbGVkXFxuXCIsXG4gXHRcdFx0XHRcdGRhdGEtXHUwMDNldWItXHUwMDNlZGV2X2luZm8uZGV2X2lkKTtcbiBcdFx0XHRyZXR1cm4gLUVGQVVMVDtcbkBAIC0zNzIzLDE0ICszNzI3LDIxIEBAIHN0YXRpYyBpbnQgdWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWQoY29uc3Qgc3RydWN0IHVibGtfYmF0Y2hfaW9fZGF0YSAqZGF0YSlcbiBcdFx0LnRvdGFsID0gdWMtXHUwMDNlbnJfZWxlbSAqIHVjLVx1MDAzZWVsZW1fYnl0ZXMsXG4gXHRcdC5lbGVtX2J5dGVzID0gdWMtXHUwMDNlZWxlbV9ieXRlcyxcbiBcdH07XG4rXHR2b2lkICpjbWRfYnVmO1xuIFx0aW50IHJldDtcbiBcbitcdGNtZF9idWYgPSB2bWVtZHVwX3VzZXIoaXRlci51YWRkciwgaXRlci50b3RhbCk7XG4rXHRpZiAoSVNfRVJSKGNtZF9idWYpKVxuK1x0XHRyZXR1cm4gUFRSX0VSUihjbWRfYnVmKTtcbitcdGl0ZXIua2FkZHIgPSBjbWRfYnVmO1xuK1xuIFx0bXV0ZXhfbG9jayhcdTAwMjZkYXRhLVx1MDAzZXViLVx1MDAzZW11dGV4KTtcbiBcdHJldCA9IHVibGtfd2Fsa19jbWRfYnVmKFx1MDAyNml0ZXIsIGRhdGEsIHVibGtfYmF0Y2hfcHJlcF9pbyk7XG4gXG4gXHRpZiAocmV0IFx1MDAyNlx1MDAyNiBpdGVyLmRvbmUpXG4gXHRcdHVibGtfYmF0Y2hfcmV2ZXJ0X3ByZXBfY21kKFx1MDAyNml0ZXIsIGRhdGEpO1xuIFx0bXV0ZXhfdW5sb2NrKFx1MDAyNmRhdGEtXHUwMDNldWItXHUwMDNlbXV0ZXgpO1xuK1x0a3ZmcmVlKGNtZF9idWYpO1xuIFx0cmV0dXJuIHJldDtcbiB9XG4gXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQwNDoxMTo0MS41ODMzMDgwNzNaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0Nzg2ODYxNzAxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgdWJsa19kcnYuYyBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBkcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmNgLiBJdCBzZWVtcyB0aGV5J3JlIGZ1bmRhbWVudGFsbHkgYWx0ZXJpbmcgaG93IHRoZSBiYXRjaCBjb21tYW5kIGJ1ZmZlciBpcyBoYW5kbGVkLCBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBgdWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWRgIGFuZCBgdWJsa193YWxrX2NtZF9idWZgIGZ1bmN0aW9ucy4gVGhleSd2ZSBhZGRlZCBhIGBrYWRkcmAgZmllbGQgdG8gYHN0cnVjdCB1YmxrX2JhdGNoX2lvX2l0ZXJgLCB3aGljaCBpbW1lZGlhdGVseSBzdWdnZXN0cyBhIGNoYW5nZSBpbiBtZW1vcnkgbWFuYWdlbWVudCBzdHJhdGVneS5cblxuRXNzZW50aWFsbHksIGluc3RlYWQgb2YgdGhlIGV4aXN0aW5nIGNodW5rLWJ5LWNodW5rIGNvcHkgd2l0aGluIGB1YmxrX3dhbGtfY21kX2J1ZmAsIHRoZSBwYXRjaCBhcHBlYXJzIHRvIGJlIGFsbG9jYXRpbmcgYSBzaW5nbGUga2VybmVsIGJ1ZmZlciBhbmQgdXNpbmcgYHZtZW1kdXBfdXNlcmAgaW4gYHVibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kYCB0byBjb3B5IHRoZSAqZW50aXJlKiB1c2VyLXNwYWNlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGF0IG9uY2UuIFRoaXMgaXMgYSBwcmV0dHkgc2lnbmlmaWNhbnQgc2hpZnQgaW4gdGhlIGRhdGEgdHJhbnNmZXIgcGFyYWRpZ20uIFRoaXMgY291bGQgb2ZmZXIgc29tZSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgYnkgcmVkdWNpbmcgdGhlIG51bWJlciBvZiBzeXNjYWxscyBvciBwb3NzaWJseSBpbXByb3ZlIGRhdGEgbG9jYWxpdHkuIFRoZSB0cmFkZS1vZmZzIG1pZ2h0IGJlIGluY3JlYXNlZCBtZW1vcnkgdXNhZ2UgaW4gdGhlIGtlcm5lbC5cblxuSSBuZWVkIHRvIGNvbmZpcm0gdGhlIGNvbmZpZ3VyYXRpb24uIExldCdzIG1ha2Ugc3VyZSBgZHJpdmVycy9ibG9jay91YmxrX2Rydi5jYCBpcyBsaW5rZWQgd2l0aCB0aGUgYENPTkZJR19CTEtfREVWX1VCTEtgIG9wdGlvbi4gVGhpcyBpcyBjcml0aWNhbCBmb3IgdGhlIGNoYW5nZSB0byBhY3R1YWxseSBiZSBpbXBsZW1lbnRlZCBvbiBhIHN5c3RlbS4gSXQncyBhbG1vc3QgY2VydGFpbiBpdCBpcywgYnV0IGl0J3MgYWx3YXlzIGdvb2QgdG8gdmVyaWZ5IHRoYXQgdGhlIGNvbmZpZyBpcyBjb3JyZWN0IGJlZm9yZSBnZXR0aW5nIGFueSBmdXJ0aGVyLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMzE4LCJPdXRwdXRUb2tlbnMiOjMwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTcyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMDQ6MTE6NDYuMzcwMTczNTA1WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI2NzIyMDU1NCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJCTEtfREVWX1VCTEtcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9ibG9jay9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9ibG9jay9LY29uZmlnPTMxNT1jb25maWcgQkxLX0RFVl9SQkRcXG4tLVxcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0zMjctXFxuZHJpdmVycy9ibG9jay9LY29uZmlnOjMyODpjb25maWcgQkxLX0RFVl9VQkxLXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTMyOS1cXHR0cmlzdGF0ZSBcXFwiVXNlcnNwYWNlIGJsb2NrIGRyaXZlciAoRXhwZXJpbWVudGFsKVxcXCJcXG4tLVxcbmRyaXZlcnMvYmxvY2svS2NvbmZpZz0zMzc9Y29uZmlnIEJMS0RFVl9VQkxLX0xFR0FDWV9PUENPREVTXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTMzOC1cXHRib29sIFxcXCJTdXBwb3J0IGxlZ2FjeSBjb21tYW5kIG9wY29kZVxcXCJcXG5kcml2ZXJzL2Jsb2NrL0tjb25maWc6MzM5OlxcdGRlcGVuZHMgb24gQkxLX0RFVl9VQkxLXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTM0MC1cXHRkZWZhdWx0IHlcXG4tLVxcbmRyaXZlcnMvYmxvY2svTWFrZWZpbGU9Mzg9b2JqLSQoQ09ORklHX0JMS19ERVZfUlVTVF9OVUxMKSArPSBybnVsbC9cXG5kcml2ZXJzL2Jsb2NrL01ha2VmaWxlLTM5LVxcbmRyaXZlcnMvYmxvY2svTWFrZWZpbGU6NDA6b2JqLSQoQ09ORklHX0JMS19ERVZfVUJMSylcXHRcXHRcXHQrPSB1YmxrX2Rydi5vXFxuZHJpdmVycy9ibG9jay9NYWtlZmlsZS00MS1vYmotJChDT05GSUdfQkxLX0RFVl9aT05FRF9MT09QKSArPSB6bG9vcC5vXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAxVDA0OjExOjQ2LjYzNzQwMTgwOVoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMzMzQ3OTc0MTcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSBzdW1tYXJ5LCBhcyB0aGUgZXhwZXJ0OlxuXG4qKkludmVzdGlnYXRpbmcgdGhlIFVCTEsgQ29uZmlndXJhdGlvbioqXG5cbk9rYXksIHNvIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24gd2UncmUgbG9va2luZyBhdCByZXZvbHZlcyBhcm91bmQgYEJMS19ERVZfVUJMS2AuIFJpZ2h0LCB0aGF0IG5hcnJvd3MgdGhlIGZvY3VzIGNvbnNpZGVyYWJseS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGFjdCBvZiByZWNlbnQgbW9kaWZpY2F0aW9ucy4gU3BlY2lmaWNhbGx5LCBJIHNlZSB0aGF0IGB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZGAgYW5kIGB1YmxrX3dhbGtfY21kX2J1ZmAgaGF2ZSBiZWVuIGNoYW5nZWQuIFRoZXNlIGFyZSBrZXkgZnVuY3Rpb25zIHdpdGhpbiB0aGUgVUJMSyBmcmFtZXdvcmssIGFuZCBjb25zaWRlcmluZyB0aGV5J3ZlIGJlZW4gdG91Y2hlZCwgSSBuZWVkIHRvIHVuZGVyc3RhbmQgKndoeSouIE15IGltbWVkaWF0ZSBpbnN0aW5jdCBpcyB0byBkaWcgZGVlcGVyLiBJJ2xsIG5lZWQgdG8gYXNzZXNzIHRoZSBzdXJyb3VuZGluZyBjb2RlLiBJIG5lZWQgdG8gbWFrZSBhIG1lbnRhbCBub3RlIHRvIGRldGVybWluZSBpZiBvdGhlciBmdW5jdGlvbnMgYXJlIGxpa2VseSBhZmZlY3RlZCBieSB0aGUgc2FtZSBjaGFuZ2VzLiBUaGlzIGNvdWxkIGJlIHdoZXJlIHRoZSBydWJiZXIgbWVldHMgdGhlIHJvYWQuIFdoYXQgb3RoZXIgZnVuY3Rpb25zIGFyZSBpbiB0aGUgY2FsbCB0cmVlIGFyb3VuZCB0aGVzZSB0d28/XG5cblxuIiwiSW5wdXRUb2tlbnMiOjMxMDEsIk91dHB1dFRva2VucyI6NDAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1NSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQwNDoxMTo0OS45NzIyMDM0NDZaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTQ2NDkwNTU1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInVibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvYmxvY2svdWJsa19kcnYuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL2Jsb2NrL3VibGtfZHJ2LmM9MzY5MD1zdGF0aWMgaW50IHVibGtfYmF0Y2hfcHJlcF9pbyhzdHJ1Y3QgdWJsa19xdWV1ZSAqdWJxLFxcbi0tXFxuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jLTM3MjAtXFxuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jOjM3MjE6c3RhdGljIGludCB1YmxrX2hhbmRsZV9iYXRjaF9wcmVwX2NtZChjb25zdCBzdHJ1Y3QgdWJsa19iYXRjaF9pb19kYXRhICpkYXRhKVxcbmRyaXZlcnMvYmxvY2svdWJsa19kcnYuYy0zNzIyLXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svdWJsa19kcnYuYz0zOTgwPXN0YXRpYyBpbnQgdWJsa19jaF9iYXRjaF9pb191cmluZ19jbWQoc3RydWN0IGlvX3VyaW5nX2NtZCAqY21kLFxcbi0tXFxuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jLTQwMDktXFx0XFx0XFx0Z290byBvdXQ7XFxuZHJpdmVycy9ibG9jay91YmxrX2Rydi5jOjQwMTA6XFx0XFx0cmV0ID0gdWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWQoXFx1MDAyNmRhdGEpO1xcbmRyaXZlcnMvYmxvY2svdWJsa19kcnYuYy00MDExLVxcdFxcdGJyZWFrO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQwNDoxMTo1MC4xMTg3MDI1ODFaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNTk1NDQ2MzAxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgVWJsayBQYXRjaCBmb3IgQmF0Y2ggQ29tbWFuZCBIYW5kbGluZyoqXG5cbk9rYXksIHNvIEkndmUgYmVlbiBkaWdnaW5nIGludG8gdGhpcyBwYXRjaC4gVGhlIGtleSBmdW5jdGlvbnMgdG8gcmVhbGx5IHplcm8gaW4gb24gaGVyZSBhcmUgYHVibGtfaGFuZGxlX2JhdGNoX3ByZXBfY21kYCBhbmQgYHVibGtfd2Fsa19jbWRfYnVmYC4gVGhhdCdzIHdoZXJlIHRoZSBjb3JlIGxvZ2ljIG9mIHRoaXMgYmF0Y2ggY29tbWFuZCBwcm9jZXNzIGxpdmVzLCBhbmQgdW5kZXJzdGFuZGluZyB0aG9zZSBpcyBnb2luZyB0byB1bmxvY2sgdGhlIHJlc3QuIFNwZWNpZmljYWxseSwgbXkgY29uZmlndXJhdGlvbiBzZXR0aW5nIGhlcmUgaXMgdGFyZ2V0aW5nIHRoZSBgQkxLX0RFVl9VQkxLYCBkZXZpY2UsIHNvIGFueXRoaW5nIGltcGFjdGluZyB0aGF0IGlzIGRpcmVjdGx5IHJlbGV2YW50IHRvIG15IHVzZSBjYXNlLlxuXG5Gcm9tIHdoYXQgSSBjYW4gc2VlLCB0aGlzIHBhdGNoIGxvb2tzIGZ1bmN0aW9uYWwuIFRoZSBjaGFuZ2UgaW52b2x2ZXMgaG93IHdlJ3JlIHB1bGxpbmcgdGhlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGZyb20gdXNlcnNwYWNlLiBJdCdzIGFib3V0IG9wdGltaXppbmcgdGhhdCBjb3B5IHByb2Nlc3MsIHByZXN1bWFibHkuIE5vdywgbGV0J3MgbmFpbCBkb3duIHdoYXQgdGhlIG91dGNvbWUgaXMgYW5kIGVzdGFibGlzaCB0aGUgcmVzdWx0cy5cblxuXG4iLCJJbnB1dFRva2VucyI6MzYyMCwiT3V0cHV0VG9rZW5zIjoxMTIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQwNDoxMTo1My43MTQxNTEzMjJaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE4MjcwNTExMiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9VQkxLXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWRcIixcbiAgICBcInVibGtfd2Fsa19jbWRfYnVmXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHVibGsgZHJpdmVyIHRvIGNvcHkgdGhlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGZyb20gdXNlcnNwYWNlIGluIGEgc2luZ2xlIG9wZXJhdGlvbiB1c2luZyB2bWVtZHVwX3VzZXIsIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gY2h1bmtzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGJsb2NrIGRyaXZlciB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9VQkxLXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidWJsa19oYW5kbGVfYmF0Y2hfcHJlcF9jbWRcIixcbiAgICBcInVibGtfd2Fsa19jbWRfYnVmXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHVibGsgZHJpdmVyIHRvIGNvcHkgdGhlIGJhdGNoIGNvbW1hbmQgYnVmZmVyIGZyb20gdXNlcnNwYWNlIGluIGEgc2luZ2xlIG9wZXJhdGlvbiB1c2luZyB2bWVtZHVwX3VzZXIsIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gY2h1bmtzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGJsb2NrIGRyaXZlciB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },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-workflow477lg[1] Phase: Succeeded StartedAt: 2026-07-01 04:13:18 +0000 UTC FinishedAt: 2026-07-01 04:13:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-01 04:13:18 +0000 UTC FinishedAt: 2026-07-01 04:13:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2] Phase: Succeeded StartedAt: 2026-07-01 04:13:18 +0000 UTC FinishedAt: 2026-07-01 05:46:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:13:18 +0000 UTC FinishedAt: 2026-07-01 05:46:35 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:13:18 +0000 UTC FinishedAt: 2026-07-01 04:13:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:13:18 +0000 UTC FinishedAt: 2026-07-01 04:13:27 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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-workflow477lg/series-workflow477lg-convert-artifact-4185717770/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:13:39 +0000 UTC FinishedAt: 2026-07-01 04:36:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:13:39 +0000 UTC FinishedAt: 2026-07-01 04:36:07 +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:*a0e5d2eb-fbbf-4dfb-b471-69c33d218d81,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-workflow477lg/series-workflow477lg-convert-artifact-4185717770/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": "4965c9d0-dd5f-4d6d-bcd3-ee4967be790c", "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-workflow477lg/series-workflow477lg-build-action-592291576/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:13:39 +0000 UTC FinishedAt: 2026-07-01 04:35:57 +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:*a0e5d2eb-fbbf-4dfb-b471-69c33d218d81,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-workflow477lg/series-workflow477lg-convert-artifact-4185717770/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": "4965c9d0-dd5f-4d6d-bcd3-ee4967be790c", "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-workflow477lg/series-workflow477lg-build-action-592291576/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:36:07 +0000 UTC FinishedAt: 2026-07-01 04:36:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:36:07 +0000 UTC FinishedAt: 2026-07-01 04:36:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:36:07 +0000 UTC FinishedAt: 2026-07-01 04:36:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:36:07 +0000 UTC FinishedAt: 2026-07-01 04:36:14 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-workflow477lg/series-workflow477lg-convert-artifact-975514277/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:36:17 +0000 UTC FinishedAt: 2026-07-01 04:38:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:36:17 +0000 UTC FinishedAt: 2026-07-01 04:38:20 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*4965c9d0-dd5f-4d6d-bcd3-ee4967be790c,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-workflow477lg/series-workflow477lg-build-action-592291576/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-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:38:30 +0000 UTC FinishedAt: 2026-07-01 04:38:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:38:30 +0000 UTC FinishedAt: 2026-07-01 04:38:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:38:30 +0000 UTC FinishedAt: 2026-07-01 04:59:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:38:30 +0000 UTC FinishedAt: 2026-07-01 04:59:18 +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:*a0e5d2eb-fbbf-4dfb-b471-69c33d218d81,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-workflow477lg/series-workflow477lg-convert-artifact-975514277/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": "25afbd12-dd95-49c1-b6f9-f292b3617593", "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-workflow477lg/series-workflow477lg-build-action-3512623857/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:38:30 +0000 UTC FinishedAt: 2026-07-01 04:59:08 +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:*a0e5d2eb-fbbf-4dfb-b471-69c33d218d81,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-workflow477lg/series-workflow477lg-convert-artifact-975514277/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": "25afbd12-dd95-49c1-b6f9-f292b3617593", "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-workflow477lg/series-workflow477lg-build-action-3512623857/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:59:18 +0000 UTC FinishedAt: 2026-07-01 04:59:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:59:18 +0000 UTC FinishedAt: 2026-07-01 04:59:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:59:18 +0000 UTC FinishedAt: 2026-07-01 05:01:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 04:59:18 +0000 UTC FinishedAt: 2026-07-01 05:01:16 +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:*25afbd12-dd95-49c1-b6f9-f292b3617593,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-workflow477lg/series-workflow477lg-build-action-3512623857/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-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 05:01:25 +0000 UTC FinishedAt: 2026-07-01 05:46:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 05:01:25 +0000 UTC FinishedAt: 2026-07-01 05:46:35 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"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:*4965c9d0-dd5f-4d6d-bcd3-ee4967be790c,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*25afbd12-dd95-49c1-b6f9-f292b3617593,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-workflow477lg/series-workflow477lg-build-action-592291576/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-workflow477lg/series-workflow477lg-build-action-3512623857/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 05:01:25 +0000 UTC FinishedAt: 2026-07-01 05:02:06 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 05:01:25 +0000 UTC FinishedAt: 2026-07-01 05:01:58 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"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-workflow477lg/series-workflow477lg-convert-artifact-4183375402/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 05:01:25 +0000 UTC FinishedAt: 2026-07-01 05:01:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 05:01:25 +0000 UTC FinishedAt: 2026-07-01 05:01:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 05:01:25 +0000 UTC FinishedAt: 2026-07-01 05:01:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 05:02:06 +0000 UTC FinishedAt: 2026-07-01 05:46:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflow477lg[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ublk_handle_batch_prep_cmd","ublk_walk_cmd_buf"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_UBLK"],"series_id":"8e001eef-3f5a-45b2-b84e-83708fc8feca","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-01 05:02:06 +0000 UTC FinishedAt: 2026-07-01 05:46:25 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*4965c9d0-dd5f-4d6d-bcd3-ee4967be790c,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*25afbd12-dd95-49c1-b6f9-f292b3617593,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-workflow477lg/series-workflow477lg-build-action-592291576/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-workflow477lg/series-workflow477lg-build-action-3512623857/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-workflow477lg/series-workflow477lg-convert-artifact-4183375402/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,}