{"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\\Device\\deviceManage\\components\\videoFormDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceManage\\components\\videoFormDialog.vue","mtime":1731062408878},{"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:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaW5jbHVkZXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5wdXNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pbmNsdWRlcy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuZm9yLWVhY2guanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IFZpZGVvRmFjaWxpdGllcyBmcm9tICdAL2FwaS9kZXZpY2UvVmlkZW9GYWNpbGl0aWVzLmpzJzsKaW1wb3J0IFNwYXJlQ29tcGFueSBmcm9tICdAL2FwaS9kZXZpY2UvU3BhcmVNYW5hZ2UuanMnOwppbXBvcnQgdXNlck1hbmFnZSBmcm9tICdAL2FwaS9kZXZpY2UvdXNlck1hbmFnZS5qcyc7CmltcG9ydCByZXNvdXJjZU1hbmFnZSBmcm9tICdAL2FwaS9kZXZpY2UvcmVzb3VyY2VNYW5hZ2UuanMnOwppbXBvcnQgZGljdFV0aWxzIGZyb20gJ0AvY29tcG9uZW50cy9kaWN0L0RpY3RTZWxlY3RVdGlscy5qcyc7CmltcG9ydCByZXEgZnJvbSAnQC9yZXF1ZXN0LmpzJzsKaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JzsKaW1wb3J0IENob29zZU1hcFBvaW50VnVlIGZyb20gJy4vQ2hvb3NlTWFwUG9pbnQudnVlJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICd2aWRlb0Zvcm1EaWFsb2cnLAogIGNvbXBvbmVudHM6IHsKICAgIENob29zZU1hcFBvaW50VnVlOiBDaG9vc2VNYXBQb2ludFZ1ZQogIH0sCiAgcHJvcHM6IHt9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB2aWRlb1RyZWU6IFtdLAogICAgICBmdWxsSWQ6ICcnLAogICAgICAvL+ebruW9leagkee8lueggQogICAgICBjYXRhbG9nQ29kZTogJycsCiAgICAgIC8v55uu5b2V57yW56CBCiAgICAgIGNhdGFsb2dQbGF0Zm9ybTogJycsCiAgICAgIGNhdGFsb2dzOiBbXSwKICAgICAgLy/op4bpopHnm67lvZUKICAgICAgaW1wb3J0YW50RGF0YTogW3sKICAgICAgICBuYW1lOiAn5LiA6Iis6K6+5aSHJywKICAgICAgICB2YWx1ZTogJzAnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn6YeN54K56K6+5aSHJywKICAgICAgICB2YWx1ZTogJzEnCiAgICAgIH1dLAogICAgICBzaG93VHlwZTogJycsCiAgICAgIHZpZGVvVHlwZUxpc3Q6IFtdLAogICAgICAvL+aRhOWDj+WktOexu+WeiwogICAgICBmbG9vckxpc3Q6IFtdLAogICAgICAvL+WuieijhealvOWxguWtl+auteWIl+ihqAogICAgICBhZGRyZXNzVHlwZUxpc3Q6IFtdLAogICAgICAvL+WuieijheWcsOeCueexu+Wei+Wtl+auteWIl+ihqAogICAgICBhcmVhT3B0aW9uczogW10sCiAgICAgIC8vIOWMuuWfn+aVsOaNrgogICAgICBhZGR2Y2RPcHRpb25zOiBbXSwKICAgICAgLy8g6KGM5pS/5Yy65YiS5pWw5o2uCiAgICAgIHJlcGFpclVzZXJEYXRhOiBbXSwKICAgICAgLy/nu7TmiqTkurrlkZjmlbDmja4KICAgICAgc3VwcGxpZXJEYXRhOiBbXSwKICAgICAgLy8g5L6b5bqU5ZWG5pWw5o2uCiAgICAgIG1hbmFnZXJVc2VyRGF0YTogW10sCiAgICAgIC8v566h55CG5Lq65ZGY5pWw5o2uCiAgICAgIG1hbmFnZXJDb21wYW55OiBbXSwKICAgICAgLy/nrqHnkIbljZXkvY3mlbDmja4KICAgICAgcmVwYWlyQ29tcGFueTogW10sCiAgICAgIC8v57u05oqk5Y2V5L2NCiAgICAgIHNyY0xpc3Q6IFtdLAogICAgICBlbGVjdHJpY2l0eVR5cGVMaXN0OiBbXSwKICAgICAgLy/nlKjnlLXnsbvlnosKICAgICAgY29uc3RydWN0aW9uVW5pdE5hbWVPcHQ6IFt7CiAgICAgICAgbmFtZTogJ+aUv+W6nOmDqOmXqCcsCiAgICAgICAgdmFsdWU6ICfmlL/lupzpg6jpl6gnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5Zu95pyJ5LyB5LiaJywKICAgICAgICB2YWx1ZTogJ+WbveacieS8geS4micKICAgICAgfSwgewogICAgICAgIG5hbWU6ICfmsJHokKXkvIHkuJonLAogICAgICAgIHZhbHVlOiAn5rCR6JCl5LyB5LiaJwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+ekvuS8muWFrOWFsScsCiAgICAgICAgdmFsdWU6ICfnpL7kvJrlhazlhbEnCiAgICAgIH1dLAogICAgICBhcHBsaWNhdGlvbkFyZWFPcHQ6IFt7CiAgICAgICAgbmFtZTogJ+S6pOmAmueuoeeQhicsCiAgICAgICAgdmFsdWU6ICfkuqTpgJrnrqHnkIYnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5pWZ6IKy6KGM5LiaJywKICAgICAgICB2YWx1ZTogJ+aVmeiCsuihjOS4micKICAgICAgfSwgewogICAgICAgIG5hbWU6ICfph5Hono3ooYzkuJonLAogICAgICAgIHZhbHVlOiAn6YeR6J6N6KGM5LiaJwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+WNq+eUn+WBpeW6tycsCiAgICAgICAgdmFsdWU6ICfljavnlJ/lgaXlurcnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5Z+O5biC566h55CGJywKICAgICAgICB2YWx1ZTogJ+WfjuW4gueuoeeQhicKICAgICAgfSwgewogICAgICAgIG5hbWU6ICfkvY/miL/ln47kuaEnLAogICAgICAgIHZhbHVlOiAn5L2P5oi/5Z+O5LmhJwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+iHqueEtui1hOa6kCcsCiAgICAgICAgdmFsdWU6ICfoh6rnhLbotYTmupAnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5ZWG5Lia5pyN5YqhJywKICAgICAgICB2YWx1ZTogJ+WVhuS4muacjeWKoScKICAgICAgfSwgewogICAgICAgIG5hbWU6ICfmlofljJbml4XmuLgnLAogICAgICAgIHZhbHVlOiAn5paH5YyW5peF5ri4JwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+W6lOaApeeuoeeQhicsCiAgICAgICAgdmFsdWU6ICflupTmgKXnrqHnkIYnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5biC5Zy655uR566hJywKICAgICAgICB2YWx1ZTogJ+W4guWcuuebkeeuoScKICAgICAgfSwgewogICAgICAgIG5hbWU6ICfnu4/mtY7kv6Hmga8nLAogICAgICAgIHZhbHVlOiAn57uP5rWO5L+h5oGvJwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+awkeaUv+acjeWKoScsCiAgICAgICAgdmFsdWU6ICfmsJHmlL/mnI3liqEnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn6YKu5pS/54mp5rWBJywKICAgICAgICB2YWx1ZTogJ+mCruaUv+eJqea1gScKICAgICAgfSwgewogICAgICAgIG5hbWU6ICfkvZPogrLooYzkuJonLAogICAgICAgIHZhbHVlOiAn5L2T6IKy6KGM5LiaJwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+awkeaXj+Wul+aVmScsCiAgICAgICAgdmFsdWU6ICfmsJHml4/lrpfmlZknCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5Y+45rOV566h55CGJywKICAgICAgICB2YWx1ZTogJ+WPuOazleeuoeeQhicKICAgICAgfSwgewogICAgICAgIG5hbWU6ICflhpzkuJrmsLTliKknLAogICAgICAgIHZhbHVlOiAn5Yac5Lia5rC05YipJwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+acuuaehOe7hOe7hycsCiAgICAgICAgdmFsdWU6ICfmnLrmnoTnu4Tnu4cnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn55Sf5oCB546v5L+dJywKICAgICAgICB2YWx1ZTogJ+eUn+aAgeeOr+S/nScKICAgICAgfSwgewogICAgICAgIG5hbWU6ICflhbbku5booYzkuJonLAogICAgICAgIHZhbHVlOiAn5YW25LuW6KGM5LiaJwogICAgICB9XSwKICAgICAgZGV2aWNlU3RhdHVzT3B0aW9uczogW3sKICAgICAgICBuYW1lOiAn5Y+v55SoJywKICAgICAgICB2YWx1ZTogJ+WPr+eUqCcKICAgICAgfSwgewogICAgICAgIG5hbWU6ICfkuI3lj6/nlKgnLAogICAgICAgIHZhbHVlOiAn5LiN5Y+v55SoJwogICAgICB9XSwKICAgICAgbmV0d29ya1R5cGVPcHQ6IFt7CiAgICAgICAgbmFtZTogJ+mDqOmXqOS4k+e9kScsCiAgICAgICAgdmFsdWU6ICfpg6jpl6jkuJPnvZEnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5YWs5a6J5LiT572RJywKICAgICAgICB2YWx1ZTogJ+WFrOWuieS4k+e9kScKICAgICAgfSwgewogICAgICAgIG5hbWU6ICfmlL/liqHlpJbnvZEnLAogICAgICAgIHZhbHVlOiAn5pS/5Yqh5aSW572RJwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+S6kuiBlOe9kScsCiAgICAgICAgdmFsdWU6ICfkupLogZTnvZEnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn56e75Yqo572R77yINEfjgIE1R++8iScsCiAgICAgICAgdmFsdWU6ICfnp7vliqjnvZHvvIg0R+OAgTVH77yJJwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+WFtuS7lue9kee7nCcsCiAgICAgICAgdmFsdWU6ICflhbbku5bnvZHnu5wnCiAgICAgIH1dLAogICAgICBydWxlczogewogICAgICAgIG5hbWU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXop4bpopHngrnlkI3np7AnLAogICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScKICAgICAgICB9XSwKICAgICAgICBjb2RlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl6KeG6aKR54K557yW56CBJywKICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnCiAgICAgICAgfV0sCiAgICAgICAgaW1wb3J0YW50OiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl6YeN54K56K6+5aSHJywKICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnCiAgICAgICAgfV0sCiAgICAgICAgY2F0YWxvZ0NvZGU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fpgInmi6nnm5Hmjqfnm67lvZUnLAogICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScKICAgICAgICB9XSwKICAgICAgICB6b25lQ29kZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeaJgOWxnuWMuuWfnycsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJwogICAgICAgIH1dLAogICAgICAgIGNvbnN0cnVjdGlvblByb2plY3ROYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5bu66K6+6aG555uu5ZCN56ew5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIGNvbnN0cnVjdGlvblVuaXROYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5bu66K6+5Y2V5L2N57G75Z6L5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnCiAgICAgICAgfV0sCiAgICAgICAgdGVybWluYWxCZWxvbmdUb0RlcHQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfnu4jnq6/miYDlsZ7pg6jpl6jkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgYXBwbGljYXRpb25BcmVhOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5bqU55So6aKG5Z+f5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIGFkbWluaXN0cmF0aXZlQXJlYTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ihjOaUv+WMuuWfn+S4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XSwKICAgICAgICBpbnN0YWxsVGltZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+WuieijheaXtumXtOS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJwogICAgICAgIH1dLAogICAgICAgIHJlZ2lvbjogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+aJgOWxnuWMuuS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XSwKICAgICAgICBzdHJlZXQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfmiYDlsZ7ooZfpgZPkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgY29tbXVuaXR5OiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5omA5bGe56S+5Yy65LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIGRldmljZVN0YXR1czogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+iuvuWkh+eKtuaAgeS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJwogICAgICAgIH1dLAogICAgICAgIHNlbnNpdGl2ZUVxdWlwbWVudDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+aYr+WQpuS4uuaVj+aEn+iuvuWkh+S4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJwogICAgICAgIH1dLAogICAgICAgIG5ldHdvcmtUeXBlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn572R57uc57G75Z6L5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnCiAgICAgICAgfV0sCiAgICAgICAgZXF1aXBtZW50TWFudWZhY3R1cmVyOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K6+5aSH5Y6C5ZWG5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIG9wZXJhdGlvblVuaXQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfov5Dnu7TljZXkvY3kuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgb3BlcmF0aW9uVW5pdFBob25lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6L+Q57u05Y2V5L2N6IGU57O755S16K+d5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIHNoYXJlUHJvcGVydHk6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICflhbHkuqvlsZ7mgKfkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScKICAgICAgICB9XQogICAgICB9LAogICAgICBkaWFsb2dWaXNpYmxlOiBmYWxzZSwKICAgICAgdGl0bGU6ICfkv67mlLknLAogICAgICBhY3RpdmVDb2xsYXBzZTogWycxJywgJzInXSwKICAgICAgcGFyYW1zOiB7CiAgICAgICAgbmFtZTogJycsCiAgICAgICAgY29kZTogJycsCiAgICAgICAgaXA6ICcnLAogICAgICAgIGFpc2xlOiAnJywKICAgICAgICBsZ3RkOiAnJywKICAgICAgICBsdHRkOiAnJywKICAgICAgICBzdGF0dXM6ICcxJywKICAgICAgICBhZGRyZXNzOiAnJywKICAgICAgICBpbXBvcnRhbnQ6ICcnLAogICAgICAgIHpvbmVDb2RlOiAnJwogICAgICAgIC8vIGRldmljZVZpZGVvUG9pbnRFeHRlbmQ6IHsKICAgICAgICAvLyAJYWRkcmVzc1R5cGU6ICcnLAogICAgICAgIC8vIAlhZGR2Y2Q6ICcnLAogICAgICAgIC8vIAlhcmVhY29kZTogJycsCiAgICAgICAgLy8gCWFyZWFOYW1lOiAnJywKICAgICAgICAvLyAJZmxvb3I6ICcnLAogICAgICAgIC8vIAlnaXNBcmVhOiAnJywKICAgICAgICAvLyAJaWNvbjogJycsCiAgICAgICAgLy8gCWFyZWFJZDogJycsCiAgICAgICAgLy8gCW1hbmFnZXJDb21wYW55SWQ6ICcnLAogICAgICAgIC8vIAltYW5hZ2VyVXNlcklkOiAnJywKICAgICAgICAvLyAJcmVwYWlyQ29tcGFueUlkOiAnJywKICAgICAgICAvLyAJcmVwYWlyVXNlcklkOiAnJywKICAgICAgICAvLyAJc3VwcGxpZXJDb21wYW55SWQ6ICcnLAogICAgICAgIC8vIAl0eXBlOiAnJywKICAgICAgICAvLyAJY29kZTogJycsCiAgICAgICAgLy8gCWVsZWN0cmljaXR5VHlwZTogJycsCiAgICAgICAgLy8gCWxpZmU6ICcnCiAgICAgICAgLy8gfQogICAgICB9LAogICAgICBpbWFnZVVybDogJycsCiAgICAgIHVwbG9hZFVybDogd2luZG93LmNvbnRleHQucG9ydGFsICsgJy9maWxlL3YxL2ZpbGVVcGxvYWQnLAogICAgICBwcmV2aWV3VXJsOiB3aW5kb3cuY29udGV4dC5wb3J0YWwgKyAnL2ZpbGUvb25saW5lUHJldmlld0NvbnRyb2xsZXIvdjEvZ2V0RmlsZUJ5SWRfJywKICAgICAgVXBsb2FkRGF0YTogewogICAgICAgIGJpekNvZGU6ICdWaWRlb0ljb24nLAogICAgICAgIGJpeklkOiAnJwogICAgICB9LAogICAgICBkZXZpY2VTdGF0dXNPcHQ6IFsn5ZCv55SoJywgJ+aVhemanCcsICflgZznlKgnLCAn6KeE5YiSJywgJ+aKpeW6nycsICflhbbku5YnLCAn5ouG6ZmkJywgJ+e7tOS/riddCiAgICB9OwogIH0sCiAgd2F0Y2g6IHt9LAogIGNvbXB1dGVkOiBtYXBTdGF0ZSh7CiAgICBoZWFkZXI6IGZ1bmN0aW9uIGhlYWRlcihzdGF0ZSkgewogICAgICByZXR1cm4gewogICAgICAgIEF1dGhvcml6YXRpb246ICJCZWFyZXIgIi5jb25jYXQoc3RhdGUubG9naW4uY3VycmVudFVzZXIudG9rZW4pCiAgICAgIH07CiAgICB9CiAgfSksCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHRoaXMuZmxvb3JMaXN0ID0gZGljdFV0aWxzLmdldERpY3RJdGVtc0Zyb21DYWNoZSgnYXpsYycpOwogICAgdGhpcy5hZGRyZXNzVHlwZUxpc3QgPSBkaWN0VXRpbHMuZ2V0RGljdEl0ZW1zRnJvbUNhY2hlKCdhemRkbHgnKTsKICAgIHRoaXMudmlkZW9UeXBlTGlzdCA9IGRpY3RVdGlscy5nZXREaWN0SXRlbXNGcm9tQ2FjaGUoJ3N4dGx4Jyk7CiAgICB0aGlzLmVsZWN0cmljaXR5VHlwZUxpc3QgPSBkaWN0VXRpbHMuZ2V0RGljdEl0ZW1zRnJvbUNhY2hlKCd5ZGx4Jyk7CiAgICB0aGlzLmxvYWRVc2VyKCk7CiAgICB0aGlzLmxvYWRTdXBwbGllcigpOwogICAgdGhpcy5sb2FkTWFpbnRhaW5Vc2VyKCk7CiAgICB0aGlzLmxvYWRBZGR2Y2QoKTsKICAgIHRoaXMubG9hZEFyZWEoKTsKICAgIHRoaXMubG9hZG1hbmFnZSgpOwogICAgdGhpcy5sb2FkcmVwYWlyKCk7CiAgICB0aGlzLmdldFRyZWVEaWN0KCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBzZXRQb3NpdGlvbjogZnVuY3Rpb24gc2V0UG9zaXRpb24oKSB7CiAgICAgIHRoaXMuJHJlZnMubWFwRGlhbG9nLmhhbmRsZU9wZW4odGhpcy5wYXJhbXMpOwogICAgfSwKICAgIGdldFBvc2l0aW9uOiBmdW5jdGlvbiBnZXRQb3NpdGlvbihkYXRhKSB7CiAgICAgIHRoaXMucGFyYW1zLmxndGQgPSBkYXRhLmxndGQgKyAnJzsKICAgICAgdGhpcy5wYXJhbXMubHR0ZCA9IGRhdGEubHR0ZCArICcnOwogICAgICB0aGlzLnBhcmFtcy56b25lQ29kZSA9IGRhdGEuYXJlYUNvZGU7CiAgICB9LAogICAgLy8g5YiH5o2i55uu5b2VCiAgICBjaGFuZ2VDYXRhbG9nOiBmdW5jdGlvbiBjaGFuZ2VDYXRhbG9nKHZhbCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICB2YXIgcXVlcnkgPSB7CiAgICAgICAgem9uZUNvZGU6IHZhbAogICAgICB9OwogICAgICBWaWRlb0ZhY2lsaXRpZXMuZ2V0VmlkZW9UcmVlKHF1ZXJ5LCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgY29uc29sZS5sb2cocmVzKTsKICAgICAgICBfdGhpcy52aWRlb1RyZWUgPSByZXMudmFsdWU7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOiOt+WPluebruW9leagkQogICAgZ2V0VHJlZTogZnVuY3Rpb24gZ2V0VHJlZSgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHZhciBxdWVyeSA9IHsKICAgICAgICB6b25lQ29kZTogdGhpcy5jYXRhbG9nQ29kZQogICAgICB9OwogICAgICBWaWRlb0ZhY2lsaXRpZXMuZ2V0VmlkZW9UcmVlKHF1ZXJ5LCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgY29uc29sZS5sb2cocmVzKTsKICAgICAgICBfdGhpczIudmlkZW9UcmVlID0gcmVzLnZhbHVlOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDojrflj5bnm67lvZUKICAgIGdldFRyZWVEaWN0OiBmdW5jdGlvbiBnZXRUcmVlRGljdCgpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIFZpZGVvRmFjaWxpdGllcy5nZXRWaWRlb0Yoe30sIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBjb25zb2xlLmxvZyhyZXMpOwogICAgICAgIF90aGlzMy5jYXRhbG9ncyA9IHJlcy52YWx1ZTsKICAgICAgICBfdGhpczMuY2F0YWxvZ0NvZGUgPSBfdGhpczMuY2F0YWxvZ3NbMF0uY29kZTsKICAgICAgICAvLyB0aGlzLmNhdGFsb2dQbGF0Zm9ybSA9IHRoaXMuY2F0YWxvZ3NbMF0ucGxhdGZvcm0KICAgICAgICBfdGhpczMuZ2V0VHJlZSgpOwogICAgICB9KTsKICAgIH0sCiAgICBoYW5kbGVDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZUNoYW5nZSh0eXBlKSB7CiAgICAgIGlmICh0eXBlID09ICdyZXBhaXJVc2VySWQnKSB7CiAgICAgICAgdmFyIG5vZGVzID0gdGhpcy4kcmVmcy5jYXNjYWRlclJlcGFpci5nZXRDaGVja2VkTm9kZXMoKTsKICAgICAgICBpZiAobm9kZXMgJiYgbm9kZXMubGVuZ3RoID4gMCkgewogICAgICAgICAgdGhpcy5wYXJhbXMucmVwYWlyVXNlcklkID0gbm9kZXNbMF0uZGF0YS5pZDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlclJlcGFpci4kcmVmcy5wYW5lbC5jbGVhckNoZWNrZWROb2RlcygpOwogICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlclJlcGFpci4kcmVmcy5wYW5lbC5jaGVja2VkVmFsdWUgPSAnJzsgLy8g5riF56m66YCJ5Lit5YC8CiAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyUmVwYWlyLiRyZWZzLnBhbmVsLmFjdGl2ZVBhdGggPSAnJzsgLy8g5riF6Zmk6auY5LquCiAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyUmVwYWlyLiRyZWZzLnBhbmVsLnN5bmNBY3RpdmVQYXRoKCk7IC8vIOWIneWni+WMlu+8iOWPquWxleekuuS4gOe6p+iKgueCue+8iQogICAgICAgICAgdGhpcy5wYXJhbXMucmVwYWlyVXNlcklkID0gJyc7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmICh0eXBlID09ICdtYW5hZ2VyVXNlcklkJykgewogICAgICAgIHZhciBfbm9kZXMgPSB0aGlzLiRyZWZzLmNhc2NhZGVyTWFuYWdlci5nZXRDaGVja2VkTm9kZXMoKTsKICAgICAgICBpZiAoX25vZGVzICYmIF9ub2Rlcy5sZW5ndGggPiAwKSB7CiAgICAgICAgICB0aGlzLnBhcmFtcy5tYW5hZ2VyVXNlcklkID0gX25vZGVzWzBdLmRhdGEuaWQ7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuJHJlZnMuY2FzY2FkZXJNYW5hZ2VyLiRyZWZzLnBhbmVsLmNsZWFyQ2hlY2tlZE5vZGVzKCk7CiAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyTWFuYWdlci4kcmVmcy5wYW5lbC5jaGVja2VkVmFsdWUgPSAnJzsgLy8g5riF56m66YCJ5Lit5YC8CiAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyTWFuYWdlci4kcmVmcy5wYW5lbC5hY3RpdmVQYXRoID0gJyc7IC8vIOa4hemZpOmrmOS6rgogICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlck1hbmFnZXIuJHJlZnMucGFuZWwuc3luY0FjdGl2ZVBhdGgoKTsgLy8g5Yid5aeL5YyW77yI5Y+q5bGV56S65LiA57qn6IqC54K577yJCiAgICAgICAgICB0aGlzLnBhcmFtcy5tYW5hZ2VyVXNlcklkID0gJyc7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmICh0eXBlID09ICd6b25lQ29kZScpIHsKICAgICAgICB2YXIgX25vZGVzMiA9IHRoaXMuJHJlZnMuY2FzY2FkZXJBcmVhLmdldENoZWNrZWROb2RlcygpOwogICAgICAgIGlmIChfbm9kZXMyICYmIF9ub2RlczIubGVuZ3RoID4gMCkgewogICAgICAgICAgdGhpcy5wYXJhbXMuYXJlYUlkID0gX25vZGVzMlswXS5kYXRhLmlkOwogICAgICAgICAgdGhpcy5wYXJhbXMuYXJlYUNvZGUgPSBfbm9kZXMyWzBdLmRhdGEuY29kZTsKICAgICAgICAgIHRoaXMucGFyYW1zLmFyZWFOYW1lID0gX25vZGVzMlswXS5kYXRhLm5hbWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuJHJlZnMuY2FzY2FkZXJBcmVhLiRyZWZzLnBhbmVsLmNsZWFyQ2hlY2tlZE5vZGVzKCk7CiAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyQXJlYS4kcmVmcy5wYW5lbC5jaGVja2VkVmFsdWUgPSAnJzsgLy8g5riF56m66YCJ5Lit5YC8CiAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyQXJlYS4kcmVmcy5wYW5lbC5hY3RpdmVQYXRoID0gJyc7IC8vIOa4hemZpOmrmOS6rgogICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlckFyZWEuJHJlZnMucGFuZWwuc3luY0FjdGl2ZVBhdGgoKTsgLy8g5Yid5aeL5YyW77yI5Y+q5bGV56S65LiA57qn6IqC54K577yJCiAgICAgICAgICB0aGlzLnBhcmFtcy5hcmVhSWQgPSAnJzsKICAgICAgICB9CiAgICAgIH0KICAgICAgaWYgKHR5cGUgPT0gJ2FkZHZjZCcpIHsKICAgICAgICB2YXIgX25vZGVzMyA9IHRoaXMuJHJlZnMuY2FzY2FkZXJBZGR2Y2QuZ2V0Q2hlY2tlZE5vZGVzKCk7CiAgICAgICAgaWYgKF9ub2RlczMgJiYgX25vZGVzMy5sZW5ndGggPiAwKSB7CiAgICAgICAgICB0aGlzLnBhcmFtcy5hZGR2Y2QgPSBfbm9kZXMzWzBdLmRhdGEuaWQ7CiAgICAgICAgICBjb25zb2xlLmxvZyhfbm9kZXMzWzBdLmRhdGEuaWQpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyQWRkdmNkLiRyZWZzLnBhbmVsLmNsZWFyQ2hlY2tlZE5vZGVzKCk7CiAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyQWRkdmNkLiRyZWZzLnBhbmVsLmNoZWNrZWRWYWx1ZSA9ICcnOyAvLyDmuIXnqbrpgInkuK3lgLwKICAgICAgICAgIHRoaXMuJHJlZnMuY2FzY2FkZXJBZGR2Y2QuJHJlZnMucGFuZWwuYWN0aXZlUGF0aCA9ICcnOyAvLyDmuIXpmaTpq5jkuq4KICAgICAgICAgIHRoaXMuJHJlZnMuY2FzY2FkZXJBZGR2Y2QuJHJlZnMucGFuZWwuc3luY0FjdGl2ZVBhdGgoKTsgLy8g5Yid5aeL5YyW77yI5Y+q5bGV56S65LiA57qn6IqC54K577yJCiAgICAgICAgICB0aGlzLnBhcmFtcy5hZGR2Y2QgPSAnJzsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAvLyDojrflj5bmiYDlsZ7ljLrln58KICAgIGxvYWRBcmVhOiBmdW5jdGlvbiBsb2FkQXJlYSgpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHRoaXMuYXJlYU9wdGlvbnMgPSBbXTsKICAgICAgcmVzb3VyY2VNYW5hZ2UubG9hZEFyZWFUcmVlKHsKICAgICAgICBpZDogJzAnCiAgICAgIH0sIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBjb25zb2xlLmxvZyhyZXMpOwogICAgICAgIF90aGlzNC5hcmVhT3B0aW9ucyA9IHJlcy52YWx1ZTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g6I635Y+W5omA5bGe6KGM5pS/5Yy65YiSCiAgICBsb2FkQWRkdmNkOiBmdW5jdGlvbiBsb2FkQWRkdmNkKCkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgdGhpcy5hZGR2Y2RPcHRpb25zID0gW107CiAgICAgIHJlc291cmNlTWFuYWdlLmxvYWRBZG1pbkFyZWFUcmVlKHt9LCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM1LmFkZHZjZE9wdGlvbnMgPSByZXMudmFsdWU7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOe7tOaKpOS6uuWRmAogICAgbG9hZE1haW50YWluVXNlcjogZnVuY3Rpb24gbG9hZE1haW50YWluVXNlcigpIHsKICAgICAgdmFyIF90aGlzNiA9IHRoaXM7CiAgICAgIHZhciBkYXRhID0gewogICAgICAgIGNvbXBhbnlUeXBlOiAnMycKICAgICAgfTsKICAgICAgdGhpcy5yZXBhaXJVc2VyRGF0YSA9IFtdOwogICAgICB1c2VyTWFuYWdlLkNvbXBhbnlVc2VyKGRhdGEpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzNi5yZXBhaXJVc2VyRGF0YSA9IHJlczsKICAgICAgfSk7CiAgICB9LAogICAgLy8g566h55CG5Lq65ZGYCiAgICBsb2FkVXNlcjogZnVuY3Rpb24gbG9hZFVzZXIoKSB7CiAgICAgIHZhciBfdGhpczcgPSB0aGlzOwogICAgICB2YXIgZGF0YSA9IHsKICAgICAgICBjb21wYW55VHlwZTogJzEnCiAgICAgIH07CiAgICAgIHRoaXMubWFuYWdlclVzZXJEYXRhID0gW107CiAgICAgIHVzZXJNYW5hZ2UuQ29tcGFueVVzZXIoZGF0YSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM3Lm1hbmFnZXJVc2VyRGF0YSA9IHJlczsKICAgICAgfSk7CiAgICB9LAogICAgLy8g566h55CG5Y2V5L2NCiAgICBsb2FkbWFuYWdlOiBmdW5jdGlvbiBsb2FkbWFuYWdlKCkgewogICAgICB2YXIgX3RoaXM4ID0gdGhpczsKICAgICAgdmFyIHBhcmFtcyA9IHsKICAgICAgICBjb21wYW55VHlwZTogJzEnCiAgICAgIH07CiAgICAgIFNwYXJlQ29tcGFueS5maW5kQ29tcGFueUxpc3QocGFyYW1zLCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM4Lm1hbmFnZXJDb21wYW55ID0gcmVzOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDnu7TmiqTljZXkvY0KICAgIGxvYWRyZXBhaXI6IGZ1bmN0aW9uIGxvYWRyZXBhaXIoKSB7CiAgICAgIHZhciBfdGhpczkgPSB0aGlzOwogICAgICB2YXIgcGFyYW1zID0gewogICAgICAgIGNvbXBhbnlUeXBlOiAnMycKICAgICAgfTsKICAgICAgU3BhcmVDb21wYW55LmZpbmRDb21wYW55TGlzdChwYXJhbXMsIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczkucmVwYWlyQ29tcGFueSA9IHJlczsKICAgICAgfSk7CiAgICB9LAogICAgLy8g6I635Y+W5L6b5bqU5ZWGCiAgICBsb2FkU3VwcGxpZXI6IGZ1bmN0aW9uIGxvYWRTdXBwbGllcigpIHsKICAgICAgdmFyIF90aGlzMTAgPSB0aGlzOwogICAgICB2YXIgcGFyYW1zID0ge307CiAgICAgIFNwYXJlQ29tcGFueS5maW5kQ29tcGFueUxpc3QocGFyYW1zLCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgdmFyIGRhdGEgPSBbXTsKICAgICAgICBfdGhpczEwLnN1cHBsaWVyRGF0YSA9IFtdOwogICAgICAgIGRhdGEgPSByZXM7CiAgICAgICAgZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICBpZiAoaXRlbS5jb21wYW55VHlwZS5pbmNsdWRlcygnNCcpKSB7CiAgICAgICAgICAgIF90aGlzMTAuc3VwcGxpZXJEYXRhLnB1c2goaXRlbSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOS4iuS8oOWbvuaghwogICAgaGFuZGxlQXZhdGFyU3VjY2VzczogZnVuY3Rpb24gaGFuZGxlQXZhdGFyU3VjY2VzcyhyZXMsIGZpbGUpIHsKICAgICAgY29uc29sZS5sb2cocmVzKTsKICAgICAgY29uc29sZS5sb2coZmlsZSk7CiAgICAgIGlmIChyZXMpIHsKICAgICAgICB0aGlzLnBhcmFtcy5pY29uID0gcmVzLmZpbGVJZDsKICAgICAgICB0aGlzLmltYWdlVXJsID0gdGhpcy5wcmV2aWV3VXJsICsgcmVzLmZpbGVJZDsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyDmj5DnpLrkv6Hmga/vvIzpnIDlvJXlhaVNZXNzYWdlCiAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcign5LiK5Lyg5aSx6LSl77yBJyk7CiAgICAgIH0KICAgICAgLy8gdGhpcy5pbWFnZVVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZS5yYXcpOwogICAgfSwKICAgIC8vIOWbvuagh+Wkp+Wwj+mZkOWItgogICAgYmVmb3JlQXZhdGFyVXBsb2FkOiBmdW5jdGlvbiBiZWZvcmVBdmF0YXJVcGxvYWQoZmlsZSkgewogICAgICB2YXIgaXNMdDJNID0gZmlsZS5zaXplIC8gMTAyNCAvIDEwMjQgPCAyOwogICAgICBpZiAoIWlzTHQyTSkgewogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+S4iuS8oOWbvueJh+Wkp+Wwj+S4jeiDvei2hei/hyAyTUIhJyk7CiAgICAgIH0KICAgICAgcmV0dXJuIGlzTHQyTTsKICAgIH0sCiAgICBoYW5kbGVTYXZlOiBmdW5jdGlvbiBoYW5kbGVTYXZlKCkgewogICAgICB2YXIgX3RoaXMxMSA9IHRoaXM7CiAgICAgIHRoaXMucGFyYW1zLmNvZGUgPSB0aGlzLnBhcmFtcy5jb2RlOwogICAgICB0aGlzLiRyZWZzLmZvcm1JbmZvLnZhbGlkYXRlKGZ1bmN0aW9uICh2YWxpZCkgewogICAgICAgIGlmICh2YWxpZCkgewogICAgICAgICAgdmFyIEFQSTsKICAgICAgICAgIGlmIChfdGhpczExLnNob3dUeXBlID09ICdhZGQnKSB7CiAgICAgICAgICAgIEFQSSA9IFZpZGVvRmFjaWxpdGllcy5hZGRWaWRlb1NpdGU7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBBUEkgPSBWaWRlb0ZhY2lsaXRpZXMudXBkYXRlVmlkZW9TaXRlOwogICAgICAgICAgfQogICAgICAgICAgLy8gdGhpcy5wYXJhbXMuZGV2aWNlVmlkZW9Qb2ludEV4dGVuZCA9CiAgICAgICAgICAvLyAgICAgdGhpcy5kZXZpY2VWaWRlb1BvaW50RXh0ZW5kCiAgICAgICAgICBBUEkoX3RoaXMxMS5wYXJhbXMsIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgY29uc29sZS5sb2cocmVzLCAnMTIzJyk7CiAgICAgICAgICAgIGlmIChyZXMuc3RhdGUpIHsKICAgICAgICAgICAgICBfdGhpczExLiRub3RpZnkoewogICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLAogICAgICAgICAgICAgICAgbWVzc2FnZTogJ+S/neWtmOaIkOWKnycsCiAgICAgICAgICAgICAgICBkdXJhdGlvbjogMjAwMAogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIF90aGlzMTEuY2xvc2VGb3JtRGlhbygpOwogICAgICAgICAgICAgIF90aGlzMTEuJHBhcmVudC5sb2FkRGF0YSgpOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGVkaXRCYXNpYzogZnVuY3Rpb24gZWRpdEJhc2ljKHZhbCkgewogICAgICB2YXIgX3RoaXMxMiA9IHRoaXM7CiAgICAgIHRoaXMudGl0bGUgPSAn5L+u5pS5JzsKICAgICAgVmlkZW9GYWNpbGl0aWVzLklucXVpcmVCYXNlUG9pbnQodmFsLmlkLCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMxMi5wYXJhbXMgPSByZXM7CiAgICAgICAgX3RoaXMxMi5wYXJhbXMuZWxlY3RyaWNpdHlUeXBlID0gX3RoaXMxMi5wYXJhbXMuZWxlY3RyaWNpdHlUeXBlID8gX3RoaXMxMi5wYXJhbXMuZWxlY3RyaWNpdHlUeXBlLnRvU3RyaW5nKCkgOiAnJzsKICAgICAgICBfdGhpczEyLmRpYWxvZ1Zpc2libGUgPSB0cnVlOwogICAgICB9KTsKICAgICAgLy8gdGhpcy5zaG93VHlwZSA9ICdlZGl0QmFzaWMnCiAgICAgIC8vIHRoaXMucGFyYW1zID0gdmFsCiAgICAgIC8vIHRoaXMucGFyYW1zLnN0YXR1cyA9IE51bWJlcih2YWwuc3RhdHVzKQoKICAgICAgLy8gdGhpcy5wYXJhbXMuZGV2aWNlVmlkZW9Qb2ludEV4dGVuZC5jb2RlID0gdmFsLmNvZGUKICAgICAgLy8gdGhpcy5VcGxvYWREYXRhLmJpeklkID0gdmFsLmNvZGUKICAgICAgLy8gaWYgKHZhbC5kZXZpY2VWaWRlb1BvaW50RXh0ZW5kKSB7CiAgICAgIC8vICAgLy8g5Zu+5qCHCiAgICAgIC8vICAgdGhpcy5pbWFnZVVybCA9IHRoaXMucHJldmlld1VybCArIHZhbC5kZXZpY2VWaWRlb1BvaW50RXh0ZW5kLmljb24KICAgICAgLy8gICB0aGlzLmRldmljZVZpZGVvUG9pbnRFeHRlbmQgPSB2YWwuZGV2aWNlVmlkZW9Qb2ludEV4dGVuZAogICAgICAvLyAgIHRoaXMuZGV2aWNlVmlkZW9Qb2ludEV4dGVuZC5mbG9vciA9IFN0cmluZygKICAgICAgLy8gICAgIHZhbC5kZXZpY2VWaWRlb1BvaW50RXh0ZW5kLmZsb29yCiAgICAgIC8vICAgKQogICAgICAvLyB9CiAgICB9LAogICAgLy8gT3BlbkZvcm1EaWFvKHZhbCkgewogICAgLy8gICB0aGlzLnRpdGxlID0gJ+S/ruaUuScKICAgIC8vICAgdGhpcy5zaG93VHlwZSA9ICdlZGl0RXh0ZW5kJwogICAgLy8gICB0aGlzLnBhcmFtcyA9IHZhbAogICAgLy8gICB0aGlzLnBhcmFtcy5zdGF0dXMgPSBOdW1iZXIodmFsLnN0YXR1cykKICAgIC8vICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZQogICAgLy8gICB0aGlzLmRldmljZVZpZGVvUG9pbnRFeHRlbmQuY29kZSA9IHZhbC5jb2RlCiAgICAvLyAgIHRoaXMuVXBsb2FkRGF0YS5iaXpJZCA9IHZhbC5jb2RlCiAgICAvLyAgIGlmICh2YWwuZGV2aWNlVmlkZW9Qb2ludEV4dGVuZCkgewogICAgLy8gICAgIC8vIOWbvuaghwogICAgLy8gICAgIHRoaXMuaW1hZ2VVcmwgPSB0aGlzLnByZXZpZXdVcmwgKyB2YWwuZGV2aWNlVmlkZW9Qb2ludEV4dGVuZC5pY29uCiAgICAvLyAgICAgdGhpcy5kZXZpY2VWaWRlb1BvaW50RXh0ZW5kID0gdmFsLmRldmljZVZpZGVvUG9pbnRFeHRlbmQKICAgIC8vICAgICB0aGlzLmRldmljZVZpZGVvUG9pbnRFeHRlbmQuZmxvb3IgPSBTdHJpbmcoCiAgICAvLyAgICAgICB2YWwuZGV2aWNlVmlkZW9Qb2ludEV4dGVuZC5mbG9vcgogICAgLy8gICAgICkKICAgIC8vICAgfQogICAgLy8gfSwKICAgIGNsb3NlRm9ybURpYW86IGZ1bmN0aW9uIGNsb3NlRm9ybURpYW8oKSB7CiAgICAgIHRoaXMucGFyYW1zID0gewogICAgICAgIG5hbWU6ICcnLAogICAgICAgIGNvZGU6ICcnLAogICAgICAgIGlwOiAnJywKICAgICAgICBhaXNsZTogJycsCiAgICAgICAgbGd0ZDogJycsCiAgICAgICAgbHR0ZDogJycsCiAgICAgICAgc3RhdHVzOiAnMScsCiAgICAgICAgYWRkcmVzczogJycsCiAgICAgICAgaW1wb3J0YW50OiAnJywKICAgICAgICB6b25lQ29kZTogJycKICAgICAgICAvLyBkZXZpY2VWaWRlb1BvaW50RXh0ZW5kOiB7CiAgICAgICAgLy8gCWFkZHJlc3NUeXBlOiAnJywKICAgICAgICAvLyAJYWRkdmNkOiAnJywKICAgICAgICAvLyAJYXJlYUlkOiAnJywKICAgICAgICAvLyAJYXJlYWNvZGU6ICcnLAogICAgICAgIC8vIAlhcmVhTmFtZTogJycsCiAgICAgICAgLy8gCWZsb29yOiAnJywKICAgICAgICAvLyAJZ2lzQXJlYTogJycsCiAgICAgICAgLy8gCWljb246ICcnLAogICAgICAgIC8vIAltYW5hZ2VyQ29tcGFueUlkOiAnJywKICAgICAgICAvLyAJbWFuYWdlclVzZXJJZDogJycsCiAgICAgICAgLy8gCXJlcGFpckNvbXBhbnlJZDogJycsCiAgICAgICAgLy8gCXJlcGFpclVzZXJJZDogJycsCiAgICAgICAgLy8gCXN1cHBsaWVyQ29tcGFueUlkOiAnJywKICAgICAgICAvLyAJdHlwZTogJycsCiAgICAgICAgLy8gCWNvZGU6ICcnLAogICAgICAgIC8vIAllbGVjdHJpY2l0eVR5cGU6ICcnCiAgICAgICAgLy8gfQogICAgICB9OwogICAgICB0aGlzLiRyZWZzLmZvcm1JbmZvICYmIHRoaXMuJHJlZnMuZm9ybUluZm8uY2xlYXJWYWxpZGF0ZSgpOwogICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSBmYWxzZTsKICAgICAgdGhpcy5Qb2ludEV4dGVuZFNob3cgPSBmYWxzZTsKICAgICAgdGhpcy5hY3RpdmVDb2xsYXBzZSA9IFsnMScsICcyJ107CiAgICB9LAogICAgYWRkOiBmdW5jdGlvbiBhZGQocGRhdGEpIHsKICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZTsKICAgICAgdGhpcy5zaG93VHlwZSA9ICdhZGQnOwogICAgICB0aGlzLnRpdGxlID0gJ+aWsOWinic7CiAgICAgIHRoaXMucGFyYW1zLnpvbmVDb2RlID0gcGRhdGEuem9uZUNvZGU7CiAgICAgIHRoaXMucGFyYW1zLnBsYXRmb3JtID0gcGRhdGEucGxhdGZvcm07CiAgICAgIHRoaXMucGFyYW1zLmNhdGFsb2dDb2RlID0gcGRhdGEuY2F0YWxvZ0NvZGU7CiAgICAgIHRoaXMuJHJlZnMuZm9ybUluZm8gJiYgdGhpcy4kcmVmcy5mb3JtSW5mby5jbGVhclZhbGlkYXRlKCk7CiAgICB9CiAgfQp9Ow=="},null]}