{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Manage\\material\\components\\PurchaseScheduleDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Manage\\material\\components\\PurchaseScheduleDialog.vue","mtime":1731062409191},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\babel.config.js","mtime":1725536844935},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNwbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi5zdHJpbmdpZnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBDb21tb25BcGkgZnJvbSAnQC92aWV3cy9NYW5hZ2UvQ29tbW9uQXBpLmpzJzsKaW1wb3J0IHN0ZXAgZnJvbSAnQC9jb21wb25lbnRzL3N0ZXAudnVlJzsKaW1wb3J0IHB1cmNoYXNlU2NoZWR1bGUgZnJvbSAnLi4vYXBpL1B1cmNoYXNlU2NoZWR1bGUnOwppbXBvcnQgcHVyY2hhc2luZ01hbmFnZSBmcm9tICdAL2FwaS9tYW5hZ2VyL21hdGVyaWFsL3B1cmNoYXNpbmdNYW5hZ2UuanMnOwppbXBvcnQgZGljdENvbnRyYWN0cyBmcm9tICdAL2NvbXBvbmVudHMvZGljdC9EaWN0U2VsZWN0VXRpbHMuanMnOwppbXBvcnQgcHVyY2hhc2luZ0FwaSBmcm9tICcuLi9hcGkvUHVyY2hhc2luZ0FwaSc7CmltcG9ydCBTZWxlY3RNYXRlcmlhbERpYWxvZyBmcm9tICdAL3ZpZXdzL01hbmFnZS9tYXRlcmlhbC9jb21wb25lbnRzL1NlbGVjdE1hdGVyaWFsRGlhbG9nLnZ1ZSc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnUHVyY2hhc2luZ01hbmFnZURpYWxvZycsCiAgY29tcG9uZW50czogewogICAgc3RlcDogc3RlcCwKICAgIFNlbGVjdE1hdGVyaWFsRGlhbG9nOiBTZWxlY3RNYXRlcmlhbERpYWxvZwogIH0sCiAgcHJvcHM6IHt9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBoYW5kbGVTYXZlU2hvdzogZmFsc2UsCiAgICAgIHN0YXR1c0lucHV0OiBmYWxzZSwKICAgICAgaGFuZGxlU2VsZWN0Q2hhbmdlRGF0YTogW10sCiAgICAgIHB1cmNoYXNlVmlzaWJsZTogZmFsc2UsCiAgICAgIHBsYW5QdXJjaGFzaW5nTGlzdDogW10sCiAgICAgIC8v5L6b5bqU5ZWG5L+h5oGvCiAgICAgIHZlbmRvckRhdGE6IFtdLAogICAgICAvLwogICAgICBoYW5kbGVTZWxlY3RDaGFuZ2VMZW5ndGg6IDAsCiAgICAgIC8v6YeH6LSt54mp6LWE5piO57uGCiAgICAgIHB1ck1hdGVyaWFsc0RhdGE6IFtdLAogICAgICAvL+eUs+ivt+mHh+i0reaYjue7hgogICAgICBwdXJjaGFzZURldGFpbHNMaXN0OiBbXSwKICAgICAgcHVyY2hhc2VEZXRhaWxzTGlzdElkOiBbXSwKICAgICAgdXNlclNlbGVjdE9wdGlvbnM6IFtdLAogICAgICAvL+atpemqpOadoeaVsOaNrgogICAgICB3aWR0aDogJzE5N3B4JywKICAgICAgYWN0aXZlOiAwLAogICAgICBzdGVwQXJyOiBbewogICAgICAgIHRpdGxlOiAn5Z+65pys5L+h5oGvJwogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICfph4fotK3mmI7nu4YnCiAgICAgIH0KICAgICAgLy8gewogICAgICAvLyAgIHRpdGxlOiAn5a6M5oiQJwogICAgICAvLyB9CiAgICAgIF0sCiAgICAgIHZhbHVlOiAnJywKICAgICAgaXNtaWxpdGFyeTogLTEsCiAgICAgIGlzR3JhZGVBOiAtMSwKICAgICAgaXNHcmFkZUI6IC0xLAogICAgICBpc2NhcnJpZXJBOiAtMSwKICAgICAgaXNjYXJyaWVyQjogLTEsCiAgICAgIGluZm9Mc2l0OiBbewogICAgICAgIHR5cGU6ICcnLAogICAgICAgIG51bTogJycsCiAgICAgICAgbWVtbzogJycKICAgICAgfSwgewogICAgICAgIHR5cGU6ICcnLAogICAgICAgIG51bTogJycsCiAgICAgICAgbWVtbzogJycKICAgICAgfV0sCiAgICAgIC8v6KGo5qC85pWw5o2uCiAgICAgIGdyaWREYXRhOiBbewogICAgICAgIGRhdGU6ICcyMDE2LTA1LTAyJywKICAgICAgICB0aXRsZTogJ+awtOeUtei0uScsCiAgICAgICAgbnVtYmVyOiAxLAogICAgICAgIGRlcGFydG1lbnQ6ICfmioDmnK/pg6gnLAogICAgICAgIHRpbWU6ICcyMDE2LTA1LTAyJywKICAgICAgICBuYW1lOiAn546L5bCP6JmOJywKICAgICAgICBhZGRyZXNzOiAn5LiK5rW35biC5pmu6ZmA5Yy66YeR5rKZ5rGf6LevIDE1MTgg5byEJwogICAgICB9LCB7CiAgICAgICAgZGF0ZTogJzIwMTYtMDUtMDInLAogICAgICAgIHRpdGxlOiAn5rC055S16LS5JywKICAgICAgICBudW1iZXI6IDEsCiAgICAgICAgZGVwYXJ0bWVudDogJ+aKgOacr+mDqCcsCiAgICAgICAgdGltZTogJzIwMTYtMDUtMDInLAogICAgICAgIG5hbWU6ICfnjovlsI/omY4nLAogICAgICAgIGFkZHJlc3M6ICfkuIrmtbfluILmma7pmYDljLrph5HmspnmsZ/ot68gMTUxOCDlvIQnCiAgICAgIH1dLAogICAgICBjdXJybmV0Um93OiBudWxsLAogICAgICBrOiAwLAogICAgICB0aXRsZTogJ+aWsOWinicsCiAgICAgIHNob3dGb3JtRGlhOiBmYWxzZSwKICAgICAgc2hvd01hdGVyaWFsRGlhOiBmYWxzZSwKICAgICAgaXNFZGl0OiBmYWxzZSwKICAgICAgYWN0aXZlTmFtZTogJ1B1cmNoYXNpbmdEZXRhaWwnLAogICAgICBwdXJjaGFzaW5nRGV0YWlsTGlzdDogW10sCiAgICAgIHBsYW5EZXRhaWxMaXN0OiBbXSwKICAgICAgcGFyYW1zOiB7CiAgICAgICAgb3JnTmFtZTogJycsCiAgICAgICAgc3VwcGxpZXJMaXN0OiBbXSwKICAgICAgICBvcmdJZDogJycsCiAgICAgICAgLy8gcGxhbkRhdGU6ICcnLAogICAgICAgIHBsYW5UaXRsZTogJycKICAgICAgICAvLyBwbGFuVXNlcjogJycsCiAgICAgICAgLy8gcGxhblVzZXJOYW1lOiAnJywKICAgICAgICAvLyB0b3RhbFByaWNlOiAnJwogICAgICB9LAogICAgICBydWxlczogewogICAgICAgIHBsYW5UaXRsZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeiuouWNleagh+mimCcsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XSwKICAgICAgICBvcmdOYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl6YeH6LSt6YOo6ZeoJywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIHBsYW5Vc2VyOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl6YeH6LSt5omn6KGM5Lq6JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIHBsYW5EYXRlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5LiL5Y2V5pel5pyfJywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIHRvdGFsUHJpY2U6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXpooTorqHph5Hpop0nLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgc3VwcGxpZXJMaXN0OiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36YCJ5oup5L6b5bqU5ZWGJywKICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnCiAgICAgICAgfV0KICAgICAgfQogICAgfTsKICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgQ29tbW9uQXBpLmxvYWRTZWxlY3RPcHRpb25zKHsKICAgICAgbmFtZTogJ21hbmFnZUNvbW1vblNlcnZpY2UuZ2V0QWxsVXNlcnMnLAogICAgICBxdWVyeTogJycKICAgICAgLy8gcXVlcnk6ICc5NjI0MDYyNS05MzRGLTQ5MEItOEFBNi0wQkM3NzVCMTg0NjgnCiAgICB9LCBmdW5jdGlvbiAocmVzKSB7CiAgICAgIC8vIGNvbnNvbGUubG9nKCc9PT09PT09PT11c2VyU2VsZWN0T3B0aW9ucz09PT09JywgcmVzKQogICAgICBfdGhpcy51c2VyU2VsZWN0T3B0aW9ucyA9IHJlczsKICAgIH0pOwoKICAgIC8v5L6b5bqU5ZWG5L+h5oGvCiAgICB0aGlzLnZlbmRvclNlbGUoKTsKICB9LAogIG1ldGhvZHM6IHsKICAgIHNhdmVNYXRlcmlhbDogZnVuY3Rpb24gc2F2ZU1hdGVyaWFsKGFycikgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgdGhpcy5wdXJNYXRlcmlhbHNEYXRhID0gW107CiAgICAgIGNvbnNvbGUubG9nKGFycik7CiAgICAgIGFyci5mb3JFYWNoKGZ1bmN0aW9uIChtKSB7CiAgICAgICAgX3RoaXMyLnB1ck1hdGVyaWFsc0RhdGEucHVzaChtKTsKICAgICAgfSk7CiAgICAgIHRoaXMuJHJlZnMubWF0ZXJpYWxEaWEuc2hvd0RpYSA9IGZhbHNlOwogICAgICB0aGlzLiRyZWZzLm1hdGVyaWFsRGlhLm1hdGVyaWFsU2VsZWN0aW9uID0gW107CiAgICB9LAogICAgcXVhbGlmaWNhdGlvbkRldGFpbDogZnVuY3Rpb24gcXVhbGlmaWNhdGlvbkRldGFpbChpbmRleCwgcm93KSB7CiAgICAgIHRoaXMucHVyTWF0ZXJpYWxzRGF0YS5zcGxpY2UoaW5kZXgsIDEpOwogICAgfSwKICAgIHF1YWxpZmljYXRpb25NYXRlcmlhbDogZnVuY3Rpb24gcXVhbGlmaWNhdGlvbk1hdGVyaWFsKCkgewogICAgICB0aGlzLiRyZWZzLm1hdGVyaWFsRGlhLnNob3dEaWEgPSB0cnVlOwogICAgICB0aGlzLiRyZWZzLm1hdGVyaWFsRGlhLnNlbGVjdGlvbkVjaG8oKTsKICAgIH0sCiAgICBzZWxlY3Rpb25FY2hvOiBmdW5jdGlvbiBzZWxlY3Rpb25FY2hvKCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdGhpcy4kcmVmcy5tdWx0aXBsZVNlbGVjdGlvbi5jbGVhclNlbGVjdGlvbigpOwogICAgICB0aGlzLnBsYW5EZXRhaWxMaXN0LmZvckVhY2goZnVuY3Rpb24gKGtleSkgewogICAgICAgIF90aGlzMy5wdXJjaGFzZURldGFpbHNMaXN0LmZvckVhY2goZnVuY3Rpb24gKHJvdykgewogICAgICAgICAgaWYgKHJvdy5pZCA9PSBrZXkuaWQpIHsKICAgICAgICAgICAgX3RoaXMzLiRyZWZzLm11bHRpcGxlU2VsZWN0aW9uLnRvZ2dsZVJvd1NlbGVjdGlvbihyb3csIHRydWUpOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0sCiAgICBoYW5kbGVTZWxlY3RDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZVNlbGVjdENoYW5nZSh2YWwpIHsKICAgICAgY29uc29sZS5sb2codmFsKTsKICAgICAgdGhpcy5oYW5kbGVTZWxlY3RDaGFuZ2VEYXRhID0gdmFsOwogICAgfSwKICAgIC8v5re75YqgCiAgICB0b0FkZDogZnVuY3Rpb24gdG9BZGQoKSB7CiAgICAgIHRoaXMucGxhbkRldGFpbExpc3QgPSB0aGlzLmhhbmRsZVNlbGVjdENoYW5nZURhdGE7CiAgICAgIHRoaXMucHVyY2hhc2VEZXRhaWxzTGlzdCA9IFtdOwogICAgICB0aGlzLnB1cmNoYXNlVmlzaWJsZSA9IGZhbHNlOwogICAgfSwKICAgIC8v5Yig6ZmkCiAgICBkZWxldGVEZXRhaWw6IGZ1bmN0aW9uIGRlbGV0ZURldGFpbChpbmRleCwgcm93KSB7CiAgICAgIHRoaXMucGxhbkRldGFpbExpc3Quc3BsaWNlKGluZGV4LCAxKTsKICAgIH0sCiAgICBzZWxlY3RNYXRlcmlhbDogZnVuY3Rpb24gc2VsZWN0TWF0ZXJpYWwoKSB7CiAgICAgIHRoaXMucHVyY2hhc2VWaXNpYmxlID0gdHJ1ZTsKICAgICAgdGhpcy5zZWxlY3Rpb25FY2hvKCk7CiAgICB9LAogICAgLy/pgInmi6nph4fotK3nlLPor7fljZXlm57mmL4KICAgIC8vIHNlbGVjdGlvbkVjaG8oKSB7CiAgICAvLyAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uKCkgewogICAgLy8gICAgIHRoaXMucGxhbkRldGFpbExpc3QuZm9yRWFjaChrZXkgPT4gewogICAgLy8gICAgICAgaWYgKHRoaXMucGxhbkRldGFpbExpc3QubGVuZ3RoID09IDApIHsKICAgIC8vICAgICAgICAgLy8gdGhpcy4kcmVmcy5tdWx0aXBsZVNlbGVjdGlvbi5jbGVhclNlbGVjdGlvbigpCiAgICAvLyAgICAgICB9IGVsc2UgewogICAgLy8gICAgICAgICB0aGlzLnB1cmNoYXNlRGV0YWlsc0xpc3QuZm9yRWFjaChyb3cgPT4gewogICAgLy8gICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGtleS5wdXJjaGFzaW5nSWQgPT0gcm93LmlkKQogICAgLy8gICAgICAgICAgIGlmIChyb3cuaWQgPT0ga2V5LnB1cmNoYXNpbmdJZCkgewogICAgLy8gICAgICAgICAgICAgdGhpcy4kcmVmcy5tdWx0aXBsZVNlbGVjdGlvbi50b2dnbGVSb3dTZWxlY3Rpb24ocm93LCB0cnVlKQogICAgLy8gICAgICAgICAgIH0KICAgIC8vICAgICAgICAgfSkKICAgIC8vICAgICAgIH0KICAgIC8vICAgICB9KQogICAgLy8gICB9KQogICAgLy8gfSwKICAgIC8v5L6b5bqU5ZWG5L+h5oGvCiAgICB2ZW5kb3JTZWxlOiBmdW5jdGlvbiB2ZW5kb3JTZWxlKCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgdmFyIHZlbmRvciA9IHsKICAgICAgICBncm91cFJlbGF0aW9uOiAnQU5EJywKICAgICAgICBncm91cFRyZWU6IHt9LAogICAgICAgIHBhZ2VCZWFuOiB7CiAgICAgICAgICBwYWdlOiAxLAogICAgICAgICAgcGFnZVNpemU6IDEwLAogICAgICAgICAgc2hvd1RvdGFsOiB0cnVlCiAgICAgICAgfSwKICAgICAgICBwYXJhbXM6IHt9LAogICAgICAgIHF1ZXJ5czogW3sKICAgICAgICAgIGdyb3VwOiAnbWFpbicsCiAgICAgICAgICBvcGVyYXRpb246ICdFUVVBTCcsCiAgICAgICAgICBwYXJlbnRHcm91cDogJycsCiAgICAgICAgICBwcm9wZXJ0eTogJycsCiAgICAgICAgICByZWxhdGlvbjogJ0FORCcsCiAgICAgICAgICB2YWx1ZToge30KICAgICAgICB9XSwKICAgICAgICBzb3J0ZXI6IFt7CiAgICAgICAgICBkaXJlY3Rpb246ICdBU0MnLAogICAgICAgICAgcHJvcGVydHk6ICdzbicKICAgICAgICB9XQogICAgICB9OwogICAgICBwdXJjaGFzZVNjaGVkdWxlLnBhZ2VRdWVyeVF1ZXJ5KHZlbmRvciwgZnVuY3Rpb24gKHJlcykgewogICAgICAgIGNvbnNvbGUubG9nKHJlcyk7CiAgICAgICAgX3RoaXM0LnZlbmRvckRhdGEgPSByZXMucm93czsKICAgICAgfSk7CiAgICB9LAogICAgLy/moLnmja7pgInkuK3nmoTph4fotK3nlLPor7fljZVpZHPojrflj5blkIjlubblkI7nmoTnianotYTkv6Hmga8KICAgIG1lcmdlSWRzRGF0YTogZnVuY3Rpb24gbWVyZ2VJZHNEYXRhKCkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgLy8gdGhpcy5wdXJjaGFzZURldGFpbHNMaXN0SWQgPSB0aGlzLnB1cmNoYXNlRGV0YWlsc0xpc3RJZC50b1N0cmluZygpCiAgICAgIC8vIGNvbnNvbGUubG9nKHtpZHM6IHRoaXMucHVyY2hhc2VEZXRhaWxzTGlzdElkfSkKICAgICAgcHVyY2hhc2VTY2hlZHVsZS5wdXJjaGFzaW5nRmluZEJ5SWRzKHRoaXMucHVyY2hhc2VEZXRhaWxzTGlzdElkLCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM1LnB1ck1hdGVyaWFsc0RhdGEgPSByZXMudmFsdWUubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAvLyBkZXNjcmlwdGlvbjogaXRlbS5kZXNjcmlwdGlvbiwKICAgICAgICAgICAgbWF0ZXJpYWxJZDogaXRlbS5tYXRlcmlhbEluZm9JZCwKICAgICAgICAgICAgbW9kZWw6IGl0ZW0ubW9kZWwsCiAgICAgICAgICAgIGlkOiBpdGVtLmlkLAogICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsCiAgICAgICAgICAgIHBrVmFsOiBpdGVtLnBrVmFsLAogICAgICAgICAgICBxdWFudGl0eTogaXRlbS5xdWFudGl0eSwKICAgICAgICAgICAgcHJpY2U6IGl0ZW0ucHJpY2UsCiAgICAgICAgICAgIGFjdHVhbFF1YW50aXR5OiBpdGVtLnF1YW50aXR5LAogICAgICAgICAgICB1bml0OiBpdGVtLnVuaXQKICAgICAgICAgIH07CiAgICAgICAgfSk7CiAgICAgICAgLy8gdGhpcy5wdXJNYXRlcmlhbHNEYXRhID0gcmVzLnZhbHVlCiAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5wdXJNYXRlcmlhbHNEYXRhKQogICAgICB9KTsKICAgIH0sCiAgICAvL+eUs+ivt+mHh+i0reaYjue7humAieS4reaVsOaNrgogICAgLy8gaGFuZGxlU2VsZWN0Q2hhbmdlKHZhbCkgewogICAgLy8gICB0aGlzLmhhbmRsZVNlbGVjdENoYW5nZUxlbmd0aCA9IHZhbC5sZW5ndGgKICAgIC8vICAgY29uc29sZS5sb2coJ3ZhbCcsIHZhbCkKICAgIC8vICAgdGhpcy5wdXJjaGFzZURldGFpbHNMaXN0SWQgPSBbXQogICAgLy8gICB0aGlzLnBsYW5QdXJjaGFzaW5nTGlzdCA9IFtdCiAgICAvLyAgIHZhbC5mb3JFYWNoKGl0ZW0gPT4gewogICAgLy8gICAgIHRoaXMucHVyY2hhc2VEZXRhaWxzTGlzdElkLnB1c2goaXRlbS5pZCkKICAgIC8vICAgfSkKICAgIC8vICAgdGhpcy5wbGFuUHVyY2hhc2luZ0xpc3QgPSB2YWwubWFwKGl0ZW0gPT4gewogICAgLy8gICAgIHJldHVybiB7CiAgICAvLyAgICAgICBwdXJjaGFzaW5nSWQ6IGl0ZW0uaWQKICAgIC8vICAgICB9CiAgICAvLyAgIH0pCiAgICAvLyAgIHRoaXMucGxhbkRldGFpbExpc3QgPSB0aGlzLnBsYW5QdXJjaGFzaW5nTGlzdAogICAgLy8gICAvLyB0aGlzLnB1cmNoYXNlRGV0YWlsc0xpc3RJZCA9IHRoaXMucHVyY2hhc2VEZXRhaWxzTGlzdElkLnRvU3RyaW5nKCkKICAgIC8vICAgLy8gY29uc29sZS5sb2codGhpcy5wdXJjaGFzZURldGFpbHNMaXN0SWQpCiAgICAvLyAgIC8vIGNvbnNvbGUubG9nKHRoaXMucGxhblB1cmNoYXNpbmdMaXN0KQogICAgLy8gfSwKICAgIC8v55Sz6K+36YeH6LSt5piO57uGCiAgICBwdXJjaGFzZURldGFpbHM6IGZ1bmN0aW9uIHB1cmNoYXNlRGV0YWlscygpIHsKICAgICAgdmFyIF90aGlzNiA9IHRoaXM7CiAgICAgIHZhciBwdXJjaGFzZURldGFpbHNEYXRhID0gewogICAgICAgIGdyb3VwUmVsYXRpb246ICdBTkQnLAogICAgICAgIHBhZ2VCZWFuOiB7CiAgICAgICAgICBwYWdlOiAxLAogICAgICAgICAgcGFnZVNpemU6IDEwLAogICAgICAgICAgc2hvd1RvdGFsOiB0cnVlCiAgICAgICAgfSwKICAgICAgICBxdWVyeXM6IFt7CiAgICAgICAgICBncm91cDogJ21haW4nLAogICAgICAgICAgb3BlcmF0aW9uOiAnRVFVQUwnLAogICAgICAgICAgcGFyZW50R3JvdXA6ICcnLAogICAgICAgICAgcHJvcGVydHk6ICdzdGF0dXMnLAogICAgICAgICAgcmVsYXRpb246ICdBTkQnLAogICAgICAgICAgdmFsdWU6ICcxJwogICAgICAgIH1dLAogICAgICAgIHNvcnRlcjogW3sKICAgICAgICAgIGRpcmVjdGlvbjogJ0FTQycsCiAgICAgICAgICBwcm9wZXJ0eTogJ3NuJwogICAgICAgIH1dCiAgICAgIH07CiAgICAgIHB1cmNoYXNlU2NoZWR1bGUuYXBwbHlQdXJjaGFzaW5nUXVlcnkocHVyY2hhc2VEZXRhaWxzRGF0YSwgZnVuY3Rpb24gKHJlcykgewogICAgICAgIGNvbnNvbGUubG9nKHJlcyk7CiAgICAgICAgLy8gdGhpcy50b3RhbCA9IHJlcy50b3RhbAogICAgICAgIF90aGlzNi5wdXJjaGFzZURldGFpbHNMaXN0ID0gcmVzLnJvd3M7CiAgICAgICAgLy8gdGhpcy5jb21tb25BcGlEYXRhKCkKICAgICAgICAvLyB0aGlzLmxvYWRpbmcgPSBmYWxzZQogICAgICB9KTsKICAgIH0sCiAgICAvL+S4jei1sOadoeS6i+S7tgogICAgLy8gdG9Xb3JrdGFibGUoKSB7CiAgICAvLyAgIHRoaXMuYWN0aXZlID0gMAogICAgLy8gICB0aGlzLmlzbWlsaXRhcnkgPSAtMQogICAgLy8gICB0aGlzLmlzR3JhZGVBID0gLTEKICAgIC8vICAgdGhpcy5pc0dyYWRlQiA9IC0xCiAgICAvLyAgIHRoaXMuaXNjYXJyaWVyQSA9IC0xCiAgICAvLyAgIHRoaXMuaXNjYXJyaWVyQiA9IC0xCiAgICAvLyAgIHRoaXMuJHJvdXRlci5nbygnLTEnKQogICAgLy8gfSwKICAgIHByZXZpb3VzU3RlcDogZnVuY3Rpb24gcHJldmlvdXNTdGVwKCkgewogICAgICBpZiAodGhpcy5hY3RpdmUgPT0gMCkgewogICAgICAgIC8vIHRoaXMudG9Xb3JrdGFibGUoKQogICAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmFjdGl2ZSAtPSAxOwogICAgICAgIHRoaXMuaGFuZGxlU2F2ZVNob3cgPSBmYWxzZTsKICAgICAgICAvLyB0aGlzLnNlbGVjdGlvbkVjaG8oKQogICAgICB9CiAgICB9LAogICAgbmV4dFN0ZXA6IGZ1bmN0aW9uIG5leHRTdGVwKCkgewogICAgICB2YXIgX3RoaXM3ID0gdGhpczsKICAgICAgdGhpcy4kcmVmcy5mb3JtSW5mby52YWxpZGF0ZShmdW5jdGlvbiAodmFsaWQpIHsKICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgIGlmIChfdGhpczcuYWN0aXZlID09IDEpIHt9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLmxvZyhfdGhpczcucGxhbkRldGFpbExpc3QpOwogICAgICAgICAgICBpZiAoX3RoaXM3LnBsYW5EZXRhaWxMaXN0Lmxlbmd0aCA9PSAwKSB7CiAgICAgICAgICAgICAgX3RoaXM3LiRtZXNzYWdlLmVycm9yKCfor7fpgInmi6nph4fotK3nlLPor7fljZUnKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBfdGhpczcucHVyY2hhc2VEZXRhaWxzTGlzdElkID0gW107CiAgICAgICAgICAgICAgX3RoaXM3LnBsYW5EZXRhaWxMaXN0LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgIF90aGlzNy5wdXJjaGFzZURldGFpbHNMaXN0SWQucHVzaChpdGVtLmlkKTsKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICBfdGhpczcuYWN0aXZlICs9IDE7CiAgICAgICAgICAgICAgaWYgKF90aGlzNy50aXRsZSA9PSAn5paw5aKeJykgewogICAgICAgICAgICAgICAgX3RoaXM3Lm1lcmdlSWRzRGF0YSgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoX3RoaXM3LnN0YXR1c0lucHV0ID09IHRydWUpIHsKICAgICAgICAgICAgICAgIF90aGlzNy5oYW5kbGVTYXZlU2hvdyA9IHRydWU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIC8vIHRoaXMuc3RhdHVzSW5wdXQgPSBmYWxzZQogICAgICAgICAgICAgIC8vIHRoaXMuaGFuZGxlU2VsZWN0Q2hhbmdlTGVuZ3RoID0gMAogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICAvL+WPlua2iOaMiemSrgogICAgY2FuY2VsQnRuOiBmdW5jdGlvbiBjYW5jZWxCdG4oKSB7CiAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoKTsKICAgIH0sCiAgICAvLwogICAgYWRkOiBmdW5jdGlvbiBhZGQoKSB7CiAgICAgIHZhciBfdGhpczggPSB0aGlzOwogICAgICB2YXIgdXNlcmluZm8gPSB0aGlzLiRzdG9yZS5zdGF0ZS51c2VyLmN1cnJlbnRVc2VyRGV0YWlsOwogICAgICBpZiAoIXVzZXJpbmZvIHx8ICF1c2VyaW5mby5vcmdbMF0pIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKCflvZPliY3nmbvlvZXnlKjmiLfmsqHmnInmiYDlsZ7nu4Tnu4fvvIzor7fogZTns7vnrqHnkIblkZgnKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyB0aGlzLnBhcmFtcy5hcHBsaWNhdGlvbkRlcHQgPSB1c2VyaW5mby5vcmdbMF0ub3JnSWQKICAgICAgICAvLyB0aGlzLnBhcmFtcy5hcHBsaWNhdGlvbkRlcHROYW1lID0gdXNlcmluZm8ub3JnWzBdLm9yZ05hbWUKICAgICAgICAvLyB0aGlzLnBhcmFtcy5hcHBsaWNhbnQgPSB1c2VyaW5mby51c2VyLmZ1bGxuYW1lCiAgICAgICAgdGhpcy5wYXJhbXMub3JnSWQgPSB1c2VyaW5mby5vcmdbMF0ub3JnSWQ7CiAgICAgICAgdGhpcy5wYXJhbXMub3JnTmFtZSA9IHVzZXJpbmZvLm9yZ1swXS5vcmdOYW1lOwogICAgICAgIHZhciBkYXRlID0gbmV3IERhdGUoKTsKICAgICAgICB0aGlzLnBhcmFtcy5wbGFuRGF0ZSA9IGRhdGUuZm9ybWF0KCd5eXl5LU1NLWRkJyk7CiAgICAgICAgdGhpcy5zaG93Rm9ybURpYSA9IHRydWU7CiAgICAgICAgLy/nlLPor7fph4fotK3mmI7nu4YKICAgICAgICB0aGlzLnB1cmNoYXNlRGV0YWlscygpOwogICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgIF90aGlzOC4kcmVmcy5mb3JtSW5mby5jbGVhclZhbGlkYXRlKCk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0sCiAgICBoYW5kbGVDbG9zZTogZnVuY3Rpb24gaGFuZGxlQ2xvc2UoKSB7CiAgICAgIHRoaXMucGFyYW1zID0gewogICAgICAgIG9yZ05hbWU6ICcnLAogICAgICAgIHN1cHBsaWVyTGlzdDogW10sCiAgICAgICAgb3JnSWQ6ICcnLAogICAgICAgIC8vIHBsYW5EYXRlOiAnJywKICAgICAgICBwbGFuVGl0bGU6ICcnLAogICAgICAgIC8vIHBsYW5Vc2VyOiAnJywKICAgICAgICAvLyBwbGFuVXNlck5hbWU6ICcnLAogICAgICAgIC8vIHRvdGFsUHJpY2U6ICcnLAogICAgICAgIGRldGFpbExpc3Q6IFtdCiAgICAgIH07CiAgICAgIHRoaXMucGxhblB1cmNoYXNpbmdMaXN0ID0gW10sIHRoaXMucHVyY2hhc2luZ0RldGFpbExpc3QgPSBbXTsKICAgICAgdGhpcy50aXRsZSA9ICfmlrDlop4nOwogICAgICB0aGlzLnNob3dGb3JtRGlhID0gZmFsc2U7CiAgICAgIHRoaXMuYWN0aXZlID0gMDsKICAgICAgLy8gdGhpcy4kcmVmcy5tdWx0aXBsZVNlbGVjdGlvbi5jbGVhclNlbGVjdGlvbigpCiAgICAgIHRoaXMuc3RhdHVzSW5wdXQgPSBmYWxzZTsKICAgICAgdGhpcy5oYW5kbGVTYXZlU2hvdyA9IGZhbHNlOwogICAgICB0aGlzLnBsYW5EZXRhaWxMaXN0ID0gW107CiAgICB9LAogICAgaGFuZGxlU2F2ZTogZnVuY3Rpb24gaGFuZGxlU2F2ZSgpIHsKICAgICAgdmFyIF90aGlzOSA9IHRoaXM7CiAgICAgIHZhciBtZXRob2Q7CiAgICAgIGlmICh0aGlzLnRpdGxlID09ICfmlrDlop4nKSB7CiAgICAgICAgLy8g5paw5aKeCiAgICAgICAgbWV0aG9kID0gcHVyY2hhc2VTY2hlZHVsZS5tYXRlcmlhbE9yZGVyOwogICAgICB9CiAgICAgIGlmICh0aGlzLnRpdGxlID09ICfkv67mlLknKSB7CiAgICAgICAgLy8g5L+u5pS5CiAgICAgICAgbWV0aG9kID0gcHVyY2hhc2VTY2hlZHVsZS5lZGl0TWF0ZXJpYWxPcmRlcjsKICAgICAgfQogICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5wYXJhbXMpKTsKICAgICAgdGhpcy51c2VyU2VsZWN0T3B0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgaWYgKGl0ZW0uaWQgPT0gZGF0YS5wbGFuVXNlcikgewogICAgICAgICAgZGF0YS5wbGFuVXNlck5hbWUgPSBpdGVtLmZ1bGxuYW1lOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIGRhdGEuZGV0YWlsTGlzdCA9IHRoaXMucHVyTWF0ZXJpYWxzRGF0YTsKICAgICAgZGF0YS5wbGFuUHVyY2hhc2luZ0xpc3QgPSB0aGlzLnB1cmNoYXNlRGV0YWlsc0xpc3RJZC5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgcHVyY2hhc2luZ0lkOiBpdGVtCiAgICAgICAgfTsKICAgICAgfSk7CiAgICAgIGRhdGEuc3VwcGxpZXJMaXN0ID0gZGF0YS5zdXBwbGllckxpc3QubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHN1cHBsaWVySWQ6IGl0ZW0KICAgICAgICB9OwogICAgICB9KTsKICAgICAgbWV0aG9kKGRhdGEsIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAvLyBjb25zb2xlLmxvZyhyZXMpCiAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy50aXRsZSkKICAgICAgICBpZiAocmVzLnN0YXRlKSB7CiAgICAgICAgICBfdGhpczkuJG5vdGlmeSh7CiAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgICAgbWVzc2FnZTogX3RoaXM5LnRpdGxlICsgJ+aIkOWKnycsCiAgICAgICAgICAgIGR1cmF0aW9uOiAyMDAwCiAgICAgICAgICB9KTsKICAgICAgICAgIF90aGlzOS4kcGFyZW50LmxvYWREYXRhKCk7CiAgICAgICAgICBfdGhpczkuaGFuZGxlQ2xvc2UoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXM5LiRtZXNzYWdlLndhcm5pbmcocmVzcG9uc2UubWVzc2FnZSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBVcGRhdGU6IGZ1bmN0aW9uIFVwZGF0ZShyb3cpIHsKICAgICAgdmFyIF90aGlzMTAgPSB0aGlzOwogICAgICB0aGlzLnRpdGxlID0gJ+S/ruaUuSc7CiAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMudGl0bGUpCiAgICAgIHRoaXMuc2hvd0Zvcm1EaWEgPSB0cnVlOwogICAgICBwdXJjaGFzZVNjaGVkdWxlLmVudGl0aWVzUXVlcnkocm93LmlkLCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMxMC5wYXJhbXMuaWQgPSByZXMuaWQ7CiAgICAgICAgX3RoaXMxMC5wYXJhbXMub3JnTmFtZSA9IHJlcy5vcmdOYW1lOwogICAgICAgIC8vIHRoaXMucGFyYW1zLnBsYW5EYXRlID0gcmVzLnBsYW5EYXRlCiAgICAgICAgX3RoaXMxMC5wYXJhbXMucGxhblRpdGxlID0gcmVzLnBsYW5UaXRsZTsKICAgICAgICAvLyB0aGlzLnBhcmFtcy5wbGFuVXNlciA9IHJlcy5wbGFuVXNlcgogICAgICAgIF90aGlzMTAucGFyYW1zLnN1cHBsaWVyTGlzdCA9IFtdOwogICAgICAgIHJlcy5zdXBwbGllckxpc3QubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICBfdGhpczEwLnBhcmFtcy5zdXBwbGllckxpc3QucHVzaChpdGVtLnN1cHBsaWVySWQpOwogICAgICAgIH0pOwogICAgICAgIGlmIChyZXMucHVyY2hhc2luZ0xpc3QpIHsKICAgICAgICAgIF90aGlzMTAucGxhbkRldGFpbExpc3QgPSByZXMucHVyY2hhc2luZ0xpc3Q7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzMTAucGxhbkRldGFpbExpc3QgPSBbXTsKICAgICAgICB9CiAgICAgICAgLy8gdGhpcy5wbGFuRGV0YWlsTGlzdCA9IHJlcy5wdXJjaGFzaW5nTGlzdAogICAgICAgIC8vIHRoaXMuc2VsZWN0aW9uRWNobygpCiAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5wYXJhbXMuc3VwcGxpZXJMaXN0KQogICAgICAgIC8vIHRoaXMucGFyYW1zLnRvdGFsUHJpY2UgPSByZXMudG90YWxQcmljZQogICAgICAgIF90aGlzMTAucHVyTWF0ZXJpYWxzRGF0YSA9IHJlcy5kZXRhaWxMaXN0OwogICAgICAgIGlmIChyb3cuc3RhdHVzID4gMCkgewogICAgICAgICAgX3RoaXMxMC5zdGF0dXNJbnB1dCA9IHRydWU7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgdGhpcy4kcmVmcy5mb3JtSW5mby5jbGVhclZhbGlkYXRlKCk7CiAgICB9LAogICAgYWRkUm93OiBmdW5jdGlvbiBhZGRSb3coKSB7CiAgICAgIC8vCiAgICAgIHZhciByb3cgPSB7CiAgICAgICAgcXVhbnRpdHk6IDAsCiAgICAgICAgbmFtZTogJycsCiAgICAgICAgbW9kZWw6ICcnLAogICAgICAgIG1lbW86ICcnLAogICAgICAgIGlkOiBudWxsLAogICAgICAgIHB1cmNoYXNpbmdJZDogbnVsbCwKICAgICAgICBtYXRlcmlhbEluZm9JZDogbnVsbAogICAgICB9OwogICAgICB0aGlzLnB1cmNoYXNpbmdEZXRhaWxMaXN0LnB1c2gocm93KTsKICAgIH0sCiAgICAvLyBkZWxldGVEZXRhaWwoaW5kZXgsIHJvdykgewogICAgLy8gICB0aGlzLnB1cmNoYXNpbmdEZXRhaWxMaXN0LnNwbGljZShpbmRleCwgMSkKICAgIC8vIH0sCiAgICAvLyBzZWxlY3RNYXRlcmlhbCgpIHsKICAgIC8vICAgdGhpcy4kcmVmcy5tYXRlcmlhbERpYS5zaG93RGlhID0gdHJ1ZQogICAgLy8gfSwKICAgIC8vIHNhdmVNYXRlcmlhbChhcnIpIHsKICAgIC8vICAgYXJyLmZvckVhY2gobSA9PiB7CiAgICAvLyAgICAgdGhpcy5wdXJjaGFzaW5nRGV0YWlsTGlzdC5wdXNoKG0pCiAgICAvLyAgIH0pCiAgICAvLyAgIHRoaXMuJHJlZnMubWF0ZXJpYWxEaWEuc2hvd0RpYSA9IGZhbHNlCiAgICAvLyAgIHRoaXMuJHJlZnMubWF0ZXJpYWxEaWEubWF0ZXJpYWxTZWxlY3Rpb24gPSBbXQogICAgLy8gfSwKICAgIHRhYmxlQ3VycmVudENoYW5nZTogZnVuY3Rpb24gdGFibGVDdXJyZW50Q2hhbmdlKHJvdykgewogICAgICBpZiAodGhpcy5jdXJybmV0Um93KSB7CiAgICAgICAgdGhpcy5jdXJybmV0Um93LmlzRWRpdCA9IGZhbHNlOwogICAgICB9CiAgICAgIHJvdy5pc0VkaXQgPSB0cnVlOwogICAgICB0aGlzLmN1cnJuZXRSb3cgPSByb3c7CiAgICAgIHRoaXMuaysrOwogICAgfSwKICAgIHRhYmxlSGVhZGVyQ2xpY2s6IGZ1bmN0aW9uIHRhYmxlSGVhZGVyQ2xpY2soY29sKSB7CiAgICAgIGlmICghKGNvbC5pbmRleCAmJiBjb2wuaW5kZXggPT09IDk5OSkpIHsKICAgICAgICB0aGlzLnB1cmNoYXNpbmdEZXRhaWxMaXN0LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgIGl0ZW0uaXNFZGl0ID0gZmFsc2U7CiAgICAgICAgfSk7CiAgICAgICAgdGhpcy5jdXJybmV0Um93ID0gbnVsbDsKICAgICAgfQogICAgfQogIH0KfTs="},null]}