{"remainingRequest":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\ljzc-fvue\\src\\components\\ImportExportData\\DataTemplateSetting.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\src\\components\\ImportExportData\\DataTemplateSetting.vue","mtime":1701311300740},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\babel.config.js","mtime":1701311296006},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2xqemMtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCAicmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc3BsaWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc29ydC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5qc29uLnN0cmluZ2lmeS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pdGVyYXRvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5udW1iZXIuY29uc3RydWN0b3IuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IHV0aWxzIGZyb20gJ0AvaG90ZW50LXVpLXV0aWwnOwppbXBvcnQgcG9ydGFsIGZyb20gJ0AvYXBpL3BvcnRhbCc7CmltcG9ydCBBZGRGaWVsZHMgZnJvbSAnQC9jb21wb25lbnRzL0ltcG9ydEV4cG9ydERhdGEvQWRkRmllbGRzJzsKaW1wb3J0IEZvcm1hdEpzb24gZnJvbSAnQC9jb21wb25lbnRzL0ltcG9ydEV4cG9ydERhdGEvRm9ybWF0SnNvbic7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnRGF0YVRlbXBsYXRlU2V0dGluZycsCiAgY29tcG9uZW50czogewogICAgQWRkRmllbGRzOiBBZGRGaWVsZHMsCiAgICBGb3JtYXRKc29uOiBGb3JtYXRKc29uCiAgfSwKICBwcm9wczogewogICAgLy8g6aG16Z2i57uE5Lu25Yir5ZCNCiAgICBiaXpDb2RlOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJycsCiAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICB9LAogICAgLy8g5qih5p2/5paH5Lu25ZCN56ewCiAgICB0ZW1wRmlsZXM6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnJywKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgIH0sCiAgICB0eXBlOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJ2ltcG9ydCcsCiAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcih0eXBlKSB7CiAgICAgICAgaWYgKHR5cGUgPT0gJ2ltcG9ydCcgfHwgJ2V4cG9ydCcpIHsKICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgb3JpZ2luQVBJT3B0aW9uczogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge30sCiAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICB9LAogICAgZGF0YUJhc2VPcHRpb25zOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7fSwKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgIH0KICB9LAogIGNvbXB1dGVkOiB7CiAgICB0aXRsZTogZnVuY3Rpb24gdGl0bGUoKSB7CiAgICAgIGlmICh0aGlzLnR5cGUgPT0gJ2ltcG9ydCcpIHsKICAgICAgICByZXR1cm4gJ+WvvOWFpeaooeadv+mFjee9ric7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICflr7zlh7rmqKHmnb/phY3nva4nOwogICAgICB9CiAgICB9CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgZGlhbG9nU2hvdzogZmFsc2UsCiAgICAgIHRhYmxlSGVpZ2h0OiAzMDAsCiAgICAgIHRlbXBJZDogJycsCiAgICAgIHRlbXBEYXRhOiB7fSwKICAgICAgLy8g5qih5p2/5Z+656GA5pWw5o2uCiAgICAgIGRhdGE6IFtdLAogICAgICBsb2FkaW5nOiBmYWxzZQogICAgfTsKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgdGhpcy5jYWxjVGFibGVIZWlnaHQoKTsKICAgIHRoaXMuJHJvb3QuJG9uKCdyZXNpemUnLCBmdW5jdGlvbiAoKSB7CiAgICAgIF90aGlzLmNhbGNUYWJsZUhlaWdodCg1MDApOwogICAgfSk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBjaGFuZ2VWaWV3VHlwZTogZnVuY3Rpb24gY2hhbmdlVmlld1R5cGUoaW5kZXgsIHJvdykgewogICAgICB2YXIgdGVtcFJvdyA9IHV0aWxzLmRlZXBDbG9uZShyb3cpOwogICAgICB0ZW1wUm93LmZpZWxkRGF0YUpzb24gPSAnJzsKICAgICAgdGhpcy5kYXRhLnNwbGljZShpbmRleCwgMSwgdGVtcFJvdyk7CiAgICB9LAogICAgY2hlY2tOdW1iZXI6IGZ1bmN0aW9uIGNoZWNrTnVtYmVyKGluZGV4LCByb3csIG51bSkgewogICAgICB2YXIgbnVtYmVyOwogICAgICBpZiAoIW51bSkgewogICAgICAgIG51bWJlciA9IDA7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtKTsKICAgICAgICBpZiAobnVtYmVyIDwgMCkgewogICAgICAgICAgbnVtYmVyID0gMDsKICAgICAgICB9CiAgICAgIH0KICAgICAgcm93Lm9yZGVySW5kZXggPSBudW1iZXI7CiAgICAgIHRoaXMuZGF0YS5zcGxpY2UoaW5kZXgsIDEsIHJvdyk7CiAgICB9LAogICAgc29ydERhdGE6IGZ1bmN0aW9uIHNvcnREYXRhKCkgewogICAgICB0aGlzLmRhdGEuc29ydChmdW5jdGlvbiAoYSwgYikgewogICAgICAgIHZhciBuYW1lQSA9IGEub3JkZXJJbmRleDsKICAgICAgICB2YXIgbmFtZUIgPSBiLm9yZGVySW5kZXg7CiAgICAgICAgaWYgKG5hbWVBIDwgbmFtZUIpIHsKICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICB9CiAgICAgICAgaWYgKG5hbWVBID4gbmFtZUIpIHsKICAgICAgICAgIHJldHVybiAxOwogICAgICAgIH0KICAgICAgICByZXR1cm4gMDsKICAgICAgfSk7CiAgICB9LAogICAga3ZKc29uOiBmdW5jdGlvbiBrdkpzb24oanNvbikgewogICAgICB2YXIga3ZKc29uID0ge307CiAgICAgIGlmIChqc29uKSB7CiAgICAgICAgdmFyIHRlbXAgPSBKU09OLnBhcnNlKGpzb24pOwogICAgICAgIHRlbXAuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAga3ZKc29uW2l0ZW0udmFsdWVdID0gaXRlbS5sYWJlbDsKICAgICAgICB9KTsKICAgICAgICBrdkpzb24gPSBKU09OLnN0cmluZ2lmeShrdkpzb24pOwogICAgICB9CiAgICAgIHJldHVybiBrdkpzb247CiAgICB9LAogICAgLy8g5L+d5a2Y6YWN572uCiAgICBoYW5kbGVTYXZlOiBmdW5jdGlvbiBoYW5kbGVTYXZlKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgaWYgKCF0aGlzLmRhdGEubGVuZ3RoKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fphY3nva7mqKHmnb/vvIEnKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdmFyIGRhdGFQYXJhbXMgPSB1dGlscy5kZWVwQ2xvbmUodGhpcy5kYXRhKTsKICAgICAgZGF0YVBhcmFtcy5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgICAgIGlmIChfdGhpczIudGVtcElkKSB7CiAgICAgICAgICBpdGVtLnRlbXBJZCA9IF90aGlzMi50ZW1wSWQ7CiAgICAgICAgfQogICAgICAgIGl0ZW0udHlwZSA9IF90aGlzMi50eXBlID09ICdpbXBvcnQnID8gMiA6IDE7CiAgICAgICAgaXRlbS5maWVsZFR5cGUgPSAxOwogICAgICAgIGRlbGV0ZSBpdGVtLmRhdGFUeXBlOwogICAgICAgIGRlbGV0ZSBpdGVtLmZpZWxkRGVzYzsKICAgICAgICBkZWxldGUgaXRlbS5rZXk7CiAgICAgICAgZGVsZXRlIGl0ZW0udGFibGVOYW1lOwogICAgICAgIGRlbGV0ZSBpdGVtLmNvbHVtbkNvbW1lbnQ7CiAgICAgICAgZGVsZXRlIGl0ZW0uY29sdW1uTmFtZTsKICAgICAgfSk7CiAgICAgIHZhciBkYXRhID0gewogICAgICAgIGV4Y2VsVGVtcDogewogICAgICAgICAgaWQ6IHRoaXMudGVtcERhdGEuaWQsCiAgICAgICAgICB0ZW1wRmlsZXM6IHRoaXMudGVtcEZpbGVzLAogICAgICAgICAgYml6Q29kZTogdGhpcy5iaXpDb2RlLAogICAgICAgICAgZGJEYXRhQmFzZTogdGhpcy5kYXRhQmFzZU9wdGlvbnMudGFibGVTY2hlbWEsCiAgICAgICAgICBkYlNvdXJjZUlkOiB0aGlzLmRhdGFCYXNlT3B0aW9ucy5kYXRhQmFzZUlkLAogICAgICAgICAgZGJUYWJsZTogdGhpcy5kYXRhQmFzZU9wdGlvbnMudGFibGVOYW1lLAogICAgICAgICAgdHlwZTogdGhpcy50eXBlID09ICdpbXBvcnQnID8gMiA6IHRoaXMudHlwZSA9PSAnZXhwb3J0JyA/IDEgOiAnbnVsbCcgLy8g57G75Z6L5LiN5a+55oql6ZSZIOexu+Wei++8iDHvvJrlr7zlh7ogMu+8muWvvOWFpe+8iQogICAgICAgIH0sCiAgICAgICAgZmllbGRzOiBkYXRhUGFyYW1zCiAgICAgIH07CiAgICAgIHBvcnRhbC5zYXZlVGVtcGxhdGUoZGF0YSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgY29uc29sZS5sb2cocmVzKTsKICAgICAgICBpZiAocmVzLnN0YXRlKSB7CiAgICAgICAgICBfdGhpczIuJG1lc3NhZ2Uuc3VjY2Vzcygn5L+d5a2Y5oiQ5YqfJyk7CiAgICAgICAgICBfdGhpczIuY2xvc2VEaWFsb2coKTsKICAgICAgICAgIF90aGlzMi4kZW1pdCgncmVsb2FkJyk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICAvLyDov5Tlm55qc29u6LWL5YC8CiAgICBoYW5kbGVHZXRKU29uOiBmdW5jdGlvbiBoYW5kbGVHZXRKU29uKGpzb24sIHNjb3BlKSB7CiAgICAgIHZhciB0ZW1wUm93ID0gdXRpbHMuZGVlcENsb25lKHNjb3BlLnJvdyk7CiAgICAgIHRlbXBSb3cuZmllbGREYXRhSnNvbiA9IGpzb247CiAgICAgIHRoaXMuZGF0YS5zcGxpY2Uoc2NvcGUuJGluZGV4LCAxLCB0ZW1wUm93KTsKICAgIH0sCiAgICAvLyDnvJbovpFqc29uCiAgICBvcGVuU2V0SnNvbjogZnVuY3Rpb24gb3BlblNldEpzb24oc2NvcGUpIHsKICAgICAgdGhpcy4kcmVmcy5zZXRKc29uLm9wZW5EaWFsb2coc2NvcGUpOwogICAgfSwKICAgIC8vIOaJk+W8gOmFjee9rgogICAgb3BlbkRpYWxvZzogZnVuY3Rpb24gb3BlbkRpYWxvZyh0ZW1wSWQpIHsKICAgICAgdGhpcy50ZW1wSWQgPSB0ZW1wSWQ7CiAgICAgIHRoaXMuZGlhbG9nU2hvdyA9IHRydWU7CiAgICAgIGlmICh0ZW1wSWQpIHsKICAgICAgICB0aGlzLmxvYWRUZW1wRGF0YSh0ZW1wSWQpOwogICAgICB9CgogICAgICAvLyDlj5bmtojmi5bmi73mjpLluo8KICAgICAgLy8gdGhpcy4kbmV4dFRpY2soKCkgPT4gewogICAgICAvLyAgICAgdGhpcy5zZXREcmFnZ2FibGUoKQogICAgICAvLyB9KQogICAgfSwKICAgIC8vIOafpeivouW3suaciemFjee9rgogICAgbG9hZFRlbXBEYXRhOiBmdW5jdGlvbiBsb2FkVGVtcERhdGEoaWQpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7CiAgICAgIHBvcnRhbC5sb2FkVGVtcERhdGEoaWQpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzMy50ZW1wRGF0YSA9IHJlcy5leGNlbFRlbXA7CiAgICAgICAgX3RoaXMzLmRhdGEgPSBfdGhpczMuZm9ybWF0RGF0YShyZXMuZmllbGRzKTsKICAgICAgICBfdGhpczMubG9hZGluZyA9IGZhbHNlOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDmoLzlvI/ljJblm57loavmlbDmja4KICAgIGZvcm1hdERhdGE6IGZ1bmN0aW9uIGZvcm1hdERhdGEoZGF0YSkgewogICAgICBkYXRhLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICAgICAgaXRlbS5rZXkgPSBpbmRleDsKICAgICAgICBpdGVtLmZpZWxkVmlld1R5cGUgPSBwYXJzZUludChpdGVtLmZpZWxkVmlld1R5cGUpOwogICAgICB9KTsKICAgICAgcmV0dXJuIGRhdGE7CiAgICB9LAogICAgLy8g5YWz6Zet6aG16Z2i6YeN572u5pWw5o2uCiAgICBjbG9zZURpYWxvZzogZnVuY3Rpb24gY2xvc2VEaWFsb2coKSB7CiAgICAgIHRoaXMuZGF0YSA9IFtdOwogICAgICB0aGlzLmRpYWxvZ1Nob3cgPSBmYWxzZTsKICAgIH0sCiAgICAvLyDmiZPlvIDmt7vliqDlrZfmrrXlvLnnqpcKICAgIG9wZW5BZGRGaWVsZHNEaWFsb2c6IGZ1bmN0aW9uIG9wZW5BZGRGaWVsZHNEaWFsb2coKSB7CiAgICAgIHRoaXMuJHJlZnMuQWRkRmllbGRzLm9wZW5EaWFsb2coKTsKICAgIH0sCiAgICAvLyDlr7nosaHmlbDnu4Tljrvph40KICAgIHVuaXF1ZTogZnVuY3Rpb24gdW5pcXVlKGFycikgewogICAgICB2YXIgcmVzID0gbmV3IE1hcCgpOwogICAgICByZXR1cm4gYXJyLmZpbHRlcihmdW5jdGlvbiAoYXJyKSB7CiAgICAgICAgcmV0dXJuICFyZXMuaGFzKGFyci5maWVsZE5hbWUpICYmIHJlcy5zZXQoYXJyLmZpZWxkTmFtZSwgMSk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOa3u+WKoOWtl+autQogICAgaGFuZGxlQWRkRmllbGRzOiBmdW5jdGlvbiBoYW5kbGVBZGRGaWVsZHMocm93KSB7CiAgICAgIHZhciBhZGRGaWVsZHMgPSB1dGlscy5kZWVwQ2xvbmUocm93KTsKICAgICAgdmFyIG9yaWdpbkZpZWxkcyA9IHV0aWxzLmRlZXBDbG9uZSh0aGlzLmRhdGEpOwogICAgICB2YXIgbmV3VGFyZ2V0ID0gb3JpZ2luRmllbGRzLmNvbmNhdChhZGRGaWVsZHMpOwogICAgICBpZiAodGhpcy50eXBlID09ICdleHBvcnQnKSB7CiAgICAgICAgbmV3VGFyZ2V0LnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgIHZhciBuYW1lQSA9IGEuZmllbGROYW1lLnRvVXBwZXJDYXNlKCk7CiAgICAgICAgICB2YXIgbmFtZUIgPSBiLmZpZWxkTmFtZS50b1VwcGVyQ2FzZSgpOwogICAgICAgICAgaWYgKG5hbWVBIDwgbmFtZUIpIHsKICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgfQogICAgICAgICAgaWYgKG5hbWVBID4gbmFtZUIpIHsKICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9KTsKICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gJ2ltcG9ydCcpIHsKICAgICAgICBuZXdUYXJnZXQgPSB0aGlzLnVuaXF1ZShuZXdUYXJnZXQpOwogICAgICB9CiAgICAgIG5ld1RhcmdldC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgICAgIGl0ZW0ua2V5ID0gaW5kZXg7CiAgICAgICAgaXRlbS5maWVsZFZpZXdUeXBlID0gMTsKICAgICAgICBpdGVtLm9yZGVySW5kZXggPSBpbmRleDsKICAgICAgfSk7CiAgICAgIHRoaXMuZGF0YSA9IG5ld1RhcmdldDsKICAgICAgY29uc29sZS5sb2codGhpcy5kYXRhLCAndGhpcy5kYXRhJyk7CiAgICAgIHRoaXMuJGZvcmNlVXBkYXRlKCk7CiAgICB9LAogICAgaGFuZGxlVXA6IGZ1bmN0aW9uIGhhbmRsZVVwKHJvdywgaW5kZXgpIHsKICAgICAgaWYgKGluZGV4ICE9PSAwKSB7CiAgICAgICAgdmFyIHRhcmdldEl0ZW0gPSByb3c7IC8vIOW9k+WJjUl0ZW0KICAgICAgICB2YXIgdXBJdGVtID0gdGhpcy5kYXRhW2luZGV4IC0gMV07IC8vIOWJjeS4gOS4qkl0ZW0KICAgICAgICB2YXIgdGFyZ2V0SW5kZXggPSB0aGlzLmRhdGFbaW5kZXhdLm9yZGVySW5kZXg7IC8vIOW9k+WJjUl0ZW1JbmRleAogICAgICAgIHZhciB1cEluZGV4ID0gdGhpcy5kYXRhW2luZGV4IC0gMV0ub3JkZXJJbmRleDsgLy8g5YmN5LiA5LiqSXRlbUluZGV4CiAgICAgICAgLy8g5Lqk5o2ib3JkZXJJbmRleAogICAgICAgIHRhcmdldEl0ZW0ub3JkZXJJbmRleCA9IHVwSW5kZXg7CiAgICAgICAgdXBJdGVtLm9yZGVySW5kZXggPSB0YXJnZXRJbmRleDsKICAgICAgICB0aGlzLmRhdGEuc3BsaWNlKGluZGV4IC0gMSwgMiwgdGFyZ2V0SXRlbSwgdXBJdGVtKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+W3sue7j+WkhOS6jue9rumhtu+8jOaXoOazleS4iuenuycpOwogICAgICB9CiAgICB9LAogICAgaGFuZGxlRG93bjogZnVuY3Rpb24gaGFuZGxlRG93bihyb3csIGluZGV4KSB7CiAgICAgIGlmIChpbmRleCAhPT0gdGhpcy5kYXRhLmxlbmd0aCAtIDEpIHsKICAgICAgICB2YXIgdGFyZ2V0SXRlbSA9IHJvdzsgLy8g5b2T5YmNSXRlbQogICAgICAgIHZhciBkb3duSXRlbSA9IHRoaXMuZGF0YVtpbmRleCArIDFdOyAvLyDliY3kuIDkuKpJdGVtCiAgICAgICAgdmFyIHRhcmdldEluZGV4ID0gdGhpcy5kYXRhW2luZGV4XS5vcmRlckluZGV4OyAvLyDlvZPliY1JdGVtSW5kZXgKICAgICAgICB2YXIgZG93bkluZGV4ID0gdGhpcy5kYXRhW2luZGV4ICsgMV0ub3JkZXJJbmRleDsgLy8g5YmN5LiA5LiqSXRlbUluZGV4CiAgICAgICAgLy8g5Lqk5o2ib3JkZXJJbmRleAogICAgICAgIHRhcmdldEl0ZW0ub3JkZXJJbmRleCA9IGRvd25JbmRleDsKICAgICAgICBkb3duSXRlbS5vcmRlckluZGV4ID0gdGFyZ2V0SW5kZXg7CiAgICAgICAgdGhpcy5kYXRhLnNwbGljZShpbmRleCwgMiwgZG93bkl0ZW0sIHRhcmdldEl0ZW0pOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn5bey57uP5aSE5LqO572u5bqV77yM5peg5rOV5LiL56e7Jyk7CiAgICAgIH0KICAgIH0sCiAgICAvLyDliKDpmaTlrZfmrrUKICAgIGhhbmRsZURlbEZpZWxkczogZnVuY3Rpb24gaGFuZGxlRGVsRmllbGRzKHJvdykgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgaWYgKHJvdy5pZCkgewogICAgICAgIHBvcnRhbC5EZWxldGVFeHBvcnRGaWVsZHMocm93LmlkKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgIGlmIChyZXMuc3RhdGUpIHsKICAgICAgICAgICAgdmFyIGRhdGEgPSB1dGlscy5kZWVwQ2xvbmUoX3RoaXM0LmRhdGEpOwogICAgICAgICAgICB2YXIgdGFyZ2V0ID0gZGF0YS5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICByZXR1cm4gaXRlbS5rZXkgIT0gcm93LmtleTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIF90aGlzNC5kYXRhID0gdGFyZ2V0OwogICAgICAgICAgICBfdGhpczQuJG1lc3NhZ2Uuc3VjY2Vzcygn5Yig6Zmk5oiQ5YqfJyk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIGRhdGEgPSB1dGlscy5kZWVwQ2xvbmUodGhpcy5kYXRhKTsKICAgICAgICB2YXIgdGFyZ2V0ID0gZGF0YS5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgIHJldHVybiBpdGVtLmtleSAhPSByb3cua2V5OwogICAgICAgIH0pOwogICAgICAgIHRoaXMuZGF0YSA9IHRhcmdldDsKICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+WIoOmZpOaIkOWKnycpOwogICAgICB9CiAgICB9LAogICAgZGVib3VuY2U6IGZ1bmN0aW9uIGRlYm91bmNlKGZuLCBkZWxheSkgewogICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7CiAgICAgIHRoaXMudGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICBmbigpOwogICAgICB9LCBkZWxheSk7CiAgICB9LAogICAgLy8g6K6+572u6KGo5qC85ouW5ou9CiAgICBzZXREcmFnZ2FibGU6IGZ1bmN0aW9uIHNldERyYWdnYWJsZSgpIHsKICAgICAgdmFyIHRhYmxlID0gdGhpcy4kcmVmcy5EVFRhYmxlOwogICAgICB2YXIgJGRhdGEgPSB0YWJsZS5kYXRhOwogICAgICB2YXIgdGJvZHkgPSB0YWJsZS4kZWwucXVlcnlTZWxlY3RvcignLmVsLXRhYmxlX19ib2R5LXdyYXBwZXIgdGJvZHknKTsKICAgICAgdmFyICR0aGlzID0gdGhpczsKICAgICAgdmFyIHRyQXJyID0gdGJvZHkucXVlcnlTZWxlY3RvckFsbCgndHInKTsKICAgICAgdmFyIGRyYWdTdGFydFkgPSAwOwogICAgICBpZiAodHJBcnIpIHsKICAgICAgICB0ckFyci5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgICAgICAgaXRlbS5zZXRBdHRyaWJ1dGUoJ2RyYWdnYWJsZScsIHRydWUpOwogICAgICAgICAgaXRlbS5zZXRBdHRyaWJ1dGUoJ2RhdGEtaW5kZXgnLCBpbmRleCk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgLy8g5byA5aeL5ouW5ou9CiAgICAgIGZ1bmN0aW9uIGRyYWdzdGFydChlKSB7CiAgICAgICAgY29uc29sZS5sb2coZSwgJ2Rmc2YnKTsKICAgICAgICAkdGhpcy5kZWJvdW5jZShmdW5jdGlvbiAoKSB7CiAgICAgICAgICBkcmFnU3RhcnRZID0gZS55OwogICAgICAgIH0sIDUwKTsKICAgICAgfQogICAgICAvLyDnu5PmnZ/mi5bmi70KICAgICAgZnVuY3Rpb24gZHJhZ2VuZChlKSB7CiAgICAgICAgaWYgKCFlLnRhcmdldCkgcmV0dXJuOwogICAgICAgIHZhciBpbmRleCA9IE51bWJlcihlLnRhcmdldC5kYXRhc2V0LmluZGV4LCAxMCk7CiAgICAgICAgdmFyIHRySGVpZ2h0ID0gZS50YXJnZXQub2Zmc2V0SGVpZ2h0IHx8IDQ1OwogICAgICAgICR0aGlzLmRlYm91bmNlKCAvKiNfX1BVUkVfXyovX2FzeW5jVG9HZW5lcmF0b3IoIC8qI19fUFVSRV9fKi9yZWdlbmVyYXRvclJ1bnRpbWUubWFyayhmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICAgICAgdmFyIGRWYWwsIGFic1ZhbCwgc3RlcCwgcGFyYW1zOwogICAgICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7CiAgICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgZFZhbCA9IGUueSAtIGRyYWdTdGFydFk7CiAgICAgICAgICAgICAgICBhYnNWYWwgPSBNYXRoLmFicyhkVmFsKTsKICAgICAgICAgICAgICAgIHN0ZXAgPSAwOwogICAgICAgICAgICAgICAgaWYgKCEoYWJzVmFsID49IHRySGVpZ2h0KSkgewogICAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGRWYWwgPiAwKSB7CiAgICAgICAgICAgICAgICAgIHN0ZXAgPSBNYXRoLmZsb29yKGRWYWwgLyB0ckhlaWdodCk7CiAgICAgICAgICAgICAgICAgIGlmIChzdGVwID49ICRkYXRhLmxlbmd0aCAtIGluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgc3RlcCA9ICRkYXRhLmxlbmd0aCAtIGluZGV4IC0gMTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgc3RlcCA9IE1hdGguY2VpbChkVmFsIC8gdHJIZWlnaHQpOwogICAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMoc3RlcCkgPiBpbmRleCkgewogICAgICAgICAgICAgICAgICAgIHN0ZXAgPSBpbmRleCAqIC0xOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoIShpbmRleCA9PT0gMCAmJiBzdGVwIDw9IDApKSB7CiAgICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSA3OwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5hYnJ1cHQoInJldHVybiIpOwogICAgICAgICAgICAgIGNhc2UgNzoKICAgICAgICAgICAgICAgIGlmICghKGluZGV4ID09PSAkZGF0YS5sZW5ndGggLSAxICYmIHN0ZXAgPj0gMCkpIHsKICAgICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDk7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmFicnVwdCgicmV0dXJuIik7CiAgICAgICAgICAgICAgY2FzZSA5OgogICAgICAgICAgICAgICAgLy8gY29uc3QgcGFyYW1zID0gewogICAgICAgICAgICAgICAgLy8gICAgIGlkOiAkZGF0YVtpbmRleF0uaWQsCiAgICAgICAgICAgICAgICAvLyAgICAgc3RlcDogc3RlcCAqIC0xLAogICAgICAgICAgICAgICAgLy8gfQogICAgICAgICAgICAgICAgcGFyYW1zID0gewogICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsCiAgICAgICAgICAgICAgICAgIHN0ZXA6IHN0ZXAgKiAtMQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHBhcmFtcywgJ3BhcmFtcycpOwogICAgICAgICAgICAgICAgJHRoaXMuY2hhbmdlU29ydChwYXJhbXMpOwogICAgICAgICAgICAgICAgLy8gJHRoaXMubG9hZGluZyA9IHRydWUKICAgICAgICAgICAgICAgIC8vIC8vIOWQjuerr+aOpeWPowogICAgICAgICAgICAgICAgLy8gYXdhaXQgJHRoaXMuJGFwaS51cmwuc2V0Q29udGVudFNvcnQocGFyYW1zKQogICAgICAgICAgICAgICAgLy8gLy8g6YeN5paw6I635Y+W5pWw5o2uCiAgICAgICAgICAgICAgICAvLyAkdGhpcy5yZWxvYWREYXRhKCkKICAgICAgICAgICAgICBjYXNlIDEyOgogICAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCBfY2FsbGVlKTsKICAgICAgICB9KSksIDUwKTsKICAgICAgfQogICAgICB0Ym9keS5hZGRFdmVudExpc3RlbmVyKCdkcmFnc3RhcnQnLCBkcmFnc3RhcnQpOwogICAgICB0Ym9keS5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW5kJywgZHJhZ2VuZCk7CiAgICB9LAogICAgLy8g5ouW5ou957uT5p2f6YeN5paw5o6S5bqPCiAgICBjaGFuZ2VTb3J0OiBmdW5jdGlvbiBjaGFuZ2VTb3J0KHBhcmFtcykgewogICAgICB2YXIgZGF0YSA9IHV0aWxzLmRlZXBDbG9uZSh0aGlzLmRhdGEpOwogICAgICB2YXIgdGFyZ2V0SW5kZXggPSBwYXJhbXMuaW5kZXggLSBwYXJhbXMuc3RlcDsKICAgICAgdmFyIHRhcmdldEl0ZW0gPSBkYXRhLnNwbGljZShwYXJhbXMuaW5kZXgsIDEpOwogICAgICBkYXRhLnNwbGljZSh0YXJnZXRJbmRleCwgMCwgdGFyZ2V0SXRlbVswXSk7CiAgICAgIHRoaXMuZGF0YSA9IGRhdGE7CiAgICAgIHRoaXMuJGZvcmNlVXBkYXRlKCk7CiAgICB9LAogICAgLy8g5Yqo5oCB6K6h566X6KGo5qC855qE6auY5bqm77yM6Ieq6YCC5bqU5b2T5YmN5a655ZmoCiAgICBjYWxjVGFibGVIZWlnaHQ6IGZ1bmN0aW9uIGNhbGNUYWJsZUhlaWdodChkZWxheSkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM1LnRhYmxlSGVpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAqIDAuOSAtIDIwMDsKICAgICAgfSwgZGVsYXkgfHwgMCk7CiAgICB9CiAgfQp9Ow=="},null]}