9c0d592bdf65aed1392516ac979d746f.json 25 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\thread-loader\\dist\\cjs.js!D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js!D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\storeSeckill\\createMore.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\storeSeckill\\createMore.vue","mtime":1761614939041},{"path":"D:\\front\\item\\zyAdmin\\babel.config.js","mtime":1761614925168},{"path":"D:\\front\\item\\zyAdmin\\.babelrc","mtime":1761614925165},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1761614937017},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tICJEOi9mcm9udC9pdGVtL3p5QWRtaW4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2RlZmluZVByb3BlcnR5LmpzIjsKaW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICJEOi9mcm9udC9pdGVtL3p5QWRtaW4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5LmpzIjsKaW1wb3J0IF9yZWdlbmVyYXRvciBmcm9tICJEOi9mcm9udC9pdGVtL3p5QWRtaW4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yLmpzIjsKaW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L2Zyb250L2l0ZW0venlBZG1pbi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gIkQ6L2Zyb250L2l0ZW0venlBZG1pbi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcyI7CnZhciBfbWV0aG9kczsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmlsdGVyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNwbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZmlsdGVyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5zb21lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi5zdHJpbmdpZnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5udW1iZXIuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5pdGVyYXRvci5qcyI7CmltcG9ydCB7IG1hcFN0YXRlIH0gZnJvbSAndnVleCc7CmltcG9ydCBnb29kc0xpc3QgZnJvbSAnQC9jb21wb25lbnRzL2dvb2RzTGlzdC9pbmRleCc7CmltcG9ydCBXYW5nRWRpdG9yIGZyb20gJ0AvY29tcG9uZW50cy93YW5nRWRpdG9yL2luZGV4LnZ1ZSc7CmltcG9ydCB1cGxvYWRQaWN0dXJlcyBmcm9tICdAL2NvbXBvbmVudHMvdXBsb2FkUGljdHVyZXMnOwppbXBvcnQgeyBzZWNraWxsQWN0aXZpdHlJbmZvQXBpLCBzZWNraWxsQWN0aXZpdHlBZGRBcGksIHNlY2tpbGxUaW1lTGlzdEFwaSB9IGZyb20gJ0AvYXBpL21hcmtldGluZyc7CmltcG9ydCB7IHByb2R1Y3RHZXRUZW1wbGF0ZUFwaSB9IGZyb20gJ0AvYXBpL3Byb2R1Y3QnOwppbXBvcnQgZnJlaWdodFRlbXBsYXRlIGZyb20gJ0AvY29tcG9uZW50cy9mcmVpZ2h0VGVtcGxhdGUvaW5kZXgnOwppbXBvcnQgc3RlcHMgZnJvbSAnQC9jb21wb25lbnRzL3N0ZXBzL2luZGV4JzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdzdG9yZVNlY2tpbGxDcmVhdGUnLAogIGNvbXBvbmVudHM6IHsKICAgIGdvb2RzTGlzdDogZ29vZHNMaXN0LAogICAgdXBsb2FkUGljdHVyZXM6IHVwbG9hZFBpY3R1cmVzLAogICAgV2FuZ0VkaXRvcjogV2FuZ0VkaXRvciwKICAgIGZyZWlnaHRUZW1wbGF0ZTogZnJlaWdodFRlbXBsYXRlLAogICAgc3RlcHM6IHN0ZXBzCiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgc3RlcExpc3Q6IFsn5aGr5YaZ5Z+656GA5L+h5oGvJywgJ+mAieaLqeenkuadgOWVhuWTgSddLAogICAgICBzdWJtaXRPcGVuOiBmYWxzZSwKICAgICAgc3BpblNob3c6IGZhbHNlLAogICAgICBpc0Nob2ljZTogJycsCiAgICAgIGN1cnJlbnQ6IDAsCiAgICAgIG1vZGFsUGljOiBmYWxzZSwKICAgICAgZ3JpZDogewogICAgICAgIHhsOiAxMiwKICAgICAgICBsZzogMjAsCiAgICAgICAgbWQ6IDI0LAogICAgICAgIHNtOiAyNCwKICAgICAgICB4czogMjQKICAgICAgfSwKICAgICAgZ3JpZDI6IHsKICAgICAgICB4bDogOCwKICAgICAgICBsZzogMTIsCiAgICAgICAgbWQ6IDEyLAogICAgICAgIHNtOiAyNCwKICAgICAgICB4czogMjQKICAgICAgfSwKICAgICAgZ3JpZFBpYzogewogICAgICAgIHhsOiA2LAogICAgICAgIGxnOiA4LAogICAgICAgIG1kOiAxMiwKICAgICAgICBzbTogMTIsCiAgICAgICAgeHM6IDEyCiAgICAgIH0sCiAgICAgIGdyaWRCdG46IHsKICAgICAgICB4bDogNCwKICAgICAgICBsZzogOCwKICAgICAgICBtZDogOCwKICAgICAgICBzbTogOCwKICAgICAgICB4czogOAogICAgICB9LAogICAgICBteUNvbmZpZzogewogICAgICAgIGF1dG9IZWlnaHRFbmFibGVkOiBmYWxzZSwKICAgICAgICAvLyDnvJbovpHlmajkuI3oh6rliqjooqvlhoXlrrnmkpHpq5gKICAgICAgICBpbml0aWFsRnJhbWVIZWlnaHQ6IDUwMCwKICAgICAgICAvLyDliJ3lp4vlrrnlmajpq5jluqYKICAgICAgICBpbml0aWFsRnJhbWVXaWR0aDogJzEwMCUnLAogICAgICAgIC8vIOWIneWni+WuueWZqOWuveW6pgogICAgICAgIFVFRElUT1JfSE9NRV9VUkw6ICcvVUVkaXRvci8nLAogICAgICAgIHNlcnZlclVybDogJycKICAgICAgfSwKICAgICAgbW9kYWxzOiBmYWxzZSwKICAgICAgbW9kYWxfbG9hZGluZzogZmFsc2UsCiAgICAgIGltYWdlczogW10sCiAgICAgIGZvcm1WYWxpZGF0ZTogewogICAgICAgIHRpdGxlOiAnJywKICAgICAgICBzZWN0aW9uX3RpbWU6IFtdLAogICAgICAgIHRpbWVfaWRzOiBbXSwKICAgICAgICBudW06IDAsCiAgICAgICAgb25jZV9udW06IDAsCiAgICAgICAgc3RhdHVzOiAxLAogICAgICAgIHByb2R1Y3RfaW5mb3M6IFtdCiAgICAgIH0sCiAgICAgIGZvcm1CYXRjaDogewogICAgICAgIHByaWNlOiAnJywKICAgICAgICBxdW90YTogJycKICAgICAgfSwKICAgICAgdGVtcGxhdGVMaXN0OiBbXSwKICAgICAgdGltZUxpc3Q6IFtdLAogICAgICBjb2x1bW5zOiBbXSwKICAgICAgc3BlY3NEYXRhOiBbXSwKICAgICAgcGljVGl0OiAnJywKICAgICAgdGFibGVJbmRleDogMCwKICAgICAgcnVsZVZhbGlkYXRlOiB7CiAgICAgICAgaW1hZ2U6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fpgInmi6nkuLvlm74nLAogICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScKICAgICAgICB9XSwKICAgICAgICBpbWFnZXM6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIHR5cGU6ICdhcnJheScsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36YCJ5oup5Li75Zu+JywKICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnCiAgICAgICAgfSwgewogICAgICAgICAgdHlwZTogJ2FycmF5JywKICAgICAgICAgIG1pbjogMSwKICAgICAgICAgIG1lc3NhZ2U6ICdDaG9vc2UgdHdvIGhvYmJpZXMgYXQgYmVzdCcsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJwogICAgICAgIH1dLAogICAgICAgIHRpdGxlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5ZWG5ZOB5qCH6aKYJywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIGluZm86IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXnp5LmnYDmtLvliqjnroDku4snLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgc2VjdGlvbl90aW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB0eXBlOiAnYXJyYXknLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqea0u+WKqOaXtumXtCcsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJwogICAgICAgIH1dLAogICAgICAgIHVuaXRfbmFtZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeWNleS9jScsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XSwKICAgICAgICBwcmljZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgdHlwZTogJ251bWJlcicsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl56eS5p2A5Lu3JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIG90X3ByaWNlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB0eXBlOiAnbnVtYmVyJywKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXljp/ku7cnLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgY29zdDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgdHlwZTogJ251bWJlcicsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5oiQ5pys5Lu3JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIHN0b2NrOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB0eXBlOiAnbnVtYmVyJywKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXlupPlrZgnLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgbnVtOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB0eXBlOiAnbnVtYmVyJywKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXotK3kubDmlbDph4/pmZDliLYnLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgb25jZV9udW06IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIHR5cGU6ICdudW1iZXInLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeWNleasoei0reS5sOaVsOmHj+mZkOWIticsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XSwKICAgICAgICB0ZW1wX2lkOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36YCJ5oup6L+Q6LS55qih5p2/JywKICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLAogICAgICAgICAgdHlwZTogJ251bWJlcicKICAgICAgICB9XSwKICAgICAgICB0aW1lX2lkczogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeW8gOWni+aXtumXtCcsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywKICAgICAgICAgIHR5cGU6ICdBcnJheScKICAgICAgICB9XQogICAgICB9LAogICAgICBjb3B5OiAwLAogICAgICBtb2RhbHNTZXQ6IGZhbHNlLAogICAgICBpc0FsbENoZWNrZWQ6IGZhbHNlLAogICAgICBjaGVja1BpZExpc3Q6IFtdLAogICAgICAvL+eItue6p+acieWFs2lk6ZuG5ZCIIO+8iOmcgOaxguemgeatouWIoOmZpOWtkOe6p++8jOeUqOS6juWIoOmZpOaVtOS4quWVhuWTge+8iQogICAgICBzZWFyY2hUYWJsZURhdGE6IFtdLAogICAgICB0YWJsZURhdGE6IFtdLAogICAgICBrZXl3b3JkOiAnJwogICAgfTsKICB9LAogIGNvbXB1dGVkOiBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIG1hcFN0YXRlKCdtZWRpYScsIFsnaXNNb2JpbGUnXSkpLCB7fSwgewogICAgbGFiZWxXaWR0aDogZnVuY3Rpb24gbGFiZWxXaWR0aCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgPyB1bmRlZmluZWQgOiAnMTM1cHgnOwogICAgfSwKICAgIGxhYmVsUG9zaXRpb246IGZ1bmN0aW9uIGxhYmVsUG9zaXRpb24oKSB7CiAgICAgIHJldHVybiB0aGlzLmlzTW9iaWxlID8gJ3RvcCcgOiAncmlnaHQnOwogICAgfQogIH0pLAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICBpZiAodGhpcy4kcm91dGUucGFyYW1zLmlkKSB7CiAgICAgIHRoaXMuY3VycmVudCA9IDA7CiAgICAgIHRoaXMuZ2V0SW5mbygpOwogICAgfQogICAgdGhpcy5wcm9kdWN0R2V0VGVtcGxhdGUoKTsKICAgIHRoaXMuc2Vja2lsbFRpbWVMaXN0KCk7CiAgfSwKICBtZXRob2RzOiAoX21ldGhvZHMgPSB7CiAgICBzdGVwQWN0aXZlOiBmdW5jdGlvbiBzdGVwQWN0aXZlKGluZGV4KSB7CiAgICAgIHRoaXMuY3VycmVudCA9IGluZGV4OwogICAgfSwKICAgIGFkZEdvb2RzOiBmdW5jdGlvbiBhZGRHb29kcygpIHsKICAgICAgdGhpcy5tb2RhbHMgPSB0cnVlOwogICAgfSwKICAgIC8v5om56YeP6K6+572uCiAgICBiYXRjaFNldDogZnVuY3Rpb24gYmF0Y2hTZXQoKSB7CiAgICAgIHRoaXMubW9kYWxzU2V0ID0gdHJ1ZTsKICAgIH0sCiAgICAvL+WIoOmZpAogICAgZGVsOiBmdW5jdGlvbiBkZWwocm93KSB7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIC8vIHRoaXMudGFibGVEYXRhID0gdGhpcy50YWJsZURhdGEuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlkICE9PSByb3cuaWQpOwogICAgICBpZiAodGhpcy5zZWFyY2hUYWJsZURhdGEubGVuZ3RoKSB7CiAgICAgICAgdGhpcy5zZWFyY2hUYWJsZURhdGEuZm9yRWFjaChmdW5jdGlvbiAoaSwgaW5kZXgpIHsKICAgICAgICAgIGlmIChyb3cuaWQgPT0gaS5pZCkgewogICAgICAgICAgICBfdGhpcy5zZWFyY2hUYWJsZURhdGEuc3BsaWNlKGluZGV4LCAxKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpLCBpbmRleCkgewogICAgICAgICAgaWYgKHJvdy5pZCA9PSBpLmlkKSB7CiAgICAgICAgICAgIHJldHVybiBfdGhpcy50YWJsZURhdGEuc3BsaWNlKGluZGV4LCAxKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpLCBpbmRleCkgewogICAgICAgICAgaWYgKHJvdy5pZCA9PSBpLmlkKSB7CiAgICAgICAgICAgIHJldHVybiBfdGhpcy50YWJsZURhdGEuc3BsaWNlKGluZGV4LCAxKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQogICAgICBpZiAodGhpcy5pc0FsbENoZWNrZWQgJiYgIXRoaXMudGFibGVEYXRhLmxlbmd0aCkgewogICAgICAgIHRoaXMuaXNBbGxDaGVja2VkID0gZmFsc2U7CiAgICAgICAgdGhpcy5jaGVja1BpZExpc3QgPSBbXTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmNoZWNrUGlkTGlzdC5pbmRleE9mKHJvdy5pZCk7CiAgICAgICAgdGhpcy5jaGVja1BpZExpc3Quc3BsaWNlKGluZGV4LCAxKTsKICAgICAgfQogICAgfSwKICAgIC8v5om56YeP5Yig6ZmkCiAgICBkZWxBbGw6IGZ1bmN0aW9uIGRlbEFsbCgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIGlmICh0aGlzLmlzQWxsQ2hlY2tlZCAmJiAodGhpcy50YWJsZURhdGEubGVuZ3RoID09IHRoaXMuc2VhcmNoVGFibGVEYXRhLmxlbmd0aCB8fCAhdGhpcy5zZWFyY2hUYWJsZURhdGEubGVuZ3RoKSkgewogICAgICAgIHRoaXMudGFibGVEYXRhID0gW107CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLnRhYmxlRGF0YS5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgIHJldHVybiAhX3RoaXMyLmNoZWNrUGlkTGlzdC5zb21lKGZ1bmN0aW9uIChlbGUpIHsKICAgICAgICAgICAgcmV0dXJuIGVsZSA9PT0gaXRlbS5pZDsKICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICB9CiAgICAgIHRoaXMuY2hlY2tQaWRMaXN0ID0gW107CiAgICAgIHRoaXMuaXNBbGxDaGVja2VkID0gZmFsc2U7CiAgICB9LAogICAgY2FuY2VsOiBmdW5jdGlvbiBjYW5jZWwoKSB7CiAgICAgIHRoaXMubW9kYWxzID0gZmFsc2U7CiAgICB9LAogICAgYmF0Y2hWaXNpYmxlQ2hhbmdlOiBmdW5jdGlvbiBiYXRjaFZpc2libGVDaGFuZ2UoKSB7CiAgICAgIHRoaXMuZm9ybUJhdGNoLnByaWNlID0gJyc7CiAgICAgIHRoaXMuZm9ybUJhdGNoLnF1b3RhID0gJyc7CiAgICB9LAogICAgc2VhcmNoV29yZDogZnVuY3Rpb24gc2VhcmNoV29yZCgpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHZhciBsaXN0ID0gW107CiAgICAgIGNvbnNvbGUubG9nKHRoaXMudGFibGVEYXRhLCB0aGlzLmtleXdvcmQpOwogICAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgdmFyIG9iaiA9IGl0ZW0uc3RvcmVfbmFtZS5pbmRleE9mKF90aGlzMy5rZXl3b3JkKTsKICAgICAgICBpZiAob2JqICE9IC0xKSB7CiAgICAgICAgICBsaXN0LnB1c2goaXRlbSk7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgY29uc29sZS5sb2cobGlzdCk7CiAgICAgIGlmICh0aGlzLmtleXdvcmQpIHsKICAgICAgICB0aGlzLnNlYXJjaFRhYmxlRGF0YSA9IGxpc3Q7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5zZWFyY2hUYWJsZURhdGEgPSBbXTsKICAgICAgfQogICAgfSwKICAgIGNoZWNrYm94QWxsOiBmdW5jdGlvbiBjaGVja2JveEFsbCgpIHsKICAgICAgdGhpcy5pc0FsbENoZWNrZWQgPSB0aGlzLiRyZWZzLnhUcmVlLmlzQWxsQ2hlY2tib3hDaGVja2VkKCk7CiAgICAgIGlmICghdGhpcy5pc0FsbENoZWNrZWQpIHsKICAgICAgICB0aGlzLmNoZWNrUGlkTGlzdCA9IFtdOwogICAgICB9CiAgICB9LAogICAgY2hlY2tib3hJdGVtOiBmdW5jdGlvbiBjaGVja2JveEl0ZW0oZSkgewogICAgICB2YXIgaWQgPSBwYXJzZUludChlLnJvd2lkKTsKICAgICAgaWYgKGUucm93LnByb2R1Y3RfaWQpIHsKICAgICAgICB2YXIgcEluZGV4ID0gdGhpcy5jaGVja1BpZExpc3QuaW5kZXhPZihlLnJvdy5wcm9kdWN0X2lkKTsKICAgICAgICBpZiAocEluZGV4ICE9PSAtMSAmJiAhZS5jaGVja2VkKSB7CiAgICAgICAgICB0aGlzLmNoZWNrUGlkTGlzdCA9IHRoaXMuY2hlY2tQaWRMaXN0LmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICByZXR1cm4gaXRlbSAhPT0gZS5yb3cucHJvZHVjdF9pZDsKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICBpZiAocEluZGV4ID09PSAtMSAmJiBlLmNoZWNrZWQpIHsKICAgICAgICAgIHRoaXMuY2hlY2tQaWRMaXN0LnB1c2goZS5yb3cucHJvZHVjdF9pZCk7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIHZhciBfcEluZGV4ID0gdGhpcy5jaGVja1BpZExpc3QuaW5kZXhPZihpZCk7CiAgICAgICAgaWYgKF9wSW5kZXggIT09IC0xICYmICFlLmNoZWNrZWQpIHsKICAgICAgICAgIHRoaXMuY2hlY2tQaWRMaXN0ID0gdGhpcy5jaGVja1BpZExpc3QuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgIHJldHVybiBpdGVtICE9PSBpZDsKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICBpZiAoX3BJbmRleCA9PT0gLTEgJiYgZS5jaGVja2VkKSB7CiAgICAgICAgICB0aGlzLmNoZWNrUGlkTGlzdC5wdXNoKGlkKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhpcy5pc0FsbENoZWNrZWQgPSB0aGlzLiRyZWZzLnhUcmVlLmlzQWxsQ2hlY2tib3hDaGVja2VkKCk7CiAgICB9LAogICAgLy8g5re75Yqg6L+Q6LS55qih5p2/CiAgICBmcmVpZ2h0OiBmdW5jdGlvbiBmcmVpZ2h0KCkgewogICAgICB0aGlzLiRyZWZzLnRlbXBsYXRlLmlkID0gMDsKICAgICAgdGhpcy4kcmVmcy50ZW1wbGF0ZS5pc1RlbXBsYXRlID0gdHJ1ZTsKICAgIH0sCiAgICAvLyDlpJrpgIkKICAgIGNoYW5nZUNoZWNrYm94OiBmdW5jdGlvbiBjaGFuZ2VDaGVja2JveChzZWxlY3Rpb24pIHsKICAgICAgdGhpcy5mb3JtVmFsaWRhdGUuYXR0cnMgPSBzZWxlY3Rpb247CiAgICB9LAogICAgc2Vja2lsbFRpbWVMaXN0OiBmdW5jdGlvbiBzZWNraWxsVGltZUxpc3QoKSB7CiAgICAgIHZhciB0aGF0ID0gdGhpczsKICAgICAgc2Vja2lsbFRpbWVMaXN0QXBpKCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgdGhhdC50aW1lTGlzdCA9IHJlcy5kYXRhLmxpc3QuZGF0YTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKHJlcykgewogICAgICAgIHRoYXQuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOiOt+WPlui/kOi0ueaooeadv++8mwogICAgcHJvZHVjdEdldFRlbXBsYXRlOiBmdW5jdGlvbiBwcm9kdWN0R2V0VGVtcGxhdGUoKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICBwcm9kdWN0R2V0VGVtcGxhdGVBcGkoKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczQudGVtcGxhdGVMaXN0ID0gcmVzLmRhdGE7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOihqOWNlemqjOivgQogICAgdmFsaWRhdGU6IGZ1bmN0aW9uIHZhbGlkYXRlKHByb3AsIHN0YXR1cywgZXJyb3IpIHsKICAgICAgaWYgKHN0YXR1cyA9PT0gZmFsc2UpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKGVycm9yKTsKICAgICAgfQogICAgfSwKICAgIC8vIOWVhuWTgWlkCiAgICBnZXRQcm9kdWN0SWQ6IGZ1bmN0aW9uIGdldFByb2R1Y3RJZChkYXRhKSB7CiAgICAgIGNvbnNvbGUubG9nKGRhdGEsICdkYXRhJyk7CiAgICAgIHRoaXMubW9kYWxzID0gZmFsc2U7CiAgICAgIHZhciBsaXN0Q2hlY2tlZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpOwogICAgICBsaXN0Q2hlY2tlZC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgaXRlbS5wYXJlbnQgPSAxOwogICAgICAgIGl0ZW0uc3RhdHVzID0gMTsKICAgICAgICBpdGVtLmlzQWxsQ2hlY2tlZCA9IHRydWU7CiAgICAgICAgaXRlbS5hdHRycy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgICAgdmFsdWUuY2F0ZV9uYW1lID0gaXRlbS5jYXRlX25hbWU7CiAgICAgICAgICB2YWx1ZS5zdG9yZV9sYWJlbCA9IGl0ZW0uc3RvcmVfbGFiZWw7CiAgICAgICAgICB2YWx1ZS5zdGF0dXMgPSAxOwogICAgICAgIH0pOwogICAgICB9KTsKICAgICAgdmFyIGxpc3QgPSB0aGlzLnRhYmxlRGF0YS5jb25jYXQobGlzdENoZWNrZWQpOwogICAgICB2YXIgdW5pID0gdGhpcy51bmlxdWUobGlzdCk7CiAgICAgIHRoaXMudGFibGVEYXRhID0gdW5pOwogICAgfSwKICAgIC8v5a+56LGh5pWw57uE5Y676YeN77ybCiAgICB1bmlxdWU6IGZ1bmN0aW9uIHVuaXF1ZShhcnIpIHsKICAgICAgdmFyIHJlcyA9IG5ldyBNYXAoKTsKICAgICAgcmV0dXJuIGFyci5maWx0ZXIoZnVuY3Rpb24gKGFycikgewogICAgICAgIHJldHVybiAhcmVzLmhhcyhhcnIuaWQpICYmIHJlcy5zZXQoYXJyLmlkLCAxKTsKICAgICAgfSk7CiAgICB9CiAgfSwgX2RlZmluZVByb3BlcnR5KF9kZWZpbmVQcm9wZXJ0eShfZGVmaW5lUHJvcGVydHkoX2RlZmluZVByb3BlcnR5KF9kZWZpbmVQcm9wZXJ0eShfZGVmaW5lUHJvcGVydHkoX2RlZmluZVByb3BlcnR5KF9kZWZpbmVQcm9wZXJ0eShfZGVmaW5lUHJvcGVydHkoX2RlZmluZVByb3BlcnR5KF9tZXRob2RzLCAiY2FuY2VsIiwgZnVuY3Rpb24gY2FuY2VsKCkgewogICAgdGhpcy5tb2RhbHMgPSBmYWxzZTsKICB9KSwgIm9rQmF0Y2giLCBmdW5jdGlvbiBva0JhdGNoKCkgewogICAgdmFyIF90aGlzNSA9IHRoaXM7CiAgICBpZiAodGhpcy5mb3JtQmF0Y2gucHJpY2UgPT0gJycgJiYgdGhpcy5mb3JtQmF0Y2gucXVvdGEgPT0gJycpIHsKICAgICAgcmV0dXJuIHRoaXMuJE1lc3NhZ2UuZXJyb3IoJ+ivt+i+k+WFpeenkuadgOS7t+aIlumZkOmHjycpOwogICAgfQogICAgaWYgKHRoaXMuaXNBbGxDaGVja2VkICYmICh0aGlzLnRhYmxlRGF0YS5sZW5ndGggPT0gdGhpcy5zZWFyY2hUYWJsZURhdGEubGVuZ3RoIHx8ICF0aGlzLnNlYXJjaFRhYmxlRGF0YS5sZW5ndGgpKSB7CiAgICAgIHRoaXMudGFibGVEYXRhLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICBpdGVtLmF0dHJzLmZvckVhY2goZnVuY3Rpb24gKGopIHsKICAgICAgICAgIGlmIChfdGhpczUuZm9ybUJhdGNoLnByaWNlICE9ICcnKSB7CiAgICAgICAgICAgIGoucHJpY2UgPSBfdGhpczUuZm9ybUJhdGNoLnByaWNlOwogICAgICAgICAgfQogICAgICAgICAgaWYgKF90aGlzNS5mb3JtQmF0Y2gucXVvdGEgIT0gJycpIHsKICAgICAgICAgICAgai5xdW90YSA9IF90aGlzNS5mb3JtQmF0Y2gucXVvdGE7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnRhYmxlRGF0YS5sZW5ndGg7IGkrKykgewogICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGhpcy5jaGVja1BpZExpc3QubGVuZ3RoOyBqKyspIHsKICAgICAgICAgIGlmICh0aGlzLnRhYmxlRGF0YVtpXS5pZCA9PSB0aGlzLmNoZWNrUGlkTGlzdFtqXSkgewogICAgICAgICAgICB0aGlzLnRhYmxlRGF0YVtpXS5hdHRycy5mb3JFYWNoKGZ1bmN0aW9uICh4KSB7CiAgICAgICAgICAgICAgaWYgKF90aGlzNS5mb3JtQmF0Y2gucHJpY2UgIT0gJycpIHsKICAgICAgICAgICAgICAgIHgucHJpY2UgPSBfdGhpczUuZm9ybUJhdGNoLnByaWNlOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAvLyDmibnph4/orr7nva7pmZDph4/kuI3kuLrnqbrvvIzliJnkv67mlLnop4TmoLzkuIrmnrbnmoTpmZDph48KICAgICAgICAgICAgICBpZiAoX3RoaXM1LmZvcm1CYXRjaC5xdW90YSAhPSAnJyAmJiB4LnN0YXR1cykgewogICAgICAgICAgICAgICAgeC5xdW90YSA9IF90aGlzNS5mb3JtQmF0Y2gucXVvdGE7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHRoaXMubW9kYWxzU2V0ID0gZmFsc2U7CiAgfSksICJvbmNoYW5nZVRpbWUiLCBmdW5jdGlvbiBvbmNoYW5nZVRpbWUoZSkgewogICAgdGhpcy5mb3JtVmFsaWRhdGUuc2VjdGlvbl90aW1lID0gZTsKICB9KSwgImdldEluZm8iLCBmdW5jdGlvbiBnZXRJbmZvKCkgewogICAgdmFyIF90aGlzNiA9IHRoaXM7CiAgICB0aGlzLnNwaW5TaG93ID0gdHJ1ZTsKICAgIHNlY2tpbGxBY3Rpdml0eUluZm9BcGkodGhpcy4kcm91dGUucGFyYW1zLmlkKS50aGVuKC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7CiAgICAgIHZhciBfcmVmID0gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvcigpLm0oZnVuY3Rpb24gX2NhbGxlZShyZXMpIHsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yKCkudyhmdW5jdGlvbiAoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0Lm4pIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF90aGlzNi5mb3JtVmFsaWRhdGUgPSByZXMuZGF0YTsKICAgICAgICAgICAgICBfdGhpczYudGFibGVEYXRhID0gcmVzLmRhdGEucHJvZHVjdF9pbmZvczsKICAgICAgICAgICAgICBfdGhpczYudGFibGVEYXRhLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgIGl0ZW0ucGFyZW50ID0gMTsKICAgICAgICAgICAgICAgIGl0ZW0uaXNBbGxDaGVja2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGl0ZW0uYXR0cnMuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICAgICAgICAgICAgdmFsdWUuY2F0ZV9uYW1lID0gaXRlbS5jYXRlX25hbWU7CiAgICAgICAgICAgICAgICAgIHZhbHVlLnN0b3JlX2xhYmVsID0gaXRlbS5zdG9yZV9sYWJlbDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIF90aGlzNi5zcGluU2hvdyA9IGZhbHNlOwogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmEoMik7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZSk7CiAgICAgIH0pKTsKICAgICAgcmV0dXJuIGZ1bmN0aW9uIChfeCkgewogICAgICAgIHJldHVybiBfcmVmLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgIH07CiAgICB9KCkpLmNhdGNoKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgX3RoaXM2LnNwaW5TaG93ID0gZmFsc2U7CiAgICAgIF90aGlzNi4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsKICAgIH0pOwogIH0pLCAiZ2V0Um93S2V5cyIsIGZ1bmN0aW9uIGdldFJvd0tleXMocm93KSB7CiAgICByZXR1cm4gcm93LmlkOwogIH0pLCAiY2hhbmdlUHJpY2UiLCBmdW5jdGlvbiBjaGFuZ2VQcmljZShlLCBpbmRleCkgewogICAgdGhpcy4kc2V0KHRoaXMuc3BlY3NEYXRhW2luZGV4XSwgJ3ByaWNlJywgZSk7CiAgfSksICJuZXh0IiwgZnVuY3Rpb24gbmV4dChuYW1lKSB7CiAgICB2YXIgX3RoaXM3ID0gdGhpczsKICAgIHZhciB0aGF0ID0gdGhpczsKICAgIGlmICh0aGlzLmN1cnJlbnQgPT09IDEpIHsKICAgICAgdGhpcy5mb3JtVmFsaWRhdGUuaWQgPSBOdW1iZXIodGhpcy4kcm91dGUucGFyYW1zLmlkKSB8fCAwOwogICAgICB0aGlzLnN1Ym1pdE9wZW4gPSB0cnVlOwogICAgICB2YXIgcHJvZHVjdF9pbmZvcyA9IFtdOwogICAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcHJvZHVjdF9pbmZvcy5wdXNoKHsKICAgICAgICAgIGlkOiBpdGVtLmlkLAogICAgICAgICAgc3RhdHVzOiBpdGVtLnN0YXR1cywKICAgICAgICAgIGF0dHJzOiBpdGVtLmF0dHJzCiAgICAgICAgfSk7CiAgICAgICAgX3RoaXM3LmZvcm1WYWxpZGF0ZS5wcm9kdWN0X2luZm9zID0gcHJvZHVjdF9pbmZvczsKICAgICAgfSk7CiAgICAgIHNlY2tpbGxBY3Rpdml0eUFkZEFwaSh0aGlzLmZvcm1WYWxpZGF0ZSkudGhlbigvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBfcmVmMiA9IF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3IoKS5tKGZ1bmN0aW9uIF9jYWxsZWUyKHJlcykgewogICAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvcigpLncoZnVuY3Rpb24gKF9jb250ZXh0MikgewogICAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDIubikgewogICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgIF90aGlzNy5zdWJtaXRPcGVuID0gZmFsc2U7CiAgICAgICAgICAgICAgICBfdGhpczcuJG1lc3NhZ2Uuc3VjY2VzcyhyZXMubXNnKTsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICBfdGhpczcuJHJvdXRlci5wdXNoKHsKICAgICAgICAgICAgICAgICAgICBwYXRoOiBfdGhpczcuJHJvdXRlUHJvU3RyICsgJy9tYXJrZXRpbmcvc3RvcmVfc2Vja2lsbC9pbmRleCcKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9LCA1MDApOwogICAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDIuYSgyKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgX2NhbGxlZTIpOwogICAgICAgIH0pKTsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKF94MikgewogICAgICAgICAgcmV0dXJuIF9yZWYyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgfTsKICAgICAgfSgpKS5jYXRjaChmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM3LnN1Ym1pdE9wZW4gPSBmYWxzZTsKICAgICAgICBfdGhpczcuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7CiAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgdGhpcy5jdXJyZW50ICs9IDE7CiAgICB9CiAgfSksICJzdGVwIiwgZnVuY3Rpb24gc3RlcCgpIHsKICAgIHRoaXMuY3VycmVudC0tOwogIH0pLCAibW9kYWxQaWNUYXAiLCBmdW5jdGlvbiBtb2RhbFBpY1RhcCh0aXQsIHBpY1RpdCwgaW5kZXgpIHsKICAgIHRoaXMubW9kYWxQaWMgPSB0cnVlOwogICAgdGhpcy5pc0Nob2ljZSA9IHRpdCA9PT0gJ2RhbicgPyAn5Y2V6YCJJyA6ICflpJrpgIknOwogICAgdGhpcy5waWNUaXQgPSBwaWNUaXQ7CiAgICB0aGlzLnRhYmxlSW5kZXggPSBpbmRleDsKICB9KSwgImdldFBpYyIsIGZ1bmN0aW9uIGdldFBpYyhwYykgewogICAgc3dpdGNoICh0aGlzLnBpY1RpdCkgewogICAgICBjYXNlICdkYW5Gcm9tJzoKICAgICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5pbWFnZSA9IHBjLmF0dF9kaXI7CiAgICAgICAgYnJlYWs7CiAgICAgIC8vIGNhc2UgJ2RhblRhYmxlJzoKICAgICAgLy8gICAgIHRoaXMuc3BlY3NEYXRhW3RoaXMudGFibGVJbmRleF0ucGljID0gcGMuYXR0X2RpcjsKICAgICAgLy8gICAgIGJyZWFrOwogICAgICBkZWZhdWx0OgogICAgICAgIGlmICghIXRoaXMuZm9ybVZhbGlkYXRlLmF0dHJzICYmIHRoaXMuZm9ybVZhbGlkYXRlLmF0dHJzLmxlbmd0aCkgewogICAgICAgICAgdGhpcy4kc2V0KHRoaXMuc3BlY3NEYXRhW3RoaXMudGFibGVJbmRleF0sICdfY2hlY2tlZCcsIHRydWUpOwogICAgICAgIH0KICAgICAgICB0aGlzLnNwZWNzRGF0YVt0aGlzLnRhYmxlSW5kZXhdLnBpYyA9IHBjLmF0dF9kaXI7CiAgICB9CiAgICB0aGlzLm1vZGFsUGljID0gZmFsc2U7CiAgfSksIF9kZWZpbmVQcm9wZXJ0eShfZGVmaW5lUHJvcGVydHkoX2RlZmluZVByb3BlcnR5KF9kZWZpbmVQcm9wZXJ0eShfZGVmaW5lUHJvcGVydHkoX2RlZmluZVByb3BlcnR5KF9kZWZpbmVQcm9wZXJ0eShfbWV0aG9kcywgImdldFBpY0QiLCBmdW5jdGlvbiBnZXRQaWNEKHBjKSB7CiAgICB2YXIgX3RoaXM4ID0gdGhpczsKICAgIHRoaXMuaW1hZ2VzID0gcGM7CiAgICB0aGlzLmltYWdlcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgX3RoaXM4LmZvcm1WYWxpZGF0ZS5pbWFnZXMucHVzaChpdGVtLmF0dF9kaXIpOwogICAgICBfdGhpczguZm9ybVZhbGlkYXRlLmltYWdlcyA9IF90aGlzOC5mb3JtVmFsaWRhdGUuaW1hZ2VzLnNwbGljZSgwLCAxMCk7CiAgICB9KTsKICAgIHRoaXMubW9kYWxQaWMgPSBmYWxzZTsKICB9KSwgImhhbmRsZVJlbW92ZSIsIGZ1bmN0aW9uIGhhbmRsZVJlbW92ZShpKSB7CiAgICB0aGlzLmltYWdlcy5zcGxpY2UoaSwgMSk7CiAgICB0aGlzLmZvcm1WYWxpZGF0ZS5pbWFnZXMuc3BsaWNlKGksIDEpOwogIH0pLCAiY2hhbmdlR29vZHMiLCBmdW5jdGlvbiBjaGFuZ2VHb29kcygpIHsKICAgIHZhciBfdGhpczkgPSB0aGlzOwogICAgdGhpcy5tb2RhbHMgPSB0cnVlOwogICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKGUpIHsKICAgICAgX3RoaXM5LiRyZWZzLmdvb2RzbGlzdC5mb3JtVmFsaWRhdGUuaXNfc2hvdyA9IC0xOwogICAgICBfdGhpczkuJHJlZnMuZ29vZHNsaXN0LmZvcm1WYWxpZGF0ZS50eXBlID0gMzsKICAgICAgX3RoaXM5LiRyZWZzLmdvb2RzbGlzdC5nZXRMaXN0KCk7CiAgICAgIF90aGlzOS4kcmVmcy5nb29kc2xpc3QuZ29vZHNDYXRlZ29yeSgpOwogICAgfSk7CiAgfSksICJoYW5kbGVEcmFnU3RhcnQiLCBmdW5jdGlvbiBoYW5kbGVEcmFnU3RhcnQoZSwgaXRlbSkgewogICAgdGhpcy5kcmFnZ2luZyA9IGl0ZW07CiAgfSksICJoYW5kbGVEcmFnRW5kIiwgZnVuY3Rpb24gaGFuZGxlRHJhZ0VuZChlLCBpdGVtKSB7CiAgICB0aGlzLmRyYWdnaW5nID0gbnVsbDsKICB9KSwgImhhbmRsZURyYWdPdmVyIiwgZnVuY3Rpb24gaGFuZGxlRHJhZ092ZXIoZSkgewogICAgZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdtb3ZlJzsgLy8gZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0ibW92ZSI7Ly/lnKhkcmFnZW50ZXLkuK3pkojlr7nmlL7nva7nm67moIfmnaXorr7nva4hCiAgfSksICJoYW5kbGVEcmFnRW50ZXIiLCBmdW5jdGlvbiBoYW5kbGVEcmFnRW50ZXIoZSwgaXRlbSkgewogICAgZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCA9ICdtb3ZlJzsgLy8g5Li66ZyA6KaB56e75Yqo55qE5YWD57Sg6K6+572uZHJhZ3N0YXJ05LqL5Lu2CiAgICBpZiAoaXRlbSA9PT0gdGhpcy5kcmFnZ2luZykgewogICAgICByZXR1cm47CiAgICB9CiAgICB2YXIgbmV3SXRlbXMgPSBfdG9Db25zdW1hYmxlQXJyYXkodGhpcy5mb3JtVmFsaWRhdGUuaW1hZ2VzKTsKICAgIHZhciBzcmMgPSBuZXdJdGVtcy5pbmRleE9mKHRoaXMuZHJhZ2dpbmcpOwogICAgdmFyIGRzdCA9IG5ld0l0ZW1zLmluZGV4T2YoaXRlbSk7CiAgICBuZXdJdGVtcy5zcGxpY2UuYXBwbHkobmV3SXRlbXMsIFtkc3QsIDBdLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkobmV3SXRlbXMuc3BsaWNlKHNyYywgMSkpKSk7CiAgICB0aGlzLmZvcm1WYWxpZGF0ZS5pbWFnZXMgPSBuZXdJdGVtczsKICB9KSkKfTs="},null]}