clarity-js 0.8.24 → 0.8.26

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.
@@ -1 +1 @@
1
- !function(){"use strict";var t=Object.freeze({__proto__:null,get queue(){return Vt},get start(){return Xt},get stop(){return Yt},get track(){return Pt}}),n=Object.freeze({__proto__:null,get check(){return Kt},get compute(){return $t},get data(){return qt},get start(){return Ft},get stop(){return tn},get trigger(){return Qt}}),e=Object.freeze({__proto__:null,get compute(){return cn},get data(){return nn},get log(){return un},get reset(){return sn},get start(){return an},get stop(){return on},get updates(){return en}}),r=Object.freeze({__proto__:null,get callback(){return In},get callbacks(){return dn},get clear(){return En},get consent(){return wn},get consentv2(){return kn},get data(){return ln},get electron(){return pn},get id(){return bn},get metadata(){return yn},get save(){return Tn},get shortid(){return xn},get start(){return gn},get stop(){return mn}}),a=Object.freeze({__proto__:null,get data(){return qn},get envelope(){return Hn},get start(){return Dn},get stop(){return Rn}}),o={projectId:null,delay:1e3,lean:!1,lite:!1,track:!0,content:!0,drop:[],mask:[],unmask:[],regions:[],cookies:[],fraud:!0,checksum:[],report:null,upload:null,fallback:null,upgrade:null,action:null,dob:null,delayDom:!1,throttleDom:!0,conversions:!1,includeSubdomains:!0};function i(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var u=0;function c(){return performance.now()+performance.timeOrigin}function s(t){void 0===t&&(t=null);var n=0===u?c():u,e=t&&t.timeStamp>0?t.timeStamp:performance.now(),r=t&&t.view?t.view.performance.timeOrigin:performance.timeOrigin;return Math.max(Math.round(e+r-n),0)}var l="0.8.24";var d=/\S/gi,p=255,f=!0,h=null,v=null,g=null;function m(t,n,e,r,a){if(void 0===r&&(r=!1),t){if("input"==n&&("checkbox"===a||"radio"===a))return t;switch(e){case 0:return t;case 1:switch(n){case"*T":case"value":case"placeholder":case"click":return function(t){var n=-1,e=0,r=!1,a=!1,o=!1,i=null;_();for(var u=0;u<t.length;u++){var c=t.charCodeAt(u);if(r=r||c>=48&&c<=57,a=a||64===c,o=9===c||10===c||13===c||32===c,0===u||u===t.length-1||o){if(r||a){null===i&&(i=t.split(""));var s=t.substring(n+1,o?u:u+1);s=f&&null!==g?s.match(g)?s:k(s,"▪","▫"):w(s),i.splice(n+1-e,s.length,s),e+=s.length-1}o&&(r=!1,a=!1,n=u)}}return i?i.join(""):t}(t);case"input":case"change":return S(t)}return t;case 2:case 3:switch(n){case"*T":case"data-":return r?b(t):w(t);case"src":case"srcset":case"title":case"alt":return 3===e?"src"===n&&(null==t?void 0:t.startsWith("blob:"))?"blob:":"":t;case"value":case"click":case"input":case"change":return S(t);case"placeholder":return w(t)}break;case 4:switch(n){case"*T":case"data-":return r?b(t):w(t);case"value":case"input":case"click":case"change":return Array(5).join("•");case"checksum":return""}break;case 5:switch(n){case"*T":case"data-":return k(t,"▪","▫");case"value":case"input":case"click":case"change":return Array(5).join("•");case"checksum":case"src":case"srcset":case"alt":case"title":return""}}}return t}function y(t,n,e){void 0===n&&(n=!1),void 0===e&&(e=!1);var r=t;if(n)r="".concat("https://").concat("Electron");else{var a=o.drop;if(a&&a.length>0&&t&&t.indexOf("?")>0){var i=t.split("?"),u=i[0],c=i[1];r=u+"?"+c.split("&").map((function(t){return a.some((function(n){return 0===t.indexOf("".concat(n,"="))}))?"".concat(t.split("=")[0],"=").concat("*na*"):t})).join("&")}}return e&&(r=r.substring(0,p)),r}function b(t){var n=t.trim();if(n.length>0){var e=n[0],r=t.indexOf(e),a=t.substr(0,r),o=t.substr(r+n.length);return"".concat(a).concat(n.length.toString(36)).concat(o)}return t}function w(t){return t.replace(d,"•")}function k(t,n,e){return _(),t?t.replace(v,n).replace(h,e):t}function S(t){for(var n=5*(Math.floor(t.length/5)+1),e="",r=0;r<n;r++)e+=r>0&&r%5==0?" ":"•";return e}function _(){if(f&&null===h)try{h=new RegExp("\\p{N}","gu"),v=new RegExp("\\p{L}","gu"),g=new RegExp("\\p{Sc}","gu")}catch(t){f=!1}}var E=[],I=null;function T(){}var O=[];function M(){}function x(){}function N(){}var j=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:I,hashText:M,keys:O,log:T,observe:function(){},reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:E,stop:function(){},track:N,trigger:x}),C=null,z=!0;function A(t){q(t.analytics_Storage?1:0),C=t}function P(){q(2)}function q(t){un(36,t.toString())}function D(t){C=t,Gt(47)}function R(){z&&(Gt(47),z=!1)}var H=Object.freeze({__proto__:null,compute:R,config:A,consent:P,consentv2:D,get data(){return C},start:function(){z=!0},stop:function(){z=!0}}),U=null;function L(t,n){le()&&t&&"string"==typeof t&&t.length<255&&(U=n&&"string"==typeof n&&n.length<255?{key:t,value:n}:{value:t},Gt(24))}var X,V=null,Y=null;function B(t){t in V||(V[t]=0),t in Y||(Y[t]=0),V[t]++,Y[t]++}function W(t,n){null!==n&&(t in V||(V[t]=0),t in Y||(Y[t]=0),V[t]+=n,Y[t]+=n)}function Z(t,n){null!==n&&!1===isNaN(n)&&(t in V||(V[t]=0),(n>V[t]||0===V[t])&&(Y[t]=n,V[t]=n))}function J(t,n,e){return window.setTimeout(Xn(t),n,e)}function G(t){return window.clearTimeout(t)}var F=0,K=0,Q=null;function $(){Q&&G(Q),Q=J(tt,K),F=s()}function tt(){var t=s();X={gap:t-F},Gt(25),X.gap<3e5?Q=J(tt,K):ue&&(L("clarity","suspend"),ze(),["mousemove","touchstart"].forEach((function(t){return Yn(document,t,de)})),["resize","scroll","pageshow"].forEach((function(t){return Yn(window,t,de)})))}var nt=Object.freeze({__proto__:null,get data(){return X},reset:$,start:function(){K=6e4,F=0},stop:function(){G(Q),F=0,K=0}}),et=null;function rt(t){le()&&o.lean&&(o.lean=!1,et={key:t},In(),Tn(),o.upgrade&&o.upgrade(t),Gt(3),o.lite)}var at=Object.freeze({__proto__:null,get data(){return et},start:function(){!o.lean&&o.upgrade&&o.upgrade("Config"),et=null},stop:function(){et=null},upgrade:rt});function ot(t,n,e,r){return new(e||(e=Promise))((function(a,o){function i(t){try{c(r.next(t))}catch(t){o(t)}}function u(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var n;t.done?a(t.value):(n=t.value,n instanceof e?n:new e((function(t){t(n)}))).then(i,u)}c((r=r.apply(t,n||[])).next())}))}function it(t,n){var e,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(c){return function(u){if(e)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(i=0)),i;)try{if(e=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){i.label=u[1];break}if(6===u[0]&&i.label<a[1]){i.label=a[1],a=u;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(u);break}a[2]&&i.ops.pop(),i.trys.pop();continue}u=n.call(t,i)}catch(t){u=[6,t],r=0}finally{e=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var ut=null;function ct(t,n){lt(t,"string"==typeof n?[n]:n)}function st(t,n,e,r){return void 0===n&&(n=null),void 0===e&&(e=null),void 0===r&&(r=null),ot(this,void 0,void 0,(function(){var a,o;return it(this,(function(i){switch(i.label){case 0:return o={},[4,ft(t)];case 1:return o.userId=i.sent(),o.userHint=r||((u=t)&&u.length>=5?"".concat(u.substring(0,2)).concat(k(u.substring(2),"*","*")):k(u,"*","*")),lt("userId",[(a=o).userId]),lt("userHint",[a.userHint]),lt("userType",[ht(t)]),n&&(lt("sessionId",[n]),a.sessionId=n),e&&(lt("pageId",[e]),a.pageId=e),[2,a]}var u}))}))}function lt(t,n){if(le()&&t&&n&&"string"==typeof t&&t.length<255){for(var e=(t in ut?ut[t]:[]),r=0;r<n.length;r++)"string"==typeof n[r]&&n[r].length<255&&e.push(n[r]);ut[t]=e}}function dt(){Gt(34)}function pt(){ut={}}function ft(t){return ot(this,void 0,void 0,(function(){var n;return it(this,(function(e){switch(e.label){case 0:return e.trys.push([0,4,,5]),crypto&&t?[4,crypto.subtle.digest("SHA-256",(new TextEncoder).encode(t))]:[3,2];case 1:return n=e.sent(),[2,Array.prototype.map.call(new Uint8Array(n),(function(t){return("00"+t.toString(16)).slice(-2)})).join("")];case 2:return[2,""];case 3:return[3,5];case 4:return e.sent(),[2,""];case 5:return[2]}}))}))}function ht(t){return t&&t.indexOf("@")>0?"email":"string"}var vt="CompressionStream"in window;function gt(t){return ot(this,void 0,void 0,(function(){var n,e;return it(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),vt?(n=new ReadableStream({start:function(n){return ot(this,void 0,void 0,(function(){return it(this,(function(e){return n.enqueue(t),n.close(),[2]}))}))}}).pipeThrough(new TextEncoderStream).pipeThrough(new window.CompressionStream("gzip")),e=Uint8Array.bind,[4,mt(n)]):[3,2];case 1:return[2,new(e.apply(Uint8Array,[void 0,r.sent()]))];case 2:return[3,4];case 3:return r.sent(),[3,4];case 4:return[2,null]}}))}))}function mt(t){return ot(this,void 0,void 0,(function(){var n,e,r,a,o;return it(this,(function(i){switch(i.label){case 0:n=t.getReader(),e=[],r=!1,a=[],i.label=1;case 1:return r?[3,3]:[4,n.read()];case 2:return o=i.sent(),r=o.done,a=o.value,r?[2,e]:(e.push.apply(e,a),[3,1]);case 3:return[2,e]}}))}))}var yt=null;function bt(t){try{if(!yt)return;var n=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);n.forEach((function(t){yt(t)}))}catch(t){}}var wt=[j,e,Object.freeze({__proto__:null,compute:dt,get data(){return ut},identify:st,reset:pt,set:ct,start:function(){pt()},stop:function(){pt()}}),n,j,H,r,a,t,nt,at,j];function kt(){V={},Y={},B(5),wt.forEach((function(t){return Xn(t.start)()}))}function St(){wt.slice().reverse().forEach((function(t){return Xn(t.stop)()})),V={},Y={}}function _t(){dt(),cn(),Gt(0),$t(),R()}function Et(t,n,e){return"".concat(t,"=").concat(m(n,0===t.indexOf("data-")?"data-":t,e))}var It=[],Tt=1,Ot=null;function Mt(){It=[],function(t){var n=[t];for(;n.length>0;){for(var e=null,r=null,a=null,o=n.shift(),i=o.firstChild,u=o.parentElement?o.parentElement:o.parentNode?o.parentNode:null;i;)n.push(i),i=i.nextSibling;switch(o.nodeType){case Node.DOCUMENT_TYPE_NODE:var c=o;r="*D",e={name:c.name,publicId:c.publicId,systemId:c.systemId};break;case Node.TEXT_NODE:a=o.nodeValue,r=Ot.get(u)?"*T":r;break;case Node.ELEMENT_NODE:var s=o;e=xt(s),r=["NOSCRIPT","SCRIPT","STYLE"].indexOf(s.tagName)<0?s.tagName:r}Nt(o,u,{tag:r,attributes:e,value:a})}}(document),function(t){ot(this,void 0,void 0,(function(){var n,e,r,a,o,i,u,c,l,d,p,f,h;return it(this,(function(v){switch(n=s(),e=[n,t],t){case 8:r=I,e.push(r.width),e.push(r.height),r.width,r.height,Vt(e);break;case 43:if((a=It).length>0){for(o=0,i=a;o<i.length;o++)for(u=i[o],c=u.metadata.privacy,l=u.data,d=0,p=["tag","attributes","value"];d<p.length;d++)if(l[f=p[d]])switch(f){case"tag":e.push(u.id),u.parent&&e.push(u.parent),u.previous&&e.push(u.previous),e.push(l[f]);break;case"attributes":for(h in l[f])void 0!==l[f][h]&&e.push(Et(h,l[f][h],c));break;case"value":e.push(m(l[f],l.tag,c))}Vt(function(t){for(var n=[],e={},r=0,a=null,o=0;o<t.length;o++)if("string"==typeof t[o]){var i=t[o],u=e[i]||-1;u>=0?a?a.push(u):(a=[u],n.push(a),r++):(a=null,n.push(i),e[i]=r++)}else a=null,n.push(t[o]),r++;return n}(e),!0)}}return[2]}))}))}(43)}function xt(t){var n={},e=t.attributes;if(e&&e.length>0)for(var r=0;r<e.length;r++)n[e[r].name]=e[r].value;return n}function Nt(t,n,e){if(t&&e&&e.tag){var r=function(t){return null===t?null:Ot.has(t)?Ot.get(t):(Ot.set(t,Tt),Tt++)}(t),a=n?Ot.get(n):null,o=t.previousSibling?Ot.get(t.previousSibling):null;It.push({id:r,parent:a,previous:o,children:[],data:e,selector:null,hash:null,region:null,metadata:{active:!0,suspend:!1,privacy:5,position:null,fraud:null,size:null}})}}var jt,Ct,zt,At,Pt,qt,Dt=0,Rt=0,Ht=null,Ut=0,Lt=!1;function Xt(){At=!0,Dt=0,Rt=0,Lt=!1,Ut=0,jt=[],Ct=[],zt={},Pt=null}function Vt(t,n){if(void 0===n&&(n=!0),At){var e=s(),r=t.length>1?t[1]:null,a=JSON.stringify(t);switch(o.lean?!Lt&&Rt+a.length>10485760&&(Lt=!0):Lt=!1,r){case 5:if(Lt)break;Dt+=a.length;case 37:case 6:case 43:case 45:case 46:if(Lt)break;Rt+=a.length,jt.push(a);break;default:Ct.push(a)}B(25);var i=function(){var t=!1===o.lean&&Dt>0?100:qn.sequence*o.delay;return"string"==typeof o.upload?Math.max(Math.min(t,3e4),100):o.delay}();e-Ut>2*i&&(G(Ht),Ht=null),n&&null===Ht&&(25!==r&&$(),Ht=J(Bt,i),Ut=e,Kt(Rt))}}function Yt(){G(Ht),Bt(!0),Dt=0,Rt=0,Lt=!1,Ut=0,jt=[],Ct=[],zt={},Pt=null,At=!1}function Bt(t){return void 0===t&&(t=!1),ot(this,void 0,void 0,(function(){var n,e,r,a,i,u,c,s;return it(this,(function(l){switch(l.label){case 0:return At?(Ht=null,(n=!1===o.lean&&Rt>0&&(Rt<1048576||qn.sequence>0))&&Z(1,1),_t(),e=!0===t,qn?(r=JSON.stringify(Hn(e)),a="[".concat(Ct.join(),"]"),i=n?"[".concat(jt.join(),"]"):"",u=function(t){return t.p.length>0?'{"e":'.concat(t.e,',"a":').concat(t.a,',"p":').concat(t.p,"}"):'{"e":'.concat(t.e,',"a":').concat(t.a,"}")}({e:r,a:a,p:i}),e?(s=null,[3,3]):[3,1]):[2]):[2];case 1:return[4,gt(u)];case 2:s=l.sent(),l.label=3;case 3:return W(2,(c=s)?c.length:u.length),Wt(u,c,qn.sequence,e),Ct=[],n&&(jt=[],Rt=0,Dt=0,Lt=!1),[2]}}))}))}function Wt(t,n,e,r){if(void 0===r&&(r=!1),"string"==typeof o.upload){var a=o.upload,i=!1;if(r&&navigator&&navigator.sendBeacon)try{(i=navigator.sendBeacon.bind(navigator)(a,t))&&Jt(e)}catch(t){}if(!1===i){e in zt?zt[e].attempts++:zt[e]={data:t,attempts:1};var u=new XMLHttpRequest;u.open("POST",a,!0),u.timeout=15e3,u.ontimeout=function(){Ln(new Error("".concat("Timeout"," : ").concat(a)))},null!==e&&(u.onreadystatechange=function(){Xn(Zt)(u,e)}),u.withCredentials=!0,n?(u.setRequestHeader("Accept","application/x-clarity-gzip"),u.send(n)):u.send(t)}}else if(o.upload){(0,o.upload)(t),Jt(e)}}function Zt(t,n){var e=zt[n];t&&4===t.readyState&&e&&((t.status<200||t.status>208)&&e.attempts<=1?t.status>=400&&t.status<500?Qt(6):(0===t.status&&(o.upload=o.fallback?o.fallback:o.upload),Pt={sequence:n,attempts:e.attempts,status:t.status},Gt(2),Wt(e.data,null,n)):(Pt={sequence:n,attempts:e.attempts,status:t.status},e.attempts>1&&Gt(2),200===t.status&&t.responseText&&function(t){for(var n=t&&t.length>0?t.split("\n"):[],e=0,r=n;e<r.length;e++){var a=r[e],i=a&&a.length>0?a.split(/ (.*)/):[""];switch(i[0]){case"END":Qt(6);break;case"UPGRADE":rt("Auto");break;case"ACTION":o.action&&i.length>1&&o.action(i[1]);break;case"EXTRACT":i.length>1&&i[1];break;case"SIGNAL":i.length>1&&bt(i[1]);break;case"SNAPSHOT":o.lean=!1,Mt()}}}(t.responseText),0===t.status&&(Wt(e.data,null,n,!0),Qt(3)),t.status>=200&&t.status<=208&&Jt(n),delete zt[n]))}function Jt(t){1===t&&(Tn(),In())}function Gt(t){var n=[s(),t];switch(t){case 4:var e=E;e&&e.data&&((n=[e.time,e.event]).push(e.data.visible),n.push(e.data.docWidth),n.push(e.data.docHeight),n.push(e.data.screenWidth),n.push(e.data.screenHeight),n.push(e.data.scrollX),n.push(e.data.scrollY),n.push(e.data.pointerX),n.push(e.data.pointerY),n.push(e.data.activityTime),n.push(e.data.scrollTime),n.push(e.data.pointerTime),n.push(e.data.moveX),n.push(e.data.moveY),n.push(e.data.moveTime),n.push(e.data.downX),n.push(e.data.downY),n.push(e.data.downTime),n.push(e.data.upX),n.push(e.data.upY),n.push(e.data.upTime),n.push(e.data.pointerPrevX),n.push(e.data.pointerPrevY),n.push(e.data.pointerPrevTime),Vt(n,!1));break;case 25:n.push(X.gap),Vt(n);break;case 35:n.push(qt.check),Vt(n,!1);break;case 3:n.push(et.key),Vt(n);break;case 2:n.push(Pt.sequence),n.push(Pt.attempts),n.push(Pt.status),Vt(n,!1);break;case 24:U.key&&n.push(U.key),n.push(U.value),Vt(n);break;case 34:var r=Object.keys(ut);if(r.length>0){for(var a=0,o=r;a<o.length;a++){var i=o[a];n.push(i),n.push(ut[i])}pt(),Vt(n,!1)}break;case 0:var u=Object.keys(Y);if(u.length>0){for(var c=0,l=u;c<l.length;c++){var d=l[c],p=parseInt(d,10);n.push(p),n.push(Math.round(Y[d]))}Y={},Vt(n,!1)}break;case 1:var f=Object.keys(en);if(f.length>0){for(var h=0,v=f;h<v.length;h++){var g=v[h];p=parseInt(g,10);n.push(p),n.push(en[g])}sn(),Vt(n,!1)}break;case 36:var m=Object.keys(I);if(m.length>0){for(var y=0,b=m;y<b.length;y++){var w=b[y];p=parseInt(w,10);n.push(p),n.push([].concat.apply([],I[w]))}Vt(n,!1)}break;case 40:O.forEach((function(t){n.push(t);var e=[];for(var r in I[t]){var a=parseInt(r,10);e.push(a),e.push(I[t][r])}n.push(e)})),Vt(n,!1);break;case 47:n.push(C.source),n.push(C.ad_Storage),n.push(C.analytics_Storage),Vt(n,!1)}}function Ft(){qt={check:0}}function Kt(t){if(0===qt.check){var n=qt.check;n=qn.sequence>=128?1:n,n=qn.pageNum>=128?7:n,n=s()>72e5?2:n,(n=t>10485760?2:n)!==qt.check&&Qt(n)}}function Qt(t){qt.check=t,5!==t&&(En(),ze())}function $t(){0!==qt.check&&Gt(35)}function tn(){qt=null}var nn=null,en=null,rn=!1;function an(){nn={},en={},rn=!1}function on(){nn={},en={},rn=!1}function un(t,n){if(n&&(n="".concat(n),t in nn||(nn[t]=[]),nn[t].indexOf(n)<0)){if(nn[t].length>128)return void(rn||(rn=!0,Qt(5)));nn[t].push(n),t in en||(en[t]=[]),en[t].push(n)}}function cn(){Gt(1)}function sn(){en={},rn=!1}var ln=null,dn=[],pn=0,fn=null,hn=null,vn={ad_Storage:"denied",analytics_Storage:"denied"};function gn(){var t,n,e;fn=null;var r=navigator&&"userAgent"in navigator?navigator.userAgent:"",a=null!==(e="undefined"!=typeof Intl&&(null===(n=null===(t=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===t?void 0:t.resolvedOptions())||void 0===n?void 0:n.timeZone))&&void 0!==e?e:"",i=(new Date).getTimezoneOffset().toString(),u=window.location.ancestorOrigins?Array.from(window.location.ancestorOrigins).toString():"",c=document&&document.title?document.title:"";pn=r.indexOf("Electron")>0?1:0;var s=function(){var t={session:xn(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},n=Cn("_clsk",!o.includeSubdomains);if(n){var e=n.includes("^")?n.split("^"):n.split("|");e.length>=5&&t.ts-Nn(e[1])<18e5&&(t.session=e[0],t.count=Nn(e[2])+1,t.upgrade=Nn(e[3]),t.upload=e.length>=6?"".concat("https://").concat(e[5],"/").concat(e[4]):"".concat("https://").concat(e[4]))}return t}(),l=jn(),d=o.projectId||function(t,n){void 0===n&&(n=null);for(var e,r=5381,a=r,o=0;o<t.length;o+=2)r=(r<<5)+r^t.charCodeAt(o),o+1<t.length&&(a=(a<<5)+a^t.charCodeAt(o+1));return e=Math.abs(r+11579*a),(n?e%Math.pow(2,n):e).toString(36)}(location.host);ln={projectId:d,userId:l.id,sessionId:s.session,pageNum:s.count},o.lean=o.track&&null!==s.upgrade?0===s.upgrade:o.lean,o.upload=o.track&&"string"==typeof o.upload&&s.upload&&s.upload.length>"https://".length?s.upload:o.upload,un(0,r),un(3,c),un(1,y(location.href,!!pn)),un(2,document.referrer),un(15,function(){var t=xn();if(o.track&&On(window,"sessionStorage")){var n=sessionStorage.getItem("_cltk");t=n||t,sessionStorage.setItem("_cltk",t)}return t}()),un(16,document.documentElement.lang),un(17,document.dir),un(26,"".concat(window.devicePixelRatio)),un(28,l.dob.toString()),un(29,l.version.toString()),un(33,u),un(34,a),un(35,i),Z(0,s.ts),Z(1,0),Z(35,pn);var p,f=null===window||void 0===window?void 0:window.Zone;f&&"__symbol__"in f&&Z(39,1),navigator&&(un(9,navigator.language),Z(33,navigator.hardwareConcurrency),Z(32,navigator.maxTouchPoints),Z(34,Math.round(navigator.deviceMemory)),(p=navigator.userAgentData)&&p.getHighEntropyValues?p.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var n;un(22,t.platform),un(23,t.platformVersion),null===(n=t.brands)||void 0===n||n.forEach((function(t){un(24,t.name+"~"+t.version)})),un(25,t.model),Z(27,t.mobile?1:0)})):un(22,navigator.platform)),screen&&(Z(14,Math.round(screen.width)),Z(15,Math.round(screen.height)),Z(16,Math.round(screen.colorDepth)));for(var h=0,v=o.cookies;h<v.length;h++){var g=v[h],m=Cn(g);m&&ct(g,m)}A(Sn(hn={ad_Storage:o.track?"granted":"denied",analytics_Storage:o.track?"granted":"denied"},0)),Mn(l)}function mn(){fn=null,ln=null,hn=null,dn.forEach((function(t){t.called=!1}))}function yn(t,n,e,r){void 0===n&&(n=!0),void 0===e&&(e=!1),void 0===r&&(r=!1);var a=o.lean?0:1,i=!1;ln&&(a||!1===n)&&(t(ln,!o.lean,r?hn:void 0),i=!0),!e&&i||dn.push({callback:t,wait:n,recall:e,called:i,consentInfo:r})}function bn(){return ln?[ln.userId,ln.sessionId,ln.pageNum].join("."):""}function wn(t){void 0===t&&(t=!0),t?(kn({ad_Storage:"granted",analytics_Storage:"granted"}),P()):kn()}function kn(t,n){void 0===t&&(t=vn),void 0===n&&(n=1),hn={ad_Storage:_n(t.ad_Storage),analytics_Storage:_n(t.analytics_Storage)},In(!0);var e=Sn(hn,n);if(!e.analytics_Storage)return o.track=!1,An("_clsk","",-Number.MAX_VALUE),An("_clck","",-Number.MAX_VALUE),ze(),void window.setTimeout(Ce,250);le()&&(o.track=!0,Mn(jn(),1),Tn(),D(e),P())}function Sn(t,n){return{source:n,ad_Storage:"granted"===t.ad_Storage?1:0,analytics_Storage:"granted"===t.analytics_Storage?1:0}}function _n(t){return"string"==typeof t?t.toLowerCase():"denied"}function En(){An("_clsk","",0)}function In(t){void 0===t&&(t=!1),function(t,n){void 0===n&&(n=!1);if(dn.length>0)for(var e=0;e<dn.length;e++){var r=dn[e];r.callback&&(!r.called&&!n||r.consentInfo&&n)&&(!r.wait||t)&&(r.callback(ln,!o.lean,r.consentInfo?hn:void 0),r.called=!0,r.recall||(dn.splice(e,1),e--))}}(o.lean?0:1,t)}function Tn(){if(ln&&o.track){var t=Math.round(Date.now()),n=o.upload&&"string"==typeof o.upload?o.upload.replace("https://",""):"",e=o.lean?0:1;An("_clsk",[ln.sessionId,t,ln.pageNum,e,n].join("|"),1)}}function On(t,n){try{return!!t[n]}catch(t){return!1}}function Mn(t,n){void 0===n&&(n=null),n=null===n?t.consent:n;var e=Math.ceil((Date.now()+31536e6)/864e5),r=0===t.dob?null===o.dob?0:o.dob:t.dob;(null===t.expiry||Math.abs(e-t.expiry)>=1||t.consent!==n||t.dob!==r)&&An("_clck",[ln.userId,2,e.toString(36),n,r].join("|"),365)}function xn(){var t=Math.floor(Math.random()*Math.pow(2,32));return window&&window.crypto&&window.crypto.getRandomValues&&Uint32Array&&(t=window.crypto.getRandomValues(new Uint32Array(1))[0]),t.toString(36)}function Nn(t,n){return void 0===n&&(n=10),parseInt(t,n)}function jn(){var t={id:xn(),version:0,expiry:null,consent:0,dob:0},n=Cn("_clck",!o.includeSubdomains);if(n&&n.length>0){var e=n.includes("^")?n.split("^"):n.split("|");e.length>1&&(t.version=Nn(e[1])),e.length>2&&(t.expiry=Nn(e[2],36)),e.length>3&&1===Nn(e[3])&&(t.consent=1),e.length>4&&Nn(e[1])>1&&(t.dob=Nn(e[4])),o.track=o.track||1===t.consent,t.id=o.track?e[0]:t.id}return t}function Cn(t,n){var e;if(void 0===n&&(n=!1),On(document,"cookie")){var r=document.cookie.split(";");if(r)for(var a=0;a<r.length;a++){var o=r[a].split("=");if(o.length>1&&o[0]&&o[0].trim()===t){for(var i=zn(o[1]),u=i[0],c=i[1];u;)u=(e=zn(c))[0],c=e[1];return n?c.endsWith("".concat("~","1"))?c.substring(0,c.length-2):null:c}}}return null}function zn(t){try{var n=decodeURIComponent(t);return[n!=t,n]}catch(t){}return[!1,t]}function An(t,n,e){if((o.track||""==n)&&(navigator&&navigator.cookieEnabled||On(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(n),a=new Date;a.setDate(a.getDate()+e);var i=a?"expires="+a.toUTCString():"",u="".concat(t,"=").concat(r).concat(";").concat(i).concat(";path=/");try{if(null===fn){for(var c=location.hostname?location.hostname.split("."):[],s=c.length-1;s>=0;s--)if(fn=".".concat(c[s]).concat(fn||""),s<c.length-1&&(document.cookie="".concat(u).concat(";").concat("domain=").concat(fn),Cn(t)===n))return;fn=""}}catch(t){fn=""}document.cookie=fn?"".concat(u).concat(";").concat("domain=").concat(fn):u}}var Pn,qn=null;function Dn(){var t=ln;qn={version:l,sequence:0,start:0,duration:0,projectId:t.projectId,userId:t.userId,sessionId:t.sessionId,pageNum:t.pageNum,upload:0,end:0,applicationPlatform:0,url:""}}function Rn(){qn=null}function Hn(t){return qn.start=qn.start+qn.duration,qn.duration=s()-qn.start,qn.sequence++,qn.upload=t&&"sendBeacon"in navigator?1:0,qn.end=t?1:0,qn.applicationPlatform=0,qn.url=y(location.href,!1,!0),[qn.version,qn.sequence,qn.start,qn.duration,qn.projectId,qn.userId,qn.sessionId,qn.pageNum,qn.upload,qn.end,qn.applicationPlatform,qn.url]}function Un(){Pn=[]}function Ln(t){if(Pn&&-1===Pn.indexOf(t.message)){var n=o.report;if(n&&n.length>0&&qn){var e={v:qn.version,p:qn.projectId,u:qn.userId,s:qn.sessionId,n:qn.pageNum};t.message&&(e.m=t.message),t.stack&&(e.e=t.stack);var r=new XMLHttpRequest;r.open("POST",n,!0),r.send(JSON.stringify(e)),Pn.push(t.message)}}return t}function Xn(t){return function(){var n=performance.now();try{t.apply(this,arguments)}catch(t){throw Ln(t)}var e=performance.now()-n;W(4,e),e>30&&(B(7),Z(6,e))}}var Vn=new Map;function Yn(t,n,e,r,a){void 0===r&&(r=!1),void 0===a&&(a=!0),e=Xn(e);try{t[i("addEventListener")](n,e,{capture:r,passive:a}),function(t){return Vn.has(t)}(t)||Vn.set(t,[]),Vn.get(t).push({event:n,listener:e,options:{capture:r,passive:a}})}catch(t){}}function Bn(){Vn.forEach((function(t,n){!function(t,n){t.forEach((function(t){try{n[i("removeEventListener")](t.event,t.listener,{capture:t.options.capture,passive:t.options.passive})}catch(t){}})),Vn.delete(n)}(t,n)})),Vn=new Map}var Wn=null,Zn=null,Jn=null,Gn=0;function Fn(){return!(Gn++>20)}function Kn(){Gn=0,Jn!==$n()&&(ze(),window.setTimeout(Qn,250))}function Qn(){Ce(),Z(29,1)}function $n(){return location.href?location.href.replace(location.hash,""):location.href}var te=[],ne=null,ee=null,re=null;function ae(){ee&&(re(),ee=null,null===ne&&ie())}function oe(){te=[],ne=null,ee=null}function ie(){var t=te.shift();t&&(ne=t,t.task().then((function(){t.id===bn()&&(t.resolve(),ne=null,ie())})).catch((function(n){t.id===bn()&&(n&&(n.name,n.message,n.stack),ne=null,ie())})))}var ue=!1;function ce(){ue=!0,u=c(),oe(),Bn(),Un(),Jn=$n(),Gn=0,Yn(window,"popstate",Kn),null===Wn&&(Wn=history.pushState,history.pushState=function(){Wn.apply(this,arguments),le()&&Fn()&&Kn()}),null===Zn&&(Zn=history.replaceState,history.replaceState=function(){Zn.apply(this,arguments),le()&&Fn()&&Kn()})}function se(){Jn=null,Gn=0,Un(),Bn(),oe(),u=0,ue=!1}function le(){return ue}function de(){Ce(),L("clarity","restart")}var pe=null;function fe(){pe=null}function he(t){pe={fetchStart:Math.round(t.fetchStart),connectStart:Math.round(t.connectStart),connectEnd:Math.round(t.connectEnd),requestStart:Math.round(t.requestStart),responseStart:Math.round(t.responseStart),responseEnd:Math.round(t.responseEnd),domInteractive:Math.round(t.domInteractive),domComplete:Math.round(t.domComplete),loadEventStart:Math.round(t.loadEventStart),loadEventEnd:Math.round(t.loadEventEnd),redirectCount:Math.round(t.redirectCount),size:t.transferSize?t.transferSize:0,type:t.type,protocol:t.nextHopProtocol,encodedSize:t.encodedBodySize?t.encodedBodySize:0,decodedSize:t.decodedBodySize?t.decodedBodySize:0},function(t){ot(this,void 0,void 0,(function(){var n,e;return it(this,(function(r){return n=s(),e=[n,t],29===t&&(e.push(pe.fetchStart),e.push(pe.connectStart),e.push(pe.connectEnd),e.push(pe.requestStart),e.push(pe.responseStart),e.push(pe.responseEnd),e.push(pe.domInteractive),e.push(pe.domComplete),e.push(pe.loadEventStart),e.push(pe.loadEventEnd),e.push(pe.redirectCount),e.push(pe.size),e.push(pe.type),e.push(pe.protocol),e.push(pe.encodedSize),e.push(pe.decodedSize),fe(),Vt(e)),[2]}))}))}(29)}var ve,ge=0,me=1/0,ye=0,be=0,we=[],ke=new Map,Se=function(){return ge||0},_e=function(){if(!we.length)return-1;var t=Math.min(we.length-1,Math.floor((Se()-be)/50));return we[t].latency},Ee=function(){be=Se(),we.length=0,ke.clear()},Ie=function(t){if(t.interactionId&&!(t.duration<40)){!function(t){"interactionCount"in performance?ge=performance.interactionCount:t.interactionId&&(me=Math.min(me,t.interactionId),ye=Math.max(ye,t.interactionId),ge=ye?(ye-me)/7+1:0)}(t);var n=we[we.length-1],e=ke.get(t.interactionId);if(e||we.length<10||t.duration>(null==n?void 0:n.latency)){if(e)t.duration>e.latency&&(e.latency=t.duration);else{var r={id:t.interactionId,latency:t.duration};ke.set(r.id,r),we.push(r)}we.sort((function(t,n){return n.latency-t.latency})),we.length>10&&we.splice(10).forEach((function(t){return ke.delete(t.id)}))}}},Te=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint","event"];function Oe(){try{ve&&ve.disconnect(),ve=new PerformanceObserver(Xn(Me));for(var t=0,n=Te;t<n.length;t++){var e=n[t];PerformanceObserver.supportedEntryTypes.indexOf(e)>=0&&("layout-shift"===e&&W(9,0),ve.observe({type:e,buffered:!0}))}}catch(t){}}function Me(t){!function(t){for(var n=(!("visibilityState"in document)||"visible"===document.visibilityState),e=0;e<t.length;e++){var r=t[e];switch(r.entryType){case"navigation":he(r);break;case"resource":var a=r.name;un(4,Ne(a)),a!==o.upload&&a!==o.fallback||Z(28,r.duration);break;case"longtask":B(7);break;case"first-input":n&&Z(10,r.processingStart-r.startTime);break;case"event":n&&"PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&(Ie(r),un(37,_e().toString()));break;case"layout-shift":n&&!r.hadRecentInput&&W(9,1e3*r.value);break;case"largest-contentful-paint":n&&Z(8,r.startTime)}}}(t.getEntries())}var xe=null;function Ne(t){return xe||(xe=document.createElement("a")),xe.href=t,xe.host}var je=[j,j,j,Object.freeze({__proto__:null,start:function(){fe(),function(){navigator&&navigator.connection&&un(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?Yn(window,"load",J.bind(this,Oe,0)):Oe())}()},stop:function(){ve&&ve.disconnect(),ve=null,Ee(),xe=null,fe()}})];function Ce(t){void 0===t&&(t=null),function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===ue&&"undefined"!=typeof Promise&&window.MutationObserver&&document.createTreeWalker&&"now"in Date&&"now"in performance&&"undefined"!=typeof WeakMap&&!t}catch(t){return!1}}()&&(!function(t){if(null===t||ue)return!1;for(var n in t)n in o&&(o[n]=t[n])}(t),ce(),kt(),je.forEach((function(t){return Xn(t.start)()})),null===t&&De())}function ze(){le()&&(je.slice().reverse().forEach((function(t){return Xn(t.stop)()})),St(),se(),void 0!==Pe&&(Pe[qe]=function(){(Pe[qe].q=Pe[qe].q||[]).push(arguments),"start"===arguments[0]&&Pe[qe].q.unshift(Pe[qe].q.pop())&&De()}))}var Ae=Object.freeze({__proto__:null,consent:wn,consentv2:kn,event:L,hashText:M,identify:st,metadata:yn,pause:function(){le()&&(L("clarity","pause"),null===ee&&(ee=new Promise((function(t){re=t}))))},resume:function(){le()&&(ae(),L("clarity","resume"))},set:ct,signal:function(t){yt=t},start:Ce,stop:ze,upgrade:rt,version:l}),Pe=window,qe="clarity";function De(){if(void 0!==Pe){if(Pe[qe]&&Pe[qe].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=Pe[qe]&&Pe[qe].q||[];for(Pe[qe]=function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return Ae[t].apply(Ae,n)},Pe[qe].v=l;t.length>0;)Pe[qe].apply(Pe,t.shift())}}De()}();
1
+ !function(){"use strict";var t=Object.freeze({__proto__:null,get queue(){return Jt},get start(){return Zt},get stop(){return Gt},get track(){return Ut}}),n=Object.freeze({__proto__:null,get check(){return en},get compute(){return an},get data(){return Ht},get start(){return nn},get stop(){return on},get trigger(){return rn}}),e=Object.freeze({__proto__:null,get compute(){return fn},get data(){return un},get log(){return pn},get reset(){return hn},get start(){return ln},get stop(){return dn},get updates(){return cn}}),r=Object.freeze({__proto__:null,get callback(){return jn},get callbacks(){return gn},get clear(){return xn},get consent(){return In},get consentv2(){return Tn},get data(){return vn},get electron(){return mn},get id(){return En},get metadata(){return _n},get save(){return Nn},get shortid(){return An},get start(){return kn},get stop(){return Sn}}),a=Object.freeze({__proto__:null,get data(){return Ln},get envelope(){return Yn},get start(){return Xn},get stop(){return Vn}}),o={projectId:null,delay:1e3,lean:!1,lite:!1,track:!0,content:!0,drop:[],mask:[],unmask:[],regions:[],cookies:[],fraud:!0,checksum:[],report:null,upload:null,fallback:null,upgrade:null,action:null,dob:null,delayDom:!1,throttleDom:!0,conversions:!1,includeSubdomains:!0};function i(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var u=0;function c(){return performance.now()+performance.timeOrigin}function s(t){void 0===t&&(t=null);var n=0===u?c():u,e=t&&t.timeStamp>0?t.timeStamp:performance.now(),r=t&&t.view?t.view.performance.timeOrigin:performance.timeOrigin;return Math.max(Math.round(e+r-n),0)}var l="0.8.26";var d=/\S/gi,p=255,f=!0,h=null,v=null,g=null;function m(t,n,e,r,a){if(void 0===r&&(r=!1),t){if("input"==n&&("checkbox"===a||"radio"===a))return t;switch(e){case 0:return t;case 1:switch(n){case"*T":case"value":case"placeholder":case"click":return function(t){var n=-1,e=0,r=!1,a=!1,o=!1,i=null;_();for(var u=0;u<t.length;u++){var c=t.charCodeAt(u);if(r=r||c>=48&&c<=57,a=a||64===c,o=9===c||10===c||13===c||32===c,0===u||u===t.length-1||o){if(r||a){null===i&&(i=t.split(""));var s=t.substring(n+1,o?u:u+1);s=f&&null!==g?s.match(g)?s:k(s,"▪","▫"):w(s),i.splice(n+1-e,s.length,s),e+=s.length-1}o&&(r=!1,a=!1,n=u)}}return i?i.join(""):t}(t);case"input":case"change":return S(t)}return t;case 2:case 3:switch(n){case"*T":case"data-":return r?b(t):w(t);case"src":case"srcset":case"title":case"alt":return 3===e?"src"===n&&(null==t?void 0:t.startsWith("blob:"))?"blob:":"":t;case"value":case"click":case"input":case"change":return S(t);case"placeholder":return w(t)}break;case 4:switch(n){case"*T":case"data-":return r?b(t):w(t);case"value":case"input":case"click":case"change":return Array(5).join("•");case"checksum":return""}break;case 5:switch(n){case"*T":case"data-":return k(t,"▪","▫");case"value":case"input":case"click":case"change":return Array(5).join("•");case"checksum":case"src":case"srcset":case"alt":case"title":return""}}}return t}function y(t,n,e){void 0===n&&(n=!1),void 0===e&&(e=!1);var r=t;if(n)r="".concat("https://").concat("Electron");else{var a=o.drop;if(a&&a.length>0&&t&&t.indexOf("?")>0){var i=t.split("?"),u=i[0],c=i[1];r=u+"?"+c.split("&").map((function(t){return a.some((function(n){return 0===t.indexOf("".concat(n,"="))}))?"".concat(t.split("=")[0],"=").concat("*na*"):t})).join("&")}}return e&&(r=r.substring(0,p)),r}function b(t){var n=t.trim();if(n.length>0){var e=n[0],r=t.indexOf(e),a=t.substr(0,r),o=t.substr(r+n.length);return"".concat(a).concat(n.length.toString(36)).concat(o)}return t}function w(t){return t.replace(d,"•")}function k(t,n,e){return _(),t?t.replace(v,n).replace(h,e):t}function S(t){for(var n=5*(Math.floor(t.length/5)+1),e="",r=0;r<n;r++)e+=r>0&&r%5==0?" ":"•";return e}function _(){if(f&&null===h)try{h=new RegExp("\\p{N}","gu"),v=new RegExp("\\p{L}","gu"),g=new RegExp("\\p{Sc}","gu")}catch(t){f=!1}}var E=[],I=null;function T(){}var O=[];function M(){}function x(){}function j(){}var N=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:I,hashText:M,keys:O,log:T,observe:function(){},reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:E,stop:function(){},track:j,trigger:x}),C=null,z=!0;function A(t){q(t.analytics_Storage?1:0),C=t}function P(){q(2)}function q(t){pn(36,t.toString())}function D(t){C=t,tn(47)}function R(){z&&(tn(47),z=!1)}var U=Object.freeze({__proto__:null,compute:R,config:A,consent:P,consentv2:D,get data(){return C},start:function(){z=!0},stop:function(){z=!0}}),H=null;function L(t,n){ve()&&t&&"string"==typeof t&&t.length<255&&(H=n&&"string"==typeof n&&n.length<255?{key:t,value:n}:{value:t},tn(24))}var X,V=null,Y=null;function B(t){t in V||(V[t]=0),t in Y||(Y[t]=0),V[t]++,Y[t]++}function W(t,n){null!==n&&(t in V||(V[t]=0),t in Y||(Y[t]=0),V[t]+=n,Y[t]+=n)}function Z(t,n){null!==n&&!1===isNaN(n)&&(t in V||(V[t]=0),(n>V[t]||0===V[t])&&(Y[t]=n,V[t]=n))}function J(t,n,e){return window.setTimeout(Zn(t),n,e)}function G(t){return window.clearTimeout(t)}var F=0,K=0,Q=null;function $(){Q&&G(Q),Q=J(tt,K),F=s()}function tt(){var t=s();X={gap:t-F},tn(25),X.gap<3e5?Q=J(tt,K):pe&&(L("clarity","suspend"),Re(),["mousemove","touchstart"].forEach((function(t){return Gn(document,t,ge)})),["resize","scroll","pageshow"].forEach((function(t){return Gn(window,t,ge)})))}var nt=Object.freeze({__proto__:null,get data(){return X},reset:$,start:function(){K=6e4,F=0},stop:function(){G(Q),F=0,K=0}}),et=null;function rt(t){ve()&&o.lean&&(o.lean=!1,et={key:t},jn(),Nn(),o.upgrade&&o.upgrade(t),tn(3),o.lite)}var at=Object.freeze({__proto__:null,get data(){return et},start:function(){!o.lean&&o.upgrade&&o.upgrade("Config"),et=null},stop:function(){et=null},upgrade:rt});function ot(t,n,e,r){return new(e||(e=Promise))((function(a,o){function i(t){try{c(r.next(t))}catch(t){o(t)}}function u(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var n;t.done?a(t.value):(n=t.value,n instanceof e?n:new e((function(t){t(n)}))).then(i,u)}c((r=r.apply(t,n||[])).next())}))}function it(t,n){var e,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(c){return function(u){if(e)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(i=0)),i;)try{if(e=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){i.label=u[1];break}if(6===u[0]&&i.label<a[1]){i.label=a[1],a=u;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(u);break}a[2]&&i.ops.pop(),i.trys.pop();continue}u=n.call(t,i)}catch(t){u=[6,t],r=0}finally{e=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var ut=null;function ct(t,n){lt(t,"string"==typeof n?[n]:n)}function st(t,n,e,r){return void 0===n&&(n=null),void 0===e&&(e=null),void 0===r&&(r=null),ot(this,void 0,void 0,(function(){var a,o;return it(this,(function(i){switch(i.label){case 0:return o={},[4,ft(t)];case 1:return o.userId=i.sent(),o.userHint=r||((u=t)&&u.length>=5?"".concat(u.substring(0,2)).concat(k(u.substring(2),"*","*")):k(u,"*","*")),lt("userId",[(a=o).userId]),lt("userHint",[a.userHint]),lt("userType",[ht(t)]),n&&(lt("sessionId",[n]),a.sessionId=n),e&&(lt("pageId",[e]),a.pageId=e),[2,a]}var u}))}))}function lt(t,n){if(ve()&&t&&n&&"string"==typeof t&&t.length<255){for(var e=(t in ut?ut[t]:[]),r=0;r<n.length;r++)"string"==typeof n[r]&&n[r].length<255&&e.push(n[r]);ut[t]=e}}function dt(){tn(34)}function pt(){ut={}}function ft(t){return ot(this,void 0,void 0,(function(){var n;return it(this,(function(e){switch(e.label){case 0:return e.trys.push([0,4,,5]),crypto&&t?[4,crypto.subtle.digest("SHA-256",(new TextEncoder).encode(t))]:[3,2];case 1:return n=e.sent(),[2,Array.prototype.map.call(new Uint8Array(n),(function(t){return("00"+t.toString(16)).slice(-2)})).join("")];case 2:return[2,""];case 3:return[3,5];case 4:return e.sent(),[2,""];case 5:return[2]}}))}))}function ht(t){return t&&t.indexOf("@")>0?"email":"string"}var vt="CompressionStream"in window;function gt(t){return ot(this,void 0,void 0,(function(){var n,e;return it(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),vt?(n=new ReadableStream({start:function(n){return ot(this,void 0,void 0,(function(){return it(this,(function(e){return n.enqueue(t),n.close(),[2]}))}))}}).pipeThrough(new TextEncoderStream).pipeThrough(new window.CompressionStream("gzip")),e=Uint8Array.bind,[4,mt(n)]):[3,2];case 1:return[2,new(e.apply(Uint8Array,[void 0,r.sent()]))];case 2:return[3,4];case 3:return r.sent(),[3,4];case 4:return[2,null]}}))}))}function mt(t){return ot(this,void 0,void 0,(function(){var n,e,r,a,o;return it(this,(function(i){switch(i.label){case 0:n=t.getReader(),e=[],r=!1,a=[],i.label=1;case 1:return r?[3,3]:[4,n.read()];case 2:return o=i.sent(),r=o.done,a=o.value,r?[2,e]:(e.push.apply(e,a),[3,1]);case 3:return[2,e]}}))}))}var yt=null;function bt(t){try{if(!yt)return;var n=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);n.forEach((function(t){yt(t)}))}catch(t){}}var wt=[N,e,Object.freeze({__proto__:null,compute:dt,get data(){return ut},identify:st,reset:pt,set:ct,start:function(){pt()},stop:function(){pt()}}),n,N,U,r,a,t,nt,at,N];function kt(){V={},Y={},B(5),wt.forEach((function(t){return Zn(t.start)()}))}function St(){wt.slice().reverse().forEach((function(t){return Zn(t.stop)()})),V={},Y={}}function _t(){dt(),fn(),tn(0),an(),R()}function Et(t,n,e){return"".concat(t,"=").concat(m(n,0===t.indexOf("data-")?"data-":t,e))}var It=[],Tt=1,Ot=null;function Mt(){It=[],function(t){var n=[t];for(;n.length>0;){for(var e=null,r=null,a=null,o=n.shift(),i=o.firstChild,u=o.parentElement?o.parentElement:o.parentNode?o.parentNode:null;i;)n.push(i),i=i.nextSibling;switch(o.nodeType){case Node.DOCUMENT_TYPE_NODE:var c=o;r="*D",e={name:c.name,publicId:c.publicId,systemId:c.systemId};break;case Node.TEXT_NODE:a=o.nodeValue,r=Ot.get(u)?"*T":r;break;case Node.ELEMENT_NODE:var s=o;e=xt(s),r=["NOSCRIPT","SCRIPT","STYLE"].indexOf(s.tagName)<0?s.tagName:r}jt(o,u,{tag:r,attributes:e,value:a})}}(document),function(t){ot(this,void 0,void 0,(function(){var n,e,r,a,o,i,u,c,l,d,p,f,h;return it(this,(function(v){switch(n=s(),e=[n,t],t){case 8:r=I,e.push(r.width),e.push(r.height),r.width,r.height,Jt(e);break;case 43:if((a=It).length>0){for(o=0,i=a;o<i.length;o++)for(u=i[o],c=u.metadata.privacy,l=u.data,d=0,p=["tag","attributes","value"];d<p.length;d++)if(l[f=p[d]])switch(f){case"tag":e.push(u.id),u.parent&&e.push(u.parent),u.previous&&e.push(u.previous),e.push(l[f]);break;case"attributes":for(h in l[f])void 0!==l[f][h]&&e.push(Et(h,l[f][h],c));break;case"value":e.push(m(l[f],l.tag,c))}Jt(function(t){for(var n=[],e={},r=0,a=null,o=0;o<t.length;o++)if("string"==typeof t[o]){var i=t[o],u=e[i]||-1;u>=0?a?a.push(u):(a=[u],n.push(a),r++):(a=null,n.push(i),e[i]=r++)}else a=null,n.push(t[o]),r++;return n}(e),!0)}}return[2]}))}))}(43)}function xt(t){var n={},e=t.attributes;if(e&&e.length>0)for(var r=0;r<e.length;r++)n[e[r].name]=e[r].value;return n}function jt(t,n,e){if(t&&e&&e.tag){var r=function(t){return null===t?null:Ot.has(t)?Ot.get(t):(Ot.set(t,Tt),Tt++)}(t),a=n?Ot.get(n):null,o=t.previousSibling?Ot.get(t.previousSibling):null;It.push({id:r,parent:a,previous:o,children:[],data:e,selector:null,hash:null,region:null,metadata:{active:!0,suspend:!1,privacy:5,position:null,fraud:null,size:null}})}}var Nt=[],Ct=!1;function zt(t){Ct&&"function"==typeof t&&Nt.push(t)}function At(t){!function(t){if(!Ct)return;try{var n=document.createElement("script");n.src=t,n.async=!0,document.head.appendChild(n)}catch(t){}}(t)}var Pt,qt,Dt,Rt,Ut,Ht,Lt=Object.freeze({__proto__:null,dynamicEvent:At,register:zt,start:function(){Ct=!0},stop:function(){Nt.reverse().forEach((function(t){try{t()}catch(t){}})),Nt=[],Ct=!1}}),Xt=0,Vt=0,Yt=null,Bt=0,Wt=!1;function Zt(){Rt=!0,Xt=0,Vt=0,Wt=!1,Bt=0,Pt=[],qt=[],Dt={},Ut=null}function Jt(t,n){if(void 0===n&&(n=!0),Rt){var e=s(),r=t.length>1?t[1]:null,a=JSON.stringify(t);switch(o.lean?!Wt&&Vt+a.length>10485760&&(Wt=!0):Wt=!1,r){case 5:if(Wt)break;Xt+=a.length;case 37:case 6:case 43:case 45:case 46:if(Wt)break;Vt+=a.length,Pt.push(a);break;default:qt.push(a)}B(25);var i=function(){var t=!1===o.lean&&Xt>0?100:Ln.sequence*o.delay;return"string"==typeof o.upload?Math.max(Math.min(t,3e4),100):o.delay}();e-Bt>2*i&&(G(Yt),Yt=null),n&&null===Yt&&(25!==r&&$(),Yt=J(Ft,i),Bt=e,en(Vt))}}function Gt(){G(Yt),Ft(!0),Xt=0,Vt=0,Wt=!1,Bt=0,Pt=[],qt=[],Dt={},Ut=null,Rt=!1}function Ft(t){return void 0===t&&(t=!1),ot(this,void 0,void 0,(function(){var n,e,r,a,i,u,c,s;return it(this,(function(l){switch(l.label){case 0:return Rt?(Yt=null,(n=!1===o.lean&&Vt>0&&(Vt<1048576||Ln.sequence>0))&&Z(1,1),_t(),e=!0===t,Ln?(r=JSON.stringify(Yn(e)),a="[".concat(qt.join(),"]"),i=n?"[".concat(Pt.join(),"]"):"",e&&i.length>0&&r.length+a.length+i.length>65536&&(i=""),u=function(t){return t.p.length>0?'{"e":'.concat(t.e,',"a":').concat(t.a,',"p":').concat(t.p,"}"):'{"e":'.concat(t.e,',"a":').concat(t.a,"}")}({e:r,a:a,p:i}),e?(s=null,[3,3]):[3,1]):[2]):[2];case 1:return[4,gt(u)];case 2:s=l.sent(),l.label=3;case 3:return W(2,(c=s)?c.length:u.length),Kt(u,c,Ln.sequence,e),qt=[],n&&(Pt=[],Vt=0,Xt=0,Wt=!1),[2]}}))}))}function Kt(t,n,e,r){if(void 0===r&&(r=!1),"string"==typeof o.upload){var a=o.upload,i=!1;if(r&&navigator&&navigator.sendBeacon)try{(i=navigator.sendBeacon.bind(navigator)(a,t))&&$t(e)}catch(t){}if(!1===i){e in Dt?Dt[e].attempts++:Dt[e]={data:t,attempts:1};var u=new XMLHttpRequest;u.open("POST",a,!0),u.timeout=15e3,u.ontimeout=function(){Wn(new Error("".concat("Timeout"," : ").concat(a)))},null!==e&&(u.onreadystatechange=function(){Zn(Qt)(u,e)}),u.withCredentials=!0,n?(u.setRequestHeader("Accept","application/x-clarity-gzip"),u.send(n)):u.send(t)}}else if(o.upload){(0,o.upload)(t),$t(e)}}function Qt(t,n){var e=Dt[n];t&&4===t.readyState&&e&&((t.status<200||t.status>208)&&e.attempts<=1?t.status>=400&&t.status<500?rn(6):(0===t.status&&(o.upload=o.fallback?o.fallback:o.upload),Ut={sequence:n,attempts:e.attempts,status:t.status},tn(2),Kt(e.data,null,n)):(Ut={sequence:n,attempts:e.attempts,status:t.status},e.attempts>1&&tn(2),200===t.status&&t.responseText&&function(t){for(var n=t&&t.length>0?t.split("\n"):[],e=0,r=n;e<r.length;e++){var a=r[e],i=a&&a.length>0?a.split(/ (.*)/):[""];switch(i[0]){case"END":rn(6);break;case"UPGRADE":rt("Auto");break;case"ACTION":o.action&&i.length>1&&o.action(i[1]);break;case"EXTRACT":i.length>1&&i[1];break;case"SIGNAL":i.length>1&&bt(i[1]);break;case"MODULE":i.length>1&&At(i[1]);break;case"SNAPSHOT":o.lean=!1,Mt()}}}(t.responseText),0===t.status&&(Kt(e.data,null,n,!0),rn(3)),t.status>=200&&t.status<=208&&$t(n),delete Dt[n]))}function $t(t){1===t&&(Nn(),jn())}function tn(t){var n=[s(),t];switch(t){case 4:var e=E;e&&e.data&&((n=[e.time,e.event]).push(e.data.visible),n.push(e.data.docWidth),n.push(e.data.docHeight),n.push(e.data.screenWidth),n.push(e.data.screenHeight),n.push(e.data.scrollX),n.push(e.data.scrollY),n.push(e.data.pointerX),n.push(e.data.pointerY),n.push(e.data.activityTime),n.push(e.data.scrollTime),n.push(e.data.pointerTime),n.push(e.data.moveX),n.push(e.data.moveY),n.push(e.data.moveTime),n.push(e.data.downX),n.push(e.data.downY),n.push(e.data.downTime),n.push(e.data.upX),n.push(e.data.upY),n.push(e.data.upTime),n.push(e.data.pointerPrevX),n.push(e.data.pointerPrevY),n.push(e.data.pointerPrevTime),Jt(n,!1));break;case 25:n.push(X.gap),Jt(n);break;case 35:n.push(Ht.check),Jt(n,!1);break;case 3:n.push(et.key),Jt(n);break;case 2:n.push(Ut.sequence),n.push(Ut.attempts),n.push(Ut.status),Jt(n,!1);break;case 24:H.key&&n.push(H.key),n.push(H.value),Jt(n);break;case 34:var r=Object.keys(ut);if(r.length>0){for(var a=0,o=r;a<o.length;a++){var i=o[a];n.push(i),n.push(ut[i])}pt(),Jt(n,!1)}break;case 0:var u=Object.keys(Y);if(u.length>0){for(var c=0,l=u;c<l.length;c++){var d=l[c],p=parseInt(d,10);n.push(p),n.push(Math.round(Y[d]))}Y={},Jt(n,!1)}break;case 1:var f=Object.keys(cn);if(f.length>0){for(var h=0,v=f;h<v.length;h++){var g=v[h];p=parseInt(g,10);n.push(p),n.push(cn[g])}hn(),Jt(n,!1)}break;case 36:var m=Object.keys(I);if(m.length>0){for(var y=0,b=m;y<b.length;y++){var w=b[y];p=parseInt(w,10);n.push(p),n.push([].concat.apply([],I[w]))}Jt(n,!1)}break;case 40:O.forEach((function(t){n.push(t);var e=[];for(var r in I[t]){var a=parseInt(r,10);e.push(a),e.push(I[t][r])}n.push(e)})),Jt(n,!1);break;case 47:n.push(C.source),n.push(C.ad_Storage),n.push(C.analytics_Storage),Jt(n,!1)}}function nn(){Ht={check:0}}function en(t){if(0===Ht.check){var n=Ht.check;n=Ln.sequence>=128?1:n,n=Ln.pageNum>=128?7:n,n=s()>72e5?2:n,(n=t>10485760?2:n)!==Ht.check&&rn(n)}}function rn(t){Ht.check=t,5!==t&&(xn(),Re())}function an(){0!==Ht.check&&tn(35)}function on(){Ht=null}var un=null,cn=null,sn=!1;function ln(){un={},cn={},sn=!1}function dn(){un={},cn={},sn=!1}function pn(t,n){if(n&&(n="".concat(n),t in un||(un[t]=[]),un[t].indexOf(n)<0)){if(un[t].length>128)return void(sn||(sn=!0,rn(5)));un[t].push(n),t in cn||(cn[t]=[]),cn[t].push(n)}}function fn(){tn(1)}function hn(){cn={},sn=!1}var vn=null,gn=[],mn=0,yn=null,bn=null,wn={ad_Storage:"denied",analytics_Storage:"denied"};function kn(){var t,n,e;yn=null;var r=navigator&&"userAgent"in navigator?navigator.userAgent:"",a=null!==(e="undefined"!=typeof Intl&&(null===(n=null===(t=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===t?void 0:t.resolvedOptions())||void 0===n?void 0:n.timeZone))&&void 0!==e?e:"",i=(new Date).getTimezoneOffset().toString(),u=window.location.ancestorOrigins?Array.from(window.location.ancestorOrigins).toString():"",c=document&&document.title?document.title:"";mn=r.indexOf("Electron")>0?1:0;var s=function(){var t={session:An(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},n=Dn("_clsk",!o.includeSubdomains);if(n){var e=n.includes("^")?n.split("^"):n.split("|");e.length>=5&&t.ts-Pn(e[1])<18e5&&(t.session=e[0],t.count=Pn(e[2])+1,t.upgrade=Pn(e[3]),t.upload=e.length>=6?"".concat("https://").concat(e[5],"/").concat(e[4]):"".concat("https://").concat(e[4]))}return t}(),l=qn(),d=o.projectId||function(t,n){void 0===n&&(n=null);for(var e,r=5381,a=r,o=0;o<t.length;o+=2)r=(r<<5)+r^t.charCodeAt(o),o+1<t.length&&(a=(a<<5)+a^t.charCodeAt(o+1));return e=Math.abs(r+11579*a),(n?e%Math.pow(2,n):e).toString(36)}(location.host);vn={projectId:d,userId:l.id,sessionId:s.session,pageNum:s.count},o.lean=o.track&&null!==s.upgrade?0===s.upgrade:o.lean,o.upload=o.track&&"string"==typeof o.upload&&s.upload&&s.upload.length>"https://".length?s.upload:o.upload,pn(0,r),pn(3,c),pn(1,y(location.href,!!mn)),pn(2,document.referrer),pn(15,function(){var t=An();if(o.track&&Cn(window,"sessionStorage")){var n=sessionStorage.getItem("_cltk");t=n||t,sessionStorage.setItem("_cltk",t)}return t}()),pn(16,document.documentElement.lang),pn(17,document.dir),pn(26,"".concat(window.devicePixelRatio)),pn(28,l.dob.toString()),pn(29,l.version.toString()),pn(33,u),pn(34,a),pn(35,i),Z(0,s.ts),Z(1,0),Z(35,mn);var p,f=null===window||void 0===window?void 0:window.Zone;f&&"__symbol__"in f&&Z(39,1),navigator&&(pn(9,navigator.language),Z(33,navigator.hardwareConcurrency),Z(32,navigator.maxTouchPoints),Z(34,Math.round(navigator.deviceMemory)),(p=navigator.userAgentData)&&p.getHighEntropyValues?p.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var n;pn(22,t.platform),pn(23,t.platformVersion),null===(n=t.brands)||void 0===n||n.forEach((function(t){pn(24,t.name+"~"+t.version)})),pn(25,t.model),Z(27,t.mobile?1:0)})):pn(22,navigator.platform)),screen&&(Z(14,Math.round(screen.width)),Z(15,Math.round(screen.height)),Z(16,Math.round(screen.colorDepth)));for(var h=0,v=o.cookies;h<v.length;h++){var g=v[h],m=Dn(g);m&&ct(g,m)}A(On(bn={ad_Storage:o.track?"granted":"denied",analytics_Storage:o.track?"granted":"denied"},0)),zn(l)}function Sn(){yn=null,vn=null,bn=null,gn.forEach((function(t){t.called=!1}))}function _n(t,n,e,r){void 0===n&&(n=!0),void 0===e&&(e=!1),void 0===r&&(r=!1);var a=o.lean?0:1,i=!1;vn&&(a||!1===n)&&(t(vn,!o.lean,r?bn:void 0),i=!0),!e&&i||gn.push({callback:t,wait:n,recall:e,called:i,consentInfo:r})}function En(){return vn?[vn.userId,vn.sessionId,vn.pageNum].join("."):""}function In(t){void 0===t&&(t=!0),t?(Tn({ad_Storage:"granted",analytics_Storage:"granted"}),P()):Tn()}function Tn(t,n){void 0===t&&(t=wn),void 0===n&&(n=1),bn={ad_Storage:Mn(t.ad_Storage),analytics_Storage:Mn(t.analytics_Storage)},jn(!0);var e=On(bn,n);if(!e.analytics_Storage)return o.track=!1,Un("_clsk","",-Number.MAX_VALUE),Un("_clck","",-Number.MAX_VALUE),Re(),void window.setTimeout(De,250);ve()&&(o.track=!0,zn(qn(),1),Nn(),D(e),P())}function On(t,n){return{source:n,ad_Storage:"granted"===t.ad_Storage?1:0,analytics_Storage:"granted"===t.analytics_Storage?1:0}}function Mn(t){return"string"==typeof t?t.toLowerCase():"denied"}function xn(){Un("_clsk","",0)}function jn(t){void 0===t&&(t=!1),function(t,n){void 0===n&&(n=!1);if(gn.length>0)for(var e=0;e<gn.length;e++){var r=gn[e];r.callback&&(!r.called&&!n||r.consentInfo&&n)&&(!r.wait||t)&&(r.callback(vn,!o.lean,r.consentInfo?bn:void 0),r.called=!0,r.recall||(gn.splice(e,1),e--))}}(o.lean?0:1,t)}function Nn(){if(vn&&o.track){var t=Math.round(Date.now()),n=o.upload&&"string"==typeof o.upload?o.upload.replace("https://",""):"",e=o.lean?0:1;Un("_clsk",[vn.sessionId,t,vn.pageNum,e,n].join("^"),1)}}function Cn(t,n){try{return!!t[n]}catch(t){return!1}}function zn(t,n){void 0===n&&(n=null),n=null===n?t.consent:n;var e=Math.ceil((Date.now()+31536e6)/864e5),r=0===t.dob?null===o.dob?0:o.dob:t.dob;(null===t.expiry||Math.abs(e-t.expiry)>=1||t.consent!==n||t.dob!==r)&&Un("_clck",[vn.userId,2,e.toString(36),n,r].join("^"),365)}function An(){var t=Math.floor(Math.random()*Math.pow(2,32));return window&&window.crypto&&window.crypto.getRandomValues&&Uint32Array&&(t=window.crypto.getRandomValues(new Uint32Array(1))[0]),t.toString(36)}function Pn(t,n){return void 0===n&&(n=10),parseInt(t,n)}function qn(){var t={id:An(),version:0,expiry:null,consent:0,dob:0},n=Dn("_clck",!o.includeSubdomains);if(n&&n.length>0){var e=n.includes("^")?n.split("^"):n.split("|");e.length>1&&(t.version=Pn(e[1])),e.length>2&&(t.expiry=Pn(e[2],36)),e.length>3&&1===Pn(e[3])&&(t.consent=1),e.length>4&&Pn(e[1])>1&&(t.dob=Pn(e[4])),o.track=o.track||1===t.consent,t.id=o.track?e[0]:t.id}return t}function Dn(t,n){var e;if(void 0===n&&(n=!1),Cn(document,"cookie")){var r=document.cookie.split(";");if(r)for(var a=0;a<r.length;a++){var o=r[a].split("=");if(o.length>1&&o[0]&&o[0].trim()===t){for(var i=Rn(o[1]),u=i[0],c=i[1];u;)u=(e=Rn(c))[0],c=e[1];return n?c.endsWith("".concat("~","1"))?c.substring(0,c.length-2):null:c}}}return null}function Rn(t){try{var n=decodeURIComponent(t);return[n!=t,n]}catch(t){}return[!1,t]}function Un(t,n,e){if((o.track||""==n)&&(navigator&&navigator.cookieEnabled||Cn(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(n),a=new Date;a.setDate(a.getDate()+e);var i=a?"expires="+a.toUTCString():"",u="".concat(t,"=").concat(r).concat(";").concat(i).concat(";path=/");try{if(null===yn){for(var c=location.hostname?location.hostname.split("."):[],s=c.length-1;s>=0;s--)if(yn=".".concat(c[s]).concat(yn||""),s<c.length-1&&(document.cookie="".concat(u).concat(";").concat("domain=").concat(yn),Dn(t)===n))return;yn=""}}catch(t){yn=""}document.cookie=yn?"".concat(u).concat(";").concat("domain=").concat(yn):u}}var Hn,Ln=null;function Xn(){var t=vn;Ln={version:l,sequence:0,start:0,duration:0,projectId:t.projectId,userId:t.userId,sessionId:t.sessionId,pageNum:t.pageNum,upload:0,end:0,applicationPlatform:0,url:""}}function Vn(){Ln=null}function Yn(t){return Ln.start=Ln.start+Ln.duration,Ln.duration=s()-Ln.start,Ln.sequence++,Ln.upload=t&&"sendBeacon"in navigator?1:0,Ln.end=t?1:0,Ln.applicationPlatform=0,Ln.url=y(location.href,!1,!0),[Ln.version,Ln.sequence,Ln.start,Ln.duration,Ln.projectId,Ln.userId,Ln.sessionId,Ln.pageNum,Ln.upload,Ln.end,Ln.applicationPlatform,Ln.url]}function Bn(){Hn=[]}function Wn(t){if(Hn&&-1===Hn.indexOf(t.message)){var n=o.report;if(n&&n.length>0&&Ln){var e={v:Ln.version,p:Ln.projectId,u:Ln.userId,s:Ln.sessionId,n:Ln.pageNum};t.message&&(e.m=t.message),t.stack&&(e.e=t.stack);var r=new XMLHttpRequest;r.open("POST",n,!0),r.send(JSON.stringify(e)),Hn.push(t.message)}}return t}function Zn(t){return function(){var n=performance.now();try{t.apply(this,arguments)}catch(t){throw Wn(t)}var e=performance.now()-n;W(4,e),e>30&&(B(7),Z(6,e),"".concat(t.dn||t.name,"-").concat(e))}}var Jn=new Map;function Gn(t,n,e,r,a){void 0===r&&(r=!1),void 0===a&&(a=!0),e=Zn(e);try{t[i("addEventListener")](n,e,{capture:r,passive:a}),function(t){return Jn.has(t)}(t)||Jn.set(t,[]),Jn.get(t).push({event:n,listener:e,options:{capture:r,passive:a}})}catch(t){}}function Fn(){Jn.forEach((function(t,n){!function(t,n){t.forEach((function(t){try{n[i("removeEventListener")](t.event,t.listener,{capture:t.options.capture,passive:t.options.passive})}catch(t){}})),Jn.delete(n)}(t,n)})),Jn=new Map}var Kn=null,Qn=null,$n=null,te=0;function ne(){return!(te++>20)}function ee(){te=0,$n!==ae()&&(Re(),window.setTimeout(re,250))}function re(){De(),Z(29,1)}function ae(){return location.href?location.href.replace(location.hash,""):location.href}var oe=[],ie=null,ue=null,ce=null;function se(){ue&&(ce(),ue=null,null===ie&&de())}function le(){oe=[],ie=null,ue=null}function de(){var t=oe.shift();t&&(ie=t,t.task().then((function(){t.id===En()&&(t.resolve(),ie=null,de())})).catch((function(n){t.id===En()&&(n&&(n.name,n.message,n.stack),ie=null,de())})))}var pe=!1;function fe(){pe=!0,u=c(),le(),Fn(),Bn(),$n=ae(),te=0,Gn(window,"popstate",ee),null===Kn&&(Kn=history.pushState,history.pushState=function(){Kn.apply(this,arguments),ve()&&ne()&&ee()}),null===Qn&&(Qn=history.replaceState,history.replaceState=function(){Qn.apply(this,arguments),ve()&&ne()&&ee()})}function he(){$n=null,te=0,Bn(),Fn(),le(),u=0,pe=!1}function ve(){return pe}function ge(){De(),L("clarity","restart")}var me=null;function ye(){me=null}function be(t){me={fetchStart:Math.round(t.fetchStart),connectStart:Math.round(t.connectStart),connectEnd:Math.round(t.connectEnd),requestStart:Math.round(t.requestStart),responseStart:Math.round(t.responseStart),responseEnd:Math.round(t.responseEnd),domInteractive:Math.round(t.domInteractive),domComplete:Math.round(t.domComplete),loadEventStart:Math.round(t.loadEventStart),loadEventEnd:Math.round(t.loadEventEnd),redirectCount:Math.round(t.redirectCount),size:t.transferSize?t.transferSize:0,type:t.type,protocol:t.nextHopProtocol,encodedSize:t.encodedBodySize?t.encodedBodySize:0,decodedSize:t.decodedBodySize?t.decodedBodySize:0},function(t){ot(this,void 0,void 0,(function(){var n,e;return it(this,(function(r){return n=s(),e=[n,t],29===t&&(e.push(me.fetchStart),e.push(me.connectStart),e.push(me.connectEnd),e.push(me.requestStart),e.push(me.responseStart),e.push(me.responseEnd),e.push(me.domInteractive),e.push(me.domComplete),e.push(me.loadEventStart),e.push(me.loadEventEnd),e.push(me.redirectCount),e.push(me.size),e.push(me.type),e.push(me.protocol),e.push(me.encodedSize),e.push(me.decodedSize),ye(),Jt(e)),[2]}))}))}(29)}var we,ke=0,Se=1/0,_e=0,Ee=0,Ie=[],Te=new Map,Oe=function(){return ke||0},Me=function(){if(!Ie.length)return-1;var t=Math.min(Ie.length-1,Math.floor((Oe()-Ee)/50));return Ie[t].latency},xe=function(){Ee=Oe(),Ie.length=0,Te.clear()},je=function(t){if(t.interactionId&&!(t.duration<40)){!function(t){"interactionCount"in performance?ke=performance.interactionCount:t.interactionId&&(Se=Math.min(Se,t.interactionId),_e=Math.max(_e,t.interactionId),ke=_e?(_e-Se)/7+1:0)}(t);var n=Ie[Ie.length-1],e=Te.get(t.interactionId);if(e||Ie.length<10||t.duration>(null==n?void 0:n.latency)){if(e)t.duration>e.latency&&(e.latency=t.duration);else{var r={id:t.interactionId,latency:t.duration};Te.set(r.id,r),Ie.push(r)}Ie.sort((function(t,n){return n.latency-t.latency})),Ie.length>10&&Ie.splice(10).forEach((function(t){return Te.delete(t.id)}))}}},Ne=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint","event"];function Ce(){try{we&&we.disconnect(),we=new PerformanceObserver(Zn(ze));for(var t=0,n=Ne;t<n.length;t++){var e=n[t];PerformanceObserver.supportedEntryTypes.indexOf(e)>=0&&("layout-shift"===e&&W(9,0),we.observe({type:e,buffered:!0}))}}catch(t){}}function ze(t){!function(t){for(var n=(!("visibilityState"in document)||"visible"===document.visibilityState),e=0;e<t.length;e++){var r=t[e];switch(r.entryType){case"navigation":be(r);break;case"resource":var a=r.name;pn(4,Pe(a)),a!==o.upload&&a!==o.fallback||Z(28,r.duration);break;case"longtask":B(7);break;case"first-input":n&&Z(10,r.processingStart-r.startTime);break;case"event":n&&"PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&(je(r),pn(37,Me().toString()));break;case"layout-shift":n&&!r.hadRecentInput&&W(9,1e3*r.value);break;case"largest-contentful-paint":n&&Z(8,r.startTime)}}}(t.getEntries())}var Ae=null;function Pe(t){return Ae||(Ae=document.createElement("a")),Ae.href=t,Ae.host}var qe=[N,N,N,Object.freeze({__proto__:null,start:function(){ye(),function(){navigator&&navigator.connection&&pn(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?Gn(window,"load",J.bind(this,Ce,0)):Ce())}()},stop:function(){we&&we.disconnect(),we=null,xe(),Ae=null,ye()}}),Lt];function De(t){void 0===t&&(t=null),function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===pe&&"undefined"!=typeof Promise&&window.MutationObserver&&document.createTreeWalker&&"now"in Date&&"now"in performance&&"undefined"!=typeof WeakMap&&!t}catch(t){return!1}}()&&(!function(t){if(null===t||pe)return!1;for(var n in t)n in o&&(o[n]=t[n])}(t),fe(),kt(),qe.forEach((function(t){return Zn(t.start)()})),null===t&&Xe())}function Re(){ve()&&(qe.slice().reverse().forEach((function(t){return Zn(t.stop)()})),St(),he(),void 0!==He&&(He[Le]=function(){(He[Le].q=He[Le].q||[]).push(arguments),"start"===arguments[0]&&He[Le].q.unshift(He[Le].q.pop())&&Xe()}))}var Ue=Object.freeze({__proto__:null,consent:In,consentv2:Tn,event:L,hashText:M,identify:st,measure:Zn,metadata:_n,pause:function(){ve()&&(L("clarity","pause"),null===ue&&(ue=new Promise((function(t){ce=t}))))},queue:Jt,register:zt,resume:function(){ve()&&(se(),L("clarity","resume"))},set:ct,signal:function(t){yt=t},start:De,stop:Re,time:s,upgrade:rt,version:l}),He=window,Le="clarity";function Xe(){if(void 0!==He){if(He[Le]&&He[Le].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=He[Le]&&He[Le].q||[];for(He[Le]=function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return Ue[t].apply(Ue,n)},He[Le].v=l;t.length>0;)He[Le].apply(He,t.shift())}}Xe()}();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clarity-js",
3
- "version": "0.8.24",
3
+ "version": "0.8.26",
4
4
  "description": "An analytics library that uses web page interactions to generate aggregated insights",
5
5
  "author": "Microsoft Corp.",
6
6
  "license": "MIT",
package/src/clarity.ts CHANGED
@@ -10,11 +10,15 @@ import * as diagnostic from "@src/diagnostic";
10
10
  import * as interaction from "@src/interaction";
11
11
  import * as layout from "@src/layout";
12
12
  import * as performance from "@src/performance";
13
+ import * as dynamic from "@src/core/dynamic";
13
14
  export { version };
14
- export { consent, consentv2, event, identify, set, upgrade, metadata, signal } from "@src/data";
15
+ export { consent, consentv2, event, identify, set, upgrade, metadata, signal } from "@src/data";
16
+ export { queue } from "@src/data/upload";
17
+ export { register } from "@src/core/dynamic";
18
+ export { time } from "@src/core/time";
15
19
  export { hashText } from "@src/layout";
16
-
17
- const modules: Module[] = [diagnostic, layout, interaction, performance];
20
+ export { measure };
21
+ const modules: Module[] = [diagnostic, layout, interaction, performance, dynamic];
18
22
 
19
23
  export function start(config: Config = null): void {
20
24
  // Check that browser supports required APIs and we do not attempt to start Clarity multiple times
@@ -0,0 +1,41 @@
1
+ let stopCallbacks: (() => void)[] = [];
2
+ let active = false;
3
+
4
+ export function start(): void {
5
+ active = true;
6
+ }
7
+
8
+ export function stop(): void {
9
+ stopCallbacks.reverse().forEach((callback) => {
10
+ try {
11
+ callback();
12
+ } catch (error) {
13
+ // Do nothing
14
+ }
15
+ });
16
+ stopCallbacks = [];
17
+ active = false;
18
+ }
19
+
20
+ export function register(stopCallback: () => void): void {
21
+ if (active && typeof stopCallback === "function") {
22
+ stopCallbacks.push(stopCallback);
23
+ }
24
+ }
25
+
26
+ export function dynamicEvent(url: string): void {
27
+ load(url);
28
+ }
29
+
30
+ function load(url: string): void {
31
+ if (!active) return;
32
+
33
+ try {
34
+ const script = document.createElement("script");
35
+ script.src = url;
36
+ script.async = true;
37
+ document.head.appendChild(script);
38
+ } catch (error) {
39
+ // Do nothing
40
+ }
41
+ }
@@ -1,6 +1,7 @@
1
- import { Metric, Setting } from "@clarity-types/data";
1
+ import { Code, Metric, Setting, Severity } from "@clarity-types/data";
2
2
  import { report } from "@src/core/report";
3
3
  import * as metric from "@src/data/metric";
4
+ import * as internal from "@src/diagnostic/internal";
4
5
 
5
6
  // tslint:disable-next-line: ban-types
6
7
  export default function (method: Function): Function {
@@ -12,6 +13,7 @@ export default function (method: Function): Function {
12
13
  if (duration > Setting.LongTask) {
13
14
  metric.count(Metric.LongTaskCount);
14
15
  metric.max(Metric.ThreadBlockedTime, duration);
16
+ internal.log(Code.FunctionExecutionTime, Severity.Info, `${method.dn || method.name}-${duration}`);
15
17
  }
16
18
  };
17
19
  }
@@ -1,2 +1,2 @@
1
- let version = "0.8.24";
1
+ let version = "0.8.26";
2
2
  export default version;
@@ -213,7 +213,7 @@ export function save(): void {
213
213
  let ts = Math.round(Date.now());
214
214
  let upload = config.upload && typeof config.upload === Constant.String ? (config.upload as string).replace(Constant.HTTPS, Constant.Empty) : Constant.Empty;
215
215
  let upgrade = config.lean ? BooleanFlag.False : BooleanFlag.True;
216
- setCookie(Constant.SessionKey, [data.sessionId, ts, data.pageNum, upgrade, upload].join(Constant.Pipe), Setting.SessionExpire);
216
+ setCookie(Constant.SessionKey, [data.sessionId, ts, data.pageNum, upgrade, upload].join(Constant.Caret), Setting.SessionExpire);
217
217
  }
218
218
 
219
219
  function processCallback(upgrade: BooleanFlag, consentUpdate: boolean = false): void {
@@ -252,7 +252,7 @@ function track(u: User, consent: BooleanFlag = null): void {
252
252
  // To avoid cookie churn, write user id cookie only once every day
253
253
  if (u.expiry === null || Math.abs(end - u.expiry) >= Setting.CookieInterval || u.consent !== consent || u.dob !== dob) {
254
254
  let cookieParts = [data.userId, Setting.CookieVersion, end.toString(36), consent, dob];
255
- setCookie(Constant.CookieKey, cookieParts.join(Constant.Pipe), Setting.Expire);
255
+ setCookie(Constant.CookieKey, cookieParts.join(Constant.Caret), Setting.Expire);
256
256
  }
257
257
  }
258
258
 
@@ -21,6 +21,7 @@ import * as style from "@src/layout/style";
21
21
  import { report } from "@src/core/report";
22
22
  import { signalsEvent } from "@src/data/signal";
23
23
  import { snapshot } from "@src/insight/snapshot";
24
+ import { dynamicEvent } from "@src/core/dynamic";
24
25
 
25
26
  let discoverBytes: number = 0;
26
27
  let playbackBytes: number = 0;
@@ -149,13 +150,19 @@ async function upload(final: boolean = false): Promise<void> {
149
150
  let a = `[${analysis.join()}]`;
150
151
 
151
152
  let p = sendPlaybackBytes ? `[${playback.join()}]` : Constant.Empty;
153
+
154
+ // For final (beacon) payloads, If size is too large, we need to remove playback data
155
+ if (last && p.length > 0 && (e.length + a.length + p.length > Setting.MaxBeaconPayloadBytes)) {
156
+ p = Constant.Empty;
157
+ }
158
+
152
159
  let encoded: EncodedPayload = {e, a, p};
153
160
 
154
161
  // Get the payload ready for sending over the wire
155
162
  // We also attempt to compress the payload if it is not the last payload and the browser supports it
156
163
  // In all other cases, we continue to send back string value
157
164
  let payload = stringify(encoded);
158
- let zipped = last ? null : await compress(payload)
165
+ let zipped = last ? null : await compress(payload);
159
166
  metric.sum(Metric.TotalBytes, zipped ? zipped.length : payload.length);
160
167
  send(payload, zipped, envelope.data.sequence, last);
161
168
 
@@ -310,6 +317,11 @@ function response(payload: string): void {
310
317
  case Constant.Signal:
311
318
  if (parts.length > 1) { signalsEvent(parts[1]); }
312
319
  break;
320
+ case Constant.Module:
321
+ if (parts.length > 1) {
322
+ dynamicEvent(parts[1]);
323
+ }
324
+ break;
313
325
  case Constant.Snapshot:
314
326
  config.lean = false; // Disable lean mode to ensure we can send playback information to server.
315
327
  snapshot();
package/types/data.d.ts CHANGED
@@ -84,6 +84,7 @@ export const enum Event {
84
84
  BackGesture = 105,
85
85
  WebViewStatus = 106,
86
86
  AppInstallReferrer = 107
87
+ // 200-300 reserved for internal use
87
88
  }
88
89
 
89
90
  export const enum Metric {
@@ -265,6 +266,7 @@ export const enum Setting {
265
266
  ChecksumPrecision = 28, // n-bit integer to represent token hash
266
267
  UploadTimeout = 15000, // Timeout in ms for XHR requests
267
268
  LongTask = 30, // Long Task threshold in ms
269
+ MaxBeaconPayloadBytes = 64 * 1024, // 64KB: Cap the beacon payload to a maximum of 64KB
268
270
  }
269
271
 
270
272
  export const enum Character {
@@ -320,6 +322,7 @@ export const enum Constant {
320
322
  Signal = "SIGNAL",
321
323
  Extract = "EXTRACT",
322
324
  Snapshot = "SNAPSHOT",
325
+ Module = "MODULE",
323
326
  UserHint = "userHint",
324
327
  UserType = "userType",
325
328
  UserId = "userId",