Name: series-workflow57pjs Phase: Succeeded StartedAt: 2026-07-20 03:40:17 +0000 UTC FinishedAt: 2026-07-20 05:16:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[0] Phase: Succeeded StartedAt: 2026-07-20 03:40:17 +0000 UTC FinishedAt: 2026-07-20 04:11:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[0].run-triage Phase: Succeeded StartedAt: 2026-07-20 03:40:17 +0000 UTC FinishedAt: 2026-07-20 04:11:53 +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": "94515f3a7d4256a5062176b7d6ed0471938cd51a", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_SYSCALL" ], "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": "94515f3a7d4256a5062176b7d6ed0471938cd51a", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_SYSCALL" ], "series_id": "beb59bce-e201-44e1-b27a-7f2630231b9b" }, "track": "KASAN", "fuzz": { "focus": [ "bpf" ], "focus_symbols": [ "bpf_prog_free" ], "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+CgkJCTx0ZD4yMDI2LzA3LzIwIDA0OjExPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9TWVNDQUxMJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YnBmX3Byb2dfZnJlZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBjaGFuZ2VzIHRoZSB3b3JrcXVldWUgdXNlZCBmb3IgZnJlZWluZyBCUEYgcHJvZ3JhbXMgZnJvbSB0aGUgZGVmYXVsdCBzeXN0ZW0gd29ya3F1ZXVlIHRvIHRoZSBzeXN0ZW1fZGZsX2xvbmdfd3EuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0aGF0IGNvdWxkIGFmZmVjdCBzY2hlZHVsaW5nIGFuZCByYWNlIGNvbmRpdGlvbnMgZHVyaW5nIEJQRiBwcm9ncmFtIGNsZWFudXAuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjAgMDQ6MTE8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA1ZmU3NWQxNmQxYWM4YzJhYTc5NWQ0YTJjOWFkZTUwMWQxNThlMmQzXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdWwgMjAgMDQ6MTE6MjAgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9jb3JlLmMgYi9rZXJuZWwvYnBmL2NvcmUuY1xuaW5kZXggNmUxOWEwMzBkYTZmMTMuLmEyY2E2YmRmYjZmNTZiIDEwMDY0NFxuLS0tIGEva2VybmVsL2JwZi9jb3JlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2tlcm5lbC9icGYvY29yZS5jXG5AQCAtMzExNSw3ICYjNDM7MzExNSw3IEBAIHZvaWQgYnBmX3Byb2dfZnJlZShzdHJ1Y3QgYnBmX3Byb2cgKmZwKVxuIFx0XHRicGZfcHJvZ19wdXQoYXV4LVx1MDAzZWRzdF9wcm9nKTtcbiBcdGJwZl90b2tlbl9wdXQoYXV4LVx1MDAzZXRva2VuKTtcbiBcdElOSVRfV09SSyhcdTAwMjZhdXgtXHUwMDNld29yaywgYnBmX3Byb2dfZnJlZV9kZWZlcnJlZCk7XG4tXHRzY2hlZHVsZV93b3JrKFx1MDAyNmF1eC1cdTAwM2V3b3JrKTtcbiYjNDM7XHRxdWV1ZV93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXHUwMDI2YXV4LVx1MDAzZXdvcmspO1xuIH1cbiBFWFBPUlRfU1lNQk9MX0dQTChicGZfcHJvZ19mcmVlKTtcbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAwNDoxMTwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCUEZfU1lTQ0FMTCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JwZl9wcm9nX2ZyZWUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgd29ya3F1ZXVlIHVzZWQgZm9yIGZyZWVpbmcgQlBGIHByb2dyYW1zIGZyb20gdGhlIGRlZmF1bHQgc3lzdGVtIHdvcmtxdWV1ZSB0byB0aGUgc3lzdGVtX2RmbF9sb25nX3dxLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBjb3VsZCBhZmZlY3Qgc2NoZWR1bGluZyBhbmQgcmFjZSBjb25kaXRpb25zIGR1cmluZyBCUEYgcHJvZ3JhbSBjbGVhbnVwLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCA1ZmU3NWQxNmQxYWM4YzJhYTc5NWQ0YTJjOWFkZTUwMWQxNThlMmQzCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIE1vbiBKdWwgMjAgMDQ6MTE6MjAgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2NvcmUuYyBiL2tlcm5lbC9icGYvY29yZS5jCmluZGV4IDZlMTlhMDMwZGE2ZjEzLi5hMmNhNmJkZmI2ZjU2YiAxMDA2NDQKLS0tIGEva2VybmVsL2JwZi9jb3JlLmMKJiM0MzsmIzQzOyYjNDM7IGIva2VybmVsL2JwZi9jb3JlLmMKQEAgLTMxMTUsNyAmIzQzOzMxMTUsNyBAQCB2b2lkIGJwZl9wcm9nX2ZyZWUoc3RydWN0IGJwZl9wcm9nICpmcCkKIAkJYnBmX3Byb2dfcHV0KGF1eC0mZ3Q7ZHN0X3Byb2cpOwogCWJwZl90b2tlbl9wdXQoYXV4LSZndDt0b2tlbik7CiAJSU5JVF9XT1JLKCZhbXA7YXV4LSZndDt3b3JrLCBicGZfcHJvZ19mcmVlX2RlZmVycmVkKTsKLQlzY2hlZHVsZV93b3JrKCZhbXA7YXV4LSZndDt3b3JrKTsKJiM0MzsJcXVldWVfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsICZhbXA7YXV4LSZndDt3b3JrKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGJwZl9wcm9nX2ZyZWUpOwogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDA0OjExPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE4NDIKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAyNTkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgQlBGIFByb2dyYW0gRnJlZWluZyBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0JiMzOTtzIHR3ZWFrZWQgYGtlcm5lbC9icGYvY29yZS5jYCwgc3BlY2lmaWNhbGx5IHRoZSBgYnBmX3Byb2dfZnJlZWAgZnVuY3Rpb24uIFRoZSBrZXkgY2hhbmdlIGlzIHRoaXM6IHRoZXkmIzM5O3ZlIHN3YXBwZWQgYHNjaGVkdWxlX3dvcmsoJmFtcDthdXgtJmd0O3dvcmspO2Agd2l0aCBgcXVldWVfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsICZhbXA7YXV4LSZndDt3b3JrKTtgLiBSaWdodCBvZmYgdGhlIGJhdCwgSSBrbm93IHRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZS4gSXQmIzM5O3MgbW92aW5nIHRoZSB3b3JrIG9mIGZyZWVpbmcgQlBGIHByb2dyYW1zIGZyb20gd2hhdGV2ZXIgZGVmYXVsdCB3b3JrcXVldWUgaXQgd2FzIHVzaW5nIHRvIGBzeXN0ZW1fZGZsX2xvbmdfd3FgLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgKndoeSo/ICBUaGF0IGxvb2tzIGxpa2UgYSBsb25nLXJ1bm5pbmcgd29ya3F1ZXVlLi4uIEkgc2hvdWxkIGNoZWNrIHdoYXQgdGhhdCBxdWV1ZSBpcyBhZ2FpbiwgSSB0aGluayBgc2NoZWR1bGVfd29ya2Agbm9ybWFsbHkgdXNlcyBgc3lzdGVtX3dxYCwgcmlnaHQ/IFllcywgdGhhdCYjMzk7cyB3aGF0IGl0IGxvb2tzIGxpa2UuCgpTbywgdGhpcyAqaXMqIGEgZnVuY3Rpb25hbCBkaWZmZXJlbmNlLiAgSXQmIzM5O3MganVzdCBhIG1hdHRlciBvZiB3aGV0aGVyIHRoZSBuZXcgd29ya3F1ZXVlIHByb3ZpZGVzIHNvbWUgYmVuZWZpdCwgcGVyaGFwcyB3aXRoIGJldHRlciBJL08gYmxvY2tpbmcgY2FwYWJpbGl0aWVzLiBJIG5lZWQgdG8gdGhpbmsgYWJvdXQgdGhpcyBpbiB0ZXJtcyBvZiByYWNlIGNvbmRpdGlvbnMgb3IgcGVyZm9ybWFuY2UgaW1wbGljYXRpb25zLCBpdCBjb3VsZCBiZSBhIHNtYWxsIGNoYW5nZSB3aXRoIGxhcmdlIGltcGxpY2F0aW9ucy4gSXQmIzM5O3MgYSBCUEYgZnVuY3Rpb24sIGFuZCBCUEYgaXMgY29yZSwgc28gSSBzaG91bGQgZnV6eiB0aGlzLiBJIHNob3VsZCBjaGVjayBpZiB0aGVyZSBhcmUgYW55IGNvbmZpZyBkZXBlbmRlbmNpZXMsIEkgdGhpbmsgaXQmIzM5O3MganVzdCBgQ09ORklHX0JQRl9TWVNDQUxMYCB0aGF0IGVuYWJsZXMgQlBGLiAgTm93LCBsZXQgbWUgZ28gYmFjayBhbmQgcmVhZCBga2VybmVsL2JwZi9jb3JlLmNgIGFuZCBzcGVjaWZpY2FsbHkgYGJwZl9wcm9nX2ZyZWVgIHRvIGdldCBhIGJldHRlciBoYW5kbGUgb24gdGhlIGNvbnRleHQgb2YgdGhpcyBjaGFuZ2UuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjAgMDQ6MTE8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnBmX3Byb2dfZnJlZSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2tlcm5lbC9icGYvY29yZS5jJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2tlcm5lbC9icGYvY29yZS5jPTI1Nz1zdHJ1Y3QgYnBmX3Byb2cgKmJwZl9wcm9nX3JlYWxsb2Moc3RydWN0IGJwZl9wcm9nICpmcF9vbGQsIHVuc2lnbmVkIGludCBzaXplLFxuLS1cbmtlcm5lbC9icGYvY29yZS5jLTI4MC1cdFx0ZnBfb2xkLVx1MDAzZWFjdGl2ZSA9IE5VTEw7XG5rZXJuZWwvYnBmL2NvcmUuYzoyODE6XHRcdF9fYnBmX3Byb2dfZnJlZShmcF9vbGQpO1xua2VybmVsL2JwZi9jb3JlLmMtMjgyLVx0fVxuLS1cbmtlcm5lbC9icGYvY29yZS5jLTI4Ni1cbmtlcm5lbC9icGYvY29yZS5jOjI4Nzp2b2lkIF9fYnBmX3Byb2dfZnJlZShzdHJ1Y3QgYnBmX3Byb2cgKmZwKVxua2VybmVsL2JwZi9jb3JlLmMtMjg4LXtcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYz0xNTI0PXN0YXRpYyB2b2lkIGJwZl9wcm9nX2Nsb25lX2ZyZWUoc3RydWN0IGJwZl9wcm9nICpmcClcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0xNTM1LVx0ZnAtXHUwMDNlYWN0aXZlID0gTlVMTDtcbmtlcm5lbC9icGYvY29yZS5jOjE1MzY6XHRfX2JwZl9wcm9nX2ZyZWUoZnApO1xua2VybmVsL2JwZi9jb3JlLmMtMTUzNy19XG4tLVxua2VybmVsL2JwZi9jb3JlLmM9MzA2Mz1zdGF0aWMgdm9pZCBicGZfZnJlZV91c2VkX2J0ZnMoc3RydWN0IGJwZl9wcm9nX2F1eCAqYXV4KVxuLS1cbmtlcm5lbC9icGYvY29yZS5jLTMwNjgtXG5rZXJuZWwvYnBmL2NvcmUuYzozMDY5OnN0YXRpYyB2b2lkIGJwZl9wcm9nX2ZyZWVfZGVmZXJyZWQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxua2VybmVsL2JwZi9jb3JlLmMtMzA3MC17XG4tLVxua2VybmVsL2JwZi9jb3JlLmMtMzEwOS1cbmtlcm5lbC9icGYvY29yZS5jOjMxMTA6dm9pZCBicGZfcHJvZ19mcmVlKHN0cnVjdCBicGZfcHJvZyAqZnApXG5rZXJuZWwvYnBmL2NvcmUuYy0zMTExLXtcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0zMTE2LVx0YnBmX3Rva2VuX3B1dChhdXgtXHUwMDNldG9rZW4pO1xua2VybmVsL2JwZi9jb3JlLmM6MzExNzpcdElOSVRfV09SSyhcdTAwMjZhdXgtXHUwMDNld29yaywgYnBmX3Byb2dfZnJlZV9kZWZlcnJlZCk7XG5rZXJuZWwvYnBmL2NvcmUuYy0zMTE4LVx0cXVldWVfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNmF1eC1cdTAwM2V3b3JrKTtcbmtlcm5lbC9icGYvY29yZS5jLTMxMTktfVxua2VybmVsL2JwZi9jb3JlLmM6MzEyMDpFWFBPUlRfU1lNQk9MX0dQTChicGZfcHJvZ19mcmVlKTtcbmtlcm5lbC9icGYvY29yZS5jLTMxMjEtXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjAgMDQ6MTE8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzA4MQoJCQkJCQkJb3V0cHV0OiAyOAoJCQkJCQkJdGhvdWdodHM6IDg4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIEtlcm5lbCBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBhbmQgaXQgYXBwZWFycyB0byBiZSBhIGZ1bmN0aW9uYWxseSBzaWduaWZpY2FudCBjaGFuZ2UsIHNwZWNpZmljYWxseSBhbHRlcmluZyBob3cgd29yayBpcyBzY2hlZHVsZWQgd2l0aGluIHRoZSBrZXJuZWwuIFRoZSBsaW5lIGBzY2hlZHVsZV93b3JrKCZhbXA7YXV4LSZndDt3b3JrKTtgIGlzIGJlaW5nIHJlcGxhY2VkIHdpdGggYHF1ZXVlX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCAmYW1wO2F1eC0mZ3Q7d29yayk7YC4gVGhpcyBtZWFucyB0aGUgd29yayBxdWV1ZSBpcyBubyBsb25nZXIgdGhlIGRlZmF1bHQgb25lLCB3aGljaCBpcyBhbiBpbXBvcnRhbnQgY29uc2lkZXJhdGlvbi4gVGhlIGZ1bmN0aW9uIGBicGZfcHJvZ19mcmVlYCBzZWVtcyB0byBiZSB0aGUgY3JpdGljYWwgc3ltYm9sIHRoaXMgcmV2b2x2ZXMgYXJvdW5kLiBHaXZlbiB0aGUgY29udGV4dCwgYW5kIGVzcGVjaWFsbHkgdGhhdCB0aGUgY29uZmlnIGlzIGBCUEZfU1lTQ0FMTGAsIHRoaXMgc3VnZ2VzdHMgd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBhIEJQRiBzeXNjYWxsLXJlbGF0ZWQgY2hhbmdlLiBNeSBpbW1lZGlhdGUgbmV4dCBzdGVwIGlzIHRvIHZlcmlmeSB0aGUgZGVmaW5pdGlvbiBhbmQgcHVycG9zZSBvZiBgc3lzdGVtX2RmbF9sb25nX3dxYC4gVW5kZXJzdGFuZGluZyBpdHMgY2hhcmFjdGVyaXN0aWNzLCBwb3RlbnRpYWwgcmVzb3VyY2UgbGltaXRhdGlvbnMsIGFuZCBpbnRlcmFjdGlvbnMgd2l0aCBvdGhlciBwYXJ0cyBvZiB0aGUga2VybmVsIGlzIGVzc2VudGlhbCB0byBmdWxseSB1bmRlcnN0YW5kIHRoZSBpbXBhY3Qgb2YgdGhpcyBtb2RpZmljYXRpb24uIFdlIG5lZWQgdG8gYmUgc3VyZSB0aGF0IHRoZSBjaGFuZ2UgZG9lc24mIzM5O3QgaW50cm9kdWNlIGFueSBwZXJmb3JtYW5jZSByZWdyZXNzaW9ucyBvciB1bmV4cGVjdGVkIGJlaGF2aW9ycywgcGFydGljdWxhcmx5IGFyb3VuZCBCUEYgcHJvZ3JhbSBsaWZlY3ljbGUgbWFuYWdlbWVudC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAwNDoxMTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtzeXN0ZW1fZGZsX2xvbmdfd3EmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDsmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9hdGEvbGliYXRhLWVoLmM9NzIxPXZvaWQgYXRhX3Njc2lfcG9ydF9lcnJvcl9oYW5kbGVyKHN0cnVjdCBTY3NpX0hvc3QgKmhvc3QsIHN0cnVjdCBhdGFfcG9ydCAqYXApXG4tLVxuZHJpdmVycy9hdGEvbGliYXRhLWVoLmMtODIzLVx0XHQhKGFwLVx1MDAzZWZsYWdzIFx1MDAyNiBBVEFfRkxBR19TQVNfSE9TVCkpXG5kcml2ZXJzL2F0YS9saWJhdGEtZWguYzo4MjQ6XHRcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNmFwLVx1MDAzZWhvdHBsdWdfdGFzaywgMCk7XG5kcml2ZXJzL2F0YS9saWJhdGEtZWguYy04MjUtXG4tLVxuZHJpdmVycy9hdGEvbGliYXRhLXNjc2kuYz00NzA3PXZvaWQgYXRhX3Njc2lfc2Nhbl9ob3N0KHN0cnVjdCBhdGFfcG9ydCAqYXAsIGludCBzeW5jKVxuLS1cbmRyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmMtNDc3Ni1cbmRyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmM6NDc3NzpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNmFwLVx1MDAzZWhvdHBsdWdfdGFzayxcbmRyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmMtNDc3OC1cdFx0XHQgICByb3VuZF9qaWZmaWVzX3JlbGF0aXZlKEhaKSk7XG4tLVxuZHJpdmVycy9pMmMvaTJjLXNsYXZlLXRlc3R1bml0LmM9ODI9c3RhdGljIGludCBpMmNfc2xhdmVfdGVzdHVuaXRfc2xhdmVfY2Ioc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCxcbi0tXG5kcml2ZXJzL2kyYy9pMmMtc2xhdmUtdGVzdHVuaXQuYy0xMjYtXHRcdFx0c2V0X2JpdChUVV9GTEFHX0lOX1BST0NFU1MsIFx1MDAyNnR1LVx1MDAzZWZsYWdzKTtcbmRyaXZlcnMvaTJjL2kyYy1zbGF2ZS10ZXN0dW5pdC5jOjEyNzpcdFx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZ0dS1cdTAwM2V3b3JrZXIsXG5kcml2ZXJzL2kyYy9pMmMtc2xhdmUtdGVzdHVuaXQuYy0xMjgtXHRcdFx0XHRcdCAgIG1zZWNzX3RvX2ppZmZpZXMoMTAgKiB0dS1cdTAwM2VyZWdzW1RVX1JFR19ERUxBWV0pKTtcbi0tXG5kcml2ZXJzL3BoeS90aS9waHktdHVzYjEyMTAuYz0xOTE9c3RhdGljIHZvaWQgdHVzYjEyMTBfY2hnX2RldF9zZXRfc3RhdGUoc3RydWN0IHR1c2IxMjEwICp0dXNiLFxuLS1cbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jLTE5OS1cdHR1c2ItXHUwMDNlY2hnX2RldF9zdGF0ZSA9IG5ld19zdGF0ZTtcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jOjIwMDpcdG1vZF9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZ0dXNiLVx1MDAzZWNoZ19kZXRfd29yayxcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jLTIwMS1cdFx0XHQgbXNlY3NfdG9famlmZmllcyhkZWxheV9tcykpO1xuLS1cbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jPTM3Nj1zdGF0aWMgaW50IHR1c2IxMjEwX3BzeV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLFxuLS1cbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jLTM4Mi1cdGlmIChwc3kgIT0gdHVzYi1cdTAwM2Vwc3kgXHUwMDI2XHUwMDI2IHBzeS1cdTAwM2VkZXNjLVx1MDAzZXR5cGUgPT0gUE9XRVJfU1VQUExZX1RZUEVfVVNCKVxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmM6MzgzOlx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZ0dXNiLVx1MDAzZWNoZ19kZXRfd29yaywgMCk7XG5kcml2ZXJzL3BoeS90aS9waHktdHVzYjEyMTAuYy0zODQtXG4tLVxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmM9NDMyPXN0YXRpYyB2b2lkIHR1c2IxMjEwX3Byb2JlX2NoYXJnZXJfZGV0ZWN0KHN0cnVjdCB0dXNiMTIxMCAqdHVzYilcbi0tXG5kcml2ZXJzL3BoeS90aS9waHktdHVzYjEyMTAuYy00NjAtXHRJTklUX0RFTEFZRURfV09SSyhcdTAwMjZ0dXNiLVx1MDAzZWNoZ19kZXRfd29yaywgdHVzYjEyMTBfY2hnX2RldF93b3JrKTtcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jOjQ2MTpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnR1c2ItXHUwMDNlY2hnX2RldF93b3JrLCAyICogSFopO1xuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmMtNDYyLVxuLS1cbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYz0yMjA9c3RhdGljIHNzaXplX3Qgc3RvcmVfcmVjb25uZWN0X2RlbGF5KHN0cnVjdCBkZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmMtMjM2LVx0ICAgIHJwb3J0LVx1MDAzZXN0YXRlICE9IFNSUF9SUE9SVF9SVU5OSU5HKSB7XG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmM6MjM3Olx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZycG9ydC1cdTAwM2VyZWNvbm5lY3Rfd29yayxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy0yMzgtXHRcdFx0XHQgICBkZWxheSAqIEhaKTtcbi0tXG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmM9Mzc4PXN0YXRpYyB2b2lkIHNycF9yZWNvbm5lY3Rfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4tLVxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTM5Mi1cdFx0aWYgKGRlbGF5IFx1MDAzZSAwKVxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jOjM5MzpcdFx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTM5NC1cdFx0XHRcdFx0ICAgXHUwMDI2cnBvcnQtXHUwMDNlcmVjb25uZWN0X3dvcmssIGRlbGF5ICogSFopO1xuLS1cbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYz00NjE9c3RhdGljIHZvaWQgX19zcnBfc3RhcnRfdGxfZmFpbF90aW1lcnMoc3RydWN0IHNycF9ycG9ydCAqcnBvcnQpXG4tLVxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTQ3Ni1cdGlmIChkZWxheSBcdTAwM2UgMClcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYzo0Nzc6XHRcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnJwb3J0LVx1MDAzZXJlY29ubmVjdF93b3JrLFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTQ3OC1cdFx0XHRcdCAgIDFVTCAqIGRlbGF5ICogSFopO1xuLS1cbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy00ODQtXHRcdGlmIChmYXN0X2lvX2ZhaWxfdG1vIFx1MDAzZT0gMClcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYzo0ODU6XHRcdFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy00ODYtXHRcdFx0XHRcdCAgIFx1MDAyNnJwb3J0LVx1MDAzZWZhc3RfaW9fZmFpbF93b3JrLFxuLS1cbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy00ODgtXHRcdGlmIChkZXZfbG9zc190bW8gXHUwMDNlPSAwKVxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jOjQ4OTpcdFx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTQ5MC1cdFx0XHRcdFx0ICAgXHUwMDI2cnBvcnQtXHUwMDNlZGV2X2xvc3Nfd29yayxcbi0tXG5mcy9mdXNlL2RheC5jPTEwOD1fX2tpY2tfZG1hcF9mcmVlX3dvcmtlcihzdHJ1Y3QgZnVzZV9jb25uX2RheCAqZmNkLCB1bnNpZ25lZCBsb25nIGRlbGF5X21zKVxuLS1cbmZzL2Z1c2UvZGF4LmMtMTE1LVx0aWYgKGZjZC1cdTAwM2Vucl9mcmVlX3JhbmdlcyBcdTAwM2MgZnJlZV90aHJlc2hvbGQpXG5mcy9mdXNlL2RheC5jOjExNjpcdFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXHUwMDI2ZmNkLVx1MDAzZWZyZWVfd29yayxcbmZzL2Z1c2UvZGF4LmMtMTE3LVx0XHRcdFx0ICAgbXNlY3NfdG9famlmZmllcyhkZWxheV9tcykpO1xuLS1cbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmg9NDE4PWVudW0gd3FfY29uc3RzIHtcbi0tXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oLTQ0NC0gKlxuaW5jbHVkZS9saW51eC93b3JrcXVldWUuaDo0NDU6ICogc3lzdGVtX2RmbF9sb25nX3dxIGlzIHNpbWlsYXIgdG8gc3lzdGVtX2RmbF93cSBidXQgaXQgbWF5IGhvc3QgbG9uZyBydW5uaW5nXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oLTQ0Ni0gKiB3b3Jrcy5cbi0tXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oPTQ3NT1leHRlcm4gc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKnN5c3RlbV9iaF9oaWdocHJpX3dxO1xuaW5jbHVkZS9saW51eC93b3JrcXVldWUuaDo0NzY6ZXh0ZXJuIHN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpzeXN0ZW1fZGZsX2xvbmdfd3E7XG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oLTQ3Ny1cbi0tXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oPTc5Nj1leHRlcm4gdm9pZCBfX3dhcm5fZmx1c2hpbmdfc3lzdGVtd2lkZV93cSh2b2lkKVxuLS1cbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmgtODE1LVx0ICAgICBfd3EgPT0gc3lzdGVtX2xvbmdfd3EpIHx8XHRcdFx0XHRcdFxcXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oOjgxNjpcdCAgICAoX19idWlsdGluX2NvbnN0YW50X3AoX3dxID09IHN5c3RlbV9kZmxfbG9uZ193cSkgXHUwMDI2XHUwMDI2XHRcdFxcXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oOjgxNzpcdCAgICAgX3dxID09IHN5c3RlbV9kZmxfbG9uZ193cSkgfHxcdFx0XHRcdFx0XFxcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmgtODE4LVx0ICAgIChfX2J1aWx0aW5fY29uc3RhbnRfcChfd3EgPT0gc3lzdGVtX2RmbF93cSkgXHUwMDI2XHUwMDI2XHRcdFxcXG4tLVxua2VybmVsL2JwZi9jb3JlLmM9MzExMD12b2lkIGJwZl9wcm9nX2ZyZWUoc3RydWN0IGJwZl9wcm9nICpmcClcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0zMTE3LVx0SU5JVF9XT1JLKFx1MDAyNmF1eC1cdTAwM2V3b3JrLCBicGZfcHJvZ19mcmVlX2RlZmVycmVkKTtcbmtlcm5lbC9icGYvY29yZS5jOjMxMTg6XHRxdWV1ZV93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXHUwMDI2YXV4LVx1MDAzZXdvcmspO1xua2VybmVsL2JwZi9jb3JlLmMtMzExOS19XG4tLVxua2VybmVsL3dvcmtxdWV1ZS5jPTU0NT1FWFBPUlRfU1lNQk9MX0dQTChzeXN0ZW1fYmhfaGlnaHByaV93cSk7XG5rZXJuZWwvd29ya3F1ZXVlLmM6NTQ2OnN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpzeXN0ZW1fZGZsX2xvbmdfd3EgX19yb19hZnRlcl9pbml0O1xua2VybmVsL3dvcmtxdWV1ZS5jOjU0NzpFWFBPUlRfU1lNQk9MX0dQTChzeXN0ZW1fZGZsX2xvbmdfd3EpO1xua2VybmVsL3dvcmtxdWV1ZS5jLTU0OC1cbi0tXG5rZXJuZWwvd29ya3F1ZXVlLmM9Nzk3MT12b2lkIF9faW5pdCB3b3JrcXVldWVfaW5pdF9lYXJseSh2b2lkKVxuLS1cbmtlcm5lbC93b3JrcXVldWUuYy04MDcwLVx0XHRcdFx0XHQgICAgICAgV1FfQkggfCBXUV9ISUdIUFJJIHwgV1FfUEVSQ1BVLCAwKTtcbmtlcm5lbC93b3JrcXVldWUuYzo4MDcxOlx0c3lzdGVtX2RmbF9sb25nX3dxID0gYWxsb2Nfd29ya3F1ZXVlKFwmIzM0O2V2ZW50c19kZmxfbG9uZ1wmIzM0OywgV1FfVU5CT1VORCwgV1FfTUFYX0FDVElWRSk7XG5rZXJuZWwvd29ya3F1ZXVlLmMtODA3Mi1cdEJVR19PTighc3lzdGVtX3dxIHx8ICFzeXN0ZW1fcGVyY3B1X3dxfHwgIXN5c3RlbV9oaWdocHJpX3dxIHx8ICFzeXN0ZW1fbG9uZ193cSB8fFxuLS1cbmtlcm5lbC93b3JrcXVldWUuYy04MDc1LVx0ICAgICAgICFzeXN0ZW1fZnJlZXphYmxlX3Bvd2VyX2VmZmljaWVudF93cSB8fFxua2VybmVsL3dvcmtxdWV1ZS5jOjgwNzY6XHQgICAgICAgIXN5c3RlbV9iaF93cSB8fCAhc3lzdGVtX2JoX2hpZ2hwcmlfd3EgfHwgIXN5c3RlbV9kZmxfbG9uZ193cSk7XG5rZXJuZWwvd29ya3F1ZXVlLmMtODA3Ny19XG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYz0yNDM9c3RhdGljIGlubGluZSBpbnQgaXBfdnNfY29ubl9oYXNoKHN0cnVjdCBpcF92c19jb25uICpjcClcbi0tXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jLTI4Ny1cdCAgICAhdGVzdF9hbmRfc2V0X2JpdChJUF9WU19XT1JLX0NPTk5fUkVTSVpFLCBcdTAwMjZpcHZzLVx1MDAzZXdvcmtfZmxhZ3MpKVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYzoyODg6XHRcdG1vZF9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZpcHZzLVx1MDAzZWNvbm5fcmVzaXplX3dvcmssIDApO1xubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYy0yODktXG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYz04MDA9c3RhdGljIHZvaWQgY29ubl9yZXNpemVfd29ya19oYW5kbGVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbi0tXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jLTkxOC1cdC8qIE1vbml0b3IgaWYgd2UgbmVlZCB0byBzaHJpbmsgdGFibGUgKi9cbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jb25uLmM6OTE5Olx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXHUwMDI2aXB2cy1cdTAwM2Vjb25uX3Jlc2l6ZV93b3JrLFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYy05MjAtXHRcdFx0ICAgbW9yZV93b3JrID8gMSA6IDIgKiBIWik7XG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jPTY3MD1zdGF0aWMgdm9pZCBzdmNfcmVzaXplX3dvcmtfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jLTgyMy1cdFx0cmV0dXJuO1xubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jOjgyNDpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNmlwdnMtXHUwMDNlc3ZjX3Jlc2l6ZV93b3JrLCAxKTtcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYy04MjUtXHRyZXR1cm47XG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jPTE3MDk9aXBfdnNfYWRkX3NlcnZpY2Uoc3RydWN0IG5ldG5zX2lwdnMgKmlwdnMsIHN0cnVjdCBpcF92c19zZXJ2aWNlX3VzZXJfa2VybiAqdSxcbi0tXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMTg3MS1cdGlmIChncm93IFx1MDAyNlx1MDAyNiAhdGVzdF9hbmRfc2V0X2JpdChJUF9WU19XT1JLX1NWQ19SRVNJWkUsIFx1MDAyNmlwdnMtXHUwMDNld29ya19mbGFncykpXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmM6MTg3MjpcdFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXHUwMDI2aXB2cy1cdTAwM2VzdmNfcmVzaXplX3dvcmssXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMTg3My1cdFx0XHRcdCAgIDEpO1xuLS1cbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYz0yMDg2PXN0YXRpYyBpbnQgaXBfdnNfZGVsX3NlcnZpY2Uoc3RydWN0IGlwX3ZzX3NlcnZpY2UgKnN2Yylcbi0tXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMjEyNy1cdFx0XHRcdFx0XHRcdTAwMjZpcHZzLVx1MDAzZXdvcmtfZmxhZ3MpKVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jOjIxMjg6XHRcdFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYy0yMTI5LVx0XHRcdFx0XHQgICBcdTAwMjZpcHZzLVx1MDAzZXN2Y19yZXNpemVfd29yaywgMSk7XG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jPTI1ODk9c3RhdGljIGludCBpcHZzX3Byb2NfY29ubl9sZmFjdG9yKGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsXG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jLTI2MDgtXHRcdFx0aWYgKHJjdV9hY2Nlc3NfcG9pbnRlcihpcHZzLVx1MDAzZWNvbm5fdGFiKSlcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYzoyNjA5Olx0XHRcdFx0bW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMjYxMC1cdFx0XHRcdFx0XHQgXHUwMDI2aXB2cy1cdTAwM2Vjb25uX3Jlc2l6ZV93b3JrLCAwKTtcbi0tXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmM9MjYxNj1zdGF0aWMgaW50IGlwdnNfcHJvY19zdmNfbGZhY3Rvcihjb25zdCBzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLFxuLS1cbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYy0yNjQwLVx0XHRcdFx0ICAgICAgXHUwMDI2aXB2cy1cdTAwM2V3b3JrX2ZsYWdzKSlcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYzoyNjQxOlx0XHRcdFx0bW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMjY0Mi1cdFx0XHRcdFx0XHQgXHUwMDI2aXB2cy1cdTAwM2VzdmNfcmVzaXplX3dvcmssIDApO1xuLS1cbm5ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0LmM9NDgwPXhwcnRfcmRtYV9jb25uZWN0KHN0cnVjdCBycGNfeHBydCAqeHBydCwgc3RydWN0IHJwY190YXNrICp0YXNrKVxuLS1cbm5ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0LmMtNDkzLVx0dHJhY2VfeHBydHJkbWFfb3BfY29ubmVjdChyX3hwcnQsIGRlbGF5KTtcbm5ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0LmM6NDk0Olx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXHUwMDI2cl94cHJ0LVx1MDAzZXJ4X2Nvbm5lY3Rfd29ya2VyLFxubmV0L3N1bnJwYy94cHJ0cmRtYS90cmFuc3BvcnQuYy00OTUtXHRcdFx0ICAgZGVsYXkpO1xuLS1cbnNvdW5kL3NvYy9jb2RlY3MvY3M0Mmw0My1qYWNrLmM9Nzk3PWlycXJldHVybl90IGNzNDJsNDNfdGlwX3NlbnNlKGludCBpcnEsIHZvaWQgKmRhdGEpXG4tLVxuc291bmQvc29jL2NvZGVjcy9jczQybDQzLWphY2suYy04MDgtXG5zb3VuZC9zb2MvY29kZWNzL2NzNDJsNDMtamFjay5jOjgwOTpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnByaXYtXHUwMDNldGlwX3NlbnNlX3dvcmssXG5zb3VuZC9zb2MvY29kZWNzL2NzNDJsNDMtamFjay5jLTgxMC1cdFx0XHQgICBtc2Vjc190b19qaWZmaWVzKGRiX2RlbGF5KSk7XG4tLVxuc291bmQvc29jL2NvZGVjcy9jczQybDQzLWphY2suYz05MDY9aW50IGNzNDJsNDNfamFja19wdXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKVxuLS1cbnNvdW5kL3NvYy9jb2RlY3MvY3M0Mmw0My1qYWNrLmMtOTM1LVx0aWYgKCFvdmVycmlkZSkge1xuc291bmQvc29jL2NvZGVjcy9jczQybDQzLWphY2suYzo5MzY6XHRcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnByaXYtXHUwMDNldGlwX3NlbnNlX3dvcmssXG5zb3VuZC9zb2MvY29kZWNzL2NzNDJsNDMtamFjay5jLTkzNy1cdFx0XHRcdCAgIDApO1xuLS1cbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM9MjMxND1zdGF0aWMgdm9pZCBydDU2NDBfamFja193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbi0tXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTIzOTktXHRcdCAqL1xuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYzoyNDAwOlx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZydDU2NDAtXHUwMDNlamFja193b3JrLCAwKTtcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjQwMS1cdH1cbi0tXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jPTI0MDQ9c3RhdGljIGlycXJldHVybl90IHJ0NTY0MF9pcnEoaW50IGlycSwgdm9pZCAqZGF0YSlcbi0tXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MTItXHRpZiAocnQ1NjQwLVx1MDAzZWphY2spXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jOjI0MTM6XHRcdG1vZF9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZydDU2NDAtXHUwMDNlamFja193b3JrLFxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yNDE0LVx0XHRcdFx0IGRlbGF5KTtcbi0tXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jPTI0MTk9c3RhdGljIGlycXJldHVybl90IHJ0NTY0MF9qZF9ncGlvX2lycShpbnQgaXJxLCB2b2lkICpkYXRhKVxuLS1cbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjQyMi1cbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM6MjQyMzpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnJ0NTY0MC1cdTAwM2VqYWNrX3dvcmssXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MjQtXHRcdFx0ICAgbXNlY3NfdG9famlmZmllcyhKQUNLX1NFVFRMRV9USU1FKSk7XG4tLVxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYz0yNDk1PXN0YXRpYyB2b2lkIHJ0NTY0MF9lbmFibGVfamFja19kZXRlY3Qoc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQsXG4tLVxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yNTg0LVx0Lyogc3luYyBpbml0aWFsIGphY2sgc3RhdGUgKi9cbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM6MjU4NTpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnJ0NTY0MC1cdTAwM2VqYWNrX3dvcmssIDApO1xuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yNTg2LX1cbi0tXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jPTI1OTQ9c3RhdGljIHZvaWQgcnQ1NjQwX2VuYWJsZV9oZGFfamFja19kZXRlY3QoXG4tLVxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yNjM3LVx0Lyogc3luYyBpbml0aWFsIGphY2sgc3RhdGUgKi9cbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM6MjYzODpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnJ0NTY0MC1cdTAwM2VqYWNrX3dvcmssIDApO1xuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yNjM5LVxuLS1cbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM9MjgyNj1zdGF0aWMgaW50IHJ0NTY0MF9yZXN1bWUoc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQpXG4tLVxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yODY1LVx0XHRlbmFibGVfaXJxKHJ0NTY0MC1cdTAwM2VpcnEpO1xuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYzoyODY2Olx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZydDU2NDAtXHUwMDNlamFja193b3JrLCAwKTtcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjg2Ny1cdH1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAwNDoxMTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA4NDk3CgkJCQkJCQlvdXRwdXQ6IDk0CgkJCQkJCQl0aG91Z2h0czogMjgzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIEJQRiBQcm9ncmFtIEZyZWUgUGF0Y2gqKgoKT2theSwgc28gdGhpcyBpcyBhIHByZXR0eSBzdHJhaWdodGZvcndhcmQgcGF0Y2gg4oCTIGl0JiMzOTtzIGp1c3Qgc3dhcHBpbmcgb3V0IGBzY2hlZHVsZV93b3JrYCBmb3IgYHF1ZXVlX3dvcmtgIHdpdGggYHN5c3RlbV9kZmxfbG9uZ193cWAuIFRoZSBjb3JlIGNoYW5nZSBpcyBpbiBgYnBmX3Byb2dfZnJlZWAsIHdoaWNoIGhhbmRsZXMgZnJlZWluZyBCUEYgcHJvZ3JhbXMuIEZ1bmN0aW9uYWxseSwgdGhpcyBpbXBhY3RzIHRoZSB3b3JrcXVldWUgdXNlZCBmb3IgdGhpcyBwcm9jZXNzLiBJdCBzZWVtcyBzaW1wbGUsIGJ1dCB0aGVzZSBraW5kcyBvZiBjaGFuZ2VzIGluIGNvcmUgZnVuY3Rpb25zIGFyZSBhbHdheXMgd29ydGggYSBjbG9zZXIgbG9vay4KCkxldCBtZSBtYWtlIHN1cmUgSSB1bmRlcnN0YW5kIHRoaXMgZnVsbHkuCgpgYGBjCkBAIC0zMTE1LDcgJiM0MzszMTE1LDcgQEAgdm9pZCBicGZfcHJvZ19mcmVlKHN0cnVjdCBicGZfcHJvZyAqZnApCiAJCWJwZl9wcm9nX3B1dChhdXgtJmd0O2RzdF9wcm9nKTsKIAlicGZfdG9rZW5fcHV0KGF1eC0mZ3Q7dG9rZW4pOwogCUlOSVRfV09SSygmYW1wO2F1eC0mZ3Q7d29yaywgYnBmX3Byb2dfZnJlZV9kZWZlcnJlZCk7Ci0Jc2NoZWR1bGVfd29yaygmYW1wO2F1eC0mZ3Q7d29yayk7CiYjNDM7CXF1ZXVlX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCAmYW1wO2F1eC0mZ3Q7d29yayk7CiB9CiBgYGAKClJpZ2h0LCB0aGUgcG90ZW50aWFsIGlzc3VlIGhlcmUgaXMgdGhhdCB0aGUgbmV3IHdvcmtxdWV1ZSBjb3VsZCBpbnRyb2R1Y2UgbmV3IHJhY2UgY29uZGl0aW9ucywgZXNwZWNpYWxseSBpZiB0aGUgb2xkIHdvcmtxdWV1ZSBoYWQgc29tZSBpbXBsaWNpdCBvcmRlcmluZyBhc3N1bXB0aW9ucy4gU2luY2UgaXQmIzM5O3MgYSBjcml0aWNhbCBmdW5jdGlvbiwgZnV6emluZyBpcyBwcm9iYWJseSBhIGdvb2QgaWRlYSB0byB0ZXN0IHRoaXMgdGhvcm91Z2hseS4gSSYjMzk7bGwgZmxhZyB0aGlzIGFzIFdvcnRoRnV6emluZywgc3BlY2lmaWNhbGx5IHRhcmdldGluZyBgYnBmX3Byb2dfZnJlZWAgZm9yIGZ1enppbmcuIEkmIzM5O2xsIGFsc28gZW5zdXJlIHRoYXQgYEJQRl9TWVNDQUxMYCBpcyBlbmFibGVkIGZvciB0aGUgdGVzdCBzZXR1cCwgZ2l2ZW4gaXRzIHJlbGV2YW5jZSB0byBCUEYgb3BlcmF0aW9ucy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAwNDoxMTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QlBGX1NZU0NBTEwmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfcHJvZ19mcmVlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNoYW5nZXMgdGhlIHdvcmtxdWV1ZSB1c2VkIGZvciBmcmVlaW5nIEJQRiBwcm9ncmFtcyBmcm9tIHRoZSBkZWZhdWx0IHN5c3RlbSB3b3JrcXVldWUgdG8gdGhlIHN5c3RlbV9kZmxfbG9uZ193cS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHRoYXQgY291bGQgYWZmZWN0IHNjaGVkdWxpbmcgYW5kIHJhY2UgY29uZGl0aW9ucyBkdXJpbmcgQlBGIHByb2dyYW0gY2xlYW51cC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QlBGX1NZU0NBTEwmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfcHJvZ19mcmVlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNoYW5nZXMgdGhlIHdvcmtxdWV1ZSB1c2VkIGZvciBmcmVlaW5nIEJQRiBwcm9ncmFtcyBmcm9tIHRoZSBkZWZhdWx0IHN5c3RlbSB3b3JrcXVldWUgdG8gdGhlIHN5c3RlbV9kZmxfbG9uZ193cS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHRoYXQgY291bGQgYWZmZWN0IHNjaGVkdWxpbmcgYW5kIHJhY2UgY29uZGl0aW9ucyBkdXJpbmcgQlBGIHByb2dyYW0gY2xlYW51cC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDA0OjExOjIyLjQ0MTcyNDM2OFoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE5MDA1MzYyNDQ5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJQRl9TWVNDQUxMXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYnBmX3Byb2dfZnJlZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGNoYW5nZXMgdGhlIHdvcmtxdWV1ZSB1c2VkIGZvciBmcmVlaW5nIEJQRiBwcm9ncmFtcyBmcm9tIHRoZSBkZWZhdWx0IHN5c3RlbSB3b3JrcXVldWUgdG8gdGhlIHN5c3RlbV9kZmxfbG9uZ193cS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHRoYXQgY291bGQgYWZmZWN0IHNjaGVkdWxpbmcgYW5kIHJhY2UgY29uZGl0aW9ucyBkdXJpbmcgQlBGIHByb2dyYW0gY2xlYW51cC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMDQ6MTE6MjIuNDQxNzI5NzU4WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NTQxOTgzODgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA1ZmU3NWQxNmQxYWM4YzJhYTc5NWQ0YTJjOWFkZTUwMWQxNThlMmQzXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBNb24gSnVsIDIwIDA0OjExOjIwIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvY29yZS5jIGIva2VybmVsL2JwZi9jb3JlLmNcXG5pbmRleCA2ZTE5YTAzMGRhNmYxMy4uYTJjYTZiZGZiNmY1NmIgMTAwNjQ0XFxuLS0tIGEva2VybmVsL2JwZi9jb3JlLmNcXG4rKysgYi9rZXJuZWwvYnBmL2NvcmUuY1xcbkBAIC0zMTE1LDcgKzMxMTUsNyBAQCB2b2lkIGJwZl9wcm9nX2ZyZWUoc3RydWN0IGJwZl9wcm9nICpmcClcXG4gXFx0XFx0YnBmX3Byb2dfcHV0KGF1eC1cXHUwMDNlZHN0X3Byb2cpO1xcbiBcXHRicGZfdG9rZW5fcHV0KGF1eC1cXHUwMDNldG9rZW4pO1xcbiBcXHRJTklUX1dPUksoXFx1MDAyNmF1eC1cXHUwMDNld29yaywgYnBmX3Byb2dfZnJlZV9kZWZlcnJlZCk7XFxuLVxcdHNjaGVkdWxlX3dvcmsoXFx1MDAyNmF1eC1cXHUwMDNld29yayk7XFxuK1xcdHF1ZXVlX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2YXV4LVxcdTAwM2V3b3JrKTtcXG4gfVxcbiBFWFBPUlRfU1lNQk9MX0dQTChicGZfcHJvZ19mcmVlKTtcXG4gXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDA0OjExOjIyLjk5NjcwNzgxNloiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTg0NTAzNjc1MjEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX1NZU0NBTExcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfcHJvZ19mcmVlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgd29ya3F1ZXVlIHVzZWQgZm9yIGZyZWVpbmcgQlBGIHByb2dyYW1zIGZyb20gdGhlIGRlZmF1bHQgc3lzdGVtIHdvcmtxdWV1ZSB0byB0aGUgc3lzdGVtX2RmbF9sb25nX3dxLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBjb3VsZCBhZmZlY3Qgc2NoZWR1bGluZyBhbmQgcmFjZSBjb25kaXRpb25zIGR1cmluZyBCUEYgcHJvZ3JhbSBjbGVhbnVwLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDVmZTc1ZDE2ZDFhYzhjMmFhNzk1ZDRhMmM5YWRlNTAxZDE1OGUyZDNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEp1bCAyMCAwNDoxMToyMCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvY29yZS5jIGIva2VybmVsL2JwZi9jb3JlLmNcbmluZGV4IDZlMTlhMDMwZGE2ZjEzLi5hMmNhNmJkZmI2ZjU2YiAxMDA2NDRcbi0tLSBhL2tlcm5lbC9icGYvY29yZS5jXG4rKysgYi9rZXJuZWwvYnBmL2NvcmUuY1xuQEAgLTMxMTUsNyArMzExNSw3IEBAIHZvaWQgYnBmX3Byb2dfZnJlZShzdHJ1Y3QgYnBmX3Byb2cgKmZwKVxuIFx0XHRicGZfcHJvZ19wdXQoYXV4LVx1MDAzZWRzdF9wcm9nKTtcbiBcdGJwZl90b2tlbl9wdXQoYXV4LVx1MDAzZXRva2VuKTtcbiBcdElOSVRfV09SSyhcdTAwMjZhdXgtXHUwMDNld29yaywgYnBmX3Byb2dfZnJlZV9kZWZlcnJlZCk7XG4tXHRzY2hlZHVsZV93b3JrKFx1MDAyNmF1eC1cdTAwM2V3b3JrKTtcbitcdHF1ZXVlX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZhdXgtXHUwMDNld29yayk7XG4gfVxuIEVYUE9SVF9TWU1CT0xfR1BMKGJwZl9wcm9nX2ZyZWUpO1xuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMDQ6MTE6MjIuOTk2NzA5MDM2WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTUxMDM4OTAzNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBCUEYgUHJvZ3JhbSBGcmVlaW5nIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0J3MgdHdlYWtlZCBga2VybmVsL2JwZi9jb3JlLmNgLCBzcGVjaWZpY2FsbHkgdGhlIGBicGZfcHJvZ19mcmVlYCBmdW5jdGlvbi4gVGhlIGtleSBjaGFuZ2UgaXMgdGhpczogdGhleSd2ZSBzd2FwcGVkIGBzY2hlZHVsZV93b3JrKFx1MDAyNmF1eC1cdTAwM2V3b3JrKTtgIHdpdGggYHF1ZXVlX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZhdXgtXHUwMDNld29yayk7YC4gUmlnaHQgb2ZmIHRoZSBiYXQsIEkga25vdyB0aGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UuIEl0J3MgbW92aW5nIHRoZSB3b3JrIG9mIGZyZWVpbmcgQlBGIHByb2dyYW1zIGZyb20gd2hhdGV2ZXIgZGVmYXVsdCB3b3JrcXVldWUgaXQgd2FzIHVzaW5nIHRvIGBzeXN0ZW1fZGZsX2xvbmdfd3FgLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgKndoeSo/ICBUaGF0IGxvb2tzIGxpa2UgYSBsb25nLXJ1bm5pbmcgd29ya3F1ZXVlLi4uIEkgc2hvdWxkIGNoZWNrIHdoYXQgdGhhdCBxdWV1ZSBpcyBhZ2FpbiwgSSB0aGluayBgc2NoZWR1bGVfd29ya2Agbm9ybWFsbHkgdXNlcyBgc3lzdGVtX3dxYCwgcmlnaHQ/IFllcywgdGhhdCdzIHdoYXQgaXQgbG9va3MgbGlrZS5cblxuU28sIHRoaXMgKmlzKiBhIGZ1bmN0aW9uYWwgZGlmZmVyZW5jZS4gIEl0J3MganVzdCBhIG1hdHRlciBvZiB3aGV0aGVyIHRoZSBuZXcgd29ya3F1ZXVlIHByb3ZpZGVzIHNvbWUgYmVuZWZpdCwgcGVyaGFwcyB3aXRoIGJldHRlciBJL08gYmxvY2tpbmcgY2FwYWJpbGl0aWVzLiBJIG5lZWQgdG8gdGhpbmsgYWJvdXQgdGhpcyBpbiB0ZXJtcyBvZiByYWNlIGNvbmRpdGlvbnMgb3IgcGVyZm9ybWFuY2UgaW1wbGljYXRpb25zLCBpdCBjb3VsZCBiZSBhIHNtYWxsIGNoYW5nZSB3aXRoIGxhcmdlIGltcGxpY2F0aW9ucy4gSXQncyBhIEJQRiBmdW5jdGlvbiwgYW5kIEJQRiBpcyBjb3JlLCBzbyBJIHNob3VsZCBmdXp6IHRoaXMuIEkgc2hvdWxkIGNoZWNrIGlmIHRoZXJlIGFyZSBhbnkgY29uZmlnIGRlcGVuZGVuY2llcywgSSB0aGluayBpdCdzIGp1c3QgYENPTkZJR19CUEZfU1lTQ0FMTGAgdGhhdCBlbmFibGVzIEJQRi4gIE5vdywgbGV0IG1lIGdvIGJhY2sgYW5kIHJlYWQgYGtlcm5lbC9icGYvY29yZS5jYCBhbmQgc3BlY2lmaWNhbGx5IGBicGZfcHJvZ19mcmVlYCB0byBnZXQgYSBiZXR0ZXIgaGFuZGxlIG9uIHRoZSBjb250ZXh0IG9mIHRoaXMgY2hhbmdlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxODQyLCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjU5LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMDQ6MTE6MjguNTA3MTAwNTAzWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjkyMzc4NTA4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImJwZl9wcm9nX2ZyZWVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwia2VybmVsL2JwZi9jb3JlLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwia2VybmVsL2JwZi9jb3JlLmM9MjU3PXN0cnVjdCBicGZfcHJvZyAqYnBmX3Byb2dfcmVhbGxvYyhzdHJ1Y3QgYnBmX3Byb2cgKmZwX29sZCwgdW5zaWduZWQgaW50IHNpemUsXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy0yODAtXFx0XFx0ZnBfb2xkLVxcdTAwM2VhY3RpdmUgPSBOVUxMO1xcbmtlcm5lbC9icGYvY29yZS5jOjI4MTpcXHRcXHRfX2JwZl9wcm9nX2ZyZWUoZnBfb2xkKTtcXG5rZXJuZWwvYnBmL2NvcmUuYy0yODItXFx0fVxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMjg2LVxcbmtlcm5lbC9icGYvY29yZS5jOjI4Nzp2b2lkIF9fYnBmX3Byb2dfZnJlZShzdHJ1Y3QgYnBmX3Byb2cgKmZwKVxcbmtlcm5lbC9icGYvY29yZS5jLTI4OC17XFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYz0xNTI0PXN0YXRpYyB2b2lkIGJwZl9wcm9nX2Nsb25lX2ZyZWUoc3RydWN0IGJwZl9wcm9nICpmcClcXG4tLVxcbmtlcm5lbC9icGYvY29yZS5jLTE1MzUtXFx0ZnAtXFx1MDAzZWFjdGl2ZSA9IE5VTEw7XFxua2VybmVsL2JwZi9jb3JlLmM6MTUzNjpcXHRfX2JwZl9wcm9nX2ZyZWUoZnApO1xcbmtlcm5lbC9icGYvY29yZS5jLTE1MzctfVxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmM9MzA2Mz1zdGF0aWMgdm9pZCBicGZfZnJlZV91c2VkX2J0ZnMoc3RydWN0IGJwZl9wcm9nX2F1eCAqYXV4KVxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMzA2OC1cXG5rZXJuZWwvYnBmL2NvcmUuYzozMDY5OnN0YXRpYyB2b2lkIGJwZl9wcm9nX2ZyZWVfZGVmZXJyZWQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbmtlcm5lbC9icGYvY29yZS5jLTMwNzAte1xcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMzEwOS1cXG5rZXJuZWwvYnBmL2NvcmUuYzozMTEwOnZvaWQgYnBmX3Byb2dfZnJlZShzdHJ1Y3QgYnBmX3Byb2cgKmZwKVxcbmtlcm5lbC9icGYvY29yZS5jLTMxMTEte1xcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMzExNi1cXHRicGZfdG9rZW5fcHV0KGF1eC1cXHUwMDNldG9rZW4pO1xcbmtlcm5lbC9icGYvY29yZS5jOjMxMTc6XFx0SU5JVF9XT1JLKFxcdTAwMjZhdXgtXFx1MDAzZXdvcmssIGJwZl9wcm9nX2ZyZWVfZGVmZXJyZWQpO1xcbmtlcm5lbC9icGYvY29yZS5jLTMxMTgtXFx0cXVldWVfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZhdXgtXFx1MDAzZXdvcmspO1xcbmtlcm5lbC9icGYvY29yZS5jLTMxMTktfVxcbmtlcm5lbC9icGYvY29yZS5jOjMxMjA6RVhQT1JUX1NZTUJPTF9HUEwoYnBmX3Byb2dfZnJlZSk7XFxua2VybmVsL2JwZi9jb3JlLmMtMzEyMS1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMDQ6MTE6MjguNTk5NTA1NzMxWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzU0Mzg2NDg2OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBLZXJuZWwgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpdCBhcHBlYXJzIHRvIGJlIGEgZnVuY3Rpb25hbGx5IHNpZ25pZmljYW50IGNoYW5nZSwgc3BlY2lmaWNhbGx5IGFsdGVyaW5nIGhvdyB3b3JrIGlzIHNjaGVkdWxlZCB3aXRoaW4gdGhlIGtlcm5lbC4gVGhlIGxpbmUgYHNjaGVkdWxlX3dvcmsoXHUwMDI2YXV4LVx1MDAzZXdvcmspO2AgaXMgYmVpbmcgcmVwbGFjZWQgd2l0aCBgcXVldWVfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNmF1eC1cdTAwM2V3b3JrKTtgLiBUaGlzIG1lYW5zIHRoZSB3b3JrIHF1ZXVlIGlzIG5vIGxvbmdlciB0aGUgZGVmYXVsdCBvbmUsIHdoaWNoIGlzIGFuIGltcG9ydGFudCBjb25zaWRlcmF0aW9uLiBUaGUgZnVuY3Rpb24gYGJwZl9wcm9nX2ZyZWVgIHNlZW1zIHRvIGJlIHRoZSBjcml0aWNhbCBzeW1ib2wgdGhpcyByZXZvbHZlcyBhcm91bmQuIEdpdmVuIHRoZSBjb250ZXh0LCBhbmQgZXNwZWNpYWxseSB0aGF0IHRoZSBjb25maWcgaXMgYEJQRl9TWVNDQUxMYCwgdGhpcyBzdWdnZXN0cyB3ZSdyZSBkZWFsaW5nIHdpdGggYSBCUEYgc3lzY2FsbC1yZWxhdGVkIGNoYW5nZS4gTXkgaW1tZWRpYXRlIG5leHQgc3RlcCBpcyB0byB2ZXJpZnkgdGhlIGRlZmluaXRpb24gYW5kIHB1cnBvc2Ugb2YgYHN5c3RlbV9kZmxfbG9uZ193cWAuIFVuZGVyc3RhbmRpbmcgaXRzIGNoYXJhY3RlcmlzdGljcywgcG90ZW50aWFsIHJlc291cmNlIGxpbWl0YXRpb25zLCBhbmQgaW50ZXJhY3Rpb25zIHdpdGggb3RoZXIgcGFydHMgb2YgdGhlIGtlcm5lbCBpcyBlc3NlbnRpYWwgdG8gZnVsbHkgdW5kZXJzdGFuZCB0aGUgaW1wYWN0IG9mIHRoaXMgbW9kaWZpY2F0aW9uLiBXZSBuZWVkIHRvIGJlIHN1cmUgdGhhdCB0aGUgY2hhbmdlIGRvZXNuJ3QgaW50cm9kdWNlIGFueSBwZXJmb3JtYW5jZSByZWdyZXNzaW9ucyBvciB1bmV4cGVjdGVkIGJlaGF2aW9ycywgcGFydGljdWxhcmx5IGFyb3VuZCBCUEYgcHJvZ3JhbSBsaWZlY3ljbGUgbWFuYWdlbWVudC5cblxuXG4iLCJJbnB1dFRva2VucyI6MzA4MSwiT3V0cHV0VG9rZW5zIjoyOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjg4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDA0OjExOjMyLjE0MzM4MjQ0OVoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMzc2NjI0MTkxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN5c3RlbV9kZmxfbG9uZ193cVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9hdGEvbGliYXRhLWVoLmM9NzIxPXZvaWQgYXRhX3Njc2lfcG9ydF9lcnJvcl9oYW5kbGVyKHN0cnVjdCBTY3NpX0hvc3QgKmhvc3QsIHN0cnVjdCBhdGFfcG9ydCAqYXApXFxuLS1cXG5kcml2ZXJzL2F0YS9saWJhdGEtZWguYy04MjMtXFx0XFx0IShhcC1cXHUwMDNlZmxhZ3MgXFx1MDAyNiBBVEFfRkxBR19TQVNfSE9TVCkpXFxuZHJpdmVycy9hdGEvbGliYXRhLWVoLmM6ODI0OlxcdFxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZhcC1cXHUwMDNlaG90cGx1Z190YXNrLCAwKTtcXG5kcml2ZXJzL2F0YS9saWJhdGEtZWguYy04MjUtXFxuLS1cXG5kcml2ZXJzL2F0YS9saWJhdGEtc2NzaS5jPTQ3MDc9dm9pZCBhdGFfc2NzaV9zY2FuX2hvc3Qoc3RydWN0IGF0YV9wb3J0ICphcCwgaW50IHN5bmMpXFxuLS1cXG5kcml2ZXJzL2F0YS9saWJhdGEtc2NzaS5jLTQ3NzYtXFxuZHJpdmVycy9hdGEvbGliYXRhLXNjc2kuYzo0Nzc3OlxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZhcC1cXHUwMDNlaG90cGx1Z190YXNrLFxcbmRyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmMtNDc3OC1cXHRcXHRcXHQgICByb3VuZF9qaWZmaWVzX3JlbGF0aXZlKEhaKSk7XFxuLS1cXG5kcml2ZXJzL2kyYy9pMmMtc2xhdmUtdGVzdHVuaXQuYz04Mj1zdGF0aWMgaW50IGkyY19zbGF2ZV90ZXN0dW5pdF9zbGF2ZV9jYihzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LFxcbi0tXFxuZHJpdmVycy9pMmMvaTJjLXNsYXZlLXRlc3R1bml0LmMtMTI2LVxcdFxcdFxcdHNldF9iaXQoVFVfRkxBR19JTl9QUk9DRVNTLCBcXHUwMDI2dHUtXFx1MDAzZWZsYWdzKTtcXG5kcml2ZXJzL2kyYy9pMmMtc2xhdmUtdGVzdHVuaXQuYzoxMjc6XFx0XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNnR1LVxcdTAwM2V3b3JrZXIsXFxuZHJpdmVycy9pMmMvaTJjLXNsYXZlLXRlc3R1bml0LmMtMTI4LVxcdFxcdFxcdFxcdFxcdCAgIG1zZWNzX3RvX2ppZmZpZXMoMTAgKiB0dS1cXHUwMDNlcmVnc1tUVV9SRUdfREVMQVldKSk7XFxuLS1cXG5kcml2ZXJzL3BoeS90aS9waHktdHVzYjEyMTAuYz0xOTE9c3RhdGljIHZvaWQgdHVzYjEyMTBfY2hnX2RldF9zZXRfc3RhdGUoc3RydWN0IHR1c2IxMjEwICp0dXNiLFxcbi0tXFxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmMtMTk5LVxcdHR1c2ItXFx1MDAzZWNoZ19kZXRfc3RhdGUgPSBuZXdfc3RhdGU7XFxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmM6MjAwOlxcdG1vZF9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2dHVzYi1cXHUwMDNlY2hnX2RldF93b3JrLFxcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jLTIwMS1cXHRcXHRcXHQgbXNlY3NfdG9famlmZmllcyhkZWxheV9tcykpO1xcbi0tXFxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmM9Mzc2PXN0YXRpYyBpbnQgdHVzYjEyMTBfcHN5X25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsXFxuLS1cXG5kcml2ZXJzL3BoeS90aS9waHktdHVzYjEyMTAuYy0zODItXFx0aWYgKHBzeSAhPSB0dXNiLVxcdTAwM2Vwc3kgXFx1MDAyNlxcdTAwMjYgcHN5LVxcdTAwM2VkZXNjLVxcdTAwM2V0eXBlID09IFBPV0VSX1NVUFBMWV9UWVBFX1VTQilcXG5kcml2ZXJzL3BoeS90aS9waHktdHVzYjEyMTAuYzozODM6XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNnR1c2ItXFx1MDAzZWNoZ19kZXRfd29yaywgMCk7XFxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmMtMzg0LVxcbi0tXFxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmM9NDMyPXN0YXRpYyB2b2lkIHR1c2IxMjEwX3Byb2JlX2NoYXJnZXJfZGV0ZWN0KHN0cnVjdCB0dXNiMTIxMCAqdHVzYilcXG4tLVxcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jLTQ2MC1cXHRJTklUX0RFTEFZRURfV09SSyhcXHUwMDI2dHVzYi1cXHUwMDNlY2hnX2RldF93b3JrLCB0dXNiMTIxMF9jaGdfZGV0X3dvcmspO1xcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jOjQ2MTpcXHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2dHVzYi1cXHUwMDNlY2hnX2RldF93b3JrLCAyICogSFopO1xcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jLTQ2Mi1cXG4tLVxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYz0yMjA9c3RhdGljIHNzaXplX3Qgc3RvcmVfcmVjb25uZWN0X2RlbGF5KHN0cnVjdCBkZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy0yMzYtXFx0ICAgIHJwb3J0LVxcdTAwM2VzdGF0ZSAhPSBTUlBfUlBPUlRfUlVOTklORykge1xcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYzoyMzc6XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNnJwb3J0LVxcdTAwM2VyZWNvbm5lY3Rfd29yayxcXG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmMtMjM4LVxcdFxcdFxcdFxcdCAgIGRlbGF5ICogSFopO1xcbi0tXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jPTM3OD1zdGF0aWMgdm9pZCBzcnBfcmVjb25uZWN0X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbi0tXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTM5Mi1cXHRcXHRpZiAoZGVsYXkgXFx1MDAzZSAwKVxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYzozOTM6XFx0XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSxcXG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmMtMzk0LVxcdFxcdFxcdFxcdFxcdCAgIFxcdTAwMjZycG9ydC1cXHUwMDNlcmVjb25uZWN0X3dvcmssIGRlbGF5ICogSFopO1xcbi0tXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jPTQ2MT1zdGF0aWMgdm9pZCBfX3NycF9zdGFydF90bF9mYWlsX3RpbWVycyhzdHJ1Y3Qgc3JwX3Jwb3J0ICpycG9ydClcXG4tLVxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy00NzYtXFx0aWYgKGRlbGF5IFxcdTAwM2UgMClcXG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmM6NDc3OlxcdFxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZycG9ydC1cXHUwMDNlcmVjb25uZWN0X3dvcmssXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTQ3OC1cXHRcXHRcXHRcXHQgICAxVUwgKiBkZWxheSAqIEhaKTtcXG4tLVxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy00ODQtXFx0XFx0aWYgKGZhc3RfaW9fZmFpbF90bW8gXFx1MDAzZT0gMClcXG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmM6NDg1OlxcdFxcdFxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTQ4Ni1cXHRcXHRcXHRcXHRcXHQgICBcXHUwMDI2cnBvcnQtXFx1MDAzZWZhc3RfaW9fZmFpbF93b3JrLFxcbi0tXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTQ4OC1cXHRcXHRpZiAoZGV2X2xvc3NfdG1vIFxcdTAwM2U9IDApXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jOjQ4OTpcXHRcXHRcXHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLFxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy00OTAtXFx0XFx0XFx0XFx0XFx0ICAgXFx1MDAyNnJwb3J0LVxcdTAwM2VkZXZfbG9zc193b3JrLFxcbi0tXFxuZnMvZnVzZS9kYXguYz0xMDg9X19raWNrX2RtYXBfZnJlZV93b3JrZXIoc3RydWN0IGZ1c2VfY29ubl9kYXggKmZjZCwgdW5zaWduZWQgbG9uZyBkZWxheV9tcylcXG4tLVxcbmZzL2Z1c2UvZGF4LmMtMTE1LVxcdGlmIChmY2QtXFx1MDAzZW5yX2ZyZWVfcmFuZ2VzIFxcdTAwM2MgZnJlZV90aHJlc2hvbGQpXFxuZnMvZnVzZS9kYXguYzoxMTY6XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNmZjZC1cXHUwMDNlZnJlZV93b3JrLFxcbmZzL2Z1c2UvZGF4LmMtMTE3LVxcdFxcdFxcdFxcdCAgIG1zZWNzX3RvX2ppZmZpZXMoZGVsYXlfbXMpKTtcXG4tLVxcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmg9NDE4PWVudW0gd3FfY29uc3RzIHtcXG4tLVxcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmgtNDQ0LSAqXFxuaW5jbHVkZS9saW51eC93b3JrcXVldWUuaDo0NDU6ICogc3lzdGVtX2RmbF9sb25nX3dxIGlzIHNpbWlsYXIgdG8gc3lzdGVtX2RmbF93cSBidXQgaXQgbWF5IGhvc3QgbG9uZyBydW5uaW5nXFxuaW5jbHVkZS9saW51eC93b3JrcXVldWUuaC00NDYtICogd29ya3MuXFxuLS1cXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oPTQ3NT1leHRlcm4gc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKnN5c3RlbV9iaF9oaWdocHJpX3dxO1xcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmg6NDc2OmV4dGVybiBzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqc3lzdGVtX2RmbF9sb25nX3dxO1xcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmgtNDc3LVxcbi0tXFxuaW5jbHVkZS9saW51eC93b3JrcXVldWUuaD03OTY9ZXh0ZXJuIHZvaWQgX193YXJuX2ZsdXNoaW5nX3N5c3RlbXdpZGVfd3Eodm9pZClcXG4tLVxcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmgtODE1LVxcdCAgICAgX3dxID09IHN5c3RlbV9sb25nX3dxKSB8fFxcdFxcdFxcdFxcdFxcdFxcXFxcXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oOjgxNjpcXHQgICAgKF9fYnVpbHRpbl9jb25zdGFudF9wKF93cSA9PSBzeXN0ZW1fZGZsX2xvbmdfd3EpIFxcdTAwMjZcXHUwMDI2XFx0XFx0XFxcXFxcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmg6ODE3OlxcdCAgICAgX3dxID09IHN5c3RlbV9kZmxfbG9uZ193cSkgfHxcXHRcXHRcXHRcXHRcXHRcXFxcXFxuaW5jbHVkZS9saW51eC93b3JrcXVldWUuaC04MTgtXFx0ICAgIChfX2J1aWx0aW5fY29uc3RhbnRfcChfd3EgPT0gc3lzdGVtX2RmbF93cSkgXFx1MDAyNlxcdTAwMjZcXHRcXHRcXFxcXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYz0zMTEwPXZvaWQgYnBmX3Byb2dfZnJlZShzdHJ1Y3QgYnBmX3Byb2cgKmZwKVxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMzExNy1cXHRJTklUX1dPUksoXFx1MDAyNmF1eC1cXHUwMDNld29yaywgYnBmX3Byb2dfZnJlZV9kZWZlcnJlZCk7XFxua2VybmVsL2JwZi9jb3JlLmM6MzExODpcXHRxdWV1ZV93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNmF1eC1cXHUwMDNld29yayk7XFxua2VybmVsL2JwZi9jb3JlLmMtMzExOS19XFxuLS1cXG5rZXJuZWwvd29ya3F1ZXVlLmM9NTQ1PUVYUE9SVF9TWU1CT0xfR1BMKHN5c3RlbV9iaF9oaWdocHJpX3dxKTtcXG5rZXJuZWwvd29ya3F1ZXVlLmM6NTQ2OnN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpzeXN0ZW1fZGZsX2xvbmdfd3EgX19yb19hZnRlcl9pbml0O1xcbmtlcm5lbC93b3JrcXVldWUuYzo1NDc6RVhQT1JUX1NZTUJPTF9HUEwoc3lzdGVtX2RmbF9sb25nX3dxKTtcXG5rZXJuZWwvd29ya3F1ZXVlLmMtNTQ4LVxcbi0tXFxua2VybmVsL3dvcmtxdWV1ZS5jPTc5NzE9dm9pZCBfX2luaXQgd29ya3F1ZXVlX2luaXRfZWFybHkodm9pZClcXG4tLVxcbmtlcm5lbC93b3JrcXVldWUuYy04MDcwLVxcdFxcdFxcdFxcdFxcdCAgICAgICBXUV9CSCB8IFdRX0hJR0hQUkkgfCBXUV9QRVJDUFUsIDApO1xcbmtlcm5lbC93b3JrcXVldWUuYzo4MDcxOlxcdHN5c3RlbV9kZmxfbG9uZ193cSA9IGFsbG9jX3dvcmtxdWV1ZShcXFwiZXZlbnRzX2RmbF9sb25nXFxcIiwgV1FfVU5CT1VORCwgV1FfTUFYX0FDVElWRSk7XFxua2VybmVsL3dvcmtxdWV1ZS5jLTgwNzItXFx0QlVHX09OKCFzeXN0ZW1fd3EgfHwgIXN5c3RlbV9wZXJjcHVfd3F8fCAhc3lzdGVtX2hpZ2hwcmlfd3EgfHwgIXN5c3RlbV9sb25nX3dxIHx8XFxuLS1cXG5rZXJuZWwvd29ya3F1ZXVlLmMtODA3NS1cXHQgICAgICAgIXN5c3RlbV9mcmVlemFibGVfcG93ZXJfZWZmaWNpZW50X3dxIHx8XFxua2VybmVsL3dvcmtxdWV1ZS5jOjgwNzY6XFx0ICAgICAgICFzeXN0ZW1fYmhfd3EgfHwgIXN5c3RlbV9iaF9oaWdocHJpX3dxIHx8ICFzeXN0ZW1fZGZsX2xvbmdfd3EpO1xcbmtlcm5lbC93b3JrcXVldWUuYy04MDc3LX1cXG4tLVxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jb25uLmM9MjQzPXN0YXRpYyBpbmxpbmUgaW50IGlwX3ZzX2Nvbm5faGFzaChzdHJ1Y3QgaXBfdnNfY29ubiAqY3ApXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jLTI4Ny1cXHQgICAgIXRlc3RfYW5kX3NldF9iaXQoSVBfVlNfV09SS19DT05OX1JFU0laRSwgXFx1MDAyNmlwdnMtXFx1MDAzZXdvcmtfZmxhZ3MpKVxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jb25uLmM6Mjg4OlxcdFxcdG1vZF9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2aXB2cy1cXHUwMDNlY29ubl9yZXNpemVfd29yaywgMCk7XFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYy0yODktXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jPTgwMD1zdGF0aWMgdm9pZCBjb25uX3Jlc2l6ZV93b3JrX2hhbmRsZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbi0tXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYy05MTgtXFx0LyogTW9uaXRvciBpZiB3ZSBuZWVkIHRvIHNocmluayB0YWJsZSAqL1xcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jb25uLmM6OTE5OlxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZpcHZzLVxcdTAwM2Vjb25uX3Jlc2l6ZV93b3JrLFxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jb25uLmMtOTIwLVxcdFxcdFxcdCAgIG1vcmVfd29yayA/IDEgOiAyICogSFopO1xcbi0tXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jPTY3MD1zdGF0aWMgdm9pZCBzdmNfcmVzaXplX3dvcmtfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtODIzLVxcdFxcdHJldHVybjtcXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmM6ODI0OlxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZpcHZzLVxcdTAwM2VzdmNfcmVzaXplX3dvcmssIDEpO1xcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYy04MjUtXFx0cmV0dXJuO1xcbi0tXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jPTE3MDk9aXBfdnNfYWRkX3NlcnZpY2Uoc3RydWN0IG5ldG5zX2lwdnMgKmlwdnMsIHN0cnVjdCBpcF92c19zZXJ2aWNlX3VzZXJfa2VybiAqdSxcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYy0xODcxLVxcdGlmIChncm93IFxcdTAwMjZcXHUwMDI2ICF0ZXN0X2FuZF9zZXRfYml0KElQX1ZTX1dPUktfU1ZDX1JFU0laRSwgXFx1MDAyNmlwdnMtXFx1MDAzZXdvcmtfZmxhZ3MpKVxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYzoxODcyOlxcdFxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZpcHZzLVxcdTAwM2VzdmNfcmVzaXplX3dvcmssXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jLTE4NzMtXFx0XFx0XFx0XFx0ICAgMSk7XFxuLS1cXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmM9MjA4Nj1zdGF0aWMgaW50IGlwX3ZzX2RlbF9zZXJ2aWNlKHN0cnVjdCBpcF92c19zZXJ2aWNlICpzdmMpXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMjEyNy1cXHRcXHRcXHRcXHRcXHRcXHRcXHUwMDI2aXB2cy1cXHUwMDNld29ya19mbGFncykpXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jOjIxMjg6XFx0XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSxcXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMjEyOS1cXHRcXHRcXHRcXHRcXHQgICBcXHUwMDI2aXB2cy1cXHUwMDNlc3ZjX3Jlc2l6ZV93b3JrLCAxKTtcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYz0yNTg5PXN0YXRpYyBpbnQgaXB2c19wcm9jX2Nvbm5fbGZhY3Rvcihjb25zdCBzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLFxcbi0tXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jLTI2MDgtXFx0XFx0XFx0aWYgKHJjdV9hY2Nlc3NfcG9pbnRlcihpcHZzLVxcdTAwM2Vjb25uX3RhYikpXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jOjI2MDk6XFx0XFx0XFx0XFx0bW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jLTI2MTAtXFx0XFx0XFx0XFx0XFx0XFx0IFxcdTAwMjZpcHZzLVxcdTAwM2Vjb25uX3Jlc2l6ZV93b3JrLCAwKTtcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYz0yNjE2PXN0YXRpYyBpbnQgaXB2c19wcm9jX3N2Y19sZmFjdG9yKGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMjY0MC1cXHRcXHRcXHRcXHQgICAgICBcXHUwMDI2aXB2cy1cXHUwMDNld29ya19mbGFncykpXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jOjI2NDE6XFx0XFx0XFx0XFx0bW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jLTI2NDItXFx0XFx0XFx0XFx0XFx0XFx0IFxcdTAwMjZpcHZzLVxcdTAwM2VzdmNfcmVzaXplX3dvcmssIDApO1xcbi0tXFxubmV0L3N1bnJwYy94cHJ0cmRtYS90cmFuc3BvcnQuYz00ODA9eHBydF9yZG1hX2Nvbm5lY3Qoc3RydWN0IHJwY194cHJ0ICp4cHJ0LCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spXFxuLS1cXG5uZXQvc3VucnBjL3hwcnRyZG1hL3RyYW5zcG9ydC5jLTQ5My1cXHR0cmFjZV94cHJ0cmRtYV9vcF9jb25uZWN0KHJfeHBydCwgZGVsYXkpO1xcbm5ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0LmM6NDk0OlxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZyX3hwcnQtXFx1MDAzZXJ4X2Nvbm5lY3Rfd29ya2VyLFxcbm5ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0LmMtNDk1LVxcdFxcdFxcdCAgIGRlbGF5KTtcXG4tLVxcbnNvdW5kL3NvYy9jb2RlY3MvY3M0Mmw0My1qYWNrLmM9Nzk3PWlycXJldHVybl90IGNzNDJsNDNfdGlwX3NlbnNlKGludCBpcnEsIHZvaWQgKmRhdGEpXFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL2NzNDJsNDMtamFjay5jLTgwOC1cXG5zb3VuZC9zb2MvY29kZWNzL2NzNDJsNDMtamFjay5jOjgwOTpcXHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2cHJpdi1cXHUwMDNldGlwX3NlbnNlX3dvcmssXFxuc291bmQvc29jL2NvZGVjcy9jczQybDQzLWphY2suYy04MTAtXFx0XFx0XFx0ICAgbXNlY3NfdG9famlmZmllcyhkYl9kZWxheSkpO1xcbi0tXFxuc291bmQvc29jL2NvZGVjcy9jczQybDQzLWphY2suYz05MDY9aW50IGNzNDJsNDNfamFja19wdXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKVxcbi0tXFxuc291bmQvc29jL2NvZGVjcy9jczQybDQzLWphY2suYy05MzUtXFx0aWYgKCFvdmVycmlkZSkge1xcbnNvdW5kL3NvYy9jb2RlY3MvY3M0Mmw0My1qYWNrLmM6OTM2OlxcdFxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZwcml2LVxcdTAwM2V0aXBfc2Vuc2Vfd29yayxcXG5zb3VuZC9zb2MvY29kZWNzL2NzNDJsNDMtamFjay5jLTkzNy1cXHRcXHRcXHRcXHQgICAwKTtcXG4tLVxcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM9MjMxND1zdGF0aWMgdm9pZCBydDU2NDBfamFja193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcXG4tLVxcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjM5OS1cXHRcXHQgKi9cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jOjI0MDA6XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNnJ0NTY0MC1cXHUwMDNlamFja193b3JrLCAwKTtcXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MDEtXFx0fVxcbi0tXFxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYz0yNDA0PXN0YXRpYyBpcnFyZXR1cm5fdCBydDU2NDBfaXJxKGludCBpcnEsIHZvaWQgKmRhdGEpXFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MTItXFx0aWYgKHJ0NTY0MC1cXHUwMDNlamFjaylcXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jOjI0MTM6XFx0XFx0bW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZydDU2NDAtXFx1MDAzZWphY2tfd29yayxcXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MTQtXFx0XFx0XFx0XFx0IGRlbGF5KTtcXG4tLVxcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM9MjQxOT1zdGF0aWMgaXJxcmV0dXJuX3QgcnQ1NjQwX2pkX2dwaW9faXJxKGludCBpcnEsIHZvaWQgKmRhdGEpXFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MjItXFxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYzoyNDIzOlxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZydDU2NDAtXFx1MDAzZWphY2tfd29yayxcXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MjQtXFx0XFx0XFx0ICAgbXNlY3NfdG9famlmZmllcyhKQUNLX1NFVFRMRV9USU1FKSk7XFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jPTI0OTU9c3RhdGljIHZvaWQgcnQ1NjQwX2VuYWJsZV9qYWNrX2RldGVjdChzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNvbXBvbmVudCxcXG4tLVxcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjU4NC1cXHQvKiBzeW5jIGluaXRpYWwgamFjayBzdGF0ZSAqL1xcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM6MjU4NTpcXHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2cnQ1NjQwLVxcdTAwM2VqYWNrX3dvcmssIDApO1xcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjU4Ni19XFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jPTI1OTQ9c3RhdGljIHZvaWQgcnQ1NjQwX2VuYWJsZV9oZGFfamFja19kZXRlY3QoXFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI2MzctXFx0Lyogc3luYyBpbml0aWFsIGphY2sgc3RhdGUgKi9cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jOjI2Mzg6XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNnJ0NTY0MC1cXHUwMDNlamFja193b3JrLCAwKTtcXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI2MzktXFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jPTI4MjY9c3RhdGljIGludCBydDU2NDBfcmVzdW1lKHN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY29tcG9uZW50KVxcbi0tXFxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yODY1LVxcdFxcdGVuYWJsZV9pcnEocnQ1NjQwLVxcdTAwM2VpcnEpO1xcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM6Mjg2NjpcXHRcXHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2cnQ1NjQwLVxcdTAwM2VqYWNrX3dvcmssIDApO1xcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjg2Ny1cXHR9XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDA0OjExOjM1LjUyMDAxMjQ0WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTc2ODMxNDQzMSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIHRoZSBCUEYgUHJvZ3JhbSBGcmVlIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBpcyBhIHByZXR0eSBzdHJhaWdodGZvcndhcmQgcGF0Y2gg4oCTIGl0J3MganVzdCBzd2FwcGluZyBvdXQgYHNjaGVkdWxlX3dvcmtgIGZvciBgcXVldWVfd29ya2Agd2l0aCBgc3lzdGVtX2RmbF9sb25nX3dxYC4gVGhlIGNvcmUgY2hhbmdlIGlzIGluIGBicGZfcHJvZ19mcmVlYCwgd2hpY2ggaGFuZGxlcyBmcmVlaW5nIEJQRiBwcm9ncmFtcy4gRnVuY3Rpb25hbGx5LCB0aGlzIGltcGFjdHMgdGhlIHdvcmtxdWV1ZSB1c2VkIGZvciB0aGlzIHByb2Nlc3MuIEl0IHNlZW1zIHNpbXBsZSwgYnV0IHRoZXNlIGtpbmRzIG9mIGNoYW5nZXMgaW4gY29yZSBmdW5jdGlvbnMgYXJlIGFsd2F5cyB3b3J0aCBhIGNsb3NlciBsb29rLlxuXG5MZXQgbWUgbWFrZSBzdXJlIEkgdW5kZXJzdGFuZCB0aGlzIGZ1bGx5LlxuXG5gYGBjXG5AQCAtMzExNSw3ICszMTE1LDcgQEAgdm9pZCBicGZfcHJvZ19mcmVlKHN0cnVjdCBicGZfcHJvZyAqZnApXG4gXHRcdGJwZl9wcm9nX3B1dChhdXgtXHUwMDNlZHN0X3Byb2cpO1xuIFx0YnBmX3Rva2VuX3B1dChhdXgtXHUwMDNldG9rZW4pO1xuIFx0SU5JVF9XT1JLKFx1MDAyNmF1eC1cdTAwM2V3b3JrLCBicGZfcHJvZ19mcmVlX2RlZmVycmVkKTtcbi1cdHNjaGVkdWxlX3dvcmsoXHUwMDI2YXV4LVx1MDAzZXdvcmspO1xuK1x0cXVldWVfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNmF1eC1cdTAwM2V3b3JrKTtcbiB9XG4gYGBgXG5cblJpZ2h0LCB0aGUgcG90ZW50aWFsIGlzc3VlIGhlcmUgaXMgdGhhdCB0aGUgbmV3IHdvcmtxdWV1ZSBjb3VsZCBpbnRyb2R1Y2UgbmV3IHJhY2UgY29uZGl0aW9ucywgZXNwZWNpYWxseSBpZiB0aGUgb2xkIHdvcmtxdWV1ZSBoYWQgc29tZSBpbXBsaWNpdCBvcmRlcmluZyBhc3N1bXB0aW9ucy4gU2luY2UgaXQncyBhIGNyaXRpY2FsIGZ1bmN0aW9uLCBmdXp6aW5nIGlzIHByb2JhYmx5IGEgZ29vZCBpZGVhIHRvIHRlc3QgdGhpcyB0aG9yb3VnaGx5LiBJJ2xsIGZsYWcgdGhpcyBhcyBXb3J0aEZ1enppbmcsIHNwZWNpZmljYWxseSB0YXJnZXRpbmcgYGJwZl9wcm9nX2ZyZWVgIGZvciBmdXp6aW5nLiBJJ2xsIGFsc28gZW5zdXJlIHRoYXQgYEJQRl9TWVNDQUxMYCBpcyBlbmFibGVkIGZvciB0aGUgdGVzdCBzZXR1cCwgZ2l2ZW4gaXRzIHJlbGV2YW5jZSB0byBCUEYgb3BlcmF0aW9ucy5cblxuXG4iLCJJbnB1dFRva2VucyI6ODQ5NywiT3V0cHV0VG9rZW5zIjo5NCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI4MywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQwNDoxMTo0MS4yODgzMjg2ODFaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1ODc0MDg4NiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX1NZU0NBTExcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfcHJvZ19mcmVlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgd29ya3F1ZXVlIHVzZWQgZm9yIGZyZWVpbmcgQlBGIHByb2dyYW1zIGZyb20gdGhlIGRlZmF1bHQgc3lzdGVtIHdvcmtxdWV1ZSB0byB0aGUgc3lzdGVtX2RmbF9sb25nX3dxLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBjb3VsZCBhZmZlY3Qgc2NoZWR1bGluZyBhbmQgcmFjZSBjb25kaXRpb25zIGR1cmluZyBCUEYgcHJvZ3JhbSBjbGVhbnVwLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJQRl9TWVNDQUxMXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYnBmX3Byb2dfZnJlZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGNoYW5nZXMgdGhlIHdvcmtxdWV1ZSB1c2VkIGZvciBmcmVlaW5nIEJQRiBwcm9ncmFtcyBmcm9tIHRoZSBkZWZhdWx0IHN5c3RlbSB3b3JrcXVldWUgdG8gdGhlIHN5c3RlbV9kZmxfbG9uZ193cS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHRoYXQgY291bGQgYWZmZWN0IHNjaGVkdWxpbmcgYW5kIHJhY2UgY29uZGl0aW9ucyBkdXJpbmcgQlBGIHByb2dyYW0gY2xlYW51cC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow57pjs[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-20 03:40:17 +0000 UTC FinishedAt: 2026-07-20 04:11:43 +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": "94515f3a7d4256a5062176b7d6ed0471938cd51a", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_SYSCALL" ], "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": "94515f3a7d4256a5062176b7d6ed0471938cd51a", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_SYSCALL" ], "series_id": "beb59bce-e201-44e1-b27a-7f2630231b9b" }, "track": "KASAN", "fuzz": { "focus": [ "bpf" ], "focus_symbols": [ "bpf_prog_free" ], "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+CgkJCTx0ZD4yMDI2LzA3LzIwIDA0OjExPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9TWVNDQUxMJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YnBmX3Byb2dfZnJlZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBjaGFuZ2VzIHRoZSB3b3JrcXVldWUgdXNlZCBmb3IgZnJlZWluZyBCUEYgcHJvZ3JhbXMgZnJvbSB0aGUgZGVmYXVsdCBzeXN0ZW0gd29ya3F1ZXVlIHRvIHRoZSBzeXN0ZW1fZGZsX2xvbmdfd3EuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0aGF0IGNvdWxkIGFmZmVjdCBzY2hlZHVsaW5nIGFuZCByYWNlIGNvbmRpdGlvbnMgZHVyaW5nIEJQRiBwcm9ncmFtIGNsZWFudXAuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjAgMDQ6MTE8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA1ZmU3NWQxNmQxYWM4YzJhYTc5NWQ0YTJjOWFkZTUwMWQxNThlMmQzXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdWwgMjAgMDQ6MTE6MjAgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9jb3JlLmMgYi9rZXJuZWwvYnBmL2NvcmUuY1xuaW5kZXggNmUxOWEwMzBkYTZmMTMuLmEyY2E2YmRmYjZmNTZiIDEwMDY0NFxuLS0tIGEva2VybmVsL2JwZi9jb3JlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2tlcm5lbC9icGYvY29yZS5jXG5AQCAtMzExNSw3ICYjNDM7MzExNSw3IEBAIHZvaWQgYnBmX3Byb2dfZnJlZShzdHJ1Y3QgYnBmX3Byb2cgKmZwKVxuIFx0XHRicGZfcHJvZ19wdXQoYXV4LVx1MDAzZWRzdF9wcm9nKTtcbiBcdGJwZl90b2tlbl9wdXQoYXV4LVx1MDAzZXRva2VuKTtcbiBcdElOSVRfV09SSyhcdTAwMjZhdXgtXHUwMDNld29yaywgYnBmX3Byb2dfZnJlZV9kZWZlcnJlZCk7XG4tXHRzY2hlZHVsZV93b3JrKFx1MDAyNmF1eC1cdTAwM2V3b3JrKTtcbiYjNDM7XHRxdWV1ZV93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXHUwMDI2YXV4LVx1MDAzZXdvcmspO1xuIH1cbiBFWFBPUlRfU1lNQk9MX0dQTChicGZfcHJvZ19mcmVlKTtcbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAwNDoxMTwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCUEZfU1lTQ0FMTCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JwZl9wcm9nX2ZyZWUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgd29ya3F1ZXVlIHVzZWQgZm9yIGZyZWVpbmcgQlBGIHByb2dyYW1zIGZyb20gdGhlIGRlZmF1bHQgc3lzdGVtIHdvcmtxdWV1ZSB0byB0aGUgc3lzdGVtX2RmbF9sb25nX3dxLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBjb3VsZCBhZmZlY3Qgc2NoZWR1bGluZyBhbmQgcmFjZSBjb25kaXRpb25zIGR1cmluZyBCUEYgcHJvZ3JhbSBjbGVhbnVwLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCA1ZmU3NWQxNmQxYWM4YzJhYTc5NWQ0YTJjOWFkZTUwMWQxNThlMmQzCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIE1vbiBKdWwgMjAgMDQ6MTE6MjAgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2NvcmUuYyBiL2tlcm5lbC9icGYvY29yZS5jCmluZGV4IDZlMTlhMDMwZGE2ZjEzLi5hMmNhNmJkZmI2ZjU2YiAxMDA2NDQKLS0tIGEva2VybmVsL2JwZi9jb3JlLmMKJiM0MzsmIzQzOyYjNDM7IGIva2VybmVsL2JwZi9jb3JlLmMKQEAgLTMxMTUsNyAmIzQzOzMxMTUsNyBAQCB2b2lkIGJwZl9wcm9nX2ZyZWUoc3RydWN0IGJwZl9wcm9nICpmcCkKIAkJYnBmX3Byb2dfcHV0KGF1eC0mZ3Q7ZHN0X3Byb2cpOwogCWJwZl90b2tlbl9wdXQoYXV4LSZndDt0b2tlbik7CiAJSU5JVF9XT1JLKCZhbXA7YXV4LSZndDt3b3JrLCBicGZfcHJvZ19mcmVlX2RlZmVycmVkKTsKLQlzY2hlZHVsZV93b3JrKCZhbXA7YXV4LSZndDt3b3JrKTsKJiM0MzsJcXVldWVfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsICZhbXA7YXV4LSZndDt3b3JrKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGJwZl9wcm9nX2ZyZWUpOwogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDA0OjExPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE4NDIKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAyNTkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgQlBGIFByb2dyYW0gRnJlZWluZyBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0JiMzOTtzIHR3ZWFrZWQgYGtlcm5lbC9icGYvY29yZS5jYCwgc3BlY2lmaWNhbGx5IHRoZSBgYnBmX3Byb2dfZnJlZWAgZnVuY3Rpb24uIFRoZSBrZXkgY2hhbmdlIGlzIHRoaXM6IHRoZXkmIzM5O3ZlIHN3YXBwZWQgYHNjaGVkdWxlX3dvcmsoJmFtcDthdXgtJmd0O3dvcmspO2Agd2l0aCBgcXVldWVfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsICZhbXA7YXV4LSZndDt3b3JrKTtgLiBSaWdodCBvZmYgdGhlIGJhdCwgSSBrbm93IHRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZS4gSXQmIzM5O3MgbW92aW5nIHRoZSB3b3JrIG9mIGZyZWVpbmcgQlBGIHByb2dyYW1zIGZyb20gd2hhdGV2ZXIgZGVmYXVsdCB3b3JrcXVldWUgaXQgd2FzIHVzaW5nIHRvIGBzeXN0ZW1fZGZsX2xvbmdfd3FgLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgKndoeSo/ICBUaGF0IGxvb2tzIGxpa2UgYSBsb25nLXJ1bm5pbmcgd29ya3F1ZXVlLi4uIEkgc2hvdWxkIGNoZWNrIHdoYXQgdGhhdCBxdWV1ZSBpcyBhZ2FpbiwgSSB0aGluayBgc2NoZWR1bGVfd29ya2Agbm9ybWFsbHkgdXNlcyBgc3lzdGVtX3dxYCwgcmlnaHQ/IFllcywgdGhhdCYjMzk7cyB3aGF0IGl0IGxvb2tzIGxpa2UuCgpTbywgdGhpcyAqaXMqIGEgZnVuY3Rpb25hbCBkaWZmZXJlbmNlLiAgSXQmIzM5O3MganVzdCBhIG1hdHRlciBvZiB3aGV0aGVyIHRoZSBuZXcgd29ya3F1ZXVlIHByb3ZpZGVzIHNvbWUgYmVuZWZpdCwgcGVyaGFwcyB3aXRoIGJldHRlciBJL08gYmxvY2tpbmcgY2FwYWJpbGl0aWVzLiBJIG5lZWQgdG8gdGhpbmsgYWJvdXQgdGhpcyBpbiB0ZXJtcyBvZiByYWNlIGNvbmRpdGlvbnMgb3IgcGVyZm9ybWFuY2UgaW1wbGljYXRpb25zLCBpdCBjb3VsZCBiZSBhIHNtYWxsIGNoYW5nZSB3aXRoIGxhcmdlIGltcGxpY2F0aW9ucy4gSXQmIzM5O3MgYSBCUEYgZnVuY3Rpb24sIGFuZCBCUEYgaXMgY29yZSwgc28gSSBzaG91bGQgZnV6eiB0aGlzLiBJIHNob3VsZCBjaGVjayBpZiB0aGVyZSBhcmUgYW55IGNvbmZpZyBkZXBlbmRlbmNpZXMsIEkgdGhpbmsgaXQmIzM5O3MganVzdCBgQ09ORklHX0JQRl9TWVNDQUxMYCB0aGF0IGVuYWJsZXMgQlBGLiAgTm93LCBsZXQgbWUgZ28gYmFjayBhbmQgcmVhZCBga2VybmVsL2JwZi9jb3JlLmNgIGFuZCBzcGVjaWZpY2FsbHkgYGJwZl9wcm9nX2ZyZWVgIHRvIGdldCBhIGJldHRlciBoYW5kbGUgb24gdGhlIGNvbnRleHQgb2YgdGhpcyBjaGFuZ2UuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjAgMDQ6MTE8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnBmX3Byb2dfZnJlZSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2tlcm5lbC9icGYvY29yZS5jJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2tlcm5lbC9icGYvY29yZS5jPTI1Nz1zdHJ1Y3QgYnBmX3Byb2cgKmJwZl9wcm9nX3JlYWxsb2Moc3RydWN0IGJwZl9wcm9nICpmcF9vbGQsIHVuc2lnbmVkIGludCBzaXplLFxuLS1cbmtlcm5lbC9icGYvY29yZS5jLTI4MC1cdFx0ZnBfb2xkLVx1MDAzZWFjdGl2ZSA9IE5VTEw7XG5rZXJuZWwvYnBmL2NvcmUuYzoyODE6XHRcdF9fYnBmX3Byb2dfZnJlZShmcF9vbGQpO1xua2VybmVsL2JwZi9jb3JlLmMtMjgyLVx0fVxuLS1cbmtlcm5lbC9icGYvY29yZS5jLTI4Ni1cbmtlcm5lbC9icGYvY29yZS5jOjI4Nzp2b2lkIF9fYnBmX3Byb2dfZnJlZShzdHJ1Y3QgYnBmX3Byb2cgKmZwKVxua2VybmVsL2JwZi9jb3JlLmMtMjg4LXtcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYz0xNTI0PXN0YXRpYyB2b2lkIGJwZl9wcm9nX2Nsb25lX2ZyZWUoc3RydWN0IGJwZl9wcm9nICpmcClcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0xNTM1LVx0ZnAtXHUwMDNlYWN0aXZlID0gTlVMTDtcbmtlcm5lbC9icGYvY29yZS5jOjE1MzY6XHRfX2JwZl9wcm9nX2ZyZWUoZnApO1xua2VybmVsL2JwZi9jb3JlLmMtMTUzNy19XG4tLVxua2VybmVsL2JwZi9jb3JlLmM9MzA2Mz1zdGF0aWMgdm9pZCBicGZfZnJlZV91c2VkX2J0ZnMoc3RydWN0IGJwZl9wcm9nX2F1eCAqYXV4KVxuLS1cbmtlcm5lbC9icGYvY29yZS5jLTMwNjgtXG5rZXJuZWwvYnBmL2NvcmUuYzozMDY5OnN0YXRpYyB2b2lkIGJwZl9wcm9nX2ZyZWVfZGVmZXJyZWQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxua2VybmVsL2JwZi9jb3JlLmMtMzA3MC17XG4tLVxua2VybmVsL2JwZi9jb3JlLmMtMzEwOS1cbmtlcm5lbC9icGYvY29yZS5jOjMxMTA6dm9pZCBicGZfcHJvZ19mcmVlKHN0cnVjdCBicGZfcHJvZyAqZnApXG5rZXJuZWwvYnBmL2NvcmUuYy0zMTExLXtcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0zMTE2LVx0YnBmX3Rva2VuX3B1dChhdXgtXHUwMDNldG9rZW4pO1xua2VybmVsL2JwZi9jb3JlLmM6MzExNzpcdElOSVRfV09SSyhcdTAwMjZhdXgtXHUwMDNld29yaywgYnBmX3Byb2dfZnJlZV9kZWZlcnJlZCk7XG5rZXJuZWwvYnBmL2NvcmUuYy0zMTE4LVx0cXVldWVfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNmF1eC1cdTAwM2V3b3JrKTtcbmtlcm5lbC9icGYvY29yZS5jLTMxMTktfVxua2VybmVsL2JwZi9jb3JlLmM6MzEyMDpFWFBPUlRfU1lNQk9MX0dQTChicGZfcHJvZ19mcmVlKTtcbmtlcm5lbC9icGYvY29yZS5jLTMxMjEtXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjAgMDQ6MTE8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzA4MQoJCQkJCQkJb3V0cHV0OiAyOAoJCQkJCQkJdGhvdWdodHM6IDg4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIEtlcm5lbCBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBhbmQgaXQgYXBwZWFycyB0byBiZSBhIGZ1bmN0aW9uYWxseSBzaWduaWZpY2FudCBjaGFuZ2UsIHNwZWNpZmljYWxseSBhbHRlcmluZyBob3cgd29yayBpcyBzY2hlZHVsZWQgd2l0aGluIHRoZSBrZXJuZWwuIFRoZSBsaW5lIGBzY2hlZHVsZV93b3JrKCZhbXA7YXV4LSZndDt3b3JrKTtgIGlzIGJlaW5nIHJlcGxhY2VkIHdpdGggYHF1ZXVlX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCAmYW1wO2F1eC0mZ3Q7d29yayk7YC4gVGhpcyBtZWFucyB0aGUgd29yayBxdWV1ZSBpcyBubyBsb25nZXIgdGhlIGRlZmF1bHQgb25lLCB3aGljaCBpcyBhbiBpbXBvcnRhbnQgY29uc2lkZXJhdGlvbi4gVGhlIGZ1bmN0aW9uIGBicGZfcHJvZ19mcmVlYCBzZWVtcyB0byBiZSB0aGUgY3JpdGljYWwgc3ltYm9sIHRoaXMgcmV2b2x2ZXMgYXJvdW5kLiBHaXZlbiB0aGUgY29udGV4dCwgYW5kIGVzcGVjaWFsbHkgdGhhdCB0aGUgY29uZmlnIGlzIGBCUEZfU1lTQ0FMTGAsIHRoaXMgc3VnZ2VzdHMgd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBhIEJQRiBzeXNjYWxsLXJlbGF0ZWQgY2hhbmdlLiBNeSBpbW1lZGlhdGUgbmV4dCBzdGVwIGlzIHRvIHZlcmlmeSB0aGUgZGVmaW5pdGlvbiBhbmQgcHVycG9zZSBvZiBgc3lzdGVtX2RmbF9sb25nX3dxYC4gVW5kZXJzdGFuZGluZyBpdHMgY2hhcmFjdGVyaXN0aWNzLCBwb3RlbnRpYWwgcmVzb3VyY2UgbGltaXRhdGlvbnMsIGFuZCBpbnRlcmFjdGlvbnMgd2l0aCBvdGhlciBwYXJ0cyBvZiB0aGUga2VybmVsIGlzIGVzc2VudGlhbCB0byBmdWxseSB1bmRlcnN0YW5kIHRoZSBpbXBhY3Qgb2YgdGhpcyBtb2RpZmljYXRpb24uIFdlIG5lZWQgdG8gYmUgc3VyZSB0aGF0IHRoZSBjaGFuZ2UgZG9lc24mIzM5O3QgaW50cm9kdWNlIGFueSBwZXJmb3JtYW5jZSByZWdyZXNzaW9ucyBvciB1bmV4cGVjdGVkIGJlaGF2aW9ycywgcGFydGljdWxhcmx5IGFyb3VuZCBCUEYgcHJvZ3JhbSBsaWZlY3ljbGUgbWFuYWdlbWVudC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAwNDoxMTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtzeXN0ZW1fZGZsX2xvbmdfd3EmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDsmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9hdGEvbGliYXRhLWVoLmM9NzIxPXZvaWQgYXRhX3Njc2lfcG9ydF9lcnJvcl9oYW5kbGVyKHN0cnVjdCBTY3NpX0hvc3QgKmhvc3QsIHN0cnVjdCBhdGFfcG9ydCAqYXApXG4tLVxuZHJpdmVycy9hdGEvbGliYXRhLWVoLmMtODIzLVx0XHQhKGFwLVx1MDAzZWZsYWdzIFx1MDAyNiBBVEFfRkxBR19TQVNfSE9TVCkpXG5kcml2ZXJzL2F0YS9saWJhdGEtZWguYzo4MjQ6XHRcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNmFwLVx1MDAzZWhvdHBsdWdfdGFzaywgMCk7XG5kcml2ZXJzL2F0YS9saWJhdGEtZWguYy04MjUtXG4tLVxuZHJpdmVycy9hdGEvbGliYXRhLXNjc2kuYz00NzA3PXZvaWQgYXRhX3Njc2lfc2Nhbl9ob3N0KHN0cnVjdCBhdGFfcG9ydCAqYXAsIGludCBzeW5jKVxuLS1cbmRyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmMtNDc3Ni1cbmRyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmM6NDc3NzpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNmFwLVx1MDAzZWhvdHBsdWdfdGFzayxcbmRyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmMtNDc3OC1cdFx0XHQgICByb3VuZF9qaWZmaWVzX3JlbGF0aXZlKEhaKSk7XG4tLVxuZHJpdmVycy9pMmMvaTJjLXNsYXZlLXRlc3R1bml0LmM9ODI9c3RhdGljIGludCBpMmNfc2xhdmVfdGVzdHVuaXRfc2xhdmVfY2Ioc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCxcbi0tXG5kcml2ZXJzL2kyYy9pMmMtc2xhdmUtdGVzdHVuaXQuYy0xMjYtXHRcdFx0c2V0X2JpdChUVV9GTEFHX0lOX1BST0NFU1MsIFx1MDAyNnR1LVx1MDAzZWZsYWdzKTtcbmRyaXZlcnMvaTJjL2kyYy1zbGF2ZS10ZXN0dW5pdC5jOjEyNzpcdFx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZ0dS1cdTAwM2V3b3JrZXIsXG5kcml2ZXJzL2kyYy9pMmMtc2xhdmUtdGVzdHVuaXQuYy0xMjgtXHRcdFx0XHRcdCAgIG1zZWNzX3RvX2ppZmZpZXMoMTAgKiB0dS1cdTAwM2VyZWdzW1RVX1JFR19ERUxBWV0pKTtcbi0tXG5kcml2ZXJzL3BoeS90aS9waHktdHVzYjEyMTAuYz0xOTE9c3RhdGljIHZvaWQgdHVzYjEyMTBfY2hnX2RldF9zZXRfc3RhdGUoc3RydWN0IHR1c2IxMjEwICp0dXNiLFxuLS1cbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jLTE5OS1cdHR1c2ItXHUwMDNlY2hnX2RldF9zdGF0ZSA9IG5ld19zdGF0ZTtcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jOjIwMDpcdG1vZF9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZ0dXNiLVx1MDAzZWNoZ19kZXRfd29yayxcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jLTIwMS1cdFx0XHQgbXNlY3NfdG9famlmZmllcyhkZWxheV9tcykpO1xuLS1cbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jPTM3Nj1zdGF0aWMgaW50IHR1c2IxMjEwX3BzeV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLFxuLS1cbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jLTM4Mi1cdGlmIChwc3kgIT0gdHVzYi1cdTAwM2Vwc3kgXHUwMDI2XHUwMDI2IHBzeS1cdTAwM2VkZXNjLVx1MDAzZXR5cGUgPT0gUE9XRVJfU1VQUExZX1RZUEVfVVNCKVxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmM6MzgzOlx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZ0dXNiLVx1MDAzZWNoZ19kZXRfd29yaywgMCk7XG5kcml2ZXJzL3BoeS90aS9waHktdHVzYjEyMTAuYy0zODQtXG4tLVxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmM9NDMyPXN0YXRpYyB2b2lkIHR1c2IxMjEwX3Byb2JlX2NoYXJnZXJfZGV0ZWN0KHN0cnVjdCB0dXNiMTIxMCAqdHVzYilcbi0tXG5kcml2ZXJzL3BoeS90aS9waHktdHVzYjEyMTAuYy00NjAtXHRJTklUX0RFTEFZRURfV09SSyhcdTAwMjZ0dXNiLVx1MDAzZWNoZ19kZXRfd29yaywgdHVzYjEyMTBfY2hnX2RldF93b3JrKTtcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jOjQ2MTpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnR1c2ItXHUwMDNlY2hnX2RldF93b3JrLCAyICogSFopO1xuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmMtNDYyLVxuLS1cbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYz0yMjA9c3RhdGljIHNzaXplX3Qgc3RvcmVfcmVjb25uZWN0X2RlbGF5KHN0cnVjdCBkZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmMtMjM2LVx0ICAgIHJwb3J0LVx1MDAzZXN0YXRlICE9IFNSUF9SUE9SVF9SVU5OSU5HKSB7XG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmM6MjM3Olx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZycG9ydC1cdTAwM2VyZWNvbm5lY3Rfd29yayxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy0yMzgtXHRcdFx0XHQgICBkZWxheSAqIEhaKTtcbi0tXG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmM9Mzc4PXN0YXRpYyB2b2lkIHNycF9yZWNvbm5lY3Rfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4tLVxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTM5Mi1cdFx0aWYgKGRlbGF5IFx1MDAzZSAwKVxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jOjM5MzpcdFx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTM5NC1cdFx0XHRcdFx0ICAgXHUwMDI2cnBvcnQtXHUwMDNlcmVjb25uZWN0X3dvcmssIGRlbGF5ICogSFopO1xuLS1cbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYz00NjE9c3RhdGljIHZvaWQgX19zcnBfc3RhcnRfdGxfZmFpbF90aW1lcnMoc3RydWN0IHNycF9ycG9ydCAqcnBvcnQpXG4tLVxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTQ3Ni1cdGlmIChkZWxheSBcdTAwM2UgMClcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYzo0Nzc6XHRcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnJwb3J0LVx1MDAzZXJlY29ubmVjdF93b3JrLFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTQ3OC1cdFx0XHRcdCAgIDFVTCAqIGRlbGF5ICogSFopO1xuLS1cbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy00ODQtXHRcdGlmIChmYXN0X2lvX2ZhaWxfdG1vIFx1MDAzZT0gMClcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYzo0ODU6XHRcdFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy00ODYtXHRcdFx0XHRcdCAgIFx1MDAyNnJwb3J0LVx1MDAzZWZhc3RfaW9fZmFpbF93b3JrLFxuLS1cbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy00ODgtXHRcdGlmIChkZXZfbG9zc190bW8gXHUwMDNlPSAwKVxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jOjQ4OTpcdFx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTQ5MC1cdFx0XHRcdFx0ICAgXHUwMDI2cnBvcnQtXHUwMDNlZGV2X2xvc3Nfd29yayxcbi0tXG5mcy9mdXNlL2RheC5jPTEwOD1fX2tpY2tfZG1hcF9mcmVlX3dvcmtlcihzdHJ1Y3QgZnVzZV9jb25uX2RheCAqZmNkLCB1bnNpZ25lZCBsb25nIGRlbGF5X21zKVxuLS1cbmZzL2Z1c2UvZGF4LmMtMTE1LVx0aWYgKGZjZC1cdTAwM2Vucl9mcmVlX3JhbmdlcyBcdTAwM2MgZnJlZV90aHJlc2hvbGQpXG5mcy9mdXNlL2RheC5jOjExNjpcdFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXHUwMDI2ZmNkLVx1MDAzZWZyZWVfd29yayxcbmZzL2Z1c2UvZGF4LmMtMTE3LVx0XHRcdFx0ICAgbXNlY3NfdG9famlmZmllcyhkZWxheV9tcykpO1xuLS1cbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmg9NDE4PWVudW0gd3FfY29uc3RzIHtcbi0tXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oLTQ0NC0gKlxuaW5jbHVkZS9saW51eC93b3JrcXVldWUuaDo0NDU6ICogc3lzdGVtX2RmbF9sb25nX3dxIGlzIHNpbWlsYXIgdG8gc3lzdGVtX2RmbF93cSBidXQgaXQgbWF5IGhvc3QgbG9uZyBydW5uaW5nXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oLTQ0Ni0gKiB3b3Jrcy5cbi0tXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oPTQ3NT1leHRlcm4gc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKnN5c3RlbV9iaF9oaWdocHJpX3dxO1xuaW5jbHVkZS9saW51eC93b3JrcXVldWUuaDo0NzY6ZXh0ZXJuIHN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpzeXN0ZW1fZGZsX2xvbmdfd3E7XG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oLTQ3Ny1cbi0tXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oPTc5Nj1leHRlcm4gdm9pZCBfX3dhcm5fZmx1c2hpbmdfc3lzdGVtd2lkZV93cSh2b2lkKVxuLS1cbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmgtODE1LVx0ICAgICBfd3EgPT0gc3lzdGVtX2xvbmdfd3EpIHx8XHRcdFx0XHRcdFxcXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oOjgxNjpcdCAgICAoX19idWlsdGluX2NvbnN0YW50X3AoX3dxID09IHN5c3RlbV9kZmxfbG9uZ193cSkgXHUwMDI2XHUwMDI2XHRcdFxcXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oOjgxNzpcdCAgICAgX3dxID09IHN5c3RlbV9kZmxfbG9uZ193cSkgfHxcdFx0XHRcdFx0XFxcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmgtODE4LVx0ICAgIChfX2J1aWx0aW5fY29uc3RhbnRfcChfd3EgPT0gc3lzdGVtX2RmbF93cSkgXHUwMDI2XHUwMDI2XHRcdFxcXG4tLVxua2VybmVsL2JwZi9jb3JlLmM9MzExMD12b2lkIGJwZl9wcm9nX2ZyZWUoc3RydWN0IGJwZl9wcm9nICpmcClcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0zMTE3LVx0SU5JVF9XT1JLKFx1MDAyNmF1eC1cdTAwM2V3b3JrLCBicGZfcHJvZ19mcmVlX2RlZmVycmVkKTtcbmtlcm5lbC9icGYvY29yZS5jOjMxMTg6XHRxdWV1ZV93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXHUwMDI2YXV4LVx1MDAzZXdvcmspO1xua2VybmVsL2JwZi9jb3JlLmMtMzExOS19XG4tLVxua2VybmVsL3dvcmtxdWV1ZS5jPTU0NT1FWFBPUlRfU1lNQk9MX0dQTChzeXN0ZW1fYmhfaGlnaHByaV93cSk7XG5rZXJuZWwvd29ya3F1ZXVlLmM6NTQ2OnN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpzeXN0ZW1fZGZsX2xvbmdfd3EgX19yb19hZnRlcl9pbml0O1xua2VybmVsL3dvcmtxdWV1ZS5jOjU0NzpFWFBPUlRfU1lNQk9MX0dQTChzeXN0ZW1fZGZsX2xvbmdfd3EpO1xua2VybmVsL3dvcmtxdWV1ZS5jLTU0OC1cbi0tXG5rZXJuZWwvd29ya3F1ZXVlLmM9Nzk3MT12b2lkIF9faW5pdCB3b3JrcXVldWVfaW5pdF9lYXJseSh2b2lkKVxuLS1cbmtlcm5lbC93b3JrcXVldWUuYy04MDcwLVx0XHRcdFx0XHQgICAgICAgV1FfQkggfCBXUV9ISUdIUFJJIHwgV1FfUEVSQ1BVLCAwKTtcbmtlcm5lbC93b3JrcXVldWUuYzo4MDcxOlx0c3lzdGVtX2RmbF9sb25nX3dxID0gYWxsb2Nfd29ya3F1ZXVlKFwmIzM0O2V2ZW50c19kZmxfbG9uZ1wmIzM0OywgV1FfVU5CT1VORCwgV1FfTUFYX0FDVElWRSk7XG5rZXJuZWwvd29ya3F1ZXVlLmMtODA3Mi1cdEJVR19PTighc3lzdGVtX3dxIHx8ICFzeXN0ZW1fcGVyY3B1X3dxfHwgIXN5c3RlbV9oaWdocHJpX3dxIHx8ICFzeXN0ZW1fbG9uZ193cSB8fFxuLS1cbmtlcm5lbC93b3JrcXVldWUuYy04MDc1LVx0ICAgICAgICFzeXN0ZW1fZnJlZXphYmxlX3Bvd2VyX2VmZmljaWVudF93cSB8fFxua2VybmVsL3dvcmtxdWV1ZS5jOjgwNzY6XHQgICAgICAgIXN5c3RlbV9iaF93cSB8fCAhc3lzdGVtX2JoX2hpZ2hwcmlfd3EgfHwgIXN5c3RlbV9kZmxfbG9uZ193cSk7XG5rZXJuZWwvd29ya3F1ZXVlLmMtODA3Ny19XG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYz0yNDM9c3RhdGljIGlubGluZSBpbnQgaXBfdnNfY29ubl9oYXNoKHN0cnVjdCBpcF92c19jb25uICpjcClcbi0tXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jLTI4Ny1cdCAgICAhdGVzdF9hbmRfc2V0X2JpdChJUF9WU19XT1JLX0NPTk5fUkVTSVpFLCBcdTAwMjZpcHZzLVx1MDAzZXdvcmtfZmxhZ3MpKVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYzoyODg6XHRcdG1vZF9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZpcHZzLVx1MDAzZWNvbm5fcmVzaXplX3dvcmssIDApO1xubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYy0yODktXG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYz04MDA9c3RhdGljIHZvaWQgY29ubl9yZXNpemVfd29ya19oYW5kbGVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbi0tXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jLTkxOC1cdC8qIE1vbml0b3IgaWYgd2UgbmVlZCB0byBzaHJpbmsgdGFibGUgKi9cbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jb25uLmM6OTE5Olx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXHUwMDI2aXB2cy1cdTAwM2Vjb25uX3Jlc2l6ZV93b3JrLFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYy05MjAtXHRcdFx0ICAgbW9yZV93b3JrID8gMSA6IDIgKiBIWik7XG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jPTY3MD1zdGF0aWMgdm9pZCBzdmNfcmVzaXplX3dvcmtfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jLTgyMy1cdFx0cmV0dXJuO1xubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jOjgyNDpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNmlwdnMtXHUwMDNlc3ZjX3Jlc2l6ZV93b3JrLCAxKTtcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYy04MjUtXHRyZXR1cm47XG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jPTE3MDk9aXBfdnNfYWRkX3NlcnZpY2Uoc3RydWN0IG5ldG5zX2lwdnMgKmlwdnMsIHN0cnVjdCBpcF92c19zZXJ2aWNlX3VzZXJfa2VybiAqdSxcbi0tXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMTg3MS1cdGlmIChncm93IFx1MDAyNlx1MDAyNiAhdGVzdF9hbmRfc2V0X2JpdChJUF9WU19XT1JLX1NWQ19SRVNJWkUsIFx1MDAyNmlwdnMtXHUwMDNld29ya19mbGFncykpXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmM6MTg3MjpcdFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXHUwMDI2aXB2cy1cdTAwM2VzdmNfcmVzaXplX3dvcmssXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMTg3My1cdFx0XHRcdCAgIDEpO1xuLS1cbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYz0yMDg2PXN0YXRpYyBpbnQgaXBfdnNfZGVsX3NlcnZpY2Uoc3RydWN0IGlwX3ZzX3NlcnZpY2UgKnN2Yylcbi0tXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMjEyNy1cdFx0XHRcdFx0XHRcdTAwMjZpcHZzLVx1MDAzZXdvcmtfZmxhZ3MpKVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jOjIxMjg6XHRcdFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYy0yMTI5LVx0XHRcdFx0XHQgICBcdTAwMjZpcHZzLVx1MDAzZXN2Y19yZXNpemVfd29yaywgMSk7XG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jPTI1ODk9c3RhdGljIGludCBpcHZzX3Byb2NfY29ubl9sZmFjdG9yKGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsXG4tLVxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jLTI2MDgtXHRcdFx0aWYgKHJjdV9hY2Nlc3NfcG9pbnRlcihpcHZzLVx1MDAzZWNvbm5fdGFiKSlcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYzoyNjA5Olx0XHRcdFx0bW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMjYxMC1cdFx0XHRcdFx0XHQgXHUwMDI2aXB2cy1cdTAwM2Vjb25uX3Jlc2l6ZV93b3JrLCAwKTtcbi0tXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmM9MjYxNj1zdGF0aWMgaW50IGlwdnNfcHJvY19zdmNfbGZhY3Rvcihjb25zdCBzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLFxuLS1cbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYy0yNjQwLVx0XHRcdFx0ICAgICAgXHUwMDI2aXB2cy1cdTAwM2V3b3JrX2ZsYWdzKSlcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYzoyNjQxOlx0XHRcdFx0bW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMjY0Mi1cdFx0XHRcdFx0XHQgXHUwMDI2aXB2cy1cdTAwM2VzdmNfcmVzaXplX3dvcmssIDApO1xuLS1cbm5ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0LmM9NDgwPXhwcnRfcmRtYV9jb25uZWN0KHN0cnVjdCBycGNfeHBydCAqeHBydCwgc3RydWN0IHJwY190YXNrICp0YXNrKVxuLS1cbm5ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0LmMtNDkzLVx0dHJhY2VfeHBydHJkbWFfb3BfY29ubmVjdChyX3hwcnQsIGRlbGF5KTtcbm5ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0LmM6NDk0Olx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXHUwMDI2cl94cHJ0LVx1MDAzZXJ4X2Nvbm5lY3Rfd29ya2VyLFxubmV0L3N1bnJwYy94cHJ0cmRtYS90cmFuc3BvcnQuYy00OTUtXHRcdFx0ICAgZGVsYXkpO1xuLS1cbnNvdW5kL3NvYy9jb2RlY3MvY3M0Mmw0My1qYWNrLmM9Nzk3PWlycXJldHVybl90IGNzNDJsNDNfdGlwX3NlbnNlKGludCBpcnEsIHZvaWQgKmRhdGEpXG4tLVxuc291bmQvc29jL2NvZGVjcy9jczQybDQzLWphY2suYy04MDgtXG5zb3VuZC9zb2MvY29kZWNzL2NzNDJsNDMtamFjay5jOjgwOTpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnByaXYtXHUwMDNldGlwX3NlbnNlX3dvcmssXG5zb3VuZC9zb2MvY29kZWNzL2NzNDJsNDMtamFjay5jLTgxMC1cdFx0XHQgICBtc2Vjc190b19qaWZmaWVzKGRiX2RlbGF5KSk7XG4tLVxuc291bmQvc29jL2NvZGVjcy9jczQybDQzLWphY2suYz05MDY9aW50IGNzNDJsNDNfamFja19wdXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKVxuLS1cbnNvdW5kL3NvYy9jb2RlY3MvY3M0Mmw0My1qYWNrLmMtOTM1LVx0aWYgKCFvdmVycmlkZSkge1xuc291bmQvc29jL2NvZGVjcy9jczQybDQzLWphY2suYzo5MzY6XHRcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnByaXYtXHUwMDNldGlwX3NlbnNlX3dvcmssXG5zb3VuZC9zb2MvY29kZWNzL2NzNDJsNDMtamFjay5jLTkzNy1cdFx0XHRcdCAgIDApO1xuLS1cbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM9MjMxND1zdGF0aWMgdm9pZCBydDU2NDBfamFja193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbi0tXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTIzOTktXHRcdCAqL1xuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYzoyNDAwOlx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZydDU2NDAtXHUwMDNlamFja193b3JrLCAwKTtcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjQwMS1cdH1cbi0tXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jPTI0MDQ9c3RhdGljIGlycXJldHVybl90IHJ0NTY0MF9pcnEoaW50IGlycSwgdm9pZCAqZGF0YSlcbi0tXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MTItXHRpZiAocnQ1NjQwLVx1MDAzZWphY2spXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jOjI0MTM6XHRcdG1vZF9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZydDU2NDAtXHUwMDNlamFja193b3JrLFxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yNDE0LVx0XHRcdFx0IGRlbGF5KTtcbi0tXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jPTI0MTk9c3RhdGljIGlycXJldHVybl90IHJ0NTY0MF9qZF9ncGlvX2lycShpbnQgaXJxLCB2b2lkICpkYXRhKVxuLS1cbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjQyMi1cbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM6MjQyMzpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnJ0NTY0MC1cdTAwM2VqYWNrX3dvcmssXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MjQtXHRcdFx0ICAgbXNlY3NfdG9famlmZmllcyhKQUNLX1NFVFRMRV9USU1FKSk7XG4tLVxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYz0yNDk1PXN0YXRpYyB2b2lkIHJ0NTY0MF9lbmFibGVfamFja19kZXRlY3Qoc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQsXG4tLVxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yNTg0LVx0Lyogc3luYyBpbml0aWFsIGphY2sgc3RhdGUgKi9cbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM6MjU4NTpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnJ0NTY0MC1cdTAwM2VqYWNrX3dvcmssIDApO1xuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yNTg2LX1cbi0tXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jPTI1OTQ9c3RhdGljIHZvaWQgcnQ1NjQwX2VuYWJsZV9oZGFfamFja19kZXRlY3QoXG4tLVxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yNjM3LVx0Lyogc3luYyBpbml0aWFsIGphY2sgc3RhdGUgKi9cbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM6MjYzODpcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNnJ0NTY0MC1cdTAwM2VqYWNrX3dvcmssIDApO1xuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yNjM5LVxuLS1cbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM9MjgyNj1zdGF0aWMgaW50IHJ0NTY0MF9yZXN1bWUoc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQpXG4tLVxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yODY1LVx0XHRlbmFibGVfaXJxKHJ0NTY0MC1cdTAwM2VpcnEpO1xuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYzoyODY2Olx0XHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZydDU2NDAtXHUwMDNlamFja193b3JrLCAwKTtcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjg2Ny1cdH1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAwNDoxMTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA4NDk3CgkJCQkJCQlvdXRwdXQ6IDk0CgkJCQkJCQl0aG91Z2h0czogMjgzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIEJQRiBQcm9ncmFtIEZyZWUgUGF0Y2gqKgoKT2theSwgc28gdGhpcyBpcyBhIHByZXR0eSBzdHJhaWdodGZvcndhcmQgcGF0Y2gg4oCTIGl0JiMzOTtzIGp1c3Qgc3dhcHBpbmcgb3V0IGBzY2hlZHVsZV93b3JrYCBmb3IgYHF1ZXVlX3dvcmtgIHdpdGggYHN5c3RlbV9kZmxfbG9uZ193cWAuIFRoZSBjb3JlIGNoYW5nZSBpcyBpbiBgYnBmX3Byb2dfZnJlZWAsIHdoaWNoIGhhbmRsZXMgZnJlZWluZyBCUEYgcHJvZ3JhbXMuIEZ1bmN0aW9uYWxseSwgdGhpcyBpbXBhY3RzIHRoZSB3b3JrcXVldWUgdXNlZCBmb3IgdGhpcyBwcm9jZXNzLiBJdCBzZWVtcyBzaW1wbGUsIGJ1dCB0aGVzZSBraW5kcyBvZiBjaGFuZ2VzIGluIGNvcmUgZnVuY3Rpb25zIGFyZSBhbHdheXMgd29ydGggYSBjbG9zZXIgbG9vay4KCkxldCBtZSBtYWtlIHN1cmUgSSB1bmRlcnN0YW5kIHRoaXMgZnVsbHkuCgpgYGBjCkBAIC0zMTE1LDcgJiM0MzszMTE1LDcgQEAgdm9pZCBicGZfcHJvZ19mcmVlKHN0cnVjdCBicGZfcHJvZyAqZnApCiAJCWJwZl9wcm9nX3B1dChhdXgtJmd0O2RzdF9wcm9nKTsKIAlicGZfdG9rZW5fcHV0KGF1eC0mZ3Q7dG9rZW4pOwogCUlOSVRfV09SSygmYW1wO2F1eC0mZ3Q7d29yaywgYnBmX3Byb2dfZnJlZV9kZWZlcnJlZCk7Ci0Jc2NoZWR1bGVfd29yaygmYW1wO2F1eC0mZ3Q7d29yayk7CiYjNDM7CXF1ZXVlX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCAmYW1wO2F1eC0mZ3Q7d29yayk7CiB9CiBgYGAKClJpZ2h0LCB0aGUgcG90ZW50aWFsIGlzc3VlIGhlcmUgaXMgdGhhdCB0aGUgbmV3IHdvcmtxdWV1ZSBjb3VsZCBpbnRyb2R1Y2UgbmV3IHJhY2UgY29uZGl0aW9ucywgZXNwZWNpYWxseSBpZiB0aGUgb2xkIHdvcmtxdWV1ZSBoYWQgc29tZSBpbXBsaWNpdCBvcmRlcmluZyBhc3N1bXB0aW9ucy4gU2luY2UgaXQmIzM5O3MgYSBjcml0aWNhbCBmdW5jdGlvbiwgZnV6emluZyBpcyBwcm9iYWJseSBhIGdvb2QgaWRlYSB0byB0ZXN0IHRoaXMgdGhvcm91Z2hseS4gSSYjMzk7bGwgZmxhZyB0aGlzIGFzIFdvcnRoRnV6emluZywgc3BlY2lmaWNhbGx5IHRhcmdldGluZyBgYnBmX3Byb2dfZnJlZWAgZm9yIGZ1enppbmcuIEkmIzM5O2xsIGFsc28gZW5zdXJlIHRoYXQgYEJQRl9TWVNDQUxMYCBpcyBlbmFibGVkIGZvciB0aGUgdGVzdCBzZXR1cCwgZ2l2ZW4gaXRzIHJlbGV2YW5jZSB0byBCUEYgb3BlcmF0aW9ucy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAwNDoxMTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QlBGX1NZU0NBTEwmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfcHJvZ19mcmVlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNoYW5nZXMgdGhlIHdvcmtxdWV1ZSB1c2VkIGZvciBmcmVlaW5nIEJQRiBwcm9ncmFtcyBmcm9tIHRoZSBkZWZhdWx0IHN5c3RlbSB3b3JrcXVldWUgdG8gdGhlIHN5c3RlbV9kZmxfbG9uZ193cS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHRoYXQgY291bGQgYWZmZWN0IHNjaGVkdWxpbmcgYW5kIHJhY2UgY29uZGl0aW9ucyBkdXJpbmcgQlBGIHByb2dyYW0gY2xlYW51cC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QlBGX1NZU0NBTEwmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfcHJvZ19mcmVlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNoYW5nZXMgdGhlIHdvcmtxdWV1ZSB1c2VkIGZvciBmcmVlaW5nIEJQRiBwcm9ncmFtcyBmcm9tIHRoZSBkZWZhdWx0IHN5c3RlbSB3b3JrcXVldWUgdG8gdGhlIHN5c3RlbV9kZmxfbG9uZ193cS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHRoYXQgY291bGQgYWZmZWN0IHNjaGVkdWxpbmcgYW5kIHJhY2UgY29uZGl0aW9ucyBkdXJpbmcgQlBGIHByb2dyYW0gY2xlYW51cC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDA0OjExOjIyLjQ0MTcyNDM2OFoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE5MDA1MzYyNDQ5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJQRl9TWVNDQUxMXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYnBmX3Byb2dfZnJlZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGNoYW5nZXMgdGhlIHdvcmtxdWV1ZSB1c2VkIGZvciBmcmVlaW5nIEJQRiBwcm9ncmFtcyBmcm9tIHRoZSBkZWZhdWx0IHN5c3RlbSB3b3JrcXVldWUgdG8gdGhlIHN5c3RlbV9kZmxfbG9uZ193cS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHRoYXQgY291bGQgYWZmZWN0IHNjaGVkdWxpbmcgYW5kIHJhY2UgY29uZGl0aW9ucyBkdXJpbmcgQlBGIHByb2dyYW0gY2xlYW51cC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMDQ6MTE6MjIuNDQxNzI5NzU4WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NTQxOTgzODgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA1ZmU3NWQxNmQxYWM4YzJhYTc5NWQ0YTJjOWFkZTUwMWQxNThlMmQzXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBNb24gSnVsIDIwIDA0OjExOjIwIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvY29yZS5jIGIva2VybmVsL2JwZi9jb3JlLmNcXG5pbmRleCA2ZTE5YTAzMGRhNmYxMy4uYTJjYTZiZGZiNmY1NmIgMTAwNjQ0XFxuLS0tIGEva2VybmVsL2JwZi9jb3JlLmNcXG4rKysgYi9rZXJuZWwvYnBmL2NvcmUuY1xcbkBAIC0zMTE1LDcgKzMxMTUsNyBAQCB2b2lkIGJwZl9wcm9nX2ZyZWUoc3RydWN0IGJwZl9wcm9nICpmcClcXG4gXFx0XFx0YnBmX3Byb2dfcHV0KGF1eC1cXHUwMDNlZHN0X3Byb2cpO1xcbiBcXHRicGZfdG9rZW5fcHV0KGF1eC1cXHUwMDNldG9rZW4pO1xcbiBcXHRJTklUX1dPUksoXFx1MDAyNmF1eC1cXHUwMDNld29yaywgYnBmX3Byb2dfZnJlZV9kZWZlcnJlZCk7XFxuLVxcdHNjaGVkdWxlX3dvcmsoXFx1MDAyNmF1eC1cXHUwMDNld29yayk7XFxuK1xcdHF1ZXVlX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2YXV4LVxcdTAwM2V3b3JrKTtcXG4gfVxcbiBFWFBPUlRfU1lNQk9MX0dQTChicGZfcHJvZ19mcmVlKTtcXG4gXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDA0OjExOjIyLjk5NjcwNzgxNloiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTg0NTAzNjc1MjEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX1NZU0NBTExcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfcHJvZ19mcmVlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgd29ya3F1ZXVlIHVzZWQgZm9yIGZyZWVpbmcgQlBGIHByb2dyYW1zIGZyb20gdGhlIGRlZmF1bHQgc3lzdGVtIHdvcmtxdWV1ZSB0byB0aGUgc3lzdGVtX2RmbF9sb25nX3dxLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBjb3VsZCBhZmZlY3Qgc2NoZWR1bGluZyBhbmQgcmFjZSBjb25kaXRpb25zIGR1cmluZyBCUEYgcHJvZ3JhbSBjbGVhbnVwLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDVmZTc1ZDE2ZDFhYzhjMmFhNzk1ZDRhMmM5YWRlNTAxZDE1OGUyZDNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEp1bCAyMCAwNDoxMToyMCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvY29yZS5jIGIva2VybmVsL2JwZi9jb3JlLmNcbmluZGV4IDZlMTlhMDMwZGE2ZjEzLi5hMmNhNmJkZmI2ZjU2YiAxMDA2NDRcbi0tLSBhL2tlcm5lbC9icGYvY29yZS5jXG4rKysgYi9rZXJuZWwvYnBmL2NvcmUuY1xuQEAgLTMxMTUsNyArMzExNSw3IEBAIHZvaWQgYnBmX3Byb2dfZnJlZShzdHJ1Y3QgYnBmX3Byb2cgKmZwKVxuIFx0XHRicGZfcHJvZ19wdXQoYXV4LVx1MDAzZWRzdF9wcm9nKTtcbiBcdGJwZl90b2tlbl9wdXQoYXV4LVx1MDAzZXRva2VuKTtcbiBcdElOSVRfV09SSyhcdTAwMjZhdXgtXHUwMDNld29yaywgYnBmX3Byb2dfZnJlZV9kZWZlcnJlZCk7XG4tXHRzY2hlZHVsZV93b3JrKFx1MDAyNmF1eC1cdTAwM2V3b3JrKTtcbitcdHF1ZXVlX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZhdXgtXHUwMDNld29yayk7XG4gfVxuIEVYUE9SVF9TWU1CT0xfR1BMKGJwZl9wcm9nX2ZyZWUpO1xuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMDQ6MTE6MjIuOTk2NzA5MDM2WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTUxMDM4OTAzNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBCUEYgUHJvZ3JhbSBGcmVlaW5nIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0J3MgdHdlYWtlZCBga2VybmVsL2JwZi9jb3JlLmNgLCBzcGVjaWZpY2FsbHkgdGhlIGBicGZfcHJvZ19mcmVlYCBmdW5jdGlvbi4gVGhlIGtleSBjaGFuZ2UgaXMgdGhpczogdGhleSd2ZSBzd2FwcGVkIGBzY2hlZHVsZV93b3JrKFx1MDAyNmF1eC1cdTAwM2V3b3JrKTtgIHdpdGggYHF1ZXVlX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcdTAwMjZhdXgtXHUwMDNld29yayk7YC4gUmlnaHQgb2ZmIHRoZSBiYXQsIEkga25vdyB0aGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UuIEl0J3MgbW92aW5nIHRoZSB3b3JrIG9mIGZyZWVpbmcgQlBGIHByb2dyYW1zIGZyb20gd2hhdGV2ZXIgZGVmYXVsdCB3b3JrcXVldWUgaXQgd2FzIHVzaW5nIHRvIGBzeXN0ZW1fZGZsX2xvbmdfd3FgLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgKndoeSo/ICBUaGF0IGxvb2tzIGxpa2UgYSBsb25nLXJ1bm5pbmcgd29ya3F1ZXVlLi4uIEkgc2hvdWxkIGNoZWNrIHdoYXQgdGhhdCBxdWV1ZSBpcyBhZ2FpbiwgSSB0aGluayBgc2NoZWR1bGVfd29ya2Agbm9ybWFsbHkgdXNlcyBgc3lzdGVtX3dxYCwgcmlnaHQ/IFllcywgdGhhdCdzIHdoYXQgaXQgbG9va3MgbGlrZS5cblxuU28sIHRoaXMgKmlzKiBhIGZ1bmN0aW9uYWwgZGlmZmVyZW5jZS4gIEl0J3MganVzdCBhIG1hdHRlciBvZiB3aGV0aGVyIHRoZSBuZXcgd29ya3F1ZXVlIHByb3ZpZGVzIHNvbWUgYmVuZWZpdCwgcGVyaGFwcyB3aXRoIGJldHRlciBJL08gYmxvY2tpbmcgY2FwYWJpbGl0aWVzLiBJIG5lZWQgdG8gdGhpbmsgYWJvdXQgdGhpcyBpbiB0ZXJtcyBvZiByYWNlIGNvbmRpdGlvbnMgb3IgcGVyZm9ybWFuY2UgaW1wbGljYXRpb25zLCBpdCBjb3VsZCBiZSBhIHNtYWxsIGNoYW5nZSB3aXRoIGxhcmdlIGltcGxpY2F0aW9ucy4gSXQncyBhIEJQRiBmdW5jdGlvbiwgYW5kIEJQRiBpcyBjb3JlLCBzbyBJIHNob3VsZCBmdXp6IHRoaXMuIEkgc2hvdWxkIGNoZWNrIGlmIHRoZXJlIGFyZSBhbnkgY29uZmlnIGRlcGVuZGVuY2llcywgSSB0aGluayBpdCdzIGp1c3QgYENPTkZJR19CUEZfU1lTQ0FMTGAgdGhhdCBlbmFibGVzIEJQRi4gIE5vdywgbGV0IG1lIGdvIGJhY2sgYW5kIHJlYWQgYGtlcm5lbC9icGYvY29yZS5jYCBhbmQgc3BlY2lmaWNhbGx5IGBicGZfcHJvZ19mcmVlYCB0byBnZXQgYSBiZXR0ZXIgaGFuZGxlIG9uIHRoZSBjb250ZXh0IG9mIHRoaXMgY2hhbmdlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxODQyLCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjU5LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMDQ6MTE6MjguNTA3MTAwNTAzWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjkyMzc4NTA4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImJwZl9wcm9nX2ZyZWVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwia2VybmVsL2JwZi9jb3JlLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwia2VybmVsL2JwZi9jb3JlLmM9MjU3PXN0cnVjdCBicGZfcHJvZyAqYnBmX3Byb2dfcmVhbGxvYyhzdHJ1Y3QgYnBmX3Byb2cgKmZwX29sZCwgdW5zaWduZWQgaW50IHNpemUsXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy0yODAtXFx0XFx0ZnBfb2xkLVxcdTAwM2VhY3RpdmUgPSBOVUxMO1xcbmtlcm5lbC9icGYvY29yZS5jOjI4MTpcXHRcXHRfX2JwZl9wcm9nX2ZyZWUoZnBfb2xkKTtcXG5rZXJuZWwvYnBmL2NvcmUuYy0yODItXFx0fVxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMjg2LVxcbmtlcm5lbC9icGYvY29yZS5jOjI4Nzp2b2lkIF9fYnBmX3Byb2dfZnJlZShzdHJ1Y3QgYnBmX3Byb2cgKmZwKVxcbmtlcm5lbC9icGYvY29yZS5jLTI4OC17XFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYz0xNTI0PXN0YXRpYyB2b2lkIGJwZl9wcm9nX2Nsb25lX2ZyZWUoc3RydWN0IGJwZl9wcm9nICpmcClcXG4tLVxcbmtlcm5lbC9icGYvY29yZS5jLTE1MzUtXFx0ZnAtXFx1MDAzZWFjdGl2ZSA9IE5VTEw7XFxua2VybmVsL2JwZi9jb3JlLmM6MTUzNjpcXHRfX2JwZl9wcm9nX2ZyZWUoZnApO1xcbmtlcm5lbC9icGYvY29yZS5jLTE1MzctfVxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmM9MzA2Mz1zdGF0aWMgdm9pZCBicGZfZnJlZV91c2VkX2J0ZnMoc3RydWN0IGJwZl9wcm9nX2F1eCAqYXV4KVxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMzA2OC1cXG5rZXJuZWwvYnBmL2NvcmUuYzozMDY5OnN0YXRpYyB2b2lkIGJwZl9wcm9nX2ZyZWVfZGVmZXJyZWQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbmtlcm5lbC9icGYvY29yZS5jLTMwNzAte1xcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMzEwOS1cXG5rZXJuZWwvYnBmL2NvcmUuYzozMTEwOnZvaWQgYnBmX3Byb2dfZnJlZShzdHJ1Y3QgYnBmX3Byb2cgKmZwKVxcbmtlcm5lbC9icGYvY29yZS5jLTMxMTEte1xcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMzExNi1cXHRicGZfdG9rZW5fcHV0KGF1eC1cXHUwMDNldG9rZW4pO1xcbmtlcm5lbC9icGYvY29yZS5jOjMxMTc6XFx0SU5JVF9XT1JLKFxcdTAwMjZhdXgtXFx1MDAzZXdvcmssIGJwZl9wcm9nX2ZyZWVfZGVmZXJyZWQpO1xcbmtlcm5lbC9icGYvY29yZS5jLTMxMTgtXFx0cXVldWVfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZhdXgtXFx1MDAzZXdvcmspO1xcbmtlcm5lbC9icGYvY29yZS5jLTMxMTktfVxcbmtlcm5lbC9icGYvY29yZS5jOjMxMjA6RVhQT1JUX1NZTUJPTF9HUEwoYnBmX3Byb2dfZnJlZSk7XFxua2VybmVsL2JwZi9jb3JlLmMtMzEyMS1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMDQ6MTE6MjguNTk5NTA1NzMxWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzU0Mzg2NDg2OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBLZXJuZWwgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpdCBhcHBlYXJzIHRvIGJlIGEgZnVuY3Rpb25hbGx5IHNpZ25pZmljYW50IGNoYW5nZSwgc3BlY2lmaWNhbGx5IGFsdGVyaW5nIGhvdyB3b3JrIGlzIHNjaGVkdWxlZCB3aXRoaW4gdGhlIGtlcm5lbC4gVGhlIGxpbmUgYHNjaGVkdWxlX3dvcmsoXHUwMDI2YXV4LVx1MDAzZXdvcmspO2AgaXMgYmVpbmcgcmVwbGFjZWQgd2l0aCBgcXVldWVfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNmF1eC1cdTAwM2V3b3JrKTtgLiBUaGlzIG1lYW5zIHRoZSB3b3JrIHF1ZXVlIGlzIG5vIGxvbmdlciB0aGUgZGVmYXVsdCBvbmUsIHdoaWNoIGlzIGFuIGltcG9ydGFudCBjb25zaWRlcmF0aW9uLiBUaGUgZnVuY3Rpb24gYGJwZl9wcm9nX2ZyZWVgIHNlZW1zIHRvIGJlIHRoZSBjcml0aWNhbCBzeW1ib2wgdGhpcyByZXZvbHZlcyBhcm91bmQuIEdpdmVuIHRoZSBjb250ZXh0LCBhbmQgZXNwZWNpYWxseSB0aGF0IHRoZSBjb25maWcgaXMgYEJQRl9TWVNDQUxMYCwgdGhpcyBzdWdnZXN0cyB3ZSdyZSBkZWFsaW5nIHdpdGggYSBCUEYgc3lzY2FsbC1yZWxhdGVkIGNoYW5nZS4gTXkgaW1tZWRpYXRlIG5leHQgc3RlcCBpcyB0byB2ZXJpZnkgdGhlIGRlZmluaXRpb24gYW5kIHB1cnBvc2Ugb2YgYHN5c3RlbV9kZmxfbG9uZ193cWAuIFVuZGVyc3RhbmRpbmcgaXRzIGNoYXJhY3RlcmlzdGljcywgcG90ZW50aWFsIHJlc291cmNlIGxpbWl0YXRpb25zLCBhbmQgaW50ZXJhY3Rpb25zIHdpdGggb3RoZXIgcGFydHMgb2YgdGhlIGtlcm5lbCBpcyBlc3NlbnRpYWwgdG8gZnVsbHkgdW5kZXJzdGFuZCB0aGUgaW1wYWN0IG9mIHRoaXMgbW9kaWZpY2F0aW9uLiBXZSBuZWVkIHRvIGJlIHN1cmUgdGhhdCB0aGUgY2hhbmdlIGRvZXNuJ3QgaW50cm9kdWNlIGFueSBwZXJmb3JtYW5jZSByZWdyZXNzaW9ucyBvciB1bmV4cGVjdGVkIGJlaGF2aW9ycywgcGFydGljdWxhcmx5IGFyb3VuZCBCUEYgcHJvZ3JhbSBsaWZlY3ljbGUgbWFuYWdlbWVudC5cblxuXG4iLCJJbnB1dFRva2VucyI6MzA4MSwiT3V0cHV0VG9rZW5zIjoyOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjg4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDA0OjExOjMyLjE0MzM4MjQ0OVoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMzc2NjI0MTkxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN5c3RlbV9kZmxfbG9uZ193cVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9hdGEvbGliYXRhLWVoLmM9NzIxPXZvaWQgYXRhX3Njc2lfcG9ydF9lcnJvcl9oYW5kbGVyKHN0cnVjdCBTY3NpX0hvc3QgKmhvc3QsIHN0cnVjdCBhdGFfcG9ydCAqYXApXFxuLS1cXG5kcml2ZXJzL2F0YS9saWJhdGEtZWguYy04MjMtXFx0XFx0IShhcC1cXHUwMDNlZmxhZ3MgXFx1MDAyNiBBVEFfRkxBR19TQVNfSE9TVCkpXFxuZHJpdmVycy9hdGEvbGliYXRhLWVoLmM6ODI0OlxcdFxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZhcC1cXHUwMDNlaG90cGx1Z190YXNrLCAwKTtcXG5kcml2ZXJzL2F0YS9saWJhdGEtZWguYy04MjUtXFxuLS1cXG5kcml2ZXJzL2F0YS9saWJhdGEtc2NzaS5jPTQ3MDc9dm9pZCBhdGFfc2NzaV9zY2FuX2hvc3Qoc3RydWN0IGF0YV9wb3J0ICphcCwgaW50IHN5bmMpXFxuLS1cXG5kcml2ZXJzL2F0YS9saWJhdGEtc2NzaS5jLTQ3NzYtXFxuZHJpdmVycy9hdGEvbGliYXRhLXNjc2kuYzo0Nzc3OlxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZhcC1cXHUwMDNlaG90cGx1Z190YXNrLFxcbmRyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmMtNDc3OC1cXHRcXHRcXHQgICByb3VuZF9qaWZmaWVzX3JlbGF0aXZlKEhaKSk7XFxuLS1cXG5kcml2ZXJzL2kyYy9pMmMtc2xhdmUtdGVzdHVuaXQuYz04Mj1zdGF0aWMgaW50IGkyY19zbGF2ZV90ZXN0dW5pdF9zbGF2ZV9jYihzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LFxcbi0tXFxuZHJpdmVycy9pMmMvaTJjLXNsYXZlLXRlc3R1bml0LmMtMTI2LVxcdFxcdFxcdHNldF9iaXQoVFVfRkxBR19JTl9QUk9DRVNTLCBcXHUwMDI2dHUtXFx1MDAzZWZsYWdzKTtcXG5kcml2ZXJzL2kyYy9pMmMtc2xhdmUtdGVzdHVuaXQuYzoxMjc6XFx0XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNnR1LVxcdTAwM2V3b3JrZXIsXFxuZHJpdmVycy9pMmMvaTJjLXNsYXZlLXRlc3R1bml0LmMtMTI4LVxcdFxcdFxcdFxcdFxcdCAgIG1zZWNzX3RvX2ppZmZpZXMoMTAgKiB0dS1cXHUwMDNlcmVnc1tUVV9SRUdfREVMQVldKSk7XFxuLS1cXG5kcml2ZXJzL3BoeS90aS9waHktdHVzYjEyMTAuYz0xOTE9c3RhdGljIHZvaWQgdHVzYjEyMTBfY2hnX2RldF9zZXRfc3RhdGUoc3RydWN0IHR1c2IxMjEwICp0dXNiLFxcbi0tXFxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmMtMTk5LVxcdHR1c2ItXFx1MDAzZWNoZ19kZXRfc3RhdGUgPSBuZXdfc3RhdGU7XFxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmM6MjAwOlxcdG1vZF9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2dHVzYi1cXHUwMDNlY2hnX2RldF93b3JrLFxcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jLTIwMS1cXHRcXHRcXHQgbXNlY3NfdG9famlmZmllcyhkZWxheV9tcykpO1xcbi0tXFxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmM9Mzc2PXN0YXRpYyBpbnQgdHVzYjEyMTBfcHN5X25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsXFxuLS1cXG5kcml2ZXJzL3BoeS90aS9waHktdHVzYjEyMTAuYy0zODItXFx0aWYgKHBzeSAhPSB0dXNiLVxcdTAwM2Vwc3kgXFx1MDAyNlxcdTAwMjYgcHN5LVxcdTAwM2VkZXNjLVxcdTAwM2V0eXBlID09IFBPV0VSX1NVUFBMWV9UWVBFX1VTQilcXG5kcml2ZXJzL3BoeS90aS9waHktdHVzYjEyMTAuYzozODM6XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNnR1c2ItXFx1MDAzZWNoZ19kZXRfd29yaywgMCk7XFxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmMtMzg0LVxcbi0tXFxuZHJpdmVycy9waHkvdGkvcGh5LXR1c2IxMjEwLmM9NDMyPXN0YXRpYyB2b2lkIHR1c2IxMjEwX3Byb2JlX2NoYXJnZXJfZGV0ZWN0KHN0cnVjdCB0dXNiMTIxMCAqdHVzYilcXG4tLVxcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jLTQ2MC1cXHRJTklUX0RFTEFZRURfV09SSyhcXHUwMDI2dHVzYi1cXHUwMDNlY2hnX2RldF93b3JrLCB0dXNiMTIxMF9jaGdfZGV0X3dvcmspO1xcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jOjQ2MTpcXHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2dHVzYi1cXHUwMDNlY2hnX2RldF93b3JrLCAyICogSFopO1xcbmRyaXZlcnMvcGh5L3RpL3BoeS10dXNiMTIxMC5jLTQ2Mi1cXG4tLVxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYz0yMjA9c3RhdGljIHNzaXplX3Qgc3RvcmVfcmVjb25uZWN0X2RlbGF5KHN0cnVjdCBkZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy0yMzYtXFx0ICAgIHJwb3J0LVxcdTAwM2VzdGF0ZSAhPSBTUlBfUlBPUlRfUlVOTklORykge1xcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYzoyMzc6XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNnJwb3J0LVxcdTAwM2VyZWNvbm5lY3Rfd29yayxcXG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmMtMjM4LVxcdFxcdFxcdFxcdCAgIGRlbGF5ICogSFopO1xcbi0tXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jPTM3OD1zdGF0aWMgdm9pZCBzcnBfcmVjb25uZWN0X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbi0tXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTM5Mi1cXHRcXHRpZiAoZGVsYXkgXFx1MDAzZSAwKVxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYzozOTM6XFx0XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSxcXG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmMtMzk0LVxcdFxcdFxcdFxcdFxcdCAgIFxcdTAwMjZycG9ydC1cXHUwMDNlcmVjb25uZWN0X3dvcmssIGRlbGF5ICogSFopO1xcbi0tXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jPTQ2MT1zdGF0aWMgdm9pZCBfX3NycF9zdGFydF90bF9mYWlsX3RpbWVycyhzdHJ1Y3Qgc3JwX3Jwb3J0ICpycG9ydClcXG4tLVxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy00NzYtXFx0aWYgKGRlbGF5IFxcdTAwM2UgMClcXG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmM6NDc3OlxcdFxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZycG9ydC1cXHUwMDNlcmVjb25uZWN0X3dvcmssXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTQ3OC1cXHRcXHRcXHRcXHQgICAxVUwgKiBkZWxheSAqIEhaKTtcXG4tLVxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy00ODQtXFx0XFx0aWYgKGZhc3RfaW9fZmFpbF90bW8gXFx1MDAzZT0gMClcXG5kcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc3JwLmM6NDg1OlxcdFxcdFxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTQ4Ni1cXHRcXHRcXHRcXHRcXHQgICBcXHUwMDI2cnBvcnQtXFx1MDAzZWZhc3RfaW9fZmFpbF93b3JrLFxcbi0tXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jLTQ4OC1cXHRcXHRpZiAoZGV2X2xvc3NfdG1vIFxcdTAwM2U9IDApXFxuZHJpdmVycy9zY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5jOjQ4OTpcXHRcXHRcXHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLFxcbmRyaXZlcnMvc2NzaS9zY3NpX3RyYW5zcG9ydF9zcnAuYy00OTAtXFx0XFx0XFx0XFx0XFx0ICAgXFx1MDAyNnJwb3J0LVxcdTAwM2VkZXZfbG9zc193b3JrLFxcbi0tXFxuZnMvZnVzZS9kYXguYz0xMDg9X19raWNrX2RtYXBfZnJlZV93b3JrZXIoc3RydWN0IGZ1c2VfY29ubl9kYXggKmZjZCwgdW5zaWduZWQgbG9uZyBkZWxheV9tcylcXG4tLVxcbmZzL2Z1c2UvZGF4LmMtMTE1LVxcdGlmIChmY2QtXFx1MDAzZW5yX2ZyZWVfcmFuZ2VzIFxcdTAwM2MgZnJlZV90aHJlc2hvbGQpXFxuZnMvZnVzZS9kYXguYzoxMTY6XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNmZjZC1cXHUwMDNlZnJlZV93b3JrLFxcbmZzL2Z1c2UvZGF4LmMtMTE3LVxcdFxcdFxcdFxcdCAgIG1zZWNzX3RvX2ppZmZpZXMoZGVsYXlfbXMpKTtcXG4tLVxcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmg9NDE4PWVudW0gd3FfY29uc3RzIHtcXG4tLVxcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmgtNDQ0LSAqXFxuaW5jbHVkZS9saW51eC93b3JrcXVldWUuaDo0NDU6ICogc3lzdGVtX2RmbF9sb25nX3dxIGlzIHNpbWlsYXIgdG8gc3lzdGVtX2RmbF93cSBidXQgaXQgbWF5IGhvc3QgbG9uZyBydW5uaW5nXFxuaW5jbHVkZS9saW51eC93b3JrcXVldWUuaC00NDYtICogd29ya3MuXFxuLS1cXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oPTQ3NT1leHRlcm4gc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKnN5c3RlbV9iaF9oaWdocHJpX3dxO1xcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmg6NDc2OmV4dGVybiBzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqc3lzdGVtX2RmbF9sb25nX3dxO1xcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmgtNDc3LVxcbi0tXFxuaW5jbHVkZS9saW51eC93b3JrcXVldWUuaD03OTY9ZXh0ZXJuIHZvaWQgX193YXJuX2ZsdXNoaW5nX3N5c3RlbXdpZGVfd3Eodm9pZClcXG4tLVxcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmgtODE1LVxcdCAgICAgX3dxID09IHN5c3RlbV9sb25nX3dxKSB8fFxcdFxcdFxcdFxcdFxcdFxcXFxcXG5pbmNsdWRlL2xpbnV4L3dvcmtxdWV1ZS5oOjgxNjpcXHQgICAgKF9fYnVpbHRpbl9jb25zdGFudF9wKF93cSA9PSBzeXN0ZW1fZGZsX2xvbmdfd3EpIFxcdTAwMjZcXHUwMDI2XFx0XFx0XFxcXFxcbmluY2x1ZGUvbGludXgvd29ya3F1ZXVlLmg6ODE3OlxcdCAgICAgX3dxID09IHN5c3RlbV9kZmxfbG9uZ193cSkgfHxcXHRcXHRcXHRcXHRcXHRcXFxcXFxuaW5jbHVkZS9saW51eC93b3JrcXVldWUuaC04MTgtXFx0ICAgIChfX2J1aWx0aW5fY29uc3RhbnRfcChfd3EgPT0gc3lzdGVtX2RmbF93cSkgXFx1MDAyNlxcdTAwMjZcXHRcXHRcXFxcXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYz0zMTEwPXZvaWQgYnBmX3Byb2dfZnJlZShzdHJ1Y3QgYnBmX3Byb2cgKmZwKVxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMzExNy1cXHRJTklUX1dPUksoXFx1MDAyNmF1eC1cXHUwMDNld29yaywgYnBmX3Byb2dfZnJlZV9kZWZlcnJlZCk7XFxua2VybmVsL2JwZi9jb3JlLmM6MzExODpcXHRxdWV1ZV93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNmF1eC1cXHUwMDNld29yayk7XFxua2VybmVsL2JwZi9jb3JlLmMtMzExOS19XFxuLS1cXG5rZXJuZWwvd29ya3F1ZXVlLmM9NTQ1PUVYUE9SVF9TWU1CT0xfR1BMKHN5c3RlbV9iaF9oaWdocHJpX3dxKTtcXG5rZXJuZWwvd29ya3F1ZXVlLmM6NTQ2OnN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpzeXN0ZW1fZGZsX2xvbmdfd3EgX19yb19hZnRlcl9pbml0O1xcbmtlcm5lbC93b3JrcXVldWUuYzo1NDc6RVhQT1JUX1NZTUJPTF9HUEwoc3lzdGVtX2RmbF9sb25nX3dxKTtcXG5rZXJuZWwvd29ya3F1ZXVlLmMtNTQ4LVxcbi0tXFxua2VybmVsL3dvcmtxdWV1ZS5jPTc5NzE9dm9pZCBfX2luaXQgd29ya3F1ZXVlX2luaXRfZWFybHkodm9pZClcXG4tLVxcbmtlcm5lbC93b3JrcXVldWUuYy04MDcwLVxcdFxcdFxcdFxcdFxcdCAgICAgICBXUV9CSCB8IFdRX0hJR0hQUkkgfCBXUV9QRVJDUFUsIDApO1xcbmtlcm5lbC93b3JrcXVldWUuYzo4MDcxOlxcdHN5c3RlbV9kZmxfbG9uZ193cSA9IGFsbG9jX3dvcmtxdWV1ZShcXFwiZXZlbnRzX2RmbF9sb25nXFxcIiwgV1FfVU5CT1VORCwgV1FfTUFYX0FDVElWRSk7XFxua2VybmVsL3dvcmtxdWV1ZS5jLTgwNzItXFx0QlVHX09OKCFzeXN0ZW1fd3EgfHwgIXN5c3RlbV9wZXJjcHVfd3F8fCAhc3lzdGVtX2hpZ2hwcmlfd3EgfHwgIXN5c3RlbV9sb25nX3dxIHx8XFxuLS1cXG5rZXJuZWwvd29ya3F1ZXVlLmMtODA3NS1cXHQgICAgICAgIXN5c3RlbV9mcmVlemFibGVfcG93ZXJfZWZmaWNpZW50X3dxIHx8XFxua2VybmVsL3dvcmtxdWV1ZS5jOjgwNzY6XFx0ICAgICAgICFzeXN0ZW1fYmhfd3EgfHwgIXN5c3RlbV9iaF9oaWdocHJpX3dxIHx8ICFzeXN0ZW1fZGZsX2xvbmdfd3EpO1xcbmtlcm5lbC93b3JrcXVldWUuYy04MDc3LX1cXG4tLVxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jb25uLmM9MjQzPXN0YXRpYyBpbmxpbmUgaW50IGlwX3ZzX2Nvbm5faGFzaChzdHJ1Y3QgaXBfdnNfY29ubiAqY3ApXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jLTI4Ny1cXHQgICAgIXRlc3RfYW5kX3NldF9iaXQoSVBfVlNfV09SS19DT05OX1JFU0laRSwgXFx1MDAyNmlwdnMtXFx1MDAzZXdvcmtfZmxhZ3MpKVxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jb25uLmM6Mjg4OlxcdFxcdG1vZF9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2aXB2cy1cXHUwMDNlY29ubl9yZXNpemVfd29yaywgMCk7XFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYy0yODktXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jPTgwMD1zdGF0aWMgdm9pZCBjb25uX3Jlc2l6ZV93b3JrX2hhbmRsZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbi0tXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYy05MTgtXFx0LyogTW9uaXRvciBpZiB3ZSBuZWVkIHRvIHNocmluayB0YWJsZSAqL1xcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jb25uLmM6OTE5OlxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZpcHZzLVxcdTAwM2Vjb25uX3Jlc2l6ZV93b3JrLFxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jb25uLmMtOTIwLVxcdFxcdFxcdCAgIG1vcmVfd29yayA/IDEgOiAyICogSFopO1xcbi0tXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jPTY3MD1zdGF0aWMgdm9pZCBzdmNfcmVzaXplX3dvcmtfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtODIzLVxcdFxcdHJldHVybjtcXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmM6ODI0OlxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZpcHZzLVxcdTAwM2VzdmNfcmVzaXplX3dvcmssIDEpO1xcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYy04MjUtXFx0cmV0dXJuO1xcbi0tXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jPTE3MDk9aXBfdnNfYWRkX3NlcnZpY2Uoc3RydWN0IG5ldG5zX2lwdnMgKmlwdnMsIHN0cnVjdCBpcF92c19zZXJ2aWNlX3VzZXJfa2VybiAqdSxcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYy0xODcxLVxcdGlmIChncm93IFxcdTAwMjZcXHUwMDI2ICF0ZXN0X2FuZF9zZXRfYml0KElQX1ZTX1dPUktfU1ZDX1JFU0laRSwgXFx1MDAyNmlwdnMtXFx1MDAzZXdvcmtfZmxhZ3MpKVxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYzoxODcyOlxcdFxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZpcHZzLVxcdTAwM2VzdmNfcmVzaXplX3dvcmssXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jLTE4NzMtXFx0XFx0XFx0XFx0ICAgMSk7XFxuLS1cXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmM9MjA4Nj1zdGF0aWMgaW50IGlwX3ZzX2RlbF9zZXJ2aWNlKHN0cnVjdCBpcF92c19zZXJ2aWNlICpzdmMpXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMjEyNy1cXHRcXHRcXHRcXHRcXHRcXHRcXHUwMDI2aXB2cy1cXHUwMDNld29ya19mbGFncykpXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jOjIxMjg6XFx0XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSxcXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMjEyOS1cXHRcXHRcXHRcXHRcXHQgICBcXHUwMDI2aXB2cy1cXHUwMDNlc3ZjX3Jlc2l6ZV93b3JrLCAxKTtcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYz0yNTg5PXN0YXRpYyBpbnQgaXB2c19wcm9jX2Nvbm5fbGZhY3Rvcihjb25zdCBzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLFxcbi0tXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jLTI2MDgtXFx0XFx0XFx0aWYgKHJjdV9hY2Nlc3NfcG9pbnRlcihpcHZzLVxcdTAwM2Vjb25uX3RhYikpXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jOjI2MDk6XFx0XFx0XFx0XFx0bW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jLTI2MTAtXFx0XFx0XFx0XFx0XFx0XFx0IFxcdTAwMjZpcHZzLVxcdTAwM2Vjb25uX3Jlc2l6ZV93b3JrLCAwKTtcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jdGwuYz0yNjE2PXN0YXRpYyBpbnQgaXB2c19wcm9jX3N2Y19sZmFjdG9yKGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY3RsLmMtMjY0MC1cXHRcXHRcXHRcXHQgICAgICBcXHUwMDI2aXB2cy1cXHUwMDNld29ya19mbGFncykpXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jOjI2NDE6XFx0XFx0XFx0XFx0bW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsXFxubmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2N0bC5jLTI2NDItXFx0XFx0XFx0XFx0XFx0XFx0IFxcdTAwMjZpcHZzLVxcdTAwM2VzdmNfcmVzaXplX3dvcmssIDApO1xcbi0tXFxubmV0L3N1bnJwYy94cHJ0cmRtYS90cmFuc3BvcnQuYz00ODA9eHBydF9yZG1hX2Nvbm5lY3Qoc3RydWN0IHJwY194cHJ0ICp4cHJ0LCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spXFxuLS1cXG5uZXQvc3VucnBjL3hwcnRyZG1hL3RyYW5zcG9ydC5jLTQ5My1cXHR0cmFjZV94cHJ0cmRtYV9vcF9jb25uZWN0KHJfeHBydCwgZGVsYXkpO1xcbm5ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0LmM6NDk0OlxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZyX3hwcnQtXFx1MDAzZXJ4X2Nvbm5lY3Rfd29ya2VyLFxcbm5ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0LmMtNDk1LVxcdFxcdFxcdCAgIGRlbGF5KTtcXG4tLVxcbnNvdW5kL3NvYy9jb2RlY3MvY3M0Mmw0My1qYWNrLmM9Nzk3PWlycXJldHVybl90IGNzNDJsNDNfdGlwX3NlbnNlKGludCBpcnEsIHZvaWQgKmRhdGEpXFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL2NzNDJsNDMtamFjay5jLTgwOC1cXG5zb3VuZC9zb2MvY29kZWNzL2NzNDJsNDMtamFjay5jOjgwOTpcXHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2cHJpdi1cXHUwMDNldGlwX3NlbnNlX3dvcmssXFxuc291bmQvc29jL2NvZGVjcy9jczQybDQzLWphY2suYy04MTAtXFx0XFx0XFx0ICAgbXNlY3NfdG9famlmZmllcyhkYl9kZWxheSkpO1xcbi0tXFxuc291bmQvc29jL2NvZGVjcy9jczQybDQzLWphY2suYz05MDY9aW50IGNzNDJsNDNfamFja19wdXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKVxcbi0tXFxuc291bmQvc29jL2NvZGVjcy9jczQybDQzLWphY2suYy05MzUtXFx0aWYgKCFvdmVycmlkZSkge1xcbnNvdW5kL3NvYy9jb2RlY3MvY3M0Mmw0My1qYWNrLmM6OTM2OlxcdFxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZwcml2LVxcdTAwM2V0aXBfc2Vuc2Vfd29yayxcXG5zb3VuZC9zb2MvY29kZWNzL2NzNDJsNDMtamFjay5jLTkzNy1cXHRcXHRcXHRcXHQgICAwKTtcXG4tLVxcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM9MjMxND1zdGF0aWMgdm9pZCBydDU2NDBfamFja193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcXG4tLVxcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjM5OS1cXHRcXHQgKi9cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jOjI0MDA6XFx0XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNnJ0NTY0MC1cXHUwMDNlamFja193b3JrLCAwKTtcXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MDEtXFx0fVxcbi0tXFxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYz0yNDA0PXN0YXRpYyBpcnFyZXR1cm5fdCBydDU2NDBfaXJxKGludCBpcnEsIHZvaWQgKmRhdGEpXFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MTItXFx0aWYgKHJ0NTY0MC1cXHUwMDNlamFjaylcXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jOjI0MTM6XFx0XFx0bW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZydDU2NDAtXFx1MDAzZWphY2tfd29yayxcXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MTQtXFx0XFx0XFx0XFx0IGRlbGF5KTtcXG4tLVxcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM9MjQxOT1zdGF0aWMgaXJxcmV0dXJuX3QgcnQ1NjQwX2pkX2dwaW9faXJxKGludCBpcnEsIHZvaWQgKmRhdGEpXFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MjItXFxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYzoyNDIzOlxcdHF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFxcdTAwMjZydDU2NDAtXFx1MDAzZWphY2tfd29yayxcXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI0MjQtXFx0XFx0XFx0ICAgbXNlY3NfdG9famlmZmllcyhKQUNLX1NFVFRMRV9USU1FKSk7XFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jPTI0OTU9c3RhdGljIHZvaWQgcnQ1NjQwX2VuYWJsZV9qYWNrX2RldGVjdChzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNvbXBvbmVudCxcXG4tLVxcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjU4NC1cXHQvKiBzeW5jIGluaXRpYWwgamFjayBzdGF0ZSAqL1xcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM6MjU4NTpcXHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2cnQ1NjQwLVxcdTAwM2VqYWNrX3dvcmssIDApO1xcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjU4Ni19XFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jPTI1OTQ9c3RhdGljIHZvaWQgcnQ1NjQwX2VuYWJsZV9oZGFfamFja19kZXRlY3QoXFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI2MzctXFx0Lyogc3luYyBpbml0aWFsIGphY2sgc3RhdGUgKi9cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jOjI2Mzg6XFx0cXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9kZmxfbG9uZ193cSwgXFx1MDAyNnJ0NTY0MC1cXHUwMDNlamFja193b3JrLCAwKTtcXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jLTI2MzktXFxuLS1cXG5zb3VuZC9zb2MvY29kZWNzL3J0NTY0MC5jPTI4MjY9c3RhdGljIGludCBydDU2NDBfcmVzdW1lKHN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY29tcG9uZW50KVxcbi0tXFxuc291bmQvc29jL2NvZGVjcy9ydDU2NDAuYy0yODY1LVxcdFxcdGVuYWJsZV9pcnEocnQ1NjQwLVxcdTAwM2VpcnEpO1xcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmM6Mjg2NjpcXHRcXHRxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2RmbF9sb25nX3dxLCBcXHUwMDI2cnQ1NjQwLVxcdTAwM2VqYWNrX3dvcmssIDApO1xcbnNvdW5kL3NvYy9jb2RlY3MvcnQ1NjQwLmMtMjg2Ny1cXHR9XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDA0OjExOjM1LjUyMDAxMjQ0WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTc2ODMxNDQzMSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIHRoZSBCUEYgUHJvZ3JhbSBGcmVlIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBpcyBhIHByZXR0eSBzdHJhaWdodGZvcndhcmQgcGF0Y2gg4oCTIGl0J3MganVzdCBzd2FwcGluZyBvdXQgYHNjaGVkdWxlX3dvcmtgIGZvciBgcXVldWVfd29ya2Agd2l0aCBgc3lzdGVtX2RmbF9sb25nX3dxYC4gVGhlIGNvcmUgY2hhbmdlIGlzIGluIGBicGZfcHJvZ19mcmVlYCwgd2hpY2ggaGFuZGxlcyBmcmVlaW5nIEJQRiBwcm9ncmFtcy4gRnVuY3Rpb25hbGx5LCB0aGlzIGltcGFjdHMgdGhlIHdvcmtxdWV1ZSB1c2VkIGZvciB0aGlzIHByb2Nlc3MuIEl0IHNlZW1zIHNpbXBsZSwgYnV0IHRoZXNlIGtpbmRzIG9mIGNoYW5nZXMgaW4gY29yZSBmdW5jdGlvbnMgYXJlIGFsd2F5cyB3b3J0aCBhIGNsb3NlciBsb29rLlxuXG5MZXQgbWUgbWFrZSBzdXJlIEkgdW5kZXJzdGFuZCB0aGlzIGZ1bGx5LlxuXG5gYGBjXG5AQCAtMzExNSw3ICszMTE1LDcgQEAgdm9pZCBicGZfcHJvZ19mcmVlKHN0cnVjdCBicGZfcHJvZyAqZnApXG4gXHRcdGJwZl9wcm9nX3B1dChhdXgtXHUwMDNlZHN0X3Byb2cpO1xuIFx0YnBmX3Rva2VuX3B1dChhdXgtXHUwMDNldG9rZW4pO1xuIFx0SU5JVF9XT1JLKFx1MDAyNmF1eC1cdTAwM2V3b3JrLCBicGZfcHJvZ19mcmVlX2RlZmVycmVkKTtcbi1cdHNjaGVkdWxlX3dvcmsoXHUwMDI2YXV4LVx1MDAzZXdvcmspO1xuK1x0cXVldWVfd29yayhzeXN0ZW1fZGZsX2xvbmdfd3EsIFx1MDAyNmF1eC1cdTAwM2V3b3JrKTtcbiB9XG4gYGBgXG5cblJpZ2h0LCB0aGUgcG90ZW50aWFsIGlzc3VlIGhlcmUgaXMgdGhhdCB0aGUgbmV3IHdvcmtxdWV1ZSBjb3VsZCBpbnRyb2R1Y2UgbmV3IHJhY2UgY29uZGl0aW9ucywgZXNwZWNpYWxseSBpZiB0aGUgb2xkIHdvcmtxdWV1ZSBoYWQgc29tZSBpbXBsaWNpdCBvcmRlcmluZyBhc3N1bXB0aW9ucy4gU2luY2UgaXQncyBhIGNyaXRpY2FsIGZ1bmN0aW9uLCBmdXp6aW5nIGlzIHByb2JhYmx5IGEgZ29vZCBpZGVhIHRvIHRlc3QgdGhpcyB0aG9yb3VnaGx5LiBJJ2xsIGZsYWcgdGhpcyBhcyBXb3J0aEZ1enppbmcsIHNwZWNpZmljYWxseSB0YXJnZXRpbmcgYGJwZl9wcm9nX2ZyZWVgIGZvciBmdXp6aW5nLiBJJ2xsIGFsc28gZW5zdXJlIHRoYXQgYEJQRl9TWVNDQUxMYCBpcyBlbmFibGVkIGZvciB0aGUgdGVzdCBzZXR1cCwgZ2l2ZW4gaXRzIHJlbGV2YW5jZSB0byBCUEYgb3BlcmF0aW9ucy5cblxuXG4iLCJJbnB1dFRva2VucyI6ODQ5NywiT3V0cHV0VG9rZW5zIjo5NCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI4MywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQwNDoxMTo0MS4yODgzMjg2ODFaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1ODc0MDg4NiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX1NZU0NBTExcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfcHJvZ19mcmVlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgd29ya3F1ZXVlIHVzZWQgZm9yIGZyZWVpbmcgQlBGIHByb2dyYW1zIGZyb20gdGhlIGRlZmF1bHQgc3lzdGVtIHdvcmtxdWV1ZSB0byB0aGUgc3lzdGVtX2RmbF9sb25nX3dxLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBjb3VsZCBhZmZlY3Qgc2NoZWR1bGluZyBhbmQgcmFjZSBjb25kaXRpb25zIGR1cmluZyBCUEYgcHJvZ3JhbSBjbGVhbnVwLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJQRl9TWVNDQUxMXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYnBmX3Byb2dfZnJlZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGNoYW5nZXMgdGhlIHdvcmtxdWV1ZSB1c2VkIGZvciBmcmVlaW5nIEJQRiBwcm9ncmFtcyBmcm9tIHRoZSBkZWZhdWx0IHN5c3RlbSB3b3JrcXVldWUgdG8gdGhlIHN5c3RlbV9kZmxfbG9uZ193cS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHRoYXQgY291bGQgYWZmZWN0IHNjaGVkdWxpbmcgYW5kIHJhY2UgY29uZGl0aW9ucyBkdXJpbmcgQlBGIHByb2dyYW0gY2xlYW51cC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow57pjs[1] Phase: Succeeded StartedAt: 2026-07-20 04:11:53 +0000 UTC FinishedAt: 2026-07-20 04:11:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-20 04:11:53 +0000 UTC FinishedAt: 2026-07-20 04:11:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2] Phase: Succeeded StartedAt: 2026-07-20 04:11:53 +0000 UTC FinishedAt: 2026-07-20 05:16:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:11:53 +0000 UTC FinishedAt: 2026-07-20 05:16:34 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:11:53 +0000 UTC FinishedAt: 2026-07-20 04:12:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:11:53 +0000 UTC FinishedAt: 2026-07-20 04:12:10 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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-workflow57pjs/series-workflow57pjs-convert-artifact-2445699716/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:12:13 +0000 UTC FinishedAt: 2026-07-20 04:38:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:12:13 +0000 UTC FinishedAt: 2026-07-20 04:38:32 +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:*cd5b93f9-5d17-4bbe-b09c-811279cb2f2a,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-workflow57pjs/series-workflow57pjs-convert-artifact-2445699716/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": "3412d853-e981-4259-8246-ad0ef70777de", "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-workflow57pjs/series-workflow57pjs-build-action-2630496194/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:12:13 +0000 UTC FinishedAt: 2026-07-20 04:38:22 +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:*cd5b93f9-5d17-4bbe-b09c-811279cb2f2a,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-workflow57pjs/series-workflow57pjs-convert-artifact-2445699716/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": "3412d853-e981-4259-8246-ad0ef70777de", "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-workflow57pjs/series-workflow57pjs-build-action-2630496194/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:38:32 +0000 UTC FinishedAt: 2026-07-20 04:38:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:38:32 +0000 UTC FinishedAt: 2026-07-20 04:38:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:38:32 +0000 UTC FinishedAt: 2026-07-20 04:38:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:38:32 +0000 UTC FinishedAt: 2026-07-20 04:38:39 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-workflow57pjs/series-workflow57pjs-convert-artifact-3317411075/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:38:52 +0000 UTC FinishedAt: 2026-07-20 04:40:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:38:52 +0000 UTC FinishedAt: 2026-07-20 04:40:49 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*3412d853-e981-4259-8246-ad0ef70777de,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-workflow57pjs/series-workflow57pjs-build-action-2630496194/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-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:40:59 +0000 UTC FinishedAt: 2026-07-20 04:40:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:40:59 +0000 UTC FinishedAt: 2026-07-20 04:40:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:40:59 +0000 UTC FinishedAt: 2026-07-20 05:11:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:40:59 +0000 UTC FinishedAt: 2026-07-20 05:11:19 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*cd5b93f9-5d17-4bbe-b09c-811279cb2f2a,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-workflow57pjs/series-workflow57pjs-convert-artifact-3317411075/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": "471b9270-7dd6-43c2-b66a-d4366cc1a22c", "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-workflow57pjs/series-workflow57pjs-build-action-3517733815/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 04:40:59 +0000 UTC FinishedAt: 2026-07-20 05:11:09 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*cd5b93f9-5d17-4bbe-b09c-811279cb2f2a,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-workflow57pjs/series-workflow57pjs-convert-artifact-3317411075/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": "471b9270-7dd6-43c2-b66a-d4366cc1a22c", "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-workflow57pjs/series-workflow57pjs-build-action-3517733815/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:11:19 +0000 UTC FinishedAt: 2026-07-20 05:11:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:11:19 +0000 UTC FinishedAt: 2026-07-20 05:11:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:11:19 +0000 UTC FinishedAt: 2026-07-20 05:13:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:11:19 +0000 UTC FinishedAt: 2026-07-20 05:13:19 +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:*471b9270-7dd6-43c2-b66a-d4366cc1a22c,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-workflow57pjs/series-workflow57pjs-build-action-3517733815/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-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:13:29 +0000 UTC FinishedAt: 2026-07-20 05:16:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:13:29 +0000 UTC FinishedAt: 2026-07-20 05:16:34 +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_prog_free"],"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:*3412d853-e981-4259-8246-ad0ef70777de,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*471b9270-7dd6-43c2-b66a-d4366cc1a22c,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-workflow57pjs/series-workflow57pjs-build-action-2630496194/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-workflow57pjs/series-workflow57pjs-build-action-3517733815/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:13:29 +0000 UTC FinishedAt: 2026-07-20 05:13:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:13:29 +0000 UTC FinishedAt: 2026-07-20 05:13:36 +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_prog_free"],"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-workflow57pjs/series-workflow57pjs-convert-artifact-3824481308/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:13:29 +0000 UTC FinishedAt: 2026-07-20 05:13:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:13:29 +0000 UTC FinishedAt: 2026-07-20 05:13:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:13:29 +0000 UTC FinishedAt: 2026-07-20 05:13:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:13:39 +0000 UTC FinishedAt: 2026-07-20 05:16:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflow57pjs[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"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_prog_free"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL"],"series_id":"beb59bce-e201-44e1-b27a-7f2630231b9b","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-20 05:13:39 +0000 UTC FinishedAt: 2026-07-20 05:16:14 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*3412d853-e981-4259-8246-ad0ef70777de,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*471b9270-7dd6-43c2-b66a-d4366cc1a22c,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-workflow57pjs/series-workflow57pjs-build-action-2630496194/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-workflow57pjs/series-workflow57pjs-build-action-3517733815/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-workflow57pjs/series-workflow57pjs-convert-artifact-3824481308/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,}