@hai-platform/countly-sdk-web
Version:
Countly Web SDK
1 lines • 42 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Countly=t():e.Countly=t()}(window,function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(n,o,function(t){return e[t]}.bind(null,o));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=0)}([function(e,t,i){var n,o;o="undefined"!=typeof window?window:this,void 0===(n=function(){return function(e){"use strict";if("undefined"!=typeof window){(e=e||{}).features=["sessions","events","views","scrolls","clicks","forms","crashes","attribution","users","star-rating","location","apm","feedback","remote-config"],e.utm={source:!0,medium:!0,campaign:!0,term:!0,content:!0},e.q=e.q||[],e.onload=e.onload||[];var t="20.11.3",i="javascript_native_web",n=/^(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/,o=/(CountlySiteBot|nuhk|Googlebot|GoogleSecurityScanner|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver|bingbot|Google Web Preview|Mediapartners-Google|AdsBot-Google|Baiduspider|Ezooms|YahooSeeker|AltaVista|AVSearch|Mercator|Scooter|InfoSeek|Ultraseek|Lycos|Wget|YandexBot|Yandex|YaDirectFetcher|SiteBot|Exabot|AhrefsBot|MJ12bot|TurnitinBot|magpie-crawler|Nutch Crawler|CMS Crawler|rogerbot|Domnutch|ssearch_bot|XoviBot|netseer|digincore|fr-crawler|wesee|AliasIO|contxbot|PingdomBot|BingPreview|HeadlessChrome)/;e.CountlyClass=function(r){var s,a=this,S=!e.i,T=!1,B="/i",I=_("interval",r,500),M=_("queue_size",r,20),z=_("event_size",r,20),P=[],j=[],q={},H=[],J={},D=_("ignore_referrers",r,[]),V=null,R=!0,Y=0,F=null,U=0,X=0,G=0,$=_("fail_timeout",r,60),W=_("inactivity_time",r,20),Q=0,K=_("session_update",r,60),Z=_("max_events",r,10),ee=_("max_logs",r,100),te=_("use_session_cookie",r,!0),ie=_("session_cookie_timeout",r,30),ne=!0,oe=!1,re=_("offline_mode",r,!1),se={},ae={},ce=!0,de=p(),le=!0,ue=null;try{localStorage.setItem("cly_testLocal",!0),localStorage.removeItem("cly_testLocal")}catch(e){le=!1}for(var fe,me={},pe=0;pe<e.features.length;pe++)me[e.features[pe]]={};this.initialize=function(){if(this.serialize=r.serialize||e.serialize,this.deserialize=r.deserialize||e.deserialize,this.getViewName=r.getViewName||e.getViewName,this.getViewUrl=r.getViewUrl||e.getViewUrl,this.namespace=_("namespace",r,""),this.app_key=_("app_key",r,null),this.onload=_("onload",r,[]),this.utm=_("utm",r,{source:!0,medium:!0,campaign:!0,term:!0,content:!0}),this.ignore_prefetch=_("ignore_prefetch",r,!0),this.debug=_("debug",r,!1),this.test_mode=_("test_mode",r,!1),this.metrics=_("metrics",r,{}),this.headers=_("headers",r,{}),this.url=v(_("url",r,"")),this.app_version=_("app_version",r,"0.0"),this.country_code=_("country_code",r,null),this.city=_("city",r,null),this.ip_address=_("ip_address",r,null),this.ignore_bots=_("ignore_bots",r,!0),this.force_post=_("force_post",r,!1),this.proxy_url=_("proxy_url",r,null),this.remote_config=_("remote_config",r,!1),this.ignore_visitor=_("ignore_visitor",r,!1),this.require_consent=_("require_consent",r,!1),this.track_domains=_("track_domains",r,!0),this.storage=_("storage",r,"default"),"cookie"===this.storage&&(le=!1),Array.isArray(D)||(D=[]),""===this.url&&(Ne("Please provide server URL"),this.ignore_visitor=!0),Be("cly_ignore")&&(this.ignore_visitor=!0),function(){if(Be(a.namespace+"cly_id",void 0,!1,!0)){Be("cly_id",Be(a.namespace+"cly_id",void 0,!1,!0)),Be("cly_event",Be(a.namespace+"cly_event",void 0,!1,!0)),Be("cly_session",Be(a.namespace+"cly_session",void 0,!1,!0));var e=Be(a.namespace+"cly_queue",void 0,!1,!0);Array.isArray(e)&&Be("cly_queue",e=e.filter(function(e){return e.app_key===a.app_key})),Be(a.namespace+"cly_cmp_id",void 0,!1,!0)&&(Be("cly_cmp_id",Be(a.namespace+"cly_cmp_id",void 0,!1,!0)),Be("cly_cmp_uid",Be(a.namespace+"cly_cmp_uid",void 0,!1,!0))),Be(a.namespace+"cly_ignore",void 0,!1,!0)&&Be("cly_ignore",Be(a.namespace+"cly_ignore",void 0,!1,!0)),Be("cly_id",null,!1,!0),Be("cly_event",null,!1,!0),Be("cly_session",null,!1,!0),Be("cly_queue",null,!1,!0),Be("cly_cmp_id",null,!1,!0),Be("cly_cmp_uid",null,!1,!0),Be("cly_ignore",null,!1,!0)}}(),re?this.device_id||(this.device_id="[CLY]_temp_id"):this.device_id=_("device_id",r,Le()),P=Be("cly_queue")||[],j=Be("cly_event")||[],q=Be("cly_remote_configs")||{},ve(),window.name&&0===window.name.indexOf("cly:"))try{this.passed_data=JSON.parse(window.name.replace("cly:",""))}catch(e){Ne("Could not parse name",window.name)}else if(location.hash&&0===location.hash.indexOf("#cly:"))try{this.passed_data=JSON.parse(location.hash.replace("#cly:",""))}catch(e){Ne("Could not parse hash",location.hash)}if((this.passed_data&&this.passed_data.app_key&&this.passed_data.app_key===this.app_key||this.passed_data&&!this.passed_data.app_key&&S)&&this.passed_data.token&&this.passed_data.purpose&&(this.passed_data.token!==Be("cly_old_token")&&(Te(this.passed_data.token),Be("cly_old_token",this.passed_data.token)),this.passed_data.url=this.passed_data.url||this.url,"heatmap"===this.passed_data.purpose&&(this.ignore_visitor=!0,N(),L(this.passed_data.url+"/views/heatmap.js",A))),!this.ignore_visitor){if(Ne("Countly initialized"),location.search){for(var t=location.search.substring(1).split("&"),i={},n=!1,o=0;o<t.length;o++){var s=t[o].split("=");"cly_id"===s[0]?Be("cly_cmp_id",s[1]):"cly_uid"===s[0]?Be("cly_cmp_uid",s[1]):"cly_device_id"===s[0]?this.device_id=s[1]:0===(s[0]+"").indexOf("utm_")&&this.utm[s[0].replace("utm_","")]&&(i[s[0].replace("utm_","")]=s[1],n=!0)}if(n){for(var c in this.utm)i[c]?this.userData.set("utm_"+c,i[c]):this.userData.unset("utm_"+c);this.userData.save()}}re||this.device_id!==Be("cly_id")&&Be("cly_id",this.device_id),ke(),setTimeout(function(){Se(),a.remote_config&&a.fetch_remote_config(a.remote_config)},1)}document.documentElement.setAttribute("data-countly-useragent",navigator.userAgent)},this.group_features=function(e){if(e)for(var t in e)me[t]?Ne("Feature name "+t+" is already reserved"):"string"==typeof e[t]?me[t]={features:[e[t]]}:e[t]&&Array.isArray(e[t])&&e[t].length?me[t]={features:e[t]}:Ne("Incorrect feature list for "+t+" value: "+e[t]);else Ne("Incorrect features: "+e)},this.check_consent=function(e){return!(this.require_consent&&(me[e]?!me[e]||!me[e].optin:(Ne("No feature available for "+e),1)))},this.check_any_consent=function(){if(!this.require_consent)return!0;for(var e in me)if(me[e]&&me[e].optin)return!0;return!1},this.add_consent=function(e){if(Ne("Adding consent for "+e),Array.isArray(e))for(var t=0;t<e.length;t++)this.add_consent(e[t]);else me[e]?me[e].features?(me[e].optin=!0,this.add_consent(me[e].features)):!0!==me[e].optin&&(se[e]=!0,me[e].optin=!0,he(),setTimeout(function(){"sessions"===e&&ae.begin_session?(a.begin_session.apply(a,ae.begin_session),ae.begin_session=null):"views"===e&&ae.track_pageview&&(F=null,a.track_pageview.apply(a,ae.track_pageview),ae.track_pageview=null),ae.change_id&&(a.change_id.apply(a,ae.change_id),ae.change_id=null)},1)):Ne("No feature available for "+e)},this.remove_consent=function(e){if(Ne("Removing consent for "+e),Array.isArray(e))for(var t=0;t<e.length;t++)this.remove_consent(e[t]);else me[e]?(me[e].features?this.remove_consent(me[e].features):!1!==me[e].optin&&(se[e]=!1,he()),me[e].optin=!1):Ne("No feature available for "+e)};var he=function(){fe&&(clearTimeout(fe),fe=null),fe=setTimeout(function(){E(se)&&(Ee({consent:JSON.stringify(se)}),se={})},1e3)};function _e(e){if(!a.ignore_visitor)if(e.key){e.count||(e.count=1);var t=w(e,["key","count","sum","dur","segmentation"]);t.timestamp=h();var i=new Date;for(t.hour=i.getHours(),t.dow=i.getDay(),j.push(t);j.length>z;)j.shift();Be("cly_event",j),Ne("Adding event: ",e)}else Ne("Event must have key property")}this.enable_offline_mode=function(){re=!0,this.device_id="[CLY]_temp_id"},this.disable_offline_mode=function(e){re=!1,e&&this.device_id!==e?(this.device_id=e,Be("cly_id",this.device_id),Ne("Changing id")):(this.device_id=Le(),this.device_id!==Be("cly_id")&&Be("cly_id",this.device_id));var t=!1;if(P.length>0)for(var i=0;i<P.length;i++)"[CLY]_temp_id"===P[i].device_id&&(P[i].device_id=this.device_id,t=!0);t&&Be("cly_queue",P,!0)},this.begin_session=function(e,t){if(this.check_consent("sessions")){if(!T){this.report_orientation(),d(window,"resize",function(){a.report_orientation()}),s=p(),T=!0,R=!e;var i=Be("cly_session");if(t||!te||!i||parseInt(i)<=p()){Ne("Session started"),null===ue&&(ue=!0);var n={begin_session:1};n.metrics=JSON.stringify(Oe()),Ee(n)}Be("cly_session",p()+60*ie)}}else ae.begin_session=arguments},this.session_duration=function(e){this.check_consent("sessions")&&T&&(Ne("Session extended",e),Ee({session_duration:e}),xe())},this.end_session=function(e,t){this.check_consent("sessions")&&T&&(e=e||p()-s,be(),!te||t?(Ne("Ending session"),Ee({end_session:1,session_duration:e})):this.session_duration(e),T=!1)},this.change_id=function(e,t){if(this.device_id!==e){t||(j.length>0&&(Ee({events:JSON.stringify(j)}),Be("cly_event",j=[])),this.end_session(null,!0),J={});var i=this.device_id;this.device_id=e,Be("cly_id",this.device_id),Ne("Changing id"),t?this.check_any_consent()?Ee({old_device_id:i}):ae.change_id=arguments:this.begin_session(!R,!0),this.remote_config&&(Be("cly_remote_configs",q={}),this.fetch_remote_config(this.remote_config))}},this.add_event=function(e){this.check_consent("events")&&_e(e)},this.start_event=function(e){J[e]?Ne("Timed event with key "+e+" already started"):J[e]=p()},this.end_event=function(e){"string"==typeof e&&(e={key:e}),e.key?J[e.key]?(e.dur=p()-J[e.key],this.add_event(e),delete J[e.key]):Ne("Timed event with key "+e.key+" was not started"):Ne("Event must have key property")},this.report_orientation=function(e){this.check_consent("users")&&_e({key:"[CLY]_orientation",segmentation:{mode:e||(window.innerWidth>window.innerHeight?"landscape":"portrait")}})},this.report_conversion=function(e,t){this.check_consent("attribution")&&(e=e||Be("cly_cmp_id")||"cly_organic",t=t||Be("cly_cmp_uid"),e&&t?Ee({campaign_id:e,campaign_user:t}):e&&Ee({campaign_id:e}))},this.user_details=function(e){this.check_consent("users")&&(Ne("Adding user details: ",e),Ee({user_details:JSON.stringify(w(e,["name","username","email","organization","phone","picture","gender","byear","custom"]))}))};var ge={},ye=function(e,t,i){a.check_consent("users")&&(ge[e]||(ge[e]={}),"$push"===i||"$pull"===i||"$addToSet"===i?(ge[e][i]||(ge[e][i]=[]),ge[e][i].push(t)):ge[e][i]=t)};function ve(){a.ignore_prefetch&&void 0!==document.visibilityState&&"prerender"===document.visibilityState&&(a.ignore_visitor=!0),a.ignore_bots&&o.test(navigator.userAgent)&&(a.ignore_visitor=!0)}function we(e,i){var n=!!document.getElementById("countly-feedback-sticker-"+e._id);if(!n)try{var o=document.createElement("div");o.className="countly-iframe-wrapper",o.id="countly-iframe-wrapper-"+e._id;var r=document.createElement("span");r.className="countly-feedback-close-icon",r.id="countly-feedback-close-icon-"+e._id,r.innerText="x";var s=document.createElement("iframe");if(s.name="countly-feedback-iframe",s.id="countly-feedback-iframe",s.src=a.url+"/feedback?widget_id="+e._id+"&app_key="+a.app_key+"&device_id="+a.device_id+"&sdk_version="+t,document.body.appendChild(o),o.appendChild(r),o.appendChild(s),d(document.getElementById("countly-feedback-close-icon-"+e._id),"click",function(){document.getElementById("countly-iframe-wrapper-"+e._id).style.display="none",document.getElementById("cfbg").style.display="none"}),i){var c=document.createElementNS("http://www.w3.org/2000/svg","svg");c.id="feedback-sticker-svg",c.setAttribute("aria-hidden","true"),c.setAttribute("data-prefix","far"),c.setAttribute("data-icon","grin"),c.setAttribute("class","svg-inline--fa fa-grin fa-w-16"),c.setAttribute("role","img"),c.setAttribute("xmlns","http://www.w3.org/2000/svg"),c.setAttribute("viewBox","0 0 496 512");var l=document.createElementNS("http://www.w3.org/2000/svg","path");l.id="smileyPathInStickerSvg",l.setAttribute("fill","white"),l.setAttribute("d","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z");var u=document.createElement("span");u.innerText=e.trigger_button_text;var f=document.createElement("div");f.style.color=e.trigger_font_color<7?"#"+e.trigger_font_color:e.trigger_font_color,f.style.backgroundColor=e.trigger_bg_color.length<7?"#"+e.trigger_bg_color:e.trigger_bg_color,f.className="countly-feedback-sticker "+e.trigger_position+"-"+e.trigger_size,f.id="countly-feedback-sticker-"+e._id,c.appendChild(l),f.appendChild(c),f.appendChild(u),document.body.appendChild(f);var m=document.getElementById("smileyPathInStickerSvg");m&&(m.style.fill=e.trigger_font_color<7?"#"+e.trigger_font_color:e.trigger_font_color),d(document.getElementById("countly-feedback-sticker-"+e._id),"click",function(){document.getElementById("countly-iframe-wrapper-"+e._id).style.display="block",document.getElementById("cfbg").style.display="block"})}else document.getElementById("countly-iframe-wrapper-"+e._id).style.display="block",document.getElementById("cfbg").style.display="block"}catch(e){Ne("Somethings went wrong while element injecting process: "+e)}}function ke(){var e;if(void 0!==a.onload&&a.onload.length>0){for(e=0;e<a.onload.length;e++)"function"==typeof a.onload[e]&&a.onload[e](a);a.onload=[]}}function be(){if(F){var e={name:F};a.check_consent("views")&&_e({key:"[CLY]_view",dur:ce?p()-U:X,segmentation:e}),F=null}}function xe(){if(te){var e=Be("cly_session");(!e||parseInt(e)<=p())&&(T=!1,a.begin_session(!R)),Be("cly_session",p()+60*ie)}}function Ce(e){e.app_key=a.app_key,e.device_id=a.device_id,e.sdk_name=i,e.sdk_version=t,a.check_consent("location")?(a.country_code&&(e.country_code=a.country_code),a.city&&(e.city=a.city),null!==a.ip_address&&(e.ip_address=a.ip_address)):e.location="",e.timestamp=h();var n=new Date;e.hour=n.getHours(),e.dow=n.getDay()}function Ee(e){a.ignore_visitor||(a.app_key&&a.device_id?(Ce(e),P.length>M&&P.shift(),P.push(e),Be("cly_queue",P,!0)):Ne("app_key or device_id is missing"))}function Se(){if(ke(),a.test_mode||a.ignore_visitor)oe=!1;else{oe=!0;var t=0;if(S&&void 0!==e.q&&e.q.length>0){var i,n=e.q;for(e.q=[],t=0;t<n.length;t++)if(Ne("Processing queued call",i=n[t]),"function"==typeof i)i();else if(Array.isArray(i)&&i.length>0){var o=a,r=0;if(e.i[i[r]]&&(o=e.i[i[r]],r++),"function"==typeof o[i[r]])o[i[r]].apply(o,i.slice(r+1));else if(0===i[r].indexOf("userData.")){var c=i[r].replace("userData.","");"function"==typeof o.userData[c]&&o.userData[c].apply(o,i.slice(r+1))}else"function"==typeof e[i[r]]&&e[i[r]].apply(e,i.slice(r+1))}}if(T&&R&&ce){var d=p();d-s>K&&(a.session_duration(d-s),s=d)}if(j.length>0){if(j.length<=Z)Ee({events:JSON.stringify(j)}),j=[];else{var l=j.splice(0,Z);Ee({events:JSON.stringify(l)})}Be("cly_event",j)}if(!re&&P.length>0&&ne&&p()>G){ne=!1;var u=P[0];E(se)&&(fe&&(clearTimeout(fe),fe=null),u.consent=JSON.stringify(se),se={}),Ne("Processing request",u),Be("cly_queue",P,!0),Ae(a.url+B,u,function(e,t){Ne("Request Finished",t,e),e?G=p()+$:P.shift(),Be("cly_queue",P,!0),ne=!0})}setTimeout(Se,I)}}function Le(){return Be("cly_id")||m()}function Oe(){var e=JSON.parse(JSON.stringify(a.metrics||{}));if(e._app_version=e._app_version||a.app_version,e._ua=e._ua||navigator.userAgent,screen.width){var t=screen.width?parseInt(screen.width):0,i=screen.height?parseInt(screen.height):0;if(0!==t&&0!==i){var o=!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform);if(o&&window.devicePixelRatio)t=Math.round(t*window.devicePixelRatio),i=Math.round(i*window.devicePixelRatio);else if(90===Math.abs(window.orientation)){var r=t;t=i,i=r}e._resolution=e._resolution||t+"x"+i}}window.devicePixelRatio&&(e._density=e._density||window.devicePixelRatio);var s=navigator.language||navigator.browserLanguage||navigator.systemLanguage||navigator.userLanguage;if(void 0!==s&&(e._locale=e._locale||s),void 0!==document.referrer&&document.referrer.length){var c=n.exec(document.referrer);if(c&&c[11]&&c[11]!==window.location.hostname){var d=!1;if(D&&D.length)for(var l=0;l<D.length;l++)try{var u=new RegExp(D[l]);if(u.test(document.referrer)){Ne("Ignored:",document.referrer),d=!0;break}}catch(e){Ne("Problem with regex",D[l])}d||(e._store=e._store||document.referrer)}}return Ne("Got metrics",e),e}function Ne(){a.debug&&"undefined"!=typeof console&&(arguments[1]&&"object"==typeof arguments[1]&&(arguments[1]=JSON.stringify(arguments[1])),S||(arguments[0]="["+a.app_key+"] "+arguments[0]),console.log(Array.prototype.slice.call(arguments).join("\n")))}function Ae(e,t,i){if(a.proxy_url){if(!window.fetch)return;window.fetch(a.proxy_url,{method:"POST",body:JSON.stringify({url:e,params:t}),headers:{"Content-Type":"application/json"}}).then(e=>e.text()).then(e=>{i(!1,t,e)}).catch(e=>{i(!0,t,e)})}else try{Ne("Sending XML HTTP request");var n=window.XMLHttpRequest?new window.XMLHttpRequest:window.ActiveXObject?new window.ActiveXObject("Microsoft.XMLHTTP"):null,o=y(t=t||{}),r="GET";for(var s in(a.force_post||o.length>=2e3)&&(r="POST"),"GET"===r?n.open("GET",e+"?"+o,!0):(n.open("POST",e,!0),n.setRequestHeader("Content-type","application/x-www-form-urlencoded")),a.headers)n.setRequestHeader(s,a.headers[s]);n.onreadystatechange=function(){4===this.readyState&&this.status>=200&&this.status<300?"function"==typeof i&&i(!1,t,this.responseText):4===this.readyState&&(Ne("Failed Server XML HTTP request",this.status),"function"==typeof i&&i(!0,t))},"GET"===r?n.send():n.send(o)}catch(e){Ne("Failed XML HTTP request",e),"function"==typeof i&&i(!0,t)}}function Te(e){Be("cly_token",e)}function Be(e,t,i,n){if("none"!==a.storage){var o;if(n||(e=a.app_key+"/"+e,a.namespace&&(e=v(a.namespace)+"/"+e)),i=i||"localstorage"===a.storage,null!=t&&(t=a.serialize(t),le?localStorage.setItem(e,t):i||r(e,t,30)),void 0===t)return le?o=localStorage.getItem(e):i||(o=function(e){for(var t=e+"=",i=document.cookie.split(";"),n=0,o=i.length;n<o;n++){for(var r=i[n];" "===r.charAt(0);)r=r.substring(1,r.length);if(0===r.indexOf(t))return r.substring(t.length,r.length)}return null}(e)),a.deserialize(o);null===t&&(le?localStorage.removeItem(e):i||r(e,"",-1))}function r(e,t,i){var n=new Date;n.setTime(n.getTime()+24*i*60*60*1e3);var o="; expires="+n.toGMTString();document.cookie=e+"="+t+o+"; path=/"}}this.userData={set:function(e,t){ge[e]=t},unset:function(e){ge[e]=""},set_once:function(e,t){ye(e,t,"$setOnce")},increment:function(e){ye(e,1,"$inc")},increment_by:function(e,t){ye(e,t,"$inc")},multiply:function(e,t){ye(e,t,"$mul")},max:function(e,t){ye(e,t,"$max")},min:function(e,t){ye(e,t,"$min")},push:function(e,t){ye(e,t,"$push")},push_unique:function(e,t){ye(e,t,"$addToSet")},pull:function(e,t){ye(e,t,"$pull")},save:function(){a.check_consent("users")&&Ee({user_details:JSON.stringify({custom:ge})}),ge={}}},this.report_trace=function(e){if(this.check_consent("apm")){for(var t=["type","name","stz","etz","apm_metrics","apm_attr"],i=0;i<t.length;i++)if("apm_attr"!==t[i]&&void 0===e[t[i]])return void Ne("APM trace must have a",t[i]);var n=w(e,t);n.timestamp=e.stz;var o=new Date;n.hour=o.getHours(),n.dow=o.getDay(),Ee({apm:JSON.stringify(n)}),Ne("Adding APM trace: ",n)}},this.track_errors=function(t){e.i[this.app_key].tracking_crashes=!0,window.cly_crashes||(window.cly_crashes=!0,V=t,window.onerror=function(e,t,i,n,o){if(void 0!==o)g(o,!1);else{n=n||window.event&&window.event.errorCharacter;var r="";void 0!==e&&(r+=e+"\n"),void 0!==t&&(r+="at "+t),void 0!==i&&(r+=":"+i),void 0!==n&&(r+=":"+n),r+="\n";try{for(var s=[],a=arguments.callee.caller;a;)s.push(a.name),a=a.caller;r+=s.join("\n")}catch(e){}g(r,!1)}},this._track_unhandled_regection=function(e){g(new Error("Unhandled rejection (reason: "+(e.reason&&e.reason.stack?e.reason.stack:e.reason)+")."),!0)},window.addEventListener("unhandledrejection",this._track_unhandled_regection))},this.stop_track_errors=function(){e.i[this.app_key].tracking_crashes&&(e.i[this.app_key].tracking_crashes=!1,window.cly_crashes=!1,window.removeEventListener("unhandledrejection",this._track_unhandled_regection),window.onerror=null)},this.log_error=function(e,t){this.recordError(e,!0,t)},this.add_log=function(e){this.check_consent("crashes")&&(H.length>ee&&H.shift(),H.push(e))},this.fetch_remote_config=function(e,t,i){if(this.check_consent("remote-config")){var n={method:"fetch_remote_config"};this.check_consent("sessions")&&(n.metrics=JSON.stringify(Oe())),e&&(i||"function"!=typeof e?Array.isArray(e)&&e.length&&(n.keys=JSON.stringify(e)):(i=e,e=null)),t&&(i||"function"!=typeof t?Array.isArray(t)&&t.length&&(n.omit_keys=JSON.stringify(t)):(i=t,t=null)),Ce(n),Ae(this.url+"/o/sdk",n,function(e,t,o){try{var r=JSON.parse(o);if(n.keys||n.omit_keys)for(var s in r)q[s]=r[s];else q=r;Be("cly_remote_configs",q)}catch(e){}"function"==typeof i&&i(e,q)})}else Ne("Remote config requires explicit consent"),"function"==typeof i&&i(new Error("Remote config requires explicit consent"),q)},this.get_remote_config=function(e){return void 0!==e?q[e]:q},this.stop_time=function(){ce&&(ce=!1,Y=p()-s,X=p()-U)},this.start_time=function(){ce||(ce=!0,s=p()-Y,U=p()-X,X=0,xe())},this.track_sessions=function(){this.begin_session(),this.start_time(),d(window,"beforeunload",function(){a.end_session()});var e="hidden";function t(){document[e]?a.stop_time():a.start_time()}function i(){Q>=W&&a.start_time(),Q=0}e in document?document.addEventListener("visibilitychange",t):(e="mozHidden")in document?document.addEventListener("mozvisibilitychange",t):(e="webkitHidden")in document?document.addEventListener("webkitvisibilitychange",t):(e="msHidden")in document?document.addEventListener("msvisibilitychange",t):"onfocusin"in document?(d(window,"focusin",function(){a.start_time()}),d(window,"focusout",function(){a.stop_time()})):(d(window,"focus",function(){a.start_time()}),d(window,"blur",function(){a.stop_time()}),d(window,"pageshow",function(){a.start_time()}),d(window,"pagehide",function(){a.stop_time()})),d(window,"mousemove",i),d(window,"click",i),d(window,"keydown",i),d(window,"scroll",i),setInterval(function(){++Q>=W&&a.stop_time()},6e4)},this.track_pageview=function(e,t,i){if(be(),e&&Array.isArray(e)&&(t=e,e=null),e||(e=this.getViewName()),t&&t.length)for(var o=0;o<t.length;o++)try{var r=new RegExp(t[o]);if(r.test(e))return void Ne("Ignored:",e)}catch(e){Ne("Problem with regex",t[o])}F=e,U=p();var s={name:e,visit:1,view:this.getViewUrl()};if(this.track_domains&&(s.domain=window.location.hostname),te)if(T)ue&&(ue=!1,s.start=1);else{var a=Be("cly_session");(!a||parseInt(a)<=p())&&(ue=!1,s.start=1)}else if(void 0!==document.referrer&&document.referrer.length){var c=n.exec(document.referrer);c&&c[11]&&c[11]!==window.location.hostname&&(s.start=1)}if(i)for(var d in i)void 0===s[d]&&(s[d]=i[d]);this.check_consent("views")?_e({key:"[CLY]_view",segmentation:s}):ae.track_pageview=arguments},this.track_view=function(e,t,i){this.track_pageview(e,t,i)},this.track_clicks=function(e){e=e||document;var t=!0;d(e,"click",function(e){if(t){if(t=!1,k(e),void 0!==e.pageX&&void 0!==e.pageY){var i=b(),n=x();if(a.check_consent("clicks")){var o={type:"click",x:e.pageX,y:e.pageY,width:n,height:i,view:a.getViewUrl()};a.track_domains&&(o.domain=window.location.hostname),_e({key:"[CLY]_action",segmentation:o})}}setTimeout(function(){t=!0},1e3)}})},this.track_scrolls=function(e){e=e||window;var t=!0,i=0;d(e,"scroll",function(){i=Math.max(i,window.scrollY,document.body.scrollTop,document.documentElement.scrollTop)}),d(e,"beforeunload",function(){if(t){t=!1;var e=b(),n=x(),o=C();if(a.check_consent("scrolls")){var r={type:"scroll",y:i+o,width:n,height:e,view:a.getViewUrl()};a.track_domains&&(r.domain=window.location.hostname),_e({key:"[CLY]_action",segmentation:r})}}})},this.track_links=function(e){e=e||document,d(e,"click",function(e){var t=c(l(e),"a");t&&(k(e),a.check_consent("clicks")&&_e({key:"linkClick",segmentation:{href:t.href,text:t.innerText,id:t.id,view:a.getViewUrl()}}))})},this.track_forms=function(e,t){function i(e){return e.name||e.id||e.type||e.nodeName}e=e||document,d(e,"submit",function(e){var n,o=l(e),r={id:o.attributes.id&&o.attributes.id.nodeValue,name:o.attributes.name&&o.attributes.name.nodeValue,action:o.attributes.action&&o.attributes.action.nodeValue,method:o.attributes.method&&o.attributes.method.nodeValue,view:a.getViewUrl()};if(void 0!==o.elements){for(var s=0;s<o.elements.length;s++)(n=o.elements[s])&&"password"!==n.type&&-1===n.className.indexOf("cly_user_ignore")&&(void 0===r["input:"+i(n)]&&(r["input:"+i(n)]=[]),"select"===n.nodeName.toLowerCase()?void 0!==n.multiple?r["input:"+i(n)].push(f(n)):r["input:"+i(n)].push(n.options[n.selectedIndex].value):"input"===n.nodeName.toLowerCase()?void 0!==n.type?"checkbox"===n.type.toLowerCase()||"radio"===n.type.toLowerCase()?n.checked&&r["input:"+i(n)].push(n.value):("hidden"!==n.type.toLowerCase()||t)&&r["input:"+i(n)].push(n.value):r["input:"+i(n)].push(n.value):"textarea"===n.nodeName.toLowerCase()?r["input:"+i(n)].push(n.value):void 0!==n.value&&r["input:"+i(n)].push(n.value));for(var c in r)r[c]&&"function"==typeof r[c].join&&(r[c]=r[c].join(", "))}a.check_consent("forms")&&_e({key:"formSubmit",segmentation:r})})},this.collect_from_forms=function(e,t){e=e||document,d(e,"submit",function(i){var n,o=l(i),r={},s=!1;if(void 0!==o.elements){var c,d,u={},m=e.getElementsByTagName("LABEL");for(c=0;c<m.length;c++)m[c].htmlFor&&""!==m[c].htmlFor&&(u[m[c].htmlFor]=m[c].innerText||m[c].textContent||m[c].innerHTML);for(c=0;c<o.elements.length;c++)if((n=o.elements[c])&&"password"!==n.type&&-1===n.className.indexOf("cly_user_ignore")){var p="";if("select"===n.nodeName.toLowerCase()?p=void 0!==n.multiple?f(n):n.options[n.selectedIndex].value:"input"===n.nodeName.toLowerCase()?void 0===n.type||"checkbox"!==n.type.toLowerCase()&&"radio"!==n.type.toLowerCase()?p=n.value:n.checked&&(p=n.value):"textarea"===n.nodeName.toLowerCase()?p=n.value:void 0!==n.value&&(p=n.value),n.className&&-1!==n.className.indexOf("cly_user_")){var h=n.className.split(" ");for(d=0;d<h.length;d++)if(0===h[d].indexOf("cly_user_")){r[h[d].replace("cly_user_","")]=p,s=!0;break}}else n.type&&"email"===n.type.toLowerCase()||n.name&&-1!==n.name.toLowerCase().indexOf("email")||n.id&&-1!==n.id.toLowerCase().indexOf("email")||n.id&&u[n.id]&&-1!==u[n.id].toLowerCase().indexOf("email")||/[^@\s]+@[^@\s]+\.[^@\s]+/.test(p)?(r.email||(r.email=p),s=!0):n.name&&-1!==n.name.toLowerCase().indexOf("username")||n.id&&-1!==n.id.toLowerCase().indexOf("username")||n.id&&u[n.id]&&-1!==u[n.id].toLowerCase().indexOf("username")?(r.username||(r.username=p),s=!0):n.name&&(-1!==n.name.toLowerCase().indexOf("tel")||-1!==n.name.toLowerCase().indexOf("phone")||-1!==n.name.toLowerCase().indexOf("number"))||n.id&&(-1!==n.id.toLowerCase().indexOf("tel")||-1!==n.id.toLowerCase().indexOf("phone")||-1!==n.id.toLowerCase().indexOf("number"))||n.id&&u[n.id]&&(-1!==u[n.id].toLowerCase().indexOf("tel")||-1!==u[n.id].toLowerCase().indexOf("phone")||-1!==u[n.id].toLowerCase().indexOf("number"))?(r.phone||(r.phone=p),s=!0):n.name&&(-1!==n.name.toLowerCase().indexOf("org")||-1!==n.name.toLowerCase().indexOf("company"))||n.id&&(-1!==n.id.toLowerCase().indexOf("org")||-1!==n.id.toLowerCase().indexOf("company"))||n.id&&u[n.id]&&(-1!==u[n.id].toLowerCase().indexOf("org")||-1!==u[n.id].toLowerCase().indexOf("company"))?(r.organization||(r.organization=p),s=!0):(n.name&&-1!==n.name.toLowerCase().indexOf("name")||n.id&&-1!==n.id.toLowerCase().indexOf("name")||n.id&&u[n.id]&&-1!==u[n.id].toLowerCase().indexOf("name"))&&(r.name||(r.name=""),r.name+=p+" ",s=!0)}}s&&(Ne("Gathered user data",r),t?a.user_details({custom:r}):a.user_details(r))})},this.collect_from_facebook=function(e){FB&&FB.api&&FB.api("/me",function(t){var i={};if(t.name&&(i.name=t.name),t.email&&(i.email=t.email),"male"===t.gender?i.gender="M":"female"===t.gender&&(i.gender="F"),t.birthday){var n=t.birthday.split("/").pop();n&&4===n.length&&(i.byear=n)}if(t.work&&t.work[0]&&t.work[0].employer&&t.work[0].employer.name&&(i.organization=t.work[0].employer.name),e)for(var o in i.custom={},e){for(var r=e[o].split("."),s=t,c=0;c<r.length&&void 0!==(s=s[r[c]]);c++);void 0!==s&&(i.custom[o]=s)}a.user_details(i)})},this.opt_out=function(){this.ignore_visitor=!0,Be("cly_ignore",!0)},this.opt_in=function(){Be("cly_ignore",!1),this.ignore_visitor=!1,ve(),this.ignore_visitor||oe||Se()},this.report_feedback=function(e){if(this.check_consent("star-rating")||this.check_consent("feedback")){if(!e.widget_id)return void Ne("Feedback must contain widget_id property");if(!e.rating)return void Ne("Feedback must contain rating property");if(this.check_consent("events")){var t={key:"[CLY]_star_rating",count:1,segmentation:{}};t.segmentation=w(e,["widget_id","contactMe","platform","app_version","rating","email","comment"]),t.segmentation.app_version||(t.segmentation.app_version=this.metrics._app_version||this.app_version),Ne("Reporting feedback: ",t),this.add_event(t)}}},this.show_feedback_popup=function(e){(this.check_consent("star-rating")||this.check_consent("feedback"))&&(re?Ne("Cannot show feedback popup in offline mode"):Ae(this.url+"/o/feedback/widget",{widget_id:e},function(e,t,i){e&&Ne("Error occurred",e);try{var n=JSON.parse(i);we(n,!1)}catch(e){Ne("JSON parse failed: "+e)}}))},this.initialize_feedback_popups=function(e){if(this.check_consent("star-rating")||this.check_consent("feedback")){e||(e=Be("cly_fb_widgets"));for(var t=document.getElementsByClassName("countly-feedback-sticker");t.length>0;)t[0].remove();Ae(this.url+"/o/feedback/multiple-widgets-by-id",{widgets:JSON.stringify(e)},function(e,t,i){if(e)Ne("Errors occurred:",e);else try{for(var n=JSON.parse(i),o=0;o<n.length;o++)if("true"===n[o].is_active){var r=n[o].target_devices,s=u.device;if(r[s])if("string"==typeof n[o].hide_sticker&&(n[o].hide_sticker="true"===n[o].hide_sticker),"all"!==n[o].target_page||n[o].hide_sticker)for(var a=n[o].target_pages,c=0;c<a.length;c++){var d=a[c].substr(0,a[c].length-1)===window.location.pathname.substr(0,a[c].length-1),l=a[c]===window.location.pathname,f=a[c].includes("*");(f&&d||l)&&!n[o].hide_sticker&&we(n[o],!0)}else we(n[o],!0)}}catch(e){Ne("JSON parse error: "+e)}})}},this.enable_feedback=function(e){if(this.check_consent("star-rating")||this.check_consent("feedback"))if(re)Ne("Cannot enable feedback in offline mode");else{Be("cly_fb_widgets",e.popups||e.widgets),O(this.url+"/star-rating/stylesheets/countly-feedback-web.css");var t=e.popups||e.widgets;t.length>0?(document.body.insertAdjacentHTML("beforeend",'<div id="cfbg"></div>'),this.initialize_feedback_popups(t)):Ne("You should provide at least one widget id as param. Read documentation for more detail. https://resources.count.ly/plugins/feedback")}},this.get_available_feedback_widgets=function(e){if(this.check_consent("star-rating")||this.check_consent("feedback"))if(re)Ne("Cannot enable feedback in offline mode.");else{var t=this.url+"/o/sdk",i={method:"feedback",device_id:this.device_id,app_key:this.app_key};Ae(t,i,function(t,i,n){if(t)return Ne("Error occurred while fetching feedbacks",t),void(e&&e(null,t));try{var o=JSON.parse(n),r=o.result||[];return void(e&&e(r,null))}catch(t){return Ne("Error while processing feedbacks",t),void(e&&e(null,t))}})}else e&&e(null,new Error("Consent for feedback not provided."))},this.present_feedback_widget=function(n){if(this.check_consent("star-rating")||this.check_consent("feedback"))if(n&&"object"==typeof n&&!Array.isArray(n))try{var o=this.url;if("nps"===n.type)o+="/feedback/nps";else{if("survey"!==n.type)return void Ne("Feedback widget only accepts nps and survey types.");o+="/feedback/survey"}o+="?widget_id="+n._id,o+="&app_key="+this.app_key,o+="&device_id="+this.device_id,o+="&sdk_name="+i,o+="&platform="+this.platform,o+="&app_version="+this.app_version,o+="&sdk_version="+t,o+="&origin="+(window.origin||window.location.origin),o+="&widget_v=web";var r=document.createElement("iframe");r.name="countly-surveys-iframe",r.id="countly-surveys-iframe",r.src=o;var s=!1;r.onload=function(){s&&(document.getElementById("countly-surveys-wrapper-"+n._id).style.display="none",document.getElementById("csbg").style.display="none"),s=!0},O(this.url+"/surveys/stylesheets/countly-surveys.css");for(var a=document.getElementById("csbg");a;)a.remove(),a=document.getElementById("csbg");for(var c=document.getElementsByClassName("countly-surveys-wrapper"),l=0;l<c.length;l++)c[l].remove();if(document.body.insertAdjacentHTML("beforeend",'<div id="csbg"></div>'),(c=document.createElement("div")).className="countly-surveys-wrapper",c.id="countly-surveys-wrapper-"+n._id,"survey"===n.type&&(c.className=c.className+" "+n.appearance.position),document.body.appendChild(c),c.appendChild(r),d(window,"message",function(t){var i={};try{i=JSON.parse(t.data)}catch(e){Ne("Error while parsing message body "+e)}t.origin===e.url&&i.close&&(document.getElementById("countly-surveys-wrapper-"+n._id).style.display="none",document.getElementById("csbg").style.display="none")}),"survey"===n.type){var u=!1;switch(n.showPolicy){case"afterPageLoad":"complete"===document.readyState?u||(u=!0,f(n)):d(document,"readystatechange",function(e){"complete"===e.target.readyState&&(u||(u=!0,f(n)))});break;case"afterConstantDelay":setTimeout(function(){u||(u=!0,f(n))},1e4);break;case"onAbandon":"complete"===document.readyState?d(document,"mouseleave",function(){u||(u=!0,f(n))}):d(document,"readystatechange",function(e){"complete"===e.target.readyState&&d(document,"mouseleave",function(){u||(u=!0,f(n))})});break;case"onScrollHalfwayDown":d(window,"scroll",function(){if(!u){var e=Math.max(window.scrollY,document.body.scrollTop,document.documentElement.scrollTop),t=b();e>=t/2&&(u=!0,f(n))}});break;default:u||(u=!0,f(n))}}else"nps"===n.type&&(document.getElementById("countly-surveys-wrapper-"+n._id).style.display="block",document.getElementById("csbg").style.display="block")}catch(e){Ne("Somethings went wrong while presenting the feedback",e)}else Ne("Please provide at least one feedback widget object.");function f(e){document.getElementById("countly-surveys-wrapper-"+e._id).style.display="block",document.getElementById("csbg").style.display="block"}},this.recordError=function(e,t,i){if(this.check_consent("crashes")&&e){i=i||V;var n="";"object"==typeof e?void 0!==e.stack?n=e.stack:(void 0!==e.name&&(n+=e.name+":"),void 0!==e.message&&(n+=e.message+"\n"),void 0!==e.fileName&&(n+="in "+e.fileName+"\n"),void 0!==e.lineNumber&&(n+="on "+e.lineNumber),void 0!==e.columnNumber&&(n+=":"+e.columnNumber)):n=e+"",t=!!t;var o=Oe(),r={_resolution:o._resolution,_error:n,_app_version:o._app_version,_run:p()-de,_not_os_specific:!0,_javascript:!0},s=navigator.battery||navigator.webkitBattery||navigator.mozBattery||navigator.msBattery;s&&(r._bat=Math.floor(100*s.level)),void 0!==navigator.onLine&&(r._online=!!navigator.onLine),r._background=!document.hasFocus(),H.length>0&&(r._logs=H.join("\n")),H=[],r._nonfatal=t,r._view=this.getViewName(),void 0!==i&&(r._custom=i);try{var a=document.createElement("canvas"),c=a.getContext("experimental-webgl");r._opengl=c.getParameter(c.VERSION)}catch(e){}Ee({crash:JSON.stringify(r)})}},this.onStorageChange=function(e,t){switch(e){case"cly_queue":P=a.deserialize(t||"[]");break;case"cly_event":j=a.deserialize(t||"[]");break;case"cly_remote_configs":q=a.deserialize(t||"{}");break;case"cly_ignore":a.ignore_visitor=a.deserialize(t);break;case"cly_id":a.device_id=a.deserialize(t)}},this._internals={store:Be,getDocWidth:x,getDocHeight:b,getViewportHeight:C,get_page_coord:k,get_event_target:l,add_event:d,getProperties:w,stripTrailingSlash:v,prepareParams:y,sendXmlHttpRequest:Ae,getMsTimestamp:h,getTimestamp:p,log:Ne,getMetrics:Oe,generateUUID:m,isUUID:function(){return/[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-4[0-9a-fA-F]{3}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/.test(a.device_id)},getId:Le,heartBeat:Se,toRequestQueue:Ee,reportViewDuration:be,loadJS:L,loadCSS:O,getLastView:function(){return F},setToken:Te,getToken:function(){var e=Be("cly_token");return Be("cly_token",null),e},showLoader:N,hideLoader:A,add_cly_events:_e,detect_device:u,getRequestQueue:function(){return P},getEventQueue:function(){return j},clearQueue:function(){P=[],Be("cly_queue",[]),j=[],Be("cly_event",[])}},this.initialize()},e.init=function(t){var i=(t=t||{}).app_key||e.app_key;if(!e.i||!e.i[i]){var n=new e.CountlyClass(t);if(!e.i)for(var o in e.i={},n)e[o]=n[o];e.i[i]=n}return e.i[i]};var r,s,a=0,c=function(e,t){for(t=t.toUpperCase();e;){if(e.nodeName.toUpperCase()===t)return e;e=e.parentElement}},d=function(e,t,i){void 0!==e.addEventListener?e.addEventListener(t,i,!1):e.attachEvent("on"+t,i)},l=function(e){return e?void 0!==e.target?e.target:e.srcElement:window.event.srcElement},u=(r=navigator.userAgent.toLowerCase(),{device:(s=function(e){return e&&(r=(e+"").toLowerCase()),/(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/.test(r)?"tablet":/(mobi|ipod|phone|blackberry|opera mini|fennec|minimo|symbian|psp|nintendo ds|archos|skyfire|puffin|blazer|bolt|gobrowser|iris|maemo|semc|teashark|uzard)/.test(r)?"phone":"desktop"})(),detect:s,isMobile:"desktop"!==s(),userAgent:r});return window.addEventListener("storage",function(t){var i=(t.key+"").split("/"),n=i.pop(),o=i.pop();e.i&&e.i[o]&&e.i[o].onStorageChange(n,t.newValue)}),e.serialize=function(e){return"object"==typeof e&&(e=JSON.stringify(e)),e},e.deserialize=function(e){try{e=JSON.parse(e)}catch(e){}return e},e.getViewName=function(){return window.location.pathname},e.getViewUrl=function(){return window.location.pathname},e}function f(e){var t=[];if(void 0!==e.options)for(var i=0;i<e.options.length;i++)e.options[i].selected&&t.push(e.options[i].value);return t.join(", ")}function m(){var e=(new Date).getTime(),t="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var i=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===t?i:3&i|8).toString(16)});return t}function p(){return Math.floor((new Date).getTime()/1e3)}function h(){var e=(new Date).getTime();return a>=e?a++:a=e,a}function _(t,i,n){if(i&&Object.keys(i).length){if(void 0!==i[t])return i[t]}else if(void 0!==e[t])return e[t];return n}function g(t,i,n){for(var o in e.i)e.i[o].tracking_crashes&&e.i[o].recordError(t,i,n)}function y(e){var t=[];for(var i in e)t.push(i+"="+encodeURIComponent(e[i]));return t.join("&")}function v(e){return"/"===e.substr(e.length-1)?e.substr(0,e.length-1):e}function w(e,t){for(var i,n={},o=0;o<t.length;o++)i=t[o],void 0!==e[i]&&(n[i]=e[i]);return n}function k(e){return void 0===e.pageY&&"number"==typeof e.clientX&&document.documentElement&&(e.pageX=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,e.pageY=e.clientY+document.body.scrollTop+document.documentElement.scrollTop),e}function b(){var e=document;return Math.max(Math.max(e.body.scrollHeight,e.documentElement.scrollHeight),Math.max(e.body.offsetHeight,e.documentElement.offsetHeight),Math.max(e.body.clientHeight,e.documentElement.clientHeight))}function x(){var e=document;return Math.max(Math.max(e.body.scrollWidth,e.documentElement.scrollWidth),Math.max(e.body.offsetWidth,e.documentElement.offsetWidth),Math.max(e.body.clientWidth,e.documentElement.clientWidth))}function C(){var e=document;return Math.min(Math.min(e.body.clientHeight,e.documentElement.clientHeight),Math.min(e.body.offsetHeight,e.documentElement.offsetHeight),window.innerHeight)}function E(e){if(e)for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!0;return!1}function S(e,t,i,n,o,r){var s,a=document.createElement(e);a.setAttribute(t,i),a.setAttribute(n,o),r&&(a.onreadystatechange=a.onload=function(){s||r(),s=!0}),document.getElementsByTagName("head")[0].appendChild(a)}function L(e,t){S("script","type","text/javascript","src",e,t)}function O(e,t){S("link","rel","stylesheet","href",e,t)}function N(){var e=document.getElementById("cly-loader");if(!e){var t="#cly-loader {height: 4px; width: 100%; position: absolute; z-index: 99999; overflow: hidden; background-color: #fff; top:0px; left:0px;}#cly-loader:before{display: block; position: absolute; content: ''; left: -200px; width: 200px; height: 4px; background-color: #2EB52B; animation: cly-loading 2s linear infinite;}@keyframes cly-loading { from {left: -200px; width: 30%;} 50% {width: 30%;} 70% {width: 70%;} 80% { left: 50%;} 95% {left: 120%;} to {left: 100%;}}",i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t)),i.appendChild(n),(e=document.createElement("div")).setAttribute("id","cly-loader"),document.body.appendChild(e)}e.style.display="block"}function A(){var e=document.getElementById("cly-loader");e&&(e.style.display="none")}}(o.Countly)}.apply(t,[]))||(e.exports=n)}])});