/* * ATTENTION: An "eval-source-map" devtool has been used. * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ (() => { var exports = {}; exports.id = 'pages/index'; exports.ids = ['pages/index']; exports.modules = { /***/ '../../node_modules/next/dist/client/add-base-path.js': /*!************************************************************!*\ !*** ../../node_modules/next/dist/client/add-base-path.js ***! \************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.addBasePath = addBasePath;\n\nvar _addPathPrefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"../shared/lib/router/utils/add-path-prefix\");\n\nvar _normalizeTrailingSlash = __webpack_require__(/*! ./normalize-trailing-slash */ \"../../node_modules/next/dist/client/normalize-trailing-slash.js\");\n\nconst basePath = false || '';\n\nfunction addBasePath(path, required) {\n if (false) {}\n\n return (0, _normalizeTrailingSlash).normalizePathTrailingSlash((0, _addPathPrefix).addPathPrefix(path, basePath));\n}\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvYWRkLWJhc2UtcGF0aC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFDYkEsOENBQTZDO0VBQ3pDRyxLQUFLLEVBQUU7QUFEa0MsQ0FBN0M7QUFHQUQsbUJBQUEsR0FBc0JFLFdBQXRCOztBQUNBLElBQUlDLGNBQWMsR0FBR0MsbUJBQU8sQ0FBQyw4RkFBRCxDQUE1Qjs7QUFDQSxJQUFJQyx1QkFBdUIsR0FBR0QsbUJBQU8sQ0FBQyxtR0FBRCxDQUFyQzs7QUFDQSxNQUFNRSxRQUFRLEdBQUdDLE1BQUEsSUFBc0MsRUFBdkQ7O0FBQ0EsU0FBU0wsV0FBVCxDQUFxQlEsSUFBckIsRUFBMkJDLFFBQTNCLEVBQXFDO0VBQ2pDLElBQUlKLEtBQUosRUFBZ0QsRUFJL0M7O0VBQ0QsT0FBTyxDQUFDLEdBQUdGLHVCQUFKLEVBQTZCUSwwQkFBN0IsQ0FBd0QsQ0FBQyxHQUFHVixjQUFKLEVBQW9CVyxhQUFwQixDQUFrQ0osSUFBbEMsRUFBd0NKLFFBQXhDLENBQXhELENBQVA7QUFDSDs7QUFFRCxJQUFJLENBQUMsT0FBT04sT0FBTyxDQUFDZSxPQUFmLEtBQTJCLFVBQTNCLElBQTBDLE9BQU9mLE9BQU8sQ0FBQ2UsT0FBZixLQUEyQixRQUEzQixJQUF1Q2YsT0FBTyxDQUFDZSxPQUFSLEtBQW9CLElBQXRHLEtBQWdILE9BQU9mLE9BQU8sQ0FBQ2UsT0FBUixDQUFnQkMsVUFBdkIsS0FBc0MsV0FBMUosRUFBdUs7RUFDcktsQixNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE9BQU8sQ0FBQ2UsT0FBOUIsRUFBdUMsWUFBdkMsRUFBcUQ7SUFBRWQsS0FBSyxFQUFFO0VBQVQsQ0FBckQ7RUFDQUgsTUFBTSxDQUFDbUIsTUFBUCxDQUFjakIsT0FBTyxDQUFDZSxPQUF0QixFQUErQmYsT0FBL0I7RUFDQWtCLE1BQU0sQ0FBQ2xCLE9BQVAsR0FBaUJBLE9BQU8sQ0FBQ2UsT0FBekI7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvYWRkLWJhc2UtcGF0aC5qcz9iNzM5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5hZGRCYXNlUGF0aCA9IGFkZEJhc2VQYXRoO1xudmFyIF9hZGRQYXRoUHJlZml4ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeFwiKTtcbnZhciBfbm9ybWFsaXplVHJhaWxpbmdTbGFzaCA9IHJlcXVpcmUoXCIuL25vcm1hbGl6ZS10cmFpbGluZy1zbGFzaFwiKTtcbmNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCB8fCAnJztcbmZ1bmN0aW9uIGFkZEJhc2VQYXRoKHBhdGgsIHJlcXVpcmVkKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCkge1xuICAgICAgICBpZiAoIXJlcXVpcmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gKDAsIF9ub3JtYWxpemVUcmFpbGluZ1NsYXNoKS5ub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCgoMCwgX2FkZFBhdGhQcmVmaXgpLmFkZFBhdGhQcmVmaXgocGF0aCwgYmFzZVBhdGgpKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWRkLWJhc2UtcGF0aC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJhZGRCYXNlUGF0aCIsIl9hZGRQYXRoUHJlZml4IiwicmVxdWlyZSIsIl9ub3JtYWxpemVUcmFpbGluZ1NsYXNoIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJyZXF1aXJlZCIsIl9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwiYWRkUGF0aFByZWZpeCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/add-base-path.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/add-locale.js': /*!*********************************************************!*\ !*** ../../node_modules/next/dist/client/add-locale.js ***! \*********************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.addLocale = void 0;\n\nvar _normalizeTrailingSlash = __webpack_require__(/*! ./normalize-trailing-slash */ \"../../node_modules/next/dist/client/normalize-trailing-slash.js\");\n\nconst addLocale = (path, ...args) => {\n if (false) {}\n\n return path;\n};\n\nexports.addLocale = addLocale;\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvYWRkLWxvY2FsZS5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFDYkEsOENBQTZDO0VBQ3pDRyxLQUFLLEVBQUU7QUFEa0MsQ0FBN0M7QUFHQUQsaUJBQUEsR0FBb0IsS0FBSyxDQUF6Qjs7QUFDQSxJQUFJRyx1QkFBdUIsR0FBR0MsbUJBQU8sQ0FBQyxtR0FBRCxDQUFyQzs7QUFDQSxNQUFNRixTQUFTLEdBQUcsQ0FBQ0csSUFBRCxFQUFPLEdBQUdDLElBQVYsS0FBaUI7RUFDL0IsSUFBSUMsS0FBSixFQUFxQyxFQUVwQzs7RUFDRCxPQUFPRixJQUFQO0FBQ0gsQ0FMRDs7QUFNQUwsaUJBQUEsR0FBb0JFLFNBQXBCOztBQUVBLElBQUksQ0FBQyxPQUFPRixPQUFPLENBQUNXLE9BQWYsS0FBMkIsVUFBM0IsSUFBMEMsT0FBT1gsT0FBTyxDQUFDVyxPQUFmLEtBQTJCLFFBQTNCLElBQXVDWCxPQUFPLENBQUNXLE9BQVIsS0FBb0IsSUFBdEcsS0FBZ0gsT0FBT1gsT0FBTyxDQUFDVyxPQUFSLENBQWdCQyxVQUF2QixLQUFzQyxXQUExSixFQUF1SztFQUNyS2QsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxPQUFPLENBQUNXLE9BQTlCLEVBQXVDLFlBQXZDLEVBQXFEO0lBQUVWLEtBQUssRUFBRTtFQUFULENBQXJEO0VBQ0FILE1BQU0sQ0FBQ2UsTUFBUCxDQUFjYixPQUFPLENBQUNXLE9BQXRCLEVBQStCWCxPQUEvQjtFQUNBYyxNQUFNLENBQUNkLE9BQVAsR0FBaUJBLE9BQU8sQ0FBQ1csT0FBekI7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvYWRkLWxvY2FsZS5qcz81YmFiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5hZGRMb2NhbGUgPSB2b2lkIDA7XG52YXIgX25vcm1hbGl6ZVRyYWlsaW5nU2xhc2ggPSByZXF1aXJlKFwiLi9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2hcIik7XG5jb25zdCBhZGRMb2NhbGUgPSAocGF0aCwgLi4uYXJncyk9PntcbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICByZXR1cm4gKDAsIF9ub3JtYWxpemVUcmFpbGluZ1NsYXNoKS5ub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaChyZXF1aXJlKCcuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtbG9jYWxlJykuYWRkTG9jYWxlKHBhdGgsIC4uLmFyZ3MpKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhdGg7XG59O1xuZXhwb3J0cy5hZGRMb2NhbGUgPSBhZGRMb2NhbGU7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1sb2NhbGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiYWRkTG9jYWxlIiwiX25vcm1hbGl6ZVRyYWlsaW5nU2xhc2giLCJyZXF1aXJlIiwicGF0aCIsImFyZ3MiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/add-locale.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/detect-domain-locale.js': /*!*******************************************************************!*\ !*** ../../node_modules/next/dist/client/detect-domain-locale.js ***! \*******************************************************************/ /***/ (module, exports) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.detectDomainLocale = void 0;\n\nconst detectDomainLocale = (...args) => {\n if (false) {}\n};\n\nexports.detectDomainLocale = detectDomainLocale;\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvZGV0ZWN0LWRvbWFpbi1sb2NhbGUuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBQ2JBLDhDQUE2QztFQUN6Q0csS0FBSyxFQUFFO0FBRGtDLENBQTdDO0FBR0FELDBCQUFBLEdBQTZCLEtBQUssQ0FBbEM7O0FBQ0EsTUFBTUUsa0JBQWtCLEdBQUcsQ0FBQyxHQUFHQyxJQUFKLEtBQVc7RUFDbEMsSUFBSUMsS0FBSixFQUFxQyxFQUVwQztBQUNKLENBSkQ7O0FBS0FKLDBCQUFBLEdBQTZCRSxrQkFBN0I7O0FBRUEsSUFBSSxDQUFDLE9BQU9GLE9BQU8sQ0FBQ1EsT0FBZixLQUEyQixVQUEzQixJQUEwQyxPQUFPUixPQUFPLENBQUNRLE9BQWYsS0FBMkIsUUFBM0IsSUFBdUNSLE9BQU8sQ0FBQ1EsT0FBUixLQUFvQixJQUF0RyxLQUFnSCxPQUFPUixPQUFPLENBQUNRLE9BQVIsQ0FBZ0JDLFVBQXZCLEtBQXNDLFdBQTFKLEVBQXVLO0VBQ3JLWCxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE9BQU8sQ0FBQ1EsT0FBOUIsRUFBdUMsWUFBdkMsRUFBcUQ7SUFBRVAsS0FBSyxFQUFFO0VBQVQsQ0FBckQ7RUFDQUgsTUFBTSxDQUFDWSxNQUFQLENBQWNWLE9BQU8sQ0FBQ1EsT0FBdEIsRUFBK0JSLE9BQS9CO0VBQ0FXLE1BQU0sQ0FBQ1gsT0FBUCxHQUFpQkEsT0FBTyxDQUFDUSxPQUF6QjtBQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi8uLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXRlY3QtZG9tYWluLWxvY2FsZS5qcz9jMWZmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZXRlY3REb21haW5Mb2NhbGUgPSB2b2lkIDA7XG5jb25zdCBkZXRlY3REb21haW5Mb2NhbGUgPSAoLi4uYXJncyk9PntcbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZSgnLi4vc2hhcmVkL2xpYi9pMThuL2RldGVjdC1kb21haW4tbG9jYWxlJykuZGV0ZWN0RG9tYWluTG9jYWxlKC4uLmFyZ3MpO1xuICAgIH1cbn07XG5leHBvcnRzLmRldGVjdERvbWFpbkxvY2FsZSA9IGRldGVjdERvbWFpbkxvY2FsZTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGV0ZWN0LWRvbWFpbi1sb2NhbGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwiYXJncyIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwicmVxdWlyZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/detect-domain-locale.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/get-domain-locale.js': /*!****************************************************************!*\ !*** ../../node_modules/next/dist/client/get-domain-locale.js ***! \****************************************************************/ /***/ (module, exports) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getDomainLocale = getDomainLocale;\nconst basePath = false || '';\n\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (false) {} else {\n return false;\n }\n}\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvZ2V0LWRvbWFpbi1sb2NhbGUuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBQ2JBLDhDQUE2QztFQUN6Q0csS0FBSyxFQUFFO0FBRGtDLENBQTdDO0FBR0FELHVCQUFBLEdBQTBCRSxlQUExQjtBQUNBLE1BQU1DLFFBQVEsR0FBR0MsTUFBQSxJQUFzQyxFQUF2RDs7QUFDQSxTQUFTRixlQUFULENBQXlCSyxJQUF6QixFQUErQkMsTUFBL0IsRUFBdUNDLE9BQXZDLEVBQWdEQyxhQUFoRCxFQUErRDtFQUMzRCxJQUFJTixLQUFKLEVBQXFDLEVBQXJDLE1BV087SUFDSCxPQUFPLEtBQVA7RUFDSDtBQUNKOztBQUVELElBQUksQ0FBQyxPQUFPSixPQUFPLENBQUN1QixPQUFmLEtBQTJCLFVBQTNCLElBQTBDLE9BQU92QixPQUFPLENBQUN1QixPQUFmLEtBQTJCLFFBQTNCLElBQXVDdkIsT0FBTyxDQUFDdUIsT0FBUixLQUFvQixJQUF0RyxLQUFnSCxPQUFPdkIsT0FBTyxDQUFDdUIsT0FBUixDQUFnQkMsVUFBdkIsS0FBc0MsV0FBMUosRUFBdUs7RUFDcksxQixNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE9BQU8sQ0FBQ3VCLE9BQTlCLEVBQXVDLFlBQXZDLEVBQXFEO0lBQUV0QixLQUFLLEVBQUU7RUFBVCxDQUFyRDtFQUNBSCxNQUFNLENBQUMyQixNQUFQLENBQWN6QixPQUFPLENBQUN1QixPQUF0QixFQUErQnZCLE9BQS9CO0VBQ0EwQixNQUFNLENBQUMxQixPQUFQLEdBQWlCQSxPQUFPLENBQUN1QixPQUF6QjtBQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi8uLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9nZXQtZG9tYWluLWxvY2FsZS5qcz8wZDA0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5nZXREb21haW5Mb2NhbGUgPSBnZXREb21haW5Mb2NhbGU7XG5jb25zdCBiYXNlUGF0aCA9IHByb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEggfHwgJyc7XG5mdW5jdGlvbiBnZXREb21haW5Mb2NhbGUocGF0aCwgbG9jYWxlLCBsb2NhbGVzLCBkb21haW5Mb2NhbGVzKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9JMThOX1NVUFBPUlQpIHtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplTG9jYWxlUGF0aCA9IHJlcXVpcmUoJy4vbm9ybWFsaXplLWxvY2FsZS1wYXRoJykubm9ybWFsaXplTG9jYWxlUGF0aDtcbiAgICAgICAgY29uc3QgZGV0ZWN0RG9tYWluTG9jYWxlID0gcmVxdWlyZSgnLi9kZXRlY3QtZG9tYWluLWxvY2FsZScpLmRldGVjdERvbWFpbkxvY2FsZTtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gbG9jYWxlIHx8IG5vcm1hbGl6ZUxvY2FsZVBhdGgocGF0aCwgbG9jYWxlcykuZGV0ZWN0ZWRMb2NhbGU7XG4gICAgICAgIGNvbnN0IGRvbWFpbiA9IGRldGVjdERvbWFpbkxvY2FsZShkb21haW5Mb2NhbGVzLCB1bmRlZmluZWQsIHRhcmdldCk7XG4gICAgICAgIGlmIChkb21haW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHByb3RvID0gYGh0dHAke2RvbWFpbi5odHRwID8gJycgOiAncyd9Oi8vYDtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsTG9jYWxlID0gdGFyZ2V0ID09PSBkb21haW4uZGVmYXVsdExvY2FsZSA/ICcnIDogYC8ke3RhcmdldH1gO1xuICAgICAgICAgICAgcmV0dXJuIGAke3Byb3RvfSR7ZG9tYWluLmRvbWFpbn0ke2Jhc2VQYXRofSR7ZmluYWxMb2NhbGV9JHtwYXRofWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC1kb21haW4tbG9jYWxlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImdldERvbWFpbkxvY2FsZSIsImJhc2VQYXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJwYXRoIiwibG9jYWxlIiwibG9jYWxlcyIsImRvbWFpbkxvY2FsZXMiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwibm9ybWFsaXplTG9jYWxlUGF0aCIsInJlcXVpcmUiLCJkZXRlY3REb21haW5Mb2NhbGUiLCJ0YXJnZXQiLCJkZXRlY3RlZExvY2FsZSIsImRvbWFpbiIsInVuZGVmaW5lZCIsInByb3RvIiwiaHR0cCIsImZpbmFsTG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/get-domain-locale.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/has-base-path.js': /*!************************************************************!*\ !*** ../../node_modules/next/dist/client/has-base-path.js ***! \************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.hasBasePath = hasBasePath;\n\nvar _pathHasPrefix = __webpack_require__(/*! ../shared/lib/router/utils/path-has-prefix */ \"../shared/lib/router/utils/path-has-prefix\");\n\nconst basePath = false || '';\n\nfunction hasBasePath(path) {\n return (0, _pathHasPrefix).pathHasPrefix(path, basePath);\n}\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvaGFzLWJhc2UtcGF0aC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFDYkEsOENBQTZDO0VBQ3pDRyxLQUFLLEVBQUU7QUFEa0MsQ0FBN0M7QUFHQUQsbUJBQUEsR0FBc0JFLFdBQXRCOztBQUNBLElBQUlDLGNBQWMsR0FBR0MsbUJBQU8sQ0FBQyw4RkFBRCxDQUE1Qjs7QUFDQSxNQUFNQyxRQUFRLEdBQUdDLE1BQUEsSUFBc0MsRUFBdkQ7O0FBQ0EsU0FBU0osV0FBVCxDQUFxQk8sSUFBckIsRUFBMkI7RUFDdkIsT0FBTyxDQUFDLEdBQUdOLGNBQUosRUFBb0JPLGFBQXBCLENBQWtDRCxJQUFsQyxFQUF3Q0osUUFBeEMsQ0FBUDtBQUNIOztBQUVELElBQUksQ0FBQyxPQUFPTCxPQUFPLENBQUNXLE9BQWYsS0FBMkIsVUFBM0IsSUFBMEMsT0FBT1gsT0FBTyxDQUFDVyxPQUFmLEtBQTJCLFFBQTNCLElBQXVDWCxPQUFPLENBQUNXLE9BQVIsS0FBb0IsSUFBdEcsS0FBZ0gsT0FBT1gsT0FBTyxDQUFDVyxPQUFSLENBQWdCQyxVQUF2QixLQUFzQyxXQUExSixFQUF1SztFQUNyS2QsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxPQUFPLENBQUNXLE9BQTlCLEVBQXVDLFlBQXZDLEVBQXFEO0lBQUVWLEtBQUssRUFBRTtFQUFULENBQXJEO0VBQ0FILE1BQU0sQ0FBQ2UsTUFBUCxDQUFjYixPQUFPLENBQUNXLE9BQXRCLEVBQStCWCxPQUEvQjtFQUNBYyxNQUFNLENBQUNkLE9BQVAsR0FBaUJBLE9BQU8sQ0FBQ1csT0FBekI7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvaGFzLWJhc2UtcGF0aC5qcz9lM2VjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5oYXNCYXNlUGF0aCA9IGhhc0Jhc2VQYXRoO1xudmFyIF9wYXRoSGFzUHJlZml4ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeFwiKTtcbmNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCB8fCAnJztcbmZ1bmN0aW9uIGhhc0Jhc2VQYXRoKHBhdGgpIHtcbiAgICByZXR1cm4gKDAsIF9wYXRoSGFzUHJlZml4KS5wYXRoSGFzUHJlZml4KHBhdGgsIGJhc2VQYXRoKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGFzLWJhc2UtcGF0aC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJoYXNCYXNlUGF0aCIsIl9wYXRoSGFzUHJlZml4IiwicmVxdWlyZSIsImJhc2VQYXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJwYXRoIiwicGF0aEhhc1ByZWZpeCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/has-base-path.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/head-manager.js': /*!***********************************************************!*\ !*** ../../node_modules/next/dist/client/head-manager.js ***! \***********************************************************/ /***/ (module, exports) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = initHeadManager;\nexports.isEqualNode = isEqualNode;\nexports.DOMAttributeNames = void 0;\n\nfunction initHeadManager() {\n return {\n mountedInstances: new Set(),\n updateHead: head => {\n const tags = {};\n head.forEach(h => {\n if ( // If the font tag is loaded only on client navigation\n // it won't be inlined. In this case revert to the original behavior\n h.type === 'link' && h.props['data-optimized-fonts']) {\n if (document.querySelector(`style[data-href=\"${h.props['data-href']}\"]`)) {\n return;\n } else {\n h.props.href = h.props['data-href'];\n h.props['data-href'] = undefined;\n }\n }\n\n const components = tags[h.type] || [];\n components.push(h);\n tags[h.type] = components;\n });\n const titleComponent = tags.title ? tags.title[0] : null;\n let title = '';\n\n if (titleComponent) {\n const {\n children\n } = titleComponent.props;\n title = typeof children === 'string' ? children : Array.isArray(children) ? children.join('') : '';\n }\n\n if (title !== document.title) document.title = title;\n ['meta', 'base', 'link', 'style', 'script'].forEach(type => {\n updateElements(type, tags[type] || []);\n });\n }\n };\n}\n\nconst DOMAttributeNames = {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv',\n noModule: 'noModule'\n};\nexports.DOMAttributeNames = DOMAttributeNames;\n\nfunction reactElementToDOM({\n type,\n props\n}) {\n const el = document.createElement(type);\n\n for (const p in props) {\n if (!props.hasOwnProperty(p)) continue;\n if (p === 'children' || p === 'dangerouslySetInnerHTML') continue; // we don't render undefined props to the DOM\n\n if (props[p] === undefined) continue;\n const attr = DOMAttributeNames[p] || p.toLowerCase();\n\n if (type === 'script' && (attr === 'async' || attr === 'defer' || attr === 'noModule')) {\n el[attr] = !!props[p];\n } else {\n el.setAttribute(attr, props[p]);\n }\n }\n\n const {\n children,\n dangerouslySetInnerHTML\n } = props;\n\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || '';\n } else if (children) {\n el.textContent = typeof children === 'string' ? children : Array.isArray(children) ? children.join('') : '';\n }\n\n return el;\n}\n\nfunction isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute('nonce'); // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n\n if (nonce && !oldTag.getAttribute('nonce')) {\n const cloneTag = newTag.cloneNode(true);\n cloneTag.setAttribute('nonce', '');\n cloneTag.nonce = nonce;\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag);\n }\n }\n\n return oldTag.isEqualNode(newTag);\n}\n\nfunction updateElements(type, components) {\n const headEl = document.getElementsByTagName('head')[0];\n const headCountEl = headEl.querySelector('meta[name=next-head-count]');\n\n if (true) {\n if (!headCountEl) {\n console.error('Warning: next-head-count is missing. https://nextjs.org/docs/messages/next-head-count-missing');\n return;\n }\n }\n\n const headCount = Number(headCountEl.content);\n const oldTags = [];\n\n for (let i = 0, j = headCountEl.previousElementSibling; i < headCount; i++, j = (j == null ? void 0 : j.previousElementSibling) || null) {\n var ref;\n\n if ((j == null ? void 0 : (ref = j.tagName) == null ? void 0 : ref.toLowerCase()) === type) {\n oldTags.push(j);\n }\n }\n\n const newTags = components.map(reactElementToDOM).filter(newTag => {\n for (let k = 0, len = oldTags.length; k < len; k++) {\n const oldTag = oldTags[k];\n\n if (isEqualNode(oldTag, newTag)) {\n oldTags.splice(k, 1);\n return false;\n }\n }\n\n return true;\n });\n oldTags.forEach(t => {\n var ref;\n return (ref = t.parentNode) == null ? void 0 : ref.removeChild(t);\n });\n newTags.forEach(t => headEl.insertBefore(t, headCountEl));\n headCountEl.content = (headCount - oldTags.length + newTags.length).toString();\n}\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvaGVhZC1tYW5hZ2VyLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUNiQSw4Q0FBNkM7RUFDekNHLEtBQUssRUFBRTtBQURrQyxDQUE3QztBQUdBRCxrQkFBQSxHQUFrQkcsZUFBbEI7QUFDQUgsbUJBQUEsR0FBc0JJLFdBQXRCO0FBQ0FKLHlCQUFBLEdBQTRCLEtBQUssQ0FBakM7O0FBQ0EsU0FBU0csZUFBVCxHQUEyQjtFQUN2QixPQUFPO0lBQ0hHLGdCQUFnQixFQUFFLElBQUlDLEdBQUosRUFEZjtJQUVIQyxVQUFVLEVBQUdDLElBQUQsSUFBUTtNQUNoQixNQUFNQyxJQUFJLEdBQUcsRUFBYjtNQUNBRCxJQUFJLENBQUNFLE9BQUwsQ0FBY0MsQ0FBRCxJQUFLO1FBQ2QsS0FBSTtRQUNKO1FBQ0FBLENBQUMsQ0FBQ0MsSUFBRixLQUFXLE1BQVgsSUFBcUJELENBQUMsQ0FBQ0UsS0FBRixDQUFRLHNCQUFSLENBRnJCLEVBRXNEO1VBQ2xELElBQUlDLFFBQVEsQ0FBQ0MsYUFBVCxDQUF3QixvQkFBbUJKLENBQUMsQ0FBQ0UsS0FBRixDQUFRLFdBQVIsQ0FBcUIsSUFBaEUsQ0FBSixFQUEwRTtZQUN0RTtVQUNILENBRkQsTUFFTztZQUNIRixDQUFDLENBQUNFLEtBQUYsQ0FBUUcsSUFBUixHQUFlTCxDQUFDLENBQUNFLEtBQUYsQ0FBUSxXQUFSLENBQWY7WUFDQUYsQ0FBQyxDQUFDRSxLQUFGLENBQVEsV0FBUixJQUF1QkksU0FBdkI7VUFDSDtRQUNKOztRQUNELE1BQU1DLFVBQVUsR0FBR1QsSUFBSSxDQUFDRSxDQUFDLENBQUNDLElBQUgsQ0FBSixJQUFnQixFQUFuQztRQUNBTSxVQUFVLENBQUNDLElBQVgsQ0FBZ0JSLENBQWhCO1FBQ0FGLElBQUksQ0FBQ0UsQ0FBQyxDQUFDQyxJQUFILENBQUosR0FBZU0sVUFBZjtNQUNILENBZEQ7TUFlQSxNQUFNRSxjQUFjLEdBQUdYLElBQUksQ0FBQ1ks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R0FBd0NWLEdBQUcsQ0FBQ1csV0FBSixDQUFnQkYsQ0FBaEIsQ0FBL0M7RUFDSCxDQUhEO0VBSUFQLE9BQU8sQ0FBQ3ZELE9BQVIsQ0FBaUI4RCxDQUFELElBQUtyQixNQUFNLENBQUN3QixZQUFQLENBQW9CSCxDQUFwQixFQUF1Qm5CLFdBQXZCLENBQXJCO0VBQ0FBLFdBQVcsQ0FBQ0ssT0FBWixHQUFzQixDQUFDRixTQUFTLEdBQUdHLE9BQU8sQ0FBQ1csTUFBcEIsR0FBNkJMLE9BQU8sQ0FBQ0ssTUFBdEMsRUFBOENNLFFBQTlDLEVBQXRCO0FBQ0g7O0FBRUQsSUFBSSxDQUFDLE9BQU83RSxPQUFPLENBQUNFLE9BQWYsS0FBMkIsVUFBM0IsSUFBMEMsT0FBT0YsT0FBTyxDQUFDRSxPQUFmLEtBQTJCLFFBQTNCLElBQXVDRixPQUFPLENBQUNFLE9BQVIsS0FBb0IsSUFBdEcsS0FBZ0gsT0FBT0YsT0FBTyxDQUFDRSxPQUFSLENBQWdCNEUsVUFBdkIsS0FBc0MsV0FBMUosRUFBdUs7RUFDcktoRixNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE9BQU8sQ0FBQ0UsT0FBOUIsRUFBdUMsWUFBdkMsRUFBcUQ7SUFBRUQsS0FBSyxFQUFFO0VBQVQsQ0FBckQ7RUFDQUgsTUFBTSxDQUFDaUYsTUFBUCxDQUFjL0UsT0FBTyxDQUFDRSxPQUF0QixFQUErQkYsT0FBL0I7RUFDQWdGLE1BQU0sQ0FBQ2hGLE9BQVAsR0FBaUJBLE9BQU8sQ0FBQ0UsT0FBekI7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvaGVhZC1tYW5hZ2VyLmpzPzczNjkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBpbml0SGVhZE1hbmFnZXI7XG5leHBvcnRzLmlzRXF1YWxOb2RlID0gaXNFcXVhbE5vZGU7XG5leHBvcnRzLkRPTUF0dHJpYnV0ZU5hbWVzID0gdm9pZCAwO1xuZnVuY3Rpb24gaW5pdEhlYWRNYW5hZ2VyKCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIG1vdW50ZWRJbnN0YW5jZXM6IG5ldyBTZXQoKSxcbiAgICAgICAgdXBkYXRlSGVhZDogKGhlYWQpPT57XG4gICAgICAgICAgICBjb25zdCB0YWdzID0ge307XG4gICAgICAgICAgICBoZWFkLmZvckVhY2goKGgpPT57XG4gICAgICAgICAgICAgICAgaWYgKC8vIElmIHRoZSBmb250IHRhZyBpcyBsb2FkZWQgb25seSBvbiBjbGllbnQgbmF2aWdhdGlvblxuICAgICAgICAgICAgICAgIC8vIGl0IHdvbid0IGJlIGlubGluZWQuIEluIHRoaXMgY2FzZSByZXZlcnQgdG8gdGhlIG9yaWdpbmFsIGJlaGF2aW9yXG4gICAgICAgICAgICAgICAgaC50eXBlID09PSAnbGluaycgJiYgaC5wcm9wc1snZGF0YS1vcHRpbWl6ZWQtZm9udHMnXSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihgc3R5bGVbZGF0YS1ocmVmPVwiJHtoLnByb3BzWydkYXRhLWhyZWYnXX1cIl1gKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaC5wcm9wcy5ocmVmID0gaC5wcm9wc1snZGF0YS1ocmVmJ107XG4gICAgICAgICAgICAgICAgICAgICAgICBoLnByb3BzWydkYXRhLWhyZWYnXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRzID0gdGFnc1toLnR5cGVdIHx8IFtdO1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaChoKTtcbiAgICAgICAgICAgICAgICB0YWdzW2gudHlwZV0gPSBjb21wb25lbnRzO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCB0aXRsZUNvbXBvbmVudCA9IHRhZ3MudGl0bGUgPyB0YWdzLnRpdGxlWzBdIDogbnVsbDtcbiAgICAgICAgICAgIGxldCB0aXRsZSA9ICcnO1xuICAgICAgICAgICAgaWYgKHRpdGxlQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBjaGlsZHJlbiAgfSA9IHRpdGxlQ29tcG9uZW50LnByb3BzO1xuICAgICAgICAgICAgICAgIHRpdGxlID0gdHlwZW9mIGNoaWxkcmVuID09PSAnc3RyaW5nJyA/IGNoaWxkcmVuIDogQXJyYXkuaXNBcnJheShjaGlsZHJlbikgPyBjaGlsZHJlbi5qb2luKCcnKSA6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRpdGxlICE9PSBkb2N1bWVudC50aXRsZSkgZG9jdW1lbnQudGl0bGUgPSB0aXRsZTtcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAnbWV0YScsXG4gICAgICAgICAgICAgICAgJ2Jhc2UnLFxuICAgICAgICAgICAgICAgICdsaW5rJyxcbiAgICAgICAgICAgICAgICAnc3R5bGUnLFxuICAgICAgICAgICAgICAgICdzY3JpcHQnXG4gICAgICAgICAgICBdLmZvckVhY2goKHR5cGUpPT57XG4gICAgICAgICAgICAgICAgdXBkYXRlRWxlbWVudHModHlwZSwgdGFnc1t0eXBlXSB8fCBbXSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG59XG5jb25zdCBET01BdHRyaWJ1dGVOYW1lcyA9IHtcbiAgICBhY2NlcHRDaGFyc2V0OiAnYWNjZXB0LWNoYXJzZXQnLFxuICAgIGNsYXNzTmFtZTogJ2NsYXNzJyxcbiAgICBodG1sRm9yOiAnZm9yJyxcbiAgICBodHRwRXF1aXY6ICdodHRwLWVxdWl2JyxcbiAgICBub01vZHVsZTogJ25vTW9kdWxlJ1xufTtcbmV4cG9ydHMuRE9NQXR0cmlidXRlTmFtZXMgPSBET01BdHRyaWJ1dGVOYW1lcztcbmZ1bmN0aW9uIHJlYWN0RWxlbWVudFRvRE9NKHsgdHlwZSAsIHByb3BzICB9KSB7XG4gICAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpO1xuICAgIGZvcihjb25zdCBwIGluIHByb3BzKXtcbiAgICAgICAgaWYgKCFwcm9wcy5oYXNPd25Qcm9wZXJ0eShwKSkgY29udGludWU7XG4gICAgICAgIGlmIChwID09PSAnY2hpbGRyZW4nIHx8IHAgPT09ICdkYW5nZXJvdXNseVNldElubmVySFRNTCcpIGNvbnRpbnVlO1xuICAgICAgICAvLyB3ZSBkb24ndCByZW5kZXIgdW5kZWZpbmVkIHByb3BzIHRvIHRoZSBET01cbiAgICAgICAgaWYgKHByb3BzW3BdID09PSB1bmRlZmluZWQpIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCBhdHRyID0gRE9NQXR0cmlidXRlTmFtZXNbcF0gfHwgcC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAodHlwZSA9PT0gJ3NjcmlwdCcgJiYgKGF0dHIgPT09ICdhc3luYycgfHwgYXR0ciA9PT0gJ2RlZmVyJyB8fCBhdHRyID09PSAnbm9Nb2R1bGUnKSkge1xuICAgICAgICAgICAgZWxbYXR0cl0gPSAhIXByb3BzW3BdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKGF0dHIsIHByb3BzW3BdKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB7IGNoaWxkcmVuICwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgIH0gPSBwcm9wcztcbiAgICBpZiAoZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpIHtcbiAgICAgICAgZWwuaW5uZXJIVE1MID0gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sIHx8ICcnO1xuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcbiAgICAgICAgZWwudGV4dENvbnRlbnQgPSB0eXBlb2YgY2hpbGRyZW4gPT09ICdzdHJpbmcnID8gY2hpbGRyZW4gOiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKSA/IGNoaWxkcmVuLmpvaW4oJycpIDogJyc7XG4gICAgfVxuICAgIHJldHVybiBlbDtcbn1cbmZ1bmN0aW9uIGlzRXF1YWxOb2RlKG9sZFRhZywgbmV3VGFnKSB7XG4gICAgaWYgKG9sZFRhZyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICYmIG5ld1RhZyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IG5vbmNlID0gbmV3VGFnLmdldEF0dHJpYnV0ZSgnbm9uY2UnKTtcbiAgICAgICAgLy8gT25seSBzdHJpcCB0aGUgbm9uY2UgaWYgYG9sZFRhZ2AgaGFzIGhhZCBpdCBzdHJpcHBlZC4gQW4gZWxlbWVudCdzIG5vbmNlIGF0dHJpYnV0ZSB3aWxsIG5vdFxuICAgICAgICAvLyBiZSBzdHJpcHBlZCBpZiB0aGVyZSBpcyBubyBjb250ZW50IHNlY3VyaXR5IHBvbGljeSByZXNwb25zZSBoZWFkZXIgdGhhdCBpbmNsdWRlcyBhIG5vbmNlLlxuICAgICAgICBpZiAobm9uY2UgJiYgIW9sZFRhZy5nZXRBdHRyaWJ1dGUoJ25vbmNlJykpIHtcbiAgICAgICAgICAgIGNvbnN0IGNsb25lVGFnID0gbmV3VGFnLmNsb25lTm9kZSh0cnVlKTtcbiAgICAgICAgICAgIGNsb25lVGFnLnNldEF0dHJpYnV0ZSgnbm9uY2UnLCAnJyk7XG4gICAgICAgICAgICBjbG9uZVRhZy5ub25jZSA9IG5vbmNlO1xuICAgICAgICAgICAgcmV0dXJuIG5vbmNlID09PSBvbGRUYWcubm9uY2UgJiYgb2xkVGFnLmlzRXF1YWxOb2RlKGNsb25lVGFnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2xkVGFnLmlzRXF1YWxOb2RlKG5ld1RhZyk7XG59XG5mdW5jdGlvbiB1cGRhdGVFbGVtZW50cyh0eXBlLCBjb21wb25lbnRzKSB7XG4gICAgY29uc3QgaGVhZEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcbiAgICBjb25zdCBoZWFkQ291bnRFbCA9IGhlYWRFbC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9bmV4dC1oZWFkLWNvdW50XScpO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGlmICghaGVhZENvdW50RWwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1dhcm5pbmc6IG5leHQtaGVhZC1jb3VudCBpcyBtaXNzaW5nLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LWhlYWQtY291bnQtbWlzc2luZycpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGhlYWRDb3VudCA9IE51bWJlcihoZWFkQ291bnRFbC5jb250ZW50KTtcbiAgICBjb25zdCBvbGRUYWdzID0gW107XG4gICAgZm9yKGxldCBpID0gMCwgaiA9IGhlYWRDb3VudEVsLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7IGkgPCBoZWFkQ291bnQ7IGkrKywgaiA9IChqID09IG51bGwgPyB2b2lkIDAgOiBqLnByZXZpb3VzRWxlbWVudFNpYmxpbmcpIHx8IG51bGwpe1xuICAgICAgICB2YXIgcmVmO1xuICAgICAgICBpZiAoKGogPT0gbnVsbCA/IHZvaWQgMCA6IChyZWYgPSBqLnRhZ05hbWUpID09IG51bGwgPyB2b2lkIDAgOiByZWYudG9Mb3dlckNhc2UoKSkgPT09IHR5cGUpIHtcbiAgICAgICAgICAgIG9sZFRhZ3MucHVzaChqKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBuZXdUYWdzID0gY29tcG9uZW50cy5tYXAocmVhY3RFbGVtZW50VG9ET00pLmZpbHRlcigobmV3VGFnKT0+e1xuICAgICAgICBmb3IobGV0IGsgPSAwLCBsZW4gPSBvbGRUYWdzLmxlbmd0aDsgayA8IGxlbjsgaysrKXtcbiAgICAgICAgICAgIGNvbnN0IG9sZFRhZyA9IG9sZFRhZ3Nba107XG4gICAgICAgICAgICBpZiAoaXNFcXVhbE5vZGUob2xkVGFnLCBuZXdUYWcpKSB7XG4gICAgICAgICAgICAgICAgb2xkVGFncy5zcGxpY2UoaywgMSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICAgIG9sZFRhZ3MuZm9yRWFjaCgodCk9PntcbiAgICAgICAgdmFyIHJlZjtcbiAgICAgICAgcmV0dXJuIChyZWYgPSB0LnBhcmVudE5vZGUpID09IG51bGwgPyB2b2lkIDAgOiByZWYucmVtb3ZlQ2hpbGQodCk7XG4gICAgfSk7XG4gICAgbmV3VGFncy5mb3JFYWNoKCh0KT0+aGVhZEVsLmluc2VydEJlZm9yZSh0LCBoZWFkQ291bnRFbCkpO1xuICAgIGhlYWRDb3VudEVsLmNvbnRlbnQgPSAoaGVhZENvdW50IC0gb2xkVGFncy5sZW5ndGggKyBuZXdUYWdzLmxlbmd0aCkudG9TdHJpbmcoKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGVhZC1tYW5hZ2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImRlZmF1bHQiLCJpbml0SGVhZE1hbmFnZXIiLCJpc0VxdWFsTm9kZSIsIkRPTUF0dHJpYnV0ZU5hbWVzIiwibW91bnRlZEluc3RhbmNlcyIsIlNldCIsInVwZGF0ZUhlYWQiLCJoZWFkIiwidGFncyIsImZvckVhY2giLCJoIiwidHlwZSIsInByb3BzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiaHJlZiIsInVuZGVmaW5lZCIsImNvbXBvbmVudHMiLCJwdXNoIiwidGl0bGVDb21wb25lbnQiLCJ0aXRsZSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsInVwZGF0ZUVsZW1lbnRzIiwiYWNjZXB0Q2hhcnNldCIsImNsYXNzTmFtZSIsImh0bWxGb3IiLCJodHRwRXF1aXYiLCJub01vZHVsZSIsInJlYWN0RWxlbWVudFRvRE9NIiwiZWwiLCJjcmVhdGVFbGVtZW50IiwicCIsImhhc093blByb3BlcnR5IiwiYXR0ciIsInRvTG93ZXJDYXNlIiwic2V0QXR0cmlidXRlIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJpbm5lckhUTUwiLCJfX2h0bWwiLCJ0ZXh0Q29udGVudCIsIm9sZFRhZyIsIm5ld1RhZyIsIkhUTUxFbGVtZW50Iiwibm9uY2UiLCJnZXRBdHRyaWJ1dGUiLCJjbG9uZVRhZyIsImNsb25lTm9kZSIsImhlYWRFbCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiaGVhZENvdW50RWwiLCJjb25zb2xlIiwiZXJyb3IiLCJoZWFkQ291bnQiLCJOdW1iZXIiLCJjb250ZW50Iiwib2xkVGFncyIsImkiLCJqIiwicHJldmlvdXNFbGVtZW50U2libGluZyIsInJlZiIsInRhZ05hbWUiLCJuZXdUYWdzIiwibWFwIiwiZmlsdGVyIiwiayIsImxlbiIsImxlbmd0aCIsInNwbGljZSIsInQiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJpbnNlcnRCZWZvcmUiLCJ0b1N0cmluZyIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/head-manager.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/link.js': /*!***************************************************!*\ !*** ../../node_modules/next/dist/client/link.js ***! \***************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\n\nvar _router = __webpack_require__(/*! ../shared/lib/router/router */ \"../../node_modules/next/dist/shared/lib/router/router.js\");\n\nvar _addLocale = __webpack_require__(/*! ./add-locale */ \"../../node_modules/next/dist/client/add-locale.js\");\n\nvar _routerContext = __webpack_require__(/*! ../shared/lib/router-context */ \"../shared/lib/router-context\");\n\nvar _appRouterContext = __webpack_require__(/*! ../shared/lib/app-router-context */ \"../shared/lib/app-router-context\");\n\nvar _useIntersection = __webpack_require__(/*! ./use-intersection */ \"../../node_modules/next/dist/client/use-intersection.js\");\n\nvar _getDomainLocale = __webpack_require__(/*! ./get-domain-locale */ \"../../node_modules/next/dist/client/get-domain-locale.js\");\n\nvar _addBasePath = __webpack_require__(/*! ./add-base-path */ \"../../node_modules/next/dist/client/add-base-path.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n} // @ts-ignore useTransition exist\n\n\nconst hasUseTransition = typeof _react.default.useTransition !== 'undefined';\nconst prefetched = {};\n\nfunction prefetch(router, href, as, options) {\n if (true) return;\n if (!(0, _router).isLocalURL(href)) return; // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n\n router.prefetch(href, as, options).catch(err => {\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n const curLocale = options && typeof options.locale !== 'undefined' ? options.locale : router && router.locale; // Join on an invalid URI character\n\n prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')] = true;\n}\n\nfunction isModifiedEvent(event) {\n const {\n target\n } = event.currentTarget;\n return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || event.nativeEvent && event.nativeEvent.which === 2;\n}\n\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, startTransition) {\n const {\n nodeName\n } = e.currentTarget; // anchors inside an svg have a lowercase nodeName\n\n const isAnchorNodeName = nodeName.toUpperCase() === 'A';\n\n if (isAnchorNodeName && (isModifiedEvent(e) || !(0, _router).isLocalURL(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n\n e.preventDefault();\n\n const navigate = () => {\n // replace state instead of push if prop is present\n router[replace ? 'replace' : 'push'](href, as, {\n shallow,\n locale,\n scroll\n });\n };\n\n if (startTransition) {\n startTransition(navigate);\n } else {\n navigate();\n }\n}\n\nconst Link = /*#__PURE__*/_react.default.forwardRef(function LinkComponent(props, forwardedRef) {\n if (true) {\n function createPropError(args) {\n return new Error(`Failed prop type: The prop \\`${args.key}\\` expects a ${args.expected} in \\`\\`, but got \\`${args.actual}\\` instead.` + ( false ? 0 : ''));\n } // TypeScript trick for type-guarding:\n\n\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach(key => {\n if (key === 'href') {\n if (props[key] == null || typeof props[key] !== 'string' && typeof props[key] !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n }); // TypeScript trick for type-guarding:\n\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach(key => {\n const valType = typeof props[key];\n\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType\n });\n }\n } else if (key === 'locale') {\n if (props[key] && valType !== 'string') {\n throw createPropError({\n key,\n expected: '`string`',\n actual: valType\n });\n }\n } else if (key === 'onClick' || key === 'onMouseEnter') {\n if (props[key] && valType !== 'function') {\n throw createPropError({\n key,\n expected: '`function`',\n actual: valType\n });\n }\n } else if (key === 'replace' || key === 'scroll' || key === 'shallow' || key === 'passHref' || key === 'prefetch' || key === 'legacyBehavior') {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n }); // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n\n const hasWarned = _react.default.useRef(false);\n\n if (props.prefetch && !hasWarned.current) {\n hasWarned.current = true;\n console.warn('Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated');\n }\n }\n\n let children;\n\n const {\n href: hrefProp,\n as: asProp,\n children: childrenProp,\n prefetch: prefetchProp,\n passHref,\n replace,\n shallow,\n scroll,\n locale,\n onClick,\n onMouseEnter,\n legacyBehavior = Boolean(false) !== true\n } = props,\n restProps = _objectWithoutPropertiesLoose(props, [\"href\", \"as\", \"children\", \"prefetch\", \"passHref\", \"replace\", \"shallow\", \"scroll\", \"locale\", \"onClick\", \"onMouseEnter\", \"legacyBehavior\"]);\n\n children = childrenProp;\n\n if (legacyBehavior && (typeof children === 'string' || typeof children === 'number')) {\n children = /*#__PURE__*/_react.default.createElement(\"a\", null, children);\n }\n\n const p = prefetchProp !== false;\n const [,\n /* isPending */\n startTransition] = hasUseTransition ? // There is no difference between renders in this case, only between using React 18 vs 17.\n // @ts-ignore useTransition exists\n // eslint-disable-next-line react-hooks/rules-of-hooks\n _react.default.useTransition() : [];\n\n let router = _react.default.useContext(_routerContext.RouterContext);\n\n const appRouter = _react.default.useContext(_appRouterContext.AppRouterContext);\n\n if (appRouter) {\n router = appRouter;\n }\n\n const {\n href,\n as\n } = _react.default.useMemo(() => {\n const [resolvedHref, resolvedAs] = (0, _router).resolveHref(router, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _router).resolveHref(router, asProp) : resolvedAs || resolvedHref\n };\n }, [router, hrefProp, asProp]);\n\n const previousHref = _react.default.useRef(href);\n\n const previousAs = _react.default.useRef(as); // This will return the first child, if multiple are provided it will throw an error\n\n\n let child;\n\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn(`\"onClick\" was passed to with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link`);\n }\n\n if (onMouseEnter) {\n console.warn(`\"onMouseEnter\" was passed to with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link`);\n }\n\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(`No children were passed to with \\`href\\` of \\`${hrefProp}\\` but one child is required https://nextjs.org/docs/messages/link-no-children`);\n }\n\n throw new Error(`Multiple children were passed to with \\`href\\` of \\`${hrefProp}\\` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children` + ( false ? 0 : ''));\n }\n } else {}\n }\n\n const childRef = legacyBehavior ? child && typeof child === 'object' && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useIntersection).useIntersection({\n rootMargin: '200px'\n });\n\n const setRef = _react.default.useCallback(el => {\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n\n setIntersectionRef(el);\n\n if (childRef) {\n if (typeof childRef === 'function') childRef(el);else if (typeof childRef === 'object') {\n childRef.current = el;\n }\n }\n }, [as, childRef, href, resetVisible, setIntersectionRef]);\n\n _react.default.useEffect(() => {\n const shouldPrefetch = isVisible && p && (0, _router).isLocalURL(href);\n const curLocale = typeof locale !== 'undefined' ? locale : router && router.locale;\n const isPrefetched = prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')];\n\n if (shouldPrefetch && !isPrefetched) {\n prefetch(router, href, as, {\n locale: curLocale\n });\n }\n }, [as, href, isVisible, locale, p, router]);\n\n const childProps = {\n ref: setRef,\n onClick: e => {\n if (true) {\n if (!e) {\n throw new Error(`Component rendered inside next/link has to pass click event to \"onClick\" prop.`);\n }\n }\n\n if (!legacyBehavior && typeof onClick === 'function') {\n onClick(e);\n }\n\n if (legacyBehavior && child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e);\n }\n\n if (!e.defaultPrevented) {\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, appRouter ? startTransition : undefined);\n }\n },\n onMouseEnter: e => {\n if (!legacyBehavior && typeof onMouseEnter === 'function') {\n onMouseEnter(e);\n }\n\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e);\n }\n\n if ((0, _router).isLocalURL(href)) {\n prefetch(router, href, as, {\n priority: true\n });\n }\n }\n }; // If child is an tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user\n\n if (!legacyBehavior || passHref || child.type === 'a' && !('href' in child.props)) {\n const curLocale = typeof locale !== 'undefined' ? locale : router && router.locale; // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n\n const localeDomain = router && router.isLocaleDomain && (0, _getDomainLocale).getDomainLocale(as, curLocale, router.locales, router.domainLocales);\n childProps.href = localeDomain || (0, _addBasePath).addBasePath((0, _addLocale).addLocale(as, curLocale, router && router.defaultLocale));\n }\n\n return legacyBehavior ? /*#__PURE__*/_react.default.cloneElement(child, childProps) : /*#__PURE__*/_react.default.createElement(\"a\", Object.assign({}, restProps, childProps), children);\n});\n\nvar _default = Link;\nexports[\"default\"] = _default;\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvbGluay5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFDYkEsOENBQTZDO0VBQ3pDRyxLQUFLLEVBQUU7QUFEa0MsQ0FBN0M7QUFHQUQsa0JBQUEsR0FBa0IsS0FBSyxDQUF2Qjs7QUFDQSxJQUFJRyxNQUFNLEdBQUdDLHNCQUFzQixDQUFDQyxtQkFBTyxDQUFDLG9CQUFELENBQVIsQ0FBbkM7O0FBQ0EsSUFBSUMsT0FBTyxHQUFHRCxtQkFBTyxDQUFDLDZGQUFELENBQXJCOztBQUNBLElBQUlFLFVBQVUsR0FBR0YsbUJBQU8sQ0FBQyx1RUFBRCxDQUF4Qjs7QUFDQSxJQUFJRyxjQUFjLEdBQUdILG1CQUFPLENBQUMsa0VBQUQsQ0FBNUI7O0FBQ0EsSUFBSUksaUJBQWlCLEdBQUdKLG1CQUFPLENBQUMsMEVBQUQsQ0FBL0I7O0FBQ0EsSUFBSUssZ0JBQWdCLEdBQUdMLG1CQUFPLENBQUMsbUZBQUQsQ0FBOUI7O0FBQ0EsSUFBSU0sZ0JBQWdCLEdBQUdOLG1CQUFPLENBQUMscUZBQUQsQ0FBOUI7O0FBQ0EsSUFBSU8sWUFBWSxHQUFHUCxtQkFBTyxDQUFDLDZFQUFELENBQTFCOztBQUNBLFNBQVNELHNCQUFULENBQWdDUyxHQUFoQyxFQUFxQztFQUNqQyxPQUFPQSxHQUFHLElBQUlBLEdBQUcsQ0FBQ0MsVUFBWCxHQUF3QkQsR0FBeEIsR0FBOEI7SUFDakNYLE9BQU8sRUFBRVc7RUFEd0IsQ0FBckM7QUFHSDs7QUFDRCxTQUFTRSw2QkFBVCxDQUF1Q0MsTUFBdkMsRUFBK0NDLFFBQS9DLEVBQXlEO0VBQ3JELElBQUlELE1BQU0sSUFBSSxJQUFkLEVBQW9CLE9BQU8sRUFBUDtFQUNwQixJQUFJRSxNQUFNLEdBQUcsRUFBYjtFQUNBLElBQUlDLFVBQVUsR0FBR3JCLE1BQU0sQ0FBQ3NCLElBQVAsQ0FBWUosTUFBWixDQUFqQjtFQUNBLElBQUlLLEdBQUosRUFBU0MsQ0FBVDs7RUFDQSxLQUFJQSxDQUFD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LENBQUMwSSxNQUFQLENBQWMsRUFBZCxFQUFrQjNDLFNBQWxCLEVBQTZCNkIsVUFBN0IsQ0FBbEMsRUFBNEV0QyxRQUE1RSxDQUFyRztBQUNILENBM08wQixDQUEzQjs7QUE0T0EsSUFBSXFELFFBQVEsR0FBRy9FLElBQWY7QUFDQTFELGtCQUFBLEdBQWtCeUksUUFBbEI7O0FBRUEsSUFBSSxDQUFDLE9BQU96SSxPQUFPLENBQUNFLE9BQWYsS0FBMkIsVUFBM0IsSUFBMEMsT0FBT0YsT0FBTyxDQUFDRSxPQUFmLEtBQTJCLFFBQTNCLElBQXVDRixPQUFPLENBQUNFLE9BQVIsS0FBb0IsSUFBdEcsS0FBZ0gsT0FBT0YsT0FBTyxDQUFDRSxPQUFSLENBQWdCWSxVQUF2QixLQUFzQyxXQUExSixFQUF1SztFQUNyS2hCLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsT0FBTyxDQUFDRSxPQUE5QixFQUF1QyxZQUF2QyxFQUFxRDtJQUFFRCxLQUFLLEVBQUU7RUFBVCxDQUFyRDtFQUNBSCxNQUFNLENBQUMwSSxNQUFQLENBQWN4SSxPQUFPLENBQUNFLE9BQXRCLEVBQStCRixPQUEvQjtFQUNBMEksTUFBTSxDQUFDMUksT0FBUCxHQUFpQkEsT0FBTyxDQUFDRSxPQUF6QjtBQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi8uLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9saW5rLmpzP2MxNDciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG52YXIgX3JlYWN0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwicmVhY3RcIikpO1xudmFyIF9yb3V0ZXIgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvcm91dGVyXCIpO1xudmFyIF9hZGRMb2NhbGUgPSByZXF1aXJlKFwiLi9hZGQtbG9jYWxlXCIpO1xudmFyIF9yb3V0ZXJDb250ZXh0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyLWNvbnRleHRcIik7XG52YXIgX2FwcFJvdXRlckNvbnRleHQgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHRcIik7XG52YXIgX3VzZUludGVyc2VjdGlvbiA9IHJlcXVpcmUoXCIuL3VzZS1pbnRlcnNlY3Rpb25cIik7XG52YXIgX2dldERvbWFpbkxvY2FsZSA9IHJlcXVpcmUoXCIuL2dldC1kb21haW4tbG9jYWxlXCIpO1xudmFyIF9hZGRCYXNlUGF0aCA9IHJlcXVpcmUoXCIuL2FkZC1iYXNlLXBhdGhcIik7XG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7XG4gICAgICAgIGRlZmF1bHQ6IG9ialxuICAgIH07XG59XG5mdW5jdGlvbiBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShzb3VyY2UsIGV4Y2x1ZGVkKSB7XG4gICAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm4ge307XG4gICAgdmFyIHRhcmdldCA9IHt9O1xuICAgIHZhciBzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTtcbiAgICB2YXIga2V5LCBpO1xuICAgIGZvcihpID0gMDsgaSA8IHNvdXJjZUtleXMubGVuZ3RoOyBpKyspe1xuICAgICAgICBrZXkgPSBzb3VyY2VLZXlzW2ldO1xuICAgICAgICBpZiAoZXhjbHVkZWQuaW5kZXhPZihrZXkpID49IDApIGNvbnRpbnVlO1xuICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgIH1cbiAgICByZXR1cm4gdGFyZ2V0O1xufVxuLy8gQHRzLWlnbm9yZSB1c2VUcmFuc2l0aW9uIGV4aXN0XG5jb25zdCBoYXNVc2VUcmFuc2l0aW9uID0gdHlwZW9mIF9yZWFjdC5kZWZhdWx0LnVzZVRyYW5zaXRpb24gIT09ICd1bmRlZmluZWQnO1xuY29uc3QgcHJlZmV0Y2hlZCA9IHt9O1xuZnVuY3Rpb24gcHJlZmV0Y2gocm91dGVyLCBocmVmLCBhcywgb3B0aW9ucykge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fCAhcm91dGVyKSByZXR1cm47XG4gICAgaWYgKCEoMCwgX3JvdXRlcikuaXNMb2NhbFVSTChocmVmKSkgcmV0dXJuO1xuICAgIC8vIFByZWZldGNoIHRoZSBKU09OIHBhZ2UgaWYgYXNrZWQgKG9ubHkgaW4gdGhlIGNsaWVudClcbiAgICAvLyBXZSBuZWVkIHRvIGhhbmRsZSBhIHByZWZldGNoIGVycm9yIGhlcmUgc2luY2Ugd2UgbWF5IGJlXG4gICAgLy8gbG9hZGluZyB3aXRoIHByaW9yaXR5IHdoaWNoIGNhbiByZWplY3QgYnV0IHdlIGRvbid0XG4gICAgLy8gd2FudCB0byBmb3JjZSBuYXZpZ2F0aW9uIHNpbmNlIHRoaXMgaXMgb25seSBhIHByZWZldGNoXG4gICAgcm91dGVyLnByZWZldGNoKGhyZWYsIGFzLCBvcHRpb25zKS5jYXRjaCgoZXJyKT0+e1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgLy8gcmV0aHJvdyB0byBzaG93IGludmFsaWQgVVJMIGVycm9yc1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgY3VyTG9jYWxlID0gb3B0aW9ucyAmJiB0eXBlb2Ygb3B0aW9ucy5sb2NhbGUgIT09ICd1bmRlZmluZWQnID8gb3B0aW9ucy5sb2NhbGUgOiByb3V0ZXIgJiYgcm91dGVyLmxvY2FsZTtcbiAgICAvLyBKb2luIG9uIGFuIGludmFsaWQgVVJJIGNoYXJhY3RlclxuICAgIHByZWZldGNoZWRbaHJlZiArICclJyArIGFzICsgKGN1ckxvY2FsZSA/ICclJyArIGN1ckxvY2FsZSA6ICcnKV0gPSB0cnVlO1xufVxuZnVuY3Rpb24gaXNNb2RpZmllZEV2ZW50KGV2ZW50KSB7XG4gICAgY29uc3QgeyB0YXJnZXQgIH0gPSBldmVudC5jdXJyZW50VGFyZ2V0O1xuICAgIHJldHVybiB0YXJnZXQgJiYgdGFyZ2V0ICE9PSAnX3NlbGYnIHx8IGV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleSB8fCBldmVudC5zaGlmdEtleSB8fCBldmVudC5hbHRLZXkgfHwgZXZlbnQubmF0aXZlRXZlbnQgJiYgZXZlbnQubmF0aXZlRXZlbnQud2hpY2ggPT09IDI7XG59XG5mdW5jdGlvbiBsaW5rQ2xpY2tlZChlLCByb3V0ZXIsIGhyZWYsIGFzLCByZXBsYWNlLCBzaGFsbG93LCBzY3JvbGwsIGxvY2FsZSwgc3RhcnRUcmFuc2l0aW9uKSB7XG4gICAgY29uc3QgeyBub2RlTmFtZSAgfSA9IGUuY3VycmVudFRhcmdldDtcbiAgICAvLyBhbmNob3JzIGluc2lkZSBhbiBzdmcgaGF2ZSBhIGxvd2VyY2FzZSBub2RlTmFtZVxuICAgIGNvbnN0IGlzQW5jaG9yTm9kZU5hbWUgPSBub2RlTmFtZS50b1VwcGVyQ2FzZSgpID09PSAnQSc7XG4gICAgaWYgKGlzQW5jaG9yTm9kZU5hbWUgJiYgKGlzTW9kaWZpZWRFdmVudChlKSB8fCAhKDAsIF9yb3V0ZXIpLmlzTG9jYWxVUkwoaHJlZikpKSB7XG4gICAgICAgIC8vIGlnbm9yZSBjbGljayBmb3IgYnJvd3NlcuKAmXMgZGVmYXVsdCBiZWhhdmlvclxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCBuYXZpZ2F0ZSA9ICgpPT57XG4gICAgICAgIC8vIHJlcGxhY2Ugc3RhdGUgaW5zdGVhZCBvZiBwdXNoIGlmIHByb3AgaXMgcHJlc2VudFxuICAgICAgICByb3V0ZXJbcmVwbGFjZSA/ICdyZXBsYWNlJyA6ICdwdXNoJ10oaHJlZiwgYXMsIHtcbiAgICAgICAgICAgIHNoYWxsb3csXG4gICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICBzY3JvbGxcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBpZiAoc3RhcnRUcmFuc2l0aW9uKSB7XG4gICAgICAgIHN0YXJ0VHJhbnNpdGlvbihuYXZpZ2F0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbmF2aWdhdGUoKTtcbiAgICB9XG59XG5jb25zdCBMaW5rID0gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIExpbmtDb21wb25lbnQocHJvcHMsIGZvcndhcmRlZFJlZikge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVByb3BFcnJvcihhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKGBGYWlsZWQgcHJvcCB0eXBlOiBUaGUgcHJvcCBcXGAke2FyZ3Mua2V5fVxcYCBleHBlY3RzIGEgJHthcmdzLmV4cGVjdGVkfSBpbiBcXGA8TGluaz5cXGAsIGJ1dCBnb3QgXFxgJHthcmdzLmFjdHVhbH1cXGAgaW5zdGVhZC5gICsgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gXCJcXG5PcGVuIHlvdXIgYnJvd3NlcidzIGNvbnNvbGUgdG8gdmlldyB0aGUgQ29tcG9uZW50IHN0YWNrIHRyYWNlLlwiIDogJycpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgICBjb25zdCByZXF1aXJlZFByb3BzR3VhcmQgPSB7XG4gICAgICAgICAgICBocmVmOiB0cnVlXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHJlcXVpcmVkUHJvcHMgPSBPYmplY3Qua2V5cyhyZXF1aXJlZFByb3BzR3VhcmQpO1xuICAgICAgICByZXF1aXJlZFByb3BzLmZvckVhY2goKGtleSk9PntcbiAgICAgICAgICAgIGlmIChrZXkgPT09ICdocmVmJykge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wc1trZXldID09IG51bGwgfHwgdHlwZW9mIHByb3BzW2tleV0gIT09ICdzdHJpbmcnICYmIHR5cGVvZiBwcm9wc1trZXldICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6ICdgc3RyaW5nYCBvciBgb2JqZWN0YCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHByb3BzW2tleV0gPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2YgcHJvcHNba2V5XVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFR5cGVTY3JpcHQgdHJpY2sgZm9yIHR5cGUtZ3VhcmRpbmc6XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgIGNvbnN0IF8gPSBrZXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgICBjb25zdCBvcHRpb25hbFByb3BzR3VhcmQgPSB7XG4gICAgICAgICAgICBhczogdHJ1ZSxcbiAgICAgICAgICAgIHJlcGxhY2U6IHRydWUsXG4gICAgICAgICAgICBzY3JvbGw6IHRydWUsXG4gICAgICAgICAgICBzaGFsbG93OiB0cnVlLFxuICAgICAgICAgICAgcGFzc0hyZWY6IHRydWUsXG4gICAgICAgICAgICBwcmVmZXRjaDogdHJ1ZSxcbiAgICAgICAgICAgIGxvY2FsZTogdHJ1ZSxcbiAgICAgICAgICAgIG9uQ2xpY2s6IHRydWUsXG4gICAgICAgICAgICBvbk1vdXNlRW50ZXI6IHRydWUsXG4gICAgICAgICAgICBsZWdhY3lCZWhhdmlvcjogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBvcHRpb25hbFByb3BzID0gT2JqZWN0LmtleXMob3B0aW9uYWxQcm9wc0d1YXJkKTtcbiAgICAgICAgb3B0aW9uYWxQcm9wcy5mb3JFYWNoKChrZXkpPT57XG4gICAgICAgICAgICBjb25zdCB2YWxUeXBlID0gdHlwZW9mIHByb3BzW2tleV07XG4gICAgICAgICAgICBpZiAoa2V5ID09PSAnYXMnKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzW2tleV0gJiYgdmFsVHlwZSAhPT0gJ3N0cmluZycgJiYgdmFsVHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgY3JlYXRlUHJvcEVycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOiAnYHN0cmluZ2Agb3IgYG9iamVjdGAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnbG9jYWxlJykge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wc1trZXldICYmIHZhbFR5cGUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogJ2BzdHJpbmdgJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbDogdmFsVHlwZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ29uQ2xpY2snIHx8IGtleSA9PT0gJ29uTW91c2VFbnRlcicpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvcHNba2V5XSAmJiB2YWxUeXBlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogJ2BmdW5jdGlvbmAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmVwbGFjZScgfHwga2V5ID09PSAnc2Nyb2xsJyB8fCBrZXkgPT09ICdzaGFsbG93JyB8fCBrZXkgPT09ICdwYXNzSHJlZicgfHwga2V5ID09PSAncHJlZmV0Y2gnIHx8IGtleSA9PT0gJ2xlZ2FjeUJlaGF2aW9yJykge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wc1trZXldICE9IG51bGwgJiYgdmFsVHlwZSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogJ2Bib29sZWFuYCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHZhbFR5cGVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICBjb25zdCBfID0ga2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gVGhpcyBob29rIGlzIGluIGEgY29uZGl0aW9uYWwgYnV0IHRoYXQgaXMgb2sgYmVjYXVzZSBgcHJvY2Vzcy5lbnYuTk9ERV9FTlZgIG5ldmVyIGNoYW5nZXNcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgICAgIGNvbnN0IGhhc1dhcm5lZCA9IF9yZWFjdC5kZWZhdWx0LnVzZVJlZihmYWxzZSk7XG4gICAgICAgIGlmIChwcm9wcy5wcmVmZXRjaCAmJiAhaGFzV2FybmVkLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignTmV4dC5qcyBhdXRvLXByZWZldGNoZXMgYXV0b21hdGljYWxseSBiYXNlZCBvbiB2aWV3cG9ydC4gVGhlIHByZWZldGNoIGF0dHJpYnV0ZSBpcyBubyBsb25nZXIgbmVlZGVkLiBNb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wcmVmZXRjaC10cnVlLWRlcHJlY2F0ZWQnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsZXQgY2hpbGRyZW47XG4gICAgY29uc3QgeyBocmVmOiBocmVmUHJvcCAsIGFzOiBhc1Byb3AgLCBjaGlsZHJlbjogY2hpbGRyZW5Qcm9wICwgcHJlZmV0Y2g6IHByZWZldGNoUHJvcCAsIHBhc3NIcmVmICwgcmVwbGFjZSAsIHNoYWxsb3cgLCBzY3JvbGwgLCBsb2NhbGUgLCBvbkNsaWNrICwgb25Nb3VzZUVudGVyICwgbGVnYWN5QmVoYXZpb3IgPUJvb2xlYW4ocHJvY2Vzcy5lbnYuX19ORVhUX05FV19MSU5LX0JFSEFWSU9SKSAhPT0gdHJ1ZSAgfSA9IHByb3BzLCByZXN0UHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShwcm9wcywgW1xuICAgICAgICBcImhyZWZcIixcbiAgICAgICAgXCJhc1wiLFxuICAgICAgICBcImNoaWxkcmVuXCIsXG4gICAgICAgIFwicHJlZmV0Y2hcIixcbiAgICAgICAgXCJwYXNzSHJlZlwiLFxuICAgICAgICBcInJlcGxhY2VcIixcbiAgICAgICAgXCJzaGFsbG93XCIsXG4gICAgICAgIFwic2Nyb2xsXCIsXG4gICAgICAgIFwibG9jYWxlXCIsXG4gICAgICAgIFwib25DbGlja1wiLFxuICAgICAgICBcIm9uTW91c2VFbnRlclwiLFxuICAgICAgICBcImxlZ2FjeUJlaGF2aW9yXCJcbiAgICBdKTtcbiAgICBjaGlsZHJlbiA9IGNoaWxkcmVuUHJvcDtcbiAgICBpZiAobGVnYWN5QmVoYXZpb3IgJiYgKHR5cGVvZiBjaGlsZHJlbiA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGNoaWxkcmVuID09PSAnbnVtYmVyJykpIHtcbiAgICAgICAgY2hpbGRyZW4gPSAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJhXCIsIG51bGwsIGNoaWxkcmVuKTtcbiAgICB9XG4gICAgY29uc3QgcCA9IHByZWZldGNoUHJvcCAhPT0gZmFsc2U7XG4gICAgY29uc3QgWywgLyogaXNQZW5kaW5nICovIHN0YXJ0VHJhbnNpdGlvbl0gPSBoYXNVc2VUcmFuc2l0aW9uID8gLy8gVGhlcmUgaXMgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuIHJlbmRlcnMgaW4gdGhpcyBjYXNlLCBvbmx5IGJldHdlZW4gdXNpbmcgUmVhY3QgMTggdnMgMTcuXG4gICAgLy8gQHRzLWlnbm9yZSB1c2VUcmFuc2l0aW9uIGV4aXN0c1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIF9yZWFjdC5kZWZhdWx0LnVzZVRyYW5zaXRpb24oKSA6IFtdO1xuICAgIGxldCByb3V0ZXIgPSBfcmVhY3QuZGVmYXVsdC51c2VDb250ZXh0KF9yb3V0ZXJDb250ZXh0LlJvdXRlckNvbnRleHQpO1xuICAgIGNvbnN0IGFwcFJvdXRlciA9IF9yZWFjdC5kZWZhdWx0LnVzZUNvbnRleHQoX2FwcFJvdXRlckNvbnRleHQuQXBwUm91dGVyQ29udGV4dCk7XG4gICAgaWYgKGFwcFJvdXRlcikge1xuICAgICAgICByb3V0ZXIgPSBhcHBSb3V0ZXI7XG4gICAgfVxuICAgIGNvbnN0IHsgaHJlZiAsIGFzICB9ID0gX3JlYWN0LmRlZmF1bHQudXNlTWVtbygoKT0+e1xuICAgICAgICBjb25zdCBbcmVzb2x2ZWRIcmVmLCByZXNvbHZlZEFzXSA9ICgwLCBfcm91dGVyKS5yZXNvbHZlSHJlZihyb3V0ZXIsIGhyZWZQcm9wLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhyZWY6IHJlc29sdmVkSHJlZixcbiAgICAgICAgICAgIGFzOiBhc1Byb3AgPyAoMCwgX3JvdXRlcikucmVzb2x2ZUhyZWYocm91dGVyLCBhc1Byb3ApIDogcmVzb2x2ZWRBcyB8fCByZXNvbHZlZEhyZWZcbiAgICAgICAgfTtcbiAgICB9LCBbXG4gICAgICAgIHJvdXRlcixcbiAgICAgICAgaHJlZlByb3AsXG4gICAgICAgIGFzUHJvcFxuICAgIF0pO1xuICAgIGNvbnN0IHByZXZpb3VzSHJlZiA9IF9yZWFjdC5kZWZhdWx0LnVzZVJlZihocmVmKTtcbiAgICBjb25zdCBwcmV2aW91c0FzID0gX3JlYWN0LmRlZmF1bHQudXNlUmVmKGFzKTtcbiAgICAvLyBUaGlzIHdpbGwgcmV0dXJuIHRoZSBmaXJzdCBjaGlsZCwgaWYgbXVsdGlwbGUgYXJlIHByb3ZpZGVkIGl0IHdpbGwgdGhyb3cgYW4gZXJyb3JcbiAgICBsZXQgY2hpbGQ7XG4gICAgaWYgKGxlZ2FjeUJlaGF2aW9yKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICAgICAgaWYgKG9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFwib25DbGlja1wiIHdhcyBwYXNzZWQgdG8gPExpbms+IHdpdGggXFxgaHJlZlxcYCBvZiBcXGAke2hyZWZQcm9wfVxcYCBidXQgXCJsZWdhY3lCZWhhdmlvclwiIHdhcyBzZXQuIFRoZSBsZWdhY3kgYmVoYXZpb3IgcmVxdWlyZXMgb25DbGljayBiZSBzZXQgb24gdGhlIGNoaWxkIG9mIG5leHQvbGlua2ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9uTW91c2VFbnRlcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgXCJvbk1vdXNlRW50ZXJcIiB3YXMgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIFxcYGhyZWZcXGAgb2YgXFxgJHtocmVmUHJvcH1cXGAgYnV0IFwibGVnYWN5QmVoYXZpb3JcIiB3YXMgc2V0LiBUaGUgbGVnYWN5IGJlaGF2aW9yIHJlcXVpcmVzIG9uTW91c2VFbnRlciBiZSBzZXQgb24gdGhlIGNoaWxkIG9mIG5leHQvbGlua2ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjaGlsZCA9IF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLm9ubHkoY2hpbGRyZW4pO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGNoaWxkcmVuIHdlcmUgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIFxcYGhyZWZcXGAgb2YgXFxgJHtocmVmUHJvcH1cXGAgYnV0IG9uZSBjaGlsZCBpcyByZXF1aXJlZCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9saW5rLW5vLWNoaWxkcmVuYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTXVsdGlwbGUgY2hpbGRyZW4gd2VyZSBwYXNzZWQgdG8gPExpbms+IHdpdGggXFxgaHJlZlxcYCBvZiBcXGAke2hyZWZQcm9wfVxcYCBidXQgb25seSBvbmUgY2hpbGQgaXMgc3VwcG9ydGVkIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2xpbmstbXVsdGlwbGUtY2hpbGRyZW5gICsgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gXCIgXFxuT3BlbiB5b3VyIGJyb3dzZXIncyBjb25zb2xlIHRvIHZpZXcgdGhlIENvbXBvbmVudCBzdGFjayB0cmFjZS5cIiA6ICcnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjaGlsZCA9IF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLm9ubHkoY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGNoaWxkUmVmID0gbGVnYWN5QmVoYXZpb3IgPyBjaGlsZCAmJiB0eXBlb2YgY2hpbGQgPT09ICdvYmplY3QnICYmIGNoaWxkLnJlZiA6IGZvcndhcmRlZFJlZjtcbiAgICBjb25zdCBbc2V0SW50ZXJzZWN0aW9uUmVmLCBpc1Zpc2libGUsIHJlc2V0VmlzaWJsZV0gPSAoMCwgX3VzZUludGVyc2VjdGlvbikudXNlSW50ZXJzZWN0aW9uKHtcbiAgICAgICAgcm9vdE1hcmdpbjogJzIwMHB4J1xuICAgIH0pO1xuICAgIGNvbnN0IHNldFJlZiA9IF9yZWFjdC5kZWZhdWx0LnVzZUNhbGxiYWNrKChlbCk9PntcbiAgICAgICAgLy8gQmVmb3JlIHRoZSBsaW5rIGdldHRpbmcgb2JzZXJ2ZWQsIGNoZWNrIGlmIHZpc2libGUgc3RhdGUgbmVlZCB0byBiZSByZXNldFxuICAgICAgICBpZiAocHJldmlvdXNBcy5jdXJyZW50ICE9PSBhcyB8fCBwcmV2aW91c0hyZWYuY3VycmVudCAhPT0gaHJlZikge1xuICAgICAgICAgICAgcmVzZXRWaXNpYmxlKCk7XG4gICAgICAgICAgICBwcmV2aW91c0FzLmN1cnJlbnQgPSBhcztcbiAgICAgICAgICAgIHByZXZpb3VzSHJlZi5jdXJyZW50ID0gaHJlZjtcbiAgICAgICAgfVxuICAgICAgICBzZXRJbnRlcnNlY3Rpb25SZWYoZWwpO1xuICAgICAgICBpZiAoY2hpbGRSZWYpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRSZWYgPT09ICdmdW5jdGlvbicpIGNoaWxkUmVmKGVsKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiBjaGlsZFJlZiA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICBjaGlsZFJlZi5jdXJyZW50ID0gZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LCBbXG4gICAgICAgIGFzLFxuICAgICAgICBjaGlsZFJlZixcbiAgICAgICAgaHJlZixcbiAgICAgICAgcmVzZXRWaXNpYmxlLFxuICAgICAgICBzZXRJbnRlcnNlY3Rpb25SZWZcbiAgICBdKTtcbiAgICBfcmVhY3QuZGVmYXVsdC51c2VFZmZlY3QoKCk9PntcbiAgICAgICAgY29uc3Qgc2hvdWxkUHJlZmV0Y2ggPSBpc1Zpc2libGUgJiYgcCAmJiAoMCwgX3JvdXRlcikuaXNMb2NhbFVSTChocmVmKTtcbiAgICAgICAgY29uc3QgY3VyTG9jYWxlID0gdHlwZW9mIGxvY2FsZSAhPT0gJ3VuZGVmaW5lZCcgPyBsb2NhbGUgOiByb3V0ZXIgJiYgcm91dGVyLmxvY2FsZTtcbiAgICAgICAgY29uc3QgaXNQcmVmZXRjaGVkID0gcHJlZmV0Y2hlZFtocmVmICsgJyUnICsgYXMgKyAoY3VyTG9jYWxlID8gJyUnICsgY3VyTG9jYWxlIDogJycpXTtcbiAgICAgICAgaWYgKHNob3VsZFByZWZldGNoICYmICFpc1ByZWZldGNoZWQpIHtcbiAgICAgICAgICAgIHByZWZldGNoKHJvdXRlciwgaHJlZiwgYXMsIHtcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGN1ckxvY2FsZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbXG4gICAgICAgIGFzLFxuICAgICAgICBocmVmLFxuICAgICAgICBpc1Zpc2libGUsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgcCxcbiAgICAgICAgcm91dGVyXG4gICAgXSk7XG4gICAgY29uc3QgY2hpbGRQcm9wcyA9IHtcbiAgICAgICAgcmVmOiBzZXRSZWYsXG4gICAgICAgIG9uQ2xpY2s6IChlKT0+e1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb21wb25lbnQgcmVuZGVyZWQgaW5zaWRlIG5leHQvbGluayBoYXMgdG8gcGFzcyBjbGljayBldmVudCB0byBcIm9uQ2xpY2tcIiBwcm9wLmApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghbGVnYWN5QmVoYXZpb3IgJiYgdHlwZW9mIG9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBvbkNsaWNrKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxlZ2FjeUJlaGF2aW9yICYmIGNoaWxkLnByb3BzICYmIHR5cGVvZiBjaGlsZC5wcm9wcy5vbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgY2hpbGQucHJvcHMub25DbGljayhlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghZS5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgbGlua0NsaWNrZWQoZSwgcm91dGVyLCBocmVmLCBhcywgcmVwbGFjZSwgc2hhbGxvdywgc2Nyb2xsLCBsb2NhbGUsIGFwcFJvdXRlciA/IHN0YXJ0VHJhbnNpdGlvbiA6IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uTW91c2VFbnRlcjogKGUpPT57XG4gICAgICAgICAgICBpZiAoIWxlZ2FjeUJlaGF2aW9yICYmIHR5cGVvZiBvbk1vdXNlRW50ZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXIoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGVnYWN5QmVoYXZpb3IgJiYgY2hpbGQucHJvcHMgJiYgdHlwZW9mIGNoaWxkLnByb3BzLm9uTW91c2VFbnRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGNoaWxkLnByb3BzLm9uTW91c2VFbnRlcihlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgoMCwgX3JvdXRlcikuaXNMb2NhbFVSTChocmVmKSkge1xuICAgICAgICAgICAgICAgIHByZWZldGNoKHJvdXRlciwgaHJlZiwgYXMsIHtcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgLy8gSWYgY2hpbGQgaXMgYW4gPGE+IHRhZyBhbmQgZG9lc24ndCBoYXZlIGEgaHJlZiBhdHRyaWJ1dGUsIG9yIGlmIHRoZSAncGFzc0hyZWYnIHByb3BlcnR5IGlzXG4gICAgLy8gZGVmaW5lZCwgd2Ugc3BlY2lmeSB0aGUgY3VycmVudCAnaHJlZicsIHNvIHRoYXQgcmVwZXRpdGlvbiBpcyBub3QgbmVlZGVkIGJ5IHRoZSB1c2VyXG4gICAgaWYgKCFsZWdhY3lCZWhhdmlvciB8fCBwYXNzSHJlZiB8fCBjaGlsZC50eXBlID09PSAnYScgJiYgISgnaHJlZicgaW4gY2hpbGQucHJvcHMpKSB7XG4gICAgICAgIGNvbnN0IGN1ckxvY2FsZSA9IHR5cGVvZiBsb2NhbGUgIT09ICd1bmRlZmluZWQnID8gbG9jYWxlIDogcm91dGVyICYmIHJvdXRlci5sb2NhbGU7XG4gICAgICAgIC8vIHdlIG9ubHkgcmVuZGVyIGRvbWFpbiBsb2NhbGVzIGlmIHdlIGFyZSBjdXJyZW50bHkgb24gYSBkb21haW4gbG9jYWxlXG4gICAgICAgIC8vIHNvIHRoYXQgbG9jYWxlIGxpbmtzIGFyZSBzdGlsbCB2aXNpdGFibGUgaW4gZGV2ZWxvcG1lbnQvcHJldmlldyBlbnZzXG4gICAgICAgIGNvbnN0IGxvY2FsZURvbWFpbiA9IHJvdXRlciAmJiByb3V0ZXIuaXNMb2NhbGVEb21haW4gJiYgKDAsIF9nZXREb21haW5Mb2NhbGUpLmdldERvbWFpbkxvY2FsZShhcywgY3VyTG9jYWxlLCByb3V0ZXIubG9jYWxlcywgcm91dGVyLmRvbWFpbkxvY2FsZXMpO1xuICAgICAgICBjaGlsZFByb3BzLmhyZWYgPSBsb2NhbGVEb21haW4gfHwgKDAsIF9hZGRCYXNlUGF0aCkuYWRkQmFzZVBhdGgoKDAsIF9hZGRMb2NhbGUpLmFkZExvY2FsZShhcywgY3VyTG9jYWxlLCByb3V0ZXIgJiYgcm91dGVyLmRlZmF1bHRMb2NhbGUpKTtcbiAgICB9XG4gICAgcmV0dXJuIGxlZ2FjeUJlaGF2aW9yID8gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jbG9uZUVsZW1lbnQoY2hpbGQsIGNoaWxkUHJvcHMpIDogLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiYVwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0UHJvcHMsIGNoaWxkUHJvcHMpLCBjaGlsZHJlbik7XG59KTtcbnZhciBfZGVmYXVsdCA9IExpbms7XG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGluay5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJkZWZhdWx0IiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcm91dGVyIiwiX2FkZExvY2FsZSIsIl9yb3V0ZXJDb250ZXh0IiwiX2FwcFJvdXRlckNvbnRleHQiLCJfdXNlSW50ZXJzZWN0aW9uIiwiX2dldERvbWFpbkxvY2FsZSIsIl9hZGRCYXNlUGF0aCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsInNvdXJjZSIsImV4Y2x1ZGVkIiwidGFyZ2V0Iiwic291cmNlS2V5cyIsImtleXMiLCJrZXkiLCJpIiwibGVuZ3RoIiwiaW5kZXhPZiIsImhhc1VzZVRyYW5zaXRpb24iLCJ1c2VUcmFuc2l0aW9uIiwicHJlZmV0Y2hlZCIsInByZWZldGNoIiwicm91dGVyIiwiaHJlZiIsImFzIiwib3B0aW9ucyIsImlzTG9jYWxVUkwiLCJjYXRjaCIsImVyciIsImN1ckxvY2FsZSIsImxvY2FsZSIsImlzTW9kaWZpZWRFdmVudCIsImV2ZW50IiwiY3VycmVudFRhcmdldCIsIm1ldGFLZXkiLCJjdHJsS2V5Iiwic2hpZnRLZXkiLCJhbHRLZXkiLCJuYXRpdmVFdmVudCIsIndoaWNoIiwibGlua0NsaWNrZWQiLCJlIiwicmVwbGFjZSIsInNoYWxsb3ciLCJzY3JvbGwiLCJzdGFydFRyYW5zaXRpb24iLCJub2RlTmFtZSIsImlzQW5jaG9yTm9kZU5hbWUiLCJ0b1VwcGVyQ2FzZSIsInByZXZlbnREZWZhdWx0IiwibmF2aWdhdGUiLCJMaW5rIiwiZm9yd2FyZFJlZiIsIkxpbmtDb21wb25lbnQiLCJwcm9wcyIsImZvcndhcmRlZFJlZiIsImNyZWF0ZVByb3BFcnJvciIsImFyZ3MiLCJFcnJvciIsImV4cGVjdGVkIiwiYWN0dWFsIiwicmVxdWlyZWRQcm9wc0d1YXJkIiwicmVxdWlyZWRQcm9wcyIsImZvckVhY2giLCJfIiwib3B0aW9uYWxQcm9wc0d1YXJkIiwicGFzc0hyZWYiLCJvbkNsaWNrIiwib25Nb3VzZUVudGVyIiwibGVnYWN5QmVoYXZpb3IiLCJvcHRpb25hbFByb3BzIiwidmFsVHlwZSIsImhhc1dhcm5lZCIsInVzZVJlZiIsImN1cnJlbnQiLCJjb25zb2xlIiwid2FybiIsImNoaWxkcmVuIiwiaHJlZlByb3AiLCJhc1Byb3AiLCJjaGlsZHJlblByb3AiLCJwcmVmZXRjaFByb3AiLCJCb29sZWFuIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ORVdfTElOS19CRUhBVklPUiIsInJlc3RQcm9wcyIsImNyZWF0ZUVsZW1lbnQiLCJwIiwidXNlQ29udGV4dCIsIlJvdXRlckNvbnRleHQiLCJhcHBSb3V0ZXIiLCJBcHBSb3V0ZXJDb250ZXh0IiwidXNlTWVtbyIsInJlc29sdmVkSHJlZiIsInJlc29sdmVkQXMiLCJyZXNvbHZlSHJlZiIsInByZXZpb3VzSHJlZiIsInByZXZpb3VzQXMiLCJjaGlsZCIsIkNoaWxkcmVuIiwib25seSIsImNoaWxkUmVmIiwicmVmIiwic2V0SW50ZXJzZWN0aW9uUmVmIiwiaXNWaXNpYmxlIiwicmVzZXRWaXNpYmxlIiwidXNlSW50ZXJzZWN0aW9uIiwicm9vdE1hcmdpbiIsInNldFJlZiIsInVzZUNhbGxiYWNrIiwiZWwiLCJ1c2VFZmZlY3QiLCJzaG91bGRQcmVmZXRjaCIsImlzUHJlZmV0Y2hlZCIsImNoaWxkUHJvcHMiLCJkZWZhdWx0UHJldmVudGVkIiwidW5kZWZpbmVkIiwicHJpb3JpdHkiLCJ0eXBlIiwibG9jYWxlRG9tYWluIiwiaXNMb2NhbGVEb21haW4iLCJnZXREb21haW5Mb2NhbGUiLCJsb2NhbGVzIiwiZG9tYWluTG9jYWxlcyIsImFkZEJhc2VQYXRoIiwiYWRkTG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsImNsb25lRWxlbWVudCIsImFzc2lnbiIsIl9kZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/link.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/normalize-trailing-slash.js': /*!***********************************************************************!*\ !*** ../../node_modules/next/dist/client/normalize-trailing-slash.js ***! \***********************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.normalizePathTrailingSlash = void 0;\n\nvar _removeTrailingSlash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"./utils/remove-trailing-slash\");\n\nvar _parsePath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"./utils/parse-path\");\n\nconst normalizePathTrailingSlash = path => {\n if (!path.startsWith('/')) {\n return path;\n }\n\n const {\n pathname,\n query,\n hash\n } = (0, _parsePath).parsePath(path);\n\n if (false) {}\n\n return `${(0, _removeTrailingSlash).removeTrailingSlash(pathname)}${query}${hash}`;\n};\n\nexports.normalizePathTrailingSlash = normalizePathTrailingSlash;\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvbm9ybWFsaXplLXRyYWlsaW5nLXNsYXNoLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUNiQSw4Q0FBNkM7RUFDekNHLEtBQUssRUFBRTtBQURrQyxDQUE3QztBQUdBRCxrQ0FBQSxHQUFxQyxLQUFLLENBQTFDOztBQUNBLElBQUlHLG9CQUFvQixHQUFHQyxtQkFBTyxDQUFDLHVGQUFELENBQWxDOztBQUNBLElBQUlDLFVBQVUsR0FBR0QsbUJBQU8sQ0FBQyxpRUFBRCxDQUF4Qjs7QUFDQSxNQUFNRiwwQkFBMEIsR0FBSUksSUFBRCxJQUFRO0VBQ3ZDLElBQUksQ0FBQ0EsSUFBSSxDQUFDQyxVQUFMLENBQWdCLEdBQWhCLENBQUwsRUFBMkI7SUFDdkIsT0FBT0QsSUFBUDtFQUNIOztFQUNELE1BQU07SUFBRUUsUUFBRjtJQUFhQyxLQUFiO0lBQXFCQztFQUFyQixJQUErQixDQUFDLEdBQUdMLFVBQUosRUFBZ0JNLFNBQWhCLENBQTBCTCxJQUExQixDQUFyQzs7RUFDQSxJQUFJTSxLQUFKLEVBQXVDLEVBUXRDOztFQUNELE9BQVEsR0FBRSxDQUFDLEdBQUdULG9CQUFKLEVBQTBCYSxtQkFBMUIsQ0FBOENSLFFBQTlDLENBQXdELEdBQUVDLEtBQU0sR0FBRUMsSUFBSyxFQUFqRjtBQUNILENBZkQ7O0FBZ0JBVixrQ0FBQSxHQUFxQ0UsMEJBQXJDOztBQUVBLElBQUksQ0FBQyxPQUFPRixPQUFPLENBQUNrQixPQUFmLEtBQTJCLFVBQTNCLElBQTBDLE9BQU9sQixPQUFPLENBQUNrQixPQUFmLEtBQTJCLFFBQTNCLElBQXVDbEIsT0FBTyxDQUFDa0IsT0FBUixLQUFvQixJQUF0RyxLQUFnSCxPQUFPbEIsT0FBTyxDQUFDa0IsT0FBUixDQUFnQkMsVUFBdkIsS0FBc0MsV0FBMUosRUFBdUs7RUFDcktyQixNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE9BQU8sQ0FBQ2tCLE9BQTlCLEVBQXVDLFlBQXZDLEVBQXFEO0lBQUVqQixLQUFLLEVBQUU7RUFBVCxDQUFyRDtFQUNBSCxNQUFNLENBQUNzQixNQUFQLENBQWNwQixPQUFPLENBQUNrQixPQUF0QixFQUErQmxCLE9BQS9CO0VBQ0FxQixNQUFNLENBQUNyQixPQUFQLEdBQWlCQSxPQUFPLENBQUNrQixPQUF6QjtBQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi8uLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanM/ZWQwNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2ggPSB2b2lkIDA7XG52YXIgX3JlbW92ZVRyYWlsaW5nU2xhc2ggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcmVtb3ZlLXRyYWlsaW5nLXNsYXNoXCIpO1xudmFyIF9wYXJzZVBhdGggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGFyc2UtcGF0aFwiKTtcbmNvbnN0IG5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoID0gKHBhdGgpPT57XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICByZXR1cm4gcGF0aDtcbiAgICB9XG4gICAgY29uc3QgeyBwYXRobmFtZSAsIHF1ZXJ5ICwgaGFzaCAgfSA9ICgwLCBfcGFyc2VQYXRoKS5wYXJzZVBhdGgocGF0aCk7XG4gICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9UUkFJTElOR19TTEFTSCkge1xuICAgICAgICBpZiAoL1xcLlteL10rXFwvPyQvLnRlc3QocGF0aG5hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7KDAsIF9yZW1vdmVUcmFpbGluZ1NsYXNoKS5yZW1vdmVUcmFpbGluZ1NsYXNoKHBhdGhuYW1lKX0ke3F1ZXJ5fSR7aGFzaH1gO1xuICAgICAgICB9IGVsc2UgaWYgKHBhdGhuYW1lLmVuZHNXaXRoKCcvJykpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtwYXRobmFtZX0ke3F1ZXJ5fSR7aGFzaH1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGAke3BhdGhuYW1lfS8ke3F1ZXJ5fSR7aGFzaH1gO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBgJHsoMCwgX3JlbW92ZVRyYWlsaW5nU2xhc2gpLnJlbW92ZVRyYWlsaW5nU2xhc2gocGF0aG5hbWUpfSR7cXVlcnl9JHtoYXNofWA7XG59O1xuZXhwb3J0cy5ub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCA9IG5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJfcmVtb3ZlVHJhaWxpbmdTbGFzaCIsInJlcXVpcmUiLCJfcGFyc2VQYXRoIiwicGF0aCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfVFJBSUxJTkdfU0xBU0giLCJ0ZXN0IiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsImVuZHNXaXRoIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/normalize-trailing-slash.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/remove-base-path.js': /*!***************************************************************!*\ !*** ../../node_modules/next/dist/client/remove-base-path.js ***! \***************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.removeBasePath = removeBasePath;\n\nvar _hasBasePath = __webpack_require__(/*! ./has-base-path */ \"../../node_modules/next/dist/client/has-base-path.js\");\n\nconst basePath = false || '';\n\nfunction removeBasePath(path) {\n if (false) {}\n\n path = path.slice(basePath.length);\n if (!path.startsWith('/')) path = `/${path}`;\n return path;\n}\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcmVtb3ZlLWJhc2UtcGF0aC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFDYkEsOENBQTZDO0VBQ3pDRyxLQUFLLEVBQUU7QUFEa0MsQ0FBN0M7QUFHQUQsc0JBQUEsR0FBeUJFLGNBQXpCOztBQUNBLElBQUlDLFlBQVksR0FBR0MsbUJBQU8sQ0FBQyw2RUFBRCxDQUExQjs7QUFDQSxNQUFNQyxRQUFRLEdBQUdDLE1BQUEsSUFBc0MsRUFBdkQ7O0FBQ0EsU0FBU0osY0FBVCxDQUF3Qk8sSUFBeEIsRUFBOEI7RUFDMUIsSUFBSUgsS0FBSixFQUFnRCxFQUkvQzs7RUFDREcsSUFBSSxHQUFHQSxJQUFJLENBQUNHLEtBQUwsQ0FBV1AsUUFBUSxDQUFDUSxNQUFwQixDQUFQO0VBQ0EsSUFBSSxDQUFDSixJQUFJLENBQUNLLFVBQUwsQ0FBZ0IsR0FBaEIsQ0FBTCxFQUEyQkwsSUFBSSxHQUFJLElBQUdBLElBQUssRUFBaEI7RUFDM0IsT0FBT0EsSUFBUDtBQUNIOztBQUVELElBQUksQ0FBQyxPQUFPVCxPQUFPLENBQUNlLE9BQWYsS0FBMkIsVUFBM0IsSUFBMEMsT0FBT2YsT0FBTyxDQUFDZSxPQUFmLEtBQTJCLFFBQTNCLElBQXVDZixPQUFPLENBQUNlLE9BQVIsS0FBb0IsSUFBdEcsS0FBZ0gsT0FBT2YsT0FBTyxDQUFDZSxPQUFSLENBQWdCQyxVQUF2QixLQUFzQyxXQUExSixFQUF1SztFQUNyS2xCLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsT0FBTyxDQUFDZSxPQUE5QixFQUF1QyxZQUF2QyxFQUFxRDtJQUFFZCxLQUFLLEVBQUU7RUFBVCxDQUFyRDtFQUNBSCxNQUFNLENBQUNtQixNQUFQLENBQWNqQixPQUFPLENBQUNlLE9BQXRCLEVBQStCZixPQUEvQjtFQUNBa0IsTUFBTSxDQUFDbEIsT0FBUCxHQUFpQkEsT0FBTyxDQUFDZSxPQUF6QjtBQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi8uLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoLmpzPzJhMjEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLnJlbW92ZUJhc2VQYXRoID0gcmVtb3ZlQmFzZVBhdGg7XG52YXIgX2hhc0Jhc2VQYXRoID0gcmVxdWlyZShcIi4vaGFzLWJhc2UtcGF0aFwiKTtcbmNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCB8fCAnJztcbmZ1bmN0aW9uIHJlbW92ZUJhc2VQYXRoKHBhdGgpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX01BTlVBTF9DTElFTlRfQkFTRV9QQVRIKSB7XG4gICAgICAgIGlmICghKDAsIF9oYXNCYXNlUGF0aCkuaGFzQmFzZVBhdGgocGF0aCkpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgICB9XG4gICAgfVxuICAgIHBhdGggPSBwYXRoLnNsaWNlKGJhc2VQYXRoLmxlbmd0aCk7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoJy8nKSkgcGF0aCA9IGAvJHtwYXRofWA7XG4gICAgcmV0dXJuIHBhdGg7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbW92ZS1iYXNlLXBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwicmVtb3ZlQmFzZVBhdGgiLCJfaGFzQmFzZVBhdGgiLCJyZXF1aXJlIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJfX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgiLCJoYXNCYXNlUGF0aCIsInNsaWNlIiwibGVuZ3RoIiwic3RhcnRzV2l0aCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/remove-base-path.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/remove-locale.js': /*!************************************************************!*\ !*** ../../node_modules/next/dist/client/remove-locale.js ***! \************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.removeLocale = removeLocale;\n\nvar _parsePath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"./utils/parse-path\");\n\nfunction removeLocale(path, locale) {\n if (false) {}\n\n return path;\n}\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcmVtb3ZlLWxvY2FsZS5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFDYkEsOENBQTZDO0VBQ3pDRyxLQUFLLEVBQUU7QUFEa0MsQ0FBN0M7QUFHQUQsb0JBQUEsR0FBdUJFLFlBQXZCOztBQUNBLElBQUlDLFVBQVUsR0FBR0MsbUJBQU8sQ0FBQyxpRUFBRCxDQUF4Qjs7QUFDQSxTQUFTRixZQUFULENBQXNCRyxJQUF0QixFQUE0QkMsTUFBNUIsRUFBb0M7RUFDaEMsSUFBSUMsS0FBSixFQUFxQyxFQUtwQzs7RUFDRCxPQUFPRixJQUFQO0FBQ0g7O0FBRUQsSUFBSSxDQUFDLE9BQU9MLE9BQU8sQ0FBQ2tCLE9BQWYsS0FBMkIsVUFBM0IsSUFBMEMsT0FBT2xCLE9BQU8sQ0FBQ2tCLE9BQWYsS0FBMkIsUUFBM0IsSUFBdUNsQixPQUFPLENBQUNrQixPQUFSLEtBQW9CLElBQXRHLEtBQWdILE9BQU9sQixPQUFPLENBQUNrQixPQUFSLENBQWdCQyxVQUF2QixLQUFzQyxXQUExSixFQUF1SztFQUNyS3JCLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsT0FBTyxDQUFDa0IsT0FBOUIsRUFBdUMsWUFBdkMsRUFBcUQ7SUFBRWpCLEtBQUssRUFBRTtFQUFULENBQXJEO0VBQ0FILE1BQU0sQ0FBQ3NCLE1BQVAsQ0FBY3BCLE9BQU8sQ0FBQ2tCLE9BQXRCLEVBQStCbEIsT0FBL0I7RUFDQXFCLE1BQU0sQ0FBQ3JCLE9BQVAsR0FBaUJBLE9BQU8sQ0FBQ2tCLE9BQXpCO0FBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uLy4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlbW92ZS1sb2NhbGUuanM/NGY5ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMucmVtb3ZlTG9jYWxlID0gcmVtb3ZlTG9jYWxlO1xudmFyIF9wYXJzZVBhdGggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGFyc2UtcGF0aFwiKTtcbmZ1bmN0aW9uIHJlbW92ZUxvY2FsZShwYXRoLCBsb2NhbGUpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICBjb25zdCB7IHBhdGhuYW1lICB9ID0gKDAsIF9wYXJzZVBhdGgpLnBhcnNlUGF0aChwYXRoKTtcbiAgICAgICAgY29uc3QgcGF0aExvd2VyID0gcGF0aG5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgbG9jYWxlTG93ZXIgPSBsb2NhbGUgPT0gbnVsbCA/IHZvaWQgMCA6IGxvY2FsZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXR1cm4gbG9jYWxlICYmIChwYXRoTG93ZXIuc3RhcnRzV2l0aChgLyR7bG9jYWxlTG93ZXJ9L2ApIHx8IHBhdGhMb3dlciA9PT0gYC8ke2xvY2FsZUxvd2VyfWApID8gYCR7cGF0aG5hbWUubGVuZ3RoID09PSBsb2NhbGUubGVuZ3RoICsgMSA/IGAvYCA6IGBgfSR7cGF0aC5zbGljZShsb2NhbGUubGVuZ3RoICsgMSl9YCA6IHBhdGg7XG4gICAgfVxuICAgIHJldHVybiBwYXRoO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZW1vdmUtbG9jYWxlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsInJlbW92ZUxvY2FsZSIsIl9wYXJzZVBhdGgiLCJyZXF1aXJlIiwicGF0aCIsImxvY2FsZSIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwicGF0aG5hbWUiLCJwYXJzZVBhdGgiLCJwYXRoTG93ZXIiLCJ0b0xvd2VyQ2FzZSIsImxvY2FsZUxvd2VyIiwic3RhcnRzV2l0aCIsImxlbmd0aCIsInNsaWNlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/remove-locale.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/request-idle-callback.js': /*!********************************************************************!*\ !*** ../../node_modules/next/dist/client/request-idle-callback.js ***! \********************************************************************/ /***/ (module, exports) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.cancelIdleCallback = exports.requestIdleCallback = void 0;\n\nconst requestIdleCallback = typeof self !== 'undefined' && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function (cb) {\n let start = Date.now();\n return setTimeout(function () {\n cb({\n didTimeout: false,\n timeRemaining: function () {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\n\nexports.requestIdleCallback = requestIdleCallback;\n\nconst cancelIdleCallback = typeof self !== 'undefined' && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function (id) {\n return clearTimeout(id);\n};\n\nexports.cancelIdleCallback = cancelIdleCallback;\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcmVxdWVzdC1pZGxlLWNhbGxiYWNrLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUNiQSw4Q0FBNkM7RUFDekNHLEtBQUssRUFBRTtBQURrQyxDQUE3QztBQUdBRCwwQkFBQSxHQUE2QkEsMkJBQUEsR0FBOEIsS0FBSyxDQUFoRTs7QUFDQSxNQUFNRyxtQkFBbUIsR0FBRyxPQUFPQyxJQUFQLEtBQWdCLFdBQWhCLElBQStCQSxJQUFJLENBQUNELG1CQUFwQyxJQUEyREMsSUFBSSxDQUFDRCxtQkFBTCxDQUF5QkUsSUFBekIsQ0FBOEJDLE1BQTlCLENBQTNELElBQW9HLFVBQVNDLEVBQVQsRUFBYTtFQUN6SSxJQUFJQyxLQUFLLEdBQUdDLElBQUksQ0FBQ0MsR0FBTCxFQUFaO0VBQ0EsT0FBT0MsVUFBVSxDQUFDLFlBQVc7SUFDekJKLEVBQUUsQ0FBQztNQUNDSyxVQUFVLEVBQUUsS0FEYjtNQUVDQyxhQUFhLEVBQUUsWUFBVztRQUN0QixPQUFPQyxJQUFJLENBQUNDLEdBQUwsQ0FBUyxDQUFULEVBQVksTUFBTU4sSUFBSSxDQUFDQyxHQUFMLEtBQWFGLEtBQW5CLENBQVosQ0FBUDtNQUNIO0lBSkYsQ0FBRCxDQUFGO0VBTUgsQ0FQZ0IsRUFPZCxDQVBjLENBQWpCO0FBUUgsQ0FWRDs7QUFXQVIsMkJBQUEsR0FBOEJHLG1CQUE5Qjs7QUFDQSxNQUFNRCxrQkFBa0IsR0FBRyxPQUFPRSxJQUFQLEtBQWdCLFdBQWhCLElBQStCQSxJQUFJLENBQUNGLGtCQUFwQyxJQUEwREUsSUFBSSxDQUFDRixrQkFBTCxDQUF3QkcsSUFBeEIsQ0FBNkJDLE1BQTdCLENBQTFELElBQWtHLFVBQVNVLEVBQVQsRUFBYTtFQUN0SSxPQUFPQyxZQUFZLENBQUNELEVBQUQsQ0FBbkI7QUFDSCxDQUZEOztBQUdBaEIsMEJBQUEsR0FBNkJFLGtCQUE3Qjs7QUFFQSxJQUFJLENBQUMsT0FBT0YsT0FBTyxDQUFDa0IsT0FBZixLQUEyQixVQUEzQixJQUEwQyxPQUFPbEIsT0FBTyxDQUFDa0IsT0FBZixLQUEyQixRQUEzQixJQUF1Q2xCLE9BQU8sQ0FBQ2tCLE9BQVIsS0FBb0IsSUFBdEcsS0FBZ0gsT0FBT2xCLE9BQU8sQ0FBQ2tCLE9BQVIsQ0FBZ0JDLFVBQXZCLEtBQXNDLFdBQTFKLEVBQXVLO0VBQ3JLckIsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxPQUFPLENBQUNrQixPQUE5QixFQUF1QyxZQUF2QyxFQUFxRDtJQUFFakIsS0FBSyxFQUFFO0VBQVQsQ0FBckQ7RUFDQUgsTUFBTSxDQUFDc0IsTUFBUCxDQUFjcEIsT0FBTyxDQUFDa0IsT0FBdEIsRUFBK0JsQixPQUEvQjtFQUNBcUIsTUFBTSxDQUFDckIsT0FBUCxHQUFpQkEsT0FBTyxDQUFDa0IsT0FBekI7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcmVxdWVzdC1pZGxlLWNhbGxiYWNrLmpzP2U5NzAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmNhbmNlbElkbGVDYWxsYmFjayA9IGV4cG9ydHMucmVxdWVzdElkbGVDYWxsYmFjayA9IHZvaWQgMDtcbmNvbnN0IHJlcXVlc3RJZGxlQ2FsbGJhY2sgPSB0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgJiYgc2VsZi5yZXF1ZXN0SWRsZUNhbGxiYWNrICYmIHNlbGYucmVxdWVzdElkbGVDYWxsYmFjay5iaW5kKHdpbmRvdykgfHwgZnVuY3Rpb24oY2IpIHtcbiAgICBsZXQgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgIHJldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICBjYih7XG4gICAgICAgICAgICBkaWRUaW1lb3V0OiBmYWxzZSxcbiAgICAgICAgICAgIHRpbWVSZW1haW5pbmc6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLm1heCgwLCA1MCAtIChEYXRlLm5vdygpIC0gc3RhcnQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSwgMSk7XG59O1xuZXhwb3J0cy5yZXF1ZXN0SWRsZUNhbGxiYWNrID0gcmVxdWVzdElkbGVDYWxsYmFjaztcbmNvbnN0IGNhbmNlbElkbGVDYWxsYmFjayA9IHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyAmJiBzZWxmLmNhbmNlbElkbGVDYWxsYmFjayAmJiBzZWxmLmNhbmNlbElkbGVDYWxsYmFjay5iaW5kKHdpbmRvdykgfHwgZnVuY3Rpb24oaWQpIHtcbiAgICByZXR1cm4gY2xlYXJUaW1lb3V0KGlkKTtcbn07XG5leHBvcnRzLmNhbmNlbElkbGVDYWxsYmFjayA9IGNhbmNlbElkbGVDYWxsYmFjaztcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVxdWVzdC1pZGxlLWNhbGxiYWNrLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImNhbmNlbElkbGVDYWxsYmFjayIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJzZWxmIiwiYmluZCIsIndpbmRvdyIsImNiIiwic3RhcnQiLCJEYXRlIiwibm93Iiwic2V0VGltZW91dCIsImRpZFRpbWVvdXQiLCJ0aW1lUmVtYWluaW5nIiwiTWF0aCIsIm1heCIsImlkIiwiY2xlYXJUaW1lb3V0IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/request-idle-callback.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/route-loader.js': /*!***********************************************************!*\ !*** ../../node_modules/next/dist/client/route-loader.js ***! \***********************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.markAssetError = markAssetError;\nexports.isAssetError = isAssetError;\nexports.getClientBuildManifest = getClientBuildManifest;\nexports.createRouteLoader = createRouteLoader;\n\nvar _getAssetPathFromRoute = _interopRequireDefault(__webpack_require__(/*! ../shared/lib/router/utils/get-asset-path-from-route */ \"../shared/lib/router/utils/get-asset-path-from-route\"));\n\nvar _trustedTypes = __webpack_require__(/*! ./trusted-types */ \"../../node_modules/next/dist/client/trusted-types.js\");\n\nvar _requestIdleCallback = __webpack_require__(/*! ./request-idle-callback */ \"../../node_modules/next/dist/client/request-idle-callback.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n} // 3.8s was arbitrarily chosen as it's what https://web.dev/interactive\n// considers as \"Good\" time-to-interactive. We must assume something went\n// wrong beyond this point, and then fall-back to a full page transition to\n// show the user something of value.\n\n\nconst MS_MAX_IDLE_DELAY = 3800;\n\nfunction withFuture(key, map, generator) {\n let entry = map.get(key);\n\n if (entry) {\n if ('future' in entry) {\n return entry.future;\n }\n\n return Promise.resolve(entry);\n }\n\n let resolver;\n const prom = new Promise(resolve => {\n resolver = resolve;\n });\n map.set(key, entry = {\n resolve: resolver,\n future: prom\n });\n return generator ? generator() // eslint-disable-next-line no-sequences\n .then(value => (resolver(value), value)).catch(err => {\n map.delete(key);\n throw err;\n }) : prom;\n}\n\nfunction hasPrefetch(link) {\n try {\n link = document.createElement('link');\n return (// detect IE11 since it supports prefetch but isn't detected\n // with relList.support\n !!window.MSInputMethodContext && !!document.documentMode || link.relList.supports('prefetch')\n );\n } catch (e) {\n return false;\n }\n}\n\nconst canPrefetch = hasPrefetch();\n\nfunction prefetchViaDom(href, as, link) {\n return new Promise((res, rej) => {\n const selector = `\n link[rel=\"prefetch\"][href^=\"${href}\"],\n link[rel=\"preload\"][href^=\"${href}\"],\n script[src^=\"${href}\"]`;\n\n if (document.querySelector(selector)) {\n return res();\n }\n\n link = document.createElement('link'); // The order of property assignment here is intentional:\n\n if (as) link.as = as;\n link.rel = `prefetch`;\n link.crossOrigin = undefined;\n link.onload = res;\n link.onerror = rej; // `href` should always be last:\n\n link.href = href;\n document.head.appendChild(link);\n });\n}\n\nconst ASSET_LOAD_ERROR = Symbol('ASSET_LOAD_ERROR');\n\nfunction markAssetError(err) {\n return Object.defineProperty(err, ASSET_LOAD_ERROR, {});\n}\n\nfunction isAssetError(err) {\n return err && ASSET_LOAD_ERROR in err;\n}\n\nfunction appendScript(src, script) {\n return new Promise((resolve, reject) => {\n script = document.createElement('script'); // The order of property assignment here is intentional.\n // 1. Setup success/failure hooks in case the browser synchronously\n // executes when `src` is set.\n\n script.onload = resolve;\n\n script.onerror = () => reject(markAssetError(new Error(`Failed to load script: ${src}`))); // 2. Configure the cross-origin attribute before setting `src` in case the\n // browser begins to fetch.\n\n\n script.crossOrigin = undefined; // 3. Finally, set the source and inject into the DOM in case the child\n // must be appended for fetching to start.\n\n script.src = src;\n document.body.appendChild(script);\n });\n} // We wait for pages to be built in dev before we start the route transition\n// timeout to prevent an un-necessary hard navigation in development.\n\n\nlet devBuildPromise; // Resolve a promise that times out after given amount of milliseconds.\n\nfunction resolvePromiseWithTimeout(p, ms, err) {\n return new Promise((resolve, reject) => {\n let cancelled = false;\n p.then(r => {\n // Resolved, cancel the timeout\n cancelled = true;\n resolve(r);\n }).catch(reject); // We wrap these checks separately for better dead-code elimination in\n // production bundles.\n\n if (true) {\n (devBuildPromise || Promise.resolve()).then(() => {\n (0, _requestIdleCallback).requestIdleCallback(() => setTimeout(() => {\n if (!cancelled) {\n reject(err);\n }\n }, ms));\n });\n }\n\n if (false) {}\n });\n}\n\nfunction getClientBuildManifest() {\n if (self.__BUILD_MANIFEST) {\n return Promise.resolve(self.__BUILD_MANIFEST);\n }\n\n const onBuildManifest = new Promise(resolve => {\n // Mandatory because this is not concurrent safe:\n const cb = self.__BUILD_MANIFEST_CB;\n\n self.__BUILD_MANIFEST_CB = () => {\n resolve(self.__BUILD_MANIFEST);\n cb && cb();\n };\n });\n return resolvePromiseWithTimeout(onBuildManifest, MS_MAX_IDLE_DELAY, markAssetError(new Error('Failed to load client build manifest')));\n}\n\nfunction getFilesForRoute(assetPrefix, route) {\n if (true) {\n const scriptUrl = assetPrefix + '/_next/static/chunks/pages' + encodeURI((0, _getAssetPathFromRoute).default(route, '.js'));\n return Promise.resolve({\n scripts: [(0, _trustedTypes).__unsafeCreateTrustedScriptURL(scriptUrl)],\n // Styles are handled by `style-loader` in development:\n css: []\n });\n }\n\n return getClientBuildManifest().then(manifest => {\n if (!(route in manifest)) {\n throw markAssetError(new Error(`Failed to lookup route: ${route}`));\n }\n\n const allFiles = manifest[route].map(entry => assetPrefix + '/_next/' + encodeURI(entry));\n return {\n scripts: allFiles.filter(v => v.endsWith('.js')).map(v => (0, _trustedTypes).__unsafeCreateTrustedScriptURL(v)),\n css: allFiles.filter(v => v.endsWith('.css'))\n };\n });\n}\n\nfunction createRouteLoader(assetPrefix) {\n const entrypoints = new Map();\n const loadedScripts = new Map();\n const styleSheets = new Map();\n const routes = new Map();\n\n function maybeExecuteScript(src) {\n // With HMR we might need to \"reload\" scripts when they are\n // disposed and readded. Executing scripts twice has no functional\n // differences\n if (false) {} else {\n return appendScript(src);\n }\n }\n\n function fetchStyleSheet(href) {\n let prom = styleSheets.get(href);\n\n if (prom) {\n return prom;\n }\n\n styleSheets.set(href, prom = fetch(href).then(res => {\n if (!res.ok) {\n throw new Error(`Failed to load stylesheet: ${href}`);\n }\n\n return res.text().then(text => ({\n href: href,\n content: text\n }));\n }).catch(err => {\n throw markAssetError(err);\n }));\n return prom;\n }\n\n return {\n whenEntrypoint(route) {\n return withFuture(route, entrypoints);\n },\n\n onEntrypoint(route, execute) {\n (execute ? Promise.resolve().then(() => execute()).then(exports => ({\n component: exports && exports.default || exports,\n exports: exports\n }), err => ({\n error: err\n })) : Promise.resolve(undefined)).then(input => {\n const old = entrypoints.get(route);\n\n if (old && 'resolve' in old) {\n if (input) {\n entrypoints.set(route, input);\n old.resolve(input);\n }\n } else {\n if (input) {\n entrypoints.set(route, input);\n } else {\n entrypoints.delete(route);\n } // when this entrypoint has been resolved before\n // the route is outdated and we want to invalidate\n // this cache entry\n\n\n routes.delete(route);\n }\n });\n },\n\n loadRoute(route, prefetch) {\n return withFuture(route, routes, () => {\n let devBuildPromiseResolve;\n\n if (true) {\n devBuildPromise = new Promise(resolve => {\n devBuildPromiseResolve = resolve;\n });\n }\n\n return resolvePromiseWithTimeout(getFilesForRoute(assetPrefix, route).then(({\n scripts,\n css\n }) => {\n return Promise.all([entrypoints.has(route) ? [] : Promise.all(scripts.map(maybeExecuteScript)), Promise.all(css.map(fetchStyleSheet))]);\n }).then(res => {\n return this.whenEntrypoint(route).then(entrypoint => ({\n entrypoint,\n styles: res[1]\n }));\n }), MS_MAX_IDLE_DELAY, markAssetError(new Error(`Route did not complete loading: ${route}`))).then(({\n entrypoint,\n styles\n }) => {\n const res = Object.assign({\n styles: styles\n }, entrypoint);\n return 'error' in entrypoint ? entrypoint : res;\n }).catch(err => {\n if (prefetch) {\n // we don't want to cache errors during prefetch\n throw err;\n }\n\n return {\n error: err\n };\n }).finally(() => {\n return devBuildPromiseResolve == null ? void 0 : devBuildPromiseResolve();\n });\n });\n },\n\n prefetch(route) {\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n let cn;\n\n if (cn = navigator.connection) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve();\n }\n\n return getFilesForRoute(assetPrefix, route).then(output => Promise.all(canPrefetch ? output.scripts.map(script => prefetchViaDom(script.toString(), 'script')) : [])).then(() => {\n (0, _requestIdleCallback).requestIdleCallback(() => this.loadRoute(route, true).catch(() => {}));\n }).catch( // swallow prefetch errors\n () => {});\n }\n\n };\n}\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcm91dGUtbG9hZGVyLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUNiQSw4Q0FBNkM7RUFDekNHLEtBQUssRUFBRTtBQURrQyxDQUE3QztBQUdBRCxzQkFBQSxHQUF5QkUsY0FBekI7QUFDQUYsb0JBQUEsR0FBdUJHLFlBQXZCO0FBQ0FILDhCQUFBLEdBQWlDSSxzQkFBakM7QUFDQUoseUJBQUEsR0FBNEJLLGlCQUE1Qjs7QUFDQSxJQUFJQyxzQkFBc0IsR0FBR0Msc0JBQXNCLENBQUNDLG1CQUFPLENBQUMsa0hBQUQsQ0FBUixDQUFuRDs7QUFDQSxJQUFJQyxhQUFhLEdBQUdELG1CQUFPLENBQUMsNkVBQUQsQ0FBM0I7O0FBQ0EsSUFBSUUsb0JBQW9CLEdBQUdGLG1CQUFPLENBQUMsNkZBQUQsQ0FBbEM7O0FBQ0EsU0FBU0Qsc0JBQVQsQ0FBZ0NJLEdBQWhDLEVBQXFDO0VBQ2pDLE9BQU9BLEdBQUcsSUFBSUEsR0FBRyxDQUFDQyxVQUFYLEdBQXdCRCxHQUF4QixHQUE4QjtJQUNqQ0UsT0FBTyxFQUFFRjtFQUR3QixDQUFyQztBQUdILEMsQ0FDRDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsTUFBTUcsaUJBQWlCLEdBQUcsSUFBMUI7O0FBQ0EsU0FBU0MsVUFBVCxDQUFvQkMsR0FBcEIsRUFBeUJDLEdBQXpCLEVBQThCQyxTQUE5QixFQUF5QztFQUNyQyxJQUFJQyxLQUFLLEdBQUdGLEdBQUcsQ0FBQ0csR0FBSixDQUFRSixHQUFSLENBQVo7O0VBQ0EsSUFBSUcsS0FBSixFQUFXO0lBQ1AsSUFBSSxZQUFZQSxLQUFoQixFQUF1QjtNQUNuQixPQUFPQSxLQUFLLENBQUNFLE1BQWI7SUFDSDs7SUFDRCxPQUFPQyxPQUFPLENBQUNDLE9BQVIsQ0FBZ0JKLEtBQWhCLENBQVA7RUFDSDs7RUFDRCxJQUFJSyxRQUFKO0VBQ0EsTUFBTUMsSUFBSSxHQUFHLElBQUlILE9BQUosQ0FBYUMsT0FBRCxJQUFXO0lB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Z0gsT0FBT2IsT0FBTyxDQUFDYSxPQUFSLENBQWdCRCxVQUF2QixLQUFzQyxXQUExSixFQUF1SztFQUNyS2QsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxPQUFPLENBQUNhLE9BQTlCLEVBQXVDLFlBQXZDLEVBQXFEO0lBQUVaLEtBQUssRUFBRTtFQUFULENBQXJEO0VBQ0FILE1BQU0sQ0FBQ3lILE1BQVAsQ0FBY3ZILE9BQU8sQ0FBQ2EsT0FBdEIsRUFBK0JiLE9BQS9CO0VBQ0FnSSxNQUFNLENBQUNoSSxPQUFQLEdBQWlCQSxPQUFPLENBQUNhLE9BQXpCO0FBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uLy4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JvdXRlLWxvYWRlci5qcz83ZDk0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5tYXJrQXNzZXRFcnJvciA9IG1hcmtBc3NldEVycm9yO1xuZXhwb3J0cy5pc0Fzc2V0RXJyb3IgPSBpc0Fzc2V0RXJyb3I7XG5leHBvcnRzLmdldENsaWVudEJ1aWxkTWFuaWZlc3QgPSBnZXRDbGllbnRCdWlsZE1hbmlmZXN0O1xuZXhwb3J0cy5jcmVhdGVSb3V0ZUxvYWRlciA9IGNyZWF0ZVJvdXRlTG9hZGVyO1xudmFyIF9nZXRBc3NldFBhdGhGcm9tUm91dGUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9nZXQtYXNzZXQtcGF0aC1mcm9tLXJvdXRlXCIpKTtcbnZhciBfdHJ1c3RlZFR5cGVzID0gcmVxdWlyZShcIi4vdHJ1c3RlZC10eXBlc1wiKTtcbnZhciBfcmVxdWVzdElkbGVDYWxsYmFjayA9IHJlcXVpcmUoXCIuL3JlcXVlc3QtaWRsZS1jYWxsYmFja1wiKTtcbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgfTtcbn1cbi8vIDMuOHMgd2FzIGFyYml0cmFyaWx5IGNob3NlbiBhcyBpdCdzIHdoYXQgaHR0cHM6Ly93ZWIuZGV2L2ludGVyYWN0aXZlXG4vLyBjb25zaWRlcnMgYXMgXCJHb29kXCIgdGltZS10by1pbnRlcmFjdGl2ZS4gV2UgbXVzdCBhc3N1bWUgc29tZXRoaW5nIHdlbnRcbi8vIHdyb25nIGJleW9uZCB0aGlzIHBvaW50LCBhbmQgdGhlbiBmYWxsLWJhY2sgdG8gYSBmdWxsIHBhZ2UgdHJhbnNpdGlvbiB0b1xuLy8gc2hvdyB0aGUgdXNlciBzb21ldGhpbmcgb2YgdmFsdWUuXG5jb25zdCBNU19NQVhfSURMRV9ERUxBWSA9IDM4MDA7XG5mdW5jdGlvbiB3aXRoRnV0dXJlKGtleSwgbWFwLCBnZW5lcmF0b3IpIHtcbiAgICBsZXQgZW50cnkgPSBtYXAuZ2V0KGtleSk7XG4gICAgaWYgKGVudHJ5KSB7XG4gICAgICAgIGlmICgnZnV0dXJlJyBpbiBlbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIGVudHJ5LmZ1dHVyZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGVudHJ5KTtcbiAgICB9XG4gICAgbGV0IHJlc29sdmVyO1xuICAgIGNvbnN0IHByb20gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PntcbiAgICAgICAgcmVzb2x2ZXIgPSByZXNvbHZlO1xuICAgIH0pO1xuICAgIG1hcC5zZXQoa2V5LCBlbnRyeSA9IHtcbiAgICAgICAgcmVzb2x2ZTogcmVzb2x2ZXIsXG4gICAgICAgIGZ1dHVyZTogcHJvbVxuICAgIH0pO1xuICAgIHJldHVybiBnZW5lcmF0b3IgPyBnZW5lcmF0b3IoKS8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZXF1ZW5jZXNcbiAgICAudGhlbigodmFsdWUpPT4ocmVzb2x2ZXIodmFsdWUpLCB2YWx1ZSkpLmNhdGNoKChlcnIpPT57XG4gICAgICAgIG1hcC5kZWxldGUoa2V5KTtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgIH0pIDogcHJvbTtcbn1cbmZ1bmN0aW9uIGhhc1ByZWZldGNoKGxpbmspIHtcbiAgICB0cnkge1xuICAgICAgICBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgICByZXR1cm4oLy8gZGV0ZWN0IElFMTEgc2luY2UgaXQgc3VwcG9ydHMgcHJlZmV0Y2ggYnV0IGlzbid0IGRldGVjdGVkXG4gICAgICAgIC8vIHdpdGggcmVsTGlzdC5zdXBwb3J0XG4gICAgICAgICghIXdpbmRvdy5NU0lucHV0TWV0aG9kQ29udGV4dCAmJiAhIWRvY3VtZW50LmRvY3VtZW50TW9kZSkgfHwgbGluay5yZWxMaXN0LnN1cHBvcnRzKCdwcmVmZXRjaCcpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5jb25zdCBjYW5QcmVmZXRjaCA9IGhhc1ByZWZldGNoKCk7XG5mdW5jdGlvbiBwcmVmZXRjaFZpYURvbShocmVmLCBhcywgbGluaykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzLCByZWopPT57XG4gICAgICAgIGNvbnN0IHNlbGVjdG9yID0gYFxuICAgICAgbGlua1tyZWw9XCJwcmVmZXRjaFwiXVtocmVmXj1cIiR7aHJlZn1cIl0sXG4gICAgICBsaW5rW3JlbD1cInByZWxvYWRcIl1baHJlZl49XCIke2hyZWZ9XCJdLFxuICAgICAgc2NyaXB0W3NyY149XCIke2hyZWZ9XCJdYDtcbiAgICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgLy8gVGhlIG9yZGVyIG9mIHByb3BlcnR5IGFzc2lnbm1lbnQgaGVyZSBpcyBpbnRlbnRpb25hbDpcbiAgICAgICAgaWYgKGFzKSBsaW5rLmFzID0gYXM7XG4gICAgICAgIGxpbmsucmVsID0gYHByZWZldGNoYDtcbiAgICAgICAgbGluay5jcm9zc09yaWdpbiA9IHByb2Nlc3MuZW52Ll9fTkVYVF9DUk9TU19PUklHSU47XG4gICAgICAgIGxpbmsub25sb2FkID0gcmVzO1xuICAgICAgICBsaW5rLm9uZXJyb3IgPSByZWo7XG4gICAgICAgIC8vIGBocmVmYCBzaG91bGQgYWx3YXlzIGJlIGxhc3Q6XG4gICAgICAgIGxpbmsuaHJlZiA9IGhyZWY7XG4gICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgfSk7XG59XG5jb25zdCBBU1NFVF9MT0FEX0VSUk9SID0gU3ltYm9sKCdBU1NFVF9MT0FEX0VSUk9SJyk7XG5mdW5jdGlvbiBtYXJrQXNzZXRFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGVyciwgQVNTRVRfTE9BRF9FUlJPUiwge30pO1xufVxuZnVuY3Rpb24gaXNBc3NldEVycm9yKGVycikge1xuICAgIHJldHVybiBlcnIgJiYgQVNTRVRfTE9BRF9FUlJPUiBpbiBlcnI7XG59XG5mdW5jdGlvbiBhcHBlbmRTY3JpcHQoc3JjLCBzY3JpcHQpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcbiAgICAgICAgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgIC8vIFRoZSBvcmRlciBvZiBwcm9wZXJ0eSBhc3NpZ25tZW50IGhlcmUgaXMgaW50ZW50aW9uYWwuXG4gICAgICAgIC8vIDEuIFNldHVwIHN1Y2Nlc3MvZmFpbHVyZSBob29rcyBpbiBjYXNlIHRoZSBicm93c2VyIHN5bmNocm9ub3VzbHlcbiAgICAgICAgLy8gICAgZXhlY3V0ZXMgd2hlbiBgc3JjYCBpcyBzZXQuXG4gICAgICAgIHNjcmlwdC5vbmxvYWQgPSByZXNvbHZlO1xuICAgICAgICBzY3JpcHQub25lcnJvciA9ICgpPT5yZWplY3QobWFya0Fzc2V0RXJyb3IobmV3IEVycm9yKGBGYWlsZWQgdG8gbG9hZCBzY3JpcHQ6ICR7c3JjfWApKSk7XG4gICAgICAgIC8vIDIuIENvbmZpZ3VyZSB0aGUgY3Jvc3Mtb3JpZ2luIGF0dHJpYnV0ZSBiZWZvcmUgc2V0dGluZyBgc3JjYCBpbiBjYXNlIHRoZVxuICAgICAgICAvLyAgICBicm93c2VyIGJlZ2lucyB0byBmZXRjaC5cbiAgICAgICAgc2NyaXB0LmNyb3NzT3JpZ2luID0gcHJvY2Vzcy5lbnYuX19ORVhUX0NST1NTX09SSUdJTjtcbiAgICAgICAgLy8gMy4gRmluYWxseSwgc2V0IHRoZSBzb3VyY2UgYW5kIGluamVjdCBpbnRvIHRoZSBET00gaW4gY2FzZSB0aGUgY2hpbGRcbiAgICAgICAgLy8gICAgbXVzdCBiZSBhcHBlbmRlZCBmb3IgZmV0Y2hpbmcgdG8gc3RhcnQuXG4gICAgICAgIHNjcmlwdC5zcmMgPSBzcmM7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICB9KTtcbn1cbi8vIFdlIHdhaXQgZm9yIHBhZ2VzIHRvIGJlIGJ1aWx0IGluIGRldiBiZWZvcmUgd2Ugc3RhcnQgdGhlIHJvdXRlIHRyYW5zaXRpb25cbi8vIHRpbWVvdXQgdG8gcHJldmVudCBhbiB1bi1uZWNlc3NhcnkgaGFyZCBuYXZpZ2F0aW9uIGluIGRldmVsb3BtZW50LlxubGV0IGRldkJ1aWxkUHJvbWlzZTtcbi8vIFJlc29sdmUgYSBwcm9taXNlIHRoYXQgdGltZXMgb3V0IGFmdGVyIGdpdmVuIGFtb3VudCBvZiBtaWxsaXNlY29uZHMuXG5mdW5jdGlvbiByZXNvbHZlUHJvbWlzZVdpdGhUaW1lb3V0KHAsIG1zLCBlcnIpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcbiAgICAgICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlO1xuICAgICAgICBwLnRoZW4oKHIpPT57XG4gICAgICAgICAgICAvLyBSZXNvbHZlZCwgY2FuY2VsIHRoZSB0aW1lb3V0XG4gICAgICAgICAgICBjYW5jZWxsZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmVzb2x2ZShyKTtcbiAgICAgICAgfSkuY2F0Y2gocmVqZWN0KTtcbiAgICAgICAgLy8gV2Ugd3JhcCB0aGVzZSBjaGVja3Mgc2VwYXJhdGVseSBmb3IgYmV0dGVyIGRlYWQtY29kZSBlbGltaW5hdGlvbiBpblxuICAgICAgICAvLyBwcm9kdWN0aW9uIGJ1bmRsZXMuXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICAgICAgKGRldkJ1aWxkUHJvbWlzZSB8fCBQcm9taXNlLnJlc29sdmUoKSkudGhlbigoKT0+e1xuICAgICAgICAgICAgICAgICgwLCBfcmVxdWVzdElkbGVDYWxsYmFjaykucmVxdWVzdElkbGVDYWxsYmFjaygoKT0+c2V0VGltZW91dCgoKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjYW5jZWxsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSwgbXMpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICAgICAgKDAsIF9yZXF1ZXN0SWRsZUNhbGxiYWNrKS5yZXF1ZXN0SWRsZUNhbGxiYWNrKCgpPT5zZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICAgICAgICAgIGlmICghY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIG1zKSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldENsaWVudEJ1aWxkTWFuaWZlc3QoKSB7XG4gICAgaWYgKHNlbGYuX19CVUlMRF9NQU5JRkVTVCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHNlbGYuX19CVUlMRF9NQU5JRkVTVCk7XG4gICAgfVxuICAgIGNvbnN0IG9uQnVpbGRNYW5pZmVzdCA9IG5ldyBQcm9taXNlKChyZXNvbHZlKT0+e1xuICAgICAgICAvLyBNYW5kYXRvcnkgYmVjYXVzZSB0aGlzIGlzIG5vdCBjb25jdXJyZW50IHNhZmU6XG4gICAgICAgIGNvbnN0IGNiID0gc2VsZi5fX0JVSUxEX01BTklGRVNUX0NCO1xuICAgICAgICBzZWxmLl9fQlVJTERfTUFOSUZFU1RfQ0IgPSAoKT0+e1xuICAgICAgICAgICAgcmVzb2x2ZShzZWxmLl9fQlVJTERfTUFOSUZFU1QpO1xuICAgICAgICAgICAgY2IgJiYgY2IoKTtcbiAgICAgICAgfTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzb2x2ZVByb21pc2VXaXRoVGltZW91dChvbkJ1aWxkTWFuaWZlc3QsIE1TX01BWF9JRExFX0RFTEFZLCBtYXJrQXNzZXRFcnJvcihuZXcgRXJyb3IoJ0ZhaWxlZCB0byBsb2FkIGNsaWVudCBidWlsZCBtYW5pZmVzdCcpKSk7XG59XG5mdW5jdGlvbiBnZXRGaWxlc0ZvclJvdXRlKGFzc2V0UHJlZml4LCByb3V0ZSkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICBjb25zdCBzY3JpcHRVcmwgPSBhc3NldFByZWZpeCArICcvX25leHQvc3RhdGljL2NodW5rcy9wYWdlcycgKyBlbmNvZGVVUkkoKDAsIF9nZXRBc3NldFBhdGhGcm9tUm91dGUpLmRlZmF1bHQocm91dGUsICcuanMnKSk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgc2NyaXB0czogW1xuICAgICAgICAgICAgICAgICgwLCBfdHJ1c3RlZFR5cGVzKS5fX3Vuc2FmZUNyZWF0ZVRydXN0ZWRTY3JpcHRVUkwoc2NyaXB0VXJsKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIC8vIFN0eWxlcyBhcmUgaGFuZGxlZCBieSBgc3R5bGUtbG9hZGVyYCBpbiBkZXZlbG9wbWVudDpcbiAgICAgICAgICAgIGNzczogW11cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBnZXRDbGllbnRCdWlsZE1hbmlmZXN0KCkudGhlbigobWFuaWZlc3QpPT57XG4gICAgICAgIGlmICghKHJvdXRlIGluIG1hbmlmZXN0KSkge1xuICAgICAgICAgICAgdGhyb3cgbWFya0Fzc2V0RXJyb3IobmV3IEVycm9yKGBGYWlsZWQgdG8gbG9va3VwIHJvdXRlOiAke3JvdXRlfWApKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhbGxGaWxlcyA9IG1hbmlmZXN0W3JvdXRlXS5tYXAoKGVudHJ5KT0+YXNzZXRQcmVmaXggKyAnL19uZXh0LycgKyBlbmNvZGVVUkkoZW50cnkpKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNjcmlwdHM6IGFsbEZpbGVzLmZpbHRlcigodik9PnYuZW5kc1dpdGgoJy5qcycpKS5tYXAoKHYpPT4oMCwgX3RydXN0ZWRUeXBlcykuX191bnNhZmVDcmVhdGVUcnVzdGVkU2NyaXB0VVJMKHYpKSxcbiAgICAgICAgICAgIGNzczogYWxsRmlsZXMuZmlsdGVyKCh2KT0+di5lbmRzV2l0aCgnLmNzcycpKVxuICAgICAgICB9O1xuICAgIH0pO1xufVxuZnVuY3Rpb24gY3JlYXRlUm91dGVMb2FkZXIoYXNzZXRQcmVmaXgpIHtcbiAgICBjb25zdCBlbnRyeXBvaW50cyA9IG5ldyBNYXAoKTtcbiAgICBjb25zdCBsb2FkZWRTY3JpcHRzID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IHN0eWxlU2hlZXRzID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IHJvdXRlcyA9IG5ldyBNYXAoKTtcbiAgICBmdW5jdGlvbiBtYXliZUV4ZWN1dGVTY3JpcHQoc3JjKSB7XG4gICAgICAgIC8vIFdpdGggSE1SIHdlIG1pZ2h0IG5lZWQgdG8gXCJyZWxvYWRcIiBzY3JpcHRzIHdoZW4gdGhleSBhcmVcbiAgICAgICAgLy8gZGlzcG9zZWQgYW5kIHJlYWRkZWQuIEV4ZWN1dGluZyBzY3JpcHRzIHR3aWNlIGhhcyBubyBmdW5jdGlvbmFsXG4gICAgICAgIC8vIGRpZmZlcmVuY2VzXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICAgICAgbGV0IHByb20gPSBsb2FkZWRTY3JpcHRzLmdldChzcmMudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICBpZiAocHJvbSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcm9tO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU2tpcCBleGVjdXRpbmcgc2NyaXB0IGlmIGl0J3MgYWxyZWFkeSBpbiB0aGUgRE9NOlxuICAgICAgICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYHNjcmlwdFtzcmNePVwiJHtzcmN9XCJdYCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsb2FkZWRTY3JpcHRzLnNldChzcmMudG9TdHJpbmcoKSwgcHJvbSA9IGFwcGVuZFNjcmlwdChzcmMpKTtcbiAgICAgICAgICAgIHJldHVybiBwcm9tO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFwcGVuZFNjcmlwdChzcmMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZldGNoU3R5bGVTaGVldChocmVmKSB7XG4gICAgICAgIGxldCBwcm9tID0gc3R5bGVTaGVldHMuZ2V0KGhyZWYpO1xuICAgICAgICBpZiAocHJvbSkge1xuICAgICAgICAgICAgcmV0dXJuIHByb207XG4gICAgICAgIH1cbiAgICAgICAgc3R5bGVTaGVldHMuc2V0KGhyZWYsIHByb20gPSBmZXRjaChocmVmKS50aGVuKChyZXMpPT57XG4gICAgICAgICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgc3R5bGVzaGVldDogJHtocmVmfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlcy50ZXh0KCkudGhlbigodGV4dCk9Pih7XG4gICAgICAgICAgICAgICAgICAgIGhyZWY6IGhyZWYsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHRleHRcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgIH0pLmNhdGNoKChlcnIpPT57XG4gICAgICAgICAgICB0aHJvdyBtYXJrQXNzZXRFcnJvcihlcnIpO1xuICAgICAgICB9KSk7XG4gICAgICAgIHJldHVybiBwcm9tO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICB3aGVuRW50cnlwb2ludCAocm91dGUpIHtcbiAgICAgICAgICAgIHJldHVybiB3aXRoRnV0dXJlKHJvdXRlLCBlbnRyeXBvaW50cyk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uRW50cnlwb2ludCAocm91dGUsIGV4ZWN1dGUpIHtcbiAgICAgICAgICAgIChleGVjdXRlID8gUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+ZXhlY3V0ZSgpKS50aGVuKChleHBvcnRzKT0+KHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBleHBvcnRzICYmIGV4cG9ydHMuZGVmYXVsdCB8fCBleHBvcnRzLFxuICAgICAgICAgICAgICAgICAgICBleHBvcnRzOiBleHBvcnRzXG4gICAgICAgICAgICAgICAgfSksIChlcnIpPT4oe1xuICAgICAgICAgICAgICAgICAgICBlcnJvcjogZXJyXG4gICAgICAgICAgICAgICAgfSkpIDogUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZCkpLnRoZW4oKGlucHV0KT0+e1xuICAgICAgICAgICAgICAgIGNvbnN0IG9sZCA9IGVudHJ5cG9pbnRzLmdldChyb3V0ZSk7XG4gICAgICAgICAgICAgICAgaWYgKG9sZCAmJiAncmVzb2x2ZScgaW4gb2xkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50cnlwb2ludHMuc2V0KHJvdXRlLCBpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbGQucmVzb2x2ZShpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5cG9pbnRzLnNldChyb3V0ZSwgaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50cnlwb2ludHMuZGVsZXRlKHJvdXRlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHRoaXMgZW50cnlwb2ludCBoYXMgYmVlbiByZXNvbHZlZCBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHJvdXRlIGlzIG91dGRhdGVkIGFuZCB3ZSB3YW50IHRvIGludmFsaWRhdGVcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBjYWNoZSBlbnRyeVxuICAgICAgICAgICAgICAgICAgICByb3V0ZXMuZGVsZXRlKHJvdXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgbG9hZFJvdXRlIChyb3V0ZSwgcHJlZmV0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiB3aXRoRnV0dXJlKHJvdXRlLCByb3V0ZXMsICgpPT57XG4gICAgICAgICAgICAgICAgbGV0IGRldkJ1aWxkUHJvbWlzZVJlc29sdmU7XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRldkJ1aWxkUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGV2QnVpbGRQcm9taXNlUmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZVByb21pc2VXaXRoVGltZW91dChnZXRGaWxlc0ZvclJvdXRlKGFzc2V0UHJlZml4LCByb3V0ZSkudGhlbigoeyBzY3JpcHRzICwgY3NzICB9KT0+e1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50cnlwb2ludHMuaGFzKHJvdXRlKSA/IFtdIDogUHJvbWlzZS5hbGwoc2NyaXB0cy5tYXAobWF5YmVFeGVjdXRlU2NyaXB0KSksXG4gICAgICAgICAgICAgICAgICAgICAgICBQcm9taXNlLmFsbChjc3MubWFwKGZldGNoU3R5bGVTaGVldCkpLCBcbiAgICAgICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgfSkudGhlbigocmVzKT0+e1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy53aGVuRW50cnlwb2ludChyb3V0ZSkudGhlbigoZW50cnlwb2ludCk9Pih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnlwb2ludCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZXM6IHJlc1sxXVxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH0pLCBNU19NQVhfSURMRV9ERUxBWSwgbWFya0Fzc2V0RXJyb3IobmV3IEVycm9yKGBSb3V0ZSBkaWQgbm90IGNvbXBsZXRlIGxvYWRpbmc6ICR7cm91dGV9YCkpKS50aGVuKCh7IGVudHJ5cG9pbnQgLCBzdHlsZXMgIH0pPT57XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVzOiBzdHlsZXNcbiAgICAgICAgICAgICAgICAgICAgfSwgZW50cnlwb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnZXJyb3InIGluIGVudHJ5cG9pbnQgPyBlbnRyeXBvaW50IDogcmVzO1xuICAgICAgICAgICAgICAgIH0pLmNhdGNoKChlcnIpPT57XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmVmZXRjaCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2UgZG9uJ3Qgd2FudCB0byBjYWNoZSBlcnJvcnMgZHVyaW5nIHByZWZldGNoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KS5maW5hbGx5KCgpPT57XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkZXZCdWlsZFByb21pc2VSZXNvbHZlID09IG51bGwgPyB2b2lkIDAgOiBkZXZCdWlsZFByb21pc2VSZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgcHJlZmV0Y2ggKHJvdXRlKSB7XG4gICAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vR29vZ2xlQ2hyb21lTGFicy9xdWlja2xpbmsvYmxvYi80NTNhNjYxZmExZmE5NDBlMmQyZTA0NDQ1MjM5OGUzOGM2N2E5OGZiL3NyYy9pbmRleC5tanMjTDExNS1MMTE4XG4gICAgICAgICAgICAvLyBMaWNlbnNlOiBBcGFjaGUgMi4wXG4gICAgICAgICAgICBsZXQgY247XG4gICAgICAgICAgICBpZiAoY24gPSBuYXZpZ2F0b3IuY29ubmVjdGlvbikge1xuICAgICAgICAgICAgICAgIC8vIERvbid0IHByZWZldGNoIGlmIHVzaW5nIDJHIG9yIGlmIFNhdmUtRGF0YSBpcyBlbmFibGVkLlxuICAgICAgICAgICAgICAgIGlmIChjbi5zYXZlRGF0YSB8fCAvMmcvLnRlc3QoY24uZWZmZWN0aXZlVHlwZSkpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBnZXRGaWxlc0ZvclJvdXRlKGFzc2V0UHJlZml4LCByb3V0ZSkudGhlbigob3V0cHV0KT0+UHJvbWlzZS5hbGwoY2FuUHJlZmV0Y2ggPyBvdXRwdXQuc2NyaXB0cy5tYXAoKHNjcmlwdCk9PnByZWZldGNoVmlhRG9tKHNjcmlwdC50b1N0cmluZygpLCAnc2NyaXB0JykpIDogW10pKS50aGVuKCgpPT57XG4gICAgICAgICAgICAgICAgKDAsIF9yZXF1ZXN0SWRsZUNhbGxiYWNrKS5yZXF1ZXN0SWRsZUNhbGxiYWNrKCgpPT50aGlzLmxvYWRSb3V0ZShyb3V0ZSwgdHJ1ZSkuY2F0Y2goKCk9Pnt9KSk7XG4gICAgICAgICAgICB9KS5jYXRjaCgvLyBzd2FsbG93IHByZWZldGNoIGVycm9yc1xuICAgICAgICAgICAgKCk9Pnt9KTtcbiAgICAgICAgfVxuICAgIH07XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJvdXRlLWxvYWRlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtYXJrQXNzZXRFcnJvciIsImlzQXNzZXRFcnJvciIsImdldENsaWVudEJ1aWxkTWFuaWZlc3QiLCJjcmVhdGVSb3V0ZUxvYWRlciIsIl9nZXRBc3NldFBhdGhGcm9tUm91dGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl90cnVzdGVkVHlwZXMiLCJfcmVxdWVzdElkbGVDYWxsYmFjayIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiTVNfTUFYX0lETEVfREVMQVkiLCJ3aXRoRnV0dXJlIiwia2V5IiwibWFwIiwiZ2VuZXJhdG9yIiwiZW50cnkiLCJnZXQiLCJmdXR1cmUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlc29sdmVyIiwicHJvbSIsInNldCIsInRoZW4iLCJjYXRjaCIsImVyciIsImRlbGV0ZSIsImhhc1ByZWZldGNoIiwibGluayIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIndpbmRvdyIsIk1TSW5wdXRNZXRob2RDb250ZXh0IiwiZG9jdW1lbnRNb2RlIiwicmVsTGlzdCIsInN1cHBvcnRzIiwiZSIsImNhblByZWZldGNoIiwicHJlZmV0Y2hWaWFEb20iLCJocmVmIiwiYXMiLCJyZXMiLCJyZWoiLCJzZWxlY3RvciIsInF1ZXJ5U2VsZWN0b3IiLCJyZWwiLCJjcm9zc09yaWdpbiIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfQ1JPU1NfT1JJR0lOIiwib25sb2FkIiwib25lcnJvciIsImhlYWQiLCJhcHBlbmRDaGlsZCIsIkFTU0VUX0xPQURfRVJST1IiLCJTeW1ib2wiLCJhcHBlbmRTY3JpcHQiLCJzcmMiLCJzY3JpcHQiLCJyZWplY3QiLCJFcnJvciIsImJvZHkiLCJkZXZCdWlsZFByb21pc2UiLCJyZXNvbHZlUHJvbWlzZVdpdGhUaW1lb3V0IiwicCIsIm1zIiwiY2FuY2VsbGVkIiwiciIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJzZXRUaW1lb3V0Iiwic2VsZiIsIl9fQlVJTERfTUFOSUZFU1QiLCJvbkJ1aWxkTWFuaWZlc3QiLCJjYiIsIl9fQlVJTERfTUFOSUZFU1RfQ0IiLCJnZXRGaWxlc0ZvclJvdXRlIiwiYXNzZXRQcmVmaXgiLCJyb3V0ZSIsInNjcmlwdFVybCIsImVuY29kZVVSSSIsInNjcmlwdHMiLCJfX3Vuc2FmZUNyZWF0ZVRydXN0ZWRTY3JpcHRVUkwiLCJjc3MiLCJtYW5pZmVzdCIsImFsbEZpbGVzIiwiZmlsdGVyIiwidiIsImVuZHNXaXRoIiwiZW50cnlwb2ludHMiLCJNYXAiLCJsb2FkZWRTY3JpcHRzIiwic3R5bGVTaGVldHMiLCJyb3V0ZXMiLCJtYXliZUV4ZWN1dGVTY3JpcHQiLCJ0b1N0cmluZyIsImZldGNoU3R5bGVTaGVldCIsImZldGNoIiwib2siLCJ0ZXh0IiwiY29udGVudCIsIndoZW5FbnRyeXBvaW50Iiwib25FbnRyeXBvaW50IiwiZXhlY3V0ZSIsImNvbXBvbmVudCIsImVycm9yIiwidW5kZWZpbmVkIiwiaW5wdXQiLCJvbGQiLCJsb2FkUm91dGUiLCJwcmVmZXRjaCIsImRldkJ1aWxkUHJvbWlzZVJlc29sdmUiLCJhbGwiLCJoYXMiLCJlbnRyeXBvaW50Iiwic3R5bGVzIiwiYXNzaWduIiwiZmluYWxseSIsImNuIiwibmF2aWdhdG9yIiwiY29ubmVjdGlvbiIsInNhdmVEYXRhIiwidGVzdCIsImVmZmVjdGl2ZVR5cGUiLCJvdXRwdXQiLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/route-loader.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/script.js': /*!*****************************************************!*\ !*** ../../node_modules/next/dist/client/script.js ***! \*****************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.handleClientScriptLoad = handleClientScriptLoad;\nexports.initScriptLoader = initScriptLoader;\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _headManagerContext = __webpack_require__(/*! ../shared/lib/head-manager-context */ \"../shared/lib/head-manager-context\");\n\nvar _headManager = __webpack_require__(/*! ./head-manager */ \"../../node_modules/next/dist/client/head-manager.js\");\n\nvar _requestIdleCallback = __webpack_require__(/*! ./request-idle-callback */ \"../../node_modules/next/dist/client/request-idle-callback.js\");\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function () {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst ScriptCache = new Map();\nconst LoadCache = new Set();\nconst ignoreProps = ['onLoad', 'dangerouslySetInnerHTML', 'children', 'onError', 'strategy'];\n\nconst loadScript = props => {\n const {\n src,\n id,\n onLoad = () => {},\n dangerouslySetInnerHTML,\n children = '',\n strategy = 'afterInteractive',\n onError\n } = props;\n const cacheKey = id || src; // Script has already loaded\n\n if (cacheKey && LoadCache.has(cacheKey)) {\n return;\n } // Contents of this script are already loading/loaded\n\n\n if (ScriptCache.has(src)) {\n LoadCache.add(cacheKey); // Execute onLoad since the script loading has begun\n\n ScriptCache.get(src).then(onLoad, onError);\n return;\n }\n\n const el = document.createElement('script');\n const loadPromise = new Promise((resolve, reject) => {\n el.addEventListener('load', function (e) {\n resolve();\n\n if (onLoad) {\n onLoad.call(this, e);\n }\n });\n el.addEventListener('error', function (e) {\n reject(e);\n });\n }).catch(function (e) {\n if (onError) {\n onError(e);\n }\n });\n\n if (src) {\n ScriptCache.set(src, loadPromise);\n }\n\n LoadCache.add(cacheKey);\n\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || '';\n } else if (children) {\n el.textContent = typeof children === 'string' ? children : Array.isArray(children) ? children.join('') : '';\n } else if (src) {\n el.src = src;\n }\n\n for (const [k, value] of Object.entries(props)) {\n if (value === undefined || ignoreProps.includes(k)) {\n continue;\n }\n\n const attr = _headManager.DOMAttributeNames[k] || k.toLowerCase();\n el.setAttribute(attr, value);\n }\n\n if (strategy === 'worker') {\n el.setAttribute('type', 'text/partytown');\n }\n\n el.setAttribute('data-nscript', strategy);\n document.body.appendChild(el);\n};\n\nfunction handleClientScriptLoad(props) {\n const {\n strategy = 'afterInteractive'\n } = props;\n\n if (strategy === 'lazyOnload') {\n window.addEventListener('load', () => {\n (0, _requestIdleCallback).requestIdleCallback(() => loadScript(props));\n });\n } else {\n loadScript(props);\n }\n}\n\nfunction loadLazyScript(props) {\n if (document.readyState === 'complete') {\n (0, _requestIdleCallback).requestIdleCallback(() => loadScript(props));\n } else {\n window.addEventListener('load', () => {\n (0, _requestIdleCallback).requestIdleCallback(() => loadScript(props));\n });\n }\n}\n\nfunction addBeforeInteractiveToCache() {\n const scripts = [...document.querySelectorAll('[data-nscript=\"beforeInteractive\"]'), ...document.querySelectorAll('[data-nscript=\"beforePageRender\"]')];\n scripts.forEach(script => {\n const cacheKey = script.id || script.getAttribute('src');\n LoadCache.add(cacheKey);\n });\n}\n\nfunction initScriptLoader(scriptLoaderItems) {\n scriptLoaderItems.forEach(handleClientScriptLoad);\n addBeforeInteractiveToCache();\n}\n\nfunction Script(props) {\n const {\n src = '',\n onLoad = () => {},\n strategy = 'afterInteractive',\n onError\n } = props,\n restProps = _objectWithoutPropertiesLoose(props, [\"src\", \"onLoad\", \"strategy\", \"onError\"]); // Context is available only during SSR\n\n\n const {\n updateScripts,\n scripts,\n getIsSsr\n } = (0, _react).useContext(_headManagerContext.HeadManagerContext);\n (0, _react).useEffect(() => {\n if (strategy === 'afterInteractive') {\n loadScript(props);\n } else if (strategy === 'lazyOnload') {\n loadLazyScript(props);\n }\n }, [props, strategy]);\n\n if (strategy === 'beforeInteractive' || strategy === 'worker') {\n if (updateScripts) {\n scripts[strategy] = (scripts[strategy] || []).concat([_extends({\n src,\n onLoad,\n onError\n }, restProps)]);\n updateScripts(scripts);\n } else if (getIsSsr && getIsSsr()) {\n // Script has already loaded during SSR\n LoadCache.add(restProps.id || src);\n } else if (getIsSsr && !getIsSsr()) {\n loadScript(props);\n }\n }\n\n return null;\n}\n\nvar _default = Script;\nexports[\"default\"] = _default;\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvc2NyaXB0LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUNiQSw4Q0FBNkM7RUFDekNHLEtBQUssRUFBRTtBQURrQyxDQUE3QztBQUdBRCw4QkFBQSxHQUFpQ0Usc0JBQWpDO0FBQ0FGLHdCQUFBLEdBQTJCRyxnQkFBM0I7QUFDQUgsa0JBQUEsR0FBa0IsS0FBSyxDQUF2Qjs7QUFDQSxJQUFJSyxNQUFNLEdBQUdDLHVCQUF1QixDQUFDQyxtQkFBTyxDQUFDLG9CQUFELENBQVIsQ0FBcEM7O0FBQ0EsSUFBSUMsbUJBQW1CLEdBQUdELG1CQUFPLENBQUMsOEVBQUQsQ0FBakM7O0FBQ0EsSUFBSUUsWUFBWSxHQUFHRixtQkFBTyxDQUFDLDJFQUFELENBQTFCOztBQUNBLElBQUlHLG9CQUFvQixHQUFHSCxtQkFBTyxDQUFDLDZGQUFELENBQWxDOztBQUNBLFNBQVNJLFFBQVQsR0FBb0I7RUFDaEJBLFFBQVEsR0FBR2IsTUFBTSxDQUFDYyxNQUFQLElBQWlCLFVBQVNDLE1BQVQsRUFBaUI7SUFDekMsS0FBSSxJQUFJQyxDQUFDLEdBQUcsQ0FBWixFQUFlQSxDQUFDLEdBQUdDLFNBQVMsQ0FBQ0MsTUFBN0IsRUFBcUNGLENBQUMsRUFBdEMsRUFBeUM7TUFDckMsSUFBSUcsTUFBTSxHQUFHRixTQUFTLENBQUNELENBQUQsQ0FBdEI7O01BQ0EsS0FBSSxJQUFJSSxHQUFSLElBQWVELE1BQWYsRUFBc0I7UUFDbEIsSUFBSW5CLE1BQU0sQ0FBQ3FCLFNBQVAsQ0FBaUJDLGNBQWpCLENBQWdDQyxJQUFoQyxDQUFxQ0osTUFBckMsRUFBNkNDLEdBQTdDLENBQUosRUFBdUQ7VUFDbkRMLE1BQU0sQ0FBQ0ssR0FBRCxDQUFOLEdBQWNELE1BQU0sQ0FBQ0MsR0FBRCxDQUFwQjtRQUNIO01BQ0o7SUFDSjs7SUFDRCxPQUFPTCxNQUFQO0VBQ0gsQ0FWRDs7RUFXQSxPQUFPRixRQUFRLENBQUNXLEtBQVQsQ0FBZSxJQUFm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MUosRUFBdUs7RUFDcks3QixNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE9BQU8sQ0FBQ0ksT0FBOUIsRUFBdUMsWUFBdkMsRUFBcUQ7SUFBRUgsS0FBSyxFQUFFO0VBQVQsQ0FBckQ7RUFDQUgsTUFBTSxDQUFDYyxNQUFQLENBQWNaLE9BQU8sQ0FBQ0ksT0FBdEIsRUFBK0JKLE9BQS9CO0VBQ0F1RyxNQUFNLENBQUN2RyxPQUFQLEdBQWlCQSxPQUFPLENBQUNJLE9BQXpCO0FBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uLy4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3NjcmlwdC5qcz80YzA5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5oYW5kbGVDbGllbnRTY3JpcHRMb2FkID0gaGFuZGxlQ2xpZW50U2NyaXB0TG9hZDtcbmV4cG9ydHMuaW5pdFNjcmlwdExvYWRlciA9IGluaXRTY3JpcHRMb2FkZXI7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG52YXIgX3JlYWN0ID0gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQocmVxdWlyZShcInJlYWN0XCIpKTtcbnZhciBfaGVhZE1hbmFnZXJDb250ZXh0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaGVhZC1tYW5hZ2VyLWNvbnRleHRcIik7XG52YXIgX2hlYWRNYW5hZ2VyID0gcmVxdWlyZShcIi4vaGVhZC1tYW5hZ2VyXCIpO1xudmFyIF9yZXF1ZXN0SWRsZUNhbGxiYWNrID0gcmVxdWlyZShcIi4vcmVxdWVzdC1pZGxlLWNhbGxiYWNrXCIpO1xuZnVuY3Rpb24gX2V4dGVuZHMoKSB7XG4gICAgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uKHRhcmdldCkge1xuICAgICAgICBmb3IodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgICBmb3IodmFyIGtleSBpbiBzb3VyY2Upe1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfTtcbiAgICByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cbmZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSgpIHtcbiAgICBpZiAodHlwZW9mIFdlYWtNYXAgIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIG51bGw7XG4gICAgdmFyIGNhY2hlID0gbmV3IFdlYWtNYXAoKTtcbiAgICBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNhY2hlO1xuICAgIH07XG4gICAgcmV0dXJuIGNhY2hlO1xufVxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQob2JqKSB7XG4gICAgaWYgKG9iaiAmJiBvYmouX19lc01vZHVsZSkge1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cbiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG9iaiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICAgICAgfTtcbiAgICB9XG4gICAgdmFyIGNhY2hlID0gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKCk7XG4gICAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSB7XG4gICAgICAgIHJldHVybiBjYWNoZS5nZXQob2JqKTtcbiAgICB9XG4gICAgdmFyIG5ld09iaiA9IHt9O1xuICAgIHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbiAgICBmb3IodmFyIGtleSBpbiBvYmope1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgICAgICAgdmFyIGRlc2MgPSBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwga2V5KSA6IG51bGw7XG4gICAgICAgICAgICBpZiAoZGVzYyAmJiAoZGVzYy5nZXQgfHwgZGVzYy5zZXQpKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld09iaiwga2V5LCBkZXNjKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBuZXdPYmouZGVmYXVsdCA9IG9iajtcbiAgICBpZiAoY2FjaGUpIHtcbiAgICAgICAgY2FjaGUuc2V0KG9iaiwgbmV3T2JqKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld09iajtcbn1cbmZ1bmN0aW9uIF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHNvdXJjZSwgZXhjbHVkZWQpIHtcbiAgICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTtcbiAgICB2YXIgdGFyZ2V0ID0ge307XG4gICAgdmFyIHNvdXJjZUtleXMgPSBPYmplY3Qua2V5cyhzb3VyY2UpO1xuICAgIHZhciBrZXksIGk7XG4gICAgZm9yKGkgPSAwOyBpIDwgc291cmNlS2V5cy5sZW5ndGg7IGkrKyl7XG4gICAgICAgIGtleSA9IHNvdXJjZUtleXNbaV07XG4gICAgICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQ7XG59XG5jb25zdCBTY3JpcHRDYWNoZSA9IG5ldyBNYXAoKTtcbmNvbnN0IExvYWRDYWNoZSA9IG5ldyBTZXQoKTtcbmNvbnN0IGlnbm9yZVByb3BzID0gW1xuICAgICdvbkxvYWQnLFxuICAgICdkYW5nZXJvdXNseVNldElubmVySFRNTCcsXG4gICAgJ2NoaWxkcmVuJyxcbiAgICAnb25FcnJvcicsXG4gICAgJ3N0cmF0ZWd5JywgXG5dO1xuY29uc3QgbG9hZFNjcmlwdCA9IChwcm9wcyk9PntcbiAgICBjb25zdCB7IHNyYyAsIGlkICwgb25Mb2FkID0oKT0+e30gLCBkYW5nZXJvdXNseVNldElubmVySFRNTCAsIGNoaWxkcmVuID0nJyAsIHN0cmF0ZWd5ID0nYWZ0ZXJJbnRlcmFjdGl2ZScgLCBvbkVycm9yICwgIH0gPSBwcm9wcztcbiAgICBjb25zdCBjYWNoZUtleSA9IGlkIHx8IHNyYztcbiAgICAvLyBTY3JpcHQgaGFzIGFscmVhZHkgbG9hZGVkXG4gICAgaWYgKGNhY2hlS2V5ICYmIExvYWRDYWNoZS5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gQ29udGVudHMgb2YgdGhpcyBzY3JpcHQgYXJlIGFscmVhZHkgbG9hZGluZy9sb2FkZWRcbiAgICBpZiAoU2NyaXB0Q2FjaGUuaGFzKHNyYykpIHtcbiAgICAgICAgTG9hZENhY2hlLmFkZChjYWNoZUtleSk7XG4gICAgICAgIC8vIEV4ZWN1dGUgb25Mb2FkIHNpbmNlIHRoZSBzY3JpcHQgbG9hZGluZyBoYXMgYmVndW5cbiAgICAgICAgU2NyaXB0Q2FjaGUuZ2V0KHNyYykudGhlbihvbkxvYWQsIG9uRXJyb3IpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgY29uc3QgbG9hZFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+e1xuICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oZSkge1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgaWYgKG9uTG9hZCkge1xuICAgICAgICAgICAgICAgIG9uTG9hZC5jYWxsKHRoaXMsIGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBmdW5jdGlvbihlKSB7XG4gICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgIH0pO1xuICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgaWYgKG9uRXJyb3IpIHtcbiAgICAgICAgICAgIG9uRXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoc3JjKSB7XG4gICAgICAgIFNjcmlwdENhY2hlLnNldChzcmMsIGxvYWRQcm9taXNlKTtcbiAgICB9XG4gICAgTG9hZENhY2hlLmFkZChjYWNoZUtleSk7XG4gICAgaWYgKGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSB7XG4gICAgICAgIGVsLmlubmVySFRNTCA9IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCB8fCAnJztcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XG4gICAgICAgIGVsLnRleHRDb250ZW50ID0gdHlwZW9mIGNoaWxkcmVuID09PSAnc3RyaW5nJyA/IGNoaWxkcmVuIDogQXJyYXkuaXNBcnJheShjaGlsZHJlbikgPyBjaGlsZHJlbi5qb2luKCcnKSA6ICcnO1xuICAgIH0gZWxzZSBpZiAoc3JjKSB7XG4gICAgICAgIGVsLnNyYyA9IHNyYztcbiAgICB9XG4gICAgZm9yIChjb25zdCBbaywgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHByb3BzKSl7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGlnbm9yZVByb3BzLmluY2x1ZGVzKGspKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhdHRyID0gX2hlYWRNYW5hZ2VyLkRPTUF0dHJpYnV0ZU5hbWVzW2tdIHx8IGsudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgZWwuc2V0QXR0cmlidXRlKGF0dHIsIHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHN0cmF0ZWd5ID09PSAnd29ya2VyJykge1xuICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9wYXJ0eXRvd24nKTtcbiAgICB9XG4gICAgZWwuc2V0QXR0cmlidXRlKCdkYXRhLW5zY3JpcHQnLCBzdHJhdGVneSk7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbCk7XG59O1xuZnVuY3Rpb24gaGFuZGxlQ2xpZW50U2NyaXB0TG9hZChwcm9wcykge1xuICAgIGNvbnN0IHsgc3RyYXRlZ3kgPSdhZnRlckludGVyYWN0aXZlJyAgfSA9IHByb3BzO1xuICAgIGlmIChzdHJhdGVneSA9PT0gJ2xhenlPbmxvYWQnKSB7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCk9PntcbiAgICAgICAgICAgICgwLCBfcmVxdWVzdElkbGVDYWxsYmFjaykucmVxdWVzdElkbGVDYWxsYmFjaygoKT0+bG9hZFNjcmlwdChwcm9wcykpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBsb2FkU2NyaXB0KHByb3BzKTtcbiAgICB9XG59XG5mdW5jdGlvbiBsb2FkTGF6eVNjcmlwdChwcm9wcykge1xuICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XG4gICAgICAgICgwLCBfcmVxdWVzdElkbGVDYWxsYmFjaykucmVxdWVzdElkbGVDYWxsYmFjaygoKT0+bG9hZFNjcmlwdChwcm9wcykpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCk9PntcbiAgICAgICAgICAgICgwLCBfcmVxdWVzdElkbGVDYWxsYmFjaykucmVxdWVzdElkbGVDYWxsYmFjaygoKT0+bG9hZFNjcmlwdChwcm9wcykpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5mdW5jdGlvbiBhZGRCZWZvcmVJbnRlcmFjdGl2ZVRvQ2FjaGUoKSB7XG4gICAgY29uc3Qgc2NyaXB0cyA9IFtcbiAgICAgICAgLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtbnNjcmlwdD1cImJlZm9yZUludGVyYWN0aXZlXCJdJyksXG4gICAgICAgIC4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLW5zY3JpcHQ9XCJiZWZvcmVQYWdlUmVuZGVyXCJdJyksIFxuICAgIF07XG4gICAgc2NyaXB0cy5mb3JFYWNoKChzY3JpcHQpPT57XG4gICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gc2NyaXB0LmlkIHx8IHNjcmlwdC5nZXRBdHRyaWJ1dGUoJ3NyYycpO1xuICAgICAgICBMb2FkQ2FjaGUuYWRkKGNhY2hlS2V5KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGluaXRTY3JpcHRMb2FkZXIoc2NyaXB0TG9hZGVySXRlbXMpIHtcbiAgICBzY3JpcHRMb2FkZXJJdGVtcy5mb3JFYWNoKGhhbmRsZUNsaWVudFNjcmlwdExvYWQpO1xuICAgIGFkZEJlZm9yZUludGVyYWN0aXZlVG9DYWNoZSgpO1xufVxuZnVuY3Rpb24gU2NyaXB0KHByb3BzKSB7XG4gICAgY29uc3QgeyBzcmMgPScnICwgb25Mb2FkID0oKT0+e30gLCBzdHJhdGVneSA9J2FmdGVySW50ZXJhY3RpdmUnICwgb25FcnJvciAgfSA9IHByb3BzLCByZXN0UHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShwcm9wcywgW1xuICAgICAgICBcInNyY1wiLFxuICAgICAgICBcIm9uTG9hZFwiLFxuICAgICAgICBcInN0cmF0ZWd5XCIsXG4gICAgICAgIFwib25FcnJvclwiXG4gICAgXSk7XG4gICAgLy8gQ29udGV4dCBpcyBhdmFpbGFibGUgb25seSBkdXJpbmcgU1NSXG4gICAgY29uc3QgeyB1cGRhdGVTY3JpcHRzICwgc2NyaXB0cyAsIGdldElzU3NyICB9ID0gKDAsIF9yZWFjdCkudXNlQ29udGV4dChfaGVhZE1hbmFnZXJDb250ZXh0LkhlYWRNYW5hZ2VyQ29udGV4dCk7XG4gICAgKDAsIF9yZWFjdCkudXNlRWZmZWN0KCgpPT57XG4gICAgICAgIGlmIChzdHJhdGVneSA9PT0gJ2FmdGVySW50ZXJhY3RpdmUnKSB7XG4gICAgICAgICAgICBsb2FkU2NyaXB0KHByb3BzKTtcbiAgICAgICAgfSBlbHNlIGlmIChzdHJhdGVneSA9PT0gJ2xhenlPbmxvYWQnKSB7XG4gICAgICAgICAgICBsb2FkTGF6eVNjcmlwdChwcm9wcyk7XG4gICAgICAgIH1cbiAgICB9LCBbXG4gICAgICAgIHByb3BzLFxuICAgICAgICBzdHJhdGVneVxuICAgIF0pO1xuICAgIGlmIChzdHJhdGVneSA9PT0gJ2JlZm9yZUludGVyYWN0aXZlJyB8fCBzdHJhdGVneSA9PT0gJ3dvcmtlcicpIHtcbiAgICAgICAgaWYgKHVwZGF0ZVNjcmlwdHMpIHtcbiAgICAgICAgICAgIHNjcmlwdHNbc3RyYXRlZ3ldID0gKHNjcmlwdHNbc3RyYXRlZ3ldIHx8IFtdKS5jb25jYXQoW1xuICAgICAgICAgICAgICAgIF9leHRlbmRzKHtcbiAgICAgICAgICAgICAgICAgICAgc3JjLFxuICAgICAgICAgICAgICAgICAgICBvbkxvYWQsXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3JcbiAgICAgICAgICAgICAgICB9LCByZXN0UHJvcHMpLCBcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgdXBkYXRlU2NyaXB0cyhzY3JpcHRzKTtcbiAgICAgICAgfSBlbHNlIGlmIChnZXRJc1NzciAmJiBnZXRJc1NzcigpKSB7XG4gICAgICAgICAgICAvLyBTY3JpcHQgaGFzIGFscmVhZHkgbG9hZGVkIGR1cmluZyBTU1JcbiAgICAgICAgICAgIExvYWRDYWNoZS5hZGQocmVzdFByb3BzLmlkIHx8IHNyYyk7XG4gICAgICAgIH0gZWxzZSBpZiAoZ2V0SXNTc3IgJiYgIWdldElzU3NyKCkpIHtcbiAgICAgICAgICAgIGxvYWRTY3JpcHQocHJvcHMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxudmFyIF9kZWZhdWx0ID0gU2NyaXB0O1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNjcmlwdC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJoYW5kbGVDbGllbnRTY3JpcHRMb2FkIiwiaW5pdFNjcmlwdExvYWRlciIsImRlZmF1bHQiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaGVhZE1hbmFnZXJDb250ZXh0IiwiX2hlYWRNYW5hZ2VyIiwiX3JlcXVlc3RJZGxlQ2FsbGJhY2siLCJfZXh0ZW5kcyIsImFzc2lnbiIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJhcHBseSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIldlYWtNYXAiLCJjYWNoZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJkZXNjIiwic2V0IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJleGNsdWRlZCIsInNvdXJjZUtleXMiLCJrZXlzIiwiaW5kZXhPZiIsIlNjcmlwdENhY2hlIiwiTWFwIiwiTG9hZENhY2hlIiwiU2V0IiwiaWdub3JlUHJvcHMiLCJsb2FkU2NyaXB0IiwicHJvcHMiLCJzcmMiLCJpZCIsIm9uTG9hZCIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiY2hpbGRyZW4iLCJzdHJhdGVneSIsIm9uRXJyb3IiLCJjYWNoZUtleSIsImFkZCIsInRoZW4iLCJlbCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImxvYWRQcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhZGRFdmVudExpc3RlbmVyIiwiZSIsImNhdGNoIiwiaW5uZXJIVE1MIiwiX19odG1sIiwidGV4dENvbnRlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJqb2luIiwiayIsImVudHJpZXMiLCJ1bmRlZmluZWQiLCJpbmNsdWRlcyIsImF0dHIiLCJET01BdHRyaWJ1dGVOYW1lcyIsInRvTG93ZXJDYXNlIiwic2V0QXR0cmlidXRlIiwiYm9keSIsImFwcGVuZENoaWxkIiwid2luZG93IiwicmVxdWVzdElkbGVDYWxsYmFjayIsImxvYWRMYXp5U2NyaXB0IiwicmVhZHlTdGF0ZSIsImFkZEJlZm9yZUludGVyYWN0aXZlVG9DYWNoZSIsInNjcmlwdHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInNjcmlwdCIsImdldEF0dHJpYnV0ZSIsInNjcmlwdExvYWRlckl0ZW1zIiwiU2NyaXB0IiwicmVzdFByb3BzIiwidXBkYXRlU2NyaXB0cyIsImdldElzU3NyIiwidXNlQ29udGV4dCIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsInVzZUVmZmVjdCIsImNvbmNhdCIsIl9kZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/script.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/trusted-types.js': /*!************************************************************!*\ !*** ../../node_modules/next/dist/client/trusted-types.js ***! \************************************************************/ /***/ (module, exports) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.__unsafeCreateTrustedScriptURL = __unsafeCreateTrustedScriptURL;\n/**\n * Stores the Trusted Types Policy. Starts as undefined and can be set to null\n * if Trusted Types is not supported in the browser.\n */\n\nlet policy;\n/**\n * Getter for the Trusted Types Policy. If it is undefined, it is instantiated\n * here or set to null if Trusted Types is not supported in the browser.\n */\n\nfunction getPolicy() {\n if (typeof policy === 'undefined' && false) { var ref; }\n\n return policy;\n}\n\nfunction __unsafeCreateTrustedScriptURL(url) {\n var ref;\n return ((ref = getPolicy()) == null ? void 0 : ref.createScriptURL(url)) || url;\n}\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvdHJ1c3RlZC10eXBlcy5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFDYkEsOENBQTZDO0VBQ3pDRyxLQUFLLEVBQUU7QUFEa0MsQ0FBN0M7QUFHQUQsc0NBQUEsR0FBeUNFLDhCQUF6QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUFJLElBQUlDLE1BQUo7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFBSSxTQUFTQyxTQUFULEdBQXFCO0VBQ3JCLElBQUksT0FBT0QsTUFBUCxLQUFrQixXQUFsQixTQUFKLEVBQW9FLFlBT25FOztFQUNELE9BQU9BLE1BQVA7QUFDSDs7QUFDRCxTQUFTRCw4QkFBVCxDQUF3Q1csR0FBeEMsRUFBNkM7RUFDekMsSUFBSVIsR0FBSjtFQUNBLE9BQU8sQ0FBQyxDQUFDQSxHQUFHLEdBQUdELFNBQVMsRUFBaEIsS0FBdUIsSUFBdkIsR0FBOEIsS0FBSyxDQUFuQyxHQUF1Q0MsR0FBRyxDQUFDTyxlQUFKLENBQW9CQyxHQUFwQixDQUF4QyxLQUFxRUEsR0FBNUU7QUFDSDs7QUFFRCxJQUFJLENBQUMsT0FBT2IsT0FBTyxDQUFDYyxPQUFmLEtBQTJCLFVBQTNCLElBQTBDLE9BQU9kLE9BQU8sQ0FBQ2MsT0FBZixLQUEyQixRQUEzQixJQUF1Q2QsT0FBTyxDQUFDYyxPQUFSLEtBQW9CLElBQXRHLEtBQWdILE9BQU9kLE9BQU8sQ0FBQ2MsT0FBUixDQUFnQkMsVUFBdkIsS0FBc0MsV0FBMUosRUFBdUs7RUFDcktqQixNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE9BQU8sQ0FBQ2MsT0FBOUIsRUFBdUMsWUFBdkMsRUFBcUQ7SUFBRWIsS0FBSyxFQUFFO0VBQVQsQ0FBckQ7RUFDQUgsTUFBTSxDQUFDa0IsTUFBUCxDQUFjaEIsT0FBTyxDQUFDYyxPQUF0QixFQUErQmQsT0FBL0I7RUFDQWlCLE1BQU0sQ0FBQ2pCLE9BQVAsR0FBaUJBLE9BQU8sQ0FBQ2MsT0FBekI7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvdHJ1c3RlZC10eXBlcy5qcz8zZDM1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5fX3Vuc2FmZUNyZWF0ZVRydXN0ZWRTY3JpcHRVUkwgPSBfX3Vuc2FmZUNyZWF0ZVRydXN0ZWRTY3JpcHRVUkw7XG4vKipcbiAqIFN0b3JlcyB0aGUgVHJ1c3RlZCBUeXBlcyBQb2xpY3kuIFN0YXJ0cyBhcyB1bmRlZmluZWQgYW5kIGNhbiBiZSBzZXQgdG8gbnVsbFxuICogaWYgVHJ1c3RlZCBUeXBlcyBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBicm93c2VyLlxuICovIGxldCBwb2xpY3k7XG4vKipcbiAqIEdldHRlciBmb3IgdGhlIFRydXN0ZWQgVHlwZXMgUG9saWN5LiBJZiBpdCBpcyB1bmRlZmluZWQsIGl0IGlzIGluc3RhbnRpYXRlZFxuICogaGVyZSBvciBzZXQgdG8gbnVsbCBpZiBUcnVzdGVkIFR5cGVzIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIGJyb3dzZXIuXG4gKi8gZnVuY3Rpb24gZ2V0UG9saWN5KCkge1xuICAgIGlmICh0eXBlb2YgcG9saWN5ID09PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB2YXIgcmVmO1xuICAgICAgICBwb2xpY3kgPSAoKHJlZiA9IHdpbmRvdy50cnVzdGVkVHlwZXMpID09IG51bGwgPyB2b2lkIDAgOiByZWYuY3JlYXRlUG9saWN5KCduZXh0anMnLCB7XG4gICAgICAgICAgICBjcmVhdGVIVE1MOiAoaW5wdXQpPT5pbnB1dCxcbiAgICAgICAgICAgIGNyZWF0ZVNjcmlwdDogKGlucHV0KT0+aW5wdXQsXG4gICAgICAgICAgICBjcmVhdGVTY3JpcHRVUkw6IChpbnB1dCk9PmlucHV0XG4gICAgICAgIH0pKSB8fCBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gcG9saWN5O1xufVxuZnVuY3Rpb24gX191bnNhZmVDcmVhdGVUcnVzdGVkU2NyaXB0VVJMKHVybCkge1xuICAgIHZhciByZWY7XG4gICAgcmV0dXJuICgocmVmID0gZ2V0UG9saWN5KCkpID09IG51bGwgPyB2b2lkIDAgOiByZWYuY3JlYXRlU2NyaXB0VVJMKHVybCkpIHx8IHVybDtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dHJ1c3RlZC10eXBlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJfX3Vuc2FmZUNyZWF0ZVRydXN0ZWRTY3JpcHRVUkwiLCJwb2xpY3kiLCJnZXRQb2xpY3kiLCJyZWYiLCJ3aW5kb3ciLCJ0cnVzdGVkVHlwZXMiLCJjcmVhdGVQb2xpY3kiLCJjcmVhdGVIVE1MIiwiaW5wdXQiLCJjcmVhdGVTY3JpcHQiLCJjcmVhdGVTY3JpcHRVUkwiLCJ1cmwiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/trusted-types.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/client/use-intersection.js': /*!***************************************************************!*\ !*** ../../node_modules/next/dist/client/use-intersection.js ***! \***************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.useIntersection = useIntersection;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _requestIdleCallback = __webpack_require__(/*! ./request-idle-callback */ \"../../node_modules/next/dist/client/request-idle-callback.js\");\n\nconst hasIntersectionObserver = typeof IntersectionObserver === 'function';\n\nfunction useIntersection({\n rootRef,\n rootMargin,\n disabled\n}) {\n const isDisabled = disabled || !hasIntersectionObserver;\n const unobserve = (0, _react).useRef();\n const [visible, setVisible] = (0, _react).useState(false);\n const [element, setElement] = (0, _react).useState(null);\n (0, _react).useEffect(() => {\n if (hasIntersectionObserver) {\n if (unobserve.current) {\n unobserve.current();\n unobserve.current = undefined;\n }\n\n if (isDisabled || visible) return;\n\n if (element && element.tagName) {\n unobserve.current = observe(element, isVisible => isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n }\n\n return () => {\n unobserve.current == null ? void 0 : unobserve.current();\n unobserve.current = undefined;\n };\n } else {\n if (!visible) {\n const idleCallback = (0, _requestIdleCallback).requestIdleCallback(() => setVisible(true));\n return () => (0, _requestIdleCallback).cancelIdleCallback(idleCallback);\n }\n }\n }, [element, isDisabled, rootMargin, rootRef, visible]);\n const resetVisible = (0, _react).useCallback(() => {\n setVisible(false);\n }, []);\n return [setElement, visible, resetVisible];\n}\n\nfunction observe(element, callback, options) {\n const {\n id,\n observer,\n elements\n } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element); // Destroy observer when there's nothing left to watch:\n\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex(obj => obj.root === id.root && obj.margin === id.margin);\n\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\n\nconst observers = new Map();\nconst idList = [];\n\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || ''\n };\n const existing = idList.find(obj => obj.root === id.root && obj.margin === id.margin);\n let instance;\n\n if (existing) {\n instance = observers.get(existing);\n\n if (instance) {\n return instance;\n }\n }\n\n const elements = new Map();\n const observer = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\n\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvdXNlLWludGVyc2VjdGlvbi5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFDYkEsOENBQTZDO0VBQ3pDRyxLQUFLLEVBQUU7QUFEa0MsQ0FBN0M7QUFHQUQsdUJBQUEsR0FBMEJFLGVBQTFCOztBQUNBLElBQUlDLE1BQU0sR0FBR0MsbUJBQU8sQ0FBQyxvQkFBRCxDQUFwQjs7QUFDQSxJQUFJQyxvQkFBb0IsR0FBR0QsbUJBQU8sQ0FBQyw2RkFBRCxDQUFsQzs7QUFDQSxNQUFNRSx1QkFBdUIsR0FBRyxPQUFPQyxvQkFBUCxLQUFnQyxVQUFoRTs7QUFDQSxTQUFTTCxlQUFULENBQXlCO0VBQUVNLE9BQUY7RUFBWUMsVUFBWjtFQUF5QkM7QUFBekIsQ0FBekIsRUFBK0Q7RUFDM0QsTUFBTUMsVUFBVSxHQUFHRCxRQUFRLElBQUksQ0FBQ0osdUJBQWhDO0VBQ0EsTUFBTU0sU0FBUyxHQUFHLENBQUMsR0FBR1QsTUFBSixFQUFZVSxNQUFaLEVBQWxCO0VBQ0EsTUFBTSxDQUFDQyxPQUFELEVBQVVDLFVBQVYsSUFBd0IsQ0FBQyxHQUFHWixNQUFKLEVBQVlhLFFBQVosQ0FBcUIsS0FBckIsQ0FBOUI7RUFDQSxNQUFNLENBQUNDLE9BQUQsRUFBVUMsVUFBVixJQUF3QixDQUFDLEdBQUdmLE1BQUosRUFBWWEsUUFBWixDQUFxQixJQUFyQixDQUE5QjtFQUNBLENBQUMsR0FBR2IsTUFBSixFQUFZZ0IsU0FBWixDQUFzQixNQUFJO0lBQ3RCLElBQUliLHVCQUFKLEVBQTZCO01BQ3pCLElBQUlNLFNBQVMsQ0FBQ1EsT0FBZCxFQUF1QjtRQUNuQlIsU0FBUyxDQUFDUSxPQUFWO1FBQ0FSLFNBQVMsQ0FBQ1EsT0FBVixHQUFvQkMsU0FBcEI7TUFDSDs7TUFDRCxJQUFJVixVQUFVLElBQUlHLE9BQWxCLEVBQTJCOztNQUMzQixJQUFJRyxPQUFPLElBQUlBLE9BQU8sQ0FBQ0ssT0FBdkIsRUFBZ0M7UUFDNUJWLFNB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LENBQWdCQyxVQUF2QixLQUFzQyxXQUExSixFQUF1SztFQUNySy9ELE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsT0FBTyxDQUFDNEQsT0FBOUIsRUFBdUMsWUFBdkMsRUFBcUQ7SUFBRTNELEtBQUssRUFBRTtFQUFULENBQXJEO0VBQ0FILE1BQU0sQ0FBQ2dFLE1BQVAsQ0FBYzlELE9BQU8sQ0FBQzRELE9BQXRCLEVBQStCNUQsT0FBL0I7RUFDQStELE1BQU0sQ0FBQy9ELE9BQVAsR0FBaUJBLE9BQU8sQ0FBQzRELE9BQXpCO0FBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uLy4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24uanM/MzBhYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMudXNlSW50ZXJzZWN0aW9uID0gdXNlSW50ZXJzZWN0aW9uO1xudmFyIF9yZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcbnZhciBfcmVxdWVzdElkbGVDYWxsYmFjayA9IHJlcXVpcmUoXCIuL3JlcXVlc3QtaWRsZS1jYWxsYmFja1wiKTtcbmNvbnN0IGhhc0ludGVyc2VjdGlvbk9ic2VydmVyID0gdHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyID09PSAnZnVuY3Rpb24nO1xuZnVuY3Rpb24gdXNlSW50ZXJzZWN0aW9uKHsgcm9vdFJlZiAsIHJvb3RNYXJnaW4gLCBkaXNhYmxlZCAgfSkge1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBkaXNhYmxlZCB8fCAhaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG4gICAgY29uc3QgdW5vYnNlcnZlID0gKDAsIF9yZWFjdCkudXNlUmVmKCk7XG4gICAgY29uc3QgW3Zpc2libGUsIHNldFZpc2libGVdID0gKDAsIF9yZWFjdCkudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtlbGVtZW50LCBzZXRFbGVtZW50XSA9ICgwLCBfcmVhY3QpLnVzZVN0YXRlKG51bGwpO1xuICAgICgwLCBfcmVhY3QpLnVzZUVmZmVjdCgoKT0+e1xuICAgICAgICBpZiAoaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIGlmICh1bm9ic2VydmUuY3VycmVudCkge1xuICAgICAgICAgICAgICAgIHVub2JzZXJ2ZS5jdXJyZW50KCk7XG4gICAgICAgICAgICAgICAgdW5vYnNlcnZlLmN1cnJlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNEaXNhYmxlZCB8fCB2aXNpYmxlKSByZXR1cm47XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LnRhZ05hbWUpIHtcbiAgICAgICAgICAgICAgICB1bm9ic2VydmUuY3VycmVudCA9IG9ic2VydmUoZWxlbWVudCwgKGlzVmlzaWJsZSk9PmlzVmlzaWJsZSAmJiBzZXRWaXNpYmxlKGlzVmlzaWJsZSksIHtcbiAgICAgICAgICAgICAgICAgICAgcm9vdDogcm9vdFJlZiA9PSBudWxsID8gdm9pZCAwIDogcm9vdFJlZi5jdXJyZW50LFxuICAgICAgICAgICAgICAgICAgICByb290TWFyZ2luXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgICAgICB1bm9ic2VydmUuY3VycmVudCA9PSBudWxsID8gdm9pZCAwIDogdW5vYnNlcnZlLmN1cnJlbnQoKTtcbiAgICAgICAgICAgICAgICB1bm9ic2VydmUuY3VycmVudCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIXZpc2libGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpZGxlQ2FsbGJhY2sgPSAoMCwgX3JlcXVlc3RJZGxlQ2FsbGJhY2spLnJlcXVlc3RJZGxlQ2FsbGJhY2soKCk9PnNldFZpc2libGUodHJ1ZSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiAoKT0+KDAsIF9yZXF1ZXN0SWRsZUNhbGxiYWNrKS5jYW5jZWxJZGxlQ2FsbGJhY2soaWRsZUNhbGxiYWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgaXNEaXNhYmxlZCxcbiAgICAgICAgcm9vdE1hcmdpbixcbiAgICAgICAgcm9vdFJlZixcbiAgICAgICAgdmlzaWJsZVxuICAgIF0pO1xuICAgIGNvbnN0IHJlc2V0VmlzaWJsZSA9ICgwLCBfcmVhY3QpLnVzZUNhbGxiYWNrKCgpPT57XG4gICAgICAgIHNldFZpc2libGUoZmFsc2UpO1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gW1xuICAgICAgICBzZXRFbGVtZW50LFxuICAgICAgICB2aXNpYmxlLFxuICAgICAgICByZXNldFZpc2libGVcbiAgICBdO1xufVxuZnVuY3Rpb24gb2JzZXJ2ZShlbGVtZW50LCBjYWxsYmFjaywgb3B0aW9ucykge1xuICAgIGNvbnN0IHsgaWQgLCBvYnNlcnZlciAsIGVsZW1lbnRzICB9ID0gY3JlYXRlT2JzZXJ2ZXIob3B0aW9ucyk7XG4gICAgZWxlbWVudHMuc2V0KGVsZW1lbnQsIGNhbGxiYWNrKTtcbiAgICBvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQpO1xuICAgIHJldHVybiBmdW5jdGlvbiB1bm9ic2VydmUoKSB7XG4gICAgICAgIGVsZW1lbnRzLmRlbGV0ZShlbGVtZW50KTtcbiAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVsZW1lbnQpO1xuICAgICAgICAvLyBEZXN0cm95IG9ic2VydmVyIHdoZW4gdGhlcmUncyBub3RoaW5nIGxlZnQgdG8gd2F0Y2g6XG4gICAgICAgIGlmIChlbGVtZW50cy5zaXplID09PSAwKSB7XG4gICAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICBvYnNlcnZlcnMuZGVsZXRlKGlkKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gaWRMaXN0LmZpbmRJbmRleCgob2JqKT0+b2JqLnJvb3QgPT09IGlkLnJvb3QgJiYgb2JqLm1hcmdpbiA9PT0gaWQubWFyZ2luKTtcbiAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgaWRMaXN0LnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufVxuY29uc3Qgb2JzZXJ2ZXJzID0gbmV3IE1hcCgpO1xuY29uc3QgaWRMaXN0ID0gW107XG5mdW5jdGlvbiBjcmVhdGVPYnNlcnZlcihvcHRpb25zKSB7XG4gICAgY29uc3QgaWQgPSB7XG4gICAgICAgIHJvb3Q6IG9wdGlvbnMucm9vdCB8fCBudWxsLFxuICAgICAgICBtYXJnaW46IG9wdGlvbnMucm9vdE1hcmdpbiB8fCAnJ1xuICAgIH07XG4gICAgY29uc3QgZXhpc3RpbmcgPSBpZExpc3QuZmluZCgob2JqKT0+b2JqLnJvb3QgPT09IGlkLnJvb3QgJiYgb2JqLm1hcmdpbiA9PT0gaWQubWFyZ2luKTtcbiAgICBsZXQgaW5zdGFuY2U7XG4gICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICAgIGluc3RhbmNlID0gb2JzZXJ2ZXJzLmdldChleGlzdGluZyk7XG4gICAgICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGVsZW1lbnRzID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzKT0+e1xuICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KT0+e1xuICAgICAgICAgICAgY29uc3QgY2FsbGJhY2sgPSBlbGVtZW50cy5nZXQoZW50cnkudGFyZ2V0KTtcbiAgICAgICAgICAgIGNvbnN0IGlzVmlzaWJsZSA9IGVudHJ5LmlzSW50ZXJzZWN0aW5nIHx8IGVudHJ5LmludGVyc2VjdGlvblJhdGlvID4gMDtcbiAgICAgICAgICAgIGlmIChjYWxsYmFjayAmJiBpc1Zpc2libGUpIHtcbiAgICAgICAgICAgICAgICBjYWxsYmFjayhpc1Zpc2libGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9LCBvcHRpb25zKTtcbiAgICBpbnN0YW5jZSA9IHtcbiAgICAgICAgaWQsXG4gICAgICAgIG9ic2VydmVyLFxuICAgICAgICBlbGVtZW50c1xuICAgIH07XG4gICAgaWRMaXN0LnB1c2goaWQpO1xuICAgIG9ic2VydmVycy5zZXQoaWQsIGluc3RhbmNlKTtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZS1pbnRlcnNlY3Rpb24uanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwidXNlSW50ZXJzZWN0aW9uIiwiX3JlYWN0IiwicmVxdWlyZSIsIl9yZXF1ZXN0SWRsZUNhbGxiYWNrIiwiaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsInJvb3RSZWYiLCJyb290TWFyZ2luIiwiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIiwidW5vYnNlcnZlIiwidXNlUmVmIiwidmlzaWJsZSIsInNldFZpc2libGUiLCJ1c2VTdGF0ZSIsImVsZW1lbnQiLCJzZXRFbGVtZW50IiwidXNlRWZmZWN0IiwiY3VycmVudCIsInVuZGVmaW5lZCIsInRhZ05hbWUiLCJvYnNlcnZlIiwiaXNWaXNpYmxlIiwicm9vdCIsImlkbGVDYWxsYmFjayIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJjYW5jZWxJZGxlQ2FsbGJhY2siLCJyZXNldFZpc2libGUiLCJ1c2VDYWxsYmFjayIsImNhbGxiYWNrIiwib3B0aW9ucyIsImlkIiwib2JzZXJ2ZXIiLCJlbGVtZW50cyIsImNyZWF0ZU9ic2VydmVyIiwic2V0IiwiZGVsZXRlIiwic2l6ZSIsImRpc2Nvbm5lY3QiLCJvYnNlcnZlcnMiLCJpbmRleCIsImlkTGlzdCIsImZpbmRJbmRleCIsIm9iaiIsIm1hcmdpbiIsInNwbGljZSIsIk1hcCIsImV4aXN0aW5nIiwiZmluZCIsImluc3RhbmNlIiwiZ2V0IiwiZW50cmllcyIsImZvckVhY2giLCJlbnRyeSIsInRhcmdldCIsImlzSW50ZXJzZWN0aW5nIiwiaW50ZXJzZWN0aW9uUmF0aW8iLCJwdXNoIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/use-intersection.js\n" ); /***/ }, /***/ '../../node_modules/next/dist/shared/lib/router/router.js': /*!****************************************************************!*\ !*** ../../node_modules/next/dist/shared/lib/router/router.js ***! \****************************************************************/ /***/ (__unused_webpack_module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nObject.defineProperty(exports, "__esModule", ({\n value: true\n}));\nexports.isLocalURL = isLocalURL;\nexports.interpolateAs = interpolateAs;\nexports.resolveHref = resolveHref;\nexports.createKey = createKey;\nexports["default"] = void 0;\n\nvar _normalizeTrailingSlash = __webpack_require__(/*! ../../../client/normalize-trailing-slash */ "../../node_modules/next/dist/client/normalize-trailing-slash.js");\n\nvar _removeTrailingSlash = __webpack_require__(/*! ./utils/remove-trailing-slash */ "./utils/remove-trailing-slash");\n\nvar _routeLoader = __webpack_require__(/*! ../../../client/route-loader */ "../../node_modules/next/dist/client/route-loader.js");\n\nvar _script = __webpack_require__(/*! ../../../client/script */ "../../node_modules/next/dist/client/script.js");\n\nvar _isError = _interopRequireWildcard(__webpack_require__(/*! ../../../lib/is-error */ "../../node_modules/next/dist/lib/is-error.js"));\n\nvar _denormalizePagePath = __webpack_require__(/*! ../page-path/denormalize-page-path */ "../page-path/denormalize-page-path");\n\nvar _normalizeLocalePath = __webpack_require__(/*! ../i18n/normalize-locale-path */ "../i18n/normalize-locale-path");\n\nvar _mitt = _interopRequireDefault(__webpack_require__(/*! ../mitt */ "../mitt"));\n\nvar _utils = __webpack_require__(/*! ../utils */ "../shared/lib/utils");\n\nvar _isDynamic = __webpack_require__(/*! ./utils/is-dynamic */ "./utils/is-dynamic");\n\nvar _parseRelativeUrl = __webpack_require__(/*! ./utils/parse-relative-url */ "./utils/parse-relative-url");\n\nvar _querystring = __webpack_require__(/*! ./utils/querystring */ "./utils/querystring");\n\nvar _resolveRewrites = _interopRequireDefault(__webpack_require__(/*! ./utils/resolve-rewrites */ "./utils/resolve-rewrites"));\n\nvar _routeMatcher = __webpack_require__(/*! ./utils/route-matcher */ "./utils/route-matcher");\n\nvar _routeRegex = __webpack_require__(/*! ./utils/route-regex */ "./utils/route-regex");\n\nvar _formatUrl = __webpack_require__(/*! ./utils/format-url */ "./utils/format-url");\n\nvar _detectDomainLocale = __webpack_require__(/*! ../../../client/detect-domain-locale */ "../../node_modules/next/dist/client/detect-domain-locale.js");\n\nvar _parsePath = __webpack_require__(/*! ./utils/parse-path */ "./utils/parse-path");\n\nvar _addLocale = __webpack_require__(/*! ../../../client/add-locale */ "../../node_modules/next/dist/client/add-locale.js");\n\nvar _removeLocale = __webpack_require__(/*! ../../../client/remove-locale */ "../../node_modules/next/dist/client/remove-locale.js");\n\nvar _removeBasePath = __webpack_require__(/*! ../../../client/remove-base-path */ "../../node_modules/next/dist/client/remove-base-path.js");\n\nvar _addBasePath = __webpack_require__(/*! ../../../client/add-base-path */ "../../node_modules/next/dist/client/add-base-path.js");\n\nvar _hasBasePath = __webpack_require__(/*! ../../../client/has-base-path */ "../../node_modules/next/dist/client/has-base-path.js");\n\nvar _getNextPathnameInfo = __webpack_require__(/*! ./utils/get-next-pathname-info */ "./utils/get-next-pathname-info");\n\nvar _formatNextPathnameInfo = __webpack_require__(/*! ./utils/format-next-pathname-info */ "./utils/format-next-pathname-info");\n\nclass Router {\n // Server Data Cache\n constructor(_pathname, _query, _as, {\n initialProps,\n pageLoader,\n App,\n wrapApp,\n Component,\n err,\n subscription,\n isFallback,\n locale,\n locales,\n defaultLocale,\n domainLocales,\n isPreview,\n isRsc\n }) {\n _defineProperty(this, "sdc", {});\n\n _defineProperty(this, "isFirstPopStateEvent", true);\n\n _defineProperty(this, "_key", createKey());\n\n _defineProperty(this, "onPopState", e => {\n const {\n isFirstPopStateEvent\n } = this;\n this.isFirstPopStateEvent = false;\n const state = e.state;\n\n if (!state) {\n // We get state as undefined for two reasons.\n // 1. With older safari (< 8) and older chrome (< 34)\n // 2. When the URL changed with #\n //\n // In the both cases, we don\'t need to proceed and change the route.\n // (as it\'s already changed)\n // But we can simply replace the state with the new changes.\n // Actually, for (1) we don\'t need to nothing. But it\'s hard to detect that event.\n // So, doing the following for (1) does no harm.\n const {\n pathname,\n query\n } = this;\n this.changeState("replaceState", (0, _formatUrl).formatWithValidation({\n pathname: (0, _addBasePath).addBasePath(pathname),\n query\n }), (0, _utils).getURL());\n return;\n }\n\n if (!state.__N) {\n return;\n } // Safari fires popstateevent when reopening the browser.\n\n\n if (isFirstPopStateEvent && this.locale === state.options.locale && state.as === this.asPath) {\n return;\n }\n\n let forcedScroll;\n const {\n url,\n as,\n options,\n key\n } = state;\n\n if (false) {}\n\n this._key = key;\n const {\n pathname\n } = (0, _parseRelativeUrl).parseRelativeUrl(url); // Make sure we don\'t re-render on initial load,\n // can be caused by navigating back from an external site\n\n if (this.isSsr && as === (0, _addBasePath).addBasePath(this.asPath) && pathname === (0, _addBasePath).addBasePath(this.pathname)) {\n return;\n } // If the downstream application returns falsy, return.\n // They will then be responsible for handling the event.\n\n\n if (this._bps && !this._bps(state)) {\n return;\n }\n\n this.change("replaceState", url, as, Object.assign({}, options, {\n shallow: options.shallow && this._shallow,\n locale: options.locale || this.defaultLocale,\n // @ts-ignore internal value not exposed on types\n _h: 0\n }), forcedScroll);\n });\n\n // represents the current component key\n const route = (0, _removeTrailingSlash).removeTrailingSlash(_pathname); // set up the component cache (by route keys)\n\n this.components = {}; // We should not keep the cache, if there\'s an error\n // Otherwise, this cause issues when when going back and\n // come again to the errored page.\n\n if (_pathname !== "/_error") {\n this.components[route] = {\n Component,\n initial: true,\n props: initialProps,\n err,\n __N_SSG: initialProps && initialProps.__N_SSG,\n __N_SSP: initialProps && initialProps.__N_SSP,\n __N_RSC: !!isRsc\n };\n }\n\n this.components["/_app"] = {\n Component: App,\n styleSheets: []\n }; // Backwards compat for Router.router.events\n // TODO: Should be remove the following major version as it was never documented\n\n this.events = Router.events;\n this.pageLoader = pageLoader; // if auto prerendered and dynamic route wait to update asPath\n // until after mount to prevent hydration mismatch\n\n const autoExportDynamic = (0, _isDynamic).isDynamicRoute(_pathname) && self.__NEXT_DATA__.autoExport;\n\n this.basePath = false || "";\n this.sub = subscription;\n this.clc = null;\n this._wrapApp = wrapApp; // make sure to ignore extra popState in safari on navigating\n // back from external site\n\n this.isSsr = true;\n this.isLocaleDomain = false;\n this.isReady = !!(self.__NEXT_DATA__.gssp || self.__NEXT_DATA__.gip || self.__NEXT_DATA__.appGip && !self.__NEXT_DATA__.gsp || !autoExportDynamic && !self.location.search && !false);\n\n if (false) {}\n\n this.state = {\n route,\n pathname: _pathname,\n query: _query,\n asPath: autoExportDynamic ? _pathname : _as,\n isPreview: !!isPreview,\n locale: false ? 0 : undefined,\n isFallback\n };\n this._initialMatchesMiddlewarePromise = Promise.resolve(false);\n\n if (false) {}\n }\n\n reload() {\n window.location.reload();\n }\n /**\n * Go back in history\n */\n\n\n back() {\n window.history.back();\n }\n /**\n * Performs a `pushState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */\n\n\n push(url, as, options = {}) {\n if (false) {}\n\n ({\n url,\n as\n } = prepareUrlAs(this, url, as));\n return this.change("pushState", url, as, options);\n }\n /**\n * Performs a `replaceState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */\n\n\n replace(url, as, options = {}) {\n ({\n url,\n as\n } = prepareUrlAs(this, url, as));\n return this.change("replaceState", url, as, options);\n }\n\n async change(method, url, as, options, forcedScroll) {\n if (!isLocalURL(url)) {\n handleHardNavigation({\n url,\n router: this\n });\n return false;\n } // WARNING: `_h` is an internal option for handing Next.js client-side\n // hydration. Your app should _never_ use this property. It may change at\n // any time without notice.\n\n\n const isQueryUpdating = options._h;\n const shouldResolveHref = isQueryUpdating || options._shouldResolveHref || (0, _parsePath).parsePath(url).pathname === (0, _parsePath).parsePath(as).pathname;\n\n const nextState = _objectSpread({}, this.state); // for static pages with query params in the URL we delay\n // marking the router ready until after the query is updated\n // or a navigation has occurred\n\n\n this.isReady = true;\n const isSsr = this.isSsr;\n\n if (!isQueryUpdating) {\n this.isSsr = false;\n } // if a route transition is already in progress before\n // the query updating is triggered ignore query updating\n\n\n if (isQueryUpdating && this.clc) {\n return false;\n }\n\n const prevLocale = nextState.locale;\n\n if (false) { var ref; } // marking route changes as a navigation start entry\n\n\n if (_utils.ST) {\n performance.mark("routeChange");\n }\n\n const {\n shallow = false,\n scroll = true\n } = options;\n const routeProps = {\n shallow\n };\n\n if (this._inFlightRoute && this.clc) {\n if (!isSsr) {\n Router.events.emit("routeChangeError", buildCancellationError(), this._inFlightRoute, routeProps);\n }\n\n this.clc();\n this.clc = null;\n }\n\n as = (0, _addBasePath).addBasePath((0, _addLocale).addLocale((0, _hasBasePath).hasBasePath(as) ? (0, _removeBasePath).removeBasePath(as) : as, options.locale, this.defaultLocale));\n const cleanedAs = (0, _removeLocale).removeLocale((0, _hasBasePath).hasBasePath(as) ? (0, _removeBasePath).removeBasePath(as) : as, nextState.locale);\n this._inFlightRoute = as;\n let localeChange = prevLocale !== nextState.locale; // If the url change is only related to a hash change\n // We should not proceed. We should only change the state.\n\n if (!isQueryUpdating && this.onlyAHashChange(cleanedAs) && !localeChange) {\n nextState.asPath = cleanedAs;\n Router.events.emit("hashChangeStart", as, routeProps); // TODO: do we need the resolved href when only a hash change?\n\n this.changeState(method, url, as, _objectSpread(_objectSpread({}, options), {}, {\n scroll: false\n }));\n\n if (scroll) {\n this.scrollToHash(cleanedAs);\n }\n\n try {\n await this.set(nextState, this.components[nextState.route], null);\n } catch (err) {\n if ((0, _isError).default(err) && err.cancelled) {\n Router.events.emit("routeChangeError", err, cleanedAs, routeProps);\n }\n\n throw err;\n }\n\n Router.events.emit("hashChangeComplete", as, routeProps);\n return true;\n }\n\n let parsed = (0, _parseRelativeUrl).parseRelativeUrl(url);\n let {\n pathname,\n query\n } = parsed; // The build manifest needs to be loaded before auto-static dynamic pages\n // get their query parameters to allow ensuring they can be parsed properly\n // when rewritten to\n\n let pages, rewrites;\n\n try {\n [pages, {\n __rewrites: rewrites\n }] = await Promise.all([this.pageLoader.getPageList(), (0, _routeLoader).getClientBuildManifest(), this.pageLoader.getMiddlewareList()]);\n } catch (err) {\n // If we fail to resolve the page list or client-build manifest, we must\n // do a server-side transition:\n handleHardNavigation({\n url: as,\n router: this\n });\n return false;\n } // If asked to change the current URL we should reload the current page\n // (not location.reload() but reload getInitialProps and other Next.js stuffs)\n // We also need to set the method = replaceState always\n // as this should not go into the history (That\'s how browsers work)\n // We should compare the new asPath to the current asPath, not the url\n\n\n if (!this.urlIsNew(cleanedAs) && !localeChange) {\n method = "replaceState";\n } // we need to resolve the as value using rewrites for dynamic SSG\n // pages to allow building the data URL correctly\n\n\n let resolvedAs = as; // url and as should always be prefixed with basePath by this\n // point by either next/link or router.push/replace so strip the\n // basePath from the pathname to match the pages dir 1-to-1\n\n pathname = pathname ? (0, _removeTrailingSlash).removeTrailingSlash((0, _removeBasePath).removeBasePath(pathname)) : pathname; // we don\'t attempt resolve asPath when we need to execute\n // middleware as the resolving will occur server-side\n\n const isMiddlewareMatch = !options.shallow && (await matchesMiddleware({\n asPath: as,\n locale: nextState.locale,\n router: this\n }));\n\n if (shouldResolveHref && pathname !== "/_error") {\n options._shouldResolveHref = true;\n\n if (false) {} else {\n parsed.pathname = resolveDynamicRoute(pathname, pages);\n\n if (parsed.pathname !== pathname) {\n pathname = parsed.pathname;\n parsed.pathname = (0, _addBasePath).addBasePath(pathname);\n\n if (!isMiddlewareMatch) {\n url = (0, _formatUrl).formatWithValidation(parsed);\n }\n }\n }\n }\n\n if (!isLocalURL(as)) {\n if (true) {\n throw new Error(`Invalid href: "${url}" and as: "${as}", received relative href and external as` + `\\nSee more info: https://nextjs.org/docs/messages/invalid-relative-url-external-as`);\n }\n\n handleHardNavigation({\n url: as,\n router: this\n });\n return false;\n }\n\n resolvedAs = (0, _removeLocale).removeLocale((0, _removeBasePath).removeBasePath(resolvedAs), nextState.locale);\n let route = (0, _removeTrailingSlash).removeTrailingSlash(pathname);\n let routeMatch = false;\n\n if ((0, _isDynamic).isDynamicRoute(route)) {\n const parsedAs = (0, _parseRelativeUrl).parseRelativeUrl(resolvedAs);\n const asPathname = parsedAs.pathname;\n const routeRegex = (0, _routeRegex).getRouteRegex(route);\n routeMatch = (0, _routeMatcher).getRouteMatcher(routeRegex)(asPathname);\n const shouldInterpolate = route === asPathname;\n const interpolatedAs = shouldInterpolate ? interpolateAs(route, asPathname, query) : {};\n\n if (!routeMatch || shouldInterpolate && !interpolatedAs.result) {\n const missingParams = Object.keys(routeRegex.groups).filter(param => !query[param]);\n\n if (missingParams.length > 0 && !isMiddlewareMatch) {\n if (true) {\n console.warn(`${shouldInterpolate ? `Interpolating href` : `Mismatching \\`as\\` and \\`href\\``} failed to manually provide ` + `the params: ${missingParams.join(", ")} in the \\`href\\`\'s \\`query\\``);\n }\n\n throw new Error((shouldInterpolate ? `The provided \\`href\\` (${url}) value is missing query values (${missingParams.join(", ")}) to be interpolated properly. ` : `The provided \\`as\\` value (${asPathname}) is incompatible with the \\`href\\` value (${route}). `) + `Read more: https://nextjs.org/docs/messages/${shouldInterpolate ? "href-interpolation-failed" : "incompatible-href-as"}`);\n }\n } else if (shouldInterpolate) {\n as = (0, _formatUrl).formatWithValidation(Object.assign({}, parsedAs, {\n pathname: interpolatedAs.result,\n query: omit(query, interpolatedAs.params)\n }));\n } else {\n // Merge params into `query`, overwriting any specified in search\n Object.assign(query, routeMatch);\n }\n }\n\n if (!isQueryUpdating) {\n Router.events.emit("routeChangeStart", as, routeProps);\n }\n\n try {\n var ref1, ref2;\n let routeInfo = await this.getRouteInfo({\n route,\n pathname,\n query,\n as,\n resolvedAs,\n routeProps,\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n hasMiddleware: isMiddlewareMatch\n });\n\n if ("route" in routeInfo && isMiddlewareMatch) {\n pathname = routeInfo.route || route;\n route = pathname;\n query = Object.assign({}, routeInfo.query || {}, query);\n\n if (routeMatch && pathname !== parsed.pathname) {\n Object.keys(routeMatch).forEach(key => {\n if (routeMatch && query[key] === routeMatch[key]) {\n delete query[key];\n }\n });\n }\n\n if ((0, _isDynamic).isDynamicRoute(pathname)) {\n const prefixedAs = routeInfo.resolvedAs || (0, _addBasePath).addBasePath((0, _addLocale).addLocale(as, nextState.locale), true);\n let rewriteAs = prefixedAs;\n\n if ((0, _hasBasePath).hasBasePath(rewriteAs)) {\n rewriteAs = (0, _removeBasePath).removeBasePath(rewriteAs);\n }\n\n if (false) {}\n\n const routeRegex = (0, _routeRegex).getRouteRegex(pathname);\n const curRouteMatch = (0, _routeMatcher).getRouteMatcher(routeRegex)(rewriteAs);\n\n if (curRouteMatch) {\n Object.assign(query, curRouteMatch);\n }\n }\n } // If the routeInfo brings a redirect we simply apply it.\n\n\n if ("type" in routeInfo) {\n if (routeInfo.type === "redirect-internal") {\n return this.change(method, routeInfo.newUrl, routeInfo.newAs, options);\n } else {\n handleHardNavigation({\n url: routeInfo.destination,\n router: this\n });\n return new Promise(() => {});\n }\n }\n\n let {\n error,\n props,\n __N_SSG,\n __N_SSP\n } = routeInfo;\n const component = routeInfo.Component;\n\n if (component && component.unstable_scriptLoader) {\n const scripts = [].concat(component.unstable_scriptLoader());\n scripts.forEach(script => {\n (0, _script).handleClientScriptLoad(script.props);\n });\n } // handle redirect on client-transition\n\n\n if ((__N_SSG || __N_SSP) && props) {\n if (props.pageProps && props.pageProps.__N_REDIRECT) {\n // Use the destination from redirect without adding locale\n options.locale = false;\n const destination = props.pageProps.__N_REDIRECT; // check if destination is internal (resolves to a page) and attempt\n // client-navigation if it is falling back to hard navigation if\n // it\'s not\n\n if (destination.startsWith("/") && props.pageProps.__N_REDIRECT_BASE_PATH !== false) {\n const parsedHref = (0, _parseRelativeUrl).parseRelativeUrl(destination);\n parsedHref.pathname = resolveDynamicRoute(parsedHref.pathname, pages);\n const {\n url: newUrl,\n as: newAs\n } = prepareUrlAs(this, destination, destination);\n return this.change(method, newUrl, newAs, options);\n }\n\n handleHardNavigation({\n url: destination,\n router: this\n });\n return new Promise(() => {});\n }\n\n nextState.isPreview = !!props.__N_PREVIEW; // handle SSG data 404\n\n if (props.notFound === SSG_DATA_NOT_FOUND) {\n let notFoundRoute;\n\n try {\n await this.fetchComponent("/404");\n notFoundRoute = "/404";\n } catch (_) {\n notFoundRoute = "/_error";\n }\n\n routeInfo = await this.getRouteInfo({\n route: notFoundRoute,\n pathname: notFoundRoute,\n query,\n as,\n resolvedAs,\n routeProps: {\n shallow: false\n },\n locale: nextState.locale,\n isPreview: nextState.isPreview\n });\n\n if ("type" in routeInfo) {\n throw new Error(`Unexpected middleware effect on /404`);\n }\n }\n }\n\n Router.events.emit("beforeHistoryChange", as, routeProps);\n this.changeState(method, url, as, options);\n\n if (isQueryUpdating && pathname === "/_error" && ((ref1 = self.__NEXT_DATA__.props) == null ? void 0 : (ref2 = ref1.pageProps) == null ? void 0 : ref2.statusCode) === 500 && (props == null ? void 0 : props.pageProps)) {\n // ensure statusCode is still correct for static 500 page\n // when updating query information\n props.pageProps.statusCode = 500;\n }\n\n var _route; // shallow routing is only allowed for same page URL changes.\n\n\n const isValidShallowRoute = options.shallow && nextState.route === ((_route = routeInfo.route) != null ? _route : route);\n\n var _scroll;\n\n const shouldScroll = (_scroll = options.scroll) != null ? _scroll : !isValidShallowRoute;\n const resetScroll = shouldScroll ? {\n x: 0,\n y: 0\n } : null;\n await this.set(_objectSpread(_objectSpread({}, nextState), {}, {\n route,\n pathname,\n query,\n asPath: cleanedAs,\n isFallback: false\n }), routeInfo, forcedScroll != null ? forcedScroll : resetScroll).catch(e => {\n if (e.cancelled) error = error || e;else throw e;\n });\n\n if (error) {\n if (!isQueryUpdating) {\n Router.events.emit("routeChangeError", error, cleanedAs, routeProps);\n }\n\n throw error;\n }\n\n if (false) {}\n\n if (!isQueryUpdating) {\n Router.events.emit("routeChangeComplete", as, routeProps);\n } // A hash mark # is the optional last part of a URL\n\n\n const hashRegex = /#.+$/;\n\n if (shouldScroll && hashRegex.test(as)) {\n this.scrollToHash(as);\n }\n\n return true;\n } catch (err1) {\n if ((0, _isError).default(err1) && err1.cancelled) {\n return false;\n }\n\n throw err1;\n }\n }\n\n changeState(method, url, as, options = {}) {\n if (true) {\n if (typeof window.history === "undefined") {\n console.error(`Warning: window.history is not available.`);\n return;\n }\n\n if (typeof window.history[method] === "undefined") {\n console.error(`Warning: window.history.${method} is not available`);\n return;\n }\n }\n\n if (method !== "pushState" || (0, _utils).getURL() !== as) {\n this._shallow = options.shallow;\n window.history[method]({\n url,\n as,\n options,\n __N: true,\n key: this._key = method !== "pushState" ? this._key : createKey()\n }, // Most browsers currently ignores this parameter, although they may use it in the future.\n // Passing the empty string here should be safe against future changes to the method.\n // https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState\n "", as);\n }\n }\n\n async handleRouteInfoError(err, pathname, query, as, routeProps, loadErrorFail) {\n console.error(err);\n\n if (err.cancelled) {\n // bubble up cancellation errors\n throw err;\n }\n\n if ((0, _routeLoader).isAssetError(err) || loadErrorFail) {\n Router.events.emit("routeChangeError", err, as, routeProps); // If we can\'t load the page it could be one of following reasons\n // 1. Page doesn\'t exists\n // 2. Page does exist in a different zone\n // 3. Internal error while loading the page\n // So, doing a hard reload is the proper way to deal with this.\n\n handleHardNavigation({\n url: as,\n router: this\n }); // Changing the URL doesn\'t block executing the current code path.\n // So let\'s throw a cancellation error stop the routing logic.\n\n throw buildCancellationError();\n }\n\n try {\n let Component;\n let styleSheets;\n let props;\n\n if (typeof Component === "undefined" || typeof styleSheets === "undefined") {\n ({\n page: Component,\n styleSheets\n } = await this.fetchComponent("/_error"));\n }\n\n const routeInfo = {\n props,\n Component,\n styleSheets,\n err,\n error: err\n };\n\n if (!routeInfo.props) {\n try {\n routeInfo.props = await this.getInitialProps(Component, {\n err,\n pathname,\n query\n });\n } catch (gipErr) {\n console.error("Error in error page `getInitialProps`: ", gipErr);\n routeInfo.props = {};\n }\n }\n\n return routeInfo;\n } catch (routeInfoErr) {\n return this.handleRouteInfoError((0, _isError).default(routeInfoErr) ? routeInfoErr : new Error(routeInfoErr + ""), pathname, query, as, routeProps, true);\n }\n }\n\n async getRouteInfo({\n route: requestedRoute,\n pathname,\n query,\n as,\n resolvedAs,\n routeProps,\n locale,\n hasMiddleware,\n isPreview,\n unstable_skipClientCache\n }) {\n /**\n * This `route` binding can change if there\'s a rewrite\n * so we keep a reference to the original requested route\n * so we can store the cache for it and avoid re-requesting every time\n * for shallow routing purposes.\n */\n let route = requestedRoute;\n\n try {\n var ref, ref3, ref4;\n const handleCancelled = getCancelledHandler({\n route,\n router: this\n });\n let existingInfo = this.components[route];\n\n if (!hasMiddleware && routeProps.shallow && existingInfo && this.route === route) {\n return existingInfo;\n }\n\n let cachedRouteInfo = existingInfo && !("initial" in existingInfo) && false ? 0 : undefined;\n const fetchNextDataParams = {\n dataHref: this.pageLoader.getDataHref({\n href: (0, _formatUrl).formatWithValidation({\n pathname,\n query\n }),\n skipInterpolation: true,\n asPath: resolvedAs,\n locale\n }),\n hasMiddleware: true,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !isPreview,\n isPrefetch: false,\n unstable_skipClientCache\n };\n const data = await withMiddlewareEffects({\n fetchData: () => fetchNextData(fetchNextDataParams),\n asPath: resolvedAs,\n locale: locale,\n router: this\n });\n handleCancelled();\n\n if ((data == null ? void 0 : (ref = data.effect) == null ? void 0 : ref.type) === "redirect-internal" || (data == null ? void 0 : (ref3 = data.effect) == null ? void 0 : ref3.type) === "redirect-external") {\n return data.effect;\n }\n\n if ((data == null ? void 0 : (ref4 = data.effect) == null ? void 0 : ref4.type) === "rewrite") {\n route = (0, _removeTrailingSlash).removeTrailingSlash(data.effect.resolvedHref);\n pathname = data.effect.resolvedHref;\n query = _objectSpread(_objectSpread({}, query), data.effect.parsedAs.query);\n resolvedAs = data.effect.parsedAs.pathname; // Check again the cache with the new destination.\n\n existingInfo = this.components[route];\n\n if (routeProps.shallow && existingInfo && this.route === route && !hasMiddleware) {\n // If we have a match with the current route due to rewrite,\n // we can copy the existing information to the rewritten one.\n // Then, we return the information along with the matched route.\n this.components[requestedRoute] = _objectSpread(_objectSpread({}, existingInfo), {}, {\n route\n });\n return _objectSpread(_objectSpread({}, existingInfo), {}, {\n route\n });\n }\n\n cachedRouteInfo = existingInfo && !("initial" in existingInfo) && false ? 0 : undefined;\n }\n\n if (route === "/api" || route.startsWith("/api/")) {\n handleHardNavigation({\n url: resolvedAs,\n router: this\n });\n return new Promise(() => {});\n }\n\n const routeInfo = cachedRouteInfo || (await this.fetchComponent(route).then(res => ({\n Component: res.page,\n styleSheets: res.styleSheets,\n __N_SSG: res.mod.__N_SSG,\n __N_SSP: res.mod.__N_SSP,\n __N_RSC: !!res.mod.__next_rsc__\n })));\n\n if (true) {\n const {\n isValidElementType\n } = __webpack_require__(/*! next/dist/compiled/react-is */ "next/dist/compiled/react-is");\n\n if (!isValidElementType(routeInfo.Component)) {\n throw new Error(`The default export is not a React Component in page: "${pathname}"`);\n }\n }\n /**\n * For server components, non-SSR pages will have statically optimized\n * flight data in a production build. So only development and SSR pages\n * will always have the real-time generated and streamed flight data.\n */\n\n\n const useStreamedFlightData = routeInfo.__N_RSC && ( true || 0);\n const shouldFetchData = routeInfo.__N_SSG || routeInfo.__N_SSP || routeInfo.__N_RSC;\n const {\n props\n } = await this._getData(async () => {\n if (shouldFetchData && !useStreamedFlightData) {\n const {\n json\n } = data || (await fetchNextData({\n dataHref: this.pageLoader.getDataHref({\n href: (0, _formatUrl).formatWithValidation({\n pathname,\n query\n }),\n asPath: resolvedAs,\n locale\n }),\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !isPreview,\n isPrefetch: false,\n unstable_skipClientCache\n }));\n return {\n props: json\n };\n }\n\n return {\n headers: {},\n props: await this.getInitialProps(routeInfo.Component, // we provide AppTree later so this needs to be `any`\n {\n pathname,\n query,\n asPath: as,\n locale,\n locales: this.locales,\n defaultLocale: this.defaultLocale\n })\n };\n }); // Only bust the data cache for SSP routes although\n // middleware can skip cache per request with\n // x-middleware-cache: no-cache as well\n\n if (routeInfo.__N_SSP && fetchNextDataParams.dataHref) {\n const cacheKey = new URL(fetchNextDataParams.dataHref, window.location.href).href;\n delete this.sdc[cacheKey];\n } // we kick off a HEAD request in the background\n // when a non-prefetch request is made to signal revalidation\n\n\n if (!this.isPreview && routeInfo.__N_SSG && false) {}\n\n if (routeInfo.__N_RSC) {\n props.pageProps = Object.assign(props.pageProps, {\n __flight__: useStreamedFlightData ? (await this._getData(() => this._getFlightData((0, _formatUrl).formatWithValidation({\n query: _objectSpread(_objectSpread({}, query), {}, {\n __flight__: "1"\n }),\n pathname: (0, _isDynamic).isDynamicRoute(route) ? interpolateAs(pathname, (0, _parseRelativeUrl).parseRelativeUrl(resolvedAs).pathname, query).result : pathname\n })))).data : props.__flight__\n });\n }\n\n routeInfo.props = props;\n routeInfo.route = route;\n routeInfo.query = query;\n routeInfo.resolvedAs = resolvedAs;\n this.components[route] = routeInfo; // If the route was rewritten in the process of fetching data,\n // we update the cache to allow hitting the same data for shallow requests.\n\n if (route !== requestedRoute) {\n this.components[requestedRoute] = _objectSpread(_objectSpread({}, routeInfo), {}, {\n route\n });\n }\n\n return routeInfo;\n } catch (err) {\n return this.handleRouteInfoError((0, _isError).getProperError(err), pathname, query, as, routeProps);\n }\n }\n\n set(state, data, resetScroll) {\n this.state = state;\n return this.sub(data, this.components["/_app"].Component, resetScroll);\n }\n /**\n * Callback to execute before replacing router state\n * @param cb callback to be executed\n */\n\n\n beforePopState(cb) {\n this._bps = cb;\n }\n\n onlyAHashChange(as) {\n if (!this.asPath) return false;\n const [oldUrlNoHash, oldHash] = this.asPath.split("#");\n const [newUrlNoHash, newHash] = as.split("#"); // Makes sure we scroll to the provided hash if the url/hash are the same\n\n if (newHash && oldUrlNoHash === newUrlNoHash && oldHash === newHash) {\n return true;\n } // If the urls are change, there\'s more than a hash change\n\n\n if (oldUrlNoHash !== newUrlNoHash) {\n return false;\n } // If the hash has changed, then it\'s a hash only change.\n // This check is necessary to handle both the enter and\n // leave hash === \'\' cases. The identity case falls through\n // and is treated as a next reload.\n\n\n return oldHash !== newHash;\n }\n\n scrollToHash(as) {\n const [, hash = ""] = as.split("#"); // Scroll to top if the hash is just `#` with no value or `#top`\n // To mirror browsers\n\n if (hash === "" || hash === "top") {\n window.scrollTo(0, 0);\n return;\n } // Decode hash to make non-latin anchor works.\n\n\n const rawHash = decodeURIComponent(hash); // First we check if the element by id is found\n\n const idEl = document.getElementById(rawHash);\n\n if (idEl) {\n idEl.scrollIntoView();\n return;\n } // If there\'s no element with the id, we check the `name` property\n // To mirror browsers\n\n\n const nameEl = document.getElementsByName(rawHash)[0];\n\n if (nameEl) {\n nameEl.scrollIntoView();\n }\n }\n\n urlIsNew(asPath) {\n return this.asPath !== asPath;\n }\n /**\n * Prefetch page code, you may wait for the data during page rendering.\n * This feature only works in production!\n * @param url the href of prefetched page\n * @param asPath the as path of the prefetched page\n */\n\n\n async prefetch(url, asPath = url, options = {}) {\n let parsed = (0, _parseRelativeUrl).parseRelativeUrl(url);\n let {\n pathname,\n query\n } = parsed;\n\n if (false) {}\n\n const pages = await this.pageLoader.getPageList();\n let resolvedAs = asPath;\n const locale = typeof options.locale !== "undefined" ? options.locale || undefined : this.locale;\n const isMiddlewareMatch = await matchesMiddleware({\n asPath: asPath,\n locale: locale,\n router: this\n });\n\n if (false) {}\n\n parsed.pathname = resolveDynamicRoute(parsed.pathname, pages);\n\n if ((0, _isDynamic).isDynamicRoute(parsed.pathname)) {\n pathname = parsed.pathname;\n parsed.pathname = pathname;\n Object.assign(query, (0, _routeMatcher).getRouteMatcher((0, _routeRegex).getRouteRegex(parsed.pathname))((0, _parsePath).parsePath(asPath).pathname) || {});\n\n if (!isMiddlewareMatch) {\n url = (0, _formatUrl).formatWithValidation(parsed);\n }\n } // Prefetch is not supported in development mode because it would trigger on-demand-entries\n\n\n if (true) {\n return;\n } // TODO: if the route middleware\'s data request\n // resolves to is not an SSG route we should bust the cache\n // but we shouldn\'t allow prefetch to keep triggering\n // requests for SSP pages\n\n\n const data = await withMiddlewareEffects({\n fetchData: () => fetchNextData({\n dataHref: this.pageLoader.getDataHref({\n href: (0, _formatUrl).formatWithValidation({\n pathname,\n query\n }),\n skipInterpolation: true,\n asPath: resolvedAs,\n locale\n }),\n hasMiddleware: true,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !this.isPreview,\n isPrefetch: true\n }),\n asPath: asPath,\n locale: locale,\n router: this\n });\n /**\n * If there was a rewrite we apply the effects of the rewrite on the\n * current parameters for the prefetch.\n */\n\n if ((data == null ? void 0 : data.effect.type) === "rewrite") {\n parsed.pathname = data.effect.resolvedHref;\n pathname = data.effect.resolvedHref;\n query = _objectSpread(_objectSpread({}, query), data.effect.parsedAs.query);\n resolvedAs = data.effect.parsedAs.pathname;\n url = (0, _formatUrl).formatWithValidation(parsed);\n }\n /**\n * If there is a redirect to an external destination then we don\'t have\n * to prefetch content as it will be unused.\n */\n\n\n if ((data == null ? void 0 : data.effect.type) === "redirect-external") {\n return;\n }\n\n const route = (0, _removeTrailingSlash).removeTrailingSlash(pathname);\n await Promise.all([this.pageLoader._isSsg(route).then(isSsg => {\n return isSsg ? fetchNextData({\n dataHref: (data == null ? void 0 : data.dataHref) || this.pageLoader.getDataHref({\n href: url,\n asPath: resolvedAs,\n locale: locale\n }),\n isServerRender: false,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !this.isPreview,\n isPrefetch: true,\n unstable_skipClientCache: options.unstable_skipClientCache || options.priority\n }).then(() => false) : false;\n }), this.pageLoader[options.priority ? "loadPage" : "prefetch"](route)]);\n }\n\n async fetchComponent(route) {\n const handleCancelled = getCancelledHandler({\n route,\n router: this\n });\n\n try {\n const componentResult = await this.pageLoader.loadPage(route);\n handleCancelled();\n return componentResult;\n } catch (err) {\n handleCancelled();\n throw err;\n }\n }\n\n _getData(fn) {\n let cancelled = false;\n\n const cancel = () => {\n cancelled = true;\n };\n\n this.clc = cancel;\n return fn().then(data => {\n if (cancel === this.clc) {\n this.clc = null;\n }\n\n if (cancelled) {\n const err = new Error("Loading initial props cancelled");\n err.cancelled = true;\n throw err;\n }\n\n return data;\n });\n }\n\n _getFlightData(dataHref) {\n // Do not cache RSC flight response since it\'s not a static resource\n return fetchNextData({\n dataHref,\n isServerRender: true,\n parseJSON: false,\n inflightCache: this.sdc,\n persistCache: false,\n isPrefetch: false\n }).then(({\n text\n }) => ({\n data: text\n }));\n }\n\n getInitialProps(Component, ctx) {\n const {\n Component: App\n } = this.components["/_app"];\n\n const AppTree = this._wrapApp(App);\n\n ctx.AppTree = AppTree;\n return (0, _utils).loadGetInitialProps(App, {\n AppTree,\n Component,\n router: this,\n ctx\n });\n }\n\n get route() {\n return this.state.route;\n }\n\n get pathname() {\n return this.state.pathname;\n }\n\n get query() {\n return this.state.query;\n }\n\n get asPath() {\n return this.state.asPath;\n }\n\n get locale() {\n return this.state.locale;\n }\n\n get isFallback() {\n return this.state.isFallback;\n }\n\n get isPreview() {\n return this.state.isPreview;\n }\n\n}\n\n_defineProperty(Router, "events", (0, _mitt).default());\n\nexports["default"] = Router;\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== "function") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function () {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== "object" && typeof obj !== "function") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction buildCancellationError() {\n return Object.assign(new Error("Route Cancelled"), {\n cancelled: true\n });\n}\n\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils).isAbsoluteUrl(url)) return true;\n\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils).getLocationOrigin();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasBasePath).hasBasePath(resolved.pathname);\n } catch (_) {\n return false;\n }\n}\n\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = "";\n const dynamicRegex = (0, _routeRegex).getRouteRegex(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = // Try to match the dynamic route against the asPath\n (asPathname !== route ? (0, _routeMatcher).getRouteMatcher(dynamicRegex)(asPathname) : "") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n\n if (!params.every(param => {\n let value = dynamicMatches[param] || "";\n const {\n repeat,\n optional\n } = dynamicGroups[param]; // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n\n let replaced = `[${repeat ? "..." : ""}${param}]`;\n\n if (optional) {\n replaced = `${!value ? "/" : ""}[${replaced}]`;\n }\n\n if (repeat && !Array.isArray(value)) value = [value];\n return (optional || param in dynamicMatches) && ( // Interpolate group into data URL if present\n interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map( // these values should be fully encoded instead of just\n // path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n segment => encodeURIComponent(segment)).join("/") : encodeURIComponent(value)) || "/");\n })) {\n interpolatedRoute = "" // did not satisfy all requirements\n ; // n.b. We ignore this error because we handle warning for this case in\n // development in the `` component directly.\n }\n\n return {\n params,\n result: interpolatedRoute\n };\n}\n\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach(key => {\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n}\n\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === "string" ? href : (0, _formatUrl).formatWithValidation(href); // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split("?");\n\n if ((urlParts[0] || "").match(/(\\/\\/|\\\\)/)) {\n console.error(`Invalid href passed to next/router: ${urlAsString}, repeated forward-slashes (//) or backslashes \\\\ are not valid in the href`);\n const normalizedUrl = (0, _utils).normalizeRepeatedSlashes(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : "") + normalizedUrl;\n } // Return because it cannot be routed by the Next.js router\n\n\n if (!isLocalURL(urlAsString)) {\n return resolveAs ? [urlAsString] : urlAsString;\n }\n\n try {\n base = new URL(urlAsString.startsWith("#") ? router.asPath : router.pathname, "http://n");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL("/", "http://n");\n }\n\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizeTrailingSlash).normalizePathTrailingSlash(finalUrl.pathname);\n let interpolatedAs = "";\n\n if ((0, _isDynamic).isDynamicRoute(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring).searchParamsToUrlQuery(finalUrl.searchParams);\n const {\n result,\n params\n } = interpolateAs(finalUrl.pathname, finalUrl.pathname, query);\n\n if (result) {\n interpolatedAs = (0, _formatUrl).formatWithValidation({\n pathname: result,\n hash: finalUrl.hash,\n query: omit(query, params)\n });\n }\n } // if the origin didn\'t change, it means we received a relative href\n\n\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [resolvedHref, interpolatedAs || resolvedHref] : resolvedHref;\n } catch (_1) {\n return resolveAs ? [urlAsString] : urlAsString;\n }\n}\n\nfunction stripOrigin(url) {\n const origin = (0, _utils).getLocationOrigin();\n return url.startsWith(origin) ? url.substring(origin.length) : url;\n}\n\nfunction prepareUrlAs(router, url, as) {\n // If url and as provided as an object representation,\n // we\'ll format them into the string version here.\n let [resolvedHref, resolvedAs] = resolveHref(router, url, true);\n const origin = (0, _utils).getLocationOrigin();\n const hrefHadOrigin = resolvedHref.startsWith(origin);\n const asHadOrigin = resolvedAs && resolvedAs.startsWith(origin);\n resolvedHref = stripOrigin(resolvedHref);\n resolvedAs = resolvedAs ? stripOrigin(resolvedAs) : resolvedAs;\n const preparedUrl = hrefHadOrigin ? resolvedHref : (0, _addBasePath).addBasePath(resolvedHref);\n const preparedAs = as ? stripOrigin(resolveHref(router, as)) : resolvedAs || resolvedHref;\n return {\n url: preparedUrl,\n as: asHadOrigin ? preparedAs : (0, _addBasePath).addBasePath(preparedAs)\n };\n}\n\nfunction resolveDynamicRoute(pathname, pages) {\n const cleanPathname = (0, _removeTrailingSlash).removeTrailingSlash((0, _denormalizePagePath).denormalizePagePath(pathname));\n\n if (cleanPathname === "/404" || cleanPathname === "/_error") {\n return pathname;\n } // handle resolving href for dynamic routes\n\n\n if (!pages.includes(cleanPathname)) {\n // eslint-disable-next-line array-callback-return\n pages.some(page => {\n if ((0, _isDynamic).isDynamicRoute(page) && (0, _routeRegex).getRouteRegex(page).re.test(cleanPathname)) {\n pathname = page;\n return true;\n }\n });\n }\n\n return (0, _removeTrailingSlash).removeTrailingSlash(pathname);\n}\n\nconst manualScrollRestoration = false && 0;\nconst SSG_DATA_NOT_FOUND = Symbol("SSG_DATA_NOT_FOUND");\n\nfunction fetchRetry(url, attempts, options) {\n return fetch(url, {\n // Cookies are required to be present for Next.js\' SSG "Preview Mode".\n // Cookies may also be required for `getServerSideProps`.\n //\n // > `fetch` won’t send cookies, unless you set the credentials init\n // > option.\n // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\n //\n // > For maximum browser compatibility when it comes to sending &\n // > receiving cookies, always supply the `credentials: \'same-origin\'`\n // > option instead of relying on the default.\n // https://github.com/github/fetch#caveats\n credentials: "same-origin",\n method: options.method || "GET",\n headers: Object.assign({}, options.headers, {\n "x-nextjs-data": "1"\n })\n }).then(response => {\n return !response.ok && attempts > 1 && response.status >= 500 ? fetchRetry(url, attempts - 1, options) : response;\n });\n}\n\nconst backgroundCache = {};\n\nfunction fetchNextData({\n dataHref,\n inflightCache,\n isPrefetch,\n hasMiddleware,\n isServerRender,\n parseJSON,\n persistCache,\n isBackground,\n unstable_skipClientCache\n}) {\n const {\n href: cacheKey\n } = new URL(dataHref, window.location.href);\n var ref5;\n\n const getData = params => {\n return fetchRetry(dataHref, isServerRender ? 3 : 1, {\n headers: isPrefetch ? {\n purpose: "prefetch"\n } : {},\n method: (ref5 = params == null ? void 0 : params.method) != null ? ref5 : "GET"\n }).then(response => {\n if (response.ok && (params == null ? void 0 : params.method) === "HEAD") {\n return {\n dataHref,\n response,\n text: "",\n json: {}\n };\n }\n\n return response.text().then(text => {\n if (!response.ok) {\n /**\n * When the data response is a redirect because of a middleware\n * we do not consider it an error. The headers must bring the\n * mapped location.\n * TODO: Change the status code in the handler.\n */\n if (hasMiddleware && [301, 302, 307, 308].includes(response.status)) {\n return {\n dataHref,\n response,\n text,\n json: {}\n };\n }\n\n if (response.status === 404) {\n var ref;\n\n if ((ref = tryToParseAsJSON(text)) == null ? void 0 : ref.notFound) {\n return {\n dataHref,\n json: {\n notFound: SSG_DATA_NOT_FOUND\n },\n response,\n text\n };\n }\n /**\n * If there is a 404 that is not for SSG we used to fail but if\n * there is a middleware we must respond with an empty object.\n * For now we will return the data when there is a middleware.\n * TODO: Update the server to success on these requests.\n */\n\n\n if (hasMiddleware) {\n return {\n dataHref,\n response,\n text,\n json: {}\n };\n }\n }\n\n const error = new Error(`Failed to load static props`);\n /**\n * We should only trigger a server-side transition if this was\n * caused on a client-side transition. Otherwise, we\'d get into\n * an infinite loop.\n */\n\n if (!isServerRender) {\n (0, _routeLoader).markAssetError(error);\n }\n\n throw error;\n }\n\n return {\n dataHref,\n json: parseJSON ? tryToParseAsJSON(text) : {},\n response,\n text\n };\n });\n }).then(data => {\n if (!persistCache || true || 0) {\n delete inflightCache[cacheKey];\n }\n\n return data;\n }).catch(err => {\n delete inflightCache[cacheKey];\n throw err;\n });\n }; // when skipping client cache we wait to update\n // inflight cache until successful data response\n // this allows racing click event with fetching newer data\n // without blocking navigation when stale data is available\n\n\n if (unstable_skipClientCache && persistCache) {\n return getData({}).then(data => {\n inflightCache[cacheKey] = Promise.resolve(data);\n return data;\n });\n }\n\n if (inflightCache[cacheKey] !== undefined) {\n return inflightCache[cacheKey];\n }\n\n return inflightCache[cacheKey] = getData(isBackground ? {\n method: "HEAD"\n } : {});\n}\n\nfunction tryToParseAsJSON(text) {\n try {\n return JSON.parse(text);\n } catch (error) {\n return {};\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).slice(2, 10);\n}\n\nfunction handleHardNavigation({\n url,\n router\n}) {\n // ensure we don\'t trigger a hard navigation to the same\n // URL as this can end up with an infinite refresh\n if (url === (0, _addBasePath).addBasePath((0, _addLocale).addLocale(router.asPath, router.locale))) {\n throw new Error(`Invariant: attempted to hard navigate to the same URL ${url} ${location.href}`);\n }\n\n window.location.href = url;\n}\n\nconst getCancelledHandler = ({\n route,\n router\n}) => {\n let cancelled = false;\n\n const cancel = router.clc = () => {\n cancelled = true;\n };\n\n const handleCancelled = () => {\n if (cancelled) {\n const error = new Error(`Abort fetching component for route: "${route}"`);\n error.cancelled = true;\n throw error;\n }\n\n if (cancel === router.clc) {\n router.clc = null;\n }\n };\n\n return handleCancelled;\n};\n\nfunction matchesMiddleware(options) {\n return Promise.resolve(options.router.pageLoader.getMiddlewareList()).then(items => {\n const {\n pathname: asPathname\n } = (0, _parsePath).parsePath(options.asPath);\n const cleanedAs = (0, _hasBasePath).hasBasePath(asPathname) ? (0, _removeBasePath).removeBasePath(asPathname) : asPathname;\n return !!(items == null ? void 0 : items.some(([regex, ssr]) => {\n return !ssr && new RegExp(regex).test((0, _addLocale).addLocale(cleanedAs, options.locale));\n }));\n });\n}\n\nfunction withMiddlewareEffects(options) {\n return matchesMiddleware(options).then(matches => {\n if (matches && options.fetchData) {\n return options.fetchData().then(data => getMiddlewareData(data.dataHref, data.response, options).then(effect => ({\n dataHref: data.dataHref,\n json: data.json,\n response: data.response,\n text: data.text,\n effect\n }))).catch(_err => {\n /**\n * TODO: Revisit this in the future.\n * For now we will not consider middleware data errors to be fatal.\n * maybe we should revisit in the future.\n */\n return null;\n });\n }\n\n return null;\n });\n}\n\nfunction getMiddlewareData(source, response, options) {\n const nextConfig = {\n basePath: options.router.basePath,\n i18n: {\n locales: options.router.locales\n },\n trailingSlash: Boolean(false)\n };\n const rewriteHeader = response.headers.get("x-nextjs-rewrite");\n let rewriteTarget = rewriteHeader || response.headers.get("x-nextjs-matched-path");\n const matchedPath = response.headers.get("x-matched-path");\n\n if (!rewriteTarget && !(matchedPath == null ? void 0 : matchedPath.includes("__next_data_catchall"))) {\n rewriteTarget = matchedPath;\n }\n\n if (rewriteTarget) {\n if (rewriteTarget.startsWith("/")) {\n const parsedRewriteTarget = (0, _parseRelativeUrl).parseRelativeUrl(rewriteTarget);\n const pathnameInfo = (0, _getNextPathnameInfo).getNextPathnameInfo(parsedRewriteTarget.pathname, {\n nextConfig,\n parseData: true\n });\n const fsPathname = (0, _removeTrailingSlash).removeTrailingSlash(pathnameInfo.pathname);\n return Promise.all([options.router.pageLoader.getPageList(), (0, _routeLoader).getClientBuildManifest()]).then(([pages, {\n __rewrites: rewrites\n }]) => {\n let as = (0, _addLocale).addLocale(pathnameInfo.pathname, pathnameInfo.locale);\n\n if ((0, _isDynamic).isDynamicRoute(as) || !rewriteHeader && pages.includes((0, _normalizeLocalePath).normalizeLocalePath((0, _removeBasePath).removeBasePath(as), options.router.locales).pathname)) {\n const parsedSource = (0, _getNextPathnameInfo).getNextPathnameInfo((0, _parseRelativeUrl).parseRelativeUrl(source).pathname, {\n parseData: true\n });\n as = (0, _addBasePath).addBasePath(parsedSource.pathname);\n parsedRewriteTarget.pathname = as;\n }\n\n if (false) {}\n\n const resolvedHref = !pages.includes(fsPathname) ? resolveDynamicRoute((0, _normalizeLocalePath).normalizeLocalePath((0, _removeBasePath).removeBasePath(parsedRewriteTarget.pathname), options.router.locales).pathname, pages) : fsPathname;\n\n if ((0, _isDynamic).isDynamicRoute(resolvedHref)) {\n const matches = (0, _routeMatcher).getRouteMatcher((0, _routeRegex).getRouteRegex(resolvedHref))(as);\n Object.assign(parsedRewriteTarget.query, matches || {});\n }\n\n return {\n type: "rewrite",\n parsedAs: parsedRewriteTarget,\n resolvedHref\n };\n });\n }\n\n const src = (0, _parsePath).parsePath(source);\n const pathname = (0, _formatNextPathnameInfo).formatNextPathnameInfo(_objectSpread(_objectSpread({}, (0, _getNextPathnameInfo).getNextPathnameInfo(src.pathname, {\n nextConfig,\n parseData: true\n })), {}, {\n defaultLocale: options.router.defaultLocale,\n buildId: ""\n }));\n return Promise.resolve({\n type: "redirect-external",\n destination: `${pathname}${src.query}${src.hash}`\n });\n }\n\n const redirectTarget = response.headers.get("x-nextjs-redirect");\n\n if (redirectTarget) {\n if (redirectTarget.startsWith("/")) {\n const src = (0, _parsePath).parsePath(redirectTarget);\n const pathname = (0, _formatNextPathnameInfo).formatNextPathnameInfo(_objectSpread(_objectSpread({}, (0, _getNextPathnameInfo).getNextPathnameInfo(src.pathname, {\n nextConfig,\n parseData: true\n })), {}, {\n defaultLocale: options.router.defaultLocale,\n buildId: ""\n }));\n return Promise.resolve({\n type: "redirect-internal",\n newAs: `${pathname}${src.query}${src.hash}`,\n newUrl: `${pathname}${src.query}${src.hash}`\n });\n }\n\n return Promise.resolve({\n type: "redirect-external",\n destination: redirectTarget\n });\n }\n\n return Promise.resolve({\n type: "next"\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci9yb3V0ZXIuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7Ozs7Ozs7O0FBQ2JBLDhDQUE2QztFQUN6Q0csS0FBSyxFQUFFO0FBRGtDLENBQTdDO0FBR0FELGtCQUFBLEdBQXFCRSxVQUFyQjtBQUNBRixxQkFBQSxHQUF3QkcsYUFBeEI7QUFDQUgsbUJBQUEsR0FBc0JJLFdBQXRCO0FBQ0FKLGlCQUFBLEdBQW9CSyxTQUFwQjtBQUNBTCxrQkFBQSxHQUFrQixLQUFLLENBQXZCOztBQUNBLElBQUlPLHVCQUF1QixHQUFHQyxtQkFBTyxDQUFDLGlIQUFELENBQXJDOztBQUNBLElBQUlDLG9CQUFvQixHQUFHRCxtQkFBTyxDQUFDLG9FQUFELENBQWxDOztBQUNBLElBQUlFLFlBQVksR0FBR0YsbUJBQU8sQ0FBQyx5RkFBRCxDQUExQjs7QUFDQSxJQUFJRyxPQUFPLEdBQUdILG1CQUFPLENBQUMsNkVBQUQsQ0FBckI7O0FBQ0EsSUFBSUksUUFBUSxHQUFHQyx1QkFBdUIsQ0FBQ0wsbUJBQU8sQ0FBQywyRUFBRCxDQUFSLENBQXRDOztBQUNBLElBQUlNLG9CQUFvQixHQUFHTixtQkFBTyxDQUFDLDhFQUFELENBQWxDOztBQUNBLElBQUlPLG9CQUFvQixHQUFHUCxtQkFBTyxDQUFDLG9FQUFELENBQWxDOztBQUNBLElBQUlRLEtBQUssR0FBR0Msc0JBQXNCLENBQUNULG1CQUFPLENBQUMsd0JBQUQsQ0FBUixDQUFsQzs7QUFDQSxJQUFJVSxNQUFNLEdBQUdWLG1CQUFPLENBQUMscUNBQUQsQ0FBcEI7O0FBQ0EsSUFBSVcsVUFBVSxHQUFHWCxtQkFBTyxDQUFDLDhDQUFELENBQXhCOztBQUNBLElBQUlZLGlCQUFpQixHQUFHWixtQkFBTyxDQUFDLDhEQUFELENBQS9COztBQUNBLElBQUlhLFlBQVksR0FBR2IsbUJBQU8sQ0FBQyxnREFBRCxDQUExQjs7QUFDQSxJQUFJYyxnQkFBZ0IsR0FBR0ws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QixDQUFKLEVBQW9DO01BQ2hDLE1BQU1tVCxHQUFHLEdBQUcsQ0FBQyxHQUFHdlosVUFBSixFQUFnQndILFNBQWhCLENBQTBCa1MsY0FBMUIsQ0FBWjtNQUNBLE1BQU1oWixRQUFRLEdBQUcsQ0FBQyxHQUFHSCx1QkFBSixFQUE2QmlaLHNCQUE3QixpQ0FDVixDQUFDLEdBQUdsWixvQkFBSixFQUEwQjRZLG1CQUExQixDQUE4Q0ssR0FBRyxDQUFDN1ksUUFBbEQsRUFBNEQ7UUFDM0Q4WCxVQUQyRDtRQUUzRFcsU0FBUyxFQUFFO01BRmdELENBQTVELENBRFU7UUFLYjVYLGFBQWEsRUFBRVksT0FBTyxDQUFDbUUsTUFBUixDQUFlL0UsYUFMakI7UUFNYmtZLE9BQU8sRUFBRTtNQU5JLEdBQWpCO01BUUEsT0FBT3ZULE9BQU8sQ0FBQ0MsT0FBUixDQUFnQjtRQUNuQm9HLElBQUksRUFBRSxtQkFEYTtRQUVuQkUsS0FBSyxFQUFHLEdBQUUvTCxRQUFTLEdBQUU2WSxHQUFHLENBQUM1WSxLQUFNLEdBQUU0WSxHQUFHLENBQUN4SCxJQUFLLEVBRnZCO1FBR25CdkYsTUFBTSxFQUFHLEdBQUU5TCxRQUFTLEdBQUU2WSxHQUFHLENBQUM1WSxLQUFNLEdBQUU0WSxHQUFHLENBQUN4SCxJQUFLO01BSHhCLENBQWhCLENBQVA7SUFLSDs7SUFDRCxPQUFPN0wsT0FBTyxDQUFDQyxPQUFSLENBQWdCO01BQ25Cb0csSUFBSSxFQUFFLG1CQURhO01BRW5CRyxXQUFXLEVBQUVnTjtJQUZNLENBQWhCLENBQVA7RUFJSDs7RUFDRCxPQUFPeFQsT0FBTyxDQUFDQyxPQUFSLENBQWdCO0lBQ25Cb0csSUFBSSxFQUFFO0VBRGEsQ0FBaEIsQ0FBUDtBQUdIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi8uLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3JvdXRlci5qcz8xMGQxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5pc0xvY2FsVVJMID0gaXNMb2NhbFVSTDtcbmV4cG9ydHMuaW50ZXJwb2xhdGVBcyA9IGludGVycG9sYXRlQXM7XG5leHBvcnRzLnJlc29sdmVIcmVmID0gcmVzb2x2ZUhyZWY7XG5leHBvcnRzLmNyZWF0ZUtleSA9IGNyZWF0ZUtleTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcbnZhciBfbm9ybWFsaXplVHJhaWxpbmdTbGFzaCA9IHJlcXVpcmUoXCIuLi8uLi8uLi9jbGllbnQvbm9ybWFsaXplLXRyYWlsaW5nLXNsYXNoXCIpO1xudmFyIF9yZW1vdmVUcmFpbGluZ1NsYXNoID0gcmVxdWlyZShcIi4vdXRpbHMvcmVtb3ZlLXRyYWlsaW5nLXNsYXNoXCIpO1xudmFyIF9yb3V0ZUxvYWRlciA9IHJlcXVpcmUoXCIuLi8uLi8uLi9jbGllbnQvcm91dGUtbG9hZGVyXCIpO1xudmFyIF9zY3JpcHQgPSByZXF1aXJlKFwiLi4vLi4vLi4vY2xpZW50L3NjcmlwdFwiKTtcbnZhciBfaXNFcnJvciA9IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKHJlcXVpcmUoXCIuLi8uLi8uLi9saWIvaXMtZXJyb3JcIikpO1xudmFyIF9kZW5vcm1hbGl6ZVBhZ2VQYXRoID0gcmVxdWlyZShcIi4uL3BhZ2UtcGF0aC9kZW5vcm1hbGl6ZS1wYWdlLXBhdGhcIik7XG52YXIgX25vcm1hbGl6ZUxvY2FsZVBhdGggPSByZXF1aXJlKFwiLi4vaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGhcIik7XG52YXIgX21pdHQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9taXR0XCIpKTtcbnZhciBfdXRpbHMgPSByZXF1aXJlKFwiLi4vdXRpbHNcIik7XG52YXIgX2lzRHluYW1pYyA9IHJlcXVpcmUoXCIuL3V0aWxzL2lzLWR5bmFtaWNcIik7XG52YXIgX3BhcnNlUmVsYXRpdmVVcmwgPSByZXF1aXJlKFwiLi91dGlscy9wYXJzZS1yZWxhdGl2ZS11cmxcIik7XG52YXIgX3F1ZXJ5c3RyaW5nID0gcmVxdWlyZShcIi4vdXRpbHMvcXVlcnlzdHJpbmdcIik7XG52YXIgX3Jlc29sdmVSZXdyaXRlcyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vdXRpbHMvcmVzb2x2ZS1yZXdyaXRlc1wiKSk7XG52YXIgX3JvdXRlTWF0Y2hlciA9IHJlcXVpcmUoXCIuL3V0aWxzL3JvdXRlLW1hdGNoZXJcIik7XG52YXIgX3JvdXRlUmVnZXggPSByZXF1aXJlKFwiLi91dGlscy9yb3V0ZS1yZWdleFwiKTtcbnZhciBfZm9ybWF0VXJsID0gcmVxdWlyZShcIi4vdXRpbHMvZm9ybWF0LXVybFwiKTtcbnZhciBfZGV0ZWN0RG9tYWluTG9jYWxlID0gcmVxdWlyZShcIi4uLy4uLy4uL2NsaWVudC9kZXRlY3QtZG9tYWluLWxvY2FsZVwiKTtcbnZhciBfcGFyc2VQYXRoID0gcmVxdWlyZShcIi4vdXRpbHMvcGFyc2UtcGF0aFwiKTtcbnZhciBfYWRkTG9jYWxlID0gcmVxdWlyZShcIi4uLy4uLy4uL2NsaWVudC9hZGQtbG9jYWxlXCIpO1xudmFyIF9yZW1vdmVMb2NhbGUgPSByZXF1aXJlKFwiLi4vLi4vLi4vY2xpZW50L3JlbW92ZS1sb2NhbGVcIik7XG52YXIgX3JlbW92ZUJhc2VQYXRoID0gcmVxdWlyZShcIi4uLy4uLy4uL2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoXCIpO1xudmFyIF9hZGRCYXNlUGF0aCA9IHJlcXVpcmUoXCIuLi8uLi8uLi9jbGllbnQvYWRkLWJhc2UtcGF0aFwiKTtcbnZhciBfaGFzQmFzZVBhdGggPSByZXF1aXJlKFwiLi4vLi4vLi4vY2xpZW50L2hhcy1iYXNlLXBhdGhcIik7XG52YXIgX2dldE5leHRQYXRobmFtZUluZm8gPSByZXF1aXJlKFwiLi91dGlscy9nZXQtbmV4dC1wYXRobmFtZS1pbmZvXCIpO1xudmFyIF9mb3JtYXROZXh0UGF0aG5hbWVJbmZvID0gcmVxdWlyZShcIi4vdXRpbHMvZm9ybWF0LW5leHQtcGF0aG5hbWUtaW5mb1wiKTtcbmNsYXNzIFJvdXRlciB7XG4gICAgLy8gU2VydmVyIERhdGEgQ2FjaGVcbiAgICBzZGMgPSB7fTtcbiAgICBpc0ZpcnN0UG9wU3RhdGVFdmVudCA9IHRydWU7XG4gICAgX2tleSA9IGNyZWF0ZUtleSgpO1xuICAgIHN0YXRpYyBldmVudHMgPSAoMCwgX21pdHQpLmRlZmF1bHQoKTtcbiAgICBjb25zdHJ1Y3RvcihwYXRobmFtZSwgcXVlcnksIGFzLCB7IGluaXRpYWxQcm9wcyAsIHBhZ2VMb2FkZXIgLCBBcHAgLCB3cmFwQXBwICwgQ29tcG9uZW50ICwgZXJyICwgc3Vic2NyaXB0aW9uICwgaXNGYWxsYmFjayAsIGxvY2FsZSAsIGxvY2FsZXMgLCBkZWZhdWx0TG9jYWxlICwgZG9tYWluTG9jYWxlcyAsIGlzUHJldmlldyAsIGlzUnNjICB9KXtcbiAgICAgICAgLy8gcmVwcmVzZW50cyB0aGUgY3VycmVudCBjb21wb25lbnQga2V5XG4gICAgICAgIGNvbnN0IHJvdXRlID0gKDAsIF9yZW1vdmVUcmFpbGluZ1NsYXNoKS5yZW1vdmVUcmFpbGluZ1NsYXNoKHBhdGhuYW1lKTtcbiAgICAgICAgLy8gc2V0IHVwIHRoZSBjb21wb25lbnQgY2FjaGUgKGJ5IHJvdXRlIGtleXMpXG4gICAgICAgIHRoaXMuY29tcG9uZW50cyA9IHt9O1xuICAgICAgICAvLyBXZSBzaG91bGQgbm90IGtlZXAgdGhlIGNhY2hlLCBpZiB0aGVyZSdzIGFuIGVycm9yXG4gICAgICAgIC8vIE90aGVyd2lzZSwgdGhpcyBjYXVzZSBpc3N1ZXMgd2hlbiB3aGVuIGdvaW5nIGJhY2sgYW5kXG4gICAgICAgIC8vIGNvbWUgYWdhaW4gdG8gdGhlIGVycm9yZWQgcGFnZS5cbiAgICAgICAgaWYgKHBhdGhuYW1lICE9PSBcIi9fZXJyb3JcIikge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRzW3JvdXRlXSA9IHtcbiAgICAgICAgICAgICAgICBDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaW5pdGlhbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBwcm9wczogaW5pdGlhbFByb3BzLFxuICAgICAgICAgICAgICAgIGVycixcbiAgICAgICAgICAgICAgICBfX05fU1NHOiBpbml0aWFsUHJvcHMgJiYgaW5pdGlhbFByb3BzLl9fTl9TU0csXG4gICAgICAgICAgICAgICAgX19OX1NTUDogaW5pdGlhbFByb3BzICYmIGluaXRpYWxQcm9wcy5fX05fU1NQLFxuICAgICAgICAgICAgICAgIF9fTl9SU0M6ICEhaXNSc2NcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb21wb25lbnRzW1wiL19hcHBcIl0gPSB7XG4gICAgICAgICAgICBDb21wb25lbnQ6IEFwcCxcbiAgICAgICAgICAgIHN0eWxlU2hlZXRzOiBbXVxuICAgICAgICB9O1xuICAgICAgICAvLyBCYWNrd2FyZHMgY29tcGF0IGZvciBSb3V0ZXIucm91dGVyLmV2ZW50c1xuICAgICAgICAvLyBUT0RPOiBTaG91bGQgYmUgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgbWFqb3IgdmVyc2lvbiBhcyBpdCB3YXMgbmV2ZXIgZG9jdW1lbnRlZFxuICAgICAgICB0aGlzLmV2ZW50cyA9IFJvdXRlci5ldmVudHM7XG4gICAgICAgIHRoaXMucGFnZUxvYWRlciA9IHBhZ2VMb2FkZXI7XG4gICAgICAgIC8vIGlmIGF1dG8gcHJlcmVuZGVyZWQgYW5kIGR5bmFtaWMgcm91dGUgd2FpdCB0byB1cGRhdGUgYXNQYXRoXG4gICAgICAgIC8vIHVudGlsIGFmdGVyIG1vdW50IHRvIHByZXZlbnQgaHlkcmF0aW9uIG1pc21hdGNoXG4gICAgICAgIGNvbnN0IGF1dG9FeHBvcnREeW5hbWljID0gKDAsIF9pc0R5bmFtaWMpLmlzRHluYW1pY1JvdXRlKHBhdGhuYW1lKSAmJiBzZWxmLl9fTkVYVF9EQVRBX18uYXV0b0V4cG9ydDtcbiAgICAgICAgdGhpcy5iYXNlUGF0aCA9IHByb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEggfHwgXCJcIjtcbiAgICAgICAgdGhpcy5zdWIgPSBzdWJzY3JpcHRpb247XG4gICAgICAgIHRoaXMuY2xjID0gbnVsbDtcbiAgICAgICAgdGhpcy5fd3JhcEFwcCA9IHdyYXBBcHA7XG4gICAgICAgIC8vIG1ha2Ugc3VyZSB0byBpZ25vcmUgZXh0cmEgcG9wU3RhdGUgaW4gc2FmYXJpIG9uIG5hdmlnYXRpbmdcbiAgICAgICAgLy8gYmFjayBmcm9tIGV4dGVybmFsIHNpdGVcbiAgICAgICAgdGhpcy5pc1NzciA9IHRydWU7XG4gICAgICAgIHRoaXMuaXNMb2NhbGVEb21haW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1JlYWR5ID0gISEoc2VsZi5fX05FWFRfREFUQV9fLmdzc3AgfHwgc2VsZi5fX05FWFRfREFUQV9fLmdpcCB8fCBzZWxmLl9fTkVYVF9EQVRBX18uYXBwR2lwICYmICFzZWxmLl9fTkVYVF9EQVRBX18uZ3NwIHx8ICFhdXRvRXhwb3J0RHluYW1pYyAmJiAhc2VsZi5sb2NhdGlvbi5zZWFyY2ggJiYgIXByb2Nlc3MuZW52Ll9fTkVYVF9IQVNfUkVXUklURVMpO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICAgICAgdGhpcy5sb2NhbGVzID0gbG9jYWxlcztcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdExvY2FsZSA9IGRlZmF1bHRMb2NhbGU7XG4gICAgICAgICAgICB0aGlzLmRvbWFpbkxvY2FsZXMgPSBkb21haW5Mb2NhbGVzO1xuICAgICAgICAgICAgdGhpcy5pc0xvY2FsZURvbWFpbiA9ICEhKDAsIF9kZXRlY3REb21haW5Mb2NhbGUpLmRldGVjdERvbWFpbkxvY2FsZShkb21haW5Mb2NhbGVzLCBzZWxmLmxvY2F0aW9uLmhvc3RuYW1lKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgcm91dGUsXG4gICAgICAgICAgICBwYXRobmFtZSxcbiAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgYXNQYXRoOiBhdXRvRXhwb3J0RHluYW1pYyA/IHBhdGhuYW1lIDogYXMsXG4gICAgICAgICAgICBpc1ByZXZpZXc6ICEhaXNQcmV2aWV3LFxuICAgICAgICAgICAgbG9jYWxlOiBwcm9jZXNzLmVudi5fX05FWFRfSTE4Tl9TVVBQT1JUID8gbG9jYWxlIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgaXNGYWxsYmFja1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9pbml0aWFsTWF0Y2hlc01pZGRsZXdhcmVQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSBcImFzXCIgZG9lc24ndCBzdGFydCB3aXRoIGRvdWJsZSBzbGFzaGVzIG9yIGVsc2UgaXQgY2FuXG4gICAgICAgICAgICAvLyB0aHJvdyBhbiBlcnJvciBhcyBpdCdzIGNvbnNpZGVyZWQgaW52YWxpZFxuICAgICAgICAgICAgaWYgKCFhcy5zdGFydHNXaXRoKFwiLy9cIikpIHtcbiAgICAgICAgICAgICAgICAvLyBpbiBvcmRlciBmb3IgYGUuc3RhdGVgIHRvIHdvcmsgb24gdGhlIGBvbnBvcHN0YXRlYCBldmVudFxuICAgICAgICAgICAgICAgIC8vIHdlIGhhdmUgdG8gcmVnaXN0ZXIgdGhlIGluaXRpYWwgcm91dGUgdXBvbiBpbml0aWFsaXphdGlvblxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgIGxvY2FsZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgYXNQYXRoID0gKDAsIF91dGlscykuZ2V0VVJMKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5faW5pdGlhbE1hdGNoZXNNaWRkbGV3YXJlUHJvbWlzZSA9IG1hdGNoZXNNaWRkbGV3YXJlKHtcbiAgICAgICAgICAgICAgICAgICAgcm91dGVyOiB0aGlzLFxuICAgICAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgIGFzUGF0aFxuICAgICAgICAgICAgICAgIH0pLnRoZW4oKG1hdGNoZXMpPT57XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuX3Nob3VsZFJlc29sdmVIcmVmID0gYXMgIT09IHBhdGhuYW1lO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVN0YXRlKFwicmVwbGFjZVN0YXRlXCIsIG1hdGNoZXMgPyBhc1BhdGggOiAoMCwgX2Zvcm1hdFVybCkuZm9ybWF0V2l0aFZhbGlkYXRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWU6ICgwLCBfYWRkQmFzZVBhdGgpLmFkZEJhc2VQYXRoKHBhdGhuYW1lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgIH0pLCBhc1BhdGgsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hlcztcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicG9wc3RhdGVcIiwgdGhpcy5vblBvcFN0YXRlKTtcbiAgICAgICAgICAgIC8vIGVuYWJsZSBjdXN0b20gc2Nyb2xsIHJlc3RvcmF0aW9uIGhhbmRsaW5nIHdoZW4gYXZhaWxhYmxlXG4gICAgICAgICAgICAvLyBvdGhlcndpc2UgZmFsbGJhY2sgdG8gYnJvd3NlcidzIGRlZmF1bHQgaGFuZGxpbmdcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfU0NST0xMX1JFU1RPUkFUSU9OKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1hbnVhbFNjcm9sbFJlc3RvcmF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5oaXN0b3J5LnNjcm9sbFJlc3RvcmF0aW9uID0gXCJtYW51YWxcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgb25Qb3BTdGF0ZSA9IChlKT0+e1xuICAgICAgICBjb25zdCB7IGlzRmlyc3RQb3BTdGF0ZUV2ZW50ICB9ID0gdGhpcztcbiAgICAgICAgdGhpcy5pc0ZpcnN0UG9wU3RhdGVFdmVudCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBzdGF0ZSA9IGUuc3RhdGU7XG4gICAgICAgIGlmICghc3RhdGUpIHtcbiAgICAgICAgICAgIC8vIFdlIGdldCBzdGF0ZSBhcyB1bmRlZmluZWQgZm9yIHR3byByZWFzb25zLlxuICAgICAgICAgICAgLy8gIDEuIFdpdGggb2xkZXIgc2FmYXJpICg8IDgpIGFuZCBvbGRlciBjaHJvbWUgKDwgMzQpXG4gICAgICAgICAgICAvLyAgMi4gV2hlbiB0aGUgVVJMIGNoYW5nZWQgd2l0aCAjXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gSW4gdGhlIGJvdGggY2FzZXMsIHdlIGRvbid0IG5lZWQgdG8gcHJvY2VlZCBhbmQgY2hhbmdlIHRoZSByb3V0ZS5cbiAgICAgICAgICAgIC8vIChhcyBpdCdzIGFscmVhZHkgY2hhbmdlZClcbiAgICAgICAgICAgIC8vIEJ1dCB3ZSBjYW4gc2ltcGx5IHJlcGxhY2UgdGhlIHN0YXRlIHdpdGggdGhlIG5ldyBjaGFuZ2VzLlxuICAgICAgICAgICAgLy8gQWN0dWFsbHksIGZvciAoMSkgd2UgZG9uJ3QgbmVlZCB0byBub3RoaW5nLiBCdXQgaXQncyBoYXJkIHRvIGRldGVjdCB0aGF0IGV2ZW50LlxuICAgICAgICAgICAgLy8gU28sIGRvaW5nIHRoZSBmb2xsb3dpbmcgZm9yICgxKSBkb2VzIG5vIGhhcm0uXG4gICAgICAgICAgICBjb25zdCB7IHBhdGhuYW1lICwgcXVlcnkgIH0gPSB0aGlzO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VTdGF0ZShcInJlcGxhY2VTdGF0ZVwiLCAoMCwgX2Zvcm1hdFVybCkuZm9ybWF0V2l0aFZhbGlkYXRpb24oe1xuICAgICAgICAgICAgICAgIHBhdGhuYW1lOiAoMCwgX2FkZEJhc2VQYXRoKS5hZGRCYXNlUGF0aChwYXRobmFtZSksXG4gICAgICAgICAgICAgICAgcXVlcnlcbiAgICAgICAgICAgIH0pLCAoMCwgX3V0aWxzKS5nZXRVUkwoKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzdGF0ZS5fX04pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBTYWZhcmkgZmlyZXMgcG9wc3RhdGVldmVudCB3aGVuIHJlb3BlbmluZyB0aGUgYnJvd3Nlci5cbiAgICAgICAgaWYgKGlzRmlyc3RQb3BTdGF0ZUV2ZW50ICYmIHRoaXMubG9jYWxlID09PSBzdGF0ZS5vcHRpb25zLmxvY2FsZSAmJiBzdGF0ZS5hcyA9PT0gdGhpcy5hc1BhdGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZm9yY2VkU2Nyb2xsO1xuICAgICAgICBjb25zdCB7IHVybCAsIGFzICwgb3B0aW9ucyAsIGtleSAgfSA9IHN0YXRlO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX1NDUk9MTF9SRVNUT1JBVElPTikge1xuICAgICAgICAgICAgaWYgKG1hbnVhbFNjcm9sbFJlc3RvcmF0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2tleSAhPT0ga2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNuYXBzaG90IGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uOlxuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcIl9fbmV4dF9zY3JvbGxfXCIgKyB0aGlzLl9rZXksIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBzZWxmLnBhZ2VYT2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IHNlbGYucGFnZVlPZmZzZXRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAge31cbiAgICAgICAgICAgICAgICAgICAgLy8gUmVzdG9yZSBvbGQgc2Nyb2xsIHBvc2l0aW9uOlxuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJfX25leHRfc2Nyb2xsX1wiICsga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlZFNjcm9sbCA9IEpTT04ucGFyc2Uodik7XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlZFNjcm9sbCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IDBcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fa2V5ID0ga2V5O1xuICAgICAgICBjb25zdCB7IHBhdGhuYW1lICB9ID0gKDAsIF9wYXJzZVJlbGF0aXZlVXJsKS5wYXJzZVJlbGF0aXZlVXJsKHVybCk7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBkb24ndCByZS1yZW5kZXIgb24gaW5pdGlhbCBsb2FkLFxuICAgICAgICAvLyBjYW4gYmUgY2F1c2VkIGJ5IG5hdmlnYXRpbmcgYmFjayBmcm9tIGFuIGV4dGVybmFsIHNpdGVcbiAgICAgICAgaWYgKHRoaXMuaXNTc3IgJiYgYXMgPT09ICgwLCBfYWRkQmFzZVBhdGgpLmFkZEJhc2VQYXRoKHRoaXMuYXNQYXRoKSAmJiBwYXRobmFtZSA9PT0gKDAsIF9hZGRCYXNlUGF0aCkuYWRkQmFzZVBhdGgodGhpcy5wYXRobmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB0aGUgZG93bnN0cmVhbSBhcHBsaWNhdGlvbiByZXR1cm5zIGZhbHN5LCByZXR1cm4uXG4gICAgICAgIC8vIFRoZXkgd2lsbCB0aGVuIGJlIHJlc3BvbnNpYmxlIGZvciBoYW5kbGluZyB0aGUgZXZlbnQuXG4gICAgICAgIGlmICh0aGlzLl9icHMgJiYgIXRoaXMuX2JwcyhzdGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoYW5nZShcInJlcGxhY2VTdGF0ZVwiLCB1cmwsIGFzLCBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zLCB7XG4gICAgICAgICAgICBzaGFsbG93OiBvcHRpb25zLnNoYWxsb3cgJiYgdGhpcy5fc2hhbGxvdyxcbiAgICAgICAgICAgIGxvY2FsZTogb3B0aW9ucy5sb2NhbGUgfHwgdGhpcy5kZWZhdWx0TG9jYWxlLFxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBpbnRlcm5hbCB2YWx1ZSBub3QgZXhwb3NlZCBvbiB0eXBlc1xuICAgICAgICAgICAgX2g6IDBcbiAgICAgICAgfSksIGZvcmNlZFNjcm9sbCk7XG4gICAgfTtcbiAgICByZWxvYWQoKSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICB9XG4gICAgLyoqXG4gICAqIEdvIGJhY2sgaW4gaGlzdG9yeVxuICAgKi8gYmFjaygpIHtcbiAgICAgICAgd2luZG93Lmhpc3RvcnkuYmFjaygpO1xuICAgIH1cbiAgICAvKipcbiAgICogUGVyZm9ybXMgYSBgcHVzaFN0YXRlYCB3aXRoIGFyZ3VtZW50c1xuICAgKiBAcGFyYW0gdXJsIG9mIHRoZSByb3V0ZVxuICAgKiBAcGFyYW0gYXMgbWFza3MgYHVybGAgZm9yIHRoZSBicm93c2VyXG4gICAqIEBwYXJhbSBvcHRpb25zIG9iamVjdCB5b3UgY2FuIGRlZmluZSBgc2hhbGxvd2AgYW5kIG90aGVyIG9wdGlvbnNcbiAgICovIHB1c2godXJsLCBhcywgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfU0NST0xMX1JFU1RPUkFUSU9OKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiByZW1vdmUgaW4gdGhlIGZ1dHVyZSB3aGVuIHdlIHVwZGF0ZSBoaXN0b3J5IGJlZm9yZSByb3V0ZSBjaGFuZ2VcbiAgICAgICAgICAgIC8vIGlzIGNvbXBsZXRlLCBhcyB0aGUgcG9wc3RhdGUgZXZlbnQgc2hvdWxkIGhhbmRsZSB0aGlzIGNhcHR1cmUuXG4gICAgICAgICAgICBpZiAobWFudWFsU2Nyb2xsUmVzdG9yYXRpb24pIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAvLyBTbmFwc2hvdCBzY3JvbGwgcG9zaXRpb24gcmlnaHQgYmVmb3JlIG5hdmlnYXRpbmcgdG8gYSBuZXcgcGFnZTpcbiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcIl9fbmV4dF9zY3JvbGxfXCIgKyB0aGlzLl9rZXksIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHg6IHNlbGYucGFnZVhPZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICAgICB5OiBzZWxmLnBhZ2VZT2Zmc2V0XG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoICB7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICh7IHVybCAsIGFzICB9ID0gcHJlcGFyZVVybEFzKHRoaXMsIHVybCwgYXMpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hhbmdlKFwicHVzaFN0YXRlXCIsIHVybCwgYXMsIG9wdGlvbnMpO1xuICAgIH1cbiAgICAvKipcbiAgICogUGVyZm9ybXMgYSBgcmVwbGFjZVN0YXRlYCB3aXRoIGFyZ3VtZW50c1xuICAgKiBAcGFyYW0gdXJsIG9mIHRoZSByb3V0ZVxuICAgKiBAcGFyYW0gYXMgbWFza3MgYHVybGAgZm9yIHRoZSBicm93c2VyXG4gICAqIEBwYXJhbSBvcHRpb25zIG9iamVjdCB5b3UgY2FuIGRlZmluZSBgc2hhbGxvd2AgYW5kIG90aGVyIG9wdGlvbnNcbiAgICovIHJlcGxhY2UodXJsLCBhcywgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgICh7IHVybCAsIGFzICB9ID0gcHJlcGFyZVVybEFzKHRoaXMsIHVybCwgYXMpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hhbmdlKFwicmVwbGFjZVN0YXRlXCIsIHVybCwgYXMsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBhc3luYyBjaGFuZ2UobWV0aG9kLCB1cmwsIGFzLCBvcHRpb25zLCBmb3JjZWRTY3JvbGwpIHtcbiAgICAgICAgaWYgKCFpc0xvY2FsVVJMKHVybCkpIHtcbiAgICAgICAgICAgIGhhbmRsZUhhcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICAgICAgcm91dGVyOiB0aGlzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBXQVJOSU5HOiBgX2hgIGlzIGFuIGludGVybmFsIG9wdGlvbiBmb3IgaGFuZGluZyBOZXh0LmpzIGNsaWVudC1zaWRlXG4gICAgICAgIC8vIGh5ZHJhdGlvbi4gWW91ciBhcHAgc2hvdWxkIF9uZXZlcl8gdXNlIHRoaXMgcHJvcGVydHkuIEl0IG1heSBjaGFuZ2UgYXRcbiAgICAgICAgLy8gYW55IHRpbWUgd2l0aG91dCBub3RpY2UuXG4gICAgICAgIGNvbnN0IGlzUXVlcnlVcGRhdGluZyA9IG9wdGlvbnMuX2g7XG4gICAgICAgIGNvbnN0IHNob3VsZFJlc29sdmVIcmVmID0gaXNRdWVyeVVwZGF0aW5nIHx8IG9wdGlvbnMuX3Nob3VsZFJlc29sdmVIcmVmIHx8ICgwLCBfcGFyc2VQYXRoKS5wYXJzZVBhdGgodXJsKS5wYXRobmFtZSA9PT0gKDAsIF9wYXJzZVBhdGgpLnBhcnNlUGF0aChhcykucGF0aG5hbWU7XG4gICAgICAgIGNvbnN0IG5leHRTdGF0ZSA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGVcbiAgICAgICAgfTtcbiAgICAgICAgLy8gZm9yIHN0YXRpYyBwYWdlcyB3aXRoIHF1ZXJ5IHBhcmFtcyBpbiB0aGUgVVJMIHdlIGRlbGF5XG4gICAgICAgIC8vIG1hcmtpbmcgdGhlIHJvdXRlciByZWFkeSB1bnRpbCBhZnRlciB0aGUgcXVlcnkgaXMgdXBkYXRlZFxuICAgICAgICAvLyBvciBhIG5hdmlnYXRpb24gaGFzIG9jY3VycmVkXG4gICAgICAgIHRoaXMuaXNSZWFkeSA9IHRydWU7XG4gICAgICAgIGNvbnN0IGlzU3NyID0gdGhpcy5pc1NzcjtcbiAgICAgICAgaWYgKCFpc1F1ZXJ5VXBkYXRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuaXNTc3IgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpZiBhIHJvdXRlIHRyYW5zaXRpb24gaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyBiZWZvcmVcbiAgICAgICAgLy8gdGhlIHF1ZXJ5IHVwZGF0aW5nIGlzIHRyaWdnZXJlZCBpZ25vcmUgcXVlcnkgdXBkYXRpbmdcbiAgICAgICAgaWYgKGlzUXVlcnlVcGRhdGluZyAmJiB0aGlzLmNsYykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByZXZMb2NhbGUgPSBuZXh0U3RhdGUubG9jYWxlO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICAgICAgbmV4dFN0YXRlLmxvY2FsZSA9IG9wdGlvbnMubG9jYWxlID09PSBmYWxzZSA/IHRoaXMuZGVmYXVsdExvY2FsZSA6IG9wdGlvbnMubG9jYWxlIHx8IG5leHRTdGF0ZS5sb2NhbGU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubG9jYWxlID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5sb2NhbGUgPSBuZXh0U3RhdGUubG9jYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcGFyc2VkQXMgPSAoMCwgX3BhcnNlUmVsYXRpdmVVcmwpLnBhcnNlUmVsYXRpdmVVcmwoKDAsIF9oYXNCYXNlUGF0aCkuaGFzQmFzZVBhdGgoYXMpID8gKDAsIF9yZW1vdmVCYXNlUGF0aCkucmVtb3ZlQmFzZVBhdGgoYXMpIDogYXMpO1xuICAgICAgICAgICAgY29uc3QgbG9jYWxlUGF0aFJlc3VsdCA9ICgwLCBfbm9ybWFsaXplTG9jYWxlUGF0aCkubm9ybWFsaXplTG9jYWxlUGF0aChwYXJzZWRBcy5wYXRobmFtZSwgdGhpcy5sb2NhbGVzKTtcbiAgICAgICAgICAgIGlmIChsb2NhbGVQYXRoUmVzdWx0LmRldGVjdGVkTG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgbmV4dFN0YXRlLmxvY2FsZSA9IGxvY2FsZVBhdGhSZXN1bHQuZGV0ZWN0ZWRMb2NhbGU7XG4gICAgICAgICAgICAgICAgcGFyc2VkQXMucGF0aG5hbWUgPSAoMCwgX2FkZEJhc2VQYXRoKS5hZGRCYXNlUGF0aChwYXJzZWRBcy5wYXRobmFtZSk7XG4gICAgICAgICAgICAgICAgYXMgPSAoMCwgX2Zvcm1hdFVybCkuZm9ybWF0V2l0aFZhbGlkYXRpb24ocGFyc2VkQXMpO1xuICAgICAgICAgICAgICAgIHVybCA9ICgwLCBfYWRkQmFzZVBhdGgpLmFkZEJhc2VQYXRoKCgwLCBfbm9ybWFsaXplTG9jYWxlUGF0aCkubm9ybWFsaXplTG9jYWxlUGF0aCgoMCwgX2hhc0Jhc2VQYXRoKS5oYXNCYXNlUGF0aCh1cmwpID8gKDAsIF9yZW1vdmVCYXNlUGF0aCkucmVtb3ZlQmFzZVBhdGgodXJsKSA6IHVybCwgdGhpcy5sb2NhbGVzKS5wYXRobmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgZGlkTmF2aWdhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIC8vIHdlIG5lZWQgdG8gd3JhcCB0aGlzIGluIHRoZSBlbnYgY2hlY2sgYWdhaW4gc2luY2UgcmVnZW5lcmF0b3IgcnVudGltZVxuICAgICAgICAgICAgLy8gbW92ZXMgdGhpcyBvbiBpdHMgb3duIGR1ZSB0byB0aGUgcmV0dXJuXG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICAgICAgICAgIHZhciByZWY7XG4gICAgICAgICAgICAgICAgLy8gaWYgdGhlIGxvY2FsZSBpc24ndCBjb25maWd1cmVkIGhhcmQgbmF2aWdhdGUgdG8gc2hvdyA0MDQgcGFnZVxuICAgICAgICAgICAgICAgIGlmICghKChyZWYgPSB0aGlzLmxvY2FsZXMpID09IG51bGwgPyB2b2lkIDAgOiByZWYuaW5jbHVkZXMobmV4dFN0YXRlLmxvY2FsZSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZEFzLnBhdGhuYW1lID0gKDAsIF9hZGRMb2NhbGUpLmFkZExvY2FsZShwYXJzZWRBcy5wYXRobmFtZSwgbmV4dFN0YXRlLmxvY2FsZSk7XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUhhcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogKDAsIF9mb3JtYXRVcmwpLmZvcm1hdFdpdGhWYWxpZGF0aW9uKHBhcnNlZEFzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlcjogdGhpc1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyB3YXMgcHJldmlvdXNseSBhIHJldHVybiBidXQgd2FzIHJlbW92ZWQgaW4gZmF2b3JcbiAgICAgICAgICAgICAgICAgICAgLy8gb2YgYmV0dGVyIGRlYWQgY29kZSBlbGltaW5hdGlvbiB3aXRoIHJlZ2VuZXJhdG9yIHJ1bnRpbWVcbiAgICAgICAgICAgICAgICAgICAgZGlkTmF2aWdhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGRldGVjdGVkRG9tYWluID0gKDAsIF9kZXRlY3REb21haW5Mb2NhbGUpLmRldGVjdERvbWFpbkxvY2FsZSh0aGlzLmRvbWFpbkxvY2FsZXMsIHVuZGVmaW5lZCwgbmV4dFN0YXRlLmxvY2FsZSk7XG4gICAgICAgICAgICAvLyB3ZSBuZWVkIHRvIHdyYXAgdGhpcyBpbiB0aGUgZW52IGNoZWNrIGFnYWluIHNpbmNlIHJlZ2VuZXJhdG9yIHJ1bnRpbWVcbiAgICAgICAgICAgIC8vIG1vdmVzIHRoaXMgb24gaXRzIG93biBkdWUgdG8gdGhlIHJldHVyblxuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9JMThOX1NVUFBPUlQpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB3ZSBhcmUgbmF2aWdhdGluZyB0byBhIGRvbWFpbiBsb2NhbGUgZW5zdXJlIHdlIHJlZGlyZWN0IHRvIHRoZVxuICAgICAgICAgICAgICAgIC8vIGNvcnJlY3QgZG9tYWluXG4gICAgICAgICAgICAgICAgaWYgKCFkaWROYXZpZ2F0ZSAmJiBkZXRlY3RlZERvbWFpbiAmJiB0aGlzLmlzTG9jYWxlRG9tYWluICYmIHNlbGYubG9jYXRpb24uaG9zdG5hbWUgIT09IGRldGVjdGVkRG9tYWluLmRvbWFpbikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhc05vQmFzZVBhdGggPSAoMCwgX3JlbW92ZUJhc2VQYXRoKS5yZW1vdmVCYXNlUGF0aChhcyk7XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUhhcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYGh0dHAke2RldGVjdGVkRG9tYWluLmh0dHAgPyBcIlwiIDogXCJzXCJ9Oi8vJHtkZXRlY3RlZERvbWFpbi5kb21haW59JHsoMCwgX2FkZEJhc2VQYXRoKS5hZGRCYXNlUGF0aChgJHtuZXh0U3RhdGUubG9jYWxlID09PSBkZXRlY3RlZERvbWFpbi5kZWZhdWx0TG9jYWxlID8gXCJcIiA6IGAvJHtuZXh0U3RhdGUubG9jYWxlfWB9JHthc05vQmFzZVBhdGggPT09IFwiL1wiID8gXCJcIiA6IGFzTm9CYXNlUGF0aH1gIHx8IFwiL1wiKX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyOiB0aGlzXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIHdhcyBwcmV2aW91c2x5IGEgcmV0dXJuIGJ1dCB3YXMgcmVtb3ZlZCBpbiBmYXZvclxuICAgICAgICAgICAgICAgICAgICAvLyBvZiBiZXR0ZXIgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIHdpdGggcmVnZW5lcmF0b3IgcnVudGltZVxuICAgICAgICAgICAgICAgICAgICBkaWROYXZpZ2F0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRpZE5hdmlnYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKCgpPT57fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gbWFya2luZyByb3V0ZSBjaGFuZ2VzIGFzIGEgbmF2aWdhdGlvbiBzdGFydCBlbnRyeVxuICAgICAgICBpZiAoX3V0aWxzLlNUKSB7XG4gICAgICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKFwicm91dGVDaGFuZ2VcIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBzaGFsbG93ID1mYWxzZSAsIHNjcm9sbCA9dHJ1ZSAgfSA9IG9wdGlvbnM7XG4gICAgICAgIGNvbnN0IHJvdXRlUHJvcHMgPSB7XG4gICAgICAgICAgICBzaGFsbG93XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLl9pbkZsaWdodFJvdXRlICYmIHRoaXMuY2xjKSB7XG4gICAgICAgICAgICBpZiAoIWlzU3NyKSB7XG4gICAgICAgICAgICAgICAgUm91dGVyLmV2ZW50cy5lbWl0KFwicm91dGVDaGFuZ2VFcnJvclwiLCBidWlsZENhbmNlbGxhdGlvbkVycm9yKCksIHRoaXMuX2luRmxpZ2h0Um91dGUsIHJvdXRlUHJvcHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jbGMoKTtcbiAgICAgICAgICAgIHRoaXMuY2xjID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBhcyA9ICgwLCBfYWRkQmFzZVBhdGgpLmFkZEJhc2VQYXRoKCgwLCBfYWRkTG9jYWxlKS5hZGRMb2NhbGUoKDAsIF9oYXNCYXNlUGF0aCkuaGFzQmFzZVBhdGgoYXMpID8gKDAsIF9yZW1vdmVCYXNlUGF0aCkucmVtb3ZlQmFzZVBhdGgoYXMpIDogYXMsIG9wdGlvbnMubG9jYWxlLCB0aGlzLmRlZmF1bHRMb2NhbGUpKTtcbiAgICAgICAgY29uc3QgY2xlYW5lZEFzID0gKDAsIF9yZW1vdmVMb2NhbGUpLnJlbW92ZUxvY2FsZSgoMCwgX2hhc0Jhc2VQYXRoKS5oYXNCYXNlUGF0aChhcykgPyAoMCwgX3JlbW92ZUJhc2VQYXRoKS5yZW1vdmVCYXNlUGF0aChhcykgOiBhcywgbmV4dFN0YXRlLmxvY2FsZSk7XG4gICAgICAgIHRoaXMuX2luRmxpZ2h0Um91dGUgPSBhcztcbiAgICAgICAgbGV0IGxvY2FsZUNoYW5nZSA9IHByZXZMb2NhbGUgIT09IG5leHRTdGF0ZS5sb2NhbGU7XG4gICAgICAgIC8vIElmIHRoZSB1cmwgY2hhbmdlIGlzIG9ubHkgcmVsYXRlZCB0byBhIGhhc2ggY2hhbmdlXG4gICAgICAgIC8vIFdlIHNob3VsZCBub3QgcHJvY2VlZC4gV2Ugc2hvdWxkIG9ubHkgY2hhbmdlIHRoZSBzdGF0ZS5cbiAgICAgICAgaWYgKCFpc1F1ZXJ5VXBkYXRpbmcgJiYgdGhpcy5vbmx5QUhhc2hDaGFuZ2UoY2xlYW5lZEFzKSAmJiAhbG9jYWxlQ2hhbmdlKSB7XG4gICAgICAgICAgICBuZXh0U3RhdGUuYXNQYXRoID0gY2xlYW5lZEFzO1xuICAgICAgICAgICAgUm91dGVyLmV2ZW50cy5lbWl0KFwiaGFzaENoYW5nZVN0YXJ0XCIsIGFzLCByb3V0ZVByb3BzKTtcbiAgICAgICAgICAgIC8vIFRPRE86IGRvIHdlIG5lZWQgdGhlIHJlc29sdmVkIGhyZWYgd2hlbiBvbmx5IGEgaGFzaCBjaGFuZ2U/XG4gICAgICAgICAgICB0aGlzLmNoYW5nZVN0YXRlKG1ldGhvZCwgdXJsLCBhcywge1xuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgc2Nyb2xsOiBmYWxzZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoc2Nyb2xsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0hhc2goY2xlYW5lZEFzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXQobmV4dFN0YXRlLCB0aGlzLmNvbXBvbmVudHNbbmV4dFN0YXRlLnJvdXRlXSwgbnVsbCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBpZiAoKDAsIF9pc0Vycm9yKS5kZWZhdWx0KGVycikgJiYgZXJyLmNhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICBSb3V0ZXIuZXZlbnRzLmVtaXQoXCJyb3V0ZUNoYW5nZUVycm9yXCIsIGVyciwgY2xlYW5lZEFzLCByb3V0ZVByb3BzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgUm91dGVyLmV2ZW50cy5lbWl0KFwiaGFzaENoYW5nZUNvbXBsZXRlXCIsIGFzLCByb3V0ZVByb3BzKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGxldCBwYXJzZWQgPSAoMCwgX3BhcnNlUmVsYXRpdmVVcmwpLnBhcnNlUmVsYXRpdmVVcmwodXJsKTtcbiAgICAgICAgbGV0IHsgcGF0aG5hbWUgLCBxdWVyeSAgfSA9IHBhcnNlZDtcbiAgICAgICAgLy8gVGhlIGJ1aWxkIG1hbmlmZXN0IG5lZWRzIHRvIGJlIGxvYWRlZCBiZWZvcmUgYXV0by1zdGF0aWMgZHluYW1pYyBwYWdlc1xuICAgICAgICAvLyBnZXQgdGhlaXIgcXVlcnkgcGFyYW1ldGVycyB0byBhbGxvdyBlbnN1cmluZyB0aGV5IGNhbiBiZSBwYXJzZWQgcHJvcGVybHlcbiAgICAgICAgLy8gd2hlbiByZXdyaXR0ZW4gdG9cbiAgICAgICAgbGV0IHBhZ2VzLCByZXdyaXRlcztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIFtwYWdlcywgeyBfX3Jld3JpdGVzOiByZXdyaXRlcyAgfV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlTG9hZGVyLmdldFBhZ2VMaXN0KCksXG4gICAgICAgICAgICAgICAgKDAsIF9yb3V0ZUxvYWRlcikuZ2V0Q2xpZW50QnVpbGRNYW5pZmVzdCgpLFxuICAgICAgICAgICAgICAgIHRoaXMucGFnZUxvYWRlci5nZXRNaWRkbGV3YXJlTGlzdCgpLCBcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIC8vIElmIHdlIGZhaWwgdG8gcmVzb2x2ZSB0aGUgcGFnZSBsaXN0IG9yIGNsaWVudC1idWlsZCBtYW5pZmVzdCwgd2UgbXVzdFxuICAgICAgICAgICAgLy8gZG8gYSBzZXJ2ZXItc2lkZSB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgaGFuZGxlSGFyZE5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgIHVybDogYXMsXG4gICAgICAgICAgICAgICAgcm91dGVyOiB0aGlzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiBhc2tlZCB0byBjaGFuZ2UgdGhlIGN1cnJlbnQgVVJMIHdlIHNob3VsZCByZWxvYWQgdGhlIGN1cnJlbnQgcGFnZVxuICAgICAgICAvLyAobm90IGxvY2F0aW9uLnJlbG9hZCgpIGJ1dCByZWxvYWQgZ2V0SW5pdGlhbFByb3BzIGFuZCBvdGhlciBOZXh0LmpzIHN0dWZmcylcbiAgICAgICAgLy8gV2UgYWxzbyBuZWVkIHRvIHNldCB0aGUgbWV0aG9kID0gcmVwbGFjZVN0YXRlIGFsd2F5c1xuICAgICAgICAvLyBhcyB0aGlzIHNob3VsZCBub3QgZ28gaW50byB0aGUgaGlzdG9yeSAoVGhhdCdzIGhvdyBicm93c2VycyB3b3JrKVxuICAgICAgICAvLyBXZSBzaG91bGQgY29tcGFyZSB0aGUgbmV3IGFzUGF0aCB0byB0aGUgY3VycmVudCBhc1BhdGgsIG5vdCB0aGUgdXJsXG4gICAgICAgIGlmICghdGhpcy51cmxJc05ldyhjbGVhbmVkQXMpICYmICFsb2NhbGVDaGFuZ2UpIHtcbiAgICAgICAgICAgIG1ldGhvZCA9IFwicmVwbGFjZVN0YXRlXCI7XG4gICAgICAgIH1cbiAgICAgICAgLy8gd2UgbmVlZCB0byByZXNvbHZlIHRoZSBhcyB2YWx1ZSB1c2luZyByZXdyaXRlcyBmb3IgZHluYW1pYyBTU0dcbiAgICAgICAgLy8gcGFnZXMgdG8gYWxsb3cgYnVpbGRpbmcgdGhlIGRhdGEgVVJMIGNvcnJlY3RseVxuICAgICAgICBsZXQgcmVzb2x2ZWRBcyA9IGFzO1xuICAgICAgICAvLyB1cmwgYW5kIGFzIHNob3VsZCBhbHdheXMgYmUgcHJlZml4ZWQgd2l0aCBiYXNlUGF0aCBieSB0aGlzXG4gICAgICAgIC8vIHBvaW50IGJ5IGVpdGhlciBuZXh0L2xpbmsgb3Igcm91dGVyLnB1c2gvcmVwbGFjZSBzbyBzdHJpcCB0aGVcbiAgICAgICAgLy8gYmFzZVBhdGggZnJvbSB0aGUgcGF0aG5hbWUgdG8gbWF0Y2ggdGhlIHBhZ2VzIGRpciAxLXRvLTFcbiAgICAgICAgcGF0aG5hbWUgPSBwYXRobmFtZSA/ICgwLCBfcmVtb3ZlVHJhaWxpbmdTbGFzaCkucmVtb3ZlVHJhaWxpbmdTbGFzaCgoMCwgX3JlbW92ZUJhc2VQYXRoKS5yZW1vdmVCYXNlUGF0aChwYXRobmFtZSkpIDogcGF0aG5hbWU7XG4gICAgICAgIC8vIHdlIGRvbid0IGF0dGVtcHQgcmVzb2x2ZSBhc1BhdGggd2hlbiB3ZSBuZWVkIHRvIGV4ZWN1dGVcbiAgICAgICAgLy8gbWlkZGxld2FyZSBhcyB0aGUgcmVzb2x2aW5nIHdpbGwgb2NjdXIgc2VydmVyLXNpZGVcbiAgICAgICAgY29uc3QgaXNNaWRkbGV3YXJlTWF0Y2ggPSAhb3B0aW9ucy5zaGFsbG93ICYmIGF3YWl0IG1hdGNoZXNNaWRkbGV3YXJlKHtcbiAgICAgICAgICAgIGFzUGF0aDogYXMsXG4gICAgICAgICAgICBsb2NhbGU6IG5leHRTdGF0ZS5sb2NhbGUsXG4gICAgICAgICAgICByb3V0ZXI6IHRoaXNcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChzaG91bGRSZXNvbHZlSHJlZiAmJiBwYXRobmFtZSAhPT0gXCIvX2Vycm9yXCIpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuX3Nob3VsZFJlc29sdmVIcmVmID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSEFTX1JFV1JJVEVTICYmIGFzLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmV3cml0ZXNSZXN1bHQgPSAoMCwgX3Jlc29sdmVSZXdyaXRlcykuZGVmYXVsdCgoMCwgX2FkZEJhc2VQYXRoKS5hZGRCYXNlUGF0aCgoMCwgX2FkZExvY2FsZSkuYWRkTG9jYWxlKGNsZWFuZWRBcywgbmV4dFN0YXRlLmxvY2FsZSksIHRydWUpLCBwYWdlcywgcmV3cml0ZXMsIHF1ZXJ5LCAocCk9PnJlc29sdmVEeW5hbWljUm91dGUocCwgcGFnZXMpLCB0aGlzLmxvY2FsZXMpO1xuICAgICAgICAgICAgICAgIGlmIChyZXdyaXRlc1Jlc3VsdC5leHRlcm5hbERlc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGFyZE5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBhcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlcjogdGhpc1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghaXNNaWRkbGV3YXJlTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRBcyA9IHJld3JpdGVzUmVzdWx0LmFzUGF0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJld3JpdGVzUmVzdWx0Lm1hdGNoZWRQYWdlICYmIHJld3JpdGVzUmVzdWx0LnJlc29sdmVkSHJlZikge1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiB0aGlzIGRpcmVjdGx5IG1hdGNoZXMgYSBwYWdlIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBocmVmIHRvXG4gICAgICAgICAgICAgICAgICAgIC8vIGFsbG93IHRoZSBjb3JyZWN0IHBhZ2UgY2h1bmsgdG8gYmUgbG9hZGVkXG4gICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lID0gcmV3cml0ZXNSZXN1bHQucmVzb2x2ZWRIcmVmO1xuICAgICAgICAgICAgICAgICAgICBwYXJzZWQucGF0aG5hbWUgPSAoMCwgX2FkZEJhc2VQYXRoKS5hZGRCYXNlUGF0aChwYXRobmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNNaWRkbGV3YXJlTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybCA9ICgwLCBfZm9ybWF0VXJsKS5mb3JtYXRXaXRoVmFsaWRhdGlvbihwYXJzZWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYXJzZWQucGF0aG5hbWUgPSByZXNvbHZlRHluYW1pY1JvdXRlKHBhdGhuYW1lLCBwYWdlcyk7XG4gICAgICAgICAgICAgICAgaWYgKHBhcnNlZC5wYXRobmFtZSAhPT0gcGF0aG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWUgPSBwYXJzZWQucGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZC5wYXRobmFtZSA9ICgwLCBfYWRkQmFzZVBhdGgpLmFkZEJhc2VQYXRoKHBhdGhuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc01pZGRsZXdhcmVNYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gKDAsIF9mb3JtYXRVcmwpLmZvcm1hdFdpdGhWYWxpZGF0aW9uKHBhcnNlZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0xvY2FsVVJMKGFzKSkge1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBocmVmOiBcIiR7dXJsfVwiIGFuZCBhczogXCIke2FzfVwiLCByZWNlaXZlZCByZWxhdGl2ZSBocmVmIGFuZCBleHRlcm5hbCBhc2AgKyBgXFxuU2VlIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW52YWxpZC1yZWxhdGl2ZS11cmwtZXh0ZXJuYWwtYXNgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGhhbmRsZUhhcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICB1cmw6IGFzLFxuICAgICAgICAgICAgICAgIHJvdXRlcjogdGhpc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmVzb2x2ZWRBcyA9ICgwLCBfcmVtb3ZlTG9jYWxlKS5yZW1vdmVMb2NhbGUoKDAsIF9yZW1vdmVCYXNlUGF0aCkucmVtb3ZlQmFzZVBhdGgocmVzb2x2ZWRBcyksIG5leHRTdGF0ZS5sb2NhbGUpO1xuICAgICAgICBsZXQgcm91dGUgPSAoMCwgX3JlbW92ZVRyYWlsaW5nU2xhc2gpLnJlbW92ZVRyYWlsaW5nU2xhc2gocGF0aG5hbWUpO1xuICAgICAgICBsZXQgcm91dGVNYXRjaCA9IGZhbHNlO1xuICAgICAgICBpZiAoKDAsIF9pc0R5bmFtaWMpLmlzRHluYW1pY1JvdXRlKHJvdXRlKSkge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkQXMgPSAoMCwgX3BhcnNlUmVsYXRpdmVVcmwpLnBhcnNlUmVsYXRpdmVVcmwocmVzb2x2ZWRBcyk7XG4gICAgICAgICAgICBjb25zdCBhc1BhdGhuYW1lID0gcGFyc2VkQXMucGF0aG5hbWU7XG4gICAgICAgICAgICBjb25zdCByb3V0ZVJlZ2V4ID0gKDAsIF9yb3V0ZVJlZ2V4KS5nZXRSb3V0ZVJlZ2V4KHJvdXRlKTtcbiAgICAgICAgICAgIHJvdXRlTWF0Y2ggPSAoMCwgX3JvdXRlTWF0Y2hlcikuZ2V0Um91dGVNYXRjaGVyKHJvdXRlUmVnZXgpKGFzUGF0aG5hbWUpO1xuICAgICAgICAgICAgY29uc3Qgc2hvdWxkSW50ZXJwb2xhdGUgPSByb3V0ZSA9PT0gYXNQYXRobmFtZTtcbiAgICAgICAgICAgIGNvbnN0IGludGVycG9sYXRlZEFzID0gc2hvdWxkSW50ZXJwb2xhdGUgPyBpbnRlcnBvbGF0ZUFzKHJvdXRlLCBhc1BhdGhuYW1lLCBxdWVyeSkgOiB7fTtcbiAgICAgICAgICAgIGlmICghcm91dGVNYXRjaCB8fCBzaG91bGRJbnRlcnBvbGF0ZSAmJiAhaW50ZXJwb2xhdGVkQXMucmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWlzc2luZ1BhcmFtcyA9IE9iamVjdC5rZXlzKHJvdXRlUmVnZXguZ3JvdXBzKS5maWx0ZXIoKHBhcmFtKT0+IXF1ZXJ5W3BhcmFtXSk7XG4gICAgICAgICAgICAgICAgaWYgKG1pc3NpbmdQYXJhbXMubGVuZ3RoID4gMCAmJiAhaXNNaWRkbGV3YXJlTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGAke3Nob3VsZEludGVycG9sYXRlID8gYEludGVycG9sYXRpbmcgaHJlZmAgOiBgTWlzbWF0Y2hpbmcgXFxgYXNcXGAgYW5kIFxcYGhyZWZcXGBgfSBmYWlsZWQgdG8gbWFudWFsbHkgcHJvdmlkZSBgICsgYHRoZSBwYXJhbXM6ICR7bWlzc2luZ1BhcmFtcy5qb2luKFwiLCBcIil9IGluIHRoZSBcXGBocmVmXFxgJ3MgXFxgcXVlcnlcXGBgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKHNob3VsZEludGVycG9sYXRlID8gYFRoZSBwcm92aWRlZCBcXGBocmVmXFxgICgke3VybH0pIHZhbHVlIGlzIG1pc3NpbmcgcXVlcnkgdmFsdWVzICgke21pc3NpbmdQYXJhbXMuam9pbihcIiwgXCIpfSkgdG8gYmUgaW50ZXJwb2xhdGVkIHByb3Blcmx5LiBgIDogYFRoZSBwcm92aWRlZCBcXGBhc1xcYCB2YWx1ZSAoJHthc1BhdGhuYW1lfSkgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIFxcYGhyZWZcXGAgdmFsdWUgKCR7cm91dGV9KS4gYCkgKyBgUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy8ke3Nob3VsZEludGVycG9sYXRlID8gXCJocmVmLWludGVycG9sYXRpb24tZmFpbGVkXCIgOiBcImluY29tcGF0aWJsZS1ocmVmLWFzXCJ9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChzaG91bGRJbnRlcnBvbGF0ZSkge1xuICAgICAgICAgICAgICAgIGFzID0gKDAsIF9mb3JtYXRVcmwpLmZvcm1hdFdpdGhWYWxpZGF0aW9uKE9iamVjdC5hc3NpZ24oe30sIHBhcnNlZEFzLCB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lOiBpbnRlcnBvbGF0ZWRBcy5yZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBvbWl0KHF1ZXJ5LCBpbnRlcnBvbGF0ZWRBcy5wYXJhbXMpXG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBNZXJnZSBwYXJhbXMgaW50byBgcXVlcnlgLCBvdmVyd3JpdGluZyBhbnkgc3BlY2lmaWVkIGluIHNlYXJjaFxuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24ocXVlcnksIHJvdXRlTWF0Y2gpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghaXNRdWVyeVVwZGF0aW5nKSB7XG4gICAgICAgICAgICBSb3V0ZXIuZXZlbnRzLmVtaXQoXCJyb3V0ZUNoYW5nZVN0YXJ0XCIsIGFzLCByb3V0ZVByb3BzKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIHJlZjEsIHJlZjI7XG4gICAgICAgICAgICBsZXQgcm91dGVJbmZvID0gYXdhaXQgdGhpcy5nZXRSb3V0ZUluZm8oe1xuICAgICAgICAgICAgICAgIHJvdXRlLFxuICAgICAgICAgICAgICAgIHBhdGhuYW1lLFxuICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgIGFzLFxuICAgICAgICAgICAgICAgIHJlc29sdmVkQXMsXG4gICAgICAgICAgICAgICAgcm91dGVQcm9wcyxcbiAgICAgICAgICAgICAgICBsb2NhbGU6IG5leHRTdGF0ZS5sb2NhbGUsXG4gICAgICAgICAgICAgICAgaXNQcmV2aWV3OiBuZXh0U3RhdGUuaXNQcmV2aWV3LFxuICAgICAgICAgICAgICAgIGhhc01pZGRsZXdhcmU6IGlzTWlkZGxld2FyZU1hdGNoXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChcInJvdXRlXCIgaW4gcm91dGVJbmZvICYmIGlzTWlkZGxld2FyZU1hdGNoKSB7XG4gICAgICAgICAgICAgICAgcGF0aG5hbWUgPSByb3V0ZUluZm8ucm91dGUgfHwgcm91dGU7XG4gICAgICAgICAgICAgICAgcm91dGUgPSBwYXRobmFtZTtcbiAgICAgICAgICAgICAgICBxdWVyeSA9IE9iamVjdC5hc3NpZ24oe30sIHJvdXRlSW5mby5xdWVyeSB8fCB7fSwgcXVlcnkpO1xuICAgICAgICAgICAgICAgIGlmIChyb3V0ZU1hdGNoICYmIHBhdGhuYW1lICE9PSBwYXJzZWQucGF0aG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMocm91dGVNYXRjaCkuZm9yRWFjaCgoa2V5KT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJvdXRlTWF0Y2ggJiYgcXVlcnlba2V5XSA9PT0gcm91dGVNYXRjaFtrZXldKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHF1ZXJ5W2tleV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKDAsIF9pc0R5bmFtaWMpLmlzRHluYW1pY1JvdXRlKHBhdGhuYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmVmaXhlZEFzID0gcm91dGVJbmZvLnJlc29sdmVkQXMgfHwgKDAsIF9hZGRCYXNlUGF0aCkuYWRkQmFzZVBhdGgoKDAsIF9hZGRMb2NhbGUpLmFkZExvY2FsZShhcywgbmV4dFN0YXRlLmxvY2FsZSksIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgcmV3cml0ZUFzID0gcHJlZml4ZWRBcztcbiAgICAgICAgICAgICAgICAgICAgaWYgKCgwLCBfaGFzQmFzZVBhdGgpLmhhc0Jhc2VQYXRoKHJld3JpdGVBcykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJld3JpdGVBcyA9ICgwLCBfcmVtb3ZlQmFzZVBhdGgpLnJlbW92ZUJhc2VQYXRoKHJld3JpdGVBcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9JMThOX1NVUFBPUlQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsZVJlc3VsdCA9ICgwLCBfbm9ybWFsaXplTG9jYWxlUGF0aCkubm9ybWFsaXplTG9jYWxlUGF0aChyZXdyaXRlQXMsIHRoaXMubG9jYWxlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXh0U3RhdGUubG9jYWxlID0gbG9jYWxlUmVzdWx0LmRldGVjdGVkTG9jYWxlIHx8IG5leHRTdGF0ZS5sb2NhbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXdyaXRlQXMgPSBsb2NhbGVSZXN1bHQucGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm91dGVSZWdleCA9ICgwLCBfcm91dGVSZWdleCkuZ2V0Um91dGVSZWdleChwYXRobmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1clJvdXRlTWF0Y2ggPSAoMCwgX3JvdXRlTWF0Y2hlcikuZ2V0Um91dGVNYXRjaGVyKHJvdXRlUmVnZXgpKHJld3JpdGVBcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjdXJSb3V0ZU1hdGNoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHF1ZXJ5LCBjdXJSb3V0ZU1hdGNoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHRoZSByb3V0ZUluZm8gYnJpbmdzIGEgcmVkaXJlY3Qgd2Ugc2ltcGx5IGFwcGx5IGl0LlxuICAgICAgICAgICAgaWYgKFwidHlwZVwiIGluIHJvdXRlSW5mbykge1xuICAgICAgICAgICAgICAgIGlmIChyb3V0ZUluZm8udHlwZSA9PT0gXCJyZWRpcmVjdC1pbnRlcm5hbFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNoYW5nZShtZXRob2QsIHJvdXRlSW5mby5uZXdVcmwsIHJvdXRlSW5mby5uZXdBcywgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGFyZE5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiByb3V0ZUluZm8uZGVzdGluYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXI6IHRoaXNcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgoKT0+e30pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCB7IGVycm9yICwgcHJvcHMgLCBfX05fU1NHICwgX19OX1NTUCAgfSA9IHJvdXRlSW5mbztcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHJvdXRlSW5mby5Db21wb25lbnQ7XG4gICAgICAgICAgICBpZiAoY29tcG9uZW50ICYmIGNvbXBvbmVudC51bnN0YWJsZV9zY3JpcHRMb2FkZXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JpcHRzID0gW10uY29uY2F0KGNvbXBvbmVudC51bnN0YWJsZV9zY3JpcHRMb2FkZXIoKSk7XG4gICAgICAgICAgICAgICAgc2NyaXB0cy5mb3JFYWNoKChzY3JpcHQpPT57XG4gICAgICAgICAgICAgICAgICAgICgwLCBfc2NyaXB0KS5oYW5kbGVDbGllbnRTY3JpcHRMb2FkKHNjcmlwdC5wcm9wcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBoYW5kbGUgcmVkaXJlY3Qgb24gY2xpZW50LXRyYW5zaXRpb25cbiAgICAgICAgICAgIGlmICgoX19OX1NTRyB8fCBfX05fU1NQKSAmJiBwcm9wcykge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5wYWdlUHJvcHMgJiYgcHJvcHMucGFnZVByb3BzLl9fTl9SRURJUkVDVCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBVc2UgdGhlIGRlc3RpbmF0aW9uIGZyb20gcmVkaXJlY3Qgd2l0aG91dCBhZGRpbmcgbG9jYWxlXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMubG9jYWxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gcHJvcHMucGFnZVByb3BzLl9fTl9SRURJUkVDVDtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgZGVzdGluYXRpb24gaXMgaW50ZXJuYWwgKHJlc29sdmVzIHRvIGEgcGFnZSkgYW5kIGF0dGVtcHRcbiAgICAgICAgICAgICAgICAgICAgLy8gY2xpZW50LW5hdmlnYXRpb24gaWYgaXQgaXMgZmFsbGluZyBiYWNrIHRvIGhhcmQgbmF2aWdhdGlvbiBpZlxuICAgICAgICAgICAgICAgICAgICAvLyBpdCdzIG5vdFxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVzdGluYXRpb24uc3RhcnRzV2l0aChcIi9cIikgJiYgcHJvcHMucGFnZVByb3BzLl9fTl9SRURJUkVDVF9CQVNFX1BBVEggIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJzZWRIcmVmID0gKDAsIF9wYXJzZVJlbGF0aXZlVXJsKS5wYXJzZVJlbGF0aXZlVXJsKGRlc3RpbmF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlZEhyZWYucGF0aG5hbWUgPSByZXNvbHZlRHluYW1pY1JvdXRlKHBhcnNlZEhyZWYucGF0aG5hbWUsIHBhZ2VzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgdXJsOiBuZXdVcmwgLCBhczogbmV3QXMgIH0gPSBwcmVwYXJlVXJsQXModGhpcywgZGVzdGluYXRpb24sIGRlc3RpbmF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNoYW5nZShtZXRob2QsIG5ld1VybCwgbmV3QXMsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUhhcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogZGVzdGluYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXI6IHRoaXNcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgoKT0+e30pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBuZXh0U3RhdGUuaXNQcmV2aWV3ID0gISFwcm9wcy5fX05fUFJFVklFVztcbiAgICAgICAgICAgICAgICAvLyBoYW5kbGUgU1NHIGRhdGEgNDA0XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzLm5vdEZvdW5kID09PSBTU0dfREFUQV9OT1RfRk9VTkQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5vdEZvdW5kUm91dGU7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmZldGNoQ29tcG9uZW50KFwiLzQwNFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vdEZvdW5kUm91dGUgPSBcIi80MDRcIjtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoXykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbm90Rm91bmRSb3V0ZSA9IFwiL19lcnJvclwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlSW5mbyA9IGF3YWl0IHRoaXMuZ2V0Um91dGVJbmZvKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlOiBub3RGb3VuZFJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWU6IG5vdEZvdW5kUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRBcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlUHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFsbG93OiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogbmV4dFN0YXRlLmxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzUHJldmlldzogbmV4dFN0YXRlLmlzUHJldmlld1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFwidHlwZVwiIGluIHJvdXRlSW5mbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pZGRsZXdhcmUgZWZmZWN0IG9uIC80MDRgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFJvdXRlci5ldmVudHMuZW1pdChcImJlZm9yZUhpc3RvcnlDaGFuZ2VcIiwgYXMsIHJvdXRlUHJvcHMpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VTdGF0ZShtZXRob2QsIHVybCwgYXMsIG9wdGlvbnMpO1xuICAgICAgICAgICAgaWYgKGlzUXVlcnlVcGRhdGluZyAmJiBwYXRobmFtZSA9PT0gXCIvX2Vycm9yXCIgJiYgKChyZWYxID0gc2VsZi5fX05FWFRfREFUQV9fLnByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogKHJlZjIgPSByZWYxLnBhZ2VQcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IHJlZjIuc3RhdHVzQ29kZSkgPT09IDUwMCAmJiAocHJvcHMgPT0gbnVsbCA/IHZvaWQgMCA6IHByb3BzLnBhZ2VQcm9wcykpIHtcbiAgICAgICAgICAgICAgICAvLyBlbnN1cmUgc3RhdHVzQ29kZSBpcyBzdGlsbCBjb3JyZWN0IGZvciBzdGF0aWMgNTAwIHBhZ2VcbiAgICAgICAgICAgICAgICAvLyB3aGVuIHVwZGF0aW5nIHF1ZXJ5IGluZm9ybWF0aW9uXG4gICAgICAgICAgICAgICAgcHJvcHMucGFnZVByb3BzLnN0YXR1c0NvZGUgPSA1MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgX3JvdXRlO1xuICAgICAgICAgICAgLy8gc2hhbGxvdyByb3V0aW5nIGlzIG9ubHkgYWxsb3dlZCBmb3Igc2FtZSBwYWdlIFVSTCBjaGFuZ2VzLlxuICAgICAgICAgICAgY29uc3QgaXNWYWxpZFNoYWxsb3dSb3V0ZSA9IG9wdGlvbnMuc2hhbGxvdyAmJiBuZXh0U3RhdGUucm91dGUgPT09ICgoX3JvdXRlID0gcm91dGVJbmZvLnJvdXRlKSAhPSBudWxsID8gX3JvdXRlIDogcm91dGUpO1xuICAgICAgICAgICAgdmFyIF9zY3JvbGw7XG4gICAgICAgICAgICBjb25zdCBzaG91bGRTY3JvbGwgPSAoX3Njcm9sbCA9IG9wdGlvbnMuc2Nyb2xsKSAhPSBudWxsID8gX3Njcm9sbCA6ICFpc1ZhbGlkU2hhbGxvd1JvdXRlO1xuICAgICAgICAgICAgY29uc3QgcmVzZXRTY3JvbGwgPSBzaG91bGRTY3JvbGwgPyB7XG4gICAgICAgICAgICAgICAgeDogMCxcbiAgICAgICAgICAgICAgICB5OiAwXG4gICAgICAgICAgICB9IDogbnVsbDtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICAuLi5uZXh0U3RhdGUsXG4gICAgICAgICAgICAgICAgcm91dGUsXG4gICAgICAgICAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICAgICAgYXNQYXRoOiBjbGVhbmVkQXMsXG4gICAgICAgICAgICAgICAgaXNGYWxsYmFjazogZmFsc2VcbiAgICAgICAgICAgIH0sIHJvdXRlSW5mbywgZm9yY2VkU2Nyb2xsICE9IG51bGwgPyBmb3JjZWRTY3JvbGwgOiByZXNldFNjcm9sbCkuY2F0Y2goKGUpPT57XG4gICAgICAgICAgICAgICAgaWYgKGUuY2FuY2VsbGVkKSBlcnJvciA9IGVycm9yIHx8IGU7XG4gICAgICAgICAgICAgICAgZWxzZSB0aHJvdyBlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzUXVlcnlVcGRhdGluZykge1xuICAgICAgICAgICAgICAgICAgICBSb3V0ZXIuZXZlbnRzLmVtaXQoXCJyb3V0ZUNoYW5nZUVycm9yXCIsIGVycm9yLCBjbGVhbmVkQXMsIHJvdXRlUHJvcHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSTE4Tl9TVVBQT1JUKSB7XG4gICAgICAgICAgICAgICAgaWYgKG5leHRTdGF0ZS5sb2NhbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmxhbmcgPSBuZXh0U3RhdGUubG9jYWxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghaXNRdWVyeVVwZGF0aW5nKSB7XG4gICAgICAgICAgICAgICAgUm91dGVyLmV2ZW50cy5lbWl0KFwicm91dGVDaGFuZ2VDb21wbGV0ZVwiLCBhcywgcm91dGVQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBBIGhhc2ggbWFyayAjIGlzIHRoZSBvcHRpb25hbCBsYXN0IHBhcnQgb2YgYSBVUkxcbiAgICAgICAgICAgIGNvbnN0IGhhc2hSZWdleCA9IC8jLiskLztcbiAgICAgICAgICAgIGlmIChzaG91bGRTY3JvbGwgJiYgaGFzaFJlZ2V4LnRlc3QoYXMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0hhc2goYXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gY2F0Y2ggKGVycjEpIHtcbiAgICAgICAgICAgIGlmICgoMCwgX2lzRXJyb3IpLmRlZmF1bHQoZXJyMSkgJiYgZXJyMS5jYW5jZWxsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBlcnIxO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNoYW5nZVN0YXRlKG1ldGhvZCwgdXJsLCBhcywgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygd2luZG93Lmhpc3RvcnkgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBXYXJuaW5nOiB3aW5kb3cuaGlzdG9yeSBpcyBub3QgYXZhaWxhYmxlLmApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2Ygd2luZG93Lmhpc3RvcnlbbWV0aG9kXSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFdhcm5pbmc6IHdpbmRvdy5oaXN0b3J5LiR7bWV0aG9kfSBpcyBub3QgYXZhaWxhYmxlYCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QgIT09IFwicHVzaFN0YXRlXCIgfHwgKDAsIF91dGlscykuZ2V0VVJMKCkgIT09IGFzKSB7XG4gICAgICAgICAgICB0aGlzLl9zaGFsbG93ID0gb3B0aW9ucy5zaGFsbG93O1xuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnlbbWV0aG9kXSh7XG4gICAgICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgICAgIGFzLFxuICAgICAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICAgICAgX19OOiB0cnVlLFxuICAgICAgICAgICAgICAgIGtleTogdGhpcy5fa2V5ID0gbWV0aG9kICE9PSBcInB1c2hTdGF0ZVwiID8gdGhpcy5fa2V5IDogY3JlYXRlS2V5KClcbiAgICAgICAgICAgIH0sIC8vIE1vc3QgYnJvd3NlcnMgY3VycmVudGx5IGlnbm9yZXMgdGhpcyBwYXJhbWV0ZXIsIGFsdGhvdWdoIHRoZXkgbWF5IHVzZSBpdCBpbiB0aGUgZnV0dXJlLlxuICAgICAgICAgICAgLy8gUGFzc2luZyB0aGUgZW1wdHkgc3RyaW5nIGhlcmUgc2hvdWxkIGJlIHNhZmUgYWdhaW5zdCBmdXR1cmUgY2hhbmdlcyB0byB0aGUgbWV0aG9kLlxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0hpc3RvcnkvcmVwbGFjZVN0YXRlXG4gICAgICAgICAgICBcIlwiLCBhcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgaGFuZGxlUm91dGVJbmZvRXJyb3IoZXJyLCBwYXRobmFtZSwgcXVlcnksIGFzLCByb3V0ZVByb3BzLCBsb2FkRXJyb3JGYWlsKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgaWYgKGVyci5jYW5jZWxsZWQpIHtcbiAgICAgICAgICAgIC8vIGJ1YmJsZSB1cCBjYW5jZWxsYXRpb24gZXJyb3JzXG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCgwLCBfcm91dGVMb2FkZXIpLmlzQXNzZXRFcnJvcihlcnIpIHx8IGxvYWRFcnJvckZhaWwpIHtcbiAgICAgICAgICAgIFJvdXRlci5ldmVudHMuZW1pdChcInJvdXRlQ2hhbmdlRXJyb3JcIiwgZXJyLCBhcywgcm91dGVQcm9wcyk7XG4gICAgICAgICAgICAvLyBJZiB3ZSBjYW4ndCBsb2FkIHRoZSBwYWdlIGl0IGNvdWxkIGJlIG9uZSBvZiBmb2xsb3dpbmcgcmVhc29uc1xuICAgICAgICAgICAgLy8gIDEuIFBhZ2UgZG9lc24ndCBleGlzdHNcbiAgICAgICAgICAgIC8vICAyLiBQYWdlIGRvZXMgZXhpc3QgaW4gYSBkaWZmZXJlbnQgem9uZVxuICAgICAgICAgICAgLy8gIDMuIEludGVybmFsIGVycm9yIHdoaWxlIGxvYWRpbmcgdGhlIHBhZ2VcbiAgICAgICAgICAgIC8vIFNvLCBkb2luZyBhIGhhcmQgcmVsb2FkIGlzIHRoZSBwcm9wZXIgd2F5IHRvIGRlYWwgd2l0aCB0aGlzLlxuICAgICAgICAgICAgaGFuZGxlSGFyZE5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgIHVybDogYXMsXG4gICAgICAgICAgICAgICAgcm91dGVyOiB0aGlzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIENoYW5naW5nIHRoZSBVUkwgZG9lc24ndCBibG9jayBleGVjdXRpbmcgdGhlIGN1cnJlbnQgY29kZSBwYXRoLlxuICAgICAgICAgICAgLy8gU28gbGV0J3MgdGhyb3cgYSBjYW5jZWxsYXRpb24gZXJyb3Igc3RvcCB0aGUgcm91dGluZyBsb2dpYy5cbiAgICAgICAgICAgIHRocm93IGJ1aWxkQ2FuY2VsbGF0aW9uRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbGV0IENvbXBvbmVudDtcbiAgICAgICAgICAgIGxldCBzdHlsZVNoZWV0cztcbiAgICAgICAgICAgIGxldCBwcm9wcztcbiAgICAgICAgICAgIGlmICh0eXBlb2YgQ29tcG9uZW50ID09PSBcInVuZGVmaW5lZFwiIHx8IHR5cGVvZiBzdHlsZVNoZWV0cyA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgICAgICh7IHBhZ2U6IENvbXBvbmVudCAsIHN0eWxlU2hlZXRzICB9ID0gYXdhaXQgdGhpcy5mZXRjaENvbXBvbmVudChcIi9fZXJyb3JcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgcm91dGVJbmZvID0ge1xuICAgICAgICAgICAgICAgIHByb3BzLFxuICAgICAgICAgICAgICAgIENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBzdHlsZVNoZWV0cyxcbiAgICAgICAgICAgICAgICBlcnIsXG4gICAgICAgICAgICAgICAgZXJyb3I6IGVyclxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmICghcm91dGVJbmZvLnByb3BzKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgcm91dGVJbmZvLnByb3BzID0gYXdhaXQgdGhpcy5nZXRJbml0aWFsUHJvcHMoQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnIsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRobmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGdpcEVycikge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgaW4gZXJyb3IgcGFnZSBgZ2V0SW5pdGlhbFByb3BzYDogXCIsIGdpcEVycik7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlSW5mby5wcm9wcyA9IHt9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByb3V0ZUluZm87XG4gICAgICAgIH0gY2F0Y2ggKHJvdXRlSW5mb0Vycikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlUm91dGVJbmZvRXJyb3IoKDAsIF9pc0Vycm9yKS5kZWZhdWx0KHJvdXRlSW5mb0VycikgPyByb3V0ZUluZm9FcnIgOiBuZXcgRXJyb3Iocm91dGVJbmZvRXJyICsgXCJcIiksIHBhdGhuYW1lLCBxdWVyeSwgYXMsIHJvdXRlUHJvcHMsIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIGdldFJvdXRlSW5mbyh7IHJvdXRlOiByZXF1ZXN0ZWRSb3V0ZSAsIHBhdGhuYW1lICwgcXVlcnkgLCBhcyAsIHJlc29sdmVkQXMgLCByb3V0ZVByb3BzICwgbG9jYWxlICwgaGFzTWlkZGxld2FyZSAsIGlzUHJldmlldyAsIHVuc3RhYmxlX3NraXBDbGllbnRDYWNoZSAgfSkge1xuICAgICAgICAvKipcbiAgICAgKiBUaGlzIGByb3V0ZWAgYmluZGluZyBjYW4gY2hhbmdlIGlmIHRoZXJlJ3MgYSByZXdyaXRlXG4gICAgICogc28gd2Uga2VlcCBhIHJlZmVyZW5jZSB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdGVkIHJvdXRlXG4gICAgICogc28gd2UgY2FuIHN0b3JlIHRoZSBjYWNoZSBmb3IgaXQgYW5kIGF2b2lkIHJlLXJlcXVlc3RpbmcgZXZlcnkgdGltZVxuICAgICAqIGZvciBzaGFsbG93IHJvdXRpbmcgcHVycG9zZXMuXG4gICAgICovIGxldCByb3V0ZSA9IHJlcXVlc3RlZFJvdXRlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIHJlZiwgcmVmMywgcmVmNDtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUNhbmNlbGxlZCA9IGdldENhbmNlbGxlZEhhbmRsZXIoe1xuICAgICAgICAgICAgICAgIHJvdXRlLFxuICAgICAgICAgICAgICAgIHJvdXRlcjogdGhpc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBsZXQgZXhpc3RpbmdJbmZvID0gdGhpcy5jb21wb25lbnRzW3JvdXRlXTtcbiAgICAgICAgICAgIGlmICghaGFzTWlkZGxld2FyZSAmJiByb3V0ZVByb3BzLnNoYWxsb3cgJiYgZXhpc3RpbmdJbmZvICYmIHRoaXMucm91dGUgPT09IHJvdXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGV4aXN0aW5nSW5mbztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBjYWNoZWRSb3V0ZUluZm8gPSBleGlzdGluZ0luZm8gJiYgIShcImluaXRpYWxcIiBpbiBleGlzdGluZ0luZm8pICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcImRldmVsb3BtZW50XCIgPyBleGlzdGluZ0luZm8gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBmZXRjaE5leHREYXRhUGFyYW1zID0ge1xuICAgICAgICAgICAgICAgIGRhdGFIcmVmOiB0aGlzLnBhZ2VMb2FkZXIuZ2V0RGF0YUhyZWYoe1xuICAgICAgICAgICAgICAgICAgICBocmVmOiAoMCwgX2Zvcm1hdFVybCkuZm9ybWF0V2l0aFZhbGlkYXRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgc2tpcEludGVycG9sYXRpb246IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGFzUGF0aDogcmVzb2x2ZWRBcyxcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxlXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgaGFzTWlkZGxld2FyZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBpc1NlcnZlclJlbmRlcjogdGhpcy5pc1NzcixcbiAgICAgICAgICAgICAgICBwYXJzZUpTT046IHRydWUsXG4gICAgICAgICAgICAgICAgaW5mbGlnaHRDYWNoZTogdGhpcy5zZGMsXG4gICAgICAgICAgICAgICAgcGVyc2lzdENhY2hlOiAhaXNQcmV2aWV3LFxuICAgICAgICAgICAgICAgIGlzUHJlZmV0Y2g6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHVuc3RhYmxlX3NraXBDbGllbnRDYWNoZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB3aXRoTWlkZGxld2FyZUVmZmVjdHMoe1xuICAgICAgICAgICAgICAgIGZldGNoRGF0YTogKCk9PmZldGNoTmV4dERhdGEoZmV0Y2hOZXh0RGF0YVBhcmFtcyksXG4gICAgICAgICAgICAgICAgYXNQYXRoOiByZXNvbHZlZEFzLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlLFxuICAgICAgICAgICAgICAgIHJvdXRlcjogdGhpc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBoYW5kbGVDYW5jZWxsZWQoKTtcbiAgICAgICAgICAgIGlmICgoZGF0YSA9PSBudWxsID8gdm9pZCAwIDogKHJlZiA9IGRhdGEuZWZmZWN0KSA9PSBudWxsID8gdm9pZCAwIDogcmVmLnR5cGUpID09PSBcInJlZGlyZWN0LWludGVybmFsXCIgfHwgKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IChyZWYzID0gZGF0YS5lZmZlY3QpID09IG51bGwgPyB2b2lkIDAgOiByZWYzLnR5cGUpID09PSBcInJlZGlyZWN0LWV4dGVybmFsXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5lZmZlY3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IChyZWY0ID0gZGF0YS5lZmZlY3QpID09IG51bGwgPyB2b2lkIDAgOiByZWY0LnR5cGUpID09PSBcInJld3JpdGVcIikge1xuICAgICAgICAgICAgICAgIHJvdXRlID0gKDAsIF9yZW1vdmVUcmFpbGluZ1NsYXNoKS5yZW1vdmVUcmFpbGluZ1NsYXNoKGRhdGEuZWZmZWN0LnJlc29sdmVkSHJlZik7XG4gICAgICAgICAgICAgICAgcGF0aG5hbWUgPSBkYXRhLmVmZmVjdC5yZXNvbHZlZEhyZWY7XG4gICAgICAgICAgICAgICAgcXVlcnkgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICAuLi5kYXRhLmVmZmVjdC5wYXJzZWRBcy5xdWVyeVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmVzb2x2ZWRBcyA9IGRhdGEuZWZmZWN0LnBhcnNlZEFzLnBhdGhuYW1lO1xuICAgICAgICAgICAgICAgIC8vIENoZWNrIGFnYWluIHRoZSBjYWNoZSB3aXRoIHRoZSBuZXcgZGVzdGluYXRpb24uXG4gICAgICAgICAgICAgICAgZXhpc3RpbmdJbmZvID0gdGhpcy5jb21wb25lbnRzW3JvdXRlXTtcbiAgICAgICAgICAgICAgICBpZiAocm91dGVQcm9wcy5zaGFsbG93ICYmIGV4aXN0aW5nSW5mbyAmJiB0aGlzLnJvdXRlID09PSByb3V0ZSAmJiAhaGFzTWlkZGxld2FyZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGEgbWF0Y2ggd2l0aCB0aGUgY3VycmVudCByb3V0ZSBkdWUgdG8gcmV3cml0ZSxcbiAgICAgICAgICAgICAgICAgICAgLy8gd2UgY2FuIGNvcHkgdGhlIGV4aXN0aW5nIGluZm9ybWF0aW9uIHRvIHRoZSByZXdyaXR0ZW4gb25lLlxuICAgICAgICAgICAgICAgICAgICAvLyBUaGVuLCB3ZSByZXR1cm4gdGhlIGluZm9ybWF0aW9uIGFsb25nIHdpdGggdGhlIG1hdGNoZWQgcm91dGUuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50c1tyZXF1ZXN0ZWRSb3V0ZV0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5leGlzdGluZ0luZm8sXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZXhpc3RpbmdJbmZvLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FjaGVkUm91dGVJbmZvID0gZXhpc3RpbmdJbmZvICYmICEoXCJpbml0aWFsXCIgaW4gZXhpc3RpbmdJbmZvKSAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiID8gZXhpc3RpbmdJbmZvIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJvdXRlID09PSBcIi9hcGlcIiB8fCByb3V0ZS5zdGFydHNXaXRoKFwiL2FwaS9cIikpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVIYXJkTmF2aWdhdGlvbih7XG4gICAgICAgICAgICAgICAgICAgIHVybDogcmVzb2x2ZWRBcyxcbiAgICAgICAgICAgICAgICAgICAgcm91dGVyOiB0aGlzXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKCgpPT57fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByb3V0ZUluZm8gPSBjYWNoZWRSb3V0ZUluZm8gfHwgYXdhaXQgdGhpcy5mZXRjaENvbXBvbmVudChyb3V0ZSkudGhlbigocmVzKT0+KHtcbiAgICAgICAgICAgICAgICAgICAgQ29tcG9uZW50OiByZXMucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGVTaGVldHM6IHJlcy5zdHlsZVNoZWV0cyxcbiAgICAgICAgICAgICAgICAgICAgX19OX1NTRzogcmVzLm1vZC5fX05fU1NHLFxuICAgICAgICAgICAgICAgICAgICBfX05fU1NQOiByZXMubW9kLl9fTl9TU1AsXG4gICAgICAgICAgICAgICAgICAgIF9fTl9SU0M6ICEhcmVzLm1vZC5fX25leHRfcnNjX19cbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBpc1ZhbGlkRWxlbWVudFR5cGUgIH0gPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LWlzXCIpO1xuICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHJvdXRlSW5mby5Db21wb25lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIGRlZmF1bHQgZXhwb3J0IGlzIG5vdCBhIFJlYWN0IENvbXBvbmVudCBpbiBwYWdlOiBcIiR7cGF0aG5hbWV9XCJgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvKipcbiAgICAgICAqIEZvciBzZXJ2ZXIgY29tcG9uZW50cywgbm9uLVNTUiBwYWdlcyB3aWxsIGhhdmUgc3RhdGljYWxseSBvcHRpbWl6ZWRcbiAgICAgICAqIGZsaWdodCBkYXRhIGluIGEgcHJvZHVjdGlvbiBidWlsZC4gU28gb25seSBkZXZlbG9wbWVudCBhbmQgU1NSIHBhZ2VzXG4gICAgICAgKiB3aWxsIGFsd2F5cyBoYXZlIHRoZSByZWFsLXRpbWUgZ2VuZXJhdGVkIGFuZCBzdHJlYW1lZCBmbGlnaHQgZGF0YS5cbiAgICAgICAqLyBjb25zdCB1c2VTdHJlYW1lZEZsaWdodERhdGEgPSByb3V0ZUluZm8uX19OX1JTQyAmJiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiIHx8IHJvdXRlSW5mby5fX05fU1NQKTtcbiAgICAgICAgICAgIGNvbnN0IHNob3VsZEZldGNoRGF0YSA9IHJvdXRlSW5mby5fX05fU1NHIHx8IHJvdXRlSW5mby5fX05fU1NQIHx8IHJvdXRlSW5mby5fX05fUlNDO1xuICAgICAgICAgICAgY29uc3QgeyBwcm9wcyAgfSA9IGF3YWl0IHRoaXMuX2dldERhdGEoYXN5bmMgKCk9PntcbiAgICAgICAgICAgICAgICBpZiAoc2hvdWxkRmV0Y2hEYXRhICYmICF1c2VTdHJlYW1lZEZsaWdodERhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBqc29uICB9ID0gZGF0YSB8fCBhd2FpdCBmZXRjaE5leHREYXRhKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFIcmVmOiB0aGlzLnBhZ2VMb2FkZXIuZ2V0RGF0YUhyZWYoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY6ICgwLCBfZm9ybWF0VXJsKS5mb3JtYXRXaXRoVmFsaWRhdGlvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzUGF0aDogcmVzb2x2ZWRBcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTZXJ2ZXJSZW5kZXI6IHRoaXMuaXNTc3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZUpTT046IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmZsaWdodENhY2hlOiB0aGlzLnNkYyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcnNpc3RDYWNoZTogIWlzUHJldmlldyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzUHJlZmV0Y2g6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5zdGFibGVfc2tpcENsaWVudENhY2hlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IGpzb25cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgICAgICAgICAgICAgIHByb3BzOiBhd2FpdCB0aGlzLmdldEluaXRpYWxQcm9wcyhyb3V0ZUluZm8uQ29tcG9uZW50LCAvLyB3ZSBwcm92aWRlIEFwcFRyZWUgbGF0ZXIgc28gdGhpcyBuZWVkcyB0byBiZSBgYW55YFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRobmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgYXNQYXRoOiBhcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZXM6IHRoaXMubG9jYWxlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRMb2NhbGU6IHRoaXMuZGVmYXVsdExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIE9ubHkgYnVzdCB0aGUgZGF0YSBjYWNoZSBmb3IgU1NQIHJvdXRlcyBhbHRob3VnaFxuICAgICAgICAgICAgLy8gbWlkZGxld2FyZSBjYW4gc2tpcCBjYWNoZSBwZXIgcmVxdWVzdCB3aXRoXG4gICAgICAgICAgICAvLyB4LW1pZGRsZXdhcmUtY2FjaGU6IG5vLWNhY2hlIGFzIHdlbGxcbiAgICAgICAgICAgIGlmIChyb3V0ZUluZm8uX19OX1NTUCAmJiBmZXRjaE5leHREYXRhUGFyYW1zLmRhdGFIcmVmKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FjaGVLZXkgPSBuZXcgVVJMKGZldGNoTmV4dERhdGFQYXJhbXMuZGF0YUhyZWYsIHdpbmRvdy5sb2NhdGlvbi5ocmVmKS5ocmVmO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnNkY1tjYWNoZUtleV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB3ZSBraWNrIG9mZiBhIEhFQUQgcmVxdWVzdCBpbiB0aGUgYmFja2dyb3VuZFxuICAgICAgICAgICAgLy8gd2hlbiBhIG5vbi1wcmVmZXRjaCByZXF1ZXN0IGlzIG1hZGUgdG8gc2lnbmFsIHJldmFsaWRhdGlvblxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzUHJldmlldyAmJiByb3V0ZUluZm8uX19OX1NTRyAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICAgICAgZmV0Y2hOZXh0RGF0YShPYmplY3QuYXNzaWduKHt9LCBmZXRjaE5leHREYXRhUGFyYW1zLCB7XG4gICAgICAgICAgICAgICAgICAgIGlzQmFja2dyb3VuZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcGVyc2lzdENhY2hlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgaW5mbGlnaHRDYWNoZTogYmFja2dyb3VuZENhY2hlXG4gICAgICAgICAgICAgICAgfSkpLmNhdGNoKCgpPT57fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocm91dGVJbmZvLl9fTl9SU0MpIHtcbiAgICAgICAgICAgICAgICBwcm9wcy5wYWdlUHJvcHMgPSBPYmplY3QuYXNzaWduKHByb3BzLnBhZ2VQcm9wcywge1xuICAgICAgICAgICAgICAgICAgICBfX2ZsaWdodF9fOiB1c2VTdHJlYW1lZEZsaWdodERhdGEgPyAoYXdhaXQgdGhpcy5fZ2V0RGF0YSgoKT0+dGhpcy5fZ2V0RmxpZ2h0RGF0YSgoMCwgX2Zvcm1hdFVybCkuZm9ybWF0V2l0aFZhbGlkYXRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2ZsaWdodF9fOiBcIjFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWU6ICgwLCBfaXNEeW5hbWljKS5pc0R5bmFtaWNSb3V0ZShyb3V0ZSkgPyBpbnRlcnBvbGF0ZUFzKHBhdGhuYW1lLCAoMCwgX3BhcnNlUmVsYXRpdmVVcmwpLnBhcnNlUmVsYXRpdmVVcmwocmVzb2x2ZWRBcykucGF0aG5hbWUsIHF1ZXJ5KS5yZXN1bHQgOiBwYXRobmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpKSkuZGF0YSA6IHByb3BzLl9fZmxpZ2h0X19cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJvdXRlSW5mby5wcm9wcyA9IHByb3BzO1xuICAgICAgICAgICAgcm91dGVJbmZvLnJvdXRlID0gcm91dGU7XG4gICAgICAgICAgICByb3V0ZUluZm8ucXVlcnkgPSBxdWVyeTtcbiAgICAgICAgICAgIHJvdXRlSW5mby5yZXNvbHZlZEFzID0gcmVzb2x2ZWRBcztcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50c1tyb3V0ZV0gPSByb3V0ZUluZm87XG4gICAgICAgICAgICAvLyBJZiB0aGUgcm91dGUgd2FzIHJld3JpdHRlbiBpbiB0aGUgcHJvY2VzcyBvZiBmZXRjaGluZyBkYXRhLFxuICAgICAgICAgICAgLy8gd2UgdXBkYXRlIHRoZSBjYWNoZSB0byBhbGxvdyBoaXR0aW5nIHRoZSBzYW1lIGRhdGEgZm9yIHNoYWxsb3cgcmVxdWVzdHMuXG4gICAgICAgICAgICBpZiAocm91dGUgIT09IHJlcXVlc3RlZFJvdXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRzW3JlcXVlc3RlZFJvdXRlXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucm91dGVJbmZvLFxuICAgICAgICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcm91dGVJbmZvO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVJvdXRlSW5mb0Vycm9yKCgwLCBfaXNFcnJvcikuZ2V0UHJvcGVyRXJyb3IoZXJyKSwgcGF0aG5hbWUsIHF1ZXJ5LCBhcywgcm91dGVQcm9wcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2V0KHN0YXRlLCBkYXRhLCByZXNldFNjcm9sbCkge1xuICAgICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgICAgIHJldHVybiB0aGlzLnN1YihkYXRhLCB0aGlzLmNvbXBvbmVudHNbXCIvX2FwcFwiXS5Db21wb25lbnQsIHJlc2V0U2Nyb2xsKTtcbiAgICB9XG4gICAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGV4ZWN1dGUgYmVmb3JlIHJlcGxhY2luZyByb3V0ZXIgc3RhdGVcbiAgICogQHBhcmFtIGNiIGNhbGxiYWNrIHRvIGJlIGV4ZWN1dGVkXG4gICAqLyBiZWZvcmVQb3BTdGF0ZShjYikge1xuICAgICAgICB0aGlzLl9icHMgPSBjYjtcbiAgICB9XG4gICAgb25seUFIYXNoQ2hhbmdlKGFzKSB7XG4gICAgICAgIGlmICghdGhpcy5hc1BhdGgpIHJldHVybiBmYWxzZTtcbiAgICAgICAgY29uc3QgW29sZFVybE5vSGFzaCwgb2xkSGFzaF0gPSB0aGlzLmFzUGF0aC5zcGxpdChcIiNcIik7XG4gICAgICAgIGNvbnN0IFtuZXdVcmxOb0hhc2gsIG5ld0hhc2hdID0gYXMuc3BsaXQoXCIjXCIpO1xuICAgICAgICAvLyBNYWtlcyBzdXJlIHdlIHNjcm9sbCB0byB0aGUgcHJvdmlkZWQgaGFzaCBpZiB0aGUgdXJsL2hhc2ggYXJlIHRoZSBzYW1lXG4gICAgICAgIGlmIChuZXdIYXNoICYmIG9sZFVybE5vSGFzaCA9PT0gbmV3VXJsTm9IYXNoICYmIG9sZEhhc2ggPT09IG5ld0hhc2gpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIHRoZSB1cmxzIGFyZSBjaGFuZ2UsIHRoZXJlJ3MgbW9yZSB0aGFuIGEgaGFzaCBjaGFuZ2VcbiAgICAgICAgaWYgKG9sZFVybE5vSGFzaCAhPT0gbmV3VXJsTm9IYXNoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgdGhlIGhhc2ggaGFzIGNoYW5nZWQsIHRoZW4gaXQncyBhIGhhc2ggb25seSBjaGFuZ2UuXG4gICAgICAgIC8vIFRoaXMgY2hlY2sgaXMgbmVjZXNzYXJ5IHRvIGhhbmRsZSBib3RoIHRoZSBlbnRlciBhbmRcbiAgICAgICAgLy8gbGVhdmUgaGFzaCA9PT0gJycgY2FzZXMuIFRoZSBpZGVudGl0eSBjYXNlIGZhbGxzIHRocm91Z2hcbiAgICAgICAgLy8gYW5kIGlzIHRyZWF0ZWQgYXMgYSBuZXh0IHJlbG9hZC5cbiAgICAgICAgcmV0dXJuIG9sZEhhc2ggIT09IG5ld0hhc2g7XG4gICAgfVxuICAgIHNjcm9sbFRvSGFzaChhcykge1xuICAgICAgICBjb25zdCBbLCBoYXNoID0gXCJcIl0gPSBhcy5zcGxpdChcIiNcIik7XG4gICAgICAgIC8vIFNjcm9sbCB0byB0b3AgaWYgdGhlIGhhc2ggaXMganVzdCBgI2Agd2l0aCBubyB2YWx1ZSBvciBgI3RvcGBcbiAgICAgICAgLy8gVG8gbWlycm9yIGJyb3dzZXJzXG4gICAgICAgIGlmIChoYXNoID09PSBcIlwiIHx8IGhhc2ggPT09IFwidG9wXCIpIHtcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBEZWNvZGUgaGFzaCB0byBtYWtlIG5vbi1sYXRpbiBhbmNob3Igd29ya3MuXG4gICAgICAgIGNvbnN0IHJhd0hhc2ggPSBkZWNvZGVVUklDb21wb25lbnQoaGFzaCk7XG4gICAgICAgIC8vIEZpcnN0IHdlIGNoZWNrIGlmIHRoZSBlbGVtZW50IGJ5IGlkIGlzIGZvdW5kXG4gICAgICAgIGNvbnN0IGlkRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChyYXdIYXNoKTtcbiAgICAgICAgaWYgKGlkRWwpIHtcbiAgICAgICAgICAgIGlkRWwuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB0aGVyZSdzIG5vIGVsZW1lbnQgd2l0aCB0aGUgaWQsIHdlIGNoZWNrIHRoZSBgbmFtZWAgcHJvcGVydHlcbiAgICAgICAgLy8gVG8gbWlycm9yIGJyb3dzZXJzXG4gICAgICAgIGNvbnN0IG5hbWVFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKHJhd0hhc2gpWzBdO1xuICAgICAgICBpZiAobmFtZUVsKSB7XG4gICAgICAgICAgICBuYW1lRWwuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB1cmxJc05ldyhhc1BhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXNQYXRoICE9PSBhc1BhdGg7XG4gICAgfVxuICAgIC8qKlxuICAgKiBQcmVmZXRjaCBwYWdlIGNvZGUsIHlvdSBtYXkgd2FpdCBmb3IgdGhlIGRhdGEgZHVyaW5nIHBhZ2UgcmVuZGVyaW5nLlxuICAgKiBUaGlzIGZlYXR1cmUgb25seSB3b3JrcyBpbiBwcm9kdWN0aW9uIVxuICAgKiBAcGFyYW0gdXJsIHRoZSBocmVmIG9mIHByZWZldGNoZWQgcGFnZVxuICAgKiBAcGFyYW0gYXNQYXRoIHRoZSBhcyBwYXRoIG9mIHRoZSBwcmVmZXRjaGVkIHBhZ2VcbiAgICovIGFzeW5jIHByZWZldGNoKHVybCwgYXNQYXRoID0gdXJsLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgbGV0IHBhcnNlZCA9ICgwLCBfcGFyc2VSZWxhdGl2ZVVybCkucGFyc2VSZWxhdGl2ZVVybCh1cmwpO1xuICAgICAgICBsZXQgeyBwYXRobmFtZSAsIHF1ZXJ5ICB9ID0gcGFyc2VkO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMubG9jYWxlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHBhdGhuYW1lID0gKDAsIF9ub3JtYWxpemVMb2NhbGVQYXRoKS5ub3JtYWxpemVMb2NhbGVQYXRoKHBhdGhuYW1lLCB0aGlzLmxvY2FsZXMpLnBhdGhuYW1lO1xuICAgICAgICAgICAgICAgIHBhcnNlZC5wYXRobmFtZSA9IHBhdGhuYW1lO1xuICAgICAgICAgICAgICAgIHVybCA9ICgwLCBfZm9ybWF0VXJsKS5mb3JtYXRXaXRoVmFsaWRhdGlvbihwYXJzZWQpO1xuICAgICAgICAgICAgICAgIGxldCBwYXJzZWRBcyA9ICgwLCBfcGFyc2VSZWxhdGl2ZVVybCkucGFyc2VSZWxhdGl2ZVVybChhc1BhdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsZVBhdGhSZXN1bHQgPSAoMCwgX25vcm1hbGl6ZUxvY2FsZVBhdGgpLm5vcm1hbGl6ZUxvY2FsZVBhdGgocGFyc2VkQXMucGF0aG5hbWUsIHRoaXMubG9jYWxlcyk7XG4gICAgICAgICAgICAgICAgcGFyc2VkQXMucGF0aG5hbWUgPSBsb2NhbGVQYXRoUmVzdWx0LnBhdGhuYW1lO1xuICAgICAgICAgICAgICAgIG9wdGlvbnMubG9jYWxlID0gbG9jYWxlUGF0aFJlc3VsdC5kZXRlY3RlZExvY2FsZSB8fCB0aGlzLmRlZmF1bHRMb2NhbGU7XG4gICAgICAgICAgICAgICAgYXNQYXRoID0gKDAsIF9mb3JtYXRVcmwpLmZvcm1hdFdpdGhWYWxpZGF0aW9uKHBhcnNlZEFzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYWdlcyA9IGF3YWl0IHRoaXMucGFnZUxvYWRlci5nZXRQYWdlTGlzdCgpO1xuICAgICAgICBsZXQgcmVzb2x2ZWRBcyA9IGFzUGF0aDtcbiAgICAgICAgY29uc3QgbG9jYWxlID0gdHlwZW9mIG9wdGlvbnMubG9jYWxlICE9PSBcInVuZGVmaW5lZFwiID8gb3B0aW9ucy5sb2NhbGUgfHwgdW5kZWZpbmVkIDogdGhpcy5sb2NhbGU7XG4gICAgICAgIGNvbnN0IGlzTWlkZGxld2FyZU1hdGNoID0gYXdhaXQgbWF0Y2hlc01pZGRsZXdhcmUoe1xuICAgICAgICAgICAgYXNQYXRoOiBhc1BhdGgsXG4gICAgICAgICAgICBsb2NhbGU6IGxvY2FsZSxcbiAgICAgICAgICAgIHJvdXRlcjogdGhpc1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9IQVNfUkVXUklURVMgJiYgYXNQYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICAgICAgICBsZXQgcmV3cml0ZXM7XG4gICAgICAgICAgICAoeyBfX3Jld3JpdGVzOiByZXdyaXRlcyAgfSA9IGF3YWl0ICgwLCBfcm91dGVMb2FkZXIpLmdldENsaWVudEJ1aWxkTWFuaWZlc3QoKSk7XG4gICAgICAgICAgICBjb25zdCByZXdyaXRlc1Jlc3VsdCA9ICgwLCBfcmVzb2x2ZVJld3JpdGVzKS5kZWZhdWx0KCgwLCBfYWRkQmFzZVBhdGgpLmFkZEJhc2VQYXRoKCgwLCBfYWRkTG9jYWxlKS5hZGRMb2NhbGUoYXNQYXRoLCB0aGlzLmxvY2FsZSksIHRydWUpLCBwYWdlcywgcmV3cml0ZXMsIHBhcnNlZC5xdWVyeSwgKHApPT5yZXNvbHZlRHluYW1pY1JvdXRlKHAsIHBhZ2VzKSwgdGhpcy5sb2NhbGVzKTtcbiAgICAgICAgICAgIGlmIChyZXdyaXRlc1Jlc3VsdC5leHRlcm5hbERlc3QpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlZEFzID0gKDAsIF9yZW1vdmVMb2NhbGUpLnJlbW92ZUxvY2FsZSgoMCwgX3JlbW92ZUJhc2VQYXRoKS5yZW1vdmVCYXNlUGF0aChyZXdyaXRlc1Jlc3VsdC5hc1BhdGgpLCB0aGlzLmxvY2FsZSk7XG4gICAgICAgICAgICBpZiAocmV3cml0ZXNSZXN1bHQubWF0Y2hlZFBhZ2UgJiYgcmV3cml0ZXNSZXN1bHQucmVzb2x2ZWRIcmVmKSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgdGhpcyBkaXJlY3RseSBtYXRjaGVzIGEgcGFnZSB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgaHJlZiB0b1xuICAgICAgICAgICAgICAgIC8vIGFsbG93IHRoZSBjb3JyZWN0IHBhZ2UgY2h1bmsgdG8gYmUgbG9hZGVkXG4gICAgICAgICAgICAgICAgcGF0aG5hbWUgPSByZXdyaXRlc1Jlc3VsdC5yZXNvbHZlZEhyZWY7XG4gICAgICAgICAgICAgICAgcGFyc2VkLnBhdGhuYW1lID0gcGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKCFpc01pZGRsZXdhcmVNYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICB1cmwgPSAoMCwgX2Zvcm1hdFVybCkuZm9ybWF0V2l0aFZhbGlkYXRpb24ocGFyc2VkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcGFyc2VkLnBhdGhuYW1lID0gcmVzb2x2ZUR5bmFtaWNSb3V0ZShwYXJzZWQucGF0aG5hbWUsIHBhZ2VzKTtcbiAgICAgICAgaWYgKCgwLCBfaXNEeW5hbWljKS5pc0R5bmFtaWNSb3V0ZShwYXJzZWQucGF0aG5hbWUpKSB7XG4gICAgICAgICAgICBwYXRobmFtZSA9IHBhcnNlZC5wYXRobmFtZTtcbiAgICAgICAgICAgIHBhcnNlZC5wYXRobmFtZSA9IHBhdGhuYW1lO1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihxdWVyeSwgKDAsIF9yb3V0ZU1hdGNoZXIpLmdldFJvdXRlTWF0Y2hlcigoMCwgX3JvdXRlUmVnZXgpLmdldFJvdXRlUmVnZXgocGFyc2VkLnBhdGhuYW1lKSkoKDAsIF9wYXJzZVBhdGgpLnBhcnNlUGF0aChhc1BhdGgpLnBhdGhuYW1lKSB8fCB7fSk7XG4gICAgICAgICAgICBpZiAoIWlzTWlkZGxld2FyZU1hdGNoKSB7XG4gICAgICAgICAgICAgICAgdXJsID0gKDAsIF9mb3JtYXRVcmwpLmZvcm1hdFdpdGhWYWxpZGF0aW9uKHBhcnNlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gUHJlZmV0Y2ggaXMgbm90IHN1cHBvcnRlZCBpbiBkZXZlbG9wbWVudCBtb2RlIGJlY2F1c2UgaXQgd291bGQgdHJpZ2dlciBvbi1kZW1hbmQtZW50cmllc1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gVE9ETzogaWYgdGhlIHJvdXRlIG1pZGRsZXdhcmUncyBkYXRhIHJlcXVlc3RcbiAgICAgICAgLy8gcmVzb2x2ZXMgdG8gaXMgbm90IGFuIFNTRyByb3V0ZSB3ZSBzaG91bGQgYnVzdCB0aGUgY2FjaGVcbiAgICAgICAgLy8gYnV0IHdlIHNob3VsZG4ndCBhbGxvdyBwcmVmZXRjaCB0byBrZWVwIHRyaWdnZXJpbmdcbiAgICAgICAgLy8gcmVxdWVzdHMgZm9yIFNTUCBwYWdlc1xuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgd2l0aE1pZGRsZXdhcmVFZmZlY3RzKHtcbiAgICAgICAgICAgIGZldGNoRGF0YTogKCk9PmZldGNoTmV4dERhdGEoe1xuICAgICAgICAgICAgICAgICAgICBkYXRhSHJlZjogdGhpcy5wYWdlTG9hZGVyLmdldERhdGFIcmVmKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY6ICgwLCBfZm9ybWF0VXJsKS5mb3JtYXRXaXRoVmFsaWRhdGlvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2tpcEludGVycG9sYXRpb246IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBhc1BhdGg6IHJlc29sdmVkQXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGhhc01pZGRsZXdhcmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGlzU2VydmVyUmVuZGVyOiB0aGlzLmlzU3NyLFxuICAgICAgICAgICAgICAgICAgICBwYXJzZUpTT046IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGluZmxpZ2h0Q2FjaGU6IHRoaXMuc2RjLFxuICAgICAgICAgICAgICAgICAgICBwZXJzaXN0Q2FjaGU6ICF0aGlzLmlzUHJldmlldyxcbiAgICAgICAgICAgICAgICAgICAgaXNQcmVmZXRjaDogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgYXNQYXRoOiBhc1BhdGgsXG4gICAgICAgICAgICBsb2NhbGU6IGxvY2FsZSxcbiAgICAgICAgICAgIHJvdXRlcjogdGhpc1xuICAgICAgICB9KTtcbiAgICAgICAgLyoqXG4gICAgICogSWYgdGhlcmUgd2FzIGEgcmV3cml0ZSB3ZSBhcHBseSB0aGUgZWZmZWN0cyBvZiB0aGUgcmV3cml0ZSBvbiB0aGVcbiAgICAgKiBjdXJyZW50IHBhcmFtZXRlcnMgZm9yIHRoZSBwcmVmZXRjaC5cbiAgICAgKi8gaWYgKChkYXRhID09IG51bGwgPyB2b2lkIDAgOiBkYXRhLmVmZmVjdC50eXBlKSA9PT0gXCJyZXdyaXRlXCIpIHtcbiAgICAgICAgICAgIHBhcnNlZC5wYXRobmFtZSA9IGRhdGEuZWZmZWN0LnJlc29sdmVkSHJlZjtcbiAgICAgICAgICAgIHBhdGhuYW1lID0gZGF0YS5lZmZlY3QucmVzb2x2ZWRIcmVmO1xuICAgICAgICAgICAgcXVlcnkgPSB7XG4gICAgICAgICAgICAgICAgLi4ucXVlcnksXG4gICAgICAgICAgICAgICAgLi4uZGF0YS5lZmZlY3QucGFyc2VkQXMucXVlcnlcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXNvbHZlZEFzID0gZGF0YS5lZmZlY3QucGFyc2VkQXMucGF0aG5hbWU7XG4gICAgICAgICAgICB1cmwgPSAoMCwgX2Zvcm1hdFVybCkuZm9ybWF0V2l0aFZhbGlkYXRpb24ocGFyc2VkKTtcbiAgICAgICAgfVxuICAgICAgICAvKipcbiAgICAgKiBJZiB0aGVyZSBpcyBhIHJlZGlyZWN0IHRvIGFuIGV4dGVybmFsIGRlc3RpbmF0aW9uIHRoZW4gd2UgZG9uJ3QgaGF2ZVxuICAgICAqIHRvIHByZWZldGNoIGNvbnRlbnQgYXMgaXQgd2lsbCBiZSB1bnVzZWQuXG4gICAgICovIGlmICgoZGF0YSA9PSBudWxsID8gdm9pZCAwIDogZGF0YS5lZmZlY3QudHlwZSkgPT09IFwicmVkaXJlY3QtZXh0ZXJuYWxcIikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvdXRlID0gKDAsIF9yZW1vdmVUcmFpbGluZ1NsYXNoKS5yZW1vdmVUcmFpbGluZ1NsYXNoKHBhdGhuYW1lKTtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgdGhpcy5wYWdlTG9hZGVyLl9pc1NzZyhyb3V0ZSkudGhlbigoaXNTc2cpPT57XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzU3NnID8gZmV0Y2hOZXh0RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFIcmVmOiAoZGF0YSA9PSBudWxsID8gdm9pZCAwIDogZGF0YS5kYXRhSHJlZikgfHwgdGhpcy5wYWdlTG9hZGVyLmdldERhdGFIcmVmKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY6IHVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzUGF0aDogcmVzb2x2ZWRBcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBpc1NlcnZlclJlbmRlcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlSlNPTjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgaW5mbGlnaHRDYWNoZTogdGhpcy5zZGMsXG4gICAgICAgICAgICAgICAgICAgIHBlcnNpc3RDYWNoZTogIXRoaXMuaXNQcmV2aWV3LFxuICAgICAgICAgICAgICAgICAgICBpc1ByZWZldGNoOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB1bnN0YWJsZV9za2lwQ2xpZW50Q2FjaGU6IG9wdGlvbnMudW5zdGFibGVfc2tpcENsaWVudENhY2hlIHx8IG9wdGlvbnMucHJpb3JpdHlcbiAgICAgICAgICAgICAgICB9KS50aGVuKCgpPT5mYWxzZSkgOiBmYWxzZTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGhpcy5wYWdlTG9hZGVyW29wdGlvbnMucHJpb3JpdHkgPyBcImxvYWRQYWdlXCIgOiBcInByZWZldGNoXCJdKHJvdXRlKSwgXG4gICAgICAgIF0pO1xuICAgIH1cbiAgICBhc3luYyBmZXRjaENvbXBvbmVudChyb3V0ZSkge1xuICAgICAgICBjb25zdCBoYW5kbGVDYW5jZWxsZWQgPSBnZXRDYW5jZWxsZWRIYW5kbGVyKHtcbiAgICAgICAgICAgIHJvdXRlLFxuICAgICAgICAgICAgcm91dGVyOiB0aGlzXG4gICAgICAgIH0pO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVzdWx0ID0gYXdhaXQgdGhpcy5wYWdlTG9hZGVyLmxvYWRQYWdlKHJvdXRlKTtcbiAgICAgICAgICAgIGhhbmRsZUNhbmNlbGxlZCgpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlc3VsdDtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBoYW5kbGVDYW5jZWxsZWQoKTtcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBfZ2V0RGF0YShmbikge1xuICAgICAgICBsZXQgY2FuY2VsbGVkID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGNhbmNlbCA9ICgpPT57XG4gICAgICAgICAgICBjYW5jZWxsZWQgPSB0cnVlO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNsYyA9IGNhbmNlbDtcbiAgICAgICAgcmV0dXJuIGZuKCkudGhlbigoZGF0YSk9PntcbiAgICAgICAgICAgIGlmIChjYW5jZWwgPT09IHRoaXMuY2xjKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGMgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcihcIkxvYWRpbmcgaW5pdGlhbCBwcm9wcyBjYW5jZWxsZWRcIik7XG4gICAgICAgICAgICAgICAgZXJyLmNhbmNlbGxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfZ2V0RmxpZ2h0RGF0YShkYXRhSHJlZikge1xuICAgICAgICAvLyBEbyBub3QgY2FjaGUgUlNDIGZsaWdodCByZXNwb25zZSBzaW5jZSBpdCdzIG5vdCBhIHN0YXRpYyByZXNvdXJjZVxuICAgICAgICByZXR1cm4gZmV0Y2hOZXh0RGF0YSh7XG4gICAgICAgICAgICBkYXRhSHJlZixcbiAgICAgICAgICAgIGlzU2VydmVyUmVuZGVyOiB0cnVlLFxuICAgICAgICAgICAgcGFyc2VKU09OOiBmYWxzZSxcbiAgICAgICAgICAgIGluZmxpZ2h0Q2FjaGU6IHRoaXMuc2RjLFxuICAgICAgICAgICAgcGVyc2lzdENhY2hlOiBmYWxzZSxcbiAgICAgICAgICAgIGlzUHJlZmV0Y2g6IGZhbHNlXG4gICAgICAgIH0pLnRoZW4oKHsgdGV4dCAgfSk9Pih7XG4gICAgICAgICAgICAgICAgZGF0YTogdGV4dFxuICAgICAgICAgICAgfSkpO1xuICAgIH1cbiAgICBnZXRJbml0aWFsUHJvcHMoQ29tcG9uZW50LCBjdHgpIHtcbiAgICAgICAgY29uc3QgeyBDb21wb25lbnQ6IEFwcCAgfSA9IHRoaXMuY29tcG9uZW50c1tcIi9fYXBwXCJdO1xuICAgICAgICBjb25zdCBBcHBUcmVlID0gdGhpcy5fd3JhcEFwcChBcHApO1xuICAgICAgICBjdHguQXBwVHJlZSA9IEFwcFRyZWU7XG4gICAgICAgIHJldHVybiAoMCwgX3V0aWxzKS5sb2FkR2V0SW5pdGlhbFByb3BzKEFwcCwge1xuICAgICAgICAgICAgQXBwVHJlZSxcbiAgICAgICAgICAgIENvbXBvbmVudCxcbiAgICAgICAgICAgIHJvdXRlcjogdGhpcyxcbiAgICAgICAgICAgIGN0eFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0IHJvdXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5yb3V0ZTtcbiAgICB9XG4gICAgZ2V0IHBhdGhuYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5wYXRobmFtZTtcbiAgICB9XG4gICAgZ2V0IHF1ZXJ5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5xdWVyeTtcbiAgICB9XG4gICAgZ2V0IGFzUGF0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUuYXNQYXRoO1xuICAgIH1cbiAgICBnZXQgbG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5sb2NhbGU7XG4gICAgfVxuICAgIGdldCBpc0ZhbGxiYWNrKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc0ZhbGxiYWNrO1xuICAgIH1cbiAgICBnZXQgaXNQcmV2aWV3KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc1ByZXZpZXc7XG4gICAgfVxufVxuZXhwb3J0cy5kZWZhdWx0ID0gUm91dGVyO1xuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDoge1xuICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICB9O1xufVxuZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKCkge1xuICAgIGlmICh0eXBlb2YgV2Vha01hcCAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gbnVsbDtcbiAgICB2YXIgY2FjaGUgPSBuZXcgV2Vha01hcCgpO1xuICAgIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY2FjaGU7XG4gICAgfTtcbiAgICByZXR1cm4gY2FjaGU7XG59XG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChvYmopIHtcbiAgICBpZiAob2JqICYmIG9iai5fX2VzTW9kdWxlKSB7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2Ygb2JqICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IG9ialxuICAgICAgICB9O1xuICAgIH1cbiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUoKTtcbiAgICBpZiAoY2FjaGUgJiYgY2FjaGUuaGFzKG9iaikpIHtcbiAgICAgICAgcmV0dXJuIGNhY2hlLmdldChvYmopO1xuICAgIH1cbiAgICB2YXIgbmV3T2JqID0ge307XG4gICAgdmFyIGhhc1Byb3BlcnR5RGVzY3JpcHRvciA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuICAgIGZvcih2YXIga2V5IGluIG9iail7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9IGhhc1Byb3BlcnR5RGVzY3JpcHRvciA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpIDogbnVsbDtcbiAgICAgICAgICAgIGlmIChkZXNjICYmIChkZXNjLmdldCB8fCBkZXNjLnNldCkpIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3T2JqLCBrZXksIGRlc2MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG5ld09iai5kZWZhdWx0ID0gb2JqO1xuICAgIGlmIChjYWNoZSkge1xuICAgICAgICBjYWNoZS5zZXQob2JqLCBuZXdPYmopO1xuICAgIH1cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuZnVuY3Rpb24gYnVpbGRDYW5jZWxsYXRpb25FcnJvcigpIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgRXJyb3IoXCJSb3V0ZSBDYW5jZWxsZWRcIiksIHtcbiAgICAgICAgY2FuY2VsbGVkOiB0cnVlXG4gICAgfSk7XG59XG5mdW5jdGlvbiBpc0xvY2FsVVJMKHVybCkge1xuICAgIC8vIHByZXZlbnQgYSBoeWRyYXRpb24gbWlzbWF0Y2ggb24gaHJlZiBmb3IgdXJsIHdpdGggYW5jaG9yIHJlZnNcbiAgICBpZiAoISgwLCBfdXRpbHMpLmlzQWJzb2x1dGVVcmwodXJsKSkgcmV0dXJuIHRydWU7XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gYWJzb2x1dGUgdXJscyBjYW4gYmUgbG9jYWwgaWYgdGhleSBhcmUgb24gdGhlIHNhbWUgb3JpZ2luXG4gICAgICAgIGNvbnN0IGxvY2F0aW9uT3JpZ2luID0gKDAsIF91dGlscykuZ2V0TG9jYXRpb25PcmlnaW4oKTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSBuZXcgVVJMKHVybCwgbG9jYXRpb25PcmlnaW4pO1xuICAgICAgICByZXR1cm4gcmVzb2x2ZWQub3JpZ2luID09PSBsb2NhdGlvbk9yaWdpbiAmJiAoMCwgX2hhc0Jhc2VQYXRoKS5oYXNCYXNlUGF0aChyZXNvbHZlZC5wYXRobmFtZSk7XG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuZnVuY3Rpb24gaW50ZXJwb2xhdGVBcyhyb3V0ZSwgYXNQYXRobmFtZSwgcXVlcnkpIHtcbiAgICBsZXQgaW50ZXJwb2xhdGVkUm91dGUgPSBcIlwiO1xuICAgIGNvbnN0IGR5bmFtaWNSZWdleCA9ICgwLCBfcm91dGVSZWdleCkuZ2V0Um91dGVSZWdleChyb3V0ZSk7XG4gICAgY29uc3QgZHluYW1pY0dyb3VwcyA9IGR5bmFtaWNSZWdleC5ncm91cHM7XG4gICAgY29uc3QgZHluYW1pY01hdGNoZXMgPSAvLyBUcnkgdG8gbWF0Y2ggdGhlIGR5bmFtaWMgcm91dGUgYWdhaW5zdCB0aGUgYXNQYXRoXG4gICAgKGFzUGF0aG5hbWUgIT09IHJvdXRlID8gKDAsIF9yb3V0ZU1hdGNoZXIpLmdldFJvdXRlTWF0Y2hlcihkeW5hbWljUmVnZXgpKGFzUGF0aG5hbWUpIDogXCJcIikgfHwgLy8gRmFsbCBiYWNrIHRvIHJlYWRpbmcgdGhlIHZhbHVlcyBmcm9tIHRoZSBocmVmXG4gICAgLy8gVE9ETzogc2hvdWxkIHRoaXMgdGFrZSBwcmlvcml0eTsgYWxzbyBuZWVkIHRvIGNoYW5nZSBpbiB0aGUgcm91dGVyLlxuICAgIHF1ZXJ5O1xuICAgIGludGVycG9sYXRlZFJvdXRlID0gcm91dGU7XG4gICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmtleXMoZHluYW1pY0dyb3Vwcyk7XG4gICAgaWYgKCFwYXJhbXMuZXZlcnkoKHBhcmFtKT0+e1xuICAgICAgICBsZXQgdmFsdWUgPSBkeW5hbWljTWF0Y2hlc1twYXJhbV0gfHwgXCJcIjtcbiAgICAgICAgY29uc3QgeyByZXBlYXQgLCBvcHRpb25hbCAgfSA9IGR5bmFtaWNHcm91cHNbcGFyYW1dO1xuICAgICAgICAvLyBzdXBwb3J0IHNpbmdsZS1sZXZlbCBjYXRjaC1hbGxcbiAgICAgICAgLy8gVE9ETzogbW9yZSByb2J1c3QgaGFuZGxpbmcgZm9yIHVzZXItZXJyb3IgKHBhc3NpbmcgYC9gKVxuICAgICAgICBsZXQgcmVwbGFjZWQgPSBgWyR7cmVwZWF0ID8gXCIuLi5cIiA6IFwiXCJ9JHtwYXJhbX1dYDtcbiAgICAgICAgaWYgKG9wdGlvbmFsKSB7XG4gICAgICAgICAgICByZXBsYWNlZCA9IGAkeyF2YWx1ZSA/IFwiL1wiIDogXCJcIn1bJHtyZXBsYWNlZH1dYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVwZWF0ICYmICFBcnJheS5pc0FycmF5KHZhbHVlKSkgdmFsdWUgPSBbXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4gKG9wdGlvbmFsIHx8IHBhcmFtIGluIGR5bmFtaWNNYXRjaGVzKSAmJiAvLyBJbnRlcnBvbGF0ZSBncm91cCBpbnRvIGRhdGEgVVJMIGlmIHByZXNlbnRcbiAgICAgICAgKGludGVycG9sYXRlZFJvdXRlID0gaW50ZXJwb2xhdGVkUm91dGUucmVwbGFjZShyZXBsYWNlZCwgcmVwZWF0ID8gdmFsdWUubWFwKC8vIHRoZXNlIHZhbHVlcyBzaG91bGQgYmUgZnVsbHkgZW5jb2RlZCBpbnN0ZWFkIG9mIGp1c3RcbiAgICAgICAgLy8gcGF0aCBkZWxpbWl0ZXIgZXNjYXBlZCBzaW5jZSB0aGV5IGFyZSBiZWluZyBpbnNlcnRlZFxuICAgICAgICAvLyBpbnRvIHRoZSBVUkwgYW5kIHdlIGV4cGVjdCBVUkwgZW5jb2RlZCBzZWdtZW50c1xuICAgICAgICAvLyB3aGVuIHBhcnNpbmcgZHluYW1pYyByb3V0ZSBwYXJhbXNcbiAgICAgICAgKHNlZ21lbnQpPT5lbmNvZGVVUklDb21wb25lbnQoc2VnbWVudCkpLmpvaW4oXCIvXCIpIDogZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKSkgfHwgXCIvXCIpO1xuICAgIH0pKSB7XG4gICAgICAgIGludGVycG9sYXRlZFJvdXRlID0gXCJcIiAvLyBkaWQgbm90IHNhdGlzZnkgYWxsIHJlcXVpcmVtZW50c1xuICAgICAgICA7XG4gICAgLy8gbi5iLiBXZSBpZ25vcmUgdGhpcyBlcnJvciBiZWNhdXNlIHdlIGhhbmRsZSB3YXJuaW5nIGZvciB0aGlzIGNhc2UgaW5cbiAgICAvLyBkZXZlbG9wbWVudCBpbiB0aGUgYDxMaW5rPmAgY29tcG9uZW50IGRpcmVjdGx5LlxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBwYXJhbXMsXG4gICAgICAgIHJlc3VsdDogaW50ZXJwb2xhdGVkUm91dGVcbiAgICB9O1xufVxuZnVuY3Rpb24gb21pdChvYmplY3QsIGtleXMpIHtcbiAgICBjb25zdCBvbWl0dGVkID0ge307XG4gICAgT2JqZWN0LmtleXMob2JqZWN0KS5mb3JFYWNoKChrZXkpPT57XG4gICAgICAgIGlmICgha2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICBvbWl0dGVkW2tleV0gPSBvYmplY3Rba2V5XTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBvbWl0dGVkO1xufVxuZnVuY3Rpb24gcmVzb2x2ZUhyZWYocm91dGVyLCBocmVmLCByZXNvbHZlQXMpIHtcbiAgICAvLyB3ZSB1c2UgYSBkdW1teSBiYXNlIHVybCBmb3IgcmVsYXRpdmUgdXJsc1xuICAgIGxldCBiYXNlO1xuICAgIGxldCB1cmxBc1N0cmluZyA9IHR5cGVvZiBocmVmID09PSBcInN0cmluZ1wiID8gaHJlZiA6ICgwLCBfZm9ybWF0VXJsKS5mb3JtYXRXaXRoVmFsaWRhdGlvbihocmVmKTtcbiAgICAvLyByZXBlYXRlZCBzbGFzaGVzIGFuZCBiYWNrc2xhc2hlcyBpbiB0aGUgVVJMIGFyZSBjb25zaWRlcmVkXG4gICAgLy8gaW52YWxpZCBhbmQgd2lsbCBuZXZlciBtYXRjaCBhIE5leHQuanMgcGFnZS9maWxlXG4gICAgY29uc3QgdXJsUHJvdG9NYXRjaCA9IHVybEFzU3RyaW5nLm1hdGNoKC9eW2EtekEtWl17MSx9OlxcL1xcLy8pO1xuICAgIGNvbnN0IHVybEFzU3RyaW5nTm9Qcm90byA9IHVybFByb3RvTWF0Y2ggPyB1cmxBc1N0cmluZy5zbGljZSh1cmxQcm90b01hdGNoWzBdLmxlbmd0aCkgOiB1cmxBc1N0cmluZztcbiAgICBjb25zdCB1cmxQYXJ0cyA9IHVybEFzU3RyaW5nTm9Qcm90by5zcGxpdChcIj9cIik7XG4gICAgaWYgKCh1cmxQYXJ0c1swXSB8fCBcIlwiKS5tYXRjaCgvKFxcL1xcL3xcXFxcKS8pKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEludmFsaWQgaHJlZiBwYXNzZWQgdG8gbmV4dC9yb3V0ZXI6ICR7dXJsQXNTdHJpbmd9LCByZXBlYXRlZCBmb3J3YXJkLXNsYXNoZXMgKC8vKSBvciBiYWNrc2xhc2hlcyBcXFxcIGFyZSBub3QgdmFsaWQgaW4gdGhlIGhyZWZgKTtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZFVybCA9ICgwLCBfdXRpbHMpLm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyh1cmxBc1N0cmluZ05vUHJvdG8pO1xuICAgICAgICB1cmxBc1N0cmluZyA9ICh1cmxQcm90b01hdGNoID8gdXJsUHJvdG9NYXRjaFswXSA6IFwiXCIpICsgbm9ybWFsaXplZFVybDtcbiAgICB9XG4gICAgLy8gUmV0dXJuIGJlY2F1c2UgaXQgY2Fubm90IGJlIHJvdXRlZCBieSB0aGUgTmV4dC5qcyByb3V0ZXJcbiAgICBpZiAoIWlzTG9jYWxVUkwodXJsQXNTdHJpbmcpKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlQXMgPyBbXG4gICAgICAgICAgICB1cmxBc1N0cmluZ1xuICAgICAgICBdIDogdXJsQXNTdHJpbmc7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGJhc2UgPSBuZXcgVVJMKHVybEFzU3RyaW5nLnN0YXJ0c1dpdGgoXCIjXCIpID8gcm91dGVyLmFzUGF0aCA6IHJvdXRlci5wYXRobmFtZSwgXCJodHRwOi8vblwiKTtcbiAgICB9IGNhdGNoIChfKSB7XG4gICAgICAgIC8vIGZhbGxiYWNrIHRvIC8gZm9yIGludmFsaWQgYXNQYXRoIHZhbHVlcyBlLmcuIC8vXG4gICAgICAgIGJhc2UgPSBuZXcgVVJMKFwiL1wiLCBcImh0dHA6Ly9uXCIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBjb25zdCBmaW5hbFVybCA9IG5ldyBVUkwodXJsQXNTdHJpbmcsIGJhc2UpO1xuICAgICAgICBmaW5hbFVybC5wYXRobmFtZSA9ICgwLCBfbm9ybWFsaXplVHJhaWxpbmdTbGFzaCkubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2goZmluYWxVcmwucGF0aG5hbWUpO1xuICAgICAgICBsZXQgaW50ZXJwb2xhdGVkQXMgPSBcIlwiO1xuICAgICAgICBpZiAoKDAsIF9pc0R5bmFtaWMpLmlzRHluYW1pY1JvdXRlKGZpbmFsVXJsLnBhdGhuYW1lKSAmJiBmaW5hbFVybC5zZWFyY2hQYXJhbXMgJiYgcmVzb2x2ZUFzKSB7XG4gICAgICAgICAgICBjb25zdCBxdWVyeSA9ICgwLCBfcXVlcnlzdHJpbmcpLnNlYXJjaFBhcmFtc1RvVXJsUXVlcnkoZmluYWxVcmwuc2VhcmNoUGFyYW1zKTtcbiAgICAgICAgICAgIGNvbnN0IHsgcmVzdWx0ICwgcGFyYW1zICB9ID0gaW50ZXJwb2xhdGVBcyhmaW5hbFVybC5wYXRobmFtZSwgZmluYWxVcmwucGF0aG5hbWUsIHF1ZXJ5KTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBpbnRlcnBvbGF0ZWRBcyA9ICgwLCBfZm9ybWF0VXJsKS5mb3JtYXRXaXRoVmFsaWRhdGlvbih7XG4gICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lOiByZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgIGhhc2g6IGZpbmFsVXJsLmhhc2gsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBvbWl0KHF1ZXJ5LCBwYXJhbXMpXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgdGhlIG9yaWdpbiBkaWRuJ3QgY2hhbmdlLCBpdCBtZWFucyB3ZSByZWNlaXZlZCBhIHJlbGF0aXZlIGhyZWZcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRIcmVmID0gZmluYWxVcmwub3JpZ2luID09PSBiYXNlLm9yaWdpbiA/IGZpbmFsVXJsLmhyZWYuc2xpY2UoZmluYWxVcmwub3JpZ2luLmxlbmd0aCkgOiBmaW5hbFVybC5ocmVmO1xuICAgICAgICByZXR1cm4gcmVzb2x2ZUFzID8gW1xuICAgICAgICAgICAgcmVzb2x2ZWRIcmVmLFxuICAgICAgICAgICAgaW50ZXJwb2xhdGVkQXMgfHwgcmVzb2x2ZWRIcmVmXG4gICAgICAgIF0gOiByZXNvbHZlZEhyZWY7XG4gICAgfSBjYXRjaCAoXzEpIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmVBcyA/IFtcbiAgICAgICAgICAgIHVybEFzU3RyaW5nXG4gICAgICAgIF0gOiB1cmxBc1N0cmluZztcbiAgICB9XG59XG5mdW5jdGlvbiBzdHJpcE9yaWdpbih1cmwpIHtcbiAgICBjb25zdCBvcmlnaW4gPSAoMCwgX3V0aWxzKS5nZXRMb2NhdGlvbk9yaWdpbigpO1xuICAgIHJldHVybiB1cmwuc3RhcnRzV2l0aChvcmlnaW4pID8gdXJsLnN1YnN0cmluZyhvcmlnaW4ubGVuZ3RoKSA6IHVybDtcbn1cbmZ1bmN0aW9uIHByZXBhcmVVcmxBcyhyb3V0ZXIsIHVybCwgYXMpIHtcbiAgICAvLyBJZiB1cmwgYW5kIGFzIHByb3ZpZGVkIGFzIGFuIG9iamVjdCByZXByZXNlbnRhdGlvbixcbiAgICAvLyB3ZSdsbCBmb3JtYXQgdGhlbSBpbnRvIHRoZSBzdHJpbmcgdmVyc2lvbiBoZXJlLlxuICAgIGxldCBbcmVzb2x2ZWRIcmVmLCByZXNvbHZlZEFzXSA9IHJlc29sdmVIcmVmKHJvdXRlciwgdXJsLCB0cnVlKTtcbiAgICBjb25zdCBvcmlnaW4gPSAoMCwgX3V0aWxzKS5nZXRMb2NhdGlvbk9yaWdpbigpO1xuICAgIGNvbnN0IGhyZWZIYWRPcmlnaW4gPSByZXNvbHZlZEhyZWYuc3RhcnRzV2l0aChvcmlnaW4pO1xuICAgIGNvbnN0IGFzSGFkT3JpZ2luID0gcmVzb2x2ZWRBcyAmJiByZXNvbHZlZEFzLnN0YXJ0c1dpdGgob3JpZ2luKTtcbiAgICByZXNvbHZlZEhyZWYgPSBzdHJpcE9yaWdpbihyZXNvbHZlZEhyZWYpO1xuICAgIHJlc29sdmVkQXMgPSByZXNvbHZlZEFzID8gc3RyaXBPcmlnaW4ocmVzb2x2ZWRBcykgOiByZXNvbHZlZEFzO1xuICAgIGNvbnN0IHByZXBhcmVkVXJsID0gaHJlZkhhZE9yaWdpbiA/IHJlc29sdmVkSHJlZiA6ICgwLCBfYWRkQmFzZVBhdGgpLmFkZEJhc2VQYXRoKHJlc29sdmVkSHJlZik7XG4gICAgY29uc3QgcHJlcGFyZWRBcyA9IGFzID8gc3RyaXBPcmlnaW4ocmVzb2x2ZUhyZWYocm91dGVyLCBhcykpIDogcmVzb2x2ZWRBcyB8fCByZXNvbHZlZEhyZWY7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdXJsOiBwcmVwYXJlZFVybCxcbiAgICAgICAgYXM6IGFzSGFkT3JpZ2luID8gcHJlcGFyZWRBcyA6ICgwLCBfYWRkQmFzZVBhdGgpLmFkZEJhc2VQYXRoKHByZXBhcmVkQXMpXG4gICAgfTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVEeW5hbWljUm91dGUocGF0aG5hbWUsIHBhZ2VzKSB7XG4gICAgY29uc3QgY2xlYW5QYXRobmFtZSA9ICgwLCBfcmVtb3ZlVHJhaWxpbmdTbGFzaCkucmVtb3ZlVHJhaWxpbmdTbGFzaCgoMCwgX2Rlbm9ybWFsaXplUGFnZVBhdGgpLmRlbm9ybWFsaXplUGFnZVBhdGgocGF0aG5hbWUpKTtcbiAgICBpZiAoY2xlYW5QYXRobmFtZSA9PT0gXCIvNDA0XCIgfHwgY2xlYW5QYXRobmFtZSA9PT0gXCIvX2Vycm9yXCIpIHtcbiAgICAgICAgcmV0dXJuIHBhdGhuYW1lO1xuICAgIH1cbiAgICAvLyBoYW5kbGUgcmVzb2x2aW5nIGhyZWYgZm9yIGR5bmFtaWMgcm91dGVzXG4gICAgaWYgKCFwYWdlcy5pbmNsdWRlcyhjbGVhblBhdGhuYW1lKSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYXJyYXktY2FsbGJhY2stcmV0dXJuXG4gICAgICAgIHBhZ2VzLnNvbWUoKHBhZ2UpPT57XG4gICAgICAgICAgICBpZiAoKDAsIF9pc0R5bmFtaWMpLmlzRHluYW1pY1JvdXRlKHBhZ2UpICYmICgwLCBfcm91dGVSZWdleCkuZ2V0Um91dGVSZWdleChwYWdlKS5yZS50ZXN0KGNsZWFuUGF0aG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgcGF0aG5hbWUgPSBwYWdlO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuICgwLCBfcmVtb3ZlVHJhaWxpbmdTbGFzaCkucmVtb3ZlVHJhaWxpbmdTbGFzaChwYXRobmFtZSk7XG59XG5jb25zdCBtYW51YWxTY3JvbGxSZXN0b3JhdGlvbiA9IHByb2Nlc3MuZW52Ll9fTkVYVF9TQ1JPTExfUkVTVE9SQVRJT04gJiYgdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiBcInNjcm9sbFJlc3RvcmF0aW9uXCIgaW4gd2luZG93Lmhpc3RvcnkgJiYgISFmdW5jdGlvbigpIHtcbiAgICB0cnkge1xuICAgICAgICBsZXQgdiA9IFwiX19uZXh0XCI7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZXF1ZW5jZXNcbiAgICAgICAgcmV0dXJuIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0odiwgdiksIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0odiksIHRydWU7XG4gICAgfSBjYXRjaCAobikge31cbn0oKTtcbmNvbnN0IFNTR19EQVRBX05PVF9GT1VORCA9IFN5bWJvbChcIlNTR19EQVRBX05PVF9GT1VORFwiKTtcbmZ1bmN0aW9uIGZldGNoUmV0cnkodXJsLCBhdHRlbXB0cywgb3B0aW9ucykge1xuICAgIHJldHVybiBmZXRjaCh1cmwsIHtcbiAgICAgICAgLy8gQ29va2llcyBhcmUgcmVxdWlyZWQgdG8gYmUgcHJlc2VudCBmb3IgTmV4dC5qcycgU1NHIFwiUHJldmlldyBNb2RlXCIuXG4gICAgICAgIC8vIENvb2tpZXMgbWF5IGFsc28gYmUgcmVxdWlyZWQgZm9yIGBnZXRTZXJ2ZXJTaWRlUHJvcHNgLlxuICAgICAgICAvL1xuICAgICAgICAvLyA+IGBmZXRjaGAgd29u4oCZdCBzZW5kIGNvb2tpZXMsIHVubGVzcyB5b3Ugc2V0IHRoZSBjcmVkZW50aWFscyBpbml0XG4gICAgICAgIC8vID4gb3B0aW9uLlxuICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRmV0Y2hfQVBJL1VzaW5nX0ZldGNoXG4gICAgICAgIC8vXG4gICAgICAgIC8vID4gRm9yIG1heGltdW0gYnJvd3NlciBjb21wYXRpYmlsaXR5IHdoZW4gaXQgY29tZXMgdG8gc2VuZGluZyAmXG4gICAgICAgIC8vID4gcmVjZWl2aW5nIGNvb2tpZXMsIGFsd2F5cyBzdXBwbHkgdGhlIGBjcmVkZW50aWFsczogJ3NhbWUtb3JpZ2luJ2BcbiAgICAgICAgLy8gPiBvcHRpb24gaW5zdGVhZCBvZiByZWx5aW5nIG9uIHRoZSBkZWZhdWx0LlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ2l0aHViL2ZldGNoI2NhdmVhdHNcbiAgICAgICAgY3JlZGVudGlhbHM6IFwic2FtZS1vcmlnaW5cIixcbiAgICAgICAgbWV0aG9kOiBvcHRpb25zLm1ldGhvZCB8fCBcIkdFVFwiLFxuICAgICAgICBoZWFkZXJzOiBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zLmhlYWRlcnMsIHtcbiAgICAgICAgICAgIFwieC1uZXh0anMtZGF0YVwiOiBcIjFcIlxuICAgICAgICB9KVxuICAgIH0pLnRoZW4oKHJlc3BvbnNlKT0+e1xuICAgICAgICByZXR1cm4gIXJlc3BvbnNlLm9rICYmIGF0dGVtcHRzID4gMSAmJiByZXNwb25zZS5zdGF0dXMgPj0gNTAwID8gZmV0Y2hSZXRyeSh1cmwsIGF0dGVtcHRzIC0gMSwgb3B0aW9ucykgOiByZXNwb25zZTtcbiAgICB9KTtcbn1cbmNvbnN0IGJhY2tncm91bmRDYWNoZSA9IHt9O1xuZnVuY3Rpb24gZmV0Y2hOZXh0RGF0YSh7IGRhdGFIcmVmICwgaW5mbGlnaHRDYWNoZSAsIGlzUHJlZmV0Y2ggLCBoYXNNaWRkbGV3YXJlICwgaXNTZXJ2ZXJSZW5kZXIgLCBwYXJzZUpTT04gLCBwZXJzaXN0Q2FjaGUgLCBpc0JhY2tncm91bmQgLCB1bnN0YWJsZV9za2lwQ2xpZW50Q2FjaGUgIH0pIHtcbiAgICBjb25zdCB7IGhyZWY6IGNhY2hlS2V5ICB9ID0gbmV3IFVSTChkYXRhSHJlZiwgd2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICAgIHZhciByZWY1O1xuICAgIGNvbnN0IGdldERhdGEgPSAocGFyYW1zKT0+e1xuICAgICAgICByZXR1cm4gZmV0Y2hSZXRyeShkYXRhSHJlZiwgaXNTZXJ2ZXJSZW5kZXIgPyAzIDogMSwge1xuICAgICAgICAgICAgaGVhZGVyczogaXNQcmVmZXRjaCA/IHtcbiAgICAgICAgICAgICAgICBwdXJwb3NlOiBcInByZWZldGNoXCJcbiAgICAgICAgICAgIH0gOiB7fSxcbiAgICAgICAgICAgIG1ldGhvZDogKHJlZjUgPSBwYXJhbXMgPT0gbnVsbCA/IHZvaWQgMCA6IHBhcmFtcy5tZXRob2QpICE9IG51bGwgPyByZWY1IDogXCJHRVRcIlxuICAgICAgICB9KS50aGVuKChyZXNwb25zZSk9PntcbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5vayAmJiAocGFyYW1zID09IG51bGwgPyB2b2lkIDAgOiBwYXJhbXMubWV0aG9kKSA9PT0gXCJIRUFEXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBkYXRhSHJlZixcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgIGpzb246IHt9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCkudGhlbigodGV4dCk9PntcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogV2hlbiB0aGUgZGF0YSByZXNwb25zZSBpcyBhIHJlZGlyZWN0IGJlY2F1c2Ugb2YgYSBtaWRkbGV3YXJlXG4gICAgICAgICAgICAgKiB3ZSBkbyBub3QgY29uc2lkZXIgaXQgYW4gZXJyb3IuIFRoZSBoZWFkZXJzIG11c3QgYnJpbmcgdGhlXG4gICAgICAgICAgICAgKiBtYXBwZWQgbG9jYXRpb24uXG4gICAgICAgICAgICAgKiBUT0RPOiBDaGFuZ2UgdGhlIHN0YXR1cyBjb2RlIGluIHRoZSBoYW5kbGVyLlxuICAgICAgICAgICAgICovIGlmIChoYXNNaWRkbGV3YXJlICYmIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIDMwMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDMwMixcbiAgICAgICAgICAgICAgICAgICAgICAgIDMwNyxcbiAgICAgICAgICAgICAgICAgICAgICAgIDMwOFxuICAgICAgICAgICAgICAgICAgICBdLmluY2x1ZGVzKHJlc3BvbnNlLnN0YXR1cykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUhyZWYsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uOiB7fVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZWY7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHJlZiA9IHRyeVRvUGFyc2VBc0pTT04odGV4dCkpID09IG51bGwgPyB2b2lkIDAgOiByZWYubm90Rm91bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhSHJlZixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90Rm91bmQ6IFNTR19EQVRBX05PVF9GT1VORFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICogSWYgdGhlcmUgaXMgYSA0MDQgdGhhdCBpcyBub3QgZm9yIFNTRyB3ZSB1c2VkIHRvIGZhaWwgYnV0IGlmXG4gICAgICAgICAgICAgICAqIHRoZXJlIGlzIGEgbWlkZGxld2FyZSB3ZSBtdXN0IHJlc3BvbmQgd2l0aCBhbiBlbXB0eSBvYmplY3QuXG4gICAgICAgICAgICAgICAqIEZvciBub3cgd2Ugd2lsbCByZXR1cm4gdGhlIGRhdGEgd2hlbiB0aGVyZSBpcyBhIG1pZGRsZXdhcmUuXG4gICAgICAgICAgICAgICAqIFRPRE86IFVwZGF0ZSB0aGUgc2VydmVyIHRvIHN1Y2Nlc3Mgb24gdGhlc2UgcmVxdWVzdHMuXG4gICAgICAgICAgICAgICAqLyBpZiAoaGFzTWlkZGxld2FyZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFIcmVmLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbjoge31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKGBGYWlsZWQgdG8gbG9hZCBzdGF0aWMgcHJvcHNgKTtcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBXZSBzaG91bGQgb25seSB0cmlnZ2VyIGEgc2VydmVyLXNpZGUgdHJhbnNpdGlvbiBpZiB0aGlzIHdhc1xuICAgICAgICAgICAgICogY2F1c2VkIG9uIGEgY2xpZW50LXNpZGUgdHJhbnNpdGlvbi4gT3RoZXJ3aXNlLCB3ZSdkIGdldCBpbnRvXG4gICAgICAgICAgICAgKiBhbiBpbmZpbml0ZSBsb29wLlxuICAgICAgICAgICAgICovIGlmICghaXNTZXJ2ZXJSZW5kZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfcm91dGVMb2FkZXIpLm1hcmtBc3NldEVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YUhyZWYsXG4gICAgICAgICAgICAgICAgICAgIGpzb246IHBhcnNlSlNPTiA/IHRyeVRvUGFyc2VBc0pTT04odGV4dCkgOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgIHRleHRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pLnRoZW4oKGRhdGEpPT57XG4gICAgICAgICAgICBpZiAoIXBlcnNpc3RDYWNoZSB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgfHwgZGF0YS5yZXNwb25zZS5oZWFkZXJzLmdldChcIngtbWlkZGxld2FyZS1jYWNoZVwiKSA9PT0gXCJuby1jYWNoZVwiKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGluZmxpZ2h0Q2FjaGVbY2FjaGVLZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0pLmNhdGNoKChlcnIpPT57XG4gICAgICAgICAgICBkZWxldGUgaW5mbGlnaHRDYWNoZVtjYWNoZUtleV07XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgLy8gd2hlbiBza2lwcGluZyBjbGllbnQgY2FjaGUgd2Ugd2FpdCB0byB1cGRhdGVcbiAgICAvLyBpbmZsaWdodCBjYWNoZSB1bnRpbCBzdWNjZXNzZnVsIGRhdGEgcmVzcG9uc2VcbiAgICAvLyB0aGlzIGFsbG93cyByYWNpbmcgY2xpY2sgZXZlbnQgd2l0aCBmZXRjaGluZyBuZXdlciBkYXRhXG4gICAgLy8gd2l0aG91dCBibG9ja2luZyBuYXZpZ2F0aW9uIHdoZW4gc3RhbGUgZGF0YSBpcyBhdmFpbGFibGVcbiAgICBpZiAodW5zdGFibGVfc2tpcENsaWVudENhY2hlICYmIHBlcnNpc3RDYWNoZSkge1xuICAgICAgICByZXR1cm4gZ2V0RGF0YSh7fSkudGhlbigoZGF0YSk9PntcbiAgICAgICAgICAgIGluZmxpZ2h0Q2FjaGVbY2FjaGVLZXldID0gUHJvbWlzZS5yZXNvbHZlKGRhdGEpO1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoaW5mbGlnaHRDYWNoZVtjYWNoZUtleV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gaW5mbGlnaHRDYWNoZVtjYWNoZUtleV07XG4gICAgfVxuICAgIHJldHVybiBpbmZsaWdodENhY2hlW2NhY2hlS2V5XSA9IGdldERhdGEoaXNCYWNrZ3JvdW5kID8ge1xuICAgICAgICBtZXRob2Q6IFwiSEVBRFwiXG4gICAgfSA6IHt9KTtcbn1cbmZ1bmN0aW9uIHRyeVRvUGFyc2VBc0pTT04odGV4dCkge1xuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKHRleHQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG59XG5mdW5jdGlvbiBjcmVhdGVLZXkoKSB7XG4gICAgcmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDEwKTtcbn1cbmZ1bmN0aW9uIGhhbmRsZUhhcmROYXZpZ2F0aW9uKHsgdXJsICwgcm91dGVyICB9KSB7XG4gICAgLy8gZW5zdXJlIHdlIGRvbid0IHRyaWdnZXIgYSBoYXJkIG5hdmlnYXRpb24gdG8gdGhlIHNhbWVcbiAgICAvLyBVUkwgYXMgdGhpcyBjYW4gZW5kIHVwIHdpdGggYW4gaW5maW5pdGUgcmVmcmVzaFxuICAgIGlmICh1cmwgPT09ICgwLCBfYWRkQmFzZVBhdGgpLmFkZEJhc2VQYXRoKCgwLCBfYWRkTG9jYWxlKS5hZGRMb2NhbGUocm91dGVyLmFzUGF0aCwgcm91dGVyLmxvY2FsZSkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YXJpYW50OiBhdHRlbXB0ZWQgdG8gaGFyZCBuYXZpZ2F0ZSB0byB0aGUgc2FtZSBVUkwgJHt1cmx9ICR7bG9jYXRpb24uaHJlZn1gKTtcbiAgICB9XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XG59XG5jb25zdCBnZXRDYW5jZWxsZWRIYW5kbGVyID0gKHsgcm91dGUgLCByb3V0ZXIgIH0pPT57XG4gICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGNhbmNlbCA9IHJvdXRlci5jbGMgPSAoKT0+e1xuICAgICAgICBjYW5jZWxsZWQgPSB0cnVlO1xuICAgIH07XG4gICAgY29uc3QgaGFuZGxlQ2FuY2VsbGVkID0gKCk9PntcbiAgICAgICAgaWYgKGNhbmNlbGxlZCkge1xuICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoYEFib3J0IGZldGNoaW5nIGNvbXBvbmVudCBmb3Igcm91dGU6IFwiJHtyb3V0ZX1cImApO1xuICAgICAgICAgICAgZXJyb3IuY2FuY2VsbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjYW5jZWwgPT09IHJvdXRlci5jbGMpIHtcbiAgICAgICAgICAgIHJvdXRlci5jbGMgPSBudWxsO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gaGFuZGxlQ2FuY2VsbGVkO1xufTtcbmZ1bmN0aW9uIG1hdGNoZXNNaWRkbGV3YXJlKG9wdGlvbnMpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG9wdGlvbnMucm91dGVyLnBhZ2VMb2FkZXIuZ2V0TWlkZGxld2FyZUxpc3QoKSkudGhlbigoaXRlbXMpPT57XG4gICAgICAgIGNvbnN0IHsgcGF0aG5hbWU6IGFzUGF0aG5hbWUgIH0gPSAoMCwgX3BhcnNlUGF0aCkucGFyc2VQYXRoKG9wdGlvbnMuYXNQYXRoKTtcbiAgICAgICAgY29uc3QgY2xlYW5lZEFzID0gKDAsIF9oYXNCYXNlUGF0aCkuaGFzQmFzZVBhdGgoYXNQYXRobmFtZSkgPyAoMCwgX3JlbW92ZUJhc2VQYXRoKS5yZW1vdmVCYXNlUGF0aChhc1BhdGhuYW1lKSA6IGFzUGF0aG5hbWU7XG4gICAgICAgIHJldHVybiAhIShpdGVtcyA9PSBudWxsID8gdm9pZCAwIDogaXRlbXMuc29tZSgoW3JlZ2V4LCBzc3JdKT0+e1xuICAgICAgICAgICAgcmV0dXJuICFzc3IgJiYgbmV3IFJlZ0V4cChyZWdleCkudGVzdCgoMCwgX2FkZExvY2FsZSkuYWRkTG9jYWxlKGNsZWFuZWRBcywgb3B0aW9ucy5sb2NhbGUpKTtcbiAgICAgICAgfSkpO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gd2l0aE1pZGRsZXdhcmVFZmZlY3RzKG9wdGlvbnMpIHtcbiAgICByZXR1cm4gbWF0Y2hlc01pZGRsZXdhcmUob3B0aW9ucykudGhlbigobWF0Y2hlcyk9PntcbiAgICAgICAgaWYgKG1hdGNoZXMgJiYgb3B0aW9ucy5mZXRjaERhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmZldGNoRGF0YSgpLnRoZW4oKGRhdGEpPT5nZXRNaWRkbGV3YXJlRGF0YShkYXRhLmRhdGFIcmVmLCBkYXRhLnJlc3BvbnNlLCBvcHRpb25zKS50aGVuKChlZmZlY3QpPT4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUhyZWY6IGRhdGEuZGF0YUhyZWYsXG4gICAgICAgICAgICAgICAgICAgICAgICBqc29uOiBkYXRhLmpzb24sXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZTogZGF0YS5yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGRhdGEudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdFxuICAgICAgICAgICAgICAgICAgICB9KSkpLmNhdGNoKChfZXJyKT0+e1xuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIFRPRE86IFJldmlzaXQgdGhpcyBpbiB0aGUgZnV0dXJlLlxuICAgICAgICAgICAqIEZvciBub3cgd2Ugd2lsbCBub3QgY29uc2lkZXIgbWlkZGxld2FyZSBkYXRhIGVycm9ycyB0byBiZSBmYXRhbC5cbiAgICAgICAgICAgKiBtYXliZSB3ZSBzaG91bGQgcmV2aXNpdCBpbiB0aGUgZnV0dXJlLlxuICAgICAgICAgICAqLyByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gZ2V0TWlkZGxld2FyZURhdGEoc291cmNlLCByZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGNvbnN0IG5leHRDb25maWcgPSB7XG4gICAgICAgIGJhc2VQYXRoOiBvcHRpb25zLnJvdXRlci5iYXNlUGF0aCxcbiAgICAgICAgaTE4bjoge1xuICAgICAgICAgICAgbG9jYWxlczogb3B0aW9ucy5yb3V0ZXIubG9jYWxlc1xuICAgICAgICB9LFxuICAgICAgICB0cmFpbGluZ1NsYXNoOiBCb29sZWFuKHByb2Nlc3MuZW52Ll9fTkVYVF9UUkFJTElOR19TTEFTSClcbiAgICB9O1xuICAgIGNvbnN0IHJld3JpdGVIZWFkZXIgPSByZXNwb25zZS5oZWFkZXJzLmdldChcIngtbmV4dGpzLXJld3JpdGVcIik7XG4gICAgbGV0IHJld3JpdGVUYXJnZXQgPSByZXdyaXRlSGVhZGVyIHx8IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KFwieC1uZXh0anMtbWF0Y2hlZC1wYXRoXCIpO1xuICAgIGNvbnN0IG1hdGNoZWRQYXRoID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoXCJ4LW1hdGNoZWQtcGF0aFwiKTtcbiAgICBpZiAoIXJld3JpdGVUYXJnZXQgJiYgIShtYXRjaGVkUGF0aCA9PSBudWxsID8gdm9pZCAwIDogbWF0Y2hlZFBhdGguaW5jbHVkZXMoXCJfX25leHRfZGF0YV9jYXRjaGFsbFwiKSkpIHtcbiAgICAgICAgcmV3cml0ZVRhcmdldCA9IG1hdGNoZWRQYXRoO1xuICAgIH1cbiAgICBpZiAocmV3cml0ZVRhcmdldCkge1xuICAgICAgICBpZiAocmV3cml0ZVRhcmdldC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkUmV3cml0ZVRhcmdldCA9ICgwLCBfcGFyc2VSZWxhdGl2ZVVybCkucGFyc2VSZWxhdGl2ZVVybChyZXdyaXRlVGFyZ2V0KTtcbiAgICAgICAgICAgIGNvbnN0IHBhdGhuYW1lSW5mbyA9ICgwLCBfZ2V0TmV4dFBhdGhuYW1lSW5mbykuZ2V0TmV4dFBhdGhuYW1lSW5mbyhwYXJzZWRSZXdyaXRlVGFyZ2V0LnBhdGhuYW1lLCB7XG4gICAgICAgICAgICAgICAgbmV4dENvbmZpZyxcbiAgICAgICAgICAgICAgICBwYXJzZURhdGE6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgZnNQYXRobmFtZSA9ICgwLCBfcmVtb3ZlVHJhaWxpbmdTbGFzaCkucmVtb3ZlVHJhaWxpbmdTbGFzaChwYXRobmFtZUluZm8ucGF0aG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgICAgICBvcHRpb25zLnJvdXRlci5wYWdlTG9hZGVyLmdldFBhZ2VMaXN0KCksXG4gICAgICAgICAgICAgICAgKDAsIF9yb3V0ZUxvYWRlcikuZ2V0Q2xpZW50QnVpbGRNYW5pZmVzdCgpLCBcbiAgICAgICAgICAgIF0pLnRoZW4oKFtwYWdlcywgeyBfX3Jld3JpdGVzOiByZXdyaXRlcyAgfV0pPT57XG4gICAgICAgICAgICAgICAgbGV0IGFzID0gKDAsIF9hZGRMb2NhbGUpLmFkZExvY2FsZShwYXRobmFtZUluZm8ucGF0aG5hbWUsIHBhdGhuYW1lSW5mby5sb2NhbGUpO1xuICAgICAgICAgICAgICAgIGlmICgoMCwgX2lzRHluYW1pYykuaXNEeW5hbWljUm91dGUoYXMpIHx8ICFyZXdyaXRlSGVhZGVyICYmIHBhZ2VzLmluY2x1ZGVzKCgwLCBfbm9ybWFsaXplTG9jYWxlUGF0aCkubm9ybWFsaXplTG9jYWxlUGF0aCgoMCwgX3JlbW92ZUJhc2VQYXRoKS5yZW1vdmVCYXNlUGF0aChhcyksIG9wdGlvbnMucm91dGVyLmxvY2FsZXMpLnBhdGhuYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJzZWRTb3VyY2UgPSAoMCwgX2dldE5leHRQYXRobmFtZUluZm8pLmdldE5leHRQYXRobmFtZUluZm8oKDAsIF9wYXJzZVJlbGF0aXZlVXJsKS5wYXJzZVJlbGF0aXZlVXJsKHNvdXJjZSkucGF0aG5hbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlRGF0YTogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgYXMgPSAoMCwgX2FkZEJhc2VQYXRoKS5hZGRCYXNlUGF0aChwYXJzZWRTb3VyY2UucGF0aG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBwYXJzZWRSZXdyaXRlVGFyZ2V0LnBhdGhuYW1lID0gYXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSEFTX1JFV1JJVEVTKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9ICgwLCBfcmVzb2x2ZVJld3JpdGVzKS5kZWZhdWx0KGFzLCBwYWdlcywgcmV3cml0ZXMsIHBhcnNlZFJld3JpdGVUYXJnZXQucXVlcnksIChwYXRoKT0+cmVzb2x2ZUR5bmFtaWNSb3V0ZShwYXRoLCBwYWdlcyksIG9wdGlvbnMucm91dGVyLmxvY2FsZXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0Lm1hdGNoZWRQYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZWRSZXdyaXRlVGFyZ2V0LnBhdGhuYW1lID0gcmVzdWx0LnBhcnNlZEFzLnBhdGhuYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXMgPSBwYXJzZWRSZXdyaXRlVGFyZ2V0LnBhdGhuYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihwYXJzZWRSZXdyaXRlVGFyZ2V0LnF1ZXJ5LCByZXN1bHQucGFyc2VkQXMucXVlcnkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkSHJlZiA9ICFwYWdlcy5pbmNsdWRlcyhmc1BhdGhuYW1lKSA/IHJlc29sdmVEeW5hbWljUm91dGUoKDAsIF9ub3JtYWxpemVMb2NhbGVQYXRoKS5ub3JtYWxpemVMb2NhbGVQYXRoKCgwLCBfcmVtb3ZlQmFzZVBhdGgpLnJlbW92ZUJhc2VQYXRoKHBhcnNlZFJld3JpdGVUYXJnZXQucGF0aG5hbWUpLCBvcHRpb25zLnJvdXRlci5sb2NhbGVzKS5wYXRobmFtZSwgcGFnZXMpIDogZnNQYXRobmFtZTtcbiAgICAgICAgICAgICAgICBpZiAoKDAsIF9pc0R5bmFtaWMpLmlzRHluYW1pY1JvdXRlKHJlc29sdmVkSHJlZikpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9ICgwLCBfcm91dGVNYXRjaGVyKS5nZXRSb3V0ZU1hdGNoZXIoKDAsIF9yb3V0ZVJlZ2V4KS5nZXRSb3V0ZVJlZ2V4KHJlc29sdmVkSHJlZikpKGFzKTtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihwYXJzZWRSZXdyaXRlVGFyZ2V0LnF1ZXJ5LCBtYXRjaGVzIHx8IHt9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJyZXdyaXRlXCIsXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZEFzOiBwYXJzZWRSZXdyaXRlVGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlZEhyZWZcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3JjID0gKDAsIF9wYXJzZVBhdGgpLnBhcnNlUGF0aChzb3VyY2UpO1xuICAgICAgICBjb25zdCBwYXRobmFtZSA9ICgwLCBfZm9ybWF0TmV4dFBhdGhuYW1lSW5mbykuZm9ybWF0TmV4dFBhdGhuYW1lSW5mbyh7XG4gICAgICAgICAgICAuLi4oMCwgX2dldE5leHRQYXRobmFtZUluZm8pLmdldE5leHRQYXRobmFtZUluZm8oc3JjLnBhdGhuYW1lLCB7XG4gICAgICAgICAgICAgICAgbmV4dENvbmZpZyxcbiAgICAgICAgICAgICAgICBwYXJzZURhdGE6IHRydWVcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZGVmYXVsdExvY2FsZTogb3B0aW9ucy5yb3V0ZXIuZGVmYXVsdExvY2FsZSxcbiAgICAgICAgICAgIGJ1aWxkSWQ6IFwiXCJcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgdHlwZTogXCJyZWRpcmVjdC1leHRlcm5hbFwiLFxuICAgICAgICAgICAgZGVzdGluYXRpb246IGAke3BhdGhuYW1lfSR7c3JjLnF1ZXJ5fSR7c3JjLmhhc2h9YFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgcmVkaXJlY3RUYXJnZXQgPSByZXNwb25zZS5oZWFkZXJzLmdldChcIngtbmV4dGpzLXJlZGlyZWN0XCIpO1xuICAgIGlmIChyZWRpcmVjdFRhcmdldCkge1xuICAgICAgICBpZiAocmVkaXJlY3RUYXJnZXQuc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICAgICAgICAgIGNvbnN0IHNyYyA9ICgwLCBfcGFyc2VQYXRoKS5wYXJzZVBhdGgocmVkaXJlY3RUYXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgcGF0aG5hbWUgPSAoMCwgX2Zvcm1hdE5leHRQYXRobmFtZUluZm8pLmZvcm1hdE5leHRQYXRobmFtZUluZm8oe1xuICAgICAgICAgICAgICAgIC4uLigwLCBfZ2V0TmV4dFBhdGhuYW1lSW5mbykuZ2V0TmV4dFBhdGhuYW1lSW5mbyhzcmMucGF0aG5hbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dENvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgcGFyc2VEYXRhOiB0cnVlXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZGVmYXVsdExvY2FsZTogb3B0aW9ucy5yb3V0ZXIuZGVmYXVsdExvY2FsZSxcbiAgICAgICAgICAgICAgICBidWlsZElkOiBcIlwiXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwicmVkaXJlY3QtaW50ZXJuYWxcIixcbiAgICAgICAgICAgICAgICBuZXdBczogYCR7cGF0aG5hbWV9JHtzcmMucXVlcnl9JHtzcmMuaGFzaH1gLFxuICAgICAgICAgICAgICAgIG5ld1VybDogYCR7cGF0aG5hbWV9JHtzcmMucXVlcnl9JHtzcmMuaGFzaH1gXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICAgIHR5cGU6IFwicmVkaXJlY3QtZXh0ZXJuYWxcIixcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uOiByZWRpcmVjdFRhcmdldFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgIHR5cGU6IFwibmV4dFwiXG4gICAgfSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJvdXRlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJpc0xvY2FsVVJMIiwiaW50ZXJwb2xhdGVBcyIsInJlc29sdmVIcmVmIiwiY3JlYXRlS2V5IiwiZGVmYXVsdCIsIl9ub3JtYWxpemVUcmFpbGluZ1NsYXNoIiwicmVxdWlyZSIsIl9yZW1vdmVUcmFpbGluZ1NsYXNoIiwiX3JvdXRlTG9hZGVyIiwiX3NjcmlwdCIsIl9pc0Vycm9yIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZGVub3JtYWxpemVQYWdlUGF0aCIsIl9ub3JtYWxpemVMb2NhbGVQYXRoIiwiX21pdHQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiX2lzRHluYW1pYyIsIl9wYXJzZVJlbGF0aXZlVXJsIiwiX3F1ZXJ5c3RyaW5nIiwiX3Jlc29sdmVSZXdyaXRlcyIsIl9yb3V0ZU1hdGNoZXIiLCJfcm91dGVSZWdleCIsIl9mb3JtYXRVcmwiLCJfZGV0ZWN0RG9tYWluTG9jYWxlIiwiX3BhcnNlUGF0aCIsIl9hZGRMb2NhbGUiLCJfcmVtb3ZlTG9jYWxlIiwiX3JlbW92ZUJhc2VQYXRoIiwiX2FkZEJhc2VQYXRoIiwiX2hhc0Jhc2VQYXRoIiwiX2dldE5leHRQYXRobmFtZUluZm8iLCJfZm9ybWF0TmV4dFBhdGhuYW1lSW5mbyIsIlJvdXRlciIsImNvbnN0cnVjdG9yIiwicGF0aG5hbWUiLCJxdWVyeSIsImFzIiwiaW5pdGlhbFByb3BzIiwicGFnZUxvYWRlciIsIkFwcCIsIndyYXBBcHAiLCJDb21wb25lbnQiLCJlcnIiLCJzdWJzY3JpcHRpb24iLCJpc0ZhbGxiYWNrIiwibG9jYWxlIiwibG9jYWxlcyIsImRlZmF1bHRMb2NhbGUiLCJkb21haW5Mb2NhbGVzIiwiaXNQcmV2aWV3IiwiaXNSc2MiLCJlIiwiaXNGaXJzdFBvcFN0YXRlRXZlbnQiLCJzdGF0ZSIsImNoYW5nZVN0YXRlIiwiZm9ybWF0V2l0aFZhbGlkYXRpb24iLCJhZGRCYXNlUGF0aCIsImdldFVSTCIsIl9fTiIsIm9wdGlvbnMiLCJhc1BhdGgiLCJmb3JjZWRTY3JvbGwiLCJ1cmwiLCJrZXkiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1NDUk9MTF9SRVNUT1JBVElPTiIsIm1hbnVhbFNjcm9sbFJlc3RvcmF0aW9uIiwiX2tleSIsInNlc3Npb25TdG9yYWdlIiwic2V0SXRlbSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ4Iiwic2VsZiIsInBhZ2VYT2Zmc2V0IiwieSIsInBhZ2VZT2Zmc2V0IiwidiIsImdldEl0ZW0iLCJwYXJzZSIsInBhcnNlUmVsYXRpdmVVcmwiLCJpc1NzciIsIl9icHMiLCJjaGFuZ2UiLCJhc3NpZ24iLCJzaGFsbG93IiwiX3NoYWxsb3ciLCJfaCIsInJvdXRlIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsImNvbXBvbmVudHMiLCJpbml0aWFsIiwicHJvcHMiLCJfX05fU1NHIiwiX19OX1NTUCIsIl9fTl9SU0MiLCJzdHlsZVNoZWV0cyIsImV2ZW50cyIsImF1dG9FeHBvcnREeW5hbWljIiwiaXNEeW5hbWljUm91dGUiLCJfX05FWFRfREFUQV9fIiwiYXV0b0V4cG9ydCIsImJhc2VQYXRoIiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInN1YiIsImNsYyIsIl93cmFwQXBwIiwiaXNMb2NhbGVEb21haW4iLCJpc1JlYWR5IiwiZ3NzcCIsImdpcCIsImFwcEdpcCIsImdzcCIsImxvY2F0aW9uIiwic2VhcmNoIiwiX19ORVhUX0hBU19SRVdSSVRFUyIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJkZXRlY3REb21haW5Mb2NhbGUiLCJob3N0bmFtZSIsInVuZGVmaW5lZCIsIl9pbml0aWFsTWF0Y2hlc01pZGRsZXdhcmVQcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzdGFydHNXaXRoIiwibWF0Y2hlc01pZGRsZXdhcmUiLCJyb3V0ZXIiLCJ0aGVuIiwibWF0Y2hlcyIsIl9zaG91bGRSZXNvbHZlSHJlZiIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJvblBvcFN0YXRlIiwiaGlzdG9yeSIsInNjcm9sbFJlc3RvcmF0aW9uIiwicmVsb2FkIiwiYmFjayIsInB1c2giLCJwcmVwYXJlVXJsQXMiLCJyZXBsYWNlIiwibWV0aG9kIiwiaGFuZGxlSGFyZE5hdmlnYXRpb24iLCJpc1F1ZXJ5VXBkYXRpbmciLCJzaG91bGRSZXNvbHZlSHJlZiIsInBhcnNlUGF0aCIsIm5leHRTdGF0ZSIsInByZXZMb2NhbGUiLCJwYXJzZWRBcyIsImhhc0Jhc2VQYXRoIiwicmVtb3ZlQmFzZVBhdGgiLCJsb2NhbGVQYXRoUmVzdWx0Iiwibm9ybWFsaXplTG9jYWxlUGF0aCIsImRldGVjdGVkTG9jYWxlIiwiZGlkTmF2aWdhdGUiLCJyZWYiLCJpbmNsdWRlcyIsImFkZExvY2FsZSIsImRldGVjdGVkRG9tYWluIiwiZG9tYWluIiwiYXNOb0Jhc2VQYXRoIiwiaHR0cCIsIlNUIiwicGVyZm9ybWFuY2UiLCJtYXJrIiwic2Nyb2xsIiwicm91dGVQcm9wcyIsIl9pbkZsaWdodFJvdXRlIiwiZW1pdCIsImJ1aWxkQ2FuY2VsbGF0aW9uRXJyb3IiLCJjbGVhbmVkQXMiLCJyZW1vdmVMb2NhbGUiLCJsb2NhbGVDaGFuZ2UiLCJvbmx5QUhhc2hDaGFuZ2UiLCJzY3JvbGxUb0hhc2giLCJzZXQiLCJjYW5jZWxsZWQiLCJwYXJzZWQiLCJwYWdlcyIsInJld3JpdGVzIiwiX19yZXdyaXRlcyIsImFsbCIsImdldFBhZ2VMaXN0IiwiZ2V0Q2xpZW50QnVpbGRNYW5pZmVzdCIsImdldE1pZGRsZXdhcmVMaXN0IiwidXJsSXNOZXciLCJyZXNvbHZlZEFzIiwiaXNNaWRkbGV3YXJlTWF0Y2giLCJyZXdyaXRlc1Jlc3VsdCIsInAiLCJyZXNvbHZlRHluYW1pY1JvdXRlIiwiZXh0ZXJuYWxEZXN0IiwibWF0Y2hlZFBhZ2UiLCJyZXNvbHZlZEhyZWYiLCJFcnJvciIsInJvdXRlTWF0Y2giLCJhc1BhdGhuYW1lIiwicm91dGVSZWdleCIsImdldFJvdXRlUmVnZXgiLCJnZXRSb3V0ZU1hdGNoZXIiLCJzaG91bGRJbnRlcnBvbGF0ZSIsImludGVycG9sYXRlZEFzIiwicmVzdWx0IiwibWlzc2luZ1BhcmFtcyIsImtleXMiLCJncm91cHMiLCJmaWx0ZXIiLCJwYXJhbSIsImxlbmd0aCIsImNvbnNvbGUiLCJ3YXJuIiwiam9pbiIsIm9taXQiLCJwYXJhbXMiLCJyZWYxIiwicmVmMiIsInJvdXRlSW5mbyIsImdldFJvdXRlSW5mbyIsImhhc01pZGRsZXdhcmUiLCJmb3JFYWNoIiwicHJlZml4ZWRBcyIsInJld3JpdGVBcyIsImxvY2FsZVJlc3VsdCIsImN1clJvdXRlTWF0Y2giLCJ0eXBlIiwibmV3VXJsIiwibmV3QXMiLCJkZXN0aW5hdGlvbiIsImVycm9yIiwiY29tcG9uZW50IiwidW5zdGFibGVfc2NyaXB0TG9hZGVyIiwic2NyaXB0cyIsImNvbmNhdCIsInNjcmlwdCIsImhhbmRsZUNsaWVudFNjcmlwdExvYWQiLCJwYWdlUHJvcHMiLCJfX05fUkVESVJFQ1QiLCJfX05fUkVESVJFQ1RfQkFTRV9QQVRIIiwicGFyc2VkSHJlZiIsIl9fTl9QUkVWSUVXIiwibm90Rm91bmQiLCJTU0dfREFUQV9OT1RfRk9VTkQiLCJub3RGb3VuZFJvdXRlIiwiZmV0Y2hDb21wb25lbnQiLCJfIiwic3RhdHVzQ29kZSIsIl9yb3V0ZSIsImlzVmFsaWRTaGFsbG93Um91dGUiLCJfc2Nyb2xsIiwic2hvdWxkU2Nyb2xsIiwicmVzZXRTY3JvbGwiLCJjYXRjaCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwibGFuZyIsImhhc2hSZWdleCIsInRlc3QiLCJlcnIxIiwiaGFuZGxlUm91dGVJbmZvRXJyb3IiLCJsb2FkRXJyb3JGYWlsIiwiaXNBc3NldEVycm9yIiwicGFnZSIsImdldEluaXRpYWxQcm9wcyIsImdpcEVyciIsInJvdXRlSW5mb0VyciIsInJlcXVlc3RlZFJvdXRlIiwidW5zdGFibGVfc2tpcENsaWVudENhY2hlIiwicmVmMyIsInJlZjQiLCJoYW5kbGVDYW5jZWxsZWQiLCJnZXRDYW5jZWxsZWRIYW5kbGVyIiwiZXhpc3RpbmdJbmZvIiwiY2FjaGVkUm91dGVJbmZvIiwiZmV0Y2hOZXh0RGF0YVBhcmFtcyIsImRhdGFIcmVmIiwiZ2V0RGF0YUhyZWYiLCJocmVmIiwic2tpcEludGVycG9sYXRpb24iLCJpc1NlcnZlclJlbmRlciIsInBhcnNlSlNPTiIsImluZmxpZ2h0Q2FjaGUiLCJzZGMiLCJwZXJzaXN0Q2FjaGUiLCJpc1ByZWZldGNoIiwiZGF0YSIsIndpdGhNaWRkbGV3YXJlRWZmZWN0cyIsImZldGNoRGF0YSIsImZldGNoTmV4dERhdGEiLCJlZmZlY3QiLCJyZXMiLCJtb2QiLCJfX25leHRfcnNjX18iLCJpc1ZhbGlkRWxlbWVudFR5cGUiLCJ1c2VTdHJlYW1lZEZsaWdodERhdGEiLCJzaG91bGRGZXRjaERhdGEiLCJfZ2V0RGF0YSIsImpzb24iLCJoZWFkZXJzIiwiY2FjaGVLZXkiLCJVUkwiLCJpc0JhY2tncm91bmQiLCJiYWNrZ3JvdW5kQ2FjaGUiLCJfX2ZsaWdodF9fIiwiX2dldEZsaWdodERhdGEiLCJnZXRQcm9wZXJFcnJvciIsImJlZm9yZVBvcFN0YXRlIiwiY2IiLCJvbGRVcmxOb0hhc2giLCJvbGRIYXNoIiwic3BsaXQiLCJuZXdVcmxOb0hhc2giLCJuZXdIYXNoIiwiaGFzaCIsInNjcm9sbFRvIiwicmF3SGFzaCIsImRlY29kZVVSSUNvbXBvbmVudCIsImlkRWwiLCJnZXRFbGVtZW50QnlJZCIsInNjcm9sbEludG9WaWV3IiwibmFtZUVsIiwiZ2V0RWxlbWVudHNCeU5hbWUiLCJwcmVmZXRjaCIsIl9pc1NzZyIsImlzU3NnIiwicHJpb3JpdHkiLCJjb21wb25lbnRSZXN1bHQiLCJsb2FkUGFnZSIsImZuIiwiY2FuY2VsIiwidGV4dCIsImN0eCIsIkFwcFRyZWUiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwib2JqIiwiX19lc01vZHVsZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIldlYWtNYXAiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJpc0Fic29sdXRlVXJsIiwibG9jYXRpb25PcmlnaW4iLCJnZXRMb2NhdGlvbk9yaWdpbiIsInJlc29sdmVkIiwib3JpZ2luIiwiaW50ZXJwb2xhdGVkUm91dGUiLCJkeW5hbWljUmVnZXgiLCJkeW5hbWljR3JvdXBzIiwiZHluYW1pY01hdGNoZXMiLCJldmVyeSIsInJlcGVhdCIsIm9wdGlvbmFsIiwicmVwbGFjZWQiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJzZWdtZW50IiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwib2JqZWN0Iiwib21pdHRlZCIsInJlc29sdmVBcyIsImJhc2UiLCJ1cmxBc1N0cmluZyIsInVybFByb3RvTWF0Y2giLCJtYXRjaCIsInVybEFzU3RyaW5nTm9Qcm90byIsInNsaWNlIiwidXJsUGFydHMiLCJub3JtYWxpemVkVXJsIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwiZmluYWxVcmwiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsInNlYXJjaFBhcmFtcyIsInNlYXJjaFBhcmFtc1RvVXJsUXVlcnkiLCJfMSIsInN0cmlwT3JpZ2luIiwic3Vic3RyaW5nIiwiaHJlZkhhZE9yaWdpbiIsImFzSGFkT3JpZ2luIiwicHJlcGFyZWRVcmwiLCJwcmVwYXJlZEFzIiwiY2xlYW5QYXRobmFtZSIsImRlbm9ybWFsaXplUGFnZVBhdGgiLCJzb21lIiwicmUiLCJyZW1vdmVJdGVtIiwibiIsIlN5bWJvbCIsImZldGNoUmV0cnkiLCJhdHRlbXB0cyIsImZldGNoIiwiY3JlZGVudGlhbHMiLCJyZXNwb25zZSIsIm9rIiwic3RhdHVzIiwicmVmNSIsImdldERhdGEiLCJwdXJwb3NlIiwidHJ5VG9QYXJzZUFzSlNPTiIsIm1hcmtBc3NldEVycm9yIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwiaXRlbXMiLCJyZWdleCIsInNzciIsIlJlZ0V4cCIsImdldE1pZGRsZXdhcmVEYXRhIiwiX2VyciIsInNvdXJjZSIsIm5leHRDb25maWciLCJpMThuIiwidHJhaWxpbmdTbGFzaCIsIkJvb2xlYW4iLCJfX05FWFRfVFJBSUxJTkdfU0xBU0giLCJyZXdyaXRlSGVhZGVyIiwicmV3cml0ZVRhcmdldCIsIm1hdGNoZWRQYXRoIiwicGFyc2VkUmV3cml0ZVRhcmdldCIsInBhdGhuYW1lSW5mbyIsImdldE5leHRQYXRobmFtZUluZm8iLCJwYXJzZURhdGEiLCJmc1BhdGhuYW1lIiwicGFyc2VkU291cmNlIiwicGF0aCIsInNyYyIsImZvcm1hdE5leHRQYXRobmFtZUluZm8iLCJidWlsZElkIiwicmVkaXJlY3RUYXJnZXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/shared/lib/router/router.js\n' ); /***/ }, /***/ './pages/index.js': /*!************************!*\ !*** ./pages/index.js ***! \************************/ /***/ ( __unused_webpack_module, __webpack_exports__, __webpack_require__ ) => { 'use strict'; eval( '__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (/* binding */ IndexPage)\n/* harmony export */ });\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/link */ "../../node_modules/next/link.js");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_native_web_dist_cjs_exports_Image__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-native-web/dist/cjs/exports/Image */ "../react-native-web/dist/cjs/exports/Image/index.js");\n/* harmony import */ var react_native_web_dist_cjs_exports_Image__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_native_web_dist_cjs_exports_Image__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var react_native_web_dist_cjs_exports_StyleSheet__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-native-web/dist/cjs/exports/StyleSheet */ "../react-native-web/dist/cjs/exports/StyleSheet/index.js");\n/* harmony import */ var react_native_web_dist_cjs_exports_StyleSheet__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_native_web_dist_cjs_exports_StyleSheet__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react_native_web_dist_cjs_exports_Text__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-native-web/dist/cjs/exports/Text */ "../react-native-web/dist/cjs/exports/Text/index.js");\n/* harmony import */ var react_native_web_dist_cjs_exports_Text__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_native_web_dist_cjs_exports_Text__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react_native_web_dist_cjs_exports_View__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-native-web/dist/cjs/exports/View */ "../react-native-web/dist/cjs/exports/View/index.js");\n/* harmony import */ var react_native_web_dist_cjs_exports_View__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_native_web_dist_cjs_exports_View__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-dev-runtime */ "react/jsx-dev-runtime");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__);\nvar _jsxFileName = "/Users/necolas/Code/github/necolas/react-native-web/packages/react-native-web-examples/pages/index.js";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\nconst logoUri = \'data:image/svg+xml;utf8,\';\n\nfunction Link(props) {\n return /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_0___default()), {\n href: props.href,\n children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxDEV)((react_native_web_dist_cjs_exports_Text__WEBPACK_IMPORTED_MODULE_3___default()), _objectSpread(_objectSpread({}, props), {}, {\n accessibilityRole: "link",\n style: [styles.link, props.style]\n }), void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 5\n }, this);\n}\n\nfunction IndexPage() {\n return /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxDEV)((react_native_web_dist_cjs_exports_View__WEBPACK_IMPORTED_MODULE_4___default()), {\n style: styles.app,\n children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxDEV)((react_native_web_dist_cjs_exports_View__WEBPACK_IMPORTED_MODULE_4___default()), {\n style: styles.header,\n children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxDEV)((react_native_web_dist_cjs_exports_Image__WEBPACK_IMPORTED_MODULE_5___default()), {\n accessibilityLabel: "React logo",\n resizeMode: "contain",\n source: {\n uri: logoUri\n },\n style: styles.logo\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 9\n }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxDEV)((react_native_web_dist_cjs_exports_Text__WEBPACK_IMPORTED_MODULE_3___default()), {\n style: styles.title,\n children: "React Native for Web"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 7\n }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxDEV)((react_native_web_dist_cjs_exports_Text__WEBPACK_IMPORTED_MODULE_3___default()), {\n style: styles.text,\n children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxDEV)(Link, {\n href: "https://github.com/necolas/react-native-web",\n children: "React Native for Web"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, this), \' \', "example app built on Next.js"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 7\n }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxDEV)((react_native_web_dist_cjs_exports_View__WEBPACK_IMPORTED_MODULE_4___default()), {\n accessibilityRole: "list",\n children: ["activity-indicator","app-registry","app-state","checkbox","clipboard","dimensions","flatlist","image","image-background","linking","lists","localization","modal","pan-responder","pressable","progress-bar","scroll-view","section-list","switch","text","text-input","view"].map(name => /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxDEV)((react_native_web_dist_cjs_exports_View__WEBPACK_IMPORTED_MODULE_4___default()), {\n accessibilityRole: "listitem",\n style: styles.listitem,\n children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxDEV)(Link, {\n href: \'/\' + name,\n style: styles.pageLink,\n children: name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, this)\n }, name, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 5\n }, this);\n}\nconst styles = react_native_web_dist_cjs_exports_StyleSheet__WEBPACK_IMPORTED_MODULE_6___default().create({\n app: {\n marginHorizontal: \'auto\',\n maxWidth: 500,\n padding: 20\n },\n logo: {\n height: 80\n },\n header: {\n padding: 20\n },\n title: {\n fontWeight: \'bold\',\n fontSize: \'1.5rem\',\n marginTop: \'1em\',\n textAlign: \'center\'\n },\n text: {\n lineHeight: \'1.5em\',\n fontSize: \'1.125rem\',\n marginVertical: \'1em\',\n textAlign: \'center\'\n },\n link: {\n color: \'#1977f2\'\n },\n listitem: {\n marginVertical: \'0.5rem\',\n textAlign: \'center\'\n },\n pageLink: {\n fontSize: \'1.25rem\',\n fontWeight: \'bold\'\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Qi9CekIsSUFBSSxFQUFFO0lBQ0o0QixLQUFLLEVBQUU7RUFESCxDQXhCeUI7RUEyQi9CZCxRQUFRLEVBQUU7SUFDUmEsY0FBYyxFQUFFLFFBRFI7SUFFUkYsU0FBUyxFQUFFO0VBRkgsQ0EzQnFCO0VBK0IvQlYsUUFBUSxFQUFFO0lBQ1JRLFFBQVEsRUFBRSxTQURGO0lBRVJELFVBQVUsRUFBRTtFQUZKO0FBL0JxQixDQUFsQixDQUFmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uL3BhZ2VzL2luZGV4LmpzP2JlZTciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE5leHRMaW5rIGZyb20gJ25leHQvbGluayc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSW1hZ2UsIFN0eWxlU2hlZXQsIFRleHQsIFZpZXcgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuXG5jb25zdCBsb2dvVXJpID1cbiAgJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgODQxLjkgNTk1LjNcIj48ZyBmaWxsPVwiIzE5NzdmMlwiPjxwYXRoIGQ9XCJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40elwiIC8+PGNpcmNsZSBjeD1cIjQyMC45XCIgY3k9XCIyOTYuNVwiIHI9XCI0NS43XCIgLz48cGF0aCBkPVwiTTUyMC41IDc4LjF6XCIgLz48L2c+PC9zdmc+JztcblxuZnVuY3Rpb24gTGluayhwcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxOZXh0TGluayBocmVmPXtwcm9wcy5ocmVmfT5cbiAgICAgIDxUZXh0XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgYWNjZXNzaWJpbGl0eVJvbGU9XCJsaW5rXCJcbiAgICAgICAgc3R5bGU9e1tzdHlsZXMubGluaywgcHJvcHMuc3R5bGVdfVxuICAgICAgLz5cbiAgICA8L05leHRMaW5rPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBJbmRleFBhZ2UoKSB7XG4gIHJldHVybiAoXG4gICAgPFZpZXcgc3R5bGU9e3N0eWxlcy5hcHB9PlxuICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlcy5oZWFkZXJ9PlxuICAgICAgICA8SW1hZ2VcbiAgICAgICAgICBhY2Nlc3NpYmlsaXR5TGFiZWw9XCJSZWFjdCBsb2dvXCJcbiAgICAgICAgICByZXNpemVNb2RlPVwiY29udGFpblwiXG4gICAgICAgICAgc291cmNlPXt7IHVyaTogbG9nb1VyaSB9fVxuICAgICAgICAgIHN0eWxlPXtzdHlsZXMubG9nb31cbiAgICAgICAgLz5cbiAgICAgICAgPFRleHQgc3R5bGU9e3N0eWxlcy50aXRsZX0+UmVhY3QgTmF0aXZlIGZvciBXZWI8L1RleHQ+XG4gICAgICA8L1ZpZXc+XG4gICAgICA8VGV4dCBzdHlsZT17c3R5bGVzLnRleHR9PlxuICAgICAgICA8TGluayBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvcmVhY3QtbmF0aXZlLXdlYlwiPlxuICAgICAgICAgIFJlYWN0IE5hdGl2ZSBmb3IgV2ViXG4gICAgICAgIDwvTGluaz57JyAnfVxuICAgICAgICBleGFtcGxlIGFwcCBidWlsdCBvbiBOZXh0LmpzXG4gICAgICA8L1RleHQ+XG5cbiAgICAgIDxWaWV3IGFjY2Vzc2liaWxpdHlSb2xlPVwibGlzdFwiPlxuICAgICAgICB7cHJvY2Vzcy5lbnYucGFnZXMubWFwKChuYW1lKSA9PiAoXG4gICAgICAgICAgPFZpZXcgYWNjZXNzaWJpbGl0eVJvbGU9XCJsaXN0aXRlbVwiIGtleT17bmFtZX0gc3R5bGU9e3N0eWxlcy5saXN0aXRlbX0+XG4gICAgICAgICAgICA8TGluayBocmVmPXsnLycgKyBuYW1lfSBzdHlsZT17c3R5bGVzLnBhZ2VMaW5rfT5cbiAgICAgICAgICAgICAge25hbWV9XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICApKX1cbiAgICAgIDwvVmlldz5cbiAgICA8L1ZpZXc+XG4gICk7XG59XG5cbmNvbnN0IHN0eWxlcyA9IFN0eWxlU2hlZXQuY3JlYXRlKHtcbiAgYXBwOiB7XG4gICAgbWFyZ2luSG9yaXpvbnRhbDogJ2F1dG8nLFxuICAgIG1heFdpZHRoOiA1MDAsXG4gICAgcGFkZGluZzogMjBcbiAgfSxcbiAgbG9nbzoge1xuICAgIGhlaWdodDogODBcbiAgfSxcbiAgaGVhZGVyOiB7XG4gICAgcGFkZGluZzogMjBcbiAgfSxcbiAgdGl0bGU6IHtcbiAgICBmb250V2VpZ2h0OiAnYm9sZCcsXG4gICAgZm9udFNpemU6ICcxLjVyZW0nLFxuICAgIG1hcmdpblRvcDogJzFlbScsXG4gICAgdGV4dEFsaWduOiAnY2VudGVyJ1xuICB9LFxuICB0ZXh0OiB7XG4gICAgbGluZUhlaWdodDogJzEuNWVtJyxcbiAgICBmb250U2l6ZTogJzEuMTI1cmVtJyxcbiAgICBtYXJnaW5WZXJ0aWNhbDogJzFlbScsXG4gICAgdGV4dEFsaWduOiAnY2VudGVyJ1xuICB9LFxuICBsaW5rOiB7XG4gICAgY29sb3I6ICcjMTk3N2YyJ1xuICB9LFxuICBsaXN0aXRlbToge1xuICAgIG1hcmdpblZlcnRpY2FsOiAnMC41cmVtJyxcbiAgICB0ZXh0QWxpZ246ICdjZW50ZXInXG4gIH0sXG4gIHBhZ2VMaW5rOiB7XG4gICAgZm9udFNpemU6ICcxLjI1cmVtJyxcbiAgICBmb250V2VpZ2h0OiAnYm9sZCdcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiTmV4dExpbmsiLCJSZWFjdCIsImxvZ29VcmkiLCJMaW5rIiwicHJvcHMiLCJocmVmIiwic3R5bGVzIiwibGluayIsInN0eWxlIiwiSW5kZXhQYWdlIiwiYXBwIiwiaGVhZGVyIiwidXJpIiwibG9nbyIsInRpdGxlIiwidGV4dCIsInByb2Nlc3MiLCJlbnYiLCJwYWdlcyIsIm1hcCIsIm5hbWUiLCJsaXN0aXRlbSIsInBhZ2VMaW5rIiwiU3R5bGVTaGVldCIsImNyZWF0ZSIsIm1hcmdpbkhvcml6b250YWwiLCJtYXhXaWR0aCIsInBhZGRpbmciLCJoZWlnaHQiLCJmb250V2VpZ2h0IiwiZm9udFNpemUiLCJtYXJnaW5Ub3AiLCJ0ZXh0QWxpZ24iLCJsaW5lSGVpZ2h0IiwibWFyZ2luVmVydGljYWwiLCJjb2xvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/index.js\n' ); /***/ }, /***/ '../../node_modules/next/dist/lib/is-error.js': /*!****************************************************!*\ !*** ../../node_modules/next/dist/lib/is-error.js ***! \****************************************************/ /***/ (__unused_webpack_module, exports, __webpack_require__) => { 'use strict'; eval( '\nObject.defineProperty(exports, "__esModule", ({\n value: true\n}));\nexports["default"] = isError;\nexports.getProperError = getProperError;\nvar _isPlainObject = __webpack_require__(/*! ../shared/lib/is-plain-object */ "../shared/lib/is-plain-object");\nfunction isError(err) {\n return typeof err === "object" && err !== null && "name" in err && "message" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === "undefined") {\n return new Error("An undefined error was thrown, " + "see here for more info: https://nextjs.org/docs/messages/threw-undefined");\n }\n if (err === null) {\n return new Error("A null error was thrown, " + "see here for more info: https://nextjs.org/docs/messages/threw-undefined");\n }\n }\n return new Error((0, _isPlainObject).isPlainObject(err) ? JSON.stringify(err) : err + "");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvaXMtZXJyb3IuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixrQkFBZTtBQUNmLHNCQUFzQjtBQUN0QixxQkFBcUIsbUJBQU8sQ0FBQyxvRUFBK0I7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uLy4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL2lzLWVycm9yLmpzP2M1NWIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBpc0Vycm9yO1xuZXhwb3J0cy5nZXRQcm9wZXJFcnJvciA9IGdldFByb3BlckVycm9yO1xudmFyIF9pc1BsYWluT2JqZWN0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0XCIpO1xuZnVuY3Rpb24gaXNFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gdHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIiAmJiBlcnIgIT09IG51bGwgJiYgXCJuYW1lXCIgaW4gZXJyICYmIFwibWVzc2FnZVwiIGluIGVycjtcbn1cbmZ1bmN0aW9uIGdldFByb3BlckVycm9yKGVycikge1xuICAgIGlmIChpc0Vycm9yKGVycikpIHtcbiAgICAgICAgcmV0dXJuIGVycjtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgLy8gcHJvdmlkZSBiZXR0ZXIgZXJyb3IgZm9yIGNhc2Ugd2hlcmUgYHRocm93IHVuZGVmaW5lZGBcbiAgICAgICAgLy8gaXMgY2FsbGVkIGluIGRldmVsb3BtZW50XG4gICAgICAgIGlmICh0eXBlb2YgZXJyID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFwiQW4gdW5kZWZpbmVkIGVycm9yIHdhcyB0aHJvd24sIFwiICsgXCJzZWUgaGVyZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy90aHJldy11bmRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVyciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkEgbnVsbCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoKDAsIF9pc1BsYWluT2JqZWN0KS5pc1BsYWluT2JqZWN0KGVycikgPyBKU09OLnN0cmluZ2lmeShlcnIpIDogZXJyICsgXCJcIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/lib/is-error.js\n' ); /***/ }, /***/ '../../node_modules/next/link.js': /*!***************************************!*\ !*** ../../node_modules/next/link.js ***! \***************************************/ /***/ (module, __unused_webpack_exports, __webpack_require__) => { eval( 'module.exports = __webpack_require__(/*! ./dist/client/link */ "../../node_modules/next/dist/client/link.js")\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvbGluay5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBQSw2R0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uLy4uL25vZGVfbW9kdWxlcy9uZXh0L2xpbmsuanM/YmE2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vZGlzdC9jbGllbnQvbGluaycpXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../node_modules/next/link.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/Dimensions/index.js': /*!****************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/Dimensions/index.js ***! \****************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _invariant = _interopRequireDefault(__webpack_require__(/*! fbjs/lib/invariant */ "fbjs/lib/invariant"));\n\nvar _canUseDom = _interopRequireDefault(__webpack_require__(/*! ../../modules/canUseDom */ "../react-native-web/dist/cjs/modules/canUseDom/index.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar dimensions = {\n window: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n },\n screen: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n }\n};\nvar listeners = {};\nvar shouldInit = _canUseDom.default;\n\nfunction update() {\n if (!_canUseDom.default) {\n return;\n }\n\n var win = window;\n var docEl = win.document.documentElement;\n dimensions.window = {\n fontScale: 1,\n height: docEl.clientHeight,\n scale: win.devicePixelRatio || 1,\n width: docEl.clientWidth\n };\n dimensions.screen = {\n fontScale: 1,\n height: win.screen.height,\n scale: win.devicePixelRatio || 1,\n width: win.screen.width\n };\n}\n\nfunction handleResize() {\n update();\n\n if (Array.isArray(listeners[\'change\'])) {\n listeners[\'change\'].forEach(handler => handler(dimensions));\n }\n}\n\nclass Dimensions {\n static get(dimension) {\n if (shouldInit) {\n shouldInit = false;\n update();\n }\n\n (0, _invariant.default)(dimensions[dimension], "No dimension set for key " + dimension);\n return dimensions[dimension];\n }\n\n static set(initialDimensions) {\n if (initialDimensions) {\n if (_canUseDom.default) {\n (0, _invariant.default)(false, \'Dimensions cannot be set in the browser\');\n } else {\n if (initialDimensions.screen != null) {\n dimensions.screen = initialDimensions.screen;\n }\n\n if (initialDimensions.window != null) {\n dimensions.window = initialDimensions.window;\n }\n }\n }\n }\n\n static addEventListener(type, handler) {\n listeners[type] = listeners[type] || [];\n listeners[type].push(handler);\n return {\n remove: () => {\n this.removeEventListener(type, handler);\n }\n };\n }\n\n static removeEventListener(type, handler) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(_handler => _handler !== handler);\n }\n }\n\n}\n\nexports["default"] = Dimensions;\n\nif (_canUseDom.default) {\n window.addEventListener(\'resize\', handleResize, false);\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL0RpbWVuc2lvbnMvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmLHdDQUF3QyxtQkFBTyxDQUFDLDhDQUFvQjs7QUFFcEUsd0NBQXdDLG1CQUFPLENBQUMsd0ZBQXlCOztBQUV6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxrQkFBZTs7QUFFZjtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvZXhwb3J0cy9EaW1lbnNpb25zL2luZGV4LmpzPzdlZTkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfaW52YXJpYW50ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiZmJqcy9saWIvaW52YXJpYW50XCIpKTtcblxudmFyIF9jYW5Vc2VEb20gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9tb2R1bGVzL2NhblVzZURvbVwiKSk7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlci5cbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cbnZhciBkaW1lbnNpb25zID0ge1xuICB3aW5kb3c6IHtcbiAgICBmb250U2NhbGU6IDEsXG4gICAgaGVpZ2h0OiAwLFxuICAgIHNjYWxlOiAxLFxuICAgIHdpZHRoOiAwXG4gIH0sXG4gIHNjcmVlbjoge1xuICAgIGZvbnRTY2FsZTogMSxcbiAgICBoZWlnaHQ6IDAsXG4gICAgc2NhbGU6IDEsXG4gICAgd2lkdGg6IDBcbiAgfVxufTtcbnZhciBsaXN0ZW5lcnMgPSB7fTtcbnZhciBzaG91bGRJbml0ID0gX2NhblVzZURvbS5kZWZhdWx0O1xuXG5mdW5jdGlvbiB1cGRhdGUoKSB7XG4gIGlmICghX2NhblVzZURvbS5kZWZhdWx0KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHdpbiA9IHdpbmRvdztcbiAgdmFyIGRvY0VsID0gd2luLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgZGltZW5zaW9ucy53aW5kb3cgPSB7XG4gICAgZm9udFNjYWxlOiAxLFxuICAgIGhlaWdodDogZG9jRWwuY2xpZW50SGVpZ2h0LFxuICAgIHNjYWxlOiB3aW4uZGV2aWNlUGl4ZWxSYXRpbyB8fCAxLFxuICAgIHdpZHRoOiBkb2NFbC5jbGllbnRXaWR0aFxuICB9O1xuICBkaW1lbnNpb25zLnNjcmVlbiA9IHtcbiAgICBmb250U2NhbGU6IDEsXG4gICAgaGVpZ2h0OiB3aW4uc2NyZWVuLmhlaWdodCxcbiAgICBzY2FsZTogd2luLmRldmljZVBpeGVsUmF0aW8gfHwgMSxcbiAgICB3aWR0aDogd2luLnNjcmVlbi53aWR0aFxuICB9O1xufVxuXG5mdW5jdGlvbiBoYW5kbGVSZXNpemUoKSB7XG4gIHVwZGF0ZSgpO1xuXG4gIGlmIChBcnJheS5pc0FycmF5KGxpc3RlbmVyc1snY2hhbmdlJ10pKSB7XG4gICAgbGlzdGVuZXJzWydjaGFuZ2UnXS5mb3JFYWNoKGhhbmRsZXIgPT4gaGFuZGxlcihkaW1lbnNpb25zKSk7XG4gIH1cbn1cblxuY2xhc3MgRGltZW5zaW9ucyB7XG4gIHN0YXRpYyBnZXQoZGltZW5zaW9uKSB7XG4gICAgaWYgKHNob3VsZEluaXQpIHtcbiAgICAgIHNob3VsZEluaXQgPSBmYWxzZTtcbiAgICAgIHVwZGF0ZSgpO1xuICAgIH1cblxuICAgICgwLCBfaW52YXJpYW50LmRlZmF1bHQpKGRpbWVuc2lvbnNbZGltZW5zaW9uXSwgXCJObyBkaW1lbnNpb24gc2V0IGZvciBrZXkgXCIgKyBkaW1lbnNpb24pO1xuICAgIHJldHVybiBkaW1lbnNpb25zW2RpbWVuc2lvbl07XG4gIH1cblxuICBzdGF0aWMgc2V0KGluaXRpYWxEaW1lbnNpb25zKSB7XG4gICAgaWYgKGluaXRpYWxEaW1lbnNpb25zKSB7XG4gICAgICBpZiAoX2NhblVzZURvbS5kZWZhdWx0KSB7XG4gICAgICAgICgwLCBfaW52YXJpYW50LmRlZmF1bHQpKGZhbHNlLCAnRGltZW5zaW9ucyBjYW5ub3QgYmUgc2V0IGluIHRoZSBicm93c2VyJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoaW5pdGlhbERpbWVuc2lvbnMuc2NyZWVuICE9IG51bGwpIHtcbiAgICAgICAgICBkaW1lbnNpb25zLnNjcmVlbiA9IGluaXRpYWxEaW1lbnNpb25zLnNjcmVlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpbml0aWFsRGltZW5zaW9ucy53aW5kb3cgIT0gbnVsbCkge1xuICAgICAgICAgIGRpbWVuc2lvbnMud2luZG93ID0gaW5pdGlhbERpbWVuc2lvbnMud2luZG93O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGFkZEV2ZW50TGlzdGVuZXIodHlwZSwgaGFuZGxlcikge1xuICAgIGxpc3RlbmVyc1t0eXBlXSA9IGxpc3RlbmVyc1t0eXBlXSB8fCBbXTtcbiAgICBsaXN0ZW5lcnNbdHlwZV0ucHVzaChoYW5kbGVyKTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVtb3ZlOiAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBoYW5kbGVyKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIHJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgaGFuZGxlcikge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3RlbmVyc1t0eXBlXSkpIHtcbiAgICAgIGxpc3RlbmVyc1t0eXBlXSA9IGxpc3RlbmVyc1t0eXBlXS5maWx0ZXIoX2hhbmRsZXIgPT4gX2hhbmRsZXIgIT09IGhhbmRsZXIpO1xuICAgIH1cbiAgfVxuXG59XG5cbmV4cG9ydHMuZGVmYXVsdCA9IERpbWVuc2lvbnM7XG5cbmlmIChfY2FuVXNlRG9tLmRlZmF1bHQpIHtcbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGhhbmRsZVJlc2l6ZSwgZmFsc2UpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/Dimensions/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/Image/index.js': /*!***********************************************************!*\ !*** ../react-native-web/dist/cjs/exports/Image/index.js ***! \***********************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nvar _interopRequireWildcard = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ "../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ "../../node_modules/@babel/runtime/helpers/objectSpread2.js"));\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../../node_modules/@babel/runtime/helpers/extends.js"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ "../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"));\n\nvar React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));\n\nvar _createElement = _interopRequireDefault(__webpack_require__(/*! ../createElement */ "../react-native-web/dist/cjs/exports/createElement/index.js"));\n\nvar _AssetRegistry = __webpack_require__(/*! ../../modules/AssetRegistry */ "../react-native-web/dist/cjs/modules/AssetRegistry/index.js");\n\nvar _preprocess = __webpack_require__(/*! ../StyleSheet/preprocess */ "../react-native-web/dist/cjs/exports/StyleSheet/preprocess.js");\n\nvar _ImageLoader = _interopRequireDefault(__webpack_require__(/*! ../../modules/ImageLoader */ "../react-native-web/dist/cjs/modules/ImageLoader/index.js"));\n\nvar _PixelRatio = _interopRequireDefault(__webpack_require__(/*! ../PixelRatio */ "../react-native-web/dist/cjs/exports/PixelRatio/index.js"));\n\nvar _StyleSheet = _interopRequireDefault(__webpack_require__(/*! ../StyleSheet */ "../react-native-web/dist/cjs/exports/StyleSheet/index.js"));\n\nvar _TextAncestorContext = _interopRequireDefault(__webpack_require__(/*! ../Text/TextAncestorContext */ "../react-native-web/dist/cjs/exports/Text/TextAncestorContext.js"));\n\nvar _View = _interopRequireDefault(__webpack_require__(/*! ../View */ "../react-native-web/dist/cjs/exports/View/index.js"));\n\nvar _warnOnce = __webpack_require__(/*! ../../modules/warnOnce */ "../react-native-web/dist/cjs/modules/warnOnce/index.js");\n\nvar _excluded = ["accessibilityLabel", "blurRadius", "defaultSource", "draggable", "onError", "onLayout", "onLoad", "onLoadEnd", "onLoadStart", "pointerEvents", "source", "style"];\nvar ERRORED = \'ERRORED\';\nvar LOADED = \'LOADED\';\nvar LOADING = \'LOADING\';\nvar IDLE = \'IDLE\';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\n\nfunction createTintColorSVG(tintColor, id) {\n return tintColor && id != null ? /*#__PURE__*/React.createElement("svg", {\n style: {\n position: \'absolute\',\n height: 0,\n visibility: \'hidden\',\n width: 0\n }\n }, /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("filter", {\n id: "tint-" + id,\n suppressHydrationWarning: true\n }, /*#__PURE__*/React.createElement("feFlood", {\n floodColor: "" + tintColor,\n key: tintColor\n }), /*#__PURE__*/React.createElement("feComposite", {\n in2: "SourceAlpha",\n operator: "atop"\n })))) : null;\n}\n\nfunction getFlatStyle(style, blurRadius, filterId, tintColorProp) {\n var flatStyle = _StyleSheet.default.flatten(style);\n\n var filter = flatStyle.filter,\n resizeMode = flatStyle.resizeMode,\n shadowOffset = flatStyle.shadowOffset,\n tintColor = flatStyle.tintColor;\n\n if (flatStyle.resizeMode) {\n (0, _warnOnce.warnOnce)(\'Image.style.resizeMode\', \'Image: style.resizeMode is deprecated. Please use props.resizeMode.\');\n }\n\n if (flatStyle.tintColor) {\n (0, _warnOnce.warnOnce)(\'Image.style.tintColor\', \'Image: style.tintColor is deprecated. Please use props.tintColor.\');\n } // Add CSS filters\n // React Native exposes these features as props and proprietary styles\n\n\n var filters = [];\n var _filter = null;\n\n if (filter) {\n filters.push(filter);\n }\n\n if (blurRadius) {\n filters.push("blur(" + blurRadius + "px)");\n }\n\n if (shadowOffset) {\n var shadowString = (0, _preprocess.createBoxShadowValue)(flatStyle);\n\n if (shadowString) {\n filters.push("drop-shadow(" + shadowString + ")");\n }\n }\n\n if ((tintColorProp || tintColor) && filterId != null) {\n filters.push("url(#tint-" + filterId + ")");\n }\n\n if (filters.length > 0) {\n _filter = filters.join(\' \');\n } // These styles are converted to CSS filters applied to the\n // element displaying the background image.\n\n\n delete flatStyle.blurRadius;\n delete flatStyle.shadowColor;\n delete flatStyle.shadowOpacity;\n delete flatStyle.shadowOffset;\n delete flatStyle.shadowRadius;\n delete flatStyle.tintColor; // These styles are not supported on View\n\n delete flatStyle.overlayColor;\n delete flatStyle.resizeMode;\n return [flatStyle, resizeMode, _filter, tintColor];\n}\n\nfunction resolveAssetDimensions(source) {\n if (typeof source === \'number\') {\n var _getAssetByID = (0, _AssetRegistry.getAssetByID)(source),\n _height = _getAssetByID.height,\n _width = _getAssetByID.width;\n\n return {\n height: _height,\n width: _width\n };\n } else if (source != null && !Array.isArray(source) && typeof source === \'object\') {\n var _height2 = source.height,\n _width2 = source.width;\n return {\n height: _height2,\n width: _width2\n };\n }\n}\n\nfunction resolveAssetUri(source) {\n var uri = null;\n\n if (typeof source === \'number\') {\n // get the URI from the packager\n var asset = (0, _AssetRegistry.getAssetByID)(source);\n\n if (asset == null) {\n throw new Error("Image: asset with ID \\"" + source + "\\" could not be found. Please check the image source or packager.");\n }\n\n var scale = asset.scales[0];\n\n if (asset.scales.length > 1) {\n var preferredScale = _PixelRatio.default.get(); // Get the scale which is closest to the preferred scale\n\n\n scale = asset.scales.reduce((prev, curr) => Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev);\n }\n\n var scaleSuffix = scale !== 1 ? "@" + scale + "x" : \'\';\n uri = asset ? asset.httpServerLocation + "/" + asset.name + scaleSuffix + "." + asset.type : \'\';\n } else if (typeof source === \'string\') {\n uri = source;\n } else if (source && typeof source.uri === \'string\') {\n uri = source.uri;\n }\n\n if (uri) {\n var match = uri.match(svgDataUriPattern); // inline SVG markup may contain characters (e.g., #, ") that need to be escaped\n\n if (match) {\n var prefix = match[1],\n svg = match[2];\n var encodedSvg = encodeURIComponent(svg);\n return "" + prefix + encodedSvg;\n }\n }\n\n return uri;\n}\n\nvar Image = /*#__PURE__*/React.forwardRef((props, ref) => {\n var accessibilityLabel = props.accessibilityLabel,\n blurRadius = props.blurRadius,\n defaultSource = props.defaultSource,\n draggable = props.draggable,\n onError = props.onError,\n onLayout = props.onLayout,\n onLoad = props.onLoad,\n onLoadEnd = props.onLoadEnd,\n onLoadStart = props.onLoadStart,\n pointerEvents = props.pointerEvents,\n source = props.source,\n style = props.style,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n\n if (true) {\n if (props.children) {\n throw new Error(\'The component cannot contain children. If you want to render content on top of the image, consider using the component or absolute positioning.\');\n }\n }\n\n var _React$useState = React.useState(() => {\n var uri = resolveAssetUri(source);\n\n if (uri != null) {\n var isLoaded = _ImageLoader.default.has(uri);\n\n if (isLoaded) {\n return LOADED;\n }\n }\n\n return IDLE;\n }),\n state = _React$useState[0],\n updateState = _React$useState[1];\n\n var _React$useState2 = React.useState({}),\n layout = _React$useState2[0],\n updateLayout = _React$useState2[1];\n\n var hasTextAncestor = React.useContext(_TextAncestorContext.default);\n var hiddenImageRef = React.useRef(null);\n var filterRef = React.useRef(_filterId++);\n var requestRef = React.useRef(null);\n var shouldDisplaySource = state === LOADED || state === LOADING && defaultSource == null;\n\n var _getFlatStyle = getFlatStyle(style, blurRadius, filterRef.current, props.tintColor),\n flatStyle = _getFlatStyle[0],\n _resizeMode = _getFlatStyle[1],\n filter = _getFlatStyle[2],\n _tintColor = _getFlatStyle[3];\n\n var resizeMode = props.resizeMode || _resizeMode || \'cover\';\n var tintColor = props.tintColor || _tintColor;\n var selectedSource = shouldDisplaySource ? source : defaultSource;\n var displayImageUri = resolveAssetUri(selectedSource);\n var imageSizeStyle = resolveAssetDimensions(selectedSource);\n var backgroundImage = displayImageUri ? "url(\\"" + displayImageUri + "\\")" : null;\n var backgroundSize = getBackgroundSize(); // Accessibility image allows users to trigger the browser\'s image context menu\n\n var hiddenImage = displayImageUri ? (0, _createElement.default)(\'img\', {\n alt: accessibilityLabel || \'\',\n style: styles.accessibilityImage$raw,\n draggable: draggable || false,\n ref: hiddenImageRef,\n src: displayImageUri\n }) : null;\n\n function getBackgroundSize() {\n if (hiddenImageRef.current != null && (resizeMode === \'center\' || resizeMode === \'repeat\')) {\n var _hiddenImageRef$curre = hiddenImageRef.current,\n naturalHeight = _hiddenImageRef$curre.naturalHeight,\n naturalWidth = _hiddenImageRef$curre.naturalWidth;\n var _height3 = layout.height,\n _width3 = layout.width;\n\n if (naturalHeight && naturalWidth && _height3 && _width3) {\n var scaleFactor = Math.min(1, _width3 / naturalWidth, _height3 / naturalHeight);\n var x = Math.ceil(scaleFactor * naturalWidth);\n var y = Math.ceil(scaleFactor * naturalHeight);\n return x + "px " + y + "px";\n }\n }\n }\n\n function handleLayout(e) {\n if (resizeMode === \'center\' || resizeMode === \'repeat\' || onLayout) {\n var _layout = e.nativeEvent.layout;\n onLayout && onLayout(e);\n updateLayout(_layout);\n }\n } // Image loading\n\n\n var uri = resolveAssetUri(source);\n React.useEffect(() => {\n abortPendingRequest();\n\n if (uri != null) {\n updateState(LOADING);\n\n if (onLoadStart) {\n onLoadStart();\n }\n\n requestRef.current = _ImageLoader.default.load(uri, function load(e) {\n updateState(LOADED);\n\n if (onLoad) {\n onLoad(e);\n }\n\n if (onLoadEnd) {\n onLoadEnd();\n }\n }, function error() {\n updateState(ERRORED);\n\n if (onError) {\n onError({\n nativeEvent: {\n error: "Failed to load resource " + uri + " (404)"\n }\n });\n }\n\n if (onLoadEnd) {\n onLoadEnd();\n }\n });\n }\n\n function abortPendingRequest() {\n if (requestRef.current != null) {\n _ImageLoader.default.abort(requestRef.current);\n\n requestRef.current = null;\n }\n }\n\n return abortPendingRequest;\n }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n return /*#__PURE__*/React.createElement(_View.default, (0, _extends2.default)({}, rest, {\n accessibilityLabel: accessibilityLabel,\n onLayout: handleLayout,\n pointerEvents: pointerEvents,\n ref: ref,\n style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, flatStyle]\n }), /*#__PURE__*/React.createElement(_View.default, {\n style: [styles.image, resizeModeStyles[resizeMode], {\n backgroundImage,\n filter\n }, backgroundSize != null && {\n backgroundSize\n }],\n suppressHydrationWarning: true\n }), hiddenImage, createTintColorSVG(tintColor, filterRef.current));\n});\nImage.displayName = \'Image\'; // $FlowIgnore: This is the correct type, but casting makes it unhappy since the variables aren\'t defined yet\n\nvar ImageWithStatics = Image;\n\nImageWithStatics.getSize = function (uri, success, failure) {\n _ImageLoader.default.getSize(uri, success, failure);\n};\n\nImageWithStatics.prefetch = function (uri) {\n return _ImageLoader.default.prefetch(uri);\n};\n\nImageWithStatics.queryCache = function (uris) {\n return _ImageLoader.default.queryCache(uris);\n};\n\nvar styles = _StyleSheet.default.create({\n root: {\n flexBasis: \'auto\',\n overflow: \'hidden\',\n zIndex: 0\n },\n inline: {\n display: \'inline-flex\'\n },\n image: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _StyleSheet.default.absoluteFillObject), {}, {\n backgroundColor: \'transparent\',\n backgroundPosition: \'center\',\n backgroundRepeat: \'no-repeat\',\n backgroundSize: \'cover\',\n height: \'100%\',\n width: \'100%\',\n zIndex: -1\n }),\n accessibilityImage$raw: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _StyleSheet.default.absoluteFillObject), {}, {\n height: \'100%\',\n opacity: 0,\n width: \'100%\',\n zIndex: -1\n })\n});\n\nvar resizeModeStyles = _StyleSheet.default.create({\n center: {\n backgroundSize: \'auto\'\n },\n contain: {\n backgroundSize: \'contain\'\n },\n cover: {\n backgroundSize: \'cover\'\n },\n none: {\n backgroundPosition: \'0\',\n backgroundSize: \'auto\'\n },\n repeat: {\n backgroundPosition: \'0\',\n backgroundRepeat: \'repeat\',\n backgroundSize: \'auto\'\n },\n stretch: {\n backgroundSize: \'100% 100%\'\n }\n});\n\nvar _default = ImageWithStatics;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL0ltYWdlL2luZGV4LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDZCQUE2QiwwSkFBK0Q7O0FBRTVGLDhCQUE4Qiw0SkFBZ0U7O0FBRTlGLGtCQUFrQjtBQUNsQixrQkFBZTs7QUFFZiw0Q0FBNEMsbUJBQU8sQ0FBQyx3R0FBc0M7O0FBRTFGLHVDQUF1QyxtQkFBTyxDQUFDLDRGQUFnQzs7QUFFL0UsNERBQTRELG1CQUFPLENBQUMsc0lBQXFEOztBQUV6SCxvQ0FBb0MsbUJBQU8sQ0FBQyxvQkFBTzs7QUFFbkQsNENBQTRDLG1CQUFPLENBQUMscUZBQWtCOztBQUV0RSxxQkFBcUIsbUJBQU8sQ0FBQyxnR0FBNkI7O0FBRTFELGtCQUFrQixtQkFBTyxDQUFDLCtGQUEwQjs7QUFFcEQsMENBQTBDLG1CQUFPLENBQUMsNEZBQTJCOztBQUU3RSx5Q0FBeUMsbUJBQU8sQ0FBQywrRUFBZTs7QUFFaEUseUNBQXlDLG1CQUFPLENBQUMsK0VBQWU7O0FBRWhFLGtEQUFrRCxtQkFBTyxDQUFDLHFHQUE2Qjs7QUFFdkYsbUNBQW1DLG1CQUFPLENBQUMsbUVBQVM7O0FBRXBELGdCQUFnQixtQkFBTyxDQUFDLHNGQUF3Qjs7QUFFaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdEOztBQUVoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCOztBQUU5QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0Esc0RBQXNEOzs7QUFHdEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQSw4Q0FBOEM7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNLElBQXFDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBLDBDQUEwQztBQUMxQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0gsa0ZBQWtGO0FBQ2xGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRztBQUNILENBQUM7QUFDRCw2QkFBNkI7O0FBRTdCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSCxtRUFBbUUsNkNBQTZDO0FBQ2hIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILG9GQUFvRiw2Q0FBNkM7QUFDakk7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0Esa0JBQWU7QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL0ltYWdlL2luZGV4LmpzP2E3MDkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlV2lsZGNhcmRcIikuZGVmYXVsdDtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9vYmplY3RTcHJlYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWQyXCIpKTtcblxudmFyIF9leHRlbmRzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kc1wiKSk7XG5cbnZhciBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2VcIikpO1xuXG52YXIgUmVhY3QgPSBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChyZXF1aXJlKFwicmVhY3RcIikpO1xuXG52YXIgX2NyZWF0ZUVsZW1lbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9jcmVhdGVFbGVtZW50XCIpKTtcblxudmFyIF9Bc3NldFJlZ2lzdHJ5ID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZXMvQXNzZXRSZWdpc3RyeVwiKTtcblxudmFyIF9wcmVwcm9jZXNzID0gcmVxdWlyZShcIi4uL1N0eWxlU2hlZXQvcHJlcHJvY2Vzc1wiKTtcblxudmFyIF9JbWFnZUxvYWRlciA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL21vZHVsZXMvSW1hZ2VMb2FkZXJcIikpO1xuXG52YXIgX1BpeGVsUmF0aW8gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9QaXhlbFJhdGlvXCIpKTtcblxudmFyIF9TdHlsZVNoZWV0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vU3R5bGVTaGVldFwiKSk7XG5cbnZhciBfVGV4dEFuY2VzdG9yQ29udGV4dCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uL1RleHQvVGV4dEFuY2VzdG9yQ29udGV4dFwiKSk7XG5cbnZhciBfVmlldyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uL1ZpZXdcIikpO1xuXG52YXIgX3dhcm5PbmNlID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZXMvd2Fybk9uY2VcIik7XG5cbnZhciBfZXhjbHVkZWQgPSBbXCJhY2Nlc3NpYmlsaXR5TGFiZWxcIiwgXCJibHVyUmFkaXVzXCIsIFwiZGVmYXVsdFNvdXJjZVwiLCBcImRyYWdnYWJsZVwiLCBcIm9uRXJyb3JcIiwgXCJvbkxheW91dFwiLCBcIm9uTG9hZFwiLCBcIm9uTG9hZEVuZFwiLCBcIm9uTG9hZFN0YXJ0XCIsIFwicG9pbnRlckV2ZW50c1wiLCBcInNvdXJjZVwiLCBcInN0eWxlXCJdO1xudmFyIEVSUk9SRUQgPSAnRVJST1JFRCc7XG52YXIgTE9BREVEID0gJ0xPQURFRCc7XG52YXIgTE9BRElORyA9ICdMT0FESU5HJztcbnZhciBJRExFID0gJ0lETEUnO1xudmFyIF9maWx0ZXJJZCA9IDA7XG52YXIgc3ZnRGF0YVVyaVBhdHRlcm4gPSAvXihkYXRhOmltYWdlXFwvc3ZnXFwreG1sO3V0ZjgsKSguKikvO1xuXG5mdW5jdGlvbiBjcmVhdGVUaW50Q29sb3JTVkcodGludENvbG9yLCBpZCkge1xuICByZXR1cm4gdGludENvbG9yICYmIGlkICE9IG51bGwgPyAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCB7XG4gICAgc3R5bGU6IHtcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgaGVpZ2h0OiAwLFxuICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgICB3aWR0aDogMFxuICAgIH1cbiAgfSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkZWZzXCIsIG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwiZmlsdGVyXCIsIHtcbiAgICBpZDogXCJ0aW50LVwiICsgaWQsXG4gICAgc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nOiB0cnVlXG4gIH0sIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwiZmVGbG9vZFwiLCB7XG4gICAgZmxvb2RDb2xvcjogXCJcIiArIHRpbnRDb2xvcixcbiAgICBrZXk6IHRpbnRDb2xvclxuICB9KSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJmZUNvbXBvc2l0ZVwiLCB7XG4gICAgaW4yOiBcIlNvdXJjZUFscGhhXCIsXG4gICAgb3BlcmF0b3I6IFwiYXRvcFwiXG4gIH0pKSkpIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gZ2V0RmxhdFN0eWxlKHN0eWxlLCBibHVyUmFkaXVzLCBmaWx0ZXJJZCwgdGludENvbG9yUHJvcCkge1xuICB2YXIgZmxhdFN0eWxlID0gX1N0eWxlU2hlZXQuZGVmYXVsdC5mbGF0dGVuKHN0eWxlKTtcblxuICB2YXIgZmlsdGVyID0gZmxhdFN0eWxlLmZpbHRlcixcbiAgICAgIHJlc2l6ZU1vZGUgPSBmbGF0U3R5bGUucmVzaXplTW9kZSxcbiAgICAgIHNoYWRvd09mZnNldCA9IGZsYXRTdHlsZS5zaGFkb3dPZmZzZXQsXG4gICAgICB0aW50Q29sb3IgPSBmbGF0U3R5bGUudGludENvbG9yO1xuXG4gIGlmIChmbGF0U3R5bGUucmVzaXplTW9kZSkge1xuICAgICgwLCBfd2Fybk9uY2Uud2Fybk9uY2UpKCdJbWFnZS5zdHlsZS5yZXNpemVNb2RlJywgJ0ltYWdlOiBzdHlsZS5yZXNpemVNb2RlIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgcHJvcHMucmVzaXplTW9kZS4nKTtcbiAgfVxuXG4gIGlmIChmbGF0U3R5bGUudGludENvbG9yKSB7XG4gICAgKDAsIF93YXJuT25jZS53YXJuT25jZSkoJ0ltYWdlLnN0eWxlLnRpbnRDb2xvcicsICdJbWFnZTogc3R5bGUudGludENvbG9yIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgcHJvcHMudGludENvbG9yLicpO1xuICB9IC8vIEFkZCBDU1MgZmlsdGVyc1xuICAvLyBSZWFjdCBOYXRpdmUgZXhwb3NlcyB0aGVzZSBmZWF0dXJlcyBhcyBwcm9wcyBhbmQgcHJvcHJpZXRhcnkgc3R5bGVzXG5cblxuICB2YXIgZmlsdGVycyA9IFtdO1xuICB2YXIgX2ZpbHRlciA9IG51bGw7XG5cbiAgaWYgKGZpbHRlcikge1xuICAgIGZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICB9XG5cbiAgaWYgKGJsdXJSYWRpdXMpIHtcbiAgICBmaWx0ZXJzLnB1c2goXCJibHVyKFwiICsgYmx1clJhZGl1cyArIFwicHgpXCIpO1xuICB9XG5cbiAgaWYgKHNoYWRvd09mZnNldCkge1xuICAgIHZhciBzaGFkb3dTdHJpbmcgPSAoMCwgX3ByZXByb2Nlc3MuY3JlYXRlQm94U2hhZG93VmFsdWUpKGZsYXRTdHlsZSk7XG5cbiAgICBpZiAoc2hhZG93U3RyaW5nKSB7XG4gICAgICBmaWx0ZXJzLnB1c2goXCJkcm9wLXNoYWRvdyhcIiArIHNoYWRvd1N0cmluZyArIFwiKVwiKTtcbiAgICB9XG4gIH1cblxuICBpZiAoKHRpbnRDb2xvclByb3AgfHwgdGludENvbG9yKSAmJiBmaWx0ZXJJZCAhPSBudWxsKSB7XG4gICAgZmlsdGVycy5wdXNoKFwidXJsKCN0aW50LVwiICsgZmlsdGVySWQgKyBcIilcIik7XG4gIH1cblxuICBpZiAoZmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgX2ZpbHRlciA9IGZpbHRlcnMuam9pbignICcpO1xuICB9IC8vIFRoZXNlIHN0eWxlcyBhcmUgY29udmVydGVkIHRvIENTUyBmaWx0ZXJzIGFwcGxpZWQgdG8gdGhlXG4gIC8vIGVsZW1lbnQgZGlzcGxheWluZyB0aGUgYmFja2dyb3VuZCBpbWFnZS5cblxuXG4gIGRlbGV0ZSBmbGF0U3R5bGUuYmx1clJhZGl1cztcbiAgZGVsZXRlIGZsYXRTdHlsZS5zaGFkb3dDb2xvcjtcbiAgZGVsZXRlIGZsYXRTdHlsZS5zaGFkb3dPcGFjaXR5O1xuICBkZWxldGUgZmxhdFN0eWxlLnNoYWRvd09mZnNldDtcbiAgZGVsZXRlIGZsYXRTdHlsZS5zaGFkb3dSYWRpdXM7XG4gIGRlbGV0ZSBmbGF0U3R5bGUudGludENvbG9yOyAvLyBUaGVzZSBzdHlsZXMgYXJlIG5vdCBzdXBwb3J0ZWQgb24gVmlld1xuXG4gIGRlbGV0ZSBmbGF0U3R5bGUub3ZlcmxheUNvbG9yO1xuICBkZWxldGUgZmxhdFN0eWxlLnJlc2l6ZU1vZGU7XG4gIHJldHVybiBbZmxhdFN0eWxlLCByZXNpemVNb2RlLCBfZmlsdGVyLCB0aW50Q29sb3JdO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlQXNzZXREaW1lbnNpb25zKHNvdXJjZSkge1xuICBpZiAodHlwZW9mIHNvdXJjZSA9PT0gJ251bWJlcicpIHtcbiAgICB2YXIgX2dldEFzc2V0QnlJRCA9ICgwLCBfQXNzZXRSZWdpc3RyeS5nZXRBc3NldEJ5SUQpKHNvdXJjZSksXG4gICAgICAgIF9oZWlnaHQgPSBfZ2V0QXNzZXRCeUlELmhlaWdodCxcbiAgICAgICAgX3dpZHRoID0gX2dldEFzc2V0QnlJRC53aWR0aDtcblxuICAgIHJldHVybiB7XG4gICAgICBoZWlnaHQ6IF9oZWlnaHQsXG4gICAgICB3aWR0aDogX3dpZHRoXG4gICAgfTtcbiAgfSBlbHNlIGlmIChzb3VyY2UgIT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShzb3VyY2UpICYmIHR5cGVvZiBzb3VyY2UgPT09ICdvYmplY3QnKSB7XG4gICAgdmFyIF9oZWlnaHQyID0gc291cmNlLmhlaWdodCxcbiAgICAgICAgX3dpZHRoMiA9IHNvdXJjZS53aWR0aDtcbiAgICByZXR1cm4ge1xuICAgICAgaGVpZ2h0OiBfaGVpZ2h0MixcbiAgICAgIHdpZHRoOiBfd2lkdGgyXG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlQXNzZXRVcmkoc291cmNlKSB7XG4gIHZhciB1cmkgPSBudWxsO1xuXG4gIGlmICh0eXBlb2Ygc291cmNlID09PSAnbnVtYmVyJykge1xuICAgIC8vIGdldCB0aGUgVVJJIGZyb20gdGhlIHBhY2thZ2VyXG4gICAgdmFyIGFzc2V0ID0gKDAsIF9Bc3NldFJlZ2lzdHJ5LmdldEFzc2V0QnlJRCkoc291cmNlKTtcblxuICAgIGlmIChhc3NldCA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbWFnZTogYXNzZXQgd2l0aCBJRCBcXFwiXCIgKyBzb3VyY2UgKyBcIlxcXCIgY291bGQgbm90IGJlIGZvdW5kLiBQbGVhc2UgY2hlY2sgdGhlIGltYWdlIHNvdXJjZSBvciBwYWNrYWdlci5cIik7XG4gICAgfVxuXG4gICAgdmFyIHNjYWxlID0gYXNzZXQuc2NhbGVzWzBdO1xuXG4gICAgaWYgKGFzc2V0LnNjYWxlcy5sZW5ndGggPiAxKSB7XG4gICAgICB2YXIgcHJlZmVycmVkU2NhbGUgPSBfUGl4ZWxSYXRpby5kZWZhdWx0LmdldCgpOyAvLyBHZXQgdGhlIHNjYWxlIHdoaWNoIGlzIGNsb3Nlc3QgdG8gdGhlIHByZWZlcnJlZCBzY2FsZVxuXG5cbiAgICAgIHNjYWxlID0gYXNzZXQuc2NhbGVzLnJlZHVjZSgocHJldiwgY3VycikgPT4gTWF0aC5hYnMoY3VyciAtIHByZWZlcnJlZFNjYWxlKSA8IE1hdGguYWJzKHByZXYgLSBwcmVmZXJyZWRTY2FsZSkgPyBjdXJyIDogcHJldik7XG4gICAgfVxuXG4gICAgdmFyIHNjYWxlU3VmZml4ID0gc2NhbGUgIT09IDEgPyBcIkBcIiArIHNjYWxlICsgXCJ4XCIgOiAnJztcbiAgICB1cmkgPSBhc3NldCA/IGFzc2V0Lmh0dHBTZXJ2ZXJMb2NhdGlvbiArIFwiL1wiICsgYXNzZXQubmFtZSArIHNjYWxlU3VmZml4ICsgXCIuXCIgKyBhc3NldC50eXBlIDogJyc7XG4gIH0gZWxzZSBpZiAodHlwZW9mIHNvdXJjZSA9PT0gJ3N0cmluZycpIHtcbiAgICB1cmkgPSBzb3VyY2U7XG4gIH0gZWxzZSBpZiAoc291cmNlICYmIHR5cGVvZiBzb3VyY2UudXJpID09PSAnc3RyaW5nJykge1xuICAgIHVyaSA9IHNvdXJjZS51cmk7XG4gIH1cblxuICBpZiAodXJpKSB7XG4gICAgdmFyIG1hdGNoID0gdXJpLm1hdGNoKHN2Z0RhdGFVcmlQYXR0ZXJuKTsgLy8gaW5saW5lIFNWRyBtYXJrdXAgbWF5IGNvbnRhaW4gY2hhcmFjdGVycyAoZS5nLiwgIywgXCIpIHRoYXQgbmVlZCB0byBiZSBlc2NhcGVkXG5cbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIHZhciBwcmVmaXggPSBtYXRjaFsxXSxcbiAgICAgICAgICBzdmcgPSBtYXRjaFsyXTtcbiAgICAgIHZhciBlbmNvZGVkU3ZnID0gZW5jb2RlVVJJQ29tcG9uZW50KHN2Zyk7XG4gICAgICByZXR1cm4gXCJcIiArIHByZWZpeCArIGVuY29kZWRTdmc7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVyaTtcbn1cblxudmFyIEltYWdlID0gLyojX19QVVJFX18qL1JlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgdmFyIGFjY2Vzc2liaWxpdHlMYWJlbCA9IHByb3BzLmFjY2Vzc2liaWxpdHlMYWJlbCxcbiAgICAgIGJsdXJSYWRpdXMgPSBwcm9wcy5ibHVyUmFkaXVzLFxuICAgICAgZGVmYXVsdFNvdXJjZSA9IHByb3BzLmRlZmF1bHRTb3VyY2UsXG4gICAgICBkcmFnZ2FibGUgPSBwcm9wcy5kcmFnZ2FibGUsXG4gICAgICBvbkVycm9yID0gcHJvcHMub25FcnJvcixcbiAgICAgIG9uTGF5b3V0ID0gcHJvcHMub25MYXlvdXQsXG4gICAgICBvbkxvYWQgPSBwcm9wcy5vbkxvYWQsXG4gICAgICBvbkxvYWRFbmQgPSBwcm9wcy5vbkxvYWRFbmQsXG4gICAgICBvbkxvYWRTdGFydCA9IHByb3BzLm9uTG9hZFN0YXJ0LFxuICAgICAgcG9pbnRlckV2ZW50cyA9IHByb3BzLnBvaW50ZXJFdmVudHMsXG4gICAgICBzb3VyY2UgPSBwcm9wcy5zb3VyY2UsXG4gICAgICBzdHlsZSA9IHByb3BzLnN0eWxlLFxuICAgICAgcmVzdCA9ICgwLCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZTIuZGVmYXVsdCkocHJvcHMsIF9leGNsdWRlZCk7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBpZiAocHJvcHMuY2hpbGRyZW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIDxJbWFnZT4gY29tcG9uZW50IGNhbm5vdCBjb250YWluIGNoaWxkcmVuLiBJZiB5b3Ugd2FudCB0byByZW5kZXIgY29udGVudCBvbiB0b3Agb2YgdGhlIGltYWdlLCBjb25zaWRlciB1c2luZyB0aGUgPEltYWdlQmFja2dyb3VuZD4gY29tcG9uZW50IG9yIGFic29sdXRlIHBvc2l0aW9uaW5nLicpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBfUmVhY3QkdXNlU3RhdGUgPSBSZWFjdC51c2VTdGF0ZSgoKSA9PiB7XG4gICAgdmFyIHVyaSA9IHJlc29sdmVBc3NldFVyaShzb3VyY2UpO1xuXG4gICAgaWYgKHVyaSAhPSBudWxsKSB7XG4gICAgICB2YXIgaXNMb2FkZWQgPSBfSW1hZ2VMb2FkZXIuZGVmYXVsdC5oYXModXJpKTtcblxuICAgICAgaWYgKGlzTG9hZGVkKSB7XG4gICAgICAgIHJldHVybiBMT0FERUQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIElETEU7XG4gIH0pLFxuICAgICAgc3RhdGUgPSBfUmVhY3QkdXNlU3RhdGVbMF0sXG4gICAgICB1cGRhdGVTdGF0ZSA9IF9SZWFjdCR1c2VTdGF0ZVsxXTtcblxuICB2YXIgX1JlYWN0JHVzZVN0YXRlMiA9IFJlYWN0LnVzZVN0YXRlKHt9KSxcbiAgICAgIGxheW91dCA9IF9SZWFjdCR1c2VTdGF0ZTJbMF0sXG4gICAgICB1cGRhdGVMYXlvdXQgPSBfUmVhY3QkdXNlU3RhdGUyWzFdO1xuXG4gIHZhciBoYXNUZXh0QW5jZXN0b3IgPSBSZWFjdC51c2VDb250ZXh0KF9UZXh0QW5jZXN0b3JDb250ZXh0LmRlZmF1bHQpO1xuICB2YXIgaGlkZGVuSW1hZ2VSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIHZhciBmaWx0ZXJSZWYgPSBSZWFjdC51c2VSZWYoX2ZpbHRlcklkKyspO1xuICB2YXIgcmVxdWVzdFJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgdmFyIHNob3VsZERpc3BsYXlTb3VyY2UgPSBzdGF0ZSA9PT0gTE9BREVEIHx8IHN0YXRlID09PSBMT0FESU5HICYmIGRlZmF1bHRTb3VyY2UgPT0gbnVsbDtcblxuICB2YXIgX2dldEZsYXRTdHlsZSA9IGdldEZsYXRTdHlsZShzdHlsZSwgYmx1clJhZGl1cywgZmlsdGVyUmVmLmN1cnJlbnQsIHByb3BzLnRpbnRDb2xvciksXG4gICAgICBmbGF0U3R5bGUgPSBfZ2V0RmxhdFN0eWxlWzBdLFxuICAgICAgX3Jlc2l6ZU1vZGUgPSBfZ2V0RmxhdFN0eWxlWzFdLFxuICAgICAgZmlsdGVyID0gX2dldEZsYXRTdHlsZVsyXSxcbiAgICAgIF90aW50Q29sb3IgPSBfZ2V0RmxhdFN0eWxlWzNdO1xuXG4gIHZhciByZXNpemVNb2RlID0gcHJvcHMucmVzaXplTW9kZSB8fCBfcmVzaXplTW9kZSB8fCAnY292ZXInO1xuICB2YXIgdGludENvbG9yID0gcHJvcHMudGludENvbG9yIHx8IF90aW50Q29sb3I7XG4gIHZhciBzZWxlY3RlZFNvdXJjZSA9IHNob3VsZERpc3BsYXlTb3VyY2UgPyBzb3VyY2UgOiBkZWZhdWx0U291cmNlO1xuICB2YXIgZGlzcGxheUltYWdlVXJpID0gcmVzb2x2ZUFzc2V0VXJpKHNlbGVjdGVkU291cmNlKTtcbiAgdmFyIGltYWdlU2l6ZVN0eWxlID0gcmVzb2x2ZUFzc2V0RGltZW5zaW9ucyhzZWxlY3RlZFNvdXJjZSk7XG4gIHZhciBiYWNrZ3JvdW5kSW1hZ2UgPSBkaXNwbGF5SW1hZ2VVcmkgPyBcInVybChcXFwiXCIgKyBkaXNwbGF5SW1hZ2VVcmkgKyBcIlxcXCIpXCIgOiBudWxsO1xuICB2YXIgYmFja2dyb3VuZFNpemUgPSBnZXRCYWNrZ3JvdW5kU2l6ZSgpOyAvLyBBY2Nlc3NpYmlsaXR5IGltYWdlIGFsbG93cyB1c2VycyB0byB0cmlnZ2VyIHRoZSBicm93c2VyJ3MgaW1hZ2UgY29udGV4dCBtZW51XG5cbiAgdmFyIGhpZGRlbkltYWdlID0gZGlzcGxheUltYWdlVXJpID8gKDAsIF9jcmVhdGVFbGVtZW50LmRlZmF1bHQpKCdpbWcnLCB7XG4gICAgYWx0OiBhY2Nlc3NpYmlsaXR5TGFiZWwgfHwgJycsXG4gICAgc3R5bGU6IHN0eWxlcy5hY2Nlc3NpYmlsaXR5SW1hZ2UkcmF3LFxuICAgIGRyYWdnYWJsZTogZHJhZ2dhYmxlIHx8IGZhbHNlLFxuICAgIHJlZjogaGlkZGVuSW1hZ2VSZWYsXG4gICAgc3JjOiBkaXNwbGF5SW1hZ2VVcmlcbiAgfSkgOiBudWxsO1xuXG4gIGZ1bmN0aW9uIGdldEJhY2tncm91bmRTaXplKCkge1xuICAgIGlmIChoaWRkZW5JbWFnZVJlZi5jdXJyZW50ICE9IG51bGwgJiYgKHJlc2l6ZU1vZGUgPT09ICdjZW50ZXInIHx8IHJlc2l6ZU1vZGUgPT09ICdyZXBlYXQnKSkge1xuICAgICAgdmFyIF9oaWRkZW5JbWFnZVJlZiRjdXJyZSA9IGhpZGRlbkltYWdlUmVmLmN1cnJlbnQsXG4gICAgICAgICAgbmF0dXJhbEhlaWdodCA9IF9oaWRkZW5JbWFnZVJlZiRjdXJyZS5uYXR1cmFsSGVpZ2h0LFxuICAgICAgICAgIG5hdHVyYWxXaWR0aCA9IF9oaWRkZW5JbWFnZVJlZiRjdXJyZS5uYXR1cmFsV2lkdGg7XG4gICAgICB2YXIgX2hlaWdodDMgPSBsYXlvdXQuaGVpZ2h0LFxuICAgICAgICAgIF93aWR0aDMgPSBsYXlvdXQud2lkdGg7XG5cbiAgICAgIGlmIChuYXR1cmFsSGVpZ2h0ICYmIG5hdHVyYWxXaWR0aCAmJiBfaGVpZ2h0MyAmJiBfd2lkdGgzKSB7XG4gICAgICAgIHZhciBzY2FsZUZhY3RvciA9IE1hdGgubWluKDEsIF93aWR0aDMgLyBuYXR1cmFsV2lkdGgsIF9oZWlnaHQzIC8gbmF0dXJhbEhlaWdodCk7XG4gICAgICAgIHZhciB4ID0gTWF0aC5jZWlsKHNjYWxlRmFjdG9yICogbmF0dXJhbFdpZHRoKTtcbiAgICAgICAgdmFyIHkgPSBNYXRoLmNlaWwoc2NhbGVGYWN0b3IgKiBuYXR1cmFsSGVpZ2h0KTtcbiAgICAgICAgcmV0dXJuIHggKyBcInB4IFwiICsgeSArIFwicHhcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVMYXlvdXQoZSkge1xuICAgIGlmIChyZXNpemVNb2RlID09PSAnY2VudGVyJyB8fCByZXNpemVNb2RlID09PSAncmVwZWF0JyB8fCBvbkxheW91dCkge1xuICAgICAgdmFyIF9sYXlvdXQgPSBlLm5hdGl2ZUV2ZW50LmxheW91dDtcbiAgICAgIG9uTGF5b3V0ICYmIG9uTGF5b3V0KGUpO1xuICAgICAgdXBkYXRlTGF5b3V0KF9sYXlvdXQpO1xuICAgIH1cbiAgfSAvLyBJbWFnZSBsb2FkaW5nXG5cblxuICB2YXIgdXJpID0gcmVzb2x2ZUFzc2V0VXJpKHNvdXJjZSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYWJvcnRQZW5kaW5nUmVxdWVzdCgpO1xuXG4gICAgaWYgKHVyaSAhPSBudWxsKSB7XG4gICAgICB1cGRhdGVTdGF0ZShMT0FESU5HKTtcblxuICAgICAgaWYgKG9uTG9hZFN0YXJ0KSB7XG4gICAgICAgIG9uTG9hZFN0YXJ0KCk7XG4gICAgICB9XG5cbiAgICAgIHJlcXVlc3RSZWYuY3VycmVudCA9IF9JbWFnZUxvYWRlci5kZWZhdWx0LmxvYWQodXJpLCBmdW5jdGlvbiBsb2FkKGUpIHtcbiAgICAgICAgdXBkYXRlU3RhdGUoTE9BREVEKTtcblxuICAgICAgICBpZiAob25Mb2FkKSB7XG4gICAgICAgICAgb25Mb2FkKGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9uTG9hZEVuZCkge1xuICAgICAgICAgIG9uTG9hZEVuZCgpO1xuICAgICAgICB9XG4gICAgICB9LCBmdW5jdGlvbiBlcnJvcigpIHtcbiAgICAgICAgdXBkYXRlU3RhdGUoRVJST1JFRCk7XG5cbiAgICAgICAgaWYgKG9uRXJyb3IpIHtcbiAgICAgICAgICBvbkVycm9yKHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiB7XG4gICAgICAgICAgICAgIGVycm9yOiBcIkZhaWxlZCB0byBsb2FkIHJlc291cmNlIFwiICsgdXJpICsgXCIgKDQwNClcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9uTG9hZEVuZCkge1xuICAgICAgICAgIG9uTG9hZEVuZCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhYm9ydFBlbmRpbmdSZXF1ZXN0KCkge1xuICAgICAgaWYgKHJlcXVlc3RSZWYuY3VycmVudCAhPSBudWxsKSB7XG4gICAgICAgIF9JbWFnZUxvYWRlci5kZWZhdWx0LmFib3J0KHJlcXVlc3RSZWYuY3VycmVudCk7XG5cbiAgICAgICAgcmVxdWVzdFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYWJvcnRQZW5kaW5nUmVxdWVzdDtcbiAgfSwgW3VyaSwgcmVxdWVzdFJlZiwgdXBkYXRlU3RhdGUsIG9uRXJyb3IsIG9uTG9hZCwgb25Mb2FkRW5kLCBvbkxvYWRTdGFydF0pO1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoX1ZpZXcuZGVmYXVsdCwgKDAsIF9leHRlbmRzMi5kZWZhdWx0KSh7fSwgcmVzdCwge1xuICAgIGFjY2Vzc2liaWxpdHlMYWJlbDogYWNjZXNzaWJpbGl0eUxhYmVsLFxuICAgIG9uTGF5b3V0OiBoYW5kbGVMYXlvdXQsXG4gICAgcG9pbnRlckV2ZW50czogcG9pbnRlckV2ZW50cyxcbiAgICByZWY6IHJlZixcbiAgICBzdHlsZTogW3N0eWxlcy5yb290LCBoYXNUZXh0QW5jZXN0b3IgJiYgc3R5bGVzLmlubGluZSwgaW1hZ2VTaXplU3R5bGUsIGZsYXRTdHlsZV1cbiAgfSksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KF9WaWV3LmRlZmF1bHQsIHtcbiAgICBzdHlsZTogW3N0eWxlcy5pbWFnZSwgcmVzaXplTW9kZVN0eWxlc1tyZXNpemVNb2RlXSwge1xuICAgICAgYmFja2dyb3VuZEltYWdlLFxuICAgICAgZmlsdGVyXG4gICAgfSwgYmFja2dyb3VuZFNpemUgIT0gbnVsbCAmJiB7XG4gICAgICBiYWNrZ3JvdW5kU2l6ZVxuICAgIH1dLFxuICAgIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzogdHJ1ZVxuICB9KSwgaGlkZGVuSW1hZ2UsIGNyZWF0ZVRpbnRDb2xvclNWRyh0aW50Q29sb3IsIGZpbHRlclJlZi5jdXJyZW50KSk7XG59KTtcbkltYWdlLmRpc3BsYXlOYW1lID0gJ0ltYWdlJzsgLy8gJEZsb3dJZ25vcmU6IFRoaXMgaXMgdGhlIGNvcnJlY3QgdHlwZSwgYnV0IGNhc3RpbmcgbWFrZXMgaXQgdW5oYXBweSBzaW5jZSB0aGUgdmFyaWFibGVzIGFyZW4ndCBkZWZpbmVkIHlldFxuXG52YXIgSW1hZ2VXaXRoU3RhdGljcyA9IEltYWdlO1xuXG5JbWFnZVdpdGhTdGF0aWNzLmdldFNpemUgPSBmdW5jdGlvbiAodXJpLCBzdWNjZXNzLCBmYWlsdXJlKSB7XG4gIF9JbWFnZUxvYWRlci5kZWZhdWx0LmdldFNpemUodXJpLCBzdWNjZXNzLCBmYWlsdXJlKTtcbn07XG5cbkltYWdlV2l0aFN0YXRpY3MucHJlZmV0Y2ggPSBmdW5jdGlvbiAodXJpKSB7XG4gIHJldHVybiBfSW1hZ2VMb2FkZXIuZGVmYXVsdC5wcmVmZXRjaCh1cmkpO1xufTtcblxuSW1hZ2VXaXRoU3RhdGljcy5xdWVyeUNhY2hlID0gZnVuY3Rpb24gKHVyaXMpIHtcbiAgcmV0dXJuIF9JbWFnZUxvYWRlci5kZWZhdWx0LnF1ZXJ5Q2FjaGUodXJpcyk7XG59O1xuXG52YXIgc3R5bGVzID0gX1N0eWxlU2hlZXQuZGVmYXVsdC5jcmVhdGUoe1xuICByb290OiB7XG4gICAgZmxleEJhc2lzOiAnYXV0bycsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHpJbmRleDogMFxuICB9LFxuICBpbmxpbmU6IHtcbiAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnXG4gIH0sXG4gIGltYWdlOiAoMCwgX29iamVjdFNwcmVhZDIuZGVmYXVsdCkoKDAsIF9vYmplY3RTcHJlYWQyLmRlZmF1bHQpKHt9LCBfU3R5bGVTaGVldC5kZWZhdWx0LmFic29sdXRlRmlsbE9iamVjdCksIHt9LCB7XG4gICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgIGJhY2tncm91bmRQb3NpdGlvbjogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZFJlcGVhdDogJ25vLXJlcGVhdCcsXG4gICAgYmFja2dyb3VuZFNpemU6ICdjb3ZlcicsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICB6SW5kZXg6IC0xXG4gIH0pLFxuICBhY2Nlc3NpYmlsaXR5SW1hZ2UkcmF3OiAoMCwgX29iamVjdFNwcmVhZDIuZGVmYXVsdCkoKDAsIF9vYmplY3RTcHJlYWQyLmRlZmF1bHQpKHt9LCBfU3R5bGVTaGVldC5kZWZhdWx0LmFic29sdXRlRmlsbE9iamVjdCksIHt9LCB7XG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgb3BhY2l0eTogMCxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIHpJbmRleDogLTFcbiAgfSlcbn0pO1xuXG52YXIgcmVzaXplTW9kZVN0eWxlcyA9IF9TdHlsZVNoZWV0LmRlZmF1bHQuY3JlYXRlKHtcbiAgY2VudGVyOiB7XG4gICAgYmFja2dyb3VuZFNpemU6ICdhdXRvJ1xuICB9LFxuICBjb250YWluOiB7XG4gICAgYmFja2dyb3VuZFNpemU6ICdjb250YWluJ1xuICB9LFxuICBjb3Zlcjoge1xuICAgIGJhY2tncm91bmRTaXplOiAnY292ZXInXG4gIH0sXG4gIG5vbmU6IHtcbiAgICBiYWNrZ3JvdW5kUG9zaXRpb246ICcwJyxcbiAgICBiYWNrZ3JvdW5kU2l6ZTogJ2F1dG8nXG4gIH0sXG4gIHJlcGVhdDoge1xuICAgIGJhY2tncm91bmRQb3NpdGlvbjogJzAnLFxuICAgIGJhY2tncm91bmRSZXBlYXQ6ICdyZXBlYXQnLFxuICAgIGJhY2tncm91bmRTaXplOiAnYXV0bydcbiAgfSxcbiAgc3RyZXRjaDoge1xuICAgIGJhY2tncm91bmRTaXplOiAnMTAwJSAxMDAlJ1xuICB9XG59KTtcblxudmFyIF9kZWZhdWx0ID0gSW1hZ2VXaXRoU3RhdGljcztcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/Image/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/PixelRatio/index.js': /*!****************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/PixelRatio/index.js ***! \****************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _Dimensions = _interopRequireDefault(__webpack_require__(/*! ../Dimensions */ "../react-native-web/dist/cjs/exports/Dimensions/index.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * PixelRatio gives access to the device pixel density.\n */\nclass PixelRatio {\n /**\n * Returns the device pixel density.\n */\n static get() {\n return _Dimensions.default.get(\'window\').scale;\n }\n /**\n * No equivalent for Web\n */\n\n\n static getFontScale() {\n return _Dimensions.default.get(\'window\').fontScale || PixelRatio.get();\n }\n /**\n * Converts a layout size (dp) to pixel size (px).\n * Guaranteed to return an integer number.\n */\n\n\n static getPixelSizeForLayoutSize(layoutSize) {\n return Math.round(layoutSize * PixelRatio.get());\n }\n /**\n * Rounds a layout size (dp) to the nearest layout size that corresponds to\n * an integer number of pixels. For example, on a device with a PixelRatio\n * of 3, `PixelRatio.roundToNearestPixel(8.4) = 8.33`, which corresponds to\n * exactly (8.33 * 3) = 25 pixels.\n */\n\n\n static roundToNearestPixel(layoutSize) {\n var ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n }\n\n}\n\nexports["default"] = PixelRatio;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1BpeGVsUmF0aW8vaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmLHlDQUF5QyxtQkFBTyxDQUFDLCtFQUFlOztBQUVoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGtCQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvZXhwb3J0cy9QaXhlbFJhdGlvL2luZGV4LmpzPzk3ZjEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfRGltZW5zaW9ucyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uL0RpbWVuc2lvbnNcIikpO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgTmljb2xhcyBHYWxsYWdoZXIuXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG5cbi8qKlxuICogUGl4ZWxSYXRpbyBnaXZlcyBhY2Nlc3MgdG8gdGhlIGRldmljZSBwaXhlbCBkZW5zaXR5LlxuICovXG5jbGFzcyBQaXhlbFJhdGlvIHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRldmljZSBwaXhlbCBkZW5zaXR5LlxuICAgKi9cbiAgc3RhdGljIGdldCgpIHtcbiAgICByZXR1cm4gX0RpbWVuc2lvbnMuZGVmYXVsdC5nZXQoJ3dpbmRvdycpLnNjYWxlO1xuICB9XG4gIC8qKlxuICAgKiBObyBlcXVpdmFsZW50IGZvciBXZWJcbiAgICovXG5cblxuICBzdGF0aWMgZ2V0Rm9udFNjYWxlKCkge1xuICAgIHJldHVybiBfRGltZW5zaW9ucy5kZWZhdWx0LmdldCgnd2luZG93JykuZm9udFNjYWxlIHx8IFBpeGVsUmF0aW8uZ2V0KCk7XG4gIH1cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgbGF5b3V0IHNpemUgKGRwKSB0byBwaXhlbCBzaXplIChweCkuXG4gICAqIEd1YXJhbnRlZWQgdG8gcmV0dXJuIGFuIGludGVnZXIgbnVtYmVyLlxuICAgKi9cblxuXG4gIHN0YXRpYyBnZXRQaXhlbFNpemVGb3JMYXlvdXRTaXplKGxheW91dFNpemUpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChsYXlvdXRTaXplICogUGl4ZWxSYXRpby5nZXQoKSk7XG4gIH1cbiAgLyoqXG4gICAqIFJvdW5kcyBhIGxheW91dCBzaXplIChkcCkgdG8gdGhlIG5lYXJlc3QgbGF5b3V0IHNpemUgdGhhdCBjb3JyZXNwb25kcyB0b1xuICAgKiBhbiBpbnRlZ2VyIG51bWJlciBvZiBwaXhlbHMuIEZvciBleGFtcGxlLCBvbiBhIGRldmljZSB3aXRoIGEgUGl4ZWxSYXRpb1xuICAgKiBvZiAzLCBgUGl4ZWxSYXRpby5yb3VuZFRvTmVhcmVzdFBpeGVsKDguNCkgPSA4LjMzYCwgd2hpY2ggY29ycmVzcG9uZHMgdG9cbiAgICogZXhhY3RseSAoOC4zMyAqIDMpID0gMjUgcGl4ZWxzLlxuICAgKi9cblxuXG4gIHN0YXRpYyByb3VuZFRvTmVhcmVzdFBpeGVsKGxheW91dFNpemUpIHtcbiAgICB2YXIgcmF0aW8gPSBQaXhlbFJhdGlvLmdldCgpO1xuICAgIHJldHVybiBNYXRoLnJvdW5kKGxheW91dFNpemUgKiByYXRpbykgLyByYXRpbztcbiAgfVxuXG59XG5cbmV4cG9ydHMuZGVmYXVsdCA9IFBpeGVsUmF0aW87XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/PixelRatio/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js': /*!***************************************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js ***! \***************************************************************************************/ /***/ (__unused_webpack_module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"../../node_modules/@babel/runtime/helpers/interopRequireDefault.js\")[\"default\"]);\n\nexports.__esModule = true;\nexports[\"default\"] = exports.createTransformValue = void 0;\n\nvar _normalizeValueWithProperty = _interopRequireDefault(__webpack_require__(/*! ./normalizeValueWithProperty */ \"../react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js\"));\n\nvar _canUseDom = _interopRequireDefault(__webpack_require__(/*! ../../../modules/canUseDom */ \"../react-native-web/dist/cjs/modules/canUseDom/index.js\"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * The browser implements the CSS cascade, where the order of properties is a\n * factor in determining which styles to paint. React Native is different. It\n * gives giving precedence to the more specific style property. For example,\n * the value of `paddingTop` takes precedence over that of `padding`.\n *\n * This module creates mutally exclusive style declarations by expanding all of\n * React Native's supported shortform properties (e.g. `padding`) to their\n * longfrom equivalents.\n */\nvar emptyObject = {};\nvar supportsCSS3TextDecoration = !_canUseDom.default || window.CSS != null && window.CSS.supports != null && (window.CSS.supports('text-decoration-line', 'none') || window.CSS.supports('-webkit-text-decoration-line', 'none'));\nvar ignoredProps = {\n elevation: true,\n overlayColor: true,\n resizeMode: true,\n tintColor: true\n};\nvar MONOSPACE_FONT_STACK = 'monospace,monospace';\nvar SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';\nvar STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n marginHorizontal: ['marginRight', 'marginLeft'],\n marginVertical: ['marginTop', 'marginBottom'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n paddingHorizontal: ['paddingRight', 'paddingLeft'],\n paddingVertical: ['paddingTop', 'paddingBottom']\n};\n/**\n * Transform\n */\n// { scale: 2 } => 'scale(2)'\n// { translateX: 20 } => 'translateX(20px)'\n// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\n\nvar mapTransform = transform => {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n\n if (type === 'matrix' || type === 'matrix3d') {\n return type + \"(\" + value.join(',') + \")\";\n } else {\n var normalizedValue = (0, _normalizeValueWithProperty.default)(value, type);\n return type + \"(\" + normalizedValue + \")\";\n }\n};\n\nvar createTransformValue = style => {\n var transform = style.transform;\n\n if (Array.isArray(style.transform)) {\n transform = style.transform.map(mapTransform).join(' ');\n }\n\n return transform;\n};\n/**\n * Reducer\n */\n\n\nexports.createTransformValue = createTransformValue;\n\nvar createReactDOMStyle = (style, isInline) => {\n if (!style) {\n return emptyObject;\n }\n\n var resolvedStyle = {};\n\n for (var prop in style) {\n var value = style[prop];\n\n if ( // Ignore everything with a null value\n value == null || // Ignore some React Native styles\n ignoredProps[prop]) {\n continue;\n }\n\n if (prop === 'aspectRatio') {\n resolvedStyle[prop] = value.toString();\n } else if (prop === 'backgroundClip') {\n // TODO: remove once this issue is fixed\n // https://github.com/rofrischmann/inline-style-prefixer/issues/159\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n } else if (prop === 'flex') {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n } else if (prop === 'font') {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n } else if (prop === 'fontFamily') {\n if (value.indexOf('System') > -1) {\n var stack = value.split(/,\\s*/);\n stack[stack.indexOf('System')] = SYSTEM_FONT_STACK;\n resolvedStyle[prop] = stack.join(',');\n } else if (value === 'monospace') {\n resolvedStyle[prop] = MONOSPACE_FONT_STACK;\n } else {\n resolvedStyle[prop] = value;\n }\n } else if (prop === 'fontVariant') {\n if (Array.isArray(value) && value.length > 0) {\n resolvedStyle.fontVariant = value.join(' ');\n }\n } else if (prop === 'textAlignVertical') {\n resolvedStyle.verticalAlign = value === 'center' ? 'middle' : value;\n } else if (prop === 'textDecorationLine') {\n // use 'text-decoration' for browsers that only support CSS2\n // text-decoration (e.g., IE, Edge)\n if (!supportsCSS3TextDecoration) {\n resolvedStyle.textDecoration = value;\n } else {\n resolvedStyle.textDecorationLine = value;\n }\n } else if (prop === 'transform' || prop === 'transformMatrix') {\n resolvedStyle.transform = createTransformValue(style);\n } else if (prop === 'writingDirection') {\n resolvedStyle.direction = value;\n } else {\n (function () {\n var value = (0, _normalizeValueWithProperty.default)(style[prop], prop);\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n\n if (isInline && prop === 'margin') {\n if (style.marginHorizontal == null) {\n resolvedStyle.marginLeft = value;\n resolvedStyle.marginRight = value;\n }\n\n if (style.marginVertical == null) {\n resolvedStyle.marginTop = value;\n resolvedStyle.marginBottom = value;\n }\n } else if (isInline && prop === 'padding') {\n if (style.paddingHorizontal == null) {\n resolvedStyle.paddingLeft = value;\n resolvedStyle.paddingRight = value;\n }\n\n if (style.paddingVertical == null) {\n resolvedStyle.paddingTop = value;\n resolvedStyle.paddingBottom = value;\n }\n } else if (longFormProperties) {\n longFormProperties.forEach((longForm, i) => {\n // The value of any longform property in the original styles takes\n // precedence over the shortform's value.\n if (style[longForm] == null) {\n resolvedStyle[longForm] = value;\n }\n });\n } else {\n resolvedStyle[prop] = Array.isArray(value) ? value.join(',') : value;\n }\n })();\n }\n }\n\n return resolvedStyle;\n};\n\nvar _default = createReactDOMStyle;\nexports[\"default\"] = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvY29tcGlsZXIvY3JlYXRlUmVhY3RET01TdHlsZS5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw2QkFBNkIsMEpBQStEOztBQUU1RixrQkFBa0I7QUFDbEIsa0JBQWUsR0FBRyw0QkFBNEI7O0FBRTlDLHlEQUF5RCxtQkFBTyxDQUFDLDRIQUE4Qjs7QUFFL0Ysd0NBQXdDLG1CQUFPLENBQUMsMkZBQTRCOztBQUU1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLFdBQVc7QUFDaEIsS0FBSyxpQkFBaUI7QUFDdEIsS0FBSyx3QkFBd0I7O0FBRTdCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBLDRCQUE0Qjs7QUFFNUI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsVUFBVTtBQUNWO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvZXhwb3J0cy9TdHlsZVNoZWV0L2NvbXBpbGVyL2NyZWF0ZVJlYWN0RE9NU3R5bGUuanM/OWFlZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHRcIikuZGVmYXVsdDtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZGVmYXVsdCA9IGV4cG9ydHMuY3JlYXRlVHJhbnNmb3JtVmFsdWUgPSB2b2lkIDA7XG5cbnZhciBfbm9ybWFsaXplVmFsdWVXaXRoUHJvcGVydHkgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL25vcm1hbGl6ZVZhbHVlV2l0aFByb3BlcnR5XCIpKTtcblxudmFyIF9jYW5Vc2VEb20gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi8uLi9tb2R1bGVzL2NhblVzZURvbVwiKSk7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlci5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xuXG4vKipcbiAqIFRoZSBicm93c2VyIGltcGxlbWVudHMgdGhlIENTUyBjYXNjYWRlLCB3aGVyZSB0aGUgb3JkZXIgb2YgcHJvcGVydGllcyBpcyBhXG4gKiBmYWN0b3IgaW4gZGV0ZXJtaW5pbmcgd2hpY2ggc3R5bGVzIHRvIHBhaW50LiBSZWFjdCBOYXRpdmUgaXMgZGlmZmVyZW50LiBJdFxuICogZ2l2ZXMgZ2l2aW5nIHByZWNlZGVuY2UgdG8gdGhlIG1vcmUgc3BlY2lmaWMgc3R5bGUgcHJvcGVydHkuIEZvciBleGFtcGxlLFxuICogdGhlIHZhbHVlIG9mIGBwYWRkaW5nVG9wYCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhhdCBvZiBgcGFkZGluZ2AuXG4gKlxuICogVGhpcyBtb2R1bGUgY3JlYXRlcyBtdXRhbGx5IGV4Y2x1c2l2ZSBzdHlsZSBkZWNsYXJhdGlvbnMgYnkgZXhwYW5kaW5nIGFsbCBvZlxuICogUmVhY3QgTmF0aXZlJ3Mgc3VwcG9ydGVkIHNob3J0Zm9ybSBwcm9wZXJ0aWVzIChlLmcuIGBwYWRkaW5nYCkgdG8gdGhlaXJcbiAqIGxvbmdmcm9tIGVxdWl2YWxlbnRzLlxuICovXG52YXIgZW1wdHlPYmplY3QgPSB7fTtcbnZhciBzdXBwb3J0c0NTUzNUZXh0RGVjb3JhdGlvbiA9ICFfY2FuVXNlRG9tLmRlZmF1bHQgfHwgd2luZG93LkNTUyAhPSBudWxsICYmIHdpbmRvdy5DU1Muc3VwcG9ydHMgIT0gbnVsbCAmJiAod2luZG93LkNTUy5zdXBwb3J0cygndGV4dC1kZWNvcmF0aW9uLWxpbmUnLCAnbm9uZScpIHx8IHdpbmRvdy5DU1Muc3VwcG9ydHMoJy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLWxpbmUnLCAnbm9uZScpKTtcbnZhciBpZ25vcmVkUHJvcHMgPSB7XG4gIGVsZXZhdGlvbjogdHJ1ZSxcbiAgb3ZlcmxheUNvbG9yOiB0cnVlLFxuICByZXNpemVNb2RlOiB0cnVlLFxuICB0aW50Q29sb3I6IHRydWVcbn07XG52YXIgTU9OT1NQQUNFX0ZPTlRfU1RBQ0sgPSAnbW9ub3NwYWNlLG1vbm9zcGFjZSc7XG52YXIgU1lTVEVNX0ZPTlRfU1RBQ0sgPSAnLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsXCJTZWdvZSBVSVwiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZic7XG52YXIgU1RZTEVfU0hPUlRfRk9STV9FWFBBTlNJT05TID0ge1xuICBib3JkZXJDb2xvcjogWydib3JkZXJUb3BDb2xvcicsICdib3JkZXJSaWdodENvbG9yJywgJ2JvcmRlckJvdHRvbUNvbG9yJywgJ2JvcmRlckxlZnRDb2xvciddLFxuICBib3JkZXJSYWRpdXM6IFsnYm9yZGVyVG9wTGVmdFJhZGl1cycsICdib3JkZXJUb3BSaWdodFJhZGl1cycsICdib3JkZXJCb3R0b21SaWdodFJhZGl1cycsICdib3JkZXJCb3R0b21MZWZ0UmFkaXVzJ10sXG4gIGJvcmRlclN0eWxlOiBbJ2JvcmRlclRvcFN0eWxlJywgJ2JvcmRlclJpZ2h0U3R5bGUnLCAnYm9yZGVyQm90dG9tU3R5bGUnLCAnYm9yZGVyTGVmdFN0eWxlJ10sXG4gIGJvcmRlcldpZHRoOiBbJ2JvcmRlclRvcFdpZHRoJywgJ2JvcmRlclJpZ2h0V2lkdGgnLCAnYm9yZGVyQm90dG9tV2lkdGgnLCAnYm9yZGVyTGVmdFdpZHRoJ10sXG4gIG1hcmdpbkhvcml6b250YWw6IFsnbWFyZ2luUmlnaHQnLCAnbWFyZ2luTGVmdCddLFxuICBtYXJnaW5WZXJ0aWNhbDogWydtYXJnaW5Ub3AnLCAnbWFyZ2luQm90dG9tJ10sXG4gIG92ZXJmbG93OiBbJ292ZXJmbG93WCcsICdvdmVyZmxvd1knXSxcbiAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBbJ292ZXJzY3JvbGxCZWhhdmlvclgnLCAnb3ZlcnNjcm9sbEJlaGF2aW9yWSddLFxuICBwYWRkaW5nSG9yaXpvbnRhbDogWydwYWRkaW5nUmlnaHQnLCAncGFkZGluZ0xlZnQnXSxcbiAgcGFkZGluZ1ZlcnRpY2FsOiBbJ3BhZGRpbmdUb3AnLCAncGFkZGluZ0JvdHRvbSddXG59O1xuLyoqXG4gKiBUcmFuc2Zvcm1cbiAqL1xuLy8geyBzY2FsZTogMiB9ID0+ICdzY2FsZSgyKSdcbi8vIHsgdHJhbnNsYXRlWDogMjAgfSA9PiAndHJhbnNsYXRlWCgyMHB4KSdcbi8vIHsgbWF0cml4OiBbMSwyLDMsNCw1LDZdIH0gPT4gJ21hdHJpeCgxLDIsMyw0LDUsNiknXG5cbnZhciBtYXBUcmFuc2Zvcm0gPSB0cmFuc2Zvcm0gPT4ge1xuICB2YXIgdHlwZSA9IE9iamVjdC5rZXlzKHRyYW5zZm9ybSlbMF07XG4gIHZhciB2YWx1ZSA9IHRyYW5zZm9ybVt0eXBlXTtcblxuICBpZiAodHlwZSA9PT0gJ21hdHJpeCcgfHwgdHlwZSA9PT0gJ21hdHJpeDNkJykge1xuICAgIHJldHVybiB0eXBlICsgXCIoXCIgKyB2YWx1ZS5qb2luKCcsJykgKyBcIilcIjtcbiAgfSBlbHNlIHtcbiAgICB2YXIgbm9ybWFsaXplZFZhbHVlID0gKDAsIF9ub3JtYWxpemVWYWx1ZVdpdGhQcm9wZXJ0eS5kZWZhdWx0KSh2YWx1ZSwgdHlwZSk7XG4gICAgcmV0dXJuIHR5cGUgKyBcIihcIiArIG5vcm1hbGl6ZWRWYWx1ZSArIFwiKVwiO1xuICB9XG59O1xuXG52YXIgY3JlYXRlVHJhbnNmb3JtVmFsdWUgPSBzdHlsZSA9PiB7XG4gIHZhciB0cmFuc2Zvcm0gPSBzdHlsZS50cmFuc2Zvcm07XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoc3R5bGUudHJhbnNmb3JtKSkge1xuICAgIHRyYW5zZm9ybSA9IHN0eWxlLnRyYW5zZm9ybS5tYXAobWFwVHJhbnNmb3JtKS5qb2luKCcgJyk7XG4gIH1cblxuICByZXR1cm4gdHJhbnNmb3JtO1xufTtcbi8qKlxuICogUmVkdWNlclxuICovXG5cblxuZXhwb3J0cy5jcmVhdGVUcmFuc2Zvcm1WYWx1ZSA9IGNyZWF0ZVRyYW5zZm9ybVZhbHVlO1xuXG52YXIgY3JlYXRlUmVhY3RET01TdHlsZSA9IChzdHlsZSwgaXNJbmxpbmUpID0+IHtcbiAgaWYgKCFzdHlsZSkge1xuICAgIHJldHVybiBlbXB0eU9iamVjdDtcbiAgfVxuXG4gIHZhciByZXNvbHZlZFN0eWxlID0ge307XG5cbiAgZm9yICh2YXIgcHJvcCBpbiBzdHlsZSkge1xuICAgIHZhciB2YWx1ZSA9IHN0eWxlW3Byb3BdO1xuXG4gICAgaWYgKCAvLyBJZ25vcmUgZXZlcnl0aGluZyB3aXRoIGEgbnVsbCB2YWx1ZVxuICAgIHZhbHVlID09IG51bGwgfHwgLy8gSWdub3JlIHNvbWUgUmVhY3QgTmF0aXZlIHN0eWxlc1xuICAgIGlnbm9yZWRQcm9wc1twcm9wXSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKHByb3AgPT09ICdhc3BlY3RSYXRpbycpIHtcbiAgICAgIHJlc29sdmVkU3R5bGVbcHJvcF0gPSB2YWx1ZS50b1N0cmluZygpO1xuICAgIH0gZWxzZSBpZiAocHJvcCA9PT0gJ2JhY2tncm91bmRDbGlwJykge1xuICAgICAgLy8gVE9ETzogcmVtb3ZlIG9uY2UgdGhpcyBpc3N1ZSBpcyBmaXhlZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3JvZnJpc2NobWFubi9pbmxpbmUtc3R5bGUtcHJlZml4ZXIvaXNzdWVzLzE1OVxuICAgICAgaWYgKHZhbHVlID09PSAndGV4dCcpIHtcbiAgICAgICAgcmVzb2x2ZWRTdHlsZS5iYWNrZ3JvdW5kQ2xpcCA9IHZhbHVlO1xuICAgICAgICByZXNvbHZlZFN0eWxlLldlYmtpdEJhY2tncm91bmRDbGlwID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wID09PSAnZmxleCcpIHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gLTEpIHtcbiAgICAgICAgcmVzb2x2ZWRTdHlsZS5mbGV4R3JvdyA9IDA7XG4gICAgICAgIHJlc29sdmVkU3R5bGUuZmxleFNocmluayA9IDE7XG4gICAgICAgIHJlc29sdmVkU3R5bGUuZmxleEJhc2lzID0gJ2F1dG8nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZWRTdHlsZS5mbGV4ID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wID09PSAnZm9udCcpIHtcbiAgICAgIHJlc29sdmVkU3R5bGVbcHJvcF0gPSB2YWx1ZS5yZXBsYWNlKCdTeXN0ZW0nLCBTWVNURU1fRk9OVF9TVEFDSyk7XG4gICAgfSBlbHNlIGlmIChwcm9wID09PSAnZm9udEZhbWlseScpIHtcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKCdTeXN0ZW0nKSA+IC0xKSB7XG4gICAgICAgIHZhciBzdGFjayA9IHZhbHVlLnNwbGl0KC8sXFxzKi8pO1xuICAgICAgICBzdGFja1tzdGFjay5pbmRleE9mKCdTeXN0ZW0nKV0gPSBTWVNURU1fRk9OVF9TVEFDSztcbiAgICAgICAgcmVzb2x2ZWRTdHlsZVtwcm9wXSA9IHN0YWNrLmpvaW4oJywnKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09ICdtb25vc3BhY2UnKSB7XG4gICAgICAgIHJlc29sdmVkU3R5bGVbcHJvcF0gPSBNT05PU1BBQ0VfRk9OVF9TVEFDSztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmVkU3R5bGVbcHJvcF0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3AgPT09ICdmb250VmFyaWFudCcpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJlc29sdmVkU3R5bGUuZm9udFZhcmlhbnQgPSB2YWx1ZS5qb2luKCcgJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wID09PSAndGV4dEFsaWduVmVydGljYWwnKSB7XG4gICAgICByZXNvbHZlZFN0eWxlLnZlcnRpY2FsQWxpZ24gPSB2YWx1ZSA9PT0gJ2NlbnRlcicgPyAnbWlkZGxlJyA6IHZhbHVlO1xuICAgIH0gZWxzZSBpZiAocHJvcCA9PT0gJ3RleHREZWNvcmF0aW9uTGluZScpIHtcbiAgICAgIC8vIHVzZSAndGV4dC1kZWNvcmF0aW9uJyBmb3IgYnJvd3NlcnMgdGhhdCBvbmx5IHN1cHBvcnQgQ1NTMlxuICAgICAgLy8gdGV4dC1kZWNvcmF0aW9uIChlLmcuLCBJRSwgRWRnZSlcbiAgICAgIGlmICghc3VwcG9ydHNDU1MzVGV4dERlY29yYXRpb24pIHtcbiAgICAgICAgcmVzb2x2ZWRTdHlsZS50ZXh0RGVjb3JhdGlvbiA9IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZWRTdHlsZS50ZXh0RGVjb3JhdGlvbkxpbmUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3AgPT09ICd0cmFuc2Zvcm0nIHx8IHByb3AgPT09ICd0cmFuc2Zvcm1NYXRyaXgnKSB7XG4gICAgICByZXNvbHZlZFN0eWxlLnRyYW5zZm9ybSA9IGNyZWF0ZVRyYW5zZm9ybVZhbHVlKHN0eWxlKTtcbiAgICB9IGVsc2UgaWYgKHByb3AgPT09ICd3cml0aW5nRGlyZWN0aW9uJykge1xuICAgICAgcmVzb2x2ZWRTdHlsZS5kaXJlY3Rpb24gPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gKDAsIF9ub3JtYWxpemVWYWx1ZVdpdGhQcm9wZXJ0eS5kZWZhdWx0KShzdHlsZVtwcm9wXSwgcHJvcCk7XG4gICAgICAgIHZhciBsb25nRm9ybVByb3BlcnRpZXMgPSBTVFlMRV9TSE9SVF9GT1JNX0VYUEFOU0lPTlNbcHJvcF07XG5cbiAgICAgICAgaWYgKGlzSW5saW5lICYmIHByb3AgPT09ICdtYXJnaW4nKSB7XG4gICAgICAgICAgaWYgKHN0eWxlLm1hcmdpbkhvcml6b250YWwgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmVzb2x2ZWRTdHlsZS5tYXJnaW5MZWZ0ID0gdmFsdWU7XG4gICAgICAgICAgICByZXNvbHZlZFN0eWxlLm1hcmdpblJpZ2h0ID0gdmFsdWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHN0eWxlLm1hcmdpblZlcnRpY2FsID09IG51bGwpIHtcbiAgICAgICAgICAgIHJlc29sdmVkU3R5bGUubWFyZ2luVG9wID0gdmFsdWU7XG4gICAgICAgICAgICByZXNvbHZlZFN0eWxlLm1hcmdpbkJvdHRvbSA9IHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChpc0lubGluZSAmJiBwcm9wID09PSAncGFkZGluZycpIHtcbiAgICAgICAgICBpZiAoc3R5bGUucGFkZGluZ0hvcml6b250YWwgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmVzb2x2ZWRTdHlsZS5wYWRkaW5nTGVmdCA9IHZhbHVlO1xuICAgICAgICAgICAgcmVzb2x2ZWRTdHlsZS5wYWRkaW5nUmlnaHQgPSB2YWx1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc3R5bGUucGFkZGluZ1ZlcnRpY2FsID09IG51bGwpIHtcbiAgICAgICAgICAgIHJlc29sdmVkU3R5bGUucGFkZGluZ1RvcCA9IHZhbHVlO1xuICAgICAgICAgICAgcmVzb2x2ZWRTdHlsZS5wYWRkaW5nQm90dG9tID0gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGxvbmdGb3JtUHJvcGVydGllcykge1xuICAgICAgICAgIGxvbmdGb3JtUHJvcGVydGllcy5mb3JFYWNoKChsb25nRm9ybSwgaSkgPT4ge1xuICAgICAgICAgICAgLy8gVGhlIHZhbHVlIG9mIGFueSBsb25nZm9ybSBwcm9wZXJ0eSBpbiB0aGUgb3JpZ2luYWwgc3R5bGVzIHRha2VzXG4gICAgICAgICAgICAvLyBwcmVjZWRlbmNlIG92ZXIgdGhlIHNob3J0Zm9ybSdzIHZhbHVlLlxuICAgICAgICAgICAgaWYgKHN0eWxlW2xvbmdGb3JtXSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHJlc29sdmVkU3R5bGVbbG9uZ0Zvcm1dID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzb2x2ZWRTdHlsZVtwcm9wXSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUuam9pbignLCcpIDogdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0pKCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVkU3R5bGU7XG59O1xuXG52YXIgX2RlZmF1bHQgPSBjcmVhdGVSZWFjdERPTVN0eWxlO1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/compiler/hash.js': /*!************************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/compiler/hash.js ***! \************************************************************************/ /***/ (module, exports) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\n/* eslint-disable */\n\n/**\n * JS Implementation of MurmurHash2\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} str ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n *\n * \n */\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\n\nvar hash = str => murmurhash2_32_gc(str, 1).toString(36);\n\nvar _default = hash;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvY29tcGlsZXIvaGFzaC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWY7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsWUFBWSxRQUFRO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL2V4cG9ydHMvU3R5bGVTaGVldC9jb21waWxlci9oYXNoLmpzP2EyYjUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbi8qIGVzbGludC1kaXNhYmxlICovXG5cbi8qKlxuICogSlMgSW1wbGVtZW50YXRpb24gb2YgTXVybXVySGFzaDJcbiAqXG4gKiBAYXV0aG9yIDxhIGhyZWY9XCJtYWlsdG86Z2FyeS5jb3VydEBnbWFpbC5jb21cIj5HYXJ5IENvdXJ0PC9hPlxuICogQHNlZSBodHRwOi8vZ2l0aHViLmNvbS9nYXJ5Y291cnQvbXVybXVyaGFzaC1qc1xuICogQGF1dGhvciA8YSBocmVmPVwibWFpbHRvOmFhcHBsZWJ5QGdtYWlsLmNvbVwiPkF1c3RpbiBBcHBsZWJ5PC9hPlxuICogQHNlZSBodHRwOi8vc2l0ZXMuZ29vZ2xlLmNvbS9zaXRlL211cm11cmhhc2gvXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0ciBBU0NJSSBvbmx5XG4gKiBAcGFyYW0ge251bWJlcn0gc2VlZCBQb3NpdGl2ZSBpbnRlZ2VyIG9ubHlcbiAqIEByZXR1cm4ge251bWJlcn0gMzItYml0IHBvc2l0aXZlIGludGVnZXIgaGFzaFxuICpcbiAqIFxuICovXG5mdW5jdGlvbiBtdXJtdXJoYXNoMl8zMl9nYyhzdHIsIHNlZWQpIHtcbiAgdmFyIGwgPSBzdHIubGVuZ3RoLFxuICAgICAgaCA9IHNlZWQgXiBsLFxuICAgICAgaSA9IDAsXG4gICAgICBrO1xuXG4gIHdoaWxlIChsID49IDQpIHtcbiAgICBrID0gc3RyLmNoYXJDb2RlQXQoaSkgJiAweGZmIHwgKHN0ci5jaGFyQ29kZUF0KCsraSkgJiAweGZmKSA8PCA4IHwgKHN0ci5jaGFyQ29kZUF0KCsraSkgJiAweGZmKSA8PCAxNiB8IChzdHIuY2hhckNvZGVBdCgrK2kpICYgMHhmZikgPDwgMjQ7XG4gICAgayA9IChrICYgMHhmZmZmKSAqIDB4NWJkMWU5OTUgKyAoKChrID4+PiAxNikgKiAweDViZDFlOTk1ICYgMHhmZmZmKSA8PCAxNik7XG4gICAgayBePSBrID4+PiAyNDtcbiAgICBrID0gKGsgJiAweGZmZmYpICogMHg1YmQxZTk5NSArICgoKGsgPj4+IDE2KSAqIDB4NWJkMWU5OTUgJiAweGZmZmYpIDw8IDE2KTtcbiAgICBoID0gKGggJiAweGZmZmYpICogMHg1YmQxZTk5NSArICgoKGggPj4+IDE2KSAqIDB4NWJkMWU5OTUgJiAweGZmZmYpIDw8IDE2KSBeIGs7XG4gICAgbCAtPSA0O1xuICAgICsraTtcbiAgfVxuXG4gIHN3aXRjaCAobCkge1xuICAgIGNhc2UgMzpcbiAgICAgIGggXj0gKHN0ci5jaGFyQ29kZUF0KGkgKyAyKSAmIDB4ZmYpIDw8IDE2O1xuXG4gICAgY2FzZSAyOlxuICAgICAgaCBePSAoc3RyLmNoYXJDb2RlQXQoaSArIDEpICYgMHhmZikgPDwgODtcblxuICAgIGNhc2UgMTpcbiAgICAgIGggXj0gc3RyLmNoYXJDb2RlQXQoaSkgJiAweGZmO1xuICAgICAgaCA9IChoICYgMHhmZmZmKSAqIDB4NWJkMWU5OTUgKyAoKChoID4+PiAxNikgKiAweDViZDFlOTk1ICYgMHhmZmZmKSA8PCAxNik7XG4gIH1cblxuICBoIF49IGggPj4+IDEzO1xuICBoID0gKGggJiAweGZmZmYpICogMHg1YmQxZTk5NSArICgoKGggPj4+IDE2KSAqIDB4NWJkMWU5OTUgJiAweGZmZmYpIDw8IDE2KTtcbiAgaCBePSBoID4+PiAxNTtcbiAgcmV0dXJuIGggPj4+IDA7XG59XG5cbnZhciBoYXNoID0gc3RyID0+IG11cm11cmhhc2gyXzMyX2djKHN0ciwgMSkudG9TdHJpbmcoMzYpO1xuXG52YXIgX2RlZmF1bHQgPSBoYXNoO1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/compiler/hash.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/compiler/hyphenateStyleName.js': /*!**************************************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/compiler/hyphenateStyleName.js ***! \**************************************************************************************/ /***/ (module, exports) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\n\nfunction toHyphenLower(match) {\n return \'-\' + match.toLowerCase();\n}\n\nfunction hyphenateStyleName(name) {\n if (name in cache) {\n return cache[name];\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? \'-\' + hName : hName;\n}\n\nvar _default = hyphenateStyleName;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvY29tcGlsZXIvaHlwaGVuYXRlU3R5bGVOYW1lLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLGtCQUFrQjtBQUNsQixrQkFBZTs7QUFFZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL2V4cG9ydHMvU3R5bGVTaGVldC9jb21waWxlci9oeXBoZW5hdGVTdHlsZU5hbWUuanM/YzZjNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgdXBwZXJjYXNlUGF0dGVybiA9IC9bQS1aXS9nO1xudmFyIG1zUGF0dGVybiA9IC9ebXMtLztcbnZhciBjYWNoZSA9IHt9O1xuXG5mdW5jdGlvbiB0b0h5cGhlbkxvd2VyKG1hdGNoKSB7XG4gIHJldHVybiAnLScgKyBtYXRjaC50b0xvd2VyQ2FzZSgpO1xufVxuXG5mdW5jdGlvbiBoeXBoZW5hdGVTdHlsZU5hbWUobmFtZSkge1xuICBpZiAobmFtZSBpbiBjYWNoZSkge1xuICAgIHJldHVybiBjYWNoZVtuYW1lXTtcbiAgfVxuXG4gIHZhciBoTmFtZSA9IG5hbWUucmVwbGFjZSh1cHBlcmNhc2VQYXR0ZXJuLCB0b0h5cGhlbkxvd2VyKTtcbiAgcmV0dXJuIGNhY2hlW25hbWVdID0gbXNQYXR0ZXJuLnRlc3QoaE5hbWUpID8gJy0nICsgaE5hbWUgOiBoTmFtZTtcbn1cblxudmFyIF9kZWZhdWx0ID0gaHlwaGVuYXRlU3R5bGVOYW1lO1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/compiler/hyphenateStyleName.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/compiler/index.js': /*!*************************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/compiler/index.js ***! \*************************************************************************/ /***/ (__unused_webpack_module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"../../node_modules/@babel/runtime/helpers/interopRequireDefault.js\")[\"default\"]);\n\nexports.__esModule = true;\nexports.atomic = atomic;\nexports.classic = classic;\nexports.inline = inline;\nexports.stringifyValueWithProperty = stringifyValueWithProperty;\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ \"../../node_modules/@babel/runtime/helpers/objectSpread2.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _createReactDOMStyle = _interopRequireDefault(__webpack_require__(/*! ./createReactDOMStyle */ \"../react-native-web/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js\"));\n\nvar _hash = _interopRequireDefault(__webpack_require__(/*! ./hash */ \"../react-native-web/dist/cjs/exports/StyleSheet/compiler/hash.js\"));\n\nvar _hyphenateStyleName = _interopRequireDefault(__webpack_require__(/*! ./hyphenateStyleName */ \"../react-native-web/dist/cjs/exports/StyleSheet/compiler/hyphenateStyleName.js\"));\n\nvar _normalizeValueWithProperty = _interopRequireDefault(__webpack_require__(/*! ./normalizeValueWithProperty */ \"../react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js\"));\n\nvar _prefixStyles = _interopRequireDefault(__webpack_require__(/*! ../../../modules/prefixStyles */ \"../react-native-web/dist/cjs/modules/prefixStyles/index.js\"));\n\nvar _excluded = [\"animationKeyframes\"];\nvar cache = new Map();\nvar emptyObject = {};\nvar classicGroup = 1;\nvar atomicGroup = 2.2;\nvar customGroup = {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n marginHorizontal: 2.1,\n marginVertical: 2.1,\n paddingHorizontal: 2.1,\n paddingVertical: 2.1\n};\nvar borderTopLeftRadius = 'borderTopLeftRadius';\nvar borderTopRightRadius = 'borderTopRightRadius';\nvar borderBottomLeftRadius = 'borderBottomLeftRadius';\nvar borderBottomRightRadius = 'borderBottomRightRadius';\nvar borderLeftColor = 'borderLeftColor';\nvar borderLeftStyle = 'borderLeftStyle';\nvar borderLeftWidth = 'borderLeftWidth';\nvar borderRightColor = 'borderRightColor';\nvar borderRightStyle = 'borderRightStyle';\nvar borderRightWidth = 'borderRightWidth';\nvar right = 'right';\nvar marginLeft = 'marginLeft';\nvar marginRight = 'marginRight';\nvar paddingLeft = 'paddingLeft';\nvar paddingRight = 'paddingRight';\nvar left = 'left'; // Map of LTR property names to their BiDi equivalent.\n\nvar PROPERTIES_FLIP = {\n [borderTopLeftRadius]: borderTopRightRadius,\n [borderTopRightRadius]: borderTopLeftRadius,\n [borderBottomLeftRadius]: borderBottomRightRadius,\n [borderBottomRightRadius]: borderBottomLeftRadius,\n [borderLeftColor]: borderRightColor,\n [borderLeftStyle]: borderRightStyle,\n [borderLeftWidth]: borderRightWidth,\n [borderRightColor]: borderLeftColor,\n [borderRightStyle]: borderLeftStyle,\n [borderRightWidth]: borderLeftWidth,\n [left]: right,\n [marginLeft]: marginRight,\n [marginRight]: marginLeft,\n [paddingLeft]: paddingRight,\n [paddingRight]: paddingLeft,\n [right]: left\n}; // Map of I18N property names to their LTR equivalent.\n\nvar PROPERTIES_I18N = {\n borderTopStartRadius: borderTopLeftRadius,\n borderTopEndRadius: borderTopRightRadius,\n borderBottomStartRadius: borderBottomLeftRadius,\n borderBottomEndRadius: borderBottomRightRadius,\n borderStartColor: borderLeftColor,\n borderStartStyle: borderLeftStyle,\n borderStartWidth: borderLeftWidth,\n borderEndColor: borderRightColor,\n borderEndStyle: borderRightStyle,\n borderEndWidth: borderRightWidth,\n end: right,\n marginStart: marginLeft,\n marginEnd: marginRight,\n paddingStart: paddingLeft,\n paddingEnd: paddingRight,\n start: left\n};\nvar PROPERTIES_VALUE = ['clear', 'float', 'textAlign'];\n\nfunction atomic(style) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n\n function atomicCompile(prop, value) {\n var valueString = stringifyValueWithProperty(value, prop);\n var cacheKey = prop + valueString;\n var cachedResult = cache.get(cacheKey);\n var identifier;\n\n if (cachedResult != null) {\n identifier = cachedResult[0];\n compiledRules.push(cachedResult[1]);\n } else {\n identifier = createIdentifier('r', prop, value);\n var order = customGroup[prop] || atomicGroup;\n var rules = createAtomicRules(identifier, prop, value);\n var orderedRules = [rules, order];\n compiledRules.push(orderedRules);\n cache.set(cacheKey, [identifier, orderedRules]);\n }\n\n return identifier;\n }\n\n Object.keys(style).sort().forEach(prop => {\n var value = style[prop];\n\n if (value != null) {\n var localizeableValue; // BiDi flip values\n\n if (PROPERTIES_VALUE.indexOf(prop) > -1) {\n var _left = atomicCompile(prop, 'left');\n\n var _right = atomicCompile(prop, 'right');\n\n if (value === 'start') {\n localizeableValue = [_left, _right];\n } else if (value === 'end') {\n localizeableValue = [_right, _left];\n }\n } // BiDi flip properties\n\n\n var propPolyfill = PROPERTIES_I18N[prop];\n\n if (propPolyfill != null) {\n var ltr = atomicCompile(propPolyfill, value);\n var rtl = atomicCompile(PROPERTIES_FLIP[propPolyfill], value);\n localizeableValue = [ltr, rtl];\n } // BiDi flip transitionProperty value\n\n\n if (prop === 'transitionProperty') {\n var values = Array.isArray(value) ? value : [value];\n var polyfillIndices = [];\n\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n\n if (typeof val === 'string' && PROPERTIES_I18N[val] != null) {\n polyfillIndices.push(i);\n }\n }\n\n if (polyfillIndices.length > 0) {\n var ltrPolyfillValues = [...values];\n var rtlPolyfillValues = [...values];\n polyfillIndices.forEach(i => {\n var ltrVal = ltrPolyfillValues[i];\n\n if (typeof ltrVal === 'string') {\n var ltrPolyfill = PROPERTIES_I18N[ltrVal];\n var rtlPolyfill = PROPERTIES_FLIP[ltrPolyfill];\n ltrPolyfillValues[i] = ltrPolyfill;\n rtlPolyfillValues[i] = rtlPolyfill;\n\n var _ltr = atomicCompile(prop, ltrPolyfillValues);\n\n var _rtl = atomicCompile(prop, rtlPolyfillValues);\n\n localizeableValue = [_ltr, _rtl];\n }\n });\n }\n }\n\n if (localizeableValue == null) {\n localizeableValue = atomicCompile(prop, value);\n } else {\n compiledStyle['$$css$localize'] = true;\n }\n\n compiledStyle[prop] = localizeableValue;\n }\n });\n return [compiledStyle, compiledRules];\n}\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\n\n\nfunction classic(style, name) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n var animationKeyframes = style.animationKeyframes,\n rest = (0, _objectWithoutPropertiesLoose2.default)(style, _excluded);\n var identifier = createIdentifier('css', name, style);\n var selector = \".\" + identifier;\n var animationName;\n\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu[0],\n keyframesRules = _processKeyframesValu[1];\n\n animationName = animationNames.join(',');\n compiledRules.push(...keyframesRules);\n }\n\n var block = createDeclarationBlock((0, _objectSpread2.default)((0, _objectSpread2.default)({}, rest), {}, {\n animationName\n }));\n compiledRules.push(\"\" + selector + block);\n compiledStyle[identifier] = identifier;\n return [compiledStyle, [[compiledRules, classicGroup]]];\n}\n/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\n\n\nfunction inline(originalStyle, isRTL) {\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n\n for (var originalProp in style) {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n continue;\n } // BiDi flip values\n\n\n if (PROPERTIES_VALUE.indexOf(originalProp) > -1) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n }\n } // BiDi flip properties\n\n\n var propPolyfill = PROPERTIES_I18N[originalProp];\n\n if (propPolyfill != null) {\n prop = isRTL ? PROPERTIES_FLIP[propPolyfill] : propPolyfill;\n } // BiDi flip transitionProperty value\n\n\n if (originalProp === 'transitionProperty') {\n (function () {\n // $FlowFixMe\n var originalValues = Array.isArray(originalValue) ? originalValue : [originalValue];\n originalValues.forEach((val, i) => {\n if (typeof val === 'string') {\n var valuePolyfill = PROPERTIES_I18N[val];\n\n if (valuePolyfill != null) {\n originalValues[i] = isRTL ? PROPERTIES_FLIP[valuePolyfill] : valuePolyfill;\n }\n }\n });\n })();\n } // Create finalized style\n\n\n if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n\n if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n frozenProps[prop] = true;\n }\n }\n\n return (0, _createReactDOMStyle.default)(nextStyle, true);\n}\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\n\n\nfunction stringifyValueWithProperty(value, property) {\n // e.g., 0 => '0px', 'black' => 'rgba(0,0,0,1)'\n var normalizedValue = (0, _normalizeValueWithProperty.default)(value, property);\n return typeof normalizedValue !== 'string' ? JSON.stringify(normalizedValue || '') : normalizedValue;\n}\n/**\n * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\n\n\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier; // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2[0],\n keyframesRules = _processKeyframesValu2[1];\n\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push(\"\" + selector + block, ...keyframesRules);\n break;\n }\n // Equivalent to using '::placeholder'\n\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\n\n rules.push(selector + \"::-webkit-input-placeholder\" + _block, selector + \"::-moz-placeholder\" + _block, selector + \":-ms-input-placeholder\" + _block, selector + \"::placeholder\" + _block);\n break;\n }\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n\n case 'pointerEvents':\n {\n var finalValue = value;\n\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n\n if (value === 'box-only') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n\n rules.push(selector + \">*\" + _block3);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n\n if (value === 'box-none') {\n var _block4 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n\n rules.push(selector + \">*\" + _block4);\n }\n }\n\n var _block2 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n\n rules.push(\"\" + selector + _block2);\n break;\n }\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n\n rules.push(\"\" + selector + _block5);\n break;\n }\n\n default:\n {\n var _block6 = createDeclarationBlock({\n [property]: value\n });\n\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n\n return rules;\n}\n/**\n * Creates a CSS declaration block from a StyleSheet object.\n */\n\n\nfunction createDeclarationBlock(style) {\n var domStyle = (0, _prefixStyles.default)((0, _createReactDOMStyle.default)(style));\n var declarationsString = Object.keys(domStyle).map(property => {\n var value = domStyle[property];\n var prop = (0, _hyphenateStyleName.default)(property); // The prefixer may return an array of values:\n // { display: [ '-webkit-flex', 'flex' ] }\n // to represent \"fallback\" declarations\n // { display: -webkit-flex; display: flex; }\n\n if (Array.isArray(value)) {\n return value.map(v => prop + \":\" + v).join(';');\n } else {\n return prop + \":\" + value;\n }\n }) // Once properties are hyphenated, this will put the vendor\n // prefixed and short-form properties first in the list.\n .sort().join(';');\n return \"{\" + declarationsString + \";}\";\n}\n/**\n * An identifier is associated with a unique set of styles.\n */\n\n\nfunction createIdentifier(prefix, name, value) {\n var hashedString = (0, _hash.default)(name + stringifyValueWithProperty(value, name));\n return true ? prefix + \"-\" + name + \"-\" + hashedString : 0;\n}\n/**\n * Create individual CSS keyframes rules.\n */\n\n\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', keyframes);\n var steps = '{' + Object.keys(keyframes).map(stepName => {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(prefix => {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return [identifier, rules];\n}\n/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\n\n\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(keyframes => {\n if (typeof keyframes === 'string') {\n // Support external animation libraries (identifiers only)\n animationNames.push(keyframes);\n } else {\n // Create rules for each of the keyframes\n var _createKeyframes = createKeyframes(keyframes),\n identifier = _createKeyframes[0],\n keyframesRules = _createKeyframes[1];\n\n animationNames.push(identifier);\n rules.push(...keyframesRules);\n }\n });\n return [animationNames, rules];\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvY29tcGlsZXIvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGNBQWM7QUFDZCxlQUFlO0FBQ2YsY0FBYztBQUNkLGtDQUFrQzs7QUFFbEMsNENBQTRDLG1CQUFPLENBQUMsd0dBQXNDOztBQUUxRiw0REFBNEQsbUJBQU8sQ0FBQyxzSUFBcUQ7O0FBRXpILGtEQUFrRCxtQkFBTyxDQUFDLDhHQUF1Qjs7QUFFakYsbUNBQW1DLG1CQUFPLENBQUMsZ0ZBQVE7O0FBRW5ELGlEQUFpRCxtQkFBTyxDQUFDLDRHQUFzQjs7QUFFL0UseURBQXlELG1CQUFPLENBQUMsNEhBQThCOztBQUUvRiwyQ0FBMkMsbUJBQU8sQ0FBQyxpR0FBK0I7O0FBRWxGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjs7QUFFbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSw2QkFBNkI7O0FBRTdCO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCLG1CQUFtQjtBQUMzQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLCtGQUErRixXQUFXO0FBQzFHO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07OztBQUdOOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1AsTUFBTTs7O0FBR047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7O0FBRWI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscURBQXFELGFBQWE7QUFDbEU7O0FBRUE7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRDtBQUMzRCxTQUFTO0FBQ1Q7QUFDQSxTQUFTLHVCQUF1Qjs7QUFFaEM7QUFDQSxtREFBbUQ7QUFDbkQsTUFBTTtBQUNOO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxpQkFBaUI7QUFDakIsV0FBVyw0QkFBNEI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQSxTQUFTLEtBQXFDLDhDQUE4QyxDQUEyQjtBQUN2SDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBLEdBQUcsZUFBZTtBQUNsQjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL2V4cG9ydHMvU3R5bGVTaGVldC9jb21waWxlci9pbmRleC5qcz9jMWRkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG52YXIgX2ludGVyb3BSZXF1aXJlRGVmYXVsdCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdFwiKS5kZWZhdWx0O1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5hdG9taWMgPSBhdG9taWM7XG5leHBvcnRzLmNsYXNzaWMgPSBjbGFzc2ljO1xuZXhwb3J0cy5pbmxpbmUgPSBpbmxpbmU7XG5leHBvcnRzLnN0cmluZ2lmeVZhbHVlV2l0aFByb3BlcnR5ID0gc3RyaW5naWZ5VmFsdWVXaXRoUHJvcGVydHk7XG5cbnZhciBfb2JqZWN0U3ByZWFkMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkMlwiKSk7XG5cbnZhciBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2VcIikpO1xuXG52YXIgX2NyZWF0ZVJlYWN0RE9NU3R5bGUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL2NyZWF0ZVJlYWN0RE9NU3R5bGVcIikpO1xuXG52YXIgX2hhc2ggPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL2hhc2hcIikpO1xuXG52YXIgX2h5cGhlbmF0ZVN0eWxlTmFtZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vaHlwaGVuYXRlU3R5bGVOYW1lXCIpKTtcblxudmFyIF9ub3JtYWxpemVWYWx1ZVdpdGhQcm9wZXJ0eSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vbm9ybWFsaXplVmFsdWVXaXRoUHJvcGVydHlcIikpO1xuXG52YXIgX3ByZWZpeFN0eWxlcyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uLy4uL21vZHVsZXMvcHJlZml4U3R5bGVzXCIpKTtcblxudmFyIF9leGNsdWRlZCA9IFtcImFuaW1hdGlvbktleWZyYW1lc1wiXTtcbnZhciBjYWNoZSA9IG5ldyBNYXAoKTtcbnZhciBlbXB0eU9iamVjdCA9IHt9O1xudmFyIGNsYXNzaWNHcm91cCA9IDE7XG52YXIgYXRvbWljR3JvdXAgPSAyLjI7XG52YXIgY3VzdG9tR3JvdXAgPSB7XG4gIGJvcmRlckNvbG9yOiAyLFxuICBib3JkZXJSYWRpdXM6IDIsXG4gIGJvcmRlclN0eWxlOiAyLFxuICBib3JkZXJXaWR0aDogMixcbiAgZGlzcGxheTogMixcbiAgZmxleDogMixcbiAgbWFyZ2luOiAyLFxuICBvdmVyZmxvdzogMixcbiAgb3ZlcnNjcm9sbEJlaGF2aW9yOiAyLFxuICBwYWRkaW5nOiAyLFxuICBtYXJnaW5Ib3Jpem9udGFsOiAyLjEsXG4gIG1hcmdpblZlcnRpY2FsOiAyLjEsXG4gIHBhZGRpbmdIb3Jpem9udGFsOiAyLjEsXG4gIHBhZGRpbmdWZXJ0aWNhbDogMi4xXG59O1xudmFyIGJvcmRlclRvcExlZnRSYWRpdXMgPSAnYm9yZGVyVG9wTGVmdFJhZGl1cyc7XG52YXIgYm9yZGVyVG9wUmlnaHRSYWRpdXMgPSAnYm9yZGVyVG9wUmlnaHRSYWRpdXMnO1xudmFyIGJvcmRlckJvdHRvbUxlZnRSYWRpdXMgPSAnYm9yZGVyQm90dG9tTGVmdFJhZGl1cyc7XG52YXIgYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMgPSAnYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMnO1xudmFyIGJvcmRlckxlZnRDb2xvciA9ICdib3JkZXJMZWZ0Q29sb3InO1xudmFyIGJvcmRlckxlZnRTdHlsZSA9ICdib3JkZXJMZWZ0U3R5bGUnO1xudmFyIGJvcmRlckxlZnRXaWR0aCA9ICdib3JkZXJMZWZ0V2lkdGgnO1xudmFyIGJvcmRlclJpZ2h0Q29sb3IgPSAnYm9yZGVyUmlnaHRDb2xvcic7XG52YXIgYm9yZGVyUmlnaHRTdHlsZSA9ICdib3JkZXJSaWdodFN0eWxlJztcbnZhciBib3JkZXJSaWdodFdpZHRoID0gJ2JvcmRlclJpZ2h0V2lkdGgnO1xudmFyIHJpZ2h0ID0gJ3JpZ2h0JztcbnZhciBtYXJnaW5MZWZ0ID0gJ21hcmdpbkxlZnQnO1xudmFyIG1hcmdpblJpZ2h0ID0gJ21hcmdpblJpZ2h0JztcbnZhciBwYWRkaW5nTGVmdCA9ICdwYWRkaW5nTGVmdCc7XG52YXIgcGFkZGluZ1JpZ2h0ID0gJ3BhZGRpbmdSaWdodCc7XG52YXIgbGVmdCA9ICdsZWZ0JzsgLy8gTWFwIG9mIExUUiBwcm9wZXJ0eSBuYW1lcyB0byB0aGVpciBCaURpIGVxdWl2YWxlbnQuXG5cbnZhciBQUk9QRVJUSUVTX0ZMSVAgPSB7XG4gIFtib3JkZXJUb3BMZWZ0UmFkaXVzXTogYm9yZGVyVG9wUmlnaHRSYWRpdXMsXG4gIFtib3JkZXJUb3BSaWdodFJhZGl1c106IGJvcmRlclRvcExlZnRSYWRpdXMsXG4gIFtib3JkZXJCb3R0b21MZWZ0UmFkaXVzXTogYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMsXG4gIFtib3JkZXJCb3R0b21SaWdodFJhZGl1c106IGJvcmRlckJvdHRvbUxlZnRSYWRpdXMsXG4gIFtib3JkZXJMZWZ0Q29sb3JdOiBib3JkZXJSaWdodENvbG9yLFxuICBbYm9yZGVyTGVmdFN0eWxlXTogYm9yZGVyUmlnaHRTdHlsZSxcbiAgW2JvcmRlckxlZnRXaWR0aF06IGJvcmRlclJpZ2h0V2lkdGgsXG4gIFtib3JkZXJSaWdodENvbG9yXTogYm9yZGVyTGVmdENvbG9yLFxuICBbYm9yZGVyUmlnaHRTdHlsZV06IGJvcmRlckxlZnRTdHlsZSxcbiAgW2JvcmRlclJpZ2h0V2lkdGhdOiBib3JkZXJMZWZ0V2lkdGgsXG4gIFtsZWZ0XTogcmlnaHQsXG4gIFttYXJnaW5MZWZ0XTogbWFyZ2luUmlnaHQsXG4gIFttYXJnaW5SaWdodF06IG1hcmdpbkxlZnQsXG4gIFtwYWRkaW5nTGVmdF06IHBhZGRpbmdSaWdodCxcbiAgW3BhZGRpbmdSaWdodF06IHBhZGRpbmdMZWZ0LFxuICBbcmlnaHRdOiBsZWZ0XG59OyAvLyBNYXAgb2YgSTE4TiBwcm9wZXJ0eSBuYW1lcyB0byB0aGVpciBMVFIgZXF1aXZhbGVudC5cblxudmFyIFBST1BFUlRJRVNfSTE4TiA9IHtcbiAgYm9yZGVyVG9wU3RhcnRSYWRpdXM6IGJvcmRlclRvcExlZnRSYWRpdXMsXG4gIGJvcmRlclRvcEVuZFJhZGl1czogYm9yZGVyVG9wUmlnaHRSYWRpdXMsXG4gIGJvcmRlckJvdHRvbVN0YXJ0UmFkaXVzOiBib3JkZXJCb3R0b21MZWZ0UmFkaXVzLFxuICBib3JkZXJCb3R0b21FbmRSYWRpdXM6IGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzLFxuICBib3JkZXJTdGFydENvbG9yOiBib3JkZXJMZWZ0Q29sb3IsXG4gIGJvcmRlclN0YXJ0U3R5bGU6IGJvcmRlckxlZnRTdHlsZSxcbiAgYm9yZGVyU3RhcnRXaWR0aDogYm9yZGVyTGVmdFdpZHRoLFxuICBib3JkZXJFbmRDb2xvcjogYm9yZGVyUmlnaHRDb2xvcixcbiAgYm9yZGVyRW5kU3R5bGU6IGJvcmRlclJpZ2h0U3R5bGUsXG4gIGJvcmRlckVuZFdpZHRoOiBib3JkZXJSaWdodFdpZHRoLFxuICBlbmQ6IHJpZ2h0LFxuICBtYXJnaW5TdGFydDogbWFyZ2luTGVmdCxcbiAgbWFyZ2luRW5kOiBtYXJnaW5SaWdodCxcbiAgcGFkZGluZ1N0YXJ0OiBwYWRkaW5nTGVmdCxcbiAgcGFkZGluZ0VuZDogcGFkZGluZ1JpZ2h0LFxuICBzdGFydDogbGVmdFxufTtcbnZhciBQUk9QRVJUSUVTX1ZBTFVFID0gWydjbGVhcicsICdmbG9hdCcsICd0ZXh0QWxpZ24nXTtcblxuZnVuY3Rpb24gYXRvbWljKHN0eWxlKSB7XG4gIHZhciBjb21waWxlZFN0eWxlID0ge1xuICAgICQkY3NzOiB0cnVlXG4gIH07XG4gIHZhciBjb21waWxlZFJ1bGVzID0gW107XG5cbiAgZnVuY3Rpb24gYXRvbWljQ29tcGlsZShwcm9wLCB2YWx1ZSkge1xuICAgIHZhciB2YWx1ZVN0cmluZyA9IHN0cmluZ2lmeVZhbHVlV2l0aFByb3BlcnR5KHZhbHVlLCBwcm9wKTtcbiAgICB2YXIgY2FjaGVLZXkgPSBwcm9wICsgdmFsdWVTdHJpbmc7XG4gICAgdmFyIGNhY2hlZFJlc3VsdCA9IGNhY2hlLmdldChjYWNoZUtleSk7XG4gICAgdmFyIGlkZW50aWZpZXI7XG5cbiAgICBpZiAoY2FjaGVkUmVzdWx0ICE9IG51bGwpIHtcbiAgICAgIGlkZW50aWZpZXIgPSBjYWNoZWRSZXN1bHRbMF07XG4gICAgICBjb21waWxlZFJ1bGVzLnB1c2goY2FjaGVkUmVzdWx0WzFdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWRlbnRpZmllciA9IGNyZWF0ZUlkZW50aWZpZXIoJ3InLCBwcm9wLCB2YWx1ZSk7XG4gICAgICB2YXIgb3JkZXIgPSBjdXN0b21Hcm91cFtwcm9wXSB8fCBhdG9taWNHcm91cDtcbiAgICAgIHZhciBydWxlcyA9IGNyZWF0ZUF0b21pY1J1bGVzKGlkZW50aWZpZXIsIHByb3AsIHZhbHVlKTtcbiAgICAgIHZhciBvcmRlcmVkUnVsZXMgPSBbcnVsZXMsIG9yZGVyXTtcbiAgICAgIGNvbXBpbGVkUnVsZXMucHVzaChvcmRlcmVkUnVsZXMpO1xuICAgICAgY2FjaGUuc2V0KGNhY2hlS2V5LCBbaWRlbnRpZmllciwgb3JkZXJlZFJ1bGVzXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlkZW50aWZpZXI7XG4gIH1cblxuICBPYmplY3Qua2V5cyhzdHlsZSkuc29ydCgpLmZvckVhY2gocHJvcCA9PiB7XG4gICAgdmFyIHZhbHVlID0gc3R5bGVbcHJvcF07XG5cbiAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgdmFyIGxvY2FsaXplYWJsZVZhbHVlOyAvLyBCaURpIGZsaXAgdmFsdWVzXG5cbiAgICAgIGlmIChQUk9QRVJUSUVTX1ZBTFVFLmluZGV4T2YocHJvcCkgPiAtMSkge1xuICAgICAgICB2YXIgX2xlZnQgPSBhdG9taWNDb21waWxlKHByb3AsICdsZWZ0Jyk7XG5cbiAgICAgICAgdmFyIF9yaWdodCA9IGF0b21pY0NvbXBpbGUocHJvcCwgJ3JpZ2h0Jyk7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSAnc3RhcnQnKSB7XG4gICAgICAgICAgbG9jYWxpemVhYmxlVmFsdWUgPSBbX2xlZnQsIF9yaWdodF07XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09ICdlbmQnKSB7XG4gICAgICAgICAgbG9jYWxpemVhYmxlVmFsdWUgPSBbX3JpZ2h0LCBfbGVmdF07XG4gICAgICAgIH1cbiAgICAgIH0gLy8gQmlEaSBmbGlwIHByb3BlcnRpZXNcblxuXG4gICAgICB2YXIgcHJvcFBvbHlmaWxsID0gUFJPUEVSVElFU19JMThOW3Byb3BdO1xuXG4gICAgICBpZiAocHJvcFBvbHlmaWxsICE9IG51bGwpIHtcbiAgICAgICAgdmFyIGx0ciA9IGF0b21pY0NvbXBpbGUocHJvcFBvbHlmaWxsLCB2YWx1ZSk7XG4gICAgICAgIHZhciBydGwgPSBhdG9taWNDb21waWxlKFBST1BFUlRJRVNfRkxJUFtwcm9wUG9seWZpbGxdLCB2YWx1ZSk7XG4gICAgICAgIGxvY2FsaXplYWJsZVZhbHVlID0gW2x0ciwgcnRsXTtcbiAgICAgIH0gLy8gQmlEaSBmbGlwIHRyYW5zaXRpb25Qcm9wZXJ0eSB2YWx1ZVxuXG5cbiAgICAgIGlmIChwcm9wID09PSAndHJhbnNpdGlvblByb3BlcnR5Jykge1xuICAgICAgICB2YXIgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgICAgIHZhciBwb2x5ZmlsbEluZGljZXMgPSBbXTtcblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHZhciB2YWwgPSB2YWx1ZXNbaV07XG5cbiAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgJiYgUFJPUEVSVElFU19JMThOW3ZhbF0gIT0gbnVsbCkge1xuICAgICAgICAgICAgcG9seWZpbGxJbmRpY2VzLnB1c2goaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBvbHlmaWxsSW5kaWNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdmFyIGx0clBvbHlmaWxsVmFsdWVzID0gWy4uLnZhbHVlc107XG4gICAgICAgICAgdmFyIHJ0bFBvbHlmaWxsVmFsdWVzID0gWy4uLnZhbHVlc107XG4gICAgICAgICAgcG9seWZpbGxJbmRpY2VzLmZvckVhY2goaSA9PiB7XG4gICAgICAgICAgICB2YXIgbHRyVmFsID0gbHRyUG9seWZpbGxWYWx1ZXNbaV07XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgbHRyVmFsID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICB2YXIgbHRyUG9seWZpbGwgPSBQUk9QRVJUSUVTX0kxOE5bbHRyVmFsXTtcbiAgICAgICAgICAgICAgdmFyIHJ0bFBvbHlmaWxsID0gUFJPUEVSVElFU19GTElQW2x0clBvbHlmaWxsXTtcbiAgICAgICAgICAgICAgbHRyUG9seWZpbGxWYWx1ZXNbaV0gPSBsdHJQb2x5ZmlsbDtcbiAgICAgICAgICAgICAgcnRsUG9seWZpbGxWYWx1ZXNbaV0gPSBydGxQb2x5ZmlsbDtcblxuICAgICAgICAgICAgICB2YXIgX2x0ciA9IGF0b21pY0NvbXBpbGUocHJvcCwgbHRyUG9seWZpbGxWYWx1ZXMpO1xuXG4gICAgICAgICAgICAgIHZhciBfcnRsID0gYXRvbWljQ29tcGlsZShwcm9wLCBydGxQb2x5ZmlsbFZhbHVlcyk7XG5cbiAgICAgICAgICAgICAgbG9jYWxpemVhYmxlVmFsdWUgPSBbX2x0ciwgX3J0bF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGxvY2FsaXplYWJsZVZhbHVlID09IG51bGwpIHtcbiAgICAgICAgbG9jYWxpemVhYmxlVmFsdWUgPSBhdG9taWNDb21waWxlKHByb3AsIHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbXBpbGVkU3R5bGVbJyQkY3NzJGxvY2FsaXplJ10gPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBjb21waWxlZFN0eWxlW3Byb3BdID0gbG9jYWxpemVhYmxlVmFsdWU7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIFtjb21waWxlZFN0eWxlLCBjb21waWxlZFJ1bGVzXTtcbn1cbi8qKlxuICogQ29tcGlsZSBzaW1wbGUgc3R5bGUgb2JqZWN0IHRvIGNsYXNzaWMgQ1NTIHJ1bGVzLlxuICogTm8gc3VwcG9ydCBmb3IgJ3BsYWNlaG9sZGVyVGV4dENvbG9yJywgJ3Njcm9sbGJhcldpZHRoJywgb3IgJ3BvaW50ZXJFdmVudHMnLlxuICovXG5cblxuZnVuY3Rpb24gY2xhc3NpYyhzdHlsZSwgbmFtZSkge1xuICB2YXIgY29tcGlsZWRTdHlsZSA9IHtcbiAgICAkJGNzczogdHJ1ZVxuICB9O1xuICB2YXIgY29tcGlsZWRSdWxlcyA9IFtdO1xuICB2YXIgYW5pbWF0aW9uS2V5ZnJhbWVzID0gc3R5bGUuYW5pbWF0aW9uS2V5ZnJhbWVzLFxuICAgICAgcmVzdCA9ICgwLCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZTIuZGVmYXVsdCkoc3R5bGUsIF9leGNsdWRlZCk7XG4gIHZhciBpZGVudGlmaWVyID0gY3JlYXRlSWRlbnRpZmllcignY3NzJywgbmFtZSwgc3R5bGUpO1xuICB2YXIgc2VsZWN0b3IgPSBcIi5cIiArIGlkZW50aWZpZXI7XG4gIHZhciBhbmltYXRpb25OYW1lO1xuXG4gIGlmIChhbmltYXRpb25LZXlmcmFtZXMgIT0gbnVsbCkge1xuICAgIHZhciBfcHJvY2Vzc0tleWZyYW1lc1ZhbHUgPSBwcm9jZXNzS2V5ZnJhbWVzVmFsdWUoYW5pbWF0aW9uS2V5ZnJhbWVzKSxcbiAgICAgICAgYW5pbWF0aW9uTmFtZXMgPSBfcHJvY2Vzc0tleWZyYW1lc1ZhbHVbMF0sXG4gICAgICAgIGtleWZyYW1lc1J1bGVzID0gX3Byb2Nlc3NLZXlmcmFtZXNWYWx1WzFdO1xuXG4gICAgYW5pbWF0aW9uTmFtZSA9IGFuaW1hdGlvbk5hbWVzLmpvaW4oJywnKTtcbiAgICBjb21waWxlZFJ1bGVzLnB1c2goLi4ua2V5ZnJhbWVzUnVsZXMpO1xuICB9XG5cbiAgdmFyIGJsb2NrID0gY3JlYXRlRGVjbGFyYXRpb25CbG9jaygoMCwgX29iamVjdFNwcmVhZDIuZGVmYXVsdCkoKDAsIF9vYmplY3RTcHJlYWQyLmRlZmF1bHQpKHt9LCByZXN0KSwge30sIHtcbiAgICBhbmltYXRpb25OYW1lXG4gIH0pKTtcbiAgY29tcGlsZWRSdWxlcy5wdXNoKFwiXCIgKyBzZWxlY3RvciArIGJsb2NrKTtcbiAgY29tcGlsZWRTdHlsZVtpZGVudGlmaWVyXSA9IGlkZW50aWZpZXI7XG4gIHJldHVybiBbY29tcGlsZWRTdHlsZSwgW1tjb21waWxlZFJ1bGVzLCBjbGFzc2ljR3JvdXBdXV07XG59XG4vKipcbiAqIENvbXBpbGUgc2ltcGxlIHN0eWxlIG9iamVjdCB0byBpbmxpbmUgRE9NIHN0eWxlcy5cbiAqIE5vIHN1cHBvcnQgZm9yICdhbmltYXRpb25LZXlmcmFtZXMnLCAncGxhY2Vob2xkZXJUZXh0Q29sb3InLCAnc2Nyb2xsYmFyV2lkdGgnLCBvciAncG9pbnRlckV2ZW50cycuXG4gKi9cblxuXG5mdW5jdGlvbiBpbmxpbmUob3JpZ2luYWxTdHlsZSwgaXNSVEwpIHtcbiAgdmFyIHN0eWxlID0gb3JpZ2luYWxTdHlsZSB8fCBlbXB0eU9iamVjdDtcbiAgdmFyIGZyb3plblByb3BzID0ge307XG4gIHZhciBuZXh0U3R5bGUgPSB7fTtcblxuICBmb3IgKHZhciBvcmlnaW5hbFByb3AgaW4gc3R5bGUpIHtcbiAgICB2YXIgb3JpZ2luYWxWYWx1ZSA9IHN0eWxlW29yaWdpbmFsUHJvcF07XG4gICAgdmFyIHByb3AgPSBvcmlnaW5hbFByb3A7XG4gICAgdmFyIHZhbHVlID0gb3JpZ2luYWxWYWx1ZTtcblxuICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHN0eWxlLCBvcmlnaW5hbFByb3ApIHx8IG9yaWdpbmFsVmFsdWUgPT0gbnVsbCkge1xuICAgICAgY29udGludWU7XG4gICAgfSAvLyBCaURpIGZsaXAgdmFsdWVzXG5cblxuICAgIGlmIChQUk9QRVJUSUVTX1ZBTFVFLmluZGV4T2Yob3JpZ2luYWxQcm9wKSA+IC0xKSB7XG4gICAgICBpZiAob3JpZ2luYWxWYWx1ZSA9PT0gJ3N0YXJ0Jykge1xuICAgICAgICB2YWx1ZSA9IGlzUlRMID8gJ3JpZ2h0JyA6ICdsZWZ0JztcbiAgICAgIH0gZWxzZSBpZiAob3JpZ2luYWxWYWx1ZSA9PT0gJ2VuZCcpIHtcbiAgICAgICAgdmFsdWUgPSBpc1JUTCA/ICdsZWZ0JyA6ICdyaWdodCc7XG4gICAgICB9XG4gICAgfSAvLyBCaURpIGZsaXAgcHJvcGVydGllc1xuXG5cbiAgICB2YXIgcHJvcFBvbHlmaWxsID0gUFJPUEVSVElFU19JMThOW29yaWdpbmFsUHJvcF07XG5cbiAgICBpZiAocHJvcFBvbHlmaWxsICE9IG51bGwpIHtcbiAgICAgIHByb3AgPSBpc1JUTCA/IFBST1BFUlRJRVNfRkxJUFtwcm9wUG9seWZpbGxdIDogcHJvcFBvbHlmaWxsO1xuICAgIH0gLy8gQmlEaSBmbGlwIHRyYW5zaXRpb25Qcm9wZXJ0eSB2YWx1ZVxuXG5cbiAgICBpZiAob3JpZ2luYWxQcm9wID09PSAndHJhbnNpdGlvblByb3BlcnR5Jykge1xuICAgICAgKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gJEZsb3dGaXhNZVxuICAgICAgICB2YXIgb3JpZ2luYWxWYWx1ZXMgPSBBcnJheS5pc0FycmF5KG9yaWdpbmFsVmFsdWUpID8gb3JpZ2luYWxWYWx1ZSA6IFtvcmlnaW5hbFZhbHVlXTtcbiAgICAgICAgb3JpZ2luYWxWYWx1ZXMuZm9yRWFjaCgodmFsLCBpKSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWVQb2x5ZmlsbCA9IFBST1BFUlRJRVNfSTE4Tlt2YWxdO1xuXG4gICAgICAgICAgICBpZiAodmFsdWVQb2x5ZmlsbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgIG9yaWdpbmFsVmFsdWVzW2ldID0gaXNSVEwgPyBQUk9QRVJUSUVTX0ZMSVBbdmFsdWVQb2x5ZmlsbF0gOiB2YWx1ZVBvbHlmaWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KSgpO1xuICAgIH0gLy8gQ3JlYXRlIGZpbmFsaXplZCBzdHlsZVxuXG5cbiAgICBpZiAoIWZyb3plblByb3BzW3Byb3BdKSB7XG4gICAgICBuZXh0U3R5bGVbcHJvcF0gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAoUFJPUEVSVElFU19JMThOLmhhc093blByb3BlcnR5KG9yaWdpbmFsUHJvcCkpIHtcbiAgICAgIGZyb3plblByb3BzW3Byb3BdID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKDAsIF9jcmVhdGVSZWFjdERPTVN0eWxlLmRlZmF1bHQpKG5leHRTdHlsZSwgdHJ1ZSk7XG59XG4vKipcbiAqIENyZWF0ZSBhIHZhbHVlIHN0cmluZyB0aGF0IG5vcm1hbGl6ZXMgZGlmZmVyZW50IGlucHV0IHZhbHVlcyB3aXRoIGEgY29tbW9uXG4gKiBvdXRwdXQuXG4gKi9cblxuXG5mdW5jdGlvbiBzdHJpbmdpZnlWYWx1ZVdpdGhQcm9wZXJ0eSh2YWx1ZSwgcHJvcGVydHkpIHtcbiAgLy8gZS5nLiwgMCA9PiAnMHB4JywgJ2JsYWNrJyA9PiAncmdiYSgwLDAsMCwxKSdcbiAgdmFyIG5vcm1hbGl6ZWRWYWx1ZSA9ICgwLCBfbm9ybWFsaXplVmFsdWVXaXRoUHJvcGVydHkuZGVmYXVsdCkodmFsdWUsIHByb3BlcnR5KTtcbiAgcmV0dXJuIHR5cGVvZiBub3JtYWxpemVkVmFsdWUgIT09ICdzdHJpbmcnID8gSlNPTi5zdHJpbmdpZnkobm9ybWFsaXplZFZhbHVlIHx8ICcnKSA6IG5vcm1hbGl6ZWRWYWx1ZTtcbn1cbi8qKlxuICogQ3JlYXRlIHRoZSBBdG9taWMgQ1NTIHJ1bGVzIG5lZWRlZCBmb3IgYSBnaXZlbiBTdHlsZVNoZWV0IHJ1bGUuXG4gKiBUcmFuc2xhdGVzIFN0eWxlU2hlZXQgZGVjbGFyYXRpb25zIHRvIENTUy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGNyZWF0ZUF0b21pY1J1bGVzKGlkZW50aWZpZXIsIHByb3BlcnR5LCB2YWx1ZSkge1xuICB2YXIgcnVsZXMgPSBbXTtcbiAgdmFyIHNlbGVjdG9yID0gXCIuXCIgKyBpZGVudGlmaWVyOyAvLyBIYW5kbGUgbm9uLXN0YW5kYXJkIHByb3BlcnRpZXMgYW5kIG9iamVjdCB2YWx1ZXMgdGhhdCByZXF1aXJlIG11bHRpcGxlXG4gIC8vIENTUyBydWxlcyB0byBiZSBjcmVhdGVkLlxuXG4gIHN3aXRjaCAocHJvcGVydHkpIHtcbiAgICBjYXNlICdhbmltYXRpb25LZXlmcmFtZXMnOlxuICAgICAge1xuICAgICAgICB2YXIgX3Byb2Nlc3NLZXlmcmFtZXNWYWx1MiA9IHByb2Nlc3NLZXlmcmFtZXNWYWx1ZSh2YWx1ZSksXG4gICAgICAgICAgICBhbmltYXRpb25OYW1lcyA9IF9wcm9jZXNzS2V5ZnJhbWVzVmFsdTJbMF0sXG4gICAgICAgICAgICBrZXlmcmFtZXNSdWxlcyA9IF9wcm9jZXNzS2V5ZnJhbWVzVmFsdTJbMV07XG5cbiAgICAgICAgdmFyIGJsb2NrID0gY3JlYXRlRGVjbGFyYXRpb25CbG9jayh7XG4gICAgICAgICAgYW5pbWF0aW9uTmFtZTogYW5pbWF0aW9uTmFtZXMuam9pbignLCcpXG4gICAgICAgIH0pO1xuICAgICAgICBydWxlcy5wdXNoKFwiXCIgKyBzZWxlY3RvciArIGJsb2NrLCAuLi5rZXlmcmFtZXNSdWxlcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIC8vIEVxdWl2YWxlbnQgdG8gdXNpbmcgJzo6cGxhY2Vob2xkZXInXG5cbiAgICBjYXNlICdwbGFjZWhvbGRlclRleHRDb2xvcic6XG4gICAgICB7XG4gICAgICAgIHZhciBfYmxvY2sgPSBjcmVhdGVEZWNsYXJhdGlvbkJsb2NrKHtcbiAgICAgICAgICBjb2xvcjogdmFsdWUsXG4gICAgICAgICAgb3BhY2l0eTogMVxuICAgICAgICB9KTtcblxuICAgICAgICBydWxlcy5wdXNoKHNlbGVjdG9yICsgXCI6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJcIiArIF9ibG9jaywgc2VsZWN0b3IgKyBcIjo6LW1vei1wbGFjZWhvbGRlclwiICsgX2Jsb2NrLCBzZWxlY3RvciArIFwiOi1tcy1pbnB1dC1wbGFjZWhvbGRlclwiICsgX2Jsb2NrLCBzZWxlY3RvciArIFwiOjpwbGFjZWhvbGRlclwiICsgX2Jsb2NrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgLy8gUG9seWZpbGwgZm9yIGFkZGl0aW9uYWwgJ3BvaW50ZXItZXZlbnRzJyB2YWx1ZXNcbiAgICAvLyBTZWUgZDEzZjc4NjIyYjIzM2EwYWZjMGM3YTIwMGMwYTA3OTJjOGNhOWU1OFxuXG4gICAgY2FzZSAncG9pbnRlckV2ZW50cyc6XG4gICAgICB7XG4gICAgICAgIHZhciBmaW5hbFZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSAnYXV0bycgfHwgdmFsdWUgPT09ICdib3gtb25seScpIHtcbiAgICAgICAgICBmaW5hbFZhbHVlID0gJ2F1dG8haW1wb3J0YW50JztcblxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJ2JveC1vbmx5Jykge1xuICAgICAgICAgICAgdmFyIF9ibG9jazMgPSBjcmVhdGVEZWNsYXJhdGlvbkJsb2NrKHtcbiAgICAgICAgICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcnVsZXMucHVzaChzZWxlY3RvciArIFwiPipcIiArIF9ibG9jazMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJ25vbmUnIHx8IHZhbHVlID09PSAnYm94LW5vbmUnKSB7XG4gICAgICAgICAgZmluYWxWYWx1ZSA9ICdub25lIWltcG9ydGFudCc7XG5cbiAgICAgICAgICBpZiAodmFsdWUgPT09ICdib3gtbm9uZScpIHtcbiAgICAgICAgICAgIHZhciBfYmxvY2s0ID0gY3JlYXRlRGVjbGFyYXRpb25CbG9jayh7XG4gICAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdhdXRvJ1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJ1bGVzLnB1c2goc2VsZWN0b3IgKyBcIj4qXCIgKyBfYmxvY2s0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgX2Jsb2NrMiA9IGNyZWF0ZURlY2xhcmF0aW9uQmxvY2soe1xuICAgICAgICAgIHBvaW50ZXJFdmVudHM6IGZpbmFsVmFsdWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcnVsZXMucHVzaChcIlwiICsgc2VsZWN0b3IgKyBfYmxvY2syKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgLy8gUG9seWZpbGwgZm9yIGRyYWZ0IHNwZWNcbiAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXNjcm9sbGJhcnMtMS9cblxuICAgIGNhc2UgJ3Njcm9sbGJhcldpZHRoJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSAnbm9uZScpIHtcbiAgICAgICAgICBydWxlcy5wdXNoKHNlbGVjdG9yICsgXCI6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX1cIik7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgX2Jsb2NrNSA9IGNyZWF0ZURlY2xhcmF0aW9uQmxvY2soe1xuICAgICAgICAgIHNjcm9sbGJhcldpZHRoOiB2YWx1ZVxuICAgICAgICB9KTtcblxuICAgICAgICBydWxlcy5wdXNoKFwiXCIgKyBzZWxlY3RvciArIF9ibG9jazUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIHZhciBfYmxvY2s2ID0gY3JlYXRlRGVjbGFyYXRpb25CbG9jayh7XG4gICAgICAgICAgW3Byb3BlcnR5XTogdmFsdWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcnVsZXMucHVzaChcIlwiICsgc2VsZWN0b3IgKyBfYmxvY2s2KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gcnVsZXM7XG59XG4vKipcbiAqIENyZWF0ZXMgYSBDU1MgZGVjbGFyYXRpb24gYmxvY2sgZnJvbSBhIFN0eWxlU2hlZXQgb2JqZWN0LlxuICovXG5cblxuZnVuY3Rpb24gY3JlYXRlRGVjbGFyYXRpb25CbG9jayhzdHlsZSkge1xuICB2YXIgZG9tU3R5bGUgPSAoMCwgX3ByZWZpeFN0eWxlcy5kZWZhdWx0KSgoMCwgX2NyZWF0ZVJlYWN0RE9NU3R5bGUuZGVmYXVsdCkoc3R5bGUpKTtcbiAgdmFyIGRlY2xhcmF0aW9uc1N0cmluZyA9IE9iamVjdC5rZXlzKGRvbVN0eWxlKS5tYXAocHJvcGVydHkgPT4ge1xuICAgIHZhciB2YWx1ZSA9IGRvbVN0eWxlW3Byb3BlcnR5XTtcbiAgICB2YXIgcHJvcCA9ICgwLCBfaHlwaGVuYXRlU3R5bGVOYW1lLmRlZmF1bHQpKHByb3BlcnR5KTsgLy8gVGhlIHByZWZpeGVyIG1heSByZXR1cm4gYW4gYXJyYXkgb2YgdmFsdWVzOlxuICAgIC8vIHsgZGlzcGxheTogWyAnLXdlYmtpdC1mbGV4JywgJ2ZsZXgnIF0gfVxuICAgIC8vIHRvIHJlcHJlc2VudCBcImZhbGxiYWNrXCIgZGVjbGFyYXRpb25zXG4gICAgLy8geyBkaXNwbGF5OiAtd2Via2l0LWZsZXg7IGRpc3BsYXk6IGZsZXg7IH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlLm1hcCh2ID0+IHByb3AgKyBcIjpcIiArIHYpLmpvaW4oJzsnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHByb3AgKyBcIjpcIiArIHZhbHVlO1xuICAgIH1cbiAgfSkgLy8gT25jZSBwcm9wZXJ0aWVzIGFyZSBoeXBoZW5hdGVkLCB0aGlzIHdpbGwgcHV0IHRoZSB2ZW5kb3JcbiAgLy8gcHJlZml4ZWQgYW5kIHNob3J0LWZvcm0gcHJvcGVydGllcyBmaXJzdCBpbiB0aGUgbGlzdC5cbiAgLnNvcnQoKS5qb2luKCc7Jyk7XG4gIHJldHVybiBcIntcIiArIGRlY2xhcmF0aW9uc1N0cmluZyArIFwiO31cIjtcbn1cbi8qKlxuICogQW4gaWRlbnRpZmllciBpcyBhc3NvY2lhdGVkIHdpdGggYSB1bmlxdWUgc2V0IG9mIHN0eWxlcy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGNyZWF0ZUlkZW50aWZpZXIocHJlZml4LCBuYW1lLCB2YWx1ZSkge1xuICB2YXIgaGFzaGVkU3RyaW5nID0gKDAsIF9oYXNoLmRlZmF1bHQpKG5hbWUgKyBzdHJpbmdpZnlWYWx1ZVdpdGhQcm9wZXJ0eSh2YWx1ZSwgbmFtZSkpO1xuICByZXR1cm4gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IHByZWZpeCArIFwiLVwiICsgbmFtZSArIFwiLVwiICsgaGFzaGVkU3RyaW5nIDogcHJlZml4ICsgXCItXCIgKyBoYXNoZWRTdHJpbmc7XG59XG4vKipcbiAqIENyZWF0ZSBpbmRpdmlkdWFsIENTUyBrZXlmcmFtZXMgcnVsZXMuXG4gKi9cblxuXG5mdW5jdGlvbiBjcmVhdGVLZXlmcmFtZXMoa2V5ZnJhbWVzKSB7XG4gIHZhciBwcmVmaXhlcyA9IFsnLXdlYmtpdC0nLCAnJ107XG4gIHZhciBpZGVudGlmaWVyID0gY3JlYXRlSWRlbnRpZmllcigncicsICdhbmltYXRpb24nLCBrZXlmcmFtZXMpO1xuICB2YXIgc3RlcHMgPSAneycgKyBPYmplY3Qua2V5cyhrZXlmcmFtZXMpLm1hcChzdGVwTmFtZSA9PiB7XG4gICAgdmFyIHJ1bGUgPSBrZXlmcmFtZXNbc3RlcE5hbWVdO1xuICAgIHZhciBibG9jayA9IGNyZWF0ZURlY2xhcmF0aW9uQmxvY2socnVsZSk7XG4gICAgcmV0dXJuIFwiXCIgKyBzdGVwTmFtZSArIGJsb2NrO1xuICB9KS5qb2luKCcnKSArICd9JztcbiAgdmFyIHJ1bGVzID0gcHJlZml4ZXMubWFwKHByZWZpeCA9PiB7XG4gICAgcmV0dXJuIFwiQFwiICsgcHJlZml4ICsgXCJrZXlmcmFtZXMgXCIgKyBpZGVudGlmaWVyICsgc3RlcHM7XG4gIH0pO1xuICByZXR1cm4gW2lkZW50aWZpZXIsIHJ1bGVzXTtcbn1cbi8qKlxuICogQ3JlYXRlIENTUyBrZXlmcmFtZXMgcnVsZXMgYW5kIG5hbWVzIGZyb20gYSBTdHlsZVNoZWV0IGtleWZyYW1lcyBvYmplY3QuXG4gKi9cblxuXG5mdW5jdGlvbiBwcm9jZXNzS2V5ZnJhbWVzVmFsdWUoa2V5ZnJhbWVzVmFsdWUpIHtcbiAgaWYgKHR5cGVvZiBrZXlmcmFtZXNWYWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIENTUyBrZXlmcmFtZXMgdHlwZTogXCIgKyB0eXBlb2Yga2V5ZnJhbWVzVmFsdWUpO1xuICB9XG5cbiAgdmFyIGFuaW1hdGlvbk5hbWVzID0gW107XG4gIHZhciBydWxlcyA9IFtdO1xuICB2YXIgdmFsdWUgPSBBcnJheS5pc0FycmF5KGtleWZyYW1lc1ZhbHVlKSA/IGtleWZyYW1lc1ZhbHVlIDogW2tleWZyYW1lc1ZhbHVlXTtcbiAgdmFsdWUuZm9yRWFjaChrZXlmcmFtZXMgPT4ge1xuICAgIGlmICh0eXBlb2Yga2V5ZnJhbWVzID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gU3VwcG9ydCBleHRlcm5hbCBhbmltYXRpb24gbGlicmFyaWVzIChpZGVudGlmaWVycyBvbmx5KVxuICAgICAgYW5pbWF0aW9uTmFtZXMucHVzaChrZXlmcmFtZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBDcmVhdGUgcnVsZXMgZm9yIGVhY2ggb2YgdGhlIGtleWZyYW1lc1xuICAgICAgdmFyIF9jcmVhdGVLZXlmcmFtZXMgPSBjcmVhdGVLZXlmcmFtZXMoa2V5ZnJhbWVzKSxcbiAgICAgICAgICBpZGVudGlmaWVyID0gX2NyZWF0ZUtleWZyYW1lc1swXSxcbiAgICAgICAgICBrZXlmcmFtZXNSdWxlcyA9IF9jcmVhdGVLZXlmcmFtZXNbMV07XG5cbiAgICAgIGFuaW1hdGlvbk5hbWVzLnB1c2goaWRlbnRpZmllcik7XG4gICAgICBydWxlcy5wdXNoKC4uLmtleWZyYW1lc1J1bGVzKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gW2FuaW1hdGlvbk5hbWVzLCBydWxlc107XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/compiler/index.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js': /*!**********************************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js ***! \**********************************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _isWebColor = _interopRequireDefault(__webpack_require__(/*! ../../../modules/isWebColor */ "../react-native-web/dist/cjs/modules/isWebColor/index.js"));\n\nvar _processColor = _interopRequireDefault(__webpack_require__(/*! ../../../exports/processColor */ "../react-native-web/dist/cjs/exports/processColor/index.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n\n if (color == null) return;\n\n if (typeof color === \'string\' && (0, _isWebColor.default)(color)) {\n return color;\n }\n\n var colorInt = (0, _processColor.default)(color);\n\n if (colorInt != null) {\n var r = colorInt >> 16 & 255;\n var g = colorInt >> 8 & 255;\n var b = colorInt & 255;\n var a = (colorInt >> 24 & 255) / 255;\n var alpha = (a * opacity).toFixed(2);\n return "rgba(" + r + "," + g + "," + b + "," + alpha + ")";\n }\n};\n\nvar _default = normalizeColor;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvY29tcGlsZXIvbm9ybWFsaXplQ29sb3IuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmLHlDQUF5QyxtQkFBTyxDQUFDLDZGQUE2Qjs7QUFFOUUsMkNBQTJDLG1CQUFPLENBQUMsaUdBQStCOztBQUVsRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvZXhwb3J0cy9TdHlsZVNoZWV0L2NvbXBpbGVyL25vcm1hbGl6ZUNvbG9yLmpzPzM2YzciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfaXNXZWJDb2xvciA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uLy4uL21vZHVsZXMvaXNXZWJDb2xvclwiKSk7XG5cbnZhciBfcHJvY2Vzc0NvbG9yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vLi4vZXhwb3J0cy9wcm9jZXNzQ29sb3JcIikpO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgTmljb2xhcyBHYWxsYWdoZXIuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cbnZhciBub3JtYWxpemVDb2xvciA9IGZ1bmN0aW9uIG5vcm1hbGl6ZUNvbG9yKGNvbG9yLCBvcGFjaXR5KSB7XG4gIGlmIChvcGFjaXR5ID09PSB2b2lkIDApIHtcbiAgICBvcGFjaXR5ID0gMTtcbiAgfVxuXG4gIGlmIChjb2xvciA9PSBudWxsKSByZXR1cm47XG5cbiAgaWYgKHR5cGVvZiBjb2xvciA9PT0gJ3N0cmluZycgJiYgKDAsIF9pc1dlYkNvbG9yLmRlZmF1bHQpKGNvbG9yKSkge1xuICAgIHJldHVybiBjb2xvcjtcbiAgfVxuXG4gIHZhciBjb2xvckludCA9ICgwLCBfcHJvY2Vzc0NvbG9yLmRlZmF1bHQpKGNvbG9yKTtcblxuICBpZiAoY29sb3JJbnQgIT0gbnVsbCkge1xuICAgIHZhciByID0gY29sb3JJbnQgPj4gMTYgJiAyNTU7XG4gICAgdmFyIGcgPSBjb2xvckludCA+PiA4ICYgMjU1O1xuICAgIHZhciBiID0gY29sb3JJbnQgJiAyNTU7XG4gICAgdmFyIGEgPSAoY29sb3JJbnQgPj4gMjQgJiAyNTUpIC8gMjU1O1xuICAgIHZhciBhbHBoYSA9IChhICogb3BhY2l0eSkudG9GaXhlZCgyKTtcbiAgICByZXR1cm4gXCJyZ2JhKFwiICsgciArIFwiLFwiICsgZyArIFwiLFwiICsgYiArIFwiLFwiICsgYWxwaGEgKyBcIilcIjtcbiAgfVxufTtcblxudmFyIF9kZWZhdWx0ID0gbm9ybWFsaXplQ29sb3I7XG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDtcbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js': /*!**********************************************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js ***! \**********************************************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = normalizeValueWithProperty;\n\nvar _unitlessNumbers = _interopRequireDefault(__webpack_require__(/*! ./unitlessNumbers */ "../react-native-web/dist/cjs/exports/StyleSheet/compiler/unitlessNumbers.js"));\n\nvar _normalizeColor = _interopRequireDefault(__webpack_require__(/*! ./normalizeColor */ "../react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar colorProps = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true\n};\n\nfunction normalizeValueWithProperty(value, property) {\n var returnValue = value;\n\n if ((property == null || !_unitlessNumbers.default[property]) && typeof value === \'number\') {\n returnValue = value + "px";\n } else if (property != null && colorProps[property]) {\n returnValue = (0, _normalizeColor.default)(value);\n }\n\n return returnValue;\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvY29tcGlsZXIvbm9ybWFsaXplVmFsdWVXaXRoUHJvcGVydHkuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmLDhDQUE4QyxtQkFBTyxDQUFDLHNHQUFtQjs7QUFFekUsNkNBQTZDLG1CQUFPLENBQUMsb0dBQWtCOztBQUV2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvZXhwb3J0cy9TdHlsZVNoZWV0L2NvbXBpbGVyL25vcm1hbGl6ZVZhbHVlV2l0aFByb3BlcnR5LmpzPzZlN2UiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSBub3JtYWxpemVWYWx1ZVdpdGhQcm9wZXJ0eTtcblxudmFyIF91bml0bGVzc051bWJlcnMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL3VuaXRsZXNzTnVtYmVyc1wiKSk7XG5cbnZhciBfbm9ybWFsaXplQ29sb3IgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL25vcm1hbGl6ZUNvbG9yXCIpKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgY29sb3JQcm9wcyA9IHtcbiAgYmFja2dyb3VuZENvbG9yOiB0cnVlLFxuICBib3JkZXJDb2xvcjogdHJ1ZSxcbiAgYm9yZGVyVG9wQ29sb3I6IHRydWUsXG4gIGJvcmRlclJpZ2h0Q29sb3I6IHRydWUsXG4gIGJvcmRlckJvdHRvbUNvbG9yOiB0cnVlLFxuICBib3JkZXJMZWZ0Q29sb3I6IHRydWUsXG4gIGNvbG9yOiB0cnVlLFxuICBzaGFkb3dDb2xvcjogdHJ1ZSxcbiAgdGV4dERlY29yYXRpb25Db2xvcjogdHJ1ZSxcbiAgdGV4dFNoYWRvd0NvbG9yOiB0cnVlXG59O1xuXG5mdW5jdGlvbiBub3JtYWxpemVWYWx1ZVdpdGhQcm9wZXJ0eSh2YWx1ZSwgcHJvcGVydHkpIHtcbiAgdmFyIHJldHVyblZhbHVlID0gdmFsdWU7XG5cbiAgaWYgKChwcm9wZXJ0eSA9PSBudWxsIHx8ICFfdW5pdGxlc3NOdW1iZXJzLmRlZmF1bHRbcHJvcGVydHldKSAmJiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuVmFsdWUgPSB2YWx1ZSArIFwicHhcIjtcbiAgfSBlbHNlIGlmIChwcm9wZXJ0eSAhPSBudWxsICYmIGNvbG9yUHJvcHNbcHJvcGVydHldKSB7XG4gICAgcmV0dXJuVmFsdWUgPSAoMCwgX25vcm1hbGl6ZUNvbG9yLmRlZmF1bHQpKHZhbHVlKTtcbiAgfVxuXG4gIHJldHVybiByZXR1cm5WYWx1ZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/compiler/unitlessNumbers.js': /*!***********************************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/compiler/unitlessNumbers.js ***! \***********************************************************************************/ /***/ (module, exports) => { 'use strict'; eval( "\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\n\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\n\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\n\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nvar _default = unitlessNumbers;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvY29tcGlsZXIvdW5pdGxlc3NOdW1iZXJzLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLGtCQUFrQjtBQUNsQixrQkFBZTs7QUFFZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL2V4cG9ydHMvU3R5bGVTaGVldC9jb21waWxlci91bml0bGVzc051bWJlcnMuanM/ZDFhYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyLlxuICogQ29weXJpZ2h0IChjKSBNZXRhIFBsYXRmb3JtcywgSW5jLiBhbmQgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIHVuaXRsZXNzTnVtYmVycyA9IHtcbiAgYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6IHRydWUsXG4gIGFzcGVjdFJhdGlvOiB0cnVlLFxuICBib3JkZXJJbWFnZU91dHNldDogdHJ1ZSxcbiAgYm9yZGVySW1hZ2VTbGljZTogdHJ1ZSxcbiAgYm9yZGVySW1hZ2VXaWR0aDogdHJ1ZSxcbiAgYm94RmxleDogdHJ1ZSxcbiAgYm94RmxleEdyb3VwOiB0cnVlLFxuICBib3hPcmRpbmFsR3JvdXA6IHRydWUsXG4gIGNvbHVtbkNvdW50OiB0cnVlLFxuICBmbGV4OiB0cnVlLFxuICBmbGV4R3JvdzogdHJ1ZSxcbiAgZmxleE9yZGVyOiB0cnVlLFxuICBmbGV4UG9zaXRpdmU6IHRydWUsXG4gIGZsZXhTaHJpbms6IHRydWUsXG4gIGZsZXhOZWdhdGl2ZTogdHJ1ZSxcbiAgZm9udFdlaWdodDogdHJ1ZSxcbiAgZ3JpZFJvdzogdHJ1ZSxcbiAgZ3JpZFJvd0VuZDogdHJ1ZSxcbiAgZ3JpZFJvd0dhcDogdHJ1ZSxcbiAgZ3JpZFJvd1N0YXJ0OiB0cnVlLFxuICBncmlkQ29sdW1uOiB0cnVlLFxuICBncmlkQ29sdW1uRW5kOiB0cnVlLFxuICBncmlkQ29sdW1uR2FwOiB0cnVlLFxuICBncmlkQ29sdW1uU3RhcnQ6IHRydWUsXG4gIGxpbmVDbGFtcDogdHJ1ZSxcbiAgb3BhY2l0eTogdHJ1ZSxcbiAgb3JkZXI6IHRydWUsXG4gIG9ycGhhbnM6IHRydWUsXG4gIHRhYlNpemU6IHRydWUsXG4gIHdpZG93czogdHJ1ZSxcbiAgekluZGV4OiB0cnVlLFxuICB6b29tOiB0cnVlLFxuICAvLyBTVkctcmVsYXRlZFxuICBmaWxsT3BhY2l0eTogdHJ1ZSxcbiAgZmxvb2RPcGFjaXR5OiB0cnVlLFxuICBzdG9wT3BhY2l0eTogdHJ1ZSxcbiAgc3Ryb2tlRGFzaGFycmF5OiB0cnVlLFxuICBzdHJva2VEYXNob2Zmc2V0OiB0cnVlLFxuICBzdHJva2VNaXRlcmxpbWl0OiB0cnVlLFxuICBzdHJva2VPcGFjaXR5OiB0cnVlLFxuICBzdHJva2VXaWR0aDogdHJ1ZSxcbiAgLy8gdHJhbnNmb3JtIHR5cGVzXG4gIHNjYWxlOiB0cnVlLFxuICBzY2FsZVg6IHRydWUsXG4gIHNjYWxlWTogdHJ1ZSxcbiAgc2NhbGVaOiB0cnVlLFxuICAvLyBSTiBwcm9wZXJ0aWVzXG4gIHNoYWRvd09wYWNpdHk6IHRydWVcbn07XG4vKipcbiAqIFN1cHBvcnQgc3R5bGUgbmFtZXMgdGhhdCBtYXkgY29tZSBwYXNzZWQgaW4gcHJlZml4ZWQgYnkgYWRkaW5nIHBlcm11dGF0aW9uc1xuICogb2YgdmVuZG9yIHByZWZpeGVzLlxuICovXG5cbnZhciBwcmVmaXhlcyA9IFsnbXMnLCAnTW96JywgJ08nLCAnV2Via2l0J107XG5cbnZhciBwcmVmaXhLZXkgPSAocHJlZml4LCBrZXkpID0+IHtcbiAgcmV0dXJuIHByZWZpeCArIGtleS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGtleS5zdWJzdHJpbmcoMSk7XG59O1xuXG5PYmplY3Qua2V5cyh1bml0bGVzc051bWJlcnMpLmZvckVhY2gocHJvcCA9PiB7XG4gIHByZWZpeGVzLmZvckVhY2gocHJlZml4ID0+IHtcbiAgICB1bml0bGVzc051bWJlcnNbcHJlZml4S2V5KHByZWZpeCwgcHJvcCldID0gdW5pdGxlc3NOdW1iZXJzW3Byb3BdO1xuICB9KTtcbn0pO1xudmFyIF9kZWZhdWx0ID0gdW5pdGxlc3NOdW1iZXJzO1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/compiler/unitlessNumbers.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/dom/createCSSStyleSheet.js': /*!**********************************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/dom/createCSSStyleSheet.js ***! \**********************************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = createCSSStyleSheet;\n\nvar _canUseDom = _interopRequireDefault(__webpack_require__(/*! ../../../modules/canUseDom */ "../react-native-web/dist/cjs/modules/canUseDom/index.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n// $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\nfunction createCSSStyleSheet(id, rootNode, textContent) {\n if (_canUseDom.default) {\n var root = rootNode != null ? rootNode : document;\n var element = root.getElementById(id);\n\n if (element == null) {\n element = document.createElement(\'style\');\n element.setAttribute(\'id\', id);\n\n if (typeof textContent === \'string\') {\n element.appendChild(document.createTextNode(textContent));\n }\n\n if (root instanceof ShadowRoot) {\n root.insertBefore(element, root.firstChild);\n } else {\n var head = root.head;\n\n if (head) {\n head.insertBefore(element, head.firstChild);\n }\n }\n } // $FlowFixMe: HTMLElement is incorrectly typed\n\n\n return element.sheet;\n } else {\n return null;\n }\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvZG9tL2NyZWF0ZUNTU1N0eWxlU2hlZXQuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmLHdDQUF3QyxtQkFBTyxDQUFDLDJGQUE0Qjs7QUFFNUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL2V4cG9ydHMvU3R5bGVTaGVldC9kb20vY3JlYXRlQ1NTU3R5bGVTaGVldC5qcz9kZWNkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG52YXIgX2ludGVyb3BSZXF1aXJlRGVmYXVsdCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdFwiKS5kZWZhdWx0O1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gY3JlYXRlQ1NTU3R5bGVTaGVldDtcblxudmFyIF9jYW5Vc2VEb20gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi8uLi9tb2R1bGVzL2NhblVzZURvbVwiKSk7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlci5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xuLy8gJEZsb3dGaXhNZTogSFRNTFN0eWxlRWxlbWVudCBpcyBpbmNvcnJlY3RseSB0eXBlZCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9mbG93L2lzc3Vlcy8yNjk2XG5mdW5jdGlvbiBjcmVhdGVDU1NTdHlsZVNoZWV0KGlkLCByb290Tm9kZSwgdGV4dENvbnRlbnQpIHtcbiAgaWYgKF9jYW5Vc2VEb20uZGVmYXVsdCkge1xuICAgIHZhciByb290ID0gcm9vdE5vZGUgIT0gbnVsbCA/IHJvb3ROb2RlIDogZG9jdW1lbnQ7XG4gICAgdmFyIGVsZW1lbnQgPSByb290LmdldEVsZW1lbnRCeUlkKGlkKTtcblxuICAgIGlmIChlbGVtZW50ID09IG51bGwpIHtcbiAgICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgaWQpO1xuXG4gICAgICBpZiAodHlwZW9mIHRleHRDb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHRDb250ZW50KSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyb290IGluc3RhbmNlb2YgU2hhZG93Um9vdCkge1xuICAgICAgICByb290Lmluc2VydEJlZm9yZShlbGVtZW50LCByb290LmZpcnN0Q2hpbGQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGhlYWQgPSByb290LmhlYWQ7XG5cbiAgICAgICAgaWYgKGhlYWQpIHtcbiAgICAgICAgICBoZWFkLmluc2VydEJlZm9yZShlbGVtZW50LCBoZWFkLmZpcnN0Q2hpbGQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyAkRmxvd0ZpeE1lOiBIVE1MRWxlbWVudCBpcyBpbmNvcnJlY3RseSB0eXBlZFxuXG5cbiAgICByZXR1cm4gZWxlbWVudC5zaGVldDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/dom/createCSSStyleSheet.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js': /*!*****************************************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js ***! \*****************************************************************************************/ /***/ (module, exports) => { 'use strict'; eval( "\n\nexports.__esModule = true;\nexports[\"default\"] = createOrderedCSSStyleSheet;\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar slice = Array.prototype.slice;\n/**\n * Order-based insertion of CSS.\n *\n * Each rule is associated with a numerically defined group.\n * Groups are ordered within the style sheet according to their number, with the\n * lowest first.\n *\n * Groups are implemented using marker rules. The selector of the first rule of\n * each group is used only to encode the group number for hydration. An\n * alternative implementation could rely on CSSMediaRule, allowing groups to be\n * treated as a sub-sheet, but the Edge implementation of CSSMediaRule is\n * broken.\n * https://developer.mozilla.org/en-US/docs/Web/API/CSSMediaRule\n * https://gist.github.com/necolas/aa0c37846ad6bd3b05b727b959e82674\n */\n\nfunction createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach((cssRule, i) => {\n var cssText = cssRule.cssText; // Create record of existing selectors and rules\n\n if (cssText.indexOf('stylesheet-group') > -1) {\n group = decodeGroupRule(cssRule);\n groups[group] = {\n start: i,\n rules: [cssText]\n };\n } else {\n var selectorText = getSelectorText(cssText);\n\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\n }\n });\n }\n\n function sheetInsert(sheet, group, text) {\n var orderedGroups = getOrderedGroups(groups);\n var groupIndex = orderedGroups.indexOf(group);\n var nextGroupIndex = groupIndex + 1;\n var nextGroup = orderedGroups[nextGroupIndex]; // Insert rule before the next group, or at the end of the stylesheet\n\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n } // Increment the starting index of all subsequent groups\n\n\n for (var i = nextGroupIndex; i < orderedGroups.length; i += 1) {\n var groupNumber = orderedGroups[i];\n var previousStart = groups[groupNumber].start || 0;\n groups[groupNumber].start = previousStart + 1;\n }\n }\n\n return isInserted;\n }\n\n var OrderedCSSStyleSheet = {\n /**\n * The textContent of the style sheet.\n */\n getTextContent() {\n return getOrderedGroups(groups).map(group => {\n var rules = groups[group].rules; // Sorting provides deterministic order of styles in group for\n // build-time extraction of the style sheet.\n\n var marker = rules.shift();\n rules.sort();\n rules.unshift(marker);\n return rules.join('\\n');\n }).join('\\n');\n },\n\n /**\n * Insert a rule into the style sheet\n */\n insert(cssText, groupValue) {\n var group = Number(groupValue); // Create a new group.\n\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group); // Create the internal record.\n\n groups[group] = {\n start: null,\n rules: [markerRule]\n }; // Update CSSOM.\n\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n } // selectorText is more reliable than cssText for insertion checks. The\n // browser excludes vendor-prefixed properties and rewrites certain values\n // making cssText more likely to be different from what was inserted.\n\n\n var selectorText = getSelectorText(cssText);\n\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText); // Update CSSOM.\n\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n\n if (!isInserted) {\n // Revert internal record change if a rule was rejected (e.g.,\n // unrecognized pseudo-selector)\n groups[group].rules.pop();\n }\n }\n }\n }\n\n };\n return OrderedCSSStyleSheet;\n}\n/**\n * Helper functions\n */\n\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\n\nvar groupPattern = /[\"']/g;\n\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(groupPattern)[1]);\n}\n\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort((a, b) => a > b ? 1 : -1);\n}\n\nvar selectorPattern = /\\s*([,])\\s*/g;\n\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(selectorPattern, '$1') : null;\n}\n\nfunction insertRuleAt(root, cssText, position) {\n try {\n // $FlowFixMe: Flow is missing CSSOM types needed to type 'root'.\n root.insertRule(cssText, position);\n return true;\n } catch (e) {\n // JSDOM doesn't support `CSSSMediaRule#insertRule`.\n // Also ignore errors that occur from attempting to insert vendor-prefixed selectors.\n return false;\n }\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvZG9tL2NyZWF0ZU9yZGVyZWRDU1NTdHlsZVNoZWV0LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLGtCQUFrQjtBQUNsQixrQkFBZTs7QUFFZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQzs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7O0FBRW5EO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUixtQ0FBbUMsMEJBQTBCO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQzs7QUFFdEM7QUFDQSxpREFBaUQ7O0FBRWpEO0FBQ0E7QUFDQTtBQUNBLFdBQVc7O0FBRVg7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQzs7QUFFM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvZG9tL2NyZWF0ZU9yZGVyZWRDU1NTdHlsZVNoZWV0LmpzP2U4ZTQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSBjcmVhdGVPcmRlcmVkQ1NTU3R5bGVTaGVldDtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7XG4vKipcbiAqIE9yZGVyLWJhc2VkIGluc2VydGlvbiBvZiBDU1MuXG4gKlxuICogRWFjaCBydWxlIGlzIGFzc29jaWF0ZWQgd2l0aCBhIG51bWVyaWNhbGx5IGRlZmluZWQgZ3JvdXAuXG4gKiBHcm91cHMgYXJlIG9yZGVyZWQgd2l0aGluIHRoZSBzdHlsZSBzaGVldCBhY2NvcmRpbmcgdG8gdGhlaXIgbnVtYmVyLCB3aXRoIHRoZVxuICogbG93ZXN0IGZpcnN0LlxuICpcbiAqIEdyb3VwcyBhcmUgaW1wbGVtZW50ZWQgdXNpbmcgbWFya2VyIHJ1bGVzLiBUaGUgc2VsZWN0b3Igb2YgdGhlIGZpcnN0IHJ1bGUgb2ZcbiAqIGVhY2ggZ3JvdXAgaXMgdXNlZCBvbmx5IHRvIGVuY29kZSB0aGUgZ3JvdXAgbnVtYmVyIGZvciBoeWRyYXRpb24uIEFuXG4gKiBhbHRlcm5hdGl2ZSBpbXBsZW1lbnRhdGlvbiBjb3VsZCByZWx5IG9uIENTU01lZGlhUnVsZSwgYWxsb3dpbmcgZ3JvdXBzIHRvIGJlXG4gKiB0cmVhdGVkIGFzIGEgc3ViLXNoZWV0LCBidXQgdGhlIEVkZ2UgaW1wbGVtZW50YXRpb24gb2YgQ1NTTWVkaWFSdWxlIGlzXG4gKiBicm9rZW4uXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ1NTTWVkaWFSdWxlXG4gKiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9uZWNvbGFzL2FhMGMzNzg0NmFkNmJkM2IwNWI3MjdiOTU5ZTgyNjc0XG4gKi9cblxuZnVuY3Rpb24gY3JlYXRlT3JkZXJlZENTU1N0eWxlU2hlZXQoc2hlZXQpIHtcbiAgdmFyIGdyb3VwcyA9IHt9O1xuICB2YXIgc2VsZWN0b3JzID0ge307XG4gIC8qKlxuICAgKiBIeWRyYXRlIGFwcHJveGltYXRlIHJlY29yZCBmcm9tIGFueSBleGlzdGluZyBydWxlcyBpbiB0aGUgc2hlZXQuXG4gICAqL1xuXG4gIGlmIChzaGVldCAhPSBudWxsKSB7XG4gICAgdmFyIGdyb3VwO1xuICAgIHNsaWNlLmNhbGwoc2hlZXQuY3NzUnVsZXMpLmZvckVhY2goKGNzc1J1bGUsIGkpID0+IHtcbiAgICAgIHZhciBjc3NUZXh0ID0gY3NzUnVsZS5jc3NUZXh0OyAvLyBDcmVhdGUgcmVjb3JkIG9mIGV4aXN0aW5nIHNlbGVjdG9ycyBhbmQgcnVsZXNcblxuICAgICAgaWYgKGNzc1RleHQuaW5kZXhPZignc3R5bGVzaGVldC1ncm91cCcpID4gLTEpIHtcbiAgICAgICAgZ3JvdXAgPSBkZWNvZGVHcm91cFJ1bGUoY3NzUnVsZSk7XG4gICAgICAgIGdyb3Vwc1tncm91cF0gPSB7XG4gICAgICAgICAgc3RhcnQ6IGksXG4gICAgICAgICAgcnVsZXM6IFtjc3NUZXh0XVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHNlbGVjdG9yVGV4dCA9IGdldFNlbGVjdG9yVGV4dChjc3NUZXh0KTtcblxuICAgICAgICBpZiAoc2VsZWN0b3JUZXh0ICE9IG51bGwpIHtcbiAgICAgICAgICBzZWxlY3RvcnNbc2VsZWN0b3JUZXh0XSA9IHRydWU7XG4gICAgICAgICAgZ3JvdXBzW2dyb3VwXS5ydWxlcy5wdXNoKGNzc1RleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBzaGVldEluc2VydChzaGVldCwgZ3JvdXAsIHRleHQpIHtcbiAgICB2YXIgb3JkZXJlZEdyb3VwcyA9IGdldE9yZGVyZWRHcm91cHMoZ3JvdXBzKTtcbiAgICB2YXIgZ3JvdXBJbmRleCA9IG9yZGVyZWRHcm91cHMuaW5kZXhPZihncm91cCk7XG4gICAgdmFyIG5leHRHcm91cEluZGV4ID0gZ3JvdXBJbmRleCArIDE7XG4gICAgdmFyIG5leHRHcm91cCA9IG9yZGVyZWRHcm91cHNbbmV4dEdyb3VwSW5kZXhdOyAvLyBJbnNlcnQgcnVsZSBiZWZvcmUgdGhlIG5leHQgZ3JvdXAsIG9yIGF0IHRoZSBlbmQgb2YgdGhlIHN0eWxlc2hlZXRcblxuICAgIHZhciBwb3NpdGlvbiA9IG5leHRHcm91cCAhPSBudWxsICYmIGdyb3Vwc1tuZXh0R3JvdXBdLnN0YXJ0ICE9IG51bGwgPyBncm91cHNbbmV4dEdyb3VwXS5zdGFydCA6IHNoZWV0LmNzc1J1bGVzLmxlbmd0aDtcbiAgICB2YXIgaXNJbnNlcnRlZCA9IGluc2VydFJ1bGVBdChzaGVldCwgdGV4dCwgcG9zaXRpb24pO1xuXG4gICAgaWYgKGlzSW5zZXJ0ZWQpIHtcbiAgICAgIC8vIFNldCB0aGUgc3RhcnRpbmcgaW5kZXggb2YgdGhlIG5ldyBncm91cFxuICAgICAgaWYgKGdyb3Vwc1tncm91cF0uc3RhcnQgPT0gbnVsbCkge1xuICAgICAgICBncm91cHNbZ3JvdXBdLnN0YXJ0ID0gcG9zaXRpb247XG4gICAgICB9IC8vIEluY3JlbWVudCB0aGUgc3RhcnRpbmcgaW5kZXggb2YgYWxsIHN1YnNlcXVlbnQgZ3JvdXBzXG5cblxuICAgICAgZm9yICh2YXIgaSA9IG5leHRHcm91cEluZGV4OyBpIDwgb3JkZXJlZEdyb3Vwcy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICB2YXIgZ3JvdXBOdW1iZXIgPSBvcmRlcmVkR3JvdXBzW2ldO1xuICAgICAgICB2YXIgcHJldmlvdXNTdGFydCA9IGdyb3Vwc1tncm91cE51bWJlcl0uc3RhcnQgfHwgMDtcbiAgICAgICAgZ3JvdXBzW2dyb3VwTnVtYmVyXS5zdGFydCA9IHByZXZpb3VzU3RhcnQgKyAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpc0luc2VydGVkO1xuICB9XG5cbiAgdmFyIE9yZGVyZWRDU1NTdHlsZVNoZWV0ID0ge1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZXh0Q29udGVudCBvZiB0aGUgc3R5bGUgc2hlZXQuXG4gICAgICovXG4gICAgZ2V0VGV4dENvbnRlbnQoKSB7XG4gICAgICByZXR1cm4gZ2V0T3JkZXJlZEdyb3Vwcyhncm91cHMpLm1hcChncm91cCA9PiB7XG4gICAgICAgIHZhciBydWxlcyA9IGdyb3Vwc1tncm91cF0ucnVsZXM7IC8vIFNvcnRpbmcgcHJvdmlkZXMgZGV0ZXJtaW5pc3RpYyBvcmRlciBvZiBzdHlsZXMgaW4gZ3JvdXAgZm9yXG4gICAgICAgIC8vIGJ1aWxkLXRpbWUgZXh0cmFjdGlvbiBvZiB0aGUgc3R5bGUgc2hlZXQuXG5cbiAgICAgICAgdmFyIG1hcmtlciA9IHJ1bGVzLnNoaWZ0KCk7XG4gICAgICAgIHJ1bGVzLnNvcnQoKTtcbiAgICAgICAgcnVsZXMudW5zaGlmdChtYXJrZXIpO1xuICAgICAgICByZXR1cm4gcnVsZXMuam9pbignXFxuJyk7XG4gICAgICB9KS5qb2luKCdcXG4nKTtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogSW5zZXJ0IGEgcnVsZSBpbnRvIHRoZSBzdHlsZSBzaGVldFxuICAgICAqL1xuICAgIGluc2VydChjc3NUZXh0LCBncm91cFZhbHVlKSB7XG4gICAgICB2YXIgZ3JvdXAgPSBOdW1iZXIoZ3JvdXBWYWx1ZSk7IC8vIENyZWF0ZSBhIG5ldyBncm91cC5cblxuICAgICAgaWYgKGdyb3Vwc1tncm91cF0gPT0gbnVsbCkge1xuICAgICAgICB2YXIgbWFya2VyUnVsZSA9IGVuY29kZUdyb3VwUnVsZShncm91cCk7IC8vIENyZWF0ZSB0aGUgaW50ZXJuYWwgcmVjb3JkLlxuXG4gICAgICAgIGdyb3Vwc1tncm91cF0gPSB7XG4gICAgICAgICAgc3RhcnQ6IG51bGwsXG4gICAgICAgICAgcnVsZXM6IFttYXJrZXJSdWxlXVxuICAgICAgICB9OyAvLyBVcGRhdGUgQ1NTT00uXG5cbiAgICAgICAgaWYgKHNoZWV0ICE9IG51bGwpIHtcbiAgICAgICAgICBzaGVldEluc2VydChzaGVldCwgZ3JvdXAsIG1hcmtlclJ1bGUpO1xuICAgICAgICB9XG4gICAgICB9IC8vIHNlbGVjdG9yVGV4dCBpcyBtb3JlIHJlbGlhYmxlIHRoYW4gY3NzVGV4dCBmb3IgaW5zZXJ0aW9uIGNoZWNrcy4gVGhlXG4gICAgICAvLyBicm93c2VyIGV4Y2x1ZGVzIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0aWVzIGFuZCByZXdyaXRlcyBjZXJ0YWluIHZhbHVlc1xuICAgICAgLy8gbWFraW5nIGNzc1RleHQgbW9yZSBsaWtlbHkgdG8gYmUgZGlmZmVyZW50IGZyb20gd2hhdCB3YXMgaW5zZXJ0ZWQuXG5cblxuICAgICAgdmFyIHNlbGVjdG9yVGV4dCA9IGdldFNlbGVjdG9yVGV4dChjc3NUZXh0KTtcblxuICAgICAgaWYgKHNlbGVjdG9yVGV4dCAhPSBudWxsICYmIHNlbGVjdG9yc1tzZWxlY3RvclRleHRdID09IG51bGwpIHtcbiAgICAgICAgLy8gVXBkYXRlIHRoZSBpbnRlcm5hbCByZWNvcmRzLlxuICAgICAgICBzZWxlY3RvcnNbc2VsZWN0b3JUZXh0XSA9IHRydWU7XG4gICAgICAgIGdyb3Vwc1tncm91cF0ucnVsZXMucHVzaChjc3NUZXh0KTsgLy8gVXBkYXRlIENTU09NLlxuXG4gICAgICAgIGlmIChzaGVldCAhPSBudWxsKSB7XG4gICAgICAgICAgdmFyIGlzSW5zZXJ0ZWQgPSBzaGVldEluc2VydChzaGVldCwgZ3JvdXAsIGNzc1RleHQpO1xuXG4gICAgICAgICAgaWYgKCFpc0luc2VydGVkKSB7XG4gICAgICAgICAgICAvLyBSZXZlcnQgaW50ZXJuYWwgcmVjb3JkIGNoYW5nZSBpZiBhIHJ1bGUgd2FzIHJlamVjdGVkIChlLmcuLFxuICAgICAgICAgICAgLy8gdW5yZWNvZ25pemVkIHBzZXVkby1zZWxlY3RvcilcbiAgICAgICAgICAgIGdyb3Vwc1tncm91cF0ucnVsZXMucG9wKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH07XG4gIHJldHVybiBPcmRlcmVkQ1NTU3R5bGVTaGVldDtcbn1cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uc1xuICovXG5cblxuZnVuY3Rpb24gZW5jb2RlR3JvdXBSdWxlKGdyb3VwKSB7XG4gIHJldHVybiBcIltzdHlsZXNoZWV0LWdyb3VwPVxcXCJcIiArIGdyb3VwICsgXCJcXFwiXXt9XCI7XG59XG5cbnZhciBncm91cFBhdHRlcm4gPSAvW1wiJ10vZztcblxuZnVuY3Rpb24gZGVjb2RlR3JvdXBSdWxlKGNzc1J1bGUpIHtcbiAgcmV0dXJuIE51bWJlcihjc3NSdWxlLnNlbGVjdG9yVGV4dC5zcGxpdChncm91cFBhdHRlcm4pWzFdKTtcbn1cblxuZnVuY3Rpb24gZ2V0T3JkZXJlZEdyb3VwcyhvYmopIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikubWFwKE51bWJlcikuc29ydCgoYSwgYikgPT4gYSA+IGIgPyAxIDogLTEpO1xufVxuXG52YXIgc2VsZWN0b3JQYXR0ZXJuID0gL1xccyooWyxdKVxccyovZztcblxuZnVuY3Rpb24gZ2V0U2VsZWN0b3JUZXh0KGNzc1RleHQpIHtcbiAgdmFyIHNlbGVjdG9yID0gY3NzVGV4dC5zcGxpdCgneycpWzBdLnRyaW0oKTtcbiAgcmV0dXJuIHNlbGVjdG9yICE9PSAnJyA/IHNlbGVjdG9yLnJlcGxhY2Uoc2VsZWN0b3JQYXR0ZXJuLCAnJDEnKSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGluc2VydFJ1bGVBdChyb290LCBjc3NUZXh0LCBwb3NpdGlvbikge1xuICB0cnkge1xuICAgIC8vICRGbG93Rml4TWU6IEZsb3cgaXMgbWlzc2luZyBDU1NPTSB0eXBlcyBuZWVkZWQgdG8gdHlwZSAncm9vdCcuXG4gICAgcm9vdC5pbnNlcnRSdWxlKGNzc1RleHQsIHBvc2l0aW9uKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIEpTRE9NIGRvZXNuJ3Qgc3VwcG9ydCBgQ1NTU01lZGlhUnVsZSNpbnNlcnRSdWxlYC5cbiAgICAvLyBBbHNvIGlnbm9yZSBlcnJvcnMgdGhhdCBvY2N1ciBmcm9tIGF0dGVtcHRpbmcgdG8gaW5zZXJ0IHZlbmRvci1wcmVmaXhlZCBzZWxlY3RvcnMuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/dom/index.js': /*!********************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/dom/index.js ***! \********************************************************************/ /***/ (__unused_webpack_module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"../../node_modules/@babel/runtime/helpers/interopRequireDefault.js\")[\"default\"]);\n\nexports.__esModule = true;\nexports.createSheet = createSheet;\n\nvar _canUseDom = _interopRequireDefault(__webpack_require__(/*! ../../../modules/canUseDom */ \"../react-native-web/dist/cjs/modules/canUseDom/index.js\"));\n\nvar _createCSSStyleSheet = _interopRequireDefault(__webpack_require__(/*! ./createCSSStyleSheet */ \"../react-native-web/dist/cjs/exports/StyleSheet/dom/createCSSStyleSheet.js\"));\n\nvar _createOrderedCSSStyleSheet = _interopRequireDefault(__webpack_require__(/*! ./createOrderedCSSStyleSheet */ \"../react-native-web/dist/cjs/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js\"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar defaultId = 'react-native-stylesheet';\nvar roots = new WeakMap();\nvar sheets = [];\nvar initialRules = [// minimal top-level reset\n'html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}', 'body{margin:0;}', // minimal form pseudo-element reset\n'button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}', 'input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}'];\n\nfunction createSheet(root, id) {\n if (id === void 0) {\n id = defaultId;\n }\n\n var sheet;\n\n if (_canUseDom.default) {\n var rootNode = root != null ? root.getRootNode() : document; // Create the initial style sheet\n\n if (sheets.length === 0) {\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n var index = roots.get(rootNode);\n\n if (index == null) {\n var initialSheet = sheets[0]; // If we're creating a new sheet, populate it with existing styles\n\n var textContent = initialSheet != null ? initialSheet.getTextContent() : ''; // Cast rootNode to 'any' because Flow types for getRootNode are wrong\n\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id, rootNode, textContent));\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n sheet = sheets[index];\n }\n }\n } else {\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n sheets.push(sheet);\n } else {\n sheet = sheets[0];\n }\n }\n\n return {\n getTextContent() {\n return sheet.getTextContent();\n },\n\n id,\n\n insert(cssText, groupValue) {\n sheets.forEach(s => {\n s.insert(cssText, groupValue);\n });\n }\n\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvZG9tL2luZGV4LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDZCQUE2QiwwSkFBK0Q7O0FBRTVGLGtCQUFrQjtBQUNsQixtQkFBbUI7O0FBRW5CLHdDQUF3QyxtQkFBTyxDQUFDLDJGQUE0Qjs7QUFFNUUsa0RBQWtELG1CQUFPLENBQUMseUdBQXVCOztBQUVqRix5REFBeUQsbUJBQU8sQ0FBQyx1SEFBOEI7O0FBRS9GO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sMEJBQTBCLDhCQUE4QiwyQ0FBMkMsU0FBUyxVQUFVO0FBQzVILGtEQUFrRCxTQUFTLFdBQVcsdUpBQXVKLGNBQWM7O0FBRTNPO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsaUVBQWlFOztBQUVqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0Esc0NBQXNDOztBQUV0QyxxRkFBcUY7O0FBRXJGO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvZG9tL2luZGV4LmpzP2E2OGIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmNyZWF0ZVNoZWV0ID0gY3JlYXRlU2hlZXQ7XG5cbnZhciBfY2FuVXNlRG9tID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vLi4vbW9kdWxlcy9jYW5Vc2VEb21cIikpO1xuXG52YXIgX2NyZWF0ZUNTU1N0eWxlU2hlZXQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL2NyZWF0ZUNTU1N0eWxlU2hlZXRcIikpO1xuXG52YXIgX2NyZWF0ZU9yZGVyZWRDU1NTdHlsZVNoZWV0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9jcmVhdGVPcmRlcmVkQ1NTU3R5bGVTaGVldFwiKSk7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlci5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIGRlZmF1bHRJZCA9ICdyZWFjdC1uYXRpdmUtc3R5bGVzaGVldCc7XG52YXIgcm9vdHMgPSBuZXcgV2Vha01hcCgpO1xudmFyIHNoZWV0cyA9IFtdO1xudmFyIGluaXRpYWxSdWxlcyA9IFsvLyBtaW5pbWFsIHRvcC1sZXZlbCByZXNldFxuJ2h0bWx7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTt9JywgJ2JvZHl7bWFyZ2luOjA7fScsIC8vIG1pbmltYWwgZm9ybSBwc2V1ZG8tZWxlbWVudCByZXNldFxuJ2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjA7fScsICdpbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixpbnB1dDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixpbnB1dDo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24saW5wdXQ6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbntkaXNwbGF5Om5vbmU7fSddO1xuXG5mdW5jdGlvbiBjcmVhdGVTaGVldChyb290LCBpZCkge1xuICBpZiAoaWQgPT09IHZvaWQgMCkge1xuICAgIGlkID0gZGVmYXVsdElkO1xuICB9XG5cbiAgdmFyIHNoZWV0O1xuXG4gIGlmIChfY2FuVXNlRG9tLmRlZmF1bHQpIHtcbiAgICB2YXIgcm9vdE5vZGUgPSByb290ICE9IG51bGwgPyByb290LmdldFJvb3ROb2RlKCkgOiBkb2N1bWVudDsgLy8gQ3JlYXRlIHRoZSBpbml0aWFsIHN0eWxlIHNoZWV0XG5cbiAgICBpZiAoc2hlZXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgc2hlZXQgPSAoMCwgX2NyZWF0ZU9yZGVyZWRDU1NTdHlsZVNoZWV0LmRlZmF1bHQpKCgwLCBfY3JlYXRlQ1NTU3R5bGVTaGVldC5kZWZhdWx0KShpZCkpO1xuICAgICAgaW5pdGlhbFJ1bGVzLmZvckVhY2gocnVsZSA9PiB7XG4gICAgICAgIHNoZWV0Lmluc2VydChydWxlLCAwKTtcbiAgICAgIH0pO1xuICAgICAgcm9vdHMuc2V0KHJvb3ROb2RlLCBzaGVldHMubGVuZ3RoKTtcbiAgICAgIHNoZWV0cy5wdXNoKHNoZWV0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGluZGV4ID0gcm9vdHMuZ2V0KHJvb3ROb2RlKTtcblxuICAgICAgaWYgKGluZGV4ID09IG51bGwpIHtcbiAgICAgICAgdmFyIGluaXRpYWxTaGVldCA9IHNoZWV0c1swXTsgLy8gSWYgd2UncmUgY3JlYXRpbmcgYSBuZXcgc2hlZXQsIHBvcHVsYXRlIGl0IHdpdGggZXhpc3Rpbmcgc3R5bGVzXG5cbiAgICAgICAgdmFyIHRleHRDb250ZW50ID0gaW5pdGlhbFNoZWV0ICE9IG51bGwgPyBpbml0aWFsU2hlZXQuZ2V0VGV4dENvbnRlbnQoKSA6ICcnOyAvLyBDYXN0IHJvb3ROb2RlIHRvICdhbnknIGJlY2F1c2UgRmxvdyB0eXBlcyBmb3IgZ2V0Um9vdE5vZGUgYXJlIHdyb25nXG5cbiAgICAgICAgc2hlZXQgPSAoMCwgX2NyZWF0ZU9yZGVyZWRDU1NTdHlsZVNoZWV0LmRlZmF1bHQpKCgwLCBfY3JlYXRlQ1NTU3R5bGVTaGVldC5kZWZhdWx0KShpZCwgcm9vdE5vZGUsIHRleHRDb250ZW50KSk7XG4gICAgICAgIHJvb3RzLnNldChyb290Tm9kZSwgc2hlZXRzLmxlbmd0aCk7XG4gICAgICAgIHNoZWV0cy5wdXNoKHNoZWV0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNoZWV0ID0gc2hlZXRzW2luZGV4XTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gQ3JlYXRlIHRoZSBpbml0aWFsIHN0eWxlIHNoZWV0XG4gICAgaWYgKHNoZWV0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHNoZWV0ID0gKDAsIF9jcmVhdGVPcmRlcmVkQ1NTU3R5bGVTaGVldC5kZWZhdWx0KSgoMCwgX2NyZWF0ZUNTU1N0eWxlU2hlZXQuZGVmYXVsdCkoaWQpKTtcbiAgICAgIGluaXRpYWxSdWxlcy5mb3JFYWNoKHJ1bGUgPT4ge1xuICAgICAgICBzaGVldC5pbnNlcnQocnVsZSwgMCk7XG4gICAgICB9KTtcbiAgICAgIHNoZWV0cy5wdXNoKHNoZWV0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2hlZXQgPSBzaGVldHNbMF07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBnZXRUZXh0Q29udGVudCgpIHtcbiAgICAgIHJldHVybiBzaGVldC5nZXRUZXh0Q29udGVudCgpO1xuICAgIH0sXG5cbiAgICBpZCxcblxuICAgIGluc2VydChjc3NUZXh0LCBncm91cFZhbHVlKSB7XG4gICAgICBzaGVldHMuZm9yRWFjaChzID0+IHtcbiAgICAgICAgcy5pbnNlcnQoY3NzVGV4dCwgZ3JvdXBWYWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgfTtcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/dom/index.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/index.js': /*!****************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/index.js ***! \****************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ "../../node_modules/@babel/runtime/helpers/objectSpread2.js"));\n\nvar _compiler = __webpack_require__(/*! ./compiler */ "../react-native-web/dist/cjs/exports/StyleSheet/compiler/index.js");\n\nvar _dom = __webpack_require__(/*! ./dom */ "../react-native-web/dist/cjs/exports/StyleSheet/dom/index.js");\n\nvar _transformLocalizeStyle = __webpack_require__(/*! styleq/transform-localize-style */ "styleq/transform-localize-style");\n\nvar _preprocess = __webpack_require__(/*! ./preprocess */ "../react-native-web/dist/cjs/exports/StyleSheet/preprocess.js");\n\nvar _styleq = __webpack_require__(/*! styleq */ "styleq");\n\nvar _validate = __webpack_require__(/*! ./validate */ "../react-native-web/dist/cjs/exports/StyleSheet/validate.js");\n\nvar _canUseDom = _interopRequireDefault(__webpack_require__(/*! ../../modules/canUseDom */ "../react-native-web/dist/cjs/modules/canUseDom/index.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar staticStyleMap = new WeakMap();\nvar sheet = (0, _dom.createSheet)();\n\nfunction customStyleq(styles, isRTL) {\n return _styleq.styleq.factory({\n transform(style) {\n var compiledStyle = staticStyleMap.get(style);\n\n if (compiledStyle != null) {\n return (0, _transformLocalizeStyle.localizeStyle)(compiledStyle, isRTL);\n }\n\n return style;\n }\n\n })(styles);\n}\n\nfunction insertRules(compiledOrderedRules) {\n compiledOrderedRules.forEach(_ref => {\n var rules = _ref[0],\n order = _ref[1];\n\n if (sheet != null) {\n rules.forEach(rule => {\n sheet.insert(rule, order);\n });\n }\n });\n}\n\nfunction compileAndInsertAtomic(style) {\n var _atomic = (0, _compiler.atomic)((0, _preprocess.preprocess)(style)),\n compiledStyle = _atomic[0],\n compiledOrderedRules = _atomic[1];\n\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n\nfunction compileAndInsertReset(style, key) {\n var _classic = (0, _compiler.classic)(style, key),\n compiledStyle = _classic[0],\n compiledOrderedRules = _classic[1];\n\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n/* ----- API ----- */\n\n\nvar absoluteFillObject = {\n position: \'absolute\',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = create({\n x: (0, _objectSpread2.default)({}, absoluteFillObject)\n}).x;\n/**\n * create\n */\n\nfunction create(styles) {\n Object.keys(styles).forEach(key => {\n var styleObj = styles[key]; // Only compile at runtime if the style is not already compiled\n\n if (styleObj != null && styleObj.$$css !== true) {\n var compiledStyles;\n\n if (key.indexOf(\'$raw\') > -1) {\n compiledStyles = compileAndInsertReset(styleObj, key.split(\'$raw\')[0]);\n } else {\n if (true) {\n (0, _validate.validate)(styleObj);\n styles[key] = Object.freeze(styleObj);\n }\n\n compiledStyles = compileAndInsertAtomic(styleObj);\n }\n\n staticStyleMap.set(styleObj, compiledStyles);\n }\n });\n return styles;\n}\n/**\n * compose\n */\n\n\nfunction compose(style1, style2) {\n if (true) {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\n\n if (len > 2) {\n var readableStyles = [...arguments].map(a => flatten(a));\n throw new Error("StyleSheet.compose() only accepts 2 arguments, received " + len + ": " + JSON.stringify(readableStyles));\n }\n /* eslint-enable prefer-rest-params */\n\n\n console.warn(\'StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b].\');\n }\n\n return [style1, style2];\n}\n/**\n * flatten\n */\n\n\nfunction flatten() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n\n var flatArray = styles.flat(Infinity);\n var result = {};\n\n for (var i = 0; i < flatArray.length; i++) {\n var style = flatArray[i];\n\n if (style != null && typeof style === \'object\') {\n // $FlowFixMe\n Object.assign(result, style);\n }\n }\n\n return result;\n}\n/**\n * getSheet\n */\n\n\nfunction getSheet() {\n return {\n id: sheet.id,\n textContent: sheet.getTextContent()\n };\n}\n/**\n * resolve\n */\n\n\nfunction StyleSheet(styles, options) {\n var isRTL = options != null && options.writingDirection === \'rtl\';\n var styleProps = customStyleq(styles, isRTL);\n\n if (Array.isArray(styleProps) && styleProps[1] != null) {\n styleProps[1] = (0, _compiler.inline)((0, _preprocess.preprocess)(styleProps[1]), isRTL);\n }\n\n return styleProps;\n}\n\nStyleSheet.absoluteFill = absoluteFill;\nStyleSheet.absoluteFillObject = absoluteFillObject;\nStyleSheet.create = create;\nStyleSheet.compose = compose;\nStyleSheet.flatten = flatten;\nStyleSheet.getSheet = getSheet; // `hairlineWidth` is not implemented using screen density as browsers may\n// round sub-pixel values down to `0`, causing the line not to be rendered.\n\nStyleSheet.hairlineWidth = 1;\n\nif (_canUseDom.default && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\n\nvar stylesheet = StyleSheet;\nvar _default = stylesheet;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmLDRDQUE0QyxtQkFBTyxDQUFDLHdHQUFzQzs7QUFFMUYsZ0JBQWdCLG1CQUFPLENBQUMscUZBQVk7O0FBRXBDLFdBQVcsbUJBQU8sQ0FBQywyRUFBTzs7QUFFMUIsOEJBQThCLG1CQUFPLENBQUMsd0VBQWlDOztBQUV2RSxrQkFBa0IsbUJBQU8sQ0FBQyxtRkFBYzs7QUFFeEMsY0FBYyxtQkFBTyxDQUFDLHNCQUFROztBQUU5QixnQkFBZ0IsbUJBQU8sQ0FBQywrRUFBWTs7QUFFcEMsd0NBQXdDLG1CQUFPLENBQUMsd0ZBQXlCOztBQUV6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQyxDQUFDO0FBQ0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnQ0FBZ0M7O0FBRWhDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUixZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxNQUFNLElBQXFDO0FBQzNDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0EsMERBQTBEO0FBQzFEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0Esd0VBQXdFLGFBQWE7QUFDckY7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGtCQUFrQixzQkFBc0I7QUFDeEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esa0JBQWU7QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvaW5kZXguanM/NGVjNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHRcIikuZGVmYXVsdDtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9vYmplY3RTcHJlYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWQyXCIpKTtcblxudmFyIF9jb21waWxlciA9IHJlcXVpcmUoXCIuL2NvbXBpbGVyXCIpO1xuXG52YXIgX2RvbSA9IHJlcXVpcmUoXCIuL2RvbVwiKTtcblxudmFyIF90cmFuc2Zvcm1Mb2NhbGl6ZVN0eWxlID0gcmVxdWlyZShcInN0eWxlcS90cmFuc2Zvcm0tbG9jYWxpemUtc3R5bGVcIik7XG5cbnZhciBfcHJlcHJvY2VzcyA9IHJlcXVpcmUoXCIuL3ByZXByb2Nlc3NcIik7XG5cbnZhciBfc3R5bGVxID0gcmVxdWlyZShcInN0eWxlcVwiKTtcblxudmFyIF92YWxpZGF0ZSA9IHJlcXVpcmUoXCIuL3ZhbGlkYXRlXCIpO1xuXG52YXIgX2NhblVzZURvbSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL21vZHVsZXMvY2FuVXNlRG9tXCIpKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgc3RhdGljU3R5bGVNYXAgPSBuZXcgV2Vha01hcCgpO1xudmFyIHNoZWV0ID0gKDAsIF9kb20uY3JlYXRlU2hlZXQpKCk7XG5cbmZ1bmN0aW9uIGN1c3RvbVN0eWxlcShzdHlsZXMsIGlzUlRMKSB7XG4gIHJldHVybiBfc3R5bGVxLnN0eWxlcS5mYWN0b3J5KHtcbiAgICB0cmFuc2Zvcm0oc3R5bGUpIHtcbiAgICAgIHZhciBjb21waWxlZFN0eWxlID0gc3RhdGljU3R5bGVNYXAuZ2V0KHN0eWxlKTtcblxuICAgICAgaWYgKGNvbXBpbGVkU3R5bGUgIT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gKDAsIF90cmFuc2Zvcm1Mb2NhbGl6ZVN0eWxlLmxvY2FsaXplU3R5bGUpKGNvbXBpbGVkU3R5bGUsIGlzUlRMKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN0eWxlO1xuICAgIH1cblxuICB9KShzdHlsZXMpO1xufVxuXG5mdW5jdGlvbiBpbnNlcnRSdWxlcyhjb21waWxlZE9yZGVyZWRSdWxlcykge1xuICBjb21waWxlZE9yZGVyZWRSdWxlcy5mb3JFYWNoKF9yZWYgPT4ge1xuICAgIHZhciBydWxlcyA9IF9yZWZbMF0sXG4gICAgICAgIG9yZGVyID0gX3JlZlsxXTtcblxuICAgIGlmIChzaGVldCAhPSBudWxsKSB7XG4gICAgICBydWxlcy5mb3JFYWNoKHJ1bGUgPT4ge1xuICAgICAgICBzaGVldC5pbnNlcnQocnVsZSwgb3JkZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gY29tcGlsZUFuZEluc2VydEF0b21pYyhzdHlsZSkge1xuICB2YXIgX2F0b21pYyA9ICgwLCBfY29tcGlsZXIuYXRvbWljKSgoMCwgX3ByZXByb2Nlc3MucHJlcHJvY2Vzcykoc3R5bGUpKSxcbiAgICAgIGNvbXBpbGVkU3R5bGUgPSBfYXRvbWljWzBdLFxuICAgICAgY29tcGlsZWRPcmRlcmVkUnVsZXMgPSBfYXRvbWljWzFdO1xuXG4gIGluc2VydFJ1bGVzKGNvbXBpbGVkT3JkZXJlZFJ1bGVzKTtcbiAgcmV0dXJuIGNvbXBpbGVkU3R5bGU7XG59XG5cbmZ1bmN0aW9uIGNvbXBpbGVBbmRJbnNlcnRSZXNldChzdHlsZSwga2V5KSB7XG4gIHZhciBfY2xhc3NpYyA9ICgwLCBfY29tcGlsZXIuY2xhc3NpYykoc3R5bGUsIGtleSksXG4gICAgICBjb21waWxlZFN0eWxlID0gX2NsYXNzaWNbMF0sXG4gICAgICBjb21waWxlZE9yZGVyZWRSdWxlcyA9IF9jbGFzc2ljWzFdO1xuXG4gIGluc2VydFJ1bGVzKGNvbXBpbGVkT3JkZXJlZFJ1bGVzKTtcbiAgcmV0dXJuIGNvbXBpbGVkU3R5bGU7XG59XG4vKiAtLS0tLSBBUEkgLS0tLS0gKi9cblxuXG52YXIgYWJzb2x1dGVGaWxsT2JqZWN0ID0ge1xuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgbGVmdDogMCxcbiAgcmlnaHQ6IDAsXG4gIHRvcDogMCxcbiAgYm90dG9tOiAwXG59O1xudmFyIGFic29sdXRlRmlsbCA9IGNyZWF0ZSh7XG4gIHg6ICgwLCBfb2JqZWN0U3ByZWFkMi5kZWZhdWx0KSh7fSwgYWJzb2x1dGVGaWxsT2JqZWN0KVxufSkueDtcbi8qKlxuICogY3JlYXRlXG4gKi9cblxuZnVuY3Rpb24gY3JlYXRlKHN0eWxlcykge1xuICBPYmplY3Qua2V5cyhzdHlsZXMpLmZvckVhY2goa2V5ID0+IHtcbiAgICB2YXIgc3R5bGVPYmogPSBzdHlsZXNba2V5XTsgLy8gT25seSBjb21waWxlIGF0IHJ1bnRpbWUgaWYgdGhlIHN0eWxlIGlzIG5vdCBhbHJlYWR5IGNvbXBpbGVkXG5cbiAgICBpZiAoc3R5bGVPYmogIT0gbnVsbCAmJiBzdHlsZU9iai4kJGNzcyAhPT0gdHJ1ZSkge1xuICAgICAgdmFyIGNvbXBpbGVkU3R5bGVzO1xuXG4gICAgICBpZiAoa2V5LmluZGV4T2YoJyRyYXcnKSA+IC0xKSB7XG4gICAgICAgIGNvbXBpbGVkU3R5bGVzID0gY29tcGlsZUFuZEluc2VydFJlc2V0KHN0eWxlT2JqLCBrZXkuc3BsaXQoJyRyYXcnKVswXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICgwLCBfdmFsaWRhdGUudmFsaWRhdGUpKHN0eWxlT2JqKTtcbiAgICAgICAgICBzdHlsZXNba2V5XSA9IE9iamVjdC5mcmVlemUoc3R5bGVPYmopO1xuICAgICAgICB9XG5cbiAgICAgICAgY29tcGlsZWRTdHlsZXMgPSBjb21waWxlQW5kSW5zZXJ0QXRvbWljKHN0eWxlT2JqKTtcbiAgICAgIH1cblxuICAgICAgc3RhdGljU3R5bGVNYXAuc2V0KHN0eWxlT2JqLCBjb21waWxlZFN0eWxlcyk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHN0eWxlcztcbn1cbi8qKlxuICogY29tcG9zZVxuICovXG5cblxuZnVuY3Rpb24gY29tcG9zZShzdHlsZTEsIHN0eWxlMikge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIC8qIGVzbGludC1kaXNhYmxlIHByZWZlci1yZXN0LXBhcmFtcyAqL1xuICAgIHZhciBsZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuXG4gICAgaWYgKGxlbiA+IDIpIHtcbiAgICAgIHZhciByZWFkYWJsZVN0eWxlcyA9IFsuLi5hcmd1bWVudHNdLm1hcChhID0+IGZsYXR0ZW4oYSkpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU3R5bGVTaGVldC5jb21wb3NlKCkgb25seSBhY2NlcHRzIDIgYXJndW1lbnRzLCByZWNlaXZlZCBcIiArIGxlbiArIFwiOiBcIiArIEpTT04uc3RyaW5naWZ5KHJlYWRhYmxlU3R5bGVzKSk7XG4gICAgfVxuICAgIC8qIGVzbGludC1lbmFibGUgcHJlZmVyLXJlc3QtcGFyYW1zICovXG5cblxuICAgIGNvbnNvbGUud2FybignU3R5bGVTaGVldC5jb21wb3NlKGEsIGIpIGlzIGRlcHJlY2F0ZWQ7IHVzZSBhcnJheSBzeW50YXgsIGkuZS4sIFthLGJdLicpO1xuICB9XG5cbiAgcmV0dXJuIFtzdHlsZTEsIHN0eWxlMl07XG59XG4vKipcbiAqIGZsYXR0ZW5cbiAqL1xuXG5cbmZ1bmN0aW9uIGZsYXR0ZW4oKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBzdHlsZXMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgc3R5bGVzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgdmFyIGZsYXRBcnJheSA9IHN0eWxlcy5mbGF0KEluZmluaXR5KTtcbiAgdmFyIHJlc3VsdCA9IHt9O1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZmxhdEFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHN0eWxlID0gZmxhdEFycmF5W2ldO1xuXG4gICAgaWYgKHN0eWxlICE9IG51bGwgJiYgdHlwZW9mIHN0eWxlID09PSAnb2JqZWN0Jykge1xuICAgICAgLy8gJEZsb3dGaXhNZVxuICAgICAgT2JqZWN0LmFzc2lnbihyZXN1bHQsIHN0eWxlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuLyoqXG4gKiBnZXRTaGVldFxuICovXG5cblxuZnVuY3Rpb24gZ2V0U2hlZXQoKSB7XG4gIHJldHVybiB7XG4gICAgaWQ6IHNoZWV0LmlkLFxuICAgIHRleHRDb250ZW50OiBzaGVldC5nZXRUZXh0Q29udGVudCgpXG4gIH07XG59XG4vKipcbiAqIHJlc29sdmVcbiAqL1xuXG5cbmZ1bmN0aW9uIFN0eWxlU2hlZXQoc3R5bGVzLCBvcHRpb25zKSB7XG4gIHZhciBpc1JUTCA9IG9wdGlvbnMgIT0gbnVsbCAmJiBvcHRpb25zLndyaXRpbmdEaXJlY3Rpb24gPT09ICdydGwnO1xuICB2YXIgc3R5bGVQcm9wcyA9IGN1c3RvbVN0eWxlcShzdHlsZXMsIGlzUlRMKTtcblxuICBpZiAoQXJyYXkuaXNBcnJheShzdHlsZVByb3BzKSAmJiBzdHlsZVByb3BzWzFdICE9IG51bGwpIHtcbiAgICBzdHlsZVByb3BzWzFdID0gKDAsIF9jb21waWxlci5pbmxpbmUpKCgwLCBfcHJlcHJvY2Vzcy5wcmVwcm9jZXNzKShzdHlsZVByb3BzWzFdKSwgaXNSVEwpO1xuICB9XG5cbiAgcmV0dXJuIHN0eWxlUHJvcHM7XG59XG5cblN0eWxlU2hlZXQuYWJzb2x1dGVGaWxsID0gYWJzb2x1dGVGaWxsO1xuU3R5bGVTaGVldC5hYnNvbHV0ZUZpbGxPYmplY3QgPSBhYnNvbHV0ZUZpbGxPYmplY3Q7XG5TdHlsZVNoZWV0LmNyZWF0ZSA9IGNyZWF0ZTtcblN0eWxlU2hlZXQuY29tcG9zZSA9IGNvbXBvc2U7XG5TdHlsZVNoZWV0LmZsYXR0ZW4gPSBmbGF0dGVuO1xuU3R5bGVTaGVldC5nZXRTaGVldCA9IGdldFNoZWV0OyAvLyBgaGFpcmxpbmVXaWR0aGAgaXMgbm90IGltcGxlbWVudGVkIHVzaW5nIHNjcmVlbiBkZW5zaXR5IGFzIGJyb3dzZXJzIG1heVxuLy8gcm91bmQgc3ViLXBpeGVsIHZhbHVlcyBkb3duIHRvIGAwYCwgY2F1c2luZyB0aGUgbGluZSBub3QgdG8gYmUgcmVuZGVyZWQuXG5cblN0eWxlU2hlZXQuaGFpcmxpbmVXaWR0aCA9IDE7XG5cbmlmIChfY2FuVXNlRG9tLmRlZmF1bHQgJiYgd2luZG93Ll9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXykge1xuICB3aW5kb3cuX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlc29sdmVSTlN0eWxlID0gU3R5bGVTaGVldC5mbGF0dGVuO1xufVxuXG52YXIgc3R5bGVzaGVldCA9IFN0eWxlU2hlZXQ7XG52YXIgX2RlZmF1bHQgPSBzdHlsZXNoZWV0O1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/preprocess.js': /*!*********************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/preprocess.js ***! \*********************************************************************/ /***/ (__unused_webpack_module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports.preprocess = exports["default"] = exports.createTextShadowValue = exports.createBoxShadowValue = void 0;\n\nvar _normalizeColor = _interopRequireDefault(__webpack_require__(/*! ./compiler/normalizeColor */ "../react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js"));\n\nvar _normalizeValueWithProperty = _interopRequireDefault(__webpack_require__(/*! ./compiler/normalizeValueWithProperty */ "../react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar emptyObject = {};\n/**\n * Shadows\n */\n\nvar defaultOffset = {\n height: 0,\n width: 0\n};\n\nvar createBoxShadowValue = style => {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n\n var offsetX = (0, _normalizeValueWithProperty.default)(width);\n var offsetY = (0, _normalizeValueWithProperty.default)(height);\n var blurRadius = (0, _normalizeValueWithProperty.default)(shadowRadius || 0);\n var color = (0, _normalizeColor.default)(shadowColor || \'black\', shadowOpacity);\n\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + " " + offsetY + " " + blurRadius + " " + color;\n }\n};\n\nexports.createBoxShadowValue = createBoxShadowValue;\n\nvar createTextShadowValue = style => {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n\n var _ref2 = textShadowOffset || defaultOffset,\n height = _ref2.height,\n width = _ref2.width;\n\n var radius = textShadowRadius || 0;\n var offsetX = (0, _normalizeValueWithProperty.default)(width);\n var offsetY = (0, _normalizeValueWithProperty.default)(height);\n var blurRadius = (0, _normalizeValueWithProperty.default)(radius);\n var color = (0, _normalizeValueWithProperty.default)(textShadowColor, \'textShadowColor\');\n\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + " " + offsetY + " " + blurRadius + " " + color;\n }\n};\n/**\n * Preprocess styles\n */\n\n\nexports.createTextShadowValue = createTextShadowValue;\n\nvar preprocess = originalStyle => {\n var style = originalStyle || emptyObject;\n var nextStyle = {};\n\n for (var originalProp in style) {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n continue;\n } // Convert shadow styles\n\n\n if (prop === \'shadowColor\' || prop === \'shadowOffset\' || prop === \'shadowOpacity\' || prop === \'shadowRadius\') {\n var boxShadowValue = createBoxShadowValue(style);\n\n if (boxShadowValue != null && nextStyle.boxShadow == null) {\n var boxShadow = style.boxShadow;\n prop = \'boxShadow\';\n value = boxShadow ? boxShadow + ", " + boxShadowValue : boxShadowValue;\n } else {\n continue;\n }\n } // Convert text shadow styles\n\n\n if (prop === \'textShadowColor\' || prop === \'textShadowOffset\' || prop === \'textShadowRadius\') {\n var textShadowValue = createTextShadowValue(style);\n\n if (textShadowValue != null && nextStyle.textShadow == null) {\n var textShadow = style.textShadow;\n prop = \'textShadow\';\n value = textShadow ? textShadow + ", " + textShadowValue : textShadowValue;\n } else {\n continue;\n }\n }\n\n nextStyle[prop] = value;\n } // $FlowIgnore\n\n\n return nextStyle;\n};\n\nexports.preprocess = preprocess;\nvar _default = preprocess;\nexports["default"] = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvcHJlcHJvY2Vzcy5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw2QkFBNkIsMEpBQStEOztBQUU1RixrQkFBa0I7QUFDbEIsa0JBQWtCLEdBQUcsa0JBQWUsR0FBRyw2QkFBNkIsR0FBRyw0QkFBNEI7O0FBRW5HLDZDQUE2QyxtQkFBTyxDQUFDLDZHQUEyQjs7QUFFaEYseURBQXlELG1CQUFPLENBQUMscUlBQXVDOztBQUV4RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNEJBQTRCOztBQUU1QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0EsNkJBQTZCOztBQUU3QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQSxrQkFBa0I7QUFDbEI7QUFDQSxrQkFBZSIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvcHJlcHJvY2Vzcy5qcz9kYmRjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG52YXIgX2ludGVyb3BSZXF1aXJlRGVmYXVsdCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdFwiKS5kZWZhdWx0O1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5wcmVwcm9jZXNzID0gZXhwb3J0cy5kZWZhdWx0ID0gZXhwb3J0cy5jcmVhdGVUZXh0U2hhZG93VmFsdWUgPSBleHBvcnRzLmNyZWF0ZUJveFNoYWRvd1ZhbHVlID0gdm9pZCAwO1xuXG52YXIgX25vcm1hbGl6ZUNvbG9yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9jb21waWxlci9ub3JtYWxpemVDb2xvclwiKSk7XG5cbnZhciBfbm9ybWFsaXplVmFsdWVXaXRoUHJvcGVydHkgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL2NvbXBpbGVyL25vcm1hbGl6ZVZhbHVlV2l0aFByb3BlcnR5XCIpKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgZW1wdHlPYmplY3QgPSB7fTtcbi8qKlxuICogU2hhZG93c1xuICovXG5cbnZhciBkZWZhdWx0T2Zmc2V0ID0ge1xuICBoZWlnaHQ6IDAsXG4gIHdpZHRoOiAwXG59O1xuXG52YXIgY3JlYXRlQm94U2hhZG93VmFsdWUgPSBzdHlsZSA9PiB7XG4gIHZhciBzaGFkb3dDb2xvciA9IHN0eWxlLnNoYWRvd0NvbG9yLFxuICAgICAgc2hhZG93T2Zmc2V0ID0gc3R5bGUuc2hhZG93T2Zmc2V0LFxuICAgICAgc2hhZG93T3BhY2l0eSA9IHN0eWxlLnNoYWRvd09wYWNpdHksXG4gICAgICBzaGFkb3dSYWRpdXMgPSBzdHlsZS5zaGFkb3dSYWRpdXM7XG5cbiAgdmFyIF9yZWYgPSBzaGFkb3dPZmZzZXQgfHwgZGVmYXVsdE9mZnNldCxcbiAgICAgIGhlaWdodCA9IF9yZWYuaGVpZ2h0LFxuICAgICAgd2lkdGggPSBfcmVmLndpZHRoO1xuXG4gIHZhciBvZmZzZXRYID0gKDAsIF9ub3JtYWxpemVWYWx1ZVdpdGhQcm9wZXJ0eS5kZWZhdWx0KSh3aWR0aCk7XG4gIHZhciBvZmZzZXRZID0gKDAsIF9ub3JtYWxpemVWYWx1ZVdpdGhQcm9wZXJ0eS5kZWZhdWx0KShoZWlnaHQpO1xuICB2YXIgYmx1clJhZGl1cyA9ICgwLCBfbm9ybWFsaXplVmFsdWVXaXRoUHJvcGVydHkuZGVmYXVsdCkoc2hhZG93UmFkaXVzIHx8IDApO1xuICB2YXIgY29sb3IgPSAoMCwgX25vcm1hbGl6ZUNvbG9yLmRlZmF1bHQpKHNoYWRvd0NvbG9yIHx8ICdibGFjaycsIHNoYWRvd09wYWNpdHkpO1xuXG4gIGlmIChjb2xvciAhPSBudWxsICYmIG9mZnNldFggIT0gbnVsbCAmJiBvZmZzZXRZICE9IG51bGwgJiYgYmx1clJhZGl1cyAhPSBudWxsKSB7XG4gICAgcmV0dXJuIG9mZnNldFggKyBcIiBcIiArIG9mZnNldFkgKyBcIiBcIiArIGJsdXJSYWRpdXMgKyBcIiBcIiArIGNvbG9yO1xuICB9XG59O1xuXG5leHBvcnRzLmNyZWF0ZUJveFNoYWRvd1ZhbHVlID0gY3JlYXRlQm94U2hhZG93VmFsdWU7XG5cbnZhciBjcmVhdGVUZXh0U2hhZG93VmFsdWUgPSBzdHlsZSA9PiB7XG4gIHZhciB0ZXh0U2hhZG93Q29sb3IgPSBzdHlsZS50ZXh0U2hhZG93Q29sb3IsXG4gICAgICB0ZXh0U2hhZG93T2Zmc2V0ID0gc3R5bGUudGV4dFNoYWRvd09mZnNldCxcbiAgICAgIHRleHRTaGFkb3dSYWRpdXMgPSBzdHlsZS50ZXh0U2hhZG93UmFkaXVzO1xuXG4gIHZhciBfcmVmMiA9IHRleHRTaGFkb3dPZmZzZXQgfHwgZGVmYXVsdE9mZnNldCxcbiAgICAgIGhlaWdodCA9IF9yZWYyLmhlaWdodCxcbiAgICAgIHdpZHRoID0gX3JlZjIud2lkdGg7XG5cbiAgdmFyIHJhZGl1cyA9IHRleHRTaGFkb3dSYWRpdXMgfHwgMDtcbiAgdmFyIG9mZnNldFggPSAoMCwgX25vcm1hbGl6ZVZhbHVlV2l0aFByb3BlcnR5LmRlZmF1bHQpKHdpZHRoKTtcbiAgdmFyIG9mZnNldFkgPSAoMCwgX25vcm1hbGl6ZVZhbHVlV2l0aFByb3BlcnR5LmRlZmF1bHQpKGhlaWdodCk7XG4gIHZhciBibHVyUmFkaXVzID0gKDAsIF9ub3JtYWxpemVWYWx1ZVdpdGhQcm9wZXJ0eS5kZWZhdWx0KShyYWRpdXMpO1xuICB2YXIgY29sb3IgPSAoMCwgX25vcm1hbGl6ZVZhbHVlV2l0aFByb3BlcnR5LmRlZmF1bHQpKHRleHRTaGFkb3dDb2xvciwgJ3RleHRTaGFkb3dDb2xvcicpO1xuXG4gIGlmIChjb2xvciAmJiAoaGVpZ2h0ICE9PSAwIHx8IHdpZHRoICE9PSAwIHx8IHJhZGl1cyAhPT0gMCkgJiYgb2Zmc2V0WCAhPSBudWxsICYmIG9mZnNldFkgIT0gbnVsbCAmJiBibHVyUmFkaXVzICE9IG51bGwpIHtcbiAgICByZXR1cm4gb2Zmc2V0WCArIFwiIFwiICsgb2Zmc2V0WSArIFwiIFwiICsgYmx1clJhZGl1cyArIFwiIFwiICsgY29sb3I7XG4gIH1cbn07XG4vKipcbiAqIFByZXByb2Nlc3Mgc3R5bGVzXG4gKi9cblxuXG5leHBvcnRzLmNyZWF0ZVRleHRTaGFkb3dWYWx1ZSA9IGNyZWF0ZVRleHRTaGFkb3dWYWx1ZTtcblxudmFyIHByZXByb2Nlc3MgPSBvcmlnaW5hbFN0eWxlID0+IHtcbiAgdmFyIHN0eWxlID0gb3JpZ2luYWxTdHlsZSB8fCBlbXB0eU9iamVjdDtcbiAgdmFyIG5leHRTdHlsZSA9IHt9O1xuXG4gIGZvciAodmFyIG9yaWdpbmFsUHJvcCBpbiBzdHlsZSkge1xuICAgIHZhciBvcmlnaW5hbFZhbHVlID0gc3R5bGVbb3JpZ2luYWxQcm9wXTtcbiAgICB2YXIgcHJvcCA9IG9yaWdpbmFsUHJvcDtcbiAgICB2YXIgdmFsdWUgPSBvcmlnaW5hbFZhbHVlO1xuXG4gICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc3R5bGUsIG9yaWdpbmFsUHJvcCkgfHwgb3JpZ2luYWxWYWx1ZSA9PSBudWxsKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9IC8vIENvbnZlcnQgc2hhZG93IHN0eWxlc1xuXG5cbiAgICBpZiAocHJvcCA9PT0gJ3NoYWRvd0NvbG9yJyB8fCBwcm9wID09PSAnc2hhZG93T2Zmc2V0JyB8fCBwcm9wID09PSAnc2hhZG93T3BhY2l0eScgfHwgcHJvcCA9PT0gJ3NoYWRvd1JhZGl1cycpIHtcbiAgICAgIHZhciBib3hTaGFkb3dWYWx1ZSA9IGNyZWF0ZUJveFNoYWRvd1ZhbHVlKHN0eWxlKTtcblxuICAgICAgaWYgKGJveFNoYWRvd1ZhbHVlICE9IG51bGwgJiYgbmV4dFN0eWxlLmJveFNoYWRvdyA9PSBudWxsKSB7XG4gICAgICAgIHZhciBib3hTaGFkb3cgPSBzdHlsZS5ib3hTaGFkb3c7XG4gICAgICAgIHByb3AgPSAnYm94U2hhZG93JztcbiAgICAgICAgdmFsdWUgPSBib3hTaGFkb3cgPyBib3hTaGFkb3cgKyBcIiwgXCIgKyBib3hTaGFkb3dWYWx1ZSA6IGJveFNoYWRvd1ZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfSAvLyBDb252ZXJ0IHRleHQgc2hhZG93IHN0eWxlc1xuXG5cbiAgICBpZiAocHJvcCA9PT0gJ3RleHRTaGFkb3dDb2xvcicgfHwgcHJvcCA9PT0gJ3RleHRTaGFkb3dPZmZzZXQnIHx8IHByb3AgPT09ICd0ZXh0U2hhZG93UmFkaXVzJykge1xuICAgICAgdmFyIHRleHRTaGFkb3dWYWx1ZSA9IGNyZWF0ZVRleHRTaGFkb3dWYWx1ZShzdHlsZSk7XG5cbiAgICAgIGlmICh0ZXh0U2hhZG93VmFsdWUgIT0gbnVsbCAmJiBuZXh0U3R5bGUudGV4dFNoYWRvdyA9PSBudWxsKSB7XG4gICAgICAgIHZhciB0ZXh0U2hhZG93ID0gc3R5bGUudGV4dFNoYWRvdztcbiAgICAgICAgcHJvcCA9ICd0ZXh0U2hhZG93JztcbiAgICAgICAgdmFsdWUgPSB0ZXh0U2hhZG93ID8gdGV4dFNoYWRvdyArIFwiLCBcIiArIHRleHRTaGFkb3dWYWx1ZSA6IHRleHRTaGFkb3dWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5leHRTdHlsZVtwcm9wXSA9IHZhbHVlO1xuICB9IC8vICRGbG93SWdub3JlXG5cblxuICByZXR1cm4gbmV4dFN0eWxlO1xufTtcblxuZXhwb3J0cy5wcmVwcm9jZXNzID0gcHJlcHJvY2VzcztcbnZhciBfZGVmYXVsdCA9IHByZXByb2Nlc3M7XG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/preprocess.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/StyleSheet/validate.js': /*!*******************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/StyleSheet/validate.js ***! \*******************************************************************/ /***/ (__unused_webpack_module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports.validate = validate;\n\nvar _postcssValueParser = _interopRequireDefault(__webpack_require__(/*! postcss-value-parser */ "postcss-value-parser"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar invalidShortforms = {\n background: true,\n borderBottom: true,\n borderLeft: true,\n borderRight: true,\n borderTop: true,\n font: true,\n grid: true,\n outline: true,\n textDecoration: true\n};\nvar invalidMultiValueShortforms = {\n flex: true,\n margin: true,\n padding: true,\n borderColor: true,\n borderRadius: true,\n borderStyle: true,\n borderWidth: true,\n marginHorizontal: true,\n marginVertical: true,\n paddingHorizontal: true,\n paddingVertical: true,\n overflow: true,\n overscrollBehavior: true,\n backgroundPosition: true\n};\n\nfunction error(message) {\n console.error(message);\n}\n\nfunction validate(obj) {\n for (var k in obj) {\n var prop = k.trim();\n var value = obj[prop];\n var isInvalid = false;\n\n if (value === null) {\n continue;\n }\n\n if (typeof value === \'string\' && value.indexOf(\'!important\') > -1) {\n error("Invalid style declaration \\"" + prop + ":" + value + "\\". Values cannot include \\"!important\\"");\n isInvalid = true;\n } else {\n var suggestion = \'\';\n\n if (prop === \'animation\' || prop === \'animationName\') {\n suggestion = \'Did you mean "animationKeyframes"?\'; // } else if (prop === \'boxShadow\') {\n // suggestion = \'Did you mean "shadow{Color,Offset,Opacity,Radius}"?\';\n\n isInvalid = true;\n } else if (prop === \'direction\') {\n suggestion = \'Did you mean "writingDirection"?\';\n isInvalid = true;\n } else if (prop === \'verticalAlign\') {\n suggestion = \'Did you mean "textAlignVertical"?\';\n isInvalid = true;\n } else if (invalidShortforms[prop]) {\n suggestion = \'Please use long-form properties.\';\n isInvalid = true;\n } else if (invalidMultiValueShortforms[prop]) {\n if (typeof value === \'string\' && (0, _postcssValueParser.default)(value).nodes.length > 1) {\n suggestion = "Value is \\"" + value + "\\" but only single values are supported.";\n isInvalid = true;\n }\n }\n\n if (suggestion !== \'\') {\n error("Invalid style property of \\"" + prop + "\\". " + suggestion);\n }\n }\n\n if (isInvalid) {\n delete obj[k];\n }\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1N0eWxlU2hlZXQvdmFsaWRhdGUuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGdCQUFnQjs7QUFFaEIsaURBQWlELG1CQUFPLENBQUMsa0RBQXNCOztBQUUvRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQSwyREFBMkQsS0FBSztBQUNoRSwrQ0FBK0MsNEJBQTRCOztBQUUzRTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvZXhwb3J0cy9TdHlsZVNoZWV0L3ZhbGlkYXRlLmpzPzIzYmQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLnZhbGlkYXRlID0gdmFsaWRhdGU7XG5cbnZhciBfcG9zdGNzc1ZhbHVlUGFyc2VyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwicG9zdGNzcy12YWx1ZS1wYXJzZXJcIikpO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgTmljb2xhcyBHYWxsYWdoZXIuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cbnZhciBpbnZhbGlkU2hvcnRmb3JtcyA9IHtcbiAgYmFja2dyb3VuZDogdHJ1ZSxcbiAgYm9yZGVyQm90dG9tOiB0cnVlLFxuICBib3JkZXJMZWZ0OiB0cnVlLFxuICBib3JkZXJSaWdodDogdHJ1ZSxcbiAgYm9yZGVyVG9wOiB0cnVlLFxuICBmb250OiB0cnVlLFxuICBncmlkOiB0cnVlLFxuICBvdXRsaW5lOiB0cnVlLFxuICB0ZXh0RGVjb3JhdGlvbjogdHJ1ZVxufTtcbnZhciBpbnZhbGlkTXVsdGlWYWx1ZVNob3J0Zm9ybXMgPSB7XG4gIGZsZXg6IHRydWUsXG4gIG1hcmdpbjogdHJ1ZSxcbiAgcGFkZGluZzogdHJ1ZSxcbiAgYm9yZGVyQ29sb3I6IHRydWUsXG4gIGJvcmRlclJhZGl1czogdHJ1ZSxcbiAgYm9yZGVyU3R5bGU6IHRydWUsXG4gIGJvcmRlcldpZHRoOiB0cnVlLFxuICBtYXJnaW5Ib3Jpem9udGFsOiB0cnVlLFxuICBtYXJnaW5WZXJ0aWNhbDogdHJ1ZSxcbiAgcGFkZGluZ0hvcml6b250YWw6IHRydWUsXG4gIHBhZGRpbmdWZXJ0aWNhbDogdHJ1ZSxcbiAgb3ZlcmZsb3c6IHRydWUsXG4gIG92ZXJzY3JvbGxCZWhhdmlvcjogdHJ1ZSxcbiAgYmFja2dyb3VuZFBvc2l0aW9uOiB0cnVlXG59O1xuXG5mdW5jdGlvbiBlcnJvcihtZXNzYWdlKSB7XG4gIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlKG9iaikge1xuICBmb3IgKHZhciBrIGluIG9iaikge1xuICAgIHZhciBwcm9wID0gay50cmltKCk7XG4gICAgdmFyIHZhbHVlID0gb2JqW3Byb3BdO1xuICAgIHZhciBpc0ludmFsaWQgPSBmYWxzZTtcblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUuaW5kZXhPZignIWltcG9ydGFudCcpID4gLTEpIHtcbiAgICAgIGVycm9yKFwiSW52YWxpZCBzdHlsZSBkZWNsYXJhdGlvbiBcXFwiXCIgKyBwcm9wICsgXCI6XCIgKyB2YWx1ZSArIFwiXFxcIi4gVmFsdWVzIGNhbm5vdCBpbmNsdWRlIFxcXCIhaW1wb3J0YW50XFxcIlwiKTtcbiAgICAgIGlzSW52YWxpZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBzdWdnZXN0aW9uID0gJyc7XG5cbiAgICAgIGlmIChwcm9wID09PSAnYW5pbWF0aW9uJyB8fCBwcm9wID09PSAnYW5pbWF0aW9uTmFtZScpIHtcbiAgICAgICAgc3VnZ2VzdGlvbiA9ICdEaWQgeW91IG1lYW4gXCJhbmltYXRpb25LZXlmcmFtZXNcIj8nOyAvLyB9IGVsc2UgaWYgKHByb3AgPT09ICdib3hTaGFkb3cnKSB7XG4gICAgICAgIC8vICBzdWdnZXN0aW9uID0gJ0RpZCB5b3UgbWVhbiBcInNoYWRvd3tDb2xvcixPZmZzZXQsT3BhY2l0eSxSYWRpdXN9XCI/JztcblxuICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChwcm9wID09PSAnZGlyZWN0aW9uJykge1xuICAgICAgICBzdWdnZXN0aW9uID0gJ0RpZCB5b3UgbWVhbiBcIndyaXRpbmdEaXJlY3Rpb25cIj8nO1xuICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChwcm9wID09PSAndmVydGljYWxBbGlnbicpIHtcbiAgICAgICAgc3VnZ2VzdGlvbiA9ICdEaWQgeW91IG1lYW4gXCJ0ZXh0QWxpZ25WZXJ0aWNhbFwiPyc7XG4gICAgICAgIGlzSW52YWxpZCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGludmFsaWRTaG9ydGZvcm1zW3Byb3BdKSB7XG4gICAgICAgIHN1Z2dlc3Rpb24gPSAnUGxlYXNlIHVzZSBsb25nLWZvcm0gcHJvcGVydGllcy4nO1xuICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChpbnZhbGlkTXVsdGlWYWx1ZVNob3J0Zm9ybXNbcHJvcF0pIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgKDAsIF9wb3N0Y3NzVmFsdWVQYXJzZXIuZGVmYXVsdCkodmFsdWUpLm5vZGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICBzdWdnZXN0aW9uID0gXCJWYWx1ZSBpcyBcXFwiXCIgKyB2YWx1ZSArIFwiXFxcIiBidXQgb25seSBzaW5nbGUgdmFsdWVzIGFyZSBzdXBwb3J0ZWQuXCI7XG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc3VnZ2VzdGlvbiAhPT0gJycpIHtcbiAgICAgICAgZXJyb3IoXCJJbnZhbGlkIHN0eWxlIHByb3BlcnR5IG9mIFxcXCJcIiArIHByb3AgKyBcIlxcXCIuIFwiICsgc3VnZ2VzdGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGlzSW52YWxpZCkge1xuICAgICAgZGVsZXRlIG9ialtrXTtcbiAgICB9XG4gIH1cbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/StyleSheet/validate.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/Text/TextAncestorContext.js': /*!************************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/Text/TextAncestorContext.js ***! \************************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _react = __webpack_require__(/*! react */ "react");\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar TextAncestorContext = /*#__PURE__*/(0, _react.createContext)(false);\nvar _default = TextAncestorContext;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1RleHQvVGV4dEFuY2VzdG9yQ29udGV4dC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWYsYUFBYSxtQkFBTyxDQUFDLG9CQUFPOztBQUU1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvZXhwb3J0cy9UZXh0L1RleHRBbmNlc3RvckNvbnRleHQuanM/N2MyNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9yZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgVGV4dEFuY2VzdG9yQ29udGV4dCA9IC8qI19fUFVSRV9fKi8oMCwgX3JlYWN0LmNyZWF0ZUNvbnRleHQpKGZhbHNlKTtcbnZhciBfZGVmYXVsdCA9IFRleHRBbmNlc3RvckNvbnRleHQ7XG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDtcbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/Text/TextAncestorContext.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/Text/index.js': /*!**********************************************************!*\ !*** ../react-native-web/dist/cjs/exports/Text/index.js ***! \**********************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nvar _interopRequireWildcard = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ "../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectSpread2 */ "../../node_modules/@babel/runtime/helpers/objectSpread2.js"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ "../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"));\n\nvar React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));\n\nvar _createElement = _interopRequireDefault(__webpack_require__(/*! ../createElement */ "../react-native-web/dist/cjs/exports/createElement/index.js"));\n\nvar forwardedProps = _interopRequireWildcard(__webpack_require__(/*! ../../modules/forwardedProps */ "../react-native-web/dist/cjs/modules/forwardedProps/index.js"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! ../../modules/pick */ "../react-native-web/dist/cjs/modules/pick/index.js"));\n\nvar _useElementLayout = _interopRequireDefault(__webpack_require__(/*! ../../modules/useElementLayout */ "../react-native-web/dist/cjs/modules/useElementLayout/index.js"));\n\nvar _useMergeRefs = _interopRequireDefault(__webpack_require__(/*! ../../modules/useMergeRefs */ "../react-native-web/dist/cjs/modules/useMergeRefs/index.js"));\n\nvar _usePlatformMethods = _interopRequireDefault(__webpack_require__(/*! ../../modules/usePlatformMethods */ "../react-native-web/dist/cjs/modules/usePlatformMethods/index.js"));\n\nvar _useResponderEvents = _interopRequireDefault(__webpack_require__(/*! ../../modules/useResponderEvents */ "../react-native-web/dist/cjs/modules/useResponderEvents/index.js"));\n\nvar _StyleSheet = _interopRequireDefault(__webpack_require__(/*! ../StyleSheet */ "../react-native-web/dist/cjs/exports/StyleSheet/index.js"));\n\nvar _TextAncestorContext = _interopRequireDefault(__webpack_require__(/*! ./TextAncestorContext */ "../react-native-web/dist/cjs/exports/Text/TextAncestorContext.js"));\n\nvar _useLocale = __webpack_require__(/*! ../../modules/useLocale */ "../react-native-web/dist/cjs/modules/useLocale/index.js");\n\nvar _excluded = ["hrefAttrs", "numberOfLines", "onClick", "onLayout", "onPress", "onMoveShouldSetResponder", "onMoveShouldSetResponderCapture", "onResponderEnd", "onResponderGrant", "onResponderMove", "onResponderReject", "onResponderRelease", "onResponderStart", "onResponderTerminate", "onResponderTerminationRequest", "onScrollShouldSetResponder", "onScrollShouldSetResponderCapture", "onSelectionChangeShouldSetResponder", "onSelectionChangeShouldSetResponderCapture", "onStartShouldSetResponder", "onStartShouldSetResponderCapture", "selectable"];\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n pointerEvents: true\n});\n\nvar pickProps = props => (0, _pick.default)(props, forwardPropsList);\n\nvar Text = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n numberOfLines = props.numberOfLines,\n onClick = props.onClick,\n onLayout = props.onLayout,\n onPress = props.onPress,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n selectable = props.selectable,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n var hasTextAncestor = React.useContext(_TextAncestorContext.default);\n var hostRef = React.useRef(null);\n\n var _useLocaleContext = (0, _useLocale.useLocaleContext)(),\n contextDirection = _useLocaleContext.direction;\n\n (0, _useElementLayout.default)(hostRef, onLayout);\n (0, _useResponderEvents.default)(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(e => {\n if (onClick != null) {\n onClick(e);\n } else if (onPress != null) {\n e.stopPropagation();\n onPress(e);\n }\n }, [onClick, onPress]);\n var component = hasTextAncestor ? \'span\' : \'div\';\n var langDirection = props.lang != null ? (0, _useLocale.getLocaleDirection)(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection; // \'auto\' by default allows browsers to infer writing direction (root elements only)\n\n if (!hasTextAncestor) {\n supportedProps.dir = componentDirection != null ? componentDirection : \'auto\';\n }\n\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n\n supportedProps.style = [numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, hasTextAncestor === true ? styles.textHasAncestor$raw : styles.text$raw, numberOfLines === 1 && styles.textOneLine, numberOfLines != null && numberOfLines > 1 && styles.textMultiLine, props.style, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n\n if (props.href != null) {\n component = \'a\';\n\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n\n if (download != null) {\n supportedProps.download = download;\n }\n\n if (rel != null) {\n supportedProps.rel = rel;\n }\n\n if (typeof target === \'string\') {\n supportedProps.target = target.charAt(0) !== \'_\' ? \'_\' + target : target;\n }\n }\n }\n\n var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps);\n var setRef = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n var element = (0, _createElement.default)(component, supportedProps, {\n writingDirection\n });\n return hasTextAncestor ? element : /*#__PURE__*/React.createElement(_TextAncestorContext.default.Provider, {\n value: true\n }, element);\n});\nText.displayName = \'Text\';\nvar textStyle = {\n backgroundColor: \'transparent\',\n border: \'0 solid black\',\n boxSizing: \'border-box\',\n color: \'black\',\n display: \'inline\',\n font: \'14px System\',\n listStyle: \'none\',\n margin: 0,\n padding: 0,\n textAlign: \'inherit\',\n textDecoration: \'none\',\n whiteSpace: \'pre-wrap\',\n wordWrap: \'break-word\'\n};\n\nvar styles = _StyleSheet.default.create({\n text$raw: textStyle,\n textHasAncestor$raw: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, textStyle), {}, {\n color: \'inherit\',\n font: \'inherit\',\n whiteSpace: \'inherit\'\n }),\n textOneLine: {\n maxWidth: \'100%\',\n overflow: \'hidden\',\n textOverflow: \'ellipsis\',\n whiteSpace: \'nowrap\',\n wordWrap: \'normal\'\n },\n // See #13\n textMultiLine: {\n display: \'-webkit-box\',\n maxWidth: \'100%\',\n overflow: \'hidden\',\n textOverflow: \'ellipsis\',\n WebkitBoxOrient: \'vertical\'\n },\n notSelectable: {\n userSelect: \'none\'\n },\n selectable: {\n userSelect: \'text\'\n },\n pressable: {\n cursor: \'pointer\'\n }\n});\n\nvar _default = Text;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1RleHQvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsOEJBQThCLDRKQUFnRTs7QUFFOUYsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmLDRDQUE0QyxtQkFBTyxDQUFDLHdHQUFzQzs7QUFFMUYsNERBQTRELG1CQUFPLENBQUMsc0lBQXFEOztBQUV6SCxvQ0FBb0MsbUJBQU8sQ0FBQyxvQkFBTzs7QUFFbkQsNENBQTRDLG1CQUFPLENBQUMscUZBQWtCOztBQUV0RSw2Q0FBNkMsbUJBQU8sQ0FBQyxrR0FBOEI7O0FBRW5GLG1DQUFtQyxtQkFBTyxDQUFDLDhFQUFvQjs7QUFFL0QsK0NBQStDLG1CQUFPLENBQUMsc0dBQWdDOztBQUV2RiwyQ0FBMkMsbUJBQU8sQ0FBQyw4RkFBNEI7O0FBRS9FLGlEQUFpRCxtQkFBTyxDQUFDLDBHQUFrQzs7QUFFM0YsaURBQWlELG1CQUFPLENBQUMsMEdBQWtDOztBQUUzRix5Q0FBeUMsbUJBQU8sQ0FBQywrRUFBZTs7QUFFaEUsa0RBQWtELG1CQUFPLENBQUMsK0ZBQXVCOztBQUVqRixpQkFBaUIsbUJBQU8sQ0FBQyx3RkFBeUI7O0FBRWxEO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7O0FBRTNDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaUZBQWlGLGdCQUFnQjtBQUNqRztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0Esa0JBQWU7QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1RleHQvaW5kZXguanM/ODg5OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHRcIikuZGVmYXVsdDtcblxudmFyIF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVXaWxkY2FyZFwiKS5kZWZhdWx0O1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG52YXIgX29iamVjdFNwcmVhZDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZDJcIikpO1xuXG52YXIgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlXCIpKTtcblxudmFyIFJlYWN0ID0gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQocmVxdWlyZShcInJlYWN0XCIpKTtcblxudmFyIF9jcmVhdGVFbGVtZW50ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vY3JlYXRlRWxlbWVudFwiKSk7XG5cbnZhciBmb3J3YXJkZWRQcm9wcyA9IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKHJlcXVpcmUoXCIuLi8uLi9tb2R1bGVzL2ZvcndhcmRlZFByb3BzXCIpKTtcblxudmFyIF9waWNrID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vbW9kdWxlcy9waWNrXCIpKTtcblxudmFyIF91c2VFbGVtZW50TGF5b3V0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vbW9kdWxlcy91c2VFbGVtZW50TGF5b3V0XCIpKTtcblxudmFyIF91c2VNZXJnZVJlZnMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9tb2R1bGVzL3VzZU1lcmdlUmVmc1wiKSk7XG5cbnZhciBfdXNlUGxhdGZvcm1NZXRob2RzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vbW9kdWxlcy91c2VQbGF0Zm9ybU1ldGhvZHNcIikpO1xuXG52YXIgX3VzZVJlc3BvbmRlckV2ZW50cyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL21vZHVsZXMvdXNlUmVzcG9uZGVyRXZlbnRzXCIpKTtcblxudmFyIF9TdHlsZVNoZWV0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vU3R5bGVTaGVldFwiKSk7XG5cbnZhciBfVGV4dEFuY2VzdG9yQ29udGV4dCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vVGV4dEFuY2VzdG9yQ29udGV4dFwiKSk7XG5cbnZhciBfdXNlTG9jYWxlID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZXMvdXNlTG9jYWxlXCIpO1xuXG52YXIgX2V4Y2x1ZGVkID0gW1wiaHJlZkF0dHJzXCIsIFwibnVtYmVyT2ZMaW5lc1wiLCBcIm9uQ2xpY2tcIiwgXCJvbkxheW91dFwiLCBcIm9uUHJlc3NcIiwgXCJvbk1vdmVTaG91bGRTZXRSZXNwb25kZXJcIiwgXCJvbk1vdmVTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlXCIsIFwib25SZXNwb25kZXJFbmRcIiwgXCJvblJlc3BvbmRlckdyYW50XCIsIFwib25SZXNwb25kZXJNb3ZlXCIsIFwib25SZXNwb25kZXJSZWplY3RcIiwgXCJvblJlc3BvbmRlclJlbGVhc2VcIiwgXCJvblJlc3BvbmRlclN0YXJ0XCIsIFwib25SZXNwb25kZXJUZXJtaW5hdGVcIiwgXCJvblJlc3BvbmRlclRlcm1pbmF0aW9uUmVxdWVzdFwiLCBcIm9uU2Nyb2xsU2hvdWxkU2V0UmVzcG9uZGVyXCIsIFwib25TY3JvbGxTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlXCIsIFwib25TZWxlY3Rpb25DaGFuZ2VTaG91bGRTZXRSZXNwb25kZXJcIiwgXCJvblNlbGVjdGlvbkNoYW5nZVNob3VsZFNldFJlc3BvbmRlckNhcHR1cmVcIiwgXCJvblN0YXJ0U2hvdWxkU2V0UmVzcG9uZGVyXCIsIFwib25TdGFydFNob3VsZFNldFJlc3BvbmRlckNhcHR1cmVcIiwgXCJzZWxlY3RhYmxlXCJdO1xudmFyIGZvcndhcmRQcm9wc0xpc3QgPSBPYmplY3QuYXNzaWduKHt9LCBmb3J3YXJkZWRQcm9wcy5kZWZhdWx0UHJvcHMsIGZvcndhcmRlZFByb3BzLmFjY2Vzc2liaWxpdHlQcm9wcywgZm9yd2FyZGVkUHJvcHMuY2xpY2tQcm9wcywgZm9yd2FyZGVkUHJvcHMuZm9jdXNQcm9wcywgZm9yd2FyZGVkUHJvcHMua2V5Ym9hcmRQcm9wcywgZm9yd2FyZGVkUHJvcHMubW91c2VQcm9wcywgZm9yd2FyZGVkUHJvcHMudG91Y2hQcm9wcywgZm9yd2FyZGVkUHJvcHMuc3R5bGVQcm9wcywge1xuICBocmVmOiB0cnVlLFxuICBsYW5nOiB0cnVlLFxuICBwb2ludGVyRXZlbnRzOiB0cnVlXG59KTtcblxudmFyIHBpY2tQcm9wcyA9IHByb3BzID0+ICgwLCBfcGljay5kZWZhdWx0KShwcm9wcywgZm9yd2FyZFByb3BzTGlzdCk7XG5cbnZhciBUZXh0ID0gLyojX19QVVJFX18qL1JlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgdmFyIGhyZWZBdHRycyA9IHByb3BzLmhyZWZBdHRycyxcbiAgICAgIG51bWJlck9mTGluZXMgPSBwcm9wcy5udW1iZXJPZkxpbmVzLFxuICAgICAgb25DbGljayA9IHByb3BzLm9uQ2xpY2ssXG4gICAgICBvbkxheW91dCA9IHByb3BzLm9uTGF5b3V0LFxuICAgICAgb25QcmVzcyA9IHByb3BzLm9uUHJlc3MsXG4gICAgICBvbk1vdmVTaG91bGRTZXRSZXNwb25kZXIgPSBwcm9wcy5vbk1vdmVTaG91bGRTZXRSZXNwb25kZXIsXG4gICAgICBvbk1vdmVTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlID0gcHJvcHMub25Nb3ZlU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZSxcbiAgICAgIG9uUmVzcG9uZGVyRW5kID0gcHJvcHMub25SZXNwb25kZXJFbmQsXG4gICAgICBvblJlc3BvbmRlckdyYW50ID0gcHJvcHMub25SZXNwb25kZXJHcmFudCxcbiAgICAgIG9uUmVzcG9uZGVyTW92ZSA9IHByb3BzLm9uUmVzcG9uZGVyTW92ZSxcbiAgICAgIG9uUmVzcG9uZGVyUmVqZWN0ID0gcHJvcHMub25SZXNwb25kZXJSZWplY3QsXG4gICAgICBvblJlc3BvbmRlclJlbGVhc2UgPSBwcm9wcy5vblJlc3BvbmRlclJlbGVhc2UsXG4gICAgICBvblJlc3BvbmRlclN0YXJ0ID0gcHJvcHMub25SZXNwb25kZXJTdGFydCxcbiAgICAgIG9uUmVzcG9uZGVyVGVybWluYXRlID0gcHJvcHMub25SZXNwb25kZXJUZXJtaW5hdGUsXG4gICAgICBvblJlc3BvbmRlclRlcm1pbmF0aW9uUmVxdWVzdCA9IHByb3BzLm9uUmVzcG9uZGVyVGVybWluYXRpb25SZXF1ZXN0LFxuICAgICAgb25TY3JvbGxTaG91bGRTZXRSZXNwb25kZXIgPSBwcm9wcy5vblNjcm9sbFNob3VsZFNldFJlc3BvbmRlcixcbiAgICAgIG9uU2Nyb2xsU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZSA9IHByb3BzLm9uU2Nyb2xsU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZSxcbiAgICAgIG9uU2VsZWN0aW9uQ2hhbmdlU2hvdWxkU2V0UmVzcG9uZGVyID0gcHJvcHMub25TZWxlY3Rpb25DaGFuZ2VTaG91bGRTZXRSZXNwb25kZXIsXG4gICAgICBvblNlbGVjdGlvbkNoYW5nZVNob3VsZFNldFJlc3BvbmRlckNhcHR1cmUgPSBwcm9wcy5vblNlbGVjdGlvbkNoYW5nZVNob3VsZFNldFJlc3BvbmRlckNhcHR1cmUsXG4gICAgICBvblN0YXJ0U2hvdWxkU2V0UmVzcG9uZGVyID0gcHJvcHMub25TdGFydFNob3VsZFNldFJlc3BvbmRlcixcbiAgICAgIG9uU3RhcnRTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlID0gcHJvcHMub25TdGFydFNob3VsZFNldFJlc3BvbmRlckNhcHR1cmUsXG4gICAgICBzZWxlY3RhYmxlID0gcHJvcHMuc2VsZWN0YWJsZSxcbiAgICAgIHJlc3QgPSAoMCwgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UyLmRlZmF1bHQpKHByb3BzLCBfZXhjbHVkZWQpO1xuICB2YXIgaGFzVGV4dEFuY2VzdG9yID0gUmVhY3QudXNlQ29udGV4dChfVGV4dEFuY2VzdG9yQ29udGV4dC5kZWZhdWx0KTtcbiAgdmFyIGhvc3RSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG5cbiAgdmFyIF91c2VMb2NhbGVDb250ZXh0ID0gKDAsIF91c2VMb2NhbGUudXNlTG9jYWxlQ29udGV4dCkoKSxcbiAgICAgIGNvbnRleHREaXJlY3Rpb24gPSBfdXNlTG9jYWxlQ29udGV4dC5kaXJlY3Rpb247XG5cbiAgKDAsIF91c2VFbGVtZW50TGF5b3V0LmRlZmF1bHQpKGhvc3RSZWYsIG9uTGF5b3V0KTtcbiAgKDAsIF91c2VSZXNwb25kZXJFdmVudHMuZGVmYXVsdCkoaG9zdFJlZiwge1xuICAgIG9uTW92ZVNob3VsZFNldFJlc3BvbmRlcixcbiAgICBvbk1vdmVTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlLFxuICAgIG9uUmVzcG9uZGVyRW5kLFxuICAgIG9uUmVzcG9uZGVyR3JhbnQsXG4gICAgb25SZXNwb25kZXJNb3ZlLFxuICAgIG9uUmVzcG9uZGVyUmVqZWN0LFxuICAgIG9uUmVzcG9uZGVyUmVsZWFzZSxcbiAgICBvblJlc3BvbmRlclN0YXJ0LFxuICAgIG9uUmVzcG9uZGVyVGVybWluYXRlLFxuICAgIG9uUmVzcG9uZGVyVGVybWluYXRpb25SZXF1ZXN0LFxuICAgIG9uU2Nyb2xsU2hvdWxkU2V0UmVzcG9uZGVyLFxuICAgIG9uU2Nyb2xsU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZSxcbiAgICBvblNlbGVjdGlvbkNoYW5nZVNob3VsZFNldFJlc3BvbmRlcixcbiAgICBvblNlbGVjdGlvbkNoYW5nZVNob3VsZFNldFJlc3BvbmRlckNhcHR1cmUsXG4gICAgb25TdGFydFNob3VsZFNldFJlc3BvbmRlcixcbiAgICBvblN0YXJ0U2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZVxuICB9KTtcbiAgdmFyIGhhbmRsZUNsaWNrID0gUmVhY3QudXNlQ2FsbGJhY2soZSA9PiB7XG4gICAgaWYgKG9uQ2xpY2sgIT0gbnVsbCkge1xuICAgICAgb25DbGljayhlKTtcbiAgICB9IGVsc2UgaWYgKG9uUHJlc3MgIT0gbnVsbCkge1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIG9uUHJlc3MoZSk7XG4gICAgfVxuICB9LCBbb25DbGljaywgb25QcmVzc10pO1xuICB2YXIgY29tcG9uZW50ID0gaGFzVGV4dEFuY2VzdG9yID8gJ3NwYW4nIDogJ2Rpdic7XG4gIHZhciBsYW5nRGlyZWN0aW9uID0gcHJvcHMubGFuZyAhPSBudWxsID8gKDAsIF91c2VMb2NhbGUuZ2V0TG9jYWxlRGlyZWN0aW9uKShwcm9wcy5sYW5nKSA6IG51bGw7XG4gIHZhciBjb21wb25lbnREaXJlY3Rpb24gPSBwcm9wcy5kaXIgfHwgbGFuZ0RpcmVjdGlvbjtcbiAgdmFyIHdyaXRpbmdEaXJlY3Rpb24gPSBjb21wb25lbnREaXJlY3Rpb24gfHwgY29udGV4dERpcmVjdGlvbjtcbiAgdmFyIHN1cHBvcnRlZFByb3BzID0gcGlja1Byb3BzKHJlc3QpO1xuICBzdXBwb3J0ZWRQcm9wcy5kaXIgPSBjb21wb25lbnREaXJlY3Rpb247IC8vICdhdXRvJyBieSBkZWZhdWx0IGFsbG93cyBicm93c2VycyB0byBpbmZlciB3cml0aW5nIGRpcmVjdGlvbiAocm9vdCBlbGVtZW50cyBvbmx5KVxuXG4gIGlmICghaGFzVGV4dEFuY2VzdG9yKSB7XG4gICAgc3VwcG9ydGVkUHJvcHMuZGlyID0gY29tcG9uZW50RGlyZWN0aW9uICE9IG51bGwgPyBjb21wb25lbnREaXJlY3Rpb24gOiAnYXV0byc7XG4gIH1cblxuICBpZiAob25DbGljayB8fCBvblByZXNzKSB7XG4gICAgc3VwcG9ydGVkUHJvcHMub25DbGljayA9IGhhbmRsZUNsaWNrO1xuICB9XG5cbiAgc3VwcG9ydGVkUHJvcHMuc3R5bGUgPSBbbnVtYmVyT2ZMaW5lcyAhPSBudWxsICYmIG51bWJlck9mTGluZXMgPiAxICYmIHtcbiAgICBXZWJraXRMaW5lQ2xhbXA6IG51bWJlck9mTGluZXNcbiAgfSwgaGFzVGV4dEFuY2VzdG9yID09PSB0cnVlID8gc3R5bGVzLnRleHRIYXNBbmNlc3RvciRyYXcgOiBzdHlsZXMudGV4dCRyYXcsIG51bWJlck9mTGluZXMgPT09IDEgJiYgc3R5bGVzLnRleHRPbmVMaW5lLCBudW1iZXJPZkxpbmVzICE9IG51bGwgJiYgbnVtYmVyT2ZMaW5lcyA+IDEgJiYgc3R5bGVzLnRleHRNdWx0aUxpbmUsIHByb3BzLnN0eWxlLCBzZWxlY3RhYmxlID09PSB0cnVlICYmIHN0eWxlcy5zZWxlY3RhYmxlLCBzZWxlY3RhYmxlID09PSBmYWxzZSAmJiBzdHlsZXMubm90U2VsZWN0YWJsZSwgb25QcmVzcyAmJiBzdHlsZXMucHJlc3NhYmxlXTtcblxuICBpZiAocHJvcHMuaHJlZiAhPSBudWxsKSB7XG4gICAgY29tcG9uZW50ID0gJ2EnO1xuXG4gICAgaWYgKGhyZWZBdHRycyAhPSBudWxsKSB7XG4gICAgICB2YXIgZG93bmxvYWQgPSBocmVmQXR0cnMuZG93bmxvYWQsXG4gICAgICAgICAgcmVsID0gaHJlZkF0dHJzLnJlbCxcbiAgICAgICAgICB0YXJnZXQgPSBocmVmQXR0cnMudGFyZ2V0O1xuXG4gICAgICBpZiAoZG93bmxvYWQgIT0gbnVsbCkge1xuICAgICAgICBzdXBwb3J0ZWRQcm9wcy5kb3dubG9hZCA9IGRvd25sb2FkO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVsICE9IG51bGwpIHtcbiAgICAgICAgc3VwcG9ydGVkUHJvcHMucmVsID0gcmVsO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgc3VwcG9ydGVkUHJvcHMudGFyZ2V0ID0gdGFyZ2V0LmNoYXJBdCgwKSAhPT0gJ18nID8gJ18nICsgdGFyZ2V0IDogdGFyZ2V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBwbGF0Zm9ybU1ldGhvZHNSZWYgPSAoMCwgX3VzZVBsYXRmb3JtTWV0aG9kcy5kZWZhdWx0KShzdXBwb3J0ZWRQcm9wcyk7XG4gIHZhciBzZXRSZWYgPSAoMCwgX3VzZU1lcmdlUmVmcy5kZWZhdWx0KShob3N0UmVmLCBwbGF0Zm9ybU1ldGhvZHNSZWYsIGZvcndhcmRlZFJlZik7XG4gIHN1cHBvcnRlZFByb3BzLnJlZiA9IHNldFJlZjtcbiAgdmFyIGVsZW1lbnQgPSAoMCwgX2NyZWF0ZUVsZW1lbnQuZGVmYXVsdCkoY29tcG9uZW50LCBzdXBwb3J0ZWRQcm9wcywge1xuICAgIHdyaXRpbmdEaXJlY3Rpb25cbiAgfSk7XG4gIHJldHVybiBoYXNUZXh0QW5jZXN0b3IgPyBlbGVtZW50IDogLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoX1RleHRBbmNlc3RvckNvbnRleHQuZGVmYXVsdC5Qcm92aWRlciwge1xuICAgIHZhbHVlOiB0cnVlXG4gIH0sIGVsZW1lbnQpO1xufSk7XG5UZXh0LmRpc3BsYXlOYW1lID0gJ1RleHQnO1xudmFyIHRleHRTdHlsZSA9IHtcbiAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICBib3JkZXI6ICcwIHNvbGlkIGJsYWNrJyxcbiAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gIGNvbG9yOiAnYmxhY2snLFxuICBkaXNwbGF5OiAnaW5saW5lJyxcbiAgZm9udDogJzE0cHggU3lzdGVtJyxcbiAgbGlzdFN0eWxlOiAnbm9uZScsXG4gIG1hcmdpbjogMCxcbiAgcGFkZGluZzogMCxcbiAgdGV4dEFsaWduOiAnaW5oZXJpdCcsXG4gIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gIHdoaXRlU3BhY2U6ICdwcmUtd3JhcCcsXG4gIHdvcmRXcmFwOiAnYnJlYWstd29yZCdcbn07XG5cbnZhciBzdHlsZXMgPSBfU3R5bGVTaGVldC5kZWZhdWx0LmNyZWF0ZSh7XG4gIHRleHQkcmF3OiB0ZXh0U3R5bGUsXG4gIHRleHRIYXNBbmNlc3RvciRyYXc6ICgwLCBfb2JqZWN0U3ByZWFkMi5kZWZhdWx0KSgoMCwgX29iamVjdFNwcmVhZDIuZGVmYXVsdCkoe30sIHRleHRTdHlsZSksIHt9LCB7XG4gICAgY29sb3I6ICdpbmhlcml0JyxcbiAgICBmb250OiAnaW5oZXJpdCcsXG4gICAgd2hpdGVTcGFjZTogJ2luaGVyaXQnXG4gIH0pLFxuICB0ZXh0T25lTGluZToge1xuICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICB3b3JkV3JhcDogJ25vcm1hbCdcbiAgfSxcbiAgLy8gU2VlICMxM1xuICB0ZXh0TXVsdGlMaW5lOiB7XG4gICAgZGlzcGxheTogJy13ZWJraXQtYm94JyxcbiAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgV2Via2l0Qm94T3JpZW50OiAndmVydGljYWwnXG4gIH0sXG4gIG5vdFNlbGVjdGFibGU6IHtcbiAgICB1c2VyU2VsZWN0OiAnbm9uZSdcbiAgfSxcbiAgc2VsZWN0YWJsZToge1xuICAgIHVzZXJTZWxlY3Q6ICd0ZXh0J1xuICB9LFxuICBwcmVzc2FibGU6IHtcbiAgICBjdXJzb3I6ICdwb2ludGVyJ1xuICB9XG59KTtcblxudmFyIF9kZWZhdWx0ID0gVGV4dDtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/Text/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/UIManager/index.js': /*!***************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/UIManager/index.js ***! \***************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"../../node_modules/@babel/runtime/helpers/interopRequireDefault.js\")[\"default\"]);\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _getBoundingClientRect = _interopRequireDefault(__webpack_require__(/*! ../../modules/getBoundingClientRect */ \"../react-native-web/dist/cjs/modules/getBoundingClientRect/index.js\"));\n\nvar _setValueForStyles = _interopRequireDefault(__webpack_require__(/*! ../../modules/setValueForStyles */ \"../react-native-web/dist/cjs/modules/setValueForStyles/index.js\"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar getRect = node => {\n // Unlike the DOM's getBoundingClientRect, React Native layout measurements\n // for \"height\" and \"width\" ignore scale transforms.\n // https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model/Determining_the_dimensions_of_elements\n var _getBoundingClientRec = (0, _getBoundingClientRect.default)(node),\n x = _getBoundingClientRec.x,\n y = _getBoundingClientRec.y,\n top = _getBoundingClientRec.top,\n left = _getBoundingClientRec.left;\n\n var width = node.offsetWidth;\n var height = node.offsetHeight;\n return {\n x,\n y,\n width,\n height,\n top,\n left\n };\n};\n\nvar measureLayout = (node, relativeToNativeNode, callback) => {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n\n if (node && relativeNode) {\n setTimeout(() => {\n var relativeRect = (0, _getBoundingClientRect.default)(relativeNode);\n\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }, 0);\n }\n};\n\nvar focusableElements = {\n A: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n\n focus(node) {\n try {\n var name = node.nodeName; // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus, so we don't want to set the value on elements\n // that support keyboard focus by default.\n\n if (node.getAttribute('tabIndex') == null && focusableElements[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n\n node.focus();\n } catch (err) {}\n },\n\n measure(node, callback) {\n measureLayout(node, null, callback);\n },\n\n measureInWindow(node, callback) {\n if (node) {\n setTimeout(() => {\n var _getRect2 = getRect(node),\n height = _getRect2.height,\n left = _getRect2.left,\n top = _getRect2.top,\n width = _getRect2.width;\n\n callback(left, top, width, height);\n }, 0);\n }\n },\n\n measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n measureLayout(node, relativeToNativeNode, onSuccess);\n },\n\n updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n\n var value = props[prop];\n\n switch (prop) {\n case 'style':\n {\n (0, _setValueForStyles.default)(node, value);\n break;\n }\n\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\n\n case 'text':\n case 'value':\n // native platforms use `text` prop to replace text input value\n node.value = value;\n break;\n\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n\n configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n\n // mocks\n setLayoutAnimationEnabledExperimental() {}\n\n};\nvar _default = UIManager;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1VJTWFuYWdlci9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw2QkFBNkIsMEpBQStEOztBQUU1RixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWYsb0RBQW9ELG1CQUFPLENBQUMsZ0hBQXFDOztBQUVqRyxnREFBZ0QsbUJBQU8sQ0FBQyx3R0FBaUM7O0FBRXpGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLEdBQUc7O0FBRUg7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTixHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL2V4cG9ydHMvVUlNYW5hZ2VyL2luZGV4LmpzPzVkZjQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfZ2V0Qm91bmRpbmdDbGllbnRSZWN0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vbW9kdWxlcy9nZXRCb3VuZGluZ0NsaWVudFJlY3RcIikpO1xuXG52YXIgX3NldFZhbHVlRm9yU3R5bGVzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vbW9kdWxlcy9zZXRWYWx1ZUZvclN0eWxlc1wiKSk7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlci5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIGdldFJlY3QgPSBub2RlID0+IHtcbiAgLy8gVW5saWtlIHRoZSBET00ncyBnZXRCb3VuZGluZ0NsaWVudFJlY3QsIFJlYWN0IE5hdGl2ZSBsYXlvdXQgbWVhc3VyZW1lbnRzXG4gIC8vIGZvciBcImhlaWdodFwiIGFuZCBcIndpZHRoXCIgaWdub3JlIHNjYWxlIHRyYW5zZm9ybXMuXG4gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9DU1NfT2JqZWN0X01vZGVsL0RldGVybWluaW5nX3RoZV9kaW1lbnNpb25zX29mX2VsZW1lbnRzXG4gIHZhciBfZ2V0Qm91bmRpbmdDbGllbnRSZWMgPSAoMCwgX2dldEJvdW5kaW5nQ2xpZW50UmVjdC5kZWZhdWx0KShub2RlKSxcbiAgICAgIHggPSBfZ2V0Qm91bmRpbmdDbGllbnRSZWMueCxcbiAgICAgIHkgPSBfZ2V0Qm91bmRpbmdDbGllbnRSZWMueSxcbiAgICAgIHRvcCA9IF9nZXRCb3VuZGluZ0NsaWVudFJlYy50b3AsXG4gICAgICBsZWZ0ID0gX2dldEJvdW5kaW5nQ2xpZW50UmVjLmxlZnQ7XG5cbiAgdmFyIHdpZHRoID0gbm9kZS5vZmZzZXRXaWR0aDtcbiAgdmFyIGhlaWdodCA9IG5vZGUub2Zmc2V0SGVpZ2h0O1xuICByZXR1cm4ge1xuICAgIHgsXG4gICAgeSxcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgdG9wLFxuICAgIGxlZnRcbiAgfTtcbn07XG5cbnZhciBtZWFzdXJlTGF5b3V0ID0gKG5vZGUsIHJlbGF0aXZlVG9OYXRpdmVOb2RlLCBjYWxsYmFjaykgPT4ge1xuICB2YXIgcmVsYXRpdmVOb2RlID0gcmVsYXRpdmVUb05hdGl2ZU5vZGUgfHwgbm9kZSAmJiBub2RlLnBhcmVudE5vZGU7XG5cbiAgaWYgKG5vZGUgJiYgcmVsYXRpdmVOb2RlKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB2YXIgcmVsYXRpdmVSZWN0ID0gKDAsIF9nZXRCb3VuZGluZ0NsaWVudFJlY3QuZGVmYXVsdCkocmVsYXRpdmVOb2RlKTtcblxuICAgICAgdmFyIF9nZXRSZWN0ID0gZ2V0UmVjdChub2RlKSxcbiAgICAgICAgICBoZWlnaHQgPSBfZ2V0UmVjdC5oZWlnaHQsXG4gICAgICAgICAgbGVmdCA9IF9nZXRSZWN0LmxlZnQsXG4gICAgICAgICAgdG9wID0gX2dldFJlY3QudG9wLFxuICAgICAgICAgIHdpZHRoID0gX2dldFJlY3Qud2lkdGg7XG5cbiAgICAgIHZhciB4ID0gbGVmdCAtIHJlbGF0aXZlUmVjdC5sZWZ0O1xuICAgICAgdmFyIHkgPSB0b3AgLSByZWxhdGl2ZVJlY3QudG9wO1xuICAgICAgY2FsbGJhY2soeCwgeSwgd2lkdGgsIGhlaWdodCwgbGVmdCwgdG9wKTtcbiAgICB9LCAwKTtcbiAgfVxufTtcblxudmFyIGZvY3VzYWJsZUVsZW1lbnRzID0ge1xuICBBOiB0cnVlLFxuICBJTlBVVDogdHJ1ZSxcbiAgU0VMRUNUOiB0cnVlLFxuICBURVhUQVJFQTogdHJ1ZVxufTtcbnZhciBVSU1hbmFnZXIgPSB7XG4gIGJsdXIobm9kZSkge1xuICAgIHRyeSB7XG4gICAgICBub2RlLmJsdXIoKTtcbiAgICB9IGNhdGNoIChlcnIpIHt9XG4gIH0sXG5cbiAgZm9jdXMobm9kZSkge1xuICAgIHRyeSB7XG4gICAgICB2YXIgbmFtZSA9IG5vZGUubm9kZU5hbWU7IC8vIEEgdGFiSW5kZXggb2YgLTEgYWxsb3dzIGVsZW1lbnQgdG8gYmUgcHJvZ3JhbW1hdGljYWxseSBmb2N1c2VkIGJ1dFxuICAgICAgLy8gcHJldmVudHMga2V5Ym9hcmQgZm9jdXMsIHNvIHdlIGRvbid0IHdhbnQgdG8gc2V0IHRoZSB2YWx1ZSBvbiBlbGVtZW50c1xuICAgICAgLy8gdGhhdCBzdXBwb3J0IGtleWJvYXJkIGZvY3VzIGJ5IGRlZmF1bHQuXG5cbiAgICAgIGlmIChub2RlLmdldEF0dHJpYnV0ZSgndGFiSW5kZXgnKSA9PSBudWxsICYmIGZvY3VzYWJsZUVsZW1lbnRzW25hbWVdID09IG51bGwpIHtcbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ3RhYkluZGV4JywgJy0xJyk7XG4gICAgICB9XG5cbiAgICAgIG5vZGUuZm9jdXMoKTtcbiAgICB9IGNhdGNoIChlcnIpIHt9XG4gIH0sXG5cbiAgbWVhc3VyZShub2RlLCBjYWxsYmFjaykge1xuICAgIG1lYXN1cmVMYXlvdXQobm9kZSwgbnVsbCwgY2FsbGJhY2spO1xuICB9LFxuXG4gIG1lYXN1cmVJbldpbmRvdyhub2RlLCBjYWxsYmFjaykge1xuICAgIGlmIChub2RlKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdmFyIF9nZXRSZWN0MiA9IGdldFJlY3Qobm9kZSksXG4gICAgICAgICAgICBoZWlnaHQgPSBfZ2V0UmVjdDIuaGVpZ2h0LFxuICAgICAgICAgICAgbGVmdCA9IF9nZXRSZWN0Mi5sZWZ0LFxuICAgICAgICAgICAgdG9wID0gX2dldFJlY3QyLnRvcCxcbiAgICAgICAgICAgIHdpZHRoID0gX2dldFJlY3QyLndpZHRoO1xuXG4gICAgICAgIGNhbGxiYWNrKGxlZnQsIHRvcCwgd2lkdGgsIGhlaWdodCk7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gIH0sXG5cbiAgbWVhc3VyZUxheW91dChub2RlLCByZWxhdGl2ZVRvTmF0aXZlTm9kZSwgb25GYWlsLCBvblN1Y2Nlc3MpIHtcbiAgICBtZWFzdXJlTGF5b3V0KG5vZGUsIHJlbGF0aXZlVG9OYXRpdmVOb2RlLCBvblN1Y2Nlc3MpO1xuICB9LFxuXG4gIHVwZGF0ZVZpZXcobm9kZSwgcHJvcHMpIHtcbiAgICBmb3IgKHZhciBwcm9wIGluIHByb3BzKSB7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywgcHJvcCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciB2YWx1ZSA9IHByb3BzW3Byb3BdO1xuXG4gICAgICBzd2l0Y2ggKHByb3ApIHtcbiAgICAgICAgY2FzZSAnc3R5bGUnOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgICgwLCBfc2V0VmFsdWVGb3JTdHlsZXMuZGVmYXVsdCkobm9kZSwgdmFsdWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgJ2NsYXNzJzpcbiAgICAgICAgY2FzZSAnY2xhc3NOYW1lJzpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCB2YWx1ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICAgICAgICAvLyBuYXRpdmUgcGxhdGZvcm1zIHVzZSBgdGV4dGAgcHJvcCB0byByZXBsYWNlIHRleHQgaW5wdXQgdmFsdWVcbiAgICAgICAgICBub2RlLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZShwcm9wLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIGNvbmZpZ3VyZU5leHRMYXlvdXRBbmltYXRpb24oY29uZmlnLCBvbkFuaW1hdGlvbkRpZEVuZCkge1xuICAgIG9uQW5pbWF0aW9uRGlkRW5kKCk7XG4gIH0sXG5cbiAgLy8gbW9ja3NcbiAgc2V0TGF5b3V0QW5pbWF0aW9uRW5hYmxlZEV4cGVyaW1lbnRhbCgpIHt9XG5cbn07XG52YXIgX2RlZmF1bHQgPSBVSU1hbmFnZXI7XG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDtcbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/UIManager/index.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/View/index.js': /*!**********************************************************!*\ !*** ../react-native-web/dist/cjs/exports/View/index.js ***! \**********************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nvar _interopRequireWildcard = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ "../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ "../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"));\n\nvar React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));\n\nvar _createElement = _interopRequireDefault(__webpack_require__(/*! ../createElement */ "../react-native-web/dist/cjs/exports/createElement/index.js"));\n\nvar forwardedProps = _interopRequireWildcard(__webpack_require__(/*! ../../modules/forwardedProps */ "../react-native-web/dist/cjs/modules/forwardedProps/index.js"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! ../../modules/pick */ "../react-native-web/dist/cjs/modules/pick/index.js"));\n\nvar _useElementLayout = _interopRequireDefault(__webpack_require__(/*! ../../modules/useElementLayout */ "../react-native-web/dist/cjs/modules/useElementLayout/index.js"));\n\nvar _useMergeRefs = _interopRequireDefault(__webpack_require__(/*! ../../modules/useMergeRefs */ "../react-native-web/dist/cjs/modules/useMergeRefs/index.js"));\n\nvar _usePlatformMethods = _interopRequireDefault(__webpack_require__(/*! ../../modules/usePlatformMethods */ "../react-native-web/dist/cjs/modules/usePlatformMethods/index.js"));\n\nvar _useResponderEvents = _interopRequireDefault(__webpack_require__(/*! ../../modules/useResponderEvents */ "../react-native-web/dist/cjs/modules/useResponderEvents/index.js"));\n\nvar _StyleSheet = _interopRequireDefault(__webpack_require__(/*! ../StyleSheet */ "../react-native-web/dist/cjs/exports/StyleSheet/index.js"));\n\nvar _TextAncestorContext = _interopRequireDefault(__webpack_require__(/*! ../Text/TextAncestorContext */ "../react-native-web/dist/cjs/exports/Text/TextAncestorContext.js"));\n\nvar _useLocale = __webpack_require__(/*! ../../modules/useLocale */ "../react-native-web/dist/cjs/modules/useLocale/index.js");\n\nvar _excluded = ["hrefAttrs", "onLayout", "onMoveShouldSetResponder", "onMoveShouldSetResponderCapture", "onResponderEnd", "onResponderGrant", "onResponderMove", "onResponderReject", "onResponderRelease", "onResponderStart", "onResponderTerminate", "onResponderTerminationRequest", "onScrollShouldSetResponder", "onScrollShouldSetResponderCapture", "onSelectionChangeShouldSetResponder", "onSelectionChangeShouldSetResponderCapture", "onStartShouldSetResponder", "onStartShouldSetResponderCapture"];\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n onScroll: true,\n onWheel: true,\n pointerEvents: true\n});\n\nvar pickProps = props => (0, _pick.default)(props, forwardPropsList);\n\nvar View = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n\n if (true) {\n React.Children.toArray(props.children).forEach(item => {\n if (typeof item === \'string\') {\n console.error("Unexpected text node: " + item + ". A text node cannot be a child of a .");\n }\n });\n }\n\n var hasTextAncestor = React.useContext(_TextAncestorContext.default);\n var hostRef = React.useRef(null);\n\n var _useLocaleContext = (0, _useLocale.useLocaleContext)(),\n contextDirection = _useLocaleContext.direction;\n\n (0, _useElementLayout.default)(hostRef, onLayout);\n (0, _useResponderEvents.default)(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var component = \'div\';\n var langDirection = props.lang != null ? (0, _useLocale.getLocaleDirection)(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n supportedProps.style = [styles.view$raw, hasTextAncestor && styles.inline, props.style];\n\n if (props.href != null) {\n component = \'a\';\n\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n\n if (download != null) {\n supportedProps.download = download;\n }\n\n if (rel != null) {\n supportedProps.rel = rel;\n }\n\n if (typeof target === \'string\') {\n supportedProps.target = target.charAt(0) !== \'_\' ? \'_\' + target : target;\n }\n }\n }\n\n var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps);\n var setRef = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return (0, _createElement.default)(component, supportedProps, {\n writingDirection\n });\n});\nView.displayName = \'View\';\n\nvar styles = _StyleSheet.default.create({\n view$raw: {\n alignItems: \'stretch\',\n backgroundColor: \'transparent\',\n border: \'0 solid black\',\n boxSizing: \'border-box\',\n display: \'flex\',\n flexBasis: \'auto\',\n flexDirection: \'column\',\n flexShrink: 0,\n listStyle: \'none\',\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: \'relative\',\n textDecoration: \'none\',\n zIndex: 0\n },\n inline: {\n display: \'inline-flex\'\n }\n});\n\nvar _default = View;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL1ZpZXcvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsOEJBQThCLDRKQUFnRTs7QUFFOUYsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmLDREQUE0RCxtQkFBTyxDQUFDLHNJQUFxRDs7QUFFekgsb0NBQW9DLG1CQUFPLENBQUMsb0JBQU87O0FBRW5ELDRDQUE0QyxtQkFBTyxDQUFDLHFGQUFrQjs7QUFFdEUsNkNBQTZDLG1CQUFPLENBQUMsa0dBQThCOztBQUVuRixtQ0FBbUMsbUJBQU8sQ0FBQyw4RUFBb0I7O0FBRS9ELCtDQUErQyxtQkFBTyxDQUFDLHNHQUFnQzs7QUFFdkYsMkNBQTJDLG1CQUFPLENBQUMsOEZBQTRCOztBQUUvRSxpREFBaUQsbUJBQU8sQ0FBQywwR0FBa0M7O0FBRTNGLGlEQUFpRCxtQkFBTyxDQUFDLDBHQUFrQzs7QUFFM0YseUNBQXlDLG1CQUFPLENBQUMsK0VBQWU7O0FBRWhFLGtEQUFrRCxtQkFBTyxDQUFDLHFHQUE2Qjs7QUFFdkYsaUJBQWlCLG1CQUFPLENBQUMsd0ZBQXlCOztBQUVsRDtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE1BQU0sSUFBcUM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBLGtCQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvZXhwb3J0cy9WaWV3L2luZGV4LmpzP2VhOTciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlV2lsZGNhcmRcIikuZGVmYXVsdDtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZVwiKSk7XG5cbnZhciBSZWFjdCA9IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5cbnZhciBfY3JlYXRlRWxlbWVudCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uL2NyZWF0ZUVsZW1lbnRcIikpO1xuXG52YXIgZm9yd2FyZGVkUHJvcHMgPSBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChyZXF1aXJlKFwiLi4vLi4vbW9kdWxlcy9mb3J3YXJkZWRQcm9wc1wiKSk7XG5cbnZhciBfcGljayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL21vZHVsZXMvcGlja1wiKSk7XG5cbnZhciBfdXNlRWxlbWVudExheW91dCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL21vZHVsZXMvdXNlRWxlbWVudExheW91dFwiKSk7XG5cbnZhciBfdXNlTWVyZ2VSZWZzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vbW9kdWxlcy91c2VNZXJnZVJlZnNcIikpO1xuXG52YXIgX3VzZVBsYXRmb3JtTWV0aG9kcyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL21vZHVsZXMvdXNlUGxhdGZvcm1NZXRob2RzXCIpKTtcblxudmFyIF91c2VSZXNwb25kZXJFdmVudHMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9tb2R1bGVzL3VzZVJlc3BvbmRlckV2ZW50c1wiKSk7XG5cbnZhciBfU3R5bGVTaGVldCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uL1N0eWxlU2hlZXRcIikpO1xuXG52YXIgX1RleHRBbmNlc3RvckNvbnRleHQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9UZXh0L1RleHRBbmNlc3RvckNvbnRleHRcIikpO1xuXG52YXIgX3VzZUxvY2FsZSA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGVzL3VzZUxvY2FsZVwiKTtcblxudmFyIF9leGNsdWRlZCA9IFtcImhyZWZBdHRyc1wiLCBcIm9uTGF5b3V0XCIsIFwib25Nb3ZlU2hvdWxkU2V0UmVzcG9uZGVyXCIsIFwib25Nb3ZlU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZVwiLCBcIm9uUmVzcG9uZGVyRW5kXCIsIFwib25SZXNwb25kZXJHcmFudFwiLCBcIm9uUmVzcG9uZGVyTW92ZVwiLCBcIm9uUmVzcG9uZGVyUmVqZWN0XCIsIFwib25SZXNwb25kZXJSZWxlYXNlXCIsIFwib25SZXNwb25kZXJTdGFydFwiLCBcIm9uUmVzcG9uZGVyVGVybWluYXRlXCIsIFwib25SZXNwb25kZXJUZXJtaW5hdGlvblJlcXVlc3RcIiwgXCJvblNjcm9sbFNob3VsZFNldFJlc3BvbmRlclwiLCBcIm9uU2Nyb2xsU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZVwiLCBcIm9uU2VsZWN0aW9uQ2hhbmdlU2hvdWxkU2V0UmVzcG9uZGVyXCIsIFwib25TZWxlY3Rpb25DaGFuZ2VTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlXCIsIFwib25TdGFydFNob3VsZFNldFJlc3BvbmRlclwiLCBcIm9uU3RhcnRTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlXCJdO1xudmFyIGZvcndhcmRQcm9wc0xpc3QgPSBPYmplY3QuYXNzaWduKHt9LCBmb3J3YXJkZWRQcm9wcy5kZWZhdWx0UHJvcHMsIGZvcndhcmRlZFByb3BzLmFjY2Vzc2liaWxpdHlQcm9wcywgZm9yd2FyZGVkUHJvcHMuY2xpY2tQcm9wcywgZm9yd2FyZGVkUHJvcHMuZGVmYXVsdFByb3BzLCBmb3J3YXJkZWRQcm9wcy5hY2Nlc3NpYmlsaXR5UHJvcHMsIGZvcndhcmRlZFByb3BzLmNsaWNrUHJvcHMsIGZvcndhcmRlZFByb3BzLmZvY3VzUHJvcHMsIGZvcndhcmRlZFByb3BzLmtleWJvYXJkUHJvcHMsIGZvcndhcmRlZFByb3BzLm1vdXNlUHJvcHMsIGZvcndhcmRlZFByb3BzLnRvdWNoUHJvcHMsIGZvcndhcmRlZFByb3BzLnN0eWxlUHJvcHMsIHtcbiAgaHJlZjogdHJ1ZSxcbiAgbGFuZzogdHJ1ZSxcbiAgb25TY3JvbGw6IHRydWUsXG4gIG9uV2hlZWw6IHRydWUsXG4gIHBvaW50ZXJFdmVudHM6IHRydWVcbn0pO1xuXG52YXIgcGlja1Byb3BzID0gcHJvcHMgPT4gKDAsIF9waWNrLmRlZmF1bHQpKHByb3BzLCBmb3J3YXJkUHJvcHNMaXN0KTtcblxudmFyIFZpZXcgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICB2YXIgaHJlZkF0dHJzID0gcHJvcHMuaHJlZkF0dHJzLFxuICAgICAgb25MYXlvdXQgPSBwcm9wcy5vbkxheW91dCxcbiAgICAgIG9uTW92ZVNob3VsZFNldFJlc3BvbmRlciA9IHByb3BzLm9uTW92ZVNob3VsZFNldFJlc3BvbmRlcixcbiAgICAgIG9uTW92ZVNob3VsZFNldFJlc3BvbmRlckNhcHR1cmUgPSBwcm9wcy5vbk1vdmVTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlLFxuICAgICAgb25SZXNwb25kZXJFbmQgPSBwcm9wcy5vblJlc3BvbmRlckVuZCxcbiAgICAgIG9uUmVzcG9uZGVyR3JhbnQgPSBwcm9wcy5vblJlc3BvbmRlckdyYW50LFxuICAgICAgb25SZXNwb25kZXJNb3ZlID0gcHJvcHMub25SZXNwb25kZXJNb3ZlLFxuICAgICAgb25SZXNwb25kZXJSZWplY3QgPSBwcm9wcy5vblJlc3BvbmRlclJlamVjdCxcbiAgICAgIG9uUmVzcG9uZGVyUmVsZWFzZSA9IHByb3BzLm9uUmVzcG9uZGVyUmVsZWFzZSxcbiAgICAgIG9uUmVzcG9uZGVyU3RhcnQgPSBwcm9wcy5vblJlc3BvbmRlclN0YXJ0LFxuICAgICAgb25SZXNwb25kZXJUZXJtaW5hdGUgPSBwcm9wcy5vblJlc3BvbmRlclRlcm1pbmF0ZSxcbiAgICAgIG9uUmVzcG9uZGVyVGVybWluYXRpb25SZXF1ZXN0ID0gcHJvcHMub25SZXNwb25kZXJUZXJtaW5hdGlvblJlcXVlc3QsXG4gICAgICBvblNjcm9sbFNob3VsZFNldFJlc3BvbmRlciA9IHByb3BzLm9uU2Nyb2xsU2hvdWxkU2V0UmVzcG9uZGVyLFxuICAgICAgb25TY3JvbGxTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlID0gcHJvcHMub25TY3JvbGxTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlLFxuICAgICAgb25TZWxlY3Rpb25DaGFuZ2VTaG91bGRTZXRSZXNwb25kZXIgPSBwcm9wcy5vblNlbGVjdGlvbkNoYW5nZVNob3VsZFNldFJlc3BvbmRlcixcbiAgICAgIG9uU2VsZWN0aW9uQ2hhbmdlU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZSA9IHByb3BzLm9uU2VsZWN0aW9uQ2hhbmdlU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZSxcbiAgICAgIG9uU3RhcnRTaG91bGRTZXRSZXNwb25kZXIgPSBwcm9wcy5vblN0YXJ0U2hvdWxkU2V0UmVzcG9uZGVyLFxuICAgICAgb25TdGFydFNob3VsZFNldFJlc3BvbmRlckNhcHR1cmUgPSBwcm9wcy5vblN0YXJ0U2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZSxcbiAgICAgIHJlc3QgPSAoMCwgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UyLmRlZmF1bHQpKHByb3BzLCBfZXhjbHVkZWQpO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgUmVhY3QuQ2hpbGRyZW4udG9BcnJheShwcm9wcy5jaGlsZHJlbikuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIlVuZXhwZWN0ZWQgdGV4dCBub2RlOiBcIiArIGl0ZW0gKyBcIi4gQSB0ZXh0IG5vZGUgY2Fubm90IGJlIGEgY2hpbGQgb2YgYSA8Vmlldz4uXCIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgdmFyIGhhc1RleHRBbmNlc3RvciA9IFJlYWN0LnVzZUNvbnRleHQoX1RleHRBbmNlc3RvckNvbnRleHQuZGVmYXVsdCk7XG4gIHZhciBob3N0UmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuXG4gIHZhciBfdXNlTG9jYWxlQ29udGV4dCA9ICgwLCBfdXNlTG9jYWxlLnVzZUxvY2FsZUNvbnRleHQpKCksXG4gICAgICBjb250ZXh0RGlyZWN0aW9uID0gX3VzZUxvY2FsZUNvbnRleHQuZGlyZWN0aW9uO1xuXG4gICgwLCBfdXNlRWxlbWVudExheW91dC5kZWZhdWx0KShob3N0UmVmLCBvbkxheW91dCk7XG4gICgwLCBfdXNlUmVzcG9uZGVyRXZlbnRzLmRlZmF1bHQpKGhvc3RSZWYsIHtcbiAgICBvbk1vdmVTaG91bGRTZXRSZXNwb25kZXIsXG4gICAgb25Nb3ZlU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZSxcbiAgICBvblJlc3BvbmRlckVuZCxcbiAgICBvblJlc3BvbmRlckdyYW50LFxuICAgIG9uUmVzcG9uZGVyTW92ZSxcbiAgICBvblJlc3BvbmRlclJlamVjdCxcbiAgICBvblJlc3BvbmRlclJlbGVhc2UsXG4gICAgb25SZXNwb25kZXJTdGFydCxcbiAgICBvblJlc3BvbmRlclRlcm1pbmF0ZSxcbiAgICBvblJlc3BvbmRlclRlcm1pbmF0aW9uUmVxdWVzdCxcbiAgICBvblNjcm9sbFNob3VsZFNldFJlc3BvbmRlcixcbiAgICBvblNjcm9sbFNob3VsZFNldFJlc3BvbmRlckNhcHR1cmUsXG4gICAgb25TZWxlY3Rpb25DaGFuZ2VTaG91bGRTZXRSZXNwb25kZXIsXG4gICAgb25TZWxlY3Rpb25DaGFuZ2VTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlLFxuICAgIG9uU3RhcnRTaG91bGRTZXRSZXNwb25kZXIsXG4gICAgb25TdGFydFNob3VsZFNldFJlc3BvbmRlckNhcHR1cmVcbiAgfSk7XG4gIHZhciBjb21wb25lbnQgPSAnZGl2JztcbiAgdmFyIGxhbmdEaXJlY3Rpb24gPSBwcm9wcy5sYW5nICE9IG51bGwgPyAoMCwgX3VzZUxvY2FsZS5nZXRMb2NhbGVEaXJlY3Rpb24pKHByb3BzLmxhbmcpIDogbnVsbDtcbiAgdmFyIGNvbXBvbmVudERpcmVjdGlvbiA9IHByb3BzLmRpciB8fCBsYW5nRGlyZWN0aW9uO1xuICB2YXIgd3JpdGluZ0RpcmVjdGlvbiA9IGNvbXBvbmVudERpcmVjdGlvbiB8fCBjb250ZXh0RGlyZWN0aW9uO1xuICB2YXIgc3VwcG9ydGVkUHJvcHMgPSBwaWNrUHJvcHMocmVzdCk7XG4gIHN1cHBvcnRlZFByb3BzLmRpciA9IGNvbXBvbmVudERpcmVjdGlvbjtcbiAgc3VwcG9ydGVkUHJvcHMuc3R5bGUgPSBbc3R5bGVzLnZpZXckcmF3LCBoYXNUZXh0QW5jZXN0b3IgJiYgc3R5bGVzLmlubGluZSwgcHJvcHMuc3R5bGVdO1xuXG4gIGlmIChwcm9wcy5ocmVmICE9IG51bGwpIHtcbiAgICBjb21wb25lbnQgPSAnYSc7XG5cbiAgICBpZiAoaHJlZkF0dHJzICE9IG51bGwpIHtcbiAgICAgIHZhciBkb3dubG9hZCA9IGhyZWZBdHRycy5kb3dubG9hZCxcbiAgICAgICAgICByZWwgPSBocmVmQXR0cnMucmVsLFxuICAgICAgICAgIHRhcmdldCA9IGhyZWZBdHRycy50YXJnZXQ7XG5cbiAgICAgIGlmIChkb3dubG9hZCAhPSBudWxsKSB7XG4gICAgICAgIHN1cHBvcnRlZFByb3BzLmRvd25sb2FkID0gZG93bmxvYWQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZWwgIT0gbnVsbCkge1xuICAgICAgICBzdXBwb3J0ZWRQcm9wcy5yZWwgPSByZWw7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJykge1xuICAgICAgICBzdXBwb3J0ZWRQcm9wcy50YXJnZXQgPSB0YXJnZXQuY2hhckF0KDApICE9PSAnXycgPyAnXycgKyB0YXJnZXQgOiB0YXJnZXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIHBsYXRmb3JtTWV0aG9kc1JlZiA9ICgwLCBfdXNlUGxhdGZvcm1NZXRob2RzLmRlZmF1bHQpKHN1cHBvcnRlZFByb3BzKTtcbiAgdmFyIHNldFJlZiA9ICgwLCBfdXNlTWVyZ2VSZWZzLmRlZmF1bHQpKGhvc3RSZWYsIHBsYXRmb3JtTWV0aG9kc1JlZiwgZm9yd2FyZGVkUmVmKTtcbiAgc3VwcG9ydGVkUHJvcHMucmVmID0gc2V0UmVmO1xuICByZXR1cm4gKDAsIF9jcmVhdGVFbGVtZW50LmRlZmF1bHQpKGNvbXBvbmVudCwgc3VwcG9ydGVkUHJvcHMsIHtcbiAgICB3cml0aW5nRGlyZWN0aW9uXG4gIH0pO1xufSk7XG5WaWV3LmRpc3BsYXlOYW1lID0gJ1ZpZXcnO1xuXG52YXIgc3R5bGVzID0gX1N0eWxlU2hlZXQuZGVmYXVsdC5jcmVhdGUoe1xuICB2aWV3JHJhdzoge1xuICAgIGFsaWduSXRlbXM6ICdzdHJldGNoJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgYm9yZGVyOiAnMCBzb2xpZCBibGFjaycsXG4gICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhCYXNpczogJ2F1dG8nLFxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIGZsZXhTaHJpbms6IDAsXG4gICAgbGlzdFN0eWxlOiAnbm9uZScsXG4gICAgbWFyZ2luOiAwLFxuICAgIG1pbkhlaWdodDogMCxcbiAgICBtaW5XaWR0aDogMCxcbiAgICBwYWRkaW5nOiAwLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gICAgekluZGV4OiAwXG4gIH0sXG4gIGlubGluZToge1xuICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCdcbiAgfVxufSk7XG5cbnZhciBfZGVmYXVsdCA9IFZpZXc7XG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDtcbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/View/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/createElement/index.js': /*!*******************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/createElement/index.js ***! \*******************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _AccessibilityUtil = _interopRequireDefault(__webpack_require__(/*! ../../modules/AccessibilityUtil */ "../react-native-web/dist/cjs/modules/AccessibilityUtil/index.js"));\n\nvar _createDOMProps = _interopRequireDefault(__webpack_require__(/*! ../../modules/createDOMProps */ "../react-native-web/dist/cjs/modules/createDOMProps/index.js"));\n\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));\n\nvar _useLocale = __webpack_require__(/*! ../../modules/useLocale */ "../react-native-web/dist/cjs/modules/useLocale/index.js");\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar createElement = (component, props, options) => {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n\n if (component && component.constructor === String) {\n accessibilityComponent = _AccessibilityUtil.default.propsToAccessibilityComponent(props);\n }\n\n var Component = accessibilityComponent || component;\n var domProps = (0, _createDOMProps.default)(Component, props, options);\n\n var element = /*#__PURE__*/_react.default.createElement(Component, domProps); // Update locale context if element\'s writing direction prop changes\n\n\n var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/_react.default.createElement(_useLocale.LocaleProvider, {\n children: element,\n direction: domProps.dir,\n locale: domProps.lang\n }) : element;\n return elementWithLocaleProvider;\n};\n\nvar _default = createElement;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL2NyZWF0ZUVsZW1lbnQvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmLGdEQUFnRCxtQkFBTyxDQUFDLHdHQUFpQzs7QUFFekYsNkNBQTZDLG1CQUFPLENBQUMsa0dBQThCOztBQUVuRixvQ0FBb0MsbUJBQU8sQ0FBQyxvQkFBTzs7QUFFbkQsaUJBQWlCLG1CQUFPLENBQUMsd0ZBQXlCOztBQUVsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGdGQUFnRjs7O0FBR2hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL2V4cG9ydHMvY3JlYXRlRWxlbWVudC9pbmRleC5qcz9lZjhiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG52YXIgX2ludGVyb3BSZXF1aXJlRGVmYXVsdCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdFwiKS5kZWZhdWx0O1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG52YXIgX0FjY2Vzc2liaWxpdHlVdGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vbW9kdWxlcy9BY2Nlc3NpYmlsaXR5VXRpbFwiKSk7XG5cbnZhciBfY3JlYXRlRE9NUHJvcHMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9tb2R1bGVzL2NyZWF0ZURPTVByb3BzXCIpKTtcblxudmFyIF9yZWFjdCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcInJlYWN0XCIpKTtcblxudmFyIF91c2VMb2NhbGUgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlcy91c2VMb2NhbGVcIik7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlci5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIGNyZWF0ZUVsZW1lbnQgPSAoY29tcG9uZW50LCBwcm9wcywgb3B0aW9ucykgPT4ge1xuICAvLyBVc2UgZXF1aXZhbGVudCBwbGF0Zm9ybSBlbGVtZW50cyB3aGVyZSBwb3NzaWJsZS5cbiAgdmFyIGFjY2Vzc2liaWxpdHlDb21wb25lbnQ7XG5cbiAgaWYgKGNvbXBvbmVudCAmJiBjb21wb25lbnQuY29uc3RydWN0b3IgPT09IFN0cmluZykge1xuICAgIGFjY2Vzc2liaWxpdHlDb21wb25lbnQgPSBfQWNjZXNzaWJpbGl0eVV0aWwuZGVmYXVsdC5wcm9wc1RvQWNjZXNzaWJpbGl0eUNvbXBvbmVudChwcm9wcyk7XG4gIH1cblxuICB2YXIgQ29tcG9uZW50ID0gYWNjZXNzaWJpbGl0eUNvbXBvbmVudCB8fCBjb21wb25lbnQ7XG4gIHZhciBkb21Qcm9wcyA9ICgwLCBfY3JlYXRlRE9NUHJvcHMuZGVmYXVsdCkoQ29tcG9uZW50LCBwcm9wcywgb3B0aW9ucyk7XG5cbiAgdmFyIGVsZW1lbnQgPSAvKiNfX1BVUkVfXyovX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChDb21wb25lbnQsIGRvbVByb3BzKTsgLy8gVXBkYXRlIGxvY2FsZSBjb250ZXh0IGlmIGVsZW1lbnQncyB3cml0aW5nIGRpcmVjdGlvbiBwcm9wIGNoYW5nZXNcblxuXG4gIHZhciBlbGVtZW50V2l0aExvY2FsZVByb3ZpZGVyID0gZG9tUHJvcHMuZGlyID8gLyojX19QVVJFX18qL19yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3VzZUxvY2FsZS5Mb2NhbGVQcm92aWRlciwge1xuICAgIGNoaWxkcmVuOiBlbGVtZW50LFxuICAgIGRpcmVjdGlvbjogZG9tUHJvcHMuZGlyLFxuICAgIGxvY2FsZTogZG9tUHJvcHMubGFuZ1xuICB9KSA6IGVsZW1lbnQ7XG4gIHJldHVybiBlbGVtZW50V2l0aExvY2FsZVByb3ZpZGVyO1xufTtcblxudmFyIF9kZWZhdWx0ID0gY3JlYXRlRWxlbWVudDtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/createElement/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/exports/processColor/index.js': /*!******************************************************************!*\ !*** ../react-native-web/dist/cjs/exports/processColor/index.js ***! \******************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _normalizeCssColor = _interopRequireDefault(__webpack_require__(/*! normalize-css-color */ "normalize-css-color"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar processColor = color => {\n if (color === undefined || color === null) {\n return color;\n } // convert number and hex\n\n\n var int32Color = (0, _normalizeCssColor.default)(color);\n\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\n\nvar _default = processColor;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL3Byb2Nlc3NDb2xvci9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw2QkFBNkIsMEpBQStEOztBQUU1RixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWYsZ0RBQWdELG1CQUFPLENBQUMsZ0RBQXFCOztBQUU3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWU7QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9leHBvcnRzL3Byb2Nlc3NDb2xvci9pbmRleC5qcz9jMjYwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG52YXIgX2ludGVyb3BSZXF1aXJlRGVmYXVsdCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdFwiKS5kZWZhdWx0O1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG52YXIgX25vcm1hbGl6ZUNzc0NvbG9yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwibm9ybWFsaXplLWNzcy1jb2xvclwiKSk7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlci5cbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cbnZhciBwcm9jZXNzQ29sb3IgPSBjb2xvciA9PiB7XG4gIGlmIChjb2xvciA9PT0gdW5kZWZpbmVkIHx8IGNvbG9yID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGNvbG9yO1xuICB9IC8vIGNvbnZlcnQgbnVtYmVyIGFuZCBoZXhcblxuXG4gIHZhciBpbnQzMkNvbG9yID0gKDAsIF9ub3JtYWxpemVDc3NDb2xvci5kZWZhdWx0KShjb2xvcik7XG5cbiAgaWYgKGludDMyQ29sb3IgPT09IHVuZGVmaW5lZCB8fCBpbnQzMkNvbG9yID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGludDMyQ29sb3IgPSAoaW50MzJDb2xvciA8PCAyNCB8IGludDMyQ29sb3IgPj4+IDgpID4+PiAwO1xuICByZXR1cm4gaW50MzJDb2xvcjtcbn07XG5cbnZhciBfZGVmYXVsdCA9IHByb2Nlc3NDb2xvcjtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/exports/processColor/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/AccessibilityUtil/index.js': /*!***********************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/AccessibilityUtil/index.js ***! \***********************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _isDisabled = _interopRequireDefault(__webpack_require__(/*! ./isDisabled */ "../react-native-web/dist/cjs/modules/AccessibilityUtil/isDisabled.js"));\n\nvar _propsToAccessibilityComponent = _interopRequireDefault(__webpack_require__(/*! ./propsToAccessibilityComponent */ "../react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js"));\n\nvar _propsToAriaRole = _interopRequireDefault(__webpack_require__(/*! ./propsToAriaRole */ "../react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar AccessibilityUtil = {\n isDisabled: _isDisabled.default,\n propsToAccessibilityComponent: _propsToAccessibilityComponent.default,\n propsToAriaRole: _propsToAriaRole.default\n};\nvar _default = AccessibilityUtil;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL0FjY2Vzc2liaWxpdHlVdGlsL2luZGV4LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDZCQUE2QiwwSkFBK0Q7O0FBRTVGLGtCQUFrQjtBQUNsQixrQkFBZTs7QUFFZix5Q0FBeUMsbUJBQU8sQ0FBQywwRkFBYzs7QUFFL0QsNERBQTRELG1CQUFPLENBQUMsZ0lBQWlDOztBQUVyRyw4Q0FBOEMsbUJBQU8sQ0FBQyxvR0FBbUI7O0FBRXpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvQWNjZXNzaWJpbGl0eVV0aWwvaW5kZXguanM/NjBkYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHRcIikuZGVmYXVsdDtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9pc0Rpc2FibGVkID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9pc0Rpc2FibGVkXCIpKTtcblxudmFyIF9wcm9wc1RvQWNjZXNzaWJpbGl0eUNvbXBvbmVudCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vcHJvcHNUb0FjY2Vzc2liaWxpdHlDb21wb25lbnRcIikpO1xuXG52YXIgX3Byb3BzVG9BcmlhUm9sZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vcHJvcHNUb0FyaWFSb2xlXCIpKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgQWNjZXNzaWJpbGl0eVV0aWwgPSB7XG4gIGlzRGlzYWJsZWQ6IF9pc0Rpc2FibGVkLmRlZmF1bHQsXG4gIHByb3BzVG9BY2Nlc3NpYmlsaXR5Q29tcG9uZW50OiBfcHJvcHNUb0FjY2Vzc2liaWxpdHlDb21wb25lbnQuZGVmYXVsdCxcbiAgcHJvcHNUb0FyaWFSb2xlOiBfcHJvcHNUb0FyaWFSb2xlLmRlZmF1bHRcbn07XG52YXIgX2RlZmF1bHQgPSBBY2Nlc3NpYmlsaXR5VXRpbDtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/AccessibilityUtil/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/AccessibilityUtil/isDisabled.js': /*!****************************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/AccessibilityUtil/isDisabled.js ***! \****************************************************************************/ /***/ (module, exports) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf(\'disabled\') > -1;\n\nvar _default = isDisabled;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL0FjY2Vzc2liaWxpdHlVdGlsL2lzRGlzYWJsZWQuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvbW9kdWxlcy9BY2Nlc3NpYmlsaXR5VXRpbC9pc0Rpc2FibGVkLmpzPzdhNjciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlci5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIGlzRGlzYWJsZWQgPSBwcm9wcyA9PiBwcm9wcy5kaXNhYmxlZCB8fCBBcnJheS5pc0FycmF5KHByb3BzLmFjY2Vzc2liaWxpdHlTdGF0ZXMpICYmIHByb3BzLmFjY2Vzc2liaWxpdHlTdGF0ZXMuaW5kZXhPZignZGlzYWJsZWQnKSA+IC0xO1xuXG52YXIgX2RlZmF1bHQgPSBpc0Rpc2FibGVkO1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/AccessibilityUtil/isDisabled.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js': /*!***********************************************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js ***! \***********************************************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"../../node_modules/@babel/runtime/helpers/interopRequireDefault.js\")[\"default\"]);\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _propsToAriaRole = _interopRequireDefault(__webpack_require__(/*! ./propsToAriaRole */ \"../react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js\"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\n button: 'button',\n code: 'code',\n complementary: 'aside',\n contentinfo: 'footer',\n deletion: 'del',\n emphasis: 'em',\n figure: 'figure',\n insertion: 'ins',\n form: 'form',\n list: 'ul',\n listitem: 'li',\n main: 'main',\n navigation: 'nav',\n paragraph: 'p',\n region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\n\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (props.accessibilityRole === 'label') {\n return 'label';\n }\n\n var role = (0, _propsToAriaRole.default)(props);\n\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n\n if (level != null) {\n return \"h\" + level;\n }\n\n return 'h1';\n }\n\n return roleComponents[role];\n }\n};\n\nvar _default = propsToAccessibilityComponent;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL0FjY2Vzc2liaWxpdHlVdGlsL3Byb3BzVG9BY2Nlc3NpYmlsaXR5Q29tcG9uZW50LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDZCQUE2QiwwSkFBK0Q7O0FBRTVGLGtCQUFrQjtBQUNsQixrQkFBZTs7QUFFZiw4Q0FBOEMsbUJBQU8sQ0FBQyxvR0FBbUI7O0FBRXpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWU7QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL0FjY2Vzc2liaWxpdHlVdGlsL3Byb3BzVG9BY2Nlc3NpYmlsaXR5Q29tcG9uZW50LmpzPzA4ZjkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfcHJvcHNUb0FyaWFSb2xlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9wcm9wc1RvQXJpYVJvbGVcIikpO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgTmljb2xhcyBHYWxsYWdoZXIuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cbnZhciByb2xlQ29tcG9uZW50cyA9IHtcbiAgYXJ0aWNsZTogJ2FydGljbGUnLFxuICBiYW5uZXI6ICdoZWFkZXInLFxuICBibG9ja3F1b3RlOiAnYmxvY2txdW90ZScsXG4gIGJ1dHRvbjogJ2J1dHRvbicsXG4gIGNvZGU6ICdjb2RlJyxcbiAgY29tcGxlbWVudGFyeTogJ2FzaWRlJyxcbiAgY29udGVudGluZm86ICdmb290ZXInLFxuICBkZWxldGlvbjogJ2RlbCcsXG4gIGVtcGhhc2lzOiAnZW0nLFxuICBmaWd1cmU6ICdmaWd1cmUnLFxuICBpbnNlcnRpb246ICdpbnMnLFxuICBmb3JtOiAnZm9ybScsXG4gIGxpc3Q6ICd1bCcsXG4gIGxpc3RpdGVtOiAnbGknLFxuICBtYWluOiAnbWFpbicsXG4gIG5hdmlnYXRpb246ICduYXYnLFxuICBwYXJhZ3JhcGg6ICdwJyxcbiAgcmVnaW9uOiAnc2VjdGlvbicsXG4gIHN0cm9uZzogJ3N0cm9uZydcbn07XG52YXIgZW1wdHlPYmplY3QgPSB7fTtcblxudmFyIHByb3BzVG9BY2Nlc3NpYmlsaXR5Q29tcG9uZW50ID0gZnVuY3Rpb24gcHJvcHNUb0FjY2Vzc2liaWxpdHlDb21wb25lbnQocHJvcHMpIHtcbiAgaWYgKHByb3BzID09PSB2b2lkIDApIHtcbiAgICBwcm9wcyA9IGVtcHR5T2JqZWN0O1xuICB9XG5cbiAgLy8gc3BlY2lhbC1jYXNlIGZvciBcImxhYmVsXCIgcm9sZSB3aGljaCBkb2Vzbid0IG1hcCB0byBhbiBBUklBIHJvbGVcbiAgaWYgKHByb3BzLmFjY2Vzc2liaWxpdHlSb2xlID09PSAnbGFiZWwnKSB7XG4gICAgcmV0dXJuICdsYWJlbCc7XG4gIH1cblxuICB2YXIgcm9sZSA9ICgwLCBfcHJvcHNUb0FyaWFSb2xlLmRlZmF1bHQpKHByb3BzKTtcblxuICBpZiAocm9sZSkge1xuICAgIGlmIChyb2xlID09PSAnaGVhZGluZycpIHtcbiAgICAgIHZhciBsZXZlbCA9IHByb3BzLmFjY2Vzc2liaWxpdHlMZXZlbCB8fCBwcm9wc1snYXJpYS1sZXZlbCddO1xuXG4gICAgICBpZiAobGV2ZWwgIT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gXCJoXCIgKyBsZXZlbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdoMSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvbGVDb21wb25lbnRzW3JvbGVdO1xuICB9XG59O1xuXG52YXIgX2RlZmF1bHQgPSBwcm9wc1RvQWNjZXNzaWJpbGl0eUNvbXBvbmVudDtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js': /*!*********************************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js ***! \*********************************************************************************/ /***/ (module, exports) => { 'use strict'; eval( "\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar accessibilityRoleToWebRole = {\n adjustable: 'slider',\n button: 'button',\n header: 'heading',\n image: 'img',\n imagebutton: null,\n keyboardkey: null,\n label: null,\n link: 'link',\n none: 'presentation',\n search: 'search',\n summary: 'region',\n text: null\n};\n\nvar propsToAriaRole = _ref => {\n var accessibilityRole = _ref.accessibilityRole;\n\n if (accessibilityRole) {\n var inferredRole = accessibilityRoleToWebRole[accessibilityRole];\n\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || accessibilityRole;\n }\n }\n};\n\nvar _default = propsToAriaRole;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL0FjY2Vzc2liaWxpdHlVdGlsL3Byb3BzVG9BcmlhUm9sZS5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvbW9kdWxlcy9BY2Nlc3NpYmlsaXR5VXRpbC9wcm9wc1RvQXJpYVJvbGUuanM/MTYwNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgYWNjZXNzaWJpbGl0eVJvbGVUb1dlYlJvbGUgPSB7XG4gIGFkanVzdGFibGU6ICdzbGlkZXInLFxuICBidXR0b246ICdidXR0b24nLFxuICBoZWFkZXI6ICdoZWFkaW5nJyxcbiAgaW1hZ2U6ICdpbWcnLFxuICBpbWFnZWJ1dHRvbjogbnVsbCxcbiAga2V5Ym9hcmRrZXk6IG51bGwsXG4gIGxhYmVsOiBudWxsLFxuICBsaW5rOiAnbGluaycsXG4gIG5vbmU6ICdwcmVzZW50YXRpb24nLFxuICBzZWFyY2g6ICdzZWFyY2gnLFxuICBzdW1tYXJ5OiAncmVnaW9uJyxcbiAgdGV4dDogbnVsbFxufTtcblxudmFyIHByb3BzVG9BcmlhUm9sZSA9IF9yZWYgPT4ge1xuICB2YXIgYWNjZXNzaWJpbGl0eVJvbGUgPSBfcmVmLmFjY2Vzc2liaWxpdHlSb2xlO1xuXG4gIGlmIChhY2Nlc3NpYmlsaXR5Um9sZSkge1xuICAgIHZhciBpbmZlcnJlZFJvbGUgPSBhY2Nlc3NpYmlsaXR5Um9sZVRvV2ViUm9sZVthY2Nlc3NpYmlsaXR5Um9sZV07XG5cbiAgICBpZiAoaW5mZXJyZWRSb2xlICE9PSBudWxsKSB7XG4gICAgICAvLyBpZ25vcmUgcm9sZXMgdGhhdCBkb24ndCBtYXAgdG8gd2ViXG4gICAgICByZXR1cm4gaW5mZXJyZWRSb2xlIHx8IGFjY2Vzc2liaWxpdHlSb2xlO1xuICAgIH1cbiAgfVxufTtcblxudmFyIF9kZWZhdWx0ID0gcHJvcHNUb0FyaWFSb2xlO1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/AssetRegistry/index.js': /*!*******************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/AssetRegistry/index.js ***! \*******************************************************************/ /***/ (__unused_webpack_module, exports) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports.getAssetByID = getAssetByID;\nexports.registerAsset = registerAsset;\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar assets = [];\n\nfunction registerAsset(asset) {\n // `push` returns new array length, so the first asset will\n // get id 1 (not 0) to make the value truthy\n return assets.push(asset);\n}\n\nfunction getAssetByID(assetId) {\n return assets[assetId - 1];\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL0Fzc2V0UmVnaXN0cnkvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsa0JBQWtCO0FBQ2xCLG9CQUFvQjtBQUNwQixxQkFBcUI7O0FBRXJCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL0Fzc2V0UmVnaXN0cnkvaW5kZXguanM/YTIyZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZ2V0QXNzZXRCeUlEID0gZ2V0QXNzZXRCeUlEO1xuZXhwb3J0cy5yZWdpc3RlckFzc2V0ID0gcmVnaXN0ZXJBc3NldDtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgYXNzZXRzID0gW107XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyQXNzZXQoYXNzZXQpIHtcbiAgLy8gYHB1c2hgIHJldHVybnMgbmV3IGFycmF5IGxlbmd0aCwgc28gdGhlIGZpcnN0IGFzc2V0IHdpbGxcbiAgLy8gZ2V0IGlkIDEgKG5vdCAwKSB0byBtYWtlIHRoZSB2YWx1ZSB0cnV0aHlcbiAgcmV0dXJuIGFzc2V0cy5wdXNoKGFzc2V0KTtcbn1cblxuZnVuY3Rpb24gZ2V0QXNzZXRCeUlEKGFzc2V0SWQpIHtcbiAgcmV0dXJuIGFzc2V0c1thc3NldElkIC0gMV07XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/AssetRegistry/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/ImageLoader/index.js': /*!*****************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/ImageLoader/index.js ***! \*****************************************************************/ /***/ (__unused_webpack_module, exports) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports["default"] = exports.ImageUriCache = void 0;\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar dataUriPattern = /^data:/;\n\nclass ImageUriCache {\n static has(uri) {\n var entries = ImageUriCache._entries;\n var isDataUri = dataUriPattern.test(uri);\n return isDataUri || Boolean(entries[uri]);\n }\n\n static add(uri) {\n var entries = ImageUriCache._entries;\n var lastUsedTimestamp = Date.now();\n\n if (entries[uri]) {\n entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n entries[uri].refCount += 1;\n } else {\n entries[uri] = {\n lastUsedTimestamp,\n refCount: 1\n };\n }\n }\n\n static remove(uri) {\n var entries = ImageUriCache._entries;\n\n if (entries[uri]) {\n entries[uri].refCount -= 1;\n } // Free up entries when the cache is "full"\n\n\n ImageUriCache._cleanUpIfNeeded();\n }\n\n static _cleanUpIfNeeded() {\n var entries = ImageUriCache._entries;\n var imageUris = Object.keys(entries);\n\n if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n var leastRecentlyUsedKey;\n var leastRecentlyUsedEntry;\n imageUris.forEach(uri => {\n var entry = entries[uri];\n\n if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n leastRecentlyUsedKey = uri;\n leastRecentlyUsedEntry = entry;\n }\n });\n\n if (leastRecentlyUsedKey) {\n delete entries[leastRecentlyUsedKey];\n }\n }\n }\n\n}\n\nexports.ImageUriCache = ImageUriCache;\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n abort(requestId) {\n var image = requests["" + requestId];\n\n if (image) {\n image.onerror = null;\n image.onload = null;\n image = null;\n delete requests["" + requestId];\n }\n },\n\n getSize(uri, success, failure) {\n var complete = false;\n var interval = setInterval(callback, 16);\n var requestId = ImageLoader.load(uri, callback, errorCallback);\n\n function callback() {\n var image = requests["" + requestId];\n\n if (image) {\n var naturalHeight = image.naturalHeight,\n naturalWidth = image.naturalWidth;\n\n if (naturalHeight && naturalWidth) {\n success(naturalWidth, naturalHeight);\n complete = true;\n }\n }\n\n if (complete) {\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n }\n\n function errorCallback() {\n if (typeof failure === \'function\') {\n failure();\n }\n\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n },\n\n has(uri) {\n return ImageUriCache.has(uri);\n },\n\n load(uri, onLoad, onError) {\n id += 1;\n var image = new window.Image();\n image.onerror = onError;\n\n image.onload = e => {\n // avoid blocking the main thread\n var onDecode = () => onLoad({\n nativeEvent: e\n });\n\n if (typeof image.decode === \'function\') {\n // Safari currently throws exceptions when decoding svgs.\n // We want to catch that error and allow the load handler\n // to be forwarded to the onLoad handler in this case\n image.decode().then(onDecode, onDecode);\n } else {\n setTimeout(onDecode, 0);\n }\n };\n\n image.src = uri;\n requests["" + id] = image;\n return id;\n },\n\n prefetch(uri) {\n return new Promise((resolve, reject) => {\n ImageLoader.load(uri, () => {\n // Add the uri to the cache so it can be immediately displayed when used\n // but also immediately remove it to correctly reflect that it has no active references\n ImageUriCache.add(uri);\n ImageUriCache.remove(uri);\n resolve();\n }, reject);\n });\n },\n\n queryCache(uris) {\n var result = {};\n uris.forEach(u => {\n if (ImageUriCache.has(u)) {\n result[u] = \'disk/memory\';\n }\n });\n return Promise.resolve(result);\n }\n\n};\nvar _default = ImageLoader;\nexports["default"] = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL0ltYWdlTG9hZGVyL2luZGV4LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLGtCQUFrQjtBQUNsQixrQkFBZSxHQUFHLHFCQUFxQjs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtCQUFlIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvSW1hZ2VMb2FkZXIvaW5kZXguanM/NjVhYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZGVmYXVsdCA9IGV4cG9ydHMuSW1hZ2VVcmlDYWNoZSA9IHZvaWQgMDtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgZGF0YVVyaVBhdHRlcm4gPSAvXmRhdGE6LztcblxuY2xhc3MgSW1hZ2VVcmlDYWNoZSB7XG4gIHN0YXRpYyBoYXModXJpKSB7XG4gICAgdmFyIGVudHJpZXMgPSBJbWFnZVVyaUNhY2hlLl9lbnRyaWVzO1xuICAgIHZhciBpc0RhdGFVcmkgPSBkYXRhVXJpUGF0dGVybi50ZXN0KHVyaSk7XG4gICAgcmV0dXJuIGlzRGF0YVVyaSB8fCBCb29sZWFuKGVudHJpZXNbdXJpXSk7XG4gIH1cblxuICBzdGF0aWMgYWRkKHVyaSkge1xuICAgIHZhciBlbnRyaWVzID0gSW1hZ2VVcmlDYWNoZS5fZW50cmllcztcbiAgICB2YXIgbGFzdFVzZWRUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuXG4gICAgaWYgKGVudHJpZXNbdXJpXSkge1xuICAgICAgZW50cmllc1t1cmldLmxhc3RVc2VkVGltZXN0YW1wID0gbGFzdFVzZWRUaW1lc3RhbXA7XG4gICAgICBlbnRyaWVzW3VyaV0ucmVmQ291bnQgKz0gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgZW50cmllc1t1cmldID0ge1xuICAgICAgICBsYXN0VXNlZFRpbWVzdGFtcCxcbiAgICAgICAgcmVmQ291bnQ6IDFcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIHJlbW92ZSh1cmkpIHtcbiAgICB2YXIgZW50cmllcyA9IEltYWdlVXJpQ2FjaGUuX2VudHJpZXM7XG5cbiAgICBpZiAoZW50cmllc1t1cmldKSB7XG4gICAgICBlbnRyaWVzW3VyaV0ucmVmQ291bnQgLT0gMTtcbiAgICB9IC8vIEZyZWUgdXAgZW50cmllcyB3aGVuIHRoZSBjYWNoZSBpcyBcImZ1bGxcIlxuXG5cbiAgICBJbWFnZVVyaUNhY2hlLl9jbGVhblVwSWZOZWVkZWQoKTtcbiAgfVxuXG4gIHN0YXRpYyBfY2xlYW5VcElmTmVlZGVkKCkge1xuICAgIHZhciBlbnRyaWVzID0gSW1hZ2VVcmlDYWNoZS5fZW50cmllcztcbiAgICB2YXIgaW1hZ2VVcmlzID0gT2JqZWN0LmtleXMoZW50cmllcyk7XG5cbiAgICBpZiAoaW1hZ2VVcmlzLmxlbmd0aCArIDEgPiBJbWFnZVVyaUNhY2hlLl9tYXhpbXVtRW50cmllcykge1xuICAgICAgdmFyIGxlYXN0UmVjZW50bHlVc2VkS2V5O1xuICAgICAgdmFyIGxlYXN0UmVjZW50bHlVc2VkRW50cnk7XG4gICAgICBpbWFnZVVyaXMuZm9yRWFjaCh1cmkgPT4ge1xuICAgICAgICB2YXIgZW50cnkgPSBlbnRyaWVzW3VyaV07XG5cbiAgICAgICAgaWYgKCghbGVhc3RSZWNlbnRseVVzZWRFbnRyeSB8fCBlbnRyeS5sYXN0VXNlZFRpbWVzdGFtcCA8IGxlYXN0UmVjZW50bHlVc2VkRW50cnkubGFzdFVzZWRUaW1lc3RhbXApICYmIGVudHJ5LnJlZkNvdW50ID09PSAwKSB7XG4gICAgICAgICAgbGVhc3RSZWNlbnRseVVzZWRLZXkgPSB1cmk7XG4gICAgICAgICAgbGVhc3RSZWNlbnRseVVzZWRFbnRyeSA9IGVudHJ5O1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKGxlYXN0UmVjZW50bHlVc2VkS2V5KSB7XG4gICAgICAgIGRlbGV0ZSBlbnRyaWVzW2xlYXN0UmVjZW50bHlVc2VkS2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG5leHBvcnRzLkltYWdlVXJpQ2FjaGUgPSBJbWFnZVVyaUNhY2hlO1xuSW1hZ2VVcmlDYWNoZS5fbWF4aW11bUVudHJpZXMgPSAyNTY7XG5JbWFnZVVyaUNhY2hlLl9lbnRyaWVzID0ge307XG52YXIgaWQgPSAwO1xudmFyIHJlcXVlc3RzID0ge307XG52YXIgSW1hZ2VMb2FkZXIgPSB7XG4gIGFib3J0KHJlcXVlc3RJZCkge1xuICAgIHZhciBpbWFnZSA9IHJlcXVlc3RzW1wiXCIgKyByZXF1ZXN0SWRdO1xuXG4gICAgaWYgKGltYWdlKSB7XG4gICAgICBpbWFnZS5vbmVycm9yID0gbnVsbDtcbiAgICAgIGltYWdlLm9ubG9hZCA9IG51bGw7XG4gICAgICBpbWFnZSA9IG51bGw7XG4gICAgICBkZWxldGUgcmVxdWVzdHNbXCJcIiArIHJlcXVlc3RJZF07XG4gICAgfVxuICB9LFxuXG4gIGdldFNpemUodXJpLCBzdWNjZXNzLCBmYWlsdXJlKSB7XG4gICAgdmFyIGNvbXBsZXRlID0gZmFsc2U7XG4gICAgdmFyIGludGVydmFsID0gc2V0SW50ZXJ2YWwoY2FsbGJhY2ssIDE2KTtcbiAgICB2YXIgcmVxdWVzdElkID0gSW1hZ2VMb2FkZXIubG9hZCh1cmksIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTtcblxuICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkge1xuICAgICAgdmFyIGltYWdlID0gcmVxdWVzdHNbXCJcIiArIHJlcXVlc3RJZF07XG5cbiAgICAgIGlmIChpbWFnZSkge1xuICAgICAgICB2YXIgbmF0dXJhbEhlaWdodCA9IGltYWdlLm5hdHVyYWxIZWlnaHQsXG4gICAgICAgICAgICBuYXR1cmFsV2lkdGggPSBpbWFnZS5uYXR1cmFsV2lkdGg7XG5cbiAgICAgICAgaWYgKG5hdHVyYWxIZWlnaHQgJiYgbmF0dXJhbFdpZHRoKSB7XG4gICAgICAgICAgc3VjY2VzcyhuYXR1cmFsV2lkdGgsIG5hdHVyYWxIZWlnaHQpO1xuICAgICAgICAgIGNvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoY29tcGxldGUpIHtcbiAgICAgICAgSW1hZ2VMb2FkZXIuYWJvcnQocmVxdWVzdElkKTtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXJyb3JDYWxsYmFjaygpIHtcbiAgICAgIGlmICh0eXBlb2YgZmFpbHVyZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBmYWlsdXJlKCk7XG4gICAgICB9XG5cbiAgICAgIEltYWdlTG9hZGVyLmFib3J0KHJlcXVlc3RJZCk7XG4gICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICB9XG4gIH0sXG5cbiAgaGFzKHVyaSkge1xuICAgIHJldHVybiBJbWFnZVVyaUNhY2hlLmhhcyh1cmkpO1xuICB9LFxuXG4gIGxvYWQodXJpLCBvbkxvYWQsIG9uRXJyb3IpIHtcbiAgICBpZCArPSAxO1xuICAgIHZhciBpbWFnZSA9IG5ldyB3aW5kb3cuSW1hZ2UoKTtcbiAgICBpbWFnZS5vbmVycm9yID0gb25FcnJvcjtcblxuICAgIGltYWdlLm9ubG9hZCA9IGUgPT4ge1xuICAgICAgLy8gYXZvaWQgYmxvY2tpbmcgdGhlIG1haW4gdGhyZWFkXG4gICAgICB2YXIgb25EZWNvZGUgPSAoKSA9PiBvbkxvYWQoe1xuICAgICAgICBuYXRpdmVFdmVudDogZVxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0eXBlb2YgaW1hZ2UuZGVjb2RlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIFNhZmFyaSBjdXJyZW50bHkgdGhyb3dzIGV4Y2VwdGlvbnMgd2hlbiBkZWNvZGluZyBzdmdzLlxuICAgICAgICAvLyBXZSB3YW50IHRvIGNhdGNoIHRoYXQgZXJyb3IgYW5kIGFsbG93IHRoZSBsb2FkIGhhbmRsZXJcbiAgICAgICAgLy8gdG8gYmUgZm9yd2FyZGVkIHRvIHRoZSBvbkxvYWQgaGFuZGxlciBpbiB0aGlzIGNhc2VcbiAgICAgICAgaW1hZ2UuZGVjb2RlKCkudGhlbihvbkRlY29kZSwgb25EZWNvZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VGltZW91dChvbkRlY29kZSwgMCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGltYWdlLnNyYyA9IHVyaTtcbiAgICByZXF1ZXN0c1tcIlwiICsgaWRdID0gaW1hZ2U7XG4gICAgcmV0dXJuIGlkO1xuICB9LFxuXG4gIHByZWZldGNoKHVyaSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBJbWFnZUxvYWRlci5sb2FkKHVyaSwgKCkgPT4ge1xuICAgICAgICAvLyBBZGQgdGhlIHVyaSB0byB0aGUgY2FjaGUgc28gaXQgY2FuIGJlIGltbWVkaWF0ZWx5IGRpc3BsYXllZCB3aGVuIHVzZWRcbiAgICAgICAgLy8gYnV0IGFsc28gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0IHRvIGNvcnJlY3RseSByZWZsZWN0IHRoYXQgaXQgaGFzIG5vIGFjdGl2ZSByZWZlcmVuY2VzXG4gICAgICAgIEltYWdlVXJpQ2FjaGUuYWRkKHVyaSk7XG4gICAgICAgIEltYWdlVXJpQ2FjaGUucmVtb3ZlKHVyaSk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0sIHJlamVjdCk7XG4gICAgfSk7XG4gIH0sXG5cbiAgcXVlcnlDYWNoZSh1cmlzKSB7XG4gICAgdmFyIHJlc3VsdCA9IHt9O1xuICAgIHVyaXMuZm9yRWFjaCh1ID0+IHtcbiAgICAgIGlmIChJbWFnZVVyaUNhY2hlLmhhcyh1KSkge1xuICAgICAgICByZXN1bHRbdV0gPSAnZGlzay9tZW1vcnknO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0KTtcbiAgfVxuXG59O1xudmFyIF9kZWZhdWx0ID0gSW1hZ2VMb2FkZXI7XG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/ImageLoader/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/canUseDom/index.js': /*!***************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/canUseDom/index.js ***! \***************************************************************/ /***/ (module, exports) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar canUseDOM = !!(typeof window !== \'undefined\' && window.document && window.document.createElement);\nvar _default = canUseDOM;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL2NhblVzZURvbS9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvY2FuVXNlRG9tL2luZGV4LmpzPzU2ZjkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBNZXRhIFBsYXRmb3JtcywgSW5jLiBhbmQgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIGNhblVzZURPTSA9ICEhKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5kb2N1bWVudCAmJiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG52YXIgX2RlZmF1bHQgPSBjYW5Vc2VET007XG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDtcbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/canUseDom/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/createDOMProps/index.js': /*!********************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/createDOMProps/index.js ***! \********************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"../../node_modules/@babel/runtime/helpers/interopRequireDefault.js\")[\"default\"]);\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _AccessibilityUtil = _interopRequireDefault(__webpack_require__(/*! ../AccessibilityUtil */ \"../react-native-web/dist/cjs/modules/AccessibilityUtil/index.js\"));\n\nvar _StyleSheet2 = _interopRequireDefault(__webpack_require__(/*! ../../exports/StyleSheet */ \"../react-native-web/dist/cjs/exports/StyleSheet/index.js\"));\n\nvar _excluded = [\"accessibilityActiveDescendant\", \"accessibilityAtomic\", \"accessibilityAutoComplete\", \"accessibilityBusy\", \"accessibilityChecked\", \"accessibilityColumnCount\", \"accessibilityColumnIndex\", \"accessibilityColumnSpan\", \"accessibilityControls\", \"accessibilityCurrent\", \"accessibilityDescribedBy\", \"accessibilityDetails\", \"accessibilityDisabled\", \"accessibilityErrorMessage\", \"accessibilityExpanded\", \"accessibilityFlowTo\", \"accessibilityHasPopup\", \"accessibilityHidden\", \"accessibilityInvalid\", \"accessibilityKeyShortcuts\", \"accessibilityLabel\", \"accessibilityLabelledBy\", \"accessibilityLevel\", \"accessibilityLiveRegion\", \"accessibilityModal\", \"accessibilityMultiline\", \"accessibilityMultiSelectable\", \"accessibilityOrientation\", \"accessibilityOwns\", \"accessibilityPlaceholder\", \"accessibilityPosInSet\", \"accessibilityPressed\", \"accessibilityReadOnly\", \"accessibilityRequired\", \"accessibilityRole\", \"accessibilityRoleDescription\", \"accessibilityRowCount\", \"accessibilityRowIndex\", \"accessibilityRowSpan\", \"accessibilitySelected\", \"accessibilitySetSize\", \"accessibilitySort\", \"accessibilityValueMax\", \"accessibilityValueMin\", \"accessibilityValueNow\", \"accessibilityValueText\", \"dataSet\", \"focusable\", \"nativeID\", \"pointerEvents\", \"style\", \"testID\"];\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\n\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\n\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n}\n\nvar pointerEventsStyles = _StyleSheet2.default.create({\n auto: {\n pointerEvents: 'auto'\n },\n 'box-none': {\n pointerEvents: 'box-none'\n },\n 'box-only': {\n pointerEvents: 'box-only'\n },\n none: {\n pointerEvents: 'none'\n }\n});\n\nvar createDOMProps = (elementType, props, options) => {\n if (!props) {\n props = emptyObject;\n }\n\n var _props = props,\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n accessibilityAtomic = _props.accessibilityAtomic,\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n accessibilityBusy = _props.accessibilityBusy,\n accessibilityChecked = _props.accessibilityChecked,\n accessibilityColumnCount = _props.accessibilityColumnCount,\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n accessibilityControls = _props.accessibilityControls,\n accessibilityCurrent = _props.accessibilityCurrent,\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n accessibilityDetails = _props.accessibilityDetails,\n accessibilityDisabled = _props.accessibilityDisabled,\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n accessibilityExpanded = _props.accessibilityExpanded,\n accessibilityFlowTo = _props.accessibilityFlowTo,\n accessibilityHasPopup = _props.accessibilityHasPopup,\n accessibilityHidden = _props.accessibilityHidden,\n accessibilityInvalid = _props.accessibilityInvalid,\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n accessibilityLabel = _props.accessibilityLabel,\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n accessibilityLevel = _props.accessibilityLevel,\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n accessibilityModal = _props.accessibilityModal,\n accessibilityMultiline = _props.accessibilityMultiline,\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n accessibilityOrientation = _props.accessibilityOrientation,\n accessibilityOwns = _props.accessibilityOwns,\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n accessibilityPosInSet = _props.accessibilityPosInSet,\n accessibilityPressed = _props.accessibilityPressed,\n accessibilityReadOnly = _props.accessibilityReadOnly,\n accessibilityRequired = _props.accessibilityRequired,\n accessibilityRole = _props.accessibilityRole,\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n accessibilityRowCount = _props.accessibilityRowCount,\n accessibilityRowIndex = _props.accessibilityRowIndex,\n accessibilityRowSpan = _props.accessibilityRowSpan,\n accessibilitySelected = _props.accessibilitySelected,\n accessibilitySetSize = _props.accessibilitySetSize,\n accessibilitySort = _props.accessibilitySort,\n accessibilityValueMax = _props.accessibilityValueMax,\n accessibilityValueMin = _props.accessibilityValueMin,\n accessibilityValueNow = _props.accessibilityValueNow,\n accessibilityValueText = _props.accessibilityValueText,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n style = _props.style,\n testID = _props.testID,\n domProps = (0, _objectWithoutPropertiesLoose2.default)(_props, _excluded);\n var disabled = accessibilityDisabled;\n\n var role = _AccessibilityUtil.default.propsToAriaRole(props); // ACCESSIBILITY\n\n\n if (accessibilityActiveDescendant != null) {\n domProps['aria-activedescendant'] = accessibilityActiveDescendant;\n }\n\n if (accessibilityAtomic != null) {\n domProps['aria-atomic'] = accessibilityAtomic;\n }\n\n if (accessibilityAutoComplete != null) {\n domProps['aria-autocomplete'] = accessibilityAutoComplete;\n }\n\n if (accessibilityBusy != null) {\n domProps['aria-busy'] = accessibilityBusy;\n }\n\n if (accessibilityChecked != null) {\n domProps['aria-checked'] = accessibilityChecked;\n }\n\n if (accessibilityColumnCount != null) {\n domProps['aria-colcount'] = accessibilityColumnCount;\n }\n\n if (accessibilityColumnIndex != null) {\n domProps['aria-colindex'] = accessibilityColumnIndex;\n }\n\n if (accessibilityColumnSpan != null) {\n domProps['aria-colspan'] = accessibilityColumnSpan;\n }\n\n if (accessibilityControls != null) {\n domProps['aria-controls'] = processIDRefList(accessibilityControls);\n }\n\n if (accessibilityCurrent != null) {\n domProps['aria-current'] = accessibilityCurrent;\n }\n\n if (accessibilityDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(accessibilityDescribedBy);\n }\n\n if (accessibilityDetails != null) {\n domProps['aria-details'] = accessibilityDetails;\n }\n\n if (disabled === true) {\n domProps['aria-disabled'] = true; // Enhance with native semantics\n\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n\n if (accessibilityErrorMessage != null) {\n domProps['aria-errormessage'] = accessibilityErrorMessage;\n }\n\n if (accessibilityExpanded != null) {\n domProps['aria-expanded'] = accessibilityExpanded;\n }\n\n if (accessibilityFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(accessibilityFlowTo);\n }\n\n if (accessibilityHasPopup != null) {\n domProps['aria-haspopup'] = accessibilityHasPopup;\n }\n\n if (accessibilityHidden === true) {\n domProps['aria-hidden'] = accessibilityHidden;\n }\n\n if (accessibilityInvalid != null) {\n domProps['aria-invalid'] = accessibilityInvalid;\n }\n\n if (accessibilityKeyShortcuts != null && Array.isArray(accessibilityKeyShortcuts)) {\n domProps['aria-keyshortcuts'] = accessibilityKeyShortcuts.join(' ');\n }\n\n if (accessibilityLabel != null) {\n domProps['aria-label'] = accessibilityLabel;\n }\n\n if (accessibilityLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(accessibilityLabelledBy);\n }\n\n if (accessibilityLevel != null) {\n domProps['aria-level'] = accessibilityLevel;\n }\n\n if (accessibilityLiveRegion != null) {\n domProps['aria-live'] = accessibilityLiveRegion === 'none' ? 'off' : accessibilityLiveRegion;\n }\n\n if (accessibilityModal != null) {\n domProps['aria-modal'] = accessibilityModal;\n }\n\n if (accessibilityMultiline != null) {\n domProps['aria-multiline'] = accessibilityMultiline;\n }\n\n if (accessibilityMultiSelectable != null) {\n domProps['aria-multiselectable'] = accessibilityMultiSelectable;\n }\n\n if (accessibilityOrientation != null) {\n domProps['aria-orientation'] = accessibilityOrientation;\n }\n\n if (accessibilityOwns != null) {\n domProps['aria-owns'] = processIDRefList(accessibilityOwns);\n }\n\n if (accessibilityPlaceholder != null) {\n domProps['aria-placeholder'] = accessibilityPlaceholder;\n }\n\n if (accessibilityPosInSet != null) {\n domProps['aria-posinset'] = accessibilityPosInSet;\n }\n\n if (accessibilityPressed != null) {\n domProps['aria-pressed'] = accessibilityPressed;\n }\n\n if (accessibilityReadOnly != null) {\n domProps['aria-readonly'] = accessibilityReadOnly; // Enhance with native semantics\n\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n\n if (accessibilityRequired != null) {\n domProps['aria-required'] = accessibilityRequired; // Enhance with native semantics\n\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = true;\n }\n }\n\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n\n if (accessibilityRoleDescription != null) {\n domProps['aria-roledescription'] = accessibilityRoleDescription;\n }\n\n if (accessibilityRowCount != null) {\n domProps['aria-rowcount'] = accessibilityRowCount;\n }\n\n if (accessibilityRowIndex != null) {\n domProps['aria-rowindex'] = accessibilityRowIndex;\n }\n\n if (accessibilityRowSpan != null) {\n domProps['aria-rowspan'] = accessibilityRowSpan;\n }\n\n if (accessibilitySelected != null) {\n domProps['aria-selected'] = accessibilitySelected;\n }\n\n if (accessibilitySetSize != null) {\n domProps['aria-setsize'] = accessibilitySetSize;\n }\n\n if (accessibilitySort != null) {\n domProps['aria-sort'] = accessibilitySort;\n }\n\n if (accessibilityValueMax != null) {\n domProps['aria-valuemax'] = accessibilityValueMax;\n }\n\n if (accessibilityValueMin != null) {\n domProps['aria-valuemin'] = accessibilityValueMin;\n }\n\n if (accessibilityValueNow != null) {\n domProps['aria-valuenow'] = accessibilityValueNow;\n }\n\n if (accessibilityValueText != null) {\n domProps['aria-valuetext'] = accessibilityValueText;\n } // \"dataSet\" replaced with \"data-*\"\n\n\n if (dataSet != null) {\n for (var dataProp in dataSet) {\n if (hasOwnProperty.call(dataSet, dataProp)) {\n var dataName = hyphenateString(dataProp);\n var dataValue = dataSet[dataProp];\n\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n } // FOCUS\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n\n\n if (focusable === false) {\n domProps.tabIndex = '-1';\n }\n\n if ( // These native elements are keyboard focusable by default\n elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n if (focusable === false || accessibilityDisabled === true) {\n domProps.tabIndex = '-1';\n }\n } else if ( // These roles are made keyboard focusable by default\n role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {\n if (focusable !== false) {\n domProps.tabIndex = '0';\n }\n } else {\n // Everything else must explicitly set the prop\n if (focusable === true) {\n domProps.tabIndex = '0';\n }\n } // Resolve styles\n\n\n var _StyleSheet = (0, _StyleSheet2.default)([style, pointerEvents && pointerEventsStyles[pointerEvents]], {\n writingDirection: options ? options.writingDirection : 'ltr'\n }),\n className = _StyleSheet[0],\n inlineStyle = _StyleSheet[1];\n\n if (className) {\n domProps.className = className;\n }\n\n if (inlineStyle) {\n domProps.style = inlineStyle;\n } // OTHER\n // Native element ID\n\n\n if (nativeID != null) {\n domProps.id = nativeID;\n } // Automated test IDs\n\n\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n\n if (domProps.type == null && elementType === 'button') {\n domProps.type = 'button';\n }\n\n return domProps;\n};\n\nvar _default = createDOMProps;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL2NyZWF0ZURPTVByb3BzL2luZGV4LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDZCQUE2QiwwSkFBK0Q7O0FBRTVGLGtCQUFrQjtBQUNsQixrQkFBZTs7QUFFZiw0REFBNEQsbUJBQU8sQ0FBQyxzSUFBcUQ7O0FBRXpILGdEQUFnRCxtQkFBTyxDQUFDLDZGQUFzQjs7QUFFOUUsMENBQTBDLG1CQUFPLENBQUMsMEZBQTBCOztBQUU1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxnRUFBZ0U7OztBQUdoRTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNDQUFzQzs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVEQUF1RDs7QUFFdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWU7QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL2NyZWF0ZURPTVByb3BzL2luZGV4LmpzPzJmZGYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2VcIikpO1xuXG52YXIgX0FjY2Vzc2liaWxpdHlVdGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vQWNjZXNzaWJpbGl0eVV0aWxcIikpO1xuXG52YXIgX1N0eWxlU2hlZXQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vZXhwb3J0cy9TdHlsZVNoZWV0XCIpKTtcblxudmFyIF9leGNsdWRlZCA9IFtcImFjY2Vzc2liaWxpdHlBY3RpdmVEZXNjZW5kYW50XCIsIFwiYWNjZXNzaWJpbGl0eUF0b21pY1wiLCBcImFjY2Vzc2liaWxpdHlBdXRvQ29tcGxldGVcIiwgXCJhY2Nlc3NpYmlsaXR5QnVzeVwiLCBcImFjY2Vzc2liaWxpdHlDaGVja2VkXCIsIFwiYWNjZXNzaWJpbGl0eUNvbHVtbkNvdW50XCIsIFwiYWNjZXNzaWJpbGl0eUNvbHVtbkluZGV4XCIsIFwiYWNjZXNzaWJpbGl0eUNvbHVtblNwYW5cIiwgXCJhY2Nlc3NpYmlsaXR5Q29udHJvbHNcIiwgXCJhY2Nlc3NpYmlsaXR5Q3VycmVudFwiLCBcImFjY2Vzc2liaWxpdHlEZXNjcmliZWRCeVwiLCBcImFjY2Vzc2liaWxpdHlEZXRhaWxzXCIsIFwiYWNjZXNzaWJpbGl0eURpc2FibGVkXCIsIFwiYWNjZXNzaWJpbGl0eUVycm9yTWVzc2FnZVwiLCBcImFjY2Vzc2liaWxpdHlFeHBhbmRlZFwiLCBcImFjY2Vzc2liaWxpdHlGbG93VG9cIiwgXCJhY2Nlc3NpYmlsaXR5SGFzUG9wdXBcIiwgXCJhY2Nlc3NpYmlsaXR5SGlkZGVuXCIsIFwiYWNjZXNzaWJpbGl0eUludmFsaWRcIiwgXCJhY2Nlc3NpYmlsaXR5S2V5U2hvcnRjdXRzXCIsIFwiYWNjZXNzaWJpbGl0eUxhYmVsXCIsIFwiYWNjZXNzaWJpbGl0eUxhYmVsbGVkQnlcIiwgXCJhY2Nlc3NpYmlsaXR5TGV2ZWxcIiwgXCJhY2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvblwiLCBcImFjY2Vzc2liaWxpdHlNb2RhbFwiLCBcImFjY2Vzc2liaWxpdHlNdWx0aWxpbmVcIiwgXCJhY2Nlc3NpYmlsaXR5TXVsdGlTZWxlY3RhYmxlXCIsIFwiYWNjZXNzaWJpbGl0eU9yaWVudGF0aW9uXCIsIFwiYWNjZXNzaWJpbGl0eU93bnNcIiwgXCJhY2Nlc3NpYmlsaXR5UGxhY2Vob2xkZXJcIiwgXCJhY2Nlc3NpYmlsaXR5UG9zSW5TZXRcIiwgXCJhY2Nlc3NpYmlsaXR5UHJlc3NlZFwiLCBcImFjY2Vzc2liaWxpdHlSZWFkT25seVwiLCBcImFjY2Vzc2liaWxpdHlSZXF1aXJlZFwiLCBcImFjY2Vzc2liaWxpdHlSb2xlXCIsIFwiYWNjZXNzaWJpbGl0eVJvbGVEZXNjcmlwdGlvblwiLCBcImFjY2Vzc2liaWxpdHlSb3dDb3VudFwiLCBcImFjY2Vzc2liaWxpdHlSb3dJbmRleFwiLCBcImFjY2Vzc2liaWxpdHlSb3dTcGFuXCIsIFwiYWNjZXNzaWJpbGl0eVNlbGVjdGVkXCIsIFwiYWNjZXNzaWJpbGl0eVNldFNpemVcIiwgXCJhY2Nlc3NpYmlsaXR5U29ydFwiLCBcImFjY2Vzc2liaWxpdHlWYWx1ZU1heFwiLCBcImFjY2Vzc2liaWxpdHlWYWx1ZU1pblwiLCBcImFjY2Vzc2liaWxpdHlWYWx1ZU5vd1wiLCBcImFjY2Vzc2liaWxpdHlWYWx1ZVRleHRcIiwgXCJkYXRhU2V0XCIsIFwiZm9jdXNhYmxlXCIsIFwibmF0aXZlSURcIiwgXCJwb2ludGVyRXZlbnRzXCIsIFwic3R5bGVcIiwgXCJ0ZXN0SURcIl07XG52YXIgZW1wdHlPYmplY3QgPSB7fTtcbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7XG52YXIgdXBwZXJjYXNlUGF0dGVybiA9IC9bQS1aXS9nO1xuXG5mdW5jdGlvbiB0b0h5cGhlbkxvd2VyKG1hdGNoKSB7XG4gIHJldHVybiAnLScgKyBtYXRjaC50b0xvd2VyQ2FzZSgpO1xufVxuXG5mdW5jdGlvbiBoeXBoZW5hdGVTdHJpbmcoc3RyKSB7XG4gIHJldHVybiBzdHIucmVwbGFjZSh1cHBlcmNhc2VQYXR0ZXJuLCB0b0h5cGhlbkxvd2VyKTtcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0lEUmVmTGlzdChpZFJlZkxpc3QpIHtcbiAgcmV0dXJuIGlzQXJyYXkoaWRSZWZMaXN0KSA/IGlkUmVmTGlzdC5qb2luKCcgJykgOiBpZFJlZkxpc3Q7XG59XG5cbnZhciBwb2ludGVyRXZlbnRzU3R5bGVzID0gX1N0eWxlU2hlZXQyLmRlZmF1bHQuY3JlYXRlKHtcbiAgYXV0bzoge1xuICAgIHBvaW50ZXJFdmVudHM6ICdhdXRvJ1xuICB9LFxuICAnYm94LW5vbmUnOiB7XG4gICAgcG9pbnRlckV2ZW50czogJ2JveC1ub25lJ1xuICB9LFxuICAnYm94LW9ubHknOiB7XG4gICAgcG9pbnRlckV2ZW50czogJ2JveC1vbmx5J1xuICB9LFxuICBub25lOiB7XG4gICAgcG9pbnRlckV2ZW50czogJ25vbmUnXG4gIH1cbn0pO1xuXG52YXIgY3JlYXRlRE9NUHJvcHMgPSAoZWxlbWVudFR5cGUsIHByb3BzLCBvcHRpb25zKSA9PiB7XG4gIGlmICghcHJvcHMpIHtcbiAgICBwcm9wcyA9IGVtcHR5T2JqZWN0O1xuICB9XG5cbiAgdmFyIF9wcm9wcyA9IHByb3BzLFxuICAgICAgYWNjZXNzaWJpbGl0eUFjdGl2ZURlc2NlbmRhbnQgPSBfcHJvcHMuYWNjZXNzaWJpbGl0eUFjdGl2ZURlc2NlbmRhbnQsXG4gICAgICBhY2Nlc3NpYmlsaXR5QXRvbWljID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlBdG9taWMsXG4gICAgICBhY2Nlc3NpYmlsaXR5QXV0b0NvbXBsZXRlID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlBdXRvQ29tcGxldGUsXG4gICAgICBhY2Nlc3NpYmlsaXR5QnVzeSA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5QnVzeSxcbiAgICAgIGFjY2Vzc2liaWxpdHlDaGVja2VkID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlDaGVja2VkLFxuICAgICAgYWNjZXNzaWJpbGl0eUNvbHVtbkNvdW50ID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlDb2x1bW5Db3VudCxcbiAgICAgIGFjY2Vzc2liaWxpdHlDb2x1bW5JbmRleCA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5Q29sdW1uSW5kZXgsXG4gICAgICBhY2Nlc3NpYmlsaXR5Q29sdW1uU3BhbiA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5Q29sdW1uU3BhbixcbiAgICAgIGFjY2Vzc2liaWxpdHlDb250cm9scyA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5Q29udHJvbHMsXG4gICAgICBhY2Nlc3NpYmlsaXR5Q3VycmVudCA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5Q3VycmVudCxcbiAgICAgIGFjY2Vzc2liaWxpdHlEZXNjcmliZWRCeSA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5RGVzY3JpYmVkQnksXG4gICAgICBhY2Nlc3NpYmlsaXR5RGV0YWlscyA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5RGV0YWlscyxcbiAgICAgIGFjY2Vzc2liaWxpdHlEaXNhYmxlZCA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5RGlzYWJsZWQsXG4gICAgICBhY2Nlc3NpYmlsaXR5RXJyb3JNZXNzYWdlID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlFcnJvck1lc3NhZ2UsXG4gICAgICBhY2Nlc3NpYmlsaXR5RXhwYW5kZWQgPSBfcHJvcHMuYWNjZXNzaWJpbGl0eUV4cGFuZGVkLFxuICAgICAgYWNjZXNzaWJpbGl0eUZsb3dUbyA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5Rmxvd1RvLFxuICAgICAgYWNjZXNzaWJpbGl0eUhhc1BvcHVwID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlIYXNQb3B1cCxcbiAgICAgIGFjY2Vzc2liaWxpdHlIaWRkZW4gPSBfcHJvcHMuYWNjZXNzaWJpbGl0eUhpZGRlbixcbiAgICAgIGFjY2Vzc2liaWxpdHlJbnZhbGlkID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlJbnZhbGlkLFxuICAgICAgYWNjZXNzaWJpbGl0eUtleVNob3J0Y3V0cyA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5S2V5U2hvcnRjdXRzLFxuICAgICAgYWNjZXNzaWJpbGl0eUxhYmVsID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlMYWJlbCxcbiAgICAgIGFjY2Vzc2liaWxpdHlMYWJlbGxlZEJ5ID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlMYWJlbGxlZEJ5LFxuICAgICAgYWNjZXNzaWJpbGl0eUxldmVsID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlMZXZlbCxcbiAgICAgIGFjY2Vzc2liaWxpdHlMaXZlUmVnaW9uID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlMaXZlUmVnaW9uLFxuICAgICAgYWNjZXNzaWJpbGl0eU1vZGFsID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlNb2RhbCxcbiAgICAgIGFjY2Vzc2liaWxpdHlNdWx0aWxpbmUgPSBfcHJvcHMuYWNjZXNzaWJpbGl0eU11bHRpbGluZSxcbiAgICAgIGFjY2Vzc2liaWxpdHlNdWx0aVNlbGVjdGFibGUgPSBfcHJvcHMuYWNjZXNzaWJpbGl0eU11bHRpU2VsZWN0YWJsZSxcbiAgICAgIGFjY2Vzc2liaWxpdHlPcmllbnRhdGlvbiA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5T3JpZW50YXRpb24sXG4gICAgICBhY2Nlc3NpYmlsaXR5T3ducyA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5T3ducyxcbiAgICAgIGFjY2Vzc2liaWxpdHlQbGFjZWhvbGRlciA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5UGxhY2Vob2xkZXIsXG4gICAgICBhY2Nlc3NpYmlsaXR5UG9zSW5TZXQgPSBfcHJvcHMuYWNjZXNzaWJpbGl0eVBvc0luU2V0LFxuICAgICAgYWNjZXNzaWJpbGl0eVByZXNzZWQgPSBfcHJvcHMuYWNjZXNzaWJpbGl0eVByZXNzZWQsXG4gICAgICBhY2Nlc3NpYmlsaXR5UmVhZE9ubHkgPSBfcHJvcHMuYWNjZXNzaWJpbGl0eVJlYWRPbmx5LFxuICAgICAgYWNjZXNzaWJpbGl0eVJlcXVpcmVkID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlSZXF1aXJlZCxcbiAgICAgIGFjY2Vzc2liaWxpdHlSb2xlID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlSb2xlLFxuICAgICAgYWNjZXNzaWJpbGl0eVJvbGVEZXNjcmlwdGlvbiA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uLFxuICAgICAgYWNjZXNzaWJpbGl0eVJvd0NvdW50ID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlSb3dDb3VudCxcbiAgICAgIGFjY2Vzc2liaWxpdHlSb3dJbmRleCA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5Um93SW5kZXgsXG4gICAgICBhY2Nlc3NpYmlsaXR5Um93U3BhbiA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5Um93U3BhbixcbiAgICAgIGFjY2Vzc2liaWxpdHlTZWxlY3RlZCA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5U2VsZWN0ZWQsXG4gICAgICBhY2Nlc3NpYmlsaXR5U2V0U2l6ZSA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5U2V0U2l6ZSxcbiAgICAgIGFjY2Vzc2liaWxpdHlTb3J0ID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlTb3J0LFxuICAgICAgYWNjZXNzaWJpbGl0eVZhbHVlTWF4ID0gX3Byb3BzLmFjY2Vzc2liaWxpdHlWYWx1ZU1heCxcbiAgICAgIGFjY2Vzc2liaWxpdHlWYWx1ZU1pbiA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5VmFsdWVNaW4sXG4gICAgICBhY2Nlc3NpYmlsaXR5VmFsdWVOb3cgPSBfcHJvcHMuYWNjZXNzaWJpbGl0eVZhbHVlTm93LFxuICAgICAgYWNjZXNzaWJpbGl0eVZhbHVlVGV4dCA9IF9wcm9wcy5hY2Nlc3NpYmlsaXR5VmFsdWVUZXh0LFxuICAgICAgZGF0YVNldCA9IF9wcm9wcy5kYXRhU2V0LFxuICAgICAgZm9jdXNhYmxlID0gX3Byb3BzLmZvY3VzYWJsZSxcbiAgICAgIG5hdGl2ZUlEID0gX3Byb3BzLm5hdGl2ZUlELFxuICAgICAgcG9pbnRlckV2ZW50cyA9IF9wcm9wcy5wb2ludGVyRXZlbnRzLFxuICAgICAgc3R5bGUgPSBfcHJvcHMuc3R5bGUsXG4gICAgICB0ZXN0SUQgPSBfcHJvcHMudGVzdElELFxuICAgICAgZG9tUHJvcHMgPSAoMCwgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UyLmRlZmF1bHQpKF9wcm9wcywgX2V4Y2x1ZGVkKTtcbiAgdmFyIGRpc2FibGVkID0gYWNjZXNzaWJpbGl0eURpc2FibGVkO1xuXG4gIHZhciByb2xlID0gX0FjY2Vzc2liaWxpdHlVdGlsLmRlZmF1bHQucHJvcHNUb0FyaWFSb2xlKHByb3BzKTsgLy8gQUNDRVNTSUJJTElUWVxuXG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlBY3RpdmVEZXNjZW5kYW50ICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS1hY3RpdmVkZXNjZW5kYW50J10gPSBhY2Nlc3NpYmlsaXR5QWN0aXZlRGVzY2VuZGFudDtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5QXRvbWljICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS1hdG9taWMnXSA9IGFjY2Vzc2liaWxpdHlBdG9taWM7XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eUF1dG9Db21wbGV0ZSAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtYXV0b2NvbXBsZXRlJ10gPSBhY2Nlc3NpYmlsaXR5QXV0b0NvbXBsZXRlO1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlCdXN5ICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS1idXN5J10gPSBhY2Nlc3NpYmlsaXR5QnVzeTtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5Q2hlY2tlZCAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtY2hlY2tlZCddID0gYWNjZXNzaWJpbGl0eUNoZWNrZWQ7XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eUNvbHVtbkNvdW50ICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS1jb2xjb3VudCddID0gYWNjZXNzaWJpbGl0eUNvbHVtbkNvdW50O1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlDb2x1bW5JbmRleCAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtY29saW5kZXgnXSA9IGFjY2Vzc2liaWxpdHlDb2x1bW5JbmRleDtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5Q29sdW1uU3BhbiAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtY29sc3BhbiddID0gYWNjZXNzaWJpbGl0eUNvbHVtblNwYW47XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eUNvbnRyb2xzICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS1jb250cm9scyddID0gcHJvY2Vzc0lEUmVmTGlzdChhY2Nlc3NpYmlsaXR5Q29udHJvbHMpO1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlDdXJyZW50ICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS1jdXJyZW50J10gPSBhY2Nlc3NpYmlsaXR5Q3VycmVudDtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5RGVzY3JpYmVkQnkgIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydhcmlhLWRlc2NyaWJlZGJ5J10gPSBwcm9jZXNzSURSZWZMaXN0KGFjY2Vzc2liaWxpdHlEZXNjcmliZWRCeSk7XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eURldGFpbHMgIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydhcmlhLWRldGFpbHMnXSA9IGFjY2Vzc2liaWxpdHlEZXRhaWxzO1xuICB9XG5cbiAgaWYgKGRpc2FibGVkID09PSB0cnVlKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtZGlzYWJsZWQnXSA9IHRydWU7IC8vIEVuaGFuY2Ugd2l0aCBuYXRpdmUgc2VtYW50aWNzXG5cbiAgICBpZiAoZWxlbWVudFR5cGUgPT09ICdidXR0b24nIHx8IGVsZW1lbnRUeXBlID09PSAnZm9ybScgfHwgZWxlbWVudFR5cGUgPT09ICdpbnB1dCcgfHwgZWxlbWVudFR5cGUgPT09ICdzZWxlY3QnIHx8IGVsZW1lbnRUeXBlID09PSAndGV4dGFyZWEnKSB7XG4gICAgICBkb21Qcm9wcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlFcnJvck1lc3NhZ2UgIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydhcmlhLWVycm9ybWVzc2FnZSddID0gYWNjZXNzaWJpbGl0eUVycm9yTWVzc2FnZTtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5RXhwYW5kZWQgIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydhcmlhLWV4cGFuZGVkJ10gPSBhY2Nlc3NpYmlsaXR5RXhwYW5kZWQ7XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eUZsb3dUbyAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtZmxvd3RvJ10gPSBwcm9jZXNzSURSZWZMaXN0KGFjY2Vzc2liaWxpdHlGbG93VG8pO1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlIYXNQb3B1cCAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtaGFzcG9wdXAnXSA9IGFjY2Vzc2liaWxpdHlIYXNQb3B1cDtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5SGlkZGVuID09PSB0cnVlKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtaGlkZGVuJ10gPSBhY2Nlc3NpYmlsaXR5SGlkZGVuO1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlJbnZhbGlkICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS1pbnZhbGlkJ10gPSBhY2Nlc3NpYmlsaXR5SW52YWxpZDtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5S2V5U2hvcnRjdXRzICE9IG51bGwgJiYgQXJyYXkuaXNBcnJheShhY2Nlc3NpYmlsaXR5S2V5U2hvcnRjdXRzKSkge1xuICAgIGRvbVByb3BzWydhcmlhLWtleXNob3J0Y3V0cyddID0gYWNjZXNzaWJpbGl0eUtleVNob3J0Y3V0cy5qb2luKCcgJyk7XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eUxhYmVsICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS1sYWJlbCddID0gYWNjZXNzaWJpbGl0eUxhYmVsO1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlMYWJlbGxlZEJ5ICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS1sYWJlbGxlZGJ5J10gPSBwcm9jZXNzSURSZWZMaXN0KGFjY2Vzc2liaWxpdHlMYWJlbGxlZEJ5KTtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5TGV2ZWwgIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydhcmlhLWxldmVsJ10gPSBhY2Nlc3NpYmlsaXR5TGV2ZWw7XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eUxpdmVSZWdpb24gIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydhcmlhLWxpdmUnXSA9IGFjY2Vzc2liaWxpdHlMaXZlUmVnaW9uID09PSAnbm9uZScgPyAnb2ZmJyA6IGFjY2Vzc2liaWxpdHlMaXZlUmVnaW9uO1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlNb2RhbCAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtbW9kYWwnXSA9IGFjY2Vzc2liaWxpdHlNb2RhbDtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5TXVsdGlsaW5lICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS1tdWx0aWxpbmUnXSA9IGFjY2Vzc2liaWxpdHlNdWx0aWxpbmU7XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eU11bHRpU2VsZWN0YWJsZSAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtbXVsdGlzZWxlY3RhYmxlJ10gPSBhY2Nlc3NpYmlsaXR5TXVsdGlTZWxlY3RhYmxlO1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlPcmllbnRhdGlvbiAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtb3JpZW50YXRpb24nXSA9IGFjY2Vzc2liaWxpdHlPcmllbnRhdGlvbjtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5T3ducyAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtb3ducyddID0gcHJvY2Vzc0lEUmVmTGlzdChhY2Nlc3NpYmlsaXR5T3ducyk7XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eVBsYWNlaG9sZGVyICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS1wbGFjZWhvbGRlciddID0gYWNjZXNzaWJpbGl0eVBsYWNlaG9sZGVyO1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlQb3NJblNldCAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtcG9zaW5zZXQnXSA9IGFjY2Vzc2liaWxpdHlQb3NJblNldDtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5UHJlc3NlZCAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtcHJlc3NlZCddID0gYWNjZXNzaWJpbGl0eVByZXNzZWQ7XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eVJlYWRPbmx5ICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS1yZWFkb25seSddID0gYWNjZXNzaWJpbGl0eVJlYWRPbmx5OyAvLyBFbmhhbmNlIHdpdGggbmF0aXZlIHNlbWFudGljc1xuXG4gICAgaWYgKGVsZW1lbnRUeXBlID09PSAnaW5wdXQnIHx8IGVsZW1lbnRUeXBlID09PSAnc2VsZWN0JyB8fCBlbGVtZW50VHlwZSA9PT0gJ3RleHRhcmVhJykge1xuICAgICAgZG9tUHJvcHMucmVhZE9ubHkgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5UmVxdWlyZWQgIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydhcmlhLXJlcXVpcmVkJ10gPSBhY2Nlc3NpYmlsaXR5UmVxdWlyZWQ7IC8vIEVuaGFuY2Ugd2l0aCBuYXRpdmUgc2VtYW50aWNzXG5cbiAgICBpZiAoZWxlbWVudFR5cGUgPT09ICdpbnB1dCcgfHwgZWxlbWVudFR5cGUgPT09ICdzZWxlY3QnIHx8IGVsZW1lbnRUeXBlID09PSAndGV4dGFyZWEnKSB7XG4gICAgICBkb21Qcm9wcy5yZXF1aXJlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHJvbGUgIT0gbnVsbCkge1xuICAgIC8vICdwcmVzZW50YXRpb24nIHN5bm9ueW0gaGFzIHdpZGVyIGJyb3dzZXIgc3VwcG9ydFxuICAgIGRvbVByb3BzWydyb2xlJ10gPSByb2xlID09PSAnbm9uZScgPyAncHJlc2VudGF0aW9uJyA6IHJvbGU7XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eVJvbGVEZXNjcmlwdGlvbiAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtcm9sZWRlc2NyaXB0aW9uJ10gPSBhY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uO1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlSb3dDb3VudCAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtcm93Y291bnQnXSA9IGFjY2Vzc2liaWxpdHlSb3dDb3VudDtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5Um93SW5kZXggIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydhcmlhLXJvd2luZGV4J10gPSBhY2Nlc3NpYmlsaXR5Um93SW5kZXg7XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eVJvd1NwYW4gIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydhcmlhLXJvd3NwYW4nXSA9IGFjY2Vzc2liaWxpdHlSb3dTcGFuO1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlTZWxlY3RlZCAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtc2VsZWN0ZWQnXSA9IGFjY2Vzc2liaWxpdHlTZWxlY3RlZDtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5U2V0U2l6ZSAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtc2V0c2l6ZSddID0gYWNjZXNzaWJpbGl0eVNldFNpemU7XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eVNvcnQgIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydhcmlhLXNvcnQnXSA9IGFjY2Vzc2liaWxpdHlTb3J0O1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlWYWx1ZU1heCAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHNbJ2FyaWEtdmFsdWVtYXgnXSA9IGFjY2Vzc2liaWxpdHlWYWx1ZU1heDtcbiAgfVxuXG4gIGlmIChhY2Nlc3NpYmlsaXR5VmFsdWVNaW4gIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydhcmlhLXZhbHVlbWluJ10gPSBhY2Nlc3NpYmlsaXR5VmFsdWVNaW47XG4gIH1cblxuICBpZiAoYWNjZXNzaWJpbGl0eVZhbHVlTm93ICE9IG51bGwpIHtcbiAgICBkb21Qcm9wc1snYXJpYS12YWx1ZW5vdyddID0gYWNjZXNzaWJpbGl0eVZhbHVlTm93O1xuICB9XG5cbiAgaWYgKGFjY2Vzc2liaWxpdHlWYWx1ZVRleHQgIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydhcmlhLXZhbHVldGV4dCddID0gYWNjZXNzaWJpbGl0eVZhbHVlVGV4dDtcbiAgfSAvLyBcImRhdGFTZXRcIiByZXBsYWNlZCB3aXRoIFwiZGF0YS0qXCJcblxuXG4gIGlmIChkYXRhU2V0ICE9IG51bGwpIHtcbiAgICBmb3IgKHZhciBkYXRhUHJvcCBpbiBkYXRhU2V0KSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChkYXRhU2V0LCBkYXRhUHJvcCkpIHtcbiAgICAgICAgdmFyIGRhdGFOYW1lID0gaHlwaGVuYXRlU3RyaW5nKGRhdGFQcm9wKTtcbiAgICAgICAgdmFyIGRhdGFWYWx1ZSA9IGRhdGFTZXRbZGF0YVByb3BdO1xuXG4gICAgICAgIGlmIChkYXRhVmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgIGRvbVByb3BzW1wiZGF0YS1cIiArIGRhdGFOYW1lXSA9IGRhdGFWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvLyBGT0NVU1xuICAvLyBcImZvY3VzYWJsZVwiIGluZGljYXRlcyB0aGF0IGFuIGVsZW1lbnQgbWF5IGJlIGEga2V5Ym9hcmQgdGFiLXN0b3AuXG5cblxuICBpZiAoZm9jdXNhYmxlID09PSBmYWxzZSkge1xuICAgIGRvbVByb3BzLnRhYkluZGV4ID0gJy0xJztcbiAgfVxuXG4gIGlmICggLy8gVGhlc2UgbmF0aXZlIGVsZW1lbnRzIGFyZSBrZXlib2FyZCBmb2N1c2FibGUgYnkgZGVmYXVsdFxuICBlbGVtZW50VHlwZSA9PT0gJ2EnIHx8IGVsZW1lbnRUeXBlID09PSAnYnV0dG9uJyB8fCBlbGVtZW50VHlwZSA9PT0gJ2lucHV0JyB8fCBlbGVtZW50VHlwZSA9PT0gJ3NlbGVjdCcgfHwgZWxlbWVudFR5cGUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICBpZiAoZm9jdXNhYmxlID09PSBmYWxzZSB8fCBhY2Nlc3NpYmlsaXR5RGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgIGRvbVByb3BzLnRhYkluZGV4ID0gJy0xJztcbiAgICB9XG4gIH0gZWxzZSBpZiAoIC8vIFRoZXNlIHJvbGVzIGFyZSBtYWRlIGtleWJvYXJkIGZvY3VzYWJsZSBieSBkZWZhdWx0XG4gIHJvbGUgPT09ICdidXR0b24nIHx8IHJvbGUgPT09ICdjaGVja2JveCcgfHwgcm9sZSA9PT0gJ2xpbmsnIHx8IHJvbGUgPT09ICdyYWRpbycgfHwgcm9sZSA9PT0gJ3RleHRib3gnIHx8IHJvbGUgPT09ICdzd2l0Y2gnKSB7XG4gICAgaWYgKGZvY3VzYWJsZSAhPT0gZmFsc2UpIHtcbiAgICAgIGRvbVByb3BzLnRhYkluZGV4ID0gJzAnO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBFdmVyeXRoaW5nIGVsc2UgbXVzdCBleHBsaWNpdGx5IHNldCB0aGUgcHJvcFxuICAgIGlmIChmb2N1c2FibGUgPT09IHRydWUpIHtcbiAgICAgIGRvbVByb3BzLnRhYkluZGV4ID0gJzAnO1xuICAgIH1cbiAgfSAvLyBSZXNvbHZlIHN0eWxlc1xuXG5cbiAgdmFyIF9TdHlsZVNoZWV0ID0gKDAsIF9TdHlsZVNoZWV0Mi5kZWZhdWx0KShbc3R5bGUsIHBvaW50ZXJFdmVudHMgJiYgcG9pbnRlckV2ZW50c1N0eWxlc1twb2ludGVyRXZlbnRzXV0sIHtcbiAgICB3cml0aW5nRGlyZWN0aW9uOiBvcHRpb25zID8gb3B0aW9ucy53cml0aW5nRGlyZWN0aW9uIDogJ2x0cidcbiAgfSksXG4gICAgICBjbGFzc05hbWUgPSBfU3R5bGVTaGVldFswXSxcbiAgICAgIGlubGluZVN0eWxlID0gX1N0eWxlU2hlZXRbMV07XG5cbiAgaWYgKGNsYXNzTmFtZSkge1xuICAgIGRvbVByb3BzLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgfVxuXG4gIGlmIChpbmxpbmVTdHlsZSkge1xuICAgIGRvbVByb3BzLnN0eWxlID0gaW5saW5lU3R5bGU7XG4gIH0gLy8gT1RIRVJcbiAgLy8gTmF0aXZlIGVsZW1lbnQgSURcblxuXG4gIGlmIChuYXRpdmVJRCAhPSBudWxsKSB7XG4gICAgZG9tUHJvcHMuaWQgPSBuYXRpdmVJRDtcbiAgfSAvLyBBdXRvbWF0ZWQgdGVzdCBJRHNcblxuXG4gIGlmICh0ZXN0SUQgIT0gbnVsbCkge1xuICAgIGRvbVByb3BzWydkYXRhLXRlc3RpZCddID0gdGVzdElEO1xuICB9XG5cbiAgaWYgKGRvbVByb3BzLnR5cGUgPT0gbnVsbCAmJiBlbGVtZW50VHlwZSA9PT0gJ2J1dHRvbicpIHtcbiAgICBkb21Qcm9wcy50eXBlID0gJ2J1dHRvbic7XG4gIH1cblxuICByZXR1cm4gZG9tUHJvcHM7XG59O1xuXG52YXIgX2RlZmF1bHQgPSBjcmVhdGVET01Qcm9wcztcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/createDOMProps/index.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/forwardedProps/index.js': /*!********************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/forwardedProps/index.js ***! \********************************************************************/ /***/ (__unused_webpack_module, exports) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports.touchProps = exports.styleProps = exports.mouseProps = exports.keyboardProps = exports.focusProps = exports.defaultProps = exports.clickProps = exports.accessibilityProps = void 0;\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar defaultProps = {\n children: true,\n dataSet: true,\n nativeID: true,\n ref: true,\n suppressHydrationWarning: true,\n testID: true\n};\nexports.defaultProps = defaultProps;\nvar accessibilityProps = {\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n accessibilityDisabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRole: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true,\n dir: true,\n focusable: true\n};\nexports.accessibilityProps = accessibilityProps;\nvar clickProps = {\n onClick: true,\n onClickCapture: true,\n onContextMenu: true\n};\nexports.clickProps = clickProps;\nvar focusProps = {\n onBlur: true,\n onFocus: true\n};\nexports.focusProps = focusProps;\nvar keyboardProps = {\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true\n};\nexports.keyboardProps = keyboardProps;\nvar mouseProps = {\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOver: true,\n onMouseOut: true,\n onMouseUp: true\n};\nexports.mouseProps = mouseProps;\nvar touchProps = {\n onTouchCancel: true,\n onTouchCancelCapture: true,\n onTouchEnd: true,\n onTouchEndCapture: true,\n onTouchMove: true,\n onTouchMoveCapture: true,\n onTouchStart: true,\n onTouchStartCapture: true\n};\nexports.touchProps = touchProps;\nvar styleProps = {\n classList: true,\n style: true\n};\nexports.styleProps = styleProps;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL2ZvcndhcmRlZFByb3BzL2luZGV4LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLGtCQUFrQjtBQUNsQixrQkFBa0IsR0FBRyxrQkFBa0IsR0FBRyxrQkFBa0IsR0FBRyxxQkFBcUIsR0FBRyxrQkFBa0IsR0FBRyxvQkFBb0IsR0FBRyxrQkFBa0IsR0FBRywwQkFBMEI7O0FBRWxMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvZm9yd2FyZGVkUHJvcHMvaW5kZXguanM/ODYzYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMudG91Y2hQcm9wcyA9IGV4cG9ydHMuc3R5bGVQcm9wcyA9IGV4cG9ydHMubW91c2VQcm9wcyA9IGV4cG9ydHMua2V5Ym9hcmRQcm9wcyA9IGV4cG9ydHMuZm9jdXNQcm9wcyA9IGV4cG9ydHMuZGVmYXVsdFByb3BzID0gZXhwb3J0cy5jbGlja1Byb3BzID0gZXhwb3J0cy5hY2Nlc3NpYmlsaXR5UHJvcHMgPSB2b2lkIDA7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBNZXRhIFBsYXRmb3JtcywgSW5jLiBhbmQgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIGRlZmF1bHRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IHRydWUsXG4gIGRhdGFTZXQ6IHRydWUsXG4gIG5hdGl2ZUlEOiB0cnVlLFxuICByZWY6IHRydWUsXG4gIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzogdHJ1ZSxcbiAgdGVzdElEOiB0cnVlXG59O1xuZXhwb3J0cy5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG52YXIgYWNjZXNzaWJpbGl0eVByb3BzID0ge1xuICBhY2Nlc3NpYmlsaXR5QWN0aXZlRGVzY2VuZGFudDogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eUF0b21pYzogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eUF1dG9Db21wbGV0ZTogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eUJ1c3k6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlDaGVja2VkOiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5Q29sdW1uQ291bnQ6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlDb2x1bW5JbmRleDogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eUNvbHVtblNwYW46IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlDb250cm9sczogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eUN1cnJlbnQ6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlEZXNjcmliZWRCeTogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eURldGFpbHM6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlEaXNhYmxlZDogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eUVycm9yTWVzc2FnZTogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eUV4cGFuZGVkOiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5Rmxvd1RvOiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5SGFzUG9wdXA6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlIaWRkZW46IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlJbnZhbGlkOiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5S2V5U2hvcnRjdXRzOiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5TGFiZWw6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlMYWJlbGxlZEJ5OiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5TGV2ZWw6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlMaXZlUmVnaW9uOiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5TW9kYWw6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlNdWx0aWxpbmU6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlNdWx0aVNlbGVjdGFibGU6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlPcmllbnRhdGlvbjogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eU93bnM6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlQbGFjZWhvbGRlcjogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eVBvc0luU2V0OiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5UHJlc3NlZDogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eVJlYWRPbmx5OiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5UmVxdWlyZWQ6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlSb2xlOiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uOiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5Um93Q291bnQ6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlSb3dJbmRleDogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eVJvd1NwYW46IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlTZWxlY3RlZDogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eVNldFNpemU6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlTb3J0OiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5VmFsdWVNYXg6IHRydWUsXG4gIGFjY2Vzc2liaWxpdHlWYWx1ZU1pbjogdHJ1ZSxcbiAgYWNjZXNzaWJpbGl0eVZhbHVlTm93OiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5VmFsdWVUZXh0OiB0cnVlLFxuICBkaXI6IHRydWUsXG4gIGZvY3VzYWJsZTogdHJ1ZVxufTtcbmV4cG9ydHMuYWNjZXNzaWJpbGl0eVByb3BzID0gYWNjZXNzaWJpbGl0eVByb3BzO1xudmFyIGNsaWNrUHJvcHMgPSB7XG4gIG9uQ2xpY2s6IHRydWUsXG4gIG9uQ2xpY2tDYXB0dXJlOiB0cnVlLFxuICBvbkNvbnRleHRNZW51OiB0cnVlXG59O1xuZXhwb3J0cy5jbGlja1Byb3BzID0gY2xpY2tQcm9wcztcbnZhciBmb2N1c1Byb3BzID0ge1xuICBvbkJsdXI6IHRydWUsXG4gIG9uRm9jdXM6IHRydWVcbn07XG5leHBvcnRzLmZvY3VzUHJvcHMgPSBmb2N1c1Byb3BzO1xudmFyIGtleWJvYXJkUHJvcHMgPSB7XG4gIG9uS2V5RG93bjogdHJ1ZSxcbiAgb25LZXlEb3duQ2FwdHVyZTogdHJ1ZSxcbiAgb25LZXlVcDogdHJ1ZSxcbiAgb25LZXlVcENhcHR1cmU6IHRydWVcbn07XG5leHBvcnRzLmtleWJvYXJkUHJvcHMgPSBrZXlib2FyZFByb3BzO1xudmFyIG1vdXNlUHJvcHMgPSB7XG4gIG9uTW91c2VEb3duOiB0cnVlLFxuICBvbk1vdXNlRW50ZXI6IHRydWUsXG4gIG9uTW91c2VMZWF2ZTogdHJ1ZSxcbiAgb25Nb3VzZU1vdmU6IHRydWUsXG4gIG9uTW91c2VPdmVyOiB0cnVlLFxuICBvbk1vdXNlT3V0OiB0cnVlLFxuICBvbk1vdXNlVXA6IHRydWVcbn07XG5leHBvcnRzLm1vdXNlUHJvcHMgPSBtb3VzZVByb3BzO1xudmFyIHRvdWNoUHJvcHMgPSB7XG4gIG9uVG91Y2hDYW5jZWw6IHRydWUsXG4gIG9uVG91Y2hDYW5jZWxDYXB0dXJlOiB0cnVlLFxuICBvblRvdWNoRW5kOiB0cnVlLFxuICBvblRvdWNoRW5kQ2FwdHVyZTogdHJ1ZSxcbiAgb25Ub3VjaE1vdmU6IHRydWUsXG4gIG9uVG91Y2hNb3ZlQ2FwdHVyZTogdHJ1ZSxcbiAgb25Ub3VjaFN0YXJ0OiB0cnVlLFxuICBvblRvdWNoU3RhcnRDYXB0dXJlOiB0cnVlXG59O1xuZXhwb3J0cy50b3VjaFByb3BzID0gdG91Y2hQcm9wcztcbnZhciBzdHlsZVByb3BzID0ge1xuICBjbGFzc0xpc3Q6IHRydWUsXG4gIHN0eWxlOiB0cnVlXG59O1xuZXhwb3J0cy5zdHlsZVByb3BzID0gc3R5bGVQcm9wczsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/forwardedProps/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/getBoundingClientRect/index.js': /*!***************************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/getBoundingClientRect/index.js ***! \***************************************************************************/ /***/ (module, exports) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar getBoundingClientRect = node => {\n if (node != null) {\n var isElement = node.nodeType === 1;\n /* Node.ELEMENT_NODE */\n\n if (isElement && typeof node.getBoundingClientRect === \'function\') {\n return node.getBoundingClientRect();\n }\n }\n};\n\nvar _default = getBoundingClientRect;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL2dldEJvdW5kaW5nQ2xpZW50UmVjdC9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvZ2V0Qm91bmRpbmdDbGllbnRSZWN0L2luZGV4LmpzP2FhMjciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlci5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIGdldEJvdW5kaW5nQ2xpZW50UmVjdCA9IG5vZGUgPT4ge1xuICBpZiAobm9kZSAhPSBudWxsKSB7XG4gICAgdmFyIGlzRWxlbWVudCA9IG5vZGUubm9kZVR5cGUgPT09IDE7XG4gICAgLyogTm9kZS5FTEVNRU5UX05PREUgKi9cblxuICAgIGlmIChpc0VsZW1lbnQgJiYgdHlwZW9mIG5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG4gIH1cbn07XG5cbnZhciBfZGVmYXVsdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdDtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/getBoundingClientRect/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/isSelectionValid/index.js': /*!**********************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/isSelectionValid/index.js ***! \**********************************************************************/ /***/ (module, exports) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports["default"] = isSelectionValid;\n\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nfunction isSelectionValid() {\n var selection = window.getSelection();\n var string = selection.toString();\n var anchorNode = selection.anchorNode;\n var focusNode = selection.focusNode;\n var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;\n return string.length >= 1 && string !== \'\\n\' && isTextNode;\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL2lzU2VsZWN0aW9uVmFsaWQvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvaXNTZWxlY3Rpb25WYWxpZC9pbmRleC5qcz8wMjNkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gaXNTZWxlY3Rpb25WYWxpZDtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cbmZ1bmN0aW9uIGlzU2VsZWN0aW9uVmFsaWQoKSB7XG4gIHZhciBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gIHZhciBzdHJpbmcgPSBzZWxlY3Rpb24udG9TdHJpbmcoKTtcbiAgdmFyIGFuY2hvck5vZGUgPSBzZWxlY3Rpb24uYW5jaG9yTm9kZTtcbiAgdmFyIGZvY3VzTm9kZSA9IHNlbGVjdGlvbi5mb2N1c05vZGU7XG4gIHZhciBpc1RleHROb2RlID0gYW5jaG9yTm9kZSAmJiBhbmNob3JOb2RlLm5vZGVUeXBlID09PSB3aW5kb3cuTm9kZS5URVhUX05PREUgfHwgZm9jdXNOb2RlICYmIGZvY3VzTm9kZS5ub2RlVHlwZSA9PT0gd2luZG93Lk5vZGUuVEVYVF9OT0RFO1xuICByZXR1cm4gc3RyaW5nLmxlbmd0aCA+PSAxICYmIHN0cmluZyAhPT0gJ1xcbicgJiYgaXNUZXh0Tm9kZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/isSelectionValid/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/isWebColor/index.js': /*!****************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/isWebColor/index.js ***! \****************************************************************/ /***/ (module, exports) => { 'use strict'; eval( "\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\n\nvar _default = isWebColor;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL2lzV2ViQ29sb3IvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvbW9kdWxlcy9pc1dlYkNvbG9yL2luZGV4LmpzPzlmMDgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlci5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIGlzV2ViQ29sb3IgPSBjb2xvciA9PiBjb2xvciA9PT0gJ2N1cnJlbnRjb2xvcicgfHwgY29sb3IgPT09ICdjdXJyZW50Q29sb3InIHx8IGNvbG9yID09PSAnaW5oZXJpdCcgfHwgY29sb3IuaW5kZXhPZigndmFyKCcpID09PSAwO1xuXG52YXIgX2RlZmF1bHQgPSBpc1dlYkNvbG9yO1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/isWebColor/index.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/mergeRefs/index.js': /*!***************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/mergeRefs/index.js ***! \***************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireWildcard = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ "../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = mergeRefs;\n\nvar React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nfunction mergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return function forwardRef(node) {\n args.forEach(ref => {\n if (ref == null) {\n return;\n }\n\n if (typeof ref === \'function\') {\n ref(node);\n return;\n }\n\n if (typeof ref === \'object\') {\n ref.current = node;\n return;\n }\n\n console.error("mergeRefs cannot handle Refs of type boolean, number or string, received ref " + String(ref));\n });\n };\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL21lcmdlUmVmcy9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw4QkFBOEIsNEpBQWdFOztBQUU5RixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWYsb0NBQW9DLG1CQUFPLENBQUMsb0JBQU87O0FBRW5EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNFQUFzRSxhQUFhO0FBQ25GO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvbWVyZ2VSZWZzL2luZGV4LmpzPzI3MjQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlV2lsZGNhcmRcIikuZGVmYXVsdDtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZGVmYXVsdCA9IG1lcmdlUmVmcztcblxudmFyIFJlYWN0ID0gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQocmVxdWlyZShcInJlYWN0XCIpKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG5mdW5jdGlvbiBtZXJnZVJlZnMoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gZm9yd2FyZFJlZihub2RlKSB7XG4gICAgYXJncy5mb3JFYWNoKHJlZiA9PiB7XG4gICAgICBpZiAocmVmID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZWYobm9kZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiByZWYgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zb2xlLmVycm9yKFwibWVyZ2VSZWZzIGNhbm5vdCBoYW5kbGUgUmVmcyBvZiB0eXBlIGJvb2xlYW4sIG51bWJlciBvciBzdHJpbmcsIHJlY2VpdmVkIHJlZiBcIiArIFN0cmluZyhyZWYpKTtcbiAgICB9KTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/mergeRefs/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/pick/index.js': /*!**********************************************************!*\ !*** ../react-native-web/dist/cjs/modules/pick/index.js ***! \**********************************************************/ /***/ (module, exports) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports["default"] = pick;\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nfunction pick(obj, list) {\n var nextObj = {};\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true) {\n nextObj[key] = obj[key];\n }\n }\n }\n\n return nextObj;\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3BpY2svaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvbW9kdWxlcy9waWNrL2luZGV4LmpzP2FmNWUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSBwaWNrO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgTmljb2xhcyBHYWxsYWdoZXIuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cbmZ1bmN0aW9uIHBpY2sob2JqLCBsaXN0KSB7XG4gIHZhciBuZXh0T2JqID0ge307XG5cbiAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgaWYgKGxpc3Rba2V5XSA9PT0gdHJ1ZSkge1xuICAgICAgICBuZXh0T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV4dE9iajtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/pick/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/prefixStyles/index.js': /*!******************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/prefixStyles/index.js ***! \******************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _createPrefixer = _interopRequireDefault(__webpack_require__(/*! inline-style-prefixer/lib/createPrefixer */ "inline-style-prefixer/lib/createPrefixer"));\n\nvar _static = _interopRequireDefault(__webpack_require__(/*! ./static */ "../react-native-web/dist/cjs/modules/prefixStyles/static.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar prefixAll = (0, _createPrefixer.default)(_static.default);\nvar _default = prefixAll;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3ByZWZpeFN0eWxlcy9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw2QkFBNkIsMEpBQStEOztBQUU1RixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWYsNkNBQTZDLG1CQUFPLENBQUMsMEZBQTBDOztBQUUvRixxQ0FBcUMsbUJBQU8sQ0FBQyw2RUFBVTs7QUFFdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvcHJlZml4U3R5bGVzL2luZGV4LmpzPzNmZGEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfY3JlYXRlUHJlZml4ZXIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJpbmxpbmUtc3R5bGUtcHJlZml4ZXIvbGliL2NyZWF0ZVByZWZpeGVyXCIpKTtcblxudmFyIF9zdGF0aWMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL3N0YXRpY1wiKSk7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlci5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIHByZWZpeEFsbCA9ICgwLCBfY3JlYXRlUHJlZml4ZXIuZGVmYXVsdCkoX3N0YXRpYy5kZWZhdWx0KTtcbnZhciBfZGVmYXVsdCA9IHByZWZpeEFsbDtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/prefixStyles/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/prefixStyles/static.js': /*!*******************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/prefixStyles/static.js ***! \*******************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _backgroundClip = _interopRequireDefault(__webpack_require__(/*! inline-style-prefixer/lib/plugins/backgroundClip */ "inline-style-prefixer/lib/plugins/backgroundClip"));\n\nvar _crossFade = _interopRequireDefault(__webpack_require__(/*! inline-style-prefixer/lib/plugins/crossFade */ "inline-style-prefixer/lib/plugins/crossFade"));\n\nvar _cursor = _interopRequireDefault(__webpack_require__(/*! inline-style-prefixer/lib/plugins/cursor */ "inline-style-prefixer/lib/plugins/cursor"));\n\nvar _filter = _interopRequireDefault(__webpack_require__(/*! inline-style-prefixer/lib/plugins/filter */ "inline-style-prefixer/lib/plugins/filter"));\n\nvar _imageSet = _interopRequireDefault(__webpack_require__(/*! inline-style-prefixer/lib/plugins/imageSet */ "inline-style-prefixer/lib/plugins/imageSet"));\n\nvar _logical = _interopRequireDefault(__webpack_require__(/*! inline-style-prefixer/lib/plugins/logical */ "inline-style-prefixer/lib/plugins/logical"));\n\nvar _position = _interopRequireDefault(__webpack_require__(/*! inline-style-prefixer/lib/plugins/position */ "inline-style-prefixer/lib/plugins/position"));\n\nvar _sizing = _interopRequireDefault(__webpack_require__(/*! inline-style-prefixer/lib/plugins/sizing */ "inline-style-prefixer/lib/plugins/sizing"));\n\nvar _transition = _interopRequireDefault(__webpack_require__(/*! inline-style-prefixer/lib/plugins/transition */ "inline-style-prefixer/lib/plugins/transition"));\n\nvar w = [\'Webkit\'];\nvar m = [\'Moz\'];\nvar wm = [\'Webkit\', \'Moz\'];\nvar wms = [\'Webkit\', \'ms\'];\nvar wmms = [\'Webkit\', \'Moz\', \'ms\'];\nvar _default = {\n plugins: [_backgroundClip.default, _crossFade.default, _cursor.default, _filter.default, _imageSet.default, _logical.default, _position.default, _sizing.default, _transition.default],\n prefixMap: {\n appearance: wmms,\n userSelect: wm,\n textEmphasisPosition: wms,\n textEmphasis: wms,\n textEmphasisStyle: wms,\n textEmphasisColor: wms,\n boxDecorationBreak: wms,\n clipPath: w,\n maskImage: wms,\n maskMode: wms,\n maskRepeat: wms,\n maskPosition: wms,\n maskClip: wms,\n maskOrigin: wms,\n maskSize: wms,\n maskComposite: wms,\n mask: wms,\n maskBorderSource: wms,\n maskBorderMode: wms,\n maskBorderSlice: wms,\n maskBorderWidth: wms,\n maskBorderOutset: wms,\n maskBorderRepeat: wms,\n maskBorder: wms,\n maskType: wms,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n breakAfter: w,\n breakBefore: w,\n breakInside: w,\n columnCount: w,\n columnFill: w,\n columnGap: w,\n columnRule: w,\n columnRuleColor: w,\n columnRuleStyle: w,\n columnRuleWidth: w,\n columns: w,\n columnSpan: w,\n columnWidth: w,\n backdropFilter: w,\n hyphens: w,\n flowInto: w,\n flowFrom: w,\n regionFragment: w,\n textOrientation: w,\n tabSize: m,\n fontKerning: w,\n textSizeAdjust: w\n }\n};\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3ByZWZpeFN0eWxlcy9zdGF0aWMuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmLDZDQUE2QyxtQkFBTyxDQUFDLDBHQUFrRDs7QUFFdkcsd0NBQXdDLG1CQUFPLENBQUMsZ0dBQTZDOztBQUU3RixxQ0FBcUMsbUJBQU8sQ0FBQywwRkFBMEM7O0FBRXZGLHFDQUFxQyxtQkFBTyxDQUFDLDBGQUEwQzs7QUFFdkYsdUNBQXVDLG1CQUFPLENBQUMsOEZBQTRDOztBQUUzRixzQ0FBc0MsbUJBQU8sQ0FBQyw0RkFBMkM7O0FBRXpGLHVDQUF1QyxtQkFBTyxDQUFDLDhGQUE0Qzs7QUFFM0YscUNBQXFDLG1CQUFPLENBQUMsMEZBQTBDOztBQUV2Rix5Q0FBeUMsbUJBQU8sQ0FBQyxrR0FBOEM7O0FBRS9GO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvcHJlZml4U3R5bGVzL3N0YXRpYy5qcz82MTAwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG52YXIgX2ludGVyb3BSZXF1aXJlRGVmYXVsdCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdFwiKS5kZWZhdWx0O1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG52YXIgX2JhY2tncm91bmRDbGlwID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiaW5saW5lLXN0eWxlLXByZWZpeGVyL2xpYi9wbHVnaW5zL2JhY2tncm91bmRDbGlwXCIpKTtcblxudmFyIF9jcm9zc0ZhZGUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJpbmxpbmUtc3R5bGUtcHJlZml4ZXIvbGliL3BsdWdpbnMvY3Jvc3NGYWRlXCIpKTtcblxudmFyIF9jdXJzb3IgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJpbmxpbmUtc3R5bGUtcHJlZml4ZXIvbGliL3BsdWdpbnMvY3Vyc29yXCIpKTtcblxudmFyIF9maWx0ZXIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJpbmxpbmUtc3R5bGUtcHJlZml4ZXIvbGliL3BsdWdpbnMvZmlsdGVyXCIpKTtcblxudmFyIF9pbWFnZVNldCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcImlubGluZS1zdHlsZS1wcmVmaXhlci9saWIvcGx1Z2lucy9pbWFnZVNldFwiKSk7XG5cbnZhciBfbG9naWNhbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcImlubGluZS1zdHlsZS1wcmVmaXhlci9saWIvcGx1Z2lucy9sb2dpY2FsXCIpKTtcblxudmFyIF9wb3NpdGlvbiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcImlubGluZS1zdHlsZS1wcmVmaXhlci9saWIvcGx1Z2lucy9wb3NpdGlvblwiKSk7XG5cbnZhciBfc2l6aW5nID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiaW5saW5lLXN0eWxlLXByZWZpeGVyL2xpYi9wbHVnaW5zL3NpemluZ1wiKSk7XG5cbnZhciBfdHJhbnNpdGlvbiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcImlubGluZS1zdHlsZS1wcmVmaXhlci9saWIvcGx1Z2lucy90cmFuc2l0aW9uXCIpKTtcblxudmFyIHcgPSBbJ1dlYmtpdCddO1xudmFyIG0gPSBbJ01veiddO1xudmFyIHdtID0gWydXZWJraXQnLCAnTW96J107XG52YXIgd21zID0gWydXZWJraXQnLCAnbXMnXTtcbnZhciB3bW1zID0gWydXZWJraXQnLCAnTW96JywgJ21zJ107XG52YXIgX2RlZmF1bHQgPSB7XG4gIHBsdWdpbnM6IFtfYmFja2dyb3VuZENsaXAuZGVmYXVsdCwgX2Nyb3NzRmFkZS5kZWZhdWx0LCBfY3Vyc29yLmRlZmF1bHQsIF9maWx0ZXIuZGVmYXVsdCwgX2ltYWdlU2V0LmRlZmF1bHQsIF9sb2dpY2FsLmRlZmF1bHQsIF9wb3NpdGlvbi5kZWZhdWx0LCBfc2l6aW5nLmRlZmF1bHQsIF90cmFuc2l0aW9uLmRlZmF1bHRdLFxuICBwcmVmaXhNYXA6IHtcbiAgICBhcHBlYXJhbmNlOiB3bW1zLFxuICAgIHVzZXJTZWxlY3Q6IHdtLFxuICAgIHRleHRFbXBoYXNpc1Bvc2l0aW9uOiB3bXMsXG4gICAgdGV4dEVtcGhhc2lzOiB3bXMsXG4gICAgdGV4dEVtcGhhc2lzU3R5bGU6IHdtcyxcbiAgICB0ZXh0RW1waGFzaXNDb2xvcjogd21zLFxuICAgIGJveERlY29yYXRpb25CcmVhazogd21zLFxuICAgIGNsaXBQYXRoOiB3LFxuICAgIG1hc2tJbWFnZTogd21zLFxuICAgIG1hc2tNb2RlOiB3bXMsXG4gICAgbWFza1JlcGVhdDogd21zLFxuICAgIG1hc2tQb3NpdGlvbjogd21zLFxuICAgIG1hc2tDbGlwOiB3bXMsXG4gICAgbWFza09yaWdpbjogd21zLFxuICAgIG1hc2tTaXplOiB3bXMsXG4gICAgbWFza0NvbXBvc2l0ZTogd21zLFxuICAgIG1hc2s6IHdtcyxcbiAgICBtYXNrQm9yZGVyU291cmNlOiB3bXMsXG4gICAgbWFza0JvcmRlck1vZGU6IHdtcyxcbiAgICBtYXNrQm9yZGVyU2xpY2U6IHdtcyxcbiAgICBtYXNrQm9yZGVyV2lkdGg6IHdtcyxcbiAgICBtYXNrQm9yZGVyT3V0c2V0OiB3bXMsXG4gICAgbWFza0JvcmRlclJlcGVhdDogd21zLFxuICAgIG1hc2tCb3JkZXI6IHdtcyxcbiAgICBtYXNrVHlwZTogd21zLFxuICAgIHRleHREZWNvcmF0aW9uU3R5bGU6IHcsXG4gICAgdGV4dERlY29yYXRpb25Ta2lwOiB3LFxuICAgIHRleHREZWNvcmF0aW9uTGluZTogdyxcbiAgICB0ZXh0RGVjb3JhdGlvbkNvbG9yOiB3LFxuICAgIGZpbHRlcjogdyxcbiAgICBicmVha0FmdGVyOiB3LFxuICAgIGJyZWFrQmVmb3JlOiB3LFxuICAgIGJyZWFrSW5zaWRlOiB3LFxuICAgIGNvbHVtbkNvdW50OiB3LFxuICAgIGNvbHVtbkZpbGw6IHcsXG4gICAgY29sdW1uR2FwOiB3LFxuICAgIGNvbHVtblJ1bGU6IHcsXG4gICAgY29sdW1uUnVsZUNvbG9yOiB3LFxuICAgIGNvbHVtblJ1bGVTdHlsZTogdyxcbiAgICBjb2x1bW5SdWxlV2lkdGg6IHcsXG4gICAgY29sdW1uczogdyxcbiAgICBjb2x1bW5TcGFuOiB3LFxuICAgIGNvbHVtbldpZHRoOiB3LFxuICAgIGJhY2tkcm9wRmlsdGVyOiB3LFxuICAgIGh5cGhlbnM6IHcsXG4gICAgZmxvd0ludG86IHcsXG4gICAgZmxvd0Zyb206IHcsXG4gICAgcmVnaW9uRnJhZ21lbnQ6IHcsXG4gICAgdGV4dE9yaWVudGF0aW9uOiB3LFxuICAgIHRhYlNpemU6IG0sXG4gICAgZm9udEtlcm5pbmc6IHcsXG4gICAgdGV4dFNpemVBZGp1c3Q6IHdcbiAgfVxufTtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/prefixStyles/static.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js': /*!*************************************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js ***! \*************************************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"../../node_modules/@babel/runtime/helpers/interopRequireDefault.js\")[\"default\"]);\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _unitlessNumbers = _interopRequireDefault(__webpack_require__(/*! ../unitlessNumbers */ \"../react-native-web/dist/cjs/modules/unitlessNumbers/index.js\"));\n\n/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * From React 16.0.0\n * \n */\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n\n if (isEmpty) {\n return '';\n }\n\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(_unitlessNumbers.default.hasOwnProperty(name) && _unitlessNumbers.default[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return ('' + value).trim();\n}\n\nvar _default = dangerousStyleValue;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3NldFZhbHVlRm9yU3R5bGVzL2Rhbmdlcm91c1N0eWxlVmFsdWUuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmLDhDQUE4QyxtQkFBTyxDQUFDLHlGQUFvQjs7QUFFMUU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxHQUFHO0FBQ2QsWUFBWSxRQUFRO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGtCQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvbW9kdWxlcy9zZXRWYWx1ZUZvclN0eWxlcy9kYW5nZXJvdXNTdHlsZVZhbHVlLmpzP2NmNDQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfdW5pdGxlc3NOdW1iZXJzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vdW5pdGxlc3NOdW1iZXJzXCIpKTtcblxuLyogZXNsaW50LWRpc2FibGUgKi9cblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEZyb20gUmVhY3QgMTYuMC4wXG4gKiBcbiAqL1xuXG4vKipcbiAqIENvbnZlcnQgYSB2YWx1ZSBpbnRvIHRoZSBwcm9wZXIgY3NzIHdyaXRhYmxlIHZhbHVlLiBUaGUgc3R5bGUgbmFtZSBgbmFtZWBcbiAqIHNob3VsZCBiZSBsb2dpY2FsIChubyBoeXBoZW5zKSwgYXMgc3BlY2lmaWVkXG4gKiBpbiBgQ1NTUHJvcGVydHkuaXNVbml0bGVzc051bWJlcmAuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgQ1NTIHByb3BlcnR5IG5hbWUgc3VjaCBhcyBgdG9wTWFyZ2luYC5cbiAqIEBwYXJhbSB7Kn0gdmFsdWUgQ1NTIHByb3BlcnR5IHZhbHVlIHN1Y2ggYXMgYDEwcHhgLlxuICogQHJldHVybiB7c3RyaW5nfSBOb3JtYWxpemVkIHN0eWxlIHZhbHVlIHdpdGggZGltZW5zaW9ucyBhcHBsaWVkLlxuICovXG5mdW5jdGlvbiBkYW5nZXJvdXNTdHlsZVZhbHVlKG5hbWUsIHZhbHVlLCBpc0N1c3RvbVByb3BlcnR5KSB7XG4gIC8vIE5vdGUgdGhhdCB3ZSd2ZSByZW1vdmVkIGVzY2FwZVRleHRGb3JCcm93c2VyKCkgY2FsbHMgaGVyZSBzaW5jZSB0aGVcbiAgLy8gd2hvbGUgc3RyaW5nIHdpbGwgYmUgZXNjYXBlZCB3aGVuIHRoZSBhdHRyaWJ1dGUgaXMgaW5qZWN0ZWQgaW50b1xuICAvLyB0aGUgbWFya3VwLiBJZiB5b3UgcHJvdmlkZSB1bnNhZmUgdXNlciBkYXRhIGhlcmUgdGhleSBjYW4gaW5qZWN0XG4gIC8vIGFyYml0cmFyeSBDU1Mgd2hpY2ggbWF5IGJlIHByb2JsZW1hdGljIChJIGNvdWxkbid0IHJlcHJvIHRoaXMpOlxuICAvLyBodHRwczovL3d3dy5vd2FzcC5vcmcvaW5kZXgucGhwL1hTU19GaWx0ZXJfRXZhc2lvbl9DaGVhdF9TaGVldFxuICAvLyBodHRwOi8vd3d3LnRoZXNwYW5uZXIuY28udWsvMjAwNy8xMS8yNi91bHRpbWF0ZS14c3MtY3NzLWluamVjdGlvbi9cbiAgLy8gVGhpcyBpcyBub3QgYW4gWFNTIGhvbGUgYnV0IGluc3RlYWQgYSBwb3RlbnRpYWwgQ1NTIGluamVjdGlvbiBpc3N1ZVxuICAvLyB3aGljaCBoYXMgbGVhZCB0byBhIGdyZWF0ZXIgZGlzY3Vzc2lvbiBhYm91dCBob3cgd2UncmUgZ29pbmcgdG9cbiAgLy8gdHJ1c3QgVVJMcyBtb3ZpbmcgZm9yd2FyZC4gU2VlICMyMTE1OTAxXG4gIHZhciBpc0VtcHR5ID0gdmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSA9PT0gJyc7XG5cbiAgaWYgKGlzRW1wdHkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAoIWlzQ3VzdG9tUHJvcGVydHkgJiYgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gMCAmJiAhKF91bml0bGVzc051bWJlcnMuZGVmYXVsdC5oYXNPd25Qcm9wZXJ0eShuYW1lKSAmJiBfdW5pdGxlc3NOdW1iZXJzLmRlZmF1bHRbbmFtZV0pKSB7XG4gICAgcmV0dXJuIHZhbHVlICsgJ3B4JzsgLy8gUHJlc3VtZXMgaW1wbGljaXQgJ3B4JyBzdWZmaXggZm9yIHVuaXRsZXNzIG51bWJlcnNcbiAgfVxuXG4gIHJldHVybiAoJycgKyB2YWx1ZSkudHJpbSgpO1xufVxuXG52YXIgX2RlZmF1bHQgPSBkYW5nZXJvdXNTdHlsZVZhbHVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/setValueForStyles/index.js': /*!***********************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/setValueForStyles/index.js ***! \***********************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _dangerousStyleValue = _interopRequireDefault(__webpack_require__(/*! ./dangerousStyleValue */ "../react-native-web/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js"));\n\n/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * From React 16.3.0\n * \n */\n\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * \'\' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var isCustomProperty = styleName.indexOf(\'--\') === 0;\n var styleValue = (0, _dangerousStyleValue.default)(styleName, styles[styleName], isCustomProperty);\n\n if (styleName === \'float\') {\n styleName = \'cssFloat\';\n }\n\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\n\nvar _default = setValueForStyles;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3NldFZhbHVlRm9yU3R5bGVzL2luZGV4LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDZCQUE2QiwwSkFBK0Q7O0FBRTVGLGtCQUFrQjtBQUNsQixrQkFBZTs7QUFFZixrREFBa0QsbUJBQU8sQ0FBQyw0R0FBdUI7O0FBRWpGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsWUFBWTtBQUN2QixXQUFXLFFBQVE7QUFDbkI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvc2V0VmFsdWVGb3JTdHlsZXMvaW5kZXguanM/NGYwZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHRcIikuZGVmYXVsdDtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9kYW5nZXJvdXNTdHlsZVZhbHVlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9kYW5nZXJvdXNTdHlsZVZhbHVlXCIpKTtcblxuLyogZXNsaW50LWRpc2FibGUgKi9cblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIEZyb20gUmVhY3QgMTYuMy4wXG4gKiBcbiAqL1xuXG4vKipcbiAqIFNldHMgdGhlIHZhbHVlIGZvciBtdWx0aXBsZSBzdHlsZXMgb24gYSBub2RlLiAgSWYgYSB2YWx1ZSBpcyBzcGVjaWZpZWQgYXNcbiAqICcnIChlbXB0eSBzdHJpbmcpLCB0aGUgY29ycmVzcG9uZGluZyBzdHlsZSBwcm9wZXJ0eSB3aWxsIGJlIHVuc2V0LlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IHN0eWxlc1xuICovXG5mdW5jdGlvbiBzZXRWYWx1ZUZvclN0eWxlcyhub2RlLCBzdHlsZXMpIHtcbiAgdmFyIHN0eWxlID0gbm9kZS5zdHlsZTtcblxuICBmb3IgKHZhciBzdHlsZU5hbWUgaW4gc3R5bGVzKSB7XG4gICAgaWYgKCFzdHlsZXMuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgdmFyIGlzQ3VzdG9tUHJvcGVydHkgPSBzdHlsZU5hbWUuaW5kZXhPZignLS0nKSA9PT0gMDtcbiAgICB2YXIgc3R5bGVWYWx1ZSA9ICgwLCBfZGFuZ2Vyb3VzU3R5bGVWYWx1ZS5kZWZhdWx0KShzdHlsZU5hbWUsIHN0eWxlc1tzdHlsZU5hbWVdLCBpc0N1c3RvbVByb3BlcnR5KTtcblxuICAgIGlmIChzdHlsZU5hbWUgPT09ICdmbG9hdCcpIHtcbiAgICAgIHN0eWxlTmFtZSA9ICdjc3NGbG9hdCc7XG4gICAgfVxuXG4gICAgaWYgKGlzQ3VzdG9tUHJvcGVydHkpIHtcbiAgICAgIHN0eWxlLnNldFByb3BlcnR5KHN0eWxlTmFtZSwgc3R5bGVWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlW3N0eWxlTmFtZV0gPSBzdHlsZVZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG52YXIgX2RlZmF1bHQgPSBzZXRWYWx1ZUZvclN0eWxlcztcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/setValueForStyles/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/unitlessNumbers/index.js': /*!*********************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/unitlessNumbers/index.js ***! \*********************************************************************/ /***/ (module, exports) => { 'use strict'; eval( "\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\n\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\n\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\n\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nvar _default = unitlessNumbers;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VuaXRsZXNzTnVtYmVycy9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0Esa0JBQWU7QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VuaXRsZXNzTnVtYmVycy9pbmRleC5qcz9mOGNkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgTmljb2xhcyBHYWxsYWdoZXIuXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgdW5pdGxlc3NOdW1iZXJzID0ge1xuICBhbmltYXRpb25JdGVyYXRpb25Db3VudDogdHJ1ZSxcbiAgYXNwZWN0UmF0aW86IHRydWUsXG4gIGJvcmRlckltYWdlT3V0c2V0OiB0cnVlLFxuICBib3JkZXJJbWFnZVNsaWNlOiB0cnVlLFxuICBib3JkZXJJbWFnZVdpZHRoOiB0cnVlLFxuICBib3hGbGV4OiB0cnVlLFxuICBib3hGbGV4R3JvdXA6IHRydWUsXG4gIGJveE9yZGluYWxHcm91cDogdHJ1ZSxcbiAgY29sdW1uQ291bnQ6IHRydWUsXG4gIGZsZXg6IHRydWUsXG4gIGZsZXhHcm93OiB0cnVlLFxuICBmbGV4T3JkZXI6IHRydWUsXG4gIGZsZXhQb3NpdGl2ZTogdHJ1ZSxcbiAgZmxleFNocmluazogdHJ1ZSxcbiAgZmxleE5lZ2F0aXZlOiB0cnVlLFxuICBmb250V2VpZ2h0OiB0cnVlLFxuICBncmlkUm93OiB0cnVlLFxuICBncmlkUm93RW5kOiB0cnVlLFxuICBncmlkUm93R2FwOiB0cnVlLFxuICBncmlkUm93U3RhcnQ6IHRydWUsXG4gIGdyaWRDb2x1bW46IHRydWUsXG4gIGdyaWRDb2x1bW5FbmQ6IHRydWUsXG4gIGdyaWRDb2x1bW5HYXA6IHRydWUsXG4gIGdyaWRDb2x1bW5TdGFydDogdHJ1ZSxcbiAgbGluZUNsYW1wOiB0cnVlLFxuICBvcGFjaXR5OiB0cnVlLFxuICBvcmRlcjogdHJ1ZSxcbiAgb3JwaGFuczogdHJ1ZSxcbiAgdGFiU2l6ZTogdHJ1ZSxcbiAgd2lkb3dzOiB0cnVlLFxuICB6SW5kZXg6IHRydWUsXG4gIHpvb206IHRydWUsXG4gIC8vIFNWRy1yZWxhdGVkXG4gIGZpbGxPcGFjaXR5OiB0cnVlLFxuICBmbG9vZE9wYWNpdHk6IHRydWUsXG4gIHN0b3BPcGFjaXR5OiB0cnVlLFxuICBzdHJva2VEYXNoYXJyYXk6IHRydWUsXG4gIHN0cm9rZURhc2hvZmZzZXQ6IHRydWUsXG4gIHN0cm9rZU1pdGVybGltaXQ6IHRydWUsXG4gIHN0cm9rZU9wYWNpdHk6IHRydWUsXG4gIHN0cm9rZVdpZHRoOiB0cnVlLFxuICAvLyB0cmFuc2Zvcm0gdHlwZXNcbiAgc2NhbGU6IHRydWUsXG4gIHNjYWxlWDogdHJ1ZSxcbiAgc2NhbGVZOiB0cnVlLFxuICBzY2FsZVo6IHRydWUsXG4gIC8vIFJOIHByb3BlcnRpZXNcbiAgc2hhZG93T3BhY2l0eTogdHJ1ZVxufTtcbi8qKlxuICogU3VwcG9ydCBzdHlsZSBuYW1lcyB0aGF0IG1heSBjb21lIHBhc3NlZCBpbiBwcmVmaXhlZCBieSBhZGRpbmcgcGVybXV0YXRpb25zXG4gKiBvZiB2ZW5kb3IgcHJlZml4ZXMuXG4gKi9cblxudmFyIHByZWZpeGVzID0gWydtcycsICdNb3onLCAnTycsICdXZWJraXQnXTtcblxudmFyIHByZWZpeEtleSA9IChwcmVmaXgsIGtleSkgPT4ge1xuICByZXR1cm4gcHJlZml4ICsga2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsga2V5LnN1YnN0cmluZygxKTtcbn07XG5cbk9iamVjdC5rZXlzKHVuaXRsZXNzTnVtYmVycykuZm9yRWFjaChwcm9wID0+IHtcbiAgcHJlZml4ZXMuZm9yRWFjaChwcmVmaXggPT4ge1xuICAgIHVuaXRsZXNzTnVtYmVyc1twcmVmaXhLZXkocHJlZml4LCBwcm9wKV0gPSB1bml0bGVzc051bWJlcnNbcHJvcF07XG4gIH0pO1xufSk7XG52YXIgX2RlZmF1bHQgPSB1bml0bGVzc051bWJlcnM7XG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDtcbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/unitlessNumbers/index.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/useElementLayout/index.js': /*!**********************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/useElementLayout/index.js ***! \**********************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"../../node_modules/@babel/runtime/helpers/interopRequireDefault.js\")[\"default\"]);\n\nexports.__esModule = true;\nexports[\"default\"] = useElementLayout;\n\nvar _useLayoutEffect = _interopRequireDefault(__webpack_require__(/*! ../useLayoutEffect */ \"../react-native-web/dist/cjs/modules/useLayoutEffect/index.js\"));\n\nvar _UIManager = _interopRequireDefault(__webpack_require__(/*! ../../exports/UIManager */ \"../react-native-web/dist/cjs/exports/UIManager/index.js\"));\n\nvar _canUseDom = _interopRequireDefault(__webpack_require__(/*! ../canUseDom */ \"../react-native-web/dist/cjs/modules/canUseDom/index.js\"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !_canUseDom.default;\nvar resizeObserver = null;\n\nfunction getResizeObserver() {\n if (_canUseDom.default && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(entry => {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n\n if (typeof onLayout === 'function') {\n // We still need to measure the view because browsers don't yet provide\n // border-box dimensions in the entry\n _UIManager.default.measure(node, (x, y, width, height, left, top) => {\n var event = {\n // $FlowFixMe\n nativeEvent: {\n layout: {\n x,\n y,\n width,\n height,\n left,\n top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: () => entry.target\n });\n onLayout(event);\n });\n }\n });\n });\n }\n } else if (!didWarn) {\n if (true) {\n console.warn('onLayout relies on ResizeObserver which is not supported by your browser. ' + 'Please include a polyfill, e.g., https://github.com/que-etc/resize-observer-polyfill.');\n didWarn = true;\n }\n }\n\n return resizeObserver;\n}\n\nfunction useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n (0, _useLayoutEffect.default)(() => {\n var node = ref.current;\n\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]); // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n\n (0, _useLayoutEffect.default)(() => {\n var node = ref.current;\n\n if (node != null && observer != null) {\n if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {\n observer.observe(node);\n } else {\n observer.unobserve(node);\n }\n }\n\n return () => {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZUVsZW1lbnRMYXlvdXQvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGtCQUFlOztBQUVmLDhDQUE4QyxtQkFBTyxDQUFDLHlGQUFvQjs7QUFFMUUsd0NBQXdDLG1CQUFPLENBQUMsd0ZBQXlCOztBQUV6RSx3Q0FBd0MsbUJBQU8sQ0FBQyw2RUFBYzs7QUFFOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBLGFBQWE7QUFDYjtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQSxJQUFJO0FBQ0osUUFBUSxJQUF3RTtBQUNoRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsb0JBQW9CO0FBQ3ZCOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvdXNlRWxlbWVudExheW91dC9pbmRleC5qcz83YjA4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG52YXIgX2ludGVyb3BSZXF1aXJlRGVmYXVsdCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdFwiKS5kZWZhdWx0O1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gdXNlRWxlbWVudExheW91dDtcblxudmFyIF91c2VMYXlvdXRFZmZlY3QgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi91c2VMYXlvdXRFZmZlY3RcIikpO1xuXG52YXIgX1VJTWFuYWdlciA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL2V4cG9ydHMvVUlNYW5hZ2VyXCIpKTtcblxudmFyIF9jYW5Vc2VEb20gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9jYW5Vc2VEb21cIikpO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgTmljb2xhcyBHYWxsYWdoZXIuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cbnZhciBET01fTEFZT1VUX0hBTkRMRVJfTkFNRSA9ICdfX3JlYWN0TGF5b3V0SGFuZGxlcic7XG52YXIgZGlkV2FybiA9ICFfY2FuVXNlRG9tLmRlZmF1bHQ7XG52YXIgcmVzaXplT2JzZXJ2ZXIgPSBudWxsO1xuXG5mdW5jdGlvbiBnZXRSZXNpemVPYnNlcnZlcigpIHtcbiAgaWYgKF9jYW5Vc2VEb20uZGVmYXVsdCAmJiB0eXBlb2Ygd2luZG93LlJlc2l6ZU9ic2VydmVyICE9PSAndW5kZWZpbmVkJykge1xuICAgIGlmIChyZXNpemVPYnNlcnZlciA9PSBudWxsKSB7XG4gICAgICByZXNpemVPYnNlcnZlciA9IG5ldyB3aW5kb3cuUmVzaXplT2JzZXJ2ZXIoZnVuY3Rpb24gKGVudHJpZXMpIHtcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHtcbiAgICAgICAgICB2YXIgbm9kZSA9IGVudHJ5LnRhcmdldDtcbiAgICAgICAgICB2YXIgb25MYXlvdXQgPSBub2RlW0RPTV9MQVlPVVRfSEFORExFUl9OQU1FXTtcblxuICAgICAgICAgIGlmICh0eXBlb2Ygb25MYXlvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIFdlIHN0aWxsIG5lZWQgdG8gbWVhc3VyZSB0aGUgdmlldyBiZWNhdXNlIGJyb3dzZXJzIGRvbid0IHlldCBwcm92aWRlXG4gICAgICAgICAgICAvLyBib3JkZXItYm94IGRpbWVuc2lvbnMgaW4gdGhlIGVudHJ5XG4gICAgICAgICAgICBfVUlNYW5hZ2VyLmRlZmF1bHQubWVhc3VyZShub2RlLCAoeCwgeSwgd2lkdGgsIGhlaWdodCwgbGVmdCwgdG9wKSA9PiB7XG4gICAgICAgICAgICAgIHZhciBldmVudCA9IHtcbiAgICAgICAgICAgICAgICAvLyAkRmxvd0ZpeE1lXG4gICAgICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IHtcbiAgICAgICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICAgICAgICB5LFxuICAgICAgICAgICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICBsZWZ0LFxuICAgICAgICAgICAgICAgICAgICB0b3BcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogRGF0ZS5ub3coKVxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXZlbnQubmF0aXZlRXZlbnQsICd0YXJnZXQnLCB7XG4gICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBnZXQ6ICgpID0+IGVudHJ5LnRhcmdldFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgb25MYXlvdXQoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSBlbHNlIGlmICghZGlkV2Fybikge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAndGVzdCcpIHtcbiAgICAgIGNvbnNvbGUud2Fybignb25MYXlvdXQgcmVsaWVzIG9uIFJlc2l6ZU9ic2VydmVyIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgYnkgeW91ciBicm93c2VyLiAnICsgJ1BsZWFzZSBpbmNsdWRlIGEgcG9seWZpbGwsIGUuZy4sIGh0dHBzOi8vZ2l0aHViLmNvbS9xdWUtZXRjL3Jlc2l6ZS1vYnNlcnZlci1wb2x5ZmlsbC4nKTtcbiAgICAgIGRpZFdhcm4gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXNpemVPYnNlcnZlcjtcbn1cblxuZnVuY3Rpb24gdXNlRWxlbWVudExheW91dChyZWYsIG9uTGF5b3V0KSB7XG4gIHZhciBvYnNlcnZlciA9IGdldFJlc2l6ZU9ic2VydmVyKCk7XG4gICgwLCBfdXNlTGF5b3V0RWZmZWN0LmRlZmF1bHQpKCgpID0+IHtcbiAgICB2YXIgbm9kZSA9IHJlZi5jdXJyZW50O1xuXG4gICAgaWYgKG5vZGUgIT0gbnVsbCkge1xuICAgICAgbm9kZVtET01fTEFZT1VUX0hBTkRMRVJfTkFNRV0gPSBvbkxheW91dDtcbiAgICB9XG4gIH0sIFtyZWYsIG9uTGF5b3V0XSk7IC8vIE9ic2VydmluZyBpcyBkb25lIGluIGEgc2VwYXJhdGUgZWZmZWN0IHRvIGF2b2lkIHRoaXMgZWZmZWN0IHJ1bm5pbmdcbiAgLy8gd2hlbiAnb25MYXlvdXQnIGNoYW5nZXMuXG5cbiAgKDAsIF91c2VMYXlvdXRFZmZlY3QuZGVmYXVsdCkoKCkgPT4ge1xuICAgIHZhciBub2RlID0gcmVmLmN1cnJlbnQ7XG5cbiAgICBpZiAobm9kZSAhPSBudWxsICYmIG9ic2VydmVyICE9IG51bGwpIHtcbiAgICAgIGlmICh0eXBlb2Ygbm9kZVtET01fTEFZT1VUX0hBTkRMRVJfTkFNRV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShub2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9ic2VydmVyLnVub2JzZXJ2ZShub2RlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKG5vZGUgIT0gbnVsbCAmJiBvYnNlcnZlciAhPSBudWxsKSB7XG4gICAgICAgIG9ic2VydmVyLnVub2JzZXJ2ZShub2RlKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbcmVmLCBvYnNlcnZlcl0pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/useElementLayout/index.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/useLayoutEffect/index.js': /*!*********************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/useLayoutEffect/index.js ***! \*********************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = void 0;\n\nvar _react = __webpack_require__(/*! react */ "react");\n\nvar _canUseDom = _interopRequireDefault(__webpack_require__(/*! ../canUseDom */ "../react-native-web/dist/cjs/modules/canUseDom/index.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * useLayoutEffect throws an error on the server. On the few occasions where is\n * problematic, use this hook.\n *\n * \n */\nvar useLayoutEffectImpl = _canUseDom.default ? _react.useLayoutEffect : _react.useEffect;\nvar _default = useLayoutEffectImpl;\nexports["default"] = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZUxheW91dEVmZmVjdC9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw2QkFBNkIsMEpBQStEOztBQUU1RixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWYsYUFBYSxtQkFBTyxDQUFDLG9CQUFPOztBQUU1Qix3Q0FBd0MsbUJBQU8sQ0FBQyw2RUFBYzs7QUFFOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvdXNlTGF5b3V0RWZmZWN0L2luZGV4LmpzP2UxYTIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfcmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIik7XG5cbnZhciBfY2FuVXNlRG9tID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vY2FuVXNlRG9tXCIpKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIHVzZUxheW91dEVmZmVjdCB0aHJvd3MgYW4gZXJyb3Igb24gdGhlIHNlcnZlci4gT24gdGhlIGZldyBvY2Nhc2lvbnMgd2hlcmUgaXNcbiAqIHByb2JsZW1hdGljLCB1c2UgdGhpcyBob29rLlxuICpcbiAqIFxuICovXG52YXIgdXNlTGF5b3V0RWZmZWN0SW1wbCA9IF9jYW5Vc2VEb20uZGVmYXVsdCA/IF9yZWFjdC51c2VMYXlvdXRFZmZlY3QgOiBfcmVhY3QudXNlRWZmZWN0O1xudmFyIF9kZWZhdWx0ID0gdXNlTGF5b3V0RWZmZWN0SW1wbDtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/useLayoutEffect/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/useLocale/index.js': /*!***************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/useLocale/index.js ***! \***************************************************************/ /***/ (__unused_webpack_module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireWildcard = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ "../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"]);\n\nexports.__esModule = true;\nexports.LocaleProvider = LocaleProvider;\nexports.getLocaleDirection = getLocaleDirection;\nexports.useLocaleContext = useLocaleContext;\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));\n\nvar _isLocaleRTL = __webpack_require__(/*! ./isLocaleRTL */ "../react-native-web/dist/cjs/modules/useLocale/isLocaleRTL.js");\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar defaultLocale = {\n direction: \'ltr\',\n locale: \'en-US\'\n};\nvar LocaleContext = /*#__PURE__*/(0, _react.createContext)(defaultLocale);\n\nfunction getLocaleDirection(locale) {\n return (0, _isLocaleRTL.isLocaleRTL)(locale) ? \'rtl\' : \'ltr\';\n}\n\nfunction LocaleProvider(props) {\n var direction = props.direction,\n locale = props.locale,\n children = props.children;\n var needsContext = direction || locale;\n return needsContext ? /*#__PURE__*/_react.default.createElement(LocaleContext.Provider, {\n children: children,\n value: {\n direction: locale ? getLocaleDirection(locale) : direction,\n locale\n }\n }) : children;\n}\n\nfunction useLocaleContext() {\n return (0, _react.useContext)(LocaleContext);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZUxvY2FsZS9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw4QkFBOEIsNEpBQWdFOztBQUU5RixrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLDBCQUEwQjtBQUMxQix3QkFBd0I7O0FBRXhCLHFDQUFxQyxtQkFBTyxDQUFDLG9CQUFPOztBQUVwRCxtQkFBbUIsbUJBQU8sQ0FBQyxvRkFBZTs7QUFFMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvdXNlTG9jYWxlL2luZGV4LmpzP2FlYjUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlV2lsZGNhcmRcIikuZGVmYXVsdDtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuTG9jYWxlUHJvdmlkZXIgPSBMb2NhbGVQcm92aWRlcjtcbmV4cG9ydHMuZ2V0TG9jYWxlRGlyZWN0aW9uID0gZ2V0TG9jYWxlRGlyZWN0aW9uO1xuZXhwb3J0cy51c2VMb2NhbGVDb250ZXh0ID0gdXNlTG9jYWxlQ29udGV4dDtcblxudmFyIF9yZWFjdCA9IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5cbnZhciBfaXNMb2NhbGVSVEwgPSByZXF1aXJlKFwiLi9pc0xvY2FsZVJUTFwiKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgZGVmYXVsdExvY2FsZSA9IHtcbiAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgbG9jYWxlOiAnZW4tVVMnXG59O1xudmFyIExvY2FsZUNvbnRleHQgPSAvKiNfX1BVUkVfXyovKDAsIF9yZWFjdC5jcmVhdGVDb250ZXh0KShkZWZhdWx0TG9jYWxlKTtcblxuZnVuY3Rpb24gZ2V0TG9jYWxlRGlyZWN0aW9uKGxvY2FsZSkge1xuICByZXR1cm4gKDAsIF9pc0xvY2FsZVJUTC5pc0xvY2FsZVJUTCkobG9jYWxlKSA/ICdydGwnIDogJ2x0cic7XG59XG5cbmZ1bmN0aW9uIExvY2FsZVByb3ZpZGVyKHByb3BzKSB7XG4gIHZhciBkaXJlY3Rpb24gPSBwcm9wcy5kaXJlY3Rpb24sXG4gICAgICBsb2NhbGUgPSBwcm9wcy5sb2NhbGUsXG4gICAgICBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuO1xuICB2YXIgbmVlZHNDb250ZXh0ID0gZGlyZWN0aW9uIHx8IGxvY2FsZTtcbiAgcmV0dXJuIG5lZWRzQ29udGV4dCA/IC8qI19fUFVSRV9fKi9fcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KExvY2FsZUNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICBjaGlsZHJlbjogY2hpbGRyZW4sXG4gICAgdmFsdWU6IHtcbiAgICAgIGRpcmVjdGlvbjogbG9jYWxlID8gZ2V0TG9jYWxlRGlyZWN0aW9uKGxvY2FsZSkgOiBkaXJlY3Rpb24sXG4gICAgICBsb2NhbGVcbiAgICB9XG4gIH0pIDogY2hpbGRyZW47XG59XG5cbmZ1bmN0aW9uIHVzZUxvY2FsZUNvbnRleHQoKSB7XG4gIHJldHVybiAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKExvY2FsZUNvbnRleHQpO1xufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/useLocale/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/useLocale/isLocaleRTL.js': /*!*********************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/useLocale/isLocaleRTL.js ***! \*********************************************************************/ /***/ (__unused_webpack_module, exports) => { 'use strict'; eval( "\n\nexports.__esModule = true;\nexports.isLocaleRTL = isLocaleRTL;\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar rtlScripts = new Set(['Arab', 'Syrc', 'Samr', 'Mand', 'Thaa', 'Mend', 'Nkoo', 'Adlm', 'Rohg', 'Hebr']);\nvar rtlLangs = new Set(['ae', // Avestan\n'ar', // Arabic\n'arc', // Aramaic\n'bcc', // Southern Balochi\n'bqi', // Bakthiari\n'ckb', // Sorani\n'dv', // Dhivehi\n'fa', 'far', // Persian\n'glk', // Gilaki\n'he', 'iw', // Hebrew\n'khw', // Khowar\n'ks', // Kashmiri\n'ku', // Kurdish\n'mzn', // Mazanderani\n'nqo', // N'Ko\n'pnb', // Western Punjabi\n'ps', // Pashto\n'sd', // Sindhi\n'ug', // Uyghur\n'ur', // Urdu\n'yi' // Yiddish\n]);\nvar cache = new Map();\n/**\n * Determine the writing direction of a locale\n */\n\nfunction isLocaleRTL(locale) {\n var cachedRTL = cache.get(locale);\n\n if (cachedRTL) {\n return cachedRTL;\n }\n\n var isRTL = false; // $FlowFixMe\n\n if (Intl.Locale) {\n // $FlowFixMe\n var script = new Intl.Locale(locale).maximize().script;\n isRTL = rtlScripts.has(script);\n } else {\n // Fallback to inferring from language\n var lang = locale.split('-')[0];\n isRTL = rtlLangs.has(lang);\n }\n\n cache.set(locale, isRTL);\n return isRTL;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZUxvY2FsZS9pc0xvY2FsZVJUTC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixrQkFBa0I7QUFDbEIsbUJBQW1COztBQUVuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHFCQUFxQjs7QUFFckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvdXNlTG9jYWxlL2lzTG9jYWxlUlRMLmpzP2YxYWMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmlzTG9jYWxlUlRMID0gaXNMb2NhbGVSVEw7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlci5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIHJ0bFNjcmlwdHMgPSBuZXcgU2V0KFsnQXJhYicsICdTeXJjJywgJ1NhbXInLCAnTWFuZCcsICdUaGFhJywgJ01lbmQnLCAnTmtvbycsICdBZGxtJywgJ1JvaGcnLCAnSGViciddKTtcbnZhciBydGxMYW5ncyA9IG5ldyBTZXQoWydhZScsIC8vIEF2ZXN0YW5cbidhcicsIC8vIEFyYWJpY1xuJ2FyYycsIC8vIEFyYW1haWNcbidiY2MnLCAvLyBTb3V0aGVybiBCYWxvY2hpXG4nYnFpJywgLy8gQmFrdGhpYXJpXG4nY2tiJywgLy8gU29yYW5pXG4nZHYnLCAvLyBEaGl2ZWhpXG4nZmEnLCAnZmFyJywgLy8gUGVyc2lhblxuJ2dsaycsIC8vIEdpbGFraVxuJ2hlJywgJ2l3JywgLy8gSGVicmV3XG4na2h3JywgLy8gS2hvd2FyXG4na3MnLCAvLyBLYXNobWlyaVxuJ2t1JywgLy8gS3VyZGlzaFxuJ216bicsIC8vIE1hemFuZGVyYW5pXG4nbnFvJywgLy8gTidLb1xuJ3BuYicsIC8vIFdlc3Rlcm4gUHVuamFiaVxuJ3BzJywgLy8gUGFzaHRvXG4nc2QnLCAvLyBTaW5kaGlcbid1ZycsIC8vIFV5Z2h1clxuJ3VyJywgLy8gVXJkdVxuJ3lpJyAvLyBZaWRkaXNoXG5dKTtcbnZhciBjYWNoZSA9IG5ldyBNYXAoKTtcbi8qKlxuICogRGV0ZXJtaW5lIHRoZSB3cml0aW5nIGRpcmVjdGlvbiBvZiBhIGxvY2FsZVxuICovXG5cbmZ1bmN0aW9uIGlzTG9jYWxlUlRMKGxvY2FsZSkge1xuICB2YXIgY2FjaGVkUlRMID0gY2FjaGUuZ2V0KGxvY2FsZSk7XG5cbiAgaWYgKGNhY2hlZFJUTCkge1xuICAgIHJldHVybiBjYWNoZWRSVEw7XG4gIH1cblxuICB2YXIgaXNSVEwgPSBmYWxzZTsgLy8gJEZsb3dGaXhNZVxuXG4gIGlmIChJbnRsLkxvY2FsZSkge1xuICAgIC8vICRGbG93Rml4TWVcbiAgICB2YXIgc2NyaXB0ID0gbmV3IEludGwuTG9jYWxlKGxvY2FsZSkubWF4aW1pemUoKS5zY3JpcHQ7XG4gICAgaXNSVEwgPSBydGxTY3JpcHRzLmhhcyhzY3JpcHQpO1xuICB9IGVsc2Uge1xuICAgIC8vIEZhbGxiYWNrIHRvIGluZmVycmluZyBmcm9tIGxhbmd1YWdlXG4gICAgdmFyIGxhbmcgPSBsb2NhbGUuc3BsaXQoJy0nKVswXTtcbiAgICBpc1JUTCA9IHJ0bExhbmdzLmhhcyhsYW5nKTtcbiAgfVxuXG4gIGNhY2hlLnNldChsb2NhbGUsIGlzUlRMKTtcbiAgcmV0dXJuIGlzUlRMO1xufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/useLocale/isLocaleRTL.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/useMergeRefs/index.js': /*!******************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/useMergeRefs/index.js ***! \******************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nvar _interopRequireWildcard = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ "../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = useMergeRefs;\n\nvar React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));\n\nvar _mergeRefs = _interopRequireDefault(__webpack_require__(/*! ../mergeRefs */ "../react-native-web/dist/cjs/modules/mergeRefs/index.js"));\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nfunction useMergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return React.useMemo(() => (0, _mergeRefs.default)(...args), // eslint-disable-next-line\n [...args]);\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZU1lcmdlUmVmcy9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw2QkFBNkIsMEpBQStEOztBQUU1Riw4QkFBOEIsNEpBQWdFOztBQUU5RixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWYsb0NBQW9DLG1CQUFPLENBQUMsb0JBQU87O0FBRW5ELHdDQUF3QyxtQkFBTyxDQUFDLDZFQUFjOztBQUU5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzRUFBc0UsYUFBYTtBQUNuRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZU1lcmdlUmVmcy9pbmRleC5qcz81ZTgzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG52YXIgX2ludGVyb3BSZXF1aXJlRGVmYXVsdCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdFwiKS5kZWZhdWx0O1xuXG52YXIgX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkXCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSB1c2VNZXJnZVJlZnM7XG5cbnZhciBSZWFjdCA9IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5cbnZhciBfbWVyZ2VSZWZzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vbWVyZ2VSZWZzXCIpKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG5mdW5jdGlvbiB1c2VNZXJnZVJlZnMoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiAoMCwgX21lcmdlUmVmcy5kZWZhdWx0KSguLi5hcmdzKSwgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIFsuLi5hcmdzXSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/useMergeRefs/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/usePlatformMethods/index.js': /*!************************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/usePlatformMethods/index.js ***! \************************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = usePlatformMethods;\n\nvar _UIManager = _interopRequireDefault(__webpack_require__(/*! ../../exports/UIManager */ "../react-native-web/dist/cjs/exports/UIManager/index.js"));\n\nvar _useStable = _interopRequireDefault(__webpack_require__(/*! ../useStable */ "../react-native-web/dist/cjs/modules/useStable/index.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * Adds non-standard methods to the hode element. This is temporarily until an\n * API like `ReactNative.measure(hostRef, callback)` is added to React Native.\n */\nfunction usePlatformMethods(_ref) {\n var pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n // Avoid creating a new ref on every render.\n var ref = (0, _useStable.default)(() => hostNode => {\n if (hostNode != null) {\n hostNode.measure = callback => _UIManager.default.measure(hostNode, callback);\n\n hostNode.measureLayout = (relativeToNode, success, failure) => _UIManager.default.measureLayout(hostNode, relativeToNode, failure, success);\n\n hostNode.measureInWindow = callback => _UIManager.default.measureInWindow(hostNode, callback);\n }\n });\n return ref;\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZVBsYXRmb3JtTWV0aG9kcy9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw2QkFBNkIsMEpBQStEOztBQUU1RixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWYsd0NBQXdDLG1CQUFPLENBQUMsd0ZBQXlCOztBQUV6RSx3Q0FBd0MsbUJBQU8sQ0FBQyw2RUFBYzs7QUFFOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZVBsYXRmb3JtTWV0aG9kcy9pbmRleC5qcz84ODZlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG52YXIgX2ludGVyb3BSZXF1aXJlRGVmYXVsdCA9IHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdFwiKS5kZWZhdWx0O1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gdXNlUGxhdGZvcm1NZXRob2RzO1xuXG52YXIgX1VJTWFuYWdlciA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL2V4cG9ydHMvVUlNYW5hZ2VyXCIpKTtcblxudmFyIF91c2VTdGFibGUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi91c2VTdGFibGVcIikpO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgTmljb2xhcyBHYWxsYWdoZXIuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cblxuLyoqXG4gKiBBZGRzIG5vbi1zdGFuZGFyZCBtZXRob2RzIHRvIHRoZSBob2RlIGVsZW1lbnQuIFRoaXMgaXMgdGVtcG9yYXJpbHkgdW50aWwgYW5cbiAqIEFQSSBsaWtlIGBSZWFjdE5hdGl2ZS5tZWFzdXJlKGhvc3RSZWYsIGNhbGxiYWNrKWAgaXMgYWRkZWQgdG8gUmVhY3QgTmF0aXZlLlxuICovXG5mdW5jdGlvbiB1c2VQbGF0Zm9ybU1ldGhvZHMoX3JlZikge1xuICB2YXIgcG9pbnRlckV2ZW50cyA9IF9yZWYucG9pbnRlckV2ZW50cyxcbiAgICAgIHN0eWxlID0gX3JlZi5zdHlsZTtcbiAgLy8gQXZvaWQgY3JlYXRpbmcgYSBuZXcgcmVmIG9uIGV2ZXJ5IHJlbmRlci5cbiAgdmFyIHJlZiA9ICgwLCBfdXNlU3RhYmxlLmRlZmF1bHQpKCgpID0+IGhvc3ROb2RlID0+IHtcbiAgICBpZiAoaG9zdE5vZGUgIT0gbnVsbCkge1xuICAgICAgaG9zdE5vZGUubWVhc3VyZSA9IGNhbGxiYWNrID0+IF9VSU1hbmFnZXIuZGVmYXVsdC5tZWFzdXJlKGhvc3ROb2RlLCBjYWxsYmFjayk7XG5cbiAgICAgIGhvc3ROb2RlLm1lYXN1cmVMYXlvdXQgPSAocmVsYXRpdmVUb05vZGUsIHN1Y2Nlc3MsIGZhaWx1cmUpID0+IF9VSU1hbmFnZXIuZGVmYXVsdC5tZWFzdXJlTGF5b3V0KGhvc3ROb2RlLCByZWxhdGl2ZVRvTm9kZSwgZmFpbHVyZSwgc3VjY2Vzcyk7XG5cbiAgICAgIGhvc3ROb2RlLm1lYXN1cmVJbldpbmRvdyA9IGNhbGxiYWNrID0+IF9VSU1hbmFnZXIuZGVmYXVsdC5tZWFzdXJlSW5XaW5kb3coaG9zdE5vZGUsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmVmO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/usePlatformMethods/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js': /*!**************************************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js ***! \**************************************************************************************/ /***/ (__unused_webpack_module, exports) => { 'use strict'; eval( "\n\nexports.__esModule = true;\nexports.TOUCH_START = exports.TOUCH_MOVE = exports.TOUCH_END = exports.TOUCH_CANCEL = exports.SELECTION_CHANGE = exports.SELECT = exports.SCROLL = exports.MOUSE_UP = exports.MOUSE_MOVE = exports.MOUSE_DOWN = exports.MOUSE_CANCEL = exports.FOCUS_OUT = exports.CONTEXT_MENU = exports.BLUR = void 0;\nexports.isCancelish = isCancelish;\nexports.isEndish = isEndish;\nexports.isMoveish = isMoveish;\nexports.isScroll = isScroll;\nexports.isSelectionChange = isSelectionChange;\nexports.isStartish = isStartish;\n\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar BLUR = 'blur';\nexports.BLUR = BLUR;\nvar CONTEXT_MENU = 'contextmenu';\nexports.CONTEXT_MENU = CONTEXT_MENU;\nvar FOCUS_OUT = 'focusout';\nexports.FOCUS_OUT = FOCUS_OUT;\nvar MOUSE_DOWN = 'mousedown';\nexports.MOUSE_DOWN = MOUSE_DOWN;\nvar MOUSE_MOVE = 'mousemove';\nexports.MOUSE_MOVE = MOUSE_MOVE;\nvar MOUSE_UP = 'mouseup';\nexports.MOUSE_UP = MOUSE_UP;\nvar MOUSE_CANCEL = 'dragstart';\nexports.MOUSE_CANCEL = MOUSE_CANCEL;\nvar TOUCH_START = 'touchstart';\nexports.TOUCH_START = TOUCH_START;\nvar TOUCH_MOVE = 'touchmove';\nexports.TOUCH_MOVE = TOUCH_MOVE;\nvar TOUCH_END = 'touchend';\nexports.TOUCH_END = TOUCH_END;\nvar TOUCH_CANCEL = 'touchcancel';\nexports.TOUCH_CANCEL = TOUCH_CANCEL;\nvar SCROLL = 'scroll';\nexports.SCROLL = SCROLL;\nvar SELECT = 'select';\nexports.SELECT = SELECT;\nvar SELECTION_CHANGE = 'selectionchange';\nexports.SELECTION_CHANGE = SELECTION_CHANGE;\n\nfunction isStartish(eventType) {\n return eventType === TOUCH_START || eventType === MOUSE_DOWN;\n}\n\nfunction isMoveish(eventType) {\n return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;\n}\n\nfunction isEndish(eventType) {\n return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);\n}\n\nfunction isCancelish(eventType) {\n return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;\n}\n\nfunction isScroll(eventType) {\n return eventType === SCROLL;\n}\n\nfunction isSelectionChange(eventType) {\n return eventType === SELECT || eventType === SELECTION_CHANGE;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZVJlc3BvbmRlckV2ZW50cy9SZXNwb25kZXJFdmVudFR5cGVzLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLGtCQUFrQjtBQUNsQixtQkFBbUIsR0FBRyxrQkFBa0IsR0FBRyxpQkFBaUIsR0FBRyxvQkFBb0IsR0FBRyx3QkFBd0IsR0FBRyxjQUFjLEdBQUcsY0FBYyxHQUFHLGdCQUFnQixHQUFHLGtCQUFrQixHQUFHLGtCQUFrQixHQUFHLG9CQUFvQixHQUFHLGlCQUFpQixHQUFHLG9CQUFvQixHQUFHLFlBQVk7QUFDOVIsbUJBQW1CO0FBQ25CLGdCQUFnQjtBQUNoQixpQkFBaUI7QUFDakIsZ0JBQWdCO0FBQ2hCLHlCQUF5QjtBQUN6QixrQkFBa0I7O0FBRWxCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBLGNBQWM7QUFDZDtBQUNBLGNBQWM7QUFDZDtBQUNBLHdCQUF3Qjs7QUFFeEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvbW9kdWxlcy91c2VSZXNwb25kZXJFdmVudHMvUmVzcG9uZGVyRXZlbnRUeXBlcy5qcz9kMzU4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5UT1VDSF9TVEFSVCA9IGV4cG9ydHMuVE9VQ0hfTU9WRSA9IGV4cG9ydHMuVE9VQ0hfRU5EID0gZXhwb3J0cy5UT1VDSF9DQU5DRUwgPSBleHBvcnRzLlNFTEVDVElPTl9DSEFOR0UgPSBleHBvcnRzLlNFTEVDVCA9IGV4cG9ydHMuU0NST0xMID0gZXhwb3J0cy5NT1VTRV9VUCA9IGV4cG9ydHMuTU9VU0VfTU9WRSA9IGV4cG9ydHMuTU9VU0VfRE9XTiA9IGV4cG9ydHMuTU9VU0VfQ0FOQ0VMID0gZXhwb3J0cy5GT0NVU19PVVQgPSBleHBvcnRzLkNPTlRFWFRfTUVOVSA9IGV4cG9ydHMuQkxVUiA9IHZvaWQgMDtcbmV4cG9ydHMuaXNDYW5jZWxpc2ggPSBpc0NhbmNlbGlzaDtcbmV4cG9ydHMuaXNFbmRpc2ggPSBpc0VuZGlzaDtcbmV4cG9ydHMuaXNNb3ZlaXNoID0gaXNNb3ZlaXNoO1xuZXhwb3J0cy5pc1Njcm9sbCA9IGlzU2Nyb2xsO1xuZXhwb3J0cy5pc1NlbGVjdGlvbkNoYW5nZSA9IGlzU2VsZWN0aW9uQ2hhbmdlO1xuZXhwb3J0cy5pc1N0YXJ0aXNoID0gaXNTdGFydGlzaDtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cbnZhciBCTFVSID0gJ2JsdXInO1xuZXhwb3J0cy5CTFVSID0gQkxVUjtcbnZhciBDT05URVhUX01FTlUgPSAnY29udGV4dG1lbnUnO1xuZXhwb3J0cy5DT05URVhUX01FTlUgPSBDT05URVhUX01FTlU7XG52YXIgRk9DVVNfT1VUID0gJ2ZvY3Vzb3V0JztcbmV4cG9ydHMuRk9DVVNfT1VUID0gRk9DVVNfT1VUO1xudmFyIE1PVVNFX0RPV04gPSAnbW91c2Vkb3duJztcbmV4cG9ydHMuTU9VU0VfRE9XTiA9IE1PVVNFX0RPV047XG52YXIgTU9VU0VfTU9WRSA9ICdtb3VzZW1vdmUnO1xuZXhwb3J0cy5NT1VTRV9NT1ZFID0gTU9VU0VfTU9WRTtcbnZhciBNT1VTRV9VUCA9ICdtb3VzZXVwJztcbmV4cG9ydHMuTU9VU0VfVVAgPSBNT1VTRV9VUDtcbnZhciBNT1VTRV9DQU5DRUwgPSAnZHJhZ3N0YXJ0JztcbmV4cG9ydHMuTU9VU0VfQ0FOQ0VMID0gTU9VU0VfQ0FOQ0VMO1xudmFyIFRPVUNIX1NUQVJUID0gJ3RvdWNoc3RhcnQnO1xuZXhwb3J0cy5UT1VDSF9TVEFSVCA9IFRPVUNIX1NUQVJUO1xudmFyIFRPVUNIX01PVkUgPSAndG91Y2htb3ZlJztcbmV4cG9ydHMuVE9VQ0hfTU9WRSA9IFRPVUNIX01PVkU7XG52YXIgVE9VQ0hfRU5EID0gJ3RvdWNoZW5kJztcbmV4cG9ydHMuVE9VQ0hfRU5EID0gVE9VQ0hfRU5EO1xudmFyIFRPVUNIX0NBTkNFTCA9ICd0b3VjaGNhbmNlbCc7XG5leHBvcnRzLlRPVUNIX0NBTkNFTCA9IFRPVUNIX0NBTkNFTDtcbnZhciBTQ1JPTEwgPSAnc2Nyb2xsJztcbmV4cG9ydHMuU0NST0xMID0gU0NST0xMO1xudmFyIFNFTEVDVCA9ICdzZWxlY3QnO1xuZXhwb3J0cy5TRUxFQ1QgPSBTRUxFQ1Q7XG52YXIgU0VMRUNUSU9OX0NIQU5HRSA9ICdzZWxlY3Rpb25jaGFuZ2UnO1xuZXhwb3J0cy5TRUxFQ1RJT05fQ0hBTkdFID0gU0VMRUNUSU9OX0NIQU5HRTtcblxuZnVuY3Rpb24gaXNTdGFydGlzaChldmVudFR5cGUpIHtcbiAgcmV0dXJuIGV2ZW50VHlwZSA9PT0gVE9VQ0hfU1RBUlQgfHwgZXZlbnRUeXBlID09PSBNT1VTRV9ET1dOO1xufVxuXG5mdW5jdGlvbiBpc01vdmVpc2goZXZlbnRUeXBlKSB7XG4gIHJldHVybiBldmVudFR5cGUgPT09IFRPVUNIX01PVkUgfHwgZXZlbnRUeXBlID09PSBNT1VTRV9NT1ZFO1xufVxuXG5mdW5jdGlvbiBpc0VuZGlzaChldmVudFR5cGUpIHtcbiAgcmV0dXJuIGV2ZW50VHlwZSA9PT0gVE9VQ0hfRU5EIHx8IGV2ZW50VHlwZSA9PT0gTU9VU0VfVVAgfHwgaXNDYW5jZWxpc2goZXZlbnRUeXBlKTtcbn1cblxuZnVuY3Rpb24gaXNDYW5jZWxpc2goZXZlbnRUeXBlKSB7XG4gIHJldHVybiBldmVudFR5cGUgPT09IFRPVUNIX0NBTkNFTCB8fCBldmVudFR5cGUgPT09IE1PVVNFX0NBTkNFTDtcbn1cblxuZnVuY3Rpb24gaXNTY3JvbGwoZXZlbnRUeXBlKSB7XG4gIHJldHVybiBldmVudFR5cGUgPT09IFNDUk9MTDtcbn1cblxuZnVuY3Rpb24gaXNTZWxlY3Rpb25DaGFuZ2UoZXZlbnRUeXBlKSB7XG4gIHJldHVybiBldmVudFR5cGUgPT09IFNFTEVDVCB8fCBldmVudFR5cGUgPT09IFNFTEVDVElPTl9DSEFOR0U7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/useResponderEvents/ResponderSystem.js': /*!**********************************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/useResponderEvents/ResponderSystem.js ***! \**********************************************************************************/ /***/ (__unused_webpack_module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"../../node_modules/@babel/runtime/helpers/interopRequireDefault.js\")[\"default\"]);\n\nexports.__esModule = true;\nexports.addNode = addNode;\nexports.attachListeners = attachListeners;\nexports.getResponderNode = getResponderNode;\nexports.removeNode = removeNode;\nexports.terminateResponder = terminateResponder;\n\nvar _createResponderEvent = _interopRequireDefault(__webpack_require__(/*! ./createResponderEvent */ \"../react-native-web/dist/cjs/modules/useResponderEvents/createResponderEvent.js\"));\n\nvar _ResponderEventTypes = __webpack_require__(/*! ./ResponderEventTypes */ \"../react-native-web/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js\");\n\nvar _utils = __webpack_require__(/*! ./utils */ \"../react-native-web/dist/cjs/modules/useResponderEvents/utils.js\");\n\nvar _ResponderTouchHistoryStore = __webpack_require__(/*! ./ResponderTouchHistoryStore */ \"../react-native-web/dist/cjs/modules/useResponderEvents/ResponderTouchHistoryStore.js\");\n\nvar _canUseDom = _interopRequireDefault(__webpack_require__(/*! ../canUseDom */ \"../react-native-web/dist/cjs/modules/canUseDom/index.js\"));\n\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * RESPONDER EVENT SYSTEM\n *\n * A single, global \"interaction lock\" on views. For a view to be the \"responder\" means\n * that pointer interactions are exclusive to that view and none other. The \"interaction\n * lock\" can be transferred (only) to ancestors of the current \"responder\" as long as\n * pointers continue to be active.\n *\n * Responder being granted:\n *\n * A view can become the \"responder\" after the following events:\n * * \"pointerdown\" (implemented using \"touchstart\", \"mousedown\")\n * * \"pointermove\" (implemented using \"touchmove\", \"mousemove\")\n * * \"scroll\" (while a pointer is down)\n * * \"selectionchange\" (while a pointer is down)\n *\n * If nothing is already the \"responder\", the event propagates to (capture) and from\n * (bubble) the event target until a view returns `true` for\n * `on*ShouldSetResponder(Capture)`.\n *\n * If something is already the responder, the event propagates to (capture) and from\n * (bubble) the lowest common ancestor of the event target and the current \"responder\".\n * Then negotiation happens between the current \"responder\" and a view that wants to\n * become the \"responder\": see the timing diagram below.\n *\n * (NOTE: Scrolled views either automatically become the \"responder\" or release the\n * \"interaction lock\". A native scroll view that isn't built on top of the responder\n * system must result in the current \"responder\" being notified that it no longer has\n * the \"interaction lock\" - the native system has taken over.\n *\n * Responder being released:\n *\n * As soon as there are no more active pointers that *started* inside descendants\n * of the *current* \"responder\", an `onResponderRelease` event is dispatched to the\n * current \"responder\", and the responder lock is released.\n *\n * Typical sequence of events:\n * * startShouldSetResponder\n * * responderGrant/Reject\n * * responderStart\n * * responderMove\n * * responderEnd\n * * responderRelease\n */\n\n/* Negotiation Performed\n +-----------------------+\n / \\\nProcess low level events to + Current Responder + wantsResponderID\ndetermine who to perform negot-| (if any exists at all) |\niation/transition | Otherwise just pass through|\n-------------------------------+----------------------------+------------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +--------------+ | |\n | onTouchStart | | |\n +------+-------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onStartShouldSetResponder|----->| onResponderStart (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest | |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderStart|\n | | +----------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +-------------+ | |\n | onTouchMove | | |\n +------+------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onMoveShouldSetResponder |----->| onResponderMove (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest| |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderMove |\n | | +----------------+\n | |\n | |\n Some active touch started| |\n inside current responder | +------------------------+ |\n +------------------------->| onResponderEnd | |\n | | +------------------------+ |\n +---+---------+ | |\n | onTouchEnd | | |\n +---+---------+ | |\n | | +------------------------+ |\n +------------------------->| onResponderEnd | |\n No active touches started| +-----------+------------+ |\n inside current responder | | |\n | v |\n | +------------------------+ |\n | | onResponderRelease | |\n | +------------------------+ |\n | |\n + + */\nvar emptyObject = {};\n/* ------------ IMPLEMENTATION ------------ */\n\nvar startRegistration = ['onStartShouldSetResponderCapture', 'onStartShouldSetResponder', {\n bubbles: true\n}];\nvar moveRegistration = ['onMoveShouldSetResponderCapture', 'onMoveShouldSetResponder', {\n bubbles: true\n}];\nvar scrollRegistration = ['onScrollShouldSetResponderCapture', 'onScrollShouldSetResponder', {\n bubbles: false\n}];\nvar shouldSetResponderEvents = {\n touchstart: startRegistration,\n mousedown: startRegistration,\n touchmove: moveRegistration,\n mousemove: moveRegistration,\n scroll: scrollRegistration\n};\nvar emptyResponder = {\n id: null,\n idPath: null,\n node: null\n};\nvar responderListenersMap = new Map();\nvar isEmulatingMouseEvents = false;\nvar trackedTouchCount = 0;\nvar currentResponder = {\n id: null,\n node: null,\n idPath: null\n};\nvar responderTouchHistoryStore = new _ResponderTouchHistoryStore.ResponderTouchHistoryStore();\n\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\n\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\n/**\n * Process native events\n *\n * A single event listener is used to manage the responder system.\n * All pointers are tracked in the ResponderTouchHistoryStore. Native events\n * are interpreted in terms of the Responder System and checked to see if\n * the responder should be transferred. Each host node that is attached to\n * the Responder System has an ID, which is used to look up its associated\n * callbacks.\n */\n\n\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n /**\n * Manage emulated events and early bailout.\n * Since PointerEvent is not used yet (lack of support in older Safari), it's\n * necessary to manually manage the mess of browser touch/mouse events.\n * And bailout early for termination events when there is no active responder.\n */\n // Flag when browser may produce emulated events\n\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n } // Remove flag when browser will not produce emulated events\n\n\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n } // Ignore various events in particular circumstances\n\n\n if ( // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents || // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n } // Remove flag after emulated events are finished\n\n\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n\n return;\n }\n\n var isStartEvent = (0, _ResponderEventTypes.isStartish)(eventType) && (0, _utils.isPrimaryPointerDown)(domEvent);\n var isMoveEvent = (0, _ResponderEventTypes.isMoveish)(eventType);\n var isEndEvent = (0, _ResponderEventTypes.isEndish)(eventType);\n var isScrollEvent = (0, _ResponderEventTypes.isScroll)(eventType);\n var isSelectionChangeEvent = (0, _ResponderEventTypes.isSelectionChange)(eventType);\n var responderEvent = (0, _createResponderEvent.default)(domEvent, responderTouchHistoryStore);\n /**\n * Record the state of active pointers\n */\n\n if (isStartEvent || isMoveEvent || isEndEvent) {\n if (domEvent.touches) {\n trackedTouchCount = domEvent.touches.length;\n } else {\n if (isStartEvent) {\n trackedTouchCount = 1;\n } else if (isEndEvent) {\n trackedTouchCount = 0;\n }\n }\n\n responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n /**\n * Responder System logic\n */\n\n\n var eventPaths = (0, _utils.getResponderPaths)(domEvent);\n var wasNegotiated = false;\n var wantsResponder; // If an event occured that might change the current responder...\n\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n // If there is already a responder, prune the event paths to the lowest common ancestor\n // of the existing responder and deepest target of the event.\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = (0, _utils.getLowestCommonAncestor)(currentResponderIdPath, eventIdPath);\n\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor); // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\n\n var index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);\n eventPaths = {\n idPath: eventIdPath.slice(index),\n nodePath: eventPaths.nodePath.slice(index)\n };\n } else {\n eventPaths = null;\n }\n }\n\n if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n\n if (wantsResponder != null) {\n // Sets responder if none exists, or negotates with existing responder.\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n } // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n\n\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n\n var _getResponderConfig = getResponderConfig(id),\n onResponderStart = _getResponderConfig.onResponderStart,\n onResponderMove = _getResponderConfig.onResponderMove,\n onResponderEnd = _getResponderConfig.onResponderEnd,\n onResponderRelease = _getResponderConfig.onResponderRelease,\n onResponderTerminate = _getResponderConfig.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig.onResponderTerminationRequest;\n\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node; // Start\n\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\n } // Move\n else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderMove';\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = (0, _ResponderEventTypes.isCancelish)(eventType) || // native context menu\n eventType === 'contextmenu' || // window blur\n eventType === 'blur' && eventTarget === window || // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node || // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 || // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node || // native select/selectionchange on node\n isSelectionChangeEvent && (0, _utils.hasValidSelection)(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !(0, _utils.hasTargetTouches)(node, domEvent.touches); // End\n\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n } // Release\n\n\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n\n changeCurrentResponder(emptyResponder);\n } // Terminate\n\n\n if (isTerminateEvent) {\n var shouldTerminate = true; // Responders can still avoid termination but only for these events.\n\n if (eventType === 'contextmenu' || eventType === 'scroll' || eventType === 'selectionchange') {\n // Only call this function is it wasn't already called during negotiation.\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\n/**\n * Walk the event path to/from the target node. At each node, stop and call the\n * relevant \"shouldSet\" functions for the given event type. If any of those functions\n * call \"stopPropagation\" on the event, stop searching for a responder.\n */\n\n\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type]; // for Flow\n\n if (shouldSetCallbacks != null) {\n var idPath = eventPaths.idPath,\n nodePath = eventPaths.nodePath;\n var shouldSetCallbackCaptureName = shouldSetCallbacks[0];\n var shouldSetCallbackBubbleName = shouldSetCallbacks[1];\n var bubbles = shouldSetCallbacks[2].bubbles;\n\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n\n if (shouldSetCallback(responderEvent) === true) {\n // Start the path from the potential responder\n var prunedIdPath = idPath.slice(idPath.indexOf(id));\n return {\n id,\n node,\n idPath: prunedIdPath\n };\n }\n }\n }; // capture\n\n\n for (var i = idPath.length - 1; i >= 0; i--) {\n var id = idPath[i];\n var node = nodePath[i];\n var result = check(id, node, shouldSetCallbackCaptureName);\n\n if (result != null) {\n return result;\n }\n\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n } // bubble\n\n\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n\n if (_result != null) {\n return _result;\n }\n\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n } else {\n var _id2 = idPath[0];\n var _node2 = nodePath[0];\n var target = domEvent.target;\n\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n/**\n * Attempt to transfer the responder.\n */\n\n\nfunction attemptTransfer(responderEvent, wantsResponder) {\n var _currentResponder2 = currentResponder,\n currentId = _currentResponder2.id,\n currentNode = _currentResponder2.node;\n var id = wantsResponder.id,\n node = wantsResponder.node;\n\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node; // Set responder\n\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n\n changeCurrentResponder(wantsResponder);\n } // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n\n var allowTransfer = true;\n\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n\n if (allowTransfer) {\n // Terminate existing responder\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n } // Grant next responder\n\n\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n\n changeCurrentResponder(wantsResponder);\n } else {\n // Reject responder request\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderReject';\n onResponderReject(responderEvent);\n }\n }\n }\n}\n/* ------------ PUBLIC API ------------ */\n\n/**\n * Attach Listeners\n *\n * Use native events as ReactDOM doesn't have a non-plugin API to implement\n * this system.\n */\n\n\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart', // touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel', // other\n'contextmenu', 'select', 'selectionchange'];\n\nfunction attachListeners() {\n if (_canUseDom.default && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\n/**\n * Register a node with the ResponderSystem.\n */\n\n\nfunction addNode(id, node, config) {\n (0, _utils.setResponderId)(node, id);\n responderListenersMap.set(id, config);\n}\n/**\n * Unregister a node with the ResponderSystem.\n */\n\n\nfunction removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\n/**\n * Allow the current responder to be terminated from within components to support\n * more complex requirements, such as use with other React libraries for working\n * with scroll views, input views, etc.\n */\n\n\nfunction terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n\n if (onResponderTerminate != null) {\n var event = (0, _createResponderEvent.default)({}, responderTouchHistoryStore);\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n\n changeCurrentResponder(emptyResponder);\n }\n\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\n\n\nfunction getResponderNode() {\n return currentResponder.node;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZVJlc3BvbmRlckV2ZW50cy9SZXNwb25kZXJTeXN0ZW0uanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsNkJBQTZCLDBKQUErRDs7QUFFNUYsa0JBQWtCO0FBQ2xCLGVBQWU7QUFDZix1QkFBdUI7QUFDdkIsd0JBQXdCO0FBQ3hCLGtCQUFrQjtBQUNsQiwwQkFBMEI7O0FBRTFCLG1EQUFtRCxtQkFBTyxDQUFDLCtHQUF3Qjs7QUFFbkYsMkJBQTJCLG1CQUFPLENBQUMsNkdBQXVCOztBQUUxRCxhQUFhLG1CQUFPLENBQUMsaUZBQVM7O0FBRTlCLGtDQUFrQyxtQkFBTyxDQUFDLDJIQUE4Qjs7QUFFeEUsd0NBQXdDLG1CQUFPLENBQUMsNkVBQWM7O0FBRTlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0Esc0JBQXNCOztBQUV0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxxRkFBcUY7O0FBRXJGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EseUNBQXlDOztBQUV6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxSEFBcUg7O0FBRXJIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQSxvQ0FBb0M7O0FBRXBDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxvRUFBb0U7O0FBRXBFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQLG9DQUFvQyxRQUFRO0FBQzVDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQSx1QkFBdUIsb0JBQW9CO0FBQzNDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1REFBdUQ7QUFDdkQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZVJlc3BvbmRlckV2ZW50cy9SZXNwb25kZXJTeXN0ZW0uanM/MzExOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHRcIikuZGVmYXVsdDtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuYWRkTm9kZSA9IGFkZE5vZGU7XG5leHBvcnRzLmF0dGFjaExpc3RlbmVycyA9IGF0dGFjaExpc3RlbmVycztcbmV4cG9ydHMuZ2V0UmVzcG9uZGVyTm9kZSA9IGdldFJlc3BvbmRlck5vZGU7XG5leHBvcnRzLnJlbW92ZU5vZGUgPSByZW1vdmVOb2RlO1xuZXhwb3J0cy50ZXJtaW5hdGVSZXNwb25kZXIgPSB0ZXJtaW5hdGVSZXNwb25kZXI7XG5cbnZhciBfY3JlYXRlUmVzcG9uZGVyRXZlbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL2NyZWF0ZVJlc3BvbmRlckV2ZW50XCIpKTtcblxudmFyIF9SZXNwb25kZXJFdmVudFR5cGVzID0gcmVxdWlyZShcIi4vUmVzcG9uZGVyRXZlbnRUeXBlc1wiKTtcblxudmFyIF91dGlscyA9IHJlcXVpcmUoXCIuL3V0aWxzXCIpO1xuXG52YXIgX1Jlc3BvbmRlclRvdWNoSGlzdG9yeVN0b3JlID0gcmVxdWlyZShcIi4vUmVzcG9uZGVyVG91Y2hIaXN0b3J5U3RvcmVcIik7XG5cbnZhciBfY2FuVXNlRG9tID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vY2FuVXNlRG9tXCIpKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cblxuLyoqXG4gKiBSRVNQT05ERVIgRVZFTlQgU1lTVEVNXG4gKlxuICogQSBzaW5nbGUsIGdsb2JhbCBcImludGVyYWN0aW9uIGxvY2tcIiBvbiB2aWV3cy4gRm9yIGEgdmlldyB0byBiZSB0aGUgXCJyZXNwb25kZXJcIiBtZWFuc1xuICogdGhhdCBwb2ludGVyIGludGVyYWN0aW9ucyBhcmUgZXhjbHVzaXZlIHRvIHRoYXQgdmlldyBhbmQgbm9uZSBvdGhlci4gVGhlIFwiaW50ZXJhY3Rpb25cbiAqIGxvY2tcIiBjYW4gYmUgdHJhbnNmZXJyZWQgKG9ubHkpIHRvIGFuY2VzdG9ycyBvZiB0aGUgY3VycmVudCBcInJlc3BvbmRlclwiIGFzIGxvbmcgYXNcbiAqIHBvaW50ZXJzIGNvbnRpbnVlIHRvIGJlIGFjdGl2ZS5cbiAqXG4gKiBSZXNwb25kZXIgYmVpbmcgZ3JhbnRlZDpcbiAqXG4gKiBBIHZpZXcgY2FuIGJlY29tZSB0aGUgXCJyZXNwb25kZXJcIiBhZnRlciB0aGUgZm9sbG93aW5nIGV2ZW50czpcbiAqICAqIFwicG9pbnRlcmRvd25cIiAoaW1wbGVtZW50ZWQgdXNpbmcgXCJ0b3VjaHN0YXJ0XCIsIFwibW91c2Vkb3duXCIpXG4gKiAgKiBcInBvaW50ZXJtb3ZlXCIgKGltcGxlbWVudGVkIHVzaW5nIFwidG91Y2htb3ZlXCIsIFwibW91c2Vtb3ZlXCIpXG4gKiAgKiBcInNjcm9sbFwiICh3aGlsZSBhIHBvaW50ZXIgaXMgZG93bilcbiAqICAqIFwic2VsZWN0aW9uY2hhbmdlXCIgKHdoaWxlIGEgcG9pbnRlciBpcyBkb3duKVxuICpcbiAqIElmIG5vdGhpbmcgaXMgYWxyZWFkeSB0aGUgXCJyZXNwb25kZXJcIiwgdGhlIGV2ZW50IHByb3BhZ2F0ZXMgdG8gKGNhcHR1cmUpIGFuZCBmcm9tXG4gKiAoYnViYmxlKSB0aGUgZXZlbnQgdGFyZ2V0IHVudGlsIGEgdmlldyByZXR1cm5zIGB0cnVlYCBmb3JcbiAqIGBvbipTaG91bGRTZXRSZXNwb25kZXIoQ2FwdHVyZSlgLlxuICpcbiAqIElmIHNvbWV0aGluZyBpcyBhbHJlYWR5IHRoZSByZXNwb25kZXIsIHRoZSBldmVudCBwcm9wYWdhdGVzIHRvIChjYXB0dXJlKSBhbmQgZnJvbVxuICogKGJ1YmJsZSkgdGhlIGxvd2VzdCBjb21tb24gYW5jZXN0b3Igb2YgdGhlIGV2ZW50IHRhcmdldCBhbmQgdGhlIGN1cnJlbnQgXCJyZXNwb25kZXJcIi5cbiAqIFRoZW4gbmVnb3RpYXRpb24gaGFwcGVucyBiZXR3ZWVuIHRoZSBjdXJyZW50IFwicmVzcG9uZGVyXCIgYW5kIGEgdmlldyB0aGF0IHdhbnRzIHRvXG4gKiBiZWNvbWUgdGhlIFwicmVzcG9uZGVyXCI6IHNlZSB0aGUgdGltaW5nIGRpYWdyYW0gYmVsb3cuXG4gKlxuICogKE5PVEU6IFNjcm9sbGVkIHZpZXdzIGVpdGhlciBhdXRvbWF0aWNhbGx5IGJlY29tZSB0aGUgXCJyZXNwb25kZXJcIiBvciByZWxlYXNlIHRoZVxuICogXCJpbnRlcmFjdGlvbiBsb2NrXCIuIEEgbmF0aXZlIHNjcm9sbCB2aWV3IHRoYXQgaXNuJ3QgYnVpbHQgb24gdG9wIG9mIHRoZSByZXNwb25kZXJcbiAqIHN5c3RlbSBtdXN0IHJlc3VsdCBpbiB0aGUgY3VycmVudCBcInJlc3BvbmRlclwiIGJlaW5nIG5vdGlmaWVkIHRoYXQgaXQgbm8gbG9uZ2VyIGhhc1xuICogdGhlIFwiaW50ZXJhY3Rpb24gbG9ja1wiIC0gdGhlIG5hdGl2ZSBzeXN0ZW0gaGFzIHRha2VuIG92ZXIuXG4gKlxuICogUmVzcG9uZGVyIGJlaW5nIHJlbGVhc2VkOlxuICpcbiAqIEFzIHNvb24gYXMgdGhlcmUgYXJlIG5vIG1vcmUgYWN0aXZlIHBvaW50ZXJzIHRoYXQgKnN0YXJ0ZWQqIGluc2lkZSBkZXNjZW5kYW50c1xuICogb2YgdGhlICpjdXJyZW50KiBcInJlc3BvbmRlclwiLCBhbiBgb25SZXNwb25kZXJSZWxlYXNlYCBldmVudCBpcyBkaXNwYXRjaGVkIHRvIHRoZVxuICogY3VycmVudCBcInJlc3BvbmRlclwiLCBhbmQgdGhlIHJlc3BvbmRlciBsb2NrIGlzIHJlbGVhc2VkLlxuICpcbiAqIFR5cGljYWwgc2VxdWVuY2Ugb2YgZXZlbnRzOlxuICogICogc3RhcnRTaG91bGRTZXRSZXNwb25kZXJcbiAqICAqIHJlc3BvbmRlckdyYW50L1JlamVjdFxuICogICogcmVzcG9uZGVyU3RhcnRcbiAqICAqIHJlc3BvbmRlck1vdmVcbiAqICAqIHJlc3BvbmRlckVuZFxuICogICogcmVzcG9uZGVyUmVsZWFzZVxuICovXG5cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmVnb3RpYXRpb24gUGVyZm9ybWVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gICAgICAgICAgICAgICAgICAgICAgICAgXFxcblByb2Nlc3MgbG93IGxldmVsIGV2ZW50cyB0byAgICArICAgICBDdXJyZW50IFJlc3BvbmRlciAgICAgICsgICB3YW50c1Jlc3BvbmRlcklEXG5kZXRlcm1pbmUgd2hvIHRvIHBlcmZvcm0gbmVnb3QtfCAgIChpZiBhbnkgZXhpc3RzIGF0IGFsbCkgICB8XG5pYXRpb24vdHJhbnNpdGlvbiAgICAgICAgICAgICAgfCBPdGhlcndpc2UganVzdCBwYXNzIHRocm91Z2h8XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tK1xuQnViYmxlIHRvIGZpbmQgZmlyc3QgSUQgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxudG8gcmV0dXJuIHRydWU6d2FudHNSZXNwb25kZXJJRHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICArLS0tLS0tLS0tLS0tLS0rICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICB8IG9uVG91Y2hTdGFydCB8ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICArLS0tLS0tKy0tLS0tLS0rICAgIG5vbmUgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgICAgICAgfCAgICAgICAgICAgIHJldHVybnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tdi0tLS0tLS0tLS0tLS0rdHJ1ZXwgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgfFxufG9uU3RhcnRTaG91bGRTZXRSZXNwb25kZXJ8LS0tLS0+fCBvblJlc3BvbmRlclN0YXJ0IChjdXIpIHw8LS0tLS0tLS0tLS0rXG4rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSsgICAgfCArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyB8ICAgICAgICAgIHxcbiAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKy0tLS0tLS0tKy0tLS0tLS0rXG4gICAgICAgICAgICB8IHJldHVybmVkIHRydWUgZm9yfCAgICAgICBmYWxzZTpSRUpFQ1QgKy0tLS0tLS0tPnxvblJlc3BvbmRlclJlamVjdFxuICAgICAgICAgICAgfCB3YW50c1Jlc3BvbmRlcklEIHwgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfCArLS0tLS0tLS0tLS0tLS0tLStcbiAgICAgICAgICAgIHwgKG5vdyBhdHRlbXB0ICAgICB8ICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0rIHxcbiAgICAgICAgICAgIHwgIGhhbmRvZmYpICAgICAgICB8IHwgb25SZXNwb25kZXIgICAgICAgICAgICB8IHxcbiAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tPnwgICAgVGVybWluYXRpb25SZXF1ZXN0ICB8IHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0rIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwgKy0tLS0tLS0tLS0tLS0tLS0rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHRydWU6R1JBTlQgKy0tLS0tLS0tPnxvblJlc3BvbmRlckdyYW50fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCArLS0tLS0tLS0rLS0tLS0tLStcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHwgICAgICAgICAgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgfCBvblJlc3BvbmRlclRlcm1pbmF0ZSAgIHw8LS0tLS0tLS0tLS0rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tKyB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8ICstLS0tLS0tLS0tLS0tLS0tK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICstLS0tLS0tLT58b25SZXNwb25kZXJTdGFydHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKy0tLS0tLS0tLS0tLS0tLS0rXG5CdWJibGUgdG8gZmluZCBmaXJzdCBJRCAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG50byByZXR1cm4gdHJ1ZTp3YW50c1Jlc3BvbmRlcklEfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICstLS0tLS0tLS0tLS0tKyAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgIHwgb25Ub3VjaE1vdmUgfCAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICstLS0tLS0rLS0tLS0tKyAgICAgbm9uZSAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgICAgICB8ICAgICAgICAgICAgcmV0dXJufCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS12LS0tLS0tLS0tLS0tLSt0cnVlfCArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyB8XG58b25Nb3ZlU2hvdWxkU2V0UmVzcG9uZGVyIHwtLS0tLT58IG9uUmVzcG9uZGVyTW92ZSAoY3VyKSAgfDwtLS0tLS0tLS0tLStcbistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKyAgICB8ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHwgICAgICAgICAgfFxuICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCArLS0tLS0tLS0rLS0tLS0tLStcbiAgICAgICAgICAgIHwgcmV0dXJuZWQgdHJ1ZSBmb3J8ICAgICAgIGZhbHNlOlJFSkVDVCArLS0tLS0tLS0+fG9uUmVzcG9uZGVyUmVqZWN0XG4gICAgICAgICAgICB8IHdhbnRzUmVzcG9uZGVySUQgfCAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8ICstLS0tLS0tLS0tLS0tLS0tK1xuICAgICAgICAgICAgfCAobm93IGF0dGVtcHQgICAgIHwgKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLSsgfFxuICAgICAgICAgICAgfCAgaGFuZG9mZikgICAgICAgIHwgfCAgIG9uUmVzcG9uZGVyICAgICAgICAgIHwgfFxuICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0+fCAgICAgIFRlcm1pbmF0aW9uUmVxdWVzdHwgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLSsgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfCArLS0tLS0tLS0tLS0tLS0tLStcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgdHJ1ZTpHUkFOVCArLS0tLS0tLS0+fG9uUmVzcG9uZGVyR3JhbnR8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICstLS0tLS0tLSstLS0tLS0tK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgfCAgICAgICAgICB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB8ICAgb25SZXNwb25kZXJUZXJtaW5hdGUgfDwtLS0tLS0tLS0tLStcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0rIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwgKy0tLS0tLS0tLS0tLS0tLS0rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tPnxvblJlc3BvbmRlck1vdmUgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCArLS0tLS0tLS0tLS0tLS0tLStcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgIFNvbWUgYWN0aXZlIHRvdWNoIHN0YXJ0ZWR8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgIGluc2lkZSBjdXJyZW50IHJlc3BvbmRlciB8ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHxcbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPnwgICAgICBvblJlc3BvbmRlckVuZCAgICB8IHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHxcbiAgKy0tLSstLS0tLS0tLS0rICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgfCBvblRvdWNoRW5kICB8ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgKy0tLSstLS0tLS0tLS0rICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHxcbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPnwgICAgIG9uUmVzcG9uZGVyRW5kICAgICB8IHxcbiAgICAgIE5vIGFjdGl2ZSB0b3VjaGVzIHN0YXJ0ZWR8ICstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rIHxcbiAgICAgIGluc2lkZSBjdXJyZW50IHJlc3BvbmRlciB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHYgICAgICAgICAgICAgIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHwgICAgb25SZXNwb25kZXJSZWxlYXNlICB8IHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgKi9cbnZhciBlbXB0eU9iamVjdCA9IHt9O1xuLyogLS0tLS0tLS0tLS0tIElNUExFTUVOVEFUSU9OIC0tLS0tLS0tLS0tLSAqL1xuXG52YXIgc3RhcnRSZWdpc3RyYXRpb24gPSBbJ29uU3RhcnRTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlJywgJ29uU3RhcnRTaG91bGRTZXRSZXNwb25kZXInLCB7XG4gIGJ1YmJsZXM6IHRydWVcbn1dO1xudmFyIG1vdmVSZWdpc3RyYXRpb24gPSBbJ29uTW92ZVNob3VsZFNldFJlc3BvbmRlckNhcHR1cmUnLCAnb25Nb3ZlU2hvdWxkU2V0UmVzcG9uZGVyJywge1xuICBidWJibGVzOiB0cnVlXG59XTtcbnZhciBzY3JvbGxSZWdpc3RyYXRpb24gPSBbJ29uU2Nyb2xsU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZScsICdvblNjcm9sbFNob3VsZFNldFJlc3BvbmRlcicsIHtcbiAgYnViYmxlczogZmFsc2Vcbn1dO1xudmFyIHNob3VsZFNldFJlc3BvbmRlckV2ZW50cyA9IHtcbiAgdG91Y2hzdGFydDogc3RhcnRSZWdpc3RyYXRpb24sXG4gIG1vdXNlZG93bjogc3RhcnRSZWdpc3RyYXRpb24sXG4gIHRvdWNobW92ZTogbW92ZVJlZ2lzdHJhdGlvbixcbiAgbW91c2Vtb3ZlOiBtb3ZlUmVnaXN0cmF0aW9uLFxuICBzY3JvbGw6IHNjcm9sbFJlZ2lzdHJhdGlvblxufTtcbnZhciBlbXB0eVJlc3BvbmRlciA9IHtcbiAgaWQ6IG51bGwsXG4gIGlkUGF0aDogbnVsbCxcbiAgbm9kZTogbnVsbFxufTtcbnZhciByZXNwb25kZXJMaXN0ZW5lcnNNYXAgPSBuZXcgTWFwKCk7XG52YXIgaXNFbXVsYXRpbmdNb3VzZUV2ZW50cyA9IGZhbHNlO1xudmFyIHRyYWNrZWRUb3VjaENvdW50ID0gMDtcbnZhciBjdXJyZW50UmVzcG9uZGVyID0ge1xuICBpZDogbnVsbCxcbiAgbm9kZTogbnVsbCxcbiAgaWRQYXRoOiBudWxsXG59O1xudmFyIHJlc3BvbmRlclRvdWNoSGlzdG9yeVN0b3JlID0gbmV3IF9SZXNwb25kZXJUb3VjaEhpc3RvcnlTdG9yZS5SZXNwb25kZXJUb3VjaEhpc3RvcnlTdG9yZSgpO1xuXG5mdW5jdGlvbiBjaGFuZ2VDdXJyZW50UmVzcG9uZGVyKHJlc3BvbmRlcikge1xuICBjdXJyZW50UmVzcG9uZGVyID0gcmVzcG9uZGVyO1xufVxuXG5mdW5jdGlvbiBnZXRSZXNwb25kZXJDb25maWcoaWQpIHtcbiAgdmFyIGNvbmZpZyA9IHJlc3BvbmRlckxpc3RlbmVyc01hcC5nZXQoaWQpO1xuICByZXR1cm4gY29uZmlnICE9IG51bGwgPyBjb25maWcgOiBlbXB0eU9iamVjdDtcbn1cbi8qKlxuICogUHJvY2VzcyBuYXRpdmUgZXZlbnRzXG4gKlxuICogQSBzaW5nbGUgZXZlbnQgbGlzdGVuZXIgaXMgdXNlZCB0byBtYW5hZ2UgdGhlIHJlc3BvbmRlciBzeXN0ZW0uXG4gKiBBbGwgcG9pbnRlcnMgYXJlIHRyYWNrZWQgaW4gdGhlIFJlc3BvbmRlclRvdWNoSGlzdG9yeVN0b3JlLiBOYXRpdmUgZXZlbnRzXG4gKiBhcmUgaW50ZXJwcmV0ZWQgaW4gdGVybXMgb2YgdGhlIFJlc3BvbmRlciBTeXN0ZW0gYW5kIGNoZWNrZWQgdG8gc2VlIGlmXG4gKiB0aGUgcmVzcG9uZGVyIHNob3VsZCBiZSB0cmFuc2ZlcnJlZC4gRWFjaCBob3N0IG5vZGUgdGhhdCBpcyBhdHRhY2hlZCB0b1xuICogdGhlIFJlc3BvbmRlciBTeXN0ZW0gaGFzIGFuIElELCB3aGljaCBpcyB1c2VkIHRvIGxvb2sgdXAgaXRzIGFzc29jaWF0ZWRcbiAqIGNhbGxiYWNrcy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGV2ZW50TGlzdGVuZXIoZG9tRXZlbnQpIHtcbiAgdmFyIGV2ZW50VHlwZSA9IGRvbUV2ZW50LnR5cGU7XG4gIHZhciBldmVudFRhcmdldCA9IGRvbUV2ZW50LnRhcmdldDtcbiAgLyoqXG4gICAqIE1hbmFnZSBlbXVsYXRlZCBldmVudHMgYW5kIGVhcmx5IGJhaWxvdXQuXG4gICAqIFNpbmNlIFBvaW50ZXJFdmVudCBpcyBub3QgdXNlZCB5ZXQgKGxhY2sgb2Ygc3VwcG9ydCBpbiBvbGRlciBTYWZhcmkpLCBpdCdzXG4gICAqIG5lY2Vzc2FyeSB0byBtYW51YWxseSBtYW5hZ2UgdGhlIG1lc3Mgb2YgYnJvd3NlciB0b3VjaC9tb3VzZSBldmVudHMuXG4gICAqIEFuZCBiYWlsb3V0IGVhcmx5IGZvciB0ZXJtaW5hdGlvbiBldmVudHMgd2hlbiB0aGVyZSBpcyBubyBhY3RpdmUgcmVzcG9uZGVyLlxuICAgKi9cbiAgLy8gRmxhZyB3aGVuIGJyb3dzZXIgbWF5IHByb2R1Y2UgZW11bGF0ZWQgZXZlbnRzXG5cbiAgaWYgKGV2ZW50VHlwZSA9PT0gJ3RvdWNoc3RhcnQnKSB7XG4gICAgaXNFbXVsYXRpbmdNb3VzZUV2ZW50cyA9IHRydWU7XG4gIH0gLy8gUmVtb3ZlIGZsYWcgd2hlbiBicm93c2VyIHdpbGwgbm90IHByb2R1Y2UgZW11bGF0ZWQgZXZlbnRzXG5cblxuICBpZiAoZXZlbnRUeXBlID09PSAndG91Y2htb3ZlJyB8fCB0cmFja2VkVG91Y2hDb3VudCA+IDEpIHtcbiAgICBpc0VtdWxhdGluZ01vdXNlRXZlbnRzID0gZmFsc2U7XG4gIH0gLy8gSWdub3JlIHZhcmlvdXMgZXZlbnRzIGluIHBhcnRpY3VsYXIgY2lyY3Vtc3RhbmNlc1xuXG5cbiAgaWYgKCAvLyBJZ25vcmUgYnJvd3NlciBlbXVsYXRlZCBtb3VzZSBldmVudHNcbiAgZXZlbnRUeXBlID09PSAnbW91c2Vkb3duJyAmJiBpc0VtdWxhdGluZ01vdXNlRXZlbnRzIHx8IGV2ZW50VHlwZSA9PT0gJ21vdXNlbW92ZScgJiYgaXNFbXVsYXRpbmdNb3VzZUV2ZW50cyB8fCAvLyBJZ25vcmUgbW91c2Vtb3ZlIGlmIGEgbW91c2Vkb3duIGRpZG4ndCBvY2N1ciBmaXJzdFxuICBldmVudFR5cGUgPT09ICdtb3VzZW1vdmUnICYmIHRyYWNrZWRUb3VjaENvdW50IDwgMSkge1xuICAgIHJldHVybjtcbiAgfSAvLyBSZW1vdmUgZmxhZyBhZnRlciBlbXVsYXRlZCBldmVudHMgYXJlIGZpbmlzaGVkXG5cblxuICBpZiAoaXNFbXVsYXRpbmdNb3VzZUV2ZW50cyAmJiBldmVudFR5cGUgPT09ICdtb3VzZXVwJykge1xuICAgIGlmICh0cmFja2VkVG91Y2hDb3VudCA9PT0gMCkge1xuICAgICAgaXNFbXVsYXRpbmdNb3VzZUV2ZW50cyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBpc1N0YXJ0RXZlbnQgPSAoMCwgX1Jlc3BvbmRlckV2ZW50VHlwZXMuaXNTdGFydGlzaCkoZXZlbnRUeXBlKSAmJiAoMCwgX3V0aWxzLmlzUHJpbWFyeVBvaW50ZXJEb3duKShkb21FdmVudCk7XG4gIHZhciBpc01vdmVFdmVudCA9ICgwLCBfUmVzcG9uZGVyRXZlbnRUeXBlcy5pc01vdmVpc2gpKGV2ZW50VHlwZSk7XG4gIHZhciBpc0VuZEV2ZW50ID0gKDAsIF9SZXNwb25kZXJFdmVudFR5cGVzLmlzRW5kaXNoKShldmVudFR5cGUpO1xuICB2YXIgaXNTY3JvbGxFdmVudCA9ICgwLCBfUmVzcG9uZGVyRXZlbnRUeXBlcy5pc1Njcm9sbCkoZXZlbnRUeXBlKTtcbiAgdmFyIGlzU2VsZWN0aW9uQ2hhbmdlRXZlbnQgPSAoMCwgX1Jlc3BvbmRlckV2ZW50VHlwZXMuaXNTZWxlY3Rpb25DaGFuZ2UpKGV2ZW50VHlwZSk7XG4gIHZhciByZXNwb25kZXJFdmVudCA9ICgwLCBfY3JlYXRlUmVzcG9uZGVyRXZlbnQuZGVmYXVsdCkoZG9tRXZlbnQsIHJlc3BvbmRlclRvdWNoSGlzdG9yeVN0b3JlKTtcbiAgLyoqXG4gICAqIFJlY29yZCB0aGUgc3RhdGUgb2YgYWN0aXZlIHBvaW50ZXJzXG4gICAqL1xuXG4gIGlmIChpc1N0YXJ0RXZlbnQgfHwgaXNNb3ZlRXZlbnQgfHwgaXNFbmRFdmVudCkge1xuICAgIGlmIChkb21FdmVudC50b3VjaGVzKSB7XG4gICAgICB0cmFja2VkVG91Y2hDb3VudCA9IGRvbUV2ZW50LnRvdWNoZXMubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaXNTdGFydEV2ZW50KSB7XG4gICAgICAgIHRyYWNrZWRUb3VjaENvdW50ID0gMTtcbiAgICAgIH0gZWxzZSBpZiAoaXNFbmRFdmVudCkge1xuICAgICAgICB0cmFja2VkVG91Y2hDb3VudCA9IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVzcG9uZGVyVG91Y2hIaXN0b3J5U3RvcmUucmVjb3JkVG91Y2hUcmFjayhldmVudFR5cGUsIHJlc3BvbmRlckV2ZW50Lm5hdGl2ZUV2ZW50KTtcbiAgfVxuICAvKipcbiAgICogUmVzcG9uZGVyIFN5c3RlbSBsb2dpY1xuICAgKi9cblxuXG4gIHZhciBldmVudFBhdGhzID0gKDAsIF91dGlscy5nZXRSZXNwb25kZXJQYXRocykoZG9tRXZlbnQpO1xuICB2YXIgd2FzTmVnb3RpYXRlZCA9IGZhbHNlO1xuICB2YXIgd2FudHNSZXNwb25kZXI7IC8vIElmIGFuIGV2ZW50IG9jY3VyZWQgdGhhdCBtaWdodCBjaGFuZ2UgdGhlIGN1cnJlbnQgcmVzcG9uZGVyLi4uXG5cbiAgaWYgKGlzU3RhcnRFdmVudCB8fCBpc01vdmVFdmVudCB8fCBpc1Njcm9sbEV2ZW50ICYmIHRyYWNrZWRUb3VjaENvdW50ID4gMCkge1xuICAgIC8vIElmIHRoZXJlIGlzIGFscmVhZHkgYSByZXNwb25kZXIsIHBydW5lIHRoZSBldmVudCBwYXRocyB0byB0aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvclxuICAgIC8vIG9mIHRoZSBleGlzdGluZyByZXNwb25kZXIgYW5kIGRlZXBlc3QgdGFyZ2V0IG9mIHRoZSBldmVudC5cbiAgICB2YXIgY3VycmVudFJlc3BvbmRlcklkUGF0aCA9IGN1cnJlbnRSZXNwb25kZXIuaWRQYXRoO1xuICAgIHZhciBldmVudElkUGF0aCA9IGV2ZW50UGF0aHMuaWRQYXRoO1xuXG4gICAgaWYgKGN1cnJlbnRSZXNwb25kZXJJZFBhdGggIT0gbnVsbCAmJiBldmVudElkUGF0aCAhPSBudWxsKSB7XG4gICAgICB2YXIgbG93ZXN0Q29tbW9uQW5jZXN0b3IgPSAoMCwgX3V0aWxzLmdldExvd2VzdENvbW1vbkFuY2VzdG9yKShjdXJyZW50UmVzcG9uZGVySWRQYXRoLCBldmVudElkUGF0aCk7XG5cbiAgICAgIGlmIChsb3dlc3RDb21tb25BbmNlc3RvciAhPSBudWxsKSB7XG4gICAgICAgIHZhciBpbmRleE9mTG93ZXN0Q29tbW9uQW5jZXN0b3IgPSBldmVudElkUGF0aC5pbmRleE9mKGxvd2VzdENvbW1vbkFuY2VzdG9yKTsgLy8gU2tpcCB0aGUgY3VycmVudCByZXNwb25kZXIgc28gaXQgZG9lc24ndCByZWNlaXZlIHVuZXhwZWN0ZWQgXCJzaG91bGRTZXRcIiBldmVudHMuXG5cbiAgICAgICAgdmFyIGluZGV4ID0gaW5kZXhPZkxvd2VzdENvbW1vbkFuY2VzdG9yICsgKGxvd2VzdENvbW1vbkFuY2VzdG9yID09PSBjdXJyZW50UmVzcG9uZGVyLmlkID8gMSA6IDApO1xuICAgICAgICBldmVudFBhdGhzID0ge1xuICAgICAgICAgIGlkUGF0aDogZXZlbnRJZFBhdGguc2xpY2UoaW5kZXgpLFxuICAgICAgICAgIG5vZGVQYXRoOiBldmVudFBhdGhzLm5vZGVQYXRoLnNsaWNlKGluZGV4KVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXZlbnRQYXRocyA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50UGF0aHMgIT0gbnVsbCkge1xuICAgICAgLy8gSWYgYSBub2RlIHdhbnRzIHRvIGJlY29tZSB0aGUgcmVzcG9uZGVyLCBhdHRlbXB0IHRvIHRyYW5zZmVyLlxuICAgICAgd2FudHNSZXNwb25kZXIgPSBmaW5kV2FudHNSZXNwb25kZXIoZXZlbnRQYXRocywgZG9tRXZlbnQsIHJlc3BvbmRlckV2ZW50KTtcblxuICAgICAgaWYgKHdhbnRzUmVzcG9uZGVyICE9IG51bGwpIHtcbiAgICAgICAgLy8gU2V0cyByZXNwb25kZXIgaWYgbm9uZSBleGlzdHMsIG9yIG5lZ290YXRlcyB3aXRoIGV4aXN0aW5nIHJlc3BvbmRlci5cbiAgICAgICAgYXR0ZW1wdFRyYW5zZmVyKHJlc3BvbmRlckV2ZW50LCB3YW50c1Jlc3BvbmRlcik7XG4gICAgICAgIHdhc05lZ290aWF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSAvLyBJZiB0aGVyZSBpcyBub3cgYSByZXNwb25kZXIsIGludm9rZSBpdHMgY2FsbGJhY2tzIGZvciB0aGUgbGlmZWN5Y2xlIG9mIHRoZSBnZXN0dXJlLlxuXG5cbiAgaWYgKGN1cnJlbnRSZXNwb25kZXIuaWQgIT0gbnVsbCAmJiBjdXJyZW50UmVzcG9uZGVyLm5vZGUgIT0gbnVsbCkge1xuICAgIHZhciBfY3VycmVudFJlc3BvbmRlciA9IGN1cnJlbnRSZXNwb25kZXIsXG4gICAgICAgIGlkID0gX2N1cnJlbnRSZXNwb25kZXIuaWQsXG4gICAgICAgIG5vZGUgPSBfY3VycmVudFJlc3BvbmRlci5ub2RlO1xuXG4gICAgdmFyIF9nZXRSZXNwb25kZXJDb25maWcgPSBnZXRSZXNwb25kZXJDb25maWcoaWQpLFxuICAgICAgICBvblJlc3BvbmRlclN0YXJ0ID0gX2dldFJlc3BvbmRlckNvbmZpZy5vblJlc3BvbmRlclN0YXJ0LFxuICAgICAgICBvblJlc3BvbmRlck1vdmUgPSBfZ2V0UmVzcG9uZGVyQ29uZmlnLm9uUmVzcG9uZGVyTW92ZSxcbiAgICAgICAgb25SZXNwb25kZXJFbmQgPSBfZ2V0UmVzcG9uZGVyQ29uZmlnLm9uUmVzcG9uZGVyRW5kLFxuICAgICAgICBvblJlc3BvbmRlclJlbGVhc2UgPSBfZ2V0UmVzcG9uZGVyQ29uZmlnLm9uUmVzcG9uZGVyUmVsZWFzZSxcbiAgICAgICAgb25SZXNwb25kZXJUZXJtaW5hdGUgPSBfZ2V0UmVzcG9uZGVyQ29uZmlnLm9uUmVzcG9uZGVyVGVybWluYXRlLFxuICAgICAgICBvblJlc3BvbmRlclRlcm1pbmF0aW9uUmVxdWVzdCA9IF9nZXRSZXNwb25kZXJDb25maWcub25SZXNwb25kZXJUZXJtaW5hdGlvblJlcXVlc3Q7XG5cbiAgICByZXNwb25kZXJFdmVudC5idWJibGVzID0gZmFsc2U7XG4gICAgcmVzcG9uZGVyRXZlbnQuY2FuY2VsYWJsZSA9IGZhbHNlO1xuICAgIHJlc3BvbmRlckV2ZW50LmN1cnJlbnRUYXJnZXQgPSBub2RlOyAvLyBTdGFydFxuXG4gICAgaWYgKGlzU3RhcnRFdmVudCkge1xuICAgICAgaWYgKG9uUmVzcG9uZGVyU3RhcnQgIT0gbnVsbCkge1xuICAgICAgICByZXNwb25kZXJFdmVudC5kaXNwYXRjaENvbmZpZy5yZWdpc3RyYXRpb25OYW1lID0gJ29uUmVzcG9uZGVyU3RhcnQnO1xuICAgICAgICBvblJlc3BvbmRlclN0YXJ0KHJlc3BvbmRlckV2ZW50KTtcbiAgICAgIH1cbiAgICB9IC8vIE1vdmVcbiAgICBlbHNlIGlmIChpc01vdmVFdmVudCkge1xuICAgICAgaWYgKG9uUmVzcG9uZGVyTW92ZSAhPSBudWxsKSB7XG4gICAgICAgIHJlc3BvbmRlckV2ZW50LmRpc3BhdGNoQ29uZmlnLnJlZ2lzdHJhdGlvbk5hbWUgPSAnb25SZXNwb25kZXJNb3ZlJztcbiAgICAgICAgb25SZXNwb25kZXJNb3ZlKHJlc3BvbmRlckV2ZW50KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGlzVGVybWluYXRlRXZlbnQgPSAoMCwgX1Jlc3BvbmRlckV2ZW50VHlwZXMuaXNDYW5jZWxpc2gpKGV2ZW50VHlwZSkgfHwgLy8gbmF0aXZlIGNvbnRleHQgbWVudVxuICAgICAgZXZlbnRUeXBlID09PSAnY29udGV4dG1lbnUnIHx8IC8vIHdpbmRvdyBibHVyXG4gICAgICBldmVudFR5cGUgPT09ICdibHVyJyAmJiBldmVudFRhcmdldCA9PT0gd2luZG93IHx8IC8vIHJlc3BvbmRlciAob3IgYW5jZXN0b3JzKSBibHVyXG4gICAgICBldmVudFR5cGUgPT09ICdibHVyJyAmJiBldmVudFRhcmdldC5jb250YWlucyhub2RlKSAmJiBkb21FdmVudC5yZWxhdGVkVGFyZ2V0ICE9PSBub2RlIHx8IC8vIG5hdGl2ZSBzY3JvbGwgd2l0aG91dCB1c2luZyBhIHBvaW50ZXJcbiAgICAgIGlzU2Nyb2xsRXZlbnQgJiYgdHJhY2tlZFRvdWNoQ291bnQgPT09IDAgfHwgLy8gbmF0aXZlIHNjcm9sbCBvbiBub2RlIHRoYXQgaXMgcGFyZW50IG9mIHRoZSByZXNwb25kZXIgKGFsbG93IHNpYmxpbmdzIHRvIHNjcm9sbClcbiAgICAgIGlzU2Nyb2xsRXZlbnQgJiYgZXZlbnRUYXJnZXQuY29udGFpbnMobm9kZSkgJiYgZXZlbnRUYXJnZXQgIT09IG5vZGUgfHwgLy8gbmF0aXZlIHNlbGVjdC9zZWxlY3Rpb25jaGFuZ2Ugb24gbm9kZVxuICAgICAgaXNTZWxlY3Rpb25DaGFuZ2VFdmVudCAmJiAoMCwgX3V0aWxzLmhhc1ZhbGlkU2VsZWN0aW9uKShkb21FdmVudCk7XG4gICAgICB2YXIgaXNSZWxlYXNlRXZlbnQgPSBpc0VuZEV2ZW50ICYmICFpc1Rlcm1pbmF0ZUV2ZW50ICYmICEoMCwgX3V0aWxzLmhhc1RhcmdldFRvdWNoZXMpKG5vZGUsIGRvbUV2ZW50LnRvdWNoZXMpOyAvLyBFbmRcblxuICAgICAgaWYgKGlzRW5kRXZlbnQpIHtcbiAgICAgICAgaWYgKG9uUmVzcG9uZGVyRW5kICE9IG51bGwpIHtcbiAgICAgICAgICByZXNwb25kZXJFdmVudC5kaXNwYXRjaENvbmZpZy5yZWdpc3RyYXRpb25OYW1lID0gJ29uUmVzcG9uZGVyRW5kJztcbiAgICAgICAgICBvblJlc3BvbmRlckVuZChyZXNwb25kZXJFdmVudCk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gUmVsZWFzZVxuXG5cbiAgICAgIGlmIChpc1JlbGVhc2VFdmVudCkge1xuICAgICAgICBpZiAob25SZXNwb25kZXJSZWxlYXNlICE9IG51bGwpIHtcbiAgICAgICAgICByZXNwb25kZXJFdmVudC5kaXNwYXRjaENvbmZpZy5yZWdpc3RyYXRpb25OYW1lID0gJ29uUmVzcG9uZGVyUmVsZWFzZSc7XG4gICAgICAgICAgb25SZXNwb25kZXJSZWxlYXNlKHJlc3BvbmRlckV2ZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoYW5nZUN1cnJlbnRSZXNwb25kZXIoZW1wdHlSZXNwb25kZXIpO1xuICAgICAgfSAvLyBUZXJtaW5hdGVcblxuXG4gICAgICBpZiAoaXNUZXJtaW5hdGVFdmVudCkge1xuICAgICAgICB2YXIgc2hvdWxkVGVybWluYXRlID0gdHJ1ZTsgLy8gUmVzcG9uZGVycyBjYW4gc3RpbGwgYXZvaWQgdGVybWluYXRpb24gYnV0IG9ubHkgZm9yIHRoZXNlIGV2ZW50cy5cblxuICAgICAgICBpZiAoZXZlbnRUeXBlID09PSAnY29udGV4dG1lbnUnIHx8IGV2ZW50VHlwZSA9PT0gJ3Njcm9sbCcgfHwgZXZlbnRUeXBlID09PSAnc2VsZWN0aW9uY2hhbmdlJykge1xuICAgICAgICAgIC8vIE9ubHkgY2FsbCB0aGlzIGZ1bmN0aW9uIGlzIGl0IHdhc24ndCBhbHJlYWR5IGNhbGxlZCBkdXJpbmcgbmVnb3RpYXRpb24uXG4gICAgICAgICAgaWYgKHdhc05lZ290aWF0ZWQpIHtcbiAgICAgICAgICAgIHNob3VsZFRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSBpZiAob25SZXNwb25kZXJUZXJtaW5hdGlvblJlcXVlc3QgIT0gbnVsbCkge1xuICAgICAgICAgICAgcmVzcG9uZGVyRXZlbnQuZGlzcGF0Y2hDb25maWcucmVnaXN0cmF0aW9uTmFtZSA9ICdvblJlc3BvbmRlclRlcm1pbmF0aW9uUmVxdWVzdCc7XG5cbiAgICAgICAgICAgIGlmIChvblJlc3BvbmRlclRlcm1pbmF0aW9uUmVxdWVzdChyZXNwb25kZXJFdmVudCkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgIHNob3VsZFRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaG91bGRUZXJtaW5hdGUpIHtcbiAgICAgICAgICBpZiAob25SZXNwb25kZXJUZXJtaW5hdGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgcmVzcG9uZGVyRXZlbnQuZGlzcGF0Y2hDb25maWcucmVnaXN0cmF0aW9uTmFtZSA9ICdvblJlc3BvbmRlclRlcm1pbmF0ZSc7XG4gICAgICAgICAgICBvblJlc3BvbmRlclRlcm1pbmF0ZShyZXNwb25kZXJFdmVudCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2hhbmdlQ3VycmVudFJlc3BvbmRlcihlbXB0eVJlc3BvbmRlcik7XG4gICAgICAgICAgaXNFbXVsYXRpbmdNb3VzZUV2ZW50cyA9IGZhbHNlO1xuICAgICAgICAgIHRyYWNrZWRUb3VjaENvdW50ID0gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBXYWxrIHRoZSBldmVudCBwYXRoIHRvL2Zyb20gdGhlIHRhcmdldCBub2RlLiBBdCBlYWNoIG5vZGUsIHN0b3AgYW5kIGNhbGwgdGhlXG4gKiByZWxldmFudCBcInNob3VsZFNldFwiIGZ1bmN0aW9ucyBmb3IgdGhlIGdpdmVuIGV2ZW50IHR5cGUuIElmIGFueSBvZiB0aG9zZSBmdW5jdGlvbnNcbiAqIGNhbGwgXCJzdG9wUHJvcGFnYXRpb25cIiBvbiB0aGUgZXZlbnQsIHN0b3Agc2VhcmNoaW5nIGZvciBhIHJlc3BvbmRlci5cbiAqL1xuXG5cbmZ1bmN0aW9uIGZpbmRXYW50c1Jlc3BvbmRlcihldmVudFBhdGhzLCBkb21FdmVudCwgcmVzcG9uZGVyRXZlbnQpIHtcbiAgdmFyIHNob3VsZFNldENhbGxiYWNrcyA9IHNob3VsZFNldFJlc3BvbmRlckV2ZW50c1tkb21FdmVudC50eXBlXTsgLy8gZm9yIEZsb3dcblxuICBpZiAoc2hvdWxkU2V0Q2FsbGJhY2tzICE9IG51bGwpIHtcbiAgICB2YXIgaWRQYXRoID0gZXZlbnRQYXRocy5pZFBhdGgsXG4gICAgICAgIG5vZGVQYXRoID0gZXZlbnRQYXRocy5ub2RlUGF0aDtcbiAgICB2YXIgc2hvdWxkU2V0Q2FsbGJhY2tDYXB0dXJlTmFtZSA9IHNob3VsZFNldENhbGxiYWNrc1swXTtcbiAgICB2YXIgc2hvdWxkU2V0Q2FsbGJhY2tCdWJibGVOYW1lID0gc2hvdWxkU2V0Q2FsbGJhY2tzWzFdO1xuICAgIHZhciBidWJibGVzID0gc2hvdWxkU2V0Q2FsbGJhY2tzWzJdLmJ1YmJsZXM7XG5cbiAgICB2YXIgY2hlY2sgPSBmdW5jdGlvbiBjaGVjayhpZCwgbm9kZSwgY2FsbGJhY2tOYW1lKSB7XG4gICAgICB2YXIgY29uZmlnID0gZ2V0UmVzcG9uZGVyQ29uZmlnKGlkKTtcbiAgICAgIHZhciBzaG91bGRTZXRDYWxsYmFjayA9IGNvbmZpZ1tjYWxsYmFja05hbWVdO1xuXG4gICAgICBpZiAoc2hvdWxkU2V0Q2FsbGJhY2sgIT0gbnVsbCkge1xuICAgICAgICByZXNwb25kZXJFdmVudC5jdXJyZW50VGFyZ2V0ID0gbm9kZTtcblxuICAgICAgICBpZiAoc2hvdWxkU2V0Q2FsbGJhY2socmVzcG9uZGVyRXZlbnQpID09PSB0cnVlKSB7XG4gICAgICAgICAgLy8gU3RhcnQgdGhlIHBhdGggZnJvbSB0aGUgcG90ZW50aWFsIHJlc3BvbmRlclxuICAgICAgICAgIHZhciBwcnVuZWRJZFBhdGggPSBpZFBhdGguc2xpY2UoaWRQYXRoLmluZGV4T2YoaWQpKTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgaWRQYXRoOiBwcnVuZWRJZFBhdGhcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTsgLy8gY2FwdHVyZVxuXG5cbiAgICBmb3IgKHZhciBpID0gaWRQYXRoLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB2YXIgaWQgPSBpZFBhdGhbaV07XG4gICAgICB2YXIgbm9kZSA9IG5vZGVQYXRoW2ldO1xuICAgICAgdmFyIHJlc3VsdCA9IGNoZWNrKGlkLCBub2RlLCBzaG91bGRTZXRDYWxsYmFja0NhcHR1cmVOYW1lKTtcblxuICAgICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNwb25kZXJFdmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9IC8vIGJ1YmJsZVxuXG5cbiAgICBpZiAoYnViYmxlcykge1xuICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGlkUGF0aC5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgdmFyIF9pZCA9IGlkUGF0aFtfaV07XG4gICAgICAgIHZhciBfbm9kZSA9IG5vZGVQYXRoW19pXTtcblxuICAgICAgICB2YXIgX3Jlc3VsdCA9IGNoZWNrKF9pZCwgX25vZGUsIHNob3VsZFNldENhbGxiYWNrQnViYmxlTmFtZSk7XG5cbiAgICAgICAgaWYgKF9yZXN1bHQgIT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBfcmVzdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc3BvbmRlckV2ZW50LmlzUHJvcGFnYXRpb25TdG9wcGVkKCkgPT09IHRydWUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIF9pZDIgPSBpZFBhdGhbMF07XG4gICAgICB2YXIgX25vZGUyID0gbm9kZVBhdGhbMF07XG4gICAgICB2YXIgdGFyZ2V0ID0gZG9tRXZlbnQudGFyZ2V0O1xuXG4gICAgICBpZiAodGFyZ2V0ID09PSBfbm9kZTIpIHtcbiAgICAgICAgcmV0dXJuIGNoZWNrKF9pZDIsIF9ub2RlMiwgc2hvdWxkU2V0Q2FsbGJhY2tCdWJibGVOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qKlxuICogQXR0ZW1wdCB0byB0cmFuc2ZlciB0aGUgcmVzcG9uZGVyLlxuICovXG5cblxuZnVuY3Rpb24gYXR0ZW1wdFRyYW5zZmVyKHJlc3BvbmRlckV2ZW50LCB3YW50c1Jlc3BvbmRlcikge1xuICB2YXIgX2N1cnJlbnRSZXNwb25kZXIyID0gY3VycmVudFJlc3BvbmRlcixcbiAgICAgIGN1cnJlbnRJZCA9IF9jdXJyZW50UmVzcG9uZGVyMi5pZCxcbiAgICAgIGN1cnJlbnROb2RlID0gX2N1cnJlbnRSZXNwb25kZXIyLm5vZGU7XG4gIHZhciBpZCA9IHdhbnRzUmVzcG9uZGVyLmlkLFxuICAgICAgbm9kZSA9IHdhbnRzUmVzcG9uZGVyLm5vZGU7XG5cbiAgdmFyIF9nZXRSZXNwb25kZXJDb25maWcyID0gZ2V0UmVzcG9uZGVyQ29uZmlnKGlkKSxcbiAgICAgIG9uUmVzcG9uZGVyR3JhbnQgPSBfZ2V0UmVzcG9uZGVyQ29uZmlnMi5vblJlc3BvbmRlckdyYW50LFxuICAgICAgb25SZXNwb25kZXJSZWplY3QgPSBfZ2V0UmVzcG9uZGVyQ29uZmlnMi5vblJlc3BvbmRlclJlamVjdDtcblxuICByZXNwb25kZXJFdmVudC5idWJibGVzID0gZmFsc2U7XG4gIHJlc3BvbmRlckV2ZW50LmNhbmNlbGFibGUgPSBmYWxzZTtcbiAgcmVzcG9uZGVyRXZlbnQuY3VycmVudFRhcmdldCA9IG5vZGU7IC8vIFNldCByZXNwb25kZXJcblxuICBpZiAoY3VycmVudElkID09IG51bGwpIHtcbiAgICBpZiAob25SZXNwb25kZXJHcmFudCAhPSBudWxsKSB7XG4gICAgICByZXNwb25kZXJFdmVudC5jdXJyZW50VGFyZ2V0ID0gbm9kZTtcbiAgICAgIHJlc3BvbmRlckV2ZW50LmRpc3BhdGNoQ29uZmlnLnJlZ2lzdHJhdGlvbk5hbWUgPSAnb25SZXNwb25kZXJHcmFudCc7XG4gICAgICBvblJlc3BvbmRlckdyYW50KHJlc3BvbmRlckV2ZW50KTtcbiAgICB9XG5cbiAgICBjaGFuZ2VDdXJyZW50UmVzcG9uZGVyKHdhbnRzUmVzcG9uZGVyKTtcbiAgfSAvLyBOZWdvdGlhdGUgd2l0aCBjdXJyZW50IHJlc3BvbmRlclxuICBlbHNlIHtcbiAgICB2YXIgX2dldFJlc3BvbmRlckNvbmZpZzMgPSBnZXRSZXNwb25kZXJDb25maWcoY3VycmVudElkKSxcbiAgICAgICAgb25SZXNwb25kZXJUZXJtaW5hdGUgPSBfZ2V0UmVzcG9uZGVyQ29uZmlnMy5vblJlc3BvbmRlclRlcm1pbmF0ZSxcbiAgICAgICAgb25SZXNwb25kZXJUZXJtaW5hdGlvblJlcXVlc3QgPSBfZ2V0UmVzcG9uZGVyQ29uZmlnMy5vblJlc3BvbmRlclRlcm1pbmF0aW9uUmVxdWVzdDtcblxuICAgIHZhciBhbGxvd1RyYW5zZmVyID0gdHJ1ZTtcblxuICAgIGlmIChvblJlc3BvbmRlclRlcm1pbmF0aW9uUmVxdWVzdCAhPSBudWxsKSB7XG4gICAgICByZXNwb25kZXJFdmVudC5jdXJyZW50VGFyZ2V0ID0gY3VycmVudE5vZGU7XG4gICAgICByZXNwb25kZXJFdmVudC5kaXNwYXRjaENvbmZpZy5yZWdpc3RyYXRpb25OYW1lID0gJ29uUmVzcG9uZGVyVGVybWluYXRpb25SZXF1ZXN0JztcblxuICAgICAgaWYgKG9uUmVzcG9uZGVyVGVybWluYXRpb25SZXF1ZXN0KHJlc3BvbmRlckV2ZW50KSA9PT0gZmFsc2UpIHtcbiAgICAgICAgYWxsb3dUcmFuc2ZlciA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChhbGxvd1RyYW5zZmVyKSB7XG4gICAgICAvLyBUZXJtaW5hdGUgZXhpc3RpbmcgcmVzcG9uZGVyXG4gICAgICBpZiAob25SZXNwb25kZXJUZXJtaW5hdGUgIT0gbnVsbCkge1xuICAgICAgICByZXNwb25kZXJFdmVudC5jdXJyZW50VGFyZ2V0ID0gY3VycmVudE5vZGU7XG4gICAgICAgIHJlc3BvbmRlckV2ZW50LmRpc3BhdGNoQ29uZmlnLnJlZ2lzdHJhdGlvbk5hbWUgPSAnb25SZXNwb25kZXJUZXJtaW5hdGUnO1xuICAgICAgICBvblJlc3BvbmRlclRlcm1pbmF0ZShyZXNwb25kZXJFdmVudCk7XG4gICAgICB9IC8vIEdyYW50IG5leHQgcmVzcG9uZGVyXG5cblxuICAgICAgaWYgKG9uUmVzcG9uZGVyR3JhbnQgIT0gbnVsbCkge1xuICAgICAgICByZXNwb25kZXJFdmVudC5jdXJyZW50VGFyZ2V0ID0gbm9kZTtcbiAgICAgICAgcmVzcG9uZGVyRXZlbnQuZGlzcGF0Y2hDb25maWcucmVnaXN0cmF0aW9uTmFtZSA9ICdvblJlc3BvbmRlckdyYW50JztcbiAgICAgICAgb25SZXNwb25kZXJHcmFudChyZXNwb25kZXJFdmVudCk7XG4gICAgICB9XG5cbiAgICAgIGNoYW5nZUN1cnJlbnRSZXNwb25kZXIod2FudHNSZXNwb25kZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZWplY3QgcmVzcG9uZGVyIHJlcXVlc3RcbiAgICAgIGlmIChvblJlc3BvbmRlclJlamVjdCAhPSBudWxsKSB7XG4gICAgICAgIHJlc3BvbmRlckV2ZW50LmN1cnJlbnRUYXJnZXQgPSBub2RlO1xuICAgICAgICByZXNwb25kZXJFdmVudC5kaXNwYXRjaENvbmZpZy5yZWdpc3RyYXRpb25OYW1lID0gJ29uUmVzcG9uZGVyUmVqZWN0JztcbiAgICAgICAgb25SZXNwb25kZXJSZWplY3QocmVzcG9uZGVyRXZlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tIFBVQkxJQyBBUEkgLS0tLS0tLS0tLS0tICovXG5cbi8qKlxuICogQXR0YWNoIExpc3RlbmVyc1xuICpcbiAqIFVzZSBuYXRpdmUgZXZlbnRzIGFzIFJlYWN0RE9NIGRvZXNuJ3QgaGF2ZSBhIG5vbi1wbHVnaW4gQVBJIHRvIGltcGxlbWVudFxuICogdGhpcyBzeXN0ZW0uXG4gKi9cblxuXG52YXIgZG9jdW1lbnRFdmVudHNDYXB0dXJlUGhhc2UgPSBbJ2JsdXInLCAnc2Nyb2xsJ107XG52YXIgZG9jdW1lbnRFdmVudHNCdWJibGVQaGFzZSA9IFsvLyBtb3VzZVxuJ21vdXNlZG93bicsICdtb3VzZW1vdmUnLCAnbW91c2V1cCcsICdkcmFnc3RhcnQnLCAvLyB0b3VjaFxuJ3RvdWNoc3RhcnQnLCAndG91Y2htb3ZlJywgJ3RvdWNoZW5kJywgJ3RvdWNoY2FuY2VsJywgLy8gb3RoZXJcbidjb250ZXh0bWVudScsICdzZWxlY3QnLCAnc2VsZWN0aW9uY2hhbmdlJ107XG5cbmZ1bmN0aW9uIGF0dGFjaExpc3RlbmVycygpIHtcbiAgaWYgKF9jYW5Vc2VEb20uZGVmYXVsdCAmJiB3aW5kb3cuX19yZWFjdFJlc3BvbmRlclN5c3RlbUFjdGl2ZSA9PSBudWxsKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBldmVudExpc3RlbmVyKTtcbiAgICBkb2N1bWVudEV2ZW50c0J1YmJsZVBoYXNlLmZvckVhY2goZXZlbnRUeXBlID0+IHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBldmVudExpc3RlbmVyKTtcbiAgICB9KTtcbiAgICBkb2N1bWVudEV2ZW50c0NhcHR1cmVQaGFzZS5mb3JFYWNoKGV2ZW50VHlwZSA9PiB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgZXZlbnRMaXN0ZW5lciwgdHJ1ZSk7XG4gICAgfSk7XG4gICAgd2luZG93Ll9fcmVhY3RSZXNwb25kZXJTeXN0ZW1BY3RpdmUgPSB0cnVlO1xuICB9XG59XG4vKipcbiAqIFJlZ2lzdGVyIGEgbm9kZSB3aXRoIHRoZSBSZXNwb25kZXJTeXN0ZW0uXG4gKi9cblxuXG5mdW5jdGlvbiBhZGROb2RlKGlkLCBub2RlLCBjb25maWcpIHtcbiAgKDAsIF91dGlscy5zZXRSZXNwb25kZXJJZCkobm9kZSwgaWQpO1xuICByZXNwb25kZXJMaXN0ZW5lcnNNYXAuc2V0KGlkLCBjb25maWcpO1xufVxuLyoqXG4gKiBVbnJlZ2lzdGVyIGEgbm9kZSB3aXRoIHRoZSBSZXNwb25kZXJTeXN0ZW0uXG4gKi9cblxuXG5mdW5jdGlvbiByZW1vdmVOb2RlKGlkKSB7XG4gIGlmIChjdXJyZW50UmVzcG9uZGVyLmlkID09PSBpZCkge1xuICAgIHRlcm1pbmF0ZVJlc3BvbmRlcigpO1xuICB9XG5cbiAgaWYgKHJlc3BvbmRlckxpc3RlbmVyc01hcC5oYXMoaWQpKSB7XG4gICAgcmVzcG9uZGVyTGlzdGVuZXJzTWFwLmRlbGV0ZShpZCk7XG4gIH1cbn1cbi8qKlxuICogQWxsb3cgdGhlIGN1cnJlbnQgcmVzcG9uZGVyIHRvIGJlIHRlcm1pbmF0ZWQgZnJvbSB3aXRoaW4gY29tcG9uZW50cyB0byBzdXBwb3J0XG4gKiBtb3JlIGNvbXBsZXggcmVxdWlyZW1lbnRzLCBzdWNoIGFzIHVzZSB3aXRoIG90aGVyIFJlYWN0IGxpYnJhcmllcyBmb3Igd29ya2luZ1xuICogd2l0aCBzY3JvbGwgdmlld3MsIGlucHV0IHZpZXdzLCBldGMuXG4gKi9cblxuXG5mdW5jdGlvbiB0ZXJtaW5hdGVSZXNwb25kZXIoKSB7XG4gIHZhciBfY3VycmVudFJlc3BvbmRlcjMgPSBjdXJyZW50UmVzcG9uZGVyLFxuICAgICAgaWQgPSBfY3VycmVudFJlc3BvbmRlcjMuaWQsXG4gICAgICBub2RlID0gX2N1cnJlbnRSZXNwb25kZXIzLm5vZGU7XG5cbiAgaWYgKGlkICE9IG51bGwgJiYgbm9kZSAhPSBudWxsKSB7XG4gICAgdmFyIF9nZXRSZXNwb25kZXJDb25maWc0ID0gZ2V0UmVzcG9uZGVyQ29uZmlnKGlkKSxcbiAgICAgICAgb25SZXNwb25kZXJUZXJtaW5hdGUgPSBfZ2V0UmVzcG9uZGVyQ29uZmlnNC5vblJlc3BvbmRlclRlcm1pbmF0ZTtcblxuICAgIGlmIChvblJlc3BvbmRlclRlcm1pbmF0ZSAhPSBudWxsKSB7XG4gICAgICB2YXIgZXZlbnQgPSAoMCwgX2NyZWF0ZVJlc3BvbmRlckV2ZW50LmRlZmF1bHQpKHt9LCByZXNwb25kZXJUb3VjaEhpc3RvcnlTdG9yZSk7XG4gICAgICBldmVudC5jdXJyZW50VGFyZ2V0ID0gbm9kZTtcbiAgICAgIG9uUmVzcG9uZGVyVGVybWluYXRlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBjaGFuZ2VDdXJyZW50UmVzcG9uZGVyKGVtcHR5UmVzcG9uZGVyKTtcbiAgfVxuXG4gIGlzRW11bGF0aW5nTW91c2VFdmVudHMgPSBmYWxzZTtcbiAgdHJhY2tlZFRvdWNoQ291bnQgPSAwO1xufVxuLyoqXG4gKiBBbGxvdyB1bml0IHRlc3RzIHRvIGluc3BlY3QgdGhlIGN1cnJlbnQgcmVzcG9uZGVyIGluIHRoZSBzeXN0ZW0uXG4gKiBGT1IgVEVTVElORyBPTkxZLlxuICovXG5cblxuZnVuY3Rpb24gZ2V0UmVzcG9uZGVyTm9kZSgpIHtcbiAgcmV0dXJuIGN1cnJlbnRSZXNwb25kZXIubm9kZTtcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/useResponderEvents/ResponderSystem.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/useResponderEvents/ResponderTouchHistoryStore.js': /*!*********************************************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/useResponderEvents/ResponderTouchHistoryStore.js ***! \*********************************************************************************************/ /***/ (__unused_webpack_module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports.ResponderTouchHistoryStore = void 0;\n\nvar _ResponderEventTypes = __webpack_require__(/*! ./ResponderEventTypes */ "../react-native-web/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js");\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * Tracks the position and time of each active touch by `touch.identifier`. We\n * should typically only see IDs in the range of 1-20 because IDs get recycled\n * when touches end and start again.\n */\nvar __DEV__ = "development" !== \'production\';\n\nvar MAX_TOUCH_BANK = 20;\n\nfunction timestampForTouch(touch) {\n // The legacy internal implementation provides "timeStamp", which has been\n // renamed to "timestamp".\n return touch.timeStamp || touch.timestamp;\n}\n/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\n\n\nfunction createTouchRecord(touch) {\n return {\n touchActive: true,\n startPageX: touch.pageX,\n startPageY: touch.pageY,\n startTimeStamp: timestampForTouch(touch),\n currentPageX: touch.pageX,\n currentPageY: touch.pageY,\n currentTimeStamp: timestampForTouch(touch),\n previousPageX: touch.pageX,\n previousPageY: touch.pageY,\n previousTimeStamp: timestampForTouch(touch)\n };\n}\n\nfunction resetTouchRecord(touchRecord, touch) {\n touchRecord.touchActive = true;\n touchRecord.startPageX = touch.pageX;\n touchRecord.startPageY = touch.pageY;\n touchRecord.startTimeStamp = timestampForTouch(touch);\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchRecord.previousPageX = touch.pageX;\n touchRecord.previousPageY = touch.pageY;\n touchRecord.previousTimeStamp = timestampForTouch(touch);\n}\n\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n\n if (identifier == null) {\n console.error(\'Touch object is missing identifier.\');\n }\n\n if (__DEV__) {\n if (identifier > MAX_TOUCH_BANK) {\n console.error(\'Touch identifier %s is greater than maximum supported %s which causes \' + \'performance issues backfilling array locations for all of the indices.\', identifier, MAX_TOUCH_BANK);\n }\n }\n\n return identifier;\n}\n\nfunction recordTouchStart(touch, touchHistory) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchHistory.touchBank[identifier];\n\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchHistory.touchBank[identifier] = createTouchRecord(touch);\n }\n\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\n\nfunction recordTouchMove(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n\n if (touchRecord) {\n touchRecord.touchActive = true;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn(\'Cannot record touch move without a touch start.\\n\', "Touch Move: " + printTouch(touch) + "\\n", "Touch Bank: " + printTouchBank(touchHistory));\n }\n}\n\nfunction recordTouchEnd(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n\n if (touchRecord) {\n touchRecord.touchActive = false;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn(\'Cannot record touch end without a touch start.\\n\', "Touch End: " + printTouch(touch) + "\\n", "Touch Bank: " + printTouchBank(touchHistory));\n }\n}\n\nfunction printTouch(touch) {\n return JSON.stringify({\n identifier: touch.identifier,\n pageX: touch.pageX,\n pageY: touch.pageY,\n timestamp: timestampForTouch(touch)\n });\n}\n\nfunction printTouchBank(touchHistory) {\n var touchBank = touchHistory.touchBank;\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += \' (original size: \' + touchBank.length + \')\';\n }\n\n return printed;\n}\n\nclass ResponderTouchHistoryStore {\n constructor() {\n this._touchHistory = {\n touchBank: [],\n //Array\n numberActiveTouches: 0,\n // If there is only one active touch, we remember its location. This prevents\n // us having to loop through all of the touches all the time in the most\n // common case.\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\n }\n\n recordTouchTrack(topLevelType, nativeEvent) {\n var touchHistory = this._touchHistory;\n\n if ((0, _ResponderEventTypes.isMoveish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchMove(touch, touchHistory));\n } else if ((0, _ResponderEventTypes.isStartish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchStart(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if ((0, _ResponderEventTypes.isEndish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchEnd(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n\n if (touchHistory.numberActiveTouches === 1) {\n var touchBank = touchHistory.touchBank;\n\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error(\'Cannot find single active touch.\');\n }\n }\n }\n }\n }\n\n get touchHistory() {\n return this._touchHistory;\n }\n\n}\n\nexports.ResponderTouchHistoryStore = ResponderTouchHistoryStore;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZVJlc3BvbmRlckV2ZW50cy9SZXNwb25kZXJUb3VjaEhpc3RvcnlTdG9yZS5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixrQkFBa0I7QUFDbEIsa0NBQWtDOztBQUVsQywyQkFBMkIsbUJBQU8sQ0FBQyw2R0FBdUI7O0FBRTFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsYUFBb0I7O0FBRWxDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSx3QkFBd0Isc0JBQXNCO0FBQzlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvdXNlUmVzcG9uZGVyRXZlbnRzL1Jlc3BvbmRlclRvdWNoSGlzdG9yeVN0b3JlLmpzPzgyN2YiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLlJlc3BvbmRlclRvdWNoSGlzdG9yeVN0b3JlID0gdm9pZCAwO1xuXG52YXIgX1Jlc3BvbmRlckV2ZW50VHlwZXMgPSByZXF1aXJlKFwiLi9SZXNwb25kZXJFdmVudFR5cGVzXCIpO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cblxuLyoqXG4gKiBUcmFja3MgdGhlIHBvc2l0aW9uIGFuZCB0aW1lIG9mIGVhY2ggYWN0aXZlIHRvdWNoIGJ5IGB0b3VjaC5pZGVudGlmaWVyYC4gV2VcbiAqIHNob3VsZCB0eXBpY2FsbHkgb25seSBzZWUgSURzIGluIHRoZSByYW5nZSBvZiAxLTIwIGJlY2F1c2UgSURzIGdldCByZWN5Y2xlZFxuICogd2hlbiB0b3VjaGVzIGVuZCBhbmQgc3RhcnQgYWdhaW4uXG4gKi9cbnZhciBfX0RFVl9fID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJztcblxudmFyIE1BWF9UT1VDSF9CQU5LID0gMjA7XG5cbmZ1bmN0aW9uIHRpbWVzdGFtcEZvclRvdWNoKHRvdWNoKSB7XG4gIC8vIFRoZSBsZWdhY3kgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24gcHJvdmlkZXMgXCJ0aW1lU3RhbXBcIiwgd2hpY2ggaGFzIGJlZW5cbiAgLy8gcmVuYW1lZCB0byBcInRpbWVzdGFtcFwiLlxuICByZXR1cm4gdG91Y2gudGltZVN0YW1wIHx8IHRvdWNoLnRpbWVzdGFtcDtcbn1cbi8qKlxuICogVE9ETzogSW5zdGVhZCBvZiBtYWtpbmcgZ2VzdHVyZXMgcmVjb21wdXRlIGZpbHRlcmVkIHZlbG9jaXR5LCB3ZSBjb3VsZFxuICogaW5jbHVkZSBhIGJ1aWx0IGluIHZlbG9jaXR5IGNvbXB1dGF0aW9uIHRoYXQgY2FuIGJlIHJldXNlZCBnbG9iYWxseS5cbiAqL1xuXG5cbmZ1bmN0aW9uIGNyZWF0ZVRvdWNoUmVjb3JkKHRvdWNoKSB7XG4gIHJldHVybiB7XG4gICAgdG91Y2hBY3RpdmU6IHRydWUsXG4gICAgc3RhcnRQYWdlWDogdG91Y2gucGFnZVgsXG4gICAgc3RhcnRQYWdlWTogdG91Y2gucGFnZVksXG4gICAgc3RhcnRUaW1lU3RhbXA6IHRpbWVzdGFtcEZvclRvdWNoKHRvdWNoKSxcbiAgICBjdXJyZW50UGFnZVg6IHRvdWNoLnBhZ2VYLFxuICAgIGN1cnJlbnRQYWdlWTogdG91Y2gucGFnZVksXG4gICAgY3VycmVudFRpbWVTdGFtcDogdGltZXN0YW1wRm9yVG91Y2godG91Y2gpLFxuICAgIHByZXZpb3VzUGFnZVg6IHRvdWNoLnBhZ2VYLFxuICAgIHByZXZpb3VzUGFnZVk6IHRvdWNoLnBhZ2VZLFxuICAgIHByZXZpb3VzVGltZVN0YW1wOiB0aW1lc3RhbXBGb3JUb3VjaCh0b3VjaClcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVzZXRUb3VjaFJlY29yZCh0b3VjaFJlY29yZCwgdG91Y2gpIHtcbiAgdG91Y2hSZWNvcmQudG91Y2hBY3RpdmUgPSB0cnVlO1xuICB0b3VjaFJlY29yZC5zdGFydFBhZ2VYID0gdG91Y2gucGFnZVg7XG4gIHRvdWNoUmVjb3JkLnN0YXJ0UGFnZVkgPSB0b3VjaC5wYWdlWTtcbiAgdG91Y2hSZWNvcmQuc3RhcnRUaW1lU3RhbXAgPSB0aW1lc3RhbXBGb3JUb3VjaCh0b3VjaCk7XG4gIHRvdWNoUmVjb3JkLmN1cnJlbnRQYWdlWCA9IHRvdWNoLnBhZ2VYO1xuICB0b3VjaFJlY29yZC5jdXJyZW50UGFnZVkgPSB0b3VjaC5wYWdlWTtcbiAgdG91Y2hSZWNvcmQuY3VycmVudFRpbWVTdGFtcCA9IHRpbWVzdGFtcEZvclRvdWNoKHRvdWNoKTtcbiAgdG91Y2hSZWNvcmQucHJldmlvdXNQYWdlWCA9IHRvdWNoLnBhZ2VYO1xuICB0b3VjaFJlY29yZC5wcmV2aW91c1BhZ2VZID0gdG91Y2gucGFnZVk7XG4gIHRvdWNoUmVjb3JkLnByZXZpb3VzVGltZVN0YW1wID0gdGltZXN0YW1wRm9yVG91Y2godG91Y2gpO1xufVxuXG5mdW5jdGlvbiBnZXRUb3VjaElkZW50aWZpZXIoX3JlZikge1xuICB2YXIgaWRlbnRpZmllciA9IF9yZWYuaWRlbnRpZmllcjtcblxuICBpZiAoaWRlbnRpZmllciA9PSBudWxsKSB7XG4gICAgY29uc29sZS5lcnJvcignVG91Y2ggb2JqZWN0IGlzIG1pc3NpbmcgaWRlbnRpZmllci4nKTtcbiAgfVxuXG4gIGlmIChfX0RFVl9fKSB7XG4gICAgaWYgKGlkZW50aWZpZXIgPiBNQVhfVE9VQ0hfQkFOSykge1xuICAgICAgY29uc29sZS5lcnJvcignVG91Y2ggaWRlbnRpZmllciAlcyBpcyBncmVhdGVyIHRoYW4gbWF4aW11bSBzdXBwb3J0ZWQgJXMgd2hpY2ggY2F1c2VzICcgKyAncGVyZm9ybWFuY2UgaXNzdWVzIGJhY2tmaWxsaW5nIGFycmF5IGxvY2F0aW9ucyBmb3IgYWxsIG9mIHRoZSBpbmRpY2VzLicsIGlkZW50aWZpZXIsIE1BWF9UT1VDSF9CQU5LKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaWRlbnRpZmllcjtcbn1cblxuZnVuY3Rpb24gcmVjb3JkVG91Y2hTdGFydCh0b3VjaCwgdG91Y2hIaXN0b3J5KSB7XG4gIHZhciBpZGVudGlmaWVyID0gZ2V0VG91Y2hJZGVudGlmaWVyKHRvdWNoKTtcbiAgdmFyIHRvdWNoUmVjb3JkID0gdG91Y2hIaXN0b3J5LnRvdWNoQmFua1tpZGVudGlmaWVyXTtcblxuICBpZiAodG91Y2hSZWNvcmQpIHtcbiAgICByZXNldFRvdWNoUmVjb3JkKHRvdWNoUmVjb3JkLCB0b3VjaCk7XG4gIH0gZWxzZSB7XG4gICAgdG91Y2hIaXN0b3J5LnRvdWNoQmFua1tpZGVudGlmaWVyXSA9IGNyZWF0ZVRvdWNoUmVjb3JkKHRvdWNoKTtcbiAgfVxuXG4gIHRvdWNoSGlzdG9yeS5tb3N0UmVjZW50VGltZVN0YW1wID0gdGltZXN0YW1wRm9yVG91Y2godG91Y2gpO1xufVxuXG5mdW5jdGlvbiByZWNvcmRUb3VjaE1vdmUodG91Y2gsIHRvdWNoSGlzdG9yeSkge1xuICB2YXIgdG91Y2hSZWNvcmQgPSB0b3VjaEhpc3RvcnkudG91Y2hCYW5rW2dldFRvdWNoSWRlbnRpZmllcih0b3VjaCldO1xuXG4gIGlmICh0b3VjaFJlY29yZCkge1xuICAgIHRvdWNoUmVjb3JkLnRvdWNoQWN0aXZlID0gdHJ1ZTtcbiAgICB0b3VjaFJlY29yZC5wcmV2aW91c1BhZ2VYID0gdG91Y2hSZWNvcmQuY3VycmVudFBhZ2VYO1xuICAgIHRvdWNoUmVjb3JkLnByZXZpb3VzUGFnZVkgPSB0b3VjaFJlY29yZC5jdXJyZW50UGFnZVk7XG4gICAgdG91Y2hSZWNvcmQucHJldmlvdXNUaW1lU3RhbXAgPSB0b3VjaFJlY29yZC5jdXJyZW50VGltZVN0YW1wO1xuICAgIHRvdWNoUmVjb3JkLmN1cnJlbnRQYWdlWCA9IHRvdWNoLnBhZ2VYO1xuICAgIHRvdWNoUmVjb3JkLmN1cnJlbnRQYWdlWSA9IHRvdWNoLnBhZ2VZO1xuICAgIHRvdWNoUmVjb3JkLmN1cnJlbnRUaW1lU3RhbXAgPSB0aW1lc3RhbXBGb3JUb3VjaCh0b3VjaCk7XG4gICAgdG91Y2hIaXN0b3J5Lm1vc3RSZWNlbnRUaW1lU3RhbXAgPSB0aW1lc3RhbXBGb3JUb3VjaCh0b3VjaCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS53YXJuKCdDYW5ub3QgcmVjb3JkIHRvdWNoIG1vdmUgd2l0aG91dCBhIHRvdWNoIHN0YXJ0LlxcbicsIFwiVG91Y2ggTW92ZTogXCIgKyBwcmludFRvdWNoKHRvdWNoKSArIFwiXFxuXCIsIFwiVG91Y2ggQmFuazogXCIgKyBwcmludFRvdWNoQmFuayh0b3VjaEhpc3RvcnkpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWNvcmRUb3VjaEVuZCh0b3VjaCwgdG91Y2hIaXN0b3J5KSB7XG4gIHZhciB0b3VjaFJlY29yZCA9IHRvdWNoSGlzdG9yeS50b3VjaEJhbmtbZ2V0VG91Y2hJZGVudGlmaWVyKHRvdWNoKV07XG5cbiAgaWYgKHRvdWNoUmVjb3JkKSB7XG4gICAgdG91Y2hSZWNvcmQudG91Y2hBY3RpdmUgPSBmYWxzZTtcbiAgICB0b3VjaFJlY29yZC5wcmV2aW91c1BhZ2VYID0gdG91Y2hSZWNvcmQuY3VycmVudFBhZ2VYO1xuICAgIHRvdWNoUmVjb3JkLnByZXZpb3VzUGFnZVkgPSB0b3VjaFJlY29yZC5jdXJyZW50UGFnZVk7XG4gICAgdG91Y2hSZWNvcmQucHJldmlvdXNUaW1lU3RhbXAgPSB0b3VjaFJlY29yZC5jdXJyZW50VGltZVN0YW1wO1xuICAgIHRvdWNoUmVjb3JkLmN1cnJlbnRQYWdlWCA9IHRvdWNoLnBhZ2VYO1xuICAgIHRvdWNoUmVjb3JkLmN1cnJlbnRQYWdlWSA9IHRvdWNoLnBhZ2VZO1xuICAgIHRvdWNoUmVjb3JkLmN1cnJlbnRUaW1lU3RhbXAgPSB0aW1lc3RhbXBGb3JUb3VjaCh0b3VjaCk7XG4gICAgdG91Y2hIaXN0b3J5Lm1vc3RSZWNlbnRUaW1lU3RhbXAgPSB0aW1lc3RhbXBGb3JUb3VjaCh0b3VjaCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS53YXJuKCdDYW5ub3QgcmVjb3JkIHRvdWNoIGVuZCB3aXRob3V0IGEgdG91Y2ggc3RhcnQuXFxuJywgXCJUb3VjaCBFbmQ6IFwiICsgcHJpbnRUb3VjaCh0b3VjaCkgKyBcIlxcblwiLCBcIlRvdWNoIEJhbms6IFwiICsgcHJpbnRUb3VjaEJhbmsodG91Y2hIaXN0b3J5KSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRUb3VjaCh0b3VjaCkge1xuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xuICAgIGlkZW50aWZpZXI6IHRvdWNoLmlkZW50aWZpZXIsXG4gICAgcGFnZVg6IHRvdWNoLnBhZ2VYLFxuICAgIHBhZ2VZOiB0b3VjaC5wYWdlWSxcbiAgICB0aW1lc3RhbXA6IHRpbWVzdGFtcEZvclRvdWNoKHRvdWNoKVxuICB9KTtcbn1cblxuZnVuY3Rpb24gcHJpbnRUb3VjaEJhbmsodG91Y2hIaXN0b3J5KSB7XG4gIHZhciB0b3VjaEJhbmsgPSB0b3VjaEhpc3RvcnkudG91Y2hCYW5rO1xuICB2YXIgcHJpbnRlZCA9IEpTT04uc3RyaW5naWZ5KHRvdWNoQmFuay5zbGljZSgwLCBNQVhfVE9VQ0hfQkFOSykpO1xuXG4gIGlmICh0b3VjaEJhbmsubGVuZ3RoID4gTUFYX1RPVUNIX0JBTkspIHtcbiAgICBwcmludGVkICs9ICcgKG9yaWdpbmFsIHNpemU6ICcgKyB0b3VjaEJhbmsubGVuZ3RoICsgJyknO1xuICB9XG5cbiAgcmV0dXJuIHByaW50ZWQ7XG59XG5cbmNsYXNzIFJlc3BvbmRlclRvdWNoSGlzdG9yeVN0b3JlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fdG91Y2hIaXN0b3J5ID0ge1xuICAgICAgdG91Y2hCYW5rOiBbXSxcbiAgICAgIC8vQXJyYXk8VG91Y2hSZWNvcmQ+XG4gICAgICBudW1iZXJBY3RpdmVUb3VjaGVzOiAwLFxuICAgICAgLy8gSWYgdGhlcmUgaXMgb25seSBvbmUgYWN0aXZlIHRvdWNoLCB3ZSByZW1lbWJlciBpdHMgbG9jYXRpb24uIFRoaXMgcHJldmVudHNcbiAgICAgIC8vIHVzIGhhdmluZyB0byBsb29wIHRocm91Z2ggYWxsIG9mIHRoZSB0b3VjaGVzIGFsbCB0aGUgdGltZSBpbiB0aGUgbW9zdFxuICAgICAgLy8gY29tbW9uIGNhc2UuXG4gICAgICBpbmRleE9mU2luZ2xlQWN0aXZlVG91Y2g6IC0xLFxuICAgICAgbW9zdFJlY2VudFRpbWVTdGFtcDogMFxuICAgIH07XG4gIH1cblxuICByZWNvcmRUb3VjaFRyYWNrKHRvcExldmVsVHlwZSwgbmF0aXZlRXZlbnQpIHtcbiAgICB2YXIgdG91Y2hIaXN0b3J5ID0gdGhpcy5fdG91Y2hIaXN0b3J5O1xuXG4gICAgaWYgKCgwLCBfUmVzcG9uZGVyRXZlbnRUeXBlcy5pc01vdmVpc2gpKHRvcExldmVsVHlwZSkpIHtcbiAgICAgIG5hdGl2ZUV2ZW50LmNoYW5nZWRUb3VjaGVzLmZvckVhY2godG91Y2ggPT4gcmVjb3JkVG91Y2hNb3ZlKHRvdWNoLCB0b3VjaEhpc3RvcnkpKTtcbiAgICB9IGVsc2UgaWYgKCgwLCBfUmVzcG9uZGVyRXZlbnRUeXBlcy5pc1N0YXJ0aXNoKSh0b3BMZXZlbFR5cGUpKSB7XG4gICAgICBuYXRpdmVFdmVudC5jaGFuZ2VkVG91Y2hlcy5mb3JFYWNoKHRvdWNoID0+IHJlY29yZFRvdWNoU3RhcnQodG91Y2gsIHRvdWNoSGlzdG9yeSkpO1xuICAgICAgdG91Y2hIaXN0b3J5Lm51bWJlckFjdGl2ZVRvdWNoZXMgPSBuYXRpdmVFdmVudC50b3VjaGVzLmxlbmd0aDtcblxuICAgICAgaWYgKHRvdWNoSGlzdG9yeS5udW1iZXJBY3RpdmVUb3VjaGVzID09PSAxKSB7XG4gICAgICAgIHRvdWNoSGlzdG9yeS5pbmRleE9mU2luZ2xlQWN0aXZlVG91Y2ggPSBuYXRpdmVFdmVudC50b3VjaGVzWzBdLmlkZW50aWZpZXI7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICgoMCwgX1Jlc3BvbmRlckV2ZW50VHlwZXMuaXNFbmRpc2gpKHRvcExldmVsVHlwZSkpIHtcbiAgICAgIG5hdGl2ZUV2ZW50LmNoYW5nZWRUb3VjaGVzLmZvckVhY2godG91Y2ggPT4gcmVjb3JkVG91Y2hFbmQodG91Y2gsIHRvdWNoSGlzdG9yeSkpO1xuICAgICAgdG91Y2hIaXN0b3J5Lm51bWJlckFjdGl2ZVRvdWNoZXMgPSBuYXRpdmVFdmVudC50b3VjaGVzLmxlbmd0aDtcblxuICAgICAgaWYgKHRvdWNoSGlzdG9yeS5udW1iZXJBY3RpdmVUb3VjaGVzID09PSAxKSB7XG4gICAgICAgIHZhciB0b3VjaEJhbmsgPSB0b3VjaEhpc3RvcnkudG91Y2hCYW5rO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdG91Y2hCYW5rLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIHRvdWNoVHJhY2tUb0NoZWNrID0gdG91Y2hCYW5rW2ldO1xuXG4gICAgICAgICAgaWYgKHRvdWNoVHJhY2tUb0NoZWNrICE9IG51bGwgJiYgdG91Y2hUcmFja1RvQ2hlY2sudG91Y2hBY3RpdmUpIHtcbiAgICAgICAgICAgIHRvdWNoSGlzdG9yeS5pbmRleE9mU2luZ2xlQWN0aXZlVG91Y2ggPSBpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF9fREVWX18pIHtcbiAgICAgICAgICB2YXIgYWN0aXZlUmVjb3JkID0gdG91Y2hCYW5rW3RvdWNoSGlzdG9yeS5pbmRleE9mU2luZ2xlQWN0aXZlVG91Y2hdO1xuXG4gICAgICAgICAgaWYgKCEoYWN0aXZlUmVjb3JkICE9IG51bGwgJiYgYWN0aXZlUmVjb3JkLnRvdWNoQWN0aXZlKSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQ2Fubm90IGZpbmQgc2luZ2xlIGFjdGl2ZSB0b3VjaC4nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgdG91Y2hIaXN0b3J5KCkge1xuICAgIHJldHVybiB0aGlzLl90b3VjaEhpc3Rvcnk7XG4gIH1cblxufVxuXG5leHBvcnRzLlJlc3BvbmRlclRvdWNoSGlzdG9yeVN0b3JlID0gUmVzcG9uZGVyVG91Y2hIaXN0b3J5U3RvcmU7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/useResponderEvents/ResponderTouchHistoryStore.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/useResponderEvents/createResponderEvent.js': /*!***************************************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/useResponderEvents/createResponderEvent.js ***! \***************************************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = createResponderEvent;\n\nvar _getBoundingClientRect = _interopRequireDefault(__webpack_require__(/*! ../../modules/getBoundingClientRect */ "../react-native-web/dist/cjs/modules/getBoundingClientRect/index.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar emptyFunction = () => {};\n\nvar emptyObject = {};\nvar emptyArray = [];\n/**\n * Safari produces very large identifiers that would cause the `touchBank` array\n * length to be so large as to crash the browser, if not normalized like this.\n * In the future the `touchBank` should use an object/map instead.\n */\n\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\n */\n\n\nfunction createResponderEvent(domEvent, responderTouchHistoryStore) {\n var rect;\n var propagationWasStopped = false;\n var changedTouches;\n var touches;\n var domEventChangedTouches = domEvent.changedTouches;\n var domEventType = domEvent.type;\n var metaKey = domEvent.metaKey === true;\n var shiftKey = domEvent.shiftKey === true;\n var force = domEventChangedTouches && domEventChangedTouches[0].force || 0;\n var identifier = normalizeIdentifier(domEventChangedTouches && domEventChangedTouches[0].identifier || 0);\n var clientX = domEventChangedTouches && domEventChangedTouches[0].clientX || domEvent.clientX;\n var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY;\n var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX;\n var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY;\n var preventDefault = typeof domEvent.preventDefault === \'function\' ? domEvent.preventDefault.bind(domEvent) : emptyFunction;\n var timestamp = domEvent.timeStamp;\n\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(touch => {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n\n get locationX() {\n return locationX(touch.clientX);\n },\n\n get locationY() {\n return locationY(touch.clientY);\n },\n\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp\n };\n });\n }\n\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force,\n identifier,\n\n get locationX() {\n return locationX(clientX);\n },\n\n get locationY() {\n return locationY(clientY);\n },\n\n pageX,\n pageY,\n target: domEvent.target,\n timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === \'mouseup\' || domEventType === \'dragstart\' ? emptyArray : emulatedTouches;\n }\n\n var responderEvent = {\n bubbles: true,\n cancelable: true,\n // `currentTarget` is set before dispatch\n currentTarget: null,\n defaultPrevented: domEvent.defaultPrevented,\n dispatchConfig: emptyObject,\n eventPhase: domEvent.eventPhase,\n\n isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n\n isPropagationStopped() {\n return propagationWasStopped;\n },\n\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey,\n shiftKey,\n changedTouches,\n force,\n identifier,\n\n get locationX() {\n return locationX(clientX);\n },\n\n get locationY() {\n return locationY(clientY);\n },\n\n pageX,\n pageY,\n target: domEvent.target,\n timestamp,\n touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault,\n\n stopPropagation() {\n propagationWasStopped = true;\n },\n\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: responderTouchHistoryStore.touchHistory\n }; // Using getters and functions serves two purposes:\n // 1) The value of `currentTarget` is not initially available.\n // 2) Measuring the clientRect may cause layout jank and should only be done on-demand.\n\n function locationX(x) {\n rect = rect || (0, _getBoundingClientRect.default)(responderEvent.currentTarget);\n\n if (rect) {\n return x - rect.left;\n }\n }\n\n function locationY(y) {\n rect = rect || (0, _getBoundingClientRect.default)(responderEvent.currentTarget);\n\n if (rect) {\n return y - rect.top;\n }\n }\n\n return responderEvent;\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZVJlc3BvbmRlckV2ZW50cy9jcmVhdGVSZXNwb25kZXJFdmVudC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw2QkFBNkIsMEpBQStEOztBQUU1RixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWYsb0RBQW9ELG1CQUFPLENBQUMsZ0hBQXFDOztBQUVqRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvdXNlUmVzcG9uZGVyRXZlbnRzL2NyZWF0ZVJlc3BvbmRlckV2ZW50LmpzPzc3OTEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmRlZmF1bHQgPSBjcmVhdGVSZXNwb25kZXJFdmVudDtcblxudmFyIF9nZXRCb3VuZGluZ0NsaWVudFJlY3QgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9tb2R1bGVzL2dldEJvdW5kaW5nQ2xpZW50UmVjdFwiKSk7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBOaWNvbGFzIEdhbGxhZ2hlclxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG52YXIgZW1wdHlGdW5jdGlvbiA9ICgpID0+IHt9O1xuXG52YXIgZW1wdHlPYmplY3QgPSB7fTtcbnZhciBlbXB0eUFycmF5ID0gW107XG4vKipcbiAqIFNhZmFyaSBwcm9kdWNlcyB2ZXJ5IGxhcmdlIGlkZW50aWZpZXJzIHRoYXQgd291bGQgY2F1c2UgdGhlIGB0b3VjaEJhbmtgIGFycmF5XG4gKiBsZW5ndGggdG8gYmUgc28gbGFyZ2UgYXMgdG8gY3Jhc2ggdGhlIGJyb3dzZXIsIGlmIG5vdCBub3JtYWxpemVkIGxpa2UgdGhpcy5cbiAqIEluIHRoZSBmdXR1cmUgdGhlIGB0b3VjaEJhbmtgIHNob3VsZCB1c2UgYW4gb2JqZWN0L21hcCBpbnN0ZWFkLlxuICovXG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUlkZW50aWZpZXIoaWRlbnRpZmllcikge1xuICByZXR1cm4gaWRlbnRpZmllciA+IDIwID8gaWRlbnRpZmllciAlIDIwIDogaWRlbnRpZmllcjtcbn1cbi8qKlxuICogQ29udmVydHMgYSBuYXRpdmUgRE9NIGV2ZW50IHRvIGEgUmVzcG9uZGVyRXZlbnQuXG4gKiBNb3VzZSBldmVudHMgYXJlIHRyYW5zZm9ybWVkIGludG8gZmFrZSB0b3VjaCBldmVudHMuXG4gKi9cblxuXG5mdW5jdGlvbiBjcmVhdGVSZXNwb25kZXJFdmVudChkb21FdmVudCwgcmVzcG9uZGVyVG91Y2hIaXN0b3J5U3RvcmUpIHtcbiAgdmFyIHJlY3Q7XG4gIHZhciBwcm9wYWdhdGlvbldhc1N0b3BwZWQgPSBmYWxzZTtcbiAgdmFyIGNoYW5nZWRUb3VjaGVzO1xuICB2YXIgdG91Y2hlcztcbiAgdmFyIGRvbUV2ZW50Q2hhbmdlZFRvdWNoZXMgPSBkb21FdmVudC5jaGFuZ2VkVG91Y2hlcztcbiAgdmFyIGRvbUV2ZW50VHlwZSA9IGRvbUV2ZW50LnR5cGU7XG4gIHZhciBtZXRhS2V5ID0gZG9tRXZlbnQubWV0YUtleSA9PT0gdHJ1ZTtcbiAgdmFyIHNoaWZ0S2V5ID0gZG9tRXZlbnQuc2hpZnRLZXkgPT09IHRydWU7XG4gIHZhciBmb3JjZSA9IGRvbUV2ZW50Q2hhbmdlZFRvdWNoZXMgJiYgZG9tRXZlbnRDaGFuZ2VkVG91Y2hlc1swXS5mb3JjZSB8fCAwO1xuICB2YXIgaWRlbnRpZmllciA9IG5vcm1hbGl6ZUlkZW50aWZpZXIoZG9tRXZlbnRDaGFuZ2VkVG91Y2hlcyAmJiBkb21FdmVudENoYW5nZWRUb3VjaGVzWzBdLmlkZW50aWZpZXIgfHwgMCk7XG4gIHZhciBjbGllbnRYID0gZG9tRXZlbnRDaGFuZ2VkVG91Y2hlcyAmJiBkb21FdmVudENoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFggfHwgZG9tRXZlbnQuY2xpZW50WDtcbiAgdmFyIGNsaWVudFkgPSBkb21FdmVudENoYW5nZWRUb3VjaGVzICYmIGRvbUV2ZW50Q2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WSB8fCBkb21FdmVudC5jbGllbnRZO1xuICB2YXIgcGFnZVggPSBkb21FdmVudENoYW5nZWRUb3VjaGVzICYmIGRvbUV2ZW50Q2hhbmdlZFRvdWNoZXNbMF0ucGFnZVggfHwgZG9tRXZlbnQucGFnZVg7XG4gIHZhciBwYWdlWSA9IGRvbUV2ZW50Q2hhbmdlZFRvdWNoZXMgJiYgZG9tRXZlbnRDaGFuZ2VkVG91Y2hlc1swXS5wYWdlWSB8fCBkb21FdmVudC5wYWdlWTtcbiAgdmFyIHByZXZlbnREZWZhdWx0ID0gdHlwZW9mIGRvbUV2ZW50LnByZXZlbnREZWZhdWx0ID09PSAnZnVuY3Rpb24nID8gZG9tRXZlbnQucHJldmVudERlZmF1bHQuYmluZChkb21FdmVudCkgOiBlbXB0eUZ1bmN0aW9uO1xuICB2YXIgdGltZXN0YW1wID0gZG9tRXZlbnQudGltZVN0YW1wO1xuXG4gIGZ1bmN0aW9uIG5vcm1hbGl6ZVRvdWNoZXModG91Y2hlcykge1xuICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0b3VjaGVzKS5tYXAodG91Y2ggPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZm9yY2U6IHRvdWNoLmZvcmNlLFxuICAgICAgICBpZGVudGlmaWVyOiBub3JtYWxpemVJZGVudGlmaWVyKHRvdWNoLmlkZW50aWZpZXIpLFxuXG4gICAgICAgIGdldCBsb2NhdGlvblgoKSB7XG4gICAgICAgICAgcmV0dXJuIGxvY2F0aW9uWCh0b3VjaC5jbGllbnRYKTtcbiAgICAgICAgfSxcblxuICAgICAgICBnZXQgbG9jYXRpb25ZKCkge1xuICAgICAgICAgIHJldHVybiBsb2NhdGlvblkodG91Y2guY2xpZW50WSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcGFnZVg6IHRvdWNoLnBhZ2VYLFxuICAgICAgICBwYWdlWTogdG91Y2gucGFnZVksXG4gICAgICAgIHRhcmdldDogdG91Y2gudGFyZ2V0LFxuICAgICAgICB0aW1lc3RhbXBcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBpZiAoZG9tRXZlbnRDaGFuZ2VkVG91Y2hlcyAhPSBudWxsKSB7XG4gICAgY2hhbmdlZFRvdWNoZXMgPSBub3JtYWxpemVUb3VjaGVzKGRvbUV2ZW50Q2hhbmdlZFRvdWNoZXMpO1xuICAgIHRvdWNoZXMgPSBub3JtYWxpemVUb3VjaGVzKGRvbUV2ZW50LnRvdWNoZXMpO1xuICB9IGVsc2Uge1xuICAgIHZhciBlbXVsYXRlZFRvdWNoZXMgPSBbe1xuICAgICAgZm9yY2UsXG4gICAgICBpZGVudGlmaWVyLFxuXG4gICAgICBnZXQgbG9jYXRpb25YKCkge1xuICAgICAgICByZXR1cm4gbG9jYXRpb25YKGNsaWVudFgpO1xuICAgICAgfSxcblxuICAgICAgZ2V0IGxvY2F0aW9uWSgpIHtcbiAgICAgICAgcmV0dXJuIGxvY2F0aW9uWShjbGllbnRZKTtcbiAgICAgIH0sXG5cbiAgICAgIHBhZ2VYLFxuICAgICAgcGFnZVksXG4gICAgICB0YXJnZXQ6IGRvbUV2ZW50LnRhcmdldCxcbiAgICAgIHRpbWVzdGFtcFxuICAgIH1dO1xuICAgIGNoYW5nZWRUb3VjaGVzID0gZW11bGF0ZWRUb3VjaGVzO1xuICAgIHRvdWNoZXMgPSBkb21FdmVudFR5cGUgPT09ICdtb3VzZXVwJyB8fCBkb21FdmVudFR5cGUgPT09ICdkcmFnc3RhcnQnID8gZW1wdHlBcnJheSA6IGVtdWxhdGVkVG91Y2hlcztcbiAgfVxuXG4gIHZhciByZXNwb25kZXJFdmVudCA9IHtcbiAgICBidWJibGVzOiB0cnVlLFxuICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgLy8gYGN1cnJlbnRUYXJnZXRgIGlzIHNldCBiZWZvcmUgZGlzcGF0Y2hcbiAgICBjdXJyZW50VGFyZ2V0OiBudWxsLFxuICAgIGRlZmF1bHRQcmV2ZW50ZWQ6IGRvbUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQsXG4gICAgZGlzcGF0Y2hDb25maWc6IGVtcHR5T2JqZWN0LFxuICAgIGV2ZW50UGhhc2U6IGRvbUV2ZW50LmV2ZW50UGhhc2UsXG5cbiAgICBpc0RlZmF1bHRQcmV2ZW50ZWQoKSB7XG4gICAgICByZXR1cm4gZG9tRXZlbnQuZGVmYXVsdFByZXZlbnRlZDtcbiAgICB9LFxuXG4gICAgaXNQcm9wYWdhdGlvblN0b3BwZWQoKSB7XG4gICAgICByZXR1cm4gcHJvcGFnYXRpb25XYXNTdG9wcGVkO1xuICAgIH0sXG5cbiAgICBpc1RydXN0ZWQ6IGRvbUV2ZW50LmlzVHJ1c3RlZCxcbiAgICBuYXRpdmVFdmVudDoge1xuICAgICAgYWx0S2V5OiBmYWxzZSxcbiAgICAgIGN0cmxLZXk6IGZhbHNlLFxuICAgICAgbWV0YUtleSxcbiAgICAgIHNoaWZ0S2V5LFxuICAgICAgY2hhbmdlZFRvdWNoZXMsXG4gICAgICBmb3JjZSxcbiAgICAgIGlkZW50aWZpZXIsXG5cbiAgICAgIGdldCBsb2NhdGlvblgoKSB7XG4gICAgICAgIHJldHVybiBsb2NhdGlvblgoY2xpZW50WCk7XG4gICAgICB9LFxuXG4gICAgICBnZXQgbG9jYXRpb25ZKCkge1xuICAgICAgICByZXR1cm4gbG9jYXRpb25ZKGNsaWVudFkpO1xuICAgICAgfSxcblxuICAgICAgcGFnZVgsXG4gICAgICBwYWdlWSxcbiAgICAgIHRhcmdldDogZG9tRXZlbnQudGFyZ2V0LFxuICAgICAgdGltZXN0YW1wLFxuICAgICAgdG91Y2hlcyxcbiAgICAgIHR5cGU6IGRvbUV2ZW50VHlwZVxuICAgIH0sXG4gICAgcGVyc2lzdDogZW1wdHlGdW5jdGlvbixcbiAgICBwcmV2ZW50RGVmYXVsdCxcblxuICAgIHN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICAgIHByb3BhZ2F0aW9uV2FzU3RvcHBlZCA9IHRydWU7XG4gICAgfSxcblxuICAgIHRhcmdldDogZG9tRXZlbnQudGFyZ2V0LFxuICAgIHRpbWVTdGFtcDogdGltZXN0YW1wLFxuICAgIHRvdWNoSGlzdG9yeTogcmVzcG9uZGVyVG91Y2hIaXN0b3J5U3RvcmUudG91Y2hIaXN0b3J5XG4gIH07IC8vIFVzaW5nIGdldHRlcnMgYW5kIGZ1bmN0aW9ucyBzZXJ2ZXMgdHdvIHB1cnBvc2VzOlxuICAvLyAxKSBUaGUgdmFsdWUgb2YgYGN1cnJlbnRUYXJnZXRgIGlzIG5vdCBpbml0aWFsbHkgYXZhaWxhYmxlLlxuICAvLyAyKSBNZWFzdXJpbmcgdGhlIGNsaWVudFJlY3QgbWF5IGNhdXNlIGxheW91dCBqYW5rIGFuZCBzaG91bGQgb25seSBiZSBkb25lIG9uLWRlbWFuZC5cblxuICBmdW5jdGlvbiBsb2NhdGlvblgoeCkge1xuICAgIHJlY3QgPSByZWN0IHx8ICgwLCBfZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmRlZmF1bHQpKHJlc3BvbmRlckV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuXG4gICAgaWYgKHJlY3QpIHtcbiAgICAgIHJldHVybiB4IC0gcmVjdC5sZWZ0O1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGxvY2F0aW9uWSh5KSB7XG4gICAgcmVjdCA9IHJlY3QgfHwgKDAsIF9nZXRCb3VuZGluZ0NsaWVudFJlY3QuZGVmYXVsdCkocmVzcG9uZGVyRXZlbnQuY3VycmVudFRhcmdldCk7XG5cbiAgICBpZiAocmVjdCkge1xuICAgICAgcmV0dXJuIHkgLSByZWN0LnRvcDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzcG9uZGVyRXZlbnQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/useResponderEvents/createResponderEvent.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/useResponderEvents/index.js': /*!************************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/useResponderEvents/index.js ***! \************************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireWildcard = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ "../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = useResponderEvents;\n\nvar React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));\n\nvar ResponderSystem = _interopRequireWildcard(__webpack_require__(/*! ./ResponderSystem */ "../react-native-web/dist/cjs/modules/useResponderEvents/ResponderSystem.js"));\n\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * Hook for integrating the Responder System into React\n *\n * function SomeComponent({ onStartShouldSetResponder }) {\n * const ref = useRef(null);\n * useResponderEvents(ref, { onStartShouldSetResponder });\n * return
\n * }\n */\nvar emptyObject = {};\nvar idCounter = 0;\n\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n\n return ref.current;\n}\n\nfunction useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n\n var id = useStable(() => idCounter++);\n var isAttachedRef = React.useRef(false); // This is a separate effects so it doesn\'t run when the config changes.\n // On initial mount, attach global listeners if needed.\n // On unmount, remove node potentially attached to the Responder System.\n\n React.useEffect(() => {\n ResponderSystem.attachListeners();\n return () => {\n ResponderSystem.removeNode(id);\n };\n }, [id]); // Register and unregister with the Responder System as necessary\n\n React.useEffect(() => {\n var _config = config,\n onMoveShouldSetResponder = _config.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture,\n onScrollShouldSetResponder = _config.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = _config.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture;\n var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null;\n var node = hostRef.current;\n\n if (requiresResponderSystem) {\n ResponderSystem.addNode(id, node, config);\n isAttachedRef.current = true;\n } else if (isAttachedRef.current) {\n ResponderSystem.removeNode(id);\n isAttachedRef.current = false;\n }\n }, [config, hostRef, id]);\n React.useDebugValue({\n isResponder: hostRef.current === ResponderSystem.getResponderNode()\n });\n React.useDebugValue(config);\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZVJlc3BvbmRlckV2ZW50cy9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw4QkFBOEIsNEpBQWdFOztBQUU5RixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWYsb0NBQW9DLG1CQUFPLENBQUMsb0JBQU87O0FBRW5ELDhDQUE4QyxtQkFBTyxDQUFDLHFHQUFtQjs7QUFFekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsMkJBQTJCO0FBQ3pEO0FBQ0EsaUNBQWlDLDJCQUEyQjtBQUM1RCx3QkFBd0IsS0FBSztBQUM3QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsU0FBUzs7QUFFWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvbW9kdWxlcy91c2VSZXNwb25kZXJFdmVudHMvaW5kZXguanM/YmY4NCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVXaWxkY2FyZFwiKS5kZWZhdWx0O1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gdXNlUmVzcG9uZGVyRXZlbnRzO1xuXG52YXIgUmVhY3QgPSBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChyZXF1aXJlKFwicmVhY3RcIikpO1xuXG52YXIgUmVzcG9uZGVyU3lzdGVtID0gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQocmVxdWlyZShcIi4vUmVzcG9uZGVyU3lzdGVtXCIpKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE5pY29sYXMgR2FsbGFnaGVyXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cblxuLyoqXG4gKiBIb29rIGZvciBpbnRlZ3JhdGluZyB0aGUgUmVzcG9uZGVyIFN5c3RlbSBpbnRvIFJlYWN0XG4gKlxuICogICBmdW5jdGlvbiBTb21lQ29tcG9uZW50KHsgb25TdGFydFNob3VsZFNldFJlc3BvbmRlciB9KSB7XG4gKiAgICAgY29uc3QgcmVmID0gdXNlUmVmKG51bGwpO1xuICogICAgIHVzZVJlc3BvbmRlckV2ZW50cyhyZWYsIHsgb25TdGFydFNob3VsZFNldFJlc3BvbmRlciB9KTtcbiAqICAgICByZXR1cm4gPGRpdiByZWY9e3JlZn0gLz5cbiAqICAgfVxuICovXG52YXIgZW1wdHlPYmplY3QgPSB7fTtcbnZhciBpZENvdW50ZXIgPSAwO1xuXG5mdW5jdGlvbiB1c2VTdGFibGUoZ2V0SW5pdGlhbFZhbHVlKSB7XG4gIHZhciByZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG5cbiAgaWYgKHJlZi5jdXJyZW50ID09IG51bGwpIHtcbiAgICByZWYuY3VycmVudCA9IGdldEluaXRpYWxWYWx1ZSgpO1xuICB9XG5cbiAgcmV0dXJuIHJlZi5jdXJyZW50O1xufVxuXG5mdW5jdGlvbiB1c2VSZXNwb25kZXJFdmVudHMoaG9zdFJlZiwgY29uZmlnKSB7XG4gIGlmIChjb25maWcgPT09IHZvaWQgMCkge1xuICAgIGNvbmZpZyA9IGVtcHR5T2JqZWN0O1xuICB9XG5cbiAgdmFyIGlkID0gdXNlU3RhYmxlKCgpID0+IGlkQ291bnRlcisrKTtcbiAgdmFyIGlzQXR0YWNoZWRSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpOyAvLyBUaGlzIGlzIGEgc2VwYXJhdGUgZWZmZWN0cyBzbyBpdCBkb2Vzbid0IHJ1biB3aGVuIHRoZSBjb25maWcgY2hhbmdlcy5cbiAgLy8gT24gaW5pdGlhbCBtb3VudCwgYXR0YWNoIGdsb2JhbCBsaXN0ZW5lcnMgaWYgbmVlZGVkLlxuICAvLyBPbiB1bm1vdW50LCByZW1vdmUgbm9kZSBwb3RlbnRpYWxseSBhdHRhY2hlZCB0byB0aGUgUmVzcG9uZGVyIFN5c3RlbS5cblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIFJlc3BvbmRlclN5c3RlbS5hdHRhY2hMaXN0ZW5lcnMoKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgUmVzcG9uZGVyU3lzdGVtLnJlbW92ZU5vZGUoaWQpO1xuICAgIH07XG4gIH0sIFtpZF0pOyAvLyBSZWdpc3RlciBhbmQgdW5yZWdpc3RlciB3aXRoIHRoZSBSZXNwb25kZXIgU3lzdGVtIGFzIG5lY2Vzc2FyeVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdmFyIF9jb25maWcgPSBjb25maWcsXG4gICAgICAgIG9uTW92ZVNob3VsZFNldFJlc3BvbmRlciA9IF9jb25maWcub25Nb3ZlU2hvdWxkU2V0UmVzcG9uZGVyLFxuICAgICAgICBvbk1vdmVTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlID0gX2NvbmZpZy5vbk1vdmVTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlLFxuICAgICAgICBvblNjcm9sbFNob3VsZFNldFJlc3BvbmRlciA9IF9jb25maWcub25TY3JvbGxTaG91bGRTZXRSZXNwb25kZXIsXG4gICAgICAgIG9uU2Nyb2xsU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZSA9IF9jb25maWcub25TY3JvbGxTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlLFxuICAgICAgICBvblNlbGVjdGlvbkNoYW5nZVNob3VsZFNldFJlc3BvbmRlciA9IF9jb25maWcub25TZWxlY3Rpb25DaGFuZ2VTaG91bGRTZXRSZXNwb25kZXIsXG4gICAgICAgIG9uU2VsZWN0aW9uQ2hhbmdlU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZSA9IF9jb25maWcub25TZWxlY3Rpb25DaGFuZ2VTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlLFxuICAgICAgICBvblN0YXJ0U2hvdWxkU2V0UmVzcG9uZGVyID0gX2NvbmZpZy5vblN0YXJ0U2hvdWxkU2V0UmVzcG9uZGVyLFxuICAgICAgICBvblN0YXJ0U2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZSA9IF9jb25maWcub25TdGFydFNob3VsZFNldFJlc3BvbmRlckNhcHR1cmU7XG4gICAgdmFyIHJlcXVpcmVzUmVzcG9uZGVyU3lzdGVtID0gb25Nb3ZlU2hvdWxkU2V0UmVzcG9uZGVyICE9IG51bGwgfHwgb25Nb3ZlU2hvdWxkU2V0UmVzcG9uZGVyQ2FwdHVyZSAhPSBudWxsIHx8IG9uU2Nyb2xsU2hvdWxkU2V0UmVzcG9uZGVyICE9IG51bGwgfHwgb25TY3JvbGxTaG91bGRTZXRSZXNwb25kZXJDYXB0dXJlICE9IG51bGwgfHwgb25TZWxlY3Rpb25DaGFuZ2VTaG91bGRTZXRSZXNwb25kZXIgIT0gbnVsbCB8fCBvblNlbGVjdGlvbkNoYW5nZVNob3VsZFNldFJlc3BvbmRlckNhcHR1cmUgIT0gbnVsbCB8fCBvblN0YXJ0U2hvdWxkU2V0UmVzcG9uZGVyICE9IG51bGwgfHwgb25TdGFydFNob3VsZFNldFJlc3BvbmRlckNhcHR1cmUgIT0gbnVsbDtcbiAgICB2YXIgbm9kZSA9IGhvc3RSZWYuY3VycmVudDtcblxuICAgIGlmIChyZXF1aXJlc1Jlc3BvbmRlclN5c3RlbSkge1xuICAgICAgUmVzcG9uZGVyU3lzdGVtLmFkZE5vZGUoaWQsIG5vZGUsIGNvbmZpZyk7XG4gICAgICBpc0F0dGFjaGVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoaXNBdHRhY2hlZFJlZi5jdXJyZW50KSB7XG4gICAgICBSZXNwb25kZXJTeXN0ZW0ucmVtb3ZlTm9kZShpZCk7XG4gICAgICBpc0F0dGFjaGVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9XG4gIH0sIFtjb25maWcsIGhvc3RSZWYsIGlkXSk7XG4gIFJlYWN0LnVzZURlYnVnVmFsdWUoe1xuICAgIGlzUmVzcG9uZGVyOiBob3N0UmVmLmN1cnJlbnQgPT09IFJlc3BvbmRlclN5c3RlbS5nZXRSZXNwb25kZXJOb2RlKClcbiAgfSk7XG4gIFJlYWN0LnVzZURlYnVnVmFsdWUoY29uZmlnKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/useResponderEvents/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/useResponderEvents/utils.js': /*!************************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/useResponderEvents/utils.js ***! \************************************************************************/ /***/ (__unused_webpack_module, exports, __webpack_require__) => { 'use strict'; eval( "\n\nvar _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"../../node_modules/@babel/runtime/helpers/interopRequireDefault.js\")[\"default\"]);\n\nexports.__esModule = true;\nexports.getLowestCommonAncestor = getLowestCommonAncestor;\nexports.getResponderPaths = getResponderPaths;\nexports.hasTargetTouches = hasTargetTouches;\nexports.hasValidSelection = hasValidSelection;\nexports.isPrimaryPointerDown = isPrimaryPointerDown;\nexports.setResponderId = setResponderId;\n\nvar _isSelectionValid = _interopRequireDefault(__webpack_require__(/*! ../../modules/isSelectionValid */ \"../react-native-web/dist/cjs/modules/isSelectionValid/index.js\"));\n\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar keyName = '__reactResponderId';\n\nfunction getEventPath(domEvent) {\n // The 'selectionchange' event always has the 'document' as the target.\n // Use the anchor node as the initial target to reconstruct a path.\n // (We actually only need the first \"responder\" node in practice.)\n if (domEvent.type === 'selectionchange') {\n var target = window.getSelection().anchorNode;\n return composedPathFallback(target);\n } else {\n var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);\n return path;\n }\n}\n\nfunction composedPathFallback(target) {\n var path = [];\n\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n\n return path;\n}\n/**\n * Retrieve the responderId from a host node\n */\n\n\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n\n return null;\n}\n/**\n * Store the responderId on a host node\n */\n\n\nfunction setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\n\n\nfunction getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n\n return {\n idPath,\n nodePath\n };\n}\n/**\n * Walk the paths and find the first common ancestor\n */\n\n\nfunction getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n\n if ( // If either path is empty\n pathALength === 0 || pathBLength === 0 || // If the last elements aren't the same there can't be a common ancestor\n // that is connected to the responder system\n pathA[pathALength - 1] !== pathB[pathBLength - 1]) {\n return null;\n }\n\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0; // If A is deeper, skip indices that can't match.\n\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n } // If B is deeper, skip indices that can't match\n\n\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n } // Walk in lockstep until a match is found\n\n\n var depth = pathALength;\n\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n\n return null;\n}\n/**\n * Determine whether any of the active touches are within the current responder.\n * This cannot rely on W3C `targetTouches`, as neither IE11 nor Safari implement it.\n */\n\n\nfunction hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n\n return false;\n}\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\n\n\nfunction hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return (0, _isSelectionValid.default)();\n }\n\n return domEvent.type === 'select';\n}\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\n */\n\n\nfunction isPrimaryPointerDown(domEvent) {\n var altKey = domEvent.altKey,\n button = domEvent.button,\n buttons = domEvent.buttons,\n ctrlKey = domEvent.ctrlKey,\n type = domEvent.type;\n var isTouch = type === 'touchstart' || type === 'touchmove';\n var isPrimaryMouseDown = type === 'mousedown' && (button === 0 || buttons === 1);\n var isPrimaryMouseMove = type === 'mousemove' && buttons === 1;\n var noModifiers = altKey === false && ctrlKey === false;\n\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n\n return false;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZVJlc3BvbmRlckV2ZW50cy91dGlscy5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw2QkFBNkIsMEpBQStEOztBQUU1RixrQkFBa0I7QUFDbEIsK0JBQStCO0FBQy9CLHlCQUF5QjtBQUN6Qix3QkFBd0I7QUFDeEIseUJBQXlCO0FBQ3pCLDRCQUE0QjtBQUM1QixzQkFBc0I7O0FBRXRCLCtDQUErQyxtQkFBTyxDQUFDLHNHQUFnQzs7QUFFdkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLHNCQUFzQjtBQUN4QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7O0FBRWxCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0Isb0JBQW9CO0FBQ3RDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi9yZWFjdC1uYXRpdmUtd2ViL2Rpc3QvY2pzL21vZHVsZXMvdXNlUmVzcG9uZGVyRXZlbnRzL3V0aWxzLmpzPzQ5YTUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpLmRlZmF1bHQ7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLmdldExvd2VzdENvbW1vbkFuY2VzdG9yID0gZ2V0TG93ZXN0Q29tbW9uQW5jZXN0b3I7XG5leHBvcnRzLmdldFJlc3BvbmRlclBhdGhzID0gZ2V0UmVzcG9uZGVyUGF0aHM7XG5leHBvcnRzLmhhc1RhcmdldFRvdWNoZXMgPSBoYXNUYXJnZXRUb3VjaGVzO1xuZXhwb3J0cy5oYXNWYWxpZFNlbGVjdGlvbiA9IGhhc1ZhbGlkU2VsZWN0aW9uO1xuZXhwb3J0cy5pc1ByaW1hcnlQb2ludGVyRG93biA9IGlzUHJpbWFyeVBvaW50ZXJEb3duO1xuZXhwb3J0cy5zZXRSZXNwb25kZXJJZCA9IHNldFJlc3BvbmRlcklkO1xuXG52YXIgX2lzU2VsZWN0aW9uVmFsaWQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9tb2R1bGVzL2lzU2VsZWN0aW9uVmFsaWRcIikpO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgTmljb2xhcyBHYWxsYWdoZXJcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBcbiAqL1xudmFyIGtleU5hbWUgPSAnX19yZWFjdFJlc3BvbmRlcklkJztcblxuZnVuY3Rpb24gZ2V0RXZlbnRQYXRoKGRvbUV2ZW50KSB7XG4gIC8vIFRoZSAnc2VsZWN0aW9uY2hhbmdlJyBldmVudCBhbHdheXMgaGFzIHRoZSAnZG9jdW1lbnQnIGFzIHRoZSB0YXJnZXQuXG4gIC8vIFVzZSB0aGUgYW5jaG9yIG5vZGUgYXMgdGhlIGluaXRpYWwgdGFyZ2V0IHRvIHJlY29uc3RydWN0IGEgcGF0aC5cbiAgLy8gKFdlIGFjdHVhbGx5IG9ubHkgbmVlZCB0aGUgZmlyc3QgXCJyZXNwb25kZXJcIiBub2RlIGluIHByYWN0aWNlLilcbiAgaWYgKGRvbUV2ZW50LnR5cGUgPT09ICdzZWxlY3Rpb25jaGFuZ2UnKSB7XG4gICAgdmFyIHRhcmdldCA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JOb2RlO1xuICAgIHJldHVybiBjb21wb3NlZFBhdGhGYWxsYmFjayh0YXJnZXQpO1xuICB9IGVsc2Uge1xuICAgIHZhciBwYXRoID0gZG9tRXZlbnQuY29tcG9zZWRQYXRoICE9IG51bGwgPyBkb21FdmVudC5jb21wb3NlZFBhdGgoKSA6IGNvbXBvc2VkUGF0aEZhbGxiYWNrKGRvbUV2ZW50LnRhcmdldCk7XG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcG9zZWRQYXRoRmFsbGJhY2sodGFyZ2V0KSB7XG4gIHZhciBwYXRoID0gW107XG5cbiAgd2hpbGUgKHRhcmdldCAhPSBudWxsICYmIHRhcmdldCAhPT0gZG9jdW1lbnQuYm9keSkge1xuICAgIHBhdGgucHVzaCh0YXJnZXQpO1xuICAgIHRhcmdldCA9IHRhcmdldC5wYXJlbnROb2RlO1xuICB9XG5cbiAgcmV0dXJuIHBhdGg7XG59XG4vKipcbiAqIFJldHJpZXZlIHRoZSByZXNwb25kZXJJZCBmcm9tIGEgaG9zdCBub2RlXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRSZXNwb25kZXJJZChub2RlKSB7XG4gIGlmIChub2RlICE9IG51bGwpIHtcbiAgICByZXR1cm4gbm9kZVtrZXlOYW1lXTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuLyoqXG4gKiBTdG9yZSB0aGUgcmVzcG9uZGVySWQgb24gYSBob3N0IG5vZGVcbiAqL1xuXG5cbmZ1bmN0aW9uIHNldFJlc3BvbmRlcklkKG5vZGUsIGlkKSB7XG4gIGlmIChub2RlICE9IG51bGwpIHtcbiAgICBub2RlW2tleU5hbWVdID0gaWQ7XG4gIH1cbn1cbi8qKlxuICogRmlsdGVyIHRoZSBldmVudCBwYXRoIHRvIGNvbnRhaW4gb25seSB0aGUgbm9kZXMgYXR0YWNoZWQgdG8gdGhlIHJlc3BvbmRlciBzeXN0ZW1cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldFJlc3BvbmRlclBhdGhzKGRvbUV2ZW50KSB7XG4gIHZhciBpZFBhdGggPSBbXTtcbiAgdmFyIG5vZGVQYXRoID0gW107XG4gIHZhciBldmVudFBhdGggPSBnZXRFdmVudFBhdGgoZG9tRXZlbnQpO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnRQYXRoLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIG5vZGUgPSBldmVudFBhdGhbaV07XG4gICAgdmFyIGlkID0gZ2V0UmVzcG9uZGVySWQobm9kZSk7XG5cbiAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgaWRQYXRoLnB1c2goaWQpO1xuICAgICAgbm9kZVBhdGgucHVzaChub2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGlkUGF0aCxcbiAgICBub2RlUGF0aFxuICB9O1xufVxuLyoqXG4gKiBXYWxrIHRoZSBwYXRocyBhbmQgZmluZCB0aGUgZmlyc3QgY29tbW9uIGFuY2VzdG9yXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRMb3dlc3RDb21tb25BbmNlc3RvcihwYXRoQSwgcGF0aEIpIHtcbiAgdmFyIHBhdGhBTGVuZ3RoID0gcGF0aEEubGVuZ3RoO1xuICB2YXIgcGF0aEJMZW5ndGggPSBwYXRoQi5sZW5ndGg7XG5cbiAgaWYgKCAvLyBJZiBlaXRoZXIgcGF0aCBpcyBlbXB0eVxuICBwYXRoQUxlbmd0aCA9PT0gMCB8fCBwYXRoQkxlbmd0aCA9PT0gMCB8fCAvLyBJZiB0aGUgbGFzdCBlbGVtZW50cyBhcmVuJ3QgdGhlIHNhbWUgdGhlcmUgY2FuJ3QgYmUgYSBjb21tb24gYW5jZXN0b3JcbiAgLy8gdGhhdCBpcyBjb25uZWN0ZWQgdG8gdGhlIHJlc3BvbmRlciBzeXN0ZW1cbiAgcGF0aEFbcGF0aEFMZW5ndGggLSAxXSAhPT0gcGF0aEJbcGF0aEJMZW5ndGggLSAxXSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGl0ZW1BID0gcGF0aEFbMF07XG4gIHZhciBpbmRleEEgPSAwO1xuICB2YXIgaXRlbUIgPSBwYXRoQlswXTtcbiAgdmFyIGluZGV4QiA9IDA7IC8vIElmIEEgaXMgZGVlcGVyLCBza2lwIGluZGljZXMgdGhhdCBjYW4ndCBtYXRjaC5cblxuICBpZiAocGF0aEFMZW5ndGggLSBwYXRoQkxlbmd0aCA+IDApIHtcbiAgICBpbmRleEEgPSBwYXRoQUxlbmd0aCAtIHBhdGhCTGVuZ3RoO1xuICAgIGl0ZW1BID0gcGF0aEFbaW5kZXhBXTtcbiAgICBwYXRoQUxlbmd0aCA9IHBhdGhCTGVuZ3RoO1xuICB9IC8vIElmIEIgaXMgZGVlcGVyLCBza2lwIGluZGljZXMgdGhhdCBjYW4ndCBtYXRjaFxuXG5cbiAgaWYgKHBhdGhCTGVuZ3RoIC0gcGF0aEFMZW5ndGggPiAwKSB7XG4gICAgaW5kZXhCID0gcGF0aEJMZW5ndGggLSBwYXRoQUxlbmd0aDtcbiAgICBpdGVtQiA9IHBhdGhCW2luZGV4Ql07XG4gICAgcGF0aEJMZW5ndGggPSBwYXRoQUxlbmd0aDtcbiAgfSAvLyBXYWxrIGluIGxvY2tzdGVwIHVudGlsIGEgbWF0Y2ggaXMgZm91bmRcblxuXG4gIHZhciBkZXB0aCA9IHBhdGhBTGVuZ3RoO1xuXG4gIHdoaWxlIChkZXB0aC0tKSB7XG4gICAgaWYgKGl0ZW1BID09PSBpdGVtQikge1xuICAgICAgcmV0dXJuIGl0ZW1BO1xuICAgIH1cblxuICAgIGl0ZW1BID0gcGF0aEFbaW5kZXhBKytdO1xuICAgIGl0ZW1CID0gcGF0aEJbaW5kZXhCKytdO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIERldGVybWluZSB3aGV0aGVyIGFueSBvZiB0aGUgYWN0aXZlIHRvdWNoZXMgYXJlIHdpdGhpbiB0aGUgY3VycmVudCByZXNwb25kZXIuXG4gKiBUaGlzIGNhbm5vdCByZWx5IG9uIFczQyBgdGFyZ2V0VG91Y2hlc2AsIGFzIG5laXRoZXIgSUUxMSBub3IgU2FmYXJpIGltcGxlbWVudCBpdC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGhhc1RhcmdldFRvdWNoZXModGFyZ2V0LCB0b3VjaGVzKSB7XG4gIGlmICghdG91Y2hlcyB8fCB0b3VjaGVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgdG91Y2hlcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBub2RlID0gdG91Y2hlc1tpXS50YXJnZXQ7XG5cbiAgICBpZiAobm9kZSAhPSBudWxsKSB7XG4gICAgICBpZiAodGFyZ2V0LmNvbnRhaW5zKG5vZGUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbi8qKlxuICogSWdub3JlICdzZWxlY3Rpb25jaGFuZ2UnIGV2ZW50cyB0aGF0IGRvbid0IGNvcnJlc3BvbmQgd2l0aCBhIHBlcnNvbidzIGludGVudCB0b1xuICogc2VsZWN0IHRleHQuXG4gKi9cblxuXG5mdW5jdGlvbiBoYXNWYWxpZFNlbGVjdGlvbihkb21FdmVudCkge1xuICBpZiAoZG9tRXZlbnQudHlwZSA9PT0gJ3NlbGVjdGlvbmNoYW5nZScpIHtcbiAgICByZXR1cm4gKDAsIF9pc1NlbGVjdGlvblZhbGlkLmRlZmF1bHQpKCk7XG4gIH1cblxuICByZXR1cm4gZG9tRXZlbnQudHlwZSA9PT0gJ3NlbGVjdCc7XG59XG4vKipcbiAqIEV2ZW50cyBhcmUgb25seSB2YWxpZCBpZiB0aGUgcHJpbWFyeSBidXR0b24gd2FzIHVzZWQgd2l0aG91dCBzcGVjaWZpYyBtb2RpZmllciBrZXlzLlxuICovXG5cblxuZnVuY3Rpb24gaXNQcmltYXJ5UG9pbnRlckRvd24oZG9tRXZlbnQpIHtcbiAgdmFyIGFsdEtleSA9IGRvbUV2ZW50LmFsdEtleSxcbiAgICAgIGJ1dHRvbiA9IGRvbUV2ZW50LmJ1dHRvbixcbiAgICAgIGJ1dHRvbnMgPSBkb21FdmVudC5idXR0b25zLFxuICAgICAgY3RybEtleSA9IGRvbUV2ZW50LmN0cmxLZXksXG4gICAgICB0eXBlID0gZG9tRXZlbnQudHlwZTtcbiAgdmFyIGlzVG91Y2ggPSB0eXBlID09PSAndG91Y2hzdGFydCcgfHwgdHlwZSA9PT0gJ3RvdWNobW92ZSc7XG4gIHZhciBpc1ByaW1hcnlNb3VzZURvd24gPSB0eXBlID09PSAnbW91c2Vkb3duJyAmJiAoYnV0dG9uID09PSAwIHx8IGJ1dHRvbnMgPT09IDEpO1xuICB2YXIgaXNQcmltYXJ5TW91c2VNb3ZlID0gdHlwZSA9PT0gJ21vdXNlbW92ZScgJiYgYnV0dG9ucyA9PT0gMTtcbiAgdmFyIG5vTW9kaWZpZXJzID0gYWx0S2V5ID09PSBmYWxzZSAmJiBjdHJsS2V5ID09PSBmYWxzZTtcblxuICBpZiAoaXNUb3VjaCB8fCBpc1ByaW1hcnlNb3VzZURvd24gJiYgbm9Nb2RpZmllcnMgfHwgaXNQcmltYXJ5TW91c2VNb3ZlICYmIG5vTW9kaWZpZXJzKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/useResponderEvents/utils.js\n" ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/useStable/index.js': /*!***************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/useStable/index.js ***! \***************************************************************/ /***/ (module, exports, __webpack_require__) => { 'use strict'; eval( '\n\nvar _interopRequireWildcard = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ "../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"]);\n\nexports.__esModule = true;\nexports["default"] = useStable;\n\nvar React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar UNINITIALIZED = typeof Symbol === \'function\' && typeof Symbol() === \'symbol\' ? Symbol() : Object.freeze({});\n\nfunction useStable(getInitialValue) {\n var ref = React.useRef(UNINITIALIZED);\n\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n } // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n\n\n return ref.current;\n}\n\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3VzZVN0YWJsZS9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw4QkFBOEIsNEpBQWdFOztBQUU5RixrQkFBa0I7QUFDbEIsa0JBQWU7O0FBRWYsb0NBQW9DLG1CQUFPLENBQUMsb0JBQU87O0FBRW5EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4R0FBOEc7O0FBRTlHO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvbW9kdWxlcy91c2VTdGFibGUvaW5kZXguanM/MTg0NiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVXaWxkY2FyZFwiKS5kZWZhdWx0O1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gdXNlU3RhYmxlO1xuXG52YXIgUmVhY3QgPSBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChyZXF1aXJlKFwicmVhY3RcIikpO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cbnZhciBVTklOSVRJQUxJWkVEID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgU3ltYm9sKCkgPT09ICdzeW1ib2wnID8gU3ltYm9sKCkgOiBPYmplY3QuZnJlZXplKHt9KTtcblxuZnVuY3Rpb24gdXNlU3RhYmxlKGdldEluaXRpYWxWYWx1ZSkge1xuICB2YXIgcmVmID0gUmVhY3QudXNlUmVmKFVOSU5JVElBTElaRUQpO1xuXG4gIGlmIChyZWYuY3VycmVudCA9PT0gVU5JTklUSUFMSVpFRCkge1xuICAgIHJlZi5jdXJyZW50ID0gZ2V0SW5pdGlhbFZhbHVlKCk7XG4gIH0gLy8gJEZsb3dGaXhNZSAoIzY0NjUwNzg5KSBUcm91YmxlIHJlZmluaW5nIHR5cGVzIHdoZXJlIGBTeW1ib2xgIGlzIGNvbmNlcm5lZC5cblxuXG4gIHJldHVybiByZWYuY3VycmVudDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/useStable/index.js\n' ); /***/ }, /***/ '../react-native-web/dist/cjs/modules/warnOnce/index.js': /*!**************************************************************!*\ !*** ../react-native-web/dist/cjs/modules/warnOnce/index.js ***! \**************************************************************/ /***/ (__unused_webpack_module, exports) => { 'use strict'; eval( '\n\nexports.__esModule = true;\nexports.warnOnce = warnOnce;\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar warnedKeys = {};\n/**\n * A simple function that prints a warning message once per session.\n *\n * @param {string} key - The key used to ensure the message is printed once.\n * This should be unique to the callsite.\n * @param {string} message - The message to print\n */\n\nfunction warnOnce(key, message) {\n if (warnedKeys[key]) {\n return;\n }\n\n console.warn(message);\n warnedKeys[key] = true;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vcmVhY3QtbmF0aXZlLXdlYi9kaXN0L2Nqcy9tb2R1bGVzL3dhcm5PbmNlL2luZGV4LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLGtCQUFrQjtBQUNsQixnQkFBZ0I7O0FBRWhCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQjtBQUNBLFdBQVcsUUFBUTtBQUNuQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1uYXRpdmUtd2ViLWV4YW1wbGVzLy4uL3JlYWN0LW5hdGl2ZS13ZWIvZGlzdC9janMvbW9kdWxlcy93YXJuT25jZS9pbmRleC5qcz9jOTA4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy53YXJuT25jZSA9IHdhcm5PbmNlO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICogXG4gKi9cbnZhciB3YXJuZWRLZXlzID0ge307XG4vKipcbiAqIEEgc2ltcGxlIGZ1bmN0aW9uIHRoYXQgcHJpbnRzIGEgd2FybmluZyBtZXNzYWdlIG9uY2UgcGVyIHNlc3Npb24uXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSBrZXkgdXNlZCB0byBlbnN1cmUgdGhlIG1lc3NhZ2UgaXMgcHJpbnRlZCBvbmNlLlxuICogICAgICAgICAgICAgICAgICAgICAgIFRoaXMgc2hvdWxkIGJlIHVuaXF1ZSB0byB0aGUgY2FsbHNpdGUuXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIHByaW50XG4gKi9cblxuZnVuY3Rpb24gd2Fybk9uY2Uoa2V5LCBtZXNzYWdlKSB7XG4gIGlmICh3YXJuZWRLZXlzW2tleV0pIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zb2xlLndhcm4obWVzc2FnZSk7XG4gIHdhcm5lZEtleXNba2V5XSA9IHRydWU7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../react-native-web/dist/cjs/modules/warnOnce/index.js\n' ); /***/ }, /***/ 'fbjs/lib/invariant': /*!*************************************!*\ !*** external "fbjs/lib/invariant" ***! \*************************************/ /***/ (module) => { 'use strict'; module.exports = require('fbjs/lib/invariant'); /***/ }, /***/ 'inline-style-prefixer/lib/createPrefixer': /*!***********************************************************!*\ !*** external "inline-style-prefixer/lib/createPrefixer" ***! \***********************************************************/ /***/ (module) => { 'use strict'; module.exports = require('inline-style-prefixer/lib/createPrefixer'); /***/ }, /***/ 'inline-style-prefixer/lib/plugins/backgroundClip': /*!*******************************************************************!*\ !*** external "inline-style-prefixer/lib/plugins/backgroundClip" ***! \*******************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('inline-style-prefixer/lib/plugins/backgroundClip'); /***/ }, /***/ 'inline-style-prefixer/lib/plugins/crossFade': /*!**************************************************************!*\ !*** external "inline-style-prefixer/lib/plugins/crossFade" ***! \**************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('inline-style-prefixer/lib/plugins/crossFade'); /***/ }, /***/ 'inline-style-prefixer/lib/plugins/cursor': /*!***********************************************************!*\ !*** external "inline-style-prefixer/lib/plugins/cursor" ***! \***********************************************************/ /***/ (module) => { 'use strict'; module.exports = require('inline-style-prefixer/lib/plugins/cursor'); /***/ }, /***/ 'inline-style-prefixer/lib/plugins/filter': /*!***********************************************************!*\ !*** external "inline-style-prefixer/lib/plugins/filter" ***! \***********************************************************/ /***/ (module) => { 'use strict'; module.exports = require('inline-style-prefixer/lib/plugins/filter'); /***/ }, /***/ 'inline-style-prefixer/lib/plugins/imageSet': /*!*************************************************************!*\ !*** external "inline-style-prefixer/lib/plugins/imageSet" ***! \*************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('inline-style-prefixer/lib/plugins/imageSet'); /***/ }, /***/ 'inline-style-prefixer/lib/plugins/logical': /*!************************************************************!*\ !*** external "inline-style-prefixer/lib/plugins/logical" ***! \************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('inline-style-prefixer/lib/plugins/logical'); /***/ }, /***/ 'inline-style-prefixer/lib/plugins/position': /*!*************************************************************!*\ !*** external "inline-style-prefixer/lib/plugins/position" ***! \*************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('inline-style-prefixer/lib/plugins/position'); /***/ }, /***/ 'inline-style-prefixer/lib/plugins/sizing': /*!***********************************************************!*\ !*** external "inline-style-prefixer/lib/plugins/sizing" ***! \***********************************************************/ /***/ (module) => { 'use strict'; module.exports = require('inline-style-prefixer/lib/plugins/sizing'); /***/ }, /***/ 'inline-style-prefixer/lib/plugins/transition': /*!***************************************************************!*\ !*** external "inline-style-prefixer/lib/plugins/transition" ***! \***************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('inline-style-prefixer/lib/plugins/transition'); /***/ }, /***/ 'next/dist/compiled/react-is': /*!**********************************************!*\ !*** external "next/dist/compiled/react-is" ***! \**********************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/compiled/react-is'); /***/ }, /***/ '../shared/lib/app-router-context': /*!*************************************************************!*\ !*** external "next/dist/shared/lib/app-router-context.js" ***! \*************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/app-router-context.js'); /***/ }, /***/ '../shared/lib/head-manager-context': /*!***************************************************************!*\ !*** external "next/dist/shared/lib/head-manager-context.js" ***! \***************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/head-manager-context.js'); /***/ }, /***/ '../i18n/normalize-locale-path': /*!*********************************************************************!*\ !*** external "next/dist/shared/lib/i18n/normalize-locale-path.js" ***! \*********************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/i18n/normalize-locale-path.js'); /***/ }, /***/ '../shared/lib/is-plain-object': /*!**********************************************************!*\ !*** external "next/dist/shared/lib/is-plain-object.js" ***! \**********************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/is-plain-object.js'); /***/ }, /***/ '../mitt': /*!***********************************************!*\ !*** external "next/dist/shared/lib/mitt.js" ***! \***********************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/mitt.js'); /***/ }, /***/ '../page-path/denormalize-page-path': /*!**************************************************************************!*\ !*** external "next/dist/shared/lib/page-path/denormalize-page-path.js" ***! \**************************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/page-path/denormalize-page-path.js'); /***/ }, /***/ '../shared/lib/router-context': /*!*********************************************************!*\ !*** external "next/dist/shared/lib/router-context.js" ***! \*********************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router-context.js'); /***/ }, /***/ '../shared/lib/router/utils/add-path-prefix': /*!***********************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/add-path-prefix.js" ***! \***********************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/add-path-prefix.js'); /***/ }, /***/ './utils/format-next-pathname-info': /*!*********************************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/format-next-pathname-info.js" ***! \*********************************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/format-next-pathname-info.js'); /***/ }, /***/ './utils/format-url': /*!******************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/format-url.js" ***! \******************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/format-url.js'); /***/ }, /***/ '../shared/lib/router/utils/get-asset-path-from-route': /*!*********************************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/get-asset-path-from-route.js" ***! \*********************************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/get-asset-path-from-route.js'); /***/ }, /***/ './utils/get-next-pathname-info': /*!******************************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/get-next-pathname-info.js" ***! \******************************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/get-next-pathname-info.js'); /***/ }, /***/ './utils/is-dynamic': /*!******************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/is-dynamic.js" ***! \******************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/is-dynamic.js'); /***/ }, /***/ './utils/parse-path': /*!******************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/parse-path.js" ***! \******************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/parse-path.js'); /***/ }, /***/ './utils/parse-relative-url': /*!**************************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/parse-relative-url.js" ***! \**************************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/parse-relative-url.js'); /***/ }, /***/ '../shared/lib/router/utils/path-has-prefix': /*!***********************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/path-has-prefix.js" ***! \***********************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/path-has-prefix.js'); /***/ }, /***/ './utils/querystring': /*!*******************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/querystring.js" ***! \*******************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/querystring.js'); /***/ }, /***/ './utils/remove-trailing-slash': /*!*****************************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/remove-trailing-slash.js" ***! \*****************************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/remove-trailing-slash.js'); /***/ }, /***/ './utils/resolve-rewrites': /*!************************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/resolve-rewrites.js" ***! \************************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/resolve-rewrites.js'); /***/ }, /***/ './utils/route-matcher': /*!*********************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/route-matcher.js" ***! \*********************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/route-matcher.js'); /***/ }, /***/ './utils/route-regex': /*!*******************************************************************!*\ !*** external "next/dist/shared/lib/router/utils/route-regex.js" ***! \*******************************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/router/utils/route-regex.js'); /***/ }, /***/ '../shared/lib/utils': /*!************************************************!*\ !*** external "next/dist/shared/lib/utils.js" ***! \************************************************/ /***/ (module) => { 'use strict'; module.exports = require('next/dist/shared/lib/utils.js'); /***/ }, /***/ 'normalize-css-color': /*!**************************************!*\ !*** external "normalize-css-color" ***! \**************************************/ /***/ (module) => { 'use strict'; module.exports = require('normalize-css-color'); /***/ }, /***/ 'postcss-value-parser': /*!***************************************!*\ !*** external "postcss-value-parser" ***! \***************************************/ /***/ (module) => { 'use strict'; module.exports = require('postcss-value-parser'); /***/ }, /***/ react: /*!************************!*\ !*** external "react" ***! \************************/ /***/ (module) => { 'use strict'; module.exports = require('react'); /***/ }, /***/ 'react/jsx-dev-runtime': /*!****************************************!*\ !*** external "react/jsx-dev-runtime" ***! \****************************************/ /***/ (module) => { 'use strict'; module.exports = require('react/jsx-dev-runtime'); /***/ }, /***/ styleq: /*!*************************!*\ !*** external "styleq" ***! \*************************/ /***/ (module) => { 'use strict'; module.exports = require('styleq'); /***/ }, /***/ 'styleq/transform-localize-style': /*!**************************************************!*\ !*** external "styleq/transform-localize-style" ***! \**************************************************/ /***/ (module) => { 'use strict'; module.exports = require('styleq/transform-localize-style'); /***/ }, /***/ '../../node_modules/@babel/runtime/helpers/defineProperty.js': /*!*******************************************************************!*\ !*** ../../node_modules/@babel/runtime/helpers/defineProperty.js ***! \*******************************************************************/ /***/ (module) => { eval( 'function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHkuanMuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxrQ0FBa0MseUJBQXlCLFNBQVMseUJBQXlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVhY3QtbmF0aXZlLXdlYi1leGFtcGxlcy8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eS5qcz83MTBmIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHtcbiAgaWYgKGtleSBpbiBvYmopIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG9ialtrZXldID0gdmFsdWU7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9kZWZpbmVQcm9wZXJ0eSwgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWUsIG1vZHVsZS5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IG1vZHVsZS5leHBvcnRzOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../node_modules/@babel/runtime/helpers/defineProperty.js\n' ); /***/ }, /***/ '../../node_modules/@babel/runtime/helpers/extends.js': /*!************************************************************!*\ !*** ../../node_modules/@babel/runtime/helpers/extends.js ***! \************************************************************/ /***/ (module) => { eval( 'function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n }, module.exports.__esModule = true, module.exports["default"] = module.exports;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kcy5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHLEVBQUUseUJBQXlCLFNBQVMseUJBQXlCO0FBQ2hFO0FBQ0E7O0FBRUEsMkJBQTJCLHlCQUF5QixTQUFTLHlCQUF5QiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kcy5qcz9mNzc0Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9leHRlbmRzKCkge1xuICBtb2R1bGUuZXhwb3J0cyA9IF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiA/IE9iamVjdC5hc3NpZ24uYmluZCgpIDogZnVuY3Rpb24gKHRhcmdldCkge1xuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldO1xuXG4gICAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH0sIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlLCBtb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0cztcbiAgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2V4dGVuZHMsIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlLCBtb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0czsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../node_modules/@babel/runtime/helpers/extends.js\n' ); /***/ }, /***/ '../../node_modules/@babel/runtime/helpers/interopRequireDefault.js': /*!**************************************************************************!*\ !*** ../../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! \**************************************************************************/ /***/ (module) => { eval( 'function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n "default": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEseUNBQXlDLHlCQUF5QixTQUFTLHlCQUF5QiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0LmpzPzBjOGIiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHtcbiAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICBcImRlZmF1bHRcIjogb2JqXG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdCwgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWUsIG1vZHVsZS5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IG1vZHVsZS5leHBvcnRzOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../node_modules/@babel/runtime/helpers/interopRequireDefault.js\n' ); /***/ }, /***/ '../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js': /*!***************************************************************************!*\ !*** ../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js ***! \***************************************************************************/ /***/ (module, __unused_webpack_exports, __webpack_require__) => { eval( 'var _typeof = (__webpack_require__(/*! ./typeof.js */ "../../node_modules/@babel/runtime/helpers/typeof.js")["default"]);\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== "function") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") {\n return {\n "default": obj\n };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj["default"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports["default"] = module.exports;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVXaWxkY2FyZC5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBHQUFpQzs7QUFFL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMENBQTBDLHlCQUF5QixTQUFTLHlCQUF5QiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVXaWxkY2FyZC5qcz84NzZhIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfdHlwZW9mID0gcmVxdWlyZShcIi4vdHlwZW9mLmpzXCIpW1wiZGVmYXVsdFwiXTtcblxuZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKSB7XG4gIGlmICh0eXBlb2YgV2Vha01hcCAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gbnVsbDtcbiAgdmFyIGNhY2hlQmFiZWxJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgdmFyIGNhY2hlTm9kZUludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCkge1xuICAgIHJldHVybiBub2RlSW50ZXJvcCA/IGNhY2hlTm9kZUludGVyb3AgOiBjYWNoZUJhYmVsSW50ZXJvcDtcbiAgfSkobm9kZUludGVyb3ApO1xufVxuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChvYmosIG5vZGVJbnRlcm9wKSB7XG4gIGlmICghbm9kZUludGVyb3AgJiYgb2JqICYmIG9iai5fX2VzTW9kdWxlKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIGlmIChvYmogPT09IG51bGwgfHwgX3R5cGVvZihvYmopICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBvYmogIT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiB7XG4gICAgICBcImRlZmF1bHRcIjogb2JqXG4gICAgfTtcbiAgfVxuXG4gIHZhciBjYWNoZSA9IF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCk7XG5cbiAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSB7XG4gICAgcmV0dXJuIGNhY2hlLmdldChvYmopO1xuICB9XG5cbiAgdmFyIG5ld09iaiA9IHt9O1xuICB2YXIgaGFzUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5cbiAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgIGlmIChrZXkgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgIHZhciBkZXNjID0gaGFzUHJvcGVydHlEZXNjcmlwdG9yID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSkgOiBudWxsO1xuXG4gICAgICBpZiAoZGVzYyAmJiAoZGVzYy5nZXQgfHwgZGVzYy5zZXQpKSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXdPYmosIGtleSwgZGVzYyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5ld09ialtcImRlZmF1bHRcIl0gPSBvYmo7XG5cbiAgaWYgKGNhY2hlKSB7XG4gICAgY2FjaGUuc2V0KG9iaiwgbmV3T2JqKTtcbiAgfVxuXG4gIHJldHVybiBuZXdPYmo7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQsIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlLCBtb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0czsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js\n' ); /***/ }, /***/ '../../node_modules/@babel/runtime/helpers/objectSpread2.js': /*!******************************************************************!*\ !*** ../../node_modules/@babel/runtime/helpers/objectSpread2.js ***! \******************************************************************/ /***/ (module, __unused_webpack_exports, __webpack_require__) => { eval( 'var defineProperty = __webpack_require__(/*! ./defineProperty.js */ "../../node_modules/@babel/runtime/helpers/defineProperty.js");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports["default"] = module.exports;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkMi5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBQSxxQkFBcUIsbUJBQU8sQ0FBQyx3RkFBcUI7O0FBRWxEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQixzQkFBc0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUEsaUNBQWlDLHlCQUF5QixTQUFTLHlCQUF5QiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkMi5qcz9iYzk5Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBkZWZpbmVQcm9wZXJ0eSA9IHJlcXVpcmUoXCIuL2RlZmluZVByb3BlcnR5LmpzXCIpO1xuXG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHtcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7XG4gICAgZW51bWVyYWJsZU9ubHkgJiYgKHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTtcbiAgICB9KSksIGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTtcbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkMih0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gbnVsbCAhPSBhcmd1bWVudHNbaV0gPyBhcmd1bWVudHNbaV0gOiB7fTtcbiAgICBpICUgMiA/IG93bktleXMoT2JqZWN0KHNvdXJjZSksICEwKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgIGRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7XG4gICAgfSkgOiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSkgOiBvd25LZXlzKE9iamVjdChzb3VyY2UpKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfb2JqZWN0U3ByZWFkMiwgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWUsIG1vZHVsZS5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IG1vZHVsZS5leHBvcnRzOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../node_modules/@babel/runtime/helpers/objectSpread2.js\n' ); /***/ }, /***/ '../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js': /*!*********************************************************************************!*\ !*** ../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***! \*********************************************************************************/ /***/ (module) => { eval( 'function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZS5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGNBQWMsdUJBQXVCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsZ0RBQWdELHlCQUF5QixTQUFTLHlCQUF5QiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZS5qcz8xOTZmIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHNvdXJjZSwgZXhjbHVkZWQpIHtcbiAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm4ge307XG4gIHZhciB0YXJnZXQgPSB7fTtcbiAgdmFyIHNvdXJjZUtleXMgPSBPYmplY3Qua2V5cyhzb3VyY2UpO1xuICB2YXIga2V5LCBpO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBzb3VyY2VLZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAga2V5ID0gc291cmNlS2V5c1tpXTtcbiAgICBpZiAoZXhjbHVkZWQuaW5kZXhPZihrZXkpID49IDApIGNvbnRpbnVlO1xuICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlLCBtb2R1bGUuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZSwgbW9kdWxlLmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gbW9kdWxlLmV4cG9ydHM7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\n' ); /***/ }, /***/ '../../node_modules/@babel/runtime/helpers/typeof.js': /*!***********************************************************!*\ !*** ../../node_modules/@babel/runtime/helpers/typeof.js ***! \***********************************************************/ /***/ (module) => { eval( 'function _typeof(obj) {\n "@babel/helpers - typeof";\n\n return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;\n }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvdHlwZW9mLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLEdBQUcsRUFBRSx5QkFBeUIsU0FBUyx5QkFBeUI7QUFDaEU7O0FBRUEsMEJBQTBCLHlCQUF5QixTQUFTLHlCQUF5QiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlYWN0LW5hdGl2ZS13ZWItZXhhbXBsZXMvLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvdHlwZW9mLmpzPzZhN2YiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3R5cGVvZihvYmopIHtcbiAgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiO1xuXG4gIHJldHVybiAobW9kdWxlLmV4cG9ydHMgPSBfdHlwZW9mID0gXCJmdW5jdGlvblwiID09IHR5cGVvZiBTeW1ib2wgJiYgXCJzeW1ib2xcIiA9PSB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID8gZnVuY3Rpb24gKG9iaikge1xuICAgIHJldHVybiB0eXBlb2Ygb2JqO1xuICB9IDogZnVuY3Rpb24gKG9iaikge1xuICAgIHJldHVybiBvYmogJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBTeW1ib2wgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7XG4gIH0sIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlLCBtb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0cyksIF90eXBlb2Yob2JqKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfdHlwZW9mLCBtb2R1bGUuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZSwgbW9kdWxlLmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gbW9kdWxlLmV4cG9ydHM7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/@babel/runtime/helpers/typeof.js\n' ); /***/ } }; // load runtime var __webpack_require__ = require('../webpack-runtime.js'); __webpack_require__.C(exports); var __webpack_exec__ = (moduleId) => __webpack_require__((__webpack_require__.s = moduleId)); var __webpack_exports__ = __webpack_exec__('./pages/index.js'); module.exports = __webpack_exports__; })();