Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@豆瓣新版R@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi6LGG55Oj5paw54mIUiIsImF1dGhvciI6Iihvy5jil6HLmG8pJlJlYm9ybiIsInVybCI6Imh0dHBzOi8vbW92aWUuZG91YmFuLmNvbS9qL25ld19zZWFyY2hfc3ViamVjdHM/cmFuZ2U9MCwxMCZzdGFydD1meXBhZ2VALTFAKjIwQCZ0YWdzPWZ5Y2xhc3MmZnlzb3J0JmZ5YXJlYSZmeXllYXIiLCJ2ZXJzaW9uIjo5LCJjb2xfdHlwZSI6Im1vdmllXzMiLCJjbGFzc19uYW1lIjoi5YWo6YOoJueUteW9sSbnlLXop4bliacm57u86Im6JuWKqOa8qybnuqrlvZXniYcm55+t54mHIiwiY2xhc3NfdXJsIjoiJueUteW9sSbnlLXop4bliacm57u86Im6JuWKqOa8qybnuqrlvZXniYcm55+t54mHIiwiYXJlYV9uYW1lIjoi5YWo6YOoJuS4reWbveWkp+mZhibnvo7lm70m5Lit5Zu96aaZ5rivJuS4reWbveWPsOa5vibml6XmnKwm6Z+p5Zu9JuiLseWbvSbms5Xlm70m5b635Zu9JuaEj+Wkp+WIqSbopb/nj63niZkm5Y2w5bqmJuazsOWbvSbkv4TnvZfmlq8m5LyK5pyXJuWKoOaLv+WkpybmvrPlpKfliKnkupom54ix5bCU5YWwJueRnuWFuCblt7Topb8m5Li56bqmIiwiYXJlYV91cmwiOiJjb3VudHJpZXM9JmNvdW50cmllcz3kuK3lm73lpKfpmYYmY291bnRyaWVzPee+juWbvSZjb3VudHJpZXM95Lit5Zu96aaZ5rivJmNvdW50cmllcz3kuK3lm73lj7Dmub4mY291bnRyaWVzPeaXpeacrCZjb3VudHJpZXM96Z+p5Zu9JmNvdW50cmllcz3oi7Hlm70mY291bnRyaWVzPeazleWbvSZjb3VudHJpZXM95b635Zu9JmNvdW50cmllcz3mhI/lpKfliKkmY291bnRyaWVzPeilv+ePreeJmSZjb3VudHJpZXM95Y2w5bqmJmNvdW50cmllcz3ms7Dlm70mY291bnRyaWVzPeS/hOe9l+aWryZjb3VudHJpZXM95LyK5pyXJmNvdW50cmllcz3liqDmi7/lpKcmY291bnRyaWVzPea+s+Wkp+WIqeS6miZjb3VudHJpZXM954ix5bCU5YWwJmNvdW50cmllcz3nkZ7lhbgmY291bnRyaWVzPeW3tOilvyZjb3VudHJpZXM95Li56bqmIiwic29ydF9uYW1lIjoi6L+R5pyf54OtICYg5qCH6K6w5aSaICYg6K+E5YiG6auYICYg5paw5LiK5pigICbilINcblxuJuWFqOmDqCbliafmg4Um5Zac5YmnJuWKqOS9nCbniLHmg4Um56eR5bm7JuWKqOeUuybmgqznlpEm5oOK5oKaJuaBkOaAlibniq/nvaom5ZCM5oCnJumfs+S5kCbmrYzoiJ4m5Lyg6K6wJuWOhuWPsibmiJjkuokm6KW/6YOoJuWlh+W5uyblhpLpmakm54G+6Zq+JuatpuS+oCbmg4Vzw6giLCJ5ZWFyX25hbWUiOiLlhajpg6gmMjAyMCYyMDE5JjIwMTgmMjAxMOW5tOS7oyYyMDAw5bm05LujJuabtOaXqSIsInNvcnRfdXJsIjoic29ydD1VJnNvcnQ9VCZzb3J0PVMmc29ydD1SJlxuXG4mZ2VucmVzPSZnZW5yZXM95Ymn5oOFJmdlbnJlcz3llpzliacmZ2VucmVzPeWKqOS9nCZnZW5yZXM954ix5oOFJmdlbnJlcz3np5HlubsmZ2VucmVzPeWKqOeUuyZnZW5yZXM95oKs55aRJmdlbnJlcz3mg4rmgpomZ2VucmVzPeaBkOaAliZnZW5yZXM954qv572qJmdlbnJlcz3lkIzmgKcmZ2VucmVzPemfs+S5kCZnZW5yZXM95q2M6IieJmdlbnJlcz3kvKDorrAmZ2VucmVzPeWOhuWPsiZnZW5yZXM95oiY5LqJJmdlbnJlcz3opb/pg6gmZ2VucmVzPeWlh+W5uyZnZW5yZXM95YaS6ZmpJmdlbnJlcz3ngb7pmr4mZ2VucmVzPeatpuS+oCZnZW5yZXM95oOFKHPDqOiHquW3seabv+aNoikiLCJ5ZWFyX3VybCI6InllYXJfcmFuZ2U9JnllYXJfcmFuZ2U9MjAyMCwyMDIwJnllYXJfcmFuZ2U9MjAxOSwyMDE5JnllYXJfcmFuZ2U9MjAxOCwyMDE4JnllYXJfcmFuZ2U9MjAxMCwyMDE5JnllYXJfcmFuZ2U9MjAwMCwyMDA5JnllYXJfcmFuZ2U9MSwxOTk5IiwiZmluZF9ydWxlIjoianM6XG4vLyDmmK/lkKbov5vlhaXmtYvor5XmqKHlvI/vvIzlvIDlj5HogIXkuJPnlKjpgInpobnvvIzlubPmsJHnjqnlrrblvIDkuobkuZ/msqHnlKhcbmxldCB0ZXN0TW9kZSA9IDA7XG50cnkge1xudmFyIGRlZmF1bHRQaWMgPSAnaHR0cDovLzF0LmNsaWNrL2FYam0nO1xuXG52YXIgZGF0YSA9IEpTT04ucGFyc2UoZ2V0UmVzQ29kZSgpKS5kYXRhLm1hcChmdW5jdGlvbihvKSB7XG4gcmV0dXJuIHtcbiB0aXRsZTogby50aXRsZSxcbiBkZXNjOiBvLnJhdGVcbiA/IG8ucmF0ZSArICfliIYnXG4gOiAoby5jYXN0cy5sZW5ndGggPiAwID8gby5jYXN0cyA6IG8uZGlyZWN0b3JzKS5zbGljZSgwLCAyKS5qb2luKCcgLyAnKSxcbiBwaWNfdXJsOiBvLmNvdmVyLmluY2x1ZGVzKCdkZWZhdWx0JykgJiYgZGVmYXVsdFBpYyA/IGRlZmF1bHRQaWMgOiBvLmNvdmVyLFxuIHVybDogJ2h0dHBzOi8vbS5kb3ViYW4uY29tL21vdmllL3N1YmplY3QvJyArIG8uaWQgKyAnLycgKyAnIycgKyBvLnRpdGxlICsgJyNub0hpc3RvcnkjJ1xuIH07XG59KTtcblxuc2V0SG9tZVJlc3VsdCh7IGRhdGE6IGRhdGEgfSk7XG5cbn0gY2F0Y2ggKGUpIHtcbiBsZXQgcmVzdWx0ID0ge307XG4gbGV0IGVycm9yVGl0bGUgPSAn4oCc4oCc4oCd4oCdPGZvbnQgY29sb3I9XCJncmV5XCI+JyArICfmmoLml6DlhoXlrrnvvIzor7fnqI3lgJnlho3or5UnICsgJzwvZm9udD4nO1xuIGxldCBlcnJvckRlc2MgPSAnJztcbiB0cnkge1xuIHJlc3VsdCA9IEpTT04ucGFyc2UoZ2V0UmVzQ29kZSgpKTtcbiB9IGNhdGNoIChlKSB7IH1cbiBpZiAocmVzdWx0Lm1zZyAhPSBudWxsICYmIHJlc3VsdC5tc2cgIT09ICcnKSB7XG4gZXJyb3JUaXRsZSA9ICfigJzigJwnICsgcmVzdWx0Lm1zZyArICfigJ3igJ0nO1xuIGVycm9yRGVzYyA9ICfmj5DnpLrvvJrkuZ/orrjlj6rmmK/mnI3liqHlmajmiZPkuobkuKrnm7nnrYnnrYnlsLHkvJrlpb3otbfmnaXkuobvvJ9cXG7mj5DnpLrvvJrkuZ/orrjkvaDlj6/ku6Xor5Xor5XmkJzntKLvvJ/mnInmg4rllpzlk6bvvZ4nO1xuIH1cblxuIHNldEhvbWVSZXN1bHQoe1xuIGRhdGE6IFt7XG4gdGl0bGU6IGVycm9yVGl0bGUsXG4gZGVzYzogZXJyb3JEZXNjLFxuIHVybDogdGVzdE1vZGUgPT09IDEgPyAnaHR0cHM6Ly9tLmRvdWJhbi5jb20vc3ViamVjdC8yNjM1NzMwNy8nIDogJycsXG4gY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xuIH1dXG4gfSk7XG59XG5cbi8qIHYwLjExLjEyIChvy5jil6HLmG8pICovIiwic2VhcmNoX3VybCI6Imh0dHBzOi8vbS5kb3ViYW4uY29tL3NlYXJjaC8/KG8lQ0IlOTglRTIlOTclQTElQ0IlOThvKSZ0eXBlPW1vdmllJnF1ZXJ5PSoqO2dldDt1dGYtODt7VXNlci1BZ2VudEBXaW5kb3dzfSIsImdyb3VwIjoi4pGg5bi455SoIiwic2VhcmNoRmluZCI6Ii5zZWFyY2hfcmVzdWx0c19zdWJqZWN0cyYmbGk7c3BhbiYmVGV4dDthJiZocmVmLmpzOiAnaHR0cHM6Ly9tb3ZpZS5kb3ViYW4uY29tJyArIGlucHV0LnJlcGxhY2UoJy9tb3ZpZScsICcnKSArICcjbm9IaXN0b3J5Iyc7cCYmVGV4dC5qczogaWYoL+Wwmuacqi4qLy50ZXN0KGlucHV0KSAhPSB0cnVlKSBcIuivhOWIhu+8mlwiICsgaW5wdXTvvJvvvJsgZWxzZSBpbnB1dO+8m++8mzsqO2ltZyYmc3JjIiwiZGV0YWlsX2NvbF90eXBlIjoicmljaF90ZXh0IiwiZGV0YWlsX2ZpbmRfcnVsZSI6ImpzOlxudmFyIHJlcyA9IHt9O1xudmFyIGQgPSBbXTtcbnZhciBjb2xUeXBlID0gJ3JpY2hfdGV4dCc7XG52YXIgaHRtbCA9IGdldFJlc0NvZGUoKTtcbnZhciB1cmxTcGxpdHMgPSBNWV9VUkwuc3BsaXQoJyMnKTtcbnZhciBtVXJsID0gdXJsU3BsaXRzWzBdO1xuXG4vKipcbiAqIOS4gOS6m+WFqOWxgOmFjee9ru+8jOivt+enu+atpemihOWkhOeQhuS4rei/m+ihjOmFjee9rlxuICovXG4vLyDmmK/lkKblvIDlkK/op4bnlYzmkJxcbmxldCBvcGVuSGlrZXJTZWFyY2ggPSAtMTtcbnRyeSB7XG4gb3Blbkhpa2VyU2VhcmNoID0gcGFyc2VJbnQoZ2V0VmFyKCdkYl9vcGVuX2hpa2VyX3NlYXJjaCcpKTtcbn0gY2F0Y2ggKGUpIHsgfVxub3Blbkhpa2VyU2VhcmNoID0gb3Blbkhpa2VyU2VhcmNoID09PSAtMSA/IDEgOiBvcGVuSGlrZXJTZWFyY2g7XG4vLyBkZXNjIOaPj+i/sOeahOS4ieihjOS4reavj+ihjOeahOacgOWkp+mVv+W6plxubGV0IGRlc2NMaW5lTWF4TGVuID0gLTE7XG50cnkge1xuIGRlc2NMaW5lTWF4TGVuID0gcGFyc2VJbnQoZ2V0VmFyKCdkYl9kZXNjX2xpbmVfbWF4X2xlbicpKTtcbn0gY2F0Y2ggKGUpIHsgfVxuZGVzY0xpbmVNYXhMZW4gPSBkZXNjTGluZU1heExlbiA9PT0gLTEgPyAyNSA6IGRlc2NMaW5lTWF4TGVuO1xuLy8g6K+E6K6655So5oi36aKc6ImyXG5sZXQgdXNlckNvbG9yID0gXCIjMjk3OUZGXCI7XG50cnkge1xuIHVzZXJDb2xvciA9IGdldFZhcignZGJfdXNlcl9jb2xvcicpO1xufSBjYXRjaCAoZSkgeyB9XG51c2VyQ29sb3IgPSB1c2VyQ29sb3IgPT09ICcnID8gXCIjMjk3OUZGXCIgOiB1c2VyQ29sb3I7XG4vLyDmqKHlnZfnmoTpl7Tot51cbmxldCBsaW5lX21vZGVsID0gLTE7XG50cnkge1xuIGxpbmVfbW9kZWwgPSBwYXJzZUludChnZXRWYXIoJ2RiX2xpbmVfbW9kZWwnKSk7XG59IGNhdGNoIChlKSB7IH1cbmxpbmVfbW9kZWwgPSBsaW5lX21vZGVsID09PSAtMSA/IDAgOiBsaW5lX21vZGVsO1xuLy8g5qih5Z2X6Ze06Led57G75Z6L77yI6YCC6YWN5Lul5ZCO5Y+v6IO95Lya5pyJ55qE5peg6L656Led57q/77yJXG5sZXQgbGluZV90eXBlX21vZGVsID0gJyc7XG50cnkge1xuIGxpbmVfdHlwZV9tb2RlbCA9IGdldFZhcignZGJfbGluZV90eXBlX21vZGVsJyk7XG59IGNhdGNoIChlKSB7IH1cbmxpbmVfdHlwZV9tb2RlbCA9IGxpbmVfdHlwZV9tb2RlbCA9PT0gJycgPyBcImxpbmVcIiA6IGxpbmVfdHlwZV9tb2RlbDtcblxuLy8g6K+E5YiG5a+55bqU6aKc6ImyIFsg5LqU5pif5Yqb6I2Q77yM5Zub5pif5o6o6I2Q77yM5LiJ5pif6L+Y6KGM77yM5LqM5pif6L6D5beu77yM5LiA5pif5b6I5beuXVxubGV0IHJhdGluZ1RleHRzID0gW1xuIFwi5Yqb6I2QXCIsXG4gXCLmjqjojZBcIixcbiBcIui/mOihjFwiLFxuIFwi6L6D5beuXCIsXG4gXCLlvojlt65cIixcbl07XG5sZXQgcmF0aW5nQ29sb3JzID0gW1xuIFwiIzAwZDQzN1wiLFxuIFwiIzljZGMwMFwiLFxuIFwiI2RkY2YwMFwiLFxuIFwiI2ZmYTQwMFwiLFxuIFwiI2ZmNzgwMFwiLFxuXTtcblxuZnVuY3Rpb24gZ2V0QmlnVGV4dCh0ZXh0KSB7XG4gcmV0dXJuICc8YmlnPicgKyB0ZXh0ICsgJzwvYmlnPic7XG59XG5mdW5jdGlvbiBnZXRTbWFsbFRleHQodGV4dCkge1xuIHJldHVybiAnPHNtYWxsPicgKyB0ZXh0ICsgJzwvc21hbGw+Jztcbn1cbmZ1bmN0aW9uIGdldFRpdGxlVGV4dCh0ZXh0KSB7XG4gcmV0dXJuICc8c3Ryb25nPicgKyB0ZXh0ICsgJzwvc3Ryb25nPic7XG59XG5mdW5jdGlvbiBnZXRDb2xvclRleHQodGV4dCwgY29sb3IpIHtcbiByZXR1cm4gJzxmb250IGNvbG9yPVwiJyArIGNvbG9yICsgJ1wiPicgKyB0ZXh0ICsgJzwvZm9udD4nO1xufVxuZnVuY3Rpb24gZ2V0R3JleVRleHQodGV4dCkge1xuIHJldHVybiBnZXRDb2xvclRleHQodGV4dCwgJ2dyZXknKTtcbn1cbmZ1bmN0aW9uIGdldEF1dGhvclRleHQodGV4dCkge1xuIHJldHVybiBnZXRDb2xvclRleHQodGV4dCwgdXNlckNvbG9yKTtcbn1cbmZ1bmN0aW9uIGdldFJhdGluZ1RleHQodGV4dCkge1xuIGxldCBjb2xvckluZGV4ID0gcmF0aW5nVGV4dHMuaW5kZXhPZih0ZXh0KTtcbiBsZXQgdGV4dENvbG9yID0gY29sb3JJbmRleCA8IDAgPyAnI2Y5YjcwMCcgOiByYXRpbmdDb2xvcnNbY29sb3JJbmRleF07XG4gcmV0dXJuIGdldENvbG9yVGV4dCh0ZXh0LCB0ZXh0Q29sb3IpO1xufVxuZnVuY3Rpb24gZ2V0QWJicmV2VGV4dCh0ZXh0KSB7XG4gbGV0IG1UZXh0ID0gdGV4dDtcbiBpZiAodGV4dC5sZW5ndGggPiBkZXNjTGluZU1heExlbikge1xuIG1UZXh0ID0gbVRleHQuc3Vic3RyaW5nKDAsIGRlc2NMaW5lTWF4TGVuKSArICcuLi4nO1xuIH1cbiByZXR1cm4gbVRleHQ7XG59XG5mdW5jdGlvbiBnZXRDb21tZW50TWV0YShodG1sKSB7XG4gcmV0dXJuIGdldFNtYWxsVGV4dChodG1sKTtcbn1cblN0cmluZy5wcm90b3R5cGUucmVwbGFjZVdpdGhDYWxsYmFjayA9IGZ1bmN0aW9uIChzZWFyY2hWYWx1ZSwgcmVwbGFjZVZhbHVlLCBjYWxsYmFjaykge1xuIGxldCByZXR1cm5WYWx1ZSA9IHRoaXM7XG4gaWYgKGNhbGxiYWNrICE9IG51bGwpIHtcbiByZXR1cm5WYWx1ZSA9IGNhbGxiYWNrKHRoaXMsIHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpO1xuIH1cbiByZXR1cm4gcmV0dXJuVmFsdWU7XG59O1xuXG5sZXQgcmV2aWV3UnVsZSA9ICdAcnVsZT1qczogJyArdmFyIHJlcz17fSxkPVtdLGNvbFR5cGU9XCJyaWNoX3RleHRcIixodG1sPWdldFJlc0NvZGUoKSxoaWRlSW1nPTA7bGV0IHVzZXJDb2xvcj1cIiMyOTc5RkZcIjt0cnl7dXNlckNvbG9yPWdldFZhcihcImRiX3VzZXJfY29sb3JcIil9Y2F0Y2godCl7fXVzZXJDb2xvcj1cIlwiPT09dXNlckNvbG9yP1wiIzI5NzlGRlwiOnVzZXJDb2xvcjtsZXQgbGluZV9tb2RlbD0tMTt0cnl7bGluZV9tb2RlbD1wYXJzZUludChnZXRWYXIoXCJkYl9saW5lX21vZGVsXCIpKX1jYXRjaCh0KXt9bGluZV9tb2RlbD0tMT09PWxpbmVfbW9kZWw/MDpsaW5lX21vZGVsO2xldCBsaW5lX3R5cGVfbW9kZWw9XCJcIjt0cnl7bGluZV90eXBlX21vZGVsPWdldFZhcihcImRiX2xpbmVfdHlwZV9tb2RlbFwiKX1jYXRjaCh0KXt9bGluZV90eXBlX21vZGVsPVwiXCI9PT1saW5lX3R5cGVfbW9kZWw/XCJsaW5lXCI6bGluZV90eXBlX21vZGVsO2xldCByYXRpbmdUZXh0cz1bXCIg5Yqb6I2QIFwiLFwiIOaOqOiNkCBcIixcIiDov5jooYwgXCIsXCIg6L6D5beuIFwiLFwiIOW+iOW3riBcIl0scmF0aW5nQ29sb3JzPVtcIiMwMGQ0MzdcIixcIiM5Y2RjMDBcIixcIiNkZGNmMDBcIixcIiNmZmE0MDBcIixcIiNmZjc4MDBcIl07ZnVuY3Rpb24gZ2V0QmlnVGV4dCh0KXtyZXR1cm5cIlwiK3QrXCJcIn1mdW5jdGlvbiBnZXRTbWFsbFRleHQodCl7cmV0dXJuXCJcIit0K1wiXCJ9ZnVuY3Rpb24gZ2V0U3Ryb25nVGV4dCh0KXtyZXR1cm5cIlwiK3QrXCJcIn1mdW5jdGlvbiBnZXRUaXRsZVRleHQodCl7cmV0dXJuIGdldFN0cm9uZ1RleHQodCl9ZnVuY3Rpb24gZ2V0SXRhbGljVGV4dCh0KXtyZXR1cm5cIlwiK3QrXCJcIn1mdW5jdGlvbiBnZXRDb2xvclRleHQodCxlKXtyZXR1cm4nJyt0K1wiXCJ9ZnVuY3Rpb24gZ2V0R3JleVRleHQodCl7cmV0dXJuIGdldENvbG9yVGV4dCh0LFwiZ3JleVwiKX1mdW5jdGlvbiBnZXRBdXRob3JUZXh0KHQpe3JldHVybiBnZXRDb2xvclRleHQodCx1c2VyQ29sb3IpfWZ1bmN0aW9uIGdldFJhdGluZ1RleHQodCl7bGV0IGU9cmF0aW5nVGV4dHMuaW5kZXhPZih0KTtyZXR1cm4gZ2V0Q29sb3JUZXh0KHQsZTwwP1wiI2Y5YjcwMFwiOnJhdGluZ0NvbG9yc1tlXSl9ZnVuY3Rpb24gZ2V0QWJicmV2VGV4dCh0KXtsZXQgZT10O3JldHVybiB0Lmxlbmd0aD5kZXNjTGluZU1heExlbiYmKGU9ZS5zdWJzdHJpbmcoMCxkZXNjTGluZU1heExlbikrXCIuLi5cIiksZX1mdW5jdGlvbiBnZXRDb21tZW50TWV0YSh0KXtyZXR1cm4gZ2V0U21hbGxUZXh0KHQpfWZ1bmN0aW9uIHN0eWxlU3BhblRvU3R5bGVGb250UmVwbGFjZW1lbnQodCxlLGwpe2xldCByPXQ7dHJ5e2xldCBvPXQubWF0Y2goZSk7Zm9yKGxldCB0PTA7dC0xJiYobD1nZXRTdHJvbmdUZXh0KGwpKSxlLmluZGV4T2YoXCJmb250LXN0eWxlOiBpdGFsaWM7XCIpPi0xJiYobD1nZXRJdGFsaWNUZXh0KGwpKSxyPXIucmVwbGFjZShlLGwpfX1jYXRjaCh0KXt9cmV0dXJuIHJ9U3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlV2l0aENhbGxiYWNrPWZ1bmN0aW9uKHQsZSxsKXtsZXQgcj10aGlzO3JldHVybiBudWxsIT1sJiYocj1sKHRoaXMsdCxlKSkscn07dHJ5e2xldCB0PWdldFNtYWxsVGV4dChnZXRHcmV5VGV4dCgnW+afpeeci+WOn+aWh10nKSksZT1wYXJzZURvbUZvckh0bWwoaHRtbCxcIiNjb250ZW50JiYuYXJ0aWNsZSYmSHRtbFwiKSxsPWdldEJpZ1RleHQoZ2V0VGl0bGVUZXh0KHBhcnNlRG9tRm9ySHRtbChlLFwiaDEmJlRleHRcIikpKTtlPXBhcnNlRG9tRm9ySHRtbChlLFwiLm1haW4taGQmJkh0bWxcIik7bGV0IHI9XCJcIixvPVwiXCI7ITA9PT0vKCkvLnRlc3QoZSkmJihvPWdldEF1dGhvclRleHQocGFyc2VEb21Gb3JIdG1sKFJlZ0V4cC4kMSxcIlRleHRcIikpKTtsZXQgbj1cIlwiOyEwPT09LygpLy50ZXN0KGUpJiYobj1nZXRDb2xvclRleHQocGFyc2VEb21Gb3JIdG1sKFJlZ0V4cC4kMSxcIlRleHRcIiksXCIjODk2NWI0XCIpKSxyPVwiXCIhPT1vJiZcIlwiIT09bj9vK1wiXCIrZ2V0R3JleVRleHQoXCIg6K+E6K66IFwiKStcIiBcIituOlwiXCI7bGV0IGE9XCJcIjt0cnl7YT1nZXRSYXRpbmdUZXh0KHBhcnNlRG9tRm9ySHRtbChlLFwiLm1haW4tdGl0bGUtcmF0aW5nJiZ0aXRsZVwiKSkrXCJcIn1jYXRjaCh0KXt9cj1nZXRTbWFsbFRleHQocis9XCIgXCIrYStnZXRHcmV5VGV4dChwYXJzZURvbUZvckh0bWwoZSxcIi5tYWluLW1ldGEmJlRleHRcIikpKSxkLnB1c2goe3RpdGxlOmwrXCIgXCIrdCtcIlxuXCIrcn0pLGQucHVzaCh7Y29sX3R5cGU6XCJsaW5lXCJ9KX1jYXRjaCh0KXt9dHJ5e2xldCB0PXBhcnNlRG9tRm9ySHRtbChodG1sLFwiI3Jldmlldy1jb250ZW50JiZIdG1sXCIpLGU9XCJcIjt0cnl7ZT1cIlxuXG5cIitwYXJzZURvbUZvckh0bWwodCxcIi5tYWluLXRpdGxlLXRpcCYmSHRtbFwiKStcIlxuXCJ9Y2F0Y2godCl7fWxldCBsPXBhcnNlRG9tRm9ySHRtbCh0LFwiLnJldmlldy1jb250ZW50JiZIdG1sXCIpLnJlcGxhY2VXaXRoQ2FsbGJhY2soLyhbXFxzXFxTXSo/KTxcXC9zcGFuPi9nLFwiXCIsc3R5bGVTcGFuVG9TdHlsZUZvbnRSZXBsYWNlbWVudCkscj1cIlwiO3RyeXtyPWdldFNtYWxsVGV4dChnZXRHcmV5VGV4dChwYXJzZURvbUZvckh0bWwodCxcIi5jb3B5cmlnaHQmJkh0bWxcIikpKX1jYXRjaCh0KXt9bGV0IG89cGFyc2VEb21Gb3JIdG1sKHQsXCIubWFpbi1wYW5lbC11c2VmdWwmJkh0bWxcIiksbj1cIlxuXCIrZ2V0U21hbGxUZXh0KGdldENvbG9yVGV4dChwYXJzZURvbUZvckh0bWwobyxcIi51c2VmdWxfY291bnQmJlRleHRcIikscmF0aW5nQ29sb3JzWzBdKSksYT1cIlxcdFxcdFwiK2dldFNtYWxsVGV4dChnZXRDb2xvclRleHQocGFyc2VEb21Gb3JIdG1sKG8sXCIudXNlbGVzc19jb3VudCYmVGV4dFwiKSxyYXRpbmdDb2xvcnNbNF0pKTtkLnB1c2goe3RpdGxlOmUrbCtyK24rYX0pfWNhdGNoKHQpe31kLnB1c2goe3RpdGxlOlwi4oCc4oCc4oCd4oCdXCIrZ2V0Q29sb3JUZXh0KFwiwrcgwrcgwrcg5p+l55yL6K+E6K66IMK3IMK3IMK3XCIsXCIjYWQ4YjI1XCIpLHVybDpNWV9VUkwrXCIjY29tbWVudC1saXN0XCIsY29sX3R5cGU6XCJ0ZXh0X2NlbnRlcl8xXCJ9KSxyZXMuZGF0YT1kLHNldEhvbWVSZXN1bHQocmVzKTs7XG5cbi8qKlxuICog6I635Y+WIOW9seeJhy/kuabnsY0g5L+h5oGvXG4gKiBAdHlwZSB7c3RyaW5nfVxuICovXG50cnkge1xuIGxldCBzdWJfaW5mb19odG1sID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsIFwiI3dyYXBwZXImJkh0bWxcIilcbiAucmVwbGFjZSgvXFxuL2csICcnKTtcbiBsZXQgc3ViX29yaWdpbmFsX3RpdGxlID0gcGFyc2VEb21Gb3JIdG1sKHN1Yl9pbmZvX2h0bWwsICdoMSYmVGV4dCcpO1xuIGxldCBzdWJfY292ZXIgPSBwYXJzZURvbUZvckh0bWwoc3ViX2luZm9faHRtbCwgJyNtYWlucGljJiZhJiZpbWcmJnNyYycpO1xuIC8vIGxldCBzdWJfdGl0bGUgPSBwYXJzZURvbUZvckh0bWwoc3ViX2luZm8sICcuc3ViLWRldGFpbCYmLnN1Yi10aXRsZSYmVGV4dCcpO1xuIGxldCBzdWJfbWV0YV9odG1sID0gcGFyc2VEb21Gb3JIdG1sKHN1Yl9pbmZvX2h0bWwsICcjaW5mbyYmSHRtbCcpO1xuIGxldCBhY3RvciA9ICcnO1xuIGxldCB0eXBlID0gJyc7XG4gbGV0IHNob3dEYXRlID0gJyc7XG4gaWYgKG1VcmwuaW5kZXhPZignYm9vaycpID4gLTEpIHtcbiB0cnkge1xuIGlmICgvKDxzcGFuPltcXHNcXFNdKj88c3BhbiBjbGFzcz1cInBsXCI+IOS9nOiAhTxcXC9zcGFuPltcXHNcXFNdKj8oPz08YnI+KSkvLnRlc3Qoc3ViX21ldGFfaHRtbCkgPT09IHRydWUpIHtcbiBhY3RvciA9ICc8ZGl2IGNsYXNzPVwiYWN0b3JcIj4nICsgUmVnRXhwLiQxICsgJzwvZGl2Pic7XG4gYWN0b3IgPSBwYXJzZURvbUZvckh0bWwoYWN0b3IsICcuYWN0b3ImJlRleHQnKVxuIH1cbiB9IGNhdGNoIChlKSB7IH1cbiB0cnkge1xuIGlmICgvKDxzcGFuIGNsYXNzPVwicGxcIj7lh7rniYjnpL46PFxcL3NwYW4+W1xcc1xcU10qPyg/PTxicj4pKS8udGVzdChzdWJfbWV0YV9odG1sKSA9PT0gdHJ1ZSkge1xuIHR5cGUgPSAnPGRpdiBjbGFzcz1cInR5cGVcIj4nICsgUmVnRXhwLiQxICsgJzwvZGl2Pic7XG4gdHlwZSA9IHBhcnNlRG9tRm9ySHRtbCh0eXBlLCAnLnR5cGUmJlRleHQnKVxuIH1cbiB9IGNhdGNoIChlKSB7IH1cbiB0cnkge1xuIGlmICgvKDxzcGFuIGNsYXNzPVwicGxcIj7lh7rniYjlubQ6PFxcL3NwYW4+W1xcc1xcU10qPyg/PTxicj4pKS8udGVzdChzdWJfbWV0YV9odG1sKSA9PT0gdHJ1ZSkge1xuIHNob3dEYXRlID0gJzxkaXYgY2xhc3M9XCJkYXRlXCI+JyArIFJlZ0V4cC4kMSArICc8L2Rpdj4nO1xuIHNob3dEYXRlID0gcGFyc2VEb21Gb3JIdG1sKHNob3dEYXRlLCAnLmRhdGUmJlRleHQnKVxuIH1cbiB9IGNhdGNoIChlKSB7IH1cbiB9IGVsc2Uge1xuIGFjdG9yID0gcGFyc2VEb21Gb3JIdG1sKHN1Yl9tZXRhX2h0bWwsICcuYWN0b3ImJlRleHQnKTtcbiB0cnkge1xuIGlmICgvKDxzcGFuIGNsYXNzPVwicGxcIj7nsbvlnos6PFxcL3NwYW4+W1xcc1xcU10qPyg/PTxicj4pKS8udGVzdChzdWJfbWV0YV9odG1sKSA9PT0gdHJ1ZSkge1xuIHR5cGUgPSAnPGRpdiBjbGFzcz1cInR5cGVcIj4nICsgUmVnRXhwLiQxICsgJzwvZGl2Pic7XG4gdHlwZSA9IHBhcnNlRG9tRm9ySHRtbCh0eXBlLCAnLnR5cGUmJlRleHQnKVxuIH1cbiB9IGNhdGNoIChlKSB7IH1cbiB0cnkge1xuIGlmICgvKDxzcGFuIGNsYXNzPVwicGxcIj4o5LiK5pig5pel5pyffOmmluaSrSk6PFxcL3NwYW4+W1xcc1xcU10qPyg/PTxicj4pKS8udGVzdChzdWJfbWV0YV9odG1sKSA9PT0gdHJ1ZSkge1xuIHNob3dEYXRlID0gJzxkaXYgY2xhc3M9XCJkYXRlXCI+JyArIFJlZ0V4cC4kMSArICc8L2Rpdj4nO1xuIHNob3dEYXRlID0gcGFyc2VEb21Gb3JIdG1sKHNob3dEYXRlLCAnLmRhdGUmJlRleHQnKVxuIH1cbiB9IGNhdGNoIChlKSB7IH1cbiB9XG4gbGV0IHN1Yl9tZXRhID0gZ2V0QWJicmV2VGV4dChhY3RvcilcbiArICh0eXBlID09PSAnJyA/ICcnIDogKCdcXG4nICsgZ2V0QWJicmV2VGV4dCh0eXBlKSkpXG4gKyAoc2hvd0RhdGUgPT09ICcnID8gJycgOiAoJ1xcbicgKyBnZXRBYmJyZXZUZXh0KHNob3dEYXRlKSkpO1xuIGxldCBkYl90aXRsZSA9ICcnO1xuIHRyeSB7XG4gZGJfdGl0bGUgPSB1cmxTcGxpdHNbMV07XG4gfSBjYXRjaCAoZSkgeyB9XG4gLy8g5pCc57Si5Y+C5pWwXG4gbGV0IHNlYXJjaFZhbHVlID0gZ2V0VmFyKCdkYl9zZWFyY2hfdmFsdWUnKTtcbiBsZXQgc3ViX3VybCA9IG9wZW5IaWtlclNlYXJjaCA9PT0gMVxuID8gKCdoaWtlcjovL3NlYXJjaD9zPSdcbiArIChkYl90aXRsZSA9PT0gJycgfHwgZGJfdGl0bGUgPT09IHVuZGVmaW5lZFxuID8gc3ViX29yaWdpbmFsX3RpdGxlXG4gOiBkYl90aXRsZSlcbiArIHNlYXJjaFZhbHVlXG4gKVxuIDogbVVybDtcbiBkLnB1c2goe1xuIHRpdGxlOiBzdWJfb3JpZ2luYWxfdGl0bGUsXG4gcGljX3VybDogc3ViX2NvdmVyLFxuIHVybDogc3ViX3VybCxcbiBkZXNjOiBzdWJfbWV0YSxcbiBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljJ1xuIH0pO1xuIGZvciAobGV0IGkgPSAwOyBpIDwgbGluZV9tb2RlbDsgaSsrKSB7XG4gZC5wdXNoKHtcbiBjb2xfdHlwZTogbGluZV90eXBlX21vZGVsXG4gfSlcbiB9XG59IGNhdGNoIChlKSB7IH1cblxuLyoqXG4gKiDosYbnk6Por4TliIZcbiAqL1xudHJ5IHtcbiBsZXQgcmF0aW5nID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcjaW50ZXJlc3Rfc2VjdGwmJkh0bWwnKTtcbiBsZXQgcmF0aW5nX3RpdGxlID0gJyc7XG4gbGV0IHJhdGluZ19jb250ZW50ID0gJyc7XG4gbGV0IHJhdGluZ19zaG93ID0gcGFyc2VEb21Gb3JIdG1sKHJhdGluZywgJy5yYXRpbmdfc2VsZiYmZGl2W2NsYXNzXj1yYXRpbmdfcmlnaHRdJiZUZXh0Jyk7XG4gaWYgKHJhdGluZ19zaG93ID09PSAn5bCa5pyq5pKt5Ye6JyB8fCByYXRpbmdfc2hvdyA9PT0gJ+WwmuacquS4iuaYoCcpIHtcbiByYXRpbmdfY29udGVudCArPSAoZ2V0QmlnVGV4dCgn6LGG55Oj6K+E5YiGJykgKyAnICcgKyBnZXRTbWFsbFRleHQoZ2V0R3JleVRleHQocmF0aW5nX3Nob3cpKSk7XG4gfSBlbHNlIHtcbiBsZXQgcmF0aW5nVGV4dCA9IHBhcnNlRG9tRm9ySHRtbChyYXRpbmcsICcucmF0aW5nX3NlbGYmJnN0cm9uZyYmVGV4dCcpO1xuIHJhdGluZ19jb250ZW50ICs9IGdldEJpZ1RleHQoJ+ixhueTo+ivhOWIhiAnXG4gKyAocmF0aW5nVGV4dCA9PT0gJydcbiA/IGdldFNtYWxsVGV4dChnZXRHcmV5VGV4dCgn5pqC5peg6K+E5YiGJykpXG4gOiAoZ2V0VGl0bGVUZXh0KHJhdGluZ1RleHQpICsgJyDliIYnKSlcbiArICc8YnI+Jyk7XG4gbGV0IHJhdGluZ19hcnJheSA9IFtdO1xuIGlmIChtVXJsLmluZGV4T2YoJ2Jvb2snKSA+IC0xKSB7XG4gcmF0aW5nX2FycmF5ID0gcmF0aW5nLm1hdGNoKC88c3BhbiBjbGFzcz1cInN0YXJzW1xcc1xcU10qPyg/PTxicj4pL2cpO1xuIH0gZWxzZSB7XG4gcmF0aW5nX2FycmF5ID0gcGFyc2VEb21Gb3JBcnJheShyYXRpbmcsICcucmF0aW5ncy1vbi13ZWlnaHQmJi5pdGVtJyk7XG4gfVxuIGZvciAobGV0IGkgPSAwOyBpIDwgcmF0aW5nX2FycmF5Lmxlbmd0aDsgaSsrKSB7XG4gbGV0IHJhdGluZ0l0ZW0gPSByYXRpbmdfYXJyYXlbaV07XG4gaWYgKGkgPT09IDApIHJhdGluZ19jb250ZW50ICs9ICfwn4yfICc7XG4gaWYgKGkgPT09IDIpIHJhdGluZ19jb250ZW50ICs9ICc8YnI+4q2QICc7XG4gaWYgKGkgPT09IDMpIHJhdGluZ19jb250ZW50ICs9ICc8YnI+4piE77iPICc7XG4gcmF0aW5nX2NvbnRlbnQgKz0gZ2V0Q29sb3JUZXh0KHBhcnNlRG9tRm9ySHRtbChyYXRpbmdJdGVtLCAnVGV4dCcpLCByYXRpbmdDb2xvcnNbaV0pICsgJ1xcdFxcdCc7XG4gfVxuIH1cbiBsZXQgZENvbnRlbnQgPSByYXRpbmdfdGl0bGUgKyAocmF0aW5nX3RpdGxlID09PSAnJyA/ICcnIDogJzxicj4nKSArIHJhdGluZ19jb250ZW50O1xuIGQucHVzaCh7XG4gdGl0bGU6IGRDb250ZW50XG4gfSk7XG4gZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lX21vZGVsOyBpKyspIHtcbiBkLnB1c2goe1xuIGNvbF90eXBlOiBsaW5lX3R5cGVfbW9kZWxcbiB9KVxuIH1cbn0gY2F0Y2ggKGUpIHsgfVxuXG4vKipcbiAqIOWJp+aDheeugOS7iy/kuabnsY3lhoXlrrnku4vnu41cbiAqL1xudHJ5IHtcbiBsZXQgc3ViX2ludHJvID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcucmVsYXRlZC1pbmZvfHwucmVsYXRlZF9pbmZvJiZIdG1sJylcbiAucmVwbGFjZSgvXFxuL2csICcnKTtcbiBsZXQgc3ViX2ludHJvX3RpdGxlID0gcGFyc2VEb21Gb3JIdG1sKHN1Yl9pbnRybywgJ2gyJiZUZXh0JylcbiAucmVwbGFjZSgvKC4qP+eahCl8KMK3IMK3IMK3IMK3IMK3IMK3KXwoJm5ic3A7wrcmbmJzcDvCtyZuYnNwO8K3Jm5ic3A7wrcmbmJzcDvCtyZuYnNwO8K3KXwowrcgwrcgwrcgwrcgwrcgwrcpL2csICcnKTtcbiBzdWJfaW50cm9fdGl0bGUgPSBnZXRCaWdUZXh0KGdldEdyZXlUZXh0KHN1Yl9pbnRyb190aXRsZSkpO1xuIGxldCBzdWJfaW50cm9fY29udGVudCA9ICcnO1xuIHRyeSB7XG4gc3ViX2ludHJvX2NvbnRlbnQgPSBwYXJzZURvbUZvckh0bWwoc3ViX2ludHJvLCAnLmluZGVudCYmc3BhbltjbGFzc149YWxsXSYmSHRtbCcpO1xuIH0gY2F0Y2ggKGUpIHtcbiBzdWJfaW50cm9fY29udGVudCA9IHBhcnNlRG9tRm9ySHRtbChzdWJfaW50cm8sICcuaW5kZW50JiZIdG1sJyk7XG4gfVxuIHRyeSB7XG4gc3ViX2ludHJvX2NvbnRlbnQgPSBwYXJzZURvbUZvckh0bWwoc3ViX2ludHJvX2NvbnRlbnQsICcuaW50cm8mJkh0bWwnKTtcbiB9IGNhdGNoIChlKSB7IH1cbiBkQ29udGVudCA9IHN1Yl9pbnRyb190aXRsZSArICc8YnI+JyArIHN1Yl9pbnRyb19jb250ZW50O1xuIGQucHVzaCh7XG4gdGl0bGU6IGRDb250ZW50XG4gfSk7XG4gZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lX21vZGVsOyBpKyspIHtcbiBkLnB1c2goe1xuIGNvbF90eXBlOiBsaW5lX3R5cGVfbW9kZWxcbiB9KVxuIH1cbn0gY2F0Y2ggKGUpIHsgfVxuXG4vKipcbiAqIOefreivhFxuICovXG50cnkge1xuIGxldCBjb21tZW50c19odG1sID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcjY29tbWVudHMtc2VjdGlvbiYmSHRtbCcpO1xuIGxldCBjb21tZW50c190aXRsZSA9IGdldEJpZ1RleHQoZ2V0R3JleVRleHQocGFyc2VEb21Gb3JIdG1sKGNvbW1lbnRzX2h0bWwsICdoMiYmSHRtbCcpXG4gLnJlcGxhY2UoLyguKj/nmoQpfCjCtyDCtyDCtyDCtyDCtyDCtyl8KCZuYnNwO8K3Jm5ic3A7wrcmbmJzcDvCtyZuYnNwO8K3Jm5ic3A7wrcmbmJzcDvCtykvZywgJycpKSlcbiAucmVwbGFjZSgvPGlbXFxzXFxTXSo/Pnw8XFwvaT4vZywgJycpXG4gLnJlcGxhY2UoL21vdmllLmRvdWJhbi5jb20vZywgJ20uZG91YmFuLmNvbS9tb3ZpZScpO1xuIGRDb250ZW50ID0gY29tbWVudHNfdGl0bGU7XG4gZC5wdXNoKHtcbiB0aXRsZTogZENvbnRlbnRcbiB9KTtcbiBsZXQgY29tbWVudHNfY29udGVudF9odG1sID0gcGFyc2VEb21Gb3JIdG1sKGNvbW1lbnRzX2h0bWwsICcudGFiLWJkfHwjY29tbWVudC1saXN0LXdyYXBwZXImJkh0bWwnKTtcbiBsZXQgY29tbWVudHNfY29udGVudF9odG1sX2FycmF5ID0gcGFyc2VEb21Gb3JBcnJheShjb21tZW50c19jb250ZW50X2h0bWwsICcjaG90LWNvbW1lbnRzfHwjbmV3X3Njb3JlJiYuY29tbWVudC1pdGVtJyk7XG4gZm9yIChsZXQgaSA9IDA7IGkgPCBjb21tZW50c19jb250ZW50X2h0bWxfYXJyYXkubGVuZ3RoOyBpKyspIHtcbiBsZXQgY29tbWVudEh0bWxJdGVtID0gY29tbWVudHNfY29udGVudF9odG1sX2FycmF5W2ldO1xuIGxldCBjb250ZW50ID0gcGFyc2VEb21Gb3JIdG1sKGNvbW1lbnRIdG1sSXRlbSwgJ3AmJkh0bWwnKTtcbiB0cnkge1xuIGlmICgvPFxcL3NwYW4+W1xcc1xcU10qPyg8c3BhbiBjbGFzcz1cIltcXHNcXFNdKj9mdWxsXCI+W1xcc1xcU10qPzxcXC9zcGFuPikvLnRlc3QoY29udGVudCkgPT09IHRydWUpIHtcbiBjb250ZW50ID0gUmVnRXhwLiQxO1xuIH1cbiB9IGNhdGNoIChlKSB7XG4gY29udGVudCA9IHBhcnNlRG9tRm9ySHRtbChjb21tZW50SHRtbEl0ZW0sICdwJiZIdG1sJyk7XG4gfVxuIGxldCB3YXRjaFN0YXR1cyA9IHBhcnNlRG9tRm9ySHRtbChjb21tZW50SHRtbEl0ZW0sICcuY29tbWVudC1pbmZvJiZUZXh0Jyk7XG4gaWYgKHdhdGNoU3RhdHVzLmluZGV4T2YoXCLnnIvov4dcIikpIHdhdGNoU3RhdHVzID0gJ+eci+i/hyc7XG4gZWxzZSBpZiAod2F0Y2hTdGF0dXMuaW5kZXhPZihcIuaDs+eci1wiKSkgd2F0Y2hTdGF0dXMgPSAn5oOz55yLJztcbiBsZXQgcmF0aW5nVGV4dCA9ICcnO1xuIHRyeSB7XG4gcmF0aW5nVGV4dCA9ICdcXHQnICsgZ2V0UmF0aW5nVGV4dChwYXJzZURvbUZvckh0bWwoY29tbWVudEh0bWxJdGVtLCAnLmNvbW1lbnQtaW5mbyYmLnJhdGluZyYmdGl0bGUnKSlcbiB9IGNhdGNoIChlKSB7IH1cbiBsZXQgbWV0YSA9IGdldEF1dGhvclRleHQocGFyc2VEb21Gb3JIdG1sKGNvbW1lbnRIdG1sSXRlbSwgJy5jb21tZW50LWluZm8mJmEmJlRleHQnKSlcbiArICdcXHQnXG4gKyBnZXRHcmV5VGV4dCh3YXRjaFN0YXR1cylcbiArIHJhdGluZ1RleHRcbiArICdcXHQnXG4gKyBnZXRHcmV5VGV4dChwYXJzZURvbUZvckh0bWwoY29tbWVudEh0bWxJdGVtLCAnLmNvbW1lbnQtaW5mbyYmc3BhbltjbGFzc149Y29tbWVudC10aW1lXSYmVGV4dCcpKTtcbiBkQ29udGVudCA9IGNvbnRlbnQgKyAnPGJyPicgKyBnZXRDb21tZW50TWV0YShtZXRhKTtcbiBkLnB1c2goe1xuIHRpdGxlOiBkQ29udGVudFxuIC5yZXBsYWNlKC88YSBjbGFzcz1cInNvdXJjZS1pY29uXCJbXFxzXFxTXSo/PFxcL2E+L2csICcnKVxuIC5yZXBsYWNlKC9cXCg8YSBocmVmPVwiamF2YXNjcmlwdDo7XCJbXFxzXFxTXSo/PuWxleW8gDxcXC9hPlxcKS9nLCAnJylcbiB9KTtcbiBpZiAoaSA8IGNvbW1lbnRzX2NvbnRlbnRfaHRtbF9hcnJheS5sZW5ndGggLSAxKSB7XG4gZC5wdXNoKHtcbiBjb2xfdHlwZTogJ2xpbmUnXG4gfSlcbiB9XG4gfVxuIGZvciAobGV0IGkgPSAwOyBpIDwgbGluZV9tb2RlbDsgaSsrKSB7XG4gZC5wdXNoKHtcbiBjb2xfdHlwZTogbGluZV90eXBlX21vZGVsXG4gfSlcbiB9XG59IGNhdGNoIChlKSB7IH1cblxuLyoqXG4gKiDlvbHor4Qv5Lmm6K+EXG4gKi9cbnRyeSB7XG4gbGV0IHJldmlld3NfaHRtbCA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnI3Jldmlld3Mtd3JhcHBlciYmSHRtbCcpO1xuIGxldCByZXZpZXdzX3RpdGxlID0gZ2V0QmlnVGV4dChnZXRHcmV5VGV4dChcbiBwYXJzZURvbUZvckh0bWwocmV2aWV3c19odG1sLCAnaDImJkh0bWwnKVxuIC5yZXBsYWNlKCdocmVmPVwicmV2aWV3c1wiJywgJ2hyZWY9XCInICsgbVVybCArICdyZXZpZXdzXCInKVxuIC5yZXBsYWNlKC8oLio/55qEKXwowrcgwrcgwrcgwrcgwrcgwrcpL2csICcnKVxuICkpO1xuIGRDb250ZW50ID0gcmV2aWV3c190aXRsZTtcbiBkLnB1c2goe1xuIHRpdGxlOiBkQ29udGVudFxuIH0pO1xuIGxldCByZXZpZXdzX2NvbnRlbnRfaHRtbCA9IHBhcnNlRG9tRm9ySHRtbChyZXZpZXdzX2h0bWwsICdkaXZbY2xhc3NePXJldmlldy1saXN0XSYmSHRtbCcpO1xuIGxldCByZXZpZXdzX2NvbnRlbnRfaHRtbF9hcnJheSA9IHJldmlld3NfY29udGVudF9odG1sLm1hdGNoKC88ZGl2IGNsYXNzPVwibWFpbiByZXZpZXctaXRlbVwiW1xcc1xcU10qPzxcXC9kaXY+L2cpO1xuIGZvciAobGV0IGkgPSAwOyBpIDwgcmV2aWV3c19jb250ZW50X2h0bWxfYXJyYXkubGVuZ3RoOyBpKyspIHtcbiBsZXQgcmV2aWV3SHRtbEl0ZW0gPSByZXZpZXdzX2NvbnRlbnRfaHRtbF9hcnJheVtpXTtcbiBsZXQgY29udGVudEh0bWwgPSBwYXJzZURvbUZvckh0bWwocmV2aWV3SHRtbEl0ZW0sICcubWFpbi1iZCYmSHRtbCcpO1xuIGxldCByZXZpZXdUaXRsZSA9IHBhcnNlRG9tRm9ySHRtbChjb250ZW50SHRtbCwgJ2gyJiZIdG1sJyk7XG4gbGV0IHJldmlld1VybCA9IHBhcnNlRG9tRm9ySHRtbChyZXZpZXdUaXRsZSwgJ2EmJmhyZWYnKTtcbiBsZXQgcmV2aWV3UnVsZVVybCA9ICdiYXNlNjQ6Ly8nICsgYmFzZTY0RW5jb2RlKHJldmlld1VybCArICcjbm9IaXN0b3J5IycgKyByZXZpZXdSdWxlKTtcbiByZXZpZXdUaXRsZSA9IHJldmlld1RpdGxlLnJlcGxhY2UocmV2aWV3VXJsLCByZXZpZXdSdWxlVXJsKTtcbiBsZXQgY29udGVudCA9IGdldFRpdGxlVGV4dChyZXZpZXdUaXRsZSlcbiArICc8YnI+J1xuICsgcGFyc2VEb21Gb3JIdG1sKGNvbnRlbnRIdG1sLCAnLnJldmlldy1zaG9ydCYmLnNob3J0LWNvbnRlbnQmJkh0bWwnKVxuICsgJyA8c21hbGw+PGEgaHJlZj1cIicgKyByZXZpZXdSdWxlVXJsICsgJ1wiPlvmn6XnnIvlhajmloddPC9hPjwvc21hbGw+J1xuIDtcbiBsZXQgcmF0aW5nVGV4dCA9ICcnO1xuIHRyeSB7XG4gcmF0aW5nVGV4dCA9ICdcXHQnICsgZ2V0UmF0aW5nVGV4dChwYXJzZURvbUZvckh0bWwocmV2aWV3SHRtbEl0ZW0sICcubWFpbi1oZCYmLm1haW4tdGl0bGUtcmF0aW5nJiZ0aXRsZScpKVxuIH0gY2F0Y2ggKGUpIHsgfVxuIGxldCBtZXRhID0gZ2V0QXV0aG9yVGV4dChwYXJzZURvbUZvckh0bWwocmV2aWV3SHRtbEl0ZW0sICcubWFpbi1oZCYmLm5hbWUmJlRleHQnKSlcbiArIHJhdGluZ1RleHRcbiArICdcXHQnXG4gKyBnZXRHcmV5VGV4dChwYXJzZURvbUZvckh0bWwocmV2aWV3SHRtbEl0ZW0sICcubWFpbi1oZCYmLm1haW4tbWV0YSYmVGV4dCcpKTtcbiBsZXQgcmVzcG9uc2VIdG1sID0gJyc7XG4gbGV0IGZlZWRiYWNrID0gJyc7XG4gdHJ5e1xuIGlmICgvKDxhIGhyZWY9XCJodHRwW1xcc1xcU10qP2NsYXNzPVwicmVwbHlbXFxzXFxTXSo/PFxcL2E+KS8udGVzdChyZXZpZXdIdG1sSXRlbSkgPT09IHRydWUpIHJlc3BvbnNlSHRtbCA9IFJlZ0V4cC4kMTtcbiBmZWVkYmFjayA9IGdldEdyZXlUZXh0KCfwn5GN8J+PuycgKyBwYXJzZURvbUZvckh0bWwocmV2aWV3SHRtbEl0ZW0sICcuYWN0aW9uJiYuYWN0aW9uLWJ0bi51cCYmVGV4dCcpXG4gKyAnXFx0J1xuICsgJ/CfkY7wn4+7JyArIHBhcnNlRG9tRm9ySHRtbChyZXZpZXdIdG1sSXRlbSwgJy5hY3Rpb24mJi5hY3Rpb24tYnRuLmRvd24mJlRleHQnKVxuICsgJ1xcdCdcbiArIHJlc3BvbnNlSHRtbFxuICk7XG4gfSBjYXRjaCAoZSkgeyB9XG4gZENvbnRlbnQgPSBjb250ZW50XG4gKyAnPGJyPidcbiArIGdldENvbW1lbnRNZXRhKG1ldGEpXG4gKyAoZmVlZGJhY2sgPT09ICcnID9cbiAnJ1xuIDogKCc8YnI+JyArIGdldENvbW1lbnRNZXRhKGZlZWRiYWNrKSlcbiApO1xuIGQucHVzaCh7XG4gdGl0bGU6IGRDb250ZW50XG4gLnJlcGxhY2UoLzxhIGNsYXNzPVwic291cmNlLWljb25cIltcXHNcXFNdKj88XFwvYT4vZywgJycpXG4gLnJlcGxhY2UoL1xcKFtcXHNcXFNdW1xcclxcbl08YSBocmVmPVwiamF2YXNjcmlwdDo7XCJbXFxzXFxTXSo/dGl0bGU9XCLlsZXlvIBcIj7lsZXlvIA8XFwvYT5cXCkvZywgJycpXG4gLnJlcGxhY2VXaXRoQ2FsbGJhY2soLyg8cCBjbGFzcz1cInNwb2lsZXItdGlwXCI+KC4qPyk8XFwvcD4pL2csXG4gJzxibG9ja3F1b3RlIGNsYXNzPVwic3BvaWxlci10aXBcIj575pyJ5Ymn6YCPfTwvYmxvY2txdW90ZT4nLFxuIGZ1bmN0aW9uIChzb3VyY2UsIHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIHtcbiBsZXQgcmV0dXJuVmFsdWUgPSBzb3VyY2U7XG4gaWYgKHNlYXJjaFZhbHVlLnRlc3Qoc291cmNlKSA9PT0gdHJ1ZSkge1xuIGxldCByZXBsYWNlVGV4dCA9IFJlZ0V4cC4kMjtcbiByZXBsYWNlVGV4dCA9IHJlcGxhY2VUZXh0ID09PSAnJyA/IFJlZ0V4cC4kMSA6IHJlcGxhY2VWYWx1ZS5yZXBsYWNlKCd75pyJ5Ymn6YCPfScsIHJlcGxhY2VUZXh0KTtcbiByZXR1cm5WYWx1ZSA9IHNvdXJjZS5yZXBsYWNlKFJlZ0V4cC4kMSwgcmVwbGFjZVRleHQpXG4gfVxuIHJldHVybiByZXR1cm5WYWx1ZTtcbiB9KVxuIH0pO1xuIGlmIChpIDwgcmV2aWV3c19jb250ZW50X2h0bWxfYXJyYXkubGVuZ3RoIC0gMSkge1xuIGQucHVzaCh7XG4gY29sX3R5cGU6ICdsaW5lJ1xuIH0pXG4gfVxuIH1cbn0gY2F0Y2ggKGUpIHsgfVxuXG5yZXMuZGF0YSA9IGQ7XG5zZXRIb21lUmVzdWx0KHJlcyk7Iiwic2RldGFpbF9jb2xfdHlwZSI6InJpY2hfdGV4dCIsInNkZXRhaWxfZmluZF9ydWxlIjoiKiIsInVhIjoicGMiLCJwcmVSdWxlIjoiLyoqXG4gKiDmmK/lkKblvIDlkK/op4bnlYzmkJzvvIzlvIDlkK/lkI7ngrnlh7vnrKzkuIDpobnljbPlj6/kvb/nlKhcbiAqXG4gKiDoi6XkuI3lvIDlkK/liJnngrnlh7vkuLrmn6XnnIvljp/mlodcbiAqXG4gKiDlvIDlkK8vMSDkuI3lvIDlkK8vMFxuICovXG5sZXQgb3Blbkhpa2VyU2VhcmNoID0gMTtcbi8vIGRlc2Mg5o+P6L+w55qE5LiJ6KGM5Lit5q+P6KGM55qE5pyA5aSn6ZW/5bqmXG5sZXQgZGVzY0xpbmVNYXhMZW4gPSAyNTtcbi8vIOivhOiuuueUqOaIt+minOiJslxubGV0IHVzZXJDb2xvciA9IFwiIzI5NzlGRlwiO1xuLy8g5qih5Z2X55qE6Ze06LedXG5sZXQgbGluZV9tb2RlbCA9IDE7XG4vLyDmqKHlnZfpl7Tot53nsbvlnovvvIjpgILphY3ku6XlkI7lj6/og73kvJrmnInnmoTml6Dovrnot53nur/vvIlcbmxldCBsaW5lX3R5cGVfbW9kZWwgPSAnbGluZV9ibGFuayc7XG4vKipcbiAqIOaQnOe0ouaooeW8j1xuICpcbiAqIDA6IFwiaGlrZXI6Ly9zZWFyY2g/cz3mtYvor5XvvIzlsIbkvJrmiZPlvIDmkJzntKLlvLnnqpfvvIzoh6rliqjloavlhYXmkJzntKLnmoTlhbPplK7or43igJzmtYvor5XigJ3vvIznlLHnlKjmiLfoh6rlt7HpgInmi6nliIbnu4Tlkozop4TliJnlkI7mkJzntKJcIixcbiAqIDE6IFwiaGlrZXI6Ly9zZWFyY2g/cz3mtYvor5UmZ3JvdXA94pGh5b2x5pCc77yM5bCG5Lya5omT5byA5pCc57Si5by556qX77yM6Ieq5Yqo5aGr5YWF5pCc57Si55qE5YWz6ZSu6K+N4oCc5rWL6K+V4oCd5bm25LiU6Ieq5Yqo5YiH5o2i5YiG57uE5Li64oCc4pGh5b2x5pCc4oCd77yM55So5oi35Y+v5YiH5o2i5YiG57uE5ZKM6KeE5YiZXCIsXG4gKiAyOiBcImhpa2VyOi8vc2VhcmNoP3M95rWL6K+VJnJ1bGU95rW36ZiU6KeG55WM77yM5bCG5Lya55u05o6l6Lez6L2s5pCc57Si57uT5p6c55WM6Z2i77yM6Ieq5Yqo6YCJ5oup5qCH6aKY5Li64oCc5rW36ZiU6KeG55WM4oCd55qE6KeE5YiZ6L+b6KGM5pCc57Si77yM5bm25LiU6K+l55WM6Z2i5LiN5Y+v5YiH5o2i5Yir55qE6KeE5YiZXCIsXG4gKiAzOiBcImhpa2VyOi8vc2VhcmNoP3M95rWL6K+VJnJ1bGU95rW36ZiU6KeG55WMJnNpbXBsZT1mYWxzZe+8jOWwhuS8muiHquWKqOWhq+WFheaQnOe0oueahOWFs+mUruivjeKAnOa1i+ivleKAne+8jOW5tuS4lOiHquWKqOWIh+aNouWIhue7hOS4uuKAnOKRoOaOqOiNkOKAneOAgeiHquWKqOmAieS4reagh+mimOS4uuKAnOa1t+mYlOinhueVjOKAneeahOinhOWIme+8jOeUqOaIt+WPr+WIh+aNouWIhue7hOWSjOinhOWIme+8jOW5tuiHquWKqOW8gOWni+aQnOe0olwiXG4gKi9cbmxldCBzZWFyY2hNb2RlID0gMDtcbi8vIOaQnOe0ouWIhue7hFxubGV0IHNlYXJjaEdyb3VwID0gJyc7XG4vLyDmkJzntKLop4TliJlcbmxldCBzZWFyY2hSdWxlID0gJyc7XG5cbi8qKlxuICog5Lul5LiL5a6M5YWo5LiN6ZyA6KaB5L2/55So6ICF6YWN572u77yM5aaC55yL5LiN5oeC5Luj56CB6K+35Yu/5Lmx5YqoXG4gKi9cbmxldCBzZWFyY2hWYWx1ZXMgPSBbXG4gJycsXG4gc2VhcmNoR3JvdXAgPT09ICcnID8gJycgOiAnJmdyb3VwPScgKyBzZWFyY2hHcm91cCxcbiBzZWFyY2hSdWxlID09PSAnJyA/ICcnIDogJyZydWxlPScgKyBzZWFyY2hSdWxlLFxuIHNlYXJjaFJ1bGUgPT09ICcnID8gJycgOiAnJnJ1bGU9JyArIHNlYXJjaFJ1bGUgKyAnJnNpbXBsZT1mYWxzZSdcbl07XG5sZXQgc2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZXNbc2VhcmNoTW9kZV07XG5wdXRWYXIyKCdkYl9vcGVuX2hpa2VyX3NlYXJjaCcsIG9wZW5IaWtlclNlYXJjaC50b1N0cmluZygpKTtcbnB1dFZhcjIoJ2RiX2Rlc2NfbGluZV9tYXhfbGVuJywgZGVzY0xpbmVNYXhMZW4udG9TdHJpbmcoKSk7XG5wdXRWYXIyKCdkYl91c2VyX2NvbG9yJywgdXNlckNvbG9yKTtcbnB1dFZhcjIoJ2RiX2xpbmVfbW9kZWwnLCBsaW5lX21vZGVsLnRvU3RyaW5nKCkpO1xucHV0VmFyMignZGJfbGluZV90eXBlX21vZGVsJywgbGluZV90eXBlX21vZGVsKTtcbnB1dFZhcjIoJ2RiX3NlYXJjaF92YWx1ZScsIHNlYXJjaFZhbHVlKTsiLCJwYWdlcyI6IltdIiwiaWNvbiI6IiJ9
Add Comment
Please, Sign In to add comment