Name: series-workflow2hncr Phase: Succeeded StartedAt: 2026-06-30 21:00:28 +0000 UTC FinishedAt: 2026-06-30 23:05:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[0] Phase: Succeeded StartedAt: 2026-06-30 21:00:28 +0000 UTC FinishedAt: 2026-06-30 21:08:47 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[0].run-triage Phase: Succeeded StartedAt: 2026-06-30 21:00:28 +0000 UTC FinishedAt: 2026-06-30 21:08:47 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "drm-next", "tree_url": "https://gitlab.freedesktop.org/drm/kernel.git", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "USB_LAN78XX" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "drm-next", "tree_url": "https://gitlab.freedesktop.org/drm/kernel.git", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "USB_LAN78XX" ], "series_id": "e33246d9-fee8-4ca8-9f71-7f1c5126f4e0" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "lan78xx_set_multicast", "lan78xx_set_features" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1VTQl9MQU43OFhYJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bGFuNzh4eF9zZXRfbXVsdGljYXN0JiMzNDssCiAgICAmIzM0O2xhbjc4eHhfc2V0X2ZlYXR1cmVzJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBWTEFOIGZpbHRlcmluZyBsb2dpYyBpbiB0aGUgYGxhbjc4eHhgIFVTQiBuZXR3b3JrIGRyaXZlciB3aGVuIHByb21pc2N1b3VzIG1vZGUgaXMgdG9nZ2xlZCBvciB3aGVuIG5ldHdvcmsgZmVhdHVyZXMgYXJlIHVwZGF0ZWQuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgKHZpYSBVU0IgZW11bGF0aW9uKSBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAyMTowNjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGM4OTRkYmE3NWIwMGQ2MmUzNmVjZjhkNTc2ZTY1NWFjZjhhYTUwNTBcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1biAzMCAyMTowNjo0MyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jIGIvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguY1xuaW5kZXggYzRjZWJhY2FiY2I1MzQuLmExYTUzZWY4NWNiOWMzIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguY1xuQEAgLTE1MjUsNyAmIzQzOzE1MjUsMTQgQEAgc3RhdGljIHZvaWQgbGFuNzh4eF9zZXRfbXVsdGljYXN0KHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpXG4gXHRpZiAoZGV2LVx1MDAzZW5ldC1cdTAwM2VmbGFncyBcdTAwMjYgSUZGX1BST01JU0MpIHtcbiBcdFx0bmV0aWZfZGJnKGRldiwgZHJ2LCBkZXYtXHUwMDNlbmV0LCBcJiMzNDtwcm9taXNjdW91cyBtb2RlIGVuYWJsZWRcJiMzNDspO1xuIFx0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIHw9IFJGRV9DVExfTUNBU1RfRU5fIHwgUkZFX0NUTF9VQ0FTVF9FTl87XG4mIzQzO1x0XHQvKiBieXBhc3MgVkxBTiBmaWx0ZXIgc28gYWxsIHRhZ2dlZCBmcmFtZXMgYXJlIGNhcHR1cmVkICovXG4mIzQzO1x0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIFx1MDAyNj0gflJGRV9DVExfVkxBTl9GSUxURVJfO1xuIFx0fSBlbHNlIHtcbiYjNDM7XHRcdGlmIChkZXYtXHUwMDNlbmV0LVx1MDAzZWZlYXR1cmVzIFx1MDAyNiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpXG4mIzQzO1x0XHRcdHBkYXRhLVx1MDAzZXJmZV9jdGwgfD0gUkZFX0NUTF9WTEFOX0ZJTFRFUl87XG4mIzQzO1x0XHRlbHNlXG4mIzQzO1x0XHRcdHBkYXRhLVx1MDAzZXJmZV9jdGwgXHUwMDI2PSB+UkZFX0NUTF9WTEFOX0ZJTFRFUl87XG4mIzQzO1xuIFx0XHRpZiAoZGV2LVx1MDAzZW5ldC1cdTAwM2VmbGFncyBcdTAwMjYgSUZGX0FMTE1VTFRJKSB7XG4gXHRcdFx0bmV0aWZfZGJnKGRldiwgZHJ2LCBkZXYtXHUwMDNlbmV0LFxuIFx0XHRcdFx0ICBcJiMzNDtyZWNlaXZlIGFsbCBtdWx0aWNhc3QgZW5hYmxlZFwmIzM0Oyk7XG5AQCAtMzA3NCw3ICYjNDM7MzA4MSw5IEBAIHN0YXRpYyBpbnQgbGFuNzh4eF9zZXRfZmVhdHVyZXMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcbiBcdGVsc2VcbiBcdFx0cGRhdGEtXHUwMDNlcmZlX2N0bCBcdTAwMjY9IH5SRkVfQ1RMX1ZMQU5fU1RSSVBfO1xuIFxuLVx0aWYgKGZlYXR1cmVzIFx1MDAyNiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpXG4mIzQzO1x0Lyoga2VlcCBWTEFOIGZpbHRlciBvZmYgd2hpbGUgcHJvbWlzY3VvdXMgKi9cbiYjNDM7XHRpZiAoKGZlYXR1cmVzIFx1MDAyNiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpIFx1MDAyNlx1MDAyNlxuJiM0MztcdCAgICAhKG5ldGRldi1cdTAwM2VmbGFncyBcdTAwMjYgSUZGX1BST01JU0MpKVxuIFx0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIHw9IFJGRV9DVExfVkxBTl9GSUxURVJfO1xuIFx0ZWxzZVxuIFx0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIFx1MDAyNj0gflJGRV9DVExfVkxBTl9GSUxURVJfO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA2PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjFtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1VTQl9MQU43OFhYJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bGFuNzh4eF9zZXRfbXVsdGljYXN0JiMzNDssCiAgICAmIzM0O2xhbjc4eHhfc2V0X2ZlYXR1cmVzJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBWTEFOIGZpbHRlcmluZyBsb2dpYyBpbiB0aGUgYGxhbjc4eHhgIFVTQiBuZXR3b3JrIGRyaXZlciB3aGVuIHByb21pc2N1b3VzIG1vZGUgaXMgdG9nZ2xlZCBvciB3aGVuIG5ldHdvcmsgZmVhdHVyZXMgYXJlIHVwZGF0ZWQuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgKHZpYSBVU0IgZW11bGF0aW9uKSBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgYzg5NGRiYTc1YjAwZDYyZTM2ZWNmOGQ1NzZlNjU1YWNmOGFhNTA1MApBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBUdWUgSnVuIDMwIDIxOjA2OjQzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmMKaW5kZXggYzRjZWJhY2FiY2I1MzQuLmExYTUzZWY4NWNiOWMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmMKQEAgLTE1MjUsNyAmIzQzOzE1MjUsMTQgQEAgc3RhdGljIHZvaWQgbGFuNzh4eF9zZXRfbXVsdGljYXN0KHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpCiAJaWYgKGRldi0mZ3Q7bmV0LSZndDtmbGFncyAmYW1wOyBJRkZfUFJPTUlTQykgewogCQluZXRpZl9kYmcoZGV2LCBkcnYsIGRldi0mZ3Q7bmV0LCAmIzM0O3Byb21pc2N1b3VzIG1vZGUgZW5hYmxlZCYjMzQ7KTsKIAkJcGRhdGEtJmd0O3JmZV9jdGwgfD0gUkZFX0NUTF9NQ0FTVF9FTl8gfCBSRkVfQ1RMX1VDQVNUX0VOXzsKJiM0MzsJCS8qIGJ5cGFzcyBWTEFOIGZpbHRlciBzbyBhbGwgdGFnZ2VkIGZyYW1lcyBhcmUgY2FwdHVyZWQgKi8KJiM0MzsJCXBkYXRhLSZndDtyZmVfY3RsICZhbXA7PSB+UkZFX0NUTF9WTEFOX0ZJTFRFUl87CiAJfSBlbHNlIHsKJiM0MzsJCWlmIChkZXYtJmd0O25ldC0mZ3Q7ZmVhdHVyZXMgJmFtcDsgTkVUSUZfRl9IV19WTEFOX0NUQUdfRklMVEVSKQomIzQzOwkJCXBkYXRhLSZndDtyZmVfY3RsIHw9IFJGRV9DVExfVkxBTl9GSUxURVJfOwomIzQzOwkJZWxzZQomIzQzOwkJCXBkYXRhLSZndDtyZmVfY3RsICZhbXA7PSB+UkZFX0NUTF9WTEFOX0ZJTFRFUl87CiYjNDM7CiAJCWlmIChkZXYtJmd0O25ldC0mZ3Q7ZmxhZ3MgJmFtcDsgSUZGX0FMTE1VTFRJKSB7CiAJCQluZXRpZl9kYmcoZGV2LCBkcnYsIGRldi0mZ3Q7bmV0LAogCQkJCSAgJiMzNDtyZWNlaXZlIGFsbCBtdWx0aWNhc3QgZW5hYmxlZCYjMzQ7KTsKQEAgLTMwNzQsNyAmIzQzOzMwODEsOSBAQCBzdGF0aWMgaW50IGxhbjc4eHhfc2V0X2ZlYXR1cmVzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsCiAJZWxzZQogCQlwZGF0YS0mZ3Q7cmZlX2N0bCAmYW1wOz0gflJGRV9DVExfVkxBTl9TVFJJUF87CiAKLQlpZiAoZmVhdHVyZXMgJmFtcDsgTkVUSUZfRl9IV19WTEFOX0NUQUdfRklMVEVSKQomIzQzOwkvKiBrZWVwIFZMQU4gZmlsdGVyIG9mZiB3aGlsZSBwcm9taXNjdW91cyAqLwomIzQzOwlpZiAoKGZlYXR1cmVzICZhbXA7IE5FVElGX0ZfSFdfVkxBTl9DVEFHX0ZJTFRFUikgJmFtcDsmYW1wOwomIzQzOwkgICAgIShuZXRkZXYtJmd0O2ZsYWdzICZhbXA7IElGRl9QUk9NSVNDKSkKIAkJcGRhdGEtJmd0O3JmZV9jdGwgfD0gUkZFX0NUTF9WTEFOX0ZJTFRFUl87CiAJZWxzZQogCQlwZGF0YS0mZ3Q7cmZlX2N0bCAmYW1wOz0gflJGRV9DVExfVkxBTl9GSUxURVJfOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAyMTowNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMTc4CgkJCQkJCQlvdXRwdXQ6IDMyCgkJCQkJCQl0aG91Z2h0czogNDcyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIFBhdGNoIHRvIHRoZSBsYW43OHh4IFVTQiBOZXR3b3JrIERyaXZlcioqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgYSBwYXRjaCBmb3IgdGhlIGBsYW43OHh4LmNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvY3VzaW5nIG9uIGBsYW43OHh4X3NldF9tdWx0aWNhc3RgIGFuZCBgbGFuNzh4eF9zZXRfZmVhdHVyZXNgLiBJdCBzZWVtcyB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIFZMQU4gZmlsdGVyaW5nIGJlaGF2aW9yLCB3aGljaCBhbHdheXMgZ2V0cyBteSBhdHRlbnRpb24uIFRoZSBjb3JlIGNoYW5nZSByZXZvbHZlcyBhcm91bmQgaG93IHRoZSBgUkZFX0NUTF9WTEFOX0ZJTFRFUl9gIGJpdCBpcyBtYW5pcHVsYXRlZCB3aXRoaW4gdGhlIGBwZGF0YS0mZ3Q7cmZlX2N0bGAgcmVnaXN0ZXIuCgpJbiB0aGUgbXVsdGljYXN0IGZ1bmN0aW9uLCB0aGUgbG9naWMgaGFzIGJlZW4gYWRqdXN0ZWQuIElmIHRoZSBpbnRlcmZhY2UgaXMgaW4gcHJvbWlzY3VvdXMgbW9kZSwgd2UgZW5hYmxlIG11bHRpY2FzdCBhbmQgdW5pY2FzdCByZWNlcHRpb24gKGFzIGV4cGVjdGVkKSwgYnV0IHRoZW4sIGFuZCB0aGlzIGlzIHRoZSBrZXkgY2hhbmdlLCBpdCAqZGlzYWJsZXMqIHRoZSBWTEFOIGZpbHRlciB0byBieXBhc3MgaXQuIFRoaXMgbWFrZXMgc2Vuc2U6IGluIHByb21pc2N1b3VzIG1vZGUsIHlvdSB3YW50ICpldmVyeXRoaW5nKiwgaW5jbHVkaW5nIHRhZ2dlZCBmcmFtZXMsIHNvIFZMQU4gZmlsdGVyaW5nIHdvdWxkIGJlIGNvdW50ZXJwcm9kdWN0aXZlLiBUaGUgb3JpZ2luYWwgY29kZSBkaWRuJiMzOTt0IGRvIHRoaXMsIGl0IHNlZW1zLiBPdGhlcndpc2UsIGl0IG5vdyBjb25zaWRlcnMgdGhlIGBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVJgIGZlYXR1cmUgZmxhZy4gSWYgdGhhdCBmbGFnIGlzIHNldCwgaXQgZW5hYmxlcyBWTEFOIGZpbHRlcmluZywgb3RoZXJ3aXNlLCBpdCBkaXNhYmxlcy4KClRoZSBjb3JyZXNwb25kaW5nIGNoYW5nZSBpbiBgbGFuNzh4eF9zZXRfZmVhdHVyZXNgIG1ha2VzIHNpbWlsYXIgYWRqdXN0bWVudHMuIFRoZSBjb2RlIHdpbGwgbm93IGNoZWNrIGZvciBib3RoIHRoZSBgTkVUSUZfRl9IV19WTEFOX0NUQUdfRklMVEVSYCBmZWF0dXJlIGFuZCB0aGUgSUZGX1BST01JU0MgZmxhZy4gVGhlIGRyaXZlciB3aWxsIGVuYWJsZSB0aGUgVkxBTiBmaWx0ZXIgaWYgdGhlIGZlYXR1cmUgaXMgc2V0ICphbmQqIHByb21pc2N1b3VzIG1vZGUgaXNuJiMzOTt0IGFjdGl2ZS4gVGhpcyBhbGlnbnMgd2l0aCB0aGUgYGxhbjc4eHhfc2V0X211bHRpY2FzdGAgY2hhbmdlcywgZW5zdXJpbmcgYSBjb25zaXN0ZW50IGJlaGF2aW9yLgoKVGhpcyBhbGwgcG9pbnRzIHRvIHNvbWUgcmVmaW5lbWVudCBvZiB0aGUgVkxBTiBoYW5kbGluZyBsb2dpYyBpbiB0aGUgZHJpdmVyLiBJdCYjMzk7cyBsaWtlbHkgZGVzaWduZWQgdG8gaW1wcm92ZSBjb21wYXRpYmlsaXR5IG9yIHBlcmZvcm1hbmNlIGluIHNwZWNpZmljIG5ldHdvcmsgY29uZmlndXJhdGlvbnMuIEdpdmVuIHRoYXQgdGhpcyBpcyBhIFVTQiBuZXR3b3JrIGRyaXZlciwgaXQmIzM5O3MgYWxzbyB3b3J0aCB0aGlua2luZyBhYm91dCBob3cgd2UgY2FuIGZ1enogaXQsIHNpbmNlIFVTQiBkZXZpY2VzIGNhbiBiZSBlbXVsYXRlZC4gU28sIGxldCYjMzk7cyB0YWtlIGEgcXVpY2sgbG9vayBhdCB0aGUgS2NvbmZpZyBmaWxlIGZvciB0aGlzIGRyaXZlciB0byB1bmRlcnN0YW5kIGl0cyBjb25maWd1cmF0aW9uIG9wdGlvbnMgYW5kIGRlcGVuZGVuY2llcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAyMTowNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtsYW43OHh4JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL0tjb25maWc9MTEzPWNvbmZpZyBVU0JfTEFONzhYWFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTEyOS1cdCAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlXG5kcml2ZXJzL25ldC91c2IvS2NvbmZpZzoxMzA6XHQgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBsYW43OHh4LlxuZHJpdmVycy9uZXQvdXNiL0tjb25maWctMTMxLVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMyMTgKCQkJCQkJCW91dHB1dDogMzUKCQkJCQkJCXRob3VnaHRzOiA1MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duIG1lbnRhbCBwcm9jZXNzaW5nOgoKKipBbmFseXppbmcgTEFONzhYWCBDb25maWd1cmF0aW9uKioKCkFscmlnaHQsIHNvIHRoZSBmb2N1cyBpcyBvbiB0aGUgYFVTQl9MQU43OFhYYCBjb25maWd1cmF0aW9uLCB3aGljaCBpbW1lZGlhdGVseSB0ZWxscyBtZSB0aGlzIGlzIGFib3V0IGludGVncmF0aW5nIHRoZSBMQU43OFhYIFVTQiBFdGhlcm5ldCBjb250cm9sbGVyLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gZGl2ZSBpbnRvIGhvdyB0aGlzIHNwZWNpZmljIGNvbmZpZyBpbXBhY3RzIHRoZSBkcml2ZXImIzM5O3MgYmVoYXZpb3IuIFNwZWNpZmljYWxseSwgdGhlIG1vZGlmaWNhdGlvbnMgYXJlIGNlbnRlcmVkIGFyb3VuZCBgbGFuNzh4eF9zZXRfbXVsdGljYXN0YCBhbmQgYGxhbjc4eHhfc2V0X2ZlYXR1cmVzYC4gVGhlc2UgYXJlIGtleTsgdGhleSYjMzk7bGwgZGljdGF0ZSBob3cgdGhlIGRldmljZSBoYW5kbGVzIG5ldHdvcmsgdHJhZmZpYyBkaXN0cmlidXRpb24gYW5kIHNwZWNpZmljIGhhcmR3YXJlIGNhcGFiaWxpdGllcy4KCk5vdywgYmVmb3JlIEkgZ2V0IHRvbyBkZWVwIGluLCBJIHdhbnQgdG8gbWFrZSBzdXJlIEkgZG9uJiMzOTt0IG1pc3MgYW55dGhpbmcuIEFyZSB0aGVzZSB0aGUgKm9ubHkqIGNvbmZpZ3VyYXRpb25zIGFmZmVjdGVkPyBJIG5lZWQgdG8gcXVpY2tseSBzY2FuIHRoZSByZWxhdGVkIGNvZGUgYW5kIGFueSBzdXBwb3J0aW5nIGRvY3VtZW50YXRpb24gdG8gZW5zdXJlIHRoZXJlIGFyZW4mIzM5O3QgKm90aGVyKiBjb25maWd1cmF0aW9uIG9wdGlvbnMgb3IgZGVwZW5kZW5jaWVzIGxpbmtlZCB0byB0aGlzIG9uZSB0aGF0IG5lZWQgZXhhbWluYXRpb24uIEtub3dpbmcgdGhlIGZ1bGwgcGljdHVyZSB1cC1mcm9udCB3aWxsIHNhdmUgdGltZSBhbmQgcG90ZW50aWFsIGhlYWRhY2hlcyBsYXRlci4gTmVlZCB0byBtYWtlIHN1cmUgSSBoYXZlbiYjMzk7dCBtaXNzZWQgYSBjcml0aWNhbCBwaWVjZSBvZiB0aGUgcHV6emxlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBVU0JfTEFONzhYWCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9LY29uZmlnPTk5PWNvbmZpZyBVU0JfUlRMODE1MlxuLS1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTExMi1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnOjExMzpjb25maWcgVVNCX0xBTjc4WFhcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTExNC1cdHRyaXN0YXRlIFwmIzM0O01pY3JvY2hpcCBMQU43OFhYIEJhc2VkIFVTQiBFdGhlcm5ldCBBZGFwdGVyc1wmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM2MzIKCQkJCQkJCW91dHB1dDogMzUKCQkJCQkJCXRob3VnaHRzOiAxNAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSB0aG91Z2h0IHByb2Nlc3MsIGFzIGlmIEkgd2VyZSBjb25zaWRlcmluZyB0aG9zZSBkZXBlbmRlbmNpZXM6CgoqKkFuYWx5emluZyB0aGUgVVNCX0xBTjc4WFggRGVwZW5kZW5jaWVzKioKCkFscmlnaHQsIGxldCYjMzk7cyBkaXZlIGluLiAmIzM0O1VTQl9MQU43OFhYJiMzNDsuLi4gbXkgaW5pdGlhbCB0aG91Z2h0IGlzLCAmIzM0O09rYXksIHRoYXQgc291bmRzIGxpa2UgYSBkcml2ZXIgb3IgbW9kdWxlIGZvciBhIFVTQi10by1FdGhlcm5ldCBhZGFwdGVyIGJhc2VkIG9uIGEgTEFONzh4eCBjaGlwc2V0LiYjMzQ7IE5vdywgYXMgYW4gZXhwZXJ0LCBJIGltbWVkaWF0ZWx5IHN0YXJ0IHRvIG1lbnRhbGx5IGxpc3QgdGhlIHRoaW5ncyBJIG5lZWQgdG8gY29uc2lkZXIgd2hlbiBsb29raW5nIGF0IGl0cyBkZXBlbmRlbmNpZXMuCgpGaXJzdCwgSSBuZWVkIHRvIGtub3cgdGhlICpleGFjdCogY29udGV4dC4gSXMgdGhpcyBmb3IgYW4gZW1iZWRkZWQgc3lzdGVtLCBhIGRlc2t0b3AgT1MsIG9yIHNvbWV0aGluZyBlbHNlIGVudGlyZWx5PyBUaGUgZW52aXJvbm1lbnQgd2lsbCBoZWF2aWx5IGluZmx1ZW5jZSB3aGF0IEkgbmVlZCB0byBsb29rIGZvci4gSWYgaXQmIzM5O3MgZW1iZWRkZWQsIEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgdGhlIGtlcm5lbCB2ZXJzaW9uLCB0aGUgc3BlY2lmaWMgYm9hcmQgc3VwcG9ydCBwYWNrYWdlIChCU1ApIGl0JiMzOTtzIGxpa2VseSBwYXJ0IG9mLCBhbmQgYW55IGN1c3RvbSBjb25maWd1cmF0aW9ucyB0aGF0IG1pZ2h0IGJlIGluIHBsYWNlLiBJZiBpdCYjMzk7cyBhIGRlc2t0b3AgT1MsIEkgbmVlZCB0byBjb25zaWRlciB0aGUga2VybmVsIG1vZHVsZXMsIHRoZSB1c2VyLXNwYWNlIGxpYnJhcmllcyBpdCByZWxpZXMgb24gKGxpa2UgbGlidXNiLCBwZXJoYXBzKSwgYW5kIGFueSBwb3RlbnRpYWwgY29uZmxpY3RzIHdpdGggb3RoZXIgbmV0d29yayBkcml2ZXJzLgoKVGhlbiwgdGhlcmUmIzM5O3MgdGhlIGhhcmR3YXJlIGl0c2VsZi4gV2hhdCBVU0IgYnVzIHNwZWVkIGlzIGl0IGRlc2lnbmVkIGZvcj8gRG9lcyBpdCBzdXBwb3J0IFVTQiAyLjAsIFVTQiAzLjAsIG9yIGV2ZW4gVVNCIDMuMSBvciAzLjI/IFRoYXQgY291bGQgaGF2ZSBpbXBsaWNhdGlvbnMgZm9yIHBvd2VyIG1hbmFnZW1lbnQgYW5kIGludGVycnVwdCBoYW5kbGluZy4gVGhlIGNoaXBzZXQgaXRzZWxmLiBEb2VzIGl0IHVzZSBzdGFuZGFyZCB2ZW5kb3IvZGV2aWNlIElEcyBvciBhcmUgdGhleSBjdXN0b20/CgpOb3csIGxldCYjMzk7cyBnZXQgaW50byB0aGUgZGVwZW5kZW5jaWVzOgoKKiAgICoqS2VybmVsIERlcGVuZGVuY2llczoqKiBXaGF0IGtlcm5lbCBtb2R1bGVzIGRvZXMgdGhpcyBkcml2ZXIgcmVseSBvbj8gVVNCIGNvcmUgbW9kdWxlcyAodXNiY29yZSwgZWhjaV9oY2QsIHhoY2lfaGNkKSwgbmV0d29yayBkcml2ZXIgZnJhbWV3b3JrIChuZXRkZXYsIGV0aHRvb2wpLCBhbmQgYW55IHBsYXRmb3JtLXNwZWNpZmljIGRyaXZlcnMuIEFyZSB0aGVyZSBhbnkgc3BlY2lmaWMga2VybmVsIGNvbmZpZyBvcHRpb25zIHRoYXQgKm11c3QqIGJlIGVuYWJsZWQ/IEkgd291bGQgbmVlZCB0byBtYWtlIHN1cmUgdGhlIGtlcm5lbCBpbmNsdWRlcyB0aGUgcmlnaHQgVVNCIGRyaXZlcnMsIG5ldHdvcmtpbmcgc3RhY2ssIGFuZCB0aGUgTEFONzh4eC1zcGVjaWZpYyBkcml2ZXIgaXRzZWxmLgoqICAgKipVc2VyLVNwYWNlIERlcGVuZGVuY2llczoqKiBBcmUgdGhlcmUgYW55IHVzZXItc3BhY2UgbGlicmFyaWVzIG5lZWRlZD8gYGxpYnVzYmAgaXMgYSBsaWtlbHkgY2FuZGlkYXRlIGZvciBoYW5kbGluZyB0aGUgVVNCIGNvbW11bmljYXRpb24uIERvZXMgaXQgdXNlIGB1ZGV2YCBydWxlcyBmb3IgZGV2aWNlIGRldGVjdGlvbiBhbmQgbWFuYWdlbWVudD8gV2hhdCBhYm91dCB0b29scyBmb3IgY29uZmlndXJhdGlvbiwgbGlrZSBgaXBgLCBgZXRodG9vbGAsIG9yIGEgY3VzdG9tIGNvbmZpZ3VyYXRpb24gdXRpbGl0eT8KKiAgICoqRmlybXdhcmU6KiogRG9lcyB0aGUgTEFONzh4eCByZXF1aXJlIGZpcm13YXJlIHRvIGJlIGxvYWRlZD8gSWYgc28sIHdoZXJlIGlzIHRoZSBmaXJtd2FyZSBsb2NhdGVkLCBhbmQgaG93IGlzIGl0IGxvYWRlZD8gSXMgaXQgbG9hZGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhlIGRyaXZlciwgb3IgZG9lcyBpdCByZXF1aXJlIGEgc2VwYXJhdGUgdXRpbGl0eT8KKiAgICoqQ29uZmxpY3QgQW5hbHlzaXMqKjogSSYjMzk7ZCBuZWVkIHRvIGNvbnNpZGVyIGlmIGl0IGNvdWxkIGNvbmZsaWN0IHdpdGggb3RoZXIgbmV0d29yayBkcml2ZXJzLCBlc3BlY2lhbGx5IGlmIHRoZSB0YXJnZXQgc3lzdGVtIGhhcyBtdWx0aXBsZSBuZXR3b3JrIGludGVyZmFjZXMuCiogICAqKlBvd2VyIE1hbmFnZW1lbnQ6KiogSSYjMzk7ZCBuZWVkIHRvIGNvbnNpZGVyIGl0cyBkZXBlbmRlbmNpZXMgZm9yIHBvd2VyIG1hbmFnZW1lbnQsIGVzcGVjaWFsbHkgaWYgaXQmIzM5O3MgdXNlZCBpbiBhIGJhdHRlcnktcG93ZXJlZCBkZXZpY2UuIERvZXMgaXQgc3VwcG9ydCBVU0Igc3VzcGVuZC9yZXN1bWUsIGFuZCBob3cgYXJlIHRoZXNlIGZlYXR1cmVzIGhhbmRsZWQgd2l0aGluIHRoZSBkcml2ZXI/CgpJJiMzOTttIGFsc28gdGhpbmtpbmcgYWJvdXQgcG90ZW50aWFsIGlzc3Vlcy4gQXJlIHRoZXJlIGFueSBrbm93biBlcnJhdGEgd2l0aCB0aGUgTEFONzh4eCBjaGlwc2V0PyBBcmUgdGhlcmUgYW55IHNwZWNpZmljIGtlcm5lbCB2ZXJzaW9ucyBvciBoYXJkd2FyZSByZXZpc2lvbnMgdGhhdCBhcmUga25vd24gdG8gaGF2ZSBjb21wYXRpYmlsaXR5IHByb2JsZW1zPwoKRmluYWxseSwgYXJlIHRoZXJlIGFueSBidWlsZCB0b29scyBuZWVkZWQ/IEkgd291bGQgYmUgbWVudGFsbHkgZ29pbmcgdGhyb3VnaCB0aGUgYnVpbGQgc3lzdGVtIChNYWtlLCBDTWFrZSwgZXRjKSB0byBlbnN1cmUgdGhlIGRyaXZlciBpcyBjb25maWd1cmVkIGFuZCBidWlsdCBjb3JyZWN0bHkgZm9yIHRoZSB0YXJnZXQgcGxhdGZvcm0uIEhvdyBhcmUgdGhlIGRlcGVuZGVuY2llcyBoYW5kbGVkIGJ5IHRoZSBidWlsZCBzeXN0ZW0/IFdoYXQmIzM5O3MgdGhlIGJ1aWxkIHByb2Nlc3MgbGlrZT8KClNvLCAmIzM0O1VTQl9MQU43OFhYJiMzNDsuLi4gSXQmIzM5O3Mgbm90IGp1c3QgYSBzaW5nbGUgdGhpbmcuIEl0JiMzOTtzIGEgY29tcGxleCBuZXR3b3JrIG9mIGRlcGVuZGVuY2llcyB0aGF0IEkgbmVlZCB0byBtZXRpY3Vsb3VzbHkgdW5yYXZlbCB0byBlbnN1cmUgYSBzbW9vdGggaW50ZWdyYXRpb24gYW5kIG9wZXJhdGlvbi4gVGhlIGRldmlsIGlzIGFsd2F5cyBpbiB0aGUgZGV0YWlscywgc28gSSB3b3VsZCBuZWVkIHRvIGNoZWNrIHRoZSBleGFjdCBzb3VyY2VzLCBjb25maWd1cmF0aW9uIGZpbGVzLCBhbmQgZG9jdW1lbnRhdGlvbiB0byBtYWtlIGNlcnRhaW4gSSBoYXZlIGEgY29tcGxldGUgcGljdHVyZSBvZiB0aGUgbGFuZHNjYXBlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBVU0JfTEFONzhYWCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9LY29uZmlnPTk5PWNvbmZpZyBVU0JfUlRMODE1MlxuLS1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTExMi1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnOjExMzpjb25maWcgVVNCX0xBTjc4WFhcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTExNC1cdHRyaXN0YXRlIFwmIzM0O01pY3JvY2hpcCBMQU43OFhYIEJhc2VkIFVTQiBFdGhlcm5ldCBBZGFwdGVyc1wmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ1NjEKCQkJCQkJCW91dHB1dDogMzYKCQkJCQkJCXRob3VnaHRzOiAxNAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6CgoqKkFuYWx5emluZyB0aGUgS2NvbmZpZyBGaWxlKioKCk9rYXksIGxldCYjMzk7cyB6ZXJvIGluIG9uIHRoYXQgS2NvbmZpZyBmaWxlLiBJJiMzOTttIGdvaW5nIHRvIHN0YXJ0IGJ5IHRha2luZyBhIGxvb2sgYXJvdW5kIGxpbmUgMTEzLiBHaXZlbiB0aGUgY29udGV4dCBvZiB0aGUgcHJvYmxlbSwgdGhhdCBhcmVhIGlzIGxpa2VseSBhIGtleSBjb25maWd1cmF0aW9uIHNlY3Rpb24sIHBlcmhhcHMgZGVmaW5pbmcgdGhlIHNldHRpbmdzIG9yIGRlcGVuZGVuY2llcyByZWxldmFudCB0byB0aGUgZmVhdHVyZSBJJiMzOTttIHRyb3VibGVzaG9vdGluZy4gSSYjMzk7bGwgbmVlZCB0byByYXBpZGx5IHBhcnNlIHRoZSBzeW50YXgsIGlkZW50aWZ5IHRoZSByZWxldmFudCBzeW1ib2xzLCBhbmQgdW5kZXJzdGFuZCB0aGVpciByZWxhdGlvbnNoaXBzLiBJJiMzOTtsbCBiZSBsb29raW5nIGZvciBhbnkgY2x1ZXMgcmVnYXJkaW5nIGRlZmF1bHRzLCBjb25zdHJhaW50cywgb3IgY29uZGl0aW9uYWxzIHRoYXQgbWlnaHQgZXhwbGFpbiB0aGUgb2JzZXJ2ZWQgYmVoYXZpb3IuIEkmIzM5O20gZXhwZWN0aW5nIHRvIGZpbmQgZWl0aGVyIHRoZSBjdWxwcml0IHNldHRpbmcsIG9yIHRoZSBoaW50IGFib3V0IHdoaWNoIG9mIHRoZSBkZXBlbmRlbmNpZXMgY291bGQgY2F1c2UgdGhlIG9ic2VydmVkIGJlaGF2aW9yLiBUaGlzIHNlY3Rpb24gd2lsbCBiZSBjcnVjaWFsIGluIHBpbnBvaW50aW5nIHRoZSBzb3VyY2Ugb2YgdGhlIGlzc3VlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAyMTowNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9LY29uZmlnJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMTEwLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDIwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAxMTA6XHRcdCAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlXG4gMTExOlx0XHQgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCByODE1Mi5cbiAxMTI6XHRcbiAxMTM6XHRjb25maWcgVVNCX0xBTjc4WFhcbiAxMTQ6XHRcdHRyaXN0YXRlIFwmIzM0O01pY3JvY2hpcCBMQU43OFhYIEJhc2VkIFVTQiBFdGhlcm5ldCBBZGFwdGVyc1wmIzM0O1xuIDExNTpcdFx0c2VsZWN0IE1JSVxuIDExNjpcdFx0c2VsZWN0IFBIWUxJTktcbiAxMTc6XHRcdHNlbGVjdCBNSUNST0NISVBfUEhZXG4gMTE4Olx0XHRzZWxlY3QgQ1JDMzJcbiAxMTk6XHRcdGltcGx5IE5FVF9TRUxGVEVTVFNcbiAxMjA6XHRcdGhlbHBcbiAxMjE6XHRcdCAgVGhpcyBvcHRpb24gYWRkcyBzdXBwb3J0IGZvciBNaWNyb2NoaXAgTEFONzhYWCBiYXNlZCBVU0IgMlxuIDEyMjpcdFx0ICBcdTAwMjYgVVNCIDMgMTAvMTAwLzEwMDAgRXRoZXJuZXQgYWRhcHRlcnMuXG4gMTIzOlx0XHQgIExBTjc4MDAgOiBVU0IgMyB0byAxMC8xMDAvMTAwMCBFdGhlcm5ldCBhZGFwdGVyXG4gMTI0Olx0XHQgIExBTjc4NTAgOiBVU0IgMiB0byAxMC8xMDAvMTAwMCBFdGhlcm5ldCBhZGFwdGVyXG4gMTI1Olx0XHQgIExBTjc4MDEgOiBVU0IgMyB0byAxMC8xMDAvMTAwMCBFdGhlcm5ldCBhZGFwdGVyIChNQUMgb25seSlcbiAxMjY6XHRcbiAxMjc6XHRcdCAgUHJvcGVyIFBIWSBkcml2ZXIgaXMgcmVxdWlyZWQgZm9yIExBTjc4MDEuXG4gMTI4Olx0XG4gMTI5Olx0XHQgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAyMTowNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA1MTQ4CgkJCQkJCQlvdXRwdXQ6IDExNAoJCQkJCQkJdGhvdWdodHM6IDE5MwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIFRhcmdldCBJZGVudGlmaWNhdGlvbjogTEFONzhYWCBWTEFOIEZpbHRlcmluZyoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgYSBwYXRjaCBoZXJlLCBhbmQgdGhlIGtleSBjaGFuZ2VzIGFyZSB3aXRoaW4gdGhlIGBsYW43OHh4YCBVU0IgbmV0d29yayBkcml2ZXIuIFNwZWNpZmljYWxseSwgdGhlIG1vZGlmaWVkIGZ1bmN0aW9ucyBhcmUgYGxhbjc4eHhfc2V0X211bHRpY2FzdGAgYW5kIGBsYW43OHh4X3NldF9mZWF0dXJlc2AuIFRoZXNlIGZ1bmN0aW9ucyBhcmUgZGlyZWN0bHkgaW52b2x2ZWQgaW4gaGFuZGxpbmcgVkxBTiBmaWx0ZXJpbmcsIHdoaWNoIGlzIGEgY29yZSBwYXJ0IG9mIGhvdyB0aGUgZHJpdmVyIG9wZXJhdGVzIGluIHByb21pc2N1b3VzIG1vZGUuIFRoYXQgaW1tZWRpYXRlbHkgZmxhZ3MgdGhpcyBhcyBzb21ldGhpbmcgd29ydGggaW52ZXN0aWdhdGluZyBmcm9tIGEgZnV6emluZyBwZXJzcGVjdGl2ZS4KClRoZSBjb25maWcgaXMgYFVTQl9MQU43OFhYYCwgc28gdGhhdCYjMzk7cyB0aGUgY29uZmlndXJhdGlvbiB0aGF0IGVuYWJsZXMgdGhpcyBkcml2ZXIuIFRoZSBmYWN0IHRoYXQgaXQmIzM5O3MgYSBVU0IgbmV0d29yayBkcml2ZXIgaXMgaGVscGZ1bCBiZWNhdXNlIGl0IHN1Z2dlc3RzIHdlIGNhbiBsaWtlbHkgdGVzdCBpdCB1c2luZyBVU0IgZW11bGF0aW9uIOKAkyB0b29scyBsaWtlIGBkdW1teV9oY2RgIHNob3VsZCBiZSBhYmxlIHRvIHNpbXVsYXRlIFVTQiB0cmFmZmljIGFuZCBhbGxvdyBmb3IgY29udHJvbGxlZCB0ZXN0aW5nLgoKR2l2ZW4gdGhlIG1vZGlmaWNhdGlvbnMgdG8gdGhlIFZMQU4gaGFuZGxpbmcgbG9naWMsIGNvdXBsZWQgd2l0aCB0aGUgcmVhY2hhYmxlIG5hdHVyZSBvZiB0aGUgZHJpdmVyIHZpYSBVU0IsIHRoZSByZWFzb25pbmcgaXMgY2xlYXI6IFRoaXMgY29uc3RpdHV0ZXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gYSBkcml2ZXIgdGhhdCYjMzk7cyBhY2Nlc3NpYmxlIHRocm91Z2ggVVNCIGVtdWxhdGlvbi4gVGhpcyBpcyB0ZXh0Ym9vayBtYXRlcmlhbCBmb3IgZnV6emluZy4gVGhlcmVmb3JlLCB0aGUgcHJpb3JpdHkgc2hvdWxkIGJlIHNldCB0byB0cnVlLiBNeSBmb2N1cyBpcyBvbiB0aG9yb3VnaGx5IGV4cGxvcmluZyBgbGFuNzh4eF9zZXRfbXVsdGljYXN0YCBhbmQgYGxhbjc4eHhfc2V0X2ZlYXR1cmVzYCBiZWNhdXNlIHRoZXNlIGFyZSB0aGUgZXhhY3QgcG9pbnRzIG9mIGNoYW5nZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMzAgMjE6MDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1VTQl9MQU43OFhYJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bGFuNzh4eF9zZXRfbXVsdGljYXN0JiMzNDssCiAgICAmIzM0O2xhbjc4eHhfc2V0X2ZlYXR1cmVzJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBWTEFOIGZpbHRlcmluZyBsb2dpYyBpbiB0aGUgYGxhbjc4eHhgIFVTQiBuZXR3b3JrIGRyaXZlciB3aGVuIHByb21pc2N1b3VzIG1vZGUgaXMgdG9nZ2xlZCBvciB3aGVuIG5ldHdvcmsgZmVhdHVyZXMgYXJlIHVwZGF0ZWQuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgKHZpYSBVU0IgZW11bGF0aW9uKSBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7VVNCX0xBTjc4WFgmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtsYW43OHh4X3NldF9tdWx0aWNhc3QmIzM0OywKICAgICYjMzQ7bGFuNzh4eF9zZXRfZmVhdHVyZXMmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIFZMQU4gZmlsdGVyaW5nIGxvZ2ljIGluIHRoZSBgbGFuNzh4eGAgVVNCIG5ldHdvcmsgZHJpdmVyIHdoZW4gcHJvbWlzY3VvdXMgbW9kZSBpcyB0b2dnbGVkIG9yIHdoZW4gbmV0d29yayBmZWF0dXJlcyBhcmUgdXBkYXRlZC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIGRyaXZlciAodmlhIFVTQiBlbXVsYXRpb24pIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDY6NDQuNDU0NjY3NTk5WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Njk4MjY5Mjg1NzQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVVNCX0xBTjc4WFhcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJsYW43OHh4X3NldF9tdWx0aWNhc3RcIixcbiAgICBcImxhbjc4eHhfc2V0X2ZlYXR1cmVzXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIFZMQU4gZmlsdGVyaW5nIGxvZ2ljIGluIHRoZSBgbGFuNzh4eGAgVVNCIG5ldHdvcmsgZHJpdmVyIHdoZW4gcHJvbWlzY3VvdXMgbW9kZSBpcyB0b2dnbGVkIG9yIHdoZW4gbmV0d29yayBmZWF0dXJlcyBhcmUgdXBkYXRlZC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIGRyaXZlciAodmlhIFVTQiBlbXVsYXRpb24pIGFuZCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0zMFQyMTowNjo0NC40NTQ2NzU0MTlaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM4NTM1NTA5MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGM4OTRkYmE3NWIwMGQ2MmUzNmVjZjhkNTc2ZTY1NWFjZjhhYTUwNTBcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFR1ZSBKdW4gMzAgMjE6MDY6NDMgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmNcXG5pbmRleCBjNGNlYmFjYWJjYjUzNC4uYTFhNTNlZjg1Y2I5YzMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguY1xcbisrKyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmNcXG5AQCAtMTUyNSw3ICsxNTI1LDE0IEBAIHN0YXRpYyB2b2lkIGxhbjc4eHhfc2V0X211bHRpY2FzdChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2KVxcbiBcXHRpZiAoZGV2LVxcdTAwM2VuZXQtXFx1MDAzZWZsYWdzIFxcdTAwMjYgSUZGX1BST01JU0MpIHtcXG4gXFx0XFx0bmV0aWZfZGJnKGRldiwgZHJ2LCBkZXYtXFx1MDAzZW5ldCwgXFxcInByb21pc2N1b3VzIG1vZGUgZW5hYmxlZFxcXCIpO1xcbiBcXHRcXHRwZGF0YS1cXHUwMDNlcmZlX2N0bCB8PSBSRkVfQ1RMX01DQVNUX0VOXyB8IFJGRV9DVExfVUNBU1RfRU5fO1xcbitcXHRcXHQvKiBieXBhc3MgVkxBTiBmaWx0ZXIgc28gYWxsIHRhZ2dlZCBmcmFtZXMgYXJlIGNhcHR1cmVkICovXFxuK1xcdFxcdHBkYXRhLVxcdTAwM2VyZmVfY3RsIFxcdTAwMjY9IH5SRkVfQ1RMX1ZMQU5fRklMVEVSXztcXG4gXFx0fSBlbHNlIHtcXG4rXFx0XFx0aWYgKGRldi1cXHUwMDNlbmV0LVxcdTAwM2VmZWF0dXJlcyBcXHUwMDI2IE5FVElGX0ZfSFdfVkxBTl9DVEFHX0ZJTFRFUilcXG4rXFx0XFx0XFx0cGRhdGEtXFx1MDAzZXJmZV9jdGwgfD0gUkZFX0NUTF9WTEFOX0ZJTFRFUl87XFxuK1xcdFxcdGVsc2VcXG4rXFx0XFx0XFx0cGRhdGEtXFx1MDAzZXJmZV9jdGwgXFx1MDAyNj0gflJGRV9DVExfVkxBTl9GSUxURVJfO1xcbitcXG4gXFx0XFx0aWYgKGRldi1cXHUwMDNlbmV0LVxcdTAwM2VmbGFncyBcXHUwMDI2IElGRl9BTExNVUxUSSkge1xcbiBcXHRcXHRcXHRuZXRpZl9kYmcoZGV2LCBkcnYsIGRldi1cXHUwMDNlbmV0LFxcbiBcXHRcXHRcXHRcXHQgIFxcXCJyZWNlaXZlIGFsbCBtdWx0aWNhc3QgZW5hYmxlZFxcXCIpO1xcbkBAIC0zMDc0LDcgKzMwODEsOSBAQCBzdGF0aWMgaW50IGxhbjc4eHhfc2V0X2ZlYXR1cmVzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsXFxuIFxcdGVsc2VcXG4gXFx0XFx0cGRhdGEtXFx1MDAzZXJmZV9jdGwgXFx1MDAyNj0gflJGRV9DVExfVkxBTl9TVFJJUF87XFxuIFxcbi1cXHRpZiAoZmVhdHVyZXMgXFx1MDAyNiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpXFxuK1xcdC8qIGtlZXAgVkxBTiBmaWx0ZXIgb2ZmIHdoaWxlIHByb21pc2N1b3VzICovXFxuK1xcdGlmICgoZmVhdHVyZXMgXFx1MDAyNiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpIFxcdTAwMjZcXHUwMDI2XFxuK1xcdCAgICAhKG5ldGRldi1cXHUwMDNlZmxhZ3MgXFx1MDAyNiBJRkZfUFJPTUlTQykpXFxuIFxcdFxcdHBkYXRhLVxcdTAwM2VyZmVfY3RsIHw9IFJGRV9DVExfVkxBTl9GSUxURVJfO1xcbiBcXHRlbHNlXFxuIFxcdFxcdHBkYXRhLVxcdTAwM2VyZmVfY3RsIFxcdTAwMjY9IH5SRkVfQ1RMX1ZMQU5fRklMVEVSXztcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDY6NDQuODQwODU0NDkyWiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2OTQ0MDcyNjQ1MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJVU0JfTEFONzhYWFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImxhbjc4eHhfc2V0X211bHRpY2FzdFwiLFxuICAgIFwibGFuNzh4eF9zZXRfZmVhdHVyZXNcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgVkxBTiBmaWx0ZXJpbmcgbG9naWMgaW4gdGhlIGBsYW43OHh4YCBVU0IgbmV0d29yayBkcml2ZXIgd2hlbiBwcm9taXNjdW91cyBtb2RlIGlzIHRvZ2dsZWQgb3Igd2hlbiBuZXR3b3JrIGZlYXR1cmVzIGFyZSB1cGRhdGVkLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSByZWFjaGFibGUgZHJpdmVyICh2aWEgVVNCIGVtdWxhdGlvbikgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgYzg5NGRiYTc1YjAwZDYyZTM2ZWNmOGQ1NzZlNjU1YWNmOGFhNTA1MFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUdWUgSnVuIDMwIDIxOjA2OjQzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmNcbmluZGV4IGM0Y2ViYWNhYmNiNTM0Li5hMWE1M2VmODVjYjljMyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmNcbisrKyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmNcbkBAIC0xNTI1LDcgKzE1MjUsMTQgQEAgc3RhdGljIHZvaWQgbGFuNzh4eF9zZXRfbXVsdGljYXN0KHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpXG4gXHRpZiAoZGV2LVx1MDAzZW5ldC1cdTAwM2VmbGFncyBcdTAwMjYgSUZGX1BST01JU0MpIHtcbiBcdFx0bmV0aWZfZGJnKGRldiwgZHJ2LCBkZXYtXHUwMDNlbmV0LCBcInByb21pc2N1b3VzIG1vZGUgZW5hYmxlZFwiKTtcbiBcdFx0cGRhdGEtXHUwMDNlcmZlX2N0bCB8PSBSRkVfQ1RMX01DQVNUX0VOXyB8IFJGRV9DVExfVUNBU1RfRU5fO1xuK1x0XHQvKiBieXBhc3MgVkxBTiBmaWx0ZXIgc28gYWxsIHRhZ2dlZCBmcmFtZXMgYXJlIGNhcHR1cmVkICovXG4rXHRcdHBkYXRhLVx1MDAzZXJmZV9jdGwgXHUwMDI2PSB+UkZFX0NUTF9WTEFOX0ZJTFRFUl87XG4gXHR9IGVsc2Uge1xuK1x0XHRpZiAoZGV2LVx1MDAzZW5ldC1cdTAwM2VmZWF0dXJlcyBcdTAwMjYgTkVUSUZfRl9IV19WTEFOX0NUQUdfRklMVEVSKVxuK1x0XHRcdHBkYXRhLVx1MDAzZXJmZV9jdGwgfD0gUkZFX0NUTF9WTEFOX0ZJTFRFUl87XG4rXHRcdGVsc2VcbitcdFx0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIFx1MDAyNj0gflJGRV9DVExfVkxBTl9GSUxURVJfO1xuK1xuIFx0XHRpZiAoZGV2LVx1MDAzZW5ldC1cdTAwM2VmbGFncyBcdTAwMjYgSUZGX0FMTE1VTFRJKSB7XG4gXHRcdFx0bmV0aWZfZGJnKGRldiwgZHJ2LCBkZXYtXHUwMDNlbmV0LFxuIFx0XHRcdFx0ICBcInJlY2VpdmUgYWxsIG11bHRpY2FzdCBlbmFibGVkXCIpO1xuQEAgLTMwNzQsNyArMzA4MSw5IEBAIHN0YXRpYyBpbnQgbGFuNzh4eF9zZXRfZmVhdHVyZXMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcbiBcdGVsc2VcbiBcdFx0cGRhdGEtXHUwMDNlcmZlX2N0bCBcdTAwMjY9IH5SRkVfQ1RMX1ZMQU5fU1RSSVBfO1xuIFxuLVx0aWYgKGZlYXR1cmVzIFx1MDAyNiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpXG4rXHQvKiBrZWVwIFZMQU4gZmlsdGVyIG9mZiB3aGlsZSBwcm9taXNjdW91cyAqL1xuK1x0aWYgKChmZWF0dXJlcyBcdTAwMjYgTkVUSUZfRl9IV19WTEFOX0NUQUdfRklMVEVSKSBcdTAwMjZcdTAwMjZcbitcdCAgICAhKG5ldGRldi1cdTAwM2VmbGFncyBcdTAwMjYgSUZGX1BST01JU0MpKVxuIFx0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIHw9IFJGRV9DVExfVkxBTl9GSUxURVJfO1xuIFx0ZWxzZVxuIFx0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIFx1MDAyNj0gflJGRV9DVExfVkxBTl9GSUxURVJfO1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDY6NDQuODQwODU3MzcyWiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzAxNTQ1NjgzNzUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgUGF0Y2ggdG8gdGhlIGxhbjc4eHggVVNCIE5ldHdvcmsgRHJpdmVyKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCBmb3IgdGhlIGBsYW43OHh4LmNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvY3VzaW5nIG9uIGBsYW43OHh4X3NldF9tdWx0aWNhc3RgIGFuZCBgbGFuNzh4eF9zZXRfZmVhdHVyZXNgLiBJdCBzZWVtcyB3ZSdyZSBkZWFsaW5nIHdpdGggVkxBTiBmaWx0ZXJpbmcgYmVoYXZpb3IsIHdoaWNoIGFsd2F5cyBnZXRzIG15IGF0dGVudGlvbi4gVGhlIGNvcmUgY2hhbmdlIHJldm9sdmVzIGFyb3VuZCBob3cgdGhlIGBSRkVfQ1RMX1ZMQU5fRklMVEVSX2AgYml0IGlzIG1hbmlwdWxhdGVkIHdpdGhpbiB0aGUgYHBkYXRhLVx1MDAzZXJmZV9jdGxgIHJlZ2lzdGVyLlxuXG5JbiB0aGUgbXVsdGljYXN0IGZ1bmN0aW9uLCB0aGUgbG9naWMgaGFzIGJlZW4gYWRqdXN0ZWQuIElmIHRoZSBpbnRlcmZhY2UgaXMgaW4gcHJvbWlzY3VvdXMgbW9kZSwgd2UgZW5hYmxlIG11bHRpY2FzdCBhbmQgdW5pY2FzdCByZWNlcHRpb24gKGFzIGV4cGVjdGVkKSwgYnV0IHRoZW4sIGFuZCB0aGlzIGlzIHRoZSBrZXkgY2hhbmdlLCBpdCAqZGlzYWJsZXMqIHRoZSBWTEFOIGZpbHRlciB0byBieXBhc3MgaXQuIFRoaXMgbWFrZXMgc2Vuc2U6IGluIHByb21pc2N1b3VzIG1vZGUsIHlvdSB3YW50ICpldmVyeXRoaW5nKiwgaW5jbHVkaW5nIHRhZ2dlZCBmcmFtZXMsIHNvIFZMQU4gZmlsdGVyaW5nIHdvdWxkIGJlIGNvdW50ZXJwcm9kdWN0aXZlLiBUaGUgb3JpZ2luYWwgY29kZSBkaWRuJ3QgZG8gdGhpcywgaXQgc2VlbXMuIE90aGVyd2lzZSwgaXQgbm93IGNvbnNpZGVycyB0aGUgYE5FVElGX0ZfSFdfVkxBTl9DVEFHX0ZJTFRFUmAgZmVhdHVyZSBmbGFnLiBJZiB0aGF0IGZsYWcgaXMgc2V0LCBpdCBlbmFibGVzIFZMQU4gZmlsdGVyaW5nLCBvdGhlcndpc2UsIGl0IGRpc2FibGVzLlxuXG5UaGUgY29ycmVzcG9uZGluZyBjaGFuZ2UgaW4gYGxhbjc4eHhfc2V0X2ZlYXR1cmVzYCBtYWtlcyBzaW1pbGFyIGFkanVzdG1lbnRzLiBUaGUgY29kZSB3aWxsIG5vdyBjaGVjayBmb3IgYm90aCB0aGUgYE5FVElGX0ZfSFdfVkxBTl9DVEFHX0ZJTFRFUmAgZmVhdHVyZSBhbmQgdGhlIElGRl9QUk9NSVNDIGZsYWcuIFRoZSBkcml2ZXIgd2lsbCBlbmFibGUgdGhlIFZMQU4gZmlsdGVyIGlmIHRoZSBmZWF0dXJlIGlzIHNldCAqYW5kKiBwcm9taXNjdW91cyBtb2RlIGlzbid0IGFjdGl2ZS4gVGhpcyBhbGlnbnMgd2l0aCB0aGUgYGxhbjc4eHhfc2V0X211bHRpY2FzdGAgY2hhbmdlcywgZW5zdXJpbmcgYSBjb25zaXN0ZW50IGJlaGF2aW9yLlxuXG5UaGlzIGFsbCBwb2ludHMgdG8gc29tZSByZWZpbmVtZW50IG9mIHRoZSBWTEFOIGhhbmRsaW5nIGxvZ2ljIGluIHRoZSBkcml2ZXIuIEl0J3MgbGlrZWx5IGRlc2lnbmVkIHRvIGltcHJvdmUgY29tcGF0aWJpbGl0eSBvciBwZXJmb3JtYW5jZSBpbiBzcGVjaWZpYyBuZXR3b3JrIGNvbmZpZ3VyYXRpb25zLiBHaXZlbiB0aGF0IHRoaXMgaXMgYSBVU0IgbmV0d29yayBkcml2ZXIsIGl0J3MgYWxzbyB3b3J0aCB0aGlua2luZyBhYm91dCBob3cgd2UgY2FuIGZ1enogaXQsIHNpbmNlIFVTQiBkZXZpY2VzIGNhbiBiZSBlbXVsYXRlZC4gU28sIGxldCdzIHRha2UgYSBxdWljayBsb29rIGF0IHRoZSBLY29uZmlnIGZpbGUgZm9yIHRoaXMgZHJpdmVyIHRvIHVuZGVyc3RhbmQgaXRzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBhbmQgZGVwZW5kZW5jaWVzLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMTc4LCJPdXRwdXRUb2tlbnMiOjMyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDcyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6MTQuOTk1NDI5NTc3WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEyODI1MTEzNywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJsYW43OHh4XCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3VzYi9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3VzYi9LY29uZmlnPTExMz1jb25maWcgVVNCX0xBTjc4WFhcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTEyOS1cXHQgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZVxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnOjEzMDpcXHQgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBsYW43OHh4LlxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTEzMS1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6MTUuMTIzNjk0MzY0WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzU0ODE4MDM5NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd24gbWVudGFsIHByb2Nlc3Npbmc6XG5cbioqQW5hbHl6aW5nIExBTjc4WFggQ29uZmlndXJhdGlvbioqXG5cbkFscmlnaHQsIHNvIHRoZSBmb2N1cyBpcyBvbiB0aGUgYFVTQl9MQU43OFhYYCBjb25maWd1cmF0aW9uLCB3aGljaCBpbW1lZGlhdGVseSB0ZWxscyBtZSB0aGlzIGlzIGFib3V0IGludGVncmF0aW5nIHRoZSBMQU43OFhYIFVTQiBFdGhlcm5ldCBjb250cm9sbGVyLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gZGl2ZSBpbnRvIGhvdyB0aGlzIHNwZWNpZmljIGNvbmZpZyBpbXBhY3RzIHRoZSBkcml2ZXIncyBiZWhhdmlvci4gU3BlY2lmaWNhbGx5LCB0aGUgbW9kaWZpY2F0aW9ucyBhcmUgY2VudGVyZWQgYXJvdW5kIGBsYW43OHh4X3NldF9tdWx0aWNhc3RgIGFuZCBgbGFuNzh4eF9zZXRfZmVhdHVyZXNgLiBUaGVzZSBhcmUga2V5OyB0aGV5J2xsIGRpY3RhdGUgaG93IHRoZSBkZXZpY2UgaGFuZGxlcyBuZXR3b3JrIHRyYWZmaWMgZGlzdHJpYnV0aW9uIGFuZCBzcGVjaWZpYyBoYXJkd2FyZSBjYXBhYmlsaXRpZXMuXG5cbk5vdywgYmVmb3JlIEkgZ2V0IHRvbyBkZWVwIGluLCBJIHdhbnQgdG8gbWFrZSBzdXJlIEkgZG9uJ3QgbWlzcyBhbnl0aGluZy4gQXJlIHRoZXNlIHRoZSAqb25seSogY29uZmlndXJhdGlvbnMgYWZmZWN0ZWQ/IEkgbmVlZCB0byBxdWlja2x5IHNjYW4gdGhlIHJlbGF0ZWQgY29kZSBhbmQgYW55IHN1cHBvcnRpbmcgZG9jdW1lbnRhdGlvbiB0byBlbnN1cmUgdGhlcmUgYXJlbid0ICpvdGhlciogY29uZmlndXJhdGlvbiBvcHRpb25zIG9yIGRlcGVuZGVuY2llcyBsaW5rZWQgdG8gdGhpcyBvbmUgdGhhdCBuZWVkIGV4YW1pbmF0aW9uLiBLbm93aW5nIHRoZSBmdWxsIHBpY3R1cmUgdXAtZnJvbnQgd2lsbCBzYXZlIHRpbWUgYW5kIHBvdGVudGlhbCBoZWFkYWNoZXMgbGF0ZXIuIE5lZWQgdG8gbWFrZSBzdXJlIEkgaGF2ZW4ndCBtaXNzZWQgYSBjcml0aWNhbCBwaWVjZSBvZiB0aGUgcHV6emxlLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMjE4LCJPdXRwdXRUb2tlbnMiOjM1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6MTguNjcxODc4ODA5WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwNzU5OTY4OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgVVNCX0xBTjc4WFhcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvdXNiL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvdXNiL0tjb25maWc9OTk9Y29uZmlnIFVTQl9SVEw4MTUyXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvS2NvbmZpZy0xMTItXFxuZHJpdmVycy9uZXQvdXNiL0tjb25maWc6MTEzOmNvbmZpZyBVU0JfTEFONzhYWFxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTExNC1cXHR0cmlzdGF0ZSBcXFwiTWljcm9jaGlwIExBTjc4WFggQmFzZWQgVVNCIEV0aGVybmV0IEFkYXB0ZXJzXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0zMFQyMTowNzoxOC43Nzk0ODYzMjhaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMzQyMzc4NzU4MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRob3VnaHQgcHJvY2VzcywgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRob3NlIGRlcGVuZGVuY2llczpcblxuKipBbmFseXppbmcgdGhlIFVTQl9MQU43OFhYIERlcGVuZGVuY2llcyoqXG5cbkFscmlnaHQsIGxldCdzIGRpdmUgaW4uIFwiVVNCX0xBTjc4WFhcIi4uLiBteSBpbml0aWFsIHRob3VnaHQgaXMsIFwiT2theSwgdGhhdCBzb3VuZHMgbGlrZSBhIGRyaXZlciBvciBtb2R1bGUgZm9yIGEgVVNCLXRvLUV0aGVybmV0IGFkYXB0ZXIgYmFzZWQgb24gYSBMQU43OHh4IGNoaXBzZXQuXCIgTm93LCBhcyBhbiBleHBlcnQsIEkgaW1tZWRpYXRlbHkgc3RhcnQgdG8gbWVudGFsbHkgbGlzdCB0aGUgdGhpbmdzIEkgbmVlZCB0byBjb25zaWRlciB3aGVuIGxvb2tpbmcgYXQgaXRzIGRlcGVuZGVuY2llcy5cblxuRmlyc3QsIEkgbmVlZCB0byBrbm93IHRoZSAqZXhhY3QqIGNvbnRleHQuIElzIHRoaXMgZm9yIGFuIGVtYmVkZGVkIHN5c3RlbSwgYSBkZXNrdG9wIE9TLCBvciBzb21ldGhpbmcgZWxzZSBlbnRpcmVseT8gVGhlIGVudmlyb25tZW50IHdpbGwgaGVhdmlseSBpbmZsdWVuY2Ugd2hhdCBJIG5lZWQgdG8gbG9vayBmb3IuIElmIGl0J3MgZW1iZWRkZWQsIEknbSB0aGlua2luZyBhYm91dCB0aGUga2VybmVsIHZlcnNpb24sIHRoZSBzcGVjaWZpYyBib2FyZCBzdXBwb3J0IHBhY2thZ2UgKEJTUCkgaXQncyBsaWtlbHkgcGFydCBvZiwgYW5kIGFueSBjdXN0b20gY29uZmlndXJhdGlvbnMgdGhhdCBtaWdodCBiZSBpbiBwbGFjZS4gSWYgaXQncyBhIGRlc2t0b3AgT1MsIEkgbmVlZCB0byBjb25zaWRlciB0aGUga2VybmVsIG1vZHVsZXMsIHRoZSB1c2VyLXNwYWNlIGxpYnJhcmllcyBpdCByZWxpZXMgb24gKGxpa2UgbGlidXNiLCBwZXJoYXBzKSwgYW5kIGFueSBwb3RlbnRpYWwgY29uZmxpY3RzIHdpdGggb3RoZXIgbmV0d29yayBkcml2ZXJzLlxuXG5UaGVuLCB0aGVyZSdzIHRoZSBoYXJkd2FyZSBpdHNlbGYuIFdoYXQgVVNCIGJ1cyBzcGVlZCBpcyBpdCBkZXNpZ25lZCBmb3I/IERvZXMgaXQgc3VwcG9ydCBVU0IgMi4wLCBVU0IgMy4wLCBvciBldmVuIFVTQiAzLjEgb3IgMy4yPyBUaGF0IGNvdWxkIGhhdmUgaW1wbGljYXRpb25zIGZvciBwb3dlciBtYW5hZ2VtZW50IGFuZCBpbnRlcnJ1cHQgaGFuZGxpbmcuIFRoZSBjaGlwc2V0IGl0c2VsZi4gRG9lcyBpdCB1c2Ugc3RhbmRhcmQgdmVuZG9yL2RldmljZSBJRHMgb3IgYXJlIHRoZXkgY3VzdG9tP1xuXG5Ob3csIGxldCdzIGdldCBpbnRvIHRoZSBkZXBlbmRlbmNpZXM6XG5cbiogICAqKktlcm5lbCBEZXBlbmRlbmNpZXM6KiogV2hhdCBrZXJuZWwgbW9kdWxlcyBkb2VzIHRoaXMgZHJpdmVyIHJlbHkgb24/IFVTQiBjb3JlIG1vZHVsZXMgKHVzYmNvcmUsIGVoY2lfaGNkLCB4aGNpX2hjZCksIG5ldHdvcmsgZHJpdmVyIGZyYW1ld29yayAobmV0ZGV2LCBldGh0b29sKSwgYW5kIGFueSBwbGF0Zm9ybS1zcGVjaWZpYyBkcml2ZXJzLiBBcmUgdGhlcmUgYW55IHNwZWNpZmljIGtlcm5lbCBjb25maWcgb3B0aW9ucyB0aGF0ICptdXN0KiBiZSBlbmFibGVkPyBJIHdvdWxkIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBrZXJuZWwgaW5jbHVkZXMgdGhlIHJpZ2h0IFVTQiBkcml2ZXJzLCBuZXR3b3JraW5nIHN0YWNrLCBhbmQgdGhlIExBTjc4eHgtc3BlY2lmaWMgZHJpdmVyIGl0c2VsZi5cbiogICAqKlVzZXItU3BhY2UgRGVwZW5kZW5jaWVzOioqIEFyZSB0aGVyZSBhbnkgdXNlci1zcGFjZSBsaWJyYXJpZXMgbmVlZGVkPyBgbGlidXNiYCBpcyBhIGxpa2VseSBjYW5kaWRhdGUgZm9yIGhhbmRsaW5nIHRoZSBVU0IgY29tbXVuaWNhdGlvbi4gRG9lcyBpdCB1c2UgYHVkZXZgIHJ1bGVzIGZvciBkZXZpY2UgZGV0ZWN0aW9uIGFuZCBtYW5hZ2VtZW50PyBXaGF0IGFib3V0IHRvb2xzIGZvciBjb25maWd1cmF0aW9uLCBsaWtlIGBpcGAsIGBldGh0b29sYCwgb3IgYSBjdXN0b20gY29uZmlndXJhdGlvbiB1dGlsaXR5P1xuKiAgICoqRmlybXdhcmU6KiogRG9lcyB0aGUgTEFONzh4eCByZXF1aXJlIGZpcm13YXJlIHRvIGJlIGxvYWRlZD8gSWYgc28sIHdoZXJlIGlzIHRoZSBmaXJtd2FyZSBsb2NhdGVkLCBhbmQgaG93IGlzIGl0IGxvYWRlZD8gSXMgaXQgbG9hZGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhlIGRyaXZlciwgb3IgZG9lcyBpdCByZXF1aXJlIGEgc2VwYXJhdGUgdXRpbGl0eT9cbiogICAqKkNvbmZsaWN0IEFuYWx5c2lzKio6IEknZCBuZWVkIHRvIGNvbnNpZGVyIGlmIGl0IGNvdWxkIGNvbmZsaWN0IHdpdGggb3RoZXIgbmV0d29yayBkcml2ZXJzLCBlc3BlY2lhbGx5IGlmIHRoZSB0YXJnZXQgc3lzdGVtIGhhcyBtdWx0aXBsZSBuZXR3b3JrIGludGVyZmFjZXMuXG4qICAgKipQb3dlciBNYW5hZ2VtZW50OioqIEknZCBuZWVkIHRvIGNvbnNpZGVyIGl0cyBkZXBlbmRlbmNpZXMgZm9yIHBvd2VyIG1hbmFnZW1lbnQsIGVzcGVjaWFsbHkgaWYgaXQncyB1c2VkIGluIGEgYmF0dGVyeS1wb3dlcmVkIGRldmljZS4gRG9lcyBpdCBzdXBwb3J0IFVTQiBzdXNwZW5kL3Jlc3VtZSwgYW5kIGhvdyBhcmUgdGhlc2UgZmVhdHVyZXMgaGFuZGxlZCB3aXRoaW4gdGhlIGRyaXZlcj9cblxuSSdtIGFsc28gdGhpbmtpbmcgYWJvdXQgcG90ZW50aWFsIGlzc3Vlcy4gQXJlIHRoZXJlIGFueSBrbm93biBlcnJhdGEgd2l0aCB0aGUgTEFONzh4eCBjaGlwc2V0PyBBcmUgdGhlcmUgYW55IHNwZWNpZmljIGtlcm5lbCB2ZXJzaW9ucyBvciBoYXJkd2FyZSByZXZpc2lvbnMgdGhhdCBhcmUga25vd24gdG8gaGF2ZSBjb21wYXRpYmlsaXR5IHByb2JsZW1zP1xuXG5GaW5hbGx5LCBhcmUgdGhlcmUgYW55IGJ1aWxkIHRvb2xzIG5lZWRlZD8gSSB3b3VsZCBiZSBtZW50YWxseSBnb2luZyB0aHJvdWdoIHRoZSBidWlsZCBzeXN0ZW0gKE1ha2UsIENNYWtlLCBldGMpIHRvIGVuc3VyZSB0aGUgZHJpdmVyIGlzIGNvbmZpZ3VyZWQgYW5kIGJ1aWx0IGNvcnJlY3RseSBmb3IgdGhlIHRhcmdldCBwbGF0Zm9ybS4gSG93IGFyZSB0aGUgZGVwZW5kZW5jaWVzIGhhbmRsZWQgYnkgdGhlIGJ1aWxkIHN5c3RlbT8gV2hhdCdzIHRoZSBidWlsZCBwcm9jZXNzIGxpa2U/XG5cblNvLCBcIlVTQl9MQU43OFhYXCIuLi4gSXQncyBub3QganVzdCBhIHNpbmdsZSB0aGluZy4gSXQncyBhIGNvbXBsZXggbmV0d29yayBvZiBkZXBlbmRlbmNpZXMgdGhhdCBJIG5lZWQgdG8gbWV0aWN1bG91c2x5IHVucmF2ZWwgdG8gZW5zdXJlIGEgc21vb3RoIGludGVncmF0aW9uIGFuZCBvcGVyYXRpb24uIFRoZSBkZXZpbCBpcyBhbHdheXMgaW4gdGhlIGRldGFpbHMsIHNvIEkgd291bGQgbmVlZCB0byBjaGVjayB0aGUgZXhhY3Qgc291cmNlcywgY29uZmlndXJhdGlvbiBmaWxlcywgYW5kIGRvY3VtZW50YXRpb24gdG8gbWFrZSBjZXJ0YWluIEkgaGF2ZSBhIGNvbXBsZXRlIHBpY3R1cmUgb2YgdGhlIGxhbmRzY2FwZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzYzMiwiT3V0cHV0VG9rZW5zIjozNSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTMwVDIxOjA3OjMyLjIwMzI3Nzk1MloiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNDA4Nzk4NzYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIFVTQl9MQU43OFhYXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3VzYi9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3VzYi9LY29uZmlnPTk5PWNvbmZpZyBVU0JfUlRMODE1Mlxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL0tjb25maWctMTEyLVxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnOjExMzpjb25maWcgVVNCX0xBTjc4WFhcXG5kcml2ZXJzL25ldC91c2IvS2NvbmZpZy0xMTQtXFx0dHJpc3RhdGUgXFxcIk1pY3JvY2hpcCBMQU43OFhYIEJhc2VkIFVTQiBFdGhlcm5ldCBBZGFwdGVyc1xcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6MzIuMzQ0MTcwMjI4WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTE5Njc5NzUwNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZTpcblxuKipBbmFseXppbmcgdGhlIEtjb25maWcgRmlsZSoqXG5cbk9rYXksIGxldCdzIHplcm8gaW4gb24gdGhhdCBLY29uZmlnIGZpbGUuIEknbSBnb2luZyB0byBzdGFydCBieSB0YWtpbmcgYSBsb29rIGFyb3VuZCBsaW5lIDExMy4gR2l2ZW4gdGhlIGNvbnRleHQgb2YgdGhlIHByb2JsZW0sIHRoYXQgYXJlYSBpcyBsaWtlbHkgYSBrZXkgY29uZmlndXJhdGlvbiBzZWN0aW9uLCBwZXJoYXBzIGRlZmluaW5nIHRoZSBzZXR0aW5ncyBvciBkZXBlbmRlbmNpZXMgcmVsZXZhbnQgdG8gdGhlIGZlYXR1cmUgSSdtIHRyb3VibGVzaG9vdGluZy4gSSdsbCBuZWVkIHRvIHJhcGlkbHkgcGFyc2UgdGhlIHN5bnRheCwgaWRlbnRpZnkgdGhlIHJlbGV2YW50IHN5bWJvbHMsIGFuZCB1bmRlcnN0YW5kIHRoZWlyIHJlbGF0aW9uc2hpcHMuIEknbGwgYmUgbG9va2luZyBmb3IgYW55IGNsdWVzIHJlZ2FyZGluZyBkZWZhdWx0cywgY29uc3RyYWludHMsIG9yIGNvbmRpdGlvbmFscyB0aGF0IG1pZ2h0IGV4cGxhaW4gdGhlIG9ic2VydmVkIGJlaGF2aW9yLiBJJ20gZXhwZWN0aW5nIHRvIGZpbmQgZWl0aGVyIHRoZSBjdWxwcml0IHNldHRpbmcsIG9yIHRoZSBoaW50IGFib3V0IHdoaWNoIG9mIHRoZSBkZXBlbmRlbmNpZXMgY291bGQgY2F1c2UgdGhlIG9ic2VydmVkIGJlaGF2aW9yLiBUaGlzIHNlY3Rpb24gd2lsbCBiZSBjcnVjaWFsIGluIHBpbnBvaW50aW5nIHRoZSBzb3VyY2Ugb2YgdGhlIGlzc3VlLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NTYxLCJPdXRwdXRUb2tlbnMiOjM2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6MzcuNTQwOTcxMjQzWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE2NDMwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC91c2IvS2NvbmZpZ1wiLFxuICBcIkZpcnN0TGluZVwiOiAxMTAsXG4gIFwiTGluZUNvdW50XCI6IDIwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAxMTA6XFx0XFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGVcXG4gMTExOlxcdFxcdCAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIHI4MTUyLlxcbiAxMTI6XFx0XFxuIDExMzpcXHRjb25maWcgVVNCX0xBTjc4WFhcXG4gMTE0OlxcdFxcdHRyaXN0YXRlIFxcXCJNaWNyb2NoaXAgTEFONzhYWCBCYXNlZCBVU0IgRXRoZXJuZXQgQWRhcHRlcnNcXFwiXFxuIDExNTpcXHRcXHRzZWxlY3QgTUlJXFxuIDExNjpcXHRcXHRzZWxlY3QgUEhZTElOS1xcbiAxMTc6XFx0XFx0c2VsZWN0IE1JQ1JPQ0hJUF9QSFlcXG4gMTE4OlxcdFxcdHNlbGVjdCBDUkMzMlxcbiAxMTk6XFx0XFx0aW1wbHkgTkVUX1NFTEZURVNUU1xcbiAxMjA6XFx0XFx0aGVscFxcbiAxMjE6XFx0XFx0ICBUaGlzIG9wdGlvbiBhZGRzIHN1cHBvcnQgZm9yIE1pY3JvY2hpcCBMQU43OFhYIGJhc2VkIFVTQiAyXFxuIDEyMjpcXHRcXHQgIFxcdTAwMjYgVVNCIDMgMTAvMTAwLzEwMDAgRXRoZXJuZXQgYWRhcHRlcnMuXFxuIDEyMzpcXHRcXHQgIExBTjc4MDAgOiBVU0IgMyB0byAxMC8xMDAvMTAwMCBFdGhlcm5ldCBhZGFwdGVyXFxuIDEyNDpcXHRcXHQgIExBTjc4NTAgOiBVU0IgMiB0byAxMC8xMDAvMTAwMCBFdGhlcm5ldCBhZGFwdGVyXFxuIDEyNTpcXHRcXHQgIExBTjc4MDEgOiBVU0IgMyB0byAxMC8xMDAvMTAwMCBFdGhlcm5ldCBhZGFwdGVyIChNQUMgb25seSlcXG4gMTI2OlxcdFxcbiAxMjc6XFx0XFx0ICBQcm9wZXIgUEhZIGRyaXZlciBpcyByZXF1aXJlZCBmb3IgTEFONzgwMS5cXG4gMTI4OlxcdFxcbiAxMjk6XFx0XFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGVcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6MzcuNTQxMTM5NTIzWiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE2NjE0NTg2NTkzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgVGFyZ2V0IElkZW50aWZpY2F0aW9uOiBMQU43OFhYIFZMQU4gRmlsdGVyaW5nKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCBoZXJlLCBhbmQgdGhlIGtleSBjaGFuZ2VzIGFyZSB3aXRoaW4gdGhlIGBsYW43OHh4YCBVU0IgbmV0d29yayBkcml2ZXIuIFNwZWNpZmljYWxseSwgdGhlIG1vZGlmaWVkIGZ1bmN0aW9ucyBhcmUgYGxhbjc4eHhfc2V0X211bHRpY2FzdGAgYW5kIGBsYW43OHh4X3NldF9mZWF0dXJlc2AuIFRoZXNlIGZ1bmN0aW9ucyBhcmUgZGlyZWN0bHkgaW52b2x2ZWQgaW4gaGFuZGxpbmcgVkxBTiBmaWx0ZXJpbmcsIHdoaWNoIGlzIGEgY29yZSBwYXJ0IG9mIGhvdyB0aGUgZHJpdmVyIG9wZXJhdGVzIGluIHByb21pc2N1b3VzIG1vZGUuIFRoYXQgaW1tZWRpYXRlbHkgZmxhZ3MgdGhpcyBhcyBzb21ldGhpbmcgd29ydGggaW52ZXN0aWdhdGluZyBmcm9tIGEgZnV6emluZyBwZXJzcGVjdGl2ZS5cblxuVGhlIGNvbmZpZyBpcyBgVVNCX0xBTjc4WFhgLCBzbyB0aGF0J3MgdGhlIGNvbmZpZ3VyYXRpb24gdGhhdCBlbmFibGVzIHRoaXMgZHJpdmVyLiBUaGUgZmFjdCB0aGF0IGl0J3MgYSBVU0IgbmV0d29yayBkcml2ZXIgaXMgaGVscGZ1bCBiZWNhdXNlIGl0IHN1Z2dlc3RzIHdlIGNhbiBsaWtlbHkgdGVzdCBpdCB1c2luZyBVU0IgZW11bGF0aW9uIOKAkyB0b29scyBsaWtlIGBkdW1teV9oY2RgIHNob3VsZCBiZSBhYmxlIHRvIHNpbXVsYXRlIFVTQiB0cmFmZmljIGFuZCBhbGxvdyBmb3IgY29udHJvbGxlZCB0ZXN0aW5nLlxuXG5HaXZlbiB0aGUgbW9kaWZpY2F0aW9ucyB0byB0aGUgVkxBTiBoYW5kbGluZyBsb2dpYywgY291cGxlZCB3aXRoIHRoZSByZWFjaGFibGUgbmF0dXJlIG9mIHRoZSBkcml2ZXIgdmlhIFVTQiwgdGhlIHJlYXNvbmluZyBpcyBjbGVhcjogVGhpcyBjb25zdGl0dXRlcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHdpdGhpbiBhIGRyaXZlciB0aGF0J3MgYWNjZXNzaWJsZSB0aHJvdWdoIFVTQiBlbXVsYXRpb24uIFRoaXMgaXMgdGV4dGJvb2sgbWF0ZXJpYWwgZm9yIGZ1enppbmcuIFRoZXJlZm9yZSwgdGhlIHByaW9yaXR5IHNob3VsZCBiZSBzZXQgdG8gdHJ1ZS4gTXkgZm9jdXMgaXMgb24gdGhvcm91Z2hseSBleHBsb3JpbmcgYGxhbjc4eHhfc2V0X211bHRpY2FzdGAgYW5kIGBsYW43OHh4X3NldF9mZWF0dXJlc2AgYmVjYXVzZSB0aGVzZSBhcmUgdGhlIGV4YWN0IHBvaW50cyBvZiBjaGFuZ2UuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUxNDgsIk91dHB1dFRva2VucyI6MTE0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTkzLCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6NTQuMTU1NzI4ODA2WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTI1ODQ1NjI4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJVU0JfTEFONzhYWFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImxhbjc4eHhfc2V0X211bHRpY2FzdFwiLFxuICAgIFwibGFuNzh4eF9zZXRfZmVhdHVyZXNcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgVkxBTiBmaWx0ZXJpbmcgbG9naWMgaW4gdGhlIGBsYW43OHh4YCBVU0IgbmV0d29yayBkcml2ZXIgd2hlbiBwcm9taXNjdW91cyBtb2RlIGlzIHRvZ2dsZWQgb3Igd2hlbiBuZXR3b3JrIGZlYXR1cmVzIGFyZSB1cGRhdGVkLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSByZWFjaGFibGUgZHJpdmVyICh2aWEgVVNCIGVtdWxhdGlvbikgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVVNCX0xBTjc4WFhcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJsYW43OHh4X3NldF9tdWx0aWNhc3RcIixcbiAgICBcImxhbjc4eHhfc2V0X2ZlYXR1cmVzXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIFZMQU4gZmlsdGVyaW5nIGxvZ2ljIGluIHRoZSBgbGFuNzh4eGAgVVNCIG5ldHdvcmsgZHJpdmVyIHdoZW4gcHJvbWlzY3VvdXMgbW9kZSBpcyB0b2dnbGVkIG9yIHdoZW4gbmV0d29yayBmZWF0dXJlcyBhcmUgdXBkYXRlZC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIGRyaXZlciAodmlhIFVTQiBlbXVsYXRpb24pIGFuZCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflow2hncr[0].run-triage(0) Phase: Succeeded StartedAt: 2026-06-30 21:00:28 +0000 UTC FinishedAt: 2026-06-30 21:07:55 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "drm-next", "tree_url": "https://gitlab.freedesktop.org/drm/kernel.git", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "USB_LAN78XX" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "drm-next", "tree_url": "https://gitlab.freedesktop.org/drm/kernel.git", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "USB_LAN78XX" ], "series_id": "e33246d9-fee8-4ca8-9f71-7f1c5126f4e0" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "lan78xx_set_multicast", "lan78xx_set_features" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1VTQl9MQU43OFhYJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bGFuNzh4eF9zZXRfbXVsdGljYXN0JiMzNDssCiAgICAmIzM0O2xhbjc4eHhfc2V0X2ZlYXR1cmVzJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBWTEFOIGZpbHRlcmluZyBsb2dpYyBpbiB0aGUgYGxhbjc4eHhgIFVTQiBuZXR3b3JrIGRyaXZlciB3aGVuIHByb21pc2N1b3VzIG1vZGUgaXMgdG9nZ2xlZCBvciB3aGVuIG5ldHdvcmsgZmVhdHVyZXMgYXJlIHVwZGF0ZWQuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgKHZpYSBVU0IgZW11bGF0aW9uKSBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAyMTowNjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGM4OTRkYmE3NWIwMGQ2MmUzNmVjZjhkNTc2ZTY1NWFjZjhhYTUwNTBcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1biAzMCAyMTowNjo0MyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jIGIvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguY1xuaW5kZXggYzRjZWJhY2FiY2I1MzQuLmExYTUzZWY4NWNiOWMzIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguY1xuQEAgLTE1MjUsNyAmIzQzOzE1MjUsMTQgQEAgc3RhdGljIHZvaWQgbGFuNzh4eF9zZXRfbXVsdGljYXN0KHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpXG4gXHRpZiAoZGV2LVx1MDAzZW5ldC1cdTAwM2VmbGFncyBcdTAwMjYgSUZGX1BST01JU0MpIHtcbiBcdFx0bmV0aWZfZGJnKGRldiwgZHJ2LCBkZXYtXHUwMDNlbmV0LCBcJiMzNDtwcm9taXNjdW91cyBtb2RlIGVuYWJsZWRcJiMzNDspO1xuIFx0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIHw9IFJGRV9DVExfTUNBU1RfRU5fIHwgUkZFX0NUTF9VQ0FTVF9FTl87XG4mIzQzO1x0XHQvKiBieXBhc3MgVkxBTiBmaWx0ZXIgc28gYWxsIHRhZ2dlZCBmcmFtZXMgYXJlIGNhcHR1cmVkICovXG4mIzQzO1x0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIFx1MDAyNj0gflJGRV9DVExfVkxBTl9GSUxURVJfO1xuIFx0fSBlbHNlIHtcbiYjNDM7XHRcdGlmIChkZXYtXHUwMDNlbmV0LVx1MDAzZWZlYXR1cmVzIFx1MDAyNiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpXG4mIzQzO1x0XHRcdHBkYXRhLVx1MDAzZXJmZV9jdGwgfD0gUkZFX0NUTF9WTEFOX0ZJTFRFUl87XG4mIzQzO1x0XHRlbHNlXG4mIzQzO1x0XHRcdHBkYXRhLVx1MDAzZXJmZV9jdGwgXHUwMDI2PSB+UkZFX0NUTF9WTEFOX0ZJTFRFUl87XG4mIzQzO1xuIFx0XHRpZiAoZGV2LVx1MDAzZW5ldC1cdTAwM2VmbGFncyBcdTAwMjYgSUZGX0FMTE1VTFRJKSB7XG4gXHRcdFx0bmV0aWZfZGJnKGRldiwgZHJ2LCBkZXYtXHUwMDNlbmV0LFxuIFx0XHRcdFx0ICBcJiMzNDtyZWNlaXZlIGFsbCBtdWx0aWNhc3QgZW5hYmxlZFwmIzM0Oyk7XG5AQCAtMzA3NCw3ICYjNDM7MzA4MSw5IEBAIHN0YXRpYyBpbnQgbGFuNzh4eF9zZXRfZmVhdHVyZXMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcbiBcdGVsc2VcbiBcdFx0cGRhdGEtXHUwMDNlcmZlX2N0bCBcdTAwMjY9IH5SRkVfQ1RMX1ZMQU5fU1RSSVBfO1xuIFxuLVx0aWYgKGZlYXR1cmVzIFx1MDAyNiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpXG4mIzQzO1x0Lyoga2VlcCBWTEFOIGZpbHRlciBvZmYgd2hpbGUgcHJvbWlzY3VvdXMgKi9cbiYjNDM7XHRpZiAoKGZlYXR1cmVzIFx1MDAyNiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpIFx1MDAyNlx1MDAyNlxuJiM0MztcdCAgICAhKG5ldGRldi1cdTAwM2VmbGFncyBcdTAwMjYgSUZGX1BST01JU0MpKVxuIFx0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIHw9IFJGRV9DVExfVkxBTl9GSUxURVJfO1xuIFx0ZWxzZVxuIFx0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIFx1MDAyNj0gflJGRV9DVExfVkxBTl9GSUxURVJfO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA2PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjFtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1VTQl9MQU43OFhYJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bGFuNzh4eF9zZXRfbXVsdGljYXN0JiMzNDssCiAgICAmIzM0O2xhbjc4eHhfc2V0X2ZlYXR1cmVzJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBWTEFOIGZpbHRlcmluZyBsb2dpYyBpbiB0aGUgYGxhbjc4eHhgIFVTQiBuZXR3b3JrIGRyaXZlciB3aGVuIHByb21pc2N1b3VzIG1vZGUgaXMgdG9nZ2xlZCBvciB3aGVuIG5ldHdvcmsgZmVhdHVyZXMgYXJlIHVwZGF0ZWQuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgKHZpYSBVU0IgZW11bGF0aW9uKSBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgYzg5NGRiYTc1YjAwZDYyZTM2ZWNmOGQ1NzZlNjU1YWNmOGFhNTA1MApBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBUdWUgSnVuIDMwIDIxOjA2OjQzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmMKaW5kZXggYzRjZWJhY2FiY2I1MzQuLmExYTUzZWY4NWNiOWMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmMKQEAgLTE1MjUsNyAmIzQzOzE1MjUsMTQgQEAgc3RhdGljIHZvaWQgbGFuNzh4eF9zZXRfbXVsdGljYXN0KHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpCiAJaWYgKGRldi0mZ3Q7bmV0LSZndDtmbGFncyAmYW1wOyBJRkZfUFJPTUlTQykgewogCQluZXRpZl9kYmcoZGV2LCBkcnYsIGRldi0mZ3Q7bmV0LCAmIzM0O3Byb21pc2N1b3VzIG1vZGUgZW5hYmxlZCYjMzQ7KTsKIAkJcGRhdGEtJmd0O3JmZV9jdGwgfD0gUkZFX0NUTF9NQ0FTVF9FTl8gfCBSRkVfQ1RMX1VDQVNUX0VOXzsKJiM0MzsJCS8qIGJ5cGFzcyBWTEFOIGZpbHRlciBzbyBhbGwgdGFnZ2VkIGZyYW1lcyBhcmUgY2FwdHVyZWQgKi8KJiM0MzsJCXBkYXRhLSZndDtyZmVfY3RsICZhbXA7PSB+UkZFX0NUTF9WTEFOX0ZJTFRFUl87CiAJfSBlbHNlIHsKJiM0MzsJCWlmIChkZXYtJmd0O25ldC0mZ3Q7ZmVhdHVyZXMgJmFtcDsgTkVUSUZfRl9IV19WTEFOX0NUQUdfRklMVEVSKQomIzQzOwkJCXBkYXRhLSZndDtyZmVfY3RsIHw9IFJGRV9DVExfVkxBTl9GSUxURVJfOwomIzQzOwkJZWxzZQomIzQzOwkJCXBkYXRhLSZndDtyZmVfY3RsICZhbXA7PSB+UkZFX0NUTF9WTEFOX0ZJTFRFUl87CiYjNDM7CiAJCWlmIChkZXYtJmd0O25ldC0mZ3Q7ZmxhZ3MgJmFtcDsgSUZGX0FMTE1VTFRJKSB7CiAJCQluZXRpZl9kYmcoZGV2LCBkcnYsIGRldi0mZ3Q7bmV0LAogCQkJCSAgJiMzNDtyZWNlaXZlIGFsbCBtdWx0aWNhc3QgZW5hYmxlZCYjMzQ7KTsKQEAgLTMwNzQsNyAmIzQzOzMwODEsOSBAQCBzdGF0aWMgaW50IGxhbjc4eHhfc2V0X2ZlYXR1cmVzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsCiAJZWxzZQogCQlwZGF0YS0mZ3Q7cmZlX2N0bCAmYW1wOz0gflJGRV9DVExfVkxBTl9TVFJJUF87CiAKLQlpZiAoZmVhdHVyZXMgJmFtcDsgTkVUSUZfRl9IV19WTEFOX0NUQUdfRklMVEVSKQomIzQzOwkvKiBrZWVwIFZMQU4gZmlsdGVyIG9mZiB3aGlsZSBwcm9taXNjdW91cyAqLwomIzQzOwlpZiAoKGZlYXR1cmVzICZhbXA7IE5FVElGX0ZfSFdfVkxBTl9DVEFHX0ZJTFRFUikgJmFtcDsmYW1wOwomIzQzOwkgICAgIShuZXRkZXYtJmd0O2ZsYWdzICZhbXA7IElGRl9QUk9NSVNDKSkKIAkJcGRhdGEtJmd0O3JmZV9jdGwgfD0gUkZFX0NUTF9WTEFOX0ZJTFRFUl87CiAJZWxzZQogCQlwZGF0YS0mZ3Q7cmZlX2N0bCAmYW1wOz0gflJGRV9DVExfVkxBTl9GSUxURVJfOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAyMTowNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMTc4CgkJCQkJCQlvdXRwdXQ6IDMyCgkJCQkJCQl0aG91Z2h0czogNDcyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIFBhdGNoIHRvIHRoZSBsYW43OHh4IFVTQiBOZXR3b3JrIERyaXZlcioqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgYSBwYXRjaCBmb3IgdGhlIGBsYW43OHh4LmNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvY3VzaW5nIG9uIGBsYW43OHh4X3NldF9tdWx0aWNhc3RgIGFuZCBgbGFuNzh4eF9zZXRfZmVhdHVyZXNgLiBJdCBzZWVtcyB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIFZMQU4gZmlsdGVyaW5nIGJlaGF2aW9yLCB3aGljaCBhbHdheXMgZ2V0cyBteSBhdHRlbnRpb24uIFRoZSBjb3JlIGNoYW5nZSByZXZvbHZlcyBhcm91bmQgaG93IHRoZSBgUkZFX0NUTF9WTEFOX0ZJTFRFUl9gIGJpdCBpcyBtYW5pcHVsYXRlZCB3aXRoaW4gdGhlIGBwZGF0YS0mZ3Q7cmZlX2N0bGAgcmVnaXN0ZXIuCgpJbiB0aGUgbXVsdGljYXN0IGZ1bmN0aW9uLCB0aGUgbG9naWMgaGFzIGJlZW4gYWRqdXN0ZWQuIElmIHRoZSBpbnRlcmZhY2UgaXMgaW4gcHJvbWlzY3VvdXMgbW9kZSwgd2UgZW5hYmxlIG11bHRpY2FzdCBhbmQgdW5pY2FzdCByZWNlcHRpb24gKGFzIGV4cGVjdGVkKSwgYnV0IHRoZW4sIGFuZCB0aGlzIGlzIHRoZSBrZXkgY2hhbmdlLCBpdCAqZGlzYWJsZXMqIHRoZSBWTEFOIGZpbHRlciB0byBieXBhc3MgaXQuIFRoaXMgbWFrZXMgc2Vuc2U6IGluIHByb21pc2N1b3VzIG1vZGUsIHlvdSB3YW50ICpldmVyeXRoaW5nKiwgaW5jbHVkaW5nIHRhZ2dlZCBmcmFtZXMsIHNvIFZMQU4gZmlsdGVyaW5nIHdvdWxkIGJlIGNvdW50ZXJwcm9kdWN0aXZlLiBUaGUgb3JpZ2luYWwgY29kZSBkaWRuJiMzOTt0IGRvIHRoaXMsIGl0IHNlZW1zLiBPdGhlcndpc2UsIGl0IG5vdyBjb25zaWRlcnMgdGhlIGBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVJgIGZlYXR1cmUgZmxhZy4gSWYgdGhhdCBmbGFnIGlzIHNldCwgaXQgZW5hYmxlcyBWTEFOIGZpbHRlcmluZywgb3RoZXJ3aXNlLCBpdCBkaXNhYmxlcy4KClRoZSBjb3JyZXNwb25kaW5nIGNoYW5nZSBpbiBgbGFuNzh4eF9zZXRfZmVhdHVyZXNgIG1ha2VzIHNpbWlsYXIgYWRqdXN0bWVudHMuIFRoZSBjb2RlIHdpbGwgbm93IGNoZWNrIGZvciBib3RoIHRoZSBgTkVUSUZfRl9IV19WTEFOX0NUQUdfRklMVEVSYCBmZWF0dXJlIGFuZCB0aGUgSUZGX1BST01JU0MgZmxhZy4gVGhlIGRyaXZlciB3aWxsIGVuYWJsZSB0aGUgVkxBTiBmaWx0ZXIgaWYgdGhlIGZlYXR1cmUgaXMgc2V0ICphbmQqIHByb21pc2N1b3VzIG1vZGUgaXNuJiMzOTt0IGFjdGl2ZS4gVGhpcyBhbGlnbnMgd2l0aCB0aGUgYGxhbjc4eHhfc2V0X211bHRpY2FzdGAgY2hhbmdlcywgZW5zdXJpbmcgYSBjb25zaXN0ZW50IGJlaGF2aW9yLgoKVGhpcyBhbGwgcG9pbnRzIHRvIHNvbWUgcmVmaW5lbWVudCBvZiB0aGUgVkxBTiBoYW5kbGluZyBsb2dpYyBpbiB0aGUgZHJpdmVyLiBJdCYjMzk7cyBsaWtlbHkgZGVzaWduZWQgdG8gaW1wcm92ZSBjb21wYXRpYmlsaXR5IG9yIHBlcmZvcm1hbmNlIGluIHNwZWNpZmljIG5ldHdvcmsgY29uZmlndXJhdGlvbnMuIEdpdmVuIHRoYXQgdGhpcyBpcyBhIFVTQiBuZXR3b3JrIGRyaXZlciwgaXQmIzM5O3MgYWxzbyB3b3J0aCB0aGlua2luZyBhYm91dCBob3cgd2UgY2FuIGZ1enogaXQsIHNpbmNlIFVTQiBkZXZpY2VzIGNhbiBiZSBlbXVsYXRlZC4gU28sIGxldCYjMzk7cyB0YWtlIGEgcXVpY2sgbG9vayBhdCB0aGUgS2NvbmZpZyBmaWxlIGZvciB0aGlzIGRyaXZlciB0byB1bmRlcnN0YW5kIGl0cyBjb25maWd1cmF0aW9uIG9wdGlvbnMgYW5kIGRlcGVuZGVuY2llcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAyMTowNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtsYW43OHh4JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL0tjb25maWc9MTEzPWNvbmZpZyBVU0JfTEFONzhYWFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTEyOS1cdCAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlXG5kcml2ZXJzL25ldC91c2IvS2NvbmZpZzoxMzA6XHQgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBsYW43OHh4LlxuZHJpdmVycy9uZXQvdXNiL0tjb25maWctMTMxLVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMyMTgKCQkJCQkJCW91dHB1dDogMzUKCQkJCQkJCXRob3VnaHRzOiA1MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duIG1lbnRhbCBwcm9jZXNzaW5nOgoKKipBbmFseXppbmcgTEFONzhYWCBDb25maWd1cmF0aW9uKioKCkFscmlnaHQsIHNvIHRoZSBmb2N1cyBpcyBvbiB0aGUgYFVTQl9MQU43OFhYYCBjb25maWd1cmF0aW9uLCB3aGljaCBpbW1lZGlhdGVseSB0ZWxscyBtZSB0aGlzIGlzIGFib3V0IGludGVncmF0aW5nIHRoZSBMQU43OFhYIFVTQiBFdGhlcm5ldCBjb250cm9sbGVyLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gZGl2ZSBpbnRvIGhvdyB0aGlzIHNwZWNpZmljIGNvbmZpZyBpbXBhY3RzIHRoZSBkcml2ZXImIzM5O3MgYmVoYXZpb3IuIFNwZWNpZmljYWxseSwgdGhlIG1vZGlmaWNhdGlvbnMgYXJlIGNlbnRlcmVkIGFyb3VuZCBgbGFuNzh4eF9zZXRfbXVsdGljYXN0YCBhbmQgYGxhbjc4eHhfc2V0X2ZlYXR1cmVzYC4gVGhlc2UgYXJlIGtleTsgdGhleSYjMzk7bGwgZGljdGF0ZSBob3cgdGhlIGRldmljZSBoYW5kbGVzIG5ldHdvcmsgdHJhZmZpYyBkaXN0cmlidXRpb24gYW5kIHNwZWNpZmljIGhhcmR3YXJlIGNhcGFiaWxpdGllcy4KCk5vdywgYmVmb3JlIEkgZ2V0IHRvbyBkZWVwIGluLCBJIHdhbnQgdG8gbWFrZSBzdXJlIEkgZG9uJiMzOTt0IG1pc3MgYW55dGhpbmcuIEFyZSB0aGVzZSB0aGUgKm9ubHkqIGNvbmZpZ3VyYXRpb25zIGFmZmVjdGVkPyBJIG5lZWQgdG8gcXVpY2tseSBzY2FuIHRoZSByZWxhdGVkIGNvZGUgYW5kIGFueSBzdXBwb3J0aW5nIGRvY3VtZW50YXRpb24gdG8gZW5zdXJlIHRoZXJlIGFyZW4mIzM5O3QgKm90aGVyKiBjb25maWd1cmF0aW9uIG9wdGlvbnMgb3IgZGVwZW5kZW5jaWVzIGxpbmtlZCB0byB0aGlzIG9uZSB0aGF0IG5lZWQgZXhhbWluYXRpb24uIEtub3dpbmcgdGhlIGZ1bGwgcGljdHVyZSB1cC1mcm9udCB3aWxsIHNhdmUgdGltZSBhbmQgcG90ZW50aWFsIGhlYWRhY2hlcyBsYXRlci4gTmVlZCB0byBtYWtlIHN1cmUgSSBoYXZlbiYjMzk7dCBtaXNzZWQgYSBjcml0aWNhbCBwaWVjZSBvZiB0aGUgcHV6emxlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBVU0JfTEFONzhYWCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9LY29uZmlnPTk5PWNvbmZpZyBVU0JfUlRMODE1MlxuLS1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTExMi1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnOjExMzpjb25maWcgVVNCX0xBTjc4WFhcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTExNC1cdHRyaXN0YXRlIFwmIzM0O01pY3JvY2hpcCBMQU43OFhYIEJhc2VkIFVTQiBFdGhlcm5ldCBBZGFwdGVyc1wmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM2MzIKCQkJCQkJCW91dHB1dDogMzUKCQkJCQkJCXRob3VnaHRzOiAxNAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSB0aG91Z2h0IHByb2Nlc3MsIGFzIGlmIEkgd2VyZSBjb25zaWRlcmluZyB0aG9zZSBkZXBlbmRlbmNpZXM6CgoqKkFuYWx5emluZyB0aGUgVVNCX0xBTjc4WFggRGVwZW5kZW5jaWVzKioKCkFscmlnaHQsIGxldCYjMzk7cyBkaXZlIGluLiAmIzM0O1VTQl9MQU43OFhYJiMzNDsuLi4gbXkgaW5pdGlhbCB0aG91Z2h0IGlzLCAmIzM0O09rYXksIHRoYXQgc291bmRzIGxpa2UgYSBkcml2ZXIgb3IgbW9kdWxlIGZvciBhIFVTQi10by1FdGhlcm5ldCBhZGFwdGVyIGJhc2VkIG9uIGEgTEFONzh4eCBjaGlwc2V0LiYjMzQ7IE5vdywgYXMgYW4gZXhwZXJ0LCBJIGltbWVkaWF0ZWx5IHN0YXJ0IHRvIG1lbnRhbGx5IGxpc3QgdGhlIHRoaW5ncyBJIG5lZWQgdG8gY29uc2lkZXIgd2hlbiBsb29raW5nIGF0IGl0cyBkZXBlbmRlbmNpZXMuCgpGaXJzdCwgSSBuZWVkIHRvIGtub3cgdGhlICpleGFjdCogY29udGV4dC4gSXMgdGhpcyBmb3IgYW4gZW1iZWRkZWQgc3lzdGVtLCBhIGRlc2t0b3AgT1MsIG9yIHNvbWV0aGluZyBlbHNlIGVudGlyZWx5PyBUaGUgZW52aXJvbm1lbnQgd2lsbCBoZWF2aWx5IGluZmx1ZW5jZSB3aGF0IEkgbmVlZCB0byBsb29rIGZvci4gSWYgaXQmIzM5O3MgZW1iZWRkZWQsIEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgdGhlIGtlcm5lbCB2ZXJzaW9uLCB0aGUgc3BlY2lmaWMgYm9hcmQgc3VwcG9ydCBwYWNrYWdlIChCU1ApIGl0JiMzOTtzIGxpa2VseSBwYXJ0IG9mLCBhbmQgYW55IGN1c3RvbSBjb25maWd1cmF0aW9ucyB0aGF0IG1pZ2h0IGJlIGluIHBsYWNlLiBJZiBpdCYjMzk7cyBhIGRlc2t0b3AgT1MsIEkgbmVlZCB0byBjb25zaWRlciB0aGUga2VybmVsIG1vZHVsZXMsIHRoZSB1c2VyLXNwYWNlIGxpYnJhcmllcyBpdCByZWxpZXMgb24gKGxpa2UgbGlidXNiLCBwZXJoYXBzKSwgYW5kIGFueSBwb3RlbnRpYWwgY29uZmxpY3RzIHdpdGggb3RoZXIgbmV0d29yayBkcml2ZXJzLgoKVGhlbiwgdGhlcmUmIzM5O3MgdGhlIGhhcmR3YXJlIGl0c2VsZi4gV2hhdCBVU0IgYnVzIHNwZWVkIGlzIGl0IGRlc2lnbmVkIGZvcj8gRG9lcyBpdCBzdXBwb3J0IFVTQiAyLjAsIFVTQiAzLjAsIG9yIGV2ZW4gVVNCIDMuMSBvciAzLjI/IFRoYXQgY291bGQgaGF2ZSBpbXBsaWNhdGlvbnMgZm9yIHBvd2VyIG1hbmFnZW1lbnQgYW5kIGludGVycnVwdCBoYW5kbGluZy4gVGhlIGNoaXBzZXQgaXRzZWxmLiBEb2VzIGl0IHVzZSBzdGFuZGFyZCB2ZW5kb3IvZGV2aWNlIElEcyBvciBhcmUgdGhleSBjdXN0b20/CgpOb3csIGxldCYjMzk7cyBnZXQgaW50byB0aGUgZGVwZW5kZW5jaWVzOgoKKiAgICoqS2VybmVsIERlcGVuZGVuY2llczoqKiBXaGF0IGtlcm5lbCBtb2R1bGVzIGRvZXMgdGhpcyBkcml2ZXIgcmVseSBvbj8gVVNCIGNvcmUgbW9kdWxlcyAodXNiY29yZSwgZWhjaV9oY2QsIHhoY2lfaGNkKSwgbmV0d29yayBkcml2ZXIgZnJhbWV3b3JrIChuZXRkZXYsIGV0aHRvb2wpLCBhbmQgYW55IHBsYXRmb3JtLXNwZWNpZmljIGRyaXZlcnMuIEFyZSB0aGVyZSBhbnkgc3BlY2lmaWMga2VybmVsIGNvbmZpZyBvcHRpb25zIHRoYXQgKm11c3QqIGJlIGVuYWJsZWQ/IEkgd291bGQgbmVlZCB0byBtYWtlIHN1cmUgdGhlIGtlcm5lbCBpbmNsdWRlcyB0aGUgcmlnaHQgVVNCIGRyaXZlcnMsIG5ldHdvcmtpbmcgc3RhY2ssIGFuZCB0aGUgTEFONzh4eC1zcGVjaWZpYyBkcml2ZXIgaXRzZWxmLgoqICAgKipVc2VyLVNwYWNlIERlcGVuZGVuY2llczoqKiBBcmUgdGhlcmUgYW55IHVzZXItc3BhY2UgbGlicmFyaWVzIG5lZWRlZD8gYGxpYnVzYmAgaXMgYSBsaWtlbHkgY2FuZGlkYXRlIGZvciBoYW5kbGluZyB0aGUgVVNCIGNvbW11bmljYXRpb24uIERvZXMgaXQgdXNlIGB1ZGV2YCBydWxlcyBmb3IgZGV2aWNlIGRldGVjdGlvbiBhbmQgbWFuYWdlbWVudD8gV2hhdCBhYm91dCB0b29scyBmb3IgY29uZmlndXJhdGlvbiwgbGlrZSBgaXBgLCBgZXRodG9vbGAsIG9yIGEgY3VzdG9tIGNvbmZpZ3VyYXRpb24gdXRpbGl0eT8KKiAgICoqRmlybXdhcmU6KiogRG9lcyB0aGUgTEFONzh4eCByZXF1aXJlIGZpcm13YXJlIHRvIGJlIGxvYWRlZD8gSWYgc28sIHdoZXJlIGlzIHRoZSBmaXJtd2FyZSBsb2NhdGVkLCBhbmQgaG93IGlzIGl0IGxvYWRlZD8gSXMgaXQgbG9hZGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhlIGRyaXZlciwgb3IgZG9lcyBpdCByZXF1aXJlIGEgc2VwYXJhdGUgdXRpbGl0eT8KKiAgICoqQ29uZmxpY3QgQW5hbHlzaXMqKjogSSYjMzk7ZCBuZWVkIHRvIGNvbnNpZGVyIGlmIGl0IGNvdWxkIGNvbmZsaWN0IHdpdGggb3RoZXIgbmV0d29yayBkcml2ZXJzLCBlc3BlY2lhbGx5IGlmIHRoZSB0YXJnZXQgc3lzdGVtIGhhcyBtdWx0aXBsZSBuZXR3b3JrIGludGVyZmFjZXMuCiogICAqKlBvd2VyIE1hbmFnZW1lbnQ6KiogSSYjMzk7ZCBuZWVkIHRvIGNvbnNpZGVyIGl0cyBkZXBlbmRlbmNpZXMgZm9yIHBvd2VyIG1hbmFnZW1lbnQsIGVzcGVjaWFsbHkgaWYgaXQmIzM5O3MgdXNlZCBpbiBhIGJhdHRlcnktcG93ZXJlZCBkZXZpY2UuIERvZXMgaXQgc3VwcG9ydCBVU0Igc3VzcGVuZC9yZXN1bWUsIGFuZCBob3cgYXJlIHRoZXNlIGZlYXR1cmVzIGhhbmRsZWQgd2l0aGluIHRoZSBkcml2ZXI/CgpJJiMzOTttIGFsc28gdGhpbmtpbmcgYWJvdXQgcG90ZW50aWFsIGlzc3Vlcy4gQXJlIHRoZXJlIGFueSBrbm93biBlcnJhdGEgd2l0aCB0aGUgTEFONzh4eCBjaGlwc2V0PyBBcmUgdGhlcmUgYW55IHNwZWNpZmljIGtlcm5lbCB2ZXJzaW9ucyBvciBoYXJkd2FyZSByZXZpc2lvbnMgdGhhdCBhcmUga25vd24gdG8gaGF2ZSBjb21wYXRpYmlsaXR5IHByb2JsZW1zPwoKRmluYWxseSwgYXJlIHRoZXJlIGFueSBidWlsZCB0b29scyBuZWVkZWQ/IEkgd291bGQgYmUgbWVudGFsbHkgZ29pbmcgdGhyb3VnaCB0aGUgYnVpbGQgc3lzdGVtIChNYWtlLCBDTWFrZSwgZXRjKSB0byBlbnN1cmUgdGhlIGRyaXZlciBpcyBjb25maWd1cmVkIGFuZCBidWlsdCBjb3JyZWN0bHkgZm9yIHRoZSB0YXJnZXQgcGxhdGZvcm0uIEhvdyBhcmUgdGhlIGRlcGVuZGVuY2llcyBoYW5kbGVkIGJ5IHRoZSBidWlsZCBzeXN0ZW0/IFdoYXQmIzM5O3MgdGhlIGJ1aWxkIHByb2Nlc3MgbGlrZT8KClNvLCAmIzM0O1VTQl9MQU43OFhYJiMzNDsuLi4gSXQmIzM5O3Mgbm90IGp1c3QgYSBzaW5nbGUgdGhpbmcuIEl0JiMzOTtzIGEgY29tcGxleCBuZXR3b3JrIG9mIGRlcGVuZGVuY2llcyB0aGF0IEkgbmVlZCB0byBtZXRpY3Vsb3VzbHkgdW5yYXZlbCB0byBlbnN1cmUgYSBzbW9vdGggaW50ZWdyYXRpb24gYW5kIG9wZXJhdGlvbi4gVGhlIGRldmlsIGlzIGFsd2F5cyBpbiB0aGUgZGV0YWlscywgc28gSSB3b3VsZCBuZWVkIHRvIGNoZWNrIHRoZSBleGFjdCBzb3VyY2VzLCBjb25maWd1cmF0aW9uIGZpbGVzLCBhbmQgZG9jdW1lbnRhdGlvbiB0byBtYWtlIGNlcnRhaW4gSSBoYXZlIGEgY29tcGxldGUgcGljdHVyZSBvZiB0aGUgbGFuZHNjYXBlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBVU0JfTEFONzhYWCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9LY29uZmlnPTk5PWNvbmZpZyBVU0JfUlRMODE1MlxuLS1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTExMi1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnOjExMzpjb25maWcgVVNCX0xBTjc4WFhcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTExNC1cdHRyaXN0YXRlIFwmIzM0O01pY3JvY2hpcCBMQU43OFhYIEJhc2VkIFVTQiBFdGhlcm5ldCBBZGFwdGVyc1wmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzMwIDIxOjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ1NjEKCQkJCQkJCW91dHB1dDogMzYKCQkJCQkJCXRob3VnaHRzOiAxNAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6CgoqKkFuYWx5emluZyB0aGUgS2NvbmZpZyBGaWxlKioKCk9rYXksIGxldCYjMzk7cyB6ZXJvIGluIG9uIHRoYXQgS2NvbmZpZyBmaWxlLiBJJiMzOTttIGdvaW5nIHRvIHN0YXJ0IGJ5IHRha2luZyBhIGxvb2sgYXJvdW5kIGxpbmUgMTEzLiBHaXZlbiB0aGUgY29udGV4dCBvZiB0aGUgcHJvYmxlbSwgdGhhdCBhcmVhIGlzIGxpa2VseSBhIGtleSBjb25maWd1cmF0aW9uIHNlY3Rpb24sIHBlcmhhcHMgZGVmaW5pbmcgdGhlIHNldHRpbmdzIG9yIGRlcGVuZGVuY2llcyByZWxldmFudCB0byB0aGUgZmVhdHVyZSBJJiMzOTttIHRyb3VibGVzaG9vdGluZy4gSSYjMzk7bGwgbmVlZCB0byByYXBpZGx5IHBhcnNlIHRoZSBzeW50YXgsIGlkZW50aWZ5IHRoZSByZWxldmFudCBzeW1ib2xzLCBhbmQgdW5kZXJzdGFuZCB0aGVpciByZWxhdGlvbnNoaXBzLiBJJiMzOTtsbCBiZSBsb29raW5nIGZvciBhbnkgY2x1ZXMgcmVnYXJkaW5nIGRlZmF1bHRzLCBjb25zdHJhaW50cywgb3IgY29uZGl0aW9uYWxzIHRoYXQgbWlnaHQgZXhwbGFpbiB0aGUgb2JzZXJ2ZWQgYmVoYXZpb3IuIEkmIzM5O20gZXhwZWN0aW5nIHRvIGZpbmQgZWl0aGVyIHRoZSBjdWxwcml0IHNldHRpbmcsIG9yIHRoZSBoaW50IGFib3V0IHdoaWNoIG9mIHRoZSBkZXBlbmRlbmNpZXMgY291bGQgY2F1c2UgdGhlIG9ic2VydmVkIGJlaGF2aW9yLiBUaGlzIHNlY3Rpb24gd2lsbCBiZSBjcnVjaWFsIGluIHBpbnBvaW50aW5nIHRoZSBzb3VyY2Ugb2YgdGhlIGlzc3VlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAyMTowNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9LY29uZmlnJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMTEwLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDIwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAxMTA6XHRcdCAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlXG4gMTExOlx0XHQgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCByODE1Mi5cbiAxMTI6XHRcbiAxMTM6XHRjb25maWcgVVNCX0xBTjc4WFhcbiAxMTQ6XHRcdHRyaXN0YXRlIFwmIzM0O01pY3JvY2hpcCBMQU43OFhYIEJhc2VkIFVTQiBFdGhlcm5ldCBBZGFwdGVyc1wmIzM0O1xuIDExNTpcdFx0c2VsZWN0IE1JSVxuIDExNjpcdFx0c2VsZWN0IFBIWUxJTktcbiAxMTc6XHRcdHNlbGVjdCBNSUNST0NISVBfUEhZXG4gMTE4Olx0XHRzZWxlY3QgQ1JDMzJcbiAxMTk6XHRcdGltcGx5IE5FVF9TRUxGVEVTVFNcbiAxMjA6XHRcdGhlbHBcbiAxMjE6XHRcdCAgVGhpcyBvcHRpb24gYWRkcyBzdXBwb3J0IGZvciBNaWNyb2NoaXAgTEFONzhYWCBiYXNlZCBVU0IgMlxuIDEyMjpcdFx0ICBcdTAwMjYgVVNCIDMgMTAvMTAwLzEwMDAgRXRoZXJuZXQgYWRhcHRlcnMuXG4gMTIzOlx0XHQgIExBTjc4MDAgOiBVU0IgMyB0byAxMC8xMDAvMTAwMCBFdGhlcm5ldCBhZGFwdGVyXG4gMTI0Olx0XHQgIExBTjc4NTAgOiBVU0IgMiB0byAxMC8xMDAvMTAwMCBFdGhlcm5ldCBhZGFwdGVyXG4gMTI1Olx0XHQgIExBTjc4MDEgOiBVU0IgMyB0byAxMC8xMDAvMTAwMCBFdGhlcm5ldCBhZGFwdGVyIChNQUMgb25seSlcbiAxMjY6XHRcbiAxMjc6XHRcdCAgUHJvcGVyIFBIWSBkcml2ZXIgaXMgcmVxdWlyZWQgZm9yIExBTjc4MDEuXG4gMTI4Olx0XG4gMTI5Olx0XHQgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAyMTowNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA1MTQ4CgkJCQkJCQlvdXRwdXQ6IDExNAoJCQkJCQkJdGhvdWdodHM6IDE5MwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIFRhcmdldCBJZGVudGlmaWNhdGlvbjogTEFONzhYWCBWTEFOIEZpbHRlcmluZyoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgYSBwYXRjaCBoZXJlLCBhbmQgdGhlIGtleSBjaGFuZ2VzIGFyZSB3aXRoaW4gdGhlIGBsYW43OHh4YCBVU0IgbmV0d29yayBkcml2ZXIuIFNwZWNpZmljYWxseSwgdGhlIG1vZGlmaWVkIGZ1bmN0aW9ucyBhcmUgYGxhbjc4eHhfc2V0X211bHRpY2FzdGAgYW5kIGBsYW43OHh4X3NldF9mZWF0dXJlc2AuIFRoZXNlIGZ1bmN0aW9ucyBhcmUgZGlyZWN0bHkgaW52b2x2ZWQgaW4gaGFuZGxpbmcgVkxBTiBmaWx0ZXJpbmcsIHdoaWNoIGlzIGEgY29yZSBwYXJ0IG9mIGhvdyB0aGUgZHJpdmVyIG9wZXJhdGVzIGluIHByb21pc2N1b3VzIG1vZGUuIFRoYXQgaW1tZWRpYXRlbHkgZmxhZ3MgdGhpcyBhcyBzb21ldGhpbmcgd29ydGggaW52ZXN0aWdhdGluZyBmcm9tIGEgZnV6emluZyBwZXJzcGVjdGl2ZS4KClRoZSBjb25maWcgaXMgYFVTQl9MQU43OFhYYCwgc28gdGhhdCYjMzk7cyB0aGUgY29uZmlndXJhdGlvbiB0aGF0IGVuYWJsZXMgdGhpcyBkcml2ZXIuIFRoZSBmYWN0IHRoYXQgaXQmIzM5O3MgYSBVU0IgbmV0d29yayBkcml2ZXIgaXMgaGVscGZ1bCBiZWNhdXNlIGl0IHN1Z2dlc3RzIHdlIGNhbiBsaWtlbHkgdGVzdCBpdCB1c2luZyBVU0IgZW11bGF0aW9uIOKAkyB0b29scyBsaWtlIGBkdW1teV9oY2RgIHNob3VsZCBiZSBhYmxlIHRvIHNpbXVsYXRlIFVTQiB0cmFmZmljIGFuZCBhbGxvdyBmb3IgY29udHJvbGxlZCB0ZXN0aW5nLgoKR2l2ZW4gdGhlIG1vZGlmaWNhdGlvbnMgdG8gdGhlIFZMQU4gaGFuZGxpbmcgbG9naWMsIGNvdXBsZWQgd2l0aCB0aGUgcmVhY2hhYmxlIG5hdHVyZSBvZiB0aGUgZHJpdmVyIHZpYSBVU0IsIHRoZSByZWFzb25pbmcgaXMgY2xlYXI6IFRoaXMgY29uc3RpdHV0ZXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gYSBkcml2ZXIgdGhhdCYjMzk7cyBhY2Nlc3NpYmxlIHRocm91Z2ggVVNCIGVtdWxhdGlvbi4gVGhpcyBpcyB0ZXh0Ym9vayBtYXRlcmlhbCBmb3IgZnV6emluZy4gVGhlcmVmb3JlLCB0aGUgcHJpb3JpdHkgc2hvdWxkIGJlIHNldCB0byB0cnVlLiBNeSBmb2N1cyBpcyBvbiB0aG9yb3VnaGx5IGV4cGxvcmluZyBgbGFuNzh4eF9zZXRfbXVsdGljYXN0YCBhbmQgYGxhbjc4eHhfc2V0X2ZlYXR1cmVzYCBiZWNhdXNlIHRoZXNlIGFyZSB0aGUgZXhhY3QgcG9pbnRzIG9mIGNoYW5nZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMzAgMjE6MDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1VTQl9MQU43OFhYJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bGFuNzh4eF9zZXRfbXVsdGljYXN0JiMzNDssCiAgICAmIzM0O2xhbjc4eHhfc2V0X2ZlYXR1cmVzJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBWTEFOIGZpbHRlcmluZyBsb2dpYyBpbiB0aGUgYGxhbjc4eHhgIFVTQiBuZXR3b3JrIGRyaXZlciB3aGVuIHByb21pc2N1b3VzIG1vZGUgaXMgdG9nZ2xlZCBvciB3aGVuIG5ldHdvcmsgZmVhdHVyZXMgYXJlIHVwZGF0ZWQuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgKHZpYSBVU0IgZW11bGF0aW9uKSBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7VVNCX0xBTjc4WFgmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtsYW43OHh4X3NldF9tdWx0aWNhc3QmIzM0OywKICAgICYjMzQ7bGFuNzh4eF9zZXRfZmVhdHVyZXMmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIFZMQU4gZmlsdGVyaW5nIGxvZ2ljIGluIHRoZSBgbGFuNzh4eGAgVVNCIG5ldHdvcmsgZHJpdmVyIHdoZW4gcHJvbWlzY3VvdXMgbW9kZSBpcyB0b2dnbGVkIG9yIHdoZW4gbmV0d29yayBmZWF0dXJlcyBhcmUgdXBkYXRlZC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIGRyaXZlciAodmlhIFVTQiBlbXVsYXRpb24pIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDY6NDQuNDU0NjY3NTk5WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Njk4MjY5Mjg1NzQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVVNCX0xBTjc4WFhcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJsYW43OHh4X3NldF9tdWx0aWNhc3RcIixcbiAgICBcImxhbjc4eHhfc2V0X2ZlYXR1cmVzXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIFZMQU4gZmlsdGVyaW5nIGxvZ2ljIGluIHRoZSBgbGFuNzh4eGAgVVNCIG5ldHdvcmsgZHJpdmVyIHdoZW4gcHJvbWlzY3VvdXMgbW9kZSBpcyB0b2dnbGVkIG9yIHdoZW4gbmV0d29yayBmZWF0dXJlcyBhcmUgdXBkYXRlZC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIGRyaXZlciAodmlhIFVTQiBlbXVsYXRpb24pIGFuZCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0zMFQyMTowNjo0NC40NTQ2NzU0MTlaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM4NTM1NTA5MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGM4OTRkYmE3NWIwMGQ2MmUzNmVjZjhkNTc2ZTY1NWFjZjhhYTUwNTBcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFR1ZSBKdW4gMzAgMjE6MDY6NDMgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmNcXG5pbmRleCBjNGNlYmFjYWJjYjUzNC4uYTFhNTNlZjg1Y2I5YzMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguY1xcbisrKyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmNcXG5AQCAtMTUyNSw3ICsxNTI1LDE0IEBAIHN0YXRpYyB2b2lkIGxhbjc4eHhfc2V0X211bHRpY2FzdChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2KVxcbiBcXHRpZiAoZGV2LVxcdTAwM2VuZXQtXFx1MDAzZWZsYWdzIFxcdTAwMjYgSUZGX1BST01JU0MpIHtcXG4gXFx0XFx0bmV0aWZfZGJnKGRldiwgZHJ2LCBkZXYtXFx1MDAzZW5ldCwgXFxcInByb21pc2N1b3VzIG1vZGUgZW5hYmxlZFxcXCIpO1xcbiBcXHRcXHRwZGF0YS1cXHUwMDNlcmZlX2N0bCB8PSBSRkVfQ1RMX01DQVNUX0VOXyB8IFJGRV9DVExfVUNBU1RfRU5fO1xcbitcXHRcXHQvKiBieXBhc3MgVkxBTiBmaWx0ZXIgc28gYWxsIHRhZ2dlZCBmcmFtZXMgYXJlIGNhcHR1cmVkICovXFxuK1xcdFxcdHBkYXRhLVxcdTAwM2VyZmVfY3RsIFxcdTAwMjY9IH5SRkVfQ1RMX1ZMQU5fRklMVEVSXztcXG4gXFx0fSBlbHNlIHtcXG4rXFx0XFx0aWYgKGRldi1cXHUwMDNlbmV0LVxcdTAwM2VmZWF0dXJlcyBcXHUwMDI2IE5FVElGX0ZfSFdfVkxBTl9DVEFHX0ZJTFRFUilcXG4rXFx0XFx0XFx0cGRhdGEtXFx1MDAzZXJmZV9jdGwgfD0gUkZFX0NUTF9WTEFOX0ZJTFRFUl87XFxuK1xcdFxcdGVsc2VcXG4rXFx0XFx0XFx0cGRhdGEtXFx1MDAzZXJmZV9jdGwgXFx1MDAyNj0gflJGRV9DVExfVkxBTl9GSUxURVJfO1xcbitcXG4gXFx0XFx0aWYgKGRldi1cXHUwMDNlbmV0LVxcdTAwM2VmbGFncyBcXHUwMDI2IElGRl9BTExNVUxUSSkge1xcbiBcXHRcXHRcXHRuZXRpZl9kYmcoZGV2LCBkcnYsIGRldi1cXHUwMDNlbmV0LFxcbiBcXHRcXHRcXHRcXHQgIFxcXCJyZWNlaXZlIGFsbCBtdWx0aWNhc3QgZW5hYmxlZFxcXCIpO1xcbkBAIC0zMDc0LDcgKzMwODEsOSBAQCBzdGF0aWMgaW50IGxhbjc4eHhfc2V0X2ZlYXR1cmVzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsXFxuIFxcdGVsc2VcXG4gXFx0XFx0cGRhdGEtXFx1MDAzZXJmZV9jdGwgXFx1MDAyNj0gflJGRV9DVExfVkxBTl9TVFJJUF87XFxuIFxcbi1cXHRpZiAoZmVhdHVyZXMgXFx1MDAyNiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpXFxuK1xcdC8qIGtlZXAgVkxBTiBmaWx0ZXIgb2ZmIHdoaWxlIHByb21pc2N1b3VzICovXFxuK1xcdGlmICgoZmVhdHVyZXMgXFx1MDAyNiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpIFxcdTAwMjZcXHUwMDI2XFxuK1xcdCAgICAhKG5ldGRldi1cXHUwMDNlZmxhZ3MgXFx1MDAyNiBJRkZfUFJPTUlTQykpXFxuIFxcdFxcdHBkYXRhLVxcdTAwM2VyZmVfY3RsIHw9IFJGRV9DVExfVkxBTl9GSUxURVJfO1xcbiBcXHRlbHNlXFxuIFxcdFxcdHBkYXRhLVxcdTAwM2VyZmVfY3RsIFxcdTAwMjY9IH5SRkVfQ1RMX1ZMQU5fRklMVEVSXztcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDY6NDQuODQwODU0NDkyWiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2OTQ0MDcyNjQ1MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJVU0JfTEFONzhYWFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImxhbjc4eHhfc2V0X211bHRpY2FzdFwiLFxuICAgIFwibGFuNzh4eF9zZXRfZmVhdHVyZXNcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgVkxBTiBmaWx0ZXJpbmcgbG9naWMgaW4gdGhlIGBsYW43OHh4YCBVU0IgbmV0d29yayBkcml2ZXIgd2hlbiBwcm9taXNjdW91cyBtb2RlIGlzIHRvZ2dsZWQgb3Igd2hlbiBuZXR3b3JrIGZlYXR1cmVzIGFyZSB1cGRhdGVkLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSByZWFjaGFibGUgZHJpdmVyICh2aWEgVVNCIGVtdWxhdGlvbikgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgYzg5NGRiYTc1YjAwZDYyZTM2ZWNmOGQ1NzZlNjU1YWNmOGFhNTA1MFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUdWUgSnVuIDMwIDIxOjA2OjQzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmNcbmluZGV4IGM0Y2ViYWNhYmNiNTM0Li5hMWE1M2VmODVjYjljMyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmNcbisrKyBiL2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmNcbkBAIC0xNTI1LDcgKzE1MjUsMTQgQEAgc3RhdGljIHZvaWQgbGFuNzh4eF9zZXRfbXVsdGljYXN0KHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpXG4gXHRpZiAoZGV2LVx1MDAzZW5ldC1cdTAwM2VmbGFncyBcdTAwMjYgSUZGX1BST01JU0MpIHtcbiBcdFx0bmV0aWZfZGJnKGRldiwgZHJ2LCBkZXYtXHUwMDNlbmV0LCBcInByb21pc2N1b3VzIG1vZGUgZW5hYmxlZFwiKTtcbiBcdFx0cGRhdGEtXHUwMDNlcmZlX2N0bCB8PSBSRkVfQ1RMX01DQVNUX0VOXyB8IFJGRV9DVExfVUNBU1RfRU5fO1xuK1x0XHQvKiBieXBhc3MgVkxBTiBmaWx0ZXIgc28gYWxsIHRhZ2dlZCBmcmFtZXMgYXJlIGNhcHR1cmVkICovXG4rXHRcdHBkYXRhLVx1MDAzZXJmZV9jdGwgXHUwMDI2PSB+UkZFX0NUTF9WTEFOX0ZJTFRFUl87XG4gXHR9IGVsc2Uge1xuK1x0XHRpZiAoZGV2LVx1MDAzZW5ldC1cdTAwM2VmZWF0dXJlcyBcdTAwMjYgTkVUSUZfRl9IV19WTEFOX0NUQUdfRklMVEVSKVxuK1x0XHRcdHBkYXRhLVx1MDAzZXJmZV9jdGwgfD0gUkZFX0NUTF9WTEFOX0ZJTFRFUl87XG4rXHRcdGVsc2VcbitcdFx0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIFx1MDAyNj0gflJGRV9DVExfVkxBTl9GSUxURVJfO1xuK1xuIFx0XHRpZiAoZGV2LVx1MDAzZW5ldC1cdTAwM2VmbGFncyBcdTAwMjYgSUZGX0FMTE1VTFRJKSB7XG4gXHRcdFx0bmV0aWZfZGJnKGRldiwgZHJ2LCBkZXYtXHUwMDNlbmV0LFxuIFx0XHRcdFx0ICBcInJlY2VpdmUgYWxsIG11bHRpY2FzdCBlbmFibGVkXCIpO1xuQEAgLTMwNzQsNyArMzA4MSw5IEBAIHN0YXRpYyBpbnQgbGFuNzh4eF9zZXRfZmVhdHVyZXMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcbiBcdGVsc2VcbiBcdFx0cGRhdGEtXHUwMDNlcmZlX2N0bCBcdTAwMjY9IH5SRkVfQ1RMX1ZMQU5fU1RSSVBfO1xuIFxuLVx0aWYgKGZlYXR1cmVzIFx1MDAyNiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpXG4rXHQvKiBrZWVwIFZMQU4gZmlsdGVyIG9mZiB3aGlsZSBwcm9taXNjdW91cyAqL1xuK1x0aWYgKChmZWF0dXJlcyBcdTAwMjYgTkVUSUZfRl9IV19WTEFOX0NUQUdfRklMVEVSKSBcdTAwMjZcdTAwMjZcbitcdCAgICAhKG5ldGRldi1cdTAwM2VmbGFncyBcdTAwMjYgSUZGX1BST01JU0MpKVxuIFx0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIHw9IFJGRV9DVExfVkxBTl9GSUxURVJfO1xuIFx0ZWxzZVxuIFx0XHRwZGF0YS1cdTAwM2VyZmVfY3RsIFx1MDAyNj0gflJGRV9DVExfVkxBTl9GSUxURVJfO1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDY6NDQuODQwODU3MzcyWiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzAxNTQ1NjgzNzUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgUGF0Y2ggdG8gdGhlIGxhbjc4eHggVVNCIE5ldHdvcmsgRHJpdmVyKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCBmb3IgdGhlIGBsYW43OHh4LmNgIGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvY3VzaW5nIG9uIGBsYW43OHh4X3NldF9tdWx0aWNhc3RgIGFuZCBgbGFuNzh4eF9zZXRfZmVhdHVyZXNgLiBJdCBzZWVtcyB3ZSdyZSBkZWFsaW5nIHdpdGggVkxBTiBmaWx0ZXJpbmcgYmVoYXZpb3IsIHdoaWNoIGFsd2F5cyBnZXRzIG15IGF0dGVudGlvbi4gVGhlIGNvcmUgY2hhbmdlIHJldm9sdmVzIGFyb3VuZCBob3cgdGhlIGBSRkVfQ1RMX1ZMQU5fRklMVEVSX2AgYml0IGlzIG1hbmlwdWxhdGVkIHdpdGhpbiB0aGUgYHBkYXRhLVx1MDAzZXJmZV9jdGxgIHJlZ2lzdGVyLlxuXG5JbiB0aGUgbXVsdGljYXN0IGZ1bmN0aW9uLCB0aGUgbG9naWMgaGFzIGJlZW4gYWRqdXN0ZWQuIElmIHRoZSBpbnRlcmZhY2UgaXMgaW4gcHJvbWlzY3VvdXMgbW9kZSwgd2UgZW5hYmxlIG11bHRpY2FzdCBhbmQgdW5pY2FzdCByZWNlcHRpb24gKGFzIGV4cGVjdGVkKSwgYnV0IHRoZW4sIGFuZCB0aGlzIGlzIHRoZSBrZXkgY2hhbmdlLCBpdCAqZGlzYWJsZXMqIHRoZSBWTEFOIGZpbHRlciB0byBieXBhc3MgaXQuIFRoaXMgbWFrZXMgc2Vuc2U6IGluIHByb21pc2N1b3VzIG1vZGUsIHlvdSB3YW50ICpldmVyeXRoaW5nKiwgaW5jbHVkaW5nIHRhZ2dlZCBmcmFtZXMsIHNvIFZMQU4gZmlsdGVyaW5nIHdvdWxkIGJlIGNvdW50ZXJwcm9kdWN0aXZlLiBUaGUgb3JpZ2luYWwgY29kZSBkaWRuJ3QgZG8gdGhpcywgaXQgc2VlbXMuIE90aGVyd2lzZSwgaXQgbm93IGNvbnNpZGVycyB0aGUgYE5FVElGX0ZfSFdfVkxBTl9DVEFHX0ZJTFRFUmAgZmVhdHVyZSBmbGFnLiBJZiB0aGF0IGZsYWcgaXMgc2V0LCBpdCBlbmFibGVzIFZMQU4gZmlsdGVyaW5nLCBvdGhlcndpc2UsIGl0IGRpc2FibGVzLlxuXG5UaGUgY29ycmVzcG9uZGluZyBjaGFuZ2UgaW4gYGxhbjc4eHhfc2V0X2ZlYXR1cmVzYCBtYWtlcyBzaW1pbGFyIGFkanVzdG1lbnRzLiBUaGUgY29kZSB3aWxsIG5vdyBjaGVjayBmb3IgYm90aCB0aGUgYE5FVElGX0ZfSFdfVkxBTl9DVEFHX0ZJTFRFUmAgZmVhdHVyZSBhbmQgdGhlIElGRl9QUk9NSVNDIGZsYWcuIFRoZSBkcml2ZXIgd2lsbCBlbmFibGUgdGhlIFZMQU4gZmlsdGVyIGlmIHRoZSBmZWF0dXJlIGlzIHNldCAqYW5kKiBwcm9taXNjdW91cyBtb2RlIGlzbid0IGFjdGl2ZS4gVGhpcyBhbGlnbnMgd2l0aCB0aGUgYGxhbjc4eHhfc2V0X211bHRpY2FzdGAgY2hhbmdlcywgZW5zdXJpbmcgYSBjb25zaXN0ZW50IGJlaGF2aW9yLlxuXG5UaGlzIGFsbCBwb2ludHMgdG8gc29tZSByZWZpbmVtZW50IG9mIHRoZSBWTEFOIGhhbmRsaW5nIGxvZ2ljIGluIHRoZSBkcml2ZXIuIEl0J3MgbGlrZWx5IGRlc2lnbmVkIHRvIGltcHJvdmUgY29tcGF0aWJpbGl0eSBvciBwZXJmb3JtYW5jZSBpbiBzcGVjaWZpYyBuZXR3b3JrIGNvbmZpZ3VyYXRpb25zLiBHaXZlbiB0aGF0IHRoaXMgaXMgYSBVU0IgbmV0d29yayBkcml2ZXIsIGl0J3MgYWxzbyB3b3J0aCB0aGlua2luZyBhYm91dCBob3cgd2UgY2FuIGZ1enogaXQsIHNpbmNlIFVTQiBkZXZpY2VzIGNhbiBiZSBlbXVsYXRlZC4gU28sIGxldCdzIHRha2UgYSBxdWljayBsb29rIGF0IHRoZSBLY29uZmlnIGZpbGUgZm9yIHRoaXMgZHJpdmVyIHRvIHVuZGVyc3RhbmQgaXRzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBhbmQgZGVwZW5kZW5jaWVzLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMTc4LCJPdXRwdXRUb2tlbnMiOjMyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDcyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6MTQuOTk1NDI5NTc3WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEyODI1MTEzNywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJsYW43OHh4XCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3VzYi9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3VzYi9LY29uZmlnPTExMz1jb25maWcgVVNCX0xBTjc4WFhcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTEyOS1cXHQgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZVxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnOjEzMDpcXHQgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBsYW43OHh4LlxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTEzMS1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6MTUuMTIzNjk0MzY0WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzU0ODE4MDM5NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd24gbWVudGFsIHByb2Nlc3Npbmc6XG5cbioqQW5hbHl6aW5nIExBTjc4WFggQ29uZmlndXJhdGlvbioqXG5cbkFscmlnaHQsIHNvIHRoZSBmb2N1cyBpcyBvbiB0aGUgYFVTQl9MQU43OFhYYCBjb25maWd1cmF0aW9uLCB3aGljaCBpbW1lZGlhdGVseSB0ZWxscyBtZSB0aGlzIGlzIGFib3V0IGludGVncmF0aW5nIHRoZSBMQU43OFhYIFVTQiBFdGhlcm5ldCBjb250cm9sbGVyLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gZGl2ZSBpbnRvIGhvdyB0aGlzIHNwZWNpZmljIGNvbmZpZyBpbXBhY3RzIHRoZSBkcml2ZXIncyBiZWhhdmlvci4gU3BlY2lmaWNhbGx5LCB0aGUgbW9kaWZpY2F0aW9ucyBhcmUgY2VudGVyZWQgYXJvdW5kIGBsYW43OHh4X3NldF9tdWx0aWNhc3RgIGFuZCBgbGFuNzh4eF9zZXRfZmVhdHVyZXNgLiBUaGVzZSBhcmUga2V5OyB0aGV5J2xsIGRpY3RhdGUgaG93IHRoZSBkZXZpY2UgaGFuZGxlcyBuZXR3b3JrIHRyYWZmaWMgZGlzdHJpYnV0aW9uIGFuZCBzcGVjaWZpYyBoYXJkd2FyZSBjYXBhYmlsaXRpZXMuXG5cbk5vdywgYmVmb3JlIEkgZ2V0IHRvbyBkZWVwIGluLCBJIHdhbnQgdG8gbWFrZSBzdXJlIEkgZG9uJ3QgbWlzcyBhbnl0aGluZy4gQXJlIHRoZXNlIHRoZSAqb25seSogY29uZmlndXJhdGlvbnMgYWZmZWN0ZWQ/IEkgbmVlZCB0byBxdWlja2x5IHNjYW4gdGhlIHJlbGF0ZWQgY29kZSBhbmQgYW55IHN1cHBvcnRpbmcgZG9jdW1lbnRhdGlvbiB0byBlbnN1cmUgdGhlcmUgYXJlbid0ICpvdGhlciogY29uZmlndXJhdGlvbiBvcHRpb25zIG9yIGRlcGVuZGVuY2llcyBsaW5rZWQgdG8gdGhpcyBvbmUgdGhhdCBuZWVkIGV4YW1pbmF0aW9uLiBLbm93aW5nIHRoZSBmdWxsIHBpY3R1cmUgdXAtZnJvbnQgd2lsbCBzYXZlIHRpbWUgYW5kIHBvdGVudGlhbCBoZWFkYWNoZXMgbGF0ZXIuIE5lZWQgdG8gbWFrZSBzdXJlIEkgaGF2ZW4ndCBtaXNzZWQgYSBjcml0aWNhbCBwaWVjZSBvZiB0aGUgcHV6emxlLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMjE4LCJPdXRwdXRUb2tlbnMiOjM1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6MTguNjcxODc4ODA5WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwNzU5OTY4OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgVVNCX0xBTjc4WFhcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvdXNiL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvdXNiL0tjb25maWc9OTk9Y29uZmlnIFVTQl9SVEw4MTUyXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvS2NvbmZpZy0xMTItXFxuZHJpdmVycy9uZXQvdXNiL0tjb25maWc6MTEzOmNvbmZpZyBVU0JfTEFONzhYWFxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTExNC1cXHR0cmlzdGF0ZSBcXFwiTWljcm9jaGlwIExBTjc4WFggQmFzZWQgVVNCIEV0aGVybmV0IEFkYXB0ZXJzXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0zMFQyMTowNzoxOC43Nzk0ODYzMjhaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMzQyMzc4NzU4MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRob3VnaHQgcHJvY2VzcywgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRob3NlIGRlcGVuZGVuY2llczpcblxuKipBbmFseXppbmcgdGhlIFVTQl9MQU43OFhYIERlcGVuZGVuY2llcyoqXG5cbkFscmlnaHQsIGxldCdzIGRpdmUgaW4uIFwiVVNCX0xBTjc4WFhcIi4uLiBteSBpbml0aWFsIHRob3VnaHQgaXMsIFwiT2theSwgdGhhdCBzb3VuZHMgbGlrZSBhIGRyaXZlciBvciBtb2R1bGUgZm9yIGEgVVNCLXRvLUV0aGVybmV0IGFkYXB0ZXIgYmFzZWQgb24gYSBMQU43OHh4IGNoaXBzZXQuXCIgTm93LCBhcyBhbiBleHBlcnQsIEkgaW1tZWRpYXRlbHkgc3RhcnQgdG8gbWVudGFsbHkgbGlzdCB0aGUgdGhpbmdzIEkgbmVlZCB0byBjb25zaWRlciB3aGVuIGxvb2tpbmcgYXQgaXRzIGRlcGVuZGVuY2llcy5cblxuRmlyc3QsIEkgbmVlZCB0byBrbm93IHRoZSAqZXhhY3QqIGNvbnRleHQuIElzIHRoaXMgZm9yIGFuIGVtYmVkZGVkIHN5c3RlbSwgYSBkZXNrdG9wIE9TLCBvciBzb21ldGhpbmcgZWxzZSBlbnRpcmVseT8gVGhlIGVudmlyb25tZW50IHdpbGwgaGVhdmlseSBpbmZsdWVuY2Ugd2hhdCBJIG5lZWQgdG8gbG9vayBmb3IuIElmIGl0J3MgZW1iZWRkZWQsIEknbSB0aGlua2luZyBhYm91dCB0aGUga2VybmVsIHZlcnNpb24sIHRoZSBzcGVjaWZpYyBib2FyZCBzdXBwb3J0IHBhY2thZ2UgKEJTUCkgaXQncyBsaWtlbHkgcGFydCBvZiwgYW5kIGFueSBjdXN0b20gY29uZmlndXJhdGlvbnMgdGhhdCBtaWdodCBiZSBpbiBwbGFjZS4gSWYgaXQncyBhIGRlc2t0b3AgT1MsIEkgbmVlZCB0byBjb25zaWRlciB0aGUga2VybmVsIG1vZHVsZXMsIHRoZSB1c2VyLXNwYWNlIGxpYnJhcmllcyBpdCByZWxpZXMgb24gKGxpa2UgbGlidXNiLCBwZXJoYXBzKSwgYW5kIGFueSBwb3RlbnRpYWwgY29uZmxpY3RzIHdpdGggb3RoZXIgbmV0d29yayBkcml2ZXJzLlxuXG5UaGVuLCB0aGVyZSdzIHRoZSBoYXJkd2FyZSBpdHNlbGYuIFdoYXQgVVNCIGJ1cyBzcGVlZCBpcyBpdCBkZXNpZ25lZCBmb3I/IERvZXMgaXQgc3VwcG9ydCBVU0IgMi4wLCBVU0IgMy4wLCBvciBldmVuIFVTQiAzLjEgb3IgMy4yPyBUaGF0IGNvdWxkIGhhdmUgaW1wbGljYXRpb25zIGZvciBwb3dlciBtYW5hZ2VtZW50IGFuZCBpbnRlcnJ1cHQgaGFuZGxpbmcuIFRoZSBjaGlwc2V0IGl0c2VsZi4gRG9lcyBpdCB1c2Ugc3RhbmRhcmQgdmVuZG9yL2RldmljZSBJRHMgb3IgYXJlIHRoZXkgY3VzdG9tP1xuXG5Ob3csIGxldCdzIGdldCBpbnRvIHRoZSBkZXBlbmRlbmNpZXM6XG5cbiogICAqKktlcm5lbCBEZXBlbmRlbmNpZXM6KiogV2hhdCBrZXJuZWwgbW9kdWxlcyBkb2VzIHRoaXMgZHJpdmVyIHJlbHkgb24/IFVTQiBjb3JlIG1vZHVsZXMgKHVzYmNvcmUsIGVoY2lfaGNkLCB4aGNpX2hjZCksIG5ldHdvcmsgZHJpdmVyIGZyYW1ld29yayAobmV0ZGV2LCBldGh0b29sKSwgYW5kIGFueSBwbGF0Zm9ybS1zcGVjaWZpYyBkcml2ZXJzLiBBcmUgdGhlcmUgYW55IHNwZWNpZmljIGtlcm5lbCBjb25maWcgb3B0aW9ucyB0aGF0ICptdXN0KiBiZSBlbmFibGVkPyBJIHdvdWxkIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBrZXJuZWwgaW5jbHVkZXMgdGhlIHJpZ2h0IFVTQiBkcml2ZXJzLCBuZXR3b3JraW5nIHN0YWNrLCBhbmQgdGhlIExBTjc4eHgtc3BlY2lmaWMgZHJpdmVyIGl0c2VsZi5cbiogICAqKlVzZXItU3BhY2UgRGVwZW5kZW5jaWVzOioqIEFyZSB0aGVyZSBhbnkgdXNlci1zcGFjZSBsaWJyYXJpZXMgbmVlZGVkPyBgbGlidXNiYCBpcyBhIGxpa2VseSBjYW5kaWRhdGUgZm9yIGhhbmRsaW5nIHRoZSBVU0IgY29tbXVuaWNhdGlvbi4gRG9lcyBpdCB1c2UgYHVkZXZgIHJ1bGVzIGZvciBkZXZpY2UgZGV0ZWN0aW9uIGFuZCBtYW5hZ2VtZW50PyBXaGF0IGFib3V0IHRvb2xzIGZvciBjb25maWd1cmF0aW9uLCBsaWtlIGBpcGAsIGBldGh0b29sYCwgb3IgYSBjdXN0b20gY29uZmlndXJhdGlvbiB1dGlsaXR5P1xuKiAgICoqRmlybXdhcmU6KiogRG9lcyB0aGUgTEFONzh4eCByZXF1aXJlIGZpcm13YXJlIHRvIGJlIGxvYWRlZD8gSWYgc28sIHdoZXJlIGlzIHRoZSBmaXJtd2FyZSBsb2NhdGVkLCBhbmQgaG93IGlzIGl0IGxvYWRlZD8gSXMgaXQgbG9hZGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhlIGRyaXZlciwgb3IgZG9lcyBpdCByZXF1aXJlIGEgc2VwYXJhdGUgdXRpbGl0eT9cbiogICAqKkNvbmZsaWN0IEFuYWx5c2lzKio6IEknZCBuZWVkIHRvIGNvbnNpZGVyIGlmIGl0IGNvdWxkIGNvbmZsaWN0IHdpdGggb3RoZXIgbmV0d29yayBkcml2ZXJzLCBlc3BlY2lhbGx5IGlmIHRoZSB0YXJnZXQgc3lzdGVtIGhhcyBtdWx0aXBsZSBuZXR3b3JrIGludGVyZmFjZXMuXG4qICAgKipQb3dlciBNYW5hZ2VtZW50OioqIEknZCBuZWVkIHRvIGNvbnNpZGVyIGl0cyBkZXBlbmRlbmNpZXMgZm9yIHBvd2VyIG1hbmFnZW1lbnQsIGVzcGVjaWFsbHkgaWYgaXQncyB1c2VkIGluIGEgYmF0dGVyeS1wb3dlcmVkIGRldmljZS4gRG9lcyBpdCBzdXBwb3J0IFVTQiBzdXNwZW5kL3Jlc3VtZSwgYW5kIGhvdyBhcmUgdGhlc2UgZmVhdHVyZXMgaGFuZGxlZCB3aXRoaW4gdGhlIGRyaXZlcj9cblxuSSdtIGFsc28gdGhpbmtpbmcgYWJvdXQgcG90ZW50aWFsIGlzc3Vlcy4gQXJlIHRoZXJlIGFueSBrbm93biBlcnJhdGEgd2l0aCB0aGUgTEFONzh4eCBjaGlwc2V0PyBBcmUgdGhlcmUgYW55IHNwZWNpZmljIGtlcm5lbCB2ZXJzaW9ucyBvciBoYXJkd2FyZSByZXZpc2lvbnMgdGhhdCBhcmUga25vd24gdG8gaGF2ZSBjb21wYXRpYmlsaXR5IHByb2JsZW1zP1xuXG5GaW5hbGx5LCBhcmUgdGhlcmUgYW55IGJ1aWxkIHRvb2xzIG5lZWRlZD8gSSB3b3VsZCBiZSBtZW50YWxseSBnb2luZyB0aHJvdWdoIHRoZSBidWlsZCBzeXN0ZW0gKE1ha2UsIENNYWtlLCBldGMpIHRvIGVuc3VyZSB0aGUgZHJpdmVyIGlzIGNvbmZpZ3VyZWQgYW5kIGJ1aWx0IGNvcnJlY3RseSBmb3IgdGhlIHRhcmdldCBwbGF0Zm9ybS4gSG93IGFyZSB0aGUgZGVwZW5kZW5jaWVzIGhhbmRsZWQgYnkgdGhlIGJ1aWxkIHN5c3RlbT8gV2hhdCdzIHRoZSBidWlsZCBwcm9jZXNzIGxpa2U/XG5cblNvLCBcIlVTQl9MQU43OFhYXCIuLi4gSXQncyBub3QganVzdCBhIHNpbmdsZSB0aGluZy4gSXQncyBhIGNvbXBsZXggbmV0d29yayBvZiBkZXBlbmRlbmNpZXMgdGhhdCBJIG5lZWQgdG8gbWV0aWN1bG91c2x5IHVucmF2ZWwgdG8gZW5zdXJlIGEgc21vb3RoIGludGVncmF0aW9uIGFuZCBvcGVyYXRpb24uIFRoZSBkZXZpbCBpcyBhbHdheXMgaW4gdGhlIGRldGFpbHMsIHNvIEkgd291bGQgbmVlZCB0byBjaGVjayB0aGUgZXhhY3Qgc291cmNlcywgY29uZmlndXJhdGlvbiBmaWxlcywgYW5kIGRvY3VtZW50YXRpb24gdG8gbWFrZSBjZXJ0YWluIEkgaGF2ZSBhIGNvbXBsZXRlIHBpY3R1cmUgb2YgdGhlIGxhbmRzY2FwZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzYzMiwiT3V0cHV0VG9rZW5zIjozNSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTMwVDIxOjA3OjMyLjIwMzI3Nzk1MloiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNDA4Nzk4NzYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIFVTQl9MQU43OFhYXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3VzYi9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3VzYi9LY29uZmlnPTk5PWNvbmZpZyBVU0JfUlRMODE1Mlxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL0tjb25maWctMTEyLVxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnOjExMzpjb25maWcgVVNCX0xBTjc4WFhcXG5kcml2ZXJzL25ldC91c2IvS2NvbmZpZy0xMTQtXFx0dHJpc3RhdGUgXFxcIk1pY3JvY2hpcCBMQU43OFhYIEJhc2VkIFVTQiBFdGhlcm5ldCBBZGFwdGVyc1xcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6MzIuMzQ0MTcwMjI4WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTE5Njc5NzUwNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZTpcblxuKipBbmFseXppbmcgdGhlIEtjb25maWcgRmlsZSoqXG5cbk9rYXksIGxldCdzIHplcm8gaW4gb24gdGhhdCBLY29uZmlnIGZpbGUuIEknbSBnb2luZyB0byBzdGFydCBieSB0YWtpbmcgYSBsb29rIGFyb3VuZCBsaW5lIDExMy4gR2l2ZW4gdGhlIGNvbnRleHQgb2YgdGhlIHByb2JsZW0sIHRoYXQgYXJlYSBpcyBsaWtlbHkgYSBrZXkgY29uZmlndXJhdGlvbiBzZWN0aW9uLCBwZXJoYXBzIGRlZmluaW5nIHRoZSBzZXR0aW5ncyBvciBkZXBlbmRlbmNpZXMgcmVsZXZhbnQgdG8gdGhlIGZlYXR1cmUgSSdtIHRyb3VibGVzaG9vdGluZy4gSSdsbCBuZWVkIHRvIHJhcGlkbHkgcGFyc2UgdGhlIHN5bnRheCwgaWRlbnRpZnkgdGhlIHJlbGV2YW50IHN5bWJvbHMsIGFuZCB1bmRlcnN0YW5kIHRoZWlyIHJlbGF0aW9uc2hpcHMuIEknbGwgYmUgbG9va2luZyBmb3IgYW55IGNsdWVzIHJlZ2FyZGluZyBkZWZhdWx0cywgY29uc3RyYWludHMsIG9yIGNvbmRpdGlvbmFscyB0aGF0IG1pZ2h0IGV4cGxhaW4gdGhlIG9ic2VydmVkIGJlaGF2aW9yLiBJJ20gZXhwZWN0aW5nIHRvIGZpbmQgZWl0aGVyIHRoZSBjdWxwcml0IHNldHRpbmcsIG9yIHRoZSBoaW50IGFib3V0IHdoaWNoIG9mIHRoZSBkZXBlbmRlbmNpZXMgY291bGQgY2F1c2UgdGhlIG9ic2VydmVkIGJlaGF2aW9yLiBUaGlzIHNlY3Rpb24gd2lsbCBiZSBjcnVjaWFsIGluIHBpbnBvaW50aW5nIHRoZSBzb3VyY2Ugb2YgdGhlIGlzc3VlLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NTYxLCJPdXRwdXRUb2tlbnMiOjM2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6MzcuNTQwOTcxMjQzWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE2NDMwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC91c2IvS2NvbmZpZ1wiLFxuICBcIkZpcnN0TGluZVwiOiAxMTAsXG4gIFwiTGluZUNvdW50XCI6IDIwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAxMTA6XFx0XFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGVcXG4gMTExOlxcdFxcdCAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIHI4MTUyLlxcbiAxMTI6XFx0XFxuIDExMzpcXHRjb25maWcgVVNCX0xBTjc4WFhcXG4gMTE0OlxcdFxcdHRyaXN0YXRlIFxcXCJNaWNyb2NoaXAgTEFONzhYWCBCYXNlZCBVU0IgRXRoZXJuZXQgQWRhcHRlcnNcXFwiXFxuIDExNTpcXHRcXHRzZWxlY3QgTUlJXFxuIDExNjpcXHRcXHRzZWxlY3QgUEhZTElOS1xcbiAxMTc6XFx0XFx0c2VsZWN0IE1JQ1JPQ0hJUF9QSFlcXG4gMTE4OlxcdFxcdHNlbGVjdCBDUkMzMlxcbiAxMTk6XFx0XFx0aW1wbHkgTkVUX1NFTEZURVNUU1xcbiAxMjA6XFx0XFx0aGVscFxcbiAxMjE6XFx0XFx0ICBUaGlzIG9wdGlvbiBhZGRzIHN1cHBvcnQgZm9yIE1pY3JvY2hpcCBMQU43OFhYIGJhc2VkIFVTQiAyXFxuIDEyMjpcXHRcXHQgIFxcdTAwMjYgVVNCIDMgMTAvMTAwLzEwMDAgRXRoZXJuZXQgYWRhcHRlcnMuXFxuIDEyMzpcXHRcXHQgIExBTjc4MDAgOiBVU0IgMyB0byAxMC8xMDAvMTAwMCBFdGhlcm5ldCBhZGFwdGVyXFxuIDEyNDpcXHRcXHQgIExBTjc4NTAgOiBVU0IgMiB0byAxMC8xMDAvMTAwMCBFdGhlcm5ldCBhZGFwdGVyXFxuIDEyNTpcXHRcXHQgIExBTjc4MDEgOiBVU0IgMyB0byAxMC8xMDAvMTAwMCBFdGhlcm5ldCBhZGFwdGVyIChNQUMgb25seSlcXG4gMTI2OlxcdFxcbiAxMjc6XFx0XFx0ICBQcm9wZXIgUEhZIGRyaXZlciBpcyByZXF1aXJlZCBmb3IgTEFONzgwMS5cXG4gMTI4OlxcdFxcbiAxMjk6XFx0XFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGVcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6MzcuNTQxMTM5NTIzWiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE2NjE0NTg2NTkzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgVGFyZ2V0IElkZW50aWZpY2F0aW9uOiBMQU43OFhYIFZMQU4gRmlsdGVyaW5nKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCBoZXJlLCBhbmQgdGhlIGtleSBjaGFuZ2VzIGFyZSB3aXRoaW4gdGhlIGBsYW43OHh4YCBVU0IgbmV0d29yayBkcml2ZXIuIFNwZWNpZmljYWxseSwgdGhlIG1vZGlmaWVkIGZ1bmN0aW9ucyBhcmUgYGxhbjc4eHhfc2V0X211bHRpY2FzdGAgYW5kIGBsYW43OHh4X3NldF9mZWF0dXJlc2AuIFRoZXNlIGZ1bmN0aW9ucyBhcmUgZGlyZWN0bHkgaW52b2x2ZWQgaW4gaGFuZGxpbmcgVkxBTiBmaWx0ZXJpbmcsIHdoaWNoIGlzIGEgY29yZSBwYXJ0IG9mIGhvdyB0aGUgZHJpdmVyIG9wZXJhdGVzIGluIHByb21pc2N1b3VzIG1vZGUuIFRoYXQgaW1tZWRpYXRlbHkgZmxhZ3MgdGhpcyBhcyBzb21ldGhpbmcgd29ydGggaW52ZXN0aWdhdGluZyBmcm9tIGEgZnV6emluZyBwZXJzcGVjdGl2ZS5cblxuVGhlIGNvbmZpZyBpcyBgVVNCX0xBTjc4WFhgLCBzbyB0aGF0J3MgdGhlIGNvbmZpZ3VyYXRpb24gdGhhdCBlbmFibGVzIHRoaXMgZHJpdmVyLiBUaGUgZmFjdCB0aGF0IGl0J3MgYSBVU0IgbmV0d29yayBkcml2ZXIgaXMgaGVscGZ1bCBiZWNhdXNlIGl0IHN1Z2dlc3RzIHdlIGNhbiBsaWtlbHkgdGVzdCBpdCB1c2luZyBVU0IgZW11bGF0aW9uIOKAkyB0b29scyBsaWtlIGBkdW1teV9oY2RgIHNob3VsZCBiZSBhYmxlIHRvIHNpbXVsYXRlIFVTQiB0cmFmZmljIGFuZCBhbGxvdyBmb3IgY29udHJvbGxlZCB0ZXN0aW5nLlxuXG5HaXZlbiB0aGUgbW9kaWZpY2F0aW9ucyB0byB0aGUgVkxBTiBoYW5kbGluZyBsb2dpYywgY291cGxlZCB3aXRoIHRoZSByZWFjaGFibGUgbmF0dXJlIG9mIHRoZSBkcml2ZXIgdmlhIFVTQiwgdGhlIHJlYXNvbmluZyBpcyBjbGVhcjogVGhpcyBjb25zdGl0dXRlcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHdpdGhpbiBhIGRyaXZlciB0aGF0J3MgYWNjZXNzaWJsZSB0aHJvdWdoIFVTQiBlbXVsYXRpb24uIFRoaXMgaXMgdGV4dGJvb2sgbWF0ZXJpYWwgZm9yIGZ1enppbmcuIFRoZXJlZm9yZSwgdGhlIHByaW9yaXR5IHNob3VsZCBiZSBzZXQgdG8gdHJ1ZS4gTXkgZm9jdXMgaXMgb24gdGhvcm91Z2hseSBleHBsb3JpbmcgYGxhbjc4eHhfc2V0X211bHRpY2FzdGAgYW5kIGBsYW43OHh4X3NldF9mZWF0dXJlc2AgYmVjYXVzZSB0aGVzZSBhcmUgdGhlIGV4YWN0IHBvaW50cyBvZiBjaGFuZ2UuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUxNDgsIk91dHB1dFRva2VucyI6MTE0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTkzLCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMjE6MDc6NTQuMTU1NzI4ODA2WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTI1ODQ1NjI4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJVU0JfTEFONzhYWFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImxhbjc4eHhfc2V0X211bHRpY2FzdFwiLFxuICAgIFwibGFuNzh4eF9zZXRfZmVhdHVyZXNcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgVkxBTiBmaWx0ZXJpbmcgbG9naWMgaW4gdGhlIGBsYW43OHh4YCBVU0IgbmV0d29yayBkcml2ZXIgd2hlbiBwcm9taXNjdW91cyBtb2RlIGlzIHRvZ2dsZWQgb3Igd2hlbiBuZXR3b3JrIGZlYXR1cmVzIGFyZSB1cGRhdGVkLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSByZWFjaGFibGUgZHJpdmVyICh2aWEgVVNCIGVtdWxhdGlvbikgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVVNCX0xBTjc4WFhcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJsYW43OHh4X3NldF9tdWx0aWNhc3RcIixcbiAgICBcImxhbjc4eHhfc2V0X2ZlYXR1cmVzXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIFZMQU4gZmlsdGVyaW5nIGxvZ2ljIGluIHRoZSBgbGFuNzh4eGAgVVNCIG5ldHdvcmsgZHJpdmVyIHdoZW4gcHJvbWlzY3VvdXMgbW9kZSBpcyB0b2dnbGVkIG9yIHdoZW4gbmV0d29yayBmZWF0dXJlcyBhcmUgdXBkYXRlZC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIGRyaXZlciAodmlhIFVTQiBlbXVsYXRpb24pIGFuZCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflow2hncr[1] Phase: Succeeded StartedAt: 2026-06-30 21:08:47 +0000 UTC FinishedAt: 2026-06-30 21:08:47 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-06-30 21:08:47 +0000 UTC FinishedAt: 2026-06-30 21:08:47 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2] Phase: Succeeded StartedAt: 2026-06-30 21:08:47 +0000 UTC FinishedAt: 2026-06-30 23:05:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-06-30 21:08:47 +0000 UTC FinishedAt: 2026-06-30 23:05:28 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-06-30 21:08:47 +0000 UTC FinishedAt: 2026-06-30 21:08:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-06-30 21:08:47 +0000 UTC FinishedAt: 2026-06-30 21:08:54 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.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-workflow2hncr/series-workflow2hncr-convert-artifact-2655383812/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-06-30 21:08:57 +0000 UTC FinishedAt: 2026-06-30 21:37:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-06-30 21:08:57 +0000 UTC FinishedAt: 2026-06-30 21:37:12 +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:*2d2cebdf-02e3-4dab-8de3-748ba74fcb69,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-workflow2hncr/series-workflow2hncr-convert-artifact-2655383812/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": "bcda8ad3-1b1f-4317-89a0-6fff0d09b5a6", "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-workflow2hncr/series-workflow2hncr-build-action-2840180290/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-06-30 21:08:57 +0000 UTC FinishedAt: 2026-06-30 21:36:48 +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:*2d2cebdf-02e3-4dab-8de3-748ba74fcb69,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-workflow2hncr/series-workflow2hncr-convert-artifact-2655383812/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": "bcda8ad3-1b1f-4317-89a0-6fff0d09b5a6", "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-workflow2hncr/series-workflow2hncr-build-action-2840180290/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-06-30 21:37:12 +0000 UTC FinishedAt: 2026-06-30 21:37:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-06-30 21:37:12 +0000 UTC FinishedAt: 2026-06-30 21:37:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-06-30 21:37:12 +0000 UTC FinishedAt: 2026-06-30 21:37:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-06-30 21:37:12 +0000 UTC FinishedAt: 2026-06-30 21:37:18 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.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-workflow2hncr/series-workflow2hncr-convert-artifact-1898157187/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-06-30 21:37:22 +0000 UTC FinishedAt: 2026-06-30 21:39:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-06-30 21:37:22 +0000 UTC FinishedAt: 2026-06-30 21:39:24 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*bcda8ad3-1b1f-4317-89a0-6fff0d09b5a6,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-workflow2hncr/series-workflow2hncr-build-action-2840180290/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-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-06-30 21:39:35 +0000 UTC FinishedAt: 2026-06-30 21:39:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-06-30 21:39:35 +0000 UTC FinishedAt: 2026-06-30 21:39:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-06-30 21:39:35 +0000 UTC FinishedAt: 2026-06-30 22:10:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-06-30 21:39:35 +0000 UTC FinishedAt: 2026-06-30 22:10:12 +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:*2d2cebdf-02e3-4dab-8de3-748ba74fcb69,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-workflow2hncr/series-workflow2hncr-convert-artifact-1898157187/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": "a876b9a7-0470-4e7b-9c73-7d011c943f37", "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-workflow2hncr/series-workflow2hncr-build-action-2098479927/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-06-30 21:39:35 +0000 UTC FinishedAt: 2026-06-30 22:10:01 +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:*2d2cebdf-02e3-4dab-8de3-748ba74fcb69,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-workflow2hncr/series-workflow2hncr-convert-artifact-1898157187/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": "a876b9a7-0470-4e7b-9c73-7d011c943f37", "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-workflow2hncr/series-workflow2hncr-build-action-2098479927/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-06-30 22:10:12 +0000 UTC FinishedAt: 2026-06-30 22:10:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-06-30 22:10:12 +0000 UTC FinishedAt: 2026-06-30 22:10:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-06-30 22:10:12 +0000 UTC FinishedAt: 2026-06-30 22:12:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-06-30 22:10:12 +0000 UTC FinishedAt: 2026-06-30 22:12:02 +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:*a876b9a7-0470-4e7b-9c73-7d011c943f37,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-workflow2hncr/series-workflow2hncr-build-action-2098479927/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-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-06-30 22:12:12 +0000 UTC FinishedAt: 2026-06-30 23:05:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-06-30 22:12:12 +0000 UTC FinishedAt: 2026-06-30 23:05:28 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"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:*bcda8ad3-1b1f-4317-89a0-6fff0d09b5a6,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*a876b9a7-0470-4e7b-9c73-7d011c943f37,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-workflow2hncr/series-workflow2hncr-build-action-2840180290/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-workflow2hncr/series-workflow2hncr-build-action-2098479927/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-06-30 22:12:12 +0000 UTC FinishedAt: 2026-06-30 22:12:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-06-30 22:12:12 +0000 UTC FinishedAt: 2026-06-30 22:12:18 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"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-workflow2hncr/series-workflow2hncr-convert-artifact-2720209564/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-06-30 22:12:12 +0000 UTC FinishedAt: 2026-06-30 22:12:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-06-30 22:12:12 +0000 UTC FinishedAt: 2026-06-30 22:12:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-06-30 22:12:12 +0000 UTC FinishedAt: 2026-06-30 22:12:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-06-30 22:12:22 +0000 UTC FinishedAt: 2026-06-30 23:05:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflow2hncr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["lan78xx_set_multicast","lan78xx_set_features"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_LAN78XX"],"series_id":"e33246d9-fee8-4ca8-9f71-7f1c5126f4e0","tree_name":"drm-next","tree_url":"https://gitlab.freedesktop.org/drm/kernel.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-06-30 22:12:22 +0000 UTC FinishedAt: 2026-06-30 23:05:18 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*bcda8ad3-1b1f-4317-89a0-6fff0d09b5a6,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*a876b9a7-0470-4e7b-9c73-7d011c943f37,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-workflow2hncr/series-workflow2hncr-build-action-2840180290/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-workflow2hncr/series-workflow2hncr-build-action-2098479927/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-workflow2hncr/series-workflow2hncr-convert-artifact-2720209564/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,}