Name: series-workflowcfb84 Phase: Failed StartedAt: 2026-07-30 14:31:18 +0000 UTC FinishedAt: 2026-07-30 14:59:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcfb84[0] Phase: Succeeded StartedAt: 2026-07-30 14:31:18 +0000 UTC FinishedAt: 2026-07-30 14:59:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcfb84[0].run-triage Phase: Succeeded StartedAt: 2026-07-30 14:31:18 +0000 UTC FinishedAt: 2026-07-30 14:59:36 +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+CgkJCTx0ZD4yMDI2LzA3LzMwIDE0OjU4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIHJlbW92ZXMgcmVkdW5kYW50IHN3aXRjaCBzdGF0ZW1lbnRzICh3aXRoIG9ubHkgY2FzZSAxIGFuZCBkZWZhdWx0KSBpbiBlMTAwMF9jb25maWd1cmVfdHggYW5kIGUxMDAwX2NvbmZpZ3VyZV9yeCwgcmVwbGFjaW5nIHRoZW0gd2l0aCB0aGUgdW5jb25kaXRpb25hbCBleGVjdXRpb24gb2YgdGhlIGJsb2NrJiMzOTtzIGNvbnRlbnRzLiBUaGlzIGlzIGEgcHVyZWx5IHN0cnVjdHVyYWwvcmVmYWN0b3JpbmcgY2hhbmdlIHRoYXQgZG9lcyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIHRoZSBleGVjdXRpb24gZmxvdy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzAgMTQ6NTg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA4ZjVmOGM5NTJhMThhNzljMDU3NDExMDE1ZjViNjg3OTlmMmNkYzIyXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMzAgMTQ6NTg6NDIgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jXG5pbmRleCA5YjA5ZWIxNDRiODExLi41ZDY3ZDYxZWJmZWVlIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9lMTAwMC9lMTAwMF9tYWluLmNcbkBAIC0xNTk5LDI0ICYjNDM7MTU5OSwxOCBAQCBzdGF0aWMgdm9pZCBlMTAwMF9jb25maWd1cmVfdHgoc3RydWN0IGUxMDAwX2FkYXB0ZXIgKmFkYXB0ZXIpXG4gXHR1MzIgaXBncjEsIGlwZ3IyO1xuIFxuIFx0LyogU2V0dXAgdGhlIEhXIFR4IEhlYWQgYW5kIFRhaWwgZGVzY3JpcHRvciBwb2ludGVycyAqL1xuLVxuLVx0c3dpdGNoIChhZGFwdGVyLVx1MDAzZW51bV90eF9xdWV1ZXMpIHtcbi1cdGNhc2UgMTpcbi1cdGRlZmF1bHQ6XG4tXHRcdHRkYmEgPSBhZGFwdGVyLVx1MDAzZXR4X3JpbmdbMF0uZG1hO1xuLVx0XHR0ZGxlbiA9IGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS5jb3VudCAqXG4tXHRcdFx0c2l6ZW9mKHN0cnVjdCBlMTAwMF90eF9kZXNjKTtcbi1cdFx0ZXczMihURExFTiwgdGRsZW4pO1xuLVx0XHRldzMyKFREQkFILCAodGRiYSBcdTAwM2VcdTAwM2UgMzIpKTtcbi1cdFx0ZXczMihUREJBTCwgKHRkYmEgXHUwMDI2IDB4MDAwMDAwMDBmZmZmZmZmZlVMTCkpO1xuLVx0XHRldzMyKFREVCwgMCk7XG4tXHRcdGV3MzIoVERILCAwKTtcbi1cdFx0YWRhcHRlci1cdTAwM2V0eF9yaW5nWzBdLnRkaCA9ICgoaHctXHUwMDNlbWFjX3R5cGUgXHUwMDNlPSBlMTAwMF84MjU0MykgP1xuLVx0XHRcdFx0XHQgICBFMTAwMF9UREggOiBFMTAwMF84MjU0Ml9UREgpO1xuLVx0XHRhZGFwdGVyLVx1MDAzZXR4X3JpbmdbMF0udGR0ID0gKChody1cdTAwM2VtYWNfdHlwZSBcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XG4tXHRcdFx0XHRcdCAgIEUxMDAwX1REVCA6IEUxMDAwXzgyNTQyX1REVCk7XG4tXHRcdGJyZWFrO1xuLVx0fVxuJiM0MztcdHRkYmEgPSBhZGFwdGVyLVx1MDAzZXR4X3JpbmdbMF0uZG1hO1xuJiM0MztcdHRkbGVuID0gYWRhcHRlci1cdTAwM2V0eF9yaW5nWzBdLmNvdW50ICpcbiYjNDM7XHRcdHNpemVvZihzdHJ1Y3QgZTEwMDBfdHhfZGVzYyk7XG4mIzQzO1x0ZXczMihURExFTiwgdGRsZW4pO1xuJiM0MztcdGV3MzIoVERCQUgsICh0ZGJhIFx1MDAzZVx1MDAzZSAzMikpO1xuJiM0MztcdGV3MzIoVERCQUwsICh0ZGJhIFx1MDAyNiAweDAwMDAwMDAwZmZmZmZmZmZVTEwpKTtcbiYjNDM7XHRldzMyKFREVCwgMCk7XG4mIzQzO1x0ZXczMihUREgsIDApO1xuJiM0MztcdGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS50ZGggPSAoKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpID9cbiYjNDM7XHRcdFx0XHRcdEUxMDAwX1RESCA6IEUxMDAwXzgyNTQyX1RESCk7XG4mIzQzO1x0YWRhcHRlci1cdTAwM2V0eF9yaW5nWzBdLnRkdCA9ICgoaHctXHUwMDNlbWFjX3R5cGUgXHUwMDNlPSBlMTAwMF84MjU0MykgP1xuJiM0MztcdFx0XHRcdFx0RTEwMDBfVERUIDogRTEwMDBfODI1NDJfVERUKTtcbiBcbiBcdC8qIFNldCB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBUeCBJbnRlciBQYWNrZXQgR2FwIHRpbWVyICovXG4gXHRpZiAoKGh3LVx1MDAzZW1lZGlhX3R5cGUgPT0gZTEwMDBfbWVkaWFfdHlwZV9maWJlciB8fFxuQEAgLTE4ODQsMjEgJiM0MzsxODc4LDE2IEBAIHN0YXRpYyB2b2lkIGUxMDAwX2NvbmZpZ3VyZV9yeChzdHJ1Y3QgZTEwMDBfYWRhcHRlciAqYWRhcHRlcilcbiBcdC8qIFNldHVwIHRoZSBIVyBSeCBIZWFkIGFuZCBUYWlsIERlc2NyaXB0b3IgUG9pbnRlcnMgYW5kXG4gXHQgKiB0aGUgQmFzZSBhbmQgTGVuZ3RoIG9mIHRoZSBSeCBEZXNjcmlwdG9yIFJpbmdcbiBcdCAqL1xuLVx0c3dpdGNoIChhZGFwdGVyLVx1MDAzZW51bV9yeF9xdWV1ZXMpIHtcbi1cdGNhc2UgMTpcbi1cdGRlZmF1bHQ6XG4tXHRcdHJkYmEgPSBhZGFwdGVyLVx1MDAzZXJ4X3JpbmdbMF0uZG1hO1xuLVx0XHRldzMyKFJETEVOLCByZGxlbik7XG4tXHRcdGV3MzIoUkRCQUgsIChyZGJhIFx1MDAzZVx1MDAzZSAzMikpO1xuLVx0XHRldzMyKFJEQkFMLCAocmRiYSBcdTAwMjYgMHgwMDAwMDAwMGZmZmZmZmZmVUxMKSk7XG4tXHRcdGV3MzIoUkRULCAwKTtcbi1cdFx0ZXczMihSREgsIDApO1xuLVx0XHRhZGFwdGVyLVx1MDAzZXJ4X3JpbmdbMF0ucmRoID0gKChody1cdTAwM2VtYWNfdHlwZSBcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XG4tXHRcdFx0XHRcdCAgIEUxMDAwX1JESCA6IEUxMDAwXzgyNTQyX1JESCk7XG4tXHRcdGFkYXB0ZXItXHUwMDNlcnhfcmluZ1swXS5yZHQgPSAoKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpID9cbi1cdFx0XHRcdFx0ICAgRTEwMDBfUkRUIDogRTEwMDBfODI1NDJfUkRUKTtcbi1cdFx0YnJlYWs7XG4tXHR9XG4mIzQzO1x0cmRiYSA9IGFkYXB0ZXItXHUwMDNlcnhfcmluZ1swXS5kbWE7XG4mIzQzO1x0ZXczMihSRExFTiwgcmRsZW4pO1xuJiM0MztcdGV3MzIoUkRCQUgsIChyZGJhIFx1MDAzZVx1MDAzZSAzMikpO1xuJiM0MztcdGV3MzIoUkRCQUwsIChyZGJhIFx1MDAyNiAweDAwMDAwMDAwZmZmZmZmZmZVTEwpKTtcbiYjNDM7XHRldzMyKFJEVCwgMCk7XG4mIzQzO1x0ZXczMihSREgsIDApO1xuJiM0MztcdGFkYXB0ZXItXHUwMDNlcnhfcmluZ1swXS5yZGggPSAoKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpID9cbiYjNDM7XHRcdFx0XHRcdEUxMDAwX1JESCA6IEUxMDAwXzgyNTQyX1JESCk7XG4mIzQzO1x0YWRhcHRlci1cdTAwM2VyeF9yaW5nWzBdLnJkdCA9ICgoaHctXHUwMDNlbWFjX3R5cGUgXHUwMDNlPSBlMTAwMF84MjU0MykgP1xuJiM0MztcdFx0XHRcdFx0RTEwMDBfUkRUIDogRTEwMDBfODI1NDJfUkRUKTtcbiBcbiBcdC8qIEVuYWJsZSA4MjU0MyBSZWNlaXZlIENoZWNrc3VtIE9mZmxvYWQgZm9yIFRDUCBhbmQgVURQICovXG4gXHRpZiAoaHctXHUwMDNlbWFjX3R5cGUgXHUwMDNlPSBlMTAwMF84MjU0Mykge1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMwIDE0OjU4PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCByZW1vdmVzIHJlZHVuZGFudCBzd2l0Y2ggc3RhdGVtZW50cyAod2l0aCBvbmx5IGNhc2UgMSBhbmQgZGVmYXVsdCkgaW4gZTEwMDBfY29uZmlndXJlX3R4IGFuZCBlMTAwMF9jb25maWd1cmVfcngsIHJlcGxhY2luZyB0aGVtIHdpdGggdGhlIHVuY29uZGl0aW9uYWwgZXhlY3V0aW9uIG9mIHRoZSBibG9jayYjMzk7cyBjb250ZW50cy4gVGhpcyBpcyBhIHB1cmVseSBzdHJ1Y3R1cmFsL3JlZmFjdG9yaW5nIGNoYW5nZSB0aGF0IGRvZXMgbm90IGZ1bmN0aW9uYWxseSBhbHRlciB0aGUgZXhlY3V0aW9uIGZsb3cuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgOGY1ZjhjOTUyYTE4YTc5YzA1NzQxMTAxNWY1YjY4Nzk5ZjJjZGMyMgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBUaHUgSnVsIDMwIDE0OjU4OjQyIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jCmluZGV4IDliMDllYjE0NGI4MTEuLjVkNjdkNjFlYmZlZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwL2UxMDAwX21haW4uYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9lMTAwMC9lMTAwMF9tYWluLmMKQEAgLTE1OTksMjQgJiM0MzsxNTk5LDE4IEBAIHN0YXRpYyB2b2lkIGUxMDAwX2NvbmZpZ3VyZV90eChzdHJ1Y3QgZTEwMDBfYWRhcHRlciAqYWRhcHRlcikKIAl1MzIgaXBncjEsIGlwZ3IyOwogCiAJLyogU2V0dXAgdGhlIEhXIFR4IEhlYWQgYW5kIFRhaWwgZGVzY3JpcHRvciBwb2ludGVycyAqLwotCi0Jc3dpdGNoIChhZGFwdGVyLSZndDtudW1fdHhfcXVldWVzKSB7Ci0JY2FzZSAxOgotCWRlZmF1bHQ6Ci0JCXRkYmEgPSBhZGFwdGVyLSZndDt0eF9yaW5nWzBdLmRtYTsKLQkJdGRsZW4gPSBhZGFwdGVyLSZndDt0eF9yaW5nWzBdLmNvdW50ICoKLQkJCXNpemVvZihzdHJ1Y3QgZTEwMDBfdHhfZGVzYyk7Ci0JCWV3MzIoVERMRU4sIHRkbGVuKTsKLQkJZXczMihUREJBSCwgKHRkYmEgJmd0OyZndDsgMzIpKTsKLQkJZXczMihUREJBTCwgKHRkYmEgJmFtcDsgMHgwMDAwMDAwMGZmZmZmZmZmVUxMKSk7Ci0JCWV3MzIoVERULCAwKTsKLQkJZXczMihUREgsIDApOwotCQlhZGFwdGVyLSZndDt0eF9yaW5nWzBdLnRkaCA9ICgoaHctJmd0O21hY190eXBlICZndDs9IGUxMDAwXzgyNTQzKSA/Ci0JCQkJCSAgIEUxMDAwX1RESCA6IEUxMDAwXzgyNTQyX1RESCk7Ci0JCWFkYXB0ZXItJmd0O3R4X3JpbmdbMF0udGR0ID0gKChody0mZ3Q7bWFjX3R5cGUgJmd0Oz0gZTEwMDBfODI1NDMpID8KLQkJCQkJICAgRTEwMDBfVERUIDogRTEwMDBfODI1NDJfVERUKTsKLQkJYnJlYWs7Ci0JfQomIzQzOwl0ZGJhID0gYWRhcHRlci0mZ3Q7dHhfcmluZ1swXS5kbWE7CiYjNDM7CXRkbGVuID0gYWRhcHRlci0mZ3Q7dHhfcmluZ1swXS5jb3VudCAqCiYjNDM7CQlzaXplb2Yoc3RydWN0IGUxMDAwX3R4X2Rlc2MpOwomIzQzOwlldzMyKFRETEVOLCB0ZGxlbik7CiYjNDM7CWV3MzIoVERCQUgsICh0ZGJhICZndDsmZ3Q7IDMyKSk7CiYjNDM7CWV3MzIoVERCQUwsICh0ZGJhICZhbXA7IDB4MDAwMDAwMDBmZmZmZmZmZlVMTCkpOwomIzQzOwlldzMyKFREVCwgMCk7CiYjNDM7CWV3MzIoVERILCAwKTsKJiM0MzsJYWRhcHRlci0mZ3Q7dHhfcmluZ1swXS50ZGggPSAoKGh3LSZndDttYWNfdHlwZSAmZ3Q7PSBlMTAwMF84MjU0MykgPwomIzQzOwkJCQkJRTEwMDBfVERIIDogRTEwMDBfODI1NDJfVERIKTsKJiM0MzsJYWRhcHRlci0mZ3Q7dHhfcmluZ1swXS50ZHQgPSAoKGh3LSZndDttYWNfdHlwZSAmZ3Q7PSBlMTAwMF84MjU0MykgPwomIzQzOwkJCQkJRTEwMDBfVERUIDogRTEwMDBfODI1NDJfVERUKTsKIAogCS8qIFNldCB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBUeCBJbnRlciBQYWNrZXQgR2FwIHRpbWVyICovCiAJaWYgKChody0mZ3Q7bWVkaWFfdHlwZSA9PSBlMTAwMF9tZWRpYV90eXBlX2ZpYmVyIHx8CkBAIC0xODg0LDIxICYjNDM7MTg3OCwxNiBAQCBzdGF0aWMgdm9pZCBlMTAwMF9jb25maWd1cmVfcngoc3RydWN0IGUxMDAwX2FkYXB0ZXIgKmFkYXB0ZXIpCiAJLyogU2V0dXAgdGhlIEhXIFJ4IEhlYWQgYW5kIFRhaWwgRGVzY3JpcHRvciBQb2ludGVycyBhbmQKIAkgKiB0aGUgQmFzZSBhbmQgTGVuZ3RoIG9mIHRoZSBSeCBEZXNjcmlwdG9yIFJpbmcKIAkgKi8KLQlzd2l0Y2ggKGFkYXB0ZXItJmd0O251bV9yeF9xdWV1ZXMpIHsKLQljYXNlIDE6Ci0JZGVmYXVsdDoKLQkJcmRiYSA9IGFkYXB0ZXItJmd0O3J4X3JpbmdbMF0uZG1hOwotCQlldzMyKFJETEVOLCByZGxlbik7Ci0JCWV3MzIoUkRCQUgsIChyZGJhICZndDsmZ3Q7IDMyKSk7Ci0JCWV3MzIoUkRCQUwsIChyZGJhICZhbXA7IDB4MDAwMDAwMDBmZmZmZmZmZlVMTCkpOwotCQlldzMyKFJEVCwgMCk7Ci0JCWV3MzIoUkRILCAwKTsKLQkJYWRhcHRlci0mZ3Q7cnhfcmluZ1swXS5yZGggPSAoKGh3LSZndDttYWNfdHlwZSAmZ3Q7PSBlMTAwMF84MjU0MykgPwotCQkJCQkgICBFMTAwMF9SREggOiBFMTAwMF84MjU0Ml9SREgpOwotCQlhZGFwdGVyLSZndDtyeF9yaW5nWzBdLnJkdCA9ICgoaHctJmd0O21hY190eXBlICZndDs9IGUxMDAwXzgyNTQzKSA/Ci0JCQkJCSAgIEUxMDAwX1JEVCA6IEUxMDAwXzgyNTQyX1JEVCk7Ci0JCWJyZWFrOwotCX0KJiM0MzsJcmRiYSA9IGFkYXB0ZXItJmd0O3J4X3JpbmdbMF0uZG1hOwomIzQzOwlldzMyKFJETEVOLCByZGxlbik7CiYjNDM7CWV3MzIoUkRCQUgsIChyZGJhICZndDsmZ3Q7IDMyKSk7CiYjNDM7CWV3MzIoUkRCQUwsIChyZGJhICZhbXA7IDB4MDAwMDAwMDBmZmZmZmZmZlVMTCkpOwomIzQzOwlldzMyKFJEVCwgMCk7CiYjNDM7CWV3MzIoUkRILCAwKTsKJiM0MzsJYWRhcHRlci0mZ3Q7cnhfcmluZ1swXS5yZGggPSAoKGh3LSZndDttYWNfdHlwZSAmZ3Q7PSBlMTAwMF84MjU0MykgPwomIzQzOwkJCQkJRTEwMDBfUkRIIDogRTEwMDBfODI1NDJfUkRIKTsKJiM0MzsJYWRhcHRlci0mZ3Q7cnhfcmluZ1swXS5yZHQgPSAoKGh3LSZndDttYWNfdHlwZSAmZ3Q7PSBlMTAwMF84MjU0MykgPwomIzQzOwkJCQkJRTEwMDBfUkRUIDogRTEwMDBfODI1NDJfUkRUKTsKIAogCS8qIEVuYWJsZSA4MjU0MyBSZWNlaXZlIENoZWNrc3VtIE9mZmxvYWQgZm9yIFRDUCBhbmQgVURQICovCiAJaWYgKGh3LSZndDttYWNfdHlwZSAmZ3Q7PSBlMTAwMF84MjU0Mykgewo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMCAxNDo1ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzMjczCgkJCQkJCQlvdXRwdXQ6IDk4CgkJCQkJCQl0aG91Z2h0czogMzI5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKlJlZmFjdG9yaW5nIEFuYWx5c2lzOiBlMTAwMCBEcml2ZXIqKgoKT2theSwgbGV0JiMzOTtzIHRha2UgYSBsb29rIGF0IHRoaXMgcGF0Y2guIEl0IGFwcGVhcnMgdG8gdGFyZ2V0IGBkcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9lMTAwMC9lMTAwMF9tYWluLmNgLiBNeSBpbml0aWFsIGFzc2Vzc21lbnQgaXMgdGhhdCB0aGlzIGlzIHB1cmVseSBhIHN0eWxpc3RpYyBjaGFuZ2UsIGEgcmVmYWN0b3JpbmcuIFRoZSBjb2RlIHJlbW92ZXMgcmVkdW5kYW50IGBzd2l0Y2hgIHN0YXRlbWVudHMsIHNwZWNpZmljYWxseSB0aG9zZSBoYW5kbGluZyBgYWRhcHRlci0mZ3Q7bnVtX3R4X3F1ZXVlc2AgYW5kIGBhZGFwdGVyLSZndDtudW1fcnhfcXVldWVzYC4gVGhlIGRpZmYgaW1tZWRpYXRlbHkgY29uZmlybXMgbXkgc3VzcGljaW9uOgoKYGBgYwotCXN3aXRjaCAoYWRhcHRlci0mZ3Q7bnVtX3R4X3F1ZXVlcykgewotCWNhc2UgMToKLQlkZWZhdWx0OgotCQl0ZGJhID0gYWRhcHRlci0mZ3Q7dHhfcmluZ1swXS5kbWE7Ci4uLgotCQlicmVhazsKLQl9CiYjNDM7CXRkYmEgPSBhZGFwdGVyLSZndDt0eF9yaW5nWzBdLmRtYTsKYGBgCgpJdCYjMzk7cyBlc3NlbnRpYWxseSBlbGltaW5hdGluZyBhIGBzd2l0Y2hgIHN0YXRlbWVudCB3aGVyZSAqYm90aCogY2FzZXMgYXJlIGhhbmRsZWQgaWRlbnRpY2FsbHkgKCBgY2FzZSAxOmAgYW5kIGBkZWZhdWx0OmAgcmVzdWx0IGluIHRoZSBzYW1lIGNvZGUgZXhlY3V0aW9uKS4gU28sIHRoZXJlIGlzIG5vIGNoYW5nZSBpbiB0aGUgKmZ1bmN0aW9uYWwqIGV4ZWN1dGlvbiBwYXRoLiBUaGUgY29kZSB1bmNvbmRpdGlvbmFsbHkgZXhlY3V0ZWQgdGhlIGJsb2NrIGFueXdheSwgbWFraW5nIHRoZSBgc3dpdGNoYCBzdGF0ZW1lbnQgc3VwZXJmbHVvdXMuCgpJIHNlZSB0aGUgc2FtZSBwYXR0ZXJuIGluIGBlMTAwMF9jb25maWd1cmVfdHhgIGFuZCBgZTEwMDBfY29uZmlndXJlX3J4YC4gTm8gZnVuY3Rpb25hbCBjaGFuZ2UsIGp1c3QgdGhlIHJlbW92YWwgb2YgdGhvc2UgcG9pbnRsZXNzIGBzd2l0Y2hgIHN0YXRlbWVudHMuIFRoZXJlJiMzOTtzIG5vdGhpbmcgbW9yZSB0byBpdC4KClRoZXJlZm9yZSwgYWZ0ZXIgdGhpcyB0aG9yb3VnaCByZXZpZXcsIEkmIzM5O20gY29uZmlkZW50IGluIHNldHRpbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuIFRoaXMgcGF0Y2ggaXMgcHVyZWx5IGNvc21ldGljIGFuZCBkb2VzbiYjMzk7dCBpbnRyb2R1Y2UgYW55IG5ldyBsb2dpYyBvciBwb3RlbnRpYWwgdnVsbmVyYWJpbGl0aWVzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMwIDE0OjU4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggcmVtb3ZlcyByZWR1bmRhbnQgc3dpdGNoIHN0YXRlbWVudHMgKHdpdGggb25seSBjYXNlIDEgYW5kIGRlZmF1bHQpIGluIGUxMDAwX2NvbmZpZ3VyZV90eCBhbmQgZTEwMDBfY29uZmlndXJlX3J4LCByZXBsYWNpbmcgdGhlbSB3aXRoIHRoZSB1bmNvbmRpdGlvbmFsIGV4ZWN1dGlvbiBvZiB0aGUgYmxvY2smIzM5O3MgY29udGVudHMuIFRoaXMgaXMgYSBwdXJlbHkgc3RydWN0dXJhbC9yZWZhY3RvcmluZyBjaGFuZ2UgdGhhdCBkb2VzIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgdGhlIGV4ZWN1dGlvbiBmbG93LiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggcmVtb3ZlcyByZWR1bmRhbnQgc3dpdGNoIHN0YXRlbWVudHMgKHdpdGggb25seSBjYXNlIDEgYW5kIGRlZmF1bHQpIGluIGUxMDAwX2NvbmZpZ3VyZV90eCBhbmQgZTEwMDBfY29uZmlndXJlX3J4LCByZXBsYWNpbmcgdGhlbSB3aXRoIHRoZSB1bmNvbmRpdGlvbmFsIGV4ZWN1dGlvbiBvZiB0aGUgYmxvY2smIzM5O3MgY29udGVudHMuIFRoaXMgaXMgYSBwdXJlbHkgc3RydWN0dXJhbC9yZWZhY3RvcmluZyBjaGFuZ2UgdGhhdCBkb2VzIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgdGhlIGV4ZWN1dGlvbiBmbG93LiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMwVDE0OjU4OjQzLjQwMTQ0NzkxNloiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjczMjg1MDM4NzAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIHJlbW92ZXMgcmVkdW5kYW50IHN3aXRjaCBzdGF0ZW1lbnRzICh3aXRoIG9ubHkgY2FzZSAxIGFuZCBkZWZhdWx0KSBpbiBlMTAwMF9jb25maWd1cmVfdHggYW5kIGUxMDAwX2NvbmZpZ3VyZV9yeCwgcmVwbGFjaW5nIHRoZW0gd2l0aCB0aGUgdW5jb25kaXRpb25hbCBleGVjdXRpb24gb2YgdGhlIGJsb2NrJ3MgY29udGVudHMuIFRoaXMgaXMgYSBwdXJlbHkgc3RydWN0dXJhbC9yZWZhY3RvcmluZyBjaGFuZ2UgdGhhdCBkb2VzIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgdGhlIGV4ZWN1dGlvbiBmbG93LlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzBUMTQ6NTg6NDMuNDAxNDU1NjA3WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MzUzOTkwNzMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA4ZjVmOGM5NTJhMThhNzljMDU3NDExMDE1ZjViNjg3OTlmMmNkYzIyXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUaHUgSnVsIDMwIDE0OjU4OjQyIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwL2UxMDAwX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwL2UxMDAwX21haW4uY1xcbmluZGV4IDliMDllYjE0NGI4MTEuLjVkNjdkNjFlYmZlZWUgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jXFxuQEAgLTE1OTksMjQgKzE1OTksMTggQEAgc3RhdGljIHZvaWQgZTEwMDBfY29uZmlndXJlX3R4KHN0cnVjdCBlMTAwMF9hZGFwdGVyICphZGFwdGVyKVxcbiBcXHR1MzIgaXBncjEsIGlwZ3IyO1xcbiBcXG4gXFx0LyogU2V0dXAgdGhlIEhXIFR4IEhlYWQgYW5kIFRhaWwgZGVzY3JpcHRvciBwb2ludGVycyAqL1xcbi1cXG4tXFx0c3dpdGNoIChhZGFwdGVyLVxcdTAwM2VudW1fdHhfcXVldWVzKSB7XFxuLVxcdGNhc2UgMTpcXG4tXFx0ZGVmYXVsdDpcXG4tXFx0XFx0dGRiYSA9IGFkYXB0ZXItXFx1MDAzZXR4X3JpbmdbMF0uZG1hO1xcbi1cXHRcXHR0ZGxlbiA9IGFkYXB0ZXItXFx1MDAzZXR4X3JpbmdbMF0uY291bnQgKlxcbi1cXHRcXHRcXHRzaXplb2Yoc3RydWN0IGUxMDAwX3R4X2Rlc2MpO1xcbi1cXHRcXHRldzMyKFRETEVOLCB0ZGxlbik7XFxuLVxcdFxcdGV3MzIoVERCQUgsICh0ZGJhIFxcdTAwM2VcXHUwMDNlIDMyKSk7XFxuLVxcdFxcdGV3MzIoVERCQUwsICh0ZGJhIFxcdTAwMjYgMHgwMDAwMDAwMGZmZmZmZmZmVUxMKSk7XFxuLVxcdFxcdGV3MzIoVERULCAwKTtcXG4tXFx0XFx0ZXczMihUREgsIDApO1xcbi1cXHRcXHRhZGFwdGVyLVxcdTAwM2V0eF9yaW5nWzBdLnRkaCA9ICgoaHctXFx1MDAzZW1hY190eXBlIFxcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XFxuLVxcdFxcdFxcdFxcdFxcdCAgIEUxMDAwX1RESCA6IEUxMDAwXzgyNTQyX1RESCk7XFxuLVxcdFxcdGFkYXB0ZXItXFx1MDAzZXR4X3JpbmdbMF0udGR0ID0gKChody1cXHUwMDNlbWFjX3R5cGUgXFx1MDAzZT0gZTEwMDBfODI1NDMpID9cXG4tXFx0XFx0XFx0XFx0XFx0ICAgRTEwMDBfVERUIDogRTEwMDBfODI1NDJfVERUKTtcXG4tXFx0XFx0YnJlYWs7XFxuLVxcdH1cXG4rXFx0dGRiYSA9IGFkYXB0ZXItXFx1MDAzZXR4X3JpbmdbMF0uZG1hO1xcbitcXHR0ZGxlbiA9IGFkYXB0ZXItXFx1MDAzZXR4X3JpbmdbMF0uY291bnQgKlxcbitcXHRcXHRzaXplb2Yoc3RydWN0IGUxMDAwX3R4X2Rlc2MpO1xcbitcXHRldzMyKFRETEVOLCB0ZGxlbik7XFxuK1xcdGV3MzIoVERCQUgsICh0ZGJhIFxcdTAwM2VcXHUwMDNlIDMyKSk7XFxuK1xcdGV3MzIoVERCQUwsICh0ZGJhIFxcdTAwMjYgMHgwMDAwMDAwMGZmZmZmZmZmVUxMKSk7XFxuK1xcdGV3MzIoVERULCAwKTtcXG4rXFx0ZXczMihUREgsIDApO1xcbitcXHRhZGFwdGVyLVxcdTAwM2V0eF9yaW5nWzBdLnRkaCA9ICgoaHctXFx1MDAzZW1hY190eXBlIFxcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XFxuK1xcdFxcdFxcdFxcdFxcdEUxMDAwX1RESCA6IEUxMDAwXzgyNTQyX1RESCk7XFxuK1xcdGFkYXB0ZXItXFx1MDAzZXR4X3JpbmdbMF0udGR0ID0gKChody1cXHUwMDNlbWFjX3R5cGUgXFx1MDAzZT0gZTEwMDBfODI1NDMpID9cXG4rXFx0XFx0XFx0XFx0XFx0RTEwMDBfVERUIDogRTEwMDBfODI1NDJfVERUKTtcXG4gXFxuIFxcdC8qIFNldCB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBUeCBJbnRlciBQYWNrZXQgR2FwIHRpbWVyICovXFxuIFxcdGlmICgoaHctXFx1MDAzZW1lZGlhX3R5cGUgPT0gZTEwMDBfbWVkaWFfdHlwZV9maWJlciB8fFxcbkBAIC0xODg0LDIxICsxODc4LDE2IEBAIHN0YXRpYyB2b2lkIGUxMDAwX2NvbmZpZ3VyZV9yeChzdHJ1Y3QgZTEwMDBfYWRhcHRlciAqYWRhcHRlcilcXG4gXFx0LyogU2V0dXAgdGhlIEhXIFJ4IEhlYWQgYW5kIFRhaWwgRGVzY3JpcHRvciBQb2ludGVycyBhbmRcXG4gXFx0ICogdGhlIEJhc2UgYW5kIExlbmd0aCBvZiB0aGUgUnggRGVzY3JpcHRvciBSaW5nXFxuIFxcdCAqL1xcbi1cXHRzd2l0Y2ggKGFkYXB0ZXItXFx1MDAzZW51bV9yeF9xdWV1ZXMpIHtcXG4tXFx0Y2FzZSAxOlxcbi1cXHRkZWZhdWx0Olxcbi1cXHRcXHRyZGJhID0gYWRhcHRlci1cXHUwMDNlcnhfcmluZ1swXS5kbWE7XFxuLVxcdFxcdGV3MzIoUkRMRU4sIHJkbGVuKTtcXG4tXFx0XFx0ZXczMihSREJBSCwgKHJkYmEgXFx1MDAzZVxcdTAwM2UgMzIpKTtcXG4tXFx0XFx0ZXczMihSREJBTCwgKHJkYmEgXFx1MDAyNiAweDAwMDAwMDAwZmZmZmZmZmZVTEwpKTtcXG4tXFx0XFx0ZXczMihSRFQsIDApO1xcbi1cXHRcXHRldzMyKFJESCwgMCk7XFxuLVxcdFxcdGFkYXB0ZXItXFx1MDAzZXJ4X3JpbmdbMF0ucmRoID0gKChody1cXHUwMDNlbWFjX3R5cGUgXFx1MDAzZT0gZTEwMDBfODI1NDMpID9cXG4tXFx0XFx0XFx0XFx0XFx0ICAgRTEwMDBfUkRIIDogRTEwMDBfODI1NDJfUkRIKTtcXG4tXFx0XFx0YWRhcHRlci1cXHUwMDNlcnhfcmluZ1swXS5yZHQgPSAoKGh3LVxcdTAwM2VtYWNfdHlwZSBcXHUwMDNlPSBlMTAwMF84MjU0MykgP1xcbi1cXHRcXHRcXHRcXHRcXHQgICBFMTAwMF9SRFQgOiBFMTAwMF84MjU0Ml9SRFQpO1xcbi1cXHRcXHRicmVhaztcXG4tXFx0fVxcbitcXHRyZGJhID0gYWRhcHRlci1cXHUwMDNlcnhfcmluZ1swXS5kbWE7XFxuK1xcdGV3MzIoUkRMRU4sIHJkbGVuKTtcXG4rXFx0ZXczMihSREJBSCwgKHJkYmEgXFx1MDAzZVxcdTAwM2UgMzIpKTtcXG4rXFx0ZXczMihSREJBTCwgKHJkYmEgXFx1MDAyNiAweDAwMDAwMDAwZmZmZmZmZmZVTEwpKTtcXG4rXFx0ZXczMihSRFQsIDApO1xcbitcXHRldzMyKFJESCwgMCk7XFxuK1xcdGFkYXB0ZXItXFx1MDAzZXJ4X3JpbmdbMF0ucmRoID0gKChody1cXHUwMDNlbWFjX3R5cGUgXFx1MDAzZT0gZTEwMDBfODI1NDMpID9cXG4rXFx0XFx0XFx0XFx0XFx0RTEwMDBfUkRIIDogRTEwMDBfODI1NDJfUkRIKTtcXG4rXFx0YWRhcHRlci1cXHUwMDNlcnhfcmluZ1swXS5yZHQgPSAoKGh3LVxcdTAwM2VtYWNfdHlwZSBcXHUwMDNlPSBlMTAwMF84MjU0MykgP1xcbitcXHRcXHRcXHRcXHRcXHRFMTAwMF9SRFQgOiBFMTAwMF84MjU0Ml9SRFQpO1xcbiBcXG4gXFx0LyogRW5hYmxlIDgyNTQzIFJlY2VpdmUgQ2hlY2tzdW0gT2ZmbG9hZCBmb3IgVENQIGFuZCBVRFAgKi9cXG4gXFx0aWYgKGh3LVxcdTAwM2VtYWNfdHlwZSBcXHUwMDNlPSBlMTAwMF84MjU0Mykge1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMFQxNDo1ODo0My44Mzc0MzQ5NDlaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjo2ODkyNTExNDY3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZW1vdmVzIHJlZHVuZGFudCBzd2l0Y2ggc3RhdGVtZW50cyAod2l0aCBvbmx5IGNhc2UgMSBhbmQgZGVmYXVsdCkgaW4gZTEwMDBfY29uZmlndXJlX3R4IGFuZCBlMTAwMF9jb25maWd1cmVfcngsIHJlcGxhY2luZyB0aGVtIHdpdGggdGhlIHVuY29uZGl0aW9uYWwgZXhlY3V0aW9uIG9mIHRoZSBibG9jaydzIGNvbnRlbnRzLiBUaGlzIGlzIGEgcHVyZWx5IHN0cnVjdHVyYWwvcmVmYWN0b3JpbmcgY2hhbmdlIHRoYXQgZG9lcyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIHRoZSBleGVjdXRpb24gZmxvdy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDhmNWY4Yzk1MmExOGE3OWMwNTc0MTEwMTVmNWI2ODc5OWYyY2RjMjJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEp1bCAzMCAxNDo1ODo0MiAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwL2UxMDAwX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwL2UxMDAwX21haW4uY1xuaW5kZXggOWIwOWViMTQ0YjgxMS4uNWQ2N2Q2MWViZmVlZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwL2UxMDAwX21haW4uY1xuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jXG5AQCAtMTU5OSwyNCArMTU5OSwxOCBAQCBzdGF0aWMgdm9pZCBlMTAwMF9jb25maWd1cmVfdHgoc3RydWN0IGUxMDAwX2FkYXB0ZXIgKmFkYXB0ZXIpXG4gXHR1MzIgaXBncjEsIGlwZ3IyO1xuIFxuIFx0LyogU2V0dXAgdGhlIEhXIFR4IEhlYWQgYW5kIFRhaWwgZGVzY3JpcHRvciBwb2ludGVycyAqL1xuLVxuLVx0c3dpdGNoIChhZGFwdGVyLVx1MDAzZW51bV90eF9xdWV1ZXMpIHtcbi1cdGNhc2UgMTpcbi1cdGRlZmF1bHQ6XG4tXHRcdHRkYmEgPSBhZGFwdGVyLVx1MDAzZXR4X3JpbmdbMF0uZG1hO1xuLVx0XHR0ZGxlbiA9IGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS5jb3VudCAqXG4tXHRcdFx0c2l6ZW9mKHN0cnVjdCBlMTAwMF90eF9kZXNjKTtcbi1cdFx0ZXczMihURExFTiwgdGRsZW4pO1xuLVx0XHRldzMyKFREQkFILCAodGRiYSBcdTAwM2VcdTAwM2UgMzIpKTtcbi1cdFx0ZXczMihUREJBTCwgKHRkYmEgXHUwMDI2IDB4MDAwMDAwMDBmZmZmZmZmZlVMTCkpO1xuLVx0XHRldzMyKFREVCwgMCk7XG4tXHRcdGV3MzIoVERILCAwKTtcbi1cdFx0YWRhcHRlci1cdTAwM2V0eF9yaW5nWzBdLnRkaCA9ICgoaHctXHUwMDNlbWFjX3R5cGUgXHUwMDNlPSBlMTAwMF84MjU0MykgP1xuLVx0XHRcdFx0XHQgICBFMTAwMF9UREggOiBFMTAwMF84MjU0Ml9UREgpO1xuLVx0XHRhZGFwdGVyLVx1MDAzZXR4X3JpbmdbMF0udGR0ID0gKChody1cdTAwM2VtYWNfdHlwZSBcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XG4tXHRcdFx0XHRcdCAgIEUxMDAwX1REVCA6IEUxMDAwXzgyNTQyX1REVCk7XG4tXHRcdGJyZWFrO1xuLVx0fVxuK1x0dGRiYSA9IGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS5kbWE7XG4rXHR0ZGxlbiA9IGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS5jb3VudCAqXG4rXHRcdHNpemVvZihzdHJ1Y3QgZTEwMDBfdHhfZGVzYyk7XG4rXHRldzMyKFRETEVOLCB0ZGxlbik7XG4rXHRldzMyKFREQkFILCAodGRiYSBcdTAwM2VcdTAwM2UgMzIpKTtcbitcdGV3MzIoVERCQUwsICh0ZGJhIFx1MDAyNiAweDAwMDAwMDAwZmZmZmZmZmZVTEwpKTtcbitcdGV3MzIoVERULCAwKTtcbitcdGV3MzIoVERILCAwKTtcbitcdGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS50ZGggPSAoKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpID9cbitcdFx0XHRcdFx0RTEwMDBfVERIIDogRTEwMDBfODI1NDJfVERIKTtcbitcdGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS50ZHQgPSAoKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpID9cbitcdFx0XHRcdFx0RTEwMDBfVERUIDogRTEwMDBfODI1NDJfVERUKTtcbiBcbiBcdC8qIFNldCB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBUeCBJbnRlciBQYWNrZXQgR2FwIHRpbWVyICovXG4gXHRpZiAoKGh3LVx1MDAzZW1lZGlhX3R5cGUgPT0gZTEwMDBfbWVkaWFfdHlwZV9maWJlciB8fFxuQEAgLTE4ODQsMjEgKzE4NzgsMTYgQEAgc3RhdGljIHZvaWQgZTEwMDBfY29uZmlndXJlX3J4KHN0cnVjdCBlMTAwMF9hZGFwdGVyICphZGFwdGVyKVxuIFx0LyogU2V0dXAgdGhlIEhXIFJ4IEhlYWQgYW5kIFRhaWwgRGVzY3JpcHRvciBQb2ludGVycyBhbmRcbiBcdCAqIHRoZSBCYXNlIGFuZCBMZW5ndGggb2YgdGhlIFJ4IERlc2NyaXB0b3IgUmluZ1xuIFx0ICovXG4tXHRzd2l0Y2ggKGFkYXB0ZXItXHUwMDNlbnVtX3J4X3F1ZXVlcykge1xuLVx0Y2FzZSAxOlxuLVx0ZGVmYXVsdDpcbi1cdFx0cmRiYSA9IGFkYXB0ZXItXHUwMDNlcnhfcmluZ1swXS5kbWE7XG4tXHRcdGV3MzIoUkRMRU4sIHJkbGVuKTtcbi1cdFx0ZXczMihSREJBSCwgKHJkYmEgXHUwMDNlXHUwMDNlIDMyKSk7XG4tXHRcdGV3MzIoUkRCQUwsIChyZGJhIFx1MDAyNiAweDAwMDAwMDAwZmZmZmZmZmZVTEwpKTtcbi1cdFx0ZXczMihSRFQsIDApO1xuLVx0XHRldzMyKFJESCwgMCk7XG4tXHRcdGFkYXB0ZXItXHUwMDNlcnhfcmluZ1swXS5yZGggPSAoKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpID9cbi1cdFx0XHRcdFx0ICAgRTEwMDBfUkRIIDogRTEwMDBfODI1NDJfUkRIKTtcbi1cdFx0YWRhcHRlci1cdTAwM2VyeF9yaW5nWzBdLnJkdCA9ICgoaHctXHUwMDNlbWFjX3R5cGUgXHUwMDNlPSBlMTAwMF84MjU0MykgP1xuLVx0XHRcdFx0XHQgICBFMTAwMF9SRFQgOiBFMTAwMF84MjU0Ml9SRFQpO1xuLVx0XHRicmVhaztcbi1cdH1cbitcdHJkYmEgPSBhZGFwdGVyLVx1MDAzZXJ4X3JpbmdbMF0uZG1hO1xuK1x0ZXczMihSRExFTiwgcmRsZW4pO1xuK1x0ZXczMihSREJBSCwgKHJkYmEgXHUwMDNlXHUwMDNlIDMyKSk7XG4rXHRldzMyKFJEQkFMLCAocmRiYSBcdTAwMjYgMHgwMDAwMDAwMGZmZmZmZmZmVUxMKSk7XG4rXHRldzMyKFJEVCwgMCk7XG4rXHRldzMyKFJESCwgMCk7XG4rXHRhZGFwdGVyLVx1MDAzZXJ4X3JpbmdbMF0ucmRoID0gKChody1cdTAwM2VtYWNfdHlwZSBcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XG4rXHRcdFx0XHRcdEUxMDAwX1JESCA6IEUxMDAwXzgyNTQyX1JESCk7XG4rXHRhZGFwdGVyLVx1MDAzZXJ4X3JpbmdbMF0ucmR0ID0gKChody1cdTAwM2VtYWNfdHlwZSBcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XG4rXHRcdFx0XHRcdEUxMDAwX1JEVCA6IEUxMDAwXzgyNTQyX1JEVCk7XG4gXG4gXHQvKiBFbmFibGUgODI1NDMgUmVjZWl2ZSBDaGVja3N1bSBPZmZsb2FkIGZvciBUQ1AgYW5kIFVEUCAqL1xuIFx0aWYgKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpIHtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMwVDE0OjU4OjQzLjgzNzQzNloiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY4OTI0ODgzOTYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqUmVmYWN0b3JpbmcgQW5hbHlzaXM6IGUxMDAwIERyaXZlcioqXG5cbk9rYXksIGxldCdzIHRha2UgYSBsb29rIGF0IHRoaXMgcGF0Y2guIEl0IGFwcGVhcnMgdG8gdGFyZ2V0IGBkcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9lMTAwMC9lMTAwMF9tYWluLmNgLiBNeSBpbml0aWFsIGFzc2Vzc21lbnQgaXMgdGhhdCB0aGlzIGlzIHB1cmVseSBhIHN0eWxpc3RpYyBjaGFuZ2UsIGEgcmVmYWN0b3JpbmcuIFRoZSBjb2RlIHJlbW92ZXMgcmVkdW5kYW50IGBzd2l0Y2hgIHN0YXRlbWVudHMsIHNwZWNpZmljYWxseSB0aG9zZSBoYW5kbGluZyBgYWRhcHRlci1cdTAwM2VudW1fdHhfcXVldWVzYCBhbmQgYGFkYXB0ZXItXHUwMDNlbnVtX3J4X3F1ZXVlc2AuIFRoZSBkaWZmIGltbWVkaWF0ZWx5IGNvbmZpcm1zIG15IHN1c3BpY2lvbjpcblxuYGBgY1xuLVx0c3dpdGNoIChhZGFwdGVyLVx1MDAzZW51bV90eF9xdWV1ZXMpIHtcbi1cdGNhc2UgMTpcbi1cdGRlZmF1bHQ6XG4tXHRcdHRkYmEgPSBhZGFwdGVyLVx1MDAzZXR4X3JpbmdbMF0uZG1hO1xuLi4uXG4tXHRcdGJyZWFrO1xuLVx0fVxuK1x0dGRiYSA9IGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS5kbWE7XG5gYGBcblxuSXQncyBlc3NlbnRpYWxseSBlbGltaW5hdGluZyBhIGBzd2l0Y2hgIHN0YXRlbWVudCB3aGVyZSAqYm90aCogY2FzZXMgYXJlIGhhbmRsZWQgaWRlbnRpY2FsbHkgKCBgY2FzZSAxOmAgYW5kIGBkZWZhdWx0OmAgcmVzdWx0IGluIHRoZSBzYW1lIGNvZGUgZXhlY3V0aW9uKS4gU28sIHRoZXJlIGlzIG5vIGNoYW5nZSBpbiB0aGUgKmZ1bmN0aW9uYWwqIGV4ZWN1dGlvbiBwYXRoLiBUaGUgY29kZSB1bmNvbmRpdGlvbmFsbHkgZXhlY3V0ZWQgdGhlIGJsb2NrIGFueXdheSwgbWFraW5nIHRoZSBgc3dpdGNoYCBzdGF0ZW1lbnQgc3VwZXJmbHVvdXMuXG5cbkkgc2VlIHRoZSBzYW1lIHBhdHRlcm4gaW4gYGUxMDAwX2NvbmZpZ3VyZV90eGAgYW5kIGBlMTAwMF9jb25maWd1cmVfcnhgLiBObyBmdW5jdGlvbmFsIGNoYW5nZSwganVzdCB0aGUgcmVtb3ZhbCBvZiB0aG9zZSBwb2ludGxlc3MgYHN3aXRjaGAgc3RhdGVtZW50cy4gVGhlcmUncyBub3RoaW5nIG1vcmUgdG8gaXQuXG5cblRoZXJlZm9yZSwgYWZ0ZXIgdGhpcyB0aG9yb3VnaCByZXZpZXcsIEknbSBjb25maWRlbnQgaW4gc2V0dGluZyBgV29ydGhGdXp6aW5nPWZhbHNlYC4gVGhpcyBwYXRjaCBpcyBwdXJlbHkgY29zbWV0aWMgYW5kIGRvZXNuJ3QgaW50cm9kdWNlIGFueSBuZXcgbG9naWMgb3IgcG90ZW50aWFsIHZ1bG5lcmFiaWxpdGllcy5cblxuXG4iLCJJbnB1dFRva2VucyI6MzI3MywiT3V0cHV0VG9rZW5zIjo5OCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjMyOSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMwVDE0OjU4OjUwLjcyOTkyNjI0NloiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTg2MDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggcmVtb3ZlcyByZWR1bmRhbnQgc3dpdGNoIHN0YXRlbWVudHMgKHdpdGggb25seSBjYXNlIDEgYW5kIGRlZmF1bHQpIGluIGUxMDAwX2NvbmZpZ3VyZV90eCBhbmQgZTEwMDBfY29uZmlndXJlX3J4LCByZXBsYWNpbmcgdGhlbSB3aXRoIHRoZSB1bmNvbmRpdGlvbmFsIGV4ZWN1dGlvbiBvZiB0aGUgYmxvY2sncyBjb250ZW50cy4gVGhpcyBpcyBhIHB1cmVseSBzdHJ1Y3R1cmFsL3JlZmFjdG9yaW5nIGNoYW5nZSB0aGF0IGRvZXMgbm90IGZ1bmN0aW9uYWxseSBhbHRlciB0aGUgZXhlY3V0aW9uIGZsb3cuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZW1vdmVzIHJlZHVuZGFudCBzd2l0Y2ggc3RhdGVtZW50cyAod2l0aCBvbmx5IGNhc2UgMSBhbmQgZGVmYXVsdCkgaW4gZTEwMDBfY29uZmlndXJlX3R4IGFuZCBlMTAwMF9jb25maWd1cmVfcngsIHJlcGxhY2luZyB0aGVtIHdpdGggdGhlIHVuY29uZGl0aW9uYWwgZXhlY3V0aW9uIG9mIHRoZSBibG9jaydzIGNvbnRlbnRzLiBUaGlzIGlzIGEgcHVyZWx5IHN0cnVjdHVyYWwvcmVmYWN0b3JpbmcgY2hhbmdlIHRoYXQgZG9lcyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIHRoZSBleGVjdXRpb24gZmxvdy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },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-workflowcfb84[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-30 14:31:18 +0000 UTC FinishedAt: 2026-07-30 14:58:52 +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+CgkJCTx0ZD4yMDI2LzA3LzMwIDE0OjU4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIHJlbW92ZXMgcmVkdW5kYW50IHN3aXRjaCBzdGF0ZW1lbnRzICh3aXRoIG9ubHkgY2FzZSAxIGFuZCBkZWZhdWx0KSBpbiBlMTAwMF9jb25maWd1cmVfdHggYW5kIGUxMDAwX2NvbmZpZ3VyZV9yeCwgcmVwbGFjaW5nIHRoZW0gd2l0aCB0aGUgdW5jb25kaXRpb25hbCBleGVjdXRpb24gb2YgdGhlIGJsb2NrJiMzOTtzIGNvbnRlbnRzLiBUaGlzIGlzIGEgcHVyZWx5IHN0cnVjdHVyYWwvcmVmYWN0b3JpbmcgY2hhbmdlIHRoYXQgZG9lcyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIHRoZSBleGVjdXRpb24gZmxvdy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzAgMTQ6NTg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA4ZjVmOGM5NTJhMThhNzljMDU3NDExMDE1ZjViNjg3OTlmMmNkYzIyXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMzAgMTQ6NTg6NDIgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jXG5pbmRleCA5YjA5ZWIxNDRiODExLi41ZDY3ZDYxZWJmZWVlIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9lMTAwMC9lMTAwMF9tYWluLmNcbkBAIC0xNTk5LDI0ICYjNDM7MTU5OSwxOCBAQCBzdGF0aWMgdm9pZCBlMTAwMF9jb25maWd1cmVfdHgoc3RydWN0IGUxMDAwX2FkYXB0ZXIgKmFkYXB0ZXIpXG4gXHR1MzIgaXBncjEsIGlwZ3IyO1xuIFxuIFx0LyogU2V0dXAgdGhlIEhXIFR4IEhlYWQgYW5kIFRhaWwgZGVzY3JpcHRvciBwb2ludGVycyAqL1xuLVxuLVx0c3dpdGNoIChhZGFwdGVyLVx1MDAzZW51bV90eF9xdWV1ZXMpIHtcbi1cdGNhc2UgMTpcbi1cdGRlZmF1bHQ6XG4tXHRcdHRkYmEgPSBhZGFwdGVyLVx1MDAzZXR4X3JpbmdbMF0uZG1hO1xuLVx0XHR0ZGxlbiA9IGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS5jb3VudCAqXG4tXHRcdFx0c2l6ZW9mKHN0cnVjdCBlMTAwMF90eF9kZXNjKTtcbi1cdFx0ZXczMihURExFTiwgdGRsZW4pO1xuLVx0XHRldzMyKFREQkFILCAodGRiYSBcdTAwM2VcdTAwM2UgMzIpKTtcbi1cdFx0ZXczMihUREJBTCwgKHRkYmEgXHUwMDI2IDB4MDAwMDAwMDBmZmZmZmZmZlVMTCkpO1xuLVx0XHRldzMyKFREVCwgMCk7XG4tXHRcdGV3MzIoVERILCAwKTtcbi1cdFx0YWRhcHRlci1cdTAwM2V0eF9yaW5nWzBdLnRkaCA9ICgoaHctXHUwMDNlbWFjX3R5cGUgXHUwMDNlPSBlMTAwMF84MjU0MykgP1xuLVx0XHRcdFx0XHQgICBFMTAwMF9UREggOiBFMTAwMF84MjU0Ml9UREgpO1xuLVx0XHRhZGFwdGVyLVx1MDAzZXR4X3JpbmdbMF0udGR0ID0gKChody1cdTAwM2VtYWNfdHlwZSBcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XG4tXHRcdFx0XHRcdCAgIEUxMDAwX1REVCA6IEUxMDAwXzgyNTQyX1REVCk7XG4tXHRcdGJyZWFrO1xuLVx0fVxuJiM0MztcdHRkYmEgPSBhZGFwdGVyLVx1MDAzZXR4X3JpbmdbMF0uZG1hO1xuJiM0MztcdHRkbGVuID0gYWRhcHRlci1cdTAwM2V0eF9yaW5nWzBdLmNvdW50ICpcbiYjNDM7XHRcdHNpemVvZihzdHJ1Y3QgZTEwMDBfdHhfZGVzYyk7XG4mIzQzO1x0ZXczMihURExFTiwgdGRsZW4pO1xuJiM0MztcdGV3MzIoVERCQUgsICh0ZGJhIFx1MDAzZVx1MDAzZSAzMikpO1xuJiM0MztcdGV3MzIoVERCQUwsICh0ZGJhIFx1MDAyNiAweDAwMDAwMDAwZmZmZmZmZmZVTEwpKTtcbiYjNDM7XHRldzMyKFREVCwgMCk7XG4mIzQzO1x0ZXczMihUREgsIDApO1xuJiM0MztcdGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS50ZGggPSAoKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpID9cbiYjNDM7XHRcdFx0XHRcdEUxMDAwX1RESCA6IEUxMDAwXzgyNTQyX1RESCk7XG4mIzQzO1x0YWRhcHRlci1cdTAwM2V0eF9yaW5nWzBdLnRkdCA9ICgoaHctXHUwMDNlbWFjX3R5cGUgXHUwMDNlPSBlMTAwMF84MjU0MykgP1xuJiM0MztcdFx0XHRcdFx0RTEwMDBfVERUIDogRTEwMDBfODI1NDJfVERUKTtcbiBcbiBcdC8qIFNldCB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBUeCBJbnRlciBQYWNrZXQgR2FwIHRpbWVyICovXG4gXHRpZiAoKGh3LVx1MDAzZW1lZGlhX3R5cGUgPT0gZTEwMDBfbWVkaWFfdHlwZV9maWJlciB8fFxuQEAgLTE4ODQsMjEgJiM0MzsxODc4LDE2IEBAIHN0YXRpYyB2b2lkIGUxMDAwX2NvbmZpZ3VyZV9yeChzdHJ1Y3QgZTEwMDBfYWRhcHRlciAqYWRhcHRlcilcbiBcdC8qIFNldHVwIHRoZSBIVyBSeCBIZWFkIGFuZCBUYWlsIERlc2NyaXB0b3IgUG9pbnRlcnMgYW5kXG4gXHQgKiB0aGUgQmFzZSBhbmQgTGVuZ3RoIG9mIHRoZSBSeCBEZXNjcmlwdG9yIFJpbmdcbiBcdCAqL1xuLVx0c3dpdGNoIChhZGFwdGVyLVx1MDAzZW51bV9yeF9xdWV1ZXMpIHtcbi1cdGNhc2UgMTpcbi1cdGRlZmF1bHQ6XG4tXHRcdHJkYmEgPSBhZGFwdGVyLVx1MDAzZXJ4X3JpbmdbMF0uZG1hO1xuLVx0XHRldzMyKFJETEVOLCByZGxlbik7XG4tXHRcdGV3MzIoUkRCQUgsIChyZGJhIFx1MDAzZVx1MDAzZSAzMikpO1xuLVx0XHRldzMyKFJEQkFMLCAocmRiYSBcdTAwMjYgMHgwMDAwMDAwMGZmZmZmZmZmVUxMKSk7XG4tXHRcdGV3MzIoUkRULCAwKTtcbi1cdFx0ZXczMihSREgsIDApO1xuLVx0XHRhZGFwdGVyLVx1MDAzZXJ4X3JpbmdbMF0ucmRoID0gKChody1cdTAwM2VtYWNfdHlwZSBcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XG4tXHRcdFx0XHRcdCAgIEUxMDAwX1JESCA6IEUxMDAwXzgyNTQyX1JESCk7XG4tXHRcdGFkYXB0ZXItXHUwMDNlcnhfcmluZ1swXS5yZHQgPSAoKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpID9cbi1cdFx0XHRcdFx0ICAgRTEwMDBfUkRUIDogRTEwMDBfODI1NDJfUkRUKTtcbi1cdFx0YnJlYWs7XG4tXHR9XG4mIzQzO1x0cmRiYSA9IGFkYXB0ZXItXHUwMDNlcnhfcmluZ1swXS5kbWE7XG4mIzQzO1x0ZXczMihSRExFTiwgcmRsZW4pO1xuJiM0MztcdGV3MzIoUkRCQUgsIChyZGJhIFx1MDAzZVx1MDAzZSAzMikpO1xuJiM0MztcdGV3MzIoUkRCQUwsIChyZGJhIFx1MDAyNiAweDAwMDAwMDAwZmZmZmZmZmZVTEwpKTtcbiYjNDM7XHRldzMyKFJEVCwgMCk7XG4mIzQzO1x0ZXczMihSREgsIDApO1xuJiM0MztcdGFkYXB0ZXItXHUwMDNlcnhfcmluZ1swXS5yZGggPSAoKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpID9cbiYjNDM7XHRcdFx0XHRcdEUxMDAwX1JESCA6IEUxMDAwXzgyNTQyX1JESCk7XG4mIzQzO1x0YWRhcHRlci1cdTAwM2VyeF9yaW5nWzBdLnJkdCA9ICgoaHctXHUwMDNlbWFjX3R5cGUgXHUwMDNlPSBlMTAwMF84MjU0MykgP1xuJiM0MztcdFx0XHRcdFx0RTEwMDBfUkRUIDogRTEwMDBfODI1NDJfUkRUKTtcbiBcbiBcdC8qIEVuYWJsZSA4MjU0MyBSZWNlaXZlIENoZWNrc3VtIE9mZmxvYWQgZm9yIFRDUCBhbmQgVURQICovXG4gXHRpZiAoaHctXHUwMDNlbWFjX3R5cGUgXHUwMDNlPSBlMTAwMF84MjU0Mykge1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMwIDE0OjU4PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCByZW1vdmVzIHJlZHVuZGFudCBzd2l0Y2ggc3RhdGVtZW50cyAod2l0aCBvbmx5IGNhc2UgMSBhbmQgZGVmYXVsdCkgaW4gZTEwMDBfY29uZmlndXJlX3R4IGFuZCBlMTAwMF9jb25maWd1cmVfcngsIHJlcGxhY2luZyB0aGVtIHdpdGggdGhlIHVuY29uZGl0aW9uYWwgZXhlY3V0aW9uIG9mIHRoZSBibG9jayYjMzk7cyBjb250ZW50cy4gVGhpcyBpcyBhIHB1cmVseSBzdHJ1Y3R1cmFsL3JlZmFjdG9yaW5nIGNoYW5nZSB0aGF0IGRvZXMgbm90IGZ1bmN0aW9uYWxseSBhbHRlciB0aGUgZXhlY3V0aW9uIGZsb3cuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgOGY1ZjhjOTUyYTE4YTc5YzA1NzQxMTAxNWY1YjY4Nzk5ZjJjZGMyMgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBUaHUgSnVsIDMwIDE0OjU4OjQyIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jCmluZGV4IDliMDllYjE0NGI4MTEuLjVkNjdkNjFlYmZlZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwL2UxMDAwX21haW4uYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9lMTAwMC9lMTAwMF9tYWluLmMKQEAgLTE1OTksMjQgJiM0MzsxNTk5LDE4IEBAIHN0YXRpYyB2b2lkIGUxMDAwX2NvbmZpZ3VyZV90eChzdHJ1Y3QgZTEwMDBfYWRhcHRlciAqYWRhcHRlcikKIAl1MzIgaXBncjEsIGlwZ3IyOwogCiAJLyogU2V0dXAgdGhlIEhXIFR4IEhlYWQgYW5kIFRhaWwgZGVzY3JpcHRvciBwb2ludGVycyAqLwotCi0Jc3dpdGNoIChhZGFwdGVyLSZndDtudW1fdHhfcXVldWVzKSB7Ci0JY2FzZSAxOgotCWRlZmF1bHQ6Ci0JCXRkYmEgPSBhZGFwdGVyLSZndDt0eF9yaW5nWzBdLmRtYTsKLQkJdGRsZW4gPSBhZGFwdGVyLSZndDt0eF9yaW5nWzBdLmNvdW50ICoKLQkJCXNpemVvZihzdHJ1Y3QgZTEwMDBfdHhfZGVzYyk7Ci0JCWV3MzIoVERMRU4sIHRkbGVuKTsKLQkJZXczMihUREJBSCwgKHRkYmEgJmd0OyZndDsgMzIpKTsKLQkJZXczMihUREJBTCwgKHRkYmEgJmFtcDsgMHgwMDAwMDAwMGZmZmZmZmZmVUxMKSk7Ci0JCWV3MzIoVERULCAwKTsKLQkJZXczMihUREgsIDApOwotCQlhZGFwdGVyLSZndDt0eF9yaW5nWzBdLnRkaCA9ICgoaHctJmd0O21hY190eXBlICZndDs9IGUxMDAwXzgyNTQzKSA/Ci0JCQkJCSAgIEUxMDAwX1RESCA6IEUxMDAwXzgyNTQyX1RESCk7Ci0JCWFkYXB0ZXItJmd0O3R4X3JpbmdbMF0udGR0ID0gKChody0mZ3Q7bWFjX3R5cGUgJmd0Oz0gZTEwMDBfODI1NDMpID8KLQkJCQkJICAgRTEwMDBfVERUIDogRTEwMDBfODI1NDJfVERUKTsKLQkJYnJlYWs7Ci0JfQomIzQzOwl0ZGJhID0gYWRhcHRlci0mZ3Q7dHhfcmluZ1swXS5kbWE7CiYjNDM7CXRkbGVuID0gYWRhcHRlci0mZ3Q7dHhfcmluZ1swXS5jb3VudCAqCiYjNDM7CQlzaXplb2Yoc3RydWN0IGUxMDAwX3R4X2Rlc2MpOwomIzQzOwlldzMyKFRETEVOLCB0ZGxlbik7CiYjNDM7CWV3MzIoVERCQUgsICh0ZGJhICZndDsmZ3Q7IDMyKSk7CiYjNDM7CWV3MzIoVERCQUwsICh0ZGJhICZhbXA7IDB4MDAwMDAwMDBmZmZmZmZmZlVMTCkpOwomIzQzOwlldzMyKFREVCwgMCk7CiYjNDM7CWV3MzIoVERILCAwKTsKJiM0MzsJYWRhcHRlci0mZ3Q7dHhfcmluZ1swXS50ZGggPSAoKGh3LSZndDttYWNfdHlwZSAmZ3Q7PSBlMTAwMF84MjU0MykgPwomIzQzOwkJCQkJRTEwMDBfVERIIDogRTEwMDBfODI1NDJfVERIKTsKJiM0MzsJYWRhcHRlci0mZ3Q7dHhfcmluZ1swXS50ZHQgPSAoKGh3LSZndDttYWNfdHlwZSAmZ3Q7PSBlMTAwMF84MjU0MykgPwomIzQzOwkJCQkJRTEwMDBfVERUIDogRTEwMDBfODI1NDJfVERUKTsKIAogCS8qIFNldCB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBUeCBJbnRlciBQYWNrZXQgR2FwIHRpbWVyICovCiAJaWYgKChody0mZ3Q7bWVkaWFfdHlwZSA9PSBlMTAwMF9tZWRpYV90eXBlX2ZpYmVyIHx8CkBAIC0xODg0LDIxICYjNDM7MTg3OCwxNiBAQCBzdGF0aWMgdm9pZCBlMTAwMF9jb25maWd1cmVfcngoc3RydWN0IGUxMDAwX2FkYXB0ZXIgKmFkYXB0ZXIpCiAJLyogU2V0dXAgdGhlIEhXIFJ4IEhlYWQgYW5kIFRhaWwgRGVzY3JpcHRvciBQb2ludGVycyBhbmQKIAkgKiB0aGUgQmFzZSBhbmQgTGVuZ3RoIG9mIHRoZSBSeCBEZXNjcmlwdG9yIFJpbmcKIAkgKi8KLQlzd2l0Y2ggKGFkYXB0ZXItJmd0O251bV9yeF9xdWV1ZXMpIHsKLQljYXNlIDE6Ci0JZGVmYXVsdDoKLQkJcmRiYSA9IGFkYXB0ZXItJmd0O3J4X3JpbmdbMF0uZG1hOwotCQlldzMyKFJETEVOLCByZGxlbik7Ci0JCWV3MzIoUkRCQUgsIChyZGJhICZndDsmZ3Q7IDMyKSk7Ci0JCWV3MzIoUkRCQUwsIChyZGJhICZhbXA7IDB4MDAwMDAwMDBmZmZmZmZmZlVMTCkpOwotCQlldzMyKFJEVCwgMCk7Ci0JCWV3MzIoUkRILCAwKTsKLQkJYWRhcHRlci0mZ3Q7cnhfcmluZ1swXS5yZGggPSAoKGh3LSZndDttYWNfdHlwZSAmZ3Q7PSBlMTAwMF84MjU0MykgPwotCQkJCQkgICBFMTAwMF9SREggOiBFMTAwMF84MjU0Ml9SREgpOwotCQlhZGFwdGVyLSZndDtyeF9yaW5nWzBdLnJkdCA9ICgoaHctJmd0O21hY190eXBlICZndDs9IGUxMDAwXzgyNTQzKSA/Ci0JCQkJCSAgIEUxMDAwX1JEVCA6IEUxMDAwXzgyNTQyX1JEVCk7Ci0JCWJyZWFrOwotCX0KJiM0MzsJcmRiYSA9IGFkYXB0ZXItJmd0O3J4X3JpbmdbMF0uZG1hOwomIzQzOwlldzMyKFJETEVOLCByZGxlbik7CiYjNDM7CWV3MzIoUkRCQUgsIChyZGJhICZndDsmZ3Q7IDMyKSk7CiYjNDM7CWV3MzIoUkRCQUwsIChyZGJhICZhbXA7IDB4MDAwMDAwMDBmZmZmZmZmZlVMTCkpOwomIzQzOwlldzMyKFJEVCwgMCk7CiYjNDM7CWV3MzIoUkRILCAwKTsKJiM0MzsJYWRhcHRlci0mZ3Q7cnhfcmluZ1swXS5yZGggPSAoKGh3LSZndDttYWNfdHlwZSAmZ3Q7PSBlMTAwMF84MjU0MykgPwomIzQzOwkJCQkJRTEwMDBfUkRIIDogRTEwMDBfODI1NDJfUkRIKTsKJiM0MzsJYWRhcHRlci0mZ3Q7cnhfcmluZ1swXS5yZHQgPSAoKGh3LSZndDttYWNfdHlwZSAmZ3Q7PSBlMTAwMF84MjU0MykgPwomIzQzOwkJCQkJRTEwMDBfUkRUIDogRTEwMDBfODI1NDJfUkRUKTsKIAogCS8qIEVuYWJsZSA4MjU0MyBSZWNlaXZlIENoZWNrc3VtIE9mZmxvYWQgZm9yIFRDUCBhbmQgVURQICovCiAJaWYgKGh3LSZndDttYWNfdHlwZSAmZ3Q7PSBlMTAwMF84MjU0Mykgewo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMCAxNDo1ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzMjczCgkJCQkJCQlvdXRwdXQ6IDk4CgkJCQkJCQl0aG91Z2h0czogMzI5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKlJlZmFjdG9yaW5nIEFuYWx5c2lzOiBlMTAwMCBEcml2ZXIqKgoKT2theSwgbGV0JiMzOTtzIHRha2UgYSBsb29rIGF0IHRoaXMgcGF0Y2guIEl0IGFwcGVhcnMgdG8gdGFyZ2V0IGBkcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9lMTAwMC9lMTAwMF9tYWluLmNgLiBNeSBpbml0aWFsIGFzc2Vzc21lbnQgaXMgdGhhdCB0aGlzIGlzIHB1cmVseSBhIHN0eWxpc3RpYyBjaGFuZ2UsIGEgcmVmYWN0b3JpbmcuIFRoZSBjb2RlIHJlbW92ZXMgcmVkdW5kYW50IGBzd2l0Y2hgIHN0YXRlbWVudHMsIHNwZWNpZmljYWxseSB0aG9zZSBoYW5kbGluZyBgYWRhcHRlci0mZ3Q7bnVtX3R4X3F1ZXVlc2AgYW5kIGBhZGFwdGVyLSZndDtudW1fcnhfcXVldWVzYC4gVGhlIGRpZmYgaW1tZWRpYXRlbHkgY29uZmlybXMgbXkgc3VzcGljaW9uOgoKYGBgYwotCXN3aXRjaCAoYWRhcHRlci0mZ3Q7bnVtX3R4X3F1ZXVlcykgewotCWNhc2UgMToKLQlkZWZhdWx0OgotCQl0ZGJhID0gYWRhcHRlci0mZ3Q7dHhfcmluZ1swXS5kbWE7Ci4uLgotCQlicmVhazsKLQl9CiYjNDM7CXRkYmEgPSBhZGFwdGVyLSZndDt0eF9yaW5nWzBdLmRtYTsKYGBgCgpJdCYjMzk7cyBlc3NlbnRpYWxseSBlbGltaW5hdGluZyBhIGBzd2l0Y2hgIHN0YXRlbWVudCB3aGVyZSAqYm90aCogY2FzZXMgYXJlIGhhbmRsZWQgaWRlbnRpY2FsbHkgKCBgY2FzZSAxOmAgYW5kIGBkZWZhdWx0OmAgcmVzdWx0IGluIHRoZSBzYW1lIGNvZGUgZXhlY3V0aW9uKS4gU28sIHRoZXJlIGlzIG5vIGNoYW5nZSBpbiB0aGUgKmZ1bmN0aW9uYWwqIGV4ZWN1dGlvbiBwYXRoLiBUaGUgY29kZSB1bmNvbmRpdGlvbmFsbHkgZXhlY3V0ZWQgdGhlIGJsb2NrIGFueXdheSwgbWFraW5nIHRoZSBgc3dpdGNoYCBzdGF0ZW1lbnQgc3VwZXJmbHVvdXMuCgpJIHNlZSB0aGUgc2FtZSBwYXR0ZXJuIGluIGBlMTAwMF9jb25maWd1cmVfdHhgIGFuZCBgZTEwMDBfY29uZmlndXJlX3J4YC4gTm8gZnVuY3Rpb25hbCBjaGFuZ2UsIGp1c3QgdGhlIHJlbW92YWwgb2YgdGhvc2UgcG9pbnRsZXNzIGBzd2l0Y2hgIHN0YXRlbWVudHMuIFRoZXJlJiMzOTtzIG5vdGhpbmcgbW9yZSB0byBpdC4KClRoZXJlZm9yZSwgYWZ0ZXIgdGhpcyB0aG9yb3VnaCByZXZpZXcsIEkmIzM5O20gY29uZmlkZW50IGluIHNldHRpbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuIFRoaXMgcGF0Y2ggaXMgcHVyZWx5IGNvc21ldGljIGFuZCBkb2VzbiYjMzk7dCBpbnRyb2R1Y2UgYW55IG5ldyBsb2dpYyBvciBwb3RlbnRpYWwgdnVsbmVyYWJpbGl0aWVzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMwIDE0OjU4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggcmVtb3ZlcyByZWR1bmRhbnQgc3dpdGNoIHN0YXRlbWVudHMgKHdpdGggb25seSBjYXNlIDEgYW5kIGRlZmF1bHQpIGluIGUxMDAwX2NvbmZpZ3VyZV90eCBhbmQgZTEwMDBfY29uZmlndXJlX3J4LCByZXBsYWNpbmcgdGhlbSB3aXRoIHRoZSB1bmNvbmRpdGlvbmFsIGV4ZWN1dGlvbiBvZiB0aGUgYmxvY2smIzM5O3MgY29udGVudHMuIFRoaXMgaXMgYSBwdXJlbHkgc3RydWN0dXJhbC9yZWZhY3RvcmluZyBjaGFuZ2UgdGhhdCBkb2VzIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgdGhlIGV4ZWN1dGlvbiBmbG93LiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggcmVtb3ZlcyByZWR1bmRhbnQgc3dpdGNoIHN0YXRlbWVudHMgKHdpdGggb25seSBjYXNlIDEgYW5kIGRlZmF1bHQpIGluIGUxMDAwX2NvbmZpZ3VyZV90eCBhbmQgZTEwMDBfY29uZmlndXJlX3J4LCByZXBsYWNpbmcgdGhlbSB3aXRoIHRoZSB1bmNvbmRpdGlvbmFsIGV4ZWN1dGlvbiBvZiB0aGUgYmxvY2smIzM5O3MgY29udGVudHMuIFRoaXMgaXMgYSBwdXJlbHkgc3RydWN0dXJhbC9yZWZhY3RvcmluZyBjaGFuZ2UgdGhhdCBkb2VzIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgdGhlIGV4ZWN1dGlvbiBmbG93LiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMwVDE0OjU4OjQzLjQwMTQ0NzkxNloiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjczMjg1MDM4NzAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIHJlbW92ZXMgcmVkdW5kYW50IHN3aXRjaCBzdGF0ZW1lbnRzICh3aXRoIG9ubHkgY2FzZSAxIGFuZCBkZWZhdWx0KSBpbiBlMTAwMF9jb25maWd1cmVfdHggYW5kIGUxMDAwX2NvbmZpZ3VyZV9yeCwgcmVwbGFjaW5nIHRoZW0gd2l0aCB0aGUgdW5jb25kaXRpb25hbCBleGVjdXRpb24gb2YgdGhlIGJsb2NrJ3MgY29udGVudHMuIFRoaXMgaXMgYSBwdXJlbHkgc3RydWN0dXJhbC9yZWZhY3RvcmluZyBjaGFuZ2UgdGhhdCBkb2VzIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgdGhlIGV4ZWN1dGlvbiBmbG93LlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzBUMTQ6NTg6NDMuNDAxNDU1NjA3WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MzUzOTkwNzMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA4ZjVmOGM5NTJhMThhNzljMDU3NDExMDE1ZjViNjg3OTlmMmNkYzIyXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUaHUgSnVsIDMwIDE0OjU4OjQyIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwL2UxMDAwX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwL2UxMDAwX21haW4uY1xcbmluZGV4IDliMDllYjE0NGI4MTEuLjVkNjdkNjFlYmZlZWUgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jXFxuQEAgLTE1OTksMjQgKzE1OTksMTggQEAgc3RhdGljIHZvaWQgZTEwMDBfY29uZmlndXJlX3R4KHN0cnVjdCBlMTAwMF9hZGFwdGVyICphZGFwdGVyKVxcbiBcXHR1MzIgaXBncjEsIGlwZ3IyO1xcbiBcXG4gXFx0LyogU2V0dXAgdGhlIEhXIFR4IEhlYWQgYW5kIFRhaWwgZGVzY3JpcHRvciBwb2ludGVycyAqL1xcbi1cXG4tXFx0c3dpdGNoIChhZGFwdGVyLVxcdTAwM2VudW1fdHhfcXVldWVzKSB7XFxuLVxcdGNhc2UgMTpcXG4tXFx0ZGVmYXVsdDpcXG4tXFx0XFx0dGRiYSA9IGFkYXB0ZXItXFx1MDAzZXR4X3JpbmdbMF0uZG1hO1xcbi1cXHRcXHR0ZGxlbiA9IGFkYXB0ZXItXFx1MDAzZXR4X3JpbmdbMF0uY291bnQgKlxcbi1cXHRcXHRcXHRzaXplb2Yoc3RydWN0IGUxMDAwX3R4X2Rlc2MpO1xcbi1cXHRcXHRldzMyKFRETEVOLCB0ZGxlbik7XFxuLVxcdFxcdGV3MzIoVERCQUgsICh0ZGJhIFxcdTAwM2VcXHUwMDNlIDMyKSk7XFxuLVxcdFxcdGV3MzIoVERCQUwsICh0ZGJhIFxcdTAwMjYgMHgwMDAwMDAwMGZmZmZmZmZmVUxMKSk7XFxuLVxcdFxcdGV3MzIoVERULCAwKTtcXG4tXFx0XFx0ZXczMihUREgsIDApO1xcbi1cXHRcXHRhZGFwdGVyLVxcdTAwM2V0eF9yaW5nWzBdLnRkaCA9ICgoaHctXFx1MDAzZW1hY190eXBlIFxcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XFxuLVxcdFxcdFxcdFxcdFxcdCAgIEUxMDAwX1RESCA6IEUxMDAwXzgyNTQyX1RESCk7XFxuLVxcdFxcdGFkYXB0ZXItXFx1MDAzZXR4X3JpbmdbMF0udGR0ID0gKChody1cXHUwMDNlbWFjX3R5cGUgXFx1MDAzZT0gZTEwMDBfODI1NDMpID9cXG4tXFx0XFx0XFx0XFx0XFx0ICAgRTEwMDBfVERUIDogRTEwMDBfODI1NDJfVERUKTtcXG4tXFx0XFx0YnJlYWs7XFxuLVxcdH1cXG4rXFx0dGRiYSA9IGFkYXB0ZXItXFx1MDAzZXR4X3JpbmdbMF0uZG1hO1xcbitcXHR0ZGxlbiA9IGFkYXB0ZXItXFx1MDAzZXR4X3JpbmdbMF0uY291bnQgKlxcbitcXHRcXHRzaXplb2Yoc3RydWN0IGUxMDAwX3R4X2Rlc2MpO1xcbitcXHRldzMyKFRETEVOLCB0ZGxlbik7XFxuK1xcdGV3MzIoVERCQUgsICh0ZGJhIFxcdTAwM2VcXHUwMDNlIDMyKSk7XFxuK1xcdGV3MzIoVERCQUwsICh0ZGJhIFxcdTAwMjYgMHgwMDAwMDAwMGZmZmZmZmZmVUxMKSk7XFxuK1xcdGV3MzIoVERULCAwKTtcXG4rXFx0ZXczMihUREgsIDApO1xcbitcXHRhZGFwdGVyLVxcdTAwM2V0eF9yaW5nWzBdLnRkaCA9ICgoaHctXFx1MDAzZW1hY190eXBlIFxcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XFxuK1xcdFxcdFxcdFxcdFxcdEUxMDAwX1RESCA6IEUxMDAwXzgyNTQyX1RESCk7XFxuK1xcdGFkYXB0ZXItXFx1MDAzZXR4X3JpbmdbMF0udGR0ID0gKChody1cXHUwMDNlbWFjX3R5cGUgXFx1MDAzZT0gZTEwMDBfODI1NDMpID9cXG4rXFx0XFx0XFx0XFx0XFx0RTEwMDBfVERUIDogRTEwMDBfODI1NDJfVERUKTtcXG4gXFxuIFxcdC8qIFNldCB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBUeCBJbnRlciBQYWNrZXQgR2FwIHRpbWVyICovXFxuIFxcdGlmICgoaHctXFx1MDAzZW1lZGlhX3R5cGUgPT0gZTEwMDBfbWVkaWFfdHlwZV9maWJlciB8fFxcbkBAIC0xODg0LDIxICsxODc4LDE2IEBAIHN0YXRpYyB2b2lkIGUxMDAwX2NvbmZpZ3VyZV9yeChzdHJ1Y3QgZTEwMDBfYWRhcHRlciAqYWRhcHRlcilcXG4gXFx0LyogU2V0dXAgdGhlIEhXIFJ4IEhlYWQgYW5kIFRhaWwgRGVzY3JpcHRvciBQb2ludGVycyBhbmRcXG4gXFx0ICogdGhlIEJhc2UgYW5kIExlbmd0aCBvZiB0aGUgUnggRGVzY3JpcHRvciBSaW5nXFxuIFxcdCAqL1xcbi1cXHRzd2l0Y2ggKGFkYXB0ZXItXFx1MDAzZW51bV9yeF9xdWV1ZXMpIHtcXG4tXFx0Y2FzZSAxOlxcbi1cXHRkZWZhdWx0Olxcbi1cXHRcXHRyZGJhID0gYWRhcHRlci1cXHUwMDNlcnhfcmluZ1swXS5kbWE7XFxuLVxcdFxcdGV3MzIoUkRMRU4sIHJkbGVuKTtcXG4tXFx0XFx0ZXczMihSREJBSCwgKHJkYmEgXFx1MDAzZVxcdTAwM2UgMzIpKTtcXG4tXFx0XFx0ZXczMihSREJBTCwgKHJkYmEgXFx1MDAyNiAweDAwMDAwMDAwZmZmZmZmZmZVTEwpKTtcXG4tXFx0XFx0ZXczMihSRFQsIDApO1xcbi1cXHRcXHRldzMyKFJESCwgMCk7XFxuLVxcdFxcdGFkYXB0ZXItXFx1MDAzZXJ4X3JpbmdbMF0ucmRoID0gKChody1cXHUwMDNlbWFjX3R5cGUgXFx1MDAzZT0gZTEwMDBfODI1NDMpID9cXG4tXFx0XFx0XFx0XFx0XFx0ICAgRTEwMDBfUkRIIDogRTEwMDBfODI1NDJfUkRIKTtcXG4tXFx0XFx0YWRhcHRlci1cXHUwMDNlcnhfcmluZ1swXS5yZHQgPSAoKGh3LVxcdTAwM2VtYWNfdHlwZSBcXHUwMDNlPSBlMTAwMF84MjU0MykgP1xcbi1cXHRcXHRcXHRcXHRcXHQgICBFMTAwMF9SRFQgOiBFMTAwMF84MjU0Ml9SRFQpO1xcbi1cXHRcXHRicmVhaztcXG4tXFx0fVxcbitcXHRyZGJhID0gYWRhcHRlci1cXHUwMDNlcnhfcmluZ1swXS5kbWE7XFxuK1xcdGV3MzIoUkRMRU4sIHJkbGVuKTtcXG4rXFx0ZXczMihSREJBSCwgKHJkYmEgXFx1MDAzZVxcdTAwM2UgMzIpKTtcXG4rXFx0ZXczMihSREJBTCwgKHJkYmEgXFx1MDAyNiAweDAwMDAwMDAwZmZmZmZmZmZVTEwpKTtcXG4rXFx0ZXczMihSRFQsIDApO1xcbitcXHRldzMyKFJESCwgMCk7XFxuK1xcdGFkYXB0ZXItXFx1MDAzZXJ4X3JpbmdbMF0ucmRoID0gKChody1cXHUwMDNlbWFjX3R5cGUgXFx1MDAzZT0gZTEwMDBfODI1NDMpID9cXG4rXFx0XFx0XFx0XFx0XFx0RTEwMDBfUkRIIDogRTEwMDBfODI1NDJfUkRIKTtcXG4rXFx0YWRhcHRlci1cXHUwMDNlcnhfcmluZ1swXS5yZHQgPSAoKGh3LVxcdTAwM2VtYWNfdHlwZSBcXHUwMDNlPSBlMTAwMF84MjU0MykgP1xcbitcXHRcXHRcXHRcXHRcXHRFMTAwMF9SRFQgOiBFMTAwMF84MjU0Ml9SRFQpO1xcbiBcXG4gXFx0LyogRW5hYmxlIDgyNTQzIFJlY2VpdmUgQ2hlY2tzdW0gT2ZmbG9hZCBmb3IgVENQIGFuZCBVRFAgKi9cXG4gXFx0aWYgKGh3LVxcdTAwM2VtYWNfdHlwZSBcXHUwMDNlPSBlMTAwMF84MjU0Mykge1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMFQxNDo1ODo0My44Mzc0MzQ5NDlaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjo2ODkyNTExNDY3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZW1vdmVzIHJlZHVuZGFudCBzd2l0Y2ggc3RhdGVtZW50cyAod2l0aCBvbmx5IGNhc2UgMSBhbmQgZGVmYXVsdCkgaW4gZTEwMDBfY29uZmlndXJlX3R4IGFuZCBlMTAwMF9jb25maWd1cmVfcngsIHJlcGxhY2luZyB0aGVtIHdpdGggdGhlIHVuY29uZGl0aW9uYWwgZXhlY3V0aW9uIG9mIHRoZSBibG9jaydzIGNvbnRlbnRzLiBUaGlzIGlzIGEgcHVyZWx5IHN0cnVjdHVyYWwvcmVmYWN0b3JpbmcgY2hhbmdlIHRoYXQgZG9lcyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIHRoZSBleGVjdXRpb24gZmxvdy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDhmNWY4Yzk1MmExOGE3OWMwNTc0MTEwMTVmNWI2ODc5OWYyY2RjMjJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEp1bCAzMCAxNDo1ODo0MiAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwL2UxMDAwX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwL2UxMDAwX21haW4uY1xuaW5kZXggOWIwOWViMTQ0YjgxMS4uNWQ2N2Q2MWViZmVlZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwL2UxMDAwX21haW4uY1xuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDAvZTEwMDBfbWFpbi5jXG5AQCAtMTU5OSwyNCArMTU5OSwxOCBAQCBzdGF0aWMgdm9pZCBlMTAwMF9jb25maWd1cmVfdHgoc3RydWN0IGUxMDAwX2FkYXB0ZXIgKmFkYXB0ZXIpXG4gXHR1MzIgaXBncjEsIGlwZ3IyO1xuIFxuIFx0LyogU2V0dXAgdGhlIEhXIFR4IEhlYWQgYW5kIFRhaWwgZGVzY3JpcHRvciBwb2ludGVycyAqL1xuLVxuLVx0c3dpdGNoIChhZGFwdGVyLVx1MDAzZW51bV90eF9xdWV1ZXMpIHtcbi1cdGNhc2UgMTpcbi1cdGRlZmF1bHQ6XG4tXHRcdHRkYmEgPSBhZGFwdGVyLVx1MDAzZXR4X3JpbmdbMF0uZG1hO1xuLVx0XHR0ZGxlbiA9IGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS5jb3VudCAqXG4tXHRcdFx0c2l6ZW9mKHN0cnVjdCBlMTAwMF90eF9kZXNjKTtcbi1cdFx0ZXczMihURExFTiwgdGRsZW4pO1xuLVx0XHRldzMyKFREQkFILCAodGRiYSBcdTAwM2VcdTAwM2UgMzIpKTtcbi1cdFx0ZXczMihUREJBTCwgKHRkYmEgXHUwMDI2IDB4MDAwMDAwMDBmZmZmZmZmZlVMTCkpO1xuLVx0XHRldzMyKFREVCwgMCk7XG4tXHRcdGV3MzIoVERILCAwKTtcbi1cdFx0YWRhcHRlci1cdTAwM2V0eF9yaW5nWzBdLnRkaCA9ICgoaHctXHUwMDNlbWFjX3R5cGUgXHUwMDNlPSBlMTAwMF84MjU0MykgP1xuLVx0XHRcdFx0XHQgICBFMTAwMF9UREggOiBFMTAwMF84MjU0Ml9UREgpO1xuLVx0XHRhZGFwdGVyLVx1MDAzZXR4X3JpbmdbMF0udGR0ID0gKChody1cdTAwM2VtYWNfdHlwZSBcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XG4tXHRcdFx0XHRcdCAgIEUxMDAwX1REVCA6IEUxMDAwXzgyNTQyX1REVCk7XG4tXHRcdGJyZWFrO1xuLVx0fVxuK1x0dGRiYSA9IGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS5kbWE7XG4rXHR0ZGxlbiA9IGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS5jb3VudCAqXG4rXHRcdHNpemVvZihzdHJ1Y3QgZTEwMDBfdHhfZGVzYyk7XG4rXHRldzMyKFRETEVOLCB0ZGxlbik7XG4rXHRldzMyKFREQkFILCAodGRiYSBcdTAwM2VcdTAwM2UgMzIpKTtcbitcdGV3MzIoVERCQUwsICh0ZGJhIFx1MDAyNiAweDAwMDAwMDAwZmZmZmZmZmZVTEwpKTtcbitcdGV3MzIoVERULCAwKTtcbitcdGV3MzIoVERILCAwKTtcbitcdGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS50ZGggPSAoKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpID9cbitcdFx0XHRcdFx0RTEwMDBfVERIIDogRTEwMDBfODI1NDJfVERIKTtcbitcdGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS50ZHQgPSAoKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpID9cbitcdFx0XHRcdFx0RTEwMDBfVERUIDogRTEwMDBfODI1NDJfVERUKTtcbiBcbiBcdC8qIFNldCB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBUeCBJbnRlciBQYWNrZXQgR2FwIHRpbWVyICovXG4gXHRpZiAoKGh3LVx1MDAzZW1lZGlhX3R5cGUgPT0gZTEwMDBfbWVkaWFfdHlwZV9maWJlciB8fFxuQEAgLTE4ODQsMjEgKzE4NzgsMTYgQEAgc3RhdGljIHZvaWQgZTEwMDBfY29uZmlndXJlX3J4KHN0cnVjdCBlMTAwMF9hZGFwdGVyICphZGFwdGVyKVxuIFx0LyogU2V0dXAgdGhlIEhXIFJ4IEhlYWQgYW5kIFRhaWwgRGVzY3JpcHRvciBQb2ludGVycyBhbmRcbiBcdCAqIHRoZSBCYXNlIGFuZCBMZW5ndGggb2YgdGhlIFJ4IERlc2NyaXB0b3IgUmluZ1xuIFx0ICovXG4tXHRzd2l0Y2ggKGFkYXB0ZXItXHUwMDNlbnVtX3J4X3F1ZXVlcykge1xuLVx0Y2FzZSAxOlxuLVx0ZGVmYXVsdDpcbi1cdFx0cmRiYSA9IGFkYXB0ZXItXHUwMDNlcnhfcmluZ1swXS5kbWE7XG4tXHRcdGV3MzIoUkRMRU4sIHJkbGVuKTtcbi1cdFx0ZXczMihSREJBSCwgKHJkYmEgXHUwMDNlXHUwMDNlIDMyKSk7XG4tXHRcdGV3MzIoUkRCQUwsIChyZGJhIFx1MDAyNiAweDAwMDAwMDAwZmZmZmZmZmZVTEwpKTtcbi1cdFx0ZXczMihSRFQsIDApO1xuLVx0XHRldzMyKFJESCwgMCk7XG4tXHRcdGFkYXB0ZXItXHUwMDNlcnhfcmluZ1swXS5yZGggPSAoKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpID9cbi1cdFx0XHRcdFx0ICAgRTEwMDBfUkRIIDogRTEwMDBfODI1NDJfUkRIKTtcbi1cdFx0YWRhcHRlci1cdTAwM2VyeF9yaW5nWzBdLnJkdCA9ICgoaHctXHUwMDNlbWFjX3R5cGUgXHUwMDNlPSBlMTAwMF84MjU0MykgP1xuLVx0XHRcdFx0XHQgICBFMTAwMF9SRFQgOiBFMTAwMF84MjU0Ml9SRFQpO1xuLVx0XHRicmVhaztcbi1cdH1cbitcdHJkYmEgPSBhZGFwdGVyLVx1MDAzZXJ4X3JpbmdbMF0uZG1hO1xuK1x0ZXczMihSRExFTiwgcmRsZW4pO1xuK1x0ZXczMihSREJBSCwgKHJkYmEgXHUwMDNlXHUwMDNlIDMyKSk7XG4rXHRldzMyKFJEQkFMLCAocmRiYSBcdTAwMjYgMHgwMDAwMDAwMGZmZmZmZmZmVUxMKSk7XG4rXHRldzMyKFJEVCwgMCk7XG4rXHRldzMyKFJESCwgMCk7XG4rXHRhZGFwdGVyLVx1MDAzZXJ4X3JpbmdbMF0ucmRoID0gKChody1cdTAwM2VtYWNfdHlwZSBcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XG4rXHRcdFx0XHRcdEUxMDAwX1JESCA6IEUxMDAwXzgyNTQyX1JESCk7XG4rXHRhZGFwdGVyLVx1MDAzZXJ4X3JpbmdbMF0ucmR0ID0gKChody1cdTAwM2VtYWNfdHlwZSBcdTAwM2U9IGUxMDAwXzgyNTQzKSA/XG4rXHRcdFx0XHRcdEUxMDAwX1JEVCA6IEUxMDAwXzgyNTQyX1JEVCk7XG4gXG4gXHQvKiBFbmFibGUgODI1NDMgUmVjZWl2ZSBDaGVja3N1bSBPZmZsb2FkIGZvciBUQ1AgYW5kIFVEUCAqL1xuIFx0aWYgKGh3LVx1MDAzZW1hY190eXBlIFx1MDAzZT0gZTEwMDBfODI1NDMpIHtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMwVDE0OjU4OjQzLjgzNzQzNloiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY4OTI0ODgzOTYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqUmVmYWN0b3JpbmcgQW5hbHlzaXM6IGUxMDAwIERyaXZlcioqXG5cbk9rYXksIGxldCdzIHRha2UgYSBsb29rIGF0IHRoaXMgcGF0Y2guIEl0IGFwcGVhcnMgdG8gdGFyZ2V0IGBkcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9lMTAwMC9lMTAwMF9tYWluLmNgLiBNeSBpbml0aWFsIGFzc2Vzc21lbnQgaXMgdGhhdCB0aGlzIGlzIHB1cmVseSBhIHN0eWxpc3RpYyBjaGFuZ2UsIGEgcmVmYWN0b3JpbmcuIFRoZSBjb2RlIHJlbW92ZXMgcmVkdW5kYW50IGBzd2l0Y2hgIHN0YXRlbWVudHMsIHNwZWNpZmljYWxseSB0aG9zZSBoYW5kbGluZyBgYWRhcHRlci1cdTAwM2VudW1fdHhfcXVldWVzYCBhbmQgYGFkYXB0ZXItXHUwMDNlbnVtX3J4X3F1ZXVlc2AuIFRoZSBkaWZmIGltbWVkaWF0ZWx5IGNvbmZpcm1zIG15IHN1c3BpY2lvbjpcblxuYGBgY1xuLVx0c3dpdGNoIChhZGFwdGVyLVx1MDAzZW51bV90eF9xdWV1ZXMpIHtcbi1cdGNhc2UgMTpcbi1cdGRlZmF1bHQ6XG4tXHRcdHRkYmEgPSBhZGFwdGVyLVx1MDAzZXR4X3JpbmdbMF0uZG1hO1xuLi4uXG4tXHRcdGJyZWFrO1xuLVx0fVxuK1x0dGRiYSA9IGFkYXB0ZXItXHUwMDNldHhfcmluZ1swXS5kbWE7XG5gYGBcblxuSXQncyBlc3NlbnRpYWxseSBlbGltaW5hdGluZyBhIGBzd2l0Y2hgIHN0YXRlbWVudCB3aGVyZSAqYm90aCogY2FzZXMgYXJlIGhhbmRsZWQgaWRlbnRpY2FsbHkgKCBgY2FzZSAxOmAgYW5kIGBkZWZhdWx0OmAgcmVzdWx0IGluIHRoZSBzYW1lIGNvZGUgZXhlY3V0aW9uKS4gU28sIHRoZXJlIGlzIG5vIGNoYW5nZSBpbiB0aGUgKmZ1bmN0aW9uYWwqIGV4ZWN1dGlvbiBwYXRoLiBUaGUgY29kZSB1bmNvbmRpdGlvbmFsbHkgZXhlY3V0ZWQgdGhlIGJsb2NrIGFueXdheSwgbWFraW5nIHRoZSBgc3dpdGNoYCBzdGF0ZW1lbnQgc3VwZXJmbHVvdXMuXG5cbkkgc2VlIHRoZSBzYW1lIHBhdHRlcm4gaW4gYGUxMDAwX2NvbmZpZ3VyZV90eGAgYW5kIGBlMTAwMF9jb25maWd1cmVfcnhgLiBObyBmdW5jdGlvbmFsIGNoYW5nZSwganVzdCB0aGUgcmVtb3ZhbCBvZiB0aG9zZSBwb2ludGxlc3MgYHN3aXRjaGAgc3RhdGVtZW50cy4gVGhlcmUncyBub3RoaW5nIG1vcmUgdG8gaXQuXG5cblRoZXJlZm9yZSwgYWZ0ZXIgdGhpcyB0aG9yb3VnaCByZXZpZXcsIEknbSBjb25maWRlbnQgaW4gc2V0dGluZyBgV29ydGhGdXp6aW5nPWZhbHNlYC4gVGhpcyBwYXRjaCBpcyBwdXJlbHkgY29zbWV0aWMgYW5kIGRvZXNuJ3QgaW50cm9kdWNlIGFueSBuZXcgbG9naWMgb3IgcG90ZW50aWFsIHZ1bG5lcmFiaWxpdGllcy5cblxuXG4iLCJJbnB1dFRva2VucyI6MzI3MywiT3V0cHV0VG9rZW5zIjo5OCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjMyOSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMwVDE0OjU4OjUwLjcyOTkyNjI0NloiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTg2MDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggcmVtb3ZlcyByZWR1bmRhbnQgc3dpdGNoIHN0YXRlbWVudHMgKHdpdGggb25seSBjYXNlIDEgYW5kIGRlZmF1bHQpIGluIGUxMDAwX2NvbmZpZ3VyZV90eCBhbmQgZTEwMDBfY29uZmlndXJlX3J4LCByZXBsYWNpbmcgdGhlbSB3aXRoIHRoZSB1bmNvbmRpdGlvbmFsIGV4ZWN1dGlvbiBvZiB0aGUgYmxvY2sncyBjb250ZW50cy4gVGhpcyBpcyBhIHB1cmVseSBzdHJ1Y3R1cmFsL3JlZmFjdG9yaW5nIGNoYW5nZSB0aGF0IGRvZXMgbm90IGZ1bmN0aW9uYWxseSBhbHRlciB0aGUgZXhlY3V0aW9uIGZsb3cuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZW1vdmVzIHJlZHVuZGFudCBzd2l0Y2ggc3RhdGVtZW50cyAod2l0aCBvbmx5IGNhc2UgMSBhbmQgZGVmYXVsdCkgaW4gZTEwMDBfY29uZmlndXJlX3R4IGFuZCBlMTAwMF9jb25maWd1cmVfcngsIHJlcGxhY2luZyB0aGVtIHdpdGggdGhlIHVuY29uZGl0aW9uYWwgZXhlY3V0aW9uIG9mIHRoZSBibG9jaydzIGNvbnRlbnRzLiBUaGlzIGlzIGEgcHVyZWx5IHN0cnVjdHVyYWwvcmVmYWN0b3JpbmcgY2hhbmdlIHRoYXQgZG9lcyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIHRoZSBleGVjdXRpb24gZmxvdy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },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-workflowcfb84[1] Phase: Running StartedAt: 2026-07-30 14:59:36 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcfb84[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-07-30 14:59:36 +0000 UTC FinishedAt: 2026-07-30 14:59:42 +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,}