@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
- `}};Xa.properties={tiles:{attribute:!1},isLoading:{type:Boolean},error:{type:String},runtimeRef:{attribute:!1}};customElements.define("syntro-inline-shell",Xa);function Ja(r,e,t="merge"){return t==="first-match"?Dk(r,e):Hk(r,e)}function Dk(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 pv([i])}return null}function Hk(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:pv(t)}function pv(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 Xu=!1;function hv(){if(typeof window>"u")return!1;try{return new URLSearchParams(window.location.search).get("syntro_debug")==="true"}catch{return!1}}function Ju(r){if(hv()){Xu=!0;return}Xu=r??!1}function Bk(){return hv()?!0:Xu}function q(r,e,t){Bk()&&(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 Qa(r,e,t){t!==void 0?console.error(`[${r}]`,e,t):console.error(`[${r}]`,e)}var el="2.8.0-canary.161";var or="2.0";var Vk=["api.syntrologie.com","cdn.syntrologie.com","localhost","127.0.0.1"];function jk(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):Vk.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 Uk(r){if(typeof window>"u")return!1;try{return new URL(r).origin===window.location.origin}catch{return!1}}var fv="syntro_config_cache",Wk=1440*60*1e3;function gv(){try{return typeof localStorage<"u"&&localStorage!==null}catch{return!1}}function zk(r,e){if(gv())try{let t={config:r,timestamp:Date.now(),sdkVersion:e};localStorage.setItem(fv,JSON.stringify(t))}catch{}}function qk(r){if(!gv())return null;try{let e=localStorage.getItem(fv);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>Wk?null:t.config}catch{return null}}var tl=({configUri:r,experiments:e,featureKey:t})=>{if(r)return r;if(e&&t){let n=e.getFeatureValue?.(t,null);if(n)return n}};function Zk(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 kn=({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=Zk(e,s,o);if(u.length>0){let p=Ja(e,u);if(p)return q("SmartCanvas Config","Resolved config from variant flags",p),p}}let l=tl({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(!jk(l))throw new Error(`SmartCanvas: config URI not allowed: ${l}`);let c=n??(Uk(l)?"include":"omit");try{let u=await fetch(l,{credentials:c,headers:{"X-SDK-Version":el,"X-SDK-Schema-Version":or}});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&&zk(p,a),p}catch(u){if(a){let p=qk(a);if(p)return q("SmartCanvas Config","Serving config from offline cache"),p}throw u}};var rl=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)}},Qu=r=>new rl(r);function se(r,e){return`${r}${Math.round(e*255).toString(16).padStart(2,"0")}`}var uM={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:Qc.primary,colorBorderSubtle:Qc.secondary,colorSuccess:we[4],colorSuccessMuted:we[0],colorWarning:Ue[4],colorWarningMuted:Ue[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"},dM={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:Ue[4],colorWarningMuted:se(Ue[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 Gk(r){return r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var mv={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:Uo.primary.backgroundDefault,backgroundHover:Uo.primary.backgroundHover,color:Uo.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:Ue[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"}},vv={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:Ue[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 yv(r){let e=r.mode==="light"?vv:mv;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 _v(r,e){let t=e.mode??r.mode??"dark",n=t==="light"?vv:mv;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 Kk=["canvas","launcher","tile","overlay","notification","content"];function bv(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 Kk){let n=r[t];if(n)for(let[i,s]of Object.entries(n))s!==void 0&&(e[`--sc-${t}-${Gk(i)}`]=s)}return e}var Ir,En,Cn,ar,lr,ed,nl,_i=class{constructor(e,t,n){ge(this,lr);ge(this,Ir);ge(this,En);ge(this,Cn);ge(this,ar);ie(this,Ir,e),ie(this,En,t??{}),ie(this,Cn,n),ie(this,ar,ye(this,lr,ed).call(this)),e.addController(this)}get config(){return W(this,ar).config}get mode(){return W(this,ar).mode}get cssVariables(){return W(this,ar).cssVariables}hostConnected(){ye(this,lr,nl).call(this)}hostDisconnected(){}hostUpdated(){ye(this,lr,nl).call(this)}setThemeConfig(e,t){ie(this,En,e),ie(this,Cn,t),ie(this,ar,ye(this,lr,ed).call(this)),ye(this,lr,nl).call(this),W(this,Ir).requestUpdate()}};Ir=new WeakMap,En=new WeakMap,Cn=new WeakMap,ar=new WeakMap,lr=new WeakSet,ed=function(){let e=W(this,Cn)?_v(W(this,Cn),W(this,En)):yv(W(this,En)),t=bv(e);return{config:e,mode:e.mode,cssVariables:t}},nl=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,ar).cssVariables).map(([i,s])=>` ${i}: ${s};`).join(`
484
+ `}};Xa.properties={tiles:{attribute:!1},isLoading:{type:Boolean},error:{type:String},runtimeRef:{attribute:!1}};customElements.define("syntro-inline-shell",Xa);function Ja(r,e,t="merge"){return t==="first-match"?Dk(r,e):Hk(r,e)}function Dk(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 pv([i])}return null}function Hk(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:pv(t)}function pv(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 Xu=!1;function hv(){if(typeof window>"u")return!1;try{return new URLSearchParams(window.location.search).get("syntro_debug")==="true"}catch{return!1}}function Ju(r){if(hv()){Xu=!0;return}Xu=r??!1}function Bk(){return hv()?!0:Xu}function q(r,e,t){Bk()&&(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 Qa(r,e,t){t!==void 0?console.error(`[${r}]`,e,t):console.error(`[${r}]`,e)}var el="2.8.0-canary.162";var or="2.0";var Vk=["api.syntrologie.com","cdn.syntrologie.com","localhost","127.0.0.1"];function jk(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):Vk.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 Uk(r){if(typeof window>"u")return!1;try{return new URL(r).origin===window.location.origin}catch{return!1}}var fv="syntro_config_cache",Wk=1440*60*1e3;function gv(){try{return typeof localStorage<"u"&&localStorage!==null}catch{return!1}}function zk(r,e){if(gv())try{let t={config:r,timestamp:Date.now(),sdkVersion:e};localStorage.setItem(fv,JSON.stringify(t))}catch{}}function qk(r){if(!gv())return null;try{let e=localStorage.getItem(fv);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>Wk?null:t.config}catch{return null}}var tl=({configUri:r,experiments:e,featureKey:t})=>{if(r)return r;if(e&&t){let n=e.getFeatureValue?.(t,null);if(n)return n}};function Zk(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 kn=({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=Zk(e,s,o);if(u.length>0){let p=Ja(e,u);if(p)return q("SmartCanvas Config","Resolved config from variant flags",p),p}}let l=tl({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(!jk(l))throw new Error(`SmartCanvas: config URI not allowed: ${l}`);let c=n??(Uk(l)?"include":"omit");try{let u=await fetch(l,{credentials:c,headers:{"X-SDK-Version":el,"X-SDK-Schema-Version":or}});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&&zk(p,a),p}catch(u){if(a){let p=qk(a);if(p)return q("SmartCanvas Config","Serving config from offline cache"),p}throw u}};var rl=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)}},Qu=r=>new rl(r);function se(r,e){return`${r}${Math.round(e*255).toString(16).padStart(2,"0")}`}var uM={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:Qc.primary,colorBorderSubtle:Qc.secondary,colorSuccess:we[4],colorSuccessMuted:we[0],colorWarning:Ue[4],colorWarningMuted:Ue[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"},dM={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:Ue[4],colorWarningMuted:se(Ue[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 Gk(r){return r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var mv={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:Uo.primary.backgroundDefault,backgroundHover:Uo.primary.backgroundHover,color:Uo.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:Ue[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"}},vv={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:Ue[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 yv(r){let e=r.mode==="light"?vv:mv;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 _v(r,e){let t=e.mode??r.mode??"dark",n=t==="light"?vv:mv;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 Kk=["canvas","launcher","tile","overlay","notification","content"];function bv(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 Kk){let n=r[t];if(n)for(let[i,s]of Object.entries(n))s!==void 0&&(e[`--sc-${t}-${Gk(i)}`]=s)}return e}var Ir,En,Cn,ar,lr,ed,nl,_i=class{constructor(e,t,n){ge(this,lr);ge(this,Ir);ge(this,En);ge(this,Cn);ge(this,ar);ie(this,Ir,e),ie(this,En,t??{}),ie(this,Cn,n),ie(this,ar,ye(this,lr,ed).call(this)),e.addController(this)}get config(){return W(this,ar).config}get mode(){return W(this,ar).mode}get cssVariables(){return W(this,ar).cssVariables}hostConnected(){ye(this,lr,nl).call(this)}hostDisconnected(){}hostUpdated(){ye(this,lr,nl).call(this)}setThemeConfig(e,t){ie(this,En,e),ie(this,Cn,t),ie(this,ar,ye(this,lr,ed).call(this)),ye(this,lr,nl).call(this),W(this,Ir).requestUpdate()}};Ir=new WeakMap,En=new WeakMap,Cn=new WeakMap,ar=new WeakMap,lr=new WeakSet,ed=function(){let e=W(this,Cn)?_v(W(this,Cn),W(this,En)):yv(W(this,En)),t=bv(e);return{config:e,mode:e.mode,cssVariables:t}},nl=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,ar).cssVariables).map(([i,s])=>` ${i}: ${s};`).join(`
485
485
  `);t.textContent=`:host {
486
486
  ${n}
487
487
  }`};var Yk=new Set(["tag_name","$el_text"]);function Xk(r){return Yk.has(r)||r.startsWith("attr__")}function xv(r,e){return r.equals!==void 0?e===r.equals:r.contains!==void 0?typeof e=="string"&&e.includes(r.contains):!1}function Jk(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(Xk(i)){let o=n.props?.elements;if(!o||!o.some(l=>xv(s,l[i])))return!1}else if(!xv(s,n.props?.[i]))return!1}return!0}}function wv(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?Jk(i):()=>!0,o=typeof n.withinMs=="number";e.register(n.key,s,o)}}function An(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"&&wv(o.triggerWhen,e)}if(t)for(let n of t){let i=n;i.triggerWhen?.type==="rules"&&wv(i.triggerWhen,e)}}var Cv="syntro-runtime",Sv="smart-canvas",kv=r=>[...r].sort((e,t)=>(t.priority??0)-(e.priority??0));function Ev(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,bi,Wt,cr,Lt,Tn,Os,xi,In,Ns,Ls,Fs,$n,Mn,$r,Mr,Pr,Pn,wi,Ds,xe,Av,Rv,Si,td,Tv,rd,nd,id,sd,Iv,od,il,Rn=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,bi,null);ge(this,Wt,null);ge(this,cr,null);ge(this,Lt,null);ge(this,Tn);ge(this,Os,0);ge(this,xi,null);ge(this,In,"[]");ge(this,Ns,"[]");ge(this,Ls,"null");ge(this,Fs,"null");ge(this,$n,null);ge(this,Mn,null);ge(this,$r,null);ge(this,Mr,null);ge(this,Pr,null);ge(this,Pn,()=>{this._pageUrl=window.location.href});ge(this,wi);ge(this,Ds);ge(this,Si,0);ge(this,il,t=>{W(this,ot).toggle()});ie(this,ot,Qu()),ie(this,Tn,!1),ie(this,wi,new _i(this)),ie(this,Ds,new fi(this,{context:Cv,initialValue:null}))}connectedCallback(){super.connectedCallback(),this.style.setProperty("font-family","inherit"),ie(this,bi,W(this,ot).subscribe(t=>{this._isOpen=t.open})),this._isOpen=W(this,ot).getState().open,ie(this,Wt,document.createElement("div")),W(this,Wt).id="overlayContainer",Object.assign(W(this,Wt).style,{position:"fixed",inset:"0",zIndex:"2147483645",pointerEvents:"none"}),this.shadowRoot.appendChild(W(this,Wt)),ie(this,cr,document.createElement("div")),W(this,cr).id="portalRoot",this.shadowRoot.appendChild(W(this,cr)),ye(this,xe,rd).call(this),ye(this,xe,od).call(this),ye(this,xe,id).call(this)}disconnectedCallback(){var t,n,i,s,o;super.disconnectedCallback(),(t=W(this,bi))==null||t.call(this),ie(this,bi,null),(n=W(this,Mn))==null||n.call(this),ie(this,Mn,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,nd).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,Wt)?.remove(),ie(this,Wt,null),W(this,cr)?.remove(),ie(this,cr,null)}updated(t){var i;t.has("runtime")&&(W(this,Ds).setValue(this.runtime??null),ye(this,xe,Iv).call(this),ye(this,xe,id).call(this),ye(this,xe,od).call(this),ye(this,xe,nd).call(this),ye(this,xe,rd).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,Av).call(this),(i=W(this,Mn))==null||i.call(this),this.experiments?.onFeaturesChanged&&ie(this,Mn,this.experiments.onFeaturesChanged(()=>this._loadConfig({silent:!0})))),(n||t.has("_pageUrl"))&&this._loadConfig(),(t.has("_theme")||t.has("workspaceTheme"))&&W(this,wi).setThemeConfig(this._theme??{},this.workspaceTheme),(t.has("_configActions")||t.has("_pageUrl"))&&ye(this,xe,Tv).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,Tn,!0),this.initialBatchActions&&(this._configActions=this.initialBatchActions,ie(this,In,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),Wv=!0}var vl=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=Hv(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&&An(m.tiles,s.accumulator,m.actions)}catch(m){console.error("[SmartCanvas] Error fetching/applying initial config:",m)}e&&e();let l=ml();Hs();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??kn({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&&zv(y)}};document.body?v():document.addEventListener("DOMContentLoaded",v,{once:!0}),(l||r.editorUrl)&&(console.log(`[SmartCanvas] Loading editor SDK for ${l??"config"} mode`),Uv(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&&An(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 vl(r)}});var np="syn_";function ki(r){if(!r.startsWith(np))throw new Error("Invalid Syntro token: must start with 'syn_'");let t=r.slice(np.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 yl(r){let e=JSON.stringify(r),t=btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");return np+t}function kt(r){if(typeof process<"u"&&process.env)return process.env[r]}var Gv="syntro_segment_attributes";function Kv(){if(typeof window>"u")return{};try{let r=localStorage.getItem(Gv);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 Yv(r){if(!(typeof window>"u"))try{localStorage.setItem(Gv,JSON.stringify(r)),q("Syntro Bootstrap","Cached segment attributes:",r)}catch(e){Qe("Syntro Bootstrap","Failed to cache segment attributes:",e)}}function Xv(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 ip(){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 Zv="syntro_geo",Jv="https://geo.syntrologie.com";async function sp(r){if(typeof window>"u")return{};try{let e=localStorage.getItem(Zv);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(Zv,JSON.stringify(n))}catch{}return q("Syntro Bootstrap","Geo: fetched from worker:",n),n}}catch{}return{}}var op=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(/\/[^/]*$/,"");op=`${e.origin}${t}`}}catch{op=null}function Qv(){return op}var ey="app:",SE="syntro:",kE=/^[a-z][a-z0-9_]*$/;function _l(r){if(!r)return{valid:!1,reason:"Event name cannot be empty"};if(r.startsWith(SE))return{valid:!1,reason:'"syntro:" prefix is reserved for internal SDK events'};if(!r.startsWith(ey))return{valid:!1,reason:`Custom events must start with "app:" prefix. Got: "${r}"`};let e=r.slice(ey.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(!kE.test(t))return{valid:!1,reason:`Segment "${t}" must be lowercase alphanumeric + underscores. Got: "${r}"`};return{valid:!0}}function EE(r){return typeof r=="string"||typeof r=="number"||typeof r=="boolean"||r===null}function ty(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)&&!ty(n,e,t+1))return!1;return!0}function bl(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(!ty(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"||EE(n)||e.push(t);return e.length>0?{valid:!0,stripped:e}:{valid:!0}}function xl(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 Zs=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:Ie};this.publishEvent(i)}publishEvent(e){this.history.push(e),this.history.length>this.maxHistorySize&&this.history.shift();for(let t of this.subscriptions)if(xl(e,t.filter))try{t.callback(e)}catch(n){console.error("[EventBus] Subscriber error:",n)}}emit(e,t){let n=_l(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=bl(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:Ie};this.history.push(s),this.history.length>this.maxHistorySize&&this.history.shift();let o=0;for(let l of this.subscriptions)if(xl(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=>xl(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=>xl(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 Ei(r={}){return new Zs(r)}var Ci=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 ny={fetch:globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,SubtleCrypto:globalThis.crypto?globalThis.crypto.subtle:void 0,EventSource:globalThis.EventSource};function iy(){return ny}function ap(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 Gs(r,e,t){return t===2?ap(ap(r+e)+"")%1e4/1e4:t===1?ap(e+r)%1e3/1e3:null}function CE(r){return r<=0?[]:new Array(r).fill(1/r)}function wl(r,e){return r>=e[0]&&r<e[1]}function sy(r,e){let t=Gs("__"+e[0],r,1);return t===null?!1:t>=e[1]&&t<e[2]}function oy(r,e){for(let t=0;t<e.length;t++)if(wl(r,e[t]))return t;return-1}function cp(r){try{let e=r.replace(/([^\\])\//g,"$1\\/");return new RegExp(e)}catch(e){console.error(e);return}}function Sl(r,e){if(!e.length)return!1;let t=!1,n=!1;for(let i=0;i<e.length;i++){let s=TE(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 AE(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 RE(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=>!AE(i[0],i[1],i[2]))}catch{return!1}}function TE(r,e,t){try{let n=new URL(r,"https://_");if(e==="regex"){let i=cp(t);return i?i.test(n.href)||i.test(n.href.substring(n.origin.length)):!1}else if(e==="simple")return RE(n,t);return!1}catch{return!1}}function ay(r,e,t){e=e===void 0?1:e,e<0?e=0:e>1&&(e=1);let n=CE(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 ly(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 cy(r){try{return r()}catch(e){return console.error(e),!1}}var lp=r=>Uint8Array.from(atob(r),e=>e.charCodeAt(0));async function On(r,e,t){if(e=e||"",t=t||globalThis.crypto&&globalThis.crypto.subtle||ny.SubtleCrypto,!t)throw new Error("No SubtleCrypto implementation found");try{let n=await t.importKey("raw",lp(e),{name:"AES-CBC",length:128},!0,["encrypt","decrypt"]),[i,s]=r.split("."),o=await t.decrypt({name:"AES-CBC",iv:lp(i)},n,lp(s));return new TextDecoder().decode(o)}catch{throw new Error("Failed to decrypt")}}function Ks(r){return typeof r=="string"?r:JSON.stringify(r)}function pt(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 uy(){let r;try{r="1.6.4"}catch{r=""}return r}function dy(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 ry(r){return typeof r=="object"&&r!==null}function kl(r){return r.urlPatterns&&r.variations.some(e=>ry(e)&&"urlRedirect"in e)?"redirect":r.variations.some(e=>ry(e)&&(e.domMutations||"js"in e||"css"in e))?"visual":"unknown"}async function El(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},Zt=iy(),Ai={fetchFeaturesCall:({host:r,clientKey:e,headers:t})=>Zt.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 Zt.fetch(`${r}/api/eval/${e}`,i)},eventSourceCall:({host:r,clientKey:e,headers:t})=>t?new Zt.EventSource(`${r}/sub/${e}`,{headers:t}):new Zt.EventSource(`${r}/sub/${e}`),startIdleListener:()=>{let r;if(!(typeof window<"u"&&typeof document<"u"))return;let t=()=>{document.visibilityState==="visible"?(window.clearTimeout(r),ME()):document.visibilityState==="hidden"&&(r=window.setTimeout($E,Ye.idleStreamInterval))};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)},stopIdleListener:()=>{}};try{globalThis.localStorage&&(Zt.localStorage=globalThis.localStorage)}catch{}var Ri=new Map,py=!1,dr=new Map,Cl=new Map,Ti=new Map,Ii=new Set;function fy(r){Object.assign(Ye,r),Ye.backgroundSync||gp()}async function gy({instance:r,timeout:e,skipCache:t,allowStale:n,backgroundSync:i}){return i||(Ye.backgroundSync=!1),PE({instance:r,allowStale:n,timeout:e,skipCache:t})}function IE(r){let e=Ys(r),t=Ri.get(e)||new Set;t.add(r),Ri.set(e,t)}function my(r){Ri.forEach(e=>e.delete(r))}function $E(){Ti.forEach(r=>{r&&(r.state="idle",hp(r))})}function ME(){Ti.forEach(r=>{r&&r.state==="idle"&&fp(r)})}async function hy(){try{if(!Zt.localStorage)return;await Zt.localStorage.setItem(Ye.cacheKey,JSON.stringify(Array.from(dr.entries())))}catch{}}async function PE({instance:r,allowStale:e,timeout:t,skipCache:n}){let i=Ys(r),s=dp(r),o=new Date,a=new Date(o.getTime()-Ye.maxAge+Ye.staleTTL);await OE();let l=!Ye.disableCache&&!n?dr.get(s):void 0;return l&&(e||l.staleAt>o)&&l.staleAt>a?(l.sse&&Ii.add(i),l.staleAt<o?up(r):pp(r),{data:l.data,success:!0,source:"cache"}):await El(up(r),t)||{data:null,success:!1,source:"timeout",error:new Error("Timeout")}}function Ys(r){let[e,t]=r.getApiInfo();return`${e}||${t}`}function dp(r){let e=Ys(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 OE(){if(!py){py=!0;try{if(Zt.localStorage){let r=await Zt.localStorage.getItem(Ye.cacheKey);if(!Ye.disableCache&&r){let e=JSON.parse(r);e&&Array.isArray(e)&&e.forEach(([t,n])=>{dr.set(t,{...n,staleAt:new Date(n.staleAt)})}),vy()}}}catch{}if(!Ye.disableIdleStreams){let r=Ai.startIdleListener();r&&(Ai.stopIdleListener=r)}}}function vy(){let r=Array.from(dr.entries()).map(([t,n])=>({key:t,staleAt:n.staleAt.getTime()})).sort((t,n)=>t.staleAt-n.staleAt),e=Math.min(Math.max(0,dr.size-Ye.maxEntries),dr.size);for(let t=0;t<e;t++)dr.delete(r[t].key)}function yy(r,e,t){let n=t.dateUpdated||"",i=new Date(Date.now()+Ye.staleTTL),s=Ye.disableCache?void 0:dr.get(e);if(s&&n&&s.version===n){s.staleAt=i,hy();return}Ye.disableCache||(dr.set(e,{data:t,version:n,staleAt:i,sse:Ii.has(r)}),vy()),hy();let o=Ri.get(r);o&&o.forEach(a=>NE(a,t))}async function NE(r,e){await r.setPayload(e||r.getPayload())}async function up(r){let{apiHost:e,apiRequestHeaders:t}=r.getApiHosts(),n=r.getClientKey(),i="isRemoteEval"in r&&r.isRemoteEval(),s=Ys(r),o=dp(r),a=Cl.get(o);return a||(a=(i?Ai.fetchRemoteEvalCall({host:e,clientKey:n,payload:{attributes:r.getAttributes(),forcedVariations:r.getForcedVariations(),forcedFeatures:Array.from(r.getForcedFeatures().entries()),url:r.getUrl()},headers:t}):Ai.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"&&Ii.add(s),c.json()}).then(c=>(yy(s,o,c),pp(r),Cl.delete(o),{data:c,success:!0,source:"network"})).catch(c=>(Cl.delete(o),{data:null,source:"error",success:!1,error:c})),Cl.set(o,a)),a}function pp(r,e=!1){let t=Ys(r),n=dp(r),{streamingHost:i,streamingHostRequestHeaders:s}=r.getApiHosts(),o=r.getClientKey();if(e&&Ii.add(t),Ye.backgroundSync&&Ii.has(t)&&Zt.EventSource){if(Ti.has(t))return;let a={src:null,host:i,clientKey:o,headers:s,cb:l=>{try{if(l.type==="features-updated"){let c=Ri.get(t);c&&c.forEach(u=>{up(u)})}else if(l.type==="features"){let c=JSON.parse(l.data);yy(t,n,c)}a.errors=0}catch{_y(a)}},errors:0,state:"active"};Ti.set(t,a),fp(a)}}function _y(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);hp(r),setTimeout(()=>{["idle","active"].includes(r.state)||fp(r)},Math.min(e,3e5))}}function hp(r){r.src&&(r.src.onopen=null,r.src.onerror=null,r.src.close(),r.src=null,r.state==="active"&&(r.state="disabled"))}function fp(r){r.src=Ai.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=()=>_y(r),r.src.onopen=()=>{r.errors=0}}function LE(r,e){hp(r),Ti.delete(e)}function gp(){Ii.clear(),Ti.forEach(LE),Ri.clear(),Ai.stopIdleListener()}function Al(r,e){if(e.streaming){if(!r.getClientKey())throw new Error("Must specify clientKey to enable streaming");e.payload&&pp(r,!0),IE(r)}}var FE=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,yp={revert:function(){}},$l=new Map,_p=new Set;function DE(r){return r==="html"?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[r]}}function Ml(r){var e=$l.get(r);return e||(e={element:r,attributes:{}},$l.set(r,e)),e}function Pl(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,DE(e)),o}function Ol(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,by()):r!==t&&(e.isDirty=!0,by())}function HE(r){var e=r.originalValue;r.mutations.forEach(function(t){return e=t.mutate(e)}),Ol(QE(e),r)}function BE(r){var e=new Set(r.originalValue.split(/\s+/).filter(Boolean));r.mutations.forEach(function(t){return t.mutate(e)}),Ol(Array.from(e).filter(Boolean).join(" "),r)}function VE(r){var e=r.originalValue;r.mutations.forEach(function(t){return e=t.mutate(e)}),Ol(e,r)}function jE(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 UE(r){var e=r.originalValue;r.mutations.forEach(function(t){var n=t.mutate(),i=jE(n);e=i||e}),Ol(e,r)}var WE=function(e){return e.innerHTML},zE=function(e,t){return e.innerHTML=t};function wy(r){var e=Ml(r);return e.html||(e.html=Pl(r,"html",WE,zE,HE)),e.html}var qE=function(e){return{parentNode:e.parentElement,insertBeforeNode:e.nextElementSibling}},ZE=function(e,t){t.insertBeforeNode&&!t.parentNode.contains(t.insertBeforeNode)||t.parentNode.insertBefore(e,t.insertBeforeNode)};function Sy(r){var e=Ml(r);return e.position||(e.position=Pl(r,"position",qE,ZE,UE)),e.position}var GE=function(e,t){return t?e.className=t:e.removeAttribute("class")},KE=function(e){return e.className};function ky(r){var e=Ml(r);return e.classes||(e.classes=Pl(r,"class",KE,GE,BE)),e.classes}var YE=function(e){return function(t){var n;return(n=t.getAttribute(e))!=null?n:null}},XE=function(e){return function(t,n){return n!==null?t.setAttribute(e,n):t.removeAttribute(e)}};function Ey(r,e){var t=Ml(r);return t.attributes[e]||(t.attributes[e]=Pl(r,e,YE(e),XE(e),VE)),t.attributes[e]}function JE(r,e){var t=$l.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 Rl;function QE(r){return Rl||(Rl=document.createElement("div")),Rl.innerHTML=r,Rl.innerHTML}function Tl(r,e,t){if(t.isDirty){t.isDirty=!1;var n=t.virtualValue;t.mutations.length||JE(r,e),t.setValue(r,n)}}function eC(r,e){r.html&&Tl(e,"html",r.html),r.classes&&Tl(e,"class",r.classes),r.position&&Tl(e,"position",r.position),Object.keys(r.attributes).forEach(function(t){Tl(e,t,r.attributes[t])})}function by(){$l.forEach(eC)}function tC(r,e){var t=null;r.kind==="html"?t=wy(e):r.kind==="class"?t=ky(e):r.kind==="attribute"?t=Ey(e,r.attribute):r.kind==="position"&&(t=Sy(e)),t&&(t.mutations.push(r),t.mutationRunner(t))}function rC(r,e){var t=null;if(r.kind==="html"?t=wy(e):r.kind==="class"?t=ky(e):r.kind==="attribute"?t=Ey(e,r.attribute):r.kind==="position"&&(t=Sy(e)),!!t){var n=t.mutations.indexOf(r);n!==-1&&t.mutations.splice(n,1),t.mutationRunner(t)}}function Cy(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),tC(r,n))})}}function nC(r){r.elements.forEach(function(e){return rC(r,e)}),r.elements.clear(),_p.delete(r)}function xy(){_p.forEach(Cy)}var mp;function iC(){typeof document>"u"||(mp||(mp=new MutationObserver(function(){xy()})),xy(),mp.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}iC();function Nl(r){return typeof document>"u"?yp:(_p.add(r),Cy(r),{revert:function(){nC(r)}})}function vp(r,e){return Nl({kind:"html",elements:new Set,mutate:e,selector:r})}function Ay(r,e){return Nl({kind:"position",elements:new Set,mutate:e,selector:r})}function Xs(r,e){return Nl({kind:"class",elements:new Set,mutate:e,selector:r})}function Il(r,e,t){return FE.test(e)?e==="class"||e==="className"?Xs(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)})}):Nl({kind:"attribute",attribute:e,elements:new Set,mutate:t,selector:r}):yp}function sC(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 vp(e,function(a){return a+(n??"")});if(t==="set")return vp(e,function(){return n??""})}else if(i==="class"){if(t==="append")return Xs(e,function(a){n&&a.add(n)});if(t==="remove")return Xs(e,function(a){n&&a.delete(n)});if(t==="set")return Xs(e,function(a){a.clear(),n&&a.add(n)})}else if(i==="position"){if(t==="set"&&s)return Ay(e,function(){return{insertBeforeSelector:o,parentSelector:s}})}else{if(t==="append")return Il(e,i,function(a){return a!==null?a+(n??""):n??""});if(t==="set")return Il(e,i,function(){return n??""});if(t==="remove")return Il(e,i,function(){return null})}return yp}var oC={html:vp,classes:Xs,attribute:Il,position:Ay,declarative:sC},Ry=oC;var bp={};function Lr(r,e,t){t=t||{};for(let[n,i]of Object.entries(e))switch(n){case"$or":if(!$y(r,i,t))return!1;break;case"$nor":if($y(r,i,t))return!1;break;case"$and":if(!dC(r,i,t))return!1;break;case"$not":if(Lr(r,i,t))return!1;break;default:if(!Js(i,aC(r,n),t))return!1}return!0}function aC(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 Ty(r,e=!1){let t=`${r}${e?"/i":""}`;return bp[t]||(bp[t]=new RegExp(r.replace(/([^\\])\//g,"$1\\/"),e?"i":void 0)),bp[t]}function Js(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)||!My(r))return JSON.stringify(e)===JSON.stringify(r);for(let i in r)if(!uC(i,e,r[i],t))return!1;return!0}function My(r){let e=Object.keys(r);return e.length>0&&e.filter(t=>t[0]==="$").length===e.length}function lC(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 cC(r,e,t){if(!Array.isArray(r))return!1;let n=My(e)?i=>Js(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 $i(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 Iy(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(Js(e[i],r[o],t,n)){s=!0;break}if(!s)return!1}return!0}function uC(r,e,t,n){switch(r){case"$veq":return pt(e)===pt(t);case"$vne":return pt(e)!==pt(t);case"$vgt":return pt(e)>pt(t);case"$vgte":return pt(e)>=pt(t);case"$vlt":return pt(e)<pt(t);case"$vlte":return pt(e)<=pt(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)?$i(e,t):!1;case"$ini":return Array.isArray(t)?$i(e,t,!0):!1;case"$inGroup":return $i(e,n[t]||[]);case"$notInGroup":return!$i(e,n[t]||[]);case"$nin":return Array.isArray(t)?!$i(e,t):!1;case"$nini":return Array.isArray(t)?!$i(e,t,!0):!1;case"$not":return!Js(t,e,n);case"$size":return Array.isArray(e)?Js(t,e.length,n):!1;case"$elemMatch":return cC(e,t,n);case"$all":return Array.isArray(t)?Iy(e,t,n):!1;case"$alli":return Array.isArray(t)?Iy(e,t,n,!0):!1;case"$regex":try{return Ty(t).test(e)}catch{return!1}case"$regexi":try{return Ty(t,!0).test(e)}catch{return!1}case"$type":return lC(e)===t;default:return console.error("Unknown operator: "+r),!1}}function $y(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 dC(r,e,t){for(let n=0;n<e.length;n++)if(!Lr(r,e[n],t))return!1;return!0}var pC="Feature Evaluated",hC="Experiment Viewed";function fC(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 gC(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 Mi(r){try{await r()}catch{}}function Py(r,e,t){if(r.user.trackedExperiments){let i=Dl(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(Mi(()=>i(e,t,r.user)))}if(r.user.trackingCallback){let i=r.user.trackingCallback;n.push(Mi(()=>i(e,t)))}if(r.global.eventLogger){let i=r.global.eventLogger;n.push(Mi(()=>i(hC,{experimentId:e.key,variationId:t.key,hashAttribute:t.hashAttribute,hashValue:t.hashValue},r.user)))}return n}function mC(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;Mi(()=>n(e,t,r.user))}if(r.user.onFeatureUsage){let n=r.user.onFeatureUsage;Mi(()=>n(e,t))}if(r.global.eventLogger){let n=r.global.eventLogger;Mi(()=>n(pC,{feature:e,source:t.source,value:t.value,ruleId:t.source==="defaultValue"?"$default":t.ruleId||"",variationId:t.experimentResult?t.experimentResult.key:""},r.user))}}function Ll(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=fC(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=Ll(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&&Ly(s.filters,e))continue;if("force"in s){if(s.condition&&!Ny(s.condition,e)||!vC(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=>{!Py(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}=Fl(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 Fl(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=yC(r,t),r.urlPatterns&&!Sl(t.user.url||"",r.urlPatterns))return{result:Ae(t,r,-1,!1,e)};let s=ly(n,t.user.url||"",i);if(s!==null)return{result:Ae(t,r,s,!1,e)};let o=gC(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}=Nn(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}=xC({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(Ly(r.filters,t))return{result:Ae(t,r,-1,!1,e)}}else if(r.namespace&&!sy(l,r.namespace))return{result:Ae(t,r,-1,!1,e)};if(r.include&&!cy(r.include))return{result:Ae(t,r,-1,!1,e)};if(r.condition&&!Ny(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=Ll(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&&!bC(r.groups,t))return{result:Ae(t,r,-1,!1,e)}}if(r.url&&!_C(r.url,t))return{result:Ae(t,r,-1,!1,e)};let h=Gs(r.seed||n,l,r.hashVersion||1);if(h===null)return{result:Ae(t,r,-1,!1,e)};if(!u){let m=r.ranges||ay(i,r.coverage===void 0?1:r.coverage,r.weights);c=oy(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}=SC(t,a,Ks(l),{[xp(r.key,r.bucketVersion)]:f.key});m&&(t.user.stickyBucketAssignmentDocs=t.user.stickyBucketAssignmentDocs||{},t.user.stickyBucketAssignmentDocs[y]=x,t.user.saveStickyBucketAssignmentDoc(x))}let v=Py(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"&&mC(r,e,a),a}function Oy(r){return{...r.user.attributes,...r.user.attributeOverrides}}function Ny(r,e){return Lr(Oy(e),r,e.global.savedGroups||{})}function Ly(r,e){return r.some(t=>{let{hashValue:n}=Nn(e,t.attribute);if(!n)return!0;let i=Gs(t.seed,n,t.hashVersion||2);return i===null?!0:!t.ranges.some(s=>wl(i,s))})}function vC(r,e,t,n,i,s,o){if(!i&&s===void 0)return!0;if(!i&&s===0)return!1;let{hashValue:a}=Nn(r,t,n);if(!a)return!1;let l=Gs(e,a,o||1);return l===null?!1:i?wl(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}=Nn(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 yC(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=cp(r.url))),r}function Nn(r,e,t){let n=e||"id",i="",s=Oy(r);return s[n]&&(i=s[n]),!i&&t&&(s[t]&&(i=s[t]),i&&(n=t)),{hashAttribute:n,hashValue:i}}function _C(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 bC(r,e){let t=e.global.groups||{};for(let n=0;n<r.length;n++)if(t[r[n]])return!0;return!1}function xC({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=xp(e,t),l=wC(r,n,i);if(s>0)for(let p=0;p<s;p++){let h=xp(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 xp(r,e){return e=e||0,`${r}__${e}`}function wp(r,e){return`${r}||${e}`}function wC(r,e,t){if(!r.user.stickyBucketAssignmentDocs)return{};let{hashAttribute:n,hashValue:i}=Nn(r,e),s=wp(n,Ks(i)),{hashAttribute:o,hashValue:a}=Nn(r,t),l=a?wp(o,Ks(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 SC(r,e,t,n){let i=wp(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 kC(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 Fy(r,e,t){let n=Sp(r,t);return e.getAllAssignments(n)}function Sp(r,e){let t={};return kC(r,e).forEach(i=>{let{hashValue:s}=Nn(r,i);t[i]=Ks(s)}),t}async function Dy(r,e,t){if(r={...r},r.encryptedFeatures){try{r.features=JSON.parse(await On(r.encryptedFeatures,e,t))}catch(n){console.error(n)}delete r.encryptedFeatures}if(r.encryptedExperiments){try{r.experiments=JSON.parse(await On(r.encryptedExperiments,e,t))}catch(n){console.error(n)}delete r.encryptedExperiments}if(r.encryptedSavedGroups){try{r.savedGroups=JSON.parse(await On(r.encryptedSavedGroups,e,t))}catch(n){console.error(n)}delete r.encryptedSavedGroups}return r}function Hy(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 Dl(r,e){return e.hashAttribute+e.hashValue+r.key+e.variationId}var Pi=typeof window<"u"&&typeof document<"u",EC=uy(),Qs=class{constructor(e){if(e=e||{},this.version=EC,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),Pi&&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 Dy(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,Al(this,e),this}async init(e){if(this._initialized=!0,e=e||{},e.cacheSettings&&fy(e.cacheSettings),e.payload)return await this.setPayload(e.payload),Al(this,e),{success:!0,source:"init"};{let{data:t,...n}=await this._refresh({...e,allowStale:!0});return Al(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 Hy(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 gy({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 On(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 On(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,my(this),e.destroyAllStreams&&gp(),this.logs=[],Pi&&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}=Fl(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}=Fl(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=kl(e);if(l==="redirect"&&s.value.urlRedirect&&e.urlPatterns){let c=e.persistQueryString?dy(this._getContextUrl(),s.value.urlRedirect):s.value.urlRedirect;if(Sl(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(Pi)Promise.all([...o?[El(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&&kl(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 Ll(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=>[Dl(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(Dl(e.experiment,e.result),e)}_getContextUrl(){return this._options.url||(Pi?window.location.href:"")}_isAutoExperimentBlockedByContext(e){let t=kl(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}:Pi?{navigate:e=>{window.location.replace(e)},delay:100}:{navigate:null,delay:0}}_applyDOMChanges(e){if(!Pi)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(Ry.declarative(n).revert)}),()=>{t.forEach(n=>n())}}async refreshStickyBuckets(e){if(this._options.stickyBucketService){let t=this._getEvalContext(),n=await Fy(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=Sp(n,t);return e.getAllAssignmentsSync(i)}inDevMode(){return!!this._options.enableDevMode}};var CC="https://experiment.syntrologie.com",kp=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 Qs({...e,apiHost:e.apiHost??CC,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 Hl(r={}){return new kp(r)}var By={growthbook:r=>Hl({...r,autoInit:!0})};function Vy(r,e){let t=By[r];if(!t)throw new Error(`Unknown experiment provider: ${r}. Supported: ${Object.keys(By).join(", ")}`);return t(e)}var AC=["cdn.syntrologie.com","localhost","127.0.0.1"];function RC(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):AC.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 Ep=class{constructor(e){this.name="cdn";if(this.url=`${e.baseUrl}/${e.configId}.json`,this.integrity=e.integrity,!RC(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 TC(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 TC(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 jy(r){return new Ep(r)}var IC="syntro_exp",$C="syntro_var",Cp=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(IC),o=i.get($C);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:Ja(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 Uy(r){return new Cp(r)}var MC="https://cdn.syntrologie.com/configs",Wy={cdn:r=>{if(!r.configId)throw new Error("CDN fetcher requires 'configId' option");return jy({baseUrl:r.baseUrl??MC,configId:r.configId,integrity:r.integrity})},experiments:r=>{if(!r.featureKey)throw new Error("Experiments fetcher requires 'featureKey' option");return Uy({featureKey:r.featureKey})}};function zy(r,e={}){let t=Wy[r];if(!t)throw new Error(`Unknown config fetcher type: ${r}. Supported: ${Object.keys(Wy).join(", ")}`);return t(e)}var qy="syntro_session_metrics",eo=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(qy);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(qy,JSON.stringify(e))}catch(e){console.warn("[SessionMetricTracker] Failed to save to sessionStorage:",e)}}};function Bl(r={}){return new eo(r)}var Vl=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 jl=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 Vl(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 PC=[()=>new jl];function Zy(){for(let r of PC){let e=r();if(e.detect())return e}return null}var Ap="syntro_experiments";var NC=720*60*60,Ul=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=`${Ap}=; 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=`${Ap}=${t}; max-age=${NC}; path=/; SameSite=Lax`;document.cookie=n}};function Ky(r){return r<768?"mobile":r<1024?"tablet":"desktop"}function Tp(r,e){return r==="telegram"||r==="mcp-app"?"agent":e==="mobile"?"mobile":"desktop"}function LC(r="web",e="web"){let t=Date.now(),n=typeof window<"u"?window.innerWidth:0,i=typeof window<"u"?window.innerHeight:0,s=Ky(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:Tp(r,s)}}}function Rp(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(Gy(t,n))return}if(e.include){for(let n of e.include)if(Gy(t,n))return n;return}return t}function Gy(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 to=class{constructor(e){this.listeners=new Set;this.cleanupFns=[];if(this.telemetry=e.telemetry,this.routes=e.routes,this.navigation=e.navigation,this.context=LC(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=Rp(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=Rp(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=Tp(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=Ky(e.width);if(s!==this.context.surface.device){let o=Tp(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=Rp(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 Wl(r){return new to(r)}function Ip(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 $p(r,e){let t=[];for(let n of r.conditions){let i=Ip(n,e);if(t.push({condition:n,result:i}),!i)return{matched:!1,conditionResults:t}}return{matched:!0,conditionResults:t}}function ro(r,e){for(let t=0;t<r.rules.length;t++){let n=r.rules[t],{matched:i,conditionResults:s}=$p(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 no(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 Yy(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 Mp(r,e,t={}){let n=Yy(e,t);switch(r.type){case"rules":return ro(r,n);case"score":return no(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 Pp(r,e,t={}){let n=Yy(e,t);switch(r.type){case"rules":return ro(r,n);case"score":return no(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 zl(r){return{evaluate:(e,t)=>Mp(e,t,r),evaluateSync:(e,t)=>Pp(e,t,r)}}function ql(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 Oi=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 Op="cooldown:";function Xy(r){return{set(e,t){let n=Op+e,i=Date.now()+t;r.set(n,i)},isActive(e){return this.remaining(e)>0},remaining(e){let t=Op+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=Op+e;r.remove(t)}}}var io="dismissed:";function Jy(r,e){return{mark(t,n=!1){let i=io+t;(n?e:r).set(i,!0)},isDismissed(t){let n=io+t;return r.has(n)||e.has(n)},clear(t){let n=io+t;r.remove(n),e.remove(n)},clearAll(){for(let t of r.keys())t.startsWith(io)&&r.remove(t);for(let t of e.keys())t.startsWith(io)&&e.remove(t)}}}var Np="freq:";function Qy(r){function e(t){let n=Np+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=Np+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=Np+t;r.remove(n)},hasReachedLimit(t,n){return this.count(t)>=n}}}var FC="syntro";function Lp(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 so(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 oo=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)?Lp(window.sessionStorage,this.namespace):so(this.namespace),this.user=t(window.localStorage)?Lp(window.localStorage,this.namespace):so(this.namespace)):(this.session=so(this.namespace),this.user=so(this.namespace)),this.dismissals=Jy(this.session,this.user),this.cooldowns=Xy(this.user),this.frequency=Qy(this.session)}ns(e){let t=`${this.namespace}:${e}`;if(!this.namespacedStorages.has(t)){let n=typeof window<"u"&&typeof sessionStorage<"u"?Lp(sessionStorage,t):so(t);this.namespacedStorages.set(t,n)}return this.namespacedStorages.get(t)}};function Zl(r={}){return new oo(r)}function Ni(r){return r.startsWith("inline:")?"inline":r.startsWith("adjacent:")?"adjacent":"static"}function ao(r){return r.startsWith("inline:")?r.slice(7):r.startsWith("adjacent:")?r.slice(9):null}var Fp={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"}},Li={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:[]},e_={duration:200,easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"};function Gl(r,e,t){let n=Fp[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 Kl(r,e,t){let n=t.placement==="auto"?"bottom":t.placement,i=[ea(t.offset?{mainAxis:t.offset.y,crossAxis:t.offset.x}:8)];return t.flip!==!1&&i.push(ra()),t.shift!==!1&&i.push(ta({padding:8})),r.style.position="absolute",r.style.zIndex="2147483646",Qo(e,r,async()=>{let{x:o,y:a,strategy:l}=await na(e,r,{placement:n,middleware:i});Object.assign(r.style,{position:l,left:`${o}px`,top:`${a}px`})})}function Yl(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 Xl(r,e){return e==="none"||Li[e].length===0?null:r.animate(Li[e],e_)}function Jl(r,e){if(e==="none"||Li[e].length===0)return Promise.resolve();let t=[...Li[e]].reverse(),n=r.animate(t,e_);return new Promise(i=>{n.onfinish=()=>i(),n.oncancel=()=>i()})}function Ql(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 ec(r){switch(Ni(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 t_(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 DC=0;function tc(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-${++DC}`}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=t_(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=Ni(_),$=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=Ql(_,b);N.style.zIndex=String(ec(_));let P;if(A==="static")Gl(N,_,C?.constraints),e.appendChild(N);else if(A==="inline"){let V=ao(_);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=Yl(N,X)}else if(A==="adjacent"){let V=ao(_);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=Kl(N,X,C?.position??{placement:"bottom"})}let z=f(N,w,b);Xl(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 Jl(_.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 lo=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()}},rc=new lo;var Hp="2.0.0";function HC(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(Dp(n,i))return!1}if(e.include&&e.include.length>0){for(let i of e.include)if(Dp(n,i))return!0;return!1}return!0}function Dp(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 r_(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 Dp(t,s)})}function nc(r={}){let{telemetry:e,sessionMetrics:t,routes:n,mode:i="production",namespace:s}=r,o=r.widgets??rc,a=r.executors??zt,l=r.apps??bs,c=new Oi,u=Wl({telemetry:e,routes:n,navigation:c,initialSurfaceType:r.initialSurfaceType,initialSurfaceHost:r.initialSurfaceHost}),p=r.events??Ei(),h=Zl({namespace:s}),f=ql({eventBus:p,stateStore:h}),v=zl({state:h,events:p,sessionMetrics:t,accumulator:f}),g=qv(),m=hl(),y=M=>r_(M)?m.resolve(M.selector):null,x=async(M,K)=>{if(!r_(M))return null;try{return await m.waitFor(M.selector,K)}catch{return null}},S=tc({overlayRoot:g,eventBus:p,anchorResolver:y,widgetRegistry:o}),_=ul({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:Hp,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(HC(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 Fi=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 BC(){let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",e="";for(let t=0;t<16;t++)e+=r[Math.floor(Math.random()*r.length)];return e}var Bp=class{constructor(){this.sessionId=BC(),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 ic(){return new Bp}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 J_=Array.prototype,n_=J_.forEach,i_=J_.indexOf,ft=Ge?.navigator,D=Ge?.document,Ze=Ge?.location,ih=Ge?.fetch,sh=Ge!=null&&Ge.XMLHttpRequest&&"withCredentials"in new Ge.XMLHttpRequest?Ge.XMLHttpRequest:void 0,s_=Ge?.AbortController,at=ft?.userAgent,Q=E??{},fr={DEBUG:!1,LIB_VERSION:"1.341.0"};function o_(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 ji(r){return function(){var e=this,t=arguments;return new Promise((function(n,i){var s=r.apply(e,t);function o(l){o_(s,n,i,o,a,"next",l)}function a(l){o_(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 Q_(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 VC=["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"],a_=function(r,e){if(e===void 0&&(e=[]),!r)return!1;var t=r.toLowerCase();return VC.concat(e).some((n=>{var i=n.toLowerCase();return t.indexOf(i)!==-1}))},jC=["$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 Oc=function(r){return r.trim()},oh=function(r){return r.replace(/^\$/,"")},UC=Array.isArray,eb=Object.prototype,tb=eb.hasOwnProperty,Nc=eb.toString,ve=UC||function(r){return Nc.call(r)==="[object Array]"},Ur=r=>typeof r=="function",Le=r=>r===Object(r)&&!ve(r),Ui=r=>{if(Le(r)){for(var e in r)if(tb.call(r,e))return!1;return!0}return!1},H=r=>r===void 0,Fe=r=>Nc.call(r)=="[object String]",ah=r=>Fe(r)&&r.trim().length===0,Dt=r=>r===null,pe=r=>H(r)||Dt(r),br=r=>Nc.call(r)=="[object Number]"&&r==r,Bi=r=>br(r)&&r>0,_r=r=>Nc.call(r)==="[object Boolean]",WC=r=>r instanceof FormData,zC=r=>de(jC,r);function lh(r){return r===null||typeof r!="object"}function pc(r,e){return Object.prototype.toString.call(r)==="[object "+e+"]"}function rb(r){return!H(Event)&&(function(e,t){try{return e instanceof t}catch{return!1}})(r,Event)}var qC=[!0,"true",1,"1","yes"],Vp=r=>de(qC,r),ZC=[!1,"false",0,"0","no"];function Kt(r,e,t,n,i){return e>t&&(n.warn("min cannot be greater than max."),e=t),br(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),Kt(i||t,e,t,n))}var ch=class{constructor(e){this.t={},this.i=e.i,this.o=Kt(e.bucketSize,0,100,e.h),this.m=Kt(e.refillRate,0,this.o,e.h),this.$=Kt(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",hc="iOS",yr="Android",Io="Tablet",nb=yr+" "+Io,ib="iPad",sb="Apple",ob=sb+" Watch",$o="Safari",Zi="BlackBerry",ab="Samsung",lb=ab+"Browser",cb=ab+" Internet",Hn="Chrome",GC=Hn+" OS",ub=Hn+" "+hc,yf="Internet Explorer",db=yf+" "+Et,_f="Opera",KC=_f+" Mini",bf="Edge",pb="Microsoft "+bf,zi="Firefox",hb=zi+" "+hc,Mo="Nintendo",Po="PlayStation",qi="Xbox",fb=yr+" "+Et,gb=Et+" "+$o,_o="Windows",uh=_o+" Phone",l_="Nokia",dh="Ouya",mb="Generic",YC=mb+" "+Et.toLowerCase(),vb=mb+" "+Io.toLowerCase(),ph="Konqueror",et="(\\d+(\\.\\d+)?)",jp=new RegExp("Version/"+et),XC=new RegExp(qi,"i"),JC=new RegExp(Po+" \\w+","i"),QC=new RegExp(Mo+" \\w+","i"),xf=new RegExp(Zi+"|PlayBook|BB10","i"),e1={"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"},sc,c_,Up,t1=(r,e)=>e&&de(e,sb)||(function(t){return de(t,$o)&&!de(t,Hn)&&!de(t,yr)})(r),yb=function(r,e){return e=e||"",de(r," OPR/")&&de(r,"Mini")?KC:de(r," OPR/")?_f:xf.test(r)?Zi:de(r,"IE"+Et)||de(r,"WPDesktop")?db:de(r,lb)?cb:de(r,bf)||de(r,"Edg/")?pb:de(r,"FBIOS")?"Facebook "+Et:de(r,"UCWEB")||de(r,"UCBrowser")?"UC Browser":de(r,"CriOS")?ub:de(r,"CrMo")||de(r,Hn)?Hn:de(r,yr)&&de(r,$o)?fb:de(r,"FxiOS")?hb:de(r.toLowerCase(),ph.toLowerCase())?ph:t1(r,e)?de(r,Et)?gb:$o:de(r,zi)?zi:de(r,"MSIE")||de(r,"Trident/")?yf:de(r,"Gecko")?zi:""},r1={[db]:[new RegExp("rv:"+et)],[pb]:[new RegExp(bf+"?\\/"+et)],[Hn]:[new RegExp("("+Hn+"|CrMo)\\/"+et)],[ub]:[new RegExp("CriOS\\/"+et)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+et)],[$o]:[jp],[gb]:[jp],[_f]:[new RegExp("(Opera|OPR)\\/"+et)],[zi]:[new RegExp(zi+"\\/"+et)],[hb]:[new RegExp("FxiOS\\/"+et)],[ph]:[new RegExp("Konqueror[:/]?"+et,"i")],[Zi]:[new RegExp(Zi+" "+et),jp],[fb]:[new RegExp("android\\s"+et,"i")],[cb]:[new RegExp(lb+"\\/"+et)],[yf]:[new RegExp("(rv:|MSIE )"+et)],Mozilla:[new RegExp("rv:"+et)]},n1=function(r,e){var t=yb(r,e),n=r1[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},u_=[[new RegExp(qi+"; "+qi+" (.*?)[);]","i"),r=>[qi,r&&r[1]||""]],[new RegExp(Mo,"i"),[Mo,""]],[new RegExp(Po,"i"),[Po,""]],[xf,[Zi,""]],[new RegExp(_o,"i"),(r,e)=>{if(/Phone/.test(e)||/WPDesktop/.test(e))return[uh,""];if(new RegExp(Et).test(e)&&!/IEMobile\b/.test(e))return[_o+" "+Et,""];var t=/Windows NT ([0-9.]+)/i.exec(e);if(t&&t[1]){var n=t[1],i=e1[n]||"";return/arm/i.test(e)&&(i="RT"),[_o,i]}return[_o,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,r=>{if(r&&r[3]){var e=[r[3],r[4],r[5]||"0"];return[hc,e.join(".")]}return[hc,""]}],[/(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("("+yr+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+yr+")","i"),r=>{if(r&&r[2]){var e=[r[2],r[3],r[4]||"0"];return[yr,e.join(".")]}return[yr,""]}],[/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/,[GC,""]],[/Linux|debian/i,["Linux",""]]],d_=function(r){return QC.test(r)?Mo:JC.test(r)?Po:XC.test(r)?qi:new RegExp(dh,"i").test(r)?dh:new RegExp("("+uh+"|WPDesktop)","i").test(r)?uh:/iPad/.test(r)?ib:/iPod/.test(r)?"iPod Touch":/iPhone/.test(r)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(r)?ob:xf.test(r)?Zi:/(kobo)\s(ereader|touch)/i.test(r)?"Kobo":new RegExp(l_,"i").test(r)?l_:/(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)?yr:nb:new RegExp("(pda|"+Et+")","i").test(r)?YC:new RegExp(Io,"i").test(r)&&!new RegExp(Io+" pc","i").test(r)?vb:""},i1=r=>r instanceof Error;function s1(r){var e=globalThis._posthogChunkIds;if(e){var t=Object.keys(e);return Up&&t.length===c_||(c_=t.length,Up=t.reduce(((n,i)=>{sc||(sc={});var s=sc[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,sc[i]=[c,u];break}}return n}),{})),Up}}var hh=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 ji((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 ji((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:s1(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)})}},Gi="?";function fh(r,e,t,n,i){var s={platform:r,filename:e,function:t==="<anonymous>"?Gi:t,in_app:!0};return H(n)||(s.lineno=n),H(i)||(s.colno=i),s}var _b=(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]:Gi,t?"safari-extension:"+e:"safari-web-extension:"+e]:[r,e]},o1=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,a1=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,l1=/\((\S*)(?::(\d+))(?::(\d+))\)/,c1=(r,e)=>{var t=o1.exec(r);if(t){var[,n,i,s]=t;return fh(e,n,Gi,+i,+s)}var o=a1.exec(r);if(o){if(o[2]&&o[2].indexOf("eval")===0){var a=l1.exec(o[2]);a&&(o[2]=a[1],o[3]=a[2],o[4]=a[3])}var[l,c]=_b(o[1]||Gi,o[2]);return fh(e,c,l,o[3]?+o[3]:void 0,o[4]?+o[4]:void 0)}},u1=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,d1=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,p1=(r,e)=>{var t=u1.exec(r);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){var n=d1.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]||Gi;return[s,i]=_b(s,i),fh(e,i,s,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},p_=/\(error: (.*)\)/,h_=50;function h1(){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=p_.test(c)?c.replace(p_,"$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>=h_)break}}}return(function(f){if(!f.length)return[];var v=Array.from(f);return v.reverse(),v.slice(0,h_).map((g=>{return j({},g,{filename:g.filename||(m=v,m[m.length-1]||{}).filename,function:g.function||Gi});var m}))})(o)}})("web:javascript",c1,p1)}var gh=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 pc(e,"DOMException")}isDOMError(e){return pc(e,"DOMError")}},mh=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}},vh=class{constructor(){}match(e){return pc(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}}},f1=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,yh=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(f1);return i&&(t=i[1],n=i[2]),[t,n]}},g1=["fatal","error","warning","log","info","debug"];function bb(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 _h=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 rb(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: "+bb(e)}isSeverityLevel(e){return Fe(e)&&!ah(e)&&g1.indexOf(e)>=0}getErrorPropertyFromObject(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){var n=e[t];if(i1(n))return n}}getObjectClassName(e){try{var t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{return}}},bh=class{match(e){return rb(e)}coerce(e,t){var n,i=e.constructor.name;return{type:i,value:i+" captured as exception with keys: "+bb(e),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},xh=class{match(e){return lh(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}}},wh=class{match(e){return pc(e,"PromiseRejectionEvent")}coerce(e,t){var n,i=this.getUnhandledRejectionReason(e);return lh(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(lh(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}},xb=function(r,e){var{debugEnabled:t}=e===void 0?{}:e,n={k:function(i){if(E&&(fr.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)=>xb(r+" "+i,s)};return n},B=xb("[PostHog.js]"),$e=B.createLogger,m1=$e("[ExternalScriptsLoader]"),f_=(r,e,t)=>{if(r.config.disable_external_dependency_loading)return m1.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);f_(r,s,t)},Q.__PosthogExtensions__.loadSiteApp=(r,e,t)=>{var n=r.requestRouter.endpointFor("api",e);f_(r,n,t)};var fc={};function Wr(r,e,t){if(ve(r)){if(n_&&r.forEach===n_)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)===fc)return}}}function ke(r,e,t){if(!pe(r)){if(ve(r))return Wr(r,e,t);if(WC(r)){for(var n of r.entries())if(e.call(t,n[1],n[0])===fc)return}else for(var i in r)if(tb.call(r,i)&&e.call(t,r[i],i)===fc)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},Yi=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 uc(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 g_=function(r){try{return r()}catch{return}},v1=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)}}},wf=function(r){var e={};return ke(r,(function(t,n){(Fe(t)&&t.length>0||br(t))&&(e[n]=t)})),e};function y1(r,e){return t=r,n=s=>Fe(s)&&!Dt(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 _1=["herokuapp.com","vercel.app","netlify.app"];function b1(r){var e=r?.hostname;if(!Fe(e))return!1;var t=e.split(".").slice(-2).join(".");for(var n of _1)if(t===n)return!1;return!0}function wb(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 Sb="$people_distinct_id",bo="__alias",xo="__timers",m_="$autocapture_disabled_server_side",Sh="$heatmaps_enabled_server_side",v_="$exception_capture_enabled_server_side",kh="$error_tracking_suppression_rules",y_="$error_tracking_capture_extension_exceptions",__="$web_vitals_enabled_server_side",kb="$dead_clicks_enabled_server_side",b_="$product_tours_enabled_server_side",x_="$web_vitals_allowed_metrics",Wp="$session_recording_remote_config",gc="$sesid",Eb="$session_is_sampled",Wi="$enabled_feature_flags",wo="$early_access_features",Eh="$feature_flag_details",So="$stored_person_properties",Dn="$stored_group_properties",Ch="$surveys",mc="$flag_call_reported",gr="$user_state",Ah="$client_session_props",Rh="$capture_rate_limit",Th="$initial_campaign_params",Ih="$initial_referrer_info",vc="$initial_person_info",yc="$epp",Cb="__POSTHOG_TOOLBAR__",co="$posthog_cookieless",x1=[Sb,bo,"__cmpns",xo,"$session_recording_enabled_server_side",Sh,gc,Wi,kh,gr,wo,Eh,Dn,So,Ch,mc,Ah,Rh,Th,Ih,yc,vc,"$conversations_widget_session_id","$conversations_ticket_id","$conversations_widget_state","$conversations_user_traits"];function w_(r){return r instanceof Element&&(r.id===Cb||!(r.closest==null||!r.closest(".toolbar-global-fade-container")))}function Lc(r){return!!r&&r.nodeType===1}function zr(r,e){return!!r&&!!r.tagName&&r.tagName.toLowerCase()===e.toLowerCase()}function Ab(r){return!!r&&r.nodeType===3}function Rb(r){return!!r&&r.nodeType===11}function Sf(r){return r?Oc(r).split(/\s+/):[]}function S_(r){var e=E?.location.href;return!!(e&&r&&r.some((t=>e.match(t))))}function _c(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 Sf(e)}function Tb(r){return pe(r)?null:Oc(r).split(/(\s+)/).filter((e=>Oo(e))).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function Lo(r){var e="";return $h(r)&&!Ob(r)&&r.childNodes&&r.childNodes.length&&ke(r.childNodes,(function(t){var n;Ab(t)&&t.textContent&&(e+=(n=Tb(t.textContent))!==null&&n!==void 0?n:"")})),Oc(e)}function Ib(r){return H(r.target)?r.srcElement||null:(e=r.target)!=null&&e.shadowRoot?r.composedPath()[0]||null:r.target||null;var e}var kf=["a","button","form","input","select","textarea","label"];function $b(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 Mb(r){var e=r.parentNode;return!(!e||!Lc(e))&&e}var w1=["next","previous","prev",">","<"],k_=10,E_=[".ph-no-rageclick",".ph-no-capture"];function S1(r,e){if(!E||Ef(r))return!1;var t,n,i;if(_r(e)?(t=!!e&&E_,n=void 0):(t=(i=e?.css_selector_ignorelist)!==null&&i!==void 0?i:E_,n=e?.content_ignorelist),t===!1)return!1;var{targetElementList:s}=Pb(r,!1);return!(function(o,a){if(o===!1||H(o))return!1;var l;if(o===!0)l=w1;else{if(!ve(o))return!1;if(o.length>k_)return B.error("[PostHog] content_ignorelist array cannot exceed "+k_+" 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:Lo(o).toLowerCase(),ariaLabel:((a=o.getAttribute("aria-label"))==null?void 0:a.toLowerCase().trim())||""}})))&&!$b(s,t)}var Ef=r=>!r||zr(r,"html")||!Lc(r),Pb=(r,e)=>{if(!E||Ef(r))return{parentIsUsefulElement:!1,targetElementList:[]};for(var t=!1,n=[r],i=r;i.parentNode&&!zr(i,"body");)if(Rb(i.parentNode))n.push(i.parentNode.host),i=i.parentNode.host;else{var s=Mb(i);if(!s)break;if(e||kf.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 k1(r,e,t,n,i){var s,o,a,l;if(t===void 0&&(t=void 0),!E||Ef(r)||(s=t)!=null&&s.url_allowlist&&!S_(t.url_allowlist)||(o=t)!=null&&o.url_ignorelist&&S_(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}=Pb(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)||!$b(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&&(kf.indexOf(f)>-1||r.getAttribute("contenteditable")==="true")}}function $h(r){for(var e=r;e.parentNode&&!zr(e,"body");e=e.parentNode){var t=_c(e);if(de(t,"ph-sensitive")||de(t,"ph-no-capture"))return!1}if(de(_c(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 Ob(r){return!!(zr(r,"input")&&!["button","checkbox","submit","reset"].includes(r.type)||zr(r,"select")||zr(r,"textarea")||r.getAttribute("contenteditable")==="true")}var Nb="(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})",E1=new RegExp("^(?:"+Nb+")$"),C1=new RegExp(Nb),Lb="\\d{3}-?\\d{2}-?\\d{4}",A1=new RegExp("^("+Lb+")$"),R1=new RegExp("("+Lb+")");function Oo(r,e){return e===void 0&&(e=!0),!(pe(r)||Fe(r)&&(r=Oc(r),(e?E1:C1).test((r||"").replace(/[- ]/g,""))||(e?A1:R1).test(r)))}function Fb(r){var e=Lo(r);return Oo(e=(e+" "+Db(r)).trim())?e:""}function Db(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=Lo(t);e=(e+" "+i).trim(),t.childNodes&&t.childNodes.length&&(e=(e+" "+Db(t)).trim())}catch(s){B.error("[AutoCapture]",s)}})),e}function T1(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 uc(l).sort(((u,p)=>{var[h]=u,[f]=p;return h.localeCompare(f)})).forEach((u=>{var[p,h]=u;return c[C_(p.toString())]=C_(h.toString())})),o+=":",o+=uc(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:I1(t),attr_id:t.attr__id,nth_child:t.nth_child,nth_of_type:t.nth_of_type,attributes:{}};return uc(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 C_(r){return r.replace(/"|\\"/g,'\\"')}function I1(r){var e=r.attr__class;return e?ve(e)?e:Sf(e):void 0}var bc=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}},xc=r=>{var e=D?.createElement("a");return H(e)?null:(e.href=r,e)},$1=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)},wc=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," ")},Fo=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},Sc=function(r,e){var t=r.match(new RegExp(e+"=([^&]*)"));return t?t[1]:null},zp="$copy_autocapture",A_=$e("[AutoCapture]");function qp(r,e){return e.length>r?e.slice(0,r)+"...":e}function M1(r){if(r.previousElementSibling)return r.previousElementSibling;var e=r;do e=e.previousSibling;while(e&&!Lc(e));return e}function P1(r,e,t,n){var i=r.tagName.toLowerCase(),s={tag_name:i};kf.indexOf(i)>-1&&!t&&(i.toLowerCase()==="a"||i.toLowerCase()==="button"?s.$el_text=qp(1024,Fb(r)):s.$el_text=qp(1024,Lo(r)));var o=_c(r);o.length>0&&(s.classes=o.filter((function(u){return u!==""}))),ke(r.attributes,(function(u){var p;if((!Ob(r)||["name","id","class","aria-label"].indexOf(u.name)!==-1)&&(n==null||!n.includes(u.name))&&!e&&Oo(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=Sf(h).join(" ")),s["attr__"+u.name]=qp(1024,h)}}));for(var a=1,l=1,c=r;c=M1(c);)a++,c.tagName===r.tagName&&l++;return s.nth_child=a,s.nth_of_type=l,s}function O1(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");)Rb(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=$h(_);_.tagName.toLowerCase()==="a"&&(v=_.getAttribute("href"),v=w&&v&&Oo(v)&&v),de(_c(_),"ph-no-capture")&&(g=!0),h.push(P1(_,s,o,a));var C=(function(b){if(!$h(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&&Oo(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=Fb(r):h[0].$el_text=Lo(r)),v){var m,y;h[0].attr__href=v;var x=(m=xc(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:T1(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 Mh=class{constructor(e){this.P=!1,this.T=null,this.I=!1,this.instance=e,this.rageclicks=new bc(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){A_.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,zp)};Ne(D,"copy",t,{capture:!0}),Ne(D,"cut",t,{capture:!0})}}}else A_.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({[m_]:!!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[m_],i=this.T;if(Dt(i)&&!_r(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=Ib(e);Ab(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())&&S1(i,this.instance.config.rageclick)&&this.O(e,"$rageclick");var s=t===zp;if(i&&k1(i,e,this.R,s,s?["copy","cut"]:void 0)){var{props:o,explicitNoCapture:a}=O1(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===zp){var c,u=Tb(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 br(r)&&isFinite(r)&&Math.floor(r)===r});var R_="0123456789abcdef",Ph=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+R_.charAt(this.bytes[t]>>>4)+R_.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}},Oh=class{constructor(){this.A=0,this.j=0,this.D=new Nh}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 Ph.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())}},T_,Hb=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&&(Hb=r=>crypto.getRandomValues(r));var Nh=class{constructor(){this.N=new Uint32Array(8),this.U=1/0}nextUint32(){return this.U>=this.N.length&&(Hb(this.N),this.U=0),this.N[this.U++]}},jr=()=>N1().toString(),N1=()=>(T_||(T_=new Oh)).generate(),uo="",L1=/[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),uo)return uo;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();!uo&&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",uo=c)}return uo})(r);if(!t){var n=(i=>{var s=i.match(L1);return s?s[0]:""})(r);n!==t&&B.info("Warning: cookie subdomain discovery mismatch",n,t),t=n}return t?"; domain=."+t:""}return""}var Gt={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(Gt.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{Gt.G(r,"",-1,e)}catch{return}}},Zp=null,Re={H:function(){if(!Dt(Zp))return Zp;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"),Zp=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)}}},D1=["$device_id","distinct_id",gc,Eb,yc,vc],oc={},H1={H:function(){return!0},B:function(r){B.error("memoryStorage error: "+r)},q:function(r){return oc[r]||null},W:function(r){return oc[r]||null},G:function(r,e){oc[r]=e},V:function(r){delete oc[r]}},Ln=null,qe={H:function(){if(!Dt(Ln))return Ln;if(Ln=!0,H(E))Ln=!1;else try{var r="__support__";qe.G(r,"xyz"),qe.q(r)!=='"xyz"'&&(Ln=!1),qe.V(r)}catch{Ln=!1}return Ln},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)}}},mr=(function(r){return r[r.PENDING=-1]="PENDING",r[r.DENIED=0]="DENIED",r[r.GRANTED=1]="GRANTED",r})({}),Lh=class{constructor(e){this._instance=e}get R(){return this._instance.config}get consent(){return this.J()?mr.DENIED:this.K}isOptedOut(){return this.R.cookieless_mode==="always"||this.consent===mr.DENIED||this.consent===mr.PENDING&&(this.R.opt_out_capturing_by_default||this.R.cookieless_mode==="on_reject")}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return this.consent===mr.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 Vp(e)?mr.GRANTED:de(ZC,e)?mr.DENIED:mr.PENDING}get Y(){if(!this.Z){var e=this.R.opt_out_capturing_persistence_type;this.Z=e==="localStorage"?Re:Gt;var t=e==="localStorage"?Gt:Re;t.q(this.X)&&(this.Z.q(this.X)||this.optInOut(Vp(t.q(this.X))),t.V(this.X,this.R.cross_subdomain_cookie))}return this.Z}J(){return!!this.R.respect_dnt&&!!wb([ft?.doNotTrack,ft?.msDoNotTrack,Q.doNotTrack],(e=>Vp(e)))}},ac=$e("[Dead Clicks]"),B1=()=>!0,V1=r=>{var e,t=!((e=r.instance.persistence)==null||!e.get_property(kb)),n=r.instance.config.capture_dead_clicks;return _r(n)?n:!!Le(n)||t},kc=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({[kb]: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?ac.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),ac.info("starting...")}}else ac.error("`document` not found. Cannot start.")}stop(){this.tt&&(this.tt.stop(),this.tt=void 0,ac.info("stopping..."))}},po=$e("[ExceptionAutocapture]"),Fh=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){po.error("failed to start",c),this.ut()}}},this._instance=e,this.ht=!((t=this._instance.persistence)==null||!t.props[v_]),this.dt=new ch({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:po}),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?(po.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 po.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({[v_]: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)?po.info("Skipping exception capture because of client rate limiting.",{exception:i}):this._instance.exceptions.sendExceptionEvent(e)}};function I_(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 Dh=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__||I_(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__||I_(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)}}}},Gp=$e("[SegmentIntegration]");function j1(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(gr,"identified")),i()},a=s.user();"then"in a&&Ur(a.then)?a.then(o):o(a)})(r,(()=>{t.register((n=>{Promise&&Promise.resolve||Gp.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()||(Gp.info("No userId set, resetting PostHog"),n.reset()),s.event.userId&&s.event.userId!==n.get_distinct_id()&&(Gp.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 Bb="posthog-js";function Vb(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 Hh=class{constructor(e,t,n,i,s,o){this.name=Bb,this.setupOnce=function(a){a(Vb(e,{organization:t,projectId:n,prefix:i,severityAllowList:s,sendExceptionsToPostHog:o==null||o}))}}},U1=E!=null&&E.location?Sc(E.location.hash,"__posthog")||Sc(location.hash,"state"):null,$_="_postHogToolbarParams",M_=$e("[Toolbar]"),Vr=(function(r){return r[r.UNINITIALIZED=0]="UNINITIALIZED",r[r.LOADING=1]="LOADING",r[r.LOADED=2]="LOADED",r})(Vr||{}),Bh=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=U1||Sc(e.hash,"__posthog")||Sc(e.hash,"state"),o=s?g_((()=>JSON.parse(atob(decodeURIComponent(s)))))||g_((()=>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($_)||"{}")).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):M_.warn("No toolbar load function found")}loadToolbar(e){var t=!(D==null||!D.getElementById(Cb));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($_,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 M_.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)}},W1=$e("[TracingHeaders]"),Vh=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 W1.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)}},lc="https?://(.*)",Xi=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","irclid","_kx"],z1=Yi(["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid"],Xi),Do="<masked>",q1=["li_fat_id"];function jb(r,e,t){if(!D)return{};var n,i=e?Yi([],Xi,t||[]):[],s=Ub(Fo(D.URL,i,Do),r),o=(n={},ke(q1,(function(a){var l=Gt.q(a);n[a]=l||null})),n);return Pe(o,s)}function Ub(r,e){var t=z1.concat(e||[]),n={};return ke(t,(function(i){var s=wc(r,i);n[i]=s||null})),n}function Wb(r){var e=(function(s){return s?s.search(lc+"google.([^/?]*)")===0?"google":s.search(lc+"bing.com")===0?"bing":s.search(lc+"yahoo.com")===0?"yahoo":s.search(lc+"duckduckgo.com")===0?"duckduckgo":null:null})(r),t=e!="yahoo"?"q":"p",n={};if(!Dt(e)){n.$search_engine=e;var i=D?wc(D.referrer,t):"";i.length&&(n.ph_keyword=i)}return n}function P_(){return navigator.language||navigator.userLanguage}function zb(){return D?.referrer||"$direct"}function qb(r,e){var t=r?Yi([],Xi,e||[]):[],n=Ze?.href.substring(0,1e3);return{r:zb().substring(0,1e3),u:n?Fo(n,t,Do):void 0}}function Zb(r){var e,{r:t,u:n}=r,i={$referrer:t,$referring_domain:t==null?void 0:t=="$direct"?"$direct":(e=xc(t))==null?void 0:e.host};if(n){i.$current_url=n;var s=xc(n);i.$host=s?.host,i.$pathname=s?.pathname;var o=Ub(n);Pe(i,o)}if(t){var a=Wb(t);Pe(i,a)}return i}function Gb(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function Z1(){try{return new Date().getTimezoneOffset()}catch{return}}function G1(r,e){if(!at)return{};var t,n,i,s=r?Yi([],Xi,e||[]):[],[o,a]=(function(l){for(var c=0;c<u_.length;c++){var[u,p]=u_[c],h=u.exec(l),f=h&&(Ur(p)?p(h,l):p);if(f)return f}return["",""]})(at);return Pe(wf({$os:o,$os_version:a,$browser:yb(at,navigator.vendor),$device:d_(at),$device_type:(n=at,i=d_(n),i===ib||i===nb||i==="Kobo"||i==="Kindle Fire"||i===vb?Io:i===Mo||i===qi||i===Po||i===dh?"Console":i===ob?"Wearable":i?Et:"Desktop"),$timezone:Gb(),$timezone_offset:Z1()}),{$current_url:Fo(Ze?.href,s,Do),$host:Ze?.host,$pathname:Ze?.pathname,$raw_user_agent:at.length>1e3?at.substring(0,997)+"...":at,$browser_version:n1(at,navigator.vendor),$browser_language:P_(),$browser_language_prefix:(t=P_(),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:fr.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})}var Dr=$e("[Web Vitals]"),O_=9e5,jh=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[__]),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[x_])||["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)&&br(this._instance.config.capture_performance.__web_vitals_max_value)?this._instance.config.capture_performance.__web_vitals_max_value:O_;return 0<e&&e<=6e4?O_: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:_r(this._instance.config.capture_performance)?this._instance.config.capture_performance:void 0;return _r(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({[__]:t}),this._instance.persistence.register({[x_]: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?Yi([],Xi,n||[]):[];return Fo(e,i,Do)}Dr.error("Could not determine current URL")}},K1=$e("[Heatmaps]");function N_(r){return Le(r)&&"clientX"in r&&"clientY"in r&&br(r.clientX)&&br(r.clientY)}var Uh=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[Sh]),this.rageclicks=new bc(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;K1.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({[Sh]: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 kc(this.instance,B1,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&&Lc(u)&&!zr(u,"body");){if(u===c)return!1;if(de(l,E?.getComputedStyle(u).position))return!0;u=Mb(u)}return!1})(Ib(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"),!w_(e.target)&&N_(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){!w_(e.target)&&N_(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?Yi([],Xi,i||[]):[],o=Fo(t,s,Do);this.N=this.N||{},this.N[o]||(this.N[o]=[]),this.N[o].push(e)}}Lt(){this.N&&!Ui(this.N)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}},Ec=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:Kt(a/o,0,1,B),f=o<=1?1:Kt(l/o,0,1,B),v=c<=1?1:Kt(u/c,0,1,B),g=c<=1?1:Kt(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 vr=(function(r){return r.GZipJS="gzip-js",r.Base64="base64",r})({}),Ct=Uint8Array,tt=Uint16Array,Ki=Uint32Array,Cf=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]),Af=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]),L_=new Ct([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Kb=function(r,e){for(var t=new tt(31),n=0;n<31;++n)t[n]=e+=1<<r[n-1];var i=new Ki(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]},Yb=Kb(Cf,2),Y1=Yb[0],Wh=Yb[1];Y1[28]=258,Wh[258]=28;for(zh=Kb(Af,0)[1],Cc=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,Cc[Ee]=((65280&Hr)>>>8|(255&Hr)<<8)>>>1;var Hr,zh,Cc,Ee,Ao=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[Cc[p]>>>l]=c}else for(o=new tt(n),i=0;i<n;++i)o[i]=Cc[a[r[i]-1]++]>>>15-r[i];return o},Bn=new Ct(288);for(Ee=0;Ee<144;++Ee)Bn[Ee]=8;for(Ee=144;Ee<256;++Ee)Bn[Ee]=9;for(Ee=256;Ee<280;++Ee)Bn[Ee]=7;for(Ee=280;Ee<288;++Ee)Bn[Ee]=8;var Ac=new Ct(32);for(Ee=0;Ee<32;++Ee)Ac[Ee]=5;var X1=Ao(Bn,9,0),J1=Ao(Ac,5,0),Xb=function(r){return(r/8>>0)+(7&r&&1)},Jb=function(r,e,t){(t==null||t>r.length)&&(t=r.length);var n=new(r instanceof tt?tt:r instanceof Ki?Ki:Ct)(t-e);return n.set(r.subarray(e,t)),n},pr=function(r,e,t){t<<=7&e;var n=e/8>>0;r[n]|=t,r[n+1]|=t>>>8},ho=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},Kp=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=qh(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]},qh=function(r,e,t){return r.s==-1?Math.max(qh(r.l,e,t+1),qh(r.r,e,t+1)):e[r.s]=t},F_=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]},fo=function(r,e){for(var t=0,n=0;n<e.length;++n)t+=r[n]*e[n];return t},Zh=function(r,e,t){var n=t.length,i=Xb(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)},D_=function(r,e,t,n,i,s,o,a,l,c,u){pr(e,u++,t),++i[256];for(var p=Kp(i,15),h=p[0],f=p[1],v=Kp(s,15),g=v[0],m=v[1],y=F_(h),x=y[0],S=y[1],_=F_(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 $=Kp(b,7),T=$[0],M=$[1],K=19;K>4&&!T[L_[K-1]];--K);var N,P,z,Z,oe=c+5<<3,V=fo(i,Bn)+fo(s,Ac)+o,X=fo(i,h)+fo(s,g)+o+14+3*K+fo(b,T)+(2*b[16]+3*b[17]+7*b[18]);if(oe<=V&&oe<=X)return Zh(e,u,r.subarray(l,l+c));if(pr(e,u,1+(X<V)),u+=2,X<V){N=Ao(h,f,0),P=h,z=Ao(g,m,0),Z=g;var L=Ao(T,M,0);for(pr(e,u,S-257),pr(e,u+5,C-1),pr(e,u+10,K-4),u+=14,A=0;A<K;++A)pr(e,u+3*A,T[L_[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];pr(e,u,L[he]),u+=T[he],he>15&&(pr(e,u,ce[A]>>>5&127),u+=ce[A]>>>12)}}}else N=X1,P=Bn,z=J1,Z=Ac;for(A=0;A<a;++A)if(n[A]>255){he=n[A]>>>18&31,ho(e,u,N[he+257]),u+=P[he+257],he>7&&(pr(e,u,n[A]>>>23&31),u+=Cf[he]);var gt=31&n[A];ho(e,u,z[gt]),u+=Z[gt],gt>3&&(ho(e,u,n[A]>>>5&8191),u+=Af[gt])}else ho(e,u,N[n[A]]),u+=P[n[A]];return ho(e,u,N[256]),u+P[256]},Q1=new Ki([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),eA=(function(){for(var r=new Ki(256),e=0;e<256;++e){for(var t=e,n=9;--n;)t=(1&t&&3988292384)^t>>>1;r[e]=t}return r})(),tA=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=Zh(f,v,s.subarray(g,m)):(f[g]=u,v=Zh(f,v,s.subarray(g,p)))}else{for(var y=Q1[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(Wc){return(s[Wc]^s[Wc+1]<<b^s[Wc+2]<<A)&_},T=new Ki(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=D_(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,gt=S,Me=X-L&32767;if(re>2&&V==$(g-Me))for(var rt=Math.min(x,re)-1,Ht=Math.min(32767,g),jc=Math.min(258,re);Me<=Ht&&--gt&&X!=L;){if(s[g+ce]==s[g+ce-Me]){for(var mt=0;mt<jc&&s[g+mt]==s[g+mt-Me];++mt);if(mt>ce){if(ce=mt,he=Me,mt>rt)break;var Oe=Math.min(Me,mt-2),Ho=0;for(G=0;G<Oe;++G){var Uc=g-Me+G+32768&32767,Pf=Uc-w[Uc]+32768&32767;Pf>Ho&&(Ho=Pf,L=Uc)}}}Me+=(X=L)-(L=w[X])+32768&32767}if(he){T[z++]=268435456|Wh[ce]<<18|zh[he];var Of=31&Wh[ce],Nf=31&zh[he];P+=Cf[Of]+Af[Nf],++M[257+Of],++K[Nf],Z=g+ce,++N}else T[z++]=s[g],++M[s[g]]}}v=D_(s,f,u,T,M,K,P,z,oe,g-oe,v)}return Jb(h,0,l+Xb(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)},Yp=function(r,e,t){for(;t;++e)r[e]=t,t>>>=8};function rA(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=eA[255&c^l[u]]^c>>>8;a=c},d:function(){return 4294967295^a}}})(),n=r.length;t.p(r);var i,s=tA(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&&Yp(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),Yp(s,o-8,t.d()),Yp(s,o-4,n),s}var nA=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),Dt(a)||(t>e&&(s+=r.substring(e,t)),s+=a,e=t=i+1)}return t>e&&(s+=r.substring(e,r.length)),s},iA=!!sh||!!ih,H_="text/plain",Rc=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=$1(o);return l&&a.push(l),i+"?"+a.join("&")},ko=(r,e)=>JSON.stringify(r,((t,n)=>typeof n=="bigint"?n.toString():n),e),Xp=r=>{var{data:e,compression:t}=r;if(e){if(t===vr.GZipJS){var n=rA((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 Jb(p,0,h)})(ko(e)),{mtime:0}),i=new Blob([n],{type:H_});return{contentType:H_,body:i,estimatedSize:i.size}}if(t===vr.Base64){var s=(function(l){var c,u,p,h,f,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",g=0,m=0,y="",x=[];if(!l)return l;l=nA(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})(ko(e)),o=(l=>"data="+encodeURIComponent(typeof l=="string"?l:ko(l)))(s);return{contentType:"application/x-www-form-urlencoded",body:o,estimatedSize:new Blob([o]).size}}var a=ko(e);return{contentType:"application/json",body:a,estimatedSize:new Blob([a]).size}}},dc=[];ih&&dc.push({transport:"fetch",method:r=>{var e,t,{contentType:n,body:i,estimatedSize:s}=(e=Xp(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(s_){var c=new s_;l={signal:c.signal,timeout:setTimeout((()=>c.abort()),r.timeout)}}ih(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))}}),sh&&dc.push({transport:"XHR",method:r=>{var e,t=new sh;t.open(r.method||"GET",r.url,!0);var{contentType:n,body:i}=(e=Xp(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)}}),ft!=null&&ft.sendBeacon&&dc.push({transport:"sendBeacon",method:r=>{var e=Rc(r.url,{beacon:"1"});try{var t,{contentType:n,body:i}=(t=Xp(r))!==null&&t!==void 0?t:{},s=typeof i=="string"?new Blob([i],{type:n}):i;ft.sendBeacon(e,s)}catch{}}});var Tc=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 B_(r,e,t){return ko({distinct_id:r,userPropertiesToSet:e,userPropertiesToSetOnce:t})}var Qb={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=>Tc(t,n))))),not_regex:(r,e)=>e.every((t=>r.every((n=>!Tc(t,n))))),icontains:(r,e)=>e.map(cc).some((t=>r.map(cc).some((n=>t.includes(n))))),not_icontains:(r,e)=>e.map(cc).every((t=>r.map(cc).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)))}))},cc=r=>r.toLowerCase();function e0(r,e){return!r||Object.entries(r).every((t=>{var[n,i]=t,s=e?.[n];if(H(s)||Dt(s))return!1;var o=[String(s)],a=Qb[i.operator];return!!a&&a(i.values,o)}))}var Jp=$e("[Error tracking]"),Gh=class{constructor(e){var t,n;this.Zt=[],this.ti=new hh([new gh,new wh,new vh,new mh,new bh,new _h,new yh,new xh],h1()),this._instance=e,this.Zt=(t=(n=this._instance.persistence)==null?void 0:n.get_property(kh))!==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({[kh]:this.Zt,[y_]:o})}get ii(){var e,t=!!this._instance.get_property(y_),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 Jp.info("Skipping exception capture because a suppression rule matched");if(!this.ii&&this.si(t))return void Jp.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.ni(t))return void Jp.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=Qb[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)}},ht=$e("[FeatureFlags]"),go=$e("[FeatureFlags]",{debugEnabled:!0}),Qp="$active_feature_flags",Di="$override_feature_flags",V_="$feature_flag_payloads",mo="$override_feature_flag_payloads",j_="$feature_flag_request_id",U_="$feature_flag_evaluated_at",W_=r=>{var e={};for(var[t,n]of uc(r||{}))n&&(e[t]=n);return e},sA=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]})))):ht.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),r},oA=(function(r){return r.FeatureFlags="feature_flags",r.Recordings="recordings",r})({}),Kh=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||(ht.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||ht.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(Eh),t=this._instance.get_property(Di),n=this._instance.get_property(mo);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||(ht.warn(" Overriding feature flag details!",{flagDetails:e,overriddenPayloads:n,finalDetails:i}),this.oi=!0),i}getFlagVariants(){var e=this._instance.get_property(Wi),t=this._instance.get_property(Di);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||(ht.warn(" Overriding feature flags!",{enabledFlags:e,overriddenFlags:t,finalFlags:n}),this.oi=!0),n}getFlagPayloads(){var e=this._instance.get_property(V_),t=this._instance.get_property(mo);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||(ht.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(So)||{}),group_properties:this._instance.get_property(Dn)};Dt(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=Gb()),this.li=!0,this._instance._send_request({method:"POST",url:c,data:s,compression:this._instance.config.disable_compression?void 0:vr.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(oA.FeatureFlags))ht.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}ht.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(j_)||void 0,c=this._instance.get_property(U_)||void 0,u=this._instance.get_property(mc)||{};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({[mc]: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 ht.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:vr.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}ht.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=sA(o),h=p.flags,f=p.featureFlags,v=p.featureFlagPayloads;if(f){var g=o.requestId,m=o.evaluatedAt;if(ve(f)){ht.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({[Qp]:f,[Wi]: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({[Qp]:Object.keys(W_(S)),[Wi]:S||{},[V_]:_||{},[Eh]:w||{}},g?{[j_]:g}:{},m?{[U_]:m}:{}))}}})(e,this._instance.persistence,n,i,s),this.wi(t)}}override(e,t){t===void 0&&(t=!1),ht.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:e,suppressWarning:t})}overrideFeatureFlags(e){if(!this._instance.__loaded||!this._instance.persistence)return ht.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(e===!1)return this._instance.persistence.unregister(Di),this._instance.persistence.unregister(mo),this.wi(),go.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(Di),go.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({[Di]:i})}else this._instance.persistence.register({[Di]:n.flags});go.info("Flag overrides set",{flags:n.flags})}}return"payloads"in n&&(n.payloads===!1?(this._instance.persistence.unregister(mo),go.info("Payload overrides cleared")):n.payloads&&(this._instance.persistence.register({[mo]:n.payloads}),go.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(wo)||[]).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({[Qp]:Object.keys(W_(l)),[Wi]:l}),this.wi()}getEarlyAccessFeatures(e,t,n){t===void 0&&(t=!1);var i=this._instance.get_property(wo),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(wo),(l=this._instance.persistence)==null||l.register({[wo]: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(So)||{};this._instance.register({[So]:j({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(So)}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(Dn)||{};Object.keys(n).length!==0&&Object.keys(n).forEach((i=>{n[i]=j({},n[i],e[i]),delete e[i]})),this._instance.register({[Dn]:j({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){var t=this._instance.get_property(Dn)||{};this._instance.register({[Dn]:j({},t,{[e]:{}})})}else this._instance.unregister(Dn)}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}},aA=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"],Ro=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){aA.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=[...D1,...i];return j({},Re,{W:function(o){try{var a={};try{a=Gt.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&&Gt.G(o,h,l,c,u,p)}catch(f){Re.B(f)}},V:function(o,a){try{E?.localStorage.removeItem(o),Gt.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"?H1:n==="cookie"?Gt:t.H()?t:Gt}properties(){var e={};return ke(this.props,(function(t,n){if(n===Wi&&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,(Dt(o=x1)?l:i_&&o.indexOf===i_?o.indexOf(a)!=-1:(ke(o,(function(c){if(l||(l=c===a))return fc})),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=jb(this.R.custom_campaign_params,this.R.mask_personal_data_properties,this.R.custom_personal_data_properties);Ui(wf(e))||this.register(e),this.Ei=!0}}update_search_keyword(){var e;this.register((e=D?.referrer)?Wb(e):{})}update_referrer_info(){var e;this.register_once({$referrer:zb(),$referring_domain:D!=null&&D.referrer&&((e=xc(D.referrer))==null?void 0:e.host)||"$direct"},void 0)}set_initial_person_info(){this.props[Th]||this.props[Ih]||this.register_once({[vc]:qb(this.R.mask_personal_data_properties,this.R.custom_personal_data_properties)},void 0)}get_initial_props(){var e={};ke([Ih,Th],(o=>{var a=this.props[o];a&&ke(a,(function(l,c){e["$initial_"+oh(c)]=l}))}));var t,n,i=this.props[vc];if(i){var s=(t=Zb(i),n={},ke(t,(function(o,a){n["$initial_"+oh(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[xo]||{};n[e]=t,this.props[xo]=n,this.save()}remove_event_timer(e){var t=(this.props[xo]||{})[e];return H(t)||(delete this.props[xo][e],this.save()),t}get_property(e){return this.props[e]}set_property(e,t){this.props[e]=t,this.save()}},z_=$e("[Product Tours]"),eh="ph_product_tours",Yh=class{constructor(e){this.Ri=null,this.Fi=null,this._instance=e}onRemoteConfig(e){this._instance.persistence&&this._instance.persistence.register({[b_]:!(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(b_)||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?z_.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[eh];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 z_.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({[eh]: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(eh)}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)}},vo=(function(r){return r.Activation="events",r.Cancellation="cancelEvents",r})({}),EN=(function(r){return r.Button="button",r.Tab="tab",r.Selector="selector",r})({}),CN=(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})({}),AN=(function(r){return r.Top="top",r.Left="left",r.Right="right",r.Bottom="bottom",r})({}),th=(function(r){return r.Popover="popover",r.API="api",r.Widget="widget",r.ExternalSurvey="external_survey",r})({}),RN=(function(r){return r.Open="open",r.MultipleChoice="multiple_choice",r.SingleChoice="single_choice",r.Rating="rating",r.Link="link",r})({}),TN=(function(r){return r.NextQuestion="next_question",r.End="end",r.ResponseBased="response_based",r.SpecificQuestion="specific_question",r})({}),IN=(function(r){return r.Once="once",r.Recurring="recurring",r.Always="always",r})({}),Eo=(function(r){return r.SHOWN="survey shown",r.DISMISSED="survey dismissed",r.SENT="survey sent",r.ABANDONED="survey abandoned",r})({}),rh=(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})({}),Xh=(function(r){return r.Popover="popover",r.Inline="inline",r})({}),Se=$e("[Surveys]"),t0="seenSurvey_",lA=(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},q_=r=>((e,t)=>{var n=""+e+t.id;return t.current_iteration&&t.current_iteration>0&&(n=""+e+t.id+"_"+t.current_iteration),n})(t0,r),cA=[th.Popover,th.Widget,th.API],uA={ignoreConditions:!1,ignoreDelay:!1,displayType:Xh.Popover},No=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 Hi(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 Jh=class{constructor(e){this.Ai=new No,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"||!Hi(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=>Hi(a.href,t.href,t.href_matching||"exact")));var s,o=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!o&&Hi((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=>Hi(c.text,t.text,t.text_matching||"exact")||Hi(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=>Hi(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||e0(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)}},Qh=class{constructor(e){this._instance=e,this.Ki=new Map,this.Yi=new Map,this.Xi=new Map}Qi(e,t){return!!e&&e0(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===vo.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 Jh(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,vo.Activation),this.Yi=this.Zi(e,vo.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,vo.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,vo.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}},ef=class extends Qh{constructor(e){super(e)}oe(){return"$surveys_activated"}ae(){return Eo.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()}},tf=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(t0)||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 ef(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(Ch);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({[Ch]: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(cA.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!==Xh.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!==Xh.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()}},hr=$e("[Conversations]"),rf=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)||(_r(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 hr.error("Conversations enabled but missing token in remote config.")}}$e(e){if(this.Ee)try{this._conversationsManager=e(this.Ee,this._instance),hr.info("Conversations loaded successfully")}catch(t){this.Se("Error completing conversations initialization",t)}else hr.error("Cannot complete initialization: remote config is null")}Se(e,t){hr.error(e,t),this._conversationsManager=null,this.xe=!1}show(){this._conversationsManager?this._conversationsManager.show():hr.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.we===!0&&!Dt(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 ji((function*(){return i._conversationsManager?i._conversationsManager.sendMessage(e,t,n):(hr.warn("Conversations not available yet."),null)}))()}getMessages(e,t){var n=this;return ji((function*(){return n._conversationsManager?n._conversationsManager.getMessages(e,t):(hr.warn("Conversations not available yet."),null)}))()}markAsRead(e){var t=this;return ji((function*(){return t._conversationsManager?t._conversationsManager.markAsRead(e):(hr.warn("Conversations not available yet."),null)}))()}getTickets(e){var t=this;return ji((function*(){return t._conversationsManager?t._conversationsManager.getTickets(e):(hr.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}},nf=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=$e("[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.")}}},Z_=$e("[RateLimiter]"),sf=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=>{Z_.info((i||"events")+" is quota limited."),this.serverLimits[i]=new Date().getTime()+6e4}))}catch(i){return void Z_.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(Rh))!==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(Rh,l),{isRateLimited:c,remainingTokens:l.tokens}}isServerRateLimited(e){var t=this.serverLimits[e||"events"]||!1;return t!==!1&&new Date().getTime()<t}},Fn=$e("[RemoteConfig]"),of=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))):(Fn.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 Fn.info("Using preloaded remote config",this.remoteConfig),void this.yi(this.remoteConfig);if(this._instance.M())return void Fn.warn("Remote config is disabled. Falling back to local config.");this.Te((e=>{if(!e)return Fn.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){Fn.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()):Fn.info("__preview_remote_config is disabled. Logging config instead",e):Fn.error("Failed to fetch remote config from PostHog.")}},af=3e3,lf=class{constructor(e,t){this.Ce=!0,this.Re=[],this.Fe=Kt(t?.flush_interval_ms||af,250,5e3,B.createLogger("flush interval"),af),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}},dA=["retriesPerformedSoFar"],cf=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=Q_(e,dA);Bi(t)&&(n.url=Rc(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=[]}},uf=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}},pA=r=>qb(r?.config.mask_personal_data_properties,r?.config.custom_personal_data_properties),Ic=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({[Ah]:a})}},this._instance=e,this.Qe=t,this.Xe=n,this.Ye=i||pA,this.Qe.onSessionId(this.Je)}Ke(){return this.Xe.props[Ah]}getSetOnceProps(){var e,t=(e=this.Ke())==null?void 0:e.props;return t?"r"in t?Zb(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(wf(this.getSetOnceProps()),((t,n)=>{n==="$current_url"&&(n="url"),e["$session_entry_"+oh(n)]=t})),e}},nh=$e("[SessionId]"),$c=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 No,this.er=(u,p)=>!(!Bi(u)||!Bi(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*Kt(o,60,36e3,nh.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){nh.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({[gc]:[t,e,n]}))}_r(){var e=this.Xe.props[gc];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=Bi(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(),nh.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=Bi(i)&&e&&!l?i:n,f=Bi(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)}},hA=["$set_once","$set"],Br=$e("[SiteApps]"),df=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({},Q_(e,hA),{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.')}},r0=function(r,e){if(!r)return!1;var t=r.userAgent;if(t&&a_(t,e))return!0;try{var n=r?.userAgentData;if(n!=null&&n.brands&&n.brands.some((i=>a_(i?.brand,e))))return!0}catch{}return!!r.webdriver},Co=(function(r){return r.US="us",r.EU="eu",r.CUSTOM="custom",r})({}),G_="i.posthog.com",pf=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("."+G_,".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]=Co.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=Co.EU:this.Sr[this.apiHost]=Co.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===Co.CUSTOM)return this.apiHost+t;var n=G_+t;switch(e){case"assets":return"https://"+this.region+"-assets."+n;case"api":return"https://"+this.region+"."+n}}},fA={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&&Tc(e.href,r),not_regex:(r,e)=>!!E&&!Tc(e.href,r),exact:(r,e)=>e.href===r,is_not:(r,e)=>e.href!==r},hf=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=wc(e?.search,"__experiment_id"),n=wc(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||fA[(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=jb();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 ft&&this._instance?r0(ft,this._instance.config.custom_blocked_useragents):void 0}},gA=$e("[PostHog ExternalIntegrations]"),mA={intercom:"intercom-integration",crispChat:"crisp-chat-integration"},ff=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 gA.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(mA[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)}}},gf="[SessionRecording]",yo=$e(gf),Mc=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 yo.error("started without valid sessionManager"),new Error(gf+" started without valid sessionManager. This is a bug.");if(this._instance.config.cookieless_mode==="always")throw new Error(gf+' cannot be used with cookieless_mode="always"')}get Ar(){var e,t=!((e=this._instance.get_property(Wp))==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),yo.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 yo.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(Eb)}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({[Wp]: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:yo.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):yo.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(Wp);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))}},To={},mf=()=>{},Vi="posthog",n0=!iA&&at?.indexOf("MSIE")===-1&&at?.indexOf("Mozilla")===-1,K_=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:b1(D?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:mf,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:af},error_tracking:{},_onCapture:mf,__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))},Y_=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},vf=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}},Pc=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 vf,this.Br=!1,this.version=fr.LIB_VERSION,this.qr=new No,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=K_(),this.SentryIntegration=Hh,this.sentryIntegration=e=>(function(t,n){var i=Vb(t,n);return{name:Bb,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 Kh(this),this.toolbar=new Bh(this),this.scrollManager=new uf(this),this.pageViewManager=new Ec(this),this.surveys=new tf(this),this.conversations=new rf(this),this.logs=new nf(this),this.experiments=new hf(this),this.exceptions=new Gh(this),this.rateLimiter=new sf(this),this.requestRouter=new pf(this),this.consent=new Lh(this),this.externalIntegrations=new ff(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!==Vi){var i,s=(i=To[n])!==null&&i!==void 0?i:new r;return s._init(e,t,n),To[n]=s,To[Vi][n]=s,s}return this._init(e,t,n)}_init(e,t,n){var i;if(t===void 0&&(t={}),H(e)||ah(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({},K_(t.defaults),Y_(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:vr.GZipJS;var s=this.Qr();this.persistence=new Ro(this.config,s),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new Ro(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 lf((x=>this.ts(x)),this.config.request_queue_config),this.es=new cf(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 $c(this),this.sessionPropsManager=new Ic(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)),fr.DEBUG=fr.DEBUG||this.config.debug,fr.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(gr,(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:co,$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(gr,"anonymous")}return Ne(E,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),t.segment?j1(this,(()=>this.ns())):this.ns(),Ur(this.config._onCapture)&&this.config._onCapture!==mf&&(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 Dh(this),this.historyAutocapture.startIfEnabled();var n=[];n.push((()=>{new Vh(this).startIfEnabledOrStop()})),n.push((()=>{var i;this.siteApps=new df(this),(i=this.siteApps)==null||i.init()})),e||n.push((()=>{this.sessionRecording=new Mc(this),this.sessionRecording.startIfEnabledOrStop()})),this.config.disable_scroll_properties||n.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),n.push((()=>{this.autocapture=new Mh(this),this.autocapture.startIfEnabled()})),n.push((()=>{this.surveys.loadIfEnabled()})),n.push((()=>{this.logs.loadIfEnabled()})),n.push((()=>{this.conversations.loadIfEnabled()})),n.push((()=>{this.productTours=new Yh(this),this.productTours.loadIfEnabled()})),n.push((()=>{this.heatmaps=new Uh(this),this.heatmaps.startIfEnabled()})),n.push((()=>{this.webVitalsAutocapture=new jh(this)})),n.push((()=>{this.exceptionObserver=new Fh(this),this.exceptionObserver.startIfEnabledOrStop()})),n.push((()=>{this.deadClicksAutocapture=new kc(this,V1),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,vr.GZipJS)?vr.GZipJS:de(e.supportedCompression,vr.Base64)?vr.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 of(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&&(n0?this.__request_queue.push(e):this.rateLimiter.isServerRateLimited(e.batchKey)||(e.transport=e.transport||this.config.api_transport,e.url=Rc(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=Rc(o.url,{_:new Date().getTime().toString(),ver:fr.LIB_VERSION,compression:o.compression});var a=(n=o.transport)!==null&&n!==void 0?n:"fetch",l=dc.filter((u=>!o.disableTransport||!u.transport||!o.disableTransport.includes(u.transport))),c=(i=(s=wb(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=y1(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===Eo.DISMISSED||e===Eo.SENT){var v=t?.[rh.SURVEY_ID],g=t?.[rh.SURVEY_ITERATION];p={id:v,current_iteration:g},localStorage.getItem(q_(p))||localStorage.setItem(q_(p),"true"),u.$set=j({},u.$set,{[lA({id:v,current_iteration:g},e===Eo.SENT?"responded":"dismissed")]:!0})}else e===Eo.SHOWN&&(u.$set=j({},u.$set,{[rh.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var m=j({},u.properties.$set,u.$set);if(Ui(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)&&!br(a.distinct_id)||ah(a.distinct_id))&&B.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),a}var c,u=G1(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===Co.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),Ui(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=uA),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(br(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!==co){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(bo)&&(this.unregister(bo),this.register({distinct_id:e}));var o=(this.persistence.get_property(gr)||"anonymous")==="anonymous";e!==i&&o?(this.persistence.set_property(gr,"identified"),this.setPersonPropertiesForFlags(j({},n||{},t||{}),!1),this.capture("$identify",{distinct_id:e,$anon_distinct_id:i},{$set:t||{},$set_once:n||{}}),this.Jr=B_(e,t,n),this.featureFlags.setAnonymousDistinctId(i)):(t||n)&&this.setPersonProperties(t,n),e!==i&&(this.reloadFeatureFlags(),this.unregister(mc))}}else B.critical('The string "'+co+'" 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=B_(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(gr,"anonymous"),(s=this.sessionManager)==null||s.resetSessionId(),this.Jr=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:co,$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(Sb)?(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(bo,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,Y_(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 Ro(j({},this.config,{persistence:"sessionStorage"}),u);var p=this.Kr(this.config.debug);_r(p)&&(this.config.debug=p),_r(this.config.debug)&&(this.config.debug?(fr.DEBUG=!0,Re.H()&&Re.G("ph_debug","true"),B.info("set_config",{config:e,oldConfig:t,newConfig:j({},this.config)})):(fr.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:Vi;return t!==Vi&&(t=Vi+"."+t),t}_isIdentified(){var e,t;return((e=this.persistence)==null?void 0:e.get_property(gr))==="identified"||((t=this.sessionPersistence)==null?void 0:t.get_property(gr))==="identified"}fs(){var e,t;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&Ui(this.getGroups())&&((e=this.persistence)==null||(e=e.props)==null||!e[bo])&&((t=this.persistence)==null||(t=t.props)==null||!t[yc]))}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(yc,!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 $c(this),this.pageViewManager=new Ec(this),this.persistence&&(this.sessionPropsManager=new Ic(this,this.sessionManager,this.persistence)),this.sessionRecording=new Mc(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:co,$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===mr.GRANTED?"granted":e===mr.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 ft?r0(ft,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 zC(e.event)?B.warn(s+". This can cause unexpected behavior."):B.info(s),null}n.properties&&!Ui(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=_r(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]]=v1(r.prototype[e[t]])})(Pc,["identify"]);var X_;var i0=(X_=To[Vi]=new Pc,(function(){function r(){r.done||(r.done=!0,n0=!1,ke(To,(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")})(),X_);var Rf=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=i0.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 Fc(r={}){return new Rf(r)}var s0={posthog:r=>Fc(r),noop:()=>ic()};function o0(r,e){let t=s0[r];if(!t)throw new Error(`Unknown telemetry provider: ${r}. Supported: ${Object.keys(s0).join(", ")}`);return t(e)}async function a0(r){Ju(),q("Syntro Bootstrap","====== INIT ======"),q("Syntro Bootstrap","Options:",{hasToken:!!r.token,tokenPrefix:`${r.token?.slice(0,15)}...`,hasCanvasOptions:!!r.canvas});let e=ml();if(console.log(`[DIAG] Mode detection: sdkMode=${e}`),console.log("[DIAG] editorSource:",qs()),console.log("[DIAG] editorConf:",gl()),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=gl()?.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=ki(t),Ju(n.d);else if(e)q("Syntro Bootstrap",`\u2713 Non-syn_ token allowed (${e} mode)`);else throw Qa("Syntro Bootstrap","\u274C Token does not start with syn_ and NOT in editor/audit/review mode!"),Qa("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 Qa("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")||Jv,l=Kv(),c=ip(),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=sp(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=Ei({debug:r.debug,history:g?new Ci(r.testMode?0:100):void 0,testMode:r.testMode});console.log("[Syntro Bootstrap] EventBus created");let y=Ku({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=Zy(),S,_=L=>{q("Syntro Bootstrap","Phase 2: PostHog feature flags loaded");let re=Xv(L);if(q("Syntro Bootstrap","Segment flags from PostHog:",re),Yv(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=o0(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 Ul({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=Vy("growthbook",{clientKey:n.e,apiHost:i,attributes:p,onExperimentViewed:w?.trackExperiment?(L,re,G)=>{w.trackExperiment(L,re,G)}:void 0})),C=Bl({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=nc({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")||Qv()||"https://cdn.syntrologie.com",K=wu({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=zy(n.f,n.o??{});Z=async()=>{let re=await L.fetch();return{...re.config,tiles:re.config.tiles??[]}}}else v&&(Z=kn({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 Me=typeof window<"u"?window.SynOS??(window.SynOS={}):void 0,rt=Me?.interventionTracker,Ht;rt&&rt.variantId===ce?Ht=rt:(Ht=new Fi(w,ce),Me&&(Me.interventionTracker=Ht),T.navigation.subscribe(()=>{Ht.resetPage()})),Ht.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((Me,rt)=>`[${rt}] ${Me.kind}${Me.anchorId?` anchor="${Me.anchorId.selector}"`:""}${Me.label?` "${Me.label}"`:""}`).join(", "));let he=L,gt=K.getRequiredApps(he);return gt.length>0?console.log("[Syntro Bootstrap] Required external apps:",gt.join(", ")):q("Syntro Bootstrap","No external apps required (all executors are built-in)"),gt.length>0&&await K.loadAppsForConfig(he).then(async rt=>{let Ht=rt.filter(Oe=>Oe.success),jc=rt.filter(Oe=>!Oe.success);Ht.length>0&&console.log(`[Syntro Bootstrap] Apps loaded from CDN: ${Ht.map(Oe=>Oe.appId).join(", ")}`);let mt=jc.filter(Oe=>!oe.has(Oe.appId));mt.length>0&&(console.error("[Syntro Bootstrap] Apps FAILED to load from CDN:",mt.map(Oe=>`${Oe.appId} (${Oe.error})`).join(", ")),mt.forEach(Oe=>oe.add(Oe.appId)));for(let Oe of gt)if(T.apps.has(Oe))try{await T.apps.activate(Oe),console.log(`[Syntro Bootstrap] App activated: ${Oe}`)}catch(Ho){console.error(`[Syntro Bootstrap] Failed to activate app: ${Oe}`,Ho)}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 vl({...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 Me=await K.loadAppsForConfig(he);for(let rt of Me)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 vA(r){try{return await a0(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 yA(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 _A(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 Tf={init:vA,loadAdaptive:_A,encodeToken:yl,decodeToken:ki,events:{emit:yA}};typeof window<"u"&&(window.Syntro=Tf);function Ji(r){let e=r.split(".");return{major:parseInt(e[0]||"0",10),minor:parseInt(e[1]||"0",10)}}function bA(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=Ji(i),o=Ji(or);return s.major>o.major&&e.push(`Config schema v${i} is newer than SDK v${or}. 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${or}. Migrating config to current version.`),{valid:!0,warnings:e,errors:t,migratedConfig:xA(n,i)}):{valid:!0,warnings:e,errors:t}}function xA(r,e){let t={...r};return Ji(e).major===1&&(t=wA(t)),t.schemaVersion=or,t}function wA(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 SA(r){if(!r||typeof r!="object")return!1;let e=r,t=e.schemaVersion||"1.0",n=Ji(t),i=Ji(or);return n.major<i.major||!e.schemaVersion}var l0=d.object({url:d.string(),routeId:d.string().optional(),title:d.string().optional(),locale:d.string().optional()}),c0=d.object({url:d.string(),ts:d.number()}),u0=d.object({sessionId:d.string(),startTs:d.number(),pageHistory:d.array(c0).optional()}),d0=d.object({width:d.number(),height:d.number()}),p0=d.object({x:d.number(),y:d.number(),w:d.number(),h:d.number()}),h0=d.object({anchorId:d.string(),present:d.boolean(),visible:d.boolean().optional(),boundingBox:p0.optional()}),f0=d.record(d.string(),d.union([d.number(),d.string(),d.boolean(),d.undefined()])),g0=d.object({page:l0,session:u0,viewport:d0,anchors:d.array(h0).optional(),augmented:f0.optional()});function kA(r){return g0.safeParse(r)}var Dc=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 Hc=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 Bc=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 If=d.enum(["posthog","canvas","derived"]),m0=d.object({ts:d.number(),name:d.string(),source:If,props:d.record(d.string(),d.unknown()).optional(),schemaVersion:d.string()}),v0=d.object({names:d.array(d.string()).optional(),patterns:d.array(d.string()).optional(),sources:d.array(If).optional()});function EA(r){return m0.safeParse(r)}function CA(r){return v0.safeParse(r)}var $f=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()})]),y0=d.object({kind:d.literal("tooltip"),id:d.string(),anchor:$f,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()}),_0=d.object({kind:d.literal("highlight"),id:d.string(),anchor:$f,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()}),Vc=d.object({id:d.string(),version:d.number(),routes:d.array(d.string()).optional(),steps:d.array(d.union([y0,_0]))});function AA(r){return Vc.parse(r)}var RA=({configUri:r,experiments:e,featureKey:t="smart-canvas-overlay-uri",credentials:n="include"}={})=>async()=>{let i=tl({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 Vc.parse(o)};var b0=d.object({value:d.unknown(),expiresAt:d.number().optional()}),x0=d.object({count:d.number(),resetAt:d.number().optional()});function TA(r){return b0.safeParse(r)}function IA(r){return x0.safeParse(r)}var Mf="2026-04-30T04:10:50.873Z (86b22d2d675)";if(typeof window<"u"){console.log(`[Syntro Runtime] Build: ${Mf} (Lit)`);let r=window.SynOS,e=r?.appRegistry||bs;window.SynOS={...r,appRegistry:e,_runtimeBuild:Mf,_renderer:"lit"},Hs(),sv(e)}return A0($A);})();
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),Dt(a)||(t>e&&(s+=r.substring(e,t)),s+=a,e=t=i+1)}return t>e&&(s+=r.substring(e,r.length)),s},iA=!!sh||!!ih,H_="text/plain",Rc=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=$1(o);return l&&a.push(l),i+"?"+a.join("&")},ko=(r,e)=>JSON.stringify(r,((t,n)=>typeof n=="bigint"?n.toString():n),e),Xp=r=>{var{data:e,compression:t}=r;if(e){if(t===vr.GZipJS){var n=rA((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 Jb(p,0,h)})(ko(e)),{mtime:0}),i=new Blob([n],{type:H_});return{contentType:H_,body:i,estimatedSize:i.size}}if(t===vr.Base64){var s=(function(l){var c,u,p,h,f,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",g=0,m=0,y="",x=[];if(!l)return l;l=nA(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})(ko(e)),o=(l=>"data="+encodeURIComponent(typeof l=="string"?l:ko(l)))(s);return{contentType:"application/x-www-form-urlencoded",body:o,estimatedSize:new Blob([o]).size}}var a=ko(e);return{contentType:"application/json",body:a,estimatedSize:new Blob([a]).size}}},dc=[];ih&&dc.push({transport:"fetch",method:r=>{var e,t,{contentType:n,body:i,estimatedSize:s}=(e=Xp(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(s_){var c=new s_;l={signal:c.signal,timeout:setTimeout((()=>c.abort()),r.timeout)}}ih(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))}}),sh&&dc.push({transport:"XHR",method:r=>{var e,t=new sh;t.open(r.method||"GET",r.url,!0);var{contentType:n,body:i}=(e=Xp(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)}}),ft!=null&&ft.sendBeacon&&dc.push({transport:"sendBeacon",method:r=>{var e=Rc(r.url,{beacon:"1"});try{var t,{contentType:n,body:i}=(t=Xp(r))!==null&&t!==void 0?t:{},s=typeof i=="string"?new Blob([i],{type:n}):i;ft.sendBeacon(e,s)}catch{}}});var Tc=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 B_(r,e,t){return ko({distinct_id:r,userPropertiesToSet:e,userPropertiesToSetOnce:t})}var Qb={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=>Tc(t,n))))),not_regex:(r,e)=>e.every((t=>r.every((n=>!Tc(t,n))))),icontains:(r,e)=>e.map(cc).some((t=>r.map(cc).some((n=>t.includes(n))))),not_icontains:(r,e)=>e.map(cc).every((t=>r.map(cc).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)))}))},cc=r=>r.toLowerCase();function e0(r,e){return!r||Object.entries(r).every((t=>{var[n,i]=t,s=e?.[n];if(H(s)||Dt(s))return!1;var o=[String(s)],a=Qb[i.operator];return!!a&&a(i.values,o)}))}var Jp=$e("[Error tracking]"),Gh=class{constructor(e){var t,n;this.Zt=[],this.ti=new hh([new gh,new wh,new vh,new mh,new bh,new _h,new yh,new xh],h1()),this._instance=e,this.Zt=(t=(n=this._instance.persistence)==null?void 0:n.get_property(kh))!==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({[kh]:this.Zt,[y_]:o})}get ii(){var e,t=!!this._instance.get_property(y_),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 Jp.info("Skipping exception capture because a suppression rule matched");if(!this.ii&&this.si(t))return void Jp.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.ni(t))return void Jp.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=Qb[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)}},ht=$e("[FeatureFlags]"),go=$e("[FeatureFlags]",{debugEnabled:!0}),Qp="$active_feature_flags",Di="$override_feature_flags",V_="$feature_flag_payloads",mo="$override_feature_flag_payloads",j_="$feature_flag_request_id",U_="$feature_flag_evaluated_at",W_=r=>{var e={};for(var[t,n]of uc(r||{}))n&&(e[t]=n);return e},sA=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]})))):ht.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),r},oA=(function(r){return r.FeatureFlags="feature_flags",r.Recordings="recordings",r})({}),Kh=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||(ht.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||ht.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(Eh),t=this._instance.get_property(Di),n=this._instance.get_property(mo);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||(ht.warn(" Overriding feature flag details!",{flagDetails:e,overriddenPayloads:n,finalDetails:i}),this.oi=!0),i}getFlagVariants(){var e=this._instance.get_property(Wi),t=this._instance.get_property(Di);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||(ht.warn(" Overriding feature flags!",{enabledFlags:e,overriddenFlags:t,finalFlags:n}),this.oi=!0),n}getFlagPayloads(){var e=this._instance.get_property(V_),t=this._instance.get_property(mo);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||(ht.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(So)||{}),group_properties:this._instance.get_property(Dn)};Dt(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=Gb()),this.li=!0,this._instance._send_request({method:"POST",url:c,data:s,compression:this._instance.config.disable_compression?void 0:vr.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(oA.FeatureFlags))ht.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}ht.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(j_)||void 0,c=this._instance.get_property(U_)||void 0,u=this._instance.get_property(mc)||{};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({[mc]: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 ht.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:vr.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}ht.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=sA(o),h=p.flags,f=p.featureFlags,v=p.featureFlagPayloads;if(f){var g=o.requestId,m=o.evaluatedAt;if(ve(f)){ht.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({[Qp]:f,[Wi]: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({[Qp]:Object.keys(W_(S)),[Wi]:S||{},[V_]:_||{},[Eh]:w||{}},g?{[j_]:g}:{},m?{[U_]:m}:{}))}}})(e,this._instance.persistence,n,i,s),this.wi(t)}}override(e,t){t===void 0&&(t=!1),ht.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:e,suppressWarning:t})}overrideFeatureFlags(e){if(!this._instance.__loaded||!this._instance.persistence)return ht.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(e===!1)return this._instance.persistence.unregister(Di),this._instance.persistence.unregister(mo),this.wi(),go.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(Di),go.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({[Di]:i})}else this._instance.persistence.register({[Di]:n.flags});go.info("Flag overrides set",{flags:n.flags})}}return"payloads"in n&&(n.payloads===!1?(this._instance.persistence.unregister(mo),go.info("Payload overrides cleared")):n.payloads&&(this._instance.persistence.register({[mo]:n.payloads}),go.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(wo)||[]).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({[Qp]:Object.keys(W_(l)),[Wi]:l}),this.wi()}getEarlyAccessFeatures(e,t,n){t===void 0&&(t=!1);var i=this._instance.get_property(wo),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(wo),(l=this._instance.persistence)==null||l.register({[wo]: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(So)||{};this._instance.register({[So]:j({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(So)}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(Dn)||{};Object.keys(n).length!==0&&Object.keys(n).forEach((i=>{n[i]=j({},n[i],e[i]),delete e[i]})),this._instance.register({[Dn]:j({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){var t=this._instance.get_property(Dn)||{};this._instance.register({[Dn]:j({},t,{[e]:{}})})}else this._instance.unregister(Dn)}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}},aA=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"],Ro=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){aA.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=[...D1,...i];return j({},Re,{W:function(o){try{var a={};try{a=Gt.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&&Gt.G(o,h,l,c,u,p)}catch(f){Re.B(f)}},V:function(o,a){try{E?.localStorage.removeItem(o),Gt.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"?H1:n==="cookie"?Gt:t.H()?t:Gt}properties(){var e={};return ke(this.props,(function(t,n){if(n===Wi&&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,(Dt(o=x1)?l:i_&&o.indexOf===i_?o.indexOf(a)!=-1:(ke(o,(function(c){if(l||(l=c===a))return fc})),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=jb(this.R.custom_campaign_params,this.R.mask_personal_data_properties,this.R.custom_personal_data_properties);Ui(wf(e))||this.register(e),this.Ei=!0}}update_search_keyword(){var e;this.register((e=D?.referrer)?Wb(e):{})}update_referrer_info(){var e;this.register_once({$referrer:zb(),$referring_domain:D!=null&&D.referrer&&((e=xc(D.referrer))==null?void 0:e.host)||"$direct"},void 0)}set_initial_person_info(){this.props[Th]||this.props[Ih]||this.register_once({[vc]:qb(this.R.mask_personal_data_properties,this.R.custom_personal_data_properties)},void 0)}get_initial_props(){var e={};ke([Ih,Th],(o=>{var a=this.props[o];a&&ke(a,(function(l,c){e["$initial_"+oh(c)]=l}))}));var t,n,i=this.props[vc];if(i){var s=(t=Zb(i),n={},ke(t,(function(o,a){n["$initial_"+oh(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[xo]||{};n[e]=t,this.props[xo]=n,this.save()}remove_event_timer(e){var t=(this.props[xo]||{})[e];return H(t)||(delete this.props[xo][e],this.save()),t}get_property(e){return this.props[e]}set_property(e,t){this.props[e]=t,this.save()}},z_=$e("[Product Tours]"),eh="ph_product_tours",Yh=class{constructor(e){this.Ri=null,this.Fi=null,this._instance=e}onRemoteConfig(e){this._instance.persistence&&this._instance.persistence.register({[b_]:!(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(b_)||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?z_.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[eh];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 z_.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({[eh]: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(eh)}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)}},vo=(function(r){return r.Activation="events",r.Cancellation="cancelEvents",r})({}),EN=(function(r){return r.Button="button",r.Tab="tab",r.Selector="selector",r})({}),CN=(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})({}),AN=(function(r){return r.Top="top",r.Left="left",r.Right="right",r.Bottom="bottom",r})({}),th=(function(r){return r.Popover="popover",r.API="api",r.Widget="widget",r.ExternalSurvey="external_survey",r})({}),RN=(function(r){return r.Open="open",r.MultipleChoice="multiple_choice",r.SingleChoice="single_choice",r.Rating="rating",r.Link="link",r})({}),TN=(function(r){return r.NextQuestion="next_question",r.End="end",r.ResponseBased="response_based",r.SpecificQuestion="specific_question",r})({}),IN=(function(r){return r.Once="once",r.Recurring="recurring",r.Always="always",r})({}),Eo=(function(r){return r.SHOWN="survey shown",r.DISMISSED="survey dismissed",r.SENT="survey sent",r.ABANDONED="survey abandoned",r})({}),rh=(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})({}),Xh=(function(r){return r.Popover="popover",r.Inline="inline",r})({}),Se=$e("[Surveys]"),t0="seenSurvey_",lA=(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},q_=r=>((e,t)=>{var n=""+e+t.id;return t.current_iteration&&t.current_iteration>0&&(n=""+e+t.id+"_"+t.current_iteration),n})(t0,r),cA=[th.Popover,th.Widget,th.API],uA={ignoreConditions:!1,ignoreDelay:!1,displayType:Xh.Popover},No=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 Hi(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 Jh=class{constructor(e){this.Ai=new No,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"||!Hi(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=>Hi(a.href,t.href,t.href_matching||"exact")));var s,o=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!o&&Hi((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=>Hi(c.text,t.text,t.text_matching||"exact")||Hi(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=>Hi(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||e0(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)}},Qh=class{constructor(e){this._instance=e,this.Ki=new Map,this.Yi=new Map,this.Xi=new Map}Qi(e,t){return!!e&&e0(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===vo.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 Jh(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,vo.Activation),this.Yi=this.Zi(e,vo.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,vo.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,vo.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}},ef=class extends Qh{constructor(e){super(e)}oe(){return"$surveys_activated"}ae(){return Eo.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()}},tf=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(t0)||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 ef(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(Ch);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({[Ch]: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(cA.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!==Xh.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!==Xh.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()}},hr=$e("[Conversations]"),rf=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)||(_r(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 hr.error("Conversations enabled but missing token in remote config.")}}$e(e){if(this.Ee)try{this._conversationsManager=e(this.Ee,this._instance),hr.info("Conversations loaded successfully")}catch(t){this.Se("Error completing conversations initialization",t)}else hr.error("Cannot complete initialization: remote config is null")}Se(e,t){hr.error(e,t),this._conversationsManager=null,this.xe=!1}show(){this._conversationsManager?this._conversationsManager.show():hr.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.we===!0&&!Dt(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 ji((function*(){return i._conversationsManager?i._conversationsManager.sendMessage(e,t,n):(hr.warn("Conversations not available yet."),null)}))()}getMessages(e,t){var n=this;return ji((function*(){return n._conversationsManager?n._conversationsManager.getMessages(e,t):(hr.warn("Conversations not available yet."),null)}))()}markAsRead(e){var t=this;return ji((function*(){return t._conversationsManager?t._conversationsManager.markAsRead(e):(hr.warn("Conversations not available yet."),null)}))()}getTickets(e){var t=this;return ji((function*(){return t._conversationsManager?t._conversationsManager.getTickets(e):(hr.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}},nf=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=$e("[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.")}}},Z_=$e("[RateLimiter]"),sf=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=>{Z_.info((i||"events")+" is quota limited."),this.serverLimits[i]=new Date().getTime()+6e4}))}catch(i){return void Z_.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(Rh))!==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(Rh,l),{isRateLimited:c,remainingTokens:l.tokens}}isServerRateLimited(e){var t=this.serverLimits[e||"events"]||!1;return t!==!1&&new Date().getTime()<t}},Fn=$e("[RemoteConfig]"),of=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))):(Fn.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 Fn.info("Using preloaded remote config",this.remoteConfig),void this.yi(this.remoteConfig);if(this._instance.M())return void Fn.warn("Remote config is disabled. Falling back to local config.");this.Te((e=>{if(!e)return Fn.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){Fn.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()):Fn.info("__preview_remote_config is disabled. Logging config instead",e):Fn.error("Failed to fetch remote config from PostHog.")}},af=3e3,lf=class{constructor(e,t){this.Ce=!0,this.Re=[],this.Fe=Kt(t?.flush_interval_ms||af,250,5e3,B.createLogger("flush interval"),af),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}},dA=["retriesPerformedSoFar"],cf=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=Q_(e,dA);Bi(t)&&(n.url=Rc(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=[]}},uf=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}},pA=r=>qb(r?.config.mask_personal_data_properties,r?.config.custom_personal_data_properties),Ic=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({[Ah]:a})}},this._instance=e,this.Qe=t,this.Xe=n,this.Ye=i||pA,this.Qe.onSessionId(this.Je)}Ke(){return this.Xe.props[Ah]}getSetOnceProps(){var e,t=(e=this.Ke())==null?void 0:e.props;return t?"r"in t?Zb(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(wf(this.getSetOnceProps()),((t,n)=>{n==="$current_url"&&(n="url"),e["$session_entry_"+oh(n)]=t})),e}},nh=$e("[SessionId]"),$c=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 No,this.er=(u,p)=>!(!Bi(u)||!Bi(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*Kt(o,60,36e3,nh.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){nh.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({[gc]:[t,e,n]}))}_r(){var e=this.Xe.props[gc];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=Bi(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(),nh.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=Bi(i)&&e&&!l?i:n,f=Bi(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)}},hA=["$set_once","$set"],Br=$e("[SiteApps]"),df=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({},Q_(e,hA),{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.')}},r0=function(r,e){if(!r)return!1;var t=r.userAgent;if(t&&a_(t,e))return!0;try{var n=r?.userAgentData;if(n!=null&&n.brands&&n.brands.some((i=>a_(i?.brand,e))))return!0}catch{}return!!r.webdriver},Co=(function(r){return r.US="us",r.EU="eu",r.CUSTOM="custom",r})({}),G_="i.posthog.com",pf=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("."+G_,".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]=Co.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=Co.EU:this.Sr[this.apiHost]=Co.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===Co.CUSTOM)return this.apiHost+t;var n=G_+t;switch(e){case"assets":return"https://"+this.region+"-assets."+n;case"api":return"https://"+this.region+"."+n}}},fA={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&&Tc(e.href,r),not_regex:(r,e)=>!!E&&!Tc(e.href,r),exact:(r,e)=>e.href===r,is_not:(r,e)=>e.href!==r},hf=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=wc(e?.search,"__experiment_id"),n=wc(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||fA[(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=jb();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 ft&&this._instance?r0(ft,this._instance.config.custom_blocked_useragents):void 0}},gA=$e("[PostHog ExternalIntegrations]"),mA={intercom:"intercom-integration",crispChat:"crisp-chat-integration"},ff=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 gA.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(mA[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)}}},gf="[SessionRecording]",yo=$e(gf),Mc=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 yo.error("started without valid sessionManager"),new Error(gf+" started without valid sessionManager. This is a bug.");if(this._instance.config.cookieless_mode==="always")throw new Error(gf+' cannot be used with cookieless_mode="always"')}get Ar(){var e,t=!((e=this._instance.get_property(Wp))==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),yo.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 yo.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(Eb)}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({[Wp]: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:yo.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):yo.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(Wp);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))}},To={},mf=()=>{},Vi="posthog",n0=!iA&&at?.indexOf("MSIE")===-1&&at?.indexOf("Mozilla")===-1,K_=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:b1(D?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:mf,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:af},error_tracking:{},_onCapture:mf,__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))},Y_=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},vf=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}},Pc=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 vf,this.Br=!1,this.version=fr.LIB_VERSION,this.qr=new No,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=K_(),this.SentryIntegration=Hh,this.sentryIntegration=e=>(function(t,n){var i=Vb(t,n);return{name:Bb,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 Kh(this),this.toolbar=new Bh(this),this.scrollManager=new uf(this),this.pageViewManager=new Ec(this),this.surveys=new tf(this),this.conversations=new rf(this),this.logs=new nf(this),this.experiments=new hf(this),this.exceptions=new Gh(this),this.rateLimiter=new sf(this),this.requestRouter=new pf(this),this.consent=new Lh(this),this.externalIntegrations=new ff(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!==Vi){var i,s=(i=To[n])!==null&&i!==void 0?i:new r;return s._init(e,t,n),To[n]=s,To[Vi][n]=s,s}return this._init(e,t,n)}_init(e,t,n){var i;if(t===void 0&&(t={}),H(e)||ah(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({},K_(t.defaults),Y_(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:vr.GZipJS;var s=this.Qr();this.persistence=new Ro(this.config,s),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new Ro(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 lf((x=>this.ts(x)),this.config.request_queue_config),this.es=new cf(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 $c(this),this.sessionPropsManager=new Ic(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)),fr.DEBUG=fr.DEBUG||this.config.debug,fr.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(gr,(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:co,$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(gr,"anonymous")}return Ne(E,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),t.segment?j1(this,(()=>this.ns())):this.ns(),Ur(this.config._onCapture)&&this.config._onCapture!==mf&&(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 Dh(this),this.historyAutocapture.startIfEnabled();var n=[];n.push((()=>{new Vh(this).startIfEnabledOrStop()})),n.push((()=>{var i;this.siteApps=new df(this),(i=this.siteApps)==null||i.init()})),e||n.push((()=>{this.sessionRecording=new Mc(this),this.sessionRecording.startIfEnabledOrStop()})),this.config.disable_scroll_properties||n.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),n.push((()=>{this.autocapture=new Mh(this),this.autocapture.startIfEnabled()})),n.push((()=>{this.surveys.loadIfEnabled()})),n.push((()=>{this.logs.loadIfEnabled()})),n.push((()=>{this.conversations.loadIfEnabled()})),n.push((()=>{this.productTours=new Yh(this),this.productTours.loadIfEnabled()})),n.push((()=>{this.heatmaps=new Uh(this),this.heatmaps.startIfEnabled()})),n.push((()=>{this.webVitalsAutocapture=new jh(this)})),n.push((()=>{this.exceptionObserver=new Fh(this),this.exceptionObserver.startIfEnabledOrStop()})),n.push((()=>{this.deadClicksAutocapture=new kc(this,V1),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,vr.GZipJS)?vr.GZipJS:de(e.supportedCompression,vr.Base64)?vr.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 of(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&&(n0?this.__request_queue.push(e):this.rateLimiter.isServerRateLimited(e.batchKey)||(e.transport=e.transport||this.config.api_transport,e.url=Rc(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=Rc(o.url,{_:new Date().getTime().toString(),ver:fr.LIB_VERSION,compression:o.compression});var a=(n=o.transport)!==null&&n!==void 0?n:"fetch",l=dc.filter((u=>!o.disableTransport||!u.transport||!o.disableTransport.includes(u.transport))),c=(i=(s=wb(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=y1(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===Eo.DISMISSED||e===Eo.SENT){var v=t?.[rh.SURVEY_ID],g=t?.[rh.SURVEY_ITERATION];p={id:v,current_iteration:g},localStorage.getItem(q_(p))||localStorage.setItem(q_(p),"true"),u.$set=j({},u.$set,{[lA({id:v,current_iteration:g},e===Eo.SENT?"responded":"dismissed")]:!0})}else e===Eo.SHOWN&&(u.$set=j({},u.$set,{[rh.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var m=j({},u.properties.$set,u.$set);if(Ui(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)&&!br(a.distinct_id)||ah(a.distinct_id))&&B.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),a}var c,u=G1(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===Co.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),Ui(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=uA),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(br(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!==co){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(bo)&&(this.unregister(bo),this.register({distinct_id:e}));var o=(this.persistence.get_property(gr)||"anonymous")==="anonymous";e!==i&&o?(this.persistence.set_property(gr,"identified"),this.setPersonPropertiesForFlags(j({},n||{},t||{}),!1),this.capture("$identify",{distinct_id:e,$anon_distinct_id:i},{$set:t||{},$set_once:n||{}}),this.Jr=B_(e,t,n),this.featureFlags.setAnonymousDistinctId(i)):(t||n)&&this.setPersonProperties(t,n),e!==i&&(this.reloadFeatureFlags(),this.unregister(mc))}}else B.critical('The string "'+co+'" 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=B_(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(gr,"anonymous"),(s=this.sessionManager)==null||s.resetSessionId(),this.Jr=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:co,$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(Sb)?(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(bo,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,Y_(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 Ro(j({},this.config,{persistence:"sessionStorage"}),u);var p=this.Kr(this.config.debug);_r(p)&&(this.config.debug=p),_r(this.config.debug)&&(this.config.debug?(fr.DEBUG=!0,Re.H()&&Re.G("ph_debug","true"),B.info("set_config",{config:e,oldConfig:t,newConfig:j({},this.config)})):(fr.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:Vi;return t!==Vi&&(t=Vi+"."+t),t}_isIdentified(){var e,t;return((e=this.persistence)==null?void 0:e.get_property(gr))==="identified"||((t=this.sessionPersistence)==null?void 0:t.get_property(gr))==="identified"}fs(){var e,t;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&Ui(this.getGroups())&&((e=this.persistence)==null||(e=e.props)==null||!e[bo])&&((t=this.persistence)==null||(t=t.props)==null||!t[yc]))}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(yc,!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 $c(this),this.pageViewManager=new Ec(this),this.persistence&&(this.sessionPropsManager=new Ic(this,this.sessionManager,this.persistence)),this.sessionRecording=new Mc(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:co,$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===mr.GRANTED?"granted":e===mr.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 ft?r0(ft,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 zC(e.event)?B.warn(s+". This can cause unexpected behavior."):B.info(s),null}n.properties&&!Ui(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=_r(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]]=v1(r.prototype[e[t]])})(Pc,["identify"]);var X_;var i0=(X_=To[Vi]=new Pc,(function(){function r(){r.done||(r.done=!0,n0=!1,ke(To,(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")})(),X_);var Rf=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=i0.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 Fc(r={}){return new Rf(r)}var s0={posthog:r=>Fc(r),noop:()=>ic()};function o0(r,e){let t=s0[r];if(!t)throw new Error(`Unknown telemetry provider: ${r}. Supported: ${Object.keys(s0).join(", ")}`);return t(e)}async function a0(r){Ju(),q("Syntro Bootstrap","====== INIT ======"),q("Syntro Bootstrap","Options:",{hasToken:!!r.token,tokenPrefix:`${r.token?.slice(0,15)}...`,hasCanvasOptions:!!r.canvas});let e=ml();if(console.log(`[DIAG] Mode detection: sdkMode=${e}`),console.log("[DIAG] editorSource:",qs()),console.log("[DIAG] editorConf:",gl()),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=gl()?.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=ki(t),Ju(n.d);else if(e)q("Syntro Bootstrap",`\u2713 Non-syn_ token allowed (${e} mode)`);else throw Qa("Syntro Bootstrap","\u274C Token does not start with syn_ and NOT in editor/audit/review mode!"),Qa("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 Qa("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")||Jv,l=Kv(),c=ip(),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=sp(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=Ei({debug:r.debug,history:g?new Ci(r.testMode?0:100):void 0,testMode:r.testMode});console.log("[Syntro Bootstrap] EventBus created");let y=Ku({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=Zy(),S,_=L=>{q("Syntro Bootstrap","Phase 2: PostHog feature flags loaded");let re=Xv(L);if(q("Syntro Bootstrap","Segment flags from PostHog:",re),Yv(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=o0(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 Ul({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=Vy("growthbook",{clientKey:n.e,apiHost:i,attributes:p,onExperimentViewed:w?.trackExperiment?(L,re,G)=>{w.trackExperiment(L,re,G)}:void 0})),C=Bl({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=nc({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")||Qv()||"https://cdn.syntrologie.com",K=wu({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=zy(n.f,n.o??{});Z=async()=>{let re=await L.fetch();return{...re.config,tiles:re.config.tiles??[]}}}else v&&(Z=kn({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 Me=typeof window<"u"?window.SynOS??(window.SynOS={}):void 0,rt=Me?.interventionTracker,Ht;rt&&rt.variantId===ce?Ht=rt:(Ht=new Fi(w,ce),Me&&(Me.interventionTracker=Ht),T.navigation.subscribe(()=>{Ht.resetPage()})),Ht.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((Me,rt)=>`[${rt}] ${Me.kind}${Me.anchorId?` anchor="${Me.anchorId.selector}"`:""}${Me.label?` "${Me.label}"`:""}`).join(", "));let he=L,gt=K.getRequiredApps(he);return gt.length>0?console.log("[Syntro Bootstrap] Required external apps:",gt.join(", ")):q("Syntro Bootstrap","No external apps required (all executors are built-in)"),gt.length>0&&await K.loadAppsForConfig(he).then(async rt=>{let Ht=rt.filter(Oe=>Oe.success),jc=rt.filter(Oe=>!Oe.success);Ht.length>0&&console.log(`[Syntro Bootstrap] Apps loaded from CDN: ${Ht.map(Oe=>Oe.appId).join(", ")}`);let mt=jc.filter(Oe=>!oe.has(Oe.appId));mt.length>0&&(console.error("[Syntro Bootstrap] Apps FAILED to load from CDN:",mt.map(Oe=>`${Oe.appId} (${Oe.error})`).join(", ")),mt.forEach(Oe=>oe.add(Oe.appId)));for(let Oe of gt)if(T.apps.has(Oe))try{await T.apps.activate(Oe),console.log(`[Syntro Bootstrap] App activated: ${Oe}`)}catch(Ho){console.error(`[Syntro Bootstrap] Failed to activate app: ${Oe}`,Ho)}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 vl({...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 Me=await K.loadAppsForConfig(he);for(let rt of Me)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 vA(r){try{return await a0(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 yA(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 _A(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 Tf={init:vA,loadAdaptive:_A,encodeToken:yl,decodeToken:ki,events:{emit:yA}};typeof window<"u"&&(window.Syntro=Tf);function Ji(r){let e=r.split(".");return{major:parseInt(e[0]||"0",10),minor:parseInt(e[1]||"0",10)}}function bA(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=Ji(i),o=Ji(or);return s.major>o.major&&e.push(`Config schema v${i} is newer than SDK v${or}. 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${or}. Migrating config to current version.`),{valid:!0,warnings:e,errors:t,migratedConfig:xA(n,i)}):{valid:!0,warnings:e,errors:t}}function xA(r,e){let t={...r};return Ji(e).major===1&&(t=wA(t)),t.schemaVersion=or,t}function wA(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 SA(r){if(!r||typeof r!="object")return!1;let e=r,t=e.schemaVersion||"1.0",n=Ji(t),i=Ji(or);return n.major<i.major||!e.schemaVersion}var l0=d.object({url:d.string(),routeId:d.string().optional(),title:d.string().optional(),locale:d.string().optional()}),c0=d.object({url:d.string(),ts:d.number()}),u0=d.object({sessionId:d.string(),startTs:d.number(),pageHistory:d.array(c0).optional()}),d0=d.object({width:d.number(),height:d.number()}),p0=d.object({x:d.number(),y:d.number(),w:d.number(),h:d.number()}),h0=d.object({anchorId:d.string(),present:d.boolean(),visible:d.boolean().optional(),boundingBox:p0.optional()}),f0=d.record(d.string(),d.union([d.number(),d.string(),d.boolean(),d.undefined()])),g0=d.object({page:l0,session:u0,viewport:d0,anchors:d.array(h0).optional(),augmented:f0.optional()});function kA(r){return g0.safeParse(r)}var Dc=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 Hc=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 Bc=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 If=d.enum(["posthog","canvas","derived"]),m0=d.object({ts:d.number(),name:d.string(),source:If,props:d.record(d.string(),d.unknown()).optional(),schemaVersion:d.string()}),v0=d.object({names:d.array(d.string()).optional(),patterns:d.array(d.string()).optional(),sources:d.array(If).optional()});function EA(r){return m0.safeParse(r)}function CA(r){return v0.safeParse(r)}var $f=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()})]),y0=d.object({kind:d.literal("tooltip"),id:d.string(),anchor:$f,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()}),_0=d.object({kind:d.literal("highlight"),id:d.string(),anchor:$f,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()}),Vc=d.object({id:d.string(),version:d.number(),routes:d.array(d.string()).optional(),steps:d.array(d.union([y0,_0]))});function AA(r){return Vc.parse(r)}var RA=({configUri:r,experiments:e,featureKey:t="smart-canvas-overlay-uri",credentials:n="include"}={})=>async()=>{let i=tl({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 Vc.parse(o)};var b0=d.object({value:d.unknown(),expiresAt:d.number().optional()}),x0=d.object({count:d.number(),resetAt:d.number().optional()});function TA(r){return b0.safeParse(r)}function IA(r){return x0.safeParse(r)}var Mf="2026-04-30T06:53:56.080Z (2cf25aedc39)";if(typeof window<"u"){console.log(`[Syntro Runtime] Build: ${Mf} (Lit)`);let r=window.SynOS,e=r?.appRegistry||bs;window.SynOS={...r,appRegistry:e,_runtimeBuild:Mf,_renderer:"lit"},Hs(),sv(e)}return A0($A);})();
1059
1059
  /*! Bundled license information:
1060
1060
 
1061
1061
  @lit/reactive-element/css-tag.js: