Name: series-workflowdzxdf Phase: Succeeded StartedAt: 2026-08-01 00:52:36 +0000 UTC FinishedAt: 2026-08-01 05:00:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[0] Phase: Succeeded StartedAt: 2026-08-01 00:52:36 +0000 UTC FinishedAt: 2026-08-01 01:08:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[0].run-triage Phase: Succeeded StartedAt: 2026-08-01 00:52:36 +0000 UTC FinishedAt: 2026-08-01 01:08:20 +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": "2195424c3da2ef1829a63b807e3a900a90e57d85", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "XFRM_USER" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "2195424c3da2ef1829a63b807e3a900a90e57d85", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "XFRM_USER" ], "series_id": "8c8ce303-b82f-48ed-b7a4-e6cf320dabe0" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "__xfrm_state_delete", "xfrm_state_delete" ], "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+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1hGUk1fVVNFUiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O19feGZybV9zdGF0ZV9kZWxldGUmIzM0OywKICAgICYjMzQ7eGZybV9zdGF0ZV9kZWxldGUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgZG91YmxlLWRlbGV0ZSBpc3N1ZSBpbiBgX194ZnJtX3N0YXRlX2RlbGV0ZWAgYnkgcmVwbGFjaW5nIGBobGlzdF9kZWxfcmN1YCB3aXRoIGBobGlzdF9kZWxfaW5pdF9yY3VgIGZvciBgc3RhdGVfY2FjaGVgIGFuZCBgc3RhdGVfY2FjaGVfaW5wdXRgLiBUaGlzIGVuc3VyZXMgdGhhdCBgaGxpc3RfdW5oYXNoZWRgIHJldHVybnMgdHJ1ZSBvbiBzdWJzZXF1ZW50IGNhbGxzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgWEZSTSBzdGF0ZSBtYW5hZ2VtZW50IGxvZ2ljLCByZWFjaGFibGUgZnJvbSB1c2VyIHNwYWNlIHZpYSBuZXRsaW5rLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgZTQxNWY2Y2ZhOWY3ZGU3YTkxOTdkZjJkMmVjZTA5Y2M5MGFkNDIyYVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgQXVnIDEgMDE6MDc6MzkgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L3hmcm0veGZybV9zdGF0ZS5jIGIvbmV0L3hmcm0veGZybV9zdGF0ZS5jXG5pbmRleCAzNmE0ZjY3OTNlZGVmLi5mNDk0YzFhYzU3YTQwIDEwMDY0NFxuLS0tIGEvbmV0L3hmcm0veGZybV9zdGF0ZS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQveGZybS94ZnJtX3N0YXRlLmNcbkBAIC04MjMsOSAmIzQzOzgyMyw5IEBAIGludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxuIFx0XHRpZiAoIWhsaXN0X3VuaGFzaGVkKFx1MDAyNngtXHUwMDNlYnlzZXEpKVxuIFx0XHRcdGhsaXN0X2RlbF9pbml0X3JjdShcdTAwMjZ4LVx1MDAzZWJ5c2VxKTtcbiBcdFx0aWYgKCFobGlzdF91bmhhc2hlZChcdTAwMjZ4LVx1MDAzZXN0YXRlX2NhY2hlKSlcbi1cdFx0XHRobGlzdF9kZWxfcmN1KFx1MDAyNngtXHUwMDNlc3RhdGVfY2FjaGUpO1xuJiM0MztcdFx0XHRobGlzdF9kZWxfaW5pdF9yY3UoXHUwMDI2eC1cdTAwM2VzdGF0ZV9jYWNoZSk7XG4gXHRcdGlmICghaGxpc3RfdW5oYXNoZWQoXHUwMDI2eC1cdTAwM2VzdGF0ZV9jYWNoZV9pbnB1dCkpXG4tXHRcdFx0aGxpc3RfZGVsX3JjdShcdTAwMjZ4LVx1MDAzZXN0YXRlX2NhY2hlX2lucHV0KTtcbiYjNDM7XHRcdFx0aGxpc3RfZGVsX2luaXRfcmN1KFx1MDAyNngtXHUwMDNlc3RhdGVfY2FjaGVfaW5wdXQpO1xuIFxuIFx0XHRpZiAoIWhsaXN0X3VuaGFzaGVkKFx1MDAyNngtXHUwMDNlYnlzcGkpKVxuIFx0XHRcdGhsaXN0X2RlbF9pbml0X3JjdShcdTAwMjZ4LVx1MDAzZWJ5c3BpKTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMSAwMTowNzwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7WEZSTV9VU0VSJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7X194ZnJtX3N0YXRlX2RlbGV0ZSYjMzQ7LAogICAgJiMzNDt4ZnJtX3N0YXRlX2RlbGV0ZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZSBvciBkb3VibGUtZGVsZXRlIGlzc3VlIGluIGBfX3hmcm1fc3RhdGVfZGVsZXRlYCBieSByZXBsYWNpbmcgYGhsaXN0X2RlbF9yY3VgIHdpdGggYGhsaXN0X2RlbF9pbml0X3JjdWAgZm9yIGBzdGF0ZV9jYWNoZWAgYW5kIGBzdGF0ZV9jYWNoZV9pbnB1dGAuIFRoaXMgZW5zdXJlcyB0aGF0IGBobGlzdF91bmhhc2hlZGAgcmV0dXJucyB0cnVlIG9uIHN1YnNlcXVlbnQgY2FsbHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBYRlJNIHN0YXRlIG1hbmFnZW1lbnQgbG9naWMsIHJlYWNoYWJsZSBmcm9tIHVzZXIgc3BhY2UgdmlhIG5ldGxpbmsuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBlNDE1ZjZjZmE5ZjdkZTdhOTE5N2RmMmQyZWNlMDljYzkwYWQ0MjJhCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFNhdCBBdWcgMSAwMTowNzozOSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL25ldC94ZnJtL3hmcm1fc3RhdGUuYyBiL25ldC94ZnJtL3hmcm1fc3RhdGUuYwppbmRleCAzNmE0ZjY3OTNlZGVmLi5mNDk0YzFhYzU3YTQwIDEwMDY0NAotLS0gYS9uZXQveGZybS94ZnJtX3N0YXRlLmMKJiM0MzsmIzQzOyYjNDM7IGIvbmV0L3hmcm0veGZybV9zdGF0ZS5jCkBAIC04MjMsOSAmIzQzOzgyMyw5IEBAIGludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KQogCQlpZiAoIWhsaXN0X3VuaGFzaGVkKCZhbXA7eC0mZ3Q7YnlzZXEpKQogCQkJaGxpc3RfZGVsX2luaXRfcmN1KCZhbXA7eC0mZ3Q7YnlzZXEpOwogCQlpZiAoIWhsaXN0X3VuaGFzaGVkKCZhbXA7eC0mZ3Q7c3RhdGVfY2FjaGUpKQotCQkJaGxpc3RfZGVsX3JjdSgmYW1wO3gtJmd0O3N0YXRlX2NhY2hlKTsKJiM0MzsJCQlobGlzdF9kZWxfaW5pdF9yY3UoJmFtcDt4LSZndDtzdGF0ZV9jYWNoZSk7CiAJCWlmICghaGxpc3RfdW5oYXNoZWQoJmFtcDt4LSZndDtzdGF0ZV9jYWNoZV9pbnB1dCkpCi0JCQlobGlzdF9kZWxfcmN1KCZhbXA7eC0mZ3Q7c3RhdGVfY2FjaGVfaW5wdXQpOwomIzQzOwkJCWhsaXN0X2RlbF9pbml0X3JjdSgmYW1wO3gtJmd0O3N0YXRlX2NhY2hlX2lucHV0KTsKIAogCQlpZiAoIWhsaXN0X3VuaGFzaGVkKCZhbXA7eC0mZ3Q7YnlzcGkpKQogCQkJaGxpc3RfZGVsX2luaXRfcmN1KCZhbXA7eC0mZ3Q7YnlzcGkpOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMSAwMTowNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMTQ5CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogODUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgYW5hbHlzaXMgb2YgdGhlIGNvZGUgY2hhbmdlOgoKKipBbmFseXppbmcgdGhlIHhmcm1fc3RhdGUuYyBQYXRjaCoqCgpPa2F5LCBzbyB3ZSYjMzk7dmUgZ290IGEgcGF0Y2ggdGhhdCYjMzk7cyB0d2Vha2luZyBgbmV0L3hmcm0veGZybV9zdGF0ZS5jYC4gSXQgbG9va3MgbGlrZSB0aGUgY29yZSBjaGFuZ2UgaW52b2x2ZXMgc3dpdGNoaW5nIGZyb20gYGhsaXN0X2RlbF9yY3VgIHRvIGBobGlzdF9kZWxfaW5pdF9yY3VgIGZvciBgeC0mZ3Q7c3RhdGVfY2FjaGVgIGFuZCBgeC0mZ3Q7c3RhdGVfY2FjaGVfaW5wdXRgIHdpdGhpbiB0aGUgYF9feGZybV9zdGF0ZV9kZWxldGVgIGZ1bmN0aW9uLiBUaGF0JiMzOTtzIGltbWVkaWF0ZWx5IGludGVyZXN0aW5nLCBiZWNhdXNlIHRob3NlIGFyZSBwcmV0dHkgY3JpdGljYWwgZGF0YSBzdHJ1Y3R1cmVzIGZvciBYRlJNIHN0YXRlIG1hbmFnZW1lbnQuIFRoZSBmYWN0IHRoYXQgdGhleSYjMzk7cmUgdXNpbmcgYHJjdWAgaGludHMgYXQgY29uY3VycmVuY3kgY29uY2VybnMsIGFuZCByZXBsYWNpbmcgYGhsaXN0X2RlbF9yY3VgIHdpdGggYGhsaXN0X2RlbF9pbml0X3JjdWAgdGVsbHMgbWUgd2UgYXJlIGNvbmNlcm5lZCBhYm91dCB0aGUgc3RhdGUgb2YgdGhlIGxpc3QgYWZ0ZXIgcmVtb3ZhbC4KCk15IGltbWVkaWF0ZSB0aG91Z2h0IGlzIHRvIGRpZyBpbnRvIGBfX3hmcm1fc3RhdGVfZGVsZXRlYCBpdHNlbGYuIEkgbmVlZCB0byB1bmRlcnN0YW5kICp3aHkqIHRoaXMgY2hhbmdlIGlzIGhhcHBlbmluZy4gV2hhdCYjMzk7cyB0aGUgY29udGV4dD8gV2hhdCYjMzk7cyB0aGUgcG90ZW50aWFsIGltcGFjdD8gYGhsaXN0X2RlbF9pbml0X3JjdWAsIGluIGNvbnRyYXN0IHRvIGp1c3QgYGhsaXN0X2RlbF9yY3VgLCBpbml0aWFsaXplcyB0aGUgbGlzdCBoZWFkIGFmdGVyIHJlbW92YWwsIHdoaWNoIHN1Z2dlc3RzIGl0IG1pZ2h0IGJlIHRvIHByZXZlbnQgdXNlLWFmdGVyLWZyZWUsIG9yIHBlcmhhcHMgdG8gZWFzZSBmdXR1cmUgaXRlcmF0aW9ucyBvciBsb29rdXBzIG9mIHRoZSBsaXN0LiBXZSBuZWVkIHRvIHNlZSBpZiB0aGVyZSBhcmUgYW55IHN1YnRsZSByYWNlIGNvbmRpdGlvbnMgYWRkcmVzc2VkIGJ5IHRoaXMgY2hhbmdlLCBhbmQgd2hhdCB0aGUgc3Vic2VxdWVudCBjb2RlIG1pZ2h0IGJlIGRvaW5nIHdpdGggdGhlc2UgbGlzdCBoZWFkcy4gT2theSwgbGV0JiMzOTtzIHN0YXJ0IGJ5IGxvb2tpbmcgYXQgdGhhdCBmdW5jdGlvbiBkZWZpbml0aW9uLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O19feGZybV9zdGF0ZV9kZWxldGUmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQveGZybS94ZnJtX3N0YXRlLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L3hmcm0veGZybV9zdGF0ZS5jPTIyOD1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKHhmcm1fc3RhdGVfZGV2X2djX2xvY2spO1xubmV0L3hmcm0veGZybV9zdGF0ZS5jLTIyOS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzoyMzA6aW50IF9feGZybV9zdGF0ZV9kZWxldGUoc3RydWN0IHhmcm1fc3RhdGUgKngpO1xubmV0L3hmcm0veGZybV9zdGF0ZS5jLTIzMS1cbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9NjM5PXN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCB4ZnJtX3RpbWVyX2hhbmRsZXIoc3RydWN0IGhydGltZXIgKm1lKVxuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy03MTctXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6NzE4Olx0ZXJyID0gX194ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy03MTktXHRpZiAoIWVycilcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9ODA5PUVYUE9SVF9TWU1CT0woX194ZnJtX3N0YXRlX2Rlc3Ryb3kpO1xubmV0L3hmcm0veGZybV9zdGF0ZS5jLTgxMC1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4MTE6aW50IF9feGZybV9zdGF0ZV9kZWxldGUoc3RydWN0IHhmcm1fc3RhdGUgKngpXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODEyLXtcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODQ5LX1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4NTA6RVhQT1JUX1NZTUJPTChfX3hmcm1fc3RhdGVfZGVsZXRlKTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NTEtXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9ODUyPWludCB4ZnJtX3N0YXRlX2RlbGV0ZShzdHJ1Y3QgeGZybV9zdGF0ZSAqeClcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODU2LVx0c3Bpbl9sb2NrX2JoKFx1MDAyNngtXHUwMDNlbG9jayk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODU3Olx0ZXJyID0gX194ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NTgtXHRzcGluX3VubG9ja19iaChcdTAwMjZ4LVx1MDAzZWxvY2spO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxMDkKCQkJCQkJCW91dHB1dDogMzEKCQkJCQkJCXRob3VnaHRzOiAxMjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBQYXRjaDogWEZSTSBTdGF0ZSBEZWxldGlvbioqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHplcm9pbmcgaW4gb24gYSBjcml0aWNhbCBmdW5jdGlvbjogYF9feGZybV9zdGF0ZV9kZWxldGVgLiBJdCBsb29rcyBsaWtlIGl0JiMzOTtzIGFkZHJlc3NpbmcgYSBzdWJ0bGUgYnV0IHBvdGVudGlhbGx5IG5hc3R5IHByb2JsZW0gd2l0aCBob3cgd2UmIzM5O3JlIGN1cnJlbnRseSBoYW5kbGluZyB0aGUgcmVtb3ZhbCBvZiBYRlJNIHN0YXRlIGVudHJpZXMuIFRoZSBjb3JlIG9mIHRoZSBpc3N1ZSBzdGVtcyBmcm9tIGBobGlzdF9kZWxfcmN1YC4gSXQgc2VlbXMgdGhhdCB0aGUgd2F5IHdlJiMzOTt2ZSBiZWVuIHVzaW5nIGl0LCB0aGUgbm9kZSBpcyAqbm90KiBnZXR0aW5nIHByb3Blcmx5IGluaXRpYWxpemVkIGFmdGVyIGJlaW5nIHJlbW92ZWQuIFRoaXMgb3BlbnMgdGhlIGRvb3IgdG8gYGhsaXN0X3VuaGFzaGVkYCByZXR1cm5pbmcgYSBmYWxzZSBwb3NpdGl2ZSBpZiBjYWxsZWQgc3Vic2VxdWVudGx5LCBldmVuIGlmIGl0IGhhcyBiZWVuIGRlbGV0ZWQuCgpUaGF0IGlzIGEgcmVjaXBlIGZvciBkaXNhc3RlcjogZG91YmxlIGZyZWVzIG9yIHVzZS1hZnRlci1mcmVlIGNvbmRpdGlvbnMuIFdlIG5lZWQgdG8gYmUgZXNwZWNpYWxseSBjYXJlZnVsIHdpdGggdGhhdDsgaXQmIzM5O3MgYSBjcml0aWNhbCBhcmVhLgoKVGhlIGZpeCwgdGhhbmtmdWxseSwgaXMgc3RyYWlnaHRmb3J3YXJkOiBzd2l0Y2hpbmcgdG8gYGhsaXN0X2RlbF9pbml0X3JjdWAuIFRoaXMgZ3VhcmFudGVlcyBpbml0aWFsaXphdGlvbiBvZiB0aGUgbm9kZSwgd2hpY2ggc2hvdWxkIGZpeCB0aGUgcm9vdCBwcm9ibGVtIHdpdGggYGhsaXN0X3VuaGFzaGVkYC4gSXQgbWFrZXMgc2Vuc2UuIEl0JiMzOTtzIGNsZWFuIGFuZCBlbGVnYW50LCBob3BlZnVsbHkgdGhpcyBzb2x2ZXMgdGhlIHByb2JsZW0uCgpHaXZlbiB0aGUgcG90ZW50aWFsIGZvciBzdWJ0bGUgbWVtb3J5IGNvcnJ1cHRpb24gaGVyZSwgdGhpcyBpcyBkZWZpbml0ZWx5IHNvbWV0aGluZyB3b3J0aCBmdXp6aW5nLiBJJiMzOTttIGdvaW5nIHRvIGZsYWcgYF9feGZybV9zdGF0ZV9kZWxldGVgIGFuZCBgeGZybV9zdGF0ZV9kZWxldGVgIGFzIHRoZSBwcmltYXJ5IGZvY3VzIGFyZWFzIGZvciB0aGUgZnV6emluZyBjYW1wYWlnbi4gSSYjMzk7bGwgbmVlZCB0byBjb25maWd1cmUgdGhlIGZ1enppbmcgZW52aXJvbm1lbnQgd2l0aCBgWEZSTWAgZW5hYmxlZCwgb2YgY291cnNlLCB0byBtYWtlIHN1cmUgdGhpcyBjb2RlIGlzIGV4ZXJjaXNlZCBkdXJpbmcgdGVzdGluZy4gSSYjMzk7bGwgbmVlZCB0byBtYWtlIHN1cmUgdGhlIGZ1enppbmcgcHJvY2VzcyBoaXRzIHRoaXMgY2hhbmdlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBYRlJNJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3hmcm0vS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQveGZybS9LY29uZmlnLTQtI1xubmV0L3hmcm0vS2NvbmZpZzo1OmNvbmZpZyBYRlJNXG5uZXQveGZybS9LY29uZmlnLTYtXHRib29sXG4tLVxubmV0L3hmcm0vS2NvbmZpZy0xMC1cbm5ldC94ZnJtL0tjb25maWc6MTE6Y29uZmlnIFhGUk1fT0ZGTE9BRFxubmV0L3hmcm0vS2NvbmZpZy0xMi1cdGJvb2xcbm5ldC94ZnJtL0tjb25maWctMTMtXG5uZXQveGZybS9LY29uZmlnOjE0OmNvbmZpZyBYRlJNX0FMR09cbm5ldC94ZnJtL0tjb25maWctMTUtXHR0cmlzdGF0ZVxuLS1cbm5ldC94ZnJtL0tjb25maWc9MjI9aWYgSU5FVFxubmV0L3hmcm0vS2NvbmZpZzoyMzpjb25maWcgWEZSTV9VU0VSXG5uZXQveGZybS9LY29uZmlnLTI0LVx0dHJpc3RhdGUgXCYjMzQ7VHJhbnNmb3JtYXRpb24gdXNlciBjb25maWd1cmF0aW9uIGludGVyZmFjZVwmIzM0O1xuLS1cbm5ldC94ZnJtL0tjb25maWctMzEtXG5uZXQveGZybS9LY29uZmlnOjMyOmNvbmZpZyBYRlJNX1VTRVJfQ09NUEFUXG5uZXQveGZybS9LY29uZmlnLTMzLVx0dHJpc3RhdGUgXCYjMzQ7Q29tcGF0aWJsZSBBQkkgc3VwcG9ydFwmIzM0O1xuLS1cbm5ldC94ZnJtL0tjb25maWctNDItXG5uZXQveGZybS9LY29uZmlnOjQzOmNvbmZpZyBYRlJNX0lOVEVSRkFDRVxubmV0L3hmcm0vS2NvbmZpZy00NC1cdHRyaXN0YXRlIFwmIzM0O1RyYW5zZm9ybWF0aW9uIHZpcnR1YWwgaW50ZXJmYWNlXCYjMzQ7XG4tLVxubmV0L3hmcm0vS2NvbmZpZy01MC1cbm5ldC94ZnJtL0tjb25maWc6NTE6Y29uZmlnIFhGUk1fU1VCX1BPTElDWVxubmV0L3hmcm0vS2NvbmZpZy01Mi1cdGJvb2wgXCYjMzQ7VHJhbnNmb3JtYXRpb24gc3ViIHBvbGljeSBzdXBwb3J0XCYjMzQ7XG4tLVxubmV0L3hmcm0vS2NvbmZpZy02MC1cbm5ldC94ZnJtL0tjb25maWc6NjE6Y29uZmlnIFhGUk1fTUlHUkFURVxubmV0L3hmcm0vS2NvbmZpZy02Mi1cdGJvb2wgXCYjMzQ7VHJhbnNmb3JtYXRpb24gbWlncmF0ZSBkYXRhYmFzZVwmIzM0O1xuLS1cbm5ldC94ZnJtL0tjb25maWctNzEtXG5uZXQveGZybS9LY29uZmlnOjcyOmNvbmZpZyBYRlJNX1NUQVRJU1RJQ1Ncbm5ldC94ZnJtL0tjb25maWctNzMtXHRib29sIFwmIzM0O1RyYW5zZm9ybWF0aW9uIHN0YXRpc3RpY3NcJiMzNDtcbi0tXG5uZXQveGZybS9LY29uZmlnLTgzLSMgUkZDIDgyMjEgbGlzdHMgYXMgTVVTVCBiZSBpbXBsZW1lbnRlZC5cbm5ldC94ZnJtL0tjb25maWc6ODQ6Y29uZmlnIFhGUk1fQUhcbm5ldC94ZnJtL0tjb25maWctODUtXHR0cmlzdGF0ZVxuLS1cbm5ldC94ZnJtL0tjb25maWctOTItIyBhbGdvcml0aG1zIHRoYXQgUkZDIDgyMjEgbGlzdHMgYXMgTVVTVCBiZSBpbXBsZW1lbnRlZC5cbm5ldC94ZnJtL0tjb25maWc6OTM6Y29uZmlnIFhGUk1fRVNQXG5uZXQveGZybS9LY29uZmlnLTk0LVx0dHJpc3RhdGVcbi0tXG5uZXQveGZybS9LY29uZmlnLTEwNS1cbm5ldC94ZnJtL0tjb25maWc6MTA2OmNvbmZpZyBYRlJNX0lQQ09NUFxubmV0L3hmcm0vS2NvbmZpZy0xMDctXHR0cmlzdGF0ZVxuLS1cbm5ldC94ZnJtL0tjb25maWc9MTI1PWNvbmZpZyBORVRfS0VZX01JR1JBVEVcbi0tXG5uZXQveGZybS9LY29uZmlnLTE0MC1cbm5ldC94ZnJtL0tjb25maWc6MTQxOmNvbmZpZyBYRlJNX0lQVEZTXG5uZXQveGZybS9LY29uZmlnLTE0Mi1cdHRyaXN0YXRlIFwmIzM0O0lQc2VjIElQLVRGUy9BR0dGUkFHIChSRkMgOTM0NykgZW5jYXBzdWxhdGlvbiBzdXBwb3J0XCYjMzQ7XG4tLVxubmV0L3hmcm0vS2NvbmZpZy0xNTYtXG5uZXQveGZybS9LY29uZmlnOjE1Nzpjb25maWcgWEZSTV9FU1BJTlRDUFxubmV0L3hmcm0vS2NvbmZpZy0xNTgtXHRib29sXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDEgMDE6MDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDM4NwoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDU4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duLgoKKipJbnZlc3RpZ2F0aW5nIHRoZSBDb25maWd1cmF0aW9uIERlcGVuZGVuY3kgb2YgWEZSTSoqCgpBbHJpZ2h0LCBJIG5lZWQgdG8gZmlndXJlIG91dCB3aGF0JiMzOTtzIGVuYWJsaW5nIGBYRlJNYC4gSXQmIzM5O3MgYSBgYm9vbGAgY29uZmlnLCBhbmQgdGhlcmUmIzM5O3Mgbm8gdmlzaWJsZSBwcm9tcHQsIG1lYW5pbmcgc29tZXRoaW5nIGVsc2UgaXMgc2V0dGluZyBpdC4gTXkgaW1tZWRpYXRlIHRob3VnaHQgaXMsICYjMzQ7V2hlcmUmIzM5O3MgdGhlIGRlcGVuZGVuY3kgZGVmaW5lZD8mIzM0OyBTaW5jZSBgWEZSTV9VU0VSYCBzZWVtcyByZWxhdGVkIGFuZCAqbWlnaHQqIGJlIHRoZSB0cmlnZ2VyLCBJJiMzOTtsbCBzdGFydCB0aGVyZS4gTGV0JiMzOTtzIHNlZSBpZiBgWEZSTV9VU0VSYCBzZWxlY3RzIGBYRlJNYC4gVGhlIGJlc3QgcGxhY2UgdG8gZmluZCB0aGF0IGFuc3dlciBpcyBpbiBgbmV0L3hmcm0vS2NvbmZpZ2AuIFRpbWUgdG8gZGlnIGludG8gdGhhdCBmaWxlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7bmV0L3hmcm0vS2NvbmZpZyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMTAwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAgIDE6XHQjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcbiAgIDI6XHQjXG4gICAzOlx0IyBYRlJNIGNvbmZpZ3VyYXRpb25cbiAgIDQ6XHQjXG4gICA1Olx0Y29uZmlnIFhGUk1cbiAgIDY6XHRcdGJvb2xcbiAgIDc6XHRcdGRlcGVuZHMgb24gSU5FVFxuICAgODpcdFx0c2VsZWN0IEdST19DRUxMU1xuICAgOTpcdFx0c2VsZWN0IFNLQl9FWFRFTlNJT05TXG4gIDEwOlx0XG4gIDExOlx0Y29uZmlnIFhGUk1fT0ZGTE9BRFxuICAxMjpcdFx0Ym9vbFxuICAxMzpcdFxuICAxNDpcdGNvbmZpZyBYRlJNX0FMR09cbiAgMTU6XHRcdHRyaXN0YXRlXG4gIDE2Olx0XHRzZWxlY3QgWEZSTVxuICAxNzpcdFx0c2VsZWN0IENSWVBUT1xuICAxODpcdFx0c2VsZWN0IENSWVBUT19BRUFEXG4gIDE5Olx0XHRzZWxlY3QgQ1JZUFRPX0hBU0hcbiAgMjA6XHRcdHNlbGVjdCBDUllQVE9fU0tDSVBIRVJcbiAgMjE6XHRcbiAgMjI6XHRpZiBJTkVUXG4gIDIzOlx0Y29uZmlnIFhGUk1fVVNFUlxuICAyNDpcdFx0dHJpc3RhdGUgXCYjMzQ7VHJhbnNmb3JtYXRpb24gdXNlciBjb25maWd1cmF0aW9uIGludGVyZmFjZVwmIzM0O1xuICAyNTpcdFx0c2VsZWN0IFhGUk1fQUxHT1xuICAyNjpcdFx0aGVscFxuICAyNzpcdFx0ICBTdXBwb3J0IGZvciBUcmFuc2Zvcm1hdGlvbihYRlJNKSB1c2VyIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlXG4gIDI4Olx0XHQgIGxpa2UgSVBzZWMgdXNlZCBieSBuYXRpdmUgTGludXggdG9vbHMuXG4gIDI5Olx0XG4gIDMwOlx0XHQgIElmIHVuc3VyZSwgc2F5IFkuXG4gIDMxOlx0XG4gIDMyOlx0Y29uZmlnIFhGUk1fVVNFUl9DT01QQVRcbiAgMzM6XHRcdHRyaXN0YXRlIFwmIzM0O0NvbXBhdGlibGUgQUJJIHN1cHBvcnRcJiMzNDtcbiAgMzQ6XHRcdGRlcGVuZHMgb24gWEZSTV9VU0VSIFx1MDAyNlx1MDAyNiBDT01QQVRfRk9SX1U2NF9BTElHTk1FTlQgXHUwMDI2XHUwMDI2IFxcXG4gIDM1Olx0XHRcdEhBVkVfRUZGSUNJRU5UX1VOQUxJR05FRF9BQ0NFU1NcbiAgMzY6XHRcdHNlbGVjdCBXQU5UX0NPTVBBVF9ORVRMSU5LX01FU1NBR0VTXG4gIDM3Olx0XHRoZWxwXG4gIDM4Olx0XHQgIFRyYW5zZm9ybWF0aW9uKFhGUk0pIHVzZXIgY29uZmlndXJhdGlvbiBpbnRlcmZhY2UgbGlrZSBJUHNlY1xuICAzOTpcdFx0ICB1c2VkIGJ5IGNvbXBhdGlibGUgTGludXggYXBwbGljYXRpb25zLlxuICA0MDpcdFxuICA0MTpcdFx0ICBJZiB1bnN1cmUsIHNheSBOLlxuICA0MjpcdFxuICA0MzpcdGNvbmZpZyBYRlJNX0lOVEVSRkFDRVxuICA0NDpcdFx0dHJpc3RhdGUgXCYjMzQ7VHJhbnNmb3JtYXRpb24gdmlydHVhbCBpbnRlcmZhY2VcJiMzNDtcbiAgNDU6XHRcdGRlcGVuZHMgb24gWEZSTSBcdTAwMjZcdTAwMjYgSVBWNlxuICA0NjpcdFx0aGVscFxuICA0NzpcdFx0ICBUaGlzIHByb3ZpZGVzIGEgdmlydHVhbCBpbnRlcmZhY2UgdG8gcm91dGUgSVBzZWMgdHJhZmZpYy5cbiAgNDg6XHRcbiAgNDk6XHRcdCAgSWYgdW5zdXJlLCBzYXkgTi5cbiAgNTA6XHRcbiAgNTE6XHRjb25maWcgWEZSTV9TVUJfUE9MSUNZXG4gIDUyOlx0XHRib29sIFwmIzM0O1RyYW5zZm9ybWF0aW9uIHN1YiBwb2xpY3kgc3VwcG9ydFwmIzM0O1xuICA1MzpcdFx0ZGVwZW5kcyBvbiBYRlJNXG4gIDU0Olx0XHRoZWxwXG4gIDU1Olx0XHQgIFN1cHBvcnQgc3ViIHBvbGljeSBmb3IgZGV2ZWxvcGVycy4gQnkgdXNpbmcgc3ViIHBvbGljeSB3aXRoIG1haW5cbiAgNTY6XHRcdCAgb25lLCB0d28gcG9saWNpZXMgY2FuIGJlIGFwcGxpZWQgdG8gdGhlIHNhbWUgcGFja2V0IGF0IG9uY2UuXG4gIDU3Olx0XHQgIFBvbGljeSB3aGljaCBsaXZlcyBzaG9ydGVyIHRpbWUgaW4ga2VybmVsIHNob3VsZCBiZSBhIHN1Yi5cbiAgNTg6XHRcbiAgNTk6XHRcdCAgSWYgdW5zdXJlLCBzYXkgTi5cbiAgNjA6XHRcbiAgNjE6XHRjb25maWcgWEZSTV9NSUdSQVRFXG4gIDYyOlx0XHRib29sIFwmIzM0O1RyYW5zZm9ybWF0aW9uIG1pZ3JhdGUgZGF0YWJhc2VcJiMzNDtcbiAgNjM6XHRcdGRlcGVuZHMgb24gWEZSTVxuICA2NDpcdFx0aGVscFxuICA2NTpcdFx0ICBBIGZlYXR1cmUgdG8gdXBkYXRlIGxvY2F0b3Iocykgb2YgYSBnaXZlbiBJUHNlYyBzZWN1cml0eVxuICA2NjpcdFx0ICBhc3NvY2lhdGlvbiBkeW5hbWljYWxseS4gIFRoaXMgZmVhdHVyZSBpcyByZXF1aXJlZCwgZm9yXG4gIDY3Olx0XHQgIGluc3RhbmNlLCBpbiBhIE1vYmlsZSBJUHY2IGVudmlyb25tZW50IHdpdGggSVBzZWMgY29uZmlndXJhdGlvblxuICA2ODpcdFx0ICB3aGVyZSBtb2JpbGUgbm9kZXMgY2hhbmdlIHRoZWlyIGF0dGFjaG1lbnQgcG9pbnQgdG8gdGhlIEludGVybmV0LlxuICA2OTpcdFxuICA3MDpcdFx0ICBJZiB1bnN1cmUsIHNheSBOLlxuICA3MTpcdFxuICA3MjpcdGNvbmZpZyBYRlJNX1NUQVRJU1RJQ1NcbiAgNzM6XHRcdGJvb2wgXCYjMzQ7VHJhbnNmb3JtYXRpb24gc3RhdGlzdGljc1wmIzM0O1xuICA3NDpcdFx0ZGVwZW5kcyBvbiBYRlJNIFx1MDAyNlx1MDAyNiBQUk9DX0ZTXG4gIDc1Olx0XHRoZWxwXG4gIDc2Olx0XHQgIFRoaXMgc3RhdGlzdGljcyBpcyBub3QgYSBTTk1QL01JQiBzcGVjaWZpY2F0aW9uIGJ1dCBzaG93c1xuICA3NzpcdFx0ICBzdGF0aXN0aWNzIGFib3V0IHRyYW5zZm9ybWF0aW9uIGVycm9yIChvciBhbG1vc3QgZXJyb3IpIGZhY3RvclxuICA3ODpcdFx0ICBhdCBwYWNrZXQgcHJvY2Vzc2luZyBmb3IgZGV2ZWxvcGVyLlxuICA3OTpcdFxuICA4MDpcdFx0ICBJZiB1bnN1cmUsIHNheSBOLlxuICA4MTpcdFxuICA4MjpcdCMgVGhpcyBvcHRpb24gc2VsZWN0cyBYRlJNX0FMR08gYWxvbmcgd2l0aCB0aGUgQUggYXV0aGVudGljYXRpb24gYWxnb3JpdGhtcyB0aGF0XG4gIDgzOlx0IyBSRkMgODIyMSBsaXN0cyBhcyBNVVNUIGJlIGltcGxlbWVudGVkLlxuICA4NDpcdGNvbmZpZyBYRlJNX0FIXG4gIDg1Olx0XHR0cmlzdGF0ZVxuICA4NjpcdFx0c2VsZWN0IFhGUk1fQUxHT1xuICA4NzpcdFx0c2VsZWN0IENSWVBUT1xuICA4ODpcdFx0c2VsZWN0IENSWVBUT19ITUFDXG4gIDg5Olx0XHRzZWxlY3QgQ1JZUFRPX1NIQTI1NlxuICA5MDpcdFxuICA5MTpcdCMgVGhpcyBvcHRpb24gc2VsZWN0cyBYRlJNX0FMR08gYWxvbmcgd2l0aCB0aGUgRVNQIGVuY3J5cHRpb24gYW5kIGF1dGhlbnRpY2F0aW9uXG4gIDkyOlx0IyBhbGdvcml0aG1zIHRoYXQgUkZDIDgyMjEgbGlzdHMgYXMgTVVTVCBiZSBpbXBsZW1lbnRlZC5cbiAgOTM6XHRjb25maWcgWEZSTV9FU1BcbiAgOTQ6XHRcdHRyaXN0YXRlXG4gIDk1Olx0XHRzZWxlY3QgWEZSTV9BTEdPXG4gIDk2Olx0XHRzZWxlY3QgQ1JZUFRPXG4gIDk3Olx0XHRzZWxlY3QgQ1JZUFRPX0FFU1xuICA5ODpcdFx0c2VsZWN0IENSWVBUT19BVVRIRU5DXG4gIDk5Olx0XHRzZWxlY3QgQ1JZUFRPX0NCQ1xuIDEwMDpcdFx0c2VsZWN0IENSWVBUT19FQ0hBSU5JVlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDU4NDIKCQkJCQkJCW91dHB1dDogMzIKCQkJCQkJCXRob3VnaHRzOiA4OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBzaXR1YXRpb246CgoqKlhGUk0gQ29uZmlndXJhdGlvbiBEZXBlbmRlbmN5IEFuYWx5c2lzKioKCk9rYXksIHNvIGl0IGxvb2tzIGxpa2UgZW5hYmxpbmcgYFhGUk1fVVNFUmAgaXMgYSBwcmV0dHkgc2FmZSBiZXQsIGdpdmVuIHRoYXQgaXQgc2VsZWN0cyBgWEZSTV9BTEdPYCwgd2hpY2ggaW4gdHVybiwgY2xlYXJseSBkZXBlbmRzIG9uIGBYRlJNYC4gVGhhdCBtYWtlcyBsb2dpY2FsIHNlbnNlLCB0aGUgdXNlci1zcGFjZSBpbnRlcmZhY2UgZm9yIHRoZSB0cmFuc2Zvcm0gc3Vic3lzdGVtIHByb2JhYmx5IHJlcXVpcmVzIHRoZSBjb3JlIGZ1bmN0aW9uYWxpdHkgdG8gYmUgZW5hYmxlZC4KCk5vdywgSSYjMzk7bSB0aGlua2luZywgbGV0JiMzOTtzIG1ha2Ugc3VyZSB3ZSYjMzk7dmUgZ290IGV2ZXJ5dGhpbmcgd2UgbmVlZC4gRGlnZ2luZyBhIGxpdHRsZSBkZWVwZXIuLi4gQWgsIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgYG5ldC94ZnJtL3hmcm1fc3RhdGUuY2AuIFJpZ2h0LCBgeGZybV9zdGF0ZS5jYCBpcyBjb21waWxlZCAqaWYqIGBYRlJNYCBpcyBlbmFibGVkLiBUaGF0IGNvbmZpcm1zIHRoZSBkZXBlbmRlbmN5IGNoYWluLiBgWEZSTV9VU0VSYCBsb29rcyBsaWtlIGEgZ29vZCBzdGFydGluZyBwb2ludCwgYW5kIHdlJiMzOTtyZSBjb3ZlcmluZyB0aGUgYmFzZSBjb2RlIGRlcGVuZGVuY2llcyBieSBtYWtpbmcgc3VyZSB3ZSYjMzk7cmUgaW5jbHVkaW5nIGBYRlJNYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDEgMDE6MDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7eGZybV9zdGF0ZS5vJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3hmcm0vTWFrZWZpbGUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L3hmcm0vTWFrZWZpbGU9MTI9ZW5kaWZcbm5ldC94ZnJtL01ha2VmaWxlLTEzLVxubmV0L3hmcm0vTWFrZWZpbGU6MTQ6b2JqLSQoQ09ORklHX1hGUk0pIDo9IHhmcm1fcG9saWN5Lm8geGZybV9zdGF0ZS5vIHhmcm1faGFzaC5vIFxcXG5uZXQveGZybS9NYWtlZmlsZS0xNS1cdFx0ICAgICAgeGZybV9pbnB1dC5vIHhmcm1fb3V0cHV0Lm8gXFxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDEgMDE6MDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNjI2MAoJCQkJCQkJb3V0cHV0OiAzMQoJCQkJCQkJdGhvdWdodHM6IDg3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd24gbWVudGFsIHByb2Nlc3Npbmc6CgoqKlhGUk0gQ29uZmlndXJhdGlvbiBEZWVwIERpdmUqKgoKQWxyaWdodCwgdGhhdCBsb29rcyByaWdodC4gQ29uc2lkZXJpbmcgdGhlIHRhc2sgYXQgaGFuZCwgYENPTkZJR19YRlJNYCBpcyBkZWZpbml0ZWx5IHRoZSBrZXkgY29uZmlndXJhdGlvbiBvcHRpb24gd2UgbmVlZCB0byBmb2N1cyBvbi4gVG8gZW5zdXJlIHRoYXQgdGhlIFhGUk0gaW5mcmFzdHJ1Y3R1cmUgaXMgZnVsbHkgb3BlcmF0aW9uYWwgYW5kLCBjcml0aWNhbGx5LCBhY2Nlc3NpYmxlIGZyb20gdXNlciBzcGFjZSwgSSYjMzk7bSBnb2luZyB0byBleHBsaWNpdGx5IGVuYWJsZSBgWEZSTV9VU0VSYC4gVGhhdCYjMzk7cyB0aGUgY2xlYW5lciBhcHByb2FjaC4KCk5vdywganVzdCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4sIGl0JiMzOTtzIHdvcnRoIGEgcXVpY2sgcmV2aWV3IG9mIHRoZSByZWxldmFudCBkZWxldGlvbiBmdW5jdGlvbnMuIExldCYjMzk7cyBtYWtlIHN1cmUgdGhhdCBgX194ZnJtX3N0YXRlX2RlbGV0ZWAgYW5kLCBvZiBjb3Vyc2UsIHRoZSBleHBvcnRlZCBgeGZybV9zdGF0ZV9kZWxldGVgIGFyZSBiZWhhdmluZyBhcyBleHBlY3RlZC4gQWggeWVzLCBgeGZybV9zdGF0ZV9kZWxldGVgIGlzIGluZGVlZCBleHBvcnRlZCBhbmQgdXRpbGl6ZWQgd2l0aGluIGB4ZnJtX3VzZXIuY2AgYW5kIGVsc2V3aGVyZS4gR29vZCwgdGhhdCYjMzk7cyB3aGF0IEkgbmVlZGVkIHRvIGNvbmZpcm0uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3hmcm1fc3RhdGVfZGVsZXRlJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3hmcm0vJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC94ZnJtL3hmcm1fc3RhdGUuYz0yMjg9c3RhdGljIERFRklORV9TUElOTE9DSyh4ZnJtX3N0YXRlX2Rldl9nY19sb2NrKTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0yMjktXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6MjMwOmludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0yMzEtXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTU5Mz1FWFBPUlRfU1lNQk9MKHhmcm1fc3RhdGVfZnJlZSk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmMtNTk0LVxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjU5NTpzdGF0aWMgdm9pZCB4ZnJtX3N0YXRlX2RlbGV0ZV90dW5uZWwoc3RydWN0IHhmcm1fc3RhdGUgKngpO1xubmV0L3hmcm0veGZybV9zdGF0ZS5jLTU5Ni1zdGF0aWMgdm9pZCB4ZnJtX3N0YXRlX2djX2Rlc3Ryb3koc3RydWN0IHhmcm1fc3RhdGUgKngpXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTYxMC1cdHhmcm1fdW5zZXRfdHlwZV9vZmZsb2FkKHgpO1xubmV0L3hmcm0veGZybV9zdGF0ZS5jOjYxMTpcdHhmcm1fc3RhdGVfZGVsZXRlX3R1bm5lbCh4KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy02MTItXHRpZiAoeC1cdTAwM2V0eXBlKSB7XG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTYzOT1zdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgeGZybV90aW1lcl9oYW5kbGVyKHN0cnVjdCBocnRpbWVyICptZSlcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtNzE3LVxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjcxODpcdGVyciA9IF9feGZybV9zdGF0ZV9kZWxldGUoeCk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmMtNzE5LVx0aWYgKCFlcnIpXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTgwOT1FWFBPUlRfU1lNQk9MKF9feGZybV9zdGF0ZV9kZXN0cm95KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04MTAtXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODExOmludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTgxMi17XG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTgzNy1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4Mzg6XHRcdHhmcm1fc3RhdGVfZGVsZXRlX3R1bm5lbCh4KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04MzktXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg0OS19XG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODUwOkVYUE9SVF9TWU1CT0woX194ZnJtX3N0YXRlX2RlbGV0ZSk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODUxLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjg1MjppbnQgeGZybV9zdGF0ZV9kZWxldGUoc3RydWN0IHhmcm1fc3RhdGUgKngpXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODUzLXtcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODU2LVx0c3Bpbl9sb2NrX2JoKFx1MDAyNngtXHUwMDNlbG9jayk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODU3Olx0ZXJyID0gX194ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NTgtXHRzcGluX3VubG9ja19iaChcdTAwMjZ4LVx1MDAzZWxvY2spO1xuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NjEtfVxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjg2MjpFWFBPUlRfU1lNQk9MKHhmcm1fc3RhdGVfZGVsZXRlKTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NjMtXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTg2Nj14ZnJtX3N0YXRlX2ZsdXNoX3NlY2N0eF9jaGVjayhzdHJ1Y3QgbmV0ICpuZXQsIHU4IHByb3RvLCBib29sIHRhc2tfdmFsaWQpXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg3NC1cdFx0XHRpZiAoeGZybV9pZF9wcm90b19tYXRjaCh4LVx1MDAzZWlkLnByb3RvLCBwcm90bykgXHUwMDI2XHUwMDI2XG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODc1Olx0XHRcdCAgIChlcnIgPSBzZWN1cml0eV94ZnJtX3N0YXRlX2RlbGV0ZSh4KSkgIT0gMCkge1xubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg3Ni1cdFx0XHRcdHhmcm1fYXVkaXRfc3RhdGVfZGVsZXRlKHgsIDAsIHRhc2tfdmFsaWQpO1xuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYz04ODY9eGZybV9kZXZfc3RhdGVfZmx1c2hfc2VjY3R4X2NoZWNrKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgYm9vbCB0YXNrX3ZhbGlkKVxuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04OTctXHRcdFx0aWYgKHhzby1cdTAwM2VkZXYgPT0gZGV2IFx1MDAyNlx1MDAyNlxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjg5ODpcdFx0XHQgICAoZXJyID0gc2VjdXJpdHlfeGZybV9zdGF0ZV9kZWxldGUoeCkpICE9IDApIHtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04OTktXHRcdFx0XHR4ZnJtX2F1ZGl0X3N0YXRlX2RlbGV0ZSh4LCAwLCB0YXNrX3ZhbGlkKTtcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9OTIxPWludCB4ZnJtX3N0YXRlX2ZsdXNoKHN0cnVjdCBuZXQgKm5ldCwgdTggcHJvdG8sIGJvb2wgdGFza192YWxpZClcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtOTM5LVxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjk0MDpcdFx0XHRcdGVyciA9IHhmcm1fc3RhdGVfZGVsZXRlKHgpO1xubmV0L3hmcm0veGZybV9zdGF0ZS5jLTk0MS1cdFx0XHRcdHhmcm1fYXVkaXRfc3RhdGVfZGVsZXRlKHgsIGVyciA/IDAgOiAxLFxuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYz05NjE9aW50IHhmcm1fZGV2X3N0YXRlX2ZsdXNoKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgYm9vbCB0YXNrX3ZhbGlkKVxuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy05ODItXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6OTgzOlx0XHRcdFx0ZXJyID0geGZybV9zdGF0ZV9kZWxldGUoeCk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmMtOTg0LVx0XHRcdFx0eGZybV9kZXZfc3RhdGVfZnJlZSh4KTtcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9MTg5NT1pbnQgeGZybV9zdGF0ZV9hZGQoc3RydWN0IHhmcm1fc3RhdGUgKngpXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTE5MzktXHRpZiAoeDEpIHtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzoxOTQwOlx0XHR4ZnJtX3N0YXRlX2RlbGV0ZSh4MSk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMTk0MS1cdFx0eGZybV9zdGF0ZV9wdXQoeDEpO1xuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYz0yMjI2PWludCB4ZnJtX3N0YXRlX3VwZGF0ZShzdHJ1Y3QgeGZybV9zdGF0ZSAqeClcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMjI3My1cdGlmICgheCkge1xubmV0L3hmcm0veGZybV9zdGF0ZS5jOjIyNzQ6XHRcdHhmcm1fc3RhdGVfZGVsZXRlKHgxKTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0yMjc1LVx0XHR4ZnJtX3N0YXRlX3B1dCh4MSk7XG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTMxNDc9RVhQT1JUX1NZTUJPTCh4ZnJtX2ZsdXNoX2djKTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0zMTQ4LVxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjMxNDk6c3RhdGljIHZvaWQgeGZybV9zdGF0ZV9kZWxldGVfdHVubmVsKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTMxNTAte1xuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0zMTU0LVx0XHRpZiAoYXRvbWljX2RlY19yZXR1cm4oXHUwMDI2dC1cdTAwM2V0dW5uZWxfdXNlcnMpID09IDEpXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6MzE1NTpcdFx0XHR4ZnJtX3N0YXRlX2RlbGV0ZSh0KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0zMTU2LVx0XHR4ZnJtX3N0YXRlX3B1dCh0KTtcbi0tXG5uZXQveGZybS94ZnJtX3VzZXIuYz0xMTE4PXN0YXRpYyBpbnQgeGZybV9kZWxfc2Eoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5sbXNnaGRyICpubGgsXG4tLVxubmV0L3hmcm0veGZybV91c2VyLmMtMTEzMC1cbm5ldC94ZnJtL3hmcm1fdXNlci5jOjExMzE6XHRpZiAoKGVyciA9IHNlY3VyaXR5X3hmcm1fc3RhdGVfZGVsZXRlKHgpKSAhPSAwKVxubmV0L3hmcm0veGZybV91c2VyLmMtMTEzMi1cdFx0Z290byBvdXQ7XG4tLVxubmV0L3hmcm0veGZybV91c2VyLmMtMTEzOS1cbm5ldC94ZnJtL3hmcm1fdXNlci5jOjExNDA6XHRlcnIgPSB4ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcbm5ldC94ZnJtL3hmcm1fdXNlci5jLTExNDEtXHRpZiAoZXJyIFx1MDAzYyAwKVxuLS1cbm5ldC94ZnJtL3hmcm1fdXNlci5jPTMwMDQ9c3RhdGljIGludCB4ZnJtX2FkZF9zYV9leHBpcmUoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5sbXNnaGRyICpubGgsXG4tLVxubmV0L3hmcm0veGZybV91c2VyLmMtMzAzMS1cdGlmICh1ZS1cdTAwM2VoYXJkKSB7XG5uZXQveGZybS94ZnJtX3VzZXIuYzozMDMyOlx0XHRfX3hmcm1fc3RhdGVfZGVsZXRlKHgpO1xubmV0L3hmcm0veGZybV91c2VyLmMtMzAzMy1cdFx0eGZybV9hdWRpdF9zdGF0ZV9kZWxldGUoeCwgMSwgdHJ1ZSk7XG4tLVxubmV0L3hmcm0veGZybV91c2VyLmM9MzM0Mz1zdGF0aWMgaW50IHhmcm1fZG9fbWlncmF0ZV9zdGF0ZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCxcbi0tXG5uZXQveGZybS94ZnJtX3VzZXIuYy0zNDg1LVx0eGZybV9taWdyYXRlX3N5bmMoeGMsIHgpOyAvKiB0byBwcmV2ZW50IFNOL0lWIHJldXNlICovXG5uZXQveGZybS94ZnJtX3VzZXIuYzozNDg2Olx0X194ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcbm5ldC94ZnJtL3hmcm1fdXNlci5jLTM0ODctXHRzcGluX3VubG9ja19iaChcdTAwMjZ4LVx1MDAzZWxvY2spO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMSAwMTowODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA4OTI1CgkJCQkJCQlvdXRwdXQ6IDE1NwoJCQkJCQkJdGhvdWdodHM6IDMwNgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIHRoZSBYRlJNIFN0YXRlIERlbGV0aW9uIExvZ2ljKioKCk9rYXksIHNvIEkmIzM5O3ZlIGJlZW4gbG9va2luZyBhdCB0aGlzIFhGUk0gY29kZSwgYW5kIGl0JiMzOTtzIHByZXR0eSBjbGVhciB0aGF0IGB4ZnJtX3N0YXRlX2RlbGV0ZWAgYW5kLCBtb3JlIGltcG9ydGFudGx5LCBgX194ZnJtX3N0YXRlX2RlbGV0ZWAsIGFyZSB2dWxuZXJhYmxlLiBUaGV5JiMzOTtyZSBkZWZpbml0ZWx5IGFjY2Vzc2libGUgZnJvbSB1c2VyIHNwYWNlLCBzcGVjaWZpY2FsbHkgdGhyb3VnaCBuZXRsaW5rIGludGVyYWN0aW9ucyBsaWtlIGB4ZnJtX2RlbF9zYWAsIGB4ZnJtX2FkZF9zYV9leHBpcmVgLCBhbmQgYHhmcm1fZG9fbWlncmF0ZV9zdGF0ZWAuIFRoYXQgbWFrZXMgdGhlbSBwcmltZSB0YXJnZXRzIGZvciBmdXp6aW5nLgoKTm93LCBjb25maWd1cmF0aW9uLXdpc2UsIEkgdGhpbmsgYFhGUk1fVVNFUmAgaXMgdGhlIGtleS4gTGV0IG1lIGRvdWJsZS1jaGVjay4uLiBZZXMsIGBYRlJNX1VTRVJgIHB1bGxzIGluIGBYRlJNX0FMR09gLCB3aGljaCBpbiB0dXJuIGJyaW5ncyBpbiBgWEZSTWAuIFNvLCB5ZWFoLCBlbmFibGluZyBgWEZSTV9VU0VSYCBzaG91bGQgYmUgc3VmZmljaWVudCBmb3IgcmVwcm9kdWNpbmcgdGhlIHJlbGV2YW50IGNvZGUgcGF0aHMuIE5vIG5lZWQgdG8gb3ZlcmNvbXBsaWNhdGUgdGhpbmdzLgoKU28sIGhlcmUmIzM5O3Mgd2hhdCBJJiMzOTttIHRoaW5raW5nIGluIHRlcm1zIG9mIHNldHVwOgoKKiAgICoqV29ydGhGdXp6aW5nOioqIEFic29sdXRlbHkhCiogICAqKkZvY3VzU3ltYm9sczoqKiBEZWZpbml0ZWx5IGBfX3hmcm1fc3RhdGVfZGVsZXRlYCBhbmQgYHhmcm1fc3RhdGVfZGVsZXRlYC4gVGhlc2UgYXJlIHRoZSBmdW5jdGlvbnMgZGlyZWN0bHkgaW1wbGljYXRlZC4KKiAgICoqRW5hYmxlQ29uZmlnczoqKiBKdXN0IGBYRlJNX1VTRVJgLgoqICAgKipSZWFzb25pbmc6KiogVGhlIHBhdGNoIGFkZHJlc3NlcyBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZSBvciBkb3VibGUtZGVsZXRlIGluIGBfX3hmcm1fc3RhdGVfZGVsZXRlYC4gVGhlIGZpeCBpbnZvbHZlcyBjaGFuZ2luZyBgaGxpc3RfZGVsX3JjdWAgdG8gYGhsaXN0X2RlbF9pbml0X3JjdWAgZm9yIGBzdGF0ZV9jYWNoZWAgYW5kIGBzdGF0ZV9jYWNoZV9pbnB1dGAsIGVuc3VyaW5nIGBobGlzdF91bmhhc2hlZGAgcmV0dXJucyB0cnVlIG9uIHN1YnNlcXVlbnQgY2FsbHMuIFRoaXMgaXMgYSBjcnVjaWFsIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYRlJNIHN0YXRlIG1hbmFnZW1lbnQsIGFuZCB0aGUgZmFjdCB0aGF0IGl0JiMzOTtzIHJlYWNoYWJsZSBmcm9tIHVzZXIgc3BhY2UgdmlhIG5ldGxpbmsgbWFrZXMgaXQgYSBoaWdoLXByaW9yaXR5IHRhcmdldCBmb3IgZnV6emluZy4gV2UgbmVlZCB0byB2ZXJpZnkgdGhlIGZpeCB0aG9yb3VnaGx5LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMSAwMTowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7WEZSTV9VU0VSJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7X194ZnJtX3N0YXRlX2RlbGV0ZSYjMzQ7LAogICAgJiMzNDt4ZnJtX3N0YXRlX2RlbGV0ZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZSBvciBkb3VibGUtZGVsZXRlIGlzc3VlIGluIGBfX3hmcm1fc3RhdGVfZGVsZXRlYCBieSByZXBsYWNpbmcgYGhsaXN0X2RlbF9yY3VgIHdpdGggYGhsaXN0X2RlbF9pbml0X3JjdWAgZm9yIGBzdGF0ZV9jYWNoZWAgYW5kIGBzdGF0ZV9jYWNoZV9pbnB1dGAuIFRoaXMgZW5zdXJlcyB0aGF0IGBobGlzdF91bmhhc2hlZGAgcmV0dXJucyB0cnVlIG9uIHN1YnNlcXVlbnQgY2FsbHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBYRlJNIHN0YXRlIG1hbmFnZW1lbnQgbG9naWMsIHJlYWNoYWJsZSBmcm9tIHVzZXIgc3BhY2UgdmlhIG5ldGxpbmsuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1hGUk1fVVNFUiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O19feGZybV9zdGF0ZV9kZWxldGUmIzM0OywKICAgICYjMzQ7eGZybV9zdGF0ZV9kZWxldGUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgZG91YmxlLWRlbGV0ZSBpc3N1ZSBpbiBgX194ZnJtX3N0YXRlX2RlbGV0ZWAgYnkgcmVwbGFjaW5nIGBobGlzdF9kZWxfcmN1YCB3aXRoIGBobGlzdF9kZWxfaW5pdF9yY3VgIGZvciBgc3RhdGVfY2FjaGVgIGFuZCBgc3RhdGVfY2FjaGVfaW5wdXRgLiBUaGlzIGVuc3VyZXMgdGhhdCBgaGxpc3RfdW5oYXNoZWRgIHJldHVybnMgdHJ1ZSBvbiBzdWJzZXF1ZW50IGNhbGxzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgWEZSTSBzdGF0ZSBtYW5hZ2VtZW50IGxvZ2ljLCByZWFjaGFibGUgZnJvbSB1c2VyIHNwYWNlIHZpYSBuZXRsaW5rLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMDFUMDE6MDc6NDAuMDAzNDA4NDdaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyOTM0OTY3Mjg0OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJYRlJNX1VTRVJcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJfX3hmcm1fc3RhdGVfZGVsZXRlXCIsXG4gICAgXCJ4ZnJtX3N0YXRlX2RlbGV0ZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIHVzZS1hZnRlci1mcmVlIG9yIGRvdWJsZS1kZWxldGUgaXNzdWUgaW4gYF9feGZybV9zdGF0ZV9kZWxldGVgIGJ5IHJlcGxhY2luZyBgaGxpc3RfZGVsX3JjdWAgd2l0aCBgaGxpc3RfZGVsX2luaXRfcmN1YCBmb3IgYHN0YXRlX2NhY2hlYCBhbmQgYHN0YXRlX2NhY2hlX2lucHV0YC4gVGhpcyBlbnN1cmVzIHRoYXQgYGhsaXN0X3VuaGFzaGVkYCByZXR1cm5zIHRydWUgb24gc3Vic2VxdWVudCBjYWxscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIFhGUk0gc3RhdGUgbWFuYWdlbWVudCBsb2dpYywgcmVhY2hhYmxlIGZyb20gdXNlciBzcGFjZSB2aWEgbmV0bGluay5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDFUMDE6MDc6NDAuMDAzNDI2OTk5WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NzYzNzUyODIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCBlNDE1ZjZjZmE5ZjdkZTdhOTE5N2RmMmQyZWNlMDljYzkwYWQ0MjJhXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBTYXQgQXVnIDEgMDE6MDc6MzkgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvbmV0L3hmcm0veGZybV9zdGF0ZS5jIGIvbmV0L3hmcm0veGZybV9zdGF0ZS5jXFxuaW5kZXggMzZhNGY2NzkzZWRlZi4uZjQ5NGMxYWM1N2E0MCAxMDA2NDRcXG4tLS0gYS9uZXQveGZybS94ZnJtX3N0YXRlLmNcXG4rKysgYi9uZXQveGZybS94ZnJtX3N0YXRlLmNcXG5AQCAtODIzLDkgKzgyMyw5IEBAIGludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxcbiBcXHRcXHRpZiAoIWhsaXN0X3VuaGFzaGVkKFxcdTAwMjZ4LVxcdTAwM2VieXNlcSkpXFxuIFxcdFxcdFxcdGhsaXN0X2RlbF9pbml0X3JjdShcXHUwMDI2eC1cXHUwMDNlYnlzZXEpO1xcbiBcXHRcXHRpZiAoIWhsaXN0X3VuaGFzaGVkKFxcdTAwMjZ4LVxcdTAwM2VzdGF0ZV9jYWNoZSkpXFxuLVxcdFxcdFxcdGhsaXN0X2RlbF9yY3UoXFx1MDAyNngtXFx1MDAzZXN0YXRlX2NhY2hlKTtcXG4rXFx0XFx0XFx0aGxpc3RfZGVsX2luaXRfcmN1KFxcdTAwMjZ4LVxcdTAwM2VzdGF0ZV9jYWNoZSk7XFxuIFxcdFxcdGlmICghaGxpc3RfdW5oYXNoZWQoXFx1MDAyNngtXFx1MDAzZXN0YXRlX2NhY2hlX2lucHV0KSlcXG4tXFx0XFx0XFx0aGxpc3RfZGVsX3JjdShcXHUwMDI2eC1cXHUwMDNlc3RhdGVfY2FjaGVfaW5wdXQpO1xcbitcXHRcXHRcXHRobGlzdF9kZWxfaW5pdF9yY3UoXFx1MDAyNngtXFx1MDAzZXN0YXRlX2NhY2hlX2lucHV0KTtcXG4gXFxuIFxcdFxcdGlmICghaGxpc3RfdW5oYXNoZWQoXFx1MDAyNngtXFx1MDAzZWJ5c3BpKSlcXG4gXFx0XFx0XFx0aGxpc3RfZGVsX2luaXRfcmN1KFxcdTAwMjZ4LVxcdTAwM2VieXNwaSk7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAxVDAxOjA3OjQwLjQ4MDczMTgxMloiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjI4ODcyMzQxMjA2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlhGUk1fVVNFUlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIl9feGZybV9zdGF0ZV9kZWxldGVcIixcbiAgICBcInhmcm1fc3RhdGVfZGVsZXRlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgZG91YmxlLWRlbGV0ZSBpc3N1ZSBpbiBgX194ZnJtX3N0YXRlX2RlbGV0ZWAgYnkgcmVwbGFjaW5nIGBobGlzdF9kZWxfcmN1YCB3aXRoIGBobGlzdF9kZWxfaW5pdF9yY3VgIGZvciBgc3RhdGVfY2FjaGVgIGFuZCBgc3RhdGVfY2FjaGVfaW5wdXRgLiBUaGlzIGVuc3VyZXMgdGhhdCBgaGxpc3RfdW5oYXNoZWRgIHJldHVybnMgdHJ1ZSBvbiBzdWJzZXF1ZW50IGNhbGxzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgWEZSTSBzdGF0ZSBtYW5hZ2VtZW50IGxvZ2ljLCByZWFjaGFibGUgZnJvbSB1c2VyIHNwYWNlIHZpYSBuZXRsaW5rLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG4gIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cbi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlxuLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKVxuICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uc1xuICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIEFsc28gY2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzXG4gICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3NcbiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBlNDE1ZjZjZmE5ZjdkZTdhOTE5N2RmMmQyZWNlMDljYzkwYWQ0MjJhXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFNhdCBBdWcgMSAwMTowNzozOSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC94ZnJtL3hmcm1fc3RhdGUuYyBiL25ldC94ZnJtL3hmcm1fc3RhdGUuY1xuaW5kZXggMzZhNGY2NzkzZWRlZi4uZjQ5NGMxYWM1N2E0MCAxMDA2NDRcbi0tLSBhL25ldC94ZnJtL3hmcm1fc3RhdGUuY1xuKysrIGIvbmV0L3hmcm0veGZybV9zdGF0ZS5jXG5AQCAtODIzLDkgKzgyMyw5IEBAIGludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxuIFx0XHRpZiAoIWhsaXN0X3VuaGFzaGVkKFx1MDAyNngtXHUwMDNlYnlzZXEpKVxuIFx0XHRcdGhsaXN0X2RlbF9pbml0X3JjdShcdTAwMjZ4LVx1MDAzZWJ5c2VxKTtcbiBcdFx0aWYgKCFobGlzdF91bmhhc2hlZChcdTAwMjZ4LVx1MDAzZXN0YXRlX2NhY2hlKSlcbi1cdFx0XHRobGlzdF9kZWxfcmN1KFx1MDAyNngtXHUwMDNlc3RhdGVfY2FjaGUpO1xuK1x0XHRcdGhsaXN0X2RlbF9pbml0X3JjdShcdTAwMjZ4LVx1MDAzZXN0YXRlX2NhY2hlKTtcbiBcdFx0aWYgKCFobGlzdF91bmhhc2hlZChcdTAwMjZ4LVx1MDAzZXN0YXRlX2NhY2hlX2lucHV0KSlcbi1cdFx0XHRobGlzdF9kZWxfcmN1KFx1MDAyNngtXHUwMDNlc3RhdGVfY2FjaGVfaW5wdXQpO1xuK1x0XHRcdGhsaXN0X2RlbF9pbml0X3JjdShcdTAwMjZ4LVx1MDAzZXN0YXRlX2NhY2hlX2lucHV0KTtcbiBcbiBcdFx0aWYgKCFobGlzdF91bmhhc2hlZChcdTAwMjZ4LVx1MDAzZWJ5c3BpKSlcbiBcdFx0XHRobGlzdF9kZWxfaW5pdF9yY3UoXHUwMDI2eC1cdTAwM2VieXNwaSk7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMVQwMTowNzo0MC40ODA3MzMzNTJaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0NDczNDU0NTYxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYW5hbHlzaXMgb2YgdGhlIGNvZGUgY2hhbmdlOlxuXG4qKkFuYWx5emluZyB0aGUgeGZybV9zdGF0ZS5jIFBhdGNoKipcblxuT2theSwgc28gd2UndmUgZ290IGEgcGF0Y2ggdGhhdCdzIHR3ZWFraW5nIGBuZXQveGZybS94ZnJtX3N0YXRlLmNgLiBJdCBsb29rcyBsaWtlIHRoZSBjb3JlIGNoYW5nZSBpbnZvbHZlcyBzd2l0Y2hpbmcgZnJvbSBgaGxpc3RfZGVsX3JjdWAgdG8gYGhsaXN0X2RlbF9pbml0X3JjdWAgZm9yIGB4LVx1MDAzZXN0YXRlX2NhY2hlYCBhbmQgYHgtXHUwMDNlc3RhdGVfY2FjaGVfaW5wdXRgIHdpdGhpbiB0aGUgYF9feGZybV9zdGF0ZV9kZWxldGVgIGZ1bmN0aW9uLiBUaGF0J3MgaW1tZWRpYXRlbHkgaW50ZXJlc3RpbmcsIGJlY2F1c2UgdGhvc2UgYXJlIHByZXR0eSBjcml0aWNhbCBkYXRhIHN0cnVjdHVyZXMgZm9yIFhGUk0gc3RhdGUgbWFuYWdlbWVudC4gVGhlIGZhY3QgdGhhdCB0aGV5J3JlIHVzaW5nIGByY3VgIGhpbnRzIGF0IGNvbmN1cnJlbmN5IGNvbmNlcm5zLCBhbmQgcmVwbGFjaW5nIGBobGlzdF9kZWxfcmN1YCB3aXRoIGBobGlzdF9kZWxfaW5pdF9yY3VgIHRlbGxzIG1lIHdlIGFyZSBjb25jZXJuZWQgYWJvdXQgdGhlIHN0YXRlIG9mIHRoZSBsaXN0IGFmdGVyIHJlbW92YWwuXG5cbk15IGltbWVkaWF0ZSB0aG91Z2h0IGlzIHRvIGRpZyBpbnRvIGBfX3hmcm1fc3RhdGVfZGVsZXRlYCBpdHNlbGYuIEkgbmVlZCB0byB1bmRlcnN0YW5kICp3aHkqIHRoaXMgY2hhbmdlIGlzIGhhcHBlbmluZy4gV2hhdCdzIHRoZSBjb250ZXh0PyBXaGF0J3MgdGhlIHBvdGVudGlhbCBpbXBhY3Q/IGBobGlzdF9kZWxfaW5pdF9yY3VgLCBpbiBjb250cmFzdCB0byBqdXN0IGBobGlzdF9kZWxfcmN1YCwgaW5pdGlhbGl6ZXMgdGhlIGxpc3QgaGVhZCBhZnRlciByZW1vdmFsLCB3aGljaCBzdWdnZXN0cyBpdCBtaWdodCBiZSB0byBwcmV2ZW50IHVzZS1hZnRlci1mcmVlLCBvciBwZXJoYXBzIHRvIGVhc2UgZnV0dXJlIGl0ZXJhdGlvbnMgb3IgbG9va3VwcyBvZiB0aGUgbGlzdC4gV2UgbmVlZCB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBzdWJ0bGUgcmFjZSBjb25kaXRpb25zIGFkZHJlc3NlZCBieSB0aGlzIGNoYW5nZSwgYW5kIHdoYXQgdGhlIHN1YnNlcXVlbnQgY29kZSBtaWdodCBiZSBkb2luZyB3aXRoIHRoZXNlIGxpc3QgaGVhZHMuIE9rYXksIGxldCdzIHN0YXJ0IGJ5IGxvb2tpbmcgYXQgdGhhdCBmdW5jdGlvbiBkZWZpbml0aW9uLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMTQ5LCJPdXRwdXRUb2tlbnMiOjM4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6ODUsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMVQwMTowNzo0NC45NTQxOTA2MDNaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTAwMDUxNDI5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIl9feGZybV9zdGF0ZV9kZWxldGVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3hmcm0veGZybV9zdGF0ZS5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC94ZnJtL3hmcm1fc3RhdGUuYz0yMjg9c3RhdGljIERFRklORV9TUElOTE9DSyh4ZnJtX3N0YXRlX2Rldl9nY19sb2NrKTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMjI5LVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzoyMzA6aW50IF9feGZybV9zdGF0ZV9kZWxldGUoc3RydWN0IHhmcm1fc3RhdGUgKngpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0yMzEtXFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9NjM5PXN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCB4ZnJtX3RpbWVyX2hhbmRsZXIoc3RydWN0IGhydGltZXIgKm1lKVxcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTcxNy1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6NzE4OlxcdGVyciA9IF9feGZybV9zdGF0ZV9kZWxldGUoeCk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTcxOS1cXHRpZiAoIWVycilcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYz04MDk9RVhQT1JUX1NZTUJPTChfX3hmcm1fc3RhdGVfZGVzdHJveSk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTgxMC1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODExOmludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04MTIte1xcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg0OS19XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjg1MDpFWFBPUlRfU1lNQk9MKF9feGZybV9zdGF0ZV9kZWxldGUpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NTEtXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTg1Mj1pbnQgeGZybV9zdGF0ZV9kZWxldGUoc3RydWN0IHhmcm1fc3RhdGUgKngpXFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODU2LVxcdHNwaW5fbG9ja19iaChcXHUwMDI2eC1cXHUwMDNlbG9jayk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjg1NzpcXHRlcnIgPSBfX3hmcm1fc3RhdGVfZGVsZXRlKHgpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NTgtXFx0c3Bpbl91bmxvY2tfYmgoXFx1MDAyNngtXFx1MDAzZWxvY2spO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMVQwMTowNzo0NS4wNTQyNDgwMDJaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0NTY0MzM5MjcwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUGF0Y2g6IFhGUk0gU3RhdGUgRGVsZXRpb24qKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHplcm9pbmcgaW4gb24gYSBjcml0aWNhbCBmdW5jdGlvbjogYF9feGZybV9zdGF0ZV9kZWxldGVgLiBJdCBsb29rcyBsaWtlIGl0J3MgYWRkcmVzc2luZyBhIHN1YnRsZSBidXQgcG90ZW50aWFsbHkgbmFzdHkgcHJvYmxlbSB3aXRoIGhvdyB3ZSdyZSBjdXJyZW50bHkgaGFuZGxpbmcgdGhlIHJlbW92YWwgb2YgWEZSTSBzdGF0ZSBlbnRyaWVzLiBUaGUgY29yZSBvZiB0aGUgaXNzdWUgc3RlbXMgZnJvbSBgaGxpc3RfZGVsX3JjdWAuIEl0IHNlZW1zIHRoYXQgdGhlIHdheSB3ZSd2ZSBiZWVuIHVzaW5nIGl0LCB0aGUgbm9kZSBpcyAqbm90KiBnZXR0aW5nIHByb3Blcmx5IGluaXRpYWxpemVkIGFmdGVyIGJlaW5nIHJlbW92ZWQuIFRoaXMgb3BlbnMgdGhlIGRvb3IgdG8gYGhsaXN0X3VuaGFzaGVkYCByZXR1cm5pbmcgYSBmYWxzZSBwb3NpdGl2ZSBpZiBjYWxsZWQgc3Vic2VxdWVudGx5LCBldmVuIGlmIGl0IGhhcyBiZWVuIGRlbGV0ZWQuXG5cblRoYXQgaXMgYSByZWNpcGUgZm9yIGRpc2FzdGVyOiBkb3VibGUgZnJlZXMgb3IgdXNlLWFmdGVyLWZyZWUgY29uZGl0aW9ucy4gV2UgbmVlZCB0byBiZSBlc3BlY2lhbGx5IGNhcmVmdWwgd2l0aCB0aGF0OyBpdCdzIGEgY3JpdGljYWwgYXJlYS5cblxuVGhlIGZpeCwgdGhhbmtmdWxseSwgaXMgc3RyYWlnaHRmb3J3YXJkOiBzd2l0Y2hpbmcgdG8gYGhsaXN0X2RlbF9pbml0X3JjdWAuIFRoaXMgZ3VhcmFudGVlcyBpbml0aWFsaXphdGlvbiBvZiB0aGUgbm9kZSwgd2hpY2ggc2hvdWxkIGZpeCB0aGUgcm9vdCBwcm9ibGVtIHdpdGggYGhsaXN0X3VuaGFzaGVkYC4gSXQgbWFrZXMgc2Vuc2UuIEl0J3MgY2xlYW4gYW5kIGVsZWdhbnQsIGhvcGVmdWxseSB0aGlzIHNvbHZlcyB0aGUgcHJvYmxlbS5cblxuR2l2ZW4gdGhlIHBvdGVudGlhbCBmb3Igc3VidGxlIG1lbW9yeSBjb3JydXB0aW9uIGhlcmUsIHRoaXMgaXMgZGVmaW5pdGVseSBzb21ldGhpbmcgd29ydGggZnV6emluZy4gSSdtIGdvaW5nIHRvIGZsYWcgYF9feGZybV9zdGF0ZV9kZWxldGVgIGFuZCBgeGZybV9zdGF0ZV9kZWxldGVgIGFzIHRoZSBwcmltYXJ5IGZvY3VzIGFyZWFzIGZvciB0aGUgZnV6emluZyBjYW1wYWlnbi4gSSdsbCBuZWVkIHRvIGNvbmZpZ3VyZSB0aGUgZnV6emluZyBlbnZpcm9ubWVudCB3aXRoIGBYRlJNYCBlbmFibGVkLCBvZiBjb3Vyc2UsIHRvIG1ha2Ugc3VyZSB0aGlzIGNvZGUgaXMgZXhlcmNpc2VkIGR1cmluZyB0ZXN0aW5nLiBJJ2xsIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBmdXp6aW5nIHByb2Nlc3MgaGl0cyB0aGlzIGNoYW5nZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzEwOSwiT3V0cHV0VG9rZW5zIjozMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEyOSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wMVQwMTowNzo0OS42MTg1OTEwMjJaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTQ4MTQ0MzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIFhGUk1cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3hmcm0vS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQveGZybS9LY29uZmlnLTQtI1xcbm5ldC94ZnJtL0tjb25maWc6NTpjb25maWcgWEZSTVxcbm5ldC94ZnJtL0tjb25maWctNi1cXHRib29sXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTEwLVxcbm5ldC94ZnJtL0tjb25maWc6MTE6Y29uZmlnIFhGUk1fT0ZGTE9BRFxcbm5ldC94ZnJtL0tjb25maWctMTItXFx0Ym9vbFxcbm5ldC94ZnJtL0tjb25maWctMTMtXFxubmV0L3hmcm0vS2NvbmZpZzoxNDpjb25maWcgWEZSTV9BTEdPXFxubmV0L3hmcm0vS2NvbmZpZy0xNS1cXHR0cmlzdGF0ZVxcbi0tXFxubmV0L3hmcm0vS2NvbmZpZz0yMj1pZiBJTkVUXFxubmV0L3hmcm0vS2NvbmZpZzoyMzpjb25maWcgWEZSTV9VU0VSXFxubmV0L3hmcm0vS2NvbmZpZy0yNC1cXHR0cmlzdGF0ZSBcXFwiVHJhbnNmb3JtYXRpb24gdXNlciBjb25maWd1cmF0aW9uIGludGVyZmFjZVxcXCJcXG4tLVxcbm5ldC94ZnJtL0tjb25maWctMzEtXFxubmV0L3hmcm0vS2NvbmZpZzozMjpjb25maWcgWEZSTV9VU0VSX0NPTVBBVFxcbm5ldC94ZnJtL0tjb25maWctMzMtXFx0dHJpc3RhdGUgXFxcIkNvbXBhdGlibGUgQUJJIHN1cHBvcnRcXFwiXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTQyLVxcbm5ldC94ZnJtL0tjb25maWc6NDM6Y29uZmlnIFhGUk1fSU5URVJGQUNFXFxubmV0L3hmcm0vS2NvbmZpZy00NC1cXHR0cmlzdGF0ZSBcXFwiVHJhbnNmb3JtYXRpb24gdmlydHVhbCBpbnRlcmZhY2VcXFwiXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTUwLVxcbm5ldC94ZnJtL0tjb25maWc6NTE6Y29uZmlnIFhGUk1fU1VCX1BPTElDWVxcbm5ldC94ZnJtL0tjb25maWctNTItXFx0Ym9vbCBcXFwiVHJhbnNmb3JtYXRpb24gc3ViIHBvbGljeSBzdXBwb3J0XFxcIlxcbi0tXFxubmV0L3hmcm0vS2NvbmZpZy02MC1cXG5uZXQveGZybS9LY29uZmlnOjYxOmNvbmZpZyBYRlJNX01JR1JBVEVcXG5uZXQveGZybS9LY29uZmlnLTYyLVxcdGJvb2wgXFxcIlRyYW5zZm9ybWF0aW9uIG1pZ3JhdGUgZGF0YWJhc2VcXFwiXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTcxLVxcbm5ldC94ZnJtL0tjb25maWc6NzI6Y29uZmlnIFhGUk1fU1RBVElTVElDU1xcbm5ldC94ZnJtL0tjb25maWctNzMtXFx0Ym9vbCBcXFwiVHJhbnNmb3JtYXRpb24gc3RhdGlzdGljc1xcXCJcXG4tLVxcbm5ldC94ZnJtL0tjb25maWctODMtIyBSRkMgODIyMSBsaXN0cyBhcyBNVVNUIGJlIGltcGxlbWVudGVkLlxcbm5ldC94ZnJtL0tjb25maWc6ODQ6Y29uZmlnIFhGUk1fQUhcXG5uZXQveGZybS9LY29uZmlnLTg1LVxcdHRyaXN0YXRlXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTkyLSMgYWxnb3JpdGhtcyB0aGF0IFJGQyA4MjIxIGxpc3RzIGFzIE1VU1QgYmUgaW1wbGVtZW50ZWQuXFxubmV0L3hmcm0vS2NvbmZpZzo5Mzpjb25maWcgWEZSTV9FU1BcXG5uZXQveGZybS9LY29uZmlnLTk0LVxcdHRyaXN0YXRlXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTEwNS1cXG5uZXQveGZybS9LY29uZmlnOjEwNjpjb25maWcgWEZSTV9JUENPTVBcXG5uZXQveGZybS9LY29uZmlnLTEwNy1cXHR0cmlzdGF0ZVxcbi0tXFxubmV0L3hmcm0vS2NvbmZpZz0xMjU9Y29uZmlnIE5FVF9LRVlfTUlHUkFURVxcbi0tXFxubmV0L3hmcm0vS2NvbmZpZy0xNDAtXFxubmV0L3hmcm0vS2NvbmZpZzoxNDE6Y29uZmlnIFhGUk1fSVBURlNcXG5uZXQveGZybS9LY29uZmlnLTE0Mi1cXHR0cmlzdGF0ZSBcXFwiSVBzZWMgSVAtVEZTL0FHR0ZSQUcgKFJGQyA5MzQ3KSBlbmNhcHN1bGF0aW9uIHN1cHBvcnRcXFwiXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTE1Ni1cXG5uZXQveGZybS9LY29uZmlnOjE1Nzpjb25maWcgWEZSTV9FU1BJTlRDUFxcbm5ldC94ZnJtL0tjb25maWctMTU4LVxcdGJvb2xcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDFUMDE6MDc6NDkuNjczNDE0OTQxWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzY2NDgxNzAwMywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgbGV0J3MgYnJlYWsgdGhpcyBkb3duLlxuXG4qKkludmVzdGlnYXRpbmcgdGhlIENvbmZpZ3VyYXRpb24gRGVwZW5kZW5jeSBvZiBYRlJNKipcblxuQWxyaWdodCwgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hhdCdzIGVuYWJsaW5nIGBYRlJNYC4gSXQncyBhIGBib29sYCBjb25maWcsIGFuZCB0aGVyZSdzIG5vIHZpc2libGUgcHJvbXB0LCBtZWFuaW5nIHNvbWV0aGluZyBlbHNlIGlzIHNldHRpbmcgaXQuIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCBcIldoZXJlJ3MgdGhlIGRlcGVuZGVuY3kgZGVmaW5lZD9cIiBTaW5jZSBgWEZSTV9VU0VSYCBzZWVtcyByZWxhdGVkIGFuZCAqbWlnaHQqIGJlIHRoZSB0cmlnZ2VyLCBJJ2xsIHN0YXJ0IHRoZXJlLiBMZXQncyBzZWUgaWYgYFhGUk1fVVNFUmAgc2VsZWN0cyBgWEZSTWAuIFRoZSBiZXN0IHBsYWNlIHRvIGZpbmQgdGhhdCBhbnN3ZXIgaXMgaW4gYG5ldC94ZnJtL0tjb25maWdgLiBUaW1lIHRvIGRpZyBpbnRvIHRoYXQgZmlsZS5cblxuXG4iLCJJbnB1dFRva2VucyI6NDM4NywiT3V0cHV0VG9rZW5zIjozNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjU4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAxVDAxOjA3OjUzLjMzODIzNDcyNFoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1NjM5MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJuZXQveGZybS9LY29uZmlnXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDEwMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgICAxOlxcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbiAgIDI6XFx0I1xcbiAgIDM6XFx0IyBYRlJNIGNvbmZpZ3VyYXRpb25cXG4gICA0OlxcdCNcXG4gICA1OlxcdGNvbmZpZyBYRlJNXFxuICAgNjpcXHRcXHRib29sXFxuICAgNzpcXHRcXHRkZXBlbmRzIG9uIElORVRcXG4gICA4OlxcdFxcdHNlbGVjdCBHUk9fQ0VMTFNcXG4gICA5OlxcdFxcdHNlbGVjdCBTS0JfRVhURU5TSU9OU1xcbiAgMTA6XFx0XFxuICAxMTpcXHRjb25maWcgWEZSTV9PRkZMT0FEXFxuICAxMjpcXHRcXHRib29sXFxuICAxMzpcXHRcXG4gIDE0OlxcdGNvbmZpZyBYRlJNX0FMR09cXG4gIDE1OlxcdFxcdHRyaXN0YXRlXFxuICAxNjpcXHRcXHRzZWxlY3QgWEZSTVxcbiAgMTc6XFx0XFx0c2VsZWN0IENSWVBUT1xcbiAgMTg6XFx0XFx0c2VsZWN0IENSWVBUT19BRUFEXFxuICAxOTpcXHRcXHRzZWxlY3QgQ1JZUFRPX0hBU0hcXG4gIDIwOlxcdFxcdHNlbGVjdCBDUllQVE9fU0tDSVBIRVJcXG4gIDIxOlxcdFxcbiAgMjI6XFx0aWYgSU5FVFxcbiAgMjM6XFx0Y29uZmlnIFhGUk1fVVNFUlxcbiAgMjQ6XFx0XFx0dHJpc3RhdGUgXFxcIlRyYW5zZm9ybWF0aW9uIHVzZXIgY29uZmlndXJhdGlvbiBpbnRlcmZhY2VcXFwiXFxuICAyNTpcXHRcXHRzZWxlY3QgWEZSTV9BTEdPXFxuICAyNjpcXHRcXHRoZWxwXFxuICAyNzpcXHRcXHQgIFN1cHBvcnQgZm9yIFRyYW5zZm9ybWF0aW9uKFhGUk0pIHVzZXIgY29uZmlndXJhdGlvbiBpbnRlcmZhY2VcXG4gIDI4OlxcdFxcdCAgbGlrZSBJUHNlYyB1c2VkIGJ5IG5hdGl2ZSBMaW51eCB0b29scy5cXG4gIDI5OlxcdFxcbiAgMzA6XFx0XFx0ICBJZiB1bnN1cmUsIHNheSBZLlxcbiAgMzE6XFx0XFxuICAzMjpcXHRjb25maWcgWEZSTV9VU0VSX0NPTVBBVFxcbiAgMzM6XFx0XFx0dHJpc3RhdGUgXFxcIkNvbXBhdGlibGUgQUJJIHN1cHBvcnRcXFwiXFxuICAzNDpcXHRcXHRkZXBlbmRzIG9uIFhGUk1fVVNFUiBcXHUwMDI2XFx1MDAyNiBDT01QQVRfRk9SX1U2NF9BTElHTk1FTlQgXFx1MDAyNlxcdTAwMjYgXFxcXFxcbiAgMzU6XFx0XFx0XFx0SEFWRV9FRkZJQ0lFTlRfVU5BTElHTkVEX0FDQ0VTU1xcbiAgMzY6XFx0XFx0c2VsZWN0IFdBTlRfQ09NUEFUX05FVExJTktfTUVTU0FHRVNcXG4gIDM3OlxcdFxcdGhlbHBcXG4gIDM4OlxcdFxcdCAgVHJhbnNmb3JtYXRpb24oWEZSTSkgdXNlciBjb25maWd1cmF0aW9uIGludGVyZmFjZSBsaWtlIElQc2VjXFxuICAzOTpcXHRcXHQgIHVzZWQgYnkgY29tcGF0aWJsZSBMaW51eCBhcHBsaWNhdGlvbnMuXFxuICA0MDpcXHRcXG4gIDQxOlxcdFxcdCAgSWYgdW5zdXJlLCBzYXkgTi5cXG4gIDQyOlxcdFxcbiAgNDM6XFx0Y29uZmlnIFhGUk1fSU5URVJGQUNFXFxuICA0NDpcXHRcXHR0cmlzdGF0ZSBcXFwiVHJhbnNmb3JtYXRpb24gdmlydHVhbCBpbnRlcmZhY2VcXFwiXFxuICA0NTpcXHRcXHRkZXBlbmRzIG9uIFhGUk0gXFx1MDAyNlxcdTAwMjYgSVBWNlxcbiAgNDY6XFx0XFx0aGVscFxcbiAgNDc6XFx0XFx0ICBUaGlzIHByb3ZpZGVzIGEgdmlydHVhbCBpbnRlcmZhY2UgdG8gcm91dGUgSVBzZWMgdHJhZmZpYy5cXG4gIDQ4OlxcdFxcbiAgNDk6XFx0XFx0ICBJZiB1bnN1cmUsIHNheSBOLlxcbiAgNTA6XFx0XFxuICA1MTpcXHRjb25maWcgWEZSTV9TVUJfUE9MSUNZXFxuICA1MjpcXHRcXHRib29sIFxcXCJUcmFuc2Zvcm1hdGlvbiBzdWIgcG9saWN5IHN1cHBvcnRcXFwiXFxuICA1MzpcXHRcXHRkZXBlbmRzIG9uIFhGUk1cXG4gIDU0OlxcdFxcdGhlbHBcXG4gIDU1OlxcdFxcdCAgU3VwcG9ydCBzdWIgcG9saWN5IGZvciBkZXZlbG9wZXJzLiBCeSB1c2luZyBzdWIgcG9saWN5IHdpdGggbWFpblxcbiAgNTY6XFx0XFx0ICBvbmUsIHR3byBwb2xpY2llcyBjYW4gYmUgYXBwbGllZCB0byB0aGUgc2FtZSBwYWNrZXQgYXQgb25jZS5cXG4gIDU3OlxcdFxcdCAgUG9saWN5IHdoaWNoIGxpdmVzIHNob3J0ZXIgdGltZSBpbiBrZXJuZWwgc2hvdWxkIGJlIGEgc3ViLlxcbiAgNTg6XFx0XFxuICA1OTpcXHRcXHQgIElmIHVuc3VyZSwgc2F5IE4uXFxuICA2MDpcXHRcXG4gIDYxOlxcdGNvbmZpZyBYRlJNX01JR1JBVEVcXG4gIDYyOlxcdFxcdGJvb2wgXFxcIlRyYW5zZm9ybWF0aW9uIG1pZ3JhdGUgZGF0YWJhc2VcXFwiXFxuICA2MzpcXHRcXHRkZXBlbmRzIG9uIFhGUk1cXG4gIDY0OlxcdFxcdGhlbHBcXG4gIDY1OlxcdFxcdCAgQSBmZWF0dXJlIHRvIHVwZGF0ZSBsb2NhdG9yKHMpIG9mIGEgZ2l2ZW4gSVBzZWMgc2VjdXJpdHlcXG4gIDY2OlxcdFxcdCAgYXNzb2NpYXRpb24gZHluYW1pY2FsbHkuICBUaGlzIGZlYXR1cmUgaXMgcmVxdWlyZWQsIGZvclxcbiAgNjc6XFx0XFx0ICBpbnN0YW5jZSwgaW4gYSBNb2JpbGUgSVB2NiBlbnZpcm9ubWVudCB3aXRoIElQc2VjIGNvbmZpZ3VyYXRpb25cXG4gIDY4OlxcdFxcdCAgd2hlcmUgbW9iaWxlIG5vZGVzIGNoYW5nZSB0aGVpciBhdHRhY2htZW50IHBvaW50IHRvIHRoZSBJbnRlcm5ldC5cXG4gIDY5OlxcdFxcbiAgNzA6XFx0XFx0ICBJZiB1bnN1cmUsIHNheSBOLlxcbiAgNzE6XFx0XFxuICA3MjpcXHRjb25maWcgWEZSTV9TVEFUSVNUSUNTXFxuICA3MzpcXHRcXHRib29sIFxcXCJUcmFuc2Zvcm1hdGlvbiBzdGF0aXN0aWNzXFxcIlxcbiAgNzQ6XFx0XFx0ZGVwZW5kcyBvbiBYRlJNIFxcdTAwMjZcXHUwMDI2IFBST0NfRlNcXG4gIDc1OlxcdFxcdGhlbHBcXG4gIDc2OlxcdFxcdCAgVGhpcyBzdGF0aXN0aWNzIGlzIG5vdCBhIFNOTVAvTUlCIHNwZWNpZmljYXRpb24gYnV0IHNob3dzXFxuICA3NzpcXHRcXHQgIHN0YXRpc3RpY3MgYWJvdXQgdHJhbnNmb3JtYXRpb24gZXJyb3IgKG9yIGFsbW9zdCBlcnJvcikgZmFjdG9yXFxuICA3ODpcXHRcXHQgIGF0IHBhY2tldCBwcm9jZXNzaW5nIGZvciBkZXZlbG9wZXIuXFxuICA3OTpcXHRcXG4gIDgwOlxcdFxcdCAgSWYgdW5zdXJlLCBzYXkgTi5cXG4gIDgxOlxcdFxcbiAgODI6XFx0IyBUaGlzIG9wdGlvbiBzZWxlY3RzIFhGUk1fQUxHTyBhbG9uZyB3aXRoIHRoZSBBSCBhdXRoZW50aWNhdGlvbiBhbGdvcml0aG1zIHRoYXRcXG4gIDgzOlxcdCMgUkZDIDgyMjEgbGlzdHMgYXMgTVVTVCBiZSBpbXBsZW1lbnRlZC5cXG4gIDg0OlxcdGNvbmZpZyBYRlJNX0FIXFxuICA4NTpcXHRcXHR0cmlzdGF0ZVxcbiAgODY6XFx0XFx0c2VsZWN0IFhGUk1fQUxHT1xcbiAgODc6XFx0XFx0c2VsZWN0IENSWVBUT1xcbiAgODg6XFx0XFx0c2VsZWN0IENSWVBUT19ITUFDXFxuICA4OTpcXHRcXHRzZWxlY3QgQ1JZUFRPX1NIQTI1NlxcbiAgOTA6XFx0XFxuICA5MTpcXHQjIFRoaXMgb3B0aW9uIHNlbGVjdHMgWEZSTV9BTEdPIGFsb25nIHdpdGggdGhlIEVTUCBlbmNyeXB0aW9uIGFuZCBhdXRoZW50aWNhdGlvblxcbiAgOTI6XFx0IyBhbGdvcml0aG1zIHRoYXQgUkZDIDgyMjEgbGlzdHMgYXMgTVVTVCBiZSBpbXBsZW1lbnRlZC5cXG4gIDkzOlxcdGNvbmZpZyBYRlJNX0VTUFxcbiAgOTQ6XFx0XFx0dHJpc3RhdGVcXG4gIDk1OlxcdFxcdHNlbGVjdCBYRlJNX0FMR09cXG4gIDk2OlxcdFxcdHNlbGVjdCBDUllQVE9cXG4gIDk3OlxcdFxcdHNlbGVjdCBDUllQVE9fQUVTXFxuICA5ODpcXHRcXHRzZWxlY3QgQ1JZUFRPX0FVVEhFTkNcXG4gIDk5OlxcdFxcdHNlbGVjdCBDUllQVE9fQ0JDXFxuIDEwMDpcXHRcXHRzZWxlY3QgQ1JZUFRPX0VDSEFJTklWXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAxVDAxOjA3OjUzLjMzODM5MzAxNFoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ0MDYyNDA4NjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBzaXR1YXRpb246XG5cbioqWEZSTSBDb25maWd1cmF0aW9uIERlcGVuZGVuY3kgQW5hbHlzaXMqKlxuXG5Pa2F5LCBzbyBpdCBsb29rcyBsaWtlIGVuYWJsaW5nIGBYRlJNX1VTRVJgIGlzIGEgcHJldHR5IHNhZmUgYmV0LCBnaXZlbiB0aGF0IGl0IHNlbGVjdHMgYFhGUk1fQUxHT2AsIHdoaWNoIGluIHR1cm4sIGNsZWFybHkgZGVwZW5kcyBvbiBgWEZSTWAuIFRoYXQgbWFrZXMgbG9naWNhbCBzZW5zZSwgdGhlIHVzZXItc3BhY2UgaW50ZXJmYWNlIGZvciB0aGUgdHJhbnNmb3JtIHN1YnN5c3RlbSBwcm9iYWJseSByZXF1aXJlcyB0aGUgY29yZSBmdW5jdGlvbmFsaXR5IHRvIGJlIGVuYWJsZWQuXG5cbk5vdywgSSdtIHRoaW5raW5nLCBsZXQncyBtYWtlIHN1cmUgd2UndmUgZ290IGV2ZXJ5dGhpbmcgd2UgbmVlZC4gRGlnZ2luZyBhIGxpdHRsZSBkZWVwZXIuLi4gQWgsIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgYG5ldC94ZnJtL3hmcm1fc3RhdGUuY2AuIFJpZ2h0LCBgeGZybV9zdGF0ZS5jYCBpcyBjb21waWxlZCAqaWYqIGBYRlJNYCBpcyBlbmFibGVkLiBUaGF0IGNvbmZpcm1zIHRoZSBkZXBlbmRlbmN5IGNoYWluLiBgWEZSTV9VU0VSYCBsb29rcyBsaWtlIGEgZ29vZCBzdGFydGluZyBwb2ludCwgYW5kIHdlJ3JlIGNvdmVyaW5nIHRoZSBiYXNlIGNvZGUgZGVwZW5kZW5jaWVzIGJ5IG1ha2luZyBzdXJlIHdlJ3JlIGluY2x1ZGluZyBgWEZSTWAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjU4NDIsIk91dHB1dFRva2VucyI6MzIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo4OCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAxVDAxOjA3OjU3Ljc0NDYzNjM0NloiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTExMzgzODc5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInhmcm1fc3RhdGUub1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQveGZybS9NYWtlZmlsZVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQveGZybS9NYWtlZmlsZT0xMj1lbmRpZlxcbm5ldC94ZnJtL01ha2VmaWxlLTEzLVxcbm5ldC94ZnJtL01ha2VmaWxlOjE0Om9iai0kKENPTkZJR19YRlJNKSA6PSB4ZnJtX3BvbGljeS5vIHhmcm1fc3RhdGUubyB4ZnJtX2hhc2gubyBcXFxcXFxubmV0L3hmcm0vTWFrZWZpbGUtMTUtXFx0XFx0ICAgICAgeGZybV9pbnB1dC5vIHhmcm1fb3V0cHV0Lm8gXFxcXFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMVQwMTowNzo1Ny44NTYwMjYzODVaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzg4NjA5Mjc5MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd24gbWVudGFsIHByb2Nlc3Npbmc6XG5cbioqWEZSTSBDb25maWd1cmF0aW9uIERlZXAgRGl2ZSoqXG5cbkFscmlnaHQsIHRoYXQgbG9va3MgcmlnaHQuIENvbnNpZGVyaW5nIHRoZSB0YXNrIGF0IGhhbmQsIGBDT05GSUdfWEZSTWAgaXMgZGVmaW5pdGVseSB0aGUga2V5IGNvbmZpZ3VyYXRpb24gb3B0aW9uIHdlIG5lZWQgdG8gZm9jdXMgb24uIFRvIGVuc3VyZSB0aGF0IHRoZSBYRlJNIGluZnJhc3RydWN0dXJlIGlzIGZ1bGx5IG9wZXJhdGlvbmFsIGFuZCwgY3JpdGljYWxseSwgYWNjZXNzaWJsZSBmcm9tIHVzZXIgc3BhY2UsIEknbSBnb2luZyB0byBleHBsaWNpdGx5IGVuYWJsZSBgWEZSTV9VU0VSYC4gVGhhdCdzIHRoZSBjbGVhbmVyIGFwcHJvYWNoLlxuXG5Ob3csIGp1c3QgdG8gYmUgYWJzb2x1dGVseSBjZXJ0YWluLCBpdCdzIHdvcnRoIGEgcXVpY2sgcmV2aWV3IG9mIHRoZSByZWxldmFudCBkZWxldGlvbiBmdW5jdGlvbnMuIExldCdzIG1ha2Ugc3VyZSB0aGF0IGBfX3hmcm1fc3RhdGVfZGVsZXRlYCBhbmQsIG9mIGNvdXJzZSwgdGhlIGV4cG9ydGVkIGB4ZnJtX3N0YXRlX2RlbGV0ZWAgYXJlIGJlaGF2aW5nIGFzIGV4cGVjdGVkLiBBaCB5ZXMsIGB4ZnJtX3N0YXRlX2RlbGV0ZWAgaXMgaW5kZWVkIGV4cG9ydGVkIGFuZCB1dGlsaXplZCB3aXRoaW4gYHhmcm1fdXNlci5jYCBhbmQgZWxzZXdoZXJlLiBHb29kLCB0aGF0J3Mgd2hhdCBJIG5lZWRlZCB0byBjb25maXJtLlxuXG5cbiIsIklucHV0VG9rZW5zIjo2MjYwLCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6ODcsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDFUMDE6MDg6MDEuNzQyMTIyNDg1WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMDgzNTQ5ODgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwieGZybV9zdGF0ZV9kZWxldGVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3hmcm0vXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC94ZnJtL3hmcm1fc3RhdGUuYz0yMjg9c3RhdGljIERFRklORV9TUElOTE9DSyh4ZnJtX3N0YXRlX2Rldl9nY19sb2NrKTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMjI5LVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzoyMzA6aW50IF9feGZybV9zdGF0ZV9kZWxldGUoc3RydWN0IHhmcm1fc3RhdGUgKngpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0yMzEtXFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9NTkzPUVYUE9SVF9TWU1CT0woeGZybV9zdGF0ZV9mcmVlKTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtNTk0LVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo1OTU6c3RhdGljIHZvaWQgeGZybV9zdGF0ZV9kZWxldGVfdHVubmVsKHN0cnVjdCB4ZnJtX3N0YXRlICp4KTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtNTk2LXN0YXRpYyB2b2lkIHhmcm1fc3RhdGVfZ2NfZGVzdHJveShzdHJ1Y3QgeGZybV9zdGF0ZSAqeClcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy02MTAtXFx0eGZybV91bnNldF90eXBlX29mZmxvYWQoeCk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjYxMTpcXHR4ZnJtX3N0YXRlX2RlbGV0ZV90dW5uZWwoeCk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTYxMi1cXHRpZiAoeC1cXHUwMDNldHlwZSkge1xcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTYzOT1zdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgeGZybV90aW1lcl9oYW5kbGVyKHN0cnVjdCBocnRpbWVyICptZSlcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy03MTctXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjcxODpcXHRlcnIgPSBfX3hmcm1fc3RhdGVfZGVsZXRlKHgpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy03MTktXFx0aWYgKCFlcnIpXFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9ODA5PUVYUE9SVF9TWU1CT0woX194ZnJtX3N0YXRlX2Rlc3Ryb3kpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04MTAtXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjgxMTppbnQgX194ZnJtX3N0YXRlX2RlbGV0ZShzdHJ1Y3QgeGZybV9zdGF0ZSAqeClcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODEyLXtcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04MzctXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjgzODpcXHRcXHR4ZnJtX3N0YXRlX2RlbGV0ZV90dW5uZWwoeCk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTgzOS1cXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NDktfVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4NTA6RVhQT1JUX1NZTUJPTChfX3hmcm1fc3RhdGVfZGVsZXRlKTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODUxLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4NTI6aW50IHhmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NTMte1xcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg1Ni1cXHRzcGluX2xvY2tfYmgoXFx1MDAyNngtXFx1MDAzZWxvY2spO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4NTc6XFx0ZXJyID0gX194ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODU4LVxcdHNwaW5fdW5sb2NrX2JoKFxcdTAwMjZ4LVxcdTAwM2Vsb2NrKTtcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NjEtfVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4NjI6RVhQT1JUX1NZTUJPTCh4ZnJtX3N0YXRlX2RlbGV0ZSk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg2My1cXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYz04NjY9eGZybV9zdGF0ZV9mbHVzaF9zZWNjdHhfY2hlY2soc3RydWN0IG5ldCAqbmV0LCB1OCBwcm90bywgYm9vbCB0YXNrX3ZhbGlkKVxcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg3NC1cXHRcXHRcXHRpZiAoeGZybV9pZF9wcm90b19tYXRjaCh4LVxcdTAwM2VpZC5wcm90bywgcHJvdG8pIFxcdTAwMjZcXHUwMDI2XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjg3NTpcXHRcXHRcXHQgICAoZXJyID0gc2VjdXJpdHlfeGZybV9zdGF0ZV9kZWxldGUoeCkpICE9IDApIHtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODc2LVxcdFxcdFxcdFxcdHhmcm1fYXVkaXRfc3RhdGVfZGVsZXRlKHgsIDAsIHRhc2tfdmFsaWQpO1xcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTg4Nj14ZnJtX2Rldl9zdGF0ZV9mbHVzaF9zZWNjdHhfY2hlY2soc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBib29sIHRhc2tfdmFsaWQpXFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODk3LVxcdFxcdFxcdGlmICh4c28tXFx1MDAzZWRldiA9PSBkZXYgXFx1MDAyNlxcdTAwMjZcXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODk4OlxcdFxcdFxcdCAgIChlcnIgPSBzZWN1cml0eV94ZnJtX3N0YXRlX2RlbGV0ZSh4KSkgIT0gMCkge1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04OTktXFx0XFx0XFx0XFx0eGZybV9hdWRpdF9zdGF0ZV9kZWxldGUoeCwgMCwgdGFza192YWxpZCk7XFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9OTIxPWludCB4ZnJtX3N0YXRlX2ZsdXNoKHN0cnVjdCBuZXQgKm5ldCwgdTggcHJvdG8sIGJvb2wgdGFza192YWxpZClcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy05MzktXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjk0MDpcXHRcXHRcXHRcXHRlcnIgPSB4ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtOTQxLVxcdFxcdFxcdFxcdHhmcm1fYXVkaXRfc3RhdGVfZGVsZXRlKHgsIGVyciA/IDAgOiAxLFxcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTk2MT1pbnQgeGZybV9kZXZfc3RhdGVfZmx1c2goc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBib29sIHRhc2tfdmFsaWQpXFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtOTgyLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo5ODM6XFx0XFx0XFx0XFx0ZXJyID0geGZybV9zdGF0ZV9kZWxldGUoeCk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTk4NC1cXHRcXHRcXHRcXHR4ZnJtX2Rldl9zdGF0ZV9mcmVlKHgpO1xcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTE4OTU9aW50IHhmcm1fc3RhdGVfYWRkKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTE5MzktXFx0aWYgKHgxKSB7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjE5NDA6XFx0XFx0eGZybV9zdGF0ZV9kZWxldGUoeDEpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0xOTQxLVxcdFxcdHhmcm1fc3RhdGVfcHV0KHgxKTtcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYz0yMjI2PWludCB4ZnJtX3N0YXRlX3VwZGF0ZShzdHJ1Y3QgeGZybV9zdGF0ZSAqeClcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0yMjczLVxcdGlmICgheCkge1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzoyMjc0OlxcdFxcdHhmcm1fc3RhdGVfZGVsZXRlKHgxKTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMjI3NS1cXHRcXHR4ZnJtX3N0YXRlX3B1dCh4MSk7XFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9MzE0Nz1FWFBPUlRfU1lNQk9MKHhmcm1fZmx1c2hfZ2MpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0zMTQ4LVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzozMTQ5OnN0YXRpYyB2b2lkIHhmcm1fc3RhdGVfZGVsZXRlX3R1bm5lbChzdHJ1Y3QgeGZybV9zdGF0ZSAqeClcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMzE1MC17XFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMzE1NC1cXHRcXHRpZiAoYXRvbWljX2RlY19yZXR1cm4oXFx1MDAyNnQtXFx1MDAzZXR1bm5lbF91c2VycykgPT0gMSlcXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6MzE1NTpcXHRcXHRcXHR4ZnJtX3N0YXRlX2RlbGV0ZSh0KTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMzE1Ni1cXHRcXHR4ZnJtX3N0YXRlX3B1dCh0KTtcXG4tLVxcbm5ldC94ZnJtL3hmcm1fdXNlci5jPTExMTg9c3RhdGljIGludCB4ZnJtX2RlbF9zYShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCxcXG4tLVxcbm5ldC94ZnJtL3hmcm1fdXNlci5jLTExMzAtXFxubmV0L3hmcm0veGZybV91c2VyLmM6MTEzMTpcXHRpZiAoKGVyciA9IHNlY3VyaXR5X3hmcm1fc3RhdGVfZGVsZXRlKHgpKSAhPSAwKVxcbm5ldC94ZnJtL3hmcm1fdXNlci5jLTExMzItXFx0XFx0Z290byBvdXQ7XFxuLS1cXG5uZXQveGZybS94ZnJtX3VzZXIuYy0xMTM5LVxcbm5ldC94ZnJtL3hmcm1fdXNlci5jOjExNDA6XFx0ZXJyID0geGZybV9zdGF0ZV9kZWxldGUoeCk7XFxubmV0L3hmcm0veGZybV91c2VyLmMtMTE0MS1cXHRpZiAoZXJyIFxcdTAwM2MgMClcXG4tLVxcbm5ldC94ZnJtL3hmcm1fdXNlci5jPTMwMDQ9c3RhdGljIGludCB4ZnJtX2FkZF9zYV9leHBpcmUoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5sbXNnaGRyICpubGgsXFxuLS1cXG5uZXQveGZybS94ZnJtX3VzZXIuYy0zMDMxLVxcdGlmICh1ZS1cXHUwMDNlaGFyZCkge1xcbm5ldC94ZnJtL3hmcm1fdXNlci5jOjMwMzI6XFx0XFx0X194ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcXG5uZXQveGZybS94ZnJtX3VzZXIuYy0zMDMzLVxcdFxcdHhmcm1fYXVkaXRfc3RhdGVfZGVsZXRlKHgsIDEsIHRydWUpO1xcbi0tXFxubmV0L3hmcm0veGZybV91c2VyLmM9MzM0Mz1zdGF0aWMgaW50IHhmcm1fZG9fbWlncmF0ZV9zdGF0ZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCxcXG4tLVxcbm5ldC94ZnJtL3hmcm1fdXNlci5jLTM0ODUtXFx0eGZybV9taWdyYXRlX3N5bmMoeGMsIHgpOyAvKiB0byBwcmV2ZW50IFNOL0lWIHJldXNlICovXFxubmV0L3hmcm0veGZybV91c2VyLmM6MzQ4NjpcXHRfX3hmcm1fc3RhdGVfZGVsZXRlKHgpO1xcbm5ldC94ZnJtL3hmcm1fdXNlci5jLTM0ODctXFx0c3Bpbl91bmxvY2tfYmgoXFx1MDAyNngtXFx1MDAzZWxvY2spO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMVQwMTowODowMS44NTA0ODEwOTRaIiwiU2VxIjoxMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NzM0MjkyNzk3NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipGdXp6aW5nIHRoZSBYRlJNIFN0YXRlIERlbGV0aW9uIExvZ2ljKipcblxuT2theSwgc28gSSd2ZSBiZWVuIGxvb2tpbmcgYXQgdGhpcyBYRlJNIGNvZGUsIGFuZCBpdCdzIHByZXR0eSBjbGVhciB0aGF0IGB4ZnJtX3N0YXRlX2RlbGV0ZWAgYW5kLCBtb3JlIGltcG9ydGFudGx5LCBgX194ZnJtX3N0YXRlX2RlbGV0ZWAsIGFyZSB2dWxuZXJhYmxlLiBUaGV5J3JlIGRlZmluaXRlbHkgYWNjZXNzaWJsZSBmcm9tIHVzZXIgc3BhY2UsIHNwZWNpZmljYWxseSB0aHJvdWdoIG5ldGxpbmsgaW50ZXJhY3Rpb25zIGxpa2UgYHhmcm1fZGVsX3NhYCwgYHhmcm1fYWRkX3NhX2V4cGlyZWAsIGFuZCBgeGZybV9kb19taWdyYXRlX3N0YXRlYC4gVGhhdCBtYWtlcyB0aGVtIHByaW1lIHRhcmdldHMgZm9yIGZ1enppbmcuXG5cbk5vdywgY29uZmlndXJhdGlvbi13aXNlLCBJIHRoaW5rIGBYRlJNX1VTRVJgIGlzIHRoZSBrZXkuIExldCBtZSBkb3VibGUtY2hlY2suLi4gWWVzLCBgWEZSTV9VU0VSYCBwdWxscyBpbiBgWEZSTV9BTEdPYCwgd2hpY2ggaW4gdHVybiBicmluZ3MgaW4gYFhGUk1gLiBTbywgeWVhaCwgZW5hYmxpbmcgYFhGUk1fVVNFUmAgc2hvdWxkIGJlIHN1ZmZpY2llbnQgZm9yIHJlcHJvZHVjaW5nIHRoZSByZWxldmFudCBjb2RlIHBhdGhzLiBObyBuZWVkIHRvIG92ZXJjb21wbGljYXRlIHRoaW5ncy5cblxuU28sIGhlcmUncyB3aGF0IEknbSB0aGlua2luZyBpbiB0ZXJtcyBvZiBzZXR1cDpcblxuKiAgICoqV29ydGhGdXp6aW5nOioqIEFic29sdXRlbHkhXG4qICAgKipGb2N1c1N5bWJvbHM6KiogRGVmaW5pdGVseSBgX194ZnJtX3N0YXRlX2RlbGV0ZWAgYW5kIGB4ZnJtX3N0YXRlX2RlbGV0ZWAuIFRoZXNlIGFyZSB0aGUgZnVuY3Rpb25zIGRpcmVjdGx5IGltcGxpY2F0ZWQuXG4qICAgKipFbmFibGVDb25maWdzOioqIEp1c3QgYFhGUk1fVVNFUmAuXG4qICAgKipSZWFzb25pbmc6KiogVGhlIHBhdGNoIGFkZHJlc3NlcyBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZSBvciBkb3VibGUtZGVsZXRlIGluIGBfX3hmcm1fc3RhdGVfZGVsZXRlYC4gVGhlIGZpeCBpbnZvbHZlcyBjaGFuZ2luZyBgaGxpc3RfZGVsX3JjdWAgdG8gYGhsaXN0X2RlbF9pbml0X3JjdWAgZm9yIGBzdGF0ZV9jYWNoZWAgYW5kIGBzdGF0ZV9jYWNoZV9pbnB1dGAsIGVuc3VyaW5nIGBobGlzdF91bmhhc2hlZGAgcmV0dXJucyB0cnVlIG9uIHN1YnNlcXVlbnQgY2FsbHMuIFRoaXMgaXMgYSBjcnVjaWFsIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYRlJNIHN0YXRlIG1hbmFnZW1lbnQsIGFuZCB0aGUgZmFjdCB0aGF0IGl0J3MgcmVhY2hhYmxlIGZyb20gdXNlciBzcGFjZSB2aWEgbmV0bGluayBtYWtlcyBpdCBhIGhpZ2gtcHJpb3JpdHkgdGFyZ2V0IGZvciBmdXp6aW5nLiBXZSBuZWVkIHRvIHZlcmlmeSB0aGUgZml4IHRob3JvdWdobHkuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjg5MjUsIk91dHB1dFRva2VucyI6MTU3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzA2LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAxVDAxOjA4OjA5LjE5MzQxMjUxWiIsIlNlcSI6MTQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTU5NjU3ODA3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJYRlJNX1VTRVJcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJfX3hmcm1fc3RhdGVfZGVsZXRlXCIsXG4gICAgXCJ4ZnJtX3N0YXRlX2RlbGV0ZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIHVzZS1hZnRlci1mcmVlIG9yIGRvdWJsZS1kZWxldGUgaXNzdWUgaW4gYF9feGZybV9zdGF0ZV9kZWxldGVgIGJ5IHJlcGxhY2luZyBgaGxpc3RfZGVsX3JjdWAgd2l0aCBgaGxpc3RfZGVsX2luaXRfcmN1YCBmb3IgYHN0YXRlX2NhY2hlYCBhbmQgYHN0YXRlX2NhY2hlX2lucHV0YC4gVGhpcyBlbnN1cmVzIHRoYXQgYGhsaXN0X3VuaGFzaGVkYCByZXR1cm5zIHRydWUgb24gc3Vic2VxdWVudCBjYWxscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIFhGUk0gc3RhdGUgbWFuYWdlbWVudCBsb2dpYywgcmVhY2hhYmxlIGZyb20gdXNlciBzcGFjZSB2aWEgbmV0bGluay5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJYRlJNX1VTRVJcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJfX3hmcm1fc3RhdGVfZGVsZXRlXCIsXG4gICAgXCJ4ZnJtX3N0YXRlX2RlbGV0ZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIHVzZS1hZnRlci1mcmVlIG9yIGRvdWJsZS1kZWxldGUgaXNzdWUgaW4gYF9feGZybV9zdGF0ZV9kZWxldGVgIGJ5IHJlcGxhY2luZyBgaGxpc3RfZGVsX3JjdWAgd2l0aCBgaGxpc3RfZGVsX2luaXRfcmN1YCBmb3IgYHN0YXRlX2NhY2hlYCBhbmQgYHN0YXRlX2NhY2hlX2lucHV0YC4gVGhpcyBlbnN1cmVzIHRoYXQgYGhsaXN0X3VuaGFzaGVkYCByZXR1cm5zIHRydWUgb24gc3Vic2VxdWVudCBjYWxscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIFhGUk0gc3RhdGUgbWFuYWdlbWVudCBsb2dpYywgcmVhY2hhYmxlIGZyb20gdXNlciBzcGFjZSB2aWEgbmV0bGluay5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },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-workflowdzxdf[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-01 00:52:36 +0000 UTC FinishedAt: 2026-08-01 01:08:10 +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": "2195424c3da2ef1829a63b807e3a900a90e57d85", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "XFRM_USER" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "2195424c3da2ef1829a63b807e3a900a90e57d85", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "XFRM_USER" ], "series_id": "8c8ce303-b82f-48ed-b7a4-e6cf320dabe0" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "__xfrm_state_delete", "xfrm_state_delete" ], "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+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1hGUk1fVVNFUiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O19feGZybV9zdGF0ZV9kZWxldGUmIzM0OywKICAgICYjMzQ7eGZybV9zdGF0ZV9kZWxldGUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgZG91YmxlLWRlbGV0ZSBpc3N1ZSBpbiBgX194ZnJtX3N0YXRlX2RlbGV0ZWAgYnkgcmVwbGFjaW5nIGBobGlzdF9kZWxfcmN1YCB3aXRoIGBobGlzdF9kZWxfaW5pdF9yY3VgIGZvciBgc3RhdGVfY2FjaGVgIGFuZCBgc3RhdGVfY2FjaGVfaW5wdXRgLiBUaGlzIGVuc3VyZXMgdGhhdCBgaGxpc3RfdW5oYXNoZWRgIHJldHVybnMgdHJ1ZSBvbiBzdWJzZXF1ZW50IGNhbGxzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgWEZSTSBzdGF0ZSBtYW5hZ2VtZW50IGxvZ2ljLCByZWFjaGFibGUgZnJvbSB1c2VyIHNwYWNlIHZpYSBuZXRsaW5rLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgZTQxNWY2Y2ZhOWY3ZGU3YTkxOTdkZjJkMmVjZTA5Y2M5MGFkNDIyYVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgQXVnIDEgMDE6MDc6MzkgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L3hmcm0veGZybV9zdGF0ZS5jIGIvbmV0L3hmcm0veGZybV9zdGF0ZS5jXG5pbmRleCAzNmE0ZjY3OTNlZGVmLi5mNDk0YzFhYzU3YTQwIDEwMDY0NFxuLS0tIGEvbmV0L3hmcm0veGZybV9zdGF0ZS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQveGZybS94ZnJtX3N0YXRlLmNcbkBAIC04MjMsOSAmIzQzOzgyMyw5IEBAIGludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxuIFx0XHRpZiAoIWhsaXN0X3VuaGFzaGVkKFx1MDAyNngtXHUwMDNlYnlzZXEpKVxuIFx0XHRcdGhsaXN0X2RlbF9pbml0X3JjdShcdTAwMjZ4LVx1MDAzZWJ5c2VxKTtcbiBcdFx0aWYgKCFobGlzdF91bmhhc2hlZChcdTAwMjZ4LVx1MDAzZXN0YXRlX2NhY2hlKSlcbi1cdFx0XHRobGlzdF9kZWxfcmN1KFx1MDAyNngtXHUwMDNlc3RhdGVfY2FjaGUpO1xuJiM0MztcdFx0XHRobGlzdF9kZWxfaW5pdF9yY3UoXHUwMDI2eC1cdTAwM2VzdGF0ZV9jYWNoZSk7XG4gXHRcdGlmICghaGxpc3RfdW5oYXNoZWQoXHUwMDI2eC1cdTAwM2VzdGF0ZV9jYWNoZV9pbnB1dCkpXG4tXHRcdFx0aGxpc3RfZGVsX3JjdShcdTAwMjZ4LVx1MDAzZXN0YXRlX2NhY2hlX2lucHV0KTtcbiYjNDM7XHRcdFx0aGxpc3RfZGVsX2luaXRfcmN1KFx1MDAyNngtXHUwMDNlc3RhdGVfY2FjaGVfaW5wdXQpO1xuIFxuIFx0XHRpZiAoIWhsaXN0X3VuaGFzaGVkKFx1MDAyNngtXHUwMDNlYnlzcGkpKVxuIFx0XHRcdGhsaXN0X2RlbF9pbml0X3JjdShcdTAwMjZ4LVx1MDAzZWJ5c3BpKTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMSAwMTowNzwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7WEZSTV9VU0VSJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7X194ZnJtX3N0YXRlX2RlbGV0ZSYjMzQ7LAogICAgJiMzNDt4ZnJtX3N0YXRlX2RlbGV0ZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZSBvciBkb3VibGUtZGVsZXRlIGlzc3VlIGluIGBfX3hmcm1fc3RhdGVfZGVsZXRlYCBieSByZXBsYWNpbmcgYGhsaXN0X2RlbF9yY3VgIHdpdGggYGhsaXN0X2RlbF9pbml0X3JjdWAgZm9yIGBzdGF0ZV9jYWNoZWAgYW5kIGBzdGF0ZV9jYWNoZV9pbnB1dGAuIFRoaXMgZW5zdXJlcyB0aGF0IGBobGlzdF91bmhhc2hlZGAgcmV0dXJucyB0cnVlIG9uIHN1YnNlcXVlbnQgY2FsbHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBYRlJNIHN0YXRlIG1hbmFnZW1lbnQgbG9naWMsIHJlYWNoYWJsZSBmcm9tIHVzZXIgc3BhY2UgdmlhIG5ldGxpbmsuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBlNDE1ZjZjZmE5ZjdkZTdhOTE5N2RmMmQyZWNlMDljYzkwYWQ0MjJhCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFNhdCBBdWcgMSAwMTowNzozOSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL25ldC94ZnJtL3hmcm1fc3RhdGUuYyBiL25ldC94ZnJtL3hmcm1fc3RhdGUuYwppbmRleCAzNmE0ZjY3OTNlZGVmLi5mNDk0YzFhYzU3YTQwIDEwMDY0NAotLS0gYS9uZXQveGZybS94ZnJtX3N0YXRlLmMKJiM0MzsmIzQzOyYjNDM7IGIvbmV0L3hmcm0veGZybV9zdGF0ZS5jCkBAIC04MjMsOSAmIzQzOzgyMyw5IEBAIGludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KQogCQlpZiAoIWhsaXN0X3VuaGFzaGVkKCZhbXA7eC0mZ3Q7YnlzZXEpKQogCQkJaGxpc3RfZGVsX2luaXRfcmN1KCZhbXA7eC0mZ3Q7YnlzZXEpOwogCQlpZiAoIWhsaXN0X3VuaGFzaGVkKCZhbXA7eC0mZ3Q7c3RhdGVfY2FjaGUpKQotCQkJaGxpc3RfZGVsX3JjdSgmYW1wO3gtJmd0O3N0YXRlX2NhY2hlKTsKJiM0MzsJCQlobGlzdF9kZWxfaW5pdF9yY3UoJmFtcDt4LSZndDtzdGF0ZV9jYWNoZSk7CiAJCWlmICghaGxpc3RfdW5oYXNoZWQoJmFtcDt4LSZndDtzdGF0ZV9jYWNoZV9pbnB1dCkpCi0JCQlobGlzdF9kZWxfcmN1KCZhbXA7eC0mZ3Q7c3RhdGVfY2FjaGVfaW5wdXQpOwomIzQzOwkJCWhsaXN0X2RlbF9pbml0X3JjdSgmYW1wO3gtJmd0O3N0YXRlX2NhY2hlX2lucHV0KTsKIAogCQlpZiAoIWhsaXN0X3VuaGFzaGVkKCZhbXA7eC0mZ3Q7YnlzcGkpKQogCQkJaGxpc3RfZGVsX2luaXRfcmN1KCZhbXA7eC0mZ3Q7YnlzcGkpOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMSAwMTowNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMTQ5CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogODUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgYW5hbHlzaXMgb2YgdGhlIGNvZGUgY2hhbmdlOgoKKipBbmFseXppbmcgdGhlIHhmcm1fc3RhdGUuYyBQYXRjaCoqCgpPa2F5LCBzbyB3ZSYjMzk7dmUgZ290IGEgcGF0Y2ggdGhhdCYjMzk7cyB0d2Vha2luZyBgbmV0L3hmcm0veGZybV9zdGF0ZS5jYC4gSXQgbG9va3MgbGlrZSB0aGUgY29yZSBjaGFuZ2UgaW52b2x2ZXMgc3dpdGNoaW5nIGZyb20gYGhsaXN0X2RlbF9yY3VgIHRvIGBobGlzdF9kZWxfaW5pdF9yY3VgIGZvciBgeC0mZ3Q7c3RhdGVfY2FjaGVgIGFuZCBgeC0mZ3Q7c3RhdGVfY2FjaGVfaW5wdXRgIHdpdGhpbiB0aGUgYF9feGZybV9zdGF0ZV9kZWxldGVgIGZ1bmN0aW9uLiBUaGF0JiMzOTtzIGltbWVkaWF0ZWx5IGludGVyZXN0aW5nLCBiZWNhdXNlIHRob3NlIGFyZSBwcmV0dHkgY3JpdGljYWwgZGF0YSBzdHJ1Y3R1cmVzIGZvciBYRlJNIHN0YXRlIG1hbmFnZW1lbnQuIFRoZSBmYWN0IHRoYXQgdGhleSYjMzk7cmUgdXNpbmcgYHJjdWAgaGludHMgYXQgY29uY3VycmVuY3kgY29uY2VybnMsIGFuZCByZXBsYWNpbmcgYGhsaXN0X2RlbF9yY3VgIHdpdGggYGhsaXN0X2RlbF9pbml0X3JjdWAgdGVsbHMgbWUgd2UgYXJlIGNvbmNlcm5lZCBhYm91dCB0aGUgc3RhdGUgb2YgdGhlIGxpc3QgYWZ0ZXIgcmVtb3ZhbC4KCk15IGltbWVkaWF0ZSB0aG91Z2h0IGlzIHRvIGRpZyBpbnRvIGBfX3hmcm1fc3RhdGVfZGVsZXRlYCBpdHNlbGYuIEkgbmVlZCB0byB1bmRlcnN0YW5kICp3aHkqIHRoaXMgY2hhbmdlIGlzIGhhcHBlbmluZy4gV2hhdCYjMzk7cyB0aGUgY29udGV4dD8gV2hhdCYjMzk7cyB0aGUgcG90ZW50aWFsIGltcGFjdD8gYGhsaXN0X2RlbF9pbml0X3JjdWAsIGluIGNvbnRyYXN0IHRvIGp1c3QgYGhsaXN0X2RlbF9yY3VgLCBpbml0aWFsaXplcyB0aGUgbGlzdCBoZWFkIGFmdGVyIHJlbW92YWwsIHdoaWNoIHN1Z2dlc3RzIGl0IG1pZ2h0IGJlIHRvIHByZXZlbnQgdXNlLWFmdGVyLWZyZWUsIG9yIHBlcmhhcHMgdG8gZWFzZSBmdXR1cmUgaXRlcmF0aW9ucyBvciBsb29rdXBzIG9mIHRoZSBsaXN0LiBXZSBuZWVkIHRvIHNlZSBpZiB0aGVyZSBhcmUgYW55IHN1YnRsZSByYWNlIGNvbmRpdGlvbnMgYWRkcmVzc2VkIGJ5IHRoaXMgY2hhbmdlLCBhbmQgd2hhdCB0aGUgc3Vic2VxdWVudCBjb2RlIG1pZ2h0IGJlIGRvaW5nIHdpdGggdGhlc2UgbGlzdCBoZWFkcy4gT2theSwgbGV0JiMzOTtzIHN0YXJ0IGJ5IGxvb2tpbmcgYXQgdGhhdCBmdW5jdGlvbiBkZWZpbml0aW9uLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O19feGZybV9zdGF0ZV9kZWxldGUmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQveGZybS94ZnJtX3N0YXRlLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L3hmcm0veGZybV9zdGF0ZS5jPTIyOD1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKHhmcm1fc3RhdGVfZGV2X2djX2xvY2spO1xubmV0L3hmcm0veGZybV9zdGF0ZS5jLTIyOS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzoyMzA6aW50IF9feGZybV9zdGF0ZV9kZWxldGUoc3RydWN0IHhmcm1fc3RhdGUgKngpO1xubmV0L3hmcm0veGZybV9zdGF0ZS5jLTIzMS1cbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9NjM5PXN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCB4ZnJtX3RpbWVyX2hhbmRsZXIoc3RydWN0IGhydGltZXIgKm1lKVxuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy03MTctXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6NzE4Olx0ZXJyID0gX194ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy03MTktXHRpZiAoIWVycilcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9ODA5PUVYUE9SVF9TWU1CT0woX194ZnJtX3N0YXRlX2Rlc3Ryb3kpO1xubmV0L3hmcm0veGZybV9zdGF0ZS5jLTgxMC1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4MTE6aW50IF9feGZybV9zdGF0ZV9kZWxldGUoc3RydWN0IHhmcm1fc3RhdGUgKngpXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODEyLXtcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODQ5LX1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4NTA6RVhQT1JUX1NZTUJPTChfX3hmcm1fc3RhdGVfZGVsZXRlKTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NTEtXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9ODUyPWludCB4ZnJtX3N0YXRlX2RlbGV0ZShzdHJ1Y3QgeGZybV9zdGF0ZSAqeClcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODU2LVx0c3Bpbl9sb2NrX2JoKFx1MDAyNngtXHUwMDNlbG9jayk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODU3Olx0ZXJyID0gX194ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NTgtXHRzcGluX3VubG9ja19iaChcdTAwMjZ4LVx1MDAzZWxvY2spO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxMDkKCQkJCQkJCW91dHB1dDogMzEKCQkJCQkJCXRob3VnaHRzOiAxMjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBQYXRjaDogWEZSTSBTdGF0ZSBEZWxldGlvbioqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHplcm9pbmcgaW4gb24gYSBjcml0aWNhbCBmdW5jdGlvbjogYF9feGZybV9zdGF0ZV9kZWxldGVgLiBJdCBsb29rcyBsaWtlIGl0JiMzOTtzIGFkZHJlc3NpbmcgYSBzdWJ0bGUgYnV0IHBvdGVudGlhbGx5IG5hc3R5IHByb2JsZW0gd2l0aCBob3cgd2UmIzM5O3JlIGN1cnJlbnRseSBoYW5kbGluZyB0aGUgcmVtb3ZhbCBvZiBYRlJNIHN0YXRlIGVudHJpZXMuIFRoZSBjb3JlIG9mIHRoZSBpc3N1ZSBzdGVtcyBmcm9tIGBobGlzdF9kZWxfcmN1YC4gSXQgc2VlbXMgdGhhdCB0aGUgd2F5IHdlJiMzOTt2ZSBiZWVuIHVzaW5nIGl0LCB0aGUgbm9kZSBpcyAqbm90KiBnZXR0aW5nIHByb3Blcmx5IGluaXRpYWxpemVkIGFmdGVyIGJlaW5nIHJlbW92ZWQuIFRoaXMgb3BlbnMgdGhlIGRvb3IgdG8gYGhsaXN0X3VuaGFzaGVkYCByZXR1cm5pbmcgYSBmYWxzZSBwb3NpdGl2ZSBpZiBjYWxsZWQgc3Vic2VxdWVudGx5LCBldmVuIGlmIGl0IGhhcyBiZWVuIGRlbGV0ZWQuCgpUaGF0IGlzIGEgcmVjaXBlIGZvciBkaXNhc3RlcjogZG91YmxlIGZyZWVzIG9yIHVzZS1hZnRlci1mcmVlIGNvbmRpdGlvbnMuIFdlIG5lZWQgdG8gYmUgZXNwZWNpYWxseSBjYXJlZnVsIHdpdGggdGhhdDsgaXQmIzM5O3MgYSBjcml0aWNhbCBhcmVhLgoKVGhlIGZpeCwgdGhhbmtmdWxseSwgaXMgc3RyYWlnaHRmb3J3YXJkOiBzd2l0Y2hpbmcgdG8gYGhsaXN0X2RlbF9pbml0X3JjdWAuIFRoaXMgZ3VhcmFudGVlcyBpbml0aWFsaXphdGlvbiBvZiB0aGUgbm9kZSwgd2hpY2ggc2hvdWxkIGZpeCB0aGUgcm9vdCBwcm9ibGVtIHdpdGggYGhsaXN0X3VuaGFzaGVkYC4gSXQgbWFrZXMgc2Vuc2UuIEl0JiMzOTtzIGNsZWFuIGFuZCBlbGVnYW50LCBob3BlZnVsbHkgdGhpcyBzb2x2ZXMgdGhlIHByb2JsZW0uCgpHaXZlbiB0aGUgcG90ZW50aWFsIGZvciBzdWJ0bGUgbWVtb3J5IGNvcnJ1cHRpb24gaGVyZSwgdGhpcyBpcyBkZWZpbml0ZWx5IHNvbWV0aGluZyB3b3J0aCBmdXp6aW5nLiBJJiMzOTttIGdvaW5nIHRvIGZsYWcgYF9feGZybV9zdGF0ZV9kZWxldGVgIGFuZCBgeGZybV9zdGF0ZV9kZWxldGVgIGFzIHRoZSBwcmltYXJ5IGZvY3VzIGFyZWFzIGZvciB0aGUgZnV6emluZyBjYW1wYWlnbi4gSSYjMzk7bGwgbmVlZCB0byBjb25maWd1cmUgdGhlIGZ1enppbmcgZW52aXJvbm1lbnQgd2l0aCBgWEZSTWAgZW5hYmxlZCwgb2YgY291cnNlLCB0byBtYWtlIHN1cmUgdGhpcyBjb2RlIGlzIGV4ZXJjaXNlZCBkdXJpbmcgdGVzdGluZy4gSSYjMzk7bGwgbmVlZCB0byBtYWtlIHN1cmUgdGhlIGZ1enppbmcgcHJvY2VzcyBoaXRzIHRoaXMgY2hhbmdlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBYRlJNJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3hmcm0vS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQveGZybS9LY29uZmlnLTQtI1xubmV0L3hmcm0vS2NvbmZpZzo1OmNvbmZpZyBYRlJNXG5uZXQveGZybS9LY29uZmlnLTYtXHRib29sXG4tLVxubmV0L3hmcm0vS2NvbmZpZy0xMC1cbm5ldC94ZnJtL0tjb25maWc6MTE6Y29uZmlnIFhGUk1fT0ZGTE9BRFxubmV0L3hmcm0vS2NvbmZpZy0xMi1cdGJvb2xcbm5ldC94ZnJtL0tjb25maWctMTMtXG5uZXQveGZybS9LY29uZmlnOjE0OmNvbmZpZyBYRlJNX0FMR09cbm5ldC94ZnJtL0tjb25maWctMTUtXHR0cmlzdGF0ZVxuLS1cbm5ldC94ZnJtL0tjb25maWc9MjI9aWYgSU5FVFxubmV0L3hmcm0vS2NvbmZpZzoyMzpjb25maWcgWEZSTV9VU0VSXG5uZXQveGZybS9LY29uZmlnLTI0LVx0dHJpc3RhdGUgXCYjMzQ7VHJhbnNmb3JtYXRpb24gdXNlciBjb25maWd1cmF0aW9uIGludGVyZmFjZVwmIzM0O1xuLS1cbm5ldC94ZnJtL0tjb25maWctMzEtXG5uZXQveGZybS9LY29uZmlnOjMyOmNvbmZpZyBYRlJNX1VTRVJfQ09NUEFUXG5uZXQveGZybS9LY29uZmlnLTMzLVx0dHJpc3RhdGUgXCYjMzQ7Q29tcGF0aWJsZSBBQkkgc3VwcG9ydFwmIzM0O1xuLS1cbm5ldC94ZnJtL0tjb25maWctNDItXG5uZXQveGZybS9LY29uZmlnOjQzOmNvbmZpZyBYRlJNX0lOVEVSRkFDRVxubmV0L3hmcm0vS2NvbmZpZy00NC1cdHRyaXN0YXRlIFwmIzM0O1RyYW5zZm9ybWF0aW9uIHZpcnR1YWwgaW50ZXJmYWNlXCYjMzQ7XG4tLVxubmV0L3hmcm0vS2NvbmZpZy01MC1cbm5ldC94ZnJtL0tjb25maWc6NTE6Y29uZmlnIFhGUk1fU1VCX1BPTElDWVxubmV0L3hmcm0vS2NvbmZpZy01Mi1cdGJvb2wgXCYjMzQ7VHJhbnNmb3JtYXRpb24gc3ViIHBvbGljeSBzdXBwb3J0XCYjMzQ7XG4tLVxubmV0L3hmcm0vS2NvbmZpZy02MC1cbm5ldC94ZnJtL0tjb25maWc6NjE6Y29uZmlnIFhGUk1fTUlHUkFURVxubmV0L3hmcm0vS2NvbmZpZy02Mi1cdGJvb2wgXCYjMzQ7VHJhbnNmb3JtYXRpb24gbWlncmF0ZSBkYXRhYmFzZVwmIzM0O1xuLS1cbm5ldC94ZnJtL0tjb25maWctNzEtXG5uZXQveGZybS9LY29uZmlnOjcyOmNvbmZpZyBYRlJNX1NUQVRJU1RJQ1Ncbm5ldC94ZnJtL0tjb25maWctNzMtXHRib29sIFwmIzM0O1RyYW5zZm9ybWF0aW9uIHN0YXRpc3RpY3NcJiMzNDtcbi0tXG5uZXQveGZybS9LY29uZmlnLTgzLSMgUkZDIDgyMjEgbGlzdHMgYXMgTVVTVCBiZSBpbXBsZW1lbnRlZC5cbm5ldC94ZnJtL0tjb25maWc6ODQ6Y29uZmlnIFhGUk1fQUhcbm5ldC94ZnJtL0tjb25maWctODUtXHR0cmlzdGF0ZVxuLS1cbm5ldC94ZnJtL0tjb25maWctOTItIyBhbGdvcml0aG1zIHRoYXQgUkZDIDgyMjEgbGlzdHMgYXMgTVVTVCBiZSBpbXBsZW1lbnRlZC5cbm5ldC94ZnJtL0tjb25maWc6OTM6Y29uZmlnIFhGUk1fRVNQXG5uZXQveGZybS9LY29uZmlnLTk0LVx0dHJpc3RhdGVcbi0tXG5uZXQveGZybS9LY29uZmlnLTEwNS1cbm5ldC94ZnJtL0tjb25maWc6MTA2OmNvbmZpZyBYRlJNX0lQQ09NUFxubmV0L3hmcm0vS2NvbmZpZy0xMDctXHR0cmlzdGF0ZVxuLS1cbm5ldC94ZnJtL0tjb25maWc9MTI1PWNvbmZpZyBORVRfS0VZX01JR1JBVEVcbi0tXG5uZXQveGZybS9LY29uZmlnLTE0MC1cbm5ldC94ZnJtL0tjb25maWc6MTQxOmNvbmZpZyBYRlJNX0lQVEZTXG5uZXQveGZybS9LY29uZmlnLTE0Mi1cdHRyaXN0YXRlIFwmIzM0O0lQc2VjIElQLVRGUy9BR0dGUkFHIChSRkMgOTM0NykgZW5jYXBzdWxhdGlvbiBzdXBwb3J0XCYjMzQ7XG4tLVxubmV0L3hmcm0vS2NvbmZpZy0xNTYtXG5uZXQveGZybS9LY29uZmlnOjE1Nzpjb25maWcgWEZSTV9FU1BJTlRDUFxubmV0L3hmcm0vS2NvbmZpZy0xNTgtXHRib29sXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDEgMDE6MDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDM4NwoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDU4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duLgoKKipJbnZlc3RpZ2F0aW5nIHRoZSBDb25maWd1cmF0aW9uIERlcGVuZGVuY3kgb2YgWEZSTSoqCgpBbHJpZ2h0LCBJIG5lZWQgdG8gZmlndXJlIG91dCB3aGF0JiMzOTtzIGVuYWJsaW5nIGBYRlJNYC4gSXQmIzM5O3MgYSBgYm9vbGAgY29uZmlnLCBhbmQgdGhlcmUmIzM5O3Mgbm8gdmlzaWJsZSBwcm9tcHQsIG1lYW5pbmcgc29tZXRoaW5nIGVsc2UgaXMgc2V0dGluZyBpdC4gTXkgaW1tZWRpYXRlIHRob3VnaHQgaXMsICYjMzQ7V2hlcmUmIzM5O3MgdGhlIGRlcGVuZGVuY3kgZGVmaW5lZD8mIzM0OyBTaW5jZSBgWEZSTV9VU0VSYCBzZWVtcyByZWxhdGVkIGFuZCAqbWlnaHQqIGJlIHRoZSB0cmlnZ2VyLCBJJiMzOTtsbCBzdGFydCB0aGVyZS4gTGV0JiMzOTtzIHNlZSBpZiBgWEZSTV9VU0VSYCBzZWxlY3RzIGBYRlJNYC4gVGhlIGJlc3QgcGxhY2UgdG8gZmluZCB0aGF0IGFuc3dlciBpcyBpbiBgbmV0L3hmcm0vS2NvbmZpZ2AuIFRpbWUgdG8gZGlnIGludG8gdGhhdCBmaWxlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7bmV0L3hmcm0vS2NvbmZpZyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMTAwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAgIDE6XHQjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcbiAgIDI6XHQjXG4gICAzOlx0IyBYRlJNIGNvbmZpZ3VyYXRpb25cbiAgIDQ6XHQjXG4gICA1Olx0Y29uZmlnIFhGUk1cbiAgIDY6XHRcdGJvb2xcbiAgIDc6XHRcdGRlcGVuZHMgb24gSU5FVFxuICAgODpcdFx0c2VsZWN0IEdST19DRUxMU1xuICAgOTpcdFx0c2VsZWN0IFNLQl9FWFRFTlNJT05TXG4gIDEwOlx0XG4gIDExOlx0Y29uZmlnIFhGUk1fT0ZGTE9BRFxuICAxMjpcdFx0Ym9vbFxuICAxMzpcdFxuICAxNDpcdGNvbmZpZyBYRlJNX0FMR09cbiAgMTU6XHRcdHRyaXN0YXRlXG4gIDE2Olx0XHRzZWxlY3QgWEZSTVxuICAxNzpcdFx0c2VsZWN0IENSWVBUT1xuICAxODpcdFx0c2VsZWN0IENSWVBUT19BRUFEXG4gIDE5Olx0XHRzZWxlY3QgQ1JZUFRPX0hBU0hcbiAgMjA6XHRcdHNlbGVjdCBDUllQVE9fU0tDSVBIRVJcbiAgMjE6XHRcbiAgMjI6XHRpZiBJTkVUXG4gIDIzOlx0Y29uZmlnIFhGUk1fVVNFUlxuICAyNDpcdFx0dHJpc3RhdGUgXCYjMzQ7VHJhbnNmb3JtYXRpb24gdXNlciBjb25maWd1cmF0aW9uIGludGVyZmFjZVwmIzM0O1xuICAyNTpcdFx0c2VsZWN0IFhGUk1fQUxHT1xuICAyNjpcdFx0aGVscFxuICAyNzpcdFx0ICBTdXBwb3J0IGZvciBUcmFuc2Zvcm1hdGlvbihYRlJNKSB1c2VyIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlXG4gIDI4Olx0XHQgIGxpa2UgSVBzZWMgdXNlZCBieSBuYXRpdmUgTGludXggdG9vbHMuXG4gIDI5Olx0XG4gIDMwOlx0XHQgIElmIHVuc3VyZSwgc2F5IFkuXG4gIDMxOlx0XG4gIDMyOlx0Y29uZmlnIFhGUk1fVVNFUl9DT01QQVRcbiAgMzM6XHRcdHRyaXN0YXRlIFwmIzM0O0NvbXBhdGlibGUgQUJJIHN1cHBvcnRcJiMzNDtcbiAgMzQ6XHRcdGRlcGVuZHMgb24gWEZSTV9VU0VSIFx1MDAyNlx1MDAyNiBDT01QQVRfRk9SX1U2NF9BTElHTk1FTlQgXHUwMDI2XHUwMDI2IFxcXG4gIDM1Olx0XHRcdEhBVkVfRUZGSUNJRU5UX1VOQUxJR05FRF9BQ0NFU1NcbiAgMzY6XHRcdHNlbGVjdCBXQU5UX0NPTVBBVF9ORVRMSU5LX01FU1NBR0VTXG4gIDM3Olx0XHRoZWxwXG4gIDM4Olx0XHQgIFRyYW5zZm9ybWF0aW9uKFhGUk0pIHVzZXIgY29uZmlndXJhdGlvbiBpbnRlcmZhY2UgbGlrZSBJUHNlY1xuICAzOTpcdFx0ICB1c2VkIGJ5IGNvbXBhdGlibGUgTGludXggYXBwbGljYXRpb25zLlxuICA0MDpcdFxuICA0MTpcdFx0ICBJZiB1bnN1cmUsIHNheSBOLlxuICA0MjpcdFxuICA0MzpcdGNvbmZpZyBYRlJNX0lOVEVSRkFDRVxuICA0NDpcdFx0dHJpc3RhdGUgXCYjMzQ7VHJhbnNmb3JtYXRpb24gdmlydHVhbCBpbnRlcmZhY2VcJiMzNDtcbiAgNDU6XHRcdGRlcGVuZHMgb24gWEZSTSBcdTAwMjZcdTAwMjYgSVBWNlxuICA0NjpcdFx0aGVscFxuICA0NzpcdFx0ICBUaGlzIHByb3ZpZGVzIGEgdmlydHVhbCBpbnRlcmZhY2UgdG8gcm91dGUgSVBzZWMgdHJhZmZpYy5cbiAgNDg6XHRcbiAgNDk6XHRcdCAgSWYgdW5zdXJlLCBzYXkgTi5cbiAgNTA6XHRcbiAgNTE6XHRjb25maWcgWEZSTV9TVUJfUE9MSUNZXG4gIDUyOlx0XHRib29sIFwmIzM0O1RyYW5zZm9ybWF0aW9uIHN1YiBwb2xpY3kgc3VwcG9ydFwmIzM0O1xuICA1MzpcdFx0ZGVwZW5kcyBvbiBYRlJNXG4gIDU0Olx0XHRoZWxwXG4gIDU1Olx0XHQgIFN1cHBvcnQgc3ViIHBvbGljeSBmb3IgZGV2ZWxvcGVycy4gQnkgdXNpbmcgc3ViIHBvbGljeSB3aXRoIG1haW5cbiAgNTY6XHRcdCAgb25lLCB0d28gcG9saWNpZXMgY2FuIGJlIGFwcGxpZWQgdG8gdGhlIHNhbWUgcGFja2V0IGF0IG9uY2UuXG4gIDU3Olx0XHQgIFBvbGljeSB3aGljaCBsaXZlcyBzaG9ydGVyIHRpbWUgaW4ga2VybmVsIHNob3VsZCBiZSBhIHN1Yi5cbiAgNTg6XHRcbiAgNTk6XHRcdCAgSWYgdW5zdXJlLCBzYXkgTi5cbiAgNjA6XHRcbiAgNjE6XHRjb25maWcgWEZSTV9NSUdSQVRFXG4gIDYyOlx0XHRib29sIFwmIzM0O1RyYW5zZm9ybWF0aW9uIG1pZ3JhdGUgZGF0YWJhc2VcJiMzNDtcbiAgNjM6XHRcdGRlcGVuZHMgb24gWEZSTVxuICA2NDpcdFx0aGVscFxuICA2NTpcdFx0ICBBIGZlYXR1cmUgdG8gdXBkYXRlIGxvY2F0b3Iocykgb2YgYSBnaXZlbiBJUHNlYyBzZWN1cml0eVxuICA2NjpcdFx0ICBhc3NvY2lhdGlvbiBkeW5hbWljYWxseS4gIFRoaXMgZmVhdHVyZSBpcyByZXF1aXJlZCwgZm9yXG4gIDY3Olx0XHQgIGluc3RhbmNlLCBpbiBhIE1vYmlsZSBJUHY2IGVudmlyb25tZW50IHdpdGggSVBzZWMgY29uZmlndXJhdGlvblxuICA2ODpcdFx0ICB3aGVyZSBtb2JpbGUgbm9kZXMgY2hhbmdlIHRoZWlyIGF0dGFjaG1lbnQgcG9pbnQgdG8gdGhlIEludGVybmV0LlxuICA2OTpcdFxuICA3MDpcdFx0ICBJZiB1bnN1cmUsIHNheSBOLlxuICA3MTpcdFxuICA3MjpcdGNvbmZpZyBYRlJNX1NUQVRJU1RJQ1NcbiAgNzM6XHRcdGJvb2wgXCYjMzQ7VHJhbnNmb3JtYXRpb24gc3RhdGlzdGljc1wmIzM0O1xuICA3NDpcdFx0ZGVwZW5kcyBvbiBYRlJNIFx1MDAyNlx1MDAyNiBQUk9DX0ZTXG4gIDc1Olx0XHRoZWxwXG4gIDc2Olx0XHQgIFRoaXMgc3RhdGlzdGljcyBpcyBub3QgYSBTTk1QL01JQiBzcGVjaWZpY2F0aW9uIGJ1dCBzaG93c1xuICA3NzpcdFx0ICBzdGF0aXN0aWNzIGFib3V0IHRyYW5zZm9ybWF0aW9uIGVycm9yIChvciBhbG1vc3QgZXJyb3IpIGZhY3RvclxuICA3ODpcdFx0ICBhdCBwYWNrZXQgcHJvY2Vzc2luZyBmb3IgZGV2ZWxvcGVyLlxuICA3OTpcdFxuICA4MDpcdFx0ICBJZiB1bnN1cmUsIHNheSBOLlxuICA4MTpcdFxuICA4MjpcdCMgVGhpcyBvcHRpb24gc2VsZWN0cyBYRlJNX0FMR08gYWxvbmcgd2l0aCB0aGUgQUggYXV0aGVudGljYXRpb24gYWxnb3JpdGhtcyB0aGF0XG4gIDgzOlx0IyBSRkMgODIyMSBsaXN0cyBhcyBNVVNUIGJlIGltcGxlbWVudGVkLlxuICA4NDpcdGNvbmZpZyBYRlJNX0FIXG4gIDg1Olx0XHR0cmlzdGF0ZVxuICA4NjpcdFx0c2VsZWN0IFhGUk1fQUxHT1xuICA4NzpcdFx0c2VsZWN0IENSWVBUT1xuICA4ODpcdFx0c2VsZWN0IENSWVBUT19ITUFDXG4gIDg5Olx0XHRzZWxlY3QgQ1JZUFRPX1NIQTI1NlxuICA5MDpcdFxuICA5MTpcdCMgVGhpcyBvcHRpb24gc2VsZWN0cyBYRlJNX0FMR08gYWxvbmcgd2l0aCB0aGUgRVNQIGVuY3J5cHRpb24gYW5kIGF1dGhlbnRpY2F0aW9uXG4gIDkyOlx0IyBhbGdvcml0aG1zIHRoYXQgUkZDIDgyMjEgbGlzdHMgYXMgTVVTVCBiZSBpbXBsZW1lbnRlZC5cbiAgOTM6XHRjb25maWcgWEZSTV9FU1BcbiAgOTQ6XHRcdHRyaXN0YXRlXG4gIDk1Olx0XHRzZWxlY3QgWEZSTV9BTEdPXG4gIDk2Olx0XHRzZWxlY3QgQ1JZUFRPXG4gIDk3Olx0XHRzZWxlY3QgQ1JZUFRPX0FFU1xuICA5ODpcdFx0c2VsZWN0IENSWVBUT19BVVRIRU5DXG4gIDk5Olx0XHRzZWxlY3QgQ1JZUFRPX0NCQ1xuIDEwMDpcdFx0c2VsZWN0IENSWVBUT19FQ0hBSU5JVlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDU4NDIKCQkJCQkJCW91dHB1dDogMzIKCQkJCQkJCXRob3VnaHRzOiA4OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBzaXR1YXRpb246CgoqKlhGUk0gQ29uZmlndXJhdGlvbiBEZXBlbmRlbmN5IEFuYWx5c2lzKioKCk9rYXksIHNvIGl0IGxvb2tzIGxpa2UgZW5hYmxpbmcgYFhGUk1fVVNFUmAgaXMgYSBwcmV0dHkgc2FmZSBiZXQsIGdpdmVuIHRoYXQgaXQgc2VsZWN0cyBgWEZSTV9BTEdPYCwgd2hpY2ggaW4gdHVybiwgY2xlYXJseSBkZXBlbmRzIG9uIGBYRlJNYC4gVGhhdCBtYWtlcyBsb2dpY2FsIHNlbnNlLCB0aGUgdXNlci1zcGFjZSBpbnRlcmZhY2UgZm9yIHRoZSB0cmFuc2Zvcm0gc3Vic3lzdGVtIHByb2JhYmx5IHJlcXVpcmVzIHRoZSBjb3JlIGZ1bmN0aW9uYWxpdHkgdG8gYmUgZW5hYmxlZC4KCk5vdywgSSYjMzk7bSB0aGlua2luZywgbGV0JiMzOTtzIG1ha2Ugc3VyZSB3ZSYjMzk7dmUgZ290IGV2ZXJ5dGhpbmcgd2UgbmVlZC4gRGlnZ2luZyBhIGxpdHRsZSBkZWVwZXIuLi4gQWgsIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgYG5ldC94ZnJtL3hmcm1fc3RhdGUuY2AuIFJpZ2h0LCBgeGZybV9zdGF0ZS5jYCBpcyBjb21waWxlZCAqaWYqIGBYRlJNYCBpcyBlbmFibGVkLiBUaGF0IGNvbmZpcm1zIHRoZSBkZXBlbmRlbmN5IGNoYWluLiBgWEZSTV9VU0VSYCBsb29rcyBsaWtlIGEgZ29vZCBzdGFydGluZyBwb2ludCwgYW5kIHdlJiMzOTtyZSBjb3ZlcmluZyB0aGUgYmFzZSBjb2RlIGRlcGVuZGVuY2llcyBieSBtYWtpbmcgc3VyZSB3ZSYjMzk7cmUgaW5jbHVkaW5nIGBYRlJNYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDEgMDE6MDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7eGZybV9zdGF0ZS5vJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3hmcm0vTWFrZWZpbGUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L3hmcm0vTWFrZWZpbGU9MTI9ZW5kaWZcbm5ldC94ZnJtL01ha2VmaWxlLTEzLVxubmV0L3hmcm0vTWFrZWZpbGU6MTQ6b2JqLSQoQ09ORklHX1hGUk0pIDo9IHhmcm1fcG9saWN5Lm8geGZybV9zdGF0ZS5vIHhmcm1faGFzaC5vIFxcXG5uZXQveGZybS9NYWtlZmlsZS0xNS1cdFx0ICAgICAgeGZybV9pbnB1dC5vIHhmcm1fb3V0cHV0Lm8gXFxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDEgMDE6MDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNjI2MAoJCQkJCQkJb3V0cHV0OiAzMQoJCQkJCQkJdGhvdWdodHM6IDg3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd24gbWVudGFsIHByb2Nlc3Npbmc6CgoqKlhGUk0gQ29uZmlndXJhdGlvbiBEZWVwIERpdmUqKgoKQWxyaWdodCwgdGhhdCBsb29rcyByaWdodC4gQ29uc2lkZXJpbmcgdGhlIHRhc2sgYXQgaGFuZCwgYENPTkZJR19YRlJNYCBpcyBkZWZpbml0ZWx5IHRoZSBrZXkgY29uZmlndXJhdGlvbiBvcHRpb24gd2UgbmVlZCB0byBmb2N1cyBvbi4gVG8gZW5zdXJlIHRoYXQgdGhlIFhGUk0gaW5mcmFzdHJ1Y3R1cmUgaXMgZnVsbHkgb3BlcmF0aW9uYWwgYW5kLCBjcml0aWNhbGx5LCBhY2Nlc3NpYmxlIGZyb20gdXNlciBzcGFjZSwgSSYjMzk7bSBnb2luZyB0byBleHBsaWNpdGx5IGVuYWJsZSBgWEZSTV9VU0VSYC4gVGhhdCYjMzk7cyB0aGUgY2xlYW5lciBhcHByb2FjaC4KCk5vdywganVzdCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4sIGl0JiMzOTtzIHdvcnRoIGEgcXVpY2sgcmV2aWV3IG9mIHRoZSByZWxldmFudCBkZWxldGlvbiBmdW5jdGlvbnMuIExldCYjMzk7cyBtYWtlIHN1cmUgdGhhdCBgX194ZnJtX3N0YXRlX2RlbGV0ZWAgYW5kLCBvZiBjb3Vyc2UsIHRoZSBleHBvcnRlZCBgeGZybV9zdGF0ZV9kZWxldGVgIGFyZSBiZWhhdmluZyBhcyBleHBlY3RlZC4gQWggeWVzLCBgeGZybV9zdGF0ZV9kZWxldGVgIGlzIGluZGVlZCBleHBvcnRlZCBhbmQgdXRpbGl6ZWQgd2l0aGluIGB4ZnJtX3VzZXIuY2AgYW5kIGVsc2V3aGVyZS4gR29vZCwgdGhhdCYjMzk7cyB3aGF0IEkgbmVlZGVkIHRvIGNvbmZpcm0uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAxIDAxOjA4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3hmcm1fc3RhdGVfZGVsZXRlJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3hmcm0vJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC94ZnJtL3hmcm1fc3RhdGUuYz0yMjg9c3RhdGljIERFRklORV9TUElOTE9DSyh4ZnJtX3N0YXRlX2Rldl9nY19sb2NrKTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0yMjktXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6MjMwOmludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0yMzEtXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTU5Mz1FWFBPUlRfU1lNQk9MKHhmcm1fc3RhdGVfZnJlZSk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmMtNTk0LVxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjU5NTpzdGF0aWMgdm9pZCB4ZnJtX3N0YXRlX2RlbGV0ZV90dW5uZWwoc3RydWN0IHhmcm1fc3RhdGUgKngpO1xubmV0L3hmcm0veGZybV9zdGF0ZS5jLTU5Ni1zdGF0aWMgdm9pZCB4ZnJtX3N0YXRlX2djX2Rlc3Ryb3koc3RydWN0IHhmcm1fc3RhdGUgKngpXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTYxMC1cdHhmcm1fdW5zZXRfdHlwZV9vZmZsb2FkKHgpO1xubmV0L3hmcm0veGZybV9zdGF0ZS5jOjYxMTpcdHhmcm1fc3RhdGVfZGVsZXRlX3R1bm5lbCh4KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy02MTItXHRpZiAoeC1cdTAwM2V0eXBlKSB7XG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTYzOT1zdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgeGZybV90aW1lcl9oYW5kbGVyKHN0cnVjdCBocnRpbWVyICptZSlcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtNzE3LVxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjcxODpcdGVyciA9IF9feGZybV9zdGF0ZV9kZWxldGUoeCk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmMtNzE5LVx0aWYgKCFlcnIpXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTgwOT1FWFBPUlRfU1lNQk9MKF9feGZybV9zdGF0ZV9kZXN0cm95KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04MTAtXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODExOmludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTgxMi17XG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTgzNy1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4Mzg6XHRcdHhmcm1fc3RhdGVfZGVsZXRlX3R1bm5lbCh4KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04MzktXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg0OS19XG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODUwOkVYUE9SVF9TWU1CT0woX194ZnJtX3N0YXRlX2RlbGV0ZSk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODUxLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjg1MjppbnQgeGZybV9zdGF0ZV9kZWxldGUoc3RydWN0IHhmcm1fc3RhdGUgKngpXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODUzLXtcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODU2LVx0c3Bpbl9sb2NrX2JoKFx1MDAyNngtXHUwMDNlbG9jayk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODU3Olx0ZXJyID0gX194ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NTgtXHRzcGluX3VubG9ja19iaChcdTAwMjZ4LVx1MDAzZWxvY2spO1xuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NjEtfVxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjg2MjpFWFBPUlRfU1lNQk9MKHhmcm1fc3RhdGVfZGVsZXRlKTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NjMtXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTg2Nj14ZnJtX3N0YXRlX2ZsdXNoX3NlY2N0eF9jaGVjayhzdHJ1Y3QgbmV0ICpuZXQsIHU4IHByb3RvLCBib29sIHRhc2tfdmFsaWQpXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg3NC1cdFx0XHRpZiAoeGZybV9pZF9wcm90b19tYXRjaCh4LVx1MDAzZWlkLnByb3RvLCBwcm90bykgXHUwMDI2XHUwMDI2XG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODc1Olx0XHRcdCAgIChlcnIgPSBzZWN1cml0eV94ZnJtX3N0YXRlX2RlbGV0ZSh4KSkgIT0gMCkge1xubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg3Ni1cdFx0XHRcdHhmcm1fYXVkaXRfc3RhdGVfZGVsZXRlKHgsIDAsIHRhc2tfdmFsaWQpO1xuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYz04ODY9eGZybV9kZXZfc3RhdGVfZmx1c2hfc2VjY3R4X2NoZWNrKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgYm9vbCB0YXNrX3ZhbGlkKVxuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04OTctXHRcdFx0aWYgKHhzby1cdTAwM2VkZXYgPT0gZGV2IFx1MDAyNlx1MDAyNlxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjg5ODpcdFx0XHQgICAoZXJyID0gc2VjdXJpdHlfeGZybV9zdGF0ZV9kZWxldGUoeCkpICE9IDApIHtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04OTktXHRcdFx0XHR4ZnJtX2F1ZGl0X3N0YXRlX2RlbGV0ZSh4LCAwLCB0YXNrX3ZhbGlkKTtcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9OTIxPWludCB4ZnJtX3N0YXRlX2ZsdXNoKHN0cnVjdCBuZXQgKm5ldCwgdTggcHJvdG8sIGJvb2wgdGFza192YWxpZClcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtOTM5LVxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjk0MDpcdFx0XHRcdGVyciA9IHhmcm1fc3RhdGVfZGVsZXRlKHgpO1xubmV0L3hmcm0veGZybV9zdGF0ZS5jLTk0MS1cdFx0XHRcdHhmcm1fYXVkaXRfc3RhdGVfZGVsZXRlKHgsIGVyciA/IDAgOiAxLFxuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYz05NjE9aW50IHhmcm1fZGV2X3N0YXRlX2ZsdXNoKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgYm9vbCB0YXNrX3ZhbGlkKVxuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy05ODItXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6OTgzOlx0XHRcdFx0ZXJyID0geGZybV9zdGF0ZV9kZWxldGUoeCk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmMtOTg0LVx0XHRcdFx0eGZybV9kZXZfc3RhdGVfZnJlZSh4KTtcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9MTg5NT1pbnQgeGZybV9zdGF0ZV9hZGQoc3RydWN0IHhmcm1fc3RhdGUgKngpXG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTE5MzktXHRpZiAoeDEpIHtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzoxOTQwOlx0XHR4ZnJtX3N0YXRlX2RlbGV0ZSh4MSk7XG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMTk0MS1cdFx0eGZybV9zdGF0ZV9wdXQoeDEpO1xuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYz0yMjI2PWludCB4ZnJtX3N0YXRlX3VwZGF0ZShzdHJ1Y3QgeGZybV9zdGF0ZSAqeClcbi0tXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMjI3My1cdGlmICgheCkge1xubmV0L3hmcm0veGZybV9zdGF0ZS5jOjIyNzQ6XHRcdHhmcm1fc3RhdGVfZGVsZXRlKHgxKTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0yMjc1LVx0XHR4ZnJtX3N0YXRlX3B1dCh4MSk7XG4tLVxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTMxNDc9RVhQT1JUX1NZTUJPTCh4ZnJtX2ZsdXNoX2djKTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0zMTQ4LVxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjMxNDk6c3RhdGljIHZvaWQgeGZybV9zdGF0ZV9kZWxldGVfdHVubmVsKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTMxNTAte1xuLS1cbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0zMTU0LVx0XHRpZiAoYXRvbWljX2RlY19yZXR1cm4oXHUwMDI2dC1cdTAwM2V0dW5uZWxfdXNlcnMpID09IDEpXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6MzE1NTpcdFx0XHR4ZnJtX3N0YXRlX2RlbGV0ZSh0KTtcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0zMTU2LVx0XHR4ZnJtX3N0YXRlX3B1dCh0KTtcbi0tXG5uZXQveGZybS94ZnJtX3VzZXIuYz0xMTE4PXN0YXRpYyBpbnQgeGZybV9kZWxfc2Eoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5sbXNnaGRyICpubGgsXG4tLVxubmV0L3hmcm0veGZybV91c2VyLmMtMTEzMC1cbm5ldC94ZnJtL3hmcm1fdXNlci5jOjExMzE6XHRpZiAoKGVyciA9IHNlY3VyaXR5X3hmcm1fc3RhdGVfZGVsZXRlKHgpKSAhPSAwKVxubmV0L3hmcm0veGZybV91c2VyLmMtMTEzMi1cdFx0Z290byBvdXQ7XG4tLVxubmV0L3hmcm0veGZybV91c2VyLmMtMTEzOS1cbm5ldC94ZnJtL3hmcm1fdXNlci5jOjExNDA6XHRlcnIgPSB4ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcbm5ldC94ZnJtL3hmcm1fdXNlci5jLTExNDEtXHRpZiAoZXJyIFx1MDAzYyAwKVxuLS1cbm5ldC94ZnJtL3hmcm1fdXNlci5jPTMwMDQ9c3RhdGljIGludCB4ZnJtX2FkZF9zYV9leHBpcmUoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5sbXNnaGRyICpubGgsXG4tLVxubmV0L3hmcm0veGZybV91c2VyLmMtMzAzMS1cdGlmICh1ZS1cdTAwM2VoYXJkKSB7XG5uZXQveGZybS94ZnJtX3VzZXIuYzozMDMyOlx0XHRfX3hmcm1fc3RhdGVfZGVsZXRlKHgpO1xubmV0L3hmcm0veGZybV91c2VyLmMtMzAzMy1cdFx0eGZybV9hdWRpdF9zdGF0ZV9kZWxldGUoeCwgMSwgdHJ1ZSk7XG4tLVxubmV0L3hmcm0veGZybV91c2VyLmM9MzM0Mz1zdGF0aWMgaW50IHhmcm1fZG9fbWlncmF0ZV9zdGF0ZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCxcbi0tXG5uZXQveGZybS94ZnJtX3VzZXIuYy0zNDg1LVx0eGZybV9taWdyYXRlX3N5bmMoeGMsIHgpOyAvKiB0byBwcmV2ZW50IFNOL0lWIHJldXNlICovXG5uZXQveGZybS94ZnJtX3VzZXIuYzozNDg2Olx0X194ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcbm5ldC94ZnJtL3hmcm1fdXNlci5jLTM0ODctXHRzcGluX3VubG9ja19iaChcdTAwMjZ4LVx1MDAzZWxvY2spO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMSAwMTowODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA4OTI1CgkJCQkJCQlvdXRwdXQ6IDE1NwoJCQkJCQkJdGhvdWdodHM6IDMwNgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIHRoZSBYRlJNIFN0YXRlIERlbGV0aW9uIExvZ2ljKioKCk9rYXksIHNvIEkmIzM5O3ZlIGJlZW4gbG9va2luZyBhdCB0aGlzIFhGUk0gY29kZSwgYW5kIGl0JiMzOTtzIHByZXR0eSBjbGVhciB0aGF0IGB4ZnJtX3N0YXRlX2RlbGV0ZWAgYW5kLCBtb3JlIGltcG9ydGFudGx5LCBgX194ZnJtX3N0YXRlX2RlbGV0ZWAsIGFyZSB2dWxuZXJhYmxlLiBUaGV5JiMzOTtyZSBkZWZpbml0ZWx5IGFjY2Vzc2libGUgZnJvbSB1c2VyIHNwYWNlLCBzcGVjaWZpY2FsbHkgdGhyb3VnaCBuZXRsaW5rIGludGVyYWN0aW9ucyBsaWtlIGB4ZnJtX2RlbF9zYWAsIGB4ZnJtX2FkZF9zYV9leHBpcmVgLCBhbmQgYHhmcm1fZG9fbWlncmF0ZV9zdGF0ZWAuIFRoYXQgbWFrZXMgdGhlbSBwcmltZSB0YXJnZXRzIGZvciBmdXp6aW5nLgoKTm93LCBjb25maWd1cmF0aW9uLXdpc2UsIEkgdGhpbmsgYFhGUk1fVVNFUmAgaXMgdGhlIGtleS4gTGV0IG1lIGRvdWJsZS1jaGVjay4uLiBZZXMsIGBYRlJNX1VTRVJgIHB1bGxzIGluIGBYRlJNX0FMR09gLCB3aGljaCBpbiB0dXJuIGJyaW5ncyBpbiBgWEZSTWAuIFNvLCB5ZWFoLCBlbmFibGluZyBgWEZSTV9VU0VSYCBzaG91bGQgYmUgc3VmZmljaWVudCBmb3IgcmVwcm9kdWNpbmcgdGhlIHJlbGV2YW50IGNvZGUgcGF0aHMuIE5vIG5lZWQgdG8gb3ZlcmNvbXBsaWNhdGUgdGhpbmdzLgoKU28sIGhlcmUmIzM5O3Mgd2hhdCBJJiMzOTttIHRoaW5raW5nIGluIHRlcm1zIG9mIHNldHVwOgoKKiAgICoqV29ydGhGdXp6aW5nOioqIEFic29sdXRlbHkhCiogICAqKkZvY3VzU3ltYm9sczoqKiBEZWZpbml0ZWx5IGBfX3hmcm1fc3RhdGVfZGVsZXRlYCBhbmQgYHhmcm1fc3RhdGVfZGVsZXRlYC4gVGhlc2UgYXJlIHRoZSBmdW5jdGlvbnMgZGlyZWN0bHkgaW1wbGljYXRlZC4KKiAgICoqRW5hYmxlQ29uZmlnczoqKiBKdXN0IGBYRlJNX1VTRVJgLgoqICAgKipSZWFzb25pbmc6KiogVGhlIHBhdGNoIGFkZHJlc3NlcyBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZSBvciBkb3VibGUtZGVsZXRlIGluIGBfX3hmcm1fc3RhdGVfZGVsZXRlYC4gVGhlIGZpeCBpbnZvbHZlcyBjaGFuZ2luZyBgaGxpc3RfZGVsX3JjdWAgdG8gYGhsaXN0X2RlbF9pbml0X3JjdWAgZm9yIGBzdGF0ZV9jYWNoZWAgYW5kIGBzdGF0ZV9jYWNoZV9pbnB1dGAsIGVuc3VyaW5nIGBobGlzdF91bmhhc2hlZGAgcmV0dXJucyB0cnVlIG9uIHN1YnNlcXVlbnQgY2FsbHMuIFRoaXMgaXMgYSBjcnVjaWFsIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYRlJNIHN0YXRlIG1hbmFnZW1lbnQsIGFuZCB0aGUgZmFjdCB0aGF0IGl0JiMzOTtzIHJlYWNoYWJsZSBmcm9tIHVzZXIgc3BhY2UgdmlhIG5ldGxpbmsgbWFrZXMgaXQgYSBoaWdoLXByaW9yaXR5IHRhcmdldCBmb3IgZnV6emluZy4gV2UgbmVlZCB0byB2ZXJpZnkgdGhlIGZpeCB0aG9yb3VnaGx5LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMSAwMTowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7WEZSTV9VU0VSJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7X194ZnJtX3N0YXRlX2RlbGV0ZSYjMzQ7LAogICAgJiMzNDt4ZnJtX3N0YXRlX2RlbGV0ZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZSBvciBkb3VibGUtZGVsZXRlIGlzc3VlIGluIGBfX3hmcm1fc3RhdGVfZGVsZXRlYCBieSByZXBsYWNpbmcgYGhsaXN0X2RlbF9yY3VgIHdpdGggYGhsaXN0X2RlbF9pbml0X3JjdWAgZm9yIGBzdGF0ZV9jYWNoZWAgYW5kIGBzdGF0ZV9jYWNoZV9pbnB1dGAuIFRoaXMgZW5zdXJlcyB0aGF0IGBobGlzdF91bmhhc2hlZGAgcmV0dXJucyB0cnVlIG9uIHN1YnNlcXVlbnQgY2FsbHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBYRlJNIHN0YXRlIG1hbmFnZW1lbnQgbG9naWMsIHJlYWNoYWJsZSBmcm9tIHVzZXIgc3BhY2UgdmlhIG5ldGxpbmsuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1hGUk1fVVNFUiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O19feGZybV9zdGF0ZV9kZWxldGUmIzM0OywKICAgICYjMzQ7eGZybV9zdGF0ZV9kZWxldGUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgZG91YmxlLWRlbGV0ZSBpc3N1ZSBpbiBgX194ZnJtX3N0YXRlX2RlbGV0ZWAgYnkgcmVwbGFjaW5nIGBobGlzdF9kZWxfcmN1YCB3aXRoIGBobGlzdF9kZWxfaW5pdF9yY3VgIGZvciBgc3RhdGVfY2FjaGVgIGFuZCBgc3RhdGVfY2FjaGVfaW5wdXRgLiBUaGlzIGVuc3VyZXMgdGhhdCBgaGxpc3RfdW5oYXNoZWRgIHJldHVybnMgdHJ1ZSBvbiBzdWJzZXF1ZW50IGNhbGxzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgWEZSTSBzdGF0ZSBtYW5hZ2VtZW50IGxvZ2ljLCByZWFjaGFibGUgZnJvbSB1c2VyIHNwYWNlIHZpYSBuZXRsaW5rLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMDFUMDE6MDc6NDAuMDAzNDA4NDdaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyOTM0OTY3Mjg0OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJYRlJNX1VTRVJcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJfX3hmcm1fc3RhdGVfZGVsZXRlXCIsXG4gICAgXCJ4ZnJtX3N0YXRlX2RlbGV0ZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIHVzZS1hZnRlci1mcmVlIG9yIGRvdWJsZS1kZWxldGUgaXNzdWUgaW4gYF9feGZybV9zdGF0ZV9kZWxldGVgIGJ5IHJlcGxhY2luZyBgaGxpc3RfZGVsX3JjdWAgd2l0aCBgaGxpc3RfZGVsX2luaXRfcmN1YCBmb3IgYHN0YXRlX2NhY2hlYCBhbmQgYHN0YXRlX2NhY2hlX2lucHV0YC4gVGhpcyBlbnN1cmVzIHRoYXQgYGhsaXN0X3VuaGFzaGVkYCByZXR1cm5zIHRydWUgb24gc3Vic2VxdWVudCBjYWxscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIFhGUk0gc3RhdGUgbWFuYWdlbWVudCBsb2dpYywgcmVhY2hhYmxlIGZyb20gdXNlciBzcGFjZSB2aWEgbmV0bGluay5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDFUMDE6MDc6NDAuMDAzNDI2OTk5WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NzYzNzUyODIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCBlNDE1ZjZjZmE5ZjdkZTdhOTE5N2RmMmQyZWNlMDljYzkwYWQ0MjJhXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBTYXQgQXVnIDEgMDE6MDc6MzkgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvbmV0L3hmcm0veGZybV9zdGF0ZS5jIGIvbmV0L3hmcm0veGZybV9zdGF0ZS5jXFxuaW5kZXggMzZhNGY2NzkzZWRlZi4uZjQ5NGMxYWM1N2E0MCAxMDA2NDRcXG4tLS0gYS9uZXQveGZybS94ZnJtX3N0YXRlLmNcXG4rKysgYi9uZXQveGZybS94ZnJtX3N0YXRlLmNcXG5AQCAtODIzLDkgKzgyMyw5IEBAIGludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxcbiBcXHRcXHRpZiAoIWhsaXN0X3VuaGFzaGVkKFxcdTAwMjZ4LVxcdTAwM2VieXNlcSkpXFxuIFxcdFxcdFxcdGhsaXN0X2RlbF9pbml0X3JjdShcXHUwMDI2eC1cXHUwMDNlYnlzZXEpO1xcbiBcXHRcXHRpZiAoIWhsaXN0X3VuaGFzaGVkKFxcdTAwMjZ4LVxcdTAwM2VzdGF0ZV9jYWNoZSkpXFxuLVxcdFxcdFxcdGhsaXN0X2RlbF9yY3UoXFx1MDAyNngtXFx1MDAzZXN0YXRlX2NhY2hlKTtcXG4rXFx0XFx0XFx0aGxpc3RfZGVsX2luaXRfcmN1KFxcdTAwMjZ4LVxcdTAwM2VzdGF0ZV9jYWNoZSk7XFxuIFxcdFxcdGlmICghaGxpc3RfdW5oYXNoZWQoXFx1MDAyNngtXFx1MDAzZXN0YXRlX2NhY2hlX2lucHV0KSlcXG4tXFx0XFx0XFx0aGxpc3RfZGVsX3JjdShcXHUwMDI2eC1cXHUwMDNlc3RhdGVfY2FjaGVfaW5wdXQpO1xcbitcXHRcXHRcXHRobGlzdF9kZWxfaW5pdF9yY3UoXFx1MDAyNngtXFx1MDAzZXN0YXRlX2NhY2hlX2lucHV0KTtcXG4gXFxuIFxcdFxcdGlmICghaGxpc3RfdW5oYXNoZWQoXFx1MDAyNngtXFx1MDAzZWJ5c3BpKSlcXG4gXFx0XFx0XFx0aGxpc3RfZGVsX2luaXRfcmN1KFxcdTAwMjZ4LVxcdTAwM2VieXNwaSk7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAxVDAxOjA3OjQwLjQ4MDczMTgxMloiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjI4ODcyMzQxMjA2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlhGUk1fVVNFUlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIl9feGZybV9zdGF0ZV9kZWxldGVcIixcbiAgICBcInhmcm1fc3RhdGVfZGVsZXRlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgZG91YmxlLWRlbGV0ZSBpc3N1ZSBpbiBgX194ZnJtX3N0YXRlX2RlbGV0ZWAgYnkgcmVwbGFjaW5nIGBobGlzdF9kZWxfcmN1YCB3aXRoIGBobGlzdF9kZWxfaW5pdF9yY3VgIGZvciBgc3RhdGVfY2FjaGVgIGFuZCBgc3RhdGVfY2FjaGVfaW5wdXRgLiBUaGlzIGVuc3VyZXMgdGhhdCBgaGxpc3RfdW5oYXNoZWRgIHJldHVybnMgdHJ1ZSBvbiBzdWJzZXF1ZW50IGNhbGxzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgWEZSTSBzdGF0ZSBtYW5hZ2VtZW50IGxvZ2ljLCByZWFjaGFibGUgZnJvbSB1c2VyIHNwYWNlIHZpYSBuZXRsaW5rLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG4gIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cbi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlxuLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKVxuICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uc1xuICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIEFsc28gY2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzXG4gICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3NcbiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBlNDE1ZjZjZmE5ZjdkZTdhOTE5N2RmMmQyZWNlMDljYzkwYWQ0MjJhXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFNhdCBBdWcgMSAwMTowNzozOSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC94ZnJtL3hmcm1fc3RhdGUuYyBiL25ldC94ZnJtL3hmcm1fc3RhdGUuY1xuaW5kZXggMzZhNGY2NzkzZWRlZi4uZjQ5NGMxYWM1N2E0MCAxMDA2NDRcbi0tLSBhL25ldC94ZnJtL3hmcm1fc3RhdGUuY1xuKysrIGIvbmV0L3hmcm0veGZybV9zdGF0ZS5jXG5AQCAtODIzLDkgKzgyMyw5IEBAIGludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxuIFx0XHRpZiAoIWhsaXN0X3VuaGFzaGVkKFx1MDAyNngtXHUwMDNlYnlzZXEpKVxuIFx0XHRcdGhsaXN0X2RlbF9pbml0X3JjdShcdTAwMjZ4LVx1MDAzZWJ5c2VxKTtcbiBcdFx0aWYgKCFobGlzdF91bmhhc2hlZChcdTAwMjZ4LVx1MDAzZXN0YXRlX2NhY2hlKSlcbi1cdFx0XHRobGlzdF9kZWxfcmN1KFx1MDAyNngtXHUwMDNlc3RhdGVfY2FjaGUpO1xuK1x0XHRcdGhsaXN0X2RlbF9pbml0X3JjdShcdTAwMjZ4LVx1MDAzZXN0YXRlX2NhY2hlKTtcbiBcdFx0aWYgKCFobGlzdF91bmhhc2hlZChcdTAwMjZ4LVx1MDAzZXN0YXRlX2NhY2hlX2lucHV0KSlcbi1cdFx0XHRobGlzdF9kZWxfcmN1KFx1MDAyNngtXHUwMDNlc3RhdGVfY2FjaGVfaW5wdXQpO1xuK1x0XHRcdGhsaXN0X2RlbF9pbml0X3JjdShcdTAwMjZ4LVx1MDAzZXN0YXRlX2NhY2hlX2lucHV0KTtcbiBcbiBcdFx0aWYgKCFobGlzdF91bmhhc2hlZChcdTAwMjZ4LVx1MDAzZWJ5c3BpKSlcbiBcdFx0XHRobGlzdF9kZWxfaW5pdF9yY3UoXHUwMDI2eC1cdTAwM2VieXNwaSk7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMVQwMTowNzo0MC40ODA3MzMzNTJaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0NDczNDU0NTYxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYW5hbHlzaXMgb2YgdGhlIGNvZGUgY2hhbmdlOlxuXG4qKkFuYWx5emluZyB0aGUgeGZybV9zdGF0ZS5jIFBhdGNoKipcblxuT2theSwgc28gd2UndmUgZ290IGEgcGF0Y2ggdGhhdCdzIHR3ZWFraW5nIGBuZXQveGZybS94ZnJtX3N0YXRlLmNgLiBJdCBsb29rcyBsaWtlIHRoZSBjb3JlIGNoYW5nZSBpbnZvbHZlcyBzd2l0Y2hpbmcgZnJvbSBgaGxpc3RfZGVsX3JjdWAgdG8gYGhsaXN0X2RlbF9pbml0X3JjdWAgZm9yIGB4LVx1MDAzZXN0YXRlX2NhY2hlYCBhbmQgYHgtXHUwMDNlc3RhdGVfY2FjaGVfaW5wdXRgIHdpdGhpbiB0aGUgYF9feGZybV9zdGF0ZV9kZWxldGVgIGZ1bmN0aW9uLiBUaGF0J3MgaW1tZWRpYXRlbHkgaW50ZXJlc3RpbmcsIGJlY2F1c2UgdGhvc2UgYXJlIHByZXR0eSBjcml0aWNhbCBkYXRhIHN0cnVjdHVyZXMgZm9yIFhGUk0gc3RhdGUgbWFuYWdlbWVudC4gVGhlIGZhY3QgdGhhdCB0aGV5J3JlIHVzaW5nIGByY3VgIGhpbnRzIGF0IGNvbmN1cnJlbmN5IGNvbmNlcm5zLCBhbmQgcmVwbGFjaW5nIGBobGlzdF9kZWxfcmN1YCB3aXRoIGBobGlzdF9kZWxfaW5pdF9yY3VgIHRlbGxzIG1lIHdlIGFyZSBjb25jZXJuZWQgYWJvdXQgdGhlIHN0YXRlIG9mIHRoZSBsaXN0IGFmdGVyIHJlbW92YWwuXG5cbk15IGltbWVkaWF0ZSB0aG91Z2h0IGlzIHRvIGRpZyBpbnRvIGBfX3hmcm1fc3RhdGVfZGVsZXRlYCBpdHNlbGYuIEkgbmVlZCB0byB1bmRlcnN0YW5kICp3aHkqIHRoaXMgY2hhbmdlIGlzIGhhcHBlbmluZy4gV2hhdCdzIHRoZSBjb250ZXh0PyBXaGF0J3MgdGhlIHBvdGVudGlhbCBpbXBhY3Q/IGBobGlzdF9kZWxfaW5pdF9yY3VgLCBpbiBjb250cmFzdCB0byBqdXN0IGBobGlzdF9kZWxfcmN1YCwgaW5pdGlhbGl6ZXMgdGhlIGxpc3QgaGVhZCBhZnRlciByZW1vdmFsLCB3aGljaCBzdWdnZXN0cyBpdCBtaWdodCBiZSB0byBwcmV2ZW50IHVzZS1hZnRlci1mcmVlLCBvciBwZXJoYXBzIHRvIGVhc2UgZnV0dXJlIGl0ZXJhdGlvbnMgb3IgbG9va3VwcyBvZiB0aGUgbGlzdC4gV2UgbmVlZCB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBzdWJ0bGUgcmFjZSBjb25kaXRpb25zIGFkZHJlc3NlZCBieSB0aGlzIGNoYW5nZSwgYW5kIHdoYXQgdGhlIHN1YnNlcXVlbnQgY29kZSBtaWdodCBiZSBkb2luZyB3aXRoIHRoZXNlIGxpc3QgaGVhZHMuIE9rYXksIGxldCdzIHN0YXJ0IGJ5IGxvb2tpbmcgYXQgdGhhdCBmdW5jdGlvbiBkZWZpbml0aW9uLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMTQ5LCJPdXRwdXRUb2tlbnMiOjM4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6ODUsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMVQwMTowNzo0NC45NTQxOTA2MDNaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTAwMDUxNDI5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIl9feGZybV9zdGF0ZV9kZWxldGVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3hmcm0veGZybV9zdGF0ZS5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC94ZnJtL3hmcm1fc3RhdGUuYz0yMjg9c3RhdGljIERFRklORV9TUElOTE9DSyh4ZnJtX3N0YXRlX2Rldl9nY19sb2NrKTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMjI5LVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzoyMzA6aW50IF9feGZybV9zdGF0ZV9kZWxldGUoc3RydWN0IHhmcm1fc3RhdGUgKngpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0yMzEtXFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9NjM5PXN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCB4ZnJtX3RpbWVyX2hhbmRsZXIoc3RydWN0IGhydGltZXIgKm1lKVxcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTcxNy1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6NzE4OlxcdGVyciA9IF9feGZybV9zdGF0ZV9kZWxldGUoeCk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTcxOS1cXHRpZiAoIWVycilcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYz04MDk9RVhQT1JUX1NZTUJPTChfX3hmcm1fc3RhdGVfZGVzdHJveSk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTgxMC1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODExOmludCBfX3hmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04MTIte1xcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg0OS19XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjg1MDpFWFBPUlRfU1lNQk9MKF9feGZybV9zdGF0ZV9kZWxldGUpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NTEtXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTg1Mj1pbnQgeGZybV9zdGF0ZV9kZWxldGUoc3RydWN0IHhmcm1fc3RhdGUgKngpXFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODU2LVxcdHNwaW5fbG9ja19iaChcXHUwMDI2eC1cXHUwMDNlbG9jayk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjg1NzpcXHRlcnIgPSBfX3hmcm1fc3RhdGVfZGVsZXRlKHgpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NTgtXFx0c3Bpbl91bmxvY2tfYmgoXFx1MDAyNngtXFx1MDAzZWxvY2spO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMVQwMTowNzo0NS4wNTQyNDgwMDJaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0NTY0MzM5MjcwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUGF0Y2g6IFhGUk0gU3RhdGUgRGVsZXRpb24qKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHplcm9pbmcgaW4gb24gYSBjcml0aWNhbCBmdW5jdGlvbjogYF9feGZybV9zdGF0ZV9kZWxldGVgLiBJdCBsb29rcyBsaWtlIGl0J3MgYWRkcmVzc2luZyBhIHN1YnRsZSBidXQgcG90ZW50aWFsbHkgbmFzdHkgcHJvYmxlbSB3aXRoIGhvdyB3ZSdyZSBjdXJyZW50bHkgaGFuZGxpbmcgdGhlIHJlbW92YWwgb2YgWEZSTSBzdGF0ZSBlbnRyaWVzLiBUaGUgY29yZSBvZiB0aGUgaXNzdWUgc3RlbXMgZnJvbSBgaGxpc3RfZGVsX3JjdWAuIEl0IHNlZW1zIHRoYXQgdGhlIHdheSB3ZSd2ZSBiZWVuIHVzaW5nIGl0LCB0aGUgbm9kZSBpcyAqbm90KiBnZXR0aW5nIHByb3Blcmx5IGluaXRpYWxpemVkIGFmdGVyIGJlaW5nIHJlbW92ZWQuIFRoaXMgb3BlbnMgdGhlIGRvb3IgdG8gYGhsaXN0X3VuaGFzaGVkYCByZXR1cm5pbmcgYSBmYWxzZSBwb3NpdGl2ZSBpZiBjYWxsZWQgc3Vic2VxdWVudGx5LCBldmVuIGlmIGl0IGhhcyBiZWVuIGRlbGV0ZWQuXG5cblRoYXQgaXMgYSByZWNpcGUgZm9yIGRpc2FzdGVyOiBkb3VibGUgZnJlZXMgb3IgdXNlLWFmdGVyLWZyZWUgY29uZGl0aW9ucy4gV2UgbmVlZCB0byBiZSBlc3BlY2lhbGx5IGNhcmVmdWwgd2l0aCB0aGF0OyBpdCdzIGEgY3JpdGljYWwgYXJlYS5cblxuVGhlIGZpeCwgdGhhbmtmdWxseSwgaXMgc3RyYWlnaHRmb3J3YXJkOiBzd2l0Y2hpbmcgdG8gYGhsaXN0X2RlbF9pbml0X3JjdWAuIFRoaXMgZ3VhcmFudGVlcyBpbml0aWFsaXphdGlvbiBvZiB0aGUgbm9kZSwgd2hpY2ggc2hvdWxkIGZpeCB0aGUgcm9vdCBwcm9ibGVtIHdpdGggYGhsaXN0X3VuaGFzaGVkYC4gSXQgbWFrZXMgc2Vuc2UuIEl0J3MgY2xlYW4gYW5kIGVsZWdhbnQsIGhvcGVmdWxseSB0aGlzIHNvbHZlcyB0aGUgcHJvYmxlbS5cblxuR2l2ZW4gdGhlIHBvdGVudGlhbCBmb3Igc3VidGxlIG1lbW9yeSBjb3JydXB0aW9uIGhlcmUsIHRoaXMgaXMgZGVmaW5pdGVseSBzb21ldGhpbmcgd29ydGggZnV6emluZy4gSSdtIGdvaW5nIHRvIGZsYWcgYF9feGZybV9zdGF0ZV9kZWxldGVgIGFuZCBgeGZybV9zdGF0ZV9kZWxldGVgIGFzIHRoZSBwcmltYXJ5IGZvY3VzIGFyZWFzIGZvciB0aGUgZnV6emluZyBjYW1wYWlnbi4gSSdsbCBuZWVkIHRvIGNvbmZpZ3VyZSB0aGUgZnV6emluZyBlbnZpcm9ubWVudCB3aXRoIGBYRlJNYCBlbmFibGVkLCBvZiBjb3Vyc2UsIHRvIG1ha2Ugc3VyZSB0aGlzIGNvZGUgaXMgZXhlcmNpc2VkIGR1cmluZyB0ZXN0aW5nLiBJJ2xsIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBmdXp6aW5nIHByb2Nlc3MgaGl0cyB0aGlzIGNoYW5nZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzEwOSwiT3V0cHV0VG9rZW5zIjozMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEyOSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wMVQwMTowNzo0OS42MTg1OTEwMjJaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTQ4MTQ0MzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIFhGUk1cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3hmcm0vS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQveGZybS9LY29uZmlnLTQtI1xcbm5ldC94ZnJtL0tjb25maWc6NTpjb25maWcgWEZSTVxcbm5ldC94ZnJtL0tjb25maWctNi1cXHRib29sXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTEwLVxcbm5ldC94ZnJtL0tjb25maWc6MTE6Y29uZmlnIFhGUk1fT0ZGTE9BRFxcbm5ldC94ZnJtL0tjb25maWctMTItXFx0Ym9vbFxcbm5ldC94ZnJtL0tjb25maWctMTMtXFxubmV0L3hmcm0vS2NvbmZpZzoxNDpjb25maWcgWEZSTV9BTEdPXFxubmV0L3hmcm0vS2NvbmZpZy0xNS1cXHR0cmlzdGF0ZVxcbi0tXFxubmV0L3hmcm0vS2NvbmZpZz0yMj1pZiBJTkVUXFxubmV0L3hmcm0vS2NvbmZpZzoyMzpjb25maWcgWEZSTV9VU0VSXFxubmV0L3hmcm0vS2NvbmZpZy0yNC1cXHR0cmlzdGF0ZSBcXFwiVHJhbnNmb3JtYXRpb24gdXNlciBjb25maWd1cmF0aW9uIGludGVyZmFjZVxcXCJcXG4tLVxcbm5ldC94ZnJtL0tjb25maWctMzEtXFxubmV0L3hmcm0vS2NvbmZpZzozMjpjb25maWcgWEZSTV9VU0VSX0NPTVBBVFxcbm5ldC94ZnJtL0tjb25maWctMzMtXFx0dHJpc3RhdGUgXFxcIkNvbXBhdGlibGUgQUJJIHN1cHBvcnRcXFwiXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTQyLVxcbm5ldC94ZnJtL0tjb25maWc6NDM6Y29uZmlnIFhGUk1fSU5URVJGQUNFXFxubmV0L3hmcm0vS2NvbmZpZy00NC1cXHR0cmlzdGF0ZSBcXFwiVHJhbnNmb3JtYXRpb24gdmlydHVhbCBpbnRlcmZhY2VcXFwiXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTUwLVxcbm5ldC94ZnJtL0tjb25maWc6NTE6Y29uZmlnIFhGUk1fU1VCX1BPTElDWVxcbm5ldC94ZnJtL0tjb25maWctNTItXFx0Ym9vbCBcXFwiVHJhbnNmb3JtYXRpb24gc3ViIHBvbGljeSBzdXBwb3J0XFxcIlxcbi0tXFxubmV0L3hmcm0vS2NvbmZpZy02MC1cXG5uZXQveGZybS9LY29uZmlnOjYxOmNvbmZpZyBYRlJNX01JR1JBVEVcXG5uZXQveGZybS9LY29uZmlnLTYyLVxcdGJvb2wgXFxcIlRyYW5zZm9ybWF0aW9uIG1pZ3JhdGUgZGF0YWJhc2VcXFwiXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTcxLVxcbm5ldC94ZnJtL0tjb25maWc6NzI6Y29uZmlnIFhGUk1fU1RBVElTVElDU1xcbm5ldC94ZnJtL0tjb25maWctNzMtXFx0Ym9vbCBcXFwiVHJhbnNmb3JtYXRpb24gc3RhdGlzdGljc1xcXCJcXG4tLVxcbm5ldC94ZnJtL0tjb25maWctODMtIyBSRkMgODIyMSBsaXN0cyBhcyBNVVNUIGJlIGltcGxlbWVudGVkLlxcbm5ldC94ZnJtL0tjb25maWc6ODQ6Y29uZmlnIFhGUk1fQUhcXG5uZXQveGZybS9LY29uZmlnLTg1LVxcdHRyaXN0YXRlXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTkyLSMgYWxnb3JpdGhtcyB0aGF0IFJGQyA4MjIxIGxpc3RzIGFzIE1VU1QgYmUgaW1wbGVtZW50ZWQuXFxubmV0L3hmcm0vS2NvbmZpZzo5Mzpjb25maWcgWEZSTV9FU1BcXG5uZXQveGZybS9LY29uZmlnLTk0LVxcdHRyaXN0YXRlXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTEwNS1cXG5uZXQveGZybS9LY29uZmlnOjEwNjpjb25maWcgWEZSTV9JUENPTVBcXG5uZXQveGZybS9LY29uZmlnLTEwNy1cXHR0cmlzdGF0ZVxcbi0tXFxubmV0L3hmcm0vS2NvbmZpZz0xMjU9Y29uZmlnIE5FVF9LRVlfTUlHUkFURVxcbi0tXFxubmV0L3hmcm0vS2NvbmZpZy0xNDAtXFxubmV0L3hmcm0vS2NvbmZpZzoxNDE6Y29uZmlnIFhGUk1fSVBURlNcXG5uZXQveGZybS9LY29uZmlnLTE0Mi1cXHR0cmlzdGF0ZSBcXFwiSVBzZWMgSVAtVEZTL0FHR0ZSQUcgKFJGQyA5MzQ3KSBlbmNhcHN1bGF0aW9uIHN1cHBvcnRcXFwiXFxuLS1cXG5uZXQveGZybS9LY29uZmlnLTE1Ni1cXG5uZXQveGZybS9LY29uZmlnOjE1Nzpjb25maWcgWEZSTV9FU1BJTlRDUFxcbm5ldC94ZnJtL0tjb25maWctMTU4LVxcdGJvb2xcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDFUMDE6MDc6NDkuNjczNDE0OTQxWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzY2NDgxNzAwMywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgbGV0J3MgYnJlYWsgdGhpcyBkb3duLlxuXG4qKkludmVzdGlnYXRpbmcgdGhlIENvbmZpZ3VyYXRpb24gRGVwZW5kZW5jeSBvZiBYRlJNKipcblxuQWxyaWdodCwgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hhdCdzIGVuYWJsaW5nIGBYRlJNYC4gSXQncyBhIGBib29sYCBjb25maWcsIGFuZCB0aGVyZSdzIG5vIHZpc2libGUgcHJvbXB0LCBtZWFuaW5nIHNvbWV0aGluZyBlbHNlIGlzIHNldHRpbmcgaXQuIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCBcIldoZXJlJ3MgdGhlIGRlcGVuZGVuY3kgZGVmaW5lZD9cIiBTaW5jZSBgWEZSTV9VU0VSYCBzZWVtcyByZWxhdGVkIGFuZCAqbWlnaHQqIGJlIHRoZSB0cmlnZ2VyLCBJJ2xsIHN0YXJ0IHRoZXJlLiBMZXQncyBzZWUgaWYgYFhGUk1fVVNFUmAgc2VsZWN0cyBgWEZSTWAuIFRoZSBiZXN0IHBsYWNlIHRvIGZpbmQgdGhhdCBhbnN3ZXIgaXMgaW4gYG5ldC94ZnJtL0tjb25maWdgLiBUaW1lIHRvIGRpZyBpbnRvIHRoYXQgZmlsZS5cblxuXG4iLCJJbnB1dFRva2VucyI6NDM4NywiT3V0cHV0VG9rZW5zIjozNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjU4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAxVDAxOjA3OjUzLjMzODIzNDcyNFoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1NjM5MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJuZXQveGZybS9LY29uZmlnXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDEwMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgICAxOlxcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbiAgIDI6XFx0I1xcbiAgIDM6XFx0IyBYRlJNIGNvbmZpZ3VyYXRpb25cXG4gICA0OlxcdCNcXG4gICA1OlxcdGNvbmZpZyBYRlJNXFxuICAgNjpcXHRcXHRib29sXFxuICAgNzpcXHRcXHRkZXBlbmRzIG9uIElORVRcXG4gICA4OlxcdFxcdHNlbGVjdCBHUk9fQ0VMTFNcXG4gICA5OlxcdFxcdHNlbGVjdCBTS0JfRVhURU5TSU9OU1xcbiAgMTA6XFx0XFxuICAxMTpcXHRjb25maWcgWEZSTV9PRkZMT0FEXFxuICAxMjpcXHRcXHRib29sXFxuICAxMzpcXHRcXG4gIDE0OlxcdGNvbmZpZyBYRlJNX0FMR09cXG4gIDE1OlxcdFxcdHRyaXN0YXRlXFxuICAxNjpcXHRcXHRzZWxlY3QgWEZSTVxcbiAgMTc6XFx0XFx0c2VsZWN0IENSWVBUT1xcbiAgMTg6XFx0XFx0c2VsZWN0IENSWVBUT19BRUFEXFxuICAxOTpcXHRcXHRzZWxlY3QgQ1JZUFRPX0hBU0hcXG4gIDIwOlxcdFxcdHNlbGVjdCBDUllQVE9fU0tDSVBIRVJcXG4gIDIxOlxcdFxcbiAgMjI6XFx0aWYgSU5FVFxcbiAgMjM6XFx0Y29uZmlnIFhGUk1fVVNFUlxcbiAgMjQ6XFx0XFx0dHJpc3RhdGUgXFxcIlRyYW5zZm9ybWF0aW9uIHVzZXIgY29uZmlndXJhdGlvbiBpbnRlcmZhY2VcXFwiXFxuICAyNTpcXHRcXHRzZWxlY3QgWEZSTV9BTEdPXFxuICAyNjpcXHRcXHRoZWxwXFxuICAyNzpcXHRcXHQgIFN1cHBvcnQgZm9yIFRyYW5zZm9ybWF0aW9uKFhGUk0pIHVzZXIgY29uZmlndXJhdGlvbiBpbnRlcmZhY2VcXG4gIDI4OlxcdFxcdCAgbGlrZSBJUHNlYyB1c2VkIGJ5IG5hdGl2ZSBMaW51eCB0b29scy5cXG4gIDI5OlxcdFxcbiAgMzA6XFx0XFx0ICBJZiB1bnN1cmUsIHNheSBZLlxcbiAgMzE6XFx0XFxuICAzMjpcXHRjb25maWcgWEZSTV9VU0VSX0NPTVBBVFxcbiAgMzM6XFx0XFx0dHJpc3RhdGUgXFxcIkNvbXBhdGlibGUgQUJJIHN1cHBvcnRcXFwiXFxuICAzNDpcXHRcXHRkZXBlbmRzIG9uIFhGUk1fVVNFUiBcXHUwMDI2XFx1MDAyNiBDT01QQVRfRk9SX1U2NF9BTElHTk1FTlQgXFx1MDAyNlxcdTAwMjYgXFxcXFxcbiAgMzU6XFx0XFx0XFx0SEFWRV9FRkZJQ0lFTlRfVU5BTElHTkVEX0FDQ0VTU1xcbiAgMzY6XFx0XFx0c2VsZWN0IFdBTlRfQ09NUEFUX05FVExJTktfTUVTU0FHRVNcXG4gIDM3OlxcdFxcdGhlbHBcXG4gIDM4OlxcdFxcdCAgVHJhbnNmb3JtYXRpb24oWEZSTSkgdXNlciBjb25maWd1cmF0aW9uIGludGVyZmFjZSBsaWtlIElQc2VjXFxuICAzOTpcXHRcXHQgIHVzZWQgYnkgY29tcGF0aWJsZSBMaW51eCBhcHBsaWNhdGlvbnMuXFxuICA0MDpcXHRcXG4gIDQxOlxcdFxcdCAgSWYgdW5zdXJlLCBzYXkgTi5cXG4gIDQyOlxcdFxcbiAgNDM6XFx0Y29uZmlnIFhGUk1fSU5URVJGQUNFXFxuICA0NDpcXHRcXHR0cmlzdGF0ZSBcXFwiVHJhbnNmb3JtYXRpb24gdmlydHVhbCBpbnRlcmZhY2VcXFwiXFxuICA0NTpcXHRcXHRkZXBlbmRzIG9uIFhGUk0gXFx1MDAyNlxcdTAwMjYgSVBWNlxcbiAgNDY6XFx0XFx0aGVscFxcbiAgNDc6XFx0XFx0ICBUaGlzIHByb3ZpZGVzIGEgdmlydHVhbCBpbnRlcmZhY2UgdG8gcm91dGUgSVBzZWMgdHJhZmZpYy5cXG4gIDQ4OlxcdFxcbiAgNDk6XFx0XFx0ICBJZiB1bnN1cmUsIHNheSBOLlxcbiAgNTA6XFx0XFxuICA1MTpcXHRjb25maWcgWEZSTV9TVUJfUE9MSUNZXFxuICA1MjpcXHRcXHRib29sIFxcXCJUcmFuc2Zvcm1hdGlvbiBzdWIgcG9saWN5IHN1cHBvcnRcXFwiXFxuICA1MzpcXHRcXHRkZXBlbmRzIG9uIFhGUk1cXG4gIDU0OlxcdFxcdGhlbHBcXG4gIDU1OlxcdFxcdCAgU3VwcG9ydCBzdWIgcG9saWN5IGZvciBkZXZlbG9wZXJzLiBCeSB1c2luZyBzdWIgcG9saWN5IHdpdGggbWFpblxcbiAgNTY6XFx0XFx0ICBvbmUsIHR3byBwb2xpY2llcyBjYW4gYmUgYXBwbGllZCB0byB0aGUgc2FtZSBwYWNrZXQgYXQgb25jZS5cXG4gIDU3OlxcdFxcdCAgUG9saWN5IHdoaWNoIGxpdmVzIHNob3J0ZXIgdGltZSBpbiBrZXJuZWwgc2hvdWxkIGJlIGEgc3ViLlxcbiAgNTg6XFx0XFxuICA1OTpcXHRcXHQgIElmIHVuc3VyZSwgc2F5IE4uXFxuICA2MDpcXHRcXG4gIDYxOlxcdGNvbmZpZyBYRlJNX01JR1JBVEVcXG4gIDYyOlxcdFxcdGJvb2wgXFxcIlRyYW5zZm9ybWF0aW9uIG1pZ3JhdGUgZGF0YWJhc2VcXFwiXFxuICA2MzpcXHRcXHRkZXBlbmRzIG9uIFhGUk1cXG4gIDY0OlxcdFxcdGhlbHBcXG4gIDY1OlxcdFxcdCAgQSBmZWF0dXJlIHRvIHVwZGF0ZSBsb2NhdG9yKHMpIG9mIGEgZ2l2ZW4gSVBzZWMgc2VjdXJpdHlcXG4gIDY2OlxcdFxcdCAgYXNzb2NpYXRpb24gZHluYW1pY2FsbHkuICBUaGlzIGZlYXR1cmUgaXMgcmVxdWlyZWQsIGZvclxcbiAgNjc6XFx0XFx0ICBpbnN0YW5jZSwgaW4gYSBNb2JpbGUgSVB2NiBlbnZpcm9ubWVudCB3aXRoIElQc2VjIGNvbmZpZ3VyYXRpb25cXG4gIDY4OlxcdFxcdCAgd2hlcmUgbW9iaWxlIG5vZGVzIGNoYW5nZSB0aGVpciBhdHRhY2htZW50IHBvaW50IHRvIHRoZSBJbnRlcm5ldC5cXG4gIDY5OlxcdFxcbiAgNzA6XFx0XFx0ICBJZiB1bnN1cmUsIHNheSBOLlxcbiAgNzE6XFx0XFxuICA3MjpcXHRjb25maWcgWEZSTV9TVEFUSVNUSUNTXFxuICA3MzpcXHRcXHRib29sIFxcXCJUcmFuc2Zvcm1hdGlvbiBzdGF0aXN0aWNzXFxcIlxcbiAgNzQ6XFx0XFx0ZGVwZW5kcyBvbiBYRlJNIFxcdTAwMjZcXHUwMDI2IFBST0NfRlNcXG4gIDc1OlxcdFxcdGhlbHBcXG4gIDc2OlxcdFxcdCAgVGhpcyBzdGF0aXN0aWNzIGlzIG5vdCBhIFNOTVAvTUlCIHNwZWNpZmljYXRpb24gYnV0IHNob3dzXFxuICA3NzpcXHRcXHQgIHN0YXRpc3RpY3MgYWJvdXQgdHJhbnNmb3JtYXRpb24gZXJyb3IgKG9yIGFsbW9zdCBlcnJvcikgZmFjdG9yXFxuICA3ODpcXHRcXHQgIGF0IHBhY2tldCBwcm9jZXNzaW5nIGZvciBkZXZlbG9wZXIuXFxuICA3OTpcXHRcXG4gIDgwOlxcdFxcdCAgSWYgdW5zdXJlLCBzYXkgTi5cXG4gIDgxOlxcdFxcbiAgODI6XFx0IyBUaGlzIG9wdGlvbiBzZWxlY3RzIFhGUk1fQUxHTyBhbG9uZyB3aXRoIHRoZSBBSCBhdXRoZW50aWNhdGlvbiBhbGdvcml0aG1zIHRoYXRcXG4gIDgzOlxcdCMgUkZDIDgyMjEgbGlzdHMgYXMgTVVTVCBiZSBpbXBsZW1lbnRlZC5cXG4gIDg0OlxcdGNvbmZpZyBYRlJNX0FIXFxuICA4NTpcXHRcXHR0cmlzdGF0ZVxcbiAgODY6XFx0XFx0c2VsZWN0IFhGUk1fQUxHT1xcbiAgODc6XFx0XFx0c2VsZWN0IENSWVBUT1xcbiAgODg6XFx0XFx0c2VsZWN0IENSWVBUT19ITUFDXFxuICA4OTpcXHRcXHRzZWxlY3QgQ1JZUFRPX1NIQTI1NlxcbiAgOTA6XFx0XFxuICA5MTpcXHQjIFRoaXMgb3B0aW9uIHNlbGVjdHMgWEZSTV9BTEdPIGFsb25nIHdpdGggdGhlIEVTUCBlbmNyeXB0aW9uIGFuZCBhdXRoZW50aWNhdGlvblxcbiAgOTI6XFx0IyBhbGdvcml0aG1zIHRoYXQgUkZDIDgyMjEgbGlzdHMgYXMgTVVTVCBiZSBpbXBsZW1lbnRlZC5cXG4gIDkzOlxcdGNvbmZpZyBYRlJNX0VTUFxcbiAgOTQ6XFx0XFx0dHJpc3RhdGVcXG4gIDk1OlxcdFxcdHNlbGVjdCBYRlJNX0FMR09cXG4gIDk2OlxcdFxcdHNlbGVjdCBDUllQVE9cXG4gIDk3OlxcdFxcdHNlbGVjdCBDUllQVE9fQUVTXFxuICA5ODpcXHRcXHRzZWxlY3QgQ1JZUFRPX0FVVEhFTkNcXG4gIDk5OlxcdFxcdHNlbGVjdCBDUllQVE9fQ0JDXFxuIDEwMDpcXHRcXHRzZWxlY3QgQ1JZUFRPX0VDSEFJTklWXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAxVDAxOjA3OjUzLjMzODM5MzAxNFoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ0MDYyNDA4NjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBzaXR1YXRpb246XG5cbioqWEZSTSBDb25maWd1cmF0aW9uIERlcGVuZGVuY3kgQW5hbHlzaXMqKlxuXG5Pa2F5LCBzbyBpdCBsb29rcyBsaWtlIGVuYWJsaW5nIGBYRlJNX1VTRVJgIGlzIGEgcHJldHR5IHNhZmUgYmV0LCBnaXZlbiB0aGF0IGl0IHNlbGVjdHMgYFhGUk1fQUxHT2AsIHdoaWNoIGluIHR1cm4sIGNsZWFybHkgZGVwZW5kcyBvbiBgWEZSTWAuIFRoYXQgbWFrZXMgbG9naWNhbCBzZW5zZSwgdGhlIHVzZXItc3BhY2UgaW50ZXJmYWNlIGZvciB0aGUgdHJhbnNmb3JtIHN1YnN5c3RlbSBwcm9iYWJseSByZXF1aXJlcyB0aGUgY29yZSBmdW5jdGlvbmFsaXR5IHRvIGJlIGVuYWJsZWQuXG5cbk5vdywgSSdtIHRoaW5raW5nLCBsZXQncyBtYWtlIHN1cmUgd2UndmUgZ290IGV2ZXJ5dGhpbmcgd2UgbmVlZC4gRGlnZ2luZyBhIGxpdHRsZSBkZWVwZXIuLi4gQWgsIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgYG5ldC94ZnJtL3hmcm1fc3RhdGUuY2AuIFJpZ2h0LCBgeGZybV9zdGF0ZS5jYCBpcyBjb21waWxlZCAqaWYqIGBYRlJNYCBpcyBlbmFibGVkLiBUaGF0IGNvbmZpcm1zIHRoZSBkZXBlbmRlbmN5IGNoYWluLiBgWEZSTV9VU0VSYCBsb29rcyBsaWtlIGEgZ29vZCBzdGFydGluZyBwb2ludCwgYW5kIHdlJ3JlIGNvdmVyaW5nIHRoZSBiYXNlIGNvZGUgZGVwZW5kZW5jaWVzIGJ5IG1ha2luZyBzdXJlIHdlJ3JlIGluY2x1ZGluZyBgWEZSTWAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjU4NDIsIk91dHB1dFRva2VucyI6MzIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo4OCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAxVDAxOjA3OjU3Ljc0NDYzNjM0NloiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTExMzgzODc5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInhmcm1fc3RhdGUub1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQveGZybS9NYWtlZmlsZVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQveGZybS9NYWtlZmlsZT0xMj1lbmRpZlxcbm5ldC94ZnJtL01ha2VmaWxlLTEzLVxcbm5ldC94ZnJtL01ha2VmaWxlOjE0Om9iai0kKENPTkZJR19YRlJNKSA6PSB4ZnJtX3BvbGljeS5vIHhmcm1fc3RhdGUubyB4ZnJtX2hhc2gubyBcXFxcXFxubmV0L3hmcm0vTWFrZWZpbGUtMTUtXFx0XFx0ICAgICAgeGZybV9pbnB1dC5vIHhmcm1fb3V0cHV0Lm8gXFxcXFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMVQwMTowNzo1Ny44NTYwMjYzODVaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzg4NjA5Mjc5MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd24gbWVudGFsIHByb2Nlc3Npbmc6XG5cbioqWEZSTSBDb25maWd1cmF0aW9uIERlZXAgRGl2ZSoqXG5cbkFscmlnaHQsIHRoYXQgbG9va3MgcmlnaHQuIENvbnNpZGVyaW5nIHRoZSB0YXNrIGF0IGhhbmQsIGBDT05GSUdfWEZSTWAgaXMgZGVmaW5pdGVseSB0aGUga2V5IGNvbmZpZ3VyYXRpb24gb3B0aW9uIHdlIG5lZWQgdG8gZm9jdXMgb24uIFRvIGVuc3VyZSB0aGF0IHRoZSBYRlJNIGluZnJhc3RydWN0dXJlIGlzIGZ1bGx5IG9wZXJhdGlvbmFsIGFuZCwgY3JpdGljYWxseSwgYWNjZXNzaWJsZSBmcm9tIHVzZXIgc3BhY2UsIEknbSBnb2luZyB0byBleHBsaWNpdGx5IGVuYWJsZSBgWEZSTV9VU0VSYC4gVGhhdCdzIHRoZSBjbGVhbmVyIGFwcHJvYWNoLlxuXG5Ob3csIGp1c3QgdG8gYmUgYWJzb2x1dGVseSBjZXJ0YWluLCBpdCdzIHdvcnRoIGEgcXVpY2sgcmV2aWV3IG9mIHRoZSByZWxldmFudCBkZWxldGlvbiBmdW5jdGlvbnMuIExldCdzIG1ha2Ugc3VyZSB0aGF0IGBfX3hmcm1fc3RhdGVfZGVsZXRlYCBhbmQsIG9mIGNvdXJzZSwgdGhlIGV4cG9ydGVkIGB4ZnJtX3N0YXRlX2RlbGV0ZWAgYXJlIGJlaGF2aW5nIGFzIGV4cGVjdGVkLiBBaCB5ZXMsIGB4ZnJtX3N0YXRlX2RlbGV0ZWAgaXMgaW5kZWVkIGV4cG9ydGVkIGFuZCB1dGlsaXplZCB3aXRoaW4gYHhmcm1fdXNlci5jYCBhbmQgZWxzZXdoZXJlLiBHb29kLCB0aGF0J3Mgd2hhdCBJIG5lZWRlZCB0byBjb25maXJtLlxuXG5cbiIsIklucHV0VG9rZW5zIjo2MjYwLCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6ODcsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDFUMDE6MDg6MDEuNzQyMTIyNDg1WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMDgzNTQ5ODgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwieGZybV9zdGF0ZV9kZWxldGVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3hmcm0vXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC94ZnJtL3hmcm1fc3RhdGUuYz0yMjg9c3RhdGljIERFRklORV9TUElOTE9DSyh4ZnJtX3N0YXRlX2Rldl9nY19sb2NrKTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMjI5LVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzoyMzA6aW50IF9feGZybV9zdGF0ZV9kZWxldGUoc3RydWN0IHhmcm1fc3RhdGUgKngpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0yMzEtXFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9NTkzPUVYUE9SVF9TWU1CT0woeGZybV9zdGF0ZV9mcmVlKTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtNTk0LVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo1OTU6c3RhdGljIHZvaWQgeGZybV9zdGF0ZV9kZWxldGVfdHVubmVsKHN0cnVjdCB4ZnJtX3N0YXRlICp4KTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtNTk2LXN0YXRpYyB2b2lkIHhmcm1fc3RhdGVfZ2NfZGVzdHJveShzdHJ1Y3QgeGZybV9zdGF0ZSAqeClcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy02MTAtXFx0eGZybV91bnNldF90eXBlX29mZmxvYWQoeCk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjYxMTpcXHR4ZnJtX3N0YXRlX2RlbGV0ZV90dW5uZWwoeCk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTYxMi1cXHRpZiAoeC1cXHUwMDNldHlwZSkge1xcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTYzOT1zdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgeGZybV90aW1lcl9oYW5kbGVyKHN0cnVjdCBocnRpbWVyICptZSlcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy03MTctXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjcxODpcXHRlcnIgPSBfX3hmcm1fc3RhdGVfZGVsZXRlKHgpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy03MTktXFx0aWYgKCFlcnIpXFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9ODA5PUVYUE9SVF9TWU1CT0woX194ZnJtX3N0YXRlX2Rlc3Ryb3kpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04MTAtXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjgxMTppbnQgX194ZnJtX3N0YXRlX2RlbGV0ZShzdHJ1Y3QgeGZybV9zdGF0ZSAqeClcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODEyLXtcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04MzctXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjgzODpcXHRcXHR4ZnJtX3N0YXRlX2RlbGV0ZV90dW5uZWwoeCk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTgzOS1cXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NDktfVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4NTA6RVhQT1JUX1NZTUJPTChfX3hmcm1fc3RhdGVfZGVsZXRlKTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODUxLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4NTI6aW50IHhmcm1fc3RhdGVfZGVsZXRlKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NTMte1xcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg1Ni1cXHRzcGluX2xvY2tfYmgoXFx1MDAyNngtXFx1MDAzZWxvY2spO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4NTc6XFx0ZXJyID0gX194ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODU4LVxcdHNwaW5fdW5sb2NrX2JoKFxcdTAwMjZ4LVxcdTAwM2Vsb2NrKTtcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04NjEtfVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo4NjI6RVhQT1JUX1NZTUJPTCh4ZnJtX3N0YXRlX2RlbGV0ZSk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg2My1cXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYz04NjY9eGZybV9zdGF0ZV9mbHVzaF9zZWNjdHhfY2hlY2soc3RydWN0IG5ldCAqbmV0LCB1OCBwcm90bywgYm9vbCB0YXNrX3ZhbGlkKVxcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTg3NC1cXHRcXHRcXHRpZiAoeGZybV9pZF9wcm90b19tYXRjaCh4LVxcdTAwM2VpZC5wcm90bywgcHJvdG8pIFxcdTAwMjZcXHUwMDI2XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjg3NTpcXHRcXHRcXHQgICAoZXJyID0gc2VjdXJpdHlfeGZybV9zdGF0ZV9kZWxldGUoeCkpICE9IDApIHtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODc2LVxcdFxcdFxcdFxcdHhmcm1fYXVkaXRfc3RhdGVfZGVsZXRlKHgsIDAsIHRhc2tfdmFsaWQpO1xcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTg4Nj14ZnJtX2Rldl9zdGF0ZV9mbHVzaF9zZWNjdHhfY2hlY2soc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBib29sIHRhc2tfdmFsaWQpXFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtODk3LVxcdFxcdFxcdGlmICh4c28tXFx1MDAzZWRldiA9PSBkZXYgXFx1MDAyNlxcdTAwMjZcXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6ODk4OlxcdFxcdFxcdCAgIChlcnIgPSBzZWN1cml0eV94ZnJtX3N0YXRlX2RlbGV0ZSh4KSkgIT0gMCkge1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy04OTktXFx0XFx0XFx0XFx0eGZybV9hdWRpdF9zdGF0ZV9kZWxldGUoeCwgMCwgdGFza192YWxpZCk7XFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9OTIxPWludCB4ZnJtX3N0YXRlX2ZsdXNoKHN0cnVjdCBuZXQgKm5ldCwgdTggcHJvdG8sIGJvb2wgdGFza192YWxpZClcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy05MzktXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjk0MDpcXHRcXHRcXHRcXHRlcnIgPSB4ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtOTQxLVxcdFxcdFxcdFxcdHhmcm1fYXVkaXRfc3RhdGVfZGVsZXRlKHgsIGVyciA/IDAgOiAxLFxcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTk2MT1pbnQgeGZybV9kZXZfc3RhdGVfZmx1c2goc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBib29sIHRhc2tfdmFsaWQpXFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtOTgyLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzo5ODM6XFx0XFx0XFx0XFx0ZXJyID0geGZybV9zdGF0ZV9kZWxldGUoeCk7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTk4NC1cXHRcXHRcXHRcXHR4ZnJtX2Rldl9zdGF0ZV9mcmVlKHgpO1xcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jPTE4OTU9aW50IHhmcm1fc3RhdGVfYWRkKHN0cnVjdCB4ZnJtX3N0YXRlICp4KVxcbi0tXFxubmV0L3hmcm0veGZybV9zdGF0ZS5jLTE5MzktXFx0aWYgKHgxKSB7XFxubmV0L3hmcm0veGZybV9zdGF0ZS5jOjE5NDA6XFx0XFx0eGZybV9zdGF0ZV9kZWxldGUoeDEpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0xOTQxLVxcdFxcdHhmcm1fc3RhdGVfcHV0KHgxKTtcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYz0yMjI2PWludCB4ZnJtX3N0YXRlX3VwZGF0ZShzdHJ1Y3QgeGZybV9zdGF0ZSAqeClcXG4tLVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0yMjczLVxcdGlmICgheCkge1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzoyMjc0OlxcdFxcdHhmcm1fc3RhdGVfZGVsZXRlKHgxKTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMjI3NS1cXHRcXHR4ZnJtX3N0YXRlX3B1dCh4MSk7XFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmM9MzE0Nz1FWFBPUlRfU1lNQk9MKHhmcm1fZmx1c2hfZ2MpO1xcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYy0zMTQ4LVxcbm5ldC94ZnJtL3hmcm1fc3RhdGUuYzozMTQ5OnN0YXRpYyB2b2lkIHhmcm1fc3RhdGVfZGVsZXRlX3R1bm5lbChzdHJ1Y3QgeGZybV9zdGF0ZSAqeClcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMzE1MC17XFxuLS1cXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMzE1NC1cXHRcXHRpZiAoYXRvbWljX2RlY19yZXR1cm4oXFx1MDAyNnQtXFx1MDAzZXR1bm5lbF91c2VycykgPT0gMSlcXG5uZXQveGZybS94ZnJtX3N0YXRlLmM6MzE1NTpcXHRcXHRcXHR4ZnJtX3N0YXRlX2RlbGV0ZSh0KTtcXG5uZXQveGZybS94ZnJtX3N0YXRlLmMtMzE1Ni1cXHRcXHR4ZnJtX3N0YXRlX3B1dCh0KTtcXG4tLVxcbm5ldC94ZnJtL3hmcm1fdXNlci5jPTExMTg9c3RhdGljIGludCB4ZnJtX2RlbF9zYShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCxcXG4tLVxcbm5ldC94ZnJtL3hmcm1fdXNlci5jLTExMzAtXFxubmV0L3hmcm0veGZybV91c2VyLmM6MTEzMTpcXHRpZiAoKGVyciA9IHNlY3VyaXR5X3hmcm1fc3RhdGVfZGVsZXRlKHgpKSAhPSAwKVxcbm5ldC94ZnJtL3hmcm1fdXNlci5jLTExMzItXFx0XFx0Z290byBvdXQ7XFxuLS1cXG5uZXQveGZybS94ZnJtX3VzZXIuYy0xMTM5LVxcbm5ldC94ZnJtL3hmcm1fdXNlci5jOjExNDA6XFx0ZXJyID0geGZybV9zdGF0ZV9kZWxldGUoeCk7XFxubmV0L3hmcm0veGZybV91c2VyLmMtMTE0MS1cXHRpZiAoZXJyIFxcdTAwM2MgMClcXG4tLVxcbm5ldC94ZnJtL3hmcm1fdXNlci5jPTMwMDQ9c3RhdGljIGludCB4ZnJtX2FkZF9zYV9leHBpcmUoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5sbXNnaGRyICpubGgsXFxuLS1cXG5uZXQveGZybS94ZnJtX3VzZXIuYy0zMDMxLVxcdGlmICh1ZS1cXHUwMDNlaGFyZCkge1xcbm5ldC94ZnJtL3hmcm1fdXNlci5jOjMwMzI6XFx0XFx0X194ZnJtX3N0YXRlX2RlbGV0ZSh4KTtcXG5uZXQveGZybS94ZnJtX3VzZXIuYy0zMDMzLVxcdFxcdHhmcm1fYXVkaXRfc3RhdGVfZGVsZXRlKHgsIDEsIHRydWUpO1xcbi0tXFxubmV0L3hmcm0veGZybV91c2VyLmM9MzM0Mz1zdGF0aWMgaW50IHhmcm1fZG9fbWlncmF0ZV9zdGF0ZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCxcXG4tLVxcbm5ldC94ZnJtL3hmcm1fdXNlci5jLTM0ODUtXFx0eGZybV9taWdyYXRlX3N5bmMoeGMsIHgpOyAvKiB0byBwcmV2ZW50IFNOL0lWIHJldXNlICovXFxubmV0L3hmcm0veGZybV91c2VyLmM6MzQ4NjpcXHRfX3hmcm1fc3RhdGVfZGVsZXRlKHgpO1xcbm5ldC94ZnJtL3hmcm1fdXNlci5jLTM0ODctXFx0c3Bpbl91bmxvY2tfYmgoXFx1MDAyNngtXFx1MDAzZWxvY2spO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMVQwMTowODowMS44NTA0ODEwOTRaIiwiU2VxIjoxMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NzM0MjkyNzk3NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipGdXp6aW5nIHRoZSBYRlJNIFN0YXRlIERlbGV0aW9uIExvZ2ljKipcblxuT2theSwgc28gSSd2ZSBiZWVuIGxvb2tpbmcgYXQgdGhpcyBYRlJNIGNvZGUsIGFuZCBpdCdzIHByZXR0eSBjbGVhciB0aGF0IGB4ZnJtX3N0YXRlX2RlbGV0ZWAgYW5kLCBtb3JlIGltcG9ydGFudGx5LCBgX194ZnJtX3N0YXRlX2RlbGV0ZWAsIGFyZSB2dWxuZXJhYmxlLiBUaGV5J3JlIGRlZmluaXRlbHkgYWNjZXNzaWJsZSBmcm9tIHVzZXIgc3BhY2UsIHNwZWNpZmljYWxseSB0aHJvdWdoIG5ldGxpbmsgaW50ZXJhY3Rpb25zIGxpa2UgYHhmcm1fZGVsX3NhYCwgYHhmcm1fYWRkX3NhX2V4cGlyZWAsIGFuZCBgeGZybV9kb19taWdyYXRlX3N0YXRlYC4gVGhhdCBtYWtlcyB0aGVtIHByaW1lIHRhcmdldHMgZm9yIGZ1enppbmcuXG5cbk5vdywgY29uZmlndXJhdGlvbi13aXNlLCBJIHRoaW5rIGBYRlJNX1VTRVJgIGlzIHRoZSBrZXkuIExldCBtZSBkb3VibGUtY2hlY2suLi4gWWVzLCBgWEZSTV9VU0VSYCBwdWxscyBpbiBgWEZSTV9BTEdPYCwgd2hpY2ggaW4gdHVybiBicmluZ3MgaW4gYFhGUk1gLiBTbywgeWVhaCwgZW5hYmxpbmcgYFhGUk1fVVNFUmAgc2hvdWxkIGJlIHN1ZmZpY2llbnQgZm9yIHJlcHJvZHVjaW5nIHRoZSByZWxldmFudCBjb2RlIHBhdGhzLiBObyBuZWVkIHRvIG92ZXJjb21wbGljYXRlIHRoaW5ncy5cblxuU28sIGhlcmUncyB3aGF0IEknbSB0aGlua2luZyBpbiB0ZXJtcyBvZiBzZXR1cDpcblxuKiAgICoqV29ydGhGdXp6aW5nOioqIEFic29sdXRlbHkhXG4qICAgKipGb2N1c1N5bWJvbHM6KiogRGVmaW5pdGVseSBgX194ZnJtX3N0YXRlX2RlbGV0ZWAgYW5kIGB4ZnJtX3N0YXRlX2RlbGV0ZWAuIFRoZXNlIGFyZSB0aGUgZnVuY3Rpb25zIGRpcmVjdGx5IGltcGxpY2F0ZWQuXG4qICAgKipFbmFibGVDb25maWdzOioqIEp1c3QgYFhGUk1fVVNFUmAuXG4qICAgKipSZWFzb25pbmc6KiogVGhlIHBhdGNoIGFkZHJlc3NlcyBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZSBvciBkb3VibGUtZGVsZXRlIGluIGBfX3hmcm1fc3RhdGVfZGVsZXRlYC4gVGhlIGZpeCBpbnZvbHZlcyBjaGFuZ2luZyBgaGxpc3RfZGVsX3JjdWAgdG8gYGhsaXN0X2RlbF9pbml0X3JjdWAgZm9yIGBzdGF0ZV9jYWNoZWAgYW5kIGBzdGF0ZV9jYWNoZV9pbnB1dGAsIGVuc3VyaW5nIGBobGlzdF91bmhhc2hlZGAgcmV0dXJucyB0cnVlIG9uIHN1YnNlcXVlbnQgY2FsbHMuIFRoaXMgaXMgYSBjcnVjaWFsIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYRlJNIHN0YXRlIG1hbmFnZW1lbnQsIGFuZCB0aGUgZmFjdCB0aGF0IGl0J3MgcmVhY2hhYmxlIGZyb20gdXNlciBzcGFjZSB2aWEgbmV0bGluayBtYWtlcyBpdCBhIGhpZ2gtcHJpb3JpdHkgdGFyZ2V0IGZvciBmdXp6aW5nLiBXZSBuZWVkIHRvIHZlcmlmeSB0aGUgZml4IHRob3JvdWdobHkuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjg5MjUsIk91dHB1dFRva2VucyI6MTU3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzA2LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAxVDAxOjA4OjA5LjE5MzQxMjUxWiIsIlNlcSI6MTQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTU5NjU3ODA3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJYRlJNX1VTRVJcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJfX3hmcm1fc3RhdGVfZGVsZXRlXCIsXG4gICAgXCJ4ZnJtX3N0YXRlX2RlbGV0ZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIHVzZS1hZnRlci1mcmVlIG9yIGRvdWJsZS1kZWxldGUgaXNzdWUgaW4gYF9feGZybV9zdGF0ZV9kZWxldGVgIGJ5IHJlcGxhY2luZyBgaGxpc3RfZGVsX3JjdWAgd2l0aCBgaGxpc3RfZGVsX2luaXRfcmN1YCBmb3IgYHN0YXRlX2NhY2hlYCBhbmQgYHN0YXRlX2NhY2hlX2lucHV0YC4gVGhpcyBlbnN1cmVzIHRoYXQgYGhsaXN0X3VuaGFzaGVkYCByZXR1cm5zIHRydWUgb24gc3Vic2VxdWVudCBjYWxscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIFhGUk0gc3RhdGUgbWFuYWdlbWVudCBsb2dpYywgcmVhY2hhYmxlIGZyb20gdXNlciBzcGFjZSB2aWEgbmV0bGluay5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJYRlJNX1VTRVJcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJfX3hmcm1fc3RhdGVfZGVsZXRlXCIsXG4gICAgXCJ4ZnJtX3N0YXRlX2RlbGV0ZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIHVzZS1hZnRlci1mcmVlIG9yIGRvdWJsZS1kZWxldGUgaXNzdWUgaW4gYF9feGZybV9zdGF0ZV9kZWxldGVgIGJ5IHJlcGxhY2luZyBgaGxpc3RfZGVsX3JjdWAgd2l0aCBgaGxpc3RfZGVsX2luaXRfcmN1YCBmb3IgYHN0YXRlX2NhY2hlYCBhbmQgYHN0YXRlX2NhY2hlX2lucHV0YC4gVGhpcyBlbnN1cmVzIHRoYXQgYGhsaXN0X3VuaGFzaGVkYCByZXR1cm5zIHRydWUgb24gc3Vic2VxdWVudCBjYWxscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIFhGUk0gc3RhdGUgbWFuYWdlbWVudCBsb2dpYywgcmVhY2hhYmxlIGZyb20gdXNlciBzcGFjZSB2aWEgbmV0bGluay5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },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-workflowdzxdf[1] Phase: Succeeded StartedAt: 2026-08-01 01:08:20 +0000 UTC FinishedAt: 2026-08-01 01:08:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-08-01 01:08:20 +0000 UTC FinishedAt: 2026-08-01 01:08:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2] Phase: Succeeded StartedAt: 2026-08-01 01:08:20 +0000 UTC FinishedAt: 2026-08-01 05:00:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:08:20 +0000 UTC FinishedAt: 2026-08-01 05:00:12 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:08:20 +0000 UTC FinishedAt: 2026-08-01 01:08:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:08:20 +0000 UTC FinishedAt: 2026-08-01 01:08:26 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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-workflowdzxdf/series-workflowdzxdf-convert-artifact-2530483378/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:08:31 +0000 UTC FinishedAt: 2026-08-01 01:35:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:08:31 +0000 UTC FinishedAt: 2026-08-01 01:35:04 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*10bc9355-c9f8-48da-a7cb-d02b28ff9ea1,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-workflowdzxdf/series-workflowdzxdf-convert-artifact-2530483378/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": "4117bddf-68a9-40a6-8e4a-02ebd39344a8", "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-workflowdzxdf/series-workflowdzxdf-build-action-709914160/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:08:31 +0000 UTC FinishedAt: 2026-08-01 01:34:54 +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:*10bc9355-c9f8-48da-a7cb-d02b28ff9ea1,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-workflowdzxdf/series-workflowdzxdf-convert-artifact-2530483378/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": "4117bddf-68a9-40a6-8e4a-02ebd39344a8", "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-workflowdzxdf/series-workflowdzxdf-build-action-709914160/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:35:04 +0000 UTC FinishedAt: 2026-08-01 01:35:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:35:04 +0000 UTC FinishedAt: 2026-08-01 01:35:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:35:04 +0000 UTC FinishedAt: 2026-08-01 01:35:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:35:04 +0000 UTC FinishedAt: 2026-08-01 01:35:10 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-workflowdzxdf/series-workflowdzxdf-convert-artifact-832509901/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:35:14 +0000 UTC FinishedAt: 2026-08-01 01:37:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:35:14 +0000 UTC FinishedAt: 2026-08-01 01:37:04 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*4117bddf-68a9-40a6-8e4a-02ebd39344a8,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-workflowdzxdf/series-workflowdzxdf-build-action-709914160/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-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:37:14 +0000 UTC FinishedAt: 2026-08-01 01:37:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:37:14 +0000 UTC FinishedAt: 2026-08-01 01:37:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:37:14 +0000 UTC FinishedAt: 2026-08-01 01:54:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:37:14 +0000 UTC FinishedAt: 2026-08-01 01:54:28 +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:*10bc9355-c9f8-48da-a7cb-d02b28ff9ea1,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-workflowdzxdf/series-workflowdzxdf-convert-artifact-832509901/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": "e181d8e7-7c50-4750-a5c3-f47b69c89404", "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-workflowdzxdf/series-workflowdzxdf-build-action-985023913/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:37:14 +0000 UTC FinishedAt: 2026-08-01 01:54:18 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*10bc9355-c9f8-48da-a7cb-d02b28ff9ea1,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-workflowdzxdf/series-workflowdzxdf-convert-artifact-832509901/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": "e181d8e7-7c50-4750-a5c3-f47b69c89404", "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-workflowdzxdf/series-workflowdzxdf-build-action-985023913/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:54:28 +0000 UTC FinishedAt: 2026-08-01 01:54:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:54:28 +0000 UTC FinishedAt: 2026-08-01 01:54:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:54:28 +0000 UTC FinishedAt: 2026-08-01 01:56:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:54:28 +0000 UTC FinishedAt: 2026-08-01 01:56:24 +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:*e181d8e7-7c50-4750-a5c3-f47b69c89404,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-workflowdzxdf/series-workflowdzxdf-build-action-985023913/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-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:56:34 +0000 UTC FinishedAt: 2026-08-01 05:00:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:56:34 +0000 UTC FinishedAt: 2026-08-01 05:00:12 +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":["__xfrm_state_delete","xfrm_state_delete"],"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:*4117bddf-68a9-40a6-8e4a-02ebd39344a8,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*e181d8e7-7c50-4750-a5c3-f47b69c89404,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-workflowdzxdf/series-workflowdzxdf-build-action-709914160/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-workflowdzxdf/series-workflowdzxdf-build-action-985023913/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:56:34 +0000 UTC FinishedAt: 2026-08-01 01:56:44 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:56:34 +0000 UTC FinishedAt: 2026-08-01 01:56:40 +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":["__xfrm_state_delete","xfrm_state_delete"],"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-workflowdzxdf/series-workflowdzxdf-convert-artifact-2338236594/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:56:34 +0000 UTC FinishedAt: 2026-08-01 01:56:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:56:34 +0000 UTC FinishedAt: 2026-08-01 01:56:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:56:34 +0000 UTC FinishedAt: 2026-08-01 01:56:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:56:44 +0000 UTC FinishedAt: 2026-08-01 05:00:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdzxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"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":["__xfrm_state_delete","xfrm_state_delete"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2195424c3da2ef1829a63b807e3a900a90e57d85","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFRM_USER"],"series_id":"8c8ce303-b82f-48ed-b7a4-e6cf320dabe0","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-08-01 01:56:44 +0000 UTC FinishedAt: 2026-08-01 05:00:02 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*4117bddf-68a9-40a6-8e4a-02ebd39344a8,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*e181d8e7-7c50-4750-a5c3-f47b69c89404,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-workflowdzxdf/series-workflowdzxdf-build-action-709914160/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-workflowdzxdf/series-workflowdzxdf-build-action-985023913/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-workflowdzxdf/series-workflowdzxdf-convert-artifact-2338236594/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,}