zar 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/zar.es.js +12 -3
- package/dist/zar.es.js.map +1 -1
- package/dist/zar.iife.js +2 -2
- package/dist/zar.iife.js.map +1 -1
- package/dist/zar.umd.js +2 -2
- package/dist/zar.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/zar.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zar.es.js","sources":["../node_modules/dlv/dist/dlv.es.js","../node_modules/@analytics/type-utils/dist/analytics-util-types.module.js","../node_modules/analytics-utils/dist/analytics-utils.module.js","../node_modules/@analytics/global-storage-utils/dist/analytics-util-global-storage.module.js","../node_modules/@analytics/core/dist/client/analytics-core.module.js","../node_modules/@analytics/cookie-utils/dist/analytics-util-cookie.module.js","../node_modules/@analytics/localstorage-utils/dist/analytics-util-localstorage.module.js","../node_modules/@analytics/session-storage-utils/dist/analytics-util-session-storage.module.js","../node_modules/@analytics/storage-utils/dist/analytics-util-storage.module.js","../node_modules/analytics/lib/analytics.browser.es.js","../src/facebook.js","../src/googleAnalytics4.js","../src/utils.js","../src/zar.js"],"sourcesContent":["export default function(t,e,l,n,r){for(e=e.split?e.split(\".\"):e,n=0;n<e.length;n++)t=t?t[e[n]]:r;return t===r?l:t}\n//# sourceMappingURL=dlv.es.js.map\n","var n=\"function\",t=\"string\",e=\"undefined\",r=\"boolean\",o=\"object\",u=\"array\",i=\"number\",c=\"symbol\",f=\"null\",a=\"error\",s=\"typeError\",l=\"syntaxError\",d=\"asyncFunction\",p=\"generatorFunction\",y=\"asyncGeneratorFunction\",b=function(){},g=\"any\",m=\"*\",v=\"none\",h=\"hidden\",j=\"__\",O=\"form\",S=\"input\",w=\"button\",A=\"select\",E=\"change\",N=\"submit\",D=/^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z)$/,z=/^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Z=/^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/,F=\"undefined\"!=typeof process?process:{},P=F.env&&F.env.NODE_ENV||\"\",x=\"production\"===P,C=\"staging\"===P,L=\"development\"===P,$=\"undefined\"!=typeof window,T=$&&\"localhost\"===window.location.hostname,_=null!=F.versions&&null!=F.versions.node,k=\"undefined\"!=typeof Deno&&void 0!==Deno.core,B=\"object\"==typeof self&&self.constructor&&\"DedicatedWorkerGlobalScope\"===self.constructor.name,G=$&&\"nodejs\"===window.name||\"undefined\"!=typeof navigator&&(navigator.userAgent.includes(\"Node.js\")||navigator.userAgent.includes(\"jsdom\"));function M(n,t){return t.charAt(0)[n]()+t.slice(1)}var U=M.bind(null,\"toUpperCase\"),H=M.bind(null,\"toLowerCase\");function J(n){return Y(n)?U(\"null\"):\"object\"==typeof n?yn(n):Object.prototype.toString.call(n).slice(8,-1)}function R(n,t){void 0===t&&(t=!0);var e=J(n);return t?H(e):e}function V(n,t){return typeof t===n}var W=V.bind(null,\"function\"),q=V.bind(null,\"string\"),I=V.bind(null,\"undefined\");function K(n){return!I(n)}var Q=V.bind(null,\"boolean\"),X=V.bind(null,\"symbol\");function Y(n){return null===n}function nn(n){return\"number\"===R(n)&&!isNaN(n)}function tn(n){return!isNaN(parseFloat(n))}function en(n){return!!W(n)&&/^class /.test(Function.prototype.toString.call(n))}function rn(n){return\"array\"===R(n)}function on(n){if(!un(n))return!1;for(var t=n;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(n)===t}function un(n){return n&&(\"object\"==typeof n||null!==n)}function cn(n){if(!q(n)||!Z.test(n))return!1;try{JSON.parse(n)}catch(n){return!1}return!0}function fn(n){if(Y(n))return!0;switch(typeof n){case\"string\":case\"number\":case\"symbol\":case\"undefined\":case\"boolean\":return!0;default:return!1}}function an(n,t){return on(n)&&W(n[t])}function sn(n){return!!n&&!!(!I(Promise)&&n instanceof Promise||n.then&&W(n.then))}function ln(n){return un(n)&&W(n.throw)&&W(n.return)&&W(n.next)}function dn(n){return\"generatorFunction\"===R(n)}function pn(n){return\"asyncFunction\"===R(n)}function yn(n){return W(n.constructor)?n.constructor.name:null}function bn(n){return n instanceof Set}function gn(n){return n instanceof Map}function mn(n){return n instanceof RegExp}function vn(n){return!(!n.constructor||!W(n.constructor.isBuffer))&&n.constructor.isBuffer(n)}function hn(n){return n instanceof Error||q(n.message)&&n.constructor&&nn(n.constructor.stackTraceLimit)}function jn(n){return un(n)&&q(n.message)&&q(n.name)}function On(n,t){if(\"object\"!=typeof t||Y(t))return!1;if(t instanceof n)return!0;var e=R(new n(\"\"));if(hn(t))for(;t;){if(R(t)===e)return!0;t=Object.getPrototypeOf(t)}return!1}var Sn=On.bind(null,TypeError),wn=On.bind(null,SyntaxError);function An(n){if(!W(n))return!1;var t=/{(\\r|\\n|\\s)*}/gm,e=b+\"\";return e===(n.toString().match(t)||[\"\"])[0].replace(t,e)}function En(n){try{if(nn(n.length)&&W(n.callee))return!0}catch(n){if(-1!==n.message.indexOf(\"callee\"))return!0}return!1}function Nn(n){return!(q(n)&&\"false\"===n.toLowerCase()||!n)}function Dn(n){return!n}function zn(n){return!0===n}function Zn(n){return!1===n}function Fn(n){return!(n.length>320)&&z.test(n)}function Pn(n){return n instanceof Date||W(n.toDateString)&&W(n.getDate)&&W(n.setDate)}function xn(n){return D.test(n)}function Cn(n){return!(!Y(n)&&(rn(n)?n.length:bn(n)||gn(n)?n.size:on(n)&&Object.keys(n).length))}function Ln(n){return NodeList.prototype.isPrototypeOf(n)}function $n(n,t){var e=n instanceof Element||n instanceof HTMLDocument;return e&&t?Tn(n,t):e}function Tn(n,t){return void 0===t&&(t=\"\"),n&&n.nodeName===t.toUpperCase()}function _n(n){var t=[].slice.call(arguments,1);return function(){return n.apply(void 0,[].slice.call(arguments).concat(t))}}var kn=_n($n,\"form\"),Bn=_n($n,\"button\"),Gn=_n($n,\"input\"),Mn=_n($n,\"select\");function Un(n,t){if(!n||\"hidden\"===getComputedStyle(n).visibility)return!0;for(;n;){if(null!=t&&n===t)return!1;if(\"none\"===getComputedStyle(n).display)return!0;n=n.parentElement}return!1}function Hn(n){return n?rn(n)?n:[n]:[]}export{m as ALL,g as ANY,u as ARRAY,d as ASYNC_FUNCTION,y as ASYNC_GENERATOR_FUNCTION,r as BOOLEAN,w as BUTTON,E as CHANGE,P as ENV,a as ERROR,O as FORM,n as FUNCTION,p as GENERATOR_FUNCTION,h as HIDDEN,S as INPUT,v as NONE,f as NULL,i as NUMBER,o as OBJECT,j as PREFIX,z as REGEX_EMAIL,D as REGEX_ISO,Z as REGEX_JSON,A as SELECT,t as STRING,N as SUBMIT,c as SYMBOL,l as SYNTAX_ERROR,s as TYPE_ERROR,e as UNDEFINED,yn as ctorName,Hn as ensureArray,R as getType,J as getTypeName,En as isArguments,rn as isArray,pn as isAsyncFunction,Q as isBoolean,$ as isBrowser,vn as isBuffer,Bn as isButton,en as isClass,Pn as isDate,K as isDefined,k as isDeno,L as isDev,$n as isElement,Fn as isEmail,Cn as isEmpty,hn as isError,jn as isErrorLike,Zn as isFalse,Dn as isFalsy,kn as isForm,W as isFunction,ln as isGenerator,dn as isGeneratorFunction,Un as isHidden,Gn as isInput,xn as isIsoDate,G as isJsDom,cn as isJson,T as isLocalHost,gn as isMap,an as isMethod,An as isNoOp,_ as isNode,Ln as isNodeList,Tn as isNodeType,Y as isNull,nn as isNumber,tn as isNumberLike,on as isObject,un as isObjectLike,fn as isPrimitive,x as isProd,sn as isPromise,mn as isRegex,Mn as isSelect,bn as isSet,C as isStaging,q as isString,X as isSymbol,wn as isSyntaxError,zn as isTrue,Nn as isTruthy,Sn as isTypeError,I as isUndefined,B as isWebWorker,b as noOp};\n//# sourceMappingURL=analytics-util-types.module.js.map\n","export{default as dotProp}from\"dlv\";import{isBrowser as e,isString as r,isRegex as t}from\"@analytics/type-utils\";function n(e){try{return decodeURIComponent(e.replace(/\\+/g,\" \"))}catch(e){return null}}function o(){if(e){var r=navigator,t=r.languages;return r.userLanguage||(t&&t.length?t[0]:r.language)}}function a(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(e){}}function i(r){if(!e)return!1;var t=r||document.referrer;if(t){var n=window.document.location.port,o=t.split(\"/\")[2];return n&&(o=o.replace(\":\"+n,\"\")),o!==window.location.hostname}return!1}function u(n){if(!e)return!0;var o=document.getElementsByTagName(\"script\");return!!Object.keys(o).filter(function(e){var a=o[e].src;return r(n)?-1!==a.indexOf(n):!!t(n)&&a.match(n)}).length}function c(e,r){var t=(e.split(\"?\")||[,])[1];if(!t||-1===t.indexOf(r))return e;var n=new RegExp(\"(\\\\&|\\\\?)\"+r+'([_A-Za-z0-9\"+=.\\\\/\\\\-@%]+)',\"g\"),o=(\"?\"+t).replace(n,\"\").replace(/^&/,\"?\");return e.replace(\"?\"+t,o)}function l(e,r){return n((RegExp(e+\"=(.+?)(&|$)\").exec(r)||[,\"\"])[1])}function s(r){return function(e){for(var r,t=Object.create(null),o=/([^&=]+)=?([^&]*)/g;r=o.exec(e);){var a=n(r[1]),i=n(r[2]);\"[]\"===a.substring(a.length-2)?(t[a=a.substring(0,a.length-2)]||(t[a]=[])).push(i):t[a]=\"\"===i||i}for(var u in t){var c=u.split(\"[\");c.length>1&&(m(t,c.map(function(e){return e.replace(/[?[\\]\\\\ ]/g,\"\")}),t[u]),delete t[u])}return t}(function(r){if(r){var t=r.match(/\\?(.*)/);return t&&t[1]?t[1].split(\"#\")[0]:\"\"}return e&&window.location.search.substring(1)}(r))}function m(e,r,t){for(var n=r.length-1,o=0;o<n;++o){var a=r[o];if(\"__proto__\"===a||\"constructor\"===a)break;a in e||(e[a]={}),e=e[a]}e[r[n]]=t}function f(r,t){return e?new Promise(function(e,n){if(window.history&&window.history.replaceState){var o=window.location.href,a=c(o,r);o!==a&&history.replaceState({},\"\",a)}return t&&t(),e()}):Promise.resolve()}function g(r){if(!e)return null;var t=document.createElement(\"a\");return t.setAttribute(\"href\",r),t.hostname}function p(e){return(g(e)||\"\").split(\".\").slice(-2).join(\".\")}function x(e){var r=e.split(\".\");return r.length>1?r.slice(0,-1).join(\".\"):e}var d={trimTld:x,getDomainBase:p,getDomainHost:g};function v(r,t){if(!e)return!1;var n={source:\"(direct)\",medium:\"(none)\",campaign:\"(not set)\"};r&&i(r)&&(n.referrer=r);var o=function(r){if(!r||!e)return!1;var t=p(r),n=document.createElement(\"a\");if(n.href=r,n.hostname.indexOf(\"google\")>-1&&(t=\"google\"),w[t]){var o=w[t],a=new RegExp((\"string\"==typeof o?o:o.p)+\"=.*?([^&#]*|$)\",\"gi\"),u=n.search.match(a);return{source:o.n||x(t),medium:\"organic\",term:(u?u[0].split(\"=\")[1]:\"\")||\"(not provided)\"}}var c=i(r)?\"referral\":\"internal\";return{source:n.hostname,medium:c}}(r);o&&Object.keys(o).length&&(n=Object.assign({},n,o));var a=s(t),u=Object.keys(a);if(!u.length)return n;var c=u.reduce(function(e,r){return r.match(/^utm_/)&&(e[\"\"+r.replace(/^utm_/,\"\")]=a[r]),r.match(/^(d|g)clid/)&&(e.source=\"google\",e.medium=a.gclid?\"cpc\":\"cpm\",e[r]=a[r]),e},{});return Object.assign({},n,c)}var h=\"q\",w={\"daum.net\":h,\"eniro.se\":\"search_word\",\"naver.com\":\"query\",\"yahoo.com\":\"p\",\"msn.com\":h,\"aol.com\":h,\"ask.com\":h,\"baidu.com\":\"wd\",\"yandex.com\":\"text\",\"rambler.ru\":\"words\",google:h,\"bing.com\":{p:h,n:\"live\"}};function y(){for(var e=\"\",r=0,t=4294967295*Math.random()|0;r++<36;){var n=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\"[r-1],o=15&t;e+=\"-\"==n||\"4\"==n?n:(\"x\"==n?o:3&o|8).toString(16),t=r%8==0?4294967295*Math.random()|0:t>>4}return e}function b(e,r){var t,n,o,a=null,i=0,u=function(){i=new Date,a=null,o=e.apply(t,n)};return function(){var c=new Date;i||(i=c);var l=r-(c-i);return t=this,n=arguments,l<=0?(clearTimeout(a),a=null,i=c,o=e.apply(t,n)):a||(a=setTimeout(u,l)),o}}export{n as decodeUri,o as getBrowserLocale,a as getTimeZone,i as isExternalReferrer,u as isScriptLoaded,c as paramsClean,l as paramsGet,s as paramsParse,f as paramsRemove,v as parseReferrer,b as throttle,d as url,y as uuid};\n//# sourceMappingURL=analytics-utils.module.js.map\n","import{PREFIX as t,OBJECT as e,UNDEFINED as r}from\"@analytics/type-utils\";var l=\"global\",o=t+\"global\"+t,n=typeof self===e&&self.self===self&&self||typeof global===e&&global.global===global&&global||void 0;function a(t){return n[o][t]}function f(t,e){return n[o][t]=e}function i(t){delete n[o][t]}function u(t,e,r){var l;try{if(b(t)){var o=window[t];l=o[e].bind(o)}}catch(t){}return l||r}n[o]||(n[o]={});var c={};function b(t){if(typeof c[t]!==r)return c[t];try{var e=window[t];e.setItem(r,r),e.removeItem(r)}catch(e){return c[t]=!1}return c[t]=!0}export{l as GLOBAL,o as KEY,a as get,n as globalContext,b as hasSupport,i as remove,f as set,u as wrap};\n//# sourceMappingURL=analytics-util-global-storage.module.js.map\n","import{uuid as e,getBrowserLocale as n,getTimeZone as t,paramsParse as r,dotProp as i}from\"analytics-utils\";import{get as a,remove as o,set as u,globalContext as c,KEY as s}from\"@analytics/global-storage-utils\";import{isObject as l,PREFIX as f,isFunction as d,isBoolean as p,isString as m,isBrowser as g,isArray as h}from\"@analytics/type-utils\";function v(){return v=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},v.apply(this,arguments)}var y=\"function\",b=\"undefined\",I=\"@@redux/\"+Math.random().toString(36),w=/* #__PURE__ */function(){return typeof Symbol===y&&Symbol.observable||\"@@observable\"}(),E=\" != \"+y;function P(e,n,t){var r;if(typeof n===y&&typeof t===b&&(t=n,n=void 0),typeof t!==b){if(typeof t!==y)throw new Error(\"enhancer\"+E);return t(P)(e,n)}if(typeof e!==y)throw new Error(\"reducer\"+E);var i=e,a=n,o=[],u=o,c=!1;function s(){u===o&&(u=o.slice())}function f(){return a}function d(e){if(typeof e!==y)throw new Error(\"Listener\"+E);var n=!0;return s(),u.push(e),function(){if(n){n=!1,s();var t=u.indexOf(e);u.splice(t,1)}}}function p(e){if(!l(e))throw new Error(\"Act != obj\");if(typeof e.type===b)throw new Error(\"ActType \"+b);if(c)throw new Error(\"Dispatch in reducer\");try{c=!0,a=i(a,e)}finally{c=!1}for(var n=o=u,t=0;t<n.length;t++)(0,n[t])();return e}return p({type:\"@@redux/INIT\"}),(r={dispatch:p,subscribe:d,getState:f,replaceReducer:function(e){if(typeof e!==y)throw new Error(\"next reducer\"+E);i=e,p({type:\"@@redux/INIT\"})}})[w]=function(){var e,n=d;return(e={subscribe:function(e){if(\"object\"!=typeof e)throw new TypeError(\"Observer != obj\");function t(){e.next&&e.next(f())}return t(),{unsubscribe:n(t)}}})[w]=function(){return this},e},r}function S(e,n){var t=n&&n.type;return\"action \"+(t&&t.toString()||\"?\")+\"reducer \"+e+\" returns \"+b}function N(){var e=[].slice.call(arguments);return 0===e.length?function(e){return e}:1===e.length?e[0]:e.reduce(function(e,n){return function(){return e(n.apply(void 0,[].slice.call(arguments)))}})}function O(){var e=arguments;return function(n){return function(t,r,i){var a,o=n(t,r,i),u=o.dispatch,c={getState:o.getState,dispatch:function(e){return u(e)}};return a=[].slice.call(e).map(function(e){return e(c)}),v({},o,{dispatch:u=N.apply(void 0,a)(o.dispatch)})}}}var A=f+\"anon_id\",_=f+\"user_id\",x=f+\"user_traits\",k={__proto__:null,ANON_ID:A,USER_ID:_,USER_TRAITS:x},j=\"userId\",T=\"anonymousId\",z=[\"bootstrap\",\"params\",\"campaign\",\"initializeStart\",\"initialize\",\"initializeEnd\",\"ready\",\"resetStart\",\"reset\",\"resetEnd\",\"pageStart\",\"page\",\"pageEnd\",\"pageAborted\",\"trackStart\",\"track\",\"trackEnd\",\"trackAborted\",\"identifyStart\",\"identify\",\"identifyEnd\",\"identifyAborted\",\"userIdChanged\",\"registerPlugins\",\"enablePlugin\",\"disablePlugin\",\"online\",\"offline\",\"setItemStart\",\"setItem\",\"setItemEnd\",\"setItemAborted\",\"removeItemStart\",\"removeItem\",\"removeItemEnd\",\"removeItemAborted\"],M=[\"name\",\"EVENTS\",\"config\",\"loaded\"],q=z.reduce(function(e,n){return e[n]=n,e},{registerPluginType:function(e){return\"registerPlugin:\"+e},pluginReadyType:function(e){return\"ready:\"+e}}),U=/^utm_/,V=/^an_prop_/,L=/^an_trait_/;function C(e){var n=e.storage.setItem;return function(t){return function(r){return function(i){if(i.type===q.bootstrap){var a=i.params,o=i.user,u=i.persistedUser,c=i.initialUser,s=u.userId===o.userId;u.anonymousId!==o.anonymousId&&n(A,o.anonymousId),s||n(_,o.userId),c.traits&&n(x,v({},s&&u.traits?u.traits:{},c.traits));var l=Object.keys(i.params);if(l.length){var f=a.an_uid,d=a.an_event,p=l.reduce(function(e,n){if(n.match(U)||n.match(/^(d|g)clid/)){var t=n.replace(U,\"\");e.campaign[\"campaign\"===t?\"name\":t]=a[n]}return n.match(V)&&(e.props[n.replace(V,\"\")]=a[n]),n.match(L)&&(e.traits[n.replace(L,\"\")]=a[n]),e},{campaign:{},props:{},traits:{}});t.dispatch(v({type:q.params,raw:a},p,f?{userId:f}:{})),f&&setTimeout(function(){return e.identify(f,p.traits)},0),d&&setTimeout(function(){return e.track(d,p.props)},0),Object.keys(p.campaign).length&&t.dispatch({type:q.campaign,campaign:p.campaign})}}return r(i)}}}}function R(e){return function(n,t){if(void 0===n&&(n={}),void 0===t&&(t={}),t.type===q.setItemEnd){if(t.key===A)return v({},n,{anonymousId:t.value});if(t.key===_)return v({},n,{userId:t.value})}switch(t.type){case q.identify:return Object.assign({},n,{userId:t.userId,traits:v({},n.traits,t.traits)});case q.reset:return[_,A,x].forEach(function(n){e.removeItem(n)}),Object.assign({},n,{userId:null,anonymousId:null,traits:{}});default:return n}}}function $(e){return{userId:e.getItem(_),anonymousId:e.getItem(A),traits:e.getItem(x)}}var D=function(e){return f+\"TEMP\"+f+e};function B(n){var t=n.storage,r=t.setItem,i=t.removeItem,a=t.getItem;return function(n){return function(t){return function(u){var c=u.userId,s=u.traits,l=u.options;if(u.type===q.reset&&([_,x,A].forEach(function(e){i(e)}),[j,T,\"traits\"].forEach(function(e){o(D(e))})),u.type===q.identify){a(A)||r(A,e());var f=a(_),d=a(x)||{};f&&f!==c&&n.dispatch({type:q.userIdChanged,old:{userId:f,traits:d},new:{userId:c,traits:s},options:l}),c&&r(_,c),s&&r(x,v({},d,s))}return t(u)}}}}var X={};function J(e,n){X[e]&&d(X[e])&&(X[e](n),delete X[e])}function W(e,n,t){return new Promise(function(r,i){return n()?r(e):t<1?i(v({},e,{queue:!0})):new Promise(function(e){return setTimeout(e,10)}).then(function(a){return W(e,n,t-10).then(r,i)})})}function H(e,n,t){var r=n(),i=e.getState(),a=i.plugins,o=i.queue,u=i.user;if(!i.context.offline&&o&&o.actions&&o.actions.length){var c=o.actions.reduce(function(e,n,t){return a[n.plugin].loaded?(e.process.push(n),e.processIndex.push(t)):(e.requeue.push(n),e.requeueIndex.push(t)),e},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(c.processIndex&&c.processIndex.length){c.processIndex.forEach(function(n){var i=o.actions[n],c=i.plugin,s=i.payload.type,l=r[c][s];if(l&&d(l)){var f=function(e,n){return void 0===e&&(e={}),void 0===n&&(n={}),[j,T].reduce(function(t,r){return e.hasOwnProperty(r)&&n[r]&&n[r]!==e[r]&&(t[r]=n[r]),t},e)}(i.payload,u);l({payload:f,config:a[c].config,instance:t});var p=s+\":\"+c;e.dispatch(v({},f,{type:p,_:{called:p,from:\"queueDrain\"}}))}});var s=o.actions.filter(function(e,n){return!~c.processIndex.indexOf(n)});o.actions=s}}}var F=function(e){var n=e.data,t=e.action,r=e.instance,i=e.state,a=e.allPlugins,o=e.allMatches,u=e.store,c=e.EVENTS;try{var s=i.plugins,f=i.context,p=t.type,m=p.match(G),g=n.exact.map(function(e){return e.pluginName});m&&(g=o.during.map(function(e){return e.pluginName}));var h=function(e,n){return function(t,r,i){var a=r.config,o=r.name,u=o+\".\"+t.type;i&&(u=i.event);var c=t.type.match(G)?function(e,n,t,r,i){return function(a,o){var u=r?r.name:e,c=o&&ie(o)?o:t;if(r&&(!(c=o&&ie(o)?o:[e]).includes(e)||1!==c.length))throw new Error(\"Method \"+n+\" can only abort \"+e+\" plugin. \"+JSON.stringify(c)+\" input valid\");return v({},i,{abort:{reason:a,plugins:c,caller:n,_:u}})}}(o,u,n,i,t):function(e,n){return function(){throw new Error(e.type+\" action not cancellable. Remove abort in \"+n)}}(t,u);return{payload:ue(t),instance:e,config:a||{},abort:c}}}(r,g),y=n.exact.reduce(function(e,n){var t=n.pluginName,r=n.methodName,i=!1;return r.match(/^initialize/)||r.match(/^reset/)||(i=!s[t].loaded),f.offline&&r.match(/^(page|track|identify)/)&&(i=!0),e[\"\"+t]=i,e},{});return Promise.resolve(n.exact.reduce(function(e,i,o){var u=i.pluginName;return Promise.resolve(e).then(function(e){function i(){return Promise.resolve(e)}var o=function(){if(n.namespaced&&n.namespaced[u])return Promise.resolve(n.namespaced[u].reduce(function(e,n,t){return Promise.resolve(e).then(function(e){return n.method&&d(n.method)?(function(e,n){var t=oe(e);if(t&&t.name===n){var r=oe(t.method);throw new Error([n+\" plugin is calling method \"+e,\"Plugins cant call self\",\"Use \"+t.method+\" \"+(r?\"or \"+r.method:\"\")+\" in \"+n+\" plugin insteadof \"+e].join(\"\\n\"))}}(n.methodName,n.pluginName),Promise.resolve(n.method({payload:e,instance:r,abort:(t=e,i=u,o=n.pluginName,function(e,n){return v({},t,{abort:{reason:e,plugins:n||[i],caller:p,from:o||i}})}),config:Z(n.pluginName,s,a),plugins:s})).then(function(n){var t=l(n)?n:{};return Promise.resolve(v({},e,t))})):e;var t,i,o})},Promise.resolve(t))).then(function(n){e[u]=n});e[u]=t}();return o&&o.then?o.then(i):i()})},Promise.resolve({}))).then(function(e){return Promise.resolve(n.exact.reduce(function(t,i,o){try{var c=n.exact.length===o+1,f=i.pluginName,d=a[f];return Promise.resolve(t).then(function(n){var t=e[f]?e[f]:{};if(m&&(t=n),te(t,f))return Y({data:t,method:p,instance:r,pluginName:f,store:u}),Promise.resolve(n);if(te(n,f))return c&&Y({data:n,method:p,instance:r,store:u}),Promise.resolve(n);if(y.hasOwnProperty(f)&&!0===y[f])return u.dispatch({type:\"queue\",plugin:f,payload:t,_:{called:\"queue\",from:\"queueMechanism\"}}),Promise.resolve(n);var i=h(e[f],a[f]);return Promise.resolve(d[p]({abort:i.abort,payload:t,instance:r,config:Z(f,s,a),plugins:s})).then(function(i){var a=l(i)?i:{},o=v({},n,a),c=e[f];if(te(c,f))Y({data:c,method:p,instance:r,pluginName:f,store:u});else{var s=p+\":\"+f;(s.match(/:/g)||[]).length<2&&!p.match(K)&&!p.match(Q)&&r.dispatch(v({},m?o:t,{type:s,_:{called:s,from:\"submethod\"}}))}return Promise.resolve(o)})})}catch(e){return Promise.reject(e)}},Promise.resolve(t))).then(function(e){if(!(p.match(G)||p.match(/^registerPlugin/)||p.match(Q)||p.match(K)||p.match(/^params/)||p.match(/^userIdChanged/))){if(c.plugins.includes(p),e._&&e._.originalAction===p)return e;var t=v({},e,{_:{originalAction:e.type,called:e.type,from:\"engineEnd\"}});re(e,n.exact.length)&&!p.match(/End$/)&&(t=v({},t,{type:e.type+\"Aborted\"})),u.dispatch(t)}return e})})}catch(e){return Promise.reject(e)}},G=/Start$/,K=/^bootstrap/,Q=/^ready/;function Y(e){var n=e.pluginName,t=e.method+\"Aborted\"+(n?\":\"+n:\"\");e.store.dispatch(v({},e.data,{type:t,_:{called:t,from:\"abort\"}}))}function Z(e,n,t){var r=n[e]||t[e];return r&&r.config?r.config:{}}function ee(e,n){return n.reduce(function(n,t){return t[e]?n.concat({methodName:e,pluginName:t.name,method:t[e]}):n},[])}function ne(e,n){var t=e.replace(G,\"\"),r=n?\":\"+n:\"\";return[\"\"+e+r,\"\"+t+r,t+\"End\"+r]}function te(e,n){var t=e.abort;return!!t&&(!0===t||ae(t,n)||t&&ae(t.plugins,n))}function re(e,n){var t=e.abort;if(!t)return!1;if(!0===t||m(t))return!0;var r=t.plugins;return ie(t)&&t.length===n||ie(r)&&r.length===n}function ie(e){return Array.isArray(e)}function ae(e,n){return!(!e||!ie(e))&&e.includes(n)}function oe(e){var n=e.match(/(.*):(.*)/);return!!n&&{method:n[1],name:n[2]}}function ue(e){return Object.keys(e).reduce(function(n,t){return\"type\"===t||(n[t]=l(e[t])?Object.assign({},e[t]):e[t]),n},{})}function ce(e,n,t){var r={};return function(i){return function(a){return function(o){try{var u,c=function(e){return u?e:a(f)},s=o.type,l=o.plugins,f=o;if(o.abort)return Promise.resolve(a(o));if(s===q.enablePlugin&&i.dispatch({type:q.initializeStart,plugins:l,disabled:[],fromEnable:!0,meta:o.meta}),s===q.disablePlugin&&setTimeout(function(){return J(o.meta.rid,{payload:o})},0),s===q.initializeEnd){var m=n(),g=Object.keys(m),h=g.filter(function(e){return l.includes(e)}).map(function(e){return m[e]}),y=[],b=[],I=o.disabled,w=h.map(function(e){var n=e.name;return W(e,e.loaded,1e4).then(function(t){return r[n]||(i.dispatch({type:q.pluginReadyType(n),name:n,events:Object.keys(e).filter(function(e){return!M.includes(e)})}),r[n]=!0),y=y.concat(n),e}).catch(function(e){if(e instanceof Error)throw new Error(e);return b=b.concat(e.name),e})});Promise.all(w).then(function(e){var n={plugins:y,failed:b,disabled:I};setTimeout(function(){g.length===w.length+I.length&&i.dispatch(v({},{type:q.ready},n))},0)})}var E=function(){if(s!==q.bootstrap)return/^ready:([^:]*)$/.test(s)&&setTimeout(function(){return H(i,n,e)},0),Promise.resolve(function(e,n,t,r,i){try{var a=d(n)?n():n,o=e.type,u=o.replace(G,\"\");if(e._&&e._.called)return Promise.resolve(e);var c=t.getState(),s=(m=a,void 0===(g=c.plugins)&&(g={}),void 0===(h=e.options)&&(h={}),Object.keys(m).filter(function(e){var n=h.plugins||{};return p(n[e])?n[e]:!1!==n.all&&(!g[e]||!1!==g[e].enabled)}).map(function(e){return m[e]}));o===q.initializeStart&&e.fromEnable&&(s=Object.keys(c.plugins).filter(function(n){var t=c.plugins[n];return e.plugins.includes(n)&&!t.initialized}).map(function(e){return a[e]}));var l=s.map(function(e){return e.name}),f=function(e,n,t){var r=ne(e).map(function(e){return ee(e,n)});return n.reduce(function(t,r){var i=r.name,a=ne(e,i).map(function(e){return ee(e,n)}),o=a[0],u=a[1],c=a[2];return o.length&&(t.beforeNS[i]=o),u.length&&(t.duringNS[i]=u),c.length&&(t.afterNS[i]=c),t},{before:r[0],beforeNS:{},during:r[1],duringNS:{},after:r[2],afterNS:{}})}(o,s);return Promise.resolve(F({action:e,data:{exact:f.before,namespaced:f.beforeNS},state:c,allPlugins:a,allMatches:f,instance:t,store:r,EVENTS:i})).then(function(e){function n(){var n=function(){if(o.match(G))return Promise.resolve(F({action:v({},s,{type:u+\"End\"}),data:{exact:f.after,namespaced:f.afterNS},state:c,allPlugins:a,allMatches:f,instance:t,store:r,EVENTS:i})).then(function(e){e.meta&&e.meta.hasCallback&&J(e.meta.rid,{payload:e})})}();return n&&n.then?n.then(function(){return e}):e}if(re(e,l.length))return e;var s,d=function(){if(o!==u)return Promise.resolve(F({action:v({},e,{type:u}),data:{exact:f.during,namespaced:f.duringNS},state:c,allPlugins:a,allMatches:f,instance:t,store:r,EVENTS:i})).then(function(e){s=e});s=e}();return d&&d.then?d.then(n):n()})}catch(e){return Promise.reject(e)}var m,g,h}(o,n,e,i,t)).then(function(e){var n=a(e);return u=1,n})}();return Promise.resolve(E&&E.then?E.then(c):c(E))}catch(e){return Promise.reject(e)}}}}}function se(e){return function(n){return function(n){return function(t){var r=t.type,i=t.key,a=t.value,o=t.options;if(r===q.setItem||r===q.removeItem){if(t.abort)return n(t);r===q.setItem?e.setItem(i,a,o):e.removeItem(i,o)}return n(t)}}}}var le=function(){var e=this;this.before=[],this.after=[],this.addMiddleware=function(n,t){e[t]=e[t].concat(n)},this.removeMiddleware=function(n,t){var r=e[t].findIndex(function(e){return e===n});-1!==r&&(e[t]=[].concat(e[t].slice(0,r),e[t].slice(r+1)))},this.dynamicMiddlewares=function(n){return function(t){return function(r){return function(i){var a={getState:t.getState,dispatch:function(e){return t.dispatch(e)}},o=e[n].map(function(e){return e(a)});return N.apply(void 0,o)(r)(i)}}}}};function fe(e){return function(n,t){void 0===n&&(n={});var r={};if(\"initialize:aborted\"===t.type)return n;if(/^registerPlugin:([^:]*)$/.test(t.type)){var i=de(t.type,\"registerPlugin\"),a=e()[i];if(!a||!i)return n;var o=t.enabled;return r[i]={enabled:o,initialized:!!o&&Boolean(!a.initialize),loaded:!!o&&Boolean(a.loaded()),config:a.config||{}},v({},n,r)}if(/^initialize:([^:]*)$/.test(t.type)){var u=de(t.type,q.initialize),c=e()[u];return c&&u?(r[u]=v({},n[u],{initialized:!0,loaded:Boolean(c.loaded())}),v({},n,r)):n}if(/^ready:([^:]*)$/.test(t.type))return r[t.name]=v({},n[t.name],{loaded:!0}),v({},n,r);switch(t.type){case q.disablePlugin:return v({},n,pe(t.plugins,!1,n));case q.enablePlugin:return v({},n,pe(t.plugins,!0,n));default:return n}}}function de(e,n){return e.substring(n.length+1,e.length)}function pe(e,n,t){return e.reduce(function(e,r){return e[r]=v({},t[r],{enabled:n}),e},t)}function me(e){try{return JSON.parse(JSON.stringify(e))}catch(e){}return e}var ge={last:{},history:[]};function he(e,n){void 0===e&&(e=ge);var t=n.options,r=n.meta;if(n.type===q.track){var i=me(v({event:n.event,properties:n.properties},Object.keys(t).length&&{options:t},{meta:r}));return v({},e,{last:i,history:e.history.concat(i)})}return e}var ve={actions:[]};function ye(e,n){void 0===e&&(e=ve);var t=n.payload;switch(n.type){case\"queue\":var r;return r=t&&t.type&&t.type===q.identify?[n].concat(e.actions):e.actions.concat(n),v({},e,{actions:r});case\"dequeue\":return[];default:return e}}var be=/#.*$/;function Ie(e){var n=/(http[s]?:\\/\\/)?([^\\/\\s]+\\/)(.*)/g.exec(e);return\"/\"+(n&&n[3]?n[3].split(\"?\")[0].replace(be,\"\"):\"\")}var we,Ee,Pe,Se,Ne=function(e){if(void 0===e&&(e={}),!g)return e;var n=document,t=n.title,r=n.referrer,i=window,a=i.location,o=i.innerWidth,u=i.innerHeight,c=a.hash,s=a.search,l=function(e){var n=function(){if(g)for(var e,n=document.getElementsByTagName(\"link\"),t=0;e=n[t];t++)if(\"canonical\"===e.getAttribute(\"rel\"))return e.getAttribute(\"href\")}();return n?n.match(/\\?/)?n:n+e:window.location.href.replace(be,\"\")}(s),f={title:t,url:l,path:Ie(l),hash:c,search:s,width:o,height:u};return r&&\"\"!==r&&(f.referrer=r),v({},f,e)},Oe={last:{},history:[]};function Ae(e,n){void 0===e&&(e=Oe);var t=n.options;if(n.type===q.page){var r=me(v({properties:n.properties,meta:n.meta},Object.keys(t).length&&{options:t}));return v({},e,{last:r,history:e.history.concat(r)})}return e}we=function(){if(!g)return!1;var e=navigator.appVersion;return~e.indexOf(\"Win\")?\"Windows\":~e.indexOf(\"Mac\")?\"MacOS\":~e.indexOf(\"X11\")?\"UNIX\":~e.indexOf(\"Linux\")?\"Linux\":\"Unknown OS\"}(),Ee=g?document.referrer:null,Pe=n(),Se=t();var _e={initialized:!1,sessionId:e(),app:null,version:null,debug:!1,offline:!!g&&!navigator.onLine,os:{name:we},userAgent:g?navigator.userAgent:\"node\",library:{name:\"analytics\",version:\"0.11.0\"},timezone:Se,locale:Pe,campaign:{},referrer:Ee};function xe(e,n){void 0===e&&(e=_e);var t=e.initialized,r=n.campaign;switch(n.type){case q.campaign:return v({},e,{campaign:r});case q.offline:return v({},e,{offline:!0});case q.online:return v({},e,{offline:!1});default:return t?e:v({},_e,e,{initialized:!0})}}var ke=[\"plugins\",\"reducers\",\"storage\"];function je(e,n,t){if(g){var r=window[(t?\"add\":\"remove\")+\"EventListener\"];e.split(\" \").forEach(function(e){r(e,n)})}}function Te(e){var n=je.bind(null,\"online offline\",function(n){return Promise.resolve(!navigator.onLine).then(e)});return n(!0),function(e){return n(!1)}}function ze(){return u(\"analytics\",[]),function(e){return function(n,t,r){var i=e(n,t,r),a=i.dispatch;return Object.assign(i,{dispatch:function(e){return c[s].analytics.push(e.action||e),a(e)}})}}}function Me(e){return function(){return N(N.apply(null,arguments),ze())}}function qe(e){return e?h(e)?e:[e]:[]}function Ue(n,t,r){void 0===n&&(n={});var i,a,o=e();return t&&(X[o]=(i=t,a=function(e){for(var n,t=e||Array.prototype.slice.call(arguments),r=0;r<t.length;r++)if(d(t[r])){n=t[r];break}return n}(r),function(e){a&&a(e),i(e)})),v({},n,{rid:o,ts:(new Date).getTime()},t?{hasCallback:!0}:{})}function Ve(n){void 0===n&&(n={});var t=n.reducers||{},c=n.initialUser||{},s=(n.plugins||[]).reduce(function(e,n){if(d(n))return e.middlewares=e.middlewares.concat(n),e;if(n.NAMESPACE&&(n.name=n.NAMESPACE),!n.name)throw new Error(\"https://lytics.dev/errors/1\");var t=n.EVENTS?Object.keys(n.EVENTS).map(function(e){return n.EVENTS[e]}):[];e.pluginEnabled[n.name]=!(!1===n.enabled||n.config&&!1===n.config.enabled),delete n.enabled,n.methods&&(e.methods[n.name]=Object.keys(n.methods).reduce(function(e,t){var r;return e[t]=(r=n.methods[t],function(){for(var e=Array.prototype.slice.call(arguments),n=new Array(r.length),t=0;t<e.length;t++)n[t]=e[t];return n[n.length]=K,r.apply({instance:K},n)}),e},{}),delete n.methods);var r=Object.keys(n).concat(t),i=new Set(e.events.concat(r));if(e.events=Array.from(i),e.pluginsArray=e.pluginsArray.concat(n),e.plugins[n.name])throw new Error(n.name+\"AlreadyLoaded\");return e.plugins[n.name]=n,e.plugins[n.name].loaded||(e.plugins[n.name].loaded=function(){return!0}),e},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),f=n.storage?n.storage:{getItem:a,setItem:u,removeItem:o},p=function(e){return function(n,t,r){return t.getState(\"user\")[n]||(r&&l(r)&&r[n]?r[n]:$(e)[n]||a(D(n))||null)}}(f),h=s.plugins,w=s.events.filter(function(e){return!M.includes(e)}).sort(),E=new Set(w.concat(z).filter(function(e){return!M.includes(e)})),_=Array.from(E).sort(),x=function(){return h},k=new le,U=k.addMiddleware,V=k.removeMiddleware,L=k.dynamicMiddlewares,X=function(){throw new Error(\"Abort disabled inListener\")},J=r(),W=$(f),F=v({},W,c,J.an_uid?{userId:J.an_uid}:{},J.an_aid?{anonymousId:J.an_aid}:{});F.anonymousId||(F.anonymousId=e());var G=v({enable:function(e,n){return new Promise(function(t){oe.dispatch({type:q.enablePlugin,plugins:qe(e),_:{originalAction:q.enablePlugin}},t,[n])})},disable:function(e,n){return new Promise(function(t){oe.dispatch({type:q.disablePlugin,plugins:qe(e),_:{originalAction:q.disablePlugin}},t,[n])})}},s.methods),K={identify:function(e,n,t,r){try{var i=m(e)?e:null,a=l(e)?e:n,o=t||{},c=K.user();u(D(j),i);var s=i||a.userId||p(j,K,a);return Promise.resolve(new Promise(function(e){oe.dispatch(v({type:q.identifyStart,userId:s,traits:a||{},options:o,anonymousId:c.anonymousId},c.id&&c.id!==i&&{previousId:c.id}),e,[n,t,r])}))}catch(e){return Promise.reject(e)}},track:function(e,n,t,r){try{var i=l(e)?e.event:e;if(!i||!m(i))throw new Error(\"EventMissing\");var a=l(e)?e:n||{},o=l(t)?t:{};return Promise.resolve(new Promise(function(e){oe.dispatch({type:q.trackStart,event:i,properties:a,options:o,userId:p(j,K,n),anonymousId:p(T,K,n)},e,[n,t,r])}))}catch(e){return Promise.reject(e)}},page:function(e,n,t){try{var r=l(e)?e:{},i=l(n)?n:{};return Promise.resolve(new Promise(function(a){oe.dispatch({type:q.pageStart,properties:Ne(r),options:i,userId:p(j,K,r),anonymousId:p(T,K,r)},a,[e,n,t])}))}catch(e){return Promise.reject(e)}},user:function(e){if(e===j||\"id\"===e)return p(j,K);if(e===T||\"anonId\"===e)return p(T,K);var n=K.getState(\"user\");return e?i(n,e):n},reset:function(e){return new Promise(function(n){oe.dispatch({type:q.resetStart},n,e)})},ready:function(e){return K.on(q.ready,e)},on:function(e,n){if(!e||!d(n))return!1;if(e===q.bootstrap)throw new Error(\".on disabled for \"+e);var t=/Start$|Start:/;if(\"*\"===e){var r=function(e){return function(e){return function(r){return r.type.match(t)&&n({payload:r,instance:K,plugins:h}),e(r)}}},i=function(e){return function(e){return function(r){return r.type.match(t)||n({payload:r,instance:K,plugins:h}),e(r)}}};return U(r,Le),U(i,Ce),function(){V(r,Le),V(i,Ce)}}var a=e.match(t)?Le:Ce,o=function(t){return function(t){return function(r){return r.type===e&&n({payload:r,instance:K,plugins:h,abort:X}),t(r)}}};return U(o,a),function(){return V(o,a)}},once:function(e,n){if(!e||!d(n))return!1;if(e===q.bootstrap)throw new Error(\".once disabled for \"+e);var t=K.on(e,function(e){n({payload:e.payload,instance:K,plugins:h,abort:X}),t()});return t},getState:function(e){var n=oe.getState();return e?i(n,e):Object.assign({},n)},dispatch:function(e){var n=m(e)?{type:e}:e;if(z.includes(n.type))throw new Error(\"reserved action \"+n.type);var t=v({},n,{_:v({originalAction:n.type},e._||{})});oe.dispatch(t)},enablePlugin:G.enable,disablePlugin:G.disable,plugins:G,storage:{getItem:f.getItem,setItem:function(e,n,t){oe.dispatch({type:q.setItemStart,key:e,value:n,options:t})},removeItem:function(e,n){oe.dispatch({type:q.removeItemStart,key:e,options:n})}},setAnonymousId:function(e,n){K.storage.setItem(A,e,n)},events:{core:z,plugins:w}},Q=s.middlewares.concat([function(e){return function(e){return function(n){return n.meta||(n.meta=Ue()),e(n)}}},L(Le),ce(K,x,{all:_,plugins:w}),se(f),C(K),B(K),L(Ce)]),Y={context:xe,user:R(f),page:Ae,track:he,plugins:fe(x),queue:ye},Z=N,ee=N;if(g&&n.debug){var ne=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;ne&&(Z=ne({trace:!0,traceLimit:25})),ee=function(){return 0===arguments.length?ze():l(typeof arguments[0])?Me():Me().apply(null,arguments)}}var te,re=function(e){return Object.keys(e).reduce(function(n,t){return ke.includes(t)||(n[t]=e[t]),n},{})}(n),ie=s.pluginsArray.reduce(function(e,n){var t=n.name,r=n.config,i=n.loaded,a=s.pluginEnabled[t];return e[t]={enabled:a,initialized:!!a&&Boolean(!n.initialize),loaded:Boolean(i()),config:r||{}},e},{}),ae={context:re,user:F,plugins:ie},oe=P(function(e){for(var n=Object.keys(e),t={},r=0;r<n.length;r++){var i=n[r];typeof e[i]===y&&(t[i]=e[i])}var a,o=Object.keys(t);try{!function(e){Object.keys(e).forEach(function(n){var t=e[n];if(typeof t(void 0,{type:\"@@redux/INIT\"})===b||typeof t(void 0,{type:I})===b)throw new Error(\"reducer \"+n+\" \"+b)})}(t)}catch(e){a=e}return function(e,n){if(void 0===e&&(e={}),a)throw a;for(var r=!1,i={},u=0;u<o.length;u++){var c=o[u],s=e[c],l=(0,t[c])(s,n);if(typeof l===b){var f=S(c,n);throw new Error(f)}i[c]=l,r=r||l!==s}return r?i:e}}(v({},Y,t)),ae,ee(Z(O.apply(void 0,Q))));oe.dispatch=(te=oe.dispatch,function(e,n,t){var r=v({},e,{meta:Ue(e.meta,n,qe(t))});return te.apply(null,[r])});var ue=Object.keys(h);oe.dispatch({type:q.bootstrap,plugins:ue,config:re,params:J,user:F,initialUser:c,persistedUser:W});var de=ue.filter(function(e){return s.pluginEnabled[e]}),pe=ue.filter(function(e){return!s.pluginEnabled[e]});return oe.dispatch({type:q.registerPlugins,plugins:ue,enabled:s.pluginEnabled}),s.pluginsArray.map(function(e,n){var t=e.bootstrap,r=e.config,i=e.name;t&&d(t)&&t({instance:K,config:r,payload:e}),oe.dispatch({type:q.registerPluginType(i),name:i,enabled:s.pluginEnabled[i],plugin:e}),s.pluginsArray.length===n+1&&oe.dispatch({type:q.initializeStart,plugins:de,disabled:pe})}),Te(function(e){oe.dispatch({type:e?q.offline:q.online})}),function(e,n,t){setInterval(function(){return H(e,n,t)},3e3)}(oe,x,K),K}var Le=\"before\",Ce=\"after\";export{Ve as Analytics,k as CONSTANTS,q as EVENTS,Ve as default,Ve as init};\n//# sourceMappingURL=analytics-core.module.js.map\n","import{remove as e,set as o,get as n}from\"@analytics/global-storage-utils\";var t=\"cookie\",i=a(),r=d,c=d;function u(o){return i?d(o,\"\",-1):e(o)}function a(){if(void 0!==i)return i;var e=\"cookiecookie\";try{d(e,e),i=-1!==document.cookie.indexOf(e),u(e)}catch(e){i=!1}return i}function d(e,t,r,c,u,a){if(\"undefined\"!=typeof window){var d=arguments.length>1;return!1===i&&(d?o(e,t):n(e)),d?document.cookie=e+\"=\"+encodeURIComponent(t)+(r?\"; expires=\"+new Date(+new Date+1e3*r).toUTCString()+(c?\"; path=\"+c:\"\")+(u?\"; domain=\"+u:\"\")+(a?\"; secure\":\"\"):\"\"):decodeURIComponent(((\"; \"+document.cookie).split(\"; \"+e+\"=\")[1]||\"\").split(\";\")[0])}}export{t as COOKIE,r as getCookie,a as hasCookies,u as removeCookie,c as setCookie};\n//# sourceMappingURL=analytics-util-cookie.module.js.map\n","import{hasSupport as l,wrap as o,get as a,set as t,remove as e}from\"@analytics/global-storage-utils\";var r=\"localStorage\",g=l.bind(null,\"localStorage\"),c=o(\"localStorage\",\"getItem\",a),m=o(\"localStorage\",\"setItem\",t),S=o(\"localStorage\",\"removeItem\",e);export{r as LOCAL_STORAGE,c as getItem,g as hasLocalStorage,S as removeItem,m as setItem};\n//# sourceMappingURL=analytics-util-localstorage.module.js.map\n","import{hasSupport as e,wrap as s,get as o,set as t,remove as r}from\"@analytics/global-storage-utils\";var a=\"sessionStorage\",i=e.bind(null,\"sessionStorage\"),g=s(\"sessionStorage\",\"getItem\",o),n=s(\"sessionStorage\",\"setItem\",t),l=s(\"sessionStorage\",\"removeItem\",r);export{a as SESSION_STORAGE,g as getSessionItem,i as hasSessionStorage,l as removeSessionItem,n as setSessionItem};\n//# sourceMappingURL=analytics-util-session-storage.module.js.map\n","import{get as t,GLOBAL as o,set as e,remove as r}from\"@analytics/global-storage-utils\";export{GLOBAL,globalContext}from\"@analytics/global-storage-utils\";import{hasCookies as a,COOKIE as i,getCookie as s,setCookie as n,removeCookie as l}from\"@analytics/cookie-utils\";export{COOKIE,getCookie,hasCookies,removeCookie,setCookie}from\"@analytics/cookie-utils\";import{hasLocalStorage as u,LOCAL_STORAGE as c}from\"@analytics/localstorage-utils\";export{LOCAL_STORAGE,hasLocalStorage}from\"@analytics/localstorage-utils\";import{hasSessionStorage as g,SESSION_STORAGE as f}from\"@analytics/session-storage-utils\";export{SESSION_STORAGE,hasSessionStorage}from\"@analytics/session-storage-utils\";import{isObject as m,ANY as S,ALL as p,isUndefined as v,isString as y}from\"@analytics/type-utils\";export{ALL,ANY}from\"@analytics/type-utils\";function I(t){var o=t;try{if(\"true\"===(o=JSON.parse(t)))return!0;if(\"false\"===o)return!1;if(m(o))return o;parseFloat(o)===o&&(o=parseFloat(o))}catch(t){}if(null!==o&&\"\"!==o)return o}var k=u(),O=g(),x=a();function C(o,e){if(o){var r=A(e),a=!N(r),i=d(r)?I(localStorage.getItem(o)):void 0;if(a&&!v(i))return i;var n=h(r)?I(s(o)):void 0;if(a&&n)return n;var l=E(r)?I(sessionStorage.getItem(o)):void 0;if(a&&l)return l;var u=t(o);return a?u:{localStorage:i,sessionStorage:l,cookie:n,global:u}}}function L(r,a,l){if(r&&!v(a)){var u={},g=A(l),m=JSON.stringify(a),S=!N(g);return d(g)&&(u[c]=F(c,a,I(localStorage.getItem(r))),localStorage.setItem(r,m),S)?u[c]:h(g)&&(u[i]=F(i,a,I(s(r))),n(r,m),S)?u[i]:E(g)&&(u[f]=F(f,a,I(sessionStorage.getItem(r))),sessionStorage.setItem(r,m),S)?u[f]:(u[o]=F(o,a,t(r)),e(r,a),S?u[o]:u)}}function b(t,e){if(t){var a=A(e),s=C(t,p),n={};return!v(s.localStorage)&&d(a)&&(localStorage.removeItem(t),n[c]=s.localStorage),!v(s.cookie)&&h(a)&&(l(t),n[i]=s.cookie),!v(s.sessionStorage)&&E(a)&&(sessionStorage.removeItem(t),n[f]=s.sessionStorage),!v(s.global)&&G(a,o)&&(r(t),n[o]=s.global),n}}function A(t){return t?y(t)?t:t.storage:S}function d(t){return k&&G(t,c)}function h(t){return x&&G(t,i)}function E(t){return O&&G(t,f)}function N(t){return t===p||\"all\"===t}function G(t,o){return t===S||t===o||N(t)}function F(t,o,e){return{location:t,current:o,previous:e}}var J={setItem:L,getItem:C,removeItem:b};export{J as default,C as getItem,b as removeItem,L as setItem};\n//# sourceMappingURL=analytics-util-storage.module.js.map\n","import { Analytics } from '@analytics/core';\nexport { CONSTANTS, EVENTS } from '@analytics/core';\nimport storage from '@analytics/storage-utils';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction analyticsLib() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultSettings = {\n storage: storage\n };\n return Analytics(_objectSpread2(_objectSpread2({}, defaultSettings), opts));\n}\n\nexport { analyticsLib as Analytics, analyticsLib as default, analyticsLib as init };\n","function facebookScriptInit(f, b, e, v, n, t, s) {\n if (f.fbq) return; n = f.fbq = function () {\n n.callMethod ?\n n.callMethod.apply(n, arguments) : n.queue.push(arguments)\n };\n if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0';\n n.queue = []; t = b.createElement(e); t.async = !0;\n t.src = v; s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s)\n}\n\nfunction facebookInit({ trackingId }) {\n facebookScriptInit(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');\n // Can pass more stuff as additional arg?\n // {\n // autoConfig: true,\n // debug: true,\n // }\n window.fbq('init', trackingId);\n}\n\nfunction facebook(pluginConfig = {}) {\n return {\n name: 'facebook',\n config: pluginConfig,\n initialize: function ({ config, instance }) {\n if (!config.trackingId) throw new Error('No Facebook trackingId defined');\n facebookInit({ trackingId: config.trackingId });\n },\n page: function ({ payload, config, instance }) {\n window.fbq('track', 'PageView');\n },\n track: function ({ payload, config, instance }) {\n window.fbq('track', payload.event, payload.properties)\n },\n identify: function ({ payload, config }) {\n // not supported yet\n },\n loaded: function () {\n return !!window.fbq;\n }\n };\n}\n\nexport { facebookInit, facebook };","function gtag() {\n window.dataLayer.push(arguments);\n}\n\nwindow.gtag = gtag;\n\n// https://github.com/idmadj/ga-gtag/blob/master/src/index.js\nfunction gtagInit({ trackingId, configParams = {}, setParams = {} }) {\n var scriptId = 'ga-gtag';\n\n if (document.getElementById(scriptId)) return;\n\n var head = document.head;\n var script = document.createElement('script');\n script.id = scriptId;\n script.type = 'text/javascript';\n script.async = true;\n script.src = 'https://www.googletagmanager.com/gtag/js?id=' + trackingId;\n head.insertBefore(script, head.firstChild);\n\n window.dataLayer = window.dataLayer || [];\n\n gtag('js', new Date());\n if (setParams) {\n gtag('set', setParams);\n }\n gtag('config', trackingId, configParams);\n}\n\nfunction googleAnalytics4(pluginConfig = {}) {\n return {\n name: 'google-analytics-4',\n config: pluginConfig,\n initialize: function ({ config, instance }) {\n if (!config.trackingId) throw new Error('No GA trackingId defined');\n\n var configParams = {};\n var setParams = {};\n if (config.customDimensions) {\n var customMap = {};\n for (var i = 0; i < config.customDimensions.length; i++) {\n var customDim = config.customDimensions[i];\n configParams[customDim.name] = customDim.callback(instance, config);\n customMap['dimension' + (i + 1)] = customDim.name;\n }\n setParams['custom_map'] = customMap;\n }\n\n gtagInit({ trackingId: config.trackingId, configParams, setParams });\n },\n page: function ({ payload, config, instance }) {\n // no-op: GA4 sends page on init and page is just another \"event\"\n },\n track: function ({ payload, config, instance }) {\n gtag('event', payload.event, payload.properties);\n },\n identify: function ({ payload, config }) {\n // not supported yet\n },\n loaded: function () {\n return !!window.gtag;\n }\n };\n}\n\nexport { gtag, googleAnalytics4 };","export var urlParams = new URLSearchParams(window.location.search);\nvar DEBUG = urlParams.get('zdbg');\nvar zarGlobal = {};\nconst undef = 'undefined';\n\nexport function dbg() {\n if (DEBUG != 1) return;\n console.debug(...arguments);\n}\n\nexport function warn(msg) {\n console.warn(msg)\n if (window.Rollbar) {\n window.Rollbar.warning(msg);\n }\n}\n\nexport function isFunc(value) {\n return value && (Object.prototype.toString.call(value) === \"[object Function]\" || \"function\" === typeof value || value instanceof Function);\n}\n\nexport function isBot() {\n try {\n var ua = navigator.userAgent || ''\n var bots = new RegExp([\n /bot/, /spider/, /crawl/, /mediapartners/, /Google-Read-Aloud/, /semrush/\n ].map((r) => r.source).join(\"|\"), \"i\")\n return bots.test(ua)\n } catch (e) {\n return false\n }\n}\n\nexport function afterDOMContentLoaded(func) {\n if (document.readyState === \"complete\"\n || document.readyState === \"loaded\"\n || document.readyState === \"interactive\") {\n func()\n } else {\n window.addEventListener('DOMContentLoaded', func);\n }\n}\n\n// Copied from analytics-utils to keep bundle size down\n\nvar supportsSessionStorage = hasSessionStorage();\n\nfunction hasSessionStorage() {\n if (typeof supportsSessionStorage !== undef) {\n return supportsSessionStorage;\n }\n supportsSessionStorage = true;\n try {\n sessionStorage.setItem(undef, undef);\n sessionStorage.removeItem(undef);\n } catch (e) {\n supportsSessionStorage = false;\n }\n return supportsSessionStorage;\n}\n\nexport function getSessionStorage(key) {\n // Get from SS if supported, fall back to global\n var value;\n var globalValue = zarGlobal[key];\n if (supportsSessionStorage) {\n value = sessionStorage.getItem(key);\n if ((!value) && globalValue) {\n value = globalValue;\n // Restore session storage\n sessionStorage.setItem(key, value);\n }\n } else {\n value = globalValue;\n }\n return value ? JSON.parse(value) : undefined;\n}\n\nexport function setSessionStorage(key, value) {\n // Set both SS (if supported) and global\n var value_str = JSON.stringify(value);\n if (supportsSessionStorage) {\n sessionStorage.setItem(key, value_str);\n }\n zarGlobal[key] = value_str;\n}\n\nexport function removeSessionStorage(key) {\n // Remove both SS (if supported) and global\n if (supportsSessionStorage) {\n sessionStorage.removeItem(key);\n }\n delete zarGlobal[key];\n}\n\nexport function hasAdBlock() {\n // Create fake ad\n var fakeAd = document.createElement('div');\n fakeAd.innerHTML = ' ';\n fakeAd.className = 'pub_300x250 pub_300x250m pub_728x90 text-ad textAd text_ad text_ads text-ads text-ad-links';\n fakeAd.setAttribute('style', 'width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; top: -1000px !important;');\n try {\n // insert into page\n document.body.appendChild(fakeAd);\n if (\n document.body.getAttribute('abp') !== null ||\n fakeAd.offsetHeight === 0 ||\n fakeAd.clientHeight === 0\n ) {\n return true;\n }\n if (typeof getComputedStyle !== 'undefined') {\n var css = window.getComputedStyle(fakeAd, null);\n if (css && (css.getPropertyValue('display') === 'none' || css.getPropertyValue('visibility') === 'hidden')) {\n return true;\n }\n }\n // remove from page\n document.body.removeChild(fakeAd);\n } catch (e) {\n // swallow errors\n }\n return false;\n}\n\nfunction makeRequest({ method, url, data, json = true }) {\n return new Promise(function (resolve, reject) {\n var xhr = new XMLHttpRequest();\n xhr.open(method, url);\n xhr.withCredentials = true;\n\n if (json) {\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n }\n\n xhr.onload = function () {\n if (this.status >= 200 && this.status < 300) {\n if (json) {\n resolve(JSON.parse(xhr.response));\n } else {\n resolve(xhr.response);\n }\n } else {\n reject({\n status: this.status,\n message: xhr.statusText\n });\n }\n };\n xhr.onerror = function () {\n reject({\n status: this.status,\n message: \"Network Error\"\n });\n };\n if (data) {\n xhr.send(data);\n } else {\n xhr.send();\n }\n });\n}\n\nfunction formatParams(params) {\n return \"?\" + Object\n .keys(params)\n .map(function (key) {\n return key + \"=\" + encodeURIComponent(params[key]);\n })\n .join(\"&\");\n}\n\nasync function postBeacon({ url, data }) {\n if (window &&\n window.navigator &&\n typeof window.navigator.sendBeacon === \"function\" &&\n typeof window.Blob === \"function\") {\n try {\n const blob = new Blob([JSON.stringify(data)], { type: 'text/plain; charset=UTF-8' });\n if (window.navigator.sendBeacon(url, blob)) {\n return true;\n }\n return false;\n } catch (e) {\n warn(\"postBeacon:\", e)\n return false;\n }\n }\n return false;\n}\n\nexport async function httpGet({ url, params = null, json = true }) {\n var finalUrl = url;\n if (params) {\n finalUrl = finalUrl + formatParams(params);\n }\n return await makeRequest({ method: \"GET\", url: finalUrl, json });\n}\n\nexport async function httpPost({ url, data, json = true, beacon = false }) {\n var finalData = data;\n if (json) {\n finalData = JSON.stringify(finalData);\n }\n if (beacon) {\n var res = await postBeacon({ url, data });\n if (res) {\n return;\n }\n dbg('Beacon failed')\n }\n return await makeRequest({ method: \"POST\", url, data: finalData, json });\n}\n\n","import { Analytics } from \"analytics\";\nimport { facebook } from \"./facebook\";\nimport { googleAnalytics4 } from \"./googleAnalytics4\";\nimport {\n dbg,\n getSessionStorage,\n setSessionStorage,\n hasAdBlock,\n isBot,\n httpGet,\n httpPost,\n warn,\n afterDOMContentLoaded,\n isFunc\n} from \"./utils\";\n\nvar VID_KEY = \"__zar_vid\";\nvar NUMBER_POOL_SUCCESS = \"success\";\nvar NUMBER_POOL_ERROR = \"error\";\nvar NUMBER_POOL_RENEWAL_TIME_MS = 30 * 1000;\nvar getNumberFailureCount = 0;\nvar MAX_GET_NUMBER_FAILURES = 3;\nvar poolIntervals = {};\n\nwindow.zarPoolData = window.zarPoolData || null;\nwindow.zarPoolDLObserverDone = window.zarPoolDLObserverDone || false;\nwindow.zarPoolDataLayer = window.zarPoolDataLayer || [];\n\n// Tracks original phone numbers that have been replaced so\n// we can revert if necessary.\nvar numberOverlayMap = new Map();\n\nfunction generateVisitId() {\n return (\n Date.now().toString(36) + \".\" + Math.random().toString(36).substring(2)\n );\n}\n\nfunction initId(key, generator, getter, setter) {\n var id;\n var isNew = false;\n var origReferrer = null;\n var idObj = getter(key);\n\n if (!idObj || !idObj.id) {\n id = generator();\n origReferrer = document.referrer;\n isNew = true;\n dbg(\"new ID for\", key, \"-\", id);\n } else {\n id = idObj.id;\n origReferrer = idObj.origReferrer;\n }\n\n var result = { id, t: Date.now(), origReferrer, isNew };\n setter(key, result);\n return result;\n}\n\nfunction initIDs() {\n var vidResult = initId(\n VID_KEY,\n generateVisitId,\n getSessionStorage,\n setSessionStorage\n );\n return { vid: vidResult };\n}\n\nfunction getDefaultApiUrl() {\n return window.location.protocol + \"://\" + window.location.host + \"/api/v2\";\n}\n\nfunction getIDObj(key) {\n return getSessionStorage(key);\n}\n\nfunction getID(key) {\n var obj = getIDObj(key);\n return obj ? obj.id : null;\n}\n\nfunction getStorage() {\n return {\n vid: getIDObj(VID_KEY)\n };\n}\n\nfunction getIDs() {\n return {\n vid: getID(VID_KEY)\n };\n}\n\nfunction extractPhoneNumber({ elem }) {\n // NOTE: only tested for US numbers!\n var numberText = null;\n var number = null;\n var href = null;\n var regex = new RegExp(\n \"\\\\+?\\\\(?\\\\d*\\\\)? ?\\\\(?\\\\d+\\\\)?\\\\d*([\\\\s./-]?\\\\d{2,})+\",\n \"g\"\n );\n\n if (elem.href && elem.href.startsWith(\"tel:\")) {\n href = elem.href;\n }\n var text = elem.innerText;\n var html = elem.innerHTML;\n var match = regex.exec(text);\n if (match) {\n numberText = match[0].trim();\n number = numberText\n .replace(\"+\", \"\")\n .replace(/-/g, \"\")\n .replace(/ /g, \"\")\n .replace(\"(\", \"\")\n .replace(\")\", \"\")\n .replace(/^1/, \"\");\n }\n return { text, html, numberText, href, number };\n}\n\nfunction overlayPhoneNumber({ elems, number, force = false }) {\n var origNum;\n var overlayNum = number;\n if (!number.startsWith(\"+1\")) {\n overlayNum = \"+1\" + number; // NOTE: expects 10-digit US numbers\n }\n\n for (var i = 0; i < elems.length; i++) {\n if (numberOverlayMap.has(elems[i])) {\n if (force) {\n origNum = numberOverlayMap.get(elems[i]);\n } else {\n dbg(\"element already in overlay map:\", elems[i]);\n continue;\n }\n }\n\n var elemNum = extractPhoneNumber({ elem: elems[i] });\n\n if (!origNum) {\n origNum = elemNum;\n } else if (\n !force &&\n elemNum.number &&\n origNum.number &&\n origNum.number !== elemNum.number\n ) {\n warn(\n \"overlaying multiple numbers with a single number\",\n origNum.number,\n elemNum.number\n );\n }\n\n dbg(\"overlaying\", overlayNum, \"on\", elems[i]);\n\n // Store the original values if this is the first time overlaying\n if (!numberOverlayMap.has(elems[i])) {\n numberOverlayMap.set(elems[i], elemNum);\n }\n\n if (elemNum.href) {\n elems[i].href = \"tel:\" + overlayNum;\n }\n\n if (elemNum.numberText) {\n // If there is a phone number present in the text...\n elems[i].innerHTML = \"\";\n if (elemNum.text) {\n var overlay = overlayNum;\n if (elemNum.numberText.indexOf(\"-\") > -1) {\n overlay =\n overlayNum.slice(2, 5) +\n \"-\" +\n overlayNum.slice(5, 8) +\n \"-\" +\n overlayNum.slice(8, 12);\n }\n if (elemNum.html.indexOf(\"<img\") > -1) {\n var numberHtml = elemNum.html.replace(elemNum.numberText, overlay);\n elems[i].innerHTML = numberHtml;\n } else {\n var numberText = elemNum.text.replace(elemNum.numberText, overlay);\n elems[i].appendChild(document.createTextNode(numberText));\n }\n } else {\n elems[i].appendChild(document.createTextNode(overlayNum));\n }\n } else {\n dbg(\"no number text found:\", elems[i]);\n }\n }\n}\n\nfunction revertOverlayNumbers({ elems }) {\n for (var i = 0; i < elems.length; i++) {\n if (numberOverlayMap.has(elems[i])) {\n var currentHTML = elems[i].innerHTML;\n var origElemData = numberOverlayMap.get(elems[i]);\n dbg(\"orig:\", origElemData);\n var origHTML = origElemData.html;\n dbg(\"reverting\", currentHTML, \"to\", origHTML);\n elems[i].innerHTML = origHTML;\n if (origElemData.href) {\n elems[i].href = origElemData.href;\n }\n numberOverlayMap.delete(elems[i]);\n } else {\n dbg(\"element not in map:\", elems[i]);\n }\n }\n}\n\nfunction clearPoolInterval(poolId) {\n clearInterval(poolIntervals[poolId]);\n delete poolIntervals[poolId];\n}\n\nfunction clearPoolIntervals() {\n for (var poolId in poolIntervals) {\n clearPoolInterval(poolId);\n }\n}\n\nasync function getPoolNumber({\n poolId,\n apiUrl,\n number = null,\n context = null\n}) {\n var payload = {\n pool_id: poolId,\n number: number,\n context: context,\n properties: {\n zar: getStorage()\n }\n };\n var resp = await httpPost({ url: `${apiUrl}/number_pool`, data: payload });\n return resp;\n}\n\nfunction poolActive() {\n return (\n window.zarPoolData &&\n window.zarPoolData.status === NUMBER_POOL_SUCCESS &&\n window.zarPoolData.number\n );\n}\n\nfunction drainPoolDataLayer() {\n if (!window.zarPoolDataLayer || !Array.isArray(window.zarPoolDataLayer)) {\n return {};\n }\n\n var mergedObject = {};\n for (var i = 0; i < window.zarPoolDataLayer.length; i++) {\n var obj = window.zarPoolDataLayer[i];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n mergedObject[key] = obj[key];\n }\n }\n }\n\n window.zarPoolDataLayer.length = 0;\n return mergedObject;\n}\n\nasync function updateTrackingNumberContext({\n apiUrl,\n poolId,\n number,\n context\n}) {\n if (!poolActive()) {\n warn(\"no valid pool data, not updating context\");\n return;\n }\n\n var payload = {\n pool_id: poolId,\n number: number,\n context: context,\n properties: {\n zar: getStorage()\n }\n };\n var resp = await httpPost({ url: `${apiUrl}/update_number`, data: payload });\n return resp;\n}\n\nasync function getPoolStats({ apiUrl, key = null, with_contexts = false }) {\n var params = {\n key,\n with_contexts\n };\n var resp = await httpGet({\n url: `${apiUrl}/number_pool_stats`,\n params: params\n });\n return resp;\n}\n\nasync function renewTrackingPool({\n overlayElements,\n apiUrl = getDefaultApiUrl(),\n contextCallback = null\n} = {}) {\n var context = drainPoolDataLayer() || {};\n if (contextCallback) {\n context = contextCallback(context) || {};\n }\n\n const poolId = window.zarPoolData.pool_id;\n const number = window.zarPoolData.number;\n\n try {\n var resp = await getPoolNumber({ poolId, apiUrl, number, context });\n } catch (e) {\n var msg = \"error getting number: \" + JSON.stringify(e);\n warn(msg);\n getNumberFailureCount++;\n if (getNumberFailureCount >= MAX_GET_NUMBER_FAILURES) {\n warn(\"max failures, stopping pool\");\n clearPoolIntervals();\n if (overlayElements) {\n revertOverlayNumbers({ elems: overlayElements });\n }\n }\n return { status: NUMBER_POOL_ERROR, msg };\n }\n\n if (resp.status === NUMBER_POOL_SUCCESS && resp.number) {\n var force = false;\n if (resp.number !== window.zarPoolData.number) {\n warn(\n \"number changed from \" +\n window.zarPoolData.number +\n \" to \" +\n resp.number\n );\n window.zarPoolData.number = resp.number;\n force = true;\n }\n if (overlayElements) {\n overlayPhoneNumber({\n elems: overlayElements,\n number: resp.number,\n force\n });\n }\n } else {\n if (overlayElements) {\n revertOverlayNumbers({ elems: overlayElements });\n }\n if (poolIntervals[poolId]) {\n clearInterval(poolIntervals[poolId]);\n delete poolIntervals[poolId];\n }\n }\n\n return resp;\n}\n\nfunction getPoolId(poolId) {\n if (isFunc(poolId)) return poolId();\n return poolId;\n}\n\nfunction initPoolDataLayerObserver(apiUrl) {\n if (window.zarPoolDLObserverDone) {\n return;\n }\n\n if (!poolActive()) {\n return;\n }\n\n var originalPush = window.zarPoolDataLayer.push;\n window.zarPoolDataLayer.push = function (...args) {\n var result = originalPush.apply(this, args);\n var context = drainPoolDataLayer();\n if (!context) {\n return result;\n }\n updateTrackingNumberContext({\n apiUrl,\n poolId: window.zarPoolData.pool_id,\n number: window.zarPoolData.number,\n context\n });\n return result;\n };\n\n window.zarPoolDLObserverDone = true;\n}\n\nasync function initTrackingPool({ poolData, poolConfig, apiUrl } = {}) {\n var msg;\n\n if (\n !poolConfig ||\n !poolConfig.poolId ||\n !poolConfig.overlayQuerySelector ||\n !apiUrl\n ) {\n msg = \"missing pool config: \" + JSON.stringify(poolConfig);\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return poolIntervals;\n }\n\n var context = drainPoolDataLayer() || {};\n if (poolConfig.contextCallback) {\n context = poolConfig.contextCallback(context) || {};\n }\n\n var poolId = getPoolId(poolConfig.poolId);\n if (!poolId) {\n msg = \"no pool ID\";\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return poolIntervals;\n }\n\n if (!poolData) {\n try {\n poolData = await getPoolNumber({ poolId, apiUrl, number: null, context });\n } catch (e) {\n msg = \"error getting number on init: \" + JSON.stringify(e);\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return poolIntervals;\n }\n }\n\n window.zarPoolData = poolData;\n\n if (poolActive()) {\n try {\n initPoolDataLayerObserver(apiUrl);\n } catch (e) {\n warn(\"data layer observer error: \" + JSON.stringify(e));\n }\n\n afterDOMContentLoaded(function () {\n var overlayElements = document.querySelectorAll(\n poolConfig.overlayQuerySelector\n );\n if (!overlayElements) {\n var msg = \"No elems found for:\" + poolConfig.overlayQuerySelector;\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return;\n }\n\n overlayPhoneNumber({ elems: overlayElements, number: poolData.number });\n\n var interval = setInterval(function () {\n try {\n renewTrackingPool({\n overlayElements,\n apiUrl,\n contextCallback: poolConfig.contextCallback\n });\n } catch (e) {\n var msg = \"error on interval: \" + JSON.stringify(e);\n warn(msg);\n }\n }, poolConfig.renewalInterval || NUMBER_POOL_RENEWAL_TIME_MS);\n\n poolIntervals[poolData.pool_id] = interval;\n if (poolConfig.initCallback) {\n poolConfig.initCallback(poolData);\n }\n });\n }\n\n return poolIntervals;\n}\n\nfunction zar({ apiUrl, poolConfig }) {\n initIDs();\n\n return {\n name: \"zar\",\n config: { apiUrl, poolConfig },\n initialize: function ({ config }) {},\n loaded: function () {\n return true;\n },\n pageStart: function ({ payload, config, instance }) {\n payload.properties.zar = getStorage();\n payload.properties.referrer = document.referrer;\n payload.properties.is_bot = isBot();\n // Remove redundant values since url has all of this\n if (\"hash\" in payload.properties) {\n delete payload.properties[\"hash\"];\n }\n if (\"path\" in payload.properties) {\n delete payload.properties[\"path\"];\n }\n if (\"search\" in payload.properties) {\n delete payload.properties[\"search\"];\n }\n\n try {\n var pcfg = config.poolConfig;\n if (pcfg && pcfg.poolId) {\n payload.properties.pool_id = getPoolId(pcfg.poolId);\n var context = drainPoolDataLayer() || {};\n if (pcfg.contextCallback) {\n payload.properties.pool_context =\n pcfg.contextCallback(context) || {};\n }\n }\n } catch (e) {\n warn(\"error getting pool id: \" + JSON.stringify(e));\n }\n return payload;\n },\n page: async function ({ payload, options, instance, config }) {\n dbg(\"page\", payload, options, config);\n var tries = 0;\n var maxTries = 3;\n var res;\n while (tries < maxTries) {\n try {\n res = await httpPost({ url: `${config.apiUrl}/page`, data: payload });\n break;\n } catch (e) {\n tries++;\n if (tries >= maxTries) {\n warn(\"error posting page: \" + JSON.stringify(e));\n throw e;\n }\n await new Promise((r) => setTimeout(r, 1000));\n }\n }\n if (res && res.pool_data) {\n initTrackingPool({\n poolData: res.pool_data,\n poolConfig: config.poolConfig,\n apiUrl: config.apiUrl\n });\n }\n },\n trackStart: function ({ payload, config, instance }) {\n payload.properties.zar = getStorage();\n payload.properties.url = window.location.href;\n payload.properties.referrer = document.referrer;\n return payload;\n },\n track: function ({ payload, options, instance, config }) {\n dbg(\"track\", payload);\n httpPost({ url: `${config.apiUrl}/track`, data: payload, beacon: true });\n },\n methods: {\n apiUrl() {\n return apiUrl;\n },\n poolConfig() {\n return poolConfig;\n },\n initIDs() {\n return initIDs();\n },\n getIDs() {\n return getIDs();\n },\n getStorage() {\n return getStorage();\n },\n getVID() {\n return getID(VID_KEY);\n },\n hasAdBlock() {\n return hasAdBlock();\n },\n isBot() {\n return isBot();\n },\n initTrackingPool({ poolConfig }) {\n var plugin = this.instance.plugins.zar;\n return initTrackingPool({\n poolData: null,\n poolConfig: Object.assign(plugin.poolConfig(), poolConfig || {}),\n apiUrl: plugin.apiUrl()\n });\n },\n updateTrackingNumberContext({ number, context }) {\n var plugin = this.instance.plugins.zar;\n var poolConfig = plugin.poolConfig();\n return updateTrackingNumberContext({\n apiUrl: this.instance.plugins.zar.apiUrl(),\n poolId: getPoolId(poolConfig.poolId),\n number,\n context\n });\n },\n getPoolIntervals() {\n return poolIntervals;\n },\n clearPoolInterval({ poolId }) {\n clearPoolInterval(poolId);\n },\n clearPoolIntervals() {\n clearPoolIntervals();\n },\n extractPhoneNumbers({ elems }) {\n var res = [];\n for (var i = 0; i < elems.length; i++) {\n var elemRes = extractPhoneNumber({ elem: elems[i] });\n res.push(elemRes);\n }\n return res;\n },\n overlayPhoneNumber({ overlayElements, number }) {\n overlayPhoneNumber({ elems: overlayElements, number });\n },\n revertOverlayNumbers({ overlayElements }) {\n revertOverlayNumbers({ elems: overlayElements });\n },\n getPoolStats({ key = null, with_contexts = false }) {\n return getPoolStats({\n apiUrl: this.instance.plugins.zar.apiUrl(),\n key,\n with_contexts\n });\n }\n }\n };\n}\n\nfunction init({\n app,\n ga4Config = null,\n facebookConfig = null,\n apiUrl = null,\n poolConfig = null\n}) {\n // Opinionated init of Analytics\n if (!apiUrl) {\n apiUrl = getDefaultApiUrl();\n }\n\n var plugins = [zar({ apiUrl, poolConfig })];\n if (ga4Config) {\n plugins.push(googleAnalytics4(ga4Config));\n }\n if (facebookConfig) {\n plugins.push(facebook(facebookConfig));\n }\n\n return Analytics({ app, plugins });\n}\n\nexport { init, zar, Analytics };\n"],"names":["o","g","m","j","F","$","U","M","H","Y","J","W","V","q","I","Q","R","e","n","t","b","c","r","E","l","N","A","f","x","L","d","G","p","u","s","h","a","i","C","O","v","y","S","storage","Analytics"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zar.es.js","sources":["../node_modules/dlv/dist/dlv.es.js","../node_modules/@analytics/type-utils/dist/analytics-util-types.module.js","../node_modules/analytics-utils/dist/analytics-utils.module.js","../node_modules/@analytics/global-storage-utils/dist/analytics-util-global-storage.module.js","../node_modules/@analytics/core/dist/client/analytics-core.module.js","../node_modules/@analytics/cookie-utils/dist/analytics-util-cookie.module.js","../node_modules/@analytics/localstorage-utils/dist/analytics-util-localstorage.module.js","../node_modules/@analytics/session-storage-utils/dist/analytics-util-session-storage.module.js","../node_modules/@analytics/storage-utils/dist/analytics-util-storage.module.js","../node_modules/analytics/lib/analytics.browser.es.js","../src/facebook.js","../src/googleAnalytics4.js","../src/utils.js","../src/zar.js"],"sourcesContent":["export default function(t,e,l,n,r){for(e=e.split?e.split(\".\"):e,n=0;n<e.length;n++)t=t?t[e[n]]:r;return t===r?l:t}\n//# sourceMappingURL=dlv.es.js.map\n","var n=\"function\",t=\"string\",e=\"undefined\",r=\"boolean\",o=\"object\",u=\"array\",i=\"number\",c=\"symbol\",f=\"null\",a=\"error\",s=\"typeError\",l=\"syntaxError\",d=\"asyncFunction\",p=\"generatorFunction\",y=\"asyncGeneratorFunction\",b=function(){},g=\"any\",m=\"*\",v=\"none\",h=\"hidden\",j=\"__\",O=\"form\",S=\"input\",w=\"button\",A=\"select\",E=\"change\",N=\"submit\",D=/^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z)$/,z=/^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Z=/^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/,F=\"undefined\"!=typeof process?process:{},P=F.env&&F.env.NODE_ENV||\"\",x=\"production\"===P,C=\"staging\"===P,L=\"development\"===P,$=\"undefined\"!=typeof window,T=$&&\"localhost\"===window.location.hostname,_=null!=F.versions&&null!=F.versions.node,k=\"undefined\"!=typeof Deno&&void 0!==Deno.core,B=\"object\"==typeof self&&self.constructor&&\"DedicatedWorkerGlobalScope\"===self.constructor.name,G=$&&\"nodejs\"===window.name||\"undefined\"!=typeof navigator&&(navigator.userAgent.includes(\"Node.js\")||navigator.userAgent.includes(\"jsdom\"));function M(n,t){return t.charAt(0)[n]()+t.slice(1)}var U=M.bind(null,\"toUpperCase\"),H=M.bind(null,\"toLowerCase\");function J(n){return Y(n)?U(\"null\"):\"object\"==typeof n?yn(n):Object.prototype.toString.call(n).slice(8,-1)}function R(n,t){void 0===t&&(t=!0);var e=J(n);return t?H(e):e}function V(n,t){return typeof t===n}var W=V.bind(null,\"function\"),q=V.bind(null,\"string\"),I=V.bind(null,\"undefined\");function K(n){return!I(n)}var Q=V.bind(null,\"boolean\"),X=V.bind(null,\"symbol\");function Y(n){return null===n}function nn(n){return\"number\"===R(n)&&!isNaN(n)}function tn(n){return!isNaN(parseFloat(n))}function en(n){return!!W(n)&&/^class /.test(Function.prototype.toString.call(n))}function rn(n){return\"array\"===R(n)}function on(n){if(!un(n))return!1;for(var t=n;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(n)===t}function un(n){return n&&(\"object\"==typeof n||null!==n)}function cn(n){if(!q(n)||!Z.test(n))return!1;try{JSON.parse(n)}catch(n){return!1}return!0}function fn(n){if(Y(n))return!0;switch(typeof n){case\"string\":case\"number\":case\"symbol\":case\"undefined\":case\"boolean\":return!0;default:return!1}}function an(n,t){return on(n)&&W(n[t])}function sn(n){return!!n&&!!(!I(Promise)&&n instanceof Promise||n.then&&W(n.then))}function ln(n){return un(n)&&W(n.throw)&&W(n.return)&&W(n.next)}function dn(n){return\"generatorFunction\"===R(n)}function pn(n){return\"asyncFunction\"===R(n)}function yn(n){return W(n.constructor)?n.constructor.name:null}function bn(n){return n instanceof Set}function gn(n){return n instanceof Map}function mn(n){return n instanceof RegExp}function vn(n){return!(!n.constructor||!W(n.constructor.isBuffer))&&n.constructor.isBuffer(n)}function hn(n){return n instanceof Error||q(n.message)&&n.constructor&&nn(n.constructor.stackTraceLimit)}function jn(n){return un(n)&&q(n.message)&&q(n.name)}function On(n,t){if(\"object\"!=typeof t||Y(t))return!1;if(t instanceof n)return!0;var e=R(new n(\"\"));if(hn(t))for(;t;){if(R(t)===e)return!0;t=Object.getPrototypeOf(t)}return!1}var Sn=On.bind(null,TypeError),wn=On.bind(null,SyntaxError);function An(n){if(!W(n))return!1;var t=/{(\\r|\\n|\\s)*}/gm,e=b+\"\";return e===(n.toString().match(t)||[\"\"])[0].replace(t,e)}function En(n){try{if(nn(n.length)&&W(n.callee))return!0}catch(n){if(-1!==n.message.indexOf(\"callee\"))return!0}return!1}function Nn(n){return!(q(n)&&\"false\"===n.toLowerCase()||!n)}function Dn(n){return!n}function zn(n){return!0===n}function Zn(n){return!1===n}function Fn(n){return!(n.length>320)&&z.test(n)}function Pn(n){return n instanceof Date||W(n.toDateString)&&W(n.getDate)&&W(n.setDate)}function xn(n){return D.test(n)}function Cn(n){return!(!Y(n)&&(rn(n)?n.length:bn(n)||gn(n)?n.size:on(n)&&Object.keys(n).length))}function Ln(n){return NodeList.prototype.isPrototypeOf(n)}function $n(n,t){var e=n instanceof Element||n instanceof HTMLDocument;return e&&t?Tn(n,t):e}function Tn(n,t){return void 0===t&&(t=\"\"),n&&n.nodeName===t.toUpperCase()}function _n(n){var t=[].slice.call(arguments,1);return function(){return n.apply(void 0,[].slice.call(arguments).concat(t))}}var kn=_n($n,\"form\"),Bn=_n($n,\"button\"),Gn=_n($n,\"input\"),Mn=_n($n,\"select\");function Un(n,t){if(!n||\"hidden\"===getComputedStyle(n).visibility)return!0;for(;n;){if(null!=t&&n===t)return!1;if(\"none\"===getComputedStyle(n).display)return!0;n=n.parentElement}return!1}function Hn(n){return n?rn(n)?n:[n]:[]}export{m as ALL,g as ANY,u as ARRAY,d as ASYNC_FUNCTION,y as ASYNC_GENERATOR_FUNCTION,r as BOOLEAN,w as BUTTON,E as CHANGE,P as ENV,a as ERROR,O as FORM,n as FUNCTION,p as GENERATOR_FUNCTION,h as HIDDEN,S as INPUT,v as NONE,f as NULL,i as NUMBER,o as OBJECT,j as PREFIX,z as REGEX_EMAIL,D as REGEX_ISO,Z as REGEX_JSON,A as SELECT,t as STRING,N as SUBMIT,c as SYMBOL,l as SYNTAX_ERROR,s as TYPE_ERROR,e as UNDEFINED,yn as ctorName,Hn as ensureArray,R as getType,J as getTypeName,En as isArguments,rn as isArray,pn as isAsyncFunction,Q as isBoolean,$ as isBrowser,vn as isBuffer,Bn as isButton,en as isClass,Pn as isDate,K as isDefined,k as isDeno,L as isDev,$n as isElement,Fn as isEmail,Cn as isEmpty,hn as isError,jn as isErrorLike,Zn as isFalse,Dn as isFalsy,kn as isForm,W as isFunction,ln as isGenerator,dn as isGeneratorFunction,Un as isHidden,Gn as isInput,xn as isIsoDate,G as isJsDom,cn as isJson,T as isLocalHost,gn as isMap,an as isMethod,An as isNoOp,_ as isNode,Ln as isNodeList,Tn as isNodeType,Y as isNull,nn as isNumber,tn as isNumberLike,on as isObject,un as isObjectLike,fn as isPrimitive,x as isProd,sn as isPromise,mn as isRegex,Mn as isSelect,bn as isSet,C as isStaging,q as isString,X as isSymbol,wn as isSyntaxError,zn as isTrue,Nn as isTruthy,Sn as isTypeError,I as isUndefined,B as isWebWorker,b as noOp};\n//# sourceMappingURL=analytics-util-types.module.js.map\n","export{default as dotProp}from\"dlv\";import{isBrowser as e,isString as r,isRegex as t}from\"@analytics/type-utils\";function n(e){try{return decodeURIComponent(e.replace(/\\+/g,\" \"))}catch(e){return null}}function o(){if(e){var r=navigator,t=r.languages;return r.userLanguage||(t&&t.length?t[0]:r.language)}}function a(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(e){}}function i(r){if(!e)return!1;var t=r||document.referrer;if(t){var n=window.document.location.port,o=t.split(\"/\")[2];return n&&(o=o.replace(\":\"+n,\"\")),o!==window.location.hostname}return!1}function u(n){if(!e)return!0;var o=document.getElementsByTagName(\"script\");return!!Object.keys(o).filter(function(e){var a=o[e].src;return r(n)?-1!==a.indexOf(n):!!t(n)&&a.match(n)}).length}function c(e,r){var t=(e.split(\"?\")||[,])[1];if(!t||-1===t.indexOf(r))return e;var n=new RegExp(\"(\\\\&|\\\\?)\"+r+'([_A-Za-z0-9\"+=.\\\\/\\\\-@%]+)',\"g\"),o=(\"?\"+t).replace(n,\"\").replace(/^&/,\"?\");return e.replace(\"?\"+t,o)}function l(e,r){return n((RegExp(e+\"=(.+?)(&|$)\").exec(r)||[,\"\"])[1])}function s(r){return function(e){for(var r,t=Object.create(null),o=/([^&=]+)=?([^&]*)/g;r=o.exec(e);){var a=n(r[1]),i=n(r[2]);\"[]\"===a.substring(a.length-2)?(t[a=a.substring(0,a.length-2)]||(t[a]=[])).push(i):t[a]=\"\"===i||i}for(var u in t){var c=u.split(\"[\");c.length>1&&(m(t,c.map(function(e){return e.replace(/[?[\\]\\\\ ]/g,\"\")}),t[u]),delete t[u])}return t}(function(r){if(r){var t=r.match(/\\?(.*)/);return t&&t[1]?t[1].split(\"#\")[0]:\"\"}return e&&window.location.search.substring(1)}(r))}function m(e,r,t){for(var n=r.length-1,o=0;o<n;++o){var a=r[o];if(\"__proto__\"===a||\"constructor\"===a)break;a in e||(e[a]={}),e=e[a]}e[r[n]]=t}function f(r,t){return e?new Promise(function(e,n){if(window.history&&window.history.replaceState){var o=window.location.href,a=c(o,r);o!==a&&history.replaceState({},\"\",a)}return t&&t(),e()}):Promise.resolve()}function g(r){if(!e)return null;var t=document.createElement(\"a\");return t.setAttribute(\"href\",r),t.hostname}function p(e){return(g(e)||\"\").split(\".\").slice(-2).join(\".\")}function x(e){var r=e.split(\".\");return r.length>1?r.slice(0,-1).join(\".\"):e}var d={trimTld:x,getDomainBase:p,getDomainHost:g};function v(r,t){if(!e)return!1;var n={source:\"(direct)\",medium:\"(none)\",campaign:\"(not set)\"};r&&i(r)&&(n.referrer=r);var o=function(r){if(!r||!e)return!1;var t=p(r),n=document.createElement(\"a\");if(n.href=r,n.hostname.indexOf(\"google\")>-1&&(t=\"google\"),w[t]){var o=w[t],a=new RegExp((\"string\"==typeof o?o:o.p)+\"=.*?([^&#]*|$)\",\"gi\"),u=n.search.match(a);return{source:o.n||x(t),medium:\"organic\",term:(u?u[0].split(\"=\")[1]:\"\")||\"(not provided)\"}}var c=i(r)?\"referral\":\"internal\";return{source:n.hostname,medium:c}}(r);o&&Object.keys(o).length&&(n=Object.assign({},n,o));var a=s(t),u=Object.keys(a);if(!u.length)return n;var c=u.reduce(function(e,r){return r.match(/^utm_/)&&(e[\"\"+r.replace(/^utm_/,\"\")]=a[r]),r.match(/^(d|g)clid/)&&(e.source=\"google\",e.medium=a.gclid?\"cpc\":\"cpm\",e[r]=a[r]),e},{});return Object.assign({},n,c)}var h=\"q\",w={\"daum.net\":h,\"eniro.se\":\"search_word\",\"naver.com\":\"query\",\"yahoo.com\":\"p\",\"msn.com\":h,\"aol.com\":h,\"ask.com\":h,\"baidu.com\":\"wd\",\"yandex.com\":\"text\",\"rambler.ru\":\"words\",google:h,\"bing.com\":{p:h,n:\"live\"}};function y(){for(var e=\"\",r=0,t=4294967295*Math.random()|0;r++<36;){var n=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\"[r-1],o=15&t;e+=\"-\"==n||\"4\"==n?n:(\"x\"==n?o:3&o|8).toString(16),t=r%8==0?4294967295*Math.random()|0:t>>4}return e}function b(e,r){var t,n,o,a=null,i=0,u=function(){i=new Date,a=null,o=e.apply(t,n)};return function(){var c=new Date;i||(i=c);var l=r-(c-i);return t=this,n=arguments,l<=0?(clearTimeout(a),a=null,i=c,o=e.apply(t,n)):a||(a=setTimeout(u,l)),o}}export{n as decodeUri,o as getBrowserLocale,a as getTimeZone,i as isExternalReferrer,u as isScriptLoaded,c as paramsClean,l as paramsGet,s as paramsParse,f as paramsRemove,v as parseReferrer,b as throttle,d as url,y as uuid};\n//# sourceMappingURL=analytics-utils.module.js.map\n","import{PREFIX as t,OBJECT as e,UNDEFINED as r}from\"@analytics/type-utils\";var l=\"global\",o=t+\"global\"+t,n=typeof self===e&&self.self===self&&self||typeof global===e&&global.global===global&&global||void 0;function a(t){return n[o][t]}function f(t,e){return n[o][t]=e}function i(t){delete n[o][t]}function u(t,e,r){var l;try{if(b(t)){var o=window[t];l=o[e].bind(o)}}catch(t){}return l||r}n[o]||(n[o]={});var c={};function b(t){if(typeof c[t]!==r)return c[t];try{var e=window[t];e.setItem(r,r),e.removeItem(r)}catch(e){return c[t]=!1}return c[t]=!0}export{l as GLOBAL,o as KEY,a as get,n as globalContext,b as hasSupport,i as remove,f as set,u as wrap};\n//# sourceMappingURL=analytics-util-global-storage.module.js.map\n","import{uuid as e,getBrowserLocale as n,getTimeZone as t,paramsParse as r,dotProp as i}from\"analytics-utils\";import{get as a,remove as o,set as u,globalContext as c,KEY as s}from\"@analytics/global-storage-utils\";import{isObject as l,PREFIX as f,isFunction as d,isBoolean as p,isString as m,isBrowser as g,isArray as h}from\"@analytics/type-utils\";function v(){return v=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},v.apply(this,arguments)}var y=\"function\",b=\"undefined\",I=\"@@redux/\"+Math.random().toString(36),w=/* #__PURE__ */function(){return typeof Symbol===y&&Symbol.observable||\"@@observable\"}(),E=\" != \"+y;function P(e,n,t){var r;if(typeof n===y&&typeof t===b&&(t=n,n=void 0),typeof t!==b){if(typeof t!==y)throw new Error(\"enhancer\"+E);return t(P)(e,n)}if(typeof e!==y)throw new Error(\"reducer\"+E);var i=e,a=n,o=[],u=o,c=!1;function s(){u===o&&(u=o.slice())}function f(){return a}function d(e){if(typeof e!==y)throw new Error(\"Listener\"+E);var n=!0;return s(),u.push(e),function(){if(n){n=!1,s();var t=u.indexOf(e);u.splice(t,1)}}}function p(e){if(!l(e))throw new Error(\"Act != obj\");if(typeof e.type===b)throw new Error(\"ActType \"+b);if(c)throw new Error(\"Dispatch in reducer\");try{c=!0,a=i(a,e)}finally{c=!1}for(var n=o=u,t=0;t<n.length;t++)(0,n[t])();return e}return p({type:\"@@redux/INIT\"}),(r={dispatch:p,subscribe:d,getState:f,replaceReducer:function(e){if(typeof e!==y)throw new Error(\"next reducer\"+E);i=e,p({type:\"@@redux/INIT\"})}})[w]=function(){var e,n=d;return(e={subscribe:function(e){if(\"object\"!=typeof e)throw new TypeError(\"Observer != obj\");function t(){e.next&&e.next(f())}return t(),{unsubscribe:n(t)}}})[w]=function(){return this},e},r}function S(e,n){var t=n&&n.type;return\"action \"+(t&&t.toString()||\"?\")+\"reducer \"+e+\" returns \"+b}function N(){var e=[].slice.call(arguments);return 0===e.length?function(e){return e}:1===e.length?e[0]:e.reduce(function(e,n){return function(){return e(n.apply(void 0,[].slice.call(arguments)))}})}function O(){var e=arguments;return function(n){return function(t,r,i){var a,o=n(t,r,i),u=o.dispatch,c={getState:o.getState,dispatch:function(e){return u(e)}};return a=[].slice.call(e).map(function(e){return e(c)}),v({},o,{dispatch:u=N.apply(void 0,a)(o.dispatch)})}}}var A=f+\"anon_id\",_=f+\"user_id\",x=f+\"user_traits\",k={__proto__:null,ANON_ID:A,USER_ID:_,USER_TRAITS:x},j=\"userId\",T=\"anonymousId\",z=[\"bootstrap\",\"params\",\"campaign\",\"initializeStart\",\"initialize\",\"initializeEnd\",\"ready\",\"resetStart\",\"reset\",\"resetEnd\",\"pageStart\",\"page\",\"pageEnd\",\"pageAborted\",\"trackStart\",\"track\",\"trackEnd\",\"trackAborted\",\"identifyStart\",\"identify\",\"identifyEnd\",\"identifyAborted\",\"userIdChanged\",\"registerPlugins\",\"enablePlugin\",\"disablePlugin\",\"online\",\"offline\",\"setItemStart\",\"setItem\",\"setItemEnd\",\"setItemAborted\",\"removeItemStart\",\"removeItem\",\"removeItemEnd\",\"removeItemAborted\"],M=[\"name\",\"EVENTS\",\"config\",\"loaded\"],q=z.reduce(function(e,n){return e[n]=n,e},{registerPluginType:function(e){return\"registerPlugin:\"+e},pluginReadyType:function(e){return\"ready:\"+e}}),U=/^utm_/,V=/^an_prop_/,L=/^an_trait_/;function C(e){var n=e.storage.setItem;return function(t){return function(r){return function(i){if(i.type===q.bootstrap){var a=i.params,o=i.user,u=i.persistedUser,c=i.initialUser,s=u.userId===o.userId;u.anonymousId!==o.anonymousId&&n(A,o.anonymousId),s||n(_,o.userId),c.traits&&n(x,v({},s&&u.traits?u.traits:{},c.traits));var l=Object.keys(i.params);if(l.length){var f=a.an_uid,d=a.an_event,p=l.reduce(function(e,n){if(n.match(U)||n.match(/^(d|g)clid/)){var t=n.replace(U,\"\");e.campaign[\"campaign\"===t?\"name\":t]=a[n]}return n.match(V)&&(e.props[n.replace(V,\"\")]=a[n]),n.match(L)&&(e.traits[n.replace(L,\"\")]=a[n]),e},{campaign:{},props:{},traits:{}});t.dispatch(v({type:q.params,raw:a},p,f?{userId:f}:{})),f&&setTimeout(function(){return e.identify(f,p.traits)},0),d&&setTimeout(function(){return e.track(d,p.props)},0),Object.keys(p.campaign).length&&t.dispatch({type:q.campaign,campaign:p.campaign})}}return r(i)}}}}function R(e){return function(n,t){if(void 0===n&&(n={}),void 0===t&&(t={}),t.type===q.setItemEnd){if(t.key===A)return v({},n,{anonymousId:t.value});if(t.key===_)return v({},n,{userId:t.value})}switch(t.type){case q.identify:return Object.assign({},n,{userId:t.userId,traits:v({},n.traits,t.traits)});case q.reset:return[_,A,x].forEach(function(n){e.removeItem(n)}),Object.assign({},n,{userId:null,anonymousId:null,traits:{}});default:return n}}}function $(e){return{userId:e.getItem(_),anonymousId:e.getItem(A),traits:e.getItem(x)}}var D=function(e){return f+\"TEMP\"+f+e};function B(n){var t=n.storage,r=t.setItem,i=t.removeItem,a=t.getItem;return function(n){return function(t){return function(u){var c=u.userId,s=u.traits,l=u.options;if(u.type===q.reset&&([_,x,A].forEach(function(e){i(e)}),[j,T,\"traits\"].forEach(function(e){o(D(e))})),u.type===q.identify){a(A)||r(A,e());var f=a(_),d=a(x)||{};f&&f!==c&&n.dispatch({type:q.userIdChanged,old:{userId:f,traits:d},new:{userId:c,traits:s},options:l}),c&&r(_,c),s&&r(x,v({},d,s))}return t(u)}}}}var X={};function J(e,n){X[e]&&d(X[e])&&(X[e](n),delete X[e])}function W(e,n,t){return new Promise(function(r,i){return n()?r(e):t<1?i(v({},e,{queue:!0})):new Promise(function(e){return setTimeout(e,10)}).then(function(a){return W(e,n,t-10).then(r,i)})})}function H(e,n,t){var r=n(),i=e.getState(),a=i.plugins,o=i.queue,u=i.user;if(!i.context.offline&&o&&o.actions&&o.actions.length){var c=o.actions.reduce(function(e,n,t){return a[n.plugin].loaded?(e.process.push(n),e.processIndex.push(t)):(e.requeue.push(n),e.requeueIndex.push(t)),e},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(c.processIndex&&c.processIndex.length){c.processIndex.forEach(function(n){var i=o.actions[n],c=i.plugin,s=i.payload.type,l=r[c][s];if(l&&d(l)){var f=function(e,n){return void 0===e&&(e={}),void 0===n&&(n={}),[j,T].reduce(function(t,r){return e.hasOwnProperty(r)&&n[r]&&n[r]!==e[r]&&(t[r]=n[r]),t},e)}(i.payload,u);l({payload:f,config:a[c].config,instance:t});var p=s+\":\"+c;e.dispatch(v({},f,{type:p,_:{called:p,from:\"queueDrain\"}}))}});var s=o.actions.filter(function(e,n){return!~c.processIndex.indexOf(n)});o.actions=s}}}var F=function(e){var n=e.data,t=e.action,r=e.instance,i=e.state,a=e.allPlugins,o=e.allMatches,u=e.store,c=e.EVENTS;try{var s=i.plugins,f=i.context,p=t.type,m=p.match(G),g=n.exact.map(function(e){return e.pluginName});m&&(g=o.during.map(function(e){return e.pluginName}));var h=function(e,n){return function(t,r,i){var a=r.config,o=r.name,u=o+\".\"+t.type;i&&(u=i.event);var c=t.type.match(G)?function(e,n,t,r,i){return function(a,o){var u=r?r.name:e,c=o&&ie(o)?o:t;if(r&&(!(c=o&&ie(o)?o:[e]).includes(e)||1!==c.length))throw new Error(\"Method \"+n+\" can only abort \"+e+\" plugin. \"+JSON.stringify(c)+\" input valid\");return v({},i,{abort:{reason:a,plugins:c,caller:n,_:u}})}}(o,u,n,i,t):function(e,n){return function(){throw new Error(e.type+\" action not cancellable. Remove abort in \"+n)}}(t,u);return{payload:ue(t),instance:e,config:a||{},abort:c}}}(r,g),y=n.exact.reduce(function(e,n){var t=n.pluginName,r=n.methodName,i=!1;return r.match(/^initialize/)||r.match(/^reset/)||(i=!s[t].loaded),f.offline&&r.match(/^(page|track|identify)/)&&(i=!0),e[\"\"+t]=i,e},{});return Promise.resolve(n.exact.reduce(function(e,i,o){var u=i.pluginName;return Promise.resolve(e).then(function(e){function i(){return Promise.resolve(e)}var o=function(){if(n.namespaced&&n.namespaced[u])return Promise.resolve(n.namespaced[u].reduce(function(e,n,t){return Promise.resolve(e).then(function(e){return n.method&&d(n.method)?(function(e,n){var t=oe(e);if(t&&t.name===n){var r=oe(t.method);throw new Error([n+\" plugin is calling method \"+e,\"Plugins cant call self\",\"Use \"+t.method+\" \"+(r?\"or \"+r.method:\"\")+\" in \"+n+\" plugin insteadof \"+e].join(\"\\n\"))}}(n.methodName,n.pluginName),Promise.resolve(n.method({payload:e,instance:r,abort:(t=e,i=u,o=n.pluginName,function(e,n){return v({},t,{abort:{reason:e,plugins:n||[i],caller:p,from:o||i}})}),config:Z(n.pluginName,s,a),plugins:s})).then(function(n){var t=l(n)?n:{};return Promise.resolve(v({},e,t))})):e;var t,i,o})},Promise.resolve(t))).then(function(n){e[u]=n});e[u]=t}();return o&&o.then?o.then(i):i()})},Promise.resolve({}))).then(function(e){return Promise.resolve(n.exact.reduce(function(t,i,o){try{var c=n.exact.length===o+1,f=i.pluginName,d=a[f];return Promise.resolve(t).then(function(n){var t=e[f]?e[f]:{};if(m&&(t=n),te(t,f))return Y({data:t,method:p,instance:r,pluginName:f,store:u}),Promise.resolve(n);if(te(n,f))return c&&Y({data:n,method:p,instance:r,store:u}),Promise.resolve(n);if(y.hasOwnProperty(f)&&!0===y[f])return u.dispatch({type:\"queue\",plugin:f,payload:t,_:{called:\"queue\",from:\"queueMechanism\"}}),Promise.resolve(n);var i=h(e[f],a[f]);return Promise.resolve(d[p]({abort:i.abort,payload:t,instance:r,config:Z(f,s,a),plugins:s})).then(function(i){var a=l(i)?i:{},o=v({},n,a),c=e[f];if(te(c,f))Y({data:c,method:p,instance:r,pluginName:f,store:u});else{var s=p+\":\"+f;(s.match(/:/g)||[]).length<2&&!p.match(K)&&!p.match(Q)&&r.dispatch(v({},m?o:t,{type:s,_:{called:s,from:\"submethod\"}}))}return Promise.resolve(o)})})}catch(e){return Promise.reject(e)}},Promise.resolve(t))).then(function(e){if(!(p.match(G)||p.match(/^registerPlugin/)||p.match(Q)||p.match(K)||p.match(/^params/)||p.match(/^userIdChanged/))){if(c.plugins.includes(p),e._&&e._.originalAction===p)return e;var t=v({},e,{_:{originalAction:e.type,called:e.type,from:\"engineEnd\"}});re(e,n.exact.length)&&!p.match(/End$/)&&(t=v({},t,{type:e.type+\"Aborted\"})),u.dispatch(t)}return e})})}catch(e){return Promise.reject(e)}},G=/Start$/,K=/^bootstrap/,Q=/^ready/;function Y(e){var n=e.pluginName,t=e.method+\"Aborted\"+(n?\":\"+n:\"\");e.store.dispatch(v({},e.data,{type:t,_:{called:t,from:\"abort\"}}))}function Z(e,n,t){var r=n[e]||t[e];return r&&r.config?r.config:{}}function ee(e,n){return n.reduce(function(n,t){return t[e]?n.concat({methodName:e,pluginName:t.name,method:t[e]}):n},[])}function ne(e,n){var t=e.replace(G,\"\"),r=n?\":\"+n:\"\";return[\"\"+e+r,\"\"+t+r,t+\"End\"+r]}function te(e,n){var t=e.abort;return!!t&&(!0===t||ae(t,n)||t&&ae(t.plugins,n))}function re(e,n){var t=e.abort;if(!t)return!1;if(!0===t||m(t))return!0;var r=t.plugins;return ie(t)&&t.length===n||ie(r)&&r.length===n}function ie(e){return Array.isArray(e)}function ae(e,n){return!(!e||!ie(e))&&e.includes(n)}function oe(e){var n=e.match(/(.*):(.*)/);return!!n&&{method:n[1],name:n[2]}}function ue(e){return Object.keys(e).reduce(function(n,t){return\"type\"===t||(n[t]=l(e[t])?Object.assign({},e[t]):e[t]),n},{})}function ce(e,n,t){var r={};return function(i){return function(a){return function(o){try{var u,c=function(e){return u?e:a(f)},s=o.type,l=o.plugins,f=o;if(o.abort)return Promise.resolve(a(o));if(s===q.enablePlugin&&i.dispatch({type:q.initializeStart,plugins:l,disabled:[],fromEnable:!0,meta:o.meta}),s===q.disablePlugin&&setTimeout(function(){return J(o.meta.rid,{payload:o})},0),s===q.initializeEnd){var m=n(),g=Object.keys(m),h=g.filter(function(e){return l.includes(e)}).map(function(e){return m[e]}),y=[],b=[],I=o.disabled,w=h.map(function(e){var n=e.name;return W(e,e.loaded,1e4).then(function(t){return r[n]||(i.dispatch({type:q.pluginReadyType(n),name:n,events:Object.keys(e).filter(function(e){return!M.includes(e)})}),r[n]=!0),y=y.concat(n),e}).catch(function(e){if(e instanceof Error)throw new Error(e);return b=b.concat(e.name),e})});Promise.all(w).then(function(e){var n={plugins:y,failed:b,disabled:I};setTimeout(function(){g.length===w.length+I.length&&i.dispatch(v({},{type:q.ready},n))},0)})}var E=function(){if(s!==q.bootstrap)return/^ready:([^:]*)$/.test(s)&&setTimeout(function(){return H(i,n,e)},0),Promise.resolve(function(e,n,t,r,i){try{var a=d(n)?n():n,o=e.type,u=o.replace(G,\"\");if(e._&&e._.called)return Promise.resolve(e);var c=t.getState(),s=(m=a,void 0===(g=c.plugins)&&(g={}),void 0===(h=e.options)&&(h={}),Object.keys(m).filter(function(e){var n=h.plugins||{};return p(n[e])?n[e]:!1!==n.all&&(!g[e]||!1!==g[e].enabled)}).map(function(e){return m[e]}));o===q.initializeStart&&e.fromEnable&&(s=Object.keys(c.plugins).filter(function(n){var t=c.plugins[n];return e.plugins.includes(n)&&!t.initialized}).map(function(e){return a[e]}));var l=s.map(function(e){return e.name}),f=function(e,n,t){var r=ne(e).map(function(e){return ee(e,n)});return n.reduce(function(t,r){var i=r.name,a=ne(e,i).map(function(e){return ee(e,n)}),o=a[0],u=a[1],c=a[2];return o.length&&(t.beforeNS[i]=o),u.length&&(t.duringNS[i]=u),c.length&&(t.afterNS[i]=c),t},{before:r[0],beforeNS:{},during:r[1],duringNS:{},after:r[2],afterNS:{}})}(o,s);return Promise.resolve(F({action:e,data:{exact:f.before,namespaced:f.beforeNS},state:c,allPlugins:a,allMatches:f,instance:t,store:r,EVENTS:i})).then(function(e){function n(){var n=function(){if(o.match(G))return Promise.resolve(F({action:v({},s,{type:u+\"End\"}),data:{exact:f.after,namespaced:f.afterNS},state:c,allPlugins:a,allMatches:f,instance:t,store:r,EVENTS:i})).then(function(e){e.meta&&e.meta.hasCallback&&J(e.meta.rid,{payload:e})})}();return n&&n.then?n.then(function(){return e}):e}if(re(e,l.length))return e;var s,d=function(){if(o!==u)return Promise.resolve(F({action:v({},e,{type:u}),data:{exact:f.during,namespaced:f.duringNS},state:c,allPlugins:a,allMatches:f,instance:t,store:r,EVENTS:i})).then(function(e){s=e});s=e}();return d&&d.then?d.then(n):n()})}catch(e){return Promise.reject(e)}var m,g,h}(o,n,e,i,t)).then(function(e){var n=a(e);return u=1,n})}();return Promise.resolve(E&&E.then?E.then(c):c(E))}catch(e){return Promise.reject(e)}}}}}function se(e){return function(n){return function(n){return function(t){var r=t.type,i=t.key,a=t.value,o=t.options;if(r===q.setItem||r===q.removeItem){if(t.abort)return n(t);r===q.setItem?e.setItem(i,a,o):e.removeItem(i,o)}return n(t)}}}}var le=function(){var e=this;this.before=[],this.after=[],this.addMiddleware=function(n,t){e[t]=e[t].concat(n)},this.removeMiddleware=function(n,t){var r=e[t].findIndex(function(e){return e===n});-1!==r&&(e[t]=[].concat(e[t].slice(0,r),e[t].slice(r+1)))},this.dynamicMiddlewares=function(n){return function(t){return function(r){return function(i){var a={getState:t.getState,dispatch:function(e){return t.dispatch(e)}},o=e[n].map(function(e){return e(a)});return N.apply(void 0,o)(r)(i)}}}}};function fe(e){return function(n,t){void 0===n&&(n={});var r={};if(\"initialize:aborted\"===t.type)return n;if(/^registerPlugin:([^:]*)$/.test(t.type)){var i=de(t.type,\"registerPlugin\"),a=e()[i];if(!a||!i)return n;var o=t.enabled;return r[i]={enabled:o,initialized:!!o&&Boolean(!a.initialize),loaded:!!o&&Boolean(a.loaded()),config:a.config||{}},v({},n,r)}if(/^initialize:([^:]*)$/.test(t.type)){var u=de(t.type,q.initialize),c=e()[u];return c&&u?(r[u]=v({},n[u],{initialized:!0,loaded:Boolean(c.loaded())}),v({},n,r)):n}if(/^ready:([^:]*)$/.test(t.type))return r[t.name]=v({},n[t.name],{loaded:!0}),v({},n,r);switch(t.type){case q.disablePlugin:return v({},n,pe(t.plugins,!1,n));case q.enablePlugin:return v({},n,pe(t.plugins,!0,n));default:return n}}}function de(e,n){return e.substring(n.length+1,e.length)}function pe(e,n,t){return e.reduce(function(e,r){return e[r]=v({},t[r],{enabled:n}),e},t)}function me(e){try{return JSON.parse(JSON.stringify(e))}catch(e){}return e}var ge={last:{},history:[]};function he(e,n){void 0===e&&(e=ge);var t=n.options,r=n.meta;if(n.type===q.track){var i=me(v({event:n.event,properties:n.properties},Object.keys(t).length&&{options:t},{meta:r}));return v({},e,{last:i,history:e.history.concat(i)})}return e}var ve={actions:[]};function ye(e,n){void 0===e&&(e=ve);var t=n.payload;switch(n.type){case\"queue\":var r;return r=t&&t.type&&t.type===q.identify?[n].concat(e.actions):e.actions.concat(n),v({},e,{actions:r});case\"dequeue\":return[];default:return e}}var be=/#.*$/;function Ie(e){var n=/(http[s]?:\\/\\/)?([^\\/\\s]+\\/)(.*)/g.exec(e);return\"/\"+(n&&n[3]?n[3].split(\"?\")[0].replace(be,\"\"):\"\")}var we,Ee,Pe,Se,Ne=function(e){if(void 0===e&&(e={}),!g)return e;var n=document,t=n.title,r=n.referrer,i=window,a=i.location,o=i.innerWidth,u=i.innerHeight,c=a.hash,s=a.search,l=function(e){var n=function(){if(g)for(var e,n=document.getElementsByTagName(\"link\"),t=0;e=n[t];t++)if(\"canonical\"===e.getAttribute(\"rel\"))return e.getAttribute(\"href\")}();return n?n.match(/\\?/)?n:n+e:window.location.href.replace(be,\"\")}(s),f={title:t,url:l,path:Ie(l),hash:c,search:s,width:o,height:u};return r&&\"\"!==r&&(f.referrer=r),v({},f,e)},Oe={last:{},history:[]};function Ae(e,n){void 0===e&&(e=Oe);var t=n.options;if(n.type===q.page){var r=me(v({properties:n.properties,meta:n.meta},Object.keys(t).length&&{options:t}));return v({},e,{last:r,history:e.history.concat(r)})}return e}we=function(){if(!g)return!1;var e=navigator.appVersion;return~e.indexOf(\"Win\")?\"Windows\":~e.indexOf(\"Mac\")?\"MacOS\":~e.indexOf(\"X11\")?\"UNIX\":~e.indexOf(\"Linux\")?\"Linux\":\"Unknown OS\"}(),Ee=g?document.referrer:null,Pe=n(),Se=t();var _e={initialized:!1,sessionId:e(),app:null,version:null,debug:!1,offline:!!g&&!navigator.onLine,os:{name:we},userAgent:g?navigator.userAgent:\"node\",library:{name:\"analytics\",version:\"0.11.0\"},timezone:Se,locale:Pe,campaign:{},referrer:Ee};function xe(e,n){void 0===e&&(e=_e);var t=e.initialized,r=n.campaign;switch(n.type){case q.campaign:return v({},e,{campaign:r});case q.offline:return v({},e,{offline:!0});case q.online:return v({},e,{offline:!1});default:return t?e:v({},_e,e,{initialized:!0})}}var ke=[\"plugins\",\"reducers\",\"storage\"];function je(e,n,t){if(g){var r=window[(t?\"add\":\"remove\")+\"EventListener\"];e.split(\" \").forEach(function(e){r(e,n)})}}function Te(e){var n=je.bind(null,\"online offline\",function(n){return Promise.resolve(!navigator.onLine).then(e)});return n(!0),function(e){return n(!1)}}function ze(){return u(\"analytics\",[]),function(e){return function(n,t,r){var i=e(n,t,r),a=i.dispatch;return Object.assign(i,{dispatch:function(e){return c[s].analytics.push(e.action||e),a(e)}})}}}function Me(e){return function(){return N(N.apply(null,arguments),ze())}}function qe(e){return e?h(e)?e:[e]:[]}function Ue(n,t,r){void 0===n&&(n={});var i,a,o=e();return t&&(X[o]=(i=t,a=function(e){for(var n,t=e||Array.prototype.slice.call(arguments),r=0;r<t.length;r++)if(d(t[r])){n=t[r];break}return n}(r),function(e){a&&a(e),i(e)})),v({},n,{rid:o,ts:(new Date).getTime()},t?{hasCallback:!0}:{})}function Ve(n){void 0===n&&(n={});var t=n.reducers||{},c=n.initialUser||{},s=(n.plugins||[]).reduce(function(e,n){if(d(n))return e.middlewares=e.middlewares.concat(n),e;if(n.NAMESPACE&&(n.name=n.NAMESPACE),!n.name)throw new Error(\"https://lytics.dev/errors/1\");var t=n.EVENTS?Object.keys(n.EVENTS).map(function(e){return n.EVENTS[e]}):[];e.pluginEnabled[n.name]=!(!1===n.enabled||n.config&&!1===n.config.enabled),delete n.enabled,n.methods&&(e.methods[n.name]=Object.keys(n.methods).reduce(function(e,t){var r;return e[t]=(r=n.methods[t],function(){for(var e=Array.prototype.slice.call(arguments),n=new Array(r.length),t=0;t<e.length;t++)n[t]=e[t];return n[n.length]=K,r.apply({instance:K},n)}),e},{}),delete n.methods);var r=Object.keys(n).concat(t),i=new Set(e.events.concat(r));if(e.events=Array.from(i),e.pluginsArray=e.pluginsArray.concat(n),e.plugins[n.name])throw new Error(n.name+\"AlreadyLoaded\");return e.plugins[n.name]=n,e.plugins[n.name].loaded||(e.plugins[n.name].loaded=function(){return!0}),e},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),f=n.storage?n.storage:{getItem:a,setItem:u,removeItem:o},p=function(e){return function(n,t,r){return t.getState(\"user\")[n]||(r&&l(r)&&r[n]?r[n]:$(e)[n]||a(D(n))||null)}}(f),h=s.plugins,w=s.events.filter(function(e){return!M.includes(e)}).sort(),E=new Set(w.concat(z).filter(function(e){return!M.includes(e)})),_=Array.from(E).sort(),x=function(){return h},k=new le,U=k.addMiddleware,V=k.removeMiddleware,L=k.dynamicMiddlewares,X=function(){throw new Error(\"Abort disabled inListener\")},J=r(),W=$(f),F=v({},W,c,J.an_uid?{userId:J.an_uid}:{},J.an_aid?{anonymousId:J.an_aid}:{});F.anonymousId||(F.anonymousId=e());var G=v({enable:function(e,n){return new Promise(function(t){oe.dispatch({type:q.enablePlugin,plugins:qe(e),_:{originalAction:q.enablePlugin}},t,[n])})},disable:function(e,n){return new Promise(function(t){oe.dispatch({type:q.disablePlugin,plugins:qe(e),_:{originalAction:q.disablePlugin}},t,[n])})}},s.methods),K={identify:function(e,n,t,r){try{var i=m(e)?e:null,a=l(e)?e:n,o=t||{},c=K.user();u(D(j),i);var s=i||a.userId||p(j,K,a);return Promise.resolve(new Promise(function(e){oe.dispatch(v({type:q.identifyStart,userId:s,traits:a||{},options:o,anonymousId:c.anonymousId},c.id&&c.id!==i&&{previousId:c.id}),e,[n,t,r])}))}catch(e){return Promise.reject(e)}},track:function(e,n,t,r){try{var i=l(e)?e.event:e;if(!i||!m(i))throw new Error(\"EventMissing\");var a=l(e)?e:n||{},o=l(t)?t:{};return Promise.resolve(new Promise(function(e){oe.dispatch({type:q.trackStart,event:i,properties:a,options:o,userId:p(j,K,n),anonymousId:p(T,K,n)},e,[n,t,r])}))}catch(e){return Promise.reject(e)}},page:function(e,n,t){try{var r=l(e)?e:{},i=l(n)?n:{};return Promise.resolve(new Promise(function(a){oe.dispatch({type:q.pageStart,properties:Ne(r),options:i,userId:p(j,K,r),anonymousId:p(T,K,r)},a,[e,n,t])}))}catch(e){return Promise.reject(e)}},user:function(e){if(e===j||\"id\"===e)return p(j,K);if(e===T||\"anonId\"===e)return p(T,K);var n=K.getState(\"user\");return e?i(n,e):n},reset:function(e){return new Promise(function(n){oe.dispatch({type:q.resetStart},n,e)})},ready:function(e){return K.on(q.ready,e)},on:function(e,n){if(!e||!d(n))return!1;if(e===q.bootstrap)throw new Error(\".on disabled for \"+e);var t=/Start$|Start:/;if(\"*\"===e){var r=function(e){return function(e){return function(r){return r.type.match(t)&&n({payload:r,instance:K,plugins:h}),e(r)}}},i=function(e){return function(e){return function(r){return r.type.match(t)||n({payload:r,instance:K,plugins:h}),e(r)}}};return U(r,Le),U(i,Ce),function(){V(r,Le),V(i,Ce)}}var a=e.match(t)?Le:Ce,o=function(t){return function(t){return function(r){return r.type===e&&n({payload:r,instance:K,plugins:h,abort:X}),t(r)}}};return U(o,a),function(){return V(o,a)}},once:function(e,n){if(!e||!d(n))return!1;if(e===q.bootstrap)throw new Error(\".once disabled for \"+e);var t=K.on(e,function(e){n({payload:e.payload,instance:K,plugins:h,abort:X}),t()});return t},getState:function(e){var n=oe.getState();return e?i(n,e):Object.assign({},n)},dispatch:function(e){var n=m(e)?{type:e}:e;if(z.includes(n.type))throw new Error(\"reserved action \"+n.type);var t=v({},n,{_:v({originalAction:n.type},e._||{})});oe.dispatch(t)},enablePlugin:G.enable,disablePlugin:G.disable,plugins:G,storage:{getItem:f.getItem,setItem:function(e,n,t){oe.dispatch({type:q.setItemStart,key:e,value:n,options:t})},removeItem:function(e,n){oe.dispatch({type:q.removeItemStart,key:e,options:n})}},setAnonymousId:function(e,n){K.storage.setItem(A,e,n)},events:{core:z,plugins:w}},Q=s.middlewares.concat([function(e){return function(e){return function(n){return n.meta||(n.meta=Ue()),e(n)}}},L(Le),ce(K,x,{all:_,plugins:w}),se(f),C(K),B(K),L(Ce)]),Y={context:xe,user:R(f),page:Ae,track:he,plugins:fe(x),queue:ye},Z=N,ee=N;if(g&&n.debug){var ne=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;ne&&(Z=ne({trace:!0,traceLimit:25})),ee=function(){return 0===arguments.length?ze():l(typeof arguments[0])?Me():Me().apply(null,arguments)}}var te,re=function(e){return Object.keys(e).reduce(function(n,t){return ke.includes(t)||(n[t]=e[t]),n},{})}(n),ie=s.pluginsArray.reduce(function(e,n){var t=n.name,r=n.config,i=n.loaded,a=s.pluginEnabled[t];return e[t]={enabled:a,initialized:!!a&&Boolean(!n.initialize),loaded:Boolean(i()),config:r||{}},e},{}),ae={context:re,user:F,plugins:ie},oe=P(function(e){for(var n=Object.keys(e),t={},r=0;r<n.length;r++){var i=n[r];typeof e[i]===y&&(t[i]=e[i])}var a,o=Object.keys(t);try{!function(e){Object.keys(e).forEach(function(n){var t=e[n];if(typeof t(void 0,{type:\"@@redux/INIT\"})===b||typeof t(void 0,{type:I})===b)throw new Error(\"reducer \"+n+\" \"+b)})}(t)}catch(e){a=e}return function(e,n){if(void 0===e&&(e={}),a)throw a;for(var r=!1,i={},u=0;u<o.length;u++){var c=o[u],s=e[c],l=(0,t[c])(s,n);if(typeof l===b){var f=S(c,n);throw new Error(f)}i[c]=l,r=r||l!==s}return r?i:e}}(v({},Y,t)),ae,ee(Z(O.apply(void 0,Q))));oe.dispatch=(te=oe.dispatch,function(e,n,t){var r=v({},e,{meta:Ue(e.meta,n,qe(t))});return te.apply(null,[r])});var ue=Object.keys(h);oe.dispatch({type:q.bootstrap,plugins:ue,config:re,params:J,user:F,initialUser:c,persistedUser:W});var de=ue.filter(function(e){return s.pluginEnabled[e]}),pe=ue.filter(function(e){return!s.pluginEnabled[e]});return oe.dispatch({type:q.registerPlugins,plugins:ue,enabled:s.pluginEnabled}),s.pluginsArray.map(function(e,n){var t=e.bootstrap,r=e.config,i=e.name;t&&d(t)&&t({instance:K,config:r,payload:e}),oe.dispatch({type:q.registerPluginType(i),name:i,enabled:s.pluginEnabled[i],plugin:e}),s.pluginsArray.length===n+1&&oe.dispatch({type:q.initializeStart,plugins:de,disabled:pe})}),Te(function(e){oe.dispatch({type:e?q.offline:q.online})}),function(e,n,t){setInterval(function(){return H(e,n,t)},3e3)}(oe,x,K),K}var Le=\"before\",Ce=\"after\";export{Ve as Analytics,k as CONSTANTS,q as EVENTS,Ve as default,Ve as init};\n//# sourceMappingURL=analytics-core.module.js.map\n","import{remove as e,set as o,get as n}from\"@analytics/global-storage-utils\";var t=\"cookie\",i=a(),r=d,c=d;function u(o){return i?d(o,\"\",-1):e(o)}function a(){if(void 0!==i)return i;var e=\"cookiecookie\";try{d(e,e),i=-1!==document.cookie.indexOf(e),u(e)}catch(e){i=!1}return i}function d(e,t,r,c,u,a){if(\"undefined\"!=typeof window){var d=arguments.length>1;return!1===i&&(d?o(e,t):n(e)),d?document.cookie=e+\"=\"+encodeURIComponent(t)+(r?\"; expires=\"+new Date(+new Date+1e3*r).toUTCString()+(c?\"; path=\"+c:\"\")+(u?\"; domain=\"+u:\"\")+(a?\"; secure\":\"\"):\"\"):decodeURIComponent(((\"; \"+document.cookie).split(\"; \"+e+\"=\")[1]||\"\").split(\";\")[0])}}export{t as COOKIE,r as getCookie,a as hasCookies,u as removeCookie,c as setCookie};\n//# sourceMappingURL=analytics-util-cookie.module.js.map\n","import{hasSupport as l,wrap as o,get as a,set as t,remove as e}from\"@analytics/global-storage-utils\";var r=\"localStorage\",g=l.bind(null,\"localStorage\"),c=o(\"localStorage\",\"getItem\",a),m=o(\"localStorage\",\"setItem\",t),S=o(\"localStorage\",\"removeItem\",e);export{r as LOCAL_STORAGE,c as getItem,g as hasLocalStorage,S as removeItem,m as setItem};\n//# sourceMappingURL=analytics-util-localstorage.module.js.map\n","import{hasSupport as e,wrap as s,get as o,set as t,remove as r}from\"@analytics/global-storage-utils\";var a=\"sessionStorage\",i=e.bind(null,\"sessionStorage\"),g=s(\"sessionStorage\",\"getItem\",o),n=s(\"sessionStorage\",\"setItem\",t),l=s(\"sessionStorage\",\"removeItem\",r);export{a as SESSION_STORAGE,g as getSessionItem,i as hasSessionStorage,l as removeSessionItem,n as setSessionItem};\n//# sourceMappingURL=analytics-util-session-storage.module.js.map\n","import{get as t,GLOBAL as o,set as e,remove as r}from\"@analytics/global-storage-utils\";export{GLOBAL,globalContext}from\"@analytics/global-storage-utils\";import{hasCookies as a,COOKIE as i,getCookie as s,setCookie as n,removeCookie as l}from\"@analytics/cookie-utils\";export{COOKIE,getCookie,hasCookies,removeCookie,setCookie}from\"@analytics/cookie-utils\";import{hasLocalStorage as u,LOCAL_STORAGE as c}from\"@analytics/localstorage-utils\";export{LOCAL_STORAGE,hasLocalStorage}from\"@analytics/localstorage-utils\";import{hasSessionStorage as g,SESSION_STORAGE as f}from\"@analytics/session-storage-utils\";export{SESSION_STORAGE,hasSessionStorage}from\"@analytics/session-storage-utils\";import{isObject as m,ANY as S,ALL as p,isUndefined as v,isString as y}from\"@analytics/type-utils\";export{ALL,ANY}from\"@analytics/type-utils\";function I(t){var o=t;try{if(\"true\"===(o=JSON.parse(t)))return!0;if(\"false\"===o)return!1;if(m(o))return o;parseFloat(o)===o&&(o=parseFloat(o))}catch(t){}if(null!==o&&\"\"!==o)return o}var k=u(),O=g(),x=a();function C(o,e){if(o){var r=A(e),a=!N(r),i=d(r)?I(localStorage.getItem(o)):void 0;if(a&&!v(i))return i;var n=h(r)?I(s(o)):void 0;if(a&&n)return n;var l=E(r)?I(sessionStorage.getItem(o)):void 0;if(a&&l)return l;var u=t(o);return a?u:{localStorage:i,sessionStorage:l,cookie:n,global:u}}}function L(r,a,l){if(r&&!v(a)){var u={},g=A(l),m=JSON.stringify(a),S=!N(g);return d(g)&&(u[c]=F(c,a,I(localStorage.getItem(r))),localStorage.setItem(r,m),S)?u[c]:h(g)&&(u[i]=F(i,a,I(s(r))),n(r,m),S)?u[i]:E(g)&&(u[f]=F(f,a,I(sessionStorage.getItem(r))),sessionStorage.setItem(r,m),S)?u[f]:(u[o]=F(o,a,t(r)),e(r,a),S?u[o]:u)}}function b(t,e){if(t){var a=A(e),s=C(t,p),n={};return!v(s.localStorage)&&d(a)&&(localStorage.removeItem(t),n[c]=s.localStorage),!v(s.cookie)&&h(a)&&(l(t),n[i]=s.cookie),!v(s.sessionStorage)&&E(a)&&(sessionStorage.removeItem(t),n[f]=s.sessionStorage),!v(s.global)&&G(a,o)&&(r(t),n[o]=s.global),n}}function A(t){return t?y(t)?t:t.storage:S}function d(t){return k&&G(t,c)}function h(t){return x&&G(t,i)}function E(t){return O&&G(t,f)}function N(t){return t===p||\"all\"===t}function G(t,o){return t===S||t===o||N(t)}function F(t,o,e){return{location:t,current:o,previous:e}}var J={setItem:L,getItem:C,removeItem:b};export{J as default,C as getItem,b as removeItem,L as setItem};\n//# sourceMappingURL=analytics-util-storage.module.js.map\n","import { Analytics } from '@analytics/core';\nexport { CONSTANTS, EVENTS } from '@analytics/core';\nimport storage from '@analytics/storage-utils';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction analyticsLib() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultSettings = {\n storage: storage\n };\n return Analytics(_objectSpread2(_objectSpread2({}, defaultSettings), opts));\n}\n\nexport { analyticsLib as Analytics, analyticsLib as default, analyticsLib as init };\n","function facebookScriptInit(f, b, e, v, n, t, s) {\n if (f.fbq) return; n = f.fbq = function () {\n n.callMethod ?\n n.callMethod.apply(n, arguments) : n.queue.push(arguments)\n };\n if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0';\n n.queue = []; t = b.createElement(e); t.async = !0;\n t.src = v; s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s)\n}\n\nfunction facebookInit({ trackingId }) {\n facebookScriptInit(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');\n // Can pass more stuff as additional arg?\n // {\n // autoConfig: true,\n // debug: true,\n // }\n window.fbq('init', trackingId);\n}\n\nfunction facebook(pluginConfig = {}) {\n return {\n name: 'facebook',\n config: pluginConfig,\n initialize: function ({ config, instance }) {\n if (!config.trackingId) throw new Error('No Facebook trackingId defined');\n facebookInit({ trackingId: config.trackingId });\n },\n page: function ({ payload, config, instance }) {\n window.fbq('track', 'PageView');\n },\n track: function ({ payload, config, instance }) {\n window.fbq('track', payload.event, payload.properties)\n },\n identify: function ({ payload, config }) {\n // not supported yet\n },\n loaded: function () {\n return !!window.fbq;\n }\n };\n}\n\nexport { facebookInit, facebook };","function gtag() {\n window.dataLayer.push(arguments);\n}\n\nwindow.gtag = gtag;\n\n// https://github.com/idmadj/ga-gtag/blob/master/src/index.js\nfunction gtagInit({ trackingId, configParams = {}, setParams = {} }) {\n var scriptId = 'ga-gtag';\n\n if (document.getElementById(scriptId)) return;\n\n var head = document.head;\n var script = document.createElement('script');\n script.id = scriptId;\n script.type = 'text/javascript';\n script.async = true;\n script.src = 'https://www.googletagmanager.com/gtag/js?id=' + trackingId;\n head.insertBefore(script, head.firstChild);\n\n window.dataLayer = window.dataLayer || [];\n\n gtag('js', new Date());\n if (setParams) {\n gtag('set', setParams);\n }\n gtag('config', trackingId, configParams);\n}\n\nfunction googleAnalytics4(pluginConfig = {}) {\n return {\n name: 'google-analytics-4',\n config: pluginConfig,\n initialize: function ({ config, instance }) {\n if (!config.trackingId) throw new Error('No GA trackingId defined');\n\n var configParams = {};\n var setParams = {};\n if (config.customDimensions) {\n var customMap = {};\n for (var i = 0; i < config.customDimensions.length; i++) {\n var customDim = config.customDimensions[i];\n configParams[customDim.name] = customDim.callback(instance, config);\n customMap['dimension' + (i + 1)] = customDim.name;\n }\n setParams['custom_map'] = customMap;\n }\n\n gtagInit({ trackingId: config.trackingId, configParams, setParams });\n },\n page: function ({ payload, config, instance }) {\n // no-op: GA4 sends page on init and page is just another \"event\"\n },\n track: function ({ payload, config, instance }) {\n gtag('event', payload.event, payload.properties);\n },\n identify: function ({ payload, config }) {\n // not supported yet\n },\n loaded: function () {\n return !!window.gtag;\n }\n };\n}\n\nexport { gtag, googleAnalytics4 };","export var urlParams = new URLSearchParams(window.location.search);\nvar DEBUG = urlParams.get('zdbg');\nvar zarGlobal = {};\nconst undef = 'undefined';\n\nexport function dbg() {\n if (DEBUG != 1) return;\n console.debug(...arguments);\n}\n\nexport function warn(msg) {\n console.warn(msg)\n if (window.Rollbar) {\n window.Rollbar.warning(msg);\n }\n}\n\nexport function isFunc(value) {\n return value && (Object.prototype.toString.call(value) === \"[object Function]\" || \"function\" === typeof value || value instanceof Function);\n}\n\nexport function isBot() {\n try {\n var ua = navigator.userAgent || ''\n var bots = new RegExp([\n /bot/, /spider/, /crawl/, /mediapartners/, /Google-Read-Aloud/, /semrush/\n ].map((r) => r.source).join(\"|\"), \"i\")\n return bots.test(ua)\n } catch (e) {\n return false\n }\n}\n\nexport function afterDOMContentLoaded(func) {\n if (document.readyState === \"complete\"\n || document.readyState === \"loaded\"\n || document.readyState === \"interactive\") {\n func()\n } else {\n window.addEventListener('DOMContentLoaded', func);\n }\n}\n\n// Copied from analytics-utils to keep bundle size down\n\nvar supportsSessionStorage = hasSessionStorage();\n\nfunction hasSessionStorage() {\n if (typeof supportsSessionStorage !== undef) {\n return supportsSessionStorage;\n }\n supportsSessionStorage = true;\n try {\n sessionStorage.setItem(undef, undef);\n sessionStorage.removeItem(undef);\n } catch (e) {\n supportsSessionStorage = false;\n }\n return supportsSessionStorage;\n}\n\nexport function getSessionStorage(key) {\n // Get from SS if supported, fall back to global\n var value;\n var globalValue = zarGlobal[key];\n if (supportsSessionStorage) {\n value = sessionStorage.getItem(key);\n if ((!value) && globalValue) {\n value = globalValue;\n // Restore session storage\n sessionStorage.setItem(key, value);\n }\n } else {\n value = globalValue;\n }\n return value ? JSON.parse(value) : undefined;\n}\n\nexport function setSessionStorage(key, value) {\n // Set both SS (if supported) and global\n var value_str = JSON.stringify(value);\n if (supportsSessionStorage) {\n sessionStorage.setItem(key, value_str);\n }\n zarGlobal[key] = value_str;\n}\n\nexport function removeSessionStorage(key) {\n // Remove both SS (if supported) and global\n if (supportsSessionStorage) {\n sessionStorage.removeItem(key);\n }\n delete zarGlobal[key];\n}\n\nexport function hasAdBlock() {\n // Create fake ad\n var fakeAd = document.createElement('div');\n fakeAd.innerHTML = ' ';\n fakeAd.className = 'pub_300x250 pub_300x250m pub_728x90 text-ad textAd text_ad text_ads text-ads text-ad-links';\n fakeAd.setAttribute('style', 'width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; top: -1000px !important;');\n try {\n // insert into page\n document.body.appendChild(fakeAd);\n if (\n document.body.getAttribute('abp') !== null ||\n fakeAd.offsetHeight === 0 ||\n fakeAd.clientHeight === 0\n ) {\n return true;\n }\n if (typeof getComputedStyle !== 'undefined') {\n var css = window.getComputedStyle(fakeAd, null);\n if (css && (css.getPropertyValue('display') === 'none' || css.getPropertyValue('visibility') === 'hidden')) {\n return true;\n }\n }\n // remove from page\n document.body.removeChild(fakeAd);\n } catch (e) {\n // swallow errors\n }\n return false;\n}\n\nfunction makeRequest({ method, url, data, json = true }) {\n return new Promise(function (resolve, reject) {\n var xhr = new XMLHttpRequest();\n xhr.open(method, url);\n xhr.withCredentials = true;\n\n if (json) {\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n }\n\n xhr.onload = function () {\n if (this.status >= 200 && this.status < 300) {\n if (json) {\n resolve(JSON.parse(xhr.response));\n } else {\n resolve(xhr.response);\n }\n } else {\n reject({\n status: this.status,\n message: xhr.statusText\n });\n }\n };\n xhr.onerror = function () {\n reject({\n status: this.status,\n message: \"Network Error\"\n });\n };\n if (data) {\n xhr.send(data);\n } else {\n xhr.send();\n }\n });\n}\n\nfunction formatParams(params) {\n return \"?\" + Object\n .keys(params)\n .map(function (key) {\n return key + \"=\" + encodeURIComponent(params[key]);\n })\n .join(\"&\");\n}\n\nasync function postBeacon({ url, data }) {\n if (window &&\n window.navigator &&\n typeof window.navigator.sendBeacon === \"function\" &&\n typeof window.Blob === \"function\") {\n try {\n const blob = new Blob([JSON.stringify(data)], { type: 'text/plain; charset=UTF-8' });\n if (window.navigator.sendBeacon(url, blob)) {\n return true;\n }\n return false;\n } catch (e) {\n warn(\"postBeacon:\", e)\n return false;\n }\n }\n return false;\n}\n\nexport async function httpGet({ url, params = null, json = true }) {\n var finalUrl = url;\n if (params) {\n finalUrl = finalUrl + formatParams(params);\n }\n return await makeRequest({ method: \"GET\", url: finalUrl, json });\n}\n\nexport async function httpPost({ url, data, json = true, beacon = false }) {\n var finalData = data;\n if (json) {\n finalData = JSON.stringify(finalData);\n }\n if (beacon) {\n var res = await postBeacon({ url, data });\n if (res) {\n return;\n }\n dbg('Beacon failed')\n }\n return await makeRequest({ method: \"POST\", url, data: finalData, json });\n}\n\n","import { Analytics } from \"analytics\";\nimport { facebook } from \"./facebook\";\nimport { googleAnalytics4 } from \"./googleAnalytics4\";\nimport {\n dbg,\n getSessionStorage,\n setSessionStorage,\n hasAdBlock,\n isBot,\n httpGet,\n httpPost,\n warn,\n afterDOMContentLoaded,\n isFunc\n} from \"./utils\";\n\nvar VID_KEY = \"__zar_vid\";\nvar NUMBER_POOL_SUCCESS = \"success\";\nvar NUMBER_POOL_ERROR = \"error\";\nvar NUMBER_POOL_RENEWAL_TIME_MS = 30 * 1000;\nvar getNumberFailureCount = 0;\nvar MAX_GET_NUMBER_FAILURES = 3;\nvar poolIntervals = {};\n\nwindow.zarPoolData = window.zarPoolData || null;\nwindow.zarPoolDLObserverDone = window.zarPoolDLObserverDone || false;\nwindow.zarPoolDataLayer = window.zarPoolDataLayer || [];\n\n// Tracks original phone numbers that have been replaced so\n// we can revert if necessary.\nvar numberOverlayMap = new Map();\n\nfunction generateVisitId() {\n return (\n Date.now().toString(36) + \".\" + Math.random().toString(36).substring(2)\n );\n}\n\nfunction initId(key, generator, getter, setter) {\n var id;\n var isNew = false;\n var origReferrer = null;\n var idObj = getter(key);\n\n if (!idObj || !idObj.id) {\n id = generator();\n origReferrer = document.referrer;\n isNew = true;\n dbg(\"new ID for\", key, \"-\", id);\n } else {\n id = idObj.id;\n origReferrer = idObj.origReferrer;\n }\n\n var result = { id, t: Date.now(), origReferrer, isNew };\n setter(key, result);\n return result;\n}\n\nfunction initIDs() {\n var vidResult = initId(\n VID_KEY,\n generateVisitId,\n getSessionStorage,\n setSessionStorage\n );\n return { vid: vidResult };\n}\n\nfunction getDefaultApiUrl() {\n return window.location.protocol + \"://\" + window.location.host + \"/api/v2\";\n}\n\nfunction getIDObj(key) {\n return getSessionStorage(key);\n}\n\nfunction getID(key) {\n var obj = getIDObj(key);\n return obj ? obj.id : null;\n}\n\nfunction getStorage() {\n return {\n vid: getIDObj(VID_KEY)\n };\n}\n\nfunction getIDs() {\n return {\n vid: getID(VID_KEY)\n };\n}\n\nfunction extractPhoneNumber({ elem }) {\n // NOTE: only tested for US numbers!\n var numberText = null;\n var number = null;\n var href = null;\n var regex = new RegExp(\n \"\\\\+?\\\\(?\\\\d*\\\\)? ?\\\\(?\\\\d+\\\\)?\\\\d*([\\\\s./-]?\\\\d{2,})+\",\n \"g\"\n );\n\n if (elem.href && elem.href.startsWith(\"tel:\")) {\n href = elem.href;\n }\n var text = elem.innerText;\n var html = elem.innerHTML;\n var match = regex.exec(text);\n if (match) {\n numberText = match[0].trim();\n number = numberText\n .replace(\"+\", \"\")\n .replace(/-/g, \"\")\n .replace(/ /g, \"\")\n .replace(\"(\", \"\")\n .replace(\")\", \"\")\n .replace(/^1/, \"\");\n }\n return { text, html, numberText, href, number };\n}\n\nfunction overlayPhoneNumber({ elems, number, force = false }) {\n var origNum;\n var overlayNum = number;\n if (!number.startsWith(\"+1\")) {\n overlayNum = \"+1\" + number; // NOTE: expects 10-digit US numbers\n }\n\n for (var i = 0; i < elems.length; i++) {\n if (numberOverlayMap.has(elems[i])) {\n if (force) {\n origNum = numberOverlayMap.get(elems[i]);\n } else {\n dbg(\"element already in overlay map:\", elems[i]);\n continue;\n }\n }\n\n var elemNum = extractPhoneNumber({ elem: elems[i] });\n\n if (!origNum) {\n origNum = elemNum;\n } else if (\n !force &&\n elemNum.number &&\n origNum.number &&\n origNum.number !== elemNum.number\n ) {\n warn(\n \"overlaying multiple numbers with a single number\",\n origNum.number,\n elemNum.number\n );\n }\n\n dbg(\"overlaying\", overlayNum, \"on\", elems[i]);\n\n // Store the original values if this is the first time overlaying\n if (!numberOverlayMap.has(elems[i])) {\n numberOverlayMap.set(elems[i], elemNum);\n }\n\n if (elemNum.href) {\n elems[i].href = \"tel:\" + overlayNum;\n }\n\n if (elemNum.numberText) {\n // If there is a phone number present in the text...\n elems[i].innerHTML = \"\";\n if (elemNum.text) {\n var overlay = overlayNum;\n if (elemNum.numberText.indexOf(\"-\") > -1) {\n overlay =\n overlayNum.slice(2, 5) +\n \"-\" +\n overlayNum.slice(5, 8) +\n \"-\" +\n overlayNum.slice(8, 12);\n }\n if (elemNum.html.indexOf(\"<img\") > -1) {\n var numberHtml = elemNum.html.replace(elemNum.numberText, overlay);\n elems[i].innerHTML = numberHtml;\n } else {\n var numberText = elemNum.text.replace(elemNum.numberText, overlay);\n elems[i].appendChild(document.createTextNode(numberText));\n }\n } else {\n elems[i].appendChild(document.createTextNode(overlayNum));\n }\n } else {\n dbg(\"no number text found:\", elems[i]);\n }\n }\n}\n\nfunction revertOverlayNumbers({ elems }) {\n for (var i = 0; i < elems.length; i++) {\n if (numberOverlayMap.has(elems[i])) {\n var currentHTML = elems[i].innerHTML;\n var origElemData = numberOverlayMap.get(elems[i]);\n dbg(\"orig:\", origElemData);\n var origHTML = origElemData.html;\n dbg(\"reverting\", currentHTML, \"to\", origHTML);\n elems[i].innerHTML = origHTML;\n if (origElemData.href) {\n elems[i].href = origElemData.href;\n }\n numberOverlayMap.delete(elems[i]);\n } else {\n dbg(\"element not in map:\", elems[i]);\n }\n }\n}\n\nfunction clearPoolInterval(poolId) {\n clearInterval(poolIntervals[poolId]);\n delete poolIntervals[poolId];\n}\n\nfunction clearPoolIntervals() {\n for (var poolId in poolIntervals) {\n clearPoolInterval(poolId);\n }\n}\n\nasync function getPoolNumber({\n poolId,\n apiUrl,\n number = null,\n context = null\n}) {\n var payload = {\n pool_id: poolId,\n number: number,\n context: context,\n properties: {\n zar: getStorage()\n }\n };\n var resp = await httpPost({ url: `${apiUrl}/number_pool`, data: payload });\n return resp;\n}\n\nfunction poolActive() {\n return (\n window.zarPoolData &&\n window.zarPoolData.status === NUMBER_POOL_SUCCESS &&\n window.zarPoolData.number\n );\n}\n\nfunction drainPoolDataLayer() {\n if (!window.zarPoolDataLayer || !Array.isArray(window.zarPoolDataLayer)) {\n return {};\n }\n\n var mergedObject = {};\n for (var i = 0; i < window.zarPoolDataLayer.length; i++) {\n var obj = window.zarPoolDataLayer[i];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n mergedObject[key] = obj[key];\n }\n }\n }\n\n window.zarPoolDataLayer.length = 0;\n return mergedObject;\n}\n\nasync function updateTrackingNumberContext({\n apiUrl,\n poolId,\n number,\n context\n}) {\n if (!poolActive()) {\n warn(\"no valid pool data, not updating context\");\n return;\n }\n\n var payload = {\n pool_id: poolId,\n number: number,\n context: context,\n properties: {\n zar: getStorage()\n }\n };\n var resp = await httpPost({ url: `${apiUrl}/update_number`, data: payload });\n return resp;\n}\n\nasync function getPoolStats({ apiUrl, key = null, with_contexts = false }) {\n var params = {\n key,\n with_contexts\n };\n var resp = await httpGet({\n url: `${apiUrl}/number_pool_stats`,\n params: params\n });\n return resp;\n}\n\nasync function renewTrackingPool({\n overlayElements,\n apiUrl = getDefaultApiUrl(),\n contextCallback = null\n} = {}) {\n var context = drainPoolDataLayer() || {};\n if (contextCallback) {\n context = contextCallback(context) || {};\n }\n\n const poolId = window.zarPoolData.pool_id;\n const number = window.zarPoolData.number;\n\n try {\n var resp = await getPoolNumber({ poolId, apiUrl, number, context });\n } catch (e) {\n var msg = \"error getting number: \" + JSON.stringify(e);\n warn(msg);\n getNumberFailureCount++;\n if (getNumberFailureCount >= MAX_GET_NUMBER_FAILURES) {\n warn(\"max failures, stopping pool\");\n clearPoolIntervals();\n if (overlayElements) {\n revertOverlayNumbers({ elems: overlayElements });\n }\n }\n return { status: NUMBER_POOL_ERROR, msg };\n }\n\n if (resp.status === NUMBER_POOL_SUCCESS && resp.number) {\n var force = false;\n if (resp.number !== window.zarPoolData.number) {\n warn(\n \"number changed from \" +\n window.zarPoolData.number +\n \" to \" +\n resp.number\n );\n window.zarPoolData.number = resp.number;\n force = true;\n }\n if (overlayElements) {\n overlayPhoneNumber({\n elems: overlayElements,\n number: resp.number,\n force\n });\n }\n } else {\n if (overlayElements) {\n revertOverlayNumbers({ elems: overlayElements });\n }\n if (poolIntervals[poolId]) {\n clearInterval(poolIntervals[poolId]);\n delete poolIntervals[poolId];\n }\n }\n\n return resp;\n}\n\nfunction getPoolId(poolId) {\n if (isFunc(poolId)) return poolId();\n return poolId;\n}\n\nfunction initPoolDataLayerObserver(apiUrl) {\n if (window.zarPoolDLObserverDone) {\n return;\n }\n\n if (!poolActive()) {\n return;\n }\n\n var originalPush = window.zarPoolDataLayer.push;\n window.zarPoolDataLayer.push = function (...args) {\n var result = originalPush.apply(this, args);\n var context = drainPoolDataLayer();\n if (!context) {\n return result;\n }\n updateTrackingNumberContext({\n apiUrl,\n poolId: window.zarPoolData.pool_id,\n number: window.zarPoolData.number,\n context\n });\n return result;\n };\n\n // Do an initial drain in case data was added between contextCallback\n // and the observer being set up.\n var context = drainPoolDataLayer();\n if (context) {\n updateTrackingNumberContext({\n apiUrl,\n poolId: window.zarPoolData.pool_id,\n number: window.zarPoolData.number,\n context\n });\n }\n\n window.zarPoolDLObserverDone = true;\n}\n\nasync function initTrackingPool({ poolData, poolConfig, apiUrl } = {}) {\n var msg;\n\n if (\n !poolConfig ||\n !poolConfig.poolId ||\n !poolConfig.overlayQuerySelector ||\n !apiUrl\n ) {\n msg = \"missing pool config: \" + JSON.stringify(poolConfig);\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return poolIntervals;\n }\n\n var context = drainPoolDataLayer() || {};\n if (poolConfig.contextCallback) {\n context = poolConfig.contextCallback(context) || {};\n }\n\n var poolId = getPoolId(poolConfig.poolId);\n if (!poolId) {\n msg = \"no pool ID\";\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return poolIntervals;\n }\n\n if (!poolData) {\n try {\n poolData = await getPoolNumber({ poolId, apiUrl, number: null, context });\n } catch (e) {\n msg = \"error getting number on init: \" + JSON.stringify(e);\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return poolIntervals;\n }\n }\n\n window.zarPoolData = poolData;\n\n if (poolActive()) {\n try {\n initPoolDataLayerObserver(apiUrl);\n } catch (e) {\n warn(\"data layer observer error: \" + JSON.stringify(e));\n }\n\n afterDOMContentLoaded(function () {\n var overlayElements = document.querySelectorAll(\n poolConfig.overlayQuerySelector\n );\n if (!overlayElements) {\n var msg = \"No elems found for:\" + poolConfig.overlayQuerySelector;\n warn(msg);\n if (poolConfig.initCallback) {\n poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });\n }\n return;\n }\n\n overlayPhoneNumber({ elems: overlayElements, number: poolData.number });\n\n var interval = setInterval(function () {\n try {\n renewTrackingPool({\n overlayElements,\n apiUrl,\n contextCallback: poolConfig.contextCallback\n });\n } catch (e) {\n var msg = \"error on interval: \" + JSON.stringify(e);\n warn(msg);\n }\n }, poolConfig.renewalInterval || NUMBER_POOL_RENEWAL_TIME_MS);\n\n poolIntervals[poolData.pool_id] = interval;\n if (poolConfig.initCallback) {\n poolConfig.initCallback(poolData);\n }\n });\n }\n\n return poolIntervals;\n}\n\nfunction zar({ apiUrl, poolConfig }) {\n initIDs();\n\n return {\n name: \"zar\",\n config: { apiUrl, poolConfig },\n initialize: function ({ config }) {},\n loaded: function () {\n return true;\n },\n pageStart: function ({ payload, config, instance }) {\n payload.properties.zar = getStorage();\n payload.properties.referrer = document.referrer;\n payload.properties.is_bot = isBot();\n // Remove redundant values since url has all of this\n if (\"hash\" in payload.properties) {\n delete payload.properties[\"hash\"];\n }\n if (\"path\" in payload.properties) {\n delete payload.properties[\"path\"];\n }\n if (\"search\" in payload.properties) {\n delete payload.properties[\"search\"];\n }\n\n try {\n var pcfg = config.poolConfig;\n if (pcfg && pcfg.poolId) {\n payload.properties.pool_id = getPoolId(pcfg.poolId);\n var context = drainPoolDataLayer() || {};\n if (pcfg.contextCallback) {\n payload.properties.pool_context =\n pcfg.contextCallback(context) || {};\n }\n }\n } catch (e) {\n warn(\"error getting pool id: \" + JSON.stringify(e));\n }\n return payload;\n },\n page: async function ({ payload, options, instance, config }) {\n dbg(\"page\", payload, options, config);\n var tries = 0;\n var maxTries = 3;\n var res;\n while (tries < maxTries) {\n try {\n res = await httpPost({ url: `${config.apiUrl}/page`, data: payload });\n break;\n } catch (e) {\n tries++;\n if (tries >= maxTries) {\n warn(\"error posting page: \" + JSON.stringify(e));\n throw e;\n }\n await new Promise((r) => setTimeout(r, 1000));\n }\n }\n if (res && res.pool_data) {\n initTrackingPool({\n poolData: res.pool_data,\n poolConfig: config.poolConfig,\n apiUrl: config.apiUrl\n });\n }\n },\n trackStart: function ({ payload, config, instance }) {\n payload.properties.zar = getStorage();\n payload.properties.url = window.location.href;\n payload.properties.referrer = document.referrer;\n return payload;\n },\n track: function ({ payload, options, instance, config }) {\n dbg(\"track\", payload);\n httpPost({ url: `${config.apiUrl}/track`, data: payload, beacon: true });\n },\n methods: {\n apiUrl() {\n return apiUrl;\n },\n poolConfig() {\n return poolConfig;\n },\n initIDs() {\n return initIDs();\n },\n getIDs() {\n return getIDs();\n },\n getStorage() {\n return getStorage();\n },\n getVID() {\n return getID(VID_KEY);\n },\n hasAdBlock() {\n return hasAdBlock();\n },\n isBot() {\n return isBot();\n },\n initTrackingPool({ poolConfig }) {\n var plugin = this.instance.plugins.zar;\n return initTrackingPool({\n poolData: null,\n poolConfig: Object.assign(plugin.poolConfig(), poolConfig || {}),\n apiUrl: plugin.apiUrl()\n });\n },\n updateTrackingNumberContext({ number, context }) {\n var plugin = this.instance.plugins.zar;\n var poolConfig = plugin.poolConfig();\n return updateTrackingNumberContext({\n apiUrl: this.instance.plugins.zar.apiUrl(),\n poolId: getPoolId(poolConfig.poolId),\n number,\n context\n });\n },\n getPoolIntervals() {\n return poolIntervals;\n },\n clearPoolInterval({ poolId }) {\n clearPoolInterval(poolId);\n },\n clearPoolIntervals() {\n clearPoolIntervals();\n },\n extractPhoneNumbers({ elems }) {\n var res = [];\n for (var i = 0; i < elems.length; i++) {\n var elemRes = extractPhoneNumber({ elem: elems[i] });\n res.push(elemRes);\n }\n return res;\n },\n overlayPhoneNumber({ overlayElements, number }) {\n overlayPhoneNumber({ elems: overlayElements, number });\n },\n revertOverlayNumbers({ overlayElements }) {\n revertOverlayNumbers({ elems: overlayElements });\n },\n getPoolStats({ key = null, with_contexts = false }) {\n return getPoolStats({\n apiUrl: this.instance.plugins.zar.apiUrl(),\n key,\n with_contexts\n });\n }\n }\n };\n}\n\nfunction init({\n app,\n ga4Config = null,\n facebookConfig = null,\n apiUrl = null,\n poolConfig = null\n}) {\n // Opinionated init of Analytics\n if (!apiUrl) {\n apiUrl = getDefaultApiUrl();\n }\n\n var plugins = [zar({ apiUrl, poolConfig })];\n if (ga4Config) {\n plugins.push(googleAnalytics4(ga4Config));\n }\n if (facebookConfig) {\n plugins.push(facebook(facebookConfig));\n }\n\n return Analytics({ app, plugins });\n}\n\nexport { init, zar, Analytics };\n"],"names":["o","g","m","j","F","$","U","M","H","Y","J","W","V","q","I","Q","R","e","n","t","b","c","r","E","l","N","A","f","x","L","d","G","p","u","s","h","a","i","C","O","v","y","S","storage","Analytics"],"mappings":"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"}
|