PG1ldGEgY2hhcnNldD0ia29pOC1yIj4KPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgo8c2NyaXB0PgppZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKCmZ1bmN0aW9uIHJlc3VsdChpKSB7CiAgICByZXR1cm4gd2luZG93LmZyYW1lc1tpXS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJ0ZXN0Iik7Cn0KCmZ1bmN0aW9uIHRlc3QoKSB7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIjEuICIgKyAocmVzdWx0KDApID09ICLw0s/XxdLLwSIgPyAiU1VDQ0VTUyIgOiAiRkFJTFVSRTogIiArIHJlc3VsdCgwKSkgKyAiLlxyIjsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gIjIuICIgKyAocmVzdWx0KDEpID09ICLw0s/XxdLLwSIgPyAiU1VDQ0VTUyIgOiAiRkFJTFVSRTogIiArIHJlc3VsdCgxKSkgKyAiLlxyIjsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gIjMuICIgKyAocmVzdWx0KDIpID09ICLw0s/XxdLLwSIgPyAiU1VDQ0VTUyIgOiAiRkFJTFVSRTogIiArIHJlc3VsdCgyKSkgKyAiLlxyIjsKfQo8L3NjcmlwdD4KPHA+VGVzdCB0aGF0IG5vbi1BU0NJSSBkYXRhOiBVUkxzIGFyZSBoYW5kbGVkIGNvcnJlY3RseS48L3A+CjxwcmUgaWQ9cmVzdWx0PjwvcHJlPgo8aWZyYW1lIHNyYz0iZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsPHN2ZyB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiB0ZXN0PSfw0s/XxdLLwSc+PC9zdmc+Ij48L2lmcmFtZT4KPGlmcmFtZSBzcmM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LDxzdmcgeG1sbnM9JTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIgZm9vPScjJyB0ZXN0PSfw0s/XxdLLwSc+PC9zdmc+Ij48L2lmcmFtZT4KPGlmcmFtZSBzcmM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LDxzdmcgeG1sbnM9JTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIgZm9vPScjJyB0ZXN0PSclRDAlOUYlRDElODAlRDAlQkUlRDAlQjIlRDAlQjUlRDElODAlRDAlQkElRDAlQjAnPjwvc3ZnPiI+PC9pZnJhbWU+CjwvYm9keT4K