Name: series-workflow2h62b Phase: Succeeded StartedAt: 2026-07-23 22:41:51 +0000 UTC FinishedAt: 2026-07-24 03:01:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[0] Phase: Succeeded StartedAt: 2026-07-23 22:41:51 +0000 UTC FinishedAt: 2026-07-23 22:56:43 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[0].run-triage Phase: Succeeded StartedAt: 2026-07-23 22:41:51 +0000 UTC FinishedAt: 2026-07-23 22:56:43 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "axboe", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git", "commit_hash": "8cd9520d35a6c38db6567e97dd93b1f11f185dc6", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "axboe", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git", "commit_hash": "8cd9520d35a6c38db6567e97dd93b1f11f185dc6", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "e86602f6-ebf4-4424-8cd3-7fe868fda232" }, "track": "KASAN", "fuzz": { "focus": null, "focus_symbols": [ "nbd_genl_size_set", "nbd_size_set", "nbd_size_update" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIzIDIyOjU2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfTkJEJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmJkX2dlbmxfc2l6ZV9zZXQmIzM0OywKICAgICYjMzQ7bmJkX3NpemVfc2V0JiMzNDssCiAgICAmIzM0O25iZF9zaXplX3VwZGF0ZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgc2l6ZSB1cGRhdGluZyBsb2dpYyBpbiB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgKE5CRCkgZHJpdmVyLCBzcGVjaWZpY2FsbHkgaGFuZGxpbmcgbmV0bGluayBtZXNzYWdlcyB0byBzZXQgdGhlIHNpemUuIEl0IGludHJvZHVjZXMgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgIHRvIGFsbG93IHNldHRpbmcgdGhlIHNpemUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYmxvY2sgc2l6ZSwgYXZvaWRpbmcgdW5uZWNlc3NhcnkgcXVldWUgbGltaXRzIHVwZGF0ZXMuIEl0IGFsc28gYWRkcyBibG9jayBzaXplIHZhbGlkYXRpb24uIFRoaXMgaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvcmUgZHJpdmVyIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMyAyMjo1NjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGZkYjg5YmMxYTcwZTg3ZmI3YTI5YzJlMzUyNmNkOGZiZGIwOGI4YmZcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEp1bCAyMyAyMjo1NjowOSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuaW5kZXggZmU2M2YzYzU1ZDBkOTYuLjU2N2IwMzFlYzUwNTliIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ibG9jay9uYmQuY1xuQEAgLTMzMSw2ICYjNDM7MzMxLDI3IEBAIHN0YXRpYyB2b2lkIG5iZF9tYXJrX25zb2NrX2RlYWQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgc3RydWN0IG5iZF9zb2NrICpuc29jayxcbiBcdG5zb2NrLVx1MDAzZXNlbnQgPSAwO1xuIH1cbiBcbiYjNDM7c3RhdGljIHZvaWQgbmJkX3NpemVfdXBkYXRlKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG4mIzQzO3tcbiYjNDM7XHRzdHJ1Y3QgbmJkX2NvbmZpZyAqY29uZmlnID0gbmJkLVx1MDAzZWNvbmZpZztcbiYjNDM7XG4mIzQzO1x0aWYgKG1heF9wYXJ0KVxuJiM0MztcdFx0c2V0X2JpdChHRF9ORUVEX1BBUlRfU0NBTiwgXHUwMDI2bmJkLVx1MDAzZWRpc2stXHUwMDNlc3RhdGUpO1xuJiM0MztcdGlmICghc2V0X2NhcGFjaXR5X2FuZF9ub3RpZnkobmJkLVx1MDAzZWRpc2ssIGNvbmZpZy1cdTAwM2VieXRlc2l6ZSBcdTAwM2VcdTAwM2UgOSkpXG4mIzQzO1x0XHRrb2JqZWN0X3VldmVudChcdTAwMjZuYmRfdG9fZGV2KG5iZCktXHUwMDNla29iaiwgS09CSl9DSEFOR0UpO1xuJiM0Mzt9XG4mIzQzO1xuJiM0MztzdGF0aWMgaW50IG5iZF9zaXplX3NldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUpXG4mIzQzO3tcbiYjNDM7XHRpZiAoYnl0ZXNpemUgXHUwMDNjIDApXG4mIzQzO1x0XHRyZXR1cm4gLUVJTlZBTDtcbiYjNDM7XG4mIzQzO1x0bmJkLVx1MDAzZWNvbmZpZy1cdTAwM2VieXRlc2l6ZSA9IGJ5dGVzaXplO1xuJiM0MztcdGlmIChuYmQtXHUwMDNlcGlkKVxuJiM0MztcdFx0bmJkX3NpemVfdXBkYXRlKG5iZCk7XG4mIzQzO1x0cmV0dXJuIDA7XG4mIzQzO31cbiYjNDM7XG4gc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSlcbiB7XG4gXHRzdHJ1Y3QgcXVldWVfbGltaXRzIGxpbTtcbkBAIC0zNzUsMTAgJiM0MzszOTYsNyBAQCBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKVxuIFx0aWYgKGVycm9yKVxuIFx0XHRyZXR1cm4gZXJyb3I7XG4gXG4tXHRpZiAobWF4X3BhcnQpXG4tXHRcdHNldF9iaXQoR0RfTkVFRF9QQVJUX1NDQU4sIFx1MDAyNm5iZC1cdTAwM2VkaXNrLVx1MDAzZXN0YXRlKTtcbi1cdGlmICghc2V0X2NhcGFjaXR5X2FuZF9ub3RpZnkobmJkLVx1MDAzZWRpc2ssIGJ5dGVzaXplIFx1MDAzZVx1MDAzZSA5KSlcbi1cdFx0a29iamVjdF91ZXZlbnQoXHUwMDI2bmJkX3RvX2RldihuYmQpLVx1MDAzZWtvYmosIEtPQkpfQ0hBTkdFKTtcbiYjNDM7XHRuYmRfc2l6ZV91cGRhdGUobmJkKTtcbiBcdHJldHVybiAwO1xuIH1cbiBcbkBAIC0yMDYyLDExICYjNDM7MjA4MCwxOSBAQCBzdGF0aWMgaW50IG5iZF9nZW5sX3NpemVfc2V0KHN0cnVjdCBnZW5sX2luZm8gKmluZm8sIHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG4gXHRpZiAoaW5mby1cdTAwM2VhdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSlcbiBcdFx0Ynl0ZXMgPSBubGFfZ2V0X3U2NChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX1NJWkVfQllURVNdKTtcbiBcbi1cdGlmIChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKVxuJiM0MztcdGlmIChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKSB7XG4gXHRcdGJzaXplID0gbmxhX2dldF91NjQoaW5mby1cdTAwM2VhdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSk7XG4mIzQzO1x0XHRpZiAoIWJzaXplKVxuJiM0MztcdFx0XHRic2l6ZSA9IDF1IFx1MDAzY1x1MDAzYyBOQkRfREVGX0JMS1NJWkVfQklUUztcbiYjNDM7XHRcdGlmIChibGtfdmFsaWRhdGVfYmxvY2tfc2l6ZShic2l6ZSkpXG4mIzQzO1x0XHRcdHJldHVybiAtRUlOVkFMO1xuJiM0MztcdH1cbiBcbi1cdGlmIChieXRlcyAhPSBjb25maWctXHUwMDNlYnl0ZXNpemUgfHwgYnNpemUgIT0gbmJkX2Jsa3NpemUoY29uZmlnKSlcbi1cdFx0cmV0dXJuIG5iZF9zZXRfc2l6ZShuYmQsIGJ5dGVzLCBic2l6ZSk7XG4mIzQzO1x0aWYgKGJ5dGVzICE9IGNvbmZpZy1cdTAwM2VieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKSB7XG4mIzQzO1x0XHRpZiAoYnNpemUgIT0gbmJkX2Jsa3NpemUoY29uZmlnKSlcbiYjNDM7XHRcdFx0cmV0dXJuIG5iZF9zZXRfc2l6ZShuYmQsIGJ5dGVzLCBic2l6ZSk7XG4mIzQzO1x0XHRyZXR1cm4gbmJkX3NpemVfc2V0KG5iZCwgYnl0ZXMpO1xuJiM0MztcdH1cbiBcdHJldHVybiAwO1xuIH1cbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMyAyMjo1NjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9OQkQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuYmRfZ2VubF9zaXplX3NldCYjMzQ7LAogICAgJiMzNDtuYmRfc2l6ZV9zZXQmIzM0OywKICAgICYjMzQ7bmJkX3NpemVfdXBkYXRlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBzaXplIHVwZGF0aW5nIGxvZ2ljIGluIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSAoTkJEKSBkcml2ZXIsIHNwZWNpZmljYWxseSBoYW5kbGluZyBuZXRsaW5rIG1lc3NhZ2VzIHRvIHNldCB0aGUgc2l6ZS4gSXQgaW50cm9kdWNlcyBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAgdG8gYWxsb3cgc2V0dGluZyB0aGUgc2l6ZSB3aXRob3V0IGNoYW5naW5nIHRoZSBibG9jayBzaXplLCBhdm9pZGluZyB1bm5lY2Vzc2FyeSBxdWV1ZSBsaW1pdHMgdXBkYXRlcy4gSXQgYWxzbyBhZGRzIGJsb2NrIHNpemUgdmFsaWRhdGlvbi4gVGhpcyBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwgY29yZSBkcml2ZXIgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBmZGI4OWJjMWE3MGU4N2ZiN2EyOWMyZTM1MjZjZDhmYmRiMDhiOGJmCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFRodSBKdWwgMjMgMjI6NTY6MDkgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuYwppbmRleCBmZTYzZjNjNTVkMGQ5Ni4uNTY3YjAzMWVjNTA1OWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svbmJkLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ibG9jay9uYmQuYwpAQCAtMzMxLDYgJiM0MzszMzEsMjcgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLAogCW5zb2NrLSZndDtzZW50ID0gMDsKIH0KIAomIzQzO3N0YXRpYyB2b2lkIG5iZF9zaXplX3VwZGF0ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKQomIzQzO3sKJiM0MzsJc3RydWN0IG5iZF9jb25maWcgKmNvbmZpZyA9IG5iZC0mZ3Q7Y29uZmlnOwomIzQzOwomIzQzOwlpZiAobWF4X3BhcnQpCiYjNDM7CQlzZXRfYml0KEdEX05FRURfUEFSVF9TQ0FOLCAmYW1wO25iZC0mZ3Q7ZGlzay0mZ3Q7c3RhdGUpOwomIzQzOwlpZiAoIXNldF9jYXBhY2l0eV9hbmRfbm90aWZ5KG5iZC0mZ3Q7ZGlzaywgY29uZmlnLSZndDtieXRlc2l6ZSAmZ3Q7Jmd0OyA5KSkKJiM0MzsJCWtvYmplY3RfdWV2ZW50KCZhbXA7bmJkX3RvX2RldihuYmQpLSZndDtrb2JqLCBLT0JKX0NIQU5HRSk7CiYjNDM7fQomIzQzOwomIzQzO3N0YXRpYyBpbnQgbmJkX3NpemVfc2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSkKJiM0Mzt7CiYjNDM7CWlmIChieXRlc2l6ZSAmbHQ7IDApCiYjNDM7CQlyZXR1cm4gLUVJTlZBTDsKJiM0MzsKJiM0MzsJbmJkLSZndDtjb25maWctJmd0O2J5dGVzaXplID0gYnl0ZXNpemU7CiYjNDM7CWlmIChuYmQtJmd0O3BpZCkKJiM0MzsJCW5iZF9zaXplX3VwZGF0ZShuYmQpOwomIzQzOwlyZXR1cm4gMDsKJiM0Mzt9CiYjNDM7CiBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKQogewogCXN0cnVjdCBxdWV1ZV9saW1pdHMgbGltOwpAQCAtMzc1LDEwICYjNDM7Mzk2LDcgQEAgc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSkKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIAotCWlmIChtYXhfcGFydCkKLQkJc2V0X2JpdChHRF9ORUVEX1BBUlRfU0NBTiwgJmFtcDtuYmQtJmd0O2Rpc2stJmd0O3N0YXRlKTsKLQlpZiAoIXNldF9jYXBhY2l0eV9hbmRfbm90aWZ5KG5iZC0mZ3Q7ZGlzaywgYnl0ZXNpemUgJmd0OyZndDsgOSkpCi0JCWtvYmplY3RfdWV2ZW50KCZhbXA7bmJkX3RvX2RldihuYmQpLSZndDtrb2JqLCBLT0JKX0NIQU5HRSk7CiYjNDM7CW5iZF9zaXplX3VwZGF0ZShuYmQpOwogCXJldHVybiAwOwogfQogCkBAIC0yMDYyLDExICYjNDM7MjA4MCwxOSBAQCBzdGF0aWMgaW50IG5iZF9nZW5sX3NpemVfc2V0KHN0cnVjdCBnZW5sX2luZm8gKmluZm8sIHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpCiAJaWYgKGluZm8tJmd0O2F0dHJzW05CRF9BVFRSX1NJWkVfQllURVNdKQogCQlieXRlcyA9IG5sYV9nZXRfdTY0KGluZm8tJmd0O2F0dHJzW05CRF9BVFRSX1NJWkVfQllURVNdKTsKIAotCWlmIChpbmZvLSZndDthdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSkKJiM0MzsJaWYgKGluZm8tJmd0O2F0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKSB7CiAJCWJzaXplID0gbmxhX2dldF91NjQoaW5mby0mZ3Q7YXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pOwomIzQzOwkJaWYgKCFic2l6ZSkKJiM0MzsJCQlic2l6ZSA9IDF1ICZsdDsmbHQ7IE5CRF9ERUZfQkxLU0laRV9CSVRTOwomIzQzOwkJaWYgKGJsa192YWxpZGF0ZV9ibG9ja19zaXplKGJzaXplKSkKJiM0MzsJCQlyZXR1cm4gLUVJTlZBTDsKJiM0MzsJfQogCi0JaWYgKGJ5dGVzICE9IGNvbmZpZy0mZ3Q7Ynl0ZXNpemUgfHwgYnNpemUgIT0gbmJkX2Jsa3NpemUoY29uZmlnKSkKLQkJcmV0dXJuIG5iZF9zZXRfc2l6ZShuYmQsIGJ5dGVzLCBic2l6ZSk7CiYjNDM7CWlmIChieXRlcyAhPSBjb25maWctJmd0O2J5dGVzaXplIHx8IGJzaXplICE9IG5iZF9ibGtzaXplKGNvbmZpZykpIHsKJiM0MzsJCWlmIChic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKQomIzQzOwkJCXJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpOwomIzQzOwkJcmV0dXJuIG5iZF9zaXplX3NldChuYmQsIGJ5dGVzKTsKJiM0MzsJfQogCXJldHVybiAwOwogfQogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIzIDIyOjU2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI2MjcKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAyODAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBOQkQgU2l6ZSBVcGRhdGUgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBkcml2ZXJzL2Jsb2NrL25iZC5jYCBhbmQgbXkgaW5pdGlhbCBpbXByZXNzaW9uIGlzIHRoYXQgaXQmIzM5O3MgYSBzaXplLXJlbGF0ZWQgbW9kaWZpY2F0aW9uLCB3aGljaCBpcyBhbHdheXMgaW50ZXJlc3RpbmcgZnJvbSBhIGJsb2NrIGRldmljZSBwZXJzcGVjdGl2ZS4gVGhleSYjMzk7dmUgaW50cm9kdWNlZCBgbmJkX3NpemVfdXBkYXRlYCBhbmQgYG5iZF9zaXplX3NldGAgZnVuY3Rpb25zLCBhbmQgdGhleSYjMzk7dmUgdG91Y2hlZCB1cCBgbmJkX3NldF9zaXplYCBhbmQgYG5iZF9nZW5sX3NpemVfc2V0YC4gVGhlIGNvcmUgY2hhbmdlIHNlZW1zIHRvIHJldm9sdmUgYXJvdW5kIGEgbW9yZSBlZmZpY2llbnQgd2F5IHRvIHVwZGF0ZSB0aGUgc2l6ZSBvZiBhbiBOQkQgZGV2aWNlLgoKU3BlY2lmaWNhbGx5LCBpdCBsb29rcyBsaWtlIGBuYmRfZ2VubF9zaXplX3NldGAgaXMgbm93IHRoZSBoYW5kbGVyIGZvciBOZXRsaW5rIG1lc3NhZ2VzIHRoYXQgYXJlIGRlc2lnbmVkIHRvIHNldCB0aGUgc2l6ZS4gVGhlIGtleSBoZXJlIGlzIHRoYXQgdGhleSYjMzk7cmUgbm93IGFibGUgdG8gc2V0IHRoZSBkZXZpY2Ugc2l6ZSB3aXRob3V0IG5lY2Vzc2FyaWx5IGFsc28gY2hhbmdpbmcgdGhlIGJsb2NrIHNpemUuIFRoaXMgaXMgYSBnb29kIG9wdGltaXphdGlvbjsgaXQgbGV2ZXJhZ2VzIGBuYmRfc2l6ZV9zZXRgIGRpcmVjdGx5LiBUaGlzIGF2b2lkcyBjYWxsaW5nIHRoZSBtb3JlIGhlYXZ5d2VpZ2h0IGBuYmRfc2V0X3NpemVgIGZ1bmN0aW9uLCB3aGljaCwgYXMgd2Uga25vdywgaGFzIHRvIGhhbmRsZSB1cGRhdGluZyBxdWV1ZSBsaW1pdHMgYW5kIHRoZSBsaWtlLiBJdCBhcHBlYXJzIHRoYXQgYGJsa192YWxpZGF0ZV9ibG9ja19zaXplKGJzaXplKWAgaGFzIGJlZW4gYWRkZWQgdG8gdmFsaWRhdGUgYGJzaXplYCwgd2hpY2ggaXMgYSBnb29kIHNhZmV0eSBtZWFzdXJlLgoKTm93LCBsZXQmIzM5O3MganVzdCBtYWtlIHN1cmUgdGhlIGNvbmZpZyBpcyBlbmFibGVkLiBJJiMzOTtsbCBxdWlja2x5IGNoZWNrIGZvciBgQ09ORklHX0JMS19ERVZfTkJEYC4gR29vZCwgdGhhdCBzaG91bGQgYmUgc2V0LCBzbyB3ZSBjYW4gYmUgY2VydGFpbiB0aGF0IHdlIGFyZSB3b3JraW5nIGluIGEgdmFsaWQgY29uZmlndXJhdGlvbi4KCk15IG5leHQgc3RlcCBpcyB0byBjb25maXJtIHRoZSByZWFjaGFiaWxpdHkgYW5kIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGNvcmUgZnVuY3Rpb25zLiBJIHdpbGwgc3RhcnQgYnkgdmVyaWZ5aW5nIGBuYmRfZ2VubF9zaXplX3NldGAsIGBuYmRfc2l6ZV9zZXRgLCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAuIEkgbmVlZCB0byBlbnN1cmUgdGhlc2UgYXJlIGFjdHVhbGx5IGJlaW5nIGNhbGxlZCBpbiB0aGUgYXBwcm9wcmlhdGUgY29udGV4dHMuIEFzIGEgZm9sbG93LXVwLCBJIHdpbGwgcmUtZXhhbWluZSBgbmJkX3NldF9zaXplYCBmb3IgYW55IHNpZGUgZWZmZWN0cyBmcm9tIHRoZSBwYXRjaC4KCkkmIzM5O2xsIHB1dCB0aG9zZSBzeW1ib2xzIHVuZGVyIHRoZSBtaWNyb3Njb3BlOgpgbmJkX2dlbmxfc2l6ZV9zZXRgCmBuYmRfc2l6ZV9zZXRgCmBuYmRfc2l6ZV91cGRhdGVgCmBuYmRfc2V0X3NpemVgCgpGaW5hbGx5LCBhIHF1aWNrIGNvbmZpZyBjaGVjayB0byBtYWtlIHN1cmUgZXZlcnl0aGluZyBpcyBhcyBJIGV4cGVjdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMyAyMjo1NjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgQkxLX0RFVl9OQkQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9LY29uZmlnPTE5ND1zb3VyY2UgXCYjMzQ7ZHJpdmVycy9ibG9jay9kcmJkL0tjb25maWdcJiMzNDtcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0xOTUtXG5kcml2ZXJzL2Jsb2NrL0tjb25maWc6MTk2OmNvbmZpZyBCTEtfREVWX05CRFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5Ny1cdHRyaXN0YXRlIFwmIzM0O05ldHdvcmsgYmxvY2sgZGV2aWNlIHN1cHBvcnRcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMyAyMjo1NjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNTAzCgkJCQkJCQlvdXRwdXQ6IDM3CgkJCQkJCQl0aG91Z2h0czogNTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSBjb25maWd1cmF0aW9uczoKCioqQW5hbHl6aW5nIHRoZSBOQkQgRHJpdmVyIENvbmZpZ3VyYXRpb24gT3B0aW9ucyoqCgpBbHJpZ2h0LCBteSBpbml0aWFsIGZvY3VzIGlzIG9uIGBCTEtfREVWX05CRGAuIFRoYXQmIzM5O3MgdGhlIHByaW1hcnkgY29uZmlndXJhdGlvbiBvcHRpb24gZm9yIE5ldHdvcmsgQmxvY2sgRGV2aWNlIHN1cHBvcnQsIHNvIHRoYXQmIzM5O3Mgd2hlcmUgSSBuZWVkIHRvIHN0YXJ0LiBGcm9tIHRoZXJlLCBJJiMzOTtsbCBuZWVkIHRvIHNlZSBpZiB0aGVyZSBhcmUgb3RoZXIsIHJlbGF0ZWQgY29uZmlndXJhdGlvbnMgdGhhdCBtaWdodCBhZmZlY3QgaXRzIGJlaGF2aW9yLgoKTXkgbmV4dCBzdG9wIGlzIGBuYmRfZ2VubF9zaXplX3NldGAuIFRoZSBuYW1pbmcgc3VnZ2VzdHMgdGhhdCB0aGlzIGlzIGEgTmV0bGluayBoYW5kbGVyLCBsaWtlbHkgaW52b2x2ZWQgaW4gbWFuYWdpbmcgb3Igc2V0dGluZyBzaXplLXJlbGF0ZWQgcGFyYW1ldGVycy4gVGhpcyB3YXJyYW50cyBmdXJ0aGVyIGludmVzdGlnYXRpb24gdG8gdW5kZXJzdGFuZCBpdHMgcm9sZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBCTEtfREVWX05CRGAuIEkmIzM5O2xsIG5lZWQgdG8gZXhhbWluZSB0aGUgcmVzdCBvZiB0aGUgZmlsZSB0byBncmFzcCB0aGUgYmlnZ2VyIHBpY3R1cmUgYW5kIGhvdyB0aGVzZSBwaWVjZXMgZml0IHRvZ2V0aGVyLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIzIDIyOjU2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O25iZF9nZW5sX3NpemVfc2V0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9uYmQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL25iZC5jPTIwNjk9bmJkX2RldmljZV9wb2xpY3lbTkJEX0RFVklDRV9BVFRSX01BWCAmIzQzOyAxXSA9IHtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIwNzMtXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjIwNzQ6c3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuZHJpdmVycy9ibG9jay9uYmQuYy0yMDc1LXtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTIwOTk9c3RhdGljIGludCBuYmRfZ2VubF9jb25uZWN0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0yMTc3LVx0c2V0X2JpdChOQkRfUlRfQk9VTkQsIFx1MDAyNmNvbmZpZy1cdTAwM2VydW50aW1lX2ZsYWdzKTtcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjE3ODpcdHJldCA9IG5iZF9nZW5sX3NpemVfc2V0KGluZm8sIG5iZCk7XG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIxNzktXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmM9MjMzNj1zdGF0aWMgaW50IG5iZF9nZW5sX3JlY29uZmlndXJlKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0yMzk4LVxuZHJpdmVycy9ibG9jay9uYmQuYzoyMzk5Olx0cmV0ID0gbmJkX2dlbmxfc2l6ZV9zZXQoaW5mbywgbmJkKTtcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjQwMC1cdGlmIChyZXQpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjMgMjI6NTY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDEyNwoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDY0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd24gcmVhc29uaW5nOgoKKipBbmFseXppbmcgTmV0bGluayBPcGVyYXRpb25zIGFuZCBTaXplIE1hbmFnZW1lbnQqKgoKQWxyaWdodCwgc28gSSBzZWUgYG5iZF9nZW5sX3NpemVfc2V0YCBnZXRzIGludm9rZWQgZnJvbSBib3RoIGBuYmRfZ2VubF9jb25uZWN0YCBhbmQgYG5iZF9nZW5sX3JlY29uZmlndXJlYC4gIENsZWFybHksIHRoZXNlIGFyZSBuZXRsaW5rIG9wZXJhdGlvbnMsIHNvIHRoYXQmIzM5O3MgdGhlIGNvbnRleHQuICBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgd2hhdCYjMzk7cyBoYXBwZW5pbmcgd2l0aCB0aGUgc2l6ZT8gV2UmIzM5O3JlIHNldHRpbmcgaXQsIGFuZCBwb3RlbnRpYWxseSByZWNvbmZpZ3VyaW5nIGl0LCB2aWEgbmV0bGluayBjYWxscy4gSXQgc291bmRzIGltcG9ydGFudCB0byBmb2xsb3cgdGhhdCB0aHJlYWQuCgpUaGVyZWZvcmUsIHRoZSBuZXh0IHN0ZXAgaXMgdG8gZHJpbGwgZG93biBpbnRvIHRoZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIG9mICBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAuIFRoZXkgbGlrZWx5IGhhbmRsZSB0aGUgY29yZSBsb2dpYyBvZiAqaG93KiB0aGUgc2l6ZSBpcyBjaGFuZ2VkIGFuZCB3aGF0IHNpZGUtZWZmZWN0cyB0aGUgb3BlcmF0aW9uIHRyaWdnZXJzLiBJIHdhbnQgdG8gdW5kZXJzdGFuZCBleGFjdGx5IHdoYXQgcGFyYW1ldGVycyB0aGV5IHJlY2VpdmUsIHdoYXQgY2hlY2tzIGFyZSBwZXJmb3JtZWQsIGFuZCB3aGF0IG90aGVyIGRhdGEgc3RydWN0dXJlcyBvciBrZXJuZWwgc3Vic3lzdGVtcyBhcmUgc3Vic2VxdWVudGx5IGltcGFjdGVkLiBBcmUgdGhlcmUgYW55IHJhY2UgY29uZGl0aW9ucyBJIHNob3VsZCBiZSBjb25zaWRlcmluZz8gV2hhdCBhYm91dCBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlcz8gVGhpcyBuZWVkcyBhIGNsb3NlciBsb29rLCBlc3BlY2lhbGx5IGluIHRoZSBjb250ZXh0IG9mIGBjb25uZWN0YCBhbmQgYHJlY29uZmlndXJlYCBldmVudHMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjMgMjI6NTY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bmJkX3NpemVfc2V0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9uYmQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL25iZC5jPTMzND1zdGF0aWMgdm9pZCBuYmRfc2l6ZV91cGRhdGUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTM0My1cbmRyaXZlcnMvYmxvY2svbmJkLmM6MzQ0OnN0YXRpYyBpbnQgbmJkX3NpemVfc2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSlcbmRyaXZlcnMvYmxvY2svbmJkLmMtMzQ1LXtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTIwNzQ9c3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmMtMjA5My1cdFx0XHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjA5NDpcdFx0cmV0dXJuIG5iZF9zaXplX3NldChuYmQsIGJ5dGVzKTtcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjA5NS1cdH1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMyAyMjo1NjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NzA3CgkJCQkJCQlvdXRwdXQ6IDE1NAoJCQkJCQkJdGhvdWdodHM6IDE1OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIHRoZSBOQkQgU2l6ZSBVcGRhdGUgTG9naWMqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyBsaXZlIGFuZCB0b3VjaGVzIHRoZSBjb3JlIG9mIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSAoTkJEKSBkcml2ZXIg4oCTIHNwZWNpZmljYWxseSwgaG93IGl0IGhhbmRsZXMgc2V0dGluZyB0aGUgZGV2aWNlIHNpemUuICBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgKnllcyosIHRoaXMgZGVmaW5pdGVseSBuZWVkcyBmdXp6aW5nLiAgV2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBsb2dpYyB0aGF0IGludGVyYWN0cyB3aXRoIHVzZXItc3BhY2UgdmlhIG5ldGxpbmssIHdoaWNoIGlzIGFsd2F5cyBhIHByaW1lIHRhcmdldC4gIFRoZSBmYWN0IHRoYXQgaXQmIzM5O3MgbW9kaWZ5aW5nIHNpemUtcmVsYXRlZCBjb2RlIGFuZCB0aGF0IHRoZSBjaGFuZ2VzIGFyZSByZWFjaGFibGUgbWFrZXMgaXQgYSBoaWdoLXByaW9yaXR5IHRhcmdldCBmb3IgbWUuCgpNeSBmb2N1cyBpcyBnb2luZyB0byBiZSBvbiB0aGVzZSBzeW1ib2xzOiBgbmJkX2dlbmxfc2l6ZV9zZXRgLCBgbmJkX3NpemVfc2V0YCwgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLiBUaGVzZSBzZWVtIHRvIGJlIHRoZSBrZXkgZnVuY3Rpb25zIGludm9sdmVkIGluIHRoZSBuZXcgc2l6ZS1zZXR0aW5nIG1lY2hhbmlzbS4gIFRoZSBwYXRjaCBpbnRyb2R1Y2VzIGBuYmRfc2l6ZV9zZXRgIGFuZCBgbmJkX3NpemVfdXBkYXRlYCwgd2hpY2ggYXBwZWFyIHRvIGFsbG93IHNpemUgdXBkYXRlcyB3aXRob3V0IHJlcXVpcmluZyBhIGJsb2NrIHNpemUgY2hhbmdlLiBUaGF0LCBpbiBpdHNlbGYsIGlzIGludGVyZXN0aW5nIGZyb20gYSBmdXp6aW5nIHBlcnNwZWN0aXZlLCBiZWNhdXNlIGl0IGNvdWxkIGV4cG9zZSBzdWJ0bGUgaXNzdWVzIHJlbGF0aW5nIHRvIHF1ZXVlIGxpbWl0cyBvciBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZXMgdGhhdCB3ZXJlbiYjMzk7dCBwcmV2aW91c2x5IGV4ZXJjaXNlZCBpbiB0aGlzIHNwZWNpZmljIGNvbWJpbmF0aW9uLiAgQW5kIHRoZSBmYWN0IHRoYXQgYmxvY2sgc2l6ZSB2YWxpZGF0aW9uIGlzIG5vdyBpbmNsdWRlZCDigJMgZXZlbiBiZXR0ZXIuICBCbG9jayBzaXplIHZhbGlkYXRpb24gaXMgcmlwZSBmb3IgZXhwbG9pdGF0aW9uLCBhbmQgZnV6emluZyBpcyB0aGUgcGVyZmVjdCB0b29sIGZvciB0ZXN0aW5nIHRoYXQuICBMZXQmIzM5O3MgbWFrZSBzdXJlIGBCTEtfREVWX05CRGAgaXMgY29uZmlndXJlZCBmb3IgdGhlIGtlcm5lbCBpbWFnZS4gSSBuZWVkIHRvIG1ha2Ugc3VyZSB0byBjb25maWd1cmUgaXQgYXMgcGFydCBvZiB0aGUgZnV6emluZyBzZXR1cC4gVGltZSB0byBnZXQgdG8gd29yayEKCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjMgMjI6NTY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfTkJEJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmJkX2dlbmxfc2l6ZV9zZXQmIzM0OywKICAgICYjMzQ7bmJkX3NpemVfc2V0JiMzNDssCiAgICAmIzM0O25iZF9zaXplX3VwZGF0ZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgc2l6ZSB1cGRhdGluZyBsb2dpYyBpbiB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgKE5CRCkgZHJpdmVyLCBzcGVjaWZpY2FsbHkgaGFuZGxpbmcgbmV0bGluayBtZXNzYWdlcyB0byBzZXQgdGhlIHNpemUuIEl0IGludHJvZHVjZXMgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgIHRvIGFsbG93IHNldHRpbmcgdGhlIHNpemUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYmxvY2sgc2l6ZSwgYXZvaWRpbmcgdW5uZWNlc3NhcnkgcXVldWUgbGltaXRzIHVwZGF0ZXMuIEl0IGFsc28gYWRkcyBibG9jayBzaXplIHZhbGlkYXRpb24uIFRoaXMgaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvcmUgZHJpdmVyIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9OQkQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuYmRfZ2VubF9zaXplX3NldCYjMzQ7LAogICAgJiMzNDtuYmRfc2l6ZV9zZXQmIzM0OywKICAgICYjMzQ7bmJkX3NpemVfdXBkYXRlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBzaXplIHVwZGF0aW5nIGxvZ2ljIGluIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSAoTkJEKSBkcml2ZXIsIHNwZWNpZmljYWxseSBoYW5kbGluZyBuZXRsaW5rIG1lc3NhZ2VzIHRvIHNldCB0aGUgc2l6ZS4gSXQgaW50cm9kdWNlcyBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAgdG8gYWxsb3cgc2V0dGluZyB0aGUgc2l6ZSB3aXRob3V0IGNoYW5naW5nIHRoZSBibG9jayBzaXplLCBhdm9pZGluZyB1bm5lY2Vzc2FyeSBxdWV1ZSBsaW1pdHMgdXBkYXRlcy4gSXQgYWxzbyBhZGRzIGJsb2NrIHNpemUgdmFsaWRhdGlvbi4gVGhpcyBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwgY29yZSBkcml2ZXIgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MTEuMTY2MzM5MzY1WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTk5ODY1NjA0NzksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZ2VubF9zaXplX3NldFwiLFxuICAgIFwibmJkX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV91cGRhdGVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgc2l6ZSB1cGRhdGluZyBsb2dpYyBpbiB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgKE5CRCkgZHJpdmVyLCBzcGVjaWZpY2FsbHkgaGFuZGxpbmcgbmV0bGluayBtZXNzYWdlcyB0byBzZXQgdGhlIHNpemUuIEl0IGludHJvZHVjZXMgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgIHRvIGFsbG93IHNldHRpbmcgdGhlIHNpemUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYmxvY2sgc2l6ZSwgYXZvaWRpbmcgdW5uZWNlc3NhcnkgcXVldWUgbGltaXRzIHVwZGF0ZXMuIEl0IGFsc28gYWRkcyBibG9jayBzaXplIHZhbGlkYXRpb24uIFRoaXMgaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvcmUgZHJpdmVyIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MTEuMTY2MzQ4NzI1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5ODkzNDE4MjEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCBmZGI4OWJjMWE3MGU4N2ZiN2EyOWMyZTM1MjZjZDhmYmRiMDhiOGJmXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUaHUgSnVsIDIzIDIyOjU2OjA5IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svbmJkLmMgYi9kcml2ZXJzL2Jsb2NrL25iZC5jXFxuaW5kZXggZmU2M2YzYzU1ZDBkOTYuLjU2N2IwMzFlYzUwNTliIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvYmxvY2svbmJkLmNcXG4rKysgYi9kcml2ZXJzL2Jsb2NrL25iZC5jXFxuQEAgLTMzMSw2ICszMzEsMjcgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxcbiBcXHRuc29jay1cXHUwMDNlc2VudCA9IDA7XFxuIH1cXG4gXFxuK3N0YXRpYyB2b2lkIG5iZF9zaXplX3VwZGF0ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbit7XFxuK1xcdHN0cnVjdCBuYmRfY29uZmlnICpjb25maWcgPSBuYmQtXFx1MDAzZWNvbmZpZztcXG4rXFxuK1xcdGlmIChtYXhfcGFydClcXG4rXFx0XFx0c2V0X2JpdChHRF9ORUVEX1BBUlRfU0NBTiwgXFx1MDAyNm5iZC1cXHUwMDNlZGlzay1cXHUwMDNlc3RhdGUpO1xcbitcXHRpZiAoIXNldF9jYXBhY2l0eV9hbmRfbm90aWZ5KG5iZC1cXHUwMDNlZGlzaywgY29uZmlnLVxcdTAwM2VieXRlc2l6ZSBcXHUwMDNlXFx1MDAzZSA5KSlcXG4rXFx0XFx0a29iamVjdF91ZXZlbnQoXFx1MDAyNm5iZF90b19kZXYobmJkKS1cXHUwMDNla29iaiwgS09CSl9DSEFOR0UpO1xcbit9XFxuK1xcbitzdGF0aWMgaW50IG5iZF9zaXplX3NldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUpXFxuK3tcXG4rXFx0aWYgKGJ5dGVzaXplIFxcdTAwM2MgMClcXG4rXFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuK1xcbitcXHRuYmQtXFx1MDAzZWNvbmZpZy1cXHUwMDNlYnl0ZXNpemUgPSBieXRlc2l6ZTtcXG4rXFx0aWYgKG5iZC1cXHUwMDNlcGlkKVxcbitcXHRcXHRuYmRfc2l6ZV91cGRhdGUobmJkKTtcXG4rXFx0cmV0dXJuIDA7XFxuK31cXG4rXFxuIHN0YXRpYyBpbnQgbmJkX3NldF9zaXplKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSwgbG9mZl90IGJsa3NpemUpXFxuIHtcXG4gXFx0c3RydWN0IHF1ZXVlX2xpbWl0cyBsaW07XFxuQEAgLTM3NSwxMCArMzk2LDcgQEAgc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSlcXG4gXFx0aWYgKGVycm9yKVxcbiBcXHRcXHRyZXR1cm4gZXJyb3I7XFxuIFxcbi1cXHRpZiAobWF4X3BhcnQpXFxuLVxcdFxcdHNldF9iaXQoR0RfTkVFRF9QQVJUX1NDQU4sIFxcdTAwMjZuYmQtXFx1MDAzZWRpc2stXFx1MDAzZXN0YXRlKTtcXG4tXFx0aWYgKCFzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShuYmQtXFx1MDAzZWRpc2ssIGJ5dGVzaXplIFxcdTAwM2VcXHUwMDNlIDkpKVxcbi1cXHRcXHRrb2JqZWN0X3VldmVudChcXHUwMDI2bmJkX3RvX2RldihuYmQpLVxcdTAwM2Vrb2JqLCBLT0JKX0NIQU5HRSk7XFxuK1xcdG5iZF9zaXplX3VwZGF0ZShuYmQpO1xcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbiBcXG5AQCAtMjA2MiwxMSArMjA4MCwxOSBAQCBzdGF0aWMgaW50IG5iZF9nZW5sX3NpemVfc2V0KHN0cnVjdCBnZW5sX2luZm8gKmluZm8sIHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXFxuIFxcdGlmIChpbmZvLVxcdTAwM2VhdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSlcXG4gXFx0XFx0Ynl0ZXMgPSBubGFfZ2V0X3U2NChpbmZvLVxcdTAwM2VhdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSk7XFxuIFxcbi1cXHRpZiAoaW5mby1cXHUwMDNlYXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pXFxuK1xcdGlmIChpbmZvLVxcdTAwM2VhdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSkge1xcbiBcXHRcXHRic2l6ZSA9IG5sYV9nZXRfdTY0KGluZm8tXFx1MDAzZWF0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKTtcXG4rXFx0XFx0aWYgKCFic2l6ZSlcXG4rXFx0XFx0XFx0YnNpemUgPSAxdSBcXHUwMDNjXFx1MDAzYyBOQkRfREVGX0JMS1NJWkVfQklUUztcXG4rXFx0XFx0aWYgKGJsa192YWxpZGF0ZV9ibG9ja19zaXplKGJzaXplKSlcXG4rXFx0XFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuK1xcdH1cXG4gXFxuLVxcdGlmIChieXRlcyAhPSBjb25maWctXFx1MDAzZWJ5dGVzaXplIHx8IGJzaXplICE9IG5iZF9ibGtzaXplKGNvbmZpZykpXFxuLVxcdFxcdHJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpO1xcbitcXHRpZiAoYnl0ZXMgIT0gY29uZmlnLVxcdTAwM2VieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKSB7XFxuK1xcdFxcdGlmIChic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKVxcbitcXHRcXHRcXHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcXG4rXFx0XFx0cmV0dXJuIG5iZF9zaXplX3NldChuYmQsIGJ5dGVzKTtcXG4rXFx0fVxcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MTIuMTU2NzYyNzk2WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MTg5OTYxMjY3NDgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZ2VubF9zaXplX3NldFwiLFxuICAgIFwibmJkX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV91cGRhdGVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgc2l6ZSB1cGRhdGluZyBsb2dpYyBpbiB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgKE5CRCkgZHJpdmVyLCBzcGVjaWZpY2FsbHkgaGFuZGxpbmcgbmV0bGluayBtZXNzYWdlcyB0byBzZXQgdGhlIHNpemUuIEl0IGludHJvZHVjZXMgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgIHRvIGFsbG93IHNldHRpbmcgdGhlIHNpemUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYmxvY2sgc2l6ZSwgYXZvaWRpbmcgdW5uZWNlc3NhcnkgcXVldWUgbGltaXRzIHVwZGF0ZXMuIEl0IGFsc28gYWRkcyBibG9jayBzaXplIHZhbGlkYXRpb24uIFRoaXMgaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvcmUgZHJpdmVyIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBmZGI4OWJjMWE3MGU4N2ZiN2EyOWMyZTM1MjZjZDhmYmRiMDhiOGJmXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMjMgMjI6NTY6MDkgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuaW5kZXggZmU2M2YzYzU1ZDBkOTYuLjU2N2IwMzFlYzUwNTliIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xuKysrIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuQEAgLTMzMSw2ICszMzEsMjcgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxuIFx0bnNvY2stXHUwMDNlc2VudCA9IDA7XG4gfVxuIFxuK3N0YXRpYyB2b2lkIG5iZF9zaXplX3VwZGF0ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuK3tcbitcdHN0cnVjdCBuYmRfY29uZmlnICpjb25maWcgPSBuYmQtXHUwMDNlY29uZmlnO1xuK1xuK1x0aWYgKG1heF9wYXJ0KVxuK1x0XHRzZXRfYml0KEdEX05FRURfUEFSVF9TQ0FOLCBcdTAwMjZuYmQtXHUwMDNlZGlzay1cdTAwM2VzdGF0ZSk7XG4rXHRpZiAoIXNldF9jYXBhY2l0eV9hbmRfbm90aWZ5KG5iZC1cdTAwM2VkaXNrLCBjb25maWctXHUwMDNlYnl0ZXNpemUgXHUwMDNlXHUwMDNlIDkpKVxuK1x0XHRrb2JqZWN0X3VldmVudChcdTAwMjZuYmRfdG9fZGV2KG5iZCktXHUwMDNla29iaiwgS09CSl9DSEFOR0UpO1xuK31cbitcbitzdGF0aWMgaW50IG5iZF9zaXplX3NldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUpXG4re1xuK1x0aWYgKGJ5dGVzaXplIFx1MDAzYyAwKVxuK1x0XHRyZXR1cm4gLUVJTlZBTDtcbitcbitcdG5iZC1cdTAwM2Vjb25maWctXHUwMDNlYnl0ZXNpemUgPSBieXRlc2l6ZTtcbitcdGlmIChuYmQtXHUwMDNlcGlkKVxuK1x0XHRuYmRfc2l6ZV91cGRhdGUobmJkKTtcbitcdHJldHVybiAwO1xuK31cbitcbiBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKVxuIHtcbiBcdHN0cnVjdCBxdWV1ZV9saW1pdHMgbGltO1xuQEAgLTM3NSwxMCArMzk2LDcgQEAgc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSlcbiBcdGlmIChlcnJvcilcbiBcdFx0cmV0dXJuIGVycm9yO1xuIFxuLVx0aWYgKG1heF9wYXJ0KVxuLVx0XHRzZXRfYml0KEdEX05FRURfUEFSVF9TQ0FOLCBcdTAwMjZuYmQtXHUwMDNlZGlzay1cdTAwM2VzdGF0ZSk7XG4tXHRpZiAoIXNldF9jYXBhY2l0eV9hbmRfbm90aWZ5KG5iZC1cdTAwM2VkaXNrLCBieXRlc2l6ZSBcdTAwM2VcdTAwM2UgOSkpXG4tXHRcdGtvYmplY3RfdWV2ZW50KFx1MDAyNm5iZF90b19kZXYobmJkKS1cdTAwM2Vrb2JqLCBLT0JKX0NIQU5HRSk7XG4rXHRuYmRfc2l6ZV91cGRhdGUobmJkKTtcbiBcdHJldHVybiAwO1xuIH1cbiBcbkBAIC0yMDYyLDExICsyMDgwLDE5IEBAIHN0YXRpYyBpbnQgbmJkX2dlbmxfc2l6ZV9zZXQoc3RydWN0IGdlbmxfaW5mbyAqaW5mbywgc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbiBcdGlmIChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX1NJWkVfQllURVNdKVxuIFx0XHRieXRlcyA9IG5sYV9nZXRfdTY0KGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfU0laRV9CWVRFU10pO1xuIFxuLVx0aWYgKGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pXG4rXHRpZiAoaW5mby1cdTAwM2VhdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSkge1xuIFx0XHRic2l6ZSA9IG5sYV9nZXRfdTY0KGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pO1xuK1x0XHRpZiAoIWJzaXplKVxuK1x0XHRcdGJzaXplID0gMXUgXHUwMDNjXHUwMDNjIE5CRF9ERUZfQkxLU0laRV9CSVRTO1xuK1x0XHRpZiAoYmxrX3ZhbGlkYXRlX2Jsb2NrX3NpemUoYnNpemUpKVxuK1x0XHRcdHJldHVybiAtRUlOVkFMO1xuK1x0fVxuIFxuLVx0aWYgKGJ5dGVzICE9IGNvbmZpZy1cdTAwM2VieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKVxuLVx0XHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcbitcdGlmIChieXRlcyAhPSBjb25maWctXHUwMDNlYnl0ZXNpemUgfHwgYnNpemUgIT0gbmJkX2Jsa3NpemUoY29uZmlnKSkge1xuK1x0XHRpZiAoYnNpemUgIT0gbmJkX2Jsa3NpemUoY29uZmlnKSlcbitcdFx0XHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcbitcdFx0cmV0dXJuIG5iZF9zaXplX3NldChuYmQsIGJ5dGVzKTtcbitcdH1cbiBcdHJldHVybiAwO1xuIH1cbiBcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIzVDIyOjU2OjEyLjE1Njc2NDk1NloiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjU3NTAzNzAxNjAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBOQkQgU2l6ZSBVcGRhdGUgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZHJpdmVycy9ibG9jay9uYmQuY2AgYW5kIG15IGluaXRpYWwgaW1wcmVzc2lvbiBpcyB0aGF0IGl0J3MgYSBzaXplLXJlbGF0ZWQgbW9kaWZpY2F0aW9uLCB3aGljaCBpcyBhbHdheXMgaW50ZXJlc3RpbmcgZnJvbSBhIGJsb2NrIGRldmljZSBwZXJzcGVjdGl2ZS4gVGhleSd2ZSBpbnRyb2R1Y2VkIGBuYmRfc2l6ZV91cGRhdGVgIGFuZCBgbmJkX3NpemVfc2V0YCBmdW5jdGlvbnMsIGFuZCB0aGV5J3ZlIHRvdWNoZWQgdXAgYG5iZF9zZXRfc2l6ZWAgYW5kIGBuYmRfZ2VubF9zaXplX3NldGAuIFRoZSBjb3JlIGNoYW5nZSBzZWVtcyB0byByZXZvbHZlIGFyb3VuZCBhIG1vcmUgZWZmaWNpZW50IHdheSB0byB1cGRhdGUgdGhlIHNpemUgb2YgYW4gTkJEIGRldmljZS5cblxuU3BlY2lmaWNhbGx5LCBpdCBsb29rcyBsaWtlIGBuYmRfZ2VubF9zaXplX3NldGAgaXMgbm93IHRoZSBoYW5kbGVyIGZvciBOZXRsaW5rIG1lc3NhZ2VzIHRoYXQgYXJlIGRlc2lnbmVkIHRvIHNldCB0aGUgc2l6ZS4gVGhlIGtleSBoZXJlIGlzIHRoYXQgdGhleSdyZSBub3cgYWJsZSB0byBzZXQgdGhlIGRldmljZSBzaXplIHdpdGhvdXQgbmVjZXNzYXJpbHkgYWxzbyBjaGFuZ2luZyB0aGUgYmxvY2sgc2l6ZS4gVGhpcyBpcyBhIGdvb2Qgb3B0aW1pemF0aW9uOyBpdCBsZXZlcmFnZXMgYG5iZF9zaXplX3NldGAgZGlyZWN0bHkuIFRoaXMgYXZvaWRzIGNhbGxpbmcgdGhlIG1vcmUgaGVhdnl3ZWlnaHQgYG5iZF9zZXRfc2l6ZWAgZnVuY3Rpb24sIHdoaWNoLCBhcyB3ZSBrbm93LCBoYXMgdG8gaGFuZGxlIHVwZGF0aW5nIHF1ZXVlIGxpbWl0cyBhbmQgdGhlIGxpa2UuIEl0IGFwcGVhcnMgdGhhdCBgYmxrX3ZhbGlkYXRlX2Jsb2NrX3NpemUoYnNpemUpYCBoYXMgYmVlbiBhZGRlZCB0byB2YWxpZGF0ZSBgYnNpemVgLCB3aGljaCBpcyBhIGdvb2Qgc2FmZXR5IG1lYXN1cmUuXG5cbk5vdywgbGV0J3MganVzdCBtYWtlIHN1cmUgdGhlIGNvbmZpZyBpcyBlbmFibGVkLiBJJ2xsIHF1aWNrbHkgY2hlY2sgZm9yIGBDT05GSUdfQkxLX0RFVl9OQkRgLiBHb29kLCB0aGF0IHNob3VsZCBiZSBzZXQsIHNvIHdlIGNhbiBiZSBjZXJ0YWluIHRoYXQgd2UgYXJlIHdvcmtpbmcgaW4gYSB2YWxpZCBjb25maWd1cmF0aW9uLlxuXG5NeSBuZXh0IHN0ZXAgaXMgdG8gY29uZmlybSB0aGUgcmVhY2hhYmlsaXR5IGFuZCBmdW5jdGlvbmFsaXR5IG9mIHRoZSBjb3JlIGZ1bmN0aW9ucy4gSSB3aWxsIHN0YXJ0IGJ5IHZlcmlmeWluZyBgbmJkX2dlbmxfc2l6ZV9zZXRgLCBgbmJkX3NpemVfc2V0YCwgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLiBJIG5lZWQgdG8gZW5zdXJlIHRoZXNlIGFyZSBhY3R1YWxseSBiZWluZyBjYWxsZWQgaW4gdGhlIGFwcHJvcHJpYXRlIGNvbnRleHRzLiBBcyBhIGZvbGxvdy11cCwgSSB3aWxsIHJlLWV4YW1pbmUgYG5iZF9zZXRfc2l6ZWAgZm9yIGFueSBzaWRlIGVmZmVjdHMgZnJvbSB0aGUgcGF0Y2guXG5cbkknbGwgcHV0IHRob3NlIHN5bWJvbHMgdW5kZXIgdGhlIG1pY3Jvc2NvcGU6XG5gbmJkX2dlbmxfc2l6ZV9zZXRgXG5gbmJkX3NpemVfc2V0YFxuYG5iZF9zaXplX3VwZGF0ZWBcbmBuYmRfc2V0X3NpemVgXG5cbkZpbmFsbHksIGEgcXVpY2sgY29uZmlnIGNoZWNrIHRvIG1ha2Ugc3VyZSBldmVyeXRoaW5nIGlzIGFzIEkgZXhwZWN0LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNjI3LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjgwLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MTcuOTA3MTM4MDI2WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIwOTUxMjU0NSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQkxLX0RFVl9OQkRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9ibG9jay9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYmxvY2svS2NvbmZpZz0xOTQ9c291cmNlIFxcXCJkcml2ZXJzL2Jsb2NrL2RyYmQvS2NvbmZpZ1xcXCJcXG5kcml2ZXJzL2Jsb2NrL0tjb25maWctMTk1LVxcbmRyaXZlcnMvYmxvY2svS2NvbmZpZzoxOTY6Y29uZmlnIEJMS19ERVZfTkJEXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5Ny1cXHR0cmlzdGF0ZSBcXFwiTmV0d29yayBibG9jayBkZXZpY2Ugc3VwcG9ydFxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MTguMTE2NjU3MTQxWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzI5NTgyMTQxMSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgY29uZmlndXJhdGlvbnM6XG5cbioqQW5hbHl6aW5nIHRoZSBOQkQgRHJpdmVyIENvbmZpZ3VyYXRpb24gT3B0aW9ucyoqXG5cbkFscmlnaHQsIG15IGluaXRpYWwgZm9jdXMgaXMgb24gYEJMS19ERVZfTkJEYC4gVGhhdCdzIHRoZSBwcmltYXJ5IGNvbmZpZ3VyYXRpb24gb3B0aW9uIGZvciBOZXR3b3JrIEJsb2NrIERldmljZSBzdXBwb3J0LCBzbyB0aGF0J3Mgd2hlcmUgSSBuZWVkIHRvIHN0YXJ0LiBGcm9tIHRoZXJlLCBJJ2xsIG5lZWQgdG8gc2VlIGlmIHRoZXJlIGFyZSBvdGhlciwgcmVsYXRlZCBjb25maWd1cmF0aW9ucyB0aGF0IG1pZ2h0IGFmZmVjdCBpdHMgYmVoYXZpb3IuXG5cbk15IG5leHQgc3RvcCBpcyBgbmJkX2dlbmxfc2l6ZV9zZXRgLiBUaGUgbmFtaW5nIHN1Z2dlc3RzIHRoYXQgdGhpcyBpcyBhIE5ldGxpbmsgaGFuZGxlciwgbGlrZWx5IGludm9sdmVkIGluIG1hbmFnaW5nIG9yIHNldHRpbmcgc2l6ZS1yZWxhdGVkIHBhcmFtZXRlcnMuIFRoaXMgd2FycmFudHMgZnVydGhlciBpbnZlc3RpZ2F0aW9uIHRvIHVuZGVyc3RhbmQgaXRzIHJvbGUgaW4gY29uanVuY3Rpb24gd2l0aCBgQkxLX0RFVl9OQkRgLiBJJ2xsIG5lZWQgdG8gZXhhbWluZSB0aGUgcmVzdCBvZiB0aGUgZmlsZSB0byBncmFzcCB0aGUgYmlnZ2VyIHBpY3R1cmUgYW5kIGhvdyB0aGVzZSBwaWVjZXMgZml0IHRvZ2V0aGVyLlxuXG5cbiIsIklucHV0VG9rZW5zIjozNTAzLCJPdXRwdXRUb2tlbnMiOjM3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MjEuNDEyNDgxMDcyWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIxMTU4NzAzNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJuYmRfZ2VubF9zaXplX3NldFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL2Jsb2NrL25iZC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYmxvY2svbmJkLmM9MjA2OT1uYmRfZGV2aWNlX3BvbGljeVtOQkRfREVWSUNFX0FUVFJfTUFYICsgMV0gPSB7XFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIwNzMtXFxuZHJpdmVycy9ibG9jay9uYmQuYzoyMDc0OnN0YXRpYyBpbnQgbmJkX2dlbmxfc2l6ZV9zZXQoc3RydWN0IGdlbmxfaW5mbyAqaW5mbywgc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIwNzUte1xcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0yMDk5PXN0YXRpYyBpbnQgbmJkX2dlbmxfY29ubmVjdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy0yMTc3LVxcdHNldF9iaXQoTkJEX1JUX0JPVU5ELCBcXHUwMDI2Y29uZmlnLVxcdTAwM2VydW50aW1lX2ZsYWdzKTtcXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjIxNzg6XFx0cmV0ID0gbmJkX2dlbmxfc2l6ZV9zZXQoaW5mbywgbmJkKTtcXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIxNzktXFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9MjMzNj1zdGF0aWMgaW50IG5iZF9nZW5sX3JlY29uZmlndXJlKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIzOTgtXFxuZHJpdmVycy9ibG9jay9uYmQuYzoyMzk5OlxcdHJldCA9IG5iZF9nZW5sX3NpemVfc2V0KGluZm8sIG5iZCk7XFxuZHJpdmVycy9ibG9jay9uYmQuYy0yNDAwLVxcdGlmIChyZXQpXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIzVDIyOjU2OjIxLjYyNDA3MzgyN1oiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM3ODAwODA2NzcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duIHJlYXNvbmluZzpcblxuKipBbmFseXppbmcgTmV0bGluayBPcGVyYXRpb25zIGFuZCBTaXplIE1hbmFnZW1lbnQqKlxuXG5BbHJpZ2h0LCBzbyBJIHNlZSBgbmJkX2dlbmxfc2l6ZV9zZXRgIGdldHMgaW52b2tlZCBmcm9tIGJvdGggYG5iZF9nZW5sX2Nvbm5lY3RgIGFuZCBgbmJkX2dlbmxfcmVjb25maWd1cmVgLiAgQ2xlYXJseSwgdGhlc2UgYXJlIG5ldGxpbmsgb3BlcmF0aW9ucywgc28gdGhhdCdzIHRoZSBjb250ZXh0LiAgTXkgaW1tZWRpYXRlIHRob3VnaHQgaXMsIHdoYXQncyBoYXBwZW5pbmcgd2l0aCB0aGUgc2l6ZT8gV2UncmUgc2V0dGluZyBpdCwgYW5kIHBvdGVudGlhbGx5IHJlY29uZmlndXJpbmcgaXQsIHZpYSBuZXRsaW5rIGNhbGxzLiBJdCBzb3VuZHMgaW1wb3J0YW50IHRvIGZvbGxvdyB0aGF0IHRocmVhZC5cblxuVGhlcmVmb3JlLCB0aGUgbmV4dCBzdGVwIGlzIHRvIGRyaWxsIGRvd24gaW50byB0aGUgaW1wbGVtZW50YXRpb24gZGV0YWlscyBvZiAgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLiBUaGV5IGxpa2VseSBoYW5kbGUgdGhlIGNvcmUgbG9naWMgb2YgKmhvdyogdGhlIHNpemUgaXMgY2hhbmdlZCBhbmQgd2hhdCBzaWRlLWVmZmVjdHMgdGhlIG9wZXJhdGlvbiB0cmlnZ2Vycy4gSSB3YW50IHRvIHVuZGVyc3RhbmQgZXhhY3RseSB3aGF0IHBhcmFtZXRlcnMgdGhleSByZWNlaXZlLCB3aGF0IGNoZWNrcyBhcmUgcGVyZm9ybWVkLCBhbmQgd2hhdCBvdGhlciBkYXRhIHN0cnVjdHVyZXMgb3Iga2VybmVsIHN1YnN5c3RlbXMgYXJlIHN1YnNlcXVlbnRseSBpbXBhY3RlZC4gQXJlIHRoZXJlIGFueSByYWNlIGNvbmRpdGlvbnMgSSBzaG91bGQgYmUgY29uc2lkZXJpbmc/IFdoYXQgYWJvdXQgc3luY2hyb25pemF0aW9uIHByaW1pdGl2ZXM/IFRoaXMgbmVlZHMgYSBjbG9zZXIgbG9vaywgZXNwZWNpYWxseSBpbiB0aGUgY29udGV4dCBvZiBgY29ubmVjdGAgYW5kIGByZWNvbmZpZ3VyZWAgZXZlbnRzLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MTI3LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NjQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MjUuNDA0MTU2OTQ0WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEzNTk3MzA3MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJuYmRfc2l6ZV9zZXRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9ibG9jay9uYmQuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL2Jsb2NrL25iZC5jPTMzND1zdGF0aWMgdm9pZCBuYmRfc2l6ZV91cGRhdGUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMzQzLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6MzQ0OnN0YXRpYyBpbnQgbmJkX3NpemVfc2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSlcXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTM0NS17XFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTIwNzQ9c3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy0yMDkzLVxcdFxcdFxcdHJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpO1xcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjA5NDpcXHRcXHRyZXR1cm4gbmJkX3NpemVfc2V0KG5iZCwgYnl0ZXMpO1xcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjA5NS1cXHR9XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIzVDIyOjU2OjI1LjU0MDEzNTAwNVoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUyOTgxNzEwNTEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRnV6emluZyB0aGUgTkJEIFNpemUgVXBkYXRlIExvZ2ljKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBsaXZlIGFuZCB0b3VjaGVzIHRoZSBjb3JlIG9mIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSAoTkJEKSBkcml2ZXIg4oCTIHNwZWNpZmljYWxseSwgaG93IGl0IGhhbmRsZXMgc2V0dGluZyB0aGUgZGV2aWNlIHNpemUuICBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgKnllcyosIHRoaXMgZGVmaW5pdGVseSBuZWVkcyBmdXp6aW5nLiAgV2UncmUgZGVhbGluZyB3aXRoIGxvZ2ljIHRoYXQgaW50ZXJhY3RzIHdpdGggdXNlci1zcGFjZSB2aWEgbmV0bGluaywgd2hpY2ggaXMgYWx3YXlzIGEgcHJpbWUgdGFyZ2V0LiAgVGhlIGZhY3QgdGhhdCBpdCdzIG1vZGlmeWluZyBzaXplLXJlbGF0ZWQgY29kZSBhbmQgdGhhdCB0aGUgY2hhbmdlcyBhcmUgcmVhY2hhYmxlIG1ha2VzIGl0IGEgaGlnaC1wcmlvcml0eSB0YXJnZXQgZm9yIG1lLlxuXG5NeSBmb2N1cyBpcyBnb2luZyB0byBiZSBvbiB0aGVzZSBzeW1ib2xzOiBgbmJkX2dlbmxfc2l6ZV9zZXRgLCBgbmJkX3NpemVfc2V0YCwgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLiBUaGVzZSBzZWVtIHRvIGJlIHRoZSBrZXkgZnVuY3Rpb25zIGludm9sdmVkIGluIHRoZSBuZXcgc2l6ZS1zZXR0aW5nIG1lY2hhbmlzbS4gIFRoZSBwYXRjaCBpbnRyb2R1Y2VzIGBuYmRfc2l6ZV9zZXRgIGFuZCBgbmJkX3NpemVfdXBkYXRlYCwgd2hpY2ggYXBwZWFyIHRvIGFsbG93IHNpemUgdXBkYXRlcyB3aXRob3V0IHJlcXVpcmluZyBhIGJsb2NrIHNpemUgY2hhbmdlLiBUaGF0LCBpbiBpdHNlbGYsIGlzIGludGVyZXN0aW5nIGZyb20gYSBmdXp6aW5nIHBlcnNwZWN0aXZlLCBiZWNhdXNlIGl0IGNvdWxkIGV4cG9zZSBzdWJ0bGUgaXNzdWVzIHJlbGF0aW5nIHRvIHF1ZXVlIGxpbWl0cyBvciBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZXMgdGhhdCB3ZXJlbid0IHByZXZpb3VzbHkgZXhlcmNpc2VkIGluIHRoaXMgc3BlY2lmaWMgY29tYmluYXRpb24uICBBbmQgdGhlIGZhY3QgdGhhdCBibG9jayBzaXplIHZhbGlkYXRpb24gaXMgbm93IGluY2x1ZGVkIOKAkyBldmVuIGJldHRlci4gIEJsb2NrIHNpemUgdmFsaWRhdGlvbiBpcyByaXBlIGZvciBleHBsb2l0YXRpb24sIGFuZCBmdXp6aW5nIGlzIHRoZSBwZXJmZWN0IHRvb2wgZm9yIHRlc3RpbmcgdGhhdC4gIExldCdzIG1ha2Ugc3VyZSBgQkxLX0RFVl9OQkRgIGlzIGNvbmZpZ3VyZWQgZm9yIHRoZSBrZXJuZWwgaW1hZ2UuIEkgbmVlZCB0byBtYWtlIHN1cmUgdG8gY29uZmlndXJlIGl0IGFzIHBhcnQgb2YgdGhlIGZ1enppbmcgc2V0dXAuIFRpbWUgdG8gZ2V0IHRvIHdvcmshXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ3MDcsIk91dHB1dFRva2VucyI6MTU0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTU5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIzVDIyOjU2OjMwLjgzODMwODYyNloiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMxNDU3NTkwOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZ2VubF9zaXplX3NldFwiLFxuICAgIFwibmJkX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV91cGRhdGVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgc2l6ZSB1cGRhdGluZyBsb2dpYyBpbiB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgKE5CRCkgZHJpdmVyLCBzcGVjaWZpY2FsbHkgaGFuZGxpbmcgbmV0bGluayBtZXNzYWdlcyB0byBzZXQgdGhlIHNpemUuIEl0IGludHJvZHVjZXMgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgIHRvIGFsbG93IHNldHRpbmcgdGhlIHNpemUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYmxvY2sgc2l6ZSwgYXZvaWRpbmcgdW5uZWNlc3NhcnkgcXVldWUgbGltaXRzIHVwZGF0ZXMuIEl0IGFsc28gYWRkcyBibG9jayBzaXplIHZhbGlkYXRpb24uIFRoaXMgaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvcmUgZHJpdmVyIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCTEtfREVWX05CRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5iZF9nZW5sX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV9zZXRcIixcbiAgICBcIm5iZF9zaXplX3VwZGF0ZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBzaXplIHVwZGF0aW5nIGxvZ2ljIGluIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSAoTkJEKSBkcml2ZXIsIHNwZWNpZmljYWxseSBoYW5kbGluZyBuZXRsaW5rIG1lc3NhZ2VzIHRvIHNldCB0aGUgc2l6ZS4gSXQgaW50cm9kdWNlcyBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAgdG8gYWxsb3cgc2V0dGluZyB0aGUgc2l6ZSB3aXRob3V0IGNoYW5naW5nIHRoZSBibG9jayBzaXplLCBhdm9pZGluZyB1bm5lY2Vzc2FyeSBxdWV1ZSBsaW1pdHMgdXBkYXRlcy4gSXQgYWxzbyBhZGRzIGJsb2NrIHNpemUgdmFsaWRhdGlvbi4gVGhpcyBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwgY29yZSBkcml2ZXIgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },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-workflow2h62b[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-23 22:41:51 +0000 UTC FinishedAt: 2026-07-23 22:56:32 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "axboe", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git", "commit_hash": "8cd9520d35a6c38db6567e97dd93b1f11f185dc6", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "axboe", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git", "commit_hash": "8cd9520d35a6c38db6567e97dd93b1f11f185dc6", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "e86602f6-ebf4-4424-8cd3-7fe868fda232" }, "track": "KASAN", "fuzz": { "focus": null, "focus_symbols": [ "nbd_genl_size_set", "nbd_size_set", "nbd_size_update" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIzIDIyOjU2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfTkJEJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmJkX2dlbmxfc2l6ZV9zZXQmIzM0OywKICAgICYjMzQ7bmJkX3NpemVfc2V0JiMzNDssCiAgICAmIzM0O25iZF9zaXplX3VwZGF0ZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgc2l6ZSB1cGRhdGluZyBsb2dpYyBpbiB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgKE5CRCkgZHJpdmVyLCBzcGVjaWZpY2FsbHkgaGFuZGxpbmcgbmV0bGluayBtZXNzYWdlcyB0byBzZXQgdGhlIHNpemUuIEl0IGludHJvZHVjZXMgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgIHRvIGFsbG93IHNldHRpbmcgdGhlIHNpemUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYmxvY2sgc2l6ZSwgYXZvaWRpbmcgdW5uZWNlc3NhcnkgcXVldWUgbGltaXRzIHVwZGF0ZXMuIEl0IGFsc28gYWRkcyBibG9jayBzaXplIHZhbGlkYXRpb24uIFRoaXMgaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvcmUgZHJpdmVyIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMyAyMjo1NjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGZkYjg5YmMxYTcwZTg3ZmI3YTI5YzJlMzUyNmNkOGZiZGIwOGI4YmZcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEp1bCAyMyAyMjo1NjowOSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuaW5kZXggZmU2M2YzYzU1ZDBkOTYuLjU2N2IwMzFlYzUwNTliIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ibG9jay9uYmQuY1xuQEAgLTMzMSw2ICYjNDM7MzMxLDI3IEBAIHN0YXRpYyB2b2lkIG5iZF9tYXJrX25zb2NrX2RlYWQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgc3RydWN0IG5iZF9zb2NrICpuc29jayxcbiBcdG5zb2NrLVx1MDAzZXNlbnQgPSAwO1xuIH1cbiBcbiYjNDM7c3RhdGljIHZvaWQgbmJkX3NpemVfdXBkYXRlKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG4mIzQzO3tcbiYjNDM7XHRzdHJ1Y3QgbmJkX2NvbmZpZyAqY29uZmlnID0gbmJkLVx1MDAzZWNvbmZpZztcbiYjNDM7XG4mIzQzO1x0aWYgKG1heF9wYXJ0KVxuJiM0MztcdFx0c2V0X2JpdChHRF9ORUVEX1BBUlRfU0NBTiwgXHUwMDI2bmJkLVx1MDAzZWRpc2stXHUwMDNlc3RhdGUpO1xuJiM0MztcdGlmICghc2V0X2NhcGFjaXR5X2FuZF9ub3RpZnkobmJkLVx1MDAzZWRpc2ssIGNvbmZpZy1cdTAwM2VieXRlc2l6ZSBcdTAwM2VcdTAwM2UgOSkpXG4mIzQzO1x0XHRrb2JqZWN0X3VldmVudChcdTAwMjZuYmRfdG9fZGV2KG5iZCktXHUwMDNla29iaiwgS09CSl9DSEFOR0UpO1xuJiM0Mzt9XG4mIzQzO1xuJiM0MztzdGF0aWMgaW50IG5iZF9zaXplX3NldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUpXG4mIzQzO3tcbiYjNDM7XHRpZiAoYnl0ZXNpemUgXHUwMDNjIDApXG4mIzQzO1x0XHRyZXR1cm4gLUVJTlZBTDtcbiYjNDM7XG4mIzQzO1x0bmJkLVx1MDAzZWNvbmZpZy1cdTAwM2VieXRlc2l6ZSA9IGJ5dGVzaXplO1xuJiM0MztcdGlmIChuYmQtXHUwMDNlcGlkKVxuJiM0MztcdFx0bmJkX3NpemVfdXBkYXRlKG5iZCk7XG4mIzQzO1x0cmV0dXJuIDA7XG4mIzQzO31cbiYjNDM7XG4gc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSlcbiB7XG4gXHRzdHJ1Y3QgcXVldWVfbGltaXRzIGxpbTtcbkBAIC0zNzUsMTAgJiM0MzszOTYsNyBAQCBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKVxuIFx0aWYgKGVycm9yKVxuIFx0XHRyZXR1cm4gZXJyb3I7XG4gXG4tXHRpZiAobWF4X3BhcnQpXG4tXHRcdHNldF9iaXQoR0RfTkVFRF9QQVJUX1NDQU4sIFx1MDAyNm5iZC1cdTAwM2VkaXNrLVx1MDAzZXN0YXRlKTtcbi1cdGlmICghc2V0X2NhcGFjaXR5X2FuZF9ub3RpZnkobmJkLVx1MDAzZWRpc2ssIGJ5dGVzaXplIFx1MDAzZVx1MDAzZSA5KSlcbi1cdFx0a29iamVjdF91ZXZlbnQoXHUwMDI2bmJkX3RvX2RldihuYmQpLVx1MDAzZWtvYmosIEtPQkpfQ0hBTkdFKTtcbiYjNDM7XHRuYmRfc2l6ZV91cGRhdGUobmJkKTtcbiBcdHJldHVybiAwO1xuIH1cbiBcbkBAIC0yMDYyLDExICYjNDM7MjA4MCwxOSBAQCBzdGF0aWMgaW50IG5iZF9nZW5sX3NpemVfc2V0KHN0cnVjdCBnZW5sX2luZm8gKmluZm8sIHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG4gXHRpZiAoaW5mby1cdTAwM2VhdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSlcbiBcdFx0Ynl0ZXMgPSBubGFfZ2V0X3U2NChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX1NJWkVfQllURVNdKTtcbiBcbi1cdGlmIChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKVxuJiM0MztcdGlmIChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKSB7XG4gXHRcdGJzaXplID0gbmxhX2dldF91NjQoaW5mby1cdTAwM2VhdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSk7XG4mIzQzO1x0XHRpZiAoIWJzaXplKVxuJiM0MztcdFx0XHRic2l6ZSA9IDF1IFx1MDAzY1x1MDAzYyBOQkRfREVGX0JMS1NJWkVfQklUUztcbiYjNDM7XHRcdGlmIChibGtfdmFsaWRhdGVfYmxvY2tfc2l6ZShic2l6ZSkpXG4mIzQzO1x0XHRcdHJldHVybiAtRUlOVkFMO1xuJiM0MztcdH1cbiBcbi1cdGlmIChieXRlcyAhPSBjb25maWctXHUwMDNlYnl0ZXNpemUgfHwgYnNpemUgIT0gbmJkX2Jsa3NpemUoY29uZmlnKSlcbi1cdFx0cmV0dXJuIG5iZF9zZXRfc2l6ZShuYmQsIGJ5dGVzLCBic2l6ZSk7XG4mIzQzO1x0aWYgKGJ5dGVzICE9IGNvbmZpZy1cdTAwM2VieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKSB7XG4mIzQzO1x0XHRpZiAoYnNpemUgIT0gbmJkX2Jsa3NpemUoY29uZmlnKSlcbiYjNDM7XHRcdFx0cmV0dXJuIG5iZF9zZXRfc2l6ZShuYmQsIGJ5dGVzLCBic2l6ZSk7XG4mIzQzO1x0XHRyZXR1cm4gbmJkX3NpemVfc2V0KG5iZCwgYnl0ZXMpO1xuJiM0MztcdH1cbiBcdHJldHVybiAwO1xuIH1cbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMyAyMjo1NjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9OQkQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuYmRfZ2VubF9zaXplX3NldCYjMzQ7LAogICAgJiMzNDtuYmRfc2l6ZV9zZXQmIzM0OywKICAgICYjMzQ7bmJkX3NpemVfdXBkYXRlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBzaXplIHVwZGF0aW5nIGxvZ2ljIGluIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSAoTkJEKSBkcml2ZXIsIHNwZWNpZmljYWxseSBoYW5kbGluZyBuZXRsaW5rIG1lc3NhZ2VzIHRvIHNldCB0aGUgc2l6ZS4gSXQgaW50cm9kdWNlcyBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAgdG8gYWxsb3cgc2V0dGluZyB0aGUgc2l6ZSB3aXRob3V0IGNoYW5naW5nIHRoZSBibG9jayBzaXplLCBhdm9pZGluZyB1bm5lY2Vzc2FyeSBxdWV1ZSBsaW1pdHMgdXBkYXRlcy4gSXQgYWxzbyBhZGRzIGJsb2NrIHNpemUgdmFsaWRhdGlvbi4gVGhpcyBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwgY29yZSBkcml2ZXIgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBmZGI4OWJjMWE3MGU4N2ZiN2EyOWMyZTM1MjZjZDhmYmRiMDhiOGJmCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFRodSBKdWwgMjMgMjI6NTY6MDkgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuYwppbmRleCBmZTYzZjNjNTVkMGQ5Ni4uNTY3YjAzMWVjNTA1OWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svbmJkLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ibG9jay9uYmQuYwpAQCAtMzMxLDYgJiM0MzszMzEsMjcgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLAogCW5zb2NrLSZndDtzZW50ID0gMDsKIH0KIAomIzQzO3N0YXRpYyB2b2lkIG5iZF9zaXplX3VwZGF0ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKQomIzQzO3sKJiM0MzsJc3RydWN0IG5iZF9jb25maWcgKmNvbmZpZyA9IG5iZC0mZ3Q7Y29uZmlnOwomIzQzOwomIzQzOwlpZiAobWF4X3BhcnQpCiYjNDM7CQlzZXRfYml0KEdEX05FRURfUEFSVF9TQ0FOLCAmYW1wO25iZC0mZ3Q7ZGlzay0mZ3Q7c3RhdGUpOwomIzQzOwlpZiAoIXNldF9jYXBhY2l0eV9hbmRfbm90aWZ5KG5iZC0mZ3Q7ZGlzaywgY29uZmlnLSZndDtieXRlc2l6ZSAmZ3Q7Jmd0OyA5KSkKJiM0MzsJCWtvYmplY3RfdWV2ZW50KCZhbXA7bmJkX3RvX2RldihuYmQpLSZndDtrb2JqLCBLT0JKX0NIQU5HRSk7CiYjNDM7fQomIzQzOwomIzQzO3N0YXRpYyBpbnQgbmJkX3NpemVfc2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSkKJiM0Mzt7CiYjNDM7CWlmIChieXRlc2l6ZSAmbHQ7IDApCiYjNDM7CQlyZXR1cm4gLUVJTlZBTDsKJiM0MzsKJiM0MzsJbmJkLSZndDtjb25maWctJmd0O2J5dGVzaXplID0gYnl0ZXNpemU7CiYjNDM7CWlmIChuYmQtJmd0O3BpZCkKJiM0MzsJCW5iZF9zaXplX3VwZGF0ZShuYmQpOwomIzQzOwlyZXR1cm4gMDsKJiM0Mzt9CiYjNDM7CiBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKQogewogCXN0cnVjdCBxdWV1ZV9saW1pdHMgbGltOwpAQCAtMzc1LDEwICYjNDM7Mzk2LDcgQEAgc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSkKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIAotCWlmIChtYXhfcGFydCkKLQkJc2V0X2JpdChHRF9ORUVEX1BBUlRfU0NBTiwgJmFtcDtuYmQtJmd0O2Rpc2stJmd0O3N0YXRlKTsKLQlpZiAoIXNldF9jYXBhY2l0eV9hbmRfbm90aWZ5KG5iZC0mZ3Q7ZGlzaywgYnl0ZXNpemUgJmd0OyZndDsgOSkpCi0JCWtvYmplY3RfdWV2ZW50KCZhbXA7bmJkX3RvX2RldihuYmQpLSZndDtrb2JqLCBLT0JKX0NIQU5HRSk7CiYjNDM7CW5iZF9zaXplX3VwZGF0ZShuYmQpOwogCXJldHVybiAwOwogfQogCkBAIC0yMDYyLDExICYjNDM7MjA4MCwxOSBAQCBzdGF0aWMgaW50IG5iZF9nZW5sX3NpemVfc2V0KHN0cnVjdCBnZW5sX2luZm8gKmluZm8sIHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpCiAJaWYgKGluZm8tJmd0O2F0dHJzW05CRF9BVFRSX1NJWkVfQllURVNdKQogCQlieXRlcyA9IG5sYV9nZXRfdTY0KGluZm8tJmd0O2F0dHJzW05CRF9BVFRSX1NJWkVfQllURVNdKTsKIAotCWlmIChpbmZvLSZndDthdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSkKJiM0MzsJaWYgKGluZm8tJmd0O2F0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKSB7CiAJCWJzaXplID0gbmxhX2dldF91NjQoaW5mby0mZ3Q7YXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pOwomIzQzOwkJaWYgKCFic2l6ZSkKJiM0MzsJCQlic2l6ZSA9IDF1ICZsdDsmbHQ7IE5CRF9ERUZfQkxLU0laRV9CSVRTOwomIzQzOwkJaWYgKGJsa192YWxpZGF0ZV9ibG9ja19zaXplKGJzaXplKSkKJiM0MzsJCQlyZXR1cm4gLUVJTlZBTDsKJiM0MzsJfQogCi0JaWYgKGJ5dGVzICE9IGNvbmZpZy0mZ3Q7Ynl0ZXNpemUgfHwgYnNpemUgIT0gbmJkX2Jsa3NpemUoY29uZmlnKSkKLQkJcmV0dXJuIG5iZF9zZXRfc2l6ZShuYmQsIGJ5dGVzLCBic2l6ZSk7CiYjNDM7CWlmIChieXRlcyAhPSBjb25maWctJmd0O2J5dGVzaXplIHx8IGJzaXplICE9IG5iZF9ibGtzaXplKGNvbmZpZykpIHsKJiM0MzsJCWlmIChic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKQomIzQzOwkJCXJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpOwomIzQzOwkJcmV0dXJuIG5iZF9zaXplX3NldChuYmQsIGJ5dGVzKTsKJiM0MzsJfQogCXJldHVybiAwOwogfQogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIzIDIyOjU2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI2MjcKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAyODAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBOQkQgU2l6ZSBVcGRhdGUgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBkcml2ZXJzL2Jsb2NrL25iZC5jYCBhbmQgbXkgaW5pdGlhbCBpbXByZXNzaW9uIGlzIHRoYXQgaXQmIzM5O3MgYSBzaXplLXJlbGF0ZWQgbW9kaWZpY2F0aW9uLCB3aGljaCBpcyBhbHdheXMgaW50ZXJlc3RpbmcgZnJvbSBhIGJsb2NrIGRldmljZSBwZXJzcGVjdGl2ZS4gVGhleSYjMzk7dmUgaW50cm9kdWNlZCBgbmJkX3NpemVfdXBkYXRlYCBhbmQgYG5iZF9zaXplX3NldGAgZnVuY3Rpb25zLCBhbmQgdGhleSYjMzk7dmUgdG91Y2hlZCB1cCBgbmJkX3NldF9zaXplYCBhbmQgYG5iZF9nZW5sX3NpemVfc2V0YC4gVGhlIGNvcmUgY2hhbmdlIHNlZW1zIHRvIHJldm9sdmUgYXJvdW5kIGEgbW9yZSBlZmZpY2llbnQgd2F5IHRvIHVwZGF0ZSB0aGUgc2l6ZSBvZiBhbiBOQkQgZGV2aWNlLgoKU3BlY2lmaWNhbGx5LCBpdCBsb29rcyBsaWtlIGBuYmRfZ2VubF9zaXplX3NldGAgaXMgbm93IHRoZSBoYW5kbGVyIGZvciBOZXRsaW5rIG1lc3NhZ2VzIHRoYXQgYXJlIGRlc2lnbmVkIHRvIHNldCB0aGUgc2l6ZS4gVGhlIGtleSBoZXJlIGlzIHRoYXQgdGhleSYjMzk7cmUgbm93IGFibGUgdG8gc2V0IHRoZSBkZXZpY2Ugc2l6ZSB3aXRob3V0IG5lY2Vzc2FyaWx5IGFsc28gY2hhbmdpbmcgdGhlIGJsb2NrIHNpemUuIFRoaXMgaXMgYSBnb29kIG9wdGltaXphdGlvbjsgaXQgbGV2ZXJhZ2VzIGBuYmRfc2l6ZV9zZXRgIGRpcmVjdGx5LiBUaGlzIGF2b2lkcyBjYWxsaW5nIHRoZSBtb3JlIGhlYXZ5d2VpZ2h0IGBuYmRfc2V0X3NpemVgIGZ1bmN0aW9uLCB3aGljaCwgYXMgd2Uga25vdywgaGFzIHRvIGhhbmRsZSB1cGRhdGluZyBxdWV1ZSBsaW1pdHMgYW5kIHRoZSBsaWtlLiBJdCBhcHBlYXJzIHRoYXQgYGJsa192YWxpZGF0ZV9ibG9ja19zaXplKGJzaXplKWAgaGFzIGJlZW4gYWRkZWQgdG8gdmFsaWRhdGUgYGJzaXplYCwgd2hpY2ggaXMgYSBnb29kIHNhZmV0eSBtZWFzdXJlLgoKTm93LCBsZXQmIzM5O3MganVzdCBtYWtlIHN1cmUgdGhlIGNvbmZpZyBpcyBlbmFibGVkLiBJJiMzOTtsbCBxdWlja2x5IGNoZWNrIGZvciBgQ09ORklHX0JMS19ERVZfTkJEYC4gR29vZCwgdGhhdCBzaG91bGQgYmUgc2V0LCBzbyB3ZSBjYW4gYmUgY2VydGFpbiB0aGF0IHdlIGFyZSB3b3JraW5nIGluIGEgdmFsaWQgY29uZmlndXJhdGlvbi4KCk15IG5leHQgc3RlcCBpcyB0byBjb25maXJtIHRoZSByZWFjaGFiaWxpdHkgYW5kIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGNvcmUgZnVuY3Rpb25zLiBJIHdpbGwgc3RhcnQgYnkgdmVyaWZ5aW5nIGBuYmRfZ2VubF9zaXplX3NldGAsIGBuYmRfc2l6ZV9zZXRgLCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAuIEkgbmVlZCB0byBlbnN1cmUgdGhlc2UgYXJlIGFjdHVhbGx5IGJlaW5nIGNhbGxlZCBpbiB0aGUgYXBwcm9wcmlhdGUgY29udGV4dHMuIEFzIGEgZm9sbG93LXVwLCBJIHdpbGwgcmUtZXhhbWluZSBgbmJkX3NldF9zaXplYCBmb3IgYW55IHNpZGUgZWZmZWN0cyBmcm9tIHRoZSBwYXRjaC4KCkkmIzM5O2xsIHB1dCB0aG9zZSBzeW1ib2xzIHVuZGVyIHRoZSBtaWNyb3Njb3BlOgpgbmJkX2dlbmxfc2l6ZV9zZXRgCmBuYmRfc2l6ZV9zZXRgCmBuYmRfc2l6ZV91cGRhdGVgCmBuYmRfc2V0X3NpemVgCgpGaW5hbGx5LCBhIHF1aWNrIGNvbmZpZyBjaGVjayB0byBtYWtlIHN1cmUgZXZlcnl0aGluZyBpcyBhcyBJIGV4cGVjdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMyAyMjo1NjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgQkxLX0RFVl9OQkQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9LY29uZmlnPTE5ND1zb3VyY2UgXCYjMzQ7ZHJpdmVycy9ibG9jay9kcmJkL0tjb25maWdcJiMzNDtcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0xOTUtXG5kcml2ZXJzL2Jsb2NrL0tjb25maWc6MTk2OmNvbmZpZyBCTEtfREVWX05CRFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5Ny1cdHRyaXN0YXRlIFwmIzM0O05ldHdvcmsgYmxvY2sgZGV2aWNlIHN1cHBvcnRcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMyAyMjo1NjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNTAzCgkJCQkJCQlvdXRwdXQ6IDM3CgkJCQkJCQl0aG91Z2h0czogNTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSBjb25maWd1cmF0aW9uczoKCioqQW5hbHl6aW5nIHRoZSBOQkQgRHJpdmVyIENvbmZpZ3VyYXRpb24gT3B0aW9ucyoqCgpBbHJpZ2h0LCBteSBpbml0aWFsIGZvY3VzIGlzIG9uIGBCTEtfREVWX05CRGAuIFRoYXQmIzM5O3MgdGhlIHByaW1hcnkgY29uZmlndXJhdGlvbiBvcHRpb24gZm9yIE5ldHdvcmsgQmxvY2sgRGV2aWNlIHN1cHBvcnQsIHNvIHRoYXQmIzM5O3Mgd2hlcmUgSSBuZWVkIHRvIHN0YXJ0LiBGcm9tIHRoZXJlLCBJJiMzOTtsbCBuZWVkIHRvIHNlZSBpZiB0aGVyZSBhcmUgb3RoZXIsIHJlbGF0ZWQgY29uZmlndXJhdGlvbnMgdGhhdCBtaWdodCBhZmZlY3QgaXRzIGJlaGF2aW9yLgoKTXkgbmV4dCBzdG9wIGlzIGBuYmRfZ2VubF9zaXplX3NldGAuIFRoZSBuYW1pbmcgc3VnZ2VzdHMgdGhhdCB0aGlzIGlzIGEgTmV0bGluayBoYW5kbGVyLCBsaWtlbHkgaW52b2x2ZWQgaW4gbWFuYWdpbmcgb3Igc2V0dGluZyBzaXplLXJlbGF0ZWQgcGFyYW1ldGVycy4gVGhpcyB3YXJyYW50cyBmdXJ0aGVyIGludmVzdGlnYXRpb24gdG8gdW5kZXJzdGFuZCBpdHMgcm9sZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBCTEtfREVWX05CRGAuIEkmIzM5O2xsIG5lZWQgdG8gZXhhbWluZSB0aGUgcmVzdCBvZiB0aGUgZmlsZSB0byBncmFzcCB0aGUgYmlnZ2VyIHBpY3R1cmUgYW5kIGhvdyB0aGVzZSBwaWVjZXMgZml0IHRvZ2V0aGVyLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIzIDIyOjU2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O25iZF9nZW5sX3NpemVfc2V0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9uYmQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL25iZC5jPTIwNjk9bmJkX2RldmljZV9wb2xpY3lbTkJEX0RFVklDRV9BVFRSX01BWCAmIzQzOyAxXSA9IHtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIwNzMtXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjIwNzQ6c3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuZHJpdmVycy9ibG9jay9uYmQuYy0yMDc1LXtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTIwOTk9c3RhdGljIGludCBuYmRfZ2VubF9jb25uZWN0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0yMTc3LVx0c2V0X2JpdChOQkRfUlRfQk9VTkQsIFx1MDAyNmNvbmZpZy1cdTAwM2VydW50aW1lX2ZsYWdzKTtcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjE3ODpcdHJldCA9IG5iZF9nZW5sX3NpemVfc2V0KGluZm8sIG5iZCk7XG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIxNzktXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmM9MjMzNj1zdGF0aWMgaW50IG5iZF9nZW5sX3JlY29uZmlndXJlKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0yMzk4LVxuZHJpdmVycy9ibG9jay9uYmQuYzoyMzk5Olx0cmV0ID0gbmJkX2dlbmxfc2l6ZV9zZXQoaW5mbywgbmJkKTtcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjQwMC1cdGlmIChyZXQpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjMgMjI6NTY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDEyNwoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDY0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd24gcmVhc29uaW5nOgoKKipBbmFseXppbmcgTmV0bGluayBPcGVyYXRpb25zIGFuZCBTaXplIE1hbmFnZW1lbnQqKgoKQWxyaWdodCwgc28gSSBzZWUgYG5iZF9nZW5sX3NpemVfc2V0YCBnZXRzIGludm9rZWQgZnJvbSBib3RoIGBuYmRfZ2VubF9jb25uZWN0YCBhbmQgYG5iZF9nZW5sX3JlY29uZmlndXJlYC4gIENsZWFybHksIHRoZXNlIGFyZSBuZXRsaW5rIG9wZXJhdGlvbnMsIHNvIHRoYXQmIzM5O3MgdGhlIGNvbnRleHQuICBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgd2hhdCYjMzk7cyBoYXBwZW5pbmcgd2l0aCB0aGUgc2l6ZT8gV2UmIzM5O3JlIHNldHRpbmcgaXQsIGFuZCBwb3RlbnRpYWxseSByZWNvbmZpZ3VyaW5nIGl0LCB2aWEgbmV0bGluayBjYWxscy4gSXQgc291bmRzIGltcG9ydGFudCB0byBmb2xsb3cgdGhhdCB0aHJlYWQuCgpUaGVyZWZvcmUsIHRoZSBuZXh0IHN0ZXAgaXMgdG8gZHJpbGwgZG93biBpbnRvIHRoZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIG9mICBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAuIFRoZXkgbGlrZWx5IGhhbmRsZSB0aGUgY29yZSBsb2dpYyBvZiAqaG93KiB0aGUgc2l6ZSBpcyBjaGFuZ2VkIGFuZCB3aGF0IHNpZGUtZWZmZWN0cyB0aGUgb3BlcmF0aW9uIHRyaWdnZXJzLiBJIHdhbnQgdG8gdW5kZXJzdGFuZCBleGFjdGx5IHdoYXQgcGFyYW1ldGVycyB0aGV5IHJlY2VpdmUsIHdoYXQgY2hlY2tzIGFyZSBwZXJmb3JtZWQsIGFuZCB3aGF0IG90aGVyIGRhdGEgc3RydWN0dXJlcyBvciBrZXJuZWwgc3Vic3lzdGVtcyBhcmUgc3Vic2VxdWVudGx5IGltcGFjdGVkLiBBcmUgdGhlcmUgYW55IHJhY2UgY29uZGl0aW9ucyBJIHNob3VsZCBiZSBjb25zaWRlcmluZz8gV2hhdCBhYm91dCBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlcz8gVGhpcyBuZWVkcyBhIGNsb3NlciBsb29rLCBlc3BlY2lhbGx5IGluIHRoZSBjb250ZXh0IG9mIGBjb25uZWN0YCBhbmQgYHJlY29uZmlndXJlYCBldmVudHMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjMgMjI6NTY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bmJkX3NpemVfc2V0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9uYmQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL25iZC5jPTMzND1zdGF0aWMgdm9pZCBuYmRfc2l6ZV91cGRhdGUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTM0My1cbmRyaXZlcnMvYmxvY2svbmJkLmM6MzQ0OnN0YXRpYyBpbnQgbmJkX3NpemVfc2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSlcbmRyaXZlcnMvYmxvY2svbmJkLmMtMzQ1LXtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTIwNzQ9c3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmMtMjA5My1cdFx0XHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjA5NDpcdFx0cmV0dXJuIG5iZF9zaXplX3NldChuYmQsIGJ5dGVzKTtcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjA5NS1cdH1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMyAyMjo1NjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NzA3CgkJCQkJCQlvdXRwdXQ6IDE1NAoJCQkJCQkJdGhvdWdodHM6IDE1OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIHRoZSBOQkQgU2l6ZSBVcGRhdGUgTG9naWMqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyBsaXZlIGFuZCB0b3VjaGVzIHRoZSBjb3JlIG9mIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSAoTkJEKSBkcml2ZXIg4oCTIHNwZWNpZmljYWxseSwgaG93IGl0IGhhbmRsZXMgc2V0dGluZyB0aGUgZGV2aWNlIHNpemUuICBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgKnllcyosIHRoaXMgZGVmaW5pdGVseSBuZWVkcyBmdXp6aW5nLiAgV2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBsb2dpYyB0aGF0IGludGVyYWN0cyB3aXRoIHVzZXItc3BhY2UgdmlhIG5ldGxpbmssIHdoaWNoIGlzIGFsd2F5cyBhIHByaW1lIHRhcmdldC4gIFRoZSBmYWN0IHRoYXQgaXQmIzM5O3MgbW9kaWZ5aW5nIHNpemUtcmVsYXRlZCBjb2RlIGFuZCB0aGF0IHRoZSBjaGFuZ2VzIGFyZSByZWFjaGFibGUgbWFrZXMgaXQgYSBoaWdoLXByaW9yaXR5IHRhcmdldCBmb3IgbWUuCgpNeSBmb2N1cyBpcyBnb2luZyB0byBiZSBvbiB0aGVzZSBzeW1ib2xzOiBgbmJkX2dlbmxfc2l6ZV9zZXRgLCBgbmJkX3NpemVfc2V0YCwgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLiBUaGVzZSBzZWVtIHRvIGJlIHRoZSBrZXkgZnVuY3Rpb25zIGludm9sdmVkIGluIHRoZSBuZXcgc2l6ZS1zZXR0aW5nIG1lY2hhbmlzbS4gIFRoZSBwYXRjaCBpbnRyb2R1Y2VzIGBuYmRfc2l6ZV9zZXRgIGFuZCBgbmJkX3NpemVfdXBkYXRlYCwgd2hpY2ggYXBwZWFyIHRvIGFsbG93IHNpemUgdXBkYXRlcyB3aXRob3V0IHJlcXVpcmluZyBhIGJsb2NrIHNpemUgY2hhbmdlLiBUaGF0LCBpbiBpdHNlbGYsIGlzIGludGVyZXN0aW5nIGZyb20gYSBmdXp6aW5nIHBlcnNwZWN0aXZlLCBiZWNhdXNlIGl0IGNvdWxkIGV4cG9zZSBzdWJ0bGUgaXNzdWVzIHJlbGF0aW5nIHRvIHF1ZXVlIGxpbWl0cyBvciBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZXMgdGhhdCB3ZXJlbiYjMzk7dCBwcmV2aW91c2x5IGV4ZXJjaXNlZCBpbiB0aGlzIHNwZWNpZmljIGNvbWJpbmF0aW9uLiAgQW5kIHRoZSBmYWN0IHRoYXQgYmxvY2sgc2l6ZSB2YWxpZGF0aW9uIGlzIG5vdyBpbmNsdWRlZCDigJMgZXZlbiBiZXR0ZXIuICBCbG9jayBzaXplIHZhbGlkYXRpb24gaXMgcmlwZSBmb3IgZXhwbG9pdGF0aW9uLCBhbmQgZnV6emluZyBpcyB0aGUgcGVyZmVjdCB0b29sIGZvciB0ZXN0aW5nIHRoYXQuICBMZXQmIzM5O3MgbWFrZSBzdXJlIGBCTEtfREVWX05CRGAgaXMgY29uZmlndXJlZCBmb3IgdGhlIGtlcm5lbCBpbWFnZS4gSSBuZWVkIHRvIG1ha2Ugc3VyZSB0byBjb25maWd1cmUgaXQgYXMgcGFydCBvZiB0aGUgZnV6emluZyBzZXR1cC4gVGltZSB0byBnZXQgdG8gd29yayEKCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjMgMjI6NTY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfTkJEJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmJkX2dlbmxfc2l6ZV9zZXQmIzM0OywKICAgICYjMzQ7bmJkX3NpemVfc2V0JiMzNDssCiAgICAmIzM0O25iZF9zaXplX3VwZGF0ZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgc2l6ZSB1cGRhdGluZyBsb2dpYyBpbiB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgKE5CRCkgZHJpdmVyLCBzcGVjaWZpY2FsbHkgaGFuZGxpbmcgbmV0bGluayBtZXNzYWdlcyB0byBzZXQgdGhlIHNpemUuIEl0IGludHJvZHVjZXMgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgIHRvIGFsbG93IHNldHRpbmcgdGhlIHNpemUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYmxvY2sgc2l6ZSwgYXZvaWRpbmcgdW5uZWNlc3NhcnkgcXVldWUgbGltaXRzIHVwZGF0ZXMuIEl0IGFsc28gYWRkcyBibG9jayBzaXplIHZhbGlkYXRpb24uIFRoaXMgaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvcmUgZHJpdmVyIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9OQkQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuYmRfZ2VubF9zaXplX3NldCYjMzQ7LAogICAgJiMzNDtuYmRfc2l6ZV9zZXQmIzM0OywKICAgICYjMzQ7bmJkX3NpemVfdXBkYXRlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBzaXplIHVwZGF0aW5nIGxvZ2ljIGluIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSAoTkJEKSBkcml2ZXIsIHNwZWNpZmljYWxseSBoYW5kbGluZyBuZXRsaW5rIG1lc3NhZ2VzIHRvIHNldCB0aGUgc2l6ZS4gSXQgaW50cm9kdWNlcyBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAgdG8gYWxsb3cgc2V0dGluZyB0aGUgc2l6ZSB3aXRob3V0IGNoYW5naW5nIHRoZSBibG9jayBzaXplLCBhdm9pZGluZyB1bm5lY2Vzc2FyeSBxdWV1ZSBsaW1pdHMgdXBkYXRlcy4gSXQgYWxzbyBhZGRzIGJsb2NrIHNpemUgdmFsaWRhdGlvbi4gVGhpcyBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwgY29yZSBkcml2ZXIgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MTEuMTY2MzM5MzY1WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTk5ODY1NjA0NzksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZ2VubF9zaXplX3NldFwiLFxuICAgIFwibmJkX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV91cGRhdGVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgc2l6ZSB1cGRhdGluZyBsb2dpYyBpbiB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgKE5CRCkgZHJpdmVyLCBzcGVjaWZpY2FsbHkgaGFuZGxpbmcgbmV0bGluayBtZXNzYWdlcyB0byBzZXQgdGhlIHNpemUuIEl0IGludHJvZHVjZXMgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgIHRvIGFsbG93IHNldHRpbmcgdGhlIHNpemUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYmxvY2sgc2l6ZSwgYXZvaWRpbmcgdW5uZWNlc3NhcnkgcXVldWUgbGltaXRzIHVwZGF0ZXMuIEl0IGFsc28gYWRkcyBibG9jayBzaXplIHZhbGlkYXRpb24uIFRoaXMgaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvcmUgZHJpdmVyIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MTEuMTY2MzQ4NzI1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5ODkzNDE4MjEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCBmZGI4OWJjMWE3MGU4N2ZiN2EyOWMyZTM1MjZjZDhmYmRiMDhiOGJmXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUaHUgSnVsIDIzIDIyOjU2OjA5IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svbmJkLmMgYi9kcml2ZXJzL2Jsb2NrL25iZC5jXFxuaW5kZXggZmU2M2YzYzU1ZDBkOTYuLjU2N2IwMzFlYzUwNTliIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvYmxvY2svbmJkLmNcXG4rKysgYi9kcml2ZXJzL2Jsb2NrL25iZC5jXFxuQEAgLTMzMSw2ICszMzEsMjcgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxcbiBcXHRuc29jay1cXHUwMDNlc2VudCA9IDA7XFxuIH1cXG4gXFxuK3N0YXRpYyB2b2lkIG5iZF9zaXplX3VwZGF0ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbit7XFxuK1xcdHN0cnVjdCBuYmRfY29uZmlnICpjb25maWcgPSBuYmQtXFx1MDAzZWNvbmZpZztcXG4rXFxuK1xcdGlmIChtYXhfcGFydClcXG4rXFx0XFx0c2V0X2JpdChHRF9ORUVEX1BBUlRfU0NBTiwgXFx1MDAyNm5iZC1cXHUwMDNlZGlzay1cXHUwMDNlc3RhdGUpO1xcbitcXHRpZiAoIXNldF9jYXBhY2l0eV9hbmRfbm90aWZ5KG5iZC1cXHUwMDNlZGlzaywgY29uZmlnLVxcdTAwM2VieXRlc2l6ZSBcXHUwMDNlXFx1MDAzZSA5KSlcXG4rXFx0XFx0a29iamVjdF91ZXZlbnQoXFx1MDAyNm5iZF90b19kZXYobmJkKS1cXHUwMDNla29iaiwgS09CSl9DSEFOR0UpO1xcbit9XFxuK1xcbitzdGF0aWMgaW50IG5iZF9zaXplX3NldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUpXFxuK3tcXG4rXFx0aWYgKGJ5dGVzaXplIFxcdTAwM2MgMClcXG4rXFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuK1xcbitcXHRuYmQtXFx1MDAzZWNvbmZpZy1cXHUwMDNlYnl0ZXNpemUgPSBieXRlc2l6ZTtcXG4rXFx0aWYgKG5iZC1cXHUwMDNlcGlkKVxcbitcXHRcXHRuYmRfc2l6ZV91cGRhdGUobmJkKTtcXG4rXFx0cmV0dXJuIDA7XFxuK31cXG4rXFxuIHN0YXRpYyBpbnQgbmJkX3NldF9zaXplKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSwgbG9mZl90IGJsa3NpemUpXFxuIHtcXG4gXFx0c3RydWN0IHF1ZXVlX2xpbWl0cyBsaW07XFxuQEAgLTM3NSwxMCArMzk2LDcgQEAgc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSlcXG4gXFx0aWYgKGVycm9yKVxcbiBcXHRcXHRyZXR1cm4gZXJyb3I7XFxuIFxcbi1cXHRpZiAobWF4X3BhcnQpXFxuLVxcdFxcdHNldF9iaXQoR0RfTkVFRF9QQVJUX1NDQU4sIFxcdTAwMjZuYmQtXFx1MDAzZWRpc2stXFx1MDAzZXN0YXRlKTtcXG4tXFx0aWYgKCFzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShuYmQtXFx1MDAzZWRpc2ssIGJ5dGVzaXplIFxcdTAwM2VcXHUwMDNlIDkpKVxcbi1cXHRcXHRrb2JqZWN0X3VldmVudChcXHUwMDI2bmJkX3RvX2RldihuYmQpLVxcdTAwM2Vrb2JqLCBLT0JKX0NIQU5HRSk7XFxuK1xcdG5iZF9zaXplX3VwZGF0ZShuYmQpO1xcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbiBcXG5AQCAtMjA2MiwxMSArMjA4MCwxOSBAQCBzdGF0aWMgaW50IG5iZF9nZW5sX3NpemVfc2V0KHN0cnVjdCBnZW5sX2luZm8gKmluZm8sIHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXFxuIFxcdGlmIChpbmZvLVxcdTAwM2VhdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSlcXG4gXFx0XFx0Ynl0ZXMgPSBubGFfZ2V0X3U2NChpbmZvLVxcdTAwM2VhdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSk7XFxuIFxcbi1cXHRpZiAoaW5mby1cXHUwMDNlYXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pXFxuK1xcdGlmIChpbmZvLVxcdTAwM2VhdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSkge1xcbiBcXHRcXHRic2l6ZSA9IG5sYV9nZXRfdTY0KGluZm8tXFx1MDAzZWF0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKTtcXG4rXFx0XFx0aWYgKCFic2l6ZSlcXG4rXFx0XFx0XFx0YnNpemUgPSAxdSBcXHUwMDNjXFx1MDAzYyBOQkRfREVGX0JMS1NJWkVfQklUUztcXG4rXFx0XFx0aWYgKGJsa192YWxpZGF0ZV9ibG9ja19zaXplKGJzaXplKSlcXG4rXFx0XFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuK1xcdH1cXG4gXFxuLVxcdGlmIChieXRlcyAhPSBjb25maWctXFx1MDAzZWJ5dGVzaXplIHx8IGJzaXplICE9IG5iZF9ibGtzaXplKGNvbmZpZykpXFxuLVxcdFxcdHJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpO1xcbitcXHRpZiAoYnl0ZXMgIT0gY29uZmlnLVxcdTAwM2VieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKSB7XFxuK1xcdFxcdGlmIChic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKVxcbitcXHRcXHRcXHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcXG4rXFx0XFx0cmV0dXJuIG5iZF9zaXplX3NldChuYmQsIGJ5dGVzKTtcXG4rXFx0fVxcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MTIuMTU2NzYyNzk2WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MTg5OTYxMjY3NDgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZ2VubF9zaXplX3NldFwiLFxuICAgIFwibmJkX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV91cGRhdGVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgc2l6ZSB1cGRhdGluZyBsb2dpYyBpbiB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgKE5CRCkgZHJpdmVyLCBzcGVjaWZpY2FsbHkgaGFuZGxpbmcgbmV0bGluayBtZXNzYWdlcyB0byBzZXQgdGhlIHNpemUuIEl0IGludHJvZHVjZXMgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgIHRvIGFsbG93IHNldHRpbmcgdGhlIHNpemUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYmxvY2sgc2l6ZSwgYXZvaWRpbmcgdW5uZWNlc3NhcnkgcXVldWUgbGltaXRzIHVwZGF0ZXMuIEl0IGFsc28gYWRkcyBibG9jayBzaXplIHZhbGlkYXRpb24uIFRoaXMgaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvcmUgZHJpdmVyIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBmZGI4OWJjMWE3MGU4N2ZiN2EyOWMyZTM1MjZjZDhmYmRiMDhiOGJmXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMjMgMjI6NTY6MDkgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuaW5kZXggZmU2M2YzYzU1ZDBkOTYuLjU2N2IwMzFlYzUwNTliIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xuKysrIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuQEAgLTMzMSw2ICszMzEsMjcgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxuIFx0bnNvY2stXHUwMDNlc2VudCA9IDA7XG4gfVxuIFxuK3N0YXRpYyB2b2lkIG5iZF9zaXplX3VwZGF0ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuK3tcbitcdHN0cnVjdCBuYmRfY29uZmlnICpjb25maWcgPSBuYmQtXHUwMDNlY29uZmlnO1xuK1xuK1x0aWYgKG1heF9wYXJ0KVxuK1x0XHRzZXRfYml0KEdEX05FRURfUEFSVF9TQ0FOLCBcdTAwMjZuYmQtXHUwMDNlZGlzay1cdTAwM2VzdGF0ZSk7XG4rXHRpZiAoIXNldF9jYXBhY2l0eV9hbmRfbm90aWZ5KG5iZC1cdTAwM2VkaXNrLCBjb25maWctXHUwMDNlYnl0ZXNpemUgXHUwMDNlXHUwMDNlIDkpKVxuK1x0XHRrb2JqZWN0X3VldmVudChcdTAwMjZuYmRfdG9fZGV2KG5iZCktXHUwMDNla29iaiwgS09CSl9DSEFOR0UpO1xuK31cbitcbitzdGF0aWMgaW50IG5iZF9zaXplX3NldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUpXG4re1xuK1x0aWYgKGJ5dGVzaXplIFx1MDAzYyAwKVxuK1x0XHRyZXR1cm4gLUVJTlZBTDtcbitcbitcdG5iZC1cdTAwM2Vjb25maWctXHUwMDNlYnl0ZXNpemUgPSBieXRlc2l6ZTtcbitcdGlmIChuYmQtXHUwMDNlcGlkKVxuK1x0XHRuYmRfc2l6ZV91cGRhdGUobmJkKTtcbitcdHJldHVybiAwO1xuK31cbitcbiBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKVxuIHtcbiBcdHN0cnVjdCBxdWV1ZV9saW1pdHMgbGltO1xuQEAgLTM3NSwxMCArMzk2LDcgQEAgc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSlcbiBcdGlmIChlcnJvcilcbiBcdFx0cmV0dXJuIGVycm9yO1xuIFxuLVx0aWYgKG1heF9wYXJ0KVxuLVx0XHRzZXRfYml0KEdEX05FRURfUEFSVF9TQ0FOLCBcdTAwMjZuYmQtXHUwMDNlZGlzay1cdTAwM2VzdGF0ZSk7XG4tXHRpZiAoIXNldF9jYXBhY2l0eV9hbmRfbm90aWZ5KG5iZC1cdTAwM2VkaXNrLCBieXRlc2l6ZSBcdTAwM2VcdTAwM2UgOSkpXG4tXHRcdGtvYmplY3RfdWV2ZW50KFx1MDAyNm5iZF90b19kZXYobmJkKS1cdTAwM2Vrb2JqLCBLT0JKX0NIQU5HRSk7XG4rXHRuYmRfc2l6ZV91cGRhdGUobmJkKTtcbiBcdHJldHVybiAwO1xuIH1cbiBcbkBAIC0yMDYyLDExICsyMDgwLDE5IEBAIHN0YXRpYyBpbnQgbmJkX2dlbmxfc2l6ZV9zZXQoc3RydWN0IGdlbmxfaW5mbyAqaW5mbywgc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbiBcdGlmIChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX1NJWkVfQllURVNdKVxuIFx0XHRieXRlcyA9IG5sYV9nZXRfdTY0KGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfU0laRV9CWVRFU10pO1xuIFxuLVx0aWYgKGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pXG4rXHRpZiAoaW5mby1cdTAwM2VhdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSkge1xuIFx0XHRic2l6ZSA9IG5sYV9nZXRfdTY0KGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pO1xuK1x0XHRpZiAoIWJzaXplKVxuK1x0XHRcdGJzaXplID0gMXUgXHUwMDNjXHUwMDNjIE5CRF9ERUZfQkxLU0laRV9CSVRTO1xuK1x0XHRpZiAoYmxrX3ZhbGlkYXRlX2Jsb2NrX3NpemUoYnNpemUpKVxuK1x0XHRcdHJldHVybiAtRUlOVkFMO1xuK1x0fVxuIFxuLVx0aWYgKGJ5dGVzICE9IGNvbmZpZy1cdTAwM2VieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKVxuLVx0XHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcbitcdGlmIChieXRlcyAhPSBjb25maWctXHUwMDNlYnl0ZXNpemUgfHwgYnNpemUgIT0gbmJkX2Jsa3NpemUoY29uZmlnKSkge1xuK1x0XHRpZiAoYnNpemUgIT0gbmJkX2Jsa3NpemUoY29uZmlnKSlcbitcdFx0XHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcbitcdFx0cmV0dXJuIG5iZF9zaXplX3NldChuYmQsIGJ5dGVzKTtcbitcdH1cbiBcdHJldHVybiAwO1xuIH1cbiBcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIzVDIyOjU2OjEyLjE1Njc2NDk1NloiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjU3NTAzNzAxNjAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBOQkQgU2l6ZSBVcGRhdGUgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZHJpdmVycy9ibG9jay9uYmQuY2AgYW5kIG15IGluaXRpYWwgaW1wcmVzc2lvbiBpcyB0aGF0IGl0J3MgYSBzaXplLXJlbGF0ZWQgbW9kaWZpY2F0aW9uLCB3aGljaCBpcyBhbHdheXMgaW50ZXJlc3RpbmcgZnJvbSBhIGJsb2NrIGRldmljZSBwZXJzcGVjdGl2ZS4gVGhleSd2ZSBpbnRyb2R1Y2VkIGBuYmRfc2l6ZV91cGRhdGVgIGFuZCBgbmJkX3NpemVfc2V0YCBmdW5jdGlvbnMsIGFuZCB0aGV5J3ZlIHRvdWNoZWQgdXAgYG5iZF9zZXRfc2l6ZWAgYW5kIGBuYmRfZ2VubF9zaXplX3NldGAuIFRoZSBjb3JlIGNoYW5nZSBzZWVtcyB0byByZXZvbHZlIGFyb3VuZCBhIG1vcmUgZWZmaWNpZW50IHdheSB0byB1cGRhdGUgdGhlIHNpemUgb2YgYW4gTkJEIGRldmljZS5cblxuU3BlY2lmaWNhbGx5LCBpdCBsb29rcyBsaWtlIGBuYmRfZ2VubF9zaXplX3NldGAgaXMgbm93IHRoZSBoYW5kbGVyIGZvciBOZXRsaW5rIG1lc3NhZ2VzIHRoYXQgYXJlIGRlc2lnbmVkIHRvIHNldCB0aGUgc2l6ZS4gVGhlIGtleSBoZXJlIGlzIHRoYXQgdGhleSdyZSBub3cgYWJsZSB0byBzZXQgdGhlIGRldmljZSBzaXplIHdpdGhvdXQgbmVjZXNzYXJpbHkgYWxzbyBjaGFuZ2luZyB0aGUgYmxvY2sgc2l6ZS4gVGhpcyBpcyBhIGdvb2Qgb3B0aW1pemF0aW9uOyBpdCBsZXZlcmFnZXMgYG5iZF9zaXplX3NldGAgZGlyZWN0bHkuIFRoaXMgYXZvaWRzIGNhbGxpbmcgdGhlIG1vcmUgaGVhdnl3ZWlnaHQgYG5iZF9zZXRfc2l6ZWAgZnVuY3Rpb24sIHdoaWNoLCBhcyB3ZSBrbm93LCBoYXMgdG8gaGFuZGxlIHVwZGF0aW5nIHF1ZXVlIGxpbWl0cyBhbmQgdGhlIGxpa2UuIEl0IGFwcGVhcnMgdGhhdCBgYmxrX3ZhbGlkYXRlX2Jsb2NrX3NpemUoYnNpemUpYCBoYXMgYmVlbiBhZGRlZCB0byB2YWxpZGF0ZSBgYnNpemVgLCB3aGljaCBpcyBhIGdvb2Qgc2FmZXR5IG1lYXN1cmUuXG5cbk5vdywgbGV0J3MganVzdCBtYWtlIHN1cmUgdGhlIGNvbmZpZyBpcyBlbmFibGVkLiBJJ2xsIHF1aWNrbHkgY2hlY2sgZm9yIGBDT05GSUdfQkxLX0RFVl9OQkRgLiBHb29kLCB0aGF0IHNob3VsZCBiZSBzZXQsIHNvIHdlIGNhbiBiZSBjZXJ0YWluIHRoYXQgd2UgYXJlIHdvcmtpbmcgaW4gYSB2YWxpZCBjb25maWd1cmF0aW9uLlxuXG5NeSBuZXh0IHN0ZXAgaXMgdG8gY29uZmlybSB0aGUgcmVhY2hhYmlsaXR5IGFuZCBmdW5jdGlvbmFsaXR5IG9mIHRoZSBjb3JlIGZ1bmN0aW9ucy4gSSB3aWxsIHN0YXJ0IGJ5IHZlcmlmeWluZyBgbmJkX2dlbmxfc2l6ZV9zZXRgLCBgbmJkX3NpemVfc2V0YCwgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLiBJIG5lZWQgdG8gZW5zdXJlIHRoZXNlIGFyZSBhY3R1YWxseSBiZWluZyBjYWxsZWQgaW4gdGhlIGFwcHJvcHJpYXRlIGNvbnRleHRzLiBBcyBhIGZvbGxvdy11cCwgSSB3aWxsIHJlLWV4YW1pbmUgYG5iZF9zZXRfc2l6ZWAgZm9yIGFueSBzaWRlIGVmZmVjdHMgZnJvbSB0aGUgcGF0Y2guXG5cbkknbGwgcHV0IHRob3NlIHN5bWJvbHMgdW5kZXIgdGhlIG1pY3Jvc2NvcGU6XG5gbmJkX2dlbmxfc2l6ZV9zZXRgXG5gbmJkX3NpemVfc2V0YFxuYG5iZF9zaXplX3VwZGF0ZWBcbmBuYmRfc2V0X3NpemVgXG5cbkZpbmFsbHksIGEgcXVpY2sgY29uZmlnIGNoZWNrIHRvIG1ha2Ugc3VyZSBldmVyeXRoaW5nIGlzIGFzIEkgZXhwZWN0LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNjI3LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjgwLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MTcuOTA3MTM4MDI2WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIwOTUxMjU0NSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQkxLX0RFVl9OQkRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9ibG9jay9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYmxvY2svS2NvbmZpZz0xOTQ9c291cmNlIFxcXCJkcml2ZXJzL2Jsb2NrL2RyYmQvS2NvbmZpZ1xcXCJcXG5kcml2ZXJzL2Jsb2NrL0tjb25maWctMTk1LVxcbmRyaXZlcnMvYmxvY2svS2NvbmZpZzoxOTY6Y29uZmlnIEJMS19ERVZfTkJEXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5Ny1cXHR0cmlzdGF0ZSBcXFwiTmV0d29yayBibG9jayBkZXZpY2Ugc3VwcG9ydFxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MTguMTE2NjU3MTQxWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzI5NTgyMTQxMSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgY29uZmlndXJhdGlvbnM6XG5cbioqQW5hbHl6aW5nIHRoZSBOQkQgRHJpdmVyIENvbmZpZ3VyYXRpb24gT3B0aW9ucyoqXG5cbkFscmlnaHQsIG15IGluaXRpYWwgZm9jdXMgaXMgb24gYEJMS19ERVZfTkJEYC4gVGhhdCdzIHRoZSBwcmltYXJ5IGNvbmZpZ3VyYXRpb24gb3B0aW9uIGZvciBOZXR3b3JrIEJsb2NrIERldmljZSBzdXBwb3J0LCBzbyB0aGF0J3Mgd2hlcmUgSSBuZWVkIHRvIHN0YXJ0LiBGcm9tIHRoZXJlLCBJJ2xsIG5lZWQgdG8gc2VlIGlmIHRoZXJlIGFyZSBvdGhlciwgcmVsYXRlZCBjb25maWd1cmF0aW9ucyB0aGF0IG1pZ2h0IGFmZmVjdCBpdHMgYmVoYXZpb3IuXG5cbk15IG5leHQgc3RvcCBpcyBgbmJkX2dlbmxfc2l6ZV9zZXRgLiBUaGUgbmFtaW5nIHN1Z2dlc3RzIHRoYXQgdGhpcyBpcyBhIE5ldGxpbmsgaGFuZGxlciwgbGlrZWx5IGludm9sdmVkIGluIG1hbmFnaW5nIG9yIHNldHRpbmcgc2l6ZS1yZWxhdGVkIHBhcmFtZXRlcnMuIFRoaXMgd2FycmFudHMgZnVydGhlciBpbnZlc3RpZ2F0aW9uIHRvIHVuZGVyc3RhbmQgaXRzIHJvbGUgaW4gY29uanVuY3Rpb24gd2l0aCBgQkxLX0RFVl9OQkRgLiBJJ2xsIG5lZWQgdG8gZXhhbWluZSB0aGUgcmVzdCBvZiB0aGUgZmlsZSB0byBncmFzcCB0aGUgYmlnZ2VyIHBpY3R1cmUgYW5kIGhvdyB0aGVzZSBwaWVjZXMgZml0IHRvZ2V0aGVyLlxuXG5cbiIsIklucHV0VG9rZW5zIjozNTAzLCJPdXRwdXRUb2tlbnMiOjM3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MjEuNDEyNDgxMDcyWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIxMTU4NzAzNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJuYmRfZ2VubF9zaXplX3NldFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL2Jsb2NrL25iZC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYmxvY2svbmJkLmM9MjA2OT1uYmRfZGV2aWNlX3BvbGljeVtOQkRfREVWSUNFX0FUVFJfTUFYICsgMV0gPSB7XFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIwNzMtXFxuZHJpdmVycy9ibG9jay9uYmQuYzoyMDc0OnN0YXRpYyBpbnQgbmJkX2dlbmxfc2l6ZV9zZXQoc3RydWN0IGdlbmxfaW5mbyAqaW5mbywgc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIwNzUte1xcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0yMDk5PXN0YXRpYyBpbnQgbmJkX2dlbmxfY29ubmVjdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy0yMTc3LVxcdHNldF9iaXQoTkJEX1JUX0JPVU5ELCBcXHUwMDI2Y29uZmlnLVxcdTAwM2VydW50aW1lX2ZsYWdzKTtcXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjIxNzg6XFx0cmV0ID0gbmJkX2dlbmxfc2l6ZV9zZXQoaW5mbywgbmJkKTtcXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIxNzktXFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9MjMzNj1zdGF0aWMgaW50IG5iZF9nZW5sX3JlY29uZmlndXJlKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIzOTgtXFxuZHJpdmVycy9ibG9jay9uYmQuYzoyMzk5OlxcdHJldCA9IG5iZF9nZW5sX3NpemVfc2V0KGluZm8sIG5iZCk7XFxuZHJpdmVycy9ibG9jay9uYmQuYy0yNDAwLVxcdGlmIChyZXQpXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIzVDIyOjU2OjIxLjYyNDA3MzgyN1oiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM3ODAwODA2NzcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duIHJlYXNvbmluZzpcblxuKipBbmFseXppbmcgTmV0bGluayBPcGVyYXRpb25zIGFuZCBTaXplIE1hbmFnZW1lbnQqKlxuXG5BbHJpZ2h0LCBzbyBJIHNlZSBgbmJkX2dlbmxfc2l6ZV9zZXRgIGdldHMgaW52b2tlZCBmcm9tIGJvdGggYG5iZF9nZW5sX2Nvbm5lY3RgIGFuZCBgbmJkX2dlbmxfcmVjb25maWd1cmVgLiAgQ2xlYXJseSwgdGhlc2UgYXJlIG5ldGxpbmsgb3BlcmF0aW9ucywgc28gdGhhdCdzIHRoZSBjb250ZXh0LiAgTXkgaW1tZWRpYXRlIHRob3VnaHQgaXMsIHdoYXQncyBoYXBwZW5pbmcgd2l0aCB0aGUgc2l6ZT8gV2UncmUgc2V0dGluZyBpdCwgYW5kIHBvdGVudGlhbGx5IHJlY29uZmlndXJpbmcgaXQsIHZpYSBuZXRsaW5rIGNhbGxzLiBJdCBzb3VuZHMgaW1wb3J0YW50IHRvIGZvbGxvdyB0aGF0IHRocmVhZC5cblxuVGhlcmVmb3JlLCB0aGUgbmV4dCBzdGVwIGlzIHRvIGRyaWxsIGRvd24gaW50byB0aGUgaW1wbGVtZW50YXRpb24gZGV0YWlscyBvZiAgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLiBUaGV5IGxpa2VseSBoYW5kbGUgdGhlIGNvcmUgbG9naWMgb2YgKmhvdyogdGhlIHNpemUgaXMgY2hhbmdlZCBhbmQgd2hhdCBzaWRlLWVmZmVjdHMgdGhlIG9wZXJhdGlvbiB0cmlnZ2Vycy4gSSB3YW50IHRvIHVuZGVyc3RhbmQgZXhhY3RseSB3aGF0IHBhcmFtZXRlcnMgdGhleSByZWNlaXZlLCB3aGF0IGNoZWNrcyBhcmUgcGVyZm9ybWVkLCBhbmQgd2hhdCBvdGhlciBkYXRhIHN0cnVjdHVyZXMgb3Iga2VybmVsIHN1YnN5c3RlbXMgYXJlIHN1YnNlcXVlbnRseSBpbXBhY3RlZC4gQXJlIHRoZXJlIGFueSByYWNlIGNvbmRpdGlvbnMgSSBzaG91bGQgYmUgY29uc2lkZXJpbmc/IFdoYXQgYWJvdXQgc3luY2hyb25pemF0aW9uIHByaW1pdGl2ZXM/IFRoaXMgbmVlZHMgYSBjbG9zZXIgbG9vaywgZXNwZWNpYWxseSBpbiB0aGUgY29udGV4dCBvZiBgY29ubmVjdGAgYW5kIGByZWNvbmZpZ3VyZWAgZXZlbnRzLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MTI3LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NjQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjNUMjI6NTY6MjUuNDA0MTU2OTQ0WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEzNTk3MzA3MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJuYmRfc2l6ZV9zZXRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9ibG9jay9uYmQuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL2Jsb2NrL25iZC5jPTMzND1zdGF0aWMgdm9pZCBuYmRfc2l6ZV91cGRhdGUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMzQzLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6MzQ0OnN0YXRpYyBpbnQgbmJkX3NpemVfc2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSlcXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTM0NS17XFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTIwNzQ9c3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy0yMDkzLVxcdFxcdFxcdHJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpO1xcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjA5NDpcXHRcXHRyZXR1cm4gbmJkX3NpemVfc2V0KG5iZCwgYnl0ZXMpO1xcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjA5NS1cXHR9XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIzVDIyOjU2OjI1LjU0MDEzNTAwNVoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUyOTgxNzEwNTEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRnV6emluZyB0aGUgTkJEIFNpemUgVXBkYXRlIExvZ2ljKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBsaXZlIGFuZCB0b3VjaGVzIHRoZSBjb3JlIG9mIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSAoTkJEKSBkcml2ZXIg4oCTIHNwZWNpZmljYWxseSwgaG93IGl0IGhhbmRsZXMgc2V0dGluZyB0aGUgZGV2aWNlIHNpemUuICBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgKnllcyosIHRoaXMgZGVmaW5pdGVseSBuZWVkcyBmdXp6aW5nLiAgV2UncmUgZGVhbGluZyB3aXRoIGxvZ2ljIHRoYXQgaW50ZXJhY3RzIHdpdGggdXNlci1zcGFjZSB2aWEgbmV0bGluaywgd2hpY2ggaXMgYWx3YXlzIGEgcHJpbWUgdGFyZ2V0LiAgVGhlIGZhY3QgdGhhdCBpdCdzIG1vZGlmeWluZyBzaXplLXJlbGF0ZWQgY29kZSBhbmQgdGhhdCB0aGUgY2hhbmdlcyBhcmUgcmVhY2hhYmxlIG1ha2VzIGl0IGEgaGlnaC1wcmlvcml0eSB0YXJnZXQgZm9yIG1lLlxuXG5NeSBmb2N1cyBpcyBnb2luZyB0byBiZSBvbiB0aGVzZSBzeW1ib2xzOiBgbmJkX2dlbmxfc2l6ZV9zZXRgLCBgbmJkX3NpemVfc2V0YCwgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLiBUaGVzZSBzZWVtIHRvIGJlIHRoZSBrZXkgZnVuY3Rpb25zIGludm9sdmVkIGluIHRoZSBuZXcgc2l6ZS1zZXR0aW5nIG1lY2hhbmlzbS4gIFRoZSBwYXRjaCBpbnRyb2R1Y2VzIGBuYmRfc2l6ZV9zZXRgIGFuZCBgbmJkX3NpemVfdXBkYXRlYCwgd2hpY2ggYXBwZWFyIHRvIGFsbG93IHNpemUgdXBkYXRlcyB3aXRob3V0IHJlcXVpcmluZyBhIGJsb2NrIHNpemUgY2hhbmdlLiBUaGF0LCBpbiBpdHNlbGYsIGlzIGludGVyZXN0aW5nIGZyb20gYSBmdXp6aW5nIHBlcnNwZWN0aXZlLCBiZWNhdXNlIGl0IGNvdWxkIGV4cG9zZSBzdWJ0bGUgaXNzdWVzIHJlbGF0aW5nIHRvIHF1ZXVlIGxpbWl0cyBvciBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZXMgdGhhdCB3ZXJlbid0IHByZXZpb3VzbHkgZXhlcmNpc2VkIGluIHRoaXMgc3BlY2lmaWMgY29tYmluYXRpb24uICBBbmQgdGhlIGZhY3QgdGhhdCBibG9jayBzaXplIHZhbGlkYXRpb24gaXMgbm93IGluY2x1ZGVkIOKAkyBldmVuIGJldHRlci4gIEJsb2NrIHNpemUgdmFsaWRhdGlvbiBpcyByaXBlIGZvciBleHBsb2l0YXRpb24sIGFuZCBmdXp6aW5nIGlzIHRoZSBwZXJmZWN0IHRvb2wgZm9yIHRlc3RpbmcgdGhhdC4gIExldCdzIG1ha2Ugc3VyZSBgQkxLX0RFVl9OQkRgIGlzIGNvbmZpZ3VyZWQgZm9yIHRoZSBrZXJuZWwgaW1hZ2UuIEkgbmVlZCB0byBtYWtlIHN1cmUgdG8gY29uZmlndXJlIGl0IGFzIHBhcnQgb2YgdGhlIGZ1enppbmcgc2V0dXAuIFRpbWUgdG8gZ2V0IHRvIHdvcmshXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ3MDcsIk91dHB1dFRva2VucyI6MTU0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTU5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIzVDIyOjU2OjMwLjgzODMwODYyNloiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMxNDU3NTkwOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZ2VubF9zaXplX3NldFwiLFxuICAgIFwibmJkX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV91cGRhdGVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgc2l6ZSB1cGRhdGluZyBsb2dpYyBpbiB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgKE5CRCkgZHJpdmVyLCBzcGVjaWZpY2FsbHkgaGFuZGxpbmcgbmV0bGluayBtZXNzYWdlcyB0byBzZXQgdGhlIHNpemUuIEl0IGludHJvZHVjZXMgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgIHRvIGFsbG93IHNldHRpbmcgdGhlIHNpemUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYmxvY2sgc2l6ZSwgYXZvaWRpbmcgdW5uZWNlc3NhcnkgcXVldWUgbGltaXRzIHVwZGF0ZXMuIEl0IGFsc28gYWRkcyBibG9jayBzaXplIHZhbGlkYXRpb24uIFRoaXMgaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvcmUgZHJpdmVyIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCTEtfREVWX05CRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5iZF9nZW5sX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV9zZXRcIixcbiAgICBcIm5iZF9zaXplX3VwZGF0ZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBzaXplIHVwZGF0aW5nIGxvZ2ljIGluIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSAoTkJEKSBkcml2ZXIsIHNwZWNpZmljYWxseSBoYW5kbGluZyBuZXRsaW5rIG1lc3NhZ2VzIHRvIHNldCB0aGUgc2l6ZS4gSXQgaW50cm9kdWNlcyBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAgdG8gYWxsb3cgc2V0dGluZyB0aGUgc2l6ZSB3aXRob3V0IGNoYW5naW5nIHRoZSBibG9jayBzaXplLCBhdm9pZGluZyB1bm5lY2Vzc2FyeSBxdWV1ZSBsaW1pdHMgdXBkYXRlcy4gSXQgYWxzbyBhZGRzIGJsb2NrIHNpemUgdmFsaWRhdGlvbi4gVGhpcyBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwgY29yZSBkcml2ZXIgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },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-workflow2h62b[1] Phase: Succeeded StartedAt: 2026-07-23 22:56:43 +0000 UTC FinishedAt: 2026-07-23 22:56:43 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-23 22:56:43 +0000 UTC FinishedAt: 2026-07-23 22:56:43 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2] Phase: Succeeded StartedAt: 2026-07-23 22:56:43 +0000 UTC FinishedAt: 2026-07-24 03:01:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-23 22:56:43 +0000 UTC FinishedAt: 2026-07-24 03:01:37 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-23 22:56:43 +0000 UTC FinishedAt: 2026-07-23 22:57:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-23 22:56:43 +0000 UTC FinishedAt: 2026-07-23 22:57:24 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.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-workflow2h62b/series-workflow2h62b-convert-artifact-2212441923/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-23 22:57:36 +0000 UTC FinishedAt: 2026-07-23 23:27:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-23 22:57:36 +0000 UTC FinishedAt: 2026-07-23 23:27:39 +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:*995dcc72-ba29-4db8-982b-d71a3ceb3647,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-workflow2h62b/series-workflow2h62b-convert-artifact-2212441923/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": "bc2b3595-ecd9-4689-a069-86b750b77c38", "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-workflow2h62b/series-workflow2h62b-build-action-2972887473/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-23 22:57:36 +0000 UTC FinishedAt: 2026-07-23 23:27:29 +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:*995dcc72-ba29-4db8-982b-d71a3ceb3647,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-workflow2h62b/series-workflow2h62b-convert-artifact-2212441923/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": "bc2b3595-ecd9-4689-a069-86b750b77c38", "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-workflow2h62b/series-workflow2h62b-build-action-2972887473/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-23 23:27:39 +0000 UTC FinishedAt: 2026-07-23 23:27:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-23 23:27:39 +0000 UTC FinishedAt: 2026-07-23 23:27:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-23 23:27:39 +0000 UTC FinishedAt: 2026-07-23 23:27:49 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-23 23:27:39 +0000 UTC FinishedAt: 2026-07-23 23:27:45 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.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-workflow2h62b/series-workflow2h62b-convert-artifact-1438891514/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-23 23:27:49 +0000 UTC FinishedAt: 2026-07-23 23:29:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-23 23:27:49 +0000 UTC FinishedAt: 2026-07-23 23:29:45 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*bc2b3595-ecd9-4689-a069-86b750b77c38,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-workflow2h62b/series-workflow2h62b-build-action-2972887473/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-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-23 23:29:54 +0000 UTC FinishedAt: 2026-07-23 23:29:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-23 23:29:54 +0000 UTC FinishedAt: 2026-07-23 23:29:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-23 23:29:54 +0000 UTC FinishedAt: 2026-07-23 23:55:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-23 23:29:54 +0000 UTC FinishedAt: 2026-07-23 23:55:59 +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:*995dcc72-ba29-4db8-982b-d71a3ceb3647,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-workflow2h62b/series-workflow2h62b-convert-artifact-1438891514/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": "54a99349-149e-475c-a7b9-62090852dc19", "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-workflow2h62b/series-workflow2h62b-build-action-404643166/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-23 23:29:54 +0000 UTC FinishedAt: 2026-07-23 23:55:49 +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:*995dcc72-ba29-4db8-982b-d71a3ceb3647,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-workflow2h62b/series-workflow2h62b-convert-artifact-1438891514/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": "54a99349-149e-475c-a7b9-62090852dc19", "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-workflow2h62b/series-workflow2h62b-build-action-404643166/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-23 23:55:59 +0000 UTC FinishedAt: 2026-07-23 23:55:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-23 23:55:59 +0000 UTC FinishedAt: 2026-07-23 23:55:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-23 23:55:59 +0000 UTC FinishedAt: 2026-07-23 23:58:08 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-23 23:55:59 +0000 UTC FinishedAt: 2026-07-23 23:57:58 +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:*54a99349-149e-475c-a7b9-62090852dc19,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-workflow2h62b/series-workflow2h62b-build-action-404643166/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-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-23 23:58:08 +0000 UTC FinishedAt: 2026-07-24 03:01:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-23 23:58:08 +0000 UTC FinishedAt: 2026-07-24 03:01:37 +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-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"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:*bc2b3595-ecd9-4689-a069-86b750b77c38,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*54a99349-149e-475c-a7b9-62090852dc19,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-workflow2h62b/series-workflow2h62b-build-action-2972887473/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-workflow2h62b/series-workflow2h62b-build-action-404643166/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-23 23:58:08 +0000 UTC FinishedAt: 2026-07-23 23:58:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-23 23:58:08 +0000 UTC FinishedAt: 2026-07-23 23:58:14 +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-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"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-workflow2h62b/series-workflow2h62b-convert-artifact-2746490415/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-23 23:58:08 +0000 UTC FinishedAt: 2026-07-23 23:58:08 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-23 23:58:08 +0000 UTC FinishedAt: 2026-07-23 23:58:08 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-23 23:58:08 +0000 UTC FinishedAt: 2026-07-23 23:58:08 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-23 23:58:18 +0000 UTC FinishedAt: 2026-07-24 03:01:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2h62b[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"e86602f6-ebf4-4424-8cd3-7fe868fda232","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-23 23:58:18 +0000 UTC FinishedAt: 2026-07-24 03:01:26 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*bc2b3595-ecd9-4689-a069-86b750b77c38,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*54a99349-149e-475c-a7b9-62090852dc19,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-workflow2h62b/series-workflow2h62b-build-action-2972887473/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-workflow2h62b/series-workflow2h62b-build-action-404643166/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-workflow2h62b/series-workflow2h62b-convert-artifact-2746490415/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,}