/* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is not neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./node_modules/axios/index.js": /*!*************************************!*\ !*** ./node_modules/axios/index.js ***! \*************************************/ /*! dynamic exports */ /*! exports [maybe provided (runtime-defined)] [no usage info] -> ./node_modules/axios/lib/axios.js */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { eval("module.exports = __webpack_require__(/*! ./lib/axios */ \"./node_modules/axios/lib/axios.js\");\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/index.js?"); /***/ }), /***/ "./node_modules/axios/lib/adapters/xhr.js": /*!************************************************!*\ !*** ./node_modules/axios/lib/adapters/xhr.js ***! \************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nvar settle = __webpack_require__(/*! ./../core/settle */ \"./node_modules/axios/lib/core/settle.js\");\n\nvar cookies = __webpack_require__(/*! ./../helpers/cookies */ \"./node_modules/axios/lib/helpers/cookies.js\");\n\nvar buildURL = __webpack_require__(/*! ./../helpers/buildURL */ \"./node_modules/axios/lib/helpers/buildURL.js\");\n\nvar buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ \"./node_modules/axios/lib/core/buildFullPath.js\");\n\nvar parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ \"./node_modules/axios/lib/helpers/parseHeaders.js\");\n\nvar isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ \"./node_modules/axios/lib/helpers/isURLSameOrigin.js\");\n\nvar createError = __webpack_require__(/*! ../core/createError */ \"./node_modules/axios/lib/core/createError.js\");\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout; // Listen for ready state\n\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n } // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response); // Clean up request\n\n request = null;\n }; // Handle browser request cancellation (as opposed to a manual cancellation)\n\n\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n } // Add responseType to request if needed\n\n\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel); // Clean up request\n\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/adapters/xhr.js?"); /***/ }), /***/ "./node_modules/axios/lib/axios.js": /*!*****************************************!*\ !*** ./node_modules/axios/lib/axios.js ***! \*****************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/axios/lib/utils.js\");\n\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"./node_modules/axios/lib/helpers/bind.js\");\n\nvar Axios = __webpack_require__(/*! ./core/Axios */ \"./node_modules/axios/lib/core/Axios.js\");\n\nvar mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ \"./node_modules/axios/lib/core/mergeConfig.js\");\n\nvar defaults = __webpack_require__(/*! ./defaults */ \"./node_modules/axios/lib/defaults.js\");\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\n\n\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance\n\n utils.extend(instance, Axios.prototype, context); // Copy context to instance\n\n utils.extend(instance, context);\n return instance;\n} // Create the default instance to be exported\n\n\nvar axios = createInstance(defaults); // Expose Axios class to allow class inheritance\n\naxios.Axios = Axios; // Factory for creating new instances\n\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n}; // Expose Cancel & CancelToken\n\n\naxios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ \"./node_modules/axios/lib/cancel/Cancel.js\");\naxios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ \"./node_modules/axios/lib/cancel/CancelToken.js\");\naxios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ \"./node_modules/axios/lib/cancel/isCancel.js\"); // Expose all/spread\n\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = __webpack_require__(/*! ./helpers/spread */ \"./node_modules/axios/lib/helpers/spread.js\");\nmodule.exports = axios; // Allow use of default import syntax in TypeScript\n\nmodule.exports.default = axios;\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/axios.js?"); /***/ }), /***/ "./node_modules/axios/lib/cancel/Cancel.js": /*!*************************************************!*\ !*** ./node_modules/axios/lib/cancel/Cancel.js ***! \*************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module */ /***/ ((module) => { "use strict"; eval("\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/cancel/Cancel.js?"); /***/ }), /***/ "./node_modules/axios/lib/cancel/CancelToken.js": /*!******************************************************!*\ !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! \******************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar Cancel = __webpack_require__(/*! ./Cancel */ \"./node_modules/axios/lib/cancel/Cancel.js\");\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/cancel/CancelToken.js?"); /***/ }), /***/ "./node_modules/axios/lib/cancel/isCancel.js": /*!***************************************************!*\ !*** ./node_modules/axios/lib/cancel/isCancel.js ***! \***************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module */ /***/ ((module) => { "use strict"; eval("\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/cancel/isCancel.js?"); /***/ }), /***/ "./node_modules/axios/lib/core/Axios.js": /*!**********************************************!*\ !*** ./node_modules/axios/lib/core/Axios.js ***! \**********************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nvar buildURL = __webpack_require__(/*! ../helpers/buildURL */ \"./node_modules/axios/lib/helpers/buildURL.js\");\n\nvar InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ \"./node_modules/axios/lib/core/InterceptorManager.js\");\n\nvar dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ \"./node_modules/axios/lib/core/dispatchRequest.js\");\n\nvar mergeConfig = __webpack_require__(/*! ./mergeConfig */ \"./node_modules/axios/lib/core/mergeConfig.js\");\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config); // Set config.method\n\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n } // Hook up interceptors middleware\n\n\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/core/Axios.js?"); /***/ }), /***/ "./node_modules/axios/lib/core/InterceptorManager.js": /*!***********************************************************!*\ !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! \***********************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/core/InterceptorManager.js?"); /***/ }), /***/ "./node_modules/axios/lib/core/buildFullPath.js": /*!******************************************************!*\ !*** ./node_modules/axios/lib/core/buildFullPath.js ***! \******************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ \"./node_modules/axios/lib/helpers/isAbsoluteURL.js\");\n\nvar combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ \"./node_modules/axios/lib/helpers/combineURLs.js\");\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\n\n\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n\n return requestedURL;\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/core/buildFullPath.js?"); /***/ }), /***/ "./node_modules/axios/lib/core/createError.js": /*!****************************************************!*\ !*** ./node_modules/axios/lib/core/createError.js ***! \****************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar enhanceError = __webpack_require__(/*! ./enhanceError */ \"./node_modules/axios/lib/core/enhanceError.js\");\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/core/createError.js?"); /***/ }), /***/ "./node_modules/axios/lib/core/dispatchRequest.js": /*!********************************************************!*\ !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! \********************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nvar transformData = __webpack_require__(/*! ./transformData */ \"./node_modules/axios/lib/core/transformData.js\");\n\nvar isCancel = __webpack_require__(/*! ../cancel/isCancel */ \"./node_modules/axios/lib/cancel/isCancel.js\");\n\nvar defaults = __webpack_require__(/*! ../defaults */ \"./node_modules/axios/lib/defaults.js\");\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Ensure headers exist\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData(config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers);\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/core/dispatchRequest.js?"); /***/ }), /***/ "./node_modules/axios/lib/core/enhanceError.js": /*!*****************************************************!*\ !*** ./node_modules/axios/lib/core/enhanceError.js ***! \*****************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module */ /***/ ((module) => { "use strict"; eval("\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n\n return error;\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/core/enhanceError.js?"); /***/ }), /***/ "./node_modules/axios/lib/core/mergeConfig.js": /*!****************************************************!*\ !*** ./node_modules/axios/lib/core/mergeConfig.js ***! \****************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/axios/lib/utils.js\");\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\n\n\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = ['baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer', 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress', 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent', 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n var axiosKeys = valueFromConfig2Keys.concat(mergeDeepPropertiesKeys).concat(defaultToConfig2Keys).concat(directMergeKeys);\n var otherKeys = Object.keys(config1).concat(Object.keys(config2)).filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n utils.forEach(otherKeys, mergeDeepProperties);\n return config;\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/core/mergeConfig.js?"); /***/ }), /***/ "./node_modules/axios/lib/core/settle.js": /*!***********************************************!*\ !*** ./node_modules/axios/lib/core/settle.js ***! \***********************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar createError = __webpack_require__(/*! ./createError */ \"./node_modules/axios/lib/core/createError.js\");\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/core/settle.js?"); /***/ }), /***/ "./node_modules/axios/lib/core/transformData.js": /*!******************************************************!*\ !*** ./node_modules/axios/lib/core/transformData.js ***! \******************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\n\n\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/core/transformData.js?"); /***/ }), /***/ "./node_modules/axios/lib/defaults.js": /*!********************************************!*\ !*** ./node_modules/axios/lib/defaults.js ***! \********************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/axios/lib/utils.js\");\n\nvar normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ \"./node_modules/axios/lib/helpers/normalizeHeaderName.js\");\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = __webpack_require__(/*! ./adapters/xhr */ \"./node_modules/axios/lib/adapters/xhr.js\");\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = __webpack_require__(/*! ./adapters/http */ \"./node_modules/axios/lib/adapters/xhr.js\");\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n maxBodyLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/defaults.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/bind.js": /*!************************************************!*\ !*** ./node_modules/axios/lib/helpers/bind.js ***! \************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module */ /***/ ((module) => { "use strict"; eval("\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/helpers/bind.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/buildURL.js": /*!****************************************************!*\ !*** ./node_modules/axios/lib/helpers/buildURL.js ***! \****************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/helpers/buildURL.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/combineURLs.js": /*!*******************************************************!*\ !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! \*******************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module */ /***/ ((module) => { "use strict"; eval("\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/helpers/combineURLs.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/cookies.js": /*!***************************************************!*\ !*** ./node_modules/axios/lib/helpers/cookies.js ***! \***************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/helpers/cookies.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": /*!*********************************************************!*\ !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! \*********************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module */ /***/ ((module) => { "use strict"; eval("\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/helpers/isAbsoluteURL.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": /*!***********************************************************!*\ !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! \***********************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/helpers/isURLSameOrigin.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js": /*!***************************************************************!*\ !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***! \***************************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/helpers/normalizeHeaderName.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/parseHeaders.js": /*!********************************************************!*\ !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! \********************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\"); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\n\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/helpers/parseHeaders.js?"); /***/ }), /***/ "./node_modules/axios/lib/helpers/spread.js": /*!**************************************************!*\ !*** ./node_modules/axios/lib/helpers/spread.js ***! \**************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module */ /***/ ((module) => { "use strict"; eval("\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/helpers/spread.js?"); /***/ }), /***/ "./node_modules/axios/lib/utils.js": /*!*****************************************!*\ !*** ./node_modules/axios/lib/utils.js ***! \*****************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"./node_modules/axios/lib/helpers/bind.js\");\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\n\n\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\n\n\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || navigator.product === 'NativeScript' || navigator.product === 'NS')) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\n\n\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/axios/lib/utils.js?"); /***/ }), /***/ "./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js": /*!*****************************************************************!*\ !*** ./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js ***! \*****************************************************************/ /*! namespace exports */ /*! export clearAllBodyScrollLocks [provided] [no usage info] [missing usage info prevents renaming] */ /*! export disableBodyScroll [provided] [no usage info] [missing usage info prevents renaming] */ /*! export enableBodyScroll [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"disableBodyScroll\": () => /* binding */ disableBodyScroll,\n/* harmony export */ \"clearAllBodyScrollLocks\": () => /* binding */ clearAllBodyScrollLocks,\n/* harmony export */ \"enableBodyScroll\": () => /* binding */ enableBodyScroll\n/* harmony export */ });\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n} // Older browsers don't support event options, feature detect it.\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\n\nvar hasPassiveEvents = false;\n\nif (typeof window !== 'undefined') {\n var passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true;\n return undefined;\n }\n\n };\n window.addEventListener('testPassive', null, passiveTestOptions);\n window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPaddingRight = void 0; // returns true if `el` should be allowed to receive touchmove events.\n\nvar allowTouchMove = function allowTouchMove(el) {\n return locks.some(function (lock) {\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n return true;\n }\n\n return false;\n });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n var e = rawEvent || window.event; // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n\n if (allowTouchMove(e.target)) {\n return true;\n } // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n\n\n if (e.touches.length > 1) return true;\n if (e.preventDefault) e.preventDefault();\n return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n\n var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n if (_reserveScrollBarGap && scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = scrollBarGap + 'px';\n }\n } // If previousBodyOverflowSetting is already set, don't set it again.\n\n\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n }\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight; // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n\n previousBodyPaddingRight = undefined;\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting; // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n\n previousBodyOverflowSetting = undefined;\n }\n}; // https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\n\n\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n var clientY = event.targetTouches[0].clientY - initialClientY;\n\n if (allowTouchMove(event.target)) {\n return false;\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event);\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event);\n }\n\n event.stopPropagation();\n return true;\n};\n\nvar disableBodyScroll = function disableBodyScroll(targetElement, options) {\n // targetElement must be provided\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n return;\n } // disableBodyScroll must not have been called on this targetElement before\n\n\n if (locks.some(function (lock) {\n return lock.targetElement === targetElement;\n })) {\n return;\n }\n\n var lock = {\n targetElement: targetElement,\n options: options || {}\n };\n locks = [].concat(_toConsumableArray(locks), [lock]);\n\n if (isIosDevice) {\n targetElement.ontouchstart = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY;\n }\n };\n\n targetElement.ontouchmove = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement);\n }\n };\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? {\n passive: false\n } : undefined);\n documentListenerAdded = true;\n }\n } else {\n setOverflowHidden(options);\n }\n};\nvar clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n if (isIosDevice) {\n // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n locks.forEach(function (lock) {\n lock.targetElement.ontouchstart = null;\n lock.targetElement.ontouchmove = null;\n });\n\n if (documentListenerAdded) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? {\n passive: false\n } : undefined);\n documentListenerAdded = false;\n } // Reset initial clientY.\n\n\n initialClientY = -1;\n } else {\n restoreOverflowSetting();\n }\n\n locks = [];\n};\nvar enableBodyScroll = function enableBodyScroll(targetElement) {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n return;\n }\n\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n\n if (isIosDevice) {\n targetElement.ontouchstart = null;\n targetElement.ontouchmove = null;\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? {\n passive: false\n } : undefined);\n documentListenerAdded = false;\n }\n } else if (!locks.length) {\n restoreOverflowSetting();\n }\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js?"); /***/ }), /***/ "./node_modules/check-password-strength/index.js": /*!*******************************************************!*\ !*** ./node_modules/check-password-strength/index.js ***! \*******************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module */ /***/ ((module) => { eval("module.exports = password => {\n if (!password) {\n throw new Error(\"Password is empty.\");\n }\n\n const lowerCaseRegex = \"(?=.*[a-z])\";\n const upperCaseRegex = \"(?=.*[A-Z])\";\n const symbolsRegex = \"(?=.*[!@#$%^&*])\";\n const numericRegex = \"(?=.*[0-9])\";\n let strength = {\n id: null,\n value: null,\n length: null,\n contains: []\n }; // Default\n\n let passwordContains = [];\n\n if (new RegExp(`^${lowerCaseRegex}`).test(password)) {\n passwordContains = [...passwordContains, {\n message: \"lowercase\"\n }];\n }\n\n if (new RegExp(`^${upperCaseRegex}`).test(password)) {\n passwordContains = [...passwordContains, {\n message: \"uppercase\"\n }];\n }\n\n if (new RegExp(`^${symbolsRegex}`).test(password)) {\n passwordContains = [...passwordContains, {\n message: \"symbol\"\n }];\n }\n\n if (new RegExp(`^${numericRegex}`).test(password)) {\n passwordContains = [...passwordContains, {\n message: \"number\"\n }];\n }\n\n const strongRegex = new RegExp(`^${lowerCaseRegex}${upperCaseRegex}${numericRegex}${symbolsRegex}(?=.{8,})`);\n const mediumRegex = new RegExp(`^((${lowerCaseRegex}${upperCaseRegex})|(${lowerCaseRegex}${numericRegex})|(${upperCaseRegex}${numericRegex})|(${upperCaseRegex}${symbolsRegex})|(${lowerCaseRegex}${symbolsRegex})|(${numericRegex}${symbolsRegex}))(?=.{6,})`);\n\n if (strongRegex.test(password)) {\n strength = {\n id: 2,\n value: \"Strong\"\n };\n } else if (mediumRegex.test(password)) {\n strength = {\n id: 1,\n value: \"Medium\"\n };\n } else {\n strength = {\n id: 0,\n value: \"Weak\"\n };\n }\n\n strength.length = password.length;\n strength.contains = passwordContains;\n return strength;\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/check-password-strength/index.js?"); /***/ }), /***/ "./node_modules/deepmerge/dist/cjs.js": /*!********************************************!*\ !*** ./node_modules/deepmerge/dist/cjs.js ***! \********************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module */ /***/ ((module) => { "use strict"; eval("\n\nvar isMergeableObject = function isMergeableObject(value) {\n return isNonNullObject(value) && !isSpecial(value);\n};\n\nfunction isNonNullObject(value) {\n return !!value && typeof value === 'object';\n}\n\nfunction isSpecial(value) {\n var stringValue = Object.prototype.toString.call(value);\n return stringValue === '[object RegExp]' || stringValue === '[object Date]' || isReactElement(value);\n} // see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\n\n\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n return value.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {};\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n return options.clone !== false && options.isMergeableObject(value) ? deepmerge(emptyTarget(value), value, options) : value;\n}\n\nfunction defaultArrayMerge(target, source, options) {\n return target.concat(source).map(function (element) {\n return cloneUnlessOtherwiseSpecified(element, options);\n });\n}\n\nfunction getMergeFunction(key, options) {\n if (!options.customMerge) {\n return deepmerge;\n }\n\n var customMerge = options.customMerge(key);\n return typeof customMerge === 'function' ? customMerge : deepmerge;\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function (symbol) {\n return target.propertyIsEnumerable(symbol);\n }) : [];\n}\n\nfunction getKeys(target) {\n return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));\n}\n\nfunction propertyIsOnObject(object, property) {\n try {\n return property in object;\n } catch (_) {\n return false;\n }\n} // Protects from prototype poisoning and unexpected merging up the prototype chain.\n\n\nfunction propertyIsUnsafe(target, key) {\n return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n && Object.propertyIsEnumerable.call(target, key)); // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n var destination = {};\n\n if (options.isMergeableObject(target)) {\n getKeys(target).forEach(function (key) {\n destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n });\n }\n\n getKeys(source).forEach(function (key) {\n if (propertyIsUnsafe(target, key)) {\n return;\n }\n\n if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n destination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n } else {\n destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n }\n });\n return destination;\n}\n\nfunction deepmerge(target, source, options) {\n options = options || {};\n options.arrayMerge = options.arrayMerge || defaultArrayMerge;\n options.isMergeableObject = options.isMergeableObject || isMergeableObject; // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n // implementations can use it. The caller may not replace it.\n\n options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneUnlessOtherwiseSpecified(source, options);\n } else if (sourceIsArray) {\n return options.arrayMerge(target, source, options);\n } else {\n return mergeObject(target, source, options);\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n if (!Array.isArray(array)) {\n throw new Error('first argument should be an array');\n }\n\n return array.reduce(function (prev, next) {\n return deepmerge(prev, next, options);\n }, {});\n};\n\nvar deepmerge_1 = deepmerge;\nmodule.exports = deepmerge_1;\n\n//# sourceURL=webpack://materio.com/./node_modules/deepmerge/dist/cjs.js?"); /***/ }), /***/ "./node_modules/graphql-tag/src/index.js": /*!***********************************************!*\ !*** ./node_modules/graphql-tag/src/index.js ***! \***********************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, __webpack_require__ */ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { eval("var parser = __webpack_require__(/*! graphql/language/parser */ \"./node_modules/graphql/language/parser.js\");\n\nvar parse = parser.parse; // Strip insignificant whitespace\n// Note that this could do a lot more, such as reorder fields etc.\n\nfunction normalize(string) {\n return string.replace(/[\\s,]+/g, ' ').trim();\n} // A map docString -> graphql document\n\n\nvar docCache = {}; // A map fragmentName -> [normalized source]\n\nvar fragmentSourceMap = {};\n\nfunction cacheKeyFromLoc(loc) {\n return normalize(loc.source.body.substring(loc.start, loc.end));\n} // For testing.\n\n\nfunction resetCaches() {\n docCache = {};\n fragmentSourceMap = {};\n} // Take a unstripped parsed document (query/mutation or even fragment), and\n// check all fragment definitions, checking for name->source uniqueness.\n// We also want to make sure only unique fragments exist in the document.\n\n\nvar printFragmentWarnings = true;\n\nfunction processFragments(ast) {\n var astFragmentMap = {};\n var definitions = [];\n\n for (var i = 0; i < ast.definitions.length; i++) {\n var fragmentDefinition = ast.definitions[i];\n\n if (fragmentDefinition.kind === 'FragmentDefinition') {\n var fragmentName = fragmentDefinition.name.value;\n var sourceKey = cacheKeyFromLoc(fragmentDefinition.loc); // We know something about this fragment\n\n if (fragmentSourceMap.hasOwnProperty(fragmentName) && !fragmentSourceMap[fragmentName][sourceKey]) {\n // this is a problem because the app developer is trying to register another fragment with\n // the same name as one previously registered. So, we tell them about it.\n if (printFragmentWarnings) {\n console.warn(\"Warning: fragment with name \" + fragmentName + \" already exists.\\n\" + \"graphql-tag enforces all fragment names across your application to be unique; read more about\\n\" + \"this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names\");\n }\n\n fragmentSourceMap[fragmentName][sourceKey] = true;\n } else if (!fragmentSourceMap.hasOwnProperty(fragmentName)) {\n fragmentSourceMap[fragmentName] = {};\n fragmentSourceMap[fragmentName][sourceKey] = true;\n }\n\n if (!astFragmentMap[sourceKey]) {\n astFragmentMap[sourceKey] = true;\n definitions.push(fragmentDefinition);\n }\n } else {\n definitions.push(fragmentDefinition);\n }\n }\n\n ast.definitions = definitions;\n return ast;\n}\n\nfunction disableFragmentWarnings() {\n printFragmentWarnings = false;\n}\n\nfunction stripLoc(doc, removeLocAtThisLevel) {\n var docType = Object.prototype.toString.call(doc);\n\n if (docType === '[object Array]') {\n return doc.map(function (d) {\n return stripLoc(d, removeLocAtThisLevel);\n });\n }\n\n if (docType !== '[object Object]') {\n throw new Error('Unexpected input.');\n } // We don't want to remove the root loc field so we can use it\n // for fragment substitution (see below)\n\n\n if (removeLocAtThisLevel && doc.loc) {\n delete doc.loc;\n } // https://github.com/apollographql/graphql-tag/issues/40\n\n\n if (doc.loc) {\n delete doc.loc.startToken;\n delete doc.loc.endToken;\n }\n\n var keys = Object.keys(doc);\n var key;\n var value;\n var valueType;\n\n for (key in keys) {\n if (keys.hasOwnProperty(key)) {\n value = doc[keys[key]];\n valueType = Object.prototype.toString.call(value);\n\n if (valueType === '[object Object]' || valueType === '[object Array]') {\n doc[keys[key]] = stripLoc(value, true);\n }\n }\n }\n\n return doc;\n}\n\nvar experimentalFragmentVariables = false;\n\nfunction parseDocument(doc) {\n var cacheKey = normalize(doc);\n\n if (docCache[cacheKey]) {\n return docCache[cacheKey];\n }\n\n var parsed = parse(doc, {\n experimentalFragmentVariables: experimentalFragmentVariables\n });\n\n if (!parsed || parsed.kind !== 'Document') {\n throw new Error('Not a valid GraphQL document.');\n } // check that all \"new\" fragments inside the documents are consistent with\n // existing fragments of the same name\n\n\n parsed = processFragments(parsed);\n parsed = stripLoc(parsed, false);\n docCache[cacheKey] = parsed;\n return parsed;\n}\n\nfunction enableExperimentalFragmentVariables() {\n experimentalFragmentVariables = true;\n}\n\nfunction disableExperimentalFragmentVariables() {\n experimentalFragmentVariables = false;\n} // XXX This should eventually disallow arbitrary string interpolation, like Relay does\n\n\nfunction gql()\n/* arguments */\n{\n var args = Array.prototype.slice.call(arguments);\n var literals = args[0]; // We always get literals[0] and then matching post literals for each arg given\n\n var result = typeof literals === \"string\" ? literals : literals[0];\n\n for (var i = 1; i < args.length; i++) {\n if (args[i] && args[i].kind && args[i].kind === 'Document') {\n result += args[i].loc.source.body;\n } else {\n result += args[i];\n }\n\n result += literals[i];\n }\n\n return parseDocument(result);\n} // Support typescript, which isn't as nice as Babel about default exports\n\n\ngql.default = gql;\ngql.resetCaches = resetCaches;\ngql.disableFragmentWarnings = disableFragmentWarnings;\ngql.enableExperimentalFragmentVariables = enableExperimentalFragmentVariables;\ngql.disableExperimentalFragmentVariables = disableExperimentalFragmentVariables;\nmodule.exports = gql;\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql-tag/src/index.js?"); /***/ }), /***/ "./node_modules/graphql/error/GraphQLError.js": /*!****************************************************!*\ !*** ./node_modules/graphql/error/GraphQLError.js ***! \****************************************************/ /*! flagged exports */ /*! export GraphQLError [provided] [no usage info] [missing usage info prevents renaming] */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export printError [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.printError = printError;\nexports.GraphQLError = void 0;\n\nvar _isObjectLike = _interopRequireDefault(__webpack_require__(/*! ../jsutils/isObjectLike.js */ \"./node_modules/graphql/jsutils/isObjectLike.js\"));\n\nvar _symbols = __webpack_require__(/*! ../polyfills/symbols.js */ \"./node_modules/graphql/polyfills/symbols.js\");\n\nvar _location = __webpack_require__(/*! ../language/location.js */ \"./node_modules/graphql/language/location.js\");\n\nvar _printLocation = __webpack_require__(/*! ../language/printLocation.js */ \"./node_modules/graphql/language/printLocation.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(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 _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 _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 _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\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 _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\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 _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\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 _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/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\n\nvar GraphQLError = /*#__PURE__*/function (_Error) {\n _inherits(GraphQLError, _Error);\n\n var _super = _createSuper(GraphQLError);\n /**\n * A message describing the Error for debugging purposes.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n *\n * Note: should be treated as readonly, despite invariant usage.\n */\n\n /**\n * An array of { line, column } locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n\n\n function GraphQLError(message, nodes, source, positions, path, originalError, extensions) {\n var _locations2, _source2, _positions2, _extensions2;\n\n var _this;\n\n _classCallCheck(this, GraphQLError);\n\n _this = _super.call(this, message); // Compute list of blame nodes.\n\n var _nodes = Array.isArray(nodes) ? nodes.length !== 0 ? nodes : undefined : nodes ? [nodes] : undefined; // Compute locations in the source for the given nodes/positions.\n\n\n var _source = source;\n\n if (!_source && _nodes) {\n var _nodes$0$loc;\n\n _source = (_nodes$0$loc = _nodes[0].loc) === null || _nodes$0$loc === void 0 ? void 0 : _nodes$0$loc.source;\n }\n\n var _positions = positions;\n\n if (!_positions && _nodes) {\n _positions = _nodes.reduce(function (list, node) {\n if (node.loc) {\n list.push(node.loc.start);\n }\n\n return list;\n }, []);\n }\n\n if (_positions && _positions.length === 0) {\n _positions = undefined;\n }\n\n var _locations;\n\n if (positions && source) {\n _locations = positions.map(function (pos) {\n return (0, _location.getLocation)(source, pos);\n });\n } else if (_nodes) {\n _locations = _nodes.reduce(function (list, node) {\n if (node.loc) {\n list.push((0, _location.getLocation)(node.loc.source, node.loc.start));\n }\n\n return list;\n }, []);\n }\n\n var _extensions = extensions;\n\n if (_extensions == null && originalError != null) {\n var originalExtensions = originalError.extensions;\n\n if ((0, _isObjectLike.default)(originalExtensions)) {\n _extensions = originalExtensions;\n }\n }\n\n Object.defineProperties(_assertThisInitialized(_this), {\n name: {\n value: 'GraphQLError'\n },\n message: {\n value: message,\n // By being enumerable, JSON.stringify will include `message` in the\n // resulting output. This ensures that the simplest possible GraphQL\n // service adheres to the spec.\n enumerable: true,\n writable: true\n },\n locations: {\n // Coercing falsy values to undefined ensures they will not be included\n // in JSON.stringify() when not provided.\n value: (_locations2 = _locations) !== null && _locations2 !== void 0 ? _locations2 : undefined,\n // By being enumerable, JSON.stringify will include `locations` in the\n // resulting output. This ensures that the simplest possible GraphQL\n // service adheres to the spec.\n enumerable: _locations != null\n },\n path: {\n // Coercing falsy values to undefined ensures they will not be included\n // in JSON.stringify() when not provided.\n value: path !== null && path !== void 0 ? path : undefined,\n // By being enumerable, JSON.stringify will include `path` in the\n // resulting output. This ensures that the simplest possible GraphQL\n // service adheres to the spec.\n enumerable: path != null\n },\n nodes: {\n value: _nodes !== null && _nodes !== void 0 ? _nodes : undefined\n },\n source: {\n value: (_source2 = _source) !== null && _source2 !== void 0 ? _source2 : undefined\n },\n positions: {\n value: (_positions2 = _positions) !== null && _positions2 !== void 0 ? _positions2 : undefined\n },\n originalError: {\n value: originalError\n },\n extensions: {\n // Coercing falsy values to undefined ensures they will not be included\n // in JSON.stringify() when not provided.\n value: (_extensions2 = _extensions) !== null && _extensions2 !== void 0 ? _extensions2 : undefined,\n // By being enumerable, JSON.stringify will include `path` in the\n // resulting output. This ensures that the simplest possible GraphQL\n // service adheres to the spec.\n enumerable: _extensions != null\n }\n }); // Include (non-enumerable) stack trace.\n\n if (originalError === null || originalError === void 0 ? void 0 : originalError.stack) {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true\n });\n return _possibleConstructorReturn(_this);\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_this), GraphQLError);\n } else {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true\n });\n }\n\n return _this;\n }\n\n _createClass(GraphQLError, [{\n key: \"toString\",\n value: function toString() {\n return printError(this);\n } // FIXME: workaround to not break chai comparisons, should be remove in v16\n // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n }, {\n key: _symbols.SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Object';\n }\n }]);\n\n return GraphQLError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n */\n\n\nexports.GraphQLError = GraphQLError;\n\nfunction printError(error) {\n var output = error.message;\n\n if (error.nodes) {\n for (var _i2 = 0, _error$nodes2 = error.nodes; _i2 < _error$nodes2.length; _i2++) {\n var node = _error$nodes2[_i2];\n\n if (node.loc) {\n output += '\\n\\n' + (0, _printLocation.printLocation)(node.loc);\n }\n }\n } else if (error.source && error.locations) {\n for (var _i4 = 0, _error$locations2 = error.locations; _i4 < _error$locations2.length; _i4++) {\n var location = _error$locations2[_i4];\n output += '\\n\\n' + (0, _printLocation.printSourceLocation)(error.source, location);\n }\n }\n\n return output;\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/error/GraphQLError.js?"); /***/ }), /***/ "./node_modules/graphql/error/syntaxError.js": /*!***************************************************!*\ !*** ./node_modules/graphql/error/syntaxError.js ***! \***************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export syntaxError [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.syntaxError = syntaxError;\n\nvar _GraphQLError = __webpack_require__(/*! ./GraphQLError.js */ \"./node_modules/graphql/error/GraphQLError.js\");\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\n\nfunction syntaxError(source, position, description) {\n return new _GraphQLError.GraphQLError(\"Syntax Error: \".concat(description), undefined, source, [position]);\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/error/syntaxError.js?"); /***/ }), /***/ "./node_modules/graphql/jsutils/defineInspect.js": /*!*******************************************************!*\ !*** ./node_modules/graphql/jsutils/defineInspect.js ***! \*******************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = defineInspect;\n\nvar _invariant = _interopRequireDefault(__webpack_require__(/*! ./invariant.js */ \"./node_modules/graphql/jsutils/invariant.js\"));\n\nvar _nodejsCustomInspectSymbol = _interopRequireDefault(__webpack_require__(/*! ./nodejsCustomInspectSymbol.js */ \"./node_modules/graphql/jsutils/nodejsCustomInspectSymbol.js\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\n\nfunction defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || (0, _invariant.default)(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (_nodejsCustomInspectSymbol.default) {\n classObject.prototype[_nodejsCustomInspectSymbol.default] = fn;\n }\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/jsutils/defineInspect.js?"); /***/ }), /***/ "./node_modules/graphql/jsutils/devAssert.js": /*!***************************************************!*\ !*** ./node_modules/graphql/jsutils/devAssert.js ***! \***************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__ */ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = devAssert;\n\nfunction devAssert(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/jsutils/devAssert.js?"); /***/ }), /***/ "./node_modules/graphql/jsutils/inspect.js": /*!*************************************************!*\ !*** ./node_modules/graphql/jsutils/inspect.js ***! \*************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = inspect;\n\nvar _nodejsCustomInspectSymbol = _interopRequireDefault(__webpack_require__(/*! ./nodejsCustomInspectSymbol.js */ \"./node_modules/graphql/jsutils/nodejsCustomInspectSymbol.js\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(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\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nfunction inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(_nodejsCustomInspectSymbol.default)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/jsutils/inspect.js?"); /***/ }), /***/ "./node_modules/graphql/jsutils/instanceOf.js": /*!****************************************************!*\ !*** ./node_modules/graphql/jsutils/instanceOf.js ***! \****************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__ */ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n */\n// See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n// See: https://webpack.js.org/guides/production/\n\nvar _default = false ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n// eslint-disable-next-line no-shadow\n0 : // eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n if (value instanceof constructor) {\n return true;\n }\n\n if (value) {\n var valueClass = value.constructor;\n var className = constructor.name;\n\n if (className && valueClass && valueClass.name === className) {\n throw new Error(\"Cannot use \".concat(className, \" \\\"\").concat(value, \"\\\" from another module or realm.\\n\\nEnsure that there is only one instance of \\\"graphql\\\" in the node_modules\\ndirectory. If different versions of \\\"graphql\\\" are the dependencies of other\\nrelied on modules, use \\\"resolutions\\\" to ensure only one version is installed.\\n\\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\\n\\nDuplicate \\\"graphql\\\" modules cannot be used at the same time since different\\nversions may have different capabilities and behavior. The data from one\\nversion used in the function from another could produce confusing and\\nspurious results.\"));\n }\n }\n\n return false;\n};\n\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/jsutils/instanceOf.js?"); /***/ }), /***/ "./node_modules/graphql/jsutils/invariant.js": /*!***************************************************!*\ !*** ./node_modules/graphql/jsutils/invariant.js ***! \***************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__ */ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = invariant;\n\nfunction invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/jsutils/invariant.js?"); /***/ }), /***/ "./node_modules/graphql/jsutils/isObjectLike.js": /*!******************************************************!*\ !*** ./node_modules/graphql/jsutils/isObjectLike.js ***! \******************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__ */ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = isObjectLike;\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(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/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\n\n\nfunction isObjectLike(value) {\n return _typeof(value) == 'object' && value !== null;\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/jsutils/isObjectLike.js?"); /***/ }), /***/ "./node_modules/graphql/jsutils/nodejsCustomInspectSymbol.js": /*!*******************************************************************!*\ !*** ./node_modules/graphql/jsutils/nodejsCustomInspectSymbol.js ***! \*******************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__ */ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nvar _default = nodejsCustomInspectSymbol;\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/jsutils/nodejsCustomInspectSymbol.js?"); /***/ }), /***/ "./node_modules/graphql/language/ast.js": /*!**********************************************!*\ !*** ./node_modules/graphql/language/ast.js ***! \**********************************************/ /*! flagged exports */ /*! export Location [provided] [no usage info] [missing usage info prevents renaming] */ /*! export Token [provided] [no usage info] [missing usage info prevents renaming] */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export isNode [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isNode = isNode;\nexports.Token = exports.Location = void 0;\n\nvar _defineInspect = _interopRequireDefault(__webpack_require__(/*! ../jsutils/defineInspect.js */ \"./node_modules/graphql/jsutils/defineInspect.js\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\n\n\nvar Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\n\nexports.Location = Location;\n(0, _defineInspect.default)(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nvar Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. is always the first node and \n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\n\nexports.Token = Token;\n(0, _defineInspect.default)(Token);\n/**\n * @internal\n */\n\nfunction isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/language/ast.js?"); /***/ }), /***/ "./node_modules/graphql/language/blockString.js": /*!******************************************************!*\ !*** ./node_modules/graphql/language/blockString.js ***! \******************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export dedentBlockStringValue [provided] [no usage info] [missing usage info prevents renaming] */ /*! export getBlockStringIndentation [provided] [no usage info] [missing usage info prevents renaming] */ /*! export printBlockString [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__ */ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.dedentBlockStringValue = dedentBlockStringValue;\nexports.getBlockStringIndentation = getBlockStringIndentation;\nexports.printBlockString = printBlockString;\n/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\n\nfunction dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nfunction getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // \n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\n\nfunction printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/language/blockString.js?"); /***/ }), /***/ "./node_modules/graphql/language/directiveLocation.js": /*!************************************************************!*\ !*** ./node_modules/graphql/language/directiveLocation.js ***! \************************************************************/ /*! flagged exports */ /*! export DirectiveLocation [provided] [no usage info] [missing usage info prevents renaming] */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__ */ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DirectiveLocation = void 0;\n/**\n * The set of allowed directive location values.\n */\n\nvar DirectiveLocation = Object.freeze({\n // Request Definitions\n QUERY: 'QUERY',\n MUTATION: 'MUTATION',\n SUBSCRIPTION: 'SUBSCRIPTION',\n FIELD: 'FIELD',\n FRAGMENT_DEFINITION: 'FRAGMENT_DEFINITION',\n FRAGMENT_SPREAD: 'FRAGMENT_SPREAD',\n INLINE_FRAGMENT: 'INLINE_FRAGMENT',\n VARIABLE_DEFINITION: 'VARIABLE_DEFINITION',\n // Type System Definitions\n SCHEMA: 'SCHEMA',\n SCALAR: 'SCALAR',\n OBJECT: 'OBJECT',\n FIELD_DEFINITION: 'FIELD_DEFINITION',\n ARGUMENT_DEFINITION: 'ARGUMENT_DEFINITION',\n INTERFACE: 'INTERFACE',\n UNION: 'UNION',\n ENUM: 'ENUM',\n ENUM_VALUE: 'ENUM_VALUE',\n INPUT_OBJECT: 'INPUT_OBJECT',\n INPUT_FIELD_DEFINITION: 'INPUT_FIELD_DEFINITION'\n});\n/**\n * The enum type representing the directive location values.\n */\n\nexports.DirectiveLocation = DirectiveLocation;\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/language/directiveLocation.js?"); /***/ }), /***/ "./node_modules/graphql/language/kinds.js": /*!************************************************!*\ !*** ./node_modules/graphql/language/kinds.js ***! \************************************************/ /*! flagged exports */ /*! export Kind [provided] [no usage info] [missing usage info prevents renaming] */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__ */ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Kind = void 0;\n/**\n * The set of allowed kind values for AST nodes.\n */\n\nvar Kind = Object.freeze({\n // Name\n NAME: 'Name',\n // Document\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n // Fragments\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n // Values\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n // Directives\n DIRECTIVE: 'Directive',\n // Types\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n // Type System Definitions\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n // Type Definitions\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n // Directive Definitions\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n // Type System Extensions\n SCHEMA_EXTENSION: 'SchemaExtension',\n // Type Extensions\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension'\n});\n/**\n * The enum type representing the possible kind values of AST nodes.\n */\n\nexports.Kind = Kind;\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/language/kinds.js?"); /***/ }), /***/ "./node_modules/graphql/language/lexer.js": /*!************************************************!*\ !*** ./node_modules/graphql/language/lexer.js ***! \************************************************/ /*! flagged exports */ /*! export Lexer [provided] [no usage info] [missing usage info prevents renaming] */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export isPunctuatorTokenKind [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isPunctuatorTokenKind = isPunctuatorTokenKind;\nexports.Lexer = void 0;\n\nvar _syntaxError = __webpack_require__(/*! ../error/syntaxError.js */ \"./node_modules/graphql/error/syntaxError.js\");\n\nvar _ast = __webpack_require__(/*! ./ast.js */ \"./node_modules/graphql/language/ast.js\");\n\nvar _tokenKind = __webpack_require__(/*! ./tokenKind.js */ \"./node_modules/graphql/language/tokenKind.js\");\n\nvar _blockString = __webpack_require__(/*! ./blockString.js */ \"./node_modules/graphql/language/blockString.js\");\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\n\nvar Lexer = /*#__PURE__*/function () {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n function Lexer(source) {\n var startOfFileToken = new _ast.Token(_tokenKind.TokenKind.SOF, 0, 0, 0, 0, null);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n\n var _proto = Lexer.prototype;\n\n _proto.advance = function advance() {\n this.lastToken = this.token;\n var token = this.token = this.lookahead();\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n ;\n\n _proto.lookahead = function lookahead() {\n var token = this.token;\n\n if (token.kind !== _tokenKind.TokenKind.EOF) {\n do {\n var _token$next; // Note: next is only mutable during parsing, so we cast to allow this.\n\n\n token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\n } while (token.kind === _tokenKind.TokenKind.COMMENT);\n }\n\n return token;\n };\n\n return Lexer;\n}();\n/**\n * @internal\n */\n\n\nexports.Lexer = Lexer;\n\nfunction isPunctuatorTokenKind(kind) {\n return kind === _tokenKind.TokenKind.BANG || kind === _tokenKind.TokenKind.DOLLAR || kind === _tokenKind.TokenKind.AMP || kind === _tokenKind.TokenKind.PAREN_L || kind === _tokenKind.TokenKind.PAREN_R || kind === _tokenKind.TokenKind.SPREAD || kind === _tokenKind.TokenKind.COLON || kind === _tokenKind.TokenKind.EQUALS || kind === _tokenKind.TokenKind.AT || kind === _tokenKind.TokenKind.BRACKET_L || kind === _tokenKind.TokenKind.BRACKET_R || kind === _tokenKind.TokenKind.BRACE_L || kind === _tokenKind.TokenKind.PIPE || kind === _tokenKind.TokenKind.BRACE_R;\n}\n\nfunction printCharCode(code) {\n return (// NaN/undefined represents access beyond the end of the file.\n isNaN(code) ? _tokenKind.TokenKind.EOF : // Trust JSON for ASCII.\n code < 0x007f ? JSON.stringify(String.fromCharCode(code)) : // Otherwise print the escaped form.\n \"\\\"\\\\u\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \"\\\"\")\n );\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\n\nfunction readToken(lexer, prev) {\n var source = lexer.source;\n var body = source.body;\n var bodyLength = body.length;\n var pos = prev.end;\n\n while (pos < bodyLength) {\n var code = body.charCodeAt(pos);\n var _line = lexer.line;\n\n var _col = 1 + pos - lexer.lineStart; // SourceCharacter\n\n\n switch (code) {\n case 0xfeff: // \n\n case 9: // \\t\n\n case 32: // \n\n case 44:\n // ,\n ++pos;\n continue;\n\n case 10:\n // \\n\n ++pos;\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 13:\n // \\r\n if (body.charCodeAt(pos + 1) === 10) {\n pos += 2;\n } else {\n ++pos;\n }\n\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 33:\n // !\n return new _ast.Token(_tokenKind.TokenKind.BANG, pos, pos + 1, _line, _col, prev);\n\n case 35:\n // #\n return readComment(source, pos, _line, _col, prev);\n\n case 36:\n // $\n return new _ast.Token(_tokenKind.TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\n\n case 38:\n // &\n return new _ast.Token(_tokenKind.TokenKind.AMP, pos, pos + 1, _line, _col, prev);\n\n case 40:\n // (\n return new _ast.Token(_tokenKind.TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\n\n case 41:\n // )\n return new _ast.Token(_tokenKind.TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\n\n case 46:\n // .\n if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\n return new _ast.Token(_tokenKind.TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\n }\n\n break;\n\n case 58:\n // :\n return new _ast.Token(_tokenKind.TokenKind.COLON, pos, pos + 1, _line, _col, prev);\n\n case 61:\n // =\n return new _ast.Token(_tokenKind.TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\n\n case 64:\n // @\n return new _ast.Token(_tokenKind.TokenKind.AT, pos, pos + 1, _line, _col, prev);\n\n case 91:\n // [\n return new _ast.Token(_tokenKind.TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\n\n case 93:\n // ]\n return new _ast.Token(_tokenKind.TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\n\n case 123:\n // {\n return new _ast.Token(_tokenKind.TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\n\n case 124:\n // |\n return new _ast.Token(_tokenKind.TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\n\n case 125:\n // }\n return new _ast.Token(_tokenKind.TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\n\n case 34:\n // \"\n if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\n return readBlockString(source, pos, _line, _col, prev, lexer);\n }\n\n return readString(source, pos, _line, _col, prev);\n\n case 45: // -\n\n case 48: // 0\n\n case 49: // 1\n\n case 50: // 2\n\n case 51: // 3\n\n case 52: // 4\n\n case 53: // 5\n\n case 54: // 6\n\n case 55: // 7\n\n case 56: // 8\n\n case 57:\n // 9\n return readNumber(source, pos, code, _line, _col, prev);\n\n case 65: // A\n\n case 66: // B\n\n case 67: // C\n\n case 68: // D\n\n case 69: // E\n\n case 70: // F\n\n case 71: // G\n\n case 72: // H\n\n case 73: // I\n\n case 74: // J\n\n case 75: // K\n\n case 76: // L\n\n case 77: // M\n\n case 78: // N\n\n case 79: // O\n\n case 80: // P\n\n case 81: // Q\n\n case 82: // R\n\n case 83: // S\n\n case 84: // T\n\n case 85: // U\n\n case 86: // V\n\n case 87: // W\n\n case 88: // X\n\n case 89: // Y\n\n case 90: // Z\n\n case 95: // _\n\n case 97: // a\n\n case 98: // b\n\n case 99: // c\n\n case 100: // d\n\n case 101: // e\n\n case 102: // f\n\n case 103: // g\n\n case 104: // h\n\n case 105: // i\n\n case 106: // j\n\n case 107: // k\n\n case 108: // l\n\n case 109: // m\n\n case 110: // n\n\n case 111: // o\n\n case 112: // p\n\n case 113: // q\n\n case 114: // r\n\n case 115: // s\n\n case 116: // t\n\n case 117: // u\n\n case 118: // v\n\n case 119: // w\n\n case 120: // x\n\n case 121: // y\n\n case 122:\n // z\n return readName(source, pos, _line, _col, prev);\n }\n\n throw (0, _syntaxError.syntaxError)(source, pos, unexpectedCharacterMessage(code));\n }\n\n var line = lexer.line;\n var col = 1 + pos - lexer.lineStart;\n return new _ast.Token(_tokenKind.TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\n}\n/**\n * Report a message that an unexpected character was encountered.\n */\n\n\nfunction unexpectedCharacterMessage(code) {\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n return \"Cannot contain the invalid character \".concat(printCharCode(code), \".\");\n }\n\n if (code === 39) {\n // '\n return 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?';\n }\n\n return \"Cannot parse the unexpected character \".concat(printCharCode(code), \".\");\n}\n/**\n * Reads a comment token from the source file.\n *\n * #[\\u0009\\u0020-\\uFFFF]*\n */\n\n\nfunction readComment(source, start, line, col, prev) {\n var body = source.body;\n var code;\n var position = start;\n\n do {\n code = body.charCodeAt(++position);\n } while (!isNaN(code) && ( // SourceCharacter but not LineTerminator\n code > 0x001f || code === 0x0009));\n\n return new _ast.Token(_tokenKind.TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\n}\n/**\n * Reads a number token from the source file, either a float\n * or an int depending on whether a decimal point appears.\n *\n * Int: -?(0|[1-9][0-9]*)\n * Float: -?(0|[1-9][0-9]*)(\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\n */\n\n\nfunction readNumber(source, start, firstCode, line, col, prev) {\n var body = source.body;\n var code = firstCode;\n var position = start;\n var isFloat = false;\n\n if (code === 45) {\n // -\n code = body.charCodeAt(++position);\n }\n\n if (code === 48) {\n // 0\n code = body.charCodeAt(++position);\n\n if (code >= 48 && code <= 57) {\n throw (0, _syntaxError.syntaxError)(source, position, \"Invalid number, unexpected digit after 0: \".concat(printCharCode(code), \".\"));\n }\n } else {\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 46) {\n // .\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 69 || code === 101) {\n // E e\n isFloat = true;\n code = body.charCodeAt(++position);\n\n if (code === 43 || code === 45) {\n // + -\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n\n if (code === 46 || isNameStart(code)) {\n throw (0, _syntaxError.syntaxError)(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n }\n\n return new _ast.Token(isFloat ? _tokenKind.TokenKind.FLOAT : _tokenKind.TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\n}\n/**\n * Returns the new position in the source after reading digits.\n */\n\n\nfunction readDigits(source, start, firstCode) {\n var body = source.body;\n var position = start;\n var code = firstCode;\n\n if (code >= 48 && code <= 57) {\n // 0 - 9\n do {\n code = body.charCodeAt(++position);\n } while (code >= 48 && code <= 57); // 0 - 9\n\n\n return position;\n }\n\n throw (0, _syntaxError.syntaxError)(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n}\n/**\n * Reads a string token from the source file.\n *\n * \"([^\"\\\\\\u000A\\u000D]|(\\\\(u[0-9a-fA-F]{4}|[\"\\\\/bfnrt])))*\"\n */\n\n\nfunction readString(source, start, line, col, prev) {\n var body = source.body;\n var position = start + 1;\n var chunkStart = position;\n var code = 0;\n var value = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position)) && // not LineTerminator\n code !== 0x000a && code !== 0x000d) {\n // Closing Quote (\")\n if (code === 34) {\n value += body.slice(chunkStart, position);\n return new _ast.Token(_tokenKind.TokenKind.STRING, start, position + 1, line, col, prev, value);\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009) {\n throw (0, _syntaxError.syntaxError)(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n ++position;\n\n if (code === 92) {\n // \\\n value += body.slice(chunkStart, position - 1);\n code = body.charCodeAt(position);\n\n switch (code) {\n case 34:\n value += '\"';\n break;\n\n case 47:\n value += '/';\n break;\n\n case 92:\n value += '\\\\';\n break;\n\n case 98:\n value += '\\b';\n break;\n\n case 102:\n value += '\\f';\n break;\n\n case 110:\n value += '\\n';\n break;\n\n case 114:\n value += '\\r';\n break;\n\n case 116:\n value += '\\t';\n break;\n\n case 117:\n {\n // uXXXX\n var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\n\n if (charCode < 0) {\n var invalidSequence = body.slice(position + 1, position + 5);\n throw (0, _syntaxError.syntaxError)(source, position, \"Invalid character escape sequence: \\\\u\".concat(invalidSequence, \".\"));\n }\n\n value += String.fromCharCode(charCode);\n position += 4;\n break;\n }\n\n default:\n throw (0, _syntaxError.syntaxError)(source, position, \"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(code), \".\"));\n }\n\n ++position;\n chunkStart = position;\n }\n }\n\n throw (0, _syntaxError.syntaxError)(source, position, 'Unterminated string.');\n}\n/**\n * Reads a block string token from the source file.\n *\n * \"\"\"(\"?\"?(\\\\\"\"\"|\\\\(?!=\"\"\")|[^\"\\\\]))*\"\"\"\n */\n\n\nfunction readBlockString(source, start, line, col, prev, lexer) {\n var body = source.body;\n var position = start + 3;\n var chunkStart = position;\n var code = 0;\n var rawValue = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\n // Closing Triple-Quote (\"\"\")\n if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\n rawValue += body.slice(chunkStart, position);\n return new _ast.Token(_tokenKind.TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, (0, _blockString.dedentBlockStringValue)(rawValue));\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n throw (0, _syntaxError.syntaxError)(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n if (code === 10) {\n // new line\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n } else if (code === 13) {\n // carriage return\n if (body.charCodeAt(position + 1) === 10) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n } else if ( // Escape Triple-Quote (\\\"\"\")\n code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\n rawValue += body.slice(chunkStart, position) + '\"\"\"';\n position += 4;\n chunkStart = position;\n } else {\n ++position;\n }\n }\n\n throw (0, _syntaxError.syntaxError)(source, position, 'Unterminated string.');\n}\n/**\n * Converts four hexadecimal chars to the integer that the\n * string represents. For example, uniCharCode('0','0','0','f')\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\n *\n * Returns a negative number on error, if a char was invalid.\n *\n * This is implemented by noting that char2hex() returns -1 on error,\n * which means the result of ORing the char2hex() will also be negative.\n */\n\n\nfunction uniCharCode(a, b, c, d) {\n return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\n}\n/**\n * Converts a hex character to its integer value.\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 on error.\n */\n\n\nfunction char2hex(a) {\n return a >= 48 && a <= 57 ? a - 48 // 0-9\n : a >= 65 && a <= 70 ? a - 55 // A-F\n : a >= 97 && a <= 102 ? a - 87 // a-f\n : -1;\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * [_A-Za-z][_0-9A-Za-z]*\n */\n\n\nfunction readName(source, start, line, col, prev) {\n var body = source.body;\n var bodyLength = body.length;\n var position = start + 1;\n var code = 0;\n\n while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 || // _\n code >= 48 && code <= 57 || // 0-9\n code >= 65 && code <= 90 || // A-Z\n code >= 97 && code <= 122) // a-z\n ) {\n ++position;\n }\n\n return new _ast.Token(_tokenKind.TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\n} // _ A-Z a-z\n\n\nfunction isNameStart(code) {\n return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/language/lexer.js?"); /***/ }), /***/ "./node_modules/graphql/language/location.js": /*!***************************************************!*\ !*** ./node_modules/graphql/language/location.js ***! \***************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export getLocation [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__ */ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getLocation = getLocation;\n/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\n\nfunction getLocation(source, position) {\n var lineRegexp = /\\r\\n|[\\n\\r]/g;\n var line = 1;\n var column = position + 1;\n var match;\n\n while ((match = lineRegexp.exec(source.body)) && match.index < position) {\n line += 1;\n column = position + 1 - (match.index + match[0].length);\n }\n\n return {\n line: line,\n column: column\n };\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/language/location.js?"); /***/ }), /***/ "./node_modules/graphql/language/parser.js": /*!*************************************************!*\ !*** ./node_modules/graphql/language/parser.js ***! \*************************************************/ /*! flagged exports */ /*! export Parser [provided] [no usage info] [missing usage info prevents renaming] */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export parse [provided] [no usage info] [missing usage info prevents renaming] */ /*! export parseType [provided] [no usage info] [missing usage info prevents renaming] */ /*! export parseValue [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.parse = parse;\nexports.parseValue = parseValue;\nexports.parseType = parseType;\nexports.Parser = void 0;\n\nvar _syntaxError = __webpack_require__(/*! ../error/syntaxError.js */ \"./node_modules/graphql/error/syntaxError.js\");\n\nvar _kinds = __webpack_require__(/*! ./kinds.js */ \"./node_modules/graphql/language/kinds.js\");\n\nvar _ast = __webpack_require__(/*! ./ast.js */ \"./node_modules/graphql/language/ast.js\");\n\nvar _tokenKind = __webpack_require__(/*! ./tokenKind.js */ \"./node_modules/graphql/language/tokenKind.js\");\n\nvar _source = __webpack_require__(/*! ./source.js */ \"./node_modules/graphql/language/source.js\");\n\nvar _directiveLocation = __webpack_require__(/*! ./directiveLocation.js */ \"./node_modules/graphql/language/directiveLocation.js\");\n\nvar _lexer = __webpack_require__(/*! ./lexer.js */ \"./node_modules/graphql/language/lexer.js\");\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\n\n\nfunction parse(source, options) {\n var parser = new Parser(source, options);\n return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\n\nfunction parseValue(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(_tokenKind.TokenKind.SOF);\n var value = parser.parseValueLiteral(false);\n parser.expectToken(_tokenKind.TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\n\nfunction parseType(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(_tokenKind.TokenKind.SOF);\n var type = parser.parseTypeReference();\n parser.expectToken(_tokenKind.TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\n\nvar Parser = /*#__PURE__*/function () {\n function Parser(source, options) {\n var sourceObj = (0, _source.isSource)(source) ? source : new _source.Source(source);\n this._lexer = new _lexer.Lexer(sourceObj);\n this._options = options;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n\n var _proto = Parser.prototype;\n\n _proto.parseName = function parseName() {\n var token = this.expectToken(_tokenKind.TokenKind.NAME);\n return {\n kind: _kinds.Kind.NAME,\n value: token.value,\n loc: this.loc(token)\n };\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n ;\n\n _proto.parseDocument = function parseDocument() {\n var start = this._lexer.token;\n return {\n kind: _kinds.Kind.DOCUMENT,\n definitions: this.many(_tokenKind.TokenKind.SOF, this.parseDefinition, _tokenKind.TokenKind.EOF),\n loc: this.loc(start)\n };\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n */\n ;\n\n _proto.parseDefinition = function parseDefinition() {\n if (this.peek(_tokenKind.TokenKind.NAME)) {\n switch (this._lexer.token.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'schema':\n case 'scalar':\n case 'type':\n case 'interface':\n case 'union':\n case 'enum':\n case 'input':\n case 'directive':\n return this.parseTypeSystemDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n } else if (this.peek(_tokenKind.TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } else if (this.peekDescription()) {\n return this.parseTypeSystemDefinition();\n }\n\n throw this.unexpected();\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n ;\n\n _proto.parseOperationDefinition = function parseOperationDefinition() {\n var start = this._lexer.token;\n\n if (this.peek(_tokenKind.TokenKind.BRACE_L)) {\n return {\n kind: _kinds.Kind.OPERATION_DEFINITION,\n operation: 'query',\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n var operation = this.parseOperationType();\n var name;\n\n if (this.peek(_tokenKind.TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return {\n kind: _kinds.Kind.OPERATION_DEFINITION,\n operation: operation,\n name: name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * OperationType : one of query mutation subscription\n */\n ;\n\n _proto.parseOperationType = function parseOperationType() {\n var operationToken = this.expectToken(_tokenKind.TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return 'query';\n\n case 'mutation':\n return 'mutation';\n\n case 'subscription':\n return 'subscription';\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n ;\n\n _proto.parseVariableDefinitions = function parseVariableDefinitions() {\n return this.optionalMany(_tokenKind.TokenKind.PAREN_L, this.parseVariableDefinition, _tokenKind.TokenKind.PAREN_R);\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseVariableDefinition = function parseVariableDefinition() {\n var start = this._lexer.token;\n return {\n kind: _kinds.Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(_tokenKind.TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(_tokenKind.TokenKind.EQUALS) ? this.parseValueLiteral(true) : undefined,\n directives: this.parseDirectives(true),\n loc: this.loc(start)\n };\n }\n /**\n * Variable : $ Name\n */\n ;\n\n _proto.parseVariable = function parseVariable() {\n var start = this._lexer.token;\n this.expectToken(_tokenKind.TokenKind.DOLLAR);\n return {\n kind: _kinds.Kind.VARIABLE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n }\n /**\n * SelectionSet : { Selection+ }\n */\n ;\n\n _proto.parseSelectionSet = function parseSelectionSet() {\n var start = this._lexer.token;\n return {\n kind: _kinds.Kind.SELECTION_SET,\n selections: this.many(_tokenKind.TokenKind.BRACE_L, this.parseSelection, _tokenKind.TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n ;\n\n _proto.parseSelection = function parseSelection() {\n return this.peek(_tokenKind.TokenKind.SPREAD) ? this.parseFragment() : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n ;\n\n _proto.parseField = function parseField() {\n var start = this._lexer.token;\n var nameOrAlias = this.parseName();\n var alias;\n var name;\n\n if (this.expectOptionalToken(_tokenKind.TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return {\n kind: _kinds.Kind.FIELD,\n alias: alias,\n name: name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(_tokenKind.TokenKind.BRACE_L) ? this.parseSelectionSet() : undefined,\n loc: this.loc(start)\n };\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n ;\n\n _proto.parseArguments = function parseArguments(isConst) {\n var item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(_tokenKind.TokenKind.PAREN_L, item, _tokenKind.TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseArgument = function parseArgument() {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(_tokenKind.TokenKind.COLON);\n return {\n kind: _kinds.Kind.ARGUMENT,\n name: name,\n value: this.parseValueLiteral(false),\n loc: this.loc(start)\n };\n };\n\n _proto.parseConstArgument = function parseConstArgument() {\n var start = this._lexer.token;\n return {\n kind: _kinds.Kind.ARGUMENT,\n name: this.parseName(),\n value: (this.expectToken(_tokenKind.TokenKind.COLON), this.parseValueLiteral(true)),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n ;\n\n _proto.parseFragment = function parseFragment() {\n var start = this._lexer.token;\n this.expectToken(_tokenKind.TokenKind.SPREAD);\n var hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(_tokenKind.TokenKind.NAME)) {\n return {\n kind: _kinds.Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: _kinds.Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n ;\n\n _proto.parseFragmentDefinition = function parseFragmentDefinition() {\n var _this$_options;\n\n var start = this._lexer.token;\n this.expectKeyword('fragment'); // Experimental support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.experimentalFragmentVariables) === true) {\n return {\n kind: _kinds.Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: _kinds.Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentName : Name but not `on`\n */\n ;\n\n _proto.parseFragmentName = function parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n ;\n\n _proto.parseValueLiteral = function parseValueLiteral(isConst) {\n var token = this._lexer.token;\n\n switch (token.kind) {\n case _tokenKind.TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case _tokenKind.TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case _tokenKind.TokenKind.INT:\n this._lexer.advance();\n\n return {\n kind: _kinds.Kind.INT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case _tokenKind.TokenKind.FLOAT:\n this._lexer.advance();\n\n return {\n kind: _kinds.Kind.FLOAT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case _tokenKind.TokenKind.STRING:\n case _tokenKind.TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case _tokenKind.TokenKind.NAME:\n this._lexer.advance();\n\n switch (token.value) {\n case 'true':\n return {\n kind: _kinds.Kind.BOOLEAN,\n value: true,\n loc: this.loc(token)\n };\n\n case 'false':\n return {\n kind: _kinds.Kind.BOOLEAN,\n value: false,\n loc: this.loc(token)\n };\n\n case 'null':\n return {\n kind: _kinds.Kind.NULL,\n loc: this.loc(token)\n };\n\n default:\n return {\n kind: _kinds.Kind.ENUM,\n value: token.value,\n loc: this.loc(token)\n };\n }\n\n case _tokenKind.TokenKind.DOLLAR:\n if (!isConst) {\n return this.parseVariable();\n }\n\n break;\n }\n\n throw this.unexpected();\n };\n\n _proto.parseStringLiteral = function parseStringLiteral() {\n var token = this._lexer.token;\n\n this._lexer.advance();\n\n return {\n kind: _kinds.Kind.STRING,\n value: token.value,\n block: token.kind === _tokenKind.TokenKind.BLOCK_STRING,\n loc: this.loc(token)\n };\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n ;\n\n _proto.parseList = function parseList(isConst) {\n var _this = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this.parseValueLiteral(isConst);\n };\n\n return {\n kind: _kinds.Kind.LIST,\n values: this.any(_tokenKind.TokenKind.BRACKET_L, item, _tokenKind.TokenKind.BRACKET_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n */\n ;\n\n _proto.parseObject = function parseObject(isConst) {\n var _this2 = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this2.parseObjectField(isConst);\n };\n\n return {\n kind: _kinds.Kind.OBJECT,\n fields: this.any(_tokenKind.TokenKind.BRACE_L, item, _tokenKind.TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseObjectField = function parseObjectField(isConst) {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(_tokenKind.TokenKind.COLON);\n return {\n kind: _kinds.Kind.OBJECT_FIELD,\n name: name,\n value: this.parseValueLiteral(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n ;\n\n _proto.parseDirectives = function parseDirectives(isConst) {\n var directives = [];\n\n while (this.peek(_tokenKind.TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n /**\n * Directive[Const] : @ Name Arguments[?Const]?\n */\n ;\n\n _proto.parseDirective = function parseDirective(isConst) {\n var start = this._lexer.token;\n this.expectToken(_tokenKind.TokenKind.AT);\n return {\n kind: _kinds.Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n ;\n\n _proto.parseTypeReference = function parseTypeReference() {\n var start = this._lexer.token;\n var type;\n\n if (this.expectOptionalToken(_tokenKind.TokenKind.BRACKET_L)) {\n type = this.parseTypeReference();\n this.expectToken(_tokenKind.TokenKind.BRACKET_R);\n type = {\n kind: _kinds.Kind.LIST_TYPE,\n type: type,\n loc: this.loc(start)\n };\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(_tokenKind.TokenKind.BANG)) {\n return {\n kind: _kinds.Kind.NON_NULL_TYPE,\n type: type,\n loc: this.loc(start)\n };\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n ;\n\n _proto.parseNamedType = function parseNamedType() {\n var start = this._lexer.token;\n return {\n kind: _kinds.Kind.NAMED_TYPE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Type Definition section.\n\n /**\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemDefinition = function parseTypeSystemDefinition() {\n // Many definitions begin with a description and require a lookahead.\n var keywordToken = this.peekDescription() ? this._lexer.lookahead() : this._lexer.token;\n\n if (keywordToken.kind === _tokenKind.TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n }\n\n throw this.unexpected(keywordToken);\n };\n\n _proto.peekDescription = function peekDescription() {\n return this.peek(_tokenKind.TokenKind.STRING) || this.peek(_tokenKind.TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n ;\n\n _proto.parseDescription = function parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n */\n ;\n\n _proto.parseSchemaDefinition = function parseSchemaDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.many(_tokenKind.TokenKind.BRACE_L, this.parseOperationTypeDefinition, _tokenKind.TokenKind.BRACE_R);\n return {\n kind: _kinds.Kind.SCHEMA_DEFINITION,\n description: description,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n ;\n\n _proto.parseOperationTypeDefinition = function parseOperationTypeDefinition() {\n var start = this._lexer.token;\n var operation = this.parseOperationType();\n this.expectToken(_tokenKind.TokenKind.COLON);\n var type = this.parseNamedType();\n return {\n kind: _kinds.Kind.OPERATION_TYPE_DEFINITION,\n operation: operation,\n type: type,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n ;\n\n _proto.parseScalarTypeDefinition = function parseScalarTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: _kinds.Kind.SCALAR_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseObjectTypeDefinition = function parseObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: _kinds.Kind.OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n ;\n\n _proto.parseImplementsInterfaces = function parseImplementsInterfaces() {\n var _this$_options2;\n\n if (!this.expectOptionalKeyword('implements')) {\n return [];\n }\n\n if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.allowLegacySDLImplementsInterfaces) === true) {\n var types = []; // Optional leading ampersand\n\n this.expectOptionalToken(_tokenKind.TokenKind.AMP);\n\n do {\n types.push(this.parseNamedType());\n } while (this.expectOptionalToken(_tokenKind.TokenKind.AMP) || this.peek(_tokenKind.TokenKind.NAME));\n\n return types;\n }\n\n return this.delimitedMany(_tokenKind.TokenKind.AMP, this.parseNamedType);\n }\n /**\n * FieldsDefinition : { FieldDefinition+ }\n */\n ;\n\n _proto.parseFieldsDefinition = function parseFieldsDefinition() {\n var _this$_options3; // Legacy support for the SDL?\n\n\n if (((_this$_options3 = this._options) === null || _this$_options3 === void 0 ? void 0 : _this$_options3.allowLegacySDLEmptyFields) === true && this.peek(_tokenKind.TokenKind.BRACE_L) && this._lexer.lookahead().kind === _tokenKind.TokenKind.BRACE_R) {\n this._lexer.advance();\n\n this._lexer.advance();\n\n return [];\n }\n\n return this.optionalMany(_tokenKind.TokenKind.BRACE_L, this.parseFieldDefinition, _tokenKind.TokenKind.BRACE_R);\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n ;\n\n _proto.parseFieldDefinition = function parseFieldDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n this.expectToken(_tokenKind.TokenKind.COLON);\n var type = this.parseTypeReference();\n var directives = this.parseDirectives(true);\n return {\n kind: _kinds.Kind.FIELD_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n type: type,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n ;\n\n _proto.parseArgumentDefs = function parseArgumentDefs() {\n return this.optionalMany(_tokenKind.TokenKind.PAREN_L, this.parseInputValueDef, _tokenKind.TokenKind.PAREN_R);\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseInputValueDef = function parseInputValueDef() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n this.expectToken(_tokenKind.TokenKind.COLON);\n var type = this.parseTypeReference();\n var defaultValue;\n\n if (this.expectOptionalToken(_tokenKind.TokenKind.EQUALS)) {\n defaultValue = this.parseValueLiteral(true);\n }\n\n var directives = this.parseDirectives(true);\n return {\n kind: _kinds.Kind.INPUT_VALUE_DEFINITION,\n description: description,\n name: name,\n type: type,\n defaultValue: defaultValue,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseInterfaceTypeDefinition = function parseInterfaceTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: _kinds.Kind.INTERFACE_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n ;\n\n _proto.parseUnionTypeDefinition = function parseUnionTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n return {\n kind: _kinds.Kind.UNION_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n ;\n\n _proto.parseUnionMemberTypes = function parseUnionMemberTypes() {\n return this.expectOptionalToken(_tokenKind.TokenKind.EQUALS) ? this.delimitedMany(_tokenKind.TokenKind.PIPE, this.parseNamedType) : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n ;\n\n _proto.parseEnumTypeDefinition = function parseEnumTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n return {\n kind: _kinds.Kind.ENUM_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * EnumValuesDefinition : { EnumValueDefinition+ }\n */\n ;\n\n _proto.parseEnumValuesDefinition = function parseEnumValuesDefinition() {\n return this.optionalMany(_tokenKind.TokenKind.BRACE_L, this.parseEnumValueDefinition, _tokenKind.TokenKind.BRACE_R);\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n *\n * EnumValue : Name\n */\n ;\n\n _proto.parseEnumValueDefinition = function parseEnumValueDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: _kinds.Kind.ENUM_VALUE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n ;\n\n _proto.parseInputObjectTypeDefinition = function parseInputObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n return {\n kind: _kinds.Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InputFieldsDefinition : { InputValueDefinition+ }\n */\n ;\n\n _proto.parseInputFieldsDefinition = function parseInputFieldsDefinition() {\n return this.optionalMany(_tokenKind.TokenKind.BRACE_L, this.parseInputValueDef, _tokenKind.TokenKind.BRACE_R);\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemExtension = function parseTypeSystemExtension() {\n var keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === _tokenKind.TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n */\n ;\n\n _proto.parseSchemaExtension = function parseSchemaExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.optionalMany(_tokenKind.TokenKind.BRACE_L, this.parseOperationTypeDefinition, _tokenKind.TokenKind.BRACE_R);\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: _kinds.Kind.SCHEMA_EXTENSION,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n ;\n\n _proto.parseScalarTypeExtension = function parseScalarTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: _kinds.Kind.SCALAR_TYPE_EXTENSION,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n ;\n\n _proto.parseObjectTypeExtension = function parseObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: _kinds.Kind.OBJECT_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n ;\n\n _proto.parseInterfaceTypeExtension = function parseInterfaceTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: _kinds.Kind.INTERFACE_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n ;\n\n _proto.parseUnionTypeExtension = function parseUnionTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: _kinds.Kind.UNION_TYPE_EXTENSION,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n ;\n\n _proto.parseEnumTypeExtension = function parseEnumTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: _kinds.Kind.ENUM_TYPE_EXTENSION,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n ;\n\n _proto.parseInputObjectTypeExtension = function parseInputObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: _kinds.Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n */\n ;\n\n _proto.parseDirectiveDefinition = function parseDirectiveDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(_tokenKind.TokenKind.AT);\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n var repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n var locations = this.parseDirectiveLocations();\n return {\n kind: _kinds.Kind.DIRECTIVE_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n repeatable: repeatable,\n locations: locations,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n ;\n\n _proto.parseDirectiveLocations = function parseDirectiveLocations() {\n return this.delimitedMany(_tokenKind.TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n ;\n\n _proto.parseDirectiveLocation = function parseDirectiveLocation() {\n var start = this._lexer.token;\n var name = this.parseName();\n\n if (_directiveLocation.DirectiveLocation[name.value] !== undefined) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a location object, used to identify the place in the source that created a given parsed object.\n */\n ;\n\n _proto.loc = function loc(startToken) {\n var _this$_options4;\n\n if (((_this$_options4 = this._options) === null || _this$_options4 === void 0 ? void 0 : _this$_options4.noLocation) !== true) {\n return new _ast.Location(startToken, this._lexer.lastToken, this._lexer.source);\n }\n }\n /**\n * Determines if the next token is of a given kind\n */\n ;\n\n _proto.peek = function peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectToken = function expectToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n throw (0, _syntaxError.syntaxError)(this._lexer.source, token.start, \"Expected \".concat(getTokenKindDesc(kind), \", found \").concat(getTokenDesc(token), \".\"));\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and return undefined.\n */\n ;\n\n _proto.expectOptionalToken = function expectOptionalToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n return undefined;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectKeyword = function expectKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === _tokenKind.TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n } else {\n throw (0, _syntaxError.syntaxError)(this._lexer.source, token.start, \"Expected \\\"\".concat(value, \"\\\", found \").concat(getTokenDesc(token), \".\"));\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n ;\n\n _proto.expectOptionalKeyword = function expectOptionalKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === _tokenKind.TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n ;\n\n _proto.unexpected = function unexpected(atToken) {\n var token = atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return (0, _syntaxError.syntaxError)(this._lexer.source, token.start, \"Unexpected \".concat(getTokenDesc(token), \".\"));\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.any = function any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.optionalMany = function optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.many = function many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n ;\n\n _proto.delimitedMany = function delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n };\n\n return Parser;\n}();\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\n\nexports.Parser = Parser;\n\nfunction getTokenDesc(token) {\n var value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? \" \\\"\".concat(value, \"\\\"\") : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\n\nfunction getTokenKindDesc(kind) {\n return (0, _lexer.isPunctuatorTokenKind)(kind) ? \"\\\"\".concat(kind, \"\\\"\") : kind;\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/language/parser.js?"); /***/ }), /***/ "./node_modules/graphql/language/printLocation.js": /*!********************************************************!*\ !*** ./node_modules/graphql/language/printLocation.js ***! \********************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export printLocation [provided] [no usage info] [missing usage info prevents renaming] */ /*! export printSourceLocation [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.printLocation = printLocation;\nexports.printSourceLocation = printSourceLocation;\n\nvar _location = __webpack_require__(/*! ./location.js */ \"./node_modules/graphql/language/location.js\");\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\n\nfunction printLocation(location) {\n return printSourceLocation(location.source, (0, _location.getLocation)(location.source, location.start));\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\n\nfunction printSourceLocation(source, sourceLocation) {\n var firstLineColumnOffset = source.locationOffset.column - 1;\n var body = whitespace(firstLineColumnOffset) + source.body;\n var lineIndex = sourceLocation.line - 1;\n var lineOffset = source.locationOffset.line - 1;\n var lineNum = sourceLocation.line + lineOffset;\n var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n var columnNum = sourceLocation.column + columnOffset;\n var locationStr = \"\".concat(source.name, \":\").concat(lineNum, \":\").concat(columnNum, \"\\n\");\n var lines = body.split(/\\r\\n|[\\n\\r]/g);\n var locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n var subLineIndex = Math.floor(columnNum / 80);\n var subLineColumnNum = columnNum % 80;\n var subLines = [];\n\n for (var i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return locationStr + printPrefixedLines([[\"\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\n return ['', subLine];\n }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\n }\n\n return locationStr + printPrefixedLines([// Lines specified like this: [\"prefix\", \"string\"],\n [\"\".concat(lineNum - 1), lines[lineIndex - 1]], [\"\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\"\".concat(lineNum + 1), lines[lineIndex + 1]]]);\n}\n\nfunction printPrefixedLines(lines) {\n var existingLines = lines.filter(function (_ref) {\n var _ = _ref[0],\n line = _ref[1];\n return line !== undefined;\n });\n var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\n var prefix = _ref2[0];\n return prefix.length;\n }));\n return existingLines.map(function (_ref3) {\n var prefix = _ref3[0],\n line = _ref3[1];\n return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\n }).join('\\n');\n}\n\nfunction whitespace(len) {\n return Array(len + 1).join(' ');\n}\n\nfunction leftPad(len, str) {\n return whitespace(len - str.length) + str;\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/language/printLocation.js?"); /***/ }), /***/ "./node_modules/graphql/language/printer.js": /*!**************************************************!*\ !*** ./node_modules/graphql/language/printer.js ***! \**************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export print [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.print = print;\n\nvar _visitor = __webpack_require__(/*! ./visitor.js */ \"./node_modules/graphql/language/visitor.js\");\n\nvar _blockString = __webpack_require__(/*! ./blockString.js */ \"./node_modules/graphql/language/blockString.js\");\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\n\nfunction print(ast) {\n return (0, _visitor.visit)(ast, {\n leave: printDocASTReducer\n });\n}\n\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? (0, _blockString.printBlockString)(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/language/printer.js?"); /***/ }), /***/ "./node_modules/graphql/language/source.js": /*!*************************************************!*\ !*** ./node_modules/graphql/language/source.js ***! \*************************************************/ /*! flagged exports */ /*! export Source [provided] [no usage info] [missing usage info prevents renaming] */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export isSource [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isSource = isSource;\nexports.Source = void 0;\n\nvar _symbols = __webpack_require__(/*! ../polyfills/symbols.js */ \"./node_modules/graphql/polyfills/symbols.js\");\n\nvar _inspect = _interopRequireDefault(__webpack_require__(/*! ../jsutils/inspect.js */ \"./node_modules/graphql/jsutils/inspect.js\"));\n\nvar _devAssert = _interopRequireDefault(__webpack_require__(/*! ../jsutils/devAssert.js */ \"./node_modules/graphql/jsutils/devAssert.js\"));\n\nvar _instanceOf = _interopRequireDefault(__webpack_require__(/*! ../jsutils/instanceOf.js */ \"./node_modules/graphql/jsutils/instanceOf.js\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\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/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\n\n\nvar Source = /*#__PURE__*/function () {\n function Source(body) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\n var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n line: 1,\n column: 1\n };\n typeof body === 'string' || (0, _devAssert.default)(0, \"Body must be a string. Received: \".concat((0, _inspect.default)(body), \".\"));\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 || (0, _devAssert.default)(0, 'line in locationOffset is 1-indexed and must be positive.');\n this.locationOffset.column > 0 || (0, _devAssert.default)(0, 'column in locationOffset is 1-indexed and must be positive.');\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n\n _createClass(Source, [{\n key: _symbols.SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Source';\n }\n }]);\n\n return Source;\n}();\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\n\nexports.Source = Source; // eslint-disable-next-line no-redeclare\n\nfunction isSource(source) {\n return (0, _instanceOf.default)(source, Source);\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/language/source.js?"); /***/ }), /***/ "./node_modules/graphql/language/tokenKind.js": /*!****************************************************!*\ !*** ./node_modules/graphql/language/tokenKind.js ***! \****************************************************/ /*! flagged exports */ /*! export TokenKind [provided] [no usage info] [missing usage info prevents renaming] */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__ */ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TokenKind = void 0;\n/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\n\nvar TokenKind = Object.freeze({\n SOF: '',\n EOF: '',\n BANG: '!',\n DOLLAR: '$',\n AMP: '&',\n PAREN_L: '(',\n PAREN_R: ')',\n SPREAD: '...',\n COLON: ':',\n EQUALS: '=',\n AT: '@',\n BRACKET_L: '[',\n BRACKET_R: ']',\n BRACE_L: '{',\n PIPE: '|',\n BRACE_R: '}',\n NAME: 'Name',\n INT: 'Int',\n FLOAT: 'Float',\n STRING: 'String',\n BLOCK_STRING: 'BlockString',\n COMMENT: 'Comment'\n});\n/**\n * The enum type representing the token kinds values.\n */\n\nexports.TokenKind = TokenKind;\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/language/tokenKind.js?"); /***/ }), /***/ "./node_modules/graphql/language/visitor.js": /*!**************************************************!*\ !*** ./node_modules/graphql/language/visitor.js ***! \**************************************************/ /*! flagged exports */ /*! export BREAK [provided] [no usage info] [missing usage info prevents renaming] */ /*! export QueryDocumentKeys [provided] [no usage info] [missing usage info prevents renaming] */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export getVisitFn [provided] [no usage info] [missing usage info prevents renaming] */ /*! export visit [provided] [no usage info] [missing usage info prevents renaming] */ /*! export visitInParallel [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.visit = visit;\nexports.visitInParallel = visitInParallel;\nexports.getVisitFn = getVisitFn;\nexports.BREAK = exports.QueryDocumentKeys = void 0;\n\nvar _inspect = _interopRequireDefault(__webpack_require__(/*! ../jsutils/inspect.js */ \"./node_modules/graphql/jsutils/inspect.js\"));\n\nvar _ast = __webpack_require__(/*! ./ast.js */ \"./node_modules/graphql/language/ast.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexports.QueryDocumentKeys = QueryDocumentKeys;\nvar BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexports.BREAK = BREAK;\n\nfunction visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n /* eslint-disable no-undef-init */\n\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!(0, _ast.isNode)(node)) {\n throw new Error(\"Invalid AST Node: \".concat((0, _inspect.default)(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if ((0, _ast.isNode)(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\n\nfunction visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\n\nfunction getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/language/visitor.js?"); /***/ }), /***/ "./node_modules/graphql/polyfills/symbols.js": /*!***************************************************!*\ !*** ./node_modules/graphql/polyfills/symbols.js ***! \***************************************************/ /*! flagged exports */ /*! export SYMBOL_ASYNC_ITERATOR [provided] [no usage info] [missing usage info prevents renaming] */ /*! export SYMBOL_ITERATOR [provided] [no usage info] [missing usage info prevents renaming] */ /*! export SYMBOL_TO_STRING_TAG [provided] [no usage info] [missing usage info prevents renaming] */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__ */ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SYMBOL_TO_STRING_TAG = exports.SYMBOL_ASYNC_ITERATOR = exports.SYMBOL_ITERATOR = void 0; // In ES2015 (or a polyfilled) environment, this will be Symbol.iterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nvar SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexports.SYMBOL_ITERATOR = SYMBOL_ITERATOR;\nvar SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexports.SYMBOL_ASYNC_ITERATOR = SYMBOL_ASYNC_ITERATOR;\nvar SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';\nexports.SYMBOL_TO_STRING_TAG = SYMBOL_TO_STRING_TAG;\n\n//# sourceURL=webpack://materio.com/./node_modules/graphql/polyfills/symbols.js?"); /***/ }), /***/ "./node_modules/querystring-es3/decode.js": /*!************************************************!*\ !*** ./node_modules/querystring-es3/decode.js ***! \************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module */ /***/ ((module) => { "use strict"; eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n // If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function (qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n var maxKeys = 1000;\n\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length; // maxKeys <= 0 means that we should not limit keys count\n\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr,\n vstr,\n k,\n v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/querystring-es3/decode.js?"); /***/ }), /***/ "./node_modules/querystring-es3/encode.js": /*!************************************************!*\ !*** ./node_modules/querystring-es3/encode.js ***! \************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module */ /***/ ((module) => { "use strict"; eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\nvar stringifyPrimitive = function (v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function (obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function (k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n\n if (isArray(obj[k])) {\n return map(obj[k], function (v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq + encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map(xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n\n return res;\n};\n\n//# sourceURL=webpack://materio.com/./node_modules/querystring-es3/encode.js?"); /***/ }), /***/ "./node_modules/querystring-es3/index.js": /*!***********************************************!*\ !*** ./node_modules/querystring-es3/index.js ***! \***********************************************/ /*! default exports */ /*! export decode [provided] [no usage info] [missing usage info prevents renaming] */ /*! export encode [provided] [no usage info] [missing usage info prevents renaming] */ /*! export parse [provided] [no usage info] [provision prevents renaming (no use info)] -> ./node_modules/querystring-es3/decode.js */ /*! exports [maybe provided (runtime-defined)] [no usage info] */ /*! export stringify [provided] [no usage info] [provision prevents renaming (no use info)] -> ./node_modules/querystring-es3/encode.js */ /*! exports [maybe provided (runtime-defined)] [no usage info] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nexports.decode = exports.parse = __webpack_require__(/*! ./decode */ \"./node_modules/querystring-es3/decode.js\");\nexports.encode = exports.stringify = __webpack_require__(/*! ./encode */ \"./node_modules/querystring-es3/encode.js\");\n\n//# sourceURL=webpack://materio.com/./node_modules/querystring-es3/index.js?"); /***/ }), /***/ "./node_modules/vue-cool-lightbox/dist/vue-cool-lightbox.esm.js": /*!**********************************************************************!*\ !*** ./node_modules/vue-cool-lightbox/dist/vue-cool-lightbox.esm.js ***! \**********************************************************************/ /*! namespace exports */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.g, __webpack_require__.d, __webpack_require__.* */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => __WEBPACK_DEFAULT_EXPORT__\n/* harmony export */ });\n/* harmony import */ var body_scroll_lock__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! body-scroll-lock */ \"./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js\");\n\nvar LazyLoadDirective = {\n inserted: function (el) {\n function loadImage() {\n var imageElement = Array.from(el.children).find(function (el) {\n return el.nodeName === \"IMG\";\n });\n\n if (imageElement) {\n imageElement.addEventListener(\"load\", function () {\n setTimeout(function () {\n return el.classList.add(\"loaded\");\n }, 100);\n });\n imageElement.addEventListener(\"error\", function () {\n return console.log(\"error\");\n });\n imageElement.src = imageElement.dataset.url;\n }\n }\n\n function handleIntersect(entries, observer) {\n entries.forEach(function (entry) {\n if (entry.isIntersecting) {\n loadImage();\n observer.unobserve(el);\n }\n });\n }\n\n function createObserver() {\n var options = {\n root: null,\n threshold: \"0\"\n };\n var observer = new IntersectionObserver(handleIntersect, options);\n observer.observe(el);\n }\n\n if (window[\"IntersectionObserver\"]) {\n createObserver();\n } else {\n loadImage();\n }\n }\n};\nvar AutoplayObserver = {\n inserted: function (el) {\n // getYoutube ID\n function isYoutubeVideo(url) {\n // youtube data\n var youtubeRegex = /^(?:https?:\\/\\/)?(?:www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})(?:\\S+)?$/;\n var ytId = url.match(youtubeRegex) ? RegExp.$1 : false;\n\n if (ytId) {\n return true;\n }\n\n return false;\n }\n\n function autoplayVideo() {\n var tagName = el.tagName;\n var autoplay = el.dataset.autoplay;\n\n if (autoplay) {\n if (tagName === 'VIDEO') {\n el.muted = true;\n el.autoplay = true;\n return;\n }\n\n if (tagName === 'IFRAME') {\n var url = new URL(el.src);\n var muted = 'muted';\n\n if (isYoutubeVideo(el.src)) {\n muted = 'mute';\n } // append autoplay\n\n\n url.searchParams.append(muted, 1);\n url.searchParams.append('autoplay', 1);\n el.src = url.href;\n }\n }\n }\n\n function handleIntersect(entries, observer) {\n entries.forEach(function (entry) {\n if (entry.isIntersecting) {\n autoplayVideo();\n observer.unobserve(el);\n }\n });\n }\n\n function createObserver() {\n var options = {\n root: null,\n threshold: \"0\"\n };\n var observer = new IntersectionObserver(handleIntersect, options);\n observer.observe(el);\n }\n\n if (window[\"IntersectionObserver\"]) {\n createObserver();\n } else {\n loadImage();\n }\n }\n}; //\n\nvar script = {\n directives: {\n lazyload: LazyLoadDirective,\n autoplayObserver: AutoplayObserver\n },\n data: function data() {\n return {\n // swipe data\n initialMouseX: 0,\n initialMouseY: 0,\n endMouseX: 0,\n endMouseY: 0,\n swipeType: null,\n IsSwipping: false,\n isDraggingSwipe: false,\n // use for mouse wheel\n prevTime: 0,\n // swipe effect\n xSwipeWrapper: 0,\n ySwipeWrapper: 0,\n swipeAnimation: null,\n swipeInterval: null,\n lightboxInnerWidth: null,\n // styles data\n imgIndex: this.index,\n isVisible: false,\n paddingBottom: false,\n imageLoading: false,\n showThumbs: false,\n isFullScreenMode: false,\n // aspect ratio videos\n aspectRatioVideo: {\n width: 'auto',\n height: 'auto'\n },\n // props to bind styles\n buttonsVisible: true,\n scale: 1,\n top: 0,\n left: 0,\n lastX: 0,\n lastY: 0,\n isDraging: false,\n canZoom: true,\n isZooming: false,\n transition: 'all .3s ease',\n zoomBar: 0,\n // slideshow playing data\n isPlayingSlideShow: false,\n intervalProgress: null,\n loopData: false,\n stylesInterval: {\n 'display': 'block'\n }\n };\n },\n props: {\n index: {\n required: true\n },\n effect: {\n type: String,\n default: 'swipe'\n },\n items: {\n type: Array,\n required: true\n },\n loop: {\n type: Boolean,\n default: true\n },\n slideshow: {\n type: Boolean,\n default: true\n },\n slideshowColorBar: {\n type: String,\n default: '#fa4242'\n },\n slideshowDuration: {\n type: Number,\n default: 3000\n },\n useZoomBar: {\n type: Boolean,\n default: false\n },\n closeOnClickOutsideMobile: {\n type: Boolean,\n default: false\n },\n srcName: {\n type: String,\n default: 'src'\n },\n srcThumb: {\n type: String,\n default: 'thumb'\n },\n srcMediaType: {\n type: String,\n default: 'mediaType'\n },\n overlayColor: {\n type: String,\n default: 'rgba(30, 30, 30, .9)'\n },\n zIndex: {\n type: Number,\n default: 9999\n },\n gallery: {\n type: Boolean,\n default: true\n },\n fullScreen: {\n type: Boolean,\n default: false\n },\n thumbsPosition: {\n type: String,\n default: 'right'\n },\n youtubeCookies: {\n type: Boolean,\n default: true\n },\n enableWheelEvent: {\n type: Boolean,\n default: false\n },\n showCloseButton: {\n type: Boolean,\n default: true\n },\n disableZoom: {\n type: Boolean,\n default: false\n },\n dir: {\n type: String,\n default: 'ltr'\n },\n enableScrollLock: {\n type: Boolean,\n default: true\n }\n },\n watch: {\n zoomBar: function zoomBar(newVal, prevVal) {\n var item;\n\n if (this.isZooming) {\n if (this.effect == 'swipe') {\n item = this.$refs.items[this.imgIndex].childNodes[0];\n } else {\n item = this.$refs.items.childNodes[0];\n }\n\n var newZoom = 1.6 + newVal / 10;\n item.style.transform = 'translate3d(calc(-50% + ' + this.left + 'px), calc(-50% + ' + this.top + 'px), 0px) scale3d(' + newZoom + ', ' + newZoom + ', ' + newZoom + ')';\n }\n },\n showThumbs: function showThumbs(prev, val) {\n var widthGalleryBlock = 212;\n var swipeAnimation = 'all .3s ease';\n\n if (window.innerWidth < 767) {\n widthGalleryBlock = 102;\n swipeAnimation = null;\n }\n\n var self = this;\n this.swipeAnimation = swipeAnimation;\n\n if (prev) {\n if (this.dir === 'rtl') {\n this.xSwipeWrapper = this.imgIndex * (window.innerWidth - widthGalleryBlock) + 30 * this.imgIndex;\n } else {\n this.xSwipeWrapper = -this.imgIndex * (window.innerWidth - widthGalleryBlock) - 30 * this.imgIndex;\n }\n } else {\n if (this.dir === 'rtl') {\n this.xSwipeWrapper = this.imgIndex * window.innerWidth + 30 * this.imgIndex;\n } else {\n this.xSwipeWrapper = -this.imgIndex * window.innerWidth - 30 * this.imgIndex;\n }\n }\n\n setTimeout(function () {\n self.swipeAnimation = null;\n }, 300);\n },\n index: function index(prev, val) {\n var self = this; // body scroll lock\n\n var $body = document.querySelector('body');\n\n if (prev !== null) {\n // swipe type\n this.swipeType = null;\n this.initialMouseY = 0;\n this.ySwipeWrapper = 0; // set loop from data\n\n this.loopData = this.loop; // swipe effect case remove loop\n\n if (this.effect === 'swipe') {\n this.loopData = false;\n window.addEventListener('resize', this.xPositionOnResize);\n } // add img index\n\n\n this.imgIndex = prev;\n this.isVisible = true; // add events listener\n\n window.addEventListener('keydown', this.eventListener); // add wheel event\n\n if (this.enableWheelEvent) {\n window.addEventListener('wheel', this.wheelEvent);\n } // only in mobile\n\n\n if (window.innerWidth < 700) {\n // add click event\n setTimeout(function () {\n window.addEventListener('click', self.showButtons);\n }, 200);\n }\n\n if (this.enableScrollLock) {\n setTimeout(function () {\n self.setCompensateForScrollbar();\n (0,body_scroll_lock__WEBPACK_IMPORTED_MODULE_0__.disableBodyScroll)(self.$refs.coolLightbox);\n }, 50);\n }\n } else {\n // hide and stop slideshow\n this.isVisible = false;\n this.stopSlideShow(); // set starts X to 0\n\n this.startsX = 0;\n this.initialMouseY = 0;\n this.swipeType = null; // clear interval\n\n clearInterval(this.swipeInterval);\n this.swipeAnimation = null; // finish swipe\n\n this.isDraggingSwipe = false;\n this.isZooming = true; // remove events listener\n\n window.removeEventListener('keydown', this.eventListener);\n\n if (this.enableScrollLock) {\n self.removeCompensateForScrollbar();\n (0,body_scroll_lock__WEBPACK_IMPORTED_MODULE_0__.enableBodyScroll)(self.$refs.coolLightbox);\n } // remove click event\n\n\n window.removeEventListener('click', this.showButtons); // remove resize event\n\n window.removeEventListener('resize', this.xPositionOnResize); // remove wheel event\n\n if (this.enableWheelEvent) {\n window.removeEventListener('wheel', this.wheelEvent);\n }\n }\n },\n imgIndex: function imgIndex(prev, val) {\n var this$1 = this; // when animation is loaded\n\n this.$nextTick(function () {\n if (this$1.effect === 'swipe') {\n this$1.setLightboxInnerWidth();\n this$1.setXPosition(prev);\n }\n\n if (prev !== null & val === null) {\n this$1.$emit(\"on-open\", prev);\n }\n\n if (prev !== null) {\n if (prev !== val) {\n if (!this$1.getYoutubeUrl(this$1.getItemSrc(prev)) && !this$1.getVimeoUrl(this$1.getItemSrc(prev))) {\n this$1.stopVideos();\n }\n } // if is an image change imageLoading to true\n\n\n if (!this$1.getVideoUrl(this$1.getItemSrc(prev))) {\n if (!this$1.is_cached(this$1.getItemSrc(prev))) {\n this$1.imageLoading = true;\n }\n } // add caption padding to Lightbox wrapper\n\n\n this$1.addCaptionPadding(); // setAspectRatioVideo when is swipe\n\n if (this$1.effect === 'swipe') {\n this$1.setAspectRatioVideo();\n } else {\n if (this$1.getVideoUrl(this$1.getItemSrc(prev))) {\n this$1.setAspectRatioVideo();\n }\n }\n } // reset zoom\n\n\n this$1.resetZoom(); // reset swipe type\n\n this$1.swipeType = null;\n this$1.ySwipeWrapper = 0;\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.enableScrollLock) {\n this.removeCompensateForScrollbar();\n\n if (this.$refs.coolLightbox) {\n (0,body_scroll_lock__WEBPACK_IMPORTED_MODULE_0__.enableBodyScroll)(this.$refs.coolLightbox);\n }\n }\n },\n methods: {\n stopVideos: function stopVideos() {\n var videos = document.getElementsByClassName(\"cool-lightbox-video\");\n\n var isVideoPlaying = function (video) {\n return !!(video.currentTime > 0 && !video.paused && !video.ended && video.readyState > 2);\n };\n\n if (videos.length > 0) {\n Array.prototype.forEach.call(videos, function (video) {\n var type = video.tagName;\n\n if (type === 'IFRAME') {\n var iframeSrc = video.src;\n return video.src = iframeSrc;\n }\n\n if (isVideoPlaying(video)) {\n return video.pause();\n }\n });\n }\n },\n removeCompensateForScrollbar: function removeCompensateForScrollbar() {\n document.body.classList.remove(\"compensate-for-scrollbar\");\n var noscrollStyle = document.getElementById(\"coollightbox-style-noscroll\");\n\n if (noscrollStyle !== null) {\n document.getElementById(\"coollightbox-style-noscroll\").remove();\n }\n },\n setCompensateForScrollbar: function setCompensateForScrollbar() {\n var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n\n if (!isMobile && document.body.scrollHeight > window.innerHeight) {\n document.getElementsByTagName('head')[0].insertAdjacentHTML('beforeend', '\");\n document.body.classList.add(\"compensate-for-scrollbar\");\n }\n },\n setAutoplay: function setAutoplay(itemIndex) {\n if (this.checkIfIsObject(itemIndex) && this.items[itemIndex].hasOwnProperty('autoplay') && this.items[itemIndex].autoplay) {\n return true;\n }\n\n return false;\n },\n toggleFullScreenMode: function toggleFullScreenMode() {\n if (this.isFullScreenMode) {\n this.closeFullscreen();\n } else {\n this.fullScreenMode();\n }\n\n this.isFullScreenMode = !this.isFullScreenMode;\n },\n closeFullscreen: function closeFullscreen() {\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document.mozCancelFullScreen) {\n /* Firefox */\n document.mozCancelFullScreen();\n } else if (document.webkitExitFullscreen) {\n /* Chrome, Safari and Opera */\n document.webkitExitFullscreen();\n } else if (document.msExitFullscreen) {\n /* IE/Edge */\n document.msExitFullscreen();\n }\n },\n fullScreenMode: function fullScreenMode() {\n /* Get the documentElement () to display the page in fullscreen */\n var elem = document.documentElement;\n\n if (elem.requestFullscreen) {\n elem.requestFullscreen();\n } else if (elem.mozRequestFullScreen) {\n /* Firefox */\n elem.mozRequestFullScreen();\n } else if (elem.webkitRequestFullscreen) {\n /* Chrome, Safari and Opera */\n elem.webkitRequestFullscreen();\n } else if (elem.msRequestFullscreen) {\n /* IE/Edge */\n elem.msRequestFullscreen();\n }\n },\n // check if event is arrow button or toolbar button\n checkIfIsButton: function checkIfIsButton(eventEmit) {\n var elements = '.cool-lightbox-button, .cool-lightbox-button *, .cool-lightbox-toolbar__btn, .cool-lightbox-toolbar__btn *, .cool-lightbox-caption h6, .cool-lightbox-caption p, .cool-lightbox-caption a';\n\n if (event.target.matches(elements)) {\n return true;\n }\n\n return false;\n },\n // start swipe event\n startSwipe: function startSwipe(event) {\n if (this.isZooming) {\n return false;\n } // check if is some button\n\n\n if (this.checkIfIsButton(event)) {\n return false;\n } // clear interval\n\n\n clearInterval(this.swipeInterval);\n this.swipeAnimation = null; // starts swipe\n\n this.isDraggingSwipe = true;\n this.initialMouseX = this.getMouseXPosFromEvent(event);\n this.initialMouseY = this.getMouseYPosFromEvent(event);\n },\n // continue swipe event\n continueSwipe: function continueSwipe(event) {\n if (this.isDraggingSwipe) {\n this.IsSwipping = true;\n var currentPosX = this.getMouseXPosFromEvent(event);\n var currentPosY = this.getMouseYPosFromEvent(event);\n var windowWidth = this.lightboxInnerWidth; // diffs\n\n var diffX = Math.abs(currentPosX - this.initialMouseX);\n var diffY = Math.abs(currentPosY - this.initialMouseY); // swipe type\n\n if (this.swipeType == null) {\n if (diffY > 5 || diffX > 5) {\n if (diffY > diffX) {\n this.swipeType = 'v';\n } else {\n this.swipeType = 'h';\n }\n }\n } // swipe\n\n\n if (this.swipeType == 'h') {\n // swipe wrapper\n if (this.dir === 'rtl') {\n this.xSwipeWrapper = windowWidth * this.imgIndex + currentPosX - this.initialMouseX + 30 * this.imgIndex;\n } else {\n this.xSwipeWrapper = -(windowWidth * this.imgIndex) + currentPosX - this.initialMouseX - 30 * this.imgIndex;\n }\n } else {\n this.ySwipeWrapper = currentPosY - this.initialMouseY;\n } // mobile caseS\n\n\n if (event.type === 'touchmove') {\n this.endMouseX = this.getMouseXPosFromEvent(event);\n this.endMouseY = this.getMouseYPosFromEvent(event);\n }\n }\n },\n // end swipe event\n endSwipe: function endSwipe(event) {\n if (this.checkIfIsButton(event) && this.initialMouseX === 0) {\n return false;\n } // event check is dragging and swipe\n\n\n var self = this;\n var swipeType = this.swipeType;\n this.isDraggingSwipe = false; // horizontal swipe type\n\n if (this.initialMouseX === 0 && swipeType == 'h') {\n return false;\n } // touch end fixes\n\n\n if (event.type !== 'touchend') {\n this.endMouseX = this.getMouseXPosFromEvent(event);\n this.endMouseY = this.getMouseYPosFromEvent(event);\n } else {\n if (this.endMouseX === 0) {\n return;\n }\n } // check if is dragged \n\n\n if (this.endMouseX - this.initialMouseX === 0 && swipeType == 'h' || this.isZooming || this.endMouseY - this.initialMouseY === 0 && swipeType == 'v') {\n return;\n } // set swipe animation\n\n\n this.setSwipeAnimation(); // reset swipe data\n\n setTimeout(function () {\n self.IsSwipping = false;\n self.initialMouseX = 0;\n self.endMouseX = 0;\n }, 10); // type of swipe\n\n if (this.swipeType === 'h') {\n // if the swipe is to the right\n if (this.endMouseX - this.initialMouseX < -40) {\n if (this.dir === 'rtl') {\n return this.swipeToLeft();\n }\n\n return this.swipeToRight();\n } // if the swipe is to the left\n\n\n if (this.endMouseX - this.initialMouseX > 40) {\n if (this.dir === 'rtl') {\n return this.swipeToRight();\n }\n\n return this.swipeToLeft();\n }\n }\n\n if (this.swipeType === 'v') {\n var diffY = Math.abs(this.endMouseY - this.initialMouseY); // diff Y\n\n if (diffY >= 90) {\n this.close();\n } else {\n this.ySwipeWrapper = 0;\n }\n }\n\n this.swipeType = null;\n var windowWidth = this.lightboxInnerWidth;\n\n if (this.dir === 'rtl') {\n this.xSwipeWrapper = this.imgIndex * windowWidth + 30 * this.imgIndex;\n return;\n }\n\n this.xSwipeWrapper = -this.imgIndex * windowWidth - 30 * this.imgIndex;\n },\n // swipe to left effect\n swipeToLeft: function swipeToLeft() {\n if (!this.hasPrevious && this.effect === 'swipe') {\n if (this.dir === 'rtl') {\n return this.xSwipeWrapper = this.imgIndex * this.lightboxInnerWidth + 30 * this.imgIndex;\n }\n\n return this.xSwipeWrapper = -this.imgIndex * this.lightboxInnerWidth - 30 * this.imgIndex;\n }\n\n this.changeIndexToPrev();\n },\n // swipe to right effect\n swipeToRight: function swipeToRight() {\n if (!this.hasNext && this.effect === 'swipe') {\n if (this.dir === 'rtl') {\n return this.xSwipeWrapper = this.imgIndex * this.lightboxInnerWidth + 30 * this.imgIndex;\n }\n\n return this.xSwipeWrapper = -this.imgIndex * this.lightboxInnerWidth - 30 * this.imgIndex;\n }\n\n this.changeIndexToNext();\n },\n // function that return x position from event\n getMouseXPosFromEvent: function getMouseXPosFromEvent(event) {\n if (event.type.indexOf('mouse') !== -1) {\n return event.clientX;\n }\n\n return event.touches[0].clientX;\n },\n // function that return Y position from event\n getMouseYPosFromEvent: function getMouseYPosFromEvent(event) {\n if (event.type.indexOf('mouse') !== -1) {\n return event.clientY;\n }\n\n return event.touches[0].clientY;\n },\n // check if the image is cached\n is_cached: function is_cached(src) {\n var image = new Image();\n image.src = src;\n return image.complete;\n },\n // image loaded event\n imageLoaded: function imageLoaded() {\n this.imageLoading = false;\n },\n // get video url\n itemThumb: function itemThumb(itemUrl, itemIndex) {\n var thumb = this.getItemThumb(itemIndex);\n\n if (thumb) {\n return thumb;\n }\n\n var youtubeID = this.getYoutubeID(itemUrl);\n\n if (youtubeID) {\n return 'https://img.youtube.com/vi/' + youtubeID + '/mqdefault.jpg';\n }\n\n var vimeoID = this.getVimeoID(itemUrl);\n\n if (vimeoID) {\n return false;\n }\n\n return itemUrl;\n },\n // get item src\n getItemSrc: function getItemSrc(imgIndex) {\n if (imgIndex === null) {\n return false;\n }\n\n var item = this.items[imgIndex];\n\n if (this.checkIfIsObject(imgIndex)) {\n return item[this.srcName];\n }\n\n return item;\n },\n getItemAlt: function getItemAlt(imgIndex) {\n if (imgIndex === null) {\n return false;\n }\n\n var item = this.items[imgIndex];\n\n if (this.checkIfIsObject(imgIndex)) {\n return item.alt;\n }\n\n return null;\n },\n getItemThumb: function getItemThumb(imgIndex) {\n if (imgIndex === null) {\n return false;\n }\n\n var item = this.items[imgIndex];\n\n if (this.checkIfIsObject(imgIndex)) {\n return item[this.srcThumb];\n }\n\n if (this.getVideoUrl(item)) {\n return false;\n }\n\n return item;\n },\n // get item media type\n getMediaType: function getMediaType(imgIndex) {\n if (imgIndex === null) {\n return false;\n }\n\n if (this.checkIfIsObject(imgIndex)) {\n var item$1 = this.items[imgIndex]; //item type is specified, so return it\n\n if (item$1[this.srcMediaType]) {\n return item$1[this.srcMediaType];\n }\n }\n\n if (this.getVideoUrl(this.getItemSrc(imgIndex))) {\n return 'video';\n } else if (this.getPDFurl(this.getItemSrc(imgIndex))) {\n return 'iframe';\n } else {\n return 'image';\n }\n },\n // toggle play slideshow event\n togglePlaySlideshow: function togglePlaySlideshow() {\n if (!this.slideshow) {\n return false;\n }\n\n if (!this.hasNext && !this.loopData) {\n return false;\n }\n\n this.isPlayingSlideShow = !this.isPlayingSlideShow; // if is playing move if not stop it\n\n if (this.isPlayingSlideShow) {\n this.move();\n } else {\n this.stopSlideShow();\n }\n },\n // stop slideshow\n stopSlideShow: function stopSlideShow() {\n this.isPlayingSlideShow = false;\n clearInterval(this.intervalProgress);\n this.stylesInterval = {\n 'transform': 'scaleX(0)',\n 'transition': 'none'\n };\n },\n // move event in zoom\n move: function move() {\n var self = this;\n this.progressWidth = 100;\n this.intervalProgress = setInterval(frame, this.slideshowDuration + 90);\n self.stylesInterval = {\n 'transform': 'scaleX(1)',\n 'background': this.slideshowColorBar,\n 'transition-duration': this.slideshowDuration + 'ms'\n };\n\n function frame() {\n self.stylesInterval = {\n 'transform': 'scaleX(0)',\n 'transition': 'none'\n };\n\n if (self.dir === 'rtl') {\n self.onPrevClick(true);\n } else {\n self.onNextClick(true);\n }\n\n if (!self.hasNext && !self.loopData) {\n self.stopSlideShow();\n } else {\n setTimeout(function () {\n self.stylesInterval = {\n 'transform': 'scaleX(1)',\n 'background': self.slideshowColorBar,\n 'transition-duration': self.slideshowDuration + 'ms'\n };\n }, 50);\n }\n }\n },\n // show buttons event\n showButtons: function showButtons(event) {\n if (!this.checkIfIsButton(event)) {\n var self = this;\n setTimeout(function () {\n self.buttonsVisible = !self.buttonsVisible;\n }, 100);\n }\n },\n // check if is allowed to drag\n checkMouseEventPropButton: function checkMouseEventPropButton(button) {\n if (!this.isZooming) {\n return false;\n } // mouse left btn click\n\n\n return button === 0;\n },\n // handle mouse down event\n handleMouseDown: function handleMouseDown(e) {\n if (!this.checkMouseEventPropButton(e.button)) {\n return;\n }\n\n this.lastX = e.clientX;\n this.lastY = e.clientY;\n this.isDraging = true;\n e.stopPropagation();\n },\n // handle mouse up event\n handleMouseUp: function handleMouseUp(e) {\n if (!this.checkMouseEventPropButton(e.button)) {\n return;\n }\n\n this.isDraging = false;\n this.lastX = this.lastY = 0; // Fix drag zoom out\n\n var thisContext = this;\n setTimeout(function () {\n thisContext.canZoom = true;\n }, 100);\n },\n // handle mouse move event\n handleMouseMove: function handleMouseMove(e) {\n if (!this.checkMouseEventPropButton(e.button)) {\n return;\n }\n\n if (this.isDraging) {\n this.top = this.top - this.lastY + e.clientY;\n this.left = this.left - this.lastX + e.clientX;\n this.lastX = e.clientX;\n this.lastY = e.clientY;\n this.canZoom = false;\n var item = e.target.parentNode;\n var newZoom = 1.6 + this.zoomBar / 10;\n item.style.transform = 'translate3d(calc(-50% + ' + this.left + 'px), calc(-50% + ' + this.top + 'px), 0px) scale3d(' + newZoom + ', ' + newZoom + ', ' + newZoom + ')';\n }\n\n e.stopPropagation();\n },\n // zoom image event\n zoomImage: function zoomImage(indexImage) {\n if (this.disableZoom) {\n return false;\n }\n\n if (window.innerWidth < 700) {\n return false;\n }\n\n if (!this.canZoom) {\n return false;\n }\n\n if (this.IsSwipping) {\n return false;\n } // item zoom\n\n\n var item;\n\n if (this.effect == 'swipe') {\n item = this.$refs.items[this.imgIndex].childNodes[0];\n } else {\n item = this.$refs.items.childNodes[0];\n } // zoom variables\n\n\n var isZooming = this.isZooming;\n var thisContext = this; // Is zooming check\n\n if (isZooming) {\n if (!this.isDraging) {\n this.isZooming = false;\n this.zoomBar = 0;\n }\n } else {\n this.isZooming = true;\n } // check if is zooming\n\n\n if (this.isZooming) {\n this.stopSlideShow(); // add scale\n\n item.style.transform = 'translate3d(calc(-50%), calc(-50%), 0px) scale3d(1.6, 1.6, 1.6)'; // hide buttons\n\n this.buttonsVisible = false; // fix drag transition problems\n\n setTimeout(function () {\n thisContext.transition = 'all .0s ease';\n }, 100);\n } else {\n // show buttons \n this.buttonsVisible = true;\n this.resetZoom();\n }\n },\n // Reset zoom data\n resetZoom: function resetZoom() {\n this.scale = 1;\n this.left = 0;\n this.top = 0;\n this.zoomBar = 0;\n this.isZooming = false;\n this.swipeType = null;\n this.transition = 'all .3s ease'; // only if index is not null\n\n if (this.imgIndex != null) {\n var item;\n\n if (this.effect == 'swipe') {\n item = this.$refs.items[this.imgIndex].childNodes[0];\n } else {\n item = this.$refs.items.childNodes[0];\n } // reset styles\n\n\n if (this.disableZoom) {\n item.style.transform = 'translate3d(calc(-50% + ' + this.left + 'px), calc(-50% + ' + this.top + 'px), 0px)';\n } else {\n item.style.transform = 'translate3d(calc(-50% + ' + this.left + 'px), calc(-50% + ' + this.top + 'px), 0px) scale3d(1, 1, 1)';\n }\n\n this.initialMouseX = 0;\n\n if (window.innerWidth >= 700) {\n this.buttonsVisible = true;\n }\n }\n },\n // Aspect Ratio responsive video\n setAspectRatioVideo: function setAspectRatioVideo() {\n var thisContext = this;\n var el = document.getElementsByClassName('cool-lightbox__inner');\n el = el[0];\n var computedStyle = getComputedStyle(el);\n\n if (window.innerWidth < 700) {\n var width = el.clientWidth;\n var height = Math.round(width / 16 * 9);\n this.aspectRatioVideo.height = height + 'px';\n this.aspectRatioVideo.width = width + 'px';\n } else {\n setTimeout(function () {\n var height = el.clientHeight;\n height -= parseFloat(computedStyle.paddingTop) + parseFloat(computedStyle.paddingBottom);\n var width = height / 9 * 16;\n thisContext.aspectRatioVideo.height = height + 'px';\n thisContext.aspectRatioVideo.width = width + 'px';\n }, 150);\n }\n },\n // close event\n close: function close() {\n this.stopSlideShow();\n this.swipeType = null;\n this.$emit(\"close\", this.imgIndex);\n this.showThumbs = false;\n this.imgIndex = null;\n },\n wheelEvent: function wheelEvent(event) {\n var delay = 350;\n var currentTime = new Date().getTime();\n var direction = event.deltaY > 0 ? 'top' : 'down';\n\n if (currentTime - this.prevTime < delay) {\n return;\n }\n\n this.prevTime = currentTime;\n\n switch (direction) {\n case 'top':\n return this.changeIndexToPrev();\n\n case 'down':\n return this.changeIndexToNext();\n }\n },\n // close event click outside\n closeModal: function closeModal(event) {\n if (!this.closeOnClickOutsideMobile) {\n if (window.innerWidth < 700) {\n return false;\n }\n }\n\n if (this.IsSwipping) {\n return false;\n }\n\n var elements = '.cool-lightbox-zoom, .cool-lightbox-zoom *, .cool-lightbox-thumbs, svg, path, rect, .cool-lightbox-thumbs *, .cool-lightbox-button, .cool-lightbox-toolbar__btn, .cool-lightbox-toolbar__btn *, .cool-lightbox-button *, .cool-lightbox__slide__img *, .cool-lightbox-video, .cool-lightbox-caption h6, .cool-lightbox-caption p, .cool-lightbox-caption a';\n\n if (!event.target.matches(elements)) {\n this.close();\n }\n },\n // set swipe animation\n setSwipeAnimation: function setSwipeAnimation() {\n var self = this;\n clearInterval(this.swipeInterval);\n this.swipeAnimation = null; // animation swipe\n\n this.swipeAnimation = 'all .3s ease';\n this.swipeInterval = setInterval(interval, 330);\n\n function interval() {\n self.swipeAnimation = null;\n }\n },\n // next slide event\n onNextClick: function onNextClick(isFromSlideshow) {\n if (isFromSlideshow === void 0) isFromSlideshow = false;\n\n if (this.isZooming) {\n return false;\n }\n\n if (!isFromSlideshow) {\n this.stopSlideShow();\n }\n\n this.setSwipeAnimation();\n\n if (this.dir === 'rtl') {\n return this.changeIndexToPrev();\n }\n\n this.changeIndexToNext();\n },\n // prev slide event\n onPrevClick: function onPrevClick(isFromSlideshow) {\n if (isFromSlideshow === void 0) isFromSlideshow = false;\n\n if (this.isZooming) {\n return false;\n }\n\n if (!isFromSlideshow) {\n this.stopSlideShow();\n }\n\n this.setSwipeAnimation();\n\n if (this.dir === 'rtl') {\n return this.changeIndexToNext();\n }\n\n this.changeIndexToPrev();\n },\n // change to next index\n changeIndexToNext: function changeIndexToNext() {\n if (this.hasNext) {\n this.onIndexChange(this.imgIndex + 1);\n } else {\n // only if has loop prop\n if (this.loopData) {\n this.onIndexChange(0);\n }\n }\n },\n // change to prev index\n changeIndexToPrev: function changeIndexToPrev() {\n if (this.hasPrevious) {\n this.onIndexChange(this.imgIndex - 1);\n } else {\n // only if has loop prop\n if (this.loopData) {\n this.onIndexChange(this.items.length - 1);\n }\n }\n },\n // set lightbox inner width\n setLightboxInnerWidth: function setLightboxInnerWidth() {\n var el = document.getElementsByClassName('cool-lightbox__inner');\n var width = el[0].clientWidth;\n this.lightboxInnerWidth = width;\n },\n // x position on resize event\n xPositionOnResize: function xPositionOnResize() {\n this.setLightboxInnerWidth();\n var index = this.imgIndex;\n\n if (this.dir === 'rtl') {\n this.xSwipeWrapper = index * this.lightboxInnerWidth + 30 * index;\n return;\n } // set x position\n\n\n this.xSwipeWrapper = -index * this.lightboxInnerWidth - 30 * index;\n },\n // set x position by img index\n setXPosition: function setXPosition(index) {\n if (this.dir === 'rtl') {\n this.xSwipeWrapper = index * this.lightboxInnerWidth + 30 * index;\n return;\n } // set x position\n\n\n this.xSwipeWrapper = -index * this.lightboxInnerWidth - 30 * index;\n return;\n },\n // index change\n onIndexChange: function onIndexChange(index) {\n this.imgIndex = index;\n this.$emit('on-change', index);\n },\n // caption size \n addCaptionPadding: function addCaptionPadding() {\n if (this.checkIfIsObject(this.imgIndex) && (this.items[this.imgIndex].title || this.items[this.imgIndex].descripcion)) {\n var el = document.getElementsByClassName('cool-lightbox-caption');\n\n if (el.length > 0) {\n this.paddingBottom = el[0].offsetHeight;\n }\n } else {\n this.paddingBottom = 60;\n }\n },\n getPDFurl: function getPDFurl(url) {\n if (this.imgIndex === null) {\n return false;\n }\n\n var str = new String(url);\n\n if (str.endsWith('.pdf')) {\n return url;\n }\n\n return false;\n },\n // check if is video\n getVideoUrl: function getVideoUrl(itemSrc) {\n var youtubeUrl = this.getYoutubeUrl(itemSrc);\n var vimeoUrl = this.getVimeoUrl(itemSrc);\n var mp4Url = this.checkIsMp4(itemSrc);\n\n if (youtubeUrl) {\n return youtubeUrl;\n }\n\n if (vimeoUrl) {\n return vimeoUrl;\n }\n\n if (mp4Url) {\n return mp4Url;\n }\n\n return false;\n },\n // getYoutube ID\n getYoutubeID: function getYoutubeID(url) {\n // youtube data\n var youtubeRegex = /^(?:https?:\\/\\/)?(?:www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})(?:\\S+)?$/;\n var ytId = url.match(youtubeRegex) ? RegExp.$1 : false;\n\n if (ytId) {\n return ytId;\n }\n\n return false;\n },\n // get youtube url\n getYoutubeUrl: function getYoutubeUrl(url) {\n // youtube data\n var ytId = this.getYoutubeID(url); // if is youtube video\n\n if (ytId) {\n // check if allows youtube cookies\n if (this.youtubeCookies) {\n return 'https://www.youtube.com/embed/' + ytId;\n }\n\n return 'https://www.youtube-nocookie.com/embed/' + ytId;\n }\n\n return false;\n },\n // vimeo ID\n getVimeoID: function getVimeoID(url) {\n // if is vimeo video\n var result = url.match(/(?:www\\.|player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^\\/]*)\\/videos\\/|album\\/(?:\\d+)\\/video\\/|video\\/|)(\\d+)(?:[a-zA-Z0-9_\\-]+)?/i);\n\n if (result !== null) {\n return result[1];\n }\n\n return false;\n },\n // get vimeo url\n getVimeoUrl: function getVimeoUrl(url) {\n // if is vimeo video\n var result = url.match(/(?:www\\.|player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^\\/]*)\\/videos\\/|album\\/(?:\\d+)\\/video\\/|video\\/|)(\\d+)(?:[a-zA-Z0-9_\\-]+)?/i);\n\n if (result !== null) {\n return '//player.vimeo.com/video/' + result[1] + '?hd=1&show_title=1&show_byline=1&show_portrait=0&fullscreen=1';\n }\n\n return false;\n },\n // check if video is mp4\n checkIsMp4: function checkIsMp4(url) {\n if (this.imgIndex === null) {\n return false;\n }\n\n var str = new String(url);\n\n if (str.indexOf('.mp4') !== -1 || str.indexOf('.mov') !== -1 || str.indexOf('.webm') !== -1 || str.indexOf('.ogg') !== -1 || str.indexOf('.avi') !== -1) {\n return url;\n }\n\n return false;\n },\n // if is video get extension\n getVideoExt: function getVideoExt(url) {\n if (this.imgIndex === null) {\n return false;\n }\n\n var str = new String(url);\n\n if (str.indexOf('.mp4') !== -1 || str.indexOf('.mov') !== -1) {\n return 'mp4';\n }\n\n if (str.indexOf('.webm') !== -1) {\n return 'webm';\n }\n\n if (str.indexOf('.ogg') !== -1) {\n return 'ogg';\n }\n\n if (str.indexOf('.avi') !== -1) {\n return 'avi';\n }\n\n return false;\n },\n // check if item is object\n checkIfIsObject: function checkIfIsObject(itemIndex) {\n var item = this.items[itemIndex];\n\n if (typeof item === 'object' && item !== null) {\n return true;\n }\n\n return false;\n },\n // arrows and escape events\n eventListener: function eventListener(e) {\n switch (e.keyCode) {\n case 39:\n return this.onNextClick();\n\n case 37:\n return this.onPrevClick();\n\n case 38:\n case 40:\n case ' ':\n return e.preventDefault();\n\n case 27:\n return this.close();\n }\n }\n },\n computed: {\n // Images wrapper styles to use drag and zoom\n imgWrapperStyle: function imgWrapperStyle() {\n return {\n top: \"50%\",\n left: \"50%\",\n transition: this.transition\n };\n },\n // lightbox styles\n lightboxStyles: function lightboxStyles() {\n return {\n 'z-index': this.zIndex,\n 'background-color': this.overlayColor\n };\n },\n innerStyles: function innerStyles() {\n return {\n 'padding-bottom': this.paddingBottom + 'px'\n };\n },\n // get item src\n itemSrc: function itemSrc() {\n if (this.imgIndex === null) {\n return false;\n }\n\n var item = this.items[this.imgIndex];\n\n if (this.checkIfIsObject(this.imgIndex)) {\n return item[this.srcName];\n }\n\n return item;\n },\n // Lightbox classes\n lightboxClasses: function lightboxClasses() {\n var classesReturn = [{\n 'cool-lightbox--can-zoom': this.canZoom && !this.disableZoom\n }, {\n 'cool-lightbox--zoom-disabled': this.disableZoom\n }, {\n 'cool-lightbox--is-zooming': this.isZooming\n }, {\n 'cool-lightbox--show-thumbs': this.showThumbs\n }, {\n 'cool-lightbox--is-swipping': this.isDraggingSwipe\n }];\n var classString = 'cool-lightbox--thumbs-' + this.thumbsPosition;\n classesReturn.push(classString);\n return classesReturn;\n },\n // Buttons classes\n buttonsClasses: function buttonsClasses() {\n return {\n 'hidden': !this.buttonsVisible\n };\n },\n // check if the slide has next element\n hasNextButton: function hasNextButton() {\n if (this.dir === 'rtl') {\n return this.imgIndex - 1 >= 0;\n }\n\n return this.imgIndex + 1 < this.items.length;\n },\n // check if the slide has previous element \n hasPreviousButton: function hasPreviousButton() {\n if (this.dir === 'rtl') {\n return this.imgIndex + 1 < this.items.length;\n }\n\n return this.imgIndex - 1 >= 0;\n },\n // check if the slide has next element\n hasNext: function hasNext() {\n return this.imgIndex + 1 < this.items.length;\n },\n // check if the slide has previous element \n hasPrevious: function hasPrevious() {\n return this.imgIndex - 1 >= 0;\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = 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\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function () {\n style.call(this, createInjectorShadow(this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\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 script;\n}\n\nvar normalizeComponent_1 = normalizeComponent;\n/* script */\n\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function () {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('transition', {\n attrs: {\n \"name\": \"cool-lightbox-modal\"\n }\n }, [_vm.isVisible ? _c('div', {\n ref: \"coolLightbox\",\n staticClass: \"cool-lightbox\",\n class: _vm.lightboxClasses,\n style: _vm.lightboxStyles,\n on: {\n \"click\": _vm.closeModal\n }\n }, [_vm.gallery ? _c('div', {\n staticClass: \"cool-lightbox-thumbs\"\n }, [_c('div', {\n staticClass: \"cool-lightbox-thumbs__list\"\n }, _vm._l(_vm.items, function (item, itemIndex) {\n return _c('button', {\n key: itemIndex,\n staticClass: \"cool-lightbox__thumb\",\n class: {\n active: itemIndex === _vm.imgIndex,\n 'is-video': _vm.getMediaType(itemIndex) === 'video'\n },\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function ($event) {\n _vm.imgIndex = itemIndex;\n }\n }\n }, [_vm.getMediaType(itemIndex) === 'video' ? _c('svg', {\n staticClass: \"cool-lightbox__thumb__icon\",\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M6.5 5.4v13.2l11-6.6z\"\n }\n })]) : _vm._e(), _vm._v(\" \"), _c('img', {\n attrs: {\n \"src\": _vm.itemThumb(_vm.getItemSrc(itemIndex), itemIndex),\n \"alt\": \"\"\n }\n })]);\n }), 0)]) : _vm._e(), _vm._v(\" \"), _c('div', {\n staticClass: \"cool-lightbox__inner\",\n style: _vm.innerStyles,\n on: {\n \"mousedown\": _vm.startSwipe,\n \"mousemove\": _vm.continueSwipe,\n \"mouseup\": _vm.endSwipe,\n \"touchstart\": _vm.startSwipe,\n \"touchmove\": _vm.continueSwipe,\n \"touchend\": _vm.endSwipe\n }\n }, [_c('div', {\n staticClass: \"cool-lightbox__progressbar\",\n style: _vm.stylesInterval\n }), _vm._v(\" \"), _c('div', {\n staticClass: \"cool-lightbox__navigation\"\n }, [_c('button', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.hasPreviousButton || _vm.loopData) && _vm.items.length > 1,\n expression: \"(hasPreviousButton || loopData) && items.length > 1\"\n }],\n staticClass: \"cool-lightbox-button cool-lightbox-button--prev\",\n class: _vm.buttonsClasses,\n attrs: {\n \"type\": \"button\",\n \"title\": \"Previous\"\n },\n on: {\n \"click\": _vm.onPrevClick\n }\n }, [_vm._t(\"icon-previous\", [_c('div', {\n staticClass: \"cool-lightbox-button__icon\"\n }, [_c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z\"\n }\n })])])])], 2), _vm._v(\" \"), _c('button', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.hasNextButton || _vm.loopData) && _vm.items.length > 1,\n expression: \"(hasNextButton || loopData) && items.length > 1\"\n }],\n staticClass: \"cool-lightbox-button cool-lightbox-button--next\",\n class: _vm.buttonsClasses,\n attrs: {\n \"type\": \"button\",\n \"title\": \"Next\"\n },\n on: {\n \"click\": function ($event) {\n return _vm.onNextClick(false);\n }\n }\n }, [_vm._t(\"icon-next\", [_c('div', {\n staticClass: \"cool-lightbox-button__icon\"\n }, [_c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z\"\n }\n })])])])], 2)]), _vm._v(\" \"), _vm.effect === 'swipe' ? _c('div', {\n staticClass: \"cool-lightbox__wrapper cool-lightbox__wrapper--swipe\",\n style: {\n transform: 'translate3d(' + _vm.xSwipeWrapper + 'px, ' + _vm.ySwipeWrapper + 'px, 0)',\n transition: _vm.swipeAnimation\n }\n }, _vm._l(_vm.items, function (item, itemIndex) {\n return _c('div', {\n key: itemIndex,\n ref: \"items\",\n refInFor: true,\n staticClass: \"cool-lightbox__slide\",\n class: {\n 'cool-lightbox__slide--current': itemIndex === _vm.imgIndex\n }\n }, [_vm.getMediaType(itemIndex) === 'image' ? _c('div', {\n directives: [{\n name: \"lazyload\",\n rawName: \"v-lazyload\"\n }],\n key: \"image\",\n staticClass: \"cool-lightbox__slide__img\",\n style: _vm.imgWrapperStyle\n }, [_c('img', {\n key: itemIndex,\n attrs: {\n \"data-url\": _vm.getItemSrc(itemIndex),\n \"draggable\": \"false\",\n \"alt\": _vm.getItemAlt(itemIndex)\n },\n on: {\n \"load\": _vm.imageLoaded,\n \"click\": function ($event) {\n return _vm.zoomImage(itemIndex);\n },\n \"mousedown\": function ($event) {\n return _vm.handleMouseDown($event);\n },\n \"mouseup\": function ($event) {\n return _vm.handleMouseUp($event);\n },\n \"mousemove\": function ($event) {\n return _vm.handleMouseMove($event);\n },\n \"touchstart\": function ($event) {\n return _vm.handleMouseDown($event);\n },\n \"touchmove\": function ($event) {\n return _vm.handleMouseMove($event);\n },\n \"touchend\": function ($event) {\n return _vm.handleMouseUp($event);\n }\n }\n }), _vm._v(\" \"), _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.imageLoading,\n expression: \"imageLoading\"\n }],\n staticClass: \"cool-lightbox-loading-wrapper\"\n }, [_vm._t(\"loading\", [_c('div', {\n staticClass: \"cool-lightbox-loading\"\n })])], 2)]) : _c('div', {\n key: \"video\",\n staticClass: \"cool-lightbox__iframe\"\n }, [!_vm.checkIsMp4(_vm.getItemSrc(itemIndex)) && _vm.getMediaType(itemIndex) === 'video' ? _c('iframe', {\n directives: [{\n name: \"autoplayObserver\",\n rawName: \"v-autoplayObserver\"\n }],\n key: itemIndex,\n staticClass: \"cool-lightbox-video\",\n style: _vm.aspectRatioVideo,\n attrs: {\n \"data-autoplay\": _vm.setAutoplay(itemIndex),\n \"src\": _vm.getVideoUrl(_vm.getItemSrc(itemIndex)),\n \"frameborder\": \"0\",\n \"allow\": \"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\",\n \"allowfullscreen\": \"\"\n }\n }) : _vm._e(), _vm._v(\" \"), _vm.getMediaType(itemIndex) === 'iframe' || _vm.getPDFurl(_vm.getItemSrc(itemIndex)) ? _c('iframe', {\n key: itemIndex,\n staticClass: \"cool-lightbox-pdf\",\n attrs: {\n \"src\": _vm.getItemSrc(itemIndex),\n \"frameborder\": \"0\",\n \"allowfullscreen\": \"\"\n }\n }) : _vm._e(), _vm._v(\" \"), _vm.checkIsMp4(_vm.getItemSrc(itemIndex)) && _vm.getMediaType(itemIndex) === 'video' ? _c('video', {\n directives: [{\n name: \"autoplayObserver\",\n rawName: \"v-autoplayObserver\"\n }],\n key: _vm.checkIsMp4(_vm.getItemSrc(itemIndex)),\n staticClass: \"cool-lightbox-video\",\n style: _vm.aspectRatioVideo,\n attrs: {\n \"data-autoplay\": _vm.setAutoplay(itemIndex),\n \"controls\": \"\",\n \"controlslist\": \"nodownload\",\n \"l\": \"\",\n \"poster\": \"\"\n }\n }, [_c('source', {\n attrs: {\n \"src\": _vm.checkIsMp4(_vm.getItemSrc(itemIndex)),\n \"type\": 'video/' + _vm.getVideoExt(_vm.getItemSrc(itemIndex))\n }\n }), _vm._v(\"\\n Sorry, your browser doesn't support embedded videos\\n \")]) : _vm._e()])]);\n }), 0) : _vm._e(), _vm._v(\" \"), _vm.effect === 'fade' ? _c('div', {\n staticClass: \"cool-lightbox__wrapper\"\n }, [_c('div', {\n ref: \"items\",\n staticClass: \"cool-lightbox__slide cool-lightbox__slide--current\"\n }, [_c('transition', {\n attrs: {\n \"name\": \"cool-lightbox-slide-change\",\n \"mode\": \"out-in\"\n }\n }, [_vm.getMediaType(_vm.imgIndex) === 'image' ? _c('div', {\n key: \"image\",\n staticClass: \"cool-lightbox__slide__img\",\n style: _vm.imgWrapperStyle\n }, [_c('transition', {\n attrs: {\n \"name\": \"cool-lightbox-slide-change\",\n \"mode\": \"out-in\"\n }\n }, [_c('img', {\n key: _vm.imgIndex,\n attrs: {\n \"src\": _vm.getItemSrc(_vm.imgIndex),\n \"draggable\": \"false\",\n \"alt\": _vm.getItemAlt(_vm.imgIndex)\n },\n on: {\n \"load\": _vm.imageLoaded,\n \"click\": _vm.zoomImage,\n \"mousedown\": function ($event) {\n return _vm.handleMouseDown($event);\n },\n \"mouseup\": function ($event) {\n return _vm.handleMouseUp($event);\n },\n \"mousemove\": function ($event) {\n return _vm.handleMouseMove($event);\n }\n }\n })]), _vm._v(\" \"), _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.imageLoading,\n expression: \"imageLoading\"\n }],\n staticClass: \"cool-lightbox-loading-wrapper\"\n }, [_vm._t(\"loading\", [_c('div', {\n staticClass: \"cool-lightbox-loading\"\n })])], 2)], 1) : _c('div', {\n key: \"video\",\n staticClass: \"cool-lightbox__iframe\"\n }, [_c('transition', {\n attrs: {\n \"name\": \"cool-lightbox-slide-change\",\n \"mode\": \"out-in\"\n }\n }, [!_vm.checkIsMp4(_vm.getItemSrc(_vm.imgIndex)) && _vm.getMediaType(_vm.imgIndex) === 'video' ? _c('iframe', {\n directives: [{\n name: \"autoplayObserver\",\n rawName: \"v-autoplayObserver\"\n }],\n key: _vm.getVideoUrl(_vm.getItemSrc(_vm.imgIndex)),\n staticClass: \"cool-lightbox-video\",\n style: _vm.aspectRatioVideo,\n attrs: {\n \"data-autoplay\": _vm.setAutoplay(_vm.imgIndex),\n \"src\": _vm.getVideoUrl(_vm.getItemSrc(_vm.imgIndex)),\n \"frameborder\": \"0\",\n \"allow\": \"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\",\n \"allowfullscreen\": \"\"\n }\n }) : _vm._e(), _vm._v(\" \"), _vm.getMediaType(_vm.imgIndex) === 'iframe' || _vm.getPDFurl(_vm.getItemSrc(_vm.imgIndex)) ? _c('iframe', {\n key: _vm.imgIndex,\n staticClass: \"cool-lightbox-pdf\",\n attrs: {\n \"src\": _vm.getItemSrc(_vm.imgIndex),\n \"frameborder\": \"0\",\n \"allowfullscreen\": \"\"\n }\n }) : _vm._e(), _vm._v(\" \"), _vm.checkIsMp4(_vm.getItemSrc(_vm.imgIndex)) && _vm.getMediaType(_vm.imgIndex) === 'video' ? _c('video', {\n directives: [{\n name: \"autoplayObserver\",\n rawName: \"v-autoplayObserver\"\n }],\n key: _vm.checkIsMp4(_vm.getItemSrc(_vm.imgIndex)),\n staticClass: \"cool-lightbox-video\",\n style: _vm.aspectRatioVideo,\n attrs: {\n \"data-autoplay\": _vm.setAutoplay(_vm.imgIndex),\n \"controls\": \"\",\n \"controlslist\": \"nodownload\",\n \"poster\": \"\"\n }\n }, [_c('source', {\n attrs: {\n \"src\": _vm.checkIsMp4(_vm.getItemSrc(_vm.imgIndex)),\n \"type\": 'video/' + _vm.getVideoExt(_vm.getItemSrc(_vm.imgIndex))\n }\n }), _vm._v(\"\\n Sorry, your browser doesn't support embedded videos\\n \")]) : _vm._e()])], 1)])], 1)]) : _vm._e(), _vm._v(\" \"), _c('transition', {\n attrs: {\n \"name\": \"cool-lightbox-modal\"\n }\n }, [_c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.checkIfIsObject(_vm.imgIndex) && (_vm.items[_vm.imgIndex].title || _vm.items[_vm.imgIndex].description),\n expression: \"checkIfIsObject(imgIndex) && (items[imgIndex].title || items[imgIndex].description)\"\n }],\n key: \"caption-block\",\n staticClass: \"cool-lightbox-caption\"\n }, [_c('transition', {\n attrs: {\n \"name\": \"cool-lightbox-slide-change\",\n \"mode\": \"out-in\"\n }\n }, [_vm.checkIfIsObject(_vm.imgIndex) && _vm.items[_vm.imgIndex].title ? _c('h6', {\n key: \"title\",\n domProps: {\n \"innerHTML\": _vm._s(_vm.items[_vm.imgIndex].title)\n }\n }) : _vm._e()]), _vm._v(\" \"), _c('transition', {\n attrs: {\n \"name\": \"cool-lightbox-slide-change\",\n \"mode\": \"out-in\"\n }\n }, [_vm.checkIfIsObject(_vm.imgIndex) && _vm.items[_vm.imgIndex].description ? _c('p', {\n key: \"description\",\n domProps: {\n \"innerHTML\": _vm._s(_vm.items[_vm.imgIndex].description)\n }\n }) : _vm._e()])], 1)]), _vm._v(\" \"), _c('div', {\n staticClass: \"cool-lightbox-toolbar\",\n class: _vm.buttonsClasses\n }, [this.slideshow && _vm.items.length > 1 ? _c('button', {\n staticClass: \"cool-lightbox-toolbar__btn\",\n attrs: {\n \"type\": \"button\",\n \"title\": \"Play slideshow\"\n },\n on: {\n \"click\": _vm.togglePlaySlideshow\n }\n }, [!_vm.isPlayingSlideShow ? _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M6.5 5.4v13.2l11-6.6z\"\n }\n })]) : _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\"\n }\n }, [_c('g', [_c('rect', {\n attrs: {\n \"id\": \"svg_4\",\n \"height\": \"11.97529\",\n \"width\": \"11.728392\",\n \"y\": \"6.030873\",\n \"x\": \"6.259265\",\n \"stroke-width\": \"1.5\",\n \"stroke\": \"#000\",\n \"fill\": \"#000000\"\n }\n })])])]) : _vm._e(), _vm._v(\" \"), _vm.items.length > 1 && _vm.gallery ? _c('button', {\n staticClass: \"cool-lightbox-toolbar__btn\",\n attrs: {\n \"type\": \"button\",\n \"title\": \"Show thumbnails\"\n },\n on: {\n \"click\": function ($event) {\n _vm.showThumbs = !_vm.showThumbs;\n }\n }\n }, [_c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 \\n 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 \\n 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 \\n 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z\"\n }\n })])]) : _vm._e(), _vm._v(\" \"), _vm.fullScreen ? _c('button', {\n staticClass: \"cool-lightbox-toolbar__btn\",\n attrs: {\n \"type\": \"button\",\n \"title\": \"Fullscreen\"\n },\n on: {\n \"click\": _vm.toggleFullScreenMode\n }\n }, [_c('svg', {\n attrs: {\n \"width\": \"20px\",\n \"height\": \"20px\",\n \"viewBox\": \"0 0 18 18\",\n \"xmlns\": \"http://www.w3.org/2000/svg\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M4.5 11H3v4h4v-1.5H4.5V11zM3 7h1.5V4.5H7V3H3v4zm10.5 6.5H11V15h4v-4h-1.5v2.5zM11 3v1.5h2.5V7H15V3h-4z\"\n }\n })])]) : _vm._e(), _vm._v(\" \"), _vm.showCloseButton ? _c('button', {\n staticClass: \"cool-lightbox-toolbar__btn\",\n attrs: {\n \"type\": \"button\",\n \"title\": \"Close\"\n },\n on: {\n \"click\": _vm.close\n }\n }, [_vm._t(\"close\", [_c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z\"\n }\n })])])], 2) : _vm._e()])], 1), _vm._v(\" \"), _c('transition', {\n attrs: {\n \"name\": \"cool-lightbox-modal\"\n }\n }, [_vm.isZooming && _vm.useZoomBar ? _c('div', {\n staticClass: \"cool-lightbox-zoom\"\n }, [_c('svg', {\n staticClass: \"cool-lightbox-zoom__icon\",\n attrs: {\n \"height\": \"469pt\",\n \"viewBox\": \"0 -192 469.33333 469\",\n \"width\": \"469pt\",\n \"xmlns\": \"http://www.w3.org/2000/svg\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"m437.332031.167969h-405.332031c-17.664062 \\n 0-32 14.335937-32 32v21.332031c0 17.664062 14.335938 32 32 32h405.332031c17.664063 0 32-14.335938 \\n 32-32v-21.332031c0-17.664063-14.335937-32-32-32zm0 0\"\n }\n })]), _vm._v(\" \"), _c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.zoomBar,\n expression: \"zoomBar\"\n }],\n attrs: {\n \"type\": \"range\",\n \"name\": \"points\",\n \"min\": \"0\",\n \"max\": \"50\"\n },\n domProps: {\n \"value\": _vm.zoomBar\n },\n on: {\n \"__r\": function ($event) {\n _vm.zoomBar = $event.target.value;\n }\n }\n }), _vm._v(\" \"), _c('svg', {\n staticClass: \"cool-lightbox-zoom__icon\",\n attrs: {\n \"height\": \"426.66667pt\",\n \"viewBox\": \"0 0 426.66667 426.66667\",\n \"width\": \"426.66667pt\",\n \"xmlns\": \"http://www.w3.org/2000/svg\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"m405.332031 192h-170.664062v-170.667969c0-11.773437-9.558594-21.332031-21.335938-21.332031-11.773437 0-21.332031 \\n 9.558594-21.332031 21.332031v170.667969h-170.667969c-11.773437 0-21.332031 9.558594-21.332031 21.332031 0 \\n 11.777344 9.558594 21.335938 21.332031 21.335938h170.667969v170.664062c0 11.777344 9.558594 21.335938 21.332031 \\n 21.335938 11.777344 0 21.335938-9.558594 21.335938-21.335938v-170.664062h170.664062c11.777344 0 21.335938-9.558594 \\n 21.335938-21.335938 0-11.773437-9.558594-21.332031-21.335938-21.332031zm0 0\"\n }\n })])]) : _vm._e()])], 1) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\nvar CoolLightBox = normalizeComponent_1({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, undefined, undefined);\n\nfunction install(Vue) {\n if (install.installed) {\n return;\n }\n\n install.installed = true;\n Vue.component(\"CoolLightBox\", CoolLightBox);\n}\n\nvar plugin = {\n install: install\n};\nvar GlobalVue = null;\n\nif (typeof window !== \"undefined\") {\n GlobalVue = window.Vue;\n} else if (typeof __webpack_require__.g !== \"undefined\") {\n GlobalVue = __webpack_require__.g.vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nCoolLightBox.install = install;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CoolLightBox);\n\n//# sourceURL=webpack://materio.com/./node_modules/vue-cool-lightbox/dist/vue-cool-lightbox.esm.js?"); /***/ }), /***/ "./node_modules/vue-i18n/dist/vue-i18n.esm.js": /*!****************************************************!*\ !*** ./node_modules/vue-i18n/dist/vue-i18n.esm.js ***! \****************************************************/ /*! namespace exports */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__.r, __webpack_require__.d, __webpack_require__.* */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => __WEBPACK_DEFAULT_EXPORT__\n/* harmony export */ });\n/*!\n * vue-i18n v8.22.2 \n * (c) 2020 kazuya kawaguchi\n * Released under the MIT License.\n */\n\n/* */\n\n/**\n * constants\n */\nvar numberFormatKeys = ['compactDisplay', 'currency', 'currencyDisplay', 'currencySign', 'localeMatcher', 'notation', 'numberingSystem', 'signDisplay', 'style', 'unit', 'unitDisplay', 'useGrouping', 'minimumIntegerDigits', 'minimumFractionDigits', 'maximumFractionDigits', 'minimumSignificantDigits', 'maximumSignificantDigits'];\n/**\n * utilities\n */\n\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n\n if (err) {\n console.warn(err.stack);\n }\n }\n}\n\nfunction error(msg, err) {\n if (typeof console !== 'undefined') {\n console.error('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n\n if (err) {\n console.error(err.stack);\n }\n }\n}\n\nvar isArray = Array.isArray;\n\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\n\nfunction isBoolean(val) {\n return typeof val === 'boolean';\n}\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\n\nfunction isPlainObject(obj) {\n return toString.call(obj) === OBJECT_STRING;\n}\n\nfunction isNull(val) {\n return val === null || val === undefined;\n}\n\nfunction isFunction(val) {\n return typeof val === 'function';\n}\n\nfunction parseArgs() {\n var args = [],\n len = arguments.length;\n\n while (len--) args[len] = arguments[len];\n\n var locale = null;\n var params = null;\n\n if (args.length === 1) {\n if (isObject(args[0]) || isArray(args[0])) {\n params = args[0];\n } else if (typeof args[0] === 'string') {\n locale = args[0];\n }\n } else if (args.length === 2) {\n if (typeof args[0] === 'string') {\n locale = args[0];\n }\n /* istanbul ignore if */\n\n\n if (isObject(args[1]) || isArray(args[1])) {\n params = args[1];\n }\n }\n\n return {\n locale: locale,\n params: params\n };\n}\n\nfunction looseClone(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\nfunction remove(arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n\n if (index > -1) {\n return arr.splice(index, 1);\n }\n }\n}\n\nfunction includes(arr, item) {\n return !!~arr.indexOf(item);\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n\nfunction merge(target) {\n var arguments$1 = arguments;\n var output = Object(target);\n\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments$1[i];\n\n if (source !== undefined && source !== null) {\n var key = void 0;\n\n for (key in source) {\n if (hasOwn(source, key)) {\n if (isObject(source[key])) {\n output[key] = merge(output[key], source[key]);\n } else {\n output[key] = source[key];\n }\n }\n }\n }\n }\n\n return output;\n}\n\nfunction looseEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = isArray(a);\n var isArrayB = isArray(b);\n\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i]);\n });\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key]);\n });\n } else {\n /* istanbul ignore next */\n return false;\n }\n } catch (e) {\n /* istanbul ignore next */\n return false;\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b);\n } else {\n return false;\n }\n}\n/**\n * Sanitizes html special characters from input strings. For mitigating risk of XSS attacks.\n * @param rawText The raw input from the user that should be escaped.\n */\n\n\nfunction escapeHtml(rawText) {\n return rawText.replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''');\n}\n/**\n * Escapes html tags and special symbols from all provided params which were returned from parseArgs().params.\n * This method performs an in-place operation on the params object.\n *\n * @param {any} params Parameters as provided from `parseArgs().params`.\n * May be either an array of strings or a string->any map.\n *\n * @returns The manipulated `params` object.\n */\n\n\nfunction escapeParams(params) {\n if (params != null) {\n Object.keys(params).forEach(function (key) {\n if (typeof params[key] == 'string') {\n params[key] = escapeHtml(params[key]);\n }\n });\n }\n\n return params;\n}\n/* */\n\n\nfunction extend(Vue) {\n if (!Vue.prototype.hasOwnProperty('$i18n')) {\n // $FlowFixMe\n Object.defineProperty(Vue.prototype, '$i18n', {\n get: function get() {\n return this._i18n;\n }\n });\n }\n\n Vue.prototype.$t = function (key) {\n var values = [],\n len = arguments.length - 1;\n\n while (len-- > 0) values[len] = arguments[len + 1];\n\n var i18n = this.$i18n;\n return i18n._t.apply(i18n, [key, i18n.locale, i18n._getMessages(), this].concat(values));\n };\n\n Vue.prototype.$tc = function (key, choice) {\n var values = [],\n len = arguments.length - 2;\n\n while (len-- > 0) values[len] = arguments[len + 2];\n\n var i18n = this.$i18n;\n return i18n._tc.apply(i18n, [key, i18n.locale, i18n._getMessages(), this, choice].concat(values));\n };\n\n Vue.prototype.$te = function (key, locale) {\n var i18n = this.$i18n;\n return i18n._te(key, i18n.locale, i18n._getMessages(), locale);\n };\n\n Vue.prototype.$d = function (value) {\n var ref;\n var args = [],\n len = arguments.length - 1;\n\n while (len-- > 0) args[len] = arguments[len + 1];\n\n return (ref = this.$i18n).d.apply(ref, [value].concat(args));\n };\n\n Vue.prototype.$n = function (value) {\n var ref;\n var args = [],\n len = arguments.length - 1;\n\n while (len-- > 0) args[len] = arguments[len + 1];\n\n return (ref = this.$i18n).n.apply(ref, [value].concat(args));\n };\n}\n/* */\n\n\nvar mixin = {\n beforeCreate: function beforeCreate() {\n var options = this.$options;\n options.i18n = options.i18n || (options.__i18n ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n if (options.__i18n) {\n try {\n var localeMessages = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n\n options.__i18n.forEach(function (resource) {\n localeMessages = merge(localeMessages, JSON.parse(resource));\n });\n\n Object.keys(localeMessages).forEach(function (locale) {\n options.i18n.mergeLocaleMessage(locale, localeMessages[locale]);\n });\n } catch (e) {\n if (true) {\n error(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n\n this._i18n = options.i18n;\n this._i18nWatcher = this._i18n.watchI18nData();\n } else if (isPlainObject(options.i18n)) {\n var rootI18n = this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n ? this.$root.$i18n : null; // component local i18n\n\n if (rootI18n) {\n options.i18n.root = this.$root;\n options.i18n.formatter = rootI18n.formatter;\n options.i18n.fallbackLocale = rootI18n.fallbackLocale;\n options.i18n.formatFallbackMessages = rootI18n.formatFallbackMessages;\n options.i18n.silentTranslationWarn = rootI18n.silentTranslationWarn;\n options.i18n.silentFallbackWarn = rootI18n.silentFallbackWarn;\n options.i18n.pluralizationRules = rootI18n.pluralizationRules;\n options.i18n.preserveDirectiveContent = rootI18n.preserveDirectiveContent;\n } // init locale messages via custom blocks\n\n\n if (options.__i18n) {\n try {\n var localeMessages$1 = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n\n options.__i18n.forEach(function (resource) {\n localeMessages$1 = merge(localeMessages$1, JSON.parse(resource));\n });\n\n options.i18n.messages = localeMessages$1;\n } catch (e) {\n if (true) {\n warn(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n\n var ref = options.i18n;\n var sharedMessages = ref.sharedMessages;\n\n if (sharedMessages && isPlainObject(sharedMessages)) {\n options.i18n.messages = merge(options.i18n.messages, sharedMessages);\n }\n\n this._i18n = new VueI18n(options.i18n);\n this._i18nWatcher = this._i18n.watchI18nData();\n\n if (options.i18n.sync === undefined || !!options.i18n.sync) {\n this._localeWatcher = this.$i18n.watchLocale();\n }\n\n if (rootI18n) {\n rootI18n.onComponentInstanceCreated(this._i18n);\n }\n } else {\n if (true) {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n // root i18n\n this._i18n = this.$root.$i18n;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n // parent i18n\n this._i18n = options.parent.$i18n;\n }\n },\n beforeMount: function beforeMount() {\n var options = this.$options;\n options.i18n = options.i18n || (options.__i18n ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n this._i18n.subscribeDataChanging(this);\n\n this._subscribing = true;\n } else if (isPlainObject(options.i18n)) {\n this._i18n.subscribeDataChanging(this);\n\n this._subscribing = true;\n } else {\n if (true) {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n\n this._subscribing = true;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n\n this._subscribing = true;\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (!this._i18n) {\n return;\n }\n\n var self = this;\n this.$nextTick(function () {\n if (self._subscribing) {\n self._i18n.unsubscribeDataChanging(self);\n\n delete self._subscribing;\n }\n\n if (self._i18nWatcher) {\n self._i18nWatcher();\n\n self._i18n.destroyVM();\n\n delete self._i18nWatcher;\n }\n\n if (self._localeWatcher) {\n self._localeWatcher();\n\n delete self._localeWatcher;\n }\n });\n }\n};\n/* */\n\nvar interpolationComponent = {\n name: 'i18n',\n functional: true,\n props: {\n tag: {\n type: [String, Boolean, Object],\n default: 'span'\n },\n path: {\n type: String,\n required: true\n },\n locale: {\n type: String\n },\n places: {\n type: [Array, Object]\n }\n },\n render: function render(h, ref) {\n var data = ref.data;\n var parent = ref.parent;\n var props = ref.props;\n var slots = ref.slots;\n var $i18n = parent.$i18n;\n\n if (!$i18n) {\n if (true) {\n warn('Cannot find VueI18n instance!');\n }\n\n return;\n }\n\n var path = props.path;\n var locale = props.locale;\n var places = props.places;\n var params = slots();\n var children = $i18n.i(path, locale, onlyHasDefaultPlace(params) || places ? useLegacyPlaces(params.default, places) : params);\n var tag = !!props.tag && props.tag !== true || props.tag === false ? props.tag : 'span';\n return tag ? h(tag, data, children) : children;\n }\n};\n\nfunction onlyHasDefaultPlace(params) {\n var prop;\n\n for (prop in params) {\n if (prop !== 'default') {\n return false;\n }\n }\n\n return Boolean(prop);\n}\n\nfunction useLegacyPlaces(children, places) {\n var params = places ? createParamsFromPlaces(places) : {};\n\n if (!children) {\n return params;\n } // Filter empty text nodes\n\n\n children = children.filter(function (child) {\n return child.tag || child.text.trim() !== '';\n });\n var everyPlace = children.every(vnodeHasPlaceAttribute);\n\n if ( true && everyPlace) {\n warn('`place` attribute is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return children.reduce(everyPlace ? assignChildPlace : assignChildIndex, params);\n}\n\nfunction createParamsFromPlaces(places) {\n if (true) {\n warn('`places` prop is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return Array.isArray(places) ? places.reduce(assignChildIndex, {}) : Object.assign({}, places);\n}\n\nfunction assignChildPlace(params, child) {\n if (child.data && child.data.attrs && child.data.attrs.place) {\n params[child.data.attrs.place] = child;\n }\n\n return params;\n}\n\nfunction assignChildIndex(params, child, index) {\n params[index] = child;\n return params;\n}\n\nfunction vnodeHasPlaceAttribute(vnode) {\n return Boolean(vnode.data && vnode.data.attrs && vnode.data.attrs.place);\n}\n/* */\n\n\nvar numberComponent = {\n name: 'i18n-n',\n functional: true,\n props: {\n tag: {\n type: [String, Boolean, Object],\n default: 'span'\n },\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n },\n locale: {\n type: String\n }\n },\n render: function render(h, ref) {\n var props = ref.props;\n var parent = ref.parent;\n var data = ref.data;\n var i18n = parent.$i18n;\n\n if (!i18n) {\n if (true) {\n warn('Cannot find VueI18n instance!');\n }\n\n return null;\n }\n\n var key = null;\n var options = null;\n\n if (isString(props.format)) {\n key = props.format;\n } else if (isObject(props.format)) {\n if (props.format.key) {\n key = props.format.key;\n } // Filter out number format options only\n\n\n options = Object.keys(props.format).reduce(function (acc, prop) {\n var obj;\n\n if (includes(numberFormatKeys, prop)) {\n return Object.assign({}, acc, (obj = {}, obj[prop] = props.format[prop], obj));\n }\n\n return acc;\n }, null);\n }\n\n var locale = props.locale || i18n.locale;\n\n var parts = i18n._ntp(props.value, locale, key, options);\n\n var values = parts.map(function (part, index) {\n var obj;\n var slot = data.scopedSlots && data.scopedSlots[part.type];\n return slot ? slot((obj = {}, obj[part.type] = part.value, obj.index = index, obj.parts = parts, obj)) : part.value;\n });\n var tag = !!props.tag && props.tag !== true || props.tag === false ? props.tag : 'span';\n return tag ? h(tag, {\n attrs: data.attrs,\n 'class': data['class'],\n staticClass: data.staticClass\n }, values) : values;\n }\n};\n/* */\n\nfunction bind(el, binding, vnode) {\n if (!assert(el, vnode)) {\n return;\n }\n\n t(el, binding, vnode);\n}\n\nfunction update(el, binding, vnode, oldVNode) {\n if (!assert(el, vnode)) {\n return;\n }\n\n var i18n = vnode.context.$i18n;\n\n if (localeEqual(el, vnode) && looseEqual(binding.value, binding.oldValue) && looseEqual(el._localeMessage, i18n.getLocaleMessage(i18n.locale))) {\n return;\n }\n\n t(el, binding, vnode);\n}\n\nfunction unbind(el, binding, vnode, oldVNode) {\n var vm = vnode.context;\n\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return;\n }\n\n var i18n = vnode.context.$i18n || {};\n\n if (!binding.modifiers.preserve && !i18n.preserveDirectiveContent) {\n el.textContent = '';\n }\n\n el._vt = undefined;\n delete el['_vt'];\n el._locale = undefined;\n delete el['_locale'];\n el._localeMessage = undefined;\n delete el['_localeMessage'];\n}\n\nfunction assert(el, vnode) {\n var vm = vnode.context;\n\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return false;\n }\n\n if (!vm.$i18n) {\n warn('VueI18n instance does not exists in Vue instance');\n return false;\n }\n\n return true;\n}\n\nfunction localeEqual(el, vnode) {\n var vm = vnode.context;\n return el._locale === vm.$i18n.locale;\n}\n\nfunction t(el, binding, vnode) {\n var ref$1, ref$2;\n var value = binding.value;\n var ref = parseValue(value);\n var path = ref.path;\n var locale = ref.locale;\n var args = ref.args;\n var choice = ref.choice;\n\n if (!path && !locale && !args) {\n warn('value type not supported');\n return;\n }\n\n if (!path) {\n warn('`path` is required in v-t directive');\n return;\n }\n\n var vm = vnode.context;\n\n if (choice != null) {\n el._vt = el.textContent = (ref$1 = vm.$i18n).tc.apply(ref$1, [path, choice].concat(makeParams(locale, args)));\n } else {\n el._vt = el.textContent = (ref$2 = vm.$i18n).t.apply(ref$2, [path].concat(makeParams(locale, args)));\n }\n\n el._locale = vm.$i18n.locale;\n el._localeMessage = vm.$i18n.getLocaleMessage(vm.$i18n.locale);\n}\n\nfunction parseValue(value) {\n var path;\n var locale;\n var args;\n var choice;\n\n if (isString(value)) {\n path = value;\n } else if (isPlainObject(value)) {\n path = value.path;\n locale = value.locale;\n args = value.args;\n choice = value.choice;\n }\n\n return {\n path: path,\n locale: locale,\n args: args,\n choice: choice\n };\n}\n\nfunction makeParams(locale, args) {\n var params = [];\n locale && params.push(locale);\n\n if (args && (Array.isArray(args) || isPlainObject(args))) {\n params.push(args);\n }\n\n return params;\n}\n\nvar Vue;\n\nfunction install(_Vue) {\n /* istanbul ignore if */\n if ( true && install.installed && _Vue === Vue) {\n warn('already installed.');\n return;\n }\n\n install.installed = true;\n Vue = _Vue;\n var version = Vue.version && Number(Vue.version.split('.')[0]) || -1;\n /* istanbul ignore if */\n\n if ( true && version < 2) {\n warn(\"vue-i18n (\" + install.version + \") need to use Vue 2.0 or later (Vue: \" + Vue.version + \").\");\n return;\n }\n\n extend(Vue);\n Vue.mixin(mixin);\n Vue.directive('t', {\n bind: bind,\n update: update,\n unbind: unbind\n });\n Vue.component(interpolationComponent.name, interpolationComponent);\n Vue.component(numberComponent.name, numberComponent); // use simple mergeStrategies to prevent i18n instance lose '__proto__'\n\n var strats = Vue.config.optionMergeStrategies;\n\n strats.i18n = function (parentVal, childVal) {\n return childVal === undefined ? parentVal : childVal;\n };\n}\n/* */\n\n\nvar BaseFormatter = function BaseFormatter() {\n this._caches = Object.create(null);\n};\n\nBaseFormatter.prototype.interpolate = function interpolate(message, values) {\n if (!values) {\n return [message];\n }\n\n var tokens = this._caches[message];\n\n if (!tokens) {\n tokens = parse(message);\n this._caches[message] = tokens;\n }\n\n return compile(tokens, values);\n};\n\nvar RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nvar RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\n\nfunction parse(format) {\n var tokens = [];\n var position = 0;\n var text = '';\n\n while (position < format.length) {\n var char = format[position++];\n\n if (char === '{') {\n if (text) {\n tokens.push({\n type: 'text',\n value: text\n });\n }\n\n text = '';\n var sub = '';\n char = format[position++];\n\n while (char !== undefined && char !== '}') {\n sub += char;\n char = format[position++];\n }\n\n var isClosed = char === '}';\n var type = RE_TOKEN_LIST_VALUE.test(sub) ? 'list' : isClosed && RE_TOKEN_NAMED_VALUE.test(sub) ? 'named' : 'unknown';\n tokens.push({\n value: sub,\n type: type\n });\n } else if (char === '%') {\n // when found rails i18n syntax, skip text capture\n if (format[position] !== '{') {\n text += char;\n }\n } else {\n text += char;\n }\n }\n\n text && tokens.push({\n type: 'text',\n value: text\n });\n return tokens;\n}\n\nfunction compile(tokens, values) {\n var compiled = [];\n var index = 0;\n var mode = Array.isArray(values) ? 'list' : isObject(values) ? 'named' : 'unknown';\n\n if (mode === 'unknown') {\n return compiled;\n }\n\n while (index < tokens.length) {\n var token = tokens[index];\n\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n } else {\n if (true) {\n warn(\"Type of token '\" + token.type + \"' and format of value '\" + mode + \"' don't match!\");\n }\n }\n\n break;\n\n case 'unknown':\n if (true) {\n warn(\"Detect 'unknown' type of token!\");\n }\n\n break;\n }\n\n index++;\n }\n\n return compiled;\n}\n/* */\n\n/**\n * Path parser\n * - Inspired:\n * Vue.js Path parser\n */\n// actions\n\n\nvar APPEND = 0;\nvar PUSH = 1;\nvar INC_SUB_PATH_DEPTH = 2;\nvar PUSH_SUB_PATH = 3; // states\n\nvar BEFORE_PATH = 0;\nvar IN_PATH = 1;\nvar BEFORE_IDENT = 2;\nvar IN_IDENT = 3;\nvar IN_SUB_PATH = 4;\nvar IN_SINGLE_QUOTE = 5;\nvar IN_DOUBLE_QUOTE = 6;\nvar AFTER_PATH = 7;\nvar ERROR = 8;\nvar pathStateMachine = [];\npathStateMachine[BEFORE_PATH] = {\n 'ws': [BEFORE_PATH],\n 'ident': [IN_IDENT, APPEND],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\npathStateMachine[IN_PATH] = {\n 'ws': [IN_PATH],\n '.': [BEFORE_IDENT],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\npathStateMachine[BEFORE_IDENT] = {\n 'ws': [BEFORE_IDENT],\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND]\n};\npathStateMachine[IN_IDENT] = {\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND],\n 'ws': [IN_PATH, PUSH],\n '.': [BEFORE_IDENT, PUSH],\n '[': [IN_SUB_PATH, PUSH],\n 'eof': [AFTER_PATH, PUSH]\n};\npathStateMachine[IN_SUB_PATH] = {\n \"'\": [IN_SINGLE_QUOTE, APPEND],\n '\"': [IN_DOUBLE_QUOTE, APPEND],\n '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],\n ']': [IN_PATH, PUSH_SUB_PATH],\n 'eof': ERROR,\n 'else': [IN_SUB_PATH, APPEND]\n};\npathStateMachine[IN_SINGLE_QUOTE] = {\n \"'\": [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_SINGLE_QUOTE, APPEND]\n};\npathStateMachine[IN_DOUBLE_QUOTE] = {\n '\"': [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_DOUBLE_QUOTE, APPEND]\n};\n/**\n * Check if an expression is a literal value.\n */\n\nvar literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\n\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\n\n\nfunction stripQuotes(str) {\n var a = str.charCodeAt(0);\n var b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\n\n\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return 'eof';\n }\n\n var code = ch.charCodeAt(0);\n\n switch (code) {\n case 0x5B: // [\n\n case 0x5D: // ]\n\n case 0x2E: // .\n\n case 0x22: // \"\n\n case 0x27:\n // '\n return ch;\n\n case 0x5F: // _\n\n case 0x24: // $\n\n case 0x2D:\n // -\n return 'ident';\n\n case 0x09: // Tab\n\n case 0x0A: // Newline\n\n case 0x0D: // Return\n\n case 0xA0: // No-break space\n\n case 0xFEFF: // Byte Order Mark\n\n case 0x2028: // Line Separator\n\n case 0x2029:\n // Paragraph Separator\n return 'ws';\n }\n\n return 'ident';\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\n\n\nfunction formatSubPath(path) {\n var trimmed = path.trim(); // invalid leading 0\n\n if (path.charAt(0) === '0' && isNaN(path)) {\n return false;\n }\n\n return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\n\n\nfunction parse$1(path) {\n var keys = [];\n var index = -1;\n var mode = BEFORE_PATH;\n var subPathDepth = 0;\n var c;\n var key;\n var newChar;\n var type;\n var transition;\n var action;\n var typeMap;\n var actions = [];\n\n actions[PUSH] = function () {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n\n actions[APPEND] = function () {\n if (key === undefined) {\n key = newChar;\n } else {\n key += newChar;\n }\n };\n\n actions[INC_SUB_PATH_DEPTH] = function () {\n actions[APPEND]();\n subPathDepth++;\n };\n\n actions[PUSH_SUB_PATH] = function () {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = IN_SUB_PATH;\n actions[APPEND]();\n } else {\n subPathDepth = 0;\n\n if (key === undefined) {\n return false;\n }\n\n key = formatSubPath(key);\n\n if (key === false) {\n return false;\n } else {\n actions[PUSH]();\n }\n }\n };\n\n function maybeUnescapeQuote() {\n var nextChar = path[index + 1];\n\n if (mode === IN_SINGLE_QUOTE && nextChar === \"'\" || mode === IN_DOUBLE_QUOTE && nextChar === '\"') {\n index++;\n newChar = '\\\\' + nextChar;\n actions[APPEND]();\n return true;\n }\n }\n\n while (mode !== null) {\n index++;\n c = path[index];\n\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap['else'] || ERROR;\n\n if (transition === ERROR) {\n return; // parse error\n }\n\n mode = transition[0];\n action = actions[transition[1]];\n\n if (action) {\n newChar = transition[2];\n newChar = newChar === undefined ? c : newChar;\n\n if (action() === false) {\n return;\n }\n }\n\n if (mode === AFTER_PATH) {\n return keys;\n }\n }\n}\n\nvar I18nPath = function I18nPath() {\n this._cache = Object.create(null);\n};\n/**\n * External parse that check for a cache hit first\n */\n\n\nI18nPath.prototype.parsePath = function parsePath(path) {\n var hit = this._cache[path];\n\n if (!hit) {\n hit = parse$1(path);\n\n if (hit) {\n this._cache[path] = hit;\n }\n }\n\n return hit || [];\n};\n/**\n * Get path value from path string\n */\n\n\nI18nPath.prototype.getPathValue = function getPathValue(obj, path) {\n if (!isObject(obj)) {\n return null;\n }\n\n var paths = this.parsePath(path);\n\n if (paths.length === 0) {\n return null;\n } else {\n var length = paths.length;\n var last = obj;\n var i = 0;\n\n while (i < length) {\n var value = last[paths[i]];\n\n if (value === undefined) {\n return null;\n }\n\n last = value;\n i++;\n }\n\n return last;\n }\n};\n/* */\n\n\nvar htmlTagMatcher = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nvar linkKeyMatcher = /(?:@(?:\\.[a-z]+)?:(?:[\\w\\-_|.]+|\\([\\w\\-_|.]+\\)))/g;\nvar linkKeyPrefixMatcher = /^@(?:\\.([a-z]+))?:/;\nvar bracketsMatcher = /[()]/g;\nvar defaultModifiers = {\n 'upper': function (str) {\n return str.toLocaleUpperCase();\n },\n 'lower': function (str) {\n return str.toLocaleLowerCase();\n },\n 'capitalize': function (str) {\n return \"\" + str.charAt(0).toLocaleUpperCase() + str.substr(1);\n }\n};\nvar defaultFormatter = new BaseFormatter();\n\nvar VueI18n = function VueI18n(options) {\n var this$1 = this;\n if (options === void 0) options = {}; // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #290\n\n /* istanbul ignore if */\n\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n var locale = options.locale || 'en-US';\n var fallbackLocale = options.fallbackLocale === false ? false : options.fallbackLocale || 'en-US';\n var messages = options.messages || {};\n var dateTimeFormats = options.dateTimeFormats || {};\n var numberFormats = options.numberFormats || {};\n this._vm = null;\n this._formatter = options.formatter || defaultFormatter;\n this._modifiers = options.modifiers || {};\n this._missing = options.missing || null;\n this._root = options.root || null;\n this._sync = options.sync === undefined ? true : !!options.sync;\n this._fallbackRoot = options.fallbackRoot === undefined ? true : !!options.fallbackRoot;\n this._formatFallbackMessages = options.formatFallbackMessages === undefined ? false : !!options.formatFallbackMessages;\n this._silentTranslationWarn = options.silentTranslationWarn === undefined ? false : options.silentTranslationWarn;\n this._silentFallbackWarn = options.silentFallbackWarn === undefined ? false : !!options.silentFallbackWarn;\n this._dateTimeFormatters = {};\n this._numberFormatters = {};\n this._path = new I18nPath();\n this._dataListeners = [];\n this._componentInstanceCreatedListener = options.componentInstanceCreatedListener || null;\n this._preserveDirectiveContent = options.preserveDirectiveContent === undefined ? false : !!options.preserveDirectiveContent;\n this.pluralizationRules = options.pluralizationRules || {};\n this._warnHtmlInMessage = options.warnHtmlInMessage || 'off';\n this._postTranslation = options.postTranslation || null;\n this._escapeParameterHtml = options.escapeParameterHtml || false;\n /**\n * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`\n * @param choicesLength {number} an overall amount of available choices\n * @returns a final choice index\n */\n\n this.getChoiceIndex = function (choice, choicesLength) {\n var thisPrototype = Object.getPrototypeOf(this$1);\n\n if (thisPrototype && thisPrototype.getChoiceIndex) {\n var prototypeGetChoiceIndex = thisPrototype.getChoiceIndex;\n return prototypeGetChoiceIndex.call(this$1, choice, choicesLength);\n } // Default (old) getChoiceIndex implementation - english-compatible\n\n\n var defaultImpl = function (_choice, _choicesLength) {\n _choice = Math.abs(_choice);\n\n if (_choicesLength === 2) {\n return _choice ? _choice > 1 ? 1 : 0 : 1;\n }\n\n return _choice ? Math.min(_choice, 2) : 0;\n };\n\n if (this$1.locale in this$1.pluralizationRules) {\n return this$1.pluralizationRules[this$1.locale].apply(this$1, [choice, choicesLength]);\n } else {\n return defaultImpl(choice, choicesLength);\n }\n };\n\n this._exist = function (message, key) {\n if (!message || !key) {\n return false;\n }\n\n if (!isNull(this$1._path.getPathValue(message, key))) {\n return true;\n } // fallback for flat key\n\n\n if (message[key]) {\n return true;\n }\n\n return false;\n };\n\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n Object.keys(messages).forEach(function (locale) {\n this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n });\n }\n\n this._initVM({\n locale: locale,\n fallbackLocale: fallbackLocale,\n messages: messages,\n dateTimeFormats: dateTimeFormats,\n numberFormats: numberFormats\n });\n};\n\nvar prototypeAccessors = {\n vm: {\n configurable: true\n },\n messages: {\n configurable: true\n },\n dateTimeFormats: {\n configurable: true\n },\n numberFormats: {\n configurable: true\n },\n availableLocales: {\n configurable: true\n },\n locale: {\n configurable: true\n },\n fallbackLocale: {\n configurable: true\n },\n formatFallbackMessages: {\n configurable: true\n },\n missing: {\n configurable: true\n },\n formatter: {\n configurable: true\n },\n silentTranslationWarn: {\n configurable: true\n },\n silentFallbackWarn: {\n configurable: true\n },\n preserveDirectiveContent: {\n configurable: true\n },\n warnHtmlInMessage: {\n configurable: true\n },\n postTranslation: {\n configurable: true\n }\n};\n\nVueI18n.prototype._checkLocaleMessage = function _checkLocaleMessage(locale, level, message) {\n var paths = [];\n\n var fn = function (level, locale, message, paths) {\n if (isPlainObject(message)) {\n Object.keys(message).forEach(function (key) {\n var val = message[key];\n\n if (isPlainObject(val)) {\n paths.push(key);\n paths.push('.');\n fn(level, locale, val, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push(key);\n fn(level, locale, val, paths);\n paths.pop();\n }\n });\n } else if (isArray(message)) {\n message.forEach(function (item, index) {\n if (isPlainObject(item)) {\n paths.push(\"[\" + index + \"]\");\n paths.push('.');\n fn(level, locale, item, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push(\"[\" + index + \"]\");\n fn(level, locale, item, paths);\n paths.pop();\n }\n });\n } else if (isString(message)) {\n var ret = htmlTagMatcher.test(message);\n\n if (ret) {\n var msg = \"Detected HTML in message '\" + message + \"' of keypath '\" + paths.join('') + \"' at '\" + locale + \"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp\";\n\n if (level === 'warn') {\n warn(msg);\n } else if (level === 'error') {\n error(msg);\n }\n }\n }\n };\n\n fn(level, locale, message, paths);\n};\n\nVueI18n.prototype._initVM = function _initVM(data) {\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n this._vm = new Vue({\n data: data\n });\n Vue.config.silent = silent;\n};\n\nVueI18n.prototype.destroyVM = function destroyVM() {\n this._vm.$destroy();\n};\n\nVueI18n.prototype.subscribeDataChanging = function subscribeDataChanging(vm) {\n this._dataListeners.push(vm);\n};\n\nVueI18n.prototype.unsubscribeDataChanging = function unsubscribeDataChanging(vm) {\n remove(this._dataListeners, vm);\n};\n\nVueI18n.prototype.watchI18nData = function watchI18nData() {\n var self = this;\n return this._vm.$watch('$data', function () {\n var i = self._dataListeners.length;\n\n while (i--) {\n Vue.nextTick(function () {\n self._dataListeners[i] && self._dataListeners[i].$forceUpdate();\n });\n }\n }, {\n deep: true\n });\n};\n\nVueI18n.prototype.watchLocale = function watchLocale() {\n /* istanbul ignore if */\n if (!this._sync || !this._root) {\n return null;\n }\n\n var target = this._vm;\n return this._root.$i18n.vm.$watch('locale', function (val) {\n target.$set(target, 'locale', val);\n target.$forceUpdate();\n }, {\n immediate: true\n });\n};\n\nVueI18n.prototype.onComponentInstanceCreated = function onComponentInstanceCreated(newI18n) {\n if (this._componentInstanceCreatedListener) {\n this._componentInstanceCreatedListener(newI18n, this);\n }\n};\n\nprototypeAccessors.vm.get = function () {\n return this._vm;\n};\n\nprototypeAccessors.messages.get = function () {\n return looseClone(this._getMessages());\n};\n\nprototypeAccessors.dateTimeFormats.get = function () {\n return looseClone(this._getDateTimeFormats());\n};\n\nprototypeAccessors.numberFormats.get = function () {\n return looseClone(this._getNumberFormats());\n};\n\nprototypeAccessors.availableLocales.get = function () {\n return Object.keys(this.messages).sort();\n};\n\nprototypeAccessors.locale.get = function () {\n return this._vm.locale;\n};\n\nprototypeAccessors.locale.set = function (locale) {\n this._vm.$set(this._vm, 'locale', locale);\n};\n\nprototypeAccessors.fallbackLocale.get = function () {\n return this._vm.fallbackLocale;\n};\n\nprototypeAccessors.fallbackLocale.set = function (locale) {\n this._localeChainCache = {};\n\n this._vm.$set(this._vm, 'fallbackLocale', locale);\n};\n\nprototypeAccessors.formatFallbackMessages.get = function () {\n return this._formatFallbackMessages;\n};\n\nprototypeAccessors.formatFallbackMessages.set = function (fallback) {\n this._formatFallbackMessages = fallback;\n};\n\nprototypeAccessors.missing.get = function () {\n return this._missing;\n};\n\nprototypeAccessors.missing.set = function (handler) {\n this._missing = handler;\n};\n\nprototypeAccessors.formatter.get = function () {\n return this._formatter;\n};\n\nprototypeAccessors.formatter.set = function (formatter) {\n this._formatter = formatter;\n};\n\nprototypeAccessors.silentTranslationWarn.get = function () {\n return this._silentTranslationWarn;\n};\n\nprototypeAccessors.silentTranslationWarn.set = function (silent) {\n this._silentTranslationWarn = silent;\n};\n\nprototypeAccessors.silentFallbackWarn.get = function () {\n return this._silentFallbackWarn;\n};\n\nprototypeAccessors.silentFallbackWarn.set = function (silent) {\n this._silentFallbackWarn = silent;\n};\n\nprototypeAccessors.preserveDirectiveContent.get = function () {\n return this._preserveDirectiveContent;\n};\n\nprototypeAccessors.preserveDirectiveContent.set = function (preserve) {\n this._preserveDirectiveContent = preserve;\n};\n\nprototypeAccessors.warnHtmlInMessage.get = function () {\n return this._warnHtmlInMessage;\n};\n\nprototypeAccessors.warnHtmlInMessage.set = function (level) {\n var this$1 = this;\n var orgLevel = this._warnHtmlInMessage;\n this._warnHtmlInMessage = level;\n\n if (orgLevel !== level && (level === 'warn' || level === 'error')) {\n var messages = this._getMessages();\n\n Object.keys(messages).forEach(function (locale) {\n this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n });\n }\n};\n\nprototypeAccessors.postTranslation.get = function () {\n return this._postTranslation;\n};\n\nprototypeAccessors.postTranslation.set = function (handler) {\n this._postTranslation = handler;\n};\n\nVueI18n.prototype._getMessages = function _getMessages() {\n return this._vm.messages;\n};\n\nVueI18n.prototype._getDateTimeFormats = function _getDateTimeFormats() {\n return this._vm.dateTimeFormats;\n};\n\nVueI18n.prototype._getNumberFormats = function _getNumberFormats() {\n return this._vm.numberFormats;\n};\n\nVueI18n.prototype._warnDefault = function _warnDefault(locale, key, result, vm, values, interpolateMode) {\n if (!isNull(result)) {\n return result;\n }\n\n if (this._missing) {\n var missingRet = this._missing.apply(null, [locale, key, vm, values]);\n\n if (isString(missingRet)) {\n return missingRet;\n }\n } else {\n if ( true && !this._isSilentTranslationWarn(key)) {\n warn(\"Cannot translate the value of keypath '\" + key + \"'. \" + 'Use the value of keypath as default.');\n }\n }\n\n if (this._formatFallbackMessages) {\n var parsedArgs = parseArgs.apply(void 0, values);\n return this._render(key, interpolateMode, parsedArgs.params, key);\n } else {\n return key;\n }\n};\n\nVueI18n.prototype._isFallbackRoot = function _isFallbackRoot(val) {\n return !val && !isNull(this._root) && this._fallbackRoot;\n};\n\nVueI18n.prototype._isSilentFallbackWarn = function _isSilentFallbackWarn(key) {\n return this._silentFallbackWarn instanceof RegExp ? this._silentFallbackWarn.test(key) : this._silentFallbackWarn;\n};\n\nVueI18n.prototype._isSilentFallback = function _isSilentFallback(locale, key) {\n return this._isSilentFallbackWarn(key) && (this._isFallbackRoot() || locale !== this.fallbackLocale);\n};\n\nVueI18n.prototype._isSilentTranslationWarn = function _isSilentTranslationWarn(key) {\n return this._silentTranslationWarn instanceof RegExp ? this._silentTranslationWarn.test(key) : this._silentTranslationWarn;\n};\n\nVueI18n.prototype._interpolate = function _interpolate(locale, message, key, host, interpolateMode, values, visitedLinkStack) {\n if (!message) {\n return null;\n }\n\n var pathRet = this._path.getPathValue(message, key);\n\n if (isArray(pathRet) || isPlainObject(pathRet)) {\n return pathRet;\n }\n\n var ret;\n\n if (isNull(pathRet)) {\n /* istanbul ignore else */\n if (isPlainObject(message)) {\n ret = message[key];\n\n if (!(isString(ret) || isFunction(ret))) {\n if ( true && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn(\"Value of key '\" + key + \"' is not a string or function !\");\n }\n\n return null;\n }\n } else {\n return null;\n }\n } else {\n /* istanbul ignore else */\n if (isString(pathRet) || isFunction(pathRet)) {\n ret = pathRet;\n } else {\n if ( true && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn(\"Value of key '\" + key + \"' is not a string or function!\");\n }\n\n return null;\n }\n } // Check for the existence of links within the translated string\n\n\n if (isString(ret) && (ret.indexOf('@:') >= 0 || ret.indexOf('@.') >= 0)) {\n ret = this._link(locale, message, ret, host, 'raw', values, visitedLinkStack);\n }\n\n return this._render(ret, interpolateMode, values, key);\n};\n\nVueI18n.prototype._link = function _link(locale, message, str, host, interpolateMode, values, visitedLinkStack) {\n var ret = str; // Match all the links within the local\n // We are going to replace each of\n // them with its translation\n\n var matches = ret.match(linkKeyMatcher);\n\n for (var idx in matches) {\n // ie compatible: filter custom array\n // prototype method\n if (!matches.hasOwnProperty(idx)) {\n continue;\n }\n\n var link = matches[idx];\n var linkKeyPrefixMatches = link.match(linkKeyPrefixMatcher);\n var linkPrefix = linkKeyPrefixMatches[0];\n var formatterName = linkKeyPrefixMatches[1]; // Remove the leading @:, @.case: and the brackets\n\n var linkPlaceholder = link.replace(linkPrefix, '').replace(bracketsMatcher, '');\n\n if (includes(visitedLinkStack, linkPlaceholder)) {\n if (true) {\n warn(\"Circular reference found. \\\"\" + link + \"\\\" is already visited in the chain of \" + visitedLinkStack.reverse().join(' <- '));\n }\n\n return ret;\n }\n\n visitedLinkStack.push(linkPlaceholder); // Translate the link\n\n var translated = this._interpolate(locale, message, linkPlaceholder, host, interpolateMode === 'raw' ? 'string' : interpolateMode, interpolateMode === 'raw' ? undefined : values, visitedLinkStack);\n\n if (this._isFallbackRoot(translated)) {\n if ( true && !this._isSilentTranslationWarn(linkPlaceholder)) {\n warn(\"Fall back to translate the link placeholder '\" + linkPlaceholder + \"' with root locale.\");\n }\n /* istanbul ignore if */\n\n\n if (!this._root) {\n throw Error('unexpected error');\n }\n\n var root = this._root.$i18n;\n translated = root._translate(root._getMessages(), root.locale, root.fallbackLocale, linkPlaceholder, host, interpolateMode, values);\n }\n\n translated = this._warnDefault(locale, linkPlaceholder, translated, host, isArray(values) ? values : [values], interpolateMode);\n\n if (this._modifiers.hasOwnProperty(formatterName)) {\n translated = this._modifiers[formatterName](translated);\n } else if (defaultModifiers.hasOwnProperty(formatterName)) {\n translated = defaultModifiers[formatterName](translated);\n }\n\n visitedLinkStack.pop(); // Replace the link with the translated\n\n ret = !translated ? ret : ret.replace(link, translated);\n }\n\n return ret;\n};\n\nVueI18n.prototype._createMessageContext = function _createMessageContext(values) {\n var _list = isArray(values) ? values : [];\n\n var _named = isObject(values) ? values : {};\n\n var list = function (index) {\n return _list[index];\n };\n\n var named = function (key) {\n return _named[key];\n };\n\n return {\n list: list,\n named: named\n };\n};\n\nVueI18n.prototype._render = function _render(message, interpolateMode, values, path) {\n if (isFunction(message)) {\n return message(this._createMessageContext(values));\n }\n\n var ret = this._formatter.interpolate(message, values, path); // If the custom formatter refuses to work - apply the default one\n\n\n if (!ret) {\n ret = defaultFormatter.interpolate(message, values, path);\n } // if interpolateMode is **not** 'string' ('row'),\n // return the compiled data (e.g. ['foo', VNode, 'bar']) with formatter\n\n\n return interpolateMode === 'string' && !isString(ret) ? ret.join('') : ret;\n};\n\nVueI18n.prototype._appendItemToChain = function _appendItemToChain(chain, item, blocks) {\n var follow = false;\n\n if (!includes(chain, item)) {\n follow = true;\n\n if (item) {\n follow = item[item.length - 1] !== '!';\n item = item.replace(/!/g, '');\n chain.push(item);\n\n if (blocks && blocks[item]) {\n follow = blocks[item];\n }\n }\n }\n\n return follow;\n};\n\nVueI18n.prototype._appendLocaleToChain = function _appendLocaleToChain(chain, locale, blocks) {\n var follow;\n var tokens = locale.split('-');\n\n do {\n var item = tokens.join('-');\n follow = this._appendItemToChain(chain, item, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n\n return follow;\n};\n\nVueI18n.prototype._appendBlockToChain = function _appendBlockToChain(chain, block, blocks) {\n var follow = true;\n\n for (var i = 0; i < block.length && isBoolean(follow); i++) {\n var locale = block[i];\n\n if (isString(locale)) {\n follow = this._appendLocaleToChain(chain, locale, blocks);\n }\n }\n\n return follow;\n};\n\nVueI18n.prototype._getLocaleChain = function _getLocaleChain(start, fallbackLocale) {\n if (start === '') {\n return [];\n }\n\n if (!this._localeChainCache) {\n this._localeChainCache = {};\n }\n\n var chain = this._localeChainCache[start];\n\n if (!chain) {\n if (!fallbackLocale) {\n fallbackLocale = this.fallbackLocale;\n }\n\n chain = []; // first block defined by start\n\n var block = [start]; // while any intervening block found\n\n while (isArray(block)) {\n block = this._appendBlockToChain(chain, block, fallbackLocale);\n } // last block defined by default\n\n\n var defaults;\n\n if (isArray(fallbackLocale)) {\n defaults = fallbackLocale;\n } else if (isObject(fallbackLocale)) {\n /* $FlowFixMe */\n if (fallbackLocale['default']) {\n defaults = fallbackLocale['default'];\n } else {\n defaults = null;\n }\n } else {\n defaults = fallbackLocale;\n } // convert defaults to array\n\n\n if (isString(defaults)) {\n block = [defaults];\n } else {\n block = defaults;\n }\n\n if (block) {\n this._appendBlockToChain(chain, block, null);\n }\n\n this._localeChainCache[start] = chain;\n }\n\n return chain;\n};\n\nVueI18n.prototype._translate = function _translate(messages, locale, fallback, key, host, interpolateMode, args) {\n var chain = this._getLocaleChain(locale, fallback);\n\n var res;\n\n for (var i = 0; i < chain.length; i++) {\n var step = chain[i];\n res = this._interpolate(step, messages[step], key, host, interpolateMode, args, [key]);\n\n if (!isNull(res)) {\n if (step !== locale && \"development\" !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn(\"Fall back to translate the keypath '\" + key + \"' with '\" + step + \"' locale.\");\n }\n\n return res;\n }\n }\n\n return null;\n};\n\nVueI18n.prototype._t = function _t(key, _locale, messages, host) {\n var ref;\n var values = [],\n len = arguments.length - 4;\n\n while (len-- > 0) values[len] = arguments[len + 4];\n\n if (!key) {\n return '';\n }\n\n var parsedArgs = parseArgs.apply(void 0, values);\n\n if (this._escapeParameterHtml) {\n parsedArgs.params = escapeParams(parsedArgs.params);\n }\n\n var locale = parsedArgs.locale || _locale;\n\n var ret = this._translate(messages, locale, this.fallbackLocale, key, host, 'string', parsedArgs.params);\n\n if (this._isFallbackRoot(ret)) {\n if ( true && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn(\"Fall back to translate the keypath '\" + key + \"' with root locale.\");\n }\n /* istanbul ignore if */\n\n\n if (!this._root) {\n throw Error('unexpected error');\n }\n\n return (ref = this._root).$t.apply(ref, [key].concat(values));\n } else {\n ret = this._warnDefault(locale, key, ret, host, values, 'string');\n\n if (this._postTranslation && ret !== null && ret !== undefined) {\n ret = this._postTranslation(ret, key);\n }\n\n return ret;\n }\n};\n\nVueI18n.prototype.t = function t(key) {\n var ref;\n var values = [],\n len = arguments.length - 1;\n\n while (len-- > 0) values[len] = arguments[len + 1];\n\n return (ref = this)._t.apply(ref, [key, this.locale, this._getMessages(), null].concat(values));\n};\n\nVueI18n.prototype._i = function _i(key, locale, messages, host, values) {\n var ret = this._translate(messages, locale, this.fallbackLocale, key, host, 'raw', values);\n\n if (this._isFallbackRoot(ret)) {\n if ( true && !this._isSilentTranslationWarn(key)) {\n warn(\"Fall back to interpolate the keypath '\" + key + \"' with root locale.\");\n }\n\n if (!this._root) {\n throw Error('unexpected error');\n }\n\n return this._root.$i18n.i(key, locale, values);\n } else {\n return this._warnDefault(locale, key, ret, host, [values], 'raw');\n }\n};\n\nVueI18n.prototype.i = function i(key, locale, values) {\n /* istanbul ignore if */\n if (!key) {\n return '';\n }\n\n if (!isString(locale)) {\n locale = this.locale;\n }\n\n return this._i(key, locale, this._getMessages(), null, values);\n};\n\nVueI18n.prototype._tc = function _tc(key, _locale, messages, host, choice) {\n var ref;\n var values = [],\n len = arguments.length - 5;\n\n while (len-- > 0) values[len] = arguments[len + 5];\n\n if (!key) {\n return '';\n }\n\n if (choice === undefined) {\n choice = 1;\n }\n\n var predefined = {\n 'count': choice,\n 'n': choice\n };\n var parsedArgs = parseArgs.apply(void 0, values);\n parsedArgs.params = Object.assign(predefined, parsedArgs.params);\n values = parsedArgs.locale === null ? [parsedArgs.params] : [parsedArgs.locale, parsedArgs.params];\n return this.fetchChoice((ref = this)._t.apply(ref, [key, _locale, messages, host].concat(values)), choice);\n};\n\nVueI18n.prototype.fetchChoice = function fetchChoice(message, choice) {\n /* istanbul ignore if */\n if (!message || !isString(message)) {\n return null;\n }\n\n var choices = message.split('|');\n choice = this.getChoiceIndex(choice, choices.length);\n\n if (!choices[choice]) {\n return message;\n }\n\n return choices[choice].trim();\n};\n\nVueI18n.prototype.tc = function tc(key, choice) {\n var ref;\n var values = [],\n len = arguments.length - 2;\n\n while (len-- > 0) values[len] = arguments[len + 2];\n\n return (ref = this)._tc.apply(ref, [key, this.locale, this._getMessages(), null, choice].concat(values));\n};\n\nVueI18n.prototype._te = function _te(key, locale, messages) {\n var args = [],\n len = arguments.length - 3;\n\n while (len-- > 0) args[len] = arguments[len + 3];\n\n var _locale = parseArgs.apply(void 0, args).locale || locale;\n\n return this._exist(messages[_locale], key);\n};\n\nVueI18n.prototype.te = function te(key, locale) {\n return this._te(key, this.locale, this._getMessages(), locale);\n};\n\nVueI18n.prototype.getLocaleMessage = function getLocaleMessage(locale) {\n return looseClone(this._vm.messages[locale] || {});\n};\n\nVueI18n.prototype.setLocaleMessage = function setLocaleMessage(locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n }\n\n this._vm.$set(this._vm.messages, locale, message);\n};\n\nVueI18n.prototype.mergeLocaleMessage = function mergeLocaleMessage(locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n }\n\n this._vm.$set(this._vm.messages, locale, merge({}, this._vm.messages[locale] || {}, message));\n};\n\nVueI18n.prototype.getDateTimeFormat = function getDateTimeFormat(locale) {\n return looseClone(this._vm.dateTimeFormats[locale] || {});\n};\n\nVueI18n.prototype.setDateTimeFormat = function setDateTimeFormat(locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, format);\n\n this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype.mergeDateTimeFormat = function mergeDateTimeFormat(locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, merge(this._vm.dateTimeFormats[locale] || {}, format));\n\n this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype._clearDateTimeFormat = function _clearDateTimeFormat(locale, format) {\n for (var key in format) {\n var id = locale + \"__\" + key;\n\n if (!this._dateTimeFormatters.hasOwnProperty(id)) {\n continue;\n }\n\n delete this._dateTimeFormatters[id];\n }\n};\n\nVueI18n.prototype._localizeDateTime = function _localizeDateTime(value, locale, fallback, dateTimeFormats, key) {\n var _locale = locale;\n var formats = dateTimeFormats[_locale];\n\n var chain = this._getLocaleChain(locale, fallback);\n\n for (var i = 0; i < chain.length; i++) {\n var current = _locale;\n var step = chain[i];\n formats = dateTimeFormats[step];\n _locale = step; // fallback locale\n\n if (isNull(formats) || isNull(formats[key])) {\n if (step !== locale && \"development\" !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn(\"Fall back to '\" + step + \"' datetime formats from '\" + current + \"' datetime formats.\");\n }\n } else {\n break;\n }\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null;\n } else {\n var format = formats[key];\n var id = _locale + \"__\" + key;\n var formatter = this._dateTimeFormatters[id];\n\n if (!formatter) {\n formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);\n }\n\n return formatter.format(value);\n }\n};\n\nVueI18n.prototype._d = function _d(value, locale, key) {\n /* istanbul ignore if */\n if ( true && !VueI18n.availabilities.dateTimeFormat) {\n warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');\n return '';\n }\n\n if (!key) {\n return new Intl.DateTimeFormat(locale).format(value);\n }\n\n var ret = this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);\n\n if (this._isFallbackRoot(ret)) {\n if ( true && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn(\"Fall back to datetime localization of root: key '\" + key + \"'.\");\n }\n /* istanbul ignore if */\n\n\n if (!this._root) {\n throw Error('unexpected error');\n }\n\n return this._root.$i18n.d(value, key, locale);\n } else {\n return ret || '';\n }\n};\n\nVueI18n.prototype.d = function d(value) {\n var args = [],\n len = arguments.length - 1;\n\n while (len-- > 0) args[len] = arguments[len + 1];\n\n var locale = this.locale;\n var key = null;\n\n if (args.length === 1) {\n if (isString(args[0])) {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n\n if (args[0].key) {\n key = args[0].key;\n }\n }\n } else if (args.length === 2) {\n if (isString(args[0])) {\n key = args[0];\n }\n\n if (isString(args[1])) {\n locale = args[1];\n }\n }\n\n return this._d(value, locale, key);\n};\n\nVueI18n.prototype.getNumberFormat = function getNumberFormat(locale) {\n return looseClone(this._vm.numberFormats[locale] || {});\n};\n\nVueI18n.prototype.setNumberFormat = function setNumberFormat(locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, format);\n\n this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype.mergeNumberFormat = function mergeNumberFormat(locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, merge(this._vm.numberFormats[locale] || {}, format));\n\n this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype._clearNumberFormat = function _clearNumberFormat(locale, format) {\n for (var key in format) {\n var id = locale + \"__\" + key;\n\n if (!this._numberFormatters.hasOwnProperty(id)) {\n continue;\n }\n\n delete this._numberFormatters[id];\n }\n};\n\nVueI18n.prototype._getNumberFormatter = function _getNumberFormatter(value, locale, fallback, numberFormats, key, options) {\n var _locale = locale;\n var formats = numberFormats[_locale];\n\n var chain = this._getLocaleChain(locale, fallback);\n\n for (var i = 0; i < chain.length; i++) {\n var current = _locale;\n var step = chain[i];\n formats = numberFormats[step];\n _locale = step; // fallback locale\n\n if (isNull(formats) || isNull(formats[key])) {\n if (step !== locale && \"development\" !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn(\"Fall back to '\" + step + \"' number formats from '\" + current + \"' number formats.\");\n }\n } else {\n break;\n }\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null;\n } else {\n var format = formats[key];\n var formatter;\n\n if (options) {\n // If options specified - create one time number formatter\n formatter = new Intl.NumberFormat(_locale, Object.assign({}, format, options));\n } else {\n var id = _locale + \"__\" + key;\n formatter = this._numberFormatters[id];\n\n if (!formatter) {\n formatter = this._numberFormatters[id] = new Intl.NumberFormat(_locale, format);\n }\n }\n\n return formatter;\n }\n};\n\nVueI18n.prototype._n = function _n(value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (true) {\n warn('Cannot format a Number value due to not supported Intl.NumberFormat.');\n }\n\n return '';\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.format(value);\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n\n var ret = formatter && formatter.format(value);\n\n if (this._isFallbackRoot(ret)) {\n if ( true && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn(\"Fall back to number localization of root: key '\" + key + \"'.\");\n }\n /* istanbul ignore if */\n\n\n if (!this._root) {\n throw Error('unexpected error');\n }\n\n return this._root.$i18n.n(value, Object.assign({}, {\n key: key,\n locale: locale\n }, options));\n } else {\n return ret || '';\n }\n};\n\nVueI18n.prototype.n = function n(value) {\n var args = [],\n len = arguments.length - 1;\n\n while (len-- > 0) args[len] = arguments[len + 1];\n\n var locale = this.locale;\n var key = null;\n var options = null;\n\n if (args.length === 1) {\n if (isString(args[0])) {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n\n if (args[0].key) {\n key = args[0].key;\n } // Filter out number format options only\n\n\n options = Object.keys(args[0]).reduce(function (acc, key) {\n var obj;\n\n if (includes(numberFormatKeys, key)) {\n return Object.assign({}, acc, (obj = {}, obj[key] = args[0][key], obj));\n }\n\n return acc;\n }, null);\n }\n } else if (args.length === 2) {\n if (isString(args[0])) {\n key = args[0];\n }\n\n if (isString(args[1])) {\n locale = args[1];\n }\n }\n\n return this._n(value, locale, key, options);\n};\n\nVueI18n.prototype._ntp = function _ntp(value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (true) {\n warn('Cannot format to parts a Number value due to not supported Intl.NumberFormat.');\n }\n\n return [];\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.formatToParts(value);\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n\n var ret = formatter && formatter.formatToParts(value);\n\n if (this._isFallbackRoot(ret)) {\n if ( true && !this._isSilentTranslationWarn(key)) {\n warn(\"Fall back to format number to parts of root: key '\" + key + \"' .\");\n }\n /* istanbul ignore if */\n\n\n if (!this._root) {\n throw Error('unexpected error');\n }\n\n return this._root.$i18n._ntp(value, locale, key, options);\n } else {\n return ret || [];\n }\n};\n\nObject.defineProperties(VueI18n.prototype, prototypeAccessors);\nvar availabilities; // $FlowFixMe\n\nObject.defineProperty(VueI18n, 'availabilities', {\n get: function get() {\n if (!availabilities) {\n var intlDefined = typeof Intl !== 'undefined';\n availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n };\n }\n\n return availabilities;\n }\n});\nVueI18n.install = install;\nVueI18n.version = '8.22.2';\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VueI18n);\n\n//# sourceURL=webpack://materio.com/./node_modules/vue-i18n/dist/vue-i18n.esm.js?"); /***/ }), /***/ "./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js": /*!************************************************************************!*\ !*** ./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js ***! \************************************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, top-level-this-exports */ /***/ (function(module) { eval("/*!\n * vue-infinite-loading v2.4.5\n * (c) 2016-2020 PeachScript\n * MIT License\n */\n!function (t, e) {\n true ? module.exports = e() : 0;\n}(this, function () {\n return function (t) {\n var e = {};\n\n function n(i) {\n if (e[i]) return e[i].exports;\n var a = e[i] = {\n i: i,\n l: !1,\n exports: {}\n };\n return t[i].call(a.exports, a, a.exports, n), a.l = !0, a.exports;\n }\n\n return n.m = t, n.c = e, n.d = function (t, e, i) {\n n.o(t, e) || Object.defineProperty(t, e, {\n enumerable: !0,\n get: i\n });\n }, n.r = function (t) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n }, n.t = function (t, e) {\n if (1 & e && (t = n(t)), 8 & e) return t;\n if (4 & e && \"object\" == typeof t && t && t.__esModule) return t;\n var i = Object.create(null);\n if (n.r(i), Object.defineProperty(i, \"default\", {\n enumerable: !0,\n value: t\n }), 2 & e && \"string\" != typeof t) for (var a in t) n.d(i, a, function (e) {\n return t[e];\n }.bind(null, a));\n return i;\n }, n.n = function (t) {\n var e = t && t.__esModule ? function () {\n return t.default;\n } : function () {\n return t;\n };\n return n.d(e, \"a\", e), e;\n }, n.o = function (t, e) {\n return Object.prototype.hasOwnProperty.call(t, e);\n }, n.p = \"\", n(n.s = 9);\n }([function (t, e, n) {\n var i = n(6);\n \"string\" == typeof i && (i = [[t.i, i, \"\"]]), i.locals && (t.exports = i.locals);\n (0, n(3).default)(\"6223ff68\", i, !0, {});\n }, function (t, e, n) {\n var i = n(8);\n \"string\" == typeof i && (i = [[t.i, i, \"\"]]), i.locals && (t.exports = i.locals);\n (0, n(3).default)(\"27f0e51f\", i, !0, {});\n }, function (t, e) {\n t.exports = function (t) {\n var e = [];\n return e.toString = function () {\n return this.map(function (e) {\n var n = function (t, e) {\n var n = t[1] || \"\",\n i = t[3];\n if (!i) return n;\n\n if (e && \"function\" == typeof btoa) {\n var a = (o = i, \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(o)))) + \" */\"),\n r = i.sources.map(function (t) {\n return \"/*# sourceURL=\" + i.sourceRoot + t + \" */\";\n });\n return [n].concat(r).concat([a]).join(\"\\n\");\n }\n\n var o;\n return [n].join(\"\\n\");\n }(e, t);\n\n return e[2] ? \"@media \" + e[2] + \"{\" + n + \"}\" : n;\n }).join(\"\");\n }, e.i = function (t, n) {\n \"string\" == typeof t && (t = [[null, t, \"\"]]);\n\n for (var i = {}, a = 0; a < this.length; a++) {\n var r = this[a][0];\n \"number\" == typeof r && (i[r] = !0);\n }\n\n for (a = 0; a < t.length; a++) {\n var o = t[a];\n \"number\" == typeof o[0] && i[o[0]] || (n && !o[2] ? o[2] = n : n && (o[2] = \"(\" + o[2] + \") and (\" + n + \")\"), e.push(o));\n }\n }, e;\n };\n }, function (t, e, n) {\n \"use strict\";\n\n function i(t, e) {\n for (var n = [], i = {}, a = 0; a < e.length; a++) {\n var r = e[a],\n o = r[0],\n s = {\n id: t + \":\" + a,\n css: r[1],\n media: r[2],\n sourceMap: r[3]\n };\n i[o] ? i[o].parts.push(s) : n.push(i[o] = {\n id: o,\n parts: [s]\n });\n }\n\n return n;\n }\n\n n.r(e), n.d(e, \"default\", function () {\n return f;\n });\n var a = \"undefined\" != typeof document;\n if (\"undefined\" != typeof DEBUG && DEBUG && !a) throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");\n\n var r = {},\n o = a && (document.head || document.getElementsByTagName(\"head\")[0]),\n s = null,\n l = 0,\n d = !1,\n c = function () {},\n u = null,\n p = \"undefined\" != typeof navigator && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());\n\n function f(t, e, n, a) {\n d = n, u = a || {};\n var o = i(t, e);\n return b(o), function (e) {\n for (var n = [], a = 0; a < o.length; a++) {\n var s = o[a];\n (l = r[s.id]).refs--, n.push(l);\n }\n\n e ? b(o = i(t, e)) : o = [];\n\n for (a = 0; a < n.length; a++) {\n var l;\n\n if (0 === (l = n[a]).refs) {\n for (var d = 0; d < l.parts.length; d++) l.parts[d]();\n\n delete r[l.id];\n }\n }\n };\n }\n\n function b(t) {\n for (var e = 0; e < t.length; e++) {\n var n = t[e],\n i = r[n.id];\n\n if (i) {\n i.refs++;\n\n for (var a = 0; a < i.parts.length; a++) i.parts[a](n.parts[a]);\n\n for (; a < n.parts.length; a++) i.parts.push(m(n.parts[a]));\n\n i.parts.length > n.parts.length && (i.parts.length = n.parts.length);\n } else {\n var o = [];\n\n for (a = 0; a < n.parts.length; a++) o.push(m(n.parts[a]));\n\n r[n.id] = {\n id: n.id,\n refs: 1,\n parts: o\n };\n }\n }\n }\n\n function h() {\n var t = document.createElement(\"style\");\n return t.type = \"text/css\", o.appendChild(t), t;\n }\n\n function m(t) {\n var e,\n n,\n i = document.querySelector('style[data-vue-ssr-id~=\"' + t.id + '\"]');\n\n if (i) {\n if (d) return c;\n i.parentNode.removeChild(i);\n }\n\n if (p) {\n var a = l++;\n i = s || (s = h()), e = w.bind(null, i, a, !1), n = w.bind(null, i, a, !0);\n } else i = h(), e = y.bind(null, i), n = function () {\n i.parentNode.removeChild(i);\n };\n\n return e(t), function (i) {\n if (i) {\n if (i.css === t.css && i.media === t.media && i.sourceMap === t.sourceMap) return;\n e(t = i);\n } else n();\n };\n }\n\n var g,\n v = (g = [], function (t, e) {\n return g[t] = e, g.filter(Boolean).join(\"\\n\");\n });\n\n function w(t, e, n, i) {\n var a = n ? \"\" : i.css;\n if (t.styleSheet) t.styleSheet.cssText = v(e, a);else {\n var r = document.createTextNode(a),\n o = t.childNodes;\n o[e] && t.removeChild(o[e]), o.length ? t.insertBefore(r, o[e]) : t.appendChild(r);\n }\n }\n\n function y(t, e) {\n var n = e.css,\n i = e.media,\n a = e.sourceMap;\n if (i && t.setAttribute(\"media\", i), u.ssrId && t.setAttribute(\"data-vue-ssr-id\", e.id), a && (n += \"\\n/*# sourceURL=\" + a.sources[0] + \" */\", n += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(a)))) + \" */\"), t.styleSheet) t.styleSheet.cssText = n;else {\n for (; t.firstChild;) t.removeChild(t.firstChild);\n\n t.appendChild(document.createTextNode(n));\n }\n }\n }, function (t, e) {\n function n(e) {\n return \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? t.exports = n = function (t) {\n return typeof t;\n } : t.exports = n = function (t) {\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t;\n }, n(e);\n }\n\n t.exports = n;\n }, function (t, e, n) {\n \"use strict\";\n\n n.r(e);\n var i = n(0),\n a = n.n(i);\n\n for (var r in i) \"default\" !== r && function (t) {\n n.d(e, t, function () {\n return i[t];\n });\n }(r);\n\n e.default = a.a;\n }, function (t, e, n) {\n (t.exports = n(2)(!1)).push([t.i, '.loading-wave-dots[data-v-46b20d22]{position:relative}.loading-wave-dots[data-v-46b20d22] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-46b20d22 linear 2.8s infinite;animation:loading-wave-dots-data-v-46b20d22 linear 2.8s infinite}.loading-wave-dots[data-v-46b20d22] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-46b20d22] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-46b20d22] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-46b20d22] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-46b20d22] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-46b20d22{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-46b20d22{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-46b20d22] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-46b20d22 linear .75s infinite;animation:loading-circles-data-v-46b20d22 linear .75s infinite}.loading-circles[data-v-46b20d22] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-46b20d22] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-46b20d22{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-46b20d22{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-46b20d22] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-46b20d22 linear .75s infinite;animation:loading-bubbles-data-v-46b20d22 linear .75s infinite}.loading-bubbles[data-v-46b20d22] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-46b20d22] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-46b20d22{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-46b20d22{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-46b20d22]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-46b20d22 ease 1.5s infinite;animation:loading-rotating-data-v-46b20d22 ease 1.5s infinite}.loading-default[data-v-46b20d22]:before{content:\"\";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-46b20d22]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-46b20d22 linear .85s infinite;animation:loading-rotating-data-v-46b20d22 linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-46b20d22{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-46b20d22{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-46b20d22],.loading-circles[data-v-46b20d22]{position:relative}.loading-bubbles[data-v-46b20d22] .bubble-item,.loading-circles[data-v-46b20d22] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(2),.loading-circles[data-v-46b20d22] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(3),.loading-circles[data-v-46b20d22] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(4),.loading-circles[data-v-46b20d22] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(5),.loading-circles[data-v-46b20d22] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(6),.loading-circles[data-v-46b20d22] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(7),.loading-circles[data-v-46b20d22] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-46b20d22] .bubble-item:last-child,.loading-circles[data-v-46b20d22] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}', \"\"]);\n }, function (t, e, n) {\n \"use strict\";\n\n n.r(e);\n var i = n(1),\n a = n.n(i);\n\n for (var r in i) \"default\" !== r && function (t) {\n n.d(e, t, function () {\n return i[t];\n });\n }(r);\n\n e.default = a.a;\n }, function (t, e, n) {\n (t.exports = n(2)(!1)).push([t.i, \".infinite-loading-container[data-v-644ea9c9]{clear:both;text-align:center}.infinite-loading-container[data-v-644ea9c9] [class^=loading-]{display:inline-block;margin:5px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.btn-try-infinite[data-v-644ea9c9]{margin-top:5px;padding:5px 10px;color:#999;font-size:14px;line-height:1;background:transparent;border:1px solid #ccc;border-radius:3px;outline:none;cursor:pointer}.btn-try-infinite[data-v-644ea9c9]:not(:active):hover{opacity:.8}\", \"\"]);\n }, function (t, e, n) {\n \"use strict\";\n\n n.r(e);\n\n var i = {\n throttleLimit: 50,\n loopCheckTimeout: 1e3,\n loopCheckMaxCalls: 10\n },\n a = function () {\n var t = !1;\n\n try {\n var e = Object.defineProperty({}, \"passive\", {\n get: function () {\n return t = {\n passive: !0\n }, !0;\n }\n });\n window.addEventListener(\"testpassive\", e, e), window.remove(\"testpassive\", e, e);\n } catch (t) {}\n\n return t;\n }(),\n r = {\n STATE_CHANGER: [\"emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):\", \"\\ntemplate:\", '', \"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\", \"\", \"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),\n INFINITE_EVENT: \"`:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\",\n IDENTIFIER: \"the `reset` event will be deprecated soon, please reset this component by change the `identifier` property.\"\n },\n o = {\n INFINITE_LOOP: [\"executed the callback function more than \".concat(i.loopCheckMaxCalls, \" times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\"), '\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n
\\n ...\\n \\x3c!-- set force-use-infinite-wrapper --\\x3e\\n \\n
\\nor\\n
\\n ...\\n \\x3c!-- set force-use-infinite-wrapper as css selector of the real scroll wrapper --\\x3e\\n \\n
\\n ', \"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")\n },\n s = {\n READY: 0,\n LOADING: 1,\n COMPLETE: 2,\n ERROR: 3\n },\n l = {\n color: \"#666\",\n fontSize: \"14px\",\n padding: \"10px 0\"\n },\n d = {\n mode: \"development\",\n props: {\n spinner: \"default\",\n distance: 100,\n forceUseInfiniteWrapper: !1\n },\n system: i,\n slots: {\n noResults: \"No results :(\",\n noMore: \"No more data :)\",\n error: \"Opps, something went wrong :(\",\n errorBtnText: \"Retry\",\n spinner: \"\"\n },\n WARNINGS: r,\n ERRORS: o,\n STATUS: s\n },\n c = n(4),\n u = n.n(c),\n p = {\n BUBBLES: {\n render: function (t) {\n return t(\"span\", {\n attrs: {\n class: \"loading-bubbles\"\n }\n }, Array.apply(Array, Array(8)).map(function () {\n return t(\"span\", {\n attrs: {\n class: \"bubble-item\"\n }\n });\n }));\n }\n },\n CIRCLES: {\n render: function (t) {\n return t(\"span\", {\n attrs: {\n class: \"loading-circles\"\n }\n }, Array.apply(Array, Array(8)).map(function () {\n return t(\"span\", {\n attrs: {\n class: \"circle-item\"\n }\n });\n }));\n }\n },\n DEFAULT: {\n render: function (t) {\n return t(\"i\", {\n attrs: {\n class: \"loading-default\"\n }\n });\n }\n },\n SPIRAL: {\n render: function (t) {\n return t(\"i\", {\n attrs: {\n class: \"loading-spiral\"\n }\n });\n }\n },\n WAVEDOTS: {\n render: function (t) {\n return t(\"span\", {\n attrs: {\n class: \"loading-wave-dots\"\n }\n }, Array.apply(Array, Array(5)).map(function () {\n return t(\"span\", {\n attrs: {\n class: \"wave-item\"\n }\n });\n }));\n }\n }\n };\n\n function f(t, e, n, i, a, r, o, s) {\n var l,\n d = \"function\" == typeof t ? t.options : t;\n if (e && (d.render = e, d.staticRenderFns = n, d._compiled = !0), i && (d.functional = !0), r && (d._scopeId = \"data-v-\" + r), o ? (l = function (t) {\n (t = t || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || \"undefined\" == typeof __VUE_SSR_CONTEXT__ || (t = __VUE_SSR_CONTEXT__), a && a.call(this, t), t && t._registeredComponents && t._registeredComponents.add(o);\n }, d._ssrRegister = l) : a && (l = s ? function () {\n a.call(this, this.$root.$options.shadowRoot);\n } : a), l) if (d.functional) {\n d._injectStyles = l;\n var c = d.render;\n\n d.render = function (t, e) {\n return l.call(e), c(t, e);\n };\n } else {\n var u = d.beforeCreate;\n d.beforeCreate = u ? [].concat(u, l) : [l];\n }\n return {\n exports: t,\n options: d\n };\n }\n\n var b = f({\n name: \"Spinner\",\n computed: {\n spinnerView: function () {\n return p[(this.$attrs.spinner || \"\").toUpperCase()] || this.spinnerInConfig;\n },\n spinnerInConfig: function () {\n return d.slots.spinner && \"string\" == typeof d.slots.spinner ? {\n render: function () {\n return this._v(d.slots.spinner);\n }\n } : \"object\" === u()(d.slots.spinner) ? d.slots.spinner : p[d.props.spinner.toUpperCase()] || p.DEFAULT;\n }\n }\n }, function () {\n var t = this.$createElement;\n return (this._self._c || t)(this.spinnerView, {\n tag: \"component\"\n });\n }, [], !1, function (t) {\n var e = n(5);\n e.__inject__ && e.__inject__(t);\n }, \"46b20d22\", null).exports;\n\n function h(t) {\n \"production\" !== d.mode && console.warn(\"[Vue-infinite-loading warn]: \".concat(t));\n }\n\n function m(t) {\n console.error(\"[Vue-infinite-loading error]: \".concat(t));\n }\n\n var g = {\n timers: [],\n caches: [],\n throttle: function (t) {\n var e = this;\n -1 === this.caches.indexOf(t) && (this.caches.push(t), this.timers.push(setTimeout(function () {\n t(), e.caches.splice(e.caches.indexOf(t), 1), e.timers.shift();\n }, d.system.throttleLimit)));\n },\n reset: function () {\n this.timers.forEach(function (t) {\n clearTimeout(t);\n }), this.timers.length = 0, this.caches = [];\n }\n },\n v = {\n isChecked: !1,\n timer: null,\n times: 0,\n track: function () {\n var t = this;\n this.times += 1, clearTimeout(this.timer), this.timer = setTimeout(function () {\n t.isChecked = !0;\n }, d.system.loopCheckTimeout), this.times > d.system.loopCheckMaxCalls && (m(o.INFINITE_LOOP), this.isChecked = !0);\n }\n },\n w = {\n key: \"_infiniteScrollHeight\",\n getScrollElm: function (t) {\n return t === window ? document.documentElement : t;\n },\n save: function (t) {\n var e = this.getScrollElm(t);\n e[this.key] = e.scrollHeight;\n },\n restore: function (t) {\n var e = this.getScrollElm(t);\n \"number\" == typeof e[this.key] && (e.scrollTop = e.scrollHeight - e[this.key] + e.scrollTop), this.remove(e);\n },\n remove: function (t) {\n void 0 !== t[this.key] && delete t[this.key];\n }\n };\n\n function y(t) {\n return t.replace(/[A-Z]/g, function (t) {\n return \"-\".concat(t.toLowerCase());\n });\n }\n\n function x(t) {\n return t.offsetWidth + t.offsetHeight > 0;\n }\n\n var k = f({\n name: \"InfiniteLoading\",\n data: function () {\n return {\n scrollParent: null,\n scrollHandler: null,\n isFirstLoad: !0,\n status: s.READY,\n slots: d.slots\n };\n },\n components: {\n Spinner: b\n },\n computed: {\n isShowSpinner: function () {\n return this.status === s.LOADING;\n },\n isShowError: function () {\n return this.status === s.ERROR;\n },\n isShowNoResults: function () {\n return this.status === s.COMPLETE && this.isFirstLoad;\n },\n isShowNoMore: function () {\n return this.status === s.COMPLETE && !this.isFirstLoad;\n },\n slotStyles: function () {\n var t = this,\n e = {};\n return Object.keys(d.slots).forEach(function (n) {\n var i = y(n);\n (!t.$slots[i] && !d.slots[n].render || t.$slots[i] && !t.$slots[i][0].tag) && (e[n] = l);\n }), e;\n }\n },\n props: {\n distance: {\n type: Number,\n default: d.props.distance\n },\n spinner: String,\n direction: {\n type: String,\n default: \"bottom\"\n },\n forceUseInfiniteWrapper: {\n type: [Boolean, String],\n default: d.props.forceUseInfiniteWrapper\n },\n identifier: {\n default: +new Date()\n },\n onInfinite: Function\n },\n watch: {\n identifier: function () {\n this.stateChanger.reset();\n }\n },\n mounted: function () {\n var t = this;\n this.$watch(\"forceUseInfiniteWrapper\", function () {\n t.scrollParent = t.getScrollParent();\n }, {\n immediate: !0\n }), this.scrollHandler = function (e) {\n t.status === s.READY && (e && e.constructor === Event && x(t.$el) ? g.throttle(t.attemptLoad) : t.attemptLoad());\n }, setTimeout(function () {\n t.scrollHandler(), t.scrollParent.addEventListener(\"scroll\", t.scrollHandler, a);\n }, 1), this.$on(\"$InfiniteLoading:loaded\", function (e) {\n t.isFirstLoad = !1, \"top\" === t.direction && t.$nextTick(function () {\n w.restore(t.scrollParent);\n }), t.status === s.LOADING && t.$nextTick(t.attemptLoad.bind(null, !0)), e && e.target === t || h(r.STATE_CHANGER);\n }), this.$on(\"$InfiniteLoading:complete\", function (e) {\n t.status = s.COMPLETE, t.$nextTick(function () {\n t.$forceUpdate();\n }), t.scrollParent.removeEventListener(\"scroll\", t.scrollHandler, a), e && e.target === t || h(r.STATE_CHANGER);\n }), this.$on(\"$InfiniteLoading:reset\", function (e) {\n t.status = s.READY, t.isFirstLoad = !0, w.remove(t.scrollParent), t.scrollParent.addEventListener(\"scroll\", t.scrollHandler, a), setTimeout(function () {\n g.reset(), t.scrollHandler();\n }, 1), e && e.target === t || h(r.IDENTIFIER);\n }), this.stateChanger = {\n loaded: function () {\n t.$emit(\"$InfiniteLoading:loaded\", {\n target: t\n });\n },\n complete: function () {\n t.$emit(\"$InfiniteLoading:complete\", {\n target: t\n });\n },\n reset: function () {\n t.$emit(\"$InfiniteLoading:reset\", {\n target: t\n });\n },\n error: function () {\n t.status = s.ERROR, g.reset();\n }\n }, this.onInfinite && h(r.INFINITE_EVENT);\n },\n deactivated: function () {\n this.status === s.LOADING && (this.status = s.READY), this.scrollParent.removeEventListener(\"scroll\", this.scrollHandler, a);\n },\n activated: function () {\n this.scrollParent.addEventListener(\"scroll\", this.scrollHandler, a);\n },\n methods: {\n attemptLoad: function (t) {\n var e = this;\n this.status !== s.COMPLETE && x(this.$el) && this.getCurrentDistance() <= this.distance ? (this.status = s.LOADING, \"top\" === this.direction && this.$nextTick(function () {\n w.save(e.scrollParent);\n }), \"function\" == typeof this.onInfinite ? this.onInfinite.call(null, this.stateChanger) : this.$emit(\"infinite\", this.stateChanger), !t || this.forceUseInfiniteWrapper || v.isChecked || v.track()) : this.status === s.LOADING && (this.status = s.READY);\n },\n getCurrentDistance: function () {\n var t;\n \"top\" === this.direction ? t = \"number\" == typeof this.scrollParent.scrollTop ? this.scrollParent.scrollTop : this.scrollParent.pageYOffset : t = this.$el.getBoundingClientRect().top - (this.scrollParent === window ? window.innerHeight : this.scrollParent.getBoundingClientRect().bottom);\n return t;\n },\n getScrollParent: function () {\n var t,\n e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.$el;\n return \"string\" == typeof this.forceUseInfiniteWrapper && (t = document.querySelector(this.forceUseInfiniteWrapper)), t || (\"BODY\" === e.tagName ? t = window : !this.forceUseInfiniteWrapper && [\"scroll\", \"auto\"].indexOf(getComputedStyle(e).overflowY) > -1 ? t = e : (e.hasAttribute(\"infinite-wrapper\") || e.hasAttribute(\"data-infinite-wrapper\")) && (t = e)), t || this.getScrollParent(e.parentNode);\n }\n },\n destroyed: function () {\n !this.status !== s.COMPLETE && (g.reset(), w.remove(this.scrollParent), this.scrollParent.removeEventListener(\"scroll\", this.scrollHandler, a));\n }\n }, function () {\n var t = this,\n e = t.$createElement,\n n = t._self._c || e;\n return n(\"div\", {\n staticClass: \"infinite-loading-container\"\n }, [n(\"div\", {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: t.isShowSpinner,\n expression: \"isShowSpinner\"\n }],\n staticClass: \"infinite-status-prompt\",\n style: t.slotStyles.spinner\n }, [t._t(\"spinner\", [n(\"spinner\", {\n attrs: {\n spinner: t.spinner\n }\n })])], 2), t._v(\" \"), n(\"div\", {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: t.isShowNoResults,\n expression: \"isShowNoResults\"\n }],\n staticClass: \"infinite-status-prompt\",\n style: t.slotStyles.noResults\n }, [t._t(\"no-results\", [t.slots.noResults.render ? n(t.slots.noResults, {\n tag: \"component\"\n }) : [t._v(t._s(t.slots.noResults))]])], 2), t._v(\" \"), n(\"div\", {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: t.isShowNoMore,\n expression: \"isShowNoMore\"\n }],\n staticClass: \"infinite-status-prompt\",\n style: t.slotStyles.noMore\n }, [t._t(\"no-more\", [t.slots.noMore.render ? n(t.slots.noMore, {\n tag: \"component\"\n }) : [t._v(t._s(t.slots.noMore))]])], 2), t._v(\" \"), n(\"div\", {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: t.isShowError,\n expression: \"isShowError\"\n }],\n staticClass: \"infinite-status-prompt\",\n style: t.slotStyles.error\n }, [t._t(\"error\", [t.slots.error.render ? n(t.slots.error, {\n tag: \"component\",\n attrs: {\n trigger: t.attemptLoad\n }\n }) : [t._v(\"\\n \" + t._s(t.slots.error) + \"\\n \"), n(\"br\"), t._v(\" \"), n(\"button\", {\n staticClass: \"btn-try-infinite\",\n domProps: {\n textContent: t._s(t.slots.errorBtnText)\n },\n on: {\n click: t.attemptLoad\n }\n })]], {\n trigger: t.attemptLoad\n })], 2)]);\n }, [], !1, function (t) {\n var e = n(7);\n e.__inject__ && e.__inject__(t);\n }, \"644ea9c9\", null).exports;\n\n function E(t) {\n d.mode = t.config.productionTip ? \"development\" : \"production\";\n }\n\n Object.defineProperty(k, \"install\", {\n configurable: !1,\n enumerable: !1,\n value: function (t, e) {\n Object.assign(d.props, e && e.props), Object.assign(d.slots, e && e.slots), Object.assign(d.system, e && e.system), t.component(\"infinite-loading\", k), E(t);\n }\n }), \"undefined\" != typeof window && window.Vue && (window.Vue.component(\"infinite-loading\", k), E(window.Vue));\n e.default = k;\n }]);\n});\n\n//# sourceURL=webpack://materio.com/./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js?"); /***/ }), /***/ "./node_modules/vue-js-modal/dist/index.js": /*!*************************************************!*\ !*** ./node_modules/vue-js-modal/dist/index.js ***! \*************************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module */ /***/ ((module) => { eval("!function (t, e) {\n true ? module.exports = e() : 0;\n}(window, function () {\n return i = {}, o.m = n = [function (t, e, n) {\n var i = n(7);\n \"string\" == typeof i && (i = [[t.i, i, \"\"]]), i.locals && (t.exports = i.locals);\n (0, n(4).default)(\"d763679c\", i, !1, {});\n }, function (t, e, n) {\n var i = n(10);\n \"string\" == typeof i && (i = [[t.i, i, \"\"]]), i.locals && (t.exports = i.locals);\n (0, n(4).default)(\"6b9cc0e0\", i, !1, {});\n }, function (t, e, n) {\n var i = n(12);\n \"string\" == typeof i && (i = [[t.i, i, \"\"]]), i.locals && (t.exports = i.locals);\n (0, n(4).default)(\"663c004e\", i, !1, {});\n }, function (t, e) {\n t.exports = function (n) {\n var a = [];\n return a.toString = function () {\n return this.map(function (t) {\n var e = function (t, e) {\n var n = t[1] || \"\",\n i = t[3];\n if (!i) return n;\n\n if (e && \"function\" == typeof btoa) {\n var o = function (t) {\n return \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(t)))) + \" */\";\n }(i),\n r = i.sources.map(function (t) {\n return \"/*# sourceURL=\" + i.sourceRoot + t + \" */\";\n });\n\n return [n].concat(r).concat([o]).join(\"\\n\");\n }\n\n return [n].join(\"\\n\");\n }(t, n);\n\n return t[2] ? \"@media \" + t[2] + \"{\" + e + \"}\" : e;\n }).join(\"\");\n }, a.i = function (t, e) {\n \"string\" == typeof t && (t = [[null, t, \"\"]]);\n\n for (var n = {}, i = 0; i < this.length; i++) {\n var o = this[i][0];\n \"number\" == typeof o && (n[o] = !0);\n }\n\n for (i = 0; i < t.length; i++) {\n var r = t[i];\n \"number\" == typeof r[0] && n[r[0]] || (e && !r[2] ? r[2] = e : e && (r[2] = \"(\" + r[2] + \") and (\" + e + \")\"), a.push(r));\n }\n }, a;\n };\n }, function (t, e, n) {\n \"use strict\";\n\n function l(t, e) {\n for (var n = [], i = {}, o = 0; o < e.length; o++) {\n var r = e[o],\n a = r[0],\n s = {\n id: t + \":\" + o,\n css: r[1],\n media: r[2],\n sourceMap: r[3]\n };\n i[a] ? i[a].parts.push(s) : n.push(i[a] = {\n id: a,\n parts: [s]\n });\n }\n\n return n;\n }\n\n n.r(e), n.d(e, \"default\", function () {\n return p;\n });\n var i = \"undefined\" != typeof document;\n if (\"undefined\" != typeof DEBUG && DEBUG && !i) throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");\n\n var u = {},\n o = i && (document.head || document.getElementsByTagName(\"head\")[0]),\n r = null,\n a = 0,\n c = !1,\n s = function () {},\n d = null,\n h = \"data-vue-ssr-id\",\n f = \"undefined\" != typeof navigator && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());\n\n function p(a, t, e, n) {\n c = e, d = n || {};\n var s = l(a, t);\n return v(s), function (t) {\n for (var e = [], n = 0; n < s.length; n++) {\n var i = s[n];\n (o = u[i.id]).refs--, e.push(o);\n }\n\n t ? v(s = l(a, t)) : s = [];\n\n for (n = 0; n < e.length; n++) {\n var o;\n\n if (0 === (o = e[n]).refs) {\n for (var r = 0; r < o.parts.length; r++) o.parts[r]();\n\n delete u[o.id];\n }\n }\n };\n }\n\n function v(t) {\n for (var e = 0; e < t.length; e++) {\n var n = t[e],\n i = u[n.id];\n\n if (i) {\n i.refs++;\n\n for (var o = 0; o < i.parts.length; o++) i.parts[o](n.parts[o]);\n\n for (; o < n.parts.length; o++) i.parts.push(b(n.parts[o]));\n\n i.parts.length > n.parts.length && (i.parts.length = n.parts.length);\n } else {\n var r = [];\n\n for (o = 0; o < n.parts.length; o++) r.push(b(n.parts[o]));\n\n u[n.id] = {\n id: n.id,\n refs: 1,\n parts: r\n };\n }\n }\n }\n\n function m() {\n var t = document.createElement(\"style\");\n return t.type = \"text/css\", o.appendChild(t), t;\n }\n\n function b(e) {\n var n,\n i,\n t = document.querySelector(\"style[\" + h + '~=\"' + e.id + '\"]');\n\n if (t) {\n if (c) return s;\n t.parentNode.removeChild(t);\n }\n\n if (f) {\n var o = a++;\n t = r = r || m(), n = w.bind(null, t, o, !1), i = w.bind(null, t, o, !0);\n } else t = m(), n = function (t, e) {\n var n = e.css,\n i = e.media,\n o = e.sourceMap;\n i && t.setAttribute(\"media\", i);\n d.ssrId && t.setAttribute(h, e.id);\n o && (n += \"\\n/*# sourceURL=\" + o.sources[0] + \" */\", n += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(o)))) + \" */\");\n if (t.styleSheet) t.styleSheet.cssText = n;else {\n for (; t.firstChild;) t.removeChild(t.firstChild);\n\n t.appendChild(document.createTextNode(n));\n }\n }.bind(null, t), i = function () {\n t.parentNode.removeChild(t);\n };\n\n return n(e), function (t) {\n if (t) {\n if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap) return;\n n(e = t);\n } else i();\n };\n }\n\n var y,\n g = (y = [], function (t, e) {\n return y[t] = e, y.filter(Boolean).join(\"\\n\");\n });\n\n function w(t, e, n, i) {\n var o = n ? \"\" : i.css;\n if (t.styleSheet) t.styleSheet.cssText = g(e, o);else {\n var r = document.createTextNode(o),\n a = t.childNodes;\n a[e] && t.removeChild(a[e]), a.length ? t.insertBefore(r, a[e]) : t.appendChild(r);\n }\n }\n }, function (t, M, e) {\n \"use strict\";\n\n (function (t) {\n var i = function () {\n if (\"undefined\" != typeof Map) return Map;\n\n function i(t, n) {\n var i = -1;\n return t.some(function (t, e) {\n return t[0] === n && (i = e, !0);\n }), i;\n }\n\n return Object.defineProperty(t.prototype, \"size\", {\n get: function () {\n return this.__entries__.length;\n },\n enumerable: !0,\n configurable: !0\n }), t.prototype.get = function (t) {\n var e = i(this.__entries__, t),\n n = this.__entries__[e];\n return n && n[1];\n }, t.prototype.set = function (t, e) {\n var n = i(this.__entries__, t);\n ~n ? this.__entries__[n][1] = e : this.__entries__.push([t, e]);\n }, t.prototype.delete = function (t) {\n var e = this.__entries__,\n n = i(e, t);\n ~n && e.splice(n, 1);\n }, t.prototype.has = function (t) {\n return !!~i(this.__entries__, t);\n }, t.prototype.clear = function () {\n this.__entries__.splice(0);\n }, t.prototype.forEach = function (t, e) {\n void 0 === e && (e = null);\n\n for (var n = 0, i = this.__entries__; n < i.length; n++) {\n var o = i[n];\n t.call(e, o[1], o[0]);\n }\n }, t;\n\n function t() {\n this.__entries__ = [];\n }\n }(),\n n = \"undefined\" != typeof window && \"undefined\" != typeof document && window.document === document,\n e = void 0 !== t && t.Math === Math ? t : \"undefined\" != typeof self && self.Math === Math ? self : \"undefined\" != typeof window && window.Math === Math ? window : Function(\"return this\")(),\n l = \"function\" == typeof requestAnimationFrame ? requestAnimationFrame.bind(e) : function (t) {\n return setTimeout(function () {\n return t(Date.now());\n }, 1e3 / 60);\n },\n u = 2;\n\n var o = [\"top\", \"right\", \"bottom\", \"left\", \"width\", \"height\", \"size\", \"weight\"],\n r = \"undefined\" != typeof MutationObserver,\n a = (s.prototype.addObserver = function (t) {\n ~this.observers_.indexOf(t) || this.observers_.push(t), this.connected_ || this.connect_();\n }, s.prototype.removeObserver = function (t) {\n var e = this.observers_,\n n = e.indexOf(t);\n ~n && e.splice(n, 1), !e.length && this.connected_ && this.disconnect_();\n }, s.prototype.refresh = function () {\n this.updateObservers_() && this.refresh();\n }, s.prototype.updateObservers_ = function () {\n var t = this.observers_.filter(function (t) {\n return t.gatherActive(), t.hasActive();\n });\n return t.forEach(function (t) {\n return t.broadcastActive();\n }), 0 < t.length;\n }, s.prototype.connect_ = function () {\n n && !this.connected_ && (document.addEventListener(\"transitionend\", this.onTransitionEnd_), window.addEventListener(\"resize\", this.refresh), r ? (this.mutationsObserver_ = new MutationObserver(this.refresh), this.mutationsObserver_.observe(document, {\n attributes: !0,\n childList: !0,\n characterData: !0,\n subtree: !0\n })) : (document.addEventListener(\"DOMSubtreeModified\", this.refresh), this.mutationEventsAdded_ = !0), this.connected_ = !0);\n }, s.prototype.disconnect_ = function () {\n n && this.connected_ && (document.removeEventListener(\"transitionend\", this.onTransitionEnd_), window.removeEventListener(\"resize\", this.refresh), this.mutationsObserver_ && this.mutationsObserver_.disconnect(), this.mutationEventsAdded_ && document.removeEventListener(\"DOMSubtreeModified\", this.refresh), this.mutationsObserver_ = null, this.mutationEventsAdded_ = !1, this.connected_ = !1);\n }, s.prototype.onTransitionEnd_ = function (t) {\n var e = t.propertyName,\n n = void 0 === e ? \"\" : e;\n o.some(function (t) {\n return !!~n.indexOf(t);\n }) && this.refresh();\n }, s.getInstance = function () {\n return this.instance_ || (this.instance_ = new s()), this.instance_;\n }, s.instance_ = null, s);\n\n function s() {\n function t() {\n r && (r = !1, i()), a && n();\n }\n\n function e() {\n l(t);\n }\n\n function n() {\n var t = Date.now();\n\n if (r) {\n if (t - s < u) return;\n a = !0;\n } else a = !(r = !0), setTimeout(e, o);\n\n s = t;\n }\n\n var i, o, r, a, s;\n this.connected_ = !1, this.mutationEventsAdded_ = !1, this.mutationsObserver_ = null, this.observers_ = [], this.onTransitionEnd_ = this.onTransitionEnd_.bind(this), this.refresh = (i = this.refresh.bind(this), a = r = !(o = 20), s = 0, n);\n }\n\n var c = function (t, e) {\n for (var n = 0, i = Object.keys(e); n < i.length; n++) {\n var o = i[n];\n Object.defineProperty(t, o, {\n value: e[o],\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n }\n\n return t;\n },\n h = function (t) {\n return t && t.ownerDocument && t.ownerDocument.defaultView || e;\n },\n f = y(0, 0, 0, 0);\n\n function p(t) {\n return parseFloat(t) || 0;\n }\n\n function v(n) {\n for (var t = [], e = 1; e < arguments.length; e++) t[e - 1] = arguments[e];\n\n return t.reduce(function (t, e) {\n return t + p(n[\"border-\" + e + \"-width\"]);\n }, 0);\n }\n\n function d(t) {\n var e = t.clientWidth,\n n = t.clientHeight;\n if (!e && !n) return f;\n\n var i,\n o = h(t).getComputedStyle(t),\n r = function (t) {\n for (var e = {}, n = 0, i = [\"top\", \"right\", \"bottom\", \"left\"]; n < i.length; n++) {\n var o = i[n],\n r = t[\"padding-\" + o];\n e[o] = p(r);\n }\n\n return e;\n }(o),\n a = r.left + r.right,\n s = r.top + r.bottom,\n l = p(o.width),\n u = p(o.height);\n\n if (\"border-box\" === o.boxSizing && (Math.round(l + a) !== e && (l -= v(o, \"left\", \"right\") + a), Math.round(u + s) !== n && (u -= v(o, \"top\", \"bottom\") + s)), (i = t) !== h(i).document.documentElement) {\n var c = Math.round(l + a) - e,\n d = Math.round(u + s) - n;\n 1 !== Math.abs(c) && (l -= c), 1 !== Math.abs(d) && (u -= d);\n }\n\n return y(r.left, r.top, l, u);\n }\n\n var m = \"undefined\" != typeof SVGGraphicsElement ? function (t) {\n return t instanceof h(t).SVGGraphicsElement;\n } : function (t) {\n return t instanceof h(t).SVGElement && \"function\" == typeof t.getBBox;\n };\n\n function b(t) {\n return n ? m(t) ? y(0, 0, (e = t.getBBox()).width, e.height) : d(t) : f;\n var e;\n }\n\n function y(t, e, n, i) {\n return {\n x: t,\n y: e,\n width: n,\n height: i\n };\n }\n\n var g = (w.prototype.isActive = function () {\n var t = b(this.target);\n return (this.contentRect_ = t).width !== this.broadcastWidth || t.height !== this.broadcastHeight;\n }, w.prototype.broadcastRect = function () {\n var t = this.contentRect_;\n return this.broadcastWidth = t.width, this.broadcastHeight = t.height, t;\n }, w);\n\n function w(t) {\n this.broadcastWidth = 0, this.broadcastHeight = 0, this.contentRect_ = y(0, 0, 0, 0), this.target = t;\n }\n\n var _ = function (t, e) {\n var n,\n i,\n o,\n r,\n a,\n s,\n l,\n u = (i = (n = e).x, o = n.y, r = n.width, a = n.height, s = \"undefined\" != typeof DOMRectReadOnly ? DOMRectReadOnly : Object, l = Object.create(s.prototype), c(l, {\n x: i,\n y: o,\n width: r,\n height: a,\n top: o,\n right: i + r,\n bottom: a + o,\n left: i\n }), l);\n c(this, {\n target: t,\n contentRect: u\n });\n },\n E = (x.prototype.observe = function (t) {\n if (!arguments.length) throw new TypeError(\"1 argument required, but only 0 present.\");\n\n if (\"undefined\" != typeof Element && Element instanceof Object) {\n if (!(t instanceof h(t).Element)) throw new TypeError('parameter 1 is not of type \"Element\".');\n var e = this.observations_;\n e.has(t) || (e.set(t, new g(t)), this.controller_.addObserver(this), this.controller_.refresh());\n }\n }, x.prototype.unobserve = function (t) {\n if (!arguments.length) throw new TypeError(\"1 argument required, but only 0 present.\");\n\n if (\"undefined\" != typeof Element && Element instanceof Object) {\n if (!(t instanceof h(t).Element)) throw new TypeError('parameter 1 is not of type \"Element\".');\n var e = this.observations_;\n e.has(t) && (e.delete(t), e.size || this.controller_.removeObserver(this));\n }\n }, x.prototype.disconnect = function () {\n this.clearActive(), this.observations_.clear(), this.controller_.removeObserver(this);\n }, x.prototype.gatherActive = function () {\n var e = this;\n this.clearActive(), this.observations_.forEach(function (t) {\n t.isActive() && e.activeObservations_.push(t);\n });\n }, x.prototype.broadcastActive = function () {\n if (this.hasActive()) {\n var t = this.callbackCtx_,\n e = this.activeObservations_.map(function (t) {\n return new _(t.target, t.broadcastRect());\n });\n this.callback_.call(t, e, t), this.clearActive();\n }\n }, x.prototype.clearActive = function () {\n this.activeObservations_.splice(0);\n }, x.prototype.hasActive = function () {\n return 0 < this.activeObservations_.length;\n }, x);\n\n function x(t, e, n) {\n if (this.activeObservations_ = [], this.observations_ = new i(), \"function\" != typeof t) throw new TypeError(\"The callback provided as parameter 1 is not a function.\");\n this.callback_ = t, this.controller_ = e, this.callbackCtx_ = n;\n }\n\n var T = new (\"undefined\" != typeof WeakMap ? WeakMap : i)(),\n O = function t(e) {\n if (!(this instanceof t)) throw new TypeError(\"Cannot call a class as a function.\");\n if (!arguments.length) throw new TypeError(\"1 argument required, but only 0 present.\");\n var n = a.getInstance(),\n i = new E(e, n, this);\n T.set(this, i);\n };\n\n [\"observe\", \"unobserve\", \"disconnect\"].forEach(function (e) {\n O.prototype[e] = function () {\n var t;\n return (t = T.get(this))[e].apply(t, arguments);\n };\n });\n var S = void 0 !== e.ResizeObserver ? e.ResizeObserver : O;\n M.a = S;\n }).call(this, e(8));\n }, function (t, e, n) {\n \"use strict\";\n\n var i = n(0);\n n.n(i).a;\n }, function (t, e, n) {\n (t.exports = n(3)(!1)).push([t.i, \"\\n.vue-modal-resizer {\\n display: block;\\n overflow: hidden;\\n position: absolute;\\n width: 12px;\\n height: 12px;\\n right: 0;\\n bottom: 0;\\n z-index: 9999999;\\n background: transparent;\\n cursor: se-resize;\\n}\\n.vue-modal-resizer::after {\\n display: block;\\n position: absolute;\\n content: '';\\n background: transparent;\\n left: 0;\\n top: 0;\\n width: 0;\\n height: 0;\\n border-bottom: 10px solid #ddd;\\n border-left: 10px solid transparent;\\n}\\n.vue-modal-resizer.clicked::after {\\n border-bottom: 10px solid #369be9;\\n}\\n\", \"\"]);\n }, function (t, e) {\n var n;\n\n n = function () {\n return this;\n }();\n\n try {\n n = n || new Function(\"return this\")();\n } catch (t) {\n \"object\" == typeof window && (n = window);\n }\n\n t.exports = n;\n }, function (t, e, n) {\n \"use strict\";\n\n var i = n(1);\n n.n(i).a;\n }, function (t, e, n) {\n (t.exports = n(3)(!1)).push([t.i, \"\\n.vm--block-scroll {\\n overflow: hidden;\\n width: 100vw;\\n}\\n.vm--container {\\n position: fixed;\\n box-sizing: border-box;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100vh;\\n z-index: 999;\\n}\\n.vm--overlay {\\n position: fixed;\\n box-sizing: border-box;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100vh;\\n background: rgba(0, 0, 0, 0.2);\\n /* z-index: 999; */\\n opacity: 1;\\n}\\n.vm--container.scrollable {\\n height: 100%;\\n min-height: 100vh;\\n overflow-y: auto;\\n -webkit-overflow-scrolling: touch;\\n}\\n.vm--modal {\\n position: relative;\\n overflow: hidden;\\n box-sizing: border-box;\\n\\n background-color: white;\\n border-radius: 3px;\\n box-shadow: 0 20px 60px -2px rgba(27, 33, 58, 0.4);\\n}\\n.vm--container.scrollable .vm--modal {\\n margin-bottom: 2px;\\n}\\n.vm--top-right-slot {\\n display: block;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n.vm-transition--overlay-enter-active,\\n.vm-transition--overlay-leave-active {\\n transition: all 50ms;\\n}\\n.vm-transition--overlay-enter,\\n.vm-transition--overlay-leave-active {\\n opacity: 0;\\n}\\n.vm-transition--modal-enter-active,\\n.vm-transition--modal-leave-active {\\n transition: all 400ms;\\n}\\n.vm-transition--modal-enter,\\n.vm-transition--modal-leave-active {\\n opacity: 0;\\n transform: translateY(-20px);\\n}\\n.vm-transition--default-enter-active,\\n.vm-transition--default-leave-active {\\n transition: all 2ms;\\n}\\n.vm-transition--default-enter,\\n.vm-transition--default-leave-active {\\n opacity: 0;\\n}\\n\", \"\"]);\n }, function (t, e, n) {\n \"use strict\";\n\n var i = n(2);\n n.n(i).a;\n }, function (t, e, n) {\n (t.exports = n(3)(!1)).push([t.i, \"\\n.vue-dialog {\\n font-size: 14px;\\n}\\n.vue-dialog div {\\n box-sizing: border-box;\\n}\\n.vue-dialog-content {\\n flex: 1 0 auto;\\n width: 100%;\\n padding: 14px;\\n}\\n.vue-dialog-content-title {\\n font-weight: 600;\\n padding-bottom: 14px;\\n}\\n.vue-dialog-buttons {\\n display: flex;\\n flex: 0 1 auto;\\n width: 100%;\\n border-top: 1px solid #eee;\\n}\\n.vue-dialog-buttons-none {\\n width: 100%;\\n padding-bottom: 14px;\\n}\\n.vue-dialog-button {\\n font-size: inherit;\\n background: transparent;\\n padding: 0;\\n margin: 0;\\n border: 0;\\n cursor: pointer;\\n box-sizing: border-box;\\n line-height: 40px;\\n height: 40px;\\n color: inherit;\\n font: inherit;\\n outline: none;\\n}\\n.vue-dialog-button:hover {\\n background: #f9f9f9;\\n}\\n.vue-dialog-button:active {\\n background: #f3f3f3;\\n}\\n.vue-dialog-button:not(:first-of-type) {\\n border-left: 1px solid #eee;\\n}\\n\", \"\"]);\n }, function (t, e, n) {\n \"use strict\";\n\n n.r(e), n.d(e, \"Modal\", function () {\n return W;\n }), n.d(e, \"Dialog\", function () {\n return U;\n }), n.d(e, \"version\", function () {\n return J;\n });\n\n function i() {\n var e = this,\n t = e.$createElement,\n n = e._self._c || t;\n return e.visible ? n(\"div\", {\n class: e.containerClass\n }, [n(\"transition\", {\n attrs: {\n name: e.guaranteedOverlayTransition\n },\n on: {\n \"before-enter\": e.beforeOverlayTransitionEnter,\n \"after-enter\": e.afterOverlayTransitionEnter,\n \"before-leave\": e.beforeOverlayTransitionLeave,\n \"after-leave\": e.afterOverlayTransitionLeave\n }\n }, [e.visibility.overlay ? n(\"div\", {\n staticClass: \"vm--overlay\",\n attrs: {\n \"data-modal\": e.name,\n \"aria-expanded\": e.visibility.overlay.toString()\n },\n on: {\n click: function (t) {\n return t.target !== t.currentTarget ? null : (t.stopPropagation(), e.onOverlayClick(t));\n }\n }\n }, [n(\"div\", {\n staticClass: \"vm--top-right-slot\"\n }, [e._t(\"top-right\")], 2)]) : e._e()]), e._v(\" \"), n(\"transition\", {\n attrs: {\n name: e.guaranteedModalTransition\n },\n on: {\n \"before-enter\": e.beforeModalTransitionEnter,\n \"after-enter\": e.afterModalTransitionEnter,\n \"before-leave\": e.beforeModalTransitionLeave,\n \"after-leave\": e.afterModalTransitionLeave\n }\n }, [e.visibility.modal ? n(\"div\", {\n ref: \"modal\",\n class: e.modalClass,\n style: e.modalStyle,\n attrs: {\n \"aria-expanded\": e.visibility.modal.toString(),\n role: \"dialog\",\n \"aria-modal\": \"true\"\n }\n }, [e._t(\"default\"), e._v(\" \"), e.resizable && !e.isAutoHeight ? n(\"resizer\", {\n attrs: {\n \"min-width\": e.minWidth,\n \"min-height\": e.minHeight,\n \"max-width\": e.maxWidth,\n \"max-height\": e.maxHeight\n },\n on: {\n resize: e.onModalResize\n }\n }) : e._e()], 2) : e._e()])], 1) : e._e();\n }\n\n function o() {\n var t = this.$createElement;\n return (this._self._c || t)(\"div\", {\n class: this.className\n });\n }\n\n o._withStripped = i._withStripped = !0;\n\n function h(t, e, n) {\n return n < t ? t : e < n ? e : n;\n }\n\n function r(t, e, n) {\n return e in t ? Object.defineProperty(t, e, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : t[e] = n, t;\n }\n\n function a(t, e) {\n return function (t) {\n if (Array.isArray(t)) return t;\n }(t) || function (t, e) {\n var n = [],\n i = !0,\n o = !1,\n r = void 0;\n\n try {\n for (var a, s = t[Symbol.iterator](); !(i = (a = s.next()).done) && (n.push(a.value), !e || n.length !== e); i = !0);\n } catch (t) {\n o = !0, r = t;\n } finally {\n try {\n i || null == s.return || s.return();\n } finally {\n if (o) throw r;\n }\n }\n\n return n;\n }(t, e) || function () {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }();\n }\n\n function s() {\n var t = window.innerWidth,\n e = document.documentElement.clientWidth;\n return t && e ? Math.min(t, e) : e || t;\n }\n\n function l(t) {\n return t.split(\";\").map(function (t) {\n return t.trim();\n }).filter(Boolean).map(function (t) {\n return t.split(\":\");\n }).reduce(function (t, e) {\n var n = a(e, 2);\n return function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = null != arguments[t] ? arguments[t] : {},\n i = Object.keys(n);\n \"function\" == typeof Object.getOwnPropertySymbols && (i = i.concat(Object.getOwnPropertySymbols(n).filter(function (t) {\n return Object.getOwnPropertyDescriptor(n, t).enumerable;\n }))), i.forEach(function (t) {\n r(e, t, n[t]);\n });\n }\n\n return e;\n }({}, t, r({}, n[0], n[1]));\n }, {});\n }\n\n function f(t) {\n return t.touches && 0 < t.touches.length ? t.touches[0] : t;\n }\n\n var p = [\"INPUT\", \"TEXTAREA\", \"SELECT\"],\n c = function (t) {\n var e = 0 < arguments.length && void 0 !== t ? t : 0;\n return function () {\n return (e++).toString();\n };\n }(),\n u = {\n name: \"VueJsModalResizer\",\n props: {\n minHeight: {\n type: Number,\n default: 0\n },\n minWidth: {\n type: Number,\n default: 0\n },\n maxWidth: {\n type: Number,\n default: Number.MAX_SAFE_INTEGER\n },\n maxHeight: {\n type: Number,\n default: Number.MAX_SAFE_INTEGER\n }\n },\n data: function () {\n return {\n clicked: !1,\n size: {}\n };\n },\n mounted: function () {\n this.$el.addEventListener(\"mousedown\", this.start, !1);\n },\n computed: {\n className: function () {\n return [\"vue-modal-resizer\", {\n clicked: this.clicked\n }];\n }\n },\n methods: {\n start: function (t) {\n this.clicked = !0, window.addEventListener(\"mousemove\", this.mousemove, !1), window.addEventListener(\"mouseup\", this.stop, !1), t.stopPropagation(), t.preventDefault();\n },\n stop: function () {\n this.clicked = !1, window.removeEventListener(\"mousemove\", this.mousemove, !1), window.removeEventListener(\"mouseup\", this.stop, !1), this.$emit(\"resize-stop\", {\n element: this.$el.parentElement,\n size: this.size\n });\n },\n mousemove: function (t) {\n this.resize(t);\n },\n resize: function (t) {\n var e = this.$el.parentElement;\n\n if (e) {\n var n = t.clientX - e.offsetLeft,\n i = t.clientY - e.offsetTop,\n o = Math.min(s(), this.maxWidth),\n r = Math.min(window.innerHeight, this.maxHeight);\n n = h(this.minWidth, o, n), i = h(this.minHeight, r, i), this.size = {\n width: n,\n height: i\n }, e.style.width = n + \"px\", e.style.height = i + \"px\", this.$emit(\"resize\", {\n element: e,\n size: this.size\n });\n }\n }\n }\n };\n\n n(6);\n\n function d(t, e, n, i, o, r, a, s) {\n var l,\n u = \"function\" == typeof t ? t.options : t;\n if (e && (u.render = e, u.staticRenderFns = n, u._compiled = !0), i && (u.functional = !0), r && (u._scopeId = \"data-v-\" + r), a ? (l = function (t) {\n (t = t || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || \"undefined\" == typeof __VUE_SSR_CONTEXT__ || (t = __VUE_SSR_CONTEXT__), o && o.call(this, t), t && t._registeredComponents && t._registeredComponents.add(a);\n }, u._ssrRegister = l) : o && (l = s ? function () {\n o.call(this, this.$root.$options.shadowRoot);\n } : o), l) if (u.functional) {\n u._injectStyles = l;\n var c = u.render;\n\n u.render = function (t, e) {\n return l.call(e), c(t, e);\n };\n } else {\n var d = u.beforeCreate;\n u.beforeCreate = d ? [].concat(d, l) : [l];\n }\n return {\n exports: t,\n options: u\n };\n }\n\n var v = d(u, o, [], !1, null, null, null);\n v.options.__file = \"src/components/Resizer.vue\";\n var m = v.exports;\n\n function b(t) {\n return (b = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (t) {\n return typeof t;\n } : function (t) {\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t;\n })(t);\n }\n\n function y(t) {\n switch (b(t)) {\n case \"number\":\n return {\n type: \"px\",\n value: t\n };\n\n case \"string\":\n return function (e) {\n if (\"auto\" === e) return {\n type: e,\n value: 0\n };\n\n var t = _.find(function (t) {\n return t.regexp.test(e);\n });\n\n return t ? {\n type: t.name,\n value: parseFloat(e)\n } : {\n type: \"\",\n value: e\n };\n }(t);\n\n default:\n return {\n type: \"\",\n value: t\n };\n }\n }\n\n function g(t) {\n if (\"string\" != typeof t) return 0 <= t;\n var e = y(t);\n return (\"%\" === e.type || \"px\" === e.type) && 0 < e.value;\n }\n\n var w = \"[-+]?[0-9]*.?[0-9]+\",\n _ = [{\n name: \"px\",\n regexp: new RegExp(\"^\".concat(w, \"px$\"))\n }, {\n name: \"%\",\n regexp: new RegExp(\"^\".concat(w, \"%$\"))\n }, {\n name: \"px\",\n regexp: new RegExp(\"^\".concat(w, \"$\"))\n }],\n E = n(5),\n x = \"undefined\" != typeof window && window.ResizeObserver ? ResizeObserver : E.a;\n\n function T(t, e) {\n for (var n = 0; n < e.length; n++) {\n var i = e[n];\n i.enumerable = i.enumerable || !1, i.configurable = !0, \"value\" in i && (i.writable = !0), Object.defineProperty(t, i.key, i);\n }\n }\n\n function O(t) {\n return function (t) {\n if (Array.isArray(t)) {\n for (var e = 0, n = new Array(t.length); e < t.length; e++) n[e] = t[e];\n\n return n;\n }\n }(t) || function (t) {\n if (Symbol.iterator in Object(t) || \"[object Arguments]\" === Object.prototype.toString.call(t)) return Array.from(t);\n }(t) || function () {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }\n\n function S(t) {\n return e = 'button:not([disabled]), select:not([disabled]), a[href]:not([disabled]), area[href]:not([disabled]), [contentEditable=\"\"]:not([disabled]), [contentEditable=\"true\"]:not([disabled]), [contentEditable=\"TRUE\"]:not([disabled]), textarea:not([disabled]), iframe:not([disabled]), input:not([disabled]), summary:not([disabled]), [tabindex]:not([tabindex=\"-1\"])', O(t.querySelectorAll(e) || []);\n var e;\n }\n\n function M(t) {\n return t == document.activeElement;\n }\n\n var k = function () {\n function t() {\n !function (t, e) {\n if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, t), this.root = null, this.elements = [], this.onKeyDown = this.onKeyDown.bind(this), this.enable = this.enable.bind(this), this.disable = this.disable.bind(this), this.firstElement = this.firstElement.bind(this), this.lastElement = this.lastElement.bind(this);\n }\n\n var e, n, i;\n return e = t, (n = [{\n key: \"lastElement\",\n value: function () {\n return this.elements[this.elements.length - 1] || null;\n }\n }, {\n key: \"firstElement\",\n value: function () {\n return this.elements[0] || null;\n }\n }, {\n key: \"onKeyDown\",\n value: function (t) {\n var e;\n if (\"Tab\" === (e = t).key || 9 === e.keyCode) return t.shiftKey && M(this.firstElement()) ? (this.lastElement().focus(), void t.preventDefault()) : !document.activeElement || M(this.lastElement()) ? (this.firstElement().focus(), void t.preventDefault()) : void 0;\n }\n }, {\n key: \"enabled\",\n value: function () {\n return !!this.root;\n }\n }, {\n key: \"enable\",\n value: function (t) {\n if (t) {\n this.root = t, this.elements = S(this.root);\n var e = this.firstElement();\n e && e.focus(), this.root.addEventListener(\"keydown\", this.onKeyDown);\n }\n }\n }, {\n key: \"disable\",\n value: function () {\n this.root.removeEventListener(\"keydown\", this.onKeyDown), this.root = null;\n }\n }]) && T(e.prototype, n), i && T(e, i), t;\n }();\n\n function L(t, e, n) {\n return e in t ? Object.defineProperty(t, e, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : t[e] = n, t;\n }\n\n function z(t, e) {\n return function (t) {\n if (Array.isArray(t)) return t;\n }(t) || function (t, e) {\n var n = [],\n i = !0,\n o = !1,\n r = void 0;\n\n try {\n for (var a, s = t[Symbol.iterator](); !(i = (a = s.next()).done) && (n.push(a.value), !e || n.length !== e); i = !0);\n } catch (t) {\n o = !0, r = t;\n } finally {\n try {\n i || null == s.return || s.return();\n } finally {\n if (o) throw r;\n }\n }\n\n return n;\n }(t, e) || function () {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }();\n }\n\n var $ = \"vm-transition--default\",\n A = \"enter\",\n C = \"entering\",\n j = \"leave\",\n R = \"leavng\",\n H = {\n name: \"VueJsModal\",\n props: {\n name: {\n required: !0,\n type: String\n },\n resizable: {\n type: Boolean,\n default: !1\n },\n adaptive: {\n type: Boolean,\n default: !1\n },\n draggable: {\n type: [Boolean, String],\n default: !1\n },\n scrollable: {\n type: Boolean,\n default: !1\n },\n focusTrap: {\n type: Boolean,\n default: !1\n },\n reset: {\n type: Boolean,\n default: !1\n },\n overlayTransition: {\n type: String,\n default: \"vm-transition--overlay\"\n },\n transition: {\n type: String,\n default: \"vm-transition--modal\"\n },\n clickToClose: {\n type: Boolean,\n default: !0\n },\n classes: {\n type: [String, Array],\n default: function () {\n return [];\n }\n },\n styles: {\n type: [String, Array, Object]\n },\n minWidth: {\n type: Number,\n default: 0,\n validator: function (t) {\n return 0 <= t;\n }\n },\n minHeight: {\n type: Number,\n default: 0,\n validator: function (t) {\n return 0 <= t;\n }\n },\n maxWidth: {\n type: Number,\n default: Number.MAX_SAFE_INTEGER\n },\n maxHeight: {\n type: Number,\n default: Number.MAX_SAFE_INTEGER\n },\n width: {\n type: [Number, String],\n default: 600,\n validator: g\n },\n height: {\n type: [Number, String],\n default: 300,\n validator: function (t) {\n return \"auto\" === t || g(t);\n }\n },\n shiftX: {\n type: Number,\n default: .5,\n validator: function (t) {\n return 0 <= t && t <= 1;\n }\n },\n shiftY: {\n type: Number,\n default: .5,\n validator: function (t) {\n return 0 <= t && t <= 1;\n }\n }\n },\n components: {\n Resizer: m\n },\n data: function () {\n return {\n visible: !1,\n visibility: {\n modal: !1,\n overlay: !1\n },\n overlayTransitionState: null,\n modalTransitionState: null,\n shiftLeft: 0,\n shiftTop: 0,\n modal: {\n width: 0,\n widthType: \"px\",\n height: 0,\n heightType: \"px\",\n renderedHeight: 0\n },\n viewportHeight: 0,\n viewportWidth: 0\n };\n },\n created: function () {\n this.setInitialSize();\n },\n beforeMount: function () {\n this.$modal.subscription.$on(\"toggle\", this.onToggle), window.addEventListener(\"resize\", this.onWindowResize), window.addEventListener(\"orientationchange\", this.onWindowResize), this.onWindowResize(), this.scrollable && !this.isAutoHeight && console.warn('Modal \"'.concat(this.name, '\" has scrollable flag set to true ') + 'but height is not \"auto\" ('.concat(this.height, \")\")), this.clickToClose && window.addEventListener(\"keyup\", this.onEscapeKeyUp);\n },\n mounted: function () {\n var n = this;\n this.resizeObserver = new x(function (t) {\n if (0 < t.length) {\n var e = z(t, 1)[0];\n n.modal.renderedHeight = e.contentRect.height;\n }\n }), this.$focusTrap = new k();\n },\n beforeDestroy: function () {\n this.$modal.subscription.$off(\"toggle\", this.onToggle), window.removeEventListener(\"resize\", this.onWindowResize), window.removeEventListener(\"orientationchange\", this.onWindowResize), this.clickToClose && window.removeEventListener(\"keyup\", this.onEscapeKeyUp), document.body.classList.remove(\"vm--block-scroll\");\n },\n computed: {\n guaranteedOverlayTransition: function () {\n return this.overlayTransition || $;\n },\n guaranteedModalTransition: function () {\n return this.transition || $;\n },\n isAutoHeight: function () {\n return \"auto\" === this.modal.heightType;\n },\n position: function () {\n var t = this.viewportHeight,\n e = this.viewportWidth,\n n = this.shiftLeft,\n i = this.shiftTop,\n o = this.shiftX,\n r = this.shiftY,\n a = this.trueModalWidth,\n s = this.trueModalHeight,\n l = e - a,\n u = Math.max(t - s, 0),\n c = i + r * u;\n return {\n left: parseInt(h(0, l, n + o * l)),\n top: !s && this.isAutoHeight ? void 0 : parseInt(h(0, u, c))\n };\n },\n trueModalWidth: function () {\n var t = this.viewportWidth,\n e = this.modal,\n n = this.adaptive,\n i = this.minWidth,\n o = this.maxWidth,\n r = \"%\" === e.widthType ? t / 100 * e.width : e.width;\n\n if (n) {\n var a = Math.max(i, Math.min(t, o));\n return h(i, a, r);\n }\n\n return r;\n },\n trueModalHeight: function () {\n var t = this.viewportHeight,\n e = this.modal,\n n = this.isAutoHeight,\n i = this.adaptive,\n o = this.minHeight,\n r = this.maxHeight,\n a = \"%\" === e.heightType ? t / 100 * e.height : e.height;\n if (n) return this.modal.renderedHeight;\n\n if (i) {\n var s = Math.max(o, Math.min(t, r));\n return h(o, s, a);\n }\n\n return a;\n },\n autoHeight: function () {\n return this.adaptive && this.modal.renderedHeight >= this.viewportHeight ? Math.max(this.minHeight, this.viewportHeight) + \"px\" : \"auto\";\n },\n containerClass: function () {\n return [\"vm--container\", this.scrollable && this.isAutoHeight && \"scrollable\"];\n },\n modalClass: function () {\n return [\"vm--modal\", this.classes];\n },\n stylesProp: function () {\n return \"string\" == typeof this.styles ? l(this.styles) : this.styles;\n },\n modalStyle: function () {\n return [this.stylesProp, {\n top: this.position.top + \"px\",\n left: this.position.left + \"px\",\n width: this.trueModalWidth + \"px\",\n height: this.isAutoHeight ? this.autoHeight : this.trueModalHeight + \"px\"\n }];\n },\n isComponentReadyToBeDestroyed: function () {\n return this.overlayTransitionState === j && this.modalTransitionState === j;\n }\n },\n watch: {\n isComponentReadyToBeDestroyed: function (t) {\n t && (this.visible = !1);\n }\n },\n methods: {\n startTransitionEnter: function () {\n this.visibility.overlay = !0, this.visibility.modal = !0;\n },\n startTransitionLeave: function () {\n this.visibility.overlay = !1, this.visibility.modal = !1;\n },\n beforeOverlayTransitionEnter: function () {\n this.overlayTransitionState = C;\n },\n afterOverlayTransitionEnter: function () {\n this.overlayTransitionState = A;\n },\n beforeOverlayTransitionLeave: function () {\n this.overlayTransitionState = R;\n },\n afterOverlayTransitionLeave: function () {\n this.overlayTransitionState = j;\n },\n beforeModalTransitionEnter: function () {\n var t = this;\n this.modalTransitionState = C, this.$nextTick(function () {\n t.resizeObserver.observe(t.$refs.modal);\n });\n },\n afterModalTransitionEnter: function () {\n this.modalTransitionState = A, this.draggable && this.addDraggableListeners(), this.focusTrap && this.$focusTrap.enable(this.$refs.modal);\n var t = this.createModalEvent({\n state: \"opened\"\n });\n this.$emit(\"opened\", t);\n },\n beforeModalTransitionLeave: function () {\n this.modalTransitionState = R, this.resizeObserver.unobserve(this.$refs.modal), this.$focusTrap.enabled() && this.$focusTrap.disable();\n },\n afterModalTransitionLeave: function () {\n this.modalTransitionState = j;\n var t = this.createModalEvent({\n state: \"closed\"\n });\n this.$emit(\"closed\", t);\n },\n onToggle: function (t, e, n) {\n if (this.name === t) {\n var i = void 0 === e ? !this.visible : e;\n this.toggle(i, n);\n }\n },\n setInitialSize: function () {\n var t = y(this.width),\n e = y(this.height);\n this.modal.width = t.value, this.modal.widthType = t.type, this.modal.height = e.value, this.modal.heightType = e.type;\n },\n onEscapeKeyUp: function (t) {\n 27 === t.which && this.visible && this.$modal.hide(this.name);\n },\n onWindowResize: function () {\n this.viewportWidth = s(), this.viewportHeight = window.innerHeight, this.ensureShiftInWindowBounds();\n },\n createModalEvent: function (t) {\n var e = 0 < arguments.length && void 0 !== t ? t : {};\n return function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = null != arguments[t] ? arguments[t] : {},\n i = Object.keys(n);\n \"function\" == typeof Object.getOwnPropertySymbols && (i = i.concat(Object.getOwnPropertySymbols(n).filter(function (t) {\n return Object.getOwnPropertyDescriptor(n, t).enumerable;\n }))), i.forEach(function (t) {\n L(e, t, n[t]);\n });\n }\n\n return e;\n }({\n name: this.name,\n ref: this.$refs.modal || null\n }, e);\n },\n onModalResize: function (t) {\n this.modal.widthType = \"px\", this.modal.width = t.size.width, this.modal.heightType = \"px\", this.modal.height = t.size.height;\n var e = this.modal.size;\n this.$emit(\"resize\", this.createModalEvent({\n size: e\n }));\n },\n open: function (t) {\n var e = this;\n this.reset && (this.setInitialSize(), this.shiftLeft = 0, this.shiftTop = 0), this.scrollable && document.body.classList.add(\"vm--block-scroll\");\n var n = !1,\n i = this.createModalEvent({\n cancel: function () {\n n = !0;\n },\n state: \"before-open\",\n params: t\n });\n this.$emit(\"before-open\", i), n ? this.scrollable && document.body.classList.remove(\"vm--block-scroll\") : (\"undefined\" != typeof document && document.activeElement && \"BODY\" !== document.activeElement.tagName && document.activeElement.blur && document.activeElement.blur(), this.visible = !0, this.$nextTick(function () {\n e.startTransitionEnter();\n }));\n },\n close: function (t) {\n this.scrollable && document.body.classList.remove(\"vm--block-scroll\");\n var e = !1,\n n = this.createModalEvent({\n cancel: function () {\n e = !0;\n },\n state: \"before-close\",\n params: t\n });\n this.$emit(\"before-close\", n), e || this.startTransitionLeave();\n },\n toggle: function (t, e) {\n this.visible !== t && (t ? this.open(e) : this.close(e));\n },\n getDraggableElement: function () {\n return !0 === this.draggable ? this.$refs.modal : \"string\" == typeof this.draggable ? this.$refs.modal.querySelector(this.draggable) : null;\n },\n onOverlayClick: function () {\n this.clickToClose && this.toggle(!1);\n },\n addDraggableListeners: function () {\n var a = this,\n t = this.getDraggableElement();\n\n if (t) {\n var s = 0,\n l = 0,\n u = 0,\n c = 0,\n e = function (t) {\n var e = t.target;\n\n if (!(n = e) || -1 === p.indexOf(n.nodeName)) {\n var n,\n i = f(t),\n o = i.clientX,\n r = i.clientY;\n document.addEventListener(\"mousemove\", d), document.addEventListener(\"touchmove\", d), document.addEventListener(\"mouseup\", h), document.addEventListener(\"touchend\", h), s = o, l = r, u = a.shiftLeft, c = a.shiftTop;\n }\n },\n d = function (t) {\n var e = f(t),\n n = e.clientX,\n i = e.clientY;\n a.shiftLeft = u + n - s, a.shiftTop = c + i - l, t.preventDefault();\n },\n h = function t(e) {\n a.ensureShiftInWindowBounds(), document.removeEventListener(\"mousemove\", d), document.removeEventListener(\"touchmove\", d), document.removeEventListener(\"mouseup\", t), document.removeEventListener(\"touchend\", t), e.preventDefault();\n };\n\n t.addEventListener(\"mousedown\", e), t.addEventListener(\"touchstart\", e);\n }\n },\n ensureShiftInWindowBounds: function () {\n var t = this.viewportHeight,\n e = this.viewportWidth,\n n = this.shiftLeft,\n i = this.shiftTop,\n o = this.shiftX,\n r = this.shiftY,\n a = this.trueModalWidth,\n s = this.trueModalHeight,\n l = e - a,\n u = Math.max(t - s, 0),\n c = n + o * l,\n d = i + r * u;\n this.shiftLeft -= c - h(0, l, c), this.shiftTop -= d - h(0, u, d);\n }\n }\n },\n N = (n(9), d(H, i, [], !1, null, null, null));\n N.options.__file = \"src/components/Modal.vue\";\n\n function D() {\n var n = this,\n t = n.$createElement,\n i = n._self._c || t;\n return i(n.$modal.context.componentName, {\n tag: \"component\",\n attrs: {\n name: \"dialog\",\n height: \"auto\",\n classes: [\"vue-dialog\", this.params.class],\n width: n.width,\n \"shift-y\": .3,\n adaptive: !0,\n \"focus-trap\": !0,\n clickToClose: n.clickToClose,\n transition: n.transition\n },\n on: {\n \"before-open\": n.beforeOpened,\n \"before-close\": n.beforeClosed,\n opened: function (t) {\n return n.$emit(\"opened\", t);\n },\n closed: function (t) {\n return n.$emit(\"closed\", t);\n }\n }\n }, [i(\"div\", {\n staticClass: \"vue-dialog-content\"\n }, [n.params.title ? i(\"div\", {\n staticClass: \"vue-dialog-content-title\",\n domProps: {\n innerHTML: n._s(n.params.title || \"\")\n }\n }) : n._e(), n._v(\" \"), n.params.component ? i(n.params.component, n._b({\n tag: \"component\"\n }, \"component\", n.params.props, !1)) : i(\"div\", {\n domProps: {\n innerHTML: n._s(n.params.text || \"\")\n }\n })], 1), n._v(\" \"), n.buttons ? i(\"div\", {\n staticClass: \"vue-dialog-buttons\"\n }, n._l(n.buttons, function (t, e) {\n return i(\"button\", {\n key: e,\n class: t.class || \"vue-dialog-button\",\n style: n.buttonStyle,\n attrs: {\n type: \"button\",\n tabindex: \"0\"\n },\n domProps: {\n innerHTML: n._s(t.title)\n },\n on: {\n click: function (t) {\n return t.stopPropagation(), n.click(e, t);\n }\n }\n }, [n._v(n._s(t.title))]);\n }), 0) : i(\"div\", {\n staticClass: \"vue-dialog-buttons-none\"\n })]);\n }\n\n var W = N.exports;\n D._withStripped = !0;\n var P = {\n name: \"VueJsDialog\",\n props: {\n width: {\n type: [Number, String],\n default: 400\n },\n clickToClose: {\n type: Boolean,\n default: !0\n },\n transition: {\n type: String\n }\n },\n data: function () {\n return {\n params: {}\n };\n },\n computed: {\n buttons: function () {\n return this.params.buttons || [];\n },\n buttonStyle: function () {\n return {\n flex: \"1 1 \".concat(100 / this.buttons.length, \"%\")\n };\n }\n },\n methods: {\n beforeOpened: function (t) {\n this.params = t.params || {}, this.$emit(\"before-opened\", t);\n },\n beforeClosed: function (t) {\n this.params = {}, this.$emit(\"before-closed\", t);\n },\n click: function (t, e, n) {\n var i = 2 < arguments.length && void 0 !== n ? n : \"click\",\n o = this.buttons[t],\n r = null == o ? void 0 : o.handler;\n \"function\" == typeof r && r(t, e, {\n source: i\n });\n }\n }\n },\n B = (n(11), d(P, D, [], !1, null, null, null));\n B.options.__file = \"src/components/Dialog.vue\";\n\n function I() {\n var n = this,\n t = n.$createElement,\n i = n._self._c || t;\n return i(\"div\", {\n attrs: {\n id: \"modals-container\"\n }\n }, n._l(n.modals, function (e) {\n return i(\"modal\", n._g(n._b({\n key: e.id,\n on: {\n closed: function (t) {\n return n.remove(e.id);\n }\n }\n }, \"modal\", e.modalAttrs, !1), e.modalListeners), [i(e.component, n._g(n._b({\n tag: \"component\",\n on: {\n close: function (t) {\n return n.$modal.hide(e.modalAttrs.name, t);\n }\n }\n }, \"component\", e.componentAttrs, !1), n.$listeners))], 1);\n }), 1);\n }\n\n var U = B.exports;\n\n function X(t, e, n) {\n return e in t ? Object.defineProperty(t, e, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : t[e] = n, t;\n }\n\n I._withStripped = !0;\n var F = d({\n data: function () {\n return {\n modals: []\n };\n },\n created: function () {\n this.$root.__modalContainer = this;\n },\n mounted: function () {\n var t = this;\n this.$modal.subscription.$on(\"hide-all\", function () {\n t.modals = [];\n });\n },\n methods: {\n add: function (t, e, n, i) {\n var o = this,\n r = 1 < arguments.length && void 0 !== e ? e : {},\n a = 2 < arguments.length && void 0 !== n ? n : {},\n s = 3 < arguments.length && void 0 !== i ? i : {},\n l = c(),\n u = a.name || \"dynamic_modal_\" + l;\n this.modals.push({\n id: l,\n modalAttrs: function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = null != arguments[t] ? arguments[t] : {},\n i = Object.keys(n);\n \"function\" == typeof Object.getOwnPropertySymbols && (i = i.concat(Object.getOwnPropertySymbols(n).filter(function (t) {\n return Object.getOwnPropertyDescriptor(n, t).enumerable;\n }))), i.forEach(function (t) {\n X(e, t, n[t]);\n });\n }\n\n return e;\n }({}, a, {\n name: u\n }),\n modalListeners: s,\n component: t,\n componentAttrs: r\n }), this.$nextTick(function () {\n o.$modal.show(u);\n });\n },\n remove: function (e) {\n var t = this.modals.findIndex(function (t) {\n return t.id === e;\n });\n -1 !== t && this.modals.splice(t, 1);\n }\n }\n }, I, [], !1, null, null, null);\n F.options.__file = \"src/components/ModalsContainer.vue\";\n var G = F.exports;\n\n function V(t) {\n return (V = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (t) {\n return typeof t;\n } : function (t) {\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t;\n })(t);\n }\n\n function q(t, e, n) {\n return e in t ? Object.defineProperty(t, e, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : t[e] = n, t;\n }\n\n var K = function (i, t) {\n function o(t, e, n, i) {\n var o,\n r = 2 < arguments.length && void 0 !== n ? n : {},\n a = 3 < arguments.length ? i : void 0,\n s = null === (o = c.root) || void 0 === o ? void 0 : o.__modalContainer,\n l = u.dynamicDefaults || {};\n null != s && s.add(t, e, function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = null != arguments[t] ? arguments[t] : {},\n i = Object.keys(n);\n \"function\" == typeof Object.getOwnPropertySymbols && (i = i.concat(Object.getOwnPropertySymbols(n).filter(function (t) {\n return Object.getOwnPropertyDescriptor(n, t).enumerable;\n }))), i.forEach(function (t) {\n q(e, t, n[t]);\n });\n }\n\n return e;\n }({}, l, r), a);\n }\n\n var u = 1 < arguments.length && void 0 !== t ? t : {},\n r = new i(),\n c = {\n root: null,\n componentName: u.componentName || \"Modal\"\n };\n return {\n context: c,\n subscription: r,\n show: function () {\n for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++) e[n] = arguments[n];\n\n var i = e[0];\n\n switch (V(i)) {\n case \"string\":\n (function (t, e) {\n r.$emit(\"toggle\", t, !0, e);\n }).apply(void 0, e);\n break;\n\n case \"object\":\n case \"function\":\n o.apply(void 0, e);\n break;\n\n default:\n console.warn(\"[vue-js-modal] $modal() received an unsupported argument as a first argument.\", i);\n }\n },\n hide: function (t, e) {\n r.$emit(\"toggle\", t, !1, e);\n },\n hideAll: function () {\n r.$emit(\"hide-all\");\n },\n toggle: function (t, e) {\n r.$emit(\"toggle\", t, void 0, e);\n },\n setDynamicModalContainer: function (t) {\n c.root = t;\n var e,\n n = (e = document.createElement(\"div\"), document.body.appendChild(e), e);\n new i({\n parent: t,\n render: function (t) {\n return t(G);\n }\n }).$mount(n);\n }\n };\n },\n Y = {\n install: function (e, t) {\n var n = 1 < arguments.length && void 0 !== t ? t : {};\n\n if (!e.prototype.$modal) {\n var i = new K(e, n);\n Object.defineProperty(e.prototype, \"$modal\", {\n get: function () {\n if (this instanceof e) {\n var t = this.$root;\n i.context.root || i.setDynamicModalContainer(t);\n }\n\n return i;\n }\n }), e.component(i.context.componentName, W), n.dialog && e.component(\"VDialog\", U);\n }\n }\n },\n J = \"__VERSION__\";\n\n e.default = Y;\n }], o.c = i, o.d = function (t, e, n) {\n o.o(t, e) || Object.defineProperty(t, e, {\n enumerable: !0,\n get: n\n });\n }, o.r = function (t) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n }, o.t = function (e, t) {\n if (1 & t && (e = o(e)), 8 & t) return e;\n if (4 & t && \"object\" == typeof e && e && e.__esModule) return e;\n var n = Object.create(null);\n if (o.r(n), Object.defineProperty(n, \"default\", {\n enumerable: !0,\n value: e\n }), 2 & t && \"string\" != typeof e) for (var i in e) o.d(n, i, function (t) {\n return e[t];\n }.bind(null, i));\n return n;\n }, o.n = function (t) {\n var e = t && t.__esModule ? function () {\n return t.default;\n } : function () {\n return t;\n };\n return o.d(e, \"a\", e), e;\n }, o.o = function (t, e) {\n return Object.prototype.hasOwnProperty.call(t, e);\n }, o.p = \"/dist/\", o(o.s = 13);\n\n function o(t) {\n if (i[t]) return i[t].exports;\n var e = i[t] = {\n i: t,\n l: !1,\n exports: {}\n };\n return n[t].call(e.exports, e, e.exports, o), e.l = !0, e.exports;\n }\n\n var n, i;\n});\n\n//# sourceURL=webpack://materio.com/./node_modules/vue-js-modal/dist/index.js?"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Block/LoginBlock.vue?vue&type=script&lang=js&": /*!***********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Block/LoginBlock.vue?vue&type=script&lang=js& ***! \***********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"LoginBlock\",\n router: _route.default,\n props: ['title', 'block'],\n data: function data() {\n return {\n template: null,\n mail: '',\n password: ''\n };\n },\n // computed: {\n // ...mapState(['User'])\n // },\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)({\n userLogin: 'User/userLogin'\n })), {}, {\n login: function login() {\n var _this = this;\n\n this.userLogin({\n mail: this.mail,\n pass: this.password\n }).then(function () {\n console.log(\"LoginBlock user logged-in\");\n\n _this.$router.push({\n name: 'base'\n });\n });\n },\n request_password: function request_password() {\n console.log('request_password');\n },\n create_account: function create_account() {\n console.log('create_account');\n }\n }),\n beforeMount: function beforeMount() {\n var _this2 = this;\n\n // console.log('LoginBlock beforeMount', this._props.block);\n if (this._props.block) {\n // console.log('LoginBlock beforeMount if this._props.block ok');\n this.template = _vue.default.compile(this._props.block);\n this.$options.staticRenderFns = [];\n this._staticTrees = [];\n this.template.staticRenderFns.map(function (fn) {\n return _this2.$options.staticRenderFns.push(fn);\n });\n }\n },\n mounted: function mounted() {\n // console.log('LoginBlock mounted');\n Drupal.attachBehaviors(this.$el);\n },\n render: function render(h) {\n // console.log('LoginBlock render');\n if (!this.template) {\n // console.log('LoginBlock render NAN');\n return h('span', 'Loading ...');\n } else {\n // console.log('LoginBlock render template');\n return this.template.render.call(this);\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Block/LoginBlock.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Block/SearchBlock.vue?vue&type=script&lang=js&": /*!************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Block/SearchBlock.vue?vue&type=script&lang=js& ***! \************************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _SearchForm = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Form/SearchForm */ \"./web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _maAxios = __webpack_require__(/*! vuejs/api/ma-axios */ \"./web/themes/custom/materiotheme/vuejs/api/ma-axios.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n props: ['blockid', 'formhtml'],\n data: function data() {\n return {\n form: null\n };\n },\n computed: _objectSpread(_objectSpread({}, (0, _vuex.mapState)({\n canSearch: function canSearch(state) {\n return state.User.canSearch;\n }\n })), {}, {\n displayform: function displayform() {\n // console.log('computed displayform');\n return this.canSearch && this.form;\n }\n }),\n beforeMount: function beforeMount() {\n // console.log('SearchBlock beforeMount');\n this.form = this.formhtml;\n },\n watch: {\n canSearch: function canSearch(new_value, old_value) {\n // console.log('canSearch changed, old: '+old_value+\", new: \"+new_value);\n if (new_value && !this.form) {\n this.getSearchForm();\n }\n\n if (!new_value && this.form) {\n this.form = null;\n }\n }\n },\n methods: {\n getSearchForm: function getSearchForm() {\n var _this = this;\n\n _maAxios.MA.get(\"/materio_sapi/search_form\").then(function (_ref) {\n var data = _ref.data;\n // console.log(\"getSearchForm\");\n _this.form = data.rendered;\n }).catch(function (error) {\n console.warn('Issue with get searchform', error);\n });\n }\n },\n components: {\n SearchForm: _SearchForm.default\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Block/SearchBlock.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Block/UserBlock.vue?vue&type=script&lang=js&": /*!**********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Block/UserBlock.vue?vue&type=script&lang=js& ***! \**********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _LoginBlock = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Block/LoginBlock */ \"./web/themes/custom/materiotheme/vuejs/components/Block/LoginBlock.vue\"));\n\nvar _UserTools = _interopRequireDefault(__webpack_require__(/*! vuejs/components/User/UserTools */ \"./web/themes/custom/materiotheme/vuejs/components/User/UserTools.vue\"));\n\nvar _maAxios = __webpack_require__(/*! vuejs/api/ma-axios */ \"./web/themes/custom/materiotheme/vuejs/api/ma-axios.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n props: ['title', 'loginblock'],\n data: function data() {\n return {\n block: null\n };\n },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n isloggedin: function isloggedin(state) {\n return state.User.isloggedin;\n }\n })),\n beforeMount: function beforeMount() {\n console.log('UserBlock beforeMount');\n\n if (this.loginblock) {\n this.block = this.loginblock;\n } else {\n this.getLoginBlock();\n }\n },\n methods: {\n getLoginBlock: function getLoginBlock() {\n var _this = this;\n\n _maAxios.MA.get(\"/materio_user/login_block\").then(function (_ref) {\n var data = _ref.data;\n // console.log(\"getLoginBlock data\", data);\n _this.block = data.rendered;\n }).catch(function (error) {\n console.warn('Issue with getLoginBlock', error);\n });\n }\n },\n components: {\n LoginBlock: _LoginBlock.default,\n UserTools: _UserTools.default\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Block/UserBlock.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/ArticleCard.vue?vue&type=script&lang=js&": /*!**************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/ArticleCard.vue?vue&type=script&lang=js& ***! \**************************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n// import { JSONAPI } from 'vuejs/api/json-axios'\nvar basePath = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix;\nvar _default = {\n name: \"ArticleCard\",\n router: _route.default,\n props: ['item'],\n data: function data() {\n return {\n alias: this.item.view_node.replace(/^.*\\/blabla\\//g, '')\n };\n },\n methods: {\n onclick: function onclick() {\n console.log('clicked on article', this.alias);\n this.$router.push({\n name: \"article\",\n params: {\n alias: this.alias\n } // query: { nid: this.item.nid }\n // meta: { uuid:this.item.uuid },\n\n });\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/ArticleCard.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/Card.vue?vue&type=script&lang=js&": /*!*******************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/Card.vue?vue&type=script&lang=js& ***! \*******************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _cardMixins = _interopRequireDefault(__webpack_require__(/*! vuejs/components/cardMixins */ \"./web/themes/custom/materiotheme/vuejs/components/cardMixins.js\"));\n\nvar _ModalCard = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/ModalCard */ \"./web/themes/custom/materiotheme/vuejs/components/Content/ModalCard.vue\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"Card\",\n props: ['item'],\n mixins: [_cardMixins.default],\n components: {\n ModalCard: _ModalCard.default\n },\n data: function data() {\n return {\n blanksrc: \"\".concat(drupalSettings.path.themePath, \"/assets/img/blank.gif\"),\n loadingFlag: false // lightbox_index: null\n\n };\n },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n flagcolls: function flagcolls(state) {\n return state.User.flagcolls;\n },\n isloggedin: function isloggedin(state) {\n return state.User.isloggedin;\n }\n })),\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)({\n flagUnflag: 'User/flagUnflag'\n })), {}, {\n flagIsActive: function flagIsActive(collid) {\n // console.log(\"Card flagIsActive\",\n // this.item.id,\n // this.flagcolls[collid].items,\n // this.flagcolls[collid].items.indexOf(this.item.id)\n // );\n // console.log(this.flagcolls[collid].items_uuids);\n // return this.flagcolls[collid].items_uuids.indexOf(this.item.uuid) !== -1;\n return this.flagcolls[collid].items.indexOf(this.item.id) !== -1;\n },\n flagIsLoading: function flagIsLoading(collid) {\n // console.log(this.item.uuid);\n // console.log(this.flagcolls[collid].items_uuids);\n return collid === this.loadingFlag;\n },\n onFlagActionCard: function onFlagActionCard(e) {\n var _this = this;\n\n console.log(\"Card onFlagActionCard\", e, this.item);\n\n if (!this.loadingFlag) {\n var collid = e.target.getAttribute('collid');\n var isActive = this.flagIsActive(collid);\n var action = isActive ? 'unflag' : 'flag'; // console.log('collid', collid);\n // console.log(\"this.item\", this.item);\n\n this.loadingFlag = collid;\n this.flagUnflag({\n action: action,\n id: this.item.id,\n collid: collid\n }).then(function (data) {\n console.log(\"onFlagActionCard then\", data);\n _this.loadingFlag = false;\n });\n }\n },\n // onClickImg (e, index) {\n // this.lightbox_index = index\n // },\n openModalCard: function openModalCard(e) {\n console.log('openModalCard', this.isLoggedin);\n\n if (this.isloggedin) {\n this.$modal.show(_ModalCard.default, {\n item: this.item\n }, {\n name: \"modal-\".concat(this.item.id),\n draggable: true,\n width: '850px',\n height: '610px'\n });\n }\n }\n })\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/Card.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/CardThematique.vue?vue&type=script&lang=js&": /*!*****************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/CardThematique.vue?vue&type=script&lang=js& ***! \*****************************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _cardMixins = _interopRequireDefault(__webpack_require__(/*! vuejs/components/cardMixins */ \"./web/themes/custom/materiotheme/vuejs/components/cardMixins.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n// import ModalCard from 'vuejs/components/Content/ModalCard'\nvar _default = {\n name: \"Card\",\n props: ['item'],\n mixins: [_cardMixins.default],\n // components: {\n // ModalCard\n // },\n data: function data() {\n return {\n blanksrc: \"\".concat(drupalSettings.path.themePath, \"/assets/img/blank.gif\"),\n // loadingFlag: false,\n lightbox_index: null,\n alias: this.item.path.replace(/^.?\\/thematique\\//g, '')\n };\n },\n // computed: {\n // ...mapState({\n // flagcolls: state => state.User.flagcolls\n // })\n // },\n methods: {\n // ...mapActions({\n // flagUnflag: 'User/flagUnflag'\n // }),\n // flagIsActive(collid) {\n // // console.log(\"Card flagIsActive\",\n // // this.item.id,\n // // this.flagcolls[collid].items,\n // // this.flagcolls[collid].items.indexOf(this.item.id)\n // // );\n // // console.log(this.flagcolls[collid].items_uuids);\n // // return this.flagcolls[collid].items_uuids.indexOf(this.item.uuid) !== -1;\n // return this.flagcolls[collid].items.indexOf(this.item.id) !== -1;\n // },\n // flagIsLoading(collid) {\n // // console.log(this.item.uuid);\n // // console.log(this.flagcolls[collid].items_uuids);\n // return collid === this.loadingFlag;\n // },\n // onFlagActionCard (e) {\n // console.log(\"Card onFlagActionCard\", e, this.item);\n // if (!this.loadingFlag) {\n // let collid = e.target.getAttribute('collid');\n // let isActive = this.flagIsActive(collid);\n // let action = isActive ? 'unflag' : 'flag';\n // // console.log('collid', collid);\n // // console.log(\"this.item\", this.item);\n // this.loadingFlag = collid;\n // this.flagUnflag({ action: action, id: this.item.id, collid: collid})\n // .then(data => {\n // console.log(\"onFlagActionCard then\", data);\n // this.loadingFlag = false;\n // })\n // }\n // },\n openThematique: function openThematique(e) {\n console.log('openThematique', e);\n this.$router.push({\n name: \"thematique\",\n params: {\n alias: this.alias\n } // query: { nid: this.item.nid }\n // meta: { uuid:this.item.uuid },\n\n });\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/CardThematique.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/LeftContent.vue?vue&type=script&lang=js&": /*!**************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/LeftContent.vue?vue&type=script&lang=js& ***! \**************************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _maAxios = __webpack_require__(/*! vuejs/api/ma-axios */ \"./web/themes/custom/materiotheme/vuejs/api/ma-axios.js\");\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nvar _FlagCollection = _interopRequireDefault(__webpack_require__(/*! vuejs/components/User/FlagCollection */ \"./web/themes/custom/materiotheme/vuejs/components/User/FlagCollection.vue\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n router: _route.default,\n props: ['id'],\n data: function data() {\n return {// isOpened: false\n };\n },\n computed: _objectSpread(_objectSpread({}, (0, _vuex.mapState)({\n flagcolls: function flagcolls(state) {\n return state.User.flagcolls;\n },\n openedCollid: function openedCollid(state) {\n return state.User.openedCollid;\n }\n })), {}, {\n isopened: function isopened() {\n return this.openedCollid;\n }\n }),\n beforeMount: function beforeMount() {},\n methods: {},\n components: {\n FlagCollection: _FlagCollection.default\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/LeftContent.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/LinkedMaterialCard.vue?vue&type=script&lang=js&": /*!*********************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/LinkedMaterialCard.vue?vue&type=script&lang=js& ***! \*********************************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _cardMixins = _interopRequireDefault(__webpack_require__(/*! vuejs/components/cardMixins */ \"./web/themes/custom/materiotheme/vuejs/components/cardMixins.js\"));\n\nvar _ModalCard = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/ModalCard */ \"./web/themes/custom/materiotheme/vuejs/components/Content/ModalCard.vue\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"LinkedMaterialCard\",\n props: ['item'],\n mixins: [_cardMixins.default],\n // components: {\n // ModalCard\n // },\n data: function data() {\n return {\n blanksrc: \"\".concat(drupalSettings.path.themePath, \"/assets/img/blank.gif\"),\n loadingItem: false\n };\n },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n isloggedin: function isloggedin(state) {\n return state.User.isloggedin;\n }\n })),\n methods: {\n itemIsLoading: function itemIsLoading(id) {\n return this.loadingItem;\n },\n openModalCard: function openModalCard(e) {\n console.log('openModalCard', this.isLoggedin);\n\n if (this.isloggedin) {\n this.$modal.show(_ModalCard.default, {\n item: this.item\n }, {\n name: \"modal-\".concat(this.item.id),\n draggable: false,\n width: '850px',\n height: '610px'\n });\n }\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/LinkedMaterialCard.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/MainContent.vue?vue&type=script&lang=js&": /*!**************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/MainContent.vue?vue&type=script&lang=js& ***! \**************************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _maAxios = __webpack_require__(/*! vuejs/api/ma-axios */ \"./web/themes/custom/materiotheme/vuejs/api/ma-axios.js\");\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n router: _route.default,\n props: ['id', 'html', 'isfront'],\n data: function data() {\n return {\n home_template_src: null\n };\n },\n beforeMount: function beforeMount() {\n // console.log('MainContent beforeMount this.html', this.html);\n if (!this.home_template_src) {\n // console.log('no home_template_src');\n if (this.html && this.isfront) {\n // if html prop is available and we are landing on home then record it has data\n this.home_template_src = this.html;\n } else {\n // else get it from ajax (e.g. if we didn't load the page from home)\n this.getHomeHtml();\n }\n }\n },\n methods: {\n getHomeHtml: function getHomeHtml() {\n var _this = this;\n\n _maAxios.MA.get('materio_home/ajax/gethome').then(function (_ref) {\n var data = _ref.data;\n // console.log('Home getHomeHtml data', data);\n _this.home_template_src = data.rendered; // record the html src into data\n }).catch(function (error) {\n console.warn('Issue with getHomeHtml', error);\n });\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/MainContent.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/MiniCard.vue?vue&type=script&lang=js&": /*!***********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/MiniCard.vue?vue&type=script&lang=js& ***! \***********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _cardMixins = _interopRequireDefault(__webpack_require__(/*! vuejs/components/cardMixins */ \"./web/themes/custom/materiotheme/vuejs/components/cardMixins.js\"));\n\nvar _ModalCard = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/ModalCard */ \"./web/themes/custom/materiotheme/vuejs/components/Content/ModalCard.vue\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"MiniCard\",\n props: ['item', 'collid'],\n mixins: [_cardMixins.default],\n components: {\n ModalCard: _ModalCard.default\n },\n data: function data() {\n return {\n blanksrc: \"\".concat(drupalSettings.path.themePath, \"/assets/img/blank.gif\"),\n loadingItem: false\n };\n },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n isloggedin: function isloggedin(state) {\n return state.User.isloggedin;\n }\n })),\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)({\n flagUnflag: 'User/flagUnflag'\n })), {}, {\n itemIsLoading: function itemIsLoading(id) {\n return this.loadingItem;\n },\n onUnFlagCard: function onUnFlagCard(e) {\n var _this = this;\n\n console.log(\"Card onFlagActionCard\", e, this.item);\n\n if (!this.loadingItem) {\n this.loadingItem = true;\n this.flagUnflag({\n action: 'unflag',\n id: this.item.id,\n collid: this.collid\n }).then(function (data) {\n console.log(\"onUnFlagCard then\", data);\n _this.loadingItem = false;\n });\n }\n },\n openModalCard: function openModalCard(e) {\n console.log('openModalCard', this.isLoggedin);\n\n if (this.isloggedin) {\n this.$modal.show(_ModalCard.default, {\n item: this.item\n }, {\n name: \"modal-\".concat(this.item.id),\n draggable: true,\n width: '850px',\n height: '610px'\n });\n }\n }\n })\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/MiniCard.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/ModalCard.vue?vue&type=script&lang=js&": /*!************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/ModalCard.vue?vue&type=script&lang=js& ***! \************************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _LinkedMaterialCard = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/LinkedMaterialCard */ \"./web/themes/custom/materiotheme/vuejs/components/Content/LinkedMaterialCard.vue\"));\n\nvar _cardMixins = _interopRequireDefault(__webpack_require__(/*! vuejs/components/cardMixins */ \"./web/themes/custom/materiotheme/vuejs/components/cardMixins.js\"));\n\nvar _graphqlAxios = __webpack_require__(/*! vuejs/api/graphql-axios */ \"./web/themes/custom/materiotheme/vuejs/api/graphql-axios.js\");\n\nvar _printer = __webpack_require__(/*! graphql/language/printer */ \"./node_modules/graphql/language/printer.js\");\n\nvar _graphqlTag = _interopRequireDefault(__webpack_require__(/*! graphql-tag */ \"./node_modules/graphql-tag/src/index.js\"));\n\nvar _materiaumodalFragment = _interopRequireDefault(__webpack_require__(/*! vuejs/api/gql/materiaumodal.fragment.gql */ \"./web/themes/custom/materiotheme/vuejs/api/gql/materiaumodal.fragment.gql\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteral([\"{\\n materiau(id: \", \", lang: \\\"\", \"\\\") {\\n ...MateriauFields\\n }\\n }\\n \", \"\\n \"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"ModalCard\",\n props: ['item'],\n mixins: [_cardMixins.default],\n components: {\n LinkedMaterialCard: _LinkedMaterialCard.default\n },\n data: function data() {\n return {\n material: null,\n loading: false,\n blanksrc: \"\".concat(drupalSettings.path.themePath, \"/assets/img/blank.gif\"),\n loadingFlag: false,\n lightbox_index: null\n };\n },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n flagcolls: function flagcolls(state) {\n return state.User.flagcolls;\n },\n showrooms: function showrooms(state) {\n return state.Showrooms.showrooms_by_tid;\n }\n })),\n created: function created() {\n console.log('modale item', this.item);\n this.loadMaterial();\n },\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)({\n flagUnflag: 'User/flagUnflag'\n })), {}, {\n loadMaterial: function loadMaterial() {\n var _this = this;\n\n console.log('loadMaterial', this.item.id);\n this.loading = true;\n var ast = (0, _graphqlTag.default)(_templateObject(), this.item.id, drupalDecoupled.lang_code, _materiaumodalFragment.default);\n\n _graphqlAxios.MGQ.post('', {\n query: (0, _printer.print)(ast)\n }).then(function (_ref) {\n var materiau = _ref.data.data.materiau;\n console.log('loadMaterial material loaded', materiau);\n _this.material = materiau;\n _this.loading = false; // delay the lazyload to let the card the time to update dom\n // maybe not the best method\n\n setTimeout(function () {\n this.activateLazyLoad();\n }.bind(_this), 5);\n }).catch(function (error) {\n console.warn('Issue with loadMaterial', error);\n Promise.reject(error);\n });\n },\n flagIsActive: function flagIsActive(collid) {\n // console.log(this.item.uuid);\n // console.log(this.flagcolls[collid].items_uuids);\n // return this.flagcolls[collid].items_uuids.indexOf(this.item.uuid) !== -1;\n return this.flagcolls[collid].items.indexOf(this.item.id) !== -1;\n },\n flagIsLoading: function flagIsLoading(collid) {\n // console.log(this.item.uuid);\n // console.log(this.flagcolls[collid].items_uuids);\n return collid === this.loadingFlag;\n },\n onFlagActionCard: function onFlagActionCard(e) {\n var _this2 = this;\n\n console.log(\"Card onFlagActionCard\", e);\n\n if (!this.loadingFlag) {\n var collid = e.target.getAttribute('collid');\n var isActive = this.flagIsActive(collid);\n var action = isActive ? 'unflag' : 'flag'; // console.log('collid', collid);\n // console.log(\"this.item\", this.item);\n\n this.loadingFlag = collid;\n this.flagUnflag({\n action: action,\n id: this.item.id,\n collid: collid\n }).then(function (data) {\n console.log(\"onFlagActionCard then\", data);\n _this2.loadingFlag = false;\n });\n }\n },\n onCloseModalCard: function onCloseModalCard(e) {\n // this.$modal.hideAll()\n this.$modal.hide(\"modal-\".concat(this.item.id));\n }\n })\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/ModalCard.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=script&lang=js&": /*!**********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=script&lang=js& ***! \**********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _restAxios = __webpack_require__(/*! vuejs/api/rest-axios */ \"./web/themes/custom/materiotheme/vuejs/api/rest-axios.js\");\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _Modal = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Helper/Modal */ \"./web/themes/custom/materiotheme/vuejs/components/Helper/Modal.vue\"));\n\nvar _LoginRegister = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Helper/LoginRegister */ \"./web/themes/custom/materiotheme/vuejs/components/Helper/LoginRegister.vue\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar basePath = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix;\nvar _default = {\n name: \"Product\",\n router: _route.default,\n props: ['product'],\n data: function data() {\n return {\n quantity: 1,\n showLoginModal: false\n };\n },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n isloggedin: function isloggedin(state) {\n return state.User.isloggedin;\n },\n isAdherent: function isAdherent(state) {\n return state.User.isAdherent;\n },\n csrftoken: function csrftoken(state) {\n return state.User.csrftoken;\n }\n })),\n methods: {\n // ...mapActions({\n // userLogin: 'User/userLogin'\n // }),\n closeModal: function closeModal() {\n this.showLoginModal = false;\n },\n checkaddtocart: function checkaddtocart(e, variation_id) {\n console.log('checkaddtocart');\n\n if (!this.isloggedin) {\n // show popup for login or register\n // login or register event will be catched by onLogedin or onRegistered\n this.showLoginModal = variation_id;\n } else {\n // if already logedin directly goes to cart operations\n this.addtocart(variation_id);\n }\n },\n // event bubbled from modal login form\n onLogedIn: function onLogedIn(variation_id) {\n console.log('Product: onLogedIn. variation_id', variation_id);\n this.addtocart(variation_id);\n },\n // event bubbled from modal register form\n onRegistered: function onRegistered(variation_id) {\n console.log('Product: onRegistered. variation_id', variation_id);\n this.addtocart(variation_id);\n },\n getCarts: function getCarts() {\n // this is bugging on stage\n return _restAxios.REST.get(\"/cart?_format=json\", {}, {\n 'X-CSRF-Token': this.csrftoken\n }) // .then(({ data }) => {\n // console.log('current user carts: data', data)\n // })\n .catch(function (error) {\n console.warn('Issue with get cart', error);\n Promise.reject(error);\n });\n },\n deleteCart: function deleteCart(order_id) {\n console.log('deleting cart ', order_id);\n return _restAxios.REST.delete(\"/cart/\".concat(order_id, \"/items?_format=json\")).then(function (_ref) {\n var data = _ref.data;\n console.log(\"product cart \".concat(order_id, \" deleted: data\"), data);\n }).catch(function (error) {\n console.warn(\"Issue with cart \".concat(order_id, \" deleting\"), error);\n Promise.reject(error);\n });\n },\n clearCarts: function clearCarts(data) {\n var promises = []; // clear each cart as a promise\n\n for (var i = 0; i < data.length; i++) {\n promises.push(this.deleteCart(data[i].order_id));\n } // return all the promises as one\n\n\n return Promise.all(promises);\n },\n addtocart: function addtocart(variation_id) {\n var _this = this;\n\n console.log(\"addtocart\");\n this.getCarts().then(function (_ref2) {\n var data = _ref2.data;\n console.log('current user carts: data', data);\n\n _this.clearCarts(data).then(function () {\n console.log('all carts cleared'); // fill the cart with new product\n\n _restAxios.REST.post(\"/cart/add?_format=json\", [{\n \"purchased_entity_type\": \"commerce_product_variation\",\n \"purchased_entity_id\": variation_id,\n \"quantity\": _this.quantity\n }]).then(function (_ref3) {\n var data = _ref3.data;\n console.log('product added to cart: data', data);\n\n _this.closeModal(); // redirect to /cart\n // window.location.href = \"/cart\"\n // TODO: redirect to checkout instead of cart\n\n\n window.location.href = \"/checkout/\".concat(data[0].order_id, \"/order_information\");\n }).catch(function (error) {\n console.warn('Issue with product add to cart', error);\n Promise.reject(error);\n });\n });\n });\n }\n },\n components: {\n Modal: _Modal.default,\n LoginRegister: _LoginRegister.default\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue?vue&type=script&lang=js&": /*!***********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue?vue&type=script&lang=js& ***! \***********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n// import { JSONAPI } from 'vuejs/api/json-axios'\nvar basePath = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix;\nvar _default = {\n name: \"Showroom\",\n router: _route.default,\n props: ['item'] // data(){\n // return {\n // alias: this.item.view_node.replace(/^.?\\/showroom\\//g, '')\n // }\n // },\n // methods:{}\n\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Form/LoginForm.vue?vue&type=script&lang=js&": /*!*********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Form/LoginForm.vue?vue&type=script&lang=js& ***! \*********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _maAxios = __webpack_require__(/*! vuejs/api/ma-axios */ \"./web/themes/custom/materiotheme/vuejs/api/ma-axios.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"LoginForm\",\n data: function data() {\n return {\n form: null,\n mail: null,\n password: null\n };\n },\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)({\n userLogin: 'User/userLogin'\n })), {}, {\n getLoginForm: function getLoginForm() {\n var _this = this;\n\n // Form through ajax is provided by materio_user drupal custom module\n // vuejs attributes a inserted by form alter in same module\n _maAxios.MA.get(\"/materio_user/login_form\").then(function (_ref) {\n var data = _ref.data;\n console.log(\"getLoginForm data\");\n _this.form = _vue.default.compile(data.rendered);\n _this.$options.staticRenderFns = [];\n _this._staticTrees = [];\n\n _this.form.staticRenderFns.map(function (fn) {\n return _this.$options.staticRenderFns.push(fn);\n });\n }).catch(function (error) {\n console.warn('Issue with getLoginForm', error);\n });\n },\n login: function login() {\n var _this2 = this;\n\n this.userLogin({\n mail: this.mail,\n pass: this.password\n }).then(function () {\n console.log('logedin from login component');\n\n _this2.$emit('onLogedIn');\n }).catch(function (error) {\n console.warn('Issue with login from login component', error);\n Promise.reject(error);\n });\n }\n }),\n beforeMount: function beforeMount() {\n if (!this.form) {\n this.getLoginForm();\n }\n },\n mounted: function mounted() {\n // console.log('LoginBlock mounted');\n Drupal.attachBehaviors(this.$el);\n },\n render: function render(h) {\n // console.log('LoginBlock render');\n if (!this.form) {\n // console.log('LoginBlock render NAN');\n return h('span', 'Loading ...');\n } else {\n // console.log('LoginBlock render template');\n return this.form.render.call(this);\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Form/LoginForm.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Form/RegisterForm.vue?vue&type=script&lang=js&": /*!************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Form/RegisterForm.vue?vue&type=script&lang=js& ***! \************************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _maAxios = __webpack_require__(/*! vuejs/api/ma-axios */ \"./web/themes/custom/materiotheme/vuejs/api/ma-axios.js\");\n\nvar _checkPasswordStrength = _interopRequireDefault(__webpack_require__(/*! check-password-strength */ \"./node_modules/check-password-strength/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"RegisterForm\",\n data: function data() {\n return {\n form: null,\n mail: null,\n pass1: null,\n pass2: null,\n ps: \"\"\n };\n },\n computed: {\n psswd_class: function psswd_class() {\n return this.ps.toLowerCase();\n },\n can_register: function can_register() {\n if (this.ps === \"Strong\") {\n return 'can-register';\n }\n\n return '';\n }\n },\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)({\n userRegister: 'User/userRegister'\n })), {}, {\n getRegisterForm: function getRegisterForm() {\n var _this = this;\n\n // Form through ajax is provided by materio_user drupal custom module\n // vuejs attributes a inserted by form alter in same module\n _maAxios.MA.get(\"/materio_user/register_form\").then(function (_ref) {\n var data = _ref.data;\n console.log(\"getRegisterForm data\", data);\n _this.form = _vue.default.compile(data.rendered);\n _this.$options.staticRenderFns = [];\n _this._staticTrees = [];\n\n _this.form.staticRenderFns.map(function (fn) {\n return _this.$options.staticRenderFns.push(fn);\n });\n }).catch(function (error) {\n console.warn('Issue with getRegisterForm', error);\n });\n },\n checkSubmitEnabled: function checkSubmitEnabled() {\n if (this.ps === 'Strong') {\n this.$refs.register.disabled = false;\n } else {\n this.$refs.register.disabled = true;\n }\n },\n register: function register() {\n var _this2 = this;\n\n console.log('register', this.mail, this.pass1, this.pass2); // TODO: check for identical password\n // TODO: check for valide email\n // TODO: check for unique email\n\n if (this.pass1 === this.pass2) {\n this.userRegister({\n name: this.mail,\n mail: this.mail,\n pass: this.pass1\n }).then(function () {\n console.log('registered from register component');\n\n _this2.$emit('onRegistered');\n }).catch(function (error) {\n console.warn('Issue with register from registerform component', error);\n Promise.reject(error);\n });\n }\n }\n }),\n beforeMount: function beforeMount() {\n if (!this.form) {\n this.getRegisterForm();\n }\n },\n mounted: function mounted() {\n // console.log('LoginBlock mounted');\n Drupal.attachBehaviors(this.$el);\n this.checkSubmitEnabled();\n },\n render: function render(h) {\n // console.log('LoginBlock render');\n if (!this.form) {\n // console.log('LoginBlock render NAN');\n return h('span', 'Loading ...');\n } else {\n // console.log('LoginBlock render template');\n return this.form.render.call(this);\n }\n },\n watch: {\n pass1: function pass1(n, o) {\n if (n) {\n this.ps = (0, _checkPasswordStrength.default)(n).value;\n console.log('watch pass1 n', n, 'ps :', this.ps);\n this.checkSubmitEnabled();\n }\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Form/RegisterForm.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue?vue&type=script&lang=js&": /*!**********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue?vue&type=script&lang=js& ***! \**********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n router: _route.default,\n props: ['form'],\n data: function data() {\n return {\n template: null,\n typed: null,\n autocomplete: null // basePath: drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix\n\n };\n },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n keys: function keys(state) {\n return state.Search.keys;\n },\n term: function term(state) {\n return state.Search.term;\n }\n })),\n methods: {\n submit: function submit() {\n console.log(\"search clicked\", this.typed, this.autocomplete); // New search is triggered by Base.vue with router (which will also fill the store)\n\n this.$router.push({\n name: 'base',\n query: {\n keys: this.typed,\n term: this.autocomplete\n }\n }); // this.$router.push({\n // path:`${this.basePath}/base`,\n // query:{keys:this.typed,term:this.autocomplete}\n // })\n },\n onAutoCompleteSelect: function onAutoCompleteSelect(event, ui) {\n event.preventDefault(); // console.log('autoCompleteSelect', event, ui);\n\n this.typed = ui.item.label;\n this.autocomplete = ui.item.value;\n }\n },\n directives: {\n focus: {\n // directive definition\n inserted: function inserted(el) {\n el.focus();\n }\n }\n },\n beforeMount: function beforeMount() {\n var _this = this;\n\n // console.log('SearchForm beforeMount');\n if (this._props.form) {\n // console.log('SearchForm beforeMount if this._props.form ok');\n this.template = _vue.default.compile(this._props.form); // https://github.com/vuejs/vue/issues/9911\n\n this.$options.staticRenderFns = [];\n this._staticTrees = [];\n this.template.staticRenderFns.map(function (fn) {\n return _this.$options.staticRenderFns.push(fn);\n });\n }\n },\n watch: {\n keys: function keys(n, o) {\n console.log('keys changed', n, o);\n this.typed = n;\n },\n term: function term(n, o) {\n console.log('autocomplete changed', n, o);\n this.autocomplete = n;\n }\n },\n created: function created() {\n this.typed = this.keys;\n this.autocomplete = this.term;\n },\n mounted: function mounted() {\n // console.log('SearchForm mounted');\n Drupal.attachBehaviors(this.$el); // get the search input\n\n var $input = this.$el.querySelector('#edit-search'); // // focus on input\n // $input.focus()\n // Catch the jquery ui events for autocmplete widget\n\n jQuery($input).on('autocompleteselect', this.onAutoCompleteSelect);\n },\n render: function render(h) {\n // console.log('searchForm render');\n if (!this.template) {\n return h('span', 'Loading ...');\n } else {\n return this.template.render.call(this);\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Helper/LoginRegister.vue?vue&type=script&lang=js&": /*!***************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Helper/LoginRegister.vue?vue&type=script&lang=js& ***! \***************************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _LoginForm = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Form/LoginForm */ \"./web/themes/custom/materiotheme/vuejs/components/Form/LoginForm.vue\"));\n\nvar _RegisterForm = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Form/RegisterForm */ \"./web/themes/custom/materiotheme/vuejs/components/Form/RegisterForm.vue\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"LoginRegister\",\n data: function data() {\n return {\n loginEmail: null,\n password: null,\n registerEmail: null\n };\n },\n props: ['callbackargs'],\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)({\n userLogin: 'User/userLogin',\n userRegister: 'User/userRegister'\n })), {}, {\n onLogedIn: function onLogedIn() {\n this.$emit('onLogedIn', this.callbackargs);\n },\n onRegistered: function onRegistered() {\n this.$emit('onRegistered', this.callbackargs);\n }\n }),\n components: {\n LoginForm: _LoginForm.default,\n RegisterForm: _RegisterForm.default\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Helper/LoginRegister.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Helper/Modal.vue?vue&type=script&lang=js&": /*!*******************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Helper/Modal.vue?vue&type=script&lang=js& ***! \*******************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__ */ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default2 = {\n name: \"\",\n props: {\n styles: {\n default: function _default() {\n return {\n width: '500px',\n height: '350px'\n };\n },\n type: Object\n }\n },\n data: function data() {\n return {};\n },\n methods: {\n close: function close() {\n console.log('click close');\n this.$emit('close');\n }\n }\n};\nexports.default = _default2;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Helper/Modal.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Article.vue?vue&type=script&lang=js&": /*!********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Article.vue?vue&type=script&lang=js& ***! \********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nvar _store = _interopRequireDefault(__webpack_require__(/*! vuejs/store */ \"./web/themes/custom/materiotheme/vuejs/store/index.js\"));\n\nvar _restAxios = __webpack_require__(/*! vuejs/api/rest-axios */ \"./web/themes/custom/materiotheme/vuejs/api/rest-axios.js\");\n\nvar _graphqlAxios = __webpack_require__(/*! vuejs/api/graphql-axios */ \"./web/themes/custom/materiotheme/vuejs/api/graphql-axios.js\");\n\nvar _printer = __webpack_require__(/*! graphql/language/printer */ \"./node_modules/graphql/language/printer.js\");\n\nvar _graphqlTag = _interopRequireDefault(__webpack_require__(/*! graphql-tag */ \"./node_modules/graphql-tag/src/index.js\"));\n\nvar _articleFragment = _interopRequireDefault(__webpack_require__(/*! vuejs/api/gql/article.fragment.gql */ \"./web/themes/custom/materiotheme/vuejs/api/gql/article.fragment.gql\"));\n\nvar _Card = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/Card */ \"./web/themes/custom/materiotheme/vuejs/components/Content/Card.vue\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _wrapRegExp(re, groups) { _wrapRegExp = function _wrapRegExp(re, groups) { return new BabelRegExp(re, undefined, groups); }; var _RegExp = _wrapNativeSuper(RegExp); var _super = RegExp.prototype; var _groups = new WeakMap(); function BabelRegExp(re, flags, groups) { var _this = _RegExp.call(this, re, flags); _groups.set(_this, groups || _groups.get(re)); return _this; } _inherits(BabelRegExp, _RegExp); BabelRegExp.prototype.exec = function (str) { var result = _super.exec.call(this, str); if (result) result.groups = buildGroups(result, this); return result; }; BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { if (typeof substitution === \"string\") { var groups = _groups.get(this); return _super[Symbol.replace].call(this, str, substitution.replace(/\\$<([^>]+)>/g, function (_, name) { return \"$\" + groups[name]; })); } else if (typeof substitution === \"function\") { var _this = this; return _super[Symbol.replace].call(this, str, function () { var args = []; args.push.apply(args, arguments); if (_typeof(args[args.length - 1]) !== \"object\") { args.push(buildGroups(args, _this)); } return substitution.apply(this, args); }); } else { return _super[Symbol.replace].call(this, str, substitution); } }; function buildGroups(result, re) { var g = _groups.get(re); return Object.keys(g).reduce(function (groups, name) { groups[name] = result[g[name]]; return groups; }, Object.create(null)); } return _wrapRegExp.apply(this, arguments); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteral([\"{\\n route(path: \\\"\", \"\\\", lang: \\\"\", \"\\\") {\\n ...ArticleFields\\n }\\n }\\n \", \"\\n \"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"Article\",\n router: _route.default,\n store: _store.default,\n props: ['item'],\n data: function data() {\n return {\n index: -1,\n prevnext: {},\n nid: null,\n path: null,\n article: {},\n image_accroche: null,\n lightbox_items: null,\n loading: true,\n lightbox_index: null\n };\n },\n metaInfo: function metaInfo() {\n return {\n title: this.article.title\n };\n },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n items: function items(state) {\n return state.Blabla.items;\n }\n })),\n created: function created() {\n this.getArticle();\n },\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)({\n getItems: 'Blabla/getItems',\n getItemIndex: 'Blabla/getItemIndex',\n getPrevNextItems: 'Blabla/getPrevNextItems'\n })), {}, {\n getArticle: function getArticle() {\n console.log(this.$route); // get the article uuid\n // if(this.$route.query.nid){\n // // we come from internal link with vuejs\n // // directly record uuid\n // this.nid = this.$route.query.nid\n //\n // }else if(drupalDecoupled.entity_type == 'node' && drupalDecoupled.entity_bundle == 'article'){\n // // we landed in an internal page\n // // get the uuid from drupalDeclouped, provided by materio_decoupled.module\n // this.nid = drupalDecoupled.entity_id\n // }\n\n if (this.$route.path) {\n // we come from internal link with vuejs\n this.path = this.$route.path;\n } else {\n // we landed in an internal page\n this.path = window.location.pathname;\n }\n\n if (this.path) {\n this.loadArticle();\n } else {\n // if for any reason we dont have the uuid\n // redirect to home\n this.$route.replace('home');\n }\n },\n getIndex: function getIndex() {\n var _this = this;\n\n console.log(\"Article getIndex article.id:\", this.article.id);\n this.getItemIndex(this.article.id).then(function (index) {\n _this.index = index;\n console.log('article index', index, _this);\n\n _this.getPrevNextItems(index).then(function (pn) {\n _this.prevnext = pn;\n });\n });\n },\n loadArticle: function loadArticle() {\n var _this2 = this;\n\n console.log('loadArticle');\n this.loading = true;\n var ast = (0, _graphqlTag.default)(_templateObject(), this.path, drupalDecoupled.lang_code, _articleFragment.default);\n\n _graphqlAxios.MGQ.post('', {\n query: (0, _printer.print)(ast)\n }).then(function (_ref) {\n var route = _ref.data.data.route;\n console.log('loadArticle', route);\n\n _this2.parseDataGQL(route);\n }).catch(function (error) {\n console.warn('Issue with loadArticle', error);\n Promise.reject(error);\n });\n },\n parseDataGQL: function parseDataGQL(article) {\n var _this3 = this;\n\n console.log('parseDataGQL article', article);\n this.article = article; // get the prev next items\n\n if (!this.items.length) {\n // if items list not yet loaded preload them\n this.getItems().then(function () {\n // then get the index\n _this3.getIndex();\n });\n } else {\n // or directly get the index\n this.getIndex();\n }\n\n this.image_accroche = article.images[0];\n this.lightbox_items = []; // fill the lightbox\n\n for (var i = 0; i < article.images.length; i++) {\n article.images[i].thumb = article.images[i].style_articlecardmedium.url;\n this.lightbox_items.push(article.images[i]);\n } // parse embeded videos pushing it in lightbox\n\n\n for (var i = 0; i < article.videos.length; i++) {\n var videoUrl = article.videos[i].url;\n\n var provider_regex = /*#__PURE__*/_wrapRegExp(/https:\\/\\/(www\\.)?(youtube|vimeo)\\.com\\/.+/, {\n provider: 2\n });\n\n var match = provider_regex.exec(videoUrl); // console.log('provider', match.groups.provider);\n\n var video_id = null;\n var video_thumb = null;\n\n switch (match.groups.provider) {\n case 'vimeo':\n var vimeo_regex = /*#__PURE__*/_wrapRegExp(/https:\\/\\/vimeo\\.com\\/([0-9]+)/, {\n id: 1\n });\n\n video_id = vimeo_regex.exec(videoUrl).groups.id || null; // TODO: get the vimeo thumb https://coderwall.com/p/fdrdmg/get-a-thumbnail-from-a-vimeo-video\n\n video_thumb = \"http://blogpeda.ac-poitiers.fr/ent-lyc/files/2015/06/Vimeo_icon_block.png\";\n break;\n\n case 'youtube':\n var youtube_regex = /*#__PURE__*/_wrapRegExp(/https:\\/\\/(www\\.)?youtube\\.com\\/watch\\?v=(.+)/, {\n id: 2\n });\n\n video_id = youtube_regex.exec(videoUrl).groups.id || null;\n video_thumb = \"http://img.youtube.com/vi/\" + video_id + \"/0.jpg\";\n break;\n } // console.log('video_id', video_id);\n\n\n this.lightbox_items.push({\n url: videoUrl,\n title: \"\",\n description: \"\",\n thumb: video_thumb\n });\n } // console.log('this.content.lightbox_items', this.lightbox_items);\n // update main page title\n\n\n this.$store.commit('Common/setPagetitle', article.title);\n this.loading = false;\n },\n onPrevNext: function onPrevNext(a) {\n // console.log('clicked on next', this.prevnext.next);\n var alias = a.replace(/^.?\\/blabla\\//g, '');\n this.$router.push({\n name: \"article\",\n params: {\n alias: alias\n }\n });\n },\n setLightboxIndex: function setLightboxIndex(index) {\n this.lightbox_index = index;\n }\n }),\n components: {\n Card: _Card.default\n },\n watch: {\n '$route': function $route(to, from) {\n console.log('route change');\n this.getArticle();\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Pages/Article.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Base.vue?vue&type=script&lang=js&": /*!*****************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Base.vue?vue&type=script&lang=js& ***! \*****************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _Card = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/Card */ \"./web/themes/custom/materiotheme/vuejs/components/Content/Card.vue\"));\n\nvar _CardThematique = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/CardThematique */ \"./web/themes/custom/materiotheme/vuejs/components/Content/CardThematique.vue\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"Base\",\n data: function data() {\n return {\n pagetitle: \"Base\" // searchinfos: null\n\n };\n },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n items: function items(state) {\n return state.Search.items;\n },\n searchinfos: function searchinfos(state) {\n return state.Search.infos;\n },\n count: function count(state) {\n return state.Search.count;\n },\n noresults: function noresults(state) {\n return state.Search.noresults;\n },\n limit: function limit(state) {\n return state.Search.limit;\n }\n })),\n methods: _objectSpread({}, (0, _vuex.mapActions)({\n newSearch: 'Search/newSearch',\n nextPage: 'Search/nextPage'\n })),\n created: function created() {\n // at first page load or first route entering launch a search if params exists in url query\n console.log('Base created() location', window.location);\n var params = new URLSearchParams(window.location.search);\n\n if (params.has('keys') || params.has('term')) {\n this.$store.commit('Search/setKeys', params.get('keys'));\n this.$store.commit('Search/setTerm', params.get('term'));\n this.pagetitle = params.get('keys');\n this.newSearch();\n } else {\n // load default base page\n this.$store.commit('Search/setKeys', '');\n this.$store.commit('Search/setTerm', '');\n this.pagetitle = 'Base';\n this.newSearch();\n }\n },\n beforeRouteUpdate: function beforeRouteUpdate(to, from, next) {\n // when query change launch a new search\n console.log('Base beforeRouteUpdate', to, from, next);\n this.$store.commit('Search/setKeys', to.query.keys);\n this.$store.commit('Search/setTerm', to.query.term);\n this.pagetitle = to.query.keys;\n this.newSearch();\n next();\n },\n components: {\n Card: _Card.default,\n CardThematique: _CardThematique.default\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Pages/Base.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Blabla.vue?vue&type=script&lang=js&": /*!*******************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Blabla.vue?vue&type=script&lang=js& ***! \*******************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _ArticleCard = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/ArticleCard */ \"./web/themes/custom/materiotheme/vuejs/components/Content/ArticleCard.vue\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"Blabla\",\n // data() {\n // return {\n // items:[],\n // page:0\n // }\n // },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n items: function items(state) {\n return state.Blabla.items;\n }\n })),\n created: function created() {\n if (!this.items.length) this.getItems();\n },\n methods: _objectSpread({}, (0, _vuex.mapActions)({\n getItems: 'Blabla/getItems',\n nextPage: 'Blabla/nextPage'\n })),\n components: {\n ArticleCard: _ArticleCard.default\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Pages/Blabla.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue?vue&type=script&lang=js&": /*!*****************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue?vue&type=script&lang=js& ***! \*****************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = {\n props: ['html'],\n // get the html from parent with props\n data: function data() {\n return {\n template: null,\n // compiled template from html used in render\n showrooms: [],\n showroomsOdd: [],\n showroomsEven: [],\n showroomMode: 1,\n showroomInterval: 0,\n showroomI: 0,\n showroomJ: 0\n };\n },\n beforeMount: function beforeMount() {\n // console.log('Home beforeMount');\n // compile the html src (coming from parent with props or from ajax call)\n if (this.html) {\n // console.log('html', this.html);\n this.compileTemplate();\n }\n },\n render: function render(h) {\n if (!this.template) {\n return h('span', 'Loading ...');\n } else {\n return this.template.render.call(this);\n }\n },\n mounted: function mounted() {// this.initShowroomCarroussel()\n },\n methods: {\n compileTemplate: function compileTemplate() {\n var _this = this;\n\n this.template = _vue.default.compile(this.html);\n this.$options.staticRenderFns = [];\n this._staticTrees = [];\n this.template.staticRenderFns.map(function (fn) {\n return _this.$options.staticRenderFns.push(fn);\n });\n setTimeout(this.initShowroomCarroussel.bind(this), 250);\n },\n initShowroomCarroussel: function initShowroomCarroussel() {\n console.log(\"startShowroomCarroussel\");\n this.showrooms = document.querySelectorAll('.field--name-computed-showrooms-reference > .field__item');\n console.log('showrooms', this.showrooms);\n\n for (var i = 0; i < this.showrooms.length; i++) {\n if (i % 2 === 0) {\n this.showroomsOdd.push(this.showrooms[i]);\n } else {\n this.showroomsEven.push(this.showrooms[i]);\n }\n }\n\n console.log('Odd', this.showroomsOdd);\n console.log('Even', this.showroomsEven); // TODO: share media query and variables between scss and js\n\n var column_width = 205;\n var column_goutiere = 13;\n var bp = (column_width + column_goutiere) * 7 + 1;\n var mediaQuery = window.matchMedia(\"(min-width: \".concat(bp, \"px)\")); // Register event listener\n\n mediaQuery.addListener(this.checkShowroomMode);\n this.checkShowroomMode(mediaQuery); // this.showroomInterval = setInterval(this.switchShowroomCarroussel.bind(this), 5000);\n // console.log('this.showroomInterval', this.showroomInterval);\n // this.switchShowroomCarroussel()\n },\n checkShowroomMode: function checkShowroomMode(mq) {\n // default mode 1\n var newmode = 1;\n\n if (mq.matches) {\n // if mediaquery match switch to mode 2\n newmode = 2;\n }\n\n if (newmode !== this.showroomMode) {\n // if new mode different from old mode\n // reset sowrooms classes\n for (var i = 0; i < this.showrooms.length; i++) {\n this.showrooms[i].classList.remove('active');\n } // record new mode\n\n\n this.showroomMode = newmode; // clear interval\n // if (this.showroomInterval) {\n\n clearInterval(this.showroomInterval);\n this.showroomInterval = 0; // }\n // reset indexes\n\n this.showroomI = 0;\n this.showroomJ = 0;\n } // in any case (re)launch the animation\n\n\n this.showroomInterval = setInterval(this.switchShowroomCarroussel.bind(this), 15000);\n console.log('this.showroomInterval', this.showroomInterval);\n this.switchShowroomCarroussel();\n },\n switchShowroomCarroussel: function switchShowroomCarroussel() {\n // console.log('switchShowroomCarroussel i', $elmts, i);\n if (this.showroomMode === 1) {\n this.showrooms[this.showroomI].classList.add('active');\n this.showrooms[this.showroomI - 1 < 0 ? this.showrooms.length - 1 : this.showroomI - 1].classList.remove('active');\n this.showroomI = this.showroomI + 1 >= this.showrooms.length ? 0 : this.showroomI + 1;\n } else {\n this.showroomsOdd[this.showroomI].classList.add('active');\n this.showroomsOdd[this.showroomI - 1 < 0 ? this.showroomsOdd.length - 1 : this.showroomI - 1].classList.remove('active');\n this.showroomI = this.showroomI + 1 >= this.showroomsOdd.length ? 0 : this.showroomI + 1;\n this.showroomsEven[this.showroomJ].classList.add('active');\n this.showroomsEven[this.showroomJ - 1 < 0 ? this.showroomsEven.length - 1 : this.showroomJ - 1].classList.remove('active');\n this.showroomJ = this.showroomJ + 1 >= this.showroomsEven.length ? 0 : this.showroomJ + 1;\n }\n },\n onClickLink: function onClickLink(e) {\n console.log(\"onClickLink\", e, this.$router, this.$route);\n var path = null; // find existing router route compared with link href\n\n for (var i = 0; i < this.$router.options.routes.length; i++) {\n if (this.$router.options.routes[i].path == e.originalTarget.pathname) {\n if (e.originalTarget.pathname !== this.$route.path) {\n path = e.originalTarget.pathname;\n }\n\n break;\n }\n }\n\n if (path) {\n this.$router.push({\n path: path\n });\n }\n },\n onClickFieldLabel: function onClickFieldLabel(e) {\n console.log(\"onClickFieldLabel\", e, this.$router, this.$route);\n }\n },\n watch: {\n html: function html(val) {\n console.log('html prop changed', val);\n this.compileTemplate();\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=script&lang=js&": /*!********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=script&lang=js& ***! \********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _Product = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/Product */ \"./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"Pricing\",\n // data() {\n // return {\n // items:[],\n // page:0\n // }\n // },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n products: function products(state) {\n return state.Pages.products;\n }\n })),\n created: function created() {\n if (!this.products.length) this.getProducts();\n },\n methods: _objectSpread({}, (0, _vuex.mapActions)({\n getProducts: 'Pages/getProducts'\n })),\n components: {\n Product: _Product.default\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue?vue&type=script&lang=js&": /*!**********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue?vue&type=script&lang=js& ***! \**********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _Showroom = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/Showroom */ \"./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"Showrooms\",\n // data() {\n // return {\n // items:[],\n // page:0\n // }\n // },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n items: function items(state) {\n return state.Showrooms.items;\n }\n })),\n created: function created() {\n if (!this.items.length) this.getItems();\n },\n methods: _objectSpread({}, (0, _vuex.mapActions)({\n getItems: 'Showrooms/getItems'\n })),\n components: {\n Showroom: _Showroom.default\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Thematique.vue?vue&type=script&lang=js&": /*!***********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Thematique.vue?vue&type=script&lang=js& ***! \***********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nvar _store = _interopRequireDefault(__webpack_require__(/*! vuejs/store */ \"./web/themes/custom/materiotheme/vuejs/store/index.js\"));\n\nvar _restAxios = __webpack_require__(/*! vuejs/api/rest-axios */ \"./web/themes/custom/materiotheme/vuejs/api/rest-axios.js\");\n\nvar _graphqlAxios = __webpack_require__(/*! vuejs/api/graphql-axios */ \"./web/themes/custom/materiotheme/vuejs/api/graphql-axios.js\");\n\nvar _printer = __webpack_require__(/*! graphql/language/printer */ \"./node_modules/graphql/language/printer.js\");\n\nvar _graphqlTag = _interopRequireDefault(__webpack_require__(/*! graphql-tag */ \"./node_modules/graphql-tag/src/index.js\"));\n\nvar _thematiqueFragment = _interopRequireDefault(__webpack_require__(/*! vuejs/api/gql/thematique.fragment.gql */ \"./web/themes/custom/materiotheme/vuejs/api/gql/thematique.fragment.gql\"));\n\nvar _Card = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/Card */ \"./web/themes/custom/materiotheme/vuejs/components/Content/Card.vue\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteral([\"{\\n route(path: \\\"\", \"\\\") {\\n ...ThematiqueFields\\n }\\n }\\n \", \"\\n \"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\nvar _default = {\n name: \"Thematique\",\n router: _route.default,\n store: _store.default,\n data: function data() {\n return {\n nid: null,\n path: null,\n thematique: {},\n image_accroche: null,\n loading: true\n };\n },\n metaInfo: function metaInfo() {\n return {\n title: this.thematique.title\n };\n },\n // computed: {\n // ...mapState({\n // items: state => state.Blabla.items\n // })\n // },\n created: function created() {\n this.getThematique();\n },\n methods: {\n // ...mapActions({\n // getItems: 'Blabla/getItems',\n // getItemIndex: 'Blabla/getItemIndex',\n // getPrevNextItems: 'Blabla/getPrevNextItems'\n // }),\n getThematique: function getThematique() {\n console.log('getThematique', this.$route); // get the article uuid\n // if(this.$route.query.nid){\n // // we come from internal link with vuejs\n // // directly record uuid\n // this.nid = this.$route.query.nid\n //\n // }else if(drupalDecoupled.entity_type == 'node' && drupalDecoupled.entity_bundle == 'article'){\n // // we landed in an internal page\n // // get the uuid from drupalDeclouped, provided by materio_decoupled.module\n // this.nid = drupalDecoupled.entity_id\n // }\n\n if (this.$route.path) {\n // we come from internal link with vuejs\n this.path = this.$route.path;\n } else {\n // we landed in an internal page\n this.path = window.location.pathname;\n }\n\n if (this.path) {\n this.loadThematique();\n } else {\n // if for any reason we dont have the uuid\n // redirect to home\n this.$route.replace('home');\n }\n },\n loadThematique: function loadThematique() {\n var _this = this;\n\n console.log('loadThematique');\n this.loading = true;\n var ast = (0, _graphqlTag.default)(_templateObject(), this.path, _thematiqueFragment.default);\n\n _graphqlAxios.MGQ.post('', {\n query: (0, _printer.print)(ast)\n }).then(function (_ref) {\n var route = _ref.data.data.route;\n console.log('loaded Thematique', route);\n\n _this.parseDataGQL(route);\n }).catch(function (error) {\n console.warn('Issue with loadThematique', error);\n Promise.reject(error);\n });\n },\n parseDataGQL: function parseDataGQL(thematique) {\n console.log('parseDataGQL thematique', thematique);\n this.thematique = thematique;\n this.image_accroche = thematique.images[0]; // update main page title\n\n this.$store.commit('Common/setPagetitle', thematique.title);\n this.loading = false;\n }\n },\n components: {\n Card: _Card.default\n },\n watch: {\n '$route': function $route(to, from) {\n console.log('route change');\n this.getThematique();\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Pages/Thematique.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/User/FlagCollection.vue?vue&type=script&lang=js&": /*!**************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/User/FlagCollection.vue?vue&type=script&lang=js& ***! \**************************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _MiniCard = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/MiniCard */ \"./web/themes/custom/materiotheme/vuejs/components/Content/MiniCard.vue\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"FlagCollection\",\n props: ['collection'],\n data: function data() {\n return {\n loadedItems: false\n };\n },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n flagcolls: function flagcolls(state) {\n return state.User.flagcolls;\n },\n flagcollsLoadedItems: function flagcollsLoadedItems(state) {\n return state.User.flagcollsLoadedItems;\n },\n openedCollid: function openedCollid(state) {\n return state.User.openedCollid;\n }\n })),\n // watch: {\n // flagcolls (newv, oldv) {\n // console.log('watching flagcolls');\n // if( typeof this.flagcolls[this.collection.id].loadedItems !== 'undefined' ) {\n // this.loadedItems = this.flagcolls[this.collection.id].loadedItems\n // }\n // }\n // },\n created: function created() {\n var _this = this;\n\n if (typeof this.flagcollsLoadedItems[this.openedCollid] !== 'undefined') {\n // if loadedItems are alredy loaded,\n // the mutation occurs before this subscription\n // so we first check if they are already available\n this.loadedItems = this.flagcollsLoadedItems[this.openedCollid];\n }\n\n this.unsubscribe = this.$store.subscribe(function (mutation, state) {\n if (mutation.type === 'User/setLoadedCollItems') {\n console.log(\"mutation setLoadedCollItems collid\", _this.openedCollid); // mutation is triggered before the component update\n // so this.collection.id is not good\n\n _this.loadedItems = state.User.flagcollsLoadedItems[_this.openedCollid];\n }\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unsubscribe();\n },\n // beforeMount () {\n // if (typeof this.flagcolls[collection.id].loadedItems === 'undefined') {\n // this.\n // }\n // },\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)({\n closeFlagColl: 'User/closeFlagColl'\n })), {}, {\n onCloseFlagColl: function onCloseFlagColl(e) {\n this.closeFlagColl();\n }\n }),\n components: {\n MiniCard: _MiniCard.default\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/User/FlagCollection.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/User/UserFlags.vue?vue&type=script&lang=js&": /*!*********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/User/UserFlags.vue?vue&type=script&lang=js& ***! \*********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"userFlags\",\n data: function data() {\n return {\n new_folder_name: \"\",\n is_creating_folder: false,\n is_deleting_folder: false\n };\n },\n computed: _objectSpread(_objectSpread({}, (0, _vuex.mapState)({\n flagcolls: function flagcolls(state) {\n return state.User.flagcolls;\n }\n })), {}, {\n collsLength: function collsLength() {\n return Object.keys(this.flagcolls).length;\n },\n addFlagBtnClassObj: function addFlagBtnClassObj() {\n return {\n 'mdi-plus-circle-outline': !this.is_creating_folder,\n 'mdi-loading': this.is_creating_folder,\n active: this.new_folder_name.length > 4 && !this.is_creating_folder,\n loading: this.is_creating_folder\n };\n },\n flagDeletingClassObj: function flagDeletingClassObj() {\n return {\n 'mdi-trash-can-outline': !this.is_deleting_folder,\n 'mdi-loading': this.is_deleting_folder,\n 'loading': this.is_deleting_folder\n };\n }\n }),\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)({\n createFlagColl: 'User/createFlagColl',\n deleteFlagColl: 'User/deleteFlagColl',\n openFlagColl: 'User/openFlagColl'\n })), {}, {\n onCreateFlagColl: function onCreateFlagColl() {\n var _this = this;\n\n console.log(\"UserFlags onCreateFlagColl\", this.new_folder_name);\n this.is_creating_folder = true;\n this.createFlagColl(this.new_folder_name).then(function (data) {\n console.log(\"onCreateFlagColl then\", data);\n _this.new_folder_name = \"\";\n _this.is_creating_folder = false;\n });\n },\n onDeleteFlagColl: function onDeleteFlagColl(e) {\n var _this2 = this;\n\n var flagcollid = e.target.getAttribute('flagcollid');\n console.log(\"UserFlags onDeleteFlagColl\", flagcollid);\n this.is_deleting_folder = flagcollid;\n this.deleteFlagColl(flagcollid).then(function () {\n // console.log(\"onDeleteFlagColl then\", data);\n _this2.is_deleting_folder = false;\n });\n },\n onOpenFlagColl: function onOpenFlagColl(e) {\n var flagcollid = e.target.getAttribute('flagcollid');\n console.log(\"UserFlags onOpenFlagColl\", flagcollid);\n this.openFlagColl(flagcollid).then(function () {// console.log(\"onDeleteFlagColl then\", data);\n });\n }\n })\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/User/UserFlags.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/User/UserTools.vue?vue&type=script&lang=js&": /*!*********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/User/UserTools.vue?vue&type=script&lang=js& ***! \*********************************************************************************************************************************************************************************************************/ /*! flagged exports */ /*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__ */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.default = void 0;\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.common.js\");\n\nvar _UserFlags = _interopRequireDefault(__webpack_require__(/*! vuejs/components/User/UserFlags */ \"./web/themes/custom/materiotheme/vuejs/components/User/UserFlags.vue\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n components: {\n UserFlags: _UserFlags.default\n },\n // data () {\n // return {\n // mail: \"Hello User!\"\n // }\n // },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n mail: function mail(state) {\n return state.User.mail;\n },\n isAdmin: function isAdmin(state) {\n return state.User.isAdmin;\n },\n flags: function flags(state) {\n return state.User.flags;\n }\n })),\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)({\n userLogout: 'User/userLogout'\n })), {}, {\n onLogout: function onLogout() {\n console.log(\"UserTools onLogout\");\n this.userLogout();\n }\n })\n};\nexports.default = _default;\n\n//# sourceURL=webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/User/UserTools.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), /***/ "./node_modules/vue-meta/dist/vue-meta.esm.js": /*!****************************************************!*\ !*** ./node_modules/vue-meta/dist/vue-meta.esm.js ***! \****************************************************/ /*! namespace exports */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_exports__, __webpack_require__.r, __webpack_require__.g, __webpack_require__.d, __webpack_require__.* */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => __WEBPACK_DEFAULT_EXPORT__\n/* harmony export */ });\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! deepmerge */ \"./node_modules/deepmerge/dist/cjs.js\");\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(deepmerge__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * vue-meta v2.4.0\n * (c) 2020\n * - Declan de Wet\n * - Sébastien Chopin (@Atinux)\n * - Pim (@pimlie)\n * - All the amazing contributors\n * @license MIT\n */\n\nvar version = \"2.4.0\";\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 _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 _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 _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\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 _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function () {};\n\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = o[Symbol.iterator]();\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n/**\n * checks if passed argument is an array\n * @param {any} arg - the object to check\n * @return {Boolean} - true if `arg` is an array\n */\n\n\nfunction isArray(arg) {\n return Array.isArray(arg);\n}\n\nfunction isUndefined(arg) {\n return typeof arg === 'undefined';\n}\n\nfunction isObject(arg) {\n return _typeof(arg) === 'object';\n}\n\nfunction isPureObject(arg) {\n return _typeof(arg) === 'object' && arg !== null;\n}\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\n\nfunction hasGlobalWindowFn() {\n try {\n return !isUndefined(window);\n } catch (e) {\n return false;\n }\n}\n\nvar hasGlobalWindow = hasGlobalWindowFn();\n\nvar _global = hasGlobalWindow ? window : __webpack_require__.g;\n\nvar console = _global.console || {};\n\nfunction warn(str) {\n /* istanbul ignore next */\n if (!console || !console.warn) {\n return;\n }\n\n console.warn(str);\n}\n\nvar showWarningNotSupported = function showWarningNotSupported() {\n return warn('This vue app/component has no vue-meta configuration');\n};\n/**\n * These are constant variables used throughout the application.\n */\n// set some sane defaults\n\n\nvar defaultInfo = {\n title: undefined,\n titleChunk: '',\n titleTemplate: '%s',\n htmlAttrs: {},\n bodyAttrs: {},\n headAttrs: {},\n base: [],\n link: [],\n meta: [],\n style: [],\n script: [],\n noscript: [],\n __dangerouslyDisableSanitizers: [],\n __dangerouslyDisableSanitizersByTagID: {}\n};\nvar rootConfigKey = '_vueMeta'; // This is the name of the component option that contains all the information that\n// gets converted to the various meta tags & attributes for the page.\n\nvar keyName = 'metaInfo'; // This is the attribute vue-meta arguments on elements to know which it should\n// manage and which it should ignore.\n\nvar attribute = 'data-vue-meta'; // This is the attribute that goes on the `html` tag to inform `vue-meta`\n// that the server has already generated the meta tags for the initial render.\n\nvar ssrAttribute = 'data-vue-meta-server-rendered'; // This is the property that tells vue-meta to overwrite (instead of append)\n// an item in a tag list. For example, if you have two `meta` tag list items\n// that both have `vmid` of \"description\", then vue-meta will overwrite the\n// shallowest one with the deepest one.\n\nvar tagIDKeyName = 'vmid'; // This is the key name for possible meta templates\n\nvar metaTemplateKeyName = 'template'; // This is the key name for the content-holding property\n\nvar contentKeyName = 'content'; // The id used for the ssr app\n\nvar ssrAppId = 'ssr'; // How long meta update\n\nvar debounceWait = 10; // How long meta update\n\nvar waitOnDestroyed = true;\nvar defaultOptions = {\n keyName: keyName,\n attribute: attribute,\n ssrAttribute: ssrAttribute,\n tagIDKeyName: tagIDKeyName,\n contentKeyName: contentKeyName,\n metaTemplateKeyName: metaTemplateKeyName,\n waitOnDestroyed: waitOnDestroyed,\n debounceWait: debounceWait,\n ssrAppId: ssrAppId\n}; // might be a bit ugly, but minimizes the browser bundles a bit\n\nvar defaultInfoKeys = Object.keys(defaultInfo); // The metaInfo property keys which are used to disable escaping\n\nvar disableOptionKeys = [defaultInfoKeys[12], defaultInfoKeys[13]]; // List of metaInfo property keys which are configuration options (and dont generate html)\n\nvar metaInfoOptionKeys = [defaultInfoKeys[1], defaultInfoKeys[2], 'changed'].concat(disableOptionKeys); // List of metaInfo property keys which only generates attributes and no tags\n\nvar metaInfoAttributeKeys = [defaultInfoKeys[3], defaultInfoKeys[4], defaultInfoKeys[5]]; // HTML elements which support the onload event\n\nvar tagsSupportingOnload = ['link', 'style', 'script']; // HTML elements which dont have a head tag (shortened to our needs)\n// see: https://www.w3.org/TR/html52/document-metadata.html\n\nvar tagsWithoutEndTag = ['base', 'meta', 'link']; // HTML elements which can have inner content (shortened to our needs)\n\nvar tagsWithInnerContent = ['noscript', 'script', 'style']; // Attributes which are inserted as childNodes instead of HTMLAttribute\n\nvar tagAttributeAsInnerContent = ['innerHTML', 'cssText', 'json'];\nvar tagProperties = ['once', 'skip', 'template']; // Attributes which should be added with data- prefix\n\nvar commonDataAttributes = ['body', 'pbody']; // from: https://github.com/kangax/html-minifier/blob/gh-pages/src/htmlminifier.js#L202\n\nvar booleanHtmlAttributes = ['allowfullscreen', 'amp', 'amp-boilerplate', 'async', 'autofocus', 'autoplay', 'checked', 'compact', 'controls', 'declare', 'default', 'defaultchecked', 'defaultmuted', 'defaultselected', 'defer', 'disabled', 'enabled', 'formnovalidate', 'hidden', 'indeterminate', 'inert', 'ismap', 'itemscope', 'loop', 'multiple', 'muted', 'nohref', 'noresize', 'noshade', 'novalidate', 'nowrap', 'open', 'pauseonexit', 'readonly', 'required', 'reversed', 'scoped', 'seamless', 'selected', 'sortable', 'truespeed', 'typemustmatch', 'visible'];\nvar batchId = null;\n\nfunction triggerUpdate(_ref, rootVm, hookName) {\n var debounceWait = _ref.debounceWait; // if an update was triggered during initialization or when an update was triggered by the\n // metaInfo watcher, set initialized to null\n // then we keep falsy value but know we need to run a triggerUpdate after initialization\n\n if (!rootVm[rootConfigKey].initialized && (rootVm[rootConfigKey].initializing || hookName === 'watcher')) {\n rootVm[rootConfigKey].initialized = null;\n }\n\n if (rootVm[rootConfigKey].initialized && !rootVm[rootConfigKey].pausing) {\n // batch potential DOM updates to prevent extraneous re-rendering\n // eslint-disable-next-line no-void\n batchUpdate(function () {\n return void rootVm.$meta().refresh();\n }, debounceWait);\n }\n}\n/**\n * Performs a batched update.\n *\n * @param {(null|Number)} id - the ID of this update\n * @param {Function} callback - the update to perform\n * @return {Number} id - a new ID\n */\n\n\nfunction batchUpdate(callback, timeout) {\n timeout = timeout === undefined ? 10 : timeout;\n\n if (!timeout) {\n callback();\n return;\n }\n\n clearTimeout(batchId);\n batchId = setTimeout(function () {\n callback();\n }, timeout);\n return batchId;\n}\n/*\n * To reduce build size, this file provides simple polyfills without\n * overly excessive type checking and without modifying\n * the global Array.prototype\n * The polyfills are automatically removed in the commonjs build\n * Also, only files in client/ & shared/ should use these functions\n * files in server/ still use normal js function\n */\n\n\nfunction find(array, predicate, thisArg) {\n if (!Array.prototype.find) {\n // idx needs to be a Number, for..in returns string\n for (var idx = 0; idx < array.length; idx++) {\n if (predicate.call(thisArg, array[idx], idx, array)) {\n return array[idx];\n }\n }\n\n return;\n }\n\n return array.find(predicate, thisArg);\n}\n\nfunction findIndex(array, predicate, thisArg) {\n if (!Array.prototype.findIndex) {\n // idx needs to be a Number, for..in returns string\n for (var idx = 0; idx < array.length; idx++) {\n if (predicate.call(thisArg, array[idx], idx, array)) {\n return idx;\n }\n }\n\n return -1;\n }\n\n return array.findIndex(predicate, thisArg);\n}\n\nfunction toArray(arg) {\n if (!Array.from) {\n return Array.prototype.slice.call(arg);\n }\n\n return Array.from(arg);\n}\n\nfunction includes(array, value) {\n if (!Array.prototype.includes) {\n for (var idx in array) {\n if (array[idx] === value) {\n return true;\n }\n }\n\n return false;\n }\n\n return array.includes(value);\n}\n\nvar querySelector = function querySelector(arg, el) {\n return (el || document).querySelectorAll(arg);\n};\n\nfunction getTag(tags, tag) {\n if (!tags[tag]) {\n tags[tag] = document.getElementsByTagName(tag)[0];\n }\n\n return tags[tag];\n}\n\nfunction getElementsKey(_ref) {\n var body = _ref.body,\n pbody = _ref.pbody;\n return body ? 'body' : pbody ? 'pbody' : 'head';\n}\n\nfunction queryElements(parentNode, _ref2, attributes) {\n var appId = _ref2.appId,\n attribute = _ref2.attribute,\n type = _ref2.type,\n tagIDKeyName = _ref2.tagIDKeyName;\n attributes = attributes || {};\n var queries = [\"\".concat(type, \"[\").concat(attribute, \"=\\\"\").concat(appId, \"\\\"]\"), \"\".concat(type, \"[data-\").concat(tagIDKeyName, \"]\")].map(function (query) {\n for (var key in attributes) {\n var val = attributes[key];\n var attributeValue = val && val !== true ? \"=\\\"\".concat(val, \"\\\"\") : '';\n query += \"[data-\".concat(key).concat(attributeValue, \"]\");\n }\n\n return query;\n });\n return toArray(querySelector(queries.join(', '), parentNode));\n}\n\nfunction removeElementsByAppId(_ref3, appId) {\n var attribute = _ref3.attribute;\n toArray(querySelector(\"[\".concat(attribute, \"=\\\"\").concat(appId, \"\\\"]\"))).map(function (el) {\n return el.remove();\n });\n}\n\nfunction removeAttribute(el, attributeName) {\n el.removeAttribute(attributeName);\n}\n\nfunction hasMetaInfo(vm) {\n vm = vm || this;\n return vm && (vm[rootConfigKey] === true || isObject(vm[rootConfigKey]));\n} // a component is in a metaInfo branch when itself has meta info or one of its (grand-)children has\n\n\nfunction inMetaInfoBranch(vm) {\n vm = vm || this;\n return vm && !isUndefined(vm[rootConfigKey]);\n}\n\nfunction pause(rootVm, refresh) {\n rootVm[rootConfigKey].pausing = true;\n return function () {\n return resume(rootVm, refresh);\n };\n}\n\nfunction resume(rootVm, refresh) {\n rootVm[rootConfigKey].pausing = false;\n\n if (refresh || refresh === undefined) {\n return rootVm.$meta().refresh();\n }\n}\n\nfunction addNavGuards(rootVm) {\n var router = rootVm.$router; // return when nav guards already added or no router exists\n\n if (rootVm[rootConfigKey].navGuards || !router) {\n /* istanbul ignore next */\n return;\n }\n\n rootVm[rootConfigKey].navGuards = true;\n router.beforeEach(function (to, from, next) {\n pause(rootVm);\n next();\n });\n router.afterEach(function () {\n rootVm.$nextTick(function () {\n var _resume = resume(rootVm),\n metaInfo = _resume.metaInfo;\n\n if (metaInfo && isFunction(metaInfo.afterNavigation)) {\n metaInfo.afterNavigation(metaInfo);\n }\n });\n });\n}\n\nvar appId = 1;\n\nfunction createMixin(Vue, options) {\n // for which Vue lifecycle hooks should the metaInfo be refreshed\n var updateOnLifecycleHook = ['activated', 'deactivated', 'beforeMount'];\n var wasServerRendered = false; // watch for client side component updates\n\n return {\n beforeCreate: function beforeCreate() {\n var _this2 = this;\n\n var rootKey = '$root';\n var $root = this[rootKey];\n var $options = this.$options;\n var devtoolsEnabled = Vue.config.devtools;\n Object.defineProperty(this, '_hasMetaInfo', {\n configurable: true,\n get: function get() {\n // Show deprecation warning once when devtools enabled\n if (devtoolsEnabled && !$root[rootConfigKey].deprecationWarningShown) {\n warn('VueMeta DeprecationWarning: _hasMetaInfo has been deprecated and will be removed in a future version. Please use hasMetaInfo(vm) instead');\n $root[rootConfigKey].deprecationWarningShown = true;\n }\n\n return hasMetaInfo(this);\n }\n });\n\n if (this === $root) {\n $root.$once('hook:beforeMount', function () {\n wasServerRendered = this.$el && this.$el.nodeType === 1 && this.$el.hasAttribute('data-server-rendered'); // In most cases when you have a SSR app it will be the first app thats gonna be\n // initiated, if we cant detect the data-server-rendered attribute from Vue but we\n // do see our own ssrAttribute then _assume_ the Vue app with appId 1 is the ssr app\n // attempted fix for #404 & #562, but we rly need to refactor how we pass appIds from\n // ssr to the client\n\n if (!wasServerRendered && $root[rootConfigKey] && $root[rootConfigKey].appId === 1) {\n var htmlTag = getTag({}, 'html');\n wasServerRendered = htmlTag && htmlTag.hasAttribute(options.ssrAttribute);\n }\n });\n } // Add a marker to know if it uses metaInfo\n // _vnode is used to know that it's attached to a real component\n // useful if we use some mixin to add some meta tags (like nuxt-i18n)\n\n\n if (isUndefined($options[options.keyName]) || $options[options.keyName] === null) {\n return;\n }\n\n if (!$root[rootConfigKey]) {\n $root[rootConfigKey] = {\n appId: appId\n };\n appId++;\n\n if (devtoolsEnabled && $root.$options[options.keyName]) {\n // use nextTick so the children should be added to $root\n this.$nextTick(function () {\n // find the first child that lists fnOptions\n var child = find($root.$children, function (c) {\n return c.$vnode && c.$vnode.fnOptions;\n });\n\n if (child && child.$vnode.fnOptions[options.keyName]) {\n warn(\"VueMeta has detected a possible global mixin which adds a \".concat(options.keyName, \" property to all Vue components on the page. This could cause severe performance issues. If possible, use $meta().addApp to add meta information instead\"));\n }\n });\n }\n } // to speed up updates we keep track of branches which have a component with vue-meta info defined\n // if _vueMeta = true it has info, if _vueMeta = false a child has info\n\n\n if (!this[rootConfigKey]) {\n this[rootConfigKey] = true;\n var parent = this.$parent;\n\n while (parent && parent !== $root) {\n if (isUndefined(parent[rootConfigKey])) {\n parent[rootConfigKey] = false;\n }\n\n parent = parent.$parent;\n }\n } // coerce function-style metaInfo to a computed prop so we can observe\n // it on creation\n\n\n if (isFunction($options[options.keyName])) {\n $options.computed = $options.computed || {};\n $options.computed.$metaInfo = $options[options.keyName];\n\n if (!this.$isServer) {\n // if computed $metaInfo exists, watch it for updates & trigger a refresh\n // when it changes (i.e. automatically handle async actions that affect metaInfo)\n // credit for this suggestion goes to [Sébastien Chopin](https://github.com/Atinux)\n this.$on('hook:created', function () {\n this.$watch('$metaInfo', function () {\n triggerUpdate(options, this[rootKey], 'watcher');\n });\n });\n }\n } // force an initial refresh on page load and prevent other lifecycleHooks\n // to triggerUpdate until this initial refresh is finished\n // this is to make sure that when a page is opened in an inactive tab which\n // has throttled rAF/timers we still immediately set the page title\n\n\n if (isUndefined($root[rootConfigKey].initialized)) {\n $root[rootConfigKey].initialized = this.$isServer;\n\n if (!$root[rootConfigKey].initialized) {\n if (!$root[rootConfigKey].initializedSsr) {\n $root[rootConfigKey].initializedSsr = true;\n this.$on('hook:beforeMount', function () {\n var $root = this[rootKey]; // if this Vue-app was server rendered, set the appId to 'ssr'\n // only one SSR app per page is supported\n\n if (wasServerRendered) {\n $root[rootConfigKey].appId = options.ssrAppId;\n }\n });\n } // we use the mounted hook here as on page load\n\n\n this.$on('hook:mounted', function () {\n var $root = this[rootKey];\n\n if ($root[rootConfigKey].initialized) {\n return;\n } // used in triggerUpdate to check if a change was triggered\n // during initialization\n\n\n $root[rootConfigKey].initializing = true; // refresh meta in nextTick so all child components have loaded\n\n this.$nextTick(function () {\n var _$root$$meta$refresh = $root.$meta().refresh(),\n tags = _$root$$meta$refresh.tags,\n metaInfo = _$root$$meta$refresh.metaInfo; // After ssr hydration (identifier by tags === false) check\n // if initialized was set to null in triggerUpdate. That'd mean\n // that during initilazation changes where triggered which need\n // to be applied OR a metaInfo watcher was triggered before the\n // current hook was called\n // (during initialization all changes are blocked)\n\n\n if (tags === false && $root[rootConfigKey].initialized === null) {\n this.$nextTick(function () {\n return triggerUpdate(options, $root, 'init');\n });\n }\n\n $root[rootConfigKey].initialized = true;\n delete $root[rootConfigKey].initializing; // add the navigation guards if they havent been added yet\n // they are needed for the afterNavigation callback\n\n if (!options.refreshOnceOnNavigation && metaInfo.afterNavigation) {\n addNavGuards($root);\n }\n });\n }); // add the navigation guards if requested\n\n if (options.refreshOnceOnNavigation) {\n addNavGuards($root);\n }\n }\n }\n\n this.$on('hook:destroyed', function () {\n var _this = this; // do not trigger refresh:\n // - when user configured to not wait for transitions on destroyed\n // - when the component doesnt have a parent\n // - doesnt have metaInfo defined\n\n\n if (!this.$parent || !hasMetaInfo(this)) {\n return;\n }\n\n delete this._hasMetaInfo;\n this.$nextTick(function () {\n if (!options.waitOnDestroyed || !_this.$el || !_this.$el.offsetParent) {\n triggerUpdate(options, _this.$root, 'destroyed');\n return;\n } // Wait that element is hidden before refreshing meta tags (to support animations)\n\n\n var interval = setInterval(function () {\n if (_this.$el && _this.$el.offsetParent !== null) {\n /* istanbul ignore next line */\n return;\n }\n\n clearInterval(interval);\n triggerUpdate(options, _this.$root, 'destroyed');\n }, 50);\n });\n }); // do not trigger refresh on the server side\n\n if (this.$isServer) {\n /* istanbul ignore next */\n return;\n } // no need to add this hooks on server side\n\n\n updateOnLifecycleHook.forEach(function (lifecycleHook) {\n _this2.$on(\"hook:\".concat(lifecycleHook), function () {\n triggerUpdate(options, this[rootKey], lifecycleHook);\n });\n });\n }\n };\n}\n\nfunction setOptions(options) {\n // combine options\n options = isObject(options) ? options : {}; // The options are set like this so they can\n // be minified by terser while keeping the\n // user api intact\n // terser --mangle-properties keep_quoted=strict\n\n /* eslint-disable dot-notation */\n\n return {\n keyName: options['keyName'] || defaultOptions.keyName,\n attribute: options['attribute'] || defaultOptions.attribute,\n ssrAttribute: options['ssrAttribute'] || defaultOptions.ssrAttribute,\n tagIDKeyName: options['tagIDKeyName'] || defaultOptions.tagIDKeyName,\n contentKeyName: options['contentKeyName'] || defaultOptions.contentKeyName,\n metaTemplateKeyName: options['metaTemplateKeyName'] || defaultOptions.metaTemplateKeyName,\n debounceWait: isUndefined(options['debounceWait']) ? defaultOptions.debounceWait : options['debounceWait'],\n waitOnDestroyed: isUndefined(options['waitOnDestroyed']) ? defaultOptions.waitOnDestroyed : options['waitOnDestroyed'],\n ssrAppId: options['ssrAppId'] || defaultOptions.ssrAppId,\n refreshOnceOnNavigation: !!options['refreshOnceOnNavigation']\n };\n /* eslint-enable dot-notation */\n}\n\nfunction getOptions(options) {\n var optionsCopy = {};\n\n for (var key in options) {\n optionsCopy[key] = options[key];\n }\n\n return optionsCopy;\n}\n\nfunction ensureIsArray(arg, key) {\n if (!key || !isObject(arg)) {\n return isArray(arg) ? arg : [];\n }\n\n if (!isArray(arg[key])) {\n arg[key] = [];\n }\n\n return arg;\n}\n\nvar serverSequences = [[/&/g, '&'], [//g, '>'], [/\"/g, '"'], [/'/g, ''']];\nvar clientSequences = [[/&/g, \"&\"], [//g, \">\"], [/\"/g, \"\\\"\"], [/'/g, \"'\"]]; // sanitizes potentially dangerous characters\n\nfunction escape(info, options, escapeOptions, escapeKeys) {\n var tagIDKeyName = options.tagIDKeyName;\n var _escapeOptions$doEsca = escapeOptions.doEscape,\n doEscape = _escapeOptions$doEsca === void 0 ? function (v) {\n return v;\n } : _escapeOptions$doEsca;\n var escaped = {};\n\n for (var key in info) {\n var value = info[key]; // no need to escape configuration options\n\n if (includes(metaInfoOptionKeys, key)) {\n escaped[key] = value;\n continue;\n } // do not use destructuring for disableOptionKeys, it increases transpiled size\n // due to var checks while we are guaranteed the structure of the cb\n\n\n var disableKey = disableOptionKeys[0];\n\n if (escapeOptions[disableKey] && includes(escapeOptions[disableKey], key)) {\n // this info[key] doesnt need to escaped if the option is listed in __dangerouslyDisableSanitizers\n escaped[key] = value;\n continue;\n }\n\n var tagId = info[tagIDKeyName];\n\n if (tagId) {\n disableKey = disableOptionKeys[1]; // keys which are listed in __dangerouslyDisableSanitizersByTagID for the current vmid do not need to be escaped\n\n if (escapeOptions[disableKey] && escapeOptions[disableKey][tagId] && includes(escapeOptions[disableKey][tagId], key)) {\n escaped[key] = value;\n continue;\n }\n }\n\n if (isString(value)) {\n escaped[key] = doEscape(value);\n } else if (isArray(value)) {\n escaped[key] = value.map(function (v) {\n if (isPureObject(v)) {\n return escape(v, options, escapeOptions, true);\n }\n\n return doEscape(v);\n });\n } else if (isPureObject(value)) {\n escaped[key] = escape(value, options, escapeOptions, true);\n } else {\n escaped[key] = value;\n }\n\n if (escapeKeys) {\n var escapedKey = doEscape(key);\n\n if (key !== escapedKey) {\n escaped[escapedKey] = escaped[key];\n delete escaped[key];\n }\n }\n }\n\n return escaped;\n}\n\nfunction escapeMetaInfo(options, info, escapeSequences) {\n escapeSequences = escapeSequences || []; // do not use destructuring for seq, it increases transpiled size\n // due to var checks while we are guaranteed the structure of the cb\n\n var escapeOptions = {\n doEscape: function doEscape(value) {\n return escapeSequences.reduce(function (val, seq) {\n return val.replace(seq[0], seq[1]);\n }, value);\n }\n };\n disableOptionKeys.forEach(function (disableKey, index) {\n if (index === 0) {\n ensureIsArray(info, disableKey);\n } else if (index === 1) {\n for (var key in info[disableKey]) {\n ensureIsArray(info[disableKey], key);\n }\n }\n\n escapeOptions[disableKey] = info[disableKey];\n }); // begin sanitization\n\n return escape(info, options, escapeOptions);\n}\n\nfunction applyTemplate(_ref, headObject, template, chunk) {\n var component = _ref.component,\n metaTemplateKeyName = _ref.metaTemplateKeyName,\n contentKeyName = _ref.contentKeyName;\n\n if (template === true || headObject[metaTemplateKeyName] === true) {\n // abort, template was already applied\n return false;\n }\n\n if (isUndefined(template) && headObject[metaTemplateKeyName]) {\n template = headObject[metaTemplateKeyName];\n headObject[metaTemplateKeyName] = true;\n } // return early if no template defined\n\n\n if (!template) {\n // cleanup faulty template properties\n delete headObject[metaTemplateKeyName];\n return false;\n }\n\n if (isUndefined(chunk)) {\n chunk = headObject[contentKeyName];\n }\n\n headObject[contentKeyName] = isFunction(template) ? template.call(component, chunk) : template.replace(/%s/g, chunk);\n return true;\n}\n\nfunction _arrayMerge(_ref, target, source) {\n var component = _ref.component,\n tagIDKeyName = _ref.tagIDKeyName,\n metaTemplateKeyName = _ref.metaTemplateKeyName,\n contentKeyName = _ref.contentKeyName; // we concat the arrays without merging objects contained in,\n // but we check for a `vmid` property on each object in the array\n // using an O(1) lookup associative array exploit\n\n var destination = [];\n\n if (!target.length && !source.length) {\n return destination;\n }\n\n target.forEach(function (targetItem, targetIndex) {\n // no tagID so no need to check for duplicity\n if (!targetItem[tagIDKeyName]) {\n destination.push(targetItem);\n return;\n }\n\n var sourceIndex = findIndex(source, function (item) {\n return item[tagIDKeyName] === targetItem[tagIDKeyName];\n });\n var sourceItem = source[sourceIndex]; // source doesnt contain any duplicate vmid's, we can keep targetItem\n\n if (sourceIndex === -1) {\n destination.push(targetItem);\n return;\n } // when sourceItem explictly defines contentKeyName or innerHTML as undefined, its\n // an indication that we need to skip the default behaviour or child has preference over parent\n // which means we keep the targetItem and ignore/remove the sourceItem\n\n\n if (contentKeyName in sourceItem && sourceItem[contentKeyName] === undefined || 'innerHTML' in sourceItem && sourceItem.innerHTML === undefined) {\n destination.push(targetItem); // remove current index from source array so its not concatenated to destination below\n\n source.splice(sourceIndex, 1);\n return;\n } // we now know that targetItem is a duplicate and we should ignore it in favor of sourceItem\n // if source specifies null as content then ignore both the target as the source\n\n\n if (sourceItem[contentKeyName] === null || sourceItem.innerHTML === null) {\n // remove current index from source array so its not concatenated to destination below\n source.splice(sourceIndex, 1);\n return;\n } // now we only need to check if the target has a template to combine it with the source\n\n\n var targetTemplate = targetItem[metaTemplateKeyName];\n\n if (!targetTemplate) {\n return;\n }\n\n var sourceTemplate = sourceItem[metaTemplateKeyName];\n\n if (!sourceTemplate) {\n // use parent template and child content\n applyTemplate({\n component: component,\n metaTemplateKeyName: metaTemplateKeyName,\n contentKeyName: contentKeyName\n }, sourceItem, targetTemplate); // set template to true to indicate template was already applied\n\n sourceItem.template = true;\n return;\n }\n\n if (!sourceItem[contentKeyName]) {\n // use parent content and child template\n applyTemplate({\n component: component,\n metaTemplateKeyName: metaTemplateKeyName,\n contentKeyName: contentKeyName\n }, sourceItem, undefined, targetItem[contentKeyName]);\n }\n });\n return destination.concat(source);\n}\n\nvar warningShown = false;\n\nfunction merge(target, source, options) {\n options = options || {}; // remove properties explicitly set to false so child components can\n // optionally _not_ overwrite the parents content\n // (for array properties this is checked in arrayMerge)\n\n if (source.title === undefined) {\n delete source.title;\n }\n\n metaInfoAttributeKeys.forEach(function (attrKey) {\n if (!source[attrKey]) {\n return;\n }\n\n for (var key in source[attrKey]) {\n if (key in source[attrKey] && source[attrKey][key] === undefined) {\n if (includes(booleanHtmlAttributes, key) && !warningShown) {\n warn('VueMeta: Please note that since v2 the value undefined is not used to indicate boolean attributes anymore, see migration guide for details');\n warningShown = true;\n }\n\n delete source[attrKey][key];\n }\n }\n });\n return deepmerge__WEBPACK_IMPORTED_MODULE_0___default()(target, source, {\n arrayMerge: function arrayMerge(t, s) {\n return _arrayMerge(options, t, s);\n }\n });\n}\n\nfunction getComponentMetaInfo(options, component) {\n return getComponentOption(options || {}, component, defaultInfo);\n}\n/**\n * Returns the `opts.option` $option value of the given `opts.component`.\n * If methods are encountered, they will be bound to the component context.\n * If `opts.deep` is true, will recursively merge all child component\n * `opts.option` $option values into the returned result.\n *\n * @param {Object} opts - options\n * @param {Object} opts.component - Vue component to fetch option data from\n * @param {Boolean} opts.deep - look for data in child components as well?\n * @param {Function} opts.arrayMerge - how should arrays be merged?\n * @param {String} opts.keyName - the name of the option to look for\n * @param {Object} [result={}] - result so far\n * @return {Object} result - final aggregated result\n */\n\n\nfunction getComponentOption(options, component, result) {\n result = result || {};\n\n if (component._inactive) {\n return result;\n }\n\n options = options || {};\n var _options = options,\n keyName = _options.keyName;\n var $metaInfo = component.$metaInfo,\n $options = component.$options,\n $children = component.$children; // only collect option data if it exists\n\n if ($options[keyName]) {\n // if $metaInfo exists then [keyName] was defined as a function\n // and set to the computed prop $metaInfo in the mixin\n // using the computed prop should be a small performance increase\n // because Vue caches those internally\n var data = $metaInfo || $options[keyName]; // only merge data with result when its an object\n // eg it could be a function when metaInfo() returns undefined\n // dueo to the or statement above\n\n if (isObject(data)) {\n result = merge(result, data, options);\n }\n } // collect & aggregate child options if deep = true\n\n\n if ($children.length) {\n $children.forEach(function (childComponent) {\n // check if the childComponent is in a branch\n // return otherwise so we dont walk all component branches unnecessarily\n if (!inMetaInfoBranch(childComponent)) {\n return;\n }\n\n result = getComponentOption(options, childComponent, result);\n });\n }\n\n return result;\n}\n\nvar callbacks = [];\n\nfunction isDOMComplete(d) {\n return (d || document).readyState === 'complete';\n}\n\nfunction addCallback(query, callback) {\n if (arguments.length === 1) {\n callback = query;\n query = '';\n }\n\n callbacks.push([query, callback]);\n}\n\nfunction addCallbacks(_ref, type, tags, autoAddListeners) {\n var tagIDKeyName = _ref.tagIDKeyName;\n var hasAsyncCallback = false;\n tags.forEach(function (tag) {\n if (!tag[tagIDKeyName] || !tag.callback) {\n return;\n }\n\n hasAsyncCallback = true;\n addCallback(\"\".concat(type, \"[data-\").concat(tagIDKeyName, \"=\\\"\").concat(tag[tagIDKeyName], \"\\\"]\"), tag.callback);\n });\n\n if (!autoAddListeners || !hasAsyncCallback) {\n return hasAsyncCallback;\n }\n\n return addListeners();\n}\n\nfunction addListeners() {\n if (isDOMComplete()) {\n applyCallbacks();\n return;\n } // Instead of using a MutationObserver, we just apply\n\n /* istanbul ignore next */\n\n\n document.onreadystatechange = function () {\n applyCallbacks();\n };\n}\n\nfunction applyCallbacks(matchElement) {\n callbacks.forEach(function (args) {\n // do not use destructuring for args, it increases transpiled size\n // due to var checks while we are guaranteed the structure of the cb\n var query = args[0];\n var callback = args[1];\n var selector = \"\".concat(query, \"[onload=\\\"this.__vm_l=1\\\"]\");\n var elements = [];\n\n if (!matchElement) {\n elements = toArray(querySelector(selector));\n }\n\n if (matchElement && matchElement.matches(selector)) {\n elements = [matchElement];\n }\n\n elements.forEach(function (element) {\n /* __vm_cb: whether the load callback has been called\n * __vm_l: set by onload attribute, whether the element was loaded\n * __vm_ev: whether the event listener was added or not\n */\n if (element.__vm_cb) {\n return;\n }\n\n var onload = function onload() {\n /* Mark that the callback for this element has already been called,\n * this prevents the callback to run twice in some (rare) conditions\n */\n element.__vm_cb = true;\n /* onload needs to be removed because we only need the\n * attribute after ssr and if we dont remove it the node\n * will fail isEqualNode on the client\n */\n\n removeAttribute(element, 'onload');\n callback(element);\n };\n /* IE9 doesnt seem to load scripts synchronously,\n * causing a script sometimes/often already to be loaded\n * when we add the event listener below (thus adding an onload event\n * listener has no use because it will never be triggered).\n * Therefore we add the onload attribute during ssr, and\n * check here if it was already loaded or not\n */\n\n\n if (element.__vm_l) {\n onload();\n return;\n }\n\n if (!element.__vm_ev) {\n element.__vm_ev = true;\n element.addEventListener('load', onload);\n }\n });\n });\n} // instead of adding it to the html\n\n\nvar attributeMap = {};\n/**\n * Updates the document's html tag attributes\n *\n * @param {Object} attrs - the new document html attributes\n * @param {HTMLElement} tag - the HTMLElement tag to update with new attrs\n */\n\nfunction updateAttribute(appId, options, type, attrs, tag) {\n var _ref = options || {},\n attribute = _ref.attribute;\n\n var vueMetaAttrString = tag.getAttribute(attribute);\n\n if (vueMetaAttrString) {\n attributeMap[type] = JSON.parse(decodeURI(vueMetaAttrString));\n removeAttribute(tag, attribute);\n }\n\n var data = attributeMap[type] || {};\n var toUpdate = []; // remove attributes from the map\n // which have been removed for this appId\n\n for (var attr in data) {\n if (data[attr] !== undefined && appId in data[attr]) {\n toUpdate.push(attr);\n\n if (!attrs[attr]) {\n delete data[attr][appId];\n }\n }\n }\n\n for (var _attr in attrs) {\n var attrData = data[_attr];\n\n if (!attrData || attrData[appId] !== attrs[_attr]) {\n toUpdate.push(_attr);\n\n if (attrs[_attr] !== undefined) {\n data[_attr] = data[_attr] || {};\n data[_attr][appId] = attrs[_attr];\n }\n }\n }\n\n for (var _i = 0, _toUpdate = toUpdate; _i < _toUpdate.length; _i++) {\n var _attr2 = _toUpdate[_i];\n var _attrData = data[_attr2];\n var attrValues = [];\n\n for (var _appId in _attrData) {\n Array.prototype.push.apply(attrValues, [].concat(_attrData[_appId]));\n }\n\n if (attrValues.length) {\n var attrValue = includes(booleanHtmlAttributes, _attr2) && attrValues.some(Boolean) ? '' : attrValues.filter(function (v) {\n return v !== undefined;\n }).join(' ');\n tag.setAttribute(_attr2, attrValue);\n } else {\n removeAttribute(tag, _attr2);\n }\n }\n\n attributeMap[type] = data;\n}\n/**\n * Updates the document title\n *\n * @param {String} title - the new title of the document\n */\n\n\nfunction updateTitle(title) {\n if (!title && title !== '') {\n return;\n }\n\n document.title = title;\n}\n/**\n * Updates meta tags inside and on the client. Borrowed from `react-helmet`:\n * https://github.com/nfl/react-helmet/blob/004d448f8de5f823d10f838b02317521180f34da/src/Helmet.js#L195-L245\n *\n * @param {('meta'|'base'|'link'|'style'|'script'|'noscript')} type - the name of the tag\n * @param {(Array|Object)} tags - an array of tag objects or a single object in case of base\n * @return {Object} - a representation of what tags changed\n */\n\n\nfunction updateTag(appId, options, type, tags, head, body) {\n var _ref = options || {},\n attribute = _ref.attribute,\n tagIDKeyName = _ref.tagIDKeyName;\n\n var dataAttributes = commonDataAttributes.slice();\n dataAttributes.push(tagIDKeyName);\n var newElements = [];\n var queryOptions = {\n appId: appId,\n attribute: attribute,\n type: type,\n tagIDKeyName: tagIDKeyName\n };\n var currentElements = {\n head: queryElements(head, queryOptions),\n pbody: queryElements(body, queryOptions, {\n pbody: true\n }),\n body: queryElements(body, queryOptions, {\n body: true\n })\n };\n\n if (tags.length > 1) {\n // remove duplicates that could have been found by merging tags\n // which include a mixin with metaInfo and that mixin is used\n // by multiple components on the same page\n var found = [];\n tags = tags.filter(function (x) {\n var k = JSON.stringify(x);\n var res = !includes(found, k);\n found.push(k);\n return res;\n });\n }\n\n tags.forEach(function (tag) {\n if (tag.skip) {\n return;\n }\n\n var newElement = document.createElement(type);\n\n if (!tag.once) {\n newElement.setAttribute(attribute, appId);\n }\n\n Object.keys(tag).forEach(function (attr) {\n /* istanbul ignore next */\n if (includes(tagProperties, attr)) {\n return;\n }\n\n if (attr === 'innerHTML') {\n newElement.innerHTML = tag.innerHTML;\n return;\n }\n\n if (attr === 'json') {\n newElement.innerHTML = JSON.stringify(tag.json);\n return;\n }\n\n if (attr === 'cssText') {\n if (newElement.styleSheet) {\n /* istanbul ignore next */\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n\n return;\n }\n\n if (attr === 'callback') {\n newElement.onload = function () {\n return tag[attr](newElement);\n };\n\n return;\n }\n\n var _attr = includes(dataAttributes, attr) ? \"data-\".concat(attr) : attr;\n\n var isBooleanAttribute = includes(booleanHtmlAttributes, attr);\n\n if (isBooleanAttribute && !tag[attr]) {\n return;\n }\n\n var value = isBooleanAttribute ? '' : tag[attr];\n newElement.setAttribute(_attr, value);\n });\n var oldElements = currentElements[getElementsKey(tag)]; // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n var indexToDelete;\n var hasEqualElement = oldElements.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n });\n\n if (hasEqualElement && (indexToDelete || indexToDelete === 0)) {\n oldElements.splice(indexToDelete, 1);\n } else {\n newElements.push(newElement);\n }\n });\n var oldElements = [];\n\n for (var _type in currentElements) {\n Array.prototype.push.apply(oldElements, currentElements[_type]);\n } // remove old elements\n\n\n oldElements.forEach(function (element) {\n element.parentNode.removeChild(element);\n }); // insert new elements\n\n newElements.forEach(function (element) {\n if (element.hasAttribute('data-body')) {\n body.appendChild(element);\n return;\n }\n\n if (element.hasAttribute('data-pbody')) {\n body.insertBefore(element, body.firstChild);\n return;\n }\n\n head.appendChild(element);\n });\n return {\n oldTags: oldElements,\n newTags: newElements\n };\n}\n/**\n * Performs client-side updates when new meta info is received\n *\n * @param {Object} newInfo - the meta info to update to\n */\n\n\nfunction updateClientMetaInfo(appId, options, newInfo) {\n options = options || {};\n var _options = options,\n ssrAttribute = _options.ssrAttribute,\n ssrAppId = _options.ssrAppId; // only cache tags for current update\n\n var tags = {};\n var htmlTag = getTag(tags, 'html'); // if this is a server render, then dont update\n\n if (appId === ssrAppId && htmlTag.hasAttribute(ssrAttribute)) {\n // remove the server render attribute so we can update on (next) changes\n removeAttribute(htmlTag, ssrAttribute); // add load callbacks if the\n\n var addLoadListeners = false;\n tagsSupportingOnload.forEach(function (type) {\n if (newInfo[type] && addCallbacks(options, type, newInfo[type])) {\n addLoadListeners = true;\n }\n });\n\n if (addLoadListeners) {\n addListeners();\n }\n\n return false;\n } // initialize tracked changes\n\n\n var tagsAdded = {};\n var tagsRemoved = {};\n\n for (var type in newInfo) {\n // ignore these\n if (includes(metaInfoOptionKeys, type)) {\n continue;\n }\n\n if (type === 'title') {\n // update the title\n updateTitle(newInfo.title);\n continue;\n }\n\n if (includes(metaInfoAttributeKeys, type)) {\n var tagName = type.substr(0, 4);\n updateAttribute(appId, options, type, newInfo[type], getTag(tags, tagName));\n continue;\n } // tags should always be an array, ignore if it isnt\n\n\n if (!isArray(newInfo[type])) {\n continue;\n }\n\n var _updateTag = updateTag(appId, options, type, newInfo[type], getTag(tags, 'head'), getTag(tags, 'body')),\n oldTags = _updateTag.oldTags,\n newTags = _updateTag.newTags;\n\n if (newTags.length) {\n tagsAdded[type] = newTags;\n tagsRemoved[type] = oldTags;\n }\n }\n\n return {\n tagsAdded: tagsAdded,\n tagsRemoved: tagsRemoved\n };\n}\n\nvar appsMetaInfo;\n\nfunction addApp(rootVm, appId, options) {\n return {\n set: function set(metaInfo) {\n return setMetaInfo(rootVm, appId, options, metaInfo);\n },\n remove: function remove() {\n return removeMetaInfo(rootVm, appId, options);\n }\n };\n}\n\nfunction setMetaInfo(rootVm, appId, options, metaInfo) {\n // if a vm exists _and_ its mounted then immediately update\n if (rootVm && rootVm.$el) {\n return updateClientMetaInfo(appId, options, metaInfo);\n } // store for later, the info\n // will be set on the first refresh\n\n\n appsMetaInfo = appsMetaInfo || {};\n appsMetaInfo[appId] = metaInfo;\n}\n\nfunction removeMetaInfo(rootVm, appId, options) {\n if (rootVm && rootVm.$el) {\n var tags = {};\n\n var _iterator = _createForOfIteratorHelper(metaInfoAttributeKeys),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var type = _step.value;\n var tagName = type.substr(0, 4);\n updateAttribute(appId, options, type, {}, getTag(tags, tagName));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return removeElementsByAppId(options, appId);\n }\n\n if (appsMetaInfo[appId]) {\n delete appsMetaInfo[appId];\n clearAppsMetaInfo();\n }\n}\n\nfunction getAppsMetaInfo() {\n return appsMetaInfo;\n}\n\nfunction clearAppsMetaInfo(force) {\n if (force || !Object.keys(appsMetaInfo).length) {\n appsMetaInfo = undefined;\n }\n}\n/**\n * Returns the correct meta info for the given component\n * (child components will overwrite parent meta info)\n *\n * @param {Object} component - the Vue instance to get meta info from\n * @return {Object} - returned meta info\n */\n\n\nfunction getMetaInfo(options, info, escapeSequences, component) {\n options = options || {};\n escapeSequences = escapeSequences || [];\n var _options = options,\n tagIDKeyName = _options.tagIDKeyName; // Remove all \"template\" tags from meta\n // backup the title chunk in case user wants access to it\n\n if (info.title) {\n info.titleChunk = info.title;\n } // replace title with populated template\n\n\n if (info.titleTemplate && info.titleTemplate !== '%s') {\n applyTemplate({\n component: component,\n contentKeyName: 'title'\n }, info, info.titleTemplate, info.titleChunk || '');\n } // convert base tag to an array so it can be handled the same way\n // as the other tags\n\n\n if (info.base) {\n info.base = Object.keys(info.base).length ? [info.base] : [];\n }\n\n if (info.meta) {\n // remove meta items with duplicate vmid's\n info.meta = info.meta.filter(function (metaItem, index, arr) {\n var hasVmid = !!metaItem[tagIDKeyName];\n\n if (!hasVmid) {\n return true;\n }\n\n var isFirstItemForVmid = index === findIndex(arr, function (item) {\n return item[tagIDKeyName] === metaItem[tagIDKeyName];\n });\n return isFirstItemForVmid;\n }); // apply templates if needed\n\n info.meta.forEach(function (metaObject) {\n return applyTemplate(options, metaObject);\n });\n }\n\n return escapeMetaInfo(options, info, escapeSequences);\n}\n/**\n * When called, will update the current meta info with new meta info.\n * Useful when updating meta info as the result of an asynchronous\n * action that resolves after the initial render takes place.\n *\n * Credit to [Sébastien Chopin](https://github.com/Atinux) for the suggestion\n * to implement this method.\n *\n * @return {Object} - new meta info\n */\n\n\nfunction refresh(rootVm, options) {\n options = options || {}; // make sure vue-meta was initiated\n\n if (!rootVm[rootConfigKey]) {\n showWarningNotSupported();\n return {};\n } // collect & aggregate all metaInfo $options\n\n\n var rawInfo = getComponentMetaInfo(options, rootVm);\n var metaInfo = getMetaInfo(options, rawInfo, clientSequences, rootVm);\n var appId = rootVm[rootConfigKey].appId;\n var tags = updateClientMetaInfo(appId, options, metaInfo); // emit \"event\" with new info\n\n if (tags && isFunction(metaInfo.changed)) {\n metaInfo.changed(metaInfo, tags.tagsAdded, tags.tagsRemoved);\n tags = {\n addedTags: tags.tagsAdded,\n removedTags: tags.tagsRemoved\n };\n }\n\n var appsMetaInfo = getAppsMetaInfo();\n\n if (appsMetaInfo) {\n for (var additionalAppId in appsMetaInfo) {\n updateClientMetaInfo(additionalAppId, options, appsMetaInfo[additionalAppId]);\n delete appsMetaInfo[additionalAppId];\n }\n\n clearAppsMetaInfo(true);\n }\n\n return {\n vm: rootVm,\n metaInfo: metaInfo,\n // eslint-disable-line object-shorthand\n tags: tags\n };\n}\n/**\n * Generates tag attributes for use on the server.\n *\n * @param {('bodyAttrs'|'htmlAttrs'|'headAttrs')} type - the type of attributes to generate\n * @param {Object} data - the attributes to generate\n * @return {Object} - the attribute generator\n */\n\n\nfunction attributeGenerator(options, type, data, _ref) {\n var addSsrAttribute = _ref.addSsrAttribute;\n\n var _ref2 = options || {},\n attribute = _ref2.attribute,\n ssrAttribute = _ref2.ssrAttribute;\n\n var attributeStr = '';\n\n for (var attr in data) {\n var attrData = data[attr];\n var attrValues = [];\n\n for (var appId in attrData) {\n attrValues.push.apply(attrValues, _toConsumableArray([].concat(attrData[appId])));\n }\n\n if (attrValues.length) {\n attributeStr += booleanHtmlAttributes.includes(attr) && attrValues.some(Boolean) ? \"\".concat(attr) : \"\".concat(attr, \"=\\\"\").concat(attrValues.join(' '), \"\\\"\");\n attributeStr += ' ';\n }\n }\n\n if (attributeStr) {\n attributeStr += \"\".concat(attribute, \"=\\\"\").concat(encodeURI(JSON.stringify(data)), \"\\\"\");\n }\n\n if (type === 'htmlAttrs' && addSsrAttribute) {\n return \"\".concat(ssrAttribute).concat(attributeStr ? ' ' : '').concat(attributeStr);\n }\n\n return attributeStr;\n}\n/**\n * Generates title output for the server\n *\n * @param {'title'} type - the string \"title\"\n * @param {String} data - the title text\n * @return {Object} - the title generator\n */\n\n\nfunction titleGenerator(options, type, data, generatorOptions) {\n var _ref = generatorOptions || {},\n ln = _ref.ln;\n\n if (!data) {\n return '';\n }\n\n return \"<\".concat(type, \">\").concat(data, \"\").concat(ln ? '\\n' : '');\n}\n/**\n * Generates meta, base, link, style, script, noscript tags for use on the server\n *\n * @param {('meta'|'base'|'link'|'style'|'script'|'noscript')} the name of the tag\n * @param {(Array|Object)} tags - an array of tag objects or a single object in case of base\n * @return {Object} - the tag generator\n */\n\n\nfunction tagGenerator(options, type, tags, generatorOptions) {\n var _ref = options || {},\n ssrAppId = _ref.ssrAppId,\n attribute = _ref.attribute,\n tagIDKeyName = _ref.tagIDKeyName;\n\n var _ref2 = generatorOptions || {},\n appId = _ref2.appId,\n _ref2$isSSR = _ref2.isSSR,\n isSSR = _ref2$isSSR === void 0 ? true : _ref2$isSSR,\n _ref2$body = _ref2.body,\n body = _ref2$body === void 0 ? false : _ref2$body,\n _ref2$pbody = _ref2.pbody,\n pbody = _ref2$pbody === void 0 ? false : _ref2$pbody,\n _ref2$ln = _ref2.ln,\n ln = _ref2$ln === void 0 ? false : _ref2$ln;\n\n var dataAttributes = [tagIDKeyName].concat(_toConsumableArray(commonDataAttributes));\n\n if (!tags || !tags.length) {\n return '';\n } // build a string containing all tags of this type\n\n\n return tags.reduce(function (tagsStr, tag) {\n if (tag.skip) {\n return tagsStr;\n }\n\n var tagKeys = Object.keys(tag);\n\n if (tagKeys.length === 0) {\n return tagsStr; // Bail on empty tag object\n }\n\n if (Boolean(tag.body) !== body || Boolean(tag.pbody) !== pbody) {\n return tagsStr;\n }\n\n var attrs = tag.once ? '' : \" \".concat(attribute, \"=\\\"\").concat(appId || (isSSR === false ? '1' : ssrAppId), \"\\\"\"); // build a string containing all attributes of this tag\n\n for (var attr in tag) {\n // these attributes are treated as children on the tag\n if (tagAttributeAsInnerContent.includes(attr) || tagProperties.includes(attr)) {\n continue;\n }\n\n if (attr === 'callback') {\n attrs += ' onload=\"this.__vm_l=1\"';\n continue;\n } // these form the attribute list for this tag\n\n\n var prefix = '';\n\n if (dataAttributes.includes(attr)) {\n prefix = 'data-';\n }\n\n var isBooleanAttr = !prefix && booleanHtmlAttributes.includes(attr);\n\n if (isBooleanAttr && !tag[attr]) {\n continue;\n }\n\n attrs += \" \".concat(prefix).concat(attr) + (isBooleanAttr ? '' : \"=\\\"\".concat(tag[attr], \"\\\"\"));\n }\n\n var json = '';\n\n if (tag.json) {\n json = JSON.stringify(tag.json);\n } // grab child content from one of these attributes, if possible\n\n\n var content = tag.innerHTML || tag.cssText || json; // generate tag exactly without any other redundant attribute\n // these tags have no end tag\n\n var hasEndTag = !tagsWithoutEndTag.includes(type); // these tag types will have content inserted\n\n var hasContent = hasEndTag && tagsWithInnerContent.includes(type); // the final string for this specific tag\n\n return \"\".concat(tagsStr, \"<\").concat(type).concat(attrs).concat(!hasContent && hasEndTag ? '/' : '', \">\") + (hasContent ? \"\".concat(content, \"\") : '') + (ln ? '\\n' : '');\n }, '');\n}\n/**\n * Converts a meta info property to one that can be stringified on the server\n *\n * @param {String} type - the type of data to convert\n * @param {(String|Object|Array)} data - the data value\n * @return {Object} - the new injector\n */\n\n\nfunction generateServerInjector(options, metaInfo, globalInjectOptions) {\n var serverInjector = {\n data: metaInfo,\n extraData: undefined,\n addInfo: function addInfo(appId, metaInfo) {\n this.extraData = this.extraData || {};\n this.extraData[appId] = metaInfo;\n },\n callInjectors: function callInjectors(opts) {\n var m = this.injectors; // only call title for the head\n\n return (opts.body || opts.pbody ? '' : m.title.text(opts)) + m.meta.text(opts) + m.base.text(opts) + m.link.text(opts) + m.style.text(opts) + m.script.text(opts) + m.noscript.text(opts);\n },\n injectors: {\n head: function head(ln) {\n return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, {\n ln: ln\n }));\n },\n bodyPrepend: function bodyPrepend(ln) {\n return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, {\n ln: ln,\n pbody: true\n }));\n },\n bodyAppend: function bodyAppend(ln) {\n return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, {\n ln: ln,\n body: true\n }));\n }\n }\n };\n\n var _loop = function _loop(type) {\n if (metaInfoOptionKeys.includes(type)) {\n return \"continue\";\n }\n\n serverInjector.injectors[type] = {\n text: function text(injectOptions) {\n var addSsrAttribute = injectOptions === true;\n injectOptions = _objectSpread2(_objectSpread2({\n addSsrAttribute: addSsrAttribute\n }, globalInjectOptions), injectOptions);\n\n if (type === 'title') {\n return titleGenerator(options, type, serverInjector.data[type], injectOptions);\n }\n\n if (metaInfoAttributeKeys.includes(type)) {\n var attributeData = {};\n var data = serverInjector.data[type];\n\n if (data) {\n var appId = injectOptions.isSSR === false ? '1' : options.ssrAppId;\n\n for (var attr in data) {\n attributeData[attr] = _defineProperty({}, appId, data[attr]);\n }\n }\n\n if (serverInjector.extraData) {\n for (var _appId in serverInjector.extraData) {\n var _data = serverInjector.extraData[_appId][type];\n\n if (_data) {\n for (var _attr in _data) {\n attributeData[_attr] = _objectSpread2(_objectSpread2({}, attributeData[_attr]), {}, _defineProperty({}, _appId, _data[_attr]));\n }\n }\n }\n }\n\n return attributeGenerator(options, type, attributeData, injectOptions);\n }\n\n var str = tagGenerator(options, type, serverInjector.data[type], injectOptions);\n\n if (serverInjector.extraData) {\n for (var _appId2 in serverInjector.extraData) {\n var _data2 = serverInjector.extraData[_appId2][type];\n var extraStr = tagGenerator(options, type, _data2, _objectSpread2({\n appId: _appId2\n }, injectOptions));\n str = \"\".concat(str).concat(extraStr);\n }\n }\n\n return str;\n }\n };\n };\n\n for (var type in defaultInfo) {\n var _ret = _loop(type);\n\n if (_ret === \"continue\") continue;\n }\n\n return serverInjector;\n}\n/**\n * Converts the state of the meta info object such that each item\n * can be compiled to a tag string on the server\n *\n * @vm {Object} - Vue instance - ideally the root component\n * @return {Object} - server meta info with `toString` methods\n */\n\n\nfunction inject(rootVm, options, injectOptions) {\n // make sure vue-meta was initiated\n if (!rootVm[rootConfigKey]) {\n showWarningNotSupported();\n return {};\n } // collect & aggregate all metaInfo $options\n\n\n var rawInfo = getComponentMetaInfo(options, rootVm);\n var metaInfo = getMetaInfo(options, rawInfo, serverSequences, rootVm); // generate server injector\n\n var serverInjector = generateServerInjector(options, metaInfo, injectOptions); // add meta info from additional apps\n\n var appsMetaInfo = getAppsMetaInfo();\n\n if (appsMetaInfo) {\n for (var additionalAppId in appsMetaInfo) {\n serverInjector.addInfo(additionalAppId, appsMetaInfo[additionalAppId]);\n delete appsMetaInfo[additionalAppId];\n }\n\n clearAppsMetaInfo(true);\n }\n\n return serverInjector.injectors;\n}\n\nfunction $meta(options) {\n options = options || {};\n /**\n * Returns an injector for server-side rendering.\n * @this {Object} - the Vue instance (a root component)\n * @return {Object} - injector\n */\n\n var $root = this.$root;\n return {\n getOptions: function getOptions$1() {\n return getOptions(options);\n },\n setOptions: function setOptions(newOptions) {\n var refreshNavKey = 'refreshOnceOnNavigation';\n\n if (newOptions && newOptions[refreshNavKey]) {\n options.refreshOnceOnNavigation = !!newOptions[refreshNavKey];\n addNavGuards($root);\n }\n\n var debounceWaitKey = 'debounceWait';\n\n if (newOptions && debounceWaitKey in newOptions) {\n var debounceWait = parseInt(newOptions[debounceWaitKey]);\n\n if (!isNaN(debounceWait)) {\n options.debounceWait = debounceWait;\n }\n }\n\n var waitOnDestroyedKey = 'waitOnDestroyed';\n\n if (newOptions && waitOnDestroyedKey in newOptions) {\n options.waitOnDestroyed = !!newOptions[waitOnDestroyedKey];\n }\n },\n refresh: function refresh$1() {\n return refresh($root, options);\n },\n inject: function inject$1(injectOptions) {\n return inject($root, options, injectOptions);\n },\n pause: function pause$1() {\n return pause($root);\n },\n resume: function resume$1() {\n return resume($root);\n },\n addApp: function addApp$1(appId) {\n return addApp($root, appId, options);\n }\n };\n}\n\nfunction generate(rawInfo, options) {\n options = setOptions(options);\n var metaInfo = getMetaInfo(options, rawInfo, serverSequences);\n var serverInjector = generateServerInjector(options, metaInfo);\n return serverInjector.injectors;\n}\n/**\n * Plugin install function.\n * @param {Function} Vue - the Vue constructor.\n */\n\n\nfunction install(Vue, options) {\n if (Vue.__vuemeta_installed) {\n return;\n }\n\n Vue.__vuemeta_installed = true;\n options = setOptions(options);\n\n Vue.prototype.$meta = function () {\n return $meta.call(this, options);\n };\n\n Vue.mixin(createMixin(Vue, options));\n}\n\nvar index = {\n version: version,\n install: install,\n generate: function generate$1(metaInfo, options) {\n return generate(metaInfo, options);\n },\n hasMetaInfo: hasMetaInfo\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (index);\n\n//# sourceURL=webpack://materio.com/./node_modules/vue-meta/dist/vue-meta.esm.js?"); /***/ }), /***/ "./node_modules/vue-router/dist/vue-router.esm.js": /*!********************************************************!*\ !*** ./node_modules/vue-router/dist/vue-router.esm.js ***! \********************************************************/ /*! namespace exports */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_exports__, __webpack_require__.r, __webpack_require__.d, __webpack_require__.* */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => __WEBPACK_DEFAULT_EXPORT__\n/* harmony export */ });\n/*!\n * vue-router v3.4.9\n * (c) 2020 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 ( true && !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\n return a;\n}\n/* */\n\n\nvar encodeReserveRE = /[!'()*]/g;\n\nvar encodeReserveReplacer = function (c) {\n return '%' + c.charCodeAt(0).toString(16);\n};\n\nvar commaRE = /%2C/g; // fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\n\nvar encode = function (str) {\n return encodeURIComponent(str).replace(encodeReserveRE, encodeReserveReplacer).replace(commaRE, ',');\n};\n\nfunction decode(str) {\n try {\n return decodeURIComponent(str);\n } catch (err) {\n if (true) {\n warn(false, \"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\");\n }\n }\n\n return str;\n}\n\nfunction resolveQuery(query, extraQuery, _parseQuery) {\n if (extraQuery === void 0) extraQuery = {};\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n true && warn(false, e.message);\n parsedQuery = {};\n }\n\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value) ? value.map(castQueryParamValue) : castQueryParamValue(value);\n }\n\n return parsedQuery;\n}\n\nvar castQueryParamValue = function (value) {\n return value == null || typeof value === 'object' ? value : String(value);\n};\n\nfunction parseQuery(query) {\n var res = {};\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 return res;\n}\n\nfunction stringifyQuery(obj) {\n var res = obj ? Object.keys(obj).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\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 }).filter(function (x) {\n return x.length > 0;\n }).join('&') : null;\n return res ? \"?\" + res : '';\n}\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute(record, location, redirectedFrom, router) {\n var stringifyQuery = router && router.options.stringifyQuery;\n var query = location.query || {};\n\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\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\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\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n\n return res;\n } else {\n return value;\n }\n} // the starting route that represents the initial state\n\n\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch(record) {\n var res = [];\n\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n\n return res;\n}\n\nfunction getFullPath(ref, _stringifyQuery) {\n var path = ref.path;\n var query = ref.query;\n if (query === void 0) query = {};\n var hash = ref.hash;\n if (hash === void 0) hash = '';\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash;\n}\n\nfunction isSameRoute(a, b) {\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, '') && a.hash === b.hash && isObjectEqual(a.query, b.query);\n } else if (a.name && b.name) {\n return a.name === b.name && a.hash === b.hash && isObjectEqual(a.query, b.query) && isObjectEqual(a.params, b.params);\n } else {\n return false;\n }\n}\n\nfunction isObjectEqual(a, b) {\n if (a === void 0) a = {};\n if (b === void 0) b = {}; // handle null value #1566\n\n if (!a || !b) {\n return a === b;\n }\n\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n\n if (bKey !== key) {\n return false;\n }\n\n var bVal = b[key]; // query values can be null and undefined\n\n if (aVal == null || bVal == null) {\n return aVal === bVal;\n } // check nested equality\n\n\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal);\n }\n\n return String(aVal) === String(bVal);\n });\n}\n\nfunction isIncludedRoute(current, target) {\n return current.path.replace(trailingSlashRE, '/').indexOf(target.path.replace(trailingSlashRE, '/')) === 0 && (!target.hash || current.hash === target.hash) && queryIncludes(current.query, target.query);\n}\n\nfunction queryIncludes(current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false;\n }\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\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n\n if (!instance || !cbs) {\n continue;\n }\n\n delete record.enteredCbs[name];\n\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) {\n cbs[i$1](instance);\n }\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; // used by devtools to display a router-view badge\n\n data.routerView = true; // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {}); // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n\n var depth = 0;\n var inactive = false;\n\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n\n if (vnodeData.routerView) {\n depth++;\n }\n\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n\n parent = parent.$parent;\n }\n\n data.routerViewDepth = depth; // render previous view if the tree is inactive and kept-alive\n\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\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]; // render empty node if no matched route or no config component\n\n if (!matched || !component) {\n cache[name] = null;\n return h();\n } // cache component\n\n\n cache[name] = {\n component: component\n }; // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n\n if (val && current !== vm || !val && current === vm) {\n matched.instances[name] = val;\n }\n } // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;\n\n (data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n }; // register instance in init hook\n // in case kept-alive component be actived when routes changed\n\n\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive && vnode.componentInstance && vnode.componentInstance !== matched.instances[name]) {\n matched.instances[name] = vnode.componentInstance;\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\n\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name]; // save route and configProps in cache\n\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\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass); // pass non-declared props as attrs\n\n var attrs = data.attrs = data.attrs || {};\n\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\n case 'object':\n return config;\n\n case 'function':\n return config(route);\n\n case 'boolean':\n return config ? route.params : undefined;\n\n default:\n if (true) {\n warn(false, \"props in \\\"\" + route.path + \"\\\" is a \" + typeof config + \", \" + \"expecting an object, function or boolean.\");\n }\n\n }\n}\n/* */\n\n\nfunction resolvePath(relative, base, append) {\n var firstChar = relative.charAt(0);\n\n if (firstChar === '/') {\n return relative;\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative;\n }\n\n var stack = base.split('/'); // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n } // resolve relative path\n\n\n var segments = relative.replace(/^\\//, '').split('/');\n\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n } // ensure leading slash\n\n\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 var hashIndex = path.indexOf('#');\n\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n\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(/\\/\\//g, '/');\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n/**\n * Expose `pathToRegexp`.\n */\n\n\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\n\nvar PATH_REGEXP = new RegExp([// Match escaped characters that would otherwise appear in future matches.\n// This allows the user to escape special characters that won't transform.\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+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'].join('|'), 'g');\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\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; // Ignore already escaped sequences.\n\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]; // Push the current path onto the tokens.\n\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 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 } // Match any characters still remaining.\n\n\n if (index < str.length) {\n path += str.substr(index);\n } // If the path exists, push it onto the end.\n\n\n if (path) {\n tokens.push(path);\n }\n\n return tokens;\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 */\n\n\nfunction compile(str, options) {\n return tokensToFunction(parse(str, options), options);\n}\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\n\n\nfunction encodeURIComponentPretty(str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\n\n\nfunction encodeAsterisk(str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n/**\n * Expose a method for transforming tokens into the path function.\n */\n\n\nfunction tokensToFunction(tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length); // Compile all the patterns before compilation.\n\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 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 * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\n\n\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1');\n}\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\n\n\nfunction escapeGroup(group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1');\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 */\n\n\nfunction attachKeys(re, keys) {\n re.keys = keys;\n return re;\n}\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\n\n\nfunction flags(options) {\n return options && options.sensitive ? '' : 'i';\n}\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\n\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 * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\n\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 return attachKeys(regexp, keys);\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 */\n\n\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options);\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 */\n\n\nfunction tokensToRegExp(tokens, keys, options) {\n if (!isarray(keys)) {\n options =\n /** @type {!Object} */\n keys || options;\n keys = [];\n }\n\n options = options || {};\n var strict = options.strict;\n var end = options.end !== false;\n var route = ''; // Iterate over the tokens and create our regexp string.\n\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 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; // 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\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 * 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 */\n\n\nfunction pathToRegexp(path, keys, options) {\n if (!isarray(keys)) {\n options =\n /** @type {!Object} */\n keys || options;\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path,\n /** @type {!Array} */\n keys);\n }\n\n if (isarray(path)) {\n return arrayToRegexp(\n /** @type {!Array} */\n path,\n /** @type {!Array} */\n keys, options);\n }\n\n return stringToRegexp(\n /** @type {string} */\n path,\n /** @type {!Array} */\n keys, options);\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n/* */\n// $flow-disable-line\n\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams(path, params, routeMsg) {\n params = params || {};\n\n try {\n var filler = regexpCompileCache[path] || (regexpCompileCache[path] = pathToRegexp_1.compile(path)); // 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\n if (typeof params.pathMatch === 'string') {\n params[0] = params.pathMatch;\n }\n\n return filler(params, {\n pretty: true\n });\n } catch (e) {\n if (true) {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', \"missing param for \" + routeMsg + \": \" + e.message);\n }\n\n return '';\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n/* */\n\n\nfunction normalizeLocation(raw, current, append, router) {\n var next = typeof raw === 'string' ? {\n path: raw\n } : raw; // named target\n\n if (next._normalized) {\n return next;\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n\n return next;\n } // relative params\n\n\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\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 (true) {\n warn(false, \"relative params navigation requires a current route.\");\n }\n\n return next;\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = current && current.path || '/';\n var path = parsedPath.path ? resolvePath(parsedPath.path, basePath, append || next.append) : basePath;\n var query = resolveQuery(parsedPath.query, next.query, router && router.options.parseQuery);\n var hash = next.hash || parsedPath.hash;\n\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// work around weird flow bug\n\n\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\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 exact: 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 = this;\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass; // Support global empty active class\n\n var activeClassFallback = globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null ? 'router-link-exact-active' : globalExactActiveClass;\n var activeClass = this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null ? exactActiveClassFallback : this.exactActiveClass;\n var compareTarget = route.redirectedFrom ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router) : route;\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact ? classes[exactActiveClass] : isIncludedRoute(current, compareTarget);\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = {\n click: guardEvent\n };\n\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 = {\n class: classes\n };\n var scopedSlot = !this.$scopedSlots.$hasNormal && this.$scopedSlots.default && 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 (scopedSlot.length === 1) {\n return scopedSlot[0];\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (true) {\n warn(false, \"RouterLink 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 (this.tag === 'a') {\n data.on = on;\n data.attrs = {\n href: href,\n 'aria-current': ariaCurrentValue\n };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n\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 || {}; // transform existing events in both objects into arrays so we can push later\n\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n } // append new listeners for router-link\n\n\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) {\n return;\n } // don't redirect when preventDefault called\n\n\n if (e.defaultPrevented) {\n return;\n } // don't redirect on right click\n\n\n if (e.button !== undefined && e.button !== 0) {\n return;\n } // don't redirect if `target=\"_blank\"`\n\n\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n\n if (/\\b_blank\\b/i.test(target)) {\n return;\n }\n } // this may be a Weex event which doesn't have this method\n\n\n if (e.preventDefault) {\n e.preventDefault();\n }\n\n return true;\n}\n\nfunction findAnchor(children) {\n if (children) {\n var child;\n\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n\n if (child.tag === 'a') {\n return child;\n }\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) {\n return;\n }\n\n install.installed = true;\n _Vue = Vue;\n\n var isDef = function (v) {\n return v !== undefined;\n };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n\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\n this._router.init(this);\n\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = this.$parent && this.$parent._routerRoot || this;\n }\n\n registerInstance(this, this);\n },\n destroyed: function destroyed() {\n registerInstance(this);\n }\n });\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get() {\n return this._routerRoot._router;\n }\n });\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get() {\n return this._routerRoot._route;\n }\n });\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n var strats = Vue.config.optionMergeStrategies; // use the same hook merging strategy for route hooks\n\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n/* */\n\n\nvar inBrowser = typeof window !== 'undefined';\n/* */\n\nfunction createRouteMap(routes, oldPathList, oldPathMap, oldNameMap) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || []; // $flow-disable-line\n\n var pathMap = oldPathMap || Object.create(null); // $flow-disable-line\n\n var nameMap = oldNameMap || Object.create(null);\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n }); // ensure wildcard routes are always at the end\n\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 (true) {\n // warn if routes do not include leading slashes\n var found = pathList // check for missing leading slash\n .filter(function (path) {\n return path && path.charAt(0) !== '*' && path.charAt(0) !== '/';\n });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) {\n return \"- \" + path;\n }).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(pathList, pathMap, nameMap, route, parent, matchAs) {\n var path = route.path;\n var name = route.name;\n\n if (true) {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(typeof route.component !== 'string', \"route config \\\"component\\\" for path: \" + String(path || name) + \" cannot be a \" + \"string id. Use an actual component instead.\");\n warn( // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path), \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" + \"your path is correctly encoded before passing it to the router. Use \" + \"encodeURI to encode static segments of your path.\");\n }\n\n var pathToRegexpOptions = 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 || {\n default: route.component\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: route.props == null ? {} : route.components ? route.props : {\n default: route.props\n }\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 (true) {\n if (route.name && !route.redirect && route.children.some(function (child) {\n return /^\\/?$/.test(child.path);\n })) {\n warn(false, \"Named Route '\" + route.name + \"' has a default child route. \" + \"When navigating to this named route (:to=\\\"{name: '\" + route.name + \"'\\\"), \" + \"the default child route will not be rendered. Remove the name from \" + \"this route and use the name of the default child route for named \" + \"links instead.\");\n }\n }\n\n route.children.forEach(function (child) {\n var childMatchAs = matchAs ? cleanPath(matchAs + \"/\" + child.path) : 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\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n\n if ( true && alias === path) {\n warn(false, \"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\"); // skip in dev to make it work\n\n continue;\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(pathList, pathMap, nameMap, aliasRoute, parent, record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if ( true && !matchAs) {\n warn(false, \"Duplicate named routes definition: \" + \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + record.path + \"\\\" }\");\n }\n }\n}\n\nfunction compileRouteRegex(path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n\n if (true) {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], \"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\");\n keys[key.name] = true;\n });\n }\n\n return regex;\n}\n\nfunction normalizePath(path, parent, strict) {\n if (!strict) {\n path = path.replace(/\\/$/, '');\n }\n\n if (path[0] === '/') {\n return path;\n }\n\n if (parent == null) {\n return path;\n }\n\n return cleanPath(parent.path + \"/\" + path);\n}\n/* */\n\n\nfunction createMatcher(routes, router) {\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 match(raw, currentRoute, redirectedFrom) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n\n if (true) {\n warn(record, \"Route with name '\" + name + \"' does not exist\");\n }\n\n if (!record) {\n return _createRoute(null, location);\n }\n\n var paramNames = record.regex.keys.filter(function (key) {\n return !key.optional;\n }).map(function (key) {\n return key.name;\n });\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\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom);\n }\n }\n } // no match\n\n\n return _createRoute(null, location);\n }\n\n function redirect(record, location) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function' ? originalRedirect(createRoute(record, location, null, router)) : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = {\n path: redirect\n };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (true) {\n warn(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\n if (true) {\n assert(targetRecord, \"redirect failed: named route \\\"\" + name + \"\\\" not found.\");\n }\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); // 2. resolve params\n\n var resolvedPath = fillParams(rawPath, params, \"redirect route with path \\\"\" + rawPath + \"\\\"\"); // 3. rematch with existing query and hash\n\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location);\n } else {\n if (true) {\n warn(false, \"invalid redirect option: \" + JSON.stringify(redirect));\n }\n\n return _createRoute(null, location);\n }\n }\n\n function alias(record, location, matchAs) {\n var aliasedPath = fillParams(matchAs, location.params, \"aliased route with path \\\"\" + matchAs + \"\\\"\");\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\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\n return _createRoute(null, location);\n }\n\n function _createRoute(record, location, redirectedFrom) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location);\n }\n\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs);\n }\n\n return createRoute(record, location, redirectedFrom, router);\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n };\n}\n\nfunction matchRoute(regex, path, params) {\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\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// use User Timing api (if present) for more accurate key precision\n\n\nvar Time = inBrowser && window.performance && window.performance.now ? window.performance : 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 } // 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\n\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, ''); // preserve existing history state as it could be overriden by the user\n\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(router, to, from, isPop) {\n if (!router.app) {\n return;\n }\n\n var behavior = router.options.scrollBehavior;\n\n if (!behavior) {\n return;\n }\n\n if (true) {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n } // wait until re-render finishes before scrolling\n\n\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(router, to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return;\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition(shouldScroll, position);\n }).catch(function (err) {\n if (true) {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition() {\n var key = getStateKey();\n\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState(e) {\n saveScrollPosition();\n\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition() {\n var key = getStateKey();\n\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\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 = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\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 = inBrowser && function () {\n var ua = window.navigator.userAgent;\n\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) {\n return false;\n }\n\n return window.history && typeof window.history.pushState === 'function';\n}();\n\nfunction pushState(url, replace) {\n saveScrollPosition(); // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n\n var history = window.history;\n\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({\n key: setStateKey(genStateKey())\n }, '', 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\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\n step(0);\n} // When changing thing, also edit router.d.ts\n\n\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError(from, to) {\n return createRouterError(from, to, NavigationFailureType.redirected, \"Redirected when going from \\\"\" + from.fullPath + \"\\\" to \\\"\" + stringifyRoute(to) + \"\\\" via a navigation guard.\");\n}\n\nfunction createNavigationDuplicatedError(from, to) {\n var error = createRouterError(from, to, NavigationFailureType.duplicated, \"Avoided redundant navigation to current location: \\\"\" + from.fullPath + \"\\\".\"); // backwards compatible with the first introduction of Errors\n\n error.name = 'NavigationDuplicated';\n return error;\n}\n\nfunction createNavigationCancelledError(from, to) {\n return createRouterError(from, to, NavigationFailureType.cancelled, \"Navigation cancelled from \\\"\" + from.fullPath + \"\\\" to \\\"\" + to.fullPath + \"\\\" with a new navigation.\");\n}\n\nfunction createNavigationAbortedError(from, to) {\n return createRouterError(from, to, NavigationFailureType.aborted, \"Navigation aborted from \\\"\" + from.fullPath + \"\\\" to \\\"\" + to.fullPath + \"\\\" via a navigation guard.\");\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 return error;\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute(to) {\n if (typeof to === 'string') {\n return to;\n }\n\n if ('path' in to) {\n return to.path;\n }\n\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) {\n location[key] = to[key];\n }\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 isError(err) && err._isRouter && (errorType == null || err.type === errorType);\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 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 var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n } // save resolved on async factory in case it's used elsewhere\n\n\n def.resolved = typeof resolvedDef === 'function' ? resolvedDef : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n\n if (pending <= 0) {\n next();\n }\n });\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n true && warn(false, msg);\n\n if (!error) {\n error = isError(reason) ? reason : new Error(msg);\n next(error);\n }\n });\n var res;\n\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\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\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) {\n next();\n }\n };\n}\n\nfunction flatMapComponents(matched, fn) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return fn(m.components[key], m.instances[key], m, key);\n });\n }));\n}\n\nfunction flatten(arr) {\n return Array.prototype.concat.apply([], arr);\n}\n\nvar hasSymbol = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule(obj) {\n return obj.__esModule || hasSymbol && obj[Symbol.toStringTag] === 'Module';\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.\n\n\nfunction once(fn) {\n var called = false;\n return function () {\n var args = [],\n len = arguments.length;\n\n while (len--) args[len] = arguments[len];\n\n if (called) {\n return;\n }\n\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); // start with a route object that stands for \"nowhere\"\n\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\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(location, onComplete, onAbort) {\n var this$1 = this;\n var route; // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n }); // Exception should still be thrown\n\n throw e;\n }\n\n var prev = this.current;\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n this$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n }); // fire ready cbs once\n\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n\n if (err && !this$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.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition(route, onComplete, onAbort) {\n var this$1 = this;\n var current = this.current;\n this.pending = route;\n\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.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n\n onAbort && onAbort(err);\n };\n\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n\n if (isSameRoute(route, current) && // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex && route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]) {\n this.ensureURL();\n return abort(createNavigationDuplicatedError(current, route));\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n var queue = [].concat( // in-component leave guards\n extractLeaveGuards(deactivated), // global before hooks\n this.router.beforeHooks, // in-component update hooks\n extractUpdateHooks(updated), // in-config enter guards\n activated.map(function (m) {\n return m.beforeEnter;\n }), // async components\n resolveAsyncComponents(activated));\n\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route));\n }\n\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1.ensureURL(true);\n abort(to);\n } else if (typeof to === 'string' || typeof to === 'object' && (typeof to.path === 'string' || typeof to.name === 'string')) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$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.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route));\n }\n\n this$1.pending = null;\n onComplete(route);\n\n if (this$1.router.app) {\n this$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() {// 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 = []; // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n\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') || '/'; // strip full URL origin\n\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n } // make sure there's the starting slash\n\n\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n } // remove trailing slash\n\n\n return base.replace(/\\/$/, '');\n}\n\nfunction resolveQueue(current, next) {\n var i;\n var max = Math.max(current.length, next.length);\n\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break;\n }\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(records, name, bind, reverse) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n\n if (guard) {\n return Array.isArray(guard) ? guard.map(function (guard) {\n 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(def, key) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\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(activated) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key);\n });\n}\n\nfunction bindEnterGuard(guard, match, key) {\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\n match.enteredCbs[key].push(cb);\n }\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 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 = 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.current; // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n\n var location = getLocation(this$1.base);\n\n if (this$1.current === START && location === this$1._startLocation) {\n return;\n }\n\n this$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\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 = this;\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$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 = this;\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$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\n if (base && path.toLowerCase().indexOf(base.toLowerCase()) === 0) {\n path = path.slice(base.length);\n }\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); // check history fallback deeplinking\n\n if (fallback && checkFallback(this.base)) {\n return;\n }\n\n ensureSlash();\n }\n\n if (History) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create(History && History.prototype);\n HashHistory.prototype.constructor = HashHistory; // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n\n HashHistory.prototype.setupListeners = function setupListeners() {\n var this$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.current;\n\n if (!ensureSlash()) {\n return;\n }\n\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(eventType, handleRoutingEvent);\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 = this;\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace(location, onComplete, onAbort) {\n var this$1 = this;\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\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\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\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true;\n }\n}\n\nfunction ensureSlash() {\n var path = getHash();\n\n if (path.charAt(0) === '/') {\n return true;\n }\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('#'); // empty path\n\n if (index < 0) {\n return '';\n }\n\n href = href.slice(index + 1);\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 = this;\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace(location, onComplete, onAbort) {\n var this$1 = this;\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go(n) {\n var this$1 = this;\n var targetIndex = this.index + n;\n\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return;\n }\n\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n var prev = this$1.current;\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n this$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n }, function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1.index = targetIndex;\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() {// noop\n };\n\n return AbstractHistory;\n}(History);\n/* */\n\n\nvar VueRouter = function VueRouter(options) {\n if (options === void 0) options = {};\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 var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n\n if (this.fallback) {\n mode = 'hash';\n }\n\n if (!inBrowser) {\n mode = 'abstract';\n }\n\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break;\n\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break;\n\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break;\n\n default:\n if (true) {\n assert(false, \"invalid mode: \" + mode);\n }\n\n }\n};\n\nvar prototypeAccessors = {\n currentRoute: {\n configurable: true\n }\n};\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\n/* Vue component instance */\n) {\n var this$1 = this;\n true && assert(install.installed, \"not installed. Make sure to call `Vue.use(VueRouter)` \" + \"before creating root instance.\");\n this.apps.push(app); // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1.apps.indexOf(app);\n\n if (index > -1) {\n this$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\n\n if (this$1.app === app) {\n this$1.app = this$1.apps[0] || null;\n }\n\n if (!this$1.app) {\n this$1.history.teardown();\n }\n }); // main app previously initialized\n // return as we don't need to set up new history listener\n\n if (this.app) {\n return;\n }\n\n this.app = app;\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.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1, routeOrError, from, false);\n }\n };\n\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n\n history.transitionTo(history.getCurrentLocation(), setupListeners, setupListeners);\n }\n\n history.listen(function (route) {\n this$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 = this; // $flow-disable-line\n\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$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 = this; // $flow-disable-line\n\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$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 ? to.matched ? to : this.resolve(to).route : this.currentRoute;\n\n if (!route) {\n return [];\n }\n\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key];\n });\n }));\n};\n\nVueRouter.prototype.resolve = function resolve(to, current, append) {\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.addRoutes = function addRoutes(routes) {\n this.matcher.addRoutes(routes);\n\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties(VueRouter.prototype, prototypeAccessors);\n\nfunction registerHook(list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n\n if (i > -1) {\n list.splice(i, 1);\n }\n };\n}\n\nfunction createHref(base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path;\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.4.9';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VueRouter);\n\n//# sourceURL=webpack://materio.com/./node_modules/vue-router/dist/vue-router.esm.js?"); /***/ }), /***/ "./node_modules/vue/dist/vue.js": /*!**************************************!*\ !*** ./node_modules/vue/dist/vue.js ***! \**************************************/ /*! unknown exports (runtime-defined) */ /*! runtime requirements: module, top-level-this-exports, __webpack_require__.g, __webpack_require__.* */ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { eval("/*!\n * Vue.js v2.6.12\n * (c) 2014-2020 Evan You\n * Released under the MIT License.\n */\n(function (global, factory) {\n true ? module.exports = factory() : 0;\n})(this, function () {\n 'use strict';\n /* */\n\n var emptyObject = Object.freeze({}); // These helpers produce better VM code in JS engines due to their\n // explicitness and function inlining.\n\n function isUndef(v) {\n return v === undefined || v === null;\n }\n\n function isDef(v) {\n return v !== undefined && v !== null;\n }\n\n function isTrue(v) {\n return v === true;\n }\n\n function isFalse(v) {\n return v === false;\n }\n /**\n * Check if value is primitive.\n */\n\n\n function isPrimitive(value) {\n return typeof value === 'string' || typeof value === 'number' || // $flow-disable-line\n typeof value === 'symbol' || typeof value === 'boolean';\n }\n /**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\n\n\n function isObject(obj) {\n return obj !== null && typeof obj === 'object';\n }\n /**\n * Get the raw type string of a value, e.g., [object Object].\n */\n\n\n var _toString = Object.prototype.toString;\n\n function toRawType(value) {\n return _toString.call(value).slice(8, -1);\n }\n /**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\n\n\n function isPlainObject(obj) {\n return _toString.call(obj) === '[object Object]';\n }\n\n function isRegExp(v) {\n return _toString.call(v) === '[object RegExp]';\n }\n /**\n * Check if val is a valid array index.\n */\n\n\n function isValidArrayIndex(val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val);\n }\n\n function isPromise(val) {\n return isDef(val) && typeof val.then === 'function' && typeof val.catch === 'function';\n }\n /**\n * Convert a value to a string that is actually rendered.\n */\n\n\n function toString(val) {\n return val == null ? '' : Array.isArray(val) || isPlainObject(val) && val.toString === _toString ? JSON.stringify(val, null, 2) : String(val);\n }\n /**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\n\n\n function toNumber(val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n;\n }\n /**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\n\n\n function makeMap(str, expectsLowerCase) {\n var map = Object.create(null);\n var list = str.split(',');\n\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n\n return expectsLowerCase ? function (val) {\n return map[val.toLowerCase()];\n } : function (val) {\n return map[val];\n };\n }\n /**\n * Check if a tag is a built-in tag.\n */\n\n\n var isBuiltInTag = makeMap('slot,component', true);\n /**\n * Check if an attribute is a reserved attribute.\n */\n\n var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n /**\n * Remove an item from an array.\n */\n\n function remove(arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n\n if (index > -1) {\n return arr.splice(index, 1);\n }\n }\n }\n /**\n * Check whether an object has the property.\n */\n\n\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n function hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n }\n /**\n * Create a cached version of a pure function.\n */\n\n\n function cached(fn) {\n var cache = Object.create(null);\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n }\n /**\n * Camelize a hyphen-delimited string.\n */\n\n\n var camelizeRE = /-(\\w)/g;\n var camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) {\n return c ? c.toUpperCase() : '';\n });\n });\n /**\n * Capitalize a string.\n */\n\n var capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n });\n /**\n * Hyphenate a camelCase string.\n */\n\n var hyphenateRE = /\\B([A-Z])/g;\n var hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n });\n /**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n /* istanbul ignore next */\n\n function polyfillBind(fn, ctx) {\n function boundFn(a) {\n var l = arguments.length;\n return l ? l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a) : fn.call(ctx);\n }\n\n boundFn._length = fn.length;\n return boundFn;\n }\n\n function nativeBind(fn, ctx) {\n return fn.bind(ctx);\n }\n\n var bind = Function.prototype.bind ? nativeBind : polyfillBind;\n /**\n * Convert an Array-like object to a real Array.\n */\n\n function toArray(list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n\n while (i--) {\n ret[i] = list[i + start];\n }\n\n return ret;\n }\n /**\n * Mix properties into target object.\n */\n\n\n function extend(to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n\n return to;\n }\n /**\n * Merge an Array of Objects into a single Object.\n */\n\n\n function toObject(arr) {\n var res = {};\n\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n\n return res;\n }\n /* eslint-disable no-unused-vars */\n\n /**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\n\n\n function noop(a, b, c) {}\n /**\n * Always return false.\n */\n\n\n var no = function (a, b, c) {\n return false;\n };\n /* eslint-enable no-unused-vars */\n\n /**\n * Return the same value.\n */\n\n\n var identity = function (_) {\n return _;\n };\n /**\n * Generate a string containing static keys from compiler modules.\n */\n\n\n function genStaticKeys(modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || []);\n }, []).join(',');\n }\n /**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\n\n\n function looseEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i]);\n });\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key]);\n });\n } else {\n /* istanbul ignore next */\n return false;\n }\n } catch (e) {\n /* istanbul ignore next */\n return false;\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b);\n } else {\n return false;\n }\n }\n /**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\n\n\n function looseIndexOf(arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) {\n return i;\n }\n }\n\n return -1;\n }\n /**\n * Ensure a function is called only once.\n */\n\n\n function once(fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n };\n }\n\n var SSR_ATTR = 'data-server-rendered';\n var ASSET_TYPES = ['component', 'directive', 'filter'];\n var LIFECYCLE_HOOKS = ['beforeCreate', 'created', 'beforeMount', 'mounted', 'beforeUpdate', 'updated', 'beforeDestroy', 'destroyed', 'activated', 'deactivated', 'errorCaptured', 'serverPrefetch'];\n /* */\n\n var config = {\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: \"development\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"development\" !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n };\n /* */\n\n /**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\n\n var unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n /**\n * Check if a string starts with $ or _\n */\n\n function isReserved(str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F;\n }\n /**\n * Define a property.\n */\n\n\n function def(obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n }\n /**\n * Parse simple path.\n */\n\n\n var bailRE = new RegExp(\"[^\" + unicodeRegExp.source + \".$_\\\\d]\");\n\n function parsePath(path) {\n if (bailRE.test(path)) {\n return;\n }\n\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) {\n return;\n }\n\n obj = obj[segments[i]];\n }\n\n return obj;\n };\n }\n /* */\n // can we use __proto__?\n\n\n var hasProto = ('__proto__' in {}); // Browser environment sniffing\n\n var inBrowser = typeof window !== 'undefined';\n var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\n var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\n var UA = inBrowser && window.navigator.userAgent.toLowerCase();\n var isIE = UA && /msie|trident/.test(UA);\n var isIE9 = UA && UA.indexOf('msie 9.0') > 0;\n var isEdge = UA && UA.indexOf('edge/') > 0;\n var isAndroid = UA && UA.indexOf('android') > 0 || weexPlatform === 'android';\n var isIOS = UA && /iphone|ipad|ipod|ios/.test(UA) || weexPlatform === 'ios';\n var isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n var isPhantomJS = UA && /phantomjs/.test(UA);\n var isFF = UA && UA.match(/firefox\\/(\\d+)/); // Firefox has a \"watch\" function on Object.prototype...\n\n var nativeWatch = {}.watch;\n var supportsPassive = false;\n\n if (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n get: function get() {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n }); // https://github.com/facebook/flow/issues/285\n\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n } // this needs to be lazy-evaled because vue may be required before\n // vue-server-renderer can set VUE_ENV\n\n\n var _isServer;\n\n var isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof __webpack_require__.g !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = __webpack_require__.g['process'] && __webpack_require__.g['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n\n return _isServer;\n }; // detect devtools\n\n\n var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n /* istanbul ignore next */\n\n function isNative(Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString());\n }\n\n var hasSymbol = typeof Symbol !== 'undefined' && isNative(Symbol) && typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\n var _Set;\n /* istanbul ignore if */\n // $flow-disable-line\n\n\n if (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n } else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/function () {\n function Set() {\n this.set = Object.create(null);\n }\n\n Set.prototype.has = function has(key) {\n return this.set[key] === true;\n };\n\n Set.prototype.add = function add(key) {\n this.set[key] = true;\n };\n\n Set.prototype.clear = function clear() {\n this.set = Object.create(null);\n };\n\n return Set;\n }();\n }\n /* */\n\n\n var warn = noop;\n var tip = noop;\n var generateComponentTrace = noop; // work around flow check\n\n var formatComponentName = noop;\n {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n\n var classify = function (str) {\n return str.replace(classifyRE, function (c) {\n return c.toUpperCase();\n }).replace(/[-_]/g, '');\n };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && !config.silent) {\n console.error(\"[Vue warn]: \" + msg + trace);\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && !config.silent) {\n console.warn(\"[Vue tip]: \" + msg + (vm ? generateComponentTrace(vm) : ''));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '';\n }\n\n var options = typeof vm === 'function' && vm.cid != null ? vm.options : vm._isVue ? vm.$options || vm.constructor.options : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (name ? \"<\" + classify(name) + \">\" : \"\") + (file && includeFile !== false ? \" at \" + file : '');\n };\n\n var repeat = function (str, n) {\n var res = '';\n\n while (n) {\n if (n % 2 === 1) {\n res += str;\n }\n\n if (n > 1) {\n str += str;\n }\n\n n >>= 1;\n }\n\n return res;\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue;\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n\n tree.push(vm);\n vm = vm.$parent;\n }\n\n return '\\n\\nfound in\\n\\n' + tree.map(function (vm, i) {\n return \"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) ? formatComponentName(vm[0]) + \"... (\" + vm[1] + \" recursive calls)\" : formatComponentName(vm));\n }).join('\\n');\n } else {\n return \"\\n\\n(found in \" + formatComponentName(vm) + \")\";\n }\n };\n }\n /* */\n\n var uid = 0;\n /**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\n\n var Dep = function Dep() {\n this.id = uid++;\n this.subs = [];\n };\n\n Dep.prototype.addSub = function addSub(sub) {\n this.subs.push(sub);\n };\n\n Dep.prototype.removeSub = function removeSub(sub) {\n remove(this.subs, sub);\n };\n\n Dep.prototype.depend = function depend() {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n };\n\n Dep.prototype.notify = function notify() {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n\n if (!config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) {\n return a.id - b.id;\n });\n }\n\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n }; // The current target watcher being evaluated.\n // This is globally unique because only one watcher\n // can be evaluated at a time.\n\n\n Dep.target = null;\n var targetStack = [];\n\n function pushTarget(target) {\n targetStack.push(target);\n Dep.target = target;\n }\n\n function popTarget() {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n }\n /* */\n\n\n var VNode = function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n };\n\n var prototypeAccessors = {\n child: {\n configurable: true\n }\n }; // DEPRECATED: alias for componentInstance for backwards compat.\n\n /* istanbul ignore next */\n\n prototypeAccessors.child.get = function () {\n return this.componentInstance;\n };\n\n Object.defineProperties(VNode.prototype, prototypeAccessors);\n\n var createEmptyVNode = function (text) {\n if (text === void 0) text = '';\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node;\n };\n\n function createTextVNode(val) {\n return new VNode(undefined, undefined, undefined, String(val));\n } // optimized shallow clone\n // used for static nodes and slot nodes because they may be reused across\n // multiple renders, cloning them avoids errors when DOM manipulations rely\n // on their elm reference.\n\n\n function cloneVNode(vnode) {\n var cloned = new VNode(vnode.tag, vnode.data, // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory);\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned;\n }\n /*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\n\n var arrayProto = Array.prototype;\n var arrayMethods = Object.create(arrayProto);\n var methodsToPatch = ['push', 'pop', 'shift', 'unshift', 'splice', 'sort', 'reverse'];\n /**\n * Intercept mutating methods and emit events\n */\n\n methodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator() {\n var args = [],\n len = arguments.length;\n\n while (len--) args[len] = arguments[len];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break;\n\n case 'splice':\n inserted = args.slice(2);\n break;\n }\n\n if (inserted) {\n ob.observeArray(inserted);\n } // notify change\n\n\n ob.dep.notify();\n return result;\n });\n });\n /* */\n\n var arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n /**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\n\n var shouldObserve = true;\n\n function toggleObserving(value) {\n shouldObserve = value;\n }\n /**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\n\n\n var Observer = function Observer(value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n };\n /**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\n\n\n Observer.prototype.walk = function walk(obj) {\n var keys = Object.keys(obj);\n\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n };\n /**\n * Observe a list of Array items.\n */\n\n\n Observer.prototype.observeArray = function observeArray(items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n }; // helpers\n\n /**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\n\n\n function protoAugment(target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n }\n /**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n\n /* istanbul ignore next */\n\n\n function copyAugment(target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n }\n /**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\n\n\n function observe(value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return;\n }\n\n var ob;\n\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (shouldObserve && !isServerRendering() && (Array.isArray(value) || isPlainObject(value)) && Object.isExtensible(value) && !value._isVue) {\n ob = new Observer(value);\n }\n\n if (asRootData && ob) {\n ob.vmCount++;\n }\n\n return ob;\n }\n /**\n * Define a reactive property on an Object.\n */\n\n\n function defineReactive$$1(obj, key, val, customSetter, shallow) {\n var dep = new Dep();\n var property = Object.getOwnPropertyDescriptor(obj, key);\n\n if (property && property.configurable === false) {\n return;\n } // cater for pre-defined getter/setters\n\n\n var getter = property && property.get;\n var setter = property && property.set;\n\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter() {\n var value = getter ? getter.call(obj) : val;\n\n if (Dep.target) {\n dep.depend();\n\n if (childOb) {\n childOb.dep.depend();\n\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n\n return value;\n },\n set: function reactiveSetter(newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n\n if (newVal === value || newVal !== newVal && value !== value) {\n return;\n }\n /* eslint-enable no-self-compare */\n\n\n if (customSetter) {\n customSetter();\n } // #7981: for accessor properties without setter\n\n\n if (getter && !setter) {\n return;\n }\n\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n }\n /**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\n\n\n function set(target, key, val) {\n if (isUndef(target) || isPrimitive(target)) {\n warn(\"Cannot set reactive property on undefined, null, or primitive value: \" + target);\n }\n\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val;\n }\n\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val;\n }\n\n var ob = target.__ob__;\n\n if (target._isVue || ob && ob.vmCount) {\n warn('Avoid adding reactive properties to a Vue instance or its root $data ' + 'at runtime - declare it upfront in the data option.');\n return val;\n }\n\n if (!ob) {\n target[key] = val;\n return val;\n }\n\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val;\n }\n /**\n * Delete a property and trigger change if necessary.\n */\n\n\n function del(target, key) {\n if (isUndef(target) || isPrimitive(target)) {\n warn(\"Cannot delete reactive property on undefined, null, or primitive value: \" + target);\n }\n\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return;\n }\n\n var ob = target.__ob__;\n\n if (target._isVue || ob && ob.vmCount) {\n warn('Avoid deleting properties on a Vue instance or its root $data ' + '- just set it to null.');\n return;\n }\n\n if (!hasOwn(target, key)) {\n return;\n }\n\n delete target[key];\n\n if (!ob) {\n return;\n }\n\n ob.dep.notify();\n }\n /**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\n\n\n function dependArray(value) {\n for (var e = void 0, i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n }\n /* */\n\n /**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\n\n\n var strats = config.optionMergeStrategies;\n /**\n * Options with restrictions\n */\n\n {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\"option \\\"\" + key + \"\\\" can only be used during instance \" + 'creation with the `new` keyword.');\n }\n\n return defaultStrat(parent, child);\n };\n }\n /**\n * Helper that recursively merges two data objects together.\n */\n\n function mergeData(to, from) {\n if (!from) {\n return to;\n }\n\n var key, toVal, fromVal;\n var keys = hasSymbol ? Reflect.ownKeys(from) : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i]; // in case the object is already observed...\n\n if (key === '__ob__') {\n continue;\n }\n\n toVal = to[key];\n fromVal = from[key];\n\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (toVal !== fromVal && isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n\n return to;\n }\n /**\n * Data\n */\n\n\n function mergeDataOrFn(parentVal, childVal, vm) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal;\n }\n\n if (!parentVal) {\n return childVal;\n } // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n\n\n return function mergedDataFn() {\n return mergeData(typeof childVal === 'function' ? childVal.call(this, this) : childVal, typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal);\n };\n } else {\n return function mergedInstanceDataFn() {\n // instance merge\n var instanceData = typeof childVal === 'function' ? childVal.call(vm, vm) : childVal;\n var defaultData = typeof parentVal === 'function' ? parentVal.call(vm, vm) : parentVal;\n\n if (instanceData) {\n return mergeData(instanceData, defaultData);\n } else {\n return defaultData;\n }\n };\n }\n }\n\n strats.data = function (parentVal, childVal, vm) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n warn('The \"data\" option should be a function ' + 'that returns a per-instance value in component ' + 'definitions.', vm);\n return parentVal;\n }\n\n return mergeDataOrFn(parentVal, childVal);\n }\n\n return mergeDataOrFn(parentVal, childVal, vm);\n };\n /**\n * Hooks and props are merged as arrays.\n */\n\n\n function mergeHook(parentVal, childVal) {\n var res = childVal ? parentVal ? parentVal.concat(childVal) : Array.isArray(childVal) ? childVal : [childVal] : parentVal;\n return res ? dedupeHooks(res) : res;\n }\n\n function dedupeHooks(hooks) {\n var res = [];\n\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n\n return res;\n }\n\n LIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n });\n /**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\n\n function mergeAssets(parentVal, childVal, vm, key) {\n var res = Object.create(parentVal || null);\n\n if (childVal) {\n assertObjectType(key, childVal, vm);\n return extend(res, childVal);\n } else {\n return res;\n }\n }\n\n ASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n });\n /**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\n\n strats.watch = function (parentVal, childVal, vm, key) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) {\n parentVal = undefined;\n }\n\n if (childVal === nativeWatch) {\n childVal = undefined;\n }\n /* istanbul ignore if */\n\n\n if (!childVal) {\n return Object.create(parentVal || null);\n }\n\n {\n assertObjectType(key, childVal, vm);\n }\n\n if (!parentVal) {\n return childVal;\n }\n\n var ret = {};\n extend(ret, parentVal);\n\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n\n ret[key$1] = parent ? parent.concat(child) : Array.isArray(child) ? child : [child];\n }\n\n return ret;\n };\n /**\n * Other object hashes.\n */\n\n\n strats.props = strats.methods = strats.inject = strats.computed = function (parentVal, childVal, vm, key) {\n if (childVal && \"development\" !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n\n if (!parentVal) {\n return childVal;\n }\n\n var ret = Object.create(null);\n extend(ret, parentVal);\n\n if (childVal) {\n extend(ret, childVal);\n }\n\n return ret;\n };\n\n strats.provide = mergeDataOrFn;\n /**\n * Default strategy.\n */\n\n var defaultStrat = function (parentVal, childVal) {\n return childVal === undefined ? parentVal : childVal;\n };\n /**\n * Validate component names\n */\n\n\n function checkComponents(options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n }\n\n function validateComponentName(name) {\n if (!new RegExp(\"^[a-zA-Z][\\\\-\\\\.0-9_\" + unicodeRegExp.source + \"]*$\").test(name)) {\n warn('Invalid component name: \"' + name + '\". Component names ' + 'should conform to valid custom element name in html5 specification.');\n }\n\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn('Do not use built-in or reserved HTML elements as component ' + 'id: ' + name);\n }\n }\n /**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\n\n\n function normalizeProps(options, vm) {\n var props = options.props;\n\n if (!props) {\n return;\n }\n\n var res = {};\n var i, val, name;\n\n if (Array.isArray(props)) {\n i = props.length;\n\n while (i--) {\n val = props[i];\n\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = {\n type: null\n };\n } else {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val) ? val : {\n type: val\n };\n }\n } else {\n warn(\"Invalid value for option \\\"props\\\": expected an Array or an Object, \" + \"but got \" + toRawType(props) + \".\", vm);\n }\n\n options.props = res;\n }\n /**\n * Normalize all injections into Object-based format\n */\n\n\n function normalizeInject(options, vm) {\n var inject = options.inject;\n\n if (!inject) {\n return;\n }\n\n var normalized = options.inject = {};\n\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = {\n from: inject[i]\n };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val) ? extend({\n from: key\n }, val) : {\n from: val\n };\n }\n } else {\n warn(\"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" + \"but got \" + toRawType(inject) + \".\", vm);\n }\n }\n /**\n * Normalize raw function directives into object format.\n */\n\n\n function normalizeDirectives(options) {\n var dirs = options.directives;\n\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n\n if (typeof def$$1 === 'function') {\n dirs[key] = {\n bind: def$$1,\n update: def$$1\n };\n }\n }\n }\n }\n\n function assertObjectType(name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" + \"but got \" + toRawType(value) + \".\", vm);\n }\n }\n /**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\n\n\n function mergeOptions(parent, child, vm) {\n {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child); // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n\n for (key in parent) {\n mergeField(key);\n }\n\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n\n function mergeField(key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n\n return options;\n }\n /**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\n\n\n function resolveAsset(options, type, id, warnMissing) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return;\n }\n\n var assets = options[type]; // check local registration variations first\n\n if (hasOwn(assets, id)) {\n return assets[id];\n }\n\n var camelizedId = camelize(id);\n\n if (hasOwn(assets, camelizedId)) {\n return assets[camelizedId];\n }\n\n var PascalCaseId = capitalize(camelizedId);\n\n if (hasOwn(assets, PascalCaseId)) {\n return assets[PascalCaseId];\n } // fallback to prototype chain\n\n\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n\n if (warnMissing && !res) {\n warn('Failed to resolve ' + type.slice(0, -1) + ': ' + id, options);\n }\n\n return res;\n }\n /* */\n\n\n function validateProp(key, propOptions, propsData, vm) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key]; // boolean casting\n\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n } // check default value\n\n\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key); // since the default value is a fresh copy,\n // make sure to observe it.\n\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n\n {\n assertProp(prop, key, value, vm, absent);\n }\n return value;\n }\n /**\n * Get the default value of a prop.\n */\n\n\n function getPropDefaultValue(vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined;\n }\n\n var def = prop.default; // warn against non-factory defaults for Object & Array\n\n if (isObject(def)) {\n warn('Invalid default value for prop \"' + key + '\": ' + 'Props with type Object/Array must use a factory function ' + 'to return the default value.', vm);\n } // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n\n\n if (vm && vm.$options.propsData && vm.$options.propsData[key] === undefined && vm._props[key] !== undefined) {\n return vm._props[key];\n } // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n\n\n return typeof def === 'function' && getType(prop.type) !== 'Function' ? def.call(vm) : def;\n }\n /**\n * Assert whether a prop is valid.\n */\n\n\n function assertProp(prop, name, value, vm, absent) {\n if (prop.required && absent) {\n warn('Missing required prop: \"' + name + '\"', vm);\n return;\n }\n\n if (value == null && !prop.required) {\n return;\n }\n\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(getInvalidTypeMessage(name, value, expectedTypes), vm);\n return;\n }\n\n var validator = prop.validator;\n\n if (validator) {\n if (!validator(value)) {\n warn('Invalid prop: custom validator check failed for prop \"' + name + '\".', vm);\n }\n }\n }\n\n var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\n function assertType(value, type) {\n var valid;\n var expectedType = getType(type);\n\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase(); // for primitive wrapper objects\n\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n\n return {\n valid: valid,\n expectedType: expectedType\n };\n }\n /**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\n\n\n function getType(fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : '';\n }\n\n function isSameType(a, b) {\n return getType(a) === getType(b);\n }\n\n function getTypeIndex(type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1;\n }\n\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i;\n }\n }\n\n return -1;\n }\n\n function getInvalidTypeMessage(name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" + \" Expected \" + expectedTypes.map(capitalize).join(', ');\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType); // check if we need to specify expected value\n\n if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n\n message += \", got \" + receivedType + \" \"; // check if we need to specify received value\n\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n\n return message;\n }\n\n function styleValue(value, type) {\n if (type === 'String') {\n return \"\\\"\" + value + \"\\\"\";\n } else if (type === 'Number') {\n return \"\" + Number(value);\n } else {\n return \"\" + value;\n }\n }\n\n function isExplicable(value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) {\n return value.toLowerCase() === elem;\n });\n }\n\n function isBoolean() {\n var args = [],\n len = arguments.length;\n\n while (len--) args[len] = arguments[len];\n\n return args.some(function (elem) {\n return elem.toLowerCase() === 'boolean';\n });\n }\n /* */\n\n\n function handleError(err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n\n try {\n if (vm) {\n var cur = vm;\n\n while (cur = cur.$parent) {\n var hooks = cur.$options.errorCaptured;\n\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n\n if (capture) {\n return;\n }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n }\n\n function invokeWithErrorHandling(handler, context, args, vm, info) {\n var res;\n\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) {\n return handleError(e, vm, info + \" (Promise/async)\");\n }); // issue #9511\n // avoid catch triggering multiple times when nested calls\n\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n\n return res;\n }\n\n function globalHandleError(err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info);\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n\n logError(err, vm, info);\n }\n\n function logError(err, vm, info) {\n {\n warn(\"Error in \" + info + \": \\\"\" + err.toString() + \"\\\"\", vm);\n }\n /* istanbul ignore else */\n\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err;\n }\n }\n /* */\n\n\n var isUsingMicroTask = false;\n var callbacks = [];\n var pending = false;\n\n function flushCallbacks() {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n } // Here we have async deferring wrappers using microtasks.\n // In 2.5 we used (macro) tasks (in combination with microtasks).\n // However, it has subtle problems when state is changed right before repaint\n // (e.g. #6813, out-in transitions).\n // Also, using (macro) tasks in event handler would cause some weird behaviors\n // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n // So we now use microtasks everywhere, again.\n // A major drawback of this tradeoff is that there are some scenarios\n // where microtasks have too high a priority and fire in between supposedly\n // sequential events (e.g. #4521, #6690, which have workarounds)\n // or even between bubbling of the same event (#6566).\n\n\n var timerFunc; // The nextTick behavior leverages the microtask queue, which can be accessed\n // via either native Promise.then or MutationObserver.\n // MutationObserver has wider support, however it is seriously bugged in\n // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n // completely stops working after triggering a few times... so, if native\n // Promise is available, we will use it:\n\n /* istanbul ignore next, $flow-disable-line */\n\n if (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n\n timerFunc = function () {\n p.then(flushCallbacks); // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n\n if (isIOS) {\n setTimeout(noop);\n }\n };\n\n isUsingMicroTask = true;\n } else if (!isIE && typeof MutationObserver !== 'undefined' && (isNative(MutationObserver) || // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]')) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n\n isUsingMicroTask = true;\n } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n } else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n }\n\n function nextTick(cb, ctx) {\n var _resolve;\n\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n\n if (!pending) {\n pending = true;\n timerFunc();\n } // $flow-disable-line\n\n\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n });\n }\n }\n /* */\n\n\n var mark;\n var measure;\n {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n\n if (perf && perf.mark && perf.measure && perf.clearMarks && perf.clearMeasures) {\n mark = function (tag) {\n return perf.mark(tag);\n };\n\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag); // perf.clearMeasures(name)\n };\n }\n }\n /* not type checking this file because flow doesn't play well with Proxy */\n\n var initProxy;\n {\n var allowedGlobals = makeMap('Infinity,undefined,NaN,isFinite,isNaN,' + 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" + 'referenced during render. Make sure that this property is reactive, ' + 'either in the data option, or for class-based components, by ' + 'initializing the property. ' + 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', target);\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" + 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' + 'prevent conflicts with Vue internals. ' + 'See: https://vuejs.org/v2/api/#data', target);\n };\n\n var hasProxy = typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set(target, key, value) {\n if (isBuiltInModifier(key)) {\n warn(\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key);\n return false;\n } else {\n target[key] = value;\n return true;\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has(target, key) {\n var has = (key in target);\n var isAllowed = allowedGlobals(key) || typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data);\n\n if (!has && !isAllowed) {\n if (key in target.$data) {\n warnReservedPrefix(target, key);\n } else {\n warnNonPresent(target, key);\n }\n }\n\n return has || !isAllowed;\n }\n };\n var getHandler = {\n get: function get(target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) {\n warnReservedPrefix(target, key);\n } else {\n warnNonPresent(target, key);\n }\n }\n\n return target[key];\n }\n };\n\n initProxy = function initProxy(vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped ? getHandler : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n }\n /* */\n\n var seenObjects = new _Set();\n /**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\n\n function traverse(val) {\n _traverse(val, seenObjects);\n\n seenObjects.clear();\n }\n\n function _traverse(val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n\n if (!isA && !isObject(val) || Object.isFrozen(val) || val instanceof VNode) {\n return;\n }\n\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n\n if (seen.has(depId)) {\n return;\n }\n\n seen.add(depId);\n }\n\n if (isA) {\n i = val.length;\n\n while (i--) {\n _traverse(val[i], seen);\n }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n\n while (i--) {\n _traverse(val[keys[i]], seen);\n }\n }\n }\n /* */\n\n\n var normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n };\n });\n\n function createFnInvoker(fns, vm) {\n function invoker() {\n var arguments$1 = arguments;\n var fns = invoker.fns;\n\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\");\n }\n }\n\n invoker.fns = fns;\n return invoker;\n }\n\n function updateListeners(on, oldOn, add, remove$$1, createOnceHandler, vm) {\n var name, def$$1, cur, old, event;\n\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n\n if (isUndef(cur)) {\n warn(\"Invalid handler for event \\\"\" + event.name + \"\\\": got \" + String(cur), vm);\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n }\n /* */\n\n\n function mergeVNodeHook(def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook() {\n hook.apply(this, arguments); // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n }\n /* */\n\n\n function extractPropsFromVNodeData(data, Ctor, tag) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n\n if (isUndef(propOptions)) {\n return;\n }\n\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n {\n var keyInLowerCase = key.toLowerCase();\n\n if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) {\n tip(\"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" + formatComponentName(tag || Ctor) + \", but the declared prop name is\" + \" \\\"\" + key + \"\\\". \" + \"Note that HTML attributes are case-insensitive and camelCased \" + \"props need to use their kebab-case equivalents when using in-DOM \" + \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\");\n }\n }\n checkProp(res, props, key, altKey, true) || checkProp(res, attrs, key, altKey, false);\n }\n }\n\n return res;\n }\n\n function checkProp(res, hash, key, altKey, preserve) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n\n if (!preserve) {\n delete hash[key];\n }\n\n return true;\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n\n if (!preserve) {\n delete hash[altKey];\n }\n\n return true;\n }\n }\n\n return false;\n }\n /* */\n // The template compiler attempts to minimize the need for normalization by\n // statically analyzing the template at compile time.\n //\n // For plain HTML markup, normalization can be completely skipped because the\n // generated render function is guaranteed to return Array. There are\n // two cases where extra normalization is needed:\n // 1. When the children contains components - because a functional component\n // may return an Array instead of a single root. In this case, just a simple\n // normalization is needed - if any child is an Array, we flatten the whole\n // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n // because functional components already normalize their own children.\n\n\n function simpleNormalizeChildren(children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children);\n }\n }\n\n return children;\n } // 2. When the children contains constructs that always generated nested Arrays,\n // e.g.