Lyog7KCE7L2UIFVJIOu2gCDqtIDroKggKi8KZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZConLCBmdW5jdGlvbigpIHsKICAgIGNvbnN0IHNpZGViYXJUb2dnbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2lkZWJhclRvZ2dsZScpOwogICAgaWYgKHNpZGViYXJUb2dnbGUpIHsKICAgICAgICBzaWRlYmFyVG9nZ2xlLmFkZEV2ZW50Expc3RlbmVyKCdjbGljaycsICgpID0+IHsKICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QudG9nZ2xlKCdzaWRlYmFyLWNsb3NlZCcpOwogICAgICAgIH0pOwogICAgfQp9KTsKCmZ1bmN0aW9uIHNob3dUb2FzdChtc2csIGR1cmF0aW9uID0gMzAwMCkgewogICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvYXN0Q29udGFpbmVyJyk7CiAgICBjb25zdCB0b2FzdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgdG9hc3QuY2xhc3NMaXN0LmFkZCgndG9hc3QnKTsKICAgIHRvYXN0LnRleHRDb250ZW50ID0gbXNnOwogICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRvYXN0KTsKICAgIHNldFRpbWVvdXQoKCkgPT4gdG9hc3QucmVtb3ZlKCksIGR1cmF0aW9uKTsKfQo=