Name: series-workflowhk74f Phase: Succeeded StartedAt: 2026-07-15 21:30:14 +0000 UTC FinishedAt: 2026-07-16 02:09:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[0] Phase: Succeeded StartedAt: 2026-07-15 21:30:14 +0000 UTC FinishedAt: 2026-07-15 21:49:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[0].run-triage Phase: Succeeded StartedAt: 2026-07-15 21:30:14 +0000 UTC FinishedAt: 2026-07-15 21:49:46 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "nf", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git", "commit_hash": "2c7c88a412aa6d09cd04b414211b4ef8553b5309", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NF_CONNTRACK", "NF_NAT", "NF_CONNTRACK_EVENTS", "NF_CONNTRACK_TIMESTAMP", "NF_CONNTRACK_TIMEOUT", "NF_CONNTRACK_LABELS", "NETFILTER_SYNPROXY", "NET_ACT_CT" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "nf", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git", "commit_hash": "2c7c88a412aa6d09cd04b414211b4ef8553b5309", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NF_CONNTRACK", "NF_NAT", "NF_CONNTRACK_EVENTS", "NF_CONNTRACK_TIMESTAMP", "NF_CONNTRACK_TIMEOUT", "NF_CONNTRACK_LABELS", "NETFILTER_SYNPROXY", "NET_ACT_CT" ], "series_id": "968e8b73-a0ef-47fb-bfff-02de130de019" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "nf_ct_ext_add", "nf_ct_helper_ext_add" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDIxOjQ4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05GX0NPTk5UUkFDSyYjMzQ7LAogICAgJiMzNDtORl9OQVQmIzM0OywKICAgICYjMzQ7TkZfQ09OTlRSQUNLX0VWRU5UUyYjMzQ7LAogICAgJiMzNDtORl9DT05OVFJBQ0tfVElNRVNUQU1QJiMzNDssCiAgICAmIzM0O05GX0NPTk5UUkFDS19USU1FT1VUJiMzNDssCiAgICAmIzM0O05GX0NPTk5UUkFDS19MQUJFTFMmIzM0OywKICAgICYjMzQ7TkVURklMVEVSX1NZTlBST1hZJiMzNDssCiAgICAmIzM0O05FVF9BQ1RfQ1QmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuZl9jdF9leHRfYWRkJiMzNDssCiAgICAmIzM0O25mX2N0X2hlbHBlcl9leHRfYWRkJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBtZW1vcnkgYWxsb2NhdGlvbiBsb2dpYyBmb3IgY29ubnRyYWNrIGV4dGVuc2lvbnMsIHNwZWNpZmljYWxseSBlbnN1cmluZyB0aGF0IHdoZW4gdGhlIGhlbHBlciBleHRlbnNpb24gaXMgYWRkZWQsIGVub3VnaCBtZW1vcnkgaXMgYWxsb2NhdGVkIGZvciBhbGwgcG9zc2libGUgZXh0ZW5zaW9ucyB0byBwcmV2ZW50IGZ1dHVyZSByZWFsbG9jYXRpb25zIHRoYXQgd291bGQgaW52YWxpZGF0ZSBwb2ludGVycyB1c2VkIGJ5IHRoZSBoZWxwZXIgZXh0ZW5zaW9uJiMzOTtzIGV4cGVjdGF0aW9uIGxpc3QuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBuZXRmaWx0ZXIgY29ubnRyYWNrIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDIxOjQ4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgNDUzMTRjYzJhZDhmMmVjNzNlNmY2NWE0Y2FiMjcwMjI4YzNiY2JlYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDE1IDIxOjQ4OjUzIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNcbmluZGV4IDBkYTEwNWUxZGVkOTM5Li5lNWUwNGUwZWM0MGE1ZCAxMDA2NDRcbi0tLSBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuY1xuQEAgLTU0LDM1ICYjNDM7NTQsMzggQEAgc3RhdGljIGNvbnN0IHU4IG5mX2N0X2V4dF90eXBlX2xlbltORl9DVF9FWFRfTlVNXSA9IHtcbiAjZW5kaWZcbiB9O1xuIFxuJiM0MzsjZGVmaW5lIE5GX0NUX0VYVF9UWVBFX1NJWkUodHlwZSkgXFxcbiYjNDM7XHRBTElHTihzaXplb2YodHlwZSksIF9fYWxpZ25vZl9fKHN0cnVjdCBuZl9jdF9leHQpKVxuJiM0MztcbiBzdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludCB0b3RhbF9leHRlbnNpb25fc2l6ZSh2b2lkKVxuIHtcbiBcdC8qIHJlbWVtYmVyIHRvIGFkZCBuZXcgZXh0ZW5zaW9ucyBiZWxvdyAqL1xuIFx0QlVJTERfQlVHX09OKE5GX0NUX0VYVF9OVU0gXHUwMDNlIDEwKTtcbiBcbiBcdHJldHVybiBzaXplb2Yoc3RydWN0IG5mX2N0X2V4dCkgJiM0Mztcbi1cdCAgICAgICBzaXplb2Yoc3RydWN0IG5mX2Nvbm5faGVscClcbiYjNDM7XHQgICAgICAgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9oZWxwKVxuICNpZiBJU19FTkFCTEVEKENPTkZJR19ORl9OQVQpXG4tXHRcdCYjNDM7IHNpemVvZihzdHJ1Y3QgbmZfY29ubl9uYXQpXG4mIzQzO1x0XHQmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX25hdClcbiAjZW5kaWZcbi1cdFx0JiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3NlcWFkailcbi1cdFx0JiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2FjY3QpXG4mIzQzO1x0XHQmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX3NlcWFkailcbiYjNDM7XHRcdCYjNDM7IE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fYWNjdClcbiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19FVkVOVFNcbi1cdFx0JiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25udHJhY2tfZWNhY2hlKVxuJiM0MztcdFx0JiM0MzsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubnRyYWNrX2VjYWNoZSlcbiAjZW5kaWZcbiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19USU1FU1RBTVBcbi1cdFx0JiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3RzdGFtcClcbiYjNDM7XHRcdCYjNDM7IE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fdHN0YW1wKVxuICNlbmRpZlxuICNpZmRlZiBDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVPVVRcbi1cdFx0JiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3RpbWVvdXQpXG4mIzQzO1x0XHQmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX3RpbWVvdXQpXG4gI2VuZGlmXG4gI2lmZGVmIENPTkZJR19ORl9DT05OVFJBQ0tfTEFCRUxTXG4tXHRcdCYjNDM7IHNpemVvZihzdHJ1Y3QgbmZfY29ubl9sYWJlbHMpXG4mIzQzO1x0XHQmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX2xhYmVscylcbiAjZW5kaWZcbiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkVURklMVEVSX1NZTlBST1hZKVxuLVx0XHQmIzQzOyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fc3lucHJveHkpXG4mIzQzO1x0XHQmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX3N5bnByb3h5KVxuICNlbmRpZlxuICNpZiBJU19FTkFCTEVEKENPTkZJR19ORVRfQUNUX0NUKVxuLVx0XHQmIzQzOyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fYWN0X2N0X2V4dClcbiYjNDM7XHRcdCYjNDM7IE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fYWN0X2N0X2V4dClcbiAjZW5kaWZcbiBcdDtcbiB9XG5AQCAtMTEyLDYgJiM0MzsxMTUsMTQgQEAgdm9pZCAqbmZfY3RfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGVudW0gbmZfY3RfZXh0X2lkIGlkLCBnZnBfdCBnZnApXG4gXHRuZXdsZW4gPSBuZXdvZmYgJiM0MzsgbmZfY3RfZXh0X3R5cGVfbGVuW2lkXTtcbiBcbiBcdGFsbG9jID0gbWF4KG5ld2xlbiwgTkZfQ1RfRVhUX1BSRUFMTE9DKTtcbiYjNDM7XHQvKlxuJiM0MztcdCAqIG5mX2Nvbm5faGVscCBjb250YWlucyB0aGUgZXhwZWN0YXRpb24gbGlzdCBoZWFkLiAgT25jZSBhblxuJiM0MztcdCAqIGV4cGVjdGF0aW9uIGlzIGxpbmtlZCwgaXRzIGxub2RlLnBwcmV2IHBvaW50cyBpbnRvIHRoaXMgYWxsb2NhdGlvbixcbiYjNDM7XHQgKiBzbyBsYXRlciBleHRlbnNpb24gYWRkaXRpb25zIG11c3Qgbm90IGJlIGFsbG93ZWQgdG8gcmVsb2NhdGUgaXQuXG4mIzQzO1x0ICovXG4mIzQzO1x0aWYgKGlkID09IE5GX0NUX0VYVF9IRUxQRVIpXG4mIzQzO1x0XHRhbGxvYyA9IG1heChhbGxvYywgdG90YWxfZXh0ZW5zaW9uX3NpemUoKSk7XG4mIzQzO1xuIFx0bmV3ID0ga3JlYWxsb2MoY3QtXHUwMDNlZXh0LCBhbGxvYywgZ2ZwKTtcbiBcdGlmICghbmV3KVxuIFx0XHRyZXR1cm4gTlVMTDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAyMTo0ODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtORl9DT05OVFJBQ0smIzM0OywKICAgICYjMzQ7TkZfTkFUJiMzNDssCiAgICAmIzM0O05GX0NPTk5UUkFDS19FVkVOVFMmIzM0OywKICAgICYjMzQ7TkZfQ09OTlRSQUNLX1RJTUVTVEFNUCYjMzQ7LAogICAgJiMzNDtORl9DT05OVFJBQ0tfVElNRU9VVCYjMzQ7LAogICAgJiMzNDtORl9DT05OVFJBQ0tfTEFCRUxTJiMzNDssCiAgICAmIzM0O05FVEZJTFRFUl9TWU5QUk9YWSYjMzQ7LAogICAgJiMzNDtORVRfQUNUX0NUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmZfY3RfZXh0X2FkZCYjMzQ7LAogICAgJiMzNDtuZl9jdF9oZWxwZXJfZXh0X2FkZCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgbWVtb3J5IGFsbG9jYXRpb24gbG9naWMgZm9yIGNvbm50cmFjayBleHRlbnNpb25zLCBzcGVjaWZpY2FsbHkgZW5zdXJpbmcgdGhhdCB3aGVuIHRoZSBoZWxwZXIgZXh0ZW5zaW9uIGlzIGFkZGVkLCBlbm91Z2ggbWVtb3J5IGlzIGFsbG9jYXRlZCBmb3IgYWxsIHBvc3NpYmxlIGV4dGVuc2lvbnMgdG8gcHJldmVudCBmdXR1cmUgcmVhbGxvY2F0aW9ucyB0aGF0IHdvdWxkIGludmFsaWRhdGUgcG9pbnRlcnMgdXNlZCBieSB0aGUgaGVscGVyIGV4dGVuc2lvbiYjMzk7cyBleHBlY3RhdGlvbiBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgbmV0ZmlsdGVyIGNvbm50cmFjayBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNDUzMTRjYzJhZDhmMmVjNzNlNmY2NWE0Y2FiMjcwMjI4YzNiY2JlYgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgSnVsIDE1IDIxOjQ4OjUzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmMgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuYwppbmRleCAwZGExMDVlMWRlZDkzOS4uZTVlMDRlMGVjNDBhNWQgMTAwNjQ0Ci0tLSBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jCiYjNDM7JiM0MzsmIzQzOyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jCkBAIC01NCwzNSAmIzQzOzU0LDM4IEBAIHN0YXRpYyBjb25zdCB1OCBuZl9jdF9leHRfdHlwZV9sZW5bTkZfQ1RfRVhUX05VTV0gPSB7CiAjZW5kaWYKIH07CiAKJiM0MzsjZGVmaW5lIE5GX0NUX0VYVF9UWVBFX1NJWkUodHlwZSkgXAomIzQzOwlBTElHTihzaXplb2YodHlwZSksIF9fYWxpZ25vZl9fKHN0cnVjdCBuZl9jdF9leHQpKQomIzQzOwogc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQgdG90YWxfZXh0ZW5zaW9uX3NpemUodm9pZCkKIHsKIAkvKiByZW1lbWJlciB0byBhZGQgbmV3IGV4dGVuc2lvbnMgYmVsb3cgKi8KIAlCVUlMRF9CVUdfT04oTkZfQ1RfRVhUX05VTSAmZ3Q7IDEwKTsKIAogCXJldHVybiBzaXplb2Yoc3RydWN0IG5mX2N0X2V4dCkgJiM0MzsKLQkgICAgICAgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2hlbHApCiYjNDM7CSAgICAgICBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX2hlbHApCiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkZfTkFUKQotCQkmIzQzOyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fbmF0KQomIzQzOwkJJiM0MzsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9uYXQpCiAjZW5kaWYKLQkJJiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3NlcWFkaikKLQkJJiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2FjY3QpCiYjNDM7CQkmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX3NlcWFkaikKJiM0MzsJCSYjNDM7IE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fYWNjdCkKICNpZmRlZiBDT05GSUdfTkZfQ09OTlRSQUNLX0VWRU5UUwotCQkmIzQzOyBzaXplb2Yoc3RydWN0IG5mX2Nvbm50cmFja19lY2FjaGUpCiYjNDM7CQkmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25udHJhY2tfZWNhY2hlKQogI2VuZGlmCiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19USU1FU1RBTVAKLQkJJiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3RzdGFtcCkKJiM0MzsJCSYjNDM7IE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fdHN0YW1wKQogI2VuZGlmCiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19USU1FT1VUCi0JCSYjNDM7IHNpemVvZihzdHJ1Y3QgbmZfY29ubl90aW1lb3V0KQomIzQzOwkJJiM0MzsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl90aW1lb3V0KQogI2VuZGlmCiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19MQUJFTFMKLQkJJiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2xhYmVscykKJiM0MzsJCSYjNDM7IE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fbGFiZWxzKQogI2VuZGlmCiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkVURklMVEVSX1NZTlBST1hZKQotCQkmIzQzOyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fc3lucHJveHkpCiYjNDM7CQkmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX3N5bnByb3h5KQogI2VuZGlmCiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkVUX0FDVF9DVCkKLQkJJiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2FjdF9jdF9leHQpCiYjNDM7CQkmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX2FjdF9jdF9leHQpCiAjZW5kaWYKIAk7CiB9CkBAIC0xMTIsNiAmIzQzOzExNSwxNCBAQCB2b2lkICpuZl9jdF9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZW51bSBuZl9jdF9leHRfaWQgaWQsIGdmcF90IGdmcCkKIAluZXdsZW4gPSBuZXdvZmYgJiM0MzsgbmZfY3RfZXh0X3R5cGVfbGVuW2lkXTsKIAogCWFsbG9jID0gbWF4KG5ld2xlbiwgTkZfQ1RfRVhUX1BSRUFMTE9DKTsKJiM0MzsJLyoKJiM0MzsJICogbmZfY29ubl9oZWxwIGNvbnRhaW5zIHRoZSBleHBlY3RhdGlvbiBsaXN0IGhlYWQuICBPbmNlIGFuCiYjNDM7CSAqIGV4cGVjdGF0aW9uIGlzIGxpbmtlZCwgaXRzIGxub2RlLnBwcmV2IHBvaW50cyBpbnRvIHRoaXMgYWxsb2NhdGlvbiwKJiM0MzsJICogc28gbGF0ZXIgZXh0ZW5zaW9uIGFkZGl0aW9ucyBtdXN0IG5vdCBiZSBhbGxvd2VkIHRvIHJlbG9jYXRlIGl0LgomIzQzOwkgKi8KJiM0MzsJaWYgKGlkID09IE5GX0NUX0VYVF9IRUxQRVIpCiYjNDM7CQlhbGxvYyA9IG1heChhbGxvYywgdG90YWxfZXh0ZW5zaW9uX3NpemUoKSk7CiYjNDM7CiAJbmV3ID0ga3JlYWxsb2MoY3QtJmd0O2V4dCwgYWxsb2MsIGdmcCk7CiAJaWYgKCFuZXcpCiAJCXJldHVybiBOVUxMOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAyMTo0ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNTcwCgkJCQkJCQlvdXRwdXQ6IDIxCgkJCQkJCQl0aG91Z2h0czogNDIyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgQ29ubnRyYWNrIEV4dGVuc2lvbiBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYG5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jYC4gSXQgc2VlbXMgdG8gYmUgYWRkcmVzc2luZyBhIHBvdGVudGlhbCBtZW1vcnkgY29ycnVwdGlvbiBpc3N1ZS4gRXNzZW50aWFsbHksIHRoZSBwYXRjaCBpcyB0d2Vha2luZyBob3cgd2UgbWFuYWdlIGV4dGVuc2lvbiBzaXplcyB3aXRoaW4gY29ubnRyYWNrIGVudHJpZXMuIFRoZSBjb3JlIG9mIHRoZSBjaGFuZ2UgcmV2b2x2ZXMgYXJvdW5kIGFsaWduaW5nIHRoZSBjYWxjdWxhdGVkIGB0b3RhbF9leHRlbnNpb25fc2l6ZWAgdXNpbmcgYE5GX0NUX0VYVF9UWVBFX1NJWkVgLCB3aGljaCBub3cgYWxpZ25zIHRoZSBzaXplcyB0byBgX19hbGlnbm9mX18oc3RydWN0IG5mX2N0X2V4dClgLgoKVGhlIGNydWNpYWwgbW9kaWZpY2F0aW9uIGFwcGVhcnMgdG8gYmUgaW4gYG5mX2N0X2V4dF9hZGRgLiBTcGVjaWZpY2FsbHksIHRoZSBjb2RlIG5vdyAqcHJlLWFsbG9jYXRlcyogdGhlIGNvcnJlY3QgYHRvdGFsX2V4dGVuc2lvbl9zaXplKClgIHdoZW4gdGhlIGBpZGAgaXMgYE5GX0NUX0VYVF9IRUxQRVJgLiBUaGlzIGlzIGtleSBiZWNhdXNlIHRoZSBoZWxwZXIgZXh0ZW5zaW9uIGNvbnRhaW5zIGFuIGV4cGVjdGF0aW9uIGxpc3QgaGVhZCwgYW5kIGl0cyBgbG5vZGUucHByZXZgIHBvaW50ZXIgbmVlZHMgdG8gcmVtYWluIHZhbGlkLiBQcmV2aW91c2x5LCBpZiB3ZSBhZGRlZCBvdGhlciBleHRlbnNpb25zICphZnRlciogdGhlIGhlbHBlciwgYSByZWFsbG9jYXRpb24gY291bGQgb2NjdXIsIGludmFsaWRhdGluZyB0aGF0IHBvaW50ZXIsIHdoaWNoIGlzIGJhZCBuZXdzLgoKU28sIHRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgYmVoYXZpb3Igb2YgYG5mX2N0X2V4dF9hZGRgIGFuZCBob3cgYHRvdGFsX2V4dGVuc2lvbl9zaXplYCBpcyBjYWxjdWxhdGVkLiBJdCYjMzk7cyBlc3NlbnRpYWxseSBhIGZ1bmN0aW9uYWwgY2hhbmdlIHRoYXQgZml4ZXMgdGhpcyBzcGVjaWZpYyBwb2ludGVyIGludmFsaWRhdGlvbiBidWcuCgpMZXQmIzM5O3MgZHJpbGwgZG93biBhbmQgY2hlY2sgdGhlIHNwZWNpZmljIGZ1bmN0aW9uczogYG5mX2N0X2V4dF9hZGRgIGFuZCBgdG90YWxfZXh0ZW5zaW9uX3NpemVgIGluIHRoZSBgbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNgIGZpbGUuIEkgc2VlIHRoZSBtYWluIGNvbmZpZ3MgaW52b2x2ZWQgYXJlIHRoZSB1c3VhbCBzdXNwZWN0czogYENPTkZJR19ORl9DT05OVFJBQ0tgLCBgQ09ORklHX05GX0NPTk5UUkFDS19FVkVOVFNgLCBgQ09ORklHX05GX0NPTk5UUkFDS19USU1FU1RBTVBgLCBgQ09ORklHX05GX0NPTk5UUkFDS19USU1FT1VUYCwgYENPTkZJR19ORl9DT05OVFJBQ0tfTEFCRUxTYCwgYENPTkZJR19ORl9OQVRgLCBgQ09ORklHX05FVEZJTFRFUl9TWU5QUk9YWWAsIGFuZCBgQ09ORklHX05FVF9BQ1RfQ1RgLgoKTm93LCB0aGUgYG5mX2N0X2V4dF9hZGRgIGZ1bmN0aW9uIGl0c2VsZiBpcyB0aGUgb25lIGJlaW5nIG1vZGlmaWVkLCBhbmQgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIGV4YWN0IGRlcGVuZGVuY2llcyBvZiB0aGlzIGZ1bmN0aW9uLCBlc3BlY2lhbGx5IHdpdGggcmVzcGVjdCB0byBgTkZfQ1RfRVhUX0hFTFBFUmAuIEl0JiMzOTtzIHVzZWQgd2hlbiBhZGRpbmcgYSBoZWxwZXIgZXh0ZW5zaW9uLCB3aGljaCBpcyBjZXJ0YWlubHkgcmVsYXRlZCB0byBgQ09ORklHX05GX0NPTk5UUkFDS2AuCgpUbyBiZSB0aG9yb3VnaCwgbGV0JiMzOTtzIHVzZSB0aGUgZ3JlcHBlciB0byBjb25maXJtIHdoZXJlIGBuZl9jdF9leHRfYWRkYCBpcyB1c2VkIGluIHRoZSBjb2RlYmFzZSB0byBhc3Nlc3MgdGhlIGltcGFjdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAyMTo0OTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtuZl9jdF9leHRfYWRkJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfYWNjdC5oPTMwPXN0cnVjdCBuZl9jb25uX2FjY3QgKm5mX2N0X2FjY3RfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGdmcF90IGdmcClcbi0tXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2FjY3QuaC0zOC1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfYWNjdC5oOjM5Olx0YWNjdCA9IG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9BQ0NULCBnZnApO1xuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19hY2N0LmgtNDAtXHRpZiAoIWFjY3QpXG4tLVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19hY3RfY3QuaD0zNj1uZl9jb25uX2FjdF9jdF9leHQgKm5mX2Nvbm5fYWN0X2N0X2V4dF9hZGQoc3RydWN0IHNrX2J1ZmYgKnNrYixcbi0tXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2FjdF9jdC5oLTQ1LVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19hY3RfY3QuaDo0NjpcdGFjdF9jdCA9IG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9BQ1RfQ1QsIEdGUF9BVE9NSUMpO1xuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19hY3RfY3QuaC00Ny1cdG5mX2Nvbm5fYWN0X2N0X2V4dF9maWxsKHNrYiwgY3QsIGN0aW5mbyk7XG4tLVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuaD01ND1zdGF0aWMgaW5saW5lIHZvaWQgKm5mX2N0X2V4dF9maW5kKGNvbnN0IHN0cnVjdCBuZl9jb25uICpjdCwgdTggaWQpXG4tLVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuaC02NC0vKiBBZGQgdGhpcyB0eXBlLCByZXR1cm5zIHBvaW50ZXIgdG8gZGF0YSBvciBOVUxMLiAqL1xuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuaDo2NTp2b2lkICpuZl9jdF9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZW51bSBuZl9jdF9leHRfaWQgaWQsIGdmcF90IGdmcCk7XG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5oLTY2LVxuLS1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbGFiZWxzLmg9Mzc9c3RhdGljIGlubGluZSBzdHJ1Y3QgbmZfY29ubl9sYWJlbHMgKm5mX2N0X2xhYmVsc19leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdClcbi0tXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2xhYmVscy5oLTQ0LVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19sYWJlbHMuaDo0NTpcdHJldHVybiBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfTEFCRUxTLCBHRlBfQVRPTUlDKTtcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbGFiZWxzLmgtNDYtI2Vsc2Vcbi0tXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3NlcWFkai5oPTI5PXN0YXRpYyBpbmxpbmUgc3RydWN0IG5mX2Nvbm5fc2VxYWRqICpuZmN0X3NlcWFkal9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdClcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2VxYWRqLmgtMzAte1xuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19zZXFhZGouaDozMTpcdHJldHVybiBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfU0VRQURKLCBHRlBfQVRPTUlDKTtcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2VxYWRqLmgtMzItfVxuLS1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc3lucHJveHkuaD0yMz1zdGF0aWMgaW5saW5lIHN0cnVjdCBuZl9jb25uX3N5bnByb3h5ICpuZmN0X3N5bnByb3h5X2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0KVxuLS1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc3lucHJveHkuaC0yNS0jaWYgSVNfRU5BQkxFRChDT05GSUdfTkVURklMVEVSX1NZTlBST1hZKVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19zeW5wcm94eS5oOjI2Olx0cmV0dXJuIG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9TWU5QUk9YWSwgR0ZQX0FUT01JQyk7XG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3N5bnByb3h5LmgtMjctI2Vsc2Vcbi0tXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RpbWVvdXQuaD02OT1zdHJ1Y3QgbmZfY29ubl90aW1lb3V0ICpuZl9jdF90aW1lb3V0X2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0LFxuLS1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfdGltZW91dC5oLTc4LVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lb3V0Lmg6Nzk6XHR0aW1lb3V0X2V4dCA9IG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9USU1FT1VULCBnZnApO1xuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lb3V0LmgtODAtXHRpZiAoIXRpbWVvdXRfZXh0IHx8IHRpbWVvdXRfZXh0LVx1MDAzZXRpbWVvdXQpXG4tLVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lc3RhbXAuaD0yNz1zdHJ1Y3QgbmZfY29ubl90c3RhbXAgKm5mX2N0X3RzdGFtcF9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZ2ZwX3QgZ2ZwKVxuLS1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfdGltZXN0YW1wLmgtMzQtXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RpbWVzdGFtcC5oOjM1Olx0cmV0dXJuIG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9UU1RBTVAsIGdmcCk7XG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RpbWVzdGFtcC5oLTM2LSNlbHNlXG4tLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZWNhY2hlLmM9MzI0PWJvb2wgbmZfY3RfZWNhY2hlX2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0LCB1MTYgY3RtYXNrLCB1MTYgZXhwbWFzaywgZ2ZwX3QgZ2ZwKVxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2VjYWNoZS5jLTM1MC1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2VjYWNoZS5jOjM1MTpcdGUgPSBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfRUNBQ0hFLCBnZnApO1xubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZWNhY2hlLmMtMzUyLVx0aWYgKGUpIHtcbi0tXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuYz02MD1zdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludCB0b3RhbF9leHRlbnNpb25fc2l6ZSh2b2lkKVxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jLTkyLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmM6OTM6dm9pZCAqbmZfY3RfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGVudW0gbmZfY3RfZXh0X2lkIGlkLCBnZnBfdCBnZnApXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuYy05NC17XG4tLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmMtMTM5LX1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jOjE0MDpFWFBPUlRfU1lNQk9MKG5mX2N0X2V4dF9hZGQpO1xuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jPTE3OT1uZl9jdF9oZWxwZXJfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGdmcF90IGdmcClcbi0tXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYy0xODItXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYzoxODM6XHRoZWxwID0gbmZfY3RfZXh0X2FkZChjdCwgTkZfQ1RfRVhUX0hFTFBFUiwgZ2ZwKTtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jLTE4NC1cdGlmIChoZWxwKSB7XG4tLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfcHB0cC5jPTQzND1jb25udHJhY2tfcHB0cF9oZWxwKHN0cnVjdCBza19idWZmICpza2IsIHVuc2lnbmVkIGludCBwcm90b2ZmLFxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3BwdHAuYy00NTgtXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19wcHRwLmM6NDU5Olx0XHRpZiAoIW5hdCBcdTAwMjZcdTAwMjYgIW5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9OQVQsIEdGUF9BVE9NSUMpKVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfcHB0cC5jLTQ2MC1cdFx0XHRyZXR1cm4gTkZfRFJPUDtcbi0tXG5uZXQvbmV0ZmlsdGVyL25mX25hdF9jb3JlLmM9NzUxPXN0cnVjdCBuZl9jb25uX25hdCAqbmZfY3RfbmF0X2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0KVxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfbmF0X2NvcmUuYy03NTctXHRpZiAoIW5mX2N0X2lzX2NvbmZpcm1lZChjdCkpXG5uZXQvbmV0ZmlsdGVyL25mX25hdF9jb3JlLmM6NzU4Olx0XHRuYXQgPSBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfTkFULCBHRlBfQVRPTUlDKTtcbm5ldC9uZXRmaWx0ZXIvbmZfbmF0X2NvcmUuYy03NTktXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMjE6NDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTUyOAoJCQkJCQkJb3V0cHV0OiAyMwoJCQkJCQkJdGhvdWdodHM6IDExMzcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBDb25udHJhY2sgRXh0ZW5zaW9uIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCB0aGlzIHBhdGNoIGFmZmVjdGluZyBgbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNgLCBzcGVjaWZpY2FsbHkgYG5mX2N0X2V4dF9hZGRgIGFuZCBgdG90YWxfZXh0ZW5zaW9uX3NpemVgLiBSaWdodCBhd2F5LCBJIHNlZSB0aGlzIGlzIGZ1bmN0aW9uYWwgLSBpdCYjMzk7cyBmaXhpbmcgYSBwb2ludGVyIGludmFsaWRhdGlvbiBpc3N1ZSB0aGF0IHBvcHMgdXAgd2hlbiBhZGRpbmcgZXh0ZW5zaW9ucyAqYWZ0ZXIqIGBORl9DVF9FWFRfSEVMUEVSYC4gQSBjbGFzc2ljIHJlYWxsb2NhdGlvbiBpc3N1ZSwgbGVhZGluZyB0byBzdGFsZSBwb2ludGVycy4gRGVmaW5pdGVseSB3b3J0aCBmdXp6aW5nLCBnaXZlbiB0aGUgcG90ZW50aWFsIHNlY3VyaXR5IGltcGxpY2F0aW9ucy4KCk5vdywgbGV0JiMzOTtzIG5haWwgZG93biB0aGUgY3JpdGljYWwgcG9pbnRzLiBgdG90YWxfZXh0ZW5zaW9uX3NpemVgIGlzIG91dCBiZWNhdXNlIGl0JiMzOTtzIHN0YXRpYyBpbmxpbmUgLSBub3QgYSBnb29kIHN0YXJ0aW5nIHBvaW50IGZvciBmb2N1cy4gYG5mX2N0X2V4dF9hZGRgIGl0c2VsZiBpcyB0aGUgbWFpbiBjdWxwcml0LCBnaXZlbiBpdCYjMzk7cyBleHBvcnRlZCBhbmQgY2FsbGVkIGZyb20gdmFyaW91cyBwYXJ0cyBvZiB0aGUgY29ubnRyYWNrIHN5c3RlbS4gUXVlc3Rpb24gaXMsIGhvdyBob3QgaXMgYG5mX2N0X2V4dF9hZGRgPyBJdCYjMzk7cyBpbnZvbHZlZCB3aGVuZXZlciBleHRlbnNpb25zIGFyZSBhZGRlZCB0byBhIGNvbm50cmFjayBlbnRyeSwgd2hpY2ggbWVhbnMgd2hlbiBhIG5ldyBjb25uZWN0aW9uIGlzIHRyYWNrZWQgdGhhdCBuZWVkcyB0aG9zZSBleHRlbnNpb25zOiBoZWxwZXIsIE5BVCwgYWNjb3VudGFuY3ksIHlvdSBuYW1lIGl0LiBJdCYjMzk7cyBub3QgKnN1cGVyKiBob3QtcGF0aCwgYnV0IGl0JiMzOTtzIHdoZXJlIHRoZSAqbW9kaWZpY2F0aW9uKiBpcyBoYXBwZW5pbmcuCgpXZSYjMzk7dmUgZ290IHRoZSBpbW1lZGlhdGUgbGlzdCBvZiBjYWxsZXJzIHRvIGBuZl9jdF9leHRfYWRkYDogYG5mX2N0X2hlbHBlcl9leHRfYWRkYCAodXNpbmcgYE5GX0NUX0VYVF9IRUxQRVJgKSwgYG5mX2N0X25hdF9leHRfYWRkYCAodXNpbmcgYE5GX0NUX0VYVF9OQVRgKSwgYW5kIHNvIG9uLgoKVGhlIGJ1ZyBpcyBhYm91dCBleHRlbnNpb25zICphZnRlciogYE5GX0NUX0VYVF9IRUxQRVJgLCBzbyBgbmZfY3RfaGVscGVyX2V4dF9hZGRgIGlzIGEgcHJpbWUgdGFyZ2V0IGZvciBmdXp6aW5nLCBhbG9uZyB3aXRoIGBuZl9jdF9leHRfYWRkYCBpdHNlbGYuIFdlJiMzOTtyZSBsb29raW5nIGZvciB3aGVyZSB0aGlzIGNhbiBmYWlsLgoKVGltZSB0byBsb29rIGF0IHRoZSBjb25maWcgb3B0aW9ucy4gVGhlIHBhdGNoIGluY2x1ZGVzIGNvbmRpdGlvbmFscyBiYXNlZCBvbiBgQ09ORklHX05GX05BVGAsIGBDT05GSUdfTkZfQ09OTlRSQUNLX0VWRU5UU2AsIGV0Yy4gSXQmIzM5O3MgYSBsaXN0LiBCZWNhdXNlIHRoaXMgaXMgYWJvdXQgdGhpbmdzIGFmdGVyIGBIRUxQRVJgLCB3ZSBuZWVkIGBDT05GSUdfTkZfQ09OTlRSQUNLYCBhbmQgc2V2ZXJhbCBleHRlbnNpb25zIHRvIHRyaWdnZXIgdGhlIGlzc3VlLCBzbzoKCiogICBgQ09ORklHX05GX0NPTk5UUkFDS19FVkVOVFNgCiogICBgQ09ORklHX05GX0NPTk5UUkFDS19USU1FU1RBTVBgCiogICBgQ09ORklHX05GX0NPTk5UUkFDS19USU1FT1VUYAoqICAgYENPTkZJR19ORl9DT05OVFJBQ0tfTEFCRUxTYAoqICAgYENPTkZJR19ORl9OQVRgCiogICBgQ09ORklHX05FVEZJTFRFUl9TWU5QUk9YWWAKKiAgIGBDT05GSUdfTkVUX0FDVF9DVGAKCkkgbmVlZCB0byBjb25maXJtIGBORl9DT05OVFJBQ0tgIGlzIHRoZSBiYXNlLCBhbmQgaXQgaXMuIEFuZCBubyBvdGhlciBzcGVjaWFsIGNvbmZpZyBuZWVkZWQuCgpJJiMzOTtsbCBjaGVjayBgbmZfY3RfaGVscGVyX2V4dF9hZGRgIGluIGBuZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuY2AgdG8gbG9vayBhdCBpdHMgaW50ZXJhY3Rpb25zLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDIxOjQ5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O25mX2N0X2hlbHBlcl9leHRfYWRkJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmg9MTE0PXZvaWQgbmZfY29ubnRyYWNrX2hlbHBlcnNfdW5yZWdpc3RlcihzdHJ1Y3QgbmZfY29ubnRyYWNrX2hlbHBlciAqKixcbi0tXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5oLTEyMC1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmg6MTIxOnN0cnVjdCBuZl9jb25uX2hlbHAgKm5mX2N0X2hlbHBlcl9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZ2ZwX3QgZ2ZwKTtcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmgtMTIyLVxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2NvcmUuYz0xNzU0PWluaXRfY29ubnRyYWNrKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5mX2Nvbm4gKnRtcGwsXG4tLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfY29yZS5jLTE4MTktXHRcdFx0aWYgKGFzc2lnbl9oZWxwZXIpIHtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2NvcmUuYzoxODIwOlx0XHRcdFx0aGVscCA9IG5mX2N0X2hlbHBlcl9leHRfYWRkKGN0LCBHRlBfQVRPTUlDKTtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2NvcmUuYy0xODIxLVx0XHRcdFx0aWYgKGhlbHAgXHUwMDI2XHUwMDI2IHJlZmNvdW50X2luY19ub3RfemVybyhcdTAwMjZhc3NpZ25faGVscGVyLVx1MDAzZWN0X3JlZmNudCkpXG4tLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmM9MTc4PXN0cnVjdCBuZl9jb25uX2hlbHAgKlxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmM6MTc5Om5mX2N0X2hlbHBlcl9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZ2ZwX3QgZ2ZwKVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMtMTgwLXtcbi0tXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYy0xODktfVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmM6MTkwOkVYUE9SVF9TWU1CT0xfR1BMKG5mX2N0X2hlbHBlcl9leHRfYWRkKTtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jLTE5MS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jPTE5Mj1pbnQgX19uZl9jdF90cnlfYXNzaWduX2hlbHBlcihzdHJ1Y3QgbmZfY29ubiAqY3QsIHN0cnVjdCBuZl9jb25uICp0bXBsLFxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jLTIyMi1cdGlmIChoZWxwID09IE5VTEwpIHtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jOjIyMzpcdFx0aGVscCA9IG5mX2N0X2hlbHBlcl9leHRfYWRkKGN0LCBmbGFncyk7XG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYy0yMjQtXHRcdGlmIChoZWxwID09IE5VTEwpXG4tLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbmV0bGluay5jPTIyMjI9Y3RuZXRsaW5rX2NyZWF0ZV9jb25udHJhY2soc3RydWN0IG5ldCAqbmV0LFxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYy0yMjc1LVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbmV0bGluay5jOjIyNzY6XHRcdFx0aGVscCA9IG5mX2N0X2hlbHBlcl9leHRfYWRkKGN0LCBHRlBfQVRPTUlDKTtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYy0yMjc3LVx0XHRcdGlmIChoZWxwID09IE5VTEwpIHtcbi0tXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19vdnMuYz04NT1pbnQgbmZfY3RfYWRkX2hlbHBlcihzdHJ1Y3QgbmZfY29ubiAqY3QsIGNvbnN0IGNoYXIgKm5hbWUsIHU4IGZhbWlseSxcbi0tXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19vdnMuYy05NS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX292cy5jOjk2Olx0aGVscCA9IG5mX2N0X2hlbHBlcl9leHRfYWRkKGN0LCBHRlBfS0VSTkVMKTtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX292cy5jLTk3LVx0aWYgKCFoZWxwKSB7XG4tLVxubmV0L25ldGZpbHRlci9uZnRfY3QuYz0xMTEyPXN0YXRpYyB2b2lkIG5mdF9jdF9oZWxwZXJfb2JqX2V2YWwoc3RydWN0IG5mdF9vYmplY3QgKm9iaixcbi0tXG5uZXQvbmV0ZmlsdGVyL25mdF9jdC5jLTExNDQtXG5uZXQvbmV0ZmlsdGVyL25mdF9jdC5jOjExNDU6XHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIEdGUF9BVE9NSUMpO1xubmV0L25ldGZpbHRlci9uZnRfY3QuYy0xMTQ2LVx0aWYgKGhlbHAgXHUwMDI2XHUwMDI2IHJlZmNvdW50X2luY19ub3RfemVybyhcdTAwMjZ0b19hc3NpZ24tXHUwMDNlY3RfcmVmY250KSkge1xuLS1cbm5ldC9uZXRmaWx0ZXIvbmZ0X2N0LmM9MTMwMD1zdGF0aWMgdm9pZCBuZnRfY3RfZXhwZWN0X29ial9ldmFsKHN0cnVjdCBuZnRfb2JqZWN0ICpvYmosXG4tLVxubmV0L25ldGZpbHRlci9uZnRfY3QuYy0xMzIwLVx0aWYgKCFoZWxwKVxubmV0L25ldGZpbHRlci9uZnRfY3QuYzoxMzIxOlx0XHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIEdGUF9BVE9NSUMpO1xubmV0L25ldGZpbHRlci9uZnRfY3QuYy0xMzIyLVx0aWYgKCFoZWxwKSB7XG4tLVxubmV0L25ldGZpbHRlci94dF9DVC5jPTc0PXh0X2N0X3NldF9oZWxwZXIoc3RydWN0IG5mX2Nvbm4gKmN0LCBjb25zdCBjaGFyICpoZWxwZXJfbmFtZSxcbi0tXG5uZXQvbmV0ZmlsdGVyL3h0X0NULmMtOTMtXG5uZXQvbmV0ZmlsdGVyL3h0X0NULmM6OTQ6XHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIEdGUF9LRVJORUwpO1xubmV0L25ldGZpbHRlci94dF9DVC5jLTk1LVx0aWYgKGhlbHAgPT0gTlVMTCkge1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDIxOjQ5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDg1NjEKCQkJCQkJCW91dHB1dDogMTg5CgkJCQkJCQl0aG91Z2h0czogMjQwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFuYWx5c2lzIG9mIHRoZSBDb25udHJhY2sgRXh0ZW5zaW9uIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpbW1lZGlhdGVseSwgbXkgbWluZCBob25lcyBpbiBvbiB0aGUga2V5IGZ1bmN0aW9uIHN5bWJvbHM6IGBuZl9jdF9leHRfYWRkYCwgYG5mX2N0X2hlbHBlcl9leHRfYWRkYCwgYF9fbmZfY3RfdHJ5X2Fzc2lnbl9oZWxwZXJgLCBgaW5pdF9jb25udHJhY2tgLCBhbmQgYGN0bmV0bGlua19jcmVhdGVfY29ubnRyYWNrYC4gSSYjMzk7bGwgZm9jdXMgZXNwZWNpYWxseSBvbiBgbmZfY3RfZXh0X2FkZGAgYW5kIGBuZl9jdF9oZWxwZXJfZXh0X2FkZGAsIGFzIHRoZXkgc2VlbSBjZW50cmFsIHRvIHRoaXMgY2hhbmdlLgoKTGV0JiMzOTtzIGRpc3NlY3QgdGhlIHJlYXNvbmluZyBiZWhpbmQgdGhlIGNoYW5nZXMuIFRoZSBjb3JlIGlzc3VlIGFwcGVhcnMgdG8gYmUgYXJvdW5kIG1lbW9yeSBhbGxvY2F0aW9uIGZvciBjb25udHJhY2sgZXh0ZW5zaW9ucy4gVGhlIHBhdGNoIGlzIHRyeWluZyB0byBvcHRpbWl6ZSB0aGUgcHJvY2VzcyBhbmQgYXZvaWQgcmVhbGxvY2F0aW9ucy4gSXQmIzM5O3MgYWJvdXQgZW5zdXJpbmcgdGhhdCB3aGVuIGEgaGVscGVyIGV4dGVuc2lvbiBpcyBhZGRlZCwgdGhlIHN5c3RlbSBhbGxvY2F0ZXMgZW5vdWdoIG1lbW9yeSAqaW5pdGlhbGx5KiB0byBhY2NvbW1vZGF0ZSAqYWxsKiBwb3RlbnRpYWwgZXh0ZW5zaW9ucyBkb3duIHRoZSBsaW5lLiBUaGlzIGlzIGNydWNpYWwgYmVjYXVzZSByZWFsbG9jYXRpb25zIGluIHRoaXMgYXJlYSBjYW4gbGVhZCB0byBwb2ludGVyIGludmFsaWRhdGlvbiwgd2hpY2ggd291bGQgd3JlYWsgaGF2b2Mgb24gdGhlIGhlbHBlciYjMzk7cyBleHBlY3RhdGlvbiBsaXN0IGFuZCB0aGUgaW50ZWdyaXR5IG9mIHRoZSBjb25uZWN0aW9uIHRyYWNraW5nLgoKVGhpcyBpcyBhICoqZnVuY3Rpb25hbCBjaGFuZ2UqKiBpbiB0aGUgY29yZSBuZXRmaWx0ZXIgY29ubnRyYWNrIGxvZ2ljLiBJdCYjMzk7cyBhaW1lZCBhdCBwcmV2ZW50aW5nIGEgcG90ZW50aWFsIGNvbmN1cnJlbmN5IGlzc3VlIHdpdGggcG9pbnRlciBtYW5hZ2VtZW50IGJ5IG1ha2luZyB0aGUgYWxsb2NhdGlvbiBtb3JlIHJlc2lsaWVudC4gVGhpcyBpcyBkZWZpbml0ZWx5IHNvbWV0aGluZyB0aGF0IG5lZWRzIHRvIGJlIGZ1enplZC4KClJlZ2FyZGluZyBjb25maWd1cmF0aW9uLCBJJiMzOTtsbCBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgcmVsZXZhbnQgb3B0aW9ucyBhcmUgZW5hYmxlZCBpbiBteSBmdXp6aW5nIHNldHVwLiBJJiMzOTttIHRoaW5raW5nOiBgTkZfQ09OTlRSQUNLYCwgYE5GX05BVGAsIGBORl9DT05OVFJBQ0tfRVZFTlRTYCwgYE5GX0NPTk5UUkFDS19USU1FU1RBTVBgLCBgTkZfQ09OTlRSQUNLX1RJTUVPVVRgLCBgTkZfQ09OTlRSQUNLX0xBQkVMU2AsIGBORVRGSUxURVJfU1lOUFJPWFlgLCBhbmQgYE5FVF9BQ1RfQ1RgLgoKQWxyaWdodCwgSSYjMzk7bGwgc2V0IHRoZSBmdXp6aW5nIHJlc3VsdHMgYWNjb3JkaW5nbHkuIFRoaXMgaXMgYSBzb2xpZCBzdGFydGluZyBwb2ludCBmb3IgZnV6emluZyB0aGlzIHBhdGNoLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDIxOjQ5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtORl9DT05OVFJBQ0smIzM0OywKICAgICYjMzQ7TkZfTkFUJiMzNDssCiAgICAmIzM0O05GX0NPTk5UUkFDS19FVkVOVFMmIzM0OywKICAgICYjMzQ7TkZfQ09OTlRSQUNLX1RJTUVTVEFNUCYjMzQ7LAogICAgJiMzNDtORl9DT05OVFJBQ0tfVElNRU9VVCYjMzQ7LAogICAgJiMzNDtORl9DT05OVFJBQ0tfTEFCRUxTJiMzNDssCiAgICAmIzM0O05FVEZJTFRFUl9TWU5QUk9YWSYjMzQ7LAogICAgJiMzNDtORVRfQUNUX0NUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmZfY3RfZXh0X2FkZCYjMzQ7LAogICAgJiMzNDtuZl9jdF9oZWxwZXJfZXh0X2FkZCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgbWVtb3J5IGFsbG9jYXRpb24gbG9naWMgZm9yIGNvbm50cmFjayBleHRlbnNpb25zLCBzcGVjaWZpY2FsbHkgZW5zdXJpbmcgdGhhdCB3aGVuIHRoZSBoZWxwZXIgZXh0ZW5zaW9uIGlzIGFkZGVkLCBlbm91Z2ggbWVtb3J5IGlzIGFsbG9jYXRlZCBmb3IgYWxsIHBvc3NpYmxlIGV4dGVuc2lvbnMgdG8gcHJldmVudCBmdXR1cmUgcmVhbGxvY2F0aW9ucyB0aGF0IHdvdWxkIGludmFsaWRhdGUgcG9pbnRlcnMgdXNlZCBieSB0aGUgaGVscGVyIGV4dGVuc2lvbiYjMzk7cyBleHBlY3RhdGlvbiBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgbmV0ZmlsdGVyIGNvbm50cmFjayBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TkZfQ09OTlRSQUNLJiMzNDssCiAgICAmIzM0O05GX05BVCYjMzQ7LAogICAgJiMzNDtORl9DT05OVFJBQ0tfRVZFTlRTJiMzNDssCiAgICAmIzM0O05GX0NPTk5UUkFDS19USU1FU1RBTVAmIzM0OywKICAgICYjMzQ7TkZfQ09OTlRSQUNLX1RJTUVPVVQmIzM0OywKICAgICYjMzQ7TkZfQ09OTlRSQUNLX0xBQkVMUyYjMzQ7LAogICAgJiMzNDtORVRGSUxURVJfU1lOUFJPWFkmIzM0OywKICAgICYjMzQ7TkVUX0FDVF9DVCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25mX2N0X2V4dF9hZGQmIzM0OywKICAgICYjMzQ7bmZfY3RfaGVscGVyX2V4dF9hZGQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIG1lbW9yeSBhbGxvY2F0aW9uIGxvZ2ljIGZvciBjb25udHJhY2sgZXh0ZW5zaW9ucywgc3BlY2lmaWNhbGx5IGVuc3VyaW5nIHRoYXQgd2hlbiB0aGUgaGVscGVyIGV4dGVuc2lvbiBpcyBhZGRlZCwgZW5vdWdoIG1lbW9yeSBpcyBhbGxvY2F0ZWQgZm9yIGFsbCBwb3NzaWJsZSBleHRlbnNpb25zIHRvIHByZXZlbnQgZnV0dXJlIHJlYWxsb2NhdGlvbnMgdGhhdCB3b3VsZCBpbnZhbGlkYXRlIHBvaW50ZXJzIHVzZWQgYnkgdGhlIGhlbHBlciBleHRlbnNpb24mIzM5O3MgZXhwZWN0YXRpb24gbGlzdC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIG5ldGZpbHRlciBjb25udHJhY2sgbG9naWMgYW5kIHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xNVQyMTo0ODo1NS4xNjk1MzAwMTNaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozOTg4MTA4NjYxMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJORl9DT05OVFJBQ0tcIixcbiAgICBcIk5GX05BVFwiLFxuICAgIFwiTkZfQ09OTlRSQUNLX0VWRU5UU1wiLFxuICAgIFwiTkZfQ09OTlRSQUNLX1RJTUVTVEFNUFwiLFxuICAgIFwiTkZfQ09OTlRSQUNLX1RJTUVPVVRcIixcbiAgICBcIk5GX0NPTk5UUkFDS19MQUJFTFNcIixcbiAgICBcIk5FVEZJTFRFUl9TWU5QUk9YWVwiLFxuICAgIFwiTkVUX0FDVF9DVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5mX2N0X2V4dF9hZGRcIixcbiAgICBcIm5mX2N0X2hlbHBlcl9leHRfYWRkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIG1lbW9yeSBhbGxvY2F0aW9uIGxvZ2ljIGZvciBjb25udHJhY2sgZXh0ZW5zaW9ucywgc3BlY2lmaWNhbGx5IGVuc3VyaW5nIHRoYXQgd2hlbiB0aGUgaGVscGVyIGV4dGVuc2lvbiBpcyBhZGRlZCwgZW5vdWdoIG1lbW9yeSBpcyBhbGxvY2F0ZWQgZm9yIGFsbCBwb3NzaWJsZSBleHRlbnNpb25zIHRvIHByZXZlbnQgZnV0dXJlIHJlYWxsb2NhdGlvbnMgdGhhdCB3b3VsZCBpbnZhbGlkYXRlIHBvaW50ZXJzIHVzZWQgYnkgdGhlIGhlbHBlciBleHRlbnNpb24ncyBleHBlY3RhdGlvbiBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgbmV0ZmlsdGVyIGNvbm50cmFjayBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMjE6NDg6NTUuMTY5NTM5MTUzWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NTkzODM5OTksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA0NTMxNGNjMmFkOGYyZWM3M2U2ZjY1YTRjYWIyNzAyMjhjM2JjYmViXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgSnVsIDE1IDIxOjQ4OjUzIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNcXG5pbmRleCAwZGExMDVlMWRlZDkzOS4uZTVlMDRlMGVjNDBhNWQgMTAwNjQ0XFxuLS0tIGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNcXG4rKysgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuY1xcbkBAIC01NCwzNSArNTQsMzggQEAgc3RhdGljIGNvbnN0IHU4IG5mX2N0X2V4dF90eXBlX2xlbltORl9DVF9FWFRfTlVNXSA9IHtcXG4gI2VuZGlmXFxuIH07XFxuIFxcbisjZGVmaW5lIE5GX0NUX0VYVF9UWVBFX1NJWkUodHlwZSkgXFxcXFxcbitcXHRBTElHTihzaXplb2YodHlwZSksIF9fYWxpZ25vZl9fKHN0cnVjdCBuZl9jdF9leHQpKVxcbitcXG4gc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQgdG90YWxfZXh0ZW5zaW9uX3NpemUodm9pZClcXG4ge1xcbiBcXHQvKiByZW1lbWJlciB0byBhZGQgbmV3IGV4dGVuc2lvbnMgYmVsb3cgKi9cXG4gXFx0QlVJTERfQlVHX09OKE5GX0NUX0VYVF9OVU0gXFx1MDAzZSAxMCk7XFxuIFxcbiBcXHRyZXR1cm4gc2l6ZW9mKHN0cnVjdCBuZl9jdF9leHQpICtcXG4tXFx0ICAgICAgIHNpemVvZihzdHJ1Y3QgbmZfY29ubl9oZWxwKVxcbitcXHQgICAgICAgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9oZWxwKVxcbiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkZfTkFUKVxcbi1cXHRcXHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubl9uYXQpXFxuK1xcdFxcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9uYXQpXFxuICNlbmRpZlxcbi1cXHRcXHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubl9zZXFhZGopXFxuLVxcdFxcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2FjY3QpXFxuK1xcdFxcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9zZXFhZGopXFxuK1xcdFxcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9hY2N0KVxcbiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19FVkVOVFNcXG4tXFx0XFx0KyBzaXplb2Yoc3RydWN0IG5mX2Nvbm50cmFja19lY2FjaGUpXFxuK1xcdFxcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubnRyYWNrX2VjYWNoZSlcXG4gI2VuZGlmXFxuICNpZmRlZiBDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVTVEFNUFxcbi1cXHRcXHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubl90c3RhbXApXFxuK1xcdFxcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl90c3RhbXApXFxuICNlbmRpZlxcbiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19USU1FT1VUXFxuLVxcdFxcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3RpbWVvdXQpXFxuK1xcdFxcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl90aW1lb3V0KVxcbiAjZW5kaWZcXG4gI2lmZGVmIENPTkZJR19ORl9DT05OVFJBQ0tfTEFCRUxTXFxuLVxcdFxcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2xhYmVscylcXG4rXFx0XFx0KyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX2xhYmVscylcXG4gI2VuZGlmXFxuICNpZiBJU19FTkFCTEVEKENPTkZJR19ORVRGSUxURVJfU1lOUFJPWFkpXFxuLVxcdFxcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3N5bnByb3h5KVxcbitcXHRcXHQrIE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fc3lucHJveHkpXFxuICNlbmRpZlxcbiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkVUX0FDVF9DVClcXG4tXFx0XFx0KyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fYWN0X2N0X2V4dClcXG4rXFx0XFx0KyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX2FjdF9jdF9leHQpXFxuICNlbmRpZlxcbiBcXHQ7XFxuIH1cXG5AQCAtMTEyLDYgKzExNSwxNCBAQCB2b2lkICpuZl9jdF9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZW51bSBuZl9jdF9leHRfaWQgaWQsIGdmcF90IGdmcClcXG4gXFx0bmV3bGVuID0gbmV3b2ZmICsgbmZfY3RfZXh0X3R5cGVfbGVuW2lkXTtcXG4gXFxuIFxcdGFsbG9jID0gbWF4KG5ld2xlbiwgTkZfQ1RfRVhUX1BSRUFMTE9DKTtcXG4rXFx0LypcXG4rXFx0ICogbmZfY29ubl9oZWxwIGNvbnRhaW5zIHRoZSBleHBlY3RhdGlvbiBsaXN0IGhlYWQuICBPbmNlIGFuXFxuK1xcdCAqIGV4cGVjdGF0aW9uIGlzIGxpbmtlZCwgaXRzIGxub2RlLnBwcmV2IHBvaW50cyBpbnRvIHRoaXMgYWxsb2NhdGlvbixcXG4rXFx0ICogc28gbGF0ZXIgZXh0ZW5zaW9uIGFkZGl0aW9ucyBtdXN0IG5vdCBiZSBhbGxvd2VkIHRvIHJlbG9jYXRlIGl0LlxcbitcXHQgKi9cXG4rXFx0aWYgKGlkID09IE5GX0NUX0VYVF9IRUxQRVIpXFxuK1xcdFxcdGFsbG9jID0gbWF4KGFsbG9jLCB0b3RhbF9leHRlbnNpb25fc2l6ZSgpKTtcXG4rXFxuIFxcdG5ldyA9IGtyZWFsbG9jKGN0LVxcdTAwM2VleHQsIGFsbG9jLCBnZnApO1xcbiBcXHRpZiAoIW5ldylcXG4gXFx0XFx0cmV0dXJuIE5VTEw7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDIxOjQ4OjU1LjczMDE0Njk2MloiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzkzMjA0NTg1MzEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTkZfQ09OTlRSQUNLXCIsXG4gICAgXCJORl9OQVRcIixcbiAgICBcIk5GX0NPTk5UUkFDS19FVkVOVFNcIixcbiAgICBcIk5GX0NPTk5UUkFDS19USU1FU1RBTVBcIixcbiAgICBcIk5GX0NPTk5UUkFDS19USU1FT1VUXCIsXG4gICAgXCJORl9DT05OVFJBQ0tfTEFCRUxTXCIsXG4gICAgXCJORVRGSUxURVJfU1lOUFJPWFlcIixcbiAgICBcIk5FVF9BQ1RfQ1RcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuZl9jdF9leHRfYWRkXCIsXG4gICAgXCJuZl9jdF9oZWxwZXJfZXh0X2FkZFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBtZW1vcnkgYWxsb2NhdGlvbiBsb2dpYyBmb3IgY29ubnRyYWNrIGV4dGVuc2lvbnMsIHNwZWNpZmljYWxseSBlbnN1cmluZyB0aGF0IHdoZW4gdGhlIGhlbHBlciBleHRlbnNpb24gaXMgYWRkZWQsIGVub3VnaCBtZW1vcnkgaXMgYWxsb2NhdGVkIGZvciBhbGwgcG9zc2libGUgZXh0ZW5zaW9ucyB0byBwcmV2ZW50IGZ1dHVyZSByZWFsbG9jYXRpb25zIHRoYXQgd291bGQgaW52YWxpZGF0ZSBwb2ludGVycyB1c2VkIGJ5IHRoZSBoZWxwZXIgZXh0ZW5zaW9uJ3MgZXhwZWN0YXRpb24gbGlzdC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIG5ldGZpbHRlciBjb25udHJhY2sgbG9naWMgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNDUzMTRjYzJhZDhmMmVjNzNlNmY2NWE0Y2FiMjcwMjI4YzNiY2JlYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDE1IDIxOjQ4OjUzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmMgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuY1xuaW5kZXggMGRhMTA1ZTFkZWQ5MzkuLmU1ZTA0ZTBlYzQwYTVkIDEwMDY0NFxuLS0tIGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNcbisrKyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jXG5AQCAtNTQsMzUgKzU0LDM4IEBAIHN0YXRpYyBjb25zdCB1OCBuZl9jdF9leHRfdHlwZV9sZW5bTkZfQ1RfRVhUX05VTV0gPSB7XG4gI2VuZGlmXG4gfTtcbiBcbisjZGVmaW5lIE5GX0NUX0VYVF9UWVBFX1NJWkUodHlwZSkgXFxcbitcdEFMSUdOKHNpemVvZih0eXBlKSwgX19hbGlnbm9mX18oc3RydWN0IG5mX2N0X2V4dCkpXG4rXG4gc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQgdG90YWxfZXh0ZW5zaW9uX3NpemUodm9pZClcbiB7XG4gXHQvKiByZW1lbWJlciB0byBhZGQgbmV3IGV4dGVuc2lvbnMgYmVsb3cgKi9cbiBcdEJVSUxEX0JVR19PTihORl9DVF9FWFRfTlVNIFx1MDAzZSAxMCk7XG4gXG4gXHRyZXR1cm4gc2l6ZW9mKHN0cnVjdCBuZl9jdF9leHQpICtcbi1cdCAgICAgICBzaXplb2Yoc3RydWN0IG5mX2Nvbm5faGVscClcbitcdCAgICAgICBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX2hlbHApXG4gI2lmIElTX0VOQUJMRUQoQ09ORklHX05GX05BVClcbi1cdFx0KyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fbmF0KVxuK1x0XHQrIE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fbmF0KVxuICNlbmRpZlxuLVx0XHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubl9zZXFhZGopXG4tXHRcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2FjY3QpXG4rXHRcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9zZXFhZGopXG4rXHRcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9hY2N0KVxuICNpZmRlZiBDT05GSUdfTkZfQ09OTlRSQUNLX0VWRU5UU1xuLVx0XHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubnRyYWNrX2VjYWNoZSlcbitcdFx0KyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25udHJhY2tfZWNhY2hlKVxuICNlbmRpZlxuICNpZmRlZiBDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVTVEFNUFxuLVx0XHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubl90c3RhbXApXG4rXHRcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl90c3RhbXApXG4gI2VuZGlmXG4gI2lmZGVmIENPTkZJR19ORl9DT05OVFJBQ0tfVElNRU9VVFxuLVx0XHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubl90aW1lb3V0KVxuK1x0XHQrIE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fdGltZW91dClcbiAjZW5kaWZcbiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19MQUJFTFNcbi1cdFx0KyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fbGFiZWxzKVxuK1x0XHQrIE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fbGFiZWxzKVxuICNlbmRpZlxuICNpZiBJU19FTkFCTEVEKENPTkZJR19ORVRGSUxURVJfU1lOUFJPWFkpXG4tXHRcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3N5bnByb3h5KVxuK1x0XHQrIE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fc3lucHJveHkpXG4gI2VuZGlmXG4gI2lmIElTX0VOQUJMRUQoQ09ORklHX05FVF9BQ1RfQ1QpXG4tXHRcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2FjdF9jdF9leHQpXG4rXHRcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9hY3RfY3RfZXh0KVxuICNlbmRpZlxuIFx0O1xuIH1cbkBAIC0xMTIsNiArMTE1LDE0IEBAIHZvaWQgKm5mX2N0X2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0LCBlbnVtIG5mX2N0X2V4dF9pZCBpZCwgZ2ZwX3QgZ2ZwKVxuIFx0bmV3bGVuID0gbmV3b2ZmICsgbmZfY3RfZXh0X3R5cGVfbGVuW2lkXTtcbiBcbiBcdGFsbG9jID0gbWF4KG5ld2xlbiwgTkZfQ1RfRVhUX1BSRUFMTE9DKTtcbitcdC8qXG4rXHQgKiBuZl9jb25uX2hlbHAgY29udGFpbnMgdGhlIGV4cGVjdGF0aW9uIGxpc3QgaGVhZC4gIE9uY2UgYW5cbitcdCAqIGV4cGVjdGF0aW9uIGlzIGxpbmtlZCwgaXRzIGxub2RlLnBwcmV2IHBvaW50cyBpbnRvIHRoaXMgYWxsb2NhdGlvbixcbitcdCAqIHNvIGxhdGVyIGV4dGVuc2lvbiBhZGRpdGlvbnMgbXVzdCBub3QgYmUgYWxsb3dlZCB0byByZWxvY2F0ZSBpdC5cbitcdCAqL1xuK1x0aWYgKGlkID09IE5GX0NUX0VYVF9IRUxQRVIpXG4rXHRcdGFsbG9jID0gbWF4KGFsbG9jLCB0b3RhbF9leHRlbnNpb25fc2l6ZSgpKTtcbitcbiBcdG5ldyA9IGtyZWFsbG9jKGN0LVx1MDAzZWV4dCwgYWxsb2MsIGdmcCk7XG4gXHRpZiAoIW5ldylcbiBcdFx0cmV0dXJuIE5VTEw7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQyMTo0ODo1NS43MzAxNDk0MzJaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo5MjE0OTQxODQ1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgQ29ubnRyYWNrIEV4dGVuc2lvbiBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBuZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuY2AuIEl0IHNlZW1zIHRvIGJlIGFkZHJlc3NpbmcgYSBwb3RlbnRpYWwgbWVtb3J5IGNvcnJ1cHRpb24gaXNzdWUuIEVzc2VudGlhbGx5LCB0aGUgcGF0Y2ggaXMgdHdlYWtpbmcgaG93IHdlIG1hbmFnZSBleHRlbnNpb24gc2l6ZXMgd2l0aGluIGNvbm50cmFjayBlbnRyaWVzLiBUaGUgY29yZSBvZiB0aGUgY2hhbmdlIHJldm9sdmVzIGFyb3VuZCBhbGlnbmluZyB0aGUgY2FsY3VsYXRlZCBgdG90YWxfZXh0ZW5zaW9uX3NpemVgIHVzaW5nIGBORl9DVF9FWFRfVFlQRV9TSVpFYCwgd2hpY2ggbm93IGFsaWducyB0aGUgc2l6ZXMgdG8gYF9fYWxpZ25vZl9fKHN0cnVjdCBuZl9jdF9leHQpYC5cblxuVGhlIGNydWNpYWwgbW9kaWZpY2F0aW9uIGFwcGVhcnMgdG8gYmUgaW4gYG5mX2N0X2V4dF9hZGRgLiBTcGVjaWZpY2FsbHksIHRoZSBjb2RlIG5vdyAqcHJlLWFsbG9jYXRlcyogdGhlIGNvcnJlY3QgYHRvdGFsX2V4dGVuc2lvbl9zaXplKClgIHdoZW4gdGhlIGBpZGAgaXMgYE5GX0NUX0VYVF9IRUxQRVJgLiBUaGlzIGlzIGtleSBiZWNhdXNlIHRoZSBoZWxwZXIgZXh0ZW5zaW9uIGNvbnRhaW5zIGFuIGV4cGVjdGF0aW9uIGxpc3QgaGVhZCwgYW5kIGl0cyBgbG5vZGUucHByZXZgIHBvaW50ZXIgbmVlZHMgdG8gcmVtYWluIHZhbGlkLiBQcmV2aW91c2x5LCBpZiB3ZSBhZGRlZCBvdGhlciBleHRlbnNpb25zICphZnRlciogdGhlIGhlbHBlciwgYSByZWFsbG9jYXRpb24gY291bGQgb2NjdXIsIGludmFsaWRhdGluZyB0aGF0IHBvaW50ZXIsIHdoaWNoIGlzIGJhZCBuZXdzLlxuXG5TbywgdGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBiZWhhdmlvciBvZiBgbmZfY3RfZXh0X2FkZGAgYW5kIGhvdyBgdG90YWxfZXh0ZW5zaW9uX3NpemVgIGlzIGNhbGN1bGF0ZWQuIEl0J3MgZXNzZW50aWFsbHkgYSBmdW5jdGlvbmFsIGNoYW5nZSB0aGF0IGZpeGVzIHRoaXMgc3BlY2lmaWMgcG9pbnRlciBpbnZhbGlkYXRpb24gYnVnLlxuXG5MZXQncyBkcmlsbCBkb3duIGFuZCBjaGVjayB0aGUgc3BlY2lmaWMgZnVuY3Rpb25zOiBgbmZfY3RfZXh0X2FkZGAgYW5kIGB0b3RhbF9leHRlbnNpb25fc2l6ZWAgaW4gdGhlIGBuZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuY2AgZmlsZS4gSSBzZWUgdGhlIG1haW4gY29uZmlncyBpbnZvbHZlZCBhcmUgdGhlIHVzdWFsIHN1c3BlY3RzOiBgQ09ORklHX05GX0NPTk5UUkFDS2AsIGBDT05GSUdfTkZfQ09OTlRSQUNLX0VWRU5UU2AsIGBDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVTVEFNUGAsIGBDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVPVVRgLCBgQ09ORklHX05GX0NPTk5UUkFDS19MQUJFTFNgLCBgQ09ORklHX05GX05BVGAsIGBDT05GSUdfTkVURklMVEVSX1NZTlBST1hZYCwgYW5kIGBDT05GSUdfTkVUX0FDVF9DVGAuXG5cbk5vdywgdGhlIGBuZl9jdF9leHRfYWRkYCBmdW5jdGlvbiBpdHNlbGYgaXMgdGhlIG9uZSBiZWluZyBtb2RpZmllZCwgYW5kIEkgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSBleGFjdCBkZXBlbmRlbmNpZXMgb2YgdGhpcyBmdW5jdGlvbiwgZXNwZWNpYWxseSB3aXRoIHJlc3BlY3QgdG8gYE5GX0NUX0VYVF9IRUxQRVJgLiBJdCdzIHVzZWQgd2hlbiBhZGRpbmcgYSBoZWxwZXIgZXh0ZW5zaW9uLCB3aGljaCBpcyBjZXJ0YWlubHkgcmVsYXRlZCB0byBgQ09ORklHX05GX0NPTk5UUkFDS2AuXG5cblRvIGJlIHRob3JvdWdoLCBsZXQncyB1c2UgdGhlIGdyZXBwZXIgdG8gY29uZmlybSB3aGVyZSBgbmZfY3RfZXh0X2FkZGAgaXMgdXNlZCBpbiB0aGUgY29kZWJhc2UgdG8gYXNzZXNzIHRoZSBpbXBhY3QuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI1NzAsIk91dHB1dFRva2VucyI6MjEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo0MjIsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQyMTo0OTowNC45NDUwOTM1ODdaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjA2NDE4OTk5MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJuZl9jdF9leHRfYWRkXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfYWNjdC5oPTMwPXN0cnVjdCBuZl9jb25uX2FjY3QgKm5mX2N0X2FjY3RfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGdmcF90IGdmcClcXG4tLVxcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfYWNjdC5oLTM4LVxcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfYWNjdC5oOjM5OlxcdGFjY3QgPSBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfQUNDVCwgZ2ZwKTtcXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2FjY3QuaC00MC1cXHRpZiAoIWFjY3QpXFxuLS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2FjdF9jdC5oPTM2PW5mX2Nvbm5fYWN0X2N0X2V4dCAqbmZfY29ubl9hY3RfY3RfZXh0X2FkZChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbi0tXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19hY3RfY3QuaC00NS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2FjdF9jdC5oOjQ2OlxcdGFjdF9jdCA9IG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9BQ1RfQ1QsIEdGUF9BVE9NSUMpO1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfYWN0X2N0LmgtNDctXFx0bmZfY29ubl9hY3RfY3RfZXh0X2ZpbGwoc2tiLCBjdCwgY3RpbmZvKTtcXG4tLVxcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmg9NTQ9c3RhdGljIGlubGluZSB2b2lkICpuZl9jdF9leHRfZmluZChjb25zdCBzdHJ1Y3QgbmZfY29ubiAqY3QsIHU4IGlkKVxcbi0tXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuaC02NC0vKiBBZGQgdGhpcyB0eXBlLCByZXR1cm5zIHBvaW50ZXIgdG8gZGF0YSBvciBOVUxMLiAqL1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmg6NjU6dm9pZCAqbmZfY3RfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGVudW0gbmZfY3RfZXh0X2lkIGlkLCBnZnBfdCBnZnApO1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmgtNjYtXFxuLS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2xhYmVscy5oPTM3PXN0YXRpYyBpbmxpbmUgc3RydWN0IG5mX2Nvbm5fbGFiZWxzICpuZl9jdF9sYWJlbHNfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QpXFxuLS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2xhYmVscy5oLTQ0LVxcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbGFiZWxzLmg6NDU6XFx0cmV0dXJuIG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9MQUJFTFMsIEdGUF9BVE9NSUMpO1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbGFiZWxzLmgtNDYtI2Vsc2VcXG4tLVxcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2VxYWRqLmg9Mjk9c3RhdGljIGlubGluZSBzdHJ1Y3QgbmZfY29ubl9zZXFhZGogKm5mY3Rfc2VxYWRqX2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0KVxcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2VxYWRqLmgtMzAte1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2VxYWRqLmg6MzE6XFx0cmV0dXJuIG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9TRVFBREosIEdGUF9BVE9NSUMpO1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2VxYWRqLmgtMzItfVxcbi0tXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19zeW5wcm94eS5oPTIzPXN0YXRpYyBpbmxpbmUgc3RydWN0IG5mX2Nvbm5fc3lucHJveHkgKm5mY3Rfc3lucHJveHlfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QpXFxuLS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3N5bnByb3h5LmgtMjUtI2lmIElTX0VOQUJMRUQoQ09ORklHX05FVEZJTFRFUl9TWU5QUk9YWSlcXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3N5bnByb3h5Lmg6MjY6XFx0cmV0dXJuIG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9TWU5QUk9YWSwgR0ZQX0FUT01JQyk7XFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19zeW5wcm94eS5oLTI3LSNlbHNlXFxuLS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RpbWVvdXQuaD02OT1zdHJ1Y3QgbmZfY29ubl90aW1lb3V0ICpuZl9jdF90aW1lb3V0X2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0LFxcbi0tXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lb3V0LmgtNzgtXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lb3V0Lmg6Nzk6XFx0dGltZW91dF9leHQgPSBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfVElNRU9VVCwgZ2ZwKTtcXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RpbWVvdXQuaC04MC1cXHRpZiAoIXRpbWVvdXRfZXh0IHx8IHRpbWVvdXRfZXh0LVxcdTAwM2V0aW1lb3V0KVxcbi0tXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lc3RhbXAuaD0yNz1zdHJ1Y3QgbmZfY29ubl90c3RhbXAgKm5mX2N0X3RzdGFtcF9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZ2ZwX3QgZ2ZwKVxcbi0tXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lc3RhbXAuaC0zNC1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RpbWVzdGFtcC5oOjM1OlxcdHJldHVybiBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfVFNUQU1QLCBnZnApO1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfdGltZXN0YW1wLmgtMzYtI2Vsc2VcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2VjYWNoZS5jPTMyND1ib29sIG5mX2N0X2VjYWNoZV9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgdTE2IGN0bWFzaywgdTE2IGV4cG1hc2ssIGdmcF90IGdmcClcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2VjYWNoZS5jLTM1MC1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19lY2FjaGUuYzozNTE6XFx0ZSA9IG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9FQ0FDSEUsIGdmcCk7XFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZWNhY2hlLmMtMzUyLVxcdGlmIChlKSB7XFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuYz02MD1zdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludCB0b3RhbF9leHRlbnNpb25fc2l6ZSh2b2lkKVxcbi0tXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmMtOTItXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmM6OTM6dm9pZCAqbmZfY3RfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGVudW0gbmZfY3RfZXh0X2lkIGlkLCBnZnBfdCBnZnApXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmMtOTQte1xcbi0tXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmMtMTM5LX1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuYzoxNDA6RVhQT1JUX1NZTUJPTChuZl9jdF9leHRfYWRkKTtcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jPTE3OT1uZl9jdF9oZWxwZXJfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGdmcF90IGdmcClcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jLTE4Mi1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYzoxODM6XFx0aGVscCA9IG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9IRUxQRVIsIGdmcCk7XFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMtMTg0LVxcdGlmIChoZWxwKSB7XFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19wcHRwLmM9NDM0PWNvbm50cmFja19wcHRwX2hlbHAoc3RydWN0IHNrX2J1ZmYgKnNrYiwgdW5zaWduZWQgaW50IHByb3RvZmYsXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19wcHRwLmMtNDU4LVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3BwdHAuYzo0NTk6XFx0XFx0aWYgKCFuYXQgXFx1MDAyNlxcdTAwMjYgIW5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9OQVQsIEdGUF9BVE9NSUMpKVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3BwdHAuYy00NjAtXFx0XFx0XFx0cmV0dXJuIE5GX0RST1A7XFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX25hdF9jb3JlLmM9NzUxPXN0cnVjdCBuZl9jb25uX25hdCAqbmZfY3RfbmF0X2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0KVxcbi0tXFxubmV0L25ldGZpbHRlci9uZl9uYXRfY29yZS5jLTc1Ny1cXHRpZiAoIW5mX2N0X2lzX2NvbmZpcm1lZChjdCkpXFxubmV0L25ldGZpbHRlci9uZl9uYXRfY29yZS5jOjc1ODpcXHRcXHRuYXQgPSBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfTkFULCBHRlBfQVRPTUlDKTtcXG5uZXQvbmV0ZmlsdGVyL25mX25hdF9jb3JlLmMtNzU5LVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQyMTo0OTowNy4wMDkyOTM2OTdaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMjc2NzIzOTA4NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIENvbm50cmFjayBFeHRlbnNpb24gUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGFmZmVjdGluZyBgbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNgLCBzcGVjaWZpY2FsbHkgYG5mX2N0X2V4dF9hZGRgIGFuZCBgdG90YWxfZXh0ZW5zaW9uX3NpemVgLiBSaWdodCBhd2F5LCBJIHNlZSB0aGlzIGlzIGZ1bmN0aW9uYWwgLSBpdCdzIGZpeGluZyBhIHBvaW50ZXIgaW52YWxpZGF0aW9uIGlzc3VlIHRoYXQgcG9wcyB1cCB3aGVuIGFkZGluZyBleHRlbnNpb25zICphZnRlciogYE5GX0NUX0VYVF9IRUxQRVJgLiBBIGNsYXNzaWMgcmVhbGxvY2F0aW9uIGlzc3VlLCBsZWFkaW5nIHRvIHN0YWxlIHBvaW50ZXJzLiBEZWZpbml0ZWx5IHdvcnRoIGZ1enppbmcsIGdpdmVuIHRoZSBwb3RlbnRpYWwgc2VjdXJpdHkgaW1wbGljYXRpb25zLlxuXG5Ob3csIGxldCdzIG5haWwgZG93biB0aGUgY3JpdGljYWwgcG9pbnRzLiBgdG90YWxfZXh0ZW5zaW9uX3NpemVgIGlzIG91dCBiZWNhdXNlIGl0J3Mgc3RhdGljIGlubGluZSAtIG5vdCBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQgZm9yIGZvY3VzLiBgbmZfY3RfZXh0X2FkZGAgaXRzZWxmIGlzIHRoZSBtYWluIGN1bHByaXQsIGdpdmVuIGl0J3MgZXhwb3J0ZWQgYW5kIGNhbGxlZCBmcm9tIHZhcmlvdXMgcGFydHMgb2YgdGhlIGNvbm50cmFjayBzeXN0ZW0uIFF1ZXN0aW9uIGlzLCBob3cgaG90IGlzIGBuZl9jdF9leHRfYWRkYD8gSXQncyBpbnZvbHZlZCB3aGVuZXZlciBleHRlbnNpb25zIGFyZSBhZGRlZCB0byBhIGNvbm50cmFjayBlbnRyeSwgd2hpY2ggbWVhbnMgd2hlbiBhIG5ldyBjb25uZWN0aW9uIGlzIHRyYWNrZWQgdGhhdCBuZWVkcyB0aG9zZSBleHRlbnNpb25zOiBoZWxwZXIsIE5BVCwgYWNjb3VudGFuY3ksIHlvdSBuYW1lIGl0LiBJdCdzIG5vdCAqc3VwZXIqIGhvdC1wYXRoLCBidXQgaXQncyB3aGVyZSB0aGUgKm1vZGlmaWNhdGlvbiogaXMgaGFwcGVuaW5nLlxuXG5XZSd2ZSBnb3QgdGhlIGltbWVkaWF0ZSBsaXN0IG9mIGNhbGxlcnMgdG8gYG5mX2N0X2V4dF9hZGRgOiBgbmZfY3RfaGVscGVyX2V4dF9hZGRgICh1c2luZyBgTkZfQ1RfRVhUX0hFTFBFUmApLCBgbmZfY3RfbmF0X2V4dF9hZGRgICh1c2luZyBgTkZfQ1RfRVhUX05BVGApLCBhbmQgc28gb24uXG5cblRoZSBidWcgaXMgYWJvdXQgZXh0ZW5zaW9ucyAqYWZ0ZXIqIGBORl9DVF9FWFRfSEVMUEVSYCwgc28gYG5mX2N0X2hlbHBlcl9leHRfYWRkYCBpcyBhIHByaW1lIHRhcmdldCBmb3IgZnV6emluZywgYWxvbmcgd2l0aCBgbmZfY3RfZXh0X2FkZGAgaXRzZWxmLiBXZSdyZSBsb29raW5nIGZvciB3aGVyZSB0aGlzIGNhbiBmYWlsLlxuXG5UaW1lIHRvIGxvb2sgYXQgdGhlIGNvbmZpZyBvcHRpb25zLiBUaGUgcGF0Y2ggaW5jbHVkZXMgY29uZGl0aW9uYWxzIGJhc2VkIG9uIGBDT05GSUdfTkZfTkFUYCwgYENPTkZJR19ORl9DT05OVFJBQ0tfRVZFTlRTYCwgZXRjLiBJdCdzIGEgbGlzdC4gQmVjYXVzZSB0aGlzIGlzIGFib3V0IHRoaW5ncyBhZnRlciBgSEVMUEVSYCwgd2UgbmVlZCBgQ09ORklHX05GX0NPTk5UUkFDS2AgYW5kIHNldmVyYWwgZXh0ZW5zaW9ucyB0byB0cmlnZ2VyIHRoZSBpc3N1ZSwgc286XG5cbiogICBgQ09ORklHX05GX0NPTk5UUkFDS19FVkVOVFNgXG4qICAgYENPTkZJR19ORl9DT05OVFJBQ0tfVElNRVNUQU1QYFxuKiAgIGBDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVPVVRgXG4qICAgYENPTkZJR19ORl9DT05OVFJBQ0tfTEFCRUxTYFxuKiAgIGBDT05GSUdfTkZfTkFUYFxuKiAgIGBDT05GSUdfTkVURklMVEVSX1NZTlBST1hZYFxuKiAgIGBDT05GSUdfTkVUX0FDVF9DVGBcblxuSSBuZWVkIHRvIGNvbmZpcm0gYE5GX0NPTk5UUkFDS2AgaXMgdGhlIGJhc2UsIGFuZCBpdCBpcy4gQW5kIG5vIG90aGVyIHNwZWNpYWwgY29uZmlnIG5lZWRlZC5cblxuSSdsbCBjaGVjayBgbmZfY3RfaGVscGVyX2V4dF9hZGRgIGluIGBuZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuY2AgdG8gbG9vayBhdCBpdHMgaW50ZXJhY3Rpb25zLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1NTI4LCJPdXRwdXRUb2tlbnMiOjIzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTEzNywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQyMTo0OToxOS43NzY1MzQ4ODRaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjAzNDA2MDc0MiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJuZl9jdF9oZWxwZXJfZXh0X2FkZFwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJpbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5oPTExND12b2lkIG5mX2Nvbm50cmFja19oZWxwZXJzX3VucmVnaXN0ZXIoc3RydWN0IG5mX2Nvbm50cmFja19oZWxwZXIgKiosXFxuLS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5oLTEyMC1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5oOjEyMTpzdHJ1Y3QgbmZfY29ubl9oZWxwICpuZl9jdF9oZWxwZXJfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGdmcF90IGdmcCk7XFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuaC0xMjItXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19jb3JlLmM9MTc1ND1pbml0X2Nvbm50cmFjayhzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBuZl9jb25uICp0bXBsLFxcbi0tXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfY29yZS5jLTE4MTktXFx0XFx0XFx0aWYgKGFzc2lnbl9oZWxwZXIpIHtcXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19jb3JlLmM6MTgyMDpcXHRcXHRcXHRcXHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIEdGUF9BVE9NSUMpO1xcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2NvcmUuYy0xODIxLVxcdFxcdFxcdFxcdGlmIChoZWxwIFxcdTAwMjZcXHUwMDI2IHJlZmNvdW50X2luY19ub3RfemVybyhcXHUwMDI2YXNzaWduX2hlbHBlci1cXHUwMDNlY3RfcmVmY250KSlcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jPTE3OD1zdHJ1Y3QgbmZfY29ubl9oZWxwICpcXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYzoxNzk6bmZfY3RfaGVscGVyX2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0LCBnZnBfdCBnZnApXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMtMTgwLXtcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jLTE4OS19XFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmM6MTkwOkVYUE9SVF9TWU1CT0xfR1BMKG5mX2N0X2hlbHBlcl9leHRfYWRkKTtcXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYy0xOTEtXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmM9MTkyPWludCBfX25mX2N0X3RyeV9hc3NpZ25faGVscGVyKHN0cnVjdCBuZl9jb25uICpjdCwgc3RydWN0IG5mX2Nvbm4gKnRtcGwsXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYy0yMjItXFx0aWYgKGhlbHAgPT0gTlVMTCkge1xcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jOjIyMzpcXHRcXHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIGZsYWdzKTtcXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYy0yMjQtXFx0XFx0aWYgKGhlbHAgPT0gTlVMTClcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYz0yMjIyPWN0bmV0bGlua19jcmVhdGVfY29ubnRyYWNrKHN0cnVjdCBuZXQgKm5ldCxcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYy0yMjc1LVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYzoyMjc2OlxcdFxcdFxcdGhlbHAgPSBuZl9jdF9oZWxwZXJfZXh0X2FkZChjdCwgR0ZQX0FUT01JQyk7XFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbmV0bGluay5jLTIyNzctXFx0XFx0XFx0aWYgKGhlbHAgPT0gTlVMTCkge1xcbi0tXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfb3ZzLmM9ODU9aW50IG5mX2N0X2FkZF9oZWxwZXIoc3RydWN0IG5mX2Nvbm4gKmN0LCBjb25zdCBjaGFyICpuYW1lLCB1OCBmYW1pbHksXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19vdnMuYy05NS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19vdnMuYzo5NjpcXHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIEdGUF9LRVJORUwpO1xcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX292cy5jLTk3LVxcdGlmICghaGVscCkge1xcbi0tXFxubmV0L25ldGZpbHRlci9uZnRfY3QuYz0xMTEyPXN0YXRpYyB2b2lkIG5mdF9jdF9oZWxwZXJfb2JqX2V2YWwoc3RydWN0IG5mdF9vYmplY3QgKm9iaixcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZ0X2N0LmMtMTE0NC1cXG5uZXQvbmV0ZmlsdGVyL25mdF9jdC5jOjExNDU6XFx0aGVscCA9IG5mX2N0X2hlbHBlcl9leHRfYWRkKGN0LCBHRlBfQVRPTUlDKTtcXG5uZXQvbmV0ZmlsdGVyL25mdF9jdC5jLTExNDYtXFx0aWYgKGhlbHAgXFx1MDAyNlxcdTAwMjYgcmVmY291bnRfaW5jX25vdF96ZXJvKFxcdTAwMjZ0b19hc3NpZ24tXFx1MDAzZWN0X3JlZmNudCkpIHtcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZ0X2N0LmM9MTMwMD1zdGF0aWMgdm9pZCBuZnRfY3RfZXhwZWN0X29ial9ldmFsKHN0cnVjdCBuZnRfb2JqZWN0ICpvYmosXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mdF9jdC5jLTEzMjAtXFx0aWYgKCFoZWxwKVxcbm5ldC9uZXRmaWx0ZXIvbmZ0X2N0LmM6MTMyMTpcXHRcXHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIEdGUF9BVE9NSUMpO1xcbm5ldC9uZXRmaWx0ZXIvbmZ0X2N0LmMtMTMyMi1cXHRpZiAoIWhlbHApIHtcXG4tLVxcbm5ldC9uZXRmaWx0ZXIveHRfQ1QuYz03ND14dF9jdF9zZXRfaGVscGVyKHN0cnVjdCBuZl9jb25uICpjdCwgY29uc3QgY2hhciAqaGVscGVyX25hbWUsXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL3h0X0NULmMtOTMtXFxubmV0L25ldGZpbHRlci94dF9DVC5jOjk0OlxcdGhlbHAgPSBuZl9jdF9oZWxwZXJfZXh0X2FkZChjdCwgR0ZQX0tFUk5FTCk7XFxubmV0L25ldGZpbHRlci94dF9DVC5jLTk1LVxcdGlmIChoZWxwID09IE5VTEwpIHtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMjE6NDk6MjEuODEwNjAxMDA1WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTMxNTI2ODUzMzksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQW5hbHlzaXMgb2YgdGhlIENvbm50cmFjayBFeHRlbnNpb24gUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpbW1lZGlhdGVseSwgbXkgbWluZCBob25lcyBpbiBvbiB0aGUga2V5IGZ1bmN0aW9uIHN5bWJvbHM6IGBuZl9jdF9leHRfYWRkYCwgYG5mX2N0X2hlbHBlcl9leHRfYWRkYCwgYF9fbmZfY3RfdHJ5X2Fzc2lnbl9oZWxwZXJgLCBgaW5pdF9jb25udHJhY2tgLCBhbmQgYGN0bmV0bGlua19jcmVhdGVfY29ubnRyYWNrYC4gSSdsbCBmb2N1cyBlc3BlY2lhbGx5IG9uIGBuZl9jdF9leHRfYWRkYCBhbmQgYG5mX2N0X2hlbHBlcl9leHRfYWRkYCwgYXMgdGhleSBzZWVtIGNlbnRyYWwgdG8gdGhpcyBjaGFuZ2UuXG5cbkxldCdzIGRpc3NlY3QgdGhlIHJlYXNvbmluZyBiZWhpbmQgdGhlIGNoYW5nZXMuIFRoZSBjb3JlIGlzc3VlIGFwcGVhcnMgdG8gYmUgYXJvdW5kIG1lbW9yeSBhbGxvY2F0aW9uIGZvciBjb25udHJhY2sgZXh0ZW5zaW9ucy4gVGhlIHBhdGNoIGlzIHRyeWluZyB0byBvcHRpbWl6ZSB0aGUgcHJvY2VzcyBhbmQgYXZvaWQgcmVhbGxvY2F0aW9ucy4gSXQncyBhYm91dCBlbnN1cmluZyB0aGF0IHdoZW4gYSBoZWxwZXIgZXh0ZW5zaW9uIGlzIGFkZGVkLCB0aGUgc3lzdGVtIGFsbG9jYXRlcyBlbm91Z2ggbWVtb3J5ICppbml0aWFsbHkqIHRvIGFjY29tbW9kYXRlICphbGwqIHBvdGVudGlhbCBleHRlbnNpb25zIGRvd24gdGhlIGxpbmUuIFRoaXMgaXMgY3J1Y2lhbCBiZWNhdXNlIHJlYWxsb2NhdGlvbnMgaW4gdGhpcyBhcmVhIGNhbiBsZWFkIHRvIHBvaW50ZXIgaW52YWxpZGF0aW9uLCB3aGljaCB3b3VsZCB3cmVhayBoYXZvYyBvbiB0aGUgaGVscGVyJ3MgZXhwZWN0YXRpb24gbGlzdCBhbmQgdGhlIGludGVncml0eSBvZiB0aGUgY29ubmVjdGlvbiB0cmFja2luZy5cblxuVGhpcyBpcyBhICoqZnVuY3Rpb25hbCBjaGFuZ2UqKiBpbiB0aGUgY29yZSBuZXRmaWx0ZXIgY29ubnRyYWNrIGxvZ2ljLiBJdCdzIGFpbWVkIGF0IHByZXZlbnRpbmcgYSBwb3RlbnRpYWwgY29uY3VycmVuY3kgaXNzdWUgd2l0aCBwb2ludGVyIG1hbmFnZW1lbnQgYnkgbWFraW5nIHRoZSBhbGxvY2F0aW9uIG1vcmUgcmVzaWxpZW50LiBUaGlzIGlzIGRlZmluaXRlbHkgc29tZXRoaW5nIHRoYXQgbmVlZHMgdG8gYmUgZnV6emVkLlxuXG5SZWdhcmRpbmcgY29uZmlndXJhdGlvbiwgSSdsbCBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgcmVsZXZhbnQgb3B0aW9ucyBhcmUgZW5hYmxlZCBpbiBteSBmdXp6aW5nIHNldHVwLiBJJ20gdGhpbmtpbmc6IGBORl9DT05OVFJBQ0tgLCBgTkZfTkFUYCwgYE5GX0NPTk5UUkFDS19FVkVOVFNgLCBgTkZfQ09OTlRSQUNLX1RJTUVTVEFNUGAsIGBORl9DT05OVFJBQ0tfVElNRU9VVGAsIGBORl9DT05OVFJBQ0tfTEFCRUxTYCwgYE5FVEZJTFRFUl9TWU5QUk9YWWAsIGFuZCBgTkVUX0FDVF9DVGAuXG5cbkFscmlnaHQsIEknbGwgc2V0IHRoZSBmdXp6aW5nIHJlc3VsdHMgYWNjb3JkaW5nbHkuIFRoaXMgaXMgYSBzb2xpZCBzdGFydGluZyBwb2ludCBmb3IgZnV6emluZyB0aGlzIHBhdGNoLlxuXG5cbiIsIklucHV0VG9rZW5zIjo4NTYxLCJPdXRwdXRUb2tlbnMiOjE4OSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI0MCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQyMTo0OTozNC45NjMyODg0ODVaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg3MzEwOTc4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJORl9DT05OVFJBQ0tcIixcbiAgICBcIk5GX05BVFwiLFxuICAgIFwiTkZfQ09OTlRSQUNLX0VWRU5UU1wiLFxuICAgIFwiTkZfQ09OTlRSQUNLX1RJTUVTVEFNUFwiLFxuICAgIFwiTkZfQ09OTlRSQUNLX1RJTUVPVVRcIixcbiAgICBcIk5GX0NPTk5UUkFDS19MQUJFTFNcIixcbiAgICBcIk5FVEZJTFRFUl9TWU5QUk9YWVwiLFxuICAgIFwiTkVUX0FDVF9DVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5mX2N0X2V4dF9hZGRcIixcbiAgICBcIm5mX2N0X2hlbHBlcl9leHRfYWRkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIG1lbW9yeSBhbGxvY2F0aW9uIGxvZ2ljIGZvciBjb25udHJhY2sgZXh0ZW5zaW9ucywgc3BlY2lmaWNhbGx5IGVuc3VyaW5nIHRoYXQgd2hlbiB0aGUgaGVscGVyIGV4dGVuc2lvbiBpcyBhZGRlZCwgZW5vdWdoIG1lbW9yeSBpcyBhbGxvY2F0ZWQgZm9yIGFsbCBwb3NzaWJsZSBleHRlbnNpb25zIHRvIHByZXZlbnQgZnV0dXJlIHJlYWxsb2NhdGlvbnMgdGhhdCB3b3VsZCBpbnZhbGlkYXRlIHBvaW50ZXJzIHVzZWQgYnkgdGhlIGhlbHBlciBleHRlbnNpb24ncyBleHBlY3RhdGlvbiBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgbmV0ZmlsdGVyIGNvbm50cmFjayBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJORl9DT05OVFJBQ0tcIixcbiAgICBcIk5GX05BVFwiLFxuICAgIFwiTkZfQ09OTlRSQUNLX0VWRU5UU1wiLFxuICAgIFwiTkZfQ09OTlRSQUNLX1RJTUVTVEFNUFwiLFxuICAgIFwiTkZfQ09OTlRSQUNLX1RJTUVPVVRcIixcbiAgICBcIk5GX0NPTk5UUkFDS19MQUJFTFNcIixcbiAgICBcIk5FVEZJTFRFUl9TWU5QUk9YWVwiLFxuICAgIFwiTkVUX0FDVF9DVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5mX2N0X2V4dF9hZGRcIixcbiAgICBcIm5mX2N0X2hlbHBlcl9leHRfYWRkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIG1lbW9yeSBhbGxvY2F0aW9uIGxvZ2ljIGZvciBjb25udHJhY2sgZXh0ZW5zaW9ucywgc3BlY2lmaWNhbGx5IGVuc3VyaW5nIHRoYXQgd2hlbiB0aGUgaGVscGVyIGV4dGVuc2lvbiBpcyBhZGRlZCwgZW5vdWdoIG1lbW9yeSBpcyBhbGxvY2F0ZWQgZm9yIGFsbCBwb3NzaWJsZSBleHRlbnNpb25zIHRvIHByZXZlbnQgZnV0dXJlIHJlYWxsb2NhdGlvbnMgdGhhdCB3b3VsZCBpbnZhbGlkYXRlIHBvaW50ZXJzIHVzZWQgYnkgdGhlIGhlbHBlciBleHRlbnNpb24ncyBleHBlY3RhdGlvbiBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgbmV0ZmlsdGVyIGNvbm50cmFjayBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+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-workflowhk74f[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-15 21:30:14 +0000 UTC FinishedAt: 2026-07-15 21:49:37 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "nf", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git", "commit_hash": "2c7c88a412aa6d09cd04b414211b4ef8553b5309", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NF_CONNTRACK", "NF_NAT", "NF_CONNTRACK_EVENTS", "NF_CONNTRACK_TIMESTAMP", "NF_CONNTRACK_TIMEOUT", "NF_CONNTRACK_LABELS", "NETFILTER_SYNPROXY", "NET_ACT_CT" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "nf", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git", "commit_hash": "2c7c88a412aa6d09cd04b414211b4ef8553b5309", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NF_CONNTRACK", "NF_NAT", "NF_CONNTRACK_EVENTS", "NF_CONNTRACK_TIMESTAMP", "NF_CONNTRACK_TIMEOUT", "NF_CONNTRACK_LABELS", "NETFILTER_SYNPROXY", "NET_ACT_CT" ], "series_id": "968e8b73-a0ef-47fb-bfff-02de130de019" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "nf_ct_ext_add", "nf_ct_helper_ext_add" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDIxOjQ4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05GX0NPTk5UUkFDSyYjMzQ7LAogICAgJiMzNDtORl9OQVQmIzM0OywKICAgICYjMzQ7TkZfQ09OTlRSQUNLX0VWRU5UUyYjMzQ7LAogICAgJiMzNDtORl9DT05OVFJBQ0tfVElNRVNUQU1QJiMzNDssCiAgICAmIzM0O05GX0NPTk5UUkFDS19USU1FT1VUJiMzNDssCiAgICAmIzM0O05GX0NPTk5UUkFDS19MQUJFTFMmIzM0OywKICAgICYjMzQ7TkVURklMVEVSX1NZTlBST1hZJiMzNDssCiAgICAmIzM0O05FVF9BQ1RfQ1QmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuZl9jdF9leHRfYWRkJiMzNDssCiAgICAmIzM0O25mX2N0X2hlbHBlcl9leHRfYWRkJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBtZW1vcnkgYWxsb2NhdGlvbiBsb2dpYyBmb3IgY29ubnRyYWNrIGV4dGVuc2lvbnMsIHNwZWNpZmljYWxseSBlbnN1cmluZyB0aGF0IHdoZW4gdGhlIGhlbHBlciBleHRlbnNpb24gaXMgYWRkZWQsIGVub3VnaCBtZW1vcnkgaXMgYWxsb2NhdGVkIGZvciBhbGwgcG9zc2libGUgZXh0ZW5zaW9ucyB0byBwcmV2ZW50IGZ1dHVyZSByZWFsbG9jYXRpb25zIHRoYXQgd291bGQgaW52YWxpZGF0ZSBwb2ludGVycyB1c2VkIGJ5IHRoZSBoZWxwZXIgZXh0ZW5zaW9uJiMzOTtzIGV4cGVjdGF0aW9uIGxpc3QuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBuZXRmaWx0ZXIgY29ubnRyYWNrIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDIxOjQ4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgNDUzMTRjYzJhZDhmMmVjNzNlNmY2NWE0Y2FiMjcwMjI4YzNiY2JlYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDE1IDIxOjQ4OjUzIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNcbmluZGV4IDBkYTEwNWUxZGVkOTM5Li5lNWUwNGUwZWM0MGE1ZCAxMDA2NDRcbi0tLSBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuY1xuQEAgLTU0LDM1ICYjNDM7NTQsMzggQEAgc3RhdGljIGNvbnN0IHU4IG5mX2N0X2V4dF90eXBlX2xlbltORl9DVF9FWFRfTlVNXSA9IHtcbiAjZW5kaWZcbiB9O1xuIFxuJiM0MzsjZGVmaW5lIE5GX0NUX0VYVF9UWVBFX1NJWkUodHlwZSkgXFxcbiYjNDM7XHRBTElHTihzaXplb2YodHlwZSksIF9fYWxpZ25vZl9fKHN0cnVjdCBuZl9jdF9leHQpKVxuJiM0MztcbiBzdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludCB0b3RhbF9leHRlbnNpb25fc2l6ZSh2b2lkKVxuIHtcbiBcdC8qIHJlbWVtYmVyIHRvIGFkZCBuZXcgZXh0ZW5zaW9ucyBiZWxvdyAqL1xuIFx0QlVJTERfQlVHX09OKE5GX0NUX0VYVF9OVU0gXHUwMDNlIDEwKTtcbiBcbiBcdHJldHVybiBzaXplb2Yoc3RydWN0IG5mX2N0X2V4dCkgJiM0Mztcbi1cdCAgICAgICBzaXplb2Yoc3RydWN0IG5mX2Nvbm5faGVscClcbiYjNDM7XHQgICAgICAgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9oZWxwKVxuICNpZiBJU19FTkFCTEVEKENPTkZJR19ORl9OQVQpXG4tXHRcdCYjNDM7IHNpemVvZihzdHJ1Y3QgbmZfY29ubl9uYXQpXG4mIzQzO1x0XHQmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX25hdClcbiAjZW5kaWZcbi1cdFx0JiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3NlcWFkailcbi1cdFx0JiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2FjY3QpXG4mIzQzO1x0XHQmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX3NlcWFkailcbiYjNDM7XHRcdCYjNDM7IE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fYWNjdClcbiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19FVkVOVFNcbi1cdFx0JiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25udHJhY2tfZWNhY2hlKVxuJiM0MztcdFx0JiM0MzsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubnRyYWNrX2VjYWNoZSlcbiAjZW5kaWZcbiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19USU1FU1RBTVBcbi1cdFx0JiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3RzdGFtcClcbiYjNDM7XHRcdCYjNDM7IE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fdHN0YW1wKVxuICNlbmRpZlxuICNpZmRlZiBDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVPVVRcbi1cdFx0JiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3RpbWVvdXQpXG4mIzQzO1x0XHQmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX3RpbWVvdXQpXG4gI2VuZGlmXG4gI2lmZGVmIENPTkZJR19ORl9DT05OVFJBQ0tfTEFCRUxTXG4tXHRcdCYjNDM7IHNpemVvZihzdHJ1Y3QgbmZfY29ubl9sYWJlbHMpXG4mIzQzO1x0XHQmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX2xhYmVscylcbiAjZW5kaWZcbiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkVURklMVEVSX1NZTlBST1hZKVxuLVx0XHQmIzQzOyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fc3lucHJveHkpXG4mIzQzO1x0XHQmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX3N5bnByb3h5KVxuICNlbmRpZlxuICNpZiBJU19FTkFCTEVEKENPTkZJR19ORVRfQUNUX0NUKVxuLVx0XHQmIzQzOyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fYWN0X2N0X2V4dClcbiYjNDM7XHRcdCYjNDM7IE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fYWN0X2N0X2V4dClcbiAjZW5kaWZcbiBcdDtcbiB9XG5AQCAtMTEyLDYgJiM0MzsxMTUsMTQgQEAgdm9pZCAqbmZfY3RfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGVudW0gbmZfY3RfZXh0X2lkIGlkLCBnZnBfdCBnZnApXG4gXHRuZXdsZW4gPSBuZXdvZmYgJiM0MzsgbmZfY3RfZXh0X3R5cGVfbGVuW2lkXTtcbiBcbiBcdGFsbG9jID0gbWF4KG5ld2xlbiwgTkZfQ1RfRVhUX1BSRUFMTE9DKTtcbiYjNDM7XHQvKlxuJiM0MztcdCAqIG5mX2Nvbm5faGVscCBjb250YWlucyB0aGUgZXhwZWN0YXRpb24gbGlzdCBoZWFkLiAgT25jZSBhblxuJiM0MztcdCAqIGV4cGVjdGF0aW9uIGlzIGxpbmtlZCwgaXRzIGxub2RlLnBwcmV2IHBvaW50cyBpbnRvIHRoaXMgYWxsb2NhdGlvbixcbiYjNDM7XHQgKiBzbyBsYXRlciBleHRlbnNpb24gYWRkaXRpb25zIG11c3Qgbm90IGJlIGFsbG93ZWQgdG8gcmVsb2NhdGUgaXQuXG4mIzQzO1x0ICovXG4mIzQzO1x0aWYgKGlkID09IE5GX0NUX0VYVF9IRUxQRVIpXG4mIzQzO1x0XHRhbGxvYyA9IG1heChhbGxvYywgdG90YWxfZXh0ZW5zaW9uX3NpemUoKSk7XG4mIzQzO1xuIFx0bmV3ID0ga3JlYWxsb2MoY3QtXHUwMDNlZXh0LCBhbGxvYywgZ2ZwKTtcbiBcdGlmICghbmV3KVxuIFx0XHRyZXR1cm4gTlVMTDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAyMTo0ODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtORl9DT05OVFJBQ0smIzM0OywKICAgICYjMzQ7TkZfTkFUJiMzNDssCiAgICAmIzM0O05GX0NPTk5UUkFDS19FVkVOVFMmIzM0OywKICAgICYjMzQ7TkZfQ09OTlRSQUNLX1RJTUVTVEFNUCYjMzQ7LAogICAgJiMzNDtORl9DT05OVFJBQ0tfVElNRU9VVCYjMzQ7LAogICAgJiMzNDtORl9DT05OVFJBQ0tfTEFCRUxTJiMzNDssCiAgICAmIzM0O05FVEZJTFRFUl9TWU5QUk9YWSYjMzQ7LAogICAgJiMzNDtORVRfQUNUX0NUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmZfY3RfZXh0X2FkZCYjMzQ7LAogICAgJiMzNDtuZl9jdF9oZWxwZXJfZXh0X2FkZCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgbWVtb3J5IGFsbG9jYXRpb24gbG9naWMgZm9yIGNvbm50cmFjayBleHRlbnNpb25zLCBzcGVjaWZpY2FsbHkgZW5zdXJpbmcgdGhhdCB3aGVuIHRoZSBoZWxwZXIgZXh0ZW5zaW9uIGlzIGFkZGVkLCBlbm91Z2ggbWVtb3J5IGlzIGFsbG9jYXRlZCBmb3IgYWxsIHBvc3NpYmxlIGV4dGVuc2lvbnMgdG8gcHJldmVudCBmdXR1cmUgcmVhbGxvY2F0aW9ucyB0aGF0IHdvdWxkIGludmFsaWRhdGUgcG9pbnRlcnMgdXNlZCBieSB0aGUgaGVscGVyIGV4dGVuc2lvbiYjMzk7cyBleHBlY3RhdGlvbiBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgbmV0ZmlsdGVyIGNvbm50cmFjayBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNDUzMTRjYzJhZDhmMmVjNzNlNmY2NWE0Y2FiMjcwMjI4YzNiY2JlYgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgSnVsIDE1IDIxOjQ4OjUzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmMgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuYwppbmRleCAwZGExMDVlMWRlZDkzOS4uZTVlMDRlMGVjNDBhNWQgMTAwNjQ0Ci0tLSBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jCiYjNDM7JiM0MzsmIzQzOyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jCkBAIC01NCwzNSAmIzQzOzU0LDM4IEBAIHN0YXRpYyBjb25zdCB1OCBuZl9jdF9leHRfdHlwZV9sZW5bTkZfQ1RfRVhUX05VTV0gPSB7CiAjZW5kaWYKIH07CiAKJiM0MzsjZGVmaW5lIE5GX0NUX0VYVF9UWVBFX1NJWkUodHlwZSkgXAomIzQzOwlBTElHTihzaXplb2YodHlwZSksIF9fYWxpZ25vZl9fKHN0cnVjdCBuZl9jdF9leHQpKQomIzQzOwogc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQgdG90YWxfZXh0ZW5zaW9uX3NpemUodm9pZCkKIHsKIAkvKiByZW1lbWJlciB0byBhZGQgbmV3IGV4dGVuc2lvbnMgYmVsb3cgKi8KIAlCVUlMRF9CVUdfT04oTkZfQ1RfRVhUX05VTSAmZ3Q7IDEwKTsKIAogCXJldHVybiBzaXplb2Yoc3RydWN0IG5mX2N0X2V4dCkgJiM0MzsKLQkgICAgICAgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2hlbHApCiYjNDM7CSAgICAgICBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX2hlbHApCiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkZfTkFUKQotCQkmIzQzOyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fbmF0KQomIzQzOwkJJiM0MzsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9uYXQpCiAjZW5kaWYKLQkJJiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3NlcWFkaikKLQkJJiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2FjY3QpCiYjNDM7CQkmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX3NlcWFkaikKJiM0MzsJCSYjNDM7IE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fYWNjdCkKICNpZmRlZiBDT05GSUdfTkZfQ09OTlRSQUNLX0VWRU5UUwotCQkmIzQzOyBzaXplb2Yoc3RydWN0IG5mX2Nvbm50cmFja19lY2FjaGUpCiYjNDM7CQkmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25udHJhY2tfZWNhY2hlKQogI2VuZGlmCiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19USU1FU1RBTVAKLQkJJiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3RzdGFtcCkKJiM0MzsJCSYjNDM7IE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fdHN0YW1wKQogI2VuZGlmCiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19USU1FT1VUCi0JCSYjNDM7IHNpemVvZihzdHJ1Y3QgbmZfY29ubl90aW1lb3V0KQomIzQzOwkJJiM0MzsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl90aW1lb3V0KQogI2VuZGlmCiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19MQUJFTFMKLQkJJiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2xhYmVscykKJiM0MzsJCSYjNDM7IE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fbGFiZWxzKQogI2VuZGlmCiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkVURklMVEVSX1NZTlBST1hZKQotCQkmIzQzOyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fc3lucHJveHkpCiYjNDM7CQkmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX3N5bnByb3h5KQogI2VuZGlmCiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkVUX0FDVF9DVCkKLQkJJiM0Mzsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2FjdF9jdF9leHQpCiYjNDM7CQkmIzQzOyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX2FjdF9jdF9leHQpCiAjZW5kaWYKIAk7CiB9CkBAIC0xMTIsNiAmIzQzOzExNSwxNCBAQCB2b2lkICpuZl9jdF9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZW51bSBuZl9jdF9leHRfaWQgaWQsIGdmcF90IGdmcCkKIAluZXdsZW4gPSBuZXdvZmYgJiM0MzsgbmZfY3RfZXh0X3R5cGVfbGVuW2lkXTsKIAogCWFsbG9jID0gbWF4KG5ld2xlbiwgTkZfQ1RfRVhUX1BSRUFMTE9DKTsKJiM0MzsJLyoKJiM0MzsJICogbmZfY29ubl9oZWxwIGNvbnRhaW5zIHRoZSBleHBlY3RhdGlvbiBsaXN0IGhlYWQuICBPbmNlIGFuCiYjNDM7CSAqIGV4cGVjdGF0aW9uIGlzIGxpbmtlZCwgaXRzIGxub2RlLnBwcmV2IHBvaW50cyBpbnRvIHRoaXMgYWxsb2NhdGlvbiwKJiM0MzsJICogc28gbGF0ZXIgZXh0ZW5zaW9uIGFkZGl0aW9ucyBtdXN0IG5vdCBiZSBhbGxvd2VkIHRvIHJlbG9jYXRlIGl0LgomIzQzOwkgKi8KJiM0MzsJaWYgKGlkID09IE5GX0NUX0VYVF9IRUxQRVIpCiYjNDM7CQlhbGxvYyA9IG1heChhbGxvYywgdG90YWxfZXh0ZW5zaW9uX3NpemUoKSk7CiYjNDM7CiAJbmV3ID0ga3JlYWxsb2MoY3QtJmd0O2V4dCwgYWxsb2MsIGdmcCk7CiAJaWYgKCFuZXcpCiAJCXJldHVybiBOVUxMOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAyMTo0ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNTcwCgkJCQkJCQlvdXRwdXQ6IDIxCgkJCQkJCQl0aG91Z2h0czogNDIyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgQ29ubnRyYWNrIEV4dGVuc2lvbiBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYG5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jYC4gSXQgc2VlbXMgdG8gYmUgYWRkcmVzc2luZyBhIHBvdGVudGlhbCBtZW1vcnkgY29ycnVwdGlvbiBpc3N1ZS4gRXNzZW50aWFsbHksIHRoZSBwYXRjaCBpcyB0d2Vha2luZyBob3cgd2UgbWFuYWdlIGV4dGVuc2lvbiBzaXplcyB3aXRoaW4gY29ubnRyYWNrIGVudHJpZXMuIFRoZSBjb3JlIG9mIHRoZSBjaGFuZ2UgcmV2b2x2ZXMgYXJvdW5kIGFsaWduaW5nIHRoZSBjYWxjdWxhdGVkIGB0b3RhbF9leHRlbnNpb25fc2l6ZWAgdXNpbmcgYE5GX0NUX0VYVF9UWVBFX1NJWkVgLCB3aGljaCBub3cgYWxpZ25zIHRoZSBzaXplcyB0byBgX19hbGlnbm9mX18oc3RydWN0IG5mX2N0X2V4dClgLgoKVGhlIGNydWNpYWwgbW9kaWZpY2F0aW9uIGFwcGVhcnMgdG8gYmUgaW4gYG5mX2N0X2V4dF9hZGRgLiBTcGVjaWZpY2FsbHksIHRoZSBjb2RlIG5vdyAqcHJlLWFsbG9jYXRlcyogdGhlIGNvcnJlY3QgYHRvdGFsX2V4dGVuc2lvbl9zaXplKClgIHdoZW4gdGhlIGBpZGAgaXMgYE5GX0NUX0VYVF9IRUxQRVJgLiBUaGlzIGlzIGtleSBiZWNhdXNlIHRoZSBoZWxwZXIgZXh0ZW5zaW9uIGNvbnRhaW5zIGFuIGV4cGVjdGF0aW9uIGxpc3QgaGVhZCwgYW5kIGl0cyBgbG5vZGUucHByZXZgIHBvaW50ZXIgbmVlZHMgdG8gcmVtYWluIHZhbGlkLiBQcmV2aW91c2x5LCBpZiB3ZSBhZGRlZCBvdGhlciBleHRlbnNpb25zICphZnRlciogdGhlIGhlbHBlciwgYSByZWFsbG9jYXRpb24gY291bGQgb2NjdXIsIGludmFsaWRhdGluZyB0aGF0IHBvaW50ZXIsIHdoaWNoIGlzIGJhZCBuZXdzLgoKU28sIHRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgYmVoYXZpb3Igb2YgYG5mX2N0X2V4dF9hZGRgIGFuZCBob3cgYHRvdGFsX2V4dGVuc2lvbl9zaXplYCBpcyBjYWxjdWxhdGVkLiBJdCYjMzk7cyBlc3NlbnRpYWxseSBhIGZ1bmN0aW9uYWwgY2hhbmdlIHRoYXQgZml4ZXMgdGhpcyBzcGVjaWZpYyBwb2ludGVyIGludmFsaWRhdGlvbiBidWcuCgpMZXQmIzM5O3MgZHJpbGwgZG93biBhbmQgY2hlY2sgdGhlIHNwZWNpZmljIGZ1bmN0aW9uczogYG5mX2N0X2V4dF9hZGRgIGFuZCBgdG90YWxfZXh0ZW5zaW9uX3NpemVgIGluIHRoZSBgbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNgIGZpbGUuIEkgc2VlIHRoZSBtYWluIGNvbmZpZ3MgaW52b2x2ZWQgYXJlIHRoZSB1c3VhbCBzdXNwZWN0czogYENPTkZJR19ORl9DT05OVFJBQ0tgLCBgQ09ORklHX05GX0NPTk5UUkFDS19FVkVOVFNgLCBgQ09ORklHX05GX0NPTk5UUkFDS19USU1FU1RBTVBgLCBgQ09ORklHX05GX0NPTk5UUkFDS19USU1FT1VUYCwgYENPTkZJR19ORl9DT05OVFJBQ0tfTEFCRUxTYCwgYENPTkZJR19ORl9OQVRgLCBgQ09ORklHX05FVEZJTFRFUl9TWU5QUk9YWWAsIGFuZCBgQ09ORklHX05FVF9BQ1RfQ1RgLgoKTm93LCB0aGUgYG5mX2N0X2V4dF9hZGRgIGZ1bmN0aW9uIGl0c2VsZiBpcyB0aGUgb25lIGJlaW5nIG1vZGlmaWVkLCBhbmQgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIGV4YWN0IGRlcGVuZGVuY2llcyBvZiB0aGlzIGZ1bmN0aW9uLCBlc3BlY2lhbGx5IHdpdGggcmVzcGVjdCB0byBgTkZfQ1RfRVhUX0hFTFBFUmAuIEl0JiMzOTtzIHVzZWQgd2hlbiBhZGRpbmcgYSBoZWxwZXIgZXh0ZW5zaW9uLCB3aGljaCBpcyBjZXJ0YWlubHkgcmVsYXRlZCB0byBgQ09ORklHX05GX0NPTk5UUkFDS2AuCgpUbyBiZSB0aG9yb3VnaCwgbGV0JiMzOTtzIHVzZSB0aGUgZ3JlcHBlciB0byBjb25maXJtIHdoZXJlIGBuZl9jdF9leHRfYWRkYCBpcyB1c2VkIGluIHRoZSBjb2RlYmFzZSB0byBhc3Nlc3MgdGhlIGltcGFjdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAyMTo0OTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtuZl9jdF9leHRfYWRkJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfYWNjdC5oPTMwPXN0cnVjdCBuZl9jb25uX2FjY3QgKm5mX2N0X2FjY3RfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGdmcF90IGdmcClcbi0tXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2FjY3QuaC0zOC1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfYWNjdC5oOjM5Olx0YWNjdCA9IG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9BQ0NULCBnZnApO1xuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19hY2N0LmgtNDAtXHRpZiAoIWFjY3QpXG4tLVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19hY3RfY3QuaD0zNj1uZl9jb25uX2FjdF9jdF9leHQgKm5mX2Nvbm5fYWN0X2N0X2V4dF9hZGQoc3RydWN0IHNrX2J1ZmYgKnNrYixcbi0tXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2FjdF9jdC5oLTQ1LVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19hY3RfY3QuaDo0NjpcdGFjdF9jdCA9IG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9BQ1RfQ1QsIEdGUF9BVE9NSUMpO1xuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19hY3RfY3QuaC00Ny1cdG5mX2Nvbm5fYWN0X2N0X2V4dF9maWxsKHNrYiwgY3QsIGN0aW5mbyk7XG4tLVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuaD01ND1zdGF0aWMgaW5saW5lIHZvaWQgKm5mX2N0X2V4dF9maW5kKGNvbnN0IHN0cnVjdCBuZl9jb25uICpjdCwgdTggaWQpXG4tLVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuaC02NC0vKiBBZGQgdGhpcyB0eXBlLCByZXR1cm5zIHBvaW50ZXIgdG8gZGF0YSBvciBOVUxMLiAqL1xuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuaDo2NTp2b2lkICpuZl9jdF9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZW51bSBuZl9jdF9leHRfaWQgaWQsIGdmcF90IGdmcCk7XG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5oLTY2LVxuLS1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbGFiZWxzLmg9Mzc9c3RhdGljIGlubGluZSBzdHJ1Y3QgbmZfY29ubl9sYWJlbHMgKm5mX2N0X2xhYmVsc19leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdClcbi0tXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2xhYmVscy5oLTQ0LVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19sYWJlbHMuaDo0NTpcdHJldHVybiBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfTEFCRUxTLCBHRlBfQVRPTUlDKTtcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbGFiZWxzLmgtNDYtI2Vsc2Vcbi0tXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3NlcWFkai5oPTI5PXN0YXRpYyBpbmxpbmUgc3RydWN0IG5mX2Nvbm5fc2VxYWRqICpuZmN0X3NlcWFkal9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdClcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2VxYWRqLmgtMzAte1xuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19zZXFhZGouaDozMTpcdHJldHVybiBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfU0VRQURKLCBHRlBfQVRPTUlDKTtcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2VxYWRqLmgtMzItfVxuLS1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc3lucHJveHkuaD0yMz1zdGF0aWMgaW5saW5lIHN0cnVjdCBuZl9jb25uX3N5bnByb3h5ICpuZmN0X3N5bnByb3h5X2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0KVxuLS1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc3lucHJveHkuaC0yNS0jaWYgSVNfRU5BQkxFRChDT05GSUdfTkVURklMVEVSX1NZTlBST1hZKVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19zeW5wcm94eS5oOjI2Olx0cmV0dXJuIG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9TWU5QUk9YWSwgR0ZQX0FUT01JQyk7XG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3N5bnByb3h5LmgtMjctI2Vsc2Vcbi0tXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RpbWVvdXQuaD02OT1zdHJ1Y3QgbmZfY29ubl90aW1lb3V0ICpuZl9jdF90aW1lb3V0X2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0LFxuLS1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfdGltZW91dC5oLTc4LVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lb3V0Lmg6Nzk6XHR0aW1lb3V0X2V4dCA9IG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9USU1FT1VULCBnZnApO1xuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lb3V0LmgtODAtXHRpZiAoIXRpbWVvdXRfZXh0IHx8IHRpbWVvdXRfZXh0LVx1MDAzZXRpbWVvdXQpXG4tLVxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lc3RhbXAuaD0yNz1zdHJ1Y3QgbmZfY29ubl90c3RhbXAgKm5mX2N0X3RzdGFtcF9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZ2ZwX3QgZ2ZwKVxuLS1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfdGltZXN0YW1wLmgtMzQtXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RpbWVzdGFtcC5oOjM1Olx0cmV0dXJuIG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9UU1RBTVAsIGdmcCk7XG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RpbWVzdGFtcC5oLTM2LSNlbHNlXG4tLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZWNhY2hlLmM9MzI0PWJvb2wgbmZfY3RfZWNhY2hlX2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0LCB1MTYgY3RtYXNrLCB1MTYgZXhwbWFzaywgZ2ZwX3QgZ2ZwKVxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2VjYWNoZS5jLTM1MC1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2VjYWNoZS5jOjM1MTpcdGUgPSBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfRUNBQ0hFLCBnZnApO1xubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZWNhY2hlLmMtMzUyLVx0aWYgKGUpIHtcbi0tXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuYz02MD1zdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludCB0b3RhbF9leHRlbnNpb25fc2l6ZSh2b2lkKVxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jLTkyLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmM6OTM6dm9pZCAqbmZfY3RfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGVudW0gbmZfY3RfZXh0X2lkIGlkLCBnZnBfdCBnZnApXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuYy05NC17XG4tLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmMtMTM5LX1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jOjE0MDpFWFBPUlRfU1lNQk9MKG5mX2N0X2V4dF9hZGQpO1xuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jPTE3OT1uZl9jdF9oZWxwZXJfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGdmcF90IGdmcClcbi0tXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYy0xODItXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYzoxODM6XHRoZWxwID0gbmZfY3RfZXh0X2FkZChjdCwgTkZfQ1RfRVhUX0hFTFBFUiwgZ2ZwKTtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jLTE4NC1cdGlmIChoZWxwKSB7XG4tLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfcHB0cC5jPTQzND1jb25udHJhY2tfcHB0cF9oZWxwKHN0cnVjdCBza19idWZmICpza2IsIHVuc2lnbmVkIGludCBwcm90b2ZmLFxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3BwdHAuYy00NTgtXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19wcHRwLmM6NDU5Olx0XHRpZiAoIW5hdCBcdTAwMjZcdTAwMjYgIW5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9OQVQsIEdGUF9BVE9NSUMpKVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfcHB0cC5jLTQ2MC1cdFx0XHRyZXR1cm4gTkZfRFJPUDtcbi0tXG5uZXQvbmV0ZmlsdGVyL25mX25hdF9jb3JlLmM9NzUxPXN0cnVjdCBuZl9jb25uX25hdCAqbmZfY3RfbmF0X2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0KVxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfbmF0X2NvcmUuYy03NTctXHRpZiAoIW5mX2N0X2lzX2NvbmZpcm1lZChjdCkpXG5uZXQvbmV0ZmlsdGVyL25mX25hdF9jb3JlLmM6NzU4Olx0XHRuYXQgPSBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfTkFULCBHRlBfQVRPTUlDKTtcbm5ldC9uZXRmaWx0ZXIvbmZfbmF0X2NvcmUuYy03NTktXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMjE6NDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTUyOAoJCQkJCQkJb3V0cHV0OiAyMwoJCQkJCQkJdGhvdWdodHM6IDExMzcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBDb25udHJhY2sgRXh0ZW5zaW9uIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCB0aGlzIHBhdGNoIGFmZmVjdGluZyBgbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNgLCBzcGVjaWZpY2FsbHkgYG5mX2N0X2V4dF9hZGRgIGFuZCBgdG90YWxfZXh0ZW5zaW9uX3NpemVgLiBSaWdodCBhd2F5LCBJIHNlZSB0aGlzIGlzIGZ1bmN0aW9uYWwgLSBpdCYjMzk7cyBmaXhpbmcgYSBwb2ludGVyIGludmFsaWRhdGlvbiBpc3N1ZSB0aGF0IHBvcHMgdXAgd2hlbiBhZGRpbmcgZXh0ZW5zaW9ucyAqYWZ0ZXIqIGBORl9DVF9FWFRfSEVMUEVSYC4gQSBjbGFzc2ljIHJlYWxsb2NhdGlvbiBpc3N1ZSwgbGVhZGluZyB0byBzdGFsZSBwb2ludGVycy4gRGVmaW5pdGVseSB3b3J0aCBmdXp6aW5nLCBnaXZlbiB0aGUgcG90ZW50aWFsIHNlY3VyaXR5IGltcGxpY2F0aW9ucy4KCk5vdywgbGV0JiMzOTtzIG5haWwgZG93biB0aGUgY3JpdGljYWwgcG9pbnRzLiBgdG90YWxfZXh0ZW5zaW9uX3NpemVgIGlzIG91dCBiZWNhdXNlIGl0JiMzOTtzIHN0YXRpYyBpbmxpbmUgLSBub3QgYSBnb29kIHN0YXJ0aW5nIHBvaW50IGZvciBmb2N1cy4gYG5mX2N0X2V4dF9hZGRgIGl0c2VsZiBpcyB0aGUgbWFpbiBjdWxwcml0LCBnaXZlbiBpdCYjMzk7cyBleHBvcnRlZCBhbmQgY2FsbGVkIGZyb20gdmFyaW91cyBwYXJ0cyBvZiB0aGUgY29ubnRyYWNrIHN5c3RlbS4gUXVlc3Rpb24gaXMsIGhvdyBob3QgaXMgYG5mX2N0X2V4dF9hZGRgPyBJdCYjMzk7cyBpbnZvbHZlZCB3aGVuZXZlciBleHRlbnNpb25zIGFyZSBhZGRlZCB0byBhIGNvbm50cmFjayBlbnRyeSwgd2hpY2ggbWVhbnMgd2hlbiBhIG5ldyBjb25uZWN0aW9uIGlzIHRyYWNrZWQgdGhhdCBuZWVkcyB0aG9zZSBleHRlbnNpb25zOiBoZWxwZXIsIE5BVCwgYWNjb3VudGFuY3ksIHlvdSBuYW1lIGl0LiBJdCYjMzk7cyBub3QgKnN1cGVyKiBob3QtcGF0aCwgYnV0IGl0JiMzOTtzIHdoZXJlIHRoZSAqbW9kaWZpY2F0aW9uKiBpcyBoYXBwZW5pbmcuCgpXZSYjMzk7dmUgZ290IHRoZSBpbW1lZGlhdGUgbGlzdCBvZiBjYWxsZXJzIHRvIGBuZl9jdF9leHRfYWRkYDogYG5mX2N0X2hlbHBlcl9leHRfYWRkYCAodXNpbmcgYE5GX0NUX0VYVF9IRUxQRVJgKSwgYG5mX2N0X25hdF9leHRfYWRkYCAodXNpbmcgYE5GX0NUX0VYVF9OQVRgKSwgYW5kIHNvIG9uLgoKVGhlIGJ1ZyBpcyBhYm91dCBleHRlbnNpb25zICphZnRlciogYE5GX0NUX0VYVF9IRUxQRVJgLCBzbyBgbmZfY3RfaGVscGVyX2V4dF9hZGRgIGlzIGEgcHJpbWUgdGFyZ2V0IGZvciBmdXp6aW5nLCBhbG9uZyB3aXRoIGBuZl9jdF9leHRfYWRkYCBpdHNlbGYuIFdlJiMzOTtyZSBsb29raW5nIGZvciB3aGVyZSB0aGlzIGNhbiBmYWlsLgoKVGltZSB0byBsb29rIGF0IHRoZSBjb25maWcgb3B0aW9ucy4gVGhlIHBhdGNoIGluY2x1ZGVzIGNvbmRpdGlvbmFscyBiYXNlZCBvbiBgQ09ORklHX05GX05BVGAsIGBDT05GSUdfTkZfQ09OTlRSQUNLX0VWRU5UU2AsIGV0Yy4gSXQmIzM5O3MgYSBsaXN0LiBCZWNhdXNlIHRoaXMgaXMgYWJvdXQgdGhpbmdzIGFmdGVyIGBIRUxQRVJgLCB3ZSBuZWVkIGBDT05GSUdfTkZfQ09OTlRSQUNLYCBhbmQgc2V2ZXJhbCBleHRlbnNpb25zIHRvIHRyaWdnZXIgdGhlIGlzc3VlLCBzbzoKCiogICBgQ09ORklHX05GX0NPTk5UUkFDS19FVkVOVFNgCiogICBgQ09ORklHX05GX0NPTk5UUkFDS19USU1FU1RBTVBgCiogICBgQ09ORklHX05GX0NPTk5UUkFDS19USU1FT1VUYAoqICAgYENPTkZJR19ORl9DT05OVFJBQ0tfTEFCRUxTYAoqICAgYENPTkZJR19ORl9OQVRgCiogICBgQ09ORklHX05FVEZJTFRFUl9TWU5QUk9YWWAKKiAgIGBDT05GSUdfTkVUX0FDVF9DVGAKCkkgbmVlZCB0byBjb25maXJtIGBORl9DT05OVFJBQ0tgIGlzIHRoZSBiYXNlLCBhbmQgaXQgaXMuIEFuZCBubyBvdGhlciBzcGVjaWFsIGNvbmZpZyBuZWVkZWQuCgpJJiMzOTtsbCBjaGVjayBgbmZfY3RfaGVscGVyX2V4dF9hZGRgIGluIGBuZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuY2AgdG8gbG9vayBhdCBpdHMgaW50ZXJhY3Rpb25zLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDIxOjQ5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O25mX2N0X2hlbHBlcl9leHRfYWRkJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmg9MTE0PXZvaWQgbmZfY29ubnRyYWNrX2hlbHBlcnNfdW5yZWdpc3RlcihzdHJ1Y3QgbmZfY29ubnRyYWNrX2hlbHBlciAqKixcbi0tXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5oLTEyMC1cbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmg6MTIxOnN0cnVjdCBuZl9jb25uX2hlbHAgKm5mX2N0X2hlbHBlcl9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZ2ZwX3QgZ2ZwKTtcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmgtMTIyLVxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2NvcmUuYz0xNzU0PWluaXRfY29ubnRyYWNrKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5mX2Nvbm4gKnRtcGwsXG4tLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfY29yZS5jLTE4MTktXHRcdFx0aWYgKGFzc2lnbl9oZWxwZXIpIHtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2NvcmUuYzoxODIwOlx0XHRcdFx0aGVscCA9IG5mX2N0X2hlbHBlcl9leHRfYWRkKGN0LCBHRlBfQVRPTUlDKTtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2NvcmUuYy0xODIxLVx0XHRcdFx0aWYgKGhlbHAgXHUwMDI2XHUwMDI2IHJlZmNvdW50X2luY19ub3RfemVybyhcdTAwMjZhc3NpZ25faGVscGVyLVx1MDAzZWN0X3JlZmNudCkpXG4tLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmM9MTc4PXN0cnVjdCBuZl9jb25uX2hlbHAgKlxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmM6MTc5Om5mX2N0X2hlbHBlcl9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZ2ZwX3QgZ2ZwKVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMtMTgwLXtcbi0tXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYy0xODktfVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmM6MTkwOkVYUE9SVF9TWU1CT0xfR1BMKG5mX2N0X2hlbHBlcl9leHRfYWRkKTtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jLTE5MS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jPTE5Mj1pbnQgX19uZl9jdF90cnlfYXNzaWduX2hlbHBlcihzdHJ1Y3QgbmZfY29ubiAqY3QsIHN0cnVjdCBuZl9jb25uICp0bXBsLFxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jLTIyMi1cdGlmIChoZWxwID09IE5VTEwpIHtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jOjIyMzpcdFx0aGVscCA9IG5mX2N0X2hlbHBlcl9leHRfYWRkKGN0LCBmbGFncyk7XG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYy0yMjQtXHRcdGlmIChoZWxwID09IE5VTEwpXG4tLVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbmV0bGluay5jPTIyMjI9Y3RuZXRsaW5rX2NyZWF0ZV9jb25udHJhY2soc3RydWN0IG5ldCAqbmV0LFxuLS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYy0yMjc1LVxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbmV0bGluay5jOjIyNzY6XHRcdFx0aGVscCA9IG5mX2N0X2hlbHBlcl9leHRfYWRkKGN0LCBHRlBfQVRPTUlDKTtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYy0yMjc3LVx0XHRcdGlmIChoZWxwID09IE5VTEwpIHtcbi0tXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19vdnMuYz04NT1pbnQgbmZfY3RfYWRkX2hlbHBlcihzdHJ1Y3QgbmZfY29ubiAqY3QsIGNvbnN0IGNoYXIgKm5hbWUsIHU4IGZhbWlseSxcbi0tXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19vdnMuYy05NS1cbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX292cy5jOjk2Olx0aGVscCA9IG5mX2N0X2hlbHBlcl9leHRfYWRkKGN0LCBHRlBfS0VSTkVMKTtcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX292cy5jLTk3LVx0aWYgKCFoZWxwKSB7XG4tLVxubmV0L25ldGZpbHRlci9uZnRfY3QuYz0xMTEyPXN0YXRpYyB2b2lkIG5mdF9jdF9oZWxwZXJfb2JqX2V2YWwoc3RydWN0IG5mdF9vYmplY3QgKm9iaixcbi0tXG5uZXQvbmV0ZmlsdGVyL25mdF9jdC5jLTExNDQtXG5uZXQvbmV0ZmlsdGVyL25mdF9jdC5jOjExNDU6XHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIEdGUF9BVE9NSUMpO1xubmV0L25ldGZpbHRlci9uZnRfY3QuYy0xMTQ2LVx0aWYgKGhlbHAgXHUwMDI2XHUwMDI2IHJlZmNvdW50X2luY19ub3RfemVybyhcdTAwMjZ0b19hc3NpZ24tXHUwMDNlY3RfcmVmY250KSkge1xuLS1cbm5ldC9uZXRmaWx0ZXIvbmZ0X2N0LmM9MTMwMD1zdGF0aWMgdm9pZCBuZnRfY3RfZXhwZWN0X29ial9ldmFsKHN0cnVjdCBuZnRfb2JqZWN0ICpvYmosXG4tLVxubmV0L25ldGZpbHRlci9uZnRfY3QuYy0xMzIwLVx0aWYgKCFoZWxwKVxubmV0L25ldGZpbHRlci9uZnRfY3QuYzoxMzIxOlx0XHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIEdGUF9BVE9NSUMpO1xubmV0L25ldGZpbHRlci9uZnRfY3QuYy0xMzIyLVx0aWYgKCFoZWxwKSB7XG4tLVxubmV0L25ldGZpbHRlci94dF9DVC5jPTc0PXh0X2N0X3NldF9oZWxwZXIoc3RydWN0IG5mX2Nvbm4gKmN0LCBjb25zdCBjaGFyICpoZWxwZXJfbmFtZSxcbi0tXG5uZXQvbmV0ZmlsdGVyL3h0X0NULmMtOTMtXG5uZXQvbmV0ZmlsdGVyL3h0X0NULmM6OTQ6XHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIEdGUF9LRVJORUwpO1xubmV0L25ldGZpbHRlci94dF9DVC5jLTk1LVx0aWYgKGhlbHAgPT0gTlVMTCkge1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDIxOjQ5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDg1NjEKCQkJCQkJCW91dHB1dDogMTg5CgkJCQkJCQl0aG91Z2h0czogMjQwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFuYWx5c2lzIG9mIHRoZSBDb25udHJhY2sgRXh0ZW5zaW9uIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpbW1lZGlhdGVseSwgbXkgbWluZCBob25lcyBpbiBvbiB0aGUga2V5IGZ1bmN0aW9uIHN5bWJvbHM6IGBuZl9jdF9leHRfYWRkYCwgYG5mX2N0X2hlbHBlcl9leHRfYWRkYCwgYF9fbmZfY3RfdHJ5X2Fzc2lnbl9oZWxwZXJgLCBgaW5pdF9jb25udHJhY2tgLCBhbmQgYGN0bmV0bGlua19jcmVhdGVfY29ubnRyYWNrYC4gSSYjMzk7bGwgZm9jdXMgZXNwZWNpYWxseSBvbiBgbmZfY3RfZXh0X2FkZGAgYW5kIGBuZl9jdF9oZWxwZXJfZXh0X2FkZGAsIGFzIHRoZXkgc2VlbSBjZW50cmFsIHRvIHRoaXMgY2hhbmdlLgoKTGV0JiMzOTtzIGRpc3NlY3QgdGhlIHJlYXNvbmluZyBiZWhpbmQgdGhlIGNoYW5nZXMuIFRoZSBjb3JlIGlzc3VlIGFwcGVhcnMgdG8gYmUgYXJvdW5kIG1lbW9yeSBhbGxvY2F0aW9uIGZvciBjb25udHJhY2sgZXh0ZW5zaW9ucy4gVGhlIHBhdGNoIGlzIHRyeWluZyB0byBvcHRpbWl6ZSB0aGUgcHJvY2VzcyBhbmQgYXZvaWQgcmVhbGxvY2F0aW9ucy4gSXQmIzM5O3MgYWJvdXQgZW5zdXJpbmcgdGhhdCB3aGVuIGEgaGVscGVyIGV4dGVuc2lvbiBpcyBhZGRlZCwgdGhlIHN5c3RlbSBhbGxvY2F0ZXMgZW5vdWdoIG1lbW9yeSAqaW5pdGlhbGx5KiB0byBhY2NvbW1vZGF0ZSAqYWxsKiBwb3RlbnRpYWwgZXh0ZW5zaW9ucyBkb3duIHRoZSBsaW5lLiBUaGlzIGlzIGNydWNpYWwgYmVjYXVzZSByZWFsbG9jYXRpb25zIGluIHRoaXMgYXJlYSBjYW4gbGVhZCB0byBwb2ludGVyIGludmFsaWRhdGlvbiwgd2hpY2ggd291bGQgd3JlYWsgaGF2b2Mgb24gdGhlIGhlbHBlciYjMzk7cyBleHBlY3RhdGlvbiBsaXN0IGFuZCB0aGUgaW50ZWdyaXR5IG9mIHRoZSBjb25uZWN0aW9uIHRyYWNraW5nLgoKVGhpcyBpcyBhICoqZnVuY3Rpb25hbCBjaGFuZ2UqKiBpbiB0aGUgY29yZSBuZXRmaWx0ZXIgY29ubnRyYWNrIGxvZ2ljLiBJdCYjMzk7cyBhaW1lZCBhdCBwcmV2ZW50aW5nIGEgcG90ZW50aWFsIGNvbmN1cnJlbmN5IGlzc3VlIHdpdGggcG9pbnRlciBtYW5hZ2VtZW50IGJ5IG1ha2luZyB0aGUgYWxsb2NhdGlvbiBtb3JlIHJlc2lsaWVudC4gVGhpcyBpcyBkZWZpbml0ZWx5IHNvbWV0aGluZyB0aGF0IG5lZWRzIHRvIGJlIGZ1enplZC4KClJlZ2FyZGluZyBjb25maWd1cmF0aW9uLCBJJiMzOTtsbCBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgcmVsZXZhbnQgb3B0aW9ucyBhcmUgZW5hYmxlZCBpbiBteSBmdXp6aW5nIHNldHVwLiBJJiMzOTttIHRoaW5raW5nOiBgTkZfQ09OTlRSQUNLYCwgYE5GX05BVGAsIGBORl9DT05OVFJBQ0tfRVZFTlRTYCwgYE5GX0NPTk5UUkFDS19USU1FU1RBTVBgLCBgTkZfQ09OTlRSQUNLX1RJTUVPVVRgLCBgTkZfQ09OTlRSQUNLX0xBQkVMU2AsIGBORVRGSUxURVJfU1lOUFJPWFlgLCBhbmQgYE5FVF9BQ1RfQ1RgLgoKQWxyaWdodCwgSSYjMzk7bGwgc2V0IHRoZSBmdXp6aW5nIHJlc3VsdHMgYWNjb3JkaW5nbHkuIFRoaXMgaXMgYSBzb2xpZCBzdGFydGluZyBwb2ludCBmb3IgZnV6emluZyB0aGlzIHBhdGNoLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDIxOjQ5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtORl9DT05OVFJBQ0smIzM0OywKICAgICYjMzQ7TkZfTkFUJiMzNDssCiAgICAmIzM0O05GX0NPTk5UUkFDS19FVkVOVFMmIzM0OywKICAgICYjMzQ7TkZfQ09OTlRSQUNLX1RJTUVTVEFNUCYjMzQ7LAogICAgJiMzNDtORl9DT05OVFJBQ0tfVElNRU9VVCYjMzQ7LAogICAgJiMzNDtORl9DT05OVFJBQ0tfTEFCRUxTJiMzNDssCiAgICAmIzM0O05FVEZJTFRFUl9TWU5QUk9YWSYjMzQ7LAogICAgJiMzNDtORVRfQUNUX0NUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmZfY3RfZXh0X2FkZCYjMzQ7LAogICAgJiMzNDtuZl9jdF9oZWxwZXJfZXh0X2FkZCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgbWVtb3J5IGFsbG9jYXRpb24gbG9naWMgZm9yIGNvbm50cmFjayBleHRlbnNpb25zLCBzcGVjaWZpY2FsbHkgZW5zdXJpbmcgdGhhdCB3aGVuIHRoZSBoZWxwZXIgZXh0ZW5zaW9uIGlzIGFkZGVkLCBlbm91Z2ggbWVtb3J5IGlzIGFsbG9jYXRlZCBmb3IgYWxsIHBvc3NpYmxlIGV4dGVuc2lvbnMgdG8gcHJldmVudCBmdXR1cmUgcmVhbGxvY2F0aW9ucyB0aGF0IHdvdWxkIGludmFsaWRhdGUgcG9pbnRlcnMgdXNlZCBieSB0aGUgaGVscGVyIGV4dGVuc2lvbiYjMzk7cyBleHBlY3RhdGlvbiBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgbmV0ZmlsdGVyIGNvbm50cmFjayBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TkZfQ09OTlRSQUNLJiMzNDssCiAgICAmIzM0O05GX05BVCYjMzQ7LAogICAgJiMzNDtORl9DT05OVFJBQ0tfRVZFTlRTJiMzNDssCiAgICAmIzM0O05GX0NPTk5UUkFDS19USU1FU1RBTVAmIzM0OywKICAgICYjMzQ7TkZfQ09OTlRSQUNLX1RJTUVPVVQmIzM0OywKICAgICYjMzQ7TkZfQ09OTlRSQUNLX0xBQkVMUyYjMzQ7LAogICAgJiMzNDtORVRGSUxURVJfU1lOUFJPWFkmIzM0OywKICAgICYjMzQ7TkVUX0FDVF9DVCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25mX2N0X2V4dF9hZGQmIzM0OywKICAgICYjMzQ7bmZfY3RfaGVscGVyX2V4dF9hZGQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIG1lbW9yeSBhbGxvY2F0aW9uIGxvZ2ljIGZvciBjb25udHJhY2sgZXh0ZW5zaW9ucywgc3BlY2lmaWNhbGx5IGVuc3VyaW5nIHRoYXQgd2hlbiB0aGUgaGVscGVyIGV4dGVuc2lvbiBpcyBhZGRlZCwgZW5vdWdoIG1lbW9yeSBpcyBhbGxvY2F0ZWQgZm9yIGFsbCBwb3NzaWJsZSBleHRlbnNpb25zIHRvIHByZXZlbnQgZnV0dXJlIHJlYWxsb2NhdGlvbnMgdGhhdCB3b3VsZCBpbnZhbGlkYXRlIHBvaW50ZXJzIHVzZWQgYnkgdGhlIGhlbHBlciBleHRlbnNpb24mIzM5O3MgZXhwZWN0YXRpb24gbGlzdC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIG5ldGZpbHRlciBjb25udHJhY2sgbG9naWMgYW5kIHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xNVQyMTo0ODo1NS4xNjk1MzAwMTNaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozOTg4MTA4NjYxMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJORl9DT05OVFJBQ0tcIixcbiAgICBcIk5GX05BVFwiLFxuICAgIFwiTkZfQ09OTlRSQUNLX0VWRU5UU1wiLFxuICAgIFwiTkZfQ09OTlRSQUNLX1RJTUVTVEFNUFwiLFxuICAgIFwiTkZfQ09OTlRSQUNLX1RJTUVPVVRcIixcbiAgICBcIk5GX0NPTk5UUkFDS19MQUJFTFNcIixcbiAgICBcIk5FVEZJTFRFUl9TWU5QUk9YWVwiLFxuICAgIFwiTkVUX0FDVF9DVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5mX2N0X2V4dF9hZGRcIixcbiAgICBcIm5mX2N0X2hlbHBlcl9leHRfYWRkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIG1lbW9yeSBhbGxvY2F0aW9uIGxvZ2ljIGZvciBjb25udHJhY2sgZXh0ZW5zaW9ucywgc3BlY2lmaWNhbGx5IGVuc3VyaW5nIHRoYXQgd2hlbiB0aGUgaGVscGVyIGV4dGVuc2lvbiBpcyBhZGRlZCwgZW5vdWdoIG1lbW9yeSBpcyBhbGxvY2F0ZWQgZm9yIGFsbCBwb3NzaWJsZSBleHRlbnNpb25zIHRvIHByZXZlbnQgZnV0dXJlIHJlYWxsb2NhdGlvbnMgdGhhdCB3b3VsZCBpbnZhbGlkYXRlIHBvaW50ZXJzIHVzZWQgYnkgdGhlIGhlbHBlciBleHRlbnNpb24ncyBleHBlY3RhdGlvbiBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgbmV0ZmlsdGVyIGNvbm50cmFjayBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMjE6NDg6NTUuMTY5NTM5MTUzWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NTkzODM5OTksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA0NTMxNGNjMmFkOGYyZWM3M2U2ZjY1YTRjYWIyNzAyMjhjM2JjYmViXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgSnVsIDE1IDIxOjQ4OjUzIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNcXG5pbmRleCAwZGExMDVlMWRlZDkzOS4uZTVlMDRlMGVjNDBhNWQgMTAwNjQ0XFxuLS0tIGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNcXG4rKysgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuY1xcbkBAIC01NCwzNSArNTQsMzggQEAgc3RhdGljIGNvbnN0IHU4IG5mX2N0X2V4dF90eXBlX2xlbltORl9DVF9FWFRfTlVNXSA9IHtcXG4gI2VuZGlmXFxuIH07XFxuIFxcbisjZGVmaW5lIE5GX0NUX0VYVF9UWVBFX1NJWkUodHlwZSkgXFxcXFxcbitcXHRBTElHTihzaXplb2YodHlwZSksIF9fYWxpZ25vZl9fKHN0cnVjdCBuZl9jdF9leHQpKVxcbitcXG4gc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQgdG90YWxfZXh0ZW5zaW9uX3NpemUodm9pZClcXG4ge1xcbiBcXHQvKiByZW1lbWJlciB0byBhZGQgbmV3IGV4dGVuc2lvbnMgYmVsb3cgKi9cXG4gXFx0QlVJTERfQlVHX09OKE5GX0NUX0VYVF9OVU0gXFx1MDAzZSAxMCk7XFxuIFxcbiBcXHRyZXR1cm4gc2l6ZW9mKHN0cnVjdCBuZl9jdF9leHQpICtcXG4tXFx0ICAgICAgIHNpemVvZihzdHJ1Y3QgbmZfY29ubl9oZWxwKVxcbitcXHQgICAgICAgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9oZWxwKVxcbiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkZfTkFUKVxcbi1cXHRcXHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubl9uYXQpXFxuK1xcdFxcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9uYXQpXFxuICNlbmRpZlxcbi1cXHRcXHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubl9zZXFhZGopXFxuLVxcdFxcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2FjY3QpXFxuK1xcdFxcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9zZXFhZGopXFxuK1xcdFxcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9hY2N0KVxcbiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19FVkVOVFNcXG4tXFx0XFx0KyBzaXplb2Yoc3RydWN0IG5mX2Nvbm50cmFja19lY2FjaGUpXFxuK1xcdFxcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubnRyYWNrX2VjYWNoZSlcXG4gI2VuZGlmXFxuICNpZmRlZiBDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVTVEFNUFxcbi1cXHRcXHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubl90c3RhbXApXFxuK1xcdFxcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl90c3RhbXApXFxuICNlbmRpZlxcbiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19USU1FT1VUXFxuLVxcdFxcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3RpbWVvdXQpXFxuK1xcdFxcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl90aW1lb3V0KVxcbiAjZW5kaWZcXG4gI2lmZGVmIENPTkZJR19ORl9DT05OVFJBQ0tfTEFCRUxTXFxuLVxcdFxcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2xhYmVscylcXG4rXFx0XFx0KyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX2xhYmVscylcXG4gI2VuZGlmXFxuICNpZiBJU19FTkFCTEVEKENPTkZJR19ORVRGSUxURVJfU1lOUFJPWFkpXFxuLVxcdFxcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3N5bnByb3h5KVxcbitcXHRcXHQrIE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fc3lucHJveHkpXFxuICNlbmRpZlxcbiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkVUX0FDVF9DVClcXG4tXFx0XFx0KyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fYWN0X2N0X2V4dClcXG4rXFx0XFx0KyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX2FjdF9jdF9leHQpXFxuICNlbmRpZlxcbiBcXHQ7XFxuIH1cXG5AQCAtMTEyLDYgKzExNSwxNCBAQCB2b2lkICpuZl9jdF9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZW51bSBuZl9jdF9leHRfaWQgaWQsIGdmcF90IGdmcClcXG4gXFx0bmV3bGVuID0gbmV3b2ZmICsgbmZfY3RfZXh0X3R5cGVfbGVuW2lkXTtcXG4gXFxuIFxcdGFsbG9jID0gbWF4KG5ld2xlbiwgTkZfQ1RfRVhUX1BSRUFMTE9DKTtcXG4rXFx0LypcXG4rXFx0ICogbmZfY29ubl9oZWxwIGNvbnRhaW5zIHRoZSBleHBlY3RhdGlvbiBsaXN0IGhlYWQuICBPbmNlIGFuXFxuK1xcdCAqIGV4cGVjdGF0aW9uIGlzIGxpbmtlZCwgaXRzIGxub2RlLnBwcmV2IHBvaW50cyBpbnRvIHRoaXMgYWxsb2NhdGlvbixcXG4rXFx0ICogc28gbGF0ZXIgZXh0ZW5zaW9uIGFkZGl0aW9ucyBtdXN0IG5vdCBiZSBhbGxvd2VkIHRvIHJlbG9jYXRlIGl0LlxcbitcXHQgKi9cXG4rXFx0aWYgKGlkID09IE5GX0NUX0VYVF9IRUxQRVIpXFxuK1xcdFxcdGFsbG9jID0gbWF4KGFsbG9jLCB0b3RhbF9leHRlbnNpb25fc2l6ZSgpKTtcXG4rXFxuIFxcdG5ldyA9IGtyZWFsbG9jKGN0LVxcdTAwM2VleHQsIGFsbG9jLCBnZnApO1xcbiBcXHRpZiAoIW5ldylcXG4gXFx0XFx0cmV0dXJuIE5VTEw7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDIxOjQ4OjU1LjczMDE0Njk2MloiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzkzMjA0NTg1MzEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTkZfQ09OTlRSQUNLXCIsXG4gICAgXCJORl9OQVRcIixcbiAgICBcIk5GX0NPTk5UUkFDS19FVkVOVFNcIixcbiAgICBcIk5GX0NPTk5UUkFDS19USU1FU1RBTVBcIixcbiAgICBcIk5GX0NPTk5UUkFDS19USU1FT1VUXCIsXG4gICAgXCJORl9DT05OVFJBQ0tfTEFCRUxTXCIsXG4gICAgXCJORVRGSUxURVJfU1lOUFJPWFlcIixcbiAgICBcIk5FVF9BQ1RfQ1RcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuZl9jdF9leHRfYWRkXCIsXG4gICAgXCJuZl9jdF9oZWxwZXJfZXh0X2FkZFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBtZW1vcnkgYWxsb2NhdGlvbiBsb2dpYyBmb3IgY29ubnRyYWNrIGV4dGVuc2lvbnMsIHNwZWNpZmljYWxseSBlbnN1cmluZyB0aGF0IHdoZW4gdGhlIGhlbHBlciBleHRlbnNpb24gaXMgYWRkZWQsIGVub3VnaCBtZW1vcnkgaXMgYWxsb2NhdGVkIGZvciBhbGwgcG9zc2libGUgZXh0ZW5zaW9ucyB0byBwcmV2ZW50IGZ1dHVyZSByZWFsbG9jYXRpb25zIHRoYXQgd291bGQgaW52YWxpZGF0ZSBwb2ludGVycyB1c2VkIGJ5IHRoZSBoZWxwZXIgZXh0ZW5zaW9uJ3MgZXhwZWN0YXRpb24gbGlzdC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIG5ldGZpbHRlciBjb25udHJhY2sgbG9naWMgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNDUzMTRjYzJhZDhmMmVjNzNlNmY2NWE0Y2FiMjcwMjI4YzNiY2JlYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDE1IDIxOjQ4OjUzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmMgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuY1xuaW5kZXggMGRhMTA1ZTFkZWQ5MzkuLmU1ZTA0ZTBlYzQwYTVkIDEwMDY0NFxuLS0tIGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNcbisrKyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2V4dGVuZC5jXG5AQCAtNTQsMzUgKzU0LDM4IEBAIHN0YXRpYyBjb25zdCB1OCBuZl9jdF9leHRfdHlwZV9sZW5bTkZfQ1RfRVhUX05VTV0gPSB7XG4gI2VuZGlmXG4gfTtcbiBcbisjZGVmaW5lIE5GX0NUX0VYVF9UWVBFX1NJWkUodHlwZSkgXFxcbitcdEFMSUdOKHNpemVvZih0eXBlKSwgX19hbGlnbm9mX18oc3RydWN0IG5mX2N0X2V4dCkpXG4rXG4gc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQgdG90YWxfZXh0ZW5zaW9uX3NpemUodm9pZClcbiB7XG4gXHQvKiByZW1lbWJlciB0byBhZGQgbmV3IGV4dGVuc2lvbnMgYmVsb3cgKi9cbiBcdEJVSUxEX0JVR19PTihORl9DVF9FWFRfTlVNIFx1MDAzZSAxMCk7XG4gXG4gXHRyZXR1cm4gc2l6ZW9mKHN0cnVjdCBuZl9jdF9leHQpICtcbi1cdCAgICAgICBzaXplb2Yoc3RydWN0IG5mX2Nvbm5faGVscClcbitcdCAgICAgICBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25uX2hlbHApXG4gI2lmIElTX0VOQUJMRUQoQ09ORklHX05GX05BVClcbi1cdFx0KyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fbmF0KVxuK1x0XHQrIE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fbmF0KVxuICNlbmRpZlxuLVx0XHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubl9zZXFhZGopXG4tXHRcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2FjY3QpXG4rXHRcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9zZXFhZGopXG4rXHRcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9hY2N0KVxuICNpZmRlZiBDT05GSUdfTkZfQ09OTlRSQUNLX0VWRU5UU1xuLVx0XHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubnRyYWNrX2VjYWNoZSlcbitcdFx0KyBORl9DVF9FWFRfVFlQRV9TSVpFKHN0cnVjdCBuZl9jb25udHJhY2tfZWNhY2hlKVxuICNlbmRpZlxuICNpZmRlZiBDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVTVEFNUFxuLVx0XHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubl90c3RhbXApXG4rXHRcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl90c3RhbXApXG4gI2VuZGlmXG4gI2lmZGVmIENPTkZJR19ORl9DT05OVFJBQ0tfVElNRU9VVFxuLVx0XHQrIHNpemVvZihzdHJ1Y3QgbmZfY29ubl90aW1lb3V0KVxuK1x0XHQrIE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fdGltZW91dClcbiAjZW5kaWZcbiAjaWZkZWYgQ09ORklHX05GX0NPTk5UUkFDS19MQUJFTFNcbi1cdFx0KyBzaXplb2Yoc3RydWN0IG5mX2Nvbm5fbGFiZWxzKVxuK1x0XHQrIE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fbGFiZWxzKVxuICNlbmRpZlxuICNpZiBJU19FTkFCTEVEKENPTkZJR19ORVRGSUxURVJfU1lOUFJPWFkpXG4tXHRcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX3N5bnByb3h5KVxuK1x0XHQrIE5GX0NUX0VYVF9UWVBFX1NJWkUoc3RydWN0IG5mX2Nvbm5fc3lucHJveHkpXG4gI2VuZGlmXG4gI2lmIElTX0VOQUJMRUQoQ09ORklHX05FVF9BQ1RfQ1QpXG4tXHRcdCsgc2l6ZW9mKHN0cnVjdCBuZl9jb25uX2FjdF9jdF9leHQpXG4rXHRcdCsgTkZfQ1RfRVhUX1RZUEVfU0laRShzdHJ1Y3QgbmZfY29ubl9hY3RfY3RfZXh0KVxuICNlbmRpZlxuIFx0O1xuIH1cbkBAIC0xMTIsNiArMTE1LDE0IEBAIHZvaWQgKm5mX2N0X2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0LCBlbnVtIG5mX2N0X2V4dF9pZCBpZCwgZ2ZwX3QgZ2ZwKVxuIFx0bmV3bGVuID0gbmV3b2ZmICsgbmZfY3RfZXh0X3R5cGVfbGVuW2lkXTtcbiBcbiBcdGFsbG9jID0gbWF4KG5ld2xlbiwgTkZfQ1RfRVhUX1BSRUFMTE9DKTtcbitcdC8qXG4rXHQgKiBuZl9jb25uX2hlbHAgY29udGFpbnMgdGhlIGV4cGVjdGF0aW9uIGxpc3QgaGVhZC4gIE9uY2UgYW5cbitcdCAqIGV4cGVjdGF0aW9uIGlzIGxpbmtlZCwgaXRzIGxub2RlLnBwcmV2IHBvaW50cyBpbnRvIHRoaXMgYWxsb2NhdGlvbixcbitcdCAqIHNvIGxhdGVyIGV4dGVuc2lvbiBhZGRpdGlvbnMgbXVzdCBub3QgYmUgYWxsb3dlZCB0byByZWxvY2F0ZSBpdC5cbitcdCAqL1xuK1x0aWYgKGlkID09IE5GX0NUX0VYVF9IRUxQRVIpXG4rXHRcdGFsbG9jID0gbWF4KGFsbG9jLCB0b3RhbF9leHRlbnNpb25fc2l6ZSgpKTtcbitcbiBcdG5ldyA9IGtyZWFsbG9jKGN0LVx1MDAzZWV4dCwgYWxsb2MsIGdmcCk7XG4gXHRpZiAoIW5ldylcbiBcdFx0cmV0dXJuIE5VTEw7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQyMTo0ODo1NS43MzAxNDk0MzJaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo5MjE0OTQxODQ1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgQ29ubnRyYWNrIEV4dGVuc2lvbiBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBuZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuY2AuIEl0IHNlZW1zIHRvIGJlIGFkZHJlc3NpbmcgYSBwb3RlbnRpYWwgbWVtb3J5IGNvcnJ1cHRpb24gaXNzdWUuIEVzc2VudGlhbGx5LCB0aGUgcGF0Y2ggaXMgdHdlYWtpbmcgaG93IHdlIG1hbmFnZSBleHRlbnNpb24gc2l6ZXMgd2l0aGluIGNvbm50cmFjayBlbnRyaWVzLiBUaGUgY29yZSBvZiB0aGUgY2hhbmdlIHJldm9sdmVzIGFyb3VuZCBhbGlnbmluZyB0aGUgY2FsY3VsYXRlZCBgdG90YWxfZXh0ZW5zaW9uX3NpemVgIHVzaW5nIGBORl9DVF9FWFRfVFlQRV9TSVpFYCwgd2hpY2ggbm93IGFsaWducyB0aGUgc2l6ZXMgdG8gYF9fYWxpZ25vZl9fKHN0cnVjdCBuZl9jdF9leHQpYC5cblxuVGhlIGNydWNpYWwgbW9kaWZpY2F0aW9uIGFwcGVhcnMgdG8gYmUgaW4gYG5mX2N0X2V4dF9hZGRgLiBTcGVjaWZpY2FsbHksIHRoZSBjb2RlIG5vdyAqcHJlLWFsbG9jYXRlcyogdGhlIGNvcnJlY3QgYHRvdGFsX2V4dGVuc2lvbl9zaXplKClgIHdoZW4gdGhlIGBpZGAgaXMgYE5GX0NUX0VYVF9IRUxQRVJgLiBUaGlzIGlzIGtleSBiZWNhdXNlIHRoZSBoZWxwZXIgZXh0ZW5zaW9uIGNvbnRhaW5zIGFuIGV4cGVjdGF0aW9uIGxpc3QgaGVhZCwgYW5kIGl0cyBgbG5vZGUucHByZXZgIHBvaW50ZXIgbmVlZHMgdG8gcmVtYWluIHZhbGlkLiBQcmV2aW91c2x5LCBpZiB3ZSBhZGRlZCBvdGhlciBleHRlbnNpb25zICphZnRlciogdGhlIGhlbHBlciwgYSByZWFsbG9jYXRpb24gY291bGQgb2NjdXIsIGludmFsaWRhdGluZyB0aGF0IHBvaW50ZXIsIHdoaWNoIGlzIGJhZCBuZXdzLlxuXG5TbywgdGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBiZWhhdmlvciBvZiBgbmZfY3RfZXh0X2FkZGAgYW5kIGhvdyBgdG90YWxfZXh0ZW5zaW9uX3NpemVgIGlzIGNhbGN1bGF0ZWQuIEl0J3MgZXNzZW50aWFsbHkgYSBmdW5jdGlvbmFsIGNoYW5nZSB0aGF0IGZpeGVzIHRoaXMgc3BlY2lmaWMgcG9pbnRlciBpbnZhbGlkYXRpb24gYnVnLlxuXG5MZXQncyBkcmlsbCBkb3duIGFuZCBjaGVjayB0aGUgc3BlY2lmaWMgZnVuY3Rpb25zOiBgbmZfY3RfZXh0X2FkZGAgYW5kIGB0b3RhbF9leHRlbnNpb25fc2l6ZWAgaW4gdGhlIGBuZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuY2AgZmlsZS4gSSBzZWUgdGhlIG1haW4gY29uZmlncyBpbnZvbHZlZCBhcmUgdGhlIHVzdWFsIHN1c3BlY3RzOiBgQ09ORklHX05GX0NPTk5UUkFDS2AsIGBDT05GSUdfTkZfQ09OTlRSQUNLX0VWRU5UU2AsIGBDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVTVEFNUGAsIGBDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVPVVRgLCBgQ09ORklHX05GX0NPTk5UUkFDS19MQUJFTFNgLCBgQ09ORklHX05GX05BVGAsIGBDT05GSUdfTkVURklMVEVSX1NZTlBST1hZYCwgYW5kIGBDT05GSUdfTkVUX0FDVF9DVGAuXG5cbk5vdywgdGhlIGBuZl9jdF9leHRfYWRkYCBmdW5jdGlvbiBpdHNlbGYgaXMgdGhlIG9uZSBiZWluZyBtb2RpZmllZCwgYW5kIEkgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSBleGFjdCBkZXBlbmRlbmNpZXMgb2YgdGhpcyBmdW5jdGlvbiwgZXNwZWNpYWxseSB3aXRoIHJlc3BlY3QgdG8gYE5GX0NUX0VYVF9IRUxQRVJgLiBJdCdzIHVzZWQgd2hlbiBhZGRpbmcgYSBoZWxwZXIgZXh0ZW5zaW9uLCB3aGljaCBpcyBjZXJ0YWlubHkgcmVsYXRlZCB0byBgQ09ORklHX05GX0NPTk5UUkFDS2AuXG5cblRvIGJlIHRob3JvdWdoLCBsZXQncyB1c2UgdGhlIGdyZXBwZXIgdG8gY29uZmlybSB3aGVyZSBgbmZfY3RfZXh0X2FkZGAgaXMgdXNlZCBpbiB0aGUgY29kZWJhc2UgdG8gYXNzZXNzIHRoZSBpbXBhY3QuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI1NzAsIk91dHB1dFRva2VucyI6MjEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo0MjIsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQyMTo0OTowNC45NDUwOTM1ODdaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjA2NDE4OTk5MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJuZl9jdF9leHRfYWRkXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfYWNjdC5oPTMwPXN0cnVjdCBuZl9jb25uX2FjY3QgKm5mX2N0X2FjY3RfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGdmcF90IGdmcClcXG4tLVxcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfYWNjdC5oLTM4LVxcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfYWNjdC5oOjM5OlxcdGFjY3QgPSBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfQUNDVCwgZ2ZwKTtcXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2FjY3QuaC00MC1cXHRpZiAoIWFjY3QpXFxuLS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2FjdF9jdC5oPTM2PW5mX2Nvbm5fYWN0X2N0X2V4dCAqbmZfY29ubl9hY3RfY3RfZXh0X2FkZChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbi0tXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19hY3RfY3QuaC00NS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2FjdF9jdC5oOjQ2OlxcdGFjdF9jdCA9IG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9BQ1RfQ1QsIEdGUF9BVE9NSUMpO1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfYWN0X2N0LmgtNDctXFx0bmZfY29ubl9hY3RfY3RfZXh0X2ZpbGwoc2tiLCBjdCwgY3RpbmZvKTtcXG4tLVxcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmg9NTQ9c3RhdGljIGlubGluZSB2b2lkICpuZl9jdF9leHRfZmluZChjb25zdCBzdHJ1Y3QgbmZfY29ubiAqY3QsIHU4IGlkKVxcbi0tXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuaC02NC0vKiBBZGQgdGhpcyB0eXBlLCByZXR1cm5zIHBvaW50ZXIgdG8gZGF0YSBvciBOVUxMLiAqL1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmg6NjU6dm9pZCAqbmZfY3RfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGVudW0gbmZfY3RfZXh0X2lkIGlkLCBnZnBfdCBnZnApO1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmgtNjYtXFxuLS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2xhYmVscy5oPTM3PXN0YXRpYyBpbmxpbmUgc3RydWN0IG5mX2Nvbm5fbGFiZWxzICpuZl9jdF9sYWJlbHNfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QpXFxuLS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2xhYmVscy5oLTQ0LVxcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbGFiZWxzLmg6NDU6XFx0cmV0dXJuIG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9MQUJFTFMsIEdGUF9BVE9NSUMpO1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbGFiZWxzLmgtNDYtI2Vsc2VcXG4tLVxcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2VxYWRqLmg9Mjk9c3RhdGljIGlubGluZSBzdHJ1Y3QgbmZfY29ubl9zZXFhZGogKm5mY3Rfc2VxYWRqX2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0KVxcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2VxYWRqLmgtMzAte1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2VxYWRqLmg6MzE6XFx0cmV0dXJuIG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9TRVFBREosIEdGUF9BVE9NSUMpO1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2VxYWRqLmgtMzItfVxcbi0tXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19zeW5wcm94eS5oPTIzPXN0YXRpYyBpbmxpbmUgc3RydWN0IG5mX2Nvbm5fc3lucHJveHkgKm5mY3Rfc3lucHJveHlfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QpXFxuLS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3N5bnByb3h5LmgtMjUtI2lmIElTX0VOQUJMRUQoQ09ORklHX05FVEZJTFRFUl9TWU5QUk9YWSlcXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3N5bnByb3h5Lmg6MjY6XFx0cmV0dXJuIG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9TWU5QUk9YWSwgR0ZQX0FUT01JQyk7XFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19zeW5wcm94eS5oLTI3LSNlbHNlXFxuLS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RpbWVvdXQuaD02OT1zdHJ1Y3QgbmZfY29ubl90aW1lb3V0ICpuZl9jdF90aW1lb3V0X2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0LFxcbi0tXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lb3V0LmgtNzgtXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lb3V0Lmg6Nzk6XFx0dGltZW91dF9leHQgPSBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfVElNRU9VVCwgZ2ZwKTtcXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RpbWVvdXQuaC04MC1cXHRpZiAoIXRpbWVvdXRfZXh0IHx8IHRpbWVvdXRfZXh0LVxcdTAwM2V0aW1lb3V0KVxcbi0tXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lc3RhbXAuaD0yNz1zdHJ1Y3QgbmZfY29ubl90c3RhbXAgKm5mX2N0X3RzdGFtcF9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgZ2ZwX3QgZ2ZwKVxcbi0tXFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190aW1lc3RhbXAuaC0zNC1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RpbWVzdGFtcC5oOjM1OlxcdHJldHVybiBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfVFNUQU1QLCBnZnApO1xcbmluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfdGltZXN0YW1wLmgtMzYtI2Vsc2VcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2VjYWNoZS5jPTMyND1ib29sIG5mX2N0X2VjYWNoZV9leHRfYWRkKHN0cnVjdCBuZl9jb25uICpjdCwgdTE2IGN0bWFzaywgdTE2IGV4cG1hc2ssIGdmcF90IGdmcClcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2VjYWNoZS5jLTM1MC1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19lY2FjaGUuYzozNTE6XFx0ZSA9IG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9FQ0FDSEUsIGdmcCk7XFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZWNhY2hlLmMtMzUyLVxcdGlmIChlKSB7XFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuYz02MD1zdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludCB0b3RhbF9leHRlbnNpb25fc2l6ZSh2b2lkKVxcbi0tXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmMtOTItXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmM6OTM6dm9pZCAqbmZfY3RfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGVudW0gbmZfY3RfZXh0X2lkIGlkLCBnZnBfdCBnZnApXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmMtOTQte1xcbi0tXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmMtMTM5LX1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19leHRlbmQuYzoxNDA6RVhQT1JUX1NZTUJPTChuZl9jdF9leHRfYWRkKTtcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jPTE3OT1uZl9jdF9oZWxwZXJfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGdmcF90IGdmcClcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jLTE4Mi1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYzoxODM6XFx0aGVscCA9IG5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9IRUxQRVIsIGdmcCk7XFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMtMTg0LVxcdGlmIChoZWxwKSB7XFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19wcHRwLmM9NDM0PWNvbm50cmFja19wcHRwX2hlbHAoc3RydWN0IHNrX2J1ZmYgKnNrYiwgdW5zaWduZWQgaW50IHByb3RvZmYsXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19wcHRwLmMtNDU4LVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3BwdHAuYzo0NTk6XFx0XFx0aWYgKCFuYXQgXFx1MDAyNlxcdTAwMjYgIW5mX2N0X2V4dF9hZGQoY3QsIE5GX0NUX0VYVF9OQVQsIEdGUF9BVE9NSUMpKVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3BwdHAuYy00NjAtXFx0XFx0XFx0cmV0dXJuIE5GX0RST1A7XFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX25hdF9jb3JlLmM9NzUxPXN0cnVjdCBuZl9jb25uX25hdCAqbmZfY3RfbmF0X2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0KVxcbi0tXFxubmV0L25ldGZpbHRlci9uZl9uYXRfY29yZS5jLTc1Ny1cXHRpZiAoIW5mX2N0X2lzX2NvbmZpcm1lZChjdCkpXFxubmV0L25ldGZpbHRlci9uZl9uYXRfY29yZS5jOjc1ODpcXHRcXHRuYXQgPSBuZl9jdF9leHRfYWRkKGN0LCBORl9DVF9FWFRfTkFULCBHRlBfQVRPTUlDKTtcXG5uZXQvbmV0ZmlsdGVyL25mX25hdF9jb3JlLmMtNzU5LVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQyMTo0OTowNy4wMDkyOTM2OTdaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMjc2NzIzOTA4NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIENvbm50cmFjayBFeHRlbnNpb24gUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGFmZmVjdGluZyBgbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfZXh0ZW5kLmNgLCBzcGVjaWZpY2FsbHkgYG5mX2N0X2V4dF9hZGRgIGFuZCBgdG90YWxfZXh0ZW5zaW9uX3NpemVgLiBSaWdodCBhd2F5LCBJIHNlZSB0aGlzIGlzIGZ1bmN0aW9uYWwgLSBpdCdzIGZpeGluZyBhIHBvaW50ZXIgaW52YWxpZGF0aW9uIGlzc3VlIHRoYXQgcG9wcyB1cCB3aGVuIGFkZGluZyBleHRlbnNpb25zICphZnRlciogYE5GX0NUX0VYVF9IRUxQRVJgLiBBIGNsYXNzaWMgcmVhbGxvY2F0aW9uIGlzc3VlLCBsZWFkaW5nIHRvIHN0YWxlIHBvaW50ZXJzLiBEZWZpbml0ZWx5IHdvcnRoIGZ1enppbmcsIGdpdmVuIHRoZSBwb3RlbnRpYWwgc2VjdXJpdHkgaW1wbGljYXRpb25zLlxuXG5Ob3csIGxldCdzIG5haWwgZG93biB0aGUgY3JpdGljYWwgcG9pbnRzLiBgdG90YWxfZXh0ZW5zaW9uX3NpemVgIGlzIG91dCBiZWNhdXNlIGl0J3Mgc3RhdGljIGlubGluZSAtIG5vdCBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQgZm9yIGZvY3VzLiBgbmZfY3RfZXh0X2FkZGAgaXRzZWxmIGlzIHRoZSBtYWluIGN1bHByaXQsIGdpdmVuIGl0J3MgZXhwb3J0ZWQgYW5kIGNhbGxlZCBmcm9tIHZhcmlvdXMgcGFydHMgb2YgdGhlIGNvbm50cmFjayBzeXN0ZW0uIFF1ZXN0aW9uIGlzLCBob3cgaG90IGlzIGBuZl9jdF9leHRfYWRkYD8gSXQncyBpbnZvbHZlZCB3aGVuZXZlciBleHRlbnNpb25zIGFyZSBhZGRlZCB0byBhIGNvbm50cmFjayBlbnRyeSwgd2hpY2ggbWVhbnMgd2hlbiBhIG5ldyBjb25uZWN0aW9uIGlzIHRyYWNrZWQgdGhhdCBuZWVkcyB0aG9zZSBleHRlbnNpb25zOiBoZWxwZXIsIE5BVCwgYWNjb3VudGFuY3ksIHlvdSBuYW1lIGl0LiBJdCdzIG5vdCAqc3VwZXIqIGhvdC1wYXRoLCBidXQgaXQncyB3aGVyZSB0aGUgKm1vZGlmaWNhdGlvbiogaXMgaGFwcGVuaW5nLlxuXG5XZSd2ZSBnb3QgdGhlIGltbWVkaWF0ZSBsaXN0IG9mIGNhbGxlcnMgdG8gYG5mX2N0X2V4dF9hZGRgOiBgbmZfY3RfaGVscGVyX2V4dF9hZGRgICh1c2luZyBgTkZfQ1RfRVhUX0hFTFBFUmApLCBgbmZfY3RfbmF0X2V4dF9hZGRgICh1c2luZyBgTkZfQ1RfRVhUX05BVGApLCBhbmQgc28gb24uXG5cblRoZSBidWcgaXMgYWJvdXQgZXh0ZW5zaW9ucyAqYWZ0ZXIqIGBORl9DVF9FWFRfSEVMUEVSYCwgc28gYG5mX2N0X2hlbHBlcl9leHRfYWRkYCBpcyBhIHByaW1lIHRhcmdldCBmb3IgZnV6emluZywgYWxvbmcgd2l0aCBgbmZfY3RfZXh0X2FkZGAgaXRzZWxmLiBXZSdyZSBsb29raW5nIGZvciB3aGVyZSB0aGlzIGNhbiBmYWlsLlxuXG5UaW1lIHRvIGxvb2sgYXQgdGhlIGNvbmZpZyBvcHRpb25zLiBUaGUgcGF0Y2ggaW5jbHVkZXMgY29uZGl0aW9uYWxzIGJhc2VkIG9uIGBDT05GSUdfTkZfTkFUYCwgYENPTkZJR19ORl9DT05OVFJBQ0tfRVZFTlRTYCwgZXRjLiBJdCdzIGEgbGlzdC4gQmVjYXVzZSB0aGlzIGlzIGFib3V0IHRoaW5ncyBhZnRlciBgSEVMUEVSYCwgd2UgbmVlZCBgQ09ORklHX05GX0NPTk5UUkFDS2AgYW5kIHNldmVyYWwgZXh0ZW5zaW9ucyB0byB0cmlnZ2VyIHRoZSBpc3N1ZSwgc286XG5cbiogICBgQ09ORklHX05GX0NPTk5UUkFDS19FVkVOVFNgXG4qICAgYENPTkZJR19ORl9DT05OVFJBQ0tfVElNRVNUQU1QYFxuKiAgIGBDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVPVVRgXG4qICAgYENPTkZJR19ORl9DT05OVFJBQ0tfTEFCRUxTYFxuKiAgIGBDT05GSUdfTkZfTkFUYFxuKiAgIGBDT05GSUdfTkVURklMVEVSX1NZTlBST1hZYFxuKiAgIGBDT05GSUdfTkVUX0FDVF9DVGBcblxuSSBuZWVkIHRvIGNvbmZpcm0gYE5GX0NPTk5UUkFDS2AgaXMgdGhlIGJhc2UsIGFuZCBpdCBpcy4gQW5kIG5vIG90aGVyIHNwZWNpYWwgY29uZmlnIG5lZWRlZC5cblxuSSdsbCBjaGVjayBgbmZfY3RfaGVscGVyX2V4dF9hZGRgIGluIGBuZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuY2AgdG8gbG9vayBhdCBpdHMgaW50ZXJhY3Rpb25zLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1NTI4LCJPdXRwdXRUb2tlbnMiOjIzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTEzNywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQyMTo0OToxOS43NzY1MzQ4ODRaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjAzNDA2MDc0MiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJuZl9jdF9oZWxwZXJfZXh0X2FkZFwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJpbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5oPTExND12b2lkIG5mX2Nvbm50cmFja19oZWxwZXJzX3VucmVnaXN0ZXIoc3RydWN0IG5mX2Nvbm50cmFja19oZWxwZXIgKiosXFxuLS1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5oLTEyMC1cXG5pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5oOjEyMTpzdHJ1Y3QgbmZfY29ubl9oZWxwICpuZl9jdF9oZWxwZXJfZXh0X2FkZChzdHJ1Y3QgbmZfY29ubiAqY3QsIGdmcF90IGdmcCk7XFxuaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuaC0xMjItXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19jb3JlLmM9MTc1ND1pbml0X2Nvbm50cmFjayhzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBuZl9jb25uICp0bXBsLFxcbi0tXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfY29yZS5jLTE4MTktXFx0XFx0XFx0aWYgKGFzc2lnbl9oZWxwZXIpIHtcXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19jb3JlLmM6MTgyMDpcXHRcXHRcXHRcXHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIEdGUF9BVE9NSUMpO1xcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2NvcmUuYy0xODIxLVxcdFxcdFxcdFxcdGlmIChoZWxwIFxcdTAwMjZcXHUwMDI2IHJlZmNvdW50X2luY19ub3RfemVybyhcXHUwMDI2YXNzaWduX2hlbHBlci1cXHUwMDNlY3RfcmVmY250KSlcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jPTE3OD1zdHJ1Y3QgbmZfY29ubl9oZWxwICpcXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYzoxNzk6bmZfY3RfaGVscGVyX2V4dF9hZGQoc3RydWN0IG5mX2Nvbm4gKmN0LCBnZnBfdCBnZnApXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMtMTgwLXtcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jLTE4OS19XFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmM6MTkwOkVYUE9SVF9TWU1CT0xfR1BMKG5mX2N0X2hlbHBlcl9leHRfYWRkKTtcXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYy0xOTEtXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmM9MTkyPWludCBfX25mX2N0X3RyeV9hc3NpZ25faGVscGVyKHN0cnVjdCBuZl9jb25uICpjdCwgc3RydWN0IG5mX2Nvbm4gKnRtcGwsXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYy0yMjItXFx0aWYgKGhlbHAgPT0gTlVMTCkge1xcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jOjIyMzpcXHRcXHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIGZsYWdzKTtcXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYy0yMjQtXFx0XFx0aWYgKGhlbHAgPT0gTlVMTClcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYz0yMjIyPWN0bmV0bGlua19jcmVhdGVfY29ubnRyYWNrKHN0cnVjdCBuZXQgKm5ldCxcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYy0yMjc1LVxcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYzoyMjc2OlxcdFxcdFxcdGhlbHAgPSBuZl9jdF9oZWxwZXJfZXh0X2FkZChjdCwgR0ZQX0FUT01JQyk7XFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbmV0bGluay5jLTIyNzctXFx0XFx0XFx0aWYgKGhlbHAgPT0gTlVMTCkge1xcbi0tXFxubmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfb3ZzLmM9ODU9aW50IG5mX2N0X2FkZF9oZWxwZXIoc3RydWN0IG5mX2Nvbm4gKmN0LCBjb25zdCBjaGFyICpuYW1lLCB1OCBmYW1pbHksXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19vdnMuYy05NS1cXG5uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19vdnMuYzo5NjpcXHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIEdGUF9LRVJORUwpO1xcbm5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX292cy5jLTk3LVxcdGlmICghaGVscCkge1xcbi0tXFxubmV0L25ldGZpbHRlci9uZnRfY3QuYz0xMTEyPXN0YXRpYyB2b2lkIG5mdF9jdF9oZWxwZXJfb2JqX2V2YWwoc3RydWN0IG5mdF9vYmplY3QgKm9iaixcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZ0X2N0LmMtMTE0NC1cXG5uZXQvbmV0ZmlsdGVyL25mdF9jdC5jOjExNDU6XFx0aGVscCA9IG5mX2N0X2hlbHBlcl9leHRfYWRkKGN0LCBHRlBfQVRPTUlDKTtcXG5uZXQvbmV0ZmlsdGVyL25mdF9jdC5jLTExNDYtXFx0aWYgKGhlbHAgXFx1MDAyNlxcdTAwMjYgcmVmY291bnRfaW5jX25vdF96ZXJvKFxcdTAwMjZ0b19hc3NpZ24tXFx1MDAzZWN0X3JlZmNudCkpIHtcXG4tLVxcbm5ldC9uZXRmaWx0ZXIvbmZ0X2N0LmM9MTMwMD1zdGF0aWMgdm9pZCBuZnRfY3RfZXhwZWN0X29ial9ldmFsKHN0cnVjdCBuZnRfb2JqZWN0ICpvYmosXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL25mdF9jdC5jLTEzMjAtXFx0aWYgKCFoZWxwKVxcbm5ldC9uZXRmaWx0ZXIvbmZ0X2N0LmM6MTMyMTpcXHRcXHRoZWxwID0gbmZfY3RfaGVscGVyX2V4dF9hZGQoY3QsIEdGUF9BVE9NSUMpO1xcbm5ldC9uZXRmaWx0ZXIvbmZ0X2N0LmMtMTMyMi1cXHRpZiAoIWhlbHApIHtcXG4tLVxcbm5ldC9uZXRmaWx0ZXIveHRfQ1QuYz03ND14dF9jdF9zZXRfaGVscGVyKHN0cnVjdCBuZl9jb25uICpjdCwgY29uc3QgY2hhciAqaGVscGVyX25hbWUsXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL3h0X0NULmMtOTMtXFxubmV0L25ldGZpbHRlci94dF9DVC5jOjk0OlxcdGhlbHAgPSBuZl9jdF9oZWxwZXJfZXh0X2FkZChjdCwgR0ZQX0tFUk5FTCk7XFxubmV0L25ldGZpbHRlci94dF9DVC5jLTk1LVxcdGlmIChoZWxwID09IE5VTEwpIHtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMjE6NDk6MjEuODEwNjAxMDA1WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTMxNTI2ODUzMzksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQW5hbHlzaXMgb2YgdGhlIENvbm50cmFjayBFeHRlbnNpb24gUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpbW1lZGlhdGVseSwgbXkgbWluZCBob25lcyBpbiBvbiB0aGUga2V5IGZ1bmN0aW9uIHN5bWJvbHM6IGBuZl9jdF9leHRfYWRkYCwgYG5mX2N0X2hlbHBlcl9leHRfYWRkYCwgYF9fbmZfY3RfdHJ5X2Fzc2lnbl9oZWxwZXJgLCBgaW5pdF9jb25udHJhY2tgLCBhbmQgYGN0bmV0bGlua19jcmVhdGVfY29ubnRyYWNrYC4gSSdsbCBmb2N1cyBlc3BlY2lhbGx5IG9uIGBuZl9jdF9leHRfYWRkYCBhbmQgYG5mX2N0X2hlbHBlcl9leHRfYWRkYCwgYXMgdGhleSBzZWVtIGNlbnRyYWwgdG8gdGhpcyBjaGFuZ2UuXG5cbkxldCdzIGRpc3NlY3QgdGhlIHJlYXNvbmluZyBiZWhpbmQgdGhlIGNoYW5nZXMuIFRoZSBjb3JlIGlzc3VlIGFwcGVhcnMgdG8gYmUgYXJvdW5kIG1lbW9yeSBhbGxvY2F0aW9uIGZvciBjb25udHJhY2sgZXh0ZW5zaW9ucy4gVGhlIHBhdGNoIGlzIHRyeWluZyB0byBvcHRpbWl6ZSB0aGUgcHJvY2VzcyBhbmQgYXZvaWQgcmVhbGxvY2F0aW9ucy4gSXQncyBhYm91dCBlbnN1cmluZyB0aGF0IHdoZW4gYSBoZWxwZXIgZXh0ZW5zaW9uIGlzIGFkZGVkLCB0aGUgc3lzdGVtIGFsbG9jYXRlcyBlbm91Z2ggbWVtb3J5ICppbml0aWFsbHkqIHRvIGFjY29tbW9kYXRlICphbGwqIHBvdGVudGlhbCBleHRlbnNpb25zIGRvd24gdGhlIGxpbmUuIFRoaXMgaXMgY3J1Y2lhbCBiZWNhdXNlIHJlYWxsb2NhdGlvbnMgaW4gdGhpcyBhcmVhIGNhbiBsZWFkIHRvIHBvaW50ZXIgaW52YWxpZGF0aW9uLCB3aGljaCB3b3VsZCB3cmVhayBoYXZvYyBvbiB0aGUgaGVscGVyJ3MgZXhwZWN0YXRpb24gbGlzdCBhbmQgdGhlIGludGVncml0eSBvZiB0aGUgY29ubmVjdGlvbiB0cmFja2luZy5cblxuVGhpcyBpcyBhICoqZnVuY3Rpb25hbCBjaGFuZ2UqKiBpbiB0aGUgY29yZSBuZXRmaWx0ZXIgY29ubnRyYWNrIGxvZ2ljLiBJdCdzIGFpbWVkIGF0IHByZXZlbnRpbmcgYSBwb3RlbnRpYWwgY29uY3VycmVuY3kgaXNzdWUgd2l0aCBwb2ludGVyIG1hbmFnZW1lbnQgYnkgbWFraW5nIHRoZSBhbGxvY2F0aW9uIG1vcmUgcmVzaWxpZW50LiBUaGlzIGlzIGRlZmluaXRlbHkgc29tZXRoaW5nIHRoYXQgbmVlZHMgdG8gYmUgZnV6emVkLlxuXG5SZWdhcmRpbmcgY29uZmlndXJhdGlvbiwgSSdsbCBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgcmVsZXZhbnQgb3B0aW9ucyBhcmUgZW5hYmxlZCBpbiBteSBmdXp6aW5nIHNldHVwLiBJJ20gdGhpbmtpbmc6IGBORl9DT05OVFJBQ0tgLCBgTkZfTkFUYCwgYE5GX0NPTk5UUkFDS19FVkVOVFNgLCBgTkZfQ09OTlRSQUNLX1RJTUVTVEFNUGAsIGBORl9DT05OVFJBQ0tfVElNRU9VVGAsIGBORl9DT05OVFJBQ0tfTEFCRUxTYCwgYE5FVEZJTFRFUl9TWU5QUk9YWWAsIGFuZCBgTkVUX0FDVF9DVGAuXG5cbkFscmlnaHQsIEknbGwgc2V0IHRoZSBmdXp6aW5nIHJlc3VsdHMgYWNjb3JkaW5nbHkuIFRoaXMgaXMgYSBzb2xpZCBzdGFydGluZyBwb2ludCBmb3IgZnV6emluZyB0aGlzIHBhdGNoLlxuXG5cbiIsIklucHV0VG9rZW5zIjo4NTYxLCJPdXRwdXRUb2tlbnMiOjE4OSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI0MCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQyMTo0OTozNC45NjMyODg0ODVaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg3MzEwOTc4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJORl9DT05OVFJBQ0tcIixcbiAgICBcIk5GX05BVFwiLFxuICAgIFwiTkZfQ09OTlRSQUNLX0VWRU5UU1wiLFxuICAgIFwiTkZfQ09OTlRSQUNLX1RJTUVTVEFNUFwiLFxuICAgIFwiTkZfQ09OTlRSQUNLX1RJTUVPVVRcIixcbiAgICBcIk5GX0NPTk5UUkFDS19MQUJFTFNcIixcbiAgICBcIk5FVEZJTFRFUl9TWU5QUk9YWVwiLFxuICAgIFwiTkVUX0FDVF9DVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5mX2N0X2V4dF9hZGRcIixcbiAgICBcIm5mX2N0X2hlbHBlcl9leHRfYWRkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIG1lbW9yeSBhbGxvY2F0aW9uIGxvZ2ljIGZvciBjb25udHJhY2sgZXh0ZW5zaW9ucywgc3BlY2lmaWNhbGx5IGVuc3VyaW5nIHRoYXQgd2hlbiB0aGUgaGVscGVyIGV4dGVuc2lvbiBpcyBhZGRlZCwgZW5vdWdoIG1lbW9yeSBpcyBhbGxvY2F0ZWQgZm9yIGFsbCBwb3NzaWJsZSBleHRlbnNpb25zIHRvIHByZXZlbnQgZnV0dXJlIHJlYWxsb2NhdGlvbnMgdGhhdCB3b3VsZCBpbnZhbGlkYXRlIHBvaW50ZXJzIHVzZWQgYnkgdGhlIGhlbHBlciBleHRlbnNpb24ncyBleHBlY3RhdGlvbiBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgbmV0ZmlsdGVyIGNvbm50cmFjayBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJORl9DT05OVFJBQ0tcIixcbiAgICBcIk5GX05BVFwiLFxuICAgIFwiTkZfQ09OTlRSQUNLX0VWRU5UU1wiLFxuICAgIFwiTkZfQ09OTlRSQUNLX1RJTUVTVEFNUFwiLFxuICAgIFwiTkZfQ09OTlRSQUNLX1RJTUVPVVRcIixcbiAgICBcIk5GX0NPTk5UUkFDS19MQUJFTFNcIixcbiAgICBcIk5FVEZJTFRFUl9TWU5QUk9YWVwiLFxuICAgIFwiTkVUX0FDVF9DVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5mX2N0X2V4dF9hZGRcIixcbiAgICBcIm5mX2N0X2hlbHBlcl9leHRfYWRkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIG1lbW9yeSBhbGxvY2F0aW9uIGxvZ2ljIGZvciBjb25udHJhY2sgZXh0ZW5zaW9ucywgc3BlY2lmaWNhbGx5IGVuc3VyaW5nIHRoYXQgd2hlbiB0aGUgaGVscGVyIGV4dGVuc2lvbiBpcyBhZGRlZCwgZW5vdWdoIG1lbW9yeSBpcyBhbGxvY2F0ZWQgZm9yIGFsbCBwb3NzaWJsZSBleHRlbnNpb25zIHRvIHByZXZlbnQgZnV0dXJlIHJlYWxsb2NhdGlvbnMgdGhhdCB3b3VsZCBpbnZhbGlkYXRlIHBvaW50ZXJzIHVzZWQgYnkgdGhlIGhlbHBlciBleHRlbnNpb24ncyBleHBlY3RhdGlvbiBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgbmV0ZmlsdGVyIGNvbm50cmFjayBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+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-workflowhk74f[1] Phase: Succeeded StartedAt: 2026-07-15 21:49:46 +0000 UTC FinishedAt: 2026-07-15 21:49:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-15 21:49:46 +0000 UTC FinishedAt: 2026-07-15 21:49:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2] Phase: Succeeded StartedAt: 2026-07-15 21:49:46 +0000 UTC FinishedAt: 2026-07-16 02:09:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-15 21:49:47 +0000 UTC FinishedAt: 2026-07-16 02:09:04 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-15 21:49:47 +0000 UTC FinishedAt: 2026-07-15 21:49:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-15 21:49:47 +0000 UTC FinishedAt: 2026-07-15 21:49:53 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.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-workflowhk74f/series-workflowhk74f-convert-artifact-2080457913/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-15 21:49:57 +0000 UTC FinishedAt: 2026-07-15 22:19:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-15 21:49:57 +0000 UTC FinishedAt: 2026-07-15 22:19:42 +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:*88feae5d-54b7-4b90-a84b-748bb3e20ad4,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-workflowhk74f/series-workflowhk74f-convert-artifact-2080457913/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": "39958bbd-b262-49d8-824f-f2eca00d7d11", "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-workflowhk74f/series-workflowhk74f-build-action-3662000599/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-15 21:49:57 +0000 UTC FinishedAt: 2026-07-15 22:19:14 +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:*88feae5d-54b7-4b90-a84b-748bb3e20ad4,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-workflowhk74f/series-workflowhk74f-convert-artifact-2080457913/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": "39958bbd-b262-49d8-824f-f2eca00d7d11", "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-workflowhk74f/series-workflowhk74f-build-action-3662000599/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-15 22:19:42 +0000 UTC FinishedAt: 2026-07-15 22:19:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-15 22:19:42 +0000 UTC FinishedAt: 2026-07-15 22:19:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-15 22:19:42 +0000 UTC FinishedAt: 2026-07-15 22:19:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-15 22:19:42 +0000 UTC FinishedAt: 2026-07-15 22:19:48 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.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-workflowhk74f/series-workflowhk74f-convert-artifact-3622497420/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-15 22:19:52 +0000 UTC FinishedAt: 2026-07-15 22:22:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-15 22:19:52 +0000 UTC FinishedAt: 2026-07-15 22:21:51 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*39958bbd-b262-49d8-824f-f2eca00d7d11,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-workflowhk74f/series-workflowhk74f-build-action-3662000599/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-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-15 22:22:01 +0000 UTC FinishedAt: 2026-07-15 22:22:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-15 22:22:01 +0000 UTC FinishedAt: 2026-07-15 22:22:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-15 22:22:01 +0000 UTC FinishedAt: 2026-07-15 23:02:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-15 22:22:01 +0000 UTC FinishedAt: 2026-07-15 23:02:35 +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:*88feae5d-54b7-4b90-a84b-748bb3e20ad4,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-workflowhk74f/series-workflowhk74f-convert-artifact-3622497420/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": "a4515b3c-428d-4962-a084-bb154b0b2560", "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-workflowhk74f/series-workflowhk74f-build-action-768954536/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-15 22:22:01 +0000 UTC FinishedAt: 2026-07-15 23:02:26 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*88feae5d-54b7-4b90-a84b-748bb3e20ad4,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-workflowhk74f/series-workflowhk74f-convert-artifact-3622497420/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": "a4515b3c-428d-4962-a084-bb154b0b2560", "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-workflowhk74f/series-workflowhk74f-build-action-768954536/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-15 23:02:35 +0000 UTC FinishedAt: 2026-07-15 23:02:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-15 23:02:35 +0000 UTC FinishedAt: 2026-07-15 23:02:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-15 23:02:35 +0000 UTC FinishedAt: 2026-07-15 23:04:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-15 23:02:35 +0000 UTC FinishedAt: 2026-07-15 23:04:40 +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:*a4515b3c-428d-4962-a084-bb154b0b2560,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-workflowhk74f/series-workflowhk74f-build-action-768954536/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-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-15 23:04:50 +0000 UTC FinishedAt: 2026-07-16 02:09:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-15 23:04:50 +0000 UTC FinishedAt: 2026-07-16 02:09:04 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"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:*39958bbd-b262-49d8-824f-f2eca00d7d11,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*a4515b3c-428d-4962-a084-bb154b0b2560,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-workflowhk74f/series-workflowhk74f-build-action-3662000599/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-workflowhk74f/series-workflowhk74f-build-action-768954536/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-15 23:04:50 +0000 UTC FinishedAt: 2026-07-15 23:05:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-15 23:04:50 +0000 UTC FinishedAt: 2026-07-15 23:05:00 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"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-workflowhk74f/series-workflowhk74f-convert-artifact-4135343605/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-15 23:04:50 +0000 UTC FinishedAt: 2026-07-15 23:04:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-15 23:04:50 +0000 UTC FinishedAt: 2026-07-15 23:04:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-15 23:04:50 +0000 UTC FinishedAt: 2026-07-15 23:04:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-15 23:05:10 +0000 UTC FinishedAt: 2026-07-16 02:09:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowhk74f[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["nf_ct_ext_add","nf_ct_helper_ext_add"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["NF_CONNTRACK","NF_NAT","NF_CONNTRACK_EVENTS","NF_CONNTRACK_TIMESTAMP","NF_CONNTRACK_TIMEOUT","NF_CONNTRACK_LABELS","NETFILTER_SYNPROXY","NET_ACT_CT"],"series_id":"968e8b73-a0ef-47fb-bfff-02de130de019","tree_name":"nf","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-15 23:05:10 +0000 UTC FinishedAt: 2026-07-16 02:08:54 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*39958bbd-b262-49d8-824f-f2eca00d7d11,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*a4515b3c-428d-4962-a084-bb154b0b2560,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-workflowhk74f/series-workflowhk74f-build-action-3662000599/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-workflowhk74f/series-workflowhk74f-build-action-768954536/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-workflowhk74f/series-workflowhk74f-convert-artifact-4135343605/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,}