Name: series-workflownxslw Phase: Succeeded StartedAt: 2026-07-28 23:47:10 +0000 UTC FinishedAt: 2026-07-29 04:04:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[0] Phase: Succeeded StartedAt: 2026-07-28 23:47:10 +0000 UTC FinishedAt: 2026-07-29 00:10:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[0].run-triage Phase: Succeeded StartedAt: 2026-07-28 23:47:10 +0000 UTC FinishedAt: 2026-07-29 00:10:24 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "e095f249e2209674f6366f6db0383a2b96e19239", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "OPENVSWITCH" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "e095f249e2209674f6366f6db0383a2b96e19239", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "OPENVSWITCH" ], "series_id": "7470f562-629c-4615-82bf-db8f437a8f03" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "ovs_flow_cmd_new" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDAwOjA5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O09QRU5WU1dJVENIJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7b3ZzX2Zsb3dfY21kX25ldyYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgT3BlbiB2U3dpdGNoIG5ldGxpbmsgZmxvdyBjcmVhdGlvbiBsb2dpYyAoYG92c19mbG93X2NtZF9uZXdgKSB0byBoYW5kbGUgZmxvdyBJRCBtaXNtYXRjaGVzIGR1cmluZyBmbG93IHVwZGF0ZXMuIEl0IGFsbG9jYXRlcyBhIG5ldyByZXBseSBza2IgaWYgdGhlIGZsb3cgSUQgbWlzbWF0Y2hlcy4gVGhpcyBpcyByZWFjaGFibGUgY29yZSBuZXR3b3JraW5nIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDAwOjA5PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgM2EwODMzZDUxMTdjZTY2MDVlMmFiMzBiMDFiMDIwMDAwZjc1NzAzNFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDI5IDAwOjA5OjU0IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jIGIvbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmNcbmluZGV4IGVhZjMzMmIxNTZkNzMuLjE4NzMyMzM3ZWE1ZDEgMTAwNjQ0XG4tLS0gYS9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY1xuJiM0MzsmIzQzOyYjNDM7IGIvbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmNcbkBAIC04MDAsNiAmIzQzOzgwMCwxNiBAQCBzdGF0aWMgYm9vbCBzaG91bGRfZmlsbF9hY3Rpb25zKHVpbnQzMl90IHVmaWRfZmxhZ3MpXG4gXHRyZXR1cm4gISh1ZmlkX2ZsYWdzIFx1MDAyNiBPVlNfVUZJRF9GX09NSVRfQUNUSU9OUyk7XG4gfVxuIFxuJiM0MztzdGF0aWMgYm9vbCBvdnNfZmxvd19pZF9taXNtYXRjaChjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqYSxcbiYjNDM7XHRcdFx0XHQgY29uc3Qgc3RydWN0IHN3X2Zsb3dfaWQgKmIpXG4mIzQzO3tcbiYjNDM7XHRpZiAoYS1cdTAwM2V1ZmlkX2xlbiAhPSBiLVx1MDAzZXVmaWRfbGVuKVxuJiM0MztcdFx0cmV0dXJuIHRydWU7XG4mIzQzO1xuJiM0MztcdHJldHVybiBvdnNfaWRlbnRpZmllcl9pc191ZmlkKGEpIFx1MDAyNlx1MDAyNlxuJiM0MztcdCAgICAgICAhIW1lbWNtcChhLVx1MDAzZXVmaWQsIGItXHUwMDNldWZpZCwgYS1cdTAwM2V1ZmlkX2xlbik7XG4mIzQzO31cbiYjNDM7XG4gc3RhdGljIHNpemVfdCBvdnNfZmxvd19jbWRfbXNnX3NpemUoY29uc3Qgc3RydWN0IHN3X2Zsb3dfYWN0aW9ucyAqYWN0cyxcbiBcdFx0XHRcdCAgICBjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqc2ZpZCxcbiBcdFx0XHRcdCAgICB1aW50MzJfdCB1ZmlkX2ZsYWdzKVxuQEAgLTExMTMsOSAmIzQzOzExMjMsNyBAQCBzdGF0aWMgaW50IG92c19mbG93X2NtZF9uZXcoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbiBcdFx0XHRlcnJvciA9IC1FRVhJU1Q7XG4gXHRcdFx0Z290byBlcnJfdW5sb2NrX292cztcbiBcdFx0fVxuLVx0XHQvKiBUaGUgZmxvdyBpZGVudGlmaWVyIGhhcyB0byBiZSB0aGUgc2FtZSBmb3IgZmxvdyB1cGRhdGVzLlxuLVx0XHQgKiBMb29rIGZvciBhbnkgb3ZlcmxhcHBpbmcgZmxvdy5cbi1cdFx0ICovXG4mIzQzO1x0XHQvKiBMb29rIGZvciBhbnkgb3ZlcmxhcHBpbmcgZmxvdy4gKi9cbiBcdFx0aWYgKHVubGlrZWx5KCFvdnNfZmxvd19jbXAoZmxvdywgXHUwMDI2bWF0Y2gpKSkge1xuIFx0XHRcdGlmIChvdnNfaWRlbnRpZmllcl9pc19rZXkoXHUwMDI2Zmxvdy1cdTAwM2VpZCkpXG4gXHRcdFx0XHRmbG93ID0gb3ZzX2Zsb3dfdGJsX2xvb2t1cF9leGFjdChcdTAwMjZkcC1cdTAwM2V0YWJsZSxcbkBAIC0xMTI3LDYgJiM0MzsxMTM1LDIwIEBAIHN0YXRpYyBpbnQgb3ZzX2Zsb3dfY21kX25ldyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuIFx0XHRcdFx0Z290byBlcnJfdW5sb2NrX292cztcbiBcdFx0XHR9XG4gXHRcdH1cbiYjNDM7XHRcdGlmICh1bmxpa2VseShyZXBseSBcdTAwMjZcdTAwMjZcbiYjNDM7XHRcdFx0ICAgICBvdnNfZmxvd19pZF9taXNtYXRjaChcdTAwMjZuZXdfZmxvdy1cdTAwM2VpZCwgXHUwMDI2Zmxvdy1cdTAwM2VpZCkpKSB7XG4mIzQzO1x0XHRcdHN0cnVjdCBza19idWZmICpuZXdfcmVwbHk7XG4mIzQzO1xuJiM0MztcdFx0XHRuZXdfcmVwbHkgPSBvdnNfZmxvd19jbWRfYWxsb2NfaW5mbyhhY3RzLCBcdTAwMjZmbG93LVx1MDAzZWlkLFxuJiM0MztcdFx0XHRcdFx0XHRcdCAgICBpbmZvLCBmYWxzZSxcbiYjNDM7XHRcdFx0XHRcdFx0XHQgICAgdWZpZF9mbGFncyk7XG4mIzQzO1x0XHRcdGlmIChJU19FUlIobmV3X3JlcGx5KSkge1xuJiM0MztcdFx0XHRcdGVycm9yID0gUFRSX0VSUihuZXdfcmVwbHkpO1xuJiM0MztcdFx0XHRcdGdvdG8gZXJyX3VubG9ja19vdnM7XG4mIzQzO1x0XHRcdH1cbiYjNDM7XHRcdFx0a2ZyZWVfc2tiKHJlcGx5KTtcbiYjNDM7XHRcdFx0cmVwbHkgPSBuZXdfcmVwbHk7XG4mIzQzO1x0XHR9XG4gXHRcdC8qIFVwZGF0ZSBhY3Rpb25zLiAqL1xuIFx0XHRvbGRfYWN0cyA9IG92c2xfZGVyZWZlcmVuY2UoZmxvdy1cdTAwM2VzZl9hY3RzKTtcbiBcdFx0cmN1X2Fzc2lnbl9wb2ludGVyKGZsb3ctXHUwMDNlc2ZfYWN0cywgYWN0cyk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMDA6MDk8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O09QRU5WU1dJVENIJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7b3ZzX2Zsb3dfY21kX25ldyYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgT3BlbiB2U3dpdGNoIG5ldGxpbmsgZmxvdyBjcmVhdGlvbiBsb2dpYyAoYG92c19mbG93X2NtZF9uZXdgKSB0byBoYW5kbGUgZmxvdyBJRCBtaXNtYXRjaGVzIGR1cmluZyBmbG93IHVwZGF0ZXMuIEl0IGFsbG9jYXRlcyBhIG5ldyByZXBseSBza2IgaWYgdGhlIGZsb3cgSUQgbWlzbWF0Y2hlcy4gVGhpcyBpcyByZWFjaGFibGUgY29yZSBuZXR3b3JraW5nIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgM2EwODMzZDUxMTdjZTY2MDVlMmFiMzBiMDFiMDIwMDAwZjc1NzAzNApBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgSnVsIDI5IDAwOjA5OjU0IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmMgYi9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYwppbmRleCBlYWYzMzJiMTU2ZDczLi4xODczMjMzN2VhNWQxIDEwMDY0NAotLS0gYS9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYwpAQCAtODAwLDYgJiM0Mzs4MDAsMTYgQEAgc3RhdGljIGJvb2wgc2hvdWxkX2ZpbGxfYWN0aW9ucyh1aW50MzJfdCB1ZmlkX2ZsYWdzKQogCXJldHVybiAhKHVmaWRfZmxhZ3MgJmFtcDsgT1ZTX1VGSURfRl9PTUlUX0FDVElPTlMpOwogfQogCiYjNDM7c3RhdGljIGJvb2wgb3ZzX2Zsb3dfaWRfbWlzbWF0Y2goY29uc3Qgc3RydWN0IHN3X2Zsb3dfaWQgKmEsCiYjNDM7CQkJCSBjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqYikKJiM0Mzt7CiYjNDM7CWlmIChhLSZndDt1ZmlkX2xlbiAhPSBiLSZndDt1ZmlkX2xlbikKJiM0MzsJCXJldHVybiB0cnVlOwomIzQzOwomIzQzOwlyZXR1cm4gb3ZzX2lkZW50aWZpZXJfaXNfdWZpZChhKSAmYW1wOyZhbXA7CiYjNDM7CSAgICAgICAhIW1lbWNtcChhLSZndDt1ZmlkLCBiLSZndDt1ZmlkLCBhLSZndDt1ZmlkX2xlbik7CiYjNDM7fQomIzQzOwogc3RhdGljIHNpemVfdCBvdnNfZmxvd19jbWRfbXNnX3NpemUoY29uc3Qgc3RydWN0IHN3X2Zsb3dfYWN0aW9ucyAqYWN0cywKIAkJCQkgICAgY29uc3Qgc3RydWN0IHN3X2Zsb3dfaWQgKnNmaWQsCiAJCQkJICAgIHVpbnQzMl90IHVmaWRfZmxhZ3MpCkBAIC0xMTEzLDkgJiM0MzsxMTIzLDcgQEAgc3RhdGljIGludCBvdnNfZmxvd19jbWRfbmV3KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pCiAJCQllcnJvciA9IC1FRVhJU1Q7CiAJCQlnb3RvIGVycl91bmxvY2tfb3ZzOwogCQl9Ci0JCS8qIFRoZSBmbG93IGlkZW50aWZpZXIgaGFzIHRvIGJlIHRoZSBzYW1lIGZvciBmbG93IHVwZGF0ZXMuCi0JCSAqIExvb2sgZm9yIGFueSBvdmVybGFwcGluZyBmbG93LgotCQkgKi8KJiM0MzsJCS8qIExvb2sgZm9yIGFueSBvdmVybGFwcGluZyBmbG93LiAqLwogCQlpZiAodW5saWtlbHkoIW92c19mbG93X2NtcChmbG93LCAmYW1wO21hdGNoKSkpIHsKIAkJCWlmIChvdnNfaWRlbnRpZmllcl9pc19rZXkoJmFtcDtmbG93LSZndDtpZCkpCiAJCQkJZmxvdyA9IG92c19mbG93X3RibF9sb29rdXBfZXhhY3QoJmFtcDtkcC0mZ3Q7dGFibGUsCkBAIC0xMTI3LDYgJiM0MzsxMTM1LDIwIEBAIHN0YXRpYyBpbnQgb3ZzX2Zsb3dfY21kX25ldyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKQogCQkJCWdvdG8gZXJyX3VubG9ja19vdnM7CiAJCQl9CiAJCX0KJiM0MzsJCWlmICh1bmxpa2VseShyZXBseSAmYW1wOyZhbXA7CiYjNDM7CQkJICAgICBvdnNfZmxvd19pZF9taXNtYXRjaCgmYW1wO25ld19mbG93LSZndDtpZCwgJmFtcDtmbG93LSZndDtpZCkpKSB7CiYjNDM7CQkJc3RydWN0IHNrX2J1ZmYgKm5ld19yZXBseTsKJiM0MzsKJiM0MzsJCQluZXdfcmVwbHkgPSBvdnNfZmxvd19jbWRfYWxsb2NfaW5mbyhhY3RzLCAmYW1wO2Zsb3ctJmd0O2lkLAomIzQzOwkJCQkJCQkgICAgaW5mbywgZmFsc2UsCiYjNDM7CQkJCQkJCSAgICB1ZmlkX2ZsYWdzKTsKJiM0MzsJCQlpZiAoSVNfRVJSKG5ld19yZXBseSkpIHsKJiM0MzsJCQkJZXJyb3IgPSBQVFJfRVJSKG5ld19yZXBseSk7CiYjNDM7CQkJCWdvdG8gZXJyX3VubG9ja19vdnM7CiYjNDM7CQkJfQomIzQzOwkJCWtmcmVlX3NrYihyZXBseSk7CiYjNDM7CQkJcmVwbHkgPSBuZXdfcmVwbHk7CiYjNDM7CQl9CiAJCS8qIFVwZGF0ZSBhY3Rpb25zLiAqLwogCQlvbGRfYWN0cyA9IG92c2xfZGVyZWZlcmVuY2UoZmxvdy0mZ3Q7c2ZfYWN0cyk7CiAJCXJjdV9hc3NpZ25fcG9pbnRlcihmbG93LSZndDtzZl9hY3RzLCBhY3RzKTsKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMDA6MDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjU5NQoJCQkJCQkJb3V0cHV0OiAzMwoJCQkJCQkJdGhvdWdodHM6IDE2OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBOZXcgT3BlbiB2U3dpdGNoIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCB0aGlzIHBhdGNoIGhlcmUgdGhhdCYjMzk7cyBwb2tpbmcgYXJvdW5kIGluIGBuZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY2AuIExvb2tzIGxpa2UgaXQmIzM5O3MgaW50cm9kdWNpbmcgYSBmdW5jdGlvbiwgYG92c19mbG93X2lkX21pc21hdGNoYCwgYW5kIHRoZW4gKnVzaW5nKiBpdCB3aXRoaW4gYG92c19mbG93X2NtZF9uZXdgLiBSaWdodCwgc28gdGhpcyBgb3ZzX2Zsb3dfaWRfbWlzbWF0Y2hgIGZ1bmN0aW9uIGlzIHNvbWUga2luZCBvZiBjaGVjaywgcHJvYmFibHkgYWdhaW5zdCBhIGZsb3cgSUQsIGFuZCBpZiB0aGVyZSYjMzk7cyBhIHByb2JsZW0sIHRoZW4gYG92c19mbG93X2NtZF9uZXdgIGFsbG9jYXRlcyBhIG5ldyByZXBseSBza2IgdXNpbmcgYG92c19mbG93X2NtZF9hbGxvY19pbmZvYC4KCkxldCYjMzk7cyBkaXZlIGludG8gYG92c19mbG93X2NtZF9uZXdgIGl0c2VsZiBpbiBgbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmNgLiBUaGlzIGlzIGRlZmluaXRlbHkgYSBuZXRsaW5rIGNvbW1hbmQgaGFuZGxlciB3aXRoaW4gT3BlbiB2U3dpdGNoLCB3aGljaCBtZWFucyBpdCYjMzk7cyByZWFjaGFibGUgYW5kIHRodXMgZGVmaW5pdGVseSB3b3J0aCBjb25zaWRlcmluZyBmb3IgZnV6emluZy4gSSYjMzk7bGwgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSByaWdodCBpbnB1dHMgYW5kIHN1Y2ggZm9yIGl0LgoKTm93LCBJJiMzOTtsbCBuZWVkIHRvIGZpbmQgd2hlcmUgdGhlIGNvbmZpZyBmb3Igb3BlbnZzd2l0Y2ggaXMuIEFoYSEgYENPTkZJR19PUEVOVlNXSVRDSGAuIFRoYXQmIzM5O3MgdGhlIGtleS4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGtub3cgd2hhdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBzbyBJIGNhbiBiZXR0ZXIgdW5kZXJzdGFuZCB0aGlzIHRoaW5nLiBMZXQmIzM5O3MgY2hlY2sgYG5ldC9vcGVudnN3aXRjaC9LY29uZmlnYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAwMDoxMDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgT1BFTlZTV0lUQ0gmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy01LVxubmV0L29wZW52c3dpdGNoL0tjb25maWc6Njpjb25maWcgT1BFTlZTV0lUQ0hcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTctXHR0cmlzdGF0ZSBcJiMzNDtPcGVuIHZTd2l0Y2hcJiMzNDtcbi0tXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy00My1cbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjQ0OmNvbmZpZyBPUEVOVlNXSVRDSF9HUkVcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTQ1LVx0dHJpc3RhdGUgXCYjMzQ7T3BlbiB2U3dpdGNoIEdSRSB0dW5uZWxpbmcgc3VwcG9ydFwmIzM0O1xuLS1cbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTU2LVxubmV0L29wZW52c3dpdGNoL0tjb25maWc6NTc6Y29uZmlnIE9QRU5WU1dJVENIX1ZYTEFOXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy01OC1cdHRyaXN0YXRlIFwmIzM0O09wZW4gdlN3aXRjaCBWWExBTiB0dW5uZWxpbmcgc3VwcG9ydFwmIzM0O1xuLS1cbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTY4LVxubmV0L29wZW52c3dpdGNoL0tjb25maWc6Njk6Y29uZmlnIE9QRU5WU1dJVENIX0dFTkVWRVxubmV0L29wZW52c3dpdGNoL0tjb25maWctNzAtXHR0cmlzdGF0ZSBcJiMzNDtPcGVuIHZTd2l0Y2ggR2VuZXZlIHR1bm5lbGluZyBzdXBwb3J0XCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMDA6MTA8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzMyNwoJCQkJCQkJb3V0cHV0OiAzMAoJCQkJCQkJdGhvdWdodHM6IDY3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBsZXQmIzM5O3MgZGl2ZSBpbnRvIHRoaXMuIEhlcmUmIzM5O3MgaG93IEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgdGhpcyBjb2RlOgoKKipBbmFseXppbmcgdGhlIE9wZW4gdlN3aXRjaCBDb25maWd1cmF0aW9uKioKClJpZ2h0LCB0aGUgY29uZmlndXJhdGlvbiB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGlzIHNldCB0byBgT1BFTlZTV0lUQ0hgLiBUaGF0JiMzOTtzIHRoZSBiYXNlbGluZSwgbm93IGxldCYjMzk7cyBnZXQgaW50byB0aGUgZGV0YWlscy4gTXkgZm9jdXMgbmVlZHMgdG8gYmUgb24gaG93IGZsb3dzIGFyZSBiZWluZyBoYW5kbGVkLCB3aGljaCBtZWFucyBJIHNob3VsZCByZWFsbHkgYmUgbG9va2luZyBhdCB0aGUgZnVuY3Rpb25zIGBvdnNfZmxvd19jbWRfbmV3YCBhbmQgYG92c19mbG93X2lkX21pc21hdGNoYC4gQnV0LCBhZnRlciBhIHF1aWNrIHNjYW4sIGl0IGxvb2tzIGxpa2UgYG92c19mbG93X2NtZF9uZXdgIGlzIHRoZSBrZXkgZnVuY3Rpb24gdG8gcmVhbGx5IGRpc3NlY3QgaGVyZS4gSXQgcHJvYmFibHkgaG9sZHMgdGhlIGNvcmUgbG9naWMgZm9yIGZsb3cgY3JlYXRpb24sIHNvIHRoYXQmIzM5O3Mgd2hlcmUgSSBuZWVkIHRvIHN0YXJ0LgoKSSBzaG91bGQgYWxzbyBtYWtlIHN1cmUgdG8ga2VlcCBhIG1lbnRhbCBub3RlIHRvIGNoZWNrIGlmIHRoZXJlIGFyZSBhbnkgb3RoZXIgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIEkgbmVlZCB0byBjb25zaWRlciwgaW4gYWRkaXRpb24gdG8gdGhlIGBPUEVOVlNXSVRDSGAgc2V0dGluZy4gVGhpcyBpcyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQsIGJ1dCBJIG5lZWQgdG8gYmUgdGhvcm91Z2ggYW5kIG5vdCBtaXNzIGFueSBzdWJ0bGUsIGltcG9ydGFudCBwaWVjZXMgb2YgdGhlIHB1enpsZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAwMDoxMDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtkZXBlbmRzIG9uJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L29wZW52c3dpdGNoL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L29wZW52c3dpdGNoL0tjb25maWc9Nj1jb25maWcgT1BFTlZTV0lUQ0hcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTctXHR0cmlzdGF0ZSBcJiMzNDtPcGVuIHZTd2l0Y2hcJiMzNDtcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjg6XHRkZXBlbmRzIG9uIElORVRcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjk6XHRkZXBlbmRzIG9uICFORl9DT05OVFJBQ0sgfHwgXFxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTEwLVx0XHQgICAoTkZfQ09OTlRSQUNLIFx1MDAyNlx1MDAyNiAoKCFORl9ERUZSQUdfSVBWNiB8fCBORl9ERUZSQUdfSVBWNikgXHUwMDI2XHUwMDI2IFxcXG4tLVxubmV0L29wZW52c3dpdGNoL0tjb25maWctMTItXHRcdFx0XHQgICAgICghTkVURklMVEVSX0NPTk5DT1VOVCB8fCBORVRGSUxURVJfQ09OTkNPVU5UKSkpXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzoxMzpcdGRlcGVuZHMgb24gUFNBTVBMRSB8fCAhUFNBTVBMRVxubmV0L29wZW52c3dpdGNoL0tjb25maWctMTQtXHRzZWxlY3QgTVBMU1xuLS1cbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnPTQ0PWNvbmZpZyBPUEVOVlNXSVRDSF9HUkVcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTQ1LVx0dHJpc3RhdGUgXCYjMzQ7T3BlbiB2U3dpdGNoIEdSRSB0dW5uZWxpbmcgc3VwcG9ydFwmIzM0O1xubmV0L29wZW52c3dpdGNoL0tjb25maWc6NDY6XHRkZXBlbmRzIG9uIE9QRU5WU1dJVENIXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo0NzpcdGRlcGVuZHMgb24gTkVUX0lQR1JFXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy00OC1cdGRlZmF1bHQgT1BFTlZTV0lUQ0hcbi0tXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZz01Nz1jb25maWcgT1BFTlZTV0lUQ0hfVlhMQU5cbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTU4LVx0dHJpc3RhdGUgXCYjMzQ7T3BlbiB2U3dpdGNoIFZYTEFOIHR1bm5lbGluZyBzdXBwb3J0XCYjMzQ7XG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo1OTpcdGRlcGVuZHMgb24gT1BFTlZTV0lUQ0hcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjYwOlx0ZGVwZW5kcyBvbiBWWExBTlxubmV0L29wZW52c3dpdGNoL0tjb25maWctNjEtXHRkZWZhdWx0IE9QRU5WU1dJVENIXG4tLVxubmV0L29wZW52c3dpdGNoL0tjb25maWc9Njk9Y29uZmlnIE9QRU5WU1dJVENIX0dFTkVWRVxubmV0L29wZW52c3dpdGNoL0tjb25maWctNzAtXHR0cmlzdGF0ZSBcJiMzNDtPcGVuIHZTd2l0Y2ggR2VuZXZlIHR1bm5lbGluZyBzdXBwb3J0XCYjMzQ7XG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo3MTpcdGRlcGVuZHMgb24gT1BFTlZTV0lUQ0hcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjcyOlx0ZGVwZW5kcyBvbiBHRU5FVkVcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTczLVx0ZGVmYXVsdCBPUEVOVlNXSVRDSFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDAwOjEwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQxNjUKCQkJCQkJCW91dHB1dDogMzgKCQkJCQkJCXRob3VnaHRzOiA0OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIG15IG93bjoKCioqRGVwZW5kZW5jaWVzIGFuZCBDb2RlIERpdmluZyoqCgpBbHJpZ2h0LCBzbyBgT1BFTlZTV0lUQ0hgJiMzOTtzIGdvdCBhIGRlcGVuZGVuY3kgb24gYElORVRgLCB3aGljaCBtYWtlcyBwZXJmZWN0IHNlbnNlLiBUaGVyZWZvcmUsIGdldHRpbmcgYE9QRU5WU1dJVENIYCByaWdodCBpcyB0aGUgaW1tZWRpYXRlIHByaW9yaXR5LiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBhIHNwZWNpZmljIGZ1bmN0aW9uIHdpdGhpbiBgT1BFTlZTV0lUQ0hgLiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgb24gdGhlIGBvdnNfZmxvd19jbWRfbmV3YCBmdW5jdGlvbi4gSSYjMzk7bGwgbmVlZCB0byBnbyBsb29rIGF0IGBuZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY2AuIFRoYXQmIzM5O3Mgd2hlcmUgSSBuZWVkIHRvIGJlLiBMZXQmIzM5O3Mgc2VlIHdoYXQgdGhpcyB0aGluZyBpcyBkb2luZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAwMDoxMDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtvdnNfZmxvd19jbWRfbmV3JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmM9OTg1PXN0YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqb3ZzX2Zsb3dfY21kX2J1aWxkX2luZm8oY29uc3Qgc3RydWN0IHN3X2Zsb3cgKmZsb3csXG4tLVxubmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmMtMTAwNy1cbm5ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jOjEwMDg6c3RhdGljIGludCBvdnNfZmxvd19jbWRfbmV3KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXG5uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYy0xMDA5LXtcbi0tXG5uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYz0xNTY1PXN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2VubF9zbWFsbF9vcHMgZHBfZmxvd19nZW5sX29wc1tdID0ge1xuLS1cbm5ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jLTE1NjgtXHQgIC5mbGFncyA9IEdFTkxfVU5TX0FETUlOX1BFUk0sIC8qIFJlcXVpcmVzIENBUF9ORVRfQURNSU4gcHJpdmlsZWdlLiAqL1xubmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmM6MTU2OTpcdCAgLmRvaXQgPSBvdnNfZmxvd19jbWRfbmV3XG5uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYy0xNTcwLVx0fSxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAwMDoxMDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NjUzCgkJCQkJCQlvdXRwdXQ6IDEwNgoJCQkJCQkJdGhvdWdodHM6IDE2MwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIHRoZSBQYXRjaCoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGlzIGNsZWFybHkgZm9jdXNlZCBvbiBgb3ZzX2Zsb3dfY21kX25ld2AsIHRoZSBuZXRsaW5rIGNvbW1hbmQgaGFuZGxlciByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgbmV3IE9wZW4gdlN3aXRjaCBmbG93cywgc3BlY2lmaWNhbGx5IGFkZHJlc3NpbmcgYE9WU19GTE9XX0NNRF9ORVdgLiBUaGUgY2hhbmdlIGludHJvZHVjZXMgYG92c19mbG93X2lkX21pc21hdGNoYCwgd2hpY2ggc3VnZ2VzdHMgYSBzY2VuYXJpbyB3aGVyZSBmbG93IElEcyBkb24mIzM5O3QgYWxpZ24gZHVyaW5nIHVwZGF0ZXMuIFRoaXMgbG9va3MgbGlrZSBhIHBvdGVudGlhbGx5IGltcG9ydGFudCBtb2RpZmljYXRpb24gdG8gdGhlIGZsb3cgdXBkYXRlIHByb2Nlc3MuCgpGcm9tIGEgZnVuY3Rpb25hbGl0eSBzdGFuZHBvaW50LCB0aGlzIGlzIGRlZmluaXRlbHkgc29tZXRoaW5nIHRoYXQgbWVyaXRzIGNsb3NlIHNjcnV0aW55IGFuZCB0ZXN0aW5nLiBJdCB0b3VjaGVzIGNvcmUgbmV0d29ya2luZyBsb2dpYyDigJMgdGhlIGhlYXJ0IG9mIGZsb3cgaGFuZGxpbmcuIFRoZSBmYWN0IHRoYXQgaXQgcmVhbGxvY2F0ZXMgYSByZXBseSBza2Igd2hlbiB0aGVyZeKAmXMgYW4gSUQgbWlzbWF0Y2ggbWFrZXMgaXQgYSBwcmltZSBjYW5kaWRhdGUgZm9yIGZ1enppbmcuIEkgbmVlZCB0byBkaWcgZGVlcGVyIGludG8gdGhlIHBvdGVudGlhbCBjb25zZXF1ZW5jZXMgb2YgdGhpcyBiZWhhdmlvci4gSSBzZWUgdGhlIG1haW4gZm9jdXMgaXMgYXJvdW5kIHRoZSBgT1BFTlZTV0lUQ0hgIGNvbmZpZ3VyYXRpb24sIHdoaWNoIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgYXJlYSBvZiB0aGUgY29kZSB0aGF0IGl0IHRvdWNoZXMuCgpJJiMzOTttIHJlYWR5IHRvIHNldC1yZXN1bHRzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAwMDoxMDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7T1BFTlZTV0lUQ0gmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtvdnNfZmxvd19jbWRfbmV3JiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBPcGVuIHZTd2l0Y2ggbmV0bGluayBmbG93IGNyZWF0aW9uIGxvZ2ljIChgb3ZzX2Zsb3dfY21kX25ld2ApIHRvIGhhbmRsZSBmbG93IElEIG1pc21hdGNoZXMgZHVyaW5nIGZsb3cgdXBkYXRlcy4gSXQgYWxsb2NhdGVzIGEgbmV3IHJlcGx5IHNrYiBpZiB0aGUgZmxvdyBJRCBtaXNtYXRjaGVzLiBUaGlzIGlzIHJlYWNoYWJsZSBjb3JlIG5ldHdvcmtpbmcgbG9naWMgYW5kIHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O09QRU5WU1dJVENIJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7b3ZzX2Zsb3dfY21kX25ldyYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgT3BlbiB2U3dpdGNoIG5ldGxpbmsgZmxvdyBjcmVhdGlvbiBsb2dpYyAoYG92c19mbG93X2NtZF9uZXdgKSB0byBoYW5kbGUgZmxvdyBJRCBtaXNtYXRjaGVzIGR1cmluZyBmbG93IHVwZGF0ZXMuIEl0IGFsbG9jYXRlcyBhIG5ldyByZXBseSBza2IgaWYgdGhlIGZsb3cgSUQgbWlzbWF0Y2hlcy4gVGhpcyBpcyByZWFjaGFibGUgY29yZSBuZXR3b3JraW5nIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MDk6NTUuNzU0Mzg0MTQyWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTUwNTQ4MjU4NTYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiT1BFTlZTV0lUQ0hcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJvdnNfZmxvd19jbWRfbmV3XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE9wZW4gdlN3aXRjaCBuZXRsaW5rIGZsb3cgY3JlYXRpb24gbG9naWMgKGBvdnNfZmxvd19jbWRfbmV3YCkgdG8gaGFuZGxlIGZsb3cgSUQgbWlzbWF0Y2hlcyBkdXJpbmcgZmxvdyB1cGRhdGVzLiBJdCBhbGxvY2F0ZXMgYSBuZXcgcmVwbHkgc2tiIGlmIHRoZSBmbG93IElEIG1pc21hdGNoZXMuIFRoaXMgaXMgcmVhY2hhYmxlIGNvcmUgbmV0d29ya2luZyBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MDk6NTUuNzU0MzkxMzkyWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1MzM4NTE0MzEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAzYTA4MzNkNTExN2NlNjYwNWUyYWIzMGIwMWIwMjAwMDBmNzU3MDM0XFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgSnVsIDI5IDAwOjA5OjU0IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL25ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jIGIvbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmNcXG5pbmRleCBlYWYzMzJiMTU2ZDczLi4xODczMjMzN2VhNWQxIDEwMDY0NFxcbi0tLSBhL25ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jXFxuKysrIGIvbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmNcXG5AQCAtODAwLDYgKzgwMCwxNiBAQCBzdGF0aWMgYm9vbCBzaG91bGRfZmlsbF9hY3Rpb25zKHVpbnQzMl90IHVmaWRfZmxhZ3MpXFxuIFxcdHJldHVybiAhKHVmaWRfZmxhZ3MgXFx1MDAyNiBPVlNfVUZJRF9GX09NSVRfQUNUSU9OUyk7XFxuIH1cXG4gXFxuK3N0YXRpYyBib29sIG92c19mbG93X2lkX21pc21hdGNoKGNvbnN0IHN0cnVjdCBzd19mbG93X2lkICphLFxcbitcXHRcXHRcXHRcXHQgY29uc3Qgc3RydWN0IHN3X2Zsb3dfaWQgKmIpXFxuK3tcXG4rXFx0aWYgKGEtXFx1MDAzZXVmaWRfbGVuICE9IGItXFx1MDAzZXVmaWRfbGVuKVxcbitcXHRcXHRyZXR1cm4gdHJ1ZTtcXG4rXFxuK1xcdHJldHVybiBvdnNfaWRlbnRpZmllcl9pc191ZmlkKGEpIFxcdTAwMjZcXHUwMDI2XFxuK1xcdCAgICAgICAhIW1lbWNtcChhLVxcdTAwM2V1ZmlkLCBiLVxcdTAwM2V1ZmlkLCBhLVxcdTAwM2V1ZmlkX2xlbik7XFxuK31cXG4rXFxuIHN0YXRpYyBzaXplX3Qgb3ZzX2Zsb3dfY21kX21zZ19zaXplKGNvbnN0IHN0cnVjdCBzd19mbG93X2FjdGlvbnMgKmFjdHMsXFxuIFxcdFxcdFxcdFxcdCAgICBjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqc2ZpZCxcXG4gXFx0XFx0XFx0XFx0ICAgIHVpbnQzMl90IHVmaWRfZmxhZ3MpXFxuQEAgLTExMTMsOSArMTEyMyw3IEBAIHN0YXRpYyBpbnQgb3ZzX2Zsb3dfY21kX25ldyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxcbiBcXHRcXHRcXHRlcnJvciA9IC1FRVhJU1Q7XFxuIFxcdFxcdFxcdGdvdG8gZXJyX3VubG9ja19vdnM7XFxuIFxcdFxcdH1cXG4tXFx0XFx0LyogVGhlIGZsb3cgaWRlbnRpZmllciBoYXMgdG8gYmUgdGhlIHNhbWUgZm9yIGZsb3cgdXBkYXRlcy5cXG4tXFx0XFx0ICogTG9vayBmb3IgYW55IG92ZXJsYXBwaW5nIGZsb3cuXFxuLVxcdFxcdCAqL1xcbitcXHRcXHQvKiBMb29rIGZvciBhbnkgb3ZlcmxhcHBpbmcgZmxvdy4gKi9cXG4gXFx0XFx0aWYgKHVubGlrZWx5KCFvdnNfZmxvd19jbXAoZmxvdywgXFx1MDAyNm1hdGNoKSkpIHtcXG4gXFx0XFx0XFx0aWYgKG92c19pZGVudGlmaWVyX2lzX2tleShcXHUwMDI2Zmxvdy1cXHUwMDNlaWQpKVxcbiBcXHRcXHRcXHRcXHRmbG93ID0gb3ZzX2Zsb3dfdGJsX2xvb2t1cF9leGFjdChcXHUwMDI2ZHAtXFx1MDAzZXRhYmxlLFxcbkBAIC0xMTI3LDYgKzExMzUsMjAgQEAgc3RhdGljIGludCBvdnNfZmxvd19jbWRfbmV3KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXFxuIFxcdFxcdFxcdFxcdGdvdG8gZXJyX3VubG9ja19vdnM7XFxuIFxcdFxcdFxcdH1cXG4gXFx0XFx0fVxcbitcXHRcXHRpZiAodW5saWtlbHkocmVwbHkgXFx1MDAyNlxcdTAwMjZcXG4rXFx0XFx0XFx0ICAgICBvdnNfZmxvd19pZF9taXNtYXRjaChcXHUwMDI2bmV3X2Zsb3ctXFx1MDAzZWlkLCBcXHUwMDI2Zmxvdy1cXHUwMDNlaWQpKSkge1xcbitcXHRcXHRcXHRzdHJ1Y3Qgc2tfYnVmZiAqbmV3X3JlcGx5O1xcbitcXG4rXFx0XFx0XFx0bmV3X3JlcGx5ID0gb3ZzX2Zsb3dfY21kX2FsbG9jX2luZm8oYWN0cywgXFx1MDAyNmZsb3ctXFx1MDAzZWlkLFxcbitcXHRcXHRcXHRcXHRcXHRcXHRcXHQgICAgaW5mbywgZmFsc2UsXFxuK1xcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICB1ZmlkX2ZsYWdzKTtcXG4rXFx0XFx0XFx0aWYgKElTX0VSUihuZXdfcmVwbHkpKSB7XFxuK1xcdFxcdFxcdFxcdGVycm9yID0gUFRSX0VSUihuZXdfcmVwbHkpO1xcbitcXHRcXHRcXHRcXHRnb3RvIGVycl91bmxvY2tfb3ZzO1xcbitcXHRcXHRcXHR9XFxuK1xcdFxcdFxcdGtmcmVlX3NrYihyZXBseSk7XFxuK1xcdFxcdFxcdHJlcGx5ID0gbmV3X3JlcGx5O1xcbitcXHRcXHR9XFxuIFxcdFxcdC8qIFVwZGF0ZSBhY3Rpb25zLiAqL1xcbiBcXHRcXHRvbGRfYWN0cyA9IG92c2xfZGVyZWZlcmVuY2UoZmxvdy1cXHUwMDNlc2ZfYWN0cyk7XFxuIFxcdFxcdHJjdV9hc3NpZ25fcG9pbnRlcihmbG93LVxcdTAwM2VzZl9hY3RzLCBhY3RzKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MDk6NTYuMjg5MjY2MjUzWiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MTQ1MTk5MjgxMTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiT1BFTlZTV0lUQ0hcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJvdnNfZmxvd19jbWRfbmV3XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE9wZW4gdlN3aXRjaCBuZXRsaW5rIGZsb3cgY3JlYXRpb24gbG9naWMgKGBvdnNfZmxvd19jbWRfbmV3YCkgdG8gaGFuZGxlIGZsb3cgSUQgbWlzbWF0Y2hlcyBkdXJpbmcgZmxvdyB1cGRhdGVzLiBJdCBhbGxvY2F0ZXMgYSBuZXcgcmVwbHkgc2tiIGlmIHRoZSBmbG93IElEIG1pc21hdGNoZXMuIFRoaXMgaXMgcmVhY2hhYmxlIGNvcmUgbmV0d29ya2luZyBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgM2EwODMzZDUxMTdjZTY2MDVlMmFiMzBiMDFiMDIwMDAwZjc1NzAzNFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDI5IDAwOjA5OjU0IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmMgYi9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY1xuaW5kZXggZWFmMzMyYjE1NmQ3My4uMTg3MzIzMzdlYTVkMSAxMDA2NDRcbi0tLSBhL25ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jXG4rKysgYi9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY1xuQEAgLTgwMCw2ICs4MDAsMTYgQEAgc3RhdGljIGJvb2wgc2hvdWxkX2ZpbGxfYWN0aW9ucyh1aW50MzJfdCB1ZmlkX2ZsYWdzKVxuIFx0cmV0dXJuICEodWZpZF9mbGFncyBcdTAwMjYgT1ZTX1VGSURfRl9PTUlUX0FDVElPTlMpO1xuIH1cbiBcbitzdGF0aWMgYm9vbCBvdnNfZmxvd19pZF9taXNtYXRjaChjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqYSxcbitcdFx0XHRcdCBjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqYilcbit7XG4rXHRpZiAoYS1cdTAwM2V1ZmlkX2xlbiAhPSBiLVx1MDAzZXVmaWRfbGVuKVxuK1x0XHRyZXR1cm4gdHJ1ZTtcbitcbitcdHJldHVybiBvdnNfaWRlbnRpZmllcl9pc191ZmlkKGEpIFx1MDAyNlx1MDAyNlxuK1x0ICAgICAgICEhbWVtY21wKGEtXHUwMDNldWZpZCwgYi1cdTAwM2V1ZmlkLCBhLVx1MDAzZXVmaWRfbGVuKTtcbit9XG4rXG4gc3RhdGljIHNpemVfdCBvdnNfZmxvd19jbWRfbXNnX3NpemUoY29uc3Qgc3RydWN0IHN3X2Zsb3dfYWN0aW9ucyAqYWN0cyxcbiBcdFx0XHRcdCAgICBjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqc2ZpZCxcbiBcdFx0XHRcdCAgICB1aW50MzJfdCB1ZmlkX2ZsYWdzKVxuQEAgLTExMTMsOSArMTEyMyw3IEBAIHN0YXRpYyBpbnQgb3ZzX2Zsb3dfY21kX25ldyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuIFx0XHRcdGVycm9yID0gLUVFWElTVDtcbiBcdFx0XHRnb3RvIGVycl91bmxvY2tfb3ZzO1xuIFx0XHR9XG4tXHRcdC8qIFRoZSBmbG93IGlkZW50aWZpZXIgaGFzIHRvIGJlIHRoZSBzYW1lIGZvciBmbG93IHVwZGF0ZXMuXG4tXHRcdCAqIExvb2sgZm9yIGFueSBvdmVybGFwcGluZyBmbG93LlxuLVx0XHQgKi9cbitcdFx0LyogTG9vayBmb3IgYW55IG92ZXJsYXBwaW5nIGZsb3cuICovXG4gXHRcdGlmICh1bmxpa2VseSghb3ZzX2Zsb3dfY21wKGZsb3csIFx1MDAyNm1hdGNoKSkpIHtcbiBcdFx0XHRpZiAob3ZzX2lkZW50aWZpZXJfaXNfa2V5KFx1MDAyNmZsb3ctXHUwMDNlaWQpKVxuIFx0XHRcdFx0ZmxvdyA9IG92c19mbG93X3RibF9sb29rdXBfZXhhY3QoXHUwMDI2ZHAtXHUwMDNldGFibGUsXG5AQCAtMTEyNyw2ICsxMTM1LDIwIEBAIHN0YXRpYyBpbnQgb3ZzX2Zsb3dfY21kX25ldyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuIFx0XHRcdFx0Z290byBlcnJfdW5sb2NrX292cztcbiBcdFx0XHR9XG4gXHRcdH1cbitcdFx0aWYgKHVubGlrZWx5KHJlcGx5IFx1MDAyNlx1MDAyNlxuK1x0XHRcdCAgICAgb3ZzX2Zsb3dfaWRfbWlzbWF0Y2goXHUwMDI2bmV3X2Zsb3ctXHUwMDNlaWQsIFx1MDAyNmZsb3ctXHUwMDNlaWQpKSkge1xuK1x0XHRcdHN0cnVjdCBza19idWZmICpuZXdfcmVwbHk7XG4rXG4rXHRcdFx0bmV3X3JlcGx5ID0gb3ZzX2Zsb3dfY21kX2FsbG9jX2luZm8oYWN0cywgXHUwMDI2Zmxvdy1cdTAwM2VpZCxcbitcdFx0XHRcdFx0XHRcdCAgICBpbmZvLCBmYWxzZSxcbitcdFx0XHRcdFx0XHRcdCAgICB1ZmlkX2ZsYWdzKTtcbitcdFx0XHRpZiAoSVNfRVJSKG5ld19yZXBseSkpIHtcbitcdFx0XHRcdGVycm9yID0gUFRSX0VSUihuZXdfcmVwbHkpO1xuK1x0XHRcdFx0Z290byBlcnJfdW5sb2NrX292cztcbitcdFx0XHR9XG4rXHRcdFx0a2ZyZWVfc2tiKHJlcGx5KTtcbitcdFx0XHRyZXBseSA9IG5ld19yZXBseTtcbitcdFx0fVxuIFx0XHQvKiBVcGRhdGUgYWN0aW9ucy4gKi9cbiBcdFx0b2xkX2FjdHMgPSBvdnNsX2RlcmVmZXJlbmNlKGZsb3ctXHUwMDNlc2ZfYWN0cyk7XG4gXHRcdHJjdV9hc3NpZ25fcG9pbnRlcihmbG93LVx1MDAzZXNmX2FjdHMsIGFjdHMpO1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MDk6NTYuMjg5MjY4NDgzWiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzgzMTgzODY5MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBOZXcgT3BlbiB2U3dpdGNoIFBhdGNoKipcblxuT2theSwgc28gSSd2ZSBnb3QgdGhpcyBwYXRjaCBoZXJlIHRoYXQncyBwb2tpbmcgYXJvdW5kIGluIGBuZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY2AuIExvb2tzIGxpa2UgaXQncyBpbnRyb2R1Y2luZyBhIGZ1bmN0aW9uLCBgb3ZzX2Zsb3dfaWRfbWlzbWF0Y2hgLCBhbmQgdGhlbiAqdXNpbmcqIGl0IHdpdGhpbiBgb3ZzX2Zsb3dfY21kX25ld2AuIFJpZ2h0LCBzbyB0aGlzIGBvdnNfZmxvd19pZF9taXNtYXRjaGAgZnVuY3Rpb24gaXMgc29tZSBraW5kIG9mIGNoZWNrLCBwcm9iYWJseSBhZ2FpbnN0IGEgZmxvdyBJRCwgYW5kIGlmIHRoZXJlJ3MgYSBwcm9ibGVtLCB0aGVuIGBvdnNfZmxvd19jbWRfbmV3YCBhbGxvY2F0ZXMgYSBuZXcgcmVwbHkgc2tiIHVzaW5nIGBvdnNfZmxvd19jbWRfYWxsb2NfaW5mb2AuXG5cbkxldCdzIGRpdmUgaW50byBgb3ZzX2Zsb3dfY21kX25ld2AgaXRzZWxmIGluIGBuZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY2AuIFRoaXMgaXMgZGVmaW5pdGVseSBhIG5ldGxpbmsgY29tbWFuZCBoYW5kbGVyIHdpdGhpbiBPcGVuIHZTd2l0Y2gsIHdoaWNoIG1lYW5zIGl0J3MgcmVhY2hhYmxlIGFuZCB0aHVzIGRlZmluaXRlbHkgd29ydGggY29uc2lkZXJpbmcgZm9yIGZ1enppbmcuIEknbGwgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSByaWdodCBpbnB1dHMgYW5kIHN1Y2ggZm9yIGl0LlxuXG5Ob3csIEknbGwgbmVlZCB0byBmaW5kIHdoZXJlIHRoZSBjb25maWcgZm9yIG9wZW52c3dpdGNoIGlzLiBBaGEhIGBDT05GSUdfT1BFTlZTV0lUQ0hgLiBUaGF0J3MgdGhlIGtleS4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGtub3cgd2hhdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBzbyBJIGNhbiBiZXR0ZXIgdW5kZXJzdGFuZCB0aGlzIHRoaW5nLiBMZXQncyBjaGVjayBgbmV0L29wZW52c3dpdGNoL0tjb25maWdgLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTk1LCJPdXRwdXRUb2tlbnMiOjMzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTY5LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MTA6MDAuMTIxMTEyNTI2WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE0NDc3Mzc3OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgT1BFTlZTV0lUQ0hcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L29wZW52c3dpdGNoL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L29wZW52c3dpdGNoL0tjb25maWctNS1cXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo2OmNvbmZpZyBPUEVOVlNXSVRDSFxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTctXFx0dHJpc3RhdGUgXFxcIk9wZW4gdlN3aXRjaFxcXCJcXG4tLVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTQzLVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjQ0OmNvbmZpZyBPUEVOVlNXSVRDSF9HUkVcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy00NS1cXHR0cmlzdGF0ZSBcXFwiT3BlbiB2U3dpdGNoIEdSRSB0dW5uZWxpbmcgc3VwcG9ydFxcXCJcXG4tLVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTU2LVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjU3OmNvbmZpZyBPUEVOVlNXSVRDSF9WWExBTlxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTU4LVxcdHRyaXN0YXRlIFxcXCJPcGVuIHZTd2l0Y2ggVlhMQU4gdHVubmVsaW5nIHN1cHBvcnRcXFwiXFxuLS1cXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy02OC1cXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo2OTpjb25maWcgT1BFTlZTV0lUQ0hfR0VORVZFXFxubmV0L29wZW52c3dpdGNoL0tjb25maWctNzAtXFx0dHJpc3RhdGUgXFxcIk9wZW4gdlN3aXRjaCBHZW5ldmUgdHVubmVsaW5nIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI5VDAwOjEwOjAwLjI2NTg5NDgyM1oiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMyNjA1MDQ1NTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGxldCdzIGRpdmUgaW50byB0aGlzLiBIZXJlJ3MgaG93IEknbSB0aGlua2luZyBhYm91dCB0aGlzIGNvZGU6XG5cbioqQW5hbHl6aW5nIHRoZSBPcGVuIHZTd2l0Y2ggQ29uZmlndXJhdGlvbioqXG5cblJpZ2h0LCB0aGUgY29uZmlndXJhdGlvbiB3ZSdyZSBkZWFsaW5nIHdpdGggaXMgc2V0IHRvIGBPUEVOVlNXSVRDSGAuIFRoYXQncyB0aGUgYmFzZWxpbmUsIG5vdyBsZXQncyBnZXQgaW50byB0aGUgZGV0YWlscy4gTXkgZm9jdXMgbmVlZHMgdG8gYmUgb24gaG93IGZsb3dzIGFyZSBiZWluZyBoYW5kbGVkLCB3aGljaCBtZWFucyBJIHNob3VsZCByZWFsbHkgYmUgbG9va2luZyBhdCB0aGUgZnVuY3Rpb25zIGBvdnNfZmxvd19jbWRfbmV3YCBhbmQgYG92c19mbG93X2lkX21pc21hdGNoYC4gQnV0LCBhZnRlciBhIHF1aWNrIHNjYW4sIGl0IGxvb2tzIGxpa2UgYG92c19mbG93X2NtZF9uZXdgIGlzIHRoZSBrZXkgZnVuY3Rpb24gdG8gcmVhbGx5IGRpc3NlY3QgaGVyZS4gSXQgcHJvYmFibHkgaG9sZHMgdGhlIGNvcmUgbG9naWMgZm9yIGZsb3cgY3JlYXRpb24sIHNvIHRoYXQncyB3aGVyZSBJIG5lZWQgdG8gc3RhcnQuXG5cbkkgc2hvdWxkIGFsc28gbWFrZSBzdXJlIHRvIGtlZXAgYSBtZW50YWwgbm90ZSB0byBjaGVjayBpZiB0aGVyZSBhcmUgYW55IG90aGVyIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBJIG5lZWQgdG8gY29uc2lkZXIsIGluIGFkZGl0aW9uIHRvIHRoZSBgT1BFTlZTV0lUQ0hgIHNldHRpbmcuIFRoaXMgaXMgYSBnb29kIHN0YXJ0aW5nIHBvaW50LCBidXQgSSBuZWVkIHRvIGJlIHRob3JvdWdoIGFuZCBub3QgbWlzcyBhbnkgc3VidGxlLCBpbXBvcnRhbnQgcGllY2VzIG9mIHRoZSBwdXp6bGUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMzMjcsIk91dHB1dFRva2VucyI6MzAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yOVQwMDoxMDowMy41MjY0MDI1NTZaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTQ5MjY3MTg3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImRlcGVuZHMgb25cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L29wZW52c3dpdGNoL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L29wZW52c3dpdGNoL0tjb25maWc9Nj1jb25maWcgT1BFTlZTV0lUQ0hcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy03LVxcdHRyaXN0YXRlIFxcXCJPcGVuIHZTd2l0Y2hcXFwiXFxubmV0L29wZW52c3dpdGNoL0tjb25maWc6ODpcXHRkZXBlbmRzIG9uIElORVRcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo5OlxcdGRlcGVuZHMgb24gIU5GX0NPTk5UUkFDSyB8fCBcXFxcXFxubmV0L29wZW52c3dpdGNoL0tjb25maWctMTAtXFx0XFx0ICAgKE5GX0NPTk5UUkFDSyBcXHUwMDI2XFx1MDAyNiAoKCFORl9ERUZSQUdfSVBWNiB8fCBORl9ERUZSQUdfSVBWNikgXFx1MDAyNlxcdTAwMjYgXFxcXFxcbi0tXFxubmV0L29wZW52c3dpdGNoL0tjb25maWctMTItXFx0XFx0XFx0XFx0ICAgICAoIU5FVEZJTFRFUl9DT05OQ09VTlQgfHwgTkVURklMVEVSX0NPTk5DT1VOVCkpKVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjEzOlxcdGRlcGVuZHMgb24gUFNBTVBMRSB8fCAhUFNBTVBMRVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTE0LVxcdHNlbGVjdCBNUExTXFxuLS1cXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZz00ND1jb25maWcgT1BFTlZTV0lUQ0hfR1JFXFxubmV0L29wZW52c3dpdGNoL0tjb25maWctNDUtXFx0dHJpc3RhdGUgXFxcIk9wZW4gdlN3aXRjaCBHUkUgdHVubmVsaW5nIHN1cHBvcnRcXFwiXFxubmV0L29wZW52c3dpdGNoL0tjb25maWc6NDY6XFx0ZGVwZW5kcyBvbiBPUEVOVlNXSVRDSFxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjQ3OlxcdGRlcGVuZHMgb24gTkVUX0lQR1JFXFxubmV0L29wZW52c3dpdGNoL0tjb25maWctNDgtXFx0ZGVmYXVsdCBPUEVOVlNXSVRDSFxcbi0tXFxubmV0L29wZW52c3dpdGNoL0tjb25maWc9NTc9Y29uZmlnIE9QRU5WU1dJVENIX1ZYTEFOXFxubmV0L29wZW52c3dpdGNoL0tjb25maWctNTgtXFx0dHJpc3RhdGUgXFxcIk9wZW4gdlN3aXRjaCBWWExBTiB0dW5uZWxpbmcgc3VwcG9ydFxcXCJcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo1OTpcXHRkZXBlbmRzIG9uIE9QRU5WU1dJVENIXFxubmV0L29wZW52c3dpdGNoL0tjb25maWc6NjA6XFx0ZGVwZW5kcyBvbiBWWExBTlxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTYxLVxcdGRlZmF1bHQgT1BFTlZTV0lUQ0hcXG4tLVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnPTY5PWNvbmZpZyBPUEVOVlNXSVRDSF9HRU5FVkVcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy03MC1cXHR0cmlzdGF0ZSBcXFwiT3BlbiB2U3dpdGNoIEdlbmV2ZSB0dW5uZWxpbmcgc3VwcG9ydFxcXCJcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo3MTpcXHRkZXBlbmRzIG9uIE9QRU5WU1dJVENIXFxubmV0L29wZW52c3dpdGNoL0tjb25maWc6NzI6XFx0ZGVwZW5kcyBvbiBHRU5FVkVcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy03My1cXHRkZWZhdWx0IE9QRU5WU1dJVENIXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI5VDAwOjEwOjAzLjY3NTY3Njc2M1oiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI3NzE2NzQ2OTIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIG15IG93bjpcblxuKipEZXBlbmRlbmNpZXMgYW5kIENvZGUgRGl2aW5nKipcblxuQWxyaWdodCwgc28gYE9QRU5WU1dJVENIYCdzIGdvdCBhIGRlcGVuZGVuY3kgb24gYElORVRgLCB3aGljaCBtYWtlcyBwZXJmZWN0IHNlbnNlLiBUaGVyZWZvcmUsIGdldHRpbmcgYE9QRU5WU1dJVENIYCByaWdodCBpcyB0aGUgaW1tZWRpYXRlIHByaW9yaXR5LiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBhIHNwZWNpZmljIGZ1bmN0aW9uIHdpdGhpbiBgT1BFTlZTV0lUQ0hgLiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgb24gdGhlIGBvdnNfZmxvd19jbWRfbmV3YCBmdW5jdGlvbi4gSSdsbCBuZWVkIHRvIGdvIGxvb2sgYXQgYG5ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jYC4gVGhhdCdzIHdoZXJlIEkgbmVlZCB0byBiZS4gTGV0J3Mgc2VlIHdoYXQgdGhpcyB0aGluZyBpcyBkb2luZy5cblxuXG4iLCJJbnB1dFRva2VucyI6NDE2NSwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI5VDAwOjEwOjA2LjQ0NzM1NzUyNFoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNzQ4OTE1MzYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwib3ZzX2Zsb3dfY21kX25ld1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYz05ODU9c3RhdGljIHN0cnVjdCBza19idWZmICpvdnNfZmxvd19jbWRfYnVpbGRfaW5mbyhjb25zdCBzdHJ1Y3Qgc3dfZmxvdyAqZmxvdyxcXG4tLVxcbm5ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jLTEwMDctXFxubmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmM6MTAwODpzdGF0aWMgaW50IG92c19mbG93X2NtZF9uZXcoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG5uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYy0xMDA5LXtcXG4tLVxcbm5ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jPTE1NjU9c3RhdGljIGNvbnN0IHN0cnVjdCBnZW5sX3NtYWxsX29wcyBkcF9mbG93X2dlbmxfb3BzW10gPSB7XFxuLS1cXG5uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYy0xNTY4LVxcdCAgLmZsYWdzID0gR0VOTF9VTlNfQURNSU5fUEVSTSwgLyogUmVxdWlyZXMgQ0FQX05FVF9BRE1JTiBwcml2aWxlZ2UuICovXFxubmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmM6MTU2OTpcXHQgIC5kb2l0ID0gb3ZzX2Zsb3dfY21kX25ld1xcbm5ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jLTE1NzAtXFx0fSxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MTA6MDYuNjIyMjU5MTIxWiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzk5NTUyNjU3MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIHRoZSBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgY2xlYXJseSBmb2N1c2VkIG9uIGBvdnNfZmxvd19jbWRfbmV3YCwgdGhlIG5ldGxpbmsgY29tbWFuZCBoYW5kbGVyIHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyBuZXcgT3BlbiB2U3dpdGNoIGZsb3dzLCBzcGVjaWZpY2FsbHkgYWRkcmVzc2luZyBgT1ZTX0ZMT1dfQ01EX05FV2AuIFRoZSBjaGFuZ2UgaW50cm9kdWNlcyBgb3ZzX2Zsb3dfaWRfbWlzbWF0Y2hgLCB3aGljaCBzdWdnZXN0cyBhIHNjZW5hcmlvIHdoZXJlIGZsb3cgSURzIGRvbid0IGFsaWduIGR1cmluZyB1cGRhdGVzLiBUaGlzIGxvb2tzIGxpa2UgYSBwb3RlbnRpYWxseSBpbXBvcnRhbnQgbW9kaWZpY2F0aW9uIHRvIHRoZSBmbG93IHVwZGF0ZSBwcm9jZXNzLlxuXG5Gcm9tIGEgZnVuY3Rpb25hbGl0eSBzdGFuZHBvaW50LCB0aGlzIGlzIGRlZmluaXRlbHkgc29tZXRoaW5nIHRoYXQgbWVyaXRzIGNsb3NlIHNjcnV0aW55IGFuZCB0ZXN0aW5nLiBJdCB0b3VjaGVzIGNvcmUgbmV0d29ya2luZyBsb2dpYyDigJMgdGhlIGhlYXJ0IG9mIGZsb3cgaGFuZGxpbmcuIFRoZSBmYWN0IHRoYXQgaXQgcmVhbGxvY2F0ZXMgYSByZXBseSBza2Igd2hlbiB0aGVyZeKAmXMgYW4gSUQgbWlzbWF0Y2ggbWFrZXMgaXQgYSBwcmltZSBjYW5kaWRhdGUgZm9yIGZ1enppbmcuIEkgbmVlZCB0byBkaWcgZGVlcGVyIGludG8gdGhlIHBvdGVudGlhbCBjb25zZXF1ZW5jZXMgb2YgdGhpcyBiZWhhdmlvci4gSSBzZWUgdGhlIG1haW4gZm9jdXMgaXMgYXJvdW5kIHRoZSBgT1BFTlZTV0lUQ0hgIGNvbmZpZ3VyYXRpb24sIHdoaWNoIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgYXJlYSBvZiB0aGUgY29kZSB0aGF0IGl0IHRvdWNoZXMuXG5cbkknbSByZWFkeSB0byBzZXQtcmVzdWx0cy5cblxuXG4iLCJJbnB1dFRva2VucyI6NDY1MywiT3V0cHV0VG9rZW5zIjoxMDYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjMsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MTA6MTAuNjE3Nzg4NTQxWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTkxMzk3ODg3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJPUEVOVlNXSVRDSFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm92c19mbG93X2NtZF9uZXdcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgT3BlbiB2U3dpdGNoIG5ldGxpbmsgZmxvdyBjcmVhdGlvbiBsb2dpYyAoYG92c19mbG93X2NtZF9uZXdgKSB0byBoYW5kbGUgZmxvdyBJRCBtaXNtYXRjaGVzIGR1cmluZyBmbG93IHVwZGF0ZXMuIEl0IGFsbG9jYXRlcyBhIG5ldyByZXBseSBza2IgaWYgdGhlIGZsb3cgSUQgbWlzbWF0Y2hlcy4gVGhpcyBpcyByZWFjaGFibGUgY29yZSBuZXR3b3JraW5nIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk9QRU5WU1dJVENIXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwib3ZzX2Zsb3dfY21kX25ld1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBPcGVuIHZTd2l0Y2ggbmV0bGluayBmbG93IGNyZWF0aW9uIGxvZ2ljIChgb3ZzX2Zsb3dfY21kX25ld2ApIHRvIGhhbmRsZSBmbG93IElEIG1pc21hdGNoZXMgZHVyaW5nIGZsb3cgdXBkYXRlcy4gSXQgYWxsb2NhdGVzIGEgbmV3IHJlcGx5IHNrYiBpZiB0aGUgZmxvdyBJRCBtaXNtYXRjaGVzLiBUaGlzIGlzIHJlYWNoYWJsZSBjb3JlIG5ldHdvcmtpbmcgbG9naWMgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflownxslw[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-28 23:47:10 +0000 UTC FinishedAt: 2026-07-29 00:10:12 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "e095f249e2209674f6366f6db0383a2b96e19239", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "OPENVSWITCH" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "e095f249e2209674f6366f6db0383a2b96e19239", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "OPENVSWITCH" ], "series_id": "7470f562-629c-4615-82bf-db8f437a8f03" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "ovs_flow_cmd_new" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDAwOjA5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O09QRU5WU1dJVENIJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7b3ZzX2Zsb3dfY21kX25ldyYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgT3BlbiB2U3dpdGNoIG5ldGxpbmsgZmxvdyBjcmVhdGlvbiBsb2dpYyAoYG92c19mbG93X2NtZF9uZXdgKSB0byBoYW5kbGUgZmxvdyBJRCBtaXNtYXRjaGVzIGR1cmluZyBmbG93IHVwZGF0ZXMuIEl0IGFsbG9jYXRlcyBhIG5ldyByZXBseSBza2IgaWYgdGhlIGZsb3cgSUQgbWlzbWF0Y2hlcy4gVGhpcyBpcyByZWFjaGFibGUgY29yZSBuZXR3b3JraW5nIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDAwOjA5PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgM2EwODMzZDUxMTdjZTY2MDVlMmFiMzBiMDFiMDIwMDAwZjc1NzAzNFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDI5IDAwOjA5OjU0IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jIGIvbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmNcbmluZGV4IGVhZjMzMmIxNTZkNzMuLjE4NzMyMzM3ZWE1ZDEgMTAwNjQ0XG4tLS0gYS9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY1xuJiM0MzsmIzQzOyYjNDM7IGIvbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmNcbkBAIC04MDAsNiAmIzQzOzgwMCwxNiBAQCBzdGF0aWMgYm9vbCBzaG91bGRfZmlsbF9hY3Rpb25zKHVpbnQzMl90IHVmaWRfZmxhZ3MpXG4gXHRyZXR1cm4gISh1ZmlkX2ZsYWdzIFx1MDAyNiBPVlNfVUZJRF9GX09NSVRfQUNUSU9OUyk7XG4gfVxuIFxuJiM0MztzdGF0aWMgYm9vbCBvdnNfZmxvd19pZF9taXNtYXRjaChjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqYSxcbiYjNDM7XHRcdFx0XHQgY29uc3Qgc3RydWN0IHN3X2Zsb3dfaWQgKmIpXG4mIzQzO3tcbiYjNDM7XHRpZiAoYS1cdTAwM2V1ZmlkX2xlbiAhPSBiLVx1MDAzZXVmaWRfbGVuKVxuJiM0MztcdFx0cmV0dXJuIHRydWU7XG4mIzQzO1xuJiM0MztcdHJldHVybiBvdnNfaWRlbnRpZmllcl9pc191ZmlkKGEpIFx1MDAyNlx1MDAyNlxuJiM0MztcdCAgICAgICAhIW1lbWNtcChhLVx1MDAzZXVmaWQsIGItXHUwMDNldWZpZCwgYS1cdTAwM2V1ZmlkX2xlbik7XG4mIzQzO31cbiYjNDM7XG4gc3RhdGljIHNpemVfdCBvdnNfZmxvd19jbWRfbXNnX3NpemUoY29uc3Qgc3RydWN0IHN3X2Zsb3dfYWN0aW9ucyAqYWN0cyxcbiBcdFx0XHRcdCAgICBjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqc2ZpZCxcbiBcdFx0XHRcdCAgICB1aW50MzJfdCB1ZmlkX2ZsYWdzKVxuQEAgLTExMTMsOSAmIzQzOzExMjMsNyBAQCBzdGF0aWMgaW50IG92c19mbG93X2NtZF9uZXcoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbiBcdFx0XHRlcnJvciA9IC1FRVhJU1Q7XG4gXHRcdFx0Z290byBlcnJfdW5sb2NrX292cztcbiBcdFx0fVxuLVx0XHQvKiBUaGUgZmxvdyBpZGVudGlmaWVyIGhhcyB0byBiZSB0aGUgc2FtZSBmb3IgZmxvdyB1cGRhdGVzLlxuLVx0XHQgKiBMb29rIGZvciBhbnkgb3ZlcmxhcHBpbmcgZmxvdy5cbi1cdFx0ICovXG4mIzQzO1x0XHQvKiBMb29rIGZvciBhbnkgb3ZlcmxhcHBpbmcgZmxvdy4gKi9cbiBcdFx0aWYgKHVubGlrZWx5KCFvdnNfZmxvd19jbXAoZmxvdywgXHUwMDI2bWF0Y2gpKSkge1xuIFx0XHRcdGlmIChvdnNfaWRlbnRpZmllcl9pc19rZXkoXHUwMDI2Zmxvdy1cdTAwM2VpZCkpXG4gXHRcdFx0XHRmbG93ID0gb3ZzX2Zsb3dfdGJsX2xvb2t1cF9leGFjdChcdTAwMjZkcC1cdTAwM2V0YWJsZSxcbkBAIC0xMTI3LDYgJiM0MzsxMTM1LDIwIEBAIHN0YXRpYyBpbnQgb3ZzX2Zsb3dfY21kX25ldyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuIFx0XHRcdFx0Z290byBlcnJfdW5sb2NrX292cztcbiBcdFx0XHR9XG4gXHRcdH1cbiYjNDM7XHRcdGlmICh1bmxpa2VseShyZXBseSBcdTAwMjZcdTAwMjZcbiYjNDM7XHRcdFx0ICAgICBvdnNfZmxvd19pZF9taXNtYXRjaChcdTAwMjZuZXdfZmxvdy1cdTAwM2VpZCwgXHUwMDI2Zmxvdy1cdTAwM2VpZCkpKSB7XG4mIzQzO1x0XHRcdHN0cnVjdCBza19idWZmICpuZXdfcmVwbHk7XG4mIzQzO1xuJiM0MztcdFx0XHRuZXdfcmVwbHkgPSBvdnNfZmxvd19jbWRfYWxsb2NfaW5mbyhhY3RzLCBcdTAwMjZmbG93LVx1MDAzZWlkLFxuJiM0MztcdFx0XHRcdFx0XHRcdCAgICBpbmZvLCBmYWxzZSxcbiYjNDM7XHRcdFx0XHRcdFx0XHQgICAgdWZpZF9mbGFncyk7XG4mIzQzO1x0XHRcdGlmIChJU19FUlIobmV3X3JlcGx5KSkge1xuJiM0MztcdFx0XHRcdGVycm9yID0gUFRSX0VSUihuZXdfcmVwbHkpO1xuJiM0MztcdFx0XHRcdGdvdG8gZXJyX3VubG9ja19vdnM7XG4mIzQzO1x0XHRcdH1cbiYjNDM7XHRcdFx0a2ZyZWVfc2tiKHJlcGx5KTtcbiYjNDM7XHRcdFx0cmVwbHkgPSBuZXdfcmVwbHk7XG4mIzQzO1x0XHR9XG4gXHRcdC8qIFVwZGF0ZSBhY3Rpb25zLiAqL1xuIFx0XHRvbGRfYWN0cyA9IG92c2xfZGVyZWZlcmVuY2UoZmxvdy1cdTAwM2VzZl9hY3RzKTtcbiBcdFx0cmN1X2Fzc2lnbl9wb2ludGVyKGZsb3ctXHUwMDNlc2ZfYWN0cywgYWN0cyk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMDA6MDk8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O09QRU5WU1dJVENIJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7b3ZzX2Zsb3dfY21kX25ldyYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgT3BlbiB2U3dpdGNoIG5ldGxpbmsgZmxvdyBjcmVhdGlvbiBsb2dpYyAoYG92c19mbG93X2NtZF9uZXdgKSB0byBoYW5kbGUgZmxvdyBJRCBtaXNtYXRjaGVzIGR1cmluZyBmbG93IHVwZGF0ZXMuIEl0IGFsbG9jYXRlcyBhIG5ldyByZXBseSBza2IgaWYgdGhlIGZsb3cgSUQgbWlzbWF0Y2hlcy4gVGhpcyBpcyByZWFjaGFibGUgY29yZSBuZXR3b3JraW5nIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgM2EwODMzZDUxMTdjZTY2MDVlMmFiMzBiMDFiMDIwMDAwZjc1NzAzNApBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgSnVsIDI5IDAwOjA5OjU0IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmMgYi9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYwppbmRleCBlYWYzMzJiMTU2ZDczLi4xODczMjMzN2VhNWQxIDEwMDY0NAotLS0gYS9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYwpAQCAtODAwLDYgJiM0Mzs4MDAsMTYgQEAgc3RhdGljIGJvb2wgc2hvdWxkX2ZpbGxfYWN0aW9ucyh1aW50MzJfdCB1ZmlkX2ZsYWdzKQogCXJldHVybiAhKHVmaWRfZmxhZ3MgJmFtcDsgT1ZTX1VGSURfRl9PTUlUX0FDVElPTlMpOwogfQogCiYjNDM7c3RhdGljIGJvb2wgb3ZzX2Zsb3dfaWRfbWlzbWF0Y2goY29uc3Qgc3RydWN0IHN3X2Zsb3dfaWQgKmEsCiYjNDM7CQkJCSBjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqYikKJiM0Mzt7CiYjNDM7CWlmIChhLSZndDt1ZmlkX2xlbiAhPSBiLSZndDt1ZmlkX2xlbikKJiM0MzsJCXJldHVybiB0cnVlOwomIzQzOwomIzQzOwlyZXR1cm4gb3ZzX2lkZW50aWZpZXJfaXNfdWZpZChhKSAmYW1wOyZhbXA7CiYjNDM7CSAgICAgICAhIW1lbWNtcChhLSZndDt1ZmlkLCBiLSZndDt1ZmlkLCBhLSZndDt1ZmlkX2xlbik7CiYjNDM7fQomIzQzOwogc3RhdGljIHNpemVfdCBvdnNfZmxvd19jbWRfbXNnX3NpemUoY29uc3Qgc3RydWN0IHN3X2Zsb3dfYWN0aW9ucyAqYWN0cywKIAkJCQkgICAgY29uc3Qgc3RydWN0IHN3X2Zsb3dfaWQgKnNmaWQsCiAJCQkJICAgIHVpbnQzMl90IHVmaWRfZmxhZ3MpCkBAIC0xMTEzLDkgJiM0MzsxMTIzLDcgQEAgc3RhdGljIGludCBvdnNfZmxvd19jbWRfbmV3KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pCiAJCQllcnJvciA9IC1FRVhJU1Q7CiAJCQlnb3RvIGVycl91bmxvY2tfb3ZzOwogCQl9Ci0JCS8qIFRoZSBmbG93IGlkZW50aWZpZXIgaGFzIHRvIGJlIHRoZSBzYW1lIGZvciBmbG93IHVwZGF0ZXMuCi0JCSAqIExvb2sgZm9yIGFueSBvdmVybGFwcGluZyBmbG93LgotCQkgKi8KJiM0MzsJCS8qIExvb2sgZm9yIGFueSBvdmVybGFwcGluZyBmbG93LiAqLwogCQlpZiAodW5saWtlbHkoIW92c19mbG93X2NtcChmbG93LCAmYW1wO21hdGNoKSkpIHsKIAkJCWlmIChvdnNfaWRlbnRpZmllcl9pc19rZXkoJmFtcDtmbG93LSZndDtpZCkpCiAJCQkJZmxvdyA9IG92c19mbG93X3RibF9sb29rdXBfZXhhY3QoJmFtcDtkcC0mZ3Q7dGFibGUsCkBAIC0xMTI3LDYgJiM0MzsxMTM1LDIwIEBAIHN0YXRpYyBpbnQgb3ZzX2Zsb3dfY21kX25ldyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKQogCQkJCWdvdG8gZXJyX3VubG9ja19vdnM7CiAJCQl9CiAJCX0KJiM0MzsJCWlmICh1bmxpa2VseShyZXBseSAmYW1wOyZhbXA7CiYjNDM7CQkJICAgICBvdnNfZmxvd19pZF9taXNtYXRjaCgmYW1wO25ld19mbG93LSZndDtpZCwgJmFtcDtmbG93LSZndDtpZCkpKSB7CiYjNDM7CQkJc3RydWN0IHNrX2J1ZmYgKm5ld19yZXBseTsKJiM0MzsKJiM0MzsJCQluZXdfcmVwbHkgPSBvdnNfZmxvd19jbWRfYWxsb2NfaW5mbyhhY3RzLCAmYW1wO2Zsb3ctJmd0O2lkLAomIzQzOwkJCQkJCQkgICAgaW5mbywgZmFsc2UsCiYjNDM7CQkJCQkJCSAgICB1ZmlkX2ZsYWdzKTsKJiM0MzsJCQlpZiAoSVNfRVJSKG5ld19yZXBseSkpIHsKJiM0MzsJCQkJZXJyb3IgPSBQVFJfRVJSKG5ld19yZXBseSk7CiYjNDM7CQkJCWdvdG8gZXJyX3VubG9ja19vdnM7CiYjNDM7CQkJfQomIzQzOwkJCWtmcmVlX3NrYihyZXBseSk7CiYjNDM7CQkJcmVwbHkgPSBuZXdfcmVwbHk7CiYjNDM7CQl9CiAJCS8qIFVwZGF0ZSBhY3Rpb25zLiAqLwogCQlvbGRfYWN0cyA9IG92c2xfZGVyZWZlcmVuY2UoZmxvdy0mZ3Q7c2ZfYWN0cyk7CiAJCXJjdV9hc3NpZ25fcG9pbnRlcihmbG93LSZndDtzZl9hY3RzLCBhY3RzKTsKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMDA6MDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjU5NQoJCQkJCQkJb3V0cHV0OiAzMwoJCQkJCQkJdGhvdWdodHM6IDE2OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBOZXcgT3BlbiB2U3dpdGNoIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCB0aGlzIHBhdGNoIGhlcmUgdGhhdCYjMzk7cyBwb2tpbmcgYXJvdW5kIGluIGBuZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY2AuIExvb2tzIGxpa2UgaXQmIzM5O3MgaW50cm9kdWNpbmcgYSBmdW5jdGlvbiwgYG92c19mbG93X2lkX21pc21hdGNoYCwgYW5kIHRoZW4gKnVzaW5nKiBpdCB3aXRoaW4gYG92c19mbG93X2NtZF9uZXdgLiBSaWdodCwgc28gdGhpcyBgb3ZzX2Zsb3dfaWRfbWlzbWF0Y2hgIGZ1bmN0aW9uIGlzIHNvbWUga2luZCBvZiBjaGVjaywgcHJvYmFibHkgYWdhaW5zdCBhIGZsb3cgSUQsIGFuZCBpZiB0aGVyZSYjMzk7cyBhIHByb2JsZW0sIHRoZW4gYG92c19mbG93X2NtZF9uZXdgIGFsbG9jYXRlcyBhIG5ldyByZXBseSBza2IgdXNpbmcgYG92c19mbG93X2NtZF9hbGxvY19pbmZvYC4KCkxldCYjMzk7cyBkaXZlIGludG8gYG92c19mbG93X2NtZF9uZXdgIGl0c2VsZiBpbiBgbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmNgLiBUaGlzIGlzIGRlZmluaXRlbHkgYSBuZXRsaW5rIGNvbW1hbmQgaGFuZGxlciB3aXRoaW4gT3BlbiB2U3dpdGNoLCB3aGljaCBtZWFucyBpdCYjMzk7cyByZWFjaGFibGUgYW5kIHRodXMgZGVmaW5pdGVseSB3b3J0aCBjb25zaWRlcmluZyBmb3IgZnV6emluZy4gSSYjMzk7bGwgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSByaWdodCBpbnB1dHMgYW5kIHN1Y2ggZm9yIGl0LgoKTm93LCBJJiMzOTtsbCBuZWVkIHRvIGZpbmQgd2hlcmUgdGhlIGNvbmZpZyBmb3Igb3BlbnZzd2l0Y2ggaXMuIEFoYSEgYENPTkZJR19PUEVOVlNXSVRDSGAuIFRoYXQmIzM5O3MgdGhlIGtleS4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGtub3cgd2hhdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBzbyBJIGNhbiBiZXR0ZXIgdW5kZXJzdGFuZCB0aGlzIHRoaW5nLiBMZXQmIzM5O3MgY2hlY2sgYG5ldC9vcGVudnN3aXRjaC9LY29uZmlnYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAwMDoxMDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgT1BFTlZTV0lUQ0gmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy01LVxubmV0L29wZW52c3dpdGNoL0tjb25maWc6Njpjb25maWcgT1BFTlZTV0lUQ0hcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTctXHR0cmlzdGF0ZSBcJiMzNDtPcGVuIHZTd2l0Y2hcJiMzNDtcbi0tXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy00My1cbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjQ0OmNvbmZpZyBPUEVOVlNXSVRDSF9HUkVcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTQ1LVx0dHJpc3RhdGUgXCYjMzQ7T3BlbiB2U3dpdGNoIEdSRSB0dW5uZWxpbmcgc3VwcG9ydFwmIzM0O1xuLS1cbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTU2LVxubmV0L29wZW52c3dpdGNoL0tjb25maWc6NTc6Y29uZmlnIE9QRU5WU1dJVENIX1ZYTEFOXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy01OC1cdHRyaXN0YXRlIFwmIzM0O09wZW4gdlN3aXRjaCBWWExBTiB0dW5uZWxpbmcgc3VwcG9ydFwmIzM0O1xuLS1cbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTY4LVxubmV0L29wZW52c3dpdGNoL0tjb25maWc6Njk6Y29uZmlnIE9QRU5WU1dJVENIX0dFTkVWRVxubmV0L29wZW52c3dpdGNoL0tjb25maWctNzAtXHR0cmlzdGF0ZSBcJiMzNDtPcGVuIHZTd2l0Y2ggR2VuZXZlIHR1bm5lbGluZyBzdXBwb3J0XCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMDA6MTA8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzMyNwoJCQkJCQkJb3V0cHV0OiAzMAoJCQkJCQkJdGhvdWdodHM6IDY3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBsZXQmIzM5O3MgZGl2ZSBpbnRvIHRoaXMuIEhlcmUmIzM5O3MgaG93IEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgdGhpcyBjb2RlOgoKKipBbmFseXppbmcgdGhlIE9wZW4gdlN3aXRjaCBDb25maWd1cmF0aW9uKioKClJpZ2h0LCB0aGUgY29uZmlndXJhdGlvbiB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGlzIHNldCB0byBgT1BFTlZTV0lUQ0hgLiBUaGF0JiMzOTtzIHRoZSBiYXNlbGluZSwgbm93IGxldCYjMzk7cyBnZXQgaW50byB0aGUgZGV0YWlscy4gTXkgZm9jdXMgbmVlZHMgdG8gYmUgb24gaG93IGZsb3dzIGFyZSBiZWluZyBoYW5kbGVkLCB3aGljaCBtZWFucyBJIHNob3VsZCByZWFsbHkgYmUgbG9va2luZyBhdCB0aGUgZnVuY3Rpb25zIGBvdnNfZmxvd19jbWRfbmV3YCBhbmQgYG92c19mbG93X2lkX21pc21hdGNoYC4gQnV0LCBhZnRlciBhIHF1aWNrIHNjYW4sIGl0IGxvb2tzIGxpa2UgYG92c19mbG93X2NtZF9uZXdgIGlzIHRoZSBrZXkgZnVuY3Rpb24gdG8gcmVhbGx5IGRpc3NlY3QgaGVyZS4gSXQgcHJvYmFibHkgaG9sZHMgdGhlIGNvcmUgbG9naWMgZm9yIGZsb3cgY3JlYXRpb24sIHNvIHRoYXQmIzM5O3Mgd2hlcmUgSSBuZWVkIHRvIHN0YXJ0LgoKSSBzaG91bGQgYWxzbyBtYWtlIHN1cmUgdG8ga2VlcCBhIG1lbnRhbCBub3RlIHRvIGNoZWNrIGlmIHRoZXJlIGFyZSBhbnkgb3RoZXIgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIEkgbmVlZCB0byBjb25zaWRlciwgaW4gYWRkaXRpb24gdG8gdGhlIGBPUEVOVlNXSVRDSGAgc2V0dGluZy4gVGhpcyBpcyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQsIGJ1dCBJIG5lZWQgdG8gYmUgdGhvcm91Z2ggYW5kIG5vdCBtaXNzIGFueSBzdWJ0bGUsIGltcG9ydGFudCBwaWVjZXMgb2YgdGhlIHB1enpsZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAwMDoxMDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtkZXBlbmRzIG9uJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L29wZW52c3dpdGNoL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L29wZW52c3dpdGNoL0tjb25maWc9Nj1jb25maWcgT1BFTlZTV0lUQ0hcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTctXHR0cmlzdGF0ZSBcJiMzNDtPcGVuIHZTd2l0Y2hcJiMzNDtcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjg6XHRkZXBlbmRzIG9uIElORVRcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjk6XHRkZXBlbmRzIG9uICFORl9DT05OVFJBQ0sgfHwgXFxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTEwLVx0XHQgICAoTkZfQ09OTlRSQUNLIFx1MDAyNlx1MDAyNiAoKCFORl9ERUZSQUdfSVBWNiB8fCBORl9ERUZSQUdfSVBWNikgXHUwMDI2XHUwMDI2IFxcXG4tLVxubmV0L29wZW52c3dpdGNoL0tjb25maWctMTItXHRcdFx0XHQgICAgICghTkVURklMVEVSX0NPTk5DT1VOVCB8fCBORVRGSUxURVJfQ09OTkNPVU5UKSkpXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzoxMzpcdGRlcGVuZHMgb24gUFNBTVBMRSB8fCAhUFNBTVBMRVxubmV0L29wZW52c3dpdGNoL0tjb25maWctMTQtXHRzZWxlY3QgTVBMU1xuLS1cbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnPTQ0PWNvbmZpZyBPUEVOVlNXSVRDSF9HUkVcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTQ1LVx0dHJpc3RhdGUgXCYjMzQ7T3BlbiB2U3dpdGNoIEdSRSB0dW5uZWxpbmcgc3VwcG9ydFwmIzM0O1xubmV0L29wZW52c3dpdGNoL0tjb25maWc6NDY6XHRkZXBlbmRzIG9uIE9QRU5WU1dJVENIXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo0NzpcdGRlcGVuZHMgb24gTkVUX0lQR1JFXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy00OC1cdGRlZmF1bHQgT1BFTlZTV0lUQ0hcbi0tXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZz01Nz1jb25maWcgT1BFTlZTV0lUQ0hfVlhMQU5cbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTU4LVx0dHJpc3RhdGUgXCYjMzQ7T3BlbiB2U3dpdGNoIFZYTEFOIHR1bm5lbGluZyBzdXBwb3J0XCYjMzQ7XG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo1OTpcdGRlcGVuZHMgb24gT1BFTlZTV0lUQ0hcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjYwOlx0ZGVwZW5kcyBvbiBWWExBTlxubmV0L29wZW52c3dpdGNoL0tjb25maWctNjEtXHRkZWZhdWx0IE9QRU5WU1dJVENIXG4tLVxubmV0L29wZW52c3dpdGNoL0tjb25maWc9Njk9Y29uZmlnIE9QRU5WU1dJVENIX0dFTkVWRVxubmV0L29wZW52c3dpdGNoL0tjb25maWctNzAtXHR0cmlzdGF0ZSBcJiMzNDtPcGVuIHZTd2l0Y2ggR2VuZXZlIHR1bm5lbGluZyBzdXBwb3J0XCYjMzQ7XG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo3MTpcdGRlcGVuZHMgb24gT1BFTlZTV0lUQ0hcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjcyOlx0ZGVwZW5kcyBvbiBHRU5FVkVcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTczLVx0ZGVmYXVsdCBPUEVOVlNXSVRDSFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDAwOjEwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQxNjUKCQkJCQkJCW91dHB1dDogMzgKCQkJCQkJCXRob3VnaHRzOiA0OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIG15IG93bjoKCioqRGVwZW5kZW5jaWVzIGFuZCBDb2RlIERpdmluZyoqCgpBbHJpZ2h0LCBzbyBgT1BFTlZTV0lUQ0hgJiMzOTtzIGdvdCBhIGRlcGVuZGVuY3kgb24gYElORVRgLCB3aGljaCBtYWtlcyBwZXJmZWN0IHNlbnNlLiBUaGVyZWZvcmUsIGdldHRpbmcgYE9QRU5WU1dJVENIYCByaWdodCBpcyB0aGUgaW1tZWRpYXRlIHByaW9yaXR5LiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBhIHNwZWNpZmljIGZ1bmN0aW9uIHdpdGhpbiBgT1BFTlZTV0lUQ0hgLiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgb24gdGhlIGBvdnNfZmxvd19jbWRfbmV3YCBmdW5jdGlvbi4gSSYjMzk7bGwgbmVlZCB0byBnbyBsb29rIGF0IGBuZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY2AuIFRoYXQmIzM5O3Mgd2hlcmUgSSBuZWVkIHRvIGJlLiBMZXQmIzM5O3Mgc2VlIHdoYXQgdGhpcyB0aGluZyBpcyBkb2luZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAwMDoxMDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtvdnNfZmxvd19jbWRfbmV3JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmM9OTg1PXN0YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqb3ZzX2Zsb3dfY21kX2J1aWxkX2luZm8oY29uc3Qgc3RydWN0IHN3X2Zsb3cgKmZsb3csXG4tLVxubmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmMtMTAwNy1cbm5ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jOjEwMDg6c3RhdGljIGludCBvdnNfZmxvd19jbWRfbmV3KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXG5uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYy0xMDA5LXtcbi0tXG5uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYz0xNTY1PXN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2VubF9zbWFsbF9vcHMgZHBfZmxvd19nZW5sX29wc1tdID0ge1xuLS1cbm5ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jLTE1NjgtXHQgIC5mbGFncyA9IEdFTkxfVU5TX0FETUlOX1BFUk0sIC8qIFJlcXVpcmVzIENBUF9ORVRfQURNSU4gcHJpdmlsZWdlLiAqL1xubmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmM6MTU2OTpcdCAgLmRvaXQgPSBvdnNfZmxvd19jbWRfbmV3XG5uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYy0xNTcwLVx0fSxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAwMDoxMDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NjUzCgkJCQkJCQlvdXRwdXQ6IDEwNgoJCQkJCQkJdGhvdWdodHM6IDE2MwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIHRoZSBQYXRjaCoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGlzIGNsZWFybHkgZm9jdXNlZCBvbiBgb3ZzX2Zsb3dfY21kX25ld2AsIHRoZSBuZXRsaW5rIGNvbW1hbmQgaGFuZGxlciByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgbmV3IE9wZW4gdlN3aXRjaCBmbG93cywgc3BlY2lmaWNhbGx5IGFkZHJlc3NpbmcgYE9WU19GTE9XX0NNRF9ORVdgLiBUaGUgY2hhbmdlIGludHJvZHVjZXMgYG92c19mbG93X2lkX21pc21hdGNoYCwgd2hpY2ggc3VnZ2VzdHMgYSBzY2VuYXJpbyB3aGVyZSBmbG93IElEcyBkb24mIzM5O3QgYWxpZ24gZHVyaW5nIHVwZGF0ZXMuIFRoaXMgbG9va3MgbGlrZSBhIHBvdGVudGlhbGx5IGltcG9ydGFudCBtb2RpZmljYXRpb24gdG8gdGhlIGZsb3cgdXBkYXRlIHByb2Nlc3MuCgpGcm9tIGEgZnVuY3Rpb25hbGl0eSBzdGFuZHBvaW50LCB0aGlzIGlzIGRlZmluaXRlbHkgc29tZXRoaW5nIHRoYXQgbWVyaXRzIGNsb3NlIHNjcnV0aW55IGFuZCB0ZXN0aW5nLiBJdCB0b3VjaGVzIGNvcmUgbmV0d29ya2luZyBsb2dpYyDigJMgdGhlIGhlYXJ0IG9mIGZsb3cgaGFuZGxpbmcuIFRoZSBmYWN0IHRoYXQgaXQgcmVhbGxvY2F0ZXMgYSByZXBseSBza2Igd2hlbiB0aGVyZeKAmXMgYW4gSUQgbWlzbWF0Y2ggbWFrZXMgaXQgYSBwcmltZSBjYW5kaWRhdGUgZm9yIGZ1enppbmcuIEkgbmVlZCB0byBkaWcgZGVlcGVyIGludG8gdGhlIHBvdGVudGlhbCBjb25zZXF1ZW5jZXMgb2YgdGhpcyBiZWhhdmlvci4gSSBzZWUgdGhlIG1haW4gZm9jdXMgaXMgYXJvdW5kIHRoZSBgT1BFTlZTV0lUQ0hgIGNvbmZpZ3VyYXRpb24sIHdoaWNoIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgYXJlYSBvZiB0aGUgY29kZSB0aGF0IGl0IHRvdWNoZXMuCgpJJiMzOTttIHJlYWR5IHRvIHNldC1yZXN1bHRzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAwMDoxMDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7T1BFTlZTV0lUQ0gmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtvdnNfZmxvd19jbWRfbmV3JiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBPcGVuIHZTd2l0Y2ggbmV0bGluayBmbG93IGNyZWF0aW9uIGxvZ2ljIChgb3ZzX2Zsb3dfY21kX25ld2ApIHRvIGhhbmRsZSBmbG93IElEIG1pc21hdGNoZXMgZHVyaW5nIGZsb3cgdXBkYXRlcy4gSXQgYWxsb2NhdGVzIGEgbmV3IHJlcGx5IHNrYiBpZiB0aGUgZmxvdyBJRCBtaXNtYXRjaGVzLiBUaGlzIGlzIHJlYWNoYWJsZSBjb3JlIG5ldHdvcmtpbmcgbG9naWMgYW5kIHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O09QRU5WU1dJVENIJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7b3ZzX2Zsb3dfY21kX25ldyYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgT3BlbiB2U3dpdGNoIG5ldGxpbmsgZmxvdyBjcmVhdGlvbiBsb2dpYyAoYG92c19mbG93X2NtZF9uZXdgKSB0byBoYW5kbGUgZmxvdyBJRCBtaXNtYXRjaGVzIGR1cmluZyBmbG93IHVwZGF0ZXMuIEl0IGFsbG9jYXRlcyBhIG5ldyByZXBseSBza2IgaWYgdGhlIGZsb3cgSUQgbWlzbWF0Y2hlcy4gVGhpcyBpcyByZWFjaGFibGUgY29yZSBuZXR3b3JraW5nIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MDk6NTUuNzU0Mzg0MTQyWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTUwNTQ4MjU4NTYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiT1BFTlZTV0lUQ0hcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJvdnNfZmxvd19jbWRfbmV3XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE9wZW4gdlN3aXRjaCBuZXRsaW5rIGZsb3cgY3JlYXRpb24gbG9naWMgKGBvdnNfZmxvd19jbWRfbmV3YCkgdG8gaGFuZGxlIGZsb3cgSUQgbWlzbWF0Y2hlcyBkdXJpbmcgZmxvdyB1cGRhdGVzLiBJdCBhbGxvY2F0ZXMgYSBuZXcgcmVwbHkgc2tiIGlmIHRoZSBmbG93IElEIG1pc21hdGNoZXMuIFRoaXMgaXMgcmVhY2hhYmxlIGNvcmUgbmV0d29ya2luZyBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MDk6NTUuNzU0MzkxMzkyWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1MzM4NTE0MzEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAzYTA4MzNkNTExN2NlNjYwNWUyYWIzMGIwMWIwMjAwMDBmNzU3MDM0XFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgSnVsIDI5IDAwOjA5OjU0IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL25ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jIGIvbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmNcXG5pbmRleCBlYWYzMzJiMTU2ZDczLi4xODczMjMzN2VhNWQxIDEwMDY0NFxcbi0tLSBhL25ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jXFxuKysrIGIvbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmNcXG5AQCAtODAwLDYgKzgwMCwxNiBAQCBzdGF0aWMgYm9vbCBzaG91bGRfZmlsbF9hY3Rpb25zKHVpbnQzMl90IHVmaWRfZmxhZ3MpXFxuIFxcdHJldHVybiAhKHVmaWRfZmxhZ3MgXFx1MDAyNiBPVlNfVUZJRF9GX09NSVRfQUNUSU9OUyk7XFxuIH1cXG4gXFxuK3N0YXRpYyBib29sIG92c19mbG93X2lkX21pc21hdGNoKGNvbnN0IHN0cnVjdCBzd19mbG93X2lkICphLFxcbitcXHRcXHRcXHRcXHQgY29uc3Qgc3RydWN0IHN3X2Zsb3dfaWQgKmIpXFxuK3tcXG4rXFx0aWYgKGEtXFx1MDAzZXVmaWRfbGVuICE9IGItXFx1MDAzZXVmaWRfbGVuKVxcbitcXHRcXHRyZXR1cm4gdHJ1ZTtcXG4rXFxuK1xcdHJldHVybiBvdnNfaWRlbnRpZmllcl9pc191ZmlkKGEpIFxcdTAwMjZcXHUwMDI2XFxuK1xcdCAgICAgICAhIW1lbWNtcChhLVxcdTAwM2V1ZmlkLCBiLVxcdTAwM2V1ZmlkLCBhLVxcdTAwM2V1ZmlkX2xlbik7XFxuK31cXG4rXFxuIHN0YXRpYyBzaXplX3Qgb3ZzX2Zsb3dfY21kX21zZ19zaXplKGNvbnN0IHN0cnVjdCBzd19mbG93X2FjdGlvbnMgKmFjdHMsXFxuIFxcdFxcdFxcdFxcdCAgICBjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqc2ZpZCxcXG4gXFx0XFx0XFx0XFx0ICAgIHVpbnQzMl90IHVmaWRfZmxhZ3MpXFxuQEAgLTExMTMsOSArMTEyMyw3IEBAIHN0YXRpYyBpbnQgb3ZzX2Zsb3dfY21kX25ldyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxcbiBcXHRcXHRcXHRlcnJvciA9IC1FRVhJU1Q7XFxuIFxcdFxcdFxcdGdvdG8gZXJyX3VubG9ja19vdnM7XFxuIFxcdFxcdH1cXG4tXFx0XFx0LyogVGhlIGZsb3cgaWRlbnRpZmllciBoYXMgdG8gYmUgdGhlIHNhbWUgZm9yIGZsb3cgdXBkYXRlcy5cXG4tXFx0XFx0ICogTG9vayBmb3IgYW55IG92ZXJsYXBwaW5nIGZsb3cuXFxuLVxcdFxcdCAqL1xcbitcXHRcXHQvKiBMb29rIGZvciBhbnkgb3ZlcmxhcHBpbmcgZmxvdy4gKi9cXG4gXFx0XFx0aWYgKHVubGlrZWx5KCFvdnNfZmxvd19jbXAoZmxvdywgXFx1MDAyNm1hdGNoKSkpIHtcXG4gXFx0XFx0XFx0aWYgKG92c19pZGVudGlmaWVyX2lzX2tleShcXHUwMDI2Zmxvdy1cXHUwMDNlaWQpKVxcbiBcXHRcXHRcXHRcXHRmbG93ID0gb3ZzX2Zsb3dfdGJsX2xvb2t1cF9leGFjdChcXHUwMDI2ZHAtXFx1MDAzZXRhYmxlLFxcbkBAIC0xMTI3LDYgKzExMzUsMjAgQEAgc3RhdGljIGludCBvdnNfZmxvd19jbWRfbmV3KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXFxuIFxcdFxcdFxcdFxcdGdvdG8gZXJyX3VubG9ja19vdnM7XFxuIFxcdFxcdFxcdH1cXG4gXFx0XFx0fVxcbitcXHRcXHRpZiAodW5saWtlbHkocmVwbHkgXFx1MDAyNlxcdTAwMjZcXG4rXFx0XFx0XFx0ICAgICBvdnNfZmxvd19pZF9taXNtYXRjaChcXHUwMDI2bmV3X2Zsb3ctXFx1MDAzZWlkLCBcXHUwMDI2Zmxvdy1cXHUwMDNlaWQpKSkge1xcbitcXHRcXHRcXHRzdHJ1Y3Qgc2tfYnVmZiAqbmV3X3JlcGx5O1xcbitcXG4rXFx0XFx0XFx0bmV3X3JlcGx5ID0gb3ZzX2Zsb3dfY21kX2FsbG9jX2luZm8oYWN0cywgXFx1MDAyNmZsb3ctXFx1MDAzZWlkLFxcbitcXHRcXHRcXHRcXHRcXHRcXHRcXHQgICAgaW5mbywgZmFsc2UsXFxuK1xcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICB1ZmlkX2ZsYWdzKTtcXG4rXFx0XFx0XFx0aWYgKElTX0VSUihuZXdfcmVwbHkpKSB7XFxuK1xcdFxcdFxcdFxcdGVycm9yID0gUFRSX0VSUihuZXdfcmVwbHkpO1xcbitcXHRcXHRcXHRcXHRnb3RvIGVycl91bmxvY2tfb3ZzO1xcbitcXHRcXHRcXHR9XFxuK1xcdFxcdFxcdGtmcmVlX3NrYihyZXBseSk7XFxuK1xcdFxcdFxcdHJlcGx5ID0gbmV3X3JlcGx5O1xcbitcXHRcXHR9XFxuIFxcdFxcdC8qIFVwZGF0ZSBhY3Rpb25zLiAqL1xcbiBcXHRcXHRvbGRfYWN0cyA9IG92c2xfZGVyZWZlcmVuY2UoZmxvdy1cXHUwMDNlc2ZfYWN0cyk7XFxuIFxcdFxcdHJjdV9hc3NpZ25fcG9pbnRlcihmbG93LVxcdTAwM2VzZl9hY3RzLCBhY3RzKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MDk6NTYuMjg5MjY2MjUzWiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MTQ1MTk5MjgxMTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiT1BFTlZTV0lUQ0hcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJvdnNfZmxvd19jbWRfbmV3XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE9wZW4gdlN3aXRjaCBuZXRsaW5rIGZsb3cgY3JlYXRpb24gbG9naWMgKGBvdnNfZmxvd19jbWRfbmV3YCkgdG8gaGFuZGxlIGZsb3cgSUQgbWlzbWF0Y2hlcyBkdXJpbmcgZmxvdyB1cGRhdGVzLiBJdCBhbGxvY2F0ZXMgYSBuZXcgcmVwbHkgc2tiIGlmIHRoZSBmbG93IElEIG1pc21hdGNoZXMuIFRoaXMgaXMgcmVhY2hhYmxlIGNvcmUgbmV0d29ya2luZyBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgM2EwODMzZDUxMTdjZTY2MDVlMmFiMzBiMDFiMDIwMDAwZjc1NzAzNFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDI5IDAwOjA5OjU0IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmMgYi9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY1xuaW5kZXggZWFmMzMyYjE1NmQ3My4uMTg3MzIzMzdlYTVkMSAxMDA2NDRcbi0tLSBhL25ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jXG4rKysgYi9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY1xuQEAgLTgwMCw2ICs4MDAsMTYgQEAgc3RhdGljIGJvb2wgc2hvdWxkX2ZpbGxfYWN0aW9ucyh1aW50MzJfdCB1ZmlkX2ZsYWdzKVxuIFx0cmV0dXJuICEodWZpZF9mbGFncyBcdTAwMjYgT1ZTX1VGSURfRl9PTUlUX0FDVElPTlMpO1xuIH1cbiBcbitzdGF0aWMgYm9vbCBvdnNfZmxvd19pZF9taXNtYXRjaChjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqYSxcbitcdFx0XHRcdCBjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqYilcbit7XG4rXHRpZiAoYS1cdTAwM2V1ZmlkX2xlbiAhPSBiLVx1MDAzZXVmaWRfbGVuKVxuK1x0XHRyZXR1cm4gdHJ1ZTtcbitcbitcdHJldHVybiBvdnNfaWRlbnRpZmllcl9pc191ZmlkKGEpIFx1MDAyNlx1MDAyNlxuK1x0ICAgICAgICEhbWVtY21wKGEtXHUwMDNldWZpZCwgYi1cdTAwM2V1ZmlkLCBhLVx1MDAzZXVmaWRfbGVuKTtcbit9XG4rXG4gc3RhdGljIHNpemVfdCBvdnNfZmxvd19jbWRfbXNnX3NpemUoY29uc3Qgc3RydWN0IHN3X2Zsb3dfYWN0aW9ucyAqYWN0cyxcbiBcdFx0XHRcdCAgICBjb25zdCBzdHJ1Y3Qgc3dfZmxvd19pZCAqc2ZpZCxcbiBcdFx0XHRcdCAgICB1aW50MzJfdCB1ZmlkX2ZsYWdzKVxuQEAgLTExMTMsOSArMTEyMyw3IEBAIHN0YXRpYyBpbnQgb3ZzX2Zsb3dfY21kX25ldyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuIFx0XHRcdGVycm9yID0gLUVFWElTVDtcbiBcdFx0XHRnb3RvIGVycl91bmxvY2tfb3ZzO1xuIFx0XHR9XG4tXHRcdC8qIFRoZSBmbG93IGlkZW50aWZpZXIgaGFzIHRvIGJlIHRoZSBzYW1lIGZvciBmbG93IHVwZGF0ZXMuXG4tXHRcdCAqIExvb2sgZm9yIGFueSBvdmVybGFwcGluZyBmbG93LlxuLVx0XHQgKi9cbitcdFx0LyogTG9vayBmb3IgYW55IG92ZXJsYXBwaW5nIGZsb3cuICovXG4gXHRcdGlmICh1bmxpa2VseSghb3ZzX2Zsb3dfY21wKGZsb3csIFx1MDAyNm1hdGNoKSkpIHtcbiBcdFx0XHRpZiAob3ZzX2lkZW50aWZpZXJfaXNfa2V5KFx1MDAyNmZsb3ctXHUwMDNlaWQpKVxuIFx0XHRcdFx0ZmxvdyA9IG92c19mbG93X3RibF9sb29rdXBfZXhhY3QoXHUwMDI2ZHAtXHUwMDNldGFibGUsXG5AQCAtMTEyNyw2ICsxMTM1LDIwIEBAIHN0YXRpYyBpbnQgb3ZzX2Zsb3dfY21kX25ldyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuIFx0XHRcdFx0Z290byBlcnJfdW5sb2NrX292cztcbiBcdFx0XHR9XG4gXHRcdH1cbitcdFx0aWYgKHVubGlrZWx5KHJlcGx5IFx1MDAyNlx1MDAyNlxuK1x0XHRcdCAgICAgb3ZzX2Zsb3dfaWRfbWlzbWF0Y2goXHUwMDI2bmV3X2Zsb3ctXHUwMDNlaWQsIFx1MDAyNmZsb3ctXHUwMDNlaWQpKSkge1xuK1x0XHRcdHN0cnVjdCBza19idWZmICpuZXdfcmVwbHk7XG4rXG4rXHRcdFx0bmV3X3JlcGx5ID0gb3ZzX2Zsb3dfY21kX2FsbG9jX2luZm8oYWN0cywgXHUwMDI2Zmxvdy1cdTAwM2VpZCxcbitcdFx0XHRcdFx0XHRcdCAgICBpbmZvLCBmYWxzZSxcbitcdFx0XHRcdFx0XHRcdCAgICB1ZmlkX2ZsYWdzKTtcbitcdFx0XHRpZiAoSVNfRVJSKG5ld19yZXBseSkpIHtcbitcdFx0XHRcdGVycm9yID0gUFRSX0VSUihuZXdfcmVwbHkpO1xuK1x0XHRcdFx0Z290byBlcnJfdW5sb2NrX292cztcbitcdFx0XHR9XG4rXHRcdFx0a2ZyZWVfc2tiKHJlcGx5KTtcbitcdFx0XHRyZXBseSA9IG5ld19yZXBseTtcbitcdFx0fVxuIFx0XHQvKiBVcGRhdGUgYWN0aW9ucy4gKi9cbiBcdFx0b2xkX2FjdHMgPSBvdnNsX2RlcmVmZXJlbmNlKGZsb3ctXHUwMDNlc2ZfYWN0cyk7XG4gXHRcdHJjdV9hc3NpZ25fcG9pbnRlcihmbG93LVx1MDAzZXNmX2FjdHMsIGFjdHMpO1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MDk6NTYuMjg5MjY4NDgzWiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzgzMTgzODY5MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBOZXcgT3BlbiB2U3dpdGNoIFBhdGNoKipcblxuT2theSwgc28gSSd2ZSBnb3QgdGhpcyBwYXRjaCBoZXJlIHRoYXQncyBwb2tpbmcgYXJvdW5kIGluIGBuZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY2AuIExvb2tzIGxpa2UgaXQncyBpbnRyb2R1Y2luZyBhIGZ1bmN0aW9uLCBgb3ZzX2Zsb3dfaWRfbWlzbWF0Y2hgLCBhbmQgdGhlbiAqdXNpbmcqIGl0IHdpdGhpbiBgb3ZzX2Zsb3dfY21kX25ld2AuIFJpZ2h0LCBzbyB0aGlzIGBvdnNfZmxvd19pZF9taXNtYXRjaGAgZnVuY3Rpb24gaXMgc29tZSBraW5kIG9mIGNoZWNrLCBwcm9iYWJseSBhZ2FpbnN0IGEgZmxvdyBJRCwgYW5kIGlmIHRoZXJlJ3MgYSBwcm9ibGVtLCB0aGVuIGBvdnNfZmxvd19jbWRfbmV3YCBhbGxvY2F0ZXMgYSBuZXcgcmVwbHkgc2tiIHVzaW5nIGBvdnNfZmxvd19jbWRfYWxsb2NfaW5mb2AuXG5cbkxldCdzIGRpdmUgaW50byBgb3ZzX2Zsb3dfY21kX25ld2AgaXRzZWxmIGluIGBuZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY2AuIFRoaXMgaXMgZGVmaW5pdGVseSBhIG5ldGxpbmsgY29tbWFuZCBoYW5kbGVyIHdpdGhpbiBPcGVuIHZTd2l0Y2gsIHdoaWNoIG1lYW5zIGl0J3MgcmVhY2hhYmxlIGFuZCB0aHVzIGRlZmluaXRlbHkgd29ydGggY29uc2lkZXJpbmcgZm9yIGZ1enppbmcuIEknbGwgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSByaWdodCBpbnB1dHMgYW5kIHN1Y2ggZm9yIGl0LlxuXG5Ob3csIEknbGwgbmVlZCB0byBmaW5kIHdoZXJlIHRoZSBjb25maWcgZm9yIG9wZW52c3dpdGNoIGlzLiBBaGEhIGBDT05GSUdfT1BFTlZTV0lUQ0hgLiBUaGF0J3MgdGhlIGtleS4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGtub3cgd2hhdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBzbyBJIGNhbiBiZXR0ZXIgdW5kZXJzdGFuZCB0aGlzIHRoaW5nLiBMZXQncyBjaGVjayBgbmV0L29wZW52c3dpdGNoL0tjb25maWdgLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTk1LCJPdXRwdXRUb2tlbnMiOjMzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTY5LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MTA6MDAuMTIxMTEyNTI2WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE0NDc3Mzc3OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgT1BFTlZTV0lUQ0hcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L29wZW52c3dpdGNoL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L29wZW52c3dpdGNoL0tjb25maWctNS1cXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo2OmNvbmZpZyBPUEVOVlNXSVRDSFxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTctXFx0dHJpc3RhdGUgXFxcIk9wZW4gdlN3aXRjaFxcXCJcXG4tLVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTQzLVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjQ0OmNvbmZpZyBPUEVOVlNXSVRDSF9HUkVcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy00NS1cXHR0cmlzdGF0ZSBcXFwiT3BlbiB2U3dpdGNoIEdSRSB0dW5uZWxpbmcgc3VwcG9ydFxcXCJcXG4tLVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTU2LVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjU3OmNvbmZpZyBPUEVOVlNXSVRDSF9WWExBTlxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTU4LVxcdHRyaXN0YXRlIFxcXCJPcGVuIHZTd2l0Y2ggVlhMQU4gdHVubmVsaW5nIHN1cHBvcnRcXFwiXFxuLS1cXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy02OC1cXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo2OTpjb25maWcgT1BFTlZTV0lUQ0hfR0VORVZFXFxubmV0L29wZW52c3dpdGNoL0tjb25maWctNzAtXFx0dHJpc3RhdGUgXFxcIk9wZW4gdlN3aXRjaCBHZW5ldmUgdHVubmVsaW5nIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI5VDAwOjEwOjAwLjI2NTg5NDgyM1oiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMyNjA1MDQ1NTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGxldCdzIGRpdmUgaW50byB0aGlzLiBIZXJlJ3MgaG93IEknbSB0aGlua2luZyBhYm91dCB0aGlzIGNvZGU6XG5cbioqQW5hbHl6aW5nIHRoZSBPcGVuIHZTd2l0Y2ggQ29uZmlndXJhdGlvbioqXG5cblJpZ2h0LCB0aGUgY29uZmlndXJhdGlvbiB3ZSdyZSBkZWFsaW5nIHdpdGggaXMgc2V0IHRvIGBPUEVOVlNXSVRDSGAuIFRoYXQncyB0aGUgYmFzZWxpbmUsIG5vdyBsZXQncyBnZXQgaW50byB0aGUgZGV0YWlscy4gTXkgZm9jdXMgbmVlZHMgdG8gYmUgb24gaG93IGZsb3dzIGFyZSBiZWluZyBoYW5kbGVkLCB3aGljaCBtZWFucyBJIHNob3VsZCByZWFsbHkgYmUgbG9va2luZyBhdCB0aGUgZnVuY3Rpb25zIGBvdnNfZmxvd19jbWRfbmV3YCBhbmQgYG92c19mbG93X2lkX21pc21hdGNoYC4gQnV0LCBhZnRlciBhIHF1aWNrIHNjYW4sIGl0IGxvb2tzIGxpa2UgYG92c19mbG93X2NtZF9uZXdgIGlzIHRoZSBrZXkgZnVuY3Rpb24gdG8gcmVhbGx5IGRpc3NlY3QgaGVyZS4gSXQgcHJvYmFibHkgaG9sZHMgdGhlIGNvcmUgbG9naWMgZm9yIGZsb3cgY3JlYXRpb24sIHNvIHRoYXQncyB3aGVyZSBJIG5lZWQgdG8gc3RhcnQuXG5cbkkgc2hvdWxkIGFsc28gbWFrZSBzdXJlIHRvIGtlZXAgYSBtZW50YWwgbm90ZSB0byBjaGVjayBpZiB0aGVyZSBhcmUgYW55IG90aGVyIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBJIG5lZWQgdG8gY29uc2lkZXIsIGluIGFkZGl0aW9uIHRvIHRoZSBgT1BFTlZTV0lUQ0hgIHNldHRpbmcuIFRoaXMgaXMgYSBnb29kIHN0YXJ0aW5nIHBvaW50LCBidXQgSSBuZWVkIHRvIGJlIHRob3JvdWdoIGFuZCBub3QgbWlzcyBhbnkgc3VidGxlLCBpbXBvcnRhbnQgcGllY2VzIG9mIHRoZSBwdXp6bGUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMzMjcsIk91dHB1dFRva2VucyI6MzAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yOVQwMDoxMDowMy41MjY0MDI1NTZaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTQ5MjY3MTg3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImRlcGVuZHMgb25cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L29wZW52c3dpdGNoL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L29wZW52c3dpdGNoL0tjb25maWc9Nj1jb25maWcgT1BFTlZTV0lUQ0hcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy03LVxcdHRyaXN0YXRlIFxcXCJPcGVuIHZTd2l0Y2hcXFwiXFxubmV0L29wZW52c3dpdGNoL0tjb25maWc6ODpcXHRkZXBlbmRzIG9uIElORVRcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo5OlxcdGRlcGVuZHMgb24gIU5GX0NPTk5UUkFDSyB8fCBcXFxcXFxubmV0L29wZW52c3dpdGNoL0tjb25maWctMTAtXFx0XFx0ICAgKE5GX0NPTk5UUkFDSyBcXHUwMDI2XFx1MDAyNiAoKCFORl9ERUZSQUdfSVBWNiB8fCBORl9ERUZSQUdfSVBWNikgXFx1MDAyNlxcdTAwMjYgXFxcXFxcbi0tXFxubmV0L29wZW52c3dpdGNoL0tjb25maWctMTItXFx0XFx0XFx0XFx0ICAgICAoIU5FVEZJTFRFUl9DT05OQ09VTlQgfHwgTkVURklMVEVSX0NPTk5DT1VOVCkpKVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjEzOlxcdGRlcGVuZHMgb24gUFNBTVBMRSB8fCAhUFNBTVBMRVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTE0LVxcdHNlbGVjdCBNUExTXFxuLS1cXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZz00ND1jb25maWcgT1BFTlZTV0lUQ0hfR1JFXFxubmV0L29wZW52c3dpdGNoL0tjb25maWctNDUtXFx0dHJpc3RhdGUgXFxcIk9wZW4gdlN3aXRjaCBHUkUgdHVubmVsaW5nIHN1cHBvcnRcXFwiXFxubmV0L29wZW52c3dpdGNoL0tjb25maWc6NDY6XFx0ZGVwZW5kcyBvbiBPUEVOVlNXSVRDSFxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnOjQ3OlxcdGRlcGVuZHMgb24gTkVUX0lQR1JFXFxubmV0L29wZW52c3dpdGNoL0tjb25maWctNDgtXFx0ZGVmYXVsdCBPUEVOVlNXSVRDSFxcbi0tXFxubmV0L29wZW52c3dpdGNoL0tjb25maWc9NTc9Y29uZmlnIE9QRU5WU1dJVENIX1ZYTEFOXFxubmV0L29wZW52c3dpdGNoL0tjb25maWctNTgtXFx0dHJpc3RhdGUgXFxcIk9wZW4gdlN3aXRjaCBWWExBTiB0dW5uZWxpbmcgc3VwcG9ydFxcXCJcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo1OTpcXHRkZXBlbmRzIG9uIE9QRU5WU1dJVENIXFxubmV0L29wZW52c3dpdGNoL0tjb25maWc6NjA6XFx0ZGVwZW5kcyBvbiBWWExBTlxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnLTYxLVxcdGRlZmF1bHQgT1BFTlZTV0lUQ0hcXG4tLVxcbm5ldC9vcGVudnN3aXRjaC9LY29uZmlnPTY5PWNvbmZpZyBPUEVOVlNXSVRDSF9HRU5FVkVcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy03MC1cXHR0cmlzdGF0ZSBcXFwiT3BlbiB2U3dpdGNoIEdlbmV2ZSB0dW5uZWxpbmcgc3VwcG9ydFxcXCJcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZzo3MTpcXHRkZXBlbmRzIG9uIE9QRU5WU1dJVENIXFxubmV0L29wZW52c3dpdGNoL0tjb25maWc6NzI6XFx0ZGVwZW5kcyBvbiBHRU5FVkVcXG5uZXQvb3BlbnZzd2l0Y2gvS2NvbmZpZy03My1cXHRkZWZhdWx0IE9QRU5WU1dJVENIXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI5VDAwOjEwOjAzLjY3NTY3Njc2M1oiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI3NzE2NzQ2OTIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIG15IG93bjpcblxuKipEZXBlbmRlbmNpZXMgYW5kIENvZGUgRGl2aW5nKipcblxuQWxyaWdodCwgc28gYE9QRU5WU1dJVENIYCdzIGdvdCBhIGRlcGVuZGVuY3kgb24gYElORVRgLCB3aGljaCBtYWtlcyBwZXJmZWN0IHNlbnNlLiBUaGVyZWZvcmUsIGdldHRpbmcgYE9QRU5WU1dJVENIYCByaWdodCBpcyB0aGUgaW1tZWRpYXRlIHByaW9yaXR5LiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBhIHNwZWNpZmljIGZ1bmN0aW9uIHdpdGhpbiBgT1BFTlZTV0lUQ0hgLiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgb24gdGhlIGBvdnNfZmxvd19jbWRfbmV3YCBmdW5jdGlvbi4gSSdsbCBuZWVkIHRvIGdvIGxvb2sgYXQgYG5ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jYC4gVGhhdCdzIHdoZXJlIEkgbmVlZCB0byBiZS4gTGV0J3Mgc2VlIHdoYXQgdGhpcyB0aGluZyBpcyBkb2luZy5cblxuXG4iLCJJbnB1dFRva2VucyI6NDE2NSwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI5VDAwOjEwOjA2LjQ0NzM1NzUyNFoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNzQ4OTE1MzYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwib3ZzX2Zsb3dfY21kX25ld1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYz05ODU9c3RhdGljIHN0cnVjdCBza19idWZmICpvdnNfZmxvd19jbWRfYnVpbGRfaW5mbyhjb25zdCBzdHJ1Y3Qgc3dfZmxvdyAqZmxvdyxcXG4tLVxcbm5ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jLTEwMDctXFxubmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmM6MTAwODpzdGF0aWMgaW50IG92c19mbG93X2NtZF9uZXcoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG5uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYy0xMDA5LXtcXG4tLVxcbm5ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jPTE1NjU9c3RhdGljIGNvbnN0IHN0cnVjdCBnZW5sX3NtYWxsX29wcyBkcF9mbG93X2dlbmxfb3BzW10gPSB7XFxuLS1cXG5uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYy0xNTY4LVxcdCAgLmZsYWdzID0gR0VOTF9VTlNfQURNSU5fUEVSTSwgLyogUmVxdWlyZXMgQ0FQX05FVF9BRE1JTiBwcml2aWxlZ2UuICovXFxubmV0L29wZW52c3dpdGNoL2RhdGFwYXRoLmM6MTU2OTpcXHQgIC5kb2l0ID0gb3ZzX2Zsb3dfY21kX25ld1xcbm5ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jLTE1NzAtXFx0fSxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MTA6MDYuNjIyMjU5MTIxWiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzk5NTUyNjU3MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIHRoZSBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgY2xlYXJseSBmb2N1c2VkIG9uIGBvdnNfZmxvd19jbWRfbmV3YCwgdGhlIG5ldGxpbmsgY29tbWFuZCBoYW5kbGVyIHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyBuZXcgT3BlbiB2U3dpdGNoIGZsb3dzLCBzcGVjaWZpY2FsbHkgYWRkcmVzc2luZyBgT1ZTX0ZMT1dfQ01EX05FV2AuIFRoZSBjaGFuZ2UgaW50cm9kdWNlcyBgb3ZzX2Zsb3dfaWRfbWlzbWF0Y2hgLCB3aGljaCBzdWdnZXN0cyBhIHNjZW5hcmlvIHdoZXJlIGZsb3cgSURzIGRvbid0IGFsaWduIGR1cmluZyB1cGRhdGVzLiBUaGlzIGxvb2tzIGxpa2UgYSBwb3RlbnRpYWxseSBpbXBvcnRhbnQgbW9kaWZpY2F0aW9uIHRvIHRoZSBmbG93IHVwZGF0ZSBwcm9jZXNzLlxuXG5Gcm9tIGEgZnVuY3Rpb25hbGl0eSBzdGFuZHBvaW50LCB0aGlzIGlzIGRlZmluaXRlbHkgc29tZXRoaW5nIHRoYXQgbWVyaXRzIGNsb3NlIHNjcnV0aW55IGFuZCB0ZXN0aW5nLiBJdCB0b3VjaGVzIGNvcmUgbmV0d29ya2luZyBsb2dpYyDigJMgdGhlIGhlYXJ0IG9mIGZsb3cgaGFuZGxpbmcuIFRoZSBmYWN0IHRoYXQgaXQgcmVhbGxvY2F0ZXMgYSByZXBseSBza2Igd2hlbiB0aGVyZeKAmXMgYW4gSUQgbWlzbWF0Y2ggbWFrZXMgaXQgYSBwcmltZSBjYW5kaWRhdGUgZm9yIGZ1enppbmcuIEkgbmVlZCB0byBkaWcgZGVlcGVyIGludG8gdGhlIHBvdGVudGlhbCBjb25zZXF1ZW5jZXMgb2YgdGhpcyBiZWhhdmlvci4gSSBzZWUgdGhlIG1haW4gZm9jdXMgaXMgYXJvdW5kIHRoZSBgT1BFTlZTV0lUQ0hgIGNvbmZpZ3VyYXRpb24sIHdoaWNoIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgYXJlYSBvZiB0aGUgY29kZSB0aGF0IGl0IHRvdWNoZXMuXG5cbkknbSByZWFkeSB0byBzZXQtcmVzdWx0cy5cblxuXG4iLCJJbnB1dFRva2VucyI6NDY1MywiT3V0cHV0VG9rZW5zIjoxMDYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjMsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMDA6MTA6MTAuNjE3Nzg4NTQxWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTkxMzk3ODg3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJPUEVOVlNXSVRDSFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm92c19mbG93X2NtZF9uZXdcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgT3BlbiB2U3dpdGNoIG5ldGxpbmsgZmxvdyBjcmVhdGlvbiBsb2dpYyAoYG92c19mbG93X2NtZF9uZXdgKSB0byBoYW5kbGUgZmxvdyBJRCBtaXNtYXRjaGVzIGR1cmluZyBmbG93IHVwZGF0ZXMuIEl0IGFsbG9jYXRlcyBhIG5ldyByZXBseSBza2IgaWYgdGhlIGZsb3cgSUQgbWlzbWF0Y2hlcy4gVGhpcyBpcyByZWFjaGFibGUgY29yZSBuZXR3b3JraW5nIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk9QRU5WU1dJVENIXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwib3ZzX2Zsb3dfY21kX25ld1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBPcGVuIHZTd2l0Y2ggbmV0bGluayBmbG93IGNyZWF0aW9uIGxvZ2ljIChgb3ZzX2Zsb3dfY21kX25ld2ApIHRvIGhhbmRsZSBmbG93IElEIG1pc21hdGNoZXMgZHVyaW5nIGZsb3cgdXBkYXRlcy4gSXQgYWxsb2NhdGVzIGEgbmV3IHJlcGx5IHNrYiBpZiB0aGUgZmxvdyBJRCBtaXNtYXRjaGVzLiBUaGlzIGlzIHJlYWNoYWJsZSBjb3JlIG5ldHdvcmtpbmcgbG9naWMgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflownxslw[1] Phase: Succeeded StartedAt: 2026-07-29 00:10:24 +0000 UTC FinishedAt: 2026-07-29 00:10:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-29 00:10:24 +0000 UTC FinishedAt: 2026-07-29 00:10:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2] Phase: Succeeded StartedAt: 2026-07-29 00:10:24 +0000 UTC FinishedAt: 2026-07-29 04:04:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-29 00:10:25 +0000 UTC FinishedAt: 2026-07-29 04:04:18 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-29 00:10:25 +0000 UTC FinishedAt: 2026-07-29 00:10:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-29 00:10:25 +0000 UTC FinishedAt: 2026-07-29 00:10:30 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},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-workflownxslw/series-workflownxslw-convert-artifact-1949523539/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-29 00:10:35 +0000 UTC FinishedAt: 2026-07-29 00:33:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-29 00:10:35 +0000 UTC FinishedAt: 2026-07-29 00:33:03 +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:*8ddd84ba-e2cc-4eaf-970b-cae43ae1ccad,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-workflownxslw/series-workflownxslw-convert-artifact-1949523539/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": "3ad0ab82-80f6-414a-aa97-bcee3b87393a", "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-workflownxslw/series-workflownxslw-build-action-1143120257/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-29 00:10:35 +0000 UTC FinishedAt: 2026-07-29 00:32:53 +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:*8ddd84ba-e2cc-4eaf-970b-cae43ae1ccad,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-workflownxslw/series-workflownxslw-convert-artifact-1949523539/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": "3ad0ab82-80f6-414a-aa97-bcee3b87393a", "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-workflownxslw/series-workflownxslw-build-action-1143120257/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-29 00:33:03 +0000 UTC FinishedAt: 2026-07-29 00:33:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-29 00:33:03 +0000 UTC FinishedAt: 2026-07-29 00:33:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-29 00:33:03 +0000 UTC FinishedAt: 2026-07-29 00:33:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-29 00:33:03 +0000 UTC FinishedAt: 2026-07-29 00:33:08 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},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-workflownxslw/series-workflownxslw-convert-artifact-3845760586/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-29 00:33:13 +0000 UTC FinishedAt: 2026-07-29 00:35:21 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-29 00:33:13 +0000 UTC FinishedAt: 2026-07-29 00:35:11 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*3ad0ab82-80f6-414a-aa97-bcee3b87393a,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-workflownxslw/series-workflownxslw-build-action-1143120257/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-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-29 00:35:21 +0000 UTC FinishedAt: 2026-07-29 00:35:21 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-29 00:35:21 +0000 UTC FinishedAt: 2026-07-29 00:35:21 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-29 00:35:21 +0000 UTC FinishedAt: 2026-07-29 00:59:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-29 00:35:21 +0000 UTC FinishedAt: 2026-07-29 00:59:19 +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:*8ddd84ba-e2cc-4eaf-970b-cae43ae1ccad,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-workflownxslw/series-workflownxslw-convert-artifact-3845760586/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": "291bb4c9-958b-4a91-bcd2-85f87cde39ad", "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-workflownxslw/series-workflownxslw-build-action-378669678/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-29 00:35:21 +0000 UTC FinishedAt: 2026-07-29 00:59:09 +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:*8ddd84ba-e2cc-4eaf-970b-cae43ae1ccad,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-workflownxslw/series-workflownxslw-convert-artifact-3845760586/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": "291bb4c9-958b-4a91-bcd2-85f87cde39ad", "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-workflownxslw/series-workflownxslw-build-action-378669678/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-29 00:59:19 +0000 UTC FinishedAt: 2026-07-29 00:59:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-29 00:59:19 +0000 UTC FinishedAt: 2026-07-29 00:59:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-29 00:59:19 +0000 UTC FinishedAt: 2026-07-29 01:01:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-29 00:59:19 +0000 UTC FinishedAt: 2026-07-29 01:01:15 +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:*291bb4c9-958b-4a91-bcd2-85f87cde39ad,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-workflownxslw/series-workflownxslw-build-action-378669678/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-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-29 01:01:24 +0000 UTC FinishedAt: 2026-07-29 04:04:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-29 01:01:24 +0000 UTC FinishedAt: 2026-07-29 04:04:18 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"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:*3ad0ab82-80f6-414a-aa97-bcee3b87393a,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*291bb4c9-958b-4a91-bcd2-85f87cde39ad,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-workflownxslw/series-workflownxslw-build-action-1143120257/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-workflownxslw/series-workflownxslw-build-action-378669678/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-29 01:01:24 +0000 UTC FinishedAt: 2026-07-29 01:01:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-29 01:01:24 +0000 UTC FinishedAt: 2026-07-29 01:01:29 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"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-workflownxslw/series-workflownxslw-convert-artifact-1115868639/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-29 01:01:24 +0000 UTC FinishedAt: 2026-07-29 01:01:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-29 01:01:24 +0000 UTC FinishedAt: 2026-07-29 01:01:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-29 01:01:24 +0000 UTC FinishedAt: 2026-07-29 01:01:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-29 01:01:34 +0000 UTC FinishedAt: 2026-07-29 04:04:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflownxslw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["ovs_flow_cmd_new"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"e095f249e2209674f6366f6db0383a2b96e19239","config_name":"upstream-apparmor-kasan.config","enable_configs":["OPENVSWITCH"],"series_id":"7470f562-629c-4615-82bf-db8f437a8f03","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-29 01:01:34 +0000 UTC FinishedAt: 2026-07-29 04:04:08 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*3ad0ab82-80f6-414a-aa97-bcee3b87393a,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*291bb4c9-958b-4a91-bcd2-85f87cde39ad,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-workflownxslw/series-workflownxslw-build-action-1143120257/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-workflownxslw/series-workflownxslw-build-action-378669678/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-workflownxslw/series-workflownxslw-convert-artifact-1115868639/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,}