@syntrologie/runtime-sdk 2.8.0-canary.161 → 2.8.0-canary.162

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -481,7 +481,7 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
481
481
  .runtimeRef=${this.runtimeRef}
482
482
  ></syntro-tile-stack>`:J}
483
483
  </div>
484
- `}};Ea.properties={tiles:{attribute:!1},isLoading:{type:Boolean},error:{type:String},runtimeRef:{attribute:!1}};customElements.define("syntro-inline-shell",Ea);function Ca(r,e,t="merge"){return t==="first-match"?gk(r,e):mk(r,e)}function gk(r,e){for(let t of e){let n=r.getFeatureValue?.(t,null);if(!n||typeof n!="object")continue;let i=n,s=i.tiles&&i.tiles.length>0,o=i.actions&&i.actions.length>0;if(s||o)return Em([i])}return null}function mk(r,e){let t=[];for(let n of e){let i=r.getFeatureValue?.(n,null);if(!i||typeof i!="object")continue;let s=i,o=s.tiles&&s.tiles.length>0,a=s.actions&&s.actions.length>0;(o||a)&&t.push(s)}return t.length===0?null:Em(t)}function Em(r){let e=[],t=[],n,i,s,o,a,l,c,u;for(let p of r)p.tiles&&e.push(...p.tiles),p.actions&&t.push(...p.actions),n??(n=p.fetchedAt),i??(i=p.schemaVersion),s??(s=p.configVersion),o??(o=p.canvasTitle),a??(a=p.displayMode),l??(l=p.theme),c??(c=p.launcher),u??(u=p.meta);return{tiles:e,actions:t,fetchedAt:n??new Date().toISOString(),...i&&{schemaVersion:i},...s&&{configVersion:s},...o&&{canvasTitle:o},...a&&{displayMode:a},...l&&{theme:l},...c&&{launcher:c},...u&&{meta:u}}}var gu=!1;function Cm(){if(typeof window>"u")return!1;try{return new URLSearchParams(window.location.search).get("syntro_debug")==="true"}catch{return!1}}function mu(r){if(Cm()){gu=!0;return}gu=r??!1}function vk(){return Cm()?!0:gu}function q(r,e,t){vk()&&(t!==void 0?console.log(`[${r}]`,e,t):console.log(`[${r}]`,e))}function Qe(r,e,t){t!==void 0?console.warn(`[${r}]`,e,t):console.warn(`[${r}]`,e)}function Aa(r,e,t){t!==void 0?console.error(`[${r}]`,e,t):console.error(`[${r}]`,e)}var vu="2.8.0-canary.161";var Tr="2.0";var yk=["api.syntrologie.com","cdn.syntrologie.com","localhost","127.0.0.1"];function _k(r){try{let e=new URL(r),t=/^(localhost|127\.0\.0\.1)$/.test(e.hostname);return e.protocol!=="https:"&&!t?(console.warn("[SmartCanvas] Config URI must use HTTPS:",r),!1):yk.some(i=>e.hostname===i)?!0:(console.warn("[SmartCanvas] Config URI host not in allowlist:",e.hostname),!1)}catch{return console.warn("[SmartCanvas] Invalid config URI:",r),!1}}function bk(r){if(typeof window>"u")return!1;try{return new URL(r).origin===window.location.origin}catch{return!1}}var Am="syntro_config_cache",xk=1440*60*1e3;function Rm(){try{return typeof localStorage<"u"&&localStorage!==null}catch{return!1}}function wk(r,e){if(Rm())try{let t={config:r,timestamp:Date.now(),sdkVersion:e};localStorage.setItem(Am,JSON.stringify(t))}catch{}}function Sk(r){if(!Rm())return null;try{let e=localStorage.getItem(Am);if(!e)return null;let t=JSON.parse(e);return!t.config||typeof t.timestamp!="number"||!t.sdkVersion||t.sdkVersion!==r||Date.now()-t.timestamp>xk?null:t.config}catch{return null}}var yu=({configUri:r,experiments:e,featureKey:t})=>{if(r)return r;if(e&&t){let n=e.getFeatureValue?.(t,null);if(n)return n}};function kk(r,e,t){if(e){let n=r.getFeatureValue?.(e,null);if(n&&typeof n=="object"){let i=n.variant_flags;if(i&&i.length>0)return i}}if(r.getAllFeatures){let n=r.getAllFeatures();return t?Object.keys(n).filter(i=>i.startsWith(t)):Object.keys(n)}return[]}var ni=({configUri:r,experiments:e,featureKey:t,credentials:n,configFeatureKey:i,manifestKey:s,variantFlagPrefix:o,sdkVersion:a})=>async()=>{if(e&&i){let u=e.getFeatureValue?.(i,null);if(u&&typeof u=="object")return q("SmartCanvas Config","Resolved config directly from feature flag",u),u}if(e&&(s||o||e.getAllFeatures)){let u=kk(e,s,o);if(u.length>0){let p=Ca(e,u);if(p)return q("SmartCanvas Config","Resolved config from variant flags",p),p}}let l=yu({configUri:r,experiments:e,featureKey:t});if(!l)return q("SmartCanvas Config","No config available \u2014 returning empty config"),{tiles:[],actions:[],fetchedAt:new Date().toISOString()};if(!_k(l))throw new Error(`SmartCanvas: config URI not allowed: ${l}`);let c=n??(bk(l)?"include":"omit");try{let u=await fetch(l,{credentials:c,headers:{"X-SDK-Version":vu,"X-SDK-Schema-Version":Tr}});if(!u.ok)throw new Error(`SmartCanvas: failed to fetch config (${u.status})`);let p=await u.json();return q("SmartCanvas Config","Fetched config from URI",p),a&&wk(p,a),p}catch(u){if(a){let p=Sk(a);if(p)return q("SmartCanvas Config","Serving config from offline cache"),p}throw u}};var _u=class{constructor(e){this.listeners=new Set;let t=e?.open??!1;if(e?.open===void 0)try{let n=sessionStorage?.getItem("syntro:editor:panel-open");n!==null&&(t=JSON.parse(n))}catch{}this.state={open:t}}getState(){return this.state}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOpen(e){if(this.state.open!==e){this.state={...this.state,open:e};try{sessionStorage?.setItem("syntro:editor:panel-open",JSON.stringify(e))}catch{}this.emit()}}toggle(){this.setOpen(!this.state.open)}emit(){for(let e of this.listeners)e(this.state)}},Tm=r=>new _u(r);function se(r,e){return`${r}${Math.round(e*255).toString(16).padStart(2,"0")}`}var z2={colorPrimary:ne[3],colorPrimaryHover:ne[4],colorPrimaryMuted:ne[0],colorBackground:se(k[1],.95),colorBackgroundElevated:se(k[3],.95),colorBackgroundSubtle:se(k[0],.2),colorSurface:se(k[4],.8),colorSurfaceHover:se(k[5],.8),colorText:ct.primary,colorTextSecondary:ct.secondary,colorTextMuted:ct.tertiary,colorTextInverse:k[1],colorBorder:sc.primary,colorBorderSubtle:sc.secondary,colorSuccess:we[4],colorSuccessMuted:we[0],colorWarning:je[4],colorWarningMuted:je[0],colorError:Te[4],colorErrorMuted:Te[0],colorInfo:lt[4],colorInfoMuted:lt[0],colorNotification:ne[4],colorNotificationMuted:se(ne[4],.4),glassBackground:se(k[1],.6),glassBackgroundHover:se(k[1],.7),glassBorder:"rgba(255, 255, 255, 0.08)",glassBlur:"blur(24px)",glassSaturate:"saturate(1.2)",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",fontFamilyMono:"'SF Mono', 'Fira Code', Consolas, monospace",fontSizeXs:"0.7rem",fontSizeSm:"0.8rem",fontSizeMd:"0.9rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontSizeXxl:"1.5rem",fontWeightNormal:"400",fontWeightMedium:"500",fontWeightSemibold:"600",fontWeightBold:"700",lineHeightTight:"1.25",lineHeightNormal:"1.5",lineHeightRelaxed:"1.75",spacingXs:"0.25rem",spacingSm:"0.5rem",spacingMd:"0.75rem",spacingLg:"1rem",spacingXl:"1.5rem",borderRadiusSm:"6px",borderRadiusMd:"10px",borderRadiusLg:"14px",borderRadiusXl:"20px",borderRadiusFull:"9999px",shadowSm:"0 1px 2px rgba(0, 0, 0, 0.2)",shadowMd:"0 2px 12px rgba(0, 0, 0, 0.3)",shadowLg:"0 8px 24px rgba(0, 0, 0, 0.4)",shadowXl:"0 16px 48px rgba(0, 0, 0, 0.5)",backdropBlur:"blur(20px)",backdropSaturate:"saturate(180%)",transitionFast:"0.1s ease",transitionNormal:"0.25s ease",transitionSlow:"0.4s ease"},q2={colorPrimary:ne[3],colorPrimaryHover:ne[2],colorPrimaryMuted:se(ne[5],.1),colorBackground:se(k[12],.95),colorBackgroundElevated:se(k[11],.95),colorBackgroundSubtle:se(k[0],.02),colorSurface:se(k[11],.6),colorSurfaceHover:se(k[10],.6),colorText:k[1],colorTextSecondary:k[6],colorTextMuted:k[8],colorTextInverse:k[12],colorBorder:se(k[0],.12),colorBorderSubtle:se(k[0],.06),colorSuccess:we[4],colorSuccessMuted:se(we[4],.12),colorWarning:je[4],colorWarningMuted:se(je[4],.12),colorError:Te[4],colorErrorMuted:se(Te[4],.12),colorInfo:lt[4],colorInfoMuted:se(lt[4],.12),colorNotification:ne[3],colorNotificationMuted:se(ne[3],.4),glassBackground:se(k[12],.7),glassBackgroundHover:se(k[12],.8),glassBorder:"rgba(0, 0, 0, 0.06)",glassBlur:"blur(24px)",glassSaturate:"saturate(1.2)",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",fontFamilyMono:"'SF Mono', 'Fira Code', Consolas, monospace",fontSizeXs:"0.7rem",fontSizeSm:"0.8rem",fontSizeMd:"0.9rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontSizeXxl:"1.5rem",fontWeightNormal:"400",fontWeightMedium:"500",fontWeightSemibold:"600",fontWeightBold:"700",lineHeightTight:"1.25",lineHeightNormal:"1.5",lineHeightRelaxed:"1.75",spacingXs:"0.25rem",spacingSm:"0.5rem",spacingMd:"0.75rem",spacingLg:"1rem",spacingXl:"1.5rem",borderRadiusSm:"6px",borderRadiusMd:"10px",borderRadiusLg:"14px",borderRadiusXl:"20px",borderRadiusFull:"9999px",shadowSm:"0 1px 2px rgba(0, 0, 0, 0.08)",shadowMd:"0 2px 12px rgba(0, 0, 0, 0.12)",shadowLg:"0 8px 24px rgba(0, 0, 0, 0.16)",shadowXl:"0 16px 48px rgba(0, 0, 0, 0.2)",backdropBlur:"blur(20px)",backdropSaturate:"saturate(180%)",transitionFast:"0.1s ease",transitionNormal:"0.25s ease",transitionSlow:"0.4s ease"};function Ek(r){return r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var Im={mode:"dark",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",colorPrimary:ne[3],colorPrimaryHover:ne[4],borderRadius:"12px",canvas:{position:"right",layout:"overlay",background:se(k[1],.6),blur:"blur(24px)",border:"none",width:"clamp(380px, 25vw, 520px)",transitionDuration:"300ms",transitionEasing:"cubic-bezier(0.16, 1, 0.3, 1)",transitionFade:"6%",padding:"0"},launcher:{background:To.primary.backgroundDefault,backgroundHover:To.primary.backgroundHover,color:To.primary.icon,size:"56px",shadow:`0 8px 32px ${se(k[0],.6)}`,borderRadius:"9999px"},tile:{background:se(k[1],.6),backgroundHover:se(k[1],.7),border:"1px solid rgba(255, 255, 255, 0.08)",borderRadius:"14px",shadow:"0 2px 12px rgba(0, 0, 0, 0.3)",titleColor:ct.primary,textColor:ct.secondary,iconBackground:`linear-gradient(135deg, ${ne[3]} 0%, ${ne[3]}cc 100%)`,iconShadow:`0 2px 8px ${ne[3]}40`,headerPadding:"0.375rem 0.75rem",bodyPadding:"0 0.75rem 0.5rem",gap:"0.25rem"},overlay:{background:se(k[1],.6),textColor:ct.primary,titleColor:ct.primary,arrowColor:se(k[1],.6),arrowSize:"8px",border:"none",borderRadius:"0",scrimOpacity:"0",highlightRing:`2px solid ${ne[3]}`},notification:{background:se(k[0],.95),textColor:ct.primary,textSecondaryColor:ct.secondary,border:`1px solid ${k[5]}`,borderRadius:"12px",successColor:we[4],warningColor:je[4],errorColor:Te[4],iconBackground:se(ne[3],.15),progressGradient:`linear-gradient(90deg, ${ne[3]}, ${ne[4]})`},content:{background:se(k[3],.8),backgroundHover:se(k[5],.6),border:`1px solid ${se(k[5],.5)}`,borderRadius:"8px",textColor:ct.primary,textSecondaryColor:ct.secondary,itemDivider:"none",itemGap:"6px",itemPadding:"12px 16px",itemFontSize:"15px",bodyPadding:"0 16px 12px 16px",bodyFontSize:"14px",categoryPadding:"8px 4px 4px 4px",categoryGap:"4px",categoryFontSize:"12px",searchBackground:se(k[3],.8),searchColor:ct.primary,chevronColor:"currentColor"}},$m={mode:"light",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",colorPrimary:ne[3],colorPrimaryHover:ne[2],borderRadius:"12px",canvas:{position:"right",layout:"overlay",background:se(k[12],.7),blur:"blur(24px)",border:"none",width:"clamp(380px, 25vw, 520px)",transitionDuration:"300ms",transitionEasing:"cubic-bezier(0.16, 1, 0.3, 1)",transitionFade:"6%",padding:"0"},launcher:{background:ne[3],backgroundHover:ne[2],color:"#ffffff",size:"56px",shadow:"0 8px 32px rgba(0, 0, 0, 0.15)",borderRadius:"9999px"},tile:{background:se(k[12],.7),backgroundHover:se(k[12],.8),border:"1px solid rgba(0, 0, 0, 0.06)",borderRadius:"14px",shadow:"0 2px 12px rgba(0, 0, 0, 0.12)",titleColor:k[1],textColor:k[6],iconBackground:`linear-gradient(135deg, ${ne[3]} 0%, ${ne[3]}cc 100%)`,iconShadow:`0 2px 8px ${ne[3]}40`,headerPadding:"0.375rem 0.75rem",bodyPadding:"0 0.75rem 0.5rem",gap:"0.25rem"},overlay:{background:se(k[12],.7),textColor:k[1],titleColor:k[1],arrowColor:se(k[12],.7),arrowSize:"8px",border:"none",borderRadius:"0",scrimOpacity:"0",highlightRing:`2px solid ${ne[3]}`},notification:{background:se(k[12],.95),textColor:k[1],textSecondaryColor:k[6],border:`1px solid ${se(k[0],.12)}`,borderRadius:"12px",successColor:we[4],warningColor:je[4],errorColor:Te[4],iconBackground:se(ne[3],.1),progressGradient:`linear-gradient(90deg, ${ne[3]}, ${ne[2]})`},content:{background:se(k[12],.8),backgroundHover:se(k[11],.6),border:`1px solid ${k[11]}`,borderRadius:"8px",textColor:k[1],textSecondaryColor:k[6],itemDivider:"none",itemGap:"6px",itemPadding:"12px 16px",itemFontSize:"15px",bodyPadding:"0 16px 12px 16px",bodyFontSize:"14px",categoryPadding:"8px 4px 4px 4px",categoryGap:"4px",categoryFontSize:"12px",searchBackground:k[12],searchColor:k[1],chevronColor:"currentColor"}};function Mm(r){let e=r.mode==="light"?$m:Im;return{mode:r.mode??e.mode,fontFamily:r.fontFamily??e.fontFamily,colorPrimary:r.colorPrimary??e.colorPrimary,colorPrimaryHover:r.colorPrimaryHover??e.colorPrimaryHover,borderRadius:r.borderRadius??e.borderRadius,canvas:{...e.canvas,...r.canvas},launcher:{...e.launcher,...r.launcher},tile:{...e.tile,...r.tile},overlay:{...e.overlay,...r.overlay},notification:{...e.notification,...r.notification},content:{...e.content,...r.content}}}function Pm(r,e){let t=e.mode??r.mode??"dark",n=t==="light"?$m:Im;return{mode:t,fontFamily:e.fontFamily??r.fontFamily??n.fontFamily,colorPrimary:e.colorPrimary??r.colorPrimary??n.colorPrimary,colorPrimaryHover:e.colorPrimaryHover??r.colorPrimaryHover??n.colorPrimaryHover,borderRadius:e.borderRadius??r.borderRadius??n.borderRadius,canvas:{...n.canvas,...r.canvas,...e.canvas},launcher:{...n.launcher,...r.launcher,...e.launcher},tile:{...n.tile,...r.tile,...e.tile},overlay:{...n.overlay,...r.overlay,...e.overlay},notification:{...n.notification,...r.notification,...e.notification},content:{...n.content,...r.content,...e.content}}}var Ck=["canvas","launcher","tile","overlay","notification","content"];function Om(r){let e={};r.fontFamily&&(e["--sc-font-family"]=r.fontFamily),r.colorPrimary&&(e["--sc-color-primary"]=r.colorPrimary),r.colorPrimaryHover&&(e["--sc-color-primary-hover"]=r.colorPrimaryHover),r.borderRadius&&(e["--sc-border-radius"]=r.borderRadius);for(let t of Ck){let n=r[t];if(n)for(let[i,s]of Object.entries(n))s!==void 0&&(e[`--sc-${t}-${Ek(i)}`]=s)}return e}var Ir,kn,En,ir,sr,bu,Ra,ks=class{constructor(e,t,n){ge(this,sr);ge(this,Ir);ge(this,kn);ge(this,En);ge(this,ir);ie(this,Ir,e),ie(this,kn,t??{}),ie(this,En,n),ie(this,ir,ye(this,sr,bu).call(this)),e.addController(this)}get config(){return W(this,ir).config}get mode(){return W(this,ir).mode}get cssVariables(){return W(this,ir).cssVariables}hostConnected(){ye(this,sr,Ra).call(this)}hostDisconnected(){}hostUpdated(){ye(this,sr,Ra).call(this)}setThemeConfig(e,t){ie(this,kn,e),ie(this,En,t),ie(this,ir,ye(this,sr,bu).call(this)),ye(this,sr,Ra).call(this),W(this,Ir).requestUpdate()}};Ir=new WeakMap,kn=new WeakMap,En=new WeakMap,ir=new WeakMap,sr=new WeakSet,bu=function(){let e=W(this,En)?Pm(W(this,En),W(this,kn)):Mm(W(this,kn)),t=Om(e);return{config:e,mode:e.mode,cssVariables:t}},Ra=function(){let e=W(this,Ir).shadowRoot??("renderRoot"in W(this,Ir)?W(this,Ir).renderRoot:null);if(!e||!(e instanceof ShadowRoot))return;let t=e.querySelector("#sc-theme-vars");t||(t=document.createElement("style"),t.id="sc-theme-vars",e.insertBefore(t,e.firstChild));let n=Object.entries(W(this,ir).cssVariables).map(([i,s])=>` ${i}: ${s};`).join(`
484
+ `}};Ea.properties={tiles:{attribute:!1},isLoading:{type:Boolean},error:{type:String},runtimeRef:{attribute:!1}};customElements.define("syntro-inline-shell",Ea);function Ca(r,e,t="merge"){return t==="first-match"?gk(r,e):mk(r,e)}function gk(r,e){for(let t of e){let n=r.getFeatureValue?.(t,null);if(!n||typeof n!="object")continue;let i=n,s=i.tiles&&i.tiles.length>0,o=i.actions&&i.actions.length>0;if(s||o)return Em([i])}return null}function mk(r,e){let t=[];for(let n of e){let i=r.getFeatureValue?.(n,null);if(!i||typeof i!="object")continue;let s=i,o=s.tiles&&s.tiles.length>0,a=s.actions&&s.actions.length>0;(o||a)&&t.push(s)}return t.length===0?null:Em(t)}function Em(r){let e=[],t=[],n,i,s,o,a,l,c,u;for(let p of r)p.tiles&&e.push(...p.tiles),p.actions&&t.push(...p.actions),n??(n=p.fetchedAt),i??(i=p.schemaVersion),s??(s=p.configVersion),o??(o=p.canvasTitle),a??(a=p.displayMode),l??(l=p.theme),c??(c=p.launcher),u??(u=p.meta);return{tiles:e,actions:t,fetchedAt:n??new Date().toISOString(),...i&&{schemaVersion:i},...s&&{configVersion:s},...o&&{canvasTitle:o},...a&&{displayMode:a},...l&&{theme:l},...c&&{launcher:c},...u&&{meta:u}}}var gu=!1;function Cm(){if(typeof window>"u")return!1;try{return new URLSearchParams(window.location.search).get("syntro_debug")==="true"}catch{return!1}}function mu(r){if(Cm()){gu=!0;return}gu=r??!1}function vk(){return Cm()?!0:gu}function q(r,e,t){vk()&&(t!==void 0?console.log(`[${r}]`,e,t):console.log(`[${r}]`,e))}function Qe(r,e,t){t!==void 0?console.warn(`[${r}]`,e,t):console.warn(`[${r}]`,e)}function Aa(r,e,t){t!==void 0?console.error(`[${r}]`,e,t):console.error(`[${r}]`,e)}var vu="2.8.0-canary.162";var Tr="2.0";var yk=["api.syntrologie.com","cdn.syntrologie.com","localhost","127.0.0.1"];function _k(r){try{let e=new URL(r),t=/^(localhost|127\.0\.0\.1)$/.test(e.hostname);return e.protocol!=="https:"&&!t?(console.warn("[SmartCanvas] Config URI must use HTTPS:",r),!1):yk.some(i=>e.hostname===i)?!0:(console.warn("[SmartCanvas] Config URI host not in allowlist:",e.hostname),!1)}catch{return console.warn("[SmartCanvas] Invalid config URI:",r),!1}}function bk(r){if(typeof window>"u")return!1;try{return new URL(r).origin===window.location.origin}catch{return!1}}var Am="syntro_config_cache",xk=1440*60*1e3;function Rm(){try{return typeof localStorage<"u"&&localStorage!==null}catch{return!1}}function wk(r,e){if(Rm())try{let t={config:r,timestamp:Date.now(),sdkVersion:e};localStorage.setItem(Am,JSON.stringify(t))}catch{}}function Sk(r){if(!Rm())return null;try{let e=localStorage.getItem(Am);if(!e)return null;let t=JSON.parse(e);return!t.config||typeof t.timestamp!="number"||!t.sdkVersion||t.sdkVersion!==r||Date.now()-t.timestamp>xk?null:t.config}catch{return null}}var yu=({configUri:r,experiments:e,featureKey:t})=>{if(r)return r;if(e&&t){let n=e.getFeatureValue?.(t,null);if(n)return n}};function kk(r,e,t){if(e){let n=r.getFeatureValue?.(e,null);if(n&&typeof n=="object"){let i=n.variant_flags;if(i&&i.length>0)return i}}if(r.getAllFeatures){let n=r.getAllFeatures();return t?Object.keys(n).filter(i=>i.startsWith(t)):Object.keys(n)}return[]}var ni=({configUri:r,experiments:e,featureKey:t,credentials:n,configFeatureKey:i,manifestKey:s,variantFlagPrefix:o,sdkVersion:a})=>async()=>{if(e&&i){let u=e.getFeatureValue?.(i,null);if(u&&typeof u=="object")return q("SmartCanvas Config","Resolved config directly from feature flag",u),u}if(e&&(s||o||e.getAllFeatures)){let u=kk(e,s,o);if(u.length>0){let p=Ca(e,u);if(p)return q("SmartCanvas Config","Resolved config from variant flags",p),p}}let l=yu({configUri:r,experiments:e,featureKey:t});if(!l)return q("SmartCanvas Config","No config available \u2014 returning empty config"),{tiles:[],actions:[],fetchedAt:new Date().toISOString()};if(!_k(l))throw new Error(`SmartCanvas: config URI not allowed: ${l}`);let c=n??(bk(l)?"include":"omit");try{let u=await fetch(l,{credentials:c,headers:{"X-SDK-Version":vu,"X-SDK-Schema-Version":Tr}});if(!u.ok)throw new Error(`SmartCanvas: failed to fetch config (${u.status})`);let p=await u.json();return q("SmartCanvas Config","Fetched config from URI",p),a&&wk(p,a),p}catch(u){if(a){let p=Sk(a);if(p)return q("SmartCanvas Config","Serving config from offline cache"),p}throw u}};var _u=class{constructor(e){this.listeners=new Set;let t=e?.open??!1;if(e?.open===void 0)try{let n=sessionStorage?.getItem("syntro:editor:panel-open");n!==null&&(t=JSON.parse(n))}catch{}this.state={open:t}}getState(){return this.state}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOpen(e){if(this.state.open!==e){this.state={...this.state,open:e};try{sessionStorage?.setItem("syntro:editor:panel-open",JSON.stringify(e))}catch{}this.emit()}}toggle(){this.setOpen(!this.state.open)}emit(){for(let e of this.listeners)e(this.state)}},Tm=r=>new _u(r);function se(r,e){return`${r}${Math.round(e*255).toString(16).padStart(2,"0")}`}var z2={colorPrimary:ne[3],colorPrimaryHover:ne[4],colorPrimaryMuted:ne[0],colorBackground:se(k[1],.95),colorBackgroundElevated:se(k[3],.95),colorBackgroundSubtle:se(k[0],.2),colorSurface:se(k[4],.8),colorSurfaceHover:se(k[5],.8),colorText:ct.primary,colorTextSecondary:ct.secondary,colorTextMuted:ct.tertiary,colorTextInverse:k[1],colorBorder:sc.primary,colorBorderSubtle:sc.secondary,colorSuccess:we[4],colorSuccessMuted:we[0],colorWarning:je[4],colorWarningMuted:je[0],colorError:Te[4],colorErrorMuted:Te[0],colorInfo:lt[4],colorInfoMuted:lt[0],colorNotification:ne[4],colorNotificationMuted:se(ne[4],.4),glassBackground:se(k[1],.6),glassBackgroundHover:se(k[1],.7),glassBorder:"rgba(255, 255, 255, 0.08)",glassBlur:"blur(24px)",glassSaturate:"saturate(1.2)",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",fontFamilyMono:"'SF Mono', 'Fira Code', Consolas, monospace",fontSizeXs:"0.7rem",fontSizeSm:"0.8rem",fontSizeMd:"0.9rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontSizeXxl:"1.5rem",fontWeightNormal:"400",fontWeightMedium:"500",fontWeightSemibold:"600",fontWeightBold:"700",lineHeightTight:"1.25",lineHeightNormal:"1.5",lineHeightRelaxed:"1.75",spacingXs:"0.25rem",spacingSm:"0.5rem",spacingMd:"0.75rem",spacingLg:"1rem",spacingXl:"1.5rem",borderRadiusSm:"6px",borderRadiusMd:"10px",borderRadiusLg:"14px",borderRadiusXl:"20px",borderRadiusFull:"9999px",shadowSm:"0 1px 2px rgba(0, 0, 0, 0.2)",shadowMd:"0 2px 12px rgba(0, 0, 0, 0.3)",shadowLg:"0 8px 24px rgba(0, 0, 0, 0.4)",shadowXl:"0 16px 48px rgba(0, 0, 0, 0.5)",backdropBlur:"blur(20px)",backdropSaturate:"saturate(180%)",transitionFast:"0.1s ease",transitionNormal:"0.25s ease",transitionSlow:"0.4s ease"},q2={colorPrimary:ne[3],colorPrimaryHover:ne[2],colorPrimaryMuted:se(ne[5],.1),colorBackground:se(k[12],.95),colorBackgroundElevated:se(k[11],.95),colorBackgroundSubtle:se(k[0],.02),colorSurface:se(k[11],.6),colorSurfaceHover:se(k[10],.6),colorText:k[1],colorTextSecondary:k[6],colorTextMuted:k[8],colorTextInverse:k[12],colorBorder:se(k[0],.12),colorBorderSubtle:se(k[0],.06),colorSuccess:we[4],colorSuccessMuted:se(we[4],.12),colorWarning:je[4],colorWarningMuted:se(je[4],.12),colorError:Te[4],colorErrorMuted:se(Te[4],.12),colorInfo:lt[4],colorInfoMuted:se(lt[4],.12),colorNotification:ne[3],colorNotificationMuted:se(ne[3],.4),glassBackground:se(k[12],.7),glassBackgroundHover:se(k[12],.8),glassBorder:"rgba(0, 0, 0, 0.06)",glassBlur:"blur(24px)",glassSaturate:"saturate(1.2)",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",fontFamilyMono:"'SF Mono', 'Fira Code', Consolas, monospace",fontSizeXs:"0.7rem",fontSizeSm:"0.8rem",fontSizeMd:"0.9rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontSizeXxl:"1.5rem",fontWeightNormal:"400",fontWeightMedium:"500",fontWeightSemibold:"600",fontWeightBold:"700",lineHeightTight:"1.25",lineHeightNormal:"1.5",lineHeightRelaxed:"1.75",spacingXs:"0.25rem",spacingSm:"0.5rem",spacingMd:"0.75rem",spacingLg:"1rem",spacingXl:"1.5rem",borderRadiusSm:"6px",borderRadiusMd:"10px",borderRadiusLg:"14px",borderRadiusXl:"20px",borderRadiusFull:"9999px",shadowSm:"0 1px 2px rgba(0, 0, 0, 0.08)",shadowMd:"0 2px 12px rgba(0, 0, 0, 0.12)",shadowLg:"0 8px 24px rgba(0, 0, 0, 0.16)",shadowXl:"0 16px 48px rgba(0, 0, 0, 0.2)",backdropBlur:"blur(20px)",backdropSaturate:"saturate(180%)",transitionFast:"0.1s ease",transitionNormal:"0.25s ease",transitionSlow:"0.4s ease"};function Ek(r){return r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var Im={mode:"dark",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",colorPrimary:ne[3],colorPrimaryHover:ne[4],borderRadius:"12px",canvas:{position:"right",layout:"overlay",background:se(k[1],.6),blur:"blur(24px)",border:"none",width:"clamp(380px, 25vw, 520px)",transitionDuration:"300ms",transitionEasing:"cubic-bezier(0.16, 1, 0.3, 1)",transitionFade:"6%",padding:"0"},launcher:{background:To.primary.backgroundDefault,backgroundHover:To.primary.backgroundHover,color:To.primary.icon,size:"56px",shadow:`0 8px 32px ${se(k[0],.6)}`,borderRadius:"9999px"},tile:{background:se(k[1],.6),backgroundHover:se(k[1],.7),border:"1px solid rgba(255, 255, 255, 0.08)",borderRadius:"14px",shadow:"0 2px 12px rgba(0, 0, 0, 0.3)",titleColor:ct.primary,textColor:ct.secondary,iconBackground:`linear-gradient(135deg, ${ne[3]} 0%, ${ne[3]}cc 100%)`,iconShadow:`0 2px 8px ${ne[3]}40`,headerPadding:"0.375rem 0.75rem",bodyPadding:"0 0.75rem 0.5rem",gap:"0.25rem"},overlay:{background:se(k[1],.6),textColor:ct.primary,titleColor:ct.primary,arrowColor:se(k[1],.6),arrowSize:"8px",border:"none",borderRadius:"0",scrimOpacity:"0",highlightRing:`2px solid ${ne[3]}`},notification:{background:se(k[0],.95),textColor:ct.primary,textSecondaryColor:ct.secondary,border:`1px solid ${k[5]}`,borderRadius:"12px",successColor:we[4],warningColor:je[4],errorColor:Te[4],iconBackground:se(ne[3],.15),progressGradient:`linear-gradient(90deg, ${ne[3]}, ${ne[4]})`},content:{background:se(k[3],.8),backgroundHover:se(k[5],.6),border:`1px solid ${se(k[5],.5)}`,borderRadius:"8px",textColor:ct.primary,textSecondaryColor:ct.secondary,itemDivider:"none",itemGap:"6px",itemPadding:"12px 16px",itemFontSize:"15px",bodyPadding:"0 16px 12px 16px",bodyFontSize:"14px",categoryPadding:"8px 4px 4px 4px",categoryGap:"4px",categoryFontSize:"12px",searchBackground:se(k[3],.8),searchColor:ct.primary,chevronColor:"currentColor"}},$m={mode:"light",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",colorPrimary:ne[3],colorPrimaryHover:ne[2],borderRadius:"12px",canvas:{position:"right",layout:"overlay",background:se(k[12],.7),blur:"blur(24px)",border:"none",width:"clamp(380px, 25vw, 520px)",transitionDuration:"300ms",transitionEasing:"cubic-bezier(0.16, 1, 0.3, 1)",transitionFade:"6%",padding:"0"},launcher:{background:ne[3],backgroundHover:ne[2],color:"#ffffff",size:"56px",shadow:"0 8px 32px rgba(0, 0, 0, 0.15)",borderRadius:"9999px"},tile:{background:se(k[12],.7),backgroundHover:se(k[12],.8),border:"1px solid rgba(0, 0, 0, 0.06)",borderRadius:"14px",shadow:"0 2px 12px rgba(0, 0, 0, 0.12)",titleColor:k[1],textColor:k[6],iconBackground:`linear-gradient(135deg, ${ne[3]} 0%, ${ne[3]}cc 100%)`,iconShadow:`0 2px 8px ${ne[3]}40`,headerPadding:"0.375rem 0.75rem",bodyPadding:"0 0.75rem 0.5rem",gap:"0.25rem"},overlay:{background:se(k[12],.7),textColor:k[1],titleColor:k[1],arrowColor:se(k[12],.7),arrowSize:"8px",border:"none",borderRadius:"0",scrimOpacity:"0",highlightRing:`2px solid ${ne[3]}`},notification:{background:se(k[12],.95),textColor:k[1],textSecondaryColor:k[6],border:`1px solid ${se(k[0],.12)}`,borderRadius:"12px",successColor:we[4],warningColor:je[4],errorColor:Te[4],iconBackground:se(ne[3],.1),progressGradient:`linear-gradient(90deg, ${ne[3]}, ${ne[2]})`},content:{background:se(k[12],.8),backgroundHover:se(k[11],.6),border:`1px solid ${k[11]}`,borderRadius:"8px",textColor:k[1],textSecondaryColor:k[6],itemDivider:"none",itemGap:"6px",itemPadding:"12px 16px",itemFontSize:"15px",bodyPadding:"0 16px 12px 16px",bodyFontSize:"14px",categoryPadding:"8px 4px 4px 4px",categoryGap:"4px",categoryFontSize:"12px",searchBackground:k[12],searchColor:k[1],chevronColor:"currentColor"}};function Mm(r){let e=r.mode==="light"?$m:Im;return{mode:r.mode??e.mode,fontFamily:r.fontFamily??e.fontFamily,colorPrimary:r.colorPrimary??e.colorPrimary,colorPrimaryHover:r.colorPrimaryHover??e.colorPrimaryHover,borderRadius:r.borderRadius??e.borderRadius,canvas:{...e.canvas,...r.canvas},launcher:{...e.launcher,...r.launcher},tile:{...e.tile,...r.tile},overlay:{...e.overlay,...r.overlay},notification:{...e.notification,...r.notification},content:{...e.content,...r.content}}}function Pm(r,e){let t=e.mode??r.mode??"dark",n=t==="light"?$m:Im;return{mode:t,fontFamily:e.fontFamily??r.fontFamily??n.fontFamily,colorPrimary:e.colorPrimary??r.colorPrimary??n.colorPrimary,colorPrimaryHover:e.colorPrimaryHover??r.colorPrimaryHover??n.colorPrimaryHover,borderRadius:e.borderRadius??r.borderRadius??n.borderRadius,canvas:{...n.canvas,...r.canvas,...e.canvas},launcher:{...n.launcher,...r.launcher,...e.launcher},tile:{...n.tile,...r.tile,...e.tile},overlay:{...n.overlay,...r.overlay,...e.overlay},notification:{...n.notification,...r.notification,...e.notification},content:{...n.content,...r.content,...e.content}}}var Ck=["canvas","launcher","tile","overlay","notification","content"];function Om(r){let e={};r.fontFamily&&(e["--sc-font-family"]=r.fontFamily),r.colorPrimary&&(e["--sc-color-primary"]=r.colorPrimary),r.colorPrimaryHover&&(e["--sc-color-primary-hover"]=r.colorPrimaryHover),r.borderRadius&&(e["--sc-border-radius"]=r.borderRadius);for(let t of Ck){let n=r[t];if(n)for(let[i,s]of Object.entries(n))s!==void 0&&(e[`--sc-${t}-${Ek(i)}`]=s)}return e}var Ir,kn,En,ir,sr,bu,Ra,ks=class{constructor(e,t,n){ge(this,sr);ge(this,Ir);ge(this,kn);ge(this,En);ge(this,ir);ie(this,Ir,e),ie(this,kn,t??{}),ie(this,En,n),ie(this,ir,ye(this,sr,bu).call(this)),e.addController(this)}get config(){return W(this,ir).config}get mode(){return W(this,ir).mode}get cssVariables(){return W(this,ir).cssVariables}hostConnected(){ye(this,sr,Ra).call(this)}hostDisconnected(){}hostUpdated(){ye(this,sr,Ra).call(this)}setThemeConfig(e,t){ie(this,kn,e),ie(this,En,t),ie(this,ir,ye(this,sr,bu).call(this)),ye(this,sr,Ra).call(this),W(this,Ir).requestUpdate()}};Ir=new WeakMap,kn=new WeakMap,En=new WeakMap,ir=new WeakMap,sr=new WeakSet,bu=function(){let e=W(this,En)?Pm(W(this,En),W(this,kn)):Mm(W(this,kn)),t=Om(e);return{config:e,mode:e.mode,cssVariables:t}},Ra=function(){let e=W(this,Ir).shadowRoot??("renderRoot"in W(this,Ir)?W(this,Ir).renderRoot:null);if(!e||!(e instanceof ShadowRoot))return;let t=e.querySelector("#sc-theme-vars");t||(t=document.createElement("style"),t.id="sc-theme-vars",e.insertBefore(t,e.firstChild));let n=Object.entries(W(this,ir).cssVariables).map(([i,s])=>` ${i}: ${s};`).join(`
485
485
  `);t.textContent=`:host {
486
486
  ${n}
487
487
  }`};var Ak=new Set(["tag_name","$el_text"]);function Rk(r){return Ak.has(r)||r.startsWith("attr__")}function Nm(r,e){return r.equals!==void 0?e===r.equals:r.contains!==void 0?typeof e=="string"&&e.includes(r.contains):!1}function Tk(r){let{events:e,match:t}=r;return n=>{if(!e.includes(n.name))return!1;if(t){for(let[i,s]of Object.entries(t))if(Rk(i)){let o=n.props?.elements;if(!o||!o.some(l=>Nm(s,l[i])))return!1}else if(!Nm(s,n.props?.[i]))return!1}return!0}}function Lm(r,e){for(let t of r.rules)for(let n of t.conditions)if(n.type==="event_count"&&n.key){let i=n.counter,s=i?Tk(i):()=>!0,o=typeof n.withinMs=="number";e.register(n.key,s,o)}}function ii(r,e,t){for(let n of r){let i=n.props;if(!i)continue;let s=i.actions;if(s)for(let o of s)o.triggerWhen?.type==="rules"&&Lm(o.triggerWhen,e)}if(t)for(let n of t){let i=n;i.triggerWhen?.type==="rules"&&Lm(i.triggerWhen,e)}}var Ik="syntro-runtime",Fm="smart-canvas",Dm=r=>[...r].sort((e,t)=>(t.priority??0)-(e.priority??0));function Hm(r){let e=typeof window<"u"?window.SynOS?.interventionTracker:null;if(e)for(let t of r)e.trackTriggered(t.id,t.widget??"unknown")}var ot,oi,Ut,or,Lt,Cn,Es,ai,An,Cs,As,Rs,Rn,Tn,$r,Mr,Pr,In,li,Ts,xe,Bm,Vm,ci,xu,jm,wu,Su,ku,Eu,Um,Cu,Ta,si=class extends me{constructor(){super();ge(this,xe);this.fetcher=void 0;this.configUri=void 0;this.configUriFeatureKey=void 0;this.configFeatureKey=void 0;this.fetchCredentials="include";this.experiments=void 0;this.telemetry=void 0;this.runtime=void 0;this.launcherLabel=void 0;this.initialBatchHandle=null;this.initialBatchActions=void 0;this.workspaceTheme=void 0;this._tiles=[];this._configActions=[];this._isLoading=!0;this._error=void 0;this._theme=void 0;this._launcher=void 0;this._canvasTitle=void 0;this._displayMode="standard";this._isOpen=!1;this._pageUrl=typeof window<"u"?window.location.href:"/";ge(this,ot);ge(this,oi,null);ge(this,Ut,null);ge(this,or,null);ge(this,Lt,null);ge(this,Cn);ge(this,Es,0);ge(this,ai,null);ge(this,An,"[]");ge(this,Cs,"[]");ge(this,As,"null");ge(this,Rs,"null");ge(this,Rn,null);ge(this,Tn,null);ge(this,$r,null);ge(this,Mr,null);ge(this,Pr,null);ge(this,In,()=>{this._pageUrl=window.location.href});ge(this,li);ge(this,Ts);ge(this,ci,0);ge(this,Ta,t=>{W(this,ot).toggle()});ie(this,ot,Tm()),ie(this,Cn,!1),ie(this,li,new ks(this)),ie(this,Ts,new ri(this,{context:Ik,initialValue:null}))}connectedCallback(){super.connectedCallback(),this.style.setProperty("font-family","inherit"),ie(this,oi,W(this,ot).subscribe(t=>{this._isOpen=t.open})),this._isOpen=W(this,ot).getState().open,ie(this,Ut,document.createElement("div")),W(this,Ut).id="overlayContainer",Object.assign(W(this,Ut).style,{position:"fixed",inset:"0",zIndex:"2147483645",pointerEvents:"none"}),this.shadowRoot.appendChild(W(this,Ut)),ie(this,or,document.createElement("div")),W(this,or).id="portalRoot",this.shadowRoot.appendChild(W(this,or)),ye(this,xe,wu).call(this),ye(this,xe,Cu).call(this),ye(this,xe,ku).call(this)}disconnectedCallback(){var t,n,i,s,o;super.disconnectedCallback(),(t=W(this,oi))==null||t.call(this),ie(this,oi,null),(n=W(this,Tn))==null||n.call(this),ie(this,Tn,null),(i=W(this,$r))==null||i.call(this),ie(this,$r,null),(s=W(this,Mr))==null||s.call(this),ie(this,Mr,null),(o=W(this,Pr))==null||o.call(this),ie(this,Pr,null),ye(this,xe,Su).call(this),W(this,Lt)&&(W(this,Lt).revertAll().catch(a=>{console.error("[SmartCanvasElementLit] Failed to revert actions on disconnect:",a)}),ie(this,Lt,null)),W(this,Ut)?.remove(),ie(this,Ut,null),W(this,or)?.remove(),ie(this,or,null)}updated(t){var i;t.has("runtime")&&(W(this,Ts).setValue(this.runtime??null),ye(this,xe,Um).call(this),ye(this,xe,ku).call(this),ye(this,xe,Cu).call(this),ye(this,xe,Su).call(this),ye(this,xe,wu).call(this));let n=t.has("runtime")||t.has("fetcher")||t.has("configUri")||t.has("configUriFeatureKey")||t.has("configFeatureKey")||t.has("fetchCredentials")||t.has("experiments");if(n&&(ye(this,xe,Bm).call(this),(i=W(this,Tn))==null||i.call(this),this.experiments?.onFeaturesChanged&&ie(this,Tn,this.experiments.onFeaturesChanged(()=>this._loadConfig({silent:!0})))),(n||t.has("_pageUrl"))&&this._loadConfig(),(t.has("_theme")||t.has("workspaceTheme"))&&W(this,li).setThemeConfig(this._theme??{},this.workspaceTheme),(t.has("_configActions")||t.has("_pageUrl"))&&ye(this,xe,jm).call(this),t.has("_tiles")||t.has("_isLoading")||t.has("_error")){let s=this._tiles.length>0&&!this._error;!this._isLoading&&!s&&W(this,ot).getState().open&&W(this,ot).setOpen(!1)}t.has("initialBatchHandle")&&this.initialBatchHandle&&(ie(this,Lt,this.initialBatchHandle),ie(this,Cn,!0),this.initialBatchActions&&(this._configActions=this.initialBatchActions,ie(this,An,JSON.stringify(this.initialBatchActions))))}render(){let t=this._tiles.length>0&&!this._error;return this._isLoading||t?this._displayMode==="inline"?O`
@@ -1055,7 +1055,7 @@ Actions:`,b.map((P,z)=>` [${z}] ${P.kind} ${P.anchorId?`anchor="${P.anchorId.se
1055
1055
  `,t=document.createElement("style");t.setAttribute("data-syntro","base-overlay"),t.textContent=e,r.appendChild(t),Tv=!0}var Qu=async(r={})=>{if(typeof window>"u"||typeof document>"u")throw new Error("SmartCanvas can only be created in a browser-like environment");let e=null;if(r.antiFlicker){let m=typeof r.antiFlicker=="object"?r.antiFlicker:{};e=Ev(m)}let t=null,n=null,i=null,{runtime:s}=r;async function o(m){!s?.actions||m.length===0||(i?.isApplied()&&await i.revertAll(),i=await s.actions.applyBatch(m))}async function a(){i?.isApplied()&&(await i.revertAll(),i=null)}if(r.fetcher)try{n=r.fetcher,console.log("[SmartCanvas] Fetching initial config...");let m=await r.fetcher();t=m,console.log("[SmartCanvas] Config fetched:",`tiles=${m.tiles?.length??0},`,`actions=${m.actions?.length??0},`,`theme=${m.theme?.mode??"default"}`),m.actions?.length&&console.log("[SmartCanvas] Actions to apply:",m.actions.map((y,x)=>`[${x}] ${y.kind}${y.anchorId?` anchor="${y.anchorId.selector}"`:""}${y.label?` "${y.label}"`:""}`).join(", ")),m.actions&&m.actions.length>0&&s?.actions&&(await o(m.actions),console.log("[SmartCanvas] Initial actions applied successfully")),m.tiles&&s?.accumulator&&ii(m.tiles,s.accumulator,m.actions)}catch(m){console.error("[SmartCanvas] Error fetching/applying initial config:",m)}e&&e();let l=Ba();Ia();let c=document.createElement("smart-canvas");if(r.tokens)for(let[m,y]of Object.entries(r.tokens))c.style.setProperty(m,y);let u=r.integrations?.experiments,p=r.integrations?.telemetry,h=r.fetcher??ni({configUri:r.configUri,experiments:u,featureKey:r.configUriFeatureKey,credentials:r.fetchCredentials});n||(n=h);let f={fetcher:h,configUri:r.configUri,configUriFeatureKey:r.configUriFeatureKey,fetchCredentials:r.fetchCredentials,experiments:u,telemetry:p,runtime:s,initialBatchHandle:i,initialBatchActions:i?t?.actions??[]:void 0,workspaceTheme:r.workspaceTheme};c.mountLitApp(f),r.defaultOpen&&c.open();let v=()=>{let m=r.target??document.body;if(m){m.appendChild(c);let y=c.getOverlayContainer();y&&Iv(y)}};document.body?v():document.addEventListener("DOMContentLoaded",v,{once:!0}),(l||r.editorUrl)&&(console.log(`[SmartCanvas] Loading editor SDK for ${l??"config"} mode`),Rv(r.editorUrl).catch(console.error));let g={el:c,open:()=>c.open(),close:()=>c.close(),destroy:()=>{a(),c.remove()},setTokens:m=>{for(let[y,x]of Object.entries(m))c.style.setProperty(y,x)},getConfig:async()=>{if(n)try{let m=await n();return t=m,m}catch(m){console.error("[SmartCanvas] Error fetching config:",m)}return t??{tiles:[],actions:[],fetchedAt:""}},setEnabled:async m=>{m?t&&await o(t.actions):await a()},setOverrideFetcher:m=>{n=m,c.setOverrideFetcher(m),s?.accumulator&&m().then(y=>{y?.tiles&&ii(y.tiles,s.accumulator,y.actions)}).catch(()=>{})},registerTelemetryProperties:m=>{p?.register?.(m)},getSessionId:()=>p?.getSessionId?.(),startSessionRecording:()=>{p?.startSessionRecording?.()},track:(m,y)=>p?.track?(p.track(m,y),!0):!1,runtime:s};if(typeof window<"u"){let m=window.SynOS;m&&(m.handle=g)}return g};typeof window<"u"&&(window.SmartCanvas={async create(r){return Qu(r)}});var ed="syn_";function Os(r){if(!r.startsWith(ed))throw new Error("Invalid Syntro token: must start with 'syn_'");let t=r.slice(ed.length).replace(/-/g,"+").replace(/_/g,"/"),n=atob(t),i=JSON.parse(n);if(i.v!==1)throw new Error(`Unsupported token version: ${i.v}`);return i}function td(r){let e=JSON.stringify(r),t=btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");return ed+t}function kt(r){if(typeof process<"u"&&process.env)return process.env[r];if(typeof import.meta.env<"u"&&import.meta.env)return import.meta.env[r]}var Pv="syntro_segment_attributes";function Ov(){if(typeof window>"u")return{};try{let r=localStorage.getItem(Pv);if(r){let e=JSON.parse(r);return q("Syntro Bootstrap","Loaded cached segment attributes:",e),e}}catch(r){Qe("Syntro Bootstrap","Failed to load cached segment attributes:",r)}return{}}function Nv(r){if(!(typeof window>"u"))try{localStorage.setItem(Pv,JSON.stringify(r)),q("Syntro Bootstrap","Cached segment attributes:",r)}catch(e){Qe("Syntro Bootstrap","Failed to cache segment attributes:",e)}}function Lv(r){if(!r)return{};let e={};for(let[t,n]of Object.entries(r))t.startsWith("in_segment_")&&(e[t]=n===!0);return e}function rd(){if(typeof window>"u")return{};let r={};try{let e=new URLSearchParams(window.location.search);for(let t of["utm_source","utm_medium","utm_campaign","utm_content","utm_term"]){let n=e.get(t);n&&(r[t]=n)}}catch{}try{navigator.language&&(r.browser_language=navigator.language),navigator.languages?.length&&(r.browser_languages=[...navigator.languages])}catch{}try{let e=window.innerWidth;r.device_type=e<768?"mobile":e<1024?"tablet":"desktop"}catch{}try{if(document.referrer){r.referrer=document.referrer;try{r.referrer_hostname=new URL(document.referrer).hostname}catch{}}}catch{}try{let e=navigator.userAgent;e.includes("Edg/")?r.browser="Edge":e.includes("OPR/")||e.includes("Opera")?r.browser="Opera":e.includes("Chrome/")&&!e.includes("Chromium")?r.browser="Chrome":e.includes("Safari/")&&!e.includes("Chrome")?r.browser="Safari":e.includes("Firefox/")&&(r.browser="Firefox"),e.includes("Windows")?r.os="Windows":e.includes("iPhone")||e.includes("iPad")?r.os="iOS":e.includes("Mac OS X")||e.includes("Macintosh")?r.os="macOS":e.includes("Android")?r.os="Android":e.includes("Linux")&&(r.os="Linux")}catch{}try{r.page_url=window.location.href,r.page_path=window.location.pathname,r.page_host=window.location.hostname,window.location.search&&(r.page_query=window.location.search)}catch{}try{let e=window.Telegram?.WebApp;e?(r.surface_type="telegram",r.surface_host=e.platform||"unknown"):(r.surface_type="web",r.surface_host="web")}catch{r.surface_type="web",r.surface_host="web"}try{let e=r.surface_type;e==="telegram"||e==="mcp-app"?r.surface="personal_agent":r.device_type==="mobile"?r.surface="mobile":r.surface="desktop"}catch{r.surface="desktop"}return r}var Mv="syntro_geo",Fv="https://geo.syntrologie.com";async function nd(r){if(typeof window>"u")return{};try{let e=localStorage.getItem(Mv);if(e){let t=JSON.parse(e);return q("Syntro Bootstrap","Geo: using cached data:",t),t}}catch{}try{let e=await fetch(r,{signal:AbortSignal.timeout(2e3)});if(e.ok){let t=await e.json(),n={};for(let[i,s]of Object.entries(t))typeof s=="string"&&s&&(n[i]=s);try{localStorage.setItem(Mv,JSON.stringify(n))}catch{}return q("Syntro Bootstrap","Geo: fetched from worker:",n),n}}catch{}return{}}var id=null;if(typeof document<"u")try{let r=document.currentScript instanceof HTMLScriptElement?document.currentScript.src:null;if(r){let e=new URL(r),t=e.pathname.replace(/\/[^/]*$/,"");id=`${e.origin}${t}`}}catch{id=null}function Dv(){return id}var Hv="app:",eE="syntro:",tE=/^[a-z][a-z0-9_]*$/;function sd(r){if(!r)return{valid:!1,reason:"Event name cannot be empty"};if(r.startsWith(eE))return{valid:!1,reason:'"syntro:" prefix is reserved for internal SDK events'};if(!r.startsWith(Hv))return{valid:!1,reason:`Custom events must start with "app:" prefix. Got: "${r}"`};let e=r.slice(Hv.length).split(":");if(e.length<2)return{valid:!1,reason:`Event name must have at least 2 segments after "app:" (app:{category}:{action}). Got: "${r}"`};for(let t of e)if(!tE.test(t))return{valid:!1,reason:`Segment "${t}" must be lowercase alphanumeric + underscores. Got: "${r}"`};return{valid:!0}}function rE(r){return typeof r=="string"||typeof r=="number"||typeof r=="boolean"||r===null}function Bv(r,e,t=0){if(t>=e)return!1;for(let n of Object.values(r))if(n!==null&&typeof n=="object"&&!Array.isArray(n)&&!Bv(n,e,t+1))return!1;return!0}function od(r){if(r===void 0)return{valid:!0};if(r===null||typeof r!="object"||Array.isArray(r))return{valid:!1,reason:"Props must be a plain object"};if(!Bv(r,2))return{valid:!1,reason:"Props nesting depth exceeds 2 levels"};let e=[];for(let[t,n]of Object.entries(r))n!==null&&typeof n=="object"||rE(n)||e.push(t);return e.length>0?{valid:!0,stripped:e}:{valid:!0}}function Va(r,e){return e?!(e.names&&e.names.length>0&&!e.names.includes(r.name)||e.patterns&&e.patterns.length>0&&!e.patterns.some(n=>{try{return new RegExp(n).test(r.name)}catch{return!1}})||e.sources&&e.sources.length>0&&!e.sources.includes(r.source)):!0}var ja=class{constructor(e={}){this.subscriptions=new Set;this.history=[];this.maxHistorySize=e.maxHistorySize??100,this.debug=e.debug??!1,this.emitHistory=e.history??null,this.posthogCapture=e.posthogCapture??null,this.testMode=e.testMode??!1}subscribe(e,t){let n,i;typeof e=="function"?(n=void 0,i=e):(n=e,i=t);let s={filter:n,callback:i};return this.subscriptions.add(s),()=>{this.subscriptions.delete(s)}}publish(e,t,n="canvas"){let i={ts:Date.now(),name:e,source:n,props:t,schemaVersion:Me};this.publishEvent(i)}publishEvent(e){this.history.push(e),this.history.length>this.maxHistorySize&&this.history.shift();for(let t of this.subscriptions)if(Va(e,t.filter))try{t.callback(e)}catch(n){console.error("[EventBus] Subscriber error:",n)}}emit(e,t){let n=sd(e);if(!n.valid)return console.warn(`[EventBus] emit() rejected: ${n.reason}`),this.debug?{delivered:!1,matchedRules:[],posthogCaptured:!1,listenersNotified:0}:void 0;let i=od(t);if(!i.valid)return console.warn(`[EventBus] emit() rejected props: ${i.reason}`),this.debug?{delivered:!1,matchedRules:[],posthogCaptured:!1,listenersNotified:0}:void 0;let s={ts:Date.now(),name:e,source:"custom",props:t,schemaVersion:Me};this.history.push(s),this.history.length>this.maxHistorySize&&this.history.shift();let o=0;for(let l of this.subscriptions)if(Va(s,l.filter))try{l.callback(s),o++}catch(c){console.error("[EventBus] Subscriber error:",c),o++}let a=!1;if(this.posthogCapture&&!this.testMode)try{this.posthogCapture(e,t),a=!0}catch(l){console.error("[EventBus] PostHog capture error:",l)}if(this.emitHistory&&this.emitHistory.record({name:e,props:t,source:"custom",timestamp:s.ts,matchedRules:[]}),this.debug)return console.debug("[EventBus] emit()",{name:e,props:t,listenersNotified:o,posthogCaptured:a}),{delivered:!0,matchedRules:[],posthogCaptured:a,listenersNotified:o}}setPosthogCapture(e){this.posthogCapture=e}getRecent(e,t){let n=this.history;return e&&(n=n.filter(i=>Va(i,e))),t&&t>0&&(n=n.slice(-t)),n}hasRecentEvent(e,t,n){let i=Date.now()-t;return this.history.some(s=>s.name===e&&s.ts>=i&&(n===void 0||s.source===n))}countRecentEvents(e,t){let n=this.history.filter(i=>Va(i,e));if(t!==void 0){let i=Date.now()-t;n=n.filter(s=>s.ts>=i)}return n.length}clearHistory(){this.history=[]}getSubscriberCount(){return this.subscriptions.size}};function Ns(r={}){return new ja(r)}var Ls=class{constructor(e=100){this.entries=[];this.maxSize=e}record(e){this.entries.push(e),this.maxSize>0&&this.entries.length>this.maxSize&&this.entries.shift()}getAll(){return[...this.entries]}clear(){this.entries=[]}};var jv={fetch:globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,SubtleCrypto:globalThis.crypto?globalThis.crypto.subtle:void 0,EventSource:globalThis.EventSource};function Uv(){return jv}function ad(r){let e=2166136261,t=r.length;for(let n=0;n<t;n++)e^=r.charCodeAt(n),e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24);return e>>>0}function Fs(r,e,t){return t===2?ad(ad(r+e)+"")%1e4/1e4:t===1?ad(e+r)%1e3/1e3:null}function nE(r){return r<=0?[]:new Array(r).fill(1/r)}function Ua(r,e){return r>=e[0]&&r<e[1]}function Wv(r,e){let t=Fs("__"+e[0],r,1);return t===null?!1:t>=e[1]&&t<e[2]}function zv(r,e){for(let t=0;t<e.length;t++)if(Ua(r,e[t]))return t;return-1}function cd(r){try{let e=r.replace(/([^\\])\//g,"$1\\/");return new RegExp(e)}catch(e){console.error(e);return}}function Wa(r,e){if(!e.length)return!1;let t=!1,n=!1;for(let i=0;i<e.length;i++){let s=oE(r,e[i].type,e[i].pattern);if(e[i].include===!1){if(s)return!1}else t=!0,s&&(n=!0)}return n||!t}function iE(r,e,t){try{let n=e.replace(/[*.+?^${}()|[\]\\]/g,"\\$&").replace(/_____/g,".*");return t&&(n="\\/?"+n.replace(/(^\/|\/$)/g,"")+"\\/?"),new RegExp("^"+n+"$","i").test(r)}catch{return!1}}function sE(r,e){try{let t=new URL(e.replace(/^([^:/?]*)\./i,"https://$1.").replace(/\*/g,"_____"),"https://_____"),n=[[r.host,t.host,!1],[r.pathname,t.pathname,!0]];return t.hash&&n.push([r.hash,t.hash,!1]),t.searchParams.forEach((i,s)=>{n.push([r.searchParams.get(s)||"",i,!1])}),!n.some(i=>!iE(i[0],i[1],i[2]))}catch{return!1}}function oE(r,e,t){try{let n=new URL(r,"https://_");if(e==="regex"){let i=cd(t);return i?i.test(n.href)||i.test(n.href.substring(n.origin.length)):!1}else if(e==="simple")return sE(n,t);return!1}catch{return!1}}function qv(r,e,t){e=e===void 0?1:e,e<0?e=0:e>1&&(e=1);let n=nE(r);t=t||n,t.length!==r&&(t=n);let i=t.reduce((o,a)=>a+o,0);(i<.99||i>1.01)&&(t=n);let s=0;return t.map(o=>{let a=s;return s+=o,[a,a+e*o]})}function Zv(r,e,t){if(!e)return null;let n=e.split("?")[1];if(!n)return null;let i=n.replace(/#.*/,"").split("&").map(s=>s.split("=",2)).filter(([s])=>s===r).map(([,s])=>parseInt(s));return i.length>0&&i[0]>=0&&i[0]<t?i[0]:null}function Gv(r){try{return r()}catch(e){return console.error(e),!1}}var ld=r=>Uint8Array.from(atob(r),e=>e.charCodeAt(0));async function $n(r,e,t){if(e=e||"",t=t||globalThis.crypto&&globalThis.crypto.subtle||jv.SubtleCrypto,!t)throw new Error("No SubtleCrypto implementation found");try{let n=await t.importKey("raw",ld(e),{name:"AES-CBC",length:128},!0,["encrypt","decrypt"]),[i,s]=r.split("."),o=await t.decrypt({name:"AES-CBC",iv:ld(i)},n,ld(s));return new TextDecoder().decode(o)}catch{throw new Error("Failed to decrypt")}}function Ds(r){return typeof r=="string"?r:JSON.stringify(r)}function dt(r){typeof r=="number"&&(r=r+""),(!r||typeof r!="string")&&(r="0");let e=r.replace(/(^v|\+.*$)/g,"").split(/[-.]/);return e.length===3&&e.push("~"),e.map(t=>t.match(/^[0-9]+$/)?t.padStart(5," "):t).join("-")}function Kv(){let r;try{r="1.6.4"}catch{r=""}return r}function Yv(r,e){let t,n;try{t=new URL(r),n=new URL(e)}catch(i){return console.error(`Unable to merge query strings: ${i}`),e}return t.searchParams.forEach((i,s)=>{n.searchParams.has(s)||n.searchParams.set(s,i)}),n.toString()}function Vv(r){return typeof r=="object"&&r!==null}function za(r){return r.urlPatterns&&r.variations.some(e=>Vv(e)&&"urlRedirect"in e)?"redirect":r.variations.some(e=>Vv(e)&&(e.domMutations||"js"in e||"css"in e))?"visual":"unknown"}async function qa(r,e){return new Promise(t=>{let n=!1,i,s=o=>{n||(n=!0,i&&clearTimeout(i),t(o||null))};e&&(i=setTimeout(()=>s(),e)),r.then(o=>s(o)).catch(()=>s())})}var Ye={staleTTL:1e3*60,maxAge:1e3*60*60*4,cacheKey:"gbFeaturesCache",backgroundSync:!0,maxEntries:10,disableIdleStreams:!1,idleStreamInterval:2e4,disableCache:!1},qt=Uv(),ui={fetchFeaturesCall:({host:r,clientKey:e,headers:t})=>qt.fetch(`${r}/api/features/${e}`,{headers:t}),fetchRemoteEvalCall:({host:r,clientKey:e,payload:t,headers:n})=>{let i={method:"POST",headers:{"Content-Type":"application/json",...n},body:JSON.stringify(t)};return qt.fetch(`${r}/api/eval/${e}`,i)},eventSourceCall:({host:r,clientKey:e,headers:t})=>t?new qt.EventSource(`${r}/sub/${e}`,{headers:t}):new qt.EventSource(`${r}/sub/${e}`),startIdleListener:()=>{let r;if(!(typeof window<"u"&&typeof document<"u"))return;let t=()=>{document.visibilityState==="visible"?(window.clearTimeout(r),cE()):document.visibilityState==="hidden"&&(r=window.setTimeout(lE,Ye.idleStreamInterval))};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)},stopIdleListener:()=>{}};try{globalThis.localStorage&&(qt.localStorage=globalThis.localStorage)}catch{}var di=new Map,Xv=!1,cr=new Map,Za=new Map,pi=new Map,hi=new Set;function Qv(r){Object.assign(Ye,r),Ye.backgroundSync||gd()}async function ey({instance:r,timeout:e,skipCache:t,allowStale:n,backgroundSync:i}){return i||(Ye.backgroundSync=!1),uE({instance:r,allowStale:n,timeout:e,skipCache:t})}function aE(r){let e=Hs(r),t=di.get(e)||new Set;t.add(r),di.set(e,t)}function ty(r){di.forEach(e=>e.delete(r))}function lE(){pi.forEach(r=>{r&&(r.state="idle",hd(r))})}function cE(){pi.forEach(r=>{r&&r.state==="idle"&&fd(r)})}async function Jv(){try{if(!qt.localStorage)return;await qt.localStorage.setItem(Ye.cacheKey,JSON.stringify(Array.from(cr.entries())))}catch{}}async function uE({instance:r,allowStale:e,timeout:t,skipCache:n}){let i=Hs(r),s=dd(r),o=new Date,a=new Date(o.getTime()-Ye.maxAge+Ye.staleTTL);await dE();let l=!Ye.disableCache&&!n?cr.get(s):void 0;return l&&(e||l.staleAt>o)&&l.staleAt>a?(l.sse&&hi.add(i),l.staleAt<o?ud(r):pd(r),{data:l.data,success:!0,source:"cache"}):await qa(ud(r),t)||{data:null,success:!1,source:"timeout",error:new Error("Timeout")}}function Hs(r){let[e,t]=r.getApiInfo();return`${e}||${t}`}function dd(r){let e=Hs(r);if(!("isRemoteEval"in r)||!r.isRemoteEval())return e;let t=r.getAttributes(),n=r.getCacheKeyAttributes()||Object.keys(r.getAttributes()),i={};n.forEach(a=>{i[a]=t[a]});let s=r.getForcedVariations(),o=r.getUrl();return`${e}||${JSON.stringify({ca:i,fv:s,url:o})}`}async function dE(){if(!Xv){Xv=!0;try{if(qt.localStorage){let r=await qt.localStorage.getItem(Ye.cacheKey);if(!Ye.disableCache&&r){let e=JSON.parse(r);e&&Array.isArray(e)&&e.forEach(([t,n])=>{cr.set(t,{...n,staleAt:new Date(n.staleAt)})}),ry()}}}catch{}if(!Ye.disableIdleStreams){let r=ui.startIdleListener();r&&(ui.stopIdleListener=r)}}}function ry(){let r=Array.from(cr.entries()).map(([t,n])=>({key:t,staleAt:n.staleAt.getTime()})).sort((t,n)=>t.staleAt-n.staleAt),e=Math.min(Math.max(0,cr.size-Ye.maxEntries),cr.size);for(let t=0;t<e;t++)cr.delete(r[t].key)}function ny(r,e,t){let n=t.dateUpdated||"",i=new Date(Date.now()+Ye.staleTTL),s=Ye.disableCache?void 0:cr.get(e);if(s&&n&&s.version===n){s.staleAt=i,Jv();return}Ye.disableCache||(cr.set(e,{data:t,version:n,staleAt:i,sse:hi.has(r)}),ry()),Jv();let o=di.get(r);o&&o.forEach(a=>pE(a,t))}async function pE(r,e){await r.setPayload(e||r.getPayload())}async function ud(r){let{apiHost:e,apiRequestHeaders:t}=r.getApiHosts(),n=r.getClientKey(),i="isRemoteEval"in r&&r.isRemoteEval(),s=Hs(r),o=dd(r),a=Za.get(o);return a||(a=(i?ui.fetchRemoteEvalCall({host:e,clientKey:n,payload:{attributes:r.getAttributes(),forcedVariations:r.getForcedVariations(),forcedFeatures:Array.from(r.getForcedFeatures().entries()),url:r.getUrl()},headers:t}):ui.fetchFeaturesCall({host:e,clientKey:n,headers:t})).then(c=>{if(!c.ok)throw new Error(`HTTP error: ${c.status}`);return c.headers.get("x-sse-support")==="enabled"&&hi.add(s),c.json()}).then(c=>(ny(s,o,c),pd(r),Za.delete(o),{data:c,success:!0,source:"network"})).catch(c=>(Za.delete(o),{data:null,source:"error",success:!1,error:c})),Za.set(o,a)),a}function pd(r,e=!1){let t=Hs(r),n=dd(r),{streamingHost:i,streamingHostRequestHeaders:s}=r.getApiHosts(),o=r.getClientKey();if(e&&hi.add(t),Ye.backgroundSync&&hi.has(t)&&qt.EventSource){if(pi.has(t))return;let a={src:null,host:i,clientKey:o,headers:s,cb:l=>{try{if(l.type==="features-updated"){let c=di.get(t);c&&c.forEach(u=>{ud(u)})}else if(l.type==="features"){let c=JSON.parse(l.data);ny(t,n,c)}a.errors=0}catch{iy(a)}},errors:0,state:"active"};pi.set(t,a),fd(a)}}function iy(r){if(r.state!=="idle"&&(r.errors++,r.errors>3||r.src&&r.src.readyState===2)){let e=Math.pow(3,r.errors-3)*(1e3+Math.random()*1e3);hd(r),setTimeout(()=>{["idle","active"].includes(r.state)||fd(r)},Math.min(e,3e5))}}function hd(r){r.src&&(r.src.onopen=null,r.src.onerror=null,r.src.close(),r.src=null,r.state==="active"&&(r.state="disabled"))}function fd(r){r.src=ui.eventSourceCall({host:r.host,clientKey:r.clientKey,headers:r.headers}),r.state="active",r.src.addEventListener("features",r.cb),r.src.addEventListener("features-updated",r.cb),r.src.onerror=()=>iy(r),r.src.onopen=()=>{r.errors=0}}function hE(r,e){hd(r),pi.delete(e)}function gd(){hi.clear(),pi.forEach(hE),di.clear(),ui.stopIdleListener()}function Ga(r,e){if(e.streaming){if(!r.getClientKey())throw new Error("Must specify clientKey to enable streaming");e.payload&&pd(r,!0),aE(r)}}var fE=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,yd={revert:function(){}},Ja=new Map,_d=new Set;function gE(r){return r==="html"?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[r]}}function Qa(r){var e=Ja.get(r);return e||(e={element:r,attributes:{}},Ja.set(r,e)),e}function el(r,e,t,n,i){var s=t(r),o={isDirty:!1,originalValue:s,virtualValue:s,mutations:[],el:r,_positionTimeout:null,observer:new MutationObserver(function(){if(!(e==="position"&&o._positionTimeout)){e==="position"&&(o._positionTimeout=setTimeout(function(){o._positionTimeout=null},1e3));var a=t(r);e==="position"&&a.parentNode===o.virtualValue.parentNode&&a.insertBeforeNode===o.virtualValue.insertBeforeNode||a!==o.virtualValue&&(o.originalValue=a,i(o))}}),mutationRunner:i,setValue:n,getCurrentValue:t};return e==="position"&&r.parentNode?o.observer.observe(r.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):o.observer.observe(r,gE(e)),o}function tl(r,e){var t=e.getCurrentValue(e.el);e.virtualValue=r,r&&typeof r!="string"?(!t||r.parentNode!==t.parentNode||r.insertBeforeNode!==t.insertBeforeNode)&&(e.isDirty=!0,sy()):r!==t&&(e.isDirty=!0,sy())}function mE(r){var e=r.originalValue;r.mutations.forEach(function(t){return e=t.mutate(e)}),tl(IE(e),r)}function vE(r){var e=new Set(r.originalValue.split(/\s+/).filter(Boolean));r.mutations.forEach(function(t){return t.mutate(e)}),tl(Array.from(e).filter(Boolean).join(" "),r)}function yE(r){var e=r.originalValue;r.mutations.forEach(function(t){return e=t.mutate(e)}),tl(e,r)}function _E(r){var e=r.parentSelector,t=r.insertBeforeSelector,n=document.querySelector(e);if(!n)return null;var i=t?document.querySelector(t):null;return t&&!i?null:{parentNode:n,insertBeforeNode:i}}function bE(r){var e=r.originalValue;r.mutations.forEach(function(t){var n=t.mutate(),i=_E(n);e=i||e}),tl(e,r)}var xE=function(e){return e.innerHTML},wE=function(e,t){return e.innerHTML=t};function ay(r){var e=Qa(r);return e.html||(e.html=el(r,"html",xE,wE,mE)),e.html}var SE=function(e){return{parentNode:e.parentElement,insertBeforeNode:e.nextElementSibling}},kE=function(e,t){t.insertBeforeNode&&!t.parentNode.contains(t.insertBeforeNode)||t.parentNode.insertBefore(e,t.insertBeforeNode)};function ly(r){var e=Qa(r);return e.position||(e.position=el(r,"position",SE,kE,bE)),e.position}var EE=function(e,t){return t?e.className=t:e.removeAttribute("class")},CE=function(e){return e.className};function cy(r){var e=Qa(r);return e.classes||(e.classes=el(r,"class",CE,EE,vE)),e.classes}var AE=function(e){return function(t){var n;return(n=t.getAttribute(e))!=null?n:null}},RE=function(e){return function(t,n){return n!==null?t.setAttribute(e,n):t.removeAttribute(e)}};function uy(r,e){var t=Qa(r);return t.attributes[e]||(t.attributes[e]=el(r,e,AE(e),RE(e),yE)),t.attributes[e]}function TE(r,e){var t=Ja.get(r);if(t)if(e==="html"){var n,i;(n=t.html)==null||(i=n.observer)==null||i.disconnect(),delete t.html}else if(e==="class"){var s,o;(s=t.classes)==null||(o=s.observer)==null||o.disconnect(),delete t.classes}else if(e==="position"){var a,l;(a=t.position)==null||(l=a.observer)==null||l.disconnect(),delete t.position}else{var c,u,p;(c=t.attributes)==null||(u=c[e])==null||(p=u.observer)==null||p.disconnect(),delete t.attributes[e]}}var Ka;function IE(r){return Ka||(Ka=document.createElement("div")),Ka.innerHTML=r,Ka.innerHTML}function Ya(r,e,t){if(t.isDirty){t.isDirty=!1;var n=t.virtualValue;t.mutations.length||TE(r,e),t.setValue(r,n)}}function $E(r,e){r.html&&Ya(e,"html",r.html),r.classes&&Ya(e,"class",r.classes),r.position&&Ya(e,"position",r.position),Object.keys(r.attributes).forEach(function(t){Ya(e,t,r.attributes[t])})}function sy(){Ja.forEach($E)}function ME(r,e){var t=null;r.kind==="html"?t=ay(e):r.kind==="class"?t=cy(e):r.kind==="attribute"?t=uy(e,r.attribute):r.kind==="position"&&(t=ly(e)),t&&(t.mutations.push(r),t.mutationRunner(t))}function PE(r,e){var t=null;if(r.kind==="html"?t=ay(e):r.kind==="class"?t=cy(e):r.kind==="attribute"?t=uy(e,r.attribute):r.kind==="position"&&(t=ly(e)),!!t){var n=t.mutations.indexOf(r);n!==-1&&t.mutations.splice(n,1),t.mutationRunner(t)}}function dy(r){if(!(r.kind==="position"&&r.elements.size===1)){var e=new Set(r.elements),t=document.querySelectorAll(r.selector);t.forEach(function(n){e.has(n)||(r.elements.add(n),ME(r,n))})}}function OE(r){r.elements.forEach(function(e){return PE(r,e)}),r.elements.clear(),_d.delete(r)}function oy(){_d.forEach(dy)}var md;function NE(){typeof document>"u"||(md||(md=new MutationObserver(function(){oy()})),oy(),md.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}NE();function rl(r){return typeof document>"u"?yd:(_d.add(r),dy(r),{revert:function(){OE(r)}})}function vd(r,e){return rl({kind:"html",elements:new Set,mutate:e,selector:r})}function py(r,e){return rl({kind:"position",elements:new Set,mutate:e,selector:r})}function Bs(r,e){return rl({kind:"class",elements:new Set,mutate:e,selector:r})}function Xa(r,e,t){return fE.test(e)?e==="class"||e==="className"?Bs(r,function(n){var i=t(Array.from(n).join(" "));n.clear(),i&&i.split(/\s+/g).filter(Boolean).forEach(function(s){return n.add(s)})}):rl({kind:"attribute",attribute:e,elements:new Set,mutate:t,selector:r}):yd}function LE(r){var e=r.selector,t=r.action,n=r.value,i=r.attribute,s=r.parentSelector,o=r.insertBeforeSelector;if(i==="html"){if(t==="append")return vd(e,function(a){return a+(n??"")});if(t==="set")return vd(e,function(){return n??""})}else if(i==="class"){if(t==="append")return Bs(e,function(a){n&&a.add(n)});if(t==="remove")return Bs(e,function(a){n&&a.delete(n)});if(t==="set")return Bs(e,function(a){a.clear(),n&&a.add(n)})}else if(i==="position"){if(t==="set"&&s)return py(e,function(){return{insertBeforeSelector:o,parentSelector:s}})}else{if(t==="append")return Xa(e,i,function(a){return a!==null?a+(n??""):n??""});if(t==="set")return Xa(e,i,function(){return n??""});if(t==="remove")return Xa(e,i,function(){return null})}return yd}var FE={html:vd,classes:Bs,attribute:Xa,position:py,declarative:LE},hy=FE;var bd={};function Lr(r,e,t){t=t||{};for(let[n,i]of Object.entries(e))switch(n){case"$or":if(!my(r,i,t))return!1;break;case"$nor":if(my(r,i,t))return!1;break;case"$and":if(!jE(r,i,t))return!1;break;case"$not":if(Lr(r,i,t))return!1;break;default:if(!Vs(i,DE(r,n),t))return!1}return!0}function DE(r,e){let t=e.split("."),n=r;for(let i=0;i<t.length;i++)if(n&&typeof n=="object"&&t[i]in n)n=n[t[i]];else return null;return n}function fy(r,e=!1){let t=`${r}${e?"/i":""}`;return bd[t]||(bd[t]=new RegExp(r.replace(/([^\\])\//g,"$1\\/"),e?"i":void 0)),bd[t]}function Vs(r,e,t,n=!1){if(typeof r=="string")return n?String(e).toLowerCase()===r.toLowerCase():e+""===r;if(typeof r=="number")return e*1===r;if(typeof r=="boolean")return e!==null&&!!e===r;if(r===null)return e===null;if(Array.isArray(r)||!vy(r))return JSON.stringify(e)===JSON.stringify(r);for(let i in r)if(!VE(i,e,r[i],t))return!1;return!0}function vy(r){let e=Object.keys(r);return e.length>0&&e.filter(t=>t[0]==="$").length===e.length}function HE(r){if(r===null)return"null";if(Array.isArray(r))return"array";let e=typeof r;return["string","number","boolean","object","undefined"].includes(e)?e:"unknown"}function BE(r,e,t){if(!Array.isArray(r))return!1;let n=vy(e)?i=>Vs(e,i,t):i=>Lr(i,e,t);for(let i=0;i<r.length;i++)if(r[i]&&n(r[i]))return!0;return!1}function fi(r,e,t=!1){if(t){let n=i=>typeof i=="string"?i.toLowerCase():i;return Array.isArray(r)?r.some(i=>e.some(s=>n(i)===n(s))):e.some(i=>n(r)===n(i))}return Array.isArray(r)?r.some(n=>e.includes(n)):e.includes(r)}function gy(r,e,t,n=!1){if(!Array.isArray(r))return!1;for(let i=0;i<e.length;i++){let s=!1;for(let o=0;o<r.length;o++)if(Vs(e[i],r[o],t,n)){s=!0;break}if(!s)return!1}return!0}function VE(r,e,t,n){switch(r){case"$veq":return dt(e)===dt(t);case"$vne":return dt(e)!==dt(t);case"$vgt":return dt(e)>dt(t);case"$vgte":return dt(e)>=dt(t);case"$vlt":return dt(e)<dt(t);case"$vlte":return dt(e)<=dt(t);case"$eq":return e===t;case"$ne":return e!==t;case"$lt":return e<t;case"$lte":return e<=t;case"$gt":return e>t;case"$gte":return e>=t;case"$exists":return t?e!=null:e==null;case"$in":return Array.isArray(t)?fi(e,t):!1;case"$ini":return Array.isArray(t)?fi(e,t,!0):!1;case"$inGroup":return fi(e,n[t]||[]);case"$notInGroup":return!fi(e,n[t]||[]);case"$nin":return Array.isArray(t)?!fi(e,t):!1;case"$nini":return Array.isArray(t)?!fi(e,t,!0):!1;case"$not":return!Vs(t,e,n);case"$size":return Array.isArray(e)?Vs(t,e.length,n):!1;case"$elemMatch":return BE(e,t,n);case"$all":return Array.isArray(t)?gy(e,t,n):!1;case"$alli":return Array.isArray(t)?gy(e,t,n,!0):!1;case"$regex":try{return fy(t).test(e)}catch{return!1}case"$regexi":try{return fy(t,!0).test(e)}catch{return!1}case"$type":return HE(e)===t;default:return console.error("Unknown operator: "+r),!1}}function my(r,e,t){if(!e.length)return!0;for(let n=0;n<e.length;n++)if(Lr(r,e[n],t))return!0;return!1}function jE(r,e,t){for(let n=0;n<e.length;n++)if(!Lr(r,e[n],t))return!1;return!0}var UE="Feature Evaluated",WE="Experiment Viewed";function zE(r){let e=new Map;return r.global.forcedFeatureValues&&r.global.forcedFeatureValues.forEach((t,n)=>e.set(n,t)),r.user.forcedFeatureValues&&r.user.forcedFeatureValues.forEach((t,n)=>e.set(n,t)),e}function qE(r){return r.global.forcedVariations&&r.user.forcedVariations?{...r.global.forcedVariations,...r.user.forcedVariations}:r.global.forcedVariations?r.global.forcedVariations:r.user.forcedVariations?r.user.forcedVariations:{}}async function gi(r){try{await r()}catch{}}function yy(r,e,t){if(r.user.trackedExperiments){let i=sl(e,t);if(r.user.trackedExperiments.has(i))return[];r.user.trackedExperiments.add(i)}r.user.enableDevMode&&r.user.devLogs&&r.user.devLogs.push({experiment:e,result:t,timestamp:Date.now().toString(),logType:"experiment"});let n=[];if(r.global.trackingCallback){let i=r.global.trackingCallback;n.push(gi(()=>i(e,t,r.user)))}if(r.user.trackingCallback){let i=r.user.trackingCallback;n.push(gi(()=>i(e,t)))}if(r.global.eventLogger){let i=r.global.eventLogger;n.push(gi(()=>i(WE,{experimentId:e.key,variationId:t.key,hashAttribute:t.hashAttribute,hashValue:t.hashValue},r.user)))}return n}function ZE(r,e,t){if(r.user.trackedFeatureUsage){let n=JSON.stringify(t.value);if(r.user.trackedFeatureUsage[e]===n)return;r.user.trackedFeatureUsage[e]=n,r.user.enableDevMode&&r.user.devLogs&&r.user.devLogs.push({featureKey:e,result:t,timestamp:Date.now().toString(),logType:"feature"})}if(r.global.onFeatureUsage){let n=r.global.onFeatureUsage;gi(()=>n(e,t,r.user))}if(r.user.onFeatureUsage){let n=r.user.onFeatureUsage;gi(()=>n(e,t))}if(r.global.eventLogger){let n=r.global.eventLogger;gi(()=>n(UE,{feature:e,source:t.source,value:t.value,ruleId:t.source==="defaultValue"?"$default":t.ruleId||"",variationId:t.experimentResult?t.experimentResult.key:""},r.user))}}function nl(r,e){if(e.stack.evaluatedFeatures.has(r))return Fr(e,r,null,"cyclicPrerequisite");e.stack.evaluatedFeatures.add(r),e.stack.id=r;let t=zE(e);if(t.has(r))return Fr(e,r,t.get(r),"override");if(!e.global.features||!e.global.features[r])return Fr(e,r,null,"unknownFeature");let n=e.global.features[r];if(n.rules){let i=new Set(e.stack.evaluatedFeatures);e:for(let s of n.rules){if(s.parentConditions)for(let l of s.parentConditions){e.stack.evaluatedFeatures=new Set(i);let c=nl(l.id,e);if(c.source==="cyclicPrerequisite")return Fr(e,r,null,"cyclicPrerequisite");let u={value:c.value};if(!Lr(u,l.condition||{})){if(l.gate)return Fr(e,r,null,"prerequisite");continue e}}if(s.filters&&xy(s.filters,e))continue;if("force"in s){if(s.condition&&!by(s.condition,e)||!GE(e,s.seed||r,s.hashAttribute,e.user.saveStickyBucketAssignmentDoc&&!s.disableStickyBucketing?s.fallbackAttribute:void 0,s.range,s.coverage,s.hashVersion))continue;return s.tracks&&s.tracks.forEach(l=>{!yy(e,l.experiment,l.result).length&&e.global.saveDeferredTrack&&e.global.saveDeferredTrack({experiment:l.experiment,result:l.result})}),Fr(e,r,s.force,"force",s.id)}if(!s.variations)continue;let o={variations:s.variations,key:s.key||r};"coverage"in s&&(o.coverage=s.coverage),s.weights&&(o.weights=s.weights),s.hashAttribute&&(o.hashAttribute=s.hashAttribute),s.fallbackAttribute&&(o.fallbackAttribute=s.fallbackAttribute),s.disableStickyBucketing&&(o.disableStickyBucketing=s.disableStickyBucketing),s.bucketVersion!==void 0&&(o.bucketVersion=s.bucketVersion),s.minBucketVersion!==void 0&&(o.minBucketVersion=s.minBucketVersion),s.namespace&&(o.namespace=s.namespace),s.meta&&(o.meta=s.meta),s.ranges&&(o.ranges=s.ranges),s.name&&(o.name=s.name),s.phase&&(o.phase=s.phase),s.seed&&(o.seed=s.seed),s.hashVersion&&(o.hashVersion=s.hashVersion),s.filters&&(o.filters=s.filters),s.condition&&(o.condition=s.condition);let{result:a}=il(o,r,e);if(e.global.onExperimentEval&&e.global.onExperimentEval(o,a),a.inExperiment&&!a.passthrough)return Fr(e,r,a.value,"experiment",s.id,o,a)}}return Fr(e,r,n.defaultValue===void 0?null:n.defaultValue,"defaultValue")}function il(r,e,t){let n=r.key,i=r.variations.length;if(i<2)return{result:Ae(t,r,-1,!1,e)};if(t.global.enabled===!1||t.user.enabled===!1)return{result:Ae(t,r,-1,!1,e)};if(r=KE(r,t),r.urlPatterns&&!Wa(t.user.url||"",r.urlPatterns))return{result:Ae(t,r,-1,!1,e)};let s=Zv(n,t.user.url||"",i);if(s!==null)return{result:Ae(t,r,s,!1,e)};let o=qE(t);if(n in o){let m=o[n];return{result:Ae(t,r,m,!1,e)}}if(r.status==="draft"||r.active===!1)return{result:Ae(t,r,-1,!1,e)};let{hashAttribute:a,hashValue:l}=Mn(t,r.hashAttribute,t.user.saveStickyBucketAssignmentDoc&&!r.disableStickyBucketing?r.fallbackAttribute:void 0);if(!l)return{result:Ae(t,r,-1,!1,e)};let c=-1,u=!1,p=!1;if(t.user.saveStickyBucketAssignmentDoc&&!r.disableStickyBucketing){let{variation:m,versionIsBlocked:y}=JE({ctx:t,expKey:r.key,expBucketVersion:r.bucketVersion,expHashAttribute:r.hashAttribute,expFallbackAttribute:r.fallbackAttribute,expMinBucketVersion:r.minBucketVersion,expMeta:r.meta});u=m>=0,c=m,p=!!y}if(!u){if(r.filters){if(xy(r.filters,t))return{result:Ae(t,r,-1,!1,e)}}else if(r.namespace&&!Wv(l,r.namespace))return{result:Ae(t,r,-1,!1,e)};if(r.include&&!Gv(r.include))return{result:Ae(t,r,-1,!1,e)};if(r.condition&&!by(r.condition,t))return{result:Ae(t,r,-1,!1,e)};if(r.parentConditions){let m=new Set(t.stack.evaluatedFeatures);for(let y of r.parentConditions){t.stack.evaluatedFeatures=new Set(m);let x=nl(y.id,t);if(x.source==="cyclicPrerequisite")return{result:Ae(t,r,-1,!1,e)};let S={value:x.value};if(!Lr(S,y.condition||{}))return{result:Ae(t,r,-1,!1,e)}}}if(r.groups&&!XE(r.groups,t))return{result:Ae(t,r,-1,!1,e)}}if(r.url&&!YE(r.url,t))return{result:Ae(t,r,-1,!1,e)};let h=Fs(r.seed||n,l,r.hashVersion||1);if(h===null)return{result:Ae(t,r,-1,!1,e)};if(!u){let m=r.ranges||qv(i,r.coverage===void 0?1:r.coverage,r.weights);c=zv(h,m)}if(p)return{result:Ae(t,r,-1,!1,e,void 0,!0)};if(c<0)return{result:Ae(t,r,-1,!1,e)};if("force"in r)return{result:Ae(t,r,r.force===void 0?-1:r.force,!1,e)};if(t.global.qaMode||t.user.qaMode)return{result:Ae(t,r,-1,!1,e)};if(r.status==="stopped")return{result:Ae(t,r,-1,!1,e)};let f=Ae(t,r,c,!0,e,h,u);if(t.user.saveStickyBucketAssignmentDoc&&!r.disableStickyBucketing){let{changed:m,key:y,doc:x}=eC(t,a,Ds(l),{[xd(r.key,r.bucketVersion)]:f.key});m&&(t.user.stickyBucketAssignmentDocs=t.user.stickyBucketAssignmentDocs||{},t.user.stickyBucketAssignmentDocs[y]=x,t.user.saveStickyBucketAssignmentDoc(x))}let v=yy(t,r,f);v.length===0&&t.global.saveDeferredTrack&&t.global.saveDeferredTrack({experiment:r,result:f});let g=v.length?v.length===1?v[0]:Promise.all(v).then(()=>{}):void 0;return"changeId"in r&&r.changeId&&t.global.recordChangeId&&t.global.recordChangeId(r.changeId),{result:f,trackingCall:g}}function Fr(r,e,t,n,i,s,o){let a={value:t,on:!!t,off:!t,source:n,ruleId:i||""};return s&&(a.experiment=s),o&&(a.experimentResult=o),n!=="override"&&ZE(r,e,a),a}function _y(r){return{...r.user.attributes,...r.user.attributeOverrides}}function by(r,e){return Lr(_y(e),r,e.global.savedGroups||{})}function xy(r,e){return r.some(t=>{let{hashValue:n}=Mn(e,t.attribute);if(!n)return!0;let i=Fs(t.seed,n,t.hashVersion||2);return i===null?!0:!t.ranges.some(s=>Ua(i,s))})}function GE(r,e,t,n,i,s,o){if(!i&&s===void 0)return!0;if(!i&&s===0)return!1;let{hashValue:a}=Mn(r,t,n);if(!a)return!1;let l=Fs(e,a,o||1);return l===null?!1:i?Ua(l,i):s!==void 0?l<=s:!0}function Ae(r,e,t,n,i,s,o){let a=!0;(t<0||t>=e.variations.length)&&(t=0,a=!1);let{hashAttribute:l,hashValue:c}=Mn(r,e.hashAttribute,r.user.saveStickyBucketAssignmentDoc&&!e.disableStickyBucketing?e.fallbackAttribute:void 0),u=e.meta?e.meta[t]:{},p={key:u.key||""+t,featureId:i,inExperiment:a,hashUsed:n,variationId:t,value:e.variations[t],hashAttribute:l,hashValue:c,stickyBucketUsed:!!o};return u.name&&(p.name=u.name),s!==void 0&&(p.bucket=s),u.passthrough&&(p.passthrough=u.passthrough),p}function KE(r,e){let t=r.key,n=e.global.overrides;return n&&n[t]&&(r=Object.assign({},r,n[t]),typeof r.url=="string"&&(r.url=cd(r.url))),r}function Mn(r,e,t){let n=e||"id",i="",s=_y(r);return s[n]&&(i=s[n]),!i&&t&&(s[t]&&(i=s[t]),i&&(n=t)),{hashAttribute:n,hashValue:i}}function YE(r,e){let t=e.user.url;if(!t)return!1;let n=t.replace(/^https?:\/\//,"").replace(/^[^/]*\//,"/");return!!(r.test(t)||r.test(n))}function XE(r,e){let t=e.global.groups||{};for(let n=0;n<r.length;n++)if(t[r[n]])return!0;return!1}function JE({ctx:r,expKey:e,expBucketVersion:t,expHashAttribute:n,expFallbackAttribute:i,expMinBucketVersion:s,expMeta:o}){t=t||0,s=s||0,n=n||"id",o=o||[];let a=xd(e,t),l=QE(r,n,i);if(s>0)for(let p=0;p<s;p++){let h=xd(e,p);if(l[h]!==void 0)return{variation:-1,versionIsBlocked:!0}}let c=l[a];if(c===void 0)return{variation:-1};let u=o.findIndex(p=>p.key===c);return u<0?{variation:-1}:{variation:u}}function xd(r,e){return e=e||0,`${r}__${e}`}function wd(r,e){return`${r}||${e}`}function QE(r,e,t){if(!r.user.stickyBucketAssignmentDocs)return{};let{hashAttribute:n,hashValue:i}=Mn(r,e),s=wd(n,Ds(i)),{hashAttribute:o,hashValue:a}=Mn(r,t),l=a?wd(o,Ds(a)):null,c={};return l&&r.user.stickyBucketAssignmentDocs[l]&&Object.assign(c,r.user.stickyBucketAssignmentDocs[l].assignments||{}),r.user.stickyBucketAssignmentDocs[s]&&Object.assign(c,r.user.stickyBucketAssignmentDocs[s].assignments||{}),c}function eC(r,e,t,n){let i=wd(e,t),s=r.user.stickyBucketAssignmentDocs&&r.user.stickyBucketAssignmentDocs[i]?r.user.stickyBucketAssignmentDocs[i].assignments||{}:{},o={...s,...n},a=JSON.stringify(s)!==JSON.stringify(o);return{key:i,doc:{attributeName:e,attributeValue:t,assignments:o},changed:a}}function tC(r,e){let t=new Set,n=e&&e.features?e.features:r.global.features||{},i=e&&e.experiments?e.experiments:r.global.experiments||[];return Object.keys(n).forEach(s=>{let o=n[s];if(o.rules)for(let a of o.rules)a.variations&&(t.add(a.hashAttribute||"id"),a.fallbackAttribute&&t.add(a.fallbackAttribute))}),i.map(s=>{t.add(s.hashAttribute||"id"),s.fallbackAttribute&&t.add(s.fallbackAttribute)}),Array.from(t)}async function wy(r,e,t){let n=Sd(r,t);return e.getAllAssignments(n)}function Sd(r,e){let t={};return tC(r,e).forEach(i=>{let{hashValue:s}=Mn(r,i);t[i]=Ds(s)}),t}async function Sy(r,e,t){if(r={...r},r.encryptedFeatures){try{r.features=JSON.parse(await $n(r.encryptedFeatures,e,t))}catch(n){console.error(n)}delete r.encryptedFeatures}if(r.encryptedExperiments){try{r.experiments=JSON.parse(await $n(r.encryptedExperiments,e,t))}catch(n){console.error(n)}delete r.encryptedExperiments}if(r.encryptedSavedGroups){try{r.savedGroups=JSON.parse(await $n(r.encryptedSavedGroups,e,t))}catch(n){console.error(n)}delete r.encryptedSavedGroups}return r}function ky(r){let e=r.apiHost||"https://cdn.growthbook.io";return{apiHost:e.replace(/\/*$/,""),streamingHost:(r.streamingHost||e).replace(/\/*$/,""),apiRequestHeaders:r.apiHostRequestHeaders,streamingHostRequestHeaders:r.streamingHostRequestHeaders}}function sl(r,e){return e.hashAttribute+e.hashValue+r.key+e.variationId}var mi=typeof window<"u"&&typeof document<"u",rC=Kv(),js=class{constructor(e){if(e=e||{},this.version=rC,this._options=this.context=e,this._renderer=e.renderer||null,this._trackedExperiments=new Set,this._completedChangeIds=new Set,this._trackedFeatures={},this.debug=!!e.debug,this._subscriptions=new Set,this.ready=!1,this._assigned=new Map,this._activeAutoExperiments=new Map,this._triggeredExpKeys=new Set,this._initialized=!1,this._redirectedUrl="",this._deferredTrackingCalls=new Map,this._autoExperimentsAllowed=!e.disableExperimentsOnLoad,this._destroyCallbacks=[],this.logs=[],this.log=this.log.bind(this),this._saveDeferredTrack=this._saveDeferredTrack.bind(this),this._onExperimentEval=this._onExperimentEval.bind(this),this._fireSubscriptions=this._fireSubscriptions.bind(this),this._recordChangedId=this._recordChangedId.bind(this),e.remoteEval){if(e.decryptionKey)throw new Error("Encryption is not available for remoteEval");if(!e.clientKey)throw new Error("Missing clientKey");let t=!1;try{t=!!new URL(e.apiHost||"").hostname.match(/growthbook\.io$/i)}catch{}if(t)throw new Error("Cannot use remoteEval on GrowthBook Cloud")}else if(e.cacheKeyAttributes)throw new Error("cacheKeyAttributes are only used for remoteEval");if(e.stickyBucketService){let t=e.stickyBucketService;this._saveStickyBucketAssignmentDoc=n=>t.saveAssignments(n)}if(e.plugins)for(let t of e.plugins)t(this);if(e.features&&(this.ready=!0),mi&&e.enableDevMode&&(window._growthbook=this,document.dispatchEvent(new Event("gbloaded"))),e.experiments&&(this.ready=!0,this._updateAllAutoExperiments()),this._options.stickyBucketService&&this._options.stickyBucketAssignmentDocs)for(let t in this._options.stickyBucketAssignmentDocs){let n=this._options.stickyBucketAssignmentDocs[t];n&&this._options.stickyBucketService.saveAssignments(n).catch(()=>{})}this.ready&&this.refreshStickyBuckets(this.getPayload())}async setPayload(e){this._payload=e;let t=await Sy(e,this._options.decryptionKey);this._decryptedPayload=t,await this.refreshStickyBuckets(t),t.features&&(this._options.features=t.features),t.savedGroups&&(this._options.savedGroups=t.savedGroups),t.experiments&&(this._options.experiments=t.experiments,this._updateAllAutoExperiments()),this.ready=!0,this._render()}initSync(e){this._initialized=!0;let t=e.payload;if(t.encryptedExperiments||t.encryptedFeatures)throw new Error("initSync does not support encrypted payloads");return this._options.stickyBucketService&&!this._options.stickyBucketAssignmentDocs&&(this._options.stickyBucketAssignmentDocs=this.generateStickyBucketAssignmentDocsSync(this._options.stickyBucketService,t)),this._payload=t,this._decryptedPayload=t,t.features&&(this._options.features=t.features),t.experiments&&(this._options.experiments=t.experiments,this._updateAllAutoExperiments()),this.ready=!0,Ga(this,e),this}async init(e){if(this._initialized=!0,e=e||{},e.cacheSettings&&Qv(e.cacheSettings),e.payload)return await this.setPayload(e.payload),Ga(this,e),{success:!0,source:"init"};{let{data:t,...n}=await this._refresh({...e,allowStale:!0});return Ga(this,e),await this.setPayload(t||{}),n}}async loadFeatures(e){e=e||{},await this.init({skipCache:e.skipCache,timeout:e.timeout,streaming:(this._options.backgroundSync??!0)&&(e.autoRefresh||this._options.subscribeToChanges)})}async refreshFeatures(e){let t=await this._refresh({...e||{},allowStale:!1});t.data&&await this.setPayload(t.data)}getApiInfo(){return[this.getApiHosts().apiHost,this.getClientKey()]}getApiHosts(){return ky(this._options)}getClientKey(){return this._options.clientKey||""}getPayload(){return this._payload||{features:this.getFeatures(),experiments:this.getExperiments()}}getDecryptedPayload(){return this._decryptedPayload||this.getPayload()}isRemoteEval(){return this._options.remoteEval||!1}getCacheKeyAttributes(){return this._options.cacheKeyAttributes}async _refresh({timeout:e,skipCache:t,allowStale:n,streaming:i}){if(!this._options.clientKey)throw new Error("Missing clientKey");return ey({instance:this,timeout:e,skipCache:t||this._options.disableCache,allowStale:n,backgroundSync:i??this._options.backgroundSync??!0})}_render(){if(this._renderer)try{this._renderer()}catch(e){console.error("Failed to render",e)}}setFeatures(e){this._options.features=e,this.ready=!0,this._render()}async setEncryptedFeatures(e,t,n){let i=await $n(e,t||this._options.decryptionKey,n);this.setFeatures(JSON.parse(i))}setExperiments(e){this._options.experiments=e,this.ready=!0,this._updateAllAutoExperiments()}async setEncryptedExperiments(e,t,n){let i=await $n(e,t||this._options.decryptionKey,n);this.setExperiments(JSON.parse(i))}async setAttributes(e){if(this._options.attributes=e,this._options.stickyBucketService&&await this.refreshStickyBuckets(),this._options.remoteEval){await this._refreshForRemoteEval();return}this._render(),this._updateAllAutoExperiments()}async updateAttributes(e){return this.setAttributes({...this._options.attributes,...e})}async setAttributeOverrides(e){if(this._options.attributeOverrides=e,this._options.stickyBucketService&&await this.refreshStickyBuckets(),this._options.remoteEval){await this._refreshForRemoteEval();return}this._render(),this._updateAllAutoExperiments()}async setForcedVariations(e){if(this._options.forcedVariations=e||{},this._options.remoteEval){await this._refreshForRemoteEval();return}this._render(),this._updateAllAutoExperiments()}setForcedFeatures(e){this._options.forcedFeatureValues=e,this._render()}async setURL(e){if(e!==this._options.url){if(this._options.url=e,this._redirectedUrl="",this._options.remoteEval){await this._refreshForRemoteEval(),this._updateAllAutoExperiments(!0);return}this._updateAllAutoExperiments(!0)}}getAttributes(){return{...this._options.attributes,...this._options.attributeOverrides}}getForcedVariations(){return this._options.forcedVariations||{}}getForcedFeatures(){return this._options.forcedFeatureValues||new Map}getStickyBucketAssignmentDocs(){return this._options.stickyBucketAssignmentDocs||{}}getUrl(){return this._options.url||""}getFeatures(){return this._options.features||{}}getExperiments(){return this._options.experiments||[]}getCompletedChangeIds(){return Array.from(this._completedChangeIds)}subscribe(e){return this._subscriptions.add(e),()=>{this._subscriptions.delete(e)}}async _refreshForRemoteEval(){if(!this._options.remoteEval||!this._initialized)return;let e=await this._refresh({allowStale:!1});e.data&&await this.setPayload(e.data)}getAllResults(){return new Map(this._assigned)}onDestroy(e){this._destroyCallbacks.push(e)}isDestroyed(){return!!this._destroyed}destroy(e){e=e||{},this._destroyed=!0,this._destroyCallbacks.forEach(t=>{try{t()}catch(n){console.error(n)}}),this._subscriptions.clear(),this._assigned.clear(),this._trackedExperiments.clear(),this._completedChangeIds.clear(),this._deferredTrackingCalls.clear(),this._trackedFeatures={},this._destroyCallbacks=[],this._payload=void 0,this._saveStickyBucketAssignmentDoc=void 0,ty(this),e.destroyAllStreams&&gd(),this.logs=[],mi&&window._growthbook===this&&delete window._growthbook,this._activeAutoExperiments.forEach(t=>{t.undo()}),this._activeAutoExperiments.clear(),this._triggeredExpKeys.clear()}setRenderer(e){this._renderer=e}forceVariation(e,t){if(this._options.forcedVariations=this._options.forcedVariations||{},this._options.forcedVariations[e]=t,this._options.remoteEval){this._refreshForRemoteEval();return}this._updateAllAutoExperiments(),this._render()}run(e){let{result:t}=il(e,null,this._getEvalContext());return this._onExperimentEval(e,t),t}triggerExperiment(e){return this._triggeredExpKeys.add(e),this._options.experiments?this._options.experiments.filter(n=>n.key===e).map(n=>this._runAutoExperiment(n)).filter(n=>n!==null):null}triggerAutoExperiments(){this._autoExperimentsAllowed=!0,this._updateAllAutoExperiments(!0)}_getEvalContext(){return{user:this._getUserContext(),global:this._getGlobalContext(),stack:{evaluatedFeatures:new Set}}}_getUserContext(){return{attributes:this._options.user?{...this._options.user,...this._options.attributes}:this._options.attributes,enableDevMode:this._options.enableDevMode,blockedChangeIds:this._options.blockedChangeIds,stickyBucketAssignmentDocs:this._options.stickyBucketAssignmentDocs,url:this._getContextUrl(),forcedVariations:this._options.forcedVariations,forcedFeatureValues:this._options.forcedFeatureValues,attributeOverrides:this._options.attributeOverrides,saveStickyBucketAssignmentDoc:this._saveStickyBucketAssignmentDoc,trackingCallback:this._options.trackingCallback,onFeatureUsage:this._options.onFeatureUsage,devLogs:this.logs,trackedExperiments:this._trackedExperiments,trackedFeatureUsage:this._trackedFeatures}}_getGlobalContext(){return{features:this._options.features,experiments:this._options.experiments,log:this.log,enabled:this._options.enabled,qaMode:this._options.qaMode,savedGroups:this._options.savedGroups,groups:this._options.groups,overrides:this._options.overrides,onExperimentEval:this._onExperimentEval,recordChangeId:this._recordChangedId,saveDeferredTrack:this._saveDeferredTrack,eventLogger:this._options.eventLogger}}_runAutoExperiment(e,t){let n=this._activeAutoExperiments.get(e);if(e.manual&&!this._triggeredExpKeys.has(e.key)&&!n)return null;let i=this._isAutoExperimentBlockedByContext(e),s,o;i?s=Ae(this._getEvalContext(),e,-1,!1,""):({result:s,trackingCall:o}=il(e,null,this._getEvalContext()),this._onExperimentEval(e,s));let a=JSON.stringify(s.value);if(!t&&s.inExperiment&&n&&n.valueHash===a)return s;if(n&&this._undoActiveAutoExperiment(e),s.inExperiment){let l=za(e);if(l==="redirect"&&s.value.urlRedirect&&e.urlPatterns){let c=e.persistQueryString?Yv(this._getContextUrl(),s.value.urlRedirect):s.value.urlRedirect;if(Wa(c,e.urlPatterns))return this.log("Skipping redirect because original URL matches redirect URL",{id:e.key}),s;this._redirectedUrl=c;let{navigate:u,delay:p}=this._getNavigateFunction();if(u)if(mi)Promise.all([...o?[qa(o,this._options.maxNavigateDelay??1e3)]:[],new Promise(h=>window.setTimeout(h,this._options.navigateDelay??p))]).then(()=>{try{u(c)}catch(h){console.error(h)}});else try{u(c)}catch(h){console.error(h)}}else if(l==="visual"){let c=this._options.applyDomChangesCallback?this._options.applyDomChangesCallback(s.value):this._applyDOMChanges(s.value);c&&this._activeAutoExperiments.set(e,{undo:c,valueHash:a})}}return s}_undoActiveAutoExperiment(e){let t=this._activeAutoExperiments.get(e);t&&(t.undo(),this._activeAutoExperiments.delete(e))}_updateAllAutoExperiments(e){if(!this._autoExperimentsAllowed)return;let t=this._options.experiments||[],n=new Set(t);this._activeAutoExperiments.forEach((i,s)=>{n.has(s)||(i.undo(),this._activeAutoExperiments.delete(s))});for(let i of t){let s=this._runAutoExperiment(i,e);if(s&&s.inExperiment&&za(i)==="redirect")break}}_onExperimentEval(e,t){let n=this._assigned.get(e.key);this._assigned.set(e.key,{experiment:e,result:t}),this._subscriptions.size>0&&this._fireSubscriptions(e,t,n)}_fireSubscriptions(e,t,n){(!n||n.result.inExperiment!==t.inExperiment||n.result.variationId!==t.variationId)&&this._subscriptions.forEach(i=>{try{i(e,t)}catch(s){console.error(s)}})}_recordChangedId(e){this._completedChangeIds.add(e)}isOn(e){return this.evalFeature(e).on}isOff(e){return this.evalFeature(e).off}getFeatureValue(e,t){let n=this.evalFeature(e).value;return n===null?t:n}feature(e){return this.evalFeature(e)}evalFeature(e){return nl(e,this._getEvalContext())}log(e,t){this.debug&&(this._options.log?this._options.log(e,t):console.log(e,t))}getDeferredTrackingCalls(){return Array.from(this._deferredTrackingCalls.values())}setDeferredTrackingCalls(e){this._deferredTrackingCalls=new Map(e.filter(t=>t&&t.experiment&&t.result).map(t=>[sl(t.experiment,t.result),t]))}async fireDeferredTrackingCalls(){if(!this._options.trackingCallback)return;let e=[];this._deferredTrackingCalls.forEach(t=>{!t||!t.experiment||!t.result?console.error("Invalid deferred tracking call",{call:t}):e.push(this._options.trackingCallback(t.experiment,t.result))}),this._deferredTrackingCalls.clear(),await Promise.all(e)}setTrackingCallback(e){this._options.trackingCallback=e,this.fireDeferredTrackingCalls()}setEventLogger(e){this._options.eventLogger=e}async logEvent(e,t){if(this._destroyed){console.error("Cannot log event to destroyed GrowthBook instance");return}if(this._options.enableDevMode&&this.logs.push({eventName:e,properties:t,timestamp:Date.now().toString(),logType:"event"}),this._options.eventLogger)try{await this._options.eventLogger(e,t||{},this._getUserContext())}catch(n){console.error(n)}else console.error("No event logger configured")}_saveDeferredTrack(e){this._deferredTrackingCalls.set(sl(e.experiment,e.result),e)}_getContextUrl(){return this._options.url||(mi?window.location.href:"")}_isAutoExperimentBlockedByContext(e){let t=za(e);if(t==="visual"){if(this._options.disableVisualExperiments||this._options.disableJsInjection&&e.variations.some(n=>n.js))return!0}else if(t==="redirect"){if(this._options.disableUrlRedirectExperiments)return!0;try{let n=new URL(this._getContextUrl());for(let i of e.variations){if(!i||!i.urlRedirect)continue;let s=new URL(i.urlRedirect);if(this._options.disableCrossOriginUrlRedirectExperiments&&(s.protocol!==n.protocol||s.host!==n.host))return!0}}catch(n){return this.log("Error parsing current or redirect URL",{id:e.key,error:n}),!0}}else return!0;return!!(e.changeId&&(this._options.blockedChangeIds||[]).includes(e.changeId))}getRedirectUrl(){return this._redirectedUrl}_getNavigateFunction(){return this._options.navigate?{navigate:this._options.navigate,delay:0}:mi?{navigate:e=>{window.location.replace(e)},delay:100}:{navigate:null,delay:0}}_applyDOMChanges(e){if(!mi)return;let t=[];if(e.css){let n=document.createElement("style");n.innerHTML=e.css,document.head.appendChild(n),t.push(()=>n.remove())}if(e.js){let n=document.createElement("script");n.innerHTML=e.js,this._options.jsInjectionNonce&&(n.nonce=this._options.jsInjectionNonce),document.head.appendChild(n),t.push(()=>n.remove())}return e.domMutations&&e.domMutations.forEach(n=>{t.push(hy.declarative(n).revert)}),()=>{t.forEach(n=>n())}}async refreshStickyBuckets(e){if(this._options.stickyBucketService){let t=this._getEvalContext(),n=await wy(t,this._options.stickyBucketService,e);this._options.stickyBucketAssignmentDocs=n}}generateStickyBucketAssignmentDocsSync(e,t){if(!("getAllAssignmentsSync"in e)){console.error("generating StickyBucketAssignmentDocs docs requires StickyBucketServiceSync");return}let n=this._getEvalContext(),i=Sd(n,t);return e.getAllAssignmentsSync(i)}inDevMode(){return!!this._options.enableDevMode}};var nC="https://experiment.syntrologie.com",kd=class{constructor(e={}){this.featureListeners=new Set;if(e.client)this.gb=e.client;else{let t=e.onExperimentViewed?(n,i)=>{e.onExperimentViewed(n.key,i.variationId,typeof i.value=="string"?i.value:`variation_${i.variationId}`)}:void 0;this.gb=new js({...e,apiHost:e.apiHost??nC,enableDevMode:e.enableDevMode??!0,trackingCallback:t}),e.autoInit&&this.gb.init({streaming:!0})}}get _internal(){return this.gb}async refreshFeatures(){await this.gb.loadFeatures()}setAttributes(e){this.gb.setAttributes({...this.gb.getAttributes(),...e})}setForcedVariations(e){this.gb.setForcedVariations(e)}getFeatureValue(e,t){return this.gb.getFeatureValue(e,t)}getAllFeatures(){let e=this.gb.getFeatures(),t={};for(let n of Object.keys(e))t[n]=this.gb.getFeatureValue(n,null);return t}shouldRenderRectangle(e){return!0}onFeaturesChanged(e){return this.featureListeners.add(e),this.featureListeners.size===1&&this.gb.setRenderer(()=>{for(let t of this.featureListeners)t()}),()=>{this.featureListeners.delete(e),this.featureListeners.size===0&&this.gb.setRenderer(null)}}};function Ed(r={}){return new kd(r)}var Ey={growthbook:r=>Ed({...r,autoInit:!0})};function Cy(r,e){let t=Ey[r];if(!t)throw new Error(`Unknown experiment provider: ${r}. Supported: ${Object.keys(Ey).join(", ")}`);return t(e)}var iC=["cdn.syntrologie.com","localhost","127.0.0.1"];function sC(r){try{let e=new URL(r),t=/^(localhost|127\.0\.0\.1)$/.test(e.hostname);return e.protocol!=="https:"&&!t?(console.warn("[SmartCanvas] CDN URL must use HTTPS:",r),!1):iC.some(i=>e.hostname===i)?!0:(console.warn("[SmartCanvas] CDN host not in allowlist:",e.hostname),!1)}catch{return console.warn("[SmartCanvas] Invalid CDN URL:",r),!1}}var Cd=class{constructor(e){this.name="cdn";if(this.url=`${e.baseUrl}/${e.configId}.json`,this.integrity=e.integrity,!sC(this.url))throw new Error(`[SmartCanvas] CDN URL not allowed: ${this.url}`)}async fetch(){let e=performance.now(),t=await fetch(this.url,{credentials:"omit",cache:"default"});if(!t.ok)throw new Error(`[SmartCanvas] Failed to fetch config from CDN (${t.status})`);let n=await t.text();if(this.integrity){let l=await oC(n),c=this.integrity.replace("sha384-","");if(l!==c)throw new Error(`[SmartCanvas] Config integrity check failed. Expected ${c}, got ${l}`)}let i=JSON.parse(n),s=performance.now()-e,o=t.headers.get("cache-control"),a=t.headers.get("age");return{config:i,meta:{source:"cdn",fetchTimeMs:s,cached:o?.includes("public")??!1,cacheAge:a?parseInt(a,10):void 0}}}};async function oC(r){let t=new TextEncoder().encode(r),n=await crypto.subtle.digest("SHA-384",t),i=new Uint8Array(n);return btoa(String.fromCharCode(...i))}function Ay(r){return new Cd(r)}var aC="syntro_exp",lC="syntro_var",Ad=class{constructor(e){this.name="experiments";this.client=e.client,this.featureKey=e.featureKey,this.manifestKey=e.manifestKey,this.variantFlagPrefix=e.variantFlagPrefix}async fetch(){let e=performance.now();if(typeof window<"u"){let i=new URLSearchParams(window.location.search),s=i.get(aC),o=i.get(lC);if(s&&o!==null&&this.client.setForcedVariations){let a=parseInt(o,10);Number.isNaN(a)||(console.log(`[SmartCanvas] Preview mode: forcing "${s}" to variation ${a}`),this.client.setForcedVariations({[s]:a}))}}if(this.manifestKey||this.variantFlagPrefix||this.client.getAllFeatures){let i=this.fetchMultiFlag();if(i){let s=performance.now()-e;return{config:i,meta:{source:"experiments",fetchTimeMs:s,cached:!0}}}}if(!this.featureKey)throw new Error("[SmartCanvas] No featureKey configured and no variant flags found. Ensure at least one config feature flag exists in your experiment platform.");let t=this.client.getFeatureValue?.(this.featureKey,null);if(!t||typeof t!="object")throw new Error(`[SmartCanvas] Feature "${this.featureKey}" not found or invalid. Ensure the feature is configured in your experiment platform.`);let n=performance.now()-e;return{config:t,meta:{source:"experiments",fetchTimeMs:n,cached:!0}}}fetchMultiFlag(){let e=this.getVariantFlagKeys();return!e||e.length===0?null:Ca(this.client,e)}getVariantFlagKeys(){if(this.manifestKey){let e=this.client.getFeatureValue?.(this.manifestKey,null);if(e&&typeof e=="object"){let t=e.variant_flags;if(t&&t.length>0)return t}}if(this.client.getAllFeatures){let e=this.client.getAllFeatures();return this.variantFlagPrefix?Object.keys(e).filter(t=>t.startsWith(this.variantFlagPrefix)):Object.keys(e)}return[]}};function Ry(r){return new Ad(r)}var cC="https://cdn.syntrologie.com/configs",Ty={cdn:r=>{if(!r.configId)throw new Error("CDN fetcher requires 'configId' option");return Ay({baseUrl:r.baseUrl??cC,configId:r.configId,integrity:r.integrity})},experiments:r=>{if(!r.featureKey)throw new Error("Experiments fetcher requires 'featureKey' option");return Ry({featureKey:r.featureKey})}};function Iy(r,e={}){let t=Ty[r];if(!t)throw new Error(`Unknown config fetcher type: ${r}. Supported: ${Object.keys(Ty).join(", ")}`);return t(e)}var $y="syntro_session_metrics",ol=class{constructor(e={}){this.metrics=new Map;this.subscribers=new Set;this.experiments=e.experiments,this.attributePrefix=e.attributePrefix??"session_",this.onMetricChange=e.onMetricChange,this.loadFromStorage()}increment(e,t=1){let i=(this.metrics.get(e)??0)+t;return this.metrics.set(e,i),this.saveToStorage(),this.updateExperimentAttributes(e,i),this.onMetricChange?.(e,i),this.notifySubscribers(),i}set(e,t){this.metrics.set(e,t),this.saveToStorage(),this.updateExperimentAttributes(e,t),this.onMetricChange?.(e,t),this.notifySubscribers()}get(e){return this.metrics.get(e)??0}meetsThreshold(e,t){return this.get(e)>=t}getAll(){return Object.fromEntries(this.metrics)}reset(e){this.metrics.delete(e),this.saveToStorage(),this.updateExperimentAttributes(e,0),this.onMetricChange?.(e,0),this.notifySubscribers()}resetAll(){let e=Array.from(this.metrics.keys());this.metrics.clear(),this.saveToStorage();let t={};for(let n of e)t[`${this.attributePrefix}${n}`]=0,this.onMetricChange?.(n,0);this.experiments?.setAttributes?.(t),this.notifySubscribers()}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}destroy(){this.subscribers.clear()}setExperiments(e){this.experiments=e,this.syncAllToExperiments()}updateExperimentAttributes(e,t){if(!this.experiments?.setAttributes)return;let n=`${this.attributePrefix}${e}`;this.experiments.setAttributes({[n]:t})}syncAllToExperiments(){if(!this.experiments?.setAttributes)return;let e={};for(let[t,n]of this.metrics)e[`${this.attributePrefix}${t}`]=n;this.experiments.setAttributes(e)}notifySubscribers(){for(let e of this.subscribers)try{e()}catch{}}loadFromStorage(){if(!(typeof window>"u"||typeof sessionStorage>"u"))try{let e=sessionStorage.getItem($y);if(e){let t=JSON.parse(e);for(let[n,i]of Object.entries(t))this.metrics.set(n,i.count)}}catch(e){console.warn("[SessionMetricTracker] Failed to load from sessionStorage:",e)}}saveToStorage(){if(!(typeof window>"u"||typeof sessionStorage>"u"))try{let e={};for(let[t,n]of this.metrics)e[t]={count:n,lastUpdated:Date.now()};sessionStorage.setItem($y,JSON.stringify(e))}catch(e){console.warn("[SessionMetricTracker] Failed to save to sessionStorage:",e)}}};function Rd(r={}){return new ol(r)}var al=class{constructor(e){this.unsubUnload=null;this.unsubLoad=null;this.destroyed=!1;this.adapter=e}activate(){this.destroyed||(this.unsubUnload=this.adapter.onRegionWillUnload(e=>{this.hideContentInSection(e)}),this.unsubLoad=this.adapter.onRegionDidLoad(e=>{this.revealContentInSection(e)}))}destroy(){this.destroyed=!0,this.unsubUnload?.(),this.unsubLoad?.(),this.unsubUnload=null,this.unsubLoad=null}hideContentInSection(e){let t=this.sectionSelector(e),n=document.querySelectorAll(`${t} [data-syntro-action-id]`);for(let i of n)i.style.opacity="0",i.style.transition="none"}revealContentInSection(e){let t=this.sectionSelector(e);requestAnimationFrame(()=>{if(this.destroyed)return;let n=document.querySelectorAll(`${t} [data-syntro-action-id]`);for(let i of n)i.style.transition="opacity 120ms ease-in",i.style.opacity="1"})}sectionSelector(e){let t=typeof CSS<"u"?CSS.escape(e):e;return document.getElementById(`shopify-section-${e}`)?`#shopify-section-${t}`:`.shopify-section[id$="-${t}"]`}};var ll=class{constructor(e){this.name="shopify";this.loadCallbacks=new Set;this.unloadCallbacks=new Set;this.abortController=null;this.antiFlicker=null;this.initTimeoutMs=e?.initTimeoutMs??3e3}detect(){return typeof window>"u"||typeof document>"u"?!1:!!("Shopify"in window&&window.Shopify!=null||document.querySelector('meta[name="shopify-checkout-api-token"]'))}async onInit(){this.abortController=new AbortController;let{signal:e}=this.abortController;this.attachSectionListeners(e),this.antiFlicker=new al(this),this.antiFlicker.activate(),await this.waitForInitialSections(this.initTimeoutMs,e)}onRegionDidLoad(e){return this.loadCallbacks.add(e),()=>{this.loadCallbacks.delete(e)}}onRegionWillUnload(e){return this.unloadCallbacks.add(e),()=>{this.unloadCallbacks.delete(e)}}onRegionMutated(e){}getAnchorScope(e){let t=e.closest(".shopify-section");return t?.id?`#${typeof CSS<"u"?CSS.escape(t.id):t.id} `:""}destroy(){this.antiFlicker?.destroy(),this.antiFlicker=null,this.abortController&&(this.abortController.abort(),this.abortController=null),this.loadCallbacks.clear(),this.unloadCallbacks.clear()}attachSectionListeners(e){document.addEventListener("shopify:section:load",t=>{let n=t.detail?.sectionId;if(n)for(let i of this.loadCallbacks)try{i(n)}catch{}},{signal:e}),document.addEventListener("shopify:section:unload",t=>{let n=t.detail?.sectionId;if(n)for(let i of this.unloadCallbacks)try{i(n)}catch{}},{signal:e})}waitForInitialSections(e,t){return new Promise(n=>{if(document.querySelector(".shopify-section")){n();return}let i=!1,s=()=>{i||(i=!0,n())};document.addEventListener("shopify:section:load",()=>s(),{once:!0,signal:t});let o=setTimeout(s,e);t.addEventListener("abort",()=>{clearTimeout(o),s()},{once:!0})})}};var uC=[()=>new ll];function My(){for(let r of uC){let e=r();if(e.detect())return e}return null}var Td="syntro_experiments";var pC=720*60*60,cl=class{constructor(e){this.context={...e,telemetryHost:e.telemetryHost.replace(/\/$/,"")},this.writeCookie()}updateContext(e){this.context={...e,telemetryHost:e.telemetryHost.replace(/\/$/,"")},this.writeCookie()}destroy(){document.cookie=`${Td}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Lax`}writeCookie(){let e={version:1,distinct_id:this.context.distinctId,telemetry_host:this.context.telemetryHost,telemetry_key:this.context.telemetryKey},t=encodeURIComponent(JSON.stringify(e)),n=`${Td}=${t}; max-age=${pC}; path=/; SameSite=Lax`;document.cookie=n}};function Oy(r){return r<768?"mobile":r<1024?"tablet":"desktop"}function $d(r,e){return r==="telegram"||r==="mcp-app"?"agent":e==="mobile"?"mobile":"desktop"}function hC(r="web",e="web"){let t=Date.now(),n=typeof window<"u"?window.innerWidth:0,i=typeof window<"u"?window.innerHeight:0,s=Oy(n);return{page:{url:typeof window<"u"?window.location.href:"",title:typeof document<"u"?document.title:void 0},session:{sessionId:"",startTs:t,pageHistory:[]},viewport:{width:n,height:i},surface:{type:r,host:e,device:s,mode:$d(r,s)}}}function Id(r,e){if(!e)return;let t;try{t=new URL(r).pathname}catch{t=r}if(t.startsWith("/")||(t=`/${t}`),e.exclude){for(let n of e.exclude)if(Py(t,n))return}if(e.include){for(let n of e.include)if(Py(t,n))return n;return}return t}function Py(r,e){let t=r.replace(/\/$/,"")||"/",n=e.replace(/\/$/,"")||"/";if(t===n)return!0;let i=n.replace(/:[^/]+/g,"[^/]+").replace(/\*/g,".*");return new RegExp(`^${i}$`).test(t)}var ul=class{constructor(e){this.listeners=new Set;this.cleanupFns=[];if(this.telemetry=e.telemetry,this.routes=e.routes,this.navigation=e.navigation,this.context=hC(e.initialSurfaceType,e.initialSurfaceHost),this.previousContext={...this.context},e.telemetry?.getSessionId){let t=e.telemetry.getSessionId();t&&(this.context.session.sessionId=t)}e.initialPageHistory&&(this.context.session.pageHistory=e.initialPageHistory),this.context.page.routeId=Id(this.context.page.url,this.routes),this.addPageToHistory(this.context.page.url),typeof window<"u"&&this.setupBrowserListeners()}get(){return{...this.context}}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setRoutes(e){this.routes=e;let t=Id(this.context.page.url,this.routes);t!==this.context.page.routeId&&this.updateContext({page:{...this.context.page,routeId:t}})}setAnchors(e){this.updateContext({anchors:e})}setSessionId(e){e!==this.context.session.sessionId&&this.updateContext({session:{...this.context.session,sessionId:e}})}setSurfaceType(e){if(e===this.context.surface.type)return;let t=$d(e,this.context.surface.device);this.updateContext({surface:{...this.context.surface,type:e,mode:t}})}setSurfaceHost(e){e!==this.context.surface.host&&this.updateContext({surface:{...this.context.surface,host:e}})}destroy(){for(let e of this.cleanupFns)e();this.cleanupFns=[],this.listeners.clear()}setupBrowserListeners(){let e,t=()=>{clearTimeout(e),e=setTimeout(()=>{this.updateViewport()},100)};window.addEventListener("resize",t),this.cleanupFns.push(()=>window.removeEventListener("resize",t));let n=this.navigation.subscribe(()=>this.updatePage());this.cleanupFns.push(n)}updateViewport(){let e={width:window.innerWidth,height:window.innerHeight},t=e.width!==this.context.viewport.width,n=e.height!==this.context.viewport.height;if(!t&&!n)return;let i={viewport:e};if(t){let s=Oy(e.width);if(s!==this.context.surface.device){let o=$d(this.context.surface.type,s);i.surface={...this.context.surface,device:s,mode:o}}}this.updateContext(i)}updatePage(){let e=window.location.href,{title:t}=document,n=Id(e,this.routes),i={url:e,title:t,routeId:n};(i.url!==this.context.page.url||i.title!==this.context.page.title||i.routeId!==this.context.page.routeId)&&(i.url!==this.context.page.url&&this.addPageToHistory(i.url),this.updateContext({page:i}))}addPageToHistory(e){let t={url:e,ts:Date.now()},n=[...this.context.session.pageHistory||[],t];n.length>50&&n.shift(),this.context.session.pageHistory=n}updateContext(e){this.previousContext={...this.context},this.context={...this.context,...e},this.notifyListeners()}notifyListeners(){for(let e of this.listeners)try{e(this.context,this.previousContext)}catch(t){console.error("[ContextManager] Listener error:",t)}}};function Md(r){return new ul(r)}function Ny(r,e){let{context:t,state:n,events:i}=e;switch(r.type){case"page_url":{let{url:s}=r,o=t.page.url.split("?")[0].split("#")[0],a=s.replace(/\*\*/g,"\0GLOBSTAR\0").replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]*").replace(/\0GLOBSTAR\0/g,".*");return new RegExp(`^${a}$`).test(o)}case"route":return t.page.routeId===r.routeId;case"anchor_visible":{let s=t.anchors?.find(o=>o.anchorId===r.anchorId);switch(r.state){case"visible":return s?.visible===!0;case"present":return s?.present===!0;case"absent":return!s?.present;default:return!1}}case"event_occurred":{if(!i)return!1;let s=r.withinMs??6e4;return i.hasRecentEvent(r.eventName,s)}case"state_equals":return n?.getValue?n.getValue(r.key)===r.value:!1;case"viewport":{let{width:s,height:o}=t.viewport;return!(r.minWidth!==void 0&&s<r.minWidth||r.maxWidth!==void 0&&s>r.maxWidth||r.minHeight!==void 0&&o<r.minHeight||r.maxHeight!==void 0&&o>r.maxHeight)}case"session_metric":{let s=e.sessionMetrics?e.sessionMetrics.get(r.key):n?.getSessionMetric(r.key);if(s===void 0)return!1;let{operator:o,threshold:a}=r;switch(o){case"gte":return s>=a;case"lte":return s<=a;case"eq":return s===a;case"gt":return s>a;case"lt":return s<a;default:return!1}}case"dismissed":{if(!n)return r.inverted??!1;let s=n.isDismissed(r.key);return r.inverted?!s:s}case"cooldown_active":{if(!n)return r.inverted??!1;let s=n.isCooldownActive(r.key);return r.inverted?!s:s}case"frequency_limit":{if(!n)return r.inverted??!1;let o=n.getFrequencyCount(r.key)>=r.limit;return r.inverted?!o:o}case"event_count":{if(!e.accumulator)return!1;let s=r,o=e.accumulator.getCount(s.key,s.withinMs);switch(s.operator){case"gte":return o>=s.count;case"lte":return o<=s.count;case"eq":return o===s.count;case"gt":return o>s.count;case"lt":return o<s.count;default:return!1}}default:return console.warn("[RuleStrategy] Unknown condition type:",r.type),!1}}function Ly(r,e){let t=[];for(let n of r.conditions){let i=Ny(n,e);if(t.push({condition:n,result:i}),!i)return{matched:!1,conditionResults:t}}return{matched:!0,conditionResults:t}}function dl(r,e){for(let t=0;t<r.rules.length;t++){let n=r.rules[t],{matched:i,conditionResults:s}=Ly(n,e);if(i)return{value:n.value,isFallback:!1,matchInfo:{strategyType:"rules",matchedRuleIndex:t,evaluatedConditions:s}}}return{value:r.default,isFallback:!0,matchInfo:{strategyType:"rules"}}}function pl(r,e){let{context:t}=e,n=t.augmented?.[r.field];return n===void 0||typeof n!="number"?{value:r.below,isFallback:!0,matchInfo:{strategyType:"score"}}:{value:n>=r.threshold?r.above:r.below,isFallback:!1,matchInfo:{strategyType:"score"}}}function Fy(r,e){let{state:t,events:n,sessionMetrics:i,accumulator:s}=e;return{context:r,state:t?{isDismissed:o=>t.dismissals.isDismissed(o),isCooldownActive:o=>t.cooldowns.isActive(o),getFrequencyCount:o=>t.frequency.count(o),getSessionMetric:o=>i?.get(o)??0,getValue:o=>t.session.get(o)??t.user.get(o)}:void 0,sessionMetrics:i?{get:o=>i.get(o)??0}:void 0,events:n?{hasRecentEvent:(o,a)=>n.hasRecentEvent(o,a)}:void 0,accumulator:s?{getCount:(o,a)=>s.getCount(o,a)}:void 0}}async function Dy(r,e,t={}){let n=Fy(e,t);switch(r.type){case"rules":return dl(r,n);case"score":return pl(r,n);case"model":return{value:r.default,isFallback:!0,matchInfo:{strategyType:"model"}};case"external":return{value:r.default,isFallback:!0,matchInfo:{strategyType:"external"}};default:return console.warn("[DecisionEngine] Unknown strategy type:",r.type),{value:void 0,isFallback:!0,matchInfo:{strategyType:r.type}}}}function Hy(r,e,t={}){let n=Fy(e,t);switch(r.type){case"rules":return dl(r,n);case"score":return pl(r,n);case"model":case"external":return{value:r.default,isFallback:!0,matchInfo:{strategyType:r.type}};default:return{value:void 0,isFallback:!0,matchInfo:{strategyType:r.type}}}}function Pd(r){return{evaluate:(e,t)=>Dy(e,t,r),evaluateSync:(e,t)=>Hy(e,t,r)}}function Od(r){let{eventBus:e,stateStore:t}=r,n=new Map,i=new Set,s=null,o=t.ns("accumulator");function a(c){let u=!1;for(let p of n.values()){if(!p.predicate(c))continue;let h=o.get(p.stateKey)||{count:0};h.count++,p.needsTimestamps&&(h.timestamps||(h.timestamps=[]),h.timestamps.push(c.ts),h.timestamps.length>200&&(h.timestamps=h.timestamps.slice(-200))),o.set(p.stateKey,h),u=!0}if(u)for(let p of i)try{p()}catch(h){console.error("[EventAccumulator] Subscriber error:",h)}}function l(){s||n.size===0||(s=e.subscribe(a))}return{register(c,u,p=!1){let h=`ev:${c}`,f=n.get(h);if(f){p&&!f.needsTimestamps&&(f.needsTimestamps=!0);return}n.set(h,{stateKey:h,needsTimestamps:p,predicate:u}),l()},getCount(c,u){let p=`ev:${c}`,h=o.get(p);if(!h)return 0;if(u===void 0||!h.timestamps)return h.count;let f=Date.now()-u;return h.timestamps.filter(v=>v>=f).length},subscribe(c){return i.add(c),()=>{i.delete(c)}},destroy(){s&&(s(),s=null),n.clear(),i.clear()}}}var Us=class{constructor(){this.listeners=new Set;this.destroyed=!1;this.onPopState=()=>{this.notify(window.location.href,"popstate")};this.wasNative=this.isNativeFunction(history.pushState),this.capturedPushState=history.pushState,this.capturedReplaceState=history.replaceState,history.pushState=(...e)=>{this.capturedPushState.call(history,...e),queueMicrotask(()=>this.notify(window.location.href,"pushState"))},history.replaceState=(...e)=>{this.capturedReplaceState.call(history,...e),queueMicrotask(()=>this.notify(window.location.href,"replaceState"))},window.addEventListener("popstate",this.onPopState)}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}diagnose(){return{isNative:this.wasNative,subscriberCount:this.listeners.size}}destroy(){this.destroyed||(this.destroyed=!0,history.pushState=this.capturedPushState,history.replaceState=this.capturedReplaceState,window.removeEventListener("popstate",this.onPopState),this.listeners.clear())}notify(e,t){if(!this.destroyed)for(let n of this.listeners)try{n(e,t)}catch{}}isNativeFunction(e){try{return Function.prototype.toString.call(e).includes("[native code]")}catch{return!1}}};var Nd="cooldown:";function By(r){return{set(e,t){let n=Nd+e,i=Date.now()+t;r.set(n,i)},isActive(e){return this.remaining(e)>0},remaining(e){let t=Nd+e,n=r.get(t);if(n===void 0)return 0;let i=n-Date.now();return i<=0?(r.remove(t),0):i},clear(e){let t=Nd+e;r.remove(t)}}}var Ws="dismissed:";function Vy(r,e){return{mark(t,n=!1){let i=Ws+t;(n?e:r).set(i,!0)},isDismissed(t){let n=Ws+t;return r.has(n)||e.has(n)},clear(t){let n=Ws+t;r.remove(n),e.remove(n)},clearAll(){for(let t of r.keys())t.startsWith(Ws)&&r.remove(t);for(let t of e.keys())t.startsWith(Ws)&&e.remove(t)}}}var Ld="freq:";function jy(r){function e(t){let n=Ld+t,i=r.get(n);if(i){if(i.resetAt&&Date.now()>=i.resetAt){r.remove(n);return}return i}}return{increment(t,n){let i=Ld+t,s=e(t),o=(s?.count??0)+1,a={count:o,resetAt:s?.resetAt??(n?Date.now()+n:void 0)};return r.set(i,a),o},count(t){return e(t)?.count??0},reset(t){let n=Ld+t;r.remove(n)},hasReachedLimit(t,n){return this.count(t)>=n}}}var fC="syntro";function Fd(r,e){let t=`${e}:`;return{get(n){if(r)try{let i=r.getItem(t+n);if(!i)return;let s=JSON.parse(i);if(s.expiresAt&&Date.now()>=s.expiresAt){r.removeItem(t+n);return}return s.value}catch{return}},set(n,i,s){if(r)try{let o={value:i,expiresAt:s?Date.now()+s:void 0};r.setItem(t+n,JSON.stringify(o))}catch(o){console.warn("[StateStore] Failed to save:",o)}},remove(n){r&&r.removeItem(t+n)},has(n){return r?this.get(n)!==void 0:!1},keys(){if(!r)return[];let n=[];for(let i=0;i<r.length;i++){let s=r.key(i);s?.startsWith(t)&&n.push(s.slice(t.length))}return n},clear(){if(!r)return;let n=this.keys();for(let i of n)r.removeItem(t+i)}}}function zs(r){let e=new Map,t=`${r}:`;return{get(n){let i=e.get(t+n);if(i){if(i.expiresAt&&Date.now()>=i.expiresAt){e.delete(t+n);return}return i.value}},set(n,i,s){e.set(t+n,{value:i,expiresAt:s?Date.now()+s:void 0})},remove(n){e.delete(t+n)},has(n){return this.get(n)!==void 0},keys(){let n=[];for(let i of e.keys())i.startsWith(t)&&n.push(i.slice(t.length));return n},clear(){for(let n of e.keys())n.startsWith(t)&&e.delete(n)}}}var hl=class{constructor(e={}){this.namespacedStorages=new Map;this.namespace=e.namespace??fC;let t=n=>typeof n=="object"&&n!==null&&typeof n.setItem=="function";typeof window<"u"?(this.session=t(window.sessionStorage)?Fd(window.sessionStorage,this.namespace):zs(this.namespace),this.user=t(window.localStorage)?Fd(window.localStorage,this.namespace):zs(this.namespace)):(this.session=zs(this.namespace),this.user=zs(this.namespace)),this.dismissals=Vy(this.session,this.user),this.cooldowns=By(this.user),this.frequency=jy(this.session)}ns(e){let t=`${this.namespace}:${e}`;if(!this.namespacedStorages.has(t)){let n=typeof window<"u"&&typeof sessionStorage<"u"?Fd(sessionStorage,t):zs(t);this.namespacedStorages.set(t,n)}return this.namespacedStorages.get(t)}};function Dd(r={}){return new hl(r)}function qs(r){return r.startsWith("inline:")?"inline":r.startsWith("adjacent:")?"adjacent":"static"}function fl(r){return r.startsWith("inline:")?r.slice(7):r.startsWith("adjacent:")?r.slice(9):null}var Uy={drawer_right:{position:"fixed",top:"0",right:"0",bottom:"0",width:"360px",maxWidth:"90vw"},drawer_left:{position:"fixed",top:"0",left:"0",bottom:"0",width:"360px",maxWidth:"90vw"},drawer_bottom:{position:"fixed",left:"0",right:"0",bottom:"0",maxHeight:"50vh"},overlay_center:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",maxWidth:"90vw",maxHeight:"90vh"},overlay_corner_br:{position:"fixed",bottom:"16px",right:"16px",maxWidth:"400px",maxHeight:"80vh"},overlay_corner_bl:{position:"fixed",bottom:"16px",left:"16px",maxWidth:"400px",maxHeight:"80vh"},toast_top:{position:"fixed",top:"16px",left:"50%",transform:"translateX(-50%)",maxWidth:"90vw"},toast_bottom:{position:"fixed",bottom:"16px",left:"50%",transform:"translateX(-50%)",maxWidth:"90vw"}},Zs={fade:[{opacity:0},{opacity:1}],slide:[{opacity:0,transform:"translateY(10px)"},{opacity:1,transform:"translateY(0)"}],scale:[{opacity:0,transform:"scale(0.95)"},{opacity:1,transform:"scale(1)"}],none:[]},Wy={duration:200,easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"};function Hd(r,e,t){let n=Uy[e];Object.assign(r.style,n),t&&(t.maxWidth&&(r.style.maxWidth=t.maxWidth),t.maxHeight&&(r.style.maxHeight=t.maxHeight),t.minWidth&&(r.style.minWidth=t.minWidth),t.minHeight&&(r.style.minHeight=t.minHeight))}function Bd(r,e,t){let n=t.placement==="auto"?"bottom":t.placement,i=[Bo(t.offset?{mainAxis:t.offset.y,crossAxis:t.offset.x}:8)];return t.flip!==!1&&i.push(jo()),t.shift!==!1&&i.push(Vo({padding:8})),r.style.position="absolute",r.style.zIndex="2147483646",Ho(e,r,async()=>{let{x:o,y:a,strategy:l}=await Uo(e,r,{placement:n,middleware:i});Object.assign(r.style,{position:l,left:`${o}px`,top:`${a}px`})})}function Vd(r,e,t="append"){return r.style.position="relative",r.style.display="inline-block",t==="prepend"?e.insertBefore(r,e.firstChild):e.appendChild(r),()=>{r.remove()}}function jd(r,e){return e==="none"||Zs[e].length===0?null:r.animate(Zs[e],Wy)}function Ud(r,e){if(e==="none"||Zs[e].length===0)return Promise.resolve();let t=[...Zs[e]].reverse(),n=r.animate(t,Wy);return new Promise(i=>{n.onfinish=()=>i(),n.oncancel=()=>i()})}function Wd(r,e){let t=document.createElement("div");return t.setAttribute("data-syntro-surface",r),t.setAttribute("data-syntro-mount-id",e),t.className="syntro-surface",Object.assign(t.style,{pointerEvents:"auto",boxSizing:"border-box",overflow:"auto"}),t}function zd(r){switch(qs(r)){case"static":return r.startsWith("drawer")?2147483640:r.startsWith("overlay")?2147483642:r.startsWith("toast")?2147483644:2147483640;case"inline":return 1;case"adjacent":return 2147483638;default:return 2147483640}}function zy(r){if(typeof window.Sanitizer=="function")try{let l=new window.Sanitizer({}).sanitizeToFragment(r),c=document.createElement("div");return c.append(l),c.innerHTML}catch{}let t=document.createElement("template");t.innerHTML=r;let n=t.content,i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,null),s=new Set(["b","strong","i","em","u","span","div","p","br","ul","ol","li","code","pre","small","sup","sub","a","button"]),o=[];for(;i.nextNode();){let a=i.currentNode,l=a.tagName.toLowerCase();if(!s.has(l)){o.push(a);continue}for(let c of Array.from(a.attributes)){let u=c.name.toLowerCase(),p=c.value.trim().toLowerCase(),h=u.startsWith("on"),f=(u==="href"||u==="src")&&p.startsWith("javascript:");(h||f)&&a.removeAttribute(c.name)}}for(let a of o){for(;a.firstChild;)a.parentNode?.insertBefore(a.firstChild,a);a.remove()}return t.innerHTML=(n.firstChild,t.innerHTML)}var gC=0;function qd(r){let{overlayRoot:e,eventBus:t,anchorResolver:n,defaultAnimation:i="fade",widgetRegistry:s}=r,o=new Map,a=new Map,l=new Map;function c(){return`mount-${++gC}`}function u(_,w){t&&t.publish(_,w)}function p(_){let w=l.get(_);if(w){let C=m(_);for(let b of w)try{b(C)}catch(A){console.error("[Surfaces] State callback error:",A)}}}let h=new Map;function f(_,w,C){switch(w.type){case"html":_.innerHTML=zy(w.content);return;case"widget":{if(s?.has(w.widgetId)){let b=s.mount(w.widgetId,_,w.config);return C&&h.set(C,b),()=>{b.unmount(),C&&h.delete(C)}}console.warn(`[Surfaces] Widget not found: ${w.widgetId}`),_.innerHTML=`<div data-widget-id="${w.widgetId}" data-widget-missing="true">Widget: ${w.widgetId}</div>`;return}case"custom":return w.mount(_);case"react":_.innerHTML="<div data-react-component>React Component</div>";return;default:console.warn("[Surfaces] Unknown content type");return}}function v(_,w,C){let b=c(),A=qs(_),$=C?.priority??0,T=C?.animation??i,M=C?.exclusive??!0,K=o.get(_);if(K&&M){if(K.options.priority>$)throw new Error(`Slot ${_} is occupied by higher priority content (${K.options.priority} > ${$})`);g(K)}let N=Wd(_,b);N.style.zIndex=String(zd(_));let P;if(A==="static")Hd(N,_,C?.constraints),e.appendChild(N);else if(A==="inline"){let V=fl(_);if(!V)throw new Error(`Invalid inline slot: ${_}`);if(!n)throw new Error("Anchor resolver required for inline slots");let X=n({selector:V,route:"**"});if(!X)throw new Error(`Anchor not found for inline slot: ${V}`);P=Vd(N,X)}else if(A==="adjacent"){let V=fl(_);if(!V)throw new Error(`Invalid adjacent slot: ${_}`);if(!n)throw new Error("Anchor resolver required for adjacent slots");let X=n({selector:V,route:"**"});if(!X)throw new Error(`Anchor not found for adjacent slot: ${V}`);e.appendChild(N),P=Bd(N,X,C?.position??{placement:"bottom"})}let z=f(N,w,b);jd(N,T);let Z={id:b,slot:_,content:w,options:{priority:$,exclusive:M,animation:T,position:C?.position??{placement:"auto"},constraints:C?.constraints??{},adaptiveId:C?.adaptiveId,autoUnmountOnRouteChange:C?.autoUnmountOnRouteChange??!0},container:N,cleanup:()=>{P?.(),z?.()},mountedAt:Date.now()};return o.set(_,Z),a.set(_,(a.get(_)??0)+1),u("surface.mounted",{slot:_,id:b,adaptiveId:C?.adaptiveId}),p(_),{id:b,update(V){let X=o.get(_);if(!X||X.id!==b)throw new Error("Mount no longer active");let L=h.get(b);if(L){if(V.type==="widget"){L.update(V.config),X.content=V;return}L.unmount(),h.delete(b)}X.container.innerHTML="";let re=f(X.container,V,b);if(X.content=V,re){let G=X.cleanup;X.cleanup=()=>{G?.(),re()}}},setOptions(V){let X=o.get(_);if(!X||X.id!==b)throw new Error("Mount no longer active");V.priority!==void 0&&(X.options.priority=V.priority),V.animation!==void 0&&(X.options.animation=V.animation),V.constraints&&A==="static"&&(V.constraints.maxWidth&&(X.container.style.maxWidth=V.constraints.maxWidth),V.constraints.maxHeight&&(X.container.style.maxHeight=V.constraints.maxHeight),V.constraints.minWidth&&(X.container.style.minWidth=V.constraints.minWidth),V.constraints.minHeight&&(X.container.style.minHeight=V.constraints.minHeight)),p(_)},async unmount(){let V=o.get(_);!V||V.id!==b||await g(V)},isMounted(){return o.get(_)?.id===b},getContainer(){let V=o.get(_);return V?.id===b?V.container:null}}}async function g(_){_.container.isConnected&&await Ud(_.container,_.options.animation);try{_.cleanup?.()}catch(w){console.warn("[Surfaces] Cleanup error during unmount, ignoring:",w)}try{_.container.remove()}catch{}o.delete(_.slot),u("surface.unmounted",{slot:_.slot,id:_.id}),p(_.slot)}function m(_){let w=o.get(_);return{slot:_,occupied:!!w,currentPriority:w?.options.priority,currentAdaptiveId:w?.options.adaptiveId,mountCount:a.get(_)??0,currentMountId:w?.id}}function y(_,w){let C=l.get(_);return C||(C=new Set,l.set(_,C)),C.add(w),()=>{C?.delete(w),C?.size===0&&l.delete(_)}}function x(_,w){let C=o.get(_);return C?w!==void 0?w>=C.options.priority:!1:!0}function S(){for(let _ of o.values())try{_.cleanup?.(),_.container.remove()}catch(w){console.error("[Surfaces] Error during cleanup:",w)}o.clear(),l.clear()}return{mount:v,getState:m,onStateChange:y,canMount:x,destroy:S}}var gl=class{constructor(){this.widgets=new Map;this.mountedWidgets=new Map;this.mountIdCounter=0;this.listeners=new Set}bindRuntime(e){this.runtimeRef=e}register(e,t,n="custom",i){if(this.widgets.has(e)){if(this.widgets.get(e).source==="built-in")throw new Error(`Cannot override built-in widget: ${e}`);console.warn(`[WidgetRegistry] Overriding widget: ${e}`)}this.widgets.set(e,{id:e,widget:t,source:n,metadata:i}),this.notify({type:"registered",widgetId:e})}unregister(e){let t=this.widgets.get(e);return t?t.source==="built-in"?(console.warn(`[WidgetRegistry] Cannot unregister built-in widget: ${e}`),!1):(this.widgets.delete(e),this.notify({type:"unregistered",widgetId:e}),!0):!1}unregisterBySource(e){for(let[t,n]of this.widgets.entries())n.source===e&&this.widgets.delete(t)}get(e){return this.widgets.get(e)?.widget}getRegistration(e){return this.widgets.get(e)}has(e){return this.widgets.has(e)}mount(e,t,n){let i=this.widgets.get(e);if(!i)throw new Error(`Widget not found: ${e}`);let s=`widget-mount-${++this.mountIdCounter}`;t.setAttribute("data-widget-mount-id",s),t.setAttribute("data-widget-id",e);let o={...n,runtime:this.runtimeRef},a=i.widget.mount(t,o);return this.mountedWidgets.set(s,{cleanup:a??void 0,container:t}),{widgetId:e,container:t,unmount:()=>{let c=this.mountedWidgets.get(s);c&&(t.isConnected&&c.cleanup?.(),this.mountedWidgets.delete(s),t.removeAttribute("data-widget-mount-id"),t.removeAttribute("data-widget-id"),t.innerHTML="")},update:c=>{if(i.widget.update)i.widget.update(t,c);else{let u=this.mountedWidgets.get(s);if(u){u.cleanup?.(),t.innerHTML="";let p={...c,runtime:this.runtimeRef},h=i.widget.mount(t,p);u.cleanup=h??void 0}}}}}list(){return Array.from(this.widgets.keys())}listRegistrations(){return Array.from(this.widgets.values())}getBySource(e){return Array.from(this.widgets.values()).filter(t=>t.source===e)}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notify(e){for(let t of this.listeners)try{t(e)}catch(n){console.error("[WidgetRegistry] Listener error:",n)}}destroy(){for(let[e,t]of this.mountedWidgets.entries())t.cleanup?.(),t.container.innerHTML="";this.mountedWidgets.clear()}},Zd=new gl;var Zy="2.0.0";function mC(r,e){if(!e)return!0;let t;try{t=new URL(r).pathname}catch{t=r}t.startsWith("/")||(t=`/${t}`);let n=t.replace(/\/$/,"")||"/";if(e.exclude){for(let i of e.exclude)if(Gd(n,i))return!1}if(e.include&&e.include.length>0){for(let i of e.include)if(Gd(n,i))return!0;return!1}return!0}function Gd(r,e){let t=e.replace(/\/$/,"")||"/";if(r===t)return!0;let n=t.replace(/\*\*/g,"\0GLOBSTAR\0").replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]*").replace(/\0GLOBSTAR\0/g,".*").replace(/:[^/]+/g,"[^/]+");return new RegExp(`^${n}$`).test(r)}function qy(r){let t=(typeof window<"u"?window.location.pathname:"/").replace(/\/$/,"")||"/";return(Array.isArray(r.route)?r.route:[r.route]).some(i=>{let s=i;if(/^https?:\/\//.test(s))try{s=new URL(s).pathname}catch{}return Gd(t,s)})}function Kd(r={}){let{telemetry:e,sessionMetrics:t,routes:n,mode:i="production",namespace:s}=r,o=r.widgets??Zd,a=r.executors??ar,l=r.apps??Qi,c=new Us,u=Md({telemetry:e,routes:n,navigation:c,initialSurfaceType:r.initialSurfaceType,initialSurfaceHost:r.initialSurfaceHost}),p=r.events??Ns(),h=Dd({namespace:s}),f=Od({eventBus:p,stateStore:h}),v=Pd({state:h,events:p,sessionMetrics:t,accumulator:f}),g=$v(),m=Yu(),y=M=>qy(M)?m.resolve(M.selector):null,x=async(M,K)=>{if(!qy(M))return null;try{return await m.waitFor(M.selector,K)}catch{return null}},S=qd({overlayRoot:g,eventBus:p,anchorResolver:y,widgetRegistry:o}),_=qu({overlayRoot:g,eventBus:p,surfaces:S,anchorResolver:y,waitForAnchor:x,executorRegistry:a,subscribeNavigation:M=>c.subscribe(M),runtime:{evaluateSync:M=>v.evaluateSync(M,u.get()),context:u,accumulator:f,sessionMetrics:t,events:p?{subscribe:M=>p.subscribe(()=>M())}:void 0}}),w;if(t){let M=t;M.increment("page_views");let K=typeof window<"u"?window.location.pathname:"/";w=c.subscribe((N,P)=>{if(P!=="replaceState")try{let z=new URL(N).pathname;z!==K&&(K=z,M.increment("page_views"),C=0,M.set("time_on_page",0),M.set("scroll_depth",0))}catch{}})}let C=0,b,A;if(t){let M=t;b=setInterval(()=>{C++},1e3),A=setInterval(()=>{M.set("time_on_page",C)},5e3)}let $;if(t&&p){let M=t;$=p.subscribe({names:["ui.scroll"]},K=>{let N=K.props?.scrollPercentage;typeof N=="number"&&N>M.get("scroll_depth")&&M.set("scroll_depth",N)})}let T={telemetry:e,context:u,events:p,state:h,sessionMetrics:t,actions:_,surfaces:S,widgets:o,executors:a,apps:l,accumulator:f,anchorResolver:m,navigation:c,version:Zy,mode:i,async evaluate(M){return v.evaluate(M,u.get())},evaluateSync(M){return v.evaluateSync(M,u.get())},async filterTiles(M){let K=u.get().page.url,N=[];for(let P of M){let z=P.activation;if(!z){N.push(P);continue}if(mC(K,z.routes)){if(z.onlyIfPopulated){let Z=P.props?.actions??[];if(Z.length>0&&!Z.some(V=>V.triggerWhen?v.evaluateSync(V.triggerWhen,u.get()).value:!0))continue}N.push(P)}}return N},setRoutes(M){u.setRoutes(M)},destroy(){l.unbind().catch(M=>{console.error("[Runtime] Error unbinding apps registry:",M)}),w?.(),$?.(),b&&clearInterval(b),A&&clearInterval(A),m.destroy(),f.destroy(),c.destroy(),u.destroy(),_.destroy(),S.destroy()}};return l.bind(T),o.bindRuntime(T),T}var Gs=class{constructor(e,t){this.seenSet=new Set;this.triggeredSet=new Set;this.telemetry=e,this.variantId=t}trackServed(e,t){this.telemetry.track?.("syntro_config_served",{variant_id:this.variantId,tiles:e,actions:t})}trackSeen(e,t){this.seenSet.has(e)||(this.seenSet.add(e),this.telemetry.track?.("syntro_intervention_seen",{variant_id:this.variantId,intervention_id:e,intervention_kind:t}))}trackTriggered(e,t){this.triggeredSet.has(e)||(this.triggeredSet.add(e),this.telemetry.track?.("syntro_intervention_triggered",{variant_id:this.variantId,intervention_id:e,intervention_kind:t}))}trackInteracted(e,t,n){this.telemetry.track?.("syntro_intervention_interacted",{variant_id:this.variantId,intervention_id:e,intervention_kind:t,interaction_type:n})}resetPage(){this.seenSet.clear(),this.triggeredSet.clear()}};function vC(){let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",e="";for(let t=0;t<16;t++)e+=r[Math.floor(Math.random()*r.length)];return e}var Yd=class{constructor(){this.sessionId=vC(),console.log(`[Syntro Telemetry] Using noop adapter (no telemetry configured). sessionId=${this.sessionId}`)}trackCanvasOpened(e){}trackCanvasClosed(e){}trackRectangleViewed(e,t){}trackAction(e,t,n){}register(e){}getSessionId(){return this.sessionId}startSessionRecording(){}trackExperiment(e,t,n){}setPersonProperties(e){}setPersonPropertiesOnce(e){}getDistinctId(){return"demo-user"}getAllFeatureFlags(){return{}}getSegmentFlags(){return{}}track(e,t){}};function Xd(){return new Yd}var E=typeof window<"u"?window:void 0,Ge=typeof globalThis<"u"?globalThis:E;typeof self>"u"&&(Ge.self=Ge),typeof File>"u"&&(Ge.File=function(){});var U_=Array.prototype,Gy=U_.forEach,Ky=U_.indexOf,ht=Ge?.navigator,D=Ge?.document,Ze=Ge?.location,gp=Ge?.fetch,mp=Ge!=null&&Ge.XMLHttpRequest&&"withCredentials"in new Ge.XMLHttpRequest?Ge.XMLHttpRequest:void 0,Yy=Ge?.AbortController,at=ht?.userAgent,Q=E??{},pr={DEBUG:!1,LIB_VERSION:"1.341.0"};function Xy(r,e,t,n,i,s,o){try{var a=r[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(n,i)}function xi(r){return function(){var e=this,t=arguments;return new Promise((function(n,i){var s=r.apply(e,t);function o(l){Xy(s,n,i,o,a,"next",l)}function a(l){Xy(s,n,i,o,a,"throw",l)}o(void 0)}))}}function j(){return j=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},j.apply(null,arguments)}function W_(r,e){if(r==null)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(e.indexOf(n)!==-1)continue;t[n]=r[n]}return t}var yC=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],Jy=function(r,e){if(e===void 0&&(e=[]),!r)return!1;var t=r.toLowerCase();return yC.concat(e).some((n=>{var i=n.toLowerCase();return t.indexOf(i)!==-1}))},_C=["$snapshot","$pageview","$pageleave","$set","survey dismissed","survey sent","survey shown","$identify","$groupidentify","$create_alias","$$client_ingestion_warning","$web_experiment_applied","$feature_enrollment_update","$feature_flag_called"];function de(r,e){return r.indexOf(e)!==-1}var zl=function(r){return r.trim()},vp=function(r){return r.replace(/^\$/,"")},bC=Array.isArray,z_=Object.prototype,q_=z_.hasOwnProperty,ql=z_.toString,ve=bC||function(r){return ql.call(r)==="[object Array]"},Ur=r=>typeof r=="function",Le=r=>r===Object(r)&&!ve(r),wi=r=>{if(Le(r)){for(var e in r)if(q_.call(r,e))return!1;return!0}return!1},H=r=>r===void 0,Fe=r=>ql.call(r)=="[object String]",yp=r=>Fe(r)&&r.trim().length===0,Ft=r=>r===null,pe=r=>H(r)||Ft(r),yr=r=>ql.call(r)=="[object Number]"&&r==r,_i=r=>yr(r)&&r>0,vr=r=>ql.call(r)==="[object Boolean]",xC=r=>r instanceof FormData,wC=r=>de(_C,r);function _p(r){return r===null||typeof r!="object"}function Sl(r,e){return Object.prototype.toString.call(r)==="[object "+e+"]"}function Z_(r){return!H(Event)&&(function(e,t){try{return e instanceof t}catch{return!1}})(r,Event)}var SC=[!0,"true",1,"1","yes"],Jd=r=>de(SC,r),kC=[!1,"false",0,"0","no"];function Gt(r,e,t,n,i){return e>t&&(n.warn("min cannot be greater than max."),e=t),yr(r)?r>t?(n.warn(" cannot be greater than max: "+t+". Using max value instead."),t):r<e?(n.warn(" cannot be less than min: "+e+". Using min value instead."),e):r:(n.warn(" must be a number. using max or fallback. max: "+t+", fallback: "+i),Gt(i||t,e,t,n))}var bp=class{constructor(e){this.t={},this.i=e.i,this.o=Gt(e.bucketSize,0,100,e.h),this.m=Gt(e.refillRate,0,this.o,e.h),this.$=Gt(e.refillInterval,0,864e5,e.h)}S(e,t){var n=t-e.lastAccess,i=Math.floor(n/this.$);if(i>0){var s=i*this.m;e.tokens=Math.min(e.tokens+s,this.o),e.lastAccess=e.lastAccess+i*this.$}}consumeRateLimit(e){var t,n=Date.now(),i=String(e),s=this.t[i];return s?this.S(s,n):(s={tokens:this.o,lastAccess:n},this.t[i]=s),s.tokens===0||(s.tokens--,s.tokens===0&&((t=this.i)==null||t.call(this,e)),s.tokens===0)}stop(){this.t={}}},Et="Mobile",kl="iOS",mr="Android",mo="Tablet",G_=mr+" "+mo,K_="iPad",Y_="Apple",X_=Y_+" Watch",vo="Safari",Ci="BlackBerry",J_="Samsung",Q_=J_+"Browser",eb=J_+" Internet",Ln="Chrome",EC=Ln+" OS",tb=Ln+" "+kl,Rh="Internet Explorer",rb=Rh+" "+Et,Th="Opera",CC=Th+" Mini",Ih="Edge",nb="Microsoft "+Ih,ki="Firefox",ib=ki+" "+kl,yo="Nintendo",_o="PlayStation",Ei="Xbox",sb=mr+" "+Et,ob=Et+" "+vo,io="Windows",xp=io+" Phone",Qy="Nokia",wp="Ouya",ab="Generic",AC=ab+" "+Et.toLowerCase(),lb=ab+" "+mo.toLowerCase(),Sp="Konqueror",et="(\\d+(\\.\\d+)?)",Qd=new RegExp("Version/"+et),RC=new RegExp(Ei,"i"),TC=new RegExp(_o+" \\w+","i"),IC=new RegExp(yo+" \\w+","i"),$h=new RegExp(Ci+"|PlayBook|BB10","i"),$C={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000",5.1:"XP",5.2:"XP","6.0":"Vista",6.1:"7",6.2:"8",6.3:"8.1",6.4:"10","10.0":"10"},ml,e_,ep,MC=(r,e)=>e&&de(e,Y_)||(function(t){return de(t,vo)&&!de(t,Ln)&&!de(t,mr)})(r),cb=function(r,e){return e=e||"",de(r," OPR/")&&de(r,"Mini")?CC:de(r," OPR/")?Th:$h.test(r)?Ci:de(r,"IE"+Et)||de(r,"WPDesktop")?rb:de(r,Q_)?eb:de(r,Ih)||de(r,"Edg/")?nb:de(r,"FBIOS")?"Facebook "+Et:de(r,"UCWEB")||de(r,"UCBrowser")?"UC Browser":de(r,"CriOS")?tb:de(r,"CrMo")||de(r,Ln)?Ln:de(r,mr)&&de(r,vo)?sb:de(r,"FxiOS")?ib:de(r.toLowerCase(),Sp.toLowerCase())?Sp:MC(r,e)?de(r,Et)?ob:vo:de(r,ki)?ki:de(r,"MSIE")||de(r,"Trident/")?Rh:de(r,"Gecko")?ki:""},PC={[rb]:[new RegExp("rv:"+et)],[nb]:[new RegExp(Ih+"?\\/"+et)],[Ln]:[new RegExp("("+Ln+"|CrMo)\\/"+et)],[tb]:[new RegExp("CriOS\\/"+et)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+et)],[vo]:[Qd],[ob]:[Qd],[Th]:[new RegExp("(Opera|OPR)\\/"+et)],[ki]:[new RegExp(ki+"\\/"+et)],[ib]:[new RegExp("FxiOS\\/"+et)],[Sp]:[new RegExp("Konqueror[:/]?"+et,"i")],[Ci]:[new RegExp(Ci+" "+et),Qd],[sb]:[new RegExp("android\\s"+et,"i")],[eb]:[new RegExp(Q_+"\\/"+et)],[Rh]:[new RegExp("(rv:|MSIE )"+et)],Mozilla:[new RegExp("rv:"+et)]},OC=function(r,e){var t=cb(r,e),n=PC[t];if(H(n))return null;for(var i=0;i<n.length;i++){var s=n[i],o=r.match(s);if(o)return parseFloat(o[o.length-2])}return null},t_=[[new RegExp(Ei+"; "+Ei+" (.*?)[);]","i"),r=>[Ei,r&&r[1]||""]],[new RegExp(yo,"i"),[yo,""]],[new RegExp(_o,"i"),[_o,""]],[$h,[Ci,""]],[new RegExp(io,"i"),(r,e)=>{if(/Phone/.test(e)||/WPDesktop/.test(e))return[xp,""];if(new RegExp(Et).test(e)&&!/IEMobile\b/.test(e))return[io+" "+Et,""];var t=/Windows NT ([0-9.]+)/i.exec(e);if(t&&t[1]){var n=t[1],i=$C[n]||"";return/arm/i.test(e)&&(i="RT"),[io,i]}return[io,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,r=>{if(r&&r[3]){var e=[r[3],r[4],r[5]||"0"];return[kl,e.join(".")]}return[kl,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,r=>{var e="";return r&&r.length>=3&&(e=H(r[2])?r[3]:r[2]),["watchOS",e]}],[new RegExp("("+mr+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+mr+")","i"),r=>{if(r&&r[2]){var e=[r[2],r[3],r[4]||"0"];return[mr,e.join(".")]}return[mr,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,r=>{var e=["Mac OS X",""];if(r&&r[1]){var t=[r[1],r[2],r[3]||"0"];e[1]=t.join(".")}return e}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[EC,""]],[/Linux|debian/i,["Linux",""]]],r_=function(r){return IC.test(r)?yo:TC.test(r)?_o:RC.test(r)?Ei:new RegExp(wp,"i").test(r)?wp:new RegExp("("+xp+"|WPDesktop)","i").test(r)?xp:/iPad/.test(r)?K_:/iPod/.test(r)?"iPod Touch":/iPhone/.test(r)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(r)?X_:$h.test(r)?Ci:/(kobo)\s(ereader|touch)/i.test(r)?"Kobo":new RegExp(Qy,"i").test(r)?Qy:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(r)||/(kf[a-z]+)( bui|\)).+silk\//i.test(r)?"Kindle Fire":/(Android|ZTE)/i.test(r)?new RegExp(Et).test(r)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(r)||/pixel[\daxl ]{1,6}/i.test(r)&&!/pixel c/i.test(r)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(r)||/lmy47v/i.test(r)&&!/QTAQZ3/i.test(r)?mr:G_:new RegExp("(pda|"+Et+")","i").test(r)?AC:new RegExp(mo,"i").test(r)&&!new RegExp(mo+" pc","i").test(r)?lb:""},NC=r=>r instanceof Error;function LC(r){var e=globalThis._posthogChunkIds;if(e){var t=Object.keys(e);return ep&&t.length===e_||(e_=t.length,ep=t.reduce(((n,i)=>{ml||(ml={});var s=ml[i];if(s)n[s[0]]=s[1];else for(var o=r(i),a=o.length-1;a>=0;a--){var l=o[a],c=l?.filename,u=e[i];if(c&&u){n[c]=u,ml[i]=[c,u];break}}return n}),{})),ep}}var kp=class{constructor(e,t,n){n===void 0&&(n=[]),this.coercers=e,this.stackParser=t,this.modifiers=n}buildFromUnknown(e,t){t===void 0&&(t={});var n=t&&t.mechanism||{handled:!0,type:"generic"},i=this.buildCoercingContext(n,t,0).apply(e),s=this.buildParsingContext(),o=this.parseStacktrace(i,s);return{$exception_list:this.convertToExceptionList(o,n),$exception_level:"error"}}modifyFrames(e){var t=this;return xi((function*(){for(var n of e)n.stacktrace&&n.stacktrace.frames&&ve(n.stacktrace.frames)&&(n.stacktrace.frames=yield t.applyModifiers(n.stacktrace.frames));return e}))()}coerceFallback(e){var t;return{type:"Error",value:"Unknown error",stack:(t=e.syntheticException)==null?void 0:t.stack,synthetic:!0}}parseStacktrace(e,t){var n,i;return e.cause!=null&&(n=this.parseStacktrace(e.cause,t)),e.stack!=""&&e.stack!=null&&(i=this.applyChunkIds(this.stackParser(e.stack,e.synthetic?1:0),t.chunkIdMap)),j({},e,{cause:n,stack:i})}applyChunkIds(e,t){return e.map((n=>(n.filename&&t&&(n.chunk_id=t[n.filename]),n)))}applyCoercers(e,t){for(var n of this.coercers)if(n.match(e))return n.coerce(e,t);return this.coerceFallback(t)}applyModifiers(e){var t=this;return xi((function*(){var n=e;for(var i of t.modifiers)n=yield i(n);return n}))()}convertToExceptionList(e,t){var n,i,s,o={type:e.type,value:e.value,mechanism:{type:(n=t.type)!==null&&n!==void 0?n:"generic",handled:(i=t.handled)===null||i===void 0||i,synthetic:(s=e.synthetic)!==null&&s!==void 0&&s}};e.stack&&(o.stacktrace={type:"raw",frames:e.stack});var a=[o];return e.cause!=null&&a.push(...this.convertToExceptionList(e.cause,j({},t,{handled:!0}))),a}buildParsingContext(){return{chunkIdMap:LC(this.stackParser)}}buildCoercingContext(e,t,n){n===void 0&&(n=0);var i=(s,o)=>{if(o<=4){var a=this.buildCoercingContext(e,t,o);return this.applyCoercers(s,a)}};return j({},t,{syntheticException:n==0?t.syntheticException:void 0,mechanism:e,apply:s=>i(s,n),next:s=>i(s,n+1)})}},Ai="?";function Ep(r,e,t,n,i){var s={platform:r,filename:e,function:t==="<anonymous>"?Ai:t,in_app:!0};return H(n)||(s.lineno=n),H(i)||(s.colno=i),s}var ub=(r,e)=>{var t=r.indexOf("safari-extension")!==-1,n=r.indexOf("safari-web-extension")!==-1;return t||n?[r.indexOf("@")!==-1?r.split("@")[0]:Ai,t?"safari-extension:"+e:"safari-web-extension:"+e]:[r,e]},FC=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,DC=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,HC=/\((\S*)(?::(\d+))(?::(\d+))\)/,BC=(r,e)=>{var t=FC.exec(r);if(t){var[,n,i,s]=t;return Ep(e,n,Ai,+i,+s)}var o=DC.exec(r);if(o){if(o[2]&&o[2].indexOf("eval")===0){var a=HC.exec(o[2]);a&&(o[2]=a[1],o[3]=a[2],o[4]=a[3])}var[l,c]=ub(o[1]||Ai,o[2]);return Ep(e,c,l,o[3]?+o[3]:void 0,o[4]?+o[4]:void 0)}},VC=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,jC=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,UC=(r,e)=>{var t=VC.exec(r);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){var n=jC.exec(t[3]);n&&(t[1]=t[1]||"eval",t[3]=n[1],t[4]=n[2],t[5]="")}var i=t[3],s=t[1]||Ai;return[s,i]=ub(s,i),Ep(e,i,s,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},n_=/\(error: (.*)\)/,i_=50;function WC(){return(function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return function(i,s){s===void 0&&(s=0);for(var o=[],a=i.split(`
1056
1056
  `),l=s;l<a.length;l++){var c=a[l];if(!(c.length>1024)){var u=n_.test(c)?c.replace(n_,"$1"):c;if(!u.match(/\S*Error: /)){for(var p of t){var h=p(u,r);if(h){o.push(h);break}}if(o.length>=i_)break}}}return(function(f){if(!f.length)return[];var v=Array.from(f);return v.reverse(),v.slice(0,i_).map((g=>{return j({},g,{filename:g.filename||(m=v,m[m.length-1]||{}).filename,function:g.function||Ai});var m}))})(o)}})("web:javascript",BC,UC)}var Cp=class{match(e){return this.isDOMException(e)||this.isDOMError(e)}coerce(e,t){var n=Fe(e.stack);return{type:this.getType(e),value:this.getValue(e),stack:n?e.stack:void 0,cause:e.cause?t.next(e.cause):void 0,synthetic:!1}}getType(e){return this.isDOMError(e)?"DOMError":"DOMException"}getValue(e){var t=e.name||(this.isDOMError(e)?"DOMError":"DOMException");return e.message?t+": "+e.message:t}isDOMException(e){return Sl(e,"DOMException")}isDOMError(e){return Sl(e,"DOMError")}},Ap=class{match(e){return(t=>t instanceof Error)(e)}coerce(e,t){return{type:this.getType(e),value:this.getMessage(e,t),stack:this.getStack(e),cause:e.cause?t.next(e.cause):void 0,synthetic:!1}}getType(e){return e.name||e.constructor.name}getMessage(e,t){var n=e.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(e){return e.stacktrace||e.stack||void 0}},Rp=class{constructor(){}match(e){return Sl(e,"ErrorEvent")&&e.error!=null}coerce(e,t){var n,i=t.apply(e.error);return i||{type:"ErrorEvent",value:e.message,stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},zC=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,Tp=class{match(e){return typeof e=="string"}coerce(e,t){var n,[i,s]=this.getInfos(e);return{type:i??"Error",value:s??e,stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}getInfos(e){var t="Error",n=e,i=e.match(zC);return i&&(t=i[1],n=i[2]),[t,n]}},qC=["fatal","error","warning","log","info","debug"];function db(r,e){e===void 0&&(e=40);var t=Object.keys(r);if(t.sort(),!t.length)return"[object has no keys]";for(var n=t.length;n>0;n--){var i=t.slice(0,n).join(", ");if(!(i.length>e))return n===t.length||i.length<=e?i:i.slice(0,e)+"..."}return""}var Ip=class{match(e){return typeof e=="object"&&e!==null}coerce(e,t){var n,i=this.getErrorPropertyFromObject(e);return i?t.apply(i):{type:this.getType(e),value:this.getValue(e),stack:(n=t.syntheticException)==null?void 0:n.stack,level:this.isSeverityLevel(e.level)?e.level:"error",synthetic:!0}}getType(e){return Z_(e)?e.constructor.name:"Error"}getValue(e){if("name"in e&&typeof e.name=="string"){var t="'"+e.name+"' captured as exception";return"message"in e&&typeof e.message=="string"&&(t+=" with message: '"+e.message+"'"),t}if("message"in e&&typeof e.message=="string")return e.message;var n=this.getObjectClassName(e);return(n&&n!=="Object"?"'"+n+"'":"Object")+" captured as exception with keys: "+db(e)}isSeverityLevel(e){return Fe(e)&&!yp(e)&&qC.indexOf(e)>=0}getErrorPropertyFromObject(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){var n=e[t];if(NC(n))return n}}getObjectClassName(e){try{var t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{return}}},$p=class{match(e){return Z_(e)}coerce(e,t){var n,i=e.constructor.name;return{type:i,value:i+" captured as exception with keys: "+db(e),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},Mp=class{match(e){return _p(e)}coerce(e,t){var n;return{type:"Error",value:"Primitive value captured as exception: "+String(e),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},Pp=class{match(e){return Sl(e,"PromiseRejectionEvent")}coerce(e,t){var n,i=this.getUnhandledRejectionReason(e);return _p(i)?{type:"UnhandledRejection",value:"Non-Error promise rejection captured with value: "+String(i),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}:t.apply(i)}getUnhandledRejectionReason(e){if(_p(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch{}return e}},pb=function(r,e){var{debugEnabled:t}=e===void 0?{}:e,n={k:function(i){if(E&&(pr.DEBUG||Q.POSTHOG_DEBUG||t)&&!H(E.console)&&E.console){for(var s=("__rrweb_original__"in E.console[i])?E.console[i].__rrweb_original__:E.console[i],o=arguments.length,a=new Array(o>1?o-1:0),l=1;l<o;l++)a[l-1]=arguments[l];s(r,...a)}},info:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.k("log",...s)},warn:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.k("warn",...s)},error:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.k("error",...s)},critical:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];console.error(r,...s)},uninitializedWarning:i=>{n.error("You must initialize PostHog before calling "+i)},createLogger:(i,s)=>pb(r+" "+i,s)};return n},B=pb("[PostHog.js]"),Ie=B.createLogger,ZC=Ie("[ExternalScriptsLoader]"),s_=(r,e,t)=>{if(r.config.disable_external_dependency_loading)return ZC.warn(e+" was requested but loading of external scripts is disabled."),t("Loading of external scripts is disabled");var n=D?.querySelectorAll("script");if(n){for(var i,s=function(){if(n[o].src===e){var l=n[o];return l.__posthog_loading_callback_fired?{v:t()}:(l.addEventListener("load",(c=>{l.__posthog_loading_callback_fired=!0,t(void 0,c)})),l.onerror=c=>t(c),{v:void 0})}},o=0;o<n.length;o++)if(i=s())return i.v}var a=()=>{if(!D)return t("document not found");var l=D.createElement("script");if(l.type="text/javascript",l.crossOrigin="anonymous",l.src=e,l.onload=p=>{l.__posthog_loading_callback_fired=!0,t(void 0,p)},l.onerror=p=>t(p),r.config.prepare_external_dependency_script&&(l=r.config.prepare_external_dependency_script(l)),!l)return t("prepare_external_dependency_script returned null");if(r.config.external_scripts_inject_target==="head")D.head.appendChild(l);else{var c,u=D.querySelectorAll("body > script");u.length>0?(c=u[0].parentNode)==null||c.insertBefore(l,u[0]):D.body.appendChild(l)}};D!=null&&D.body?a():D?.addEventListener("DOMContentLoaded",a)};Q.__PosthogExtensions__=Q.__PosthogExtensions__||{},Q.__PosthogExtensions__.loadExternalDependency=(r,e,t)=>{var n="/static/"+e+".js?v="+r.version;if(e==="remote-config"&&(n="/array/"+r.config.token+"/config.js"),e==="toolbar"){var i=3e5;n=n+"&t="+Math.floor(Date.now()/i)*i}var s=r.requestRouter.endpointFor("assets",n);s_(r,s,t)},Q.__PosthogExtensions__.loadSiteApp=(r,e,t)=>{var n=r.requestRouter.endpointFor("api",e);s_(r,n,t)};var El={};function Wr(r,e,t){if(ve(r)){if(Gy&&r.forEach===Gy)r.forEach(e,t);else if("length"in r&&r.length===+r.length){for(var n=0,i=r.length;n<i;n++)if(n in r&&e.call(t,r[n],n)===El)return}}}function ke(r,e,t){if(!pe(r)){if(ve(r))return Wr(r,e,t);if(xC(r)){for(var n of r.entries())if(e.call(t,n[1],n[0])===El)return}else for(var i in r)if(q_.call(r,i)&&e.call(t,r[i],i)===El)return}}var Pe=function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return Wr(t,(function(i){for(var s in i)i[s]!==void 0&&(r[s]=i[s])})),r},Ti=function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return Wr(t,(function(i){Wr(i,(function(s){r.push(s)}))})),r};function xl(r){for(var e=Object.keys(r),t=e.length,n=new Array(t);t--;)n[t]=[e[t],r[e[t]]];return n}var o_=function(r){try{return r()}catch{return}},GC=function(r){return function(){try{for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.apply(this,t)}catch(i){B.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),B.critical(i)}}},Mh=function(r){var e={};return ke(r,(function(t,n){(Fe(t)&&t.length>0||yr(t))&&(e[n]=t)})),e};function KC(r,e){return t=r,n=s=>Fe(s)&&!Ft(e)?s.slice(0,e):s,i=new Set,(function s(o,a){return o!==Object(o)?n?n(o,a):o:i.has(o)?void 0:(i.add(o),ve(o)?(l=[],Wr(o,(c=>{l.push(s(c))}))):(l={},ke(o,((c,u)=>{i.has(c)||(l[u]=s(c,u))}))),l);var l})(t);var t,n,i}var YC=["herokuapp.com","vercel.app","netlify.app"];function XC(r){var e=r?.hostname;if(!Fe(e))return!1;var t=e.split(".").slice(-2).join(".");for(var n of YC)if(t===n)return!1;return!0}function hb(r,e){for(var t=0;t<r.length;t++)if(e(r[t]))return r[t]}function Ne(r,e,t,n){var{capture:i=!1,passive:s=!0}=n??{};r?.addEventListener(e,t,{capture:i,passive:s})}var fb="$people_distinct_id",so="__alias",oo="__timers",a_="$autocapture_disabled_server_side",Op="$heatmaps_enabled_server_side",l_="$exception_capture_enabled_server_side",Np="$error_tracking_suppression_rules",c_="$error_tracking_capture_extension_exceptions",u_="$web_vitals_enabled_server_side",gb="$dead_clicks_enabled_server_side",d_="$product_tours_enabled_server_side",p_="$web_vitals_allowed_metrics",tp="$session_recording_remote_config",Cl="$sesid",mb="$session_is_sampled",Si="$enabled_feature_flags",ao="$early_access_features",Lp="$feature_flag_details",lo="$stored_person_properties",Nn="$stored_group_properties",Fp="$surveys",Al="$flag_call_reported",hr="$user_state",Dp="$client_session_props",Hp="$capture_rate_limit",Bp="$initial_campaign_params",Vp="$initial_referrer_info",Rl="$initial_person_info",Tl="$epp",vb="__POSTHOG_TOOLBAR__",Ks="$posthog_cookieless",JC=[fb,so,"__cmpns",oo,"$session_recording_enabled_server_side",Op,Cl,Si,Np,hr,ao,Lp,Nn,lo,Fp,Al,Dp,Hp,Bp,Vp,Tl,Rl,"$conversations_widget_session_id","$conversations_ticket_id","$conversations_widget_state","$conversations_user_traits"];function h_(r){return r instanceof Element&&(r.id===vb||!(r.closest==null||!r.closest(".toolbar-global-fade-container")))}function Zl(r){return!!r&&r.nodeType===1}function zr(r,e){return!!r&&!!r.tagName&&r.tagName.toLowerCase()===e.toLowerCase()}function yb(r){return!!r&&r.nodeType===3}function _b(r){return!!r&&r.nodeType===11}function Ph(r){return r?zl(r).split(/\s+/):[]}function f_(r){var e=E?.location.href;return!!(e&&r&&r.some((t=>e.match(t))))}function Il(r){var e="";switch(typeof r.className){case"string":e=r.className;break;case"object":e=(r.className&&"baseVal"in r.className?r.className.baseVal:null)||r.getAttribute("class")||"";break;default:e=""}return Ph(e)}function bb(r){return pe(r)?null:zl(r).split(/(\s+)/).filter((e=>bo(e))).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function wo(r){var e="";return jp(r)&&!Eb(r)&&r.childNodes&&r.childNodes.length&&ke(r.childNodes,(function(t){var n;yb(t)&&t.textContent&&(e+=(n=bb(t.textContent))!==null&&n!==void 0?n:"")})),zl(e)}function xb(r){return H(r.target)?r.srcElement||null:(e=r.target)!=null&&e.shadowRoot?r.composedPath()[0]||null:r.target||null;var e}var Oh=["a","button","form","input","select","textarea","label"];function wb(r,e){if(H(e))return!0;var t,n=function(s){if(e.some((o=>s.matches(o))))return{v:!0}};for(var i of r)if(t=n(i))return t.v;return!1}function Sb(r){var e=r.parentNode;return!(!e||!Zl(e))&&e}var QC=["next","previous","prev",">","<"],g_=10,m_=[".ph-no-rageclick",".ph-no-capture"];function e1(r,e){if(!E||Nh(r))return!1;var t,n,i;if(vr(e)?(t=!!e&&m_,n=void 0):(t=(i=e?.css_selector_ignorelist)!==null&&i!==void 0?i:m_,n=e?.content_ignorelist),t===!1)return!1;var{targetElementList:s}=kb(r,!1);return!(function(o,a){if(o===!1||H(o))return!1;var l;if(o===!0)l=QC;else{if(!ve(o))return!1;if(o.length>g_)return B.error("[PostHog] content_ignorelist array cannot exceed "+g_+" items. Use css_selector_ignorelist for more complex matching."),!1;l=o.map((c=>c.toLowerCase()))}return a.some((c=>{var{safeText:u,ariaLabel:p}=c;return l.some((h=>u.includes(h)||p.includes(h)))}))})(n,s.map((o=>{var a;return{safeText:wo(o).toLowerCase(),ariaLabel:((a=o.getAttribute("aria-label"))==null?void 0:a.toLowerCase().trim())||""}})))&&!wb(s,t)}var Nh=r=>!r||zr(r,"html")||!Zl(r),kb=(r,e)=>{if(!E||Nh(r))return{parentIsUsefulElement:!1,targetElementList:[]};for(var t=!1,n=[r],i=r;i.parentNode&&!zr(i,"body");)if(_b(i.parentNode))n.push(i.parentNode.host),i=i.parentNode.host;else{var s=Sb(i);if(!s)break;if(e||Oh.indexOf(s.tagName.toLowerCase())>-1)t=!0;else{var o=E.getComputedStyle(s);o&&o.getPropertyValue("cursor")==="pointer"&&(t=!0)}n.push(s),i=s}return{parentIsUsefulElement:t,targetElementList:n}};function t1(r,e,t,n,i){var s,o,a,l;if(t===void 0&&(t=void 0),!E||Nh(r)||(s=t)!=null&&s.url_allowlist&&!f_(t.url_allowlist)||(o=t)!=null&&o.url_ignorelist&&f_(t.url_ignorelist))return!1;if((a=t)!=null&&a.dom_event_allowlist){var c=t.dom_event_allowlist;if(c&&!c.some((v=>e.type===v)))return!1}var{parentIsUsefulElement:u,targetElementList:p}=kb(r,n);if(!(function(v,g){var m=g?.element_allowlist;if(H(m))return!0;var y,x=function(_){if(m.some((w=>_.tagName.toLowerCase()===w)))return{v:!0}};for(var S of v)if(y=x(S))return y.v;return!1})(p,t)||!wb(p,(l=t)==null?void 0:l.css_selector_allowlist))return!1;var h=E.getComputedStyle(r);if(h&&h.getPropertyValue("cursor")==="pointer"&&e.type==="click")return!0;var f=r.tagName.toLowerCase();switch(f){case"html":return!1;case"form":return(i||["submit"]).indexOf(e.type)>=0;case"input":case"select":case"textarea":return(i||["change","click"]).indexOf(e.type)>=0;default:return u?(i||["click"]).indexOf(e.type)>=0:(i||["click"]).indexOf(e.type)>=0&&(Oh.indexOf(f)>-1||r.getAttribute("contenteditable")==="true")}}function jp(r){for(var e=r;e.parentNode&&!zr(e,"body");e=e.parentNode){var t=Il(e);if(de(t,"ph-sensitive")||de(t,"ph-no-capture"))return!1}if(de(Il(r),"ph-include"))return!0;var n=r.type||"";if(Fe(n))switch(n.toLowerCase()){case"hidden":case"password":return!1}var i=r.name||r.id||"";return!(Fe(i)&&/^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,"")))}function Eb(r){return!!(zr(r,"input")&&!["button","checkbox","submit","reset"].includes(r.type)||zr(r,"select")||zr(r,"textarea")||r.getAttribute("contenteditable")==="true")}var Cb="(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})",r1=new RegExp("^(?:"+Cb+")$"),n1=new RegExp(Cb),Ab="\\d{3}-?\\d{2}-?\\d{4}",i1=new RegExp("^("+Ab+")$"),s1=new RegExp("("+Ab+")");function bo(r,e){return e===void 0&&(e=!0),!(pe(r)||Fe(r)&&(r=zl(r),(e?r1:n1).test((r||"").replace(/[- ]/g,""))||(e?i1:s1).test(r)))}function Rb(r){var e=wo(r);return bo(e=(e+" "+Tb(r)).trim())?e:""}function Tb(r){var e="";return r&&r.childNodes&&r.childNodes.length&&ke(r.childNodes,(function(t){var n;if(t&&((n=t.tagName)==null?void 0:n.toLowerCase())==="span")try{var i=wo(t);e=(e+" "+i).trim(),t.childNodes&&t.childNodes.length&&(e=(e+" "+Tb(t)).trim())}catch(s){B.error("[AutoCapture]",s)}})),e}function o1(r){return(function(e){var t=e.map((n=>{var i,s,o="";if(n.tag_name&&(o+=n.tag_name),n.attr_class)for(var a of(n.attr_class.sort(),n.attr_class))o+="."+a.replace(/"/g,"");var l=j({},n.text?{text:n.text}:{},{"nth-child":(i=n.nth_child)!==null&&i!==void 0?i:0,"nth-of-type":(s=n.nth_of_type)!==null&&s!==void 0?s:0},n.href?{href:n.href}:{},n.attr_id?{attr_id:n.attr_id}:{},n.attributes),c={};return xl(l).sort(((u,p)=>{var[h]=u,[f]=p;return h.localeCompare(f)})).forEach((u=>{var[p,h]=u;return c[v_(p.toString())]=v_(h.toString())})),o+=":",o+=xl(c).map((u=>{var[p,h]=u;return p+'="'+h+'"'})).join("")}));return t.join(";")})((function(e){return e.map((t=>{var n,i,s={text:(n=t.$el_text)==null?void 0:n.slice(0,400),tag_name:t.tag_name,href:(i=t.attr__href)==null?void 0:i.slice(0,2048),attr_class:a1(t),attr_id:t.attr__id,nth_child:t.nth_child,nth_of_type:t.nth_of_type,attributes:{}};return xl(t).filter((o=>{var[a]=o;return a.indexOf("attr__")===0})).forEach((o=>{var[a,l]=o;return s.attributes[a]=l})),s}))})(r))}function v_(r){return r.replace(/"|\\"/g,'\\"')}function a1(r){var e=r.attr__class;return e?ve(e)?e:Ph(e):void 0}var $l=class{constructor(e){this.disabled=e===!1;var t=Le(e)?e:{};this.thresholdPx=t.threshold_px||30,this.timeoutMs=t.timeout_ms||1e3,this.clickCount=t.click_count||3,this.clicks=[]}isRageClick(e,t,n){if(this.disabled)return!1;var i=this.clicks[this.clicks.length-1];if(i&&Math.abs(e-i.x)+Math.abs(t-i.y)<this.thresholdPx&&n-i.timestamp<this.timeoutMs){if(this.clicks.push({x:e,y:t,timestamp:n}),this.clicks.length===this.clickCount)return!0}else this.clicks=[{x:e,y:t,timestamp:n}];return!1}},Ml=r=>{var e=D?.createElement("a");return H(e)?null:(e.href=r,e)},l1=function(r,e){var t,n;e===void 0&&(e="&");var i=[];return ke(r,(function(s,o){H(s)||H(o)||o==="undefined"||(t=encodeURIComponent((a=>a instanceof File)(s)?s.name:s.toString()),n=encodeURIComponent(o),i[i.length]=n+"="+t)})),i.join(e)},Pl=function(r,e){for(var t,n=((r.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&"),i=0;i<n.length;i++){var s=n[i].split("=");if(s[0]===e){t=s;break}}if(!ve(t)||t.length<2)return"";var o=t[1];try{o=decodeURIComponent(o)}catch{B.error("Skipping decoding for malformed query param: "+o)}return o.replace(/\+/g," ")},So=function(r,e,t){if(!r||!e||!e.length)return r;for(var n=r.split("#"),i=n[0]||"",s=n[1],o=i.split("?"),a=o[1],l=o[0],c=(a||"").split("&"),u=[],p=0;p<c.length;p++){var h=c[p].split("=");ve(h)&&(e.includes(h[0])?u.push(h[0]+"="+t):u.push(c[p]))}var f=l;return a!=null&&(f+="?"+u.join("&")),s!=null&&(f+="#"+s),f},Ol=function(r,e){var t=r.match(new RegExp(e+"=([^&]*)"));return t?t[1]:null},rp="$copy_autocapture",y_=Ie("[AutoCapture]");function np(r,e){return e.length>r?e.slice(0,r)+"...":e}function c1(r){if(r.previousElementSibling)return r.previousElementSibling;var e=r;do e=e.previousSibling;while(e&&!Zl(e));return e}function u1(r,e,t,n){var i=r.tagName.toLowerCase(),s={tag_name:i};Oh.indexOf(i)>-1&&!t&&(i.toLowerCase()==="a"||i.toLowerCase()==="button"?s.$el_text=np(1024,Rb(r)):s.$el_text=np(1024,wo(r)));var o=Il(r);o.length>0&&(s.classes=o.filter((function(u){return u!==""}))),ke(r.attributes,(function(u){var p;if((!Eb(r)||["name","id","class","aria-label"].indexOf(u.name)!==-1)&&(n==null||!n.includes(u.name))&&!e&&bo(u.value)&&(p=u.name,!Fe(p)||p.substring(0,10)!=="_ngcontent"&&p.substring(0,7)!=="_nghost")){var h=u.value;u.name==="class"&&(h=Ph(h).join(" ")),s["attr__"+u.name]=np(1024,h)}}));for(var a=1,l=1,c=r;c=c1(c);)a++,c.tagName===r.tagName&&l++;return s.nth_child=a,s.nth_of_type=l,s}function d1(r,e){for(var t,n,{e:i,maskAllElementAttributes:s,maskAllText:o,elementAttributeIgnoreList:a,elementsChainAsString:l}=e,c=[r],u=r;u.parentNode&&!zr(u,"body");)_b(u.parentNode)?(c.push(u.parentNode.host),u=u.parentNode.host):(c.push(u.parentNode),u=u.parentNode);var p,h=[],f={},v=!1,g=!1;if(ke(c,(_=>{var w=jp(_);_.tagName.toLowerCase()==="a"&&(v=_.getAttribute("href"),v=w&&v&&bo(v)&&v),de(Il(_),"ph-no-capture")&&(g=!0),h.push(u1(_,s,o,a));var C=(function(b){if(!jp(b))return{};var A={};return ke(b.attributes,(function($){if($.name&&$.name.indexOf("data-ph-capture-attribute")===0){var T=$.name.replace("data-ph-capture-attribute-",""),M=$.value;T&&M&&bo(M)&&(A[T]=M)}})),A})(_);Pe(f,C)})),g)return{props:{},explicitNoCapture:g};if(o||(r.tagName.toLowerCase()==="a"||r.tagName.toLowerCase()==="button"?h[0].$el_text=Rb(r):h[0].$el_text=wo(r)),v){var m,y;h[0].attr__href=v;var x=(m=Ml(v))==null?void 0:m.host,S=E==null||(y=E.location)==null?void 0:y.host;x&&S&&x!==S&&(p=v)}return{props:Pe({$event_type:i.type,$ce_version:1},l?{}:{$elements:h},{$elements_chain:o1(h)},(t=h[0])!=null&&t.$el_text?{$el_text:(n=h[0])==null?void 0:n.$el_text}:{},p&&i.type==="click"?{$external_click_url:p}:{},f)}}var Up=class{constructor(e){this.P=!1,this.T=null,this.I=!1,this.instance=e,this.rageclicks=new $l(e.config.rageclick),this.C=null}get R(){var e,t,n=Le(this.instance.config.autocapture)?this.instance.config.autocapture:{};return n.url_allowlist=(e=n.url_allowlist)==null?void 0:e.map((i=>new RegExp(i))),n.url_ignorelist=(t=n.url_ignorelist)==null?void 0:t.map((i=>new RegExp(i))),n}F(){if(this.isBrowserSupported()){if(E&&D){var e=n=>{n=n||E?.event;try{this.O(n)}catch(i){y_.error("Failed to capture event",i)}};if(Ne(D,"submit",e,{capture:!0}),Ne(D,"change",e,{capture:!0}),Ne(D,"click",e,{capture:!0}),this.R.capture_copied_text){var t=n=>{n=n||E?.event,this.O(n,rp)};Ne(D,"copy",t,{capture:!0}),Ne(D,"cut",t,{capture:!0})}}}else y_.info("Disabling Automatic Event Collection because this browser is not supported")}startIfEnabled(){this.isEnabled&&!this.P&&(this.F(),this.P=!0)}onRemoteConfig(e){e.elementsChainAsString&&(this.I=e.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[a_]:!!e.autocapture_opt_out}),this.T=!!e.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(e){this.C=e}getElementSelectors(e){var t,n=[];return(t=this.C)==null||t.forEach((i=>{var s=D?.querySelectorAll(i);s?.forEach((o=>{e===o&&n.push(i)}))})),n}get isEnabled(){var e,t,n=(e=this.instance.persistence)==null?void 0:e.props[a_],i=this.T;if(Ft(i)&&!vr(n)&&!this.instance.M())return!1;var s=(t=this.T)!==null&&t!==void 0?t:!!n;return!!this.instance.config.autocapture&&!s}O(e,t){if(t===void 0&&(t="$autocapture"),this.isEnabled){var n,i=xb(e);yb(i)&&(i=i.parentNode||null),t==="$autocapture"&&e.type==="click"&&e instanceof MouseEvent&&this.instance.config.rageclick&&(n=this.rageclicks)!=null&&n.isRageClick(e.clientX,e.clientY,e.timeStamp||new Date().getTime())&&e1(i,this.instance.config.rageclick)&&this.O(e,"$rageclick");var s=t===rp;if(i&&t1(i,e,this.R,s,s?["copy","cut"]:void 0)){var{props:o,explicitNoCapture:a}=d1(i,{e,maskAllElementAttributes:this.instance.config.mask_all_element_attributes,maskAllText:this.instance.config.mask_all_text,elementAttributeIgnoreList:this.R.element_attribute_ignorelist,elementsChainAsString:this.I});if(a)return!1;var l=this.getElementSelectors(i);if(l&&l.length>0&&(o.$element_selectors=l),t===rp){var c,u=bb(E==null||(c=E.getSelection())==null?void 0:c.toString()),p=e.type||"clipboard";if(!u)return!1;o.$selected_content=u,o.$copy_type=p}return this.instance.capture(t,o),!0}}}isBrowserSupported(){return Ur(D?.querySelectorAll)}};Math.trunc||(Math.trunc=function(r){return r<0?Math.ceil(r):Math.floor(r)}),Number.isInteger||(Number.isInteger=function(r){return yr(r)&&isFinite(r)&&Math.floor(r)===r});var __="0123456789abcdef",Wp=class r{constructor(e){if(this.bytes=e,e.length!==16)throw new TypeError("not 128-bit length")}static fromFieldsV7(e,t,n,i){if(!Number.isInteger(e)||!Number.isInteger(t)||!Number.isInteger(n)||!Number.isInteger(i)||e<0||t<0||n<0||i<0||e>0xffffffffffff||t>4095||n>1073741823||i>4294967295)throw new RangeError("invalid field value");var s=new Uint8Array(16);return s[0]=e/Math.pow(2,40),s[1]=e/Math.pow(2,32),s[2]=e/Math.pow(2,24),s[3]=e/Math.pow(2,16),s[4]=e/Math.pow(2,8),s[5]=e,s[6]=112|t>>>8,s[7]=t,s[8]=128|n>>>24,s[9]=n>>>16,s[10]=n>>>8,s[11]=n,s[12]=i>>>24,s[13]=i>>>16,s[14]=i>>>8,s[15]=i,new r(s)}toString(){for(var e="",t=0;t<this.bytes.length;t++)e=e+__.charAt(this.bytes[t]>>>4)+__.charAt(15&this.bytes[t]),t!==3&&t!==5&&t!==7&&t!==9||(e+="-");if(e.length!==36)throw new Error("Invalid UUIDv7 was generated");return e}clone(){return new r(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(var t=0;t<16;t++){var n=this.bytes[t]-e.bytes[t];if(n!==0)return Math.sign(n)}return 0}},zp=class{constructor(){this.A=0,this.j=0,this.D=new qp}generate(){var e=this.generateOrAbort();if(H(e)){this.A=0;var t=this.generateOrAbort();if(H(t))throw new Error("Could not generate UUID after timestamp reset");return t}return e}generateOrAbort(){var e=Date.now();if(e>this.A)this.A=e,this.L();else{if(!(e+1e4>this.A))return;this.j++,this.j>4398046511103&&(this.A++,this.L())}return Wp.fromFieldsV7(this.A,Math.trunc(this.j/Math.pow(2,30)),this.j&Math.pow(2,30)-1,this.D.nextUint32())}L(){this.j=1024*this.D.nextUint32()+(1023&this.D.nextUint32())}},b_,Ib=r=>{if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");for(var e=0;e<r.length;e++)r[e]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return r};E&&!H(E.crypto)&&crypto.getRandomValues&&(Ib=r=>crypto.getRandomValues(r));var qp=class{constructor(){this.N=new Uint32Array(8),this.U=1/0}nextUint32(){return this.U>=this.N.length&&(Ib(this.N),this.U=0),this.N[this.U++]}},jr=()=>p1().toString(),p1=()=>(b_||(b_=new zp)).generate(),Ys="",h1=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i;function f1(r,e){if(e){var t=(function(i,s){if(s===void 0&&(s=D),Ys)return Ys;if(!s||["localhost","127.0.0.1"].includes(i))return"";for(var o=i.split("."),a=Math.min(o.length,8),l="dmn_chk_"+jr();!Ys&&a--;){var c=o.slice(a).join("."),u=l+"=1;domain=."+c+";path=/";s.cookie=u+";max-age=3",s.cookie.includes(l)&&(s.cookie=u+";max-age=0",Ys=c)}return Ys})(r);if(!t){var n=(i=>{var s=i.match(h1);return s?s[0]:""})(r);n!==t&&B.info("Warning: cookie subdomain discovery mismatch",n,t),t=n}return t?"; domain=."+t:""}return""}var Zt={H:()=>!!D,B:function(r){B.error("cookieStore error: "+r)},q:function(r){if(D){try{for(var e=r+"=",t=D.cookie.split(";").filter((s=>s.length)),n=0;n<t.length;n++){for(var i=t[n];i.charAt(0)==" ";)i=i.substring(1,i.length);if(i.indexOf(e)===0)return decodeURIComponent(i.substring(e.length,i.length))}}catch{}return null}},W:function(r){var e;try{e=JSON.parse(Zt.q(r))||{}}catch{}return e},G:function(r,e,t,n,i){if(D)try{var s="",o="",a=f1(D.location.hostname,n);if(t){var l=new Date;l.setTime(l.getTime()+24*t*60*60*1e3),s="; expires="+l.toUTCString()}i&&(o="; secure");var c=r+"="+encodeURIComponent(JSON.stringify(e))+s+"; SameSite=Lax; path=/"+a+o;return c.length>3686.4&&B.warn("cookieStore warning: large cookie, len="+c.length),D.cookie=c,c}catch{return}},V:function(r,e){if(D!=null&&D.cookie)try{Zt.G(r,"",-1,e)}catch{return}}},ip=null,Re={H:function(){if(!Ft(ip))return ip;var r=!0;if(H(E))r=!1;else try{var e="__mplssupport__";Re.G(e,"xyz"),Re.q(e)!=='"xyz"'&&(r=!1),Re.V(e)}catch{r=!1}return r||B.error("localStorage unsupported; falling back to cookie store"),ip=r,r},B:function(r){B.error("localStorage error: "+r)},q:function(r){try{return E?.localStorage.getItem(r)}catch(e){Re.B(e)}return null},W:function(r){try{return JSON.parse(Re.q(r))||{}}catch{}return null},G:function(r,e){try{E?.localStorage.setItem(r,JSON.stringify(e))}catch(t){Re.B(t)}},V:function(r){try{E?.localStorage.removeItem(r)}catch(e){Re.B(e)}}},g1=["$device_id","distinct_id",Cl,mb,Tl,Rl],vl={},m1={H:function(){return!0},B:function(r){B.error("memoryStorage error: "+r)},q:function(r){return vl[r]||null},W:function(r){return vl[r]||null},G:function(r,e){vl[r]=e},V:function(r){delete vl[r]}},Pn=null,qe={H:function(){if(!Ft(Pn))return Pn;if(Pn=!0,H(E))Pn=!1;else try{var r="__support__";qe.G(r,"xyz"),qe.q(r)!=='"xyz"'&&(Pn=!1),qe.V(r)}catch{Pn=!1}return Pn},B:function(r){B.error("sessionStorage error: ",r)},q:function(r){try{return E?.sessionStorage.getItem(r)}catch(e){qe.B(e)}return null},W:function(r){try{return JSON.parse(qe.q(r))||null}catch{}return null},G:function(r,e){try{E?.sessionStorage.setItem(r,JSON.stringify(e))}catch(t){qe.B(t)}},V:function(r){try{E?.sessionStorage.removeItem(r)}catch(e){qe.B(e)}}},fr=(function(r){return r[r.PENDING=-1]="PENDING",r[r.DENIED=0]="DENIED",r[r.GRANTED=1]="GRANTED",r})({}),Zp=class{constructor(e){this._instance=e}get R(){return this._instance.config}get consent(){return this.J()?fr.DENIED:this.K}isOptedOut(){return this.R.cookieless_mode==="always"||this.consent===fr.DENIED||this.consent===fr.PENDING&&(this.R.opt_out_capturing_by_default||this.R.cookieless_mode==="on_reject")}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return this.consent===fr.DENIED}optInOut(e){this.Y.G(this.X,e?1:0,this.R.cookie_expiration,this.R.cross_subdomain_cookie,this.R.secure_cookie)}reset(){this.Y.V(this.X,this.R.cross_subdomain_cookie)}get X(){var{token:e,opt_out_capturing_cookie_prefix:t,consent_persistence_name:n}=this._instance.config;return n||(t?t+e:"__ph_opt_in_out_"+e)}get K(){var e=this.Y.q(this.X);return Jd(e)?fr.GRANTED:de(kC,e)?fr.DENIED:fr.PENDING}get Y(){if(!this.Z){var e=this.R.opt_out_capturing_persistence_type;this.Z=e==="localStorage"?Re:Zt;var t=e==="localStorage"?Zt:Re;t.q(this.X)&&(this.Z.q(this.X)||this.optInOut(Jd(t.q(this.X))),t.V(this.X,this.R.cross_subdomain_cookie))}return this.Z}J(){return!!this.R.respect_dnt&&!!hb([ht?.doNotTrack,ht?.msDoNotTrack,Q.doNotTrack],(e=>Jd(e)))}},yl=Ie("[Dead Clicks]"),v1=()=>!0,y1=r=>{var e,t=!((e=r.instance.persistence)==null||!e.get_property(gb)),n=r.instance.config.capture_dead_clicks;return vr(n)?n:!!Le(n)||t},Nl=class{get lazyLoadedDeadClicksAutocapture(){return this.tt}constructor(e,t,n){this.instance=e,this.isEnabled=t,this.onCapture=n,this.startIfEnabled()}onRemoteConfig(e){this.instance.persistence&&this.instance.persistence.register({[gb]:e?.captureDeadClicks}),this.startIfEnabled()}startIfEnabled(){this.isEnabled(this)&&this.it((()=>{this.et()}))}it(e){var t,n;(t=Q.__PosthogExtensions__)!=null&&t.initDeadClicksAutocapture&&e(),(n=Q.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this.instance,"dead-clicks-autocapture",(i=>{i?yl.error("failed to load script",i):e()}))}et(){var e;if(D){if(!this.tt&&(e=Q.__PosthogExtensions__)!=null&&e.initDeadClicksAutocapture){var t=Le(this.instance.config.capture_dead_clicks)?this.instance.config.capture_dead_clicks:{};t.__onCapture=this.onCapture,this.tt=Q.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,t),this.tt.start(D),yl.info("starting...")}}else yl.error("`document` not found. Cannot start.")}stop(){this.tt&&(this.tt.stop(),this.tt=void 0,yl.info("stopping..."))}},Xs=Ie("[ExceptionAutocapture]"),Gp=class{constructor(e){var t,n,i;this.rt=()=>{var s;if(E&&this.isEnabled&&(s=Q.__PosthogExtensions__)!=null&&s.errorWrappingFunctions){var o=Q.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,a=Q.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,l=Q.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.st&&this.R.capture_unhandled_errors&&(this.st=o(this.captureException.bind(this))),!this.nt&&this.R.capture_unhandled_rejections&&(this.nt=a(this.captureException.bind(this))),!this.ot&&this.R.capture_console_errors&&(this.ot=l(this.captureException.bind(this)))}catch(c){Xs.error("failed to start",c),this.ut()}}},this._instance=e,this.ht=!((t=this._instance.persistence)==null||!t.props[l_]),this.dt=new bp({refillRate:(n=this._instance.config.error_tracking.__exceptionRateLimiterRefillRate)!==null&&n!==void 0?n:1,bucketSize:(i=this._instance.config.error_tracking.__exceptionRateLimiterBucketSize)!==null&&i!==void 0?i:10,refillInterval:1e4,h:Xs}),this.R=this.vt(),this.startIfEnabledOrStop()}vt(){var e=this._instance.config.capture_exceptions,t={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return Le(e)?t=j({},t,e):(H(e)?this.ht:e)&&(t=j({},t,{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),t}get isEnabled(){return this.R.capture_console_errors||this.R.capture_unhandled_errors||this.R.capture_unhandled_rejections}startIfEnabledOrStop(){this.isEnabled?(Xs.info("enabled"),this.ut(),this.it(this.rt)):this.ut()}it(e){var t,n;(t=Q.__PosthogExtensions__)!=null&&t.errorWrappingFunctions&&e(),(n=Q.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"exception-autocapture",(i=>{if(i)return Xs.error("failed to load script",i);e()}))}ut(){var e,t,n;(e=this.st)==null||e.call(this),this.st=void 0,(t=this.nt)==null||t.call(this),this.nt=void 0,(n=this.ot)==null||n.call(this),this.ot=void 0}onRemoteConfig(e){var t=e.autocaptureExceptions;this.ht=!!t||!1,this._instance.persistence&&this._instance.persistence.register({[l_]:this.ht}),this.R=this.vt(),this.startIfEnabledOrStop()}onConfigChange(){this.R=this.vt()}captureException(e){var t,n,i=(t=e==null||(n=e.$exception_list)==null||(n=n[0])==null?void 0:n.type)!==null&&t!==void 0?t:"Exception";this.dt.consumeRateLimit(i)?Xs.info("Skipping exception capture because of client rate limiting.",{exception:i}):this._instance.exceptions.sendExceptionEvent(e)}};function x_(r,e,t){try{if(!(e in r))return()=>{};var n=r[e],i=t(n);return Ur(i)&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__posthog_wrapped__:{enumerable:!1,value:!0}})),r[e]=i,()=>{r[e]=n}}catch{return()=>{}}}var Kp=class{constructor(e){var t;this._instance=e,this.ct=(E==null||(t=E.location)==null?void 0:t.pathname)||""}get isEnabled(){return this._instance.config.capture_pageview==="history_change"}startIfEnabled(){this.isEnabled&&(B.info("History API monitoring enabled, starting..."),this.monitorHistoryChanges())}stop(){this.ft&&this.ft(),this.ft=void 0,B.info("History API monitoring stopped")}monitorHistoryChanges(){var e,t;if(E&&E.history){var n=this;(e=E.history.pushState)!=null&&e.__posthog_wrapped__||x_(E.history,"pushState",(i=>function(s,o,a){i.call(this,s,o,a),n._t("pushState")})),(t=E.history.replaceState)!=null&&t.__posthog_wrapped__||x_(E.history,"replaceState",(i=>function(s,o,a){i.call(this,s,o,a),n._t("replaceState")})),this.bt()}}_t(e){try{var t,n=E==null||(t=E.location)==null?void 0:t.pathname;if(!n)return;n!==this.ct&&this.isEnabled&&this._instance.capture("$pageview",{navigation_type:e}),this.ct=n}catch(i){B.error("Error capturing "+e+" pageview",i)}}bt(){if(!this.ft){var e=()=>{this._t("popstate")};Ne(E,"popstate",e),this.ft=()=>{E&&E.removeEventListener("popstate",e)}}}},sp=Ie("[SegmentIntegration]");function _1(r,e){var t=r.config.segment;if(!t)return e();(function(n,i){var s=n.config.segment;if(!s)return i();var o=l=>{var c=()=>l.anonymousId()||jr();n.config.get_device_id=c,l.id()&&(n.register({distinct_id:l.id(),$device_id:c()}),n.persistence.set_property(hr,"identified")),i()},a=s.user();"then"in a&&Ur(a.then)?a.then(o):o(a)})(r,(()=>{t.register((n=>{Promise&&Promise.resolve||sp.warn("This browser does not have Promise support, and can not use the segment integration");var i=(s,o)=>{if(!o)return s;s.event.userId||s.event.anonymousId===n.get_distinct_id()||(sp.info("No userId set, resetting PostHog"),n.reset()),s.event.userId&&s.event.userId!==n.get_distinct_id()&&(sp.info("UserId set, identifying with PostHog"),n.identify(s.event.userId));var a=n.calculateEventProperties(o,s.event.properties);return s.event.properties=Object.assign({},a,s.event.properties),s};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded:()=>!0,load:()=>Promise.resolve(),track:s=>i(s,s.event.event),page:s=>i(s,"$pageview"),identify:s=>i(s,"$identify"),screen:s=>i(s,"$screen")}})(r)).then((()=>{e()}))}))}var $b="posthog-js";function Mb(r,e){var{organization:t,projectId:n,prefix:i,severityAllowList:s=["error"],sendExceptionsToPostHog:o=!0}=e===void 0?{}:e;return a=>{var l,c,u,p,h;if(!(s==="*"||s.includes(a.level))||!r.__loaded)return a;a.tags||(a.tags={});var f=r.requestRouter.endpointFor("ui","/project/"+r.config.token+"/person/"+r.get_distinct_id());a.tags["PostHog Person URL"]=f,r.sessionRecordingStarted()&&(a.tags["PostHog Recording URL"]=r.get_session_replay_url({withTimestamp:!0}));var v=((l=a.exception)==null?void 0:l.values)||[],g=v.map((y=>j({},y,{stacktrace:y.stacktrace?j({},y.stacktrace,{type:"raw",frames:(y.stacktrace.frames||[]).map((x=>j({},x,{platform:"web:javascript"})))}):void 0}))),m={$exception_message:((c=v[0])==null?void 0:c.value)||a.message,$exception_type:(u=v[0])==null?void 0:u.type,$exception_level:a.level,$exception_list:g,$sentry_event_id:a.event_id,$sentry_exception:a.exception,$sentry_exception_message:((p=v[0])==null?void 0:p.value)||a.message,$sentry_exception_type:(h=v[0])==null?void 0:h.type,$sentry_tags:a.tags};return t&&n&&(m.$sentry_url=(i||"https://sentry.io/organizations/")+t+"/issues/?project="+n+"&query="+a.event_id),o&&r.exceptions.sendExceptionEvent(m),a}}var Yp=class{constructor(e,t,n,i,s,o){this.name=$b,this.setupOnce=function(a){a(Mb(e,{organization:t,projectId:n,prefix:i,severityAllowList:s,sendExceptionsToPostHog:o==null||o}))}}},b1=E!=null&&E.location?Ol(E.location.hash,"__posthog")||Ol(location.hash,"state"):null,w_="_postHogToolbarParams",S_=Ie("[Toolbar]"),Vr=(function(r){return r[r.UNINITIALIZED=0]="UNINITIALIZED",r[r.LOADING=1]="LOADING",r[r.LOADED=2]="LOADED",r})(Vr||{}),Xp=class{constructor(e){this.instance=e}yt(e){Q.ph_toolbar_state=e}wt(){var e;return(e=Q.ph_toolbar_state)!==null&&e!==void 0?e:Vr.UNINITIALIZED}maybeLoadToolbar(e,t,n){if(e===void 0&&(e=void 0),t===void 0&&(t=void 0),n===void 0&&(n=void 0),!E||!D)return!1;e=e??E.location,n=n??E.history;try{if(!t){try{E.localStorage.setItem("test","test"),E.localStorage.removeItem("test")}catch{return!1}t=E?.localStorage}var i,s=b1||Ol(e.hash,"__posthog")||Ol(e.hash,"state"),o=s?o_((()=>JSON.parse(atob(decodeURIComponent(s)))))||o_((()=>JSON.parse(decodeURIComponent(s)))):null;return o&&o.action==="ph_authorize"?((i=o).source="url",i&&Object.keys(i).length>0&&(o.desiredHash?e.hash=o.desiredHash:n?n.replaceState(n.state,"",e.pathname+e.search):e.hash="")):((i=JSON.parse(t.getItem(w_)||"{}")).source="localstorage",delete i.userIntent),!(!i.token||this.instance.config.token!==i.token)&&(this.loadToolbar(i),!0)}catch{return!1}}xt(e){var t=Q.ph_load_toolbar||Q.ph_load_editor;!pe(t)&&Ur(t)?t(e,this.instance):S_.warn("No toolbar load function found")}loadToolbar(e){var t=!(D==null||!D.getElementById(vb));if(!E||t)return!1;var n=this.instance.requestRouter.region==="custom"&&this.instance.config.advanced_disable_toolbar_metrics,i=j({token:this.instance.config.token},e,{apiURL:this.instance.requestRouter.endpointFor("ui")},n?{instrument:!1}:{});if(E.localStorage.setItem(w_,JSON.stringify(j({},i,{source:void 0}))),this.wt()===Vr.LOADED)this.xt(i);else if(this.wt()===Vr.UNINITIALIZED){var s;this.yt(Vr.LOADING),(s=Q.__PosthogExtensions__)==null||s.loadExternalDependency==null||s.loadExternalDependency(this.instance,"toolbar",(o=>{if(o)return S_.error("[Toolbar] Failed to load",o),void this.yt(Vr.UNINITIALIZED);this.yt(Vr.LOADED),this.xt(i)})),Ne(E,"turbolinks:load",(()=>{this.yt(Vr.UNINITIALIZED),this.loadToolbar(i)}))}return!0}Et(e){return this.loadToolbar(e)}maybeLoadEditor(e,t,n){return e===void 0&&(e=void 0),t===void 0&&(t=void 0),n===void 0&&(n=void 0),this.maybeLoadToolbar(e,t,n)}},x1=Ie("[TracingHeaders]"),Jp=class{constructor(e){this.$t=void 0,this.St=void 0,this.rt=()=>{var t,n;H(this.$t)&&((t=Q.__PosthogExtensions__)==null||(t=t.tracingHeadersPatchFns)==null||t._patchXHR(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager)),H(this.St)&&((n=Q.__PosthogExtensions__)==null||(n=n.tracingHeadersPatchFns)==null||n._patchFetch(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager))},this._instance=e}it(e){var t,n;(t=Q.__PosthogExtensions__)!=null&&t.tracingHeadersPatchFns&&e(),(n=Q.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"tracing-headers",(i=>{if(i)return x1.error("failed to load script",i);e()}))}startIfEnabledOrStop(){var e,t;this._instance.config.__add_tracing_headers?this.it(this.rt):((e=this.$t)==null||e.call(this),(t=this.St)==null||t.call(this),this.$t=void 0,this.St=void 0)}},_l="https?://(.*)",Ii=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","irclid","_kx"],w1=Ti(["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid"],Ii),ko="<masked>",S1=["li_fat_id"];function Pb(r,e,t){if(!D)return{};var n,i=e?Ti([],Ii,t||[]):[],s=Ob(So(D.URL,i,ko),r),o=(n={},ke(S1,(function(a){var l=Zt.q(a);n[a]=l||null})),n);return Pe(o,s)}function Ob(r,e){var t=w1.concat(e||[]),n={};return ke(t,(function(i){var s=Pl(r,i);n[i]=s||null})),n}function Nb(r){var e=(function(s){return s?s.search(_l+"google.([^/?]*)")===0?"google":s.search(_l+"bing.com")===0?"bing":s.search(_l+"yahoo.com")===0?"yahoo":s.search(_l+"duckduckgo.com")===0?"duckduckgo":null:null})(r),t=e!="yahoo"?"q":"p",n={};if(!Ft(e)){n.$search_engine=e;var i=D?Pl(D.referrer,t):"";i.length&&(n.ph_keyword=i)}return n}function k_(){return navigator.language||navigator.userLanguage}function Lb(){return D?.referrer||"$direct"}function Fb(r,e){var t=r?Ti([],Ii,e||[]):[],n=Ze?.href.substring(0,1e3);return{r:Lb().substring(0,1e3),u:n?So(n,t,ko):void 0}}function Db(r){var e,{r:t,u:n}=r,i={$referrer:t,$referring_domain:t==null?void 0:t=="$direct"?"$direct":(e=Ml(t))==null?void 0:e.host};if(n){i.$current_url=n;var s=Ml(n);i.$host=s?.host,i.$pathname=s?.pathname;var o=Ob(n);Pe(i,o)}if(t){var a=Nb(t);Pe(i,a)}return i}function Hb(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function k1(){try{return new Date().getTimezoneOffset()}catch{return}}function E1(r,e){if(!at)return{};var t,n,i,s=r?Ti([],Ii,e||[]):[],[o,a]=(function(l){for(var c=0;c<t_.length;c++){var[u,p]=t_[c],h=u.exec(l),f=h&&(Ur(p)?p(h,l):p);if(f)return f}return["",""]})(at);return Pe(Mh({$os:o,$os_version:a,$browser:cb(at,navigator.vendor),$device:r_(at),$device_type:(n=at,i=r_(n),i===K_||i===G_||i==="Kobo"||i==="Kindle Fire"||i===lb?mo:i===yo||i===Ei||i===_o||i===wp?"Console":i===X_?"Wearable":i?Et:"Desktop"),$timezone:Hb(),$timezone_offset:k1()}),{$current_url:So(Ze?.href,s,ko),$host:Ze?.host,$pathname:Ze?.pathname,$raw_user_agent:at.length>1e3?at.substring(0,997)+"...":at,$browser_version:OC(at,navigator.vendor),$browser_language:k_(),$browser_language_prefix:(t=k_(),typeof t=="string"?t.split("-")[0]:void 0),$screen_height:E?.screen.height,$screen_width:E?.screen.width,$viewport_height:E?.innerHeight,$viewport_width:E?.innerWidth,$lib:"web",$lib_version:pr.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})}var Dr=Ie("[Web Vitals]"),E_=9e5,Qp=class{constructor(e){var t;this.kt=!1,this.P=!1,this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0},this.Pt=()=>{clearTimeout(this.Tt),this.N.metrics.length!==0&&(this._instance.capture("$web_vitals",this.N.metrics.reduce(((n,i)=>j({},n,{["$web_vitals_"+i.name+"_event"]:j({},i),["$web_vitals_"+i.name+"_value"]:i.value})),{})),this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.It=n=>{var i,s=(i=this._instance.sessionManager)==null?void 0:i.checkAndGetSessionAndWindowId(!0);if(H(s))Dr.error("Could not read session ID. Dropping metrics!");else{this.N=this.N||{url:void 0,metrics:[],firstMetricTimestamp:void 0};var o=this.Ct();H(o)||(pe(n?.name)||pe(n?.value)?Dr.error("Invalid metric received",n):this.Rt&&n.value>=this.Rt?Dr.error("Ignoring metric with value >= "+this.Rt,n):(this.N.url!==o&&(this.Pt(),this.Tt=setTimeout(this.Pt,this.flushToCaptureTimeoutMs)),H(this.N.url)&&(this.N.url=o),this.N.firstMetricTimestamp=H(this.N.firstMetricTimestamp)?Date.now():this.N.firstMetricTimestamp,n.attribution&&n.attribution.interactionTargetElement&&(n.attribution.interactionTargetElement=void 0),this.N.metrics.push(j({},n,{$current_url:o,$session_id:s.sessionId,$window_id:s.windowId,timestamp:Date.now()})),this.N.metrics.length===this.allowedMetrics.length&&this.Pt()))}},this.rt=()=>{if(!this.P){var n,i,s,o,a=Q.__PosthogExtensions__;H(a)||H(a.postHogWebVitalsCallbacks)||({onLCP:n,onCLS:i,onFCP:s,onINP:o}=a.postHogWebVitalsCallbacks),n&&i&&s&&o?(this.allowedMetrics.indexOf("LCP")>-1&&n(this.It.bind(this)),this.allowedMetrics.indexOf("CLS")>-1&&i(this.It.bind(this)),this.allowedMetrics.indexOf("FCP")>-1&&s(this.It.bind(this)),this.allowedMetrics.indexOf("INP")>-1&&o(this.It.bind(this)),this.P=!0):Dr.error("web vitals callbacks not loaded - not starting")}},this._instance=e,this.kt=!((t=this._instance.persistence)==null||!t.props[u_]),this.startIfEnabled()}get allowedMetrics(){var e,t,n=Le(this._instance.config.capture_performance)?(e=this._instance.config.capture_performance)==null?void 0:e.web_vitals_allowed_metrics:void 0;return pe(n)?((t=this._instance.persistence)==null?void 0:t.props[p_])||["CLS","FCP","INP","LCP"]:n}get flushToCaptureTimeoutMs(){return(Le(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals_delayed_flush_ms:void 0)||5e3}get useAttribution(){var e=Le(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals_attribution:void 0;return e!=null&&e}get Rt(){var e=Le(this._instance.config.capture_performance)&&yr(this._instance.config.capture_performance.__web_vitals_max_value)?this._instance.config.capture_performance.__web_vitals_max_value:E_;return 0<e&&e<=6e4?E_:e}get isEnabled(){var e=Ze?.protocol;if(e!=="http:"&&e!=="https:")return Dr.info("Web Vitals are disabled on non-http/https protocols"),!1;var t=Le(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals:vr(this._instance.config.capture_performance)?this._instance.config.capture_performance:void 0;return vr(t)?t:this.kt}startIfEnabled(){this.isEnabled&&!this.P&&(Dr.info("enabled, starting..."),this.it(this.rt))}onRemoteConfig(e){var t=Le(e.capturePerformance)&&!!e.capturePerformance.web_vitals,n=Le(e.capturePerformance)?e.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[u_]:t}),this._instance.persistence.register({[p_]:n})),this.kt=t,this.startIfEnabled()}it(e){var t,n;if((t=Q.__PosthogExtensions__)!=null&&t.postHogWebVitalsCallbacks)e();else{var i=this.useAttribution?"web-vitals-with-attribution":"web-vitals";(n=Q.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,i,(s=>{s?Dr.error("failed to load script",s):e()}))}}Ct(){var e=E?E.location.href:void 0;if(e){var t=this._instance.config.mask_personal_data_properties,n=this._instance.config.custom_personal_data_properties,i=t?Ti([],Ii,n||[]):[];return So(e,i,ko)}Dr.error("Could not determine current URL")}},C1=Ie("[Heatmaps]");function C_(r){return Le(r)&&"clientX"in r&&"clientY"in r&&yr(r.clientX)&&yr(r.clientY)}var eh=class{constructor(e){var t;this.kt=!1,this.P=!1,this.Ft=null,this.instance=e,this.kt=!((t=this.instance.persistence)==null||!t.props[Op]),this.rageclicks=new $l(e.config.rageclick)}get flushIntervalMilliseconds(){var e=5e3;return Le(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 pe(this.instance.config.capture_heatmaps)?pe(this.instance.config.enable_heatmaps)?this.kt:this.instance.config.enable_heatmaps:this.instance.config.capture_heatmaps!==!1}startIfEnabled(){if(this.isEnabled){if(this.P)return;C1.info("starting..."),this.Ot(),this.Mt()}else{var e;clearInterval((e=this.Ft)!==null&&e!==void 0?e:void 0),this.At(),this.getAndClearBuffer()}}onRemoteConfig(e){var t=!!e.heatmaps;this.instance.persistence&&this.instance.persistence.register({[Op]:t}),this.kt=t,this.startIfEnabled()}getAndClearBuffer(){var e=this.N;return this.N=void 0,e}jt(e){this.Dt(e.originalEvent,"deadclick")}Mt(){this.Ft&&clearInterval(this.Ft),this.Ft=(function(e){return e?.visibilityState==="visible"})(D)?setInterval(this.Lt.bind(this),this.flushIntervalMilliseconds):null}Ot(){E&&D&&(this.Nt=this.Lt.bind(this),Ne(E,"beforeunload",this.Nt),this.Ut=e=>this.Dt(e||E?.event),Ne(D,"click",this.Ut,{capture:!0}),this.zt=e=>this.Ht(e||E?.event),Ne(D,"mousemove",this.zt,{capture:!0}),this.Bt=new Nl(this.instance,v1,this.jt.bind(this)),this.Bt.startIfEnabled(),this.qt=this.Mt.bind(this),Ne(D,"visibilitychange",this.qt),this.P=!0)}At(){var e;E&&D&&(this.Nt&&E.removeEventListener("beforeunload",this.Nt),this.Ut&&D.removeEventListener("click",this.Ut,{capture:!0}),this.zt&&D.removeEventListener("mousemove",this.zt,{capture:!0}),this.qt&&D.removeEventListener("visibilitychange",this.qt),clearTimeout(this.Wt),(e=this.Bt)==null||e.stop(),this.P=!1)}Gt(e,t){var n=this.instance.scrollManager.scrollY(),i=this.instance.scrollManager.scrollX(),s=this.instance.scrollManager.scrollElement(),o=(function(a,l,c){for(var u=a;u&&Zl(u)&&!zr(u,"body");){if(u===c)return!1;if(de(l,E?.getComputedStyle(u).position))return!0;u=Sb(u)}return!1})(xb(e),["fixed","sticky"],s);return{x:e.clientX+(o?0:i),y:e.clientY+(o?0:n),target_fixed:o,type:t}}Dt(e,t){var n;if(t===void 0&&(t="click"),!h_(e.target)&&C_(e)){var i=this.Gt(e,t);(n=this.rageclicks)!=null&&n.isRageClick(e.clientX,e.clientY,new Date().getTime())&&this.Vt(j({},i,{type:"rageclick"})),this.Vt(i)}}Ht(e){!h_(e.target)&&C_(e)&&(clearTimeout(this.Wt),this.Wt=setTimeout((()=>{this.Vt(this.Gt(e,"mousemove"))}),500))}Vt(e){if(E){var t=E.location.href,n=this.instance.config.mask_personal_data_properties,i=this.instance.config.custom_personal_data_properties,s=n?Ti([],Ii,i||[]):[],o=So(t,s,ko);this.N=this.N||{},this.N[o]||(this.N[o]=[]),this.N[o].push(e)}}Lt(){this.N&&!wi(this.N)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}},Ll=class{constructor(e){this.Jt=(t,n,i)=>{i&&(i.noSessionId||i.activityTimeout||i.sessionPastMaximumLength)&&(B.info("[PageViewManager] Session rotated, clearing pageview state",{sessionId:t,changeReason:i}),this.Kt=void 0,this._instance.scrollManager.resetContext())},this._instance=e,this.Yt()}Yt(){var e;this.Xt=(e=this._instance.sessionManager)==null?void 0:e.onSessionId(this.Jt)}destroy(){var e;(e=this.Xt)==null||e.call(this),this.Xt=void 0}doPageView(e,t){var n,i=this.Qt(e,t);return this.Kt={pathname:(n=E?.location.pathname)!==null&&n!==void 0?n:"",pageViewId:t,timestamp:e},this._instance.scrollManager.resetContext(),i}doPageLeave(e){var t;return this.Qt(e,(t=this.Kt)==null?void 0:t.pageViewId)}doEvent(){var e;return{$pageview_id:(e=this.Kt)==null?void 0:e.pageViewId}}Qt(e,t){var n=this.Kt;if(!n)return{$pageview_id:t};var i={$pageview_id:t,$prev_pageview_id:n.pageViewId},s=this._instance.scrollManager.getContext();if(s&&!this._instance.config.disable_scroll_properties){var{maxScrollHeight:o,lastScrollY:a,maxScrollY:l,maxContentHeight:c,lastContentY:u,maxContentY:p}=s;if(!(H(o)||H(a)||H(l)||H(c)||H(u)||H(p))){o=Math.ceil(o),a=Math.ceil(a),l=Math.ceil(l),c=Math.ceil(c),u=Math.ceil(u),p=Math.ceil(p);var h=o<=1?1:Gt(a/o,0,1,B),f=o<=1?1:Gt(l/o,0,1,B),v=c<=1?1:Gt(u/c,0,1,B),g=c<=1?1:Gt(p/c,0,1,B);i=Pe(i,{$prev_pageview_last_scroll:a,$prev_pageview_last_scroll_percentage:h,$prev_pageview_max_scroll:l,$prev_pageview_max_scroll_percentage:f,$prev_pageview_last_content:u,$prev_pageview_last_content_percentage:v,$prev_pageview_max_content:p,$prev_pageview_max_content_percentage:g})}}return n.pathname&&(i.$prev_pageview_pathname=n.pathname),n.timestamp&&(i.$prev_pageview_duration=(e.getTime()-n.timestamp.getTime())/1e3),i}};var gr=(function(r){return r.GZipJS="gzip-js",r.Base64="base64",r})({}),Ct=Uint8Array,tt=Uint16Array,Ri=Uint32Array,Lh=new Ct([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]),Fh=new Ct([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]),A_=new Ct([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Bb=function(r,e){for(var t=new tt(31),n=0;n<31;++n)t[n]=e+=1<<r[n-1];var i=new Ri(t[30]);for(n=1;n<30;++n)for(var s=t[n];s<t[n+1];++s)i[s]=s-t[n]<<5|n;return[t,i]},Vb=Bb(Lh,2),A1=Vb[0],th=Vb[1];A1[28]=258,th[258]=28;for(rh=Bb(Fh,0)[1],Fl=new tt(32768),Ee=0;Ee<32768;++Ee)Hr=(43690&Ee)>>>1|(21845&Ee)<<1,Hr=(61680&(Hr=(52428&Hr)>>>2|(13107&Hr)<<2))>>>4|(3855&Hr)<<4,Fl[Ee]=((65280&Hr)>>>8|(255&Hr)<<8)>>>1;var Hr,rh,Fl,Ee,ho=function(r,e,t){for(var n=r.length,i=0,s=new tt(e);i<n;++i)++s[r[i]-1];var o,a=new tt(e);for(i=0;i<e;++i)a[i]=a[i-1]+s[i-1]<<1;if(t){o=new tt(1<<e);var l=15-e;for(i=0;i<n;++i)if(r[i])for(var c=i<<4|r[i],u=e-r[i],p=a[r[i]-1]++<<u,h=p|(1<<u)-1;p<=h;++p)o[Fl[p]>>>l]=c}else for(o=new tt(n),i=0;i<n;++i)o[i]=Fl[a[r[i]-1]++]>>>15-r[i];return o},Fn=new Ct(288);for(Ee=0;Ee<144;++Ee)Fn[Ee]=8;for(Ee=144;Ee<256;++Ee)Fn[Ee]=9;for(Ee=256;Ee<280;++Ee)Fn[Ee]=7;for(Ee=280;Ee<288;++Ee)Fn[Ee]=8;var Dl=new Ct(32);for(Ee=0;Ee<32;++Ee)Dl[Ee]=5;var R1=ho(Fn,9,0),T1=ho(Dl,5,0),jb=function(r){return(r/8>>0)+(7&r&&1)},Ub=function(r,e,t){(t==null||t>r.length)&&(t=r.length);var n=new(r instanceof tt?tt:r instanceof Ri?Ri:Ct)(t-e);return n.set(r.subarray(e,t)),n},ur=function(r,e,t){t<<=7&e;var n=e/8>>0;r[n]|=t,r[n+1]|=t>>>8},Js=function(r,e,t){t<<=7&e;var n=e/8>>0;r[n]|=t,r[n+1]|=t>>>8,r[n+2]|=t>>>16},op=function(r,e){for(var t=[],n=0;n<r.length;++n)r[n]&&t.push({s:n,f:r[n]});var i=t.length,s=t.slice();if(!i)return[new Ct(0),0];if(i==1){var o=new Ct(t[0].s+1);return o[t[0].s]=1,[o,1]}t.sort((function(w,C){return w.f-C.f})),t.push({s:-1,f:25001});var a=t[0],l=t[1],c=0,u=1,p=2;for(t[0]={s:-1,f:a.f+l.f,l:a,r:l};u!=i-1;)a=t[t[c].f<t[p].f?c++:p++],l=t[c!=u&&t[c].f<t[p].f?c++:p++],t[u++]={s:-1,f:a.f+l.f,l:a,r:l};var h=s[0].s;for(n=1;n<i;++n)s[n].s>h&&(h=s[n].s);var f=new tt(h+1),v=nh(t[u-1],f,0);if(v>e){n=0;var g=0,m=v-e,y=1<<m;for(s.sort((function(w,C){return f[C.s]-f[w.s]||w.f-C.f}));n<i;++n){var x=s[n].s;if(!(f[x]>e))break;g+=y-(1<<v-f[x]),f[x]=e}for(g>>>=m;g>0;){var S=s[n].s;f[S]<e?g-=1<<e-f[S]++-1:++n}for(;n>=0&&g;--n){var _=s[n].s;f[_]==e&&(--f[_],++g)}v=e}return[new Ct(f),v]},nh=function(r,e,t){return r.s==-1?Math.max(nh(r.l,e,t+1),nh(r.r,e,t+1)):e[r.s]=t},R_=function(r){for(var e=r.length;e&&!r[--e];);for(var t=new tt(++e),n=0,i=r[0],s=1,o=function(l){t[n++]=l},a=1;a<=e;++a)if(r[a]==i&&a!=e)++s;else{if(!i&&s>2){for(;s>138;s-=138)o(32754);s>2&&(o(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(o(i),--s;s>6;s-=6)o(8304);s>2&&(o(s-3<<5|8208),s=0)}for(;s--;)o(i);s=1,i=r[a]}return[t.subarray(0,n),e]},Qs=function(r,e){for(var t=0,n=0;n<e.length;++n)t+=r[n]*e[n];return t},ih=function(r,e,t){var n=t.length,i=jb(e+2);r[i]=255&n,r[i+1]=n>>>8,r[i+2]=255^r[i],r[i+3]=255^r[i+1];for(var s=0;s<n;++s)r[i+s+4]=t[s];return 8*(i+4+n)},T_=function(r,e,t,n,i,s,o,a,l,c,u){ur(e,u++,t),++i[256];for(var p=op(i,15),h=p[0],f=p[1],v=op(s,15),g=v[0],m=v[1],y=R_(h),x=y[0],S=y[1],_=R_(g),w=_[0],C=_[1],b=new tt(19),A=0;A<x.length;++A)b[31&x[A]]++;for(A=0;A<w.length;++A)b[31&w[A]]++;for(var $=op(b,7),T=$[0],M=$[1],K=19;K>4&&!T[A_[K-1]];--K);var N,P,z,Z,oe=c+5<<3,V=Qs(i,Fn)+Qs(s,Dl)+o,X=Qs(i,h)+Qs(s,g)+o+14+3*K+Qs(b,T)+(2*b[16]+3*b[17]+7*b[18]);if(oe<=V&&oe<=X)return ih(e,u,r.subarray(l,l+c));if(ur(e,u,1+(X<V)),u+=2,X<V){N=ho(h,f,0),P=h,z=ho(g,m,0),Z=g;var L=ho(T,M,0);for(ur(e,u,S-257),ur(e,u+5,C-1),ur(e,u+10,K-4),u+=14,A=0;A<K;++A)ur(e,u+3*A,T[A_[A]]);u+=3*K;for(var re=[x,w],G=0;G<2;++G){var ce=re[G];for(A=0;A<ce.length;++A){var he=31&ce[A];ur(e,u,L[he]),u+=T[he],he>15&&(ur(e,u,ce[A]>>>5&127),u+=ce[A]>>>12)}}}else N=R1,P=Fn,z=T1,Z=Dl;for(A=0;A<a;++A)if(n[A]>255){he=n[A]>>>18&31,Js(e,u,N[he+257]),u+=P[he+257],he>7&&(ur(e,u,n[A]>>>23&31),u+=Lh[he]);var ft=31&n[A];Js(e,u,z[ft]),u+=Z[ft],ft>3&&(Js(e,u,n[A]>>>5&8191),u+=Fh[ft])}else Js(e,u,N[n[A]]),u+=P[n[A]];return Js(e,u,N[256]),u+P[256]},I1=new Ri([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),$1=(function(){for(var r=new Ri(256),e=0;e<256;++e){for(var t=e,n=9;--n;)t=(1&t&&3988292384)^t>>>1;r[e]=t}return r})(),M1=function(r,e,t,n,i){return(function(s,o,a,l,c,u){var p=s.length,h=new Ct(l+p+5*(1+Math.floor(p/7e3))+c),f=h.subarray(l,h.length-c),v=0;if(!o||p<8)for(var g=0;g<=p;g+=65535){var m=g+65535;m<p?v=ih(f,v,s.subarray(g,m)):(f[g]=u,v=ih(f,v,s.subarray(g,p)))}else{for(var y=I1[o-1],x=y>>>13,S=8191&y,_=(1<<a)-1,w=new tt(32768),C=new tt(_+1),b=Math.ceil(a/3),A=2*b,$=function(Yl){return(s[Yl]^s[Yl+1]<<b^s[Yl+2]<<A)&_},T=new Ri(25e3),M=new tt(288),K=new tt(32),N=0,P=0,z=(g=0,0),Z=0,oe=0;g<p;++g){var V=$(g),X=32767&g,L=C[V];if(w[X]=L,C[V]=X,Z<=g){var re=p-g;if((N>7e3||z>24576)&&re>423){v=T_(s,f,0,T,M,K,P,z,oe,g-oe,v),z=N=P=0,oe=g;for(var G=0;G<286;++G)M[G]=0;for(G=0;G<30;++G)K[G]=0}var ce=2,he=0,ft=S,$e=X-L&32767;if(re>2&&V==$(g-$e))for(var rt=Math.min(x,re)-1,Dt=Math.min(32767,g),Gl=Math.min(258,re);$e<=Dt&&--ft&&X!=L;){if(s[g+ce]==s[g+ce-$e]){for(var gt=0;gt<Gl&&s[g+gt]==s[g+gt-$e];++gt);if(gt>ce){if(ce=gt,he=$e,gt>rt)break;var Oe=Math.min($e,gt-2),Co=0;for(G=0;G<Oe;++G){var Kl=g-$e+G+32768&32767,Wh=Kl-w[Kl]+32768&32767;Wh>Co&&(Co=Wh,L=Kl)}}}$e+=(X=L)-(L=w[X])+32768&32767}if(he){T[z++]=268435456|th[ce]<<18|rh[he];var zh=31&th[ce],qh=31&rh[he];P+=Lh[zh]+Fh[qh],++M[257+zh],++K[qh],Z=g+ce,++N}else T[z++]=s[g],++M[s[g]]}}v=T_(s,f,u,T,M,K,P,z,oe,g-oe,v)}return Ub(h,0,l+jb(v)+c)})(r,e.level==null?6:e.level,e.mem==null?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(r.length)))):12+e.mem,t,n,!0)},ap=function(r,e,t){for(;t;++e)r[e]=t,t>>>=8};function P1(r,e){e===void 0&&(e={});var t=(function(){var a=4294967295;return{p:function(l){for(var c=a,u=0;u<l.length;++u)c=$1[255&c^l[u]]^c>>>8;a=c},d:function(){return 4294967295^a}}})(),n=r.length;t.p(r);var i,s=M1(r,e,10+((i=e).filename&&i.filename.length+1||0),8),o=s.length;return(function(a,l){var c=l.filename;if(a[0]=31,a[1]=139,a[2]=8,a[8]=l.level<2?4:l.level==9?2:0,a[9]=3,l.mtime!=0&&ap(a,4,Math.floor(new Date(l.mtime||Date.now())/1e3)),c){a[3]=8;for(var u=0;u<=c.length;++u)a[u+10]=c.charCodeAt(u)}})(s,e),ap(s,o-8,t.d()),ap(s,o-4,n),s}var O1=function(r){var e,t,n,i,s="";for(e=t=0,n=(r=(r+"").replace(/\r\n/g,`
1057
1057
  `).replace(/\r/g,`
1058
- `)).length,i=0;i<n;i++){var o=r.charCodeAt(i),a=null;o<128?t++:a=o>127&&o<2048?String.fromCharCode(o>>6|192,63&o|128):String.fromCharCode(o>>12|224,o>>6&63|128,63&o|128),Ft(a)||(t>e&&(s+=r.substring(e,t)),s+=a,e=t=i+1)}return t>e&&(s+=r.substring(e,r.length)),s},N1=!!mp||!!gp,I_="text/plain",Hl=function(r,e,t){var n;t===void 0&&(t=!0);var[i,s]=r.split("?"),o=j({},e),a=(n=s?.split("&").map((c=>{var u,[p,h]=c.split("="),f=t&&(u=o[p])!==null&&u!==void 0?u:h;return delete o[p],p+"="+f})))!==null&&n!==void 0?n:[],l=l1(o);return l&&a.push(l),i+"?"+a.join("&")},co=(r,e)=>JSON.stringify(r,((t,n)=>typeof n=="bigint"?n.toString():n),e),lp=r=>{var{data:e,compression:t}=r;if(e){if(t===gr.GZipJS){var n=P1((function(l,c){var u=l.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(l);for(var p=new Ct(l.length+(l.length>>>1)),h=0,f=function(y){p[h++]=y},v=0;v<u;++v){if(h+5>p.length){var g=new Ct(h+8+(u-v<<1));g.set(p),p=g}var m=l.charCodeAt(v);m<128||c?f(m):m<2048?(f(192|m>>>6),f(128|63&m)):m>55295&&m<57344?(f(240|(m=65536+(1047552&m)|1023&l.charCodeAt(++v))>>>18),f(128|m>>>12&63),f(128|m>>>6&63),f(128|63&m)):(f(224|m>>>12),f(128|m>>>6&63),f(128|63&m))}return Ub(p,0,h)})(co(e)),{mtime:0}),i=new Blob([n],{type:I_});return{contentType:I_,body:i,estimatedSize:i.size}}if(t===gr.Base64){var s=(function(l){var c,u,p,h,f,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",g=0,m=0,y="",x=[];if(!l)return l;l=O1(l);do c=(f=l.charCodeAt(g++)<<16|l.charCodeAt(g++)<<8|l.charCodeAt(g++))>>18&63,u=f>>12&63,p=f>>6&63,h=63&f,x[m++]=v.charAt(c)+v.charAt(u)+v.charAt(p)+v.charAt(h);while(g<l.length);switch(y=x.join(""),l.length%3){case 1:y=y.slice(0,-2)+"==";break;case 2:y=y.slice(0,-1)+"="}return y})(co(e)),o=(l=>"data="+encodeURIComponent(typeof l=="string"?l:co(l)))(s);return{contentType:"application/x-www-form-urlencoded",body:o,estimatedSize:new Blob([o]).size}}var a=co(e);return{contentType:"application/json",body:a,estimatedSize:new Blob([a]).size}}},wl=[];gp&&wl.push({transport:"fetch",method:r=>{var e,t,{contentType:n,body:i,estimatedSize:s}=(e=lp(r))!==null&&e!==void 0?e:{},o=new Headers;ke(r.headers,(function(u,p){o.append(p,u)})),n&&o.append("Content-Type",n);var a=r.url,l=null;if(Yy){var c=new Yy;l={signal:c.signal,timeout:setTimeout((()=>c.abort()),r.timeout)}}gp(a,j({method:r?.method||"GET",headers:o,keepalive:r.method==="POST"&&(s||0)<52428.8,body:i,signal:(t=l)==null?void 0:t.signal},r.fetchOptions)).then((u=>u.text().then((p=>{var h={statusCode:u.status,text:p};if(u.status===200)try{h.json=JSON.parse(p)}catch(f){B.error(f)}r.callback==null||r.callback(h)})))).catch((u=>{B.error(u),r.callback==null||r.callback({statusCode:0,text:u})})).finally((()=>l?clearTimeout(l.timeout):null))}}),mp&&wl.push({transport:"XHR",method:r=>{var e,t=new mp;t.open(r.method||"GET",r.url,!0);var{contentType:n,body:i}=(e=lp(r))!==null&&e!==void 0?e:{};ke(r.headers,(function(s,o){t.setRequestHeader(o,s)})),n&&t.setRequestHeader("Content-Type",n),r.timeout&&(t.timeout=r.timeout),r.disableXHRCredentials||(t.withCredentials=!0),t.onreadystatechange=()=>{if(t.readyState===4){var s={statusCode:t.status,text:t.responseText};if(t.status===200)try{s.json=JSON.parse(t.responseText)}catch{}r.callback==null||r.callback(s)}},t.send(i)}}),ht!=null&&ht.sendBeacon&&wl.push({transport:"sendBeacon",method:r=>{var e=Hl(r.url,{beacon:"1"});try{var t,{contentType:n,body:i}=(t=lp(r))!==null&&t!==void 0?t:{},s=typeof i=="string"?new Blob([i],{type:n}):i;ht.sendBeacon(e,s)}catch{}}});var Bl=function(r,e){if(!(function(t){try{new RegExp(t)}catch{return!1}return!0})(e))return!1;try{return new RegExp(e).test(r)}catch{return!1}};function $_(r,e,t){return co({distinct_id:r,userPropertiesToSet:e,userPropertiesToSetOnce:t})}var Wb={exact:(r,e)=>e.some((t=>r.some((n=>t===n)))),is_not:(r,e)=>e.every((t=>r.every((n=>t!==n)))),regex:(r,e)=>e.some((t=>r.some((n=>Bl(t,n))))),not_regex:(r,e)=>e.every((t=>r.every((n=>!Bl(t,n))))),icontains:(r,e)=>e.map(bl).some((t=>r.map(bl).some((n=>t.includes(n))))),not_icontains:(r,e)=>e.map(bl).every((t=>r.map(bl).every((n=>!t.includes(n))))),gt:(r,e)=>e.some((t=>{var n=parseFloat(t);return!isNaN(n)&&r.some((i=>n>parseFloat(i)))})),lt:(r,e)=>e.some((t=>{var n=parseFloat(t);return!isNaN(n)&&r.some((i=>n<parseFloat(i)))}))},bl=r=>r.toLowerCase();function zb(r,e){return!r||Object.entries(r).every((t=>{var[n,i]=t,s=e?.[n];if(H(s)||Ft(s))return!1;var o=[String(s)],a=Wb[i.operator];return!!a&&a(i.values,o)}))}var cp=Ie("[Error tracking]"),sh=class{constructor(e){var t,n;this.Zt=[],this.ti=new kp([new Cp,new Pp,new Rp,new Ap,new $p,new Ip,new Tp,new Mp],WC()),this._instance=e,this.Zt=(t=(n=this._instance.persistence)==null?void 0:n.get_property(Np))!==null&&t!==void 0?t:[]}onRemoteConfig(e){var t,n,i,s=(t=(n=e.errorTracking)==null?void 0:n.suppressionRules)!==null&&t!==void 0?t:[],o=(i=e.errorTracking)==null?void 0:i.captureExtensionExceptions;this.Zt=s,this._instance.persistence&&this._instance.persistence.register({[Np]:this.Zt,[c_]:o})}get ii(){var e,t=!!this._instance.get_property(c_),n=this._instance.config.error_tracking.captureExtensionExceptions;return(e=n??t)!==null&&e!==void 0&&e}buildProperties(e,t){return this.ti.buildFromUnknown(e,{syntheticException:t?.syntheticException,mechanism:{handled:t?.handled}})}sendExceptionEvent(e){var t=e.$exception_list;if(this.ei(t)){if(this.ri(t))return void cp.info("Skipping exception capture because a suppression rule matched");if(!this.ii&&this.si(t))return void cp.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.ni(t))return void cp.info("Skipping exception capture because it was thrown by the PostHog SDK")}return this._instance.capture("$exception",e,{_noTruncate:!0,_batchKey:"exceptionEvent"})}ri(e){if(e.length===0)return!1;var t=e.reduce(((n,i)=>{var{type:s,value:o}=i;return Fe(s)&&s.length>0&&n.$exception_types.push(s),Fe(o)&&o.length>0&&n.$exception_values.push(o),n}),{$exception_types:[],$exception_values:[]});return this.Zt.some((n=>{var i=n.values.map((s=>{var o,a=Wb[s.operator],l=ve(s.value)?s.value:[s.value],c=(o=t[s.key])!==null&&o!==void 0?o:[];return l.length>0&&a(l,c)}));return n.type==="OR"?i.some(Boolean):i.every(Boolean)}))}si(e){return e.flatMap((t=>{var n,i;return(n=(i=t.stacktrace)==null?void 0:i.frames)!==null&&n!==void 0?n:[]})).some((t=>t.filename&&t.filename.startsWith("chrome-extension://")))}ni(e){if(e.length>0){var t,n,i,s,o=(t=(n=e[0].stacktrace)==null?void 0:n.frames)!==null&&t!==void 0?t:[],a=o[o.length-1];return(i=a==null||(s=a.filename)==null?void 0:s.includes("posthog.com/static"))!==null&&i!==void 0&&i}return!1}ei(e){return!pe(e)&&ve(e)}},pt=Ie("[FeatureFlags]"),eo=Ie("[FeatureFlags]",{debugEnabled:!0}),up="$active_feature_flags",vi="$override_feature_flags",M_="$feature_flag_payloads",to="$override_feature_flag_payloads",P_="$feature_flag_request_id",O_="$feature_flag_evaluated_at",N_=r=>{var e={};for(var[t,n]of xl(r||{}))n&&(e[t]=n);return e},L1=r=>{var e=r.flags;return e?(r.featureFlags=Object.fromEntries(Object.keys(e).map((t=>{var n;return[t,(n=e[t].variant)!==null&&n!==void 0?n:e[t].enabled]}))),r.featureFlagPayloads=Object.fromEntries(Object.keys(e).filter((t=>e[t].enabled)).filter((t=>{var n;return(n=e[t].metadata)==null?void 0:n.payload})).map((t=>{var n;return[t,(n=e[t].metadata)==null?void 0:n.payload]})))):pt.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),r},F1=(function(r){return r.FeatureFlags="feature_flags",r.Recordings="recordings",r})({}),oh=class{constructor(e){this.oi=!1,this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.ci=!1,this._instance=e,this.featureFlagEventHandlers=[]}fi(){var e,t=(e=this._instance.config.evaluation_contexts)!==null&&e!==void 0?e:this._instance.config.evaluation_environments;return!this._instance.config.evaluation_environments||this._instance.config.evaluation_contexts||this.ci||(pt.warn("evaluation_environments is deprecated. Use evaluation_contexts instead. evaluation_environments will be removed in a future version."),this.ci=!0),t!=null&&t.length?t.filter((n=>{var i=n&&typeof n=="string"&&n.trim().length>0;return i||pt.error("Invalid evaluation context found:",n,"Expected non-empty string"),i})):[]}pi(){return this.fi().length>0}flags(){if(this._instance.config.__preview_remote_config)this.di=!0;else{var e=!this.gi&&(this._instance.config.advanced_disable_feature_flags||this._instance.config.advanced_disable_feature_flags_on_first_load);this.mi({disableFlags:e})}}get hasLoadedFlags(){return this.ai}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){var e=this._instance.get_property(Lp),t=this._instance.get_property(vi),n=this._instance.get_property(to);if(!n&&!t)return e||{};var i=Pe({},e||{}),s=[...new Set([...Object.keys(n||{}),...Object.keys(t||{})])];for(var o of s){var a,l,c=i[o],u=t?.[o],p=H(u)?(a=c?.enabled)!==null&&a!==void 0&&a:!!u,h=H(u)?c.variant:typeof u=="string"?u:void 0,f=n?.[o],v=j({},c,{enabled:p,variant:p?h??c?.variant:void 0});p!==c?.enabled&&(v.original_enabled=c?.enabled),h!==c?.variant&&(v.original_variant=c?.variant),f&&(v.metadata=j({},c?.metadata,{payload:f,original_payload:c==null||(l=c.metadata)==null?void 0:l.payload})),i[o]=v}return this.oi||(pt.warn(" Overriding feature flag details!",{flagDetails:e,overriddenPayloads:n,finalDetails:i}),this.oi=!0),i}getFlagVariants(){var e=this._instance.get_property(Si),t=this._instance.get_property(vi);if(!t)return e||{};for(var n=Pe({},e),i=Object.keys(t),s=0;s<i.length;s++)n[i[s]]=t[i[s]];return this.oi||(pt.warn(" Overriding feature flags!",{enabledFlags:e,overriddenFlags:t,finalFlags:n}),this.oi=!0),n}getFlagPayloads(){var e=this._instance.get_property(M_),t=this._instance.get_property(to);if(!t)return e||{};for(var n=Pe({},e||{}),i=Object.keys(t),s=0;s<i.length;s++)n[i[s]]=t[i[s]];return this.oi||(pt.warn(" Overriding feature flag payloads!",{flagPayloads:e,overriddenPayloads:t,finalPayloads:n}),this.oi=!0),n}reloadFeatureFlags(){this.ui||this._instance.config.advanced_disable_feature_flags||this.gi||(this.gi=setTimeout((()=>{this.mi()}),5))}bi(){clearTimeout(this.gi),this.gi=void 0}ensureFlagsLoaded(){this.ai||this.li||this.gi||this.reloadFeatureFlags()}setAnonymousDistinctId(e){this.$anon_distinct_id=e}setReloadingPaused(e){this.ui=e}mi(e){var t;if(this.bi(),!this._instance.M())if(this.li)this.hi=!0;else{var n=this._instance.config.token,i=this._instance.get_property("$device_id"),s={token:n,distinct_id:this._instance.get_distinct_id(),groups:this._instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:j({},((t=this._instance.persistence)==null?void 0:t.get_initial_props())||{},this._instance.get_property(lo)||{}),group_properties:this._instance.get_property(Nn)};Ft(i)||H(i)||(s.$device_id=i),(e!=null&&e.disableFlags||this._instance.config.advanced_disable_feature_flags)&&(s.disable_flags=!0),this.pi()&&(s.evaluation_contexts=this.fi());var o=this._instance.config.__preview_remote_config,a=o?"/flags/?v=2":"/flags/?v=2&config=true",l=this._instance.config.advanced_only_evaluate_survey_feature_flags?"&only_evaluate_survey_feature_flags=true":"",c=this._instance.requestRouter.endpointFor("flags",a+l);o&&(s.timezone=Hb()),this.li=!0,this._instance._send_request({method:"POST",url:c,data:s,compression:this._instance.config.disable_compression?void 0:gr.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:u=>{var p,h,f=!0;if(u.statusCode===200&&(this.hi||(this.$anon_distinct_id=void 0),f=!1),this.li=!1,this.di||(this.di=!0,this._instance.yi((h=u.json)!==null&&h!==void 0?h:{})),!s.disable_flags||this.hi)if(this.vi=!f,u.json&&(p=u.json.quotaLimited)!=null&&p.includes(F1.FeatureFlags))pt.warn("You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more.");else{var v;s.disable_flags||this.receivedFeatureFlags((v=u.json)!==null&&v!==void 0?v:{},f),this.hi&&(this.hi=!1,this.mi())}}})}}getFeatureFlag(e,t){var n;if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var i=this.getFeatureFlagResult(e,t);return(n=i?.variant)!==null&&n!==void 0?n:i?.enabled}pt.warn('getFeatureFlag for key "'+e+`" failed. Feature flags didn't load in time.`)}getFeatureFlagDetails(e){return this.getFlagsWithDetails()[e]}getFeatureFlagPayload(e){var t=this.getFeatureFlagResult(e,{send_event:!1});return t?.payload}getFeatureFlagResult(e,t){if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var n=this.getFlagVariants(),i=e in n,s=n[e],o=this.getFlagPayloads()[e],a=String(s),l=this._instance.get_property(P_)||void 0,c=this._instance.get_property(O_)||void 0,u=this._instance.get_property(Al)||{};if((t.send_event||!("send_event"in t))&&(!(e in u)||!u[e].includes(a))){var p,h,f,v,g,m,y,x,S;ve(u[e])?u[e].push(a):u[e]=[a],(p=this._instance.persistence)==null||p.register({[Al]:u});var _=this.getFeatureFlagDetails(e),w={$feature_flag:e,$feature_flag_response:s,$feature_flag_payload:o||null,$feature_flag_request_id:l,$feature_flag_evaluated_at:c,$feature_flag_bootstrapped_response:((h=this._instance.config.bootstrap)==null||(h=h.featureFlags)==null?void 0:h[e])||null,$feature_flag_bootstrapped_payload:((f=this._instance.config.bootstrap)==null||(f=f.featureFlagPayloads)==null?void 0:f[e])||null,$used_bootstrap_value:!this.vi};H(_==null||(v=_.metadata)==null?void 0:v.version)||(w.$feature_flag_version=_.metadata.version);var C,b=(g=_==null||(m=_.reason)==null?void 0:m.description)!==null&&g!==void 0?g:_==null||(y=_.reason)==null?void 0:y.code;b&&(w.$feature_flag_reason=b),_!=null&&(x=_.metadata)!=null&&x.id&&(w.$feature_flag_id=_.metadata.id),H(_?.original_variant)&&H(_?.original_enabled)||(w.$feature_flag_original_response=H(_.original_variant)?_.original_enabled:_.original_variant),_!=null&&(S=_.metadata)!=null&&S.original_payload&&(w.$feature_flag_original_payload=_==null||(C=_.metadata)==null?void 0:C.original_payload),this._instance.capture("$feature_flag_called",w)}if(i){var A=o;if(!H(o))try{A=JSON.parse(o)}catch{}return{key:e,enabled:!!s,variant:typeof s=="string"?s:void 0,payload:A}}}else pt.warn('getFeatureFlagResult for key "'+e+`" failed. Feature flags didn't load in time.`)}getRemoteConfigPayload(e,t){var n=this._instance.config.token,i={distinct_id:this._instance.get_distinct_id(),token:n};this.pi()&&(i.evaluation_contexts=this.fi()),this._instance._send_request({method:"POST",url:this._instance.requestRouter.endpointFor("flags","/flags/?v=2&config=true"),data:i,compression:this._instance.config.disable_compression?void 0:gr.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:s=>{var o,a=(o=s.json)==null?void 0:o.featureFlagPayloads;t(a?.[e]||void 0)}})}isFeatureEnabled(e,t){if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var n=this.getFeatureFlag(e,t);return H(n)?void 0:!!n}pt.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){this.ai=!0;var n=this.getFlagVariants(),i=this.getFlagPayloads(),s=this.getFlagsWithDetails();(function(o,a,l,c,u){l===void 0&&(l={}),c===void 0&&(c={}),u===void 0&&(u={});var p=L1(o),h=p.flags,f=p.featureFlags,v=p.featureFlagPayloads;if(f){var g=o.requestId,m=o.evaluatedAt;if(ve(f)){pt.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");var y={};if(f)for(var x=0;x<f.length;x++)y[f[x]]=!0;a&&a.register({[up]:f,[Si]:y})}else{var S=f,_=v,w=h;if(o.errorsWhileComputingFlags)if(h){var C=new Set(Object.keys(h).filter((b=>{var A;return!((A=h[b])!=null&&A.failed)})));S=j({},l,Object.fromEntries(Object.entries(S).filter((b=>{var[A]=b;return C.has(A)})))),_=j({},c,Object.fromEntries(Object.entries(_||{}).filter((b=>{var[A]=b;return C.has(A)})))),w=j({},u,Object.fromEntries(Object.entries(w||{}).filter((b=>{var[A]=b;return C.has(A)}))))}else S=j({},l,S),_=j({},c,_),w=j({},u,w);a&&a.register(j({[up]:Object.keys(N_(S)),[Si]:S||{},[M_]:_||{},[Lp]:w||{}},g?{[P_]:g}:{},m?{[O_]:m}:{}))}}})(e,this._instance.persistence,n,i,s),this.wi(t)}}override(e,t){t===void 0&&(t=!1),pt.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:e,suppressWarning:t})}overrideFeatureFlags(e){if(!this._instance.__loaded||!this._instance.persistence)return pt.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(e===!1)return this._instance.persistence.unregister(vi),this._instance.persistence.unregister(to),this.wi(),eo.info("All overrides cleared");if(e&&typeof e=="object"&&("flags"in e||"payloads"in e)){var t,n=e;if(this.oi=!!((t=n.suppressWarning)!==null&&t!==void 0&&t),"flags"in n){if(n.flags===!1)this._instance.persistence.unregister(vi),eo.info("Flag overrides cleared");else if(n.flags){if(ve(n.flags)){for(var i={},s=0;s<n.flags.length;s++)i[n.flags[s]]=!0;this._instance.persistence.register({[vi]:i})}else this._instance.persistence.register({[vi]:n.flags});eo.info("Flag overrides set",{flags:n.flags})}}return"payloads"in n&&(n.payloads===!1?(this._instance.persistence.unregister(to),eo.info("Payload overrides cleared")):n.payloads&&(this._instance.persistence.register({[to]:n.payloads}),eo.info("Payload overrides set",{payloads:n.payloads}))),void this.wi()}this.wi()}onFeatureFlags(e){if(this.addFeatureFlagsHandler(e),this.ai){var{flags:t,flagVariants:n}=this.xi();e(t,n)}return()=>this.removeFeatureFlagsHandler(e)}updateEarlyAccessFeatureEnrollment(e,t,n){var i,s=(this._instance.get_property(ao)||[]).find((c=>c.flagKey===e)),o={["$feature_enrollment/"+e]:t},a={$feature_flag:e,$feature_enrollment:t,$set:o};s&&(a.$early_access_feature_name=s.name),n&&(a.$feature_enrollment_stage=n),this._instance.capture("$feature_enrollment_update",a),this.setPersonPropertiesForFlags(o,!1);var l=j({},this.getFlagVariants(),{[e]:t});(i=this._instance.persistence)==null||i.register({[up]:Object.keys(N_(l)),[Si]:l}),this.wi()}getEarlyAccessFeatures(e,t,n){t===void 0&&(t=!1);var i=this._instance.get_property(ao),s=n?"&"+n.map((o=>"stage="+o)).join("&"):"";if(i&&!t)return e(i);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/early_access_features/?token="+this._instance.config.token+s),method:"GET",callback:o=>{var a,l;if(o.json){var c=o.json.earlyAccessFeatures;return(a=this._instance.persistence)==null||a.unregister(ao),(l=this._instance.persistence)==null||l.register({[ao]:c}),e(c)}}})}xi(){var e=this.getFlags(),t=this.getFlagVariants();return{flags:e.filter((n=>t[n])),flagVariants:Object.keys(t).filter((n=>t[n])).reduce(((n,i)=>(n[i]=t[i],n)),{})}}wi(e){var{flags:t,flagVariants:n}=this.xi();this.featureFlagEventHandlers.forEach((i=>i(t,n,{errorsLoading:e})))}setPersonPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(lo)||{};this._instance.register({[lo]:j({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(lo)}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(Nn)||{};Object.keys(n).length!==0&&Object.keys(n).forEach((i=>{n[i]=j({},n[i],e[i]),delete e[i]})),this._instance.register({[Nn]:j({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){var t=this._instance.get_property(Nn)||{};this._instance.register({[Nn]:j({},t,{[e]:{}})})}else this._instance.unregister(Nn)}reset(){this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.$anon_distinct_id=void 0,this.bi(),this.oi=!1}},D1=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"],fo=class{constructor(e,t){this.R=e,this.props={},this.Ei=!1,this.$i=(n=>{var i="";return n.token&&(i=n.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),n.persistence_name?"ph_"+n.persistence_name:"ph_"+i+"_posthog"})(e),this.Y=this.Si(e),this.load(),e.debug&&B.info("Persistence loaded",e.persistence,j({},this.props)),this.update_config(e,e,t),this.save()}isDisabled(){return!!this.ki}Si(e){D1.indexOf(e.persistence.toLowerCase())===-1&&(B.critical("Unknown persistence type "+e.persistence+"; falling back to localStorage+cookie"),e.persistence="localStorage+cookie");var t=(function(i){i===void 0&&(i=[]);var s=[...g1,...i];return j({},Re,{W:function(o){try{var a={};try{a=Zt.W(o)||{}}catch{}var l=Pe(a,JSON.parse(Re.q(o)||"{}"));return Re.G(o,l),l}catch{}return null},G:function(o,a,l,c,u,p){try{Re.G(o,a,void 0,void 0,p);var h={};s.forEach((f=>{a[f]&&(h[f]=a[f])})),Object.keys(h).length&&Zt.G(o,h,l,c,u,p)}catch(f){Re.B(f)}},V:function(o,a){try{E?.localStorage.removeItem(o),Zt.V(o,a)}catch(l){Re.B(l)}}})})(e.cookie_persisted_properties||[]),n=e.persistence.toLowerCase();return n==="localstorage"&&Re.H()?Re:n==="localstorage+cookie"&&t.H()?t:n==="sessionstorage"&&qe.H()?qe:n==="memory"?m1:n==="cookie"?Zt:t.H()?t:Zt}properties(){var e={};return ke(this.props,(function(t,n){if(n===Si&&Le(t))for(var i=Object.keys(t),s=0;s<i.length;s++)e["$feature/"+i[s]]=t[i[s]];else a=n,l=!1,(Ft(o=JC)?l:Ky&&o.indexOf===Ky?o.indexOf(a)!=-1:(ke(o,(function(c){if(l||(l=c===a))return El})),l))||(e[n]=t);var o,a,l})),e}load(){if(!this.ki){var e=this.Y.W(this.$i);e&&(this.props=Pe({},e))}}save(){this.ki||this.Y.G(this.$i,this.props,this.Pi,this.Ti,this.Ii,this.R.debug)}remove(){this.Y.V(this.$i,!1),this.Y.V(this.$i,!0)}clear(){this.remove(),this.props={}}register_once(e,t,n){if(Le(e)){H(t)&&(t="None"),this.Pi=H(n)?this.Ci:n;var i=!1;if(ke(e,((s,o)=>{this.props.hasOwnProperty(o)&&this.props[o]!==t||(this.props[o]=s,i=!0)})),i)return this.save(),!0}return!1}register(e,t){if(Le(e)){this.Pi=H(t)?this.Ci:t;var n=!1;if(ke(e,((i,s)=>{e.hasOwnProperty(s)&&this.props[s]!==i&&(this.props[s]=i,n=!0)})),n)return this.save(),!0}return!1}unregister(e){e in this.props&&(delete this.props[e],this.save())}update_campaign_params(){if(!this.Ei){var e=Pb(this.R.custom_campaign_params,this.R.mask_personal_data_properties,this.R.custom_personal_data_properties);wi(Mh(e))||this.register(e),this.Ei=!0}}update_search_keyword(){var e;this.register((e=D?.referrer)?Nb(e):{})}update_referrer_info(){var e;this.register_once({$referrer:Lb(),$referring_domain:D!=null&&D.referrer&&((e=Ml(D.referrer))==null?void 0:e.host)||"$direct"},void 0)}set_initial_person_info(){this.props[Bp]||this.props[Vp]||this.register_once({[Rl]:Fb(this.R.mask_personal_data_properties,this.R.custom_personal_data_properties)},void 0)}get_initial_props(){var e={};ke([Vp,Bp],(o=>{var a=this.props[o];a&&ke(a,(function(l,c){e["$initial_"+vp(c)]=l}))}));var t,n,i=this.props[Rl];if(i){var s=(t=Db(i),n={},ke(t,(function(o,a){n["$initial_"+vp(a)]=o})),n);Pe(e,s)}return e}safe_merge(e){return ke(this.props,(function(t,n){n in e||(e[n]=t)})),e}update_config(e,t,n){if(this.Ci=this.Pi=e.cookie_expiration,this.set_disabled(e.disable_persistence||!!n),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie),e.persistence!==t.persistence||!((o,a)=>{if(o.length!==a.length)return!1;var l=[...o].sort(),c=[...a].sort();return l.every(((u,p)=>u===c[p]))})(e.cookie_persisted_properties||[],t.cookie_persisted_properties||[])){var i=this.Si(e),s=this.props;this.clear(),this.Y=i,this.props=s,this.save()}}set_disabled(e){this.ki=e,this.ki?this.remove():this.save()}set_cross_subdomain(e){e!==this.Ti&&(this.Ti=e,this.remove(),this.save())}set_secure(e){e!==this.Ii&&(this.Ii=e,this.remove(),this.save())}set_event_timer(e,t){var n=this.props[oo]||{};n[e]=t,this.props[oo]=n,this.save()}remove_event_timer(e){var t=(this.props[oo]||{})[e];return H(t)||(delete this.props[oo][e],this.save()),t}get_property(e){return this.props[e]}set_property(e,t){this.props[e]=t,this.save()}},L_=Ie("[Product Tours]"),dp="ph_product_tours",ah=class{constructor(e){this.Ri=null,this.Fi=null,this._instance=e}onRemoteConfig(e){this._instance.persistence&&this._instance.persistence.register({[d_]:!(e==null||!e.productTours)}),this.loadIfEnabled()}loadIfEnabled(){var e,t;this.Ri||(e=this._instance).config.disable_product_tours||(t=e.persistence)==null||!t.get_property(d_)||this.it((()=>this.Oi()))}it(e){var t,n;(t=Q.__PosthogExtensions__)!=null&&t.generateProductTours?e():(n=Q.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"product-tours",(i=>{i?L_.error("Could not load product tours script",i):e()}))}Oi(){var e;!this.Ri&&(e=Q.__PosthogExtensions__)!=null&&e.generateProductTours&&(this.Ri=Q.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(e,t){if(t===void 0&&(t=!1),!ve(this.Fi)||t){var n=this._instance.persistence;if(n){var i=n.props[dp];if(ve(i)&&!t)return this.Fi=i,void e(i,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/product_tours/?token="+this._instance.config.token),method:"GET",callback:s=>{var o=s.statusCode;if(o!==200||!s.json){var a="Product Tours API could not be loaded, status: "+o;return L_.error(a),void e([],{isLoaded:!1,error:a})}var l=ve(s.json.product_tours)?s.json.product_tours:[];this.Fi=l,n&&n.register({[dp]:l}),e(l,{isLoaded:!0})}})}else e(this.Fi,{isLoaded:!0})}getActiveProductTours(e){pe(this.Ri)?e([],{isLoaded:!1,error:"Product tours not loaded"}):this.Ri.getActiveProductTours(e)}showProductTour(e){var t;(t=this.Ri)==null||t.showTourById(e)}previewTour(e){this.Ri?this.Ri.previewTour(e):this.it((()=>{var t;this.Oi(),(t=this.Ri)==null||t.previewTour(e)}))}dismissProductTour(){var e;(e=this.Ri)==null||e.dismissTour("user_clicked_skip")}nextStep(){var e;(e=this.Ri)==null||e.nextStep()}previousStep(){var e;(e=this.Ri)==null||e.previousStep()}clearCache(){var e;this.Fi=null,(e=this._instance.persistence)==null||e.unregister(dp)}resetTour(e){var t;(t=this.Ri)==null||t.resetTour(e)}resetAllTours(){var e;(e=this.Ri)==null||e.resetAllTours()}cancelPendingTour(e){var t;(t=this.Ri)==null||t.cancelPendingTour(e)}},ro=(function(r){return r.Activation="events",r.Cancellation="cancelEvents",r})({}),uN=(function(r){return r.Button="button",r.Tab="tab",r.Selector="selector",r})({}),dN=(function(r){return r.TopLeft="top_left",r.TopRight="top_right",r.TopCenter="top_center",r.MiddleLeft="middle_left",r.MiddleRight="middle_right",r.MiddleCenter="middle_center",r.Left="left",r.Center="center",r.Right="right",r.NextToTrigger="next_to_trigger",r})({}),pN=(function(r){return r.Top="top",r.Left="left",r.Right="right",r.Bottom="bottom",r})({}),pp=(function(r){return r.Popover="popover",r.API="api",r.Widget="widget",r.ExternalSurvey="external_survey",r})({}),hN=(function(r){return r.Open="open",r.MultipleChoice="multiple_choice",r.SingleChoice="single_choice",r.Rating="rating",r.Link="link",r})({}),fN=(function(r){return r.NextQuestion="next_question",r.End="end",r.ResponseBased="response_based",r.SpecificQuestion="specific_question",r})({}),gN=(function(r){return r.Once="once",r.Recurring="recurring",r.Always="always",r})({}),uo=(function(r){return r.SHOWN="survey shown",r.DISMISSED="survey dismissed",r.SENT="survey sent",r.ABANDONED="survey abandoned",r})({}),hp=(function(r){return r.SURVEY_ID="$survey_id",r.SURVEY_NAME="$survey_name",r.SURVEY_RESPONSE="$survey_response",r.SURVEY_ITERATION="$survey_iteration",r.SURVEY_ITERATION_START_DATE="$survey_iteration_start_date",r.SURVEY_PARTIALLY_COMPLETED="$survey_partially_completed",r.SURVEY_SUBMISSION_ID="$survey_submission_id",r.SURVEY_QUESTIONS="$survey_questions",r.SURVEY_COMPLETED="$survey_completed",r.PRODUCT_TOUR_ID="$product_tour_id",r.SURVEY_LAST_SEEN_DATE="$survey_last_seen_date",r})({}),lh=(function(r){return r.Popover="popover",r.Inline="inline",r})({}),Se=Ie("[Surveys]"),qb="seenSurvey_",H1=(r,e)=>{var t="$survey_"+e+"/"+r.id;return r.current_iteration&&r.current_iteration>0&&(t="$survey_"+e+"/"+r.id+"/"+r.current_iteration),t},F_=r=>((e,t)=>{var n=""+e+t.id;return t.current_iteration&&t.current_iteration>0&&(n=""+e+t.id+"_"+t.current_iteration),n})(qb,r),B1=[pp.Popover,pp.Widget,pp.API],V1={ignoreConditions:!1,ignoreDelay:!1,displayType:lh.Popover},xo=class{constructor(){this.Mi={},this.Mi={}}on(e,t){return this.Mi[e]||(this.Mi[e]=[]),this.Mi[e].push(t),()=>{this.Mi[e]=this.Mi[e].filter((n=>n!==t))}}emit(e,t){for(var n of this.Mi[e]||[])n(t);for(var i of this.Mi["*"]||[])i(e,t)}};function yi(r,e,t){if(pe(r))return!1;switch(t){case"exact":return r===e;case"contains":var n=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(n,"i").test(r);case"regex":try{return new RegExp(e).test(r)}catch{return!1}default:return!1}}var ch=class{constructor(e){this.Ai=new xo,this.ji=(t,n)=>this.Di(t,n)&&this.Li(t,n)&&this.Ni(t,n)&&this.Ui(t,n),this.Di=(t,n)=>n==null||!n.event||t?.event===n?.event,this._instance=e,this.zi=new Set,this.Hi=new Set}init(){var e;if(!H((e=this._instance)==null?void 0:e._addCaptureHook)){var t;(t=this._instance)==null||t._addCaptureHook(((n,i)=>{this.on(n,i)}))}}register(e){var t,n;if(!H((t=this._instance)==null?void 0:t._addCaptureHook)&&(e.forEach((o=>{var a,l;(a=this.Hi)==null||a.add(o),(l=o.steps)==null||l.forEach((c=>{var u;(u=this.zi)==null||u.add(c?.event||"")}))})),(n=this._instance)!=null&&n.autocapture)){var i,s=new Set;e.forEach((o=>{var a;(a=o.steps)==null||a.forEach((l=>{l!=null&&l.selector&&s.add(l?.selector)}))})),(i=this._instance)==null||i.autocapture.setElementSelectors(s)}}on(e,t){var n;t!=null&&e.length!=0&&(this.zi.has(e)||this.zi.has(t?.event))&&this.Hi&&((n=this.Hi)==null?void 0:n.size)>0&&this.Hi.forEach((i=>{this.Bi(t,i)&&this.Ai.emit("actionCaptured",i.name)}))}qi(e){this.onAction("actionCaptured",(t=>e(t)))}Bi(e,t){if(t?.steps==null)return!1;for(var n of t.steps)if(this.ji(e,n))return!0;return!1}onAction(e,t){return this.Ai.on(e,t)}Li(e,t){if(t!=null&&t.url){var n,i=e==null||(n=e.properties)==null?void 0:n.$current_url;if(!i||typeof i!="string"||!yi(i,t.url,t.url_matching||"contains"))return!1}return!0}Ni(e,t){return!!this.Wi(e,t)&&!!this.Gi(e,t)&&!!this.Vi(e,t)}Wi(e,t){var n;if(t==null||!t.href)return!0;var i=this.Ji(e);if(i.length>0)return i.some((a=>yi(a.href,t.href,t.href_matching||"exact")));var s,o=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!o&&yi((s=o.match(/(?::|")href="(.*?)"/))?s[1]:"",t.href,t.href_matching||"exact")}Gi(e,t){var n;if(t==null||!t.text)return!0;var i=this.Ji(e);if(i.length>0)return i.some((c=>yi(c.text,t.text,t.text_matching||"exact")||yi(c.$el_text,t.text,t.text_matching||"exact")));var s,o,a,l=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!l&&(s=(function(c){for(var u,p=[],h=/(?::|")text="(.*?)"/g;!pe(u=h.exec(c));)p.includes(u[1])||p.push(u[1]);return p})(l),o=t.text,a=t.text_matching||"exact",s.some((c=>yi(c,o,a))))}Vi(e,t){var n,i;if(t==null||!t.selector)return!0;var s=e==null||(n=e.properties)==null?void 0:n.$element_selectors;if(s!=null&&s.includes(t.selector))return!0;var o=(e==null||(i=e.properties)==null?void 0:i.$elements_chain)||"";if(t.selector_regex&&o)try{return new RegExp(t.selector_regex).test(o)}catch{return!1}return!1}Ji(e){var t;return(e==null||(t=e.properties)==null?void 0:t.$elements)==null?[]:e?.properties.$elements}Ui(e,t){return t==null||!t.properties||t.properties.length===0||zb(t.properties.reduce(((n,i)=>{var s=ve(i.value)?i.value.map(String):i.value!=null?[String(i.value)]:[];return n[i.key]={values:s,operator:i.operator||"exact"},n}),{}),e?.properties)}},uh=class{constructor(e){this._instance=e,this.Ki=new Map,this.Yi=new Map,this.Xi=new Map}Qi(e,t){return!!e&&zb(e.propertyFilters,t?.properties)}Zi(e,t){var n=new Map;return e.forEach((i=>{var s;(s=i.conditions)==null||(s=s[t])==null||(s=s.values)==null||s.forEach((o=>{if(o!=null&&o.name){var a=n.get(o.name)||[];a.push(i.id),n.set(o.name,a)}}))})),n}te(e,t,n){var i=(n===ro.Activation?this.Ki:this.Yi).get(e),s=[];return this.ie((o=>{s=o.filter((a=>i?.includes(a.id)))})),s.filter((o=>{var a,l=(a=o.conditions)==null||(a=a[n])==null||(a=a.values)==null?void 0:a.find((c=>c.name===e));return this.Qi(l,t)}))}register(e){var t;H((t=this._instance)==null?void 0:t._addCaptureHook)||(this.ee(e),this.re(e))}re(e){var t=e.filter((n=>{var i,s;return((i=n.conditions)==null?void 0:i.actions)&&((s=n.conditions)==null||(s=s.actions)==null||(s=s.values)==null?void 0:s.length)>0}));t.length!==0&&(this.se==null&&(this.se=new ch(this._instance),this.se.init(),this.se.qi((n=>{this.onAction(n)}))),t.forEach((n=>{var i,s,o,a,l;n.conditions&&(i=n.conditions)!=null&&i.actions&&(s=n.conditions)!=null&&(s=s.actions)!=null&&s.values&&((o=n.conditions)==null||(o=o.actions)==null||(o=o.values)==null?void 0:o.length)>0&&((a=this.se)==null||a.register(n.conditions.actions.values),(l=n.conditions)==null||(l=l.actions)==null||(l=l.values)==null||l.forEach((c=>{if(c&&c.name){var u=this.Xi.get(c.name);u&&u.push(n.id),this.Xi.set(c.name,u||[n.id])}})))})))}ee(e){var t,n=e.filter((s=>{var o,a;return((o=s.conditions)==null?void 0:o.events)&&((a=s.conditions)==null||(a=a.events)==null||(a=a.values)==null?void 0:a.length)>0})),i=e.filter((s=>{var o,a;return((o=s.conditions)==null?void 0:o.cancelEvents)&&((a=s.conditions)==null||(a=a.cancelEvents)==null||(a=a.values)==null?void 0:a.length)>0}));(n.length!==0||i.length!==0)&&((t=this._instance)==null||t._addCaptureHook(((s,o)=>{this.onEvent(s,o)})),this.Ki=this.Zi(e,ro.Activation),this.Yi=this.Zi(e,ro.Cancellation))}onEvent(e,t){var n,i=this.ne(),s=this.oe(),o=this.ae(),a=((n=this._instance)==null||(n=n.persistence)==null?void 0:n.props[s])||[];if(o===e&&t&&a.length>0){var l,c;i.info("event matched, removing item from activated items",{event:e,eventPayload:t,existingActivatedItems:a});var u=(t==null||(l=t.properties)==null?void 0:l.$survey_id)||(t==null||(c=t.properties)==null?void 0:c.$product_tour_id);if(u){var p=a.indexOf(u);p>=0&&(a.splice(p,1),this.le(a))}}else{if(this.Yi.has(e)){var h=this.te(e,t,ro.Cancellation);h.length>0&&(i.info("cancel event matched, cancelling items",{event:e,itemsToCancel:h.map((v=>v.id))}),h.forEach((v=>{var g=a.indexOf(v.id);g>=0&&a.splice(g,1),this.ue(v.id)})),this.le(a))}if(this.Ki.has(e)){i.info("event name matched",{event:e,eventPayload:t,items:this.Ki.get(e)});var f=this.te(e,t,ro.Activation);this.le(a.concat(f.map((v=>v.id))||[]))}}}onAction(e){var t,n=this.oe(),i=((t=this._instance)==null||(t=t.persistence)==null?void 0:t.props[n])||[];this.Xi.has(e)&&this.le(i.concat(this.Xi.get(e)||[]))}le(e){var t,n=this.ne(),i=this.oe(),s=[...new Set(e)].filter((o=>!this.he(o)));n.info("updating activated items",{activatedItems:s}),(t=this._instance)==null||(t=t.persistence)==null||t.register({[i]:s})}getActivatedIds(){var e,t=this.oe(),n=(e=this._instance)==null||(e=e.persistence)==null?void 0:e.props[t];return n||[]}getEventToItemsMap(){return this.Ki}de(){return this.se}},dh=class extends uh{constructor(e){super(e)}oe(){return"$surveys_activated"}ae(){return uo.SHOWN}ie(e){var t;(t=this._instance)==null||t.getSurveys(e)}ue(e){var t;(t=this._instance)==null||t.cancelPendingSurvey(e)}ne(){return Se}he(){return!1}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}},ph=class{constructor(e){this.ve=void 0,this._surveyManager=null,this.ce=!1,this.fe=[],this.pe=null,this._instance=e,this._surveyEventReceiver=null}onRemoteConfig(e){if(!this._instance.config.disable_surveys){var t=e.surveys;if(pe(t))return Se.warn("Flags not loaded yet. Not loading surveys.");var n=ve(t);this.ve=n?t.length>0:t,Se.info("flags response received, isSurveysEnabled: "+this.ve),this.loadIfEnabled()}}reset(){localStorage.removeItem("lastSeenSurveyDate");for(var e=[],t=0;t<localStorage.length;t++){var n=localStorage.key(t);(n!=null&&n.startsWith(qb)||n!=null&&n.startsWith("inProgressSurvey_"))&&e.push(n)}e.forEach((i=>localStorage.removeItem(i)))}loadIfEnabled(){if(!this._surveyManager)if(this.ce)Se.info("Already initializing surveys, skipping...");else if(this._instance.config.disable_surveys)Se.info("Disabled. Not loading surveys.");else if(this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())Se.info("Not loading surveys in cookieless mode without consent.");else{var e=Q?.__PosthogExtensions__;if(e){if(!H(this.ve)||this._instance.config.advanced_enable_surveys){var t=this.ve||this._instance.config.advanced_enable_surveys;this.ce=!0;try{var n=e.generateSurveys;if(n)return void this.ge(n,t);var i=e.loadExternalDependency;if(!i)return void this._e("PostHog loadExternalDependency extension not found.");i(this._instance,"surveys",(s=>{s||!e.generateSurveys?this._e("Could not load surveys script",s):this.ge(e.generateSurveys,t)}))}catch(s){throw this._e("Error initializing surveys",s),s}finally{this.ce=!1}}}else Se.error("PostHog Extensions not found.")}}ge(e,t){this._surveyManager=e(this._instance,t),this._surveyEventReceiver=new dh(this._instance),Se.info("Surveys loaded successfully"),this.me({isLoaded:!0})}_e(e,t){Se.error(e,t),this.me({isLoaded:!1,error:e})}onSurveysLoaded(e){return this.fe.push(e),this._surveyManager&&this.me({isLoaded:!0}),()=>{this.fe=this.fe.filter((t=>t!==e))}}getSurveys(e,t){if(t===void 0&&(t=!1),this._instance.config.disable_surveys)return Se.info("Disabled. Not loading surveys."),e([]);var n,i=this._instance.get_property(Fp);if(i&&!t)return e(i,{isLoaded:!0});typeof Promise<"u"&&this.pe?this.pe.then((s=>{var{surveys:o,context:a}=s;return e(o,a)})):(typeof Promise<"u"&&(this.pe=new Promise((s=>{n=s}))),this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/surveys/?token="+this._instance.config.token),method:"GET",timeout:this._instance.config.surveys_request_timeout_ms,callback:s=>{var o;this.pe=null;var a=s.statusCode;if(a!==200||!s.json){var l="Surveys API could not be loaded, status: "+a;Se.error(l);var c={isLoaded:!1,error:l};return e([],c),void(n==null||n({surveys:[],context:c}))}var u,p=s.json.surveys||[],h=p.filter((v=>(function(g){return!(!g.start_date||g.end_date)})(v)&&((function(g){var m;return!((m=g.conditions)==null||(m=m.events)==null||(m=m.values)==null||!m.length)})(v)||(function(g){var m;return!((m=g.conditions)==null||(m=m.actions)==null||(m=m.values)==null||!m.length)})(v))));h.length>0&&((u=this._surveyEventReceiver)==null||u.register(h)),(o=this._instance.persistence)==null||o.register({[Fp]:p});var f={isLoaded:!0};e(p,f),n?.({surveys:p,context:f})}}))}me(e){for(var t of this.fe)try{if(!e.isLoaded)return t([],e);this.getSurveys(t)}catch(n){Se.error("Error in survey callback",n)}}getActiveMatchingSurveys(e,t){if(t===void 0&&(t=!1),!pe(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(e,t);Se.warn("init was not called")}be(e){var t=null;return this.getSurveys((n=>{var i;t=(i=n.find((s=>s.id===e)))!==null&&i!==void 0?i:null})),t}ye(e){if(pe(this._surveyManager))return{eligible:!1,reason:"SDK is not enabled or survey functionality is not yet loaded"};var t=typeof e=="string"?this.be(e):e;return t?this._surveyManager.checkSurveyEligibility(t):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(e){if(pe(this._surveyManager))return Se.warn("init was not called"),{visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"};var t=this.ye(e);return{visible:t.eligible,disabledReason:t.reason}}canRenderSurveyAsync(e,t){return pe(this._surveyManager)?(Se.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"})):new Promise((n=>{this.getSurveys((i=>{var s,o=(s=i.find((l=>l.id===e)))!==null&&s!==void 0?s:null;if(o){var a=this.ye(o);n({visible:a.eligible,disabledReason:a.reason})}else n({visible:!1,disabledReason:"Survey not found"})}),t)}))}renderSurvey(e,t,n){var i;if(pe(this._surveyManager))Se.warn("init was not called");else{var s=typeof e=="string"?this.be(e):e;if(s!=null&&s.id)if(B1.includes(s.type)){var o=D?.querySelector(t);if(o)return(i=s.appearance)!=null&&i.surveyPopupDelaySeconds?(Se.info("Rendering survey "+s.id+" with delay of "+s.appearance.surveyPopupDelaySeconds+" seconds"),void setTimeout((()=>{var a,l;Se.info("Rendering survey "+s.id+" with delay of "+((a=s.appearance)==null?void 0:a.surveyPopupDelaySeconds)+" seconds"),(l=this._surveyManager)==null||l.renderSurvey(s,o,n),Se.info("Survey "+s.id+" rendered")}),1e3*s.appearance.surveyPopupDelaySeconds)):void this._surveyManager.renderSurvey(s,o,n);Se.warn("Survey element not found")}else Se.warn("Surveys of type "+s.type+" cannot be rendered in the app");else Se.warn("Survey not found")}}displaySurvey(e,t){var n;if(pe(this._surveyManager))Se.warn("init was not called");else{var i=this.be(e);if(i){var s=i;if((n=i.appearance)!=null&&n.surveyPopupDelaySeconds&&t.ignoreDelay&&(s=j({},i,{appearance:j({},i.appearance,{surveyPopupDelaySeconds:0})})),t.displayType!==lh.Popover&&t.initialResponses&&Se.warn("initialResponses is only supported for popover surveys. prefill will not be applied."),t.ignoreConditions===!1){var o=this.canRenderSurvey(i);if(!o.visible)return void Se.warn("Survey is not eligible to be displayed: ",o.disabledReason)}t.displayType!==lh.Inline?this._surveyManager.handlePopoverSurvey(s,t):this.renderSurvey(s,t.selector,t.properties)}else Se.warn("Survey not found")}}cancelPendingSurvey(e){pe(this._surveyManager)?Se.warn("init was not called"):this._surveyManager.cancelSurvey(e)}handlePageUnload(){var e;(e=this._surveyManager)==null||e.handlePageUnload()}},dr=Ie("[Conversations]"),hh=class{constructor(e){this.we=void 0,this._conversationsManager=null,this.xe=!1,this.Ee=null,this._instance=e}onRemoteConfig(e){if(!this._instance.config.disable_conversations){var t=e.conversations;pe(t)||(vr(t)?this.we=t:(this.we=t.enabled,this.Ee=t),this.loadIfEnabled())}}reset(){var e;(e=this._conversationsManager)==null||e.reset(),this._conversationsManager=null,this.we=void 0,this.Ee=null}loadIfEnabled(){if(!this._conversationsManager&&!this.xe&&!(this._instance.config.disable_conversations||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())){var e=Q?.__PosthogExtensions__;if(e&&!H(this.we)&&this.we)if(this.Ee&&this.Ee.token){this.xe=!0;try{var t=e.initConversations;if(t)return this.$e(t),void(this.xe=!1);var n=e.loadExternalDependency;if(!n)return void this.Se("PostHog loadExternalDependency extension not found.");n(this._instance,"conversations",(i=>{i||!e.initConversations?this.Se("Could not load conversations script",i):this.$e(e.initConversations),this.xe=!1}))}catch(i){this.Se("Error initializing conversations",i),this.xe=!1}}else dr.error("Conversations enabled but missing token in remote config.")}}$e(e){if(this.Ee)try{this._conversationsManager=e(this.Ee,this._instance),dr.info("Conversations loaded successfully")}catch(t){this.Se("Error completing conversations initialization",t)}else dr.error("Cannot complete initialization: remote config is null")}Se(e,t){dr.error(e,t),this._conversationsManager=null,this.xe=!1}show(){this._conversationsManager?this._conversationsManager.show():dr.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.we===!0&&!Ft(this._conversationsManager)}isVisible(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.isVisible())!==null&&e!==void 0&&e}sendMessage(e,t,n){var i=this;return xi((function*(){return i._conversationsManager?i._conversationsManager.sendMessage(e,t,n):(dr.warn("Conversations not available yet."),null)}))()}getMessages(e,t){var n=this;return xi((function*(){return n._conversationsManager?n._conversationsManager.getMessages(e,t):(dr.warn("Conversations not available yet."),null)}))()}markAsRead(e){var t=this;return xi((function*(){return t._conversationsManager?t._conversationsManager.markAsRead(e):(dr.warn("Conversations not available yet."),null)}))()}getTickets(e){var t=this;return xi((function*(){return t._conversationsManager?t._conversationsManager.getTickets(e):(dr.warn("Conversations not available yet."),null)}))()}getCurrentTicketId(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.getCurrentTicketId())!==null&&e!==void 0?e:null}getWidgetSessionId(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.getWidgetSessionId())!==null&&e!==void 0?e:null}},fh=class{constructor(e){var t;this.ke=!1,this.Pe=!1,this._instance=e,this._instance&&(t=this._instance.config.logs)!=null&&t.captureConsoleLogs&&(this.ke=!0)}onRemoteConfig(e){var t,n=(t=e.logs)==null?void 0:t.captureConsoleLogs;!pe(n)&&n&&(this.ke=!0,this.loadIfEnabled())}reset(){}loadIfEnabled(){if(this.ke&&!this.Pe){var e=Ie("[logs]"),t=Q?.__PosthogExtensions__;if(t){var n=t.loadExternalDependency;n?n(this._instance,"logs",(i=>{var s;i||(s=t.logs)==null||!s.initializeLogs?e.error("Could not load logs script",i):(t.logs.initializeLogs(this._instance),this.Pe=!0)})):e.error("PostHog loadExternalDependency extension not found.")}else e.error("PostHog Extensions not found.")}}},D_=Ie("[RateLimiter]"),gh=class{constructor(e){this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=t=>{var n=t.text;if(n&&n.length)try{(JSON.parse(n).quota_limited||[]).forEach((i=>{D_.info((i||"events")+" is quota limited."),this.serverLimits[i]=new Date().getTime()+6e4}))}catch(i){return void D_.warn('could not rate limit - continuing. Error: "'+i?.message+'"',{text:n})}},this.instance=e,this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}get captureEventsPerSecond(){var e;return((e=this.instance.config.rate_limiting)==null?void 0:e.events_per_second)||10}get captureEventsBurstLimit(){var e;return Math.max(((e=this.instance.config.rate_limiting)==null?void 0:e.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond)}clientRateLimitContext(e){var t,n,i;e===void 0&&(e=!1);var{captureEventsBurstLimit:s,captureEventsPerSecond:o}=this,a=new Date().getTime(),l=(t=(n=this.instance.persistence)==null?void 0:n.get_property(Hp))!==null&&t!==void 0?t:{tokens:s,last:a};l.tokens+=(a-l.last)/1e3*o,l.last=a,l.tokens>s&&(l.tokens=s);var c=l.tokens<1;return c||e||(l.tokens=Math.max(0,l.tokens-1)),!c||this.lastEventRateLimited||e||this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:"posthog-js client rate limited. Config is set to "+o+" events per second and "+s+" events burst limit."},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=c,(i=this.instance.persistence)==null||i.set_property(Hp,l),{isRateLimited:c,remainingTokens:l.tokens}}isServerRateLimited(e){var t=this.serverLimits[e||"events"]||!1;return t!==!1&&new Date().getTime()<t}},On=Ie("[RemoteConfig]"),mh=class{constructor(e){this._instance=e}get remoteConfig(){var e;return(e=Q._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.config}Te(e){var t,n;(t=Q.__PosthogExtensions__)!=null&&t.loadExternalDependency?(n=Q.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"remote-config",(()=>e(this.remoteConfig))):(On.error("PostHog Extensions not found. Cannot load remote config."),e())}Ie(e){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets","/array/"+this._instance.config.token+"/config"),callback:t=>{e(t.json)}})}load(){try{if(this.remoteConfig)return On.info("Using preloaded remote config",this.remoteConfig),void this.yi(this.remoteConfig);if(this._instance.M())return void On.warn("Remote config is disabled. Falling back to local config.");this.Te((e=>{if(!e)return On.info("No config found after loading remote JS config. Falling back to JSON."),void this.Ie((t=>{this.yi(t)}));this.yi(e)}))}catch(e){On.error("Error loading remote config",e)}}yi(e){e?this._instance.config.__preview_remote_config?(this._instance.yi(e),e.hasFeatureFlags!==!1&&this._instance.featureFlags.ensureFlagsLoaded()):On.info("__preview_remote_config is disabled. Logging config instead",e):On.error("Failed to fetch remote config from PostHog.")}},vh=3e3,yh=class{constructor(e,t){this.Ce=!0,this.Re=[],this.Fe=Gt(t?.flush_interval_ms||vh,250,5e3,B.createLogger("flush interval"),vh),this.Oe=e}enqueue(e){this.Re.push(e),this.Me||this.Ae()}unload(){this.je();var e=this.Re.length>0?this.De():{},t=Object.values(e);[...t.filter((n=>n.url.indexOf("/e")===0)),...t.filter((n=>n.url.indexOf("/e")!==0))].map((n=>{this.Oe(j({},n,{transport:"sendBeacon"}))}))}enable(){this.Ce=!1,this.Ae()}Ae(){var e=this;this.Ce||(this.Me=setTimeout((()=>{if(this.je(),this.Re.length>0){var t=this.De(),n=function(){var s=t[i],o=new Date().getTime();s.data&&ve(s.data)&&ke(s.data,(a=>{a.offset=Math.abs(a.timestamp-o),delete a.timestamp})),e.Oe(s)};for(var i in t)n()}}),this.Fe))}je(){clearTimeout(this.Me),this.Me=void 0}De(){var e={};return ke(this.Re,(t=>{var n,i=t,s=(i?i.batchKey:null)||i.url;H(e[s])&&(e[s]=j({},i,{data:[]})),(n=e[s].data)==null||n.push(i.data)})),this.Re=[],e}},j1=["retriesPerformedSoFar"],_h=class{constructor(e){this.Le=!1,this.Ne=3e3,this.Re=[],this._instance=e,this.Re=[],this.Ue=!0,!H(E)&&"onLine"in E.navigator&&(this.Ue=E.navigator.onLine,this.ze=()=>{this.Ue=!0,this.Lt()},this.He=()=>{this.Ue=!1},Ne(E,"online",this.ze),Ne(E,"offline",this.He))}get length(){return this.Re.length}retriableRequest(e){var{retriesPerformedSoFar:t}=e,n=W_(e,j1);_i(t)&&(n.url=Hl(n.url,{retry_count:t})),this._instance._send_request(j({},n,{callback:i=>{i.statusCode!==200&&(i.statusCode<400||i.statusCode>=500)&&(t??0)<10?this.Be(j({retriesPerformedSoFar:t},n)):n.callback==null||n.callback(i)}}))}Be(e){var t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;var n=(function(o){var a=3e3*Math.pow(2,o),l=a/2,c=Math.min(18e5,a),u=(Math.random()-.5)*(c-l);return Math.ceil(c+u)})(t),i=Date.now()+n;this.Re.push({retryAt:i,requestOptions:e});var s="Enqueued failed request for retry in "+n;navigator.onLine||(s+=" (Browser is offline)"),B.warn(s),this.Le||(this.Le=!0,this.qe())}qe(){if(this.We&&clearTimeout(this.We),this.Re.length===0)return this.Le=!1,void(this.We=void 0);this.We=setTimeout((()=>{this.Ue&&this.Re.length>0&&this.Lt(),this.qe()}),this.Ne)}Lt(){var e=Date.now(),t=[],n=this.Re.filter((s=>s.retryAt<e||(t.push(s),!1)));if(this.Re=t,n.length>0)for(var{requestOptions:i}of n)this.retriableRequest(i)}unload(){for(var{requestOptions:e}of(this.We&&(clearTimeout(this.We),this.We=void 0),this.Le=!1,H(E)||(this.ze&&(E.removeEventListener("online",this.ze),this.ze=void 0),this.He&&(E.removeEventListener("offline",this.He),this.He=void 0)),this.Re))try{this._instance._send_request(j({},e,{transport:"sendBeacon"}))}catch(t){B.error(t)}this.Re=[]}},bh=class{constructor(e){this.Ge=()=>{var t,n,i,s;this.Ve||(this.Ve={});var o=this.scrollElement(),a=this.scrollY(),l=o?Math.max(0,o.scrollHeight-o.clientHeight):0,c=a+(o?.clientHeight||0),u=o?.scrollHeight||0;this.Ve.lastScrollY=Math.ceil(a),this.Ve.maxScrollY=Math.max(a,(t=this.Ve.maxScrollY)!==null&&t!==void 0?t:0),this.Ve.maxScrollHeight=Math.max(l,(n=this.Ve.maxScrollHeight)!==null&&n!==void 0?n:0),this.Ve.lastContentY=c,this.Ve.maxContentY=Math.max(c,(i=this.Ve.maxContentY)!==null&&i!==void 0?i:0),this.Ve.maxContentHeight=Math.max(u,(s=this.Ve.maxContentHeight)!==null&&s!==void 0?s:0)},this._instance=e}getContext(){return this.Ve}resetContext(){var e=this.Ve;return setTimeout(this.Ge,0),e}startMeasuringScrollPosition(){Ne(E,"scroll",this.Ge,{capture:!0}),Ne(E,"scrollend",this.Ge,{capture:!0}),Ne(E,"resize",this.Ge)}scrollElement(){if(!this._instance.config.scroll_root_selector)return E?.document.documentElement;var e=ve(this._instance.config.scroll_root_selector)?this._instance.config.scroll_root_selector:[this._instance.config.scroll_root_selector];for(var t of e){var n=E?.document.querySelector(t);if(n)return n}}scrollY(){if(this._instance.config.scroll_root_selector){var 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){var e=this.scrollElement();return e&&e.scrollLeft||0}return E&&(E.scrollX||E.pageXOffset||E.document.documentElement.scrollLeft)||0}},U1=r=>Fb(r?.config.mask_personal_data_properties,r?.config.custom_personal_data_properties),Vl=class{constructor(e,t,n,i){this.Je=s=>{var o=this.Ke();if(!o||o.sessionId!==s){var a={sessionId:s,props:this.Ye(this._instance)};this.Xe.register({[Dp]:a})}},this._instance=e,this.Qe=t,this.Xe=n,this.Ye=i||U1,this.Qe.onSessionId(this.Je)}Ke(){return this.Xe.props[Dp]}getSetOnceProps(){var e,t=(e=this.Ke())==null?void 0:e.props;return t?"r"in t?Db(t):{$referring_domain:t.referringDomain,$pathname:t.initialPathName,utm_source:t.utm_source,utm_campaign:t.utm_campaign,utm_medium:t.utm_medium,utm_content:t.utm_content,utm_term:t.utm_term}:{}}getSessionProps(){var e={};return ke(Mh(this.getSetOnceProps()),((t,n)=>{n==="$current_url"&&(n="url"),e["$session_entry_"+vp(n)]=t})),e}},fp=Ie("[SessionId]"),jl=class{on(e,t){return this.Ze.on(e,t)}constructor(e,t,n){var i;if(this.tr=[],this.ir=void 0,this.Ze=new xo,this.er=(u,p)=>!(!_i(u)||!_i(p))&&Math.abs(u-p)>this.sessionTimeoutMs,!e.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(e.config.cookieless_mode==="always")throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.R=e.config,this.Xe=e.persistence,this.rr=void 0,this.sr=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this.nr=t||jr,this.ar=n||jr;var s=this.R.persistence_name||this.R.token,o=this.R.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*Gt(o,60,36e3,fp.createLogger("session_idle_timeout_seconds"),1800),e.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.lr(),this.ur="ph_"+s+"_window_id",this.hr="ph_"+s+"_primary_window_exists",this.dr()){var a=qe.W(this.ur),l=qe.W(this.hr);a&&!l?this.rr=a:qe.V(this.ur),qe.G(this.hr,!0)}if((i=this.R.bootstrap)!=null&&i.sessionID)try{var c=(u=>{var p=u.replace(/-/g,"");if(p.length!==32)throw new Error("Not a valid UUID");if(p[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(p.substring(0,12),16)})(this.R.bootstrap.sessionID);this.vr(this.R.bootstrap.sessionID,new Date().getTime(),c)}catch(u){fp.error("Invalid sessionID in bootstrap",u)}this.cr()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(e){return H(this.tr)&&(this.tr=[]),this.tr.push(e),this.sr&&e(this.sr,this.rr),()=>{this.tr=this.tr.filter((t=>t!==e))}}dr(){return this.R.persistence!=="memory"&&!this.Xe.ki&&qe.H()}pr(e){e!==this.rr&&(this.rr=e,this.dr()&&qe.G(this.ur,e))}gr(){return this.rr?this.rr:this.dr()?qe.W(this.ur):null}vr(e,t,n){e===this.sr&&t===this._sessionActivityTimestamp&&n===this._sessionStartTimestamp||(this._sessionStartTimestamp=n,this._sessionActivityTimestamp=t,this.sr=e,this.Xe.register({[Cl]:[t,e,n]}))}_r(){var e=this.Xe.props[Cl];return ve(e)&&e.length===2&&e.push(e[0]),e||[0,null,0]}resetSessionId(){this.vr(null,null,null)}destroy(){clearTimeout(this.mr),this.mr=void 0,this.ir&&E&&(E.removeEventListener("beforeunload",this.ir,{capture:!1}),this.ir=void 0),this.tr=[]}cr(){this.ir=()=>{this.dr()&&qe.V(this.hr)},Ne(E,"beforeunload",this.ir,{capture:!1})}checkAndGetSessionAndWindowId(e,t){if(e===void 0&&(e=!1),t===void 0&&(t=null),this.R.cookieless_mode==="always")throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');var n=t||new Date().getTime(),[i,s,o]=this._r(),a=this.gr(),l=_i(o)&&Math.abs(n-o)>864e5,c=!1,u=!s,p=!u&&!e&&this.er(n,i);u||p||l?(s=this.nr(),a=this.ar(),fp.info("new session ID generated",{sessionId:s,windowId:a,changeReason:{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}}),o=n,c=!0):a||(a=this.ar(),c=!0);var h=_i(i)&&e&&!l?i:n,f=_i(o)?o:new Date().getTime();return this.pr(a),this.vr(s,h,f),e||this.lr(),c&&this.tr.forEach((v=>v(s,a,c?{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}:void 0))),{sessionId:s,windowId:a,sessionStartTimestamp:f,changeReason:c?{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}:void 0,lastActivityTimestamp:i}}lr(){clearTimeout(this.mr),this.mr=setTimeout((()=>{var[e]=this._r();if(this.er(new Date().getTime(),e)){var t=this.sr;this.resetSessionId(),this.Ze.emit("forcedIdleReset",{idleSessionId:t})}}),1.1*this.sessionTimeoutMs)}},W1=["$set_once","$set"],Br=Ie("[SiteApps]"),xh=class{constructor(e){this._instance=e,this.br=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}yr(e,t){if(t){var n=this.globalsForEvent(t);this.br.push(n),this.br.length>1e3&&(this.br=this.br.slice(10))}}get siteAppLoaders(){var e;return(e=Q._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.siteApps}init(){if(this.isEnabled){var e=this._instance._addCaptureHook(this.yr.bind(this));this.wr=()=>{e(),this.br=[],this.wr=void 0}}}globalsForEvent(e){var t,n,i,s,o,a,l;if(!e)throw new Error("Event payload is required");var c={},u=this._instance.get_property("$groups")||[],p=this._instance.get_property("$stored_group_properties")||{};for(var[h,f]of Object.entries(p))c[h]={id:u[h],type:h,properties:f};var{$set_once:v,$set:g}=e;return{event:j({},W_(e,W1),{properties:j({},e.properties,g?{$set:j({},(t=(n=e.properties)==null?void 0:n.$set)!==null&&t!==void 0?t:{},g)}:{},v?{$set_once:j({},(i=(s=e.properties)==null?void 0:s.$set_once)!==null&&i!==void 0?i:{},v)}:{}),elements_chain:(o=(a=e.properties)==null?void 0:a.$elements_chain)!==null&&o!==void 0?o:"",distinct_id:(l=e.properties)==null?void 0:l.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:c}}setupSiteApp(e){var t=this.apps[e.id],n=()=>{var a;!t.errored&&this.br.length&&(Br.info("Processing "+this.br.length+" events for site app with id "+e.id),this.br.forEach((l=>t.processEvent==null?void 0:t.processEvent(l))),t.processedBuffer=!0),Object.values(this.apps).every((l=>l.processedBuffer||l.errored))&&((a=this.wr)==null||a.call(this))},i=!1,s=a=>{t.errored=!a,t.loaded=!0,Br.info("Site app with id "+e.id+" "+(a?"loaded":"errored")),i&&n()};try{var{processEvent:o}=e.init({posthog:this._instance,callback:a=>{s(a)}});o&&(t.processEvent=o),i=!0}catch(a){Br.error("Error while initializing PostHog app with config id "+e.id,a),s(!1)}if(i&&t.loaded)try{n()}catch(a){Br.error("Error while processing buffered events PostHog app with config id "+e.id,a),t.errored=!0}}Er(){var e=this.siteAppLoaders||[];for(var t of e)this.apps[t.id]={id:t.id,loaded:!1,errored:!1,processedBuffer:!1};for(var n of e)this.setupSiteApp(n)}$r(e){if(Object.keys(this.apps).length!==0){var t=this.globalsForEvent(e);for(var n of Object.values(this.apps))try{n.processEvent==null||n.processEvent(t)}catch(i){Br.error("Error while processing event "+e.event+" for site app "+n.id,i)}}}onRemoteConfig(e){var t,n,i,s=this;if((t=this.siteAppLoaders)!=null&&t.length)return this.isEnabled?(this.Er(),void this._instance.on("eventCaptured",(c=>this.$r(c)))):void Br.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if((n=this.wr)==null||n.call(this),(i=e.siteApps)!=null&&i.length)if(this.isEnabled){var o=function(c){var u;Q["__$$ph_site_app_"+c]=s._instance,(u=Q.__PosthogExtensions__)==null||u.loadSiteApp==null||u.loadSiteApp(s._instance,l,(p=>{if(p)return Br.error("Error while initializing PostHog app with config id "+c,p)}))};for(var{id:a,url:l}of e.siteApps)o(a)}else Br.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}},Zb=function(r,e){if(!r)return!1;var t=r.userAgent;if(t&&Jy(t,e))return!0;try{var n=r?.userAgentData;if(n!=null&&n.brands&&n.brands.some((i=>Jy(i?.brand,e))))return!0}catch{}return!!r.webdriver},po=(function(r){return r.US="us",r.EU="eu",r.CUSTOM="custom",r})({}),H_="i.posthog.com",wh=class{constructor(e){this.Sr={},this.instance=e}get apiHost(){var e=this.instance.config.api_host.trim().replace(/\/$/,"");return e==="https://app.posthog.com"?"https://us.i.posthog.com":e}get flagsApiHost(){var e=this.instance.config.flags_api_host;return e?e.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var e,t=(e=this.instance.config.ui_host)==null?void 0:e.replace(/\/$/,"");return t||(t=this.apiHost.replace("."+H_,".posthog.com")),t==="https://app.posthog.com"?"https://us.posthog.com":t}get region(){return this.Sr[this.apiHost]||(/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=po.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=po.EU:this.Sr[this.apiHost]=po.CUSTOM),this.Sr[this.apiHost]}endpointFor(e,t){if(t===void 0&&(t=""),t&&(t=t[0]==="/"?t:"/"+t),e==="ui")return this.uiHost+t;if(e==="flags")return this.flagsApiHost+t;if(this.region===po.CUSTOM)return this.apiHost+t;var n=H_+t;switch(e){case"assets":return"https://"+this.region+"-assets."+n;case"api":return"https://"+this.region+"."+n}}},z1={icontains:(r,e)=>!!E&&e.href.toLowerCase().indexOf(r.toLowerCase())>-1,not_icontains:(r,e)=>!!E&&e.href.toLowerCase().indexOf(r.toLowerCase())===-1,regex:(r,e)=>!!E&&Bl(e.href,r),not_regex:(r,e)=>!!E&&!Bl(e.href,r),exact:(r,e)=>e.href===r,is_not:(r,e)=>e.href!==r},Sh=class r{constructor(e){var t=this;this.getWebExperimentsAndEvaluateDisplayLogic=function(n){n===void 0&&(n=!1),t.getWebExperiments((i=>{r.kr("retrieved web experiments from the server"),t.Pr=new Map,i.forEach((s=>{if(s.feature_flag_key){var o;t.Pr&&(r.kr("setting flag key ",s.feature_flag_key," to web experiment ",s),(o=t.Pr)==null||o.set(s.feature_flag_key,s));var a=t._instance.getFeatureFlag(s.feature_flag_key);Fe(a)&&s.variants[a]&&t.Tr(s.name,a,s.variants[a].transforms)}else if(s.variants)for(var l in s.variants){var c=s.variants[l];r.Ir(c)&&t.Tr(s.name,l,c.transforms)}}))}),n)},this._instance=e,this._instance.onFeatureFlags((n=>{this.onFeatureFlags(n)}))}onFeatureFlags(e){if(this._is_bot())r.kr("Refusing to render web experiment since the viewer is a likely bot");else if(!this._instance.config.disable_web_experiments){if(pe(this.Pr))return this.Pr=new Map,this.loadIfEnabled(),void this.previewWebExperiment();r.kr("applying feature flags",e),e.forEach((t=>{var n;if(this.Pr&&(n=this.Pr)!=null&&n.has(t)){var i,s=this._instance.getFeatureFlag(t),o=(i=this.Pr)==null?void 0:i.get(t);s&&o!=null&&o.variants[s]&&this.Tr(o.name,s,o.variants[s].transforms)}}))}}previewWebExperiment(){var e=r.getWindowLocation();if(e!=null&&e.search){var t=Pl(e?.search,"__experiment_id"),n=Pl(e?.search,"__experiment_variant");t&&n&&(r.kr("previewing web experiments "+t+" && "+n),this.getWebExperiments((i=>{this.Cr(parseInt(t),n,i)}),!1,!0))}}loadIfEnabled(){this._instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(e,t,n){if(this._instance.config.disable_web_experiments&&!n)return e([]);var i=this._instance.get_property("$web_experiments");if(i&&!t)return e(i);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/web_experiments/?token="+this._instance.config.token),method:"GET",callback:s=>{if(s.statusCode!==200||!s.json)return e([]);var o=s.json.experiments||[];return e(o)}})}Cr(e,t,n){var i=n.filter((s=>s.id===e));i&&i.length>0&&(r.kr("Previewing web experiment ["+i[0].name+"] with variant ["+t+"]"),this.Tr(i[0].name,t,i[0].variants[t].transforms))}static Ir(e){return!pe(e.conditions)&&r.Rr(e)&&r.Fr(e)}static Rr(e){var t;if(pe(e.conditions)||pe((t=e.conditions)==null?void 0:t.url))return!0;var n,i,s,o=r.getWindowLocation();return!!o&&((n=e.conditions)==null||!n.url||z1[(i=(s=e.conditions)==null?void 0:s.urlMatchType)!==null&&i!==void 0?i:"icontains"](e.conditions.url,o))}static getWindowLocation(){return E?.location}static Fr(e){var t;if(pe(e.conditions)||pe((t=e.conditions)==null?void 0:t.utm))return!0;var n=Pb();if(n.utm_source){var i,s,o,a,l,c,u,p,h=(i=e.conditions)==null||(i=i.utm)==null||!i.utm_campaign||((s=e.conditions)==null||(s=s.utm)==null?void 0:s.utm_campaign)==n.utm_campaign,f=(o=e.conditions)==null||(o=o.utm)==null||!o.utm_source||((a=e.conditions)==null||(a=a.utm)==null?void 0:a.utm_source)==n.utm_source,v=(l=e.conditions)==null||(l=l.utm)==null||!l.utm_medium||((c=e.conditions)==null||(c=c.utm)==null?void 0:c.utm_medium)==n.utm_medium,g=(u=e.conditions)==null||(u=u.utm)==null||!u.utm_term||((p=e.conditions)==null||(p=p.utm)==null?void 0:p.utm_term)==n.utm_term;return h&&v&&g&&f}return!1}static kr(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];B.info("[WebExperiments] "+e,n)}Tr(e,t,n){this._is_bot()?r.kr("Refusing to render web experiment since the viewer is a likely bot"):t!=="control"?n.forEach((i=>{if(i.selector){var s;r.kr("applying transform of variant "+t+" for experiment "+e+" ",i);var o=(s=document)==null?void 0:s.querySelectorAll(i.selector);o?.forEach((a=>{var l=a;i.html&&(l.innerHTML=i.html),i.css&&l.setAttribute("style",i.css)}))}})):r.kr("Control variants leave the page unmodified.")}_is_bot(){return ht&&this._instance?Zb(ht,this._instance.config.custom_blocked_useragents):void 0}},q1=Ie("[PostHog ExternalIntegrations]"),Z1={intercom:"intercom-integration",crispChat:"crisp-chat-integration"},kh=class{constructor(e){this._instance=e}it(e,t){var n;(n=Q.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,e,(i=>{if(i)return q1.error("failed to load script",i);t()}))}startIfEnabledOrStop(){var e=this,t=function(o){var a,l,c;!i||(a=Q.__PosthogExtensions__)!=null&&(a=a.integrations)!=null&&a[o]||e.it(Z1[o],(()=>{var u;(u=Q.__PosthogExtensions__)==null||(u=u.integrations)==null||(u=u[o])==null||u.start(e._instance)})),!i&&(l=Q.__PosthogExtensions__)!=null&&(l=l.integrations)!=null&&l[o]&&((c=Q.__PosthogExtensions__)==null||(c=c.integrations)==null||(c=c[o])==null||c.stop())};for(var[n,i]of Object.entries((s=this._instance.config.integrations)!==null&&s!==void 0?s:{})){var s;t(n)}}},Eh="[SessionRecording]",no=Ie(Eh),Ul=class{get started(){var e;return!((e=this.Or)==null||!e.isStarted)}get status(){return this.Or?this.Or.status:this.Mr&&!this.Ar?"disabled":"lazy_loading"}constructor(e){if(this._forceAllowLocalhostNetworkCapture=!1,this.Mr=!1,this.jr=void 0,this._instance=e,!this._instance.sessionManager)throw no.error("started without valid sessionManager"),new Error(Eh+" started without valid sessionManager. This is a bug.");if(this._instance.config.cookieless_mode==="always")throw new Error(Eh+' cannot be used with cookieless_mode="always"')}get Ar(){var e,t=!((e=this._instance.get_property(tp))==null||!e.enabled),n=!this._instance.config.disable_session_recording,i=this._instance.config.disable_session_recording||this._instance.consent.isOptedOut();return E&&t&&n&&!i}startIfEnabledOrStop(e){var t;if(!this.Ar||(t=this.Or)==null||!t.isStarted){var n=!H(Object.assign)&&!H(Array.from);this.Ar&&n?(this.Dr(e),no.info("starting")):this.stopRecording()}}Dr(e){var t,n,i;this.Ar&&(Q!=null&&(t=Q.__PosthogExtensions__)!=null&&(t=t.rrweb)!=null&&t.record&&(n=Q.__PosthogExtensions__)!=null&&n.initSessionRecording?this.Lr(e):(i=Q.__PosthogExtensions__)==null||i.loadExternalDependency==null||i.loadExternalDependency(this._instance,this.Nr,(s=>{if(s)return no.error("could not load recorder",s);this.Lr(e)})))}stopRecording(){var e,t;(e=this.jr)==null||e.call(this),this.jr=void 0,(t=this.Or)==null||t.stop()}Ur(){var e;(e=this._instance.persistence)==null||e.unregister(mb)}zr(e){if(this._instance.persistence){var t,n,i=this._instance.persistence,s=()=>{var o=e.sessionRecording===!1?void 0:e.sessionRecording,a=o?.sampleRate,l=pe(a)?null:parseFloat(a);pe(l)&&this.Ur();var c=o?.minimumDurationMilliseconds;i.register({[tp]:j({enabled:!!o},o,{networkPayloadCapture:j({capturePerformance:e.capturePerformance},o?.networkPayloadCapture),canvasRecording:{enabled:o?.recordCanvas,fps:o?.canvasFps,quality:o?.canvasQuality},sampleRate:l,minimumDurationMilliseconds:H(c)?null:c,endpoint:o?.endpoint,triggerMatchType:o?.triggerMatchType,masking:o?.masking,urlTriggers:o?.urlTriggers})})};s(),(t=this.jr)==null||t.call(this),this.jr=(n=this._instance.sessionManager)==null?void 0:n.onSessionId(s)}}onRemoteConfig(e){"sessionRecording"in e?e.sessionRecording!==!1?(this.zr(e),this.Mr=!0,this.startIfEnabledOrStop()):this.Mr=!0:no.info("skipping remote config with no sessionRecording",e)}log(e,t){var n;t===void 0&&(t="log"),(n=this.Or)!=null&&n.log?this.Or.log(e,t):no.warn("log called before recorder was ready")}get Nr(){var e,t,n=(e=this._instance)==null||(e=e.persistence)==null?void 0:e.get_property(tp);return(n==null||(t=n.scriptConfig)==null?void 0:t.script)||"lazy-recorder"}Lr(e){var t,n;if((t=Q.__PosthogExtensions__)==null||!t.initSessionRecording)throw Error("Called on script loaded before session recording is available");this.Or||(this.Or=(n=Q.__PosthogExtensions__)==null?void 0:n.initSessionRecording(this._instance),this.Or._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),this.Or.start(e)}onRRwebEmit(e){var t;(t=this.Or)==null||t.onRRwebEmit==null||t.onRRwebEmit(e)}overrideLinkedFlag(){var e,t;this.Or||(t=this._instance.persistence)==null||t.register({$replay_override_linked_flag:!0}),(e=this.Or)==null||e.overrideLinkedFlag()}overrideSampling(){var e,t;this.Or||(t=this._instance.persistence)==null||t.register({$replay_override_sampling:!0}),(e=this.Or)==null||e.overrideSampling()}overrideTrigger(e){var t,n;this.Or||(n=this._instance.persistence)==null||n.register({[e==="url"?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),(t=this.Or)==null||t.overrideTrigger(e)}get sdkDebugProperties(){var e;return((e=this.Or)==null?void 0:e.sdkDebugProperties)||{$recording_status:this.status}}tryAddCustomEvent(e,t){var n;return!((n=this.Or)==null||!n.tryAddCustomEvent(e,t))}},go={},Ch=()=>{},bi="posthog",Gb=!N1&&at?.indexOf("MSIE")===-1&&at?.indexOf("Mozilla")===-1,B_=r=>{var e;return j({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,token:"",autocapture:!0,cross_subdomain_cookie:XC(D?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:Ch,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:r??"unset",__preview_deferred_init_extensions:!1,debug:Ze&&Fe(Ze?.search)&&Ze.search.indexOf("__posthog_debug=true")!==-1||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_surveys_automatic_display:!1,disable_conversations:!1,disable_product_tours:!0,disable_external_dependency_loading:!1,enable_recording_console_log:void 0,secure_cookie:(E==null||(e=E.location)==null?void 0:e.protocol)==="https:",ip:!1,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",consent_persistence_name:null,opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_flags:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_only_evaluate_survey_feature_flags:!1,advanced_enable_surveys:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,surveys_request_timeout_ms:1e4,on_request_error:t=>{var n="Bad HTTP status: "+t.statusCode+" "+t.text;B.error(n)},get_device_id:t=>t,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:"identified_only",before_send:void 0,request_queue_config:{flush_interval_ms:vh},error_tracking:{},_onCapture:Ch,__preview_eager_load_replay:!1},(t=>({rageclick:!(t&&t>="2025-11-30")||{content_ignorelist:!0},capture_pageview:!(t&&t>="2025-05-24")||"history_change",session_recording:t&&t>="2025-11-30"?{strictMinimumDuration:!0}:{},external_scripts_inject_target:t&&t>="2026-01-30"?"head":"body",internal_or_test_user_hostname:t&&t>="2026-01-30"?/^(localhost|127\.0\.0\.1)$/:void 0}))(r))},V_=r=>{var e={};H(r.process_person)||(e.person_profiles=r.process_person),H(r.xhr_headers)||(e.request_headers=r.xhr_headers),H(r.cookie_name)||(e.persistence_name=r.cookie_name),H(r.disable_cookie)||(e.disable_persistence=r.disable_cookie),H(r.store_google)||(e.save_campaign_params=r.store_google),H(r.verbose)||(e.debug=r.verbose);var t=Pe({},e,r);return ve(r.property_blacklist)&&(H(r.property_denylist)?t.property_denylist=r.property_blacklist:ve(r.property_denylist)?t.property_denylist=[...r.property_blacklist,...r.property_denylist]:B.error("Invalid value for property_denylist config: "+r.property_denylist)),t},Ah=class{constructor(){this.__forceAllowLocalhost=!1}get Hr(){return this.__forceAllowLocalhost}set Hr(e){B.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=e}},Wl=class r{get decideEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}get flagsEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}constructor(){this.webPerformance=new Ah,this.Br=!1,this.version=pr.LIB_VERSION,this.qr=new xo,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=B_(),this.SentryIntegration=Yp,this.sentryIntegration=e=>(function(t,n){var i=Mb(t,n);return{name:$b,processEvent:s=>i(s)}})(this,e),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.Wr=!1,this.Gr=null,this.Vr=null,this.Jr=null,this.featureFlags=new oh(this),this.toolbar=new Xp(this),this.scrollManager=new bh(this),this.pageViewManager=new Ll(this),this.surveys=new ph(this),this.conversations=new hh(this),this.logs=new fh(this),this.experiments=new Sh(this),this.exceptions=new sh(this),this.rateLimiter=new gh(this),this.requestRouter=new wh(this),this.consent=new Zp(this),this.externalIntegrations=new kh(this),this.people={set:(e,t,n)=>{var i=Fe(e)?{[e]:t}:e;this.setPersonProperties(i),n?.({})},set_once:(e,t,n)=>{var i=Fe(e)?{[e]:t}:e;this.setPersonProperties(void 0,i),n?.({})}},this.on("eventCaptured",(e=>B.info('send "'+e?.event+'"',e)))}init(e,t,n){if(n&&n!==bi){var i,s=(i=go[n])!==null&&i!==void 0?i:new r;return s._init(e,t,n),go[n]=s,go[bi][n]=s,s}return this._init(e,t,n)}_init(e,t,n){var i;if(t===void 0&&(t={}),H(e)||yp(e))return B.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 console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config={},t.debug=this.Kr(t.debug),this.Yr=t,this.Xr=[],t.person_profiles&&(this.Vr=t.person_profiles),this.set_config(Pe({},B_(t.defaults),V_(t),{name:n,token:e})),this.config.on_xhr_error&&B.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=t.disable_compression?void 0:gr.GZipJS;var s=this.Qr();this.persistence=new fo(this.config,s),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new fo(j({},this.config,{persistence:"sessionStorage"}),s);var o=j({},this.persistence.props),a=j({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Zr=new yh((x=>this.ts(x)),this.config.request_queue_config),this.es=new _h(this),this.__request_queue=[];var l=this.config.cookieless_mode==="always"||this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut();if(l||(this.sessionManager=new jl(this),this.sessionPropsManager=new Vl(this,this.sessionManager,this.persistence)),this.config.__preview_deferred_init_extensions?(B.info("Deferring extension initialization to improve startup performance"),setTimeout((()=>{this.rs(l)}),0)):(B.info("Initializing extensions synchronously"),this.rs(l)),pr.DEBUG=pr.DEBUG||this.config.debug,pr.DEBUG&&B.info("Starting in debug mode",{this:this,config:t,thisC:j({},this.config),p:o,s:a}),((i=t.bootstrap)==null?void 0:i.distinctID)!==void 0){var c,u,p=this.config.get_device_id(jr()),h=(c=t.bootstrap)!=null&&c.isIdentifiedID?p:t.bootstrap.distinctID;this.persistence.set_property(hr,(u=t.bootstrap)!=null&&u.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:t.bootstrap.distinctID,$device_id:h})}if(this.ss()){var f,v,g=Object.keys(((f=t.bootstrap)==null?void 0:f.featureFlags)||{}).filter((x=>{var S;return!((S=t.bootstrap)==null||(S=S.featureFlags)==null||!S[x])})).reduce(((x,S)=>{var _;return x[S]=((_=t.bootstrap)==null||(_=_.featureFlags)==null?void 0:_[S])||!1,x}),{}),m=Object.keys(((v=t.bootstrap)==null?void 0:v.featureFlagPayloads)||{}).filter((x=>g[x])).reduce(((x,S)=>{var _,w;return(_=t.bootstrap)!=null&&(_=_.featureFlagPayloads)!=null&&_[S]&&(x[S]=(w=t.bootstrap)==null||(w=w.featureFlagPayloads)==null?void 0:w[S]),x}),{});this.featureFlags.receivedFeatureFlags({featureFlags:g,featureFlagPayloads:m})}if(l)this.register_once({distinct_id:Ks,$device_id:null},"");else if(!this.get_distinct_id()){var y=this.config.get_device_id(jr());this.register_once({distinct_id:y,$device_id:y},""),this.persistence.set_property(hr,"anonymous")}return Ne(E,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),t.segment?_1(this,(()=>this.ns())):this.ns(),Ur(this.config._onCapture)&&this.config._onCapture!==Ch&&(B.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",(x=>this.config._onCapture(x.event,x)))),this.config.ip&&B.warn('The `ip` config option has NO EFFECT AT ALL and has been deprecated. Use a custom transformation or "Discard IP data" project setting instead. See https://posthog.com/tutorials/web-redact-properties#hiding-customer-ip-address for more information.'),this}rs(e){var t=performance.now();this.historyAutocapture=new Kp(this),this.historyAutocapture.startIfEnabled();var n=[];n.push((()=>{new Jp(this).startIfEnabledOrStop()})),n.push((()=>{var i;this.siteApps=new xh(this),(i=this.siteApps)==null||i.init()})),e||n.push((()=>{this.sessionRecording=new Ul(this),this.sessionRecording.startIfEnabledOrStop()})),this.config.disable_scroll_properties||n.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),n.push((()=>{this.autocapture=new Up(this),this.autocapture.startIfEnabled()})),n.push((()=>{this.surveys.loadIfEnabled()})),n.push((()=>{this.logs.loadIfEnabled()})),n.push((()=>{this.conversations.loadIfEnabled()})),n.push((()=>{this.productTours=new ah(this),this.productTours.loadIfEnabled()})),n.push((()=>{this.heatmaps=new eh(this),this.heatmaps.startIfEnabled()})),n.push((()=>{this.webVitalsAutocapture=new Qp(this)})),n.push((()=>{this.exceptionObserver=new Gp(this),this.exceptionObserver.startIfEnabledOrStop()})),n.push((()=>{this.deadClicksAutocapture=new Nl(this,y1),this.deadClicksAutocapture.startIfEnabled()})),n.push((()=>{if(this.os){var i=this.os;this.os=void 0,this.yi(i)}})),this.ls(n,t)}ls(e,t){for(;e.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-t>=30&&e.length>0)return void setTimeout((()=>{this.ls(e,t)}),0);var n=e.shift();if(n)try{n()}catch(s){B.error("Error initializing extension:",s)}}var i=Math.round(performance.now()-t);this.register_for_session({$sdk_debug_extensions_init_method:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",$sdk_debug_extensions_init_time_ms:i}),this.config.__preview_deferred_init_extensions&&B.info("PostHog extensions initialized ("+i+"ms)")}yi(e){var t,n,i,s,o,a,l,c,u;if(!D||!D.body)return B.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((()=>{this.yi(e)}),500);this.config.__preview_deferred_init_extensions&&(this.os=e),this.compression=void 0,e.supportedCompression&&!this.config.disable_compression&&(this.compression=de(e.supportedCompression,gr.GZipJS)?gr.GZipJS:de(e.supportedCompression,gr.Base64)?gr.Base64:void 0),(t=e.analytics)!=null&&t.endpoint&&(this.analyticsDefaultEndpoint=e.analytics.endpoint),this.set_config({person_profiles:this.Vr?this.Vr:"identified_only"}),(n=this.siteApps)==null||n.onRemoteConfig(e),(i=this.sessionRecording)==null||i.onRemoteConfig(e),(s=this.autocapture)==null||s.onRemoteConfig(e),(o=this.heatmaps)==null||o.onRemoteConfig(e),this.surveys.onRemoteConfig(e),this.logs.onRemoteConfig(e),this.conversations.onRemoteConfig(e),(a=this.productTours)==null||a.onRemoteConfig(e),(l=this.webVitalsAutocapture)==null||l.onRemoteConfig(e),(c=this.exceptionObserver)==null||c.onRemoteConfig(e),this.exceptions.onRemoteConfig(e),(u=this.deadClicksAutocapture)==null||u.onRemoteConfig(e)}ns(){try{this.config.loaded(this)}catch(n){B.critical("`loaded` function failed",n)}if(this.us(),this.config.internal_or_test_user_hostname&&Ze!=null&&Ze.hostname){var e=Ze.hostname,t=this.config.internal_or_test_user_hostname;(typeof t=="string"?e===t:t.test(e))&&this.setInternalOrTestUser()}this.config.capture_pageview&&setTimeout((()=>{(this.consent.isOptedIn()||this.config.cookieless_mode==="always")&&this.hs()}),1),new mh(this).load(),this.featureFlags.flags()}us(){var e;this.is_capturing()&&this.config.request_batching&&((e=this.Zr)==null||e.enable())}_dom_loaded(){this.is_capturing()&&Wr(this.__request_queue,(e=>this.ts(e))),this.__request_queue=[],this.us()}_handle_unload(){var e,t;this.surveys.handlePageUnload(),this.config.request_batching?(this.ds()&&this.capture("$pageleave"),(e=this.Zr)==null||e.unload(),(t=this.es)==null||t.unload()):this.ds()&&this.capture("$pageleave",null,{transport:"sendBeacon"})}_send_request(e){this.__loaded&&(Gb?this.__request_queue.push(e):this.rateLimiter.isServerRateLimited(e.batchKey)||(e.transport=e.transport||this.config.api_transport,e.url=Hl(e.url,{ip:this.config.ip?1:0}),e.headers=j({},this.config.request_headers,e.headers),e.compression=e.compression==="best-available"?this.compression:e.compression,e.disableXHRCredentials=this.config.__preview_disable_xhr_credentials,this.config.__preview_disable_beacon&&(e.disableTransport=["sendBeacon"]),e.fetchOptions=e.fetchOptions||this.config.fetch_options,(t=>{var n,i,s,o=j({},t);o.timeout=o.timeout||6e4,o.url=Hl(o.url,{_:new Date().getTime().toString(),ver:pr.LIB_VERSION,compression:o.compression});var a=(n=o.transport)!==null&&n!==void 0?n:"fetch",l=wl.filter((u=>!o.disableTransport||!u.transport||!o.disableTransport.includes(u.transport))),c=(i=(s=hb(l,(u=>u.transport===a)))==null?void 0:s.method)!==null&&i!==void 0?i:l[0].method;if(!c)throw new Error("No available transport method");c(o)})(j({},e,{callback:t=>{var n,i;this.rateLimiter.checkForLimiting(t),t.statusCode>=400&&((n=(i=this.config).on_request_error)==null||n.call(i,t)),e.callback==null||e.callback(t)}}))))}ts(e){this.es?this.es.retriableRequest(e):this._send_request(e)}_execute_array(e){var t,n=[],i=[],s=[];Wr(e,(a=>{a&&(t=a[0],ve(t)?s.push(a):Ur(a)?a.call(this):ve(a)&&t==="alias"?n.push(a):ve(a)&&t.indexOf("capture")!==-1&&Ur(this[t])?s.push(a):i.push(a))}));var o=function(a,l){Wr(a,(function(c){if(ve(c[0])){var u=l;ke(c,(function(p){u=u[p[0]].apply(u,p.slice(1))}))}else this[c[0]].apply(this,c.slice(1))}),l)};o(n,this),o(i,this),o(s,this)}ss(){var e,t;return((e=this.config.bootstrap)==null?void 0:e.featureFlags)&&Object.keys((t=this.config.bootstrap)==null?void 0:t.featureFlags).length>0||!1}push(e){this._execute_array([e])}capture(e,t,n){var i;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Zr){if(this.is_capturing())if(!H(e)&&Fe(e)){var s=!this.config.opt_out_useragent_filter&&this._is_bot();if(!(s&&!this.config.__preview_capture_bot_pageviews)){var o=n!=null&&n.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(o==null||!o.isRateLimited){t!=null&&t.$current_url&&!Fe(t?.$current_url)&&(B.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),t==null||delete t.$current_url),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();var a=new Date,l=n?.timestamp||a,c=jr(),u={uuid:c,event:e,properties:this.calculateEventProperties(e,t||{},l,c)};e==="$pageview"&&this.config.__preview_capture_bot_pageviews&&s&&(u.event="$bot_pageview",u.properties.$browser_type="bot"),o&&(u.properties.$lib_rate_limit_remaining_tokens=o.remainingTokens),n?.$set&&(u.$set=n?.$set);var p,h=e!=="$groupidentify",f=this.vs(n?.$set_once,h);if(f&&(u.$set_once=f),(u=KC(u,n!=null&&n._noTruncate?null:this.config.properties_string_max_length)).timestamp=l,H(n?.timestamp)||(u.properties.$event_time_override_provided=!0,u.properties.$event_time_override_system_time=a),e===uo.DISMISSED||e===uo.SENT){var v=t?.[hp.SURVEY_ID],g=t?.[hp.SURVEY_ITERATION];p={id:v,current_iteration:g},localStorage.getItem(F_(p))||localStorage.setItem(F_(p),"true"),u.$set=j({},u.$set,{[H1({id:v,current_iteration:g},e===uo.SENT?"responded":"dismissed")]:!0})}else e===uo.SHOWN&&(u.$set=j({},u.$set,{[hp.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var m=j({},u.properties.$set,u.$set);if(wi(m)||this.setPersonPropertiesForFlags(m),!pe(this.config.before_send)){var y=this.cs(u);if(!y)return;u=y}this.qr.emit("eventCaptured",u);var x={method:"POST",url:(i=n?._url)!==null&&i!==void 0?i:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),data:u,compression:"best-available",batchKey:n?._batchKey};return!this.config.request_batching||n&&(n==null||!n._batchKey)||n!=null&&n.send_instantly?this.ts(x):this.Zr.enqueue(x),u}B.critical("This capture call is ignored due to client rate limiting.")}}else B.error("No event name provided to posthog.capture")}else B.uninitializedWarning("posthog.capture")}_addCaptureHook(e){return this.on("eventCaptured",(t=>e(t.event,t)))}calculateEventProperties(e,t,n,i,s){if(n=n||new Date,!this.persistence||!this.sessionPersistence)return t;var o=s?void 0:this.persistence.remove_event_timer(e),a=j({},t);if(a.token=this.config.token,a.$config_defaults=this.config.defaults,(this.config.cookieless_mode=="always"||this.config.cookieless_mode=="on_reject"&&this.consent.isExplicitlyOptedOut())&&(a.$cookieless_mode=!0),e==="$snapshot"){var l=j({},this.persistence.properties(),this.sessionPersistence.properties());return a.distinct_id=l.distinct_id,(!Fe(a.distinct_id)&&!yr(a.distinct_id)||yp(a.distinct_id))&&B.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),a}var c,u=E1(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties);if(this.sessionManager){var{sessionId:p,windowId:h}=this.sessionManager.checkAndGetSessionAndWindowId(s,n.getTime());a.$session_id=p,a.$window_id=h}this.sessionPropsManager&&Pe(a,this.sessionPropsManager.getSessionProps());try{var f;this.sessionRecording&&Pe(a,this.sessionRecording.sdkDebugProperties),a.$sdk_debug_retry_queue_size=(f=this.es)==null?void 0:f.length}catch(y){a.$sdk_debug_error_capturing_properties=String(y)}if(this.requestRouter.region===po.CUSTOM&&(a.$lib_custom_api_host=this.config.api_host),c=e!=="$pageview"||s?e!=="$pageleave"||s?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(n):this.pageViewManager.doPageView(n,i),a=Pe(a,c),e==="$pageview"&&D&&(a.title=D.title),!H(o)){var v=n.getTime()-o;a.$duration=parseFloat((v/1e3).toFixed(3))}at&&this.config.opt_out_useragent_filter&&(a.$browser_type=this._is_bot()?"bot":"browser"),(a=Pe({},u,this.persistence.properties(),this.sessionPersistence.properties(),a)).$is_identified=this._isIdentified(),ve(this.config.property_denylist)?ke(this.config.property_denylist,(function(y){delete a[y]})):B.error("Invalid value for property_denylist config: "+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);var g=this.config.sanitize_properties;g&&(B.error("sanitize_properties is deprecated. Use before_send instead"),a=g(a,e));var m=this.fs();return a.$process_person_profile=m,m&&!s&&this.ps("_calculate_event_properties"),a}vs(e,t){var n;if(t===void 0&&(t=!0),!this.persistence||!this.fs()||this.Br)return e;var i=this.persistence.get_initial_props(),s=(n=this.sessionPropsManager)==null?void 0:n.getSetOnceProps(),o=Pe({},i,s||{},e||{}),a=this.config.sanitize_properties;return a&&(B.error("sanitize_properties is deprecated. Use before_send instead"),o=a(o,"$set_once")),t&&(this.Br=!0),wi(o)?void 0:o}register(e,t){var n;(n=this.persistence)==null||n.register(e,t)}register_once(e,t,n){var i;(i=this.persistence)==null||i.register_once(e,t,n)}register_for_session(e){var t;(t=this.sessionPersistence)==null||t.register(e)}unregister(e){var t;(t=this.persistence)==null||t.unregister(e)}unregister_for_session(e){var t;(t=this.sessionPersistence)==null||t.unregister(e)}gs(e,t){this.register({[e]:t})}getFeatureFlag(e,t){return this.featureFlags.getFeatureFlag(e,t)}getFeatureFlagPayload(e){return this.featureFlags.getFeatureFlagPayload(e)}getFeatureFlagResult(e,t){return this.featureFlags.getFeatureFlagResult(e,t)}isFeatureEnabled(e,t){return this.featureFlags.isFeatureEnabled(e,t)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateFlags(e,t,n){var i=n!=null&&n.merge?this.featureFlags.getFlagVariants():{},s=n!=null&&n.merge?this.featureFlags.getFlagPayloads():{},o=j({},i,e),a=j({},s,t),l={};for(var[c,u]of Object.entries(o)){var p=typeof u=="string";l[c]={key:c,enabled:!!p||!!u,variant:p?u:void 0,reason:void 0,metadata:H(a?.[c])?void 0:{id:0,version:void 0,description:void 0,payload:a[c]}}}this.featureFlags.receivedFeatureFlags({flags:l})}updateEarlyAccessFeatureEnrollment(e,t,n){this.featureFlags.updateEarlyAccessFeatureEnrollment(e,t,n)}getEarlyAccessFeatures(e,t,n){return t===void 0&&(t=!1),this.featureFlags.getEarlyAccessFeatures(e,t,n)}on(e,t){return this.qr.on(e,t)}onFeatureFlags(e){return this.featureFlags.onFeatureFlags(e)}onSurveysLoaded(e){return this.surveys.onSurveysLoaded(e)}onSessionId(e){var t,n;return(t=(n=this.sessionManager)==null?void 0:n.onSessionId(e))!==null&&t!==void 0?t:()=>{}}getSurveys(e,t){t===void 0&&(t=!1),this.surveys.getSurveys(e,t)}getActiveMatchingSurveys(e,t){t===void 0&&(t=!1),this.surveys.getActiveMatchingSurveys(e,t)}renderSurvey(e,t){this.surveys.renderSurvey(e,t)}displaySurvey(e,t){t===void 0&&(t=V1),this.surveys.displaySurvey(e,t)}cancelPendingSurvey(e){this.surveys.cancelPendingSurvey(e)}canRenderSurvey(e){return this.surveys.canRenderSurvey(e)}canRenderSurveyAsync(e,t){return t===void 0&&(t=!1),this.surveys.canRenderSurveyAsync(e,t)}identify(e,t,n){if(!this.__loaded||!this.persistence)return B.uninitializedWarning("posthog.identify");if(yr(e)&&(e=e.toString(),B.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),e)if(["distinct_id","distinctid"].includes(e.toLowerCase()))B.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.');else if(e!==Ks){if(this.ps("posthog.identify")){var i=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property("$device_id")){var s=i;this.register_once({$had_persisted_distinct_id:!0,$device_id:s},"")}e!==i&&e!==this.get_property(so)&&(this.unregister(so),this.register({distinct_id:e}));var o=(this.persistence.get_property(hr)||"anonymous")==="anonymous";e!==i&&o?(this.persistence.set_property(hr,"identified"),this.setPersonPropertiesForFlags(j({},n||{},t||{}),!1),this.capture("$identify",{distinct_id:e,$anon_distinct_id:i},{$set:t||{},$set_once:n||{}}),this.Jr=$_(e,t,n),this.featureFlags.setAnonymousDistinctId(i)):(t||n)&&this.setPersonProperties(t,n),e!==i&&(this.reloadFeatureFlags(),this.unregister(Al))}}else B.critical('The string "'+Ks+'" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.');else B.error("Unique user id has not been set in posthog.identify")}setPersonProperties(e,t){if((e||t)&&this.ps("posthog.setPersonProperties")){var n=$_(this.get_distinct_id(),e,t);this.Jr!==n?(this.setPersonPropertiesForFlags(j({},t||{},e||{})),this.capture("$set",{$set:e||{},$set_once:t||{}}),this.Jr=n):B.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}}group(e,t,n){if(e&&t){var i=this.getGroups();i[e]!==t&&this.resetGroupPropertiesForFlags(e),this.register({$groups:j({},i,{[e]:t})}),n&&(this.capture("$groupidentify",{$group_type:e,$group_key:t,$group_set:n}),this.setGroupPropertiesForFlags({[e]:n})),i[e]===t||n||this.reloadFeatureFlags()}else B.error("posthog.group requires a group type and group key")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(e,t){t===void 0&&(t=!0),this.featureFlags.setPersonPropertiesForFlags(e,t)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0),this.ps("posthog.setGroupPropertiesForFlags")&&this.featureFlags.setGroupPropertiesForFlags(e,t)}resetGroupPropertiesForFlags(e){this.featureFlags.resetGroupPropertiesForFlags(e)}reset(e){var t,n,i,s;if(B.info("reset"),!this.__loaded)return B.uninitializedWarning("posthog.reset");var o=this.get_property("$device_id");if(this.consent.reset(),(t=this.persistence)==null||t.clear(),(n=this.sessionPersistence)==null||n.clear(),this.surveys.reset(),this.featureFlags.reset(),(i=this.persistence)==null||i.set_property(hr,"anonymous"),(s=this.sessionManager)==null||s.resetSessionId(),this.Jr=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:Ks,$device_id:null},"");else{var a=this.config.get_device_id(jr());this.register_once({distinct_id:a,$device_id:e?a:o},"")}this.register({$last_posthog_reset:new Date().toISOString()},1)}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var e,t;return(e=(t=this.sessionManager)==null?void 0:t.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&e!==void 0?e:""}get_session_replay_url(e){if(!this.sessionManager)return"";var{sessionId:t,sessionStartTimestamp:n}=this.sessionManager.checkAndGetSessionAndWindowId(!0),i=this.requestRouter.endpointFor("ui","/project/"+this.config.token+"/replay/"+t);if(e!=null&&e.withTimestamp&&n){var s,o=(s=e.timestampLookBack)!==null&&s!==void 0?s:10;if(!n)return i;i+="?t="+Math.max(Math.floor((new Date().getTime()-n)/1e3)-o,0)}return i}alias(e,t){return e===this.get_property(fb)?(B.critical("Attempting to create alias for existing People user - aborting."),-2):this.ps("posthog.alias")?(H(t)&&(t=this.get_distinct_id()),e!==t?(this.gs(so,e),this.capture("$create_alias",{alias:e,distinct_id:t})):(B.warn("alias matches current distinct_id - skipping api call."),this.identify(e),-1)):void 0}set_config(e){var t=j({},this.config);if(Le(e)){var n,i,s,o,a,l,c;Pe(this.config,V_(e));var u=this.Qr();(n=this.persistence)==null||n.update_config(this.config,t,u),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new fo(j({},this.config,{persistence:"sessionStorage"}),u);var p=this.Kr(this.config.debug);vr(p)&&(this.config.debug=p),vr(this.config.debug)&&(this.config.debug?(pr.DEBUG=!0,Re.H()&&Re.G("ph_debug","true"),B.info("set_config",{config:e,oldConfig:t,newConfig:j({},this.config)})):(pr.DEBUG=!1,Re.H()&&Re.V("ph_debug"))),(i=this.exceptionObserver)==null||i.onConfigChange(),(s=this.sessionRecording)==null||s.startIfEnabledOrStop(),(o=this.autocapture)==null||o.startIfEnabled(),(a=this.heatmaps)==null||a.startIfEnabled(),(l=this.exceptionObserver)==null||l.startIfEnabledOrStop(),this.surveys.loadIfEnabled(),this._s(),(c=this.externalIntegrations)==null||c.startIfEnabledOrStop()}}startSessionRecording(e){var t=e===!0,n={sampling:t||!(e==null||!e.sampling),linked_flag:t||!(e==null||!e.linked_flag),url_trigger:t||!(e==null||!e.url_trigger),event_trigger:t||!(e==null||!e.event_trigger)};if(Object.values(n).some(Boolean)){var i,s,o,a,l;(i=this.sessionManager)==null||i.checkAndGetSessionAndWindowId(),n.sampling&&((s=this.sessionRecording)==null||s.overrideSampling()),n.linked_flag&&((o=this.sessionRecording)==null||o.overrideLinkedFlag()),n.url_trigger&&((a=this.sessionRecording)==null||a.overrideTrigger("url")),n.event_trigger&&((l=this.sessionRecording)==null||l.overrideTrigger("event"))}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var e;return!((e=this.sessionRecording)==null||!e.started)}captureException(e,t){var n=new Error("PostHog syntheticException"),i=this.exceptions.buildProperties(e,{handled:!0,syntheticException:n});return this.exceptions.sendExceptionEvent(j({},i,t))}startExceptionAutocapture(e){this.set_config({capture_exceptions:e==null||e})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(e){return this.toolbar.loadToolbar(e)}get_property(e){var t;return(t=this.persistence)==null?void 0:t.props[e]}getSessionProperty(e){var t;return(t=this.sessionPersistence)==null?void 0:t.props[e]}toString(){var e,t=(e=this.config.name)!==null&&e!==void 0?e:bi;return t!==bi&&(t=bi+"."+t),t}_isIdentified(){var e,t;return((e=this.persistence)==null?void 0:e.get_property(hr))==="identified"||((t=this.sessionPersistence)==null?void 0:t.get_property(hr))==="identified"}fs(){var e,t;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&wi(this.getGroups())&&((e=this.persistence)==null||(e=e.props)==null||!e[so])&&((t=this.persistence)==null||(t=t.props)==null||!t[Tl]))}ds(){return this.config.capture_pageleave===!0||this.config.capture_pageleave==="if_capture_pageview"&&(this.config.capture_pageview===!0||this.config.capture_pageview==="history_change")}createPersonProfile(){this.fs()||this.ps("posthog.createPersonProfile")&&this.setPersonProperties({},{})}setInternalOrTestUser(){this.ps("posthog.setInternalOrTestUser")&&this.setPersonProperties({$internal_or_test_user:!0})}ps(e){return this.config.person_profiles==="never"?(B.error(e+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.gs(Tl,!0),!0)}Qr(){if(this.config.cookieless_mode==="always")return!0;var e=this.consent.isOptedOut(),t=this.config.opt_out_persistence_by_default||this.config.cookieless_mode==="on_reject";return this.config.disable_persistence||e&&!!t}_s(){var e,t,n,i,s=this.Qr();return((e=this.persistence)==null?void 0:e.ki)!==s&&((n=this.persistence)==null||n.set_disabled(s)),((t=this.sessionPersistence)==null?void 0:t.ki)!==s&&((i=this.sessionPersistence)==null||i.set_disabled(s)),s}opt_in_capturing(e){var t;if(this.config.cookieless_mode!=="always"){var n,i,s;this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut()&&(this.reset(!0),(n=this.sessionManager)==null||n.destroy(),(i=this.pageViewManager)==null||i.destroy(),this.sessionManager=new jl(this),this.pageViewManager=new Ll(this),this.persistence&&(this.sessionPropsManager=new Vl(this,this.sessionManager,this.persistence)),this.sessionRecording=new Ul(this),this.sessionRecording.startIfEnabledOrStop()),this.consent.optInOut(!0),this._s(),this.us(),(t=this.sessionRecording)==null||t.startIfEnabledOrStop(),this.config.cookieless_mode=="on_reject"&&this.surveys.loadIfEnabled(),(H(e?.captureEventName)||e!=null&&e.captureEventName)&&this.capture((s=e?.captureEventName)!==null&&s!==void 0?s:"$opt_in",e?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.hs()}else B.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}opt_out_capturing(){var e,t,n;this.config.cookieless_mode!=="always"?(this.config.cookieless_mode==="on_reject"&&this.consent.isOptedIn()&&this.reset(!0),this.consent.optInOut(!1),this._s(),this.config.cookieless_mode==="on_reject"&&(this.register({distinct_id:Ks,$device_id:null}),(e=this.sessionManager)==null||e.destroy(),(t=this.pageViewManager)==null||t.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,(n=this.sessionRecording)==null||n.stopRecording(),this.sessionRecording=void 0,this.hs())):B.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){var e=this.consent.consent;return e===fr.GRANTED?"granted":e===fr.DENIED?"denied":"pending"}is_capturing(){return this.config.cookieless_mode==="always"||(this.config.cookieless_mode==="on_reject"?this.consent.isExplicitlyOptedOut()||this.consent.isOptedIn():!this.has_opted_out_capturing())}clear_opt_in_out_capturing(){this.consent.reset(),this._s()}_is_bot(){return ht?Zb(ht,this.config.custom_blocked_useragents):void 0}hs(){D&&(D.visibilityState==="visible"?this.Wr||(this.Wr=!0,this.capture("$pageview",{title:D.title},{send_instantly:!0}),this.Gr&&(D.removeEventListener("visibilitychange",this.Gr),this.Gr=null)):this.Gr||(this.Gr=this.hs.bind(this),Ne(D,"visibilitychange",this.Gr)))}debug(e){e===!1?(E?.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(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)`."),this.set_config({debug:!0}))}M(){var e,t,n,i,s,o,a,l=this.Yr||{};return"advanced_disable_flags"in l?!!l.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?(B.warn("Config field 'advanced_disable_decide' is deprecated. Please use 'advanced_disable_flags' instead. The old field will be removed in a future major version."),!0):(n="advanced_disable_decide",i=!1,s=B,o=(t="advanced_disable_flags")in(e=l)&&!pe(e[t]),a=n in e&&!pe(e[n]),o?e[t]:a?(s&&s.warn("Config field '"+n+"' is deprecated. Please use '"+t+"' instead. The old field will be removed in a future major version."),e[n]):i)}cs(e){if(pe(this.config.before_send))return e;var t=ve(this.config.before_send)?this.config.before_send:[this.config.before_send],n=e;for(var i of t){if(n=i(n),pe(n)){var s="Event '"+e.event+"' was rejected in beforeSend function";return wC(e.event)?B.warn(s+". This can cause unexpected behavior."):B.info(s),null}n.properties&&!wi(n.properties)||B.warn("Event '"+e.event+"' has no properties after beforeSend function, this is likely an error.")}return n}getPageViewId(){var e;return(e=this.pageViewManager.Kt)==null?void 0:e.pageViewId}captureTraceFeedback(e,t){this.capture("$ai_feedback",{$ai_trace_id:String(e),$ai_feedback_text:t})}captureTraceMetric(e,t,n){this.capture("$ai_metric",{$ai_trace_id:String(e),$ai_metric_name:t,$ai_metric_value:String(n)})}Kr(e){var t=vr(e)&&!e,n=Re.H()&&Re.q("ph_debug")==="true";return!t&&(!!n||e)}};(function(r,e){for(var t=0;t<e.length;t++)r.prototype[e[t]]=GC(r.prototype[e[t]])})(Wl,["identify"]);var j_;var Kb=(j_=go[bi]=new Wl,(function(){function r(){r.done||(r.done=!0,Gb=!1,ke(go,(function(e){e._dom_loaded()})))}D!=null&&D.addEventListener?D.readyState==="complete"?r():Ne(D,"DOMContentLoaded",r,{capture:!1}):E&&B.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")})(),j_);var Dh=class{constructor(e={}){this.options=e;if(this.client=e.client,this.featureFlagsCallback=e.onFeatureFlagsLoaded,this.captureCallback=e.onCapture,this.rrwebCallback=e.onRRWebEvent,!this.client&&e.consent&&e.requireExplicitConsent&&typeof window<"u"&&e.apiKey){let t=e.consent;t.getStatus()==="granted"&&this.initPostHog(),t.subscribe(i=>{i==="granted"?this.client?this.client.opt_in_capturing():this.initPostHog():i==="denied"&&this.client&&this.client.opt_out_capturing()});return}!this.client&&typeof window<"u"&&e.apiKey&&this.initPostHog()}initPostHog(){let e=this.options;if(!e.apiKey)return;let t=e.enableFeatureFlags??!0,n=`syntro_${e.apiKey.slice(-6)||"sdk"}`,o={api_host:`${(e.apiHost??"https://telemetry.syntrologie.com").replace(/\/$/,"")}/t/${e.apiKey}`,advanced_disable_feature_flags:!t,advanced_disable_feature_flags_on_first_load:!t,autocapture:e.autocapture??!0,capture_pageview:e.capturePageview??"history_change",capture_pageleave:e.capturePageleave??!0,disable_session_recording:!(e.sessionRecording??!0),opt_out_useragent_filter:!0,session_recording:{recordCrossDomainIFrames:!0},capture_performance:!0,enable_recording_console_log:!0},a=Kb.init(e.apiKey,o,n);if(a&&(this.client=a),this.captureCallback&&this.client&&this.client.on("eventCaptured",(...l)=>{let c=l[0],u=typeof c=="string"?c:c?.event,p=typeof c=="string"?void 0:c?.properties;typeof u=="string"&&this.captureCallback?.(u,p)}),t&&this.featureFlagsCallback&&this.client){this.client.onFeatureFlags(()=>{let c=this.getAllFeatureFlags();c&&this.featureFlagsCallback&&this.featureFlagsCallback(c)});let l=this.getAllFeatureFlags();l&&Object.keys(l).length>0&&this.featureFlagsCallback(l)}this.rrwebCallback&&this.client&&this.setupRRWebIntercept()}setupRRWebIntercept(e=30){let t=this.client?.sessionRecording;if(!t){e>0&&setTimeout(()=>this.setupRRWebIntercept(e-1),500);return}let n=null,i=t;for(let o of Object.getOwnPropertyNames(i)){let a=i[o];if(a&&typeof a=="object"&&typeof a.onRRwebEmit=="function"&&typeof a.start=="function"&&a!==t){n=a;break}}if(!n){e>0&&setTimeout(()=>this.setupRRWebIntercept(e-1),500);return}let s=n.onRRwebEmit.bind(n);n.onRRwebEmit=o=>{this.rrwebCallback?.({kind:"rrweb",...o}),s(o)},typeof window<"u"&&(window.__RRWEB_INTERCEPT_READY__=!0)}getAllFeatureFlags(){return this.client?.featureFlags?.getFlagVariants()}getSegmentFlags(){let e=this.getAllFeatureFlags();if(!e)return{};let t={};for(let[n,i]of Object.entries(e))n.startsWith("in_segment_")&&(t[n]=i===!0);return t}identify(e,t){this.client?.identify(e,t)}alias(e,t){this.client?.alias(e,t)}track(e,t){this.client?.capture(e,t)}trackCanvasOpened(e){this.track("shadow_canvas_opened",{surface:e})}trackCanvasClosed(e){this.track("shadow_canvas_closed",{surface:e})}trackRectangleViewed(e,t){this.track("shadow_canvas_rectangle_viewed",{rectangleId:e,surface:t})}trackAction(e,t,n){this.track("shadow_canvas_action",{action:e,rectangleId:t,surface:n})}register(e){this.client?.register?.(e)}getSessionId(){return this.client?.get_session_id?.()}startSessionRecording(){this.client?.startSessionRecording?.()}trackExperiment(e,t,n){let i=`$experiment_${e}`;this.register({[i]:n??`variation_${t}`,[`${i}_id`]:t}),this.track("$experiment_started",{$experiment_key:e,$experiment_variation_id:t,$experiment_variation_name:n??`variation_${t}`})}setPersonProperties(e){this.client?.capture("$set",{$set:e})}setPersonPropertiesOnce(e){this.client?.capture("$set",{$set_once:e})}getDistinctId(){return this.client?.get_distinct_id?.()}};function Hh(r={}){return new Dh(r)}var Yb={posthog:r=>Hh(r),noop:()=>Xd()};function Xb(r,e){let t=Yb[r];if(!t)throw new Error(`Unknown telemetry provider: ${r}. Supported: ${Object.keys(Yb).join(", ")}`);return t(e)}async function Jb(r){mu(),q("Syntro Bootstrap","====== INIT ======"),q("Syntro Bootstrap","Options:",{hasToken:!!r.token,tokenPrefix:`${r.token?.slice(0,15)}...`,hasCanvasOptions:!!r.canvas});let e=Ba();if(console.log(`[DIAG] Mode detection: sdkMode=${e}`),console.log("[DIAG] editorSource:",Ps()),console.log("[DIAG] editorConf:",Ha()),q("Syntro Bootstrap","SDK mode:",e??"normal"),!e&&typeof window<"u"){let L=!!window.__SYNTRO_EDITOR_PARAMS__,re=!!window.__SYNTRO_AUDIT_LEGEND__,G=!!window.__SYNTRO_REVIEW_DATA__;if(L||re||G){let ce=[L&&"__SYNTRO_EDITOR_PARAMS__",re&&"__SYNTRO_AUDIT_LEGEND__",G&&"__SYNTRO_REVIEW_DATA__"].filter(Boolean);console.warn(`[Syntro Bootstrap] \u26A0 Mode detection returned null but mode-specific globals found: ${ce.join(", ")}. This suggests URL params were lost (redirect?) but the service worker injected mode data. Check if replaceState failed or if page JS changed the URL before init().`)}}console.log(`[DIAG] Token resolution: options.token=${r.token?r.token.slice(0,15)+"...":"null"}`);let t=r.token;if(!t&&e){let re=Ha()?.syntro_token;re?.startsWith("syn_")&&(t=re,q("Syntro Bootstrap",`\u2713 Using syntro_token from editor_conf (${e} mode)`))}let n;if(t)if(t.startsWith("syn_"))q("Syntro Bootstrap","Token starts with syn_, decoding..."),n=Os(t),mu(n.d);else if(e)q("Syntro Bootstrap",`\u2713 Non-syn_ token allowed (${e} mode)`);else throw Aa("Syntro Bootstrap","\u274C Token does not start with syn_ and NOT in editor/audit/review mode!"),Aa("Syntro Bootstrap","Token received:",t),new Error("Invalid Syntro token: must start with 'syn_'");else if(e)q("Syntro Bootstrap",`\u2713 No token, but ${e} mode - proceeding`);else throw Aa("Syntro Bootstrap","\u274C No token provided and NOT in editor/audit/review mode!"),new Error("Syntro token is required (unless in editor, audit, or review mode)");let i=kt("NEXT_PUBLIC_SYNTRO_EXPERIMENT_HOST")||kt("VITE_SYNTRO_EXPERIMENT_HOST")||n?.eh,s=kt("NEXT_PUBLIC_SYNTRO_TELEMETRY_HOST")||kt("VITE_SYNTRO_TELEMETRY_HOST")||n?.th,o=kt("NEXT_PUBLIC_SYNTRO_EDITOR_URL")||kt("VITE_SYNTRO_EDITOR_URL")||r.canvas?.editorUrl,a=n?.g||kt("NEXT_PUBLIC_SYNTRO_GEO_HOST")||kt("VITE_SYNTRO_GEO_HOST")||Fv,l=Ov(),c=rd(),u=r.appSignalsInit??{},p={...c,...l,...u};q("Syntro Bootstrap","Phase 1: Browser metadata:",c),q("Syntro Bootstrap","Phase 1: Cached segment attributes:",l),Object.keys(u).length>0&&q("Syntro Bootstrap","Phase 1: App signals:",u);let h=nd(a),f=(()=>{try{if(typeof window>"u"||window.self===window.top)return Promise.resolve(null)}catch{}return new Promise(L=>{let re=setTimeout(()=>{window.removeEventListener("message",G),L(null)},500);function G(ce){let he=ce.data;he?.jsonrpc==="2.0"&&he?.id===1&&he?.result?.hostInfo&&(clearTimeout(re),window.removeEventListener("message",G),L(he.result.hostInfo))}window.addEventListener("message",G);try{window.parent.postMessage({jsonrpc:"2.0",id:1,method:"ui/initialize",params:{capabilities:{}}},"*")}catch{clearTimeout(re),window.removeEventListener("message",G),L(null)}})})(),v,g=r.debug||r.testMode,m=Ns({debug:r.debug,history:g?new Ls(r.testMode?0:100):void 0,testMode:r.testMode});console.log("[Syntro Bootstrap] EventBus created");let y=du({elementResolver:typeof window<"u"?(L,re)=>{let G=document.elementFromPoint(L,re);if(!G)return null;let ce={tag_name:G.tagName.toLowerCase()};G.id&&(ce.attr__id=G.id),G.className&&typeof G.className=="string"&&(ce.classes=G.className.split(" ").filter(Boolean));for(let he of G.attributes)he.name.startsWith("data-")&&(ce[`attr__${he.name}`]=he.value);return ce}:void 0});y.onEvent(L=>m.publishEvent(L)),typeof window<"u"&&(setInterval(()=>y.tick(Date.now()),1e3),document.addEventListener("click",L=>{let re=[],G=L.target;for(;G&&G!==document.body;){let ce={tag_name:G.tagName.toLowerCase()};for(let he of G.attributes)(he.name.startsWith("data-")||he.name==="id"||he.name==="class"||he.name==="aria-label")&&(ce[`attr__${he.name}`]=he.value);re.push(ce),G=G.parentElement}y.enrichClickAttributes(Date.now(),re)},!0));let x=My(),S,_=L=>{q("Syntro Bootstrap","Phase 2: PostHog feature flags loaded");let re=Lv(L);if(q("Syntro Bootstrap","Segment flags from PostHog:",re),Nv(re),v){let G=C?.getAll?.()??{},ce={...c,...G,...re,...u};q("Syntro Bootstrap","Updating GrowthBook with attributes:",ce),v.setAttributes?.(ce)}if(S&&w?.getDistinctId){let G=w.getDistinctId();G&&s&&n?.t&&S.updateContext({distinctId:G,telemetryHost:s,telemetryKey:n.t})}},w;if(n?.t){let L=n.t==="noop"?"noop":"posthog";w=Xb(L,{apiKey:n.t,apiHost:s,enableFeatureFlags:!0,sessionRecording:!0,onFeatureFlagsLoaded:_,onCapture:(G,ce)=>{y.ingest({kind:"posthog",event:G,properties:ce,timestamp:Date.now()})},onRRWebEvent:G=>{y.ingest(G)}}),console.log(`[Syntro Bootstrap] Telemetry client created (${L}) with EventBus wiring`),Object.keys(u).length>0&&(w.track?.("app_signals_init",u),q("Syntro Bootstrap","Tracked app signals event:",u));let re=w;if(m.setPosthogCapture((G,ce)=>{re.track?.(G,ce)}),x?.name==="shopify"&&s)try{S=new cl({distinctId:w.getDistinctId?.()??"",telemetryHost:s,telemetryKey:n.t}),q("Syntro Bootstrap","ShopifyPixelBridge initialized for checkout attribution")}catch(G){Qe("Syntro Bootstrap","ShopifyPixelBridge init failed",G)}}let C;n?.e&&(v=Cy("growthbook",{clientKey:n.e,apiHost:i,attributes:p,onExperimentViewed:w?.trackExperiment?(L,re,G)=>{w.trackExperiment(L,re,G)}:void 0})),C=Rd({experiments:v,onMetricChange:(L,re)=>{q("Syntro Bootstrap",`Session metric changed: ${L} = ${re}`)}}),q("Syntro Bootstrap","SessionMetricTracker created");let b="production";e==="editor"?b="editor":e==="audit"?b="audit":kt("NODE_ENV")==="development"&&(b="development");let A=typeof c.surface_type=="string"?c.surface_type:"web",$=typeof c.surface_host=="string"?c.surface_host:"web",T=Kd({telemetry:w,sessionMetrics:C,mode:b,events:m,initialSurfaceType:A,initialSurfaceHost:$});q("Syntro Bootstrap","Runtime created:",{version:T.version,mode:T.mode,hasContext:!!T.context,hasEvents:!!T.events,hasState:!!T.state}),q("Syntro Bootstrap","Core app executors already registered");let M=r.cdnBase||kt("NEXT_PUBLIC_SYNTRO_CDN_BASE")||kt("VITE_SYNTRO_CDN_BASE")||Dv()||"https://cdn.syntrologie.com",K=Rc({cdnBase:M,registry:T.apps,onLoadStart:L=>{q("Syntro Bootstrap",`Loading app from CDN: ${L}`)},onLoadEnd:(L,re,G)=>{re?q("Syntro Bootstrap",`App loaded successfully: ${L}`):Qe("Syntro Bootstrap",`Failed to load app: ${L}`,G)}});typeof window<"u"&&(window.SynOS={...window.SynOS,appRegistry:T.apps,appLoader:K,runtime:T,version:T.version},q("Syntro Bootstrap","Global SynOS object exposed")),typeof window<"u"&&window.parent!==window&&K.loadApp("adaptive-mcp").catch(L=>{q("Syntro Bootstrap","auto-load of adaptive-mcp failed (non-fatal):",L)});let N=T.apps.list?.()??[];console.log(`[DIAG] Activation loop: ${N.length} apps in registry:`,N.map(L=>`${L.manifest.id}(${L.state})`).join(", "));for(let L of N)if(L.state==="registered")try{await T.apps.activate(L.manifest.id),console.log(`[DIAG] Activated: ${L.manifest.id} \u2192 widgets: [${T.widgets.list().join(", ")}]`)}catch(re){console.error(`[DIAG] FAILED to activate: ${L.manifest.id}`,re),Qe("Syntro Bootstrap",`Failed to auto-activate built-in app: ${L.manifest.id}`,re)}if(console.log(`[DIAG] Activation complete. Total widgets: [${T.widgets.list().join(", ")}]`),v?.refreshFeatures)try{await v.refreshFeatures(),q("Syntro Bootstrap","GrowthBook features loaded")}catch(L){Qe("Syntro Bootstrap","Failed to load GrowthBook features:",L)}let P=await h;if(v&&Object.keys(P).length>0){let L={...c,...P,...u};q("Syntro Bootstrap","Merging geo data into GrowthBook attributes:",P),v.setAttributes?.(L)}let z=await f;z&&v&&(c.surface_type="mcp-app",c.surface_host=z.name,v.setAttributes?.({...c,...P}),T.context.setSurfaceType("mcp-app"),T.context.setSurfaceHost(z.name),q("Syntro Bootstrap","MCP App detected:",z.name));let Z;if(r.fetcher)Z=r.fetcher;else if(n?.f){let L=Iy(n.f,n.o??{});Z=async()=>{let re=await L.fetch();return{...re.config,tiles:re.config.tiles??[]}}}else v&&(Z=ni({experiments:v}));let oe=new Set,V=Z?async()=>{let L=await Z(),re=L.tiles?.length??0,G=L.actions?.length??0,ce=L.meta?.variant_id;if((re>0||G>0)&&(ce||console.warn("[Syntro] Config has content but no meta.variant_id \u2014 intervention tracking disabled")),w&&ce){let $e=typeof window<"u"?window.SynOS??(window.SynOS={}):void 0,rt=$e?.interventionTracker,Dt;rt&&rt.variantId===ce?Dt=rt:(Dt=new Gs(w,ce),$e&&($e.interventionTracker=Dt),T.navigation.subscribe(()=>{Dt.resetPage()})),Dt.trackServed(re,G)}console.log("[Syntro Bootstrap] Config fetched:",`tiles=${L.tiles?.length??0},`,`actions=${L.actions?.length??0},`,`theme=${L.theme?.name??"none"}`),L.actions?.length>0&&console.log("[Syntro Bootstrap] Actions in config:",L.actions.map(($e,rt)=>`[${rt}] ${$e.kind}${$e.anchorId?` anchor="${$e.anchorId.selector}"`:""}${$e.label?` "${$e.label}"`:""}`).join(", "));let he=L,ft=K.getRequiredApps(he);return ft.length>0?console.log("[Syntro Bootstrap] Required external apps:",ft.join(", ")):q("Syntro Bootstrap","No external apps required (all executors are built-in)"),ft.length>0&&await K.loadAppsForConfig(he).then(async rt=>{let Dt=rt.filter(Oe=>Oe.success),Gl=rt.filter(Oe=>!Oe.success);Dt.length>0&&console.log(`[Syntro Bootstrap] Apps loaded from CDN: ${Dt.map(Oe=>Oe.appId).join(", ")}`);let gt=Gl.filter(Oe=>!oe.has(Oe.appId));gt.length>0&&(console.error("[Syntro Bootstrap] Apps FAILED to load from CDN:",gt.map(Oe=>`${Oe.appId} (${Oe.error})`).join(", ")),gt.forEach(Oe=>oe.add(Oe.appId)));for(let Oe of ft)if(T.apps.has(Oe))try{await T.apps.activate(Oe),console.log(`[Syntro Bootstrap] App activated: ${Oe}`)}catch(Co){console.error(`[Syntro Bootstrap] Failed to activate app: ${Oe}`,Co)}else console.error(`[Syntro Bootstrap] App "${Oe}" required by config but NOT registered.`,`Available apps: [${Array.from(T.apps.list?.()??[]).join(", ")}]`)}),L}:void 0;if(x){q("Syntro Bootstrap",`Detected platform: ${x.name}`);try{await x.onInit(),q("Syntro Bootstrap",`Platform adapter initialized: ${x.name}`)}catch(L){Qe("Syntro Bootstrap",`Platform adapter init failed: ${x.name}`,L)}}let X=await Qu({...r.canvas,fetcher:V,integrations:{experiments:v,telemetry:w},editorUrl:o,runtime:T});if(X.setOverrideFetcher){let L=X.setOverrideFetcher.bind(X);X.setOverrideFetcher=re=>{L(async()=>{let ce=await re(),he=ce;if(K.getRequiredApps(he).length>0){let $e=await K.loadAppsForConfig(he);for(let rt of $e)if(rt.success&&T.apps.has(rt.appId))try{await T.apps.activate(rt.appId)}catch{}}return ce})}}return{canvas:X,runtime:T,experiments:v,telemetry:w,sessionMetrics:C,appLoader:K}}async function G1(r){try{return await Jb(r)}catch(e){let t=e instanceof Error?e.message:String(e);console.warn("[Syntrologie] SDK initialization failed:",t),typeof document<"u"&&document.getElementById("syntrologie-anti-flicker")?.remove();return}}function K1(r,e={}){if(typeof window>"u")return;let t=window.SynOS?.runtime;t?.events?.publish&&t.events.publish({name:r,source:"custom",props:e})}async function Y1(r){if(typeof window>"u")return{appId:r,success:!1,error:"no-window"};let e=window.SynOS?.appLoader;return e?e.loadApp(r):{appId:r,success:!1,error:"syntro-not-initialized"}}var Qb={init:G1,loadAdaptive:Y1,encodeToken:td,decodeToken:Os,events:{emit:K1}};typeof window<"u"&&(window.Syntro=Qb);function Eo(r){let e=r.split(".");return{major:parseInt(e[0]||"0",10),minor:parseInt(e[1]||"0",10)}}function ZN(r){let e=[],t=[];if(!r||typeof r!="object")return{valid:!1,errors:["Config must be an object"],warnings:e};let n=r;if(n.tiles||t.push("Config missing required field: tiles"),n.actions||t.push("Config missing required field: actions"),n.fetchedAt||t.push("Config missing required field: fetchedAt"),t.length>0)return{valid:!1,errors:t,warnings:e};let i=n.schemaVersion||"1.0",s=Eo(i),o=Eo(Tr);return s.major>o.major&&e.push(`Config schema v${i} is newer than SDK v${Tr}. Some features may not work. Update SDK to latest version.`),s.major<o.major||!n.schemaVersion?(e.push(`Config schema v${i} is older than SDK v${Tr}. Migrating config to current version.`),{valid:!0,warnings:e,errors:t,migratedConfig:X1(n,i)}):{valid:!0,warnings:e,errors:t}}function X1(r,e){let t={...r};return Eo(e).major===1&&(t=J1(t)),t.schemaVersion=Tr,t}function J1(r){let e={schemaVersion:"2.0",tiles:[],actions:r.actions||[],fetchedAt:r.fetchedAt||new Date().toISOString()};return r.tiles&&Array.isArray(r.tiles)&&(e.tiles=r.tiles.map(t=>{let n={...t};return t.experiment&&delete n.experiment,n})),r.configVersion&&(e.configVersion=r.configVersion),r.canvasTitle&&(e.canvasTitle=r.canvasTitle),r.theme&&(e.theme=r.theme),r.launcher&&(e.launcher=r.launcher),e}function GN(r){if(!r||typeof r!="object")return!1;let e=r,t=e.schemaVersion||"1.0",n=Eo(t),i=Eo(Tr);return n.major<i.major||!e.schemaVersion}var Q1=d.object({url:d.string(),routeId:d.string().optional(),title:d.string().optional(),locale:d.string().optional()}),eA=d.object({url:d.string(),ts:d.number()}),tA=d.object({sessionId:d.string(),startTs:d.number(),pageHistory:d.array(eA).optional()}),rA=d.object({width:d.number(),height:d.number()}),nA=d.object({x:d.number(),y:d.number(),w:d.number(),h:d.number()}),iA=d.object({anchorId:d.string(),present:d.boolean(),visible:d.boolean().optional(),boundingBox:nA.optional()}),sA=d.record(d.string(),d.union([d.number(),d.string(),d.boolean(),d.undefined()])),oA=d.object({page:Q1,session:tA,viewport:rA,anchors:d.array(iA).optional(),augmented:sA.optional()});function XN(r){return oA.safeParse(r)}var Bh=class{constructor(e,t,n,i){this._isFallback=!0;this._isLoading=!0;this._cancelled=!1;this._host=e,this._runtime=t,this._strategy=n,this._defaultValue=i,this._value=i,e.addController(this)}get value(){return this._value}get isFallback(){return this._isFallback}get isLoading(){return this._isLoading}hostConnected(){this._evaluate()}hostDisconnected(){this._cancelled=!0}setStrategy(e){this._strategy=e,this._evaluate()}_evaluate(){if(this._cancelled=!1,!this._runtime||!this._strategy){this._value=this._defaultValue,this._isFallback=!0,this._isLoading=!1,this._host.requestUpdate();return}this._isLoading=!0,this._host.requestUpdate();let e=this._strategy;this._runtime.evaluate(e).then(t=>{this._cancelled||(this._value=t.value,this._isFallback=t.isFallback,this._isLoading=!1,this._host.requestUpdate())})}};var Vh=class{constructor(e,t){this._unsubscribe=null;this.host=e,this._runtime=t,this._context=t.context.get(),e.addController(this)}hostConnected(){this._context=this._runtime.context.get(),this._unsubscribe=this._runtime.context.subscribe(e=>{this._context=e,this.host.requestUpdate()})}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=null}get runtime(){return this._runtime}get context(){return this._context}get page(){return this._context?.page??null}get session(){return this._context?.session??null}get viewport(){return this._context?.viewport??null}};var jh=class{constructor(e,t,n,i){this._host=e,this._runtime=t,this._filter=n,this._callback=i,e.addController(this)}hostConnected(){this._subscribe()}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=void 0}setFilter(e){this._filter=e,this._unsubscribe!==void 0&&(this._unsubscribe(),this._unsubscribe=void 0,this._subscribe())}setCallback(e){this._callback=e,this._unsubscribe!==void 0&&(this._unsubscribe(),this._unsubscribe=void 0,this._subscribe())}_subscribe(){this._runtime&&(this._unsubscribe=this._filter?this._runtime.events.subscribe(this._filter,this._callback):this._runtime.events.subscribe(this._callback))}};var e0=d.enum(["posthog","canvas","derived"]),aA=d.object({ts:d.number(),name:d.string(),source:e0,props:d.record(d.string(),d.unknown()).optional(),schemaVersion:d.string()}),lA=d.object({names:d.array(d.string()).optional(),patterns:d.array(d.string()).optional(),sources:d.array(e0).optional()});function xL(r){return aA.safeParse(r)}function wL(r){return lA.safeParse(r)}var t0=d.union([d.object({type:d.literal("data"),key:d.string(),value:d.string().optional()}),d.object({type:d.literal("css"),value:d.string()}),d.object({type:d.literal("aria"),role:d.string().optional(),label:d.string().optional()}),d.object({type:d.literal("shadow-css"),value:d.string()}),d.object({type:d.literal("ref"),el:d.any()})]),cA=d.object({kind:d.literal("tooltip"),id:d.string(),anchor:t0,content:d.object({title:d.string().optional(),body:d.string()}),placement:d.enum(["top","bottom","left","right","auto"]).optional(),offsetPx:d.number().optional(),blocking:d.boolean().optional(),trigger:d.enum(["immediate","hover","click"]).optional(),dismiss:d.object({onEsc:d.boolean().optional(),closeButton:d.boolean().optional(),timeoutMs:d.number().optional()}).optional()}),uA=d.object({kind:d.literal("highlight"),id:d.string(),anchor:t0,copy:d.string().optional(),ring:d.object({paddingPx:d.number().optional(),radiusPx:d.number().optional()}).optional(),scrim:d.object({opacity:d.number().optional()}).optional(),ringColor:d.string().optional(),blocking:d.boolean().optional(),dismiss:d.object({onClickOutside:d.boolean().optional(),onEsc:d.boolean().optional(),timeoutMs:d.number().optional()}).optional()}),Uh=d.object({id:d.string(),version:d.number(),routes:d.array(d.string()).optional(),steps:d.array(d.union([cA,uA]))});function FL(r){return Uh.parse(r)}var VL=({configUri:r,experiments:e,featureKey:t="smart-canvas-overlay-uri",credentials:n="include"}={})=>async()=>{let i=yu({configUri:r,experiments:e,featureKey:t});if(!i)throw new Error("SmartCanvas overlays: recipe URI missing (env + feature unset).");let s=await fetch(i,{credentials:n});if(!s.ok)throw new Error(`SmartCanvas overlays: failed to fetch recipe (${s.status})`);let o=await s.json();return Uh.parse(o)};var dA=d.object({value:d.unknown(),expiresAt:d.number().optional()}),pA=d.object({count:d.number(),resetAt:d.number().optional()});function WL(r){return dA.safeParse(r)}function zL(r){return pA.safeParse(r)}var r0="2026-04-30T04:10:50.873Z (86b22d2d675)";if(typeof window<"u"){console.log(`[Syntro Runtime] Build: ${r0} (Lit)`);let r=window.SynOS,e=r?.appRegistry||Qi;window.SynOS={...r,appRegistry:e,_runtimeBuild:r0,_renderer:"lit"},Ia(),vm(e)}export{Zs as ANIMATION_KEYFRAMES,Fa as ActivationConfigZ,lv as AddClassZ,St as AnchorIdZ,iA as AnchorStateZ,Zc as AnchorVisibleConditionZ,Ji as AppRegistry,sA as AugmentationZ,Xm as BadgePositionZ,fv as BadgeZ,nA as BoundingBoxZ,Ss as CanvasEvents,Uh as CanvasRecipeZ,Rr as ConditionZ,ul as ContextManager,Qc as CooldownActiveConditionZ,cs as CounterDefZ,Ku as CtaButtonZ,hu as DEFAULT_COOLDOWN,Bh as DecisionController,gs as DecisionStrategyZ,Jc as DismissedConditionZ,Me as EVENT_SCHEMA_VERSION,ja as EventBus,tu as EventCountConditionZ,lA as EventFilterZ,Ls as EventHistory,Gc as EventOccurredConditionZ,e0 as EventSourceZ,Pa as ExecutorRegistry,fs as ExternalStrategyZ,pA as FrequencyEntryZ,eu as FrequencyLimitConditionZ,uA as HighlightStepZ,Ym as HighlightStyleZ,pv as HighlightZ,dv as InsertHtmlZ,tv as InsertPositionZ,Gs as InterventionTracker,pu as MAX_VISIBLE_TOASTS,ls as MatchOpZ,ev as ModalContentZ,mv as ModalZ,hs as ModelStrategyZ,_v as MountWidgetZ,yv as NavigateZ,Us as NavigationMonitor,aA as NormalizedEventZ,ws as NotificationsController,Q1 as PageContextZ,eA as PageHistoryEntryZ,zc as PageUrlConditionZ,wv as ParallelZ,Jm as PlacementZ,hv as PulseZ,r0 as RUNTIME_SDK_BUILD,Zy as RUNTIME_VERSION,cv as RemoveClassZ,qc as RouteConditionZ,Km as RouteFilterZ,ds as RuleStrategyZ,us as RuleZ,oA as RuntimeContextZ,Vh as RuntimeController,jh as RuntimeEventsController,Tr as SDK_SCHEMA_VERSION,vu as SDK_VERSION,Uy as STATIC_SLOT_STYLES,ps as ScoreStrategyZ,sv as ScrollBehaviorZ,Gu as ScrollLogicalPositionZ,vv as ScrollToZ,t0 as SelectorZ,xv as SequenceZ,tA as SessionContextZ,Xc as SessionMetricConditionZ,ol as SessionMetricTracker,av as SetAttrZ,uv as SetStyleZ,ov as SetTextZ,_u as SmartCanvasController,si as SmartCanvasElementLit,ze as StandardEvents,Kc as StateEqualsConditionZ,hl as StateStore,dA as StoredValueZ,Qb as Syntro,ks as ThemeController,Qm as TooltipContentZ,cA as TooltipStepZ,rv as TooltipTriggerZ,gv as TooltipZ,iv as TourStepForSchemaZ,Sv as TourZ,da as TriggerWhenZ,Yc as ViewportConditionZ,rA as ViewportContextZ,bv as WaitZ,nv as WidgetConfigZ,gl as WidgetRegistry,Hd as applyStaticSlotStyles,Zk as coreActionStepSchemas,qu as createActionEngine,Yu as createAnchorResolver,ni as createCanvasConfigFetcher,Md as createContextManager,Pd as createDecisionEngine,Od as createEventAccumulator,Ns as createEventBus,Ed as createGrowthBookClient,Xd as createNoopClient,VL as createOverlayRecipeFetcher,Hh as createPostHogClient,Sm as createPostHogNormalizer,Rd as createSessionMetricTracker,Qu as createSmartCanvas,Tm as createSmartCanvasController,Kd as createSmartCanvasRuntime,Dd as createStateStore,Wd as createSurfaceContainer,qd as createSurfaces,GM as decisionSchemas,Os as decodeToken,td as encodeToken,Dy as evaluate,Ny as evaluateCondition,Ly as evaluateRule,dl as evaluateRuleStrategy,pl as evaluateScoreStrategy,Hy as evaluateSync,ar as executorRegistry,Gk as getAntiFlickerSnippet,Nk as getExecutor,fl as getSlotAnchorId,qs as getSlotType,zd as getSlotZIndex,Iu as hasExecutor,GN as needsMigration,bs as normalizePostHogEvent,Eo as parseVersion,jd as playEnterAnimation,Ud as playExitAnimation,ii as registerConfigPredicates,Ia as registerSmartCanvasElement,yu as resolveConfigUri,Ik as runtimeContext,Bd as setupAdjacentPositioning,Vd as setupInlinePositioning,xs as shouldNormalizeEvent,Wt as validateAction,La as validateActions,ZM as validateActivationConfig,zM as validateCondition,ZN as validateConfig,wL as validateEventFilter,sd as validateEventName,zL as validateFrequencyEntry,xL as validateNormalizedEvent,od as validateProps,FL as validateRecipe,XN as validateRuntimeContext,WL as validateStoredValue,qM as validateStrategy,Zd as widgetRegistry};
1058
+ `)).length,i=0;i<n;i++){var o=r.charCodeAt(i),a=null;o<128?t++:a=o>127&&o<2048?String.fromCharCode(o>>6|192,63&o|128):String.fromCharCode(o>>12|224,o>>6&63|128,63&o|128),Ft(a)||(t>e&&(s+=r.substring(e,t)),s+=a,e=t=i+1)}return t>e&&(s+=r.substring(e,r.length)),s},N1=!!mp||!!gp,I_="text/plain",Hl=function(r,e,t){var n;t===void 0&&(t=!0);var[i,s]=r.split("?"),o=j({},e),a=(n=s?.split("&").map((c=>{var u,[p,h]=c.split("="),f=t&&(u=o[p])!==null&&u!==void 0?u:h;return delete o[p],p+"="+f})))!==null&&n!==void 0?n:[],l=l1(o);return l&&a.push(l),i+"?"+a.join("&")},co=(r,e)=>JSON.stringify(r,((t,n)=>typeof n=="bigint"?n.toString():n),e),lp=r=>{var{data:e,compression:t}=r;if(e){if(t===gr.GZipJS){var n=P1((function(l,c){var u=l.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(l);for(var p=new Ct(l.length+(l.length>>>1)),h=0,f=function(y){p[h++]=y},v=0;v<u;++v){if(h+5>p.length){var g=new Ct(h+8+(u-v<<1));g.set(p),p=g}var m=l.charCodeAt(v);m<128||c?f(m):m<2048?(f(192|m>>>6),f(128|63&m)):m>55295&&m<57344?(f(240|(m=65536+(1047552&m)|1023&l.charCodeAt(++v))>>>18),f(128|m>>>12&63),f(128|m>>>6&63),f(128|63&m)):(f(224|m>>>12),f(128|m>>>6&63),f(128|63&m))}return Ub(p,0,h)})(co(e)),{mtime:0}),i=new Blob([n],{type:I_});return{contentType:I_,body:i,estimatedSize:i.size}}if(t===gr.Base64){var s=(function(l){var c,u,p,h,f,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",g=0,m=0,y="",x=[];if(!l)return l;l=O1(l);do c=(f=l.charCodeAt(g++)<<16|l.charCodeAt(g++)<<8|l.charCodeAt(g++))>>18&63,u=f>>12&63,p=f>>6&63,h=63&f,x[m++]=v.charAt(c)+v.charAt(u)+v.charAt(p)+v.charAt(h);while(g<l.length);switch(y=x.join(""),l.length%3){case 1:y=y.slice(0,-2)+"==";break;case 2:y=y.slice(0,-1)+"="}return y})(co(e)),o=(l=>"data="+encodeURIComponent(typeof l=="string"?l:co(l)))(s);return{contentType:"application/x-www-form-urlencoded",body:o,estimatedSize:new Blob([o]).size}}var a=co(e);return{contentType:"application/json",body:a,estimatedSize:new Blob([a]).size}}},wl=[];gp&&wl.push({transport:"fetch",method:r=>{var e,t,{contentType:n,body:i,estimatedSize:s}=(e=lp(r))!==null&&e!==void 0?e:{},o=new Headers;ke(r.headers,(function(u,p){o.append(p,u)})),n&&o.append("Content-Type",n);var a=r.url,l=null;if(Yy){var c=new Yy;l={signal:c.signal,timeout:setTimeout((()=>c.abort()),r.timeout)}}gp(a,j({method:r?.method||"GET",headers:o,keepalive:r.method==="POST"&&(s||0)<52428.8,body:i,signal:(t=l)==null?void 0:t.signal},r.fetchOptions)).then((u=>u.text().then((p=>{var h={statusCode:u.status,text:p};if(u.status===200)try{h.json=JSON.parse(p)}catch(f){B.error(f)}r.callback==null||r.callback(h)})))).catch((u=>{B.error(u),r.callback==null||r.callback({statusCode:0,text:u})})).finally((()=>l?clearTimeout(l.timeout):null))}}),mp&&wl.push({transport:"XHR",method:r=>{var e,t=new mp;t.open(r.method||"GET",r.url,!0);var{contentType:n,body:i}=(e=lp(r))!==null&&e!==void 0?e:{};ke(r.headers,(function(s,o){t.setRequestHeader(o,s)})),n&&t.setRequestHeader("Content-Type",n),r.timeout&&(t.timeout=r.timeout),r.disableXHRCredentials||(t.withCredentials=!0),t.onreadystatechange=()=>{if(t.readyState===4){var s={statusCode:t.status,text:t.responseText};if(t.status===200)try{s.json=JSON.parse(t.responseText)}catch{}r.callback==null||r.callback(s)}},t.send(i)}}),ht!=null&&ht.sendBeacon&&wl.push({transport:"sendBeacon",method:r=>{var e=Hl(r.url,{beacon:"1"});try{var t,{contentType:n,body:i}=(t=lp(r))!==null&&t!==void 0?t:{},s=typeof i=="string"?new Blob([i],{type:n}):i;ht.sendBeacon(e,s)}catch{}}});var Bl=function(r,e){if(!(function(t){try{new RegExp(t)}catch{return!1}return!0})(e))return!1;try{return new RegExp(e).test(r)}catch{return!1}};function $_(r,e,t){return co({distinct_id:r,userPropertiesToSet:e,userPropertiesToSetOnce:t})}var Wb={exact:(r,e)=>e.some((t=>r.some((n=>t===n)))),is_not:(r,e)=>e.every((t=>r.every((n=>t!==n)))),regex:(r,e)=>e.some((t=>r.some((n=>Bl(t,n))))),not_regex:(r,e)=>e.every((t=>r.every((n=>!Bl(t,n))))),icontains:(r,e)=>e.map(bl).some((t=>r.map(bl).some((n=>t.includes(n))))),not_icontains:(r,e)=>e.map(bl).every((t=>r.map(bl).every((n=>!t.includes(n))))),gt:(r,e)=>e.some((t=>{var n=parseFloat(t);return!isNaN(n)&&r.some((i=>n>parseFloat(i)))})),lt:(r,e)=>e.some((t=>{var n=parseFloat(t);return!isNaN(n)&&r.some((i=>n<parseFloat(i)))}))},bl=r=>r.toLowerCase();function zb(r,e){return!r||Object.entries(r).every((t=>{var[n,i]=t,s=e?.[n];if(H(s)||Ft(s))return!1;var o=[String(s)],a=Wb[i.operator];return!!a&&a(i.values,o)}))}var cp=Ie("[Error tracking]"),sh=class{constructor(e){var t,n;this.Zt=[],this.ti=new kp([new Cp,new Pp,new Rp,new Ap,new $p,new Ip,new Tp,new Mp],WC()),this._instance=e,this.Zt=(t=(n=this._instance.persistence)==null?void 0:n.get_property(Np))!==null&&t!==void 0?t:[]}onRemoteConfig(e){var t,n,i,s=(t=(n=e.errorTracking)==null?void 0:n.suppressionRules)!==null&&t!==void 0?t:[],o=(i=e.errorTracking)==null?void 0:i.captureExtensionExceptions;this.Zt=s,this._instance.persistence&&this._instance.persistence.register({[Np]:this.Zt,[c_]:o})}get ii(){var e,t=!!this._instance.get_property(c_),n=this._instance.config.error_tracking.captureExtensionExceptions;return(e=n??t)!==null&&e!==void 0&&e}buildProperties(e,t){return this.ti.buildFromUnknown(e,{syntheticException:t?.syntheticException,mechanism:{handled:t?.handled}})}sendExceptionEvent(e){var t=e.$exception_list;if(this.ei(t)){if(this.ri(t))return void cp.info("Skipping exception capture because a suppression rule matched");if(!this.ii&&this.si(t))return void cp.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.ni(t))return void cp.info("Skipping exception capture because it was thrown by the PostHog SDK")}return this._instance.capture("$exception",e,{_noTruncate:!0,_batchKey:"exceptionEvent"})}ri(e){if(e.length===0)return!1;var t=e.reduce(((n,i)=>{var{type:s,value:o}=i;return Fe(s)&&s.length>0&&n.$exception_types.push(s),Fe(o)&&o.length>0&&n.$exception_values.push(o),n}),{$exception_types:[],$exception_values:[]});return this.Zt.some((n=>{var i=n.values.map((s=>{var o,a=Wb[s.operator],l=ve(s.value)?s.value:[s.value],c=(o=t[s.key])!==null&&o!==void 0?o:[];return l.length>0&&a(l,c)}));return n.type==="OR"?i.some(Boolean):i.every(Boolean)}))}si(e){return e.flatMap((t=>{var n,i;return(n=(i=t.stacktrace)==null?void 0:i.frames)!==null&&n!==void 0?n:[]})).some((t=>t.filename&&t.filename.startsWith("chrome-extension://")))}ni(e){if(e.length>0){var t,n,i,s,o=(t=(n=e[0].stacktrace)==null?void 0:n.frames)!==null&&t!==void 0?t:[],a=o[o.length-1];return(i=a==null||(s=a.filename)==null?void 0:s.includes("posthog.com/static"))!==null&&i!==void 0&&i}return!1}ei(e){return!pe(e)&&ve(e)}},pt=Ie("[FeatureFlags]"),eo=Ie("[FeatureFlags]",{debugEnabled:!0}),up="$active_feature_flags",vi="$override_feature_flags",M_="$feature_flag_payloads",to="$override_feature_flag_payloads",P_="$feature_flag_request_id",O_="$feature_flag_evaluated_at",N_=r=>{var e={};for(var[t,n]of xl(r||{}))n&&(e[t]=n);return e},L1=r=>{var e=r.flags;return e?(r.featureFlags=Object.fromEntries(Object.keys(e).map((t=>{var n;return[t,(n=e[t].variant)!==null&&n!==void 0?n:e[t].enabled]}))),r.featureFlagPayloads=Object.fromEntries(Object.keys(e).filter((t=>e[t].enabled)).filter((t=>{var n;return(n=e[t].metadata)==null?void 0:n.payload})).map((t=>{var n;return[t,(n=e[t].metadata)==null?void 0:n.payload]})))):pt.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),r},F1=(function(r){return r.FeatureFlags="feature_flags",r.Recordings="recordings",r})({}),oh=class{constructor(e){this.oi=!1,this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.ci=!1,this._instance=e,this.featureFlagEventHandlers=[]}fi(){var e,t=(e=this._instance.config.evaluation_contexts)!==null&&e!==void 0?e:this._instance.config.evaluation_environments;return!this._instance.config.evaluation_environments||this._instance.config.evaluation_contexts||this.ci||(pt.warn("evaluation_environments is deprecated. Use evaluation_contexts instead. evaluation_environments will be removed in a future version."),this.ci=!0),t!=null&&t.length?t.filter((n=>{var i=n&&typeof n=="string"&&n.trim().length>0;return i||pt.error("Invalid evaluation context found:",n,"Expected non-empty string"),i})):[]}pi(){return this.fi().length>0}flags(){if(this._instance.config.__preview_remote_config)this.di=!0;else{var e=!this.gi&&(this._instance.config.advanced_disable_feature_flags||this._instance.config.advanced_disable_feature_flags_on_first_load);this.mi({disableFlags:e})}}get hasLoadedFlags(){return this.ai}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){var e=this._instance.get_property(Lp),t=this._instance.get_property(vi),n=this._instance.get_property(to);if(!n&&!t)return e||{};var i=Pe({},e||{}),s=[...new Set([...Object.keys(n||{}),...Object.keys(t||{})])];for(var o of s){var a,l,c=i[o],u=t?.[o],p=H(u)?(a=c?.enabled)!==null&&a!==void 0&&a:!!u,h=H(u)?c.variant:typeof u=="string"?u:void 0,f=n?.[o],v=j({},c,{enabled:p,variant:p?h??c?.variant:void 0});p!==c?.enabled&&(v.original_enabled=c?.enabled),h!==c?.variant&&(v.original_variant=c?.variant),f&&(v.metadata=j({},c?.metadata,{payload:f,original_payload:c==null||(l=c.metadata)==null?void 0:l.payload})),i[o]=v}return this.oi||(pt.warn(" Overriding feature flag details!",{flagDetails:e,overriddenPayloads:n,finalDetails:i}),this.oi=!0),i}getFlagVariants(){var e=this._instance.get_property(Si),t=this._instance.get_property(vi);if(!t)return e||{};for(var n=Pe({},e),i=Object.keys(t),s=0;s<i.length;s++)n[i[s]]=t[i[s]];return this.oi||(pt.warn(" Overriding feature flags!",{enabledFlags:e,overriddenFlags:t,finalFlags:n}),this.oi=!0),n}getFlagPayloads(){var e=this._instance.get_property(M_),t=this._instance.get_property(to);if(!t)return e||{};for(var n=Pe({},e||{}),i=Object.keys(t),s=0;s<i.length;s++)n[i[s]]=t[i[s]];return this.oi||(pt.warn(" Overriding feature flag payloads!",{flagPayloads:e,overriddenPayloads:t,finalPayloads:n}),this.oi=!0),n}reloadFeatureFlags(){this.ui||this._instance.config.advanced_disable_feature_flags||this.gi||(this.gi=setTimeout((()=>{this.mi()}),5))}bi(){clearTimeout(this.gi),this.gi=void 0}ensureFlagsLoaded(){this.ai||this.li||this.gi||this.reloadFeatureFlags()}setAnonymousDistinctId(e){this.$anon_distinct_id=e}setReloadingPaused(e){this.ui=e}mi(e){var t;if(this.bi(),!this._instance.M())if(this.li)this.hi=!0;else{var n=this._instance.config.token,i=this._instance.get_property("$device_id"),s={token:n,distinct_id:this._instance.get_distinct_id(),groups:this._instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:j({},((t=this._instance.persistence)==null?void 0:t.get_initial_props())||{},this._instance.get_property(lo)||{}),group_properties:this._instance.get_property(Nn)};Ft(i)||H(i)||(s.$device_id=i),(e!=null&&e.disableFlags||this._instance.config.advanced_disable_feature_flags)&&(s.disable_flags=!0),this.pi()&&(s.evaluation_contexts=this.fi());var o=this._instance.config.__preview_remote_config,a=o?"/flags/?v=2":"/flags/?v=2&config=true",l=this._instance.config.advanced_only_evaluate_survey_feature_flags?"&only_evaluate_survey_feature_flags=true":"",c=this._instance.requestRouter.endpointFor("flags",a+l);o&&(s.timezone=Hb()),this.li=!0,this._instance._send_request({method:"POST",url:c,data:s,compression:this._instance.config.disable_compression?void 0:gr.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:u=>{var p,h,f=!0;if(u.statusCode===200&&(this.hi||(this.$anon_distinct_id=void 0),f=!1),this.li=!1,this.di||(this.di=!0,this._instance.yi((h=u.json)!==null&&h!==void 0?h:{})),!s.disable_flags||this.hi)if(this.vi=!f,u.json&&(p=u.json.quotaLimited)!=null&&p.includes(F1.FeatureFlags))pt.warn("You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more.");else{var v;s.disable_flags||this.receivedFeatureFlags((v=u.json)!==null&&v!==void 0?v:{},f),this.hi&&(this.hi=!1,this.mi())}}})}}getFeatureFlag(e,t){var n;if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var i=this.getFeatureFlagResult(e,t);return(n=i?.variant)!==null&&n!==void 0?n:i?.enabled}pt.warn('getFeatureFlag for key "'+e+`" failed. Feature flags didn't load in time.`)}getFeatureFlagDetails(e){return this.getFlagsWithDetails()[e]}getFeatureFlagPayload(e){var t=this.getFeatureFlagResult(e,{send_event:!1});return t?.payload}getFeatureFlagResult(e,t){if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var n=this.getFlagVariants(),i=e in n,s=n[e],o=this.getFlagPayloads()[e],a=String(s),l=this._instance.get_property(P_)||void 0,c=this._instance.get_property(O_)||void 0,u=this._instance.get_property(Al)||{};if((t.send_event||!("send_event"in t))&&(!(e in u)||!u[e].includes(a))){var p,h,f,v,g,m,y,x,S;ve(u[e])?u[e].push(a):u[e]=[a],(p=this._instance.persistence)==null||p.register({[Al]:u});var _=this.getFeatureFlagDetails(e),w={$feature_flag:e,$feature_flag_response:s,$feature_flag_payload:o||null,$feature_flag_request_id:l,$feature_flag_evaluated_at:c,$feature_flag_bootstrapped_response:((h=this._instance.config.bootstrap)==null||(h=h.featureFlags)==null?void 0:h[e])||null,$feature_flag_bootstrapped_payload:((f=this._instance.config.bootstrap)==null||(f=f.featureFlagPayloads)==null?void 0:f[e])||null,$used_bootstrap_value:!this.vi};H(_==null||(v=_.metadata)==null?void 0:v.version)||(w.$feature_flag_version=_.metadata.version);var C,b=(g=_==null||(m=_.reason)==null?void 0:m.description)!==null&&g!==void 0?g:_==null||(y=_.reason)==null?void 0:y.code;b&&(w.$feature_flag_reason=b),_!=null&&(x=_.metadata)!=null&&x.id&&(w.$feature_flag_id=_.metadata.id),H(_?.original_variant)&&H(_?.original_enabled)||(w.$feature_flag_original_response=H(_.original_variant)?_.original_enabled:_.original_variant),_!=null&&(S=_.metadata)!=null&&S.original_payload&&(w.$feature_flag_original_payload=_==null||(C=_.metadata)==null?void 0:C.original_payload),this._instance.capture("$feature_flag_called",w)}if(i){var A=o;if(!H(o))try{A=JSON.parse(o)}catch{}return{key:e,enabled:!!s,variant:typeof s=="string"?s:void 0,payload:A}}}else pt.warn('getFeatureFlagResult for key "'+e+`" failed. Feature flags didn't load in time.`)}getRemoteConfigPayload(e,t){var n=this._instance.config.token,i={distinct_id:this._instance.get_distinct_id(),token:n};this.pi()&&(i.evaluation_contexts=this.fi()),this._instance._send_request({method:"POST",url:this._instance.requestRouter.endpointFor("flags","/flags/?v=2&config=true"),data:i,compression:this._instance.config.disable_compression?void 0:gr.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:s=>{var o,a=(o=s.json)==null?void 0:o.featureFlagPayloads;t(a?.[e]||void 0)}})}isFeatureEnabled(e,t){if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var n=this.getFeatureFlag(e,t);return H(n)?void 0:!!n}pt.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){this.ai=!0;var n=this.getFlagVariants(),i=this.getFlagPayloads(),s=this.getFlagsWithDetails();(function(o,a,l,c,u){l===void 0&&(l={}),c===void 0&&(c={}),u===void 0&&(u={});var p=L1(o),h=p.flags,f=p.featureFlags,v=p.featureFlagPayloads;if(f){var g=o.requestId,m=o.evaluatedAt;if(ve(f)){pt.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");var y={};if(f)for(var x=0;x<f.length;x++)y[f[x]]=!0;a&&a.register({[up]:f,[Si]:y})}else{var S=f,_=v,w=h;if(o.errorsWhileComputingFlags)if(h){var C=new Set(Object.keys(h).filter((b=>{var A;return!((A=h[b])!=null&&A.failed)})));S=j({},l,Object.fromEntries(Object.entries(S).filter((b=>{var[A]=b;return C.has(A)})))),_=j({},c,Object.fromEntries(Object.entries(_||{}).filter((b=>{var[A]=b;return C.has(A)})))),w=j({},u,Object.fromEntries(Object.entries(w||{}).filter((b=>{var[A]=b;return C.has(A)}))))}else S=j({},l,S),_=j({},c,_),w=j({},u,w);a&&a.register(j({[up]:Object.keys(N_(S)),[Si]:S||{},[M_]:_||{},[Lp]:w||{}},g?{[P_]:g}:{},m?{[O_]:m}:{}))}}})(e,this._instance.persistence,n,i,s),this.wi(t)}}override(e,t){t===void 0&&(t=!1),pt.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:e,suppressWarning:t})}overrideFeatureFlags(e){if(!this._instance.__loaded||!this._instance.persistence)return pt.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(e===!1)return this._instance.persistence.unregister(vi),this._instance.persistence.unregister(to),this.wi(),eo.info("All overrides cleared");if(e&&typeof e=="object"&&("flags"in e||"payloads"in e)){var t,n=e;if(this.oi=!!((t=n.suppressWarning)!==null&&t!==void 0&&t),"flags"in n){if(n.flags===!1)this._instance.persistence.unregister(vi),eo.info("Flag overrides cleared");else if(n.flags){if(ve(n.flags)){for(var i={},s=0;s<n.flags.length;s++)i[n.flags[s]]=!0;this._instance.persistence.register({[vi]:i})}else this._instance.persistence.register({[vi]:n.flags});eo.info("Flag overrides set",{flags:n.flags})}}return"payloads"in n&&(n.payloads===!1?(this._instance.persistence.unregister(to),eo.info("Payload overrides cleared")):n.payloads&&(this._instance.persistence.register({[to]:n.payloads}),eo.info("Payload overrides set",{payloads:n.payloads}))),void this.wi()}this.wi()}onFeatureFlags(e){if(this.addFeatureFlagsHandler(e),this.ai){var{flags:t,flagVariants:n}=this.xi();e(t,n)}return()=>this.removeFeatureFlagsHandler(e)}updateEarlyAccessFeatureEnrollment(e,t,n){var i,s=(this._instance.get_property(ao)||[]).find((c=>c.flagKey===e)),o={["$feature_enrollment/"+e]:t},a={$feature_flag:e,$feature_enrollment:t,$set:o};s&&(a.$early_access_feature_name=s.name),n&&(a.$feature_enrollment_stage=n),this._instance.capture("$feature_enrollment_update",a),this.setPersonPropertiesForFlags(o,!1);var l=j({},this.getFlagVariants(),{[e]:t});(i=this._instance.persistence)==null||i.register({[up]:Object.keys(N_(l)),[Si]:l}),this.wi()}getEarlyAccessFeatures(e,t,n){t===void 0&&(t=!1);var i=this._instance.get_property(ao),s=n?"&"+n.map((o=>"stage="+o)).join("&"):"";if(i&&!t)return e(i);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/early_access_features/?token="+this._instance.config.token+s),method:"GET",callback:o=>{var a,l;if(o.json){var c=o.json.earlyAccessFeatures;return(a=this._instance.persistence)==null||a.unregister(ao),(l=this._instance.persistence)==null||l.register({[ao]:c}),e(c)}}})}xi(){var e=this.getFlags(),t=this.getFlagVariants();return{flags:e.filter((n=>t[n])),flagVariants:Object.keys(t).filter((n=>t[n])).reduce(((n,i)=>(n[i]=t[i],n)),{})}}wi(e){var{flags:t,flagVariants:n}=this.xi();this.featureFlagEventHandlers.forEach((i=>i(t,n,{errorsLoading:e})))}setPersonPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(lo)||{};this._instance.register({[lo]:j({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(lo)}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(Nn)||{};Object.keys(n).length!==0&&Object.keys(n).forEach((i=>{n[i]=j({},n[i],e[i]),delete e[i]})),this._instance.register({[Nn]:j({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){var t=this._instance.get_property(Nn)||{};this._instance.register({[Nn]:j({},t,{[e]:{}})})}else this._instance.unregister(Nn)}reset(){this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.$anon_distinct_id=void 0,this.bi(),this.oi=!1}},D1=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"],fo=class{constructor(e,t){this.R=e,this.props={},this.Ei=!1,this.$i=(n=>{var i="";return n.token&&(i=n.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),n.persistence_name?"ph_"+n.persistence_name:"ph_"+i+"_posthog"})(e),this.Y=this.Si(e),this.load(),e.debug&&B.info("Persistence loaded",e.persistence,j({},this.props)),this.update_config(e,e,t),this.save()}isDisabled(){return!!this.ki}Si(e){D1.indexOf(e.persistence.toLowerCase())===-1&&(B.critical("Unknown persistence type "+e.persistence+"; falling back to localStorage+cookie"),e.persistence="localStorage+cookie");var t=(function(i){i===void 0&&(i=[]);var s=[...g1,...i];return j({},Re,{W:function(o){try{var a={};try{a=Zt.W(o)||{}}catch{}var l=Pe(a,JSON.parse(Re.q(o)||"{}"));return Re.G(o,l),l}catch{}return null},G:function(o,a,l,c,u,p){try{Re.G(o,a,void 0,void 0,p);var h={};s.forEach((f=>{a[f]&&(h[f]=a[f])})),Object.keys(h).length&&Zt.G(o,h,l,c,u,p)}catch(f){Re.B(f)}},V:function(o,a){try{E?.localStorage.removeItem(o),Zt.V(o,a)}catch(l){Re.B(l)}}})})(e.cookie_persisted_properties||[]),n=e.persistence.toLowerCase();return n==="localstorage"&&Re.H()?Re:n==="localstorage+cookie"&&t.H()?t:n==="sessionstorage"&&qe.H()?qe:n==="memory"?m1:n==="cookie"?Zt:t.H()?t:Zt}properties(){var e={};return ke(this.props,(function(t,n){if(n===Si&&Le(t))for(var i=Object.keys(t),s=0;s<i.length;s++)e["$feature/"+i[s]]=t[i[s]];else a=n,l=!1,(Ft(o=JC)?l:Ky&&o.indexOf===Ky?o.indexOf(a)!=-1:(ke(o,(function(c){if(l||(l=c===a))return El})),l))||(e[n]=t);var o,a,l})),e}load(){if(!this.ki){var e=this.Y.W(this.$i);e&&(this.props=Pe({},e))}}save(){this.ki||this.Y.G(this.$i,this.props,this.Pi,this.Ti,this.Ii,this.R.debug)}remove(){this.Y.V(this.$i,!1),this.Y.V(this.$i,!0)}clear(){this.remove(),this.props={}}register_once(e,t,n){if(Le(e)){H(t)&&(t="None"),this.Pi=H(n)?this.Ci:n;var i=!1;if(ke(e,((s,o)=>{this.props.hasOwnProperty(o)&&this.props[o]!==t||(this.props[o]=s,i=!0)})),i)return this.save(),!0}return!1}register(e,t){if(Le(e)){this.Pi=H(t)?this.Ci:t;var n=!1;if(ke(e,((i,s)=>{e.hasOwnProperty(s)&&this.props[s]!==i&&(this.props[s]=i,n=!0)})),n)return this.save(),!0}return!1}unregister(e){e in this.props&&(delete this.props[e],this.save())}update_campaign_params(){if(!this.Ei){var e=Pb(this.R.custom_campaign_params,this.R.mask_personal_data_properties,this.R.custom_personal_data_properties);wi(Mh(e))||this.register(e),this.Ei=!0}}update_search_keyword(){var e;this.register((e=D?.referrer)?Nb(e):{})}update_referrer_info(){var e;this.register_once({$referrer:Lb(),$referring_domain:D!=null&&D.referrer&&((e=Ml(D.referrer))==null?void 0:e.host)||"$direct"},void 0)}set_initial_person_info(){this.props[Bp]||this.props[Vp]||this.register_once({[Rl]:Fb(this.R.mask_personal_data_properties,this.R.custom_personal_data_properties)},void 0)}get_initial_props(){var e={};ke([Vp,Bp],(o=>{var a=this.props[o];a&&ke(a,(function(l,c){e["$initial_"+vp(c)]=l}))}));var t,n,i=this.props[Rl];if(i){var s=(t=Db(i),n={},ke(t,(function(o,a){n["$initial_"+vp(a)]=o})),n);Pe(e,s)}return e}safe_merge(e){return ke(this.props,(function(t,n){n in e||(e[n]=t)})),e}update_config(e,t,n){if(this.Ci=this.Pi=e.cookie_expiration,this.set_disabled(e.disable_persistence||!!n),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie),e.persistence!==t.persistence||!((o,a)=>{if(o.length!==a.length)return!1;var l=[...o].sort(),c=[...a].sort();return l.every(((u,p)=>u===c[p]))})(e.cookie_persisted_properties||[],t.cookie_persisted_properties||[])){var i=this.Si(e),s=this.props;this.clear(),this.Y=i,this.props=s,this.save()}}set_disabled(e){this.ki=e,this.ki?this.remove():this.save()}set_cross_subdomain(e){e!==this.Ti&&(this.Ti=e,this.remove(),this.save())}set_secure(e){e!==this.Ii&&(this.Ii=e,this.remove(),this.save())}set_event_timer(e,t){var n=this.props[oo]||{};n[e]=t,this.props[oo]=n,this.save()}remove_event_timer(e){var t=(this.props[oo]||{})[e];return H(t)||(delete this.props[oo][e],this.save()),t}get_property(e){return this.props[e]}set_property(e,t){this.props[e]=t,this.save()}},L_=Ie("[Product Tours]"),dp="ph_product_tours",ah=class{constructor(e){this.Ri=null,this.Fi=null,this._instance=e}onRemoteConfig(e){this._instance.persistence&&this._instance.persistence.register({[d_]:!(e==null||!e.productTours)}),this.loadIfEnabled()}loadIfEnabled(){var e,t;this.Ri||(e=this._instance).config.disable_product_tours||(t=e.persistence)==null||!t.get_property(d_)||this.it((()=>this.Oi()))}it(e){var t,n;(t=Q.__PosthogExtensions__)!=null&&t.generateProductTours?e():(n=Q.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"product-tours",(i=>{i?L_.error("Could not load product tours script",i):e()}))}Oi(){var e;!this.Ri&&(e=Q.__PosthogExtensions__)!=null&&e.generateProductTours&&(this.Ri=Q.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(e,t){if(t===void 0&&(t=!1),!ve(this.Fi)||t){var n=this._instance.persistence;if(n){var i=n.props[dp];if(ve(i)&&!t)return this.Fi=i,void e(i,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/product_tours/?token="+this._instance.config.token),method:"GET",callback:s=>{var o=s.statusCode;if(o!==200||!s.json){var a="Product Tours API could not be loaded, status: "+o;return L_.error(a),void e([],{isLoaded:!1,error:a})}var l=ve(s.json.product_tours)?s.json.product_tours:[];this.Fi=l,n&&n.register({[dp]:l}),e(l,{isLoaded:!0})}})}else e(this.Fi,{isLoaded:!0})}getActiveProductTours(e){pe(this.Ri)?e([],{isLoaded:!1,error:"Product tours not loaded"}):this.Ri.getActiveProductTours(e)}showProductTour(e){var t;(t=this.Ri)==null||t.showTourById(e)}previewTour(e){this.Ri?this.Ri.previewTour(e):this.it((()=>{var t;this.Oi(),(t=this.Ri)==null||t.previewTour(e)}))}dismissProductTour(){var e;(e=this.Ri)==null||e.dismissTour("user_clicked_skip")}nextStep(){var e;(e=this.Ri)==null||e.nextStep()}previousStep(){var e;(e=this.Ri)==null||e.previousStep()}clearCache(){var e;this.Fi=null,(e=this._instance.persistence)==null||e.unregister(dp)}resetTour(e){var t;(t=this.Ri)==null||t.resetTour(e)}resetAllTours(){var e;(e=this.Ri)==null||e.resetAllTours()}cancelPendingTour(e){var t;(t=this.Ri)==null||t.cancelPendingTour(e)}},ro=(function(r){return r.Activation="events",r.Cancellation="cancelEvents",r})({}),uN=(function(r){return r.Button="button",r.Tab="tab",r.Selector="selector",r})({}),dN=(function(r){return r.TopLeft="top_left",r.TopRight="top_right",r.TopCenter="top_center",r.MiddleLeft="middle_left",r.MiddleRight="middle_right",r.MiddleCenter="middle_center",r.Left="left",r.Center="center",r.Right="right",r.NextToTrigger="next_to_trigger",r})({}),pN=(function(r){return r.Top="top",r.Left="left",r.Right="right",r.Bottom="bottom",r})({}),pp=(function(r){return r.Popover="popover",r.API="api",r.Widget="widget",r.ExternalSurvey="external_survey",r})({}),hN=(function(r){return r.Open="open",r.MultipleChoice="multiple_choice",r.SingleChoice="single_choice",r.Rating="rating",r.Link="link",r})({}),fN=(function(r){return r.NextQuestion="next_question",r.End="end",r.ResponseBased="response_based",r.SpecificQuestion="specific_question",r})({}),gN=(function(r){return r.Once="once",r.Recurring="recurring",r.Always="always",r})({}),uo=(function(r){return r.SHOWN="survey shown",r.DISMISSED="survey dismissed",r.SENT="survey sent",r.ABANDONED="survey abandoned",r})({}),hp=(function(r){return r.SURVEY_ID="$survey_id",r.SURVEY_NAME="$survey_name",r.SURVEY_RESPONSE="$survey_response",r.SURVEY_ITERATION="$survey_iteration",r.SURVEY_ITERATION_START_DATE="$survey_iteration_start_date",r.SURVEY_PARTIALLY_COMPLETED="$survey_partially_completed",r.SURVEY_SUBMISSION_ID="$survey_submission_id",r.SURVEY_QUESTIONS="$survey_questions",r.SURVEY_COMPLETED="$survey_completed",r.PRODUCT_TOUR_ID="$product_tour_id",r.SURVEY_LAST_SEEN_DATE="$survey_last_seen_date",r})({}),lh=(function(r){return r.Popover="popover",r.Inline="inline",r})({}),Se=Ie("[Surveys]"),qb="seenSurvey_",H1=(r,e)=>{var t="$survey_"+e+"/"+r.id;return r.current_iteration&&r.current_iteration>0&&(t="$survey_"+e+"/"+r.id+"/"+r.current_iteration),t},F_=r=>((e,t)=>{var n=""+e+t.id;return t.current_iteration&&t.current_iteration>0&&(n=""+e+t.id+"_"+t.current_iteration),n})(qb,r),B1=[pp.Popover,pp.Widget,pp.API],V1={ignoreConditions:!1,ignoreDelay:!1,displayType:lh.Popover},xo=class{constructor(){this.Mi={},this.Mi={}}on(e,t){return this.Mi[e]||(this.Mi[e]=[]),this.Mi[e].push(t),()=>{this.Mi[e]=this.Mi[e].filter((n=>n!==t))}}emit(e,t){for(var n of this.Mi[e]||[])n(t);for(var i of this.Mi["*"]||[])i(e,t)}};function yi(r,e,t){if(pe(r))return!1;switch(t){case"exact":return r===e;case"contains":var n=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(n,"i").test(r);case"regex":try{return new RegExp(e).test(r)}catch{return!1}default:return!1}}var ch=class{constructor(e){this.Ai=new xo,this.ji=(t,n)=>this.Di(t,n)&&this.Li(t,n)&&this.Ni(t,n)&&this.Ui(t,n),this.Di=(t,n)=>n==null||!n.event||t?.event===n?.event,this._instance=e,this.zi=new Set,this.Hi=new Set}init(){var e;if(!H((e=this._instance)==null?void 0:e._addCaptureHook)){var t;(t=this._instance)==null||t._addCaptureHook(((n,i)=>{this.on(n,i)}))}}register(e){var t,n;if(!H((t=this._instance)==null?void 0:t._addCaptureHook)&&(e.forEach((o=>{var a,l;(a=this.Hi)==null||a.add(o),(l=o.steps)==null||l.forEach((c=>{var u;(u=this.zi)==null||u.add(c?.event||"")}))})),(n=this._instance)!=null&&n.autocapture)){var i,s=new Set;e.forEach((o=>{var a;(a=o.steps)==null||a.forEach((l=>{l!=null&&l.selector&&s.add(l?.selector)}))})),(i=this._instance)==null||i.autocapture.setElementSelectors(s)}}on(e,t){var n;t!=null&&e.length!=0&&(this.zi.has(e)||this.zi.has(t?.event))&&this.Hi&&((n=this.Hi)==null?void 0:n.size)>0&&this.Hi.forEach((i=>{this.Bi(t,i)&&this.Ai.emit("actionCaptured",i.name)}))}qi(e){this.onAction("actionCaptured",(t=>e(t)))}Bi(e,t){if(t?.steps==null)return!1;for(var n of t.steps)if(this.ji(e,n))return!0;return!1}onAction(e,t){return this.Ai.on(e,t)}Li(e,t){if(t!=null&&t.url){var n,i=e==null||(n=e.properties)==null?void 0:n.$current_url;if(!i||typeof i!="string"||!yi(i,t.url,t.url_matching||"contains"))return!1}return!0}Ni(e,t){return!!this.Wi(e,t)&&!!this.Gi(e,t)&&!!this.Vi(e,t)}Wi(e,t){var n;if(t==null||!t.href)return!0;var i=this.Ji(e);if(i.length>0)return i.some((a=>yi(a.href,t.href,t.href_matching||"exact")));var s,o=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!o&&yi((s=o.match(/(?::|")href="(.*?)"/))?s[1]:"",t.href,t.href_matching||"exact")}Gi(e,t){var n;if(t==null||!t.text)return!0;var i=this.Ji(e);if(i.length>0)return i.some((c=>yi(c.text,t.text,t.text_matching||"exact")||yi(c.$el_text,t.text,t.text_matching||"exact")));var s,o,a,l=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!l&&(s=(function(c){for(var u,p=[],h=/(?::|")text="(.*?)"/g;!pe(u=h.exec(c));)p.includes(u[1])||p.push(u[1]);return p})(l),o=t.text,a=t.text_matching||"exact",s.some((c=>yi(c,o,a))))}Vi(e,t){var n,i;if(t==null||!t.selector)return!0;var s=e==null||(n=e.properties)==null?void 0:n.$element_selectors;if(s!=null&&s.includes(t.selector))return!0;var o=(e==null||(i=e.properties)==null?void 0:i.$elements_chain)||"";if(t.selector_regex&&o)try{return new RegExp(t.selector_regex).test(o)}catch{return!1}return!1}Ji(e){var t;return(e==null||(t=e.properties)==null?void 0:t.$elements)==null?[]:e?.properties.$elements}Ui(e,t){return t==null||!t.properties||t.properties.length===0||zb(t.properties.reduce(((n,i)=>{var s=ve(i.value)?i.value.map(String):i.value!=null?[String(i.value)]:[];return n[i.key]={values:s,operator:i.operator||"exact"},n}),{}),e?.properties)}},uh=class{constructor(e){this._instance=e,this.Ki=new Map,this.Yi=new Map,this.Xi=new Map}Qi(e,t){return!!e&&zb(e.propertyFilters,t?.properties)}Zi(e,t){var n=new Map;return e.forEach((i=>{var s;(s=i.conditions)==null||(s=s[t])==null||(s=s.values)==null||s.forEach((o=>{if(o!=null&&o.name){var a=n.get(o.name)||[];a.push(i.id),n.set(o.name,a)}}))})),n}te(e,t,n){var i=(n===ro.Activation?this.Ki:this.Yi).get(e),s=[];return this.ie((o=>{s=o.filter((a=>i?.includes(a.id)))})),s.filter((o=>{var a,l=(a=o.conditions)==null||(a=a[n])==null||(a=a.values)==null?void 0:a.find((c=>c.name===e));return this.Qi(l,t)}))}register(e){var t;H((t=this._instance)==null?void 0:t._addCaptureHook)||(this.ee(e),this.re(e))}re(e){var t=e.filter((n=>{var i,s;return((i=n.conditions)==null?void 0:i.actions)&&((s=n.conditions)==null||(s=s.actions)==null||(s=s.values)==null?void 0:s.length)>0}));t.length!==0&&(this.se==null&&(this.se=new ch(this._instance),this.se.init(),this.se.qi((n=>{this.onAction(n)}))),t.forEach((n=>{var i,s,o,a,l;n.conditions&&(i=n.conditions)!=null&&i.actions&&(s=n.conditions)!=null&&(s=s.actions)!=null&&s.values&&((o=n.conditions)==null||(o=o.actions)==null||(o=o.values)==null?void 0:o.length)>0&&((a=this.se)==null||a.register(n.conditions.actions.values),(l=n.conditions)==null||(l=l.actions)==null||(l=l.values)==null||l.forEach((c=>{if(c&&c.name){var u=this.Xi.get(c.name);u&&u.push(n.id),this.Xi.set(c.name,u||[n.id])}})))})))}ee(e){var t,n=e.filter((s=>{var o,a;return((o=s.conditions)==null?void 0:o.events)&&((a=s.conditions)==null||(a=a.events)==null||(a=a.values)==null?void 0:a.length)>0})),i=e.filter((s=>{var o,a;return((o=s.conditions)==null?void 0:o.cancelEvents)&&((a=s.conditions)==null||(a=a.cancelEvents)==null||(a=a.values)==null?void 0:a.length)>0}));(n.length!==0||i.length!==0)&&((t=this._instance)==null||t._addCaptureHook(((s,o)=>{this.onEvent(s,o)})),this.Ki=this.Zi(e,ro.Activation),this.Yi=this.Zi(e,ro.Cancellation))}onEvent(e,t){var n,i=this.ne(),s=this.oe(),o=this.ae(),a=((n=this._instance)==null||(n=n.persistence)==null?void 0:n.props[s])||[];if(o===e&&t&&a.length>0){var l,c;i.info("event matched, removing item from activated items",{event:e,eventPayload:t,existingActivatedItems:a});var u=(t==null||(l=t.properties)==null?void 0:l.$survey_id)||(t==null||(c=t.properties)==null?void 0:c.$product_tour_id);if(u){var p=a.indexOf(u);p>=0&&(a.splice(p,1),this.le(a))}}else{if(this.Yi.has(e)){var h=this.te(e,t,ro.Cancellation);h.length>0&&(i.info("cancel event matched, cancelling items",{event:e,itemsToCancel:h.map((v=>v.id))}),h.forEach((v=>{var g=a.indexOf(v.id);g>=0&&a.splice(g,1),this.ue(v.id)})),this.le(a))}if(this.Ki.has(e)){i.info("event name matched",{event:e,eventPayload:t,items:this.Ki.get(e)});var f=this.te(e,t,ro.Activation);this.le(a.concat(f.map((v=>v.id))||[]))}}}onAction(e){var t,n=this.oe(),i=((t=this._instance)==null||(t=t.persistence)==null?void 0:t.props[n])||[];this.Xi.has(e)&&this.le(i.concat(this.Xi.get(e)||[]))}le(e){var t,n=this.ne(),i=this.oe(),s=[...new Set(e)].filter((o=>!this.he(o)));n.info("updating activated items",{activatedItems:s}),(t=this._instance)==null||(t=t.persistence)==null||t.register({[i]:s})}getActivatedIds(){var e,t=this.oe(),n=(e=this._instance)==null||(e=e.persistence)==null?void 0:e.props[t];return n||[]}getEventToItemsMap(){return this.Ki}de(){return this.se}},dh=class extends uh{constructor(e){super(e)}oe(){return"$surveys_activated"}ae(){return uo.SHOWN}ie(e){var t;(t=this._instance)==null||t.getSurveys(e)}ue(e){var t;(t=this._instance)==null||t.cancelPendingSurvey(e)}ne(){return Se}he(){return!1}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}},ph=class{constructor(e){this.ve=void 0,this._surveyManager=null,this.ce=!1,this.fe=[],this.pe=null,this._instance=e,this._surveyEventReceiver=null}onRemoteConfig(e){if(!this._instance.config.disable_surveys){var t=e.surveys;if(pe(t))return Se.warn("Flags not loaded yet. Not loading surveys.");var n=ve(t);this.ve=n?t.length>0:t,Se.info("flags response received, isSurveysEnabled: "+this.ve),this.loadIfEnabled()}}reset(){localStorage.removeItem("lastSeenSurveyDate");for(var e=[],t=0;t<localStorage.length;t++){var n=localStorage.key(t);(n!=null&&n.startsWith(qb)||n!=null&&n.startsWith("inProgressSurvey_"))&&e.push(n)}e.forEach((i=>localStorage.removeItem(i)))}loadIfEnabled(){if(!this._surveyManager)if(this.ce)Se.info("Already initializing surveys, skipping...");else if(this._instance.config.disable_surveys)Se.info("Disabled. Not loading surveys.");else if(this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())Se.info("Not loading surveys in cookieless mode without consent.");else{var e=Q?.__PosthogExtensions__;if(e){if(!H(this.ve)||this._instance.config.advanced_enable_surveys){var t=this.ve||this._instance.config.advanced_enable_surveys;this.ce=!0;try{var n=e.generateSurveys;if(n)return void this.ge(n,t);var i=e.loadExternalDependency;if(!i)return void this._e("PostHog loadExternalDependency extension not found.");i(this._instance,"surveys",(s=>{s||!e.generateSurveys?this._e("Could not load surveys script",s):this.ge(e.generateSurveys,t)}))}catch(s){throw this._e("Error initializing surveys",s),s}finally{this.ce=!1}}}else Se.error("PostHog Extensions not found.")}}ge(e,t){this._surveyManager=e(this._instance,t),this._surveyEventReceiver=new dh(this._instance),Se.info("Surveys loaded successfully"),this.me({isLoaded:!0})}_e(e,t){Se.error(e,t),this.me({isLoaded:!1,error:e})}onSurveysLoaded(e){return this.fe.push(e),this._surveyManager&&this.me({isLoaded:!0}),()=>{this.fe=this.fe.filter((t=>t!==e))}}getSurveys(e,t){if(t===void 0&&(t=!1),this._instance.config.disable_surveys)return Se.info("Disabled. Not loading surveys."),e([]);var n,i=this._instance.get_property(Fp);if(i&&!t)return e(i,{isLoaded:!0});typeof Promise<"u"&&this.pe?this.pe.then((s=>{var{surveys:o,context:a}=s;return e(o,a)})):(typeof Promise<"u"&&(this.pe=new Promise((s=>{n=s}))),this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/surveys/?token="+this._instance.config.token),method:"GET",timeout:this._instance.config.surveys_request_timeout_ms,callback:s=>{var o;this.pe=null;var a=s.statusCode;if(a!==200||!s.json){var l="Surveys API could not be loaded, status: "+a;Se.error(l);var c={isLoaded:!1,error:l};return e([],c),void(n==null||n({surveys:[],context:c}))}var u,p=s.json.surveys||[],h=p.filter((v=>(function(g){return!(!g.start_date||g.end_date)})(v)&&((function(g){var m;return!((m=g.conditions)==null||(m=m.events)==null||(m=m.values)==null||!m.length)})(v)||(function(g){var m;return!((m=g.conditions)==null||(m=m.actions)==null||(m=m.values)==null||!m.length)})(v))));h.length>0&&((u=this._surveyEventReceiver)==null||u.register(h)),(o=this._instance.persistence)==null||o.register({[Fp]:p});var f={isLoaded:!0};e(p,f),n?.({surveys:p,context:f})}}))}me(e){for(var t of this.fe)try{if(!e.isLoaded)return t([],e);this.getSurveys(t)}catch(n){Se.error("Error in survey callback",n)}}getActiveMatchingSurveys(e,t){if(t===void 0&&(t=!1),!pe(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(e,t);Se.warn("init was not called")}be(e){var t=null;return this.getSurveys((n=>{var i;t=(i=n.find((s=>s.id===e)))!==null&&i!==void 0?i:null})),t}ye(e){if(pe(this._surveyManager))return{eligible:!1,reason:"SDK is not enabled or survey functionality is not yet loaded"};var t=typeof e=="string"?this.be(e):e;return t?this._surveyManager.checkSurveyEligibility(t):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(e){if(pe(this._surveyManager))return Se.warn("init was not called"),{visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"};var t=this.ye(e);return{visible:t.eligible,disabledReason:t.reason}}canRenderSurveyAsync(e,t){return pe(this._surveyManager)?(Se.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"})):new Promise((n=>{this.getSurveys((i=>{var s,o=(s=i.find((l=>l.id===e)))!==null&&s!==void 0?s:null;if(o){var a=this.ye(o);n({visible:a.eligible,disabledReason:a.reason})}else n({visible:!1,disabledReason:"Survey not found"})}),t)}))}renderSurvey(e,t,n){var i;if(pe(this._surveyManager))Se.warn("init was not called");else{var s=typeof e=="string"?this.be(e):e;if(s!=null&&s.id)if(B1.includes(s.type)){var o=D?.querySelector(t);if(o)return(i=s.appearance)!=null&&i.surveyPopupDelaySeconds?(Se.info("Rendering survey "+s.id+" with delay of "+s.appearance.surveyPopupDelaySeconds+" seconds"),void setTimeout((()=>{var a,l;Se.info("Rendering survey "+s.id+" with delay of "+((a=s.appearance)==null?void 0:a.surveyPopupDelaySeconds)+" seconds"),(l=this._surveyManager)==null||l.renderSurvey(s,o,n),Se.info("Survey "+s.id+" rendered")}),1e3*s.appearance.surveyPopupDelaySeconds)):void this._surveyManager.renderSurvey(s,o,n);Se.warn("Survey element not found")}else Se.warn("Surveys of type "+s.type+" cannot be rendered in the app");else Se.warn("Survey not found")}}displaySurvey(e,t){var n;if(pe(this._surveyManager))Se.warn("init was not called");else{var i=this.be(e);if(i){var s=i;if((n=i.appearance)!=null&&n.surveyPopupDelaySeconds&&t.ignoreDelay&&(s=j({},i,{appearance:j({},i.appearance,{surveyPopupDelaySeconds:0})})),t.displayType!==lh.Popover&&t.initialResponses&&Se.warn("initialResponses is only supported for popover surveys. prefill will not be applied."),t.ignoreConditions===!1){var o=this.canRenderSurvey(i);if(!o.visible)return void Se.warn("Survey is not eligible to be displayed: ",o.disabledReason)}t.displayType!==lh.Inline?this._surveyManager.handlePopoverSurvey(s,t):this.renderSurvey(s,t.selector,t.properties)}else Se.warn("Survey not found")}}cancelPendingSurvey(e){pe(this._surveyManager)?Se.warn("init was not called"):this._surveyManager.cancelSurvey(e)}handlePageUnload(){var e;(e=this._surveyManager)==null||e.handlePageUnload()}},dr=Ie("[Conversations]"),hh=class{constructor(e){this.we=void 0,this._conversationsManager=null,this.xe=!1,this.Ee=null,this._instance=e}onRemoteConfig(e){if(!this._instance.config.disable_conversations){var t=e.conversations;pe(t)||(vr(t)?this.we=t:(this.we=t.enabled,this.Ee=t),this.loadIfEnabled())}}reset(){var e;(e=this._conversationsManager)==null||e.reset(),this._conversationsManager=null,this.we=void 0,this.Ee=null}loadIfEnabled(){if(!this._conversationsManager&&!this.xe&&!(this._instance.config.disable_conversations||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())){var e=Q?.__PosthogExtensions__;if(e&&!H(this.we)&&this.we)if(this.Ee&&this.Ee.token){this.xe=!0;try{var t=e.initConversations;if(t)return this.$e(t),void(this.xe=!1);var n=e.loadExternalDependency;if(!n)return void this.Se("PostHog loadExternalDependency extension not found.");n(this._instance,"conversations",(i=>{i||!e.initConversations?this.Se("Could not load conversations script",i):this.$e(e.initConversations),this.xe=!1}))}catch(i){this.Se("Error initializing conversations",i),this.xe=!1}}else dr.error("Conversations enabled but missing token in remote config.")}}$e(e){if(this.Ee)try{this._conversationsManager=e(this.Ee,this._instance),dr.info("Conversations loaded successfully")}catch(t){this.Se("Error completing conversations initialization",t)}else dr.error("Cannot complete initialization: remote config is null")}Se(e,t){dr.error(e,t),this._conversationsManager=null,this.xe=!1}show(){this._conversationsManager?this._conversationsManager.show():dr.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.we===!0&&!Ft(this._conversationsManager)}isVisible(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.isVisible())!==null&&e!==void 0&&e}sendMessage(e,t,n){var i=this;return xi((function*(){return i._conversationsManager?i._conversationsManager.sendMessage(e,t,n):(dr.warn("Conversations not available yet."),null)}))()}getMessages(e,t){var n=this;return xi((function*(){return n._conversationsManager?n._conversationsManager.getMessages(e,t):(dr.warn("Conversations not available yet."),null)}))()}markAsRead(e){var t=this;return xi((function*(){return t._conversationsManager?t._conversationsManager.markAsRead(e):(dr.warn("Conversations not available yet."),null)}))()}getTickets(e){var t=this;return xi((function*(){return t._conversationsManager?t._conversationsManager.getTickets(e):(dr.warn("Conversations not available yet."),null)}))()}getCurrentTicketId(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.getCurrentTicketId())!==null&&e!==void 0?e:null}getWidgetSessionId(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.getWidgetSessionId())!==null&&e!==void 0?e:null}},fh=class{constructor(e){var t;this.ke=!1,this.Pe=!1,this._instance=e,this._instance&&(t=this._instance.config.logs)!=null&&t.captureConsoleLogs&&(this.ke=!0)}onRemoteConfig(e){var t,n=(t=e.logs)==null?void 0:t.captureConsoleLogs;!pe(n)&&n&&(this.ke=!0,this.loadIfEnabled())}reset(){}loadIfEnabled(){if(this.ke&&!this.Pe){var e=Ie("[logs]"),t=Q?.__PosthogExtensions__;if(t){var n=t.loadExternalDependency;n?n(this._instance,"logs",(i=>{var s;i||(s=t.logs)==null||!s.initializeLogs?e.error("Could not load logs script",i):(t.logs.initializeLogs(this._instance),this.Pe=!0)})):e.error("PostHog loadExternalDependency extension not found.")}else e.error("PostHog Extensions not found.")}}},D_=Ie("[RateLimiter]"),gh=class{constructor(e){this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=t=>{var n=t.text;if(n&&n.length)try{(JSON.parse(n).quota_limited||[]).forEach((i=>{D_.info((i||"events")+" is quota limited."),this.serverLimits[i]=new Date().getTime()+6e4}))}catch(i){return void D_.warn('could not rate limit - continuing. Error: "'+i?.message+'"',{text:n})}},this.instance=e,this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}get captureEventsPerSecond(){var e;return((e=this.instance.config.rate_limiting)==null?void 0:e.events_per_second)||10}get captureEventsBurstLimit(){var e;return Math.max(((e=this.instance.config.rate_limiting)==null?void 0:e.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond)}clientRateLimitContext(e){var t,n,i;e===void 0&&(e=!1);var{captureEventsBurstLimit:s,captureEventsPerSecond:o}=this,a=new Date().getTime(),l=(t=(n=this.instance.persistence)==null?void 0:n.get_property(Hp))!==null&&t!==void 0?t:{tokens:s,last:a};l.tokens+=(a-l.last)/1e3*o,l.last=a,l.tokens>s&&(l.tokens=s);var c=l.tokens<1;return c||e||(l.tokens=Math.max(0,l.tokens-1)),!c||this.lastEventRateLimited||e||this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:"posthog-js client rate limited. Config is set to "+o+" events per second and "+s+" events burst limit."},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=c,(i=this.instance.persistence)==null||i.set_property(Hp,l),{isRateLimited:c,remainingTokens:l.tokens}}isServerRateLimited(e){var t=this.serverLimits[e||"events"]||!1;return t!==!1&&new Date().getTime()<t}},On=Ie("[RemoteConfig]"),mh=class{constructor(e){this._instance=e}get remoteConfig(){var e;return(e=Q._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.config}Te(e){var t,n;(t=Q.__PosthogExtensions__)!=null&&t.loadExternalDependency?(n=Q.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"remote-config",(()=>e(this.remoteConfig))):(On.error("PostHog Extensions not found. Cannot load remote config."),e())}Ie(e){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets","/array/"+this._instance.config.token+"/config"),callback:t=>{e(t.json)}})}load(){try{if(this.remoteConfig)return On.info("Using preloaded remote config",this.remoteConfig),void this.yi(this.remoteConfig);if(this._instance.M())return void On.warn("Remote config is disabled. Falling back to local config.");this.Te((e=>{if(!e)return On.info("No config found after loading remote JS config. Falling back to JSON."),void this.Ie((t=>{this.yi(t)}));this.yi(e)}))}catch(e){On.error("Error loading remote config",e)}}yi(e){e?this._instance.config.__preview_remote_config?(this._instance.yi(e),e.hasFeatureFlags!==!1&&this._instance.featureFlags.ensureFlagsLoaded()):On.info("__preview_remote_config is disabled. Logging config instead",e):On.error("Failed to fetch remote config from PostHog.")}},vh=3e3,yh=class{constructor(e,t){this.Ce=!0,this.Re=[],this.Fe=Gt(t?.flush_interval_ms||vh,250,5e3,B.createLogger("flush interval"),vh),this.Oe=e}enqueue(e){this.Re.push(e),this.Me||this.Ae()}unload(){this.je();var e=this.Re.length>0?this.De():{},t=Object.values(e);[...t.filter((n=>n.url.indexOf("/e")===0)),...t.filter((n=>n.url.indexOf("/e")!==0))].map((n=>{this.Oe(j({},n,{transport:"sendBeacon"}))}))}enable(){this.Ce=!1,this.Ae()}Ae(){var e=this;this.Ce||(this.Me=setTimeout((()=>{if(this.je(),this.Re.length>0){var t=this.De(),n=function(){var s=t[i],o=new Date().getTime();s.data&&ve(s.data)&&ke(s.data,(a=>{a.offset=Math.abs(a.timestamp-o),delete a.timestamp})),e.Oe(s)};for(var i in t)n()}}),this.Fe))}je(){clearTimeout(this.Me),this.Me=void 0}De(){var e={};return ke(this.Re,(t=>{var n,i=t,s=(i?i.batchKey:null)||i.url;H(e[s])&&(e[s]=j({},i,{data:[]})),(n=e[s].data)==null||n.push(i.data)})),this.Re=[],e}},j1=["retriesPerformedSoFar"],_h=class{constructor(e){this.Le=!1,this.Ne=3e3,this.Re=[],this._instance=e,this.Re=[],this.Ue=!0,!H(E)&&"onLine"in E.navigator&&(this.Ue=E.navigator.onLine,this.ze=()=>{this.Ue=!0,this.Lt()},this.He=()=>{this.Ue=!1},Ne(E,"online",this.ze),Ne(E,"offline",this.He))}get length(){return this.Re.length}retriableRequest(e){var{retriesPerformedSoFar:t}=e,n=W_(e,j1);_i(t)&&(n.url=Hl(n.url,{retry_count:t})),this._instance._send_request(j({},n,{callback:i=>{i.statusCode!==200&&(i.statusCode<400||i.statusCode>=500)&&(t??0)<10?this.Be(j({retriesPerformedSoFar:t},n)):n.callback==null||n.callback(i)}}))}Be(e){var t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;var n=(function(o){var a=3e3*Math.pow(2,o),l=a/2,c=Math.min(18e5,a),u=(Math.random()-.5)*(c-l);return Math.ceil(c+u)})(t),i=Date.now()+n;this.Re.push({retryAt:i,requestOptions:e});var s="Enqueued failed request for retry in "+n;navigator.onLine||(s+=" (Browser is offline)"),B.warn(s),this.Le||(this.Le=!0,this.qe())}qe(){if(this.We&&clearTimeout(this.We),this.Re.length===0)return this.Le=!1,void(this.We=void 0);this.We=setTimeout((()=>{this.Ue&&this.Re.length>0&&this.Lt(),this.qe()}),this.Ne)}Lt(){var e=Date.now(),t=[],n=this.Re.filter((s=>s.retryAt<e||(t.push(s),!1)));if(this.Re=t,n.length>0)for(var{requestOptions:i}of n)this.retriableRequest(i)}unload(){for(var{requestOptions:e}of(this.We&&(clearTimeout(this.We),this.We=void 0),this.Le=!1,H(E)||(this.ze&&(E.removeEventListener("online",this.ze),this.ze=void 0),this.He&&(E.removeEventListener("offline",this.He),this.He=void 0)),this.Re))try{this._instance._send_request(j({},e,{transport:"sendBeacon"}))}catch(t){B.error(t)}this.Re=[]}},bh=class{constructor(e){this.Ge=()=>{var t,n,i,s;this.Ve||(this.Ve={});var o=this.scrollElement(),a=this.scrollY(),l=o?Math.max(0,o.scrollHeight-o.clientHeight):0,c=a+(o?.clientHeight||0),u=o?.scrollHeight||0;this.Ve.lastScrollY=Math.ceil(a),this.Ve.maxScrollY=Math.max(a,(t=this.Ve.maxScrollY)!==null&&t!==void 0?t:0),this.Ve.maxScrollHeight=Math.max(l,(n=this.Ve.maxScrollHeight)!==null&&n!==void 0?n:0),this.Ve.lastContentY=c,this.Ve.maxContentY=Math.max(c,(i=this.Ve.maxContentY)!==null&&i!==void 0?i:0),this.Ve.maxContentHeight=Math.max(u,(s=this.Ve.maxContentHeight)!==null&&s!==void 0?s:0)},this._instance=e}getContext(){return this.Ve}resetContext(){var e=this.Ve;return setTimeout(this.Ge,0),e}startMeasuringScrollPosition(){Ne(E,"scroll",this.Ge,{capture:!0}),Ne(E,"scrollend",this.Ge,{capture:!0}),Ne(E,"resize",this.Ge)}scrollElement(){if(!this._instance.config.scroll_root_selector)return E?.document.documentElement;var e=ve(this._instance.config.scroll_root_selector)?this._instance.config.scroll_root_selector:[this._instance.config.scroll_root_selector];for(var t of e){var n=E?.document.querySelector(t);if(n)return n}}scrollY(){if(this._instance.config.scroll_root_selector){var 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){var e=this.scrollElement();return e&&e.scrollLeft||0}return E&&(E.scrollX||E.pageXOffset||E.document.documentElement.scrollLeft)||0}},U1=r=>Fb(r?.config.mask_personal_data_properties,r?.config.custom_personal_data_properties),Vl=class{constructor(e,t,n,i){this.Je=s=>{var o=this.Ke();if(!o||o.sessionId!==s){var a={sessionId:s,props:this.Ye(this._instance)};this.Xe.register({[Dp]:a})}},this._instance=e,this.Qe=t,this.Xe=n,this.Ye=i||U1,this.Qe.onSessionId(this.Je)}Ke(){return this.Xe.props[Dp]}getSetOnceProps(){var e,t=(e=this.Ke())==null?void 0:e.props;return t?"r"in t?Db(t):{$referring_domain:t.referringDomain,$pathname:t.initialPathName,utm_source:t.utm_source,utm_campaign:t.utm_campaign,utm_medium:t.utm_medium,utm_content:t.utm_content,utm_term:t.utm_term}:{}}getSessionProps(){var e={};return ke(Mh(this.getSetOnceProps()),((t,n)=>{n==="$current_url"&&(n="url"),e["$session_entry_"+vp(n)]=t})),e}},fp=Ie("[SessionId]"),jl=class{on(e,t){return this.Ze.on(e,t)}constructor(e,t,n){var i;if(this.tr=[],this.ir=void 0,this.Ze=new xo,this.er=(u,p)=>!(!_i(u)||!_i(p))&&Math.abs(u-p)>this.sessionTimeoutMs,!e.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(e.config.cookieless_mode==="always")throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.R=e.config,this.Xe=e.persistence,this.rr=void 0,this.sr=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this.nr=t||jr,this.ar=n||jr;var s=this.R.persistence_name||this.R.token,o=this.R.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*Gt(o,60,36e3,fp.createLogger("session_idle_timeout_seconds"),1800),e.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.lr(),this.ur="ph_"+s+"_window_id",this.hr="ph_"+s+"_primary_window_exists",this.dr()){var a=qe.W(this.ur),l=qe.W(this.hr);a&&!l?this.rr=a:qe.V(this.ur),qe.G(this.hr,!0)}if((i=this.R.bootstrap)!=null&&i.sessionID)try{var c=(u=>{var p=u.replace(/-/g,"");if(p.length!==32)throw new Error("Not a valid UUID");if(p[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(p.substring(0,12),16)})(this.R.bootstrap.sessionID);this.vr(this.R.bootstrap.sessionID,new Date().getTime(),c)}catch(u){fp.error("Invalid sessionID in bootstrap",u)}this.cr()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(e){return H(this.tr)&&(this.tr=[]),this.tr.push(e),this.sr&&e(this.sr,this.rr),()=>{this.tr=this.tr.filter((t=>t!==e))}}dr(){return this.R.persistence!=="memory"&&!this.Xe.ki&&qe.H()}pr(e){e!==this.rr&&(this.rr=e,this.dr()&&qe.G(this.ur,e))}gr(){return this.rr?this.rr:this.dr()?qe.W(this.ur):null}vr(e,t,n){e===this.sr&&t===this._sessionActivityTimestamp&&n===this._sessionStartTimestamp||(this._sessionStartTimestamp=n,this._sessionActivityTimestamp=t,this.sr=e,this.Xe.register({[Cl]:[t,e,n]}))}_r(){var e=this.Xe.props[Cl];return ve(e)&&e.length===2&&e.push(e[0]),e||[0,null,0]}resetSessionId(){this.vr(null,null,null)}destroy(){clearTimeout(this.mr),this.mr=void 0,this.ir&&E&&(E.removeEventListener("beforeunload",this.ir,{capture:!1}),this.ir=void 0),this.tr=[]}cr(){this.ir=()=>{this.dr()&&qe.V(this.hr)},Ne(E,"beforeunload",this.ir,{capture:!1})}checkAndGetSessionAndWindowId(e,t){if(e===void 0&&(e=!1),t===void 0&&(t=null),this.R.cookieless_mode==="always")throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');var n=t||new Date().getTime(),[i,s,o]=this._r(),a=this.gr(),l=_i(o)&&Math.abs(n-o)>864e5,c=!1,u=!s,p=!u&&!e&&this.er(n,i);u||p||l?(s=this.nr(),a=this.ar(),fp.info("new session ID generated",{sessionId:s,windowId:a,changeReason:{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}}),o=n,c=!0):a||(a=this.ar(),c=!0);var h=_i(i)&&e&&!l?i:n,f=_i(o)?o:new Date().getTime();return this.pr(a),this.vr(s,h,f),e||this.lr(),c&&this.tr.forEach((v=>v(s,a,c?{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}:void 0))),{sessionId:s,windowId:a,sessionStartTimestamp:f,changeReason:c?{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}:void 0,lastActivityTimestamp:i}}lr(){clearTimeout(this.mr),this.mr=setTimeout((()=>{var[e]=this._r();if(this.er(new Date().getTime(),e)){var t=this.sr;this.resetSessionId(),this.Ze.emit("forcedIdleReset",{idleSessionId:t})}}),1.1*this.sessionTimeoutMs)}},W1=["$set_once","$set"],Br=Ie("[SiteApps]"),xh=class{constructor(e){this._instance=e,this.br=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}yr(e,t){if(t){var n=this.globalsForEvent(t);this.br.push(n),this.br.length>1e3&&(this.br=this.br.slice(10))}}get siteAppLoaders(){var e;return(e=Q._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.siteApps}init(){if(this.isEnabled){var e=this._instance._addCaptureHook(this.yr.bind(this));this.wr=()=>{e(),this.br=[],this.wr=void 0}}}globalsForEvent(e){var t,n,i,s,o,a,l;if(!e)throw new Error("Event payload is required");var c={},u=this._instance.get_property("$groups")||[],p=this._instance.get_property("$stored_group_properties")||{};for(var[h,f]of Object.entries(p))c[h]={id:u[h],type:h,properties:f};var{$set_once:v,$set:g}=e;return{event:j({},W_(e,W1),{properties:j({},e.properties,g?{$set:j({},(t=(n=e.properties)==null?void 0:n.$set)!==null&&t!==void 0?t:{},g)}:{},v?{$set_once:j({},(i=(s=e.properties)==null?void 0:s.$set_once)!==null&&i!==void 0?i:{},v)}:{}),elements_chain:(o=(a=e.properties)==null?void 0:a.$elements_chain)!==null&&o!==void 0?o:"",distinct_id:(l=e.properties)==null?void 0:l.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:c}}setupSiteApp(e){var t=this.apps[e.id],n=()=>{var a;!t.errored&&this.br.length&&(Br.info("Processing "+this.br.length+" events for site app with id "+e.id),this.br.forEach((l=>t.processEvent==null?void 0:t.processEvent(l))),t.processedBuffer=!0),Object.values(this.apps).every((l=>l.processedBuffer||l.errored))&&((a=this.wr)==null||a.call(this))},i=!1,s=a=>{t.errored=!a,t.loaded=!0,Br.info("Site app with id "+e.id+" "+(a?"loaded":"errored")),i&&n()};try{var{processEvent:o}=e.init({posthog:this._instance,callback:a=>{s(a)}});o&&(t.processEvent=o),i=!0}catch(a){Br.error("Error while initializing PostHog app with config id "+e.id,a),s(!1)}if(i&&t.loaded)try{n()}catch(a){Br.error("Error while processing buffered events PostHog app with config id "+e.id,a),t.errored=!0}}Er(){var e=this.siteAppLoaders||[];for(var t of e)this.apps[t.id]={id:t.id,loaded:!1,errored:!1,processedBuffer:!1};for(var n of e)this.setupSiteApp(n)}$r(e){if(Object.keys(this.apps).length!==0){var t=this.globalsForEvent(e);for(var n of Object.values(this.apps))try{n.processEvent==null||n.processEvent(t)}catch(i){Br.error("Error while processing event "+e.event+" for site app "+n.id,i)}}}onRemoteConfig(e){var t,n,i,s=this;if((t=this.siteAppLoaders)!=null&&t.length)return this.isEnabled?(this.Er(),void this._instance.on("eventCaptured",(c=>this.$r(c)))):void Br.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if((n=this.wr)==null||n.call(this),(i=e.siteApps)!=null&&i.length)if(this.isEnabled){var o=function(c){var u;Q["__$$ph_site_app_"+c]=s._instance,(u=Q.__PosthogExtensions__)==null||u.loadSiteApp==null||u.loadSiteApp(s._instance,l,(p=>{if(p)return Br.error("Error while initializing PostHog app with config id "+c,p)}))};for(var{id:a,url:l}of e.siteApps)o(a)}else Br.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}},Zb=function(r,e){if(!r)return!1;var t=r.userAgent;if(t&&Jy(t,e))return!0;try{var n=r?.userAgentData;if(n!=null&&n.brands&&n.brands.some((i=>Jy(i?.brand,e))))return!0}catch{}return!!r.webdriver},po=(function(r){return r.US="us",r.EU="eu",r.CUSTOM="custom",r})({}),H_="i.posthog.com",wh=class{constructor(e){this.Sr={},this.instance=e}get apiHost(){var e=this.instance.config.api_host.trim().replace(/\/$/,"");return e==="https://app.posthog.com"?"https://us.i.posthog.com":e}get flagsApiHost(){var e=this.instance.config.flags_api_host;return e?e.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var e,t=(e=this.instance.config.ui_host)==null?void 0:e.replace(/\/$/,"");return t||(t=this.apiHost.replace("."+H_,".posthog.com")),t==="https://app.posthog.com"?"https://us.posthog.com":t}get region(){return this.Sr[this.apiHost]||(/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=po.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=po.EU:this.Sr[this.apiHost]=po.CUSTOM),this.Sr[this.apiHost]}endpointFor(e,t){if(t===void 0&&(t=""),t&&(t=t[0]==="/"?t:"/"+t),e==="ui")return this.uiHost+t;if(e==="flags")return this.flagsApiHost+t;if(this.region===po.CUSTOM)return this.apiHost+t;var n=H_+t;switch(e){case"assets":return"https://"+this.region+"-assets."+n;case"api":return"https://"+this.region+"."+n}}},z1={icontains:(r,e)=>!!E&&e.href.toLowerCase().indexOf(r.toLowerCase())>-1,not_icontains:(r,e)=>!!E&&e.href.toLowerCase().indexOf(r.toLowerCase())===-1,regex:(r,e)=>!!E&&Bl(e.href,r),not_regex:(r,e)=>!!E&&!Bl(e.href,r),exact:(r,e)=>e.href===r,is_not:(r,e)=>e.href!==r},Sh=class r{constructor(e){var t=this;this.getWebExperimentsAndEvaluateDisplayLogic=function(n){n===void 0&&(n=!1),t.getWebExperiments((i=>{r.kr("retrieved web experiments from the server"),t.Pr=new Map,i.forEach((s=>{if(s.feature_flag_key){var o;t.Pr&&(r.kr("setting flag key ",s.feature_flag_key," to web experiment ",s),(o=t.Pr)==null||o.set(s.feature_flag_key,s));var a=t._instance.getFeatureFlag(s.feature_flag_key);Fe(a)&&s.variants[a]&&t.Tr(s.name,a,s.variants[a].transforms)}else if(s.variants)for(var l in s.variants){var c=s.variants[l];r.Ir(c)&&t.Tr(s.name,l,c.transforms)}}))}),n)},this._instance=e,this._instance.onFeatureFlags((n=>{this.onFeatureFlags(n)}))}onFeatureFlags(e){if(this._is_bot())r.kr("Refusing to render web experiment since the viewer is a likely bot");else if(!this._instance.config.disable_web_experiments){if(pe(this.Pr))return this.Pr=new Map,this.loadIfEnabled(),void this.previewWebExperiment();r.kr("applying feature flags",e),e.forEach((t=>{var n;if(this.Pr&&(n=this.Pr)!=null&&n.has(t)){var i,s=this._instance.getFeatureFlag(t),o=(i=this.Pr)==null?void 0:i.get(t);s&&o!=null&&o.variants[s]&&this.Tr(o.name,s,o.variants[s].transforms)}}))}}previewWebExperiment(){var e=r.getWindowLocation();if(e!=null&&e.search){var t=Pl(e?.search,"__experiment_id"),n=Pl(e?.search,"__experiment_variant");t&&n&&(r.kr("previewing web experiments "+t+" && "+n),this.getWebExperiments((i=>{this.Cr(parseInt(t),n,i)}),!1,!0))}}loadIfEnabled(){this._instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(e,t,n){if(this._instance.config.disable_web_experiments&&!n)return e([]);var i=this._instance.get_property("$web_experiments");if(i&&!t)return e(i);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/web_experiments/?token="+this._instance.config.token),method:"GET",callback:s=>{if(s.statusCode!==200||!s.json)return e([]);var o=s.json.experiments||[];return e(o)}})}Cr(e,t,n){var i=n.filter((s=>s.id===e));i&&i.length>0&&(r.kr("Previewing web experiment ["+i[0].name+"] with variant ["+t+"]"),this.Tr(i[0].name,t,i[0].variants[t].transforms))}static Ir(e){return!pe(e.conditions)&&r.Rr(e)&&r.Fr(e)}static Rr(e){var t;if(pe(e.conditions)||pe((t=e.conditions)==null?void 0:t.url))return!0;var n,i,s,o=r.getWindowLocation();return!!o&&((n=e.conditions)==null||!n.url||z1[(i=(s=e.conditions)==null?void 0:s.urlMatchType)!==null&&i!==void 0?i:"icontains"](e.conditions.url,o))}static getWindowLocation(){return E?.location}static Fr(e){var t;if(pe(e.conditions)||pe((t=e.conditions)==null?void 0:t.utm))return!0;var n=Pb();if(n.utm_source){var i,s,o,a,l,c,u,p,h=(i=e.conditions)==null||(i=i.utm)==null||!i.utm_campaign||((s=e.conditions)==null||(s=s.utm)==null?void 0:s.utm_campaign)==n.utm_campaign,f=(o=e.conditions)==null||(o=o.utm)==null||!o.utm_source||((a=e.conditions)==null||(a=a.utm)==null?void 0:a.utm_source)==n.utm_source,v=(l=e.conditions)==null||(l=l.utm)==null||!l.utm_medium||((c=e.conditions)==null||(c=c.utm)==null?void 0:c.utm_medium)==n.utm_medium,g=(u=e.conditions)==null||(u=u.utm)==null||!u.utm_term||((p=e.conditions)==null||(p=p.utm)==null?void 0:p.utm_term)==n.utm_term;return h&&v&&g&&f}return!1}static kr(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];B.info("[WebExperiments] "+e,n)}Tr(e,t,n){this._is_bot()?r.kr("Refusing to render web experiment since the viewer is a likely bot"):t!=="control"?n.forEach((i=>{if(i.selector){var s;r.kr("applying transform of variant "+t+" for experiment "+e+" ",i);var o=(s=document)==null?void 0:s.querySelectorAll(i.selector);o?.forEach((a=>{var l=a;i.html&&(l.innerHTML=i.html),i.css&&l.setAttribute("style",i.css)}))}})):r.kr("Control variants leave the page unmodified.")}_is_bot(){return ht&&this._instance?Zb(ht,this._instance.config.custom_blocked_useragents):void 0}},q1=Ie("[PostHog ExternalIntegrations]"),Z1={intercom:"intercom-integration",crispChat:"crisp-chat-integration"},kh=class{constructor(e){this._instance=e}it(e,t){var n;(n=Q.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,e,(i=>{if(i)return q1.error("failed to load script",i);t()}))}startIfEnabledOrStop(){var e=this,t=function(o){var a,l,c;!i||(a=Q.__PosthogExtensions__)!=null&&(a=a.integrations)!=null&&a[o]||e.it(Z1[o],(()=>{var u;(u=Q.__PosthogExtensions__)==null||(u=u.integrations)==null||(u=u[o])==null||u.start(e._instance)})),!i&&(l=Q.__PosthogExtensions__)!=null&&(l=l.integrations)!=null&&l[o]&&((c=Q.__PosthogExtensions__)==null||(c=c.integrations)==null||(c=c[o])==null||c.stop())};for(var[n,i]of Object.entries((s=this._instance.config.integrations)!==null&&s!==void 0?s:{})){var s;t(n)}}},Eh="[SessionRecording]",no=Ie(Eh),Ul=class{get started(){var e;return!((e=this.Or)==null||!e.isStarted)}get status(){return this.Or?this.Or.status:this.Mr&&!this.Ar?"disabled":"lazy_loading"}constructor(e){if(this._forceAllowLocalhostNetworkCapture=!1,this.Mr=!1,this.jr=void 0,this._instance=e,!this._instance.sessionManager)throw no.error("started without valid sessionManager"),new Error(Eh+" started without valid sessionManager. This is a bug.");if(this._instance.config.cookieless_mode==="always")throw new Error(Eh+' cannot be used with cookieless_mode="always"')}get Ar(){var e,t=!((e=this._instance.get_property(tp))==null||!e.enabled),n=!this._instance.config.disable_session_recording,i=this._instance.config.disable_session_recording||this._instance.consent.isOptedOut();return E&&t&&n&&!i}startIfEnabledOrStop(e){var t;if(!this.Ar||(t=this.Or)==null||!t.isStarted){var n=!H(Object.assign)&&!H(Array.from);this.Ar&&n?(this.Dr(e),no.info("starting")):this.stopRecording()}}Dr(e){var t,n,i;this.Ar&&(Q!=null&&(t=Q.__PosthogExtensions__)!=null&&(t=t.rrweb)!=null&&t.record&&(n=Q.__PosthogExtensions__)!=null&&n.initSessionRecording?this.Lr(e):(i=Q.__PosthogExtensions__)==null||i.loadExternalDependency==null||i.loadExternalDependency(this._instance,this.Nr,(s=>{if(s)return no.error("could not load recorder",s);this.Lr(e)})))}stopRecording(){var e,t;(e=this.jr)==null||e.call(this),this.jr=void 0,(t=this.Or)==null||t.stop()}Ur(){var e;(e=this._instance.persistence)==null||e.unregister(mb)}zr(e){if(this._instance.persistence){var t,n,i=this._instance.persistence,s=()=>{var o=e.sessionRecording===!1?void 0:e.sessionRecording,a=o?.sampleRate,l=pe(a)?null:parseFloat(a);pe(l)&&this.Ur();var c=o?.minimumDurationMilliseconds;i.register({[tp]:j({enabled:!!o},o,{networkPayloadCapture:j({capturePerformance:e.capturePerformance},o?.networkPayloadCapture),canvasRecording:{enabled:o?.recordCanvas,fps:o?.canvasFps,quality:o?.canvasQuality},sampleRate:l,minimumDurationMilliseconds:H(c)?null:c,endpoint:o?.endpoint,triggerMatchType:o?.triggerMatchType,masking:o?.masking,urlTriggers:o?.urlTriggers})})};s(),(t=this.jr)==null||t.call(this),this.jr=(n=this._instance.sessionManager)==null?void 0:n.onSessionId(s)}}onRemoteConfig(e){"sessionRecording"in e?e.sessionRecording!==!1?(this.zr(e),this.Mr=!0,this.startIfEnabledOrStop()):this.Mr=!0:no.info("skipping remote config with no sessionRecording",e)}log(e,t){var n;t===void 0&&(t="log"),(n=this.Or)!=null&&n.log?this.Or.log(e,t):no.warn("log called before recorder was ready")}get Nr(){var e,t,n=(e=this._instance)==null||(e=e.persistence)==null?void 0:e.get_property(tp);return(n==null||(t=n.scriptConfig)==null?void 0:t.script)||"lazy-recorder"}Lr(e){var t,n;if((t=Q.__PosthogExtensions__)==null||!t.initSessionRecording)throw Error("Called on script loaded before session recording is available");this.Or||(this.Or=(n=Q.__PosthogExtensions__)==null?void 0:n.initSessionRecording(this._instance),this.Or._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),this.Or.start(e)}onRRwebEmit(e){var t;(t=this.Or)==null||t.onRRwebEmit==null||t.onRRwebEmit(e)}overrideLinkedFlag(){var e,t;this.Or||(t=this._instance.persistence)==null||t.register({$replay_override_linked_flag:!0}),(e=this.Or)==null||e.overrideLinkedFlag()}overrideSampling(){var e,t;this.Or||(t=this._instance.persistence)==null||t.register({$replay_override_sampling:!0}),(e=this.Or)==null||e.overrideSampling()}overrideTrigger(e){var t,n;this.Or||(n=this._instance.persistence)==null||n.register({[e==="url"?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),(t=this.Or)==null||t.overrideTrigger(e)}get sdkDebugProperties(){var e;return((e=this.Or)==null?void 0:e.sdkDebugProperties)||{$recording_status:this.status}}tryAddCustomEvent(e,t){var n;return!((n=this.Or)==null||!n.tryAddCustomEvent(e,t))}},go={},Ch=()=>{},bi="posthog",Gb=!N1&&at?.indexOf("MSIE")===-1&&at?.indexOf("Mozilla")===-1,B_=r=>{var e;return j({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,token:"",autocapture:!0,cross_subdomain_cookie:XC(D?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:Ch,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:r??"unset",__preview_deferred_init_extensions:!1,debug:Ze&&Fe(Ze?.search)&&Ze.search.indexOf("__posthog_debug=true")!==-1||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_surveys_automatic_display:!1,disable_conversations:!1,disable_product_tours:!0,disable_external_dependency_loading:!1,enable_recording_console_log:void 0,secure_cookie:(E==null||(e=E.location)==null?void 0:e.protocol)==="https:",ip:!1,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",consent_persistence_name:null,opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_flags:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_only_evaluate_survey_feature_flags:!1,advanced_enable_surveys:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,surveys_request_timeout_ms:1e4,on_request_error:t=>{var n="Bad HTTP status: "+t.statusCode+" "+t.text;B.error(n)},get_device_id:t=>t,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:"identified_only",before_send:void 0,request_queue_config:{flush_interval_ms:vh},error_tracking:{},_onCapture:Ch,__preview_eager_load_replay:!1},(t=>({rageclick:!(t&&t>="2025-11-30")||{content_ignorelist:!0},capture_pageview:!(t&&t>="2025-05-24")||"history_change",session_recording:t&&t>="2025-11-30"?{strictMinimumDuration:!0}:{},external_scripts_inject_target:t&&t>="2026-01-30"?"head":"body",internal_or_test_user_hostname:t&&t>="2026-01-30"?/^(localhost|127\.0\.0\.1)$/:void 0}))(r))},V_=r=>{var e={};H(r.process_person)||(e.person_profiles=r.process_person),H(r.xhr_headers)||(e.request_headers=r.xhr_headers),H(r.cookie_name)||(e.persistence_name=r.cookie_name),H(r.disable_cookie)||(e.disable_persistence=r.disable_cookie),H(r.store_google)||(e.save_campaign_params=r.store_google),H(r.verbose)||(e.debug=r.verbose);var t=Pe({},e,r);return ve(r.property_blacklist)&&(H(r.property_denylist)?t.property_denylist=r.property_blacklist:ve(r.property_denylist)?t.property_denylist=[...r.property_blacklist,...r.property_denylist]:B.error("Invalid value for property_denylist config: "+r.property_denylist)),t},Ah=class{constructor(){this.__forceAllowLocalhost=!1}get Hr(){return this.__forceAllowLocalhost}set Hr(e){B.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=e}},Wl=class r{get decideEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}get flagsEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}constructor(){this.webPerformance=new Ah,this.Br=!1,this.version=pr.LIB_VERSION,this.qr=new xo,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=B_(),this.SentryIntegration=Yp,this.sentryIntegration=e=>(function(t,n){var i=Mb(t,n);return{name:$b,processEvent:s=>i(s)}})(this,e),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.Wr=!1,this.Gr=null,this.Vr=null,this.Jr=null,this.featureFlags=new oh(this),this.toolbar=new Xp(this),this.scrollManager=new bh(this),this.pageViewManager=new Ll(this),this.surveys=new ph(this),this.conversations=new hh(this),this.logs=new fh(this),this.experiments=new Sh(this),this.exceptions=new sh(this),this.rateLimiter=new gh(this),this.requestRouter=new wh(this),this.consent=new Zp(this),this.externalIntegrations=new kh(this),this.people={set:(e,t,n)=>{var i=Fe(e)?{[e]:t}:e;this.setPersonProperties(i),n?.({})},set_once:(e,t,n)=>{var i=Fe(e)?{[e]:t}:e;this.setPersonProperties(void 0,i),n?.({})}},this.on("eventCaptured",(e=>B.info('send "'+e?.event+'"',e)))}init(e,t,n){if(n&&n!==bi){var i,s=(i=go[n])!==null&&i!==void 0?i:new r;return s._init(e,t,n),go[n]=s,go[bi][n]=s,s}return this._init(e,t,n)}_init(e,t,n){var i;if(t===void 0&&(t={}),H(e)||yp(e))return B.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 console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config={},t.debug=this.Kr(t.debug),this.Yr=t,this.Xr=[],t.person_profiles&&(this.Vr=t.person_profiles),this.set_config(Pe({},B_(t.defaults),V_(t),{name:n,token:e})),this.config.on_xhr_error&&B.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=t.disable_compression?void 0:gr.GZipJS;var s=this.Qr();this.persistence=new fo(this.config,s),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new fo(j({},this.config,{persistence:"sessionStorage"}),s);var o=j({},this.persistence.props),a=j({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Zr=new yh((x=>this.ts(x)),this.config.request_queue_config),this.es=new _h(this),this.__request_queue=[];var l=this.config.cookieless_mode==="always"||this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut();if(l||(this.sessionManager=new jl(this),this.sessionPropsManager=new Vl(this,this.sessionManager,this.persistence)),this.config.__preview_deferred_init_extensions?(B.info("Deferring extension initialization to improve startup performance"),setTimeout((()=>{this.rs(l)}),0)):(B.info("Initializing extensions synchronously"),this.rs(l)),pr.DEBUG=pr.DEBUG||this.config.debug,pr.DEBUG&&B.info("Starting in debug mode",{this:this,config:t,thisC:j({},this.config),p:o,s:a}),((i=t.bootstrap)==null?void 0:i.distinctID)!==void 0){var c,u,p=this.config.get_device_id(jr()),h=(c=t.bootstrap)!=null&&c.isIdentifiedID?p:t.bootstrap.distinctID;this.persistence.set_property(hr,(u=t.bootstrap)!=null&&u.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:t.bootstrap.distinctID,$device_id:h})}if(this.ss()){var f,v,g=Object.keys(((f=t.bootstrap)==null?void 0:f.featureFlags)||{}).filter((x=>{var S;return!((S=t.bootstrap)==null||(S=S.featureFlags)==null||!S[x])})).reduce(((x,S)=>{var _;return x[S]=((_=t.bootstrap)==null||(_=_.featureFlags)==null?void 0:_[S])||!1,x}),{}),m=Object.keys(((v=t.bootstrap)==null?void 0:v.featureFlagPayloads)||{}).filter((x=>g[x])).reduce(((x,S)=>{var _,w;return(_=t.bootstrap)!=null&&(_=_.featureFlagPayloads)!=null&&_[S]&&(x[S]=(w=t.bootstrap)==null||(w=w.featureFlagPayloads)==null?void 0:w[S]),x}),{});this.featureFlags.receivedFeatureFlags({featureFlags:g,featureFlagPayloads:m})}if(l)this.register_once({distinct_id:Ks,$device_id:null},"");else if(!this.get_distinct_id()){var y=this.config.get_device_id(jr());this.register_once({distinct_id:y,$device_id:y},""),this.persistence.set_property(hr,"anonymous")}return Ne(E,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),t.segment?_1(this,(()=>this.ns())):this.ns(),Ur(this.config._onCapture)&&this.config._onCapture!==Ch&&(B.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",(x=>this.config._onCapture(x.event,x)))),this.config.ip&&B.warn('The `ip` config option has NO EFFECT AT ALL and has been deprecated. Use a custom transformation or "Discard IP data" project setting instead. See https://posthog.com/tutorials/web-redact-properties#hiding-customer-ip-address for more information.'),this}rs(e){var t=performance.now();this.historyAutocapture=new Kp(this),this.historyAutocapture.startIfEnabled();var n=[];n.push((()=>{new Jp(this).startIfEnabledOrStop()})),n.push((()=>{var i;this.siteApps=new xh(this),(i=this.siteApps)==null||i.init()})),e||n.push((()=>{this.sessionRecording=new Ul(this),this.sessionRecording.startIfEnabledOrStop()})),this.config.disable_scroll_properties||n.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),n.push((()=>{this.autocapture=new Up(this),this.autocapture.startIfEnabled()})),n.push((()=>{this.surveys.loadIfEnabled()})),n.push((()=>{this.logs.loadIfEnabled()})),n.push((()=>{this.conversations.loadIfEnabled()})),n.push((()=>{this.productTours=new ah(this),this.productTours.loadIfEnabled()})),n.push((()=>{this.heatmaps=new eh(this),this.heatmaps.startIfEnabled()})),n.push((()=>{this.webVitalsAutocapture=new Qp(this)})),n.push((()=>{this.exceptionObserver=new Gp(this),this.exceptionObserver.startIfEnabledOrStop()})),n.push((()=>{this.deadClicksAutocapture=new Nl(this,y1),this.deadClicksAutocapture.startIfEnabled()})),n.push((()=>{if(this.os){var i=this.os;this.os=void 0,this.yi(i)}})),this.ls(n,t)}ls(e,t){for(;e.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-t>=30&&e.length>0)return void setTimeout((()=>{this.ls(e,t)}),0);var n=e.shift();if(n)try{n()}catch(s){B.error("Error initializing extension:",s)}}var i=Math.round(performance.now()-t);this.register_for_session({$sdk_debug_extensions_init_method:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",$sdk_debug_extensions_init_time_ms:i}),this.config.__preview_deferred_init_extensions&&B.info("PostHog extensions initialized ("+i+"ms)")}yi(e){var t,n,i,s,o,a,l,c,u;if(!D||!D.body)return B.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((()=>{this.yi(e)}),500);this.config.__preview_deferred_init_extensions&&(this.os=e),this.compression=void 0,e.supportedCompression&&!this.config.disable_compression&&(this.compression=de(e.supportedCompression,gr.GZipJS)?gr.GZipJS:de(e.supportedCompression,gr.Base64)?gr.Base64:void 0),(t=e.analytics)!=null&&t.endpoint&&(this.analyticsDefaultEndpoint=e.analytics.endpoint),this.set_config({person_profiles:this.Vr?this.Vr:"identified_only"}),(n=this.siteApps)==null||n.onRemoteConfig(e),(i=this.sessionRecording)==null||i.onRemoteConfig(e),(s=this.autocapture)==null||s.onRemoteConfig(e),(o=this.heatmaps)==null||o.onRemoteConfig(e),this.surveys.onRemoteConfig(e),this.logs.onRemoteConfig(e),this.conversations.onRemoteConfig(e),(a=this.productTours)==null||a.onRemoteConfig(e),(l=this.webVitalsAutocapture)==null||l.onRemoteConfig(e),(c=this.exceptionObserver)==null||c.onRemoteConfig(e),this.exceptions.onRemoteConfig(e),(u=this.deadClicksAutocapture)==null||u.onRemoteConfig(e)}ns(){try{this.config.loaded(this)}catch(n){B.critical("`loaded` function failed",n)}if(this.us(),this.config.internal_or_test_user_hostname&&Ze!=null&&Ze.hostname){var e=Ze.hostname,t=this.config.internal_or_test_user_hostname;(typeof t=="string"?e===t:t.test(e))&&this.setInternalOrTestUser()}this.config.capture_pageview&&setTimeout((()=>{(this.consent.isOptedIn()||this.config.cookieless_mode==="always")&&this.hs()}),1),new mh(this).load(),this.featureFlags.flags()}us(){var e;this.is_capturing()&&this.config.request_batching&&((e=this.Zr)==null||e.enable())}_dom_loaded(){this.is_capturing()&&Wr(this.__request_queue,(e=>this.ts(e))),this.__request_queue=[],this.us()}_handle_unload(){var e,t;this.surveys.handlePageUnload(),this.config.request_batching?(this.ds()&&this.capture("$pageleave"),(e=this.Zr)==null||e.unload(),(t=this.es)==null||t.unload()):this.ds()&&this.capture("$pageleave",null,{transport:"sendBeacon"})}_send_request(e){this.__loaded&&(Gb?this.__request_queue.push(e):this.rateLimiter.isServerRateLimited(e.batchKey)||(e.transport=e.transport||this.config.api_transport,e.url=Hl(e.url,{ip:this.config.ip?1:0}),e.headers=j({},this.config.request_headers,e.headers),e.compression=e.compression==="best-available"?this.compression:e.compression,e.disableXHRCredentials=this.config.__preview_disable_xhr_credentials,this.config.__preview_disable_beacon&&(e.disableTransport=["sendBeacon"]),e.fetchOptions=e.fetchOptions||this.config.fetch_options,(t=>{var n,i,s,o=j({},t);o.timeout=o.timeout||6e4,o.url=Hl(o.url,{_:new Date().getTime().toString(),ver:pr.LIB_VERSION,compression:o.compression});var a=(n=o.transport)!==null&&n!==void 0?n:"fetch",l=wl.filter((u=>!o.disableTransport||!u.transport||!o.disableTransport.includes(u.transport))),c=(i=(s=hb(l,(u=>u.transport===a)))==null?void 0:s.method)!==null&&i!==void 0?i:l[0].method;if(!c)throw new Error("No available transport method");c(o)})(j({},e,{callback:t=>{var n,i;this.rateLimiter.checkForLimiting(t),t.statusCode>=400&&((n=(i=this.config).on_request_error)==null||n.call(i,t)),e.callback==null||e.callback(t)}}))))}ts(e){this.es?this.es.retriableRequest(e):this._send_request(e)}_execute_array(e){var t,n=[],i=[],s=[];Wr(e,(a=>{a&&(t=a[0],ve(t)?s.push(a):Ur(a)?a.call(this):ve(a)&&t==="alias"?n.push(a):ve(a)&&t.indexOf("capture")!==-1&&Ur(this[t])?s.push(a):i.push(a))}));var o=function(a,l){Wr(a,(function(c){if(ve(c[0])){var u=l;ke(c,(function(p){u=u[p[0]].apply(u,p.slice(1))}))}else this[c[0]].apply(this,c.slice(1))}),l)};o(n,this),o(i,this),o(s,this)}ss(){var e,t;return((e=this.config.bootstrap)==null?void 0:e.featureFlags)&&Object.keys((t=this.config.bootstrap)==null?void 0:t.featureFlags).length>0||!1}push(e){this._execute_array([e])}capture(e,t,n){var i;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Zr){if(this.is_capturing())if(!H(e)&&Fe(e)){var s=!this.config.opt_out_useragent_filter&&this._is_bot();if(!(s&&!this.config.__preview_capture_bot_pageviews)){var o=n!=null&&n.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(o==null||!o.isRateLimited){t!=null&&t.$current_url&&!Fe(t?.$current_url)&&(B.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),t==null||delete t.$current_url),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();var a=new Date,l=n?.timestamp||a,c=jr(),u={uuid:c,event:e,properties:this.calculateEventProperties(e,t||{},l,c)};e==="$pageview"&&this.config.__preview_capture_bot_pageviews&&s&&(u.event="$bot_pageview",u.properties.$browser_type="bot"),o&&(u.properties.$lib_rate_limit_remaining_tokens=o.remainingTokens),n?.$set&&(u.$set=n?.$set);var p,h=e!=="$groupidentify",f=this.vs(n?.$set_once,h);if(f&&(u.$set_once=f),(u=KC(u,n!=null&&n._noTruncate?null:this.config.properties_string_max_length)).timestamp=l,H(n?.timestamp)||(u.properties.$event_time_override_provided=!0,u.properties.$event_time_override_system_time=a),e===uo.DISMISSED||e===uo.SENT){var v=t?.[hp.SURVEY_ID],g=t?.[hp.SURVEY_ITERATION];p={id:v,current_iteration:g},localStorage.getItem(F_(p))||localStorage.setItem(F_(p),"true"),u.$set=j({},u.$set,{[H1({id:v,current_iteration:g},e===uo.SENT?"responded":"dismissed")]:!0})}else e===uo.SHOWN&&(u.$set=j({},u.$set,{[hp.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var m=j({},u.properties.$set,u.$set);if(wi(m)||this.setPersonPropertiesForFlags(m),!pe(this.config.before_send)){var y=this.cs(u);if(!y)return;u=y}this.qr.emit("eventCaptured",u);var x={method:"POST",url:(i=n?._url)!==null&&i!==void 0?i:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),data:u,compression:"best-available",batchKey:n?._batchKey};return!this.config.request_batching||n&&(n==null||!n._batchKey)||n!=null&&n.send_instantly?this.ts(x):this.Zr.enqueue(x),u}B.critical("This capture call is ignored due to client rate limiting.")}}else B.error("No event name provided to posthog.capture")}else B.uninitializedWarning("posthog.capture")}_addCaptureHook(e){return this.on("eventCaptured",(t=>e(t.event,t)))}calculateEventProperties(e,t,n,i,s){if(n=n||new Date,!this.persistence||!this.sessionPersistence)return t;var o=s?void 0:this.persistence.remove_event_timer(e),a=j({},t);if(a.token=this.config.token,a.$config_defaults=this.config.defaults,(this.config.cookieless_mode=="always"||this.config.cookieless_mode=="on_reject"&&this.consent.isExplicitlyOptedOut())&&(a.$cookieless_mode=!0),e==="$snapshot"){var l=j({},this.persistence.properties(),this.sessionPersistence.properties());return a.distinct_id=l.distinct_id,(!Fe(a.distinct_id)&&!yr(a.distinct_id)||yp(a.distinct_id))&&B.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),a}var c,u=E1(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties);if(this.sessionManager){var{sessionId:p,windowId:h}=this.sessionManager.checkAndGetSessionAndWindowId(s,n.getTime());a.$session_id=p,a.$window_id=h}this.sessionPropsManager&&Pe(a,this.sessionPropsManager.getSessionProps());try{var f;this.sessionRecording&&Pe(a,this.sessionRecording.sdkDebugProperties),a.$sdk_debug_retry_queue_size=(f=this.es)==null?void 0:f.length}catch(y){a.$sdk_debug_error_capturing_properties=String(y)}if(this.requestRouter.region===po.CUSTOM&&(a.$lib_custom_api_host=this.config.api_host),c=e!=="$pageview"||s?e!=="$pageleave"||s?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(n):this.pageViewManager.doPageView(n,i),a=Pe(a,c),e==="$pageview"&&D&&(a.title=D.title),!H(o)){var v=n.getTime()-o;a.$duration=parseFloat((v/1e3).toFixed(3))}at&&this.config.opt_out_useragent_filter&&(a.$browser_type=this._is_bot()?"bot":"browser"),(a=Pe({},u,this.persistence.properties(),this.sessionPersistence.properties(),a)).$is_identified=this._isIdentified(),ve(this.config.property_denylist)?ke(this.config.property_denylist,(function(y){delete a[y]})):B.error("Invalid value for property_denylist config: "+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);var g=this.config.sanitize_properties;g&&(B.error("sanitize_properties is deprecated. Use before_send instead"),a=g(a,e));var m=this.fs();return a.$process_person_profile=m,m&&!s&&this.ps("_calculate_event_properties"),a}vs(e,t){var n;if(t===void 0&&(t=!0),!this.persistence||!this.fs()||this.Br)return e;var i=this.persistence.get_initial_props(),s=(n=this.sessionPropsManager)==null?void 0:n.getSetOnceProps(),o=Pe({},i,s||{},e||{}),a=this.config.sanitize_properties;return a&&(B.error("sanitize_properties is deprecated. Use before_send instead"),o=a(o,"$set_once")),t&&(this.Br=!0),wi(o)?void 0:o}register(e,t){var n;(n=this.persistence)==null||n.register(e,t)}register_once(e,t,n){var i;(i=this.persistence)==null||i.register_once(e,t,n)}register_for_session(e){var t;(t=this.sessionPersistence)==null||t.register(e)}unregister(e){var t;(t=this.persistence)==null||t.unregister(e)}unregister_for_session(e){var t;(t=this.sessionPersistence)==null||t.unregister(e)}gs(e,t){this.register({[e]:t})}getFeatureFlag(e,t){return this.featureFlags.getFeatureFlag(e,t)}getFeatureFlagPayload(e){return this.featureFlags.getFeatureFlagPayload(e)}getFeatureFlagResult(e,t){return this.featureFlags.getFeatureFlagResult(e,t)}isFeatureEnabled(e,t){return this.featureFlags.isFeatureEnabled(e,t)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateFlags(e,t,n){var i=n!=null&&n.merge?this.featureFlags.getFlagVariants():{},s=n!=null&&n.merge?this.featureFlags.getFlagPayloads():{},o=j({},i,e),a=j({},s,t),l={};for(var[c,u]of Object.entries(o)){var p=typeof u=="string";l[c]={key:c,enabled:!!p||!!u,variant:p?u:void 0,reason:void 0,metadata:H(a?.[c])?void 0:{id:0,version:void 0,description:void 0,payload:a[c]}}}this.featureFlags.receivedFeatureFlags({flags:l})}updateEarlyAccessFeatureEnrollment(e,t,n){this.featureFlags.updateEarlyAccessFeatureEnrollment(e,t,n)}getEarlyAccessFeatures(e,t,n){return t===void 0&&(t=!1),this.featureFlags.getEarlyAccessFeatures(e,t,n)}on(e,t){return this.qr.on(e,t)}onFeatureFlags(e){return this.featureFlags.onFeatureFlags(e)}onSurveysLoaded(e){return this.surveys.onSurveysLoaded(e)}onSessionId(e){var t,n;return(t=(n=this.sessionManager)==null?void 0:n.onSessionId(e))!==null&&t!==void 0?t:()=>{}}getSurveys(e,t){t===void 0&&(t=!1),this.surveys.getSurveys(e,t)}getActiveMatchingSurveys(e,t){t===void 0&&(t=!1),this.surveys.getActiveMatchingSurveys(e,t)}renderSurvey(e,t){this.surveys.renderSurvey(e,t)}displaySurvey(e,t){t===void 0&&(t=V1),this.surveys.displaySurvey(e,t)}cancelPendingSurvey(e){this.surveys.cancelPendingSurvey(e)}canRenderSurvey(e){return this.surveys.canRenderSurvey(e)}canRenderSurveyAsync(e,t){return t===void 0&&(t=!1),this.surveys.canRenderSurveyAsync(e,t)}identify(e,t,n){if(!this.__loaded||!this.persistence)return B.uninitializedWarning("posthog.identify");if(yr(e)&&(e=e.toString(),B.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),e)if(["distinct_id","distinctid"].includes(e.toLowerCase()))B.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.');else if(e!==Ks){if(this.ps("posthog.identify")){var i=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property("$device_id")){var s=i;this.register_once({$had_persisted_distinct_id:!0,$device_id:s},"")}e!==i&&e!==this.get_property(so)&&(this.unregister(so),this.register({distinct_id:e}));var o=(this.persistence.get_property(hr)||"anonymous")==="anonymous";e!==i&&o?(this.persistence.set_property(hr,"identified"),this.setPersonPropertiesForFlags(j({},n||{},t||{}),!1),this.capture("$identify",{distinct_id:e,$anon_distinct_id:i},{$set:t||{},$set_once:n||{}}),this.Jr=$_(e,t,n),this.featureFlags.setAnonymousDistinctId(i)):(t||n)&&this.setPersonProperties(t,n),e!==i&&(this.reloadFeatureFlags(),this.unregister(Al))}}else B.critical('The string "'+Ks+'" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.');else B.error("Unique user id has not been set in posthog.identify")}setPersonProperties(e,t){if((e||t)&&this.ps("posthog.setPersonProperties")){var n=$_(this.get_distinct_id(),e,t);this.Jr!==n?(this.setPersonPropertiesForFlags(j({},t||{},e||{})),this.capture("$set",{$set:e||{},$set_once:t||{}}),this.Jr=n):B.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}}group(e,t,n){if(e&&t){var i=this.getGroups();i[e]!==t&&this.resetGroupPropertiesForFlags(e),this.register({$groups:j({},i,{[e]:t})}),n&&(this.capture("$groupidentify",{$group_type:e,$group_key:t,$group_set:n}),this.setGroupPropertiesForFlags({[e]:n})),i[e]===t||n||this.reloadFeatureFlags()}else B.error("posthog.group requires a group type and group key")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(e,t){t===void 0&&(t=!0),this.featureFlags.setPersonPropertiesForFlags(e,t)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0),this.ps("posthog.setGroupPropertiesForFlags")&&this.featureFlags.setGroupPropertiesForFlags(e,t)}resetGroupPropertiesForFlags(e){this.featureFlags.resetGroupPropertiesForFlags(e)}reset(e){var t,n,i,s;if(B.info("reset"),!this.__loaded)return B.uninitializedWarning("posthog.reset");var o=this.get_property("$device_id");if(this.consent.reset(),(t=this.persistence)==null||t.clear(),(n=this.sessionPersistence)==null||n.clear(),this.surveys.reset(),this.featureFlags.reset(),(i=this.persistence)==null||i.set_property(hr,"anonymous"),(s=this.sessionManager)==null||s.resetSessionId(),this.Jr=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:Ks,$device_id:null},"");else{var a=this.config.get_device_id(jr());this.register_once({distinct_id:a,$device_id:e?a:o},"")}this.register({$last_posthog_reset:new Date().toISOString()},1)}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var e,t;return(e=(t=this.sessionManager)==null?void 0:t.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&e!==void 0?e:""}get_session_replay_url(e){if(!this.sessionManager)return"";var{sessionId:t,sessionStartTimestamp:n}=this.sessionManager.checkAndGetSessionAndWindowId(!0),i=this.requestRouter.endpointFor("ui","/project/"+this.config.token+"/replay/"+t);if(e!=null&&e.withTimestamp&&n){var s,o=(s=e.timestampLookBack)!==null&&s!==void 0?s:10;if(!n)return i;i+="?t="+Math.max(Math.floor((new Date().getTime()-n)/1e3)-o,0)}return i}alias(e,t){return e===this.get_property(fb)?(B.critical("Attempting to create alias for existing People user - aborting."),-2):this.ps("posthog.alias")?(H(t)&&(t=this.get_distinct_id()),e!==t?(this.gs(so,e),this.capture("$create_alias",{alias:e,distinct_id:t})):(B.warn("alias matches current distinct_id - skipping api call."),this.identify(e),-1)):void 0}set_config(e){var t=j({},this.config);if(Le(e)){var n,i,s,o,a,l,c;Pe(this.config,V_(e));var u=this.Qr();(n=this.persistence)==null||n.update_config(this.config,t,u),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new fo(j({},this.config,{persistence:"sessionStorage"}),u);var p=this.Kr(this.config.debug);vr(p)&&(this.config.debug=p),vr(this.config.debug)&&(this.config.debug?(pr.DEBUG=!0,Re.H()&&Re.G("ph_debug","true"),B.info("set_config",{config:e,oldConfig:t,newConfig:j({},this.config)})):(pr.DEBUG=!1,Re.H()&&Re.V("ph_debug"))),(i=this.exceptionObserver)==null||i.onConfigChange(),(s=this.sessionRecording)==null||s.startIfEnabledOrStop(),(o=this.autocapture)==null||o.startIfEnabled(),(a=this.heatmaps)==null||a.startIfEnabled(),(l=this.exceptionObserver)==null||l.startIfEnabledOrStop(),this.surveys.loadIfEnabled(),this._s(),(c=this.externalIntegrations)==null||c.startIfEnabledOrStop()}}startSessionRecording(e){var t=e===!0,n={sampling:t||!(e==null||!e.sampling),linked_flag:t||!(e==null||!e.linked_flag),url_trigger:t||!(e==null||!e.url_trigger),event_trigger:t||!(e==null||!e.event_trigger)};if(Object.values(n).some(Boolean)){var i,s,o,a,l;(i=this.sessionManager)==null||i.checkAndGetSessionAndWindowId(),n.sampling&&((s=this.sessionRecording)==null||s.overrideSampling()),n.linked_flag&&((o=this.sessionRecording)==null||o.overrideLinkedFlag()),n.url_trigger&&((a=this.sessionRecording)==null||a.overrideTrigger("url")),n.event_trigger&&((l=this.sessionRecording)==null||l.overrideTrigger("event"))}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var e;return!((e=this.sessionRecording)==null||!e.started)}captureException(e,t){var n=new Error("PostHog syntheticException"),i=this.exceptions.buildProperties(e,{handled:!0,syntheticException:n});return this.exceptions.sendExceptionEvent(j({},i,t))}startExceptionAutocapture(e){this.set_config({capture_exceptions:e==null||e})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(e){return this.toolbar.loadToolbar(e)}get_property(e){var t;return(t=this.persistence)==null?void 0:t.props[e]}getSessionProperty(e){var t;return(t=this.sessionPersistence)==null?void 0:t.props[e]}toString(){var e,t=(e=this.config.name)!==null&&e!==void 0?e:bi;return t!==bi&&(t=bi+"."+t),t}_isIdentified(){var e,t;return((e=this.persistence)==null?void 0:e.get_property(hr))==="identified"||((t=this.sessionPersistence)==null?void 0:t.get_property(hr))==="identified"}fs(){var e,t;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&wi(this.getGroups())&&((e=this.persistence)==null||(e=e.props)==null||!e[so])&&((t=this.persistence)==null||(t=t.props)==null||!t[Tl]))}ds(){return this.config.capture_pageleave===!0||this.config.capture_pageleave==="if_capture_pageview"&&(this.config.capture_pageview===!0||this.config.capture_pageview==="history_change")}createPersonProfile(){this.fs()||this.ps("posthog.createPersonProfile")&&this.setPersonProperties({},{})}setInternalOrTestUser(){this.ps("posthog.setInternalOrTestUser")&&this.setPersonProperties({$internal_or_test_user:!0})}ps(e){return this.config.person_profiles==="never"?(B.error(e+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.gs(Tl,!0),!0)}Qr(){if(this.config.cookieless_mode==="always")return!0;var e=this.consent.isOptedOut(),t=this.config.opt_out_persistence_by_default||this.config.cookieless_mode==="on_reject";return this.config.disable_persistence||e&&!!t}_s(){var e,t,n,i,s=this.Qr();return((e=this.persistence)==null?void 0:e.ki)!==s&&((n=this.persistence)==null||n.set_disabled(s)),((t=this.sessionPersistence)==null?void 0:t.ki)!==s&&((i=this.sessionPersistence)==null||i.set_disabled(s)),s}opt_in_capturing(e){var t;if(this.config.cookieless_mode!=="always"){var n,i,s;this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut()&&(this.reset(!0),(n=this.sessionManager)==null||n.destroy(),(i=this.pageViewManager)==null||i.destroy(),this.sessionManager=new jl(this),this.pageViewManager=new Ll(this),this.persistence&&(this.sessionPropsManager=new Vl(this,this.sessionManager,this.persistence)),this.sessionRecording=new Ul(this),this.sessionRecording.startIfEnabledOrStop()),this.consent.optInOut(!0),this._s(),this.us(),(t=this.sessionRecording)==null||t.startIfEnabledOrStop(),this.config.cookieless_mode=="on_reject"&&this.surveys.loadIfEnabled(),(H(e?.captureEventName)||e!=null&&e.captureEventName)&&this.capture((s=e?.captureEventName)!==null&&s!==void 0?s:"$opt_in",e?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.hs()}else B.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}opt_out_capturing(){var e,t,n;this.config.cookieless_mode!=="always"?(this.config.cookieless_mode==="on_reject"&&this.consent.isOptedIn()&&this.reset(!0),this.consent.optInOut(!1),this._s(),this.config.cookieless_mode==="on_reject"&&(this.register({distinct_id:Ks,$device_id:null}),(e=this.sessionManager)==null||e.destroy(),(t=this.pageViewManager)==null||t.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,(n=this.sessionRecording)==null||n.stopRecording(),this.sessionRecording=void 0,this.hs())):B.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){var e=this.consent.consent;return e===fr.GRANTED?"granted":e===fr.DENIED?"denied":"pending"}is_capturing(){return this.config.cookieless_mode==="always"||(this.config.cookieless_mode==="on_reject"?this.consent.isExplicitlyOptedOut()||this.consent.isOptedIn():!this.has_opted_out_capturing())}clear_opt_in_out_capturing(){this.consent.reset(),this._s()}_is_bot(){return ht?Zb(ht,this.config.custom_blocked_useragents):void 0}hs(){D&&(D.visibilityState==="visible"?this.Wr||(this.Wr=!0,this.capture("$pageview",{title:D.title},{send_instantly:!0}),this.Gr&&(D.removeEventListener("visibilitychange",this.Gr),this.Gr=null)):this.Gr||(this.Gr=this.hs.bind(this),Ne(D,"visibilitychange",this.Gr)))}debug(e){e===!1?(E?.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(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)`."),this.set_config({debug:!0}))}M(){var e,t,n,i,s,o,a,l=this.Yr||{};return"advanced_disable_flags"in l?!!l.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?(B.warn("Config field 'advanced_disable_decide' is deprecated. Please use 'advanced_disable_flags' instead. The old field will be removed in a future major version."),!0):(n="advanced_disable_decide",i=!1,s=B,o=(t="advanced_disable_flags")in(e=l)&&!pe(e[t]),a=n in e&&!pe(e[n]),o?e[t]:a?(s&&s.warn("Config field '"+n+"' is deprecated. Please use '"+t+"' instead. The old field will be removed in a future major version."),e[n]):i)}cs(e){if(pe(this.config.before_send))return e;var t=ve(this.config.before_send)?this.config.before_send:[this.config.before_send],n=e;for(var i of t){if(n=i(n),pe(n)){var s="Event '"+e.event+"' was rejected in beforeSend function";return wC(e.event)?B.warn(s+". This can cause unexpected behavior."):B.info(s),null}n.properties&&!wi(n.properties)||B.warn("Event '"+e.event+"' has no properties after beforeSend function, this is likely an error.")}return n}getPageViewId(){var e;return(e=this.pageViewManager.Kt)==null?void 0:e.pageViewId}captureTraceFeedback(e,t){this.capture("$ai_feedback",{$ai_trace_id:String(e),$ai_feedback_text:t})}captureTraceMetric(e,t,n){this.capture("$ai_metric",{$ai_trace_id:String(e),$ai_metric_name:t,$ai_metric_value:String(n)})}Kr(e){var t=vr(e)&&!e,n=Re.H()&&Re.q("ph_debug")==="true";return!t&&(!!n||e)}};(function(r,e){for(var t=0;t<e.length;t++)r.prototype[e[t]]=GC(r.prototype[e[t]])})(Wl,["identify"]);var j_;var Kb=(j_=go[bi]=new Wl,(function(){function r(){r.done||(r.done=!0,Gb=!1,ke(go,(function(e){e._dom_loaded()})))}D!=null&&D.addEventListener?D.readyState==="complete"?r():Ne(D,"DOMContentLoaded",r,{capture:!1}):E&&B.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")})(),j_);var Dh=class{constructor(e={}){this.options=e;if(this.client=e.client,this.featureFlagsCallback=e.onFeatureFlagsLoaded,this.captureCallback=e.onCapture,this.rrwebCallback=e.onRRWebEvent,!this.client&&e.consent&&e.requireExplicitConsent&&typeof window<"u"&&e.apiKey){let t=e.consent;t.getStatus()==="granted"&&this.initPostHog(),t.subscribe(i=>{i==="granted"?this.client?this.client.opt_in_capturing():this.initPostHog():i==="denied"&&this.client&&this.client.opt_out_capturing()});return}!this.client&&typeof window<"u"&&e.apiKey&&this.initPostHog()}initPostHog(){let e=this.options;if(!e.apiKey)return;let t=e.enableFeatureFlags??!0,n=`syntro_${e.apiKey.slice(-6)||"sdk"}`,o={api_host:`${(e.apiHost??"https://telemetry.syntrologie.com").replace(/\/$/,"")}/t/${e.apiKey}`,advanced_disable_feature_flags:!t,advanced_disable_feature_flags_on_first_load:!t,autocapture:e.autocapture??!0,capture_pageview:e.capturePageview??"history_change",capture_pageleave:e.capturePageleave??!0,disable_session_recording:!(e.sessionRecording??!0),opt_out_useragent_filter:!0,session_recording:{recordCrossDomainIFrames:!0},capture_performance:!0,enable_recording_console_log:!0},a=Kb.init(e.apiKey,o,n);if(a&&(this.client=a),this.captureCallback&&this.client&&this.client.on("eventCaptured",(...l)=>{let c=l[0],u=typeof c=="string"?c:c?.event,p=typeof c=="string"?void 0:c?.properties;typeof u=="string"&&this.captureCallback?.(u,p)}),t&&this.featureFlagsCallback&&this.client){this.client.onFeatureFlags(()=>{let c=this.getAllFeatureFlags();c&&this.featureFlagsCallback&&this.featureFlagsCallback(c)});let l=this.getAllFeatureFlags();l&&Object.keys(l).length>0&&this.featureFlagsCallback(l)}this.rrwebCallback&&this.client&&this.setupRRWebIntercept()}setupRRWebIntercept(e=30){let t=this.client?.sessionRecording;if(!t){e>0&&setTimeout(()=>this.setupRRWebIntercept(e-1),500);return}let n=null,i=t;for(let o of Object.getOwnPropertyNames(i)){let a=i[o];if(a&&typeof a=="object"&&typeof a.onRRwebEmit=="function"&&typeof a.start=="function"&&a!==t){n=a;break}}if(!n){e>0&&setTimeout(()=>this.setupRRWebIntercept(e-1),500);return}let s=n.onRRwebEmit.bind(n);n.onRRwebEmit=o=>{this.rrwebCallback?.({kind:"rrweb",...o}),s(o)},typeof window<"u"&&(window.__RRWEB_INTERCEPT_READY__=!0)}getAllFeatureFlags(){return this.client?.featureFlags?.getFlagVariants()}getSegmentFlags(){let e=this.getAllFeatureFlags();if(!e)return{};let t={};for(let[n,i]of Object.entries(e))n.startsWith("in_segment_")&&(t[n]=i===!0);return t}identify(e,t){this.client?.identify(e,t)}alias(e,t){this.client?.alias(e,t)}track(e,t){this.client?.capture(e,t)}trackCanvasOpened(e){this.track("shadow_canvas_opened",{surface:e})}trackCanvasClosed(e){this.track("shadow_canvas_closed",{surface:e})}trackRectangleViewed(e,t){this.track("shadow_canvas_rectangle_viewed",{rectangleId:e,surface:t})}trackAction(e,t,n){this.track("shadow_canvas_action",{action:e,rectangleId:t,surface:n})}register(e){this.client?.register?.(e)}getSessionId(){return this.client?.get_session_id?.()}startSessionRecording(){this.client?.startSessionRecording?.()}trackExperiment(e,t,n){let i=`$experiment_${e}`;this.register({[i]:n??`variation_${t}`,[`${i}_id`]:t}),this.track("$experiment_started",{$experiment_key:e,$experiment_variation_id:t,$experiment_variation_name:n??`variation_${t}`})}setPersonProperties(e){this.client?.capture("$set",{$set:e})}setPersonPropertiesOnce(e){this.client?.capture("$set",{$set_once:e})}getDistinctId(){return this.client?.get_distinct_id?.()}};function Hh(r={}){return new Dh(r)}var Yb={posthog:r=>Hh(r),noop:()=>Xd()};function Xb(r,e){let t=Yb[r];if(!t)throw new Error(`Unknown telemetry provider: ${r}. Supported: ${Object.keys(Yb).join(", ")}`);return t(e)}async function Jb(r){mu(),q("Syntro Bootstrap","====== INIT ======"),q("Syntro Bootstrap","Options:",{hasToken:!!r.token,tokenPrefix:`${r.token?.slice(0,15)}...`,hasCanvasOptions:!!r.canvas});let e=Ba();if(console.log(`[DIAG] Mode detection: sdkMode=${e}`),console.log("[DIAG] editorSource:",Ps()),console.log("[DIAG] editorConf:",Ha()),q("Syntro Bootstrap","SDK mode:",e??"normal"),!e&&typeof window<"u"){let L=!!window.__SYNTRO_EDITOR_PARAMS__,re=!!window.__SYNTRO_AUDIT_LEGEND__,G=!!window.__SYNTRO_REVIEW_DATA__;if(L||re||G){let ce=[L&&"__SYNTRO_EDITOR_PARAMS__",re&&"__SYNTRO_AUDIT_LEGEND__",G&&"__SYNTRO_REVIEW_DATA__"].filter(Boolean);console.warn(`[Syntro Bootstrap] \u26A0 Mode detection returned null but mode-specific globals found: ${ce.join(", ")}. This suggests URL params were lost (redirect?) but the service worker injected mode data. Check if replaceState failed or if page JS changed the URL before init().`)}}console.log(`[DIAG] Token resolution: options.token=${r.token?r.token.slice(0,15)+"...":"null"}`);let t=r.token;if(!t&&e){let re=Ha()?.syntro_token;re?.startsWith("syn_")&&(t=re,q("Syntro Bootstrap",`\u2713 Using syntro_token from editor_conf (${e} mode)`))}let n;if(t)if(t.startsWith("syn_"))q("Syntro Bootstrap","Token starts with syn_, decoding..."),n=Os(t),mu(n.d);else if(e)q("Syntro Bootstrap",`\u2713 Non-syn_ token allowed (${e} mode)`);else throw Aa("Syntro Bootstrap","\u274C Token does not start with syn_ and NOT in editor/audit/review mode!"),Aa("Syntro Bootstrap","Token received:",t),new Error("Invalid Syntro token: must start with 'syn_'");else if(e)q("Syntro Bootstrap",`\u2713 No token, but ${e} mode - proceeding`);else throw Aa("Syntro Bootstrap","\u274C No token provided and NOT in editor/audit/review mode!"),new Error("Syntro token is required (unless in editor, audit, or review mode)");let i=kt("NEXT_PUBLIC_SYNTRO_EXPERIMENT_HOST")||kt("VITE_SYNTRO_EXPERIMENT_HOST")||n?.eh,s=kt("NEXT_PUBLIC_SYNTRO_TELEMETRY_HOST")||kt("VITE_SYNTRO_TELEMETRY_HOST")||n?.th,o=kt("NEXT_PUBLIC_SYNTRO_EDITOR_URL")||kt("VITE_SYNTRO_EDITOR_URL")||r.canvas?.editorUrl,a=n?.g||kt("NEXT_PUBLIC_SYNTRO_GEO_HOST")||kt("VITE_SYNTRO_GEO_HOST")||Fv,l=Ov(),c=rd(),u=r.appSignalsInit??{},p={...c,...l,...u};q("Syntro Bootstrap","Phase 1: Browser metadata:",c),q("Syntro Bootstrap","Phase 1: Cached segment attributes:",l),Object.keys(u).length>0&&q("Syntro Bootstrap","Phase 1: App signals:",u);let h=nd(a),f=(()=>{try{if(typeof window>"u"||window.self===window.top)return Promise.resolve(null)}catch{}return new Promise(L=>{let re=setTimeout(()=>{window.removeEventListener("message",G),L(null)},500);function G(ce){let he=ce.data;he?.jsonrpc==="2.0"&&he?.id===1&&he?.result?.hostInfo&&(clearTimeout(re),window.removeEventListener("message",G),L(he.result.hostInfo))}window.addEventListener("message",G);try{window.parent.postMessage({jsonrpc:"2.0",id:1,method:"ui/initialize",params:{capabilities:{}}},"*")}catch{clearTimeout(re),window.removeEventListener("message",G),L(null)}})})(),v,g=r.debug||r.testMode,m=Ns({debug:r.debug,history:g?new Ls(r.testMode?0:100):void 0,testMode:r.testMode});console.log("[Syntro Bootstrap] EventBus created");let y=du({elementResolver:typeof window<"u"?(L,re)=>{let G=document.elementFromPoint(L,re);if(!G)return null;let ce={tag_name:G.tagName.toLowerCase()};G.id&&(ce.attr__id=G.id),G.className&&typeof G.className=="string"&&(ce.classes=G.className.split(" ").filter(Boolean));for(let he of G.attributes)he.name.startsWith("data-")&&(ce[`attr__${he.name}`]=he.value);return ce}:void 0});y.onEvent(L=>m.publishEvent(L)),typeof window<"u"&&(setInterval(()=>y.tick(Date.now()),1e3),document.addEventListener("click",L=>{let re=[],G=L.target;for(;G&&G!==document.body;){let ce={tag_name:G.tagName.toLowerCase()};for(let he of G.attributes)(he.name.startsWith("data-")||he.name==="id"||he.name==="class"||he.name==="aria-label")&&(ce[`attr__${he.name}`]=he.value);re.push(ce),G=G.parentElement}y.enrichClickAttributes(Date.now(),re)},!0));let x=My(),S,_=L=>{q("Syntro Bootstrap","Phase 2: PostHog feature flags loaded");let re=Lv(L);if(q("Syntro Bootstrap","Segment flags from PostHog:",re),Nv(re),v){let G=C?.getAll?.()??{},ce={...c,...G,...re,...u};q("Syntro Bootstrap","Updating GrowthBook with attributes:",ce),v.setAttributes?.(ce)}if(S&&w?.getDistinctId){let G=w.getDistinctId();G&&s&&n?.t&&S.updateContext({distinctId:G,telemetryHost:s,telemetryKey:n.t})}},w;if(n?.t){let L=n.t==="noop"?"noop":"posthog";w=Xb(L,{apiKey:n.t,apiHost:s,enableFeatureFlags:!0,sessionRecording:!0,onFeatureFlagsLoaded:_,onCapture:(G,ce)=>{y.ingest({kind:"posthog",event:G,properties:ce,timestamp:Date.now()})},onRRWebEvent:G=>{y.ingest(G)}}),console.log(`[Syntro Bootstrap] Telemetry client created (${L}) with EventBus wiring`),Object.keys(u).length>0&&(w.track?.("app_signals_init",u),q("Syntro Bootstrap","Tracked app signals event:",u));let re=w;if(m.setPosthogCapture((G,ce)=>{re.track?.(G,ce)}),x?.name==="shopify"&&s)try{S=new cl({distinctId:w.getDistinctId?.()??"",telemetryHost:s,telemetryKey:n.t}),q("Syntro Bootstrap","ShopifyPixelBridge initialized for checkout attribution")}catch(G){Qe("Syntro Bootstrap","ShopifyPixelBridge init failed",G)}}let C;n?.e&&(v=Cy("growthbook",{clientKey:n.e,apiHost:i,attributes:p,onExperimentViewed:w?.trackExperiment?(L,re,G)=>{w.trackExperiment(L,re,G)}:void 0})),C=Rd({experiments:v,onMetricChange:(L,re)=>{q("Syntro Bootstrap",`Session metric changed: ${L} = ${re}`)}}),q("Syntro Bootstrap","SessionMetricTracker created");let b="production";e==="editor"?b="editor":e==="audit"?b="audit":kt("NODE_ENV")==="development"&&(b="development");let A=typeof c.surface_type=="string"?c.surface_type:"web",$=typeof c.surface_host=="string"?c.surface_host:"web",T=Kd({telemetry:w,sessionMetrics:C,mode:b,events:m,initialSurfaceType:A,initialSurfaceHost:$});q("Syntro Bootstrap","Runtime created:",{version:T.version,mode:T.mode,hasContext:!!T.context,hasEvents:!!T.events,hasState:!!T.state}),q("Syntro Bootstrap","Core app executors already registered");let M=r.cdnBase||kt("NEXT_PUBLIC_SYNTRO_CDN_BASE")||kt("VITE_SYNTRO_CDN_BASE")||Dv()||"https://cdn.syntrologie.com",K=Rc({cdnBase:M,registry:T.apps,onLoadStart:L=>{q("Syntro Bootstrap",`Loading app from CDN: ${L}`)},onLoadEnd:(L,re,G)=>{re?q("Syntro Bootstrap",`App loaded successfully: ${L}`):Qe("Syntro Bootstrap",`Failed to load app: ${L}`,G)}});typeof window<"u"&&(window.SynOS={...window.SynOS,appRegistry:T.apps,appLoader:K,runtime:T,version:T.version},q("Syntro Bootstrap","Global SynOS object exposed")),typeof window<"u"&&window.parent!==window&&K.loadApp("adaptive-mcp").catch(L=>{q("Syntro Bootstrap","auto-load of adaptive-mcp failed (non-fatal):",L)});let N=T.apps.list?.()??[];console.log(`[DIAG] Activation loop: ${N.length} apps in registry:`,N.map(L=>`${L.manifest.id}(${L.state})`).join(", "));for(let L of N)if(L.state==="registered")try{await T.apps.activate(L.manifest.id),console.log(`[DIAG] Activated: ${L.manifest.id} \u2192 widgets: [${T.widgets.list().join(", ")}]`)}catch(re){console.error(`[DIAG] FAILED to activate: ${L.manifest.id}`,re),Qe("Syntro Bootstrap",`Failed to auto-activate built-in app: ${L.manifest.id}`,re)}if(console.log(`[DIAG] Activation complete. Total widgets: [${T.widgets.list().join(", ")}]`),v?.refreshFeatures)try{await v.refreshFeatures(),q("Syntro Bootstrap","GrowthBook features loaded")}catch(L){Qe("Syntro Bootstrap","Failed to load GrowthBook features:",L)}let P=await h;if(v&&Object.keys(P).length>0){let L={...c,...P,...u};q("Syntro Bootstrap","Merging geo data into GrowthBook attributes:",P),v.setAttributes?.(L)}let z=await f;z&&v&&(c.surface_type="mcp-app",c.surface_host=z.name,v.setAttributes?.({...c,...P}),T.context.setSurfaceType("mcp-app"),T.context.setSurfaceHost(z.name),q("Syntro Bootstrap","MCP App detected:",z.name));let Z;if(r.fetcher)Z=r.fetcher;else if(n?.f){let L=Iy(n.f,n.o??{});Z=async()=>{let re=await L.fetch();return{...re.config,tiles:re.config.tiles??[]}}}else v&&(Z=ni({experiments:v}));let oe=new Set,V=Z?async()=>{let L=await Z(),re=L.tiles?.length??0,G=L.actions?.length??0,ce=L.meta?.variant_id;if((re>0||G>0)&&(ce||console.warn("[Syntro] Config has content but no meta.variant_id \u2014 intervention tracking disabled")),w&&ce){let $e=typeof window<"u"?window.SynOS??(window.SynOS={}):void 0,rt=$e?.interventionTracker,Dt;rt&&rt.variantId===ce?Dt=rt:(Dt=new Gs(w,ce),$e&&($e.interventionTracker=Dt),T.navigation.subscribe(()=>{Dt.resetPage()})),Dt.trackServed(re,G)}console.log("[Syntro Bootstrap] Config fetched:",`tiles=${L.tiles?.length??0},`,`actions=${L.actions?.length??0},`,`theme=${L.theme?.name??"none"}`),L.actions?.length>0&&console.log("[Syntro Bootstrap] Actions in config:",L.actions.map(($e,rt)=>`[${rt}] ${$e.kind}${$e.anchorId?` anchor="${$e.anchorId.selector}"`:""}${$e.label?` "${$e.label}"`:""}`).join(", "));let he=L,ft=K.getRequiredApps(he);return ft.length>0?console.log("[Syntro Bootstrap] Required external apps:",ft.join(", ")):q("Syntro Bootstrap","No external apps required (all executors are built-in)"),ft.length>0&&await K.loadAppsForConfig(he).then(async rt=>{let Dt=rt.filter(Oe=>Oe.success),Gl=rt.filter(Oe=>!Oe.success);Dt.length>0&&console.log(`[Syntro Bootstrap] Apps loaded from CDN: ${Dt.map(Oe=>Oe.appId).join(", ")}`);let gt=Gl.filter(Oe=>!oe.has(Oe.appId));gt.length>0&&(console.error("[Syntro Bootstrap] Apps FAILED to load from CDN:",gt.map(Oe=>`${Oe.appId} (${Oe.error})`).join(", ")),gt.forEach(Oe=>oe.add(Oe.appId)));for(let Oe of ft)if(T.apps.has(Oe))try{await T.apps.activate(Oe),console.log(`[Syntro Bootstrap] App activated: ${Oe}`)}catch(Co){console.error(`[Syntro Bootstrap] Failed to activate app: ${Oe}`,Co)}else console.error(`[Syntro Bootstrap] App "${Oe}" required by config but NOT registered.`,`Available apps: [${Array.from(T.apps.list?.()??[]).join(", ")}]`)}),L}:void 0;if(x){q("Syntro Bootstrap",`Detected platform: ${x.name}`);try{await x.onInit(),q("Syntro Bootstrap",`Platform adapter initialized: ${x.name}`)}catch(L){Qe("Syntro Bootstrap",`Platform adapter init failed: ${x.name}`,L)}}let X=await Qu({...r.canvas,fetcher:V,integrations:{experiments:v,telemetry:w},editorUrl:o,runtime:T});if(X.setOverrideFetcher){let L=X.setOverrideFetcher.bind(X);X.setOverrideFetcher=re=>{L(async()=>{let ce=await re(),he=ce;if(K.getRequiredApps(he).length>0){let $e=await K.loadAppsForConfig(he);for(let rt of $e)if(rt.success&&T.apps.has(rt.appId))try{await T.apps.activate(rt.appId)}catch{}}return ce})}}return{canvas:X,runtime:T,experiments:v,telemetry:w,sessionMetrics:C,appLoader:K}}async function G1(r){try{return await Jb(r)}catch(e){let t=e instanceof Error?e.message:String(e);console.warn("[Syntrologie] SDK initialization failed:",t),typeof document<"u"&&document.getElementById("syntrologie-anti-flicker")?.remove();return}}function K1(r,e={}){if(typeof window>"u")return;let t=window.SynOS?.runtime;t?.events?.publish&&t.events.publish({name:r,source:"custom",props:e})}async function Y1(r){if(typeof window>"u")return{appId:r,success:!1,error:"no-window"};let e=window.SynOS?.appLoader;return e?e.loadApp(r):{appId:r,success:!1,error:"syntro-not-initialized"}}var Qb={init:G1,loadAdaptive:Y1,encodeToken:td,decodeToken:Os,events:{emit:K1}};typeof window<"u"&&(window.Syntro=Qb);function Eo(r){let e=r.split(".");return{major:parseInt(e[0]||"0",10),minor:parseInt(e[1]||"0",10)}}function ZN(r){let e=[],t=[];if(!r||typeof r!="object")return{valid:!1,errors:["Config must be an object"],warnings:e};let n=r;if(n.tiles||t.push("Config missing required field: tiles"),n.actions||t.push("Config missing required field: actions"),n.fetchedAt||t.push("Config missing required field: fetchedAt"),t.length>0)return{valid:!1,errors:t,warnings:e};let i=n.schemaVersion||"1.0",s=Eo(i),o=Eo(Tr);return s.major>o.major&&e.push(`Config schema v${i} is newer than SDK v${Tr}. Some features may not work. Update SDK to latest version.`),s.major<o.major||!n.schemaVersion?(e.push(`Config schema v${i} is older than SDK v${Tr}. Migrating config to current version.`),{valid:!0,warnings:e,errors:t,migratedConfig:X1(n,i)}):{valid:!0,warnings:e,errors:t}}function X1(r,e){let t={...r};return Eo(e).major===1&&(t=J1(t)),t.schemaVersion=Tr,t}function J1(r){let e={schemaVersion:"2.0",tiles:[],actions:r.actions||[],fetchedAt:r.fetchedAt||new Date().toISOString()};return r.tiles&&Array.isArray(r.tiles)&&(e.tiles=r.tiles.map(t=>{let n={...t};return t.experiment&&delete n.experiment,n})),r.configVersion&&(e.configVersion=r.configVersion),r.canvasTitle&&(e.canvasTitle=r.canvasTitle),r.theme&&(e.theme=r.theme),r.launcher&&(e.launcher=r.launcher),e}function GN(r){if(!r||typeof r!="object")return!1;let e=r,t=e.schemaVersion||"1.0",n=Eo(t),i=Eo(Tr);return n.major<i.major||!e.schemaVersion}var Q1=d.object({url:d.string(),routeId:d.string().optional(),title:d.string().optional(),locale:d.string().optional()}),eA=d.object({url:d.string(),ts:d.number()}),tA=d.object({sessionId:d.string(),startTs:d.number(),pageHistory:d.array(eA).optional()}),rA=d.object({width:d.number(),height:d.number()}),nA=d.object({x:d.number(),y:d.number(),w:d.number(),h:d.number()}),iA=d.object({anchorId:d.string(),present:d.boolean(),visible:d.boolean().optional(),boundingBox:nA.optional()}),sA=d.record(d.string(),d.union([d.number(),d.string(),d.boolean(),d.undefined()])),oA=d.object({page:Q1,session:tA,viewport:rA,anchors:d.array(iA).optional(),augmented:sA.optional()});function XN(r){return oA.safeParse(r)}var Bh=class{constructor(e,t,n,i){this._isFallback=!0;this._isLoading=!0;this._cancelled=!1;this._host=e,this._runtime=t,this._strategy=n,this._defaultValue=i,this._value=i,e.addController(this)}get value(){return this._value}get isFallback(){return this._isFallback}get isLoading(){return this._isLoading}hostConnected(){this._evaluate()}hostDisconnected(){this._cancelled=!0}setStrategy(e){this._strategy=e,this._evaluate()}_evaluate(){if(this._cancelled=!1,!this._runtime||!this._strategy){this._value=this._defaultValue,this._isFallback=!0,this._isLoading=!1,this._host.requestUpdate();return}this._isLoading=!0,this._host.requestUpdate();let e=this._strategy;this._runtime.evaluate(e).then(t=>{this._cancelled||(this._value=t.value,this._isFallback=t.isFallback,this._isLoading=!1,this._host.requestUpdate())})}};var Vh=class{constructor(e,t){this._unsubscribe=null;this.host=e,this._runtime=t,this._context=t.context.get(),e.addController(this)}hostConnected(){this._context=this._runtime.context.get(),this._unsubscribe=this._runtime.context.subscribe(e=>{this._context=e,this.host.requestUpdate()})}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=null}get runtime(){return this._runtime}get context(){return this._context}get page(){return this._context?.page??null}get session(){return this._context?.session??null}get viewport(){return this._context?.viewport??null}};var jh=class{constructor(e,t,n,i){this._host=e,this._runtime=t,this._filter=n,this._callback=i,e.addController(this)}hostConnected(){this._subscribe()}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=void 0}setFilter(e){this._filter=e,this._unsubscribe!==void 0&&(this._unsubscribe(),this._unsubscribe=void 0,this._subscribe())}setCallback(e){this._callback=e,this._unsubscribe!==void 0&&(this._unsubscribe(),this._unsubscribe=void 0,this._subscribe())}_subscribe(){this._runtime&&(this._unsubscribe=this._filter?this._runtime.events.subscribe(this._filter,this._callback):this._runtime.events.subscribe(this._callback))}};var e0=d.enum(["posthog","canvas","derived"]),aA=d.object({ts:d.number(),name:d.string(),source:e0,props:d.record(d.string(),d.unknown()).optional(),schemaVersion:d.string()}),lA=d.object({names:d.array(d.string()).optional(),patterns:d.array(d.string()).optional(),sources:d.array(e0).optional()});function xL(r){return aA.safeParse(r)}function wL(r){return lA.safeParse(r)}var t0=d.union([d.object({type:d.literal("data"),key:d.string(),value:d.string().optional()}),d.object({type:d.literal("css"),value:d.string()}),d.object({type:d.literal("aria"),role:d.string().optional(),label:d.string().optional()}),d.object({type:d.literal("shadow-css"),value:d.string()}),d.object({type:d.literal("ref"),el:d.any()})]),cA=d.object({kind:d.literal("tooltip"),id:d.string(),anchor:t0,content:d.object({title:d.string().optional(),body:d.string()}),placement:d.enum(["top","bottom","left","right","auto"]).optional(),offsetPx:d.number().optional(),blocking:d.boolean().optional(),trigger:d.enum(["immediate","hover","click"]).optional(),dismiss:d.object({onEsc:d.boolean().optional(),closeButton:d.boolean().optional(),timeoutMs:d.number().optional()}).optional()}),uA=d.object({kind:d.literal("highlight"),id:d.string(),anchor:t0,copy:d.string().optional(),ring:d.object({paddingPx:d.number().optional(),radiusPx:d.number().optional()}).optional(),scrim:d.object({opacity:d.number().optional()}).optional(),ringColor:d.string().optional(),blocking:d.boolean().optional(),dismiss:d.object({onClickOutside:d.boolean().optional(),onEsc:d.boolean().optional(),timeoutMs:d.number().optional()}).optional()}),Uh=d.object({id:d.string(),version:d.number(),routes:d.array(d.string()).optional(),steps:d.array(d.union([cA,uA]))});function FL(r){return Uh.parse(r)}var VL=({configUri:r,experiments:e,featureKey:t="smart-canvas-overlay-uri",credentials:n="include"}={})=>async()=>{let i=yu({configUri:r,experiments:e,featureKey:t});if(!i)throw new Error("SmartCanvas overlays: recipe URI missing (env + feature unset).");let s=await fetch(i,{credentials:n});if(!s.ok)throw new Error(`SmartCanvas overlays: failed to fetch recipe (${s.status})`);let o=await s.json();return Uh.parse(o)};var dA=d.object({value:d.unknown(),expiresAt:d.number().optional()}),pA=d.object({count:d.number(),resetAt:d.number().optional()});function WL(r){return dA.safeParse(r)}function zL(r){return pA.safeParse(r)}var r0="2026-04-30T06:53:56.080Z (2cf25aedc39)";if(typeof window<"u"){console.log(`[Syntro Runtime] Build: ${r0} (Lit)`);let r=window.SynOS,e=r?.appRegistry||Qi;window.SynOS={...r,appRegistry:e,_runtimeBuild:r0,_renderer:"lit"},Ia(),vm(e)}export{Zs as ANIMATION_KEYFRAMES,Fa as ActivationConfigZ,lv as AddClassZ,St as AnchorIdZ,iA as AnchorStateZ,Zc as AnchorVisibleConditionZ,Ji as AppRegistry,sA as AugmentationZ,Xm as BadgePositionZ,fv as BadgeZ,nA as BoundingBoxZ,Ss as CanvasEvents,Uh as CanvasRecipeZ,Rr as ConditionZ,ul as ContextManager,Qc as CooldownActiveConditionZ,cs as CounterDefZ,Ku as CtaButtonZ,hu as DEFAULT_COOLDOWN,Bh as DecisionController,gs as DecisionStrategyZ,Jc as DismissedConditionZ,Me as EVENT_SCHEMA_VERSION,ja as EventBus,tu as EventCountConditionZ,lA as EventFilterZ,Ls as EventHistory,Gc as EventOccurredConditionZ,e0 as EventSourceZ,Pa as ExecutorRegistry,fs as ExternalStrategyZ,pA as FrequencyEntryZ,eu as FrequencyLimitConditionZ,uA as HighlightStepZ,Ym as HighlightStyleZ,pv as HighlightZ,dv as InsertHtmlZ,tv as InsertPositionZ,Gs as InterventionTracker,pu as MAX_VISIBLE_TOASTS,ls as MatchOpZ,ev as ModalContentZ,mv as ModalZ,hs as ModelStrategyZ,_v as MountWidgetZ,yv as NavigateZ,Us as NavigationMonitor,aA as NormalizedEventZ,ws as NotificationsController,Q1 as PageContextZ,eA as PageHistoryEntryZ,zc as PageUrlConditionZ,wv as ParallelZ,Jm as PlacementZ,hv as PulseZ,r0 as RUNTIME_SDK_BUILD,Zy as RUNTIME_VERSION,cv as RemoveClassZ,qc as RouteConditionZ,Km as RouteFilterZ,ds as RuleStrategyZ,us as RuleZ,oA as RuntimeContextZ,Vh as RuntimeController,jh as RuntimeEventsController,Tr as SDK_SCHEMA_VERSION,vu as SDK_VERSION,Uy as STATIC_SLOT_STYLES,ps as ScoreStrategyZ,sv as ScrollBehaviorZ,Gu as ScrollLogicalPositionZ,vv as ScrollToZ,t0 as SelectorZ,xv as SequenceZ,tA as SessionContextZ,Xc as SessionMetricConditionZ,ol as SessionMetricTracker,av as SetAttrZ,uv as SetStyleZ,ov as SetTextZ,_u as SmartCanvasController,si as SmartCanvasElementLit,ze as StandardEvents,Kc as StateEqualsConditionZ,hl as StateStore,dA as StoredValueZ,Qb as Syntro,ks as ThemeController,Qm as TooltipContentZ,cA as TooltipStepZ,rv as TooltipTriggerZ,gv as TooltipZ,iv as TourStepForSchemaZ,Sv as TourZ,da as TriggerWhenZ,Yc as ViewportConditionZ,rA as ViewportContextZ,bv as WaitZ,nv as WidgetConfigZ,gl as WidgetRegistry,Hd as applyStaticSlotStyles,Zk as coreActionStepSchemas,qu as createActionEngine,Yu as createAnchorResolver,ni as createCanvasConfigFetcher,Md as createContextManager,Pd as createDecisionEngine,Od as createEventAccumulator,Ns as createEventBus,Ed as createGrowthBookClient,Xd as createNoopClient,VL as createOverlayRecipeFetcher,Hh as createPostHogClient,Sm as createPostHogNormalizer,Rd as createSessionMetricTracker,Qu as createSmartCanvas,Tm as createSmartCanvasController,Kd as createSmartCanvasRuntime,Dd as createStateStore,Wd as createSurfaceContainer,qd as createSurfaces,GM as decisionSchemas,Os as decodeToken,td as encodeToken,Dy as evaluate,Ny as evaluateCondition,Ly as evaluateRule,dl as evaluateRuleStrategy,pl as evaluateScoreStrategy,Hy as evaluateSync,ar as executorRegistry,Gk as getAntiFlickerSnippet,Nk as getExecutor,fl as getSlotAnchorId,qs as getSlotType,zd as getSlotZIndex,Iu as hasExecutor,GN as needsMigration,bs as normalizePostHogEvent,Eo as parseVersion,jd as playEnterAnimation,Ud as playExitAnimation,ii as registerConfigPredicates,Ia as registerSmartCanvasElement,yu as resolveConfigUri,Ik as runtimeContext,Bd as setupAdjacentPositioning,Vd as setupInlinePositioning,xs as shouldNormalizeEvent,Wt as validateAction,La as validateActions,ZM as validateActivationConfig,zM as validateCondition,ZN as validateConfig,wL as validateEventFilter,sd as validateEventName,zL as validateFrequencyEntry,xL as validateNormalizedEvent,od as validateProps,FL as validateRecipe,XN as validateRuntimeContext,WL as validateStoredValue,qM as validateStrategy,Zd as widgetRegistry};
1059
1059
  /*! Bundled license information:
1060
1060
 
1061
1061
  @lit/reactive-element/css-tag.js: