You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
27 KiB
1 lines
27 KiB
{"remainingRequest":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\views\\project\\infoShow\\gdQueryList.vue?vue&type=script&lang=js&","dependencies":[{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\views\\project\\infoShow\\gdQueryList.vue","mtime":1636877173740},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCmltcG9ydCBCYXJMaW5lQ2hhcnQgZnJvbSAiLi4vLi4vZGFzaGJvYXJkL0JhckxpbmVDaGFydCI7CmltcG9ydCBQaWVDaGFydCBmcm9tICIuLi8uLi9kYXNoYm9hcmQvUGllQ2hhcnQiOwppbXBvcnQgQmFyQ2hhcnQzIGZyb20gIi4uLy4uL2Rhc2hib2FyZC9CYXJDaGFydDMiOwppbXBvcnQgeyBsaXN0SW5mbywgZ2V0SW5mbywgZGVsSW5mbywgYWRkSW5mbywgdXBkYXRlSW5mbywgZXhwb3J0SW5mbywgaW1wb3J0VGVtcGxhdGUgYXMgX2ltcG9ydFRlbXBsYXRlIH0gZnJvbSAiQC9hcGkvcHJvamVjdC9pbmZvMiI7CmltcG9ydCB7IGxlZnQxRGF0YSwgbGVmdDREYXRhLCBjZW50ZXI4RGF0YSB9IGZyb20gIkAvYXBpL3Byb2plY3QvaW5mbzMiOwppbXBvcnQgeyBnZXRUb2tlbiB9IGZyb20gIkAvdXRpbHMvYXV0aCI7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiSW5mbyIsCiAgY29tcG9uZW50czogewogICAgQmFyTGluZUNoYXJ0OiBCYXJMaW5lQ2hhcnQsCiAgICBQaWVDaGFydDogUGllQ2hhcnQsCiAgICBCYXJDaGFydDM6IEJhckNoYXJ0MwogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIC8vIOS4iuS8oOWPguaVsAogICAgICB1cGxvYWRQcm9qZWN0OiB7CiAgICAgICAgLy8g5piv5ZCm5pi+56S65by55Ye65bGC77yI55So5oi35a+85YWl77yJCiAgICAgICAgb3BlbjogZmFsc2UsCiAgICAgICAgLy8g5by55Ye65bGC5qCH6aKY77yI55So5oi35a+85YWl77yJCiAgICAgICAgdGl0bGU6ICIiLAogICAgICAgIC8vIOaYr+WQpuemgeeUqOS4iuS8oAogICAgICAgIGlzVXBsb2FkaW5nOiBmYWxzZSwKICAgICAgICAvLyDmmK/lkKbmm7TmlrDlt7Lnu4/lrZjlnKjnmoTnlKjmiLfmlbDmja4KICAgICAgICB1cGRhdGVTdXBwb3J0OiAwLAogICAgICAgIC8vIOiuvue9ruS4iuS8oOeahOivt+axguWktOmDqAogICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgIEF1dGhvcml6YXRpb246ICJCZWFyZXIgIiArIGdldFRva2VuKCkKICAgICAgICB9LAogICAgICAgIC8vIOS4iuS8oOeahOWcsOWdgAogICAgICAgIHVybDogcHJvY2Vzcy5lbnYuVlVFX0FQUF9CQVNFX0FQSSArICIvc3lzdGVtL2luZm8vaW1wb3J0RGF0YSIKICAgICAgfSwKICAgICAgLy8g5LiK5Lyg5Y+C5pWwCiAgICAgIHVwbG9hZDogewogICAgICAgIHRpdGxlOiAiIiwKICAgICAgICBvcGVuOiBmYWxzZSwKICAgICAgICAvLyDmmK/lkKbnpoHnlKjkuIrkvKAKICAgICAgICBpc1VwbG9hZGluZzogZmFsc2UsCiAgICAgICAgLy8g6K6+572u5LiK5Lyg55qE6K+35rGC5aS06YOoCiAgICAgICAgaGVhZGVyczogewogICAgICAgICAgQXV0aG9yaXphdGlvbjogIkJlYXJlciAiICsgZ2V0VG9rZW4oKQogICAgICAgIH0sCiAgICAgICAgLy8g5LiK5Lyg55qE5Zyw5Z2ACiAgICAgICAgdXJsOiBwcm9jZXNzLmVudi5WVUVfQVBQX0JBU0VfQVBJICsgIi9wcm9qZWN0L2luZm8vY29tbW9uL3VwbG9hZCIsCiAgICAgICAgLy8g5LiK5Lyg55qE5paH5Lu25YiX6KGoCiAgICAgICAgZmlsZUxpc3Q6IFtdCiAgICAgIH0sCiAgICAgIC8vIOmBrue9qeWxggogICAgICBsb2FkaW5nOiB0cnVlLAogICAgICAvLyDpgInkuK3mlbDnu4QKICAgICAgaWRzOiBbXSwKICAgICAgLy8g6Z2e5Y2V5Liq56aB55SoCiAgICAgIHNpbmdsZTogdHJ1ZSwKICAgICAgLy8g6Z2e5aSa5Liq56aB55SoCiAgICAgIG11bHRpcGxlOiB0cnVlLAogICAgICAvLyDmmL7npLrmkJzntKLmnaHku7YKICAgICAgc2hvd1NlYXJjaDogdHJ1ZSwKICAgICAgLy8g5oC75p2h5pWwCiAgICAgIHRvdGFsOiAwLAogICAgICAvLyDjgJDor7floavlhpnlip/og73lkI3np7DjgJHooajmoLzmlbDmja4KICAgICAgaW5mb0xpc3Q6IFtdLAogICAgICAvLyDlvLnlh7rlsYLmoIfpopgKICAgICAgdGl0bGU6ICIiLAogICAgICAvLyDmmK/lkKbmmL7npLrlvLnlh7rlsYIKICAgICAgb3BlbjogZmFsc2UsCiAgICAgIHN0YXR1c09wdGlvbnM6IFtdLAogICAgICB0eXBlT3B0aW9uczogW10sCiAgICAgIHNlY3JldE9wdGlvbnM6IFtdLAogICAgICBzb3VyY2VPcHRpb25zOiBbXSwKICAgICAgY2F0ZWdvcnlPcHRpb25zOiBbXSwKICAgICAgeWVzTm9PcHRpb25zOiBbXSwKICAgICAgeWVhck9wdGlvbnM6IFtdLAogICAgICB4QXhpc0NlbnRlcjg6IFtdLAogICAgICBzZXJpZXNDZW50ZXI4OiBbXSwKICAgICAgcGllRGF0YTogW10sCiAgICAgIHBpZUxnRGF0YTogW10sCiAgICAgIGJsWDogW10sCiAgICAgIGJsTGc6IFtdLAogICAgICBibFNlcjogW10sCiAgICAgIGJsVGl0bGU6ICIiLAogICAgICBvdFRpdGxlOiAiIiwKICAgICAgLy8g5p+l6K+i5Y+C5pWwCiAgICAgIHF1ZXJ5UGFyYW1zOiB7CiAgICAgICAgcGFnZU51bTogMSwKICAgICAgICBwYWdlU2l6ZTogMTAsCiAgICAgICAgY2F0ZWdvcnk6IG51bGwsCiAgICAgICAgY29kZTogbnVsbCwKICAgICAgICBuYW1lOiBudWxsLAogICAgICAgIHVzZXJOYW1lOiBudWxsLAogICAgICAgIHR5cGU6ICc2JywKICAgICAgICBkZXBhcnRtZW50SWQ6IG51bGwsCiAgICAgICAgdXNlcklkOiBudWxsLAogICAgICAgIGRlYWRsaW5lOiBudWxsLAogICAgICAgIHRvdGFsT3V0bGF5OiBudWxsLAogICAgICAgIGZpcnN0T3V0bGF5OiBudWxsLAogICAgICAgIHNlY29uZE91dGxheTogbnVsbCwKICAgICAgICBzdGF0dXM6IG51bGwsCiAgICAgICAgYmVnaW5EYXRlOiBudWxsLAogICAgICAgIGNvbXBsZXRlRGF0ZTogbnVsbCwKICAgICAgICBiZWdpbkRhdGVMWDogbnVsbCwKICAgICAgICBjb21wbGV0ZURhdGVMWDogbnVsbCwKICAgICAgICBlbmREYXRlOiBudWxsLAogICAgICAgIGFwcHJvdmFsRGF0ZTogbnVsbCwKICAgICAgICBpc1NlY3JlY3k6IG51bGwsCiAgICAgICAgc2VjcmVjeUxldmVsOiBudWxsLAogICAgICAgIHNlY3JlY3lUZXJtOiBudWxsLAogICAgICAgIGlzVG9waWM6IG51bGwsCiAgICAgICAgdGFza1RhcmdldDogbnVsbCwKICAgICAgICByZXN1bHRUYXJnZXQ6IG51bGwsCiAgICAgICAgbWV0aG9kUm91dGU6IG51bGwsCiAgICAgICAgcGxhbjogbnVsbCwKICAgICAgICBzcGVuZEV4cGxhaW46IG51bGwsCiAgICAgICAgcmVseUlkOiBudWxsLAogICAgICAgIGxhc3REYXRlOiBudWxsLAogICAgICAgIHJldmlld1N0YXR1c1hiOiBudWxsLAogICAgICAgIHJldmlld1N0YXR1c0N3OiBudWxsLAogICAgICAgIHRvdGFsQnVkZ2V0OiBudWxsLAogICAgICAgIGZpcnN0QnVkZ2V0OiBudWxsLAogICAgICAgIHNlY29uZEJ1ZGdldDogbnVsbCwKICAgICAgICBhcHBseUlkOiBudWxsLAogICAgICAgIHByb2plY3RTb3VyY2U6IG51bGwsCiAgICAgICAgcHJvamVjdFNvdXJjZUNvbXBhbnk6IG51bGwsCiAgICAgICAgcmV2aWV3U3RhdHVzWndoOiBudWxsLAogICAgICAgIGlzQWdyZWVtZW50OiBudWxsLAogICAgICAgIHJlbHlVbml0SGVhZDogbnVsbCwKICAgICAgICByZWx5VW5pdEhlYWR0b2N3OiBudWxsLAogICAgICAgIHRhc2tQZXJpb2Q6IG51bGwsCiAgICAgICAgb3RoZXJwbGFuOiBudWxsLAogICAgICAgIHBvaW50OiBudWxsLAogICAgICAgIHJlc3VsdDogbnVsbCwKICAgICAgICBpbnRyb2R1Y3Rpb246IG51bGwsCiAgICAgICAgcHJvcHJvdGlvbjogbnVsbCwKICAgICAgICB0ZXJtOiBudWxsLAogICAgICAgIHBpc2hpU3RhdHVzOiBudWxsLAogICAgICAgIHllYXJSYWRpbzI6IG51bGwsCiAgICAgICAgcHJvUGVvcE5hbWU6IG51bGwsCiAgICAgICAgeWl0dW9BcmVhOiBudWxsLAogICAgICAgIGlzUmVzdWx0OiBudWxsLAogICAgICAgIGltcG9ydGFudEtleTogbnVsbAogICAgICB9LAogICAgICAvLyDooajljZXlj4LmlbAKICAgICAgZm9ybToge30sCiAgICAgIC8vIOihqOWNleagoemqjAogICAgICBydWxlczoge30KICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKCiAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7CiAgICB2YXIgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTsKICAgIGNvbnNvbGUubG9nKHllYXIsIHllYXIgLSAxLCB5ZWFyIC0gMik7CiAgICB0aGlzLnllYXJPcHRpb25zWzBdID0geWVhcjsKICAgIHRoaXMueWVhck9wdGlvbnNbMV0gPSB5ZWFyIC0gMTsKICAgIHRoaXMueWVhck9wdGlvbnNbMl0gPSB5ZWFyIC0gMjsKICAgIHRoaXMueWVhck9wdGlvbnNbM10gPSB5ZWFyIC0gMzsKICAgIHRoaXMueWVhck9wdGlvbnNbNF0gPSB5ZWFyIC0gNDsKICAgIHRoaXMueWVhck9wdGlvbnNbNV0gPSB5ZWFyIC0gNTsKICAgIHRoaXMucXVlcnlQYXJhbXMudHlwZSA9ICc2JzsKICAgIHRoaXMucXVlcnlQYXJhbXMueWVhclJhZGlvMiA9ICI5OTkiOwogICAgdGhpcy5xdWVyeVBhcmFtcy5zZWNyZWN5TGV2ZWwgPSAiMCI7CiAgICB0aGlzLnF1ZXJ5UGFyYW1zLmRlcGFydG1lbnRJZCA9ICIwIjsKICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgdGhpcy5nZXRMZWZ0MSh0aGlzLnF1ZXJ5UGFyYW1zKTsKICAgIHRoaXMuZ2V0TGVmdDQodGhpcy5xdWVyeVBhcmFtcyk7CiAgICB0aGlzLmdldENlbnRlcjgodGhpcy5xdWVyeVBhcmFtcyk7CiAgICB0aGlzLmdldERpY3RzKCJwcm9fdHlwZSIpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgIF90aGlzLnR5cGVPcHRpb25zID0gcmVzcG9uc2UuZGF0YTsKICAgIH0pOwogICAgdGhpcy5nZXREaWN0cygicHJvX3NlY3JldF9sZXZlbCIpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgIF90aGlzLnNlY3JldE9wdGlvbnMgPSByZXNwb25zZS5kYXRhOwogICAgfSk7CiAgICB0aGlzLmdldERpY3RzKCJwcm9fc291cmNlIikudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgX3RoaXMuc291cmNlT3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICAgIHRoaXMuZ2V0RGljdHMoInByb19jYXRlZ29yeSIpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgIF90aGlzLmNhdGVnb3J5T3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICAgIHRoaXMuZ2V0RGljdHMoInByb19zdGF0dXMiKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICBfdGhpcy5zdGF0dXNPcHRpb25zID0gcmVzcG9uc2UuZGF0YTsKICAgIH0pOwogICAgdGhpcy5nZXREaWN0cygic3lzX3llc19ubyIpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgIF90aGlzLnllc05vT3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICB9LAogIG1ldGhvZHM6IHsKICAgIGdldExlZnQxOiBmdW5jdGlvbiBnZXRMZWZ0MShxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKCiAgICAgIGxlZnQxRGF0YShxdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgICAgIF90aGlzMi5ibFRpdGxlID0gIjIwMTYt5LuKIjsKICAgICAgICBfdGhpczIuYmxMZyA9IFsn6aG555uu5pWwJywgJ+e7j+i0ueaVsCddOwogICAgICAgIF90aGlzMi5ibFggPSBbJzIwMTYnLCAnMjAxNycsICcyMDE4JywgJzIwMTknLCAnMjAyMCcsICcyMDIxJ107CiAgICAgICAgdmFyIHRlbXAgPSBbXTsKICAgICAgICB2YXIgaXRlbSA9IHt9OwogICAgICAgIGl0ZW0ubmFtZSA9ICfpobnnm67mlbAnOwogICAgICAgIGl0ZW0udHlwZSA9ICdiYXInOwogICAgICAgIGl0ZW0uZGF0YSA9IHJlc3AuZGF0YS5udW1BcnJheTsKICAgICAgICB0ZW1wLnB1c2goaXRlbSk7CiAgICAgICAgdmFyIGl0ZW0xID0ge307CiAgICAgICAgaXRlbTEubmFtZSA9ICfnu4/otLnmlbAnOwogICAgICAgIGl0ZW0xLnR5cGUgPSAnbGluZSc7CiAgICAgICAgaXRlbTEueUF4aXNJbmRleCA9IDE7CiAgICAgICAgaXRlbTEuZGF0YSA9IHJlc3AuZGF0YS5idWdldEFycmF5OwogICAgICAgIHRlbXAucHVzaChpdGVtMSk7CiAgICAgICAgX3RoaXMyLmJsU2VyID0gdGVtcDsgLy8gdGhpcy5ibExnID0gWyfpobnnm67mlbAnLCAn57uP6LS55pWwJ107CiAgICAgICAgLy8gdGhpcy5ibFggPXJlc3AuZGF0YS55ZWFyQXJyYXk7CiAgICAgICAgLy8gbGV0IHRlbXAgPSBbXTsKICAgICAgICAvLyBsZXQgaXRlbSA9IHt9OwogICAgICAgIC8vIGl0ZW0ubmFtZSA9ICfpobnnm67mlbAnOwogICAgICAgIC8vIGl0ZW0udHlwZT0nYmFyJzsKICAgICAgICAvLyBpdGVtLmRhdGE9cmVzcC5kYXRhLm51bUFycmF5OwogICAgICAgIC8vIHRlbXAucHVzaChpdGVtKTsKICAgICAgICAvLyBsZXQgaXRlbTEgPSB7fTsKICAgICAgICAvLyBpdGVtMS5uYW1lID0gJ+e7j+i0ueaVsCc7CiAgICAgICAgLy8gaXRlbTEudHlwZT0nbGluZSc7CiAgICAgICAgLy8gaXRlbTEueUF4aXNJbmRleD0gMTsKICAgICAgICAvLyBpdGVtMS5kYXRhPXJlc3AuZGF0YS5idWdldEFycmF5OwogICAgICAgIC8vIHRlbXAucHVzaChpdGVtMSk7CiAgICAgICAgLy8gdGhpcy5ibFNlcj10ZW1wOwogICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuc2VyaWVzQ2VudGVyNSkKICAgICAgfSk7CiAgICB9LAogICAgZ2V0TGVmdDQ6IGZ1bmN0aW9uIGdldExlZnQ0KHF1ZXJ5UGFyYW1zKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwoKICAgICAgbGVmdDREYXRhKHF1ZXJ5UGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CiAgICAgICAgaWYgKHF1ZXJ5UGFyYW1zLnllYXJSYWRpbzIgPT0gJzk5OScpIHsKICAgICAgICAgIF90aGlzMy5vdFRpdGxlID0gIjIwMTYt5LuKIjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXMzLm90VGl0bGUgPSBxdWVyeVBhcmFtcy55ZWFyUmFkaW8yICsgIuW5tCI7CiAgICAgICAgfQoKICAgICAgICBfdGhpczMucGllTGdEYXRhID0gcmVzcC5kYXRhLmxlZ2VuZERhdGE7CiAgICAgICAgX3RoaXMzLnBpZURhdGEgPSByZXNwLmRhdGEucGllRGF0YTsKICAgICAgICBjb25zb2xlLmxvZyhfdGhpczMucGllRGF0YSk7CiAgICAgIH0pOwogICAgfSwKICAgIGdldENlbnRlcjg6IGZ1bmN0aW9uIGdldENlbnRlcjgocXVlcnlQYXJhbXMpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICBjZW50ZXI4RGF0YShxdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgICAgIGlmIChxdWVyeVBhcmFtcy55ZWFyUmFkaW8yID09ICc5OTknKSB7CiAgICAgICAgICBfdGhpczQub3RUaXRsZSA9ICIyMDE2LeS7iiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzNC5vdFRpdGxlID0gcXVlcnlQYXJhbXMueWVhclJhZGlvMiArICLlubQiOwogICAgICAgIH0KCiAgICAgICAgX3RoaXM0LnNlcmllc0NlbnRlcjggPSByZXNwLmRhdGEueEF4aXNBcnJheTsKICAgICAgICBfdGhpczQueEF4aXNDZW50ZXI4ID0gcmVzcC5kYXRhLnlBeGlzQXJyYXk7CiAgICAgIH0pOwogICAgfSwKICAgIHNvcnRDaGFuZ2U6IGZ1bmN0aW9uIHNvcnRDaGFuZ2UoY29sdW1uLCBwcm9wLCBvcmRlcikgewogICAgICAvLyBjb25zb2xlLmxvZyhjb2x1bW4ucHJvcCk7IC8vcHJvcOagh+etviA9PiBuaWNrbmFtZQogICAgICAvLyBjb25zb2xlLmxvZyhjb2x1bW4ub3JkZXIpOy8vZGVzY2VuZGluZ+mZjeW6j+OAgWFzY2VuZGluZ+WNh+W6jwogICAgICBpZiAoY29sdW1uLnByb3AgPT0gImNhdGVnb3J5IikgewogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY2F0ZWdvcnlPcmRlciA9ICIxIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNvZGVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMubmFtZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50eXBlT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmRlYWRsaW5lT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnRvdGFsT3V0bGF5T3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnByb2plY3RTb3VyY2VPcmRlciA9ICIiOwogICAgICB9IGVsc2UgaWYgKGNvbHVtbi5wcm9wID09ICJjb2RlIikgewogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY2F0ZWdvcnlPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY29kZU9yZGVyID0gIjEiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMubmFtZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50eXBlT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmRlYWRsaW5lT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnRvdGFsT3V0bGF5T3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnByb2plY3RTb3VyY2VPcmRlciA9ICIiOwogICAgICB9IGVsc2UgaWYgKGNvbHVtbi5wcm9wID09ICJuYW1lIikgewogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY2F0ZWdvcnlPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY29kZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5uYW1lT3JkZXIgPSAiMSI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50eXBlT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmRlYWRsaW5lT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnRvdGFsT3V0bGF5T3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnByb2plY3RTb3VyY2VPcmRlciA9ICIiOwogICAgICB9IGVsc2UgaWYgKGNvbHVtbi5wcm9wID09ICJ0eXBlIikgewogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY2F0ZWdvcnlPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY29kZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5uYW1lT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnR5cGVPcmRlciA9ICIxIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmRlYWRsaW5lT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnRvdGFsT3V0bGF5T3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnByb2plY3RTb3VyY2VPcmRlciA9ICIiOwogICAgICB9IGVsc2UgaWYgKGNvbHVtbi5wcm9wID09ICJkZWFkbGluZSIpIHsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNhdGVnb3J5T3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNvZGVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMubmFtZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50eXBlT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmRlYWRsaW5lT3JkZXIgPSAiMSI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50b3RhbE91dGxheU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wcm9qZWN0U291cmNlT3JkZXIgPSAiIjsKICAgICAgfSBlbHNlIGlmIChjb2x1bW4ucHJvcCA9PSAidG90YWxPdXRsYXkiKSB7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5jYXRlZ29yeU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5jb2RlT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLm5hbWVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudHlwZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZWFkbGluZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50b3RhbE91dGxheU9yZGVyID0gIjEiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMucHJvamVjdFNvdXJjZU9yZGVyID0gIiI7CiAgICAgIH0gZWxzZSBpZiAoY29sdW1uLnByb3AgPT0gInByb2plY3RTb3VyY2UiKSB7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5jYXRlZ29yeU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5jb2RlT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLm5hbWVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudHlwZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZWFkbGluZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50b3RhbE91dGxheU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wcm9qZWN0U291cmNlT3JkZXIgPSAiMSI7CiAgICAgIH0KCiAgICAgIGlmIChjb2x1bW4ub3JkZXIgPT0gImFzY2VuZGluZyIpIHsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLm9yZGVyU29ydCA9ICJhc2MiOwogICAgICB9IGVsc2UgaWYgKGNvbHVtbi5vcmRlciA9PSAiZGVzY2VuZGluZyIpIHsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLm9yZGVyU29ydCA9ICJkZXNjIjsKICAgICAgfQoKICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICB9LAogICAgaXNUb3BpY0Zvcm1hdDogZnVuY3Rpb24gaXNUb3BpY0Zvcm1hdChyb3csIGNvbHVtbikgewogICAgICByZXR1cm4gdGhpcy5zZWxlY3REaWN0TGFiZWwodGhpcy55ZXNOb09wdGlvbnMsIHJvdy5pc1RvcGljKTsKICAgIH0sCiAgICBpc1NlY3JlY3lGb3JtYXQ6IGZ1bmN0aW9uIGlzU2VjcmVjeUZvcm1hdChyb3csIGNvbHVtbikgewogICAgICByZXR1cm4gdGhpcy5zZWxlY3REaWN0TGFiZWwodGhpcy55ZXNOb09wdGlvbnMsIHJvdy5pc1NlY3JlY3kpOwogICAgfSwKICAgIHR5cGVGb3JtYXQ6IGZ1bmN0aW9uIHR5cGVGb3JtYXQocm93LCBjb2x1bW4pIHsKICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0RGljdExhYmVsKHRoaXMudHlwZU9wdGlvbnMsIHJvdy50eXBlKTsKICAgIH0sCiAgICBzZWNyZXRGb3JtYXQ6IGZ1bmN0aW9uIHNlY3JldEZvcm1hdChyb3csIGNvbHVtbikgewogICAgICByZXR1cm4gdGhpcy5zZWxlY3REaWN0TGFiZWwodGhpcy5zZWNyZXRPcHRpb25zLCByb3cuc2VjcmVjeUxldmVsKTsKICAgIH0sCiAgICBjYXRlZ29yeUZvcm1hdDogZnVuY3Rpb24gY2F0ZWdvcnlGb3JtYXQocm93LCBjb2x1bW4pIHsKICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0RGljdExhYmVsKHRoaXMuY2F0ZWdvcnlPcHRpb25zLCByb3cuY2F0ZWdvcnkpOwogICAgfSwKICAgIHN0YXR1c0Zvcm1hdDogZnVuY3Rpb24gc3RhdHVzRm9ybWF0KHJvdywgY29sdW1uKSB7CiAgICAgIHJldHVybiB0aGlzLnNlbGVjdERpY3RMYWJlbCh0aGlzLnN0YXR1c09wdGlvbnMsIHJvdy5zdGF0dXMpOwogICAgfSwKICAgIHNvdXJjZUZvcm1hdDogZnVuY3Rpb24gc291cmNlRm9ybWF0KHJvdywgY29sdW1uKSB7CiAgICAgIHJldHVybiB0aGlzLnNlbGVjdERpY3RMYWJlbCh0aGlzLnNvdXJjZU9wdGlvbnMsIHJvdy5wcm9qZWN0U291cmNlKTsKICAgIH0sCgogICAgLyoqIOWvvOWFpeaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlSW1wb3J0OiBmdW5jdGlvbiBoYW5kbGVJbXBvcnQoKSB7CiAgICAgIHRoaXMudXBsb2FkUHJvamVjdC50aXRsZSA9ICLpobnnm67lr7zlhaUiOwogICAgICB0aGlzLnVwbG9hZFByb2plY3Qub3BlbiA9IHRydWU7CiAgICB9LAoKICAgIC8qKiDmn6Xor6LjgJDor7floavlhpnlip/og73lkI3np7DjgJHliJfooaggKi8KICAgIGdldExpc3Q6IGZ1bmN0aW9uIGdldExpc3QoKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwoKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgbGlzdEluZm8odGhpcy5xdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICBfdGhpczUuaW5mb0xpc3QgPSByZXNwb25zZS5yb3dzOwogICAgICAgIF90aGlzNS50b3RhbCA9IHJlc3BvbnNlLnRvdGFsOwogICAgICAgIF90aGlzNS5sb2FkaW5nID0gZmFsc2U7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOWPlua2iOaMiemSrgogICAgY2FuY2VsOiBmdW5jdGlvbiBjYW5jZWwoKSB7CiAgICAgIHRoaXMub3BlbiA9IGZhbHNlOwogICAgICB0aGlzLnJlc2V0KCk7CiAgICB9LAogICAgLy8g6KGo5Y2V6YeN572uCiAgICByZXNldDogZnVuY3Rpb24gcmVzZXQoKSB7CiAgICAgIHRoaXMuZm9ybSA9IHsKICAgICAgICBpZDogbnVsbCwKICAgICAgICBjYXRlZ29yeTogbnVsbCwKICAgICAgICBjb2RlOiBudWxsLAogICAgICAgIG5hbWU6IG51bGwsCiAgICAgICAgdHlwZTogbnVsbCwKICAgICAgICBkZXBhcnRtZW50SWQ6IG51bGwsCiAgICAgICAgdXNlcklkOiBudWxsLAogICAgICAgIGRlYWRsaW5lOiBudWxsLAogICAgICAgIHRvdGFsT3V0bGF5OiBudWxsLAogICAgICAgIGZpcnN0T3V0bGF5OiBudWxsLAogICAgICAgIHNlY29uZE91dGxheTogbnVsbCwKICAgICAgICBzdGF0dXM6IDAsCiAgICAgICAgYmVnaW5EYXRlOiBudWxsLAogICAgICAgIGNvbXBsZXRlRGF0ZTogbnVsbCwKICAgICAgICBlbmREYXRlOiBudWxsLAogICAgICAgIGFwcHJvdmFsRGF0ZTogbnVsbCwKICAgICAgICBpc1NlY3JlY3k6IG51bGwsCiAgICAgICAgc2VjcmVjeUxldmVsOiBudWxsLAogICAgICAgIHNlY3JlY3lUZXJtOiBudWxsLAogICAgICAgIGlzVG9waWM6IG51bGwsCiAgICAgICAgdGFza1RhcmdldDogbnVsbCwKICAgICAgICByZXN1bHRUYXJnZXQ6IG51bGwsCiAgICAgICAgbWV0aG9kUm91dGU6IG51bGwsCiAgICAgICAgcGxhbjogbnVsbCwKICAgICAgICBzcGVuZEV4cGxhaW46IG51bGwsCiAgICAgICAgcmVseUlkOiBudWxsLAogICAgICAgIGxhc3REYXRlOiBudWxsLAogICAgICAgIHJldmlld1N0YXR1c1hiOiBudWxsLAogICAgICAgIHJldmlld1N0YXR1c0N3OiBudWxsLAogICAgICAgIHRvdGFsQnVkZ2V0OiBudWxsLAogICAgICAgIGZpcnN0QnVkZ2V0OiBudWxsLAogICAgICAgIHNlY29uZEJ1ZGdldDogbnVsbCwKICAgICAgICBhcHBseUlkOiBudWxsLAogICAgICAgIHByb2plY3RTb3VyY2U6IG51bGwsCiAgICAgICAgcHJvamVjdFNvdXJjZUNvbXBhbnk6IG51bGwsCiAgICAgICAgcmV2aWV3U3RhdHVzWndoOiBudWxsLAogICAgICAgIGlzQWdyZWVtZW50OiBudWxsLAogICAgICAgIHJlbHlVbml0SGVhZDogbnVsbCwKICAgICAgICByZWx5VW5pdEhlYWR0b2N3OiBudWxsLAogICAgICAgIHRhc2tQZXJpb2Q6IG51bGwsCiAgICAgICAgb3RoZXJwbGFuOiBudWxsLAogICAgICAgIHBvaW50OiBudWxsLAogICAgICAgIHJlc3VsdDogbnVsbCwKICAgICAgICBpbnRyb2R1Y3Rpb246IG51bGwsCiAgICAgICAgcHJvcHJvdGlvbjogbnVsbCwKICAgICAgICB0ZXJtOiBudWxsLAogICAgICAgIGNyZWF0ZUJ5OiBudWxsLAogICAgICAgIGNyZWF0ZVRpbWU6IG51bGwsCiAgICAgICAgdXBkYXRlQnk6IG51bGwsCiAgICAgICAgdXBkYXRlVGltZTogbnVsbCwKICAgICAgICBkZWxGbGFnOiBudWxsCiAgICAgIH07CiAgICAgIHRoaXMucmVzZXRGb3JtKCJmb3JtIik7CiAgICB9LAoKICAgIC8qKiDmkJzntKLmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZVF1ZXJ5OiBmdW5jdGlvbiBoYW5kbGVRdWVyeSgpIHsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wYWdlTnVtID0gMTsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy50eXBlID0gJzYnOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgICAgdGhpcy5nZXRMZWZ0MSh0aGlzLnF1ZXJ5UGFyYW1zKTsKICAgICAgdGhpcy5nZXRMZWZ0NCh0aGlzLnF1ZXJ5UGFyYW1zKTsKICAgICAgdGhpcy5nZXRDZW50ZXI4KHRoaXMucXVlcnlQYXJhbXMpOwogICAgfSwKCiAgICAvKiog6YeN572u5oyJ6ZKu5pON5L2cICovCiAgICByZXNldFF1ZXJ5OiBmdW5jdGlvbiByZXNldFF1ZXJ5KCkgewogICAgICB0aGlzLnJlc2V0Rm9ybSgicXVlcnlGb3JtIik7CiAgICAgIHRoaXMucXVlcnlQYXJhbXMudHlwZSA9ICc2JzsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy55ZWFyUmFkaW8yID0gIjk5OSI7CiAgICAgIHRoaXMucXVlcnlQYXJhbXMuc2VjcmVjeUxldmVsID0gIjAiOwogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnR5cGUgPSAiMCI7CiAgICAgIHRoaXMucXVlcnlQYXJhbXMuZGVwYXJ0bWVudElkID0gIjAiOwogICAgICB0aGlzLmhhbmRsZVF1ZXJ5KCk7CiAgICB9LAogICAgLy8g5aSa6YCJ5qGG6YCJ5Lit5pWw5o2uCiAgICBoYW5kbGVTZWxlY3Rpb25DaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZVNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb24pIHsKICAgICAgdGhpcy5pZHMgPSBzZWxlY3Rpb24ubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7CiAgICAgIH0pOwogICAgICB0aGlzLnNpbmdsZSA9IHNlbGVjdGlvbi5sZW5ndGggIT09IDE7CiAgICAgIHRoaXMubXVsdGlwbGUgPSAhc2VsZWN0aW9uLmxlbmd0aDsKICAgIH0sCgogICAgLyoqIOaWsOWinuaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlQWRkOiBmdW5jdGlvbiBoYW5kbGVBZGQoKSB7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgdGhpcy5vcGVuID0gdHJ1ZTsKICAgICAgdGhpcy50aXRsZSA9ICLmt7vliqDjgJDor7floavlhpnlip/og73lkI3np7DjgJEiOwogICAgfSwKCiAgICAvKiog5L+u5pS55oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVVcGRhdGU6IGZ1bmN0aW9uIGhhbmRsZVVwZGF0ZShyb3cpIHsKICAgICAgdmFyIF90aGlzNiA9IHRoaXM7CgogICAgICB0aGlzLnJlc2V0KCk7CiAgICAgIHZhciBpZCA9IHJvdy5pZCB8fCB0aGlzLmlkczsKICAgICAgZ2V0SW5mbyhpZCkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICBfdGhpczYuZm9ybSA9IHJlc3BvbnNlLmRhdGE7CiAgICAgICAgX3RoaXM2Lm9wZW4gPSB0cnVlOwogICAgICAgIF90aGlzNi50aXRsZSA9ICLkv67mlLnjgJDor7floavlhpnlip/og73lkI3np7DjgJEiOwogICAgICB9KTsKICAgIH0sCgogICAgLyoqIOaPkOS6pOaMiemSriAqLwogICAgc3VibWl0Rm9ybTogZnVuY3Rpb24gc3VibWl0Rm9ybSgpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CgogICAgICB0aGlzLiRyZWZzWyJmb3JtIl0udmFsaWRhdGUoZnVuY3Rpb24gKHZhbGlkKSB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICBpZiAoX3RoaXM3LmZvcm0uaWQgIT0gbnVsbCkgewogICAgICAgICAgICB1cGRhdGVJbmZvKF90aGlzNy5mb3JtKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgICAgICAgIGlmIChyZXNwb25zZS5jb2RlID09PSAyMDApIHsKICAgICAgICAgICAgICAgIF90aGlzNy5tc2dTdWNjZXNzKCLkv67mlLnmiJDlip8iKTsKCiAgICAgICAgICAgICAgICBfdGhpczcub3BlbiA9IGZhbHNlOwoKICAgICAgICAgICAgICAgIF90aGlzNy5nZXRMaXN0KCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGFkZEluZm8oX3RoaXM3LmZvcm0pLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmNvZGUgPT09IDIwMCkgewogICAgICAgICAgICAgICAgX3RoaXM3Lm1zZ1N1Y2Nlc3MoIuaWsOWinuaIkOWKnyIpOwoKICAgICAgICAgICAgICAgIF90aGlzNy5vcGVuID0gZmFsc2U7CgogICAgICAgICAgICAgICAgX3RoaXM3LmdldExpc3QoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIC8qKiDliKDpmaTmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZURlbGV0ZTogZnVuY3Rpb24gaGFuZGxlRGVsZXRlKHJvdykgewogICAgICB2YXIgX3RoaXM4ID0gdGhpczsKCiAgICAgIHZhciBpZHMgPSByb3cuaWQ7CiAgICAgIHRoaXMuJGNvbmZpcm0oJ+aYr+WQpuehruiupOWIoOmZpOmhueebrue8luWPt+S4uiInICsgcm93LmNvZGUgKyAnIueahOaVsOaNrumhuT8nLCAi6K2m5ZGKIiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIGRlbEluZm8oaWRzKTsKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM4LmdldExpc3QoKTsKCiAgICAgICAgX3RoaXM4Lm1zZ1N1Y2Nlc3MoIuWIoOmZpOaIkOWKnyIpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICB9LAoKICAgIC8qKiDlr7zlh7rmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZUV4cG9ydDogZnVuY3Rpb24gaGFuZGxlRXhwb3J0KCkgewogICAgICB2YXIgX3RoaXM5ID0gdGhpczsKCiAgICAgIHZhciBxdWVyeVBhcmFtcyA9IHRoaXMucXVlcnlQYXJhbXM7CiAgICAgIHRoaXMuJGNvbmZpcm0oIuaYr+WQpuehruiupOWvvOWHuuaJgOacieOAkOivt+Whq+WGmeWKn+iDveWQjeensOOAkeaVsOaNrumhuT8iLCAi6K2m5ZGKIiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIGV4cG9ydEluZm8ocXVlcnlQYXJhbXMpOwogICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzOS5kb3dubG9hZChyZXNwb25zZS5tc2cpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICB9LAogICAgLy8g5paH5Lu25LiK5Lyg5Lit5aSE55CGCiAgICBoYW5kbGVQcm9qZWN0RmlsZVVwbG9hZFByb2dyZXNzOiBmdW5jdGlvbiBoYW5kbGVQcm9qZWN0RmlsZVVwbG9hZFByb2dyZXNzKGV2ZW50LCBmaWxlLCBmaWxlTGlzdCkgewogICAgICB0aGlzLnVwbG9hZFByb2plY3QuaXNVcGxvYWRpbmcgPSB0cnVlOwogICAgfSwKICAgIGJlZm9yZVByb2plY3RGaWxlVXBsb2FkOiBmdW5jdGlvbiBiZWZvcmVQcm9qZWN0RmlsZVVwbG9hZChmaWxlKSB7CiAgICAgIHZhciBpc0x0MjAwTSA9IGZpbGUuc2l6ZSAvIDEwMjQgLyAxMDI0IDwgMzAwOwoKICAgICAgaWYgKCFpc0x0MjAwTSkgewogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoIuS4iuS8oOWkp+Wwj+S4jeiDvei2hei/hyAyMDBNQiEiKTsKICAgICAgfQoKICAgICAgcmV0dXJuIGlzTHQyMDBNOwogICAgfSwKICAgIC8vIOaWh+S7tuS4iuS8oOaIkOWKn+WkhOeQhgogICAgaGFuZGxlUHJvamVjdEZpbGVTdWNjZXNzOiBmdW5jdGlvbiBoYW5kbGVQcm9qZWN0RmlsZVN1Y2Nlc3MocmVzcG9uc2UsIGZpbGUsIGZpbGVMaXN0KSB7CiAgICAgIHRoaXMudXBsb2FkUHJvamVjdC5vcGVuID0gZmFsc2U7CiAgICAgIHRoaXMudXBsb2FkUHJvamVjdC5pc1VwbG9hZGluZyA9IGZhbHNlOwogICAgICB0aGlzLiRyZWZzLnVwbG9hZFByb2plY3QuY2xlYXJGaWxlcygpOwogICAgICB0aGlzLiRhbGVydChyZXNwb25zZS5tc2csICLlr7zlhaXnu5PmnpwiLCB7CiAgICAgICAgZGFuZ2Vyb3VzbHlVc2VIVE1MU3RyaW5nOiB0cnVlCiAgICAgIH0pOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgIH0sCiAgICAvLyDmj5DkuqTkuIrkvKDmlofku7YKICAgIHN1Ym1pdEZpbGVGb3JtOiBmdW5jdGlvbiBzdWJtaXRGaWxlRm9ybSgpIHsKICAgICAgdGhpcy4kcmVmcy51cGxvYWRQcm9qZWN0LnN1Ym1pdCgpOwogICAgfSwKICAgIGltcG9ydFRlbXBsYXRlOiBmdW5jdGlvbiBpbXBvcnRUZW1wbGF0ZSgpIHsKICAgICAgdmFyIF90aGlzMTAgPSB0aGlzOwoKICAgICAgX2ltcG9ydFRlbXBsYXRlKCkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICBfdGhpczEwLmRvd25sb2FkKHJlc3BvbnNlLm1zZyk7CiAgICAgIH0pOwogICAgfSwKICAgIHZpZXdBbm5leEJvb2tGaWxlOiBmdW5jdGlvbiB2aWV3QW5uZXhCb29rRmlsZShyb3cpIHsKICAgICAgdGhpcy51cGxvYWQuZmlsZUxpc3QgPSBbXTsKICAgICAgdGhpcy5mb3JtYXRVcGxvYWRBbm5leChyb3cuYm9va0ZpbGUsIHJvdy5ib29rRmlsZVBhdGgpOwogICAgICB0aGlzLnVwbG9hZC5vcGVuID0gdHJ1ZTsKICAgIH0sCiAgICAvL+agvOW8j+WMluS4iuS8oOmZhOS7tgogICAgZm9ybWF0VXBsb2FkQW5uZXg6IGZ1bmN0aW9uIGZvcm1hdFVwbG9hZEFubmV4KGFubmV4TmFtZSwgYW5uZXhQYXRoKSB7CiAgICAgIHRoaXMudXBsb2FkLmZpbGVMaXN0ID0gW107CgogICAgICBpZiAoYW5uZXhQYXRoICE9IG51bGwgJiYgYW5uZXhQYXRoICE9PSAnJykgewogICAgICAgIHZhciBhID0gW10sCiAgICAgICAgICAgIGIgPSBbXTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGEgPSBKU09OLnBhcnNlKGFubmV4TmFtZSk7CiAgICAgICAgICBiID0gSlNPTi5wYXJzZShhbm5leFBhdGgpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIGEgPSBbXTsKICAgICAgICAgIGIgPSBbXTsKICAgICAgICB9CgogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgICAgdGhpcy51cGxvYWQuZmlsZUxpc3QucHVzaCh7CiAgICAgICAgICAgICduYW1lJzogYVtpXSwKICAgICAgICAgICAgJ3VybCc6IHByb2Nlc3MuZW52LlZVRV9BUFBfQkFTRV9BUEkgKyBiW2ldCiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy51cGxvYWQuZmlsZUxpc3QgPSBbXTsKICAgICAgfQogICAgfSwKICAgIGhhbmRsZVByZXZpZXc6IGZ1bmN0aW9uIGhhbmRsZVByZXZpZXcoZmlsZSkgewogICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgdmFyIGV2ZW50ID0gbmV3IE1vdXNlRXZlbnQoJ2NsaWNrJyk7CiAgICAgIGEuZG93bmxvYWQgPSBmaWxlLm5hbWU7CiAgICAgIGEudGFyZ2V0ID0gJ19ibGFuayc7CiAgICAgIGEuaHJlZiA9IGZpbGUudXJsOwogICAgICBhLmRpc3BhdGNoRXZlbnQoZXZlbnQpOwogICAgICBjb25zb2xlLmxvZyhmaWxlLm5hbWUpOwogICAgfQogIH0KfTs="},null]} |