Advertisement
xiaomianao666

邀您一起看:JSON编辑器

Feb 26th, 2022
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥JSON编辑器@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImlkXCI6MCxcImxhc3RfY2hhcHRlcl9ydWxlXCI6XCJcIixcImxpc3RUb0NsZWFyQXNzb2NpYXRlZEZLXCI6W10sXCJsaXN0VG9DbGVhclNlbGZGS1wiOltdLFwicGFnZUxpc3RcIjpbe1wiY29sX3R5cGVcIjpcInNjcm9sbF9idXR0b25cIixcIm5hbWVcIjpcIuWGheWuuei9veWFpVwiLFwicGF0aFwiOlwiY29udGVudFwiLFwicnVsZVwiOlwianM6XFxuc2V0UGFnZVRpdGxlKCdKU09O57yW6L6R5ZmoJylcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2Z1bmN0aW9ucycpKS5ydWxlKVxcbmxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKSxcXG4gICAgUGF0aCA9IE1ZX1BBUkFNUy5QYXRoIHx8IEpTT04ucGFyc2UoYmFzZTY0RGVjb2RlKGdldFBhcmFtKCdQYXRoJykpKSxcXG4gICAgSnNvbiA9IEpTT05SZWN1cihBbGxKc29uLCBQYXRoKSxcXG4gICAgVHlwZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChKc29uKS5zbGljZSg4LCAtMSlcXG5hZGRMaXN0ZW5lcignb25DbG9zZScsIFBhdGgubGVuZ3RoID09IDEgPyAnYmFjayhmYWxzZSk7ZGVsZXRlRmlsZShcXFwiSlNPTlRlbXBcXFwiKScgOiAncmVmcmVzaFBhZ2UoZmFsc2UpJylcXG5cXG5sZXQgZWwgPSBbe1xcbiAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyAoUGF0aC5qb2luKCcuJykgKyAnOiAnKS5ib2xkKCkuZm9udGNvbG9yKCcjNDA5ZWZmJykgKyAnWycgKyBUeXBlICsgJ10g8J+Wi++4jycsXFxuICAgIHVybDogJChbJ09iamVjdCcsICdBcnJheScsICdTdHJpbmcnLCAnTnVtYmVyJywgJ0Jvb2xlYW4nLCAnTnVsbCddLCAyLCAn6YCJ5oup5pWw5o2u57G75Z6LJykuc2VsZWN0KChQYXRoKSA9PiB7XFxuICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2Z1bmN0aW9ucycpKS5ydWxlKVxcbiAgICAgICAgbGV0IEFsbEpzb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdKU09OVGVtcCcpIHx8ICd7fScpXFxuICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgKHNlbGYpID0+IHR5cGVDb252ZXJ0KHNlbGYsIGlucHV0KSlcXG4gICAgICAgIHNhdmVGaWxlKCdKU09OVGVtcCcsIEpTT04uc3RyaW5naWZ5KEFsbEpzb24pKVxcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgIH0sIFBhdGgpLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxuICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcbn0sIHtcXG4gICAgdGl0bGU6ICfinI/vuI/kv67mlLknLFxcbiAgICB1cmw6ICQodHlwZUNvbnZlcnQoSnNvbiwgJ1N0cmluZycpLCAn5Y+v5riF56m65ZCO77yM5a+85YWl5paw5YaF5a656KaG55uWXFxcXG7lj6/oh6rnlLHpgInmi6nlhoXlrrnlpI3liLYnKS5pbnB1dCgoUGF0aCwgVHlwZSkgPT4ge1xcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXG4gICAgICAgIGxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKVxcbiAgICAgICAgSlNPTlJlY3VyKEFsbEpzb24sIFBhdGgsIHR5cGVDb252ZXJ0KGlucHV0LCBUeXBlKSlcXG4gICAgICAgIHNhdmVGaWxlKCdKU09OVGVtcCcsIEpTT04uc3RyaW5naWZ5KEFsbEpzb24pKVxcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgIH0sIFBhdGgsIFR5cGUpXFxufSwge1xcbiAgICB0aXRsZTogJ/Cfkr7kv53lrZgnLFxcbiAgICB1cmw6ICQoJ2hpa2VyOi8vZmlsZXMvJywgJ+i+k+WFpeS/neWtmOaWh+S7tui3r+W+hCcpLmlucHV0KChQYXRoKSA9PiB7XFxuICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2Z1bmN0aW9ucycpKS5ydWxlKVxcbiAgICAgICAgbGV0IEFsbEpzb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdKU09OVGVtcCcpIHx8ICd7fScpLFxcbiAgICAgICAgICAgIEpzb24gPSB0eXBlQ29udmVydChKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCksICdTdHJpbmcnKVxcbiAgICAgICAgd3JpdGVGaWxlKGlucHV0LCBKc29uKVxcbiAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3suS/neWtmOiHsycgKyBpbnB1dFxcbiAgICB9LCBQYXRoKVxcbn0sIHtcXG4gICAgdGl0bGU6ICfijKjvuI/mm7TlpJrlpITnkIYnLFxcbiAgICB1cmw6ICQoJ3NlbGY9XFxcIlxcXCInLCAn55SoSlPlr7nmnKznuqflhoXlrrlzZWxm6L+b6KGM5L+u5pS5XFxcXG7lpKfkvaznuqfmk43kvZzvvIzkuI3mh4JKU+aFjueUqCcpLmlucHV0KChQYXRoKSA9PiB7XFxuICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2Z1bmN0aW9ucycpKS5ydWxlKVxcbiAgICAgICAgbGV0IEFsbEpzb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdKU09OVGVtcCcpIHx8ICd7fScpXFxuICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgbmV3IEZ1bmN0aW9uKCdzZWxmJywgaW5wdXQgKyAnO3JldHVybiBzZWxmJykpXFxuICAgICAgICBzYXZlRmlsZSgnSlNPTlRlbXAnLCBKU09OLnN0cmluZ2lmeShBbGxKc29uKSlcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICB9LCBQYXRoKVxcbn0sIHsgY29sX3R5cGU6ICdsaW5lX2JsYW5rJyB9XVxcblxcbnN3aXRjaCAoVHlwZSkge1xcbiAgICBjYXNlICdPYmplY3QnOlxcbiAgICBjYXNlICdBcnJheSc6XFxuICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlLycgKyBUeXBlKSkucnVsZSlcXG4gICAgICAgIGJyZWFrXFxuICAgIGRlZmF1bHQ6XFxuICAgICAgICBlbC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogU3RyaW5nKEpzb24pLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnbG9uZ190ZXh0J1xcbiAgICAgICAgfSlcXG59XFxuXFxuc2V0UmVzdWx0KGVsKVxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5a+56LGh6Kej5p6QXCIsXCJwYXRoXCI6XCJPYmplY3RcIixcInJ1bGVcIjpcImVsLnNwbGljZSgtMiwgMCwge1xcbiAgICB0aXRsZTogJ/CfkqDmlrDlop4nLFxcbiAgICB1cmw6ICQoJycsICfovpPlhaXmlrDlop7nmoTplK7lgLwnKS5pbnB1dCgoUGF0aCkgPT4ge1xcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXG4gICAgICAgIGxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKVxcbiAgICAgICAgSlNPTlJlY3VyKEFsbEpzb24sIFBhdGgsIChzZWxmKSA9PiAoc2VsZltpbnB1dF0gPSBudWxsLCBzZWxmKSlcXG4gICAgICAgIHNhdmVGaWxlKCdKU09OVGVtcCcsIEpTT04uc3RyaW5naWZ5KEFsbEpzb24pKVxcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL3BhZ2UvY29udGVudCNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSM/UGF0aD0nICsgYmFzZTY0RW5jb2RlKEpTT04uc3RyaW5naWZ5KFBhdGguY29uY2F0KGlucHV0KSkpXFxuICAgIH0sIFBhdGgpXFxufSwge1xcbiAgICB0aXRsZTogJ/Cfk6Xlr7zlhaUnLFxcbiAgICB1cmw6ICQoJ2hpa2VyOi8vZmlsZXMvJywgJ+i+k+WFpeimgeaJuemHj+aWsOWinueahFxcXFxu5a+56LGhSlNPTuaIluaWh+S7tui3r+W+hFxcXFxu6ZSu5YC855u45ZCM55qE5Lya6KKr6KaG55uWJykuaW5wdXQoKFBhdGgpID0+IHtcXG4gICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvZnVuY3Rpb25zJykpLnJ1bGUpXFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIGlucHV0ID0gSlNPTi5wYXJzZShpbnB1dClcXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgICAgICBpbnB1dCA9IEpTT04ucGFyc2UocmVxdWVzdChpbnB1dCkpXFxuICAgICAgICB9XFxuICAgICAgICBsZXQgQWxsSnNvbiA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ0pTT05UZW1wJykgfHwgJ3t9JylcXG4gICAgICAgIEpTT05SZWN1cihBbGxKc29uLCBQYXRoLCAoc2VsZikgPT4gT2JqZWN0LmFzc2lnbihzZWxmLCBpbnB1dCkpXFxuICAgICAgICBzYXZlRmlsZSgnSlNPTlRlbXAnLCBKU09OLnN0cmluZ2lmeShBbGxKc29uKSlcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICB9LCBQYXRoKVxcbn0pXFxuZm9yIChsZXQgayBpbiBKc29uKSB7XFxuICAgIGxldCB2ID0gSnNvbltrXSxcXG4gICAgICAgIHZUeXBlID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHYpLnNsaWNlKDgsIC0xKVxcbiAgICBlbC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn4oCc4oCc4oCd4oCdJyArIChrICsgJzogJykuYm9sZCgpICsgJ1snICsgdlR5cGUgKyAnXScsXFxuICAgICAgICBkZXNjOiB0eXBlQ29udmVydCh2LCAnU3RyaW5nJykuc2xpY2UoMCwgMjAwKSxcXG4gICAgICAgIHVybDogJ2hpa2VyOi8vcGFnZS9jb250ZW50I25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5IycsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxuICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgIFBhdGg6IFBhdGguY29uY2F0KGspLFxcbiAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcbiAgICAgICAgfVxcbiAgICB9LCB7XFxuICAgICAgICB0aXRsZTogJ+KcjiDplK7lgLwnLFxcbiAgICAgICAgdXJsOiAkKCcnLCAn5paw55qE6ZSu5YC8JykuaW5wdXQoKGtleSwgUGF0aCkgPT4ge1xcbiAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvZnVuY3Rpb25zJykpLnJ1bGUpXFxuICAgICAgICAgICAgbGV0IEFsbEpzb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdKU09OVGVtcCcpIHx8ICd7fScpXFxuICAgICAgICAgICAgSlNPTlJlY3VyKEFsbEpzb24sIFBhdGgsIChzZWxmKSA9PiAoc2VsZltpbnB1dF0gPSBzZWxmW2tleV0sIGRlbGV0ZSBzZWxmW2tleV0sIHNlbGYpKVxcbiAgICAgICAgICAgIHNhdmVGaWxlKCdKU09OVGVtcCcsIEpTT04uc3RyaW5naWZ5KEFsbEpzb24pKVxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgfSwgaywgUGF0aClcXG4gICAgfSwge1xcbiAgICAgICAgdGl0bGU6ICfinJgg5Yig6ZmkJyxcXG4gICAgICAgIHVybDogJCgn56Gu5a6a6KaB5Yig6Zmk6ZSu5YC8WycgKyBrICsgJ13nmoTlhoXlrrnlkJfvvJ8nKS5jb25maXJtKChrZXksIFBhdGgpID0+IHtcXG4gICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2Z1bmN0aW9ucycpKS5ydWxlKVxcbiAgICAgICAgICAgIGxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKVxcbiAgICAgICAgICAgIEpTT05SZWN1cihBbGxKc29uLCBQYXRoLCAoc2VsZikgPT4gKGRlbGV0ZSBzZWxmW2tleV0sIHNlbGYpKVxcbiAgICAgICAgICAgIHNhdmVGaWxlKCdKU09OVGVtcCcsIEpTT04uc3RyaW5naWZ5KEFsbEpzb24pKVxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgIH0sIGssIFBhdGgpXFxuICAgIH0sIHsgY29sX3R5cGU6ICdsaW5lJyB9KVxcbn1cXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaVsOe7hOino+aekFwiLFwicGF0aFwiOlwiQXJyYXlcIixcInJ1bGVcIjpcImVsLnNwbGljZSgtMiwgMCwge1xcbiAgICB0aXRsZTogJ/CfkqDmlrDlop4nLFxcbiAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKFBhdGgsIGxhc3RJbmRleCkgPT4ge1xcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXG4gICAgICAgIGxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKVxcbiAgICAgICAgSlNPTlJlY3VyKEFsbEpzb24sIFBhdGgsIChzZWxmKSA9PiAoc2VsZi5wdXNoKG51bGwpLCBzZWxmKSlcXG4gICAgICAgIHNhdmVGaWxlKCdKU09OVGVtcCcsIEpTT04uc3RyaW5naWZ5KEFsbEpzb24pKVxcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL3BhZ2UvY29udGVudCNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSM/UGF0aD0nICsgYmFzZTY0RW5jb2RlKEpTT04uc3RyaW5naWZ5KFBhdGguY29uY2F0KGxhc3RJbmRleCkpKVxcbiAgICB9LCBQYXRoLCBKc29uLmxlbmd0aClcXG59LCB7XFxuICAgIHRpdGxlOiAn8J+TpeWvvOWFpScsXFxuICAgIHVybDogJCgnaGlrZXI6Ly9maWxlcy8nLCAn6L6T5YWl6KaB5om56YeP5paw5aKe55qEXFxcXG7mlbDnu4RKU09O5oiW5paH5Lu26Lev5b6EJykuaW5wdXQoKFBhdGgpID0+IHtcXG4gICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvZnVuY3Rpb25zJykpLnJ1bGUpXFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIGlucHV0ID0gSlNPTi5wYXJzZShpbnB1dClcXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgICAgICBpbnB1dCA9IEpTT04ucGFyc2UocmVxdWVzdChpbnB1dCkpXFxuICAgICAgICB9XFxuICAgICAgICBsZXQgQWxsSnNvbiA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ0pTT05UZW1wJykgfHwgJ3t9JylcXG4gICAgICAgIEpTT05SZWN1cihBbGxKc29uLCBQYXRoLCAoc2VsZikgPT4gc2VsZi5jb25jYXQoaW5wdXQpKVxcbiAgICAgICAgc2F2ZUZpbGUoJ0pTT05UZW1wJywgSlNPTi5zdHJpbmdpZnkoQWxsSnNvbikpXFxuICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgfSwgUGF0aClcXG59KVxcbmZvciAobGV0IGkgPSAwOyBpIDwgSnNvbi5sZW5ndGg7IGkrKykge1xcbiAgICBsZXQgdiA9IEpzb25baV0sXFxuICAgICAgICB2VHlwZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2KS5zbGljZSg4LCAtMSlcXG4gICAgZWwucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyAoaSArICc6ICcpLmJvbGQoKSArICh2VHlwZSA9PSAnT2JqZWN0JyAmJiAodi50aXRsZSB8fCB2Lm5hbWUpIHx8ICcnKSArICcgWycgKyB2VHlwZSArICddJyxcXG4gICAgICAgIGRlc2M6IHR5cGVDb252ZXJ0KHYsICdTdHJpbmcnKS5zbGljZSgwLCAyMDApLFxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL2NvbnRlbnQjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjJyxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgUGF0aDogUGF0aC5jb25jYXQoaSksXFxuICAgICAgICAgICAgbGluZVZpc2libGU6IGZhbHNlXFxuICAgICAgICB9XFxuICAgIH0sIHtcXG4gICAgICAgIHRpdGxlOiAn4oe1IOenu+WKqCcsXFxuICAgICAgICB1cmw6ICQoU3RyaW5nKGkpLCAn6KaB56e75Yqo5Yiw55qE5L2N572u5bqP5Y+3JykuaW5wdXQoKGluZGV4LCBQYXRoKSA9PiB7XFxuICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXG4gICAgICAgICAgICBsZXQgQWxsSnNvbiA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ0pTT05UZW1wJykgfHwgJ3t9JylcXG4gICAgICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgKHNlbGYpID0+IChzZWxmLnNwbGljZShpbnB1dCwgMCwgc2VsZi5zcGxpY2UoaW5kZXgsIDEpWzBdKSwgc2VsZikpXFxuICAgICAgICAgICAgc2F2ZUZpbGUoJ0pTT05UZW1wJywgSlNPTi5zdHJpbmdpZnkoQWxsSnNvbikpXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgICAgICB9LCBpLCBQYXRoKVxcbiAgICB9LCB7XFxuICAgICAgICB0aXRsZTogJ+KcmCDliKDpmaQnLFxcbiAgICAgICAgdXJsOiAkKCfnoa7lrpropoHliKDpmaTluo/lj7dbJyArIGkgKyAnXeeahOWGheWuueWQl++8nycpLmNvbmZpcm0oKGluZGV4LCBQYXRoKSA9PiB7XFxuICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXG4gICAgICAgICAgICBsZXQgQWxsSnNvbiA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ0pTT05UZW1wJykgfHwgJ3t9JylcXG4gICAgICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgKHNlbGYpID0+IChzZWxmLnNwbGljZShpbmRleCwgMSksIHNlbGYpKVxcbiAgICAgICAgICAgIHNhdmVGaWxlKCdKU09OVGVtcCcsIEpTT04uc3RyaW5naWZ5KEFsbEpzb24pKVxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgIH0sIGksIFBhdGgpXFxuICAgIH0sIHsgY29sX3R5cGU6ICdsaW5lJyB9KVxcbn1cXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuWFrOeUqOWHveaVsFwiLFwicGF0aFwiOlwiZnVuY3Rpb25zXCIsXCJydWxlXCI6XCJmdW5jdGlvbiB0eXBlQ29udmVydCh2YWx1ZSwgdHlwZSkge1xcbiAgICBsZXQgdlR5cGUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLnNsaWNlKDgsIC0xKVxcbiAgICBzd2l0Y2ggKHR5cGUpIHtcXG4gICAgICAgIGNhc2UgJ09iamVjdCc6XFxuICAgICAgICAgICAgc3dpdGNoICh2VHlwZSkge1xcbiAgICAgICAgICAgICAgICBjYXNlICdPYmplY3QnOlxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlXFxuICAgICAgICAgICAgICAgIGNhc2UgJ0FycmF5JzpcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5yZWR1Y2UoKG9iaiwgdiwgaSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ialtpXSA9IHZhbHVlW2ldXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9ialxcbiAgICAgICAgICAgICAgICAgICAgfSwge30pXFxuICAgICAgICAgICAgICAgIGNhc2UgJ1N0cmluZyc6XFxuICAgICAgICAgICAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHZhbHVlKVxcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeyByZXR1cm4ge30gfTtcXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7fVxcbiAgICAgICAgICAgIH07XFxuICAgICAgICBjYXNlICdBcnJheSc6XFxuICAgICAgICAgICAgc3dpdGNoICh2VHlwZSkge1xcbiAgICAgICAgICAgICAgICBjYXNlICdPYmplY3QnOlxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHZhbHVlKS5tYXAoKGspID0+IHZhbHVlW2tdKVxcbiAgICAgICAgICAgICAgICBjYXNlICdBcnJheSc6XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVcXG4gICAgICAgICAgICAgICAgY2FzZSAnU3RyaW5nJzpcXG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UodmFsdWUpXFxuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7IHJldHVybiBbXSB9O1xcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdXFxuICAgICAgICAgICAgfTtcXG4gICAgICAgIGNhc2UgJ1N0cmluZyc6XFxuICAgICAgICAgICAgc3dpdGNoICh2VHlwZSkge1xcbiAgICAgICAgICAgICAgICBjYXNlICdPYmplY3QnOlxcbiAgICAgICAgICAgICAgICBjYXNlICdBcnJheSc6XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpXFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKVxcbiAgICAgICAgICAgIH07XFxuICAgICAgICBjYXNlICdOdW1iZXInOlxcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpIHx8IDBcXG4gICAgICAgIGNhc2UgJ0Jvb2xlYW4nOlxcbiAgICAgICAgICAgIHRyeSB7IHZhbHVlID0gZXZhbCh2YWx1ZSkgfSBjYXRjaCAoZSkge31cXG4gICAgICAgICAgICByZXR1cm4gQm9vbGVhbih2YWx1ZSlcXG4gICAgICAgIGNhc2UgJ051bGwnOlxcbiAgICAgICAgICAgIHJldHVybiBudWxsXFxuICAgIH1cXG59XFxuXFxuZnVuY3Rpb24gSlNPTlJlY3VyKGpzb24sIHBhdGgsIHZhbHVlLCBpc0NvZGUpIHtcXG4gICAgaWYgKHBhdGgubGVuZ3RoID09IDEpIHtcXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgICAgICAgcmV0dXJuIGpzb25bcGF0aFswXV1cXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgICBqc29uW3BhdGhbMF1dID0gdmFsdWUoanNvbltwYXRoWzBdXSlcXG4gICAgICAgIH0gZWxzZSBqc29uW3BhdGhbMF1dID0gdmFsdWVcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHJldHVybiBKU09OUmVjdXIoanNvbltwYXRoWzBdXSwgcGF0aC5zbGljZSgxKSwgdmFsdWUsIGlzQ29kZSlcXG4gICAgfVxcbn1cXG5cIn0se1wiY29sX3R5cGVcIjpcInRleHRfY2VudGVyXzFcIixcIm5hbWVcIjpcIuWvueWkluaOpeWPo1wiLFwicGF0aFwiOlwiaW50ZXJmYWNlXCIsXCJydWxlXCI6XCJqczpcXG4vKlxcbuWFpeWPo+ekuuS+i1xcbnsgdXJsOiAnaGlrZXI6Ly9wYWdlL2ludGVyZmFjZSNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSM/cnVsZT1KU09O57yW6L6R5ZmoJywgZXh0cmE6IHsgSnNvbjogSlNPTuWvueixoeaIluWtl+espuS4suaIluaWh+S7tuWcsOWdgCB9IH1cXG57IHVybDogJ2hpa2VyOi8vcGFnZS9pbnRlcmZhY2Ujbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjP3J1bGU9SlNPTue8lui+keWZqCZKc29uPScrYmFzZTY0RW5jb2RlKEpTT07lrZfnrKbkuLLmiJbmlofku7blnLDlnYApKSB9XFxuKi9cXG5zZXRQYWdlVGl0bGUoJ0pTT07nvJbovpHlmagnKVxcbmxldCBKc29uID0gTVlfUEFSQU1TLkpzb24gfHwgYmFzZTY0RGVjb2RlKGdldFBhcmFtKCdKc29uJykpXFxuaWYgKHR5cGVvZiBKc29uICE9ICdvYmplY3QnKVxcbiAgICB0cnkge1xcbiAgICAgICAgSnNvbiA9IEpTT04ucGFyc2UoSnNvbilcXG4gICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgSnNvbiA9IEpTT04ucGFyc2UocmVxdWVzdChKc29uKSlcXG4gICAgfVxcbnNhdmVGaWxlKCdKU09OVGVtcCcsIEpTT04uc3RyaW5naWZ5KHsgdGhpczogSnNvbiB9KSlcXG5Kc29uID0gSlNPTi5zdHJpbmdpZnkoSnNvbiwgbnVsbCwgMilcXG5pZihKc29uLmxlbmd0aCA+IDEwMDAwKSBKc29uID0gSnNvbi5zbGljZSgwLCA5OTk5KSArICdcXFxcblxcXFxuLi4uLi4uJ1xcbnNldFJlc3VsdChbe1xcbiAgICB0aXRsZTogJ+KAnOKAnOKAneKAnTxiPueCueaIkeW8gOWni+e8lui+kUpzb24nLFxcbiAgICBkZXNjOiAn4oCc4oCc4oCd4oCdPGI+6aKE6KeIJyxcXG4gICAgdXJsOiAnaGlrZXI6Ly9wYWdlL2NvbnRlbnQjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjJyxcXG4gICAgZXh0cmE6IHsgUGF0aDogWyd0aGlzJ10gfSxcXG59LCB7IHRpdGxlOiBKc29uLCBjb2xfdHlwZTogJ2xvbmdfdGV4dCcgfV0pXFxuXCJ9XSxcInBhcmFtc1wiOlwie1xcXCJQYXRoXFxcIjpbXFxcInRoaXNcXFwiXX1cIixcInNhdmVkXCI6ZmFsc2UsXCJ0aXRsZVwiOlwiSlNPTue8lui+keWZqFwiLFwidmVyc2lvblwiOjAsXCJ1cmxcIjpcImhpa2VyOi8vcGFnZS9jb250ZW50I25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5I1wiLFwiY29sX3R5cGVcIjpcInNjcm9sbF9idXR0b25cIixcImZpbmRfcnVsZVwiOlwianM6XFxuc2V0UGFnZVRpdGxlKCdKU09O57yW6L6R5ZmoJylcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2Z1bmN0aW9ucycpKS5ydWxlKVxcbmxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKSxcXG4gICAgUGF0aCA9IE1ZX1BBUkFNUy5QYXRoIHx8IEpTT04ucGFyc2UoYmFzZTY0RGVjb2RlKGdldFBhcmFtKCdQYXRoJykpKSxcXG4gICAgSnNvbiA9IEpTT05SZWN1cihBbGxKc29uLCBQYXRoKSxcXG4gICAgVHlwZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChKc29uKS5zbGljZSg4LCAtMSlcXG5hZGRMaXN0ZW5lcignb25DbG9zZScsIFBhdGgubGVuZ3RoID09IDEgPyAnYmFjayhmYWxzZSk7ZGVsZXRlRmlsZShcXFwiSlNPTlRlbXBcXFwiKScgOiAncmVmcmVzaFBhZ2UoZmFsc2UpJylcXG5cXG5sZXQgZWwgPSBbe1xcbiAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyAoUGF0aC5qb2luKCcuJykgKyAnOiAnKS5ib2xkKCkuZm9udGNvbG9yKCcjNDA5ZWZmJykgKyAnWycgKyBUeXBlICsgJ10g8J+Wi++4jycsXFxuICAgIHVybDogJChbJ09iamVjdCcsICdBcnJheScsICdTdHJpbmcnLCAnTnVtYmVyJywgJ0Jvb2xlYW4nLCAnTnVsbCddLCAyLCAn6YCJ5oup5pWw5o2u57G75Z6LJykuc2VsZWN0KChQYXRoKSA9PiB7XFxuICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2Z1bmN0aW9ucycpKS5ydWxlKVxcbiAgICAgICAgbGV0IEFsbEpzb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdKU09OVGVtcCcpIHx8ICd7fScpXFxuICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgKHNlbGYpID0+IHR5cGVDb252ZXJ0KHNlbGYsIGlucHV0KSlcXG4gICAgICAgIHNhdmVGaWxlKCdKU09OVGVtcCcsIEpTT04uc3RyaW5naWZ5KEFsbEpzb24pKVxcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgIH0sIFBhdGgpLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxuICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcbn0sIHtcXG4gICAgdGl0bGU6ICfinI/vuI/kv67mlLknLFxcbiAgICB1cmw6ICQodHlwZUNvbnZlcnQoSnNvbiwgJ1N0cmluZycpLCAn5Y+v5riF56m65ZCO77yM5a+85YWl5paw5YaF5a656KaG55uWXFxcXG7lj6/oh6rnlLHpgInmi6nlhoXlrrnlpI3liLYnKS5pbnB1dCgoUGF0aCwgVHlwZSkgPT4ge1xcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXG4gICAgICAgIGxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKVxcbiAgICAgICAgSlNPTlJlY3VyKEFsbEpzb24sIFBhdGgsIHR5cGVDb252ZXJ0KGlucHV0LCBUeXBlKSlcXG4gICAgICAgIHNhdmVGaWxlKCdKU09OVGVtcCcsIEpTT04uc3RyaW5naWZ5KEFsbEpzb24pKVxcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgIH0sIFBhdGgsIFR5cGUpXFxufSwge1xcbiAgICB0aXRsZTogJ/Cfkr7kv53lrZgnLFxcbiAgICB1cmw6ICQoJ2hpa2VyOi8vZmlsZXMvJywgJ+i+k+WFpeS/neWtmOaWh+S7tui3r+W+hCcpLmlucHV0KChQYXRoKSA9PiB7XFxuICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2Z1bmN0aW9ucycpKS5ydWxlKVxcbiAgICAgICAgbGV0IEFsbEpzb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdKU09OVGVtcCcpIHx8ICd7fScpLFxcbiAgICAgICAgICAgIEpzb24gPSB0eXBlQ29udmVydChKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCksICdTdHJpbmcnKVxcbiAgICAgICAgd3JpdGVGaWxlKGlucHV0LCBKc29uKVxcbiAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3suS/neWtmOiHsycgKyBpbnB1dFxcbiAgICB9LCBQYXRoKVxcbn0sIHtcXG4gICAgdGl0bGU6ICfijKjvuI/mm7TlpJrlpITnkIYnLFxcbiAgICB1cmw6ICQoJ3NlbGY9XFxcIlxcXCInLCAn55SoSlPlr7nmnKznuqflhoXlrrlzZWxm6L+b6KGM5L+u5pS5XFxcXG7lpKfkvaznuqfmk43kvZzvvIzkuI3mh4JKU+aFjueUqCcpLmlucHV0KChQYXRoKSA9PiB7XFxuICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2Z1bmN0aW9ucycpKS5ydWxlKVxcbiAgICAgICAgbGV0IEFsbEpzb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdKU09OVGVtcCcpIHx8ICd7fScpXFxuICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgbmV3IEZ1bmN0aW9uKCdzZWxmJywgaW5wdXQgKyAnO3JldHVybiBzZWxmJykpXFxuICAgICAgICBzYXZlRmlsZSgnSlNPTlRlbXAnLCBKU09OLnN0cmluZ2lmeShBbGxKc29uKSlcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICB9LCBQYXRoKVxcbn0sIHsgY29sX3R5cGU6ICdsaW5lX2JsYW5rJyB9XVxcblxcbnN3aXRjaCAoVHlwZSkge1xcbiAgICBjYXNlICdPYmplY3QnOlxcbiAgICBjYXNlICdBcnJheSc6XFxuICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlLycgKyBUeXBlKSkucnVsZSlcXG4gICAgICAgIGJyZWFrXFxuICAgIGRlZmF1bHQ6XFxuICAgICAgICBlbC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogU3RyaW5nKEpzb24pLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnbG9uZ190ZXh0J1xcbiAgICAgICAgfSlcXG59XFxuXFxuc2V0UmVzdWx0KGVsKVxcblwiLFwiZ3JvdXBcIjpcIiPmqKHmnb9cIixcInVhXCI6XCJtb2JpbGVcIixcInByZVJ1bGVcIjpcIi8qXFxuXFxuKi9cIixcInBhZ2VzXCI6XCJbe1xcXCJjb2xfdHlwZVxcXCI6XFxcInNjcm9sbF9idXR0b25cXFwiLFxcXCJuYW1lXFxcIjpcXFwi5YaF5a656L295YWlXFxcIixcXFwicGF0aFxcXCI6XFxcImNvbnRlbnRcXFwiLFxcXCJydWxlXFxcIjpcXFwianM6XFxcXG5zZXRQYWdlVGl0bGUoJ0pTT07nvJbovpHlmagnKVxcXFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXFxcbmxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKSxcXFxcbiAgICBQYXRoID0gTVlfUEFSQU1TLlBhdGggfHwgSlNPTi5wYXJzZShiYXNlNjREZWNvZGUoZ2V0UGFyYW0oJ1BhdGgnKSkpLFxcXFxuICAgIEpzb24gPSBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCksXFxcXG4gICAgVHlwZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChKc29uKS5zbGljZSg4LCAtMSlcXFxcbmFkZExpc3RlbmVyKCdvbkNsb3NlJywgUGF0aC5sZW5ndGggPT0gMSA/ICdiYWNrKGZhbHNlKTtkZWxldGVGaWxlKFxcXFxcXFwiSlNPTlRlbXBcXFxcXFxcIiknIDogJ3JlZnJlc2hQYWdlKGZhbHNlKScpXFxcXG5cXFxcbmxldCBlbCA9IFt7XFxcXG4gICAgdGl0bGU6ICfigJzigJzigJ3igJ0nICsgKFBhdGguam9pbignLicpICsgJzogJykuYm9sZCgpLmZvbnRjb2xvcignIzQwOWVmZicpICsgJ1snICsgVHlwZSArICddIPCflovvuI8nLFxcXFxuICAgIHVybDogJChbJ09iamVjdCcsICdBcnJheScsICdTdHJpbmcnLCAnTnVtYmVyJywgJ0Jvb2xlYW4nLCAnTnVsbCddLCAyLCAn6YCJ5oup5pWw5o2u57G75Z6LJykuc2VsZWN0KChQYXRoKSA9PiB7XFxcXG4gICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvZnVuY3Rpb25zJykpLnJ1bGUpXFxcXG4gICAgICAgIGxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKVxcXFxuICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgKHNlbGYpID0+IHR5cGVDb252ZXJ0KHNlbGYsIGlucHV0KSlcXFxcbiAgICAgICAgc2F2ZUZpbGUoJ0pTT05UZW1wJywgSlNPTi5zdHJpbmdpZnkoQWxsSnNvbikpXFxcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcXFxuICAgIH0sIFBhdGgpLFxcXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXFxcbiAgICBleHRyYTogeyBsaW5lVmlzaWJsZTogZmFsc2UgfSxcXFxcbn0sIHtcXFxcbiAgICB0aXRsZTogJ+Kcj++4j+S/ruaUuScsXFxcXG4gICAgdXJsOiAkKHR5cGVDb252ZXJ0KEpzb24sICdTdHJpbmcnKSwgJ+WPr+a4heepuuWQju+8jOWvvOWFpeaWsOWGheWuueimhuebllxcXFxcXFxcbuWPr+iHqueUsemAieaLqeWGheWuueWkjeWIticpLmlucHV0KChQYXRoLCBUeXBlKSA9PiB7XFxcXG4gICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvZnVuY3Rpb25zJykpLnJ1bGUpXFxcXG4gICAgICAgIGxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKVxcXFxuICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgdHlwZUNvbnZlcnQoaW5wdXQsIFR5cGUpKVxcXFxuICAgICAgICBzYXZlRmlsZSgnSlNPTlRlbXAnLCBKU09OLnN0cmluZ2lmeShBbGxKc29uKSlcXFxcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxcXG4gICAgfSwgUGF0aCwgVHlwZSlcXFxcbn0sIHtcXFxcbiAgICB0aXRsZTogJ/Cfkr7kv53lrZgnLFxcXFxuICAgIHVybDogJCgnaGlrZXI6Ly9maWxlcy8nLCAn6L6T5YWl5L+d5a2Y5paH5Lu26Lev5b6EJykuaW5wdXQoKFBhdGgpID0+IHtcXFxcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXFxcbiAgICAgICAgbGV0IEFsbEpzb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdKU09OVGVtcCcpIHx8ICd7fScpLFxcXFxuICAgICAgICAgICAgSnNvbiA9IHR5cGVDb252ZXJ0KEpTT05SZWN1cihBbGxKc29uLCBQYXRoKSwgJ1N0cmluZycpXFxcXG4gICAgICAgIHdyaXRlRmlsZShpbnB1dCwgSnNvbilcXFxcbiAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3suS/neWtmOiHsycgKyBpbnB1dFxcXFxuICAgIH0sIFBhdGgpXFxcXG59LCB7XFxcXG4gICAgdGl0bGU6ICfijKjvuI/mm7TlpJrlpITnkIYnLFxcXFxuICAgIHVybDogJCgnc2VsZj1cXFxcXFxcIlxcXFxcXFwiJywgJ+eUqEpT5a+55pys57qn5YaF5a65c2VsZui/m+ihjOS/ruaUuVxcXFxcXFxcbuWkp+S9rOe6p+aTjeS9nO+8jOS4jeaHgkpT5oWO55SoJykuaW5wdXQoKFBhdGgpID0+IHtcXFxcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXFxcbiAgICAgICAgbGV0IEFsbEpzb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdKU09OVGVtcCcpIHx8ICd7fScpXFxcXG4gICAgICAgIEpTT05SZWN1cihBbGxKc29uLCBQYXRoLCBuZXcgRnVuY3Rpb24oJ3NlbGYnLCBpbnB1dCArICc7cmV0dXJuIHNlbGYnKSlcXFxcbiAgICAgICAgc2F2ZUZpbGUoJ0pTT05UZW1wJywgSlNPTi5zdHJpbmdpZnkoQWxsSnNvbikpXFxcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcXFxuICAgIH0sIFBhdGgpXFxcXG59LCB7IGNvbF90eXBlOiAnbGluZV9ibGFuaycgfV1cXFxcblxcXFxuc3dpdGNoIChUeXBlKSB7XFxcXG4gICAgY2FzZSAnT2JqZWN0JzpcXFxcbiAgICBjYXNlICdBcnJheSc6XFxcXG4gICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvJyArIFR5cGUpKS5ydWxlKVxcXFxuICAgICAgICBicmVha1xcXFxuICAgIGRlZmF1bHQ6XFxcXG4gICAgICAgIGVsLnB1c2goe1xcXFxuICAgICAgICAgICAgdGl0bGU6IFN0cmluZyhKc29uKSxcXFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnbG9uZ190ZXh0J1xcXFxuICAgICAgICB9KVxcXFxufVxcXFxuXFxcXG5zZXRSZXN1bHQoZWwpXFxcXG5cXFwifSx7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCLlr7nosaHop6PmnpBcXFwiLFxcXCJwYXRoXFxcIjpcXFwiT2JqZWN0XFxcIixcXFwicnVsZVxcXCI6XFxcImVsLnNwbGljZSgtMiwgMCwge1xcXFxuICAgIHRpdGxlOiAn8J+SoOaWsOWinicsXFxcXG4gICAgdXJsOiAkKCcnLCAn6L6T5YWl5paw5aKe55qE6ZSu5YC8JykuaW5wdXQoKFBhdGgpID0+IHtcXFxcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXFxcbiAgICAgICAgbGV0IEFsbEpzb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdKU09OVGVtcCcpIHx8ICd7fScpXFxcXG4gICAgICAgIEpTT05SZWN1cihBbGxKc29uLCBQYXRoLCAoc2VsZikgPT4gKHNlbGZbaW5wdXRdID0gbnVsbCwgc2VsZikpXFxcXG4gICAgICAgIHNhdmVGaWxlKCdKU09OVGVtcCcsIEpTT04uc3RyaW5naWZ5KEFsbEpzb24pKVxcXFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vcGFnZS9jb250ZW50I25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5Iz9QYXRoPScgKyBiYXNlNjRFbmNvZGUoSlNPTi5zdHJpbmdpZnkoUGF0aC5jb25jYXQoaW5wdXQpKSlcXFxcbiAgICB9LCBQYXRoKVxcXFxufSwge1xcXFxuICAgIHRpdGxlOiAn8J+TpeWvvOWFpScsXFxcXG4gICAgdXJsOiAkKCdoaWtlcjovL2ZpbGVzLycsICfovpPlhaXopoHmibnph4/mlrDlop7nmoRcXFxcXFxcXG7lr7nosaFKU09O5oiW5paH5Lu26Lev5b6EXFxcXFxcXFxu6ZSu5YC855u45ZCM55qE5Lya6KKr6KaG55uWJykuaW5wdXQoKFBhdGgpID0+IHtcXFxcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXFxcbiAgICAgICAgdHJ5IHtcXFxcbiAgICAgICAgICAgIGlucHV0ID0gSlNPTi5wYXJzZShpbnB1dClcXFxcbiAgICAgICAgfSBjYXRjaCAoZSkge1xcXFxuICAgICAgICAgICAgaW5wdXQgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpKVxcXFxuICAgICAgICB9XFxcXG4gICAgICAgIGxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKVxcXFxuICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgKHNlbGYpID0+IE9iamVjdC5hc3NpZ24oc2VsZiwgaW5wdXQpKVxcXFxuICAgICAgICBzYXZlRmlsZSgnSlNPTlRlbXAnLCBKU09OLnN0cmluZ2lmeShBbGxKc29uKSlcXFxcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxcXG4gICAgfSwgUGF0aClcXFxcbn0pXFxcXG5mb3IgKGxldCBrIGluIEpzb24pIHtcXFxcbiAgICBsZXQgdiA9IEpzb25ba10sXFxcXG4gICAgICAgIHZUeXBlID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHYpLnNsaWNlKDgsIC0xKVxcXFxuICAgIGVsLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyAoayArICc6ICcpLmJvbGQoKSArICdbJyArIHZUeXBlICsgJ10nLFxcXFxuICAgICAgICBkZXNjOiB0eXBlQ29udmVydCh2LCAnU3RyaW5nJykuc2xpY2UoMCwgMjAwKSxcXFxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL2NvbnRlbnQjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjJyxcXFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcXFxuICAgICAgICBleHRyYToge1xcXFxuICAgICAgICAgICAgUGF0aDogUGF0aC5jb25jYXQoayksXFxcXG4gICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXFxcbiAgICAgICAgfVxcXFxuICAgIH0sIHtcXFxcbiAgICAgICAgdGl0bGU6ICfinI4g6ZSu5YC8JyxcXFxcbiAgICAgICAgdXJsOiAkKCcnLCAn5paw55qE6ZSu5YC8JykuaW5wdXQoKGtleSwgUGF0aCkgPT4ge1xcXFxuICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXFxcbiAgICAgICAgICAgIGxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKVxcXFxuICAgICAgICAgICAgSlNPTlJlY3VyKEFsbEpzb24sIFBhdGgsIChzZWxmKSA9PiAoc2VsZltpbnB1dF0gPSBzZWxmW2tleV0sIGRlbGV0ZSBzZWxmW2tleV0sIHNlbGYpKVxcXFxuICAgICAgICAgICAgc2F2ZUZpbGUoJ0pTT05UZW1wJywgSlNPTi5zdHJpbmdpZnkoQWxsSnNvbikpXFxcXG4gICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXFxcbiAgICAgICAgfSwgaywgUGF0aClcXFxcbiAgICB9LCB7XFxcXG4gICAgICAgIHRpdGxlOiAn4pyYIOWIoOmZpCcsXFxcXG4gICAgICAgIHVybDogJCgn56Gu5a6a6KaB5Yig6Zmk6ZSu5YC8WycgKyBrICsgJ13nmoTlhoXlrrnlkJfvvJ8nKS5jb25maXJtKChrZXksIFBhdGgpID0+IHtcXFxcbiAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvZnVuY3Rpb25zJykpLnJ1bGUpXFxcXG4gICAgICAgICAgICBsZXQgQWxsSnNvbiA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ0pTT05UZW1wJykgfHwgJ3t9JylcXFxcbiAgICAgICAgICAgIEpTT05SZWN1cihBbGxKc29uLCBQYXRoLCAoc2VsZikgPT4gKGRlbGV0ZSBzZWxmW2tleV0sIHNlbGYpKVxcXFxuICAgICAgICAgICAgc2F2ZUZpbGUoJ0pTT05UZW1wJywgSlNPTi5zdHJpbmdpZnkoQWxsSnNvbikpXFxcXG4gICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXFxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXFxcbiAgICAgICAgfSwgaywgUGF0aClcXFxcbiAgICB9LCB7IGNvbF90eXBlOiAnbGluZScgfSlcXFxcbn1cXFxcblxcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJtb3ZpZV8zXFxcIixcXFwibmFtZVxcXCI6XFxcIuaVsOe7hOino+aekFxcXCIsXFxcInBhdGhcXFwiOlxcXCJBcnJheVxcXCIsXFxcInJ1bGVcXFwiOlxcXCJlbC5zcGxpY2UoLTIsIDAsIHtcXFxcbiAgICB0aXRsZTogJ/CfkqDmlrDlop4nLFxcXFxuICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoUGF0aCwgbGFzdEluZGV4KSA9PiB7XFxcXG4gICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvZnVuY3Rpb25zJykpLnJ1bGUpXFxcXG4gICAgICAgIGxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKVxcXFxuICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgKHNlbGYpID0+IChzZWxmLnB1c2gobnVsbCksIHNlbGYpKVxcXFxuICAgICAgICBzYXZlRmlsZSgnSlNPTlRlbXAnLCBKU09OLnN0cmluZ2lmeShBbGxKc29uKSlcXFxcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL3BhZ2UvY29udGVudCNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSM/UGF0aD0nICsgYmFzZTY0RW5jb2RlKEpTT04uc3RyaW5naWZ5KFBhdGguY29uY2F0KGxhc3RJbmRleCkpKVxcXFxuICAgIH0sIFBhdGgsIEpzb24ubGVuZ3RoKVxcXFxufSwge1xcXFxuICAgIHRpdGxlOiAn8J+TpeWvvOWFpScsXFxcXG4gICAgdXJsOiAkKCdoaWtlcjovL2ZpbGVzLycsICfovpPlhaXopoHmibnph4/mlrDlop7nmoRcXFxcXFxcXG7mlbDnu4RKU09O5oiW5paH5Lu26Lev5b6EJykuaW5wdXQoKFBhdGgpID0+IHtcXFxcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9mdW5jdGlvbnMnKSkucnVsZSlcXFxcbiAgICAgICAgdHJ5IHtcXFxcbiAgICAgICAgICAgIGlucHV0ID0gSlNPTi5wYXJzZShpbnB1dClcXFxcbiAgICAgICAgfSBjYXRjaCAoZSkge1xcXFxuICAgICAgICAgICAgaW5wdXQgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpKVxcXFxuICAgICAgICB9XFxcXG4gICAgICAgIGxldCBBbGxKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnSlNPTlRlbXAnKSB8fCAne30nKVxcXFxuICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgKHNlbGYpID0+IHNlbGYuY29uY2F0KGlucHV0KSlcXFxcbiAgICAgICAgc2F2ZUZpbGUoJ0pTT05UZW1wJywgSlNPTi5zdHJpbmdpZnkoQWxsSnNvbikpXFxcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcXFxuICAgIH0sIFBhdGgpXFxcXG59KVxcXFxuZm9yIChsZXQgaSA9IDA7IGkgPCBKc29uLmxlbmd0aDsgaSsrKSB7XFxcXG4gICAgbGV0IHYgPSBKc29uW2ldLFxcXFxuICAgICAgICB2VHlwZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2KS5zbGljZSg4LCAtMSlcXFxcbiAgICBlbC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6ICfigJzigJzigJ3igJ0nICsgKGkgKyAnOiAnKS5ib2xkKCkgKyAodlR5cGUgPT0gJ09iamVjdCcgJiYgKHYudGl0bGUgfHwgdi5uYW1lKSB8fCAnJykgKyAnIFsnICsgdlR5cGUgKyAnXScsXFxcXG4gICAgICAgIGRlc2M6IHR5cGVDb252ZXJ0KHYsICdTdHJpbmcnKS5zbGljZSgwLCAyMDApLFxcXFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvY29udGVudCNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSMnLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxcXG4gICAgICAgIGV4dHJhOiB7XFxcXG4gICAgICAgICAgICBQYXRoOiBQYXRoLmNvbmNhdChpKSxcXFxcbiAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcXFxuICAgICAgICB9XFxcXG4gICAgfSwge1xcXFxuICAgICAgICB0aXRsZTogJ+KHtSDnp7vliqgnLFxcXFxuICAgICAgICB1cmw6ICQoU3RyaW5nKGkpLCAn6KaB56e75Yqo5Yiw55qE5L2N572u5bqP5Y+3JykuaW5wdXQoKGluZGV4LCBQYXRoKSA9PiB7XFxcXG4gICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2Z1bmN0aW9ucycpKS5ydWxlKVxcXFxuICAgICAgICAgICAgbGV0IEFsbEpzb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdKU09OVGVtcCcpIHx8ICd7fScpXFxcXG4gICAgICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgKHNlbGYpID0+IChzZWxmLnNwbGljZShpbnB1dCwgMCwgc2VsZi5zcGxpY2UoaW5kZXgsIDEpWzBdKSwgc2VsZikpXFxcXG4gICAgICAgICAgICBzYXZlRmlsZSgnSlNPTlRlbXAnLCBKU09OLnN0cmluZ2lmeShBbGxKc29uKSlcXFxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcXFxuICAgICAgICB9LCBpLCBQYXRoKVxcXFxuICAgIH0sIHtcXFxcbiAgICAgICAgdGl0bGU6ICfinJgg5Yig6ZmkJyxcXFxcbiAgICAgICAgdXJsOiAkKCfnoa7lrpropoHliKDpmaTluo/lj7dbJyArIGkgKyAnXeeahOWGheWuueWQl++8nycpLmNvbmZpcm0oKGluZGV4LCBQYXRoKSA9PiB7XFxcXG4gICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2Z1bmN0aW9ucycpKS5ydWxlKVxcXFxuICAgICAgICAgICAgbGV0IEFsbEpzb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdKU09OVGVtcCcpIHx8ICd7fScpXFxcXG4gICAgICAgICAgICBKU09OUmVjdXIoQWxsSnNvbiwgUGF0aCwgKHNlbGYpID0+IChzZWxmLnNwbGljZShpbmRleCwgMSksIHNlbGYpKVxcXFxuICAgICAgICAgICAgc2F2ZUZpbGUoJ0pTT05UZW1wJywgSlNPTi5zdHJpbmdpZnkoQWxsSnNvbikpXFxcXG4gICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXFxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXFxcbiAgICAgICAgfSwgaSwgUGF0aClcXFxcbiAgICB9LCB7IGNvbF90eXBlOiAnbGluZScgfSlcXFxcbn1cXFxcblxcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJtb3ZpZV8zXFxcIixcXFwibmFtZVxcXCI6XFxcIuWFrOeUqOWHveaVsFxcXCIsXFxcInBhdGhcXFwiOlxcXCJmdW5jdGlvbnNcXFwiLFxcXCJydWxlXFxcIjpcXFwiZnVuY3Rpb24gdHlwZUNvbnZlcnQodmFsdWUsIHR5cGUpIHtcXFxcbiAgICBsZXQgdlR5cGUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLnNsaWNlKDgsIC0xKVxcXFxuICAgIHN3aXRjaCAodHlwZSkge1xcXFxuICAgICAgICBjYXNlICdPYmplY3QnOlxcXFxuICAgICAgICAgICAgc3dpdGNoICh2VHlwZSkge1xcXFxuICAgICAgICAgICAgICAgIGNhc2UgJ09iamVjdCc6XFxcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZVxcXFxuICAgICAgICAgICAgICAgIGNhc2UgJ0FycmF5JzpcXFxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnJlZHVjZSgob2JqLCB2LCBpKSA9PiB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmpbaV0gPSB2YWx1ZVtpXVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9ialxcXFxuICAgICAgICAgICAgICAgICAgICB9LCB7fSlcXFxcbiAgICAgICAgICAgICAgICBjYXNlICdTdHJpbmcnOlxcXFxuICAgICAgICAgICAgICAgICAgICB0cnkge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UodmFsdWUpXFxcXG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsgcmV0dXJuIHt9IH07XFxcXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcXFxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9XFxcXG4gICAgICAgICAgICB9O1xcXFxuICAgICAgICBjYXNlICdBcnJheSc6XFxcXG4gICAgICAgICAgICBzd2l0Y2ggKHZUeXBlKSB7XFxcXG4gICAgICAgICAgICAgICAgY2FzZSAnT2JqZWN0JzpcXFxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHZhbHVlKS5tYXAoKGspID0+IHZhbHVlW2tdKVxcXFxuICAgICAgICAgICAgICAgIGNhc2UgJ0FycmF5JzpcXFxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlXFxcXG4gICAgICAgICAgICAgICAgY2FzZSAnU3RyaW5nJzpcXFxcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHZhbHVlKVxcXFxuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7IHJldHVybiBbXSB9O1xcXFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XFxcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXVxcXFxuICAgICAgICAgICAgfTtcXFxcbiAgICAgICAgY2FzZSAnU3RyaW5nJzpcXFxcbiAgICAgICAgICAgIHN3aXRjaCAodlR5cGUpIHtcXFxcbiAgICAgICAgICAgICAgICBjYXNlICdPYmplY3QnOlxcXFxuICAgICAgICAgICAgICAgIGNhc2UgJ0FycmF5JzpcXFxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKVxcXFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XFxcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpXFxcXG4gICAgICAgICAgICB9O1xcXFxuICAgICAgICBjYXNlICdOdW1iZXInOlxcXFxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSkgfHwgMFxcXFxuICAgICAgICBjYXNlICdCb29sZWFuJzpcXFxcbiAgICAgICAgICAgIHRyeSB7IHZhbHVlID0gZXZhbCh2YWx1ZSkgfSBjYXRjaCAoZSkge31cXFxcbiAgICAgICAgICAgIHJldHVybiBCb29sZWFuKHZhbHVlKVxcXFxuICAgICAgICBjYXNlICdOdWxsJzpcXFxcbiAgICAgICAgICAgIHJldHVybiBudWxsXFxcXG4gICAgfVxcXFxufVxcXFxuXFxcXG5mdW5jdGlvbiBKU09OUmVjdXIoanNvbiwgcGF0aCwgdmFsdWUsIGlzQ29kZSkge1xcXFxuICAgIGlmIChwYXRoLmxlbmd0aCA9PSAxKSB7XFxcXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XFxcXG4gICAgICAgICAgICByZXR1cm4ganNvbltwYXRoWzBdXVxcXFxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnZnVuY3Rpb24nKSB7XFxcXG4gICAgICAgICAgICBqc29uW3BhdGhbMF1dID0gdmFsdWUoanNvbltwYXRoWzBdXSlcXFxcbiAgICAgICAgfSBlbHNlIGpzb25bcGF0aFswXV0gPSB2YWx1ZVxcXFxuICAgIH0gZWxzZSB7XFxcXG4gICAgICAgIHJldHVybiBKU09OUmVjdXIoanNvbltwYXRoWzBdXSwgcGF0aC5zbGljZSgxKSwgdmFsdWUsIGlzQ29kZSlcXFxcbiAgICB9XFxcXG59XFxcXG5cXFwifSx7XFxcImNvbF90eXBlXFxcIjpcXFwidGV4dF9jZW50ZXJfMVxcXCIsXFxcIm5hbWVcXFwiOlxcXCLlr7nlpJbmjqXlj6NcXFwiLFxcXCJwYXRoXFxcIjpcXFwiaW50ZXJmYWNlXFxcIixcXFwicnVsZVxcXCI6XFxcImpzOlxcXFxuLypcXFxcbuWFpeWPo+ekuuS+i1xcXFxueyB1cmw6ICdoaWtlcjovL3BhZ2UvaW50ZXJmYWNlI25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5Iz9ydWxlPUpTT07nvJbovpHlmagnLCBleHRyYTogeyBKc29uOiBKU09O5a+56LGh5oiW5a2X56ym5Liy5oiW5paH5Lu25Zyw5Z2AIH0gfVxcXFxueyB1cmw6ICdoaWtlcjovL3BhZ2UvaW50ZXJmYWNlI25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5Iz9ydWxlPUpTT07nvJbovpHlmagmSnNvbj0nK2Jhc2U2NEVuY29kZShKU09O5a2X56ym5Liy5oiW5paH5Lu25Zyw5Z2AKSkgfVxcXFxuKi9cXFxcbnNldFBhZ2VUaXRsZSgnSlNPTue8lui+keWZqCcpXFxcXG5sZXQgSnNvbiA9IE1ZX1BBUkFNUy5Kc29uIHx8IGJhc2U2NERlY29kZShnZXRQYXJhbSgnSnNvbicpKVxcXFxuaWYgKHR5cGVvZiBKc29uICE9ICdvYmplY3QnKVxcXFxuICAgIHRyeSB7XFxcXG4gICAgICAgIEpzb24gPSBKU09OLnBhcnNlKEpzb24pXFxcXG4gICAgfSBjYXRjaCAoZSkge1xcXFxuICAgICAgICBKc29uID0gSlNPTi5wYXJzZShyZXF1ZXN0KEpzb24pKVxcXFxuICAgIH1cXFxcbnNhdmVGaWxlKCdKU09OVGVtcCcsIEpTT04uc3RyaW5naWZ5KHsgdGhpczogSnNvbiB9KSlcXFxcbkpzb24gPSBKU09OLnN0cmluZ2lmeShKc29uLCBudWxsLCAyKVxcXFxuaWYoSnNvbi5sZW5ndGggPiAxMDAwMCkgSnNvbiA9IEpzb24uc2xpY2UoMCwgOTk5OSkgKyAnXFxcXFxcXFxuXFxcXFxcXFxuLi4uLi4uJ1xcXFxuc2V0UmVzdWx0KFt7XFxcXG4gICAgdGl0bGU6ICfigJzigJzigJ3igJ08Yj7ngrnmiJHlvIDlp4vnvJbovpFKc29uJyxcXFxcbiAgICBkZXNjOiAn4oCc4oCc4oCd4oCdPGI+6aKE6KeIJyxcXFxcbiAgICB1cmw6ICdoaWtlcjovL3BhZ2UvY29udGVudCNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSMnLFxcXFxuICAgIGV4dHJhOiB7IFBhdGg6IFsndGhpcyddIH0sXFxcXG59LCB7IHRpdGxlOiBKc29uLCBjb2xfdHlwZTogJ2xvbmdfdGV4dCcgfV0pXFxcXG5cXFwifV1cIn0iLCJ0aXRsZSI6IkpTT07nvJbovpHlmagifQ==
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement