{"remainingRequest":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\operationalMonitoring\\shiftInformationManagement\\components\\workUserContent.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\operationalMonitoring\\shiftInformationManagement\\components\\workUserContent.vue","mtime":1743538141496},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\babel.config.js","mtime":1741314102158},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuam9pbi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi5zdHJpbmdpZnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuZm9yLWVhY2guanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JzsKaW1wb3J0IHN0b3JlIGZyb20gJ0Avc3RvcmUvbG9naW4nOwppbXBvcnQgeyBUYWJsZU1peGluIH0gZnJvbSAnQC9taXhpbnMvdGFibGVNaXhpbic7CmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JzsKCi8vIGltcG9ydCB1dGlscyBmcm9tICdAL3V0aWxzLmpzJwoKZXhwb3J0IGRlZmF1bHQgewogIG1peGluczogW1RhYmxlTWl4aW5dLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBsb2FkaW5nQ2FsZW5kYXI6IGZhbHNlLAogICAgICB2aWV3RGF0ZToge30sCiAgICAgIHdvcmtlcjogW10sCiAgICAgIGRpc2FibGVkRGV0aWxzOiBmYWxzZSwKICAgICAgY3VycmVudFBhZ2U6IDEsCiAgICAgIHRhYmxlTWF4SGVpZ2h0OiA0MDAsCiAgICAgIGxvYWRpbmc6IGZhbHNlLAogICAgICB0YWJsZUxvYWRpbmc6IGZhbHNlLAogICAgICB0YWJsZURhdGE6IFtdLAogICAgICBtdWx0aXBsZVNlbGVjdGlvbjogW10sCiAgICAgIHBhcmFtczogewogICAgICAgIHBhZ2VCZWFuOiB7CiAgICAgICAgICBwYWdlOiAxLAogICAgICAgICAgcGFnZVNpemU6IDIwLAogICAgICAgICAgdG90YWw6IDAKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHNlYXJjaEZvcm06IHsKICAgICAgICB0b2xsU3RhdGlvbklkOiAnJwogICAgICB9LAogICAgICAvLyDpobbpg6jmkJzntKLlr7nosaEKICAgICAgZGVsZXRlSWRzOiAnJywKICAgICAgLy8g5piv5ZCm6YCJ5Lit5YiX6KGo6Kej6ZSB5Yig6Zmk5oyJ6ZKuCiAgICAgIGRpYWxvZzogewogICAgICAgIHRpdGxlOiAn5re75YqgJywKICAgICAgICB2aXNpYmxlOiBmYWxzZQogICAgICB9LAogICAgICBhbGxEYXRhOiB7CiAgICAgICAgcGFnZUJlYW46IHsKICAgICAgICAgIHBhZ2U6IDEsCiAgICAgICAgICBwYWdlU2l6ZTogLTEsCiAgICAgICAgICB0b3RhbDogMAogICAgICAgIH0KICAgICAgfSwKICAgICAgZGlhbG9nRm9ybToge30sCiAgICAgIGRpc2FibGVkOiBmYWxzZSwKICAgICAgLy8g5piv5ZCm56aB5q2i6L6T5YWl6L6T5YWlCiAgICAgIGVkaXQ6IGZhbHNlLAogICAgICAvLyDmmK/lkKbmmK/kv67mlLnlip/og70KICAgICAgcnVsZXM6IHsKICAgICAgICByYW5rSWQ6IHsKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeePreenjScsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9LAogICAgICAgIHVzZXJJZDogewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36Iez5bCR6YCJ5oup5LiA5ZCN5Lq65ZGYJywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH0sCiAgICAgICAgcmVzcG9uc0lkOiB7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fpgInmi6notJ/otKPkuronLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfSwKICAgICAgICByYW5rRGF0ZTogewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36Iez5bCR6YCJ5oup5LiA5aSpJywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH0KICAgICAgfSwKICAgICAgcGFpYmFuZGF5OiAnJywKICAgICAgdG9sbFN0YXRpb25EYXRhOiBbXSwKICAgICAgY2hvb3NlVG9sbFN0YXRpb246IHsKICAgICAgICBpZDogJycsCiAgICAgICAgbmFtZTogJycKICAgICAgfSwKICAgICAgcmFua0RhdGE6IFtdLAogICAgICBUb2xsU3RhdGlvblJhbmtEYXRhOiBbXSwKICAgICAgZGF0ZXM6IFtdLAogICAgICBpc3RvbmdidWNob29zZTogZmFsc2UsCiAgICAgIGFkZERhdGE6IFtdLAogICAgICBzaG93TW9udGg6IG1vbWVudCgpLmZvcm1hdCgnWVlZWS1NTS1ERCcpLAogICAgICBjYWxlbmRhclZhbHVlOiBuZXcgRGF0ZSgpLAogICAgICBmaXJzdERheTogJycsCiAgICAgIGRpYWxvZ1Zpc2libGVJbXBvcnQ6IGZhbHNlLAogICAgICBpbXBvcnRQYXJhbXM6IHsKICAgICAgICB0b2xsU3RhdGlvbklkOiAnJwogICAgICB9CiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICB0aGlzLmxvYWRUb2xsU3RhdGlvbigpOwogICAgdGhpcy5sb2FkV29ya0dyb3VwKHRoaXMuY2hvb3NlVG9sbFN0YXRpb24uaWQpOwogICAgdGhpcy5sb2FkTW9udGhEYXRhKCk7CiAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgIC8vIOeCueWHu+WJjeS4gOS4quaciAogICAgICB2YXIgcHJldkJ0biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5lbC1jYWxlbmRhcl9fYnV0dG9uLWdyb3VwIC5lbC1idXR0b24tZ3JvdXA+YnV0dG9uOm50aC1jaGlsZCgxKScpOwogICAgICBwcmV2QnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICBfdGhpcy5zaG93TW9udGggPSBtb21lbnQoX3RoaXMuY2FsZW5kYXJWYWx1ZSkuZm9ybWF0KCdZWVlZLU1NLUREJyk7CiAgICAgICAgX3RoaXMubG9hZE1vbnRoRGF0YSgpOwogICAgICB9KTsKCiAgICAgIC8vIOeCueWHu+S4i+S4gOS4quaciAogICAgICB2YXIgbmV4dEJ0biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5lbC1jYWxlbmRhcl9fYnV0dG9uLWdyb3VwIC5lbC1idXR0b24tZ3JvdXA+YnV0dG9uOm50aC1jaGlsZCgzKScpOwogICAgICBuZXh0QnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICBfdGhpcy5zaG93TW9udGggPSBtb21lbnQoX3RoaXMuY2FsZW5kYXJWYWx1ZSkuZm9ybWF0KCdZWVlZLU1NLUREJyk7CiAgICAgICAgX3RoaXMubG9hZE1vbnRoRGF0YSgpOwogICAgICB9KTsKICAgIH0pOwogIH0sCiAgY29tcHV0ZWQ6IG1hcFN0YXRlKHsKICAgIGhlYWRlcnM6IGZ1bmN0aW9uIGhlYWRlcnMoKSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgQXV0aG9yaXphdGlvbjogIkJlYXJlciAiLmNvbmNhdChzdG9yZS5zdGF0ZS5jdXJyZW50VXNlci50b2tlbikKICAgICAgfTsKICAgIH0sCiAgICBhY3Rpb25Vcmw6IGZ1bmN0aW9uIGFjdGlvblVybCgpIHsKICAgICAgcmV0dXJuIHdpbmRvdy5jb250ZXh0LnBvcnRhbCArICcvYml6UmFua1VzZXIvdjEvaW1wb3J0JzsKICAgIH0KICB9KSwKICBtZXRob2RzOiB7CiAgICBjaGFuZ2VVc2VyOiBmdW5jdGlvbiBjaGFuZ2VVc2VyKHZhbHVlLCB0eXBlKSB7CiAgICAgIGlmICh0eXBlID09ICd1c2VyTmFtZScpIHsKICAgICAgICB0aGlzLmRpYWxvZ0Zvcm1bdHlwZV0gPSBbXTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMud29ya2VyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHZhbHVlLmxlbmd0aDsgaisrKSB7CiAgICAgICAgICAgIGlmICh0aGlzLndvcmtlcltpXS5pZCA9PSB2YWx1ZVtqXSkgewogICAgICAgICAgICAgIHRoaXMuZGlhbG9nRm9ybVt0eXBlXS5wdXNoKHRoaXMud29ya2VyW2ldLmZ1bGxuYW1lKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmRpYWxvZ0Zvcm1bdHlwZV0gPSAnJzsKICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgdGhpcy53b3JrZXIubGVuZ3RoOyBfaSsrKSB7CiAgICAgICAgICBpZiAodGhpcy53b3JrZXJbX2ldLmlkID09IHZhbHVlKSB7CiAgICAgICAgICAgIHRoaXMuZGlhbG9nRm9ybVt0eXBlXSA9IHRoaXMud29ya2VyW19pXS5mdWxsbmFtZTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBjaGFuZ2VUb2xsU3RhdGlvbjogZnVuY3Rpb24gY2hhbmdlVG9sbFN0YXRpb24oaWQpIHsKICAgICAgdGhpcy5pbXBvcnRQYXJhbXMudG9sbFN0YXRpb25JZCA9IGlkOwogICAgICB0aGlzLmNob29zZVRvbGxTdGF0aW9uLmlkID0gaWQ7CiAgICAgIHRoaXMuc2VhcmNoRm9ybS5yYW5rSWQgPSAnJzsKICAgICAgdmFyIG9iaiA9IFtdOwogICAgICB0aGlzLlRvbGxTdGF0aW9uUmFua0RhdGEgPSBbXTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnJhbmtEYXRhLmxlbmd0aDsgaSsrKSBpZiAodGhpcy5yYW5rRGF0YVtpXS50b2xsU3RhdGlvbklkID09IHRoaXMuY2hvb3NlVG9sbFN0YXRpb24uaWQpIHsKICAgICAgICBvYmogPSB7CiAgICAgICAgICBpZDogdGhpcy5yYW5rRGF0YVtpXS5pZCwKICAgICAgICAgIG5hbWU6IHRoaXMucmFua0RhdGFbaV0ubmFtZSwKICAgICAgICAgIGNvbG9yOiB0aGlzLnJhbmtEYXRhW2ldLm1hcmtDb2xvciwKICAgICAgICAgIHRvbGxTdGF0aW9uSWQ6IHRoaXMucmFua0RhdGFbaV0udG9sbFN0YXRpb25JZAogICAgICAgIH07CiAgICAgICAgdGhpcy5Ub2xsU3RhdGlvblJhbmtEYXRhLnB1c2gob2JqKTsKICAgICAgfQogICAgfSwKICAgIGdldFRvbmdidTogZnVuY3Rpb24gZ2V0VG9uZ2J1KCkgewogICAgICBpZiAodGhpcy5pc3RvbmdidWNob29zZSA9PSBmYWxzZSkgewogICAgICAgIHRoaXMuZGlhbG9nRm9ybS5yYW5rRGF0ZS5sZW5ndGggPSAwOwogICAgICAgIHRoaXMuZGlhbG9nRm9ybS5yYW5rRGF0ZS5wdXNoKHRoaXMucGFpYmFuZGF5KTsKICAgICAgfQogICAgfSwKICAgIC8vIOiOt+WPluaUtui0ueermeS4i+S6uuWRmAogICAgbG9hZFdvcmtlcjogZnVuY3Rpb24gbG9hZFdvcmtlcihpZCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgdmFyIHF1ZXJ5cyA9IFtdOwogICAgICBxdWVyeXMucHVzaCh7CiAgICAgICAgZ3JvdXA6ICdtYWluJywKICAgICAgICBvcGVyYXRpb246ICdFUVVBTCcsCiAgICAgICAgcGFyZW50R3JvdXA6ICcnLAogICAgICAgIHByb3BlcnR5OiAnc3RhdGlvbl9pZF8nLAogICAgICAgIHJlbGF0aW9uOiAnQU5EJywKICAgICAgICB2YWx1ZTogaWQKICAgICAgfSk7CiAgICAgIHRoaXMucGFyYW1zLnBhZ2VCZWFuID0gdGhpcy5hbGxEYXRhLnBhZ2VCZWFuOwogICAgICB0aGlzLnBhcmFtcy5xdWVyeXMgPSBxdWVyeXM7CiAgICAgIHRvbGxTdGF0aW9uTWFuYWdlbWVudC5xdWVyeVdvcmtlcih0aGlzLnBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMyLndvcmtlciA9IHJlcy5yb3dzOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDojrflj5bnj63np43mlbDmja4KICAgIGxvYWRXb3JrR3JvdXA6IGZ1bmN0aW9uIGxvYWRXb3JrR3JvdXAoKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwogICAgICB3b3JrR3JvdXBDb250ZW50LnF1ZXJ5V29ya0dyb3VwKHRoaXMuYWxsRGF0YSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgdmFyIG9iaiA9IFtdOwogICAgICAgIF90aGlzMy5yYW5rRGF0YSA9IHJlcy5kYXRhLnJvd3M7CiAgICAgICAgaWYgKF90aGlzMy5jaG9vc2VUb2xsU3RhdGlvbi5pZCkgewogICAgICAgICAgX3RoaXMzLlRvbGxTdGF0aW9uUmFua0RhdGEgPSBbXTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgX3RoaXMzLnJhbmtEYXRhLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChfdGhpczMucmFua0RhdGFbaV0udG9sbFN0YXRpb25JZCA9PSBfdGhpczMuY2hvb3NlVG9sbFN0YXRpb24uaWQpIHsKICAgICAgICAgICAgICBvYmogPSB7CiAgICAgICAgICAgICAgICBpZDogX3RoaXMzLnJhbmtEYXRhW2ldLmlkLAogICAgICAgICAgICAgICAgbmFtZTogX3RoaXMzLnJhbmtEYXRhW2ldLm5hbWUsCiAgICAgICAgICAgICAgICBjb2xvcjogX3RoaXMzLnJhbmtEYXRhW2ldLm1hcmtDb2xvciwKICAgICAgICAgICAgICAgIHRvbGxTdGF0aW9uSWQ6IF90aGlzMy5yYW5rRGF0YVtpXS50b2xsU3RhdGlvbklkCiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBfdGhpczMuVG9sbFN0YXRpb25SYW5rRGF0YS5wdXNoKG9iaik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOiOt+WPluaUtui0ueermeaVsOaNrgogICAgbG9hZFRvbGxTdGF0aW9uOiBmdW5jdGlvbiBsb2FkVG9sbFN0YXRpb24oKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICB0b2xsU3RhdGlvbk1hbmFnZW1lbnQucXVlcnlUb2xsU3RhdGlvbih0aGlzLmFsbERhdGEpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIHZhciBvYmogPSBbXTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcy5kYXRhLnJvd3MubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIG9iaiA9IHsKICAgICAgICAgICAgaWQ6IHJlcy5kYXRhLnJvd3NbaV0uaWQsCiAgICAgICAgICAgIG5hbWU6IHJlcy5kYXRhLnJvd3NbaV0ubmFtZQogICAgICAgICAgfTsKICAgICAgICAgIF90aGlzNC50b2xsU3RhdGlvbkRhdGEucHVzaChvYmopOwogICAgICAgIH0KICAgICAgICBfdGhpczQuc2VhcmNoRm9ybS50b2xsU3RhdGlvbklkID0gcmVzLmRhdGEucm93c1swXS5pZDsKICAgICAgICBfdGhpczQuY2hvb3NlVG9sbFN0YXRpb24uaWQgPSByZXMuZGF0YS5yb3dzWzBdLmlkOwogICAgICAgIF90aGlzNC5sb2FkV29ya2VyKHJlcy5kYXRhLnJvd3NbMF0uaWQpOwogICAgICAgIF90aGlzNC5sb2FkTW9udGhEYXRhKCk7CiAgICAgICAgLy8g5Yid5aeL6K+d5LiK5Lyg55qE5pS26LS556uZaWQKICAgICAgICBfdGhpczQuaW1wb3J0UGFyYW1zLnRvbGxTdGF0aW9uSWQgPSBfdGhpczQuc2VhcmNoRm9ybS50b2xsU3RhdGlvbklkOwogICAgICB9KTsKICAgIH0sCiAgICAvL+iOt+WPluaOkuePreaVsOaNrgogICAgLy8gbG9hZERhdGEoKSB7CiAgICAvLyAgIHRoaXMubG9hZGluZ0NhbGVuZGFyID0gdHJ1ZQogICAgLy8gICB0aGlzLnZpZXdEYXRlID0ge30KICAgIC8vICAgd29ya1VzZXJDb250ZW50LnF1ZXJ5V29ya1VzZXIodGhpcy5hbGxEYXRhKS50aGVuKChyZXMpID0+IHsKICAgIC8vICAgICBsZXQgd29ya0RhdGEgPSByZXMuZGF0YS5yb3dzCiAgICAvLyAgICAgd29ya0RhdGEuZm9yRWFjaCgoaXRlbSkgPT4gewogICAgLy8gICAgICAgaWYgKHRoaXMudmlld0RhdGVbaXRlbS5yYW5rRGF0ZV0pIHsKICAgIC8vICAgICAgICAgdGhpcy52aWV3RGF0ZVtpdGVtLnJhbmtEYXRlXS5wdXNoKGl0ZW0pCiAgICAvLyAgICAgICB9IGVsc2UgewogICAgLy8gICAgICAgICB0aGlzLnZpZXdEYXRlW2l0ZW0ucmFua0RhdGVdID0gW2l0ZW1dCiAgICAvLyAgICAgICB9CiAgICAvLyAgICAgICB0aGlzLiRzZXQodGhpcy52aWV3RGF0ZSwgaXRlbS5yYW5rRGF0YSwgdGhpcy52aWV3RGF0ZVtpdGVtLnJhbmtEYXRlXSkKICAgIC8vICAgICB9KQogICAgLy8gICAgIHRoaXMubG9hZGluZ0NhbGVuZGFyID0gZmFsc2UKICAgIC8vICAgfSkKICAgIC8vIH0sCiAgICAvLyDojrflj5bmn5DmnIjmjpLnj63mlbDmja4KICAgIGxvYWRNb250aERhdGE6IGZ1bmN0aW9uIGxvYWRNb250aERhdGEoKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICB0aGlzLmxvYWRpbmdDYWxlbmRhciA9IHRydWU7CiAgICAgIHRoaXMudmlld0RhdGUgPSB7fTsKICAgICAgdmFyIG1vbnRoID0gcGFyc2VJbnQodGhpcy5zaG93TW9udGguc2xpY2UoNSwgNykpOwogICAgICB2YXIgeWVhciA9IHBhcnNlSW50KHRoaXMuc2hvd01vbnRoLnNsaWNlKDAsIDQpKTsKICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCAtIDEpOwogICAgICB2YXIgeSA9IGRhdGUuZ2V0RnVsbFllYXIoKTsKICAgICAgdmFyIG0gPSBkYXRlLmdldE1vbnRoKCkgKyAxOwogICAgICBtID0gbSA8IDEwID8gJzAnICsgbSA6IG07CiAgICAgIGRhdGUuc2V0RGF0ZSgxKTsKICAgICAgdGhpcy5maXJzdERheSA9IGRhdGUuZ2V0RGF0ZSgpOwogICAgICB0aGlzLmZpcnN0RGF5ID0gdGhpcy5maXJzdERheSA8IDEwID8gJzAnICsgdGhpcy5maXJzdERheSA6IHRoaXMuZmlyc3REYXk7CiAgICAgIHRoaXMuZmlyc3RkYXkgPSBbeSwgbSwgdGhpcy5maXJzdERheV0uam9pbignLScpOwogICAgICBpZiAodGhpcy5zZWFyY2hGb3JtLnJhbmtJZCkgewogICAgICAgIHdvcmtVc2VyQ29udGVudC5xdWVyeU1vbnRoV29ya1VzZXIodGhpcy5maXJzdGRheSwgdGhpcy5jaG9vc2VUb2xsU3RhdGlvbi5pZCwgdGhpcy5zZWFyY2hGb3JtLnJhbmtJZCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICB2YXIgd29ya0RhdGEgPSByZXMuZGF0YTsKICAgICAgICAgIF90aGlzNS52aWV3RGF0ZSA9IHt9OwogICAgICAgICAgd29ya0RhdGEuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICBpZiAoX3RoaXM1LnZpZXdEYXRlW2l0ZW0ucmFua0RhdGVdKSB7CiAgICAgICAgICAgICAgX3RoaXM1LnZpZXdEYXRlW2l0ZW0ucmFua0RhdGVdLnB1c2goaXRlbSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgX3RoaXM1LnZpZXdEYXRlW2l0ZW0ucmFua0RhdGVdID0gW2l0ZW1dOwogICAgICAgICAgICB9CiAgICAgICAgICAgIF90aGlzNS4kc2V0KF90aGlzNS52aWV3RGF0ZSwgaXRlbS5yYW5rRGF0YSwgX3RoaXM1LnZpZXdEYXRlW2l0ZW0ucmFua0RhdGVdKTsKICAgICAgICAgIH0pOwogICAgICAgICAgX3RoaXM1LmxvYWRpbmdDYWxlbmRhciA9IGZhbHNlOwogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIHdvcmtVc2VyQ29udGVudC5xdWVyeU1vbnRoV29ya1VzZXIodGhpcy5maXJzdGRheSwgdGhpcy5jaG9vc2VUb2xsU3RhdGlvbi5pZCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICB2YXIgd29ya0RhdGEgPSByZXMuZGF0YTsKICAgICAgICAgIHdvcmtEYXRhLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgaWYgKF90aGlzNS52aWV3RGF0ZVtpdGVtLnJhbmtEYXRlXSkgewogICAgICAgICAgICAgIF90aGlzNS52aWV3RGF0ZVtpdGVtLnJhbmtEYXRlXS5wdXNoKGl0ZW0pOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIF90aGlzNS52aWV3RGF0ZVtpdGVtLnJhbmtEYXRlXSA9IFtpdGVtXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBfdGhpczUuJHNldChfdGhpczUudmlld0RhdGUsIGl0ZW0ucmFua0RhdGEsIF90aGlzNS52aWV3RGF0ZVtpdGVtLnJhbmtEYXRlXSk7CiAgICAgICAgICB9KTsKICAgICAgICAgIF90aGlzNS5sb2FkaW5nQ2FsZW5kYXIgPSBmYWxzZTsKICAgICAgICB9KTsKICAgICAgfQogICAgfSwKICAgIC8v5re75YqgCiAgICBoYW5kbGVBZGQ6IGZ1bmN0aW9uIGhhbmRsZUFkZChkYXkpIHsKICAgICAgdGhpcy5pc3RvbmdidWNob29zZSA9IGZhbHNlOwogICAgICB0aGlzLnBhaWJhbmRheSA9IGRheS5kYXk7CiAgICAgIHZhciBtb250aCA9IHBhcnNlSW50KHRoaXMucGFpYmFuZGF5LnNsaWNlKDUsIDcpKTsKICAgICAgdmFyIHllYXIgPSBwYXJzZUludCh0aGlzLnBhaWJhbmRheS5zbGljZSgwLCA0KSk7CiAgICAgIHRoaXMuZ2V0RGF0ZXMoeWVhciwgbW9udGgpOwogICAgICB0aGlzLmVkaXQgPSBmYWxzZTsKICAgICAgdGhpcy5kaXNhYmxlZERldGlscyA9IGZhbHNlOwogICAgICB0aGlzLmRpYWxvZ0Zvcm0gPSB7CiAgICAgICAgdG9sbFN0YXRpb25JZDogdGhpcy5jaG9vc2VUb2xsU3RhdGlvbi5pZCwKICAgICAgICByYW5rRGF0ZTogW10sCiAgICAgICAgdXNlck5hbWU6IFtdLAogICAgICAgIHJlc3BvbnNOYW1lOiAnJwogICAgICB9OwogICAgICB0aGlzLmRpYWxvZ0Zvcm0ucmFua0RhdGUucHVzaCh0aGlzLnBhaWJhbmRheSk7CiAgICAgIHRoaXMuZGlhbG9nLnRpdGxlID0gJ+a3u+WKoCc7CiAgICAgIHRoaXMuZGlhbG9nLnZpc2libGUgPSB0cnVlOwogICAgfSwKICAgIC8vIOe8lui+kQogICAgaGFuZGxlRWRpdDogZnVuY3Rpb24gaGFuZGxlRWRpdChyb3dzLCBkYXkpIHsKICAgICAgdGhpcy5pc3RvbmdidWNob29zZSA9IGZhbHNlOwogICAgICB0aGlzLiRyZWZzLmZvcm0uY2xlYXJWYWxpZGF0ZSgpOwogICAgICB0aGlzLmVkaXQgPSB0cnVlOwogICAgICB0aGlzLmRpc2FibGVkRGV0aWxzID0gZmFsc2U7CiAgICAgIHZhciBvYmogPSB1dGlscy5kZWVwQ2xvbmUocm93cyk7CiAgICAgIC8vIGxldCBvYmogPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJvd3MpKQogICAgICB0aGlzLnBhaWJhbmRheSA9IGRheTsKICAgICAgb2JqLnVzZXJOYW1lID0gb2JqLnVzZXJOYW1lLnNwbGl0KCfjgIEnKTsKICAgICAgb2JqLnVzZXJJZCA9IG9iai51c2VySWQuc3BsaXQoJ+OAgScpOwogICAgICBvYmoucmFua0RhdGUgPSBbdGhpcy5wYWliYW5kYXldOwogICAgICB2YXIgbW9udGggPSBwYXJzZUludCh0aGlzLnBhaWJhbmRheS5zbGljZSg1LCA3KSk7CiAgICAgIHZhciB5ZWFyID0gcGFyc2VJbnQodGhpcy5wYWliYW5kYXkuc2xpY2UoMCwgNCkpOwogICAgICB0aGlzLmdldERhdGVzKHllYXIsIG1vbnRoKTsKICAgICAgdGhpcy5kaWFsb2dGb3JtID0gX29iamVjdFNwcmVhZCh7fSwgb2JqKTsKICAgICAgdGhpcy5kaWFsb2cudGl0bGUgPSAn57yW6L6RJzsKICAgICAgdGhpcy5kaWFsb2cudmlzaWJsZSA9IHRydWU7CiAgICB9LAogICAgLy8g5by55bGC5YWz6ZetCiAgICBoYW5kbGVEaWFsb2dDbG9zZTogZnVuY3Rpb24gaGFuZGxlRGlhbG9nQ2xvc2UoKSB7CiAgICAgIHRoaXMuZGlhbG9nLnZpc2libGUgPSBmYWxzZTsKICAgICAgdGhpcy5pc3RvbmdidWNob29zZSA9IGZhbHNlOwogICAgfSwKICAgIC8vIOihqOWNleaPkOS6pOS/neWtmAogICAgc3VibWl0OiBmdW5jdGlvbiBzdWJtaXQoKSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICB0aGlzLiRyZWZzLmZvcm0udmFsaWRhdGUoZnVuY3Rpb24gKHZhbGlkKSB7CiAgICAgICAgX3RoaXM2LmlzdG9uZ2J1Y2hvb3NlID0gZmFsc2U7CiAgICAgICAgX3RoaXM2LmRpYWxvZ0Zvcm0udXNlck5hbWUgPSBfdGhpczYuZGlhbG9nRm9ybS51c2VyTmFtZS5qb2luKCfjgIEnKTsKICAgICAgICBfdGhpczYuZGlhbG9nRm9ybS51c2VySWQgPSBfdGhpczYuZGlhbG9nRm9ybS51c2VySWQuam9pbign44CBJyk7CiAgICAgICAgdmFyIHJhbmtEYXRlID0gJyc7CiAgICAgICAgcmFua0RhdGUgPSBfdGhpczYuZGlhbG9nRm9ybS5yYW5rRGF0ZTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IF90aGlzNi5yYW5rRGF0YS5sZW5ndGg7IGkrKykgewogICAgICAgICAgaWYgKF90aGlzNi5kaWFsb2dGb3JtLnJhbmtJZCA9PSBfdGhpczYucmFua0RhdGFbaV0uaWQpIHsKICAgICAgICAgICAgX3RoaXM2LmRpYWxvZ0Zvcm0ucmFua05hbWUgPSBfdGhpczYucmFua0RhdGFbaV0ubmFtZTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgX3RoaXM2LmRpYWxvZ0Zvcm0ucmFua0RhdGUgPSAnJzsKICAgICAgICBmb3IgKHZhciBfaTIgPSAwOyBfaTIgPCByYW5rRGF0ZS5sZW5ndGg7IF9pMisrKSB7CiAgICAgICAgICBfdGhpczYuZGlhbG9nRm9ybS5yYW5rRGF0ZSA9IHJhbmtEYXRlW19pMl07CiAgICAgICAgICBfdGhpczYuYWRkRGF0YVtfaTJdID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfdGhpczYuZGlhbG9nRm9ybSkpOwogICAgICAgIH0KICAgICAgICBmb3IgKHZhciBfaTMgPSAwOyBfaTMgPCBfdGhpczYuYWRkRGF0YS5sZW5ndGg7IF9pMysrKSB7CiAgICAgICAgICBpZiAoX3RoaXM2LmFkZERhdGFbX2kzXS5yYW5rRGF0ZSAhPT0gX3RoaXM2LnBhaWJhbmRheSkgewogICAgICAgICAgICBkZWxldGUgX3RoaXM2LmFkZERhdGFbX2kzXS5pZDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICBfdGhpczYubG9hZGluZyA9IHRydWU7CiAgICAgICAgICB3b3JrVXNlckNvbnRlbnQuYmF0Y2hBZGQoX3RoaXM2LmFkZERhdGEpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICBpZiAocmVzLmRhdGEuc3RhdGUpIHsKICAgICAgICAgICAgICBfdGhpczYuZGlhbG9nLnZpc2libGUgPSBmYWxzZTsKICAgICAgICAgICAgICBfdGhpczYubG9hZE1vbnRoRGF0YSgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghcmVzLmVycm9yTXNnKSB7CiAgICAgICAgICAgICAgX3RoaXM2LiRtZXNzYWdlKHsKICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICFfdGhpczYuZWRpdCA/ICfmt7vliqDmiJDlip8nIDogJ+S/ruaUueaIkOWKnycsCiAgICAgICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICBfdGhpczYuZWRpdFZpc2libGUgPSBmYWxzZTsKICAgICAgICAgICAgICBfdGhpczYuJHJlZnMuZm9ybS5yZXNldEZpZWxkcygpOwogICAgICAgICAgICAgIF90aGlzNi5kaWFsb2dGb3JtID0ge307CiAgICAgICAgICAgICAgX3RoaXM2LmFkZERhdGEgPSBbXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBfdGhpczYubG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICBfdGhpczYubG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOihqOWNleWPlua2iAogICAgY2FuY2VsOiBmdW5jdGlvbiBjYW5jZWwoKSB7CiAgICAgIHRoaXMuZGlhbG9nLnZpc2libGUgPSBmYWxzZTsKICAgICAgdGhpcy5pc3RvbmdidWNob29zZSA9IGZhbHNlOwogICAgfSwKICAgIC8vIOiOt+WPluW9k+WJjeaciOeahOaXpeacnwogICAgZ2V0RGF0ZXM6IGZ1bmN0aW9uIGdldERhdGVzKHllYXIsIG1vbnRoKSB7CiAgICAgIHRoaXMuZGF0ZXMgPSBbXTsKICAgICAgdmFyIGN1cnJlbnRNb250aERheXMgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMCkuZ2V0RGF0ZSgpOwogICAgICB2YXIgd2Vla0xpc3QgPSBbJ+aYn+acn+aXpScsICfmmJ/mnJ/kuIAnLCAn5pif5pyf5LqMJywgJ+aYn+acn+S4iScsICfmmJ/mnJ/lm5snLCAn5pif5pyf5LqUJywgJ+aYn+acn+WFrSddOwogICAgICB2YXIgc3RhcnREYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCAxKTsKCiAgICAgIC8vIGZvciAodmFyIGkgPSBzdGFydERhdGUuZ2V0RGF0ZSgpOyBpIDw9IGVuZERhdGUuZ2V0RGF0ZSgpOyBpKyspIHsKICAgICAgLy8gICBkYXRlcy5wdXNoKG5ldyBEYXRlKHllYXIsIG1vbnRoIC0gMSwgaSkpCiAgICAgIC8vIH0KICAgICAgZm9yICh2YXIgZGF5ID0gMTsgZGF5IDw9IGN1cnJlbnRNb250aERheXM7IGRheSsrKSB7CiAgICAgICAgLy8g5oiq6Iez5b2T5YmN5pel5pyf5Li65q2iCiAgICAgICAgLy8g5bm05pyI5pelKHl5eXktTU0tZGQpCgogICAgICAgIHRoaXMuZGF0ZXMucHVzaCh7CiAgICAgICAgICBkYXk6IHllYXIgKyAnLScgKyAobW9udGggPCAxMCA/ICcwJyArIG1vbnRoIDogbW9udGgpICsgJy0nICsgKGRheSA8IDEwID8gJzAnICsgZGF5IDogZGF5KSwKICAgICAgICAgIHdlZWs6IHdlZWtMaXN0W25ldyBEYXRlKHN0YXJ0RGF0ZS5zZXREYXRlKGRheSkpLmdldERheSgpXQogICAgICAgIH0pOwogICAgICB9CiAgICB9LAogICAgLy8g6YeN572uCiAgICBjbGVhclNlYXJjaEZvcm06IGZ1bmN0aW9uIGNsZWFyU2VhcmNoRm9ybSgpIHsKICAgICAgdGhpcy5hZHZhbmNlZCgpOwogICAgICB0aGlzLmlzQWR2YW5jZWQgPSBmYWxzZTsKICAgICAgdGhpcy5zZWFyY2hGb3JtLnJhbmtJZCA9ICcnOwogICAgICB0aGlzLmhhbmRsZVNlYXJjaCgpOwogICAgfSwKICAgIC8vIOmhtumDqOaQnOe0ogogICAgaGFuZGxlU2VhcmNoOiBmdW5jdGlvbiBoYW5kbGVTZWFyY2goKSB7CiAgICAgIHRoaXMubG9hZFdvcmtlcih0aGlzLmNob29zZVRvbGxTdGF0aW9uLmlkKTsKICAgICAgdGhpcy5sb2FkTW9udGhEYXRhKCk7CiAgICB9LAogICAgaGFuZGxlRGVsZXRlOiBmdW5jdGlvbiBoYW5kbGVEZWxldGUoaWQpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CiAgICAgIHRoaXMuJGNvbmZpcm0odGhpcy4kdCgnY29tbW9uLnN1cmVEZWxldGUnKSwgdGhpcy4kdCgnY29tbW9uLnRpcHMnKSwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiB0aGlzLiR0KCdjb21tb24uY29uZmlybScpLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IHRoaXMuJHQoJ2NvbW1vbi5jYW5jZWwnKSwKICAgICAgICB0eXBlOiAnd2FybmluZycKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgd29ya1VzZXJDb250ZW50LmRlbGV0ZU9uZShpZCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICBfdGhpczcubG9hZE1vbnRoRGF0YSgpOwogICAgICAgICAgaWYgKCFyZXMuZXJyb3JNc2cpIHsKICAgICAgICAgICAgX3RoaXM3LiRtZXNzYWdlKHsKICAgICAgICAgICAgICBtZXNzYWdlOiAn5Yig6Zmk5oiQ5YqfJywKICAgICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOS4i+i9vQogICAgZG93bmxvYWQ6IGZ1bmN0aW9uIGRvd25sb2FkKCkgewogICAgICB2YXIgcG9ydCA9ICc6JyArIHdpbmRvdy5sb2NhdGlvbi5wb3J0ID8gJzonICsgd2luZG93LmxvY2F0aW9uLnBvcnQgOiAnJzsKICAgICAgdmFyIGJhc2VVUkwgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgKyAnLy8nICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lICsgcG9ydDsKICAgICAgd2luZG93Lm9wZW4oYmFzZVVSTCArICcvdGVtcEZpbGUv5o6S54+t5L+h5oGv5a+85YWl5qih5p2/LnhscycpOwogICAgfSwKICAgIC8vIOWvvOWFpQogICAgaGFuZGxlSW1wb3J0OiBmdW5jdGlvbiBoYW5kbGVJbXBvcnQoKSB7CiAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZUltcG9ydCA9IHRydWU7CiAgICB9LAogICAgaGFuZGxlQ2xvc2U6IGZ1bmN0aW9uIGhhbmRsZUNsb3NlKGRvbmUpIHsKICAgICAgZG9uZSgpOwogICAgfSwKICAgIC8vIOaWh+S7tuS4iuS8oOaIkOWKnwogICAgaW1wb3J0U3VjY2VzczogZnVuY3Rpb24gaW1wb3J0U3VjY2VzcyhyZXNwb25zZSwgZmlsZSwgZmlsZUxpc3QpIHsKICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlSW1wb3J0ID0gZmFsc2U7CiAgICB9LAogICAgaW1wb3J0RXJyb3I6IGZ1bmN0aW9uIGltcG9ydEVycm9yKGVycikgewogICAgICBjb25zb2xlLmxvZyhlcnIuRXJyb3IpOwogICAgICB2YXIgbWVzc2FnZSA9ICfkuIrkvKDlpLHotKXvvIzor7fph43or5XvvIEnOwogICAgICBpZiAoZXJyKSB7CiAgICAgICAgdmFyIGVycm9yID0gZXJyLnRvU3RyaW5nKCkucmVwbGFjZSgnRXJyb3I6ICcsICcnKTsgLy/ovazlrZfnrKbkuLIKICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UoZXJyb3IpOwogICAgICAgIG1lc3NhZ2UgPSBkYXRhLm1lc3NhZ2U7CiAgICAgIH0KICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihtZXNzYWdlKTsKICAgIH0KICB9Cn07"},null]}