{"version":3,"file":"../etAnalyticsWebSDK.js","sources":["etAnalyticsWebSDK.js"],"sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i 3 && arguments[3] !== undefined ? arguments[3] : null;\n _classCallCheck(this, Action);\n // Payload\n this.aC = category;\n this.aA = action;\n this.aN = name;\n this.aV = value;\n\n // Metadata\n this.tL = new Date().toISOString();\n }\n\n /**\r\n * Validator for Actions\r\n * @returns {boolean} Validation result\r\n * @memberof Action\r\n */\n return _createClass(Action, [{\n key: \"isValid\",\n value: function isValid() {\n if (utils.nullOrEmpty(this.aC) || utils.nullOrEmpty(this.aA)) {\n utils.logConsoleError('Error while logging action: Parameters `category` and `action` must not be empty or filled with whitespaces');\n return false;\n }\n return true;\n }\n }]);\n}();\nvar _default = exports[\"default\"] = Action;\n\n},{\"./utils\":8}],2:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar utils = _interopRequireWildcard(require(\"./utils\"));\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return { \"default\": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n[\"default\"] = e, t && t.set(e, n), n; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\r\n * EtAnalytics PageView\r\n * Sent via _eta.push(['trackPageView'])\r\n */\nvar PageView = /*#__PURE__*/function () {\n /**\r\n * Creates an instance of PageView.\r\n * @memberof PageView\r\n */\n function PageView() {\n _classCallCheck(this, PageView);\n // Payload\n this.id = utils.createGuid(); // generates client-side Guid\n\n // Metadata\n this.tL = new Date().toISOString();\n }\n\n /**\r\n * Validator for PageViews\r\n * @returns {boolean} Validation result\r\n * @memberof PageView\r\n */\n return _createClass(PageView, [{\n key: \"isValid\",\n value: function isValid() {\n return true;\n }\n }]);\n}();\nvar _default = exports[\"default\"] = PageView;\n\n},{\"./utils\":8}],3:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _Action = _interopRequireDefault(require(\"./Action\"));\nvar _PageView = _interopRequireDefault(require(\"./PageView\"));\nvar utils = _interopRequireWildcard(require(\"./utils\"));\nrequire(\"whatwg-fetch\");\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return { \"default\": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n[\"default\"] = e, t && t.set(e, n), n; }\nfunction _interopRequireDefault(e) { return e && e.__esModule ? e : { \"default\": e }; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\r\n * EtAnalytics Tracker\r\n * Core tracking engine sending tracking requests to the server\r\n * @class EtAnalytics\r\n */\nvar EtAnalytics = /*#__PURE__*/function () {\n function EtAnalytics() {\n _classCallCheck(this, EtAnalytics);\n this.sdkVersion = \"2.0\";\n }\n\n /**\r\n * Sets the unique identifier of the application embedding EtAnalytics\r\n * @param {string} siteId GUID of the Site\r\n * @memberof EtAnalytics\r\n */\n return _createClass(EtAnalytics, [{\n key: \"setSiteId\",\n value: function setSiteId(siteId) {\n this.siteId = siteId;\n }\n\n /**\r\n * Sets the unique identifier of the User\r\n * @param {string} userId GUID of the User\r\n * @memberof EtAnalytics\r\n */\n }, {\n key: \"setUserId\",\n value: function setUserId(userId) {\n this.userId = userId;\n }\n\n /**\r\n * Sets the URL of the EtAnalytics Server\r\n * @param {string} serverUrl\r\n * @memberof EtAnalytics\r\n */\n }, {\n key: \"setServerUrl\",\n value: function setServerUrl(serverUrl) {\n this.serverUrl = serverUrl;\n }\n\n /**\r\n * Sets the version of the application embedding EtAnalytics\r\n * @param {string} siteVersion Versionnumber of the Site\r\n * @memberof EtAnalytics\r\n */\n }, {\n key: \"setSiteVersion\",\n value: function setSiteVersion(siteVersion) {\n this.siteVersion = siteVersion;\n }\n\n /**\r\n * Whether Cookies are disabled or not.\r\n * If this property is true, the Server will not send any Set-Cookie Headers and the Client will not store and append any VisitorId Cookie in upcoming calls.\r\n * @param {boolean} disableCookies\r\n * @memberof EtAnalytics\r\n */\n }, {\n key: \"disableCookies\",\n value: function disableCookies(_disableCookies) {\n this.disableCookies = _disableCookies;\n }\n\n /**\r\n * Determines the path of the current page (to be overridden by SDKs via _eta)\r\n * @memberof EtAnalytics\r\n */\n }, {\n key: \"getPath\",\n value: function getPath() {\n return null;\n }\n\n /**\r\n * Determines the title of the current page (to be overridden by SDKs via _eta)\r\n * @memberof EtAnalytics\r\n */\n }, {\n key: \"getTitle\",\n value: function getTitle() {\n return null;\n }\n }, {\n key: \"getLoadTime\",\n value: function getLoadTime() {\n return null;\n }\n }, {\n key: \"getLanguage\",\n value: function getLanguage() {\n return null;\n }\n }, {\n key: \"getReferrer\",\n value: function getReferrer() {\n return null;\n }\n\n /**\r\n * Tracks a custom EtAnalytics Action\r\n * @param {*} category\r\n * @param {*} action\r\n * @param {*} name optional\r\n * @param {number} [value=0] optional\r\n * @param {function} [callback=null] optinal callback function\r\n * @memberof EtAnalytics\r\n */\n }, {\n key: \"trackAction\",\n value: function trackAction(category, action, name, value) {\n var callback = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n // Create Action\n var actionObject = new _Action[\"default\"](category, action, name, value);\n // Validate Action\n if (!actionObject.isValid()) {\n return false;\n }\n // Send Action as Request\n this.sendRequest(actionObject, \"Action\", callback);\n }\n\n /**\r\n * Tracks an EtAnalytics PageView\r\n * @memberof EtAnalytics\r\n */\n }, {\n key: \"trackPageView\",\n value: function trackPageView() {\n // Create PageView\n var pageView = new _PageView[\"default\"]();\n // Validate PageView\n if (!pageView.isValid()) {\n return false;\n }\n // Persist PageView so that following Requests can be referenced to it\n this.pageView = pageView;\n // Send PageView as Request\n this.sendRequest(pageView, \"PageView\");\n }\n\n /**\r\n * Sends any tracking object as standarized tracking request\r\n * @param {*} request object to be sent\r\n * @param {string} type tracking object type and name of the server API endpoint\r\n * @param {function} callback optional\r\n * @memberof EtAnalytics\r\n */\n }, {\n key: \"sendRequest\",\n value: function sendRequest(request, type, callback) {\n // Add metadata information to the request\n request.sId = this.siteId;\n request.uId = this.userId;\n request.pvId = this.pageView.id;\n request.p = this.getPath();\n request.t = this.getTitle();\n request.lT = ~~this.getLoadTime();\n request.l = this.getLanguage();\n request.r = this.getReferrer();\n request.sdkV = this.sdkVersion;\n request.sV = this.siteVersion;\n request.dC = this.disableCookies;\n\n // Matomo suggests a little time offset when sending POST requests\n var that = this;\n setTimeout(function () {\n // Uses GitHub fetch polyfill\n window.fetch(that.serverUrl + \"track/\" + type, {\n method: 'POST',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n credentials: \"include\",\n // enable cookies\n body: JSON.stringify(request)\n }).then(function () {\n // Success handler\n if (callback) {\n callback({\n request: request,\n serverUrl: that.serverUrl,\n success: true\n });\n }\n }, function (error) {\n // Error handler\n utils.logConsoleError(error);\n callback({\n request: request,\n serverUrl: that.serverUrl,\n success: false\n });\n });\n }, 50);\n }\n }]);\n}();\nvar _default = exports[\"default\"] = EtAnalytics;\n\n},{\"./Action\":1,\"./PageView\":2,\"./utils\":8,\"whatwg-fetch\":7}],4:[function(require,module,exports){\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([bth[buf[i++]], bth[buf[i++]], \n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]]]).join('');\n}\n\nmodule.exports = bytesToUuid;\n\n},{}],5:[function(require,module,exports){\n// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n\n},{}],6:[function(require,module,exports){\nvar rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n\n},{\"./lib/bytesToUuid\":4,\"./lib/rng\":5}],7:[function(require,module,exports){\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.WHATWGFetch = {})));\n}(this, (function (exports) { 'use strict';\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n},{}],8:[function(require,module,exports){\n'use strict';\n\n/**\r\n * EtAnalytics Utility Collection\r\n */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.apply = apply;\nexports.applyMethodsInOrder = applyMethodsInOrder;\nexports.createGuid = createGuid;\nexports.logConsoleError = logConsoleError;\nexports.nullOrEmpty = nullOrEmpty;\nexports.trim = trim;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar uuidv4 = require('uuid/v4');\n\n/**\r\n * Create a new client-side GUID via uuid package\r\n * @export\r\n * @returns {string} generated GUID\r\n */\nfunction createGuid() {\n return uuidv4();\n}\n\n/**\r\n * Remove surrounding whitespace from a given string\r\n * @export\r\n * @param {string} string given string\r\n * @returns {string} trimmed string\r\n */\nfunction trim(string) {\n if (string && String(string) === string) {\n return string.replace(/^\\s+|\\s+$/g, '');\n }\n return string;\n}\n\n/**\r\n * Checks, if a given string is null or empty\r\n * \"Empty\" includes all-whitespace strings, too\r\n * @export\r\n * @param {string} string given string\r\n * @returns {boolean} true if given string null or empty\r\n */\nfunction nullOrEmpty(string) {\n return string && trim(String(string)).length === 0;\n}\n\n/**\r\n * Logs an console error message\r\n * @export\r\n * @param {string} message error message\r\n */\nfunction logConsoleError(message) {\n var consoleType = typeof console === \"undefined\" ? \"undefined\" : _typeof(console);\n if (consoleType !== 'undefined' && console && console.error) {\n console.error(message);\n }\n}\n\n/**\r\n * Applies all pre-defined method calls which were pushed via _eta.push()\r\n * Finally, proxy all following _eta.push() calls to native apply()\r\n * @export\r\n * @param {*[]} eta current eta array\r\n * @param {string[]} methodsToApply\r\n * @returns {function} \r\n */\nfunction applyMethodsInOrder(eta, methodsToApply) {\n var index, iterator;\n\n // Cycle through all pre-defined appliable methods\n for (index = 0; index < methodsToApply.length; index++) {\n var methodNameToApply = methodsToApply[index];\n\n // Execute every pushed calls of the current method\n for (iterator = 0; iterator < eta.length; iterator++) {\n if (eta[iterator] && eta[iterator][0]) {\n var methodName = eta[iterator][0];\n if (methodNameToApply === methodName) {\n // Delete first list item (methodName)\n eta[iterator].shift();\n // Apply all remaining list items (method parameters)\n window.etAnalytics[methodName].apply(window.etAnalytics, eta[iterator]);\n // Delete list item completely\n delete eta[iterator];\n }\n }\n }\n }\n // eta is empty now\n // Point to apply() from now on to directly apply methods when _eta.push() is called\n return {\n push: apply\n };\n}\n\n/**\r\n * Apply an _eta.push() call directly to the EtAnalytics Tracker\r\n * @export\r\n */\nfunction apply() {\n var parameters = arguments[0];\n var methodName = parameters.shift();\n window.etAnalytics[methodName].apply(window.etAnalytics, parameters);\n}\n\n},{\"uuid/v4\":6}],9:[function(require,module,exports){\n'use strict';\n\n/**\r\n * EintrachtTech.Analytics\r\n * Web SDK\r\n * \r\n * Imports the EtAnalytics Core for usage in web browsers.\r\n * Overrides nulled Core methods to make them work in browsers.\r\n */\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _Tracker = _interopRequireDefault(require(\"../Core/Tracker\"));\nvar utils = _interopRequireWildcard(require(\"../Core/utils\"));\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return { \"default\": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n[\"default\"] = e, t && t.set(e, n), n; }\nfunction _interopRequireDefault(e) { return e && e.__esModule ? e : { \"default\": e }; }\n// Init a new Tracker in window object\nwindow.etAnalytics = new _Tracker[\"default\"]();\n\n// Override getPath() method => browser location\nwindow.etAnalytics.getPath = function () {\n return document.location.href;\n};\n\n// Override getTitle() method => browser title\nwindow.etAnalytics.getTitle = function () {\n return document.title;\n};\n\n// Override getReferrer() method => browser referrer\nwindow.etAnalytics.getReferrer = function () {\n return document.referrer;\n};\nvar loadTime = performance.now();\nwindow.etAnalytics.getLoadTime = function () {\n return loadTime;\n};\nwindow.etAnalytics.getLanguage = function () {\n return navigator.language || navigator.userLanguage;\n};\n\n// Set all methods which should be accessible before the tracker starts\nvar applyFirst = ['setSiteId', 'setUserId', 'setServerUrl', 'setSiteVersion', 'disableCookies', 'trackPageView'];\n/* global _eta:writable */\n_eta = utils.applyMethodsInOrder(_eta, applyFirst);\n\n},{\"../Core/Tracker\":3,\"../Core/utils\":8}]},{},[9]);\n"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","Object","defineProperty","value","utils","__esModule","_typeof","default","_getRequireWildcardCache","has","get","__proto__","getOwnPropertyDescriptor","hasOwnProperty","set","WeakMap","Symbol","iterator","constructor","prototype","_defineProperties","enumerable","configurable","writable","toPrimitive","String","Number","TypeError","key","Action","category","action","name","arguments","undefined","this","aC","aA","aN","aV","tL","Date","toISOString","nullOrEmpty","logConsoleError","./utils","2","PageView","id","createGuid","3","_Action","_interopRequireDefault","_PageView","EtAnalytics","sdkVersion","siteId","userId","serverUrl","siteVersion","_disableCookies","disableCookies","callback","actionObject","isValid","sendRequest","pageView","request","type","sId","uId","pvId","getPath","getTitle","lT","getLoadTime","l","getLanguage","getReferrer","sdkV","sV","dC","that","setTimeout","window","fetch","method","headers","Accept","Content-Type","credentials","body","JSON","stringify","then","success","error","./Action","./PageView","whatwg-fetch","4","byteToHex","toString","substr","buf","offset","bth","join","5","rnds8","rnds","getRandomValues","crypto","bind","msCrypto","Uint8Array","Array","Math","random","6","rng","bytesToUuid","options","ii","./lib/bytesToUuid","./lib/rng","7","global","factory","viewClasses","isArrayBufferView","support","self","Blob","normalizeName","test","toLowerCase","normalizeValue","iteratorFor","items","next","shift","done","Headers","map","forEach","append","isArray","header","getOwnPropertyNames","consumed","bodyUsed","Promise","reject","fileReaderReady","reader","resolve","onload","result","onerror","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","view","slice","byteLength","buffer","Body","_initBody","obj","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","ArrayBuffer","rejected","arrayBuffer","text","readAsText","chars","fromCharCode","formData","decode","json","parse","isView","indexOf","oldValue","thisArg","keys","push","values","entries","methods","Request","input","upcased","url","mode","signal","toUpperCase","referrer","form","trim","split","bytes","replace","decodeURIComponent","Response","bodyInit","status","ok","statusText","clone","response","redirectStatuses","redirect","RangeError","location","DOMException","err","message","stack","create","init","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","open","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","define","amd","WHATWGFetch","8","apply","applyMethodsInOrder","eta","methodsToApply","index","methodName","methodNameToApply","etAnalytics","uuidv4","console","string","parameters","uuid/v4","9","_Tracker","document","href","title","loadTime","performance","now","navigator","language","userLanguage","_eta","../Core/Tracker","../Core/utils"],"mappings":"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"}