{"version":3,"file":"js/chunk-vendors-1656f0b4.03189b85.js","mappings":"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","sources":["webpack://facilities-information-tool-v4/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://facilities-information-tool-v4/./node_modules/vue-apollo/dist/vue-apollo.esm.js","webpack://facilities-information-tool-v4/./node_modules/vue-router/dist/vue-router.esm.js"],"sourcesContent":["/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import gql from 'graphql-tag';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _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\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\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 = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar index_umd = createCommonjsModule(function (module, exports) {\n (function (global, factory) {\n factory(exports) ;\n })(commonjsGlobal, function (exports) {\n /* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n /**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {boolean} [noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n * the internal counter is reset).\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the throttled-function is executed.\n * @param {boolean} [debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n * schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\n\n function throttle(delay, noTrailing, callback, debounceMode) {\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel() {\n clearExistingTimeout();\n cancelled = true;\n } // `noTrailing` defaults to falsy.\n\n\n if (typeof noTrailing !== 'boolean') {\n debounceMode = callback;\n callback = noTrailing;\n noTrailing = undefined;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n arguments_[_key] = arguments[_key];\n }\n\n var self = this;\n var elapsed = Date.now() - lastExec;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, arguments_);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n /*\n * In throttle mode, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n }\n /* eslint-disable no-undefined */\n\n /**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {boolean} [atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @returns {Function} A new, debounced function.\n */\n\n\n function debounce(delay, atBegin, callback) {\n return callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n }\n\n exports.debounce = debounce;\n exports.throttle = throttle;\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n });\n});\nunwrapExports(index_umd);\n\nvar utils = createCommonjsModule(function (module, exports) {\n var Globals = exports.Globals = {};\n\n function factory(action) {\n return function (cb, time) {\n return action(time, cb);\n };\n }\n\n exports.throttle = factory(index_umd.throttle);\n exports.debounce = factory(index_umd.debounce);\n\n exports.getMergedDefinition = function (def) {\n return Globals.Vue.util.mergeOptions({}, def);\n };\n\n exports.reapply = function (options, context) {\n while (typeof options === 'function') {\n options = options.call(context);\n }\n\n return options;\n };\n\n exports.omit = function (obj, properties) {\n return Object.entries(obj).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n key = _ref2[0];\n\n return !properties.includes(key);\n }).reduce(function (c, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n val = _ref4[1];\n\n c[key] = val;\n return c;\n }, {});\n };\n\n exports.addGqlError = function (error) {\n if (error.graphQLErrors && error.graphQLErrors.length) {\n error.gqlError = error.graphQLErrors[0];\n }\n }; // eslint-disable-next-line @typescript-eslint/no-empty-function\n\n\n exports.noop = function () {};\n});\nvar utils_1 = utils.Globals;\nvar utils_2 = utils.throttle;\nvar utils_3 = utils.debounce;\nvar utils_4 = utils.getMergedDefinition;\nvar utils_5 = utils.reapply;\nvar utils_6 = utils.omit;\nvar utils_7 = utils.addGqlError;\nvar utils_8 = utils.noop;\n\nvar skippAllKeys = {\n query: '_skipAllQueries',\n subscription: '_skipAllSubscriptions'\n};\n\nvar SmartApollo = /*#__PURE__*/function () {\n function SmartApollo(vm, key, options) {\n _classCallCheck(this, SmartApollo);\n\n _defineProperty(this, \"type\", null);\n\n _defineProperty(this, \"vueApolloSpecialKeys\", []);\n\n this.vm = vm;\n this.key = key;\n this.initialOptions = options;\n this.options = Object.assign({}, options);\n this._skip = false;\n this._pollInterval = null;\n this._watchers = [];\n this._destroyed = false;\n this.lastApolloOptions = null;\n }\n\n _createClass(SmartApollo, [{\n key: \"autostart\",\n value: function autostart() {\n var _this = this;\n\n if (typeof this.options.skip === 'function') {\n this._skipWatcher = this.vm.$watch(function () {\n return _this.options.skip.call(_this.vm, _this.vm, _this.key);\n }, this.skipChanged.bind(this), {\n immediate: true,\n deep: this.options.deep\n });\n } else if (!this.options.skip && !this.allSkip) {\n this.start();\n } else {\n this._skip = true;\n }\n\n if (typeof this.options.pollInterval === 'function') {\n this._pollWatcher = this.vm.$watch(this.options.pollInterval.bind(this.vm), this.pollIntervalChanged.bind(this), {\n immediate: true\n });\n }\n }\n }, {\n key: \"pollIntervalChanged\",\n value: function pollIntervalChanged(value, oldValue) {\n if (value !== oldValue) {\n this.pollInterval = value;\n\n if (value == null) {\n this.stopPolling();\n } else {\n this.startPolling(value);\n }\n }\n }\n }, {\n key: \"skipChanged\",\n value: function skipChanged(value, oldValue) {\n if (value !== oldValue) {\n this.skip = value;\n }\n }\n }, {\n key: \"pollInterval\",\n get: function get() {\n return this._pollInterval;\n },\n set: function set(value) {\n this._pollInterval = value;\n }\n }, {\n key: \"skip\",\n get: function get() {\n return this._skip;\n },\n set: function set(value) {\n if (value || this.allSkip) {\n this.stop();\n } else {\n this.start();\n }\n\n this._skip = value;\n }\n }, {\n key: \"allSkip\",\n get: function get() {\n return this.vm.$apollo[skippAllKeys[this.type]];\n }\n }, {\n key: \"refresh\",\n value: function refresh() {\n if (!this._skip) {\n this.stop();\n this.start();\n }\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n this.starting = true; // Reactive options\n\n var _loop = function _loop(_i2, _ref2) {\n var prop = _ref2[_i2];\n\n if (typeof _this2.initialOptions[prop] === 'function') {\n var queryCb = _this2.initialOptions[prop].bind(_this2.vm);\n\n _this2.options[prop] = queryCb();\n\n var cb = function cb(query) {\n _this2.options[prop] = query;\n\n _this2.refresh();\n };\n\n if (!_this2.vm.$isServer) {\n cb = _this2.options.throttle ? utils_2(cb, _this2.options.throttle) : cb;\n cb = _this2.options.debounce ? utils_3(cb, _this2.options.debounce) : cb;\n }\n\n _this2._watchers.push(_this2.vm.$watch(queryCb, cb, {\n deep: _this2.options.deep\n }));\n }\n };\n\n for (var _i2 = 0, _ref2 = ['query', 'document', 'context']; _i2 < _ref2.length; _i2++) {\n _loop(_i2, _ref2);\n } // GraphQL Variables\n\n\n if (typeof this.options.variables === 'function') {\n var cb = this.executeApollo.bind(this);\n\n if (!this.vm.$isServer) {\n cb = this.options.throttle ? utils_2(cb, this.options.throttle) : cb;\n cb = this.options.debounce ? utils_3(cb, this.options.debounce) : cb;\n }\n\n this._watchers.push(this.vm.$watch(function () {\n return typeof _this2.options.variables === 'function' ? _this2.options.variables.call(_this2.vm) : _this2.options.variables;\n }, cb, {\n immediate: true,\n deep: this.options.deep\n }));\n } else {\n this.executeApollo(this.options.variables);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n for (var _i4 = 0, _this$_watchers2 = this._watchers; _i4 < _this$_watchers2.length; _i4++) {\n var unwatch = _this$_watchers2[_i4];\n unwatch();\n }\n\n if (this.sub) {\n this.sub.unsubscribe();\n this.sub = null;\n }\n }\n }, {\n key: \"generateApolloOptions\",\n value: function generateApolloOptions(variables) {\n var apolloOptions = utils_6(this.options, this.vueApolloSpecialKeys);\n apolloOptions.variables = variables;\n this.lastApolloOptions = apolloOptions;\n return apolloOptions;\n }\n }, {\n key: \"executeApollo\",\n value: function executeApollo(variables) {\n this.starting = false;\n }\n }, {\n key: \"nextResult\",\n value: function nextResult(result) {\n var error = result.error;\n if (error) utils_7(error);\n }\n }, {\n key: \"callHandlers\",\n value: function callHandlers(handlers) {\n var catched = false;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n for (var _i6 = 0; _i6 < handlers.length; _i6++) {\n var handler = handlers[_i6];\n\n if (handler) {\n catched = true;\n var result = handler.apply(this.vm, args);\n\n if (typeof result !== 'undefined' && !result) {\n break;\n }\n }\n }\n\n return catched;\n }\n }, {\n key: \"errorHandler\",\n value: function errorHandler() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.callHandlers.apply(this, [[this.options.error, this.vm.$apollo.error, this.vm.$apollo.provider.errorHandler]].concat(args));\n }\n }, {\n key: \"catchError\",\n value: function catchError(error) {\n utils_7(error);\n var catched = this.errorHandler(error, this.vm, this.key, this.type, this.lastApolloOptions);\n if (catched) return;\n\n if (error.graphQLErrors && error.graphQLErrors.length !== 0) {\n console.error(\"GraphQL execution errors for \".concat(this.type, \" '\").concat(this.key, \"'\"));\n\n for (var _i8 = 0, _error$graphQLErrors2 = error.graphQLErrors; _i8 < _error$graphQLErrors2.length; _i8++) {\n var e = _error$graphQLErrors2[_i8];\n console.error(e);\n }\n } else if (error.networkError) {\n console.error(\"Error sending the \".concat(this.type, \" '\").concat(this.key, \"'\"), error.networkError);\n } else {\n console.error(\"[vue-apollo] An error has occurred for \".concat(this.type, \" '\").concat(this.key, \"'\"));\n\n if (Array.isArray(error)) {\n var _console;\n\n (_console = console).error.apply(_console, _toConsumableArray(error));\n } else {\n console.error(error);\n }\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n if (this._destroyed) return;\n this._destroyed = true;\n this.stop();\n\n if (this._skipWatcher) {\n this._skipWatcher();\n }\n }\n }]);\n\n return SmartApollo;\n}();\n\nvar VUE_APOLLO_QUERY_KEYWORDS = ['variables', 'watch', 'update', 'result', 'error', 'loadingKey', 'watchLoading', 'skip', 'throttle', 'debounce', 'subscribeToMore', 'prefetch', 'manual'];\n\nvar SmartQuery = /*#__PURE__*/function (_SmartApollo) {\n _inherits(SmartQuery, _SmartApollo);\n\n var _super = _createSuper(SmartQuery);\n\n function SmartQuery(vm, key, options) {\n var _this;\n\n var autostart = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n\n _classCallCheck(this, SmartQuery);\n\n // Add reactive data related to the query\n if (vm.$data.$apolloData && !vm.$data.$apolloData.queries[key]) {\n vm.$set(vm.$data.$apolloData.queries, key, {\n loading: false\n });\n }\n\n _this = _super.call(this, vm, key, options);\n\n _defineProperty(_assertThisInitialized(_this), \"type\", 'query');\n\n _defineProperty(_assertThisInitialized(_this), \"vueApolloSpecialKeys\", VUE_APOLLO_QUERY_KEYWORDS);\n\n _defineProperty(_assertThisInitialized(_this), \"_loading\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"_linkedSubscriptions\", []);\n\n if (vm.$isServer) {\n _this.firstRun = new Promise(function (resolve, reject) {\n _this._firstRunResolve = resolve;\n _this._firstRunReject = reject;\n });\n }\n\n if (_this.vm.$isServer) {\n _this.options.fetchPolicy = 'network-only';\n }\n\n if (!options.manual) {\n _this.hasDataField = Object.prototype.hasOwnProperty.call(_this.vm.$data, key);\n\n if (_this.hasDataField) {\n Object.defineProperty(_this.vm.$data.$apolloData.data, key, {\n get: function get() {\n return _this.vm.$data[key];\n },\n enumerable: true,\n configurable: true\n });\n } else {\n Object.defineProperty(_this.vm.$data, key, {\n get: function get() {\n return _this.vm.$data.$apolloData.data[key];\n },\n enumerable: true,\n configurable: true\n });\n }\n }\n\n if (autostart) {\n _this.autostart();\n }\n\n return _this;\n }\n\n _createClass(SmartQuery, [{\n key: \"client\",\n get: function get() {\n return this.vm.$apollo.getClient(this.options);\n }\n }, {\n key: \"loading\",\n get: function get() {\n return this.vm.$data.$apolloData && this.vm.$data.$apolloData.queries[this.key] ? this.vm.$data.$apolloData.queries[this.key].loading : this._loading;\n },\n set: function set(value) {\n if (this._loading !== value) {\n this._loading = value;\n\n if (this.vm.$data.$apolloData && this.vm.$data.$apolloData.queries[this.key]) {\n this.vm.$data.$apolloData.queries[this.key].loading = value;\n this.vm.$data.$apolloData.loading += value ? 1 : -1;\n }\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n _get(_getPrototypeOf(SmartQuery.prototype), \"stop\", this).call(this);\n\n this.loadingDone();\n\n if (this.observer) {\n this.observer.stopPolling();\n this.observer = null;\n }\n }\n }, {\n key: \"generateApolloOptions\",\n value: function generateApolloOptions(variables) {\n var apolloOptions = _get(_getPrototypeOf(SmartQuery.prototype), \"generateApolloOptions\", this).call(this, variables);\n\n if (this.vm.$isServer) {\n // Don't poll on the server, that would run indefinitely\n delete apolloOptions.pollInterval;\n }\n\n return apolloOptions;\n }\n }, {\n key: \"executeApollo\",\n value: function executeApollo(variables) {\n var variablesJson = JSON.stringify(variables);\n\n if (this.sub) {\n if (variablesJson === this.previousVariablesJson) {\n return;\n }\n\n this.sub.unsubscribe(); // Subscribe to more subs\n\n for (var _i2 = 0, _this$_linkedSubscrip2 = this._linkedSubscriptions; _i2 < _this$_linkedSubscrip2.length; _i2++) {\n var sub = _this$_linkedSubscrip2[_i2];\n sub.stop();\n }\n }\n\n this.previousVariablesJson = variablesJson; // Create observer\n\n this.observer = this.vm.$apollo.watchQuery(this.generateApolloOptions(variables));\n this.startQuerySubscription();\n\n if (this.options.fetchPolicy !== 'no-cache' || this.options.notifyOnNetworkStatusChange) {\n var currentResult = this.retrieveCurrentResult();\n\n if (this.options.notifyOnNetworkStatusChange || // Initial call of next result when it's not loading (for Apollo Client 3)\n this.observer.getCurrentResult && !currentResult.loading) {\n this.nextResult(currentResult);\n }\n }\n\n _get(_getPrototypeOf(SmartQuery.prototype), \"executeApollo\", this).call(this, variables); // Subscribe to more subs\n\n\n for (var _i4 = 0, _this$_linkedSubscrip4 = this._linkedSubscriptions; _i4 < _this$_linkedSubscrip4.length; _i4++) {\n var _sub = _this$_linkedSubscrip4[_i4];\n\n _sub.start();\n }\n }\n }, {\n key: \"startQuerySubscription\",\n value: function startQuerySubscription() {\n if (this.sub && !this.sub.closed) return; // Create subscription\n\n this.sub = this.observer.subscribe({\n next: this.nextResult.bind(this),\n error: this.catchError.bind(this)\n });\n }\n /**\n * May update loading state\n */\n\n }, {\n key: \"retrieveCurrentResult\",\n value: function retrieveCurrentResult() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var currentResult = this.observer.getCurrentResult ? this.observer.getCurrentResult() : this.observer.currentResult();\n\n if (force || currentResult.loading) {\n if (!this.loading) {\n this.applyLoadingModifier(1);\n }\n\n this.loading = true;\n }\n\n return currentResult;\n }\n }, {\n key: \"nextResult\",\n value: function nextResult(result) {\n _get(_getPrototypeOf(SmartQuery.prototype), \"nextResult\", this).call(this, result);\n\n var data = result.data,\n loading = result.loading,\n error = result.error,\n errors = result.errors;\n var anyErrors = errors && errors.length;\n\n if (error || anyErrors) {\n this.firstRunReject(error);\n }\n\n if (!loading) {\n this.loadingDone();\n } // If `errorPolicy` is set to `all`, an error won't be thrown\n // Instead result will have an `errors` array of GraphQL Errors\n // so we need to reconstruct an error object similar to the normal one\n\n\n if (anyErrors) {\n var e = new Error(\"GraphQL error: \".concat(errors.map(function (e) {\n return e.message;\n }).join(' | ')));\n Object.assign(e, {\n graphQLErrors: errors,\n networkError: null\n }); // We skip query catchError logic\n // as we only want to dispatch the error\n\n _get(_getPrototypeOf(SmartQuery.prototype), \"catchError\", this).call(this, e);\n }\n\n if (this.observer.options.errorPolicy === 'none' && (error || anyErrors)) {\n // Don't apply result\n return;\n }\n\n var hasResultCallback = typeof this.options.result === 'function';\n\n if (data == null) ; else if (!this.options.manual) {\n if (typeof this.options.update === 'function') {\n this.setData(this.options.update.call(this.vm, data));\n } else if (typeof data[this.key] === 'undefined' && Object.keys(data).length) {\n console.error(\"Missing \".concat(this.key, \" attribute on result\"), data);\n } else {\n this.setData(data[this.key]);\n }\n } else if (!hasResultCallback) {\n console.error(\"\".concat(this.key, \" query must have a 'result' hook in manual mode\"));\n }\n\n if (hasResultCallback) {\n this.options.result.call(this.vm, result, this.key);\n }\n }\n }, {\n key: \"setData\",\n value: function setData(value) {\n this.vm.$set(this.hasDataField ? this.vm.$data : this.vm.$data.$apolloData.data, this.key, value);\n }\n }, {\n key: \"catchError\",\n value: function catchError(error) {\n _get(_getPrototypeOf(SmartQuery.prototype), \"catchError\", this).call(this, error);\n\n this.firstRunReject(error);\n this.loadingDone(error);\n this.nextResult(this.observer.getCurrentResult ? this.observer.getCurrentResult() : this.observer.currentResult()); // The observable closes the sub if an error occurs\n\n this.resubscribeToQuery();\n }\n }, {\n key: \"resubscribeToQuery\",\n value: function resubscribeToQuery() {\n var lastError = this.observer.getLastError();\n var lastResult = this.observer.getLastResult();\n this.observer.resetLastResults();\n this.startQuerySubscription();\n Object.assign(this.observer, {\n lastError: lastError,\n lastResult: lastResult\n });\n }\n }, {\n key: \"loadingKey\",\n get: function get() {\n return this.options.loadingKey || this.vm.$apollo.loadingKey;\n }\n }, {\n key: \"watchLoading\",\n value: function watchLoading() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.callHandlers.apply(this, [[this.options.watchLoading, this.vm.$apollo.watchLoading, this.vm.$apollo.provider.watchLoading]].concat(args, [this]));\n }\n }, {\n key: \"applyLoadingModifier\",\n value: function applyLoadingModifier(value) {\n var loadingKey = this.loadingKey;\n\n if (loadingKey && typeof this.vm[loadingKey] === 'number') {\n this.vm[loadingKey] += value;\n }\n\n this.watchLoading(value === 1, value);\n }\n }, {\n key: \"loadingDone\",\n value: function loadingDone() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (this.loading) {\n this.applyLoadingModifier(-1);\n }\n\n this.loading = false;\n\n if (!error) {\n this.firstRunResolve();\n }\n }\n }, {\n key: \"fetchMore\",\n value: function fetchMore() {\n var _this2 = this;\n\n if (this.observer) {\n var _this$observer;\n\n this.retrieveCurrentResult(true);\n return (_this$observer = this.observer).fetchMore.apply(_this$observer, arguments).then(function (result) {\n if (!result.loading) {\n _this2.loadingDone();\n }\n\n return result;\n });\n }\n }\n }, {\n key: \"subscribeToMore\",\n value: function subscribeToMore() {\n if (this.observer) {\n var _this$observer2;\n\n return {\n unsubscribe: (_this$observer2 = this.observer).subscribeToMore.apply(_this$observer2, arguments)\n };\n }\n }\n }, {\n key: \"refetch\",\n value: function refetch(variables) {\n var _this3 = this;\n\n variables && (this.options.variables = variables);\n\n if (this.observer) {\n var result = this.observer.refetch(variables).then(function (result) {\n if (!result.loading) {\n _this3.loadingDone();\n }\n\n return result;\n });\n this.retrieveCurrentResult();\n return result;\n }\n }\n }, {\n key: \"setVariables\",\n value: function setVariables(variables, tryFetch) {\n this.options.variables = variables;\n\n if (this.observer) {\n var result = this.observer.setVariables(variables, tryFetch);\n this.retrieveCurrentResult();\n return result;\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n Object.assign(this.options, options);\n\n if (this.observer) {\n var result = this.observer.setOptions(options);\n this.retrieveCurrentResult();\n return result;\n }\n }\n }, {\n key: \"startPolling\",\n value: function startPolling() {\n if (this.observer) {\n var _this$observer3;\n\n return (_this$observer3 = this.observer).startPolling.apply(_this$observer3, arguments);\n }\n }\n }, {\n key: \"stopPolling\",\n value: function stopPolling() {\n if (this.observer) {\n var _this$observer4;\n\n return (_this$observer4 = this.observer).stopPolling.apply(_this$observer4, arguments);\n }\n }\n }, {\n key: \"firstRunResolve\",\n value: function firstRunResolve() {\n if (this._firstRunResolve) {\n this._firstRunResolve();\n\n this._firstRunResolve = null;\n }\n }\n }, {\n key: \"firstRunReject\",\n value: function firstRunReject(error) {\n if (this._firstRunReject) {\n this._firstRunReject(error);\n\n this._firstRunReject = null;\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(SmartQuery.prototype), \"destroy\", this).call(this);\n\n if (this.loading) {\n this.watchLoading(false, -1);\n }\n\n this.loading = false;\n }\n }]);\n\n return SmartQuery;\n}(SmartApollo);\n\nvar SmartSubscription = /*#__PURE__*/function (_SmartApollo) {\n _inherits(SmartSubscription, _SmartApollo);\n\n var _super = _createSuper(SmartSubscription);\n\n function SmartSubscription(vm, key, options) {\n var _this;\n\n var autostart = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n\n _classCallCheck(this, SmartSubscription);\n\n _this = _super.call(this, vm, key, options);\n\n _defineProperty(_assertThisInitialized(_this), \"type\", 'subscription');\n\n _defineProperty(_assertThisInitialized(_this), \"vueApolloSpecialKeys\", ['variables', 'result', 'error', 'throttle', 'debounce', 'linkedQuery']);\n\n if (autostart) {\n _this.autostart();\n }\n\n return _this;\n }\n\n _createClass(SmartSubscription, [{\n key: \"generateApolloOptions\",\n value: function generateApolloOptions(variables) {\n var apolloOptions = _get(_getPrototypeOf(SmartSubscription.prototype), \"generateApolloOptions\", this).call(this, variables);\n\n apolloOptions.onError = this.catchError.bind(this);\n return apolloOptions;\n }\n }, {\n key: \"executeApollo\",\n value: function executeApollo(variables) {\n var variablesJson = JSON.stringify(variables);\n\n if (this.sub) {\n // do nothing if subscription is already running using exactly the same variables\n if (variablesJson === this.previousVariablesJson) {\n return;\n }\n\n this.sub.unsubscribe();\n }\n\n this.previousVariablesJson = variablesJson;\n var apolloOptions = this.generateApolloOptions(variables);\n\n if (typeof apolloOptions.updateQuery === 'function') {\n apolloOptions.updateQuery = apolloOptions.updateQuery.bind(this.vm);\n }\n\n if (this.options.linkedQuery) {\n if (typeof this.options.result === 'function') {\n var rcb = this.options.result.bind(this.vm);\n var ucb = apolloOptions.updateQuery && apolloOptions.updateQuery.bind(this.vm);\n\n apolloOptions.updateQuery = function () {\n rcb.apply(void 0, arguments);\n return ucb && ucb.apply(void 0, arguments);\n };\n }\n\n this.sub = this.options.linkedQuery.subscribeToMore(apolloOptions);\n } else {\n // Create observer\n this.observer = this.vm.$apollo.subscribe(apolloOptions); // Create subscription\n\n this.sub = this.observer.subscribe({\n next: this.nextResult.bind(this),\n error: this.catchError.bind(this)\n });\n }\n\n _get(_getPrototypeOf(SmartSubscription.prototype), \"executeApollo\", this).call(this, variables);\n }\n }, {\n key: \"nextResult\",\n value: function nextResult(data) {\n _get(_getPrototypeOf(SmartSubscription.prototype), \"nextResult\", this).call(this, data);\n\n if (typeof this.options.result === 'function') {\n this.options.result.call(this.vm, data, this.key);\n }\n }\n }, {\n key: \"catchError\",\n value: function catchError(error) {\n _get(_getPrototypeOf(SmartSubscription.prototype), \"catchError\", this).call(this, error); // Restart the subscription\n\n\n if (!this.skip) {\n this.stop();\n this.start();\n }\n }\n }]);\n\n return SmartSubscription;\n}(SmartApollo);\n\nvar DollarApollo = /*#__PURE__*/function () {\n function DollarApollo(vm) {\n _classCallCheck(this, DollarApollo);\n\n this._apolloSubscriptions = [];\n this._watchers = [];\n this.vm = vm;\n this.queries = {};\n this.subscriptions = {};\n this.client = undefined;\n this.loadingKey = undefined;\n this.error = undefined;\n }\n\n _createClass(DollarApollo, [{\n key: \"provider\",\n get: function get() {\n return this.vm.$apolloProvider;\n }\n }, {\n key: \"getClient\",\n value: function getClient() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (!options || !options.client) {\n if (_typeof(this.client) === 'object') {\n return this.client;\n }\n\n if (this.client) {\n if (!this.provider.clients) {\n throw new Error('[vue-apollo] Missing \\'clients\\' options in \\'apolloProvider\\'');\n } else {\n var _client = this.provider.clients[this.client];\n\n if (!_client) {\n throw new Error(\"[vue-apollo] Missing client '\".concat(this.client, \"' in 'apolloProvider'\"));\n }\n\n return _client;\n }\n }\n\n return this.provider.defaultClient;\n }\n\n var client = this.provider.clients[options.client];\n\n if (!client) {\n throw new Error(\"[vue-apollo] Missing client '\".concat(options.client, \"' in 'apolloProvider'\"));\n }\n\n return client;\n }\n }, {\n key: \"query\",\n value: function query(options) {\n return this.getClient(options).query(options);\n }\n }, {\n key: \"watchQuery\",\n value: function watchQuery(options) {\n var _this = this;\n\n var observable = this.getClient(options).watchQuery(options);\n\n var _subscribe = observable.subscribe.bind(observable);\n\n observable.subscribe = function (options) {\n var sub = _subscribe(options);\n\n _this._apolloSubscriptions.push(sub);\n\n return sub;\n };\n\n return observable;\n }\n }, {\n key: \"mutate\",\n value: function mutate(options) {\n return this.getClient(options).mutate(options);\n }\n }, {\n key: \"subscribe\",\n value: function subscribe(options) {\n var _this2 = this;\n\n if (!this.vm.$isServer) {\n var observable = this.getClient(options).subscribe(options);\n\n var _subscribe = observable.subscribe.bind(observable);\n\n observable.subscribe = function (options) {\n var sub = _subscribe(options);\n\n _this2._apolloSubscriptions.push(sub);\n\n return sub;\n };\n\n return observable;\n }\n }\n }, {\n key: \"loading\",\n get: function get() {\n return this.vm.$data.$apolloData.loading !== 0;\n }\n }, {\n key: \"data\",\n get: function get() {\n return this.vm.$data.$apolloData.data;\n }\n }, {\n key: \"addSmartQuery\",\n value: function addSmartQuery(key, options) {\n var _this3 = this;\n\n var finalOptions = utils_5(options, this.vm); // Simple query\n\n if (!finalOptions.query) {\n var query = finalOptions;\n finalOptions = {\n query: query\n };\n }\n\n var apollo = this.vm.$options.apollo;\n var defaultOptions = this.provider.defaultOptions;\n var $query;\n\n if (defaultOptions && defaultOptions.$query) {\n $query = defaultOptions.$query;\n }\n\n if (apollo && apollo.$query) {\n $query = _objectSpread2(_objectSpread2({}, $query || {}), apollo.$query);\n }\n\n if ($query) {\n // Also replaces 'undefined' values\n for (var _key in $query) {\n if (typeof finalOptions[_key] === 'undefined') {\n finalOptions[_key] = $query[_key];\n }\n }\n }\n\n var smart = this.queries[key] = new SmartQuery(this.vm, key, finalOptions, false);\n\n if (!this.vm.$isServer || finalOptions.prefetch !== false) {\n smart.autostart();\n }\n\n if (!this.vm.$isServer) {\n var subs = finalOptions.subscribeToMore;\n\n if (subs) {\n if (Array.isArray(subs)) {\n subs.forEach(function (sub, index) {\n _this3.addSmartSubscription(\"\".concat(key).concat(index), _objectSpread2(_objectSpread2({}, sub), {}, {\n linkedQuery: smart\n }));\n });\n } else {\n this.addSmartSubscription(key, _objectSpread2(_objectSpread2({}, subs), {}, {\n linkedQuery: smart\n }));\n }\n }\n }\n\n return smart;\n }\n }, {\n key: \"addSmartSubscription\",\n value: function addSmartSubscription(key, options) {\n if (!this.vm.$isServer) {\n options = utils_5(options, this.vm);\n var smart = this.subscriptions[key] = new SmartSubscription(this.vm, key, options, false);\n smart.autostart();\n\n if (options.linkedQuery) {\n options.linkedQuery._linkedSubscriptions.push(smart);\n }\n\n return smart;\n }\n }\n }, {\n key: \"defineReactiveSetter\",\n value: function defineReactiveSetter(key, func, deep) {\n var _this4 = this;\n\n this._watchers.push(this.vm.$watch(func, function (value) {\n _this4[key] = value;\n }, {\n immediate: true,\n deep: deep\n }));\n } // eslint-disable-next-line accessor-pairs\n\n }, {\n key: \"skipAllQueries\",\n set: function set(value) {\n this._skipAllQueries = value;\n\n for (var key in this.queries) {\n this.queries[key].skip = value;\n }\n } // eslint-disable-next-line accessor-pairs\n\n }, {\n key: \"skipAllSubscriptions\",\n set: function set(value) {\n this._skipAllSubscriptions = value;\n\n for (var key in this.subscriptions) {\n this.subscriptions[key].skip = value;\n }\n } // eslint-disable-next-line accessor-pairs\n\n }, {\n key: \"skipAll\",\n set: function set(value) {\n this.skipAllQueries = value;\n this.skipAllSubscriptions = value;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n for (var _i2 = 0, _this$_watchers2 = this._watchers; _i2 < _this$_watchers2.length; _i2++) {\n var unwatch = _this$_watchers2[_i2];\n unwatch();\n }\n\n for (var key in this.queries) {\n this.queries[key].destroy();\n }\n\n for (var _key2 in this.subscriptions) {\n this.subscriptions[_key2].destroy();\n }\n\n this._apolloSubscriptions.forEach(function (sub) {\n sub.unsubscribe();\n });\n }\n }]);\n\n return DollarApollo;\n}();\n\nvar ApolloProvider = /*#__PURE__*/function () {\n function ApolloProvider(options) {\n _classCallCheck(this, ApolloProvider);\n\n if (!options) {\n throw new Error('Options argument required');\n }\n\n this.clients = options.clients || {};\n\n if (options.defaultClient) {\n this.clients.defaultClient = this.defaultClient = options.defaultClient;\n }\n\n this.defaultOptions = options.defaultOptions;\n this.watchLoading = options.watchLoading;\n this.errorHandler = options.errorHandler;\n this.prefetch = options.prefetch;\n }\n\n _createClass(ApolloProvider, [{\n key: \"provide\",\n value: function provide() {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '$apolloProvider';\n console.warn('.provide() is deprecated. Use the \\'apolloProvider\\' option instead with the provider object directly.');\n return _defineProperty({}, key, this);\n }\n }]);\n\n return ApolloProvider;\n}();\n\nfunction isDataFilled(data) {\n return data && Object.keys(data).length > 0;\n}\n\nvar CApolloQuery = {\n name: 'ApolloQuery',\n provide: function provide() {\n return {\n getDollarApollo: this.getDollarApollo,\n getApolloQuery: this.getApolloQuery\n };\n },\n props: {\n query: {\n type: [Function, Object],\n required: true\n },\n variables: {\n type: Object,\n \"default\": undefined\n },\n fetchPolicy: {\n type: String,\n \"default\": undefined\n },\n pollInterval: {\n type: Number,\n \"default\": undefined\n },\n notifyOnNetworkStatusChange: {\n type: Boolean,\n \"default\": undefined\n },\n context: {\n type: Object,\n \"default\": undefined\n },\n update: {\n type: Function,\n \"default\": function _default(data) {\n return data;\n }\n },\n skip: {\n type: Boolean,\n \"default\": false\n },\n debounce: {\n type: Number,\n \"default\": 0\n },\n throttle: {\n type: Number,\n \"default\": 0\n },\n clientId: {\n type: String,\n \"default\": undefined\n },\n deep: {\n type: Boolean,\n \"default\": undefined\n },\n tag: {\n type: String,\n \"default\": 'div'\n },\n prefetch: {\n type: Boolean,\n \"default\": true\n },\n options: {\n type: Object,\n \"default\": function _default() {\n return {};\n }\n }\n },\n data: function data() {\n return {\n result: {\n data: null,\n loading: false,\n networkStatus: 7,\n error: null\n },\n times: 0\n };\n },\n watch: {\n fetchPolicy: function fetchPolicy(value) {\n this.$apollo.queries.query.setOptions({\n fetchPolicy: value\n });\n },\n pollInterval: function pollInterval(value) {\n this.$apollo.queries.query.setOptions({\n pollInterval: value\n });\n },\n notifyOnNetworkStatusChange: function notifyOnNetworkStatusChange(value) {\n this.$apollo.queries.query.setOptions({\n notifyOnNetworkStatusChange: value\n });\n },\n '$data.$apolloData.loading': function $data$apolloDataLoading(value) {\n this.$emit('loading', !!value);\n }\n },\n apollo: {\n $client: function $client() {\n return this.clientId;\n },\n query: function query() {\n return _objectSpread2(_objectSpread2({\n query: function query() {\n if (typeof this.query === 'function') {\n return this.query(gql);\n }\n\n return this.query;\n },\n variables: function variables() {\n return this.variables;\n },\n fetchPolicy: this.fetchPolicy,\n pollInterval: this.pollInterval,\n debounce: this.debounce,\n throttle: this.throttle,\n notifyOnNetworkStatusChange: this.notifyOnNetworkStatusChange,\n context: function context() {\n return this.context;\n },\n skip: function skip() {\n return this.skip;\n },\n deep: this.deep,\n prefetch: this.prefetch\n }, this.options), {}, {\n manual: true,\n result: function result(_result) {\n var _result2 = _result,\n errors = _result2.errors,\n loading = _result2.loading,\n networkStatus = _result2.networkStatus;\n var _result3 = _result,\n error = _result3.error;\n _result = Object.assign({}, _result);\n\n if (errors && errors.length) {\n error = new Error(\"Apollo errors occurred (\".concat(errors.length, \")\"));\n error.graphQLErrors = errors;\n }\n\n var data = {};\n\n if (loading) {\n Object.assign(data, this.$_previousData, _result.data);\n } else if (error) {\n Object.assign(data, this.$apollo.queries.query.observer.getLastResult() || {}, _result.data);\n } else {\n data = _result.data;\n this.$_previousData = _result.data;\n }\n\n var dataNotEmpty = isDataFilled(data);\n this.result = {\n data: dataNotEmpty ? this.update(data) : undefined,\n fullData: dataNotEmpty ? data : undefined,\n loading: loading,\n error: error,\n networkStatus: networkStatus\n };\n this.times = ++this.$_times;\n this.$emit('result', this.result);\n },\n error: function error(_error) {\n this.result.loading = false;\n this.result.error = _error;\n this.$emit('error', _error);\n }\n });\n }\n },\n created: function created() {\n this.$_times = 0;\n },\n methods: {\n getDollarApollo: function getDollarApollo() {\n return this.$apollo;\n },\n getApolloQuery: function getApolloQuery() {\n return this.$apollo.queries.query;\n }\n },\n render: function render(h) {\n var result = this.$scopedSlots[\"default\"]({\n result: this.result,\n times: this.times,\n query: this.$apollo.queries.query,\n isLoading: this.$apolloData.loading,\n gqlError: this.result && this.result.error && this.result.error.gqlError\n });\n\n if (Array.isArray(result)) {\n result = result.concat(this.$slots[\"default\"]);\n } else {\n result = [result].concat(this.$slots[\"default\"]);\n }\n\n return this.tag ? h(this.tag, result) : result[0];\n }\n};\n\nvar uid = 0;\nvar CApolloSubscribeToMore = {\n name: 'ApolloSubscribeToMore',\n inject: ['getDollarApollo', 'getApolloQuery'],\n props: {\n document: {\n type: [Function, Object],\n required: true\n },\n variables: {\n type: Object,\n \"default\": undefined\n },\n updateQuery: {\n type: Function,\n \"default\": undefined\n }\n },\n watch: {\n document: 'refresh',\n variables: 'refresh'\n },\n created: function created() {\n this.$_key = \"sub_component_\".concat(uid++);\n },\n mounted: function mounted() {\n this.refresh();\n },\n beforeDestroy: function beforeDestroy() {\n this.destroy();\n },\n methods: {\n destroy: function destroy() {\n if (this.$_sub) {\n this.$_sub.destroy();\n }\n },\n refresh: function refresh() {\n this.destroy();\n var document = this.document;\n\n if (typeof document === 'function') {\n document = document(gql);\n }\n\n this.$_sub = this.getDollarApollo().addSmartSubscription(this.$_key, {\n document: document,\n variables: this.variables,\n updateQuery: this.updateQuery,\n linkedQuery: this.getApolloQuery()\n });\n }\n },\n render: function render(h) {\n return null;\n }\n};\n\nvar CApolloMutation = {\n props: {\n mutation: {\n type: [Function, Object],\n required: true\n },\n variables: {\n type: Object,\n \"default\": undefined\n },\n optimisticResponse: {\n type: Object,\n \"default\": undefined\n },\n update: {\n type: Function,\n \"default\": undefined\n },\n refetchQueries: {\n type: Function,\n \"default\": undefined\n },\n clientId: {\n type: String,\n \"default\": undefined\n },\n tag: {\n type: String,\n \"default\": 'div'\n },\n context: {\n type: Object,\n \"default\": undefined\n }\n },\n data: function data() {\n return {\n loading: false,\n error: null\n };\n },\n watch: {\n loading: function loading(value) {\n this.$emit('loading', value);\n }\n },\n methods: {\n mutate: function mutate(options) {\n var _this = this;\n\n this.loading = true;\n this.error = null;\n var mutation = this.mutation;\n\n if (typeof mutation === 'function') {\n mutation = mutation(gql);\n }\n\n return this.$apollo.mutate(_objectSpread2({\n mutation: mutation,\n client: this.clientId,\n variables: this.variables,\n optimisticResponse: this.optimisticResponse,\n update: this.update,\n refetchQueries: this.refetchQueries,\n context: this.context\n }, options)).then(function (result) {\n _this.$emit('done', result);\n\n _this.loading = false;\n })[\"catch\"](function (e) {\n utils_7(e);\n _this.error = e;\n\n _this.$emit('error', e);\n\n _this.loading = false;\n });\n }\n },\n render: function render(h) {\n var result = this.$scopedSlots[\"default\"]({\n mutate: this.mutate,\n loading: this.loading,\n error: this.error,\n gqlError: this.error && this.error.gqlError\n });\n\n if (Array.isArray(result)) {\n result = result.concat(this.$slots[\"default\"]);\n } else {\n result = [result].concat(this.$slots[\"default\"]);\n }\n\n return this.tag ? h(this.tag, result) : result[0];\n }\n};\n\nfunction hasProperty(holder, key) {\n return typeof holder !== 'undefined' && Object.prototype.hasOwnProperty.call(holder, key);\n}\n\nfunction initProvider() {\n var options = this.$options; // ApolloProvider injection\n\n var optionValue = options.apolloProvider;\n\n if (optionValue) {\n this.$apolloProvider = typeof optionValue === 'function' ? optionValue() : optionValue;\n } else if (options.parent && options.parent.$apolloProvider) {\n this.$apolloProvider = options.parent.$apolloProvider;\n } else if (options.provide) {\n // TODO remove\n // Temporary retro-compatibility\n var provided = typeof options.provide === 'function' ? options.provide.call(this) : options.provide;\n\n if (provided && provided.$apolloProvider) {\n this.$apolloProvider = provided.$apolloProvider;\n }\n }\n}\n\nfunction proxyData() {\n var _this = this;\n\n this.$_apolloInitData = {};\n var apollo = this.$options.apollo;\n\n if (apollo) {\n var _loop = function _loop(key) {\n if (key.charAt(0) !== '$') {\n var options = apollo[key]; // Property proxy\n\n if (!options.manual && !hasProperty(_this.$options.props, key) && !hasProperty(_this.$options.computed, key) && !hasProperty(_this.$options.methods, key)) {\n Object.defineProperty(_this, key, {\n get: function get() {\n return _this.$data.$apolloData.data[key];\n },\n // For component class constructor\n set: function set(value) {\n return _this.$_apolloInitData[key] = value;\n },\n enumerable: true,\n configurable: true\n });\n }\n }\n };\n\n // watchQuery\n for (var key in apollo) {\n _loop(key);\n }\n }\n}\n\nfunction launch() {\n var _this2 = this;\n\n var apolloProvider = this.$apolloProvider;\n if (this._apolloLaunched || !apolloProvider) return;\n this._apolloLaunched = true; // Prepare properties\n\n var apollo = this.$options.apollo;\n\n if (apollo) {\n this.$_apolloPromises = [];\n\n if (!apollo.$init) {\n apollo.$init = true; // Default options applied to `apollo` options\n\n if (apolloProvider.defaultOptions) {\n apollo = this.$options.apollo = Object.assign({}, apolloProvider.defaultOptions, apollo);\n }\n }\n\n defineReactiveSetter(this.$apollo, 'skipAll', apollo.$skipAll, apollo.$deep);\n defineReactiveSetter(this.$apollo, 'skipAllQueries', apollo.$skipAllQueries, apollo.$deep);\n defineReactiveSetter(this.$apollo, 'skipAllSubscriptions', apollo.$skipAllSubscriptions, apollo.$deep);\n defineReactiveSetter(this.$apollo, 'client', apollo.$client, apollo.$deep);\n defineReactiveSetter(this.$apollo, 'loadingKey', apollo.$loadingKey, apollo.$deep);\n defineReactiveSetter(this.$apollo, 'error', apollo.$error, apollo.$deep);\n defineReactiveSetter(this.$apollo, 'watchLoading', apollo.$watchLoading, apollo.$deep); // Apollo Data\n\n Object.defineProperty(this, '$apolloData', {\n get: function get() {\n return _this2.$data.$apolloData;\n },\n enumerable: true,\n configurable: true\n }); // watchQuery\n\n for (var key in apollo) {\n if (key.charAt(0) !== '$') {\n var options = apollo[key];\n var smart = this.$apollo.addSmartQuery(key, options);\n\n if (this.$isServer) {\n options = utils_5(options, this);\n\n if (apolloProvider.prefetch !== false && options.prefetch !== false && apollo.$prefetch !== false && !smart.skip) {\n this.$_apolloPromises.push(smart.firstRun);\n }\n }\n }\n }\n\n if (apollo.subscribe) {\n utils_1.Vue.util.warn('vue-apollo -> `subscribe` option is deprecated. Use the `$subscribe` option instead.');\n }\n\n if (apollo.$subscribe) {\n for (var _key in apollo.$subscribe) {\n this.$apollo.addSmartSubscription(_key, apollo.$subscribe[_key]);\n }\n }\n }\n}\n\nfunction defineReactiveSetter($apollo, key, value, deep) {\n if (typeof value !== 'undefined') {\n if (typeof value === 'function') {\n $apollo.defineReactiveSetter(key, value, deep);\n } else {\n $apollo[key] = value;\n }\n }\n}\n\nfunction destroy() {\n if (this.$_apollo) {\n this.$_apollo.destroy();\n }\n}\n\nfunction installMixin(Vue, vueVersion) {\n Vue.mixin(_objectSpread2(_objectSpread2(_objectSpread2({}, vueVersion === '1' ? {\n init: initProvider\n } : {}), vueVersion === '2' ? {\n data: function data() {\n return {\n $apolloData: {\n queries: {},\n loading: 0,\n data: this.$_apolloInitData\n }\n };\n },\n beforeCreate: function beforeCreate() {\n initProvider.call(this);\n proxyData.call(this);\n },\n serverPrefetch: function serverPrefetch() {\n var _this3 = this;\n\n if (this.$_apolloPromises) {\n return Promise.all(this.$_apolloPromises).then(function () {\n destroy.call(_this3);\n })[\"catch\"](function (e) {\n destroy.call(_this3);\n return Promise.reject(e);\n });\n }\n }\n } : {}), {}, {\n created: launch,\n destroyed: destroy\n }));\n}\n\nvar keywords = ['$subscribe'];\nfunction install(Vue, options) {\n if (install.installed) return;\n install.installed = true;\n utils_1.Vue = Vue;\n var vueVersion = Vue.version.substr(0, Vue.version.indexOf('.')); // Options merging\n\n var merge = Vue.config.optionMergeStrategies.methods;\n\n Vue.config.optionMergeStrategies.apollo = function (toVal, fromVal, vm) {\n if (!toVal) return fromVal;\n if (!fromVal) return toVal;\n var toData = Object.assign({}, utils_6(toVal, keywords), toVal.data);\n var fromData = Object.assign({}, utils_6(fromVal, keywords), fromVal.data);\n var map = {};\n\n for (var i = 0; i < keywords.length; i++) {\n var key = keywords[i];\n map[key] = merge(toVal[key], fromVal[key]);\n }\n\n return Object.assign(map, merge(toData, fromData));\n }; // Lazy creation\n\n\n if (!Object.prototype.hasOwnProperty.call(Vue, '$apollo')) {\n Object.defineProperty(Vue.prototype, '$apollo', {\n get: function get() {\n if (!this.$_apollo) {\n this.$_apollo = new DollarApollo(this);\n }\n\n return this.$_apollo;\n }\n });\n }\n\n installMixin(Vue, vueVersion);\n\n if (vueVersion === '2') {\n Vue.component('ApolloQuery', CApolloQuery);\n Vue.component('ApolloQuery', CApolloQuery);\n Vue.component('ApolloSubscribeToMore', CApolloSubscribeToMore);\n Vue.component('ApolloSubscribeToMore', CApolloSubscribeToMore);\n Vue.component('ApolloMutation', CApolloMutation);\n Vue.component('ApolloMutation', CApolloMutation);\n }\n}\nApolloProvider.install = install; // eslint-disable-next-line no-undef\n\nApolloProvider.version = \"3.1.0\"; // Apollo provider\n\nvar ApolloProvider$1 = ApolloProvider; // Components\n\nvar ApolloQuery = CApolloQuery;\nvar ApolloSubscribeToMore = CApolloSubscribeToMore;\nvar ApolloMutation = CApolloMutation; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(ApolloProvider);\n}\n\nexport default ApolloProvider;\nexport { ApolloMutation, ApolloProvider$1 as ApolloProvider, ApolloQuery, ApolloSubscribeToMore, install };\n","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj\n ? Object.keys(obj)\n .map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n\n // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an element. Use the custom prop to remove this warning:\\n\\n');\n warnedCustomSlot = true;\n }\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\" with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap,\n parentRoute\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n\n warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoute: addRoute,\n getRoutes: getRoutes,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\n }\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && typeof window.history.pushState === 'function'\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1$1.ensureURL();\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1$1.ready) {\n this$1$1.ready = true;\n this$1$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1$1.ready) {\n // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1$1.ready = true;\n this$1$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1$1 = this;\n\n var current = this.current;\n this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1$1.errorCbs.length) {\n this$1$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n var iterator = function (hook, next) {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n if (typeof to === 'object' && to.replace) {\n this$1$1.replace(to);\n } else {\n this$1$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1$1.pending = null;\n onComplete(route);\n if (this$1$1.router.app) {\n this$1$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1$1.base);\n if (this$1$1.current === START && location === this$1$1._startLocation) {\n return\n }\n\n this$1$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);\n this$1$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n var prev = this$1$1.current;\n this$1$1.index = targetIndex;\n this$1$1.updateRoute(route);\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n }\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback =\n mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1$1 = this;\n\n process.env.NODE_ENV !== 'production' &&\n assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1$1.apps.indexOf(app);\n if (index > -1) { this$1$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }\n\n if (!this$1$1.app) { this$1$1.history.teardown(); }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\n );\n }\n\n history.listen(function (route) {\n this$1$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nvar VueRouter$1 = VueRouter;\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\n// We cannot remove this as it would be a breaking change\nVueRouter.install = install;\nVueRouter.version = '3.6.5';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nvar version = '3.6.5';\n\nexport { NavigationFailureType, Link as RouterLink, View as RouterView, START as START_LOCATION, VueRouter$1 as default, isNavigationFailure, version };\n"],"names":["normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","exports","_typeof","obj","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","_defineProperty","value","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","arguments","source","forEach","getOwnPropertyDescriptors","defineProperties","_inherits","subClass","superClass","create","_setPrototypeOf","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","toString","e","_assertThisInitialized","self","ReferenceError","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","result","Super","NewTarget","_superPropBase","property","hasOwnProperty","_get","receiver","get","base","desc","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","Array","isArray","_arrayLikeToArray","iter","from","_arr","_n","_d","_e","undefined","_s","_i","next","done","err","minLen","n","slice","name","test","len","arr2","globalThis","window","g","unwrapExports","x","__esModule","createCommonjsModule","fn","module","index_umd","global","factory","commonjsGlobal","throttle","delay","noTrailing","callback","debounceMode","timeoutID","cancelled","lastExec","clearExistingTimeout","clearTimeout","cancel","wrapper","_len","arguments_","_key","elapsed","now","exec","clear","setTimeout","debounce","atBegin","utils","Globals","action","cb","time","getMergedDefinition","def","Vue","util","mergeOptions","reapply","omit","properties","entries","_ref","_ref2","includes","reduce","c","_ref3","_ref4","val","addGqlError","error","graphQLErrors","gqlError","noop","utils_1","utils_2","utils_3","utils_5","utils_6","utils_7","skippAllKeys","query","subscription","SmartApollo","vm","initialOptions","assign","_skip","_pollInterval","_watchers","_destroyed","lastApolloOptions","_this","skip","_skipWatcher","$watch","skipChanged","bind","immediate","deep","allSkip","start","pollInterval","_pollWatcher","pollIntervalChanged","oldValue","stopPolling","startPolling","set","stop","$apollo","type","_this2","starting","_loop","_i2","prop","queryCb","refresh","$isServer","variables","executeApollo","_i4","_this$_watchers2","unwatch","sub","unsubscribe","apolloOptions","vueApolloSpecialKeys","handlers","catched","args","_i6","handler","_len2","_key2","callHandlers","provider","errorHandler","console","_i8","_error$graphQLErrors2","networkError","_console","VUE_APOLLO_QUERY_KEYWORDS","SmartQuery","_SmartApollo","_super","autostart","$data","$apolloData","queries","$set","loading","firstRun","Promise","resolve","reject","_firstRunResolve","_firstRunReject","fetchPolicy","manual","hasDataField","data","getClient","_loading","loadingDone","observer","variablesJson","JSON","stringify","previousVariablesJson","_this$_linkedSubscrip2","_linkedSubscriptions","watchQuery","generateApolloOptions","startQuerySubscription","notifyOnNetworkStatusChange","currentResult","retrieveCurrentResult","getCurrentResult","nextResult","_this$_linkedSubscrip4","_sub","closed","subscribe","catchError","force","applyLoadingModifier","errors","anyErrors","firstRunReject","Error","map","message","join","errorPolicy","hasResultCallback","update","setData","resubscribeToQuery","lastError","getLastError","lastResult","getLastResult","resetLastResults","loadingKey","watchLoading","firstRunResolve","_this$observer","fetchMore","then","_this$observer2","subscribeToMore","_this3","refetch","tryFetch","setVariables","setOptions","_this$observer3","_this$observer4","SmartSubscription","onError","updateQuery","linkedQuery","rcb","ucb","DollarApollo","_apolloSubscriptions","subscriptions","client","$apolloProvider","clients","_client","defaultClient","observable","_subscribe","mutate","finalOptions","$query","apollo","defaultOptions","smart","prefetch","subs","index","addSmartSubscription","func","_this4","_skipAllQueries","_skipAllSubscriptions","skipAllQueries","skipAllSubscriptions","destroy","ApolloProvider","warn","isDataFilled","CApolloQuery","provide","getDollarApollo","getApolloQuery","Function","required","String","Number","Boolean","clientId","tag","networkStatus","times","watch","$emit","$client","_result","_result2","_result3","$_previousData","dataNotEmpty","fullData","$_times","_error","created","methods","$scopedSlots","isLoading","$slots","uid","CApolloSubscribeToMore","inject","document","$_key","mounted","beforeDestroy","$_sub","CApolloMutation","mutation","optimisticResponse","refetchQueries","hasProperty","holder","initProvider","optionValue","apolloProvider","provided","proxyData","$_apolloInitData","charAt","computed","launch","_apolloLaunched","$_apolloPromises","$init","defineReactiveSetter","$skipAll","$deep","$skipAllQueries","$skipAllSubscriptions","$loadingKey","$error","$watchLoading","addSmartQuery","$prefetch","$subscribe","$_apollo","installMixin","vueVersion","mixin","init","serverPrefetch","all","destroyed","keywords","install","installed","version","substr","indexOf","merge","config","optionMergeStrategies","toVal","fromVal","toData","fromData","component","GlobalVue","use","extend","a","b","encodeReserveRE","encodeReserveReplacer","charCodeAt","commaRE","encode","str","encodeURIComponent","replace","decode","decodeURIComponent","resolveQuery","extraQuery","_parseQuery","parsedQuery","parse","parseQuery","castQueryParamValue","res","trim","split","param","parts","shift","stringifyQuery","val2","trailingSlashRE","createRoute","record","location","redirectedFrom","router","clone","route","meta","path","hash","params","fullPath","getFullPath","matched","formatMatch","freeze","START","unshift","ref","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","sort","bKeys","every","aVal","bKey","bVal","isIncludedRoute","current","queryIncludes","handleRouteEntered","instances","cbs","enteredCbs","i$1","_isBeingDestroyed","View","default","_","children","routerView","$createElement","$route","cache","_routerViewCache","depth","inactive","_routerRoot","vnodeData","keepAlive","_directInactive","_inactive","$parent","routerViewDepth","cachedData","cachedComponent","configProps","fillPropsinData","components","registerRouteInstance","prepatch","vnode","componentInstance","propsToPass","resolveProps","attrs","resolvePath","relative","append","firstChar","stack","pop","segments","segment","parsePath","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","compile","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","RegExp","tokens","defaultDelimiter","delimiter","m","escaped","offset","prefix","capture","group","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","toUpperCase","encodeAsterisk","matches","flags","opts","pretty","token","j","attachKeys","re","sensitive","regexpToRegexp","groups","match","arrayToRegexp","regexp","stringToRegexp","strict","end","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","raw","_normalized","params$1","rawPath","parsedPath","basePath","_Vue","toTypes","eventTypes","Link","to","custom","exact","exactPath","activeClass","exactActiveClass","ariaCurrentValue","event","this$1$1","$router","href","classes","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","guardEvent","on","click","class","scopedSlot","$hasNormal","navigate","isActive","isExactActive","findAnchor","isStatic","aData","handler$1","event$1","aAttrs","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","currentTarget","getAttribute","preventDefault","child","isDef","v","registerInstance","callVal","_parentVnode","_router","defineReactive","history","_route","strats","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","inBrowser","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","l","splice","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","alias","redirect","beforeEnter","childMatchAs","aliases","aliasRoute","createMatcher","addRoutes","addRoute","parentOrRoute","getRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","Time","performance","genStateKey","toFixed","getStateKey","setStateKey","positionStore","setupScroll","scrollRestoration","protocolAndPath","protocol","host","absolutePath","stateCopy","state","replaceState","addEventListener","handlePopState","removeEventListener","handleScroll","isPop","app","behavior","scrollBehavior","$nextTick","position","getScrollPosition","shouldScroll","scrollToPosition","catch","saveScrollPosition","pageXOffset","y","pageYOffset","getElementPosition","el","docEl","documentElement","docRect","getBoundingClientRect","elRect","left","top","isValidPosition","isNumber","normalizePosition","normalizeOffset","hashStartsWithNumberRE","isObject","selector","getElementById","querySelector","style","scrollTo","supportsPushState","ua","navigator","userAgent","pushState","url","NavigationFailureType","redirected","aborted","duplicated","createNavigationRedirectedError","createRouterError","stringifyRoute","createNavigationDuplicatedError","createNavigationCancelledError","createNavigationAbortedError","_isRouter","propertiesToLog","isError","isNavigationFailure","errorType","runQueue","queue","step","resolveAsyncComponents","hasAsync","pending","flatMapComponents","cid","once","resolvedDef","isESModule","resolved","reason","msg","comp","flatten","hasSymbol","toStringTag","called","History","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","listeners","baseEl","resolveQueue","max","Math","updated","activated","deactivated","extractGuards","records","reverse","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","bindEnterGuard","listen","onReady","errorCb","transitionTo","onComplete","onAbort","prev","confirmTransition","updateRoute","ensureURL","afterHooks","abort","lastRouteIndex","lastCurrentIndex","beforeHooks","enterGuards","resolveHooks","setupListeners","teardown","cleanupListener","HTML5History","_startLocation","getLocation","expectScroll","supportsScroll","handleRoutingEvent","go","fromRoute","getCurrentLocation","pathname","pathLowerCase","toLowerCase","baseLowerCase","search","HashHistory","fallback","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","mode","prototypeAccessors","$once","handleInitialScroll","routeOrError","beforeEach","registerHook","beforeResolve","afterEach","back","forward","getMatchedComponents","createHref","normalizedTo","VueRouter$1","list","START_LOCATION"],"sourceRoot":""}