UNPKG

beaver-logger

Version:
2,317 lines (1,909 loc) 113 kB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define("beaver", [], factory); else if(typeof exports === 'object') exports["beaver"] = factory(); else root["beaver"] = factory(); })((typeof self !== 'undefined' ? self : this), function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } // CONCATENATED MODULE: ./node_modules/zalgo-promise/src/utils.js function utils_isPromise(item) { try { if (!item) { return false; } if (typeof Promise !== 'undefined' && item instanceof Promise) { return true; } if (typeof window !== 'undefined' && typeof window.Window === 'function' && item instanceof window.Window) { return false; } if (typeof window !== 'undefined' && typeof window.constructor === 'function' && item instanceof window.constructor) { return false; } var _toString = {}.toString; if (_toString) { var name = _toString.call(item); if (name === '[object Window]' || name === '[object global]' || name === '[object DOMWindow]') { return false; } } if (typeof item.then === 'function') { return true; } } catch (err) { return false; } return false; } // CONCATENATED MODULE: ./node_modules/zalgo-promise/src/exceptions.js var dispatchedErrors = []; var possiblyUnhandledPromiseHandlers = []; function dispatchPossiblyUnhandledError(err, promise) { if (dispatchedErrors.indexOf(err) !== -1) { return; } dispatchedErrors.push(err); setTimeout(function () { if (false) {} throw err; }, 1); for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) { // $FlowFixMe possiblyUnhandledPromiseHandlers[j](err, promise); } } function exceptions_onPossiblyUnhandledException(handler) { possiblyUnhandledPromiseHandlers.push(handler); return { cancel: function cancel() { possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1); } }; } // CONCATENATED MODULE: ./node_modules/zalgo-promise/src/flush.js var activeCount = 0; var flushPromise; function flushActive() { if (!activeCount && flushPromise) { var promise = flushPromise; flushPromise = null; promise.resolve(); } } function startActive() { activeCount += 1; } function endActive() { activeCount -= 1; flushActive(); } function awaitActive(Zalgo) { // eslint-disable-line no-undef var promise = flushPromise = flushPromise || new Zalgo(); flushActive(); return promise; } // CONCATENATED MODULE: ./node_modules/zalgo-promise/src/promise.js var promise_ZalgoPromise = /*#__PURE__*/ function () { function ZalgoPromise(handler) { var _this = this; this.resolved = void 0; this.rejected = void 0; this.errorHandled = void 0; this.value = void 0; this.error = void 0; this.handlers = void 0; this.dispatching = void 0; this.stack = void 0; this.resolved = false; this.rejected = false; this.errorHandled = false; this.handlers = []; if (handler) { var _result; var _error; var resolved = false; var rejected = false; var isAsync = false; startActive(); try { handler(function (res) { if (isAsync) { _this.resolve(res); } else { resolved = true; _result = res; } }, function (err) { if (isAsync) { _this.reject(err); } else { rejected = true; _error = err; } }); } catch (err) { endActive(); this.reject(err); return; } endActive(); isAsync = true; if (resolved) { // $FlowFixMe this.resolve(_result); } else if (rejected) { this.reject(_error); } } if (false) {} } var _proto = ZalgoPromise.prototype; _proto.resolve = function resolve(result) { if (this.resolved || this.rejected) { return this; } if (utils_isPromise(result)) { throw new Error('Can not resolve promise with another promise'); } this.resolved = true; this.value = result; this.dispatch(); return this; }; _proto.reject = function reject(error) { var _this2 = this; if (this.resolved || this.rejected) { return this; } if (utils_isPromise(error)) { throw new Error('Can not reject promise with another promise'); } if (!error) { // $FlowFixMe var _err = error && typeof error.toString === 'function' ? error.toString() : Object.prototype.toString.call(error); error = new Error("Expected reject to be called with Error, got " + _err); } this.rejected = true; this.error = error; if (!this.errorHandled) { setTimeout(function () { if (!_this2.errorHandled) { dispatchPossiblyUnhandledError(error, _this2); } }, 1); } this.dispatch(); return this; }; _proto.asyncReject = function asyncReject(error) { this.errorHandled = true; this.reject(error); return this; }; _proto.dispatch = function dispatch() { var dispatching = this.dispatching, resolved = this.resolved, rejected = this.rejected, handlers = this.handlers; if (dispatching) { return; } if (!resolved && !rejected) { return; } this.dispatching = true; startActive(); var chain = function chain(firstPromise, secondPromise) { return firstPromise.then(function (res) { secondPromise.resolve(res); }, function (err) { secondPromise.reject(err); }); }; for (var i = 0; i < handlers.length; i++) { var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise; var _result2 = void 0; if (resolved) { try { _result2 = onSuccess ? onSuccess(this.value) : this.value; } catch (err) { promise.reject(err); continue; } } else if (rejected) { if (!onError) { promise.reject(this.error); continue; } try { _result2 = onError(this.error); } catch (err) { promise.reject(err); continue; } } if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) { if (_result2.resolved) { promise.resolve(_result2.value); } else { promise.reject(_result2.error); } _result2.errorHandled = true; } else if (utils_isPromise(_result2)) { if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) { if (_result2.resolved) { promise.resolve(_result2.value); } else { promise.reject(_result2.error); } } else { // $FlowFixMe chain(_result2, promise); } } else { promise.resolve(_result2); } } handlers.length = 0; this.dispatching = false; endActive(); }; _proto.then = function then(onSuccess, onError) { if (onSuccess && typeof onSuccess !== 'function' && !onSuccess.call) { throw new Error('Promise.then expected a function for success handler'); } if (onError && typeof onError !== 'function' && !onError.call) { throw new Error('Promise.then expected a function for error handler'); } var promise = new ZalgoPromise(); this.handlers.push({ promise: promise, onSuccess: onSuccess, onError: onError }); this.errorHandled = true; this.dispatch(); return promise; }; _proto.catch = function _catch(onError) { return this.then(undefined, onError); }; _proto.finally = function _finally(onFinally) { if (onFinally && typeof onFinally !== 'function' && !onFinally.call) { throw new Error('Promise.finally expected a function'); } return this.then(function (result) { return ZalgoPromise.try(onFinally).then(function () { return result; }); }, function (err) { return ZalgoPromise.try(onFinally).then(function () { throw err; }); }); }; _proto.timeout = function timeout(time, err) { var _this3 = this; if (this.resolved || this.rejected) { return this; } var timeout = setTimeout(function () { if (_this3.resolved || _this3.rejected) { return; } _this3.reject(err || new Error("Promise timed out after " + time + "ms")); }, time); return this.then(function (result) { clearTimeout(timeout); return result; }); } // $FlowFixMe ; _proto.toPromise = function toPromise() { // $FlowFixMe if (typeof Promise === 'undefined') { throw new TypeError("Could not find Promise"); } // $FlowFixMe return Promise.resolve(this); // eslint-disable-line compat/compat }; ZalgoPromise.resolve = function resolve(value) { if (value instanceof ZalgoPromise) { return value; } if (utils_isPromise(value)) { // $FlowFixMe return new ZalgoPromise(function (resolve, reject) { return value.then(resolve, reject); }); } return new ZalgoPromise().resolve(value); }; ZalgoPromise.reject = function reject(error) { return new ZalgoPromise().reject(error); }; ZalgoPromise.asyncReject = function asyncReject(error) { return new ZalgoPromise().asyncReject(error); }; ZalgoPromise.all = function all(promises) { // eslint-disable-line no-undef var promise = new ZalgoPromise(); var count = promises.length; var results = []; if (!count) { promise.resolve(results); return promise; } var chain = function chain(i, firstPromise, secondPromise) { return firstPromise.then(function (res) { results[i] = res; count -= 1; if (count === 0) { promise.resolve(results); } }, function (err) { secondPromise.reject(err); }); }; for (var i = 0; i < promises.length; i++) { var prom = promises[i]; if (prom instanceof ZalgoPromise) { if (prom.resolved) { results[i] = prom.value; count -= 1; continue; } } else if (!utils_isPromise(prom)) { results[i] = prom; count -= 1; continue; } chain(i, ZalgoPromise.resolve(prom), promise); } if (count === 0) { promise.resolve(results); } return promise; }; ZalgoPromise.hash = function hash(promises) { // eslint-disable-line no-undef var result = {}; return ZalgoPromise.all(Object.keys(promises).map(function (key) { return ZalgoPromise.resolve(promises[key]).then(function (value) { result[key] = value; }); })).then(function () { return result; }); }; ZalgoPromise.map = function map(items, method) { // $FlowFixMe return ZalgoPromise.all(items.map(method)); }; ZalgoPromise.onPossiblyUnhandledException = function onPossiblyUnhandledException(handler) { return exceptions_onPossiblyUnhandledException(handler); }; ZalgoPromise.try = function _try(method, context, args) { if (method && typeof method !== 'function' && !method.call) { throw new Error('Promise.try expected a function'); } var result; startActive(); try { // $FlowFixMe result = method.apply(context, args || []); } catch (err) { endActive(); return ZalgoPromise.reject(err); } endActive(); return ZalgoPromise.resolve(result); }; ZalgoPromise.delay = function delay(_delay) { return new ZalgoPromise(function (resolve) { setTimeout(resolve, _delay); }); }; ZalgoPromise.isPromise = function isPromise(value) { if (value && value instanceof ZalgoPromise) { return true; } return utils_isPromise(value); }; ZalgoPromise.flush = function flush() { return awaitActive(ZalgoPromise); }; return ZalgoPromise; }(); // CONCATENATED MODULE: ./node_modules/zalgo-promise/src/index.js // CONCATENATED MODULE: ./node_modules/belter/src/device.js function getUserAgent() { return window.navigator.mockUserAgent || window.navigator.userAgent; } function isDevice(userAgent) { if (userAgent === void 0) { userAgent = getUserAgent(); } if (userAgent.match(/Android|webOS|iPhone|iPad|iPod|bada|Symbian|Palm|CriOS|BlackBerry|IEMobile|WindowsMobile|Opera Mini/i)) { return true; } return false; } function isWebView() { var userAgent = getUserAgent(); return /(iPhone|iPod|iPad|Macintosh).*AppleWebKit(?!.*Safari)/i.test(userAgent) || /\bwv\b/.test(userAgent) || /Android.*Version\/(\d)\.(\d)/i.test(userAgent); } function isStandAlone() { return window.navigator.standalone === true || window.matchMedia('(display-mode: standalone)').matches; } function isFacebookWebView(ua) { if (ua === void 0) { ua = getUserAgent(); } return ua.indexOf('FBAN') !== -1 || ua.indexOf('FBAV') !== -1; } function isFirefoxIOS(ua) { if (ua === void 0) { ua = getUserAgent(); } return /FxiOS/i.test(ua); } function isEdgeIOS(ua) { if (ua === void 0) { ua = getUserAgent(); } return /EdgiOS/i.test(ua); } function isOperaMini(ua) { if (ua === void 0) { ua = getUserAgent(); } return ua.indexOf('Opera Mini') > -1; } function isAndroid(ua) { if (ua === void 0) { ua = getUserAgent(); } return /Android/.test(ua); } function isIos(ua) { if (ua === void 0) { ua = getUserAgent(); } return /iPhone|iPod|iPad/.test(ua); } function isGoogleSearchApp(ua) { if (ua === void 0) { ua = getUserAgent(); } return /\bGSA\b/.test(ua); } function isQQBrowser(ua) { if (ua === void 0) { ua = getUserAgent(); } return /QQBrowser/.test(ua); } function isIosWebview(ua) { if (ua === void 0) { ua = getUserAgent(); } if (isIos(ua)) { if (isGoogleSearchApp(ua)) { return true; } return /.+AppleWebKit(?!.*Safari)/.test(ua); } return false; } function isAndroidWebview(ua) { if (ua === void 0) { ua = getUserAgent(); } if (isAndroid(ua)) { return /Version\/[\d.]+/.test(ua) && !isOperaMini(ua); } return false; } function device_isIE() { if (window.document.documentMode) { return true; } return Boolean(window.navigator && window.navigator.userAgent && /Edge|MSIE|rv:11/i.test(window.navigator.userAgent)); } function isIECompHeader() { var mHttp = window.document.querySelector('meta[http-equiv="X-UA-Compatible"]'); var mContent = window.document.querySelector('meta[content="IE=edge"]'); if (mHttp && mContent) { return true; } return false; } function isElectron() { if (typeof process !== 'undefined' && process.versions && process.versions.electron) { return true; } return false; } function isIEIntranet() { // This status check only works for older versions of IE with document.documentMode set if (window.document.documentMode) { try { var status = window.status; window.status = 'testIntranetMode'; if (window.status === 'testIntranetMode') { window.status = status; return true; } return false; } catch (err) { return false; } } return false; } function isMacOsCna() { var userAgent = getUserAgent(); return /Macintosh.*AppleWebKit(?!.*Safari)/i.test(userAgent); } function supportsPopups(ua) { if (ua === void 0) { ua = getUserAgent(); } return !(isIosWebview(ua) || isAndroidWebview(ua) || isOperaMini(ua) || isFirefoxIOS(ua) || isEdgeIOS(ua) || isFacebookWebView(ua) || isQQBrowser(ua) || isElectron() || isMacOsCna() || isStandAlone()); } function isChrome(ua) { if (ua === void 0) { ua = getUserAgent(); } return /Chrome|Chromium|CriOS/.test(ua); } function isSafari(ua) { if (ua === void 0) { ua = getUserAgent(); } return /Safari/.test(ua) && !isChrome(ua); } // CONCATENATED MODULE: ./node_modules/cross-domain-utils/src/util.js function isRegex(item) { return Object.prototype.toString.call(item) === '[object RegExp]'; } // eslint-disable-next-line no-unused-vars function noop() {// pass } // CONCATENATED MODULE: ./node_modules/cross-domain-utils/src/constants.js var PROTOCOL = { MOCK: 'mock:', FILE: 'file:', ABOUT: 'about:' }; var WILDCARD = '*'; var WINDOW_TYPE = { IFRAME: 'iframe', POPUP: 'popup' }; // CONCATENATED MODULE: ./node_modules/cross-domain-utils/src/utils.js /* eslint max-lines: 0 */ var IE_WIN_ACCESS_ERROR = 'Call was rejected by callee.\r\n'; function isFileProtocol(win) { if (win === void 0) { win = window; } return win.location.protocol === PROTOCOL.FILE; } function isAboutProtocol(win) { if (win === void 0) { win = window; } return win.location.protocol === PROTOCOL.ABOUT; } function getParent(win) { if (win === void 0) { win = window; } if (!win) { return; } try { if (win.parent && win.parent !== win) { return win.parent; } } catch (err) {// pass } } function getOpener(win) { if (win === void 0) { win = window; } if (!win) { return; } // Make sure we're not actually an iframe which has had window.open() called on us if (getParent(win)) { return; } try { return win.opener; } catch (err) {// pass } } function canReadFromWindow(win) { try { // $FlowFixMe noop(win && win.location && win.location.href); return true; } catch (err) {// pass } return false; } function getActualDomain(win) { if (win === void 0) { win = window; } var location = win.location; if (!location) { throw new Error("Can not read window location"); } var protocol = location.protocol; if (!protocol) { throw new Error("Can not read window protocol"); } if (protocol === PROTOCOL.FILE) { return PROTOCOL.FILE + "//"; } if (protocol === PROTOCOL.ABOUT) { var parent = getParent(win); if (parent && canReadFromWindow(parent)) { // $FlowFixMe return getActualDomain(parent); } return PROTOCOL.ABOUT + "//"; } var host = location.host; if (!host) { throw new Error("Can not read window host"); } return protocol + "//" + host; } function getDomain(win) { if (win === void 0) { win = window; } var domain = getActualDomain(win); if (domain && win.mockDomain && win.mockDomain.indexOf(PROTOCOL.MOCK) === 0) { return win.mockDomain; } return domain; } function isBlankDomain(win) { try { // $FlowFixMe if (!win.location.href) { return true; } if (win.location.href === 'about:blank') { return true; } } catch (err) {// pass } return false; } function isActuallySameDomain(win) { try { if (win === window) { return true; } } catch (err) {// pass } try { var desc = Object.getOwnPropertyDescriptor(win, 'location'); if (desc && desc.enumerable === false) { return false; } } catch (err) {// pass } try { // $FlowFixMe if (isAboutProtocol(win) && canReadFromWindow(win)) { return true; } } catch (err) {// pass } try { // $FlowFixMe if (getActualDomain(win) === getActualDomain(window)) { return true; } } catch (err) {// pass } return false; } function isSameDomain(win) { if (!isActuallySameDomain(win)) { return false; } try { if (win === window) { return true; } // $FlowFixMe if (isAboutProtocol(win) && canReadFromWindow(win)) { return true; } // $FlowFixMe if (getDomain(window) === getDomain(win)) { return true; } } catch (err) {// pass } return false; } function assertSameDomain(win) { if (!isSameDomain(win)) { throw new Error("Expected window to be same domain"); } // $FlowFixMe return win; } function getParents(win) { var result = []; try { while (win.parent !== win) { result.push(win.parent); win = win.parent; } } catch (err) {// pass } return result; } function isAncestorParent(parent, child) { if (!parent || !child) { return false; } var childParent = getParent(child); if (childParent) { return childParent === parent; } if (getParents(child).indexOf(parent) !== -1) { return true; } return false; } function getFrames(win) { var result = []; var frames; try { frames = win.frames; } catch (err) { frames = win; } var len; try { len = frames.length; } catch (err) {// pass } if (len === 0) { return result; } if (len) { for (var i = 0; i < len; i++) { var frame = void 0; try { frame = frames[i]; } catch (err) { continue; } result.push(frame); } return result; } for (var _i = 0; _i < 100; _i++) { var _frame = void 0; try { _frame = frames[_i]; } catch (err) { return result; } if (!_frame) { return result; } result.push(_frame); } return result; } function getAllChildFrames(win) { var result = []; for (var _i3 = 0, _getFrames2 = getFrames(win); _i3 < _getFrames2.length; _i3++) { var frame = _getFrames2[_i3]; result.push(frame); for (var _i5 = 0, _getAllChildFrames2 = getAllChildFrames(frame); _i5 < _getAllChildFrames2.length; _i5++) { var childFrame = _getAllChildFrames2[_i5]; result.push(childFrame); } } return result; } function getTop(win) { if (win === void 0) { win = window; } try { if (win.top) { return win.top; } } catch (err) {// pass } if (getParent(win) === win) { return win; } try { if (isAncestorParent(window, win) && window.top) { return window.top; } } catch (err) {// pass } try { if (isAncestorParent(win, window) && window.top) { return window.top; } } catch (err) {// pass } for (var _i7 = 0, _getAllChildFrames4 = getAllChildFrames(win); _i7 < _getAllChildFrames4.length; _i7++) { var frame = _getAllChildFrames4[_i7]; try { if (frame.top) { return frame.top; } } catch (err) {// pass } if (getParent(frame) === frame) { return frame; } } } function getNextOpener(win) { if (win === void 0) { win = window; } return getOpener(getTop(win) || win); } function getUltimateTop(win) { if (win === void 0) { win = window; } var opener = getNextOpener(win); if (opener) { return getUltimateTop(opener); } return top; } function getAllFramesInWindow(win) { var top = getTop(win); if (!top) { throw new Error("Can not determine top window"); } return [].concat(getAllChildFrames(top), [top]); } function getAllWindows(win) { if (win === void 0) { win = window; } var frames = getAllFramesInWindow(win); var opener = getNextOpener(win); if (opener) { return [].concat(getAllWindows(opener), frames); } else { return frames; } } function isTop(win) { return win === getTop(win); } function isFrameWindowClosed(frame) { if (!frame.contentWindow) { return true; } if (!frame.parentNode) { return true; } var doc = frame.ownerDocument; if (doc && doc.documentElement && !doc.documentElement.contains(frame)) { return true; } return false; } function safeIndexOf(collection, item) { for (var i = 0; i < collection.length; i++) { try { if (collection[i] === item) { return i; } } catch (err) {// pass } } return -1; } var iframeWindows = []; var iframeFrames = []; function isWindowClosed(win, allowMock) { if (allowMock === void 0) { allowMock = true; } try { if (win === window) { return false; } } catch (err) { return true; } try { if (!win) { return true; } } catch (err) { return true; } try { if (win.closed) { return true; } } catch (err) { // I love you so much IE if (err && err.message === IE_WIN_ACCESS_ERROR) { return false; } return true; } if (allowMock && isSameDomain(win)) { try { // $FlowFixMe if (win.mockclosed) { return true; } } catch (err) {// pass } } // Mobile safari try { if (!win.parent || !win.top) { return true; } } catch (err) {} // pass // Yes, this actually happens in IE. win === win errors out when the window // is from an iframe, and the iframe was removed from the page. try { noop(win === win); // eslint-disable-line no-self-compare } catch (err) { return true; } // IE orphaned frame var iframeIndex = safeIndexOf(iframeWindows, win); if (iframeIndex !== -1) { var frame = iframeFrames[iframeIndex]; if (frame && isFrameWindowClosed(frame)) { return true; } } return false; } function cleanIframes() { for (var i = 0; i < iframeWindows.length; i++) { var closed = false; try { closed = iframeWindows[i].closed; } catch (err) {// pass } if (closed) { iframeFrames.splice(i, 1); iframeWindows.splice(i, 1); } } } function linkFrameWindow(frame) { cleanIframes(); if (frame && frame.contentWindow) { try { iframeWindows.push(frame.contentWindow); iframeFrames.push(frame); } catch (err) {// pass } } } function utils_getUserAgent(win) { win = win || window; return win.navigator.mockUserAgent || win.navigator.userAgent; } function getFrameByName(win, name) { var winFrames = getFrames(win); for (var _i9 = 0; _i9 < winFrames.length; _i9++) { var childFrame = winFrames[_i9]; try { // $FlowFixMe if (isSameDomain(childFrame) && childFrame.name === name && winFrames.indexOf(childFrame) !== -1) { return childFrame; } } catch (err) {// pass } } try { // $FlowFixMe if (winFrames.indexOf(win.frames[name]) !== -1) { // $FlowFixMe return win.frames[name]; } } catch (err) {// pass } try { if (winFrames.indexOf(win[name]) !== -1) { return win[name]; } } catch (err) {// pass } } function findChildFrameByName(win, name) { var frame = getFrameByName(win, name); if (frame) { return frame; } for (var _i11 = 0, _getFrames4 = getFrames(win); _i11 < _getFrames4.length; _i11++) { var childFrame = _getFrames4[_i11]; var namedFrame = findChildFrameByName(childFrame, name); if (namedFrame) { return namedFrame; } } } function findFrameByName(win, name) { var frame; frame = getFrameByName(win, name); if (frame) { return frame; } var top = getTop(win) || win; return findChildFrameByName(top, name); } function isParent(win, frame) { var frameParent = getParent(frame); if (frameParent) { return frameParent === win; } for (var _i13 = 0, _getFrames6 = getFrames(win); _i13 < _getFrames6.length; _i13++) { var childFrame = _getFrames6[_i13]; if (childFrame === frame) { return true; } } return false; } function isOpener(parent, child) { return parent === getOpener(child); } function getAncestor(win) { if (win === void 0) { win = window; } win = win || window; var opener = getOpener(win); if (opener) { return opener; } var parent = getParent(win); if (parent) { return parent; } } function getAncestors(win) { var results = []; var ancestor = win; while (ancestor) { ancestor = getAncestor(ancestor); if (ancestor) { results.push(ancestor); } } return results; } function isAncestor(parent, child) { var actualParent = getAncestor(child); if (actualParent) { if (actualParent === parent) { return true; } return false; } if (child === parent) { return false; } if (getTop(child) === child) { return false; } for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) { var frame = _getFrames8[_i15]; if (frame === child) { return true; } } return false; } function isPopup(win) { if (win === void 0) { win = window; } return Boolean(getOpener(win)); } function isIframe(win) { if (win === void 0) { win = window; } return Boolean(getParent(win)); } function isFullpage(win) { if (win === void 0) { win = window; } return Boolean(!isIframe(win) && !isPopup(win)); } function anyMatch(collection1, collection2) { for (var _i17 = 0; _i17 < collection1.length; _i17++) { var item1 = collection1[_i17]; for (var _i19 = 0; _i19 < collection2.length; _i19++) { var item2 = collection2[_i19]; if (item1 === item2) { return true; } } } return false; } function getDistanceFromTop(win) { if (win === void 0) { win = window; } var distance = 0; var parent = win; while (parent) { parent = getParent(parent); if (parent) { distance += 1; } } return distance; } function getNthParent(win, n) { if (n === void 0) { n = 1; } var parent = win; for (var i = 0; i < n; i++) { if (!parent) { return; } parent = getParent(parent); } return parent; } function getNthParentFromTop(win, n) { if (n === void 0) { n = 1; } return getNthParent(win, getDistanceFromTop(win) - n); } function isSameTopWindow(win1, win2) { var top1 = getTop(win1) || win1; var top2 = getTop(win2) || win2; try { if (top1 && top2) { if (top1 === top2) { return true; } return false; } } catch (err) {// pass } var allFrames1 = getAllFramesInWindow(win1); var allFrames2 = getAllFramesInWindow(win2); if (anyMatch(allFrames1, allFrames2)) { return true; } var opener1 = getOpener(top1); var opener2 = getOpener(top2); if (opener1 && anyMatch(getAllFramesInWindow(opener1), allFrames2)) { return false; } if (opener2 && anyMatch(getAllFramesInWindow(opener2), allFrames1)) { return false; } return false; } function matchDomain(pattern, origin) { if (typeof pattern === 'string') { if (typeof origin === 'string') { return pattern === WILDCARD || origin === pattern; } if (isRegex(origin)) { return false; } if (Array.isArray(origin)) { return false; } } if (isRegex(pattern)) { if (isRegex(origin)) { return pattern.toString() === origin.toString(); } if (Array.isArray(origin)) { return false; } // $FlowFixMe return Boolean(origin.match(pattern)); } if (Array.isArray(pattern)) { if (Array.isArray(origin)) { return JSON.stringify(pattern) === JSON.stringify(origin); } if (isRegex(origin)) { return false; } return pattern.some(function (subpattern) { return matchDomain(subpattern, origin); }); } return false; } function stringifyDomainPattern(pattern) { if (Array.isArray(pattern)) { return "(" + pattern.join(' | ') + ")"; } else if (isRegex(pattern)) { return "RegExp(" + pattern.toString(); } else { return pattern.toString(); } } function getDomainFromUrl(url) { var domain; if (url.match(/^(https?|mock|file):\/\//)) { domain = url; } else { return getDomain(); } domain = domain.split('/').slice(0, 3).join('/'); return domain; } function onCloseWindow(win, callback, delay, maxtime) { if (delay === void 0) { delay = 1000; } if (maxtime === void 0) { maxtime = Infinity; } var timeout; var check = function check() { if (isWindowClosed(win)) { if (timeout) { clearTimeout(timeout); } return callback(); } if (maxtime <= 0) { clearTimeout(timeout); } else { maxtime -= delay; timeout = setTimeout(check, delay); } }; check(); return { cancel: function cancel() { if (timeout) { clearTimeout(timeout); } } }; } // eslint-disable-next-line complexity function isWindow(obj) { try { if (obj === window) { return true; } } catch (err) { if (err && err.message === IE_WIN_ACCESS_ERROR) { return true; } } try { if (Object.prototype.toString.call(obj) === '[object Window]') { return true; } } catch (err) { if (err && err.message === IE_WIN_ACCESS_ERROR) { return true; } } try { if (window.Window && obj instanceof window.Window) { return true; } } catch (err) { if (err && err.message === IE_WIN_ACCESS_ERROR) { return true; } } try { if (obj && obj.self === obj) { return true; } } catch (err) { if (err && err.message === IE_WIN_ACCESS_ERROR) { return true; } } try { if (obj && obj.parent === obj) { return true; } } catch (err) { if (err && err.message === IE_WIN_ACCESS_ERROR) { return true; } } try { if (obj && obj.top === obj) { return true; } } catch (err) { if (err && err.message === IE_WIN_ACCESS_ERROR) { return true; } } try { if (noop(obj === obj) === '__unlikely_value__') { // eslint-disable-line no-self-compare return false; } } catch (err) { return true; } try { if (obj && obj.__cross_domain_utils_window_check__ === '__unlikely_value__') { return false; } } catch (err) { return true; } return false; } function isBrowser() { return typeof window !== 'undefined' && typeof window.location !== 'undefined'; } function isCurrentDomain(domain) { if (!isBrowser()) { return false; } return getDomain() === domain; } function isMockDomain(domain) { return domain.indexOf(PROTOCOL.MOCK) === 0; } function normalizeMockUrl(url) { if (!isMockDomain(getDomainFromUrl(url))) { return url; } if (true) { throw new Error("Mock urls not supported out of test mode"); } return url.replace(/^mock:\/\/[^/]+/, getActualDomain(window)); } function closeWindow(win) { try { win.close(); } catch (err) {// pass } } function getFrameForWindow(win) { if (isSameDomain(win)) { return assertSameDomain(win).frameElement; } for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll('iframe'); _i21 < _document$querySelect2.length; _i21++) { var frame = _document$querySelect2[_i21]; if (frame && frame.contentWindow && frame.contentWindow === win) { return frame; } } } // CONCATENATED MODULE: ./node_modules/cross-domain-utils/src/types.js // export something to force webpack to see this as an ES module var TYPES = true; // CONCATENATED MODULE: ./node_modules/cross-domain-utils/src/index.js // CONCATENATED MODULE: ./node_modules/cross-domain-safe-weakmap/src/native.js function hasNativeWeakMap() { if (typeof WeakMap === 'undefined') { return false; } if (typeof Object.freeze === 'undefined') { return false; } try { var testWeakMap = new WeakMap(); var testKey = {}; var testValue = '__testvalue__'; Object.freeze(testKey); testWeakMap.set(testKey, testValue); if (testWeakMap.get(testKey) === testValue) { return true; } return false; } catch (err) { return false; } } // CONCATENATED MODULE: ./node_modules/cross-domain-safe-weakmap/src/util.js function util_safeIndexOf(collection, item) { for (var i = 0; i < collection.length; i++) { try { if (collection[i] === item) { return i; } } catch (err) {// pass } } return -1; } // eslint-disable-next-line no-unused-vars function util_noop() {// pass } // CONCATENATED MODULE: ./node_modules/cross-domain-safe-weakmap/src/weakmap.js var weakmap_CrossDomainSafeWeakMap = /*#__PURE__*/ function () { function CrossDomainSafeWeakMap() { this.name = void 0; this.weakmap = void 0; this.keys = void 0; this.values = void 0; // eslint-disable-next-line no-bitwise this.name = "__weakmap_" + (Math.random() * 1e9 >>> 0) + "__"; if (hasNativeWeakMap()) { try { this.weakmap = new WeakMap(); } catch (err) {// pass } } this.keys = []; this.values = []; } var _proto = CrossDomainSafeWeakMap.prototype; _proto._cleanupClosedWindows = function _cleanupClosedWindows() { var weakmap = this.weakmap; var keys = this.keys; for (var i = 0; i < keys.length; i++) { var value = keys[i]; if (isWindow(value) && isWindowClosed(value)) { if (weakmap) { try { weakmap.delete(value); } catch (err) {// pass } } keys.splice(i, 1); this.values.splice(i, 1); i -= 1; } } }; _proto.isSafeToReadWrite = function isSafeToReadWrite(key) { if (isWindow(key)) { return false; } try { util_noop(key && key.self); util_noop(key && key[this.name]); } catch (err) { return false; } return true; }; _proto.set = function set(key, value) { if (!key) { throw new Error("WeakMap expected key"); } var weakmap = this.weakmap; if (weakmap) { try { weakmap.set(key, value); } catch (err) { delete this.weakmap; } } if (this.isSafeToReadWrite(key)) { try { var name = this.name; var entry = key[name]; if (entry && entry[0] === key) { entry[1] = value; } else { Object.defineProperty(key, name, { value: [key, value], writable: true }); } return; } catch (err) {// pass } } this._cleanupClosedWindows(); var keys = this.keys; var values = this.values; var index = util_safeIndexOf(keys, key); if (index === -1) { keys.push(key); values.push(value); } else { values[index] = value; } }; _proto.get = function get(key) { if (!key) { throw new Error("WeakMap expected key"); } var weakmap = this.weakmap; if (weakmap) { try { if (weakmap.has(key)) { return weakmap.get(key); } } catch (err) { delete this.weakmap; } } if (this.isSafeToReadWrite(key)) { try { var entry = key[this.name]; if (entry && entry[0] === key) { return entry[1]; } return; } catch (err) {// pass } } this._cleanupClosedWindows(); var keys = this.keys; var index = util_safeIndexOf(keys, key); if (index === -1) { return; } return this.values[index]; }; _proto.delete = function _delete(key) { if (!key) { throw new Error("WeakMap expected key"); } var weakmap = this.weakmap; if (weakmap) { try { weakmap.delete(key); } catch (err) { delete this.weakmap; } } if (this.isSafeToReadWrite(key)) { try { var entry = key[this.name]; if (entry && entry[0] === key) { entry[0] = entry[1] = undefined; } } catch (err) {// pass } } this._cleanupClosedWindows(); var keys = this.keys; var index = util_safeIndexOf(keys, key); if (index !== -1) { keys.splice(index, 1); this.values.splice(index, 1); } }; _proto.has = function has(key) { if (!key) { throw new Error("WeakMap expected key"); } var weakmap = this.weakmap; if (weakmap) { try { if (weakmap.has(key)) { return true; } } catch (err) { delete this.weakmap; } } if (this.isSafeToReadWrite(key)) { try { var entry = key[this.name]; if (entry && entry[0] === key) { return true; } return false; } catch (err) {// pass } } this._cleanupClosedWindows(); var index = util_safeIndexOf(this.keys, key); return index !== -1; }; _proto.getOrSet = function getOrSet(key, getter) { if (this.has(key)) { // $FlowFixMe return this.get(key); } var value = getter(); this.set(key, value); return value; }; return CrossDomainSafeWeakMap; }(); // CONCATENATED MODULE: ./node_modules/cross-domain-safe-weakmap/src/index.js // CONCATENATED MODULE: ./node_modules/belter/src/util.js /* eslint max-lines: 0 */ function getFunctionName(fn) { return fn.name || fn.__name__ || fn.displayName || 'anonymous'; } function setFunctionName(fn, name) { try { delete fn.name; fn.name = name; } catch (err) {// pass } fn.__name__ = fn.displayName = name; return fn; } function base64encode(str) { if (typeof btoa === 'function') { return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (m, p1) { return String.fromCharCode(parseInt(p1, 16)); })); } if (typeof Buffer !== 'undefined') { return Buffer.from(str, 'utf8').toString('base64'); } throw new Error("Can not find window.btoa or Buffer"); } function base64decode(str) { if (typeof atob === 'function') { return decodeURIComponent(Array.prototype.map.call(atob(str), function (c) { // eslint-disable-next-line prefer-template return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); } if (typeof Buffer !== 'undefined') { return Buffer.from(str, 'base64').toString('utf8'); } throw new Error("Can not find window.atob or Buffer"); } function uniqueID() { var chars = '0123456789abcdef'; var randomID = 'xxxxxxxxxx'.replace(/./g, function () { return chars.charAt(Math.floor(Math.random() * chars.length)); }); var timeID = base64encode(new Date().toISOString().slice(11, 19).replace('T', '.')).replace(/[^a-zA-Z0-9]/g, '').toLowerCase(); return randomID + "_" + timeID; } function getGlobal() { if (typeof window !== 'undefined') { return window; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } throw new Error("No global found"); } var objectIDs; function getObjectID(obj) { objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap(); if (obj === null || obj === undefined || typeof obj !== 'object' && typeof obj !== 'function') { throw new Error("Invalid object"); } var uid = objectIDs.get(obj); if (!uid) { uid = typeof obj + ":" + uniqueID(); objectIDs.set(obj, uid); } return uid; } function serializeArgs(args) { try { return JSON.stringify(Array.prototype.slice.call(args), function (subkey, val) { if (typeof val === 'function') { return "memoize[" + getObjectID(val) + "]"; } return val; }); } catch (err) { throw new Error("Arguments not serializable -- can not be used to memoize"); } } function memoize(method, options) { var _this = this; if (options === void 0) { options = {}; } var cacheMap = new weakmap_CrossDomainSafeWeakMap(); // $FlowFixMe var memoizedFunction = function memoizedFunction() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var cache = cacheMap.getOrSet(options.thisNamespace ? this : method, function () { return {}; }); var key = serializeArgs(args); var cacheTime = options.time; if (cache[key] && cacheTime && Date.now() - cache[key].time < cacheTime) { delete cache[key]; } if (cache[key]) { return cache[key].value; } var time = Date.now(); var value = method.apply(this, arguments); cache[key] = { time: time, value: value }; return cache[key].value; }; memoizedFunction.reset = function () { cacheMap.delete(options.thisNamespace ? _this : method); }; return setFunctionName(memoizedFunction, getFunctionName(method) + "::memoized"); } function promiseIdentity(item) { // $FlowFixMe return promise_ZalgoPromise.resolve(item); } // eslint-disable-next-line flowtype/no-weak-types function memoizePromise(method) { var cache = {}; // eslint-disable-next-line flowtype/no-weak-types function memoizedPromiseFunction() { var _arguments = arguments, _this2 = this; for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } var key = serializeArgs(args); if (cache.hasOwnProperty(key)) { return cache[key]; } cache[key] = promise_ZalgoPromise.try(function () { return method.apply(_this2, _arguments); }).finally(function () { delete cache[key]; }); return cache[key]; } memoizedPromiseFunction.reset = function () { cache = {}; }; return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + "::promiseMemoized"); } // eslint-disable-next-line flowtype/no-weak-types function promisify(method, options) { if (options === void 0) { options = {}; } function promisifiedFunction() { return promise_ZalgoPromise.try(method, this, arguments); } if (options.name) { promisifiedFunction.displayName = options.name + ":promisified"; } return setFunctionName(promisifiedFunction, getFunctionName(method) + "::promisified"); } // eslint-disable-next-line flowtype/no-weak-types function inlineMemoize(method, logic, args) { if (args === void 0) { args = []; }