{"version":3,"file":"js/npm.bugsnag-d268f3f324669d7f2d7b.js","mappings":"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","sources":["webpack://app/../../node_modules/browser-pack-flat/_prelude","webpack://app/../core/lib/es-utils.js","webpack://app/../core/lib/validators.js","webpack://app/../core/config.js","webpack://app/src/config.js","webpack://app/../core/breadcrumb.js","webpack://app/../core/lib/async-some.js","webpack://app/../core/lib/infer-release-stage.js","webpack://app/../core/node_modules/iserror/index.js","webpack://app/../core/lib/iserror.js","webpack://app/../core/lib/run-before-send.js","webpack://app/../core/node_modules/stackframe/stackframe.js","webpack://app/../core/node_modules/error-stack-parser/error-stack-parser.js","webpack://app/../core/lib/error-stack-parser.js","webpack://app/../core/lib/has-stack.js","webpack://app/../core/lib/js-runtime.js","webpack://app/../core/node_modules/stack-generator/stack-generator.js","webpack://app/../core/report.js","webpack://app/../core/node_modules/@bugsnag/cuid/lib/pad.js","webpack://app/../core/node_modules/@bugsnag/cuid/lib/fingerprint.browser.js","webpack://app/../core/node_modules/@bugsnag/cuid/index.js","webpack://app/../core/session.js","webpack://app/../core/client.js","webpack://app/../core/node_modules/@bugsnag/safe-json-stringify/index.js","webpack://app/../core/lib/json-payload.js","webpack://app/../delivery-x-domain-request/delivery.js","webpack://app/../delivery-xml-http-request/delivery.js","webpack://app/../plugin-browser-context/context.js","webpack://app/../plugin-browser-device/device.js","webpack://app/../plugin-browser-request/request.js","webpack://app/../plugin-browser-session/session.js","webpack://app/../plugin-client-ip/client-ip.js","webpack://app/../plugin-console-breadcrumbs/console-breadcrumbs.js","webpack://app/../plugin-inline-script-content/inline-script-content.js","webpack://app/../plugin-interaction-breadcrumbs/interaction-breadcrumbs.js","webpack://app/../plugin-network-breadcrumbs/network-breadcrumbs.js","webpack://app/../plugin-navigation-breadcrumbs/navigation-breadcrumbs.js","webpack://app/../plugin-simple-throttle/throttle.js","webpack://app/../plugin-strip-query-string/strip-query-string.js","webpack://app/../plugin-window-onerror/onerror.js","webpack://app/../plugin-window-unhandled-rejection/unhandled-rejection.js","webpack://app/src/notifier.js","webpack://app/../../node_modules/browser-pack-flat/_postlude"],"sourcesContent":["(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;\n","// minimal implementations of useful ES functionality\n\n// all we really need for arrays is reduce – everything else is just sugar!\n\n// Array#reduce\nconst reduce = (arr, fn, accum) => {\n let val = accum\n for (let i = 0, len = arr.length; i < len; i++) val = fn(val, arr[i], i, arr)\n return val\n}\n\n// Array#filter\nconst filter = (arr, fn) =>\n reduce(arr, (accum, item, i, arr) => !fn(item, i, arr) ? accum : accum.concat(item), [])\n\n// Array#map\nconst map = (arr, fn) =>\n reduce(arr, (accum, item, i, arr) => accum.concat(fn(item, i, arr)), [])\n\n// Array#includes\nconst includes = (arr, x) =>\n reduce(arr, (accum, item, i, arr) => accum === true || item === x, false)\n\nconst _hasDontEnumBug = !({ toString: null }).propertyIsEnumerable('toString')\nconst _dontEnums = [\n 'toString', 'toLocaleString', 'valueOf', 'hasOwnProperty',\n 'isPrototypeOf', 'propertyIsEnumerable', 'constructor'\n]\n\n// Object#keys\nconst keys = obj => {\n // stripped down version of\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/Keys\n const result = []\n let prop\n for (prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) result.push(prop)\n }\n if (!_hasDontEnumBug) return result\n for (let i = 0, len = _dontEnums.length; i < len; i++) {\n if (Object.prototype.hasOwnProperty.call(obj, _dontEnums[i])) result.push(_dontEnums[i])\n }\n return result\n}\n\n// Array#isArray\nconst isArray = obj => Object.prototype.toString.call(obj) === '[object Array]'\n\nconst _pad = n => n < 10 ? `0${n}` : n\n\n// Date#toISOString\nconst isoDate = () => {\n // from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString\n const d = new Date()\n return d.getUTCFullYear() +\n '-' + _pad(d.getUTCMonth() + 1) +\n '-' + _pad(d.getUTCDate()) +\n 'T' + _pad(d.getUTCHours()) +\n ':' + _pad(d.getUTCMinutes()) +\n ':' + _pad(d.getUTCSeconds()) +\n '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) +\n 'Z'\n}\n\nmodule.exports = { map, reduce, filter, includes, keys, isArray, isoDate }\n","exports.intRange = (min = 1, max = Infinity) => value =>\n typeof value === 'number' &&\n parseInt('' + value, 10) === value &&\n value >= min && value <= max\n\nexports.stringWithLength = value => typeof value === 'string' && !!value.length\n","const { filter, reduce, keys, isArray, includes } = require('./lib/es-utils')\nconst { intRange, stringWithLength } = require('./lib/validators')\n\nmodule.exports.schema = {\n apiKey: {\n defaultValue: () => null,\n message: 'is required',\n validate: stringWithLength\n },\n appVersion: {\n defaultValue: () => null,\n message: 'should be a string',\n validate: value => value === null || stringWithLength(value)\n },\n appType: {\n defaultValue: () => null,\n message: 'should be a string',\n validate: value => value === null || stringWithLength(value)\n },\n autoNotify: {\n defaultValue: () => true,\n message: 'should be true|false',\n validate: value => value === true || value === false\n },\n beforeSend: {\n defaultValue: () => [],\n message: 'should be a function or array of functions',\n validate: value => typeof value === 'function' || (isArray(value) && filter(value, f => typeof f === 'function').length === value.length)\n },\n endpoints: {\n defaultValue: () => ({\n notify: 'https://notify.bugsnag.com',\n sessions: 'https://sessions.bugsnag.com'\n }),\n message: 'should be an object containing endpoint URLs { notify, sessions }. sessions is optional if autoCaptureSessions=false',\n validate: (val, obj) =>\n // first, ensure it's an object\n (val && typeof val === 'object') &&\n (\n // endpoints.notify must always be set\n stringWithLength(val.notify) &&\n // endpoints.sessions must be set unless session tracking is explicitly off\n (obj.autoCaptureSessions === false || stringWithLength(val.sessions))\n ) &&\n // ensure no keys other than notify/session are set on endpoints object\n filter(keys(val), k => !includes([ 'notify', 'sessions' ], k)).length === 0\n },\n autoCaptureSessions: {\n defaultValue: (val, opts) => opts.endpoints === undefined || (!!opts.endpoints && !!opts.endpoints.sessions),\n message: 'should be true|false',\n validate: val => val === true || val === false\n },\n notifyReleaseStages: {\n defaultValue: () => null,\n message: 'should be an array of strings',\n validate: value => value === null || (isArray(value) && filter(value, f => typeof f === 'string').length === value.length)\n },\n releaseStage: {\n defaultValue: () => 'production',\n message: 'should be a string',\n validate: value => typeof value === 'string' && value.length\n },\n maxBreadcrumbs: {\n defaultValue: () => 20,\n message: 'should be a number ≤40',\n validate: value => intRange(0, 40)(value)\n },\n autoBreadcrumbs: {\n defaultValue: () => true,\n message: 'should be true|false',\n validate: (value) => typeof value === 'boolean'\n },\n user: {\n defaultValue: () => null,\n message: '(object) user should be an object',\n validate: (value) => typeof value === 'object'\n },\n metaData: {\n defaultValue: () => null,\n message: 'should be an object',\n validate: (value) => typeof value === 'object'\n },\n logger: {\n defaultValue: () => undefined,\n message: 'should be null or an object with methods { debug, info, warn, error }',\n validate: value =>\n (!value) ||\n (value && reduce(\n [ 'debug', 'info', 'warn', 'error' ],\n (accum, method) => accum && typeof value[method] === 'function',\n true\n ))\n },\n filters: {\n defaultValue: () => [ 'password' ],\n message: 'should be an array of strings|regexes',\n validate: value =>\n isArray(value) && value.length === filter(value, s =>\n (typeof s === 'string' || (s && typeof s.test === 'function'))\n ).length\n }\n}\n\nmodule.exports.mergeDefaults = (opts, schema) => {\n if (!opts || !schema) throw new Error('opts and schema objects are required')\n return reduce(keys(schema), (accum, key) => {\n accum[key] = opts[key] !== undefined ? opts[key] : schema[key].defaultValue(opts[key], opts)\n return accum\n }, {})\n}\n\nmodule.exports.validate = (opts, schema) => {\n if (!opts || !schema) throw new Error('opts and schema objects are required')\n const errors = reduce(keys(schema), (accum, key) => {\n if (schema[key].validate(opts[key], opts)) return accum\n return accum.concat({ key, message: schema[key].message, value: opts[key] })\n }, [])\n return { valid: !errors.length, errors }\n}\n","const { schema } = require('@bugsnag/core/config')\nconst { map } = require('@bugsnag/core/lib/es-utils')\nconst { stringWithLength } = require('@bugsnag/core/lib/validators')\n\nmodule.exports = {\n releaseStage: {\n defaultValue: () => {\n if (/^localhost(:\\d+)?$/.test(window.location.host)) return 'development'\n return 'production'\n },\n message: 'should be set',\n validate: stringWithLength\n },\n logger: {\n ...schema.logger,\n defaultValue: () =>\n // set logger based on browser capability\n (typeof console !== 'undefined' && typeof console.debug === 'function')\n ? getPrefixedConsole()\n : undefined\n }\n}\n\nconst getPrefixedConsole = () => {\n const logger = {}\n const consoleLog = console['log']\n map([ 'debug', 'info', 'warn', 'error' ], (method) => {\n const consoleMethod = console[method]\n logger[method] = typeof consoleMethod === 'function'\n ? consoleMethod.bind(console, '[bugsnag]')\n : consoleLog.bind(console, '[bugsnag]')\n })\n return logger\n}\n","const { isoDate } = require('./lib/es-utils')\n\nclass BugsnagBreadcrumb {\n constructor (name = '[anonymous]', metaData = {}, type = 'manual', timestamp = isoDate()) {\n this.type = type\n this.name = name\n this.metaData = metaData\n this.timestamp = timestamp\n }\n\n toJSON () {\n return {\n type: this.type,\n name: this.name,\n timestamp: this.timestamp,\n metaData: this.metaData\n }\n }\n}\n\nmodule.exports = BugsnagBreadcrumb\n","// This is a heavily modified/simplified version of\n// https://github.com/othiym23/async-some\n//\n// We can't use that because:\n// a) it inflates the bundle size to over 10kB\n// b) it depends on a module that uses Object.keys()\n// (which we can't use due to ie8 support)\n\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, true)\n// - or the end of the array is reached\n// the callback (cb) will be passed true if any of the items resulted in a true\n// callback, otherwise false\nmodule.exports = (arr, fn, cb) => {\n const length = arr.length\n let index = 0\n\n const next = () => {\n if (index >= length) return cb(null, false)\n fn(arr[index], (err, result) => {\n if (err) return cb(err, false)\n if (result === true) return cb(null, true)\n index++\n next()\n })\n }\n\n next()\n}\n","module.exports = client =>\n client.app && typeof client.app.releaseStage === 'string'\n ? client.app.releaseStage\n : client.config.releaseStage\n","\n/**\n * Expose `isError`.\n */\n\nmodule.exports = isError;\n\n/**\n * Test whether `value` is error object.\n *\n * @param {*} value\n * @returns {boolean}\n */\n\nfunction isError(value) {\n switch (Object.prototype.toString.call(value)) {\n case '[object Error]': return true;\n case '[object Exception]': return true;\n case '[object DOMException]': return true;\n default: return value instanceof Error;\n }\n}\n","module.exports = require('iserror')\n","module.exports = (report, onError) => (fn, cb) => {\n if (typeof fn !== 'function') return cb(null, false)\n try {\n // if function appears sync…\n if (fn.length !== 2) {\n const ret = fn(report)\n // check if it returned a \"thenable\" (promise)\n if (ret && typeof ret.then === 'function') {\n return ret.then(\n // resolve\n val => setTimeout(() => cb(null, shouldPreventSend(report, val)), 0),\n // reject\n err => {\n setTimeout(() => {\n onError(err)\n return cb(null, false)\n })\n }\n )\n }\n return cb(null, shouldPreventSend(report, ret))\n }\n // if function is async…\n fn(report, (err, result) => {\n if (err) {\n onError(err)\n return cb(null, false)\n }\n cb(null, shouldPreventSend(report, result))\n })\n } catch (e) {\n onError(e)\n cb(null, false)\n }\n}\n\nconst shouldPreventSend = (report, value) => report.isIgnored() || value === false\n","(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stackframe', [], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.StackFrame = factory();\n }\n}(this, function() {\n 'use strict';\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\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 this.args = v;\n },\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\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 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 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 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 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","(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('error-stack-parser', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\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\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\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\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\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 var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(');\n\n // 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 var location = sanitizedLine.match(/ (\\((.+):(\\d+):(\\d+)\\)$)/);\n\n // remove the parenthesized location from the line, if it was matched\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n\n var tokens = sanitizedLine.split(/\\s+/).slice(1);\n // if a location was matched, pass it to extractLocation() otherwise pop the last token\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\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\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\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\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\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n 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\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 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\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 if (match) {\n result.push(\n new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n })\n );\n }\n }\n\n return result;\n },\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\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\n .replace(//, '$2')\n .replace(/\\([^\\)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^\\)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^\\(]+\\(([^\\)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n\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","module.exports = require('error-stack-parser')\n","// Given `err` which may be an error, does it have a stack property which is a string?\nmodule.exports = err =>\n !!err &&\n (!!err.stack || !!err.stacktrace || !!err['opera#sourceloc']) &&\n typeof (err.stack || err.stacktrace || err['opera#sourceloc']) === 'string' &&\n err.stack !== `${err.name}: ${err.message}`\n","module.exports = process.env.IS_BROWSER\n ? 'browserjs'\n : ((typeof navigator !== 'undefined' && navigator.product === 'ReactNative')\n ? (typeof Expo !== 'undefined' ? 'expojs' : 'reactnativejs')\n : 'nodejs')\n","(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stack-generator', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\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 while (curr && stack.length < maxStackSize && curr['arguments']) {\n // Allow V8 optimizations\n var args = new Array(curr['arguments'].length);\n for (var i = 0; i < args.length; ++i) {\n args[i] = curr['arguments'][i];\n }\n if (/function(?:\\s+([\\w$]+))+\\s*\\(/.test(curr.toString())) {\n stack.push(new StackFrame({functionName: RegExp.$1 || undefined, args: args}));\n } else {\n stack.push(new StackFrame({args: args}));\n }\n\n try {\n curr = curr.caller;\n } catch (e) {\n break;\n }\n }\n return stack;\n }\n };\n}));\n","const ErrorStackParser = require('./lib/error-stack-parser')\nconst StackGenerator = require('stack-generator')\nconst hasStack = require('./lib/has-stack')\nconst { reduce, filter } = require('./lib/es-utils')\nconst jsRuntime = require('./lib/js-runtime')\n\nclass BugsnagReport {\n constructor (errorClass, errorMessage, stacktrace = [], handledState = defaultHandledState(), originalError) {\n // duck-typing ftw >_<\n this.__isBugsnagReport = true\n\n this._ignored = false\n\n // private (un)handled state\n this._handledState = handledState\n\n // setable props\n this.app = undefined\n this.apiKey = undefined\n this.breadcrumbs = []\n this.context = undefined\n this.device = undefined\n this.errorClass = stringOrFallback(errorClass, '[no error class]')\n this.errorMessage = stringOrFallback(errorMessage, '[no error message]')\n this.groupingHash = undefined\n this.metaData = {}\n this.request = undefined\n this.severity = this._handledState.severity\n this.stacktrace = reduce(stacktrace, (accum, frame) => {\n const f = formatStackframe(frame)\n // don't include a stackframe if none of its properties are defined\n try {\n if (JSON.stringify(f) === '{}') return accum\n return accum.concat(f)\n } catch (e) {\n return accum\n }\n }, [])\n this.user = undefined\n this.session = undefined\n this.originalError = originalError\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 ignore () {\n this._ignored = true\n }\n\n isIgnored () {\n return this._ignored\n }\n\n updateMetaData (section, ...args) {\n if (!section) return this\n let updates\n\n // updateMetaData(\"section\", null) -> removes section\n if (args[0] === null) return this.removeMetaData(section)\n\n // updateMetaData(\"section\", \"property\", null) -> removes property from section\n if (args[1] === null) return this.removeMetaData(section, args[0], args[1])\n\n // normalise the two supported input types into object form\n if (typeof args[0] === 'object') updates = args[0]\n if (typeof args[0] === 'string') updates = { [args[0]]: args[1] }\n\n // exit if we don't have an updates object at this point\n if (!updates) return this\n\n // ensure a section with this name exists\n if (!this.metaData[section]) this.metaData[section] = {}\n\n // merge the updates with the existing section\n this.metaData[section] = { ...this.metaData[section], ...updates }\n\n return this\n }\n\n removeMetaData (section, property) {\n if (typeof section !== 'string') return this\n\n // remove an entire section\n if (!property) {\n delete this.metaData[section]\n return this\n }\n\n // remove a single property from a section\n if (this.metaData[section]) {\n delete this.metaData[section][property]\n return this\n }\n\n return this\n }\n\n toJSON () {\n return {\n payloadVersion: '4',\n exceptions: [\n {\n errorClass: this.errorClass,\n message: this.errorMessage,\n stacktrace: this.stacktrace,\n type: jsRuntime\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 breadcrumbs: this.breadcrumbs,\n context: this.context,\n user: this.user,\n metaData: this.metaData,\n groupingHash: this.groupingHash,\n request: this.request,\n session: this.session\n }\n }\n}\n\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)\nconst formatStackframe = frame => {\n const 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 }\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 if (f.lineNumber > -1 && !f.file && !f.method) {\n f.file = 'global code'\n }\n return f\n}\n\nconst normaliseFunctionName = name => /^global code$/i.test(name) ? 'global code' : name\n\nconst defaultHandledState = () => ({\n unhandled: false,\n severity: 'warning',\n severityReason: { type: 'handledException' }\n})\n\nconst stringOrFallback = (str, fallback) => typeof str === 'string' && str ? str : fallback\n\n// Helpers\n\nBugsnagReport.getStacktrace = function (error, errorFramesToSkip = 0, generatedFramesToSkip = 0) {\n if (hasStack(error)) return ErrorStackParser.parse(error).slice(errorFramesToSkip)\n // in IE11 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(e)) return ErrorStackParser.parse(error).slice(1 + generatedFramesToSkip)\n // error wasn't provided or didn't have a stacktrace so try to walk the callstack\n try {\n return filter(StackGenerator.backtrace(), frame =>\n (frame.functionName || '').indexOf('StackGenerator$$') === -1\n ).slice(1 + generatedFramesToSkip)\n } catch (e) {\n return []\n }\n }\n}\n\nBugsnagReport.ensureReport = function (reportOrError, errorFramesToSkip = 0, generatedFramesToSkip = 0) {\n // notify() can be called with a Report object. In this case no action is required\n if (reportOrError.__isBugsnagReport) return reportOrError\n try {\n const stacktrace = BugsnagReport.getStacktrace(reportOrError, errorFramesToSkip, 1 + generatedFramesToSkip)\n return new BugsnagReport(reportOrError.name, reportOrError.message, stacktrace, undefined, reportOrError)\n } catch (e) {\n return new BugsnagReport(reportOrError.name, reportOrError.message, [], undefined, reportOrError)\n }\n}\n\nmodule.exports = BugsnagReport\n","module.exports = function pad (num, size) {\n var s = '000000000' + num;\n return s.substr(s.length - size);\n};\n","var pad = require('./pad.js');\n\nvar env = typeof window === 'object' ? window : self;\nvar globalCount = 0;\nfor (var prop in env) {\n if (Object.hasOwnProperty.call(env, prop)) globalCount++;\n}\nvar mimeTypesLength = navigator.mimeTypes ? navigator.mimeTypes.length : 0;\nvar clientId = pad((mimeTypesLength +\n navigator.userAgent.length).toString(36) +\n globalCount.toString(36), 4);\n\nmodule.exports = function fingerprint () {\n return clientId;\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\nvar fingerprint = require('./lib/fingerprint.js');\nvar pad = 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((Math.random() *\n discreteValues << 0)\n .toString(base), blockSize);\n}\n\nfunction safeCounter () {\n c = c < discreteValues ? c : 0;\n c++; // this is not subliminal\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', // hard-coded allows for sequential access\n\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\n // Prevent same-machine collisions.\n counter = pad(safeCounter().toString(base), blockSize),\n\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(),\n\n // Grab some more chars from Math.random()\n random = randomBlock() + randomBlock();\n\n return letter + timestamp + counter + print + random;\n}\n\ncuid.fingerprint = fingerprint;\n\nmodule.exports = cuid;\n","const { isoDate } = require('./lib/es-utils')\nconst cuid = require('@bugsnag/cuid')\n\nclass Session {\n constructor () {\n this.id = cuid()\n this.startedAt = isoDate()\n this._handled = 0\n this._unhandled = 0\n }\n toJSON () {\n return {\n id: this.id,\n startedAt: this.startedAt,\n events: { handled: this._handled, unhandled: this._unhandled }\n }\n }\n trackError (report) {\n this[report._handledState.unhandled ? '_unhandled' : '_handled'] += 1\n }\n}\n\nmodule.exports = Session\n","const config = require('./config')\nconst BugsnagReport = require('./report')\nconst BugsnagBreadcrumb = require('./breadcrumb')\nconst BugsnagSession = require('./session')\nconst { map, includes, isArray } = require('./lib/es-utils')\nconst inferReleaseStage = require('./lib/infer-release-stage')\nconst isError = require('./lib/iserror')\nconst some = require('./lib/async-some')\nconst runBeforeSend = require('./lib/run-before-send')\n\nconst LOG_USAGE_ERR_PREFIX = `Usage error.`\nconst REPORT_USAGE_ERR_PREFIX = `Bugsnag usage error.`\n\nclass BugsnagClient {\n constructor (notifier) {\n if (!notifier || !notifier.name || !notifier.version || !notifier.url) {\n throw new Error('`notifier` argument is required')\n }\n\n // notifier id\n this.notifier = notifier\n\n // configure() should be called before notify()\n this._configured = false\n\n // intialise opts and config\n this._opts = {}\n this.config = {}\n\n // // i/o\n this._delivery = { sendSession: () => {}, sendReport: () => {} }\n this._logger = { debug: () => {}, info: () => {}, warn: () => {}, error: () => {} }\n\n // plugins\n this._plugins = {}\n\n this._session = null\n\n this.breadcrumbs = []\n\n // setable props\n this.app = {}\n this.context = undefined\n this.device = undefined\n this.metaData = undefined\n this.request = undefined\n this.user = {}\n\n // expose internal constructors\n this.BugsnagClient = BugsnagClient\n this.BugsnagReport = BugsnagReport\n this.BugsnagBreadcrumb = BugsnagBreadcrumb\n this.BugsnagSession = BugsnagSession\n\n var self = this\n var notify = this.notify\n this.notify = function () {\n return notify.apply(self, arguments)\n }\n }\n\n setOptions (opts) {\n this._opts = { ...this._opts, ...opts }\n }\n\n configure (partialSchema = config.schema) {\n const conf = config.mergeDefaults(this._opts, partialSchema)\n const validity = config.validate(conf, partialSchema)\n\n if (!validity.valid === true) throw new Error(generateConfigErrorMessage(validity.errors))\n\n // update and elevate some special options if they were passed in at this point\n if (typeof conf.beforeSend === 'function') conf.beforeSend = [ conf.beforeSend ]\n if (conf.appVersion) this.app.version = conf.appVersion\n if (conf.appType) this.app.type = conf.appType\n if (conf.metaData) this.metaData = conf.metaData\n if (conf.user) this.user = conf.user\n if (conf.logger) this.logger(conf.logger)\n\n // merge with existing config\n this.config = { ...this.config, ...conf }\n\n this._configured = true\n\n return this\n }\n\n use (plugin, ...args) {\n if (!this._configured) throw new Error('client not configured')\n if (plugin.configSchema) this.configure(plugin.configSchema)\n const result = plugin.init(this, ...args)\n // 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 if (plugin.name) this._plugins[`~${plugin.name}~`] = result\n return this\n }\n\n getPlugin (name) {\n return this._plugins[`~${name}~`]\n }\n\n delivery (d) {\n this._delivery = d(this)\n return this\n }\n\n logger (l, sid) {\n this._logger = l\n return this\n }\n\n sessionDelegate (s) {\n this._sessionDelegate = s\n return this\n }\n\n startSession () {\n if (!this._sessionDelegate) {\n this._logger.warn('No session implementation is installed')\n return this\n }\n return this._sessionDelegate.startSession(this)\n }\n\n leaveBreadcrumb (name, metaData, type, timestamp) {\n if (!this._configured) throw new Error('client not configured')\n\n // coerce bad values so that the defaults get set\n name = name || undefined\n type = typeof type === 'string' ? type : undefined\n timestamp = typeof timestamp === 'string' ? timestamp : undefined\n metaData = typeof metaData === 'object' && metaData !== null ? metaData : undefined\n\n // if no name and no metaData, usefulness of this crumb is questionable at best so discard\n if (typeof name !== 'string' && !metaData) return\n\n const crumb = new BugsnagBreadcrumb(name, metaData, type, timestamp)\n\n // push the valid crumb onto the queue and maintain the length\n this.breadcrumbs.push(crumb)\n if (this.breadcrumbs.length > this.config.maxBreadcrumbs) {\n this.breadcrumbs = this.breadcrumbs.slice(this.breadcrumbs.length - this.config.maxBreadcrumbs)\n }\n\n return this\n }\n\n notify (error, opts = {}, cb = () => {}) {\n if (!this._configured) throw new Error('client not configured')\n\n // releaseStage can be set via config.releaseStage or client.app.releaseStage\n const releaseStage = inferReleaseStage(this)\n\n // ensure we have an error (or a reasonable object representation of an error)\n let { err, errorFramesToSkip, _opts } = normaliseError(error, opts, this._logger)\n if (_opts) opts = _opts\n\n // ensure opts is an object\n if (typeof opts !== 'object' || opts === null) opts = {}\n\n // create a report from the error, if it isn't one already\n const report = BugsnagReport.ensureReport(err, errorFramesToSkip, 2)\n\n report.app = { ...{ releaseStage }, ...report.app, ...this.app }\n report.context = report.context || opts.context || this.context || undefined\n report.device = { ...report.device, ...this.device, ...opts.device }\n report.request = { ...report.request, ...this.request, ...opts.request }\n report.user = { ...report.user, ...this.user, ...opts.user }\n report.metaData = { ...report.metaData, ...this.metaData, ...opts.metaData }\n report.breadcrumbs = this.breadcrumbs.slice(0)\n\n if (this._session) {\n this._session.trackError(report)\n report.session = this._session\n }\n\n // set severity if supplied\n if (opts.severity !== undefined) {\n report.severity = opts.severity\n report._handledState.severityReason = { type: 'userSpecifiedSeverity' }\n }\n\n // exit early if the reports should not be sent on the current releaseStage\n if (isArray(this.config.notifyReleaseStages) && !includes(this.config.notifyReleaseStages, releaseStage)) {\n this._logger.warn(`Report not sent due to releaseStage/notifyReleaseStages configuration`)\n return cb(null, report)\n }\n\n const originalSeverity = report.severity\n\n const beforeSend = [].concat(opts.beforeSend).concat(this.config.beforeSend)\n const onBeforeSendErr = err => {\n this._logger.error(`Error occurred in beforeSend callback, continuing anyway…`)\n this._logger.error(err)\n }\n\n some(beforeSend, runBeforeSend(report, onBeforeSendErr), (err, preventSend) => {\n if (err) onBeforeSendErr(err)\n\n if (preventSend) {\n this._logger.debug(`Report not sent due to beforeSend callback`)\n return cb(null, report)\n }\n\n // only leave a crumb for the error if actually got sent\n if (this.config.autoBreadcrumbs) {\n this.leaveBreadcrumb(report.errorClass, {\n errorClass: report.errorClass,\n errorMessage: report.errorMessage,\n severity: report.severity\n }, 'error')\n }\n\n if (originalSeverity !== report.severity) {\n report._handledState.severityReason = { type: 'userCallbackSetSeverity' }\n }\n\n this._delivery.sendReport({\n apiKey: report.apiKey || this.config.apiKey,\n notifier: this.notifier,\n events: [ report ]\n }, (err) => cb(err, report))\n })\n }\n}\n\nconst normaliseError = (error, opts, logger) => {\n const synthesizedErrorFramesToSkip = 3\n\n const createAndLogUsageError = reason => {\n const msg = generateNotifyUsageMessage(reason)\n logger.warn(`${LOG_USAGE_ERR_PREFIX} ${msg}`)\n return new Error(`${REPORT_USAGE_ERR_PREFIX} ${msg}`)\n }\n\n let err\n let errorFramesToSkip = 0\n let _opts\n switch (typeof error) {\n case 'string':\n if (typeof opts === 'string') {\n // ≤v3 used to have a notify('ErrorName', 'Error message') interface\n // report usage/deprecation errors if this function is called like that\n err = createAndLogUsageError('string/string')\n _opts = { metaData: { notifier: { notifyArgs: [ error, opts ] } } }\n } else {\n err = new Error(String(error))\n errorFramesToSkip = synthesizedErrorFramesToSkip\n }\n break\n case 'number':\n case 'boolean':\n err = new Error(String(error))\n break\n case 'function':\n err = createAndLogUsageError('function')\n break\n case 'object':\n if (error !== null && (isError(error) || error.__isBugsnagReport)) {\n err = error\n } else if (error !== null && hasNecessaryFields(error)) {\n err = new Error(error.message || error.errorMessage)\n err.name = error.name || error.errorClass\n errorFramesToSkip = synthesizedErrorFramesToSkip\n } else {\n err = createAndLogUsageError(error === null ? 'null' : 'unsupported object')\n }\n break\n default:\n err = createAndLogUsageError('nothing')\n }\n return { err, errorFramesToSkip, _opts }\n}\n\nconst hasNecessaryFields = error =>\n (typeof error.name === 'string' || typeof error.errorClass === 'string') &&\n (typeof error.message === 'string' || typeof error.errorMessage === 'string')\n\nconst generateConfigErrorMessage = errors =>\n `Bugsnag configuration error\\n${map(errors, (err) => `\"${err.key}\" ${err.message} \\n got ${stringify(err.value)}`).join('\\n\\n')}`\n\nconst generateNotifyUsageMessage = actual =>\n `notify() expected error/opts parameters, got ${actual}`\n\nconst stringify = val => typeof val === 'object' ? JSON.stringify(val) : String(val)\n\nmodule.exports = BugsnagClient\n","module.exports = function (data, replacer, space, opts) {\n var filterKeys = opts && opts.filterKeys ? opts.filterKeys : []\n var filterPaths = opts && opts.filterPaths ? opts.filterPaths : []\n return JSON.stringify(\n prepareObjForSerialization(data, filterKeys, filterPaths),\n replacer,\n space\n )\n}\n\nvar MAX_DEPTH = 20\nvar MAX_EDGES = 25000\nvar MIN_PRESERVED_DEPTH = 8\n\nvar REPLACEMENT_NODE = '...'\n\nfunction isError (o) {\n return o instanceof Error ||\n /^\\[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 return false\n}\n\n// returns true if the string `path` starts with any of the provided `paths`\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 return false\n}\n\nfunction shouldFilter (patterns, key) {\n for (var i = 0, len = patterns.length; i < len; i++) {\n if (typeof patterns[i] === 'string' && patterns[i] === key) return true\n if (patterns[i] && typeof patterns[i].test === 'function' && patterns[i].test(key)) return true\n }\n return false\n}\n\nfunction isArray (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, filterKeys, filterPaths) {\n var seen = [] // store references to objects we have seen before\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\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\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 if (er) {\n edges--\n var eResult = visit({ name: obj.name, message: obj.message }, path)\n seen.pop()\n return eResult\n }\n\n if (isArray(obj)) {\n var aResult = []\n for (var i = 0, len = obj.length; i < len; i++) {\n if (edgesExceeded()) {\n aResult.push(REPLACEMENT_NODE)\n break\n }\n aResult.push(visit(obj[i], path.concat('[]')))\n }\n seen.pop()\n return aResult\n }\n\n var result = {}\n try {\n for (var prop in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, prop)) continue\n if (isDescendent(filterPaths, path.join('.')) && shouldFilter(filterKeys, prop)) {\n result[prop] = '[Filtered]'\n continue\n }\n if (edgesExceeded()) {\n result[prop] = REPLACEMENT_NODE\n break\n }\n result[prop] = visit(safelyGetProp(obj, prop), path.concat(prop))\n }\n } catch (e) {}\n seen.pop()\n return result\n }\n\n return visit(obj, [])\n}\n","const jsonStringify = require('@bugsnag/safe-json-stringify')\nconst REPORT_FILTER_PATHS = [\n 'events.[].app',\n 'events.[].metaData',\n 'events.[].user',\n 'events.[].breadcrumbs',\n 'events.[].request',\n 'events.[].device'\n]\nconst SESSION_FILTER_PATHS = [\n 'device',\n 'app',\n 'user'\n]\n\nmodule.exports.report = (report, filterKeys) => {\n let payload = jsonStringify(report, null, null, { filterPaths: REPORT_FILTER_PATHS, filterKeys })\n if (payload.length > 10e5) {\n delete report.events[0].metaData\n report.events[0].metaData = {\n notifier:\n`WARNING!\nSerialized payload was ${payload.length / 10e5}MB (limit = 1MB)\nmetaData was removed`\n }\n payload = jsonStringify(report, null, null, { filterPaths: REPORT_FILTER_PATHS, filterKeys })\n if (payload.length > 10e5) throw new Error('payload exceeded 1MB limit')\n }\n return payload\n}\n\nmodule.exports.session = (report, filterKeys) => {\n const payload = jsonStringify(report, null, null, { filterPaths: SESSION_FILTER_PATHS, filterKeys })\n if (payload.length > 10e5) throw new Error('payload exceeded 1MB limit')\n return payload\n}\n","const payload = require('@bugsnag/core/lib/json-payload')\nconst { isoDate } = require('@bugsnag/core/lib/es-utils')\n\nmodule.exports = (client, win = window) => ({\n sendReport: (report, cb = () => {}) => {\n const url = getApiUrl(client.config, 'notify', '4', win)\n const req = new win.XDomainRequest()\n req.onload = function () {\n cb(null)\n }\n req.open('POST', url)\n setTimeout(() => {\n try {\n req.send(payload.report(report, client.config.filters))\n } catch (e) {\n client._logger.error(e)\n cb(e)\n }\n }, 0)\n },\n sendSession: (session, cb = () => {}) => {\n const url = getApiUrl(client.config, 'sessions', '1', win)\n const req = new win.XDomainRequest()\n req.onload = function () {\n cb(null)\n }\n req.open('POST', url)\n setTimeout(() => {\n try {\n req.send(payload.session(session, client.config.filters))\n } catch (e) {\n client._logger.error(e)\n cb(e)\n }\n }, 0)\n }\n})\n\nconst getApiUrl = (config, endpoint, version, win) =>\n `${matchPageProtocol(config.endpoints[endpoint], win.location.protocol)}?apiKey=${encodeURIComponent(config.apiKey)}&payloadVersion=${version}&sentAt=${encodeURIComponent(isoDate())}`\n\nconst matchPageProtocol = module.exports._matchPageProtocol = (endpoint, pageProtocol) =>\n pageProtocol === 'http:'\n ? endpoint.replace(/^https:/, 'http:')\n : endpoint\n","const payload = require('@bugsnag/core/lib/json-payload')\nconst { isoDate } = require('@bugsnag/core/lib/es-utils')\n\nmodule.exports = (client, win = window) => ({\n sendReport: (report, cb = () => {}) => {\n try {\n const url = client.config.endpoints.notify\n const req = new win.XMLHttpRequest()\n req.onreadystatechange = function () {\n if (req.readyState === win.XMLHttpRequest.DONE) cb(null)\n }\n req.open('POST', url)\n req.setRequestHeader('Content-Type', 'application/json')\n req.setRequestHeader('Bugsnag-Api-Key', report.apiKey || client.config.apiKey)\n req.setRequestHeader('Bugsnag-Payload-Version', '4')\n req.setRequestHeader('Bugsnag-Sent-At', isoDate())\n req.send(payload.report(report, client.config.filters))\n } catch (e) {\n client._logger.error(e)\n }\n },\n sendSession: (session, cb = () => {}) => {\n try {\n const url = client.config.endpoints.sessions\n const req = new win.XMLHttpRequest()\n req.onreadystatechange = function () {\n if (req.readyState === win.XMLHttpRequest.DONE) cb(null)\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', isoDate())\n req.send(payload.session(session, client.config.filters))\n } catch (e) {\n client._logger.error(e)\n }\n }\n})\n","/*\n * Sets the default context to be the current URL\n */\nmodule.exports = {\n init: (client, win = window) => {\n client.config.beforeSend.unshift(report => {\n if (report.context) return\n report.context = win.location.pathname\n })\n }\n}\n","const { isoDate } = require('@bugsnag/core/lib/es-utils')\n\n/*\n * Automatically detects browser device details\n */\nmodule.exports = {\n init: (client, nav = navigator) => {\n const device = {\n locale: nav.browserLanguage || nav.systemLanguage || nav.userLanguage || nav.language,\n userAgent: nav.userAgent\n }\n\n // merge with anything already set on the client\n client.device = { ...device, ...client.device }\n\n // add time just as the report is sent\n client.config.beforeSend.unshift((report) => {\n report.device = { ...report.device, time: isoDate() }\n })\n }\n}\n","/*\n * Sets the report request: { url } to be the current href\n */\nmodule.exports = {\n init: (client, win = window) => {\n client.config.beforeSend.unshift(report => {\n if (report.request && report.request.url) return\n report.request = { ...report.request, url: win.location.href }\n })\n }\n}\n","const { isArray, includes } = require('@bugsnag/core/lib/es-utils')\nconst inferReleaseStage = require('@bugsnag/core/lib/infer-release-stage')\n\nmodule.exports = {\n init: client => client.sessionDelegate(sessionDelegate)\n}\n\nconst sessionDelegate = {\n startSession: client => {\n const sessionClient = client\n sessionClient._session = new client.BugsnagSession()\n\n const releaseStage = inferReleaseStage(sessionClient)\n\n // exit early if the reports should not be sent on the current releaseStage\n if (isArray(sessionClient.config.notifyReleaseStages) && !includes(sessionClient.config.notifyReleaseStages, releaseStage)) {\n sessionClient._logger.warn(`Session not sent due to releaseStage/notifyReleaseStages configuration`)\n return sessionClient\n }\n\n if (!sessionClient.config.endpoints.sessions) {\n sessionClient._logger.warn(`Session not sent due to missing endpoints.sessions configuration`)\n return sessionClient\n }\n\n sessionClient._delivery.sendSession({\n notifier: sessionClient.notifier,\n device: sessionClient.device,\n app: { ...{ releaseStage }, ...sessionClient.app },\n sessions: [\n {\n id: sessionClient._session.id,\n startedAt: sessionClient._session.startedAt,\n user: sessionClient.user\n }\n ]\n })\n\n return sessionClient\n }\n}\n","/*\n * Prevent collection of user IPs\n */\nmodule.exports = {\n init: (client) => {\n if (client.config.collectUserIp) return\n\n client.config.beforeSend.push(report => {\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 (report.user && typeof report.user.id === 'undefined') delete report.user.id\n report.user = { id: '[NOT COLLECTED]', ...report.user }\n report.request = { clientIp: '[NOT COLLECTED]', ...report.request }\n })\n },\n configSchema: {\n collectUserIp: {\n defaultValue: () => true,\n message: 'should be true|false',\n validate: value => value === true || value === false\n }\n }\n}\n","const { map, reduce, filter } = require('@bugsnag/core/lib/es-utils')\n\n/*\n * Leaves breadcrumbs when console log methods are called\n */\nexports.init = (client) => {\n const isDev = /^dev(elopment)?$/.test(client.config.releaseStage)\n\n const explicitlyDisabled = client.config.consoleBreadcrumbsEnabled === false\n const implicitlyDisabled = (client.config.autoBreadcrumbs === false || isDev) && client.config.consoleBreadcrumbsEnabled !== true\n if (explicitlyDisabled || implicitlyDisabled) return\n\n map(CONSOLE_LOG_METHODS, method => {\n const original = console[method]\n console[method] = (...args) => {\n client.leaveBreadcrumb('Console output', reduce(args, (accum, arg, i) => {\n // do the best/simplest stringification of each argument\n let stringified = '[Unknown value]'\n // 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 try { stringified = String(arg) } catch (e) {}\n // if it stringifies to [object Object] attempt to JSON stringify\n if (stringified === '[object Object]') {\n // catch stringify errors and fallback to [object Object]\n try { stringified = JSON.stringify(arg) } catch (e) {}\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 console[method]._restore = () => { console[method] = original }\n })\n}\n\nexports.configSchema = {\n consoleBreadcrumbsEnabled: {\n defaultValue: () => undefined,\n validate: (value) => value === true || value === false || value === undefined,\n message: 'should be true|false'\n }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n exports.destroy = () => CONSOLE_LOG_METHODS.forEach(method => {\n if (typeof console[method]._restore === 'function') console[method]._restore()\n })\n}\n\nconst CONSOLE_LOG_METHODS = filter([ 'log', 'debug', 'info', 'warn', 'error' ], method =>\n typeof console !== 'undefined' && typeof console[method] === 'function'\n)\n","const { map, reduce, filter } = require('@bugsnag/core/lib/es-utils')\nconst MAX_LINE_LENGTH = 200\nconst MAX_SCRIPT_LENGTH = 500000\n\nmodule.exports = {\n init: (client, doc = document, win = window) => {\n if (!client.config.trackInlineScripts) return\n\n const originalLocation = win.location.href\n let html = ''\n let DOMContentLoaded = false\n const getHtml = () => doc.documentElement.outerHTML\n\n // get whatever HTML exists at this point in time\n html = getHtml()\n const prev = doc.onreadystatechange\n // then update it when the DOM content has loaded\n doc.onreadystatechange = function () {\n // IE8 compatible alternative to document#DOMContentLoaded\n if (doc.readyState === 'interactive') {\n html = getHtml()\n DOMContentLoaded = true\n }\n try { prev.apply(this, arguments) } catch (e) {}\n }\n\n var _lastScript = null\n const updateLastScript = script => {\n _lastScript = script\n }\n\n const getCurrentScript = () => {\n var script = doc.currentScript || _lastScript\n if (!script && !DOMContentLoaded) {\n var scripts = doc.scripts || doc.getElementsByTagName('script')\n script = scripts[scripts.length - 1]\n }\n return script\n }\n\n const addSurroundingCode = lineNumber => {\n // get whatever html has rendered at this point\n if (!DOMContentLoaded || !html) html = getHtml()\n // simulate the raw html\n const htmlLines = [ '' ].concat(html.split('\\n'))\n const zeroBasedLine = lineNumber - 1\n const start = Math.max(zeroBasedLine - 3, 0)\n const end = Math.min(zeroBasedLine + 3, htmlLines.length)\n return reduce(htmlLines.slice(start, end), (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.config.beforeSend.unshift(report => {\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 report.stacktrace = filter(report.stacktrace, f => !(/__trace__$/.test(f.method)))\n\n const frame = report.stacktrace[0]\n\n // if frame.file exists and is not the original location of the page, this can't be an inline script\n if (frame && frame.file && frame.file.replace(/#.*$/, '') !== originalLocation.replace(/#.*$/, '')) return\n\n // grab the last script known to have run\n const currentScript = getCurrentScript()\n if (currentScript) {\n const content = currentScript.innerHTML\n report.updateMetaData(\n 'script',\n 'content',\n content.length <= MAX_SCRIPT_LENGTH ? content : content.substr(0, MAX_SCRIPT_LENGTH)\n )\n }\n\n // only attempt to grab some surrounding code if we have a line number\n if (!frame || !frame.lineNumber) return\n frame.code = addSurroundingCode(frame.lineNumber)\n })\n\n // 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 const [ _setTimeout ] = map([\n 'setTimeout',\n 'setInterval',\n 'setImmediate',\n 'requestAnimationFrame'\n ], fn =>\n __proxy(win, fn, original =>\n __traceOriginalScript(original, args => ({\n get: () => args[0],\n replace: fn => { args[0] = fn }\n }))\n )\n )\n\n // Proxy all the host objects whose prototypes have an addEventListener function\n map([\n 'EventTarget', 'Window', 'Node', 'ApplicationCache', 'AudioTrackList', 'ChannelMergerNode',\n 'CryptoOperation', 'EventSource', 'FileReader', 'HTMLUnknownElement', 'IDBDatabase',\n 'IDBRequest', 'IDBTransaction', 'KeyOperation', 'MediaController', 'MessagePort', 'ModalWindow',\n 'Notification', 'SVGElementInstance', 'Screen', 'TextTrack', 'TextTrackCue', 'TextTrackList',\n 'WebSocket', 'WebSocketWorker', 'Worker', 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'XMLHttpRequestUpload'\n ], o => {\n if (!win[o] || !win[o].prototype || !win[o].prototype.hasOwnProperty || !win[o].prototype.hasOwnProperty('addEventListener')) return\n __proxy(win[o].prototype, 'addEventListener', original =>\n __traceOriginalScript(original, eventTargetCallbackAccessor)\n )\n __proxy(win[o].prototype, 'removeEventListener', original =>\n __traceOriginalScript(original, eventTargetCallbackAccessor, true)\n )\n })\n\n function __traceOriginalScript (fn, callbackAccessor, alsoCallOriginal = false) {\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 const args = Array.prototype.slice.call(arguments)\n try {\n const cba = callbackAccessor(args)\n const cb = cba.get()\n if (alsoCallOriginal) fn.apply(this, args)\n if (typeof cb !== 'function') return fn.apply(this, args)\n if (cb.__trace__) {\n cba.replace(cb.__trace__)\n } else {\n var script = getCurrentScript()\n // 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 cb.__trace__ = function __trace__ () {\n // set the script that called this function\n updateLastScript(script)\n // 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 _setTimeout(function () { updateLastScript(null) }, 0)\n const ret = cb.apply(this, arguments)\n updateLastScript(null)\n return ret\n }\n cb.__trace__.__trace__ = cb.__trace__\n cba.replace(cb.__trace__)\n }\n } catch (e) {\n // swallow these errors on Selenium:\n // Permission denied to access property '__trace__'\n // WebDriverException: Message: Permission denied to access property \"handleEvent\"\n }\n // IE8 doesn't let you call .apply() on setTimeout/setInterval\n if (fn.apply) return fn.apply(this, args)\n switch (args.length) {\n case 1: return fn(args[0])\n case 2: return fn(args[0], args[1])\n default: return fn()\n }\n }\n }\n },\n configSchema: {\n trackInlineScripts: {\n validate: value => value === true || value === false,\n defaultValue: () => true,\n message: 'should be true|false'\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 * Leaves breadcrumbs when the user interacts with the DOM\n */\nmodule.exports = {\n init: (client, win = window) => {\n if (!('addEventListener' in win)) return\n\n const explicitlyDisabled = client.config.interactionBreadcrumbsEnabled === false\n const implicitlyDisabled = client.config.autoBreadcrumbs === false && client.config.interactionBreadcrumbsEnabled !== true\n if (explicitlyDisabled || implicitlyDisabled) return\n\n win.addEventListener('click', (event) => {\n let targetText, targetSelector\n try {\n targetText = getNodeText(event.target)\n targetSelector = getNodeSelector(event.target, win)\n } catch (e) {\n targetText = '[hidden]'\n targetSelector = '[hidden]'\n client._logger.error('Cross domain error when tracking click event. See docs: https://tinyurl.com/yy3rn63z')\n }\n client.leaveBreadcrumb('UI click', { targetText, targetSelector }, 'user')\n }, true)\n },\n configSchema: {\n interactionBreadcrumbsEnabled: {\n defaultValue: () => undefined,\n validate: (value) => value === true || value === false || value === undefined,\n message: 'should be true|false'\n }\n }\n}\n\n// extract text content from a element\nconst getNodeText = el => {\n let 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 return truncate(text, 140)\n}\n\n// Create a label from tagname, id and css class of the element\nfunction getNodeSelector (el, win) {\n const parts = [ el.tagName ]\n if (el.id) parts.push('#' + el.id)\n if (el.className && el.className.length) parts.push(`.${el.className.split(' ').join('.')}`)\n // Can't get much more advanced with the current browser\n if (!win.document.querySelectorAll || !Array.prototype.indexOf) return parts.join('')\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 }\n // try to get a more specific selector if this one matches more than one element\n if (el.parentNode.childNodes.length > 1) {\n const index = Array.prototype.indexOf.call(el.parentNode.childNodes, el) + 1\n parts.push(`:nth-child(${index})`)\n }\n if (win.document.querySelectorAll(parts.join('')).length === 1) return parts.join('')\n // try prepending the parent node selector\n if (el.parentNode) return `${getNodeSelector(el.parentNode, win)} > ${parts.join('')}`\n return parts.join('')\n}\n\nfunction truncate (value, length) {\n const ommision = '(...)'\n if (value && value.length <= length) return value\n return value.slice(0, length - ommision.length) + ommision\n}\n","const BREADCRUMB_TYPE = 'request'\n\n// keys to safely store metadata on the request object\nconst REQUEST_SETUP_KEY = 'BS~~S'\nconst REQUEST_URL_KEY = 'BS~~U'\nconst REQUEST_METHOD_KEY = 'BS~~M'\n\nconst { includes } = require('@bugsnag/core/lib/es-utils')\n\nlet restoreFunctions = []\nlet client\nlet win\nlet getIgnoredUrls\n\nconst defaultIgnoredUrls = () => [\n client.config.endpoints.notify,\n client.config.endpoints.sessions\n]\n\n/*\n * Leaves breadcrumbs when network requests occur\n */\nexports.name = 'networkBreadcrumbs'\nexports.init = (_client, _getIgnoredUrls = defaultIgnoredUrls, _win = window) => {\n const explicitlyDisabled = _client.config.networkBreadcrumbsEnabled === false\n const implicitlyDisabled = _client.config.autoBreadcrumbs === false && _client.config.networkBreadcrumbsEnabled !== true\n if (explicitlyDisabled || implicitlyDisabled) return\n\n client = _client\n win = _win\n getIgnoredUrls = _getIgnoredUrls\n monkeyPatchXMLHttpRequest()\n monkeyPatchFetch()\n}\n\nexports.configSchema = {\n networkBreadcrumbsEnabled: {\n defaultValue: () => undefined,\n validate: (value) => value === true || value === false || value === undefined,\n message: 'should be true|false'\n }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n exports.destroy = () => {\n restoreFunctions.forEach(fn => fn())\n restoreFunctions = []\n }\n}\n\n// XMLHttpRequest monkey patch\nconst monkeyPatchXMLHttpRequest = () => {\n if (!('addEventListener' in win.XMLHttpRequest.prototype)) return\n const nativeOpen = win.XMLHttpRequest.prototype.open\n\n // override native open()\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\n\n // if we have already setup listeners, it means open() was called twice, we need to remove\n // the listeners and recreate them\n if (this[REQUEST_SETUP_KEY]) {\n this.removeEventListener('load', handleXHRLoad)\n this.removeEventListener('error', handleXHRError)\n }\n\n // attach load event listener\n this.addEventListener('load', handleXHRLoad)\n // attach error event listener\n this.addEventListener('error', handleXHRError)\n\n this[REQUEST_SETUP_KEY] = true\n\n nativeOpen.apply(this, arguments)\n }\n\n if (process.env.NODE_ENV !== 'production') {\n restoreFunctions.push(() => {\n win.XMLHttpRequest.prototype.open = nativeOpen\n })\n }\n}\n\nfunction handleXHRLoad () {\n if (includes(getIgnoredUrls(), this[REQUEST_URL_KEY])) {\n // don't leave a network breadcrumb from bugsnag notify calls\n return\n }\n const metaData = {\n status: this.status,\n request: `${this[REQUEST_METHOD_KEY]} ${this[REQUEST_URL_KEY]}`\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\nfunction handleXHRError () {\n if (includes(getIgnoredUrls, this[REQUEST_URL_KEY])) {\n // don't leave a network breadcrumb from bugsnag notify calls\n return\n }\n // failed to contact server\n client.leaveBreadcrumb('XMLHttpRequest error', {\n request: `${this[REQUEST_METHOD_KEY]} ${this[REQUEST_URL_KEY]}`\n }, BREADCRUMB_TYPE)\n}\n\n// window.fetch monkey patch\nconst 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\n const oldFetch = win.fetch\n win.fetch = function fetch () {\n const urlOrRequest = arguments[0]\n const options = arguments[1]\n\n let method\n let url = null\n\n if (urlOrRequest && typeof urlOrRequest === 'object') {\n url = urlOrRequest.url\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 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((resolve, reject) => {\n // pass through to native fetch\n oldFetch(...arguments)\n .then(response => {\n handleFetchSuccess(response, method, url)\n resolve(response)\n })\n .catch(error => {\n handleFetchError(method, url)\n reject(error)\n })\n })\n }\n\n if (process.env.NODE_ENV !== 'production') {\n restoreFunctions.push(() => {\n win.fetch = oldFetch\n })\n }\n}\n\nconst handleFetchSuccess = (response, method, url) => {\n const metaData = {\n status: response.status,\n request: `${method} ${url}`\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\nconst handleFetchError = (method, url) => {\n client.leaveBreadcrumb('fetch() error', { request: `${method} ${url}` }, BREADCRUMB_TYPE)\n}\n","/*\n * Leaves breadcrumbs when navigation methods are called or events are emitted\n */\nexports.init = (client, win = window) => {\n if (!('addEventListener' in win)) return\n\n const explicitlyDisabled = client.config.navigationBreadcrumbsEnabled === false\n const implicitlyDisabled = client.config.autoBreadcrumbs === false && client.config.navigationBreadcrumbsEnabled !== true\n if (explicitlyDisabled || implicitlyDisabled) return\n\n // returns a function that will drop a breadcrumb with a given name\n const drop = name => () => client.leaveBreadcrumb(name, {}, 'navigation')\n\n // simple drops – just names, no meta\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)\n // some browsers like to emit popstate when the page loads, so only add the popstate listener after that\n win.addEventListener('load', () => win.addEventListener('popstate', drop('Navigated back'), true))\n\n // hashchange has some metaData that we care about\n win.addEventListener('hashchange', event => {\n const metaData = event.oldURL\n ? { from: relativeLocation(event.oldURL, win), to: relativeLocation(event.newURL, win), state: getCurrentState(win) }\n : { to: relativeLocation(win.location.href, win) }\n client.leaveBreadcrumb('Hash changed', metaData, 'navigation')\n }, true)\n\n // 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 client.leaveBreadcrumb('Bugsnag loaded', {}, 'navigation')\n}\n\nexports.configSchema = {\n navigationBreadcrumbsEnabled: {\n defaultValue: () => undefined,\n validate: (value) => value === true || value === false || value === undefined,\n message: 'should be true|false'\n }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n exports.destroy = (win = window) => {\n win.history.replaceState._restore()\n win.history.pushState._restore()\n }\n}\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\nconst relativeLocation = (url, win) => {\n const a = win.document.createElement('A')\n a.href = url\n return `${a.pathname}${a.search}${a.hash}`\n}\n\nconst stateChangeToMetaData = (win, state, title, url) => {\n const currentPath = relativeLocation(win.location.href, win)\n return { title, state, prevState: getCurrentState(win), to: url || currentPath, from: currentPath }\n}\n\nconst wrapHistoryFn = (client, target, fn, win) => {\n const orig = target[fn]\n target[fn] = (state, title, url) => {\n client.leaveBreadcrumb(`History ${fn}`, stateChangeToMetaData(win, state, title, url), 'navigation')\n // if throttle plugin is in use, refresh the event sent count\n if (typeof client.refresh === 'function') client.refresh()\n // if the client is operating in auto session-mode, a new route should trigger a new session\n if (client.config.autoCaptureSessions) client.startSession()\n // 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 orig.apply(target, [ state, title ].concat(url !== undefined ? url : []))\n }\n if (process.env.NODE_ENV !== 'production') {\n target[fn]._restore = () => { target[fn] = orig }\n }\n}\n\nconst getCurrentState = (win) => {\n try {\n return win.history.state\n } catch (e) {}\n}\n","const { intRange } = require('@bugsnag/core/lib/validators')\n\n/*\n * Throttles and dedupes error reports\n */\n\nmodule.exports = {\n init: (client) => {\n // track sent events for each init of the plugin\n let n = 0\n\n // add beforeSend hook\n client.config.beforeSend.push((report) => {\n // have max events been sent already?\n if (n >= client.config.maxEvents) return report.ignore()\n n++\n })\n\n client.refresh = () => { n = 0 }\n },\n configSchema: {\n maxEvents: {\n defaultValue: () => 10,\n message: 'should be a positive integer ≤100',\n validate: val => intRange(1, 100)(val)\n }\n }\n}\n","/*\n * Remove query strings (and fragments) from stacktraces\n */\nconst { map } = require('@bugsnag/core/lib/es-utils')\n\nmodule.exports = {\n init: (client) => {\n client.config.beforeSend.push(report => {\n report.stacktrace = map(report.stacktrace, frame => ({ ...frame, file: strip(frame.file) }))\n })\n }\n}\n\nconst strip = module.exports._strip = str =>\n typeof str === 'string'\n ? str.replace(/\\?.*$/, '').replace(/#.*$/, '')\n : str\n","/*\n * Automatically notifies Bugsnag when window.onerror is called\n */\n\nmodule.exports = {\n init: (client, win = window) => {\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 const handledState = { severity: 'error', unhandled: true, severityReason: { type: 'unhandledException' } }\n\n let report\n\n // 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\n if (error.name && error.message) {\n // if it looks like an error, construct a report object using its stack\n report = new client.BugsnagReport(\n error.name,\n error.message,\n decorateStack(client.BugsnagReport.getStacktrace(error), url, lineNo, charNo),\n handledState,\n error\n )\n } else {\n // otherwise, for non error values that were thrown, stringify it for\n // use as the error message and get/generate a stacktrace\n report = new client.BugsnagReport(\n 'window.onerror',\n String(error),\n decorateStack(client.BugsnagReport.getStacktrace(error, 1), url, lineNo, charNo),\n handledState,\n error\n )\n // include the raw input as metadata\n report.updateMetaData('window onerror', { error })\n }\n } else if (\n // 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) &&\n (!url || typeof url !== 'string') &&\n !lineNo && !charNo && !error\n ) {\n // The jQuery event may have a \"type\" property, if so use it as part of the error message\n const name = messageOrEvent.type ? `Event: ${messageOrEvent.type}` : 'window.onerror'\n // attempt to find a message from one of the conventional properties, but\n // default to empty string (the report will fill it with a placeholder)\n const message = messageOrEvent.message || messageOrEvent.detail || ''\n report = new client.BugsnagReport(\n name,\n message,\n client.BugsnagReport.getStacktrace(new Error(), 1).slice(1),\n handledState,\n messageOrEvent\n )\n // include the raw input as metadata – it might contain more info than we extracted\n report.updateMetaData('window onerror', { event: messageOrEvent, extraParameters: url })\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 report = new client.BugsnagReport(\n 'window.onerror',\n String(messageOrEvent),\n decorateStack(client.BugsnagReport.getStacktrace(error, 1), url, lineNo, charNo),\n handledState,\n messageOrEvent\n )\n // include the raw input as metadata – it might contain more info than we extracted\n report.updateMetaData('window onerror', { event: messageOrEvent })\n }\n\n client.notify(report)\n }\n\n if (typeof prevOnError === 'function') prevOnError.apply(this, arguments)\n }\n\n const prevOnError = win.onerror\n win.onerror = onerror\n }\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.\nconst decorateStack = (stack, url, lineNo, charNo) => {\n const culprit = stack[0]\n if (!culprit) return stack\n if (!culprit.fileName && typeof url === 'string') culprit.setFileName(url)\n if (!culprit.lineNumber && isActualNumber(lineNo)) culprit.setLineNumber(lineNo)\n if (!culprit.columnNumber) {\n if (isActualNumber(charNo)) {\n culprit.setColumnNumber(charNo)\n } else if (window.event && isActualNumber(window.event.errorCharacter)) {\n culprit.setColumnNumber(window.event.errorCharacter)\n }\n }\n return stack\n}\n\nconst isActualNumber = (n) => typeof n === 'number' && String.call(n) !== 'NaN'\n","const hasStack = require('@bugsnag/core/lib/has-stack')\nconst { reduce } = require('@bugsnag/core/lib/es-utils')\nconst ErrorStackParser = require('@bugsnag/core/lib/error-stack-parser')\nconst isError = require('@bugsnag/core/lib/iserror')\n\n/*\n * Automatically notifies Bugsnag when window.onunhandledrejection is called\n */\nlet _listener\nexports.init = (client, win = window) => {\n const listener = event => {\n let error = event.reason\n let isBluebird = false\n\n // accessing properties on event.detail can throw errors (see #394)\n try {\n if (event.detail && event.detail.reason) {\n error = event.detail.reason\n isBluebird = true\n }\n } catch (e) {}\n\n const handledState = {\n severity: 'error',\n unhandled: true,\n severityReason: { type: 'unhandledPromiseRejection' }\n }\n\n let report\n if (error && hasStack(error)) {\n // if it quacks like an Error…\n report = new client.BugsnagReport(error.name, error.message, ErrorStackParser.parse(error), handledState, error)\n if (isBluebird) {\n report.stacktrace = reduce(report.stacktrace, fixBluebirdStacktrace(error), [])\n }\n } else {\n // if it doesn't…\n const msg = 'Rejection reason was not an Error. See \"Promise\" tab for more detail.'\n report = new client.BugsnagReport(\n error && error.name ? error.name : 'UnhandledRejection',\n error && error.message ? error.message : msg,\n [],\n handledState,\n error\n )\n // stuff the rejection reason into metaData, it could be useful\n report.updateMetaData('promise', 'rejection reason', serializableReason(error))\n }\n\n client.notify(report)\n }\n if ('addEventListener' in win) {\n win.addEventListener('unhandledrejection', listener)\n } else {\n win.onunhandledrejection = (reason, promise) => {\n listener({ detail: { reason, promise } })\n }\n }\n _listener = listener\n}\n\nif (process.env.NODE_ENV !== 'production') {\n exports.destroy = (win = window) => {\n if (_listener) {\n if ('addEventListener' in win) {\n win.removeEventListener('unhandledrejection', _listener)\n } else {\n win.onunhandledrejection = null\n }\n }\n _listener = null\n }\n}\n\nconst serializableReason = (err) => {\n if (err === null || err === undefined) {\n return 'undefined (or null)'\n } else if (isError(err)) {\n return {\n [Object.prototype.toString.call(err)]: {\n name: err.name,\n message: err.message,\n code: err.code,\n stack: err.stack\n }\n }\n } else {\n return err\n }\n}\n\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\nconst fixBluebirdStacktrace = (error) => (accum, frame) => {\n if (frame.file === error.toString()) return accum\n if (frame.method) {\n frame.method = frame.method.replace(/^\\s+/, '')\n }\n return accum.concat(frame)\n}\n","const name = 'Bugsnag JavaScript'\nconst version = '6.5.2'\nconst url = 'https://github.com/bugsnag/bugsnag-js'\n\nconst Client = require('@bugsnag/core/client')\nconst Report = require('@bugsnag/core/report')\nconst Session = require('@bugsnag/core/session')\nconst Breadcrumb = require('@bugsnag/core/breadcrumb')\n\n// extend the base config schema with some browser-specific options\nconst schema = { ...require('@bugsnag/core/config').schema, ...require('./config') }\n\nconst pluginWindowOnerror = require('@bugsnag/plugin-window-onerror')\nconst pluginUnhandledRejection = require('@bugsnag/plugin-window-unhandled-rejection')\nconst pluginDevice = require('@bugsnag/plugin-browser-device')\nconst pluginContext = require('@bugsnag/plugin-browser-context')\nconst pluginRequest = require('@bugsnag/plugin-browser-request')\nconst pluginThrottle = require('@bugsnag/plugin-simple-throttle')\nconst pluginConsoleBreadcrumbs = require('@bugsnag/plugin-console-breadcrumbs')\nconst pluginNetworkBreadcrumbs = require('@bugsnag/plugin-network-breadcrumbs')\nconst pluginNavigationBreadcrumbs = require('@bugsnag/plugin-navigation-breadcrumbs')\nconst pluginInteractionBreadcrumbs = require('@bugsnag/plugin-interaction-breadcrumbs')\nconst pluginInlineScriptContent = require('@bugsnag/plugin-inline-script-content')\nconst pluginSession = require('@bugsnag/plugin-browser-session')\nconst pluginIp = require('@bugsnag/plugin-client-ip')\nconst pluginStripQueryString = require('@bugsnag/plugin-strip-query-string')\n\n// delivery mechanisms\nconst dXDomainRequest = require('@bugsnag/delivery-x-domain-request')\nconst dXMLHttpRequest = require('@bugsnag/delivery-xml-http-request')\n\nmodule.exports = (opts) => {\n // handle very simple use case where user supplies just the api key as a string\n if (typeof opts === 'string') opts = { apiKey: opts }\n\n // support renamed/deprecated options\n\n let warningMessage = ''\n\n if (opts.endpoints && opts.endpoints.notify && !opts.endpoints.sessions) {\n warningMessage += 'notify endpoint is set but sessions endpoint is not. No sessions will be sent.'\n }\n\n const bugsnag = new Client({ name, version, url })\n\n bugsnag.setOptions(opts)\n\n // set delivery based on browser capability (IE 8+9 have an XDomainRequest object)\n bugsnag.delivery(window.XDomainRequest ? dXDomainRequest : dXMLHttpRequest)\n\n // configure with user supplied options\n // errors can be thrown here that prevent the lib from being in a useable state\n bugsnag.configure(schema)\n\n if (warningMessage) bugsnag._logger.warn(warningMessage)\n\n // always-on browser-specific plugins\n bugsnag.use(pluginDevice)\n bugsnag.use(pluginContext)\n bugsnag.use(pluginRequest)\n bugsnag.use(pluginThrottle)\n bugsnag.use(pluginSession)\n bugsnag.use(pluginIp)\n bugsnag.use(pluginStripQueryString)\n\n // optional browser-specific plugins\n\n if (bugsnag.config.autoNotify !== false) {\n bugsnag.use(pluginWindowOnerror)\n bugsnag.use(pluginUnhandledRejection)\n }\n\n bugsnag.use(pluginNavigationBreadcrumbs)\n bugsnag.use(pluginInteractionBreadcrumbs)\n bugsnag.use(pluginNetworkBreadcrumbs)\n bugsnag.use(pluginConsoleBreadcrumbs)\n\n // this one added last to avoid wrapping functionality before bugsnag uses it\n bugsnag.use(pluginInlineScriptContent)\n\n bugsnag._logger.debug(`Loaded!`)\n\n return bugsnag.config.autoCaptureSessions\n ? bugsnag.startSession()\n : bugsnag\n}\n\n// Angular's DI system needs this interface to match what is exposed\n// in the type definition file (types/bugsnag.d.ts)\nmodule.exports.Bugsnag = {\n Client,\n Report,\n Session,\n Breadcrumb\n}\n\n// Export a \"default\" property for compatibility with ESM imports\nmodule.exports['default'] = module.exports\n","\nreturn _$notifier_2;\n\n});\n"],"names":["module","exports","define","reduce","arr","fn","accum","val","i","len","length","filter","item","concat","map","includes","x","_hasDontEnumBug","toString","propertyIsEnumerable","_dontEnums","_pad","n","_$esUtils_8","keys","obj","prop","result","Object","prototype","hasOwnProperty","call","push","isArray","isoDate","d","Date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","toFixed","slice","_$validators_15","min","max","Infinity","value","parseInt","__filter_5","__reduce_5","__keys_5","__isArray_5","__includes_5","intRange","stringWithLength","_$config_5","schema","apiKey","defaultValue","message","validate","appVersion","appType","autoNotify","beforeSend","f","endpoints","notify","sessions","autoCaptureSessions","k","opts","undefined","notifyReleaseStages","releaseStage","maxBreadcrumbs","autoBreadcrumbs","user","metaData","logger","method","filters","s","test","mergeDefaults","Error","key","errors","valid","__map_1","_$config_1","window","location","host","_extends","console","debug","getPrefixedConsole","consoleLog","consoleMethod","bind","__isoDate_3","_$BugsnagBreadcrumb_3","BugsnagBreadcrumb","name","type","timestamp","this","toJSON","_$asyncSome_6","cb","index","next","err","_$inferReleaseStage_10","client","app","config","isError","_$iserror_11","_$runBeforeSend_14","report","onError","ret","then","setTimeout","shouldPreventSend","e","isIgnored","root","factory","amd","_$stackframe_23","StackFrame","_isNumber","isNaN","parseFloat","isFinite","_capitalize","str","charAt","toUpperCase","substring","_getter","p","booleanProps","numericProps","stringProps","arrayProps","props","getArgs","args","setArgs","v","TypeError","getEvalOrigin","evalOrigin","setEvalOrigin","getFunctionName","join","getFileName","getLineNumber","getColumnNumber","Boolean","j","Number","String","_$errorStackParser_20","ErrorStackParser","FIREFOX_SAFARI_STACK_REGEXP","CHROME_IE_STACK_REGEXP","SAFARI_NATIVE_CODE_REGEXP","parse","error","stacktrace","parseOpera","stack","match","parseV8OrIE","parseFFOrSafari","extractLocation","urlLike","indexOf","parts","exec","replace","split","line","sanitizedLine","tokens","locationParts","pop","functionName","fileName","lineNumber","columnNumber","source","functionNameRegex","matches","parseOpera9","parseOpera11","parseOpera10","lineRE","lines","argsRaw","functionCall","shift","_$errorStackParser_7","_$hasStack_9","_$jsRuntime_12","_$stackGenerator_22","StackGenerator","backtrace","maxStackSize","curr","arguments","callee","Array","RegExp","$1","caller","__reduce_24","__filter_24","BugsnagReport","errorClass","errorMessage","handledState","originalError","defaultHandledState","__isBugsnagReport","_ignored","_handledState","breadcrumbs","context","device","stringOrFallback","groupingHash","request","severity","frame","formatStackframe","JSON","stringify","session","ignore","updateMetaData","section","_updates","updates","removeMetaData","___extends_24","property","payloadVersion","exceptions","unhandled","severityReason","file","normaliseFunctionName","code","inProject","fallback","getStacktrace","errorFramesToSkip","generatedFramesToSkip","ensureReport","reportOrError","_$BugsnagReport_24","_$pad_18","num","size","substr","env","self","globalCount","mimeTypesLength","navigator","mimeTypes","clientId","userAgent","_$fingerprint_17","c","blockSize","base","discreteValues","Math","pow","randomBlock","random","safeCounter","cuid","getTime","fingerprint","_$cuid_16","__isoDate_25","_$Session_25","Session","id","startedAt","_handled","_unhandled","events","handled","trackError","__map_4","__includes_4","__isArray_4","LOG_USAGE_ERR_PREFIX","REPORT_USAGE_ERR_PREFIX","BugsnagClient","notifier","version","url","_configured","_opts","_delivery","sendSession","sendReport","_logger","info","warn","_plugins","_session","BugsnagSession","apply","setOptions","___extends_4","configure","partialSchema","conf","validity","generateConfigErrorMessage","use","plugin","configSchema","_len","_key","init","getPlugin","delivery","l","sid","sessionDelegate","_sessionDelegate","startSession","leaveBreadcrumb","crumb","_this","_normaliseError","normaliseError","originalSeverity","onBeforeSendErr","preventSend","synthesizedErrorFramesToSkip","createAndLogUsageError","reason","msg","generateNotifyUsageMessage","notifyArgs","hasNecessaryFields","actual","_$BugsnagClient_4","_$safeJsonStringify_19","data","replacer","space","filterKeys","filterPaths","prepareObjForSerialization","MAX_DEPTH","MAX_EDGES","MIN_PRESERVED_DEPTH","REPLACEMENT_NODE","__isError_19","o","throwsMessage","find","haystack","needle","isDescendent","paths","path","shouldFilter","patterns","__isArray_19","safelyGetProp","seen","edges","visit","edgesExceeded","fResult","eResult","aResult","REPORT_FILTER_PATHS","SESSION_FILTER_PATHS","_$jsonPayload_13","payload","__isoDate_26","_$delivery_26","win","getApiUrl","req","XDomainRequest","onload","open","send","endpoint","matchPageProtocol","protocol","encodeURIComponent","_matchPageProtocol","pageProtocol","__isoDate_27","_$delivery_27","XMLHttpRequest","onreadystatechange","readyState","DONE","setRequestHeader","_$context_28","unshift","pathname","__isoDate_29","_$device_29","nav","locale","browserLanguage","systemLanguage","userLanguage","language","___extends_29","time","_$request_30","___extends_30","href","__isArray_31","__includes_31","_$session_31","sessionClient","___extends_31","_$clientIp_32","collectUserIp","___extends_32","clientIp","__map_33","__reduce_33","__filter_33","_$consoleBreadcrumbs_33","isDev","explicitlyDisabled","consoleBreadcrumbsEnabled","implicitlyDisabled","CONSOLE_LOG_METHODS","original","arg","stringified","_restore","__map_34","__reduce_34","__filter_34","MAX_LINE_LENGTH","MAX_SCRIPT_LENGTH","_$inlineScriptContent_34","doc","document","trackInlineScripts","originalLocation","html","DOMContentLoaded","getHtml","documentElement","outerHTML","prev","_lastScript","updateLastScript","script","getCurrentScript","currentScript","scripts","getElementsByTagName","addSurroundingCode","htmlLines","zeroBasedLine","start","end","content","innerHTML","_setTimeout","__proxy","__traceOriginalScript","get","eventTargetCallbackAccessor","callbackAccessor","alsoCallOriginal","cba","__trace__","replacement","isEventHandlerObj","handleEvent","_$interactionBreadcrumbs_35","interactionBreadcrumbsEnabled","addEventListener","event","targetText","targetSelector","getNodeText","target","getNodeSelector","el","text","textContent","innerText","truncate","tagName","className","querySelectorAll","parentNode","childNodes","ommision","getIgnoredUrls","_$navigationBreadcrumbs_36","navigationBreadcrumbsEnabled","drop","oldURL","from","relativeLocation","to","newURL","state","getCurrentState","history","replaceState","wrapHistoryFn","pushState","a","createElement","search","hash","stateChangeToMetaData","title","currentPath","prevState","orig","refresh","BREADCRUMB_TYPE","REQUEST_SETUP_KEY","REQUEST_URL_KEY","REQUEST_METHOD_KEY","__includes_37","defaultIgnoredUrls","_$networkBreadcrumbs_37","_client","_getIgnoredUrls","_win","networkBreadcrumbsEnabled","monkeyPatchXMLHttpRequest","monkeyPatchFetch","nativeOpen","removeEventListener","handleXHRLoad","handleXHRError","status","fetch","polyfill","oldFetch","_arguments","urlOrRequest","options","Promise","resolve","reject","response","handleFetchSuccess","handleFetchError","__intRange_38","_$throttle_38","maxEvents","__map_39","strip","_$stripQueryString_39","___extends_39","_strip","_$onerror_40","onerror","messageOrEvent","lineNo","charNo","decorateStack","detail","extraParameters","prevOnError","culprit","setFileName","isActualNumber","setLineNumber","setColumnNumber","errorCharacter","__reduce_41","_$unhandledRejection_41","listener","isBluebird","fixBluebirdStacktrace","serializableReason","onunhandledrejection","promise","_ref","__schema_2","___extends_2","_$notifier_2","warningMessage","bugsnag","Bugsnag","Client","Report","Breadcrumb"],"sourceRoot":""}