{"version":3,"file":"/js/site.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///./node_modules/@bugsnag/browser/dist/bugsnag.js","webpack:///./node_modules/@bugsnag/js/browser/notifier.js","webpack:///./node_modules/alpinejs/dist/module.esm.js","webpack:///./resources/js/site.js","webpack:///./node_modules/process/browser.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.Bugsnag = f()}})(function(){var define,module,exports;\nvar _$breadcrumbTypes_8 = ['navigation', 'request', 'process', 'log', 'user', 'state', 'error', 'manual'];\n\n// Array#reduce\nvar _$reduce_17 = function (arr, fn, accum) {\n var val = accum;\n\n for (var i = 0, len = arr.length; i < len; i++) {\n val = fn(val, arr[i], i, arr);\n }\n\n return val;\n};\n\n/* removed: var _$reduce_17 = require('./reduce'); */; // Array#filter\n\n\nvar _$filter_12 = function (arr, fn) {\n return _$reduce_17(arr, function (accum, item, i, arr) {\n return !fn(item, i, arr) ? accum : accum.concat(item);\n }, []);\n};\n\n/* removed: var _$reduce_17 = require('./reduce'); */; // Array#includes\n\n\nvar _$includes_13 = function (arr, x) {\n return _$reduce_17(arr, function (accum, item, i, arr) {\n return accum === true || item === x;\n }, false);\n};\n\n// Array#isArray\nvar _$isArray_14 = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n};\n\n/* eslint-disable-next-line no-prototype-builtins */\nvar _hasDontEnumBug = !{\n toString: null\n}.propertyIsEnumerable('toString');\n\nvar _dontEnums = ['toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor']; // Object#keys\n\nvar _$keys_15 = function (obj) {\n // stripped down version of\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/Keys\n var result = [];\n var prop;\n\n for (prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) result.push(prop);\n }\n\n if (!_hasDontEnumBug) return result;\n\n for (var i = 0, len = _dontEnums.length; i < len; i++) {\n if (Object.prototype.hasOwnProperty.call(obj, _dontEnums[i])) result.push(_dontEnums[i]);\n }\n\n return result;\n};\n\nvar _$intRange_24 = function (min, max) {\n if (min === void 0) {\n min = 1;\n }\n\n if (max === void 0) {\n max = Infinity;\n }\n\n return function (value) {\n return typeof value === 'number' && parseInt('' + value, 10) === value && value >= min && value <= max;\n };\n};\n\n/* removed: var _$filter_12 = require('../es-utils/filter'); */;\n\n/* removed: var _$isArray_14 = require('../es-utils/is-array'); */;\n\nvar _$listOfFunctions_25 = function (value) {\n return typeof value === 'function' || _$isArray_14(value) && _$filter_12(value, function (f) {\n return typeof f === 'function';\n }).length === value.length;\n};\n\nvar _$stringWithLength_26 = function (value) {\n return typeof value === 'string' && !!value.length;\n};\n\nvar _$config_5 = {};\n/* removed: var _$filter_12 = require('./lib/es-utils/filter'); */;\n\n/* removed: var _$reduce_17 = require('./lib/es-utils/reduce'); */;\n\n/* removed: var _$keys_15 = require('./lib/es-utils/keys'); */;\n\n/* removed: var _$isArray_14 = require('./lib/es-utils/is-array'); */;\n\n/* removed: var _$includes_13 = require('./lib/es-utils/includes'); */;\n\n/* removed: var _$intRange_24 = require('./lib/validators/int-range'); */;\n\n/* removed: var _$stringWithLength_26 = require('./lib/validators/string-with-length'); */;\n\n/* removed: var _$listOfFunctions_25 = require('./lib/validators/list-of-functions'); */;\n\n/* removed: var _$breadcrumbTypes_8 = require('./lib/breadcrumb-types'); */;\n\nvar defaultErrorTypes = function () {\n return {\n unhandledExceptions: true,\n unhandledRejections: true\n };\n};\n\n_$config_5.schema = {\n apiKey: {\n defaultValue: function () {\n return null;\n },\n message: 'is required',\n validate: _$stringWithLength_26\n },\n appVersion: {\n defaultValue: function () {\n return undefined;\n },\n message: 'should be a string',\n validate: function (value) {\n return value === undefined || _$stringWithLength_26(value);\n }\n },\n appType: {\n defaultValue: function () {\n return undefined;\n },\n message: 'should be a string',\n validate: function (value) {\n return value === undefined || _$stringWithLength_26(value);\n }\n },\n autoDetectErrors: {\n defaultValue: function () {\n return true;\n },\n message: 'should be true|false',\n validate: function (value) {\n return value === true || value === false;\n }\n },\n enabledErrorTypes: {\n defaultValue: function () {\n return defaultErrorTypes();\n },\n message: 'should be an object containing the flags { unhandledExceptions:true|false, unhandledRejections:true|false }',\n allowPartialObject: true,\n validate: function (value) {\n // ensure we have an object\n if (typeof value !== 'object' || !value) return false;\n var providedKeys = _$keys_15(value);\n var defaultKeys = _$keys_15(defaultErrorTypes()); // ensure it only has a subset of the allowed keys\n\n if (_$filter_12(providedKeys, function (k) {\n return _$includes_13(defaultKeys, k);\n }).length < providedKeys.length) return false; // ensure all of the values are boolean\n\n if (_$filter_12(_$keys_15(value), function (k) {\n return typeof value[k] !== 'boolean';\n }).length > 0) return false;\n return true;\n }\n },\n onError: {\n defaultValue: function () {\n return [];\n },\n message: 'should be a function or array of functions',\n validate: _$listOfFunctions_25\n },\n onSession: {\n defaultValue: function () {\n return [];\n },\n message: 'should be a function or array of functions',\n validate: _$listOfFunctions_25\n },\n onBreadcrumb: {\n defaultValue: function () {\n return [];\n },\n message: 'should be a function or array of functions',\n validate: _$listOfFunctions_25\n },\n endpoints: {\n defaultValue: function () {\n return {\n notify: 'https://notify.bugsnag.com',\n sessions: 'https://sessions.bugsnag.com'\n };\n },\n message: 'should be an object containing endpoint URLs { notify, sessions }',\n validate: function (val) {\n return (// first, ensure it's an object\n val && typeof val === 'object' && // notify and sessions must always be set\n _$stringWithLength_26(val.notify) && _$stringWithLength_26(val.sessions) && // ensure no keys other than notify/session are set on endpoints object\n _$filter_12(_$keys_15(val), function (k) {\n return !_$includes_13(['notify', 'sessions'], k);\n }).length === 0\n );\n }\n },\n autoTrackSessions: {\n defaultValue: function (val) {\n return true;\n },\n message: 'should be true|false',\n validate: function (val) {\n return val === true || val === false;\n }\n },\n enabledReleaseStages: {\n defaultValue: function () {\n return null;\n },\n message: 'should be an array of strings',\n validate: function (value) {\n return value === null || _$isArray_14(value) && _$filter_12(value, function (f) {\n return typeof f === 'string';\n }).length === value.length;\n }\n },\n releaseStage: {\n defaultValue: function () {\n return 'production';\n },\n message: 'should be a string',\n validate: function (value) {\n return typeof value === 'string' && value.length;\n }\n },\n maxBreadcrumbs: {\n defaultValue: function () {\n return 25;\n },\n message: 'should be a number ≤100',\n validate: function (value) {\n return _$intRange_24(0, 100)(value);\n }\n },\n enabledBreadcrumbTypes: {\n defaultValue: function () {\n return _$breadcrumbTypes_8;\n },\n message: \"should be null or a list of available breadcrumb types (\" + _$breadcrumbTypes_8.join(',') + \")\",\n validate: function (value) {\n return value === null || _$isArray_14(value) && _$reduce_17(value, function (accum, maybeType) {\n if (accum === false) return accum;\n return _$includes_13(_$breadcrumbTypes_8, maybeType);\n }, true);\n }\n },\n context: {\n defaultValue: function () {\n return undefined;\n },\n message: 'should be a string',\n validate: function (value) {\n return value === undefined || typeof value === 'string';\n }\n },\n user: {\n defaultValue: function () {\n return {};\n },\n message: 'should be an object with { id, email, name } properties',\n validate: function (value) {\n return value === null || value && _$reduce_17(_$keys_15(value), function (accum, key) {\n return accum && _$includes_13(['id', 'email', 'name'], key);\n }, true);\n }\n },\n metadata: {\n defaultValue: function () {\n return {};\n },\n message: 'should be an object',\n validate: function (value) {\n return typeof value === 'object' && value !== null;\n }\n },\n logger: {\n defaultValue: function () {\n return undefined;\n },\n message: 'should be null or an object with methods { debug, info, warn, error }',\n validate: function (value) {\n return !value || value && _$reduce_17(['debug', 'info', 'warn', 'error'], function (accum, method) {\n return accum && typeof value[method] === 'function';\n }, true);\n }\n },\n redactedKeys: {\n defaultValue: function () {\n return ['password'];\n },\n message: 'should be an array of strings|regexes',\n validate: function (value) {\n return _$isArray_14(value) && value.length === _$filter_12(value, function (s) {\n return typeof s === 'string' || s && typeof s.test === 'function';\n }).length;\n }\n },\n plugins: {\n defaultValue: function () {\n return [];\n },\n message: 'should be an array of plugin objects',\n validate: function (value) {\n return _$isArray_14(value) && value.length === _$filter_12(value, function (p) {\n return p && typeof p === 'object' && typeof p.load === 'function';\n }).length;\n }\n },\n featureFlags: {\n defaultValue: function () {\n return [];\n },\n message: 'should be an array of objects that have a \"name\" property',\n validate: function (value) {\n return _$isArray_14(value) && value.length === _$filter_12(value, function (feature) {\n return feature && typeof feature === 'object' && typeof feature.name === 'string';\n }).length;\n }\n }\n};\n\n// extends helper from babel\n// https://github.com/babel/babel/blob/916429b516e6466fd06588ee820e40e025d7f3a3/packages/babel-helpers/src/helpers.js#L377-L393\nvar _$assign_11 = function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/* removed: var _$reduce_17 = require('./reduce'); */; // Array#map\n\n\nvar _$map_16 = function (arr, fn) {\n return _$reduce_17(arr, function (accum, item, i, arr) {\n return accum.concat(fn(item, i, arr));\n }, []);\n};\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar schema = _$config_5.schema;\n\n/* removed: var _$map_16 = require('@bugsnag/core/lib/es-utils/map'); */;\n\n/* removed: var _$assign_11 = require('@bugsnag/core/lib/es-utils/assign'); */;\n\nvar _$config_1 = {\n releaseStage: _$assign_11({}, schema.releaseStage, {\n defaultValue: function () {\n if (/^localhost(:\\d+)?$/.test(window.location.host)) return 'development';\n return 'production';\n }\n }),\n appType: _extends({}, schema.appType, {\n defaultValue: function () {\n return 'browser';\n }\n }),\n logger: _$assign_11({}, schema.logger, {\n defaultValue: function () {\n return (// set logger based on browser capability\n typeof console !== 'undefined' && typeof console.debug === 'function' ? getPrefixedConsole() : undefined\n );\n }\n })\n};\n\nvar getPrefixedConsole = function () {\n var logger = {};\n var consoleLog = console.log;\n _$map_16(['debug', 'info', 'warn', 'error'], function (method) {\n var consoleMethod = console[method];\n logger[method] = typeof consoleMethod === 'function' ? consoleMethod.bind(console, '[bugsnag]') : consoleLog.bind(console, '[bugsnag]');\n });\n return logger;\n};\n\nvar Breadcrumb = /*#__PURE__*/function () {\n function Breadcrumb(message, metadata, type, timestamp) {\n if (timestamp === void 0) {\n timestamp = new Date();\n }\n\n this.type = type;\n this.message = message;\n this.metadata = metadata;\n this.timestamp = timestamp;\n }\n\n var _proto = Breadcrumb.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n type: this.type,\n name: this.message,\n timestamp: this.timestamp,\n metaData: this.metadata\n };\n };\n\n return Breadcrumb;\n}();\n\nvar _$Breadcrumb_3 = Breadcrumb;\n\nvar _$stackframe_34 = {};\n(function (root, factory) {\n 'use strict'; // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n\n if (typeof define === 'function' && define.amd) {\n define('stackframe', [], factory);\n } else if (typeof _$stackframe_34 === 'object') {\n _$stackframe_34 = factory();\n } else {\n root.StackFrame = factory();\n }\n})(this, function () {\n 'use strict';\n\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n }\n\n function _getter(p) {\n return function () {\n return this[p];\n };\n }\n\n var booleanProps = ['isConstructor', 'isEval', 'isNative', 'isToplevel'];\n var numericProps = ['columnNumber', 'lineNumber'];\n var stringProps = ['fileName', 'functionName', 'source'];\n var arrayProps = ['args'];\n var props = booleanProps.concat(numericProps, stringProps, arrayProps);\n\n function StackFrame(obj) {\n if (obj instanceof Object) {\n for (var i = 0; i < props.length; i++) {\n if (obj.hasOwnProperty(props[i]) && obj[props[i]] !== undefined) {\n this['set' + _capitalize(props[i])](obj[props[i]]);\n }\n }\n }\n }\n\n StackFrame.prototype = {\n getArgs: function () {\n return this.args;\n },\n setArgs: function (v) {\n if (Object.prototype.toString.call(v) !== '[object Array]') {\n throw new TypeError('Args must be an Array');\n }\n\n this.args = v;\n },\n getEvalOrigin: function () {\n return this.evalOrigin;\n },\n setEvalOrigin: function (v) {\n if (v instanceof StackFrame) {\n this.evalOrigin = v;\n } else if (v instanceof Object) {\n this.evalOrigin = new StackFrame(v);\n } else {\n throw new TypeError('Eval Origin must be an Object or StackFrame');\n }\n },\n toString: function () {\n var functionName = this.getFunctionName() || '{anonymous}';\n var args = '(' + (this.getArgs() || []).join(',') + ')';\n var fileName = this.getFileName() ? '@' + this.getFileName() : '';\n var lineNumber = _isNumber(this.getLineNumber()) ? ':' + this.getLineNumber() : '';\n var columnNumber = _isNumber(this.getColumnNumber()) ? ':' + this.getColumnNumber() : '';\n return functionName + args + fileName + lineNumber + columnNumber;\n }\n };\n\n for (var i = 0; i < booleanProps.length; i++) {\n StackFrame.prototype['get' + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);\n\n StackFrame.prototype['set' + _capitalize(booleanProps[i])] = function (p) {\n return function (v) {\n this[p] = Boolean(v);\n };\n }(booleanProps[i]);\n }\n\n for (var j = 0; j < numericProps.length; j++) {\n StackFrame.prototype['get' + _capitalize(numericProps[j])] = _getter(numericProps[j]);\n\n StackFrame.prototype['set' + _capitalize(numericProps[j])] = function (p) {\n return function (v) {\n if (!_isNumber(v)) {\n throw new TypeError(p + ' must be a Number');\n }\n\n this[p] = Number(v);\n };\n }(numericProps[j]);\n }\n\n for (var k = 0; k < stringProps.length; k++) {\n StackFrame.prototype['get' + _capitalize(stringProps[k])] = _getter(stringProps[k]);\n\n StackFrame.prototype['set' + _capitalize(stringProps[k])] = function (p) {\n return function (v) {\n this[p] = String(v);\n };\n }(stringProps[k]);\n }\n\n return StackFrame;\n});\n\nvar _$errorStackParser_31 = {};\n(function (root, factory) {\n 'use strict'; // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n\n if (typeof define === 'function' && define.amd) {\n define('error-stack-parser', ['stackframe'], factory);\n } else if (typeof _$errorStackParser_31 === 'object') {\n _$errorStackParser_31 = factory(_$stackframe_34);\n } else {\n root.ErrorStackParser = factory(root.StackFrame);\n }\n})(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+\\:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+\\:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code\\])?$/;\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n\n var regExp = /(.+?)(?:\\:(\\d+))?(?:\\:(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[\\(\\)]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n return filtered.map(function (line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^\\()]*)|(\\)\\,.*$)/g, '');\n }\n\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '('); // capture and preseve the parenthesized location \"(/foo/my bar.js:12:87)\" in\n // case it has spaces in it, as the string is split on \\s+ later on\n\n var location = sanitizedLine.match(/ (\\((.+):(\\d+):(\\d+)\\)$)/); // remove the parenthesized location from the line, if it was matched\n\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n var tokens = sanitizedLine.split(/\\s+/).slice(1); // if a location was matched, pass it to extractLocation() otherwise pop the last token\n\n var locationParts = this.extractLocation(location ? location[1] : tokens.pop());\n var functionName = tokens.join(' ') || undefined;\n var fileName = ['eval', ''].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n return filtered.map(function (line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval\\:\\d+\\:\\d+/g, ':$1');\n }\n\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || e.message.indexOf('\\n') > -1 && e.message.split('\\n').length > e.stacktrace.split('\\n').length) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n\n return result;\n },\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n\n if (match) {\n result.push(new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n\n return result;\n },\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n return filtered.map(function (line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = tokens.shift() || '';\n var functionName = functionCall.replace(//, '$2').replace(/\\([^\\)]*\\)/g, '') || undefined;\n var argsRaw;\n\n if (functionCall.match(/\\(([^\\)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^\\(]+\\(([^\\)]*)\\)$/, '$1');\n }\n\n var args = argsRaw === undefined || argsRaw === '[arguments not available]' ? undefined : argsRaw.split(',');\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n});\n\nvar _$errorStackParser_10 = _$errorStackParser_31;\n\nvar _$safeJsonStringify_30 = function (data, replacer, space, opts) {\n var redactedKeys = opts && opts.redactedKeys ? opts.redactedKeys : [];\n var redactedPaths = opts && opts.redactedPaths ? opts.redactedPaths : [];\n return JSON.stringify(prepareObjForSerialization(data, redactedKeys, redactedPaths), replacer, space);\n};\n\nvar MAX_DEPTH = 20;\nvar MAX_EDGES = 25000;\nvar MIN_PRESERVED_DEPTH = 8;\nvar REPLACEMENT_NODE = '...';\n\nfunction isError(o) {\n return o instanceof Error || /^\\[object (Error|(Dom)?Exception)\\]$/.test(Object.prototype.toString.call(o));\n}\n\nfunction throwsMessage(err) {\n return '[Throws: ' + (err ? err.message : '?') + ']';\n}\n\nfunction find(haystack, needle) {\n for (var i = 0, len = haystack.length; i < len; i++) {\n if (haystack[i] === needle) return true;\n }\n\n return false;\n} // returns true if the string `path` starts with any of the provided `paths`\n\n\nfunction isDescendent(paths, path) {\n for (var i = 0, len = paths.length; i < len; i++) {\n if (path.indexOf(paths[i]) === 0) return true;\n }\n\n return false;\n}\n\nfunction shouldRedact(patterns, key) {\n for (var i = 0, len = patterns.length; i < len; i++) {\n if (typeof patterns[i] === 'string' && patterns[i].toLowerCase() === key.toLowerCase()) return true;\n if (patterns[i] && typeof patterns[i].test === 'function' && patterns[i].test(key)) return true;\n }\n\n return false;\n}\n\nfunction __isArray_30(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n}\n\nfunction safelyGetProp(obj, prop) {\n try {\n return obj[prop];\n } catch (err) {\n return throwsMessage(err);\n }\n}\n\nfunction prepareObjForSerialization(obj, redactedKeys, redactedPaths) {\n var seen = []; // store references to objects we have seen before\n\n var edges = 0;\n\n function visit(obj, path) {\n function edgesExceeded() {\n return path.length > MIN_PRESERVED_DEPTH && edges > MAX_EDGES;\n }\n\n edges++;\n if (path.length > MAX_DEPTH) return REPLACEMENT_NODE;\n if (edgesExceeded()) return REPLACEMENT_NODE;\n if (obj === null || typeof obj !== 'object') return obj;\n if (find(seen, obj)) return '[Circular]';\n seen.push(obj);\n\n if (typeof obj.toJSON === 'function') {\n try {\n // we're not going to count this as an edge because it\n // replaces the value of the currently visited object\n edges--;\n var fResult = visit(obj.toJSON(), path);\n seen.pop();\n return fResult;\n } catch (err) {\n return throwsMessage(err);\n }\n }\n\n var er = isError(obj);\n\n if (er) {\n edges--;\n var eResult = visit({\n name: obj.name,\n message: obj.message\n }, path);\n seen.pop();\n return eResult;\n }\n\n if (__isArray_30(obj)) {\n var aResult = [];\n\n for (var i = 0, len = obj.length; i < len; i++) {\n if (edgesExceeded()) {\n aResult.push(REPLACEMENT_NODE);\n break;\n }\n\n aResult.push(visit(obj[i], path.concat('[]')));\n }\n\n seen.pop();\n return aResult;\n }\n\n var result = {};\n\n try {\n for (var prop in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, prop)) continue;\n\n if (isDescendent(redactedPaths, path.join('.')) && shouldRedact(redactedKeys, prop)) {\n result[prop] = '[REDACTED]';\n continue;\n }\n\n if (edgesExceeded()) {\n result[prop] = REPLACEMENT_NODE;\n break;\n }\n\n result[prop] = visit(safelyGetProp(obj, prop), path.concat(prop));\n }\n } catch (e) {}\n\n seen.pop();\n return result;\n }\n\n return visit(obj, []);\n}\n\n/* removed: var _$map_16 = require('./es-utils/map'); */;\n\n/* removed: var _$keys_15 = require('./es-utils/keys'); */;\n\n/* removed: var _$isArray_14 = require('./es-utils/is-array'); */;\n\n/* removed: var _$safeJsonStringify_30 = require('@bugsnag/safe-json-stringify'); */;\n\nfunction add(existingFeatures, name, variant) {\n if (typeof name !== 'string') {\n return;\n }\n\n if (variant === undefined) {\n variant = null;\n } else if (variant !== null && typeof variant !== 'string') {\n variant = _$safeJsonStringify_30(variant);\n }\n\n existingFeatures[name] = variant;\n}\n\nfunction merge(existingFeatures, newFeatures) {\n if (!_$isArray_14(newFeatures)) {\n return;\n }\n\n for (var i = 0; i < newFeatures.length; ++i) {\n var feature = newFeatures[i];\n\n if (feature === null || typeof feature !== 'object') {\n continue;\n } // 'add' will handle if 'name' doesn't exist & 'variant' is optional\n\n\n add(existingFeatures, feature.name, feature.variant);\n }\n} // convert feature flags from a map of 'name -> variant' into the format required\n// by the Bugsnag Event API:\n// [{ featureFlag: 'name', variant: 'variant' }, { featureFlag: 'name 2' }]\n\n\nfunction toEventApi(featureFlags) {\n return _$map_16(_$keys_15(featureFlags), function (name) {\n var flag = {\n featureFlag: name\n }; // don't add a 'variant' property unless there's actually a value\n\n if (typeof featureFlags[name] === 'string') {\n flag.variant = featureFlags[name];\n }\n\n return flag;\n });\n}\n\nvar _$featureFlagDelegate_18 = {\n add: add,\n merge: merge,\n toEventApi: toEventApi\n};\n\n// Given `err` which may be an error, does it have a stack property which is a string?\nvar _$hasStack_19 = function (err) {\n return !!err && (!!err.stack || !!err.stacktrace || !!err['opera#sourceloc']) && typeof (err.stack || err.stacktrace || err['opera#sourceloc']) === 'string' && err.stack !== err.name + \": \" + err.message;\n};\n\n/**\n * Expose `isError`.\n */\nvar _$isError_32 = __isError_32;\n/**\n * Test whether `value` is error object.\n *\n * @param {*} value\n * @returns {boolean}\n */\n\nfunction __isError_32(value) {\n switch (Object.prototype.toString.call(value)) {\n case '[object Error]':\n return true;\n\n case '[object Exception]':\n return true;\n\n case '[object DOMException]':\n return true;\n\n default:\n return value instanceof Error;\n }\n}\n\nvar _$iserror_20 = _$isError_32;\n\n/* removed: var _$assign_11 = require('./es-utils/assign'); */;\n\nvar __add_22 = function (state, section, keyOrObj, maybeVal) {\n var _updates;\n\n if (!section) return;\n var updates; // addMetadata(\"section\", null) -> clears section\n\n if (keyOrObj === null) return clear(state, section); // normalise the two supported input types into object form\n\n if (typeof keyOrObj === 'object') updates = keyOrObj;\n if (typeof keyOrObj === 'string') updates = (_updates = {}, _updates[keyOrObj] = maybeVal, _updates); // exit if we don't have an updates object at this point\n\n if (!updates) return; // ensure a section with this name exists\n\n if (!state[section]) state[section] = {}; // merge the updates with the existing section\n\n state[section] = _$assign_11({}, state[section], updates);\n};\n\nvar get = function (state, section, key) {\n if (typeof section !== 'string') return undefined;\n\n if (!key) {\n return state[section];\n }\n\n if (state[section]) {\n return state[section][key];\n }\n\n return undefined;\n};\n\nvar clear = function (state, section, key) {\n if (typeof section !== 'string') return; // clear an entire section\n\n if (!key) {\n delete state[section];\n return;\n } // clear a single value from a section\n\n\n if (state[section]) {\n delete state[section][key];\n }\n};\n\nvar _$metadataDelegate_22 = {\n add: __add_22,\n get: get,\n clear: clear\n};\n\nvar _$stackGenerator_33 = {};\n(function (root, factory) {\n 'use strict'; // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n\n if (typeof define === 'function' && define.amd) {\n define('stack-generator', ['stackframe'], factory);\n } else if (typeof _$stackGenerator_33 === 'object') {\n _$stackGenerator_33 = factory(_$stackframe_34);\n } else {\n root.StackGenerator = factory(root.StackFrame);\n }\n})(this, function (StackFrame) {\n return {\n backtrace: function StackGenerator$$backtrace(opts) {\n var stack = [];\n var maxStackSize = 10;\n\n if (typeof opts === 'object' && typeof opts.maxStackSize === 'number') {\n maxStackSize = opts.maxStackSize;\n }\n\n var curr = arguments.callee;\n\n while (curr && stack.length < maxStackSize && curr['arguments']) {\n // Allow V8 optimizations\n var args = new Array(curr['arguments'].length);\n\n for (var i = 0; i < args.length; ++i) {\n args[i] = curr['arguments'][i];\n }\n\n if (/function(?:\\s+([\\w$]+))+\\s*\\(/.test(curr.toString())) {\n stack.push(new StackFrame({\n functionName: RegExp.$1 || undefined,\n args: args\n }));\n } else {\n stack.push(new StackFrame({\n args: args\n }));\n }\n\n try {\n curr = curr.caller;\n } catch (e) {\n break;\n }\n }\n\n return stack;\n }\n };\n});\n\n/* removed: var _$errorStackParser_10 = require('./lib/error-stack-parser'); */;\n\n/* removed: var _$stackGenerator_33 = require('stack-generator'); */;\n\n/* removed: var _$hasStack_19 = require('./lib/has-stack'); */;\n\n/* removed: var _$map_16 = require('./lib/es-utils/map'); */;\n\n/* removed: var _$reduce_17 = require('./lib/es-utils/reduce'); */;\n\n/* removed: var _$filter_12 = require('./lib/es-utils/filter'); */;\n\n/* removed: var _$assign_11 = require('./lib/es-utils/assign'); */;\n\n/* removed: var _$metadataDelegate_22 = require('./lib/metadata-delegate'); */;\n\n/* removed: var _$featureFlagDelegate_18 = require('./lib/feature-flag-delegate'); */;\n\n/* removed: var _$iserror_20 = require('./lib/iserror'); */;\n\nvar Event = /*#__PURE__*/function () {\n function Event(errorClass, errorMessage, stacktrace, handledState, originalError) {\n if (stacktrace === void 0) {\n stacktrace = [];\n }\n\n if (handledState === void 0) {\n handledState = defaultHandledState();\n }\n\n this.apiKey = undefined;\n this.context = undefined;\n this.groupingHash = undefined;\n this.originalError = originalError;\n this._handledState = handledState;\n this.severity = this._handledState.severity;\n this.unhandled = this._handledState.unhandled;\n this.app = {};\n this.device = {};\n this.request = {};\n this.breadcrumbs = [];\n this.threads = [];\n this._metadata = {};\n this._features = {};\n this._user = {};\n this._session = undefined;\n this.errors = [{\n errorClass: ensureString(errorClass),\n errorMessage: ensureString(errorMessage),\n type: Event.__type,\n stacktrace: _$reduce_17(stacktrace, function (accum, frame) {\n var f = formatStackframe(frame); // don't include a stackframe if none of its properties are defined\n\n try {\n if (JSON.stringify(f) === '{}') return accum;\n return accum.concat(f);\n } catch (e) {\n return accum;\n }\n }, [])\n }]; // Flags.\n // Note these are not initialised unless they are used\n // to save unnecessary bytes in the browser bundle\n\n /* this.attemptImmediateDelivery, default: true */\n }\n\n var _proto = Event.prototype;\n\n _proto.addMetadata = function addMetadata(section, keyOrObj, maybeVal) {\n return _$metadataDelegate_22.add(this._metadata, section, keyOrObj, maybeVal);\n };\n\n _proto.getMetadata = function getMetadata(section, key) {\n return _$metadataDelegate_22.get(this._metadata, section, key);\n };\n\n _proto.clearMetadata = function clearMetadata(section, key) {\n return _$metadataDelegate_22.clear(this._metadata, section, key);\n };\n\n _proto.addFeatureFlag = function addFeatureFlag(name, variant) {\n if (variant === void 0) {\n variant = null;\n }\n\n _$featureFlagDelegate_18.add(this._features, name, variant);\n };\n\n _proto.addFeatureFlags = function addFeatureFlags(featureFlags) {\n _$featureFlagDelegate_18.merge(this._features, featureFlags);\n };\n\n _proto.clearFeatureFlag = function clearFeatureFlag(name) {\n delete this._features[name];\n };\n\n _proto.clearFeatureFlags = function clearFeatureFlags() {\n this._features = {};\n };\n\n _proto.getUser = function getUser() {\n return this._user;\n };\n\n _proto.setUser = function setUser(id, email, name) {\n this._user = {\n id: id,\n email: email,\n name: name\n };\n };\n\n _proto.toJSON = function toJSON() {\n return {\n payloadVersion: '4',\n exceptions: _$map_16(this.errors, function (er) {\n return _$assign_11({}, er, {\n message: er.errorMessage\n });\n }),\n severity: this.severity,\n unhandled: this._handledState.unhandled,\n severityReason: this._handledState.severityReason,\n app: this.app,\n device: this.device,\n request: this.request,\n breadcrumbs: this.breadcrumbs,\n context: this.context,\n groupingHash: this.groupingHash,\n metaData: this._metadata,\n user: this._user,\n session: this._session,\n featureFlags: _$featureFlagDelegate_18.toEventApi(this._features)\n };\n };\n\n return Event;\n}(); // takes a stacktrace.js style stackframe (https://github.com/stacktracejs/stackframe)\n// and returns a Bugsnag compatible stackframe (https://docs.bugsnag.com/api/error-reporting/#json-payload)\n\n\nvar formatStackframe = function (frame) {\n var f = {\n file: frame.fileName,\n method: normaliseFunctionName(frame.functionName),\n lineNumber: frame.lineNumber,\n columnNumber: frame.columnNumber,\n code: undefined,\n inProject: undefined\n }; // Some instances result in no file:\n // - calling notify() from chrome's terminal results in no file/method.\n // - non-error exception thrown from global code in FF\n // This adds one.\n\n if (f.lineNumber > -1 && !f.file && !f.method) {\n f.file = 'global code';\n }\n\n return f;\n};\n\nvar normaliseFunctionName = function (name) {\n return /^global code$/i.test(name) ? 'global code' : name;\n};\n\nvar defaultHandledState = function () {\n return {\n unhandled: false,\n severity: 'warning',\n severityReason: {\n type: 'handledException'\n }\n };\n};\n\nvar ensureString = function (str) {\n return typeof str === 'string' ? str : '';\n}; // Helpers\n\n\nEvent.getStacktrace = function (error, errorFramesToSkip, backtraceFramesToSkip) {\n if (_$hasStack_19(error)) return _$errorStackParser_10.parse(error).slice(errorFramesToSkip); // error wasn't provided or didn't have a stacktrace so try to walk the callstack\n\n try {\n return _$filter_12(_$stackGenerator_33.backtrace(), function (frame) {\n return (frame.functionName || '').indexOf('StackGenerator$$') === -1;\n }).slice(1 + backtraceFramesToSkip);\n } catch (e) {\n return [];\n }\n};\n\nEvent.create = function (maybeError, tolerateNonErrors, handledState, component, errorFramesToSkip, logger) {\n if (errorFramesToSkip === void 0) {\n errorFramesToSkip = 0;\n }\n\n var _normaliseError = normaliseError(maybeError, tolerateNonErrors, component, logger),\n error = _normaliseError[0],\n internalFrames = _normaliseError[1];\n\n var event;\n\n try {\n var stacktrace = Event.getStacktrace(error, // if an error was created/throw in the normaliseError() function, we need to\n // tell the getStacktrace() function to skip the number of frames we know will\n // be from our own functions. This is added to the number of frames deep we\n // were told about\n internalFrames > 0 ? 1 + internalFrames + errorFramesToSkip : 0, // if there's no stacktrace, the callstack may be walked to generated one.\n // this is how many frames should be removed because they come from our library\n 1 + errorFramesToSkip);\n event = new Event(error.name, error.message, stacktrace, handledState, maybeError);\n } catch (e) {\n event = new Event(error.name, error.message, [], handledState, maybeError);\n }\n\n if (error.name === 'InvalidError') {\n event.addMetadata(\"\" + component, 'non-error parameter', makeSerialisable(maybeError));\n }\n\n return event;\n};\n\nvar makeSerialisable = function (err) {\n if (err === null) return 'null';\n if (err === undefined) return 'undefined';\n return err;\n};\n\nvar normaliseError = function (maybeError, tolerateNonErrors, component, logger) {\n var error;\n var internalFrames = 0;\n\n var createAndLogInputError = function (reason) {\n if (logger) logger.warn(component + \" received a non-error: \\\"\" + reason + \"\\\"\");\n var err = new Error(component + \" received a non-error. See \\\"\" + component + \"\\\" tab for more detail.\");\n err.name = 'InvalidError';\n return err;\n }; // In some cases:\n //\n // - the promise rejection handler (both in the browser and node)\n // - the node uncaughtException handler\n //\n // We are really limited in what we can do to get a stacktrace. So we use the\n // tolerateNonErrors option to ensure that the resulting error communicates as\n // such.\n\n\n if (!tolerateNonErrors) {\n if (_$iserror_20(maybeError)) {\n error = maybeError;\n } else {\n error = createAndLogInputError(typeof maybeError);\n internalFrames += 2;\n }\n } else {\n switch (typeof maybeError) {\n case 'string':\n case 'number':\n case 'boolean':\n error = new Error(String(maybeError));\n internalFrames += 1;\n break;\n\n case 'function':\n error = createAndLogInputError('function');\n internalFrames += 2;\n break;\n\n case 'object':\n if (maybeError !== null && _$iserror_20(maybeError)) {\n error = maybeError;\n } else if (maybeError !== null && hasNecessaryFields(maybeError)) {\n error = new Error(maybeError.message || maybeError.errorMessage);\n error.name = maybeError.name || maybeError.errorClass;\n internalFrames += 1;\n } else {\n error = createAndLogInputError(maybeError === null ? 'null' : 'unsupported object');\n internalFrames += 2;\n }\n\n break;\n\n default:\n error = createAndLogInputError('nothing');\n internalFrames += 2;\n }\n }\n\n if (!_$hasStack_19(error)) {\n // in IE10/11 a new Error() doesn't have a stacktrace until you throw it, so try that here\n try {\n throw error;\n } catch (e) {\n if (_$hasStack_19(e)) {\n error = e; // if the error only got a stacktrace after we threw it here, we know it\n // will only have one extra internal frame from this function, regardless\n // of whether it went through createAndLogInputError() or not\n\n internalFrames = 1;\n }\n }\n }\n\n return [error, internalFrames];\n}; // default value for stacktrace.type\n\n\nEvent.__type = 'browserjs';\n\nvar hasNecessaryFields = function (error) {\n return (typeof error.name === 'string' || typeof error.errorClass === 'string') && (typeof error.message === 'string' || typeof error.errorMessage === 'string');\n};\n\nvar _$Event_6 = Event;\n\n// This is a heavily modified/simplified version of\n// https://github.com/othiym23/async-some\n// with the logic flipped so that it is akin to the\n// synchronous \"every\" method instead of \"some\".\n// run the asynchronous test function (fn) over each item in the array (arr)\n// in series until:\n// - fn(item, cb) => calls cb(null, false)\n// - or the end of the array is reached\n// the callback (cb) will be passed (null, false) if any of the items in arr\n// caused fn to call back with false, otherwise it will be passed (null, true)\nvar _$asyncEvery_7 = function (arr, fn, cb) {\n var index = 0;\n\n var next = function () {\n if (index >= arr.length) return cb(null, true);\n fn(arr[index], function (err, result) {\n if (err) return cb(err);\n if (result === false) return cb(null, false);\n index++;\n next();\n });\n };\n\n next();\n};\n\n/* removed: var _$asyncEvery_7 = require('./async-every'); */;\n\nvar _$callbackRunner_9 = function (callbacks, event, onCallbackError, cb) {\n // This function is how we support different kinds of callback:\n // - synchronous - return value\n // - node-style async with callback - cb(err, value)\n // - promise/thenable - resolve(value)\n // It normalises each of these into the lowest common denominator – a node-style callback\n var runMaybeAsyncCallback = function (fn, cb) {\n if (typeof fn !== 'function') return cb(null);\n\n try {\n // if function appears sync…\n if (fn.length !== 2) {\n var ret = fn(event); // check if it returned a \"thenable\" (promise)\n\n if (ret && typeof ret.then === 'function') {\n return ret.then( // resolve\n function (val) {\n return setTimeout(function () {\n return cb(null, val);\n });\n }, // reject\n function (err) {\n setTimeout(function () {\n onCallbackError(err);\n return cb(null, true);\n });\n });\n }\n\n return cb(null, ret);\n } // if function is async…\n\n\n fn(event, function (err, result) {\n if (err) {\n onCallbackError(err);\n return cb(null);\n }\n\n cb(null, result);\n });\n } catch (e) {\n onCallbackError(e);\n cb(null);\n }\n };\n\n _$asyncEvery_7(callbacks, runMaybeAsyncCallback, cb);\n};\n\nvar _$syncCallbackRunner_23 = function (callbacks, callbackArg, callbackType, logger) {\n var ignore = false;\n var cbs = callbacks.slice();\n\n while (!ignore) {\n if (!cbs.length) break;\n\n try {\n ignore = cbs.pop()(callbackArg) === false;\n } catch (e) {\n logger.error(\"Error occurred in \" + callbackType + \" callback, continuing anyway\\u2026\");\n logger.error(e);\n }\n }\n\n return ignore;\n};\n\nvar _$pad_29 = function pad(num, size) {\n var s = '000000000' + num;\n return s.substr(s.length - size);\n};\n\n/* removed: var _$pad_29 = require('./pad.js'); */;\n\nvar env = typeof window === 'object' ? window : self;\nvar globalCount = 0;\n\nfor (var prop in env) {\n if (Object.hasOwnProperty.call(env, prop)) globalCount++;\n}\n\nvar mimeTypesLength = navigator.mimeTypes ? navigator.mimeTypes.length : 0;\nvar clientId = _$pad_29((mimeTypesLength + navigator.userAgent.length).toString(36) + globalCount.toString(36), 4);\n\nvar _$fingerprint_28 = function fingerprint() {\n return clientId;\n};\n\n/**\n * cuid.js\n * Collision-resistant UID generator for browsers and node.\n * Sequential for fast db lookups and recency sorting.\n * Safe for element IDs and server-side lookups.\n *\n * Extracted from CLCTR\n *\n * Copyright (c) Eric Elliott 2012\n * MIT License\n */\n/* removed: var _$fingerprint_28 = require('./lib/fingerprint.js'); */;\n\n/* removed: var _$pad_29 = require('./lib/pad.js'); */;\n\nvar c = 0,\n blockSize = 4,\n base = 36,\n discreteValues = Math.pow(base, blockSize);\n\nfunction randomBlock() {\n return _$pad_29((Math.random() * discreteValues << 0).toString(base), blockSize);\n}\n\nfunction safeCounter() {\n c = c < discreteValues ? c : 0;\n c++; // this is not subliminal\n\n return c - 1;\n}\n\nfunction cuid() {\n // Starting with a lowercase letter makes\n // it HTML element ID friendly.\n var letter = 'c',\n // hard-coded allows for sequential access\n // timestamp\n // warning: this exposes the exact date and time\n // that the uid was created.\n timestamp = new Date().getTime().toString(base),\n // Prevent same-machine collisions.\n counter = _$pad_29(safeCounter().toString(base), blockSize),\n // A few chars to generate distinct ids for different\n // clients (so different computers are far less\n // likely to generate the same id)\n print = _$fingerprint_28(),\n // Grab some more chars from Math.random()\n random = randomBlock() + randomBlock();\n return letter + timestamp + counter + print + random;\n}\n\ncuid.fingerprint = _$fingerprint_28;\nvar _$cuid_27 = cuid;\n\n/* removed: var _$cuid_27 = require('@bugsnag/cuid'); */;\n\nvar Session = /*#__PURE__*/function () {\n function Session() {\n this.id = _$cuid_27();\n this.startedAt = new Date();\n this._handled = 0;\n this._unhandled = 0;\n this._user = {};\n this.app = {};\n this.device = {};\n }\n\n var _proto = Session.prototype;\n\n _proto.getUser = function getUser() {\n return this._user;\n };\n\n _proto.setUser = function setUser(id, email, name) {\n this._user = {\n id: id,\n email: email,\n name: name\n };\n };\n\n _proto.toJSON = function toJSON() {\n return {\n id: this.id,\n startedAt: this.startedAt,\n events: {\n handled: this._handled,\n unhandled: this._unhandled\n }\n };\n };\n\n _proto._track = function _track(event) {\n this[event._handledState.unhandled ? '_unhandled' : '_handled'] += 1;\n };\n\n return Session;\n}();\n\nvar _$Session_35 = Session;\n\n/* removed: var _$config_5 = require('./config'); */;\n\n/* removed: var _$Event_6 = require('./event'); */;\n\n/* removed: var _$Breadcrumb_3 = require('./breadcrumb'); */;\n\n/* removed: var _$Session_35 = require('./session'); */;\n\n/* removed: var _$map_16 = require('./lib/es-utils/map'); */;\n\n/* removed: var _$includes_13 = require('./lib/es-utils/includes'); */;\n\n/* removed: var _$filter_12 = require('./lib/es-utils/filter'); */;\n\n/* removed: var _$reduce_17 = require('./lib/es-utils/reduce'); */;\n\n/* removed: var _$keys_15 = require('./lib/es-utils/keys'); */;\n\n/* removed: var _$assign_11 = require('./lib/es-utils/assign'); */;\n\n/* removed: var _$callbackRunner_9 = require('./lib/callback-runner'); */;\n\n/* removed: var _$featureFlagDelegate_18 = require('./lib/feature-flag-delegate'); */;\n\n/* removed: var _$metadataDelegate_22 = require('./lib/metadata-delegate'); */;\n\n/* removed: var _$syncCallbackRunner_23 = require('./lib/sync-callback-runner'); */;\n\n/* removed: var _$breadcrumbTypes_8 = require('./lib/breadcrumb-types'); */;\n\nvar noop = function () {};\n\nvar Client = /*#__PURE__*/function () {\n function Client(configuration, schema, internalPlugins, notifier) {\n var _this = this;\n\n if (schema === void 0) {\n schema = _$config_5.schema;\n }\n\n if (internalPlugins === void 0) {\n internalPlugins = [];\n }\n\n // notifier id\n this._notifier = notifier; // intialise opts and config\n\n this._config = {};\n this._schema = schema; // i/o\n\n this._delivery = {\n sendSession: noop,\n sendEvent: noop\n };\n this._logger = {\n debug: noop,\n info: noop,\n warn: noop,\n error: noop\n }; // plugins\n\n this._plugins = {}; // state\n\n this._breadcrumbs = [];\n this._session = null;\n this._metadata = {};\n this._features = {};\n this._context = undefined;\n this._user = {}; // callbacks:\n // e: onError\n // s: onSession\n // sp: onSessionPayload\n // b: onBreadcrumb\n // (note these names are minified by hand because object\n // properties are not safe to minify automatically)\n\n this._cbs = {\n e: [],\n s: [],\n sp: [],\n b: []\n }; // expose internal constructors\n\n this.Client = Client;\n this.Event = _$Event_6;\n this.Breadcrumb = _$Breadcrumb_3;\n this.Session = _$Session_35;\n this._config = this._configure(configuration, internalPlugins);\n _$map_16(internalPlugins.concat(this._config.plugins), function (pl) {\n if (pl) _this._loadPlugin(pl);\n }); // when notify() is called we need to know how many frames are from our own source\n // this inital value is 1 not 0 because we wrap notify() to ensure it is always\n // bound to have the client as its `this` value – see below.\n\n this._depth = 1;\n var self = this;\n var notify = this.notify;\n\n this.notify = function () {\n return notify.apply(self, arguments);\n };\n }\n\n var _proto = Client.prototype;\n\n _proto.addMetadata = function addMetadata(section, keyOrObj, maybeVal) {\n return _$metadataDelegate_22.add(this._metadata, section, keyOrObj, maybeVal);\n };\n\n _proto.getMetadata = function getMetadata(section, key) {\n return _$metadataDelegate_22.get(this._metadata, section, key);\n };\n\n _proto.clearMetadata = function clearMetadata(section, key) {\n return _$metadataDelegate_22.clear(this._metadata, section, key);\n };\n\n _proto.addFeatureFlag = function addFeatureFlag(name, variant) {\n if (variant === void 0) {\n variant = null;\n }\n\n _$featureFlagDelegate_18.add(this._features, name, variant);\n };\n\n _proto.addFeatureFlags = function addFeatureFlags(featureFlags) {\n _$featureFlagDelegate_18.merge(this._features, featureFlags);\n };\n\n _proto.clearFeatureFlag = function clearFeatureFlag(name) {\n delete this._features[name];\n };\n\n _proto.clearFeatureFlags = function clearFeatureFlags() {\n this._features = {};\n };\n\n _proto.getContext = function getContext() {\n return this._context;\n };\n\n _proto.setContext = function setContext(c) {\n this._context = c;\n };\n\n _proto._configure = function _configure(opts, internalPlugins) {\n var schema = _$reduce_17(internalPlugins, function (schema, plugin) {\n if (plugin && plugin.configSchema) return _$assign_11({}, schema, plugin.configSchema);\n return schema;\n }, this._schema); // accumulate configuration and error messages\n\n var _reduce = _$reduce_17(_$keys_15(schema), function (accum, key) {\n var defaultValue = schema[key].defaultValue(opts[key]);\n\n if (opts[key] !== undefined) {\n var valid = schema[key].validate(opts[key]);\n\n if (!valid) {\n accum.errors[key] = schema[key].message;\n accum.config[key] = defaultValue;\n } else {\n if (schema[key].allowPartialObject) {\n accum.config[key] = _$assign_11(defaultValue, opts[key]);\n } else {\n accum.config[key] = opts[key];\n }\n }\n } else {\n accum.config[key] = defaultValue;\n }\n\n return accum;\n }, {\n errors: {},\n config: {}\n }),\n errors = _reduce.errors,\n config = _reduce.config;\n\n if (schema.apiKey) {\n // missing api key is the only fatal error\n if (!config.apiKey) throw new Error('No Bugsnag API Key set'); // warn about an apikey that is not of the expected format\n\n if (!/^[0-9a-f]{32}$/i.test(config.apiKey)) errors.apiKey = 'should be a string of 32 hexadecimal characters';\n } // update and elevate some options\n\n\n this._metadata = _$assign_11({}, config.metadata);\n _$featureFlagDelegate_18.merge(this._features, config.featureFlags);\n this._user = _$assign_11({}, config.user);\n this._context = config.context;\n if (config.logger) this._logger = config.logger; // add callbacks\n\n if (config.onError) this._cbs.e = this._cbs.e.concat(config.onError);\n if (config.onBreadcrumb) this._cbs.b = this._cbs.b.concat(config.onBreadcrumb);\n if (config.onSession) this._cbs.s = this._cbs.s.concat(config.onSession); // finally warn about any invalid config where we fell back to the default\n\n if (_$keys_15(errors).length) {\n this._logger.warn(generateConfigErrorMessage(errors, opts));\n }\n\n return config;\n };\n\n _proto.getUser = function getUser() {\n return this._user;\n };\n\n _proto.setUser = function setUser(id, email, name) {\n this._user = {\n id: id,\n email: email,\n name: name\n };\n };\n\n _proto._loadPlugin = function _loadPlugin(plugin) {\n var result = plugin.load(this); // JS objects are not the safest way to store arbitrarily keyed values,\n // so bookend the key with some characters that prevent tampering with\n // stuff like __proto__ etc. (only store the result if the plugin had a\n // name)\n\n if (plugin.name) this._plugins[\"~\" + plugin.name + \"~\"] = result;\n return this;\n };\n\n _proto.getPlugin = function getPlugin(name) {\n return this._plugins[\"~\" + name + \"~\"];\n };\n\n _proto._setDelivery = function _setDelivery(d) {\n this._delivery = d(this);\n };\n\n _proto.startSession = function startSession() {\n var session = new _$Session_35();\n session.app.releaseStage = this._config.releaseStage;\n session.app.version = this._config.appVersion;\n session.app.type = this._config.appType;\n session._user = _$assign_11({}, this._user); // run onSession callbacks\n\n var ignore = _$syncCallbackRunner_23(this._cbs.s, session, 'onSession', this._logger);\n\n if (ignore) {\n this._logger.debug('Session not started due to onSession callback');\n\n return this;\n }\n\n return this._sessionDelegate.startSession(this, session);\n };\n\n _proto.addOnError = function addOnError(fn, front) {\n if (front === void 0) {\n front = false;\n }\n\n this._cbs.e[front ? 'unshift' : 'push'](fn);\n };\n\n _proto.removeOnError = function removeOnError(fn) {\n this._cbs.e = _$filter_12(this._cbs.e, function (f) {\n return f !== fn;\n });\n };\n\n _proto._addOnSessionPayload = function _addOnSessionPayload(fn) {\n this._cbs.sp.push(fn);\n };\n\n _proto.addOnSession = function addOnSession(fn) {\n this._cbs.s.push(fn);\n };\n\n _proto.removeOnSession = function removeOnSession(fn) {\n this._cbs.s = _$filter_12(this._cbs.s, function (f) {\n return f !== fn;\n });\n };\n\n _proto.addOnBreadcrumb = function addOnBreadcrumb(fn, front) {\n if (front === void 0) {\n front = false;\n }\n\n this._cbs.b[front ? 'unshift' : 'push'](fn);\n };\n\n _proto.removeOnBreadcrumb = function removeOnBreadcrumb(fn) {\n this._cbs.b = _$filter_12(this._cbs.b, function (f) {\n return f !== fn;\n });\n };\n\n _proto.pauseSession = function pauseSession() {\n return this._sessionDelegate.pauseSession(this);\n };\n\n _proto.resumeSession = function resumeSession() {\n return this._sessionDelegate.resumeSession(this);\n };\n\n _proto.leaveBreadcrumb = function leaveBreadcrumb(message, metadata, type) {\n // coerce bad values so that the defaults get set\n message = typeof message === 'string' ? message : '';\n type = typeof type === 'string' && _$includes_13(_$breadcrumbTypes_8, type) ? type : 'manual';\n metadata = typeof metadata === 'object' && metadata !== null ? metadata : {}; // if no message, discard\n\n if (!message) return;\n var crumb = new _$Breadcrumb_3(message, metadata, type); // run onBreadcrumb callbacks\n\n var ignore = _$syncCallbackRunner_23(this._cbs.b, crumb, 'onBreadcrumb', this._logger);\n\n if (ignore) {\n this._logger.debug('Breadcrumb not attached due to onBreadcrumb callback');\n\n return;\n } // push the valid crumb onto the queue and maintain the length\n\n\n this._breadcrumbs.push(crumb);\n\n if (this._breadcrumbs.length > this._config.maxBreadcrumbs) {\n this._breadcrumbs = this._breadcrumbs.slice(this._breadcrumbs.length - this._config.maxBreadcrumbs);\n }\n };\n\n _proto._isBreadcrumbTypeEnabled = function _isBreadcrumbTypeEnabled(type) {\n var types = this._config.enabledBreadcrumbTypes;\n return types === null || _$includes_13(types, type);\n };\n\n _proto.notify = function notify(maybeError, onError, cb) {\n if (cb === void 0) {\n cb = noop;\n }\n\n var event = _$Event_6.create(maybeError, true, undefined, 'notify()', this._depth + 1, this._logger);\n\n this._notify(event, onError, cb);\n };\n\n _proto._notify = function _notify(event, onError, cb) {\n var _this2 = this;\n\n if (cb === void 0) {\n cb = noop;\n }\n\n event.app = _$assign_11({}, event.app, {\n releaseStage: this._config.releaseStage,\n version: this._config.appVersion,\n type: this._config.appType\n });\n event.context = event.context || this._context;\n event._metadata = _$assign_11({}, event._metadata, this._metadata);\n event._features = _$assign_11({}, event._features, this._features);\n event._user = _$assign_11({}, event._user, this._user);\n event.breadcrumbs = this._breadcrumbs.slice(); // exit early if events should not be sent on the current releaseStage\n\n if (this._config.enabledReleaseStages !== null && !_$includes_13(this._config.enabledReleaseStages, this._config.releaseStage)) {\n this._logger.warn('Event not sent due to releaseStage/enabledReleaseStages configuration');\n\n return cb(null, event);\n }\n\n var originalSeverity = event.severity;\n\n var onCallbackError = function (err) {\n // errors in callbacks are tolerated but we want to log them out\n _this2._logger.error('Error occurred in onError callback, continuing anyway…');\n\n _this2._logger.error(err);\n };\n\n var callbacks = [].concat(this._cbs.e).concat(onError);\n _$callbackRunner_9(callbacks, event, onCallbackError, function (err, shouldSend) {\n if (err) onCallbackError(err);\n\n if (!shouldSend) {\n _this2._logger.debug('Event not sent due to onError callback');\n\n return cb(null, event);\n }\n\n if (_this2._isBreadcrumbTypeEnabled('error')) {\n // only leave a crumb for the error if actually got sent\n Client.prototype.leaveBreadcrumb.call(_this2, event.errors[0].errorClass, {\n errorClass: event.errors[0].errorClass,\n errorMessage: event.errors[0].errorMessage,\n severity: event.severity\n }, 'error');\n }\n\n if (originalSeverity !== event.severity) {\n event._handledState.severityReason = {\n type: 'userCallbackSetSeverity'\n };\n }\n\n if (event.unhandled !== event._handledState.unhandled) {\n event._handledState.severityReason.unhandledOverridden = true;\n event._handledState.unhandled = event.unhandled;\n }\n\n if (_this2._session) {\n _this2._session._track(event);\n\n event._session = _this2._session;\n }\n\n _this2._delivery.sendEvent({\n apiKey: event.apiKey || _this2._config.apiKey,\n notifier: _this2._notifier,\n events: [event]\n }, function (err) {\n return cb(err, event);\n });\n });\n };\n\n return Client;\n}();\n\nvar generateConfigErrorMessage = function (errors, rawInput) {\n var er = new Error(\"Invalid configuration\\n\" + _$map_16(_$keys_15(errors), function (key) {\n return \" - \" + key + \" \" + errors[key] + \", got \" + stringify(rawInput[key]);\n }).join('\\n\\n'));\n return er;\n};\n\nvar stringify = function (val) {\n switch (typeof val) {\n case 'string':\n case 'number':\n case 'object':\n return JSON.stringify(val);\n\n default:\n return String(val);\n }\n};\n\nvar _$Client_4 = Client;\n\nvar _$jsonPayload_21 = {};\n/* removed: var _$safeJsonStringify_30 = require('@bugsnag/safe-json-stringify'); */;\n\nvar EVENT_REDACTION_PATHS = ['events.[].metaData', 'events.[].breadcrumbs.[].metaData', 'events.[].request'];\n\n_$jsonPayload_21.event = function (event, redactedKeys) {\n var payload = _$safeJsonStringify_30(event, null, null, {\n redactedPaths: EVENT_REDACTION_PATHS,\n redactedKeys: redactedKeys\n });\n\n if (payload.length > 10e5) {\n event.events[0]._metadata = {\n notifier: \"WARNING!\\nSerialized payload was \" + payload.length / 10e5 + \"MB (limit = 1MB)\\nmetadata was removed\"\n };\n payload = _$safeJsonStringify_30(event, null, null, {\n redactedPaths: EVENT_REDACTION_PATHS,\n redactedKeys: redactedKeys\n });\n if (payload.length > 10e5) throw new Error('payload exceeded 1MB limit');\n }\n\n return payload;\n};\n\n_$jsonPayload_21.session = function (event, redactedKeys) {\n var payload = _$safeJsonStringify_30(event, null, null);\n if (payload.length > 10e5) throw new Error('payload exceeded 1MB limit');\n return payload;\n};\n\nvar _$delivery_36 = {};\n/* removed: var _$jsonPayload_21 = require('@bugsnag/core/lib/json-payload'); */;\n\n_$delivery_36 = function (client, win) {\n if (win === void 0) {\n win = window;\n }\n\n return {\n sendEvent: function (event, cb) {\n if (cb === void 0) {\n cb = function () {};\n }\n\n var url = getApiUrl(client._config, 'notify', '4', win);\n var req = new win.XDomainRequest();\n\n req.onload = function () {\n cb(null);\n };\n\n req.open('POST', url);\n setTimeout(function () {\n try {\n req.send(_$jsonPayload_21.event(event, client._config.redactedKeys));\n } catch (e) {\n client._logger.error(e);\n\n cb(e);\n }\n }, 0);\n },\n sendSession: function (session, cb) {\n if (cb === void 0) {\n cb = function () {};\n }\n\n var url = getApiUrl(client._config, 'sessions', '1', win);\n var req = new win.XDomainRequest();\n\n req.onload = function () {\n cb(null);\n };\n\n req.open('POST', url);\n setTimeout(function () {\n try {\n req.send(_$jsonPayload_21.session(session, client._config.redactedKeys));\n } catch (e) {\n client._logger.error(e);\n\n cb(e);\n }\n }, 0);\n }\n };\n};\n\nvar getApiUrl = function (config, endpoint, version, win) {\n // IE8 doesn't support Date.prototype.toISOstring(), but it does convert a date\n // to an ISO string when you use JSON stringify. Simply parsing the result of\n // JSON.stringify is smaller than using a toISOstring() polyfill.\n var isoDate = JSON.parse(JSON.stringify(new Date()));\n var url = matchPageProtocol(config.endpoints[endpoint], win.location.protocol);\n return url + \"?apiKey=\" + encodeURIComponent(config.apiKey) + \"&payloadVersion=\" + version + \"&sentAt=\" + encodeURIComponent(isoDate);\n};\n\nvar matchPageProtocol = _$delivery_36._matchPageProtocol = function (endpoint, pageProtocol) {\n return pageProtocol === 'http:' ? endpoint.replace(/^https:/, 'http:') : endpoint;\n};\n\n/* removed: var _$jsonPayload_21 = require('@bugsnag/core/lib/json-payload'); */;\n\nvar _$delivery_37 = function (client, win) {\n if (win === void 0) {\n win = window;\n }\n\n return {\n sendEvent: function (event, cb) {\n if (cb === void 0) {\n cb = function () {};\n }\n\n try {\n var url = client._config.endpoints.notify;\n var req = new win.XMLHttpRequest();\n\n req.onreadystatechange = function () {\n if (req.readyState === win.XMLHttpRequest.DONE) cb(null);\n };\n\n req.open('POST', url);\n req.setRequestHeader('Content-Type', 'application/json');\n req.setRequestHeader('Bugsnag-Api-Key', event.apiKey || client._config.apiKey);\n req.setRequestHeader('Bugsnag-Payload-Version', '4');\n req.setRequestHeader('Bugsnag-Sent-At', new Date().toISOString());\n req.send(_$jsonPayload_21.event(event, client._config.redactedKeys));\n } catch (e) {\n client._logger.error(e);\n }\n },\n sendSession: function (session, cb) {\n if (cb === void 0) {\n cb = function () {};\n }\n\n try {\n var url = client._config.endpoints.sessions;\n var req = new win.XMLHttpRequest();\n\n req.onreadystatechange = function () {\n if (req.readyState === win.XMLHttpRequest.DONE) cb(null);\n };\n\n req.open('POST', url);\n req.setRequestHeader('Content-Type', 'application/json');\n req.setRequestHeader('Bugsnag-Api-Key', client._config.apiKey);\n req.setRequestHeader('Bugsnag-Payload-Version', '1');\n req.setRequestHeader('Bugsnag-Sent-At', new Date().toISOString());\n req.send(_$jsonPayload_21.session(session, client._config.redactedKeys));\n } catch (e) {\n client._logger.error(e);\n }\n }\n };\n};\n\nvar appStart = new Date();\n\nvar reset = function () {\n appStart = new Date();\n};\n\nvar _$app_38 = {\n name: 'appDuration',\n load: function (client) {\n client.addOnError(function (event) {\n var now = new Date();\n event.app.duration = now - appStart;\n }, true);\n return {\n reset: reset\n };\n }\n};\n\n/*\n * Sets the default context to be the current URL\n */\nvar _$context_39 = function (win) {\n if (win === void 0) {\n win = window;\n }\n\n return {\n load: function (client) {\n client.addOnError(function (event) {\n if (event.context !== undefined) return;\n event.context = win.location.pathname;\n }, true);\n }\n };\n};\n\nvar _$pad_43 = function pad(num, size) {\n var s = '000000000' + num;\n return s.substr(s.length - size);\n};\n\n/* removed: var _$pad_43 = require('./pad.js'); */;\n\nvar __env_42 = typeof window === 'object' ? window : self;\nvar __globalCount_42 = 0;\n\nfor (var __prop_42 in __env_42) {\n if (Object.hasOwnProperty.call(__env_42, __prop_42)) __globalCount_42++;\n}\n\nvar __mimeTypesLength_42 = navigator.mimeTypes ? navigator.mimeTypes.length : 0;\nvar __clientId_42 = _$pad_43((__mimeTypesLength_42 + navigator.userAgent.length).toString(36) + __globalCount_42.toString(36), 4);\n\nvar _$fingerprint_42 = function fingerprint() {\n return __clientId_42;\n};\n\n/**\n * cuid.js\n * Collision-resistant UID generator for browsers and node.\n * Sequential for fast db lookups and recency sorting.\n * Safe for element IDs and server-side lookups.\n *\n * Extracted from CLCTR\n *\n * Copyright (c) Eric Elliott 2012\n * MIT License\n */\n/* removed: var _$fingerprint_42 = require('./lib/fingerprint.js'); */;\n\n/* removed: var _$pad_43 = require('./lib/pad.js'); */;\n\nvar __c_41 = 0,\n __blockSize_41 = 4,\n __base_41 = 36,\n __discreteValues_41 = Math.pow(__base_41, __blockSize_41);\n\nfunction __randomBlock_41() {\n return _$pad_43((Math.random() * __discreteValues_41 << 0).toString(__base_41), __blockSize_41);\n}\n\nfunction __safeCounter_41() {\n __c_41 = __c_41 < __discreteValues_41 ? __c_41 : 0;\n __c_41++; // this is not subliminal\n\n return __c_41 - 1;\n}\n\nfunction __cuid_41() {\n // Starting with a lowercase letter makes\n // it HTML element ID friendly.\n var letter = 'c',\n // hard-coded allows for sequential access\n // timestamp\n // warning: this exposes the exact date and time\n // that the uid was created.\n timestamp = new Date().getTime().toString(__base_41),\n // Prevent same-machine collisions.\n counter = _$pad_43(__safeCounter_41().toString(__base_41), __blockSize_41),\n // A few chars to generate distinct ids for different\n // clients (so different computers are far less\n // likely to generate the same id)\n print = _$fingerprint_42(),\n // Grab some more chars from Math.random()\n random = __randomBlock_41() + __randomBlock_41();\n return letter + timestamp + counter + print + random;\n}\n\n__cuid_41.fingerprint = _$fingerprint_42;\nvar _$cuid_41 = __cuid_41;\n\n/* removed: var _$cuid_41 = require('@bugsnag/cuid'); */;\n\n/* removed: var _$assign_11 = require('@bugsnag/core/lib/es-utils/assign'); */;\n\nvar BUGSNAG_ANONYMOUS_ID_KEY = 'bugsnag-anonymous-id';\n\nvar getDeviceId = function () {\n try {\n var storage = window.localStorage;\n var id = storage.getItem(BUGSNAG_ANONYMOUS_ID_KEY); // If we get an ID, make sure it looks like a valid cuid. The length can\n // fluctuate slightly, so some leeway is built in\n\n if (id && /^c[a-z0-9]{20,32}$/.test(id)) {\n return id;\n }\n\n id = _$cuid_41();\n storage.setItem(BUGSNAG_ANONYMOUS_ID_KEY, id);\n return id;\n } catch (err) {// If localStorage is not available (e.g. because it's disabled) then give up\n }\n};\n/*\n * Automatically detects browser device details\n */\n\n\nvar _$device_40 = function (nav, screen) {\n if (nav === void 0) {\n nav = navigator;\n }\n\n if (screen === void 0) {\n screen = window.screen;\n }\n\n return {\n load: function (client) {\n var device = {\n locale: nav.browserLanguage || nav.systemLanguage || nav.userLanguage || nav.language,\n userAgent: nav.userAgent\n };\n\n if (screen && screen.orientation && screen.orientation.type) {\n device.orientation = screen.orientation.type;\n } else {\n device.orientation = document.documentElement.clientWidth > document.documentElement.clientHeight ? 'landscape' : 'portrait';\n }\n\n if (client._config.generateAnonymousId) {\n device.id = getDeviceId();\n }\n\n client.addOnSession(function (session) {\n session.device = _$assign_11({}, session.device, device); // only set device id if collectUserIp is false\n\n if (!client._config.collectUserIp) setDefaultUserId(session);\n }); // add time just as the event is sent\n\n client.addOnError(function (event) {\n event.device = _$assign_11({}, event.device, device, {\n time: new Date()\n });\n if (!client._config.collectUserIp) setDefaultUserId(event);\n }, true);\n },\n configSchema: {\n generateAnonymousId: {\n validate: function (value) {\n return value === true || value === false;\n },\n defaultValue: function () {\n return true;\n },\n message: 'should be true|false'\n }\n }\n };\n};\n\nvar setDefaultUserId = function (eventOrSession) {\n // device id is also used to populate the user id field, if it's not already set\n var user = eventOrSession.getUser();\n\n if (!user || !user.id) {\n eventOrSession.setUser(eventOrSession.device.id);\n }\n};\n\n/* removed: var _$assign_11 = require('@bugsnag/core/lib/es-utils/assign'); */;\n/*\n * Sets the event request: { url } to be the current href\n */\n\n\nvar _$request_44 = function (win) {\n if (win === void 0) {\n win = window;\n }\n\n return {\n load: function (client) {\n client.addOnError(function (event) {\n if (event.request && event.request.url) return;\n event.request = _$assign_11({}, event.request, {\n url: win.location.href\n });\n }, true);\n }\n };\n};\n\n/* removed: var _$includes_13 = require('@bugsnag/core/lib/es-utils/includes'); */;\n\nvar _$session_45 = {\n load: function (client) {\n client._sessionDelegate = sessionDelegate;\n }\n};\nvar sessionDelegate = {\n startSession: function (client, session) {\n var sessionClient = client;\n sessionClient._session = session;\n sessionClient._pausedSession = null; // exit early if the current releaseStage is not enabled\n\n if (sessionClient._config.enabledReleaseStages !== null && !_$includes_13(sessionClient._config.enabledReleaseStages, sessionClient._config.releaseStage)) {\n sessionClient._logger.warn('Session not sent due to releaseStage/enabledReleaseStages configuration');\n\n return sessionClient;\n }\n\n sessionClient._delivery.sendSession({\n notifier: sessionClient._notifier,\n device: session.device,\n app: session.app,\n sessions: [{\n id: session.id,\n startedAt: session.startedAt,\n user: session._user\n }]\n });\n\n return sessionClient;\n },\n resumeSession: function (client) {\n // Do nothing if there's already an active session\n if (client._session) {\n return client;\n } // If we have a paused session then make it the active session\n\n\n if (client._pausedSession) {\n client._session = client._pausedSession;\n client._pausedSession = null;\n return client;\n } // Otherwise start a new session\n\n\n return client.startSession();\n },\n pauseSession: function (client) {\n client._pausedSession = client._session;\n client._session = null;\n }\n};\n\n/* removed: var _$assign_11 = require('@bugsnag/core/lib/es-utils/assign'); */;\n/*\n * Prevent collection of user IPs\n */\n\n\nvar _$clientIp_46 = {\n load: function (client) {\n if (client._config.collectUserIp) return;\n client.addOnError(function (event) {\n // If user.id is explicitly undefined, it will be missing from the payload. It needs\n // removing so that the following line replaces it\n if (event._user && typeof event._user.id === 'undefined') delete event._user.id;\n event._user = _$assign_11({\n id: '[REDACTED]'\n }, event._user);\n event.request = _$assign_11({\n clientIp: '[REDACTED]'\n }, event.request);\n });\n },\n configSchema: {\n collectUserIp: {\n defaultValue: function () {\n return true;\n },\n message: 'should be true|false',\n validate: function (value) {\n return value === true || value === false;\n }\n }\n }\n};\n\nvar _$consoleBreadcrumbs_47 = {};\n/* removed: var _$map_16 = require('@bugsnag/core/lib/es-utils/map'); */;\n\n/* removed: var _$reduce_17 = require('@bugsnag/core/lib/es-utils/reduce'); */;\n\n/* removed: var _$filter_12 = require('@bugsnag/core/lib/es-utils/filter'); */;\n/*\n * Leaves breadcrumbs when console log methods are called\n */\n\n\n_$consoleBreadcrumbs_47.load = function (client) {\n var isDev = /^(local-)?dev(elopment)?$/.test(client._config.releaseStage);\n if (isDev || !client._isBreadcrumbTypeEnabled('log')) return;\n _$map_16(CONSOLE_LOG_METHODS, function (method) {\n var original = console[method];\n\n console[method] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n client.leaveBreadcrumb('Console output', _$reduce_17(args, function (accum, arg, i) {\n // do the best/simplest stringification of each argument\n var stringified = '[Unknown value]'; // this may fail if the input is:\n // - an object whose [[Prototype]] is null (no toString)\n // - an object with a broken toString or @@toPrimitive implementation\n\n try {\n stringified = String(arg);\n } catch (e) {} // if it stringifies to [object Object] attempt to JSON stringify\n\n\n if (stringified === '[object Object]') {\n // catch stringify errors and fallback to [object Object]\n try {\n stringified = JSON.stringify(arg);\n } catch (e) {}\n }\n\n accum[\"[\" + i + \"]\"] = stringified;\n return accum;\n }, {\n severity: method.indexOf('group') === 0 ? 'log' : method\n }), 'log');\n original.apply(console, args);\n };\n\n console[method]._restore = function () {\n console[method] = original;\n };\n });\n};\n\nif (\"production\" !== 'production') {\n _$consoleBreadcrumbs_47.destroy = function () {\n return CONSOLE_LOG_METHODS.forEach(function (method) {\n if (typeof console[method]._restore === 'function') console[method]._restore();\n });\n };\n}\n\nvar CONSOLE_LOG_METHODS = _$filter_12(['log', 'debug', 'info', 'warn', 'error'], function (method) {\n return typeof console !== 'undefined' && typeof console[method] === 'function';\n});\n\n/* removed: var _$map_16 = require('@bugsnag/core/lib/es-utils/map'); */;\n\n/* removed: var _$reduce_17 = require('@bugsnag/core/lib/es-utils/reduce'); */;\n\n/* removed: var _$filter_12 = require('@bugsnag/core/lib/es-utils/filter'); */;\n\nvar MAX_LINE_LENGTH = 200;\nvar MAX_SCRIPT_LENGTH = 500000;\n\nvar _$inlineScriptContent_48 = function (doc, win) {\n if (doc === void 0) {\n doc = document;\n }\n\n if (win === void 0) {\n win = window;\n }\n\n return {\n load: function (client) {\n if (!client._config.trackInlineScripts) return;\n var originalLocation = win.location.href;\n var html = ''; // in IE8-10 the 'interactive' state can fire too soon (before scripts have finished executing), so in those\n // we wait for the 'complete' state before assuming that synchronous scripts are no longer executing\n\n var isOldIe = !!doc.attachEvent;\n var DOMContentLoaded = isOldIe ? doc.readyState === 'complete' : doc.readyState !== 'loading';\n\n var getHtml = function () {\n return doc.documentElement.outerHTML;\n }; // get whatever HTML exists at this point in time\n\n\n html = getHtml();\n var prev = doc.onreadystatechange; // then update it when the DOM content has loaded\n\n doc.onreadystatechange = function () {\n // IE8 compatible alternative to document#DOMContentLoaded\n if (doc.readyState === 'interactive') {\n html = getHtml();\n DOMContentLoaded = true;\n }\n\n try {\n prev.apply(this, arguments);\n } catch (e) {}\n };\n\n var _lastScript = null;\n\n var updateLastScript = function (script) {\n _lastScript = script;\n };\n\n var getCurrentScript = function () {\n var script = doc.currentScript || _lastScript;\n\n if (!script && !DOMContentLoaded) {\n var scripts = doc.scripts || doc.getElementsByTagName('script');\n script = scripts[scripts.length - 1];\n }\n\n return script;\n };\n\n var addSurroundingCode = function (lineNumber) {\n // get whatever html has rendered at this point\n if (!DOMContentLoaded || !html) html = getHtml(); // simulate the raw html\n\n var htmlLines = [''].concat(html.split('\\n'));\n var zeroBasedLine = lineNumber - 1;\n var start = Math.max(zeroBasedLine - 3, 0);\n var end = Math.min(zeroBasedLine + 3, htmlLines.length);\n return _$reduce_17(htmlLines.slice(start, end), function (accum, line, i) {\n accum[start + 1 + i] = line.length <= MAX_LINE_LENGTH ? line : line.substr(0, MAX_LINE_LENGTH);\n return accum;\n }, {});\n };\n\n client.addOnError(function (event) {\n // remove any of our own frames that may be part the stack this\n // happens before the inline script check as it happens for all errors\n event.errors[0].stacktrace = _$filter_12(event.errors[0].stacktrace, function (f) {\n return !/__trace__$/.test(f.method);\n });\n var frame = event.errors[0].stacktrace[0]; // if frame.file exists and is not the original location of the page, this can't be an inline script\n\n if (frame && frame.file && frame.file.replace(/#.*$/, '') !== originalLocation.replace(/#.*$/, '')) return; // grab the last script known to have run\n\n var currentScript = getCurrentScript();\n\n if (currentScript) {\n var content = currentScript.innerHTML;\n event.addMetadata('script', 'content', content.length <= MAX_SCRIPT_LENGTH ? content : content.substr(0, MAX_SCRIPT_LENGTH)); // only attempt to grab some surrounding code if we have a line number\n\n if (frame && frame.lineNumber) {\n frame.code = addSurroundingCode(frame.lineNumber);\n }\n }\n }, true); // Proxy all the timer functions whose callback is their 0th argument.\n // Keep a reference to the original setTimeout because we need it later\n\n var _map = _$map_16(['setTimeout', 'setInterval', 'setImmediate', 'requestAnimationFrame'], function (fn) {\n return __proxy(win, fn, function (original) {\n return __traceOriginalScript(original, function (args) {\n return {\n get: function () {\n return args[0];\n },\n replace: function (fn) {\n args[0] = fn;\n }\n };\n });\n });\n }),\n _setTimeout = _map[0]; // Proxy all the host objects whose prototypes have an addEventListener function\n\n\n _$map_16(['EventTarget', 'Window', 'Node', 'ApplicationCache', 'AudioTrackList', 'ChannelMergerNode', 'CryptoOperation', 'EventSource', 'FileReader', 'HTMLUnknownElement', 'IDBDatabase', 'IDBRequest', 'IDBTransaction', 'KeyOperation', 'MediaController', 'MessagePort', 'ModalWindow', 'Notification', 'SVGElementInstance', 'Screen', 'TextTrack', 'TextTrackCue', 'TextTrackList', 'WebSocket', 'WebSocketWorker', 'Worker', 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'XMLHttpRequestUpload'], function (o) {\n if (!win[o] || !win[o].prototype || !Object.prototype.hasOwnProperty.call(win[o].prototype, 'addEventListener')) return;\n\n __proxy(win[o].prototype, 'addEventListener', function (original) {\n return __traceOriginalScript(original, eventTargetCallbackAccessor);\n });\n\n __proxy(win[o].prototype, 'removeEventListener', function (original) {\n return __traceOriginalScript(original, eventTargetCallbackAccessor, true);\n });\n });\n\n function __traceOriginalScript(fn, callbackAccessor, alsoCallOriginal) {\n if (alsoCallOriginal === void 0) {\n alsoCallOriginal = false;\n }\n\n return function () {\n // this is required for removeEventListener to remove anything added with\n // addEventListener before the functions started being wrapped by Bugsnag\n var args = [].slice.call(arguments);\n\n try {\n var cba = callbackAccessor(args);\n var cb = cba.get();\n if (alsoCallOriginal) fn.apply(this, args);\n if (typeof cb !== 'function') return fn.apply(this, args);\n\n if (cb.__trace__) {\n cba.replace(cb.__trace__);\n } else {\n var script = getCurrentScript(); // this function mustn't be annonymous due to a bug in the stack\n // generation logic, meaning it gets tripped up\n // see: https://github.com/stacktracejs/stack-generator/issues/6\n\n cb.__trace__ = function __trace__() {\n // set the script that called this function\n updateLastScript(script); // immediately unset the currentScript synchronously below, however\n // if this cb throws an error the line after will not get run so schedule\n // an almost-immediate aysnc update too\n\n _setTimeout(function () {\n updateLastScript(null);\n }, 0);\n\n var ret = cb.apply(this, arguments);\n updateLastScript(null);\n return ret;\n };\n\n cb.__trace__.__trace__ = cb.__trace__;\n cba.replace(cb.__trace__);\n }\n } catch (e) {// swallow these errors on Selenium:\n // Permission denied to access property '__trace__'\n // WebDriverException: Message: Permission denied to access property \"handleEvent\"\n } // IE8 doesn't let you call .apply() on setTimeout/setInterval\n\n\n if (fn.apply) return fn.apply(this, args);\n\n switch (args.length) {\n case 1:\n return fn(args[0]);\n\n case 2:\n return fn(args[0], args[1]);\n\n default:\n return fn();\n }\n };\n }\n },\n configSchema: {\n trackInlineScripts: {\n validate: function (value) {\n return value === true || value === false;\n },\n defaultValue: function () {\n return true;\n },\n message: 'should be true|false'\n }\n }\n };\n};\n\nfunction __proxy(host, name, replacer) {\n var original = host[name];\n if (!original) return original;\n var replacement = replacer(original);\n host[name] = replacement;\n return original;\n}\n\nfunction eventTargetCallbackAccessor(args) {\n var isEventHandlerObj = !!args[1] && typeof args[1].handleEvent === 'function';\n return {\n get: function () {\n return isEventHandlerObj ? args[1].handleEvent : args[1];\n },\n replace: function (fn) {\n if (isEventHandlerObj) {\n args[1].handleEvent = fn;\n } else {\n args[1] = fn;\n }\n }\n };\n}\n\n/*\n * Leaves breadcrumbs when the user interacts with the DOM\n */\nvar _$interactionBreadcrumbs_49 = function (win) {\n if (win === void 0) {\n win = window;\n }\n\n return {\n load: function (client) {\n if (!('addEventListener' in win)) return;\n if (!client._isBreadcrumbTypeEnabled('user')) return;\n win.addEventListener('click', function (event) {\n var targetText, targetSelector;\n\n try {\n targetText = getNodeText(event.target);\n targetSelector = getNodeSelector(event.target, win);\n } catch (e) {\n targetText = '[hidden]';\n targetSelector = '[hidden]';\n\n client._logger.error('Cross domain error when tracking click event. See docs: https://tinyurl.com/yy3rn63z');\n }\n\n client.leaveBreadcrumb('UI click', {\n targetText: targetText,\n targetSelector: targetSelector\n }, 'user');\n }, true);\n }\n };\n}; // extract text content from a element\n\n\nvar getNodeText = function (el) {\n var text = el.textContent || el.innerText || '';\n if (!text && (el.type === 'submit' || el.type === 'button')) text = el.value;\n text = text.replace(/^\\s+|\\s+$/g, ''); // trim whitespace\n\n return truncate(text, 140);\n}; // Create a label from tagname, id and css class of the element\n\n\nfunction getNodeSelector(el, win) {\n var parts = [el.tagName];\n if (el.id) parts.push('#' + el.id);\n if (el.className && el.className.length) parts.push(\".\" + el.className.split(' ').join('.')); // Can't get much more advanced with the current browser\n\n if (!win.document.querySelectorAll || !Array.prototype.indexOf) return parts.join('');\n\n try {\n if (win.document.querySelectorAll(parts.join('')).length === 1) return parts.join('');\n } catch (e) {\n // Sometimes the query selector can be invalid just return it as-is\n return parts.join('');\n } // try to get a more specific selector if this one matches more than one element\n\n\n if (el.parentNode.childNodes.length > 1) {\n var index = Array.prototype.indexOf.call(el.parentNode.childNodes, el) + 1;\n parts.push(\":nth-child(\" + index + \")\");\n }\n\n if (win.document.querySelectorAll(parts.join('')).length === 1) return parts.join(''); // try prepending the parent node selector\n\n if (el.parentNode) return getNodeSelector(el.parentNode, win) + \" > \" + parts.join('');\n return parts.join('');\n}\n\nfunction truncate(value, length) {\n var ommision = '(...)';\n if (value && value.length <= length) return value;\n return value.slice(0, length - ommision.length) + ommision;\n}\n\nvar _$navigationBreadcrumbs_50 = {};\n/*\n* Leaves breadcrumbs when navigation methods are called or events are emitted\n*/\n_$navigationBreadcrumbs_50 = function (win) {\n if (win === void 0) {\n win = window;\n }\n\n var plugin = {\n load: function (client) {\n if (!('addEventListener' in win)) return;\n if (!client._isBreadcrumbTypeEnabled('navigation')) return; // returns a function that will drop a breadcrumb with a given name\n\n var drop = function (name) {\n return function () {\n return client.leaveBreadcrumb(name, {}, 'navigation');\n };\n }; // simple drops – just names, no meta\n\n\n win.addEventListener('pagehide', drop('Page hidden'), true);\n win.addEventListener('pageshow', drop('Page shown'), true);\n win.addEventListener('load', drop('Page loaded'), true);\n win.document.addEventListener('DOMContentLoaded', drop('DOMContentLoaded'), true); // some browsers like to emit popstate when the page loads, so only add the popstate listener after that\n\n win.addEventListener('load', function () {\n return win.addEventListener('popstate', drop('Navigated back'), true);\n }); // hashchange has some metadata that we care about\n\n win.addEventListener('hashchange', function (event) {\n var metadata = event.oldURL ? {\n from: relativeLocation(event.oldURL, win),\n to: relativeLocation(event.newURL, win),\n state: getCurrentState(win)\n } : {\n to: relativeLocation(win.location.href, win)\n };\n client.leaveBreadcrumb('Hash changed', metadata, 'navigation');\n }, true); // the only way to know about replaceState/pushState is to wrap them… >_<\n\n if (win.history.replaceState) wrapHistoryFn(client, win.history, 'replaceState', win);\n if (win.history.pushState) wrapHistoryFn(client, win.history, 'pushState', win);\n }\n };\n\n if (\"production\" !== 'production') {\n plugin.destroy = function (win) {\n if (win === void 0) {\n win = window;\n }\n\n win.history.replaceState._restore();\n\n win.history.pushState._restore();\n };\n }\n\n return plugin;\n};\n\nif (\"production\" !== 'production') {\n _$navigationBreadcrumbs_50.destroy = function (win) {\n if (win === void 0) {\n win = window;\n }\n\n win.history.replaceState._restore();\n\n win.history.pushState._restore();\n };\n} // takes a full url like http://foo.com:1234/pages/01.html?yes=no#section-2 and returns\n// just the path and hash parts, e.g. /pages/01.html?yes=no#section-2\n\n\nvar relativeLocation = function (url, win) {\n var a = win.document.createElement('A');\n a.href = url;\n return \"\" + a.pathname + a.search + a.hash;\n};\n\nvar stateChangeToMetadata = function (win, state, title, url) {\n var currentPath = relativeLocation(win.location.href, win);\n return {\n title: title,\n state: state,\n prevState: getCurrentState(win),\n to: url || currentPath,\n from: currentPath\n };\n};\n\nvar wrapHistoryFn = function (client, target, fn, win) {\n var orig = target[fn];\n\n target[fn] = function (state, title, url) {\n client.leaveBreadcrumb(\"History \" + fn, stateChangeToMetadata(win, state, title, url), 'navigation'); // if throttle plugin is in use, reset the event sent count\n\n if (typeof client.resetEventCount === 'function') client.resetEventCount(); // if the client is operating in auto session-mode, a new route should trigger a new session\n\n if (client._config.autoTrackSessions) client.startSession(); // Internet Explorer will convert `undefined` to a string when passed, causing an unintended redirect\n // to '/undefined'. therefore we only pass the url if it's not undefined.\n\n orig.apply(target, [state, title].concat(url !== undefined ? url : []));\n };\n\n if (\"production\" !== 'production') {\n target[fn]._restore = function () {\n target[fn] = orig;\n };\n }\n};\n\nvar getCurrentState = function (win) {\n try {\n return win.history.state;\n } catch (e) {}\n};\n\nvar BREADCRUMB_TYPE = 'request'; // keys to safely store metadata on the request object\n\nvar REQUEST_SETUP_KEY = 'BS~~S';\nvar REQUEST_URL_KEY = 'BS~~U';\nvar REQUEST_METHOD_KEY = 'BS~~M';\n\n/* removed: var _$includes_13 = require('@bugsnag/core/lib/es-utils/includes'); */;\n/*\n * Leaves breadcrumbs when network requests occur\n */\n\n\nvar _$networkBreadcrumbs_51 = function (_ignoredUrls, win) {\n if (_ignoredUrls === void 0) {\n _ignoredUrls = [];\n }\n\n if (win === void 0) {\n win = window;\n }\n\n var restoreFunctions = [];\n var plugin = {\n load: function (client) {\n if (!client._isBreadcrumbTypeEnabled('request')) return;\n var ignoredUrls = [client._config.endpoints.notify, client._config.endpoints.sessions].concat(_ignoredUrls);\n monkeyPatchXMLHttpRequest();\n monkeyPatchFetch(); // XMLHttpRequest monkey patch\n\n function monkeyPatchXMLHttpRequest() {\n if (!('addEventListener' in win.XMLHttpRequest.prototype)) return;\n var nativeOpen = win.XMLHttpRequest.prototype.open; // override native open()\n\n win.XMLHttpRequest.prototype.open = function open(method, url) {\n // store url and HTTP method for later\n this[REQUEST_URL_KEY] = url;\n this[REQUEST_METHOD_KEY] = method; // if we have already setup listeners, it means open() was called twice, we need to remove\n // the listeners and recreate them\n\n if (this[REQUEST_SETUP_KEY]) {\n this.removeEventListener('load', handleXHRLoad);\n this.removeEventListener('error', handleXHRError);\n } // attach load event listener\n\n\n this.addEventListener('load', handleXHRLoad); // attach error event listener\n\n this.addEventListener('error', handleXHRError);\n this[REQUEST_SETUP_KEY] = true;\n nativeOpen.apply(this, arguments);\n };\n\n if (\"production\" !== 'production') {\n restoreFunctions.push(function () {\n win.XMLHttpRequest.prototype.open = nativeOpen;\n });\n }\n }\n\n function handleXHRLoad() {\n var url = this[REQUEST_URL_KEY];\n\n if (url === undefined) {\n client._logger.warn('The request URL is no longer present on this XMLHttpRequest. A breadcrumb cannot be left for this request.');\n\n return;\n } // an XMLHttpRequest's URL can be an object as long as its 'toString'\n // returns a URL, e.g. a HTMLAnchorElement\n\n\n if (typeof url === 'string' && _$includes_13(ignoredUrls, url.replace(/\\?.*$/, ''))) {\n // don't leave a network breadcrumb from bugsnag notify calls\n return;\n }\n\n var metadata = {\n status: this.status,\n request: this[REQUEST_METHOD_KEY] + \" \" + this[REQUEST_URL_KEY]\n };\n\n if (this.status >= 400) {\n // contacted server but got an error response\n client.leaveBreadcrumb('XMLHttpRequest failed', metadata, BREADCRUMB_TYPE);\n } else {\n client.leaveBreadcrumb('XMLHttpRequest succeeded', metadata, BREADCRUMB_TYPE);\n }\n }\n\n function handleXHRError() {\n var url = this[REQUEST_URL_KEY];\n\n if (url === undefined) {\n client._logger.warn('The request URL is no longer present on this XMLHttpRequest. A breadcrumb cannot be left for this request.');\n\n return;\n }\n\n if (typeof url === 'string' && _$includes_13(ignoredUrls, url.replace(/\\?.*$/, ''))) {\n // don't leave a network breadcrumb from bugsnag notify calls\n return;\n } // failed to contact server\n\n\n client.leaveBreadcrumb('XMLHttpRequest error', {\n request: this[REQUEST_METHOD_KEY] + \" \" + this[REQUEST_URL_KEY]\n }, BREADCRUMB_TYPE);\n } // window.fetch monkey patch\n\n\n function monkeyPatchFetch() {\n // only patch it if it exists and if it is not a polyfill (patching a polyfilled\n // fetch() results in duplicate breadcrumbs for the same request because the\n // implementation uses XMLHttpRequest which is also patched)\n if (!('fetch' in win) || win.fetch.polyfill) return;\n var oldFetch = win.fetch;\n\n win.fetch = function fetch() {\n var _arguments = arguments;\n var urlOrRequest = arguments[0];\n var options = arguments[1];\n var method;\n var url = null;\n\n if (urlOrRequest && typeof urlOrRequest === 'object') {\n url = urlOrRequest.url;\n\n if (options && 'method' in options) {\n method = options.method;\n } else if (urlOrRequest && 'method' in urlOrRequest) {\n method = urlOrRequest.method;\n }\n } else {\n url = urlOrRequest;\n\n if (options && 'method' in options) {\n method = options.method;\n }\n }\n\n if (method === undefined) {\n method = 'GET';\n }\n\n return new Promise(function (resolve, reject) {\n // pass through to native fetch\n oldFetch.apply(void 0, _arguments).then(function (response) {\n handleFetchSuccess(response, method, url);\n resolve(response);\n })[\"catch\"](function (error) {\n handleFetchError(method, url);\n reject(error);\n });\n });\n };\n\n if (\"production\" !== 'production') {\n restoreFunctions.push(function () {\n win.fetch = oldFetch;\n });\n }\n }\n\n var handleFetchSuccess = function (response, method, url) {\n var metadata = {\n status: response.status,\n request: method + \" \" + url\n };\n\n if (response.status >= 400) {\n // when the request comes back with a 4xx or 5xx status it does not reject the fetch promise,\n client.leaveBreadcrumb('fetch() failed', metadata, BREADCRUMB_TYPE);\n } else {\n client.leaveBreadcrumb('fetch() succeeded', metadata, BREADCRUMB_TYPE);\n }\n };\n\n var handleFetchError = function (method, url) {\n client.leaveBreadcrumb('fetch() error', {\n request: method + \" \" + url\n }, BREADCRUMB_TYPE);\n };\n }\n };\n\n if (\"production\" !== 'production') {\n plugin.destroy = function () {\n restoreFunctions.forEach(function (fn) {\n return fn();\n });\n restoreFunctions = [];\n };\n }\n\n return plugin;\n};\n\n/* removed: var _$intRange_24 = require('@bugsnag/core/lib/validators/int-range'); */;\n/*\n * Throttles and dedupes events\n */\n\n\nvar _$throttle_52 = {\n load: function (client) {\n // track sent events for each init of the plugin\n var n = 0; // add onError hook\n\n client.addOnError(function (event) {\n // have max events been sent already?\n if (n >= client._config.maxEvents) return false;\n n++;\n });\n\n client.resetEventCount = function () {\n n = 0;\n };\n },\n configSchema: {\n maxEvents: {\n defaultValue: function () {\n return 10;\n },\n message: 'should be a positive integer ≤100',\n validate: function (val) {\n return _$intRange_24(1, 100)(val);\n }\n }\n }\n};\n\nvar _$stripQueryString_53 = {};\n/*\n * Remove query strings (and fragments) from stacktraces\n */\n/* removed: var _$map_16 = require('@bugsnag/core/lib/es-utils/map'); */;\n\n/* removed: var _$reduce_17 = require('@bugsnag/core/lib/es-utils/reduce'); */;\n\n_$stripQueryString_53 = {\n load: function (client) {\n client.addOnError(function (event) {\n var allFrames = _$reduce_17(event.errors, function (accum, er) {\n return accum.concat(er.stacktrace);\n }, []);\n _$map_16(allFrames, function (frame) {\n frame.file = strip(frame.file);\n });\n });\n }\n};\n\nvar strip = _$stripQueryString_53._strip = function (str) {\n return typeof str === 'string' ? str.replace(/\\?.*$/, '').replace(/#.*$/, '') : str;\n};\n\n/*\n * Automatically notifies Bugsnag when window.onerror is called\n */\nvar _$onerror_54 = function (win) {\n if (win === void 0) {\n win = window;\n }\n\n return {\n load: function (client) {\n if (!client._config.autoDetectErrors) return;\n if (!client._config.enabledErrorTypes.unhandledExceptions) return;\n\n function onerror(messageOrEvent, url, lineNo, charNo, error) {\n // Ignore errors with no info due to CORS settings\n if (lineNo === 0 && /Script error\\.?/.test(messageOrEvent)) {\n client._logger.warn('Ignoring cross-domain or eval script error. See docs: https://tinyurl.com/yy3rn63z');\n } else {\n // any error sent to window.onerror is unhandled and has severity=error\n var handledState = {\n severity: 'error',\n unhandled: true,\n severityReason: {\n type: 'unhandledException'\n }\n };\n var event; // window.onerror can be called in a number of ways. This big if-else is how we\n // figure out which arguments were supplied, and what kind of values it received.\n\n if (error) {\n // if the last parameter (error) was supplied, this is a modern browser's\n // way of saying \"this value was thrown and not caught\"\n event = client.Event.create(error, true, handledState, 'window onerror', 1);\n decorateStack(event.errors[0].stacktrace, url, lineNo, charNo);\n } else if ( // This complex case detects \"error\" events that are typically synthesised\n // by jquery's trigger method (although can be created in other ways). In\n // order to detect this:\n // - the first argument (message) must exist and be an object (most likely it's a jQuery event)\n // - the second argument (url) must either not exist or be something other than a string (if it\n // exists and is not a string, it'll be the extraParameters argument from jQuery's trigger()\n // function)\n // - the third, fourth and fifth arguments must not exist (lineNo, charNo and error)\n typeof messageOrEvent === 'object' && messageOrEvent !== null && (!url || typeof url !== 'string') && !lineNo && !charNo && !error) {\n // The jQuery event may have a \"type\" property, if so use it as part of the error message\n var name = messageOrEvent.type ? \"Event: \" + messageOrEvent.type : 'Error'; // attempt to find a message from one of the conventional properties, but\n // default to empty string (the event will fill it with a placeholder)\n\n var message = messageOrEvent.message || messageOrEvent.detail || '';\n event = client.Event.create({\n name: name,\n message: message\n }, true, handledState, 'window onerror', 1); // provide the original thing onerror received – not our error-like object we passed to _notify\n\n event.originalError = messageOrEvent; // include the raw input as metadata – it might contain more info than we extracted\n\n event.addMetadata('window onerror', {\n event: messageOrEvent,\n extraParameters: url\n });\n } else {\n // Lastly, if there was no \"error\" parameter this event was probably from an old\n // browser that doesn't support that. Instead we need to generate a stacktrace.\n event = client.Event.create(messageOrEvent, true, handledState, 'window onerror', 1);\n decorateStack(event.errors[0].stacktrace, url, lineNo, charNo);\n }\n\n client._notify(event);\n }\n\n if (typeof prevOnError === 'function') prevOnError.apply(this, arguments);\n }\n\n var prevOnError = win.onerror;\n win.onerror = onerror;\n }\n };\n}; // Sometimes the stacktrace has less information than was passed to window.onerror.\n// This function will augment the first stackframe with any useful info that was\n// received as arguments to the onerror callback.\n\n\nvar decorateStack = function (stack, url, lineNo, charNo) {\n if (!stack[0]) stack.push({});\n var culprit = stack[0];\n if (!culprit.file && typeof url === 'string') culprit.file = url;\n if (!culprit.lineNumber && isActualNumber(lineNo)) culprit.lineNumber = lineNo;\n\n if (!culprit.columnNumber) {\n if (isActualNumber(charNo)) {\n culprit.columnNumber = charNo;\n } else if (window.event && isActualNumber(window.event.errorCharacter)) {\n culprit.columnNumber = window.event.errorCharacter;\n }\n }\n};\n\nvar isActualNumber = function (n) {\n return typeof n === 'number' && String.call(n) !== 'NaN';\n};\n\n/* removed: var _$map_16 = require('@bugsnag/core/lib/es-utils/map'); */;\n\n/* removed: var _$iserror_20 = require('@bugsnag/core/lib/iserror'); */;\n\nvar _listener;\n/*\n * Automatically notifies Bugsnag when window.onunhandledrejection is called\n */\n\n\nvar _$unhandledRejection_55 = function (win) {\n if (win === void 0) {\n win = window;\n }\n\n var plugin = {\n load: function (client) {\n if (!client._config.autoDetectErrors || !client._config.enabledErrorTypes.unhandledRejections) return;\n\n var listener = function (evt) {\n var error = evt.reason;\n var isBluebird = false; // accessing properties on evt.detail can throw errors (see #394)\n\n try {\n if (evt.detail && evt.detail.reason) {\n error = evt.detail.reason;\n isBluebird = true;\n }\n } catch (e) {}\n\n var event = client.Event.create(error, false, {\n severity: 'error',\n unhandled: true,\n severityReason: {\n type: 'unhandledPromiseRejection'\n }\n }, 'unhandledrejection handler', 1, client._logger);\n\n if (isBluebird) {\n _$map_16(event.errors[0].stacktrace, fixBluebirdStacktrace(error));\n }\n\n client._notify(event, function (event) {\n if (_$iserror_20(event.originalError) && !event.originalError.stack) {\n var _event$addMetadata;\n\n event.addMetadata('unhandledRejection handler', (_event$addMetadata = {}, _event$addMetadata[Object.prototype.toString.call(event.originalError)] = {\n name: event.originalError.name,\n message: event.originalError.message,\n code: event.originalError.code\n }, _event$addMetadata));\n }\n });\n };\n\n if ('addEventListener' in win) {\n win.addEventListener('unhandledrejection', listener);\n } else {\n win.onunhandledrejection = function (reason, promise) {\n listener({\n detail: {\n reason: reason,\n promise: promise\n }\n });\n };\n }\n\n _listener = listener;\n }\n };\n\n if (\"production\" !== 'production') {\n plugin.destroy = function (win) {\n if (win === void 0) {\n win = window;\n }\n\n if (_listener) {\n if ('addEventListener' in win) {\n win.removeEventListener('unhandledrejection', _listener);\n } else {\n win.onunhandledrejection = null;\n }\n }\n\n _listener = null;\n };\n }\n\n return plugin;\n}; // The stack parser on bluebird stacks in FF get a suprious first frame:\n//\n// Error: derp\n// b@http://localhost:5000/bluebird.html:22:24\n// a@http://localhost:5000/bluebird.html:18:9\n// @http://localhost:5000/bluebird.html:14:9\n//\n// results in\n// […]\n// 0: Object { file: \"Error: derp\", method: undefined, lineNumber: undefined, … }\n// 1: Object { file: \"http://localhost:5000/bluebird.html\", method: \"b\", lineNumber: 22, … }\n// 2: Object { file: \"http://localhost:5000/bluebird.html\", method: \"a\", lineNumber: 18, … }\n// 3: Object { file: \"http://localhost:5000/bluebird.html\", lineNumber: 14, columnNumber: 9, … }\n//\n// so the following reduce/accumulator function removes such frames\n//\n// Bluebird pads method names with spaces so trim that too…\n// https://github.com/petkaantonov/bluebird/blob/b7f21399816d02f979fe434585334ce901dcaf44/src/debuggability.js#L568-L571\n\n\nvar fixBluebirdStacktrace = function (error) {\n return function (frame) {\n if (frame.file === error.toString()) return;\n\n if (frame.method) {\n frame.method = frame.method.replace(/^\\s+/, '');\n }\n };\n};\n\nvar _$notifier_2 = {};\nvar name = 'Bugsnag JavaScript';\nvar version = '7.16.1';\nvar url = 'https://github.com/bugsnag/bugsnag-js';\n\n/* removed: var _$Client_4 = require('@bugsnag/core/client'); */;\n\n/* removed: var _$Event_6 = require('@bugsnag/core/event'); */;\n\n/* removed: var _$Session_35 = require('@bugsnag/core/session'); */;\n\n/* removed: var _$Breadcrumb_3 = require('@bugsnag/core/breadcrumb'); */;\n\n/* removed: var _$map_16 = require('@bugsnag/core/lib/es-utils/map'); */;\n\n/* removed: var _$keys_15 = require('@bugsnag/core/lib/es-utils/keys'); */;\n\n/* removed: var _$assign_11 = require('@bugsnag/core/lib/es-utils/assign'); */; // extend the base config schema with some browser-specific options\n\n\nvar __schema_2 = _$assign_11({}, _$config_5.schema, _$config_1);\n\n/* removed: var _$onerror_54 = require('@bugsnag/plugin-window-onerror'); */;\n\n/* removed: var _$unhandledRejection_55 = require('@bugsnag/plugin-window-unhandled-rejection'); */;\n\n/* removed: var _$app_38 = require('@bugsnag/plugin-app-duration'); */;\n\n/* removed: var _$device_40 = require('@bugsnag/plugin-browser-device'); */;\n\n/* removed: var _$context_39 = require('@bugsnag/plugin-browser-context'); */;\n\n/* removed: var _$request_44 = require('@bugsnag/plugin-browser-request'); */;\n\n/* removed: var _$throttle_52 = require('@bugsnag/plugin-simple-throttle'); */;\n\n/* removed: var _$consoleBreadcrumbs_47 = require('@bugsnag/plugin-console-breadcrumbs'); */;\n\n/* removed: var _$networkBreadcrumbs_51 = require('@bugsnag/plugin-network-breadcrumbs'); */;\n\n/* removed: var _$navigationBreadcrumbs_50 = require('@bugsnag/plugin-navigation-breadcrumbs'); */;\n\n/* removed: var _$interactionBreadcrumbs_49 = require('@bugsnag/plugin-interaction-breadcrumbs'); */;\n\n/* removed: var _$inlineScriptContent_48 = require('@bugsnag/plugin-inline-script-content'); */;\n\n/* removed: var _$session_45 = require('@bugsnag/plugin-browser-session'); */;\n\n/* removed: var _$clientIp_46 = require('@bugsnag/plugin-client-ip'); */;\n\n/* removed: var _$stripQueryString_53 = require('@bugsnag/plugin-strip-query-string'); */; // delivery mechanisms\n\n\n/* removed: var _$delivery_36 = require('@bugsnag/delivery-x-domain-request'); */;\n\n/* removed: var _$delivery_37 = require('@bugsnag/delivery-xml-http-request'); */;\n\nvar Bugsnag = {\n _client: null,\n createClient: function (opts) {\n // handle very simple use case where user supplies just the api key as a string\n if (typeof opts === 'string') opts = {\n apiKey: opts\n };\n if (!opts) opts = {};\n var internalPlugins = [// add browser-specific plugins\n _$app_38, _$device_40(), _$context_39(), _$request_44(), _$throttle_52, _$session_45, _$clientIp_46, _$stripQueryString_53, _$onerror_54(), _$unhandledRejection_55(), _$navigationBreadcrumbs_50(), _$interactionBreadcrumbs_49(), _$networkBreadcrumbs_51(), _$consoleBreadcrumbs_47, // this one added last to avoid wrapping functionality before bugsnag uses it\n _$inlineScriptContent_48()]; // configure a client with user supplied options\n\n var bugsnag = new _$Client_4(opts, __schema_2, internalPlugins, {\n name: name,\n version: version,\n url: url\n }); // set delivery based on browser capability (IE 8+9 have an XDomainRequest object)\n\n bugsnag._setDelivery(window.XDomainRequest ? _$delivery_36 : _$delivery_37);\n\n bugsnag._logger.debug('Loaded!');\n\n bugsnag.leaveBreadcrumb('Bugsnag loaded', {}, 'state');\n return bugsnag._config.autoTrackSessions ? bugsnag.startSession() : bugsnag;\n },\n start: function (opts) {\n if (Bugsnag._client) {\n Bugsnag._client._logger.warn('Bugsnag.start() was called more than once. Ignoring.');\n\n return Bugsnag._client;\n }\n\n Bugsnag._client = Bugsnag.createClient(opts);\n return Bugsnag._client;\n }\n};\n_$map_16(['resetEventCount'].concat(_$keys_15(_$Client_4.prototype)), function (m) {\n if (/^_/.test(m)) return;\n\n Bugsnag[m] = function () {\n if (!Bugsnag._client) return console.log(\"Bugsnag.\" + m + \"() was called before Bugsnag.start()\");\n Bugsnag._client._depth += 1;\n\n var ret = Bugsnag._client[m].apply(Bugsnag._client, arguments);\n\n Bugsnag._client._depth -= 1;\n return ret;\n };\n});\n_$notifier_2 = Bugsnag;\n_$notifier_2.Client = _$Client_4;\n_$notifier_2.Event = _$Event_6;\n_$notifier_2.Session = _$Session_35;\n_$notifier_2.Breadcrumb = _$Breadcrumb_3; // Export a \"default\" property for compatibility with ESM imports\n\n_$notifier_2[\"default\"] = Bugsnag;\n\nreturn _$notifier_2;\n\n});\n//# sourceMappingURL=bugsnag.js.map\n","module.exports = require('@bugsnag/browser')\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __markAsModule = (target) => __defProp(target, \"__esModule\", {value: true});\nvar __commonJS = (callback, module) => () => {\n if (!module) {\n module = {exports: {}};\n callback(module.exports, module);\n }\n return module.exports;\n};\nvar __exportStar = (target, module, desc) => {\n if (module && typeof module === \"object\" || typeof module === \"function\") {\n for (let key of __getOwnPropNames(module))\n if (!__hasOwnProp.call(target, key) && key !== \"default\")\n __defProp(target, key, {get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable});\n }\n return target;\n};\nvar __toModule = (module) => {\n return __exportStar(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, \"default\", module && module.__esModule && \"default\" in module ? {get: () => module.default, enumerable: true} : {value: module, enumerable: true})), module);\n};\n\n// node_modules/@vue/shared/dist/shared.cjs.js\nvar require_shared_cjs = __commonJS((exports) => {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", {value: true});\n function makeMap(str, expectsLowerCase) {\n const map = Object.create(null);\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];\n }\n var PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `HYDRATE_EVENTS`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n };\n var slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n };\n var GLOBALS_WHITE_LISTED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt\";\n var isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED);\n var range = 2;\n function generateCodeFrame(source, start2 = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start2) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n const pad = start2 - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start2);\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n }\n var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\n var isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\n var isBooleanAttr2 = /* @__PURE__ */ makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`);\n var unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\n var attrValidationCache = {};\n function isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n }\n var propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n };\n var isNoUnitNumericStyleProp = /* @__PURE__ */ makeMap(`animation-iteration-count,border-image-outset,border-image-slice,border-image-width,box-flex,box-flex-group,box-ordinal-group,column-count,columns,flex,flex-grow,flex-positive,flex-shrink,flex-negative,flex-order,grid-row,grid-row-end,grid-row-span,grid-row-start,grid-column,grid-column-end,grid-column-span,grid-column-start,font-weight,line-clamp,line-height,opacity,order,orphans,tab-size,widows,z-index,zoom,fill-opacity,flood-opacity,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-miterlimit,stroke-opacity,stroke-width`);\n var isKnownAttr = /* @__PURE__ */ makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`);\n function normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = normalizeStyle(isString(item) ? parseStringStyle(item) : item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isObject(value)) {\n return value;\n }\n }\n var listDelimiterRE = /;(?![^(]*\\))/g;\n var propertyDelimiterRE = /:(.+)/;\n function parseStringStyle(cssText) {\n const ret = {};\n cssText.split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n }\n function stringifyStyle(styles) {\n let ret = \"\";\n if (!styles) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\" && isNoUnitNumericStyleProp(normalizedKey)) {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n }\n function normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n }\n var HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\n var SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\n var VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\n var isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\n var isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\n var isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n var escapeRE = /[\"'&<>]/;\n function escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.substring(lastIndex, index) : html;\n }\n var commentStripRE = /^-?>||--!>| looseEqual(item, val));\n }\n var toDisplayString = (val) => {\n return val == null ? \"\" : isObject(val) ? JSON.stringify(val, replacer, 2) : String(val);\n };\n var replacer = (_key, val) => {\n if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {\n entries[`${key} =>`] = val2;\n return entries;\n }, {})\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()]\n };\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n };\n var babelParserDefaultPlugins = [\n \"bigInt\",\n \"optionalChaining\",\n \"nullishCoalescingOperator\"\n ];\n var EMPTY_OBJ = Object.freeze({});\n var EMPTY_ARR = Object.freeze([]);\n var NOOP = () => {\n };\n var NO = () => false;\n var onRE = /^on[^a-z]/;\n var isOn = (key) => onRE.test(key);\n var isModelListener = (key) => key.startsWith(\"onUpdate:\");\n var extend = Object.assign;\n var remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n };\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var hasOwn = (val, key) => hasOwnProperty.call(val, key);\n var isArray = Array.isArray;\n var isMap = (val) => toTypeString(val) === \"[object Map]\";\n var isSet = (val) => toTypeString(val) === \"[object Set]\";\n var isDate = (val) => val instanceof Date;\n var isFunction = (val) => typeof val === \"function\";\n var isString = (val) => typeof val === \"string\";\n var isSymbol = (val) => typeof val === \"symbol\";\n var isObject = (val) => val !== null && typeof val === \"object\";\n var isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n };\n var objectToString = Object.prototype.toString;\n var toTypeString = (value) => objectToString.call(value);\n var toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n };\n var isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\n var isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\n var isReservedProp = /* @__PURE__ */ makeMap(\",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\");\n var cacheStringFunction = (fn) => {\n const cache = Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n };\n var camelizeRE = /-(\\w)/g;\n var camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n });\n var hyphenateRE = /\\B([A-Z])/g;\n var hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\n var capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1));\n var toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``);\n var hasChanged = (value, oldValue) => value !== oldValue && (value === value || oldValue === oldValue);\n var invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n };\n var def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n };\n var toNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n };\n var _globalThis;\n var getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n };\n exports.EMPTY_ARR = EMPTY_ARR;\n exports.EMPTY_OBJ = EMPTY_OBJ;\n exports.NO = NO;\n exports.NOOP = NOOP;\n exports.PatchFlagNames = PatchFlagNames;\n exports.babelParserDefaultPlugins = babelParserDefaultPlugins;\n exports.camelize = camelize;\n exports.capitalize = capitalize;\n exports.def = def;\n exports.escapeHtml = escapeHtml;\n exports.escapeHtmlComment = escapeHtmlComment;\n exports.extend = extend;\n exports.generateCodeFrame = generateCodeFrame;\n exports.getGlobalThis = getGlobalThis;\n exports.hasChanged = hasChanged;\n exports.hasOwn = hasOwn;\n exports.hyphenate = hyphenate;\n exports.invokeArrayFns = invokeArrayFns;\n exports.isArray = isArray;\n exports.isBooleanAttr = isBooleanAttr2;\n exports.isDate = isDate;\n exports.isFunction = isFunction;\n exports.isGloballyWhitelisted = isGloballyWhitelisted;\n exports.isHTMLTag = isHTMLTag;\n exports.isIntegerKey = isIntegerKey;\n exports.isKnownAttr = isKnownAttr;\n exports.isMap = isMap;\n exports.isModelListener = isModelListener;\n exports.isNoUnitNumericStyleProp = isNoUnitNumericStyleProp;\n exports.isObject = isObject;\n exports.isOn = isOn;\n exports.isPlainObject = isPlainObject;\n exports.isPromise = isPromise;\n exports.isReservedProp = isReservedProp;\n exports.isSSRSafeAttrName = isSSRSafeAttrName;\n exports.isSVGTag = isSVGTag;\n exports.isSet = isSet;\n exports.isSpecialBooleanAttr = isSpecialBooleanAttr;\n exports.isString = isString;\n exports.isSymbol = isSymbol;\n exports.isVoidTag = isVoidTag;\n exports.looseEqual = looseEqual;\n exports.looseIndexOf = looseIndexOf;\n exports.makeMap = makeMap;\n exports.normalizeClass = normalizeClass;\n exports.normalizeStyle = normalizeStyle;\n exports.objectToString = objectToString;\n exports.parseStringStyle = parseStringStyle;\n exports.propsToAttrMap = propsToAttrMap;\n exports.remove = remove;\n exports.slotFlagsText = slotFlagsText;\n exports.stringifyStyle = stringifyStyle;\n exports.toDisplayString = toDisplayString;\n exports.toHandlerKey = toHandlerKey;\n exports.toNumber = toNumber;\n exports.toRawType = toRawType;\n exports.toTypeString = toTypeString;\n});\n\n// node_modules/@vue/shared/index.js\nvar require_shared = __commonJS((exports, module) => {\n \"use strict\";\n if (false) {\n module.exports = null;\n } else {\n module.exports = require_shared_cjs();\n }\n});\n\n// node_modules/@vue/reactivity/dist/reactivity.cjs.js\nvar require_reactivity_cjs = __commonJS((exports) => {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", {value: true});\n var shared = require_shared();\n var targetMap = new WeakMap();\n var effectStack = [];\n var activeEffect;\n var ITERATE_KEY = Symbol(\"iterate\");\n var MAP_KEY_ITERATE_KEY = Symbol(\"Map key iterate\");\n function isEffect(fn) {\n return fn && fn._isEffect === true;\n }\n function effect3(fn, options = shared.EMPTY_OBJ) {\n if (isEffect(fn)) {\n fn = fn.raw;\n }\n const effect4 = createReactiveEffect(fn, options);\n if (!options.lazy) {\n effect4();\n }\n return effect4;\n }\n function stop2(effect4) {\n if (effect4.active) {\n cleanup(effect4);\n if (effect4.options.onStop) {\n effect4.options.onStop();\n }\n effect4.active = false;\n }\n }\n var uid = 0;\n function createReactiveEffect(fn, options) {\n const effect4 = function reactiveEffect() {\n if (!effect4.active) {\n return fn();\n }\n if (!effectStack.includes(effect4)) {\n cleanup(effect4);\n try {\n enableTracking();\n effectStack.push(effect4);\n activeEffect = effect4;\n return fn();\n } finally {\n effectStack.pop();\n resetTracking();\n activeEffect = effectStack[effectStack.length - 1];\n }\n }\n };\n effect4.id = uid++;\n effect4.allowRecurse = !!options.allowRecurse;\n effect4._isEffect = true;\n effect4.active = true;\n effect4.raw = fn;\n effect4.deps = [];\n effect4.options = options;\n return effect4;\n }\n function cleanup(effect4) {\n const {deps} = effect4;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect4);\n }\n deps.length = 0;\n }\n }\n var shouldTrack = true;\n var trackStack = [];\n function pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n }\n function enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n }\n function resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n }\n function track(target, type, key) {\n if (!shouldTrack || activeEffect === void 0) {\n return;\n }\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Set());\n }\n if (!dep.has(activeEffect)) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if (activeEffect.options.onTrack) {\n activeEffect.options.onTrack({\n effect: activeEffect,\n target,\n type,\n key\n });\n }\n }\n }\n function trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n const effects = new Set();\n const add2 = (effectsToAdd) => {\n if (effectsToAdd) {\n effectsToAdd.forEach((effect4) => {\n if (effect4 !== activeEffect || effect4.allowRecurse) {\n effects.add(effect4);\n }\n });\n }\n };\n if (type === \"clear\") {\n depsMap.forEach(add2);\n } else if (key === \"length\" && shared.isArray(target)) {\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 >= newValue) {\n add2(dep);\n }\n });\n } else {\n if (key !== void 0) {\n add2(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!shared.isArray(target)) {\n add2(depsMap.get(ITERATE_KEY));\n if (shared.isMap(target)) {\n add2(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (shared.isIntegerKey(key)) {\n add2(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!shared.isArray(target)) {\n add2(depsMap.get(ITERATE_KEY));\n if (shared.isMap(target)) {\n add2(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (shared.isMap(target)) {\n add2(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const run = (effect4) => {\n if (effect4.options.onTrigger) {\n effect4.options.onTrigger({\n effect: effect4,\n target,\n key,\n type,\n newValue,\n oldValue,\n oldTarget\n });\n }\n if (effect4.options.scheduler) {\n effect4.options.scheduler(effect4);\n } else {\n effect4();\n }\n };\n effects.forEach(run);\n }\n var isNonTrackableKeys = /* @__PURE__ */ shared.makeMap(`__proto__,__v_isRef,__isVue`);\n var builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol).map((key) => Symbol[key]).filter(shared.isSymbol));\n var get2 = /* @__PURE__ */ createGetter();\n var shallowGet = /* @__PURE__ */ createGetter(false, true);\n var readonlyGet = /* @__PURE__ */ createGetter(true);\n var shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);\n var arrayInstrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n const method = Array.prototype[key];\n arrayInstrumentations[key] = function(...args) {\n const arr = toRaw2(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = method.apply(arr, args);\n if (res === -1 || res === false) {\n return method.apply(arr, args.map(toRaw2));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n const method = Array.prototype[key];\n arrayInstrumentations[key] = function(...args) {\n pauseTracking();\n const res = method.apply(this, args);\n resetTracking();\n return res;\n };\n });\n function createGetter(isReadonly2 = false, shallow = false) {\n return function get3(target, key, receiver) {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = shared.isArray(target);\n if (!isReadonly2 && targetIsArray && shared.hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n const res = Reflect.get(target, key, receiver);\n if (shared.isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n const shouldUnwrap = !targetIsArray || !shared.isIntegerKey(key);\n return shouldUnwrap ? res.value : res;\n }\n if (shared.isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive3(res);\n }\n return res;\n };\n }\n var set2 = /* @__PURE__ */ createSetter();\n var shallowSet = /* @__PURE__ */ createSetter(true);\n function createSetter(shallow = false) {\n return function set3(target, key, value, receiver) {\n let oldValue = target[key];\n if (!shallow) {\n value = toRaw2(value);\n oldValue = toRaw2(oldValue);\n if (!shared.isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = shared.isArray(target) && shared.isIntegerKey(key) ? Number(key) < target.length : shared.hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw2(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (shared.hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n };\n }\n function deleteProperty(target, key) {\n const hadKey = shared.hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n function has(target, key) {\n const result = Reflect.has(target, key);\n if (!shared.isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n function ownKeys(target) {\n track(target, \"iterate\", shared.isArray(target) ? \"length\" : ITERATE_KEY);\n return Reflect.ownKeys(target);\n }\n var mutableHandlers = {\n get: get2,\n set: set2,\n deleteProperty,\n has,\n ownKeys\n };\n var readonlyHandlers = {\n get: readonlyGet,\n set(target, key) {\n {\n console.warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n },\n deleteProperty(target, key) {\n {\n console.warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n }\n };\n var shallowReactiveHandlers = shared.extend({}, mutableHandlers, {\n get: shallowGet,\n set: shallowSet\n });\n var shallowReadonlyHandlers = shared.extend({}, readonlyHandlers, {\n get: shallowReadonlyGet\n });\n var toReactive = (value) => shared.isObject(value) ? reactive3(value) : value;\n var toReadonly = (value) => shared.isObject(value) ? readonly(value) : value;\n var toShallow = (value) => value;\n var getProto = (v) => Reflect.getPrototypeOf(v);\n function get$1(target, key, isReadonly2 = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw2(target);\n const rawKey = toRaw2(key);\n if (key !== rawKey) {\n !isReadonly2 && track(rawTarget, \"get\", key);\n }\n !isReadonly2 && track(rawTarget, \"get\", rawKey);\n const {has: has2} = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n }\n function has$1(key, isReadonly2 = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw2(target);\n const rawKey = toRaw2(key);\n if (key !== rawKey) {\n !isReadonly2 && track(rawTarget, \"has\", key);\n }\n !isReadonly2 && track(rawTarget, \"has\", rawKey);\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n }\n function size(target, isReadonly2 = false) {\n target = target[\"__v_raw\"];\n !isReadonly2 && track(toRaw2(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n }\n function add(value) {\n value = toRaw2(value);\n const target = toRaw2(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n }\n function set$1(key, value) {\n value = toRaw2(value);\n const target = toRaw2(this);\n const {has: has2, get: get3} = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw2(key);\n hadKey = has2.call(target, key);\n } else {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get3.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (shared.hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n }\n function deleteEntry(key) {\n const target = toRaw2(this);\n const {has: has2, get: get3} = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw2(key);\n hadKey = has2.call(target, key);\n } else {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get3 ? get3.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n function clear() {\n const target = toRaw2(this);\n const hadItems = target.size !== 0;\n const oldTarget = shared.isMap(target) ? new Map(target) : new Set(target);\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n }\n function createForEach(isReadonly2, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw2(target);\n const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n }\n function createIterableMethod(method, isReadonly2, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw2(target);\n const targetIsMap = shared.isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(rawTarget, \"iterate\", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\n return {\n next() {\n const {value, done} = innerIterator.next();\n return done ? {value, done} : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n }\n function createReadonlyMethod(type) {\n return function(...args) {\n {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(`${shared.capitalize(type)} operation ${key}failed: target is readonly.`, toRaw2(this));\n }\n return type === \"delete\" ? false : this;\n };\n }\n var mutableInstrumentations = {\n get(key) {\n return get$1(this, key);\n },\n get size() {\n return size(this);\n },\n has: has$1,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n var shallowInstrumentations = {\n get(key) {\n return get$1(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has: has$1,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n var readonlyInstrumentations = {\n get(key) {\n return get$1(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has$1.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n var shallowReadonlyInstrumentations = {\n get(key) {\n return get$1(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has$1.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n var iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\n });\n function createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(shared.hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);\n };\n }\n var mutableCollectionHandlers = {\n get: createInstrumentationGetter(false, false)\n };\n var shallowCollectionHandlers = {\n get: createInstrumentationGetter(false, true)\n };\n var readonlyCollectionHandlers = {\n get: createInstrumentationGetter(true, false)\n };\n var shallowReadonlyCollectionHandlers = {\n get: createInstrumentationGetter(true, true)\n };\n function checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw2(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = shared.toRawType(target);\n console.warn(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`);\n }\n }\n var reactiveMap = new WeakMap();\n var shallowReactiveMap = new WeakMap();\n var readonlyMap = new WeakMap();\n var shallowReadonlyMap = new WeakMap();\n function targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2;\n default:\n return 0;\n }\n }\n function getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 : targetTypeMap(shared.toRawType(value));\n }\n function reactive3(target) {\n if (target && target[\"__v_isReadonly\"]) {\n return target;\n }\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\n }\n function shallowReactive(target) {\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\n }\n function readonly(target) {\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\n }\n function shallowReadonly(target) {\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\n }\n function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!shared.isObject(target)) {\n {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0) {\n return target;\n }\n const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers);\n proxyMap.set(target, proxy);\n return proxy;\n }\n function isReactive2(value) {\n if (isReadonly(value)) {\n return isReactive2(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n }\n function isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n }\n function isProxy(value) {\n return isReactive2(value) || isReadonly(value);\n }\n function toRaw2(observed) {\n return observed && toRaw2(observed[\"__v_raw\"]) || observed;\n }\n function markRaw(value) {\n shared.def(value, \"__v_skip\", true);\n return value;\n }\n var convert = (val) => shared.isObject(val) ? reactive3(val) : val;\n function isRef(r) {\n return Boolean(r && r.__v_isRef === true);\n }\n function ref(value) {\n return createRef(value);\n }\n function shallowRef(value) {\n return createRef(value, true);\n }\n var RefImpl = class {\n constructor(_rawValue, _shallow = false) {\n this._rawValue = _rawValue;\n this._shallow = _shallow;\n this.__v_isRef = true;\n this._value = _shallow ? _rawValue : convert(_rawValue);\n }\n get value() {\n track(toRaw2(this), \"get\", \"value\");\n return this._value;\n }\n set value(newVal) {\n if (shared.hasChanged(toRaw2(newVal), this._rawValue)) {\n this._rawValue = newVal;\n this._value = this._shallow ? newVal : convert(newVal);\n trigger(toRaw2(this), \"set\", \"value\", newVal);\n }\n }\n };\n function createRef(rawValue, shallow = false) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n }\n function triggerRef(ref2) {\n trigger(toRaw2(ref2), \"set\", \"value\", ref2.value);\n }\n function unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n }\n var shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n };\n function proxyRefs(objectWithRefs) {\n return isReactive2(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n }\n var CustomRefImpl = class {\n constructor(factory) {\n this.__v_isRef = true;\n const {get: get3, set: set3} = factory(() => track(this, \"get\", \"value\"), () => trigger(this, \"set\", \"value\"));\n this._get = get3;\n this._set = set3;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n };\n function customRef(factory) {\n return new CustomRefImpl(factory);\n }\n function toRefs(object) {\n if (!isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = shared.isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n }\n var ObjectRefImpl = class {\n constructor(_object, _key) {\n this._object = _object;\n this._key = _key;\n this.__v_isRef = true;\n }\n get value() {\n return this._object[this._key];\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n };\n function toRef(object, key) {\n return isRef(object[key]) ? object[key] : new ObjectRefImpl(object, key);\n }\n var ComputedRefImpl = class {\n constructor(getter, _setter, isReadonly2) {\n this._setter = _setter;\n this._dirty = true;\n this.__v_isRef = true;\n this.effect = effect3(getter, {\n lazy: true,\n scheduler: () => {\n if (!this._dirty) {\n this._dirty = true;\n trigger(toRaw2(this), \"set\", \"value\");\n }\n }\n });\n this[\"__v_isReadonly\"] = isReadonly2;\n }\n get value() {\n const self2 = toRaw2(this);\n if (self2._dirty) {\n self2._value = this.effect();\n self2._dirty = false;\n }\n track(self2, \"get\", \"value\");\n return self2._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n };\n function computed(getterOrOptions) {\n let getter;\n let setter;\n if (shared.isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n setter = () => {\n console.warn(\"Write operation failed: computed value is readonly\");\n };\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n return new ComputedRefImpl(getter, setter, shared.isFunction(getterOrOptions) || !getterOrOptions.set);\n }\n exports.ITERATE_KEY = ITERATE_KEY;\n exports.computed = computed;\n exports.customRef = customRef;\n exports.effect = effect3;\n exports.enableTracking = enableTracking;\n exports.isProxy = isProxy;\n exports.isReactive = isReactive2;\n exports.isReadonly = isReadonly;\n exports.isRef = isRef;\n exports.markRaw = markRaw;\n exports.pauseTracking = pauseTracking;\n exports.proxyRefs = proxyRefs;\n exports.reactive = reactive3;\n exports.readonly = readonly;\n exports.ref = ref;\n exports.resetTracking = resetTracking;\n exports.shallowReactive = shallowReactive;\n exports.shallowReadonly = shallowReadonly;\n exports.shallowRef = shallowRef;\n exports.stop = stop2;\n exports.toRaw = toRaw2;\n exports.toRef = toRef;\n exports.toRefs = toRefs;\n exports.track = track;\n exports.trigger = trigger;\n exports.triggerRef = triggerRef;\n exports.unref = unref;\n});\n\n// node_modules/@vue/reactivity/index.js\nvar require_reactivity = __commonJS((exports, module) => {\n \"use strict\";\n if (false) {\n module.exports = null;\n } else {\n module.exports = require_reactivity_cjs();\n }\n});\n\n// packages/alpinejs/src/scheduler.js\nvar flushPending = false;\nvar flushing = false;\nvar queue = [];\nfunction scheduler(callback) {\n queueJob(callback);\n}\nfunction queueJob(job) {\n if (!queue.includes(job))\n queue.push(job);\n queueFlush();\n}\nfunction queueFlush() {\n if (!flushing && !flushPending) {\n flushPending = true;\n queueMicrotask(flushJobs);\n }\n}\nfunction flushJobs() {\n flushPending = false;\n flushing = true;\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n flushing = false;\n}\n\n// packages/alpinejs/src/reactivity.js\nvar reactive;\nvar effect;\nvar release;\nvar raw;\nvar shouldSchedule = true;\nfunction disableEffectScheduling(callback) {\n shouldSchedule = false;\n callback();\n shouldSchedule = true;\n}\nfunction setReactivityEngine(engine) {\n reactive = engine.reactive;\n release = engine.release;\n effect = (callback) => engine.effect(callback, {scheduler: (task) => {\n if (shouldSchedule) {\n scheduler(task);\n } else {\n task();\n }\n }});\n raw = engine.raw;\n}\nfunction overrideEffect(override) {\n effect = override;\n}\nfunction elementBoundEffect(el) {\n let cleanup = () => {\n };\n let wrappedEffect = (callback) => {\n let effectReference = effect(callback);\n if (!el._x_effects) {\n el._x_effects = new Set();\n el._x_runEffects = () => {\n el._x_effects.forEach((i) => i());\n };\n }\n el._x_effects.add(effectReference);\n cleanup = () => {\n if (effectReference === void 0)\n return;\n el._x_effects.delete(effectReference);\n release(effectReference);\n };\n };\n return [wrappedEffect, () => {\n cleanup();\n }];\n}\n\n// packages/alpinejs/src/mutation.js\nvar onAttributeAddeds = [];\nvar onElRemoveds = [];\nvar onElAddeds = [];\nfunction onElAdded(callback) {\n onElAddeds.push(callback);\n}\nfunction onElRemoved(callback) {\n onElRemoveds.push(callback);\n}\nfunction onAttributesAdded(callback) {\n onAttributeAddeds.push(callback);\n}\nfunction onAttributeRemoved(el, name, callback) {\n if (!el._x_attributeCleanups)\n el._x_attributeCleanups = {};\n if (!el._x_attributeCleanups[name])\n el._x_attributeCleanups[name] = [];\n el._x_attributeCleanups[name].push(callback);\n}\nfunction cleanupAttributes(el, names) {\n if (!el._x_attributeCleanups)\n return;\n Object.entries(el._x_attributeCleanups).forEach(([name, value]) => {\n if (names === void 0 || names.includes(name)) {\n value.forEach((i) => i());\n delete el._x_attributeCleanups[name];\n }\n });\n}\nvar observer = new MutationObserver(onMutate);\nvar currentlyObserving = false;\nfunction startObservingMutations() {\n observer.observe(document, {subtree: true, childList: true, attributes: true, attributeOldValue: true});\n currentlyObserving = true;\n}\nfunction stopObservingMutations() {\n flushObserver();\n observer.disconnect();\n currentlyObserving = false;\n}\nvar recordQueue = [];\nvar willProcessRecordQueue = false;\nfunction flushObserver() {\n recordQueue = recordQueue.concat(observer.takeRecords());\n if (recordQueue.length && !willProcessRecordQueue) {\n willProcessRecordQueue = true;\n queueMicrotask(() => {\n processRecordQueue();\n willProcessRecordQueue = false;\n });\n }\n}\nfunction processRecordQueue() {\n onMutate(recordQueue);\n recordQueue.length = 0;\n}\nfunction mutateDom(callback) {\n if (!currentlyObserving)\n return callback();\n stopObservingMutations();\n let result = callback();\n startObservingMutations();\n return result;\n}\nvar isCollecting = false;\nvar deferredMutations = [];\nfunction deferMutations() {\n isCollecting = true;\n}\nfunction flushAndStopDeferringMutations() {\n isCollecting = false;\n onMutate(deferredMutations);\n deferredMutations = [];\n}\nfunction onMutate(mutations) {\n if (isCollecting) {\n deferredMutations = deferredMutations.concat(mutations);\n return;\n }\n let addedNodes = [];\n let removedNodes = [];\n let addedAttributes = new Map();\n let removedAttributes = new Map();\n for (let i = 0; i < mutations.length; i++) {\n if (mutations[i].target._x_ignoreMutationObserver)\n continue;\n if (mutations[i].type === \"childList\") {\n mutations[i].addedNodes.forEach((node) => node.nodeType === 1 && addedNodes.push(node));\n mutations[i].removedNodes.forEach((node) => node.nodeType === 1 && removedNodes.push(node));\n }\n if (mutations[i].type === \"attributes\") {\n let el = mutations[i].target;\n let name = mutations[i].attributeName;\n let oldValue = mutations[i].oldValue;\n let add = () => {\n if (!addedAttributes.has(el))\n addedAttributes.set(el, []);\n addedAttributes.get(el).push({name, value: el.getAttribute(name)});\n };\n let remove = () => {\n if (!removedAttributes.has(el))\n removedAttributes.set(el, []);\n removedAttributes.get(el).push(name);\n };\n if (el.hasAttribute(name) && oldValue === null) {\n add();\n } else if (el.hasAttribute(name)) {\n remove();\n add();\n } else {\n remove();\n }\n }\n }\n removedAttributes.forEach((attrs, el) => {\n cleanupAttributes(el, attrs);\n });\n addedAttributes.forEach((attrs, el) => {\n onAttributeAddeds.forEach((i) => i(el, attrs));\n });\n for (let node of removedNodes) {\n if (addedNodes.includes(node))\n continue;\n onElRemoveds.forEach((i) => i(node));\n }\n addedNodes.forEach((node) => {\n node._x_ignoreSelf = true;\n node._x_ignore = true;\n });\n for (let node of addedNodes) {\n if (removedNodes.includes(node))\n continue;\n if (!node.isConnected)\n continue;\n delete node._x_ignoreSelf;\n delete node._x_ignore;\n onElAddeds.forEach((i) => i(node));\n node._x_ignore = true;\n node._x_ignoreSelf = true;\n }\n addedNodes.forEach((node) => {\n delete node._x_ignoreSelf;\n delete node._x_ignore;\n });\n addedNodes = null;\n removedNodes = null;\n addedAttributes = null;\n removedAttributes = null;\n}\n\n// packages/alpinejs/src/scope.js\nfunction scope(node) {\n return mergeProxies(closestDataStack(node));\n}\nfunction addScopeToNode(node, data2, referenceNode) {\n node._x_dataStack = [data2, ...closestDataStack(referenceNode || node)];\n return () => {\n node._x_dataStack = node._x_dataStack.filter((i) => i !== data2);\n };\n}\nfunction refreshScope(element, scope2) {\n let existingScope = element._x_dataStack[0];\n Object.entries(scope2).forEach(([key, value]) => {\n existingScope[key] = value;\n });\n}\nfunction closestDataStack(node) {\n if (node._x_dataStack)\n return node._x_dataStack;\n if (typeof ShadowRoot === \"function\" && node instanceof ShadowRoot) {\n return closestDataStack(node.host);\n }\n if (!node.parentNode) {\n return [];\n }\n return closestDataStack(node.parentNode);\n}\nfunction mergeProxies(objects) {\n let thisProxy = new Proxy({}, {\n ownKeys: () => {\n return Array.from(new Set(objects.flatMap((i) => Object.keys(i))));\n },\n has: (target, name) => {\n return objects.some((obj) => obj.hasOwnProperty(name));\n },\n get: (target, name) => {\n return (objects.find((obj) => {\n if (obj.hasOwnProperty(name)) {\n let descriptor = Object.getOwnPropertyDescriptor(obj, name);\n if (descriptor.get && descriptor.get._x_alreadyBound || descriptor.set && descriptor.set._x_alreadyBound) {\n return true;\n }\n if ((descriptor.get || descriptor.set) && descriptor.enumerable) {\n let getter = descriptor.get;\n let setter = descriptor.set;\n let property = descriptor;\n getter = getter && getter.bind(thisProxy);\n setter = setter && setter.bind(thisProxy);\n if (getter)\n getter._x_alreadyBound = true;\n if (setter)\n setter._x_alreadyBound = true;\n Object.defineProperty(obj, name, {\n ...property,\n get: getter,\n set: setter\n });\n }\n return true;\n }\n return false;\n }) || {})[name];\n },\n set: (target, name, value) => {\n let closestObjectWithKey = objects.find((obj) => obj.hasOwnProperty(name));\n if (closestObjectWithKey) {\n closestObjectWithKey[name] = value;\n } else {\n objects[objects.length - 1][name] = value;\n }\n return true;\n }\n });\n return thisProxy;\n}\n\n// packages/alpinejs/src/interceptor.js\nfunction initInterceptors(data2) {\n let isObject = (val) => typeof val === \"object\" && !Array.isArray(val) && val !== null;\n let recurse = (obj, basePath = \"\") => {\n Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, {value, enumerable}]) => {\n if (enumerable === false || value === void 0)\n return;\n let path = basePath === \"\" ? key : `${basePath}.${key}`;\n if (typeof value === \"object\" && value !== null && value._x_interceptor) {\n obj[key] = value.initialize(data2, path, key);\n } else {\n if (isObject(value) && value !== obj && !(value instanceof Element)) {\n recurse(value, path);\n }\n }\n });\n };\n return recurse(data2);\n}\nfunction interceptor(callback, mutateObj = () => {\n}) {\n let obj = {\n initialValue: void 0,\n _x_interceptor: true,\n initialize(data2, path, key) {\n return callback(this.initialValue, () => get(data2, path), (value) => set(data2, path, value), path, key);\n }\n };\n mutateObj(obj);\n return (initialValue) => {\n if (typeof initialValue === \"object\" && initialValue !== null && initialValue._x_interceptor) {\n let initialize = obj.initialize.bind(obj);\n obj.initialize = (data2, path, key) => {\n let innerValue = initialValue.initialize(data2, path, key);\n obj.initialValue = innerValue;\n return initialize(data2, path, key);\n };\n } else {\n obj.initialValue = initialValue;\n }\n return obj;\n };\n}\nfunction get(obj, path) {\n return path.split(\".\").reduce((carry, segment) => carry[segment], obj);\n}\nfunction set(obj, path, value) {\n if (typeof path === \"string\")\n path = path.split(\".\");\n if (path.length === 1)\n obj[path[0]] = value;\n else if (path.length === 0)\n throw error;\n else {\n if (obj[path[0]])\n return set(obj[path[0]], path.slice(1), value);\n else {\n obj[path[0]] = {};\n return set(obj[path[0]], path.slice(1), value);\n }\n }\n}\n\n// packages/alpinejs/src/magics.js\nvar magics = {};\nfunction magic(name, callback) {\n magics[name] = callback;\n}\nfunction injectMagics(obj, el) {\n Object.entries(magics).forEach(([name, callback]) => {\n Object.defineProperty(obj, `$${name}`, {\n get() {\n return callback(el, {Alpine: alpine_default, interceptor});\n },\n enumerable: false\n });\n });\n return obj;\n}\n\n// packages/alpinejs/src/utils/error.js\nfunction tryCatch(el, expression, callback, ...args) {\n try {\n return callback(...args);\n } catch (e) {\n handleError(e, el, expression);\n }\n}\nfunction handleError(error2, el, expression = void 0) {\n Object.assign(error2, {el, expression});\n console.warn(`Alpine Expression Error: ${error2.message}\n\n${expression ? 'Expression: \"' + expression + '\"\\n\\n' : \"\"}`, el);\n setTimeout(() => {\n throw error2;\n }, 0);\n}\n\n// packages/alpinejs/src/evaluator.js\nfunction evaluate(el, expression, extras = {}) {\n let result;\n evaluateLater(el, expression)((value) => result = value, extras);\n return result;\n}\nfunction evaluateLater(...args) {\n return theEvaluatorFunction(...args);\n}\nvar theEvaluatorFunction = normalEvaluator;\nfunction setEvaluator(newEvaluator) {\n theEvaluatorFunction = newEvaluator;\n}\nfunction normalEvaluator(el, expression) {\n let overriddenMagics = {};\n injectMagics(overriddenMagics, el);\n let dataStack = [overriddenMagics, ...closestDataStack(el)];\n if (typeof expression === \"function\") {\n return generateEvaluatorFromFunction(dataStack, expression);\n }\n let evaluator = generateEvaluatorFromString(dataStack, expression, el);\n return tryCatch.bind(null, el, expression, evaluator);\n}\nfunction generateEvaluatorFromFunction(dataStack, func) {\n return (receiver = () => {\n }, {scope: scope2 = {}, params = []} = {}) => {\n let result = func.apply(mergeProxies([scope2, ...dataStack]), params);\n runIfTypeOfFunction(receiver, result);\n };\n}\nvar evaluatorMemo = {};\nfunction generateFunctionFromString(expression, el) {\n if (evaluatorMemo[expression]) {\n return evaluatorMemo[expression];\n }\n let AsyncFunction = Object.getPrototypeOf(async function() {\n }).constructor;\n let rightSideSafeExpression = /^[\\n\\s]*if.*\\(.*\\)/.test(expression) || /^(let|const)\\s/.test(expression) ? `(() => { ${expression} })()` : expression;\n const safeAsyncFunction = () => {\n try {\n return new AsyncFunction([\"__self\", \"scope\"], `with (scope) { __self.result = ${rightSideSafeExpression} }; __self.finished = true; return __self.result;`);\n } catch (error2) {\n handleError(error2, el, expression);\n return Promise.resolve();\n }\n };\n let func = safeAsyncFunction();\n evaluatorMemo[expression] = func;\n return func;\n}\nfunction generateEvaluatorFromString(dataStack, expression, el) {\n let func = generateFunctionFromString(expression, el);\n return (receiver = () => {\n }, {scope: scope2 = {}, params = []} = {}) => {\n func.result = void 0;\n func.finished = false;\n let completeScope = mergeProxies([scope2, ...dataStack]);\n if (typeof func === \"function\") {\n let promise = func(func, completeScope).catch((error2) => handleError(error2, el, expression));\n if (func.finished) {\n runIfTypeOfFunction(receiver, func.result, completeScope, params, el);\n func.result = void 0;\n } else {\n promise.then((result) => {\n runIfTypeOfFunction(receiver, result, completeScope, params, el);\n }).catch((error2) => handleError(error2, el, expression)).finally(() => func.result = void 0);\n }\n }\n };\n}\nfunction runIfTypeOfFunction(receiver, value, scope2, params, el) {\n if (typeof value === \"function\") {\n let result = value.apply(scope2, params);\n if (result instanceof Promise) {\n result.then((i) => runIfTypeOfFunction(receiver, i, scope2, params)).catch((error2) => handleError(error2, el, value));\n } else {\n receiver(result);\n }\n } else {\n receiver(value);\n }\n}\n\n// packages/alpinejs/src/directives.js\nvar prefixAsString = \"x-\";\nfunction prefix(subject = \"\") {\n return prefixAsString + subject;\n}\nfunction setPrefix(newPrefix) {\n prefixAsString = newPrefix;\n}\nvar directiveHandlers = {};\nfunction directive(name, callback) {\n directiveHandlers[name] = callback;\n}\nfunction directives(el, attributes, originalAttributeOverride) {\n let transformedAttributeMap = {};\n let directives2 = Array.from(attributes).map(toTransformedAttributes((newName, oldName) => transformedAttributeMap[newName] = oldName)).filter(outNonAlpineAttributes).map(toParsedDirectives(transformedAttributeMap, originalAttributeOverride)).sort(byPriority);\n return directives2.map((directive2) => {\n return getDirectiveHandler(el, directive2);\n });\n}\nfunction attributesOnly(attributes) {\n return Array.from(attributes).map(toTransformedAttributes()).filter((attr) => !outNonAlpineAttributes(attr));\n}\nvar isDeferringHandlers = false;\nvar directiveHandlerStacks = new Map();\nvar currentHandlerStackKey = Symbol();\nfunction deferHandlingDirectives(callback) {\n isDeferringHandlers = true;\n let key = Symbol();\n currentHandlerStackKey = key;\n directiveHandlerStacks.set(key, []);\n let flushHandlers = () => {\n while (directiveHandlerStacks.get(key).length)\n directiveHandlerStacks.get(key).shift()();\n directiveHandlerStacks.delete(key);\n };\n let stopDeferring = () => {\n isDeferringHandlers = false;\n flushHandlers();\n };\n callback(flushHandlers);\n stopDeferring();\n}\nfunction getDirectiveHandler(el, directive2) {\n let noop = () => {\n };\n let handler3 = directiveHandlers[directive2.type] || noop;\n let cleanups = [];\n let cleanup = (callback) => cleanups.push(callback);\n let [effect3, cleanupEffect] = elementBoundEffect(el);\n cleanups.push(cleanupEffect);\n let utilities = {\n Alpine: alpine_default,\n effect: effect3,\n cleanup,\n evaluateLater: evaluateLater.bind(evaluateLater, el),\n evaluate: evaluate.bind(evaluate, el)\n };\n let doCleanup = () => cleanups.forEach((i) => i());\n onAttributeRemoved(el, directive2.original, doCleanup);\n let fullHandler = () => {\n if (el._x_ignore || el._x_ignoreSelf)\n return;\n handler3.inline && handler3.inline(el, directive2, utilities);\n handler3 = handler3.bind(handler3, el, directive2, utilities);\n isDeferringHandlers ? directiveHandlerStacks.get(currentHandlerStackKey).push(handler3) : handler3();\n };\n fullHandler.runCleanups = doCleanup;\n return fullHandler;\n}\nvar startingWith = (subject, replacement) => ({name, value}) => {\n if (name.startsWith(subject))\n name = name.replace(subject, replacement);\n return {name, value};\n};\nvar into = (i) => i;\nfunction toTransformedAttributes(callback = () => {\n}) {\n return ({name, value}) => {\n let {name: newName, value: newValue} = attributeTransformers.reduce((carry, transform) => {\n return transform(carry);\n }, {name, value});\n if (newName !== name)\n callback(newName, name);\n return {name: newName, value: newValue};\n };\n}\nvar attributeTransformers = [];\nfunction mapAttributes(callback) {\n attributeTransformers.push(callback);\n}\nfunction outNonAlpineAttributes({name}) {\n return alpineAttributeRegex().test(name);\n}\nvar alpineAttributeRegex = () => new RegExp(`^${prefixAsString}([^:^.]+)\\\\b`);\nfunction toParsedDirectives(transformedAttributeMap, originalAttributeOverride) {\n return ({name, value}) => {\n let typeMatch = name.match(alpineAttributeRegex());\n let valueMatch = name.match(/:([a-zA-Z0-9\\-:]+)/);\n let modifiers = name.match(/\\.[^.\\]]+(?=[^\\]]*$)/g) || [];\n let original = originalAttributeOverride || transformedAttributeMap[name] || name;\n return {\n type: typeMatch ? typeMatch[1] : null,\n value: valueMatch ? valueMatch[1] : null,\n modifiers: modifiers.map((i) => i.replace(\".\", \"\")),\n expression: value,\n original\n };\n };\n}\nvar DEFAULT = \"DEFAULT\";\nvar directiveOrder = [\n \"ignore\",\n \"ref\",\n \"data\",\n \"id\",\n \"bind\",\n \"init\",\n \"for\",\n \"model\",\n \"transition\",\n \"show\",\n \"if\",\n DEFAULT,\n \"teleport\",\n \"element\"\n];\nfunction byPriority(a, b) {\n let typeA = directiveOrder.indexOf(a.type) === -1 ? DEFAULT : a.type;\n let typeB = directiveOrder.indexOf(b.type) === -1 ? DEFAULT : b.type;\n return directiveOrder.indexOf(typeA) - directiveOrder.indexOf(typeB);\n}\n\n// packages/alpinejs/src/utils/dispatch.js\nfunction dispatch(el, name, detail = {}) {\n el.dispatchEvent(new CustomEvent(name, {\n detail,\n bubbles: true,\n composed: true,\n cancelable: true\n }));\n}\n\n// packages/alpinejs/src/nextTick.js\nvar tickStack = [];\nvar isHolding = false;\nfunction nextTick(callback) {\n tickStack.push(callback);\n queueMicrotask(() => {\n isHolding || setTimeout(() => {\n releaseNextTicks();\n });\n });\n}\nfunction releaseNextTicks() {\n isHolding = false;\n while (tickStack.length)\n tickStack.shift()();\n}\nfunction holdNextTicks() {\n isHolding = true;\n}\n\n// packages/alpinejs/src/utils/walk.js\nfunction walk(el, callback) {\n if (typeof ShadowRoot === \"function\" && el instanceof ShadowRoot) {\n Array.from(el.children).forEach((el2) => walk(el2, callback));\n return;\n }\n let skip = false;\n callback(el, () => skip = true);\n if (skip)\n return;\n let node = el.firstElementChild;\n while (node) {\n walk(node, callback, false);\n node = node.nextElementSibling;\n }\n}\n\n// packages/alpinejs/src/utils/warn.js\nfunction warn(message, ...args) {\n console.warn(`Alpine Warning: ${message}`, ...args);\n}\n\n// packages/alpinejs/src/lifecycle.js\nfunction start() {\n if (!document.body)\n warn(\"Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's `