Skip to content

Instantly share code, notes, and snippets.

@haidv35
Last active October 13, 2022 10:05
Show Gist options
  • Save haidv35/0098991403f8c81833d1b69b7f08d939 to your computer and use it in GitHub Desktop.
Save haidv35/0098991403f8c81833d1b69b7f08d939 to your computer and use it in GitHub Desktop.
SmF2YS5wZXJmb3JtKGZ1bmN0aW9uKCkgewogICAgY29uc3QgU3lzdGVtID0gSmF2YS51c2UoJ2phdmEubGFuZy5TeXN0ZW0nKTsKICAgIGNvbnN0IFJ1bnRpbWUgPSBKYXZhLnVzZSgnamF2YS5sYW5nLlJ1bnRpbWUnKTsKICAgIGNvbnN0IFZNU3RhY2sgPSBKYXZhLnVzZSgnZGFsdmlrLnN5c3RlbS5WTVN0YWNrJyk7CgogICAgU3lzdGVtLmxvYWQuaW1wbGVtZW50YXRpb24gPSBmdW5jdGlvbihsaWJyYXJ5KSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgY29uc29sZS5sb2coJ1N5c3RlbS5sb2FkKCInICsgbGlicmFyeSArICciKScpOwogICAgICAgICAgICBSdW50aW1lLmdldFJ1bnRpbWUoKS5uYXRpdmVMb2FkKGxpYnJhcnksIFZNU3RhY2suZ2V0Q2FsbGluZ0NsYXNzTG9hZGVyKCkpOwogICAgICAgIH0gY2F0Y2goZXgpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coZXgpOwogICAgICAgIH0KICAgIH07CgogICAgU3lzdGVtLmxvYWRMaWJyYXJ5LmltcGxlbWVudGF0aW9uID0gZnVuY3Rpb24obGlicmFyeSkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdTeXN0ZW0ubG9hZExpYnJhcnkoIicgKyBsaWJyYXJ5ICsgJyIpJyk7CiAgICAgICAgICAgIGlmKGxpYnJhcnkgPT0gIm5hdGl2ZS1saWIiKXsKICAgICAgICAgICAgICAgIGNvbnN0IGFhID0gSmF2YS51c2UoJ3ZuLmNvbS52aWV0dGVsLnZkcy52YW5pbGxhbGliLmFwcC5zZWN1cml0eS5VdGlscycpOwogICAgICAgICAgICAgICAgYWEuaXNEZWJ1Z0J1aWxkLmltcGxlbWVudGF0aW9uID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgY29uc3QgYmIgPSBKYXZhLnVzZSgndm4uY29tLnZpZXR0ZWwudmRzLnZhbmlsbGFsaWIuYXBwLnNlY3VyaXR5LlRhbXBlckRldGVjdG9yJyk7CiAgICAgICAgICAgICAgICBiYi5pc20uaW1wbGVtZW50YXRpb24gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgY29uc3QgY2MgPSBKYXZhLnVzZSgnY29tLmJwbHVzLnZ0cGF5LmFjdGl2aXR5LlNwbGFzaFNjcmVlbicpOwogICAgICAgICAgICAgICAgY2MuczIuaW1wbGVtZW50YXRpb24gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHZhciBEb3RwID0gSmF2YS51c2UoInZuLmNvbS52aWV0dGVsLnZkcy52YW5pbGxhbGliLmFwcC5kb3RwLkRvdHAiKTsKICAgICAgICAgICAgICAgIERvdHAuaXNVc2VyQWN0aXZlLm92ZXJsb2FkKCdhbmRyb2lkLmNvbnRlbnQuQ29udGV4dCcsICdqYXZhLmxhbmcuU3RyaW5nJykuaW1wbGVtZW50YXRpb24gPSBmdW5jdGlvbiAoYSxiKSB7CiAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBEb3RwLmRlbGV0ZVVzZXIub3ZlcmxvYWQoJ2FuZHJvaWQuY29udGVudC5Db250ZXh0JywgJ2phdmEubGFuZy5TdHJpbmcnKS5pbXBsZW1lbnRhdGlvbiA9IGZ1bmN0aW9uIChhLGIpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgRG90cC5zeW5jVGltZS5vdmVybG9hZCgnYW5kcm9pZC5jb250ZW50LkNvbnRleHQnLCAnamF2YS5sYW5nLlN0cmluZycsICdsb25nJykuaW1wbGVtZW50YXRpb24gPSBmdW5jdGlvbiAoYSxiLGMpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgY29uc3QgbG9hZGVkID0gUnVudGltZS5nZXRSdW50aW1lKCkubG9hZExpYnJhcnkwKFZNU3RhY2suZ2V0Q2FsbGluZ0NsYXNzTG9hZGVyKCksIGxpYnJhcnkpOwogICAgICAgICAgICAgICAgcmV0dXJuIGxvYWRlZDsKICAgICAgICAgICAgfQoKCiAgICAgICAgfSBjYXRjaChleCkgewogICAgICAgICAgICBjb25zb2xlLmxvZyhleCk7CiAgICAgICAgfQogICAgfTsKICAgIAogICAgCn0pOw==
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment