Lyog7YFn7ZSM66atIOq0gOugqCAqLwpsZXQgdGVtcGxhdGVzID0gW107CgpmdW5jdGlvbiBsb2FkVGVtcGxhdGVzKCkgewogICAgZmV0Y2goJy9hcGkvdGVtcGxhdGVzJykKICAgIC50aGVuKHIgPT4gci5qc29uKCkpCiAgICAudGhlbihkYXRhID0+IHsKICAgICAgICB0ZW1wbGF0ZXMgPSBkYXRhOwogICAgICAgIHJlbmRlclRlbXBsYXRlTGlzdCgpOwogICAgfSk7Cn0KCmZ1bmN0aW9uIHJlbmRlclRlbXBsYXRlTGlzdCgpIHsKICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1c2VyVGVtcGxhdGVzTGlzdE5ldycpOwogICAgaWYgKCFjb250YWluZXIpIHJldHVybjsKICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSB0ZW1wbGF0ZXMubWFwKHRtcCA9PgogICAgICAgIGA8ZGl2IGNsYXNzPSJ0ZW1wbGF0ZS1pdGVtIiBvbmNsaWNrPSJzZWxlY3RUZW1wbGF0ZSgnJHt0bXAuaWR9JykiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFiZWwiPiR7dG1wLm5hbWV9PC9zcGFuPgogICAgICAgIDwvZGl2PmAKICAgICkuam9pbignJyk7Cn0KCmZ1bmN0aW9uIHNlbGVjdFRlbXBsYXRlKGlkKSB7CiAgICBjdXJyZW50VGVtcGxhdGUgPSBpZDsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50ZW1wbGF0ZS1pdGVtJykuZm9yRWFjaChpdGVtID0+IHsKICAgICAgICBpdGVtLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyk7CiAgICB9KTsKICAgIC8vIC4uLgp9Cgo=