Name: series-workflowdpxnp Phase: Succeeded StartedAt: 2026-07-24 09:48:02 +0000 UTC FinishedAt: 2026-07-24 11:53:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[0] Phase: Succeeded StartedAt: 2026-07-24 09:48:02 +0000 UTC FinishedAt: 2026-07-24 10:03:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[0].run-triage Phase: Succeeded StartedAt: 2026-07-24 09:48:02 +0000 UTC FinishedAt: 2026-07-24 10:03:07 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "a23a71823352e2d792dcaae25f1ebb744acbfc0b", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_JIT" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "a23a71823352e2d792dcaae25f1ebb744acbfc0b", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_JIT" ], "series_id": "1d349949-35a9-4dd5-a00c-1d6acf27d2b3" }, "track": "KASAN", "fuzz": { "focus": [ "bpf" ], "focus_symbols": [ "bpf_jit_emit_insn", "bpf_jit_supports_timed_may_goto" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-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+CgkJCTx0ZD4yMDI2LzA3LzI0IDEwOjAyPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGltcGxlbWVudHMgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBpbnN0cnVjdGlvbiBmb3IgdGhlIFJJU0MtViBCUEYgSklUIGNvbXBpbGVyLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIEJQRiBKSVQgbG9naWMgb24gUklTQy1WIGFuZCBpcyByZWFjaGFibGUgd2hlbiBsb2FkaW5nIEJQRiBwcm9ncmFtcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yNCAxMDowMjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDg3ODc1MzMxYzAwOWU0MWM1YTlkZmRmOTZkZDAxZDcyZGY3NTliZWJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAyNCAxMDowMjowNSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZSBiL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlXG5pbmRleCA5YTFlNWYwYTk0ZTU1OS4uNjQ1OGQ0ZDUxOTkwYTcgMTAwNjQ0XG4tLS0gYS9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZVxuJiM0MzsmIzQzOyYjNDM7IGIvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcbkBAIC0zLDcgJiM0MzszLDcgQEBcbiBvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29yZS5vXG4gXG4gaWZlcSAoJChDT05GSUdfQVJDSF9SVjY0SSkseSlcbi1cdG9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb21wNjQub1xuJiM0MztcdG9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb21wNjQubyBicGZfdGltZWRfbWF5X2dvdG8ub1xuIGVsc2VcbiBcdG9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb21wMzIub1xuIGVuZGlmXG5kaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYyBiL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcbmluZGV4IGFkMDg5YTlhNGVhOWFjLi44ZmU4OTY5ZmI4YTBmOCAxMDA2NDRcbi0tLSBhL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcbkBAIC0xODQxLDcgJiM0MzsxODQxLDEyIEBAIGludCBicGZfaml0X2VtaXRfaW5zbihjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24sIHN0cnVjdCBydl9qaXRfY29udGV4dCAqY3R4LFxuIFx0XHRpZiAoYXV4LVx1MDAzZXRhaWxfY2FsbF9yZWFjaGFibGUgXHUwMDI2XHUwMDI2IGluc24tXHUwMDNlc3JjX3JlZyA9PSBCUEZfUFNFVURPX0NBTEwpXG4gXHRcdFx0ZW1pdF9zZChSVl9SRUdfU1AsIGN0eC1cdTAwM2V0Y2Nfb2Zmc2V0LCBSVl9SRUdfVENDLCBjdHgpO1xuIFxuLVx0XHRpZiAoaW5zbi1cdTAwM2VzcmNfcmVnICE9IEJQRl9QU0VVRE9fQ0FMTClcbiYjNDM7XHRcdC8qXG4mIzQzO1x0XHQgKiBhcmNoX2JwZl90aW1lZF9tYXlfZ290bygpIGlzIGVtaXR0ZWQgYnkgdGhlIHZlcmlmaWVyIGFuZFxuJiM0MztcdFx0ICogcmV0dXJucyBpdHMgcmVzdWx0IGluIEJQRl9SRUdfQVggaW5zdGVhZCBvZiBCUEZfUkVHXzAsIHNvXG4mIzQzO1x0XHQgKiBza2lwIHRoZSBub3JtYWwgXCYjMzQ7bW92ZSByZXR1cm4gcmVnaXN0ZXIgaW50byBSMFwmIzM0Oy5cbiYjNDM7XHRcdCAqL1xuJiM0MztcdFx0aWYgKGluc24tXHUwMDNlc3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwgXHUwMDI2XHUwMDI2IGFkZHIgIT0gKHU2NClhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcbiBcdFx0XHRlbWl0X212KGJwZl90b19ydl9yZWcoQlBGX1JFR18wLCBjdHgpLCBSVl9SRUdfQTAsIGN0eCk7XG4gXHRcdGJyZWFrO1xuIFx0fVxuQEAgLTIxNjEsMyAmIzQzOzIxNjYsOCBAQCBib29sIGJwZl9qaXRfc3VwcG9ydHNfc3VicHJvZ190YWlsY2FsbHModm9pZClcbiB7XG4gXHRyZXR1cm4gdHJ1ZTtcbiB9XG4mIzQzO1xuJiM0Mztib29sIGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG8odm9pZClcbiYjNDM7e1xuJiM0MztcdHJldHVybiB0cnVlO1xuJiM0Mzt9XG5kaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlMgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU1xubmV3IGZpbGUgbW9kZSAxMDA2NDRcbmluZGV4IDAwMDAwMDAwMDAwMDAwLi4wMmM2MzdkODc0MjA1YVxuLS0tIC9kZXYvbnVsbFxuJiM0MzsmIzQzOyYjNDM7IGIvYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlNcbkBAIC0wLDAgJiM0MzsxLDQ3IEBAXG4mIzQzOy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovXG4mIzQzOy8qIENvcHlyaWdodCAoYykgMjAyNiBGZW5nIEppYW5nIFx1MDAzY2ppYW5nZmVuZ0BreWxpbm9zLmNuXHUwMDNlICovXG4mIzQzO1xuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9saW5rYWdlLmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjYXNtL2FzbS5oXHUwMDNlXG4mIzQzO1xuJiM0MzsvKlxuJiM0MzsgKiBUcmFtcG9saW5lIGZvciB0aGUgQlBGIHRpbWVkIG1heV9nb3RvIGxvb3AgYm91bmQuIEN1c3RvbSBjYWxsaW5nIGNvbnZlbnRpb246XG4mIzQzOyAqXHQtIGlucHV0OiAgc3RhY2sgb2Zmc2V0IGluIEJQRl9SRUdfQVggKHQwKVxuJiM0MzsgKlx0LSBvdXRwdXQ6IHVwZGF0ZWQgY291bnQgaW4gQlBGX1JFR19BWCAodDApXG4mIzQzOyAqXG4mIzQzOyAqIENhbGxzIGJwZl9jaGVja190aW1lZF9tYXlfZ290byhwdHIpIHdpdGggdGhlIHN0YW5kYXJkIFJJU0MtViBBQkksIHdoZXJlXG4mIzQzOyAqIHB0ciA9IEJQRl9SRUdfRlAgKHM1KSAmIzQzOyBCUEZfUkVHX0FYICh0MCkuIEJQRiBSMC1SNSAoYTUsIGEwLWE0KSBhcmUgc2F2ZWRcbiYjNDM7ICogYWNyb3NzIHRoZSBjYWxsOyBCUEZfUkVHX0ZQIChzNSkgaXMgY2FsbGVlLXNhdmVkIGFuZCBuZWVkcyBubyBzYXZpbmcuXG4mIzQzOyAqL1xuJiM0MztcbiYjNDM7U1lNX0ZVTkNfU1RBUlQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXG4mIzQzO1x0YWRkaVx0c3AsIHNwLCAtKDgqU1pSRUcpXG4mIzQzO1x0UkVHX1NcdHJhLCA3KlNaUkVHKHNwKVxuJiM0MztcdFJFR19TXHRzMCwgNipTWlJFRyhzcClcbiYjNDM7XHRhZGRpXHRzMCwgc3AsIDgqU1pSRUdcbiYjNDM7XG4mIzQzO1x0LyogU2F2ZSBCUEYgcmVnaXN0ZXJzIFIwLVI1IChhNSwgYTAtYTQpICovXG4mIzQzO1x0UkVHX1NcdGE1LCA1KlNaUkVHKHNwKVxuJiM0MztcdFJFR19TXHRhMCwgNCpTWlJFRyhzcClcbiYjNDM7XHRSRUdfU1x0YTEsIDMqU1pSRUcoc3ApXG4mIzQzO1x0UkVHX1NcdGEyLCAyKlNaUkVHKHNwKVxuJiM0MztcdFJFR19TXHRhMywgMSpTWlJFRyhzcClcbiYjNDM7XHRSRUdfU1x0YTQsIDAqU1pSRUcoc3ApXG4mIzQzO1xuJiM0MztcdGFkZFx0YTAsIHQwLCBzNVxuJiM0MztcdGNhbGxcdGJwZl9jaGVja190aW1lZF9tYXlfZ290b1xuJiM0MztcdG12XHR0MCwgYTBcbiYjNDM7XG4mIzQzO1x0LyogUmVzdG9yZSBCUEYgcmVnaXN0ZXJzIFIwLVI1ICovXG4mIzQzO1x0UkVHX0xcdGE0LCAwKlNaUkVHKHNwKVxuJiM0MztcdFJFR19MXHRhMywgMSpTWlJFRyhzcClcbiYjNDM7XHRSRUdfTFx0YTIsIDIqU1pSRUcoc3ApXG4mIzQzO1x0UkVHX0xcdGExLCAzKlNaUkVHKHNwKVxuJiM0MztcdFJFR19MXHRhMCwgNCpTWlJFRyhzcClcbiYjNDM7XHRSRUdfTFx0YTUsIDUqU1pSRUcoc3ApXG4mIzQzO1xuJiM0MztcdFJFR19MXHRzMCwgNipTWlJFRyhzcClcbiYjNDM7XHRSRUdfTFx0cmEsIDcqU1pSRUcoc3ApXG4mIzQzO1x0YWRkaVx0c3AsIHNwLCA4KlNaUkVHXG4mIzQzO1x0cmV0XG4mIzQzO1NZTV9GVU5DX0VORChhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmNcbmluZGV4IDkyYmExZDcyZTBlY2U0Li44ZDhlNTNkMzcyNjZjZCAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXG5AQCAtNjQsNiAmIzQzOzY0LDcgQEAgU0VDKFwmIzM0O3N5c2NhbGxcJiMzNDspXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9hcm02NFxuIF9fYXJjaF9zMzkweFxuJiM0MztfX2FyY2hfcmlzY3Y2NFxuIF9fc3VjY2VzcyBfX3JldHZhbCgwKVxuIF9fc3RkZXJyKFwmIzM0O0VSUk9SOiBUaW1lb3V0IGRldGVjdGVkIGZvciBtYXlfZ290byBpbnN0cnVjdGlvblwmIzM0OylcbiBfX3N0ZGVycihcJiMzNDtDUFU6IHt7WzAtOV0mIzQzO319IFVJRDogMCBQSUQ6IHt7WzAtOV0mIzQzO319IENvbW06IHt7Lip9fVwmIzM0OylcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcbmluZGV4IDhkN2ZmMzhlNGMwNjk3Li44MzcwN2ZhZWEwNDk5NCAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jXG5AQCAtNjYwLDYgJiM0Mzs2NjAsNyBAQCBfX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25feDg2XzY0KHZvaWQpXG4gXG4gU0VDKFwmIzM0O3Jhd190cFwmIzM0OylcbiBfX2FyY2hfYXJtNjRcbiYjNDM7X19hcmNoX3Jpc2N2NjRcbiBfX2xvZ19sZXZlbCg0KSBfX21zZyhcJiMzNDtzdGFjayBkZXB0aCAyNFwmIzM0OylcbiAvKiBtYXlfZ290byBjb3VudGVyIGF0IC0yNCAqL1xuIF9feGxhdGVkKFwmIzM0OzA6ICoodTY0ICopKHIxMCAtMjQpID1cJiMzNDspXG5AQCAtNjc5LDcgJiM0Mzs2ODAsNyBAQCBfX3hsYXRlZChcJiMzNDsxMDogKih1NjQgKikocjEwIC0yNCkgPSByMTJcJiMzNDspXG4gX194bGF0ZWQoXCYjMzQ7MTE6ICoodTY0ICopKHIxMCAtOCkgPSByMVwmIzM0OylcbiBfX3hsYXRlZChcJiMzNDsxMjogZXhpdFwmIzM0OylcbiBfX3N1Y2Nlc3Ncbi1fX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25fYXJtNjQodm9pZClcbiYjNDM7X19uYWtlZCB2b2lkIG1heV9nb3RvX2ludGVyYWN0aW9uKHZvaWQpXG4ge1xuIFx0YXNtIHZvbGF0aWxlIChcbiBcdFwmIzM0O3IxID0gMTtcJiMzNDtcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuaW5kZXggNGJkZjQyNTZhNDFlNTEuLjBlMjExZjAzMGQwZDdhIDEwMDY0NFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuQEAgLTExLDYgJiM0MzsxMSw3IEBAIF9fZGVzY3JpcHRpb24oXCYjMzQ7bWF5X2dvdG8gMFwmIzM0OylcbiBfX2FyY2hfeDg2XzY0XG4gX19hcmNoX3MzOTB4XG4gX19hcmNoX2FybTY0XG4mIzQzO19fYXJjaF9yaXNjdjY0XG4gX194bGF0ZWQoXCYjMzQ7MDogcjAgPSAxXCYjMzQ7KVxuIF9feGxhdGVkKFwmIzM0OzE6IGV4aXRcJiMzNDspXG4gX19zdWNjZXNzXG5AQCAtMzEsNiAmIzQzOzMyLDcgQEAgX19kZXNjcmlwdGlvbihcJiMzNDtiYXRjaCAyIG9mIG1heV9nb3RvIDBcJiMzNDspXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuJiM0MztfX2FyY2hfcmlzY3Y2NFxuIF9feGxhdGVkKFwmIzM0OzA6IHIwID0gMVwmIzM0OylcbiBfX3hsYXRlZChcJiMzNDsxOiBleGl0XCYjMzQ7KVxuIF9fc3VjY2Vzc1xuQEAgLTUzLDYgJiM0Mzs1NSw3IEBAIF9fZGVzY3JpcHRpb24oXCYjMzQ7bWF5X2dvdG8gYmF0Y2ggd2l0aCBvZmZzZXRzIDIvMS8wXCYjMzQ7KVxuIF9fYXJjaF94ODZfNjRcbiBfX2FyY2hfczM5MHhcbiBfX2FyY2hfYXJtNjRcbiYjNDM7X19hcmNoX3Jpc2N2NjRcbiBfX3hsYXRlZChcJiMzNDswOiByMCA9IDFcJiMzNDspXG4gX194bGF0ZWQoXCYjMzQ7MTogZXhpdFwmIzM0OylcbiBfX3N1Y2Nlc3NcbkBAIC03OSw2ICYjNDM7ODIsNyBAQCBfX2Rlc2NyaXB0aW9uKFwmIzM0O21heV9nb3RvIGJhdGNoIHdpdGggb2Zmc2V0cyAyLzBcJiMzNDspXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuJiM0MztfX2FyY2hfcmlzY3Y2NFxuIF9feGxhdGVkKFwmIzM0OzA6ICoodTY0ICopKHIxMCAtMTYpID0gNjU1MzVcJiMzNDspXG4gX194bGF0ZWQoXCYjMzQ7MTogKih1NjQgKikocjEwIC04KSA9IDBcJiMzNDspXG4gX194bGF0ZWQoXCYjMzQ7MjogcjEyID0gKih1NjQgKikocjEwIC0xNilcJiMzNDspXG5AQCAtMTA2LDQgJiM0MzsxMTAsNjIgQEAgX19uYWtlZCB2b2lkIG1heV9nb3RvX2JhdGNoXzIodm9pZClcbiBcdDogX19jbG9iYmVyX2FsbCk7XG4gfVxuIFxuJiM0MzsvKlxuJiM0MzsgKiBVc2UgYnBmX2dldF9wcmFuZG9tX3UzMigpIHRvIHByZXZlbnQgRENFIGZyb20gcmVtb3ZpbmcgdGhlIGNoZWNrcy5cbiYjNDM7ICogcmV0dmFsOiAwPWFsbCBvaywgMS02PVIwLVI1IGNsb2JiZXJlZC5cbiYjNDM7ICovXG4mIzQzO1NFQyhcJiMzNDtzeXNjYWxsXCYjMzQ7KVxuJiM0MztfX2Rlc2NyaXB0aW9uKFwmIzM0O3RpbWVkIG1heV9nb3RvIHByZXNlcnZlcyBSMC1SNVwmIzM0OylcbiYjNDM7X19hcmNoX3g4Nl82NFxuJiM0MztfX2FyY2hfczM5MHhcbiYjNDM7X19hcmNoX2FybTY0XG4mIzQzO19fYXJjaF9yaXNjdjY0XG4mIzQzO19fc3VjY2Vzc1xuJiM0MztfX3JldHZhbCgwKVxuJiM0MztfX25ha2VkIHZvaWQgdGltZWRfbWF5X2dvdG9fcHJlc2VydmVzX3JlZ3Modm9pZClcbiYjNDM7e1xuJiM0MztcdGFzbSB2b2xhdGlsZSAoXG4mIzQzO1x0XCYjMzQ7Y2FsbCAlW2JwZl9nZXRfcHJhbmRvbV91MzJdO1wmIzM0O1xuJiM0MztcdFwmIzM0O3I2ID0gcjA7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7cjAgPSAweDExMTE7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7cjAgJiM0Mzs9IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3IxID0gMHgyMjIyO1wmIzM0O1xuJiM0MztcdFwmIzM0O3IxICYjNDM7PSByNjtcJiMzNDtcbiYjNDM7XHRcJiMzNDtyMiA9IDB4MzMzMztcJiMzNDtcbiYjNDM7XHRcJiMzNDtyMiAmIzQzOz0gcjY7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7cjMgPSAweDQ0NDQ7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7cjMgJiM0Mzs9IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3I0ID0gMHg1NTU1O1wmIzM0O1xuJiM0MztcdFwmIzM0O3I0ICYjNDM7PSByNjtcJiMzNDtcbiYjNDM7XHRcJiMzNDtyNSA9IDB4NjY2NjtcJiMzNDtcbiYjNDM7XHRcJiMzNDtyNSAmIzQzOz0gcjY7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7LjhieXRlICVbbWF5X2dvdG9dO1wmIzM0O1xuJiM0MztcdFwmIzM0Oy44Ynl0ZSAlW2xvb3BdO1wmIzM0O1xuJiM0MztcdFwmIzM0O3IwIC09IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3IxIC09IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3IyIC09IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3IzIC09IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3I0IC09IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3I1IC09IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O2lmIHIwICE9IDB4MTExMSBnb3RvIDFmO1wmIzM0O1xuJiM0MztcdFwmIzM0O2lmIHIxICE9IDB4MjIyMiBnb3RvIDJmO1wmIzM0O1xuJiM0MztcdFwmIzM0O2lmIHIyICE9IDB4MzMzMyBnb3RvIDNmO1wmIzM0O1xuJiM0MztcdFwmIzM0O2lmIHIzICE9IDB4NDQ0NCBnb3RvIDRmO1wmIzM0O1xuJiM0MztcdFwmIzM0O2lmIHI0ICE9IDB4NTU1NSBnb3RvIDVmO1wmIzM0O1xuJiM0MztcdFwmIzM0O2lmIHI1ICE9IDB4NjY2NiBnb3RvIDZmO1wmIzM0O1xuJiM0MztcdFwmIzM0O3IwID0gMDtcJiMzNDtcbiYjNDM7XHRcJiMzNDtleGl0O1wmIzM0O1xuJiM0MztcdFwmIzM0OzE6IHIwID0gMTsgZXhpdDtcJiMzNDtcbiYjNDM7XHRcJiMzNDsyOiByMCA9IDI7IGV4aXQ7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7MzogcjAgPSAzOyBleGl0O1wmIzM0O1xuJiM0MztcdFwmIzM0OzQ6IHIwID0gNDsgZXhpdDtcJiMzNDtcbiYjNDM7XHRcJiMzNDs1OiByMCA9IDU7IGV4aXQ7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7NjogcjAgPSA2OyBleGl0O1wmIzM0O1xuJiM0MztcdDpcbiYjNDM7XHQ6IF9faW1tKGJwZl9nZXRfcHJhbmRvbV91MzIpLFxuJiM0MztcdCAgX19pbW1faW5zbihtYXlfZ290bywgQlBGX1JBV19JTlNOKEJQRl9KTVAgfCBCUEZfSkNPTkQsIDAsIDAsIDEsIDApKSxcbiYjNDM7XHQgIF9faW1tX2luc24obG9vcCwgQlBGX1JBV19JTlNOKEJQRl9KTVAgfCBCUEZfSkEsIDAsIDAsIC0yLCAwKSlcbiYjNDM7XHQ6IF9fY2xvYmJlcl9hbGwpO1xuJiM0Mzt9XG4mIzQzO1xuIGNoYXIgX2xpY2Vuc2VbXSBTRUMoXCYjMzQ7bGljZW5zZVwmIzM0OykgPSBcJiMzNDtHUExcJiMzNDs7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjQgMTA6MDI8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGltcGxlbWVudHMgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBpbnN0cnVjdGlvbiBmb3IgdGhlIFJJU0MtViBCUEYgSklUIGNvbXBpbGVyLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIEJQRiBKSVQgbG9naWMgb24gUklTQy1WIGFuZCBpcyByZWFjaGFibGUgd2hlbiBsb2FkaW5nIEJQRiBwcm9ncmFtcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgODc4NzUzMzFjMDA5ZTQxYzVhOWRmZGY5NmRkMDFkNzJkZjc1OWJlYgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgSnVsIDI0IDEwOjAyOjA1IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUgYi9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZQppbmRleCA5YTFlNWYwYTk0ZTU1OS4uNjQ1OGQ0ZDUxOTkwYTcgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlCiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlCkBAIC0zLDcgJiM0MzszLDcgQEAKIG9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb3JlLm8KIAogaWZlcSAoJChDT05GSUdfQVJDSF9SVjY0SSkseSkKLQlvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDY0Lm8KJiM0MzsJb2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSBicGZfaml0X2NvbXA2NC5vIGJwZl90aW1lZF9tYXlfZ290by5vCiBlbHNlCiAJb2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSBicGZfaml0X2NvbXAzMi5vCiBlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYyBiL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMKaW5kZXggYWQwODlhOWE0ZWE5YWMuLjhmZTg5NjlmYjhhMGY4IDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jCiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMKQEAgLTE4NDEsNyAmIzQzOzE4NDEsMTIgQEAgaW50IGJwZl9qaXRfZW1pdF9pbnNuKGNvbnN0IHN0cnVjdCBicGZfaW5zbiAqaW5zbiwgc3RydWN0IHJ2X2ppdF9jb250ZXh0ICpjdHgsCiAJCWlmIChhdXgtJmd0O3RhaWxfY2FsbF9yZWFjaGFibGUgJmFtcDsmYW1wOyBpbnNuLSZndDtzcmNfcmVnID09IEJQRl9QU0VVRE9fQ0FMTCkKIAkJCWVtaXRfc2QoUlZfUkVHX1NQLCBjdHgtJmd0O3RjY19vZmZzZXQsIFJWX1JFR19UQ0MsIGN0eCk7CiAKLQkJaWYgKGluc24tJmd0O3NyY19yZWcgIT0gQlBGX1BTRVVET19DQUxMKQomIzQzOwkJLyoKJiM0MzsJCSAqIGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKCkgaXMgZW1pdHRlZCBieSB0aGUgdmVyaWZpZXIgYW5kCiYjNDM7CQkgKiByZXR1cm5zIGl0cyByZXN1bHQgaW4gQlBGX1JFR19BWCBpbnN0ZWFkIG9mIEJQRl9SRUdfMCwgc28KJiM0MzsJCSAqIHNraXAgdGhlIG5vcm1hbCAmIzM0O21vdmUgcmV0dXJuIHJlZ2lzdGVyIGludG8gUjAmIzM0Oy4KJiM0MzsJCSAqLwomIzQzOwkJaWYgKGluc24tJmd0O3NyY19yZWcgIT0gQlBGX1BTRVVET19DQUxMICZhbXA7JmFtcDsgYWRkciAhPSAodTY0KWFyY2hfYnBmX3RpbWVkX21heV9nb3RvKQogCQkJZW1pdF9tdihicGZfdG9fcnZfcmVnKEJQRl9SRUdfMCwgY3R4KSwgUlZfUkVHX0EwLCBjdHgpOwogCQlicmVhazsKIAl9CkBAIC0yMTYxLDMgJiM0MzsyMTY2LDggQEAgYm9vbCBicGZfaml0X3N1cHBvcnRzX3N1YnByb2dfdGFpbGNhbGxzKHZvaWQpCiB7CiAJcmV0dXJuIHRydWU7CiB9CiYjNDM7CiYjNDM7Ym9vbCBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvKHZvaWQpCiYjNDM7ewomIzQzOwlyZXR1cm4gdHJ1ZTsKJiM0Mzt9CmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUyBiL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi4wMmM2MzdkODc0MjA1YQotLS0gL2Rldi9udWxsCiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TCkBAIC0wLDAgJiM0MzsxLDQ3IEBACiYjNDM7LyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8KJiM0MzsvKiBDb3B5cmlnaHQgKGMpIDIwMjYgRmVuZyBKaWFuZyAmbHQ7amlhbmdmZW5nQGt5bGlub3MuY24mZ3Q7ICovCiYjNDM7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2xpbmthZ2UuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7YXNtL2FzbS5oJmd0OwomIzQzOwomIzQzOy8qCiYjNDM7ICogVHJhbXBvbGluZSBmb3IgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBsb29wIGJvdW5kLiBDdXN0b20gY2FsbGluZyBjb252ZW50aW9uOgomIzQzOyAqCS0gaW5wdXQ6ICBzdGFjayBvZmZzZXQgaW4gQlBGX1JFR19BWCAodDApCiYjNDM7ICoJLSBvdXRwdXQ6IHVwZGF0ZWQgY291bnQgaW4gQlBGX1JFR19BWCAodDApCiYjNDM7ICoKJiM0MzsgKiBDYWxscyBicGZfY2hlY2tfdGltZWRfbWF5X2dvdG8ocHRyKSB3aXRoIHRoZSBzdGFuZGFyZCBSSVNDLVYgQUJJLCB3aGVyZQomIzQzOyAqIHB0ciA9IEJQRl9SRUdfRlAgKHM1KSAmIzQzOyBCUEZfUkVHX0FYICh0MCkuIEJQRiBSMC1SNSAoYTUsIGEwLWE0KSBhcmUgc2F2ZWQKJiM0MzsgKiBhY3Jvc3MgdGhlIGNhbGw7IEJQRl9SRUdfRlAgKHM1KSBpcyBjYWxsZWUtc2F2ZWQgYW5kIG5lZWRzIG5vIHNhdmluZy4KJiM0MzsgKi8KJiM0MzsKJiM0MztTWU1fRlVOQ19TVEFSVChhcmNoX2JwZl90aW1lZF9tYXlfZ290bykKJiM0MzsJYWRkaQlzcCwgc3AsIC0oOCpTWlJFRykKJiM0MzsJUkVHX1MJcmEsIDcqU1pSRUcoc3ApCiYjNDM7CVJFR19TCXMwLCA2KlNaUkVHKHNwKQomIzQzOwlhZGRpCXMwLCBzcCwgOCpTWlJFRwomIzQzOwomIzQzOwkvKiBTYXZlIEJQRiByZWdpc3RlcnMgUjAtUjUgKGE1LCBhMC1hNCkgKi8KJiM0MzsJUkVHX1MJYTUsIDUqU1pSRUcoc3ApCiYjNDM7CVJFR19TCWEwLCA0KlNaUkVHKHNwKQomIzQzOwlSRUdfUwlhMSwgMypTWlJFRyhzcCkKJiM0MzsJUkVHX1MJYTIsIDIqU1pSRUcoc3ApCiYjNDM7CVJFR19TCWEzLCAxKlNaUkVHKHNwKQomIzQzOwlSRUdfUwlhNCwgMCpTWlJFRyhzcCkKJiM0MzsKJiM0MzsJYWRkCWEwLCB0MCwgczUKJiM0MzsJY2FsbAlicGZfY2hlY2tfdGltZWRfbWF5X2dvdG8KJiM0MzsJbXYJdDAsIGEwCiYjNDM7CiYjNDM7CS8qIFJlc3RvcmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAqLwomIzQzOwlSRUdfTAlhNCwgMCpTWlJFRyhzcCkKJiM0MzsJUkVHX0wJYTMsIDEqU1pSRUcoc3ApCiYjNDM7CVJFR19MCWEyLCAyKlNaUkVHKHNwKQomIzQzOwlSRUdfTAlhMSwgMypTWlJFRyhzcCkKJiM0MzsJUkVHX0wJYTAsIDQqU1pSRUcoc3ApCiYjNDM7CVJFR19MCWE1LCA1KlNaUkVHKHNwKQomIzQzOwomIzQzOwlSRUdfTAlzMCwgNipTWlJFRyhzcCkKJiM0MzsJUkVHX0wJcmEsIDcqU1pSRUcoc3ApCiYjNDM7CWFkZGkJc3AsIHNwLCA4KlNaUkVHCiYjNDM7CXJldAomIzQzO1NZTV9GVU5DX0VORChhcmNoX2JwZl90aW1lZF9tYXlfZ290bykKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uYwppbmRleCA5MmJhMWQ3MmUwZWNlNC4uOGQ4ZTUzZDM3MjY2Y2QgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uYwomIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmMKQEAgLTY0LDYgJiM0Mzs2NCw3IEBAIFNFQygmIzM0O3N5c2NhbGwmIzM0OykKIF9fYXJjaF94ODZfNjQKIF9fYXJjaF9hcm02NAogX19hcmNoX3MzOTB4CiYjNDM7X19hcmNoX3Jpc2N2NjQKIF9fc3VjY2VzcyBfX3JldHZhbCgwKQogX19zdGRlcnIoJiMzNDtFUlJPUjogVGltZW91dCBkZXRlY3RlZCBmb3IgbWF5X2dvdG8gaW5zdHJ1Y3Rpb24mIzM0OykKIF9fc3RkZXJyKCYjMzQ7Q1BVOiB7e1swLTldJiM0Mzt9fSBVSUQ6IDAgUElEOiB7e1swLTldJiM0Mzt9fSBDb21tOiB7ey4qfX0mIzM0OykKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuYwppbmRleCA4ZDdmZjM4ZTRjMDY5Ny4uODM3MDdmYWVhMDQ5OTQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuYwomIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmMKQEAgLTY2MCw2ICYjNDM7NjYwLDcgQEAgX19uYWtlZCB2b2lkIG1heV9nb3RvX2ludGVyYWN0aW9uX3g4Nl82NCh2b2lkKQogCiBTRUMoJiMzNDtyYXdfdHAmIzM0OykKIF9fYXJjaF9hcm02NAomIzQzO19fYXJjaF9yaXNjdjY0CiBfX2xvZ19sZXZlbCg0KSBfX21zZygmIzM0O3N0YWNrIGRlcHRoIDI0JiMzNDspCiAvKiBtYXlfZ290byBjb3VudGVyIGF0IC0yNCAqLwogX194bGF0ZWQoJiMzNDswOiAqKHU2NCAqKShyMTAgLTI0KSA9JiMzNDspCkBAIC02NzksNyAmIzQzOzY4MCw3IEBAIF9feGxhdGVkKCYjMzQ7MTA6ICoodTY0ICopKHIxMCAtMjQpID0gcjEyJiMzNDspCiBfX3hsYXRlZCgmIzM0OzExOiAqKHU2NCAqKShyMTAgLTgpID0gcjEmIzM0OykKIF9feGxhdGVkKCYjMzQ7MTI6IGV4aXQmIzM0OykKIF9fc3VjY2VzcwotX19uYWtlZCB2b2lkIG1heV9nb3RvX2ludGVyYWN0aW9uX2FybTY0KHZvaWQpCiYjNDM7X19uYWtlZCB2b2lkIG1heV9nb3RvX2ludGVyYWN0aW9uKHZvaWQpCiB7CiAJYXNtIHZvbGF0aWxlICgKIAkmIzM0O3IxID0gMTsmIzM0OwpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmMKaW5kZXggNGJkZjQyNTZhNDFlNTEuLjBlMjExZjAzMGQwZDdhIDEwMDY0NAotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmMKQEAgLTExLDYgJiM0MzsxMSw3IEBAIF9fZGVzY3JpcHRpb24oJiMzNDttYXlfZ290byAwJiMzNDspCiBfX2FyY2hfeDg2XzY0CiBfX2FyY2hfczM5MHgKIF9fYXJjaF9hcm02NAomIzQzO19fYXJjaF9yaXNjdjY0CiBfX3hsYXRlZCgmIzM0OzA6IHIwID0gMSYjMzQ7KQogX194bGF0ZWQoJiMzNDsxOiBleGl0JiMzNDspCiBfX3N1Y2Nlc3MKQEAgLTMxLDYgJiM0MzszMiw3IEBAIF9fZGVzY3JpcHRpb24oJiMzNDtiYXRjaCAyIG9mIG1heV9nb3RvIDAmIzM0OykKIF9fYXJjaF94ODZfNjQKIF9fYXJjaF9zMzkweAogX19hcmNoX2FybTY0CiYjNDM7X19hcmNoX3Jpc2N2NjQKIF9feGxhdGVkKCYjMzQ7MDogcjAgPSAxJiMzNDspCiBfX3hsYXRlZCgmIzM0OzE6IGV4aXQmIzM0OykKIF9fc3VjY2VzcwpAQCAtNTMsNiAmIzQzOzU1LDcgQEAgX19kZXNjcmlwdGlvbigmIzM0O21heV9nb3RvIGJhdGNoIHdpdGggb2Zmc2V0cyAyLzEvMCYjMzQ7KQogX19hcmNoX3g4Nl82NAogX19hcmNoX3MzOTB4CiBfX2FyY2hfYXJtNjQKJiM0MztfX2FyY2hfcmlzY3Y2NAogX194bGF0ZWQoJiMzNDswOiByMCA9IDEmIzM0OykKIF9feGxhdGVkKCYjMzQ7MTogZXhpdCYjMzQ7KQogX19zdWNjZXNzCkBAIC03OSw2ICYjNDM7ODIsNyBAQCBfX2Rlc2NyaXB0aW9uKCYjMzQ7bWF5X2dvdG8gYmF0Y2ggd2l0aCBvZmZzZXRzIDIvMCYjMzQ7KQogX19hcmNoX3g4Nl82NAogX19hcmNoX3MzOTB4CiBfX2FyY2hfYXJtNjQKJiM0MztfX2FyY2hfcmlzY3Y2NAogX194bGF0ZWQoJiMzNDswOiAqKHU2NCAqKShyMTAgLTE2KSA9IDY1NTM1JiMzNDspCiBfX3hsYXRlZCgmIzM0OzE6ICoodTY0ICopKHIxMCAtOCkgPSAwJiMzNDspCiBfX3hsYXRlZCgmIzM0OzI6IHIxMiA9ICoodTY0ICopKHIxMCAtMTYpJiMzNDspCkBAIC0xMDYsNCAmIzQzOzExMCw2MiBAQCBfX25ha2VkIHZvaWQgbWF5X2dvdG9fYmF0Y2hfMih2b2lkKQogCTogX19jbG9iYmVyX2FsbCk7CiB9CiAKJiM0MzsvKgomIzQzOyAqIFVzZSBicGZfZ2V0X3ByYW5kb21fdTMyKCkgdG8gcHJldmVudCBEQ0UgZnJvbSByZW1vdmluZyB0aGUgY2hlY2tzLgomIzQzOyAqIHJldHZhbDogMD1hbGwgb2ssIDEtNj1SMC1SNSBjbG9iYmVyZWQuCiYjNDM7ICovCiYjNDM7U0VDKCYjMzQ7c3lzY2FsbCYjMzQ7KQomIzQzO19fZGVzY3JpcHRpb24oJiMzNDt0aW1lZCBtYXlfZ290byBwcmVzZXJ2ZXMgUjAtUjUmIzM0OykKJiM0MztfX2FyY2hfeDg2XzY0CiYjNDM7X19hcmNoX3MzOTB4CiYjNDM7X19hcmNoX2FybTY0CiYjNDM7X19hcmNoX3Jpc2N2NjQKJiM0MztfX3N1Y2Nlc3MKJiM0MztfX3JldHZhbCgwKQomIzQzO19fbmFrZWQgdm9pZCB0aW1lZF9tYXlfZ290b19wcmVzZXJ2ZXNfcmVncyh2b2lkKQomIzQzO3sKJiM0MzsJYXNtIHZvbGF0aWxlICgKJiM0MzsJJiMzNDtjYWxsICVbYnBmX2dldF9wcmFuZG9tX3UzMl07JiMzNDsKJiM0MzsJJiMzNDtyNiA9IHIwOyYjMzQ7CiYjNDM7CSYjMzQ7cjAgPSAweDExMTE7JiMzNDsKJiM0MzsJJiMzNDtyMCAmIzQzOz0gcjY7JiMzNDsKJiM0MzsJJiMzNDtyMSA9IDB4MjIyMjsmIzM0OwomIzQzOwkmIzM0O3IxICYjNDM7PSByNjsmIzM0OwomIzQzOwkmIzM0O3IyID0gMHgzMzMzOyYjMzQ7CiYjNDM7CSYjMzQ7cjIgJiM0Mzs9IHI2OyYjMzQ7CiYjNDM7CSYjMzQ7cjMgPSAweDQ0NDQ7JiMzNDsKJiM0MzsJJiMzNDtyMyAmIzQzOz0gcjY7JiMzNDsKJiM0MzsJJiMzNDtyNCA9IDB4NTU1NTsmIzM0OwomIzQzOwkmIzM0O3I0ICYjNDM7PSByNjsmIzM0OwomIzQzOwkmIzM0O3I1ID0gMHg2NjY2OyYjMzQ7CiYjNDM7CSYjMzQ7cjUgJiM0Mzs9IHI2OyYjMzQ7CiYjNDM7CSYjMzQ7LjhieXRlICVbbWF5X2dvdG9dOyYjMzQ7CiYjNDM7CSYjMzQ7LjhieXRlICVbbG9vcF07JiMzNDsKJiM0MzsJJiMzNDtyMCAtPSByNjsmIzM0OwomIzQzOwkmIzM0O3IxIC09IHI2OyYjMzQ7CiYjNDM7CSYjMzQ7cjIgLT0gcjY7JiMzNDsKJiM0MzsJJiMzNDtyMyAtPSByNjsmIzM0OwomIzQzOwkmIzM0O3I0IC09IHI2OyYjMzQ7CiYjNDM7CSYjMzQ7cjUgLT0gcjY7JiMzNDsKJiM0MzsJJiMzNDtpZiByMCAhPSAweDExMTEgZ290byAxZjsmIzM0OwomIzQzOwkmIzM0O2lmIHIxICE9IDB4MjIyMiBnb3RvIDJmOyYjMzQ7CiYjNDM7CSYjMzQ7aWYgcjIgIT0gMHgzMzMzIGdvdG8gM2Y7JiMzNDsKJiM0MzsJJiMzNDtpZiByMyAhPSAweDQ0NDQgZ290byA0ZjsmIzM0OwomIzQzOwkmIzM0O2lmIHI0ICE9IDB4NTU1NSBnb3RvIDVmOyYjMzQ7CiYjNDM7CSYjMzQ7aWYgcjUgIT0gMHg2NjY2IGdvdG8gNmY7JiMzNDsKJiM0MzsJJiMzNDtyMCA9IDA7JiMzNDsKJiM0MzsJJiMzNDtleGl0OyYjMzQ7CiYjNDM7CSYjMzQ7MTogcjAgPSAxOyBleGl0OyYjMzQ7CiYjNDM7CSYjMzQ7MjogcjAgPSAyOyBleGl0OyYjMzQ7CiYjNDM7CSYjMzQ7MzogcjAgPSAzOyBleGl0OyYjMzQ7CiYjNDM7CSYjMzQ7NDogcjAgPSA0OyBleGl0OyYjMzQ7CiYjNDM7CSYjMzQ7NTogcjAgPSA1OyBleGl0OyYjMzQ7CiYjNDM7CSYjMzQ7NjogcjAgPSA2OyBleGl0OyYjMzQ7CiYjNDM7CToKJiM0MzsJOiBfX2ltbShicGZfZ2V0X3ByYW5kb21fdTMyKSwKJiM0MzsJICBfX2ltbV9pbnNuKG1heV9nb3RvLCBCUEZfUkFXX0lOU04oQlBGX0pNUCB8IEJQRl9KQ09ORCwgMCwgMCwgMSwgMCkpLAomIzQzOwkgIF9faW1tX2luc24obG9vcCwgQlBGX1JBV19JTlNOKEJQRl9KTVAgfCBCUEZfSkEsIDAsIDAsIC0yLCAwKSkKJiM0MzsJOiBfX2Nsb2JiZXJfYWxsKTsKJiM0Mzt9CiYjNDM7CiBjaGFyIF9saWNlbnNlW10gU0VDKCYjMzQ7bGljZW5zZSYjMzQ7KSA9ICYjMzQ7R1BMJiMzNDs7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDEwOjAyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDUxNDkKCQkJCQkJCW91dHB1dDogNDYKCQkJCQkJCXRob3VnaHRzOiAzOTAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBSSVNDLVYgQlBGIFRpbWVkIE1heS1Hb3RvIFBhdGNoKioKCk9rYXksIHNvIHdlJiMzOTt2ZSBnb3QgYSBwYXRjaCBoZXJlIHRoYXQmIzM5O3MgYWRkaW5nIHN1cHBvcnQgZm9yIGBCUEYgdGltZWRfbWF5X2dvdG9gIG9uIFJJU0MtVi4gVGhhdCYjMzk7cyBpbnRlcmVzdGluZywgYSBnb29kIHBlcmZvcm1hbmNlIGVuaGFuY2VtZW50LiBMZXQmIzM5O3Mgc2VlIHdoYXQmIzM5O3MgY2hhbmdlZC4gTG9va3MgbGlrZSB3ZSBoYXZlIG1vZGlmaWNhdGlvbnMgdG8gdGhlIG1ha2VmaWxlIGFuZCBzb21lIGNvcmUgQlBGIEpJVCBjb21waWxhdGlvbiBhbmQgdGVzdGluZyBmaWxlcy4gU3BlY2lmaWNhbGx5LCB3ZSBoYXZlIGNoYW5nZXMgdG8gYGFyY2gvcmlzY3YvbmV0L01ha2VmaWxlYCwgYGFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNgLCBgYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlNgLCBhbmQgc29tZSBzZWxmdGVzdHMuCgpUaGlzIHBhdGNoIGlzIGVzc2VudGlhbGx5IGltcGxlbWVudGluZyBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gIGluIGFzc2VtYmx5IGZvciBSSVNDLVYgYW5kIGhvb2tpbmcgaXQgaW50byB0aGUgQlBGIEpJVCBjb21waWxlci4gVGhhdCYjMzk7cyBhIGRpcmVjdCBhcmNoaXRlY3R1cmFsIG1vZGlmaWNhdGlvbiwgc28gd2UgbmVlZCB0byBiZSBjYXJlZnVsLiBJdOKAmXMgbW9kaWZ5aW5nIHRoZSBSSVNDLVYgQlBGIEpJVCBjb21waWxlcjsgdGhpcyBpcyBmdW5jdGlvbmFsIGNvZGUsIGFuZCB0aGVyZWZvcmUgbmVlZHMgdG8gYmUgY2FyZWZ1bGx5IHNjcnV0aW5pemVkLgoKQWxyaWdodCwgbGV0JiMzOTtzIGRyaWxsIGRvd24gaW50byBgYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY2Agc3BlY2lmaWNhbGx5LiBJIHNlZSB0aGF0IHRoZSBwYXRjaCBtb2RpZmllcyBgYnBmX2ppdF9lbWl0X2luc25gLiBBbHNvLCB0aGUgaW50cm9kdWN0aW9uIG9mIGEgbmV3IGZ1bmN0aW9uLCBgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b2AsIGFuZCBvZiBjb3Vyc2UgdGhlIGFzc2VtYmx5IGZ1bmN0aW9uIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AuIFRoYXQgYXNzZW1ibHkgZnVuY3Rpb24gaXMga2V5LgoKTm93LCB0aGUgcHJvbXB0IHNwZWNpZmljYWxseSBjYWxscyBvdXQgdGhhdCBpZiBhIHBhdGNoIG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgd2UgbmVlZCB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLiBDb25zaWRlcmluZyBpdCBpcyBhcmNoaXRlY3R1cmUgY29kZSwgbGV0JiMzOTtzIHVzZSB0aGUgY29kZSBzZWFyY2ggdG9vbHMgdG8gZXhhbWluZSBgYnBmX2ppdF9lbWl0X2luc25gIGFuZCBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gLiBUaGlzIGlzIHRoZSBwb2ludCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGlzIGNoYW5nZSBpcyB3b3J0aCBmdXp6aW5nLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDEwOjAyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2JwZl9qaXRfZW1pdF9pbnNuJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDthcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jPTEzMjQ9aW50IGFyY2hfcHJlcGFyZV9icGZfdHJhbXBvbGluZShzdHJ1Y3QgYnBmX3RyYW1wX2ltYWdlICppbSwgdm9pZCAqcm9faW1hZ2UsXG4tLVxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xMzYwLVxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYzoxMzYxOmludCBicGZfaml0X2VtaXRfaW5zbihjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24sIHN0cnVjdCBydl9qaXRfY29udGV4dCAqY3R4LFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xMzYyLVx0XHQgICAgICBib29sIGV4dHJhX3Bhc3MpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjQgMTA6MDI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNjE3MAoJCQkJCQkJb3V0cHV0OiAyNgoJCQkJCQkJdGhvdWdodHM6IDE4NQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipFeGFtaW5pbmcgdGhlIEtlcm5lbCBDb25maWd1cmF0aW9uIGZvciBCUEYgSklUIFN1cHBvcnQgb24gUklTQy1WKioKCk9rYXksIGxldCYjMzk7cyBkaXZlIGludG8gdGhpcyBjb25maWd1cmF0aW9uIHNpdHVhdGlvbi4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIHBpbnBvaW50IHRoZSBuZWNlc3Nhcnkga2VybmVsIGNvbmZpZyBvcHRpb25zIGZvciB0aGUgQlBGIEpJVCBjb21waWxlciBvbiBSSVNDLVYuIEZpcnN0LCBgQ09ORklHX0JQRl9KSVRgIHNlZW1zIGxpa2UgYSBnaXZlbiwgYSBzdGFuZGFyZCByZXF1aXJlbWVudCBmb3IgZW5hYmxpbmcgdGhlIEJQRiBKSVQgaW4gYW55IGFyY2hpdGVjdHVyZS4gVGhlbiBJIG5lZWQgdG8gZmlndXJlIG91dCB3aGljaCBSSVNDLVYgYXJjaGl0ZWN0dXJlIG9wdGlvbnMgYXJlIG5lZWRlZC4gSXQgc2VlbXMgbGlrZSBlaXRoZXIgYENPTkZJR19BUkNIX1JWNjRJYCBvciBgQ09ORklHX1JJU0NWYCBzaG91bGQgZG8gaXQuIEJ1dCBsZXQmIzM5O3MgdmVyaWZ5LgoKQWgsIGhlcmUgaXMgYSBjbHVlISBUaGUgcGF0Y2ggbW9kaWZpZXMgYGFyY2gvcmlzY3YvbmV0L01ha2VmaWxlYC4gSSB3aWxsIHZlcmlmeS4KCmBgYG1ha2VmaWxlCmlmZXEgKCQoQ09ORklHX0FSQ0hfUlY2NEkpLHkpCglvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDY0Lm8gYnBmX3RpbWVkX21heV9nb3RvLm8KYGBgCgpTbywgdGhlIGRlcGVuZGVuY3kgaXMgY2xlYXI6IEkgbmVlZCAqYm90aCogYENPTkZJR19CUEZfSklUYCBhbmQgYENPTkZJR19BUkNIX1JWNjRJYC4gSSB3YXMgcmlnaHQsIGJ1dCBpdCYjMzk7cyBnb29kIHRvIGNvbmZpcm0uIEJ1dCB0aGF0IGlzIHRoZSAqb25seSogZGVwZW5kZW5jeS4gV2FpdCwgSSYjMzk7bSB0aGlua2luZyBvZiB0aGlzIHRoZSB3cm9uZyB3YXk7IGl0JiMzOTtzIGBDT05GSUdfQlBGX0pJVGAgdGhhdCYjMzk7cyB0aGUgbW9yZSBnZW5lcmFsIGZsYWcuCgpJIHdvbmRlciBpZiB0aGVyZSBhcmUgYW55IG90aGVyIHJlbGF0ZWQgY29uZmlndXJhdGlvbnMuIEkgc2hvdWxkIHByb2JhYmx5IHNjYW4gYGFyY2gvcmlzY3YvS2NvbmZpZ2AgYW5kIGBuZXQvYnBmL0tjb25maWdgIHRvIGVuc3VyZSBJIGhhdmVuJiMzOTt0IG1pc3NlZCBhbnl0aGluZyBjcnVjaWFsLiBKdXN0IGEgcXVpY2sgY2hlY2sgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgc3VidGxlIGludGVyZGVwZW5kZW5jaWVzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDEwOjAyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBCUEZfSklUJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7JiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2tlcm5lbC9icGYvS2NvbmZpZz0yNz1jb25maWcgQlBGX1NZU0NBTExcbi0tXG5rZXJuZWwvYnBmL0tjb25maWctNDEtXG5rZXJuZWwvYnBmL0tjb25maWc6NDI6Y29uZmlnIEJQRl9KSVRcbmtlcm5lbC9icGYvS2NvbmZpZy00My1cdGJvb2wgXCYjMzQ7RW5hYmxlIEJQRiBKdXN0IEluIFRpbWUgY29tcGlsZXJcJiMzNDtcbi0tXG5rZXJuZWwvYnBmL0tjb25maWctNTctXG5rZXJuZWwvYnBmL0tjb25maWc6NTg6Y29uZmlnIEJQRl9KSVRfQUxXQVlTX09OXG5rZXJuZWwvYnBmL0tjb25maWctNTktXHRib29sIFwmIzM0O1Blcm1hbmVudGx5IGVuYWJsZSBCUEYgSklUIGFuZCByZW1vdmUgQlBGIGludGVycHJldGVyXCYjMzQ7XG4tLVxua2VybmVsL2JwZi9LY29uZmlnLTY4LVxua2VybmVsL2JwZi9LY29uZmlnOjY5OmNvbmZpZyBCUEZfSklUX0RFRkFVTFRfT05cbmtlcm5lbC9icGYvS2NvbmZpZy03MC1cdGRlZl9ib29sIEFSQ0hfV0FOVF9ERUZBVUxUX0JQRl9KSVQgfHwgQlBGX0pJVF9BTFdBWVNfT05cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yNCAxMDowMjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2OTYwCgkJCQkJCQlvdXRwdXQ6IDM3CgkJCQkJCQl0aG91Z2h0czogMjM2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEJQRiBKSVQgRnV6emluZyBTdHJhdGVneSoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGFkZHMgYGJwZl90aW1lZF9tYXlfZ290b2Agc3VwcG9ydCB0byB0aGUgUklTQy1WIEJQRiBKSVQsIHdoaWNoIGlzIGdyZWF0LiBJdCYjMzk7cyBkZWZpbml0ZWx5IGZ1bmN0aW9uYWwsIGFuZCBJIGtub3cgdGhhdCBtZWFucyBpdCBuZWVkcyBzb21lIHNlcmlvdXMgZnV6emluZy4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGZvY3VzIG9uIGBicGZfaml0X2VtaXRfaW5zbmAgYW5kIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AuIFdhaXQsIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgaXMgYXNzZW1ibHksIGh1aD8gU3l6a2FsbGVyIGRvZXNuJiMzOTt0IHVzdWFsbHkgaG9vayBhc3NlbWJseSBkaXJlY3RseS4gQnV0IGBicGZfaml0X2VtaXRfaW5zbmAgaXMgYSBDIGZ1bmN0aW9uLCB0aGF0JiMzOTtzIHdoYXQgSSB3YW50LgoKTGV0IG1lIHRoaW5r4oCmIGlzIGBicGZfaml0X2VtaXRfaW5zbmAgcmVhbGx5IGEgZ29vZCB0YXJnZXQ/IEl0JiMzOTtzIHRoZSBtYWluIGluc3RydWN0aW9uIGVtaXNzaW9uIGZ1bmN0aW9uIGZvciB0aGUgSklULCBzbyBpdCBtaWdodCBiZSBoZWF2aWx5IHVzZWQgZHVyaW5nIEJQRiBwcm9ncmFtIGxvYWQuIEFoLCBidXQgaXQmIzM5O3MgKnNwZWNpZmljKiB0byB0aGUgQlBGIEpJVC4gVGhhdCBtYWtlcyBpdCBnb29kIGZvciBmdXp6aW5nIHNpbmNlIGl04oCZcyBpbiB0aGUgY3JpdGljYWwgcGF0aC4KCkFjdHVhbGx5LCBJ4oCZbSByZWFsaXppbmcgYGJwZl9qaXRfZW1pdF9pbnNuYCBpcyBjYWxsZWQgZm9yIGV2ZXJ5IHNpbmdsZSBCUEYgaW5zdHJ1Y3Rpb24gZHVyaW5nIEpJVCBjb21waWxhdGlvbi4gKlRoYXQmIzM5O3MqIGEganVpY3kgdGFyZ2V0IGZvciBCUEYgZnV6emluZy4gRXZlcnkgaW5zdHJ1Y3Rpb24gd2lsbCBnbyB0aHJvdWdoIHRoYXQgcGF0aC4gR3JlYXQuIEkgYWxzbyBuZWVkIHRvIG1ha2UgYSBub3RlIG9mIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYC4gSSBzaG91bGQgcHJvYmFibHkgY2hlY2sgaWYgdGhlcmUgYXJlIG90aGVyIGZ1bmN0aW9ucyBpbnZvbHZlZCBoZXJlIHRvbywganVzdCB0byBiZSBzdXJlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDEwOjAyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2FyY2hfYnBmX3RpbWVkX21heV9nb3RvJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC9yaXNjdi9uZXQvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM9MTM2MT1pbnQgYnBmX2ppdF9lbWl0X2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICppbnNuLCBzdHJ1Y3QgcnZfaml0X2NvbnRleHQgKmN0eCxcbi0tXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTE4NDQtXHRcdC8qXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jOjE4NDU6XHRcdCAqIGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKCkgaXMgZW1pdHRlZCBieSB0aGUgdmVyaWZpZXIgYW5kXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTE4NDYtXHRcdCAqIHJldHVybnMgaXRzIHJlc3VsdCBpbiBCUEZfUkVHX0FYIGluc3RlYWQgb2YgQlBGX1JFR18wLCBzb1xuLS1cbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMTg0OC1cdFx0ICovXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jOjE4NDk6XHRcdGlmIChpbnNuLVx1MDAzZXNyY19yZWcgIT0gQlBGX1BTRVVET19DQUxMIFx1MDAyNlx1MDAyNiBhZGRyICE9ICh1NjQpYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTE4NTAtXHRcdFx0ZW1pdF9tdihicGZfdG9fcnZfcmVnKEJQRl9SRUdfMCwgY3R4KSwgUlZfUkVHX0EwLCBjdHgpO1xuLS1cbmFyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TLTE2LVxuYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlM6MTc6U1lNX0ZVTkNfU1RBUlQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUy0xOC1cdGFkZGlcdHNwLCBzcCwgLSg4KlNaUkVHKVxuLS1cbmFyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TLTQ2LVx0cmV0XG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUzo0NzpTWU1fRlVOQ19FTkQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjQgMTA6MDI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogODA0OAoJCQkJCQkJb3V0cHV0OiAxMTAKCQkJCQkJCXRob3VnaHRzOiAyNDkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudCBvZiB0aGUgUklTQy1WIEJQRiBKSVQgUGF0Y2gqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGBicGZfdGltZWRfbWF5X2dvdG8uU2AsIGNvbnRhaW5pbmcgYGFyY2hfYnBmX3RpbWVkX21heV9nb3RvYC4gVGhhdCYjMzk7cyB0aGUgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIGltcGxlbWVudGF0aW9uLiBUaGVuLCBsb29raW5nIGF0IHRoZSBDIGNvZGUgaW4gYGJwZl9qaXRfY29tcDY0LmNgLCB0aGUgY29yZSBKSVQgY29tcGlsZXIgbG9naWMgaXMgYmVpbmcgbW9kaWZpZWQuIGBicGZfaml0X2VtaXRfaW5zbmAgaXMgdGhlIGtleSBmdW5jdGlvbiBiZWluZyB1cGRhdGVkLCBhbmQgYSBuZXcgZnVuY3Rpb24sIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCwgaXMgYmVpbmcgYWRkZWQsIHdoaWNoIGlzIGVzc2VudGlhbCB0byBkZXRlcm1pbmUgd2hldGhlciB3ZSBjYW4gdXNlIHRoZSB0aW1lIGNvbnRyb2wgZnVuY3Rpb25hbGl0eS4KCk5vdywgZm9yIHRoZSBjb25maWd1cmF0aW9uLCBpdCBzZWVtcyBsaWtlIHdlIGp1c3QgbmVlZCBgQlBGX0pJVGAuIFRoYXQgbWFrZXMgc2Vuc2U7IGl0JiMzOTtzIHRoZSBjb3JlIEpJVCBjb21waWxlciB3ZSYjMzk7cmUgdGFyZ2V0aW5nLiBJIHNhdyBgQVJDSF9SVjY0SWAgbWVudGlvbmVkLCBidXQgdGhhdCYjMzk7cyB0aGUgc3RhbmRhcmQgZm9yIDY0LWJpdCBSSVNDLVYsIHNvIHdlIGRvbiYjMzk7dCBoYXZlIHRvIHNwZWNpZnkgdGhhdC4gT2gsIHdhaXQsIHdlIGFsc28gbmVlZCB0byBoYXZlIGBCUEZfU1lTQ0FMTGAgZW5hYmxlZCBhcyB0aGF0IHdpbGwgYmUgbmVjZXNzYXJ5IGZvciBhIGZ1bGwgZW5kLXRvLWVuZCBsb2FkIG9mIEJQRiBwcm9ncmFtcy4KClJpZ2h0LCB0aW1lIHRvIHVzZSB0aGUgYHNldC1yZXN1bHRzYCB0b29sLiBUaGUga2V5IGhlcmUgaXMgdGhlIGBXb3J0aEZ1enppbmc6IHRydWVgLiBUaGF0JiMzOTtzIGEgZ29vZCBzaWduOyB0aGUgcGF0Y2ggYXV0aG9yIGNvbnNpZGVycyB0aGlzIGNvZGUgcGF0aCBmdXp6ZXItd29ydGh5LiBUaGUgYEZvY3VzU3ltYm9sc2AgYXJlIGNsZWFybHkgdGhlIGltcG9ydGFudCBmdW5jdGlvbnM6IGBicGZfaml0X2VtaXRfaW5zbmAgYW5kIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYC4gVGhvc2UgYXJlIHRoZSB0d28gZnVuY3Rpb25zIHRoYXQgbmVlZCB0byBiZSB0ZXN0ZWQgdGhvcm91Z2hseS4gVGhlIHJlbGV2YW50IGBFbmFibGVDb25maWdzYCBpcyBqdXN0IGBCUEZfSklUYC4KClRoZSByZWFzb25pbmcgaXMgc291bmQ6IHRoaXMgcGF0Y2ggYWRkcyBhIGNyaXRpY2FsIG5ldyBmZWF0dXJlLCB0aW1lZCBgbWF5X2dvdG9gLCB0byB0aGUgUklTQy1WIEJQRiBKSVQuIFRoaXMgdG91Y2hlcyBjb3JlIEJQRiBKSVQgbG9naWMgYW5kIGlzIHRoZXJlZm9yZSByZWFjaGFibGUgd2hlbiBsb2FkaW5nIEJQRiBwcm9ncmFtcywgYSBjbGFzc2ljIGF0dGFjayBzdXJmYWNlLiBXZSBzaG91bGQgZGVmaW5pdGVseSBiZSBmdXp6aW5nIHRoaXMhCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDEwOjAyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCUEZfSklUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YnBmX2ppdF9lbWl0X2luc24mIzM0OywKICAgICYjMzQ7YnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpbXBsZW1lbnRzIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gaW5zdHJ1Y3Rpb24gZm9yIHRoZSBSSVNDLVYgQlBGIEpJVCBjb21waWxlci4gVGhpcyBtb2RpZmllcyB0aGUgY29yZSBCUEYgSklUIGxvZ2ljIG9uIFJJU0MtViBhbmQgaXMgcmVhY2hhYmxlIHdoZW4gbG9hZGluZyBCUEYgcHJvZ3JhbXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGltcGxlbWVudHMgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBpbnN0cnVjdGlvbiBmb3IgdGhlIFJJU0MtViBCUEYgSklUIGNvbXBpbGVyLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIEJQRiBKSVQgbG9naWMgb24gUklTQy1WIGFuZCBpcyByZWFjaGFibGUgd2hlbiBsb2FkaW5nIEJQRiBwcm9ncmFtcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI0VDEwOjAyOjA3LjM1MzQ3MjEwNVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI4MDE5NzI1MDg2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJQRl9KSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfaml0X2VtaXRfaW5zblwiLFxuICAgIFwiYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGltcGxlbWVudHMgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBpbnN0cnVjdGlvbiBmb3IgdGhlIFJJU0MtViBCUEYgSklUIGNvbXBpbGVyLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIEJQRiBKSVQgbG9naWMgb24gUklTQy1WIGFuZCBpcyByZWFjaGFibGUgd2hlbiBsb2FkaW5nIEJQRiBwcm9ncmFtcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMTA6MDI6MDcuMzUzNDc4NjI1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2ODE5NjY5MzIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA4Nzg3NTMzMWMwMDllNDFjNWE5ZGZkZjk2ZGQwMWQ3MmRmNzU5YmViXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBGcmkgSnVsIDI0IDEwOjAyOjA1IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlIGIvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcXG5pbmRleCA5YTFlNWYwYTk0ZTU1OS4uNjQ1OGQ0ZDUxOTkwYTcgMTAwNjQ0XFxuLS0tIGEvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZVxcbkBAIC0zLDcgKzMsNyBAQFxcbiBvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gYnBmX2ppdF9jb3JlLm9cXG4gXFxuIGlmZXEgKCQoQ09ORklHX0FSQ0hfUlY2NEkpLHkpXFxuLVxcdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXA2NC5vXFxuK1xcdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXA2NC5vIGJwZl90aW1lZF9tYXlfZ290by5vXFxuIGVsc2VcXG4gXFx0b2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29tcDMyLm9cXG4gZW5kaWZcXG5kaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYyBiL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcXG5pbmRleCBhZDA4OWE5YTRlYTlhYy4uOGZlODk2OWZiOGEwZjggMTAwNjQ0XFxuLS0tIGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xcbisrKyBiL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcXG5AQCAtMTg0MSw3ICsxODQxLDEyIEBAIGludCBicGZfaml0X2VtaXRfaW5zbihjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24sIHN0cnVjdCBydl9qaXRfY29udGV4dCAqY3R4LFxcbiBcXHRcXHRpZiAoYXV4LVxcdTAwM2V0YWlsX2NhbGxfcmVhY2hhYmxlIFxcdTAwMjZcXHUwMDI2IGluc24tXFx1MDAzZXNyY19yZWcgPT0gQlBGX1BTRVVET19DQUxMKVxcbiBcXHRcXHRcXHRlbWl0X3NkKFJWX1JFR19TUCwgY3R4LVxcdTAwM2V0Y2Nfb2Zmc2V0LCBSVl9SRUdfVENDLCBjdHgpO1xcbiBcXG4tXFx0XFx0aWYgKGluc24tXFx1MDAzZXNyY19yZWcgIT0gQlBGX1BTRVVET19DQUxMKVxcbitcXHRcXHQvKlxcbitcXHRcXHQgKiBhcmNoX2JwZl90aW1lZF9tYXlfZ290bygpIGlzIGVtaXR0ZWQgYnkgdGhlIHZlcmlmaWVyIGFuZFxcbitcXHRcXHQgKiByZXR1cm5zIGl0cyByZXN1bHQgaW4gQlBGX1JFR19BWCBpbnN0ZWFkIG9mIEJQRl9SRUdfMCwgc29cXG4rXFx0XFx0ICogc2tpcCB0aGUgbm9ybWFsIFxcXCJtb3ZlIHJldHVybiByZWdpc3RlciBpbnRvIFIwXFxcIi5cXG4rXFx0XFx0ICovXFxuK1xcdFxcdGlmIChpbnNuLVxcdTAwM2VzcmNfcmVnICE9IEJQRl9QU0VVRE9fQ0FMTCBcXHUwMDI2XFx1MDAyNiBhZGRyICE9ICh1NjQpYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXFxuIFxcdFxcdFxcdGVtaXRfbXYoYnBmX3RvX3J2X3JlZyhCUEZfUkVHXzAsIGN0eCksIFJWX1JFR19BMCwgY3R4KTtcXG4gXFx0XFx0YnJlYWs7XFxuIFxcdH1cXG5AQCAtMjE2MSwzICsyMTY2LDggQEAgYm9vbCBicGZfaml0X3N1cHBvcnRzX3N1YnByb2dfdGFpbGNhbGxzKHZvaWQpXFxuIHtcXG4gXFx0cmV0dXJuIHRydWU7XFxuIH1cXG4rXFxuK2Jvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKVxcbit7XFxuK1xcdHJldHVybiB0cnVlO1xcbit9XFxuZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TIGIvYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlNcXG5uZXcgZmlsZSBtb2RlIDEwMDY0NFxcbmluZGV4IDAwMDAwMDAwMDAwMDAwLi4wMmM2MzdkODc0MjA1YVxcbi0tLSAvZGV2L251bGxcXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU1xcbkBAIC0wLDAgKzEsNDcgQEBcXG4rLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi9cXG4rLyogQ29weXJpZ2h0IChjKSAyMDI2IEZlbmcgSmlhbmcgXFx1MDAzY2ppYW5nZmVuZ0BreWxpbm9zLmNuXFx1MDAzZSAqL1xcbitcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2xpbmthZ2UuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2FzbS9hc20uaFxcdTAwM2VcXG4rXFxuKy8qXFxuKyAqIFRyYW1wb2xpbmUgZm9yIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gbG9vcCBib3VuZC4gQ3VzdG9tIGNhbGxpbmcgY29udmVudGlvbjpcXG4rICpcXHQtIGlucHV0OiAgc3RhY2sgb2Zmc2V0IGluIEJQRl9SRUdfQVggKHQwKVxcbisgKlxcdC0gb3V0cHV0OiB1cGRhdGVkIGNvdW50IGluIEJQRl9SRUdfQVggKHQwKVxcbisgKlxcbisgKiBDYWxscyBicGZfY2hlY2tfdGltZWRfbWF5X2dvdG8ocHRyKSB3aXRoIHRoZSBzdGFuZGFyZCBSSVNDLVYgQUJJLCB3aGVyZVxcbisgKiBwdHIgPSBCUEZfUkVHX0ZQIChzNSkgKyBCUEZfUkVHX0FYICh0MCkuIEJQRiBSMC1SNSAoYTUsIGEwLWE0KSBhcmUgc2F2ZWRcXG4rICogYWNyb3NzIHRoZSBjYWxsOyBCUEZfUkVHX0ZQIChzNSkgaXMgY2FsbGVlLXNhdmVkIGFuZCBuZWVkcyBubyBzYXZpbmcuXFxuKyAqL1xcbitcXG4rU1lNX0ZVTkNfU1RBUlQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXFxuK1xcdGFkZGlcXHRzcCwgc3AsIC0oOCpTWlJFRylcXG4rXFx0UkVHX1NcXHRyYSwgNypTWlJFRyhzcClcXG4rXFx0UkVHX1NcXHRzMCwgNipTWlJFRyhzcClcXG4rXFx0YWRkaVxcdHMwLCBzcCwgOCpTWlJFR1xcbitcXG4rXFx0LyogU2F2ZSBCUEYgcmVnaXN0ZXJzIFIwLVI1IChhNSwgYTAtYTQpICovXFxuK1xcdFJFR19TXFx0YTUsIDUqU1pSRUcoc3ApXFxuK1xcdFJFR19TXFx0YTAsIDQqU1pSRUcoc3ApXFxuK1xcdFJFR19TXFx0YTEsIDMqU1pSRUcoc3ApXFxuK1xcdFJFR19TXFx0YTIsIDIqU1pSRUcoc3ApXFxuK1xcdFJFR19TXFx0YTMsIDEqU1pSRUcoc3ApXFxuK1xcdFJFR19TXFx0YTQsIDAqU1pSRUcoc3ApXFxuK1xcbitcXHRhZGRcXHRhMCwgdDAsIHM1XFxuK1xcdGNhbGxcXHRicGZfY2hlY2tfdGltZWRfbWF5X2dvdG9cXG4rXFx0bXZcXHR0MCwgYTBcXG4rXFxuK1xcdC8qIFJlc3RvcmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAqL1xcbitcXHRSRUdfTFxcdGE0LCAwKlNaUkVHKHNwKVxcbitcXHRSRUdfTFxcdGEzLCAxKlNaUkVHKHNwKVxcbitcXHRSRUdfTFxcdGEyLCAyKlNaUkVHKHNwKVxcbitcXHRSRUdfTFxcdGExLCAzKlNaUkVHKHNwKVxcbitcXHRSRUdfTFxcdGEwLCA0KlNaUkVHKHNwKVxcbitcXHRSRUdfTFxcdGE1LCA1KlNaUkVHKHNwKVxcbitcXG4rXFx0UkVHX0xcXHRzMCwgNipTWlJFRyhzcClcXG4rXFx0UkVHX0xcXHRyYSwgNypTWlJFRyhzcClcXG4rXFx0YWRkaVxcdHNwLCBzcCwgOCpTWlJFR1xcbitcXHRyZXRcXG4rU1lNX0ZVTkNfRU5EKGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmNcXG5pbmRleCA5MmJhMWQ3MmUwZWNlNC4uOGQ4ZTUzZDM3MjY2Y2QgMTAwNjQ0XFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXFxuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXFxuQEAgLTY0LDYgKzY0LDcgQEAgU0VDKFxcXCJzeXNjYWxsXFxcIilcXG4gX19hcmNoX3g4Nl82NFxcbiBfX2FyY2hfYXJtNjRcXG4gX19hcmNoX3MzOTB4XFxuK19fYXJjaF9yaXNjdjY0XFxuIF9fc3VjY2VzcyBfX3JldHZhbCgwKVxcbiBfX3N0ZGVycihcXFwiRVJST1I6IFRpbWVvdXQgZGV0ZWN0ZWQgZm9yIG1heV9nb3RvIGluc3RydWN0aW9uXFxcIilcXG4gX19zdGRlcnIoXFxcIkNQVToge3tbMC05XSt9fSBVSUQ6IDAgUElEOiB7e1swLTldK319IENvbW06IHt7Lip9fVxcXCIpXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuY1xcbmluZGV4IDhkN2ZmMzhlNGMwNjk3Li44MzcwN2ZhZWEwNDk5NCAxMDA2NDRcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcXG5AQCAtNjYwLDYgKzY2MCw3IEBAIF9fbmFrZWQgdm9pZCBtYXlfZ290b19pbnRlcmFjdGlvbl94ODZfNjQodm9pZClcXG4gXFxuIFNFQyhcXFwicmF3X3RwXFxcIilcXG4gX19hcmNoX2FybTY0XFxuK19fYXJjaF9yaXNjdjY0XFxuIF9fbG9nX2xldmVsKDQpIF9fbXNnKFxcXCJzdGFjayBkZXB0aCAyNFxcXCIpXFxuIC8qIG1heV9nb3RvIGNvdW50ZXIgYXQgLTI0ICovXFxuIF9feGxhdGVkKFxcXCIwOiAqKHU2NCAqKShyMTAgLTI0KSA9XFxcIilcXG5AQCAtNjc5LDcgKzY4MCw3IEBAIF9feGxhdGVkKFxcXCIxMDogKih1NjQgKikocjEwIC0yNCkgPSByMTJcXFwiKVxcbiBfX3hsYXRlZChcXFwiMTE6ICoodTY0ICopKHIxMCAtOCkgPSByMVxcXCIpXFxuIF9feGxhdGVkKFxcXCIxMjogZXhpdFxcXCIpXFxuIF9fc3VjY2Vzc1xcbi1fX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25fYXJtNjQodm9pZClcXG4rX19uYWtlZCB2b2lkIG1heV9nb3RvX2ludGVyYWN0aW9uKHZvaWQpXFxuIHtcXG4gXFx0YXNtIHZvbGF0aWxlIChcXG4gXFx0XFxcInIxID0gMTtcXFwiXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jXFxuaW5kZXggNGJkZjQyNTZhNDFlNTEuLjBlMjExZjAzMGQwZDdhIDEwMDY0NFxcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmNcXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jXFxuQEAgLTExLDYgKzExLDcgQEAgX19kZXNjcmlwdGlvbihcXFwibWF5X2dvdG8gMFxcXCIpXFxuIF9fYXJjaF94ODZfNjRcXG4gX19hcmNoX3MzOTB4XFxuIF9fYXJjaF9hcm02NFxcbitfX2FyY2hfcmlzY3Y2NFxcbiBfX3hsYXRlZChcXFwiMDogcjAgPSAxXFxcIilcXG4gX194bGF0ZWQoXFxcIjE6IGV4aXRcXFwiKVxcbiBfX3N1Y2Nlc3NcXG5AQCAtMzEsNiArMzIsNyBAQCBfX2Rlc2NyaXB0aW9uKFxcXCJiYXRjaCAyIG9mIG1heV9nb3RvIDBcXFwiKVxcbiBfX2FyY2hfeDg2XzY0XFxuIF9fYXJjaF9zMzkweFxcbiBfX2FyY2hfYXJtNjRcXG4rX19hcmNoX3Jpc2N2NjRcXG4gX194bGF0ZWQoXFxcIjA6IHIwID0gMVxcXCIpXFxuIF9feGxhdGVkKFxcXCIxOiBleGl0XFxcIilcXG4gX19zdWNjZXNzXFxuQEAgLTUzLDYgKzU1LDcgQEAgX19kZXNjcmlwdGlvbihcXFwibWF5X2dvdG8gYmF0Y2ggd2l0aCBvZmZzZXRzIDIvMS8wXFxcIilcXG4gX19hcmNoX3g4Nl82NFxcbiBfX2FyY2hfczM5MHhcXG4gX19hcmNoX2FybTY0XFxuK19fYXJjaF9yaXNjdjY0XFxuIF9feGxhdGVkKFxcXCIwOiByMCA9IDFcXFwiKVxcbiBfX3hsYXRlZChcXFwiMTogZXhpdFxcXCIpXFxuIF9fc3VjY2Vzc1xcbkBAIC03OSw2ICs4Miw3IEBAIF9fZGVzY3JpcHRpb24oXFxcIm1heV9nb3RvIGJhdGNoIHdpdGggb2Zmc2V0cyAyLzBcXFwiKVxcbiBfX2FyY2hfeDg2XzY0XFxuIF9fYXJjaF9zMzkweFxcbiBfX2FyY2hfYXJtNjRcXG4rX19hcmNoX3Jpc2N2NjRcXG4gX194bGF0ZWQoXFxcIjA6ICoodTY0ICopKHIxMCAtMTYpID0gNjU1MzVcXFwiKVxcbiBfX3hsYXRlZChcXFwiMTogKih1NjQgKikocjEwIC04KSA9IDBcXFwiKVxcbiBfX3hsYXRlZChcXFwiMjogcjEyID0gKih1NjQgKikocjEwIC0xNilcXFwiKVxcbkBAIC0xMDYsNCArMTEwLDYyIEBAIF9fbmFrZWQgdm9pZCBtYXlfZ290b19iYXRjaF8yKHZvaWQpXFxuIFxcdDogX19jbG9iYmVyX2FsbCk7XFxuIH1cXG4gXFxuKy8qXFxuKyAqIFVzZSBicGZfZ2V0X3ByYW5kb21fdTMyKCkgdG8gcHJldmVudCBEQ0UgZnJvbSByZW1vdmluZyB0aGUgY2hlY2tzLlxcbisgKiByZXR2YWw6IDA9YWxsIG9rLCAxLTY9UjAtUjUgY2xvYmJlcmVkLlxcbisgKi9cXG4rU0VDKFxcXCJzeXNjYWxsXFxcIilcXG4rX19kZXNjcmlwdGlvbihcXFwidGltZWQgbWF5X2dvdG8gcHJlc2VydmVzIFIwLVI1XFxcIilcXG4rX19hcmNoX3g4Nl82NFxcbitfX2FyY2hfczM5MHhcXG4rX19hcmNoX2FybTY0XFxuK19fYXJjaF9yaXNjdjY0XFxuK19fc3VjY2Vzc1xcbitfX3JldHZhbCgwKVxcbitfX25ha2VkIHZvaWQgdGltZWRfbWF5X2dvdG9fcHJlc2VydmVzX3JlZ3Modm9pZClcXG4re1xcbitcXHRhc20gdm9sYXRpbGUgKFxcbitcXHRcXFwiY2FsbCAlW2JwZl9nZXRfcHJhbmRvbV91MzJdO1xcXCJcXG4rXFx0XFxcInI2ID0gcjA7XFxcIlxcbitcXHRcXFwicjAgPSAweDExMTE7XFxcIlxcbitcXHRcXFwicjAgKz0gcjY7XFxcIlxcbitcXHRcXFwicjEgPSAweDIyMjI7XFxcIlxcbitcXHRcXFwicjEgKz0gcjY7XFxcIlxcbitcXHRcXFwicjIgPSAweDMzMzM7XFxcIlxcbitcXHRcXFwicjIgKz0gcjY7XFxcIlxcbitcXHRcXFwicjMgPSAweDQ0NDQ7XFxcIlxcbitcXHRcXFwicjMgKz0gcjY7XFxcIlxcbitcXHRcXFwicjQgPSAweDU1NTU7XFxcIlxcbitcXHRcXFwicjQgKz0gcjY7XFxcIlxcbitcXHRcXFwicjUgPSAweDY2NjY7XFxcIlxcbitcXHRcXFwicjUgKz0gcjY7XFxcIlxcbitcXHRcXFwiLjhieXRlICVbbWF5X2dvdG9dO1xcXCJcXG4rXFx0XFxcIi44Ynl0ZSAlW2xvb3BdO1xcXCJcXG4rXFx0XFxcInIwIC09IHI2O1xcXCJcXG4rXFx0XFxcInIxIC09IHI2O1xcXCJcXG4rXFx0XFxcInIyIC09IHI2O1xcXCJcXG4rXFx0XFxcInIzIC09IHI2O1xcXCJcXG4rXFx0XFxcInI0IC09IHI2O1xcXCJcXG4rXFx0XFxcInI1IC09IHI2O1xcXCJcXG4rXFx0XFxcImlmIHIwICE9IDB4MTExMSBnb3RvIDFmO1xcXCJcXG4rXFx0XFxcImlmIHIxICE9IDB4MjIyMiBnb3RvIDJmO1xcXCJcXG4rXFx0XFxcImlmIHIyICE9IDB4MzMzMyBnb3RvIDNmO1xcXCJcXG4rXFx0XFxcImlmIHIzICE9IDB4NDQ0NCBnb3RvIDRmO1xcXCJcXG4rXFx0XFxcImlmIHI0ICE9IDB4NTU1NSBnb3RvIDVmO1xcXCJcXG4rXFx0XFxcImlmIHI1ICE9IDB4NjY2NiBnb3RvIDZmO1xcXCJcXG4rXFx0XFxcInIwID0gMDtcXFwiXFxuK1xcdFxcXCJleGl0O1xcXCJcXG4rXFx0XFxcIjE6IHIwID0gMTsgZXhpdDtcXFwiXFxuK1xcdFxcXCIyOiByMCA9IDI7IGV4aXQ7XFxcIlxcbitcXHRcXFwiMzogcjAgPSAzOyBleGl0O1xcXCJcXG4rXFx0XFxcIjQ6IHIwID0gNDsgZXhpdDtcXFwiXFxuK1xcdFxcXCI1OiByMCA9IDU7IGV4aXQ7XFxcIlxcbitcXHRcXFwiNjogcjAgPSA2OyBleGl0O1xcXCJcXG4rXFx0OlxcbitcXHQ6IF9faW1tKGJwZl9nZXRfcHJhbmRvbV91MzIpLFxcbitcXHQgIF9faW1tX2luc24obWF5X2dvdG8sIEJQRl9SQVdfSU5TTihCUEZfSk1QIHwgQlBGX0pDT05ELCAwLCAwLCAxLCAwKSksXFxuK1xcdCAgX19pbW1faW5zbihsb29wLCBCUEZfUkFXX0lOU04oQlBGX0pNUCB8IEJQRl9KQSwgMCwgMCwgLTIsIDApKVxcbitcXHQ6IF9fY2xvYmJlcl9hbGwpO1xcbit9XFxuK1xcbiBjaGFyIF9saWNlbnNlW10gU0VDKFxcXCJsaWNlbnNlXFxcIikgPSBcXFwiR1BMXFxcIjtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMTA6MDI6MDguMDM2MTMxMTc3WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MjczMzcwNTY2MTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX0pJVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJwZl9qaXRfZW1pdF9pbnNuXCIsXG4gICAgXCJicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggaW1wbGVtZW50cyB0aGUgQlBGIHRpbWVkIG1heV9nb3RvIGluc3RydWN0aW9uIGZvciB0aGUgUklTQy1WIEJQRiBKSVQgY29tcGlsZXIuIFRoaXMgbW9kaWZpZXMgdGhlIGNvcmUgQlBGIEpJVCBsb2dpYyBvbiBSSVNDLVYgYW5kIGlzIHJlYWNoYWJsZSB3aGVuIGxvYWRpbmcgQlBGIHByb2dyYW1zLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDg3ODc1MzMxYzAwOWU0MWM1YTlkZmRmOTZkZDAxZDcyZGY3NTliZWJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAyNCAxMDowMjowNSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlIGIvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcbmluZGV4IDlhMWU1ZjBhOTRlNTU5Li42NDU4ZDRkNTE5OTBhNyAxMDA2NDRcbi0tLSBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZVxuQEAgLTMsNyArMyw3IEBAXG4gb2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29yZS5vXG4gXG4gaWZlcSAoJChDT05GSUdfQVJDSF9SVjY0SSkseSlcbi1cdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXA2NC5vXG4rXHRvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gYnBmX2ppdF9jb21wNjQubyBicGZfdGltZWRfbWF5X2dvdG8ub1xuIGVsc2VcbiBcdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXAzMi5vXG4gZW5kaWZcbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jIGIvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xuaW5kZXggYWQwODlhOWE0ZWE5YWMuLjhmZTg5NjlmYjhhMGY4IDEwMDY0NFxuLS0tIGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xuKysrIGIvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xuQEAgLTE4NDEsNyArMTg0MSwxMiBAQCBpbnQgYnBmX2ppdF9lbWl0X2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICppbnNuLCBzdHJ1Y3QgcnZfaml0X2NvbnRleHQgKmN0eCxcbiBcdFx0aWYgKGF1eC1cdTAwM2V0YWlsX2NhbGxfcmVhY2hhYmxlIFx1MDAyNlx1MDAyNiBpbnNuLVx1MDAzZXNyY19yZWcgPT0gQlBGX1BTRVVET19DQUxMKVxuIFx0XHRcdGVtaXRfc2QoUlZfUkVHX1NQLCBjdHgtXHUwMDNldGNjX29mZnNldCwgUlZfUkVHX1RDQywgY3R4KTtcbiBcbi1cdFx0aWYgKGluc24tXHUwMDNlc3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwpXG4rXHRcdC8qXG4rXHRcdCAqIGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKCkgaXMgZW1pdHRlZCBieSB0aGUgdmVyaWZpZXIgYW5kXG4rXHRcdCAqIHJldHVybnMgaXRzIHJlc3VsdCBpbiBCUEZfUkVHX0FYIGluc3RlYWQgb2YgQlBGX1JFR18wLCBzb1xuK1x0XHQgKiBza2lwIHRoZSBub3JtYWwgXCJtb3ZlIHJldHVybiByZWdpc3RlciBpbnRvIFIwXCIuXG4rXHRcdCAqL1xuK1x0XHRpZiAoaW5zbi1cdTAwM2VzcmNfcmVnICE9IEJQRl9QU0VVRE9fQ0FMTCBcdTAwMjZcdTAwMjYgYWRkciAhPSAodTY0KWFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxuIFx0XHRcdGVtaXRfbXYoYnBmX3RvX3J2X3JlZyhCUEZfUkVHXzAsIGN0eCksIFJWX1JFR19BMCwgY3R4KTtcbiBcdFx0YnJlYWs7XG4gXHR9XG5AQCAtMjE2MSwzICsyMTY2LDggQEAgYm9vbCBicGZfaml0X3N1cHBvcnRzX3N1YnByb2dfdGFpbGNhbGxzKHZvaWQpXG4ge1xuIFx0cmV0dXJuIHRydWU7XG4gfVxuK1xuK2Jvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKVxuK3tcbitcdHJldHVybiB0cnVlO1xuK31cbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUyBiL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TXG5uZXcgZmlsZSBtb2RlIDEwMDY0NFxuaW5kZXggMDAwMDAwMDAwMDAwMDAuLjAyYzYzN2Q4NzQyMDVhXG4tLS0gL2Rldi9udWxsXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU1xuQEAgLTAsMCArMSw0NyBAQFxuKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovXG4rLyogQ29weXJpZ2h0IChjKSAyMDI2IEZlbmcgSmlhbmcgXHUwMDNjamlhbmdmZW5nQGt5bGlub3MuY25cdTAwM2UgKi9cbitcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9saW5rYWdlLmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2Nhc20vYXNtLmhcdTAwM2VcbitcbisvKlxuKyAqIFRyYW1wb2xpbmUgZm9yIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gbG9vcCBib3VuZC4gQ3VzdG9tIGNhbGxpbmcgY29udmVudGlvbjpcbisgKlx0LSBpbnB1dDogIHN0YWNrIG9mZnNldCBpbiBCUEZfUkVHX0FYICh0MClcbisgKlx0LSBvdXRwdXQ6IHVwZGF0ZWQgY291bnQgaW4gQlBGX1JFR19BWCAodDApXG4rICpcbisgKiBDYWxscyBicGZfY2hlY2tfdGltZWRfbWF5X2dvdG8ocHRyKSB3aXRoIHRoZSBzdGFuZGFyZCBSSVNDLVYgQUJJLCB3aGVyZVxuKyAqIHB0ciA9IEJQRl9SRUdfRlAgKHM1KSArIEJQRl9SRUdfQVggKHQwKS4gQlBGIFIwLVI1IChhNSwgYTAtYTQpIGFyZSBzYXZlZFxuKyAqIGFjcm9zcyB0aGUgY2FsbDsgQlBGX1JFR19GUCAoczUpIGlzIGNhbGxlZS1zYXZlZCBhbmQgbmVlZHMgbm8gc2F2aW5nLlxuKyAqL1xuK1xuK1NZTV9GVU5DX1NUQVJUKGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxuK1x0YWRkaVx0c3AsIHNwLCAtKDgqU1pSRUcpXG4rXHRSRUdfU1x0cmEsIDcqU1pSRUcoc3ApXG4rXHRSRUdfU1x0czAsIDYqU1pSRUcoc3ApXG4rXHRhZGRpXHRzMCwgc3AsIDgqU1pSRUdcbitcbitcdC8qIFNhdmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAoYTUsIGEwLWE0KSAqL1xuK1x0UkVHX1NcdGE1LCA1KlNaUkVHKHNwKVxuK1x0UkVHX1NcdGEwLCA0KlNaUkVHKHNwKVxuK1x0UkVHX1NcdGExLCAzKlNaUkVHKHNwKVxuK1x0UkVHX1NcdGEyLCAyKlNaUkVHKHNwKVxuK1x0UkVHX1NcdGEzLCAxKlNaUkVHKHNwKVxuK1x0UkVHX1NcdGE0LCAwKlNaUkVHKHNwKVxuK1xuK1x0YWRkXHRhMCwgdDAsIHM1XG4rXHRjYWxsXHRicGZfY2hlY2tfdGltZWRfbWF5X2dvdG9cbitcdG12XHR0MCwgYTBcbitcbitcdC8qIFJlc3RvcmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAqL1xuK1x0UkVHX0xcdGE0LCAwKlNaUkVHKHNwKVxuK1x0UkVHX0xcdGEzLCAxKlNaUkVHKHNwKVxuK1x0UkVHX0xcdGEyLCAyKlNaUkVHKHNwKVxuK1x0UkVHX0xcdGExLCAzKlNaUkVHKHNwKVxuK1x0UkVHX0xcdGEwLCA0KlNaUkVHKHNwKVxuK1x0UkVHX0xcdGE1LCA1KlNaUkVHKHNwKVxuK1xuK1x0UkVHX0xcdHMwLCA2KlNaUkVHKHNwKVxuK1x0UkVHX0xcdHJhLCA3KlNaUkVHKHNwKVxuK1x0YWRkaVx0c3AsIHNwLCA4KlNaUkVHXG4rXHRyZXRcbitTWU1fRlVOQ19FTkQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXG5pbmRleCA5MmJhMWQ3MmUwZWNlNC4uOGQ4ZTUzZDM3MjY2Y2QgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmNcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uY1xuQEAgLTY0LDYgKzY0LDcgQEAgU0VDKFwic3lzY2FsbFwiKVxuIF9fYXJjaF94ODZfNjRcbiBfX2FyY2hfYXJtNjRcbiBfX2FyY2hfczM5MHhcbitfX2FyY2hfcmlzY3Y2NFxuIF9fc3VjY2VzcyBfX3JldHZhbCgwKVxuIF9fc3RkZXJyKFwiRVJST1I6IFRpbWVvdXQgZGV0ZWN0ZWQgZm9yIG1heV9nb3RvIGluc3RydWN0aW9uXCIpXG4gX19zdGRlcnIoXCJDUFU6IHt7WzAtOV0rfX0gVUlEOiAwIFBJRDoge3tbMC05XSt9fSBDb21tOiB7ey4qfX1cIilcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcbmluZGV4IDhkN2ZmMzhlNGMwNjk3Li44MzcwN2ZhZWEwNDk5NCAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuY1xuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jXG5AQCAtNjYwLDYgKzY2MCw3IEBAIF9fbmFrZWQgdm9pZCBtYXlfZ290b19pbnRlcmFjdGlvbl94ODZfNjQodm9pZClcbiBcbiBTRUMoXCJyYXdfdHBcIilcbiBfX2FyY2hfYXJtNjRcbitfX2FyY2hfcmlzY3Y2NFxuIF9fbG9nX2xldmVsKDQpIF9fbXNnKFwic3RhY2sgZGVwdGggMjRcIilcbiAvKiBtYXlfZ290byBjb3VudGVyIGF0IC0yNCAqL1xuIF9feGxhdGVkKFwiMDogKih1NjQgKikocjEwIC0yNCkgPVwiKVxuQEAgLTY3OSw3ICs2ODAsNyBAQCBfX3hsYXRlZChcIjEwOiAqKHU2NCAqKShyMTAgLTI0KSA9IHIxMlwiKVxuIF9feGxhdGVkKFwiMTE6ICoodTY0ICopKHIxMCAtOCkgPSByMVwiKVxuIF9feGxhdGVkKFwiMTI6IGV4aXRcIilcbiBfX3N1Y2Nlc3Ncbi1fX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25fYXJtNjQodm9pZClcbitfX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb24odm9pZClcbiB7XG4gXHRhc20gdm9sYXRpbGUgKFxuIFx0XCJyMSA9IDE7XCJcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuaW5kZXggNGJkZjQyNTZhNDFlNTEuLjBlMjExZjAzMGQwZDdhIDEwMDY0NFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuQEAgLTExLDYgKzExLDcgQEAgX19kZXNjcmlwdGlvbihcIm1heV9nb3RvIDBcIilcbiBfX2FyY2hfeDg2XzY0XG4gX19hcmNoX3MzOTB4XG4gX19hcmNoX2FybTY0XG4rX19hcmNoX3Jpc2N2NjRcbiBfX3hsYXRlZChcIjA6IHIwID0gMVwiKVxuIF9feGxhdGVkKFwiMTogZXhpdFwiKVxuIF9fc3VjY2Vzc1xuQEAgLTMxLDYgKzMyLDcgQEAgX19kZXNjcmlwdGlvbihcImJhdGNoIDIgb2YgbWF5X2dvdG8gMFwiKVxuIF9fYXJjaF94ODZfNjRcbiBfX2FyY2hfczM5MHhcbiBfX2FyY2hfYXJtNjRcbitfX2FyY2hfcmlzY3Y2NFxuIF9feGxhdGVkKFwiMDogcjAgPSAxXCIpXG4gX194bGF0ZWQoXCIxOiBleGl0XCIpXG4gX19zdWNjZXNzXG5AQCAtNTMsNiArNTUsNyBAQCBfX2Rlc2NyaXB0aW9uKFwibWF5X2dvdG8gYmF0Y2ggd2l0aCBvZmZzZXRzIDIvMS8wXCIpXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuK19fYXJjaF9yaXNjdjY0XG4gX194bGF0ZWQoXCIwOiByMCA9IDFcIilcbiBfX3hsYXRlZChcIjE6IGV4aXRcIilcbiBfX3N1Y2Nlc3NcbkBAIC03OSw2ICs4Miw3IEBAIF9fZGVzY3JpcHRpb24oXCJtYXlfZ290byBiYXRjaCB3aXRoIG9mZnNldHMgMi8wXCIpXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuK19fYXJjaF9yaXNjdjY0XG4gX194bGF0ZWQoXCIwOiAqKHU2NCAqKShyMTAgLTE2KSA9IDY1NTM1XCIpXG4gX194bGF0ZWQoXCIxOiAqKHU2NCAqKShyMTAgLTgpID0gMFwiKVxuIF9feGxhdGVkKFwiMjogcjEyID0gKih1NjQgKikocjEwIC0xNilcIilcbkBAIC0xMDYsNCArMTEwLDYyIEBAIF9fbmFrZWQgdm9pZCBtYXlfZ290b19iYXRjaF8yKHZvaWQpXG4gXHQ6IF9fY2xvYmJlcl9hbGwpO1xuIH1cbiBcbisvKlxuKyAqIFVzZSBicGZfZ2V0X3ByYW5kb21fdTMyKCkgdG8gcHJldmVudCBEQ0UgZnJvbSByZW1vdmluZyB0aGUgY2hlY2tzLlxuKyAqIHJldHZhbDogMD1hbGwgb2ssIDEtNj1SMC1SNSBjbG9iYmVyZWQuXG4rICovXG4rU0VDKFwic3lzY2FsbFwiKVxuK19fZGVzY3JpcHRpb24oXCJ0aW1lZCBtYXlfZ290byBwcmVzZXJ2ZXMgUjAtUjVcIilcbitfX2FyY2hfeDg2XzY0XG4rX19hcmNoX3MzOTB4XG4rX19hcmNoX2FybTY0XG4rX19hcmNoX3Jpc2N2NjRcbitfX3N1Y2Nlc3NcbitfX3JldHZhbCgwKVxuK19fbmFrZWQgdm9pZCB0aW1lZF9tYXlfZ290b19wcmVzZXJ2ZXNfcmVncyh2b2lkKVxuK3tcbitcdGFzbSB2b2xhdGlsZSAoXG4rXHRcImNhbGwgJVticGZfZ2V0X3ByYW5kb21fdTMyXTtcIlxuK1x0XCJyNiA9IHIwO1wiXG4rXHRcInIwID0gMHgxMTExO1wiXG4rXHRcInIwICs9IHI2O1wiXG4rXHRcInIxID0gMHgyMjIyO1wiXG4rXHRcInIxICs9IHI2O1wiXG4rXHRcInIyID0gMHgzMzMzO1wiXG4rXHRcInIyICs9IHI2O1wiXG4rXHRcInIzID0gMHg0NDQ0O1wiXG4rXHRcInIzICs9IHI2O1wiXG4rXHRcInI0ID0gMHg1NTU1O1wiXG4rXHRcInI0ICs9IHI2O1wiXG4rXHRcInI1ID0gMHg2NjY2O1wiXG4rXHRcInI1ICs9IHI2O1wiXG4rXHRcIi44Ynl0ZSAlW21heV9nb3RvXTtcIlxuK1x0XCIuOGJ5dGUgJVtsb29wXTtcIlxuK1x0XCJyMCAtPSByNjtcIlxuK1x0XCJyMSAtPSByNjtcIlxuK1x0XCJyMiAtPSByNjtcIlxuK1x0XCJyMyAtPSByNjtcIlxuK1x0XCJyNCAtPSByNjtcIlxuK1x0XCJyNSAtPSByNjtcIlxuK1x0XCJpZiByMCAhPSAweDExMTEgZ290byAxZjtcIlxuK1x0XCJpZiByMSAhPSAweDIyMjIgZ290byAyZjtcIlxuK1x0XCJpZiByMiAhPSAweDMzMzMgZ290byAzZjtcIlxuK1x0XCJpZiByMyAhPSAweDQ0NDQgZ290byA0ZjtcIlxuK1x0XCJpZiByNCAhPSAweDU1NTUgZ290byA1ZjtcIlxuK1x0XCJpZiByNSAhPSAweDY2NjYgZ290byA2ZjtcIlxuK1x0XCJyMCA9IDA7XCJcbitcdFwiZXhpdDtcIlxuK1x0XCIxOiByMCA9IDE7IGV4aXQ7XCJcbitcdFwiMjogcjAgPSAyOyBleGl0O1wiXG4rXHRcIjM6IHIwID0gMzsgZXhpdDtcIlxuK1x0XCI0OiByMCA9IDQ7IGV4aXQ7XCJcbitcdFwiNTogcjAgPSA1OyBleGl0O1wiXG4rXHRcIjY6IHIwID0gNjsgZXhpdDtcIlxuK1x0OlxuK1x0OiBfX2ltbShicGZfZ2V0X3ByYW5kb21fdTMyKSxcbitcdCAgX19pbW1faW5zbihtYXlfZ290bywgQlBGX1JBV19JTlNOKEJQRl9KTVAgfCBCUEZfSkNPTkQsIDAsIDAsIDEsIDApKSxcbitcdCAgX19pbW1faW5zbihsb29wLCBCUEZfUkFXX0lOU04oQlBGX0pNUCB8IEJQRl9KQSwgMCwgMCwgLTIsIDApKVxuK1x0OiBfX2Nsb2JiZXJfYWxsKTtcbit9XG4rXG4gY2hhciBfbGljZW5zZVtdIFNFQyhcImxpY2Vuc2VcIikgPSBcIkdQTFwiO1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMTA6MDI6MDguMDM2MTMyNzU3WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NzIwMzIyOTc4NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFJJU0MtViBCUEYgVGltZWQgTWF5LUdvdG8gUGF0Y2gqKlxuXG5Pa2F5LCBzbyB3ZSd2ZSBnb3QgYSBwYXRjaCBoZXJlIHRoYXQncyBhZGRpbmcgc3VwcG9ydCBmb3IgYEJQRiB0aW1lZF9tYXlfZ290b2Agb24gUklTQy1WLiBUaGF0J3MgaW50ZXJlc3RpbmcsIGEgZ29vZCBwZXJmb3JtYW5jZSBlbmhhbmNlbWVudC4gTGV0J3Mgc2VlIHdoYXQncyBjaGFuZ2VkLiBMb29rcyBsaWtlIHdlIGhhdmUgbW9kaWZpY2F0aW9ucyB0byB0aGUgbWFrZWZpbGUgYW5kIHNvbWUgY29yZSBCUEYgSklUIGNvbXBpbGF0aW9uIGFuZCB0ZXN0aW5nIGZpbGVzLiBTcGVjaWZpY2FsbHksIHdlIGhhdmUgY2hhbmdlcyB0byBgYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVgLCBgYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY2AsIGBhcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU2AsIGFuZCBzb21lIHNlbGZ0ZXN0cy5cblxuVGhpcyBwYXRjaCBpcyBlc3NlbnRpYWxseSBpbXBsZW1lbnRpbmcgYGFyY2hfYnBmX3RpbWVkX21heV9nb3RvYCBpbiBhc3NlbWJseSBmb3IgUklTQy1WIGFuZCBob29raW5nIGl0IGludG8gdGhlIEJQRiBKSVQgY29tcGlsZXIuIFRoYXQncyBhIGRpcmVjdCBhcmNoaXRlY3R1cmFsIG1vZGlmaWNhdGlvbiwgc28gd2UgbmVlZCB0byBiZSBjYXJlZnVsLiBJdOKAmXMgbW9kaWZ5aW5nIHRoZSBSSVNDLVYgQlBGIEpJVCBjb21waWxlcjsgdGhpcyBpcyBmdW5jdGlvbmFsIGNvZGUsIGFuZCB0aGVyZWZvcmUgbmVlZHMgdG8gYmUgY2FyZWZ1bGx5IHNjcnV0aW5pemVkLlxuXG5BbHJpZ2h0LCBsZXQncyBkcmlsbCBkb3duIGludG8gYGFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNgIHNwZWNpZmljYWxseS4gSSBzZWUgdGhhdCB0aGUgcGF0Y2ggbW9kaWZpZXMgYGJwZl9qaXRfZW1pdF9pbnNuYC4gQWxzbywgdGhlIGludHJvZHVjdGlvbiBvZiBhIG5ldyBmdW5jdGlvbiwgYGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG9gLCBhbmQgb2YgY291cnNlIHRoZSBhc3NlbWJseSBmdW5jdGlvbiBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gLiBUaGF0IGFzc2VtYmx5IGZ1bmN0aW9uIGlzIGtleS5cblxuTm93LCB0aGUgcHJvbXB0IHNwZWNpZmljYWxseSBjYWxscyBvdXQgdGhhdCBpZiBhIHBhdGNoIG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgd2UgbmVlZCB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLiBDb25zaWRlcmluZyBpdCBpcyBhcmNoaXRlY3R1cmUgY29kZSwgbGV0J3MgdXNlIHRoZSBjb2RlIHNlYXJjaCB0b29scyB0byBleGFtaW5lIGBicGZfaml0X2VtaXRfaW5zbmAgYW5kIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AuIFRoaXMgaXMgdGhlIHBvaW50IHRvIGRldGVybWluZSB3aGV0aGVyIHRoaXMgY2hhbmdlIGlzIHdvcnRoIGZ1enppbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUxNDksIk91dHB1dFRva2VucyI6NDYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozOTAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQxMDowMjoxNS4yMzkzNjQ3NjNaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjM2OTEzMTI0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImJwZl9qaXRfZW1pdF9pbnNuXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYz0xMzI0PWludCBhcmNoX3ByZXBhcmVfYnBmX3RyYW1wb2xpbmUoc3RydWN0IGJwZl90cmFtcF9pbWFnZSAqaW0sIHZvaWQgKnJvX2ltYWdlLFxcbi0tXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xMzYwLVxcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM6MTM2MTppbnQgYnBmX2ppdF9lbWl0X2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICppbnNuLCBzdHJ1Y3QgcnZfaml0X2NvbnRleHQgKmN0eCxcXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTEzNjItXFx0XFx0ICAgICAgYm9vbCBleHRyYV9wYXNzKVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQxMDowMjoxNS40NzYyODMwOTdaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NTMyNzI0NjkxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkV4YW1pbmluZyB0aGUgS2VybmVsIENvbmZpZ3VyYXRpb24gZm9yIEJQRiBKSVQgU3VwcG9ydCBvbiBSSVNDLVYqKlxuXG5Pa2F5LCBsZXQncyBkaXZlIGludG8gdGhpcyBjb25maWd1cmF0aW9uIHNpdHVhdGlvbi4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIHBpbnBvaW50IHRoZSBuZWNlc3Nhcnkga2VybmVsIGNvbmZpZyBvcHRpb25zIGZvciB0aGUgQlBGIEpJVCBjb21waWxlciBvbiBSSVNDLVYuIEZpcnN0LCBgQ09ORklHX0JQRl9KSVRgIHNlZW1zIGxpa2UgYSBnaXZlbiwgYSBzdGFuZGFyZCByZXF1aXJlbWVudCBmb3IgZW5hYmxpbmcgdGhlIEJQRiBKSVQgaW4gYW55IGFyY2hpdGVjdHVyZS4gVGhlbiBJIG5lZWQgdG8gZmlndXJlIG91dCB3aGljaCBSSVNDLVYgYXJjaGl0ZWN0dXJlIG9wdGlvbnMgYXJlIG5lZWRlZC4gSXQgc2VlbXMgbGlrZSBlaXRoZXIgYENPTkZJR19BUkNIX1JWNjRJYCBvciBgQ09ORklHX1JJU0NWYCBzaG91bGQgZG8gaXQuIEJ1dCBsZXQncyB2ZXJpZnkuXG5cbkFoLCBoZXJlIGlzIGEgY2x1ZSEgVGhlIHBhdGNoIG1vZGlmaWVzIGBhcmNoL3Jpc2N2L25ldC9NYWtlZmlsZWAuIEkgd2lsbCB2ZXJpZnkuXG5cbmBgYG1ha2VmaWxlXG5pZmVxICgkKENPTkZJR19BUkNIX1JWNjRJKSx5KVxuXHRvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gYnBmX2ppdF9jb21wNjQubyBicGZfdGltZWRfbWF5X2dvdG8ub1xuYGBgXG5cblNvLCB0aGUgZGVwZW5kZW5jeSBpcyBjbGVhcjogSSBuZWVkICpib3RoKiBgQ09ORklHX0JQRl9KSVRgIGFuZCBgQ09ORklHX0FSQ0hfUlY2NElgLiBJIHdhcyByaWdodCwgYnV0IGl0J3MgZ29vZCB0byBjb25maXJtLiBCdXQgdGhhdCBpcyB0aGUgKm9ubHkqIGRlcGVuZGVuY3kuIFdhaXQsIEknbSB0aGlua2luZyBvZiB0aGlzIHRoZSB3cm9uZyB3YXk7IGl0J3MgYENPTkZJR19CUEZfSklUYCB0aGF0J3MgdGhlIG1vcmUgZ2VuZXJhbCBmbGFnLlxuXG5JIHdvbmRlciBpZiB0aGVyZSBhcmUgYW55IG90aGVyIHJlbGF0ZWQgY29uZmlndXJhdGlvbnMuIEkgc2hvdWxkIHByb2JhYmx5IHNjYW4gYGFyY2gvcmlzY3YvS2NvbmZpZ2AgYW5kIGBuZXQvYnBmL0tjb25maWdgIHRvIGVuc3VyZSBJIGhhdmVuJ3QgbWlzc2VkIGFueXRoaW5nIGNydWNpYWwuIEp1c3QgYSBxdWljayBjaGVjayB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBzdWJ0bGUgaW50ZXJkZXBlbmRlbmNpZXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjYxNzAsIk91dHB1dFRva2VucyI6MjYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxODUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMTA6MDI6MjEuMDA5MDA5NzM4WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE4NTA2NTI4MTAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJQRl9KSVRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImtlcm5lbC9icGYvS2NvbmZpZz0yNz1jb25maWcgQlBGX1NZU0NBTExcXG4tLVxcbmtlcm5lbC9icGYvS2NvbmZpZy00MS1cXG5rZXJuZWwvYnBmL0tjb25maWc6NDI6Y29uZmlnIEJQRl9KSVRcXG5rZXJuZWwvYnBmL0tjb25maWctNDMtXFx0Ym9vbCBcXFwiRW5hYmxlIEJQRiBKdXN0IEluIFRpbWUgY29tcGlsZXJcXFwiXFxuLS1cXG5rZXJuZWwvYnBmL0tjb25maWctNTctXFxua2VybmVsL2JwZi9LY29uZmlnOjU4OmNvbmZpZyBCUEZfSklUX0FMV0FZU19PTlxcbmtlcm5lbC9icGYvS2NvbmZpZy01OS1cXHRib29sIFxcXCJQZXJtYW5lbnRseSBlbmFibGUgQlBGIEpJVCBhbmQgcmVtb3ZlIEJQRiBpbnRlcnByZXRlclxcXCJcXG4tLVxcbmtlcm5lbC9icGYvS2NvbmZpZy02OC1cXG5rZXJuZWwvYnBmL0tjb25maWc6Njk6Y29uZmlnIEJQRl9KSVRfREVGQVVMVF9PTlxcbmtlcm5lbC9icGYvS2NvbmZpZy03MC1cXHRkZWZfYm9vbCBBUkNIX1dBTlRfREVGQVVMVF9CUEZfSklUIHx8IEJQRl9KSVRfQUxXQVlTX09OXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI0VDEwOjAyOjIyLjg1OTY2ODE3OFoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUzNjA0NzkxNzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQlBGIEpJVCBGdXp6aW5nIFN0cmF0ZWd5KipcblxuT2theSwgc28gdGhpcyBwYXRjaCBhZGRzIGBicGZfdGltZWRfbWF5X2dvdG9gIHN1cHBvcnQgdG8gdGhlIFJJU0MtViBCUEYgSklULCB3aGljaCBpcyBncmVhdC4gSXQncyBkZWZpbml0ZWx5IGZ1bmN0aW9uYWwsIGFuZCBJIGtub3cgdGhhdCBtZWFucyBpdCBuZWVkcyBzb21lIHNlcmlvdXMgZnV6emluZy4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGZvY3VzIG9uIGBicGZfaml0X2VtaXRfaW5zbmAgYW5kIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AuIFdhaXQsIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgaXMgYXNzZW1ibHksIGh1aD8gU3l6a2FsbGVyIGRvZXNuJ3QgdXN1YWxseSBob29rIGFzc2VtYmx5IGRpcmVjdGx5LiBCdXQgYGJwZl9qaXRfZW1pdF9pbnNuYCBpcyBhIEMgZnVuY3Rpb24sIHRoYXQncyB3aGF0IEkgd2FudC5cblxuTGV0IG1lIHRoaW5r4oCmIGlzIGBicGZfaml0X2VtaXRfaW5zbmAgcmVhbGx5IGEgZ29vZCB0YXJnZXQ/IEl0J3MgdGhlIG1haW4gaW5zdHJ1Y3Rpb24gZW1pc3Npb24gZnVuY3Rpb24gZm9yIHRoZSBKSVQsIHNvIGl0IG1pZ2h0IGJlIGhlYXZpbHkgdXNlZCBkdXJpbmcgQlBGIHByb2dyYW0gbG9hZC4gQWgsIGJ1dCBpdCdzICpzcGVjaWZpYyogdG8gdGhlIEJQRiBKSVQuIFRoYXQgbWFrZXMgaXQgZ29vZCBmb3IgZnV6emluZyBzaW5jZSBpdOKAmXMgaW4gdGhlIGNyaXRpY2FsIHBhdGguXG5cbkFjdHVhbGx5LCBJ4oCZbSByZWFsaXppbmcgYGJwZl9qaXRfZW1pdF9pbnNuYCBpcyBjYWxsZWQgZm9yIGV2ZXJ5IHNpbmdsZSBCUEYgaW5zdHJ1Y3Rpb24gZHVyaW5nIEpJVCBjb21waWxhdGlvbi4gKlRoYXQncyogYSBqdWljeSB0YXJnZXQgZm9yIEJQRiBmdXp6aW5nLiBFdmVyeSBpbnN0cnVjdGlvbiB3aWxsIGdvIHRocm91Z2ggdGhhdCBwYXRoLiBHcmVhdC4gSSBhbHNvIG5lZWQgdG8gbWFrZSBhIG5vdGUgb2YgYGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG9gLiBJIHNob3VsZCBwcm9iYWJseSBjaGVjayBpZiB0aGVyZSBhcmUgb3RoZXIgZnVuY3Rpb25zIGludm9sdmVkIGhlcmUgdG9vLCBqdXN0IHRvIGJlIHN1cmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjY5NjAsIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMzYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMTA6MDI6MjguMjIwMTU4NDYzWiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwMjUxMjAyNywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJhcmNoX2JwZl90aW1lZF9tYXlfZ290b1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJhcmNoL3Jpc2N2L25ldC9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYz0xMzYxPWludCBicGZfaml0X2VtaXRfaW5zbihjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24sIHN0cnVjdCBydl9qaXRfY29udGV4dCAqY3R4LFxcbi0tXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xODQ0LVxcdFxcdC8qXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYzoxODQ1OlxcdFxcdCAqIGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKCkgaXMgZW1pdHRlZCBieSB0aGUgdmVyaWZpZXIgYW5kXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xODQ2LVxcdFxcdCAqIHJldHVybnMgaXRzIHJlc3VsdCBpbiBCUEZfUkVHX0FYIGluc3RlYWQgb2YgQlBGX1JFR18wLCBzb1xcbi0tXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xODQ4LVxcdFxcdCAqL1xcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM6MTg0OTpcXHRcXHRpZiAoaW5zbi1cXHUwMDNlc3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwgXFx1MDAyNlxcdTAwMjYgYWRkciAhPSAodTY0KWFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMTg1MC1cXHRcXHRcXHRlbWl0X212KGJwZl90b19ydl9yZWcoQlBGX1JFR18wLCBjdHgpLCBSVl9SRUdfQTAsIGN0eCk7XFxuLS1cXG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUy0xNi1cXG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUzoxNzpTWU1fRlVOQ19TVEFSVChhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcXG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUy0xOC1cXHRhZGRpXFx0c3AsIHNwLCAtKDgqU1pSRUcpXFxuLS1cXG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUy00Ni1cXHRyZXRcXG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUzo0NzpTWU1fRlVOQ19FTkQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI0VDEwOjAyOjI4LjMyMjY3NTQ1MVoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY5NzAyNDIwMzIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiB0aGUgUklTQy1WIEJQRiBKSVQgUGF0Y2gqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGludHJvZHVjZXMgYGJwZl90aW1lZF9tYXlfZ290by5TYCwgY29udGFpbmluZyBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gLiBUaGF0J3MgdGhlIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbi4gVGhlbiwgbG9va2luZyBhdCB0aGUgQyBjb2RlIGluIGBicGZfaml0X2NvbXA2NC5jYCwgdGhlIGNvcmUgSklUIGNvbXBpbGVyIGxvZ2ljIGlzIGJlaW5nIG1vZGlmaWVkLiBgYnBmX2ppdF9lbWl0X2luc25gIGlzIHRoZSBrZXkgZnVuY3Rpb24gYmVpbmcgdXBkYXRlZCwgYW5kIGEgbmV3IGZ1bmN0aW9uLCBgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b2AsIGlzIGJlaW5nIGFkZGVkLCB3aGljaCBpcyBlc3NlbnRpYWwgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgd2UgY2FuIHVzZSB0aGUgdGltZSBjb250cm9sIGZ1bmN0aW9uYWxpdHkuXG5cbk5vdywgZm9yIHRoZSBjb25maWd1cmF0aW9uLCBpdCBzZWVtcyBsaWtlIHdlIGp1c3QgbmVlZCBgQlBGX0pJVGAuIFRoYXQgbWFrZXMgc2Vuc2U7IGl0J3MgdGhlIGNvcmUgSklUIGNvbXBpbGVyIHdlJ3JlIHRhcmdldGluZy4gSSBzYXcgYEFSQ0hfUlY2NElgIG1lbnRpb25lZCwgYnV0IHRoYXQncyB0aGUgc3RhbmRhcmQgZm9yIDY0LWJpdCBSSVNDLVYsIHNvIHdlIGRvbid0IGhhdmUgdG8gc3BlY2lmeSB0aGF0LiBPaCwgd2FpdCwgd2UgYWxzbyBuZWVkIHRvIGhhdmUgYEJQRl9TWVNDQUxMYCBlbmFibGVkIGFzIHRoYXQgd2lsbCBiZSBuZWNlc3NhcnkgZm9yIGEgZnVsbCBlbmQtdG8tZW5kIGxvYWQgb2YgQlBGIHByb2dyYW1zLlxuXG5SaWdodCwgdGltZSB0byB1c2UgdGhlIGBzZXQtcmVzdWx0c2AgdG9vbC4gVGhlIGtleSBoZXJlIGlzIHRoZSBgV29ydGhGdXp6aW5nOiB0cnVlYC4gVGhhdCdzIGEgZ29vZCBzaWduOyB0aGUgcGF0Y2ggYXV0aG9yIGNvbnNpZGVycyB0aGlzIGNvZGUgcGF0aCBmdXp6ZXItd29ydGh5LiBUaGUgYEZvY3VzU3ltYm9sc2AgYXJlIGNsZWFybHkgdGhlIGltcG9ydGFudCBmdW5jdGlvbnM6IGBicGZfaml0X2VtaXRfaW5zbmAgYW5kIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYC4gVGhvc2UgYXJlIHRoZSB0d28gZnVuY3Rpb25zIHRoYXQgbmVlZCB0byBiZSB0ZXN0ZWQgdGhvcm91Z2hseS4gVGhlIHJlbGV2YW50IGBFbmFibGVDb25maWdzYCBpcyBqdXN0IGBCUEZfSklUYC5cblxuVGhlIHJlYXNvbmluZyBpcyBzb3VuZDogdGhpcyBwYXRjaCBhZGRzIGEgY3JpdGljYWwgbmV3IGZlYXR1cmUsIHRpbWVkIGBtYXlfZ290b2AsIHRvIHRoZSBSSVNDLVYgQlBGIEpJVC4gVGhpcyB0b3VjaGVzIGNvcmUgQlBGIEpJVCBsb2dpYyBhbmQgaXMgdGhlcmVmb3JlIHJlYWNoYWJsZSB3aGVuIGxvYWRpbmcgQlBGIHByb2dyYW1zLCBhIGNsYXNzaWMgYXR0YWNrIHN1cmZhY2UuIFdlIHNob3VsZCBkZWZpbml0ZWx5IGJlIGZ1enppbmcgdGhpcyFcblxuXG4iLCJJbnB1dFRva2VucyI6ODA0OCwiT3V0cHV0VG9rZW5zIjoxMTAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNDksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMTA6MDI6MzUuMjkyOTIwMzQzWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODAyNjM3MjgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJQRl9KSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfaml0X2VtaXRfaW5zblwiLFxuICAgIFwiYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGltcGxlbWVudHMgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBpbnN0cnVjdGlvbiBmb3IgdGhlIFJJU0MtViBCUEYgSklUIGNvbXBpbGVyLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIEJQRiBKSVQgbG9naWMgb24gUklTQy1WIGFuZCBpcyByZWFjaGFibGUgd2hlbiBsb2FkaW5nIEJQRiBwcm9ncmFtcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCUEZfSklUXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYnBmX2ppdF9lbWl0X2luc25cIixcbiAgICBcImJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG9cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpbXBsZW1lbnRzIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gaW5zdHJ1Y3Rpb24gZm9yIHRoZSBSSVNDLVYgQlBGIEpJVCBjb21waWxlci4gVGhpcyBtb2RpZmllcyB0aGUgY29yZSBCUEYgSklUIGxvZ2ljIG9uIFJJU0MtViBhbmQgaXMgcmVhY2hhYmxlIHdoZW4gbG9hZGluZyBCUEYgcHJvZ3JhbXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowdpxnp[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-24 09:48:02 +0000 UTC FinishedAt: 2026-07-24 10:02:37 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "a23a71823352e2d792dcaae25f1ebb744acbfc0b", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_JIT" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "a23a71823352e2d792dcaae25f1ebb744acbfc0b", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_JIT" ], "series_id": "1d349949-35a9-4dd5-a00c-1d6acf27d2b3" }, "track": "KASAN", "fuzz": { "focus": [ "bpf" ], "focus_symbols": [ "bpf_jit_emit_insn", "bpf_jit_supports_timed_may_goto" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-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+CgkJCTx0ZD4yMDI2LzA3LzI0IDEwOjAyPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGltcGxlbWVudHMgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBpbnN0cnVjdGlvbiBmb3IgdGhlIFJJU0MtViBCUEYgSklUIGNvbXBpbGVyLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIEJQRiBKSVQgbG9naWMgb24gUklTQy1WIGFuZCBpcyByZWFjaGFibGUgd2hlbiBsb2FkaW5nIEJQRiBwcm9ncmFtcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yNCAxMDowMjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDg3ODc1MzMxYzAwOWU0MWM1YTlkZmRmOTZkZDAxZDcyZGY3NTliZWJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAyNCAxMDowMjowNSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZSBiL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlXG5pbmRleCA5YTFlNWYwYTk0ZTU1OS4uNjQ1OGQ0ZDUxOTkwYTcgMTAwNjQ0XG4tLS0gYS9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZVxuJiM0MzsmIzQzOyYjNDM7IGIvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcbkBAIC0zLDcgJiM0MzszLDcgQEBcbiBvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29yZS5vXG4gXG4gaWZlcSAoJChDT05GSUdfQVJDSF9SVjY0SSkseSlcbi1cdG9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb21wNjQub1xuJiM0MztcdG9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb21wNjQubyBicGZfdGltZWRfbWF5X2dvdG8ub1xuIGVsc2VcbiBcdG9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb21wMzIub1xuIGVuZGlmXG5kaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYyBiL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcbmluZGV4IGFkMDg5YTlhNGVhOWFjLi44ZmU4OTY5ZmI4YTBmOCAxMDA2NDRcbi0tLSBhL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcbkBAIC0xODQxLDcgJiM0MzsxODQxLDEyIEBAIGludCBicGZfaml0X2VtaXRfaW5zbihjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24sIHN0cnVjdCBydl9qaXRfY29udGV4dCAqY3R4LFxuIFx0XHRpZiAoYXV4LVx1MDAzZXRhaWxfY2FsbF9yZWFjaGFibGUgXHUwMDI2XHUwMDI2IGluc24tXHUwMDNlc3JjX3JlZyA9PSBCUEZfUFNFVURPX0NBTEwpXG4gXHRcdFx0ZW1pdF9zZChSVl9SRUdfU1AsIGN0eC1cdTAwM2V0Y2Nfb2Zmc2V0LCBSVl9SRUdfVENDLCBjdHgpO1xuIFxuLVx0XHRpZiAoaW5zbi1cdTAwM2VzcmNfcmVnICE9IEJQRl9QU0VVRE9fQ0FMTClcbiYjNDM7XHRcdC8qXG4mIzQzO1x0XHQgKiBhcmNoX2JwZl90aW1lZF9tYXlfZ290bygpIGlzIGVtaXR0ZWQgYnkgdGhlIHZlcmlmaWVyIGFuZFxuJiM0MztcdFx0ICogcmV0dXJucyBpdHMgcmVzdWx0IGluIEJQRl9SRUdfQVggaW5zdGVhZCBvZiBCUEZfUkVHXzAsIHNvXG4mIzQzO1x0XHQgKiBza2lwIHRoZSBub3JtYWwgXCYjMzQ7bW92ZSByZXR1cm4gcmVnaXN0ZXIgaW50byBSMFwmIzM0Oy5cbiYjNDM7XHRcdCAqL1xuJiM0MztcdFx0aWYgKGluc24tXHUwMDNlc3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwgXHUwMDI2XHUwMDI2IGFkZHIgIT0gKHU2NClhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcbiBcdFx0XHRlbWl0X212KGJwZl90b19ydl9yZWcoQlBGX1JFR18wLCBjdHgpLCBSVl9SRUdfQTAsIGN0eCk7XG4gXHRcdGJyZWFrO1xuIFx0fVxuQEAgLTIxNjEsMyAmIzQzOzIxNjYsOCBAQCBib29sIGJwZl9qaXRfc3VwcG9ydHNfc3VicHJvZ190YWlsY2FsbHModm9pZClcbiB7XG4gXHRyZXR1cm4gdHJ1ZTtcbiB9XG4mIzQzO1xuJiM0Mztib29sIGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG8odm9pZClcbiYjNDM7e1xuJiM0MztcdHJldHVybiB0cnVlO1xuJiM0Mzt9XG5kaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlMgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU1xubmV3IGZpbGUgbW9kZSAxMDA2NDRcbmluZGV4IDAwMDAwMDAwMDAwMDAwLi4wMmM2MzdkODc0MjA1YVxuLS0tIC9kZXYvbnVsbFxuJiM0MzsmIzQzOyYjNDM7IGIvYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlNcbkBAIC0wLDAgJiM0MzsxLDQ3IEBAXG4mIzQzOy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovXG4mIzQzOy8qIENvcHlyaWdodCAoYykgMjAyNiBGZW5nIEppYW5nIFx1MDAzY2ppYW5nZmVuZ0BreWxpbm9zLmNuXHUwMDNlICovXG4mIzQzO1xuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9saW5rYWdlLmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjYXNtL2FzbS5oXHUwMDNlXG4mIzQzO1xuJiM0MzsvKlxuJiM0MzsgKiBUcmFtcG9saW5lIGZvciB0aGUgQlBGIHRpbWVkIG1heV9nb3RvIGxvb3AgYm91bmQuIEN1c3RvbSBjYWxsaW5nIGNvbnZlbnRpb246XG4mIzQzOyAqXHQtIGlucHV0OiAgc3RhY2sgb2Zmc2V0IGluIEJQRl9SRUdfQVggKHQwKVxuJiM0MzsgKlx0LSBvdXRwdXQ6IHVwZGF0ZWQgY291bnQgaW4gQlBGX1JFR19BWCAodDApXG4mIzQzOyAqXG4mIzQzOyAqIENhbGxzIGJwZl9jaGVja190aW1lZF9tYXlfZ290byhwdHIpIHdpdGggdGhlIHN0YW5kYXJkIFJJU0MtViBBQkksIHdoZXJlXG4mIzQzOyAqIHB0ciA9IEJQRl9SRUdfRlAgKHM1KSAmIzQzOyBCUEZfUkVHX0FYICh0MCkuIEJQRiBSMC1SNSAoYTUsIGEwLWE0KSBhcmUgc2F2ZWRcbiYjNDM7ICogYWNyb3NzIHRoZSBjYWxsOyBCUEZfUkVHX0ZQIChzNSkgaXMgY2FsbGVlLXNhdmVkIGFuZCBuZWVkcyBubyBzYXZpbmcuXG4mIzQzOyAqL1xuJiM0MztcbiYjNDM7U1lNX0ZVTkNfU1RBUlQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXG4mIzQzO1x0YWRkaVx0c3AsIHNwLCAtKDgqU1pSRUcpXG4mIzQzO1x0UkVHX1NcdHJhLCA3KlNaUkVHKHNwKVxuJiM0MztcdFJFR19TXHRzMCwgNipTWlJFRyhzcClcbiYjNDM7XHRhZGRpXHRzMCwgc3AsIDgqU1pSRUdcbiYjNDM7XG4mIzQzO1x0LyogU2F2ZSBCUEYgcmVnaXN0ZXJzIFIwLVI1IChhNSwgYTAtYTQpICovXG4mIzQzO1x0UkVHX1NcdGE1LCA1KlNaUkVHKHNwKVxuJiM0MztcdFJFR19TXHRhMCwgNCpTWlJFRyhzcClcbiYjNDM7XHRSRUdfU1x0YTEsIDMqU1pSRUcoc3ApXG4mIzQzO1x0UkVHX1NcdGEyLCAyKlNaUkVHKHNwKVxuJiM0MztcdFJFR19TXHRhMywgMSpTWlJFRyhzcClcbiYjNDM7XHRSRUdfU1x0YTQsIDAqU1pSRUcoc3ApXG4mIzQzO1xuJiM0MztcdGFkZFx0YTAsIHQwLCBzNVxuJiM0MztcdGNhbGxcdGJwZl9jaGVja190aW1lZF9tYXlfZ290b1xuJiM0MztcdG12XHR0MCwgYTBcbiYjNDM7XG4mIzQzO1x0LyogUmVzdG9yZSBCUEYgcmVnaXN0ZXJzIFIwLVI1ICovXG4mIzQzO1x0UkVHX0xcdGE0LCAwKlNaUkVHKHNwKVxuJiM0MztcdFJFR19MXHRhMywgMSpTWlJFRyhzcClcbiYjNDM7XHRSRUdfTFx0YTIsIDIqU1pSRUcoc3ApXG4mIzQzO1x0UkVHX0xcdGExLCAzKlNaUkVHKHNwKVxuJiM0MztcdFJFR19MXHRhMCwgNCpTWlJFRyhzcClcbiYjNDM7XHRSRUdfTFx0YTUsIDUqU1pSRUcoc3ApXG4mIzQzO1xuJiM0MztcdFJFR19MXHRzMCwgNipTWlJFRyhzcClcbiYjNDM7XHRSRUdfTFx0cmEsIDcqU1pSRUcoc3ApXG4mIzQzO1x0YWRkaVx0c3AsIHNwLCA4KlNaUkVHXG4mIzQzO1x0cmV0XG4mIzQzO1NZTV9GVU5DX0VORChhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmNcbmluZGV4IDkyYmExZDcyZTBlY2U0Li44ZDhlNTNkMzcyNjZjZCAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXG5AQCAtNjQsNiAmIzQzOzY0LDcgQEAgU0VDKFwmIzM0O3N5c2NhbGxcJiMzNDspXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9hcm02NFxuIF9fYXJjaF9zMzkweFxuJiM0MztfX2FyY2hfcmlzY3Y2NFxuIF9fc3VjY2VzcyBfX3JldHZhbCgwKVxuIF9fc3RkZXJyKFwmIzM0O0VSUk9SOiBUaW1lb3V0IGRldGVjdGVkIGZvciBtYXlfZ290byBpbnN0cnVjdGlvblwmIzM0OylcbiBfX3N0ZGVycihcJiMzNDtDUFU6IHt7WzAtOV0mIzQzO319IFVJRDogMCBQSUQ6IHt7WzAtOV0mIzQzO319IENvbW06IHt7Lip9fVwmIzM0OylcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcbmluZGV4IDhkN2ZmMzhlNGMwNjk3Li44MzcwN2ZhZWEwNDk5NCAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jXG5AQCAtNjYwLDYgJiM0Mzs2NjAsNyBAQCBfX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25feDg2XzY0KHZvaWQpXG4gXG4gU0VDKFwmIzM0O3Jhd190cFwmIzM0OylcbiBfX2FyY2hfYXJtNjRcbiYjNDM7X19hcmNoX3Jpc2N2NjRcbiBfX2xvZ19sZXZlbCg0KSBfX21zZyhcJiMzNDtzdGFjayBkZXB0aCAyNFwmIzM0OylcbiAvKiBtYXlfZ290byBjb3VudGVyIGF0IC0yNCAqL1xuIF9feGxhdGVkKFwmIzM0OzA6ICoodTY0ICopKHIxMCAtMjQpID1cJiMzNDspXG5AQCAtNjc5LDcgJiM0Mzs2ODAsNyBAQCBfX3hsYXRlZChcJiMzNDsxMDogKih1NjQgKikocjEwIC0yNCkgPSByMTJcJiMzNDspXG4gX194bGF0ZWQoXCYjMzQ7MTE6ICoodTY0ICopKHIxMCAtOCkgPSByMVwmIzM0OylcbiBfX3hsYXRlZChcJiMzNDsxMjogZXhpdFwmIzM0OylcbiBfX3N1Y2Nlc3Ncbi1fX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25fYXJtNjQodm9pZClcbiYjNDM7X19uYWtlZCB2b2lkIG1heV9nb3RvX2ludGVyYWN0aW9uKHZvaWQpXG4ge1xuIFx0YXNtIHZvbGF0aWxlIChcbiBcdFwmIzM0O3IxID0gMTtcJiMzNDtcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuaW5kZXggNGJkZjQyNTZhNDFlNTEuLjBlMjExZjAzMGQwZDdhIDEwMDY0NFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuQEAgLTExLDYgJiM0MzsxMSw3IEBAIF9fZGVzY3JpcHRpb24oXCYjMzQ7bWF5X2dvdG8gMFwmIzM0OylcbiBfX2FyY2hfeDg2XzY0XG4gX19hcmNoX3MzOTB4XG4gX19hcmNoX2FybTY0XG4mIzQzO19fYXJjaF9yaXNjdjY0XG4gX194bGF0ZWQoXCYjMzQ7MDogcjAgPSAxXCYjMzQ7KVxuIF9feGxhdGVkKFwmIzM0OzE6IGV4aXRcJiMzNDspXG4gX19zdWNjZXNzXG5AQCAtMzEsNiAmIzQzOzMyLDcgQEAgX19kZXNjcmlwdGlvbihcJiMzNDtiYXRjaCAyIG9mIG1heV9nb3RvIDBcJiMzNDspXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuJiM0MztfX2FyY2hfcmlzY3Y2NFxuIF9feGxhdGVkKFwmIzM0OzA6IHIwID0gMVwmIzM0OylcbiBfX3hsYXRlZChcJiMzNDsxOiBleGl0XCYjMzQ7KVxuIF9fc3VjY2Vzc1xuQEAgLTUzLDYgJiM0Mzs1NSw3IEBAIF9fZGVzY3JpcHRpb24oXCYjMzQ7bWF5X2dvdG8gYmF0Y2ggd2l0aCBvZmZzZXRzIDIvMS8wXCYjMzQ7KVxuIF9fYXJjaF94ODZfNjRcbiBfX2FyY2hfczM5MHhcbiBfX2FyY2hfYXJtNjRcbiYjNDM7X19hcmNoX3Jpc2N2NjRcbiBfX3hsYXRlZChcJiMzNDswOiByMCA9IDFcJiMzNDspXG4gX194bGF0ZWQoXCYjMzQ7MTogZXhpdFwmIzM0OylcbiBfX3N1Y2Nlc3NcbkBAIC03OSw2ICYjNDM7ODIsNyBAQCBfX2Rlc2NyaXB0aW9uKFwmIzM0O21heV9nb3RvIGJhdGNoIHdpdGggb2Zmc2V0cyAyLzBcJiMzNDspXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuJiM0MztfX2FyY2hfcmlzY3Y2NFxuIF9feGxhdGVkKFwmIzM0OzA6ICoodTY0ICopKHIxMCAtMTYpID0gNjU1MzVcJiMzNDspXG4gX194bGF0ZWQoXCYjMzQ7MTogKih1NjQgKikocjEwIC04KSA9IDBcJiMzNDspXG4gX194bGF0ZWQoXCYjMzQ7MjogcjEyID0gKih1NjQgKikocjEwIC0xNilcJiMzNDspXG5AQCAtMTA2LDQgJiM0MzsxMTAsNjIgQEAgX19uYWtlZCB2b2lkIG1heV9nb3RvX2JhdGNoXzIodm9pZClcbiBcdDogX19jbG9iYmVyX2FsbCk7XG4gfVxuIFxuJiM0MzsvKlxuJiM0MzsgKiBVc2UgYnBmX2dldF9wcmFuZG9tX3UzMigpIHRvIHByZXZlbnQgRENFIGZyb20gcmVtb3ZpbmcgdGhlIGNoZWNrcy5cbiYjNDM7ICogcmV0dmFsOiAwPWFsbCBvaywgMS02PVIwLVI1IGNsb2JiZXJlZC5cbiYjNDM7ICovXG4mIzQzO1NFQyhcJiMzNDtzeXNjYWxsXCYjMzQ7KVxuJiM0MztfX2Rlc2NyaXB0aW9uKFwmIzM0O3RpbWVkIG1heV9nb3RvIHByZXNlcnZlcyBSMC1SNVwmIzM0OylcbiYjNDM7X19hcmNoX3g4Nl82NFxuJiM0MztfX2FyY2hfczM5MHhcbiYjNDM7X19hcmNoX2FybTY0XG4mIzQzO19fYXJjaF9yaXNjdjY0XG4mIzQzO19fc3VjY2Vzc1xuJiM0MztfX3JldHZhbCgwKVxuJiM0MztfX25ha2VkIHZvaWQgdGltZWRfbWF5X2dvdG9fcHJlc2VydmVzX3JlZ3Modm9pZClcbiYjNDM7e1xuJiM0MztcdGFzbSB2b2xhdGlsZSAoXG4mIzQzO1x0XCYjMzQ7Y2FsbCAlW2JwZl9nZXRfcHJhbmRvbV91MzJdO1wmIzM0O1xuJiM0MztcdFwmIzM0O3I2ID0gcjA7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7cjAgPSAweDExMTE7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7cjAgJiM0Mzs9IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3IxID0gMHgyMjIyO1wmIzM0O1xuJiM0MztcdFwmIzM0O3IxICYjNDM7PSByNjtcJiMzNDtcbiYjNDM7XHRcJiMzNDtyMiA9IDB4MzMzMztcJiMzNDtcbiYjNDM7XHRcJiMzNDtyMiAmIzQzOz0gcjY7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7cjMgPSAweDQ0NDQ7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7cjMgJiM0Mzs9IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3I0ID0gMHg1NTU1O1wmIzM0O1xuJiM0MztcdFwmIzM0O3I0ICYjNDM7PSByNjtcJiMzNDtcbiYjNDM7XHRcJiMzNDtyNSA9IDB4NjY2NjtcJiMzNDtcbiYjNDM7XHRcJiMzNDtyNSAmIzQzOz0gcjY7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7LjhieXRlICVbbWF5X2dvdG9dO1wmIzM0O1xuJiM0MztcdFwmIzM0Oy44Ynl0ZSAlW2xvb3BdO1wmIzM0O1xuJiM0MztcdFwmIzM0O3IwIC09IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3IxIC09IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3IyIC09IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3IzIC09IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3I0IC09IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O3I1IC09IHI2O1wmIzM0O1xuJiM0MztcdFwmIzM0O2lmIHIwICE9IDB4MTExMSBnb3RvIDFmO1wmIzM0O1xuJiM0MztcdFwmIzM0O2lmIHIxICE9IDB4MjIyMiBnb3RvIDJmO1wmIzM0O1xuJiM0MztcdFwmIzM0O2lmIHIyICE9IDB4MzMzMyBnb3RvIDNmO1wmIzM0O1xuJiM0MztcdFwmIzM0O2lmIHIzICE9IDB4NDQ0NCBnb3RvIDRmO1wmIzM0O1xuJiM0MztcdFwmIzM0O2lmIHI0ICE9IDB4NTU1NSBnb3RvIDVmO1wmIzM0O1xuJiM0MztcdFwmIzM0O2lmIHI1ICE9IDB4NjY2NiBnb3RvIDZmO1wmIzM0O1xuJiM0MztcdFwmIzM0O3IwID0gMDtcJiMzNDtcbiYjNDM7XHRcJiMzNDtleGl0O1wmIzM0O1xuJiM0MztcdFwmIzM0OzE6IHIwID0gMTsgZXhpdDtcJiMzNDtcbiYjNDM7XHRcJiMzNDsyOiByMCA9IDI7IGV4aXQ7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7MzogcjAgPSAzOyBleGl0O1wmIzM0O1xuJiM0MztcdFwmIzM0OzQ6IHIwID0gNDsgZXhpdDtcJiMzNDtcbiYjNDM7XHRcJiMzNDs1OiByMCA9IDU7IGV4aXQ7XCYjMzQ7XG4mIzQzO1x0XCYjMzQ7NjogcjAgPSA2OyBleGl0O1wmIzM0O1xuJiM0MztcdDpcbiYjNDM7XHQ6IF9faW1tKGJwZl9nZXRfcHJhbmRvbV91MzIpLFxuJiM0MztcdCAgX19pbW1faW5zbihtYXlfZ290bywgQlBGX1JBV19JTlNOKEJQRl9KTVAgfCBCUEZfSkNPTkQsIDAsIDAsIDEsIDApKSxcbiYjNDM7XHQgIF9faW1tX2luc24obG9vcCwgQlBGX1JBV19JTlNOKEJQRl9KTVAgfCBCUEZfSkEsIDAsIDAsIC0yLCAwKSlcbiYjNDM7XHQ6IF9fY2xvYmJlcl9hbGwpO1xuJiM0Mzt9XG4mIzQzO1xuIGNoYXIgX2xpY2Vuc2VbXSBTRUMoXCYjMzQ7bGljZW5zZVwmIzM0OykgPSBcJiMzNDtHUExcJiMzNDs7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjQgMTA6MDI8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGltcGxlbWVudHMgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBpbnN0cnVjdGlvbiBmb3IgdGhlIFJJU0MtViBCUEYgSklUIGNvbXBpbGVyLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIEJQRiBKSVQgbG9naWMgb24gUklTQy1WIGFuZCBpcyByZWFjaGFibGUgd2hlbiBsb2FkaW5nIEJQRiBwcm9ncmFtcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgODc4NzUzMzFjMDA5ZTQxYzVhOWRmZGY5NmRkMDFkNzJkZjc1OWJlYgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgSnVsIDI0IDEwOjAyOjA1IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUgYi9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZQppbmRleCA5YTFlNWYwYTk0ZTU1OS4uNjQ1OGQ0ZDUxOTkwYTcgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlCiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlCkBAIC0zLDcgJiM0MzszLDcgQEAKIG9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb3JlLm8KIAogaWZlcSAoJChDT05GSUdfQVJDSF9SVjY0SSkseSkKLQlvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDY0Lm8KJiM0MzsJb2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSBicGZfaml0X2NvbXA2NC5vIGJwZl90aW1lZF9tYXlfZ290by5vCiBlbHNlCiAJb2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSBicGZfaml0X2NvbXAzMi5vCiBlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYyBiL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMKaW5kZXggYWQwODlhOWE0ZWE5YWMuLjhmZTg5NjlmYjhhMGY4IDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jCiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMKQEAgLTE4NDEsNyAmIzQzOzE4NDEsMTIgQEAgaW50IGJwZl9qaXRfZW1pdF9pbnNuKGNvbnN0IHN0cnVjdCBicGZfaW5zbiAqaW5zbiwgc3RydWN0IHJ2X2ppdF9jb250ZXh0ICpjdHgsCiAJCWlmIChhdXgtJmd0O3RhaWxfY2FsbF9yZWFjaGFibGUgJmFtcDsmYW1wOyBpbnNuLSZndDtzcmNfcmVnID09IEJQRl9QU0VVRE9fQ0FMTCkKIAkJCWVtaXRfc2QoUlZfUkVHX1NQLCBjdHgtJmd0O3RjY19vZmZzZXQsIFJWX1JFR19UQ0MsIGN0eCk7CiAKLQkJaWYgKGluc24tJmd0O3NyY19yZWcgIT0gQlBGX1BTRVVET19DQUxMKQomIzQzOwkJLyoKJiM0MzsJCSAqIGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKCkgaXMgZW1pdHRlZCBieSB0aGUgdmVyaWZpZXIgYW5kCiYjNDM7CQkgKiByZXR1cm5zIGl0cyByZXN1bHQgaW4gQlBGX1JFR19BWCBpbnN0ZWFkIG9mIEJQRl9SRUdfMCwgc28KJiM0MzsJCSAqIHNraXAgdGhlIG5vcm1hbCAmIzM0O21vdmUgcmV0dXJuIHJlZ2lzdGVyIGludG8gUjAmIzM0Oy4KJiM0MzsJCSAqLwomIzQzOwkJaWYgKGluc24tJmd0O3NyY19yZWcgIT0gQlBGX1BTRVVET19DQUxMICZhbXA7JmFtcDsgYWRkciAhPSAodTY0KWFyY2hfYnBmX3RpbWVkX21heV9nb3RvKQogCQkJZW1pdF9tdihicGZfdG9fcnZfcmVnKEJQRl9SRUdfMCwgY3R4KSwgUlZfUkVHX0EwLCBjdHgpOwogCQlicmVhazsKIAl9CkBAIC0yMTYxLDMgJiM0MzsyMTY2LDggQEAgYm9vbCBicGZfaml0X3N1cHBvcnRzX3N1YnByb2dfdGFpbGNhbGxzKHZvaWQpCiB7CiAJcmV0dXJuIHRydWU7CiB9CiYjNDM7CiYjNDM7Ym9vbCBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvKHZvaWQpCiYjNDM7ewomIzQzOwlyZXR1cm4gdHJ1ZTsKJiM0Mzt9CmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUyBiL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi4wMmM2MzdkODc0MjA1YQotLS0gL2Rldi9udWxsCiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TCkBAIC0wLDAgJiM0MzsxLDQ3IEBACiYjNDM7LyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8KJiM0MzsvKiBDb3B5cmlnaHQgKGMpIDIwMjYgRmVuZyBKaWFuZyAmbHQ7amlhbmdmZW5nQGt5bGlub3MuY24mZ3Q7ICovCiYjNDM7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2xpbmthZ2UuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7YXNtL2FzbS5oJmd0OwomIzQzOwomIzQzOy8qCiYjNDM7ICogVHJhbXBvbGluZSBmb3IgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBsb29wIGJvdW5kLiBDdXN0b20gY2FsbGluZyBjb252ZW50aW9uOgomIzQzOyAqCS0gaW5wdXQ6ICBzdGFjayBvZmZzZXQgaW4gQlBGX1JFR19BWCAodDApCiYjNDM7ICoJLSBvdXRwdXQ6IHVwZGF0ZWQgY291bnQgaW4gQlBGX1JFR19BWCAodDApCiYjNDM7ICoKJiM0MzsgKiBDYWxscyBicGZfY2hlY2tfdGltZWRfbWF5X2dvdG8ocHRyKSB3aXRoIHRoZSBzdGFuZGFyZCBSSVNDLVYgQUJJLCB3aGVyZQomIzQzOyAqIHB0ciA9IEJQRl9SRUdfRlAgKHM1KSAmIzQzOyBCUEZfUkVHX0FYICh0MCkuIEJQRiBSMC1SNSAoYTUsIGEwLWE0KSBhcmUgc2F2ZWQKJiM0MzsgKiBhY3Jvc3MgdGhlIGNhbGw7IEJQRl9SRUdfRlAgKHM1KSBpcyBjYWxsZWUtc2F2ZWQgYW5kIG5lZWRzIG5vIHNhdmluZy4KJiM0MzsgKi8KJiM0MzsKJiM0MztTWU1fRlVOQ19TVEFSVChhcmNoX2JwZl90aW1lZF9tYXlfZ290bykKJiM0MzsJYWRkaQlzcCwgc3AsIC0oOCpTWlJFRykKJiM0MzsJUkVHX1MJcmEsIDcqU1pSRUcoc3ApCiYjNDM7CVJFR19TCXMwLCA2KlNaUkVHKHNwKQomIzQzOwlhZGRpCXMwLCBzcCwgOCpTWlJFRwomIzQzOwomIzQzOwkvKiBTYXZlIEJQRiByZWdpc3RlcnMgUjAtUjUgKGE1LCBhMC1hNCkgKi8KJiM0MzsJUkVHX1MJYTUsIDUqU1pSRUcoc3ApCiYjNDM7CVJFR19TCWEwLCA0KlNaUkVHKHNwKQomIzQzOwlSRUdfUwlhMSwgMypTWlJFRyhzcCkKJiM0MzsJUkVHX1MJYTIsIDIqU1pSRUcoc3ApCiYjNDM7CVJFR19TCWEzLCAxKlNaUkVHKHNwKQomIzQzOwlSRUdfUwlhNCwgMCpTWlJFRyhzcCkKJiM0MzsKJiM0MzsJYWRkCWEwLCB0MCwgczUKJiM0MzsJY2FsbAlicGZfY2hlY2tfdGltZWRfbWF5X2dvdG8KJiM0MzsJbXYJdDAsIGEwCiYjNDM7CiYjNDM7CS8qIFJlc3RvcmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAqLwomIzQzOwlSRUdfTAlhNCwgMCpTWlJFRyhzcCkKJiM0MzsJUkVHX0wJYTMsIDEqU1pSRUcoc3ApCiYjNDM7CVJFR19MCWEyLCAyKlNaUkVHKHNwKQomIzQzOwlSRUdfTAlhMSwgMypTWlJFRyhzcCkKJiM0MzsJUkVHX0wJYTAsIDQqU1pSRUcoc3ApCiYjNDM7CVJFR19MCWE1LCA1KlNaUkVHKHNwKQomIzQzOwomIzQzOwlSRUdfTAlzMCwgNipTWlJFRyhzcCkKJiM0MzsJUkVHX0wJcmEsIDcqU1pSRUcoc3ApCiYjNDM7CWFkZGkJc3AsIHNwLCA4KlNaUkVHCiYjNDM7CXJldAomIzQzO1NZTV9GVU5DX0VORChhcmNoX2JwZl90aW1lZF9tYXlfZ290bykKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uYwppbmRleCA5MmJhMWQ3MmUwZWNlNC4uOGQ4ZTUzZDM3MjY2Y2QgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uYwomIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmMKQEAgLTY0LDYgJiM0Mzs2NCw3IEBAIFNFQygmIzM0O3N5c2NhbGwmIzM0OykKIF9fYXJjaF94ODZfNjQKIF9fYXJjaF9hcm02NAogX19hcmNoX3MzOTB4CiYjNDM7X19hcmNoX3Jpc2N2NjQKIF9fc3VjY2VzcyBfX3JldHZhbCgwKQogX19zdGRlcnIoJiMzNDtFUlJPUjogVGltZW91dCBkZXRlY3RlZCBmb3IgbWF5X2dvdG8gaW5zdHJ1Y3Rpb24mIzM0OykKIF9fc3RkZXJyKCYjMzQ7Q1BVOiB7e1swLTldJiM0Mzt9fSBVSUQ6IDAgUElEOiB7e1swLTldJiM0Mzt9fSBDb21tOiB7ey4qfX0mIzM0OykKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuYwppbmRleCA4ZDdmZjM4ZTRjMDY5Ny4uODM3MDdmYWVhMDQ5OTQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuYwomIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmMKQEAgLTY2MCw2ICYjNDM7NjYwLDcgQEAgX19uYWtlZCB2b2lkIG1heV9nb3RvX2ludGVyYWN0aW9uX3g4Nl82NCh2b2lkKQogCiBTRUMoJiMzNDtyYXdfdHAmIzM0OykKIF9fYXJjaF9hcm02NAomIzQzO19fYXJjaF9yaXNjdjY0CiBfX2xvZ19sZXZlbCg0KSBfX21zZygmIzM0O3N0YWNrIGRlcHRoIDI0JiMzNDspCiAvKiBtYXlfZ290byBjb3VudGVyIGF0IC0yNCAqLwogX194bGF0ZWQoJiMzNDswOiAqKHU2NCAqKShyMTAgLTI0KSA9JiMzNDspCkBAIC02NzksNyAmIzQzOzY4MCw3IEBAIF9feGxhdGVkKCYjMzQ7MTA6ICoodTY0ICopKHIxMCAtMjQpID0gcjEyJiMzNDspCiBfX3hsYXRlZCgmIzM0OzExOiAqKHU2NCAqKShyMTAgLTgpID0gcjEmIzM0OykKIF9feGxhdGVkKCYjMzQ7MTI6IGV4aXQmIzM0OykKIF9fc3VjY2VzcwotX19uYWtlZCB2b2lkIG1heV9nb3RvX2ludGVyYWN0aW9uX2FybTY0KHZvaWQpCiYjNDM7X19uYWtlZCB2b2lkIG1heV9nb3RvX2ludGVyYWN0aW9uKHZvaWQpCiB7CiAJYXNtIHZvbGF0aWxlICgKIAkmIzM0O3IxID0gMTsmIzM0OwpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmMKaW5kZXggNGJkZjQyNTZhNDFlNTEuLjBlMjExZjAzMGQwZDdhIDEwMDY0NAotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmMKQEAgLTExLDYgJiM0MzsxMSw3IEBAIF9fZGVzY3JpcHRpb24oJiMzNDttYXlfZ290byAwJiMzNDspCiBfX2FyY2hfeDg2XzY0CiBfX2FyY2hfczM5MHgKIF9fYXJjaF9hcm02NAomIzQzO19fYXJjaF9yaXNjdjY0CiBfX3hsYXRlZCgmIzM0OzA6IHIwID0gMSYjMzQ7KQogX194bGF0ZWQoJiMzNDsxOiBleGl0JiMzNDspCiBfX3N1Y2Nlc3MKQEAgLTMxLDYgJiM0MzszMiw3IEBAIF9fZGVzY3JpcHRpb24oJiMzNDtiYXRjaCAyIG9mIG1heV9nb3RvIDAmIzM0OykKIF9fYXJjaF94ODZfNjQKIF9fYXJjaF9zMzkweAogX19hcmNoX2FybTY0CiYjNDM7X19hcmNoX3Jpc2N2NjQKIF9feGxhdGVkKCYjMzQ7MDogcjAgPSAxJiMzNDspCiBfX3hsYXRlZCgmIzM0OzE6IGV4aXQmIzM0OykKIF9fc3VjY2VzcwpAQCAtNTMsNiAmIzQzOzU1LDcgQEAgX19kZXNjcmlwdGlvbigmIzM0O21heV9nb3RvIGJhdGNoIHdpdGggb2Zmc2V0cyAyLzEvMCYjMzQ7KQogX19hcmNoX3g4Nl82NAogX19hcmNoX3MzOTB4CiBfX2FyY2hfYXJtNjQKJiM0MztfX2FyY2hfcmlzY3Y2NAogX194bGF0ZWQoJiMzNDswOiByMCA9IDEmIzM0OykKIF9feGxhdGVkKCYjMzQ7MTogZXhpdCYjMzQ7KQogX19zdWNjZXNzCkBAIC03OSw2ICYjNDM7ODIsNyBAQCBfX2Rlc2NyaXB0aW9uKCYjMzQ7bWF5X2dvdG8gYmF0Y2ggd2l0aCBvZmZzZXRzIDIvMCYjMzQ7KQogX19hcmNoX3g4Nl82NAogX19hcmNoX3MzOTB4CiBfX2FyY2hfYXJtNjQKJiM0MztfX2FyY2hfcmlzY3Y2NAogX194bGF0ZWQoJiMzNDswOiAqKHU2NCAqKShyMTAgLTE2KSA9IDY1NTM1JiMzNDspCiBfX3hsYXRlZCgmIzM0OzE6ICoodTY0ICopKHIxMCAtOCkgPSAwJiMzNDspCiBfX3hsYXRlZCgmIzM0OzI6IHIxMiA9ICoodTY0ICopKHIxMCAtMTYpJiMzNDspCkBAIC0xMDYsNCAmIzQzOzExMCw2MiBAQCBfX25ha2VkIHZvaWQgbWF5X2dvdG9fYmF0Y2hfMih2b2lkKQogCTogX19jbG9iYmVyX2FsbCk7CiB9CiAKJiM0MzsvKgomIzQzOyAqIFVzZSBicGZfZ2V0X3ByYW5kb21fdTMyKCkgdG8gcHJldmVudCBEQ0UgZnJvbSByZW1vdmluZyB0aGUgY2hlY2tzLgomIzQzOyAqIHJldHZhbDogMD1hbGwgb2ssIDEtNj1SMC1SNSBjbG9iYmVyZWQuCiYjNDM7ICovCiYjNDM7U0VDKCYjMzQ7c3lzY2FsbCYjMzQ7KQomIzQzO19fZGVzY3JpcHRpb24oJiMzNDt0aW1lZCBtYXlfZ290byBwcmVzZXJ2ZXMgUjAtUjUmIzM0OykKJiM0MztfX2FyY2hfeDg2XzY0CiYjNDM7X19hcmNoX3MzOTB4CiYjNDM7X19hcmNoX2FybTY0CiYjNDM7X19hcmNoX3Jpc2N2NjQKJiM0MztfX3N1Y2Nlc3MKJiM0MztfX3JldHZhbCgwKQomIzQzO19fbmFrZWQgdm9pZCB0aW1lZF9tYXlfZ290b19wcmVzZXJ2ZXNfcmVncyh2b2lkKQomIzQzO3sKJiM0MzsJYXNtIHZvbGF0aWxlICgKJiM0MzsJJiMzNDtjYWxsICVbYnBmX2dldF9wcmFuZG9tX3UzMl07JiMzNDsKJiM0MzsJJiMzNDtyNiA9IHIwOyYjMzQ7CiYjNDM7CSYjMzQ7cjAgPSAweDExMTE7JiMzNDsKJiM0MzsJJiMzNDtyMCAmIzQzOz0gcjY7JiMzNDsKJiM0MzsJJiMzNDtyMSA9IDB4MjIyMjsmIzM0OwomIzQzOwkmIzM0O3IxICYjNDM7PSByNjsmIzM0OwomIzQzOwkmIzM0O3IyID0gMHgzMzMzOyYjMzQ7CiYjNDM7CSYjMzQ7cjIgJiM0Mzs9IHI2OyYjMzQ7CiYjNDM7CSYjMzQ7cjMgPSAweDQ0NDQ7JiMzNDsKJiM0MzsJJiMzNDtyMyAmIzQzOz0gcjY7JiMzNDsKJiM0MzsJJiMzNDtyNCA9IDB4NTU1NTsmIzM0OwomIzQzOwkmIzM0O3I0ICYjNDM7PSByNjsmIzM0OwomIzQzOwkmIzM0O3I1ID0gMHg2NjY2OyYjMzQ7CiYjNDM7CSYjMzQ7cjUgJiM0Mzs9IHI2OyYjMzQ7CiYjNDM7CSYjMzQ7LjhieXRlICVbbWF5X2dvdG9dOyYjMzQ7CiYjNDM7CSYjMzQ7LjhieXRlICVbbG9vcF07JiMzNDsKJiM0MzsJJiMzNDtyMCAtPSByNjsmIzM0OwomIzQzOwkmIzM0O3IxIC09IHI2OyYjMzQ7CiYjNDM7CSYjMzQ7cjIgLT0gcjY7JiMzNDsKJiM0MzsJJiMzNDtyMyAtPSByNjsmIzM0OwomIzQzOwkmIzM0O3I0IC09IHI2OyYjMzQ7CiYjNDM7CSYjMzQ7cjUgLT0gcjY7JiMzNDsKJiM0MzsJJiMzNDtpZiByMCAhPSAweDExMTEgZ290byAxZjsmIzM0OwomIzQzOwkmIzM0O2lmIHIxICE9IDB4MjIyMiBnb3RvIDJmOyYjMzQ7CiYjNDM7CSYjMzQ7aWYgcjIgIT0gMHgzMzMzIGdvdG8gM2Y7JiMzNDsKJiM0MzsJJiMzNDtpZiByMyAhPSAweDQ0NDQgZ290byA0ZjsmIzM0OwomIzQzOwkmIzM0O2lmIHI0ICE9IDB4NTU1NSBnb3RvIDVmOyYjMzQ7CiYjNDM7CSYjMzQ7aWYgcjUgIT0gMHg2NjY2IGdvdG8gNmY7JiMzNDsKJiM0MzsJJiMzNDtyMCA9IDA7JiMzNDsKJiM0MzsJJiMzNDtleGl0OyYjMzQ7CiYjNDM7CSYjMzQ7MTogcjAgPSAxOyBleGl0OyYjMzQ7CiYjNDM7CSYjMzQ7MjogcjAgPSAyOyBleGl0OyYjMzQ7CiYjNDM7CSYjMzQ7MzogcjAgPSAzOyBleGl0OyYjMzQ7CiYjNDM7CSYjMzQ7NDogcjAgPSA0OyBleGl0OyYjMzQ7CiYjNDM7CSYjMzQ7NTogcjAgPSA1OyBleGl0OyYjMzQ7CiYjNDM7CSYjMzQ7NjogcjAgPSA2OyBleGl0OyYjMzQ7CiYjNDM7CToKJiM0MzsJOiBfX2ltbShicGZfZ2V0X3ByYW5kb21fdTMyKSwKJiM0MzsJICBfX2ltbV9pbnNuKG1heV9nb3RvLCBCUEZfUkFXX0lOU04oQlBGX0pNUCB8IEJQRl9KQ09ORCwgMCwgMCwgMSwgMCkpLAomIzQzOwkgIF9faW1tX2luc24obG9vcCwgQlBGX1JBV19JTlNOKEJQRl9KTVAgfCBCUEZfSkEsIDAsIDAsIC0yLCAwKSkKJiM0MzsJOiBfX2Nsb2JiZXJfYWxsKTsKJiM0Mzt9CiYjNDM7CiBjaGFyIF9saWNlbnNlW10gU0VDKCYjMzQ7bGljZW5zZSYjMzQ7KSA9ICYjMzQ7R1BMJiMzNDs7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDEwOjAyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDUxNDkKCQkJCQkJCW91dHB1dDogNDYKCQkJCQkJCXRob3VnaHRzOiAzOTAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBSSVNDLVYgQlBGIFRpbWVkIE1heS1Hb3RvIFBhdGNoKioKCk9rYXksIHNvIHdlJiMzOTt2ZSBnb3QgYSBwYXRjaCBoZXJlIHRoYXQmIzM5O3MgYWRkaW5nIHN1cHBvcnQgZm9yIGBCUEYgdGltZWRfbWF5X2dvdG9gIG9uIFJJU0MtVi4gVGhhdCYjMzk7cyBpbnRlcmVzdGluZywgYSBnb29kIHBlcmZvcm1hbmNlIGVuaGFuY2VtZW50LiBMZXQmIzM5O3Mgc2VlIHdoYXQmIzM5O3MgY2hhbmdlZC4gTG9va3MgbGlrZSB3ZSBoYXZlIG1vZGlmaWNhdGlvbnMgdG8gdGhlIG1ha2VmaWxlIGFuZCBzb21lIGNvcmUgQlBGIEpJVCBjb21waWxhdGlvbiBhbmQgdGVzdGluZyBmaWxlcy4gU3BlY2lmaWNhbGx5LCB3ZSBoYXZlIGNoYW5nZXMgdG8gYGFyY2gvcmlzY3YvbmV0L01ha2VmaWxlYCwgYGFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNgLCBgYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlNgLCBhbmQgc29tZSBzZWxmdGVzdHMuCgpUaGlzIHBhdGNoIGlzIGVzc2VudGlhbGx5IGltcGxlbWVudGluZyBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gIGluIGFzc2VtYmx5IGZvciBSSVNDLVYgYW5kIGhvb2tpbmcgaXQgaW50byB0aGUgQlBGIEpJVCBjb21waWxlci4gVGhhdCYjMzk7cyBhIGRpcmVjdCBhcmNoaXRlY3R1cmFsIG1vZGlmaWNhdGlvbiwgc28gd2UgbmVlZCB0byBiZSBjYXJlZnVsLiBJdOKAmXMgbW9kaWZ5aW5nIHRoZSBSSVNDLVYgQlBGIEpJVCBjb21waWxlcjsgdGhpcyBpcyBmdW5jdGlvbmFsIGNvZGUsIGFuZCB0aGVyZWZvcmUgbmVlZHMgdG8gYmUgY2FyZWZ1bGx5IHNjcnV0aW5pemVkLgoKQWxyaWdodCwgbGV0JiMzOTtzIGRyaWxsIGRvd24gaW50byBgYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY2Agc3BlY2lmaWNhbGx5LiBJIHNlZSB0aGF0IHRoZSBwYXRjaCBtb2RpZmllcyBgYnBmX2ppdF9lbWl0X2luc25gLiBBbHNvLCB0aGUgaW50cm9kdWN0aW9uIG9mIGEgbmV3IGZ1bmN0aW9uLCBgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b2AsIGFuZCBvZiBjb3Vyc2UgdGhlIGFzc2VtYmx5IGZ1bmN0aW9uIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AuIFRoYXQgYXNzZW1ibHkgZnVuY3Rpb24gaXMga2V5LgoKTm93LCB0aGUgcHJvbXB0IHNwZWNpZmljYWxseSBjYWxscyBvdXQgdGhhdCBpZiBhIHBhdGNoIG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgd2UgbmVlZCB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLiBDb25zaWRlcmluZyBpdCBpcyBhcmNoaXRlY3R1cmUgY29kZSwgbGV0JiMzOTtzIHVzZSB0aGUgY29kZSBzZWFyY2ggdG9vbHMgdG8gZXhhbWluZSBgYnBmX2ppdF9lbWl0X2luc25gIGFuZCBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gLiBUaGlzIGlzIHRoZSBwb2ludCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGlzIGNoYW5nZSBpcyB3b3J0aCBmdXp6aW5nLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDEwOjAyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2JwZl9qaXRfZW1pdF9pbnNuJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDthcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jPTEzMjQ9aW50IGFyY2hfcHJlcGFyZV9icGZfdHJhbXBvbGluZShzdHJ1Y3QgYnBmX3RyYW1wX2ltYWdlICppbSwgdm9pZCAqcm9faW1hZ2UsXG4tLVxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xMzYwLVxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYzoxMzYxOmludCBicGZfaml0X2VtaXRfaW5zbihjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24sIHN0cnVjdCBydl9qaXRfY29udGV4dCAqY3R4LFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xMzYyLVx0XHQgICAgICBib29sIGV4dHJhX3Bhc3MpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjQgMTA6MDI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNjE3MAoJCQkJCQkJb3V0cHV0OiAyNgoJCQkJCQkJdGhvdWdodHM6IDE4NQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipFeGFtaW5pbmcgdGhlIEtlcm5lbCBDb25maWd1cmF0aW9uIGZvciBCUEYgSklUIFN1cHBvcnQgb24gUklTQy1WKioKCk9rYXksIGxldCYjMzk7cyBkaXZlIGludG8gdGhpcyBjb25maWd1cmF0aW9uIHNpdHVhdGlvbi4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIHBpbnBvaW50IHRoZSBuZWNlc3Nhcnkga2VybmVsIGNvbmZpZyBvcHRpb25zIGZvciB0aGUgQlBGIEpJVCBjb21waWxlciBvbiBSSVNDLVYuIEZpcnN0LCBgQ09ORklHX0JQRl9KSVRgIHNlZW1zIGxpa2UgYSBnaXZlbiwgYSBzdGFuZGFyZCByZXF1aXJlbWVudCBmb3IgZW5hYmxpbmcgdGhlIEJQRiBKSVQgaW4gYW55IGFyY2hpdGVjdHVyZS4gVGhlbiBJIG5lZWQgdG8gZmlndXJlIG91dCB3aGljaCBSSVNDLVYgYXJjaGl0ZWN0dXJlIG9wdGlvbnMgYXJlIG5lZWRlZC4gSXQgc2VlbXMgbGlrZSBlaXRoZXIgYENPTkZJR19BUkNIX1JWNjRJYCBvciBgQ09ORklHX1JJU0NWYCBzaG91bGQgZG8gaXQuIEJ1dCBsZXQmIzM5O3MgdmVyaWZ5LgoKQWgsIGhlcmUgaXMgYSBjbHVlISBUaGUgcGF0Y2ggbW9kaWZpZXMgYGFyY2gvcmlzY3YvbmV0L01ha2VmaWxlYC4gSSB3aWxsIHZlcmlmeS4KCmBgYG1ha2VmaWxlCmlmZXEgKCQoQ09ORklHX0FSQ0hfUlY2NEkpLHkpCglvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDY0Lm8gYnBmX3RpbWVkX21heV9nb3RvLm8KYGBgCgpTbywgdGhlIGRlcGVuZGVuY3kgaXMgY2xlYXI6IEkgbmVlZCAqYm90aCogYENPTkZJR19CUEZfSklUYCBhbmQgYENPTkZJR19BUkNIX1JWNjRJYC4gSSB3YXMgcmlnaHQsIGJ1dCBpdCYjMzk7cyBnb29kIHRvIGNvbmZpcm0uIEJ1dCB0aGF0IGlzIHRoZSAqb25seSogZGVwZW5kZW5jeS4gV2FpdCwgSSYjMzk7bSB0aGlua2luZyBvZiB0aGlzIHRoZSB3cm9uZyB3YXk7IGl0JiMzOTtzIGBDT05GSUdfQlBGX0pJVGAgdGhhdCYjMzk7cyB0aGUgbW9yZSBnZW5lcmFsIGZsYWcuCgpJIHdvbmRlciBpZiB0aGVyZSBhcmUgYW55IG90aGVyIHJlbGF0ZWQgY29uZmlndXJhdGlvbnMuIEkgc2hvdWxkIHByb2JhYmx5IHNjYW4gYGFyY2gvcmlzY3YvS2NvbmZpZ2AgYW5kIGBuZXQvYnBmL0tjb25maWdgIHRvIGVuc3VyZSBJIGhhdmVuJiMzOTt0IG1pc3NlZCBhbnl0aGluZyBjcnVjaWFsLiBKdXN0IGEgcXVpY2sgY2hlY2sgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgc3VidGxlIGludGVyZGVwZW5kZW5jaWVzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDEwOjAyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBCUEZfSklUJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7JiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2tlcm5lbC9icGYvS2NvbmZpZz0yNz1jb25maWcgQlBGX1NZU0NBTExcbi0tXG5rZXJuZWwvYnBmL0tjb25maWctNDEtXG5rZXJuZWwvYnBmL0tjb25maWc6NDI6Y29uZmlnIEJQRl9KSVRcbmtlcm5lbC9icGYvS2NvbmZpZy00My1cdGJvb2wgXCYjMzQ7RW5hYmxlIEJQRiBKdXN0IEluIFRpbWUgY29tcGlsZXJcJiMzNDtcbi0tXG5rZXJuZWwvYnBmL0tjb25maWctNTctXG5rZXJuZWwvYnBmL0tjb25maWc6NTg6Y29uZmlnIEJQRl9KSVRfQUxXQVlTX09OXG5rZXJuZWwvYnBmL0tjb25maWctNTktXHRib29sIFwmIzM0O1Blcm1hbmVudGx5IGVuYWJsZSBCUEYgSklUIGFuZCByZW1vdmUgQlBGIGludGVycHJldGVyXCYjMzQ7XG4tLVxua2VybmVsL2JwZi9LY29uZmlnLTY4LVxua2VybmVsL2JwZi9LY29uZmlnOjY5OmNvbmZpZyBCUEZfSklUX0RFRkFVTFRfT05cbmtlcm5lbC9icGYvS2NvbmZpZy03MC1cdGRlZl9ib29sIEFSQ0hfV0FOVF9ERUZBVUxUX0JQRl9KSVQgfHwgQlBGX0pJVF9BTFdBWVNfT05cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yNCAxMDowMjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2OTYwCgkJCQkJCQlvdXRwdXQ6IDM3CgkJCQkJCQl0aG91Z2h0czogMjM2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEJQRiBKSVQgRnV6emluZyBTdHJhdGVneSoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGFkZHMgYGJwZl90aW1lZF9tYXlfZ290b2Agc3VwcG9ydCB0byB0aGUgUklTQy1WIEJQRiBKSVQsIHdoaWNoIGlzIGdyZWF0LiBJdCYjMzk7cyBkZWZpbml0ZWx5IGZ1bmN0aW9uYWwsIGFuZCBJIGtub3cgdGhhdCBtZWFucyBpdCBuZWVkcyBzb21lIHNlcmlvdXMgZnV6emluZy4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGZvY3VzIG9uIGBicGZfaml0X2VtaXRfaW5zbmAgYW5kIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AuIFdhaXQsIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgaXMgYXNzZW1ibHksIGh1aD8gU3l6a2FsbGVyIGRvZXNuJiMzOTt0IHVzdWFsbHkgaG9vayBhc3NlbWJseSBkaXJlY3RseS4gQnV0IGBicGZfaml0X2VtaXRfaW5zbmAgaXMgYSBDIGZ1bmN0aW9uLCB0aGF0JiMzOTtzIHdoYXQgSSB3YW50LgoKTGV0IG1lIHRoaW5r4oCmIGlzIGBicGZfaml0X2VtaXRfaW5zbmAgcmVhbGx5IGEgZ29vZCB0YXJnZXQ/IEl0JiMzOTtzIHRoZSBtYWluIGluc3RydWN0aW9uIGVtaXNzaW9uIGZ1bmN0aW9uIGZvciB0aGUgSklULCBzbyBpdCBtaWdodCBiZSBoZWF2aWx5IHVzZWQgZHVyaW5nIEJQRiBwcm9ncmFtIGxvYWQuIEFoLCBidXQgaXQmIzM5O3MgKnNwZWNpZmljKiB0byB0aGUgQlBGIEpJVC4gVGhhdCBtYWtlcyBpdCBnb29kIGZvciBmdXp6aW5nIHNpbmNlIGl04oCZcyBpbiB0aGUgY3JpdGljYWwgcGF0aC4KCkFjdHVhbGx5LCBJ4oCZbSByZWFsaXppbmcgYGJwZl9qaXRfZW1pdF9pbnNuYCBpcyBjYWxsZWQgZm9yIGV2ZXJ5IHNpbmdsZSBCUEYgaW5zdHJ1Y3Rpb24gZHVyaW5nIEpJVCBjb21waWxhdGlvbi4gKlRoYXQmIzM5O3MqIGEganVpY3kgdGFyZ2V0IGZvciBCUEYgZnV6emluZy4gRXZlcnkgaW5zdHJ1Y3Rpb24gd2lsbCBnbyB0aHJvdWdoIHRoYXQgcGF0aC4gR3JlYXQuIEkgYWxzbyBuZWVkIHRvIG1ha2UgYSBub3RlIG9mIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYC4gSSBzaG91bGQgcHJvYmFibHkgY2hlY2sgaWYgdGhlcmUgYXJlIG90aGVyIGZ1bmN0aW9ucyBpbnZvbHZlZCBoZXJlIHRvbywganVzdCB0byBiZSBzdXJlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDEwOjAyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2FyY2hfYnBmX3RpbWVkX21heV9nb3RvJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC9yaXNjdi9uZXQvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM9MTM2MT1pbnQgYnBmX2ppdF9lbWl0X2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICppbnNuLCBzdHJ1Y3QgcnZfaml0X2NvbnRleHQgKmN0eCxcbi0tXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTE4NDQtXHRcdC8qXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jOjE4NDU6XHRcdCAqIGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKCkgaXMgZW1pdHRlZCBieSB0aGUgdmVyaWZpZXIgYW5kXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTE4NDYtXHRcdCAqIHJldHVybnMgaXRzIHJlc3VsdCBpbiBCUEZfUkVHX0FYIGluc3RlYWQgb2YgQlBGX1JFR18wLCBzb1xuLS1cbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMTg0OC1cdFx0ICovXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jOjE4NDk6XHRcdGlmIChpbnNuLVx1MDAzZXNyY19yZWcgIT0gQlBGX1BTRVVET19DQUxMIFx1MDAyNlx1MDAyNiBhZGRyICE9ICh1NjQpYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTE4NTAtXHRcdFx0ZW1pdF9tdihicGZfdG9fcnZfcmVnKEJQRl9SRUdfMCwgY3R4KSwgUlZfUkVHX0EwLCBjdHgpO1xuLS1cbmFyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TLTE2LVxuYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlM6MTc6U1lNX0ZVTkNfU1RBUlQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUy0xOC1cdGFkZGlcdHNwLCBzcCwgLSg4KlNaUkVHKVxuLS1cbmFyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TLTQ2LVx0cmV0XG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUzo0NzpTWU1fRlVOQ19FTkQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjQgMTA6MDI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogODA0OAoJCQkJCQkJb3V0cHV0OiAxMTAKCQkJCQkJCXRob3VnaHRzOiAyNDkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudCBvZiB0aGUgUklTQy1WIEJQRiBKSVQgUGF0Y2gqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGBicGZfdGltZWRfbWF5X2dvdG8uU2AsIGNvbnRhaW5pbmcgYGFyY2hfYnBmX3RpbWVkX21heV9nb3RvYC4gVGhhdCYjMzk7cyB0aGUgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIGltcGxlbWVudGF0aW9uLiBUaGVuLCBsb29raW5nIGF0IHRoZSBDIGNvZGUgaW4gYGJwZl9qaXRfY29tcDY0LmNgLCB0aGUgY29yZSBKSVQgY29tcGlsZXIgbG9naWMgaXMgYmVpbmcgbW9kaWZpZWQuIGBicGZfaml0X2VtaXRfaW5zbmAgaXMgdGhlIGtleSBmdW5jdGlvbiBiZWluZyB1cGRhdGVkLCBhbmQgYSBuZXcgZnVuY3Rpb24sIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCwgaXMgYmVpbmcgYWRkZWQsIHdoaWNoIGlzIGVzc2VudGlhbCB0byBkZXRlcm1pbmUgd2hldGhlciB3ZSBjYW4gdXNlIHRoZSB0aW1lIGNvbnRyb2wgZnVuY3Rpb25hbGl0eS4KCk5vdywgZm9yIHRoZSBjb25maWd1cmF0aW9uLCBpdCBzZWVtcyBsaWtlIHdlIGp1c3QgbmVlZCBgQlBGX0pJVGAuIFRoYXQgbWFrZXMgc2Vuc2U7IGl0JiMzOTtzIHRoZSBjb3JlIEpJVCBjb21waWxlciB3ZSYjMzk7cmUgdGFyZ2V0aW5nLiBJIHNhdyBgQVJDSF9SVjY0SWAgbWVudGlvbmVkLCBidXQgdGhhdCYjMzk7cyB0aGUgc3RhbmRhcmQgZm9yIDY0LWJpdCBSSVNDLVYsIHNvIHdlIGRvbiYjMzk7dCBoYXZlIHRvIHNwZWNpZnkgdGhhdC4gT2gsIHdhaXQsIHdlIGFsc28gbmVlZCB0byBoYXZlIGBCUEZfU1lTQ0FMTGAgZW5hYmxlZCBhcyB0aGF0IHdpbGwgYmUgbmVjZXNzYXJ5IGZvciBhIGZ1bGwgZW5kLXRvLWVuZCBsb2FkIG9mIEJQRiBwcm9ncmFtcy4KClJpZ2h0LCB0aW1lIHRvIHVzZSB0aGUgYHNldC1yZXN1bHRzYCB0b29sLiBUaGUga2V5IGhlcmUgaXMgdGhlIGBXb3J0aEZ1enppbmc6IHRydWVgLiBUaGF0JiMzOTtzIGEgZ29vZCBzaWduOyB0aGUgcGF0Y2ggYXV0aG9yIGNvbnNpZGVycyB0aGlzIGNvZGUgcGF0aCBmdXp6ZXItd29ydGh5LiBUaGUgYEZvY3VzU3ltYm9sc2AgYXJlIGNsZWFybHkgdGhlIGltcG9ydGFudCBmdW5jdGlvbnM6IGBicGZfaml0X2VtaXRfaW5zbmAgYW5kIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYC4gVGhvc2UgYXJlIHRoZSB0d28gZnVuY3Rpb25zIHRoYXQgbmVlZCB0byBiZSB0ZXN0ZWQgdGhvcm91Z2hseS4gVGhlIHJlbGV2YW50IGBFbmFibGVDb25maWdzYCBpcyBqdXN0IGBCUEZfSklUYC4KClRoZSByZWFzb25pbmcgaXMgc291bmQ6IHRoaXMgcGF0Y2ggYWRkcyBhIGNyaXRpY2FsIG5ldyBmZWF0dXJlLCB0aW1lZCBgbWF5X2dvdG9gLCB0byB0aGUgUklTQy1WIEJQRiBKSVQuIFRoaXMgdG91Y2hlcyBjb3JlIEJQRiBKSVQgbG9naWMgYW5kIGlzIHRoZXJlZm9yZSByZWFjaGFibGUgd2hlbiBsb2FkaW5nIEJQRiBwcm9ncmFtcywgYSBjbGFzc2ljIGF0dGFjayBzdXJmYWNlLiBXZSBzaG91bGQgZGVmaW5pdGVseSBiZSBmdXp6aW5nIHRoaXMhCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI0IDEwOjAyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCUEZfSklUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YnBmX2ppdF9lbWl0X2luc24mIzM0OywKICAgICYjMzQ7YnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpbXBsZW1lbnRzIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gaW5zdHJ1Y3Rpb24gZm9yIHRoZSBSSVNDLVYgQlBGIEpJVCBjb21waWxlci4gVGhpcyBtb2RpZmllcyB0aGUgY29yZSBCUEYgSklUIGxvZ2ljIG9uIFJJU0MtViBhbmQgaXMgcmVhY2hhYmxlIHdoZW4gbG9hZGluZyBCUEYgcHJvZ3JhbXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGltcGxlbWVudHMgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBpbnN0cnVjdGlvbiBmb3IgdGhlIFJJU0MtViBCUEYgSklUIGNvbXBpbGVyLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIEJQRiBKSVQgbG9naWMgb24gUklTQy1WIGFuZCBpcyByZWFjaGFibGUgd2hlbiBsb2FkaW5nIEJQRiBwcm9ncmFtcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI0VDEwOjAyOjA3LjM1MzQ3MjEwNVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI4MDE5NzI1MDg2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJQRl9KSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfaml0X2VtaXRfaW5zblwiLFxuICAgIFwiYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGltcGxlbWVudHMgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBpbnN0cnVjdGlvbiBmb3IgdGhlIFJJU0MtViBCUEYgSklUIGNvbXBpbGVyLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIEJQRiBKSVQgbG9naWMgb24gUklTQy1WIGFuZCBpcyByZWFjaGFibGUgd2hlbiBsb2FkaW5nIEJQRiBwcm9ncmFtcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMTA6MDI6MDcuMzUzNDc4NjI1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2ODE5NjY5MzIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA4Nzg3NTMzMWMwMDllNDFjNWE5ZGZkZjk2ZGQwMWQ3MmRmNzU5YmViXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBGcmkgSnVsIDI0IDEwOjAyOjA1IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlIGIvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcXG5pbmRleCA5YTFlNWYwYTk0ZTU1OS4uNjQ1OGQ0ZDUxOTkwYTcgMTAwNjQ0XFxuLS0tIGEvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZVxcbkBAIC0zLDcgKzMsNyBAQFxcbiBvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gYnBmX2ppdF9jb3JlLm9cXG4gXFxuIGlmZXEgKCQoQ09ORklHX0FSQ0hfUlY2NEkpLHkpXFxuLVxcdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXA2NC5vXFxuK1xcdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXA2NC5vIGJwZl90aW1lZF9tYXlfZ290by5vXFxuIGVsc2VcXG4gXFx0b2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29tcDMyLm9cXG4gZW5kaWZcXG5kaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYyBiL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcXG5pbmRleCBhZDA4OWE5YTRlYTlhYy4uOGZlODk2OWZiOGEwZjggMTAwNjQ0XFxuLS0tIGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xcbisrKyBiL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcXG5AQCAtMTg0MSw3ICsxODQxLDEyIEBAIGludCBicGZfaml0X2VtaXRfaW5zbihjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24sIHN0cnVjdCBydl9qaXRfY29udGV4dCAqY3R4LFxcbiBcXHRcXHRpZiAoYXV4LVxcdTAwM2V0YWlsX2NhbGxfcmVhY2hhYmxlIFxcdTAwMjZcXHUwMDI2IGluc24tXFx1MDAzZXNyY19yZWcgPT0gQlBGX1BTRVVET19DQUxMKVxcbiBcXHRcXHRcXHRlbWl0X3NkKFJWX1JFR19TUCwgY3R4LVxcdTAwM2V0Y2Nfb2Zmc2V0LCBSVl9SRUdfVENDLCBjdHgpO1xcbiBcXG4tXFx0XFx0aWYgKGluc24tXFx1MDAzZXNyY19yZWcgIT0gQlBGX1BTRVVET19DQUxMKVxcbitcXHRcXHQvKlxcbitcXHRcXHQgKiBhcmNoX2JwZl90aW1lZF9tYXlfZ290bygpIGlzIGVtaXR0ZWQgYnkgdGhlIHZlcmlmaWVyIGFuZFxcbitcXHRcXHQgKiByZXR1cm5zIGl0cyByZXN1bHQgaW4gQlBGX1JFR19BWCBpbnN0ZWFkIG9mIEJQRl9SRUdfMCwgc29cXG4rXFx0XFx0ICogc2tpcCB0aGUgbm9ybWFsIFxcXCJtb3ZlIHJldHVybiByZWdpc3RlciBpbnRvIFIwXFxcIi5cXG4rXFx0XFx0ICovXFxuK1xcdFxcdGlmIChpbnNuLVxcdTAwM2VzcmNfcmVnICE9IEJQRl9QU0VVRE9fQ0FMTCBcXHUwMDI2XFx1MDAyNiBhZGRyICE9ICh1NjQpYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXFxuIFxcdFxcdFxcdGVtaXRfbXYoYnBmX3RvX3J2X3JlZyhCUEZfUkVHXzAsIGN0eCksIFJWX1JFR19BMCwgY3R4KTtcXG4gXFx0XFx0YnJlYWs7XFxuIFxcdH1cXG5AQCAtMjE2MSwzICsyMTY2LDggQEAgYm9vbCBicGZfaml0X3N1cHBvcnRzX3N1YnByb2dfdGFpbGNhbGxzKHZvaWQpXFxuIHtcXG4gXFx0cmV0dXJuIHRydWU7XFxuIH1cXG4rXFxuK2Jvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKVxcbit7XFxuK1xcdHJldHVybiB0cnVlO1xcbit9XFxuZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TIGIvYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlNcXG5uZXcgZmlsZSBtb2RlIDEwMDY0NFxcbmluZGV4IDAwMDAwMDAwMDAwMDAwLi4wMmM2MzdkODc0MjA1YVxcbi0tLSAvZGV2L251bGxcXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU1xcbkBAIC0wLDAgKzEsNDcgQEBcXG4rLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi9cXG4rLyogQ29weXJpZ2h0IChjKSAyMDI2IEZlbmcgSmlhbmcgXFx1MDAzY2ppYW5nZmVuZ0BreWxpbm9zLmNuXFx1MDAzZSAqL1xcbitcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2xpbmthZ2UuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2FzbS9hc20uaFxcdTAwM2VcXG4rXFxuKy8qXFxuKyAqIFRyYW1wb2xpbmUgZm9yIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gbG9vcCBib3VuZC4gQ3VzdG9tIGNhbGxpbmcgY29udmVudGlvbjpcXG4rICpcXHQtIGlucHV0OiAgc3RhY2sgb2Zmc2V0IGluIEJQRl9SRUdfQVggKHQwKVxcbisgKlxcdC0gb3V0cHV0OiB1cGRhdGVkIGNvdW50IGluIEJQRl9SRUdfQVggKHQwKVxcbisgKlxcbisgKiBDYWxscyBicGZfY2hlY2tfdGltZWRfbWF5X2dvdG8ocHRyKSB3aXRoIHRoZSBzdGFuZGFyZCBSSVNDLVYgQUJJLCB3aGVyZVxcbisgKiBwdHIgPSBCUEZfUkVHX0ZQIChzNSkgKyBCUEZfUkVHX0FYICh0MCkuIEJQRiBSMC1SNSAoYTUsIGEwLWE0KSBhcmUgc2F2ZWRcXG4rICogYWNyb3NzIHRoZSBjYWxsOyBCUEZfUkVHX0ZQIChzNSkgaXMgY2FsbGVlLXNhdmVkIGFuZCBuZWVkcyBubyBzYXZpbmcuXFxuKyAqL1xcbitcXG4rU1lNX0ZVTkNfU1RBUlQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXFxuK1xcdGFkZGlcXHRzcCwgc3AsIC0oOCpTWlJFRylcXG4rXFx0UkVHX1NcXHRyYSwgNypTWlJFRyhzcClcXG4rXFx0UkVHX1NcXHRzMCwgNipTWlJFRyhzcClcXG4rXFx0YWRkaVxcdHMwLCBzcCwgOCpTWlJFR1xcbitcXG4rXFx0LyogU2F2ZSBCUEYgcmVnaXN0ZXJzIFIwLVI1IChhNSwgYTAtYTQpICovXFxuK1xcdFJFR19TXFx0YTUsIDUqU1pSRUcoc3ApXFxuK1xcdFJFR19TXFx0YTAsIDQqU1pSRUcoc3ApXFxuK1xcdFJFR19TXFx0YTEsIDMqU1pSRUcoc3ApXFxuK1xcdFJFR19TXFx0YTIsIDIqU1pSRUcoc3ApXFxuK1xcdFJFR19TXFx0YTMsIDEqU1pSRUcoc3ApXFxuK1xcdFJFR19TXFx0YTQsIDAqU1pSRUcoc3ApXFxuK1xcbitcXHRhZGRcXHRhMCwgdDAsIHM1XFxuK1xcdGNhbGxcXHRicGZfY2hlY2tfdGltZWRfbWF5X2dvdG9cXG4rXFx0bXZcXHR0MCwgYTBcXG4rXFxuK1xcdC8qIFJlc3RvcmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAqL1xcbitcXHRSRUdfTFxcdGE0LCAwKlNaUkVHKHNwKVxcbitcXHRSRUdfTFxcdGEzLCAxKlNaUkVHKHNwKVxcbitcXHRSRUdfTFxcdGEyLCAyKlNaUkVHKHNwKVxcbitcXHRSRUdfTFxcdGExLCAzKlNaUkVHKHNwKVxcbitcXHRSRUdfTFxcdGEwLCA0KlNaUkVHKHNwKVxcbitcXHRSRUdfTFxcdGE1LCA1KlNaUkVHKHNwKVxcbitcXG4rXFx0UkVHX0xcXHRzMCwgNipTWlJFRyhzcClcXG4rXFx0UkVHX0xcXHRyYSwgNypTWlJFRyhzcClcXG4rXFx0YWRkaVxcdHNwLCBzcCwgOCpTWlJFR1xcbitcXHRyZXRcXG4rU1lNX0ZVTkNfRU5EKGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmNcXG5pbmRleCA5MmJhMWQ3MmUwZWNlNC4uOGQ4ZTUzZDM3MjY2Y2QgMTAwNjQ0XFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXFxuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXFxuQEAgLTY0LDYgKzY0LDcgQEAgU0VDKFxcXCJzeXNjYWxsXFxcIilcXG4gX19hcmNoX3g4Nl82NFxcbiBfX2FyY2hfYXJtNjRcXG4gX19hcmNoX3MzOTB4XFxuK19fYXJjaF9yaXNjdjY0XFxuIF9fc3VjY2VzcyBfX3JldHZhbCgwKVxcbiBfX3N0ZGVycihcXFwiRVJST1I6IFRpbWVvdXQgZGV0ZWN0ZWQgZm9yIG1heV9nb3RvIGluc3RydWN0aW9uXFxcIilcXG4gX19zdGRlcnIoXFxcIkNQVToge3tbMC05XSt9fSBVSUQ6IDAgUElEOiB7e1swLTldK319IENvbW06IHt7Lip9fVxcXCIpXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuY1xcbmluZGV4IDhkN2ZmMzhlNGMwNjk3Li44MzcwN2ZhZWEwNDk5NCAxMDA2NDRcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcXG5AQCAtNjYwLDYgKzY2MCw3IEBAIF9fbmFrZWQgdm9pZCBtYXlfZ290b19pbnRlcmFjdGlvbl94ODZfNjQodm9pZClcXG4gXFxuIFNFQyhcXFwicmF3X3RwXFxcIilcXG4gX19hcmNoX2FybTY0XFxuK19fYXJjaF9yaXNjdjY0XFxuIF9fbG9nX2xldmVsKDQpIF9fbXNnKFxcXCJzdGFjayBkZXB0aCAyNFxcXCIpXFxuIC8qIG1heV9nb3RvIGNvdW50ZXIgYXQgLTI0ICovXFxuIF9feGxhdGVkKFxcXCIwOiAqKHU2NCAqKShyMTAgLTI0KSA9XFxcIilcXG5AQCAtNjc5LDcgKzY4MCw3IEBAIF9feGxhdGVkKFxcXCIxMDogKih1NjQgKikocjEwIC0yNCkgPSByMTJcXFwiKVxcbiBfX3hsYXRlZChcXFwiMTE6ICoodTY0ICopKHIxMCAtOCkgPSByMVxcXCIpXFxuIF9feGxhdGVkKFxcXCIxMjogZXhpdFxcXCIpXFxuIF9fc3VjY2Vzc1xcbi1fX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25fYXJtNjQodm9pZClcXG4rX19uYWtlZCB2b2lkIG1heV9nb3RvX2ludGVyYWN0aW9uKHZvaWQpXFxuIHtcXG4gXFx0YXNtIHZvbGF0aWxlIChcXG4gXFx0XFxcInIxID0gMTtcXFwiXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jXFxuaW5kZXggNGJkZjQyNTZhNDFlNTEuLjBlMjExZjAzMGQwZDdhIDEwMDY0NFxcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmNcXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jXFxuQEAgLTExLDYgKzExLDcgQEAgX19kZXNjcmlwdGlvbihcXFwibWF5X2dvdG8gMFxcXCIpXFxuIF9fYXJjaF94ODZfNjRcXG4gX19hcmNoX3MzOTB4XFxuIF9fYXJjaF9hcm02NFxcbitfX2FyY2hfcmlzY3Y2NFxcbiBfX3hsYXRlZChcXFwiMDogcjAgPSAxXFxcIilcXG4gX194bGF0ZWQoXFxcIjE6IGV4aXRcXFwiKVxcbiBfX3N1Y2Nlc3NcXG5AQCAtMzEsNiArMzIsNyBAQCBfX2Rlc2NyaXB0aW9uKFxcXCJiYXRjaCAyIG9mIG1heV9nb3RvIDBcXFwiKVxcbiBfX2FyY2hfeDg2XzY0XFxuIF9fYXJjaF9zMzkweFxcbiBfX2FyY2hfYXJtNjRcXG4rX19hcmNoX3Jpc2N2NjRcXG4gX194bGF0ZWQoXFxcIjA6IHIwID0gMVxcXCIpXFxuIF9feGxhdGVkKFxcXCIxOiBleGl0XFxcIilcXG4gX19zdWNjZXNzXFxuQEAgLTUzLDYgKzU1LDcgQEAgX19kZXNjcmlwdGlvbihcXFwibWF5X2dvdG8gYmF0Y2ggd2l0aCBvZmZzZXRzIDIvMS8wXFxcIilcXG4gX19hcmNoX3g4Nl82NFxcbiBfX2FyY2hfczM5MHhcXG4gX19hcmNoX2FybTY0XFxuK19fYXJjaF9yaXNjdjY0XFxuIF9feGxhdGVkKFxcXCIwOiByMCA9IDFcXFwiKVxcbiBfX3hsYXRlZChcXFwiMTogZXhpdFxcXCIpXFxuIF9fc3VjY2Vzc1xcbkBAIC03OSw2ICs4Miw3IEBAIF9fZGVzY3JpcHRpb24oXFxcIm1heV9nb3RvIGJhdGNoIHdpdGggb2Zmc2V0cyAyLzBcXFwiKVxcbiBfX2FyY2hfeDg2XzY0XFxuIF9fYXJjaF9zMzkweFxcbiBfX2FyY2hfYXJtNjRcXG4rX19hcmNoX3Jpc2N2NjRcXG4gX194bGF0ZWQoXFxcIjA6ICoodTY0ICopKHIxMCAtMTYpID0gNjU1MzVcXFwiKVxcbiBfX3hsYXRlZChcXFwiMTogKih1NjQgKikocjEwIC04KSA9IDBcXFwiKVxcbiBfX3hsYXRlZChcXFwiMjogcjEyID0gKih1NjQgKikocjEwIC0xNilcXFwiKVxcbkBAIC0xMDYsNCArMTEwLDYyIEBAIF9fbmFrZWQgdm9pZCBtYXlfZ290b19iYXRjaF8yKHZvaWQpXFxuIFxcdDogX19jbG9iYmVyX2FsbCk7XFxuIH1cXG4gXFxuKy8qXFxuKyAqIFVzZSBicGZfZ2V0X3ByYW5kb21fdTMyKCkgdG8gcHJldmVudCBEQ0UgZnJvbSByZW1vdmluZyB0aGUgY2hlY2tzLlxcbisgKiByZXR2YWw6IDA9YWxsIG9rLCAxLTY9UjAtUjUgY2xvYmJlcmVkLlxcbisgKi9cXG4rU0VDKFxcXCJzeXNjYWxsXFxcIilcXG4rX19kZXNjcmlwdGlvbihcXFwidGltZWQgbWF5X2dvdG8gcHJlc2VydmVzIFIwLVI1XFxcIilcXG4rX19hcmNoX3g4Nl82NFxcbitfX2FyY2hfczM5MHhcXG4rX19hcmNoX2FybTY0XFxuK19fYXJjaF9yaXNjdjY0XFxuK19fc3VjY2Vzc1xcbitfX3JldHZhbCgwKVxcbitfX25ha2VkIHZvaWQgdGltZWRfbWF5X2dvdG9fcHJlc2VydmVzX3JlZ3Modm9pZClcXG4re1xcbitcXHRhc20gdm9sYXRpbGUgKFxcbitcXHRcXFwiY2FsbCAlW2JwZl9nZXRfcHJhbmRvbV91MzJdO1xcXCJcXG4rXFx0XFxcInI2ID0gcjA7XFxcIlxcbitcXHRcXFwicjAgPSAweDExMTE7XFxcIlxcbitcXHRcXFwicjAgKz0gcjY7XFxcIlxcbitcXHRcXFwicjEgPSAweDIyMjI7XFxcIlxcbitcXHRcXFwicjEgKz0gcjY7XFxcIlxcbitcXHRcXFwicjIgPSAweDMzMzM7XFxcIlxcbitcXHRcXFwicjIgKz0gcjY7XFxcIlxcbitcXHRcXFwicjMgPSAweDQ0NDQ7XFxcIlxcbitcXHRcXFwicjMgKz0gcjY7XFxcIlxcbitcXHRcXFwicjQgPSAweDU1NTU7XFxcIlxcbitcXHRcXFwicjQgKz0gcjY7XFxcIlxcbitcXHRcXFwicjUgPSAweDY2NjY7XFxcIlxcbitcXHRcXFwicjUgKz0gcjY7XFxcIlxcbitcXHRcXFwiLjhieXRlICVbbWF5X2dvdG9dO1xcXCJcXG4rXFx0XFxcIi44Ynl0ZSAlW2xvb3BdO1xcXCJcXG4rXFx0XFxcInIwIC09IHI2O1xcXCJcXG4rXFx0XFxcInIxIC09IHI2O1xcXCJcXG4rXFx0XFxcInIyIC09IHI2O1xcXCJcXG4rXFx0XFxcInIzIC09IHI2O1xcXCJcXG4rXFx0XFxcInI0IC09IHI2O1xcXCJcXG4rXFx0XFxcInI1IC09IHI2O1xcXCJcXG4rXFx0XFxcImlmIHIwICE9IDB4MTExMSBnb3RvIDFmO1xcXCJcXG4rXFx0XFxcImlmIHIxICE9IDB4MjIyMiBnb3RvIDJmO1xcXCJcXG4rXFx0XFxcImlmIHIyICE9IDB4MzMzMyBnb3RvIDNmO1xcXCJcXG4rXFx0XFxcImlmIHIzICE9IDB4NDQ0NCBnb3RvIDRmO1xcXCJcXG4rXFx0XFxcImlmIHI0ICE9IDB4NTU1NSBnb3RvIDVmO1xcXCJcXG4rXFx0XFxcImlmIHI1ICE9IDB4NjY2NiBnb3RvIDZmO1xcXCJcXG4rXFx0XFxcInIwID0gMDtcXFwiXFxuK1xcdFxcXCJleGl0O1xcXCJcXG4rXFx0XFxcIjE6IHIwID0gMTsgZXhpdDtcXFwiXFxuK1xcdFxcXCIyOiByMCA9IDI7IGV4aXQ7XFxcIlxcbitcXHRcXFwiMzogcjAgPSAzOyBleGl0O1xcXCJcXG4rXFx0XFxcIjQ6IHIwID0gNDsgZXhpdDtcXFwiXFxuK1xcdFxcXCI1OiByMCA9IDU7IGV4aXQ7XFxcIlxcbitcXHRcXFwiNjogcjAgPSA2OyBleGl0O1xcXCJcXG4rXFx0OlxcbitcXHQ6IF9faW1tKGJwZl9nZXRfcHJhbmRvbV91MzIpLFxcbitcXHQgIF9faW1tX2luc24obWF5X2dvdG8sIEJQRl9SQVdfSU5TTihCUEZfSk1QIHwgQlBGX0pDT05ELCAwLCAwLCAxLCAwKSksXFxuK1xcdCAgX19pbW1faW5zbihsb29wLCBCUEZfUkFXX0lOU04oQlBGX0pNUCB8IEJQRl9KQSwgMCwgMCwgLTIsIDApKVxcbitcXHQ6IF9fY2xvYmJlcl9hbGwpO1xcbit9XFxuK1xcbiBjaGFyIF9saWNlbnNlW10gU0VDKFxcXCJsaWNlbnNlXFxcIikgPSBcXFwiR1BMXFxcIjtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMTA6MDI6MDguMDM2MTMxMTc3WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MjczMzcwNTY2MTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX0pJVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJwZl9qaXRfZW1pdF9pbnNuXCIsXG4gICAgXCJicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggaW1wbGVtZW50cyB0aGUgQlBGIHRpbWVkIG1heV9nb3RvIGluc3RydWN0aW9uIGZvciB0aGUgUklTQy1WIEJQRiBKSVQgY29tcGlsZXIuIFRoaXMgbW9kaWZpZXMgdGhlIGNvcmUgQlBGIEpJVCBsb2dpYyBvbiBSSVNDLVYgYW5kIGlzIHJlYWNoYWJsZSB3aGVuIGxvYWRpbmcgQlBGIHByb2dyYW1zLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDg3ODc1MzMxYzAwOWU0MWM1YTlkZmRmOTZkZDAxZDcyZGY3NTliZWJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAyNCAxMDowMjowNSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlIGIvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcbmluZGV4IDlhMWU1ZjBhOTRlNTU5Li42NDU4ZDRkNTE5OTBhNyAxMDA2NDRcbi0tLSBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZVxuQEAgLTMsNyArMyw3IEBAXG4gb2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29yZS5vXG4gXG4gaWZlcSAoJChDT05GSUdfQVJDSF9SVjY0SSkseSlcbi1cdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXA2NC5vXG4rXHRvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gYnBmX2ppdF9jb21wNjQubyBicGZfdGltZWRfbWF5X2dvdG8ub1xuIGVsc2VcbiBcdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXAzMi5vXG4gZW5kaWZcbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jIGIvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xuaW5kZXggYWQwODlhOWE0ZWE5YWMuLjhmZTg5NjlmYjhhMGY4IDEwMDY0NFxuLS0tIGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xuKysrIGIvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xuQEAgLTE4NDEsNyArMTg0MSwxMiBAQCBpbnQgYnBmX2ppdF9lbWl0X2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICppbnNuLCBzdHJ1Y3QgcnZfaml0X2NvbnRleHQgKmN0eCxcbiBcdFx0aWYgKGF1eC1cdTAwM2V0YWlsX2NhbGxfcmVhY2hhYmxlIFx1MDAyNlx1MDAyNiBpbnNuLVx1MDAzZXNyY19yZWcgPT0gQlBGX1BTRVVET19DQUxMKVxuIFx0XHRcdGVtaXRfc2QoUlZfUkVHX1NQLCBjdHgtXHUwMDNldGNjX29mZnNldCwgUlZfUkVHX1RDQywgY3R4KTtcbiBcbi1cdFx0aWYgKGluc24tXHUwMDNlc3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwpXG4rXHRcdC8qXG4rXHRcdCAqIGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKCkgaXMgZW1pdHRlZCBieSB0aGUgdmVyaWZpZXIgYW5kXG4rXHRcdCAqIHJldHVybnMgaXRzIHJlc3VsdCBpbiBCUEZfUkVHX0FYIGluc3RlYWQgb2YgQlBGX1JFR18wLCBzb1xuK1x0XHQgKiBza2lwIHRoZSBub3JtYWwgXCJtb3ZlIHJldHVybiByZWdpc3RlciBpbnRvIFIwXCIuXG4rXHRcdCAqL1xuK1x0XHRpZiAoaW5zbi1cdTAwM2VzcmNfcmVnICE9IEJQRl9QU0VVRE9fQ0FMTCBcdTAwMjZcdTAwMjYgYWRkciAhPSAodTY0KWFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxuIFx0XHRcdGVtaXRfbXYoYnBmX3RvX3J2X3JlZyhCUEZfUkVHXzAsIGN0eCksIFJWX1JFR19BMCwgY3R4KTtcbiBcdFx0YnJlYWs7XG4gXHR9XG5AQCAtMjE2MSwzICsyMTY2LDggQEAgYm9vbCBicGZfaml0X3N1cHBvcnRzX3N1YnByb2dfdGFpbGNhbGxzKHZvaWQpXG4ge1xuIFx0cmV0dXJuIHRydWU7XG4gfVxuK1xuK2Jvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKVxuK3tcbitcdHJldHVybiB0cnVlO1xuK31cbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUyBiL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TXG5uZXcgZmlsZSBtb2RlIDEwMDY0NFxuaW5kZXggMDAwMDAwMDAwMDAwMDAuLjAyYzYzN2Q4NzQyMDVhXG4tLS0gL2Rldi9udWxsXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU1xuQEAgLTAsMCArMSw0NyBAQFxuKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovXG4rLyogQ29weXJpZ2h0IChjKSAyMDI2IEZlbmcgSmlhbmcgXHUwMDNjamlhbmdmZW5nQGt5bGlub3MuY25cdTAwM2UgKi9cbitcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9saW5rYWdlLmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2Nhc20vYXNtLmhcdTAwM2VcbitcbisvKlxuKyAqIFRyYW1wb2xpbmUgZm9yIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gbG9vcCBib3VuZC4gQ3VzdG9tIGNhbGxpbmcgY29udmVudGlvbjpcbisgKlx0LSBpbnB1dDogIHN0YWNrIG9mZnNldCBpbiBCUEZfUkVHX0FYICh0MClcbisgKlx0LSBvdXRwdXQ6IHVwZGF0ZWQgY291bnQgaW4gQlBGX1JFR19BWCAodDApXG4rICpcbisgKiBDYWxscyBicGZfY2hlY2tfdGltZWRfbWF5X2dvdG8ocHRyKSB3aXRoIHRoZSBzdGFuZGFyZCBSSVNDLVYgQUJJLCB3aGVyZVxuKyAqIHB0ciA9IEJQRl9SRUdfRlAgKHM1KSArIEJQRl9SRUdfQVggKHQwKS4gQlBGIFIwLVI1IChhNSwgYTAtYTQpIGFyZSBzYXZlZFxuKyAqIGFjcm9zcyB0aGUgY2FsbDsgQlBGX1JFR19GUCAoczUpIGlzIGNhbGxlZS1zYXZlZCBhbmQgbmVlZHMgbm8gc2F2aW5nLlxuKyAqL1xuK1xuK1NZTV9GVU5DX1NUQVJUKGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxuK1x0YWRkaVx0c3AsIHNwLCAtKDgqU1pSRUcpXG4rXHRSRUdfU1x0cmEsIDcqU1pSRUcoc3ApXG4rXHRSRUdfU1x0czAsIDYqU1pSRUcoc3ApXG4rXHRhZGRpXHRzMCwgc3AsIDgqU1pSRUdcbitcbitcdC8qIFNhdmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAoYTUsIGEwLWE0KSAqL1xuK1x0UkVHX1NcdGE1LCA1KlNaUkVHKHNwKVxuK1x0UkVHX1NcdGEwLCA0KlNaUkVHKHNwKVxuK1x0UkVHX1NcdGExLCAzKlNaUkVHKHNwKVxuK1x0UkVHX1NcdGEyLCAyKlNaUkVHKHNwKVxuK1x0UkVHX1NcdGEzLCAxKlNaUkVHKHNwKVxuK1x0UkVHX1NcdGE0LCAwKlNaUkVHKHNwKVxuK1xuK1x0YWRkXHRhMCwgdDAsIHM1XG4rXHRjYWxsXHRicGZfY2hlY2tfdGltZWRfbWF5X2dvdG9cbitcdG12XHR0MCwgYTBcbitcbitcdC8qIFJlc3RvcmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAqL1xuK1x0UkVHX0xcdGE0LCAwKlNaUkVHKHNwKVxuK1x0UkVHX0xcdGEzLCAxKlNaUkVHKHNwKVxuK1x0UkVHX0xcdGEyLCAyKlNaUkVHKHNwKVxuK1x0UkVHX0xcdGExLCAzKlNaUkVHKHNwKVxuK1x0UkVHX0xcdGEwLCA0KlNaUkVHKHNwKVxuK1x0UkVHX0xcdGE1LCA1KlNaUkVHKHNwKVxuK1xuK1x0UkVHX0xcdHMwLCA2KlNaUkVHKHNwKVxuK1x0UkVHX0xcdHJhLCA3KlNaUkVHKHNwKVxuK1x0YWRkaVx0c3AsIHNwLCA4KlNaUkVHXG4rXHRyZXRcbitTWU1fRlVOQ19FTkQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXG5pbmRleCA5MmJhMWQ3MmUwZWNlNC4uOGQ4ZTUzZDM3MjY2Y2QgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmNcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uY1xuQEAgLTY0LDYgKzY0LDcgQEAgU0VDKFwic3lzY2FsbFwiKVxuIF9fYXJjaF94ODZfNjRcbiBfX2FyY2hfYXJtNjRcbiBfX2FyY2hfczM5MHhcbitfX2FyY2hfcmlzY3Y2NFxuIF9fc3VjY2VzcyBfX3JldHZhbCgwKVxuIF9fc3RkZXJyKFwiRVJST1I6IFRpbWVvdXQgZGV0ZWN0ZWQgZm9yIG1heV9nb3RvIGluc3RydWN0aW9uXCIpXG4gX19zdGRlcnIoXCJDUFU6IHt7WzAtOV0rfX0gVUlEOiAwIFBJRDoge3tbMC05XSt9fSBDb21tOiB7ey4qfX1cIilcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcbmluZGV4IDhkN2ZmMzhlNGMwNjk3Li44MzcwN2ZhZWEwNDk5NCAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuY1xuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jXG5AQCAtNjYwLDYgKzY2MCw3IEBAIF9fbmFrZWQgdm9pZCBtYXlfZ290b19pbnRlcmFjdGlvbl94ODZfNjQodm9pZClcbiBcbiBTRUMoXCJyYXdfdHBcIilcbiBfX2FyY2hfYXJtNjRcbitfX2FyY2hfcmlzY3Y2NFxuIF9fbG9nX2xldmVsKDQpIF9fbXNnKFwic3RhY2sgZGVwdGggMjRcIilcbiAvKiBtYXlfZ290byBjb3VudGVyIGF0IC0yNCAqL1xuIF9feGxhdGVkKFwiMDogKih1NjQgKikocjEwIC0yNCkgPVwiKVxuQEAgLTY3OSw3ICs2ODAsNyBAQCBfX3hsYXRlZChcIjEwOiAqKHU2NCAqKShyMTAgLTI0KSA9IHIxMlwiKVxuIF9feGxhdGVkKFwiMTE6ICoodTY0ICopKHIxMCAtOCkgPSByMVwiKVxuIF9feGxhdGVkKFwiMTI6IGV4aXRcIilcbiBfX3N1Y2Nlc3Ncbi1fX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25fYXJtNjQodm9pZClcbitfX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb24odm9pZClcbiB7XG4gXHRhc20gdm9sYXRpbGUgKFxuIFx0XCJyMSA9IDE7XCJcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuaW5kZXggNGJkZjQyNTZhNDFlNTEuLjBlMjExZjAzMGQwZDdhIDEwMDY0NFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuQEAgLTExLDYgKzExLDcgQEAgX19kZXNjcmlwdGlvbihcIm1heV9nb3RvIDBcIilcbiBfX2FyY2hfeDg2XzY0XG4gX19hcmNoX3MzOTB4XG4gX19hcmNoX2FybTY0XG4rX19hcmNoX3Jpc2N2NjRcbiBfX3hsYXRlZChcIjA6IHIwID0gMVwiKVxuIF9feGxhdGVkKFwiMTogZXhpdFwiKVxuIF9fc3VjY2Vzc1xuQEAgLTMxLDYgKzMyLDcgQEAgX19kZXNjcmlwdGlvbihcImJhdGNoIDIgb2YgbWF5X2dvdG8gMFwiKVxuIF9fYXJjaF94ODZfNjRcbiBfX2FyY2hfczM5MHhcbiBfX2FyY2hfYXJtNjRcbitfX2FyY2hfcmlzY3Y2NFxuIF9feGxhdGVkKFwiMDogcjAgPSAxXCIpXG4gX194bGF0ZWQoXCIxOiBleGl0XCIpXG4gX19zdWNjZXNzXG5AQCAtNTMsNiArNTUsNyBAQCBfX2Rlc2NyaXB0aW9uKFwibWF5X2dvdG8gYmF0Y2ggd2l0aCBvZmZzZXRzIDIvMS8wXCIpXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuK19fYXJjaF9yaXNjdjY0XG4gX194bGF0ZWQoXCIwOiByMCA9IDFcIilcbiBfX3hsYXRlZChcIjE6IGV4aXRcIilcbiBfX3N1Y2Nlc3NcbkBAIC03OSw2ICs4Miw3IEBAIF9fZGVzY3JpcHRpb24oXCJtYXlfZ290byBiYXRjaCB3aXRoIG9mZnNldHMgMi8wXCIpXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuK19fYXJjaF9yaXNjdjY0XG4gX194bGF0ZWQoXCIwOiAqKHU2NCAqKShyMTAgLTE2KSA9IDY1NTM1XCIpXG4gX194bGF0ZWQoXCIxOiAqKHU2NCAqKShyMTAgLTgpID0gMFwiKVxuIF9feGxhdGVkKFwiMjogcjEyID0gKih1NjQgKikocjEwIC0xNilcIilcbkBAIC0xMDYsNCArMTEwLDYyIEBAIF9fbmFrZWQgdm9pZCBtYXlfZ290b19iYXRjaF8yKHZvaWQpXG4gXHQ6IF9fY2xvYmJlcl9hbGwpO1xuIH1cbiBcbisvKlxuKyAqIFVzZSBicGZfZ2V0X3ByYW5kb21fdTMyKCkgdG8gcHJldmVudCBEQ0UgZnJvbSByZW1vdmluZyB0aGUgY2hlY2tzLlxuKyAqIHJldHZhbDogMD1hbGwgb2ssIDEtNj1SMC1SNSBjbG9iYmVyZWQuXG4rICovXG4rU0VDKFwic3lzY2FsbFwiKVxuK19fZGVzY3JpcHRpb24oXCJ0aW1lZCBtYXlfZ290byBwcmVzZXJ2ZXMgUjAtUjVcIilcbitfX2FyY2hfeDg2XzY0XG4rX19hcmNoX3MzOTB4XG4rX19hcmNoX2FybTY0XG4rX19hcmNoX3Jpc2N2NjRcbitfX3N1Y2Nlc3NcbitfX3JldHZhbCgwKVxuK19fbmFrZWQgdm9pZCB0aW1lZF9tYXlfZ290b19wcmVzZXJ2ZXNfcmVncyh2b2lkKVxuK3tcbitcdGFzbSB2b2xhdGlsZSAoXG4rXHRcImNhbGwgJVticGZfZ2V0X3ByYW5kb21fdTMyXTtcIlxuK1x0XCJyNiA9IHIwO1wiXG4rXHRcInIwID0gMHgxMTExO1wiXG4rXHRcInIwICs9IHI2O1wiXG4rXHRcInIxID0gMHgyMjIyO1wiXG4rXHRcInIxICs9IHI2O1wiXG4rXHRcInIyID0gMHgzMzMzO1wiXG4rXHRcInIyICs9IHI2O1wiXG4rXHRcInIzID0gMHg0NDQ0O1wiXG4rXHRcInIzICs9IHI2O1wiXG4rXHRcInI0ID0gMHg1NTU1O1wiXG4rXHRcInI0ICs9IHI2O1wiXG4rXHRcInI1ID0gMHg2NjY2O1wiXG4rXHRcInI1ICs9IHI2O1wiXG4rXHRcIi44Ynl0ZSAlW21heV9nb3RvXTtcIlxuK1x0XCIuOGJ5dGUgJVtsb29wXTtcIlxuK1x0XCJyMCAtPSByNjtcIlxuK1x0XCJyMSAtPSByNjtcIlxuK1x0XCJyMiAtPSByNjtcIlxuK1x0XCJyMyAtPSByNjtcIlxuK1x0XCJyNCAtPSByNjtcIlxuK1x0XCJyNSAtPSByNjtcIlxuK1x0XCJpZiByMCAhPSAweDExMTEgZ290byAxZjtcIlxuK1x0XCJpZiByMSAhPSAweDIyMjIgZ290byAyZjtcIlxuK1x0XCJpZiByMiAhPSAweDMzMzMgZ290byAzZjtcIlxuK1x0XCJpZiByMyAhPSAweDQ0NDQgZ290byA0ZjtcIlxuK1x0XCJpZiByNCAhPSAweDU1NTUgZ290byA1ZjtcIlxuK1x0XCJpZiByNSAhPSAweDY2NjYgZ290byA2ZjtcIlxuK1x0XCJyMCA9IDA7XCJcbitcdFwiZXhpdDtcIlxuK1x0XCIxOiByMCA9IDE7IGV4aXQ7XCJcbitcdFwiMjogcjAgPSAyOyBleGl0O1wiXG4rXHRcIjM6IHIwID0gMzsgZXhpdDtcIlxuK1x0XCI0OiByMCA9IDQ7IGV4aXQ7XCJcbitcdFwiNTogcjAgPSA1OyBleGl0O1wiXG4rXHRcIjY6IHIwID0gNjsgZXhpdDtcIlxuK1x0OlxuK1x0OiBfX2ltbShicGZfZ2V0X3ByYW5kb21fdTMyKSxcbitcdCAgX19pbW1faW5zbihtYXlfZ290bywgQlBGX1JBV19JTlNOKEJQRl9KTVAgfCBCUEZfSkNPTkQsIDAsIDAsIDEsIDApKSxcbitcdCAgX19pbW1faW5zbihsb29wLCBCUEZfUkFXX0lOU04oQlBGX0pNUCB8IEJQRl9KQSwgMCwgMCwgLTIsIDApKVxuK1x0OiBfX2Nsb2JiZXJfYWxsKTtcbit9XG4rXG4gY2hhciBfbGljZW5zZVtdIFNFQyhcImxpY2Vuc2VcIikgPSBcIkdQTFwiO1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMTA6MDI6MDguMDM2MTMyNzU3WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NzIwMzIyOTc4NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFJJU0MtViBCUEYgVGltZWQgTWF5LUdvdG8gUGF0Y2gqKlxuXG5Pa2F5LCBzbyB3ZSd2ZSBnb3QgYSBwYXRjaCBoZXJlIHRoYXQncyBhZGRpbmcgc3VwcG9ydCBmb3IgYEJQRiB0aW1lZF9tYXlfZ290b2Agb24gUklTQy1WLiBUaGF0J3MgaW50ZXJlc3RpbmcsIGEgZ29vZCBwZXJmb3JtYW5jZSBlbmhhbmNlbWVudC4gTGV0J3Mgc2VlIHdoYXQncyBjaGFuZ2VkLiBMb29rcyBsaWtlIHdlIGhhdmUgbW9kaWZpY2F0aW9ucyB0byB0aGUgbWFrZWZpbGUgYW5kIHNvbWUgY29yZSBCUEYgSklUIGNvbXBpbGF0aW9uIGFuZCB0ZXN0aW5nIGZpbGVzLiBTcGVjaWZpY2FsbHksIHdlIGhhdmUgY2hhbmdlcyB0byBgYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVgLCBgYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY2AsIGBhcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU2AsIGFuZCBzb21lIHNlbGZ0ZXN0cy5cblxuVGhpcyBwYXRjaCBpcyBlc3NlbnRpYWxseSBpbXBsZW1lbnRpbmcgYGFyY2hfYnBmX3RpbWVkX21heV9nb3RvYCBpbiBhc3NlbWJseSBmb3IgUklTQy1WIGFuZCBob29raW5nIGl0IGludG8gdGhlIEJQRiBKSVQgY29tcGlsZXIuIFRoYXQncyBhIGRpcmVjdCBhcmNoaXRlY3R1cmFsIG1vZGlmaWNhdGlvbiwgc28gd2UgbmVlZCB0byBiZSBjYXJlZnVsLiBJdOKAmXMgbW9kaWZ5aW5nIHRoZSBSSVNDLVYgQlBGIEpJVCBjb21waWxlcjsgdGhpcyBpcyBmdW5jdGlvbmFsIGNvZGUsIGFuZCB0aGVyZWZvcmUgbmVlZHMgdG8gYmUgY2FyZWZ1bGx5IHNjcnV0aW5pemVkLlxuXG5BbHJpZ2h0LCBsZXQncyBkcmlsbCBkb3duIGludG8gYGFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNgIHNwZWNpZmljYWxseS4gSSBzZWUgdGhhdCB0aGUgcGF0Y2ggbW9kaWZpZXMgYGJwZl9qaXRfZW1pdF9pbnNuYC4gQWxzbywgdGhlIGludHJvZHVjdGlvbiBvZiBhIG5ldyBmdW5jdGlvbiwgYGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG9gLCBhbmQgb2YgY291cnNlIHRoZSBhc3NlbWJseSBmdW5jdGlvbiBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gLiBUaGF0IGFzc2VtYmx5IGZ1bmN0aW9uIGlzIGtleS5cblxuTm93LCB0aGUgcHJvbXB0IHNwZWNpZmljYWxseSBjYWxscyBvdXQgdGhhdCBpZiBhIHBhdGNoIG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgd2UgbmVlZCB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLiBDb25zaWRlcmluZyBpdCBpcyBhcmNoaXRlY3R1cmUgY29kZSwgbGV0J3MgdXNlIHRoZSBjb2RlIHNlYXJjaCB0b29scyB0byBleGFtaW5lIGBicGZfaml0X2VtaXRfaW5zbmAgYW5kIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AuIFRoaXMgaXMgdGhlIHBvaW50IHRvIGRldGVybWluZSB3aGV0aGVyIHRoaXMgY2hhbmdlIGlzIHdvcnRoIGZ1enppbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUxNDksIk91dHB1dFRva2VucyI6NDYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozOTAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQxMDowMjoxNS4yMzkzNjQ3NjNaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjM2OTEzMTI0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImJwZl9qaXRfZW1pdF9pbnNuXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYz0xMzI0PWludCBhcmNoX3ByZXBhcmVfYnBmX3RyYW1wb2xpbmUoc3RydWN0IGJwZl90cmFtcF9pbWFnZSAqaW0sIHZvaWQgKnJvX2ltYWdlLFxcbi0tXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xMzYwLVxcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM6MTM2MTppbnQgYnBmX2ppdF9lbWl0X2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICppbnNuLCBzdHJ1Y3QgcnZfaml0X2NvbnRleHQgKmN0eCxcXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTEzNjItXFx0XFx0ICAgICAgYm9vbCBleHRyYV9wYXNzKVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yNFQxMDowMjoxNS40NzYyODMwOTdaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NTMyNzI0NjkxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkV4YW1pbmluZyB0aGUgS2VybmVsIENvbmZpZ3VyYXRpb24gZm9yIEJQRiBKSVQgU3VwcG9ydCBvbiBSSVNDLVYqKlxuXG5Pa2F5LCBsZXQncyBkaXZlIGludG8gdGhpcyBjb25maWd1cmF0aW9uIHNpdHVhdGlvbi4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIHBpbnBvaW50IHRoZSBuZWNlc3Nhcnkga2VybmVsIGNvbmZpZyBvcHRpb25zIGZvciB0aGUgQlBGIEpJVCBjb21waWxlciBvbiBSSVNDLVYuIEZpcnN0LCBgQ09ORklHX0JQRl9KSVRgIHNlZW1zIGxpa2UgYSBnaXZlbiwgYSBzdGFuZGFyZCByZXF1aXJlbWVudCBmb3IgZW5hYmxpbmcgdGhlIEJQRiBKSVQgaW4gYW55IGFyY2hpdGVjdHVyZS4gVGhlbiBJIG5lZWQgdG8gZmlndXJlIG91dCB3aGljaCBSSVNDLVYgYXJjaGl0ZWN0dXJlIG9wdGlvbnMgYXJlIG5lZWRlZC4gSXQgc2VlbXMgbGlrZSBlaXRoZXIgYENPTkZJR19BUkNIX1JWNjRJYCBvciBgQ09ORklHX1JJU0NWYCBzaG91bGQgZG8gaXQuIEJ1dCBsZXQncyB2ZXJpZnkuXG5cbkFoLCBoZXJlIGlzIGEgY2x1ZSEgVGhlIHBhdGNoIG1vZGlmaWVzIGBhcmNoL3Jpc2N2L25ldC9NYWtlZmlsZWAuIEkgd2lsbCB2ZXJpZnkuXG5cbmBgYG1ha2VmaWxlXG5pZmVxICgkKENPTkZJR19BUkNIX1JWNjRJKSx5KVxuXHRvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gYnBmX2ppdF9jb21wNjQubyBicGZfdGltZWRfbWF5X2dvdG8ub1xuYGBgXG5cblNvLCB0aGUgZGVwZW5kZW5jeSBpcyBjbGVhcjogSSBuZWVkICpib3RoKiBgQ09ORklHX0JQRl9KSVRgIGFuZCBgQ09ORklHX0FSQ0hfUlY2NElgLiBJIHdhcyByaWdodCwgYnV0IGl0J3MgZ29vZCB0byBjb25maXJtLiBCdXQgdGhhdCBpcyB0aGUgKm9ubHkqIGRlcGVuZGVuY3kuIFdhaXQsIEknbSB0aGlua2luZyBvZiB0aGlzIHRoZSB3cm9uZyB3YXk7IGl0J3MgYENPTkZJR19CUEZfSklUYCB0aGF0J3MgdGhlIG1vcmUgZ2VuZXJhbCBmbGFnLlxuXG5JIHdvbmRlciBpZiB0aGVyZSBhcmUgYW55IG90aGVyIHJlbGF0ZWQgY29uZmlndXJhdGlvbnMuIEkgc2hvdWxkIHByb2JhYmx5IHNjYW4gYGFyY2gvcmlzY3YvS2NvbmZpZ2AgYW5kIGBuZXQvYnBmL0tjb25maWdgIHRvIGVuc3VyZSBJIGhhdmVuJ3QgbWlzc2VkIGFueXRoaW5nIGNydWNpYWwuIEp1c3QgYSBxdWljayBjaGVjayB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBzdWJ0bGUgaW50ZXJkZXBlbmRlbmNpZXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjYxNzAsIk91dHB1dFRva2VucyI6MjYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxODUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMTA6MDI6MjEuMDA5MDA5NzM4WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE4NTA2NTI4MTAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJQRl9KSVRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImtlcm5lbC9icGYvS2NvbmZpZz0yNz1jb25maWcgQlBGX1NZU0NBTExcXG4tLVxcbmtlcm5lbC9icGYvS2NvbmZpZy00MS1cXG5rZXJuZWwvYnBmL0tjb25maWc6NDI6Y29uZmlnIEJQRl9KSVRcXG5rZXJuZWwvYnBmL0tjb25maWctNDMtXFx0Ym9vbCBcXFwiRW5hYmxlIEJQRiBKdXN0IEluIFRpbWUgY29tcGlsZXJcXFwiXFxuLS1cXG5rZXJuZWwvYnBmL0tjb25maWctNTctXFxua2VybmVsL2JwZi9LY29uZmlnOjU4OmNvbmZpZyBCUEZfSklUX0FMV0FZU19PTlxcbmtlcm5lbC9icGYvS2NvbmZpZy01OS1cXHRib29sIFxcXCJQZXJtYW5lbnRseSBlbmFibGUgQlBGIEpJVCBhbmQgcmVtb3ZlIEJQRiBpbnRlcnByZXRlclxcXCJcXG4tLVxcbmtlcm5lbC9icGYvS2NvbmZpZy02OC1cXG5rZXJuZWwvYnBmL0tjb25maWc6Njk6Y29uZmlnIEJQRl9KSVRfREVGQVVMVF9PTlxcbmtlcm5lbC9icGYvS2NvbmZpZy03MC1cXHRkZWZfYm9vbCBBUkNIX1dBTlRfREVGQVVMVF9CUEZfSklUIHx8IEJQRl9KSVRfQUxXQVlTX09OXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI0VDEwOjAyOjIyLjg1OTY2ODE3OFoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUzNjA0NzkxNzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQlBGIEpJVCBGdXp6aW5nIFN0cmF0ZWd5KipcblxuT2theSwgc28gdGhpcyBwYXRjaCBhZGRzIGBicGZfdGltZWRfbWF5X2dvdG9gIHN1cHBvcnQgdG8gdGhlIFJJU0MtViBCUEYgSklULCB3aGljaCBpcyBncmVhdC4gSXQncyBkZWZpbml0ZWx5IGZ1bmN0aW9uYWwsIGFuZCBJIGtub3cgdGhhdCBtZWFucyBpdCBuZWVkcyBzb21lIHNlcmlvdXMgZnV6emluZy4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGZvY3VzIG9uIGBicGZfaml0X2VtaXRfaW5zbmAgYW5kIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AuIFdhaXQsIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgaXMgYXNzZW1ibHksIGh1aD8gU3l6a2FsbGVyIGRvZXNuJ3QgdXN1YWxseSBob29rIGFzc2VtYmx5IGRpcmVjdGx5LiBCdXQgYGJwZl9qaXRfZW1pdF9pbnNuYCBpcyBhIEMgZnVuY3Rpb24sIHRoYXQncyB3aGF0IEkgd2FudC5cblxuTGV0IG1lIHRoaW5r4oCmIGlzIGBicGZfaml0X2VtaXRfaW5zbmAgcmVhbGx5IGEgZ29vZCB0YXJnZXQ/IEl0J3MgdGhlIG1haW4gaW5zdHJ1Y3Rpb24gZW1pc3Npb24gZnVuY3Rpb24gZm9yIHRoZSBKSVQsIHNvIGl0IG1pZ2h0IGJlIGhlYXZpbHkgdXNlZCBkdXJpbmcgQlBGIHByb2dyYW0gbG9hZC4gQWgsIGJ1dCBpdCdzICpzcGVjaWZpYyogdG8gdGhlIEJQRiBKSVQuIFRoYXQgbWFrZXMgaXQgZ29vZCBmb3IgZnV6emluZyBzaW5jZSBpdOKAmXMgaW4gdGhlIGNyaXRpY2FsIHBhdGguXG5cbkFjdHVhbGx5LCBJ4oCZbSByZWFsaXppbmcgYGJwZl9qaXRfZW1pdF9pbnNuYCBpcyBjYWxsZWQgZm9yIGV2ZXJ5IHNpbmdsZSBCUEYgaW5zdHJ1Y3Rpb24gZHVyaW5nIEpJVCBjb21waWxhdGlvbi4gKlRoYXQncyogYSBqdWljeSB0YXJnZXQgZm9yIEJQRiBmdXp6aW5nLiBFdmVyeSBpbnN0cnVjdGlvbiB3aWxsIGdvIHRocm91Z2ggdGhhdCBwYXRoLiBHcmVhdC4gSSBhbHNvIG5lZWQgdG8gbWFrZSBhIG5vdGUgb2YgYGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG9gLiBJIHNob3VsZCBwcm9iYWJseSBjaGVjayBpZiB0aGVyZSBhcmUgb3RoZXIgZnVuY3Rpb25zIGludm9sdmVkIGhlcmUgdG9vLCBqdXN0IHRvIGJlIHN1cmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjY5NjAsIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMzYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMTA6MDI6MjguMjIwMTU4NDYzWiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwMjUxMjAyNywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJhcmNoX2JwZl90aW1lZF9tYXlfZ290b1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJhcmNoL3Jpc2N2L25ldC9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYz0xMzYxPWludCBicGZfaml0X2VtaXRfaW5zbihjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24sIHN0cnVjdCBydl9qaXRfY29udGV4dCAqY3R4LFxcbi0tXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xODQ0LVxcdFxcdC8qXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYzoxODQ1OlxcdFxcdCAqIGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKCkgaXMgZW1pdHRlZCBieSB0aGUgdmVyaWZpZXIgYW5kXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xODQ2LVxcdFxcdCAqIHJldHVybnMgaXRzIHJlc3VsdCBpbiBCUEZfUkVHX0FYIGluc3RlYWQgb2YgQlBGX1JFR18wLCBzb1xcbi0tXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xODQ4LVxcdFxcdCAqL1xcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM6MTg0OTpcXHRcXHRpZiAoaW5zbi1cXHUwMDNlc3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwgXFx1MDAyNlxcdTAwMjYgYWRkciAhPSAodTY0KWFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMTg1MC1cXHRcXHRcXHRlbWl0X212KGJwZl90b19ydl9yZWcoQlBGX1JFR18wLCBjdHgpLCBSVl9SRUdfQTAsIGN0eCk7XFxuLS1cXG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUy0xNi1cXG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUzoxNzpTWU1fRlVOQ19TVEFSVChhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcXG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUy0xOC1cXHRhZGRpXFx0c3AsIHNwLCAtKDgqU1pSRUcpXFxuLS1cXG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUy00Ni1cXHRyZXRcXG5hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUzo0NzpTWU1fRlVOQ19FTkQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI0VDEwOjAyOjI4LjMyMjY3NTQ1MVoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY5NzAyNDIwMzIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiB0aGUgUklTQy1WIEJQRiBKSVQgUGF0Y2gqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGludHJvZHVjZXMgYGJwZl90aW1lZF9tYXlfZ290by5TYCwgY29udGFpbmluZyBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gLiBUaGF0J3MgdGhlIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbi4gVGhlbiwgbG9va2luZyBhdCB0aGUgQyBjb2RlIGluIGBicGZfaml0X2NvbXA2NC5jYCwgdGhlIGNvcmUgSklUIGNvbXBpbGVyIGxvZ2ljIGlzIGJlaW5nIG1vZGlmaWVkLiBgYnBmX2ppdF9lbWl0X2luc25gIGlzIHRoZSBrZXkgZnVuY3Rpb24gYmVpbmcgdXBkYXRlZCwgYW5kIGEgbmV3IGZ1bmN0aW9uLCBgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b2AsIGlzIGJlaW5nIGFkZGVkLCB3aGljaCBpcyBlc3NlbnRpYWwgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgd2UgY2FuIHVzZSB0aGUgdGltZSBjb250cm9sIGZ1bmN0aW9uYWxpdHkuXG5cbk5vdywgZm9yIHRoZSBjb25maWd1cmF0aW9uLCBpdCBzZWVtcyBsaWtlIHdlIGp1c3QgbmVlZCBgQlBGX0pJVGAuIFRoYXQgbWFrZXMgc2Vuc2U7IGl0J3MgdGhlIGNvcmUgSklUIGNvbXBpbGVyIHdlJ3JlIHRhcmdldGluZy4gSSBzYXcgYEFSQ0hfUlY2NElgIG1lbnRpb25lZCwgYnV0IHRoYXQncyB0aGUgc3RhbmRhcmQgZm9yIDY0LWJpdCBSSVNDLVYsIHNvIHdlIGRvbid0IGhhdmUgdG8gc3BlY2lmeSB0aGF0LiBPaCwgd2FpdCwgd2UgYWxzbyBuZWVkIHRvIGhhdmUgYEJQRl9TWVNDQUxMYCBlbmFibGVkIGFzIHRoYXQgd2lsbCBiZSBuZWNlc3NhcnkgZm9yIGEgZnVsbCBlbmQtdG8tZW5kIGxvYWQgb2YgQlBGIHByb2dyYW1zLlxuXG5SaWdodCwgdGltZSB0byB1c2UgdGhlIGBzZXQtcmVzdWx0c2AgdG9vbC4gVGhlIGtleSBoZXJlIGlzIHRoZSBgV29ydGhGdXp6aW5nOiB0cnVlYC4gVGhhdCdzIGEgZ29vZCBzaWduOyB0aGUgcGF0Y2ggYXV0aG9yIGNvbnNpZGVycyB0aGlzIGNvZGUgcGF0aCBmdXp6ZXItd29ydGh5LiBUaGUgYEZvY3VzU3ltYm9sc2AgYXJlIGNsZWFybHkgdGhlIGltcG9ydGFudCBmdW5jdGlvbnM6IGBicGZfaml0X2VtaXRfaW5zbmAgYW5kIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYC4gVGhvc2UgYXJlIHRoZSB0d28gZnVuY3Rpb25zIHRoYXQgbmVlZCB0byBiZSB0ZXN0ZWQgdGhvcm91Z2hseS4gVGhlIHJlbGV2YW50IGBFbmFibGVDb25maWdzYCBpcyBqdXN0IGBCUEZfSklUYC5cblxuVGhlIHJlYXNvbmluZyBpcyBzb3VuZDogdGhpcyBwYXRjaCBhZGRzIGEgY3JpdGljYWwgbmV3IGZlYXR1cmUsIHRpbWVkIGBtYXlfZ290b2AsIHRvIHRoZSBSSVNDLVYgQlBGIEpJVC4gVGhpcyB0b3VjaGVzIGNvcmUgQlBGIEpJVCBsb2dpYyBhbmQgaXMgdGhlcmVmb3JlIHJlYWNoYWJsZSB3aGVuIGxvYWRpbmcgQlBGIHByb2dyYW1zLCBhIGNsYXNzaWMgYXR0YWNrIHN1cmZhY2UuIFdlIHNob3VsZCBkZWZpbml0ZWx5IGJlIGZ1enppbmcgdGhpcyFcblxuXG4iLCJJbnB1dFRva2VucyI6ODA0OCwiT3V0cHV0VG9rZW5zIjoxMTAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNDksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjRUMTA6MDI6MzUuMjkyOTIwMzQzWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODAyNjM3MjgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJQRl9KSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfaml0X2VtaXRfaW5zblwiLFxuICAgIFwiYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGltcGxlbWVudHMgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBpbnN0cnVjdGlvbiBmb3IgdGhlIFJJU0MtViBCUEYgSklUIGNvbXBpbGVyLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIEJQRiBKSVQgbG9naWMgb24gUklTQy1WIGFuZCBpcyByZWFjaGFibGUgd2hlbiBsb2FkaW5nIEJQRiBwcm9ncmFtcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCUEZfSklUXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYnBmX2ppdF9lbWl0X2luc25cIixcbiAgICBcImJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG9cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpbXBsZW1lbnRzIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gaW5zdHJ1Y3Rpb24gZm9yIHRoZSBSSVNDLVYgQlBGIEpJVCBjb21waWxlci4gVGhpcyBtb2RpZmllcyB0aGUgY29yZSBCUEYgSklUIGxvZ2ljIG9uIFJJU0MtViBhbmQgaXMgcmVhY2hhYmxlIHdoZW4gbG9hZGluZyBCUEYgcHJvZ3JhbXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowdpxnp[1] Phase: Succeeded StartedAt: 2026-07-24 10:03:07 +0000 UTC FinishedAt: 2026-07-24 10:03:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-24 10:03:07 +0000 UTC FinishedAt: 2026-07-24 10:03:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2] Phase: Succeeded StartedAt: 2026-07-24 10:03:07 +0000 UTC FinishedAt: 2026-07-24 11:53:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-24 10:03:07 +0000 UTC FinishedAt: 2026-07-24 11:53:28 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-24 10:03:07 +0000 UTC FinishedAt: 2026-07-24 10:03:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-24 10:03:07 +0000 UTC FinishedAt: 2026-07-24 10:03:14 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.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-workflowdpxnp/series-workflowdpxnp-convert-artifact-168737024/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-24 10:03:17 +0000 UTC FinishedAt: 2026-07-24 10:52:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-24 10:03:17 +0000 UTC FinishedAt: 2026-07-24 10:52:56 +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:*86a26f0a-301c-4b1a-a829-e986ef149dce,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-workflowdpxnp/series-workflowdpxnp-convert-artifact-168737024/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": "4c079504-4ce2-4a41-b7d1-f7e63d8fc25b", "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-workflowdpxnp/series-workflowdpxnp-build-action-3894150086/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-24 10:03:17 +0000 UTC FinishedAt: 2026-07-24 10:52:46 +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:*86a26f0a-301c-4b1a-a829-e986ef149dce,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-workflowdpxnp/series-workflowdpxnp-convert-artifact-168737024/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": "4c079504-4ce2-4a41-b7d1-f7e63d8fc25b", "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-workflowdpxnp/series-workflowdpxnp-build-action-3894150086/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-24 10:52:56 +0000 UTC FinishedAt: 2026-07-24 10:52:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-24 10:52:56 +0000 UTC FinishedAt: 2026-07-24 10:52:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-24 10:52:56 +0000 UTC FinishedAt: 2026-07-24 10:53:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-24 10:52:56 +0000 UTC FinishedAt: 2026-07-24 10:53:08 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.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-workflowdpxnp/series-workflowdpxnp-convert-artifact-768158375/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-24 10:53:17 +0000 UTC FinishedAt: 2026-07-24 10:55:16 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-24 10:53:17 +0000 UTC FinishedAt: 2026-07-24 10:55:06 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*4c079504-4ce2-4a41-b7d1-f7e63d8fc25b,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-workflowdpxnp/series-workflowdpxnp-build-action-3894150086/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-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-24 10:55:16 +0000 UTC FinishedAt: 2026-07-24 10:55:16 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-24 10:55:16 +0000 UTC FinishedAt: 2026-07-24 10:55:16 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-24 10:55:16 +0000 UTC FinishedAt: 2026-07-24 11:48:26 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-24 10:55:16 +0000 UTC FinishedAt: 2026-07-24 11:48:26 +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:*86a26f0a-301c-4b1a-a829-e986ef149dce,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-workflowdpxnp/series-workflowdpxnp-convert-artifact-768158375/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": "fec98876-054c-4a6d-9bfa-10b62843b993", "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-workflowdpxnp/series-workflowdpxnp-build-action-2115607595/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-24 10:55:16 +0000 UTC FinishedAt: 2026-07-24 11:48:16 +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:*86a26f0a-301c-4b1a-a829-e986ef149dce,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-workflowdpxnp/series-workflowdpxnp-convert-artifact-768158375/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": "fec98876-054c-4a6d-9bfa-10b62843b993", "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-workflowdpxnp/series-workflowdpxnp-build-action-2115607595/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-24 11:48:26 +0000 UTC FinishedAt: 2026-07-24 11:48:26 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-24 11:48:26 +0000 UTC FinishedAt: 2026-07-24 11:48:26 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-24 11:48:26 +0000 UTC FinishedAt: 2026-07-24 11:50:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-24 11:48:26 +0000 UTC FinishedAt: 2026-07-24 11:50:27 +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:*fec98876-054c-4a6d-9bfa-10b62843b993,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-workflowdpxnp/series-workflowdpxnp-build-action-2115607595/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-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-24 11:50:37 +0000 UTC FinishedAt: 2026-07-24 11:53:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-24 11:50:37 +0000 UTC FinishedAt: 2026-07-24 11:53:28 +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-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"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:*4c079504-4ce2-4a41-b7d1-f7e63d8fc25b,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*fec98876-054c-4a6d-9bfa-10b62843b993,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-workflowdpxnp/series-workflowdpxnp-build-action-3894150086/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-workflowdpxnp/series-workflowdpxnp-build-action-2115607595/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-24 11:50:37 +0000 UTC FinishedAt: 2026-07-24 11:50:47 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-24 11:50:37 +0000 UTC FinishedAt: 2026-07-24 11:50:43 +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-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"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-workflowdpxnp/series-workflowdpxnp-convert-artifact-2701991936/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-24 11:50:37 +0000 UTC FinishedAt: 2026-07-24 11:50:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-24 11:50:37 +0000 UTC FinishedAt: 2026-07-24 11:50:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-24 11:50:37 +0000 UTC FinishedAt: 2026-07-24 11:50:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-24 11:50:47 +0000 UTC FinishedAt: 2026-07-24 11:53:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdpxnp[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a23a71823352e2d792dcaae25f1ebb744acbfc0b","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"1d349949-35a9-4dd5-a00c-1d6acf27d2b3","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-24 11:50:47 +0000 UTC FinishedAt: 2026-07-24 11:53:08 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*4c079504-4ce2-4a41-b7d1-f7e63d8fc25b,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*fec98876-054c-4a6d-9bfa-10b62843b993,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-workflowdpxnp/series-workflowdpxnp-build-action-3894150086/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-workflowdpxnp/series-workflowdpxnp-build-action-2115607595/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-workflowdpxnp/series-workflowdpxnp-convert-artifact-2701991936/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,}