{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\sourceLayer\\dataODSCatalog\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\sourceLayer\\dataODSCatalog\\index.vue","mtime":1736794526063},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\babel.config.js","mtime":1733906004399},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIuanMiOwppbXBvcnQgX3JlZ2VuZXJhdG9yUnVudGltZSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vcmVnZW5lcmF0b3JSdW50aW1lLmpzIjsKaW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2RhdGFTaGFyZS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgQVBJIGZyb20gJ0AvYXBpL2J1c2luZXNzL2RhdGFPRFNDYXRhbG9nJzsKaW1wb3J0IHRhYmxlTWl4aW4gZnJvbSAnQC9taXhpbnMvdGFibGUuanMnOyAvLyDliJfooahtaXhpbnMKaW1wb3J0IEZpZWxkc01hbmFnZSBmcm9tICcuL0ZpZWxkc01hbmFnZSc7CmltcG9ydCBTb3VyY2VTZWxlY3RvciBmcm9tICcuL1NvdXJjZVNlbGVjdG9yJzsKaW1wb3J0IERldGFpbERpYWxvZyBmcm9tICcuL0RldGFpbERpYWxvZy52dWUnOwppbXBvcnQgUHV0T3V0RGlhbG9nIGZyb20gJ0Avdmlld3Mvc291cmNlTGF5ZXIvZGF0YU9EU0NhdGFsb2cvUHV0T3V0RGlhbG9nLnZ1ZSc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnJywKICBjb21wb25lbnRzOiB7CiAgICBQdXRPdXREaWFsb2c6IFB1dE91dERpYWxvZywKICAgIFNvdXJjZVNlbGVjdG9yOiBTb3VyY2VTZWxlY3RvciwKICAgIEZpZWxkc01hbmFnZTogRmllbGRzTWFuYWdlLAogICAgRGV0YWlsRGlhbG9nOiBEZXRhaWxEaWFsb2cKICB9LAogIG1peGluczogW3RhYmxlTWl4aW5dLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgdmFyIFRSRUVfQ09ORklHID0gewogICAgICB0cmVlUHJvcHM6IHsKICAgICAgICB2YWx1ZTogJ2lkJywKICAgICAgICBsYWJlbDogJ25hbWUnCiAgICAgIH0sCiAgICAgIGV4cGFuZEFsbDogZmFsc2UsCiAgICAgIGRlZmF1bHRFeHBhbmRlZEtleXM6IFsnMSddLAogICAgICBkZWZhdWx0Q2hlY2tlZEtleXM6IFsnMSddLAogICAgICAvLyDmraTlpIRmaWVsZHPlhoXphY3nva7lr7nosaHlsZ7mgKfljIXmi6w6IGxhYmVsL3Byb3AvcnVsZXMvdHlwZSjmnprkuL46c3dpdGNoL251bWJlci9pbnB1dCjpu5jorqQpKS9zcGFuLwogICAgICB0cmVlRmllbGRzOiBbewogICAgICAgIGxhYmVsOiAn55uu5b2V5ZCN56ewJywKICAgICAgICBwcm9wOiAnbmFtZScsCiAgICAgICAgcnVsZXM6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfotYTmupDnm67lvZXlkI3np7DkuI3og73kuLrnqbonCiAgICAgICAgfV0KICAgICAgfSwgewogICAgICAgIGxhYmVsOiAn55uu5b2V57yW56CBJywKICAgICAgICBwcm9wOiAnY29kZScsCiAgICAgICAgcnVsZXM6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfotYTmupDnm67lvZXnvJbnoIHkuI3og73kuLrnqbonCiAgICAgICAgfV0KICAgICAgfV0sCiAgICAgIGN1ck5vZGU6IHt9IC8vIOW9k+WJjemAieaLqeiKgueCuQogICAgfTsKICAgIHZhciBUQUJMRV9DT05GSUcgPSB7CiAgICAgIC8vIOWIl+ihqOihqOWktAogICAgICBjb2x1bW5zOiBbewogICAgICAgIGxhYmVsOiAn6KGo6LWE5rqQ5ZCN56ewJywKICAgICAgICBwcm9wOiAnbmFtZScKICAgICAgfSwgewogICAgICAgIGxhYmVsOiAn6KGo6LWE5rqQ57yW56CBJywKICAgICAgICBwcm9wOiAnY29kZScsCiAgICAgICAgd2lkdGg6ICczMDAnCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+aVsOaNruW6k+ihqOWQjScsCiAgICAgICAgd2lkdGg6ICcyNTAnLAogICAgICAgIHByb3A6ICd0YWJsZU5hbWVFbicKICAgICAgfSwKICAgICAgLy8gewogICAgICAvLyAgIGxhYmVsOiAn5a6e5L2T6KGo5Lit5paH5ZCNJywKICAgICAgLy8gICB3aWR0aDogJzE1MCcsCiAgICAgIC8vICAgcHJvcDogJ3RhYmxlTmFtZUNoJywKICAgICAgLy8gfSwKICAgICAgLy8gewogICAgICAvLyAgIGxhYmVsOiAn5a6e5L2T6KGo6Iux5paH5ZCNJywKICAgICAgLy8gICB3aWR0aDogJzE4MCcsCiAgICAgIC8vICAgcHJvcDogJ3RhYmxlTmFtZUVuJywKICAgICAgLy8gfSwKICAgICAgewogICAgICAgIGxhYmVsOiAn5Y+R5biD54q25oCBJywKICAgICAgICBwcm9wOiAnZGVwbG95ZWQnLAogICAgICAgIHdpZHRoOiAnMTUwJywKICAgICAgICBhbGlnbjogJ2NlbnRlcicsCiAgICAgICAgZGF0YVR5cGU6ICdzbG90JywKICAgICAgICAvLyDkvb/nlKjmj5Lmp70KICAgICAgICBzbG90OiAnZGVwbG95ZWQnIC8vIOaPkuanveWQje+8jOaQremFjSBkYXRhVHlwZTogJ3Nsb3QnIOS9v+eUqAogICAgICB9LCB7CiAgICAgICAgZGF0YVR5cGU6ICdvcHRpb24nLAogICAgICAgIGxhYmVsOiAn5pON5L2cJywKICAgICAgICB3aWR0aDogJzI0MHB4JywKICAgICAgICBmaXhlZDogJ3JpZ2h0JywKICAgICAgICBvcGVyYXRpb246IFt7CiAgICAgICAgICBuYW1lOiAn5a2X5q61566h55CGJywKICAgICAgICAgIGljb246ICdlbC1pY29uLXMtb3JkZXInLAogICAgICAgICAgY29sb3I6ICcjNDA5ZWZmJywKICAgICAgICAgIC8vIHNob3dIaWRlOiAocm93KSA9PiB7fSwKICAgICAgICAgIGNsaWNrRnVuOiBmdW5jdGlvbiBjbGlja0Z1bihyb3cpIHsKICAgICAgICAgICAgX3RoaXMucm93RGF0YSA9IHJvdzsKICAgICAgICAgICAgX3RoaXMuZmllbGRzVmlzaWJsZSA9IHRydWU7CiAgICAgICAgICB9CiAgICAgICAgfSwgewogICAgICAgICAgbmFtZTogJ+WPkeW4g+W7uuihqCcsCiAgICAgICAgICBpY29uOiAnZWwtaWNvbi1zLXByb21vdGlvbicsCiAgICAgICAgICBjb2xvcjogJyNmYTkxMmEnLAogICAgICAgICAgc2hvd0hpZGU6IGZ1bmN0aW9uIHNob3dIaWRlKHJvdykgewogICAgICAgICAgICByZXR1cm4gcm93LmRlcGxveWVkICE9PSAxOwogICAgICAgICAgfSwKICAgICAgICAgIGNsaWNrRnVuOiBmdW5jdGlvbiBjbGlja0Z1bihyb3cpIHsKICAgICAgICAgICAgX3RoaXMucHVibGlzaFRhYmxlKHJvdyk7CiAgICAgICAgICB9CiAgICAgICAgfSwgewogICAgICAgICAgbmFtZTogJ+WIoOmZpCcsCiAgICAgICAgICBpY29uOiAnZWwtaWNvbi1kZWxldGUnLAogICAgICAgICAgY29sb3I6ICdyZWQnLAogICAgICAgICAgLy8gc2hvd0hpZGU6IHJvdyA9PiB7CiAgICAgICAgICAvLyAgIHJldHVybiByb3cuZGVwbG95ZWQgIT09IDE7CiAgICAgICAgICAvLyB9LAogICAgICAgICAgY2xpY2tGdW46IGZ1bmN0aW9uIGNsaWNrRnVuKHJvdykgewogICAgICAgICAgICBfdGhpcy4kY29uZmlybSgiXHU2QjY0XHU2NENEXHU0RjVDXHU1QzA2XHU2QzM4XHU0RTQ1XHU1MjIwXHU5NjY0XHU4RDQ0XHU2RTkwXHU5ODc5XHVGRjA4Ii5jb25jYXQocm93Lm5hbWUsICJcdUZGMDksIFx1NjYyRlx1NTQyNlx1N0VFN1x1N0VFRD8iKSwgJ+aPkOekuicsIHsKICAgICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsCiAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsCiAgICAgICAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgICAgICAgIH0pLnRoZW4oLyojX19QVVJFX18qL19hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICAgICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICAgICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgICAgIF9jb250ZXh0LnByZXYgPSAwOwogICAgICAgICAgICAgICAgICAgIF90aGlzLnRhYmxlTG9hZGluZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDQ7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFQSS5kZWxTb3VyY2Uocm93LmlkKTsKICAgICAgICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgICAgICAgIF90aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+aVsOaNruW3suWIoOmZpCcpOwogICAgICAgICAgICAgICAgICAgIF90aGlzLnJlZnJlc2goKTsKICAgICAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTE7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgIGNhc2UgODoKICAgICAgICAgICAgICAgICAgICBfY29udGV4dC5wcmV2ID0gODsKICAgICAgICAgICAgICAgICAgICBfY29udGV4dC50MCA9IF9jb250ZXh0WyJjYXRjaCJdKDApOwogICAgICAgICAgICAgICAgICAgIF90aGlzLnRhYmxlTG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICAgICAgICBjYXNlIDExOgogICAgICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwgX2NhbGxlZSwgbnVsbCwgW1swLCA4XV0pOwogICAgICAgICAgICB9KSkpOwogICAgICAgICAgfQogICAgICAgIH1dCiAgICAgIH1dLAogICAgICBkZWZhdWx0RmlsdGVyOiBbewogICAgICAgIG9wZXJhdGlvbjogJ0VRVUFMJywKICAgICAgICBwcm9wZXJ0eTogJ29kc0NhdGFsb2dzSWQnLAogICAgICAgIHJlbGF0aW9uOiAnQU5EJywKICAgICAgICB2YWx1ZTogJycKICAgICAgfV0sCiAgICAgIHJvd0RhdGE6IHt9CiAgICB9OwogICAgdmFyIERJQUxPR19DT05GSUcgPSB7CiAgICAgIGRpYWxvZ1Zpc2libGU6IGZhbHNlLAogICAgICBmaWVsZHNWaXNpYmxlOiBmYWxzZSwKICAgICAgZGlhbG9nVGl0bGU6ICflr7zlhaUnLAogICAgICBkaWFsb2dkZXRhaWw6IGZhbHNlLAogICAgICBkZXRhaWxUaXRsZTogJ+aWsOWinicsCiAgICAgIGRpYWxvZ2REYXRhOiB7fSwKICAgICAgcHV0T3V0VmlzaWJsZTogZmFsc2UKICAgIH07CiAgICByZXR1cm4gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoewogICAgICB0cmVlRGF0YTogW10KICAgIH0sIFRSRUVfQ09ORklHKSwgVEFCTEVfQ09ORklHKSwgRElBTE9HX0NPTkZJRyk7CiAgfSwKICBjb21wdXRlZDogewogICAgZGF0YU1ldGhvZDogZnVuY3Rpb24gZGF0YU1ldGhvZCgpIHsKICAgICAgcmV0dXJuIEFQSS5nZXRTb3VyY2VMaXN0OwogICAgfSAvLyBpbml0UmVmcmVzaDogKCkgPT4gZmFsc2UsCiAgfSwKICBtZXRob2RzOiB7CiAgICBnZXRUcmVlTm9kZXM6IGZ1bmN0aW9uIGdldFRyZWVOb2RlcygpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTIoKSB7CiAgICAgICAgdmFyIF95aWVsZCRBUEkkcXVlcnlUcmVlRCwgdmFsdWU7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUyJChfY29udGV4dDIpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0Mi5wcmV2ID0gX2NvbnRleHQyLm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMjsKICAgICAgICAgICAgICByZXR1cm4gQVBJLnF1ZXJ5VHJlZURhdGEoKTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIF95aWVsZCRBUEkkcXVlcnlUcmVlRCA9IF9jb250ZXh0Mi5zZW50OwogICAgICAgICAgICAgIHZhbHVlID0gX3lpZWxkJEFQSSRxdWVyeVRyZWVELnZhbHVlOwogICAgICAgICAgICAgIF90aGlzMi5kZWZhdWx0RXhwYW5kZWRLZXlzID0gWyh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogdmFsdWVbMF0uaWQpIHx8ICcnXTsKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLmFicnVwdCgicmV0dXJuIiwgewogICAgICAgICAgICAgICAgZGF0YTogdmFsdWUgfHwgW10KICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgY2FzZSA2OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDIuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUyKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgcmVsb2FkVHJlZTogZnVuY3Rpb24gcmVsb2FkVHJlZSgpIHsKICAgICAgdGhpcy4kcmVmcy5hcHBBc3luY1RyZWUuZ2V0VHJlZURhdGEoKTsKICAgIH0sCiAgICAvKioNCiAgICAgKiBAZGVzY3JpcHRpb246IHRyZWVBY3Rpb25z5pSv5oyB5Ye95pWw5Lmf5pSv5oyB5pWw57uE77yM55Sx5LqO5a6e6ZmF5Zy65pmv5b2T5LitIOWPr+iDveS8muWKqOaAgeiuvue9ruaMiemSru+8jOaVheS7peWHveaVsOekuuS+i+adpeWxleekug0KICAgICAqIEBwYXJhbSB7Kn0gZGF0YSDlvZPliY3ngrnlh7voioLngrnmlbDmja4NCiAgICAgKiBAcmV0dXJuIHsqfSDlvZPliY3oioLngrnlsZXnpLrnmoTmk43kvZzpobnmlbDnu4QNCiAgICAgKi8KICAgIHRyZWVBY3Rpb25zOiBmdW5jdGlvbiB0cmVlQWN0aW9ucyhkYXRhKSB7CiAgICAgIC8vIOagueiKgueCueWIpOaWreaWueW8j+S7peS4muWKoeS4uuWHhu+8jOatpOWkhOS7heS4uuekuuS+iwogICAgICByZXR1cm4gW3sKICAgICAgICBsYWJlbDogJ+a3u+WKoCcsCiAgICAgICAgdHlwZTogJ2FkZCcsCiAgICAgICAgbWV0aG9kOiB0aGlzLmFkZE5vZGUKICAgICAgfSwgewogICAgICAgIGxhYmVsOiAn57yW6L6RJywKICAgICAgICB0eXBlOiAnZWRpdCcsCiAgICAgICAgbWV0aG9kOiB0aGlzLmVkaXROb2RlLAogICAgICAgIHNob3dIaWRlOiBmdW5jdGlvbiBzaG93SGlkZShyb3cpIHsKICAgICAgICAgIHJldHVybiByb3cuaWQgIT09ICcxJzsKICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+WIoOmZpCcsCiAgICAgICAgdHlwZTogJ2RlbGV0ZScsCiAgICAgICAgbWV0aG9kOiB0aGlzLmRlbE5vZGUsCiAgICAgICAgc2hvd0hpZGU6IGZ1bmN0aW9uIHNob3dIaWRlKHJvdykgewogICAgICAgICAgcmV0dXJuIHJvdy5pZCAhPT0gJzEnOwogICAgICAgIH0KICAgICAgfV07CiAgICB9LAogICAgb25UcmVlTm9kZUNsaWNrOiBmdW5jdGlvbiBvblRyZWVOb2RlQ2xpY2sobm9kZSkgewogICAgICB2YXIgX3RoaXMkY3VyTm9kZTsKICAgICAgaWYgKG5vZGUuaWQgPT09ICgoX3RoaXMkY3VyTm9kZSA9IHRoaXMuY3VyTm9kZSkgPT09IG51bGwgfHwgX3RoaXMkY3VyTm9kZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3RoaXMkY3VyTm9kZS5pZCkpIHJldHVybjsKICAgICAgdGhpcy5jdXJOb2RlID0gX29iamVjdFNwcmVhZCh7fSwgbm9kZSk7CiAgICAgIC8vIHRoaXMuZmlsdGVyc1snb2RzQ2F0YWxvZ3NJZCddID0gbm9kZS5pZDsKICAgICAgLy8gdGhpcy5pbXBvcnREYXRhLmNhdGFsb2dJZCA9IHRoaXMuY3VyTm9kZS5pZDsKICAgICAgdGhpcy5yZWZyZXNoKCk7CiAgICAgIHRoaXMuZ2V0RGF0YSgpOwogICAgfSwKICAgIC8vIOaWsOWinuebruW9lQogICAgYWRkTm9kZTogZnVuY3Rpb24gYWRkTm9kZShwYXJhbXMsIG5vZGUpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTMoKSB7CiAgICAgICAgdmFyIGNvZGUsIG5hbWUsIGlkLCBuZXdOb2RlLCBfeWllbGQkQVBJJGFkZFRyZWVOb2QsIHN0YXRlLCBtZXNzYWdlOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMyQoX2NvbnRleHQzKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDMucHJldiA9IF9jb250ZXh0My5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBjb2RlID0gcGFyYW1zLmNvZGUsIG5hbWUgPSBwYXJhbXMubmFtZTsKICAgICAgICAgICAgICBpZCA9IG5vZGUuaWQ7CiAgICAgICAgICAgICAgbmV3Tm9kZSA9IHsKICAgICAgICAgICAgICAgIGNvZGU6IGNvZGUsCiAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLAogICAgICAgICAgICAgICAgcGFyZW50SWQ6IGlkCiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBfY29udGV4dDMucHJldiA9IDM7CiAgICAgICAgICAgICAgX2NvbnRleHQzLm5leHQgPSA2OwogICAgICAgICAgICAgIHJldHVybiBBUEkuYWRkVHJlZU5vZGUobmV3Tm9kZSk7CiAgICAgICAgICAgIGNhc2UgNjoKICAgICAgICAgICAgICBfeWllbGQkQVBJJGFkZFRyZWVOb2QgPSBfY29udGV4dDMuc2VudDsKICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCRBUEkkYWRkVHJlZU5vZC5zdGF0ZTsKICAgICAgICAgICAgICBtZXNzYWdlID0gX3lpZWxkJEFQSSRhZGRUcmVlTm9kLm1lc3NhZ2U7CiAgICAgICAgICAgICAgaWYgKHN0YXRlKSB7CiAgICAgICAgICAgICAgICBfdGhpczMucmVsb2FkVHJlZSgpOwogICAgICAgICAgICAgICAgX3RoaXMzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+a3u+WKoOi1hOa6kOebruW9leaIkOWKn++8gScpOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBfdGhpczMuJG1lc3NhZ2Uud2FybmluZyhtZXNzYWdlIHx8ICfmt7vliqDotLTmupDlsYLnm67lvZXlpLHotKXvvIEnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQzLm5leHQgPSAxNTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxMjoKICAgICAgICAgICAgICBfY29udGV4dDMucHJldiA9IDEyOwogICAgICAgICAgICAgIF9jb250ZXh0My50MCA9IF9jb250ZXh0M1siY2F0Y2giXSgzKTsKICAgICAgICAgICAgICBfdGhpczMuJG1lc3NhZ2Uud2FybmluZyhfY29udGV4dDMudDAgfHwgJ+a3u+WKoOi0tOa6kOWxguebruW9leWksei0pe+8gScpOwogICAgICAgICAgICBjYXNlIDE1OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDMuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUzLCBudWxsLCBbWzMsIDEyXV0pOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDnvJbovpEKICAgIGVkaXROb2RlOiBmdW5jdGlvbiBlZGl0Tm9kZShwYXJhbXMpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTQoKSB7CiAgICAgICAgdmFyIGNvZGUsIG5hbWUsIHBhcmVudElkLCBpZCwgbmV3Tm9kZSwgX3lpZWxkJEFQSSRlZGl0VHJlZU5vLCBzdGF0ZSwgbWVzc2FnZTsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTQkKF9jb250ZXh0NCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQ0LnByZXYgPSBfY29udGV4dDQubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgY29kZSA9IHBhcmFtcy5jb2RlLCBuYW1lID0gcGFyYW1zLm5hbWUsIHBhcmVudElkID0gcGFyYW1zLnBhcmVudElkLCBpZCA9IHBhcmFtcy5pZDsKICAgICAgICAgICAgICBuZXdOb2RlID0gewogICAgICAgICAgICAgICAgY29kZTogY29kZSwKICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsCiAgICAgICAgICAgICAgICBpZDogaWQsCiAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQKICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIF9jb250ZXh0NC5wcmV2ID0gMjsKICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDU7CiAgICAgICAgICAgICAgcmV0dXJuIEFQSS5lZGl0VHJlZU5vZGUobmV3Tm9kZSk7CiAgICAgICAgICAgIGNhc2UgNToKICAgICAgICAgICAgICBfeWllbGQkQVBJJGVkaXRUcmVlTm8gPSBfY29udGV4dDQuc2VudDsKICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCRBUEkkZWRpdFRyZWVOby5zdGF0ZTsKICAgICAgICAgICAgICBtZXNzYWdlID0gX3lpZWxkJEFQSSRlZGl0VHJlZU5vLm1lc3NhZ2U7CiAgICAgICAgICAgICAgaWYgKHN0YXRlKSB7CiAgICAgICAgICAgICAgICBfdGhpczQucmVsb2FkVHJlZSgpOwogICAgICAgICAgICAgICAgX3RoaXM0LiRtZXNzYWdlLnN1Y2Nlc3MoJ+e8lui+kei0tOa6kOWxguebruW9leaIkOWKn++8gScpOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBfdGhpczQuJG1lc3NhZ2Uud2FybmluZyhtZXNzYWdlIHx8ICfnvJbovpHotLTmupDlsYLnm67lvZXlpLHotKXvvIEnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQ0Lm5leHQgPSAxNDsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxMToKICAgICAgICAgICAgICBfY29udGV4dDQucHJldiA9IDExOwogICAgICAgICAgICAgIF9jb250ZXh0NC50MCA9IF9jb250ZXh0NFsiY2F0Y2giXSgyKTsKICAgICAgICAgICAgICBfdGhpczQuJG1lc3NhZ2Uud2FybmluZyhfY29udGV4dDQudDAgfHwgJ+e8lui+kei0tOa6kOWxguebruW9leWksei0pe+8gScpOwogICAgICAgICAgICBjYXNlIDE0OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWU0LCBudWxsLCBbWzIsIDExXV0pOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDliKDpmaQKICAgIGRlbE5vZGU6IGZ1bmN0aW9uIGRlbE5vZGUocGFyYW1zLCBub2RlKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWU1KCkgewogICAgICAgIHZhciBfeWllbGQkQVBJJGRlbFRyZWVOb2QsIHN0YXRlLCBtZXNzYWdlOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlNSQoX2NvbnRleHQ1KSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDUucHJldiA9IF9jb250ZXh0NS5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dDUucHJldiA9IDA7CiAgICAgICAgICAgICAgX2NvbnRleHQ1Lm5leHQgPSAzOwogICAgICAgICAgICAgIHJldHVybiBBUEkuZGVsVHJlZU5vZGUobm9kZS5pZCk7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICBfeWllbGQkQVBJJGRlbFRyZWVOb2QgPSBfY29udGV4dDUuc2VudDsKICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCRBUEkkZGVsVHJlZU5vZC5zdGF0ZTsKICAgICAgICAgICAgICBtZXNzYWdlID0gX3lpZWxkJEFQSSRkZWxUcmVlTm9kLm1lc3NhZ2U7CiAgICAgICAgICAgICAgaWYgKHN0YXRlKSB7CiAgICAgICAgICAgICAgICBfdGhpczUucmVsb2FkVHJlZSgpOwogICAgICAgICAgICAgICAgX3RoaXM1LiRtZXNzYWdlLnN1Y2Nlc3MoJ+WIoOmZpOi0tOa6kOWxguebruW9leaIkOWKn++8gScpOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBfdGhpczUuJG1lc3NhZ2Uud2FybmluZyhtZXNzYWdlIHx8ICfliKDpmaTotLTmupDlsYLnm67lvZXlpLHotKXvvIEnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQ1Lm5leHQgPSAxMjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA5OgogICAgICAgICAgICAgIF9jb250ZXh0NS5wcmV2ID0gOTsKICAgICAgICAgICAgICBfY29udGV4dDUudDAgPSBfY29udGV4dDVbImNhdGNoIl0oMCk7CiAgICAgICAgICAgICAgX3RoaXM1LiRtZXNzYWdlLndhcm5pbmcoX2NvbnRleHQ1LnQwIHx8ICfliKDpmaTotLTmupDlsYLnm67lvZXlpLHotKXvvIEnKTsKICAgICAgICAgICAgY2FzZSAxMjoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQ1LnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlNSwgbnVsbCwgW1swLCA5XV0pOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDmlrDlop7otYTmupDpobkgICAgKG9kc0NhdGFsb2dzSWQg55uu5b2VSUQpCiAgICBhZGRvc2Q6IGZ1bmN0aW9uIGFkZG9zZCgpIHsKICAgICAgdmFyIF90aGlzJGN1ck5vZGUyOwogICAgICBpZiAoISgoX3RoaXMkY3VyTm9kZTIgPSB0aGlzLmN1ck5vZGUpICE9PSBudWxsICYmIF90aGlzJGN1ck5vZGUyICE9PSB2b2lkIDAgJiYgX3RoaXMkY3VyTm9kZTIuaWQpKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fpgInmi6notYTmupDpobnmiYDlsZ7nm67lvZUnKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhpcy5kZXRhaWxUaXRsZSA9ICfmlrDlop7mlbDmja7otYTmupAnOwogICAgICB0aGlzLmRpYWxvZ2REYXRhID0gewogICAgICAgIG9kc0NhdGFsb2dzSWQ6IHRoaXMuY3VyTm9kZS5pZAogICAgICB9OwogICAgICB0aGlzLmRpYWxvZ2RldGFpbCA9IHRydWU7CiAgICB9LAogICAgLy8g57yW6L6R6LWE5rqQ6aG5CiAgICBzaG93RGV0YWlsOiBmdW5jdGlvbiBzaG93RGV0YWlsKHJvdykgewogICAgICB0aGlzLmRldGFpbFRpdGxlID0gIlx1N0YxNlx1OEY5MSAtICIuY29uY2F0KHJvdy5uYW1lKTsKICAgICAgdGhpcy5kaWFsb2dkRGF0YSA9IHJvdzsKICAgICAgdGhpcy5kaWFsb2dkZXRhaWwgPSB0cnVlOwogICAgfSwKICAgIG9uQmVmb3JlR2V0RGF0YTogZnVuY3Rpb24gb25CZWZvcmVHZXREYXRhKHF1ZXJ5UGFyYW1zLCBmb3JtRGF0YSkgewogICAgICB0aGlzLnNldEZpbHRlclZhbHVlKHRoaXMucXVlcnlQYXJhbXMsIHRoaXMuZGVmYXVsdEZpbHRlciwgJ29kc0NhdGFsb2dzSWQnLCB0aGlzLmN1ck5vZGUuaWQpOwogICAgfSwKICAgIC8vIOaWsOWinuehruWumuaMiemSrgogICAgb25Db25maXJtOiBmdW5jdGlvbiBvbkNvbmZpcm0oZGF0YSwgcERhdGEpIHsKICAgICAgdGhpcy5nZXREYXRhKCk7CiAgICAgIHRoaXMucmVmcmVzaCgpOwogICAgfSwKICAgIC8vIOWvvOWFpQogICAgZGF0YUFkZDogZnVuY3Rpb24gZGF0YUFkZCgpIHsKICAgICAgdGhpcy5kaWFsb2dUaXRsZSA9ICflr7zlhaXotLTmupDlsYLmlbDmja7mupAnOwogICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSB0cnVlOwogICAgfSwKICAgIC8vIOWPkeW4g+aMiemSrgogICAgcHVibGlzaFRhYmxlOiBmdW5jdGlvbiBwdWJsaXNoVGFibGUoZGF0YSkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlNigpIHsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTYkKF9jb250ZXh0NikgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQ2LnByZXYgPSBfY29udGV4dDYubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX3RoaXM2LmN1cnJlbnRSb3cgPSBkYXRhOwogICAgICAgICAgICAgIF90aGlzNi5wdXRPdXRWaXNpYmxlID0gdHJ1ZTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDYuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWU2KTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g5a+85YWl5oyJ6ZKuCiAgICBvbkFkZENvbmZpcm06IGZ1bmN0aW9uIG9uQWRkQ29uZmlybSgpIHsKICAgICAgdGhpcy5nZXREYXRhKCk7CiAgICB9CiAgfQp9Ow=="},null]}