{"version":3,"sources":["node_modules/browser-pack-flat/_prelude","node_modules/@bugsnag/cuid/index.js","browser/plugins/interaction-breadcrumbs.js","node_modules/fast-safe-stringify/index.js","base/lib/es-utils.js","base/breadcrumb.js","base/lib/positive-int-check.js","base/config.js","base/lib/infer-release-stage.js","base/lib/has-stack.js","node_modules/stackframe/stackframe.js","node_modules/error-stack-parser/error-stack-parser.js","node_modules/stack-generator/stack-generator.js","base/report.js","node_modules/@bugsnag/cuid/lib/pad.js","node_modules/@bugsnag/cuid/lib/fingerprint.browser.js","base/session.js","node_modules/iserror/index.js","base/client.js","base/plugins/throttle.js","browser/config.js","browser/plugins/console-breadcrumbs.js","browser/plugins/context.js","browser/plugins/device.js","browser/plugins/inline-script-content.js","browser/plugins/ip.js","browser/plugins/navigation-breadcrumbs.js","browser/plugins/request.js","browser/plugins/sessions.js","browser/plugins/strip-query-string.js","browser/plugins/unhandled-rejection.js","browser/plugins/window-onerror.js","browser/transports/lib/payload.js","browser/transports/x-domain-request.js","browser/transports/xml-http-request.js","browser/index.js","node_modules/browser-pack-flat/_postlude"],"names":["f","exports","module","define","amd","window","global","self","this","bugsnag","randomBlock","_$pad_30","Math","random","discreteValues","toString","base","blockSize","safeCounter","c","cuid","Date","getTime","_$fingerprint_29","getNodeSelector","el","parts","tagName","id","push","className","length","split","join","document","querySelectorAll","Array","prototype","indexOf","e","parentNode","childNodes","index","call","truncate","value","slice","stringify","obj","decirc","JSON","Circle","val","k","parent","count","stack","toJSON","forceDecirc","undefined","i","key","Object","hasOwnProperty","pop","reduce","arr","fn","accum","len","_hasDontEnumBug","propertyIsEnumerable","_dontEnums","_pad","n","_$esUtils_4","map","item","concat","filter","includes","x","keys","result","prop","isArray","isoDate","d","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","toFixed","__isoDate_1","BugsnagBreadcrumb","name","arguments","metaData","type","timestamp","_classCallCheck","_$BugsnagBreadcrumb_1","__includes_7","_$positiveIntCheck_7","parseInt","__filter_3","__reduce_3","__keys_3","__isArray_3","_$config_3","schema","apiKey","defaultValue","message","validate","appVersion","autoNotify","beforeSend","endpoint","sessionEndpoint","autoCaptureSessions","notifyReleaseStages","releaseStage","maxBreadcrumbs","autoBreadcrumbs","user","mergeDefaults","opts","Error","errors","valid","_$inferReleaseStage_6","client","app","config","_$hasStack_5","err","stacktrace","root","factory","_$stackframe_35","StackFrame","_isNumber","isNaN","parseFloat","isFinite","_capitalize","str","charAt","toUpperCase","substring","_getter","p","props","booleanProps","numericProps","stringProps","arrayProps","getArgs","args","setArgs","v","TypeError","getEvalOrigin","evalOrigin","setEvalOrigin","getFunctionName","getFileName","getLineNumber","getColumnNumber","Boolean","j","Number","String","_$errorStackParser_31","ErrorStackParser","FIREFOX_SAFARI_STACK_REGEXP","CHROME_IE_STACK_REGEXP","SAFARI_NATIVE_CODE_REGEXP","parse","error","parseOpera","match","parseV8OrIE","parseFFOrSafari","extractLocation","urlLike","exec","replace","line","tokens","locationParts","functionName","fileName","lineNumber","columnNumber","source","parseOpera9","parseOpera11","parseOpera10","lineRE","lines","argsRaw","functionCall","shift","_$stackGenerator_34","StackGenerator","backtrace","maxStackSize","curr","callee","test","RegExp","$1","caller","__reduce_9","__filter_9","BugsnagReport","errorClass","errorMessage","handledState","defaultHandledState","___classCallCheck_9","__isBugsnagReport","_ignored","_handledState","breadcrumbs","context","device","stringOrFallback","groupingHash","request","severity","frame","formatStackframe","session","ignore","isIgnored","updateMetaData","section","_updates","updates","removeMetaData","_extends","property","payloadVersion","exceptions","unhandled","severityReason","file","method","normaliseFunctionName","code","inProject","fallback","getStacktrace","errorFramesToSkip","generatedFramesToSkip","ensureReport","reportOrError","_$BugsnagReport_9","num","size","s","substr","env","globalCount","mimeTypesLength","navigator","mimeTypes","clientId","userAgent","pow","fingerprint","_$cuid_28","__isoDate_10","Session","___classCallCheck_10","startedAt","_handled","_unhandled","events","handled","trackError","report","_$Session_10","_$isError_33","__map_2","__reduce_2","__includes_2","__isArray_2","noop","BugsnagClient","notifier","configSchema","___classCallCheck_2","version","url","_configured","_transport","sendSession","sendReport","_logger","debug","info","warn","plugins","beforeSession","BugsnagSession","configure","___extends_2","validity","use","plugin","init","transport","t","logger","l","sid","sessionDelegate","_sessionDelegate","startSession","leaveBreadcrumb","crumb","notify","_normaliseError","normaliseError","_opts","originalSeverity","notifyArgs","hasNecessaryFields","_$BugsnagClient_2","_$throttle_8","maxEvents","refresh","_$config_11","location","host","collectUserIp","__map_13","__reduce_13","_$consoleBreadcrumbs_13","CONSOLE_LOG_METHODS","original","console","_len","_key","arg","stringified","apply","_restore","destroy","forEach","consoleBreadcrumbsEnabled","__filter_13","_$context_14","unshift","pathname","__isoDate_15","_$device_15","___extends_15","time","locale","browserLanguage","systemLanguage","userLanguage","language","__reduce_16","scriptStartRe","scriptEndRe","extractScriptContent","_$inlineScriptContent_16","html","DOMContentLoaded","getHtml","documentElement","outerHTML","originalLocation","href","onreadystatechange","readyState","htmlLines","_extractScriptContent","script","start","abs","content","startLine","end","_$interactionBreadcrumbs_17","addEventListener","event","targetText","targetSelector","getNodeText","target","interactionBreadcrumbsEnabled","text","textContent","innerText","_$ip_18","___extends_18","clientIp","_$navigationBreadcrumbs_19","drop","oldURL","from","relativeLocation","to","newURL","state","history","replaceState","wrapHistoryFn","pushState","navigationBreadcrumbsEnabled","a","createElement","search","hash","stateChangeToMetaData","title","currentPath","prevState","orig","_$request_20","___extends_20","__map_21","__isArray_21","__includes_21","_$sessions_21","sessionClient","___extends_21","sessions","__map_22","strip","_$stripQueryString_22","___extends_22","_strip","__reduce_23","_listener","_$unhandledRejection_23","listener","reason","isBluebird","detail","fixBluebirdStacktrace","serializableReason","onunhandledrejection","promise","removeEventListener","_ref","_$windowOnerror_24","prevOnError","onerror","messageOrEvent","lineNo","charNo","decorateStack","culprit","setFileName","setLineNumber","setColumnNumber","errorCharacter","_$stringify_32","_$payload_25","payload","__isoDate_26","matchPageProtocol","_$xDomainRequest_26","cb","protocol","encodeURIComponent","req","XDomainRequest","onload","responseText","open","setTimeout","send","_matchPageProtocol","pageProtocol","__isoDate_27","_$xmlHttpRequest_27","XMLHttpRequest","DONE","setRequestHeader","__map_12","__reduce_12","___extends_12","transports","_$browser_12","userPlugins","sessionTrackingEnabled","finalSchema","getPrefixedConsole","inferBreadcrumbSetting","consoleLog","consoleMethod","bind","defaultInDev","Bugsnag","Client","Report","Breadcrumb"],"mappings":"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","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","/**\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","/*\n * Leaves breadcrumbs when the user interacts with the DOM\n */\nmodule.exports = {\n init: (client) => {\n if (!('addEventListener' in window)) return\n\n window.addEventListener('click', (event) => {\n let targetText, targetSelector\n try {\n targetText = getNodeText(event.target)\n targetSelector = getNodeSelector(event.target)\n } catch (e) {\n targetText = '[hidden]'\n targetSelector = '[hidden]'\n client._logger.error('Cross domain error when tracking click event. See https://docs.bugsnag.com/platforms/browsers/faq/#3-cross-origin-script-errors')\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: '(boolean) interactionBreadcrumbsEnabled should be true or 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) {\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 (!document.querySelectorAll || !Array.prototype.indexOf) return parts.join('')\n try {\n if (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 (document.querySelectorAll(parts.join('')).length === 1) return parts.join('')\n // try prepending the parent node selector\n if (el.parentNode) return `${getNodeSelector(el.parentNode)} > ${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","module.exports = stringify\nstringify.default = stringify\nfunction stringify (obj) {\n decirc(obj, '', [], null)\n return JSON.stringify(obj)\n}\nfunction Circle (val, k, parent) {\n this.val = val\n this.k = k\n this.parent = parent\n this.count = 1\n}\nCircle.prototype.toJSON = function toJSON () {\n if (--this.count === 0) {\n this.parent[this.k] = this.val\n }\n return '[Circular]'\n}\nfunction decirc (val, k, stack, parent) {\n if (typeof val === 'object' && val !== null) {\n if (typeof val.toJSON === 'function') {\n if (val instanceof Circle) {\n val.count++\n return\n }\n if (val.toJSON.forceDecirc === undefined) {\n return\n }\n }\n for (var i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n parent[k] = new Circle(val, k, parent)\n return\n }\n }\n stack.push(val)\n for (var key in val) {\n if (Object.prototype.hasOwnProperty.call(val, key)) {\n decirc(val[key], key, stack, val)\n }\n }\n stack.pop()\n }\n}\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","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\n// force `fast-safe-stringify` to do its thing\n// https://github.com/davidmarkclements/fast-safe-stringify#tojson-support\nBugsnagBreadcrumb.prototype.toJSON.forceDecirc = true\n\nmodule.exports = BugsnagBreadcrumb\n","const { includes } = require('./es-utils')\n\nmodule.exports = value =>\n includes([ 'undefined', 'number' ], typeof value) &&\n parseInt('' + value, 10) === value &&\n value > 0\n","const { filter, reduce, keys, isArray } = require('./lib/es-utils')\nconst positiveIntIfDefined = require('./lib/positive-int-check')\n\nmodule.exports.schema = {\n apiKey: {\n defaultValue: () => null,\n message: '(string) apiKey is required',\n validate: value => typeof value === 'string' && value.length\n },\n appVersion: {\n defaultValue: () => null,\n message: '(string) appVersion should have a value if supplied',\n validate: value => value === null || (typeof value === 'string' && value.length)\n },\n autoNotify: {\n defaultValue: () => true,\n message: '(boolean) autoNotify should be true or false',\n validate: value => value === true || value === false\n },\n beforeSend: {\n defaultValue: () => [],\n message: '(array[Function]) beforeSend should only contain functions',\n validate: value => typeof value === 'function' || (isArray(value) && filter(value, f => typeof f === 'function').length === value.length)\n },\n endpoint: {\n defaultValue: () => 'https://notify.bugsnag.com',\n message: '(string) endpoint should be set',\n validate: () => true\n },\n sessionEndpoint: {\n defaultValue: () => 'https://sessions.bugsnag.com',\n message: '(string) sessionEndpoint should be set',\n validate: () => true\n },\n autoCaptureSessions: {\n defaultValue: () => false,\n message: '(boolean) autoCaptureSessions should be true/false',\n validate: val => val === true || val === false\n },\n notifyReleaseStages: {\n defaultValue: () => null,\n message: '(array[string]) notifyReleaseStages should only contain 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: '(string) releaseStage should be set',\n validate: value => typeof value === 'string' && value.length\n },\n maxBreadcrumbs: {\n defaultValue: () => 20,\n message: '(number) maxBreadcrumbs must be a number (≤40) if specified',\n validate: value => value === 0 || (positiveIntIfDefined(value) && (value === undefined || value <= 40))\n },\n autoBreadcrumbs: {\n defaultValue: () => true,\n message: '(boolean) autoBreadcrumbs should be true or 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: '(object) metaData should be an object',\n validate: (value) => typeof value === 'object'\n }\n}\n\nmodule.exports.mergeDefaults = (opts, schema) => {\n if (!opts || !schema) throw new Error('schema.mergeDefaults(opts, schema): opts and schema objects are required')\n return reduce(keys(schema), (accum, key) => {\n accum[key] = opts[key] !== undefined ? opts[key] : schema[key].defaultValue()\n return accum\n }, {})\n}\n\nmodule.exports.validate = (opts, schema) => {\n if (!opts || !schema) throw new Error('schema.mergeDefaults(opts, schema): opts and schema objects are required')\n const errors = reduce(keys(schema), (accum, key) => {\n if (schema[key].validate(opts[key])) return accum\n return accum.concat({ key, message: schema[key].message, value: opts[key] })\n }, [])\n return { valid: !errors.length, errors }\n}\n","module.exports = client =>\n client.app && typeof client.app.releaseStage === 'string'\n ? client.app.releaseStage\n : client.config.releaseStage\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","(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 tokens = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').split(/\\s+/).slice(1);\n var locationParts = this.extractLocation(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 tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionName = tokens.join('@') || undefined;\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","(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) {\n if (!curr['arguments']) {\n break;\n }\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('error-stack-parser')\nconst StackGenerator = require('stack-generator')\nconst hasStack = require('./lib/has-stack')\nconst { reduce, filter } = require('./lib/es-utils')\n\nclass BugsnagReport {\n constructor (errorClass, errorMessage, stacktrace = [], handledState = defaultHandledState()) {\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 }\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: 'browserjs'\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// force `fast-safe-stringify` to do its thing\n// https://github.com/davidmarkclements/fast-safe-stringify#tojson-support\nBugsnagReport.prototype.toJSON.forceDecirc = true\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 = (error, errorFramesToSkip = 0, generatedFramesToSkip = 0) => {\n if (hasStack(error)) return ErrorStackParser.parse(error).slice(errorFramesToSkip)\n // error wasn't provided or didn't have a stacktrace so try to walk the callstack\n return filter(StackGenerator.backtrace(), frame =>\n (frame.functionName || '').indexOf('StackGenerator$$') === -1\n ).slice(1 + generatedFramesToSkip)\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)\n } catch (e) {\n return new BugsnagReport(reportOrError.name, reportOrError.message, [])\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","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\n// force `fast-safe-stringify` to do its thing\n// https://github.com/davidmarkclements/fast-safe-stringify#tojson-support\nSession.prototype.toJSON.forceDecirc = true\n\nmodule.exports = Session\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","const config = require('./config')\nconst BugsnagReport = require('./report')\nconst BugsnagBreadcrumb = require('./breadcrumb')\nconst BugsnagSession = require('./session')\nconst { map, reduce, includes, isArray } = require('./lib/es-utils')\nconst inferReleaseStage = require('./lib/infer-release-stage')\nconst isError = require('iserror')\n\nconst noop = () => {}\n\nclass BugsnagClient {\n constructor (notifier, configSchema = config.schema, session = null) {\n if (!notifier) throw new Error('new BugsnagClient(notifier, configSchema) requires `notifier` argument')\n if (!notifier.name || !notifier.version || !notifier.url) {\n throw new Error('new BugsnagClient(notifier, configSchema) - `notifier` requires: `{ name, version, url }`')\n }\n\n // notifier id\n this.notifier = notifier\n\n // config\n this.configSchema = configSchema\n\n // configure() should be called before notify()\n this._configured = false\n\n // i/o\n this._transport = { name: 'NULL_TRANSPORT', sendSession: noop, sendReport: noop }\n this._logger = { debug: noop, info: noop, warn: noop, error: noop }\n\n // plugins\n this.plugins = []\n\n this.session = session\n this.beforeSession = []\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.BugsnagReport = BugsnagReport\n this.BugsnagBreadcrumb = BugsnagBreadcrumb\n this.BugsnagSession = BugsnagSession\n }\n\n configure (opts = {}) {\n this.config = config.mergeDefaults({ ...this.config, ...opts }, this.configSchema)\n const validity = config.validate(this.config, this.configSchema)\n if (!validity.valid === true) {\n const err = new Error('Bugsnag configuration error')\n err.errors = map(validity.errors, (err) => `${err.key} ${err.message} \\n ${err.value}`)\n throw err\n }\n if (typeof this.config.beforeSend === 'function') this.config.beforeSend = [ this.config.beforeSend ]\n if (this.config.appVersion !== null) this.app.version = this.config.appVersion\n if (this.config.metaData) this.metaData = this.config.metaData\n if (this.config.user) this.user = this.config.user\n this._configured = true\n this._logger.debug(`Loaded!`)\n return this\n }\n\n use (plugin) {\n this.plugins.push(plugin)\n return plugin.init(this)\n }\n\n transport (t) {\n this._transport = t\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('Bugsnag must be configured before calling leaveBreadcrumb()')\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 = {}) {\n if (!this._configured) throw new Error('Bugsnag must be configured before calling report()')\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 // if we have something falsey at this point, report usage error\n if (!err) {\n this._logger.warn(`Usage error. notify() called with no \"error\" parameter`)\n err = new Error('Bugsnag usage error. notify() called with no \"error\" parameter')\n }\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, 1)\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 false\n }\n\n const originalSeverity = report.severity\n\n const beforeSend = [].concat(opts.beforeSend).concat(this.config.beforeSend)\n const preventSend = reduce(beforeSend, (accum, fn) => {\n if (accum === true) return true\n if (typeof fn === 'function' && fn(report) === false) return true\n if (report.isIgnored()) return true\n return false\n }, false)\n\n if (preventSend) {\n this._logger.debug(`Report not sent due to beforeSend callback`)\n return false\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 stacktrace: report.stacktrace\n }, 'error')\n }\n\n if (originalSeverity !== report.severity) {\n report._handledState.severityReason = { type: 'userCallbackSetSeverity' }\n }\n\n this._transport.sendReport(this._logger, this.config, {\n apiKey: report.apiKey || this.config.apiKey,\n notifier: this.notifier,\n events: [ report ]\n })\n\n return true\n }\n}\n\nconst normaliseError = (error, opts, logger) => {\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 logger.warn(`Usage error. notify() called with (string, string) but expected (error, object)`)\n err = new Error('Bugsnag usage error. notify() called with (string, string) but expected (error, object)')\n _opts = { metaData: { notifier: { notifyArgs: [ error, opts ] } } }\n } else {\n err = new Error(String(error))\n errorFramesToSkip += 2\n }\n break\n case 'number':\n case 'boolean':\n err = new Error(String(error))\n break\n case 'function':\n logger.warn(`Usage error. notify() called with a function as \"error\" parameter`)\n err = new Error('Bugsnag usage error. notify() called with a function as \"error\" parameter')\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 += 2\n } else {\n logger.warn(`Usage error. notify() called with an unsupported object as \"error\" parameter. Supply an Error or { name, message } object.`)\n err = new Error('Bugsnag usage error. notify() called with an unsupported object as \"error\" parameter. Supply an Error or { name, message } object.')\n }\n break\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\nmodule.exports = BugsnagClient\n","const positiveIntIfDefined = require('../lib/positive-int-check')\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: '(number) maxEvents must be a positive integer ≤100',\n validate: val => positiveIntIfDefined(val) && val < 100\n }\n }\n}\n","module.exports = {\n releaseStage: {\n defaultValue: () => {\n if (/^localhost(:\\d+)?$/.test(window.location.host)) return 'development'\n return 'production'\n },\n message: '(string) releaseStage should be set',\n validate: value => typeof value === 'string' && value.length\n },\n collectUserIp: {\n defaultValue: () => true,\n message: '(boolean) collectUserIp should true/false',\n validate: value => value === true || value === false\n }\n}\n","const { map, reduce, filter } = require('../../base/lib/es-utils')\n\n/*\n * Leaves breadcrumbs when console log methods are called\n */\nmodule.exports = {\n init: (client) => {\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 = String(arg)\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 destroy: () => CONSOLE_LOG_METHODS.forEach(method => {\n if (typeof console[method]._restore === 'function') console[method]._restore()\n }),\n configSchema: {\n consoleBreadcrumbsEnabled: {\n defaultValue: () => undefined,\n validate: (value) => value === true || value === false || value === undefined,\n message: '(boolean) consoleBreadcrumbsEnabled should be true or false'\n }\n }\n}\n\nconst CONSOLE_LOG_METHODS = filter([ 'log', 'debug', 'info', 'warn', 'error' ], method =>\n typeof console !== 'undefined' && typeof console[method] === 'function'\n)\n","/*\n * Sets the default context to be the current URL\n */\nmodule.exports = {\n init: (client) => {\n client.config.beforeSend.unshift(report => {\n if (report.context) return\n report.context = window.location.pathname\n })\n }\n}\n","const { isoDate } = require('../../base/lib/es-utils')\n/*\n * Automatically detects browser device details\n */\nmodule.exports = {\n init: (client) => {\n client.config.beforeSend.unshift((report) => {\n report.device = {\n ...{\n time: isoDate(),\n locale: navigator.browserLanguage || navigator.systemLanguage || navigator.userLanguage || navigator.language,\n userAgent: navigator.userAgent\n },\n ...report.device\n }\n })\n\n client.beforeSession.push(session => { session.device = { userAgent: navigator.userAgent } })\n }\n}\n","const { reduce } = require('../../base/lib/es-utils')\n\nmodule.exports = {\n init: (client) => {\n let html = ''\n let DOMContentLoaded = false\n const getHtml = () => document.documentElement.outerHTML\n const originalLocation = window.location.href\n\n const addInlineContent = report => {\n const frame = report.stacktrace[0]\n if (!frame || !frame.file || !frame.lineNumber) return frame\n if (frame.file.replace(/#.*$/, '') !== originalLocation.replace(/#.*$/, '')) return frame\n if (!DOMContentLoaded || !html) html = getHtml()\n const htmlLines = [ '' ].concat(html.split('\\n'))\n const { script, start } = extractScriptContent(htmlLines, frame.lineNumber - 1)\n const code = reduce(script, (accum, line, i) => {\n if (Math.abs((start + i + 1) - frame.lineNumber) > 10) return accum\n accum[`${start + i + 1}`] = line\n return accum\n }, {})\n frame.code = code\n report.updateMetaData('script', { content: script.join('\\n') })\n }\n\n // get whatever HTML exists at this point in time\n html = getHtml()\n\n // then update it when the DOM content has loaded\n document.onreadystatechange = () => {\n // IE8 compatible alternative to document#DOMContentLoaded\n if (document.readyState === 'interactive') {\n html = getHtml()\n DOMContentLoaded = true\n }\n }\n\n client.config.beforeSend.unshift(addInlineContent)\n }\n}\n\nconst scriptStartRe = /^.*/\nconst scriptEndRe = /<\\/script>.*$/\nconst extractScriptContent = module.exports.extractScriptContent = (lines, startLine) => {\n // search down for \n let line = startLine\n while (line < lines.length && !scriptEndRe.test(lines[line])) line++\n\n // search up for