Name: series-workflowb7744 Phase: Failed StartedAt: 2026-08-13 08:30:17 +0000 UTC FinishedAt: 2026-08-13 08:49:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowb7744[0] Phase: Succeeded StartedAt: 2026-08-13 08:30:17 +0000 UTC FinishedAt: 2026-08-13 08:49:06 +0000 UTC Input: nil Output: nil --------- Name: series-workflowb7744[0].run-triage Phase: Succeeded StartedAt: 2026-08-13 08:30:17 +0000 UTC FinishedAt: 2026-08-13 08:49:06 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEzIDA4OjQ4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE5YUCBXaUZpIGRyaXZlciAobnhwd2lmaSksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciBOWFAgSVc2MXggU0RJTyBjaGlwc2V0cy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIHNvIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEzIDA4OjQ4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgODRlOTdlMmRhNWVhMjZlMjRhYjJjNTczN2U5MjNhOTgyMWIzYjM1YlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUaHUgQXVnIDEzIDA4OjQ4OjM2IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpLzExbl9hZ2dyLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS8xMW5fYWdnci5jXG5pbmRleCBiZTcwODBmMmE2Y2U3Li41NDkzM2M0MmM5NjBkIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuY1xuQEAgLTE2OCw2ICYjNDM7MTY4LDcgQEAgbnhwd2lmaV8xMW5fYWdncmVnYXRlX3BrdChzdHJ1Y3Qgbnhwd2lmaV9wcml2YXRlICpwcml2LFxuIFxuIFx0XHRpZiAoIW54cHdpZmlfaXNfcmFsaXN0X3ZhbGlkKHByaXYsIHByYV9saXN0LCBwdHJpbmRleCkpIHtcbiBcdFx0XHRzcGluX3VubG9ja19iaChcdTAwMjZwcml2LVx1MDAzZXdtbS5yYV9saXN0X3NwaW5sb2NrKTtcbiYjNDM7XHRcdFx0bnhwd2lmaV93cml0ZV9kYXRhX2NvbXBsZXRlKGFkYXB0ZXIsIHNrYl9hZ2dyLCAxLCAtMSk7XG4gXHRcdFx0cmV0dXJuIC1FTk9FTlQ7XG4gXHRcdH1cbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9jZmc4MDIxMS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvY2ZnODAyMTEuY1xuaW5kZXggNWNjOGNkZjU5NGQzZS4uNDYxZTNlMTk0NzQzOCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2NmZzgwMjExLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2NmZzgwMjExLmNcbkBAIC0zNzI5LDggJiM0MzszNzI5LDkgQEAgaW50IG54cHdpZmlfaW5pdF9jaGFubmVsX3NjYW5fZ2FwKHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpXG4gXHQgKiBhZGRpdGlvbmFsIGFjdGl2ZSBzY2FuIHJlcXVlc3QgZm9yIGhpZGRlbiBTU0lEcyBvbiBwYXNzaXZlIGNoYW5uZWxzLlxuIFx0ICovXG4gXHRhZGFwdGVyLVx1MDAzZW51bV9pbl9jaGFuX3N0YXRzID0gMiAqIChuX2NoYW5uZWxzX2JnICYjNDM7IG5fY2hhbm5lbHNfYSk7XG4tXHRhZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHMgPSB2bWFsbG9jKGFycmF5X3NpemUoc2l6ZW9mKCphZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHMpLFxuLVx0XHRcdFx0XHRcdCBhZGFwdGVyLVx1MDAzZW51bV9pbl9jaGFuX3N0YXRzKSk7XG4mIzQzO1x0YWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzID0ga2NhbGxvYyhhZGFwdGVyLVx1MDAzZW51bV9pbl9jaGFuX3N0YXRzLFxuJiM0MztcdFx0XHRcdCAgICAgIHNpemVvZigqYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKSxcbiYjNDM7XHRcdFx0XHQgICAgICBHRlBfS0VSTkVMKTtcbiBcbiBcdGlmICghYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9pbml0LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9pbml0LmNcbmluZGV4IGIxMjhmYzlmZTMxYTIuLjY5YjI3ZmNlNWNlNjUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9pbml0LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuY1xuQEAgLTMyOCw3ICYjNDM7MzI4LDcgQEAgc3RhdGljIHZvaWQgbnhwd2lmaV9pbnZhbGlkYXRlX2xpc3RzKHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpXG4gc3RhdGljIHZvaWRcbiBueHB3aWZpX2FkYXB0ZXJfY2xlYW51cChzdHJ1Y3Qgbnhwd2lmaV9hZGFwdGVyICphZGFwdGVyKVxuIHtcbi1cdHRpbWVyX2RlbGV0ZShcdTAwMjZhZGFwdGVyLVx1MDAzZXdha2V1cF90aW1lcik7XG4mIzQzO1x0dGltZXJfZGVsZXRlX3N5bmMoXHUwMDI2YWRhcHRlci1cdTAwM2V3YWtldXBfdGltZXIpO1xuIFx0bnhwd2lmaV9jYW5jZWxfYWxsX3BlbmRpbmdfY21kKGFkYXB0ZXIpO1xuIFx0d2FrZV91cF9pbnRlcnJ1cHRpYmxlKFx1MDAyNmFkYXB0ZXItXHUwMDNlY21kX3dhaXRfcS53YWl0KTtcbiBcdHdha2VfdXBfaW50ZXJydXB0aWJsZShcdTAwMjZhZGFwdGVyLVx1MDAzZWhzX2FjdGl2YXRlX3dhaXRfcSk7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jXG5pbmRleCBiNGM2MzgyOTAyNGEwLi5jNWQwNzhiYjQ1OTgzIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9tYWluLmNcbkBAIC02NDQsNyAmIzQzOzY0NCw3IEBAIHN0YXRpYyBpbnQgX254cHdpZmlfZndfZHBjKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmUsIHZvaWQgKmNvbnRleHQpXG4gXHRnb3RvIGRvbmU7XG4gXG4gZXJyX2FkZF9pbnRmOlxuLVx0dmZyZWUoYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKTtcbiYjNDM7XHRrZnJlZShhZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHMpO1xuIGVycl9pbml0X2NoYW5fc2NhbjpcbiBcdHdpcGh5X3VucmVnaXN0ZXIoYWRhcHRlci1cdTAwM2V3aXBoeSk7XG4gXHR3aXBoeV9mcmVlKGFkYXB0ZXItXHUwMDNld2lwaHkpO1xuQEAgLTEzODQsNyAmIzQzOzEzODQsNyBAQCBzdGF0aWMgdm9pZCBueHB3aWZpX3VuaW5pdF9zdyhzdHJ1Y3Qgbnhwd2lmaV9hZGFwdGVyICphZGFwdGVyKVxuIFx0d2lwaHlfZnJlZShhZGFwdGVyLVx1MDAzZXdpcGh5KTtcbiBcdGFkYXB0ZXItXHUwMDNld2lwaHkgPSBOVUxMO1xuIFxuLVx0dmZyZWUoYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKTtcbiYjNDM7XHRrZnJlZShhZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHMpO1xuIFx0bnhwd2lmaV9mcmVlX2NtZF9idWZmZXJzKGFkYXB0ZXIpO1xuIH1cbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMyAwODo0ODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE5YUCBXaUZpIGRyaXZlciAobnhwd2lmaSksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciBOWFAgSVc2MXggU0RJTyBjaGlwc2V0cy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIHNvIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgODRlOTdlMmRhNWVhMjZlMjRhYjJjNTczN2U5MjNhOTgyMWIzYjM1YgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBUaHUgQXVnIDEzIDA4OjQ4OjM2IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpLzExbl9hZ2dyLmMKaW5kZXggYmU3MDgwZjJhNmNlNy4uNTQ5MzNjNDJjOTYwZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS8xMW5fYWdnci5jCkBAIC0xNjgsNiAmIzQzOzE2OCw3IEBAIG54cHdpZmlfMTFuX2FnZ3JlZ2F0ZV9wa3Qoc3RydWN0IG54cHdpZmlfcHJpdmF0ZSAqcHJpdiwKIAogCQlpZiAoIW54cHdpZmlfaXNfcmFsaXN0X3ZhbGlkKHByaXYsIHByYV9saXN0LCBwdHJpbmRleCkpIHsKIAkJCXNwaW5fdW5sb2NrX2JoKCZhbXA7cHJpdi0mZ3Q7d21tLnJhX2xpc3Rfc3BpbmxvY2spOwomIzQzOwkJCW54cHdpZmlfd3JpdGVfZGF0YV9jb21wbGV0ZShhZGFwdGVyLCBza2JfYWdnciwgMSwgLTEpOwogCQkJcmV0dXJuIC1FTk9FTlQ7CiAJCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvY2ZnODAyMTEuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2NmZzgwMjExLmMKaW5kZXggNWNjOGNkZjU5NGQzZS4uNDYxZTNlMTk0NzQzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvY2ZnODAyMTEuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9jZmc4MDIxMS5jCkBAIC0zNzI5LDggJiM0MzszNzI5LDkgQEAgaW50IG54cHdpZmlfaW5pdF9jaGFubmVsX3NjYW5fZ2FwKHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpCiAJICogYWRkaXRpb25hbCBhY3RpdmUgc2NhbiByZXF1ZXN0IGZvciBoaWRkZW4gU1NJRHMgb24gcGFzc2l2ZSBjaGFubmVscy4KIAkgKi8KIAlhZGFwdGVyLSZndDtudW1faW5fY2hhbl9zdGF0cyA9IDIgKiAobl9jaGFubmVsc19iZyAmIzQzOyBuX2NoYW5uZWxzX2EpOwotCWFkYXB0ZXItJmd0O2NoYW5fc3RhdHMgPSB2bWFsbG9jKGFycmF5X3NpemUoc2l6ZW9mKCphZGFwdGVyLSZndDtjaGFuX3N0YXRzKSwKLQkJCQkJCSBhZGFwdGVyLSZndDtudW1faW5fY2hhbl9zdGF0cykpOwomIzQzOwlhZGFwdGVyLSZndDtjaGFuX3N0YXRzID0ga2NhbGxvYyhhZGFwdGVyLSZndDtudW1faW5fY2hhbl9zdGF0cywKJiM0MzsJCQkJICAgICAgc2l6ZW9mKCphZGFwdGVyLSZndDtjaGFuX3N0YXRzKSwKJiM0MzsJCQkJICAgICAgR0ZQX0tFUk5FTCk7CiAKIAlpZiAoIWFkYXB0ZXItJmd0O2NoYW5fc3RhdHMpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvaW5pdC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvaW5pdC5jCmluZGV4IGIxMjhmYzlmZTMxYTIuLjY5YjI3ZmNlNWNlNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9pbml0LmMKQEAgLTMyOCw3ICYjNDM7MzI4LDcgQEAgc3RhdGljIHZvaWQgbnhwd2lmaV9pbnZhbGlkYXRlX2xpc3RzKHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpCiBzdGF0aWMgdm9pZAogbnhwd2lmaV9hZGFwdGVyX2NsZWFudXAoc3RydWN0IG54cHdpZmlfYWRhcHRlciAqYWRhcHRlcikKIHsKLQl0aW1lcl9kZWxldGUoJmFtcDthZGFwdGVyLSZndDt3YWtldXBfdGltZXIpOwomIzQzOwl0aW1lcl9kZWxldGVfc3luYygmYW1wO2FkYXB0ZXItJmd0O3dha2V1cF90aW1lcik7CiAJbnhwd2lmaV9jYW5jZWxfYWxsX3BlbmRpbmdfY21kKGFkYXB0ZXIpOwogCXdha2VfdXBfaW50ZXJydXB0aWJsZSgmYW1wO2FkYXB0ZXItJmd0O2NtZF93YWl0X3Eud2FpdCk7CiAJd2FrZV91cF9pbnRlcnJ1cHRpYmxlKCZhbXA7YWRhcHRlci0mZ3Q7aHNfYWN0aXZhdGVfd2FpdF9xKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL21haW4uYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL21haW4uYwppbmRleCBiNGM2MzgyOTAyNGEwLi5jNWQwNzhiYjQ1OTgzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9tYWluLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jCkBAIC02NDQsNyAmIzQzOzY0NCw3IEBAIHN0YXRpYyBpbnQgX254cHdpZmlfZndfZHBjKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmUsIHZvaWQgKmNvbnRleHQpCiAJZ290byBkb25lOwogCiBlcnJfYWRkX2ludGY6Ci0JdmZyZWUoYWRhcHRlci0mZ3Q7Y2hhbl9zdGF0cyk7CiYjNDM7CWtmcmVlKGFkYXB0ZXItJmd0O2NoYW5fc3RhdHMpOwogZXJyX2luaXRfY2hhbl9zY2FuOgogCXdpcGh5X3VucmVnaXN0ZXIoYWRhcHRlci0mZ3Q7d2lwaHkpOwogCXdpcGh5X2ZyZWUoYWRhcHRlci0mZ3Q7d2lwaHkpOwpAQCAtMTM4NCw3ICYjNDM7MTM4NCw3IEBAIHN0YXRpYyB2b2lkIG54cHdpZmlfdW5pbml0X3N3KHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpCiAJd2lwaHlfZnJlZShhZGFwdGVyLSZndDt3aXBoeSk7CiAJYWRhcHRlci0mZ3Q7d2lwaHkgPSBOVUxMOwogCi0JdmZyZWUoYWRhcHRlci0mZ3Q7Y2hhbl9zdGF0cyk7CiYjNDM7CWtmcmVlKGFkYXB0ZXItJmd0O2NoYW5fc3RhdHMpOwogCW54cHdpZmlfZnJlZV9jbWRfYnVmZmVycyhhZGFwdGVyKTsKIH0KIAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMyAwODo0ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyOTUxCgkJCQkJCQlvdXRwdXQ6IDMzCgkJCQkJCQl0aG91Z2h0czogNDczCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIFdpLUZpIERyaXZlciBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgYSBwYXRjaCBoZXJlIHRoYXQmIzM5O3MgdG91Y2hpbmcgYSBmZXcgZmlsZXMgd2l0aGluIHRoZSBOWFAgV2ktRmkgZHJpdmVyLCBzcGVjaWZpY2FsbHkgdGhlIDExbiBhZ2dyZWdhdGlvbiwgY2ZnODAyMTEgaW50ZWdyYXRpb24sIGluaXRpYWxpemF0aW9uLCBhbmQgbWFpbiBkcml2ZXIgZmlsZXMuIEl0IGxvb2tzIGxpa2Ugd2UgaGF2ZSBhIGZldyBpbnRlcmVzdGluZyBjaGFuZ2VzIGhlcmUuCgpGaXJzdCwgd2l0aGluIGBueHB3aWZpXzExbl9hZ2dyZWdhdGVfcGt0YCwgdGhleSYjMzk7cmUgYWRkaW5nIGEgYG54cHdpZmlfd3JpdGVfZGF0YV9jb21wbGV0ZWAgY2FsbCB3aGVuIGEgcmVjZWl2ZSBhZ2dyZWdhdGlvbiBsaXN0IGVudHJ5IGlzbiYjMzk7dCB2YWxpZC4gVGhhdCBtYWtlcyBzZW5zZSwgaGFuZGxpbmcgdGhlIGVycm9yIGNhc2UgbW9yZSBncmFjZWZ1bGx5LiBJbnN0ZWFkIG9mIGp1c3QgcmV0dXJuaW5nIGAtRU5PRU5UYCwgaXQgaXMgbm93IG5vdGlmeWluZyBvZiB0aGUgZGF0YSBjb21wbGV0aW9uIGFuZCBlcnJvci4KCk5leHQsIGEgc3VidGxlIGJ1dCBpbXBvcnRhbnQgY2hhbmdlIGluIGBueHB3aWZpX2luaXRfY2hhbm5lbF9zY2FuX2dhcGAuIFRoZXkmIzM5O3JlIHN3aXRjaGluZyBmcm9tIGB2bWFsbG9jYCB0byBga2NhbGxvY2AgZm9yIGFsbG9jYXRpbmcgYGFkYXB0ZXItJmd0O2NoYW5fc3RhdHNgLiBHaXZlbiB0aGUgY29udGV4dCwgdGhhdCYjMzk7cyBhbG1vc3QgY2VydGFpbmx5IHRoZSByaWdodCBtb3ZlIGZyb20gYSBtZW1vcnkgbWFuYWdlbWVudCBwZXJzcGVjdGl2ZSwgcHJldmVudGluZyBwb3RlbnRpYWwgZnJhZ21lbnRhdGlvbiBpc3N1ZXMgYW5kIHVzaW5nIGEgbW9yZSBhcHByb3ByaWF0ZSBhbGxvY2F0b3IgZm9yIGtlcm5lbCBtZW1vcnkuIEdvb2QgY2F0Y2guCgpUaGUgdGhpcmQgY2hhbmdlIGlzIGluIGBueHB3aWZpX2FkYXB0ZXJfY2xlYW51cGAsIGFuZCBpdCYjMzk7cyBhIGB0aW1lcl9kZWxldGVgIHRvIGB0aW1lcl9kZWxldGVfc3luY2Agb24gdGhlIGB3YWtldXBfdGltZXJgLiBUaGF0JiMzOTtzIGEgY2xhc3NpYyByYWNlIGNvbmRpdGlvbiBmaXg7IGB0aW1lcl9kZWxldGVfc3luY2AgZ3VhcmFudGVlcyB0aGUgdGltZXIgaXMgZGVhY3RpdmF0ZWQgYmVmb3JlIHRoZSBtZW1vcnkgaXMgZnJlZWQuIFNtYXJ0LgoKRmluYWxseSwgaW4gYF9ueHB3aWZpX2Z3X2RwY2AgYW5kIGBueHB3aWZpX3VuaW5pdF9zd2AsIHRoZSBjb2RlIGdvZXMgZnJvbSBgdmZyZWVgIHRvIGBrZnJlZWAgZm9yIHJlbGVhc2luZyBgYWRhcHRlci0mZ3Q7Y2hhbl9zdGF0c2AuIENvbnNpc3RlbnQgd2l0aCB0aGUgZWFybGllciBhbGxvY2F0aW9uIGNoYW5nZSwgdGhhdCYjMzk7cyBhIG5lY2Vzc2l0eS4KClRoaXMgcGF0Y2ggbG9va3MgbGlrZSBpdCYjMzk7cyBhZGRyZXNzaW5nIHNvbWUgY3JpdGljYWwgaXNzdWVzIGFuZCBtZW1vcnkgbWFuYWdlbWVudCB0aGluZ3MuIElzIHRoaXMgZHJpdmVyIHJ1bm5pbmcgaW4gUUVNVT8gSSYjMzk7bSBjdXJpb3VzLiBJIHNob3VsZCBwcm9iYWJseSBkaWcgaW50byB0aGUgYG54cHdpZmlgIGRyaXZlciBpbiBtb3JlIGRldGFpbC4gTGV0JiMzOTtzIGZpbmQgdGhlIEtjb25maWcgZmlsZSBmb3IgYSBkZWVwZXIgdW5kZXJzdGFuZGluZyBvZiB3aGF0IGl0JiMzOTtzIGFsbCBhYm91dC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMyAwODo0ODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgTlhQV0lGSSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZzoyOmNvbmZpZyBOWFBXSUZJXG5kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9LY29uZmlnLTMtXHR0cmlzdGF0ZSBcJiMzNDtOWFAgV2lGaSBEcml2ZXJcJiMzNDsgaWYgQ09NUElMRV9URVNUXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZy0xMS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL0tjb25maWc6MTI6Y29uZmlnIE5YUFdJRklfU0RJT1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZy0xMy1cdHRyaXN0YXRlIFwmIzM0O05YUCBXaUZpIERyaXZlciBmb3IgSVc2MXhcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMyAwODo0ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MDY2CgkJCQkJCQlvdXRwdXQ6IDQyCgkJCQkJCQl0aG91Z2h0czogNjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgc3VtbWFyeSwgYXMgdGhvdWdoIEkmIzM5O20gdGhpbmtpbmcgdGhyb3VnaCB0aGlzIG15c2VsZjoKCioqSW52ZXN0aWdhdGluZyB0aGUgYE5YUFdJRklgIERyaXZlcioqCgpPa2F5LCBzbyBJIHNlZSBgTlhQV0lGSWAuIFJpZ2h0IG9mZiB0aGUgYmF0LCB0aGF0IHNjcmVhbXMgJiMzNDtOWFAgV2lGaSBkcml2ZXIsJiMzNDsgZG9lc24mIzM5O3QgaXQ/IEJ1dCwgSSBuZWVkIHRvIGNvbmZpcm0gd2hldGhlciB0aGlzIGlzIGEgcmVhbCwgYWN0dWFsIGhhcmR3YXJlIGRyaXZlciBvciBqdXN0IHNvbWUgc3R1YiBvciBwbGFjZWhvbGRlci4gR290dGEgYmUgc3VyZS4KCkxldCYjMzk7cyBkaXZlIGludG8gdGhlIGtlcm5lbCBzb3VyY2UuIE15IGZpcnN0IGluc3RpbmN0IGlzIHRvIGNoZWNrIHRoZSBLY29uZmlnIGZpbGUgaW4gdGhlIGRyaXZlciYjMzk7cyBkaXJlY3RvcnkuIFNwZWNpZmljYWxseSwgSSYjMzk7bSBnb2luZyB0byBsb29rIGZvciBjb25maWd1cmF0aW9ucyB0aGF0IHRpZSBpdCB0byBzcGVjaWZpYyBoYXJkd2FyZSBpbnRlcmZhY2VzLiBJJiMzOTtsbCBuZWVkIHRvIGNvbmZpcm0gd2hhdCBidXMgaW50ZXJmYWNlcyBpdCBzdXBwb3J0cyBhbmQgaG93IHRoZXkgYXJlIGNvbmZpZ3VyZWQuIEkgbmVlZCB0byBtYWtlIHN1cmUgdGhlIGJ1aWxkIG9wdGlvbnMgaW5jbHVkZSB0aGUgdXN1YWwgc3VzcGVjdHM6IGBOWFBXSUZJX1NESU9gLCBgTlhQV0lGSV9QQ0lFYCwgb3IgYE5YUFdJRklfVVNCYC4gSWYgdGhvc2UgYXJlIHByZXNlbnQgYW5kIGNvbmZpZ3VyZWQsIHRoYXQmIzM5O2xsIGdpdmUgbWUgYSBzdHJvbmcgaW5kaWNhdGlvbiB0aGF0IHRoaXMgaXMsIGluIGZhY3QsIGEgY29uY3JldGUgZHJpdmVyIGZvciBhY3R1YWwgTlhQIFdpRmkgaGFyZHdhcmUsIGFuZCBJIGNhbiBzdGFydCB0byB1bmRlcnN0YW5kIHdoaWNoIHNwZWNpZmljIGhhcmR3YXJlIGl0IHN1cHBvcnRzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEzIDA4OjQ4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMTAwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAgIDE6XHQjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcbiAgIDI6XHRjb25maWcgTlhQV0lGSVxuICAgMzpcdFx0dHJpc3RhdGUgXCYjMzQ7TlhQIFdpRmkgRHJpdmVyXCYjMzQ7IGlmIENPTVBJTEVfVEVTVFxuICAgNDpcdFx0ZGVwZW5kcyBvbiBDRkc4MDIxMVxuICAgNTpcdFx0aGVscFxuICAgNjpcdFx0ICBUaGlzIGFkZHMgc3VwcG9ydCBmb3Igd2lyZWxlc3MgYWRhcHRlcnMgYmFzZWQgb24gTlhQXG4gICA3Olx0XHQgIDgwMi4xMW4vYWMgY2hpcHNldHMuXG4gICA4Olx0XG4gICA5Olx0XHQgIElmIHlvdSBjaG9vc2UgdG8gYnVpbGQgaXQgYXMgYSBtb2R1bGUsIGl0IHdpbGwgYmUgY2FsbGVkXG4gIDEwOlx0XHQgIG54cHdpZmkuXG4gIDExOlx0XG4gIDEyOlx0Y29uZmlnIE5YUFdJRklfU0RJT1xuICAxMzpcdFx0dHJpc3RhdGUgXCYjMzQ7TlhQIFdpRmkgRHJpdmVyIGZvciBJVzYxeFwmIzM0O1xuICAxNDpcdFx0ZGVwZW5kcyBvbiBDRkc4MDIxMSBcdTAwMjZcdTAwMjYgTU1DXG4gIDE1Olx0XHRzZWxlY3QgTlhQV0lGSVxuICAxNjpcdFx0c2VsZWN0IEZXX0xPQURFUlxuICAxNzpcdFx0c2VsZWN0IFdBTlRfREVWX0NPUkVEVU1QXG4gIDE4Olx0XHRoZWxwXG4gIDE5Olx0XHQgIFRoaXMgYWRkcyBzdXBwb3J0IGZvciB3aXJlbGVzcyBhZGFwdGVycyBiYXNlZCBvbiBOWFBcbiAgMjA6XHRcdCAgSVc2MXggaW50ZXJmYWNlLlxuICAyMTpcdFxuICAyMjpcdFx0ICBJZiB5b3UgY2hvb3NlIHRvIGJ1aWxkIGl0IGFzIGEgbW9kdWxlLCBpdCB3aWxsIGJlIGNhbGxlZFxuICAyMzpcdFx0ICBueHB3aWZpX3NkaW8uXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTMgMDg6NDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDcyMwoJCQkJCQkJb3V0cHV0OiA5NgoJCQkJCQkJdGhvdWdodHM6IDI1MAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIHRoZSBGdXp6aW5nIFZpYWJpbGl0eSoqCgpPa2F5LCBzbyB0aGlzIGNvZGUgaXMgcGFydCBvZiBhbiBTRElPIGRyaXZlci4gU3BlY2lmaWNhbGx5LCBpdCYjMzk7cyB0aWVkIHRvIHRoZSBOWFAgSVc2MXggY2hpcHNldC4gVGhlIHF1ZXN0aW9uIGlzLCBjYW4gdGhpcyBjb2RlIGJlIHJlYWxpc3RpY2FsbHkgcmVhY2hlZCBkdXJpbmcgZnV6emluZz8gSW4gdGhlIHZhc3QgbWFqb3JpdHkgb2YgbXkgZXhwZXJpZW5jZSwgUUVNVSwgdGhlIHN0YW5kYXJkIHZpcnR1YWwgbWFjaGluZSBmb3IgdGhpcyB0eXBlIG9mIHdvcmssIGRvZXNuJiMzOTt0IGVtdWxhdGUgdGhpcyBwYXJ0aWN1bGFyIE5YUCBTRElPIGhhcmR3YXJlLiBNeSBpbml0aWFsIGluc3RpbmN0IGlzIHRoYXQgaXQmIzM5O3MgaGlnaGx5IHVubGlrZWx5LgoKSSBxdWlja2x5IGNvbnNpZGVyZWQgaWYgdGhlcmUgd2FzIHNvbWUgc3BlY2lhbGl6ZWQgZW11bGF0b3Igb3V0IHRoZXJlIGZvciB0aGUgSVc2MXgsIGJ1dCBpdCYjMzk7cyBub3Qgc29tZXRoaW5nIEkmIzM5O20gYXdhcmUgb2Ygb3IgZXhwZWN0IHRvIGZpbmQuIENvdWxkIG1hYzgwMjExX2h3c2ltIHNvbWVob3cgcHJvdmlkZSBhIHBhdGg/IE5vLCB0aGF0JiMzOTtzIGEgY29tcGxldGVseSBkaWZmZXJlbnQgZHJpdmVyIGFuZCB3b3VsZG4mIzM5O3QgYmUgcmVsZXZhbnQuIFRoaXMgaXMgYSBkZWRpY2F0ZWQgaGFyZHdhcmUgZHJpdmVyLgoKTGV0IG1lIGNvbmZpcm0gdGhhdCB0aGVyZSBpc24mIzM5O3QgYW5vdGhlciBpbnRlcmZhY2UgYmVzaWRlcyBgTlhQV0lGSV9TRElPYC4gWWVwLCB0aGF0JiMzOTtzIHdoYXQgSSB0aG91Z2h0LiBJdCYjMzk7cyBkZWZpbml0ZWx5IGhhcmR3YXJlLXNwZWNpZmljLiBHaXZlbiB0aGF0IFFFTVUgZG9lc24mIzM5O3Qgb2ZmZXIgdGhlIG5lY2Vzc2FyeSBoYXJkd2FyZSBlbXVsYXRpb24sIGFuZCB0aGVyZSBhcmUgbm8gZWFzeSB3b3JrYXJvdW5kcywgSSYjMzk7bSBjb25maWRlbnQgaW4gY29uY2x1ZGluZyB0aGF0IHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGFyZSB1bnJlYWNoYWJsZSBpbiBhIHZpcnR1YWxpemVkIGZ1enppbmcgZW52aXJvbm1lbnQuCgpUaGVyZWZvcmUsIEkmIzM5O20gZ29pbmcgdG8gcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEzIDA4OjQ4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE5YUCBXaUZpIGRyaXZlciAobnhwd2lmaSksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciBOWFAgSVc2MXggU0RJTyBjaGlwc2V0cy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIHNvIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgTlhQIFdpRmkgZHJpdmVyIChueHB3aWZpKSwgd2hpY2ggaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIE5YUCBJVzYxeCBTRElPIGNoaXBzZXRzLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRSwgc28gdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgY2Fubm90IGJlIHJlYWNoZWQgYW5kIHRlc3RlZCBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTMgMDg6NDg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPklmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEzVDA4OjQ4OjM3LjI4NjM3ODUwOVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE3NDAzNTQyMDAwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE5YUCBXaUZpIGRyaXZlciAobnhwd2lmaSksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciBOWFAgSVc2MXggU0RJTyBjaGlwc2V0cy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIHNvIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xM1QwODo0ODozNy4yODYzODQwODlaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM5Mjk1NDM0OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDg0ZTk3ZTJkYTVlYTI2ZTI0YWIyYzU3MzdlOTIzYTk4MjFiM2IzNWJcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFRodSBBdWcgMTMgMDg6NDg6MzYgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpLzExbl9hZ2dyLmNcXG5pbmRleCBiZTcwODBmMmE2Y2U3Li41NDkzM2M0MmM5NjBkIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpLzExbl9hZ2dyLmNcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS8xMW5fYWdnci5jXFxuQEAgLTE2OCw2ICsxNjgsNyBAQCBueHB3aWZpXzExbl9hZ2dyZWdhdGVfcGt0KHN0cnVjdCBueHB3aWZpX3ByaXZhdGUgKnByaXYsXFxuIFxcbiBcXHRcXHRpZiAoIW54cHdpZmlfaXNfcmFsaXN0X3ZhbGlkKHByaXYsIHByYV9saXN0LCBwdHJpbmRleCkpIHtcXG4gXFx0XFx0XFx0c3Bpbl91bmxvY2tfYmgoXFx1MDAyNnByaXYtXFx1MDAzZXdtbS5yYV9saXN0X3NwaW5sb2NrKTtcXG4rXFx0XFx0XFx0bnhwd2lmaV93cml0ZV9kYXRhX2NvbXBsZXRlKGFkYXB0ZXIsIHNrYl9hZ2dyLCAxLCAtMSk7XFxuIFxcdFxcdFxcdHJldHVybiAtRU5PRU5UO1xcbiBcXHRcXHR9XFxuIFxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9jZmc4MDIxMS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvY2ZnODAyMTEuY1xcbmluZGV4IDVjYzhjZGY1OTRkM2UuLjQ2MWUzZTE5NDc0MzggMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvY2ZnODAyMTEuY1xcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2NmZzgwMjExLmNcXG5AQCAtMzcyOSw4ICszNzI5LDkgQEAgaW50IG54cHdpZmlfaW5pdF9jaGFubmVsX3NjYW5fZ2FwKHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpXFxuIFxcdCAqIGFkZGl0aW9uYWwgYWN0aXZlIHNjYW4gcmVxdWVzdCBmb3IgaGlkZGVuIFNTSURzIG9uIHBhc3NpdmUgY2hhbm5lbHMuXFxuIFxcdCAqL1xcbiBcXHRhZGFwdGVyLVxcdTAwM2VudW1faW5fY2hhbl9zdGF0cyA9IDIgKiAobl9jaGFubmVsc19iZyArIG5fY2hhbm5lbHNfYSk7XFxuLVxcdGFkYXB0ZXItXFx1MDAzZWNoYW5fc3RhdHMgPSB2bWFsbG9jKGFycmF5X3NpemUoc2l6ZW9mKCphZGFwdGVyLVxcdTAwM2VjaGFuX3N0YXRzKSxcXG4tXFx0XFx0XFx0XFx0XFx0XFx0IGFkYXB0ZXItXFx1MDAzZW51bV9pbl9jaGFuX3N0YXRzKSk7XFxuK1xcdGFkYXB0ZXItXFx1MDAzZWNoYW5fc3RhdHMgPSBrY2FsbG9jKGFkYXB0ZXItXFx1MDAzZW51bV9pbl9jaGFuX3N0YXRzLFxcbitcXHRcXHRcXHRcXHQgICAgICBzaXplb2YoKmFkYXB0ZXItXFx1MDAzZWNoYW5fc3RhdHMpLFxcbitcXHRcXHRcXHRcXHQgICAgICBHRlBfS0VSTkVMKTtcXG4gXFxuIFxcdGlmICghYWRhcHRlci1cXHUwMDNlY2hhbl9zdGF0cylcXG4gXFx0XFx0cmV0dXJuIC1FTk9NRU07XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuY1xcbmluZGV4IGIxMjhmYzlmZTMxYTIuLjY5YjI3ZmNlNWNlNjUgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvaW5pdC5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvaW5pdC5jXFxuQEAgLTMyOCw3ICszMjgsNyBAQCBzdGF0aWMgdm9pZCBueHB3aWZpX2ludmFsaWRhdGVfbGlzdHMoc3RydWN0IG54cHdpZmlfYWRhcHRlciAqYWRhcHRlcilcXG4gc3RhdGljIHZvaWRcXG4gbnhwd2lmaV9hZGFwdGVyX2NsZWFudXAoc3RydWN0IG54cHdpZmlfYWRhcHRlciAqYWRhcHRlcilcXG4ge1xcbi1cXHR0aW1lcl9kZWxldGUoXFx1MDAyNmFkYXB0ZXItXFx1MDAzZXdha2V1cF90aW1lcik7XFxuK1xcdHRpbWVyX2RlbGV0ZV9zeW5jKFxcdTAwMjZhZGFwdGVyLVxcdTAwM2V3YWtldXBfdGltZXIpO1xcbiBcXHRueHB3aWZpX2NhbmNlbF9hbGxfcGVuZGluZ19jbWQoYWRhcHRlcik7XFxuIFxcdHdha2VfdXBfaW50ZXJydXB0aWJsZShcXHUwMDI2YWRhcHRlci1cXHUwMDNlY21kX3dhaXRfcS53YWl0KTtcXG4gXFx0d2FrZV91cF9pbnRlcnJ1cHRpYmxlKFxcdTAwMjZhZGFwdGVyLVxcdTAwM2Voc19hY3RpdmF0ZV93YWl0X3EpO1xcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9tYWluLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9tYWluLmNcXG5pbmRleCBiNGM2MzgyOTAyNGEwLi5jNWQwNzhiYjQ1OTgzIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL21haW4uY1xcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL21haW4uY1xcbkBAIC02NDQsNyArNjQ0LDcgQEAgc3RhdGljIGludCBfbnhwd2lmaV9md19kcGMoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmaXJtd2FyZSwgdm9pZCAqY29udGV4dClcXG4gXFx0Z290byBkb25lO1xcbiBcXG4gZXJyX2FkZF9pbnRmOlxcbi1cXHR2ZnJlZShhZGFwdGVyLVxcdTAwM2VjaGFuX3N0YXRzKTtcXG4rXFx0a2ZyZWUoYWRhcHRlci1cXHUwMDNlY2hhbl9zdGF0cyk7XFxuIGVycl9pbml0X2NoYW5fc2NhbjpcXG4gXFx0d2lwaHlfdW5yZWdpc3RlcihhZGFwdGVyLVxcdTAwM2V3aXBoeSk7XFxuIFxcdHdpcGh5X2ZyZWUoYWRhcHRlci1cXHUwMDNld2lwaHkpO1xcbkBAIC0xMzg0LDcgKzEzODQsNyBAQCBzdGF0aWMgdm9pZCBueHB3aWZpX3VuaW5pdF9zdyhzdHJ1Y3Qgbnhwd2lmaV9hZGFwdGVyICphZGFwdGVyKVxcbiBcXHR3aXBoeV9mcmVlKGFkYXB0ZXItXFx1MDAzZXdpcGh5KTtcXG4gXFx0YWRhcHRlci1cXHUwMDNld2lwaHkgPSBOVUxMO1xcbiBcXG4tXFx0dmZyZWUoYWRhcHRlci1cXHUwMDNlY2hhbl9zdGF0cyk7XFxuK1xcdGtmcmVlKGFkYXB0ZXItXFx1MDAzZWNoYW5fc3RhdHMpO1xcbiBcXHRueHB3aWZpX2ZyZWVfY21kX2J1ZmZlcnMoYWRhcHRlcik7XFxuIH1cXG4gXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEzVDA4OjQ4OjM3LjY4MDE3MTI5N1oiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjE3MDA5NzMzMTYxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgTlhQIFdpRmkgZHJpdmVyIChueHB3aWZpKSwgd2hpY2ggaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIE5YUCBJVzYxeCBTRElPIGNoaXBzZXRzLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRSwgc28gdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgY2Fubm90IGJlIHJlYWNoZWQgYW5kIHRlc3RlZCBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDg0ZTk3ZTJkYTVlYTI2ZTI0YWIyYzU3MzdlOTIzYTk4MjFiM2IzNWJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEF1ZyAxMyAwODo0ODozNiAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpLzExbl9hZ2dyLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS8xMW5fYWdnci5jXG5pbmRleCBiZTcwODBmMmE2Y2U3Li41NDkzM2M0MmM5NjBkIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuY1xuQEAgLTE2OCw2ICsxNjgsNyBAQCBueHB3aWZpXzExbl9hZ2dyZWdhdGVfcGt0KHN0cnVjdCBueHB3aWZpX3ByaXZhdGUgKnByaXYsXG4gXG4gXHRcdGlmICghbnhwd2lmaV9pc19yYWxpc3RfdmFsaWQocHJpdiwgcHJhX2xpc3QsIHB0cmluZGV4KSkge1xuIFx0XHRcdHNwaW5fdW5sb2NrX2JoKFx1MDAyNnByaXYtXHUwMDNld21tLnJhX2xpc3Rfc3BpbmxvY2spO1xuK1x0XHRcdG54cHdpZmlfd3JpdGVfZGF0YV9jb21wbGV0ZShhZGFwdGVyLCBza2JfYWdnciwgMSwgLTEpO1xuIFx0XHRcdHJldHVybiAtRU5PRU5UO1xuIFx0XHR9XG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvY2ZnODAyMTEuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2NmZzgwMjExLmNcbmluZGV4IDVjYzhjZGY1OTRkM2UuLjQ2MWUzZTE5NDc0MzggMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9jZmc4MDIxMS5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9jZmc4MDIxMS5jXG5AQCAtMzcyOSw4ICszNzI5LDkgQEAgaW50IG54cHdpZmlfaW5pdF9jaGFubmVsX3NjYW5fZ2FwKHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpXG4gXHQgKiBhZGRpdGlvbmFsIGFjdGl2ZSBzY2FuIHJlcXVlc3QgZm9yIGhpZGRlbiBTU0lEcyBvbiBwYXNzaXZlIGNoYW5uZWxzLlxuIFx0ICovXG4gXHRhZGFwdGVyLVx1MDAzZW51bV9pbl9jaGFuX3N0YXRzID0gMiAqIChuX2NoYW5uZWxzX2JnICsgbl9jaGFubmVsc19hKTtcbi1cdGFkYXB0ZXItXHUwMDNlY2hhbl9zdGF0cyA9IHZtYWxsb2MoYXJyYXlfc2l6ZShzaXplb2YoKmFkYXB0ZXItXHUwMDNlY2hhbl9zdGF0cyksXG4tXHRcdFx0XHRcdFx0IGFkYXB0ZXItXHUwMDNlbnVtX2luX2NoYW5fc3RhdHMpKTtcbitcdGFkYXB0ZXItXHUwMDNlY2hhbl9zdGF0cyA9IGtjYWxsb2MoYWRhcHRlci1cdTAwM2VudW1faW5fY2hhbl9zdGF0cyxcbitcdFx0XHRcdCAgICAgIHNpemVvZigqYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKSxcbitcdFx0XHRcdCAgICAgIEdGUF9LRVJORUwpO1xuIFxuIFx0aWYgKCFhZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHMpXG4gXHRcdHJldHVybiAtRU5PTUVNO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuY1xuaW5kZXggYjEyOGZjOWZlMzFhMi4uNjliMjdmY2U1Y2U2NSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvaW5pdC5jXG5AQCAtMzI4LDcgKzMyOCw3IEBAIHN0YXRpYyB2b2lkIG54cHdpZmlfaW52YWxpZGF0ZV9saXN0cyhzdHJ1Y3Qgbnhwd2lmaV9hZGFwdGVyICphZGFwdGVyKVxuIHN0YXRpYyB2b2lkXG4gbnhwd2lmaV9hZGFwdGVyX2NsZWFudXAoc3RydWN0IG54cHdpZmlfYWRhcHRlciAqYWRhcHRlcilcbiB7XG4tXHR0aW1lcl9kZWxldGUoXHUwMDI2YWRhcHRlci1cdTAwM2V3YWtldXBfdGltZXIpO1xuK1x0dGltZXJfZGVsZXRlX3N5bmMoXHUwMDI2YWRhcHRlci1cdTAwM2V3YWtldXBfdGltZXIpO1xuIFx0bnhwd2lmaV9jYW5jZWxfYWxsX3BlbmRpbmdfY21kKGFkYXB0ZXIpO1xuIFx0d2FrZV91cF9pbnRlcnJ1cHRpYmxlKFx1MDAyNmFkYXB0ZXItXHUwMDNlY21kX3dhaXRfcS53YWl0KTtcbiBcdHdha2VfdXBfaW50ZXJydXB0aWJsZShcdTAwMjZhZGFwdGVyLVx1MDAzZWhzX2FjdGl2YXRlX3dhaXRfcSk7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jXG5pbmRleCBiNGM2MzgyOTAyNGEwLi5jNWQwNzhiYjQ1OTgzIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9tYWluLmNcbkBAIC02NDQsNyArNjQ0LDcgQEAgc3RhdGljIGludCBfbnhwd2lmaV9md19kcGMoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmaXJtd2FyZSwgdm9pZCAqY29udGV4dClcbiBcdGdvdG8gZG9uZTtcbiBcbiBlcnJfYWRkX2ludGY6XG4tXHR2ZnJlZShhZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHMpO1xuK1x0a2ZyZWUoYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKTtcbiBlcnJfaW5pdF9jaGFuX3NjYW46XG4gXHR3aXBoeV91bnJlZ2lzdGVyKGFkYXB0ZXItXHUwMDNld2lwaHkpO1xuIFx0d2lwaHlfZnJlZShhZGFwdGVyLVx1MDAzZXdpcGh5KTtcbkBAIC0xMzg0LDcgKzEzODQsNyBAQCBzdGF0aWMgdm9pZCBueHB3aWZpX3VuaW5pdF9zdyhzdHJ1Y3Qgbnhwd2lmaV9hZGFwdGVyICphZGFwdGVyKVxuIFx0d2lwaHlfZnJlZShhZGFwdGVyLVx1MDAzZXdpcGh5KTtcbiBcdGFkYXB0ZXItXHUwMDNld2lwaHkgPSBOVUxMO1xuIFxuLVx0dmZyZWUoYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKTtcbitcdGtmcmVlKGFkYXB0ZXItXHUwMDNlY2hhbl9zdGF0cyk7XG4gXHRueHB3aWZpX2ZyZWVfY21kX2J1ZmZlcnMoYWRhcHRlcik7XG4gfVxuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTNUMDg6NDg6MzcuNjgwMTcyNTI4WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Njk5MzUyMTYwMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBXaS1GaSBEcml2ZXIgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCBhIHBhdGNoIGhlcmUgdGhhdCdzIHRvdWNoaW5nIGEgZmV3IGZpbGVzIHdpdGhpbiB0aGUgTlhQIFdpLUZpIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSAxMW4gYWdncmVnYXRpb24sIGNmZzgwMjExIGludGVncmF0aW9uLCBpbml0aWFsaXphdGlvbiwgYW5kIG1haW4gZHJpdmVyIGZpbGVzLiBJdCBsb29rcyBsaWtlIHdlIGhhdmUgYSBmZXcgaW50ZXJlc3RpbmcgY2hhbmdlcyBoZXJlLlxuXG5GaXJzdCwgd2l0aGluIGBueHB3aWZpXzExbl9hZ2dyZWdhdGVfcGt0YCwgdGhleSdyZSBhZGRpbmcgYSBgbnhwd2lmaV93cml0ZV9kYXRhX2NvbXBsZXRlYCBjYWxsIHdoZW4gYSByZWNlaXZlIGFnZ3JlZ2F0aW9uIGxpc3QgZW50cnkgaXNuJ3QgdmFsaWQuIFRoYXQgbWFrZXMgc2Vuc2UsIGhhbmRsaW5nIHRoZSBlcnJvciBjYXNlIG1vcmUgZ3JhY2VmdWxseS4gSW5zdGVhZCBvZiBqdXN0IHJldHVybmluZyBgLUVOT0VOVGAsIGl0IGlzIG5vdyBub3RpZnlpbmcgb2YgdGhlIGRhdGEgY29tcGxldGlvbiBhbmQgZXJyb3IuXG5cbk5leHQsIGEgc3VidGxlIGJ1dCBpbXBvcnRhbnQgY2hhbmdlIGluIGBueHB3aWZpX2luaXRfY2hhbm5lbF9zY2FuX2dhcGAuIFRoZXkncmUgc3dpdGNoaW5nIGZyb20gYHZtYWxsb2NgIHRvIGBrY2FsbG9jYCBmb3IgYWxsb2NhdGluZyBgYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzYC4gR2l2ZW4gdGhlIGNvbnRleHQsIHRoYXQncyBhbG1vc3QgY2VydGFpbmx5IHRoZSByaWdodCBtb3ZlIGZyb20gYSBtZW1vcnkgbWFuYWdlbWVudCBwZXJzcGVjdGl2ZSwgcHJldmVudGluZyBwb3RlbnRpYWwgZnJhZ21lbnRhdGlvbiBpc3N1ZXMgYW5kIHVzaW5nIGEgbW9yZSBhcHByb3ByaWF0ZSBhbGxvY2F0b3IgZm9yIGtlcm5lbCBtZW1vcnkuIEdvb2QgY2F0Y2guXG5cblRoZSB0aGlyZCBjaGFuZ2UgaXMgaW4gYG54cHdpZmlfYWRhcHRlcl9jbGVhbnVwYCwgYW5kIGl0J3MgYSBgdGltZXJfZGVsZXRlYCB0byBgdGltZXJfZGVsZXRlX3N5bmNgIG9uIHRoZSBgd2FrZXVwX3RpbWVyYC4gVGhhdCdzIGEgY2xhc3NpYyByYWNlIGNvbmRpdGlvbiBmaXg7IGB0aW1lcl9kZWxldGVfc3luY2AgZ3VhcmFudGVlcyB0aGUgdGltZXIgaXMgZGVhY3RpdmF0ZWQgYmVmb3JlIHRoZSBtZW1vcnkgaXMgZnJlZWQuIFNtYXJ0LlxuXG5GaW5hbGx5LCBpbiBgX254cHdpZmlfZndfZHBjYCBhbmQgYG54cHdpZmlfdW5pbml0X3N3YCwgdGhlIGNvZGUgZ29lcyBmcm9tIGB2ZnJlZWAgdG8gYGtmcmVlYCBmb3IgcmVsZWFzaW5nIGBhZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHNgLiBDb25zaXN0ZW50IHdpdGggdGhlIGVhcmxpZXIgYWxsb2NhdGlvbiBjaGFuZ2UsIHRoYXQncyBhIG5lY2Vzc2l0eS5cblxuVGhpcyBwYXRjaCBsb29rcyBsaWtlIGl0J3MgYWRkcmVzc2luZyBzb21lIGNyaXRpY2FsIGlzc3VlcyBhbmQgbWVtb3J5IG1hbmFnZW1lbnQgdGhpbmdzLiBJcyB0aGlzIGRyaXZlciBydW5uaW5nIGluIFFFTVU/IEknbSBjdXJpb3VzLiBJIHNob3VsZCBwcm9iYWJseSBkaWcgaW50byB0aGUgYG54cHdpZmlgIGRyaXZlciBpbiBtb3JlIGRldGFpbC4gTGV0J3MgZmluZCB0aGUgS2NvbmZpZyBmaWxlIGZvciBhIGRlZXBlciB1bmRlcnN0YW5kaW5nIG9mIHdoYXQgaXQncyBhbGwgYWJvdXQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI5NTEsIk91dHB1dFRva2VucyI6MzMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo0NzMsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xM1QwODo0ODo0NC42NzM2OTYwMTlaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDE1NDE5MDksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIE5YUFdJRklcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZzoyOmNvbmZpZyBOWFBXSUZJXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZy0zLVxcdHRyaXN0YXRlIFxcXCJOWFAgV2lGaSBEcml2ZXJcXFwiIGlmIENPTVBJTEVfVEVTVFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZy0xMS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9LY29uZmlnOjEyOmNvbmZpZyBOWFBXSUZJX1NESU9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9LY29uZmlnLTEzLVxcdHRyaXN0YXRlIFxcXCJOWFAgV2lGaSBEcml2ZXIgZm9yIElXNjF4XFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xM1QwODo0ODo0NC43MTUyNDIwNDdaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozOTY2MDQ4NDcyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgc3VtbWFyeSwgYXMgdGhvdWdoIEknbSB0aGlua2luZyB0aHJvdWdoIHRoaXMgbXlzZWxmOlxuXG4qKkludmVzdGlnYXRpbmcgdGhlIGBOWFBXSUZJYCBEcml2ZXIqKlxuXG5Pa2F5LCBzbyBJIHNlZSBgTlhQV0lGSWAuIFJpZ2h0IG9mZiB0aGUgYmF0LCB0aGF0IHNjcmVhbXMgXCJOWFAgV2lGaSBkcml2ZXIsXCIgZG9lc24ndCBpdD8gQnV0LCBJIG5lZWQgdG8gY29uZmlybSB3aGV0aGVyIHRoaXMgaXMgYSByZWFsLCBhY3R1YWwgaGFyZHdhcmUgZHJpdmVyIG9yIGp1c3Qgc29tZSBzdHViIG9yIHBsYWNlaG9sZGVyLiBHb3R0YSBiZSBzdXJlLlxuXG5MZXQncyBkaXZlIGludG8gdGhlIGtlcm5lbCBzb3VyY2UuIE15IGZpcnN0IGluc3RpbmN0IGlzIHRvIGNoZWNrIHRoZSBLY29uZmlnIGZpbGUgaW4gdGhlIGRyaXZlcidzIGRpcmVjdG9yeS4gU3BlY2lmaWNhbGx5LCBJJ20gZ29pbmcgdG8gbG9vayBmb3IgY29uZmlndXJhdGlvbnMgdGhhdCB0aWUgaXQgdG8gc3BlY2lmaWMgaGFyZHdhcmUgaW50ZXJmYWNlcy4gSSdsbCBuZWVkIHRvIGNvbmZpcm0gd2hhdCBidXMgaW50ZXJmYWNlcyBpdCBzdXBwb3J0cyBhbmQgaG93IHRoZXkgYXJlIGNvbmZpZ3VyZWQuIEkgbmVlZCB0byBtYWtlIHN1cmUgdGhlIGJ1aWxkIG9wdGlvbnMgaW5jbHVkZSB0aGUgdXN1YWwgc3VzcGVjdHM6IGBOWFBXSUZJX1NESU9gLCBgTlhQV0lGSV9QQ0lFYCwgb3IgYE5YUFdJRklfVVNCYC4gSWYgdGhvc2UgYXJlIHByZXNlbnQgYW5kIGNvbmZpZ3VyZWQsIHRoYXQnbGwgZ2l2ZSBtZSBhIHN0cm9uZyBpbmRpY2F0aW9uIHRoYXQgdGhpcyBpcywgaW4gZmFjdCwgYSBjb25jcmV0ZSBkcml2ZXIgZm9yIGFjdHVhbCBOWFAgV2lGaSBoYXJkd2FyZSwgYW5kIEkgY2FuIHN0YXJ0IHRvIHVuZGVyc3RhbmQgd2hpY2ggc3BlY2lmaWMgaGFyZHdhcmUgaXQgc3VwcG9ydHMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQwNjYsIk91dHB1dFRva2VucyI6NDIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xM1QwODo0ODo0OC42ODEyOTQwMDlaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MDUyMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9LY29uZmlnXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDEwMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgICAxOlxcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbiAgIDI6XFx0Y29uZmlnIE5YUFdJRklcXG4gICAzOlxcdFxcdHRyaXN0YXRlIFxcXCJOWFAgV2lGaSBEcml2ZXJcXFwiIGlmIENPTVBJTEVfVEVTVFxcbiAgIDQ6XFx0XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMVxcbiAgIDU6XFx0XFx0aGVscFxcbiAgIDY6XFx0XFx0ICBUaGlzIGFkZHMgc3VwcG9ydCBmb3Igd2lyZWxlc3MgYWRhcHRlcnMgYmFzZWQgb24gTlhQXFxuICAgNzpcXHRcXHQgIDgwMi4xMW4vYWMgY2hpcHNldHMuXFxuICAgODpcXHRcXG4gICA5OlxcdFxcdCAgSWYgeW91IGNob29zZSB0byBidWlsZCBpdCBhcyBhIG1vZHVsZSwgaXQgd2lsbCBiZSBjYWxsZWRcXG4gIDEwOlxcdFxcdCAgbnhwd2lmaS5cXG4gIDExOlxcdFxcbiAgMTI6XFx0Y29uZmlnIE5YUFdJRklfU0RJT1xcbiAgMTM6XFx0XFx0dHJpc3RhdGUgXFxcIk5YUCBXaUZpIERyaXZlciBmb3IgSVc2MXhcXFwiXFxuICAxNDpcXHRcXHRkZXBlbmRzIG9uIENGRzgwMjExIFxcdTAwMjZcXHUwMDI2IE1NQ1xcbiAgMTU6XFx0XFx0c2VsZWN0IE5YUFdJRklcXG4gIDE2OlxcdFxcdHNlbGVjdCBGV19MT0FERVJcXG4gIDE3OlxcdFxcdHNlbGVjdCBXQU5UX0RFVl9DT1JFRFVNUFxcbiAgMTg6XFx0XFx0aGVscFxcbiAgMTk6XFx0XFx0ICBUaGlzIGFkZHMgc3VwcG9ydCBmb3Igd2lyZWxlc3MgYWRhcHRlcnMgYmFzZWQgb24gTlhQXFxuICAyMDpcXHRcXHQgIElXNjF4IGludGVyZmFjZS5cXG4gIDIxOlxcdFxcbiAgMjI6XFx0XFx0ICBJZiB5b3UgY2hvb3NlIHRvIGJ1aWxkIGl0IGFzIGEgbW9kdWxlLCBpdCB3aWxsIGJlIGNhbGxlZFxcbiAgMjM6XFx0XFx0ICBueHB3aWZpX3NkaW8uXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEzVDA4OjQ4OjQ4LjY4MTM1NjYwOVoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjYwMDg1MTY0MTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiB0aGUgRnV6emluZyBWaWFiaWxpdHkqKlxuXG5Pa2F5LCBzbyB0aGlzIGNvZGUgaXMgcGFydCBvZiBhbiBTRElPIGRyaXZlci4gU3BlY2lmaWNhbGx5LCBpdCdzIHRpZWQgdG8gdGhlIE5YUCBJVzYxeCBjaGlwc2V0LiBUaGUgcXVlc3Rpb24gaXMsIGNhbiB0aGlzIGNvZGUgYmUgcmVhbGlzdGljYWxseSByZWFjaGVkIGR1cmluZyBmdXp6aW5nPyBJbiB0aGUgdmFzdCBtYWpvcml0eSBvZiBteSBleHBlcmllbmNlLCBRRU1VLCB0aGUgc3RhbmRhcmQgdmlydHVhbCBtYWNoaW5lIGZvciB0aGlzIHR5cGUgb2Ygd29yaywgZG9lc24ndCBlbXVsYXRlIHRoaXMgcGFydGljdWxhciBOWFAgU0RJTyBoYXJkd2FyZS4gTXkgaW5pdGlhbCBpbnN0aW5jdCBpcyB0aGF0IGl0J3MgaGlnaGx5IHVubGlrZWx5LlxuXG5JIHF1aWNrbHkgY29uc2lkZXJlZCBpZiB0aGVyZSB3YXMgc29tZSBzcGVjaWFsaXplZCBlbXVsYXRvciBvdXQgdGhlcmUgZm9yIHRoZSBJVzYxeCwgYnV0IGl0J3Mgbm90IHNvbWV0aGluZyBJJ20gYXdhcmUgb2Ygb3IgZXhwZWN0IHRvIGZpbmQuIENvdWxkIG1hYzgwMjExX2h3c2ltIHNvbWVob3cgcHJvdmlkZSBhIHBhdGg/IE5vLCB0aGF0J3MgYSBjb21wbGV0ZWx5IGRpZmZlcmVudCBkcml2ZXIgYW5kIHdvdWxkbid0IGJlIHJlbGV2YW50LiBUaGlzIGlzIGEgZGVkaWNhdGVkIGhhcmR3YXJlIGRyaXZlci5cblxuTGV0IG1lIGNvbmZpcm0gdGhhdCB0aGVyZSBpc24ndCBhbm90aGVyIGludGVyZmFjZSBiZXNpZGVzIGBOWFBXSUZJX1NESU9gLiBZZXAsIHRoYXQncyB3aGF0IEkgdGhvdWdodC4gSXQncyBkZWZpbml0ZWx5IGhhcmR3YXJlLXNwZWNpZmljLiBHaXZlbiB0aGF0IFFFTVUgZG9lc24ndCBvZmZlciB0aGUgbmVjZXNzYXJ5IGhhcmR3YXJlIGVtdWxhdGlvbiwgYW5kIHRoZXJlIGFyZSBubyBlYXN5IHdvcmthcm91bmRzLCBJJ20gY29uZmlkZW50IGluIGNvbmNsdWRpbmcgdGhhdCB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyBhcmUgdW5yZWFjaGFibGUgaW4gYSB2aXJ0dWFsaXplZCBmdXp6aW5nIGVudmlyb25tZW50LlxuXG5UaGVyZWZvcmUsIEknbSBnb2luZyB0byByZXR1cm4gYFdvcnRoRnV6emluZz1mYWxzZWAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ3MjMsIk91dHB1dFRva2VucyI6OTYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNTAsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xM1QwODo0ODo1NC42ODk4NzU2NzlaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI3MTgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBOWFAgV2lGaSBkcml2ZXIgKG54cHdpZmkpLCB3aGljaCBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgTlhQIElXNjF4IFNESU8gY2hpcHNldHMuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLCBzbyB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyBjYW5ub3QgYmUgcmVhY2hlZCBhbmQgdGVzdGVkIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE5YUCBXaUZpIGRyaXZlciAobnhwd2lmaSksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciBOWFAgSVc2MXggU0RJTyBjaGlwc2V0cy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIHNvIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xM1QwODo0ODo1NC42ODk5MDY2MzlaIiwiU2VxIjo5LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzQ2MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflowb7744[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-13 08:30:17 +0000 UTC FinishedAt: 2026-08-13 08:48:56 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEzIDA4OjQ4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE5YUCBXaUZpIGRyaXZlciAobnhwd2lmaSksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciBOWFAgSVc2MXggU0RJTyBjaGlwc2V0cy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIHNvIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEzIDA4OjQ4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgODRlOTdlMmRhNWVhMjZlMjRhYjJjNTczN2U5MjNhOTgyMWIzYjM1YlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUaHUgQXVnIDEzIDA4OjQ4OjM2IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpLzExbl9hZ2dyLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS8xMW5fYWdnci5jXG5pbmRleCBiZTcwODBmMmE2Y2U3Li41NDkzM2M0MmM5NjBkIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuY1xuQEAgLTE2OCw2ICYjNDM7MTY4LDcgQEAgbnhwd2lmaV8xMW5fYWdncmVnYXRlX3BrdChzdHJ1Y3Qgbnhwd2lmaV9wcml2YXRlICpwcml2LFxuIFxuIFx0XHRpZiAoIW54cHdpZmlfaXNfcmFsaXN0X3ZhbGlkKHByaXYsIHByYV9saXN0LCBwdHJpbmRleCkpIHtcbiBcdFx0XHRzcGluX3VubG9ja19iaChcdTAwMjZwcml2LVx1MDAzZXdtbS5yYV9saXN0X3NwaW5sb2NrKTtcbiYjNDM7XHRcdFx0bnhwd2lmaV93cml0ZV9kYXRhX2NvbXBsZXRlKGFkYXB0ZXIsIHNrYl9hZ2dyLCAxLCAtMSk7XG4gXHRcdFx0cmV0dXJuIC1FTk9FTlQ7XG4gXHRcdH1cbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9jZmc4MDIxMS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvY2ZnODAyMTEuY1xuaW5kZXggNWNjOGNkZjU5NGQzZS4uNDYxZTNlMTk0NzQzOCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2NmZzgwMjExLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2NmZzgwMjExLmNcbkBAIC0zNzI5LDggJiM0MzszNzI5LDkgQEAgaW50IG54cHdpZmlfaW5pdF9jaGFubmVsX3NjYW5fZ2FwKHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpXG4gXHQgKiBhZGRpdGlvbmFsIGFjdGl2ZSBzY2FuIHJlcXVlc3QgZm9yIGhpZGRlbiBTU0lEcyBvbiBwYXNzaXZlIGNoYW5uZWxzLlxuIFx0ICovXG4gXHRhZGFwdGVyLVx1MDAzZW51bV9pbl9jaGFuX3N0YXRzID0gMiAqIChuX2NoYW5uZWxzX2JnICYjNDM7IG5fY2hhbm5lbHNfYSk7XG4tXHRhZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHMgPSB2bWFsbG9jKGFycmF5X3NpemUoc2l6ZW9mKCphZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHMpLFxuLVx0XHRcdFx0XHRcdCBhZGFwdGVyLVx1MDAzZW51bV9pbl9jaGFuX3N0YXRzKSk7XG4mIzQzO1x0YWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzID0ga2NhbGxvYyhhZGFwdGVyLVx1MDAzZW51bV9pbl9jaGFuX3N0YXRzLFxuJiM0MztcdFx0XHRcdCAgICAgIHNpemVvZigqYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKSxcbiYjNDM7XHRcdFx0XHQgICAgICBHRlBfS0VSTkVMKTtcbiBcbiBcdGlmICghYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKVxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9pbml0LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9pbml0LmNcbmluZGV4IGIxMjhmYzlmZTMxYTIuLjY5YjI3ZmNlNWNlNjUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9pbml0LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuY1xuQEAgLTMyOCw3ICYjNDM7MzI4LDcgQEAgc3RhdGljIHZvaWQgbnhwd2lmaV9pbnZhbGlkYXRlX2xpc3RzKHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpXG4gc3RhdGljIHZvaWRcbiBueHB3aWZpX2FkYXB0ZXJfY2xlYW51cChzdHJ1Y3Qgbnhwd2lmaV9hZGFwdGVyICphZGFwdGVyKVxuIHtcbi1cdHRpbWVyX2RlbGV0ZShcdTAwMjZhZGFwdGVyLVx1MDAzZXdha2V1cF90aW1lcik7XG4mIzQzO1x0dGltZXJfZGVsZXRlX3N5bmMoXHUwMDI2YWRhcHRlci1cdTAwM2V3YWtldXBfdGltZXIpO1xuIFx0bnhwd2lmaV9jYW5jZWxfYWxsX3BlbmRpbmdfY21kKGFkYXB0ZXIpO1xuIFx0d2FrZV91cF9pbnRlcnJ1cHRpYmxlKFx1MDAyNmFkYXB0ZXItXHUwMDNlY21kX3dhaXRfcS53YWl0KTtcbiBcdHdha2VfdXBfaW50ZXJydXB0aWJsZShcdTAwMjZhZGFwdGVyLVx1MDAzZWhzX2FjdGl2YXRlX3dhaXRfcSk7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jXG5pbmRleCBiNGM2MzgyOTAyNGEwLi5jNWQwNzhiYjQ1OTgzIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9tYWluLmNcbkBAIC02NDQsNyAmIzQzOzY0NCw3IEBAIHN0YXRpYyBpbnQgX254cHdpZmlfZndfZHBjKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmUsIHZvaWQgKmNvbnRleHQpXG4gXHRnb3RvIGRvbmU7XG4gXG4gZXJyX2FkZF9pbnRmOlxuLVx0dmZyZWUoYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKTtcbiYjNDM7XHRrZnJlZShhZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHMpO1xuIGVycl9pbml0X2NoYW5fc2NhbjpcbiBcdHdpcGh5X3VucmVnaXN0ZXIoYWRhcHRlci1cdTAwM2V3aXBoeSk7XG4gXHR3aXBoeV9mcmVlKGFkYXB0ZXItXHUwMDNld2lwaHkpO1xuQEAgLTEzODQsNyAmIzQzOzEzODQsNyBAQCBzdGF0aWMgdm9pZCBueHB3aWZpX3VuaW5pdF9zdyhzdHJ1Y3Qgbnhwd2lmaV9hZGFwdGVyICphZGFwdGVyKVxuIFx0d2lwaHlfZnJlZShhZGFwdGVyLVx1MDAzZXdpcGh5KTtcbiBcdGFkYXB0ZXItXHUwMDNld2lwaHkgPSBOVUxMO1xuIFxuLVx0dmZyZWUoYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKTtcbiYjNDM7XHRrZnJlZShhZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHMpO1xuIFx0bnhwd2lmaV9mcmVlX2NtZF9idWZmZXJzKGFkYXB0ZXIpO1xuIH1cbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMyAwODo0ODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE5YUCBXaUZpIGRyaXZlciAobnhwd2lmaSksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciBOWFAgSVc2MXggU0RJTyBjaGlwc2V0cy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIHNvIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgODRlOTdlMmRhNWVhMjZlMjRhYjJjNTczN2U5MjNhOTgyMWIzYjM1YgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBUaHUgQXVnIDEzIDA4OjQ4OjM2IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpLzExbl9hZ2dyLmMKaW5kZXggYmU3MDgwZjJhNmNlNy4uNTQ5MzNjNDJjOTYwZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS8xMW5fYWdnci5jCkBAIC0xNjgsNiAmIzQzOzE2OCw3IEBAIG54cHdpZmlfMTFuX2FnZ3JlZ2F0ZV9wa3Qoc3RydWN0IG54cHdpZmlfcHJpdmF0ZSAqcHJpdiwKIAogCQlpZiAoIW54cHdpZmlfaXNfcmFsaXN0X3ZhbGlkKHByaXYsIHByYV9saXN0LCBwdHJpbmRleCkpIHsKIAkJCXNwaW5fdW5sb2NrX2JoKCZhbXA7cHJpdi0mZ3Q7d21tLnJhX2xpc3Rfc3BpbmxvY2spOwomIzQzOwkJCW54cHdpZmlfd3JpdGVfZGF0YV9jb21wbGV0ZShhZGFwdGVyLCBza2JfYWdnciwgMSwgLTEpOwogCQkJcmV0dXJuIC1FTk9FTlQ7CiAJCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvY2ZnODAyMTEuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2NmZzgwMjExLmMKaW5kZXggNWNjOGNkZjU5NGQzZS4uNDYxZTNlMTk0NzQzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvY2ZnODAyMTEuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9jZmc4MDIxMS5jCkBAIC0zNzI5LDggJiM0MzszNzI5LDkgQEAgaW50IG54cHdpZmlfaW5pdF9jaGFubmVsX3NjYW5fZ2FwKHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpCiAJICogYWRkaXRpb25hbCBhY3RpdmUgc2NhbiByZXF1ZXN0IGZvciBoaWRkZW4gU1NJRHMgb24gcGFzc2l2ZSBjaGFubmVscy4KIAkgKi8KIAlhZGFwdGVyLSZndDtudW1faW5fY2hhbl9zdGF0cyA9IDIgKiAobl9jaGFubmVsc19iZyAmIzQzOyBuX2NoYW5uZWxzX2EpOwotCWFkYXB0ZXItJmd0O2NoYW5fc3RhdHMgPSB2bWFsbG9jKGFycmF5X3NpemUoc2l6ZW9mKCphZGFwdGVyLSZndDtjaGFuX3N0YXRzKSwKLQkJCQkJCSBhZGFwdGVyLSZndDtudW1faW5fY2hhbl9zdGF0cykpOwomIzQzOwlhZGFwdGVyLSZndDtjaGFuX3N0YXRzID0ga2NhbGxvYyhhZGFwdGVyLSZndDtudW1faW5fY2hhbl9zdGF0cywKJiM0MzsJCQkJICAgICAgc2l6ZW9mKCphZGFwdGVyLSZndDtjaGFuX3N0YXRzKSwKJiM0MzsJCQkJICAgICAgR0ZQX0tFUk5FTCk7CiAKIAlpZiAoIWFkYXB0ZXItJmd0O2NoYW5fc3RhdHMpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvaW5pdC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvaW5pdC5jCmluZGV4IGIxMjhmYzlmZTMxYTIuLjY5YjI3ZmNlNWNlNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9pbml0LmMKQEAgLTMyOCw3ICYjNDM7MzI4LDcgQEAgc3RhdGljIHZvaWQgbnhwd2lmaV9pbnZhbGlkYXRlX2xpc3RzKHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpCiBzdGF0aWMgdm9pZAogbnhwd2lmaV9hZGFwdGVyX2NsZWFudXAoc3RydWN0IG54cHdpZmlfYWRhcHRlciAqYWRhcHRlcikKIHsKLQl0aW1lcl9kZWxldGUoJmFtcDthZGFwdGVyLSZndDt3YWtldXBfdGltZXIpOwomIzQzOwl0aW1lcl9kZWxldGVfc3luYygmYW1wO2FkYXB0ZXItJmd0O3dha2V1cF90aW1lcik7CiAJbnhwd2lmaV9jYW5jZWxfYWxsX3BlbmRpbmdfY21kKGFkYXB0ZXIpOwogCXdha2VfdXBfaW50ZXJydXB0aWJsZSgmYW1wO2FkYXB0ZXItJmd0O2NtZF93YWl0X3Eud2FpdCk7CiAJd2FrZV91cF9pbnRlcnJ1cHRpYmxlKCZhbXA7YWRhcHRlci0mZ3Q7aHNfYWN0aXZhdGVfd2FpdF9xKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL21haW4uYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL21haW4uYwppbmRleCBiNGM2MzgyOTAyNGEwLi5jNWQwNzhiYjQ1OTgzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9tYWluLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jCkBAIC02NDQsNyAmIzQzOzY0NCw3IEBAIHN0YXRpYyBpbnQgX254cHdpZmlfZndfZHBjKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmUsIHZvaWQgKmNvbnRleHQpCiAJZ290byBkb25lOwogCiBlcnJfYWRkX2ludGY6Ci0JdmZyZWUoYWRhcHRlci0mZ3Q7Y2hhbl9zdGF0cyk7CiYjNDM7CWtmcmVlKGFkYXB0ZXItJmd0O2NoYW5fc3RhdHMpOwogZXJyX2luaXRfY2hhbl9zY2FuOgogCXdpcGh5X3VucmVnaXN0ZXIoYWRhcHRlci0mZ3Q7d2lwaHkpOwogCXdpcGh5X2ZyZWUoYWRhcHRlci0mZ3Q7d2lwaHkpOwpAQCAtMTM4NCw3ICYjNDM7MTM4NCw3IEBAIHN0YXRpYyB2b2lkIG54cHdpZmlfdW5pbml0X3N3KHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpCiAJd2lwaHlfZnJlZShhZGFwdGVyLSZndDt3aXBoeSk7CiAJYWRhcHRlci0mZ3Q7d2lwaHkgPSBOVUxMOwogCi0JdmZyZWUoYWRhcHRlci0mZ3Q7Y2hhbl9zdGF0cyk7CiYjNDM7CWtmcmVlKGFkYXB0ZXItJmd0O2NoYW5fc3RhdHMpOwogCW54cHdpZmlfZnJlZV9jbWRfYnVmZmVycyhhZGFwdGVyKTsKIH0KIAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMyAwODo0ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyOTUxCgkJCQkJCQlvdXRwdXQ6IDMzCgkJCQkJCQl0aG91Z2h0czogNDczCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIFdpLUZpIERyaXZlciBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgYSBwYXRjaCBoZXJlIHRoYXQmIzM5O3MgdG91Y2hpbmcgYSBmZXcgZmlsZXMgd2l0aGluIHRoZSBOWFAgV2ktRmkgZHJpdmVyLCBzcGVjaWZpY2FsbHkgdGhlIDExbiBhZ2dyZWdhdGlvbiwgY2ZnODAyMTEgaW50ZWdyYXRpb24sIGluaXRpYWxpemF0aW9uLCBhbmQgbWFpbiBkcml2ZXIgZmlsZXMuIEl0IGxvb2tzIGxpa2Ugd2UgaGF2ZSBhIGZldyBpbnRlcmVzdGluZyBjaGFuZ2VzIGhlcmUuCgpGaXJzdCwgd2l0aGluIGBueHB3aWZpXzExbl9hZ2dyZWdhdGVfcGt0YCwgdGhleSYjMzk7cmUgYWRkaW5nIGEgYG54cHdpZmlfd3JpdGVfZGF0YV9jb21wbGV0ZWAgY2FsbCB3aGVuIGEgcmVjZWl2ZSBhZ2dyZWdhdGlvbiBsaXN0IGVudHJ5IGlzbiYjMzk7dCB2YWxpZC4gVGhhdCBtYWtlcyBzZW5zZSwgaGFuZGxpbmcgdGhlIGVycm9yIGNhc2UgbW9yZSBncmFjZWZ1bGx5LiBJbnN0ZWFkIG9mIGp1c3QgcmV0dXJuaW5nIGAtRU5PRU5UYCwgaXQgaXMgbm93IG5vdGlmeWluZyBvZiB0aGUgZGF0YSBjb21wbGV0aW9uIGFuZCBlcnJvci4KCk5leHQsIGEgc3VidGxlIGJ1dCBpbXBvcnRhbnQgY2hhbmdlIGluIGBueHB3aWZpX2luaXRfY2hhbm5lbF9zY2FuX2dhcGAuIFRoZXkmIzM5O3JlIHN3aXRjaGluZyBmcm9tIGB2bWFsbG9jYCB0byBga2NhbGxvY2AgZm9yIGFsbG9jYXRpbmcgYGFkYXB0ZXItJmd0O2NoYW5fc3RhdHNgLiBHaXZlbiB0aGUgY29udGV4dCwgdGhhdCYjMzk7cyBhbG1vc3QgY2VydGFpbmx5IHRoZSByaWdodCBtb3ZlIGZyb20gYSBtZW1vcnkgbWFuYWdlbWVudCBwZXJzcGVjdGl2ZSwgcHJldmVudGluZyBwb3RlbnRpYWwgZnJhZ21lbnRhdGlvbiBpc3N1ZXMgYW5kIHVzaW5nIGEgbW9yZSBhcHByb3ByaWF0ZSBhbGxvY2F0b3IgZm9yIGtlcm5lbCBtZW1vcnkuIEdvb2QgY2F0Y2guCgpUaGUgdGhpcmQgY2hhbmdlIGlzIGluIGBueHB3aWZpX2FkYXB0ZXJfY2xlYW51cGAsIGFuZCBpdCYjMzk7cyBhIGB0aW1lcl9kZWxldGVgIHRvIGB0aW1lcl9kZWxldGVfc3luY2Agb24gdGhlIGB3YWtldXBfdGltZXJgLiBUaGF0JiMzOTtzIGEgY2xhc3NpYyByYWNlIGNvbmRpdGlvbiBmaXg7IGB0aW1lcl9kZWxldGVfc3luY2AgZ3VhcmFudGVlcyB0aGUgdGltZXIgaXMgZGVhY3RpdmF0ZWQgYmVmb3JlIHRoZSBtZW1vcnkgaXMgZnJlZWQuIFNtYXJ0LgoKRmluYWxseSwgaW4gYF9ueHB3aWZpX2Z3X2RwY2AgYW5kIGBueHB3aWZpX3VuaW5pdF9zd2AsIHRoZSBjb2RlIGdvZXMgZnJvbSBgdmZyZWVgIHRvIGBrZnJlZWAgZm9yIHJlbGVhc2luZyBgYWRhcHRlci0mZ3Q7Y2hhbl9zdGF0c2AuIENvbnNpc3RlbnQgd2l0aCB0aGUgZWFybGllciBhbGxvY2F0aW9uIGNoYW5nZSwgdGhhdCYjMzk7cyBhIG5lY2Vzc2l0eS4KClRoaXMgcGF0Y2ggbG9va3MgbGlrZSBpdCYjMzk7cyBhZGRyZXNzaW5nIHNvbWUgY3JpdGljYWwgaXNzdWVzIGFuZCBtZW1vcnkgbWFuYWdlbWVudCB0aGluZ3MuIElzIHRoaXMgZHJpdmVyIHJ1bm5pbmcgaW4gUUVNVT8gSSYjMzk7bSBjdXJpb3VzLiBJIHNob3VsZCBwcm9iYWJseSBkaWcgaW50byB0aGUgYG54cHdpZmlgIGRyaXZlciBpbiBtb3JlIGRldGFpbC4gTGV0JiMzOTtzIGZpbmQgdGhlIEtjb25maWcgZmlsZSBmb3IgYSBkZWVwZXIgdW5kZXJzdGFuZGluZyBvZiB3aGF0IGl0JiMzOTtzIGFsbCBhYm91dC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMyAwODo0ODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgTlhQV0lGSSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZzoyOmNvbmZpZyBOWFBXSUZJXG5kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9LY29uZmlnLTMtXHR0cmlzdGF0ZSBcJiMzNDtOWFAgV2lGaSBEcml2ZXJcJiMzNDsgaWYgQ09NUElMRV9URVNUXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZy0xMS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL0tjb25maWc6MTI6Y29uZmlnIE5YUFdJRklfU0RJT1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZy0xMy1cdHRyaXN0YXRlIFwmIzM0O05YUCBXaUZpIERyaXZlciBmb3IgSVc2MXhcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMyAwODo0ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MDY2CgkJCQkJCQlvdXRwdXQ6IDQyCgkJCQkJCQl0aG91Z2h0czogNjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgc3VtbWFyeSwgYXMgdGhvdWdoIEkmIzM5O20gdGhpbmtpbmcgdGhyb3VnaCB0aGlzIG15c2VsZjoKCioqSW52ZXN0aWdhdGluZyB0aGUgYE5YUFdJRklgIERyaXZlcioqCgpPa2F5LCBzbyBJIHNlZSBgTlhQV0lGSWAuIFJpZ2h0IG9mZiB0aGUgYmF0LCB0aGF0IHNjcmVhbXMgJiMzNDtOWFAgV2lGaSBkcml2ZXIsJiMzNDsgZG9lc24mIzM5O3QgaXQ/IEJ1dCwgSSBuZWVkIHRvIGNvbmZpcm0gd2hldGhlciB0aGlzIGlzIGEgcmVhbCwgYWN0dWFsIGhhcmR3YXJlIGRyaXZlciBvciBqdXN0IHNvbWUgc3R1YiBvciBwbGFjZWhvbGRlci4gR290dGEgYmUgc3VyZS4KCkxldCYjMzk7cyBkaXZlIGludG8gdGhlIGtlcm5lbCBzb3VyY2UuIE15IGZpcnN0IGluc3RpbmN0IGlzIHRvIGNoZWNrIHRoZSBLY29uZmlnIGZpbGUgaW4gdGhlIGRyaXZlciYjMzk7cyBkaXJlY3RvcnkuIFNwZWNpZmljYWxseSwgSSYjMzk7bSBnb2luZyB0byBsb29rIGZvciBjb25maWd1cmF0aW9ucyB0aGF0IHRpZSBpdCB0byBzcGVjaWZpYyBoYXJkd2FyZSBpbnRlcmZhY2VzLiBJJiMzOTtsbCBuZWVkIHRvIGNvbmZpcm0gd2hhdCBidXMgaW50ZXJmYWNlcyBpdCBzdXBwb3J0cyBhbmQgaG93IHRoZXkgYXJlIGNvbmZpZ3VyZWQuIEkgbmVlZCB0byBtYWtlIHN1cmUgdGhlIGJ1aWxkIG9wdGlvbnMgaW5jbHVkZSB0aGUgdXN1YWwgc3VzcGVjdHM6IGBOWFBXSUZJX1NESU9gLCBgTlhQV0lGSV9QQ0lFYCwgb3IgYE5YUFdJRklfVVNCYC4gSWYgdGhvc2UgYXJlIHByZXNlbnQgYW5kIGNvbmZpZ3VyZWQsIHRoYXQmIzM5O2xsIGdpdmUgbWUgYSBzdHJvbmcgaW5kaWNhdGlvbiB0aGF0IHRoaXMgaXMsIGluIGZhY3QsIGEgY29uY3JldGUgZHJpdmVyIGZvciBhY3R1YWwgTlhQIFdpRmkgaGFyZHdhcmUsIGFuZCBJIGNhbiBzdGFydCB0byB1bmRlcnN0YW5kIHdoaWNoIHNwZWNpZmljIGhhcmR3YXJlIGl0IHN1cHBvcnRzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEzIDA4OjQ4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMTAwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAgIDE6XHQjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcbiAgIDI6XHRjb25maWcgTlhQV0lGSVxuICAgMzpcdFx0dHJpc3RhdGUgXCYjMzQ7TlhQIFdpRmkgRHJpdmVyXCYjMzQ7IGlmIENPTVBJTEVfVEVTVFxuICAgNDpcdFx0ZGVwZW5kcyBvbiBDRkc4MDIxMVxuICAgNTpcdFx0aGVscFxuICAgNjpcdFx0ICBUaGlzIGFkZHMgc3VwcG9ydCBmb3Igd2lyZWxlc3MgYWRhcHRlcnMgYmFzZWQgb24gTlhQXG4gICA3Olx0XHQgIDgwMi4xMW4vYWMgY2hpcHNldHMuXG4gICA4Olx0XG4gICA5Olx0XHQgIElmIHlvdSBjaG9vc2UgdG8gYnVpbGQgaXQgYXMgYSBtb2R1bGUsIGl0IHdpbGwgYmUgY2FsbGVkXG4gIDEwOlx0XHQgIG54cHdpZmkuXG4gIDExOlx0XG4gIDEyOlx0Y29uZmlnIE5YUFdJRklfU0RJT1xuICAxMzpcdFx0dHJpc3RhdGUgXCYjMzQ7TlhQIFdpRmkgRHJpdmVyIGZvciBJVzYxeFwmIzM0O1xuICAxNDpcdFx0ZGVwZW5kcyBvbiBDRkc4MDIxMSBcdTAwMjZcdTAwMjYgTU1DXG4gIDE1Olx0XHRzZWxlY3QgTlhQV0lGSVxuICAxNjpcdFx0c2VsZWN0IEZXX0xPQURFUlxuICAxNzpcdFx0c2VsZWN0IFdBTlRfREVWX0NPUkVEVU1QXG4gIDE4Olx0XHRoZWxwXG4gIDE5Olx0XHQgIFRoaXMgYWRkcyBzdXBwb3J0IGZvciB3aXJlbGVzcyBhZGFwdGVycyBiYXNlZCBvbiBOWFBcbiAgMjA6XHRcdCAgSVc2MXggaW50ZXJmYWNlLlxuICAyMTpcdFxuICAyMjpcdFx0ICBJZiB5b3UgY2hvb3NlIHRvIGJ1aWxkIGl0IGFzIGEgbW9kdWxlLCBpdCB3aWxsIGJlIGNhbGxlZFxuICAyMzpcdFx0ICBueHB3aWZpX3NkaW8uXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTMgMDg6NDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDcyMwoJCQkJCQkJb3V0cHV0OiA5NgoJCQkJCQkJdGhvdWdodHM6IDI1MAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIHRoZSBGdXp6aW5nIFZpYWJpbGl0eSoqCgpPa2F5LCBzbyB0aGlzIGNvZGUgaXMgcGFydCBvZiBhbiBTRElPIGRyaXZlci4gU3BlY2lmaWNhbGx5LCBpdCYjMzk7cyB0aWVkIHRvIHRoZSBOWFAgSVc2MXggY2hpcHNldC4gVGhlIHF1ZXN0aW9uIGlzLCBjYW4gdGhpcyBjb2RlIGJlIHJlYWxpc3RpY2FsbHkgcmVhY2hlZCBkdXJpbmcgZnV6emluZz8gSW4gdGhlIHZhc3QgbWFqb3JpdHkgb2YgbXkgZXhwZXJpZW5jZSwgUUVNVSwgdGhlIHN0YW5kYXJkIHZpcnR1YWwgbWFjaGluZSBmb3IgdGhpcyB0eXBlIG9mIHdvcmssIGRvZXNuJiMzOTt0IGVtdWxhdGUgdGhpcyBwYXJ0aWN1bGFyIE5YUCBTRElPIGhhcmR3YXJlLiBNeSBpbml0aWFsIGluc3RpbmN0IGlzIHRoYXQgaXQmIzM5O3MgaGlnaGx5IHVubGlrZWx5LgoKSSBxdWlja2x5IGNvbnNpZGVyZWQgaWYgdGhlcmUgd2FzIHNvbWUgc3BlY2lhbGl6ZWQgZW11bGF0b3Igb3V0IHRoZXJlIGZvciB0aGUgSVc2MXgsIGJ1dCBpdCYjMzk7cyBub3Qgc29tZXRoaW5nIEkmIzM5O20gYXdhcmUgb2Ygb3IgZXhwZWN0IHRvIGZpbmQuIENvdWxkIG1hYzgwMjExX2h3c2ltIHNvbWVob3cgcHJvdmlkZSBhIHBhdGg/IE5vLCB0aGF0JiMzOTtzIGEgY29tcGxldGVseSBkaWZmZXJlbnQgZHJpdmVyIGFuZCB3b3VsZG4mIzM5O3QgYmUgcmVsZXZhbnQuIFRoaXMgaXMgYSBkZWRpY2F0ZWQgaGFyZHdhcmUgZHJpdmVyLgoKTGV0IG1lIGNvbmZpcm0gdGhhdCB0aGVyZSBpc24mIzM5O3QgYW5vdGhlciBpbnRlcmZhY2UgYmVzaWRlcyBgTlhQV0lGSV9TRElPYC4gWWVwLCB0aGF0JiMzOTtzIHdoYXQgSSB0aG91Z2h0LiBJdCYjMzk7cyBkZWZpbml0ZWx5IGhhcmR3YXJlLXNwZWNpZmljLiBHaXZlbiB0aGF0IFFFTVUgZG9lc24mIzM5O3Qgb2ZmZXIgdGhlIG5lY2Vzc2FyeSBoYXJkd2FyZSBlbXVsYXRpb24sIGFuZCB0aGVyZSBhcmUgbm8gZWFzeSB3b3JrYXJvdW5kcywgSSYjMzk7bSBjb25maWRlbnQgaW4gY29uY2x1ZGluZyB0aGF0IHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGFyZSB1bnJlYWNoYWJsZSBpbiBhIHZpcnR1YWxpemVkIGZ1enppbmcgZW52aXJvbm1lbnQuCgpUaGVyZWZvcmUsIEkmIzM5O20gZ29pbmcgdG8gcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEzIDA4OjQ4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE5YUCBXaUZpIGRyaXZlciAobnhwd2lmaSksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciBOWFAgSVc2MXggU0RJTyBjaGlwc2V0cy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIHNvIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgTlhQIFdpRmkgZHJpdmVyIChueHB3aWZpKSwgd2hpY2ggaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIE5YUCBJVzYxeCBTRElPIGNoaXBzZXRzLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRSwgc28gdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgY2Fubm90IGJlIHJlYWNoZWQgYW5kIHRlc3RlZCBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTMgMDg6NDg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPklmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEzVDA4OjQ4OjM3LjI4NjM3ODUwOVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE3NDAzNTQyMDAwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE5YUCBXaUZpIGRyaXZlciAobnhwd2lmaSksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciBOWFAgSVc2MXggU0RJTyBjaGlwc2V0cy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIHNvIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xM1QwODo0ODozNy4yODYzODQwODlaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM5Mjk1NDM0OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDg0ZTk3ZTJkYTVlYTI2ZTI0YWIyYzU3MzdlOTIzYTk4MjFiM2IzNWJcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFRodSBBdWcgMTMgMDg6NDg6MzYgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpLzExbl9hZ2dyLmNcXG5pbmRleCBiZTcwODBmMmE2Y2U3Li41NDkzM2M0MmM5NjBkIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpLzExbl9hZ2dyLmNcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS8xMW5fYWdnci5jXFxuQEAgLTE2OCw2ICsxNjgsNyBAQCBueHB3aWZpXzExbl9hZ2dyZWdhdGVfcGt0KHN0cnVjdCBueHB3aWZpX3ByaXZhdGUgKnByaXYsXFxuIFxcbiBcXHRcXHRpZiAoIW54cHdpZmlfaXNfcmFsaXN0X3ZhbGlkKHByaXYsIHByYV9saXN0LCBwdHJpbmRleCkpIHtcXG4gXFx0XFx0XFx0c3Bpbl91bmxvY2tfYmgoXFx1MDAyNnByaXYtXFx1MDAzZXdtbS5yYV9saXN0X3NwaW5sb2NrKTtcXG4rXFx0XFx0XFx0bnhwd2lmaV93cml0ZV9kYXRhX2NvbXBsZXRlKGFkYXB0ZXIsIHNrYl9hZ2dyLCAxLCAtMSk7XFxuIFxcdFxcdFxcdHJldHVybiAtRU5PRU5UO1xcbiBcXHRcXHR9XFxuIFxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9jZmc4MDIxMS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvY2ZnODAyMTEuY1xcbmluZGV4IDVjYzhjZGY1OTRkM2UuLjQ2MWUzZTE5NDc0MzggMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvY2ZnODAyMTEuY1xcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2NmZzgwMjExLmNcXG5AQCAtMzcyOSw4ICszNzI5LDkgQEAgaW50IG54cHdpZmlfaW5pdF9jaGFubmVsX3NjYW5fZ2FwKHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpXFxuIFxcdCAqIGFkZGl0aW9uYWwgYWN0aXZlIHNjYW4gcmVxdWVzdCBmb3IgaGlkZGVuIFNTSURzIG9uIHBhc3NpdmUgY2hhbm5lbHMuXFxuIFxcdCAqL1xcbiBcXHRhZGFwdGVyLVxcdTAwM2VudW1faW5fY2hhbl9zdGF0cyA9IDIgKiAobl9jaGFubmVsc19iZyArIG5fY2hhbm5lbHNfYSk7XFxuLVxcdGFkYXB0ZXItXFx1MDAzZWNoYW5fc3RhdHMgPSB2bWFsbG9jKGFycmF5X3NpemUoc2l6ZW9mKCphZGFwdGVyLVxcdTAwM2VjaGFuX3N0YXRzKSxcXG4tXFx0XFx0XFx0XFx0XFx0XFx0IGFkYXB0ZXItXFx1MDAzZW51bV9pbl9jaGFuX3N0YXRzKSk7XFxuK1xcdGFkYXB0ZXItXFx1MDAzZWNoYW5fc3RhdHMgPSBrY2FsbG9jKGFkYXB0ZXItXFx1MDAzZW51bV9pbl9jaGFuX3N0YXRzLFxcbitcXHRcXHRcXHRcXHQgICAgICBzaXplb2YoKmFkYXB0ZXItXFx1MDAzZWNoYW5fc3RhdHMpLFxcbitcXHRcXHRcXHRcXHQgICAgICBHRlBfS0VSTkVMKTtcXG4gXFxuIFxcdGlmICghYWRhcHRlci1cXHUwMDNlY2hhbl9zdGF0cylcXG4gXFx0XFx0cmV0dXJuIC1FTk9NRU07XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuY1xcbmluZGV4IGIxMjhmYzlmZTMxYTIuLjY5YjI3ZmNlNWNlNjUgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvaW5pdC5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvaW5pdC5jXFxuQEAgLTMyOCw3ICszMjgsNyBAQCBzdGF0aWMgdm9pZCBueHB3aWZpX2ludmFsaWRhdGVfbGlzdHMoc3RydWN0IG54cHdpZmlfYWRhcHRlciAqYWRhcHRlcilcXG4gc3RhdGljIHZvaWRcXG4gbnhwd2lmaV9hZGFwdGVyX2NsZWFudXAoc3RydWN0IG54cHdpZmlfYWRhcHRlciAqYWRhcHRlcilcXG4ge1xcbi1cXHR0aW1lcl9kZWxldGUoXFx1MDAyNmFkYXB0ZXItXFx1MDAzZXdha2V1cF90aW1lcik7XFxuK1xcdHRpbWVyX2RlbGV0ZV9zeW5jKFxcdTAwMjZhZGFwdGVyLVxcdTAwM2V3YWtldXBfdGltZXIpO1xcbiBcXHRueHB3aWZpX2NhbmNlbF9hbGxfcGVuZGluZ19jbWQoYWRhcHRlcik7XFxuIFxcdHdha2VfdXBfaW50ZXJydXB0aWJsZShcXHUwMDI2YWRhcHRlci1cXHUwMDNlY21kX3dhaXRfcS53YWl0KTtcXG4gXFx0d2FrZV91cF9pbnRlcnJ1cHRpYmxlKFxcdTAwMjZhZGFwdGVyLVxcdTAwM2Voc19hY3RpdmF0ZV93YWl0X3EpO1xcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9tYWluLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9tYWluLmNcXG5pbmRleCBiNGM2MzgyOTAyNGEwLi5jNWQwNzhiYjQ1OTgzIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL21haW4uY1xcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL21haW4uY1xcbkBAIC02NDQsNyArNjQ0LDcgQEAgc3RhdGljIGludCBfbnhwd2lmaV9md19kcGMoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmaXJtd2FyZSwgdm9pZCAqY29udGV4dClcXG4gXFx0Z290byBkb25lO1xcbiBcXG4gZXJyX2FkZF9pbnRmOlxcbi1cXHR2ZnJlZShhZGFwdGVyLVxcdTAwM2VjaGFuX3N0YXRzKTtcXG4rXFx0a2ZyZWUoYWRhcHRlci1cXHUwMDNlY2hhbl9zdGF0cyk7XFxuIGVycl9pbml0X2NoYW5fc2NhbjpcXG4gXFx0d2lwaHlfdW5yZWdpc3RlcihhZGFwdGVyLVxcdTAwM2V3aXBoeSk7XFxuIFxcdHdpcGh5X2ZyZWUoYWRhcHRlci1cXHUwMDNld2lwaHkpO1xcbkBAIC0xMzg0LDcgKzEzODQsNyBAQCBzdGF0aWMgdm9pZCBueHB3aWZpX3VuaW5pdF9zdyhzdHJ1Y3Qgbnhwd2lmaV9hZGFwdGVyICphZGFwdGVyKVxcbiBcXHR3aXBoeV9mcmVlKGFkYXB0ZXItXFx1MDAzZXdpcGh5KTtcXG4gXFx0YWRhcHRlci1cXHUwMDNld2lwaHkgPSBOVUxMO1xcbiBcXG4tXFx0dmZyZWUoYWRhcHRlci1cXHUwMDNlY2hhbl9zdGF0cyk7XFxuK1xcdGtmcmVlKGFkYXB0ZXItXFx1MDAzZWNoYW5fc3RhdHMpO1xcbiBcXHRueHB3aWZpX2ZyZWVfY21kX2J1ZmZlcnMoYWRhcHRlcik7XFxuIH1cXG4gXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEzVDA4OjQ4OjM3LjY4MDE3MTI5N1oiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjE3MDA5NzMzMTYxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgTlhQIFdpRmkgZHJpdmVyIChueHB3aWZpKSwgd2hpY2ggaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIE5YUCBJVzYxeCBTRElPIGNoaXBzZXRzLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRSwgc28gdGhlIG1vZGlmaWVkIGNvZGUgcGF0aHMgY2Fubm90IGJlIHJlYWNoZWQgYW5kIHRlc3RlZCBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDg0ZTk3ZTJkYTVlYTI2ZTI0YWIyYzU3MzdlOTIzYTk4MjFiM2IzNWJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEF1ZyAxMyAwODo0ODozNiAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpLzExbl9hZ2dyLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS8xMW5fYWdnci5jXG5pbmRleCBiZTcwODBmMmE2Y2U3Li41NDkzM2M0MmM5NjBkIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvMTFuX2FnZ3IuY1xuQEAgLTE2OCw2ICsxNjgsNyBAQCBueHB3aWZpXzExbl9hZ2dyZWdhdGVfcGt0KHN0cnVjdCBueHB3aWZpX3ByaXZhdGUgKnByaXYsXG4gXG4gXHRcdGlmICghbnhwd2lmaV9pc19yYWxpc3RfdmFsaWQocHJpdiwgcHJhX2xpc3QsIHB0cmluZGV4KSkge1xuIFx0XHRcdHNwaW5fdW5sb2NrX2JoKFx1MDAyNnByaXYtXHUwMDNld21tLnJhX2xpc3Rfc3BpbmxvY2spO1xuK1x0XHRcdG54cHdpZmlfd3JpdGVfZGF0YV9jb21wbGV0ZShhZGFwdGVyLCBza2JfYWdnciwgMSwgLTEpO1xuIFx0XHRcdHJldHVybiAtRU5PRU5UO1xuIFx0XHR9XG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvY2ZnODAyMTEuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2NmZzgwMjExLmNcbmluZGV4IDVjYzhjZGY1OTRkM2UuLjQ2MWUzZTE5NDc0MzggMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9jZmc4MDIxMS5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9jZmc4MDIxMS5jXG5AQCAtMzcyOSw4ICszNzI5LDkgQEAgaW50IG54cHdpZmlfaW5pdF9jaGFubmVsX3NjYW5fZ2FwKHN0cnVjdCBueHB3aWZpX2FkYXB0ZXIgKmFkYXB0ZXIpXG4gXHQgKiBhZGRpdGlvbmFsIGFjdGl2ZSBzY2FuIHJlcXVlc3QgZm9yIGhpZGRlbiBTU0lEcyBvbiBwYXNzaXZlIGNoYW5uZWxzLlxuIFx0ICovXG4gXHRhZGFwdGVyLVx1MDAzZW51bV9pbl9jaGFuX3N0YXRzID0gMiAqIChuX2NoYW5uZWxzX2JnICsgbl9jaGFubmVsc19hKTtcbi1cdGFkYXB0ZXItXHUwMDNlY2hhbl9zdGF0cyA9IHZtYWxsb2MoYXJyYXlfc2l6ZShzaXplb2YoKmFkYXB0ZXItXHUwMDNlY2hhbl9zdGF0cyksXG4tXHRcdFx0XHRcdFx0IGFkYXB0ZXItXHUwMDNlbnVtX2luX2NoYW5fc3RhdHMpKTtcbitcdGFkYXB0ZXItXHUwMDNlY2hhbl9zdGF0cyA9IGtjYWxsb2MoYWRhcHRlci1cdTAwM2VudW1faW5fY2hhbl9zdGF0cyxcbitcdFx0XHRcdCAgICAgIHNpemVvZigqYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKSxcbitcdFx0XHRcdCAgICAgIEdGUF9LRVJORUwpO1xuIFxuIFx0aWYgKCFhZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHMpXG4gXHRcdHJldHVybiAtRU5PTUVNO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuY1xuaW5kZXggYjEyOGZjOWZlMzFhMi4uNjliMjdmY2U1Y2U2NSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL254cC9ueHB3aWZpL2luaXQuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvaW5pdC5jXG5AQCAtMzI4LDcgKzMyOCw3IEBAIHN0YXRpYyB2b2lkIG54cHdpZmlfaW52YWxpZGF0ZV9saXN0cyhzdHJ1Y3Qgbnhwd2lmaV9hZGFwdGVyICphZGFwdGVyKVxuIHN0YXRpYyB2b2lkXG4gbnhwd2lmaV9hZGFwdGVyX2NsZWFudXAoc3RydWN0IG54cHdpZmlfYWRhcHRlciAqYWRhcHRlcilcbiB7XG4tXHR0aW1lcl9kZWxldGUoXHUwMDI2YWRhcHRlci1cdTAwM2V3YWtldXBfdGltZXIpO1xuK1x0dGltZXJfZGVsZXRlX3N5bmMoXHUwMDI2YWRhcHRlci1cdTAwM2V3YWtldXBfdGltZXIpO1xuIFx0bnhwd2lmaV9jYW5jZWxfYWxsX3BlbmRpbmdfY21kKGFkYXB0ZXIpO1xuIFx0d2FrZV91cF9pbnRlcnJ1cHRpYmxlKFx1MDAyNmFkYXB0ZXItXHUwMDNlY21kX3dhaXRfcS53YWl0KTtcbiBcdHdha2VfdXBfaW50ZXJydXB0aWJsZShcdTAwMjZhZGFwdGVyLVx1MDAzZWhzX2FjdGl2YXRlX3dhaXRfcSk7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jXG5pbmRleCBiNGM2MzgyOTAyNGEwLi5jNWQwNzhiYjQ1OTgzIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvbWFpbi5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9tYWluLmNcbkBAIC02NDQsNyArNjQ0LDcgQEAgc3RhdGljIGludCBfbnhwd2lmaV9md19kcGMoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmaXJtd2FyZSwgdm9pZCAqY29udGV4dClcbiBcdGdvdG8gZG9uZTtcbiBcbiBlcnJfYWRkX2ludGY6XG4tXHR2ZnJlZShhZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHMpO1xuK1x0a2ZyZWUoYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKTtcbiBlcnJfaW5pdF9jaGFuX3NjYW46XG4gXHR3aXBoeV91bnJlZ2lzdGVyKGFkYXB0ZXItXHUwMDNld2lwaHkpO1xuIFx0d2lwaHlfZnJlZShhZGFwdGVyLVx1MDAzZXdpcGh5KTtcbkBAIC0xMzg0LDcgKzEzODQsNyBAQCBzdGF0aWMgdm9pZCBueHB3aWZpX3VuaW5pdF9zdyhzdHJ1Y3Qgbnhwd2lmaV9hZGFwdGVyICphZGFwdGVyKVxuIFx0d2lwaHlfZnJlZShhZGFwdGVyLVx1MDAzZXdpcGh5KTtcbiBcdGFkYXB0ZXItXHUwMDNld2lwaHkgPSBOVUxMO1xuIFxuLVx0dmZyZWUoYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzKTtcbitcdGtmcmVlKGFkYXB0ZXItXHUwMDNlY2hhbl9zdGF0cyk7XG4gXHRueHB3aWZpX2ZyZWVfY21kX2J1ZmZlcnMoYWRhcHRlcik7XG4gfVxuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTNUMDg6NDg6MzcuNjgwMTcyNTI4WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Njk5MzUyMTYwMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBXaS1GaSBEcml2ZXIgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCBhIHBhdGNoIGhlcmUgdGhhdCdzIHRvdWNoaW5nIGEgZmV3IGZpbGVzIHdpdGhpbiB0aGUgTlhQIFdpLUZpIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSAxMW4gYWdncmVnYXRpb24sIGNmZzgwMjExIGludGVncmF0aW9uLCBpbml0aWFsaXphdGlvbiwgYW5kIG1haW4gZHJpdmVyIGZpbGVzLiBJdCBsb29rcyBsaWtlIHdlIGhhdmUgYSBmZXcgaW50ZXJlc3RpbmcgY2hhbmdlcyBoZXJlLlxuXG5GaXJzdCwgd2l0aGluIGBueHB3aWZpXzExbl9hZ2dyZWdhdGVfcGt0YCwgdGhleSdyZSBhZGRpbmcgYSBgbnhwd2lmaV93cml0ZV9kYXRhX2NvbXBsZXRlYCBjYWxsIHdoZW4gYSByZWNlaXZlIGFnZ3JlZ2F0aW9uIGxpc3QgZW50cnkgaXNuJ3QgdmFsaWQuIFRoYXQgbWFrZXMgc2Vuc2UsIGhhbmRsaW5nIHRoZSBlcnJvciBjYXNlIG1vcmUgZ3JhY2VmdWxseS4gSW5zdGVhZCBvZiBqdXN0IHJldHVybmluZyBgLUVOT0VOVGAsIGl0IGlzIG5vdyBub3RpZnlpbmcgb2YgdGhlIGRhdGEgY29tcGxldGlvbiBhbmQgZXJyb3IuXG5cbk5leHQsIGEgc3VidGxlIGJ1dCBpbXBvcnRhbnQgY2hhbmdlIGluIGBueHB3aWZpX2luaXRfY2hhbm5lbF9zY2FuX2dhcGAuIFRoZXkncmUgc3dpdGNoaW5nIGZyb20gYHZtYWxsb2NgIHRvIGBrY2FsbG9jYCBmb3IgYWxsb2NhdGluZyBgYWRhcHRlci1cdTAwM2VjaGFuX3N0YXRzYC4gR2l2ZW4gdGhlIGNvbnRleHQsIHRoYXQncyBhbG1vc3QgY2VydGFpbmx5IHRoZSByaWdodCBtb3ZlIGZyb20gYSBtZW1vcnkgbWFuYWdlbWVudCBwZXJzcGVjdGl2ZSwgcHJldmVudGluZyBwb3RlbnRpYWwgZnJhZ21lbnRhdGlvbiBpc3N1ZXMgYW5kIHVzaW5nIGEgbW9yZSBhcHByb3ByaWF0ZSBhbGxvY2F0b3IgZm9yIGtlcm5lbCBtZW1vcnkuIEdvb2QgY2F0Y2guXG5cblRoZSB0aGlyZCBjaGFuZ2UgaXMgaW4gYG54cHdpZmlfYWRhcHRlcl9jbGVhbnVwYCwgYW5kIGl0J3MgYSBgdGltZXJfZGVsZXRlYCB0byBgdGltZXJfZGVsZXRlX3N5bmNgIG9uIHRoZSBgd2FrZXVwX3RpbWVyYC4gVGhhdCdzIGEgY2xhc3NpYyByYWNlIGNvbmRpdGlvbiBmaXg7IGB0aW1lcl9kZWxldGVfc3luY2AgZ3VhcmFudGVlcyB0aGUgdGltZXIgaXMgZGVhY3RpdmF0ZWQgYmVmb3JlIHRoZSBtZW1vcnkgaXMgZnJlZWQuIFNtYXJ0LlxuXG5GaW5hbGx5LCBpbiBgX254cHdpZmlfZndfZHBjYCBhbmQgYG54cHdpZmlfdW5pbml0X3N3YCwgdGhlIGNvZGUgZ29lcyBmcm9tIGB2ZnJlZWAgdG8gYGtmcmVlYCBmb3IgcmVsZWFzaW5nIGBhZGFwdGVyLVx1MDAzZWNoYW5fc3RhdHNgLiBDb25zaXN0ZW50IHdpdGggdGhlIGVhcmxpZXIgYWxsb2NhdGlvbiBjaGFuZ2UsIHRoYXQncyBhIG5lY2Vzc2l0eS5cblxuVGhpcyBwYXRjaCBsb29rcyBsaWtlIGl0J3MgYWRkcmVzc2luZyBzb21lIGNyaXRpY2FsIGlzc3VlcyBhbmQgbWVtb3J5IG1hbmFnZW1lbnQgdGhpbmdzLiBJcyB0aGlzIGRyaXZlciBydW5uaW5nIGluIFFFTVU/IEknbSBjdXJpb3VzLiBJIHNob3VsZCBwcm9iYWJseSBkaWcgaW50byB0aGUgYG54cHdpZmlgIGRyaXZlciBpbiBtb3JlIGRldGFpbC4gTGV0J3MgZmluZCB0aGUgS2NvbmZpZyBmaWxlIGZvciBhIGRlZXBlciB1bmRlcnN0YW5kaW5nIG9mIHdoYXQgaXQncyBhbGwgYWJvdXQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI5NTEsIk91dHB1dFRva2VucyI6MzMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo0NzMsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xM1QwODo0ODo0NC42NzM2OTYwMTlaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDE1NDE5MDksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIE5YUFdJRklcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZzoyOmNvbmZpZyBOWFBXSUZJXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZy0zLVxcdHRyaXN0YXRlIFxcXCJOWFAgV2lGaSBEcml2ZXJcXFwiIGlmIENPTVBJTEVfVEVTVFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbnhwL254cHdpZmkvS2NvbmZpZy0xMS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9LY29uZmlnOjEyOmNvbmZpZyBOWFBXSUZJX1NESU9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9LY29uZmlnLTEzLVxcdHRyaXN0YXRlIFxcXCJOWFAgV2lGaSBEcml2ZXIgZm9yIElXNjF4XFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xM1QwODo0ODo0NC43MTUyNDIwNDdaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozOTY2MDQ4NDcyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgc3VtbWFyeSwgYXMgdGhvdWdoIEknbSB0aGlua2luZyB0aHJvdWdoIHRoaXMgbXlzZWxmOlxuXG4qKkludmVzdGlnYXRpbmcgdGhlIGBOWFBXSUZJYCBEcml2ZXIqKlxuXG5Pa2F5LCBzbyBJIHNlZSBgTlhQV0lGSWAuIFJpZ2h0IG9mZiB0aGUgYmF0LCB0aGF0IHNjcmVhbXMgXCJOWFAgV2lGaSBkcml2ZXIsXCIgZG9lc24ndCBpdD8gQnV0LCBJIG5lZWQgdG8gY29uZmlybSB3aGV0aGVyIHRoaXMgaXMgYSByZWFsLCBhY3R1YWwgaGFyZHdhcmUgZHJpdmVyIG9yIGp1c3Qgc29tZSBzdHViIG9yIHBsYWNlaG9sZGVyLiBHb3R0YSBiZSBzdXJlLlxuXG5MZXQncyBkaXZlIGludG8gdGhlIGtlcm5lbCBzb3VyY2UuIE15IGZpcnN0IGluc3RpbmN0IGlzIHRvIGNoZWNrIHRoZSBLY29uZmlnIGZpbGUgaW4gdGhlIGRyaXZlcidzIGRpcmVjdG9yeS4gU3BlY2lmaWNhbGx5LCBJJ20gZ29pbmcgdG8gbG9vayBmb3IgY29uZmlndXJhdGlvbnMgdGhhdCB0aWUgaXQgdG8gc3BlY2lmaWMgaGFyZHdhcmUgaW50ZXJmYWNlcy4gSSdsbCBuZWVkIHRvIGNvbmZpcm0gd2hhdCBidXMgaW50ZXJmYWNlcyBpdCBzdXBwb3J0cyBhbmQgaG93IHRoZXkgYXJlIGNvbmZpZ3VyZWQuIEkgbmVlZCB0byBtYWtlIHN1cmUgdGhlIGJ1aWxkIG9wdGlvbnMgaW5jbHVkZSB0aGUgdXN1YWwgc3VzcGVjdHM6IGBOWFBXSUZJX1NESU9gLCBgTlhQV0lGSV9QQ0lFYCwgb3IgYE5YUFdJRklfVVNCYC4gSWYgdGhvc2UgYXJlIHByZXNlbnQgYW5kIGNvbmZpZ3VyZWQsIHRoYXQnbGwgZ2l2ZSBtZSBhIHN0cm9uZyBpbmRpY2F0aW9uIHRoYXQgdGhpcyBpcywgaW4gZmFjdCwgYSBjb25jcmV0ZSBkcml2ZXIgZm9yIGFjdHVhbCBOWFAgV2lGaSBoYXJkd2FyZSwgYW5kIEkgY2FuIHN0YXJ0IHRvIHVuZGVyc3RhbmQgd2hpY2ggc3BlY2lmaWMgaGFyZHdhcmUgaXQgc3VwcG9ydHMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQwNjYsIk91dHB1dFRva2VucyI6NDIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xM1QwODo0ODo0OC42ODEyOTQwMDlaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MDUyMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9ueHAvbnhwd2lmaS9LY29uZmlnXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDEwMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgICAxOlxcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbiAgIDI6XFx0Y29uZmlnIE5YUFdJRklcXG4gICAzOlxcdFxcdHRyaXN0YXRlIFxcXCJOWFAgV2lGaSBEcml2ZXJcXFwiIGlmIENPTVBJTEVfVEVTVFxcbiAgIDQ6XFx0XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMVxcbiAgIDU6XFx0XFx0aGVscFxcbiAgIDY6XFx0XFx0ICBUaGlzIGFkZHMgc3VwcG9ydCBmb3Igd2lyZWxlc3MgYWRhcHRlcnMgYmFzZWQgb24gTlhQXFxuICAgNzpcXHRcXHQgIDgwMi4xMW4vYWMgY2hpcHNldHMuXFxuICAgODpcXHRcXG4gICA5OlxcdFxcdCAgSWYgeW91IGNob29zZSB0byBidWlsZCBpdCBhcyBhIG1vZHVsZSwgaXQgd2lsbCBiZSBjYWxsZWRcXG4gIDEwOlxcdFxcdCAgbnhwd2lmaS5cXG4gIDExOlxcdFxcbiAgMTI6XFx0Y29uZmlnIE5YUFdJRklfU0RJT1xcbiAgMTM6XFx0XFx0dHJpc3RhdGUgXFxcIk5YUCBXaUZpIERyaXZlciBmb3IgSVc2MXhcXFwiXFxuICAxNDpcXHRcXHRkZXBlbmRzIG9uIENGRzgwMjExIFxcdTAwMjZcXHUwMDI2IE1NQ1xcbiAgMTU6XFx0XFx0c2VsZWN0IE5YUFdJRklcXG4gIDE2OlxcdFxcdHNlbGVjdCBGV19MT0FERVJcXG4gIDE3OlxcdFxcdHNlbGVjdCBXQU5UX0RFVl9DT1JFRFVNUFxcbiAgMTg6XFx0XFx0aGVscFxcbiAgMTk6XFx0XFx0ICBUaGlzIGFkZHMgc3VwcG9ydCBmb3Igd2lyZWxlc3MgYWRhcHRlcnMgYmFzZWQgb24gTlhQXFxuICAyMDpcXHRcXHQgIElXNjF4IGludGVyZmFjZS5cXG4gIDIxOlxcdFxcbiAgMjI6XFx0XFx0ICBJZiB5b3UgY2hvb3NlIHRvIGJ1aWxkIGl0IGFzIGEgbW9kdWxlLCBpdCB3aWxsIGJlIGNhbGxlZFxcbiAgMjM6XFx0XFx0ICBueHB3aWZpX3NkaW8uXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEzVDA4OjQ4OjQ4LjY4MTM1NjYwOVoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjYwMDg1MTY0MTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiB0aGUgRnV6emluZyBWaWFiaWxpdHkqKlxuXG5Pa2F5LCBzbyB0aGlzIGNvZGUgaXMgcGFydCBvZiBhbiBTRElPIGRyaXZlci4gU3BlY2lmaWNhbGx5LCBpdCdzIHRpZWQgdG8gdGhlIE5YUCBJVzYxeCBjaGlwc2V0LiBUaGUgcXVlc3Rpb24gaXMsIGNhbiB0aGlzIGNvZGUgYmUgcmVhbGlzdGljYWxseSByZWFjaGVkIGR1cmluZyBmdXp6aW5nPyBJbiB0aGUgdmFzdCBtYWpvcml0eSBvZiBteSBleHBlcmllbmNlLCBRRU1VLCB0aGUgc3RhbmRhcmQgdmlydHVhbCBtYWNoaW5lIGZvciB0aGlzIHR5cGUgb2Ygd29yaywgZG9lc24ndCBlbXVsYXRlIHRoaXMgcGFydGljdWxhciBOWFAgU0RJTyBoYXJkd2FyZS4gTXkgaW5pdGlhbCBpbnN0aW5jdCBpcyB0aGF0IGl0J3MgaGlnaGx5IHVubGlrZWx5LlxuXG5JIHF1aWNrbHkgY29uc2lkZXJlZCBpZiB0aGVyZSB3YXMgc29tZSBzcGVjaWFsaXplZCBlbXVsYXRvciBvdXQgdGhlcmUgZm9yIHRoZSBJVzYxeCwgYnV0IGl0J3Mgbm90IHNvbWV0aGluZyBJJ20gYXdhcmUgb2Ygb3IgZXhwZWN0IHRvIGZpbmQuIENvdWxkIG1hYzgwMjExX2h3c2ltIHNvbWVob3cgcHJvdmlkZSBhIHBhdGg/IE5vLCB0aGF0J3MgYSBjb21wbGV0ZWx5IGRpZmZlcmVudCBkcml2ZXIgYW5kIHdvdWxkbid0IGJlIHJlbGV2YW50LiBUaGlzIGlzIGEgZGVkaWNhdGVkIGhhcmR3YXJlIGRyaXZlci5cblxuTGV0IG1lIGNvbmZpcm0gdGhhdCB0aGVyZSBpc24ndCBhbm90aGVyIGludGVyZmFjZSBiZXNpZGVzIGBOWFBXSUZJX1NESU9gLiBZZXAsIHRoYXQncyB3aGF0IEkgdGhvdWdodC4gSXQncyBkZWZpbml0ZWx5IGhhcmR3YXJlLXNwZWNpZmljLiBHaXZlbiB0aGF0IFFFTVUgZG9lc24ndCBvZmZlciB0aGUgbmVjZXNzYXJ5IGhhcmR3YXJlIGVtdWxhdGlvbiwgYW5kIHRoZXJlIGFyZSBubyBlYXN5IHdvcmthcm91bmRzLCBJJ20gY29uZmlkZW50IGluIGNvbmNsdWRpbmcgdGhhdCB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyBhcmUgdW5yZWFjaGFibGUgaW4gYSB2aXJ0dWFsaXplZCBmdXp6aW5nIGVudmlyb25tZW50LlxuXG5UaGVyZWZvcmUsIEknbSBnb2luZyB0byByZXR1cm4gYFdvcnRoRnV6emluZz1mYWxzZWAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ3MjMsIk91dHB1dFRva2VucyI6OTYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNTAsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xM1QwODo0ODo1NC42ODk4NzU2NzlaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI3MTgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBOWFAgV2lGaSBkcml2ZXIgKG54cHdpZmkpLCB3aGljaCBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgTlhQIElXNjF4IFNESU8gY2hpcHNldHMuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLCBzbyB0aGUgbW9kaWZpZWQgY29kZSBwYXRocyBjYW5ub3QgYmUgcmVhY2hlZCBhbmQgdGVzdGVkIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIE5YUCBXaUZpIGRyaXZlciAobnhwd2lmaSksIHdoaWNoIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyIGZvciBOWFAgSVc2MXggU0RJTyBjaGlwc2V0cy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIHNvIHRoZSBtb2RpZmllZCBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xM1QwODo0ODo1NC42ODk5MDY2MzlaIiwiU2VxIjo5LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzQ2MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflowb7744[1] Phase: Running StartedAt: 2026-08-13 08:49:06 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowb7744[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-08-13 08:49:06 +0000 UTC FinishedAt: 2026-08-13 08:49:22 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:code,Default:nil,Value:*1,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*1,}