Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥剧情@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImdtdE1vZGlmaWVkXCI6MCxcImlkXCI6MCxcImxhc3RfY2hhcHRlcl9ydWxlXCI6XCJcIixcImxpc3RUb0NsZWFyQXNzb2NpYXRlZEZLXCI6W10sXCJsaXN0VG9DbGVhclNlbGZGS1wiOltdLFwicGFnZUxpc3RcIjpbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIm1pc3NcIixcInBhdGhcIjpcIm1pc3NcIixcInJ1bGVcIjpcImNvbnN0IG1pc3MgPSB7XFxuICBlbXB0eTogJ2hpa2VyOi8vZW1wdHknLFxcbiAgdXJsOiAnaHR0cHM6Ly9taXNzYXYuY29tL2NuLycsXFxuICBkOiBbXSxcXG4gIHRhc2tMaXN0OiBbXSxcXG4gIGRhdGE6IHtcXG4gICAgY2F0ZWdvcnk6IGdldE15VmFyKCdNaXNzQVYuY2F0ZWdvcnknLCAnMCcpLFxcbiAgICBzdWJDYXRlOiBnZXRNeVZhcignTWlzc0FWLnN1YkNhdGUnLCAnMCcpLFxcbiAgfSxcXG4gIGJhc2VQYXJzZTogKCkgPT4ge1xcbiAgICBjb25zdCBwYWdlID0gcGFyc2VJbnQoTVlfVVJMLnNwbGl0KCcjIycpWzFdKVxcblxcbiAgICBsZXQgY2F0ZWdvcnlMaXN0ID0gSlNPTi5wYXJzZShiYXNlNjREZWNvZGUoXFxcIlczc2lkR2wwYkdVaU9pTGt1NHJtbDZYbmc2M3BsNmdpTENKd1lYUm9Jam9pZEc5a1lYa3RhRzkwSWl3aWRIbHdaU0k2SW5acFpHVnZJaXdpYzNWaUlqcGJYWDBzZXlKMGFYUnNaU0k2SXVhY3JPbUFzZWVEcmVtWHFDSXNJbkJoZEdnaU9pSjNaV1ZyYkhrdGFHOTBJaXdpZEhsd1pTSTZJblpwWkdWdklpd2ljM1ZpSWpwYlhYMHNleUowYVhSc1pTSTZJdWFjck9hY2lPZURyZW1YcUNJc0luQmhkR2dpT2lKdGIyNTBhR3g1TFdodmRDSXNJblI1Y0dVaU9pSjJhV1JsYnlJc0luTjFZaUk2VzExOUxIc2lkR2wwYkdVaU9pTGt1SzNtbG9mbHJaZmx1WlVpTENKd1lYUm9Jam9pWTJocGJtVnpaUzF6ZFdKMGFYUnNaU0lzSW5SNWNHVWlPaUoyYVdSbGJ5SXNJbk4xWWlJNlcxMTlMSHNpZEdsMGJHVWlPaUxtbklEb3Y1SG1tN1RtbHJBaUxDSndZWFJvSWpvaWJtVjNJaXdpZEhsd1pTSTZJblpwWkdWdklpd2ljM1ZpSWpwYlhYMHNleUowYVhSc1pTSTZJdWFXc09TOW5PUzRpdVc0Z2lJc0luQmhkR2dpT2lKeVpXeGxZWE5sSWl3aWRIbHdaU0k2SW5acFpHVnZJaXdpYzNWaUlqcGJYWDBzZXlKMGFYUnNaU0k2SXVlMG9PUzZ1aUlzSW5CaGRHZ2lPaUlpTENKMGVYQmxJam9pZG1sa1pXOGlMQ0p6ZFdJaU9sdDdJblJwZEd4bElqb2k1N1NnNUxxNlUwbFNUeUlzSW5CaGRHZ2lPaUp6YVhKdkluMHNleUowYVhSc1pTSTZJdWUwb09TNnVreFZXRlVpTENKd1lYUm9Jam9pYkhWNGRTSjlMSHNpZEdsMGJHVWlPaUxudEtEa3VycEhRVTVCSWl3aWNHRjBhQ0k2SW1kaGJtRWlmU3g3SW5ScGRHeGxJam9pNTdTZzVMcTZVRkpGVTFSSlIwVWdVRkpGVFVsVlRTSXNJbkJoZEdnaU9pSnRZV0Z1SW4wc2V5SjBhWFJzWlNJNkl1ZTBvT1M2dWxNdFExVlVSU0lzSW5CaGRHZ2lPaUp6WTNWMFpTSjlMSHNpZEdsMGJHVWlPaUxudEtEa3VycEJVa0VpTENKd1lYUm9Jam9pWVhKaEluMWRmU3g3SW5ScGRHeGxJam9pNXBlZzU2Q0JJaXdpY0dGMGFDSTZJaUlzSW5SNWNHVWlPaUoyYVdSbGJ5SXNJbk4xWWlJNlczc2lkR2wwYkdVaU9pTG1sNkRub0lIbXRZSGxoN29pTENKd1lYUm9Jam9pZFc1alpXNXpiM0psWkMxc1pXRnJJbjBzZXlKMGFYUnNaU0k2SXVhWG9PZWdnVVpETWlJc0luQmhkR2dpT2lKbVl6SWlmU3g3SW5ScGRHeGxJam9pNXBlZzU2Q0JTRVZaV2s4Z0lpd2ljR0YwYUNJNkltaGxlWHB2SW4wc2V5SjBhWFJzWlNJNkl1YVhvT2VnZ2VTNG5PUzZyT2VEclNJc0luQmhkR2dpT2lKMGIydDViMmh2ZENKOUxIc2lkR2wwYkdVaU9pTG1sNkRub0lGRFlYSnBZbUpsWVc1amIyMGlMQ0p3WVhSb0lqb2lZMkZ5YVdKaVpXRnVZMjl0SW4wc2V5SjBhWFJzWlNJNkl1YVhvT2VnZ1VOaGNtbGlZbVZoYm1OdmJYQnlJaXdpY0dGMGFDSTZJbU5oY21saVltVmhibU52YlhCeUluMHNleUowYVhSc1pTSTZJdWFYb09lZ2dURXdiWFZ6ZFcxbElpd2ljR0YwYUNJNklqRXdiWFZ6ZFcxbEluMHNleUowYVhSc1pTSTZJdWFYb09lZ2dYQmhZMjl3WVdOdmJXRnRZU0lzSW5CaGRHZ2lPaUp3WVdOdmNHRmpiMjFoYldFaWZTeDdJblJwZEd4bElqb2k1cGVnNTZDQlIyRmphR2x1WTI4aUxDSndZWFJvSWpvaVoyRmphR2x1WTI4aWZTeDdJblJwZEd4bElqb2k1cGVnNTZDQldGaFlMVUZXSWl3aWNHRjBhQ0k2SW5oNGVHRjJJbjBzZXlKMGFYUnNaU0k2SXVhWG9PZWdnZVM2dXVXbXUrYVdxU0lzSW5CaGRHZ2lPaUp0WVhKeWFXVmtjMnhoYzJnaWZTeDdJblJwZEd4bElqb2k1cGVnNTZDQjZhRzk1NXF1SURRMk1UQWlMQ0p3WVhSb0lqb2libUYxWjJoMGVUUTJNVEFpZlN4N0luUnBkR3hsSWpvaTVwZWc1NkNCNmFHOTU1cXVJREE1TXpBaUxDSndZWFJvSWpvaWJtRjFaMmgwZVRBNU16QWlmVjE5TEhzaWRHbDBiR1VpT2lMbG03M2t1cWNnUVZZaUxDSndZWFJvSWpvaUlpd2lkSGx3WlNJNkluWnBaR1Z2SWl3aWMzVmlJanBiZXlKMGFYUnNaU0k2SXVtNnUraXhodVM4b09XcWtpSXNJbkJoZEdnaU9pSnRZV1J2ZFNKOUxIc2lkR2wwYkdVaU9pSlVWMEZXSWl3aWNHRjBhQ0k2SW5SM1lYWWlmVjE5TEhzaWRHbDBiR1VpT2lKV1VpSXNJbkJoZEdnaU9pSm5aVzV5WlhNdlZsSWlMQ0owZVhCbElqb2lkbWxrWlc4aUxDSnpkV0lpT2x0ZGZTeDdJblJwZEd4bElqb2lRVllnNWIyeDZLK0VJaXdpY0dGMGFDSTZJbUZ5ZEdsamJHVnpJaXdpZEhsd1pTSTZJbUZ5ZEdsamJHVnpJaXdpYzNWaUlqcGJYWDBzZXlKMGFYUnNaU0k2SXVXbHMrUzhtT1M0Z09pbmlDSXNJbkJoZEdnaU9pSmhZM1J5WlhOelpYTWlMQ0owZVhCbElqb2lZWFpoZEdGeUlpd2ljM1ZpSWpwYlhYMHNleUowYVhSc1pTSTZJdVdscytTOG1PYU9rdWloakNJc0luQmhkR2dpT2lKaFkzUnlaWE56WlhNdmNtRnVhMmx1WnlJc0luUjVjR1VpT2lKaGRtRjBZWElpTENKemRXSWlPbHRkZlN4N0luUnBkR3hsSWpvaTU3Rzc1WjZMSWl3aWNHRjBhQ0k2SW1kbGJuSmxjeUlzSW5SNWNHVWlPaUowWVdkeklpd2ljM1ZpSWpwYlhYMHNleUowYVhSc1pTSTZJdVdQa2VpaGpPV1ZoaUlzSW5CaGRHZ2lPaUp0WVd0bGNuTWlMQ0owZVhCbElqb2lkR0ZuY3lJc0luTjFZaUk2VzExOVhRPT1cXFwiKSlcXG4gICAgY29uc3QgY3VycmVudENhdGUgPSBjYXRlZ29yeUxpc3RbbWlzcy5kYXRhLmNhdGVnb3J5XVxcbiAgICBsZXQgdXJsXFxuXFxuICAgIGNvbnN0IHR5cGUgPSBjdXJyZW50Q2F0ZS50eXBlXFxuICAgIGNvbnN0IHBhdGggPSBjdXJyZW50Q2F0ZS5wYXRoXFxuXFxuICAgIGlmIChjdXJyZW50Q2F0ZS5zdWIubGVuZ3RoID4gMCkge1xcbiAgICAgIHVybCA9IG1pc3MudXJsICsgY3VycmVudENhdGUuc3ViW21pc3MuZGF0YS5zdWJDYXRlXS5wYXRoXFxuICAgIH0gZWxzZSB7XFxuICAgICAgdXJsID0gbWlzcy51cmwgKyBjdXJyZW50Q2F0ZS5wYXRoXFxuICAgIH1cXG4gICAgdXJsICs9ICc/cGFnZT0nK3BhZ2VcXG5cXG4gICAgaWYgKHBhZ2UgPT09IDEpIHtcXG4gICAgICBjYXRlZ29yeUxpc3QuZm9yRWFjaCgoY2F0ZSwgaW5kZXgpID0+IHtcXG4gICAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgICAgdGl0bGU6IHBhcnNlSW50KG1pc3MuZGF0YS5jYXRlZ29yeSkgPT09IGluZGV4ID8gJ+KAmOKAmOKAmeKAmTxzdHJvbmc+PGZvbnQgY29sb3I9XFxcIiNmZjE0OTNcXFwiPicrY2F0ZS50aXRsZSsnPC9mb250Pjwvc3Ryb25nPicgOiBjYXRlLnRpdGxlLFxcbiAgICAgICAgICB1cmw6ICQobWlzcy5lbXB0eSkubGF6eVJ1bGUoKGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgcHV0TXlWYXIoXFxcIk1pc3NBVi5jYXRlZ29yeVxcXCIsIGluZGV4LnRvU3RyaW5nKCkpXFxuICAgICAgICAgICAgcHV0TXlWYXIoXFxcIk1pc3NBVi5zdWJDYXRlXFxcIiwgJzAnKVxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpXFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgICB9LCBpbmRleCksXFxuICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICB9KVxcbiAgICAgIH0pXFxuXFxuICAgICAgaWYgKGN1cnJlbnRDYXRlLnN1Yi5sZW5ndGggPiAwKSB7XFxuICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snLFxcbiAgICAgICAgfSlcXG4gICAgICAgIGN1cnJlbnRDYXRlLnN1Yi5mb3JFYWNoKChjYXRlLCBpbmRleCkgPT4ge1xcbiAgICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IHBhcnNlSW50KG1pc3MuZGF0YS5zdWJDYXRlKSA9PT0gaW5kZXggPyAn4oCY4oCY4oCZ4oCZPHN0cm9uZz48Zm9udCBjb2xvcj1cXFwiI2ZmMTQ5M1xcXCI+JytjYXRlLnRpdGxlKyc8L2ZvbnQ+PC9zdHJvbmc+JyA6IGNhdGUudGl0bGUsXFxuICAgICAgICAgICAgdXJsOiAkKG1pc3MuZW1wdHkpLmxhenlSdWxlKChpbmRleCkgPT4ge1xcbiAgICAgICAgICAgICAgcHV0TXlWYXIoXFxcIk1pc3NBVi5zdWJDYXRlXFxcIiwgaW5kZXgudG9TdHJpbmcoKSlcXG4gICAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpXFxuICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgfSwgaW5kZXgpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgIH0pXFxuICAgICAgICB9KVxcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBjb25zdCBodG1sID0gZmV0Y2godXJsLCB7aGVhZGVyczp7J1VzZXItQWdlbnQnOiAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCknfX0pXFxuXFxuICAgIHN3aXRjaCAodHlwZSkge1xcbiAgICAgIGNhc2UgJ3ZpZGVvJzpcXG4gICAgICAgIG1pc3MudmlkZW9UeXBlKGh0bWwpXFxuICAgICAgICBicmVha1xcbiAgICAgIGNhc2UgJ2FydGljbGVzJzpcXG4gICAgICAgIG1pc3MuYXJ0aWNsZXNUeXBlKGh0bWwpXFxuICAgICAgICBicmVha1xcbiAgICAgIGNhc2UgJ2F2YXRhcic6XFxuICAgICAgICBpZiAoKHBhdGggPT09ICdhY3RyZXNzZXMvcmFua2luZycgJiYgcGFnZSA9PT0gMSkgfHwgcGF0aCAhPT0gJ2FjdHJlc3Nlcy9yYW5raW5nJykge1xcbiAgICAgICAgICBtaXNzLmF2YXRhclR5cGUoaHRtbClcXG4gICAgICAgIH1cXG4gICAgICAgIGJyZWFrXFxuICAgICAgY2FzZSAndGFncyc6XFxuICAgICAgICBtaXNzLnRhZ3NUeXBlKGh0bWwpXFxuICAgICAgICBicmVha1xcbiAgICAgIGRlZmF1bHQ6IG1pc3MudmlkZW9UeXBlKGh0bWwpXFxuICAgIH1cXG5cXG4gICAgc2V0UmVzdWx0KG1pc3MuZClcXG4gIH0sXFxuICBzZWFyY2hQYXJzZTogKCkgPT4ge1xcbiAgICBtaXNzLnZpZGVvVHlwZShnZXRSZXNDb2RlKCkpXFxuICAgIHNldFJlc3VsdChtaXNzLmQpXFxuICB9LFxcbiAgdmlkZW9QYXJzZTogKHVybCkgPT4ge1xcbiAgICBjb25zdCBodG1sID0gZmV0Y2godXJsLCB7aGVhZGVyczp7J1VzZXItQWdlbnQnOiAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCknfX0pXFxuICAgIGNvbnN0IHRpdGxlID0gcGRmaChodG1sLCAnaDEmJlRleHQnKVxcbiAgICBzZXRQYWdlVGl0bGUodGl0bGUpXFxuXFxuICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgZGVzYzogcGRmaChodG1sLCAnLnRleHQtc2Vjb25kYXJ5LmJyZWFrLWFsbC5saW5lLWNsYW1wLTImJlRleHQnKSxcXG4gICAgICBwaWNfdXJsOiBwZGZoKGh0bWwsICdtZXRhW3Byb3BlcnR5PW9nOmltYWdlXSYmY29udGVudCcpKydAUmVmZXJlcj0nK21pc3MudXJsLFxcbiAgICAgIHVybDogJChtaXNzLmVtcHR5Kycjbm9IaXN0b3J5IycpLmxhenlSdWxlKChodG1sLCB1cmwpID0+IHtcXG4gICAgICAgIGV2YWwoaHRtbC5tYXRjaCgvZXZhbC4qP1xcXFxuLylbMF0pXFxuICAgICAgICByZXR1cm4gc291cmNlICsgJzt7UmVmZXJlckAnICsgdXJsICsgJ30nXFxuICAgICAgfSwgaHRtbCwgbWlzcy51cmwpLFxcbiAgICAgIGNvbF90eXBlOiAncGljXzEnLFxcbiAgICB9KVxcblxcbiAgICBjb25zdCB0ZXh0X3NlY29uZGFyeV9saXN0ID0gcGRmYShodG1sLCAnYm9keSYmLnRleHQtc2Vjb25kYXJ5JylcXG4gICAgbGV0IG51bSwgYWN0cmVzc2VzTGlzdCwgdGFnc0xpc3QsIHNlcmllcywgbWFrZXJzLCBkaXJlY3RvcnMsIGxhYmVsc0xpc3RcXG5cXG4gICAgdGV4dF9zZWNvbmRhcnlfbGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgIGxldCBjdXJyZW50X3RpdGxlID0gcGRmaChpdGVtLCAnc3BhbiYmVGV4dCcpXFxuXFxuICAgICAgLy8g5LiN6IO95YiG5Lqr77yM5Yqg5a+G5aSE55CGXFxuICAgICAgbGV0IGFjdHJlc3NOYW1lID0gYmFzZTY0RGVjb2RlKCc1YVd6NUx5WScpXFxuXFxuICAgICAgaWYgKGN1cnJlbnRfdGl0bGUgPT09ICfnlarlj7c6Jykge1xcbiAgICAgICAgbnVtID0gcGRmaChpdGVtLCAnLmZvbnQtbWVkaXVtJiZUZXh0JylcXG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfdGl0bGUgPT09IGFjdHJlc3NOYW1lKyc6Jykge1xcbiAgICAgICAgYWN0cmVzc2VzTGlzdCA9IHBkZmEoaXRlbSwgJy50ZXh0LXNlY29uZGFyeSYmYScpXFxuICAgICAgfSBlbHNlIGlmIChjdXJyZW50X3RpdGxlID09PSAn57G75Z6LOicpIHtcXG4gICAgICAgIHRhZ3NMaXN0ID0gcGRmYShpdGVtLCAnLnRleHQtc2Vjb25kYXJ5JiZhJylcXG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfdGl0bGUgPT09ICfns7vliJc6Jykge1xcbiAgICAgICAgc2VyaWVzID0gcGRmYShpdGVtLCAnLnRleHQtc2Vjb25kYXJ5JiZhJylbMF1cXG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfdGl0bGUgPT09ICflj5HooYzllYY6Jykge1xcbiAgICAgICAgbWFrZXJzID0gcGRmYShpdGVtLCAnLnRleHQtc2Vjb25kYXJ5JiZhJylbMF1cXG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfdGl0bGUgPT09ICflr7zmvJQ6Jykge1xcbiAgICAgICAgZGlyZWN0b3JzID0gcGRmYShpdGVtLCAnLnRleHQtc2Vjb25kYXJ5JiZhJylbMF1cXG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfdGl0bGUgPT09ICfmoIfnsaQ6Jykge1xcbiAgICAgICAgbGFiZWxzTGlzdCA9IHBkZmEoaXRlbSwgJy50ZXh0LXNlY29uZGFyeSYmYScpXFxuICAgICAgfVxcbiAgICB9KVxcblxcbiAgICBpZiAobnVtKSB7XFxuICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfnlarlj7cnLFxcbiAgICAgICAgdXJsOiBtaXNzLmVtcHR5LFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXG4gICAgICAgIGV4dHJhOiB7bGluZVZpc2libGU6IGZhbHNlfSxcXG4gICAgICB9KVxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBudW0sXFxuICAgICAgICB1cmw6ICdjb3B5Oi8vJytudW0sXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxuICAgICAgICBleHRyYToge2xpbmVWaXNpYmxlOiBmYWxzZX0sXFxuICAgICAgfSlcXG4gICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogJ2xpbmVfYmxhbmsnXFxuICAgICAgfSlcXG4gICAgfVxcblxcbiAgICBpZiAoYWN0cmVzc2VzTGlzdCkge1xcbiAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn5ryU5ZGYJyxcXG4gICAgICAgIHVybDogbWlzcy5lbXB0eSxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxuICAgICAgICBleHRyYToge2xpbmVWaXNpYmxlOiBmYWxzZX0sXFxuICAgICAgfSlcXG4gICAgICBhY3RyZXNzZXNMaXN0LmZvckVhY2goKGFjdHJlc3NlcywgaW5kZXgpID0+IHtcXG4gICAgICAgIGxldCB0aXRsZSA9IHBkZmgoYWN0cmVzc2VzLCAnYSYmVGV4dCcpXFxuICAgICAgICBsZXQgdXJsID0gcGRmaChhY3RyZXNzZXMsICdhJiZocmVmJylcXG4gICAgICAgIG1pc3MudGFza0xpc3QucHVzaCh7XFxuICAgICAgICAgIGZ1bmM6IG1pc3MudXBkYXRlQXZhdGFyLFxcbiAgICAgICAgICBwYXJhbToge1xcbiAgICAgICAgICAgIHVybDogdXJsLFxcbiAgICAgICAgICAgIGluZGV4OiAnYXZhdGFyXycraW5kZXhcXG4gICAgICAgICAgfSxcXG4gICAgICAgICAgaWQ6ICdhdmF0YXJfJytpbmRleCxcXG4gICAgICAgIH0pXFxuXFxuICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgICAgcGljX3VybDogbWlzcy5lbXB0eSxcXG4gICAgICAgICAgdXJsOiAkKHVybCsnP3BhZ2U9ZnlwYWdlI25vSGlzdG9yeSMnKS5ydWxlKCh0aXRsZSkgPT4ge1xcbiAgICAgICAgICAgIGNvbnN0IG1pc3MgPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9taXNzJylcXG4gICAgICAgICAgICBzZXRQYWdlVGl0bGUodGl0bGUpXFxuICAgICAgICAgICAgbWlzcy5hdmF0YXJQYXJzZShNWV9VUkwpXFxuICAgICAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXG4gICAgICAgICAgfSwgdGl0bGUpLFxcbiAgICAgICAgICBjb2xfdHlwZTogJ2F2YXRhcicsXFxuICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgaWQ6ICdhdmF0YXJfJytpbmRleCxcXG4gICAgICAgICAgfVxcbiAgICAgICAgfSlcXG4gICAgICB9KVxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXG4gICAgICB9KVxcbiAgICB9XFxuXFxuICAgIGlmICh0YWdzTGlzdCkge1xcbiAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn57G75Z6LJyxcXG4gICAgICAgIHVybDogbWlzcy5lbXB0eSxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxuICAgICAgICBleHRyYToge2xpbmVWaXNpYmxlOiBmYWxzZX0sXFxuICAgICAgfSlcXG4gICAgICB0YWdzTGlzdC5mb3JFYWNoKHRhZyA9PiB7XFxuICAgICAgICBsZXQgdGFnX3RpdGxlID0gcGRmaCh0YWcsICdhJiZUZXh0JylcXG4gICAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgICAgdGl0bGU6IHRhZ190aXRsZSxcXG4gICAgICAgICAgdXJsOiAkKHBkZmgodGFnLCAnYSYmaHJlZicpKyc/cGFnZT1meXBhZ2Ujbm9IaXN0b3J5IycpLnJ1bGUoKHRhZ190aXRsZSkgPT4ge1xcbiAgICAgICAgICAgIGNvbnN0IG1pc3MgPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9taXNzJylcXG4gICAgICAgICAgICBzZXRQYWdlVGl0bGUodGFnX3RpdGxlKVxcbiAgICAgICAgICAgIG1pc3MudGFnc1BhcnNlKE1ZX1VSTClcXG4gICAgICAgICAgICBzZXRSZXN1bHQobWlzcy5kKVxcbiAgICAgICAgICB9LCB0YWdfdGl0bGUpLFxcbiAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbiAgICAgICAgfSlcXG4gICAgICB9KVxcblxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXG4gICAgICB9KVxcbiAgICB9XFxuXFxuICAgIGlmIChzZXJpZXMpIHtcXG4gICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ+ezu+WIlycsXFxuICAgICAgICB1cmw6IG1pc3MuZW1wdHksXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgICAgICAgZXh0cmE6IHtsaW5lVmlzaWJsZTogZmFsc2V9LFxcbiAgICAgIH0pXFxuICAgICAgbGV0IHNlcmllc190aXRsZSA9IHBkZmgoc2VyaWVzLCAnYSYmVGV4dCcpXFxuICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHNlcmllc190aXRsZSxcXG4gICAgICAgIHVybDogJChwZGZoKHNlcmllcywgJ2EmJmhyZWYnKSsnP3BhZ2U9ZnlwYWdlI25vSGlzdG9yeSMnKS5ydWxlKChzZXJpZXNfdGl0bGUpID0+IHtcXG4gICAgICAgICAgY29uc3QgbWlzcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL21pc3MnKVxcbiAgICAgICAgICBzZXRQYWdlVGl0bGUoc2VyaWVzX3RpdGxlKVxcbiAgICAgICAgICBtaXNzLnRhZ3NQYXJzZShNWV9VUkwpXFxuICAgICAgICAgIHNldFJlc3VsdChtaXNzLmQpXFxuICAgICAgICB9LCBzZXJpZXNfdGl0bGUpLFxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXG4gICAgICB9KVxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXG4gICAgICB9KVxcbiAgICB9XFxuXFxuICAgIGlmIChtYWtlcnMpIHtcXG4gICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ+WPkeihjOWVhicsXFxuICAgICAgICB1cmw6IG1pc3MuZW1wdHksXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgICAgICAgZXh0cmE6IHtsaW5lVmlzaWJsZTogZmFsc2V9LFxcbiAgICAgIH0pXFxuICAgICAgbGV0IG1ha2Vyc190aXRsZSA9IHBkZmgobWFrZXJzLCAnYSYmVGV4dCcpXFxuICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IG1ha2Vyc190aXRsZSxcXG4gICAgICAgIHVybDogJChwZGZoKG1ha2VycywgJ2EmJmhyZWYnKSsnP3BhZ2U9ZnlwYWdlI25vSGlzdG9yeSMnKS5ydWxlKChtYWtlcnNfdGl0bGUpID0+IHtcXG4gICAgICAgICAgY29uc3QgbWlzcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL21pc3MnKVxcbiAgICAgICAgICBzZXRQYWdlVGl0bGUobWFrZXJzX3RpdGxlKVxcbiAgICAgICAgICBtaXNzLnRhZ3NQYXJzZShNWV9VUkwpXFxuICAgICAgICAgIHNldFJlc3VsdChtaXNzLmQpXFxuICAgICAgICB9LCBtYWtlcnNfdGl0bGUpLFxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXG4gICAgICB9KVxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXG4gICAgICB9KVxcbiAgICB9XFxuXFxuICAgIGlmIChkaXJlY3RvcnMpIHtcXG4gICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ+WvvOa8lCcsXFxuICAgICAgICB1cmw6IG1pc3MuZW1wdHksXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgICAgICAgZXh0cmE6IHtsaW5lVmlzaWJsZTogZmFsc2V9LFxcbiAgICAgIH0pXFxuICAgICAgbGV0IGRpcmVjdG9yc190aXRsZSA9IHBkZmgoZGlyZWN0b3JzLCAnYSYmVGV4dCcpXFxuICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGRpcmVjdG9yc190aXRsZSxcXG4gICAgICAgIHVybDogJChwZGZoKGRpcmVjdG9ycywgJ2EmJmhyZWYnKSsnP3BhZ2U9ZnlwYWdlI25vSGlzdG9yeSMnKS5ydWxlKChkaXJlY3RvcnNfdGl0bGUpID0+IHtcXG4gICAgICAgICAgY29uc3QgbWlzcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL21pc3MnKVxcbiAgICAgICAgICBzZXRQYWdlVGl0bGUoZGlyZWN0b3JzX3RpdGxlKVxcbiAgICAgICAgICBtaXNzLnRhZ3NQYXJzZShNWV9VUkwpXFxuICAgICAgICAgIHNldFJlc3VsdChtaXNzLmQpXFxuICAgICAgICB9LCBkaXJlY3RvcnNfdGl0bGUpLFxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXG4gICAgICB9KVxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXG4gICAgICB9KVxcbiAgICB9XFxuXFxuICAgIGlmIChsYWJlbHNMaXN0KSB7XFxuICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfnsbvlnosnLFxcbiAgICAgICAgdXJsOiBtaXNzLmVtcHR5LFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXG4gICAgICAgIGV4dHJhOiB7bGluZVZpc2libGU6IGZhbHNlfSxcXG4gICAgICB9KVxcbiAgICAgIGxhYmVsc0xpc3QuZm9yRWFjaChsYWJlbCA9PiB7XFxuICAgICAgICBsZXQgbGFiZWxfdGl0bGUgPSBwZGZoKGxhYmVsLCAnYSYmVGV4dCcpXFxuICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgIHRpdGxlOiBsYWJlbF90aXRsZSxcXG4gICAgICAgICAgdXJsOiAkKHBkZmgobGFiZWwsICdhJiZocmVmJykrJz9wYWdlPWZ5cGFnZSNub0hpc3RvcnkjJykucnVsZSgobGFiZWxfdGl0bGUpID0+IHtcXG4gICAgICAgICAgICBjb25zdCBtaXNzID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpXFxuICAgICAgICAgICAgc2V0UGFnZVRpdGxlKGxhYmVsX3RpdGxlKVxcbiAgICAgICAgICAgIG1pc3MudGFnc1BhcnNlKE1ZX1VSTClcXG4gICAgICAgICAgICBzZXRSZXN1bHQobWlzcy5kKVxcbiAgICAgICAgICB9LCBsYWJlbF90aXRsZSksXFxuICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxuICAgICAgICB9KVxcbiAgICAgIH0pXFxuXFxuICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6ICdsaW5lX2JsYW5rJ1xcbiAgICAgIH0pXFxuICAgIH1cXG5cXG4vL+aOqOiNkOinhumikVxcbiAgICAvKmNvbnN0IHZpZGVvTGlzdCA9IHBkZmEoaHRtbCwgJy5ncmlkLmdyaWQtY29scy0yLmdhcC01JiYucmVsYXRpdmUnKVxcblxcbiAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgdGl0bGU6ICfmjqjojZDop4bpopEnLFxcbiAgICAgIHVybDogbWlzcy5lbXB0eSxcXG4gICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgICAgIGV4dHJhOiB7bGluZVZpc2libGU6IGZhbHNlfSxcXG4gICAgfSlcXG4gICAgdmlkZW9MaXN0LmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHBkZmgoaXRlbSwgJy5sb3phZCYmYWx0JyksXFxuICAgICAgICB1cmw6ICQocGRmaChpdGVtLCAnYSYmaHJlZicpKycjbm9IaXN0b3J5IycpLnJ1bGUoKCkgPT4ge1xcbiAgICAgICAgICBjb25zdCBtaXNzID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpXFxuICAgICAgICAgIG1pc3MudmlkZW9QYXJzZShNWV9VUkwpXFxuICAgICAgICAgIHNldFJlc3VsdChtaXNzLmQpXFxuICAgICAgICAgIGlmIChtaXNzLnRhc2tMaXN0Lmxlbmd0aCA+IDApIHtcXG4gICAgICAgICAgICBiZShtaXNzLnRhc2tMaXN0KVxcbiAgICAgICAgICB9XFxuICAgICAgICB9KSxcXG4gICAgICAgIHBpY191cmw6IHBkZmgoaXRlbSwgJy5sb3phZCYmZGF0YS1zcmMnKSsnQFJlZmVyZXI9JyttaXNzLnVybCxcXG4gICAgICAgIGRlc2M6IHBkZmgoaXRlbSwgJy5hYnNvbHV0ZSYmVGV4dCcpLFxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8yJ1xcbiAgICAgIH0pXFxuICAgIH0pKi9cXG4gIH0sXFxuICBhdmF0YXJQYXJzZTogKHVybCkgPT4ge1xcbiAgICBjb25zdCBodG1sID0gZmV0Y2godXJsLCB7aGVhZGVyczp7J1VzZXItQWdlbnQnOiAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCknfX0pXFxuICAgIG1pc3MudmlkZW9UeXBlKGh0bWwpXFxuICB9LFxcbiAgdGFnc1BhcnNlOiAodXJsKSA9PiB7XFxuICAgIGNvbnN0IGh0bWwgPSBmZXRjaCh1cmwsIHtoZWFkZXJzOnsnVXNlci1BZ2VudCc6ICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wKSd9fSlcXG4gICAgbWlzcy52aWRlb1R5cGUoaHRtbClcXG4gIH0sXFxuICB2aWRlb1R5cGU6IChodG1sKSA9PiB7XFxuICAgIGNvbnN0IGxpc3QgPSBwZGZhKGh0bWwsICcuZ3JpZCYmLnJlbGF0aXZlJylcXG4gICAgbGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBwZGZoKGl0ZW0sICcubG96YWQmJmFsdCcpLFxcbiAgICAgICAgdXJsOiAkKHBkZmgoaXRlbSwgJ2EmJmhyZWYnKSsnI25vSGlzdG9yeSMnKS5ydWxlKCgpID0+IHtcXG4gICAgICAgICAgY29uc3QgbWlzcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL21pc3MnKVxcbiAgICAgICAgICBtaXNzLnZpZGVvUGFyc2UoTVlfVVJMKVxcbiAgICAgICAgICBzZXRSZXN1bHQobWlzcy5kKVxcbiAgICAgICAgICBpZiAobWlzcy50YXNrTGlzdC5sZW5ndGggPiAwKSB7XFxuICAgICAgICAgICAgYmUobWlzcy50YXNrTGlzdClcXG4gICAgICAgICAgfVxcbiAgICAgICAgfSksXFxuICAgICAgICBwaWNfdXJsOiBwZGZoKGl0ZW0sICcubG96YWQmJmRhdGEtc3JjJykrJ0BSZWZlcmVyPScrbWlzcy51cmwsXFxuICAgICAgICBkZXNjOiBwZGZoKGl0ZW0sICcuYWJzb2x1dGUmJlRleHQnKS5yZXBsYWNlKCfml6DnoIHmtYHlh7onLCfwn4y68J+MuvCfjLrwn4y68J+MuvCfjLonKSxcXG4gICAgICAgIGNvbF90eXBlOiAnbW92aWVfMidcXG4gICAgICB9KVxcbiAgICB9KVxcbiAgfSxcXG4gIGFydGljbGVzVHlwZTogKGh0bWwpID0+IHtcXG4gICAgY29uc3QgbGlzdCA9IHBkZmEoaHRtbCwgJy5ncmlkJiYucm91bmRlZC1sZycpXFxuICAgIGxpc3QuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICB0aXRsZTogcGRmaChpdGVtLCAnaW1nJiZhbHQnKSxcXG4gICAgICAgIHVybDogJChwZGZoKGl0ZW0sICdhJiZocmVmJykrJyNub0hpc3RvcnkjJykucnVsZSgoKSA9PiB7XFxuICAgICAgICAgIGNvbnN0IG1pc3MgPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9taXNzJylcXG4gICAgICAgICAgY29uc3QgaHRtbCA9IGZldGNoKE1ZX1VSTCwge2hlYWRlcnM6eydVc2VyLUFnZW50JzogJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApJ319KVxcblxcbiAgICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IHBkZmgoaHRtbCwgJ2FydGljbGUmJkh0bWwnKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcXG4gICAgICAgICAgfSlcXG5cXG4gICAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXG4gICAgICAgIH0pLFxcbiAgICAgICAgcGljX3VybDogcGRmaChpdGVtLCAnaW1nJiZkYXRhLXNyYycpKydAUmVmZXJlcj0nK21pc3MudXJsLFxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8yJ1xcbiAgICAgIH0pXFxuICAgIH0pXFxuICB9LFxcbiAgYXZhdGFyVHlwZTogKGh0bWwpID0+IHtcXG4gICAgY29uc3QgbGlzdCA9IHBkZmEoaHRtbCwgJy5tYXgtdy1mdWxsJiZ1bCYmbGknKVxcbiAgICBsaXN0LmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHBkZmgoaXRlbSwgJ2g0JiZUZXh0JyksXFxuICAgICAgICB1cmw6ICQocGRmaChpdGVtLCAnYSYmaHJlZicpKyc/cGFnZT1meXBhZ2Ujbm9IaXN0b3J5IycpLnJ1bGUoKCkgPT4ge1xcbiAgICAgICAgICBjb25zdCBtaXNzID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpXFxuICAgICAgICAgIG1pc3MuYXZhdGFyUGFyc2UoTVlfVVJMKVxcbiAgICAgICAgICBzZXRSZXN1bHQobWlzcy5kKVxcbiAgICAgICAgfSksXFxuICAgICAgICBwaWNfdXJsOiBwZGZoKGl0ZW0sICdpbWcmJnNyYycpKydAUmVmZXJlcj0nK21pc3MudXJsLFxcbiAgICAgICAgY29sX3R5cGU6ICdpY29uX3JvdW5kXzQnXFxuICAgICAgfSlcXG4gICAgfSlcXG4gIH0sXFxuICB0YWdzVHlwZTogKGh0bWwpID0+IHtcXG4gICAgY29uc3QgbGlzdCA9IHBkZmEoaHRtbCwgJy5nYXAtNCYmZGl2JylcXG4gICAgbGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBwZGZoKGl0ZW0sICdhJiZUZXh0JyksXFxuICAgICAgICB1cmw6ICQocGRmaChpdGVtLCAnYSYmaHJlZicpKyc/cGFnZT1meXBhZ2Ujbm9IaXN0b3J5IycpLnJ1bGUoKCkgPT4ge1xcbiAgICAgICAgICBjb25zdCBtaXNzID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpXFxuICAgICAgICAgIG1pc3MudGFnc1BhcnNlKE1ZX1VSTClcXG4gICAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXG4gICAgICAgIH0pLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzQnXFxuICAgICAgfSlcXG4gICAgfSlcXG4gIH0sXFxuICB1cGRhdGVBdmF0YXI6IChwYXJhbSkgPT4ge1xcbiAgICBjb25zdCBhY3RyZXNzZXNIdG1sID0gZmV0Y2gocGFyYW0udXJsLCB7aGVhZGVyczp7J1VzZXItQWdlbnQnOiAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCknfX0pXFxuXFxuICAgIHVwZGF0ZUl0ZW0oe1xcbiAgICAgIHBpY191cmw6IHBkZmgoYWN0cmVzc2VzSHRtbCwgJy5vYmplY3QtY292ZXIub2JqZWN0LXRvcC53LWZ1bGwuaC1mdWxsJiZzcmMnKSxcXG4gICAgICBjb2xfdHlwZTogJ2F2YXRhcicsXFxuICAgICAgZXh0cmE6IHtcXG4gICAgICAgIGlkOiBwYXJhbS5pbmRleFxcbiAgICAgIH1cXG4gICAgfSlcXG4gIH0sXFxufVxcblxcbiQuZXhwb3J0cyA9IG1pc3NcXG5cIn1dLFwic2F2ZWRcIjpmYWxzZSxcInRpdGxlXCI6XCJNaXNzQVbinIjvuI9cIixcInZlcnNpb25cIjowLFwidXJsXCI6XCJodHRwczovL21pc3Nhdi5jb20vZG05MS9jbi9nZW5yZXMvJUU1JTg5JUE3JUU2JTgzJTg1P3BhZ2U9ZnlwYWdlO2dldDtVVEYtODt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCAoTGludXjvvJvvvJsgQW5kcm9pZCAxMe+8m++8myBNaSAxMCBQcm8pIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS84OC4wLjQzMjQuMTUyIE1vYmlsZSBTYWZhcmkvNTM3LjM2fVwiLFwiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcImZpbmRfcnVsZVwiOlwianM6KFxcbih0YWdfdGl0bGUpID0+IHtcXG4gICAgY29uc3QgbWlzcyA9ICQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL21pc3NcXFwiKTtcXG4gICAgc2V0UGFnZVRpdGxlKHRhZ190aXRsZSk7XFxuICAgIG1pc3MudGFnc1BhcnNlKE1ZX1VSTCk7XFxuICAgIHNldFJlc3VsdChtaXNzLmQpO1xcbn1cXG4pKFxcXCLliafmg4VcXFwiKVwiLFwiZ3JvdXBcIjpcIuKRoFJcIixcInVhXCI6XCJtb2JpbGVcIixcInByZVJ1bGVcIjpcIlwiLFwicGFnZXNcIjpcIlt7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCJtaXNzXFxcIixcXFwicGF0aFxcXCI6XFxcIm1pc3NcXFwiLFxcXCJydWxlXFxcIjpcXFwiY29uc3QgbWlzcyA9IHtcXFxcbiAgZW1wdHk6ICdoaWtlcjovL2VtcHR5JyxcXFxcbiAgdXJsOiAnaHR0cHM6Ly9taXNzYXYuY29tL2NuLycsXFxcXG4gIGQ6IFtdLFxcXFxuICB0YXNrTGlzdDogW10sXFxcXG4gIGRhdGE6IHtcXFxcbiAgICBjYXRlZ29yeTogZ2V0TXlWYXIoJ01pc3NBVi5jYXRlZ29yeScsICcwJyksXFxcXG4gICAgc3ViQ2F0ZTogZ2V0TXlWYXIoJ01pc3NBVi5zdWJDYXRlJywgJzAnKSxcXFxcbiAgfSxcXFxcbiAgYmFzZVBhcnNlOiAoKSA9PiB7XFxcXG4gICAgY29uc3QgcGFnZSA9IHBhcnNlSW50KE1ZX1VSTC5zcGxpdCgnIyMnKVsxXSlcXFxcblxcXFxuICAgIGxldCBjYXRlZ29yeUxpc3QgPSBKU09OLnBhcnNlKGJhc2U2NERlY29kZShcXFxcXFxcIlczc2lkR2wwYkdVaU9pTGt1NHJtbDZYbmc2M3BsNmdpTENKd1lYUm9Jam9pZEc5a1lYa3RhRzkwSWl3aWRIbHdaU0k2SW5acFpHVnZJaXdpYzNWaUlqcGJYWDBzZXlKMGFYUnNaU0k2SXVhY3JPbUFzZWVEcmVtWHFDSXNJbkJoZEdnaU9pSjNaV1ZyYkhrdGFHOTBJaXdpZEhsd1pTSTZJblpwWkdWdklpd2ljM1ZpSWpwYlhYMHNleUowYVhSc1pTSTZJdWFjck9hY2lPZURyZW1YcUNJc0luQmhkR2dpT2lKdGIyNTBhR3g1TFdodmRDSXNJblI1Y0dVaU9pSjJhV1JsYnlJc0luTjFZaUk2VzExOUxIc2lkR2wwYkdVaU9pTGt1SzNtbG9mbHJaZmx1WlVpTENKd1lYUm9Jam9pWTJocGJtVnpaUzF6ZFdKMGFYUnNaU0lzSW5SNWNHVWlPaUoyYVdSbGJ5SXNJbk4xWWlJNlcxMTlMSHNpZEdsMGJHVWlPaUxtbklEb3Y1SG1tN1RtbHJBaUxDSndZWFJvSWpvaWJtVjNJaXdpZEhsd1pTSTZJblpwWkdWdklpd2ljM1ZpSWpwYlhYMHNleUowYVhSc1pTSTZJdWFXc09TOW5PUzRpdVc0Z2lJc0luQmhkR2dpT2lKeVpXeGxZWE5sSWl3aWRIbHdaU0k2SW5acFpHVnZJaXdpYzNWaUlqcGJYWDBzZXlKMGFYUnNaU0k2SXVlMG9PUzZ1aUlzSW5CaGRHZ2lPaUlpTENKMGVYQmxJam9pZG1sa1pXOGlMQ0p6ZFdJaU9sdDdJblJwZEd4bElqb2k1N1NnNUxxNlUwbFNUeUlzSW5CaGRHZ2lPaUp6YVhKdkluMHNleUowYVhSc1pTSTZJdWUwb09TNnVreFZXRlVpTENKd1lYUm9Jam9pYkhWNGRTSjlMSHNpZEdsMGJHVWlPaUxudEtEa3VycEhRVTVCSWl3aWNHRjBhQ0k2SW1kaGJtRWlmU3g3SW5ScGRHeGxJam9pNTdTZzVMcTZVRkpGVTFSSlIwVWdVRkpGVFVsVlRTSXNJbkJoZEdnaU9pSnRZV0Z1SW4wc2V5SjBhWFJzWlNJNkl1ZTBvT1M2dWxNdFExVlVSU0lzSW5CaGRHZ2lPaUp6WTNWMFpTSjlMSHNpZEdsMGJHVWlPaUxudEtEa3VycEJVa0VpTENKd1lYUm9Jam9pWVhKaEluMWRmU3g3SW5ScGRHeGxJam9pNXBlZzU2Q0JJaXdpY0dGMGFDSTZJaUlzSW5SNWNHVWlPaUoyYVdSbGJ5SXNJbk4xWWlJNlczc2lkR2wwYkdVaU9pTG1sNkRub0lIbXRZSGxoN29pTENKd1lYUm9Jam9pZFc1alpXNXpiM0psWkMxc1pXRnJJbjBzZXlKMGFYUnNaU0k2SXVhWG9PZWdnVVpETWlJc0luQmhkR2dpT2lKbVl6SWlmU3g3SW5ScGRHeGxJam9pNXBlZzU2Q0JTRVZaV2s4Z0lpd2ljR0YwYUNJNkltaGxlWHB2SW4wc2V5SjBhWFJzWlNJNkl1YVhvT2VnZ2VTNG5PUzZyT2VEclNJc0luQmhkR2dpT2lKMGIydDViMmh2ZENKOUxIc2lkR2wwYkdVaU9pTG1sNkRub0lGRFlYSnBZbUpsWVc1amIyMGlMQ0p3WVhSb0lqb2lZMkZ5YVdKaVpXRnVZMjl0SW4wc2V5SjBhWFJzWlNJNkl1YVhvT2VnZ1VOaGNtbGlZbVZoYm1OdmJYQnlJaXdpY0dGMGFDSTZJbU5oY21saVltVmhibU52YlhCeUluMHNleUowYVhSc1pTSTZJdWFYb09lZ2dURXdiWFZ6ZFcxbElpd2ljR0YwYUNJNklqRXdiWFZ6ZFcxbEluMHNleUowYVhSc1pTSTZJdWFYb09lZ2dYQmhZMjl3WVdOdmJXRnRZU0lzSW5CaGRHZ2lPaUp3WVdOdmNHRmpiMjFoYldFaWZTeDdJblJwZEd4bElqb2k1cGVnNTZDQlIyRmphR2x1WTI4aUxDSndZWFJvSWpvaVoyRmphR2x1WTI4aWZTeDdJblJwZEd4bElqb2k1cGVnNTZDQldGaFlMVUZXSWl3aWNHRjBhQ0k2SW5oNGVHRjJJbjBzZXlKMGFYUnNaU0k2SXVhWG9PZWdnZVM2dXVXbXUrYVdxU0lzSW5CaGRHZ2lPaUp0WVhKeWFXVmtjMnhoYzJnaWZTeDdJblJwZEd4bElqb2k1cGVnNTZDQjZhRzk1NXF1SURRMk1UQWlMQ0p3WVhSb0lqb2libUYxWjJoMGVUUTJNVEFpZlN4N0luUnBkR3hsSWpvaTVwZWc1NkNCNmFHOTU1cXVJREE1TXpBaUxDSndZWFJvSWpvaWJtRjFaMmgwZVRBNU16QWlmVjE5TEhzaWRHbDBiR1VpT2lMbG03M2t1cWNnUVZZaUxDSndZWFJvSWpvaUlpd2lkSGx3WlNJNkluWnBaR1Z2SWl3aWMzVmlJanBiZXlKMGFYUnNaU0k2SXVtNnUraXhodVM4b09XcWtpSXNJbkJoZEdnaU9pSnRZV1J2ZFNKOUxIc2lkR2wwYkdVaU9pSlVWMEZXSWl3aWNHRjBhQ0k2SW5SM1lYWWlmVjE5TEhzaWRHbDBiR1VpT2lKV1VpSXNJbkJoZEdnaU9pSm5aVzV5WlhNdlZsSWlMQ0owZVhCbElqb2lkbWxrWlc4aUxDSnpkV0lpT2x0ZGZTeDdJblJwZEd4bElqb2lRVllnNWIyeDZLK0VJaXdpY0dGMGFDSTZJbUZ5ZEdsamJHVnpJaXdpZEhsd1pTSTZJbUZ5ZEdsamJHVnpJaXdpYzNWaUlqcGJYWDBzZXlKMGFYUnNaU0k2SXVXbHMrUzhtT1M0Z09pbmlDSXNJbkJoZEdnaU9pSmhZM1J5WlhOelpYTWlMQ0owZVhCbElqb2lZWFpoZEdGeUlpd2ljM1ZpSWpwYlhYMHNleUowYVhSc1pTSTZJdVdscytTOG1PYU9rdWloakNJc0luQmhkR2dpT2lKaFkzUnlaWE56WlhNdmNtRnVhMmx1WnlJc0luUjVjR1VpT2lKaGRtRjBZWElpTENKemRXSWlPbHRkZlN4N0luUnBkR3hsSWpvaTU3Rzc1WjZMSWl3aWNHRjBhQ0k2SW1kbGJuSmxjeUlzSW5SNWNHVWlPaUowWVdkeklpd2ljM1ZpSWpwYlhYMHNleUowYVhSc1pTSTZJdVdQa2VpaGpPV1ZoaUlzSW5CaGRHZ2lPaUp0WVd0bGNuTWlMQ0owZVhCbElqb2lkR0ZuY3lJc0luTjFZaUk2VzExOVhRPT1cXFxcXFxcIikpXFxcXG4gICAgY29uc3QgY3VycmVudENhdGUgPSBjYXRlZ29yeUxpc3RbbWlzcy5kYXRhLmNhdGVnb3J5XVxcXFxuICAgIGxldCB1cmxcXFxcblxcXFxuICAgIGNvbnN0IHR5cGUgPSBjdXJyZW50Q2F0ZS50eXBlXFxcXG4gICAgY29uc3QgcGF0aCA9IGN1cnJlbnRDYXRlLnBhdGhcXFxcblxcXFxuICAgIGlmIChjdXJyZW50Q2F0ZS5zdWIubGVuZ3RoID4gMCkge1xcXFxuICAgICAgdXJsID0gbWlzcy51cmwgKyBjdXJyZW50Q2F0ZS5zdWJbbWlzcy5kYXRhLnN1YkNhdGVdLnBhdGhcXFxcbiAgICB9IGVsc2Uge1xcXFxuICAgICAgdXJsID0gbWlzcy51cmwgKyBjdXJyZW50Q2F0ZS5wYXRoXFxcXG4gICAgfVxcXFxuICAgIHVybCArPSAnP3BhZ2U9JytwYWdlXFxcXG5cXFxcbiAgICBpZiAocGFnZSA9PT0gMSkge1xcXFxuICAgICAgY2F0ZWdvcnlMaXN0LmZvckVhY2goKGNhdGUsIGluZGV4KSA9PiB7XFxcXG4gICAgICAgIG1pc3MuZC5wdXNoKHtcXFxcbiAgICAgICAgICB0aXRsZTogcGFyc2VJbnQobWlzcy5kYXRhLmNhdGVnb3J5KSA9PT0gaW5kZXggPyAn4oCY4oCY4oCZ4oCZPHN0cm9uZz48Zm9udCBjb2xvcj1cXFxcXFxcIiNmZjE0OTNcXFxcXFxcIj4nK2NhdGUudGl0bGUrJzwvZm9udD48L3N0cm9uZz4nIDogY2F0ZS50aXRsZSxcXFxcbiAgICAgICAgICB1cmw6ICQobWlzcy5lbXB0eSkubGF6eVJ1bGUoKGluZGV4KSA9PiB7XFxcXG4gICAgICAgICAgICBwdXRNeVZhcihcXFxcXFxcIk1pc3NBVi5jYXRlZ29yeVxcXFxcXFwiLCBpbmRleC50b1N0cmluZygpKVxcXFxuICAgICAgICAgICAgcHV0TXlWYXIoXFxcXFxcXCJNaXNzQVYuc3ViQ2F0ZVxcXFxcXFwiLCAnMCcpXFxcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxcXFxuICAgICAgICAgICAgcmV0dXJuIFxcXFxcXFwiaGlrZXI6Ly9lbXB0eVxcXFxcXFwiXFxcXG4gICAgICAgICAgfSwgaW5kZXgpLFxcXFxuICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxcXG4gICAgICAgIH0pXFxcXG4gICAgICB9KVxcXFxuXFxcXG4gICAgICBpZiAoY3VycmVudENhdGUuc3ViLmxlbmd0aCA+IDApIHtcXFxcbiAgICAgICAgbWlzcy5kLnB1c2goe1xcXFxuICAgICAgICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snLFxcXFxuICAgICAgICB9KVxcXFxuICAgICAgICBjdXJyZW50Q2F0ZS5zdWIuZm9yRWFjaCgoY2F0ZSwgaW5kZXgpID0+IHtcXFxcbiAgICAgICAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICAgICAgICB0aXRsZTogcGFyc2VJbnQobWlzcy5kYXRhLnN1YkNhdGUpID09PSBpbmRleCA/ICfigJjigJjigJnigJk8c3Ryb25nPjxmb250IGNvbG9yPVxcXFxcXFwiI2ZmMTQ5M1xcXFxcXFwiPicrY2F0ZS50aXRsZSsnPC9mb250Pjwvc3Ryb25nPicgOiBjYXRlLnRpdGxlLFxcXFxuICAgICAgICAgICAgdXJsOiAkKG1pc3MuZW1wdHkpLmxhenlSdWxlKChpbmRleCkgPT4ge1xcXFxuICAgICAgICAgICAgICBwdXRNeVZhcihcXFxcXFxcIk1pc3NBVi5zdWJDYXRlXFxcXFxcXCIsIGluZGV4LnRvU3RyaW5nKCkpXFxcXG4gICAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpXFxcXG4gICAgICAgICAgICAgIHJldHVybiBcXFxcXFxcImhpa2VyOi8vZW1wdHlcXFxcXFxcIlxcXFxuICAgICAgICAgICAgfSwgaW5kZXgpLFxcXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXFxcbiAgICAgICAgICB9KVxcXFxuICAgICAgICB9KVxcXFxuICAgICAgfVxcXFxuICAgIH1cXFxcblxcXFxuICAgIGNvbnN0IGh0bWwgPSBmZXRjaCh1cmwsIHtoZWFkZXJzOnsnVXNlci1BZ2VudCc6ICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wKSd9fSlcXFxcblxcXFxuICAgIHN3aXRjaCAodHlwZSkge1xcXFxuICAgICAgY2FzZSAndmlkZW8nOlxcXFxuICAgICAgICBtaXNzLnZpZGVvVHlwZShodG1sKVxcXFxuICAgICAgICBicmVha1xcXFxuICAgICAgY2FzZSAnYXJ0aWNsZXMnOlxcXFxuICAgICAgICBtaXNzLmFydGljbGVzVHlwZShodG1sKVxcXFxuICAgICAgICBicmVha1xcXFxuICAgICAgY2FzZSAnYXZhdGFyJzpcXFxcbiAgICAgICAgaWYgKChwYXRoID09PSAnYWN0cmVzc2VzL3JhbmtpbmcnICYmIHBhZ2UgPT09IDEpIHx8IHBhdGggIT09ICdhY3RyZXNzZXMvcmFua2luZycpIHtcXFxcbiAgICAgICAgICBtaXNzLmF2YXRhclR5cGUoaHRtbClcXFxcbiAgICAgICAgfVxcXFxuICAgICAgICBicmVha1xcXFxuICAgICAgY2FzZSAndGFncyc6XFxcXG4gICAgICAgIG1pc3MudGFnc1R5cGUoaHRtbClcXFxcbiAgICAgICAgYnJlYWtcXFxcbiAgICAgIGRlZmF1bHQ6IG1pc3MudmlkZW9UeXBlKGh0bWwpXFxcXG4gICAgfVxcXFxuXFxcXG4gICAgc2V0UmVzdWx0KG1pc3MuZClcXFxcbiAgfSxcXFxcbiAgc2VhcmNoUGFyc2U6ICgpID0+IHtcXFxcbiAgICBtaXNzLnZpZGVvVHlwZShnZXRSZXNDb2RlKCkpXFxcXG4gICAgc2V0UmVzdWx0KG1pc3MuZClcXFxcbiAgfSxcXFxcbiAgdmlkZW9QYXJzZTogKHVybCkgPT4ge1xcXFxuICAgIGNvbnN0IGh0bWwgPSBmZXRjaCh1cmwsIHtoZWFkZXJzOnsnVXNlci1BZ2VudCc6ICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wKSd9fSlcXFxcbiAgICBjb25zdCB0aXRsZSA9IHBkZmgoaHRtbCwgJ2gxJiZUZXh0JylcXFxcbiAgICBzZXRQYWdlVGl0bGUodGl0bGUpXFxcXG5cXFxcbiAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICB0aXRsZTogdGl0bGUsXFxcXG4gICAgICBkZXNjOiBwZGZoKGh0bWwsICcudGV4dC1zZWNvbmRhcnkuYnJlYWstYWxsLmxpbmUtY2xhbXAtMiYmVGV4dCcpLFxcXFxuICAgICAgcGljX3VybDogcGRmaChodG1sLCAnbWV0YVtwcm9wZXJ0eT1vZzppbWFnZV0mJmNvbnRlbnQnKSsnQFJlZmVyZXI9JyttaXNzLnVybCxcXFxcbiAgICAgIHVybDogJChtaXNzLmVtcHR5Kycjbm9IaXN0b3J5IycpLmxhenlSdWxlKChodG1sLCB1cmwpID0+IHtcXFxcbiAgICAgICAgZXZhbChodG1sLm1hdGNoKC9ldmFsLio/XFxcXFxcXFxuLylbMF0pXFxcXG4gICAgICAgIHJldHVybiBzb3VyY2UgKyAnO3tSZWZlcmVyQCcgKyB1cmwgKyAnfSdcXFxcbiAgICAgIH0sIGh0bWwsIG1pc3MudXJsKSxcXFxcbiAgICAgIGNvbF90eXBlOiAncGljXzEnLFxcXFxuICAgIH0pXFxcXG5cXFxcbiAgICBjb25zdCB0ZXh0X3NlY29uZGFyeV9saXN0ID0gcGRmYShodG1sLCAnYm9keSYmLnRleHQtc2Vjb25kYXJ5JylcXFxcbiAgICBsZXQgbnVtLCBhY3RyZXNzZXNMaXN0LCB0YWdzTGlzdCwgc2VyaWVzLCBtYWtlcnMsIGRpcmVjdG9ycywgbGFiZWxzTGlzdFxcXFxuXFxcXG4gICAgdGV4dF9zZWNvbmRhcnlfbGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xcXFxuICAgICAgbGV0IGN1cnJlbnRfdGl0bGUgPSBwZGZoKGl0ZW0sICdzcGFuJiZUZXh0JylcXFxcblxcXFxuICAgICAgLy8g5LiN6IO95YiG5Lqr77yM5Yqg5a+G5aSE55CGXFxcXG4gICAgICBsZXQgYWN0cmVzc05hbWUgPSBiYXNlNjREZWNvZGUoJzVhV3o1THlZJylcXFxcblxcXFxuICAgICAgaWYgKGN1cnJlbnRfdGl0bGUgPT09ICfnlarlj7c6Jykge1xcXFxuICAgICAgICBudW0gPSBwZGZoKGl0ZW0sICcuZm9udC1tZWRpdW0mJlRleHQnKVxcXFxuICAgICAgfSBlbHNlIGlmIChjdXJyZW50X3RpdGxlID09PSBhY3RyZXNzTmFtZSsnOicpIHtcXFxcbiAgICAgICAgYWN0cmVzc2VzTGlzdCA9IHBkZmEoaXRlbSwgJy50ZXh0LXNlY29uZGFyeSYmYScpXFxcXG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfdGl0bGUgPT09ICfnsbvlnos6Jykge1xcXFxuICAgICAgICB0YWdzTGlzdCA9IHBkZmEoaXRlbSwgJy50ZXh0LXNlY29uZGFyeSYmYScpXFxcXG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfdGl0bGUgPT09ICfns7vliJc6Jykge1xcXFxuICAgICAgICBzZXJpZXMgPSBwZGZhKGl0ZW0sICcudGV4dC1zZWNvbmRhcnkmJmEnKVswXVxcXFxuICAgICAgfSBlbHNlIGlmIChjdXJyZW50X3RpdGxlID09PSAn5Y+R6KGM5ZWGOicpIHtcXFxcbiAgICAgICAgbWFrZXJzID0gcGRmYShpdGVtLCAnLnRleHQtc2Vjb25kYXJ5JiZhJylbMF1cXFxcbiAgICAgIH0gZWxzZSBpZiAoY3VycmVudF90aXRsZSA9PT0gJ+WvvOa8lDonKSB7XFxcXG4gICAgICAgIGRpcmVjdG9ycyA9IHBkZmEoaXRlbSwgJy50ZXh0LXNlY29uZGFyeSYmYScpWzBdXFxcXG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfdGl0bGUgPT09ICfmoIfnsaQ6Jykge1xcXFxuICAgICAgICBsYWJlbHNMaXN0ID0gcGRmYShpdGVtLCAnLnRleHQtc2Vjb25kYXJ5JiZhJylcXFxcbiAgICAgIH1cXFxcbiAgICB9KVxcXFxuXFxcXG4gICAgaWYgKG51bSkge1xcXFxuICAgICAgbWlzcy5kLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTogJ+eVquWPtycsXFxcXG4gICAgICAgIHVybDogbWlzcy5lbXB0eSxcXFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXFxcbiAgICAgICAgZXh0cmE6IHtsaW5lVmlzaWJsZTogZmFsc2V9LFxcXFxuICAgICAgfSlcXFxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6IG51bSxcXFxcbiAgICAgICAgdXJsOiAnY29weTovLycrbnVtLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxcXG4gICAgICAgIGV4dHJhOiB7bGluZVZpc2libGU6IGZhbHNlfSxcXFxcbiAgICAgIH0pXFxcXG4gICAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXFxcbiAgICAgIH0pXFxcXG4gICAgfVxcXFxuXFxcXG4gICAgaWYgKGFjdHJlc3Nlc0xpc3QpIHtcXFxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6ICfmvJTlkZgnLFxcXFxuICAgICAgICB1cmw6IG1pc3MuZW1wdHksXFxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxcXG4gICAgICAgIGV4dHJhOiB7bGluZVZpc2libGU6IGZhbHNlfSxcXFxcbiAgICAgIH0pXFxcXG4gICAgICBhY3RyZXNzZXNMaXN0LmZvckVhY2goKGFjdHJlc3NlcywgaW5kZXgpID0+IHtcXFxcbiAgICAgICAgbGV0IHRpdGxlID0gcGRmaChhY3RyZXNzZXMsICdhJiZUZXh0JylcXFxcbiAgICAgICAgbGV0IHVybCA9IHBkZmgoYWN0cmVzc2VzLCAnYSYmaHJlZicpXFxcXG4gICAgICAgIG1pc3MudGFza0xpc3QucHVzaCh7XFxcXG4gICAgICAgICAgZnVuYzogbWlzcy51cGRhdGVBdmF0YXIsXFxcXG4gICAgICAgICAgcGFyYW06IHtcXFxcbiAgICAgICAgICAgIHVybDogdXJsLFxcXFxuICAgICAgICAgICAgaW5kZXg6ICdhdmF0YXJfJytpbmRleFxcXFxuICAgICAgICAgIH0sXFxcXG4gICAgICAgICAgaWQ6ICdhdmF0YXJfJytpbmRleCxcXFxcbiAgICAgICAgfSlcXFxcblxcXFxuICAgICAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICAgICAgdGl0bGU6IHRpdGxlLFxcXFxuICAgICAgICAgIHBpY191cmw6IG1pc3MuZW1wdHksXFxcXG4gICAgICAgICAgdXJsOiAkKHVybCsnP3BhZ2U9ZnlwYWdlI25vSGlzdG9yeSMnKS5ydWxlKCh0aXRsZSkgPT4ge1xcXFxuICAgICAgICAgICAgY29uc3QgbWlzcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL21pc3MnKVxcXFxuICAgICAgICAgICAgc2V0UGFnZVRpdGxlKHRpdGxlKVxcXFxuICAgICAgICAgICAgbWlzcy5hdmF0YXJQYXJzZShNWV9VUkwpXFxcXG4gICAgICAgICAgICBzZXRSZXN1bHQobWlzcy5kKVxcXFxuICAgICAgICAgIH0sIHRpdGxlKSxcXFxcbiAgICAgICAgICBjb2xfdHlwZTogJ2F2YXRhcicsXFxcXG4gICAgICAgICAgZXh0cmE6IHtcXFxcbiAgICAgICAgICAgIGlkOiAnYXZhdGFyXycraW5kZXgsXFxcXG4gICAgICAgICAgfVxcXFxuICAgICAgICB9KVxcXFxuICAgICAgfSlcXFxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXFxcbiAgICAgICAgY29sX3R5cGU6ICdsaW5lX2JsYW5rJ1xcXFxuICAgICAgfSlcXFxcbiAgICB9XFxcXG5cXFxcbiAgICBpZiAodGFnc0xpc3QpIHtcXFxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6ICfnsbvlnosnLFxcXFxuICAgICAgICB1cmw6IG1pc3MuZW1wdHksXFxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxcXG4gICAgICAgIGV4dHJhOiB7bGluZVZpc2libGU6IGZhbHNlfSxcXFxcbiAgICAgIH0pXFxcXG4gICAgICB0YWdzTGlzdC5mb3JFYWNoKHRhZyA9PiB7XFxcXG4gICAgICAgIGxldCB0YWdfdGl0bGUgPSBwZGZoKHRhZywgJ2EmJlRleHQnKVxcXFxuICAgICAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICAgICAgdGl0bGU6IHRhZ190aXRsZSxcXFxcbiAgICAgICAgICB1cmw6ICQocGRmaCh0YWcsICdhJiZocmVmJykrJz9wYWdlPWZ5cGFnZSNub0hpc3RvcnkjJykucnVsZSgodGFnX3RpdGxlKSA9PiB7XFxcXG4gICAgICAgICAgICBjb25zdCBtaXNzID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpXFxcXG4gICAgICAgICAgICBzZXRQYWdlVGl0bGUodGFnX3RpdGxlKVxcXFxuICAgICAgICAgICAgbWlzcy50YWdzUGFyc2UoTVlfVVJMKVxcXFxuICAgICAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXFxcbiAgICAgICAgICB9LCB0YWdfdGl0bGUpLFxcXFxuICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxcXG4gICAgICAgIH0pXFxcXG4gICAgICB9KVxcXFxuXFxcXG4gICAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXFxcbiAgICAgIH0pXFxcXG4gICAgfVxcXFxuXFxcXG4gICAgaWYgKHNlcmllcykge1xcXFxuICAgICAgbWlzcy5kLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTogJ+ezu+WIlycsXFxcXG4gICAgICAgIHVybDogbWlzcy5lbXB0eSxcXFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXFxcbiAgICAgICAgZXh0cmE6IHtsaW5lVmlzaWJsZTogZmFsc2V9LFxcXFxuICAgICAgfSlcXFxcbiAgICAgIGxldCBzZXJpZXNfdGl0bGUgPSBwZGZoKHNlcmllcywgJ2EmJlRleHQnKVxcXFxuICAgICAgbWlzcy5kLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTogc2VyaWVzX3RpdGxlLFxcXFxuICAgICAgICB1cmw6ICQocGRmaChzZXJpZXMsICdhJiZocmVmJykrJz9wYWdlPWZ5cGFnZSNub0hpc3RvcnkjJykucnVsZSgoc2VyaWVzX3RpdGxlKSA9PiB7XFxcXG4gICAgICAgICAgY29uc3QgbWlzcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL21pc3MnKVxcXFxuICAgICAgICAgIHNldFBhZ2VUaXRsZShzZXJpZXNfdGl0bGUpXFxcXG4gICAgICAgICAgbWlzcy50YWdzUGFyc2UoTVlfVVJMKVxcXFxuICAgICAgICAgIHNldFJlc3VsdChtaXNzLmQpXFxcXG4gICAgICAgIH0sIHNlcmllc190aXRsZSksXFxcXG4gICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxcXG4gICAgICB9KVxcXFxuICAgICAgbWlzcy5kLnB1c2goe1xcXFxuICAgICAgICBjb2xfdHlwZTogJ2xpbmVfYmxhbmsnXFxcXG4gICAgICB9KVxcXFxuICAgIH1cXFxcblxcXFxuICAgIGlmIChtYWtlcnMpIHtcXFxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6ICflj5HooYzllYYnLFxcXFxuICAgICAgICB1cmw6IG1pc3MuZW1wdHksXFxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxcXG4gICAgICAgIGV4dHJhOiB7bGluZVZpc2libGU6IGZhbHNlfSxcXFxcbiAgICAgIH0pXFxcXG4gICAgICBsZXQgbWFrZXJzX3RpdGxlID0gcGRmaChtYWtlcnMsICdhJiZUZXh0JylcXFxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6IG1ha2Vyc190aXRsZSxcXFxcbiAgICAgICAgdXJsOiAkKHBkZmgobWFrZXJzLCAnYSYmaHJlZicpKyc/cGFnZT1meXBhZ2Ujbm9IaXN0b3J5IycpLnJ1bGUoKG1ha2Vyc190aXRsZSkgPT4ge1xcXFxuICAgICAgICAgIGNvbnN0IG1pc3MgPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9taXNzJylcXFxcbiAgICAgICAgICBzZXRQYWdlVGl0bGUobWFrZXJzX3RpdGxlKVxcXFxuICAgICAgICAgIG1pc3MudGFnc1BhcnNlKE1ZX1VSTClcXFxcbiAgICAgICAgICBzZXRSZXN1bHQobWlzcy5kKVxcXFxuICAgICAgICB9LCBtYWtlcnNfdGl0bGUpLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcXFxuICAgICAgfSlcXFxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXFxcbiAgICAgICAgY29sX3R5cGU6ICdsaW5lX2JsYW5rJ1xcXFxuICAgICAgfSlcXFxcbiAgICB9XFxcXG5cXFxcbiAgICBpZiAoZGlyZWN0b3JzKSB7XFxcXG4gICAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiAn5a+85ryUJyxcXFxcbiAgICAgICAgdXJsOiBtaXNzLmVtcHR5LFxcXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcXFxuICAgICAgICBleHRyYToge2xpbmVWaXNpYmxlOiBmYWxzZX0sXFxcXG4gICAgICB9KVxcXFxuICAgICAgbGV0IGRpcmVjdG9yc190aXRsZSA9IHBkZmgoZGlyZWN0b3JzLCAnYSYmVGV4dCcpXFxcXG4gICAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBkaXJlY3RvcnNfdGl0bGUsXFxcXG4gICAgICAgIHVybDogJChwZGZoKGRpcmVjdG9ycywgJ2EmJmhyZWYnKSsnP3BhZ2U9ZnlwYWdlI25vSGlzdG9yeSMnKS5ydWxlKChkaXJlY3RvcnNfdGl0bGUpID0+IHtcXFxcbiAgICAgICAgICBjb25zdCBtaXNzID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpXFxcXG4gICAgICAgICAgc2V0UGFnZVRpdGxlKGRpcmVjdG9yc190aXRsZSlcXFxcbiAgICAgICAgICBtaXNzLnRhZ3NQYXJzZShNWV9VUkwpXFxcXG4gICAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXFxcbiAgICAgICAgfSwgZGlyZWN0b3JzX3RpdGxlKSxcXFxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXFxcbiAgICAgIH0pXFxcXG4gICAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXFxcbiAgICAgIH0pXFxcXG4gICAgfVxcXFxuXFxcXG4gICAgaWYgKGxhYmVsc0xpc3QpIHtcXFxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6ICfnsbvlnosnLFxcXFxuICAgICAgICB1cmw6IG1pc3MuZW1wdHksXFxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxcXG4gICAgICAgIGV4dHJhOiB7bGluZVZpc2libGU6IGZhbHNlfSxcXFxcbiAgICAgIH0pXFxcXG4gICAgICBsYWJlbHNMaXN0LmZvckVhY2gobGFiZWwgPT4ge1xcXFxuICAgICAgICBsZXQgbGFiZWxfdGl0bGUgPSBwZGZoKGxhYmVsLCAnYSYmVGV4dCcpXFxcXG4gICAgICAgIG1pc3MuZC5wdXNoKHtcXFxcbiAgICAgICAgICB0aXRsZTogbGFiZWxfdGl0bGUsXFxcXG4gICAgICAgICAgdXJsOiAkKHBkZmgobGFiZWwsICdhJiZocmVmJykrJz9wYWdlPWZ5cGFnZSNub0hpc3RvcnkjJykucnVsZSgobGFiZWxfdGl0bGUpID0+IHtcXFxcbiAgICAgICAgICAgIGNvbnN0IG1pc3MgPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9taXNzJylcXFxcbiAgICAgICAgICAgIHNldFBhZ2VUaXRsZShsYWJlbF90aXRsZSlcXFxcbiAgICAgICAgICAgIG1pc3MudGFnc1BhcnNlKE1ZX1VSTClcXFxcbiAgICAgICAgICAgIHNldFJlc3VsdChtaXNzLmQpXFxcXG4gICAgICAgICAgfSwgbGFiZWxfdGl0bGUpLFxcXFxuICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxcXG4gICAgICAgIH0pXFxcXG4gICAgICB9KVxcXFxuXFxcXG4gICAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXFxcbiAgICAgIH0pXFxcXG4gICAgfVxcXFxuXFxcXG4vL+aOqOiNkOinhumikVxcXFxuICAgIC8qY29uc3QgdmlkZW9MaXN0ID0gcGRmYShodG1sLCAnLmdyaWQuZ3JpZC1jb2xzLTIuZ2FwLTUmJi5yZWxhdGl2ZScpXFxcXG5cXFxcbiAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICB0aXRsZTogJ+aOqOiNkOinhumikScsXFxcXG4gICAgICB1cmw6IG1pc3MuZW1wdHksXFxcXG4gICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcXFxuICAgICAgZXh0cmE6IHtsaW5lVmlzaWJsZTogZmFsc2V9LFxcXFxuICAgIH0pXFxcXG4gICAgdmlkZW9MaXN0LmZvckVhY2goaXRlbSA9PiB7XFxcXG4gICAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBwZGZoKGl0ZW0sICcubG96YWQmJmFsdCcpLFxcXFxuICAgICAgICB1cmw6ICQocGRmaChpdGVtLCAnYSYmaHJlZicpKycjbm9IaXN0b3J5IycpLnJ1bGUoKCkgPT4ge1xcXFxuICAgICAgICAgIGNvbnN0IG1pc3MgPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9taXNzJylcXFxcbiAgICAgICAgICBtaXNzLnZpZGVvUGFyc2UoTVlfVVJMKVxcXFxuICAgICAgICAgIHNldFJlc3VsdChtaXNzLmQpXFxcXG4gICAgICAgICAgaWYgKG1pc3MudGFza0xpc3QubGVuZ3RoID4gMCkge1xcXFxuICAgICAgICAgICAgYmUobWlzcy50YXNrTGlzdClcXFxcbiAgICAgICAgICB9XFxcXG4gICAgICAgIH0pLFxcXFxuICAgICAgICBwaWNfdXJsOiBwZGZoKGl0ZW0sICcubG96YWQmJmRhdGEtc3JjJykrJ0BSZWZlcmVyPScrbWlzcy51cmwsXFxcXG4gICAgICAgIGRlc2M6IHBkZmgoaXRlbSwgJy5hYnNvbHV0ZSYmVGV4dCcpLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzInXFxcXG4gICAgICB9KVxcXFxuICAgIH0pKi9cXFxcbiAgfSxcXFxcbiAgYXZhdGFyUGFyc2U6ICh1cmwpID0+IHtcXFxcbiAgICBjb25zdCBodG1sID0gZmV0Y2godXJsLCB7aGVhZGVyczp7J1VzZXItQWdlbnQnOiAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCknfX0pXFxcXG4gICAgbWlzcy52aWRlb1R5cGUoaHRtbClcXFxcbiAgfSxcXFxcbiAgdGFnc1BhcnNlOiAodXJsKSA9PiB7XFxcXG4gICAgY29uc3QgaHRtbCA9IGZldGNoKHVybCwge2hlYWRlcnM6eydVc2VyLUFnZW50JzogJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApJ319KVxcXFxuICAgIG1pc3MudmlkZW9UeXBlKGh0bWwpXFxcXG4gIH0sXFxcXG4gIHZpZGVvVHlwZTogKGh0bWwpID0+IHtcXFxcbiAgICBjb25zdCBsaXN0ID0gcGRmYShodG1sLCAnLmdyaWQmJi5yZWxhdGl2ZScpXFxcXG4gICAgbGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xcXFxuICAgICAgbWlzcy5kLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTogcGRmaChpdGVtLCAnLmxvemFkJiZhbHQnKSxcXFxcbiAgICAgICAgdXJsOiAkKHBkZmgoaXRlbSwgJ2EmJmhyZWYnKSsnI25vSGlzdG9yeSMnKS5ydWxlKCgpID0+IHtcXFxcbiAgICAgICAgICBjb25zdCBtaXNzID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpXFxcXG4gICAgICAgICAgbWlzcy52aWRlb1BhcnNlKE1ZX1VSTClcXFxcbiAgICAgICAgICBzZXRSZXN1bHQobWlzcy5kKVxcXFxuICAgICAgICAgIGlmIChtaXNzLnRhc2tMaXN0Lmxlbmd0aCA+IDApIHtcXFxcbiAgICAgICAgICAgIGJlKG1pc3MudGFza0xpc3QpXFxcXG4gICAgICAgICAgfVxcXFxuICAgICAgICB9KSxcXFxcbiAgICAgICAgcGljX3VybDogcGRmaChpdGVtLCAnLmxvemFkJiZkYXRhLXNyYycpKydAUmVmZXJlcj0nK21pc3MudXJsLFxcXFxuICAgICAgICBkZXNjOiBwZGZoKGl0ZW0sICcuYWJzb2x1dGUmJlRleHQnKS5yZXBsYWNlKCfml6DnoIHmtYHlh7onLCfwn4y68J+MuvCfjLrwn4y68J+MuvCfjLonKSxcXFxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8yJ1xcXFxuICAgICAgfSlcXFxcbiAgICB9KVxcXFxuICB9LFxcXFxuICBhcnRpY2xlc1R5cGU6IChodG1sKSA9PiB7XFxcXG4gICAgY29uc3QgbGlzdCA9IHBkZmEoaHRtbCwgJy5ncmlkJiYucm91bmRlZC1sZycpXFxcXG4gICAgbGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xcXFxuICAgICAgbWlzcy5kLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTogcGRmaChpdGVtLCAnaW1nJiZhbHQnKSxcXFxcbiAgICAgICAgdXJsOiAkKHBkZmgoaXRlbSwgJ2EmJmhyZWYnKSsnI25vSGlzdG9yeSMnKS5ydWxlKCgpID0+IHtcXFxcbiAgICAgICAgICBjb25zdCBtaXNzID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpXFxcXG4gICAgICAgICAgY29uc3QgaHRtbCA9IGZldGNoKE1ZX1VSTCwge2hlYWRlcnM6eydVc2VyLUFnZW50JzogJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApJ319KVxcXFxuXFxcXG4gICAgICAgICAgbWlzcy5kLnB1c2goe1xcXFxuICAgICAgICAgICAgdGl0bGU6IHBkZmgoaHRtbCwgJ2FydGljbGUmJkh0bWwnKSxcXFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAncmljaF90ZXh0J1xcXFxuICAgICAgICAgIH0pXFxcXG5cXFxcbiAgICAgICAgICBzZXRSZXN1bHQobWlzcy5kKVxcXFxuICAgICAgICB9KSxcXFxcbiAgICAgICAgcGljX3VybDogcGRmaChpdGVtLCAnaW1nJiZkYXRhLXNyYycpKydAUmVmZXJlcj0nK21pc3MudXJsLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzInXFxcXG4gICAgICB9KVxcXFxuICAgIH0pXFxcXG4gIH0sXFxcXG4gIGF2YXRhclR5cGU6IChodG1sKSA9PiB7XFxcXG4gICAgY29uc3QgbGlzdCA9IHBkZmEoaHRtbCwgJy5tYXgtdy1mdWxsJiZ1bCYmbGknKVxcXFxuICAgIGxpc3QuZm9yRWFjaChpdGVtID0+IHtcXFxcbiAgICAgIG1pc3MuZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6IHBkZmgoaXRlbSwgJ2g0JiZUZXh0JyksXFxcXG4gICAgICAgIHVybDogJChwZGZoKGl0ZW0sICdhJiZocmVmJykrJz9wYWdlPWZ5cGFnZSNub0hpc3RvcnkjJykucnVsZSgoKSA9PiB7XFxcXG4gICAgICAgICAgY29uc3QgbWlzcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL21pc3MnKVxcXFxuICAgICAgICAgIG1pc3MuYXZhdGFyUGFyc2UoTVlfVVJMKVxcXFxuICAgICAgICAgIHNldFJlc3VsdChtaXNzLmQpXFxcXG4gICAgICAgIH0pLFxcXFxuICAgICAgICBwaWNfdXJsOiBwZGZoKGl0ZW0sICdpbWcmJnNyYycpKydAUmVmZXJlcj0nK21pc3MudXJsLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ2ljb25fcm91bmRfNCdcXFxcbiAgICAgIH0pXFxcXG4gICAgfSlcXFxcbiAgfSxcXFxcbiAgdGFnc1R5cGU6IChodG1sKSA9PiB7XFxcXG4gICAgY29uc3QgbGlzdCA9IHBkZmEoaHRtbCwgJy5nYXAtNCYmZGl2JylcXFxcbiAgICBsaXN0LmZvckVhY2goaXRlbSA9PiB7XFxcXG4gICAgICBtaXNzLmQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBwZGZoKGl0ZW0sICdhJiZUZXh0JyksXFxcXG4gICAgICAgIHVybDogJChwZGZoKGl0ZW0sICdhJiZocmVmJykrJz9wYWdlPWZ5cGFnZSNub0hpc3RvcnkjJykucnVsZSgoKSA9PiB7XFxcXG4gICAgICAgICAgY29uc3QgbWlzcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL21pc3MnKVxcXFxuICAgICAgICAgIG1pc3MudGFnc1BhcnNlKE1ZX1VSTClcXFxcbiAgICAgICAgICBzZXRSZXN1bHQobWlzcy5kKVxcXFxuICAgICAgICB9KSxcXFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzQnXFxcXG4gICAgICB9KVxcXFxuICAgIH0pXFxcXG4gIH0sXFxcXG4gIHVwZGF0ZUF2YXRhcjogKHBhcmFtKSA9PiB7XFxcXG4gICAgY29uc3QgYWN0cmVzc2VzSHRtbCA9IGZldGNoKHBhcmFtLnVybCwge2hlYWRlcnM6eydVc2VyLUFnZW50JzogJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApJ319KVxcXFxuXFxcXG4gICAgdXBkYXRlSXRlbSh7XFxcXG4gICAgICBwaWNfdXJsOiBwZGZoKGFjdHJlc3Nlc0h0bWwsICcub2JqZWN0LWNvdmVyLm9iamVjdC10b3Audy1mdWxsLmgtZnVsbCYmc3JjJyksXFxcXG4gICAgICBjb2xfdHlwZTogJ2F2YXRhcicsXFxcXG4gICAgICBleHRyYToge1xcXFxuICAgICAgICBpZDogcGFyYW0uaW5kZXhcXFxcbiAgICAgIH1cXFxcbiAgICB9KVxcXFxuICB9LFxcXFxufVxcXFxuXFxcXG4kLmV4cG9ydHMgPSBtaXNzXFxcXG5cXFwifV1cIn0iLCJ0aXRsZSI6IuWJp+aDhSJ9
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement