!function(){"use strict";const e="undefined"!=typeof window?window:void 0,t="undefined"!=typeof globalThis?globalThis:e,i=Array.prototype,s=i.forEach,n=i.indexOf,r=null==t?void 0:t.navigator,o=null==t?void 0:t.document,a=null==t?void 0:t.location,l=null==t?void 0:t.fetch,c=null!=t&&t.XMLHttpRequest&&"withCredentials"in new t.XMLHttpRequest?t.XMLHttpRequest:void 0,u=null==t?void 0:t.AbortController,d=null==r?void 0:r.userAgent,h=null!=e?e:{};const p={DEBUG:!1,LIB_VERSION:"1.174.3"},g=Array.isArray,_=Object.prototype,f=_.hasOwnProperty,v=_.toString,m=g||function(e){return"[object Array]"===v.call(e)},b=function(e){return"function"==typeof e},y=function(e){return e===Object(e)&&!m(e)},w=function(e){if(y(e)){for(const t in e)if(f.call(e,t))return!1;return!0}return!1},S=function(e){return void 0===e},E=function(e){return"[object String]"==v.call(e)},x=function(e){return E(e)&&0===e.trim().length},k=function(e){return null===e},I=function(e){return S(e)||k(e)},F=function(e){return"[object Number]"==v.call(e)},R=function(e){return"[object Boolean]"===v.call(e)},P=e=>e instanceof FormData,$="[PostHog.js]",T={_log:function(t){if(e&&(p.DEBUG||h.POSTHOG_DEBUG)&&!S(e.console)&&e.console){const r="__rrweb_original__"in e.console[t]?e.console[t].__rrweb_original__:e.console[t];for(var i=arguments.length,s=new Array(i>1?i-1:0),n=1;n{T.error(`You must initialize PostHog before calling ${e}`)}},C=(e,t,i)=>{if(e.config.disable_external_dependency_loading)return T.warn(`${t} was requested but loading of external scripts is disabled.`),i("Loading of external scripts is disabled");const s=()=>{if(!o)return i("document not found");const e=o.createElement("script");e.type="text/javascript",e.crossOrigin="anonymous",e.src=t,e.onload=e=>i(void 0,e),e.onerror=e=>i(e);const s=o.querySelectorAll("body > script");var n;s.length>0?null===(n=s[0].parentNode)||void 0===n||n.insertBefore(e,s[0]):o.body.appendChild(e)};null!=o&&o.body?s():null==o||o.addEventListener("DOMContentLoaded",s)};h.__PosthogExtensions__=h.__PosthogExtensions__||{},h.__PosthogExtensions__.loadExternalDependency=(e,t,i)=>{let s=`/static/${t}.js?v=${e.version}`;if("toolbar"===t){const e=3e5;s=`${s}?&=${Math.floor(Date.now()/e)*e}`}const n=e.requestRouter.endpointFor("assets",s);C(e,n,i)},h.__PosthogExtensions__.loadSiteApp=(e,t,i)=>{const s=e.requestRouter.endpointFor("api",t);C(e,s,i)};const M={},A=function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};function L(e,t,i){if(m(e))if(s&&e.forEach===s)e.forEach(t,i);else if("length"in e&&e.length===+e.length)for(let s=0,n=e.length;s1?t-1:0),s=1;s0&&(t[i]=e)})),t},W=function(e){return e.replace(/^\$/,"")};function z(e,t){return function(e,t){const i=new Set;return function e(s,n){if(s!==Object(s))return t?t(s,n):s;if(i.has(s))return;let r;return i.add(s),m(s)?(r=[],L(s,(t=>{r.push(e(t))}))):(r={},O(s,((t,s)=>{i.has(t)||(r[s]=e(t,s))}))),r}(e)}(e,(e=>E(e)&&!k(t)?e.slice(0,t):e))}const V=function(e){let t,i,s,n="",r=0;for(t=i=0,r=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,s=0;s127&&r<2048?String.fromCharCode(r>>6|192,63&r|128):String.fromCharCode(r>>12|224,r>>6&63|128,63&r|128),k(o)||(i>t&&(n+=e.substring(t,i)),n+=o,t=i=s+1)}return i>t&&(n+=e.substring(t,e.length)),n},G=function(){function t(e){return e&&(e.preventDefault=t.preventDefault,e.stopPropagation=t.stopPropagation),e}return t.preventDefault=function(){this.returnValue=!1},t.stopPropagation=function(){this.cancelBubble=!0},function(i,s,n,r,o){if(i)if(i.addEventListener&&!r)i.addEventListener(s,n,!!o);else{const r="on"+s,o=i[r];i[r]=function(i,s,n){return function(r){if(!(r=r||t(null==e?void 0:e.event)))return;let o,a=!0;b(n)&&(o=n(r));const l=s.call(i,r);return!1!==o&&!1!==l||(a=!1),a}}(i,n,o)}else T.error("No valid element provided to register_event")}}();function j(e){const t=null==e?void 0:e.hostname;return!!E(t)&&"herokuapp.com"!==t.split(".").slice(-2).join(".")}function Q(e,t){for(let i=0;i{const t={};for(const[i,s]of N(e||{}))s&&(t[i]=s);return t};class Le{constructor(e){this.instance=e,this._override_warning=!1,this.featureFlagEventHandlers=[],this.reloadFeatureFlagsQueued=!1,this.reloadFeatureFlagsInAction=!1}getFlags(){return Object.keys(this.getFlagVariants())}getFlagVariants(){const e=this.instance.get_property(_e),t=this.instance.get_property(Ce);if(!t)return e||{};const i=D({},e),s=Object.keys(t);for(let e=0;e{!this.reloadFeatureFlagsInAction&&this.reloadFeatureFlagsQueued&&(this.reloadFeatureFlagsQueued=!1,this._reloadFeatureFlagsRequest())}),5)}_reloadFeatureFlagsRequest(){if(this.instance.config.advanced_disable_feature_flags)return;this.setReloadingPaused(!0);const e=this.instance.config.token,t=this.instance.get_property(ve),i=this.instance.get_property(me),s={token:e,distinct_id:this.instance.get_distinct_id(),groups:this.instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:t,group_properties:i,disable_flags:this.instance.config.advanced_disable_feature_flags||void 0};this.instance._send_request({method:"POST",url:this.instance.requestRouter.endpointFor("api","/decide/?v=3"),data:s,compression:this.instance.config.disable_compression?void 0:J.Base64,timeout:this.instance.config.feature_flag_request_timeout_ms,callback:e=>{var t;this.setReloadingPaused(!1);let i=!0;200===e.statusCode&&(this.$anon_distinct_id=void 0,i=!1),this.receivedFeatureFlags(null!==(t=e.json)&&void 0!==t?t:{},i),this._startReloadTimer()}})}getFeatureFlag(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(this.instance.decideEndpointWasHit||this.getFlags()&&this.getFlags().length>0))return void T.warn('getFeatureFlag for key "'+e+"\" failed. Feature flags didn't load in time.");const i=this.getFlagVariants()[e],s=`${i}`,n=this.instance.get_property(we)||{};var r;!t.send_event&&"send_event"in t||(e in n&&n[e].includes(s)||(m(n[e])?n[e].push(s):n[e]=[s],null===(r=this.instance.persistence)||void 0===r||r.register({[we]:n}),this.instance.capture("$feature_flag_called",{$feature_flag:e,$feature_flag_response:i})));return i}getFeatureFlagPayload(e){return this.getFlagPayloads()[e]}isFeatureEnabled(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.instance.decideEndpointWasHit||this.getFlags()&&this.getFlags().length>0)return!!this.getFeatureFlag(e,t);T.warn('isFeatureEnabled for key "'+e+"\" failed. Feature flags didn't load in time.")}addFeatureFlagsHandler(e){this.featureFlagEventHandlers.push(e)}removeFeatureFlagsHandler(e){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((t=>t!==e))}receivedFeatureFlags(e,t){if(!this.instance.persistence)return;this.instance.decideEndpointWasHit=!0;const i=this.getFlagVariants(),s=this.getFlagPayloads();!function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=e.featureFlags,r=e.featureFlagPayloads;if(!n)return;if(m(n)){const e={};if(n)for(let t=0;t1&&void 0!==arguments[1]&&arguments[1];if(!this.instance.__loaded||!this.instance.persistence)return T.uninitializedWarning("posthog.feature_flags.override");if(this._override_warning=t,!1===e)this.instance.persistence.unregister(Ce);else if(m(e)){const t={};for(let i=0;ithis.removeFeatureFlagsHandler(e)}updateEarlyAccessFeatureEnrollment(e,t){var i;const s={[`$feature_enrollment/${e}`]:t};this.instance.capture("$feature_enrollment_update",{$feature_flag:e,$feature_enrollment:t,$set:s}),this.setPersonPropertiesForFlags(s,!1);const n={...this.getFlagVariants(),[e]:t};null===(i=this.instance.persistence)||void 0===i||i.register({[Te]:Object.keys(Ae(n)),[_e]:n}),this._fireFeatureFlagsCallbacks()}getEarlyAccessFeatures(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=this.instance.get_property(fe);if(i&&!t)return e(i);this.instance._send_request({transport:"XHR",url:this.instance.requestRouter.endpointFor("api",`/api/early_access_features/?token=${this.instance.config.token}`),method:"GET",callback:t=>{var i;if(!t.json)return;const s=t.json.earlyAccessFeatures;return null===(i=this.instance.persistence)||void 0===i||i.register({[fe]:s}),e(s)}})}_prepareFeatureFlagsForCallbacks(){const e=this.getFlags(),t=this.getFlagVariants();return{flags:e.filter((e=>t[e])),flagVariants:Object.keys(t).filter((e=>t[e])).reduce(((e,i)=>(e[i]=t[i],e)),{})}}_fireFeatureFlagsCallbacks(e){const{flags:t,flagVariants:i}=this._prepareFeatureFlagsForCallbacks();this.featureFlagEventHandlers.forEach((s=>s(t,i,{errorsLoading:e})))}setPersonPropertiesForFlags(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=this.instance.get_property(ve)||{};this.instance.register({[ve]:{...i,...e}}),t&&this.instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this.instance.unregister(ve)}setGroupPropertiesForFlags(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=this.instance.get_property(me)||{};0!==Object.keys(i).length&&Object.keys(i).forEach((t=>{i[t]={...i[t],...e[t]},delete e[t]})),this.instance.register({[me]:{...i,...e}}),t&&this.instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){const t=this.instance.get_property(me)||{};this.instance.register({[me]:{...t,[e]:{}}})}else this.instance.unregister(me)}} /** * uuidv7: An experimental implementation of the proposed UUID Version 7 * * @license Apache-2.0 * @copyright 2021-2023 LiosK * @packageDocumentation * * from https://github.com/LiosK/uuidv7/blob/e501462ea3d23241de13192ceae726956f9b3b7d/src/index.ts */Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)}),Number.isInteger||(Number.isInteger=function(e){return F(e)&&isFinite(e)&&Math.floor(e)===e});const Oe="0123456789abcdef";class De{constructor(e){if(this.bytes=e,16!==e.length)throw new TypeError("not 128-bit length")}static fromFieldsV7(e,t,i,s){if(!Number.isInteger(e)||!Number.isInteger(t)||!Number.isInteger(i)||!Number.isInteger(s)||e<0||t<0||i<0||s<0||e>0xffffffffffff||t>4095||i>1073741823||s>4294967295)throw new RangeError("invalid field value");const n=new Uint8Array(16);return n[0]=e/2**40,n[1]=e/2**32,n[2]=e/2**24,n[3]=e/65536,n[4]=e/256,n[5]=e,n[6]=112|t>>>8,n[7]=t,n[8]=128|i>>>24,n[9]=i>>>16,n[10]=i>>>8,n[11]=i,n[12]=s>>>24,n[13]=s>>>16,n[14]=s>>>8,n[15]=s,new De(n)}toString(){let e="";for(let t=0;t>>4)+Oe.charAt(15&this.bytes[t]),3!==t&&5!==t&&7!==t&&9!==t||(e+="-");if(36!==e.length)throw new Error("Invalid UUIDv7 was generated");return e}clone(){return new De(this.bytes.slice(0))}equals(e){return 0===this.compareTo(e)}compareTo(e){for(let t=0;t<16;t++){const i=this.bytes[t]-e.bytes[t];if(0!==i)return Math.sign(i)}return 0}}class qe{timestamp=0;counter=0;random=new He;generate(){const e=this.generateOrAbort();if(S(e)){this.timestamp=0;const e=this.generateOrAbort();if(S(e))throw new Error("Could not generate UUID after timestamp reset");return e}return e}generateOrAbort(){const e=Date.now();if(e>this.timestamp)this.timestamp=e,this.resetCounter();else{if(!(e+1e4>this.timestamp))return;this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter())}return De.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}}let Ne,Be=e=>{if("undefined"!=typeof UUIDV7_DENY_WEAK_RNG&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");for(let t=0;tcrypto.getRandomValues(e));class He{buffer=new Uint32Array(8);cursor=1/0;nextUint32(){return this.cursor>=this.buffer.length&&(Be(this.buffer),this.cursor=0),this.buffer[this.cursor++]}}const Ue=()=>We().toString(),We=()=>(Ne||(Ne=new qe)).generate(),ze="Thu, 01 Jan 1970 00:00:00 GMT";let Ve="";const Ge=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i;function je(e,t){if(t){let t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o;if(Ve)return Ve;if(!t)return"";if(["localhost","127.0.0.1"].includes(e))return"";const i=e.split(".");let s=Math.min(i.length,8);const n="dmn_chk_"+Ue(),r=new RegExp("(^|;)\\s*"+n+"=1");for(;!Ve&&s--;){const e=i.slice(s).join("."),o=n+"=1;domain=."+e;t.cookie=o,r.test(t.cookie)&&(t.cookie=o+";expires="+ze,Ve=e)}return Ve}(e);if(!t){const i=(e=>{const t=e.match(Ge);return t?t[0]:""})(e);i!==t&&T.info("Warning: cookie subdomain discovery mismatch",i,t),t=i}return t?"; domain=."+t:""}return""}const Qe={is_supported:()=>!!o,error:function(e){T.error("cookieStore error: "+e)},get:function(e){if(o){try{const t=e+"=",i=o.cookie.split(";").filter((e=>e.length));for(let e=0;e3686.4&&T.warn("cookieStore warning: large cookie, len="+c.length),o.cookie=c,c}catch{return}},remove:function(e,t){try{Qe.set(e,"",-1,t)}catch{return}}};let Je=null;const Ye={is_supported:function(){if(!k(Je))return Je;let t=!0;if(S(e))t=!1;else try{const e="__mplssupport__",i="xyz";Ye.set(e,i),'"xyz"'!==Ye.get(e)&&(t=!1),Ye.remove(e)}catch{t=!1}return t||T.error("localStorage unsupported; falling back to cookie store"),Je=t,t},error:function(e){T.error("localStorage error: "+e)},get:function(t){try{return null==e?void 0:e.localStorage.getItem(t)}catch(e){Ye.error(e)}return null},parse:function(e){try{return JSON.parse(Ye.get(e))||{}}catch{}return null},set:function(t,i){try{null==e||e.localStorage.setItem(t,JSON.stringify(i))}catch(e){Ye.error(e)}},remove:function(t){try{null==e||e.localStorage.removeItem(t)}catch(e){Ye.error(e)}}},Xe=["distinct_id",de,he,Re],Ke={...Ye,parse:function(e){try{let t={};try{t=Qe.parse(e)||{}}catch{}const i=D(t,JSON.parse(Ye.get(e)||"{}"));return Ye.set(e,i),i}catch{}return null},set:function(e,t,i,s,n,r){try{Ye.set(e,t,void 0,void 0,r);const o={};Xe.forEach((e=>{t[e]&&(o[e]=t[e])})),Object.keys(o).length&&Qe.set(e,o,i,s,n,r)}catch(e){Ye.error(e)}},remove:function(t,i){try{null==e||e.localStorage.removeItem(t),Qe.remove(t,i)}catch(e){Ye.error(e)}}},Ze={},et={is_supported:function(){return!0},error:function(e){T.error("memoryStorage error: "+e)},get:function(e){return Ze[e]||null},parse:function(e){return Ze[e]||null},set:function(e,t){Ze[e]=t},remove:function(e){delete Ze[e]}};let tt=null;const it={is_supported:function(){if(!k(tt))return tt;if(tt=!0,S(e))tt=!1;else try{const e="__support__",t="xyz";it.set(e,t),'"xyz"'!==it.get(e)&&(tt=!1),it.remove(e)}catch{tt=!1}return tt},error:function(e){T.error("sessionStorage error: ",e)},get:function(t){try{return null==e?void 0:e.sessionStorage.getItem(t)}catch(e){it.error(e)}return null},parse:function(e){try{return JSON.parse(it.get(e))||null}catch{}return null},set:function(t,i){try{null==e||e.sessionStorage.setItem(t,JSON.stringify(i))}catch(e){it.error(e)}},remove:function(t){try{null==e||e.sessionStorage.removeItem(t)}catch(e){it.error(e)}}},st=["localhost","127.0.0.1"],nt=e=>{const t=null==o?void 0:o.createElement("a");return S(t)?null:(t.href=e,t)},rt=function(e,t){return!!function(e){try{new RegExp(e)}catch{return!1}return!0}(t)&&new RegExp(t).test(e)},ot=function(e){let t,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"&";const n=[];return O(e,(function(e,s){S(e)||S(s)||"undefined"===s||(t=encodeURIComponent((e=>e instanceof File)(e)?e.name:e.toString()),i=encodeURIComponent(s),n[n.length]=i+"="+t)})),n.join(s)},at=function(e,t){const i=((e.split("#")[0]||"").split("?")[1]||"").split("&");let s;for(let e=0;et&&q(t,_t)||function(e){return q(e,vt)&&!q(e,St)&&!q(e,dt)}(e),ei=function(e,t){return t=t||"",q(e," OPR/")&&q(e,"Mini")?Rt:q(e," OPR/")?Ft:Xt.test(e)?mt:q(e,"IE"+ct)||q(e,"WPDesktop")?It:q(e,yt)?wt:q(e,Pt)||q(e,"Edg/")?$t:q(e,"FBIOS")?"Facebook "+ct:q(e,"UCWEB")||q(e,"UCBrowser")?"UC Browser":q(e,"CriOS")?xt:q(e,"CrMo")?St:q(e,dt)&&q(e,vt)?Ot:q(e,St)?St:q(e,"FxiOS")?Ct:q(e.toLowerCase(),Vt.toLowerCase())?Vt:Zt(e,t)?q(e,ct)?Dt:vt:q(e,Tt)?Tt:q(e,"MSIE")||q(e,"Trident/")?kt:q(e,"Gecko")?Tt:""},ti={[It]:[new RegExp("rv:"+Gt)],[$t]:[new RegExp(Pt+"?\\/"+Gt)],[St]:[new RegExp("("+St+"|CrMo)\\/"+Gt)],[xt]:[new RegExp("CriOS\\/"+Gt)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+Gt)],[vt]:[jt],[Dt]:[jt],[Ft]:[new RegExp("(Opera|OPR)\\/"+Gt)],[Tt]:[new RegExp(Tt+"\\/"+Gt)],[Ct]:[new RegExp("FxiOS\\/"+Gt)],[Vt]:[new RegExp("Konqueror[:/]?"+Gt,"i")],[mt]:[new RegExp(mt+" "+Gt),jt],[Ot]:[new RegExp("android\\s"+Gt,"i")],[wt]:[new RegExp(yt+"\\/"+Gt)],[kt]:[new RegExp("(rv:|MSIE )"+Gt)],Mozilla:[new RegExp("rv:"+Gt)]},ii=[[new RegExp(Lt+"; "+Lt+" (.*?)[);]","i"),e=>[Lt,e&&e[1]||""]],[new RegExp(Mt,"i"),[Mt,""]],[new RegExp(At,"i"),[At,""]],[Xt,[mt,""]],[new RegExp(qt,"i"),(e,t)=>{if(/Phone/.test(t)||/WPDesktop/.test(t))return[Nt,""];if(new RegExp(ct).test(t)&&!/IEMobile\b/.test(t))return[qt+" "+ct,""];const i=/Windows NT ([0-9.]+)/i.exec(t);if(i&&i[1]){const e=i[1];let s=Kt[e]||"";return/arm/i.test(t)&&(s="RT"),[qt,s]}return[qt,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,e=>{if(e&&e[3]){const t=[e[3],e[4],e[5]||"0"];return[ut,t.join(".")]}return[ut,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,e=>{let t="";return e&&e.length>=3&&(t=S(e[2])?e[3]:e[2]),["watchOS",t]}],[new RegExp("("+dt+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+dt+")","i"),e=>{if(e&&e[2]){const t=[e[2],e[3],e[4]||"0"];return[dt,t.join(".")]}return[dt,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,e=>{const t=["Mac OS X",""];if(e&&e[1]){const i=[e[1],e[2],e[3]||"0"];t[1]=i.join(".")}return t}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[Et,""]],[/Linux|debian/i,["Linux",""]]],si=function(e){return Yt.test(e)?Mt:Jt.test(e)?At:Qt.test(e)?Lt:new RegExp(Ht,"i").test(e)?Ht:new RegExp("("+Nt+"|WPDesktop)","i").test(e)?Nt:/iPad/.test(e)?gt:/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(e)?ft:Xt.test(e)?mt:/(kobo)\s(ereader|touch)/i.test(e)?"Kobo":new RegExp(Bt,"i").test(e)?Bt:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(e)||/(kf[a-z]+)( bui|\)).+silk\//i.test(e)?"Kindle Fire":/(Android|ZTE)/i.test(e)?!new RegExp(ct).test(e)||/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(e)?/pixel[\daxl ]{1,6}/i.test(e)&&!/pixel c/i.test(e)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(e)||/lmy47v/i.test(e)&&!/QTAQZ3/i.test(e)?dt:pt:dt:new RegExp("(pda|"+ct+")","i").test(e)?Wt:new RegExp(ht,"i").test(e)&&!new RegExp(ht+" pc","i").test(e)?zt:""},ni="https?://(.*)",ri=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gclid","gad_source","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","mc_cid","igshid","ttclid","rdt_cid"],oi={campaignParams:function(e){return o?this._campaignParamsFromUrl(o.URL,e):{}},_campaignParamsFromUrl:function(e,t){const i=ri.concat(t||[]),s={};return O(i,(function(t){const i=at(e,t);s[t]=i||null})),s},_searchEngine:function(e){return e?0===e.search(ni+"google.([^/?]*)")?"google":0===e.search(ni+"bing.com")?"bing":0===e.search(ni+"yahoo.com")?"yahoo":0===e.search(ni+"duckduckgo.com")?"duckduckgo":null:null},_searchInfoFromReferrer:function(e){const t=oi._searchEngine(e),i="yahoo"!=t?"q":"p",s={};if(!k(t)){s.$search_engine=t;const e=o?at(o.referrer,i):"";e.length&&(s.ph_keyword=e)}return s},searchInfo:function(){const e=null==o?void 0:o.referrer;return e?this._searchInfoFromReferrer(e):{}},browser:ei,browserVersion:function(e,t){const i=ei(e,t),s=ti[i];if(S(s))return null;for(let t=0;t1e3?d.substring(0,997)+"...":d,$browser_version:oi.browserVersion(d,navigator.vendor),$browser_language:oi.browserLanguage(),$screen_height:null==e?void 0:e.screen.height,$screen_width:null==e?void 0:e.screen.width,$viewport_height:null==e?void 0:e.innerHeight,$viewport_width:null==e?void 0:e.innerWidth,$lib:"web",$lib_version:p.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})},people_properties:function(){if(!d)return{};const[e,t]=oi.os(d);return D(U({$os:e,$os_version:t,$browser:oi.browser(d,navigator.vendor)}),{$browser_version:oi.browserVersion(d,navigator.vendor)})}},ai=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"];class li{constructor(e){this.config=e,this.props={},this.campaign_params_saved=!1,this.name=(e=>{let t="";return e.token&&(t=e.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),e.persistence_name?"ph_"+e.persistence_name:"ph_"+t+"_posthog"})(e),this.storage=this.buildStorage(e),this.load(),e.debug&&T.info("Persistence loaded",e.persistence,{...this.props}),this.update_config(e,e),this.save()}buildStorage(e){let t;-1===ai.indexOf(e.persistence.toLowerCase())&&(T.critical("Unknown persistence type "+e.persistence+"; falling back to localStorage+cookie"),e.persistence="localStorage+cookie");const i=e.persistence.toLowerCase();return t="localstorage"===i&&Ye.is_supported()?Ye:"localstorage+cookie"===i&&Ke.is_supported()?Ke:"sessionstorage"===i&&it.is_supported()?it:"memory"===i?et:"cookie"===i?Qe:Ke.is_supported()?Ke:Qe,t}properties(){const e={};return O(this.props,(function(t,i){if(i===_e&&y(t)){const i=Object.keys(t);for(let s=0;s{this.props.hasOwnProperty(i)&&this.props[i]!==t||(this.props[i]=e,s=!0)})),s)return this.save(),!0}return!1}register(e,t){if(y(e)){this.expire_days=S(t)?this.default_expiry:t;let i=!1;if(O(e,((t,s)=>{e.hasOwnProperty(s)&&this.props[s]!==t&&(this.props[s]=t,i=!0)})),i)return this.save(),!0}return!1}unregister(e){e in this.props&&(delete this.props[e],this.save())}update_campaign_params(){this.campaign_params_saved||(this.register(oi.campaignParams(this.config.custom_campaign_params)),this.campaign_params_saved=!0)}update_search_keyword(){this.register(oi.searchInfo())}update_referrer_info(){this.register_once(oi.referrerInfo(),void 0)}set_initial_person_info(){this.props[ke]||this.props[Ie]||this.register_once({[Fe]:oi.initialPersonInfo()},void 0)}get_referrer_info(){return U({$referrer:this.props.$referrer,$referring_domain:this.props.$referring_domain})}get_initial_props(){const e={};O([Ie,ke],(t=>{const i=this.props[t];i&&O(i,(function(t,i){e["$initial_"+W(i)]=t}))}));const t=this.props[Fe];if(t){const i=oi.initialPersonPropsFromInfo(t);D(e,i)}return e}safe_merge(e){return O(this.props,(function(t,i){i in e||(e[i]=t)})),e}update_config(e,t){if(this.default_expiry=this.expire_days=e.cookie_expiration,this.set_disabled(e.disable_persistence),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie),e.persistence!==t.persistence){const t=this.buildStorage(e),i=this.props;this.clear(),this.storage=t,this.props=i,this.save()}}set_disabled(e){this.disabled=e,this.disabled?this.remove():this.save()}set_cross_subdomain(e){e!==this.cross_subdomain&&(this.cross_subdomain=e,this.remove(),this.save())}get_cross_subdomain(){return!!this.cross_subdomain}set_secure(e){e!==this.secure&&(this.secure=e,this.remove(),this.save())}set_event_timer(e,t){const i=this.props[K]||{};i[e]=t,this.props[K]=i,this.save()}remove_event_timer(e){const t=(this.props[K]||{})[e];return S(t)||(delete this.props[K][e],this.save()),t}get_property(e){return this.props[e]}set_property(e,t){this.props[e]=t,this.save()}}function ci(e){var t;return(null===(t=JSON.stringify(e,function(){const e=[];return function(t,i){if(y(i)){for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(i)?"[Circular]":(e.push(i),i)}return i}}()))||void 0===t?void 0:t.length)||0}function ui(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6606028.8;if(e.size>=t&&e.data.length>1){const t=Math.floor(e.data.length/2),i=e.data.slice(0,t),s=e.data.slice(t);return[ui({size:ci(i),data:i,sessionId:e.sessionId,windowId:e.windowId}),ui({size:ci(s),data:s,sessionId:e.sessionId,windowId:e.windowId})].flatMap((e=>e))}return[e]}var di=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(di||{}),hi=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(hi||{});function pi(e){return e?A(e).split(/\s+/):[]}function gi(t){const i=null==e?void 0:e.location.href;return!!(i&&t&&t.some((e=>i.match(e))))}function _i(e){let t="";switch(typeof e.className){case"string":t=e.className;break;case"object":t=(e.className&&"baseVal"in e.className?e.className.baseVal:null)||e.getAttribute("class")||"";break;default:t=""}return pi(t)}function fi(e){return I(e)?null:A(e).split(/(\s+)/).filter((e=>Ai(e))).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function vi(e){let t="";return Ii(e)&&!Fi(e)&&e.childNodes&&e.childNodes.length&&O(e.childNodes,(function(e){var i;wi(e)&&e.textContent&&(t+=null!==(i=fi(e.textContent))&&void 0!==i?i:"")})),A(t)}function mi(e){return S(e.target)?e.srcElement||null:null!==(t=e.target)&&void 0!==t&&t.shadowRoot?e.composedPath()[0]||null:e.target||null;var t}function bi(e){return!!e&&1===e.nodeType}function yi(e,t){return!!e&&!!e.tagName&&e.tagName.toLowerCase()===t.toLowerCase()}function wi(e){return!!e&&3===e.nodeType}function Si(e){return!!e&&11===e.nodeType}const Ei=["a","button","form","input","select","textarea","label"];function xi(e){const t=e.parentNode;return!(!t||!bi(t))&&t}function ki(t,i){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0;if(!e||!t||yi(t,"html")||!bi(t))return!1;if(null!=s&&s.url_allowlist&&!gi(s.url_allowlist))return!1;if(null!=s&&s.url_ignorelist&&gi(s.url_ignorelist))return!1;if(null!=s&&s.dom_event_allowlist){const e=s.dom_event_allowlist;if(e&&!e.some((e=>i.type===e)))return!1}let o=!1;const a=[t];let l=!0,c=t;for(;c.parentNode&&!yi(c,"body");)if(Si(c.parentNode))a.push(c.parentNode.host),c=c.parentNode.host;else{if(l=xi(c),!l)break;if(n||Ei.indexOf(l.tagName.toLowerCase())>-1)o=!0;else{const t=e.getComputedStyle(l);t&&"pointer"===t.getPropertyValue("cursor")&&(o=!0)}a.push(l),c=l}if(!function(e,t){const i=null==t?void 0:t.element_allowlist;if(S(i))return!0;for(const t of e)if(i.some((e=>t.tagName.toLowerCase()===e)))return!0;return!1}(a,s))return!1;if(!function(e,t){const i=null==t?void 0:t.css_selector_allowlist;if(S(i))return!0;for(const t of e)if(i.some((e=>t.matches(e))))return!0;return!1}(a,s))return!1;const u=e.getComputedStyle(t);if(u&&"pointer"===u.getPropertyValue("cursor")&&"click"===i.type)return!0;const d=t.tagName.toLowerCase();switch(d){case"html":return!1;case"form":return(r||["submit"]).indexOf(i.type)>=0;case"input":case"select":case"textarea":return(r||["change","click"]).indexOf(i.type)>=0;default:return o?(r||["click"]).indexOf(i.type)>=0:(r||["click"]).indexOf(i.type)>=0&&(Ei.indexOf(d)>-1||"true"===t.getAttribute("contenteditable"))}}function Ii(e){for(let t=e;t.parentNode&&!yi(t,"body");t=t.parentNode){const e=_i(t);if(q(e,"ph-sensitive")||q(e,"ph-no-capture"))return!1}if(q(_i(e),"ph-include"))return!0;const t=e.type||"";if(E(t))switch(t.toLowerCase()){case"hidden":case"password":return!1}const i=e.name||e.id||"";if(E(i)){if(/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(i.replace(/[^a-zA-Z0-9]/g,"")))return!1}return!0}function Fi(e){return!!(yi(e,"input")&&!["button","checkbox","submit","reset"].includes(e.type)||yi(e,"select")||yi(e,"textarea")||"true"===e.getAttribute("contenteditable"))}const Ri="(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})",Pi=new RegExp(`^(?:${Ri})$`),$i=new RegExp(Ri),Ti="\\d{3}-?\\d{2}-?\\d{4}",Ci=new RegExp(`^(${Ti})$`),Mi=new RegExp(`(${Ti})`);function Ai(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(I(e))return!1;if(E(e)){e=A(e);if((t?Pi:$i).test((e||"").replace(/[- ]/g,"")))return!1;if((t?Ci:Mi).test(e))return!1}return!0}function Li(e){let t=vi(e);return t=`${t} ${Oi(e)}`.trim(),Ai(t)?t:""}function Oi(e){let t="";return e&&e.childNodes&&e.childNodes.length&&O(e.childNodes,(function(e){var i;if(e&&"span"===(null===(i=e.tagName)||void 0===i?void 0:i.toLowerCase()))try{const i=vi(e);t=`${t} ${i}`.trim(),e.childNodes&&e.childNodes.length&&(t=`${t} ${Oi(e)}`.trim())}catch(e){T.error(e)}})),t}function Di(e){return function(e){const t=e.map((e=>{var t,i;let s="";if(e.tag_name&&(s+=e.tag_name),e.attr_class){e.attr_class.sort();for(const t of e.attr_class)s+=`.${t.replace(/"/g,"")}`}const n={...e.text?{text:e.text}:{},"nth-child":null!==(t=e.nth_child)&&void 0!==t?t:0,"nth-of-type":null!==(i=e.nth_of_type)&&void 0!==i?i:0,...e.href?{href:e.href}:{},...e.attr_id?{attr_id:e.attr_id}:{},...e.attributes},r={};return N(n).sort(((e,t)=>{let[i]=e,[s]=t;return i.localeCompare(s)})).forEach((e=>{let[t,i]=e;return r[qi(t.toString())]=qi(i.toString())})),s+=":",s+=N(n).map((e=>{let[t,i]=e;return`${t}="${i}"`})).join(""),s}));return t.join(";")}(function(e){return e.map((e=>{var t,i;const s={text:null===(t=e.$el_text)||void 0===t?void 0:t.slice(0,400),tag_name:e.tag_name,href:null===(i=e.attr__href)||void 0===i?void 0:i.slice(0,2048),attr_class:Ni(e),attr_id:e.attr__id,nth_child:e.nth_child,nth_of_type:e.nth_of_type,attributes:{}};return N(e).filter((e=>{let[t]=e;return 0===t.indexOf("attr__")})).forEach((e=>{let[t,i]=e;return s.attributes[t]=i})),s}))}(e))}function qi(e){return e.replace(/"|\\"/g,'\\"')}function Ni(e){const t=e.attr__class;return t?m(t)?t:pi(t):void 0}const Bi="[SessionRecording]",Hi="redacted",Ui={initiatorTypes:["audio","beacon","body","css","early-hint","embed","fetch","frame","iframe","icon","image","img","input","link","navigation","object","ping","script","track","video","xmlhttprequest"],maskRequestFn:e=>e,recordHeaders:!1,recordBody:!1,recordInitialRequests:!1,recordPerformance:!1,performanceEntryTypeToObserve:["first-input","navigation","paint","resource"],payloadSizeLimitBytes:1e6,payloadHostDenyList:[".lr-ingest.io",".ingest.sentry.io"]},Wi=["authorization","x-forwarded-for","authorization","cookie","set-cookie","x-api-key","x-real-ip","remote-addr","forwarded","proxy-authorization","x-csrf-token","x-csrftoken","x-xsrf-token"],zi=["password","secret","passwd","api_key","apikey","auth","credentials","mysql_pwd","privatekey","private_key","token"],Vi=["/s/","/e/","/i/"];function Gi(e,t,i,s){if(I(e))return e;let n=(null==t?void 0:t["content-length"])||function(e){return new Blob([e]).size}(e);return E(n)&&(n=parseInt(n)),n>i?Bi+` ${s} body too large to record (${n} bytes)`:e}function ji(e,t){if(I(e))return e;let i=e;return Ai(i,!1)||(i=Bi+" "+t+" body "+Hi),O(zi,(e=>{var s,n;null!==(s=i)&&void 0!==s&&s.length&&-1!==(null===(n=i)||void 0===n?void 0:n.indexOf(e))&&(i=Bi+" "+t+" body "+Hi+" as might contain: "+e)})),i}const Qi=(e,t)=>{const i={payloadSizeLimitBytes:Ui.payloadSizeLimitBytes,performanceEntryTypeToObserve:[...Ui.performanceEntryTypeToObserve],payloadHostDenyList:[...t.payloadHostDenyList||[],...Ui.payloadHostDenyList]},s=!1!==e.session_recording.recordHeaders&&t.recordHeaders,n=!1!==e.session_recording.recordBody&&t.recordBody,r=!1!==e.capture_performance&&t.recordPerformance,o=(e=>{var t;const i=Math.min(1e6,null!==(t=e.payloadSizeLimitBytes)&&void 0!==t?t:1e6);return e=>(null!=e&&e.requestBody&&(e.requestBody=Gi(e.requestBody,e.requestHeaders,i,"Request")),null!=e&&e.responseBody&&(e.responseBody=Gi(e.responseBody,e.responseHeaders,i,"Response")),e)})(i),a=e=>o((e=>{const t=nt(e.name);if(!(t&&t.pathname&&Vi.some((e=>0===t.pathname.indexOf(e)))))return e})((e=>{const t=e.requestHeaders;return I(t)||O(Object.keys(null!=t?t:{}),(e=>{Wi.includes(e.toLowerCase())&&(t[e]=Hi)})),e})(e))),l=b(e.session_recording.maskNetworkRequestFn);return l&&b(e.session_recording.maskCapturedNetworkRequestFn)&&T.warn("Both `maskNetworkRequestFn` and `maskCapturedNetworkRequestFn` are defined. `maskNetworkRequestFn` will be ignored."),l&&(e.session_recording.maskCapturedNetworkRequestFn=t=>{const i=e.session_recording.maskNetworkRequestFn({url:t.name});return{...t,name:null==i?void 0:i.url}}),i.maskRequestFn=b(e.session_recording.maskCapturedNetworkRequestFn)?t=>{var i,s,n;const r=a(t);return r&&null!==(i=null===(s=(n=e.session_recording).maskCapturedNetworkRequestFn)||void 0===s?void 0:s.call(n,r))&&void 0!==i?i:void 0}:e=>function(e){if(!S(e))return e.requestBody=ji(e.requestBody,"Request"),e.responseBody=ji(e.responseBody,"Response"),e}(a(e)),{...Ui,...i,recordHeaders:s,recordBody:n,recordPerformance:r,recordInitialRequests:r}};class Ji{bucketSize=100;refillRate=10;mutationBuckets={};loggedTracker={};constructor(e){var t,i;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.rrweb=e,this.options=s,this.refillRate=null!==(t=this.options.refillRate)&&void 0!==t?t:this.refillRate,this.bucketSize=null!==(i=this.options.bucketSize)&&void 0!==i?i:this.bucketSize,setInterval((()=>{this.refillBuckets()}),1e3)}refillBuckets=()=>{Object.keys(this.mutationBuckets).forEach((e=>{this.mutationBuckets[e]=this.mutationBuckets[e]+this.refillRate,this.mutationBuckets[e]>=this.bucketSize&&delete this.mutationBuckets[e]}))};getNodeOrRelevantParent=e=>{const t=this.rrweb.mirror.getNode(e);if("svg"!==(null==t?void 0:t.nodeName)&&t instanceof Element){const e=t.closest("svg");if(e)return[this.rrweb.mirror.getId(e),e]}return[e,t]};numberOfChanges=e=>{var t,i,s,n,r,o,a,l;return(null!==(t=null===(i=e.removes)||void 0===i?void 0:i.length)&&void 0!==t?t:0)+(null!==(s=null===(n=e.attributes)||void 0===n?void 0:n.length)&&void 0!==s?s:0)+(null!==(r=null===(o=e.texts)||void 0===o?void 0:o.length)&&void 0!==r?r:0)+(null!==(a=null===(l=e.adds)||void 0===l?void 0:l.length)&&void 0!==a?a:0)};throttleMutations=e=>{if(3!==e.type||0!==e.data.source)return e;const t=e.data,i=this.numberOfChanges(t);t.attributes&&(t.attributes=t.attributes.filter((e=>{var t;const[i,s]=this.getNodeOrRelevantParent(e.id);if(0===this.mutationBuckets[i])return!1;var n,r;(this.mutationBuckets[i]=null!==(t=this.mutationBuckets[i])&&void 0!==t?t:this.bucketSize,this.mutationBuckets[i]=Math.max(this.mutationBuckets[i]-1,0),0===this.mutationBuckets[i])&&(this.loggedTracker[i]||(this.loggedTracker[i]=!0,null===(n=(r=this.options).onBlockedNode)||void 0===n||n.call(r,i,s)));return e})));const s=this.numberOfChanges(t);return 0!==s||i===s?e:void 0}}var Yi=Uint8Array,Xi=Uint16Array,Ki=Uint32Array,Zi=new Yi([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),es=new Yi([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),ts=new Yi([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),is=function(e,t){for(var i=new Xi(31),s=0;s<31;++s)i[s]=t+=1<>>1|(21845&ls)<<1;cs=(61680&(cs=(52428&cs)>>>2|(13107&cs)<<2))>>>4|(3855&cs)<<4,as[ls]=((65280&cs)>>>8|(255&cs)<<8)>>>1}var us=function(e,t,i){for(var s=e.length,n=0,r=new Xi(t);n>>l]=c}else for(o=new Xi(s),n=0;n>>15-e[n];return o},ds=new Yi(288);for(ls=0;ls<144;++ls)ds[ls]=8;for(ls=144;ls<256;++ls)ds[ls]=9;for(ls=256;ls<280;++ls)ds[ls]=7;for(ls=280;ls<288;++ls)ds[ls]=8;var hs=new Yi(32);for(ls=0;ls<32;++ls)hs[ls]=5;var ps=us(ds,9,0),gs=us(hs,5,0),_s=function(e){return(e/8>>0)+(7&e&&1)},fs=function(e,t,i){(null==i||i>e.length)&&(i=e.length);var s=new(e instanceof Xi?Xi:e instanceof Ki?Ki:Yi)(i-t);return s.set(e.subarray(t,i)),s},vs=function(e,t,i){i<<=7&t;var s=t/8>>0;e[s]|=i,e[s+1]|=i>>>8},ms=function(e,t,i){i<<=7&t;var s=t/8>>0;e[s]|=i,e[s+1]|=i>>>8,e[s+2]|=i>>>16},bs=function(e,t){for(var i=[],s=0;sh&&(h=r[s].s);var p=new Xi(h+1),g=ys(i[u-1],p,0);if(g>t){s=0;var _=0,f=g-t,v=1<t))break;_+=v-(1<>>=f;_>0;){var b=r[s].s;p[b]=0&&_;--s){var y=r[s].s;p[y]==t&&(--p[y],++_)}g=t}return[new Yi(p),g]},ys=function(e,t,i){return-1==e.s?Math.max(ys(e.l,t,i+1),ys(e.r,t,i+1)):t[e.s]=i},ws=function(e){for(var t=e.length;t&&!e[--t];);for(var i=new Xi(++t),s=0,n=e[0],r=1,o=function(e){i[s++]=e},a=1;a<=t;++a)if(e[a]==n&&a!=t)++r;else{if(!n&&r>2){for(;r>138;r-=138)o(32754);r>2&&(o(r>10?r-11<<5|28690:r-3<<5|12305),r=0)}else if(r>3){for(o(n),--r;r>6;r-=6)o(8304);r>2&&(o(r-3<<5|8208),r=0)}for(;r--;)o(n);r=1,n=e[a]}return[i.subarray(0,s),t]},Ss=function(e,t){for(var i=0,s=0;s>>8,e[n+2]=255^e[n],e[n+3]=255^e[n+1];for(var r=0;r4&&!I[ts[R-1]];--R);var P,$,T,C,M=c+5<<3,A=Ss(n,ds)+Ss(r,hs)+o,L=Ss(n,h)+Ss(r,_)+o+14+3*R+Ss(E,I)+(2*E[16]+3*E[17]+7*E[18]);if(M<=A&&M<=L)return Es(t,u,e.subarray(l,l+c));if(vs(t,u,1+(L15&&(vs(t,u,N[x]>>>5&127),u+=N[x]>>>12)}}}else P=ps,$=ds,T=gs,C=hs;for(x=0;x255){B=s[x]>>>18&31;ms(t,u,P[B+257]),u+=$[B+257],B>7&&(vs(t,u,s[x]>>>23&31),u+=Zi[B]);var H=31&s[x];ms(t,u,T[H]),u+=C[H],H>3&&(ms(t,u,s[x]>>>5&8191),u+=es[H])}else ms(t,u,P[s[x]]),u+=$[s[x]];return ms(t,u,P[256]),u+$[256]},ks=new Ki([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Is=function(){for(var e=new Ki(256),t=0;t<256;++t){for(var i=t,s=9;--s;)i=(1&i&&3988292384)^i>>>1;e[t]=i}return e}(),Fs=function(){var e=4294967295;return{p:function(t){for(var i=e,s=0;s>>8;e=i},d:function(){return 4294967295^e}}},Rs=function(e,t,i,s,n){return function(e,t,i,s,n,r){var o=e.length,a=new Yi(s+o+5*(1+Math.floor(o/7e3))+n),l=a.subarray(s,a.length-n),c=0;if(!t||o<8)for(var u=0;u<=o;u+=65535){var d=u+65535;d>>13,g=8191&h,_=(1<7e3||I>24576)&&C>423){c=xs(e,l,0,w,S,E,k,I,R,u-R,c),I=x=k=0,R=u;for(var M=0;M<286;++M)S[M]=0;for(M=0;M<30;++M)E[M]=0}var A=2,L=0,O=g,D=$-T&32767;if(C>2&&P==y(u-D))for(var q=Math.min(p,C)-1,N=Math.min(32767,u),B=Math.min(258,C);D<=N&&--O&&$!=T;){if(e[u+A]==e[u+A-D]){for(var H=0;HA){if(A=H,L=D,H>q)break;var U=Math.min(D,H-2),W=0;for(M=0;MW&&(W=V,T=z)}}}D+=($=T)-(T=f[$])+32768&32767}if(L){w[I++]=268435456|rs[A]<<18|os[L];var G=31&rs[A],j=31&os[L];k+=Zi[G]+es[j],++S[257+G],++E[j],F=u+A,++x}else w[I++]=e[u],++S[e[u]]}}c=xs(e,l,r,w,S,E,k,I,R,u-R,c)}return fs(a,0,s+_s(c)+n)}(e,null==t.level?6:t.level,null==t.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):12+t.mem,i,s,!n)},Ps=function(e,t,i){for(;i;++t)e[t]=i,i>>>=8},$s=function(e,t){var i=t.filename;if(e[0]=31,e[1]=139,e[2]=8,e[8]=t.level<2?4:9==t.level?2:0,e[9]=3,0!=t.mtime&&Ps(e,4,Math.floor(new Date(t.mtime||Date.now())/1e3)),i){e[3]=8;for(var s=0;s<=i.length;++s)e[s+10]=i.charCodeAt(s)}},Ts=function(e){return 10+(e.filename&&e.filename.length+1||0)};function Cs(e,t){void 0===t&&(t={});var i=Fs(),s=e.length;i.p(e);var n=Rs(e,t,Ts(t),8),r=n.length;return $s(n,t),Ps(n,r-8,i.d()),Ps(n,r-4,s),n}function Ms(e,t){var i=e.length;if("undefined"!=typeof TextEncoder)return(new TextEncoder).encode(e);for(var s=new Yi(e.length+(e.length>>>1)),n=0,r=function(e){s[n++]=e},o=0;os.length){var a=new Yi(n+8+(i-o<<1));a.set(s),s=a}var l=e.charCodeAt(o);l<128||t?r(l):l<2048?(r(192|l>>>6),r(128|63&l)):l>55295&&l<57344?(r(240|(l=65536+(1047552&l)|1023&e.charCodeAt(++o))>>>18),r(128|l>>>12&63),r(128|l>>>6&63),r(128|63&l)):(r(224|l>>>12),r(128|l>>>6&63),r(128|63&l))}return fs(s,0,n)}const As=3e5,Ls=[hi.MouseMove,hi.MouseInteraction,hi.Scroll,hi.ViewportResize,hi.Input,hi.TouchMove,hi.MediaInteraction,hi.Drag],Os=["trigger_activated","trigger_pending","trigger_disabled"],Ds=e=>({rrwebMethod:e,enqueuedAt:Date.now(),attempt:1}),qs="[SessionRecording]";function Ns(e){return function(e,t){for(var i="",s=0;s>10,56320|1023&n))}return i}(Cs(Ms(JSON.stringify(e))),!0)}function Bs(e){return e.type===di.Custom&&"sessionIdle"===e.data.tag}class Hs{queuedRRWebEvents=[];isIdle=!1;_linkedFlagSeen=!1;_lastActivityTimestamp=Date.now();_linkedFlag=null;_removePageViewCaptureHook=void 0;_onSessionIdListener=void 0;_persistDecideOnSessionListener=void 0;_samplingSessionListener=void 0;_urlTriggers=[];_forceAllowLocalhostNetworkCapture=!1;get sessionIdleThresholdMilliseconds(){return this.instance.config.session_recording.session_idle_threshold_ms||3e5}get rrwebRecord(){var e,t;return null==h||null===(e=h.__PosthogExtensions__)||void 0===e||null===(t=e.rrweb)||void 0===t?void 0:t.record}get started(){return this._captureStarted}get sessionManager(){if(!this.instance.sessionManager)throw new Error(qs+" must be started with a valid sessionManager.");return this.instance.sessionManager}get fullSnapshotIntervalMillis(){var e,t;return"trigger_pending"===this.urlTriggerStatus?6e4:null!==(e=null===(t=this.instance.config.session_recording)||void 0===t?void 0:t.full_snapshot_interval_millis)&&void 0!==e?e:As}get isSampled(){const e=this.instance.get_property(he);return R(e)?e:null}get sessionDuration(){var e,t;const i=null===(e=this.buffer)||void 0===e?void 0:e.data[(null===(t=this.buffer)||void 0===t?void 0:t.data.length)-1],{sessionStartTimestamp:s}=this.sessionManager.checkAndGetSessionAndWindowId(!0);return i?i.timestamp-s:null}get isRecordingEnabled(){const t=!!this.instance.get_property(re),i=!this.instance.config.disable_session_recording;return e&&t&&i}get isConsoleLogCaptureEnabled(){const e=!!this.instance.get_property(oe),t=this.instance.config.enable_recording_console_log;return null!=t?t:e}get canvasRecording(){const e=this.instance.get_property(le);return e&&e.fps&&e.quality?{enabled:e.enabled,fps:e.fps,quality:e.quality}:void 0}get networkPayloadCapture(){var e,t;const i=this.instance.get_property(ae),s={recordHeaders:null===(e=this.instance.config.session_recording)||void 0===e?void 0:e.recordHeaders,recordBody:null===(t=this.instance.config.session_recording)||void 0===t?void 0:t.recordBody},n=(null==s?void 0:s.recordHeaders)||(null==i?void 0:i.recordHeaders),r=(null==s?void 0:s.recordBody)||(null==i?void 0:i.recordBody),o=y(this.instance.config.capture_performance)?this.instance.config.capture_performance.network_timing:this.instance.config.capture_performance,a=!!(R(o)?o:null==i?void 0:i.capturePerformance);return n||r||a?{recordHeaders:n,recordBody:r,recordPerformance:a}:void 0}get sampleRate(){const e=this.instance.get_property(ce);return F(e)?e:null}get minimumDuration(){const e=this.instance.get_property(ue);return F(e)?e:null}get status(){return this.receivedDecide?this.isRecordingEnabled?I(this._linkedFlag)||this._linkedFlagSeen?"trigger_pending"===this.urlTriggerStatus?"buffering":R(this.isSampled)?this.isSampled?"sampled":"disabled":"active":"buffering":"disabled":"buffering"}get urlTriggerStatus(){var e,t;if(this.receivedDecide&&0===this._urlTriggers.length)return"trigger_disabled";const i=null===(e=this.instance)||void 0===e?void 0:e.get_property(ge);var s,n,r,o;return(null===(t=this.instance)||void 0===t?void 0:t.get_property(pe))!==this.sessionId?(null===(s=this.instance)||void 0===s||null===(n=s.persistence)||void 0===n||n.unregister(pe),null===(r=this.instance)||void 0===r||null===(o=r.persistence)||void 0===o||o.unregister(ge),"trigger_pending"):Os.includes(i)?i:"trigger_pending"}set urlTriggerStatus(e){var t,i;null===(t=this.instance)||void 0===t||null===(i=t.persistence)||void 0===i||i.register({[pe]:this.sessionId,[ge]:e})}constructor(e){if(this.instance=e,this._captureStarted=!1,this._endpoint="/s/",this.stopRrweb=void 0,this.receivedDecide=!1,!this.instance.sessionManager)throw T.error(qs+" started without valid sessionManager"),new Error(qs+" started without valid sessionManager. This is a bug.");const{sessionId:t,windowId:i}=this.sessionManager.checkAndGetSessionAndWindowId();this.sessionId=t,this.windowId=i,this.buffer=this.clearBuffer(),this.sessionIdleThresholdMilliseconds>=this.sessionManager.sessionTimeoutMs&&T.warn(qs+` session_idle_threshold_ms (${this.sessionIdleThresholdMilliseconds}) is greater than the session timeout (${this.sessionManager.sessionTimeoutMs}). Session will never be detected as idle`)}_onBeforeUnload=()=>{this._flushBuffer()};_onOffline=()=>{this._tryAddCustomEvent("browser offline",{})};_onOnline=()=>{this._tryAddCustomEvent("browser online",{})};_onVisibilityChange=()=>{if(null!=o&&o.visibilityState){const e="window "+o.visibilityState;this._tryAddCustomEvent(e,{})}};startIfEnabledOrStop(t){this.isRecordingEnabled?(this._startCapture(t),null==e||e.addEventListener("beforeunload",this._onBeforeUnload),null==e||e.addEventListener("offline",this._onOffline),null==e||e.addEventListener("online",this._onOnline),null==e||e.addEventListener("visibilitychange",this._onVisibilityChange),this._setupSampling(),I(this._removePageViewCaptureHook)&&(this._removePageViewCaptureHook=this.instance._addCaptureHook((t=>{try{if("$pageview"===t){const t=e?this._maskUrl(e.location.href):"";if(!t)return;this._tryAddCustomEvent("$pageview",{href:t})}}catch(e){T.error("Could not add $pageview to rrweb session",e)}}))),this._onSessionIdListener||(this._onSessionIdListener=this.sessionManager.onSessionId(((e,t,i)=>{var s,n,r,o;i&&(this._tryAddCustomEvent("$session_id_change",{sessionId:e,windowId:t,changeReason:i}),null===(s=this.instance)||void 0===s||null===(n=s.persistence)||void 0===n||n.unregister(pe),null===(r=this.instance)||void 0===r||null===(o=r.persistence)||void 0===o||o.unregister(ge))})))):this.stopRecording()}stopRecording(){var t,i,s;this._captureStarted&&this.stopRrweb&&(this.stopRrweb(),this.stopRrweb=void 0,this._captureStarted=!1,null==e||e.removeEventListener("beforeunload",this._onBeforeUnload),null==e||e.removeEventListener("offline",this._onOffline),null==e||e.removeEventListener("online",this._onOnline),null==e||e.removeEventListener("visibilitychange",this._onVisibilityChange),this.clearBuffer(),clearInterval(this._fullSnapshotTimer),null===(t=this._removePageViewCaptureHook)||void 0===t||t.call(this),this._removePageViewCaptureHook=void 0,null===(i=this._onSessionIdListener)||void 0===i||i.call(this),this._onSessionIdListener=void 0,null===(s=this._samplingSessionListener)||void 0===s||s.call(this),this._samplingSessionListener=void 0,T.info(qs+" stopped"))}makeSamplingDecision(e){var t;const i=this.sessionId!==e,s=this.sampleRate;var n;if(!F(s))return void(null===(n=this.instance.persistence)||void 0===n||n.register({[he]:null}));const r=this.isSampled;let o;const a=i||!R(r);if(a){o=Math.random(){const n=y(s)&&e in s,r=t?s[e]===t:n;if(r){const i={linkedFlag:e,linkedVariant:t},s="linked flag matched";T.info(qs+" "+s,i),this._tryAddCustomEvent(s,i),this._reportStarted("linked_flag_match")}this._linkedFlagSeen=r}))}null!==(s=e.sessionRecording)&&void 0!==s&&s.urlTriggers&&(this._urlTriggers=e.sessionRecording.urlTriggers),this.receivedDecide=!0,this.startIfEnabledOrStop()}_setupSampling(){F(this.sampleRate)&&I(this._samplingSessionListener)&&(this._samplingSessionListener=this.sessionManager.onSessionId((e=>{this.makeSamplingDecision(e)})))}_persistDecideResponse(e){if(this.instance.persistence){var t;const i=this.instance.persistence,s=()=>{var t,s,n,r,o,a,l;const c=null===(t=e.sessionRecording)||void 0===t?void 0:t.sampleRate,u=I(c)?null:parseFloat(c),d=null===(s=e.sessionRecording)||void 0===s?void 0:s.minimumDurationMilliseconds;i.register({[re]:!!e.sessionRecording,[oe]:null===(n=e.sessionRecording)||void 0===n?void 0:n.consoleLogRecordingEnabled,[ae]:{capturePerformance:e.capturePerformance,...null===(r=e.sessionRecording)||void 0===r?void 0:r.networkPayloadCapture},[le]:{enabled:null===(o=e.sessionRecording)||void 0===o?void 0:o.recordCanvas,fps:null===(a=e.sessionRecording)||void 0===a?void 0:a.canvasFps,quality:null===(l=e.sessionRecording)||void 0===l?void 0:l.canvasQuality},[ce]:u,[ue]:S(d)?null:d})};s(),null===(t=this._persistDecideOnSessionListener)||void 0===t||t.call(this),this._persistDecideOnSessionListener=this.sessionManager.onSessionId(s)}}log(e){var t;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"log";null===(t=this.instance.sessionRecording)||void 0===t||t.onRRwebEmit({type:6,data:{plugin:"rrweb/console@1",payload:{level:i,trace:[],payload:[JSON.stringify(e)]}},timestamp:Date.now()})}_startCapture(e){if(!S(Object.assign)&&!S(Array.from)&&!(this._captureStarted||this.instance.config.disable_session_recording||this.instance.consent.isOptedOut())){var t,i;if(this._captureStarted=!0,this.sessionManager.checkAndGetSessionAndWindowId(),this.rrwebRecord)this._onScriptLoaded();else null===(t=h.__PosthogExtensions__)||void 0===t||null===(i=t.loadExternalDependency)||void 0===i||i.call(t,this.instance,"recorder",(e=>{if(e)return T.error(qs+" could not load recorder",e);this._onScriptLoaded()}));T.info(qs+" starting"),"active"===this.status&&this._reportStarted(e||"recording_initialized")}}isInteractiveEvent(e){var t;return 3===e.type&&-1!==Ls.indexOf(null===(t=e.data)||void 0===t?void 0:t.source)}_updateWindowAndSessionIds(e){const t=this.isInteractiveEvent(e);if(!t&&!this.isIdle){e.timestamp-this._lastActivityTimestamp>this.sessionIdleThresholdMilliseconds&&(this.isIdle=!0,clearInterval(this._fullSnapshotTimer),this._tryAddCustomEvent("sessionIdle",{eventTimestamp:e.timestamp,lastActivityTimestamp:this._lastActivityTimestamp,threshold:this.sessionIdleThresholdMilliseconds,bufferLength:this.buffer.data.length,bufferSize:this.buffer.size}),this._flushBuffer())}let i=!1;if(t&&(this._lastActivityTimestamp=e.timestamp,this.isIdle&&(this.isIdle=!1,this._tryAddCustomEvent("sessionNoLongerIdle",{reason:"user activity",type:e.type}),i=!0)),this.isIdle)return;const{windowId:s,sessionId:n}=this.sessionManager.checkAndGetSessionAndWindowId(!t,e.timestamp),r=this.sessionId!==n,o=this.windowId!==s;this.windowId=s,this.sessionId=n,r||o?(this.stopRecording(),this.startIfEnabledOrStop("session_id_changed")):i&&this._scheduleFullSnapshot()}_tryRRWebMethod(e){try{return e.rrwebMethod(),!0}catch(t){return this.queuedRRWebEvents.length<10?this.queuedRRWebEvents.push({enqueuedAt:e.enqueuedAt||Date.now(),attempt:e.attempt++,rrwebMethod:e.rrwebMethod}):T.warn(qs+" could not emit queued rrweb event.",t,e),!1}}_tryAddCustomEvent(e,t){return this._tryRRWebMethod(Ds((()=>this.rrwebRecord.addCustomEvent(e,t))))}_tryTakeFullSnapshot(){return this._tryRRWebMethod(Ds((()=>this.rrwebRecord.takeFullSnapshot())))}_onScriptLoaded(){var e;const t={blockClass:"ph-no-capture",blockSelector:void 0,ignoreClass:"ph-ignore-input",maskTextClass:"ph-mask",maskTextSelector:void 0,maskTextFn:void 0,maskAllInputs:!0,maskInputOptions:{password:!0},maskInputFn:void 0,slimDOMOptions:{},collectFonts:!1,inlineStylesheet:!0,recordCrossOriginIframes:!1},i=this.instance.config.session_recording;for(const[e,s]of Object.entries(i||{}))e in t&&("maskInputOptions"===e?t.maskInputOptions={password:!0,...s}:t[e]=s);if(this.canvasRecording&&this.canvasRecording.enabled&&(t.recordCanvas=!0,t.sampling={canvas:this.canvasRecording.fps},t.dataURLOptions={type:"image/webp",quality:this.canvasRecording.quality}),!this.rrwebRecord)return void T.error(qs+"onScriptLoaded was called but rrwebRecord is not available. This indicates something has gone wrong.");this.mutationRateLimiter=null!==(e=this.mutationRateLimiter)&&void 0!==e?e:new Ji(this.rrwebRecord,{onBlockedNode:(e,t)=>{const i=`Too many mutations on node '${e}'. Rate limiting. This could be due to SVG animations or something similar`;T.info(i,{node:t}),this.log(qs+" "+i,"warn")}});const s=this._gatherRRWebPlugins();this.stopRrweb=this.rrwebRecord({emit:e=>{this.onRRwebEmit(e)},plugins:s,...t}),this._lastActivityTimestamp=Date.now(),this.isIdle=!1,this._tryAddCustomEvent("$session_options",{sessionRecordingOptions:t,activePlugins:s.map((e=>null==e?void 0:e.name))}),this._tryAddCustomEvent("$posthog_config",{config:this.instance.config})}_scheduleFullSnapshot(){if(this._fullSnapshotTimer&&clearInterval(this._fullSnapshotTimer),this.isIdle)return;const e=this.fullSnapshotIntervalMillis;e&&(this._fullSnapshotTimer=setInterval((()=>{this._tryTakeFullSnapshot()}),e))}_gatherRRWebPlugins(){var e,t,i,s;const n=[],r=null===(e=h.__PosthogExtensions__)||void 0===e||null===(t=e.rrwebPlugins)||void 0===t?void 0:t.getRecordConsolePlugin;r&&this.isConsoleLogCaptureEnabled&&n.push(r());const o=null===(i=h.__PosthogExtensions__)||void 0===i||null===(s=i.rrwebPlugins)||void 0===s?void 0:s.getRecordNetworkPlugin;if(this.networkPayloadCapture&&b(o)){!st.includes(location.hostname)||this._forceAllowLocalhostNetworkCapture?n.push(o(Qi(this.instance.config,this.networkPayloadCapture))):T.info(qs+" NetworkCapture not started because we are on localhost.")}return n}onRRwebEmit(e){var t;if(this._processQueuedEvents(),!e||!y(e))return;if(e.type===di.Meta){const t=this._maskUrl(e.data.href);if(this._lastHref=t,!t)return;e.data.href=t}else this._pageViewFallBack();this._checkUrlTrigger(),e.type===di.FullSnapshot&&this._scheduleFullSnapshot(),e.type===di.FullSnapshot&&"trigger_pending"===this.urlTriggerStatus&&this.clearBuffer();const i=this.mutationRateLimiter?this.mutationRateLimiter.throttleMutations(e):e;if(!i)return;const s=function(e){const t=e;if(t&&y(t)&&6===t.type&&y(t.data)&&"rrweb/console@1"===t.data.plugin){t.data.payload.payload.length>10&&(t.data.payload.payload=t.data.payload.payload.slice(0,10),t.data.payload.payload.push("...[truncated]"));const i=[];for(let e=0;e2e3?i.push(t.data.payload.payload[e].slice(0,2e3)+"...[truncated]"):i.push(t.data.payload.payload[e]);return t.data.payload.payload=i,e}return e}(i);if(this._updateWindowAndSessionIds(s),this.isIdle&&!Bs(s))return;if(Bs(s)){const e=s.data.payload;if(e){const t=e.lastActivityTimestamp,i=e.threshold;s.timestamp=t+i}}const n=null===(t=this.instance.config.session_recording.compress_events)||void 0===t||t?function(e){if(ci(e)<1024)return e;try{if(e.type===di.FullSnapshot)return{...e,data:Ns(e.data),cv:"2024-10"};if(e.type===di.IncrementalSnapshot&&e.data.source===hi.Mutation)return{...e,cv:"2024-10",data:{...e.data,texts:Ns(e.data.texts),attributes:Ns(e.data.attributes),removes:Ns(e.data.removes),adds:Ns(e.data.adds)}};if(e.type===di.IncrementalSnapshot&&e.data.source===hi.StyleSheetRule)return{...e,cv:"2024-10",data:{...e.data,adds:Ns(e.data.adds),removes:Ns(e.data.removes)}}}catch(e){T.error(qs+" could not compress event - will use uncompressed event",e)}return e}(s):s,r={$snapshot_bytes:ci(n),$snapshot_data:n,$session_id:this.sessionId,$window_id:this.windowId};"disabled"!==this.status?this._captureSnapshotBuffered(r):this.clearBuffer()}_pageViewFallBack(){if(this.instance.config.capture_pageview||!e)return;const t=this._maskUrl(e.location.href);this._lastHref!==t&&(this._tryAddCustomEvent("$url_changed",{href:t}),this._lastHref=t)}_processQueuedEvents(){if(this.queuedRRWebEvents.length){const e=[...this.queuedRRWebEvents];this.queuedRRWebEvents=[],e.forEach((e=>{Date.now()-e.enqueuedAt<=2e3&&this._tryRRWebMethod(e)}))}}_maskUrl(e){const t=this.instance.config.session_recording;if(t.maskNetworkRequestFn){var i;let s={url:e};return s=t.maskNetworkRequestFn(s),null===(i=s)||void 0===i?void 0:i.url}return e}clearBuffer(){return this.buffer={size:0,data:[],sessionId:this.sessionId,windowId:this.windowId},this.buffer}_flushBuffer(){this.flushBufferTimer&&(clearTimeout(this.flushBufferTimer),this.flushBufferTimer=void 0);const e=this.minimumDuration,t=this.sessionDuration,i=F(t)&&t>=0,s=F(e)&&i&&t{this._flushBuffer()}),2e3),this.buffer;if(this.buffer.data.length>0){ui(this.buffer).forEach((e=>{this._captureSnapshot({$snapshot_bytes:e.size,$snapshot_data:e.data,$session_id:e.sessionId,$window_id:e.windowId})}))}return this.clearBuffer()}_captureSnapshotBuffered(e){var t;const i=2+((null===(t=this.buffer)||void 0===t?void 0:t.data.length)||0);!this.isIdle&&(this.buffer.size+e.$snapshot_bytes+i>943718.4||this.buffer.sessionId!==this.sessionId)&&(this.buffer=this._flushBuffer()),this.buffer.size+=e.$snapshot_bytes,this.buffer.data.push(e.$snapshot_data),this.flushBufferTimer||this.isIdle||(this.flushBufferTimer=setTimeout((()=>{this._flushBuffer()}),2e3))}_captureSnapshot(e){this.instance.capture("$snapshot",e,{_url:this.instance.requestRouter.endpointFor("api",this._endpoint),_noTruncate:!0,_batchKey:"recordings",skip_client_rate_limiting:!0})}_checkUrlTrigger(){if(void 0===e||!e.location.href)return;const t=e.location.href;this._urlTriggers.some((e=>"regex"===e.matching&&new RegExp(e.url).test(t)))&&this._activateUrlTrigger()}_activateUrlTrigger(){"trigger_pending"===this.urlTriggerStatus&&(this.urlTriggerStatus="trigger_activated",this._tryAddCustomEvent("url trigger activated",{}),this._flushBuffer(),T.info(qs+" recording triggered by URL pattern match"))}overrideLinkedFlag(){this._linkedFlagSeen=!0,this._reportStarted("linked_flag_override")}overrideSampling(){var e;null===(e=this.instance.persistence)||void 0===e||e.register({[he]:!0}),this._reportStarted("sampling_override")}_reportStarted(e){(arguments.length>1&&void 0!==arguments[1]?arguments[1]:()=>!0)()&&this.instance.register_for_session({$session_recording_start_reason:e})}}class Us{constructor(e){this.instance=e,this.instance.decideEndpointWasHit=this.instance._hasBootstrappedFeatureFlags()}call(){const e={token:this.instance.config.token,distinct_id:this.instance.get_distinct_id(),groups:this.instance.getGroups(),person_properties:this.instance.get_property(ve),group_properties:this.instance.get_property(me),disable_flags:this.instance.config.advanced_disable_feature_flags||this.instance.config.advanced_disable_feature_flags_on_first_load||void 0};this.instance._send_request({method:"POST",url:this.instance.requestRouter.endpointFor("api","/decide/?v=3"),data:e,compression:this.instance.config.disable_compression?void 0:J.Base64,timeout:this.instance.config.feature_flag_request_timeout_ms,callback:e=>this.parseDecideResponse(e.json)})}parseDecideResponse(e){this.instance.featureFlags.setReloadingPaused(!1),this.instance.featureFlags._startReloadTimer();const t=!e;if(this.instance.config.advanced_disable_feature_flags_on_first_load||this.instance.config.advanced_disable_feature_flags||this.instance.featureFlags.receivedFeatureFlags(null!=e?e:{},t),t)T.error("Failed to fetch feature flags from PostHog.");else{if(!o||!o.body)return T.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((()=>{this.parseDecideResponse(e)}),500);if(this.instance._afterDecideResponse(e),e.siteApps)if(this.instance.config.opt_in_site_apps)for(const{id:t,url:r}of e.siteApps){var i,s,n;h[`__$$ph_site_app_${t}`]=this.instance,null===(i=h.__PosthogExtensions__)||void 0===i||null===(s=(n=i).loadSiteApp)||void 0===s||s.call(n,this.instance,r,(e=>{if(e)return T.error(`Error while initializing PostHog app with config id ${t}`,e)}))}else e.siteApps.length>0&&T.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}}}const Ws=null!=e&&e.location?lt(e.location.hash,"__posthog")||lt(location.hash,"state"):null,zs="_postHogToolbarParams";var Vs;!function(e){e[e.UNINITIALIZED=0]="UNINITIALIZED",e[e.LOADING=1]="LOADING",e[e.LOADED=2]="LOADED"}(Vs||(Vs={}));class Gs{constructor(e){this.instance=e}setToolbarState(e){h.ph_toolbar_state=e}getToolbarState(){var e;return null!==(e=h.ph_toolbar_state)&&void 0!==e?e:Vs.UNINITIALIZED}maybeLoadToolbar(){var t,i;let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(!e||!o)return!1;s=null!==(t=s)&&void 0!==t?t:e.location,r=null!==(i=r)&&void 0!==i?i:e.history;try{if(!n){try{e.localStorage.setItem("test","test"),e.localStorage.removeItem("test")}catch{return!1}n=null==e?void 0:e.localStorage}const t=Ws||lt(s.hash,"__posthog")||lt(s.hash,"state");let i;const o=t?B((()=>JSON.parse(atob(decodeURIComponent(t)))))||B((()=>JSON.parse(decodeURIComponent(t)))):null;return o&&"ph_authorize"===o.action?(i=o,i.source="url",i&&Object.keys(i).length>0&&(o.desiredHash?s.hash=o.desiredHash:r?r.replaceState(r.state,"",s.pathname+s.search):s.hash="")):(i=JSON.parse(n.getItem(zs)||"{}"),i.source="localstorage",delete i.userIntent),!(!i.token||this.instance.config.token!==i.token)&&(this.loadToolbar(i),!0)}catch{return!1}}_callLoadToolbar(e){(h.ph_load_toolbar||h.ph_load_editor)(e,this.instance)}loadToolbar(t){const i=!(null==o||!o.getElementById(Pe));if(!e||i)return!1;const s="custom"===this.instance.requestRouter.region&&this.instance.config.advanced_disable_toolbar_metrics,n={token:this.instance.config.token,...t,apiURL:this.instance.requestRouter.endpointFor("ui"),...s?{instrument:!1}:{}};if(e.localStorage.setItem(zs,JSON.stringify({...n,source:void 0})),this.getToolbarState()===Vs.LOADED)this._callLoadToolbar(n);else if(this.getToolbarState()===Vs.UNINITIALIZED){var r,a;this.setToolbarState(Vs.LOADING),null===(r=h.__PosthogExtensions__)||void 0===r||null===(a=r.loadExternalDependency)||void 0===a||a.call(r,this.instance,"toolbar",(e=>{if(e)return T.error("Failed to load toolbar",e),void this.setToolbarState(Vs.UNINITIALIZED);this.setToolbarState(Vs.LOADED),this._callLoadToolbar(n)})),G(e,"turbolinks:load",(()=>{this.setToolbarState(Vs.UNINITIALIZED),this.loadToolbar(n)}))}return!0}_loadEditor(e){return this.loadToolbar(e)}maybeLoadEditor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return this.maybeLoadToolbar(e,t,i)}}class js{isPaused=!0;queue=[];flushTimeoutMs=3e3;constructor(e){this.sendRequest=e}enqueue(e){this.queue.push(e),this.flushTimeout||this.setFlushTimeout()}unload(){this.clearFlushTimeout();const e=this.queue.length>0?this.formatQueue():{},t=Object.values(e);[...t.filter((e=>0===e.url.indexOf("/e"))),...t.filter((e=>0!==e.url.indexOf("/e")))].map((e=>{this.sendRequest({...e,transport:"sendBeacon"})}))}enable(){this.isPaused=!1,this.setFlushTimeout()}setFlushTimeout(){this.isPaused||(this.flushTimeout=setTimeout((()=>{if(this.clearFlushTimeout(),this.queue.length>0){const e=this.formatQueue();for(const t in e){const i=e[t],s=(new Date).getTime();i.data&&m(i.data)&&O(i.data,(e=>{e.offset=Math.abs(e.timestamp-s),delete e.timestamp})),this.sendRequest(i)}}}),this.flushTimeoutMs))}clearFlushTimeout(){clearTimeout(this.flushTimeout),this.flushTimeout=void 0}formatQueue(){const e={};return O(this.queue,(t=>{var i;const s=t,n=(s?s.batchKey:null)||s.url;S(e[n])&&(e[n]={...s,data:[]}),null===(i=e[n].data)||void 0===i||i.push(s.data)})),this.queue=[],e}}const Qs=!!c||!!l,Js="text/plain",Ys=(e,t)=>{const[i,s]=e.split("?"),n={...t};null==s||s.split("&").forEach((e=>{const[t]=e.split("=");delete n[t]}));let r=ot(n);return r=r?(s?s+"&":"")+r:s,`${i}?${r}`},Xs=e=>{let{data:t,compression:i}=e;if(!t)return;if(i===J.GZipJS){const e=Cs(Ms(JSON.stringify(t)),{mtime:0}),i=new Blob([e],{type:Js});return{contentType:Js,body:i,estimatedSize:i.size}}if(i===J.Base64){const e=function(e){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let i,s,n,r,o,a,l,c,u=0,d=0,h="";const p=[];if(!e)return e;e=V(e);do{i=e.charCodeAt(u++),s=e.charCodeAt(u++),n=e.charCodeAt(u++),c=i<<16|s<<8|n,r=c>>18&63,o=c>>12&63,a=c>>6&63,l=63&c,p[d++]=t.charAt(r)+t.charAt(o)+t.charAt(a)+t.charAt(l)}while(u"data="+encodeURIComponent("string"==typeof e?e:JSON.stringify(e)))(e);return{contentType:"application/x-www-form-urlencoded",body:i,estimatedSize:new Blob([i]).size}}const s=JSON.stringify(t);return{contentType:"application/json",body:s,estimatedSize:new Blob([s]).size}},Ks=e=>{var t;const i=new c;i.open(e.method||"GET",e.url,!0);const{contentType:s,body:n}=null!==(t=Xs(e))&&void 0!==t?t:{};O(e.headers,(function(e,t){i.setRequestHeader(t,e)})),s&&i.setRequestHeader("Content-Type",s),e.timeout&&(i.timeout=e.timeout),i.withCredentials=!0,i.onreadystatechange=()=>{if(4===i.readyState){var t;const s={statusCode:i.status,text:i.responseText};if(200===i.status)try{s.json=JSON.parse(i.responseText)}catch{}null===(t=e.callback)||void 0===t||t.call(e,s)}},i.send(n)},Zs=e=>{var t,i;const{contentType:s,body:n,estimatedSize:r}=null!==(t=Xs(e))&&void 0!==t?t:{},o=new Headers;O(e.headers,(function(e,t){o.append(t,e)})),s&&o.append("Content-Type",s);const a=e.url;let c=null;if(u){const t=new u;c={signal:t.signal,timeout:setTimeout((()=>t.abort()),e.timeout)}}l(a,{method:(null==e?void 0:e.method)||"GET",headers:o,keepalive:"POST"===e.method&&(r||0)<65536,body:n,signal:null===(i=c)||void 0===i?void 0:i.signal}).then((t=>t.text().then((i=>{var s;const n={statusCode:t.status,text:i};if(200===t.status)try{n.json=JSON.parse(i)}catch(e){T.error(e)}null===(s=e.callback)||void 0===s||s.call(e,n)})))).catch((t=>{var i;T.error(t),null===(i=e.callback)||void 0===i||i.call(e,{statusCode:0,text:t})})).finally((()=>c?clearTimeout(c.timeout):null))},en=e=>{const t=Ys(e.url,{beacon:"1"});try{var i;const{contentType:s,body:n}=null!==(i=Xs(e))&&void 0!==i?i:{},o="string"==typeof n?new Blob([n],{type:s}):n;r.sendBeacon(t,o)}catch{}},tn=[];c&&tn.push({transport:"XHR",method:Ks}),l&&tn.push({transport:"fetch",method:Zs}),null!=r&&r.sendBeacon&&tn.push({transport:"sendBeacon",method:en});class sn{isPolling=!1;pollIntervalMs=3e3;queue=[];constructor(t){this.instance=t,this.queue=[],this.areWeOnline=!0,!S(e)&&"onLine"in e.navigator&&(this.areWeOnline=e.navigator.onLine,e.addEventListener("online",(()=>{this.areWeOnline=!0,this.flush()})),e.addEventListener("offline",(()=>{this.areWeOnline=!1})))}retriableRequest(e){let{retriesPerformedSoFar:t,...i}=e;F(t)&&t>0&&(i.url=Ys(i.url,{retry_count:t})),this.instance._send_request({...i,callback:e=>{var s;200!==e.statusCode&&(e.statusCode<400||e.statusCode>=500)&&(null!=t?t:0)<10?this.enqueue({retriesPerformedSoFar:t,...i}):null===(s=i.callback)||void 0===s||s.call(i,e)}})}enqueue(e){const t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;const i=function(e){const t=3e3*2**e,i=t/2,s=Math.min(18e5,t),n=(Math.random()-.5)*(s-i);return Math.ceil(s+n)}(t),s=Date.now()+i;this.queue.push({retryAt:s,requestOptions:e});let n=`Enqueued failed request for retry in ${i}`;navigator.onLine||(n+=" (Browser is offline)"),T.warn(n),this.isPolling||(this.isPolling=!0,this.poll())}poll(){this.poller&&clearTimeout(this.poller),this.poller=setTimeout((()=>{this.areWeOnline&&this.queue.length>0&&this.flush(),this.poll()}),this.pollIntervalMs)}flush(){const e=Date.now(),t=[],i=this.queue.filter((i=>i.retryAt0)for(const{requestOptions:e}of i)this.retriableRequest(e)}unload(){this.poller&&(clearTimeout(this.poller),this.poller=void 0);for(const{requestOptions:e}of this.queue)try{this.instance._send_request({...e,transport:"sendBeacon"})}catch(e){T.error(e)}this.queue=[]}}const nn=1800;class rn{_sessionIdChangedHandlers=[];constructor(e,t,i,s){var n;this.config=e,this.persistence=t,this._windowId=void 0,this._sessionId=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this._sessionIdGenerator=i||Ue,this._windowIdGenerator=s||Ue;const r=e.persistence_name||e.token;let o=e.session_idle_timeout_seconds||nn;if(F(o)?o>nn?T.warn("session_idle_timeout_seconds cannot be greater than 30 minutes. Using 30 minutes instead."):o<60&&T.warn("session_idle_timeout_seconds cannot be less than 60 seconds. Using 60 seconds instead."):(T.warn("session_idle_timeout_seconds must be a number. Defaulting to 30 minutes."),o=nn),this._sessionTimeoutMs=1e3*Math.min(Math.max(o,60),nn),this._window_id_storage_key="ph_"+r+"_window_id",this._primary_window_exists_storage_key="ph_"+r+"_primary_window_exists",this._canUseSessionStorage()){const e=it.parse(this._window_id_storage_key),t=it.parse(this._primary_window_exists_storage_key);e&&!t?this._windowId=e:it.remove(this._window_id_storage_key),it.set(this._primary_window_exists_storage_key,!0)}if(null!==(n=this.config.bootstrap)&&void 0!==n&&n.sessionID)try{const e=(e=>{const t=e.replace(/-/g,"");if(32!==t.length)throw new Error("Not a valid UUID");if("7"!==t[12])throw new Error("Not a UUIDv7");return parseInt(t.substring(0,12),16)})(this.config.bootstrap.sessionID);this._setSessionId(this.config.bootstrap.sessionID,(new Date).getTime(),e)}catch(e){T.error("Invalid sessionID in bootstrap",e)}this._listenToReloadWindow()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(e){return S(this._sessionIdChangedHandlers)&&(this._sessionIdChangedHandlers=[]),this._sessionIdChangedHandlers.push(e),this._sessionId&&e(this._sessionId,this._windowId),()=>{this._sessionIdChangedHandlers=this._sessionIdChangedHandlers.filter((t=>t!==e))}}_canUseSessionStorage(){return"memory"!==this.config.persistence&&!this.persistence.disabled&&it.is_supported()}_setWindowId(e){e!==this._windowId&&(this._windowId=e,this._canUseSessionStorage()&&it.set(this._window_id_storage_key,e))}_getWindowId(){return this._windowId?this._windowId:this._canUseSessionStorage()?it.parse(this._window_id_storage_key):null}_setSessionId(e,t,i){e===this._sessionId&&t===this._sessionActivityTimestamp&&i===this._sessionStartTimestamp||(this._sessionStartTimestamp=i,this._sessionActivityTimestamp=t,this._sessionId=e,this.persistence.register({[de]:[t,e,i]}))}_getSessionId(){if(this._sessionId&&this._sessionActivityTimestamp&&this._sessionStartTimestamp)return[this._sessionActivityTimestamp,this._sessionId,this._sessionStartTimestamp];const e=this.persistence.props[de];return m(e)&&2===e.length&&e.push(e[0]),e||[0,null,0]}resetSessionId(){this._setSessionId(null,null,null)}_listenToReloadWindow(){null==e||e.addEventListener("beforeunload",(()=>{this._canUseSessionStorage()&&it.remove(this._primary_window_exists_storage_key)}))}checkAndGetSessionAndWindowId(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:null)||(new Date).getTime();let[i,s,n]=this._getSessionId(),r=this._getWindowId();const o=F(n)&&n>0&&Math.abs(t-n)>864e5;let a=!1;const l=!s,c=!e&&Math.abs(t-i)>this.sessionTimeoutMs;l||c||o?(s=this._sessionIdGenerator(),r=this._windowIdGenerator(),T.info("[SessionId] new session ID generated",{sessionId:s,windowId:r,changeReason:{noSessionId:l,activityTimeout:c,sessionPastMaximumLength:o}}),n=t,a=!0):r||(r=this._windowIdGenerator(),a=!0);const u=0===i||!e||o?t:i,d=0===n?(new Date).getTime():n;return this._setWindowId(r),this._setSessionId(s,u,d),a&&this._sessionIdChangedHandlers.forEach((e=>e(s,r,a?{noSessionId:l,activityTimeout:c,sessionPastMaximumLength:o}:void 0))),{sessionId:s,windowId:r,sessionStartTimestamp:d,changeReason:a?{noSessionId:l,activityTimeout:c,sessionPastMaximumLength:o}:void 0}}}let on;!function(e){e.US="us",e.EU="eu",e.CUSTOM="custom"}(on||(on={}));const an="i.posthog.com";class ln{_regionCache={};constructor(e){this.instance=e}get apiHost(){const e=this.instance.config.api_host.trim().replace(/\/$/,"");return"https://app.posthog.com"===e?"https://us.i.posthog.com":e}get uiHost(){var e;let t=null===(e=this.instance.config.ui_host)||void 0===e?void 0:e.replace(/\/$/,"");return t||(t=this.apiHost.replace(`.${an}`,".posthog.com")),"https://app.posthog.com"===t?"https://us.posthog.com":t}get region(){return this._regionCache[this.apiHost]||(/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this._regionCache[this.apiHost]=on.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this._regionCache[this.apiHost]=on.EU:this._regionCache[this.apiHost]=on.CUSTOM),this._regionCache[this.apiHost]}endpointFor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(t&&(t="/"===t[0]?t:`/${t}`),"ui"===e)return this.uiHost+t;if(this.region===on.CUSTOM)return this.apiHost+t;const i=an+t;switch(e){case"assets":return`https://${this.region}-assets.${i}`;case"api":return`https://${this.region}.${i}`}}}const cn="posthog-js";function un(e){let{organization:t,projectId:i,prefix:s,severityAllowList:n=["error"]}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return r=>{var o,a,l,c,u;if(!("*"===n||n.includes(r.level))||!e.__loaded)return r;r.tags||(r.tags={});const d=e.requestRouter.endpointFor("ui",`/project/${e.config.token}/person/${e.get_distinct_id()}`);r.tags["PostHog Person URL"]=d,e.sessionRecordingStarted()&&(r.tags["PostHog Recording URL"]=e.get_session_replay_url({withTimestamp:!0}));const h=(null===(o=r.exception)||void 0===o?void 0:o.values)||[],p={$exception_message:(null===(a=h[0])||void 0===a?void 0:a.value)||r.message,$exception_type:null===(l=h[0])||void 0===l?void 0:l.type,$exception_personURL:d,$exception_level:r.level,$exception_list:h,$sentry_event_id:r.event_id,$sentry_exception:r.exception,$sentry_exception_message:(null===(c=h[0])||void 0===c?void 0:c.value)||r.message,$sentry_exception_type:null===(u=h[0])||void 0===u?void 0:u.type,$sentry_tags:r.tags,$level:r.level};return t&&i&&(p.$sentry_url=(s||"https://sentry.io/organizations/")+t+"/issues/?project="+i+"&query="+r.event_id),e.exceptions.sendExceptionEvent(p),r}}class dn{constructor(e,t,i,s,n){this.name=cn,this.setupOnce=function(r){r(un(e,{organization:t,projectId:i,prefix:s,severityAllowList:n}))}}}function hn(e,t){const i=e.config.segment;if(!i)return t();!function(e,t){const i=e.config.segment;if(!i)return t();const s=i=>{const s=()=>i.anonymousId()||Ue();e.config.get_device_id=s,i.id()&&(e.register({distinct_id:i.id(),$device_id:s()}),e.persistence.set_property(Se,"identified")),t()},n=i.user();"then"in n&&b(n.then)?n.then((e=>s(e))):s(n)}(e,(()=>{i.register((e=>{Promise&&Promise.resolve||T.warn("This browser does not have Promise support, and can not use the segment integration");const t=(t,i)=>{var s;if(!i)return t;t.event.userId||t.event.anonymousId===e.get_distinct_id()||(T.info("Segment integration does not have a userId set, resetting PostHog"),e.reset()),t.event.userId&&t.event.userId!==e.get_distinct_id()&&(T.info("Segment integration has a userId set, identifying with PostHog"),e.identify(t.event.userId));const n=e._calculate_event_properties(i,null!==(s=t.event.properties)&&void 0!==s?s:{},new Date);return t.event.properties=Object.assign({},n,t.event.properties),t};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded:()=>!0,load:()=>Promise.resolve(),track:e=>t(e,e.event.event),page:e=>t(e,"$pageview"),identify:e=>t(e,"$identify"),screen:e=>t(e,"$screen")}})(e)).then((()=>{t()}))}))}class pn{constructor(e){this._instance=e}doPageView(t){var i;const s=this._previousPageViewProperties(t);return this._currentPath=null!==(i=null==e?void 0:e.location.pathname)&&void 0!==i?i:"",this._instance.scrollManager.resetContext(),this._prevPageviewTimestamp=t,s}doPageLeave(e){return this._previousPageViewProperties(e)}_previousPageViewProperties(e){const t=this._currentPath,i=this._prevPageviewTimestamp,s=this._instance.scrollManager.getContext();if(!i)return{};let n={};if(s){let{maxScrollHeight:e,lastScrollY:t,maxScrollY:i,maxContentHeight:r,lastContentY:o,maxContentY:a}=s;if(!(S(e)||S(t)||S(i)||S(r)||S(o)||S(a))){e=Math.ceil(e),t=Math.ceil(t),i=Math.ceil(i),r=Math.ceil(r),o=Math.ceil(o),a=Math.ceil(a);n={$prev_pageview_last_scroll:t,$prev_pageview_last_scroll_percentage:e<=1?1:gn(t/e,0,1),$prev_pageview_max_scroll:i,$prev_pageview_max_scroll_percentage:e<=1?1:gn(i/e,0,1),$prev_pageview_last_content:o,$prev_pageview_last_content_percentage:r<=1?1:gn(o/r,0,1),$prev_pageview_max_content:a,$prev_pageview_max_content_percentage:r<=1?1:gn(a/r,0,1)}}}return t&&(n.$prev_pageview_pathname=t),i&&(n.$prev_pageview_duration=(e.getTime()-i.getTime())/1e3),n}}function gn(e,t,i){return Math.max(t,Math.min(e,i))}let _n,fn,vn;!function(e){e.Popover="popover",e.API="api",e.Widget="widget"}(_n||(_n={})),function(e){e.Open="open",e.MultipleChoice="multiple_choice",e.SingleChoice="single_choice",e.Rating="rating",e.Link="link"}(fn||(fn={})),function(e){e.NextQuestion="next_question",e.End="end",e.ResponseBased="response_based",e.SpecificQuestion="specific_question"}(vn||(vn={}));class mn{events={};constructor(){this.events={}}on(e,t){return this.events[e]||(this.events[e]=[]),this.events[e].push(t),()=>{this.events[e]=this.events[e].filter((e=>e!==t))}}emit(e,t){for(const i of this.events[e]||[])i(t);for(const i of this.events["*"]||[])i(e,t)}}class bn{_debugEventEmitter=new mn;constructor(e){this.instance=e,this.actionEvents=new Set,this.actionRegistry=new Set}init(){var e;if(!S(null===(e=this.instance)||void 0===e?void 0:e._addCaptureHook)){var t;const e=(e,t)=>{this.on(e,t)};null===(t=this.instance)||void 0===t||t._addCaptureHook(e)}}register(e){var t,i;if(!S(null===(t=this.instance)||void 0===t?void 0:t._addCaptureHook)&&(e.forEach((e=>{var t,i;null===(t=this.actionRegistry)||void 0===t||t.add(e),null===(i=e.steps)||void 0===i||i.forEach((e=>{var t;null===(t=this.actionEvents)||void 0===t||t.add((null==e?void 0:e.event)||"")}))})),null!==(i=this.instance)&&void 0!==i&&i.autocapture)){var s;const t=new Set;e.forEach((e=>{var i;null===(i=e.steps)||void 0===i||i.forEach((e=>{null!=e&&e.selector&&t.add(null==e?void 0:e.selector)}))})),null===(s=this.instance)||void 0===s||s.autocapture.setElementSelectors(t)}}on(e,t){var i;null!=t&&0!=e.length&&(this.actionEvents.has(e)||this.actionEvents.has(null==t?void 0:t.event))&&this.actionRegistry&&(null===(i=this.actionRegistry)||void 0===i?void 0:i.size)>0&&this.actionRegistry.forEach((e=>{this.checkAction(t,e)&&this._debugEventEmitter.emit("actionCaptured",e.name)}))}_addActionHook(e){this.onAction("actionCaptured",(t=>e(t)))}checkAction(e,t){if(null==(null==t?void 0:t.steps))return!1;for(const i of t.steps)if(this.checkStep(e,i))return!0;return!1}onAction(e,t){return this._debugEventEmitter.on(e,t)}checkStep=(e,t)=>this.checkStepEvent(e,t)&&this.checkStepUrl(e,t)&&this.checkStepElement(e,t);checkStepEvent=(e,t)=>null==t||!t.event||(null==e?void 0:e.event)===(null==t?void 0:t.event);checkStepUrl(e,t){if(null!=t&&t.url){var i;const s=null==e||null===(i=e.properties)||void 0===i?void 0:i.$current_url;if(!s||"string"!=typeof s)return!1;if(!bn.matchString(s,null==t?void 0:t.url,(null==t?void 0:t.url_matching)||"contains"))return!1}return!0}static matchString(t,i,s){switch(s){case"regex":return!!e&&rt(t,i);case"exact":return i===t;case"contains":const s=bn.escapeStringRegexp(i).replace(/_/g,".").replace(/%/g,".*");return rt(t,s);default:return!1}}static escapeStringRegexp(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}checkStepElement(e,t){if(null!=t&&t.href||null!=t&&t.tag_name||null!=t&&t.text){if(!this.getElementsList(e).some((e=>!(null!=t&&t.href&&!bn.matchString(e.href||"",null==t?void 0:t.href,(null==t?void 0:t.href_matching)||"exact"))&&((null==t||!t.tag_name||e.tag_name===(null==t?void 0:t.tag_name))&&!(null!=t&&t.text&&!bn.matchString(e.text||"",null==t?void 0:t.text,(null==t?void 0:t.text_matching)||"exact")&&!bn.matchString(e.$el_text||"",null==t?void 0:t.text,(null==t?void 0:t.text_matching)||"exact"))))))return!1}if(null!=t&&t.selector){var i;const s=null==e||null===(i=e.properties)||void 0===i?void 0:i.$element_selectors;if(!s)return!1;if(!s.includes(null==t?void 0:t.selector))return!1}return!0}getElementsList(e){return null==(null==e?void 0:e.properties.$elements)?[]:null==e?void 0:e.properties.$elements}}class yn{static SURVEY_SHOWN_EVENT_NAME="survey shown";constructor(e){this.instance=e,this.eventToSurveys=new Map,this.actionToSurveys=new Map}register(e){var t;S(null===(t=this.instance)||void 0===t?void 0:t._addCaptureHook)||(this.setupEventBasedSurveys(e),this.setupActionBasedSurveys(e))}setupActionBasedSurveys(e){const t=e.filter((e=>{var t,i,s,n;return(null===(t=e.conditions)||void 0===t?void 0:t.actions)&&(null===(i=e.conditions)||void 0===i||null===(s=i.actions)||void 0===s||null===(n=s.values)||void 0===n?void 0:n.length)>0}));if(0!==t.length){if(null==this.actionMatcher){this.actionMatcher=new bn(this.instance),this.actionMatcher.init();const e=e=>{this.onAction(e)};this.actionMatcher._addActionHook(e)}t.forEach((e=>{var t,i,s,n,r,o,a,l,c,u;e.conditions&&null!==(t=e.conditions)&&void 0!==t&&t.actions&&null!==(i=e.conditions)&&void 0!==i&&null!==(s=i.actions)&&void 0!==s&&s.values&&(null===(n=e.conditions)||void 0===n||null===(r=n.actions)||void 0===r||null===(o=r.values)||void 0===o?void 0:o.length)>0&&(null===(a=this.actionMatcher)||void 0===a||a.register(e.conditions.actions.values),null===(l=e.conditions)||void 0===l||null===(c=l.actions)||void 0===c||null===(u=c.values)||void 0===u||u.forEach((t=>{if(t&&t.name){const i=this.actionToSurveys.get(t.name);i&&i.push(e.id),this.actionToSurveys.set(t.name,i||[e.id])}})))}))}}setupEventBasedSurveys(e){var t;if(0===e.filter((e=>{var t,i,s,n;return(null===(t=e.conditions)||void 0===t?void 0:t.events)&&(null===(i=e.conditions)||void 0===i||null===(s=i.events)||void 0===s||null===(n=s.values)||void 0===n?void 0:n.length)>0})).length)return;null===(t=this.instance)||void 0===t||t._addCaptureHook(((e,t)=>{this.onEvent(e,t)})),e.forEach((e=>{var t,i,s;null===(t=e.conditions)||void 0===t||null===(i=t.events)||void 0===i||null===(s=i.values)||void 0===s||s.forEach((t=>{if(t&&t.name){const i=this.eventToSurveys.get(t.name);i&&i.push(e.id),this.eventToSurveys.set(t.name,i||[e.id])}}))}))}onEvent(e,t){var i,s;const n=(null===(i=this.instance)||void 0===i||null===(s=i.persistence)||void 0===s?void 0:s.props[ye])||[];if(yn.SURVEY_SHOWN_EVENT_NAME==e&&t&&n.length>0){var r;const e=null==t||null===(r=t.properties)||void 0===r?void 0:r.$survey_id;if(e){const t=n.indexOf(e);t>=0&&(n.splice(t,1),this._updateActivatedSurveys(n))}}else this.eventToSurveys.has(e)&&this._updateActivatedSurveys(n.concat(this.eventToSurveys.get(e)||[]))}onAction(e){var t,i;const s=(null===(t=this.instance)||void 0===t||null===(i=t.persistence)||void 0===i?void 0:i.props[ye])||[];this.actionToSurveys.has(e)&&this._updateActivatedSurveys(s.concat(this.actionToSurveys.get(e)||[]))}_updateActivatedSurveys(e){var t,i;null===(t=this.instance)||void 0===t||null===(i=t.persistence)||void 0===i||i.register({[ye]:[...new Set(e)]})}getSurveys(){var e,t;const i=null===(e=this.instance)||void 0===e||null===(t=e.persistence)||void 0===t?void 0:t.props[ye];return i||[]}getEventToSurveys(){return this.eventToSurveys}_getActionMatcher(){return this.actionMatcher}}const wn="[Surveys]",Sn={icontains:t=>!!e&&e.location.href.toLowerCase().indexOf(t.toLowerCase())>-1,not_icontains:t=>!!e&&-1===e.location.href.toLowerCase().indexOf(t.toLowerCase()),regex:t=>!!e&&rt(e.location.href,t),not_regex:t=>!!e&&!rt(e.location.href,t),exact:t=>(null==e?void 0:e.location.href)===t,is_not:t=>(null==e?void 0:e.location.href)!==t};class En{constructor(e){this.instance=e,this._surveyEventReceiver=null}afterDecideResponse(e){this._decideServerResponse=!!e.surveys,this.loadIfEnabled()}loadIfEnabled(){var e;const t=null==h||null===(e=h.__PosthogExtensions__)||void 0===e?void 0:e.generateSurveys;var i,s;this.instance.config.disable_surveys||!this._decideServerResponse||t||(null==this._surveyEventReceiver&&(this._surveyEventReceiver=new yn(this.instance)),null===(i=h.__PosthogExtensions__)||void 0===i||null===(s=i.loadExternalDependency)||void 0===s||s.call(i,this.instance,"surveys",(e=>{var t,i;if(e)return T.error(wn,"Could not load surveys script",e);this._surveyManager=null===(t=h.__PosthogExtensions__)||void 0===t||null===(i=t.generateSurveys)||void 0===i?void 0:i.call(t,this.instance)})))}getSurveys(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.instance.config.disable_surveys)return e([]);null==this._surveyEventReceiver&&(this._surveyEventReceiver=new yn(this.instance));const i=this.instance.get_property(be);if(i&&!t)return e(i);this.instance._send_request({url:this.instance.requestRouter.endpointFor("api",`/api/surveys/?token=${this.instance.config.token}`),method:"GET",transport:"XHR",callback:t=>{var i;if(200!==t.statusCode||!t.json)return e([]);const s=t.json.surveys||[],n=s.filter((e=>{var t,i,s,n,r,o,a,l,c,u,d,h;return(null===(t=e.conditions)||void 0===t?void 0:t.events)&&(null===(i=e.conditions)||void 0===i||null===(s=i.events)||void 0===s?void 0:s.values)&&(null===(n=e.conditions)||void 0===n||null===(r=n.events)||void 0===r||null===(o=r.values)||void 0===o?void 0:o.length)>0||(null===(a=e.conditions)||void 0===a?void 0:a.actions)&&(null===(l=e.conditions)||void 0===l||null===(c=l.actions)||void 0===c?void 0:c.values)&&(null===(u=e.conditions)||void 0===u||null===(d=u.actions)||void 0===d||null===(h=d.values)||void 0===h?void 0:h.length)>0}));var r;n.length>0&&(null===(r=this._surveyEventReceiver)||void 0===r||r.register(n));return null===(i=this.instance.persistence)||void 0===i||i.register({[be]:s}),e(s)}})}getActiveMatchingSurveys(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.getSurveys((t=>{var i;const s=t.filter((e=>!(!e.start_date||e.end_date))).filter((e=>{var t,i,s,n;if(!e.conditions)return!0;const r=null===(t=e.conditions)||void 0===t||!t.url||Sn[null!==(i=null===(s=e.conditions)||void 0===s?void 0:s.urlMatchType)&&void 0!==i?i:"icontains"](e.conditions.url),a=null===(n=e.conditions)||void 0===n||!n.selector||(null==o?void 0:o.querySelector(e.conditions.selector));return r&&a})),n=null===(i=this._surveyEventReceiver)||void 0===i?void 0:i.getSurveys(),r=s.filter((e=>{var t,i,s,r,o,a,l,c,u,d;if(!e.linked_flag_key&&!e.targeting_flag_key&&!e.internal_targeting_flag_key)return!0;const h=!e.linked_flag_key||this.instance.featureFlags.isFeatureEnabled(e.linked_flag_key),p=!e.targeting_flag_key||this.instance.featureFlags.isFeatureEnabled(e.targeting_flag_key),g=(null===(t=e.conditions)||void 0===t?void 0:t.events)&&(null===(i=e.conditions)||void 0===i||null===(s=i.events)||void 0===s?void 0:s.values)&&(null===(r=e.conditions)||void 0===r||null===(o=r.events)||void 0===o?void 0:o.values.length)>0,_=(null===(a=e.conditions)||void 0===a?void 0:a.actions)&&(null===(l=e.conditions)||void 0===l||null===(c=l.actions)||void 0===c?void 0:c.values)&&(null===(u=e.conditions)||void 0===u||null===(d=u.actions)||void 0===d?void 0:d.values.length)>0,f=!g&&!_||(null==n?void 0:n.includes(e.id)),v=this._canActivateRepeatedly(e),m=!(e.internal_targeting_flag_key&&!v)||this.instance.featureFlags.isFeatureEnabled(e.internal_targeting_flag_key);return h&&p&&m&&f}));return e(r)}),t)}getNextSurveyStep(e,t,i){var s;const n=e.questions[t],r=t+1;if(null===(s=n.branching)||void 0===s||!s.type)return t===e.questions.length-1?vn.End:r;if(n.branching.type===vn.End)return vn.End;if(n.branching.type===vn.SpecificQuestion){if(Number.isInteger(n.branching.index))return n.branching.index}else if(n.branching.type===vn.ResponseBased){if(n.type===fn.SingleChoice){var o,a;const e=n.choices.indexOf(`${i}`);if(null!==(o=n.branching)&&void 0!==o&&null!==(a=o.responseValues)&&void 0!==a&&a.hasOwnProperty(e)){const t=n.branching.responseValues[e];return Number.isInteger(t)?t:t===vn.End?vn.End:r}}else if(n.type===fn.Rating){var l,c;if("number"!=typeof i||!Number.isInteger(i))throw new Error("The response type must be an integer");const e=function(e,t){if(3===t){if(e<1||e>3)throw new Error("The response must be in range 1-3");return 1===e?"negative":2===e?"neutral":"positive"}if(5===t){if(e<1||e>5)throw new Error("The response must be in range 1-5");return e<=2?"negative":3===e?"neutral":"positive"}if(7===t){if(e<1||e>7)throw new Error("The response must be in range 1-7");return e<=3?"negative":4===e?"neutral":"positive"}if(10===t){if(e<0||e>10)throw new Error("The response must be in range 0-10");return e<=6?"detractors":e<=8?"passives":"promoters"}throw new Error("The scale must be one of: 3, 5, 7, 10")}(i,n.scale);if(null!==(l=n.branching)&&void 0!==l&&null!==(c=l.responseValues)&&void 0!==c&&c.hasOwnProperty(e)){const t=n.branching.responseValues[e];return Number.isInteger(t)?t:t===vn.End?vn.End:r}}return r}return T.warn(wn,"Falling back to next question index due to unexpected branching type"),r}_canActivateRepeatedly(e){var t;return I(null===(t=h.__PosthogExtensions__)||void 0===t?void 0:t.canActivateRepeatedly)?(T.warn(wn,"canActivateRepeatedly is not defined, must init before calling"),!1):h.__PosthogExtensions__.canActivateRepeatedly(e)}canRenderSurvey(e){I(this._surveyManager)?T.warn(wn,"canActivateRepeatedly is not defined, must init before calling"):this.getSurveys((t=>{const i=t.filter((t=>t.id===e))[0];this._surveyManager.canRenderSurvey(i)}))}renderSurvey(e,t){I(this._surveyManager)?T.warn(wn,"canActivateRepeatedly is not defined, must init before calling"):this.getSurveys((i=>{const s=i.filter((t=>t.id===e))[0];this._surveyManager.renderSurvey(s,null==o?void 0:o.querySelector(t))}))}}class xn{serverLimits={};lastEventRateLimited=!1;constructor(e){var t,i;this.instance=e,this.captureEventsPerSecond=(null===(t=e.config.rate_limiting)||void 0===t?void 0:t.events_per_second)||10,this.captureEventsBurstLimit=Math.max((null===(i=e.config.rate_limiting)||void 0===i?void 0:i.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond),this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}clientRateLimitContext(){var e,t,i;let s=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const n=(new Date).getTime(),r=null!==(e=null===(t=this.instance.persistence)||void 0===t?void 0:t.get_property(xe))&&void 0!==e?e:{tokens:this.captureEventsBurstLimit,last:n};r.tokens+=(n-r.last)/1e3*this.captureEventsPerSecond,r.last=n,r.tokens>this.captureEventsBurstLimit&&(r.tokens=this.captureEventsBurstLimit);const o=r.tokens<1;return o||s||(r.tokens=Math.max(0,r.tokens-1)),!o||this.lastEventRateLimited||s||this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:`posthog-js client rate limited. Config is set to ${this.captureEventsPerSecond} events per second and ${this.captureEventsBurstLimit} events burst limit.`},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=o,null===(i=this.instance.persistence)||void 0===i||i.set_property(xe,r),{isRateLimited:o,remainingTokens:r.tokens}}isServerRateLimited(e){const t=this.serverLimits[e||"events"]||!1;return!1!==t&&(new Date).getTime(){const t=e.text;if(t&&t.length)try{const e=JSON.parse(t);(e.quota_limited||[]).forEach((e=>{T.info(`[RateLimiter] ${e||"events"} is quota limited.`),this.serverLimits[e]=(new Date).getTime()+6e4}))}catch(e){return void T.warn(`[RateLimiter] could not rate limit - continuing. Error: "${null==e?void 0:e.message}"`,{text:t})}}}const kn=()=>({initialPathName:(null==a?void 0:a.pathname)||"",referringDomain:oi.referringDomain(),...oi.campaignParams()});class In{constructor(e,t,i){this._sessionIdManager=e,this._persistence=t,this._sessionSourceParamGenerator=i||kn,this._sessionIdManager.onSessionId(this._onSessionIdCallback)}_getStoredProps(){return this._persistence.props[Ee]}_onSessionIdCallback=e=>{const t=this._getStoredProps();if(t&&t.sessionId===e)return;const i={sessionId:e,props:this._sessionSourceParamGenerator()};this._persistence.register({[Ee]:i})};getSessionProps(){var e;const t=null===(e=this._getStoredProps())||void 0===e?void 0:e.props;return t?{$client_session_initial_referring_host:t.referringDomain,$client_session_initial_pathname:t.initialPathName,$client_session_initial_utm_source:t.utm_source,$client_session_initial_utm_campaign:t.utm_campaign,$client_session_initial_utm_medium:t.utm_medium,$client_session_initial_utm_content:t.utm_content,$client_session_initial_utm_term:t.utm_term}:{}}}const Fn=["ahrefsbot","ahrefssiteaudit","applebot","baiduspider","bingbot","bingpreview","bot.htm","bot.php","crawler","deepscan","duckduckbot","facebookexternal","facebookcatalog","gptbot","http://yandex.com/bots","hubspot","ia_archiver","linkedinbot","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","semrushbot","sitebulb","slurp","turnitin","twitterbot","vercelbot","yahoo! slurp","yandexbot","headlesschrome","cypress","Google-HotelAdsVerifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleweblight","mediapartners-google","storebot-google","Bytespider;"],Rn=function(e,t){if(!e)return!1;const i=e.toLowerCase();return Fn.concat(t||[]).some((e=>{const t=e.toLowerCase();return-1!==i.indexOf(t)}))},Pn=function(e,t){if(!e)return!1;const i=e.userAgent;if(i&&Rn(i,t))return!0;try{const i=null==e?void 0:e.userAgentData;if(null!=i&&i.brands&&i.brands.some((e=>Rn(null==e?void 0:e.brand,t))))return!0}catch{}return!!e.webdriver};class $n{constructor(){this.clicks=[]}isRageClick(e,t,i){const s=this.clicks[this.clicks.length-1];if(s&&Math.abs(e-s.x)+Math.abs(t-s.y)<30&&i-s.timestamp<1e3){if(this.clicks.push({x:e,y:t,timestamp:i}),3===this.clicks.length)return!0}else this.clicks=[{x:e,y:t,timestamp:i}];return!1}}function Tn(e){var t;return e.id===Pe||!(null===(t=e.closest)||void 0===t||!t.call(e,"#"+Pe))}class Cn{rageclicks=new $n;_enabledServerSide=!1;_initialized=!1;_flushInterval=null;constructor(t){var i;this.instance=t,this._enabledServerSide=!(null===(i=this.instance.persistence)||void 0===i||!i.props[ee]),null==e||e.addEventListener("beforeunload",(()=>{this.flush()}))}get flushIntervalMilliseconds(){let e=5e3;return y(this.instance.config.capture_heatmaps)&&this.instance.config.capture_heatmaps.flush_interval_milliseconds&&(e=this.instance.config.capture_heatmaps.flush_interval_milliseconds),e}get isEnabled(){return S(this.instance.config.capture_heatmaps)?S(this.instance.config.enable_heatmaps)?this._enabledServerSide:this.instance.config.enable_heatmaps:!1!==this.instance.config.capture_heatmaps}startIfEnabled(){if(this.isEnabled){if(this._initialized)return;T.info("[heatmaps] starting..."),this._setupListeners(),this._flushInterval=setInterval(this.flush.bind(this),this.flushIntervalMilliseconds)}else{var e;clearInterval(null!==(e=this._flushInterval)&&void 0!==e?e:void 0),this.getAndClearBuffer()}}afterDecideResponse(e){const t=!!e.heatmaps;this.instance.persistence&&this.instance.persistence.register({[ee]:t}),this._enabledServerSide=t,this.startIfEnabled()}getAndClearBuffer(){const e=this.buffer;return this.buffer=void 0,e}_setupListeners(){e&&o&&(G(o,"click",(t=>this._onClick(t||(null==e?void 0:e.event))),!1,!0),G(o,"mousemove",(t=>this._onMouseMove(t||(null==e?void 0:e.event))),!1,!0),this._initialized=!0)}_getProperties(t,i){const s=this.instance.scrollManager.scrollY(),n=this.instance.scrollManager.scrollX(),r=this.instance.scrollManager.scrollElement(),o=function(t,i,s){let n=t;for(;n&&bi(n)&&!yi(n,"body");){if(n===s)return!1;if(q(i,null==e?void 0:e.getComputedStyle(n).position))return!0;n=xi(n)}return!1}(mi(t),["fixed","sticky"],r);return{x:t.clientX+(o?0:n),y:t.clientY+(o?0:s),target_fixed:o,type:i}}_onClick(e){var t;if(Tn(e.target))return;const i=this._getProperties(e,"click");null!==(t=this.rageclicks)&&void 0!==t&&t.isRageClick(e.clientX,e.clientY,(new Date).getTime())&&this._capture({...i,type:"rageclick"}),this._capture(i)}_onMouseMove(e){Tn(e.target)||(clearTimeout(this._mouseMoveTimeout),this._mouseMoveTimeout=setTimeout((()=>{this._capture(this._getProperties(e,"mousemove"))}),500))}_capture(t){if(!e)return;const i=e.location.href;this.buffer=this.buffer||{},this.buffer[i]||(this.buffer[i]=[]),this.buffer[i].push(t)}flush(){this.buffer&&!w(this.buffer)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}}class Mn{constructor(e){this.instance=e}getContext(){return this.context}resetContext(){const e=this.context;return setTimeout(this._updateScrollData,0),e}_updateScrollData=()=>{var e,t,i,s;this.context||(this.context={});const n=this.scrollElement(),r=this.scrollY(),o=n?Math.max(0,n.scrollHeight-n.clientHeight):0,a=r+((null==n?void 0:n.clientHeight)||0),l=(null==n?void 0:n.scrollHeight)||0;this.context.lastScrollY=Math.ceil(r),this.context.maxScrollY=Math.max(r,null!==(e=this.context.maxScrollY)&&void 0!==e?e:0),this.context.maxScrollHeight=Math.max(o,null!==(t=this.context.maxScrollHeight)&&void 0!==t?t:0),this.context.lastContentY=a,this.context.maxContentY=Math.max(a,null!==(i=this.context.maxContentY)&&void 0!==i?i:0),this.context.maxContentHeight=Math.max(l,null!==(s=this.context.maxContentHeight)&&void 0!==s?s:0)};startMeasuringScrollPosition(){null==e||e.addEventListener("scroll",this._updateScrollData,!0),null==e||e.addEventListener("scrollend",this._updateScrollData,!0),null==e||e.addEventListener("resize",this._updateScrollData)}scrollElement(){if(!this.instance.config.scroll_root_selector)return null==e?void 0:e.document.documentElement;{const t=m(this.instance.config.scroll_root_selector)?this.instance.config.scroll_root_selector:[this.instance.config.scroll_root_selector];for(const i of t){const t=null==e?void 0:e.document.querySelector(i);if(t)return t}}}scrollY(){if(this.instance.config.scroll_root_selector){const e=this.scrollElement();return e&&e.scrollTop||0}return e&&(e.scrollY||e.pageYOffset||e.document.documentElement.scrollTop)||0}scrollX(){if(this.instance.config.scroll_root_selector){const e=this.scrollElement();return e&&e.scrollLeft||0}return e&&(e.scrollX||e.pageXOffset||e.document.documentElement.scrollLeft)||0}}const An="$copy_autocapture";function Ln(e,t){return t.length>e?t.slice(0,e)+"...":t}class On{_initialized=!1;_isDisabledServerSide=null;rageclicks=new $n;_elementsChainAsString=!1;constructor(e){this.instance=e,this._elementSelectors=null}get config(){var e,t;const i=y(this.instance.config.autocapture)?this.instance.config.autocapture:{};return i.url_allowlist=null===(e=i.url_allowlist)||void 0===e?void 0:e.map((e=>new RegExp(e))),i.url_ignorelist=null===(t=i.url_ignorelist)||void 0===t?void 0:t.map((e=>new RegExp(e))),i}_addDomEventHandlers(){if(!this.isBrowserSupported())return void T.info("Disabling Automatic Event Collection because this browser is not supported");if(!e||!o)return;const t=t=>{t=t||(null==e?void 0:e.event);try{this._captureEvent(t)}catch(e){T.error("Failed to capture event",e)}},i=t=>{t=t||(null==e?void 0:e.event),this._captureEvent(t,An)};G(o,"submit",t,!1,!0),G(o,"change",t,!1,!0),G(o,"click",t,!1,!0),this.config.capture_copied_text&&(G(o,"copy",i,!1,!0),G(o,"cut",i,!1,!0))}startIfEnabled(){this.isEnabled&&!this._initialized&&(this._addDomEventHandlers(),this._initialized=!0)}afterDecideResponse(e){e.elementsChainAsString&&(this._elementsChainAsString=e.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[Z]:!!e.autocapture_opt_out}),this._isDisabledServerSide=!!e.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(e){this._elementSelectors=e}getElementSelectors(e){var t;const i=[];return null===(t=this._elementSelectors)||void 0===t||t.forEach((t=>{const s=null==o?void 0:o.querySelectorAll(t);null==s||s.forEach((s=>{e===s&&i.push(t)}))})),i}get isEnabled(){var e,t;const i=null===(e=this.instance.persistence)||void 0===e?void 0:e.props[Z],s=this._isDisabledServerSide;if(k(s)&&!R(i)&&!this.instance.config.advanced_disable_decide)return!1;const n=null!==(t=this._isDisabledServerSide)&&void 0!==t?t:!!i;return!!this.instance.config.autocapture&&!n}_previousElementSibling(e){if(e.previousElementSibling)return e.previousElementSibling;let t=e;do{t=t.previousSibling}while(t&&!bi(t));return t}_getAugmentPropertiesFromElement(e){if(!Ii(e))return{};const t={};return O(e.attributes,(function(e){if(e.name&&0===e.name.indexOf("data-ph-capture-attribute")){const i=e.name.replace("data-ph-capture-attribute-",""),s=e.value;i&&s&&Ai(s)&&(t[i]=s)}})),t}_getPropertiesFromElement(e,t,i){var s;const n=e.tagName.toLowerCase(),r={tag_name:n};Ei.indexOf(n)>-1&&!i&&("a"===n.toLowerCase()||"button"===n.toLowerCase()?r.$el_text=Ln(1024,Li(e)):r.$el_text=Ln(1024,vi(e)));const o=_i(e);o.length>0&&(r.classes=o.filter((function(e){return""!==e})));const a=null===(s=this.config)||void 0===s?void 0:s.element_attribute_ignorelist;O(e.attributes,(function(i){var s;if((!Fi(e)||-1!==["name","id","class","aria-label"].indexOf(i.name))&&((null==a||!a.includes(i.name))&&!t&&Ai(i.value)&&(s=i.name,!E(s)||"_ngcontent"!==s.substring(0,10)&&"_nghost"!==s.substring(0,7)))){let e=i.value;"class"===i.name&&(e=pi(e).join(" ")),r["attr__"+i.name]=Ln(1024,e)}}));let l=1,c=1,u=e;for(;u=this._previousElementSibling(u);)l++,u.tagName===e.tagName&&c++;return r.nth_child=l,r.nth_of_type=c,r}_getDefaultProperties(e){return{$event_type:e,$ce_version:1}}_captureEvent(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"$autocapture";if(!this.isEnabled)return;let s=mi(t);var n;(wi(s)&&(s=s.parentNode||null),"$autocapture"===i&&"click"===t.type&&t instanceof MouseEvent)&&(this.instance.config.rageclick&&null!==(n=this.rageclicks)&&void 0!==n&&n.isRageClick(t.clientX,t.clientY,(new Date).getTime())&&this._captureEvent(t,"$rageclick"));const r=i===An;if(s&&ki(s,t,this.config,r,r?["copy","cut"]:void 0)){var o,a;const n=[s];let r=s;for(;r.parentNode&&!yi(r,"body");)Si(r.parentNode)?(n.push(r.parentNode.host),r=r.parentNode.host):(n.push(r.parentNode),r=r.parentNode);const d=[],h={};let p,g,_=!1;if(O(n,(e=>{const t=Ii(e);"a"===e.tagName.toLowerCase()&&(p=e.getAttribute("href"),p=t&&Ai(p)&&p);q(_i(e),"ph-no-capture")&&(_=!0),d.push(this._getPropertiesFromElement(e,this.instance.config.mask_all_element_attributes,this.instance.config.mask_all_text));const i=this._getAugmentPropertiesFromElement(e);D(h,i)})),this.instance.config.mask_all_text||("a"===s.tagName.toLowerCase()||"button"===s.tagName.toLowerCase()?d[0].$el_text=Li(s):d[0].$el_text=vi(s)),p){var l,c;d[0].attr__href=p;const t=null===(l=nt(p))||void 0===l?void 0:l.host,i=null==e||null===(c=e.location)||void 0===c?void 0:c.host;t&&i&&t!==i&&(g=p)}if(_)return!1;const f=D(this._getDefaultProperties(t.type),this._elementsChainAsString?{$elements_chain:Di(d)}:{$elements:d},null!==(o=d[0])&&void 0!==o&&o.$el_text?{$el_text:null===(a=d[0])||void 0===a?void 0:a.$el_text}:{},g&&"click"===t.type?{$external_click_url:g}:{},h),v=this.getElementSelectors(s);if(v&&v.length>0&&(f.$element_selectors=v),i===An){var u;const i=fi(null==e||null===(u=e.getSelection())||void 0===u?void 0:u.toString()),s=t.type||"clipboard";if(!i)return!1;f.$selected_content=i,f.$copy_type=s}return this.instance.capture(i,f),!0}}isBrowserSupported(){return b(null==o?void 0:o.querySelectorAll)}}class Dn{_restoreXHRPatch=void 0;_restoreFetchPatch=void 0;constructor(e){this.instance=e}_loadScript(e){var t,i,s;null!==(t=h.__PosthogExtensions__)&&void 0!==t&&t.tracingHeadersPatchFns&&e(),null===(i=h.__PosthogExtensions__)||void 0===i||null===(s=i.loadExternalDependency)||void 0===s||s.call(i,this.instance,"tracing-headers",(t=>{if(t)return T.error("[TRACING-HEADERS] failed to load script",t);e()}))}startIfEnabledOrStop(){var e,t;this.instance.config.__add_tracing_headers?this._loadScript(this._startCapturing):(null===(e=this._restoreXHRPatch)||void 0===e||e.call(this),null===(t=this._restoreFetchPatch)||void 0===t||t.call(this),this._restoreXHRPatch=void 0,this._restoreFetchPatch=void 0)}_startCapturing=()=>{var e,t,i,s;S(this._restoreXHRPatch)&&(null===(e=h.__PosthogExtensions__)||void 0===e||null===(t=e.tracingHeadersPatchFns)||void 0===t||t._patchXHR(this.instance.sessionManager));S(this._restoreFetchPatch)&&(null===(i=h.__PosthogExtensions__)||void 0===i||null===(s=i.tracingHeadersPatchFns)||void 0===s||s._patchFetch(this.instance.sessionManager))}}let qn;!function(e){e[e.PENDING=-1]="PENDING",e[e.DENIED=0]="DENIED",e[e.GRANTED=1]="GRANTED"}(qn||(qn={}));class Nn{constructor(e){this.instance=e}get config(){return this.instance.config}get consent(){return this.getDnt()?qn.DENIED:this.storedConsent}isOptedOut(){return this.consent===qn.DENIED||this.consent===qn.PENDING&&this.config.opt_out_capturing_by_default}isOptedIn(){return!this.isOptedOut()}optInOut(e){this.storage.set(this.storageKey,e?1:0,this.config.cookie_expiration,this.config.cross_subdomain_cookie,this.config.secure_cookie)}reset(){this.storage.remove(this.storageKey,this.config.cross_subdomain_cookie)}get storageKey(){const{token:e,opt_out_capturing_cookie_prefix:t}=this.instance.config;return(t||"__ph_opt_in_out_")+e}get storedConsent(){const e=this.storage.get(this.storageKey);return"1"===e?qn.GRANTED:"0"===e?qn.DENIED:qn.PENDING}get storage(){if(!this._storage){const e=this.config.opt_out_capturing_persistence_type;this._storage="localStorage"===e?Ye:Qe;const t="localStorage"===e?Qe:Ye;t.get(this.storageKey)&&(this._storage.get(this.storageKey)||this.optInOut("1"===t.get(this.storageKey)),t.remove(this.storageKey,this.config.cross_subdomain_cookie))}return this._storage}getDnt(){return!!this.config.respect_dnt&&!!Q([null==r?void 0:r.doNotTrack,null==r?void 0:r.msDoNotTrack,h.doNotTrack],(e=>q([!0,1,"1","yes"],e)))}}const Bn="[Exception Autocapture]";class Hn{originalOnUnhandledRejectionHandler=void 0;constructor(e){var t;this.instance=e,this.remoteEnabled=!(null===(t=this.instance.persistence)||void 0===t||!t.props[te]),this.startIfEnabled()}get isEnabled(){var e;return null!==(e=this.remoteEnabled)&&void 0!==e&&e}get isCapturing(){var t;return!(null==e||null===(t=e.onerror)||void 0===t||!t.__POSTHOG_INSTRUMENTED__)}get hasHandlers(){return this.originalOnUnhandledRejectionHandler||this.unwrapOnError}startIfEnabled(){this.isEnabled&&!this.isCapturing&&(T.info(Bn+" enabled, starting..."),this.loadScript(this.startCapturing))}loadScript(e){var t,i;this.hasHandlers&&e(),null===(t=h.__PosthogExtensions__)||void 0===t||null===(i=t.loadExternalDependency)||void 0===i||i.call(t,this.instance,"exception-autocapture",(t=>{if(t)return T.error(Bn+" failed to load script",t);e()}))}startCapturing=()=>{var t,i,s,n;if(!e||!this.isEnabled||this.hasHandlers||this.isCapturing)return;const r=null===(t=h.__PosthogExtensions__)||void 0===t||null===(i=t.errorWrappingFunctions)||void 0===i?void 0:i.wrapOnError,o=null===(s=h.__PosthogExtensions__)||void 0===s||null===(n=s.errorWrappingFunctions)||void 0===n?void 0:n.wrapUnhandledRejection;if(r&&o)try{this.unwrapOnError=r(this.captureException.bind(this)),this.unwrapUnhandledRejection=o(this.captureException.bind(this))}catch(e){T.error(Bn+" failed to start",e),this.stopCapturing()}else T.error(Bn+" failed to load error wrapping functions - cannot start")};stopCapturing(){var e,t;null===(e=this.unwrapOnError)||void 0===e||e.call(this),null===(t=this.unwrapUnhandledRejection)||void 0===t||t.call(this)}afterDecideResponse(e){const t=e.autocaptureExceptions;this.remoteEnabled=!!t||!1,this.instance.persistence&&this.instance.persistence.register({[te]:this.remoteEnabled}),this.startIfEnabled()}captureException(e){const t=this.instance.requestRouter.endpointFor("ui");e.$exception_personURL=`${t}/project/${this.instance.config.token}/person/${this.instance.get_distinct_id()}`,this.instance.exceptions.sendExceptionEvent(e)}}const Un=9e5,Wn="[Web Vitals]";class zn{_enabledServerSide=!1;_initialized=!1;buffer={url:void 0,metrics:[],firstMetricTimestamp:void 0};constructor(e){var t;this.instance=e,this._enabledServerSide=!(null===(t=this.instance.persistence)||void 0===t||!t.props[se]),this.startIfEnabled()}get allowedMetrics(){var e,t;const i=y(this.instance.config.capture_performance)?null===(e=this.instance.config.capture_performance)||void 0===e?void 0:e.web_vitals_allowed_metrics:void 0;return S(i)?(null===(t=this.instance.persistence)||void 0===t?void 0:t.props[ne])||["CLS","FCP","INP","LCP"]:i}get flushToCaptureTimeoutMs(){return(y(this.instance.config.capture_performance)?this.instance.config.capture_performance.web_vitals_delayed_flush_ms:void 0)||5e3}get _maxAllowedValue(){const e=y(this.instance.config.capture_performance)&&F(this.instance.config.capture_performance.__web_vitals_max_value)?this.instance.config.capture_performance.__web_vitals_max_value:Un;return 0{t?T.error(Wn+" failed to load script",t):e()}))}_currentURL(){const t=e?e.location.href:void 0;return t||T.error(Wn+"Could not determine current URL"),t}_flushToCapture=()=>{clearTimeout(this._delayedFlushTimer),0!==this.buffer.metrics.length&&(this.instance.capture("$web_vitals",this.buffer.metrics.reduce(((e,t)=>({...e,[`$web_vitals_${t.name}_event`]:{...t},[`$web_vitals_${t.name}_value`]:t.value})),{})),this.buffer={url:void 0,metrics:[],firstMetricTimestamp:void 0})};_addToBuffer=e=>{var t;const i=null===(t=this.instance.sessionManager)||void 0===t?void 0:t.checkAndGetSessionAndWindowId(!0);if(S(i))return void T.error(Wn+"Could not read session ID. Dropping metrics!");this.buffer=this.buffer||{url:void 0,metrics:[],firstMetricTimestamp:void 0};const s=this._currentURL();if(S(s))return;if(I(null==e?void 0:e.name)||I(null==e?void 0:e.value))return void T.error(Wn+"Invalid metric received",e);if(this._maxAllowedValue&&e.value>=this._maxAllowedValue)return void T.error(Wn+"Ignoring metric with value >= "+this._maxAllowedValue,e);this.buffer.url!==s&&(this._flushToCapture(),this._delayedFlushTimer=setTimeout(this._flushToCapture,this.flushToCaptureTimeoutMs)),S(this.buffer.url)&&(this.buffer.url=s),this.buffer.firstMetricTimestamp=S(this.buffer.firstMetricTimestamp)?Date.now():this.buffer.firstMetricTimestamp,e.attribution&&e.attribution.interactionTargetElement&&(e.attribution.interactionTargetElement=void 0),this.buffer.metrics.push({...e,$current_url:s,$session_id:i.sessionId,$window_id:i.windowId,timestamp:Date.now()}),this.buffer.metrics.length===this.allowedMetrics.length&&this._flushToCapture()};_startCapturing=()=>{let e,t,i,s;const n=h.__PosthogExtensions__;S(n)||S(n.postHogWebVitalsCallbacks)||({onLCP:e,onCLS:t,onFCP:i,onINP:s}=n.postHogWebVitalsCallbacks),e&&t&&i&&s?(this.allowedMetrics.indexOf("LCP")>-1&&e(this._addToBuffer.bind(this)),this.allowedMetrics.indexOf("CLS")>-1&&t(this._addToBuffer.bind(this)),this.allowedMetrics.indexOf("FCP")>-1&&i(this._addToBuffer.bind(this)),this.allowedMetrics.indexOf("INP")>-1&&s(this._addToBuffer.bind(this)),this._initialized=!0):T.error(Wn+"web vitals callbacks not loaded - not starting")}}const Vn={icontains:(t,i)=>!!e&&i.href.toLowerCase().indexOf(t.toLowerCase())>-1,not_icontains:(t,i)=>!!e&&-1===i.href.toLowerCase().indexOf(t.toLowerCase()),regex:(t,i)=>!!e&&rt(i.href,t),not_regex:(t,i)=>!!e&&!rt(i.href,t),exact:(e,t)=>t.href===e,is_not:(e,t)=>t.href!==e};class Gn{constructor(e){this.instance=e;const t=e=>{this.applyFeatureFlagChanges(e)};this.instance.onFeatureFlags&&this.instance.onFeatureFlags(t),this._flagToExperiments=new Map}applyFeatureFlagChanges(e){I(this._flagToExperiments)||this.instance.config.disable_web_experiments||(Gn.logInfo("applying feature flags",e),e.forEach((e=>{var t;if(this._flagToExperiments&&null!==(t=this._flagToExperiments)&&void 0!==t&&t.has(e)){var i;const t=this.instance.getFeatureFlag(e),s=null===(i=this._flagToExperiments)||void 0===i?void 0:i.get(e);t&&null!=s&&s.variants[t]&&this.applyTransforms(s.name,t,s.variants[t].transforms)}})))}afterDecideResponse(e){this._is_bot()?Gn.logInfo("Refusing to render web experiment since the viewer is a likely bot"):(this._featureFlags=e.featureFlags,this.loadIfEnabled(),this.previewWebExperiment())}previewWebExperiment(){const e=Gn.getWindowLocation();if(null!=e&&e.search){const t=at(null==e?void 0:e.search,"__experiment_id"),i=at(null==e?void 0:e.search,"__experiment_variant");t&&i&&(Gn.logInfo(`previewing web experiments ${t} && ${i}`),this.getWebExperiments((e=>{this.showPreviewWebExperiment(parseInt(t),i,e)}),!1,!0))}}loadIfEnabled(){this.instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperimentsAndEvaluateDisplayLogic=(()=>{var e=this;return function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e.getWebExperiments((t=>{Gn.logInfo("retrieved web experiments from the server"),e._flagToExperiments=new Map,t.forEach((t=>{if(t.feature_flag_key&&e._featureFlags&&e._featureFlags[t.feature_flag_key]){var i;if(e._flagToExperiments)Gn.logInfo("setting flag key ",t.feature_flag_key," to web experiment ",t),null===(i=e._flagToExperiments)||void 0===i||i.set(t.feature_flag_key,t);const s=e._featureFlags[t.feature_flag_key];s&&t.variants[s]&&e.applyTransforms(t.name,s,t.variants[s].transforms)}else if(t.variants)for(const i in t.variants){const s=t.variants[i];Gn.matchesTestVariant(s)&&e.applyTransforms(t.name,i,s.transforms)}}))}),t)}})();getWebExperiments(e,t,i){if(this.instance.config.disable_web_experiments&&!i)return e([]);const s=this.instance.get_property("$web_experiments");if(s&&!t)return e(s);this.instance._send_request({url:this.instance.requestRouter.endpointFor("api",`/api/web_experiments/?token=${this.instance.config.token}`),method:"GET",transport:"XHR",callback:t=>{if(200!==t.statusCode||!t.json)return e([]);const i=t.json.experiments||[];return e(i)}})}showPreviewWebExperiment(e,t,i){const s=i.filter((t=>t.id===e));s&&s.length>0&&(Gn.logInfo(`Previewing web experiment [${s[0].name}] with variant [${t}]`),this.applyTransforms(s[0].name,t,s[0].variants[t].transforms,!0))}static matchesTestVariant(e){return!I(e.conditions)&&(Gn.matchUrlConditions(e)&&Gn.matchUTMConditions(e))}static matchUrlConditions(e){var t;if(I(e.conditions)||I(null===(t=e.conditions)||void 0===t?void 0:t.url))return!0;const i=Gn.getWindowLocation();if(i){var s,n,r;return null===(s=e.conditions)||void 0===s||!s.url||Vn[null!==(n=null===(r=e.conditions)||void 0===r?void 0:r.urlMatchType)&&void 0!==n?n:"icontains"](e.conditions.url,i)}return!1}static getWindowLocation(){return null==e?void 0:e.location}static matchUTMConditions(e){var t;if(I(e.conditions)||I(null===(t=e.conditions)||void 0===t?void 0:t.utm))return!0;const i=oi.campaignParams();if(i.utm_source){var s,n,r,o,a,l,c,u,d,h,p,g,_,f,v,m;const t=null===(s=e.conditions)||void 0===s||null===(n=s.utm)||void 0===n||!n.utm_campaign||(null===(r=e.conditions)||void 0===r||null===(o=r.utm)||void 0===o?void 0:o.utm_campaign)==i.utm_campaign,b=null===(a=e.conditions)||void 0===a||null===(l=a.utm)||void 0===l||!l.utm_source||(null===(c=e.conditions)||void 0===c||null===(u=c.utm)||void 0===u?void 0:u.utm_source)==i.utm_source,y=null===(d=e.conditions)||void 0===d||null===(h=d.utm)||void 0===h||!h.utm_medium||(null===(p=e.conditions)||void 0===p||null===(g=p.utm)||void 0===g?void 0:g.utm_medium)==i.utm_medium,w=null===(_=e.conditions)||void 0===_||null===(f=_.utm)||void 0===f||!f.utm_term||(null===(v=e.conditions)||void 0===v||null===(m=v.utm)||void 0===m?void 0:m.utm_term)==i.utm_term;return t&&y&&w&&b}return!1}static logInfo(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s{if(i.selector){var n;Gn.logInfo(`applying transform of variant ${t} for experiment ${e} `,i);let o=0;const a=null===(n=document)||void 0===n?void 0:n.querySelectorAll(i.selector);var r;if(null==a||a.forEach((e=>{const t=e;o+=1,i.attributes&&i.attributes.forEach((e=>{switch(e.name){case"text":t.innerText=e.value;break;case"html":t.innerHTML=e.value;break;case"cssClass":t.className=e.value;break;default:t.setAttribute(e.name,e.value)}})),i.text&&(t.innerText=i.text),i.html&&(t.parentElement?t.parentElement.innerHTML=i.html:t.innerHTML=i.html),i.css&&t.setAttribute("style",i.css)})),this.instance&&this.instance.capture)this.instance.capture("$web_experiment_applied",{$web_experiment_name:e,$web_experiment_variant:t,$web_experiment_preview:s,$web_experiment_document_url:null===(r=Gn.getWindowLocation())||void 0===r?void 0:r.href,$web_experiment_elements_modified:o})}})):(Gn.logInfo("Control variants leave the page unmodified."),this.instance&&this.instance.capture&&this.instance.capture("$web_experiment_applied",{$web_experiment_name:e,$web_experiment_preview:s,$web_experiment_variant:t,$web_experiment_document_url:null===(n=Gn.getWindowLocation())||void 0===n?void 0:n.href,$web_experiment_elements_modified:0}))}_is_bot(){return r&&this.instance?Pn(r,this.instance.config.custom_blocked_useragents):void 0}}const jn="/e/";class Qn{constructor(e){var t;this.instance=e,this._endpointSuffix=(null===(t=this.instance.persistence)||void 0===t?void 0:t.props[ie])||jn}get endpoint(){return this.instance.requestRouter.endpointFor("api",this._endpointSuffix)}afterDecideResponse(e){const t=e.autocaptureExceptions;this._endpointSuffix=y(t)&&t.endpoint||jn,this.instance.persistence&&this.instance.persistence.register({[ie]:this._endpointSuffix})}sendExceptionEvent(e){this.instance.capture("$exception",e,{_noTruncate:!0,_batchKey:"exceptionEvent",_url:this.endpoint})}}const Jn={},Yn=()=>{},Xn="posthog";let Kn=!Qs&&-1===(null==d?void 0:d.indexOf("MSIE"))&&-1===(null==d?void 0:d.indexOf("Mozilla"));const Zn=()=>{var t;return{api_host:"https://us.i.posthog.com",ui_host:null,token:"",autocapture:!0,rageclick:!0,cross_subdomain_cookie:j(null==o?void 0:o.location),persistence:"localStorage+cookie",persistence_name:"",loaded:Yn,store_google:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageview:!0,capture_pageleave:"if_capture_pageview",debug:a&&E(null==a?void 0:a.search)&&-1!==a.search.indexOf("__posthog_debug=true")||!1,verbose:!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,enable_recording_console_log:void 0,secure_cookie:"https:"===(null==e||null===(t=e.location)||void 0===t?void 0:t.protocol),ip:!0,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},inapp_protocol:"//",inapp_link_new_window:!1,request_batching:!0,properties_string_max_length:65535,session_recording:{},mask_all_element_attributes:!1,mask_all_text:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,on_request_error:e=>{const t="Bad HTTP status: "+e.statusCode+" "+e.text;T.error(t)},get_device_id:e=>e,_onCapture:Yn,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:"identified_only",__add_tracing_headers:!1}},er=e=>{const t={};S(e.process_person)||(t.person_profiles=e.process_person),S(e.xhr_headers)||(t.request_headers=e.xhr_headers),S(e.cookie_name)||(t.persistence_name=e.cookie_name),S(e.disable_cookie)||(t.disable_persistence=e.disable_cookie);const i=D({},t,e);return m(e.property_blacklist)&&(S(e.property_denylist)?i.property_denylist=e.property_blacklist:m(e.property_denylist)?i.property_denylist=[...e.property_blacklist,...e.property_denylist]:T.error("Invalid value for property_denylist config: "+e.property_denylist)),i};class tr{get _forceAllowLocalhost(){return this.__forceAllowLocalhost}set _forceAllowLocalhost(e){T.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=e}__forceAllowLocalhost=!1}class ir{webPerformance=new tr;version=p.LIB_VERSION;_internalEventEmitter=new mn;constructor(){this.config=Zn(),this.decideEndpointWasHit=!1,this.SentryIntegration=dn,this.sentryIntegration=e=>function(e,t){const i=un(e,t);return{name:cn,processEvent:e=>i(e)}}(this,e),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this._initialPageviewCaptured=!1,this._initialPersonProfilesConfig=null,this.featureFlags=new Le(this),this.toolbar=new Gs(this),this.scrollManager=new Mn(this),this.pageViewManager=new pn(this),this.surveys=new En(this),this.experiments=new Gn(this),this.exceptions=new Qn(this),this.rateLimiter=new xn(this),this.requestRouter=new ln(this),this.consent=new Nn(this),this.people={set:(e,t,i)=>{const s=E(e)?{[e]:t}:e;this.setPersonProperties(s),null==i||i({})},set_once:(e,t,i)=>{const s=E(e)?{[e]:t}:e;this.setPersonProperties(void 0,s),null==i||i({})}},this.on("eventCaptured",(e=>T.info(`send "${null==e?void 0:e.event}"`,e)))}init(e,t,i){if(i&&i!==Xn){var s;const n=null!==(s=Jn[i])&&void 0!==s?s:new ir;return n._init(e,t,i),Jn[i]=n,Jn[Xn][i]=n,n}return this._init(e,t,i)}_init(t){var i,s;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;if(S(t)||x(t))return T.critical("PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()"),this;if(this.__loaded)return T.warn("You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config={},this._triggered_notifs=[],n.person_profiles&&(this._initialPersonProfilesConfig=n.person_profiles),this.set_config(D({},Zn(),er(n),{name:r,token:t})),this.config.on_xhr_error&&T.error("[posthog] on_xhr_error is deprecated. Use on_request_error instead"),this.compression=n.disable_compression?void 0:J.GZipJS,this.persistence=new li(this.config),this.sessionPersistence="sessionStorage"===this.config.persistence?this.persistence:new li({...this.config,persistence:"sessionStorage"});const o={...this.persistence.props},a={...this.sessionPersistence.props};if(this._requestQueue=new js((e=>this._send_retriable_request(e))),this._retryQueue=new sn(this),this.__request_queue=[],this.sessionManager=new rn(this.config,this.persistence),this.sessionPropsManager=new In(this.sessionManager,this.persistence),new Dn(this).startIfEnabledOrStop(),this.sessionRecording=new Hs(this),this.sessionRecording.startIfEnabledOrStop(),this.config.disable_scroll_properties||this.scrollManager.startMeasuringScrollPosition(),this.autocapture=new On(this),this.autocapture.startIfEnabled(),this.surveys.loadIfEnabled(),this.heatmaps=new Cn(this),this.heatmaps.startIfEnabled(),this.webVitalsAutocapture=new zn(this),this.exceptionObserver=new Hn(this),this.exceptionObserver.startIfEnabled(),p.DEBUG=p.DEBUG||this.config.debug,p.DEBUG&&T.info("Starting in debug mode",{this:this,config:n,thisC:{...this.config},p:o,s:a}),this._sync_opt_out_with_persistence(),void 0!==(null===(i=n.bootstrap)||void 0===i?void 0:i.distinctID)){var l,c;const e=this.config.get_device_id(Ue()),t=null!==(l=n.bootstrap)&&void 0!==l&&l.isIdentifiedID?e:n.bootstrap.distinctID;this.persistence.set_property(Se,null!==(c=n.bootstrap)&&void 0!==c&&c.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:n.bootstrap.distinctID,$device_id:t})}if(this._hasBootstrappedFeatureFlags()){var u,d;const e=Object.keys((null===(u=n.bootstrap)||void 0===u?void 0:u.featureFlags)||{}).filter((e=>{var t,i;return!(null===(t=n.bootstrap)||void 0===t||null===(i=t.featureFlags)||void 0===i||!i[e])})).reduce(((e,t)=>{var i,s;return e[t]=(null===(i=n.bootstrap)||void 0===i||null===(s=i.featureFlags)||void 0===s?void 0:s[t])||!1,e}),{}),t=Object.keys((null===(d=n.bootstrap)||void 0===d?void 0:d.featureFlagPayloads)||{}).filter((t=>e[t])).reduce(((e,t)=>{var i,s,r,o;null!==(i=n.bootstrap)&&void 0!==i&&null!==(s=i.featureFlagPayloads)&&void 0!==s&&s[t]&&(e[t]=null===(r=n.bootstrap)||void 0===r||null===(o=r.featureFlagPayloads)||void 0===o?void 0:o[t]);return e}),{});this.featureFlags.receivedFeatureFlags({featureFlags:e,featureFlagPayloads:t})}if(!this.get_distinct_id()){const e=this.config.get_device_id(Ue());this.register_once({distinct_id:e,$device_id:e},""),this.persistence.set_property(Se,"anonymous")}return null==e||null===(s=e.addEventListener)||void 0===s||s.call(e,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this)),this.toolbar.maybeLoadToolbar(),n.segment?hn(this,(()=>this._loaded())):this._loaded(),b(this.config._onCapture)&&this.on("eventCaptured",(e=>this.config._onCapture(e.event,e))),this}_afterDecideResponse(e){var t,i,s,n,r,o,a,l,c;this.compression=void 0,e.supportedCompression&&!this.config.disable_compression&&(this.compression=q(e.supportedCompression,J.GZipJS)?J.GZipJS:q(e.supportedCompression,J.Base64)?J.Base64:void 0),null!==(t=e.analytics)&&void 0!==t&&t.endpoint&&(this.analyticsDefaultEndpoint=e.analytics.endpoint),this.set_config({person_profiles:this._initialPersonProfilesConfig?this._initialPersonProfilesConfig:e.defaultIdentifiedOnly?"identified_only":"always"}),null===(i=this.sessionRecording)||void 0===i||i.afterDecideResponse(e),null===(s=this.autocapture)||void 0===s||s.afterDecideResponse(e),null===(n=this.heatmaps)||void 0===n||n.afterDecideResponse(e),null===(r=this.experiments)||void 0===r||r.afterDecideResponse(e),null===(o=this.surveys)||void 0===o||o.afterDecideResponse(e),null===(a=this.webVitalsAutocapture)||void 0===a||a.afterDecideResponse(e),null===(l=this.exceptions)||void 0===l||l.afterDecideResponse(e),null===(c=this.exceptionObserver)||void 0===c||c.afterDecideResponse(e)}_loaded(){const e=this.config.advanced_disable_decide;e||this.featureFlags.setReloadingPaused(!0);try{this.config.loaded(this)}catch(e){T.critical("`loaded` function failed",e)}this._start_queue_if_opted_in(),this.config.capture_pageview&&setTimeout((()=>{this.consent.isOptedIn()&&this._captureInitialPageview()}),1),e||(new Us(this).call(),this.featureFlags.resetRequestQueue())}_start_queue_if_opted_in(){var e;this.has_opted_out_capturing()||this.config.request_batching&&(null===(e=this._requestQueue)||void 0===e||e.enable())}_dom_loaded(){this.has_opted_out_capturing()||L(this.__request_queue,(e=>this._send_retriable_request(e))),this.__request_queue=[],this._start_queue_if_opted_in()}_handle_unload(){var e,t;this.config.request_batching?(this._shouldCapturePageleave()&&this.capture("$pageleave"),null===(e=this._requestQueue)||void 0===e||e.unload(),null===(t=this._retryQueue)||void 0===t||t.unload()):this._shouldCapturePageleave()&&this.capture("$pageleave",null,{transport:"sendBeacon"})}_send_request(e){this.__loaded&&(Kn?this.__request_queue.push(e):this.rateLimiter.isServerRateLimited(e.batchKey)||(e.transport=e.transport||this.config.api_transport,e.url=Ys(e.url,{ip:this.config.ip?1:0}),e.headers={...this.config.request_headers},e.compression="best-available"===e.compression?this.compression:e.compression,(e=>{var t,i,s;const n={...e};n.timeout=n.timeout||6e4,n.url=Ys(n.url,{_:(new Date).getTime().toString(),ver:p.LIB_VERSION,compression:n.compression});const r=null!==(t=n.transport)&&void 0!==t?t:"XHR",o=null!==(i=null===(s=Q(tn,(e=>e.transport===r)))||void 0===s?void 0:s.method)&&void 0!==i?i:tn[0].method;if(!o)throw new Error("No available transport method");o(n)})({...e,callback:t=>{var i,s,n;(this.rateLimiter.checkForLimiting(t),t.statusCode>=400)&&(null===(s=(n=this.config).on_request_error)||void 0===s||s.call(n,t));null===(i=e.callback)||void 0===i||i.call(e,t)}})))}_send_retriable_request(e){this._retryQueue?this._retryQueue.retriableRequest(e):this._send_request(e)}_execute_array(e){let t;const i=[],s=[],n=[];L(e,(e=>{e&&(t=e[0],m(t)?n.push(e):b(e)?e.call(this):m(e)&&"alias"===t?i.push(e):m(e)&&-1!==t.indexOf("capture")&&b(this[t])?n.push(e):s.push(e))}));const r=function(e,t){L(e,(function(e){if(m(e[0])){let i=t;O(e,(function(e){i=i[e[0]].apply(i,e.slice(1))}))}else this[e[0]].apply(this,e.slice(1))}),t)};r(i,this),r(s,this),r(n,this)}_hasBootstrappedFeatureFlags(){var e,t;return(null===(e=this.config.bootstrap)||void 0===e?void 0:e.featureFlags)&&Object.keys(null===(t=this.config.bootstrap)||void 0===t?void 0:t.featureFlags).length>0||!1}push(e){this._execute_array([e])}capture(e,t,i){var s;if(!(this.__loaded&&this.persistence&&this.sessionPersistence&&this._requestQueue))return void T.uninitializedWarning("posthog.capture");if(this.consent.isOptedOut())return;if(S(e)||!E(e))return void T.error("No event name provided to posthog.capture");if(!this.config.opt_out_useragent_filter&&this._is_bot())return;const n=null!=i&&i.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(null!=n&&n.isRateLimited)return void T.critical("This capture call is ignored due to client rate limiting.");this.sessionPersistence.update_search_keyword(),this.config.store_google&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.store_google||this.config.save_referrer)&&this.persistence.set_initial_person_info();const r=new Date,o=(null==i?void 0:i.timestamp)||r;let a={uuid:Ue(),event:e,properties:this._calculate_event_properties(e,t||{},o)};n&&(a.properties.$lib_rate_limit_remaining_tokens=n.remainingTokens);(null==i?void 0:i.$set)&&(a.$set=null==i?void 0:i.$set);const l=this._calculate_set_once_properties(null==i?void 0:i.$set_once);l&&(a.$set_once=l),a=z(a,null!=i&&i._noTruncate?null:this.config.properties_string_max_length),a.timestamp=o,S(null==i?void 0:i.timestamp)||(a.properties.$event_time_override_provided=!0,a.properties.$event_time_override_system_time=r);const c={...a.properties.$set,...a.$set};w(c)||this.setPersonPropertiesForFlags(c),this._internalEventEmitter.emit("eventCaptured",a);const u={method:"POST",url:null!==(s=null==i?void 0:i._url)&&void 0!==s?s:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),data:a,compression:"best-available",batchKey:null==i?void 0:i._batchKey};return!this.config.request_batching||i&&(null==i||!i._batchKey)||null!=i&&i.send_instantly?this._send_retriable_request(u):this._requestQueue.enqueue(u),a}_addCaptureHook(e){return this.on("eventCaptured",(t=>e(t.event,t)))}_calculate_event_properties(e,t,i){if(i=i||new Date,!this.persistence||!this.sessionPersistence)return t;const s=this.persistence.remove_event_timer(e);let n={...t};if(n.token=this.config.token,"$snapshot"===e){const e={...this.persistence.properties(),...this.sessionPersistence.properties()};return n.distinct_id=e.distinct_id,(!E(n.distinct_id)&&!F(n.distinct_id)||x(n.distinct_id))&&T.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),n}const r=oi.properties();if(this.sessionManager){const{sessionId:e,windowId:t}=this.sessionManager.checkAndGetSessionAndWindowId();n.$session_id=e,n.$window_id=t}if(this.requestRouter.region===on.CUSTOM&&(n.$lib_custom_api_host=this.config.api_host),this.sessionPropsManager&&this.config.__preview_send_client_session_params&&("$pageview"===e||"$pageleave"===e||"$autocapture"===e)){const e=this.sessionPropsManager.getSessionProps();n=D(n,e)}if(!this.config.disable_scroll_properties){let t={};"$pageview"===e?t=this.pageViewManager.doPageView(i):"$pageleave"===e&&(t=this.pageViewManager.doPageLeave(i)),n=D(n,t)}if("$pageview"===e&&o&&(n.title=o.title),!S(s)){const e=i.getTime()-s;n.$duration=parseFloat((e/1e3).toFixed(3))}d&&this.config.opt_out_useragent_filter&&(n.$browser_type=this._is_bot()?"bot":"browser"),n=D({},r,this.persistence.properties(),this.sessionPersistence.properties(),n),n.$is_identified=this._isIdentified(),m(this.config.property_denylist)?O(this.config.property_denylist,(function(e){delete n[e]})):T.error("Invalid value for property_denylist config: "+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);const a=this.config.sanitize_properties;a&&(n=a(n,e));const l=this._hasPersonProcessing();return n.$process_person_profile=l,l&&this._requirePersonProcessing("_calculate_event_properties"),n}_calculate_set_once_properties(e){if(!this.persistence||!this._hasPersonProcessing())return e;let t=D({},this.persistence.get_initial_props(),e||{});const i=this.config.sanitize_properties;return i&&(t=i(t,"$set_once")),w(t)?void 0:t}register(e,t){var i;null===(i=this.persistence)||void 0===i||i.register(e,t)}register_once(e,t,i){var s;null===(s=this.persistence)||void 0===s||s.register_once(e,t,i)}register_for_session(e){var t;null===(t=this.sessionPersistence)||void 0===t||t.register(e)}unregister(e){var t;null===(t=this.persistence)||void 0===t||t.unregister(e)}unregister_for_session(e){var t;null===(t=this.sessionPersistence)||void 0===t||t.unregister(e)}_register_single(e,t){this.register({[e]:t})}getFeatureFlag(e,t){return this.featureFlags.getFeatureFlag(e,t)}getFeatureFlagPayload(e){const t=this.featureFlags.getFeatureFlagPayload(e);try{return JSON.parse(t)}catch{return t}}isFeatureEnabled(e,t){return this.featureFlags.isFeatureEnabled(e,t)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateEarlyAccessFeatureEnrollment(e,t){this.featureFlags.updateEarlyAccessFeatureEnrollment(e,t)}getEarlyAccessFeatures(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.featureFlags.getEarlyAccessFeatures(e,t)}on(e,t){return this._internalEventEmitter.on(e,t)}onFeatureFlags(e){return this.featureFlags.onFeatureFlags(e)}onSessionId(e){var t,i;return null!==(t=null===(i=this.sessionManager)||void 0===i?void 0:i.onSessionId(e))&&void 0!==t?t:()=>{}}getSurveys(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.surveys.getSurveys(e,t)}getActiveMatchingSurveys(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.surveys.getActiveMatchingSurveys(e,t)}renderSurvey(e,t){this.surveys.renderSurvey(e,t)}canRenderSurvey(e){this.surveys.canRenderSurvey(e)}getNextSurveyStep(e,t,i){return this.surveys.getNextSurveyStep(e,t,i)}identify(e,t,i){if(!this.__loaded||!this.persistence)return T.uninitializedWarning("posthog.identify");if(F(e)&&(e=e.toString(),T.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),!e)return void T.error("Unique user id has not been set in posthog.identify");if(["distinct_id","distinctid"].includes(e.toLowerCase()))return void T.critical(`The string "${e}" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.`);if(!this._requirePersonProcessing("posthog.identify"))return;const s=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property("$device_id")){const e=s;this.register_once({$had_persisted_distinct_id:!0,$device_id:e},"")}e!==s&&e!==this.get_property(X)&&(this.unregister(X),this.register({distinct_id:e}));const n="anonymous"===(this.persistence.get_property(Se)||"anonymous");e!==s&&n?(this.persistence.set_property(Se,"identified"),this.setPersonPropertiesForFlags(t||{},!1),this.capture("$identify",{distinct_id:e,$anon_distinct_id:s},{$set:t||{},$set_once:i||{}}),this.featureFlags.setAnonymousDistinctId(s)):(t||i)&&this.setPersonProperties(t,i),e!==s&&(this.reloadFeatureFlags(),this.unregister(we))}setPersonProperties(e,t){(e||t)&&this._requirePersonProcessing("posthog.setPersonProperties")&&(this.setPersonPropertiesForFlags(e||{}),this.capture("$set",{$set:e||{},$set_once:t||{}}))}group(e,t,i){if(!e||!t)return void T.error("posthog.group requires a group type and group key");if(!this._requirePersonProcessing("posthog.group"))return;const s=this.getGroups();s[e]!==t&&this.resetGroupPropertiesForFlags(e),this.register({$groups:{...s,[e]:t}}),i&&(this.capture("$groupidentify",{$group_type:e,$group_key:t,$group_set:i}),this.setGroupPropertiesForFlags({[e]:i})),s[e]===t||i||this.reloadFeatureFlags()}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._requirePersonProcessing("posthog.setPersonPropertiesForFlags")&&this.featureFlags.setPersonPropertiesForFlags(e,t)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._requirePersonProcessing("posthog.setGroupPropertiesForFlags")&&this.featureFlags.setGroupPropertiesForFlags(e,t)}resetGroupPropertiesForFlags(e){this.featureFlags.resetGroupPropertiesForFlags(e)}reset(e){var t,i,s,n;if(T.info("reset"),!this.__loaded)return T.uninitializedWarning("posthog.reset");const r=this.get_property("$device_id");this.consent.reset(),null===(t=this.persistence)||void 0===t||t.clear(),null===(i=this.sessionPersistence)||void 0===i||i.clear(),null===(s=this.persistence)||void 0===s||s.set_property(Se,"anonymous"),null===(n=this.sessionManager)||void 0===n||n.resetSessionId();const o=this.config.get_device_id(Ue());this.register_once({distinct_id:o,$device_id:e?o:r},"")}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var e,t;return null!==(e=null===(t=this.sessionManager)||void 0===t?void 0:t.checkAndGetSessionAndWindowId(!0).sessionId)&&void 0!==e?e:""}get_session_replay_url(e){if(!this.sessionManager)return"";const{sessionId:t,sessionStartTimestamp:i}=this.sessionManager.checkAndGetSessionAndWindowId(!0);let s=this.requestRouter.endpointFor("ui",`/project/${this.config.token}/replay/${t}`);if(null!=e&&e.withTimestamp&&i){var n;const t=null!==(n=e.timestampLookBack)&&void 0!==n?n:10;if(!i)return s;s+=`?t=${Math.max(Math.floor(((new Date).getTime()-i)/1e3)-t,0)}`}return s}alias(e,t){return e===this.get_property(Y)?(T.critical("Attempting to create alias for existing People user - aborting."),-2):this._requirePersonProcessing("posthog.alias")?(S(t)&&(t=this.get_distinct_id()),e!==t?(this._register_single(X,e),this.capture("$create_alias",{alias:e,distinct_id:t})):(T.warn("alias matches current distinct_id - skipping api call."),this.identify(e),-1)):void 0}set_config(e){const t={...this.config};var i,s,n,r;y(e)&&(D(this.config,er(e)),null===(i=this.persistence)||void 0===i||i.update_config(this.config,t),this.sessionPersistence="sessionStorage"===this.config.persistence?this.persistence:new li({...this.config,persistence:"sessionStorage"}),Ye.is_supported()&&"true"===Ye.get("ph_debug")&&(this.config.debug=!0),this.config.debug&&(p.DEBUG=!0,T.info("set_config",{config:e,oldConfig:t,newConfig:{...this.config}})),null===(s=this.sessionRecording)||void 0===s||s.startIfEnabledOrStop(),null===(n=this.autocapture)||void 0===n||n.startIfEnabled(),null===(r=this.heatmaps)||void 0===r||r.startIfEnabled(),this.surveys.loadIfEnabled(),this._sync_opt_out_with_persistence())}startSessionRecording(e){const t=R(e)&&e;if(t||null!=e&&e.sampling||null!=e&&e.linked_flag){var i;const r=null===(i=this.sessionManager)||void 0===i?void 0:i.checkAndGetSessionAndWindowId();var s,n;if(t||null!=e&&e.sampling)null===(s=this.sessionRecording)||void 0===s||s.overrideSampling(),T.info("Session recording started with sampling override for session: ",null==r?void 0:r.sessionId);if(t||null!=e&&e.linked_flag)null===(n=this.sessionRecording)||void 0===n||n.overrideLinkedFlag(),T.info("Session recording started with linked_flags override")}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var e;return!(null===(e=this.sessionRecording)||void 0===e||!e.started)}captureException(e,t){var i;const s=new Error("PostHog syntheticException"),n=b(null===(i=h.__PosthogExtensions__)||void 0===i?void 0:i.parseErrorAsProperties)?h.__PosthogExtensions__.parseErrorAsProperties([e.message,void 0,void 0,void 0,e],{syntheticException:s}):{$exception_level:"error",$exception_list:[{type:e.name,value:e.message,mechanism:{handled:!0,synthetic:!1}}],...t};this.exceptions.sendExceptionEvent(n)}loadToolbar(e){return this.toolbar.loadToolbar(e)}get_property(e){var t;return null===(t=this.persistence)||void 0===t?void 0:t.props[e]}getSessionProperty(e){var t;return null===(t=this.sessionPersistence)||void 0===t?void 0:t.props[e]}toString(){var e;let t=null!==(e=this.config.name)&&void 0!==e?e:Xn;return t!==Xn&&(t=Xn+"."+t),t}_isIdentified(){var e,t;return"identified"===(null===(e=this.persistence)||void 0===e?void 0:e.get_property(Se))||"identified"===(null===(t=this.sessionPersistence)||void 0===t?void 0:t.get_property(Se))}_hasPersonProcessing(){var e,t,i,s;return!("never"===this.config.person_profiles||"identified_only"===this.config.person_profiles&&!this._isIdentified()&&w(this.getGroups())&&(null===(e=this.persistence)||void 0===e||null===(t=e.props)||void 0===t||!t[X])&&(null===(i=this.persistence)||void 0===i||null===(s=i.props)||void 0===s||!s[Re]))}_shouldCapturePageleave(){return!0===this.config.capture_pageleave||"if_capture_pageview"===this.config.capture_pageleave&&this.config.capture_pageview}createPersonProfile(){this._hasPersonProcessing()||this._requirePersonProcessing("posthog.createPersonProfile")&&this.setPersonProperties({},{})}_requirePersonProcessing(e){return"never"===this.config.person_profiles?(T.error(e+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this._register_single(Re,!0),!0)}_sync_opt_out_with_persistence(){var e,t;const i=this.consent.isOptedOut(),s=this.config.opt_out_persistence_by_default,n=this.config.disable_persistence||i&&!!s;var r,o;(null===(e=this.persistence)||void 0===e?void 0:e.disabled)!==n&&(null===(r=this.persistence)||void 0===r||r.set_disabled(n));(null===(t=this.sessionPersistence)||void 0===t?void 0:t.disabled)!==n&&(null===(o=this.sessionPersistence)||void 0===o||o.set_disabled(n))}opt_in_capturing(e){var t;(this.consent.optInOut(!0),this._sync_opt_out_with_persistence(),S(null==e?void 0:e.captureEventName)||null!=e&&e.captureEventName)&&this.capture(null!==(t=null==e?void 0:e.captureEventName)&&void 0!==t?t:"$opt_in",null==e?void 0:e.captureProperties,{send_instantly:!0});this.config.capture_pageview&&this._captureInitialPageview()}opt_out_capturing(){this.consent.optInOut(!1),this._sync_opt_out_with_persistence()}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}clear_opt_in_out_capturing(){this.consent.reset(),this._sync_opt_out_with_persistence()}_is_bot(){return r?Pn(r,this.config.custom_blocked_useragents):void 0}_captureInitialPageview(){o&&!this._initialPageviewCaptured&&(this._initialPageviewCaptured=!0,this.capture("$pageview",{title:o.title},{send_instantly:!0}))}debug(t){!1===t?(null==e||e.console.log("You've disabled debug mode."),localStorage&&localStorage.removeItem("ph_debug"),this.set_config({debug:!1})):(null==e||e.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),localStorage&&localStorage.setItem("ph_debug","true"),this.set_config({debug:!0}))}}!function(e,t){for(let i=0;i