@vellumai/web 0.11.1-dev.202608031736.2d0bed8 → 0.11.1-dev.202608032034.aebd2da

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{m as r,t as i,u as a}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as o}from"./QueryClientProvider-CMu7CkQU.js";import{t as s}from"./useQuery-Bz-fbQ-m.js";import{t as c}from"./useMutation-CXGTrp4W.js";import{t as l}from"./jsx-runtime-D3ZM-ToX.js";import{t as u}from"./cn-CJf7MmLX.js";import{t as d}from"./typography-DEI9Ra9z.js";import{t as f}from"./card-DRIctGVs.js";import{_ as p,c as m,f as h,g,l as _,o as v,u as y,x as b}from"./use-save-twilio-credentials-C8A9E6P0.js";import{t as x}from"./chevron-down-B5A-0g8A.js";import{t as S}from"./circle-check-big-DSsDH5_6.js";import{t as C}from"./list-row-BYrmPIC4.js";import{o as w,r as T,t as E,u as D}from"./threshold-presets-B-gOdjC4.js";import{t as O}from"./message-square-zCNXaHYX.js";import{t as k}from"./search-DA3TmTuR.js";import{t as A}from"./notice-DCp7WO3L.js";import{N as j,P as M,a as N,i as P}from"./src-BAS7a2RG.js";import{t as F}from"./tag-D8NAGb0r.js";import{t as I}from"./input-C-GkeWCw.js";import{t as ee}from"./panel-item-DGs4s9r-.js";import{t as L}from"./confirm-dialog-DZX6LhLy.js";import{t as R}from"./dropdown-DswWMJhz.js";import{n as te,t as ne}from"./create-selectors-B-P03-8K.js";import{t as re}from"./assistant-identity-store-Dnh8WRHU.js";import{i as ie}from"./utils-CLGxXkUG.js";import{d as ae}from"./routes-Dwx_Ibh9.js";import{n as oe}from"./conversation-navigation-CYonSeT9.js";import{i as se,o as ce,r as z}from"./sdk.gen-DEFA-6EJ.js";import{t as le}from"./assistant-feature-flag-store-Ci_346FY.js";import{t as B}from"./public-asset-CD3ouSWU.js";import{t as ue}from"./use-active-assistant-id-AtGy8p_R.js";import{t as de}from"./slack-setup-wizard-dVkbEE6P.js";import{t as fe}from"./index-xsJbklol.js";import{t as pe}from"./detail-card-D-5EWmAS.js";import{n as me,t as he}from"./mobile-sidebar-drawer-DfeoKq1T.js";import{c as ge,i as _e,n as ve,o as ye,r as be,s as xe,t as Se}from"./use-invite-link-dialog-DGWKEId1.js";import{t as V}from"./mutation-error-CXV1BKlB.js";var H=e(t(),1),U=ne(te()(e=>({selectedAdapter:`slack`,selectAdapter:t=>e({selectedAdapter:t})}))),W={slack:{label:`Slack`,disconnectMessage:`This clears the stored Slack bot and app tokens for this assistant. You can reconnect later.`,hasTrustFloorControl:!1},telegram:{label:`Telegram`,disconnectMessage:`This clears the stored Telegram bot token for this assistant. You can reconnect later.`,hasTrustFloorControl:!0,disconnectedPitch:e=>`Connect a Telegram bot so ${e} can send and receive messages on Telegram.`},phone:{label:`Phone Calling`,disconnectMessage:`This clears the stored Twilio credentials for this assistant. You can reconnect later.`,hasTrustFloorControl:!0,disconnectedPitch:e=>`Connect your Twilio account so ${e} can make and answer phone calls.`}},G=l();function K({channels:e,selectedKey:t,onSelect:n}){return(0,G.jsx)(f.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,G.jsxs)(f.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:`Channels`}),(0,G.jsx)(`div`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,G.jsx)(Ce,{channel:e,selected:e.key===t,onClick:()=>n(e.key)},e.key))})]})})}function Ce({channel:e,selected:t,onClick:n}){let r=e.status===`ready`,i=h(e.key),a=r?`Connected`:`Not connected`;return(0,G.jsx)(ee,{asChild:!0,active:t,label:`${i}, ${a}`,children:(0,G.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,G.jsx)(y,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:i}),(0,G.jsx)(`span`,{className:`flex shrink-0 items-center`,children:(0,G.jsx)(F,{tone:r?`positive`:`neutral`,children:a})})]})})}function we({icon:e,title:t,description:n,action:r,className:i}){return(0,G.jsxs)(`div`,{className:u(`flex flex-col items-center justify-center gap-3 px-4 py-12 text-center`,i),children:[e?(0,G.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-[var(--surface-sunken)] text-[var(--content-tertiary)]`,children:e}):null,(0,G.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:t}),n?(0,G.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:n}):null,r?(0,G.jsx)(`div`,{className:`mt-1`,children:r}):null]})}function Te({assistantDisplayName:e,policy:t,saving:n=!1,loading:r=!1,error:i=!1,onChange:a}){let o=t??`trusted_contacts`,s=ge(e),c=ye.map(e=>({value:e,label:xe[e],tooltip:s[e]}));return(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsxs)(d,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:[`Who can message `,e]}),r?(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:`Loading…`}):i?(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:`Couldn’t load this setting. Try reopening this page.`}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{style:{maxWidth:280},children:(0,G.jsx)(R,{value:o,onChange:a,options:c,disabled:n,"aria-label":`Who can message ${e}`})}),(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:s[o]}),o===`trusted_contacts`?(0,G.jsxs)(A,{tone:`info`,className:`max-w-lg`,children:[`People you haven’t verified yet (even teammates in the same channel) can’t get through: `,e,` lets them know they need to be verified and notifies you. You can verify people ahead of time in Contacts.`]}):null]})]})}function Ee({address:e,pending:t,onDisconnect:r}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(F,{tone:`positive`,leftIcon:(0,G.jsx)(S,{}),children:`Connected`}),e?(0,G.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e}):null,(0,G.jsx)(`div`,{className:`ml-auto`,children:(0,G.jsx)(n,{type:`button`,variant:`danger`,onClick:r,disabled:!r||t,children:t?`Disconnecting…`:`Disconnect`})})]})}function De({children:e}){return(0,G.jsxs)(f.Root,{children:[(0,G.jsx)(f.Header,{children:(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`img`,{src:B(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),(0,G.jsx)(d,{as:`span`,variant:`body-medium-default`,children:`Slack setup`})]})}),(0,G.jsx)(f.Body,{children:e})]})}E.map(e=>e.riskThreshold);var Oe=[`none`,`low`];function q(e){if(e!==void 0)return e===`none`?`none`:`low`}var J={none:{label:T(`none`).label,sublabel:`asks every time`,tone:`negative`,dotColor:`var(--system-negative-strong)`},low:{label:T(`low`).label,sublabel:`safe lookups`,tone:`warning`,dotColor:`var(--system-mid-strong)`},medium:{label:T(`medium`).label,sublabel:`broader lookups`,tone:`info`,dotColor:`var(--system-info-strong)`},high:{label:T(`high`).label,sublabel:`any lookup`,tone:`positive`,dotColor:`var(--system-positive-strong)`}},Y=[`trusted_contact`,`unverified_contact`,`unknown`];function ke(e,t){let n={};for(let r of e){if(r.selector.scope!==`channel`||r.selector.adapter!==t)continue;let e=r.selector.channelExternalId;e&&(r.contactType===`trusted_contact`||!(e in n))&&(n[e]=r.threshold)}return n}function X(e,t,n){return n===`channels`?e.selector.scope===`adapter`&&e.selector.adapter===t:e.selector.scope===`channel_type`&&e.selector.adapter===t&&e.selector.channelType===`dm`}function Ae(e,t,n){let r;for(let i of e)X(i,t,n)&&(i.contactType===`trusted_contact`||r===void 0)&&(r=i.threshold);return r}var je=`__default__`;function Z({color:e}){return(0,G.jsx)(`span`,{"aria-hidden":`true`,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e}})}function Me({tier:e,defaultTier:t,disabled:n,onTierChange:r,onReset:i,"aria-label":a}){let o=q(e??t??void 0),s=q(t??void 0)??null,c=Oe.map(e=>({value:e,label:J[e].label,icon:(0,G.jsx)(Z,{color:J[e].dotColor}),suffix:e===s?(0,G.jsx)(`span`,{className:`text-[color:var(--content-tertiary)]`,children:`default`}):void 0,tooltip:J[e].sublabel}));return s===null&&c.unshift({value:je,label:`Default`,icon:(0,G.jsx)(Z,{color:`transparent`}),tooltip:`follows the default level`}),(0,G.jsx)(R,{value:o??``,onChange:e=>{e===je||e===s?i():r(e)},options:c,placeholder:`Default`,disabled:n,size:`compact`,menuAlign:`end`,"aria-label":a})}function Q(e){return e.type===`dm`?`dm`:e.isPrivate?`private`:`public`}function Ne(e){return e.filter(e=>Q(e)!==`dm`)}function Pe(e,t,n){let r=t.trim().toLowerCase();return e.filter(e=>(n===null||Q(e)===n)&&(r===``||e.name.toLowerCase().includes(r))).sort((e,t)=>e.name.localeCompare(t.name))}function Fe(e){let t={public:0,private:0,dm:0};for(let n of e)t[Q(n)]+=1;return t}function Ie(e){return e.memberCount==null?null:e.memberCount===1?`1 member`:`${e.memberCount} members`}var Le=[{value:null,label:`All`},{value:`public`,label:`Public`},{value:`private`,label:`Private`}],Re={public:b,private:D},ze=100,Be=new Set;function Ve({assistantDisplayName:e,slackHandle:t,channels:n,loading:r=!1,error:i=!1,tierOverrides:a,defaultTier:o=null,accessControlsSupported:s=!0,tierOverridesLoading:c=!1,tierOverridesError:l=!1,pendingChannelIds:f=Be,onTierChange:p,onTierReset:m}){let[h,g]=(0,H.useState)(``),[_,v]=(0,H.useState)(null),y=(0,H.useMemo)(()=>Ne(n??[]),[n]),x=(0,H.useMemo)(()=>Pe(y,h,_),[y,h,_]),S=(0,H.useMemo)(()=>Fe(y),[y]),C=t??`@${e}`;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,G.jsx)(d,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,G.jsxs)(G.Fragment,{children:[`Add with`,` `,(0,G.jsxs)(`code`,{className:`text-[color:var(--content-secondary)]`,children:[`/invite `,C]}),` `,`or remove with`,` `,(0,G.jsxs)(`code`,{className:`text-[color:var(--content-secondary)]`,children:[`/remove `,C]}),` `,`in that Slack channel. Only channels `,e,` is in appear here.`]})}),r?(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:`Loading…`}):i?(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:`Couldn’t load channels. Try reopening this page.`}):y.length===0?(0,G.jsx)(we,{icon:(0,G.jsx)(b,{className:`h-6 w-6`}),title:`No channels yet`}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`min-w-56 flex-1`,children:(0,G.jsx)(I,{type:`search`,value:h,onChange:e=>g(e.target.value),placeholder:`Search channels`,"aria-label":`Search channels`,leftIcon:(0,G.jsx)(k,{className:`h-4 w-4`}),fullWidth:!0})}),(0,G.jsx)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":`Filter channels by type`,children:Le.map(({value:e,label:t})=>{let n=_===e,r=e===null?y.length:S[e];return(0,G.jsxs)(`button`,{type:`button`,"aria-pressed":n,onClick:()=>v(e),className:u(`inline-flex h-6 items-center rounded-full px-2.5 text-body-small-emphasised leading-none transition-colors`,n?`bg-[var(--content-default)] text-[var(--surface-base)]`:`bg-[var(--tag-bg-neutral)] text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)]`),children:[t,` `,r]},e??`all`)})})]}),x.length===0?(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`py-4 text-center text-[color:var(--content-tertiary)]`,children:`No channels match.`}):x.length>ze?(0,G.jsx)(`div`,{className:`h-96`,children:(0,G.jsx)(N,{items:x,computeItemKey:(e,t)=>t.id,itemContent:(e,t)=>(0,G.jsx)(He,{channel:t,pending:f.has(t.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[t.id],onTierChange:e=>p?.(t.id,e),onReset:()=>m?.(t.id)}),className:`h-full`})}):(0,G.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:x.map(e=>(0,G.jsx)(He,{channel:e,pending:f.has(e.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[e.id],onTierChange:t=>p?.(e.id,t),onReset:()=>m?.(e.id)},e.id))})]})]})}function He({channel:e,pending:t,overridesLoading:n,overridesError:r,defaultTier:i,accessControls:a,tierOverride:o,onTierChange:s,onReset:c}){let l=Q(e);if(l===`dm`)return null;let u=Re[l],d=Ie(e),f=`[&+&]:border-t [&+&]:border-[var(--border-base)]`;return a?(0,G.jsx)(C,{className:f,leading:(0,G.jsx)(u,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,subtitle:d??void 0,trailing:(0,G.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,G.jsx)(Me,{tier:o,defaultTier:i,disabled:t||n||r,onTierChange:s,onReset:c,"aria-label":`Assistant Access in ${e.name}`})})}):(0,G.jsx)(C,{className:f,leading:(0,G.jsx)(u,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,trailing:d==null?void 0:(0,G.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:d})})}function Ue(e){return e===`none`?`Asks before every action, even a web search.`:`Asks before anything beyond looking things up and saving files in its own workspace.`}function We({defaultTier:e}){let t=q(e??void 0)??null;return(0,G.jsx)(`div`,{className:`flex flex-col gap-2 px-4 py-3`,children:(0,G.jsx)(`ul`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[...Oe].reverse().map(e=>{let n=J[e];return(0,G.jsxs)(`li`,{className:`flex flex-col gap-0.5`,children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,G.jsx)(Z,{color:n.dotColor}),(0,G.jsx)(d,{as:`span`,variant:`body-small-emphasised`,children:n.label}),e===t?(0,G.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:`· default`}):null]}),(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:Ue(e)})]},e)})})})}var Ge=[{bucket:`channels`,icon:b,title:`Channels`,description:`Public and private channels`},{bucket:`dm`,icon:O,title:`Direct messages`,description:`One-on-one DMs`}];function Ke({assistantName:e,globalDefaultTier:t,bucketTiers:n,loading:r,error:a,pendingBuckets:o,onBucketChange:s,onBucketReset:c}){return(0,G.jsxs)(f.Root,{children:[(0,G.jsx)(f.Header,{children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[`Default access`,(0,G.jsxs)(d,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:[`How much `,e,` does on its own, by conversation type. Individual channels can override this below, and`,` `,(0,G.jsx)(i,{to:ae.settings.privacy,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`,children:`Trust Rules`}),` `,`fine-tune when it asks.`]})]})}),(0,G.jsx)(f.Body,{className:`py-1`,children:Ge.map(({bucket:e,icon:i,title:l,description:u})=>{let d=e===`dm`?n?.channels??t:t;return(0,G.jsx)(C,{className:`[&+&]:border-t [&+&]:border-[var(--border-base)]`,leading:(0,G.jsx)(i,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:l,subtitle:u,trailing:(0,G.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,G.jsx)(Me,{tier:n?.[e],defaultTier:d,disabled:r||a||o.has(e),onTierChange:t=>s(e,t),onReset:()=>c(e),"aria-label":`Default Assistant Access for ${l}`})})},e)})}),(0,G.jsx)(f.Footer,{className:`p-0`,children:(0,G.jsx)(We,{defaultTier:t})})]})}var qe=`0.11.0`;function Je(){return ie(qe)}var Ye=new Set([404,501]);function Xe(e){let t=fe(e);return t!==void 0&&Ye.has(t)}function Ze(e,t,n){return Y.map(r=>({selector:{scope:`channel`,adapter:e,channelExternalId:t},contactType:r,threshold:n}))}function Qe(e,t,n){return e.selector.scope===`channel`&&e.selector.adapter===t&&e.selector.channelExternalId===n}function $e(e,t){return t===`channels`?{scope:`adapter`,adapter:e}:{scope:`channel_type`,adapter:e,channelType:`dm`}}function et(e,t,n){let r=$e(e,t);return Y.map(e=>({selector:r,contactType:e,threshold:n}))}function tt({assistantId:e,adapter:t}){let n=o(),r=Je()&&!!e,i=(0,H.useMemo)(()=>({path:{assistant_id:e}}),[e]),a=(0,H.useMemo)(()=>p(i),[i]),l=(0,H.useMemo)(()=>[`channel-permission-resolve`,e,t],[e,t]),u=s({...g(i),enabled:r}),d=u.data?.cells,f=(0,H.useMemo)(()=>d?ke(d,t):void 0,[d,t]),m=(0,H.useMemo)(()=>d?{channels:Ae(d,t,`channels`),dm:Ae(d,t,`dm`)}:void 0,[d,t]),h=s({queryKey:l,queryFn:async()=>{let{data:e}=await ce({...i,body:{adapter:t,contactType:`trusted_contact`},throwOnError:!0});return e.resolved?.threshold??null},enabled:r,retry:!1,staleTime:3e4}),_=(e,t)=>{let r=n.getQueryData(a),i=Date.now();return n.setQueryData(a,n=>({cells:[...(n?.cells??[]).filter(t=>!e(t)),...t.map(e=>({...e,updatedAt:i}))]})),{previous:r}},v=c({mutationFn:async({channelExternalId:e,tier:n})=>{await Promise.all(Ze(t,e,n).map(e=>se({...i,body:e,throwOnError:!0})))},onMutate:({channelExternalId:e,tier:n})=>_(n=>Qe(n,t,e),Ze(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to save channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),y=c({mutationFn:async({channelExternalId:e})=>{await Promise.all(Y.map(n=>z({...i,body:{selector:{scope:`channel`,adapter:t,channelExternalId:e},contactType:n},throwOnError:!0})))},onMutate:({channelExternalId:e})=>_(n=>Qe(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to reset channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),b=c({mutationFn:async({bucket:e,tier:n})=>{await Promise.all(et(t,e,n).map(e=>se({...i,body:e,throwOnError:!0})))},onMutate:({bucket:e,tier:n})=>_(n=>X(n,t,e),et(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to save the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:l})}}),x=c({mutationFn:async({bucket:e})=>{let n=$e(t,e);await Promise.all(Y.map(e=>z({...i,body:{selector:n,contactType:e},throwOnError:!0})))},onMutate:({bucket:e})=>_(n=>X(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to reset the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:l})}}),S=(0,H.useMemo)(()=>{let e=new Set;return v.isPending&&v.variables&&e.add(v.variables.channelExternalId),y.isPending&&y.variables&&e.add(y.variables.channelExternalId),e},[v.isPending,v.variables,y.isPending,y.variables]),C=(0,H.useMemo)(()=>{let e=new Set;return b.isPending&&b.variables&&e.add(b.variables.bucket),x.isPending&&x.variables&&e.add(x.variables.bucket),e},[b.isPending,b.variables,x.isPending,x.variables]);return!r||u.isError&&Xe(u.error)?{supported:!1,tierOverrides:void 0,defaultCellTier:void 0,bucketTiers:void 0,pendingChannelIds:new Set,pendingBuckets:new Set,isLoading:!1,isError:!1,onTierChange:void 0,onTierReset:void 0,onBucketChange:void 0,onBucketReset:void 0}:{supported:!0,tierOverrides:f,defaultCellTier:h.data,bucketTiers:m,pendingChannelIds:S,pendingBuckets:C,isLoading:u.isPending,isError:u.isError,onTierChange:(e,t)=>v.mutate({channelExternalId:e,tier:t}),onTierReset:e=>{f?.[e]!==void 0&&y.mutate({channelExternalId:e})},onBucketChange:(e,t)=>b.mutate({bucket:e,tier:t}),onBucketReset:e=>{m?.[e]!==void 0&&x.mutate({bucket:e})}}}function nt({assistantId:e,assistantDisplayName:t,slackHandle:n}){let r=s({...v(e),enabled:!!e,select:e=>e.channels}),i=tt({assistantId:e,adapter:`slack`}),a=s({queryKey:[`thresholds`,e],queryFn:()=>w(e),enabled:i.supported&&!!e,staleTime:3e4}).data?.interactive??null,o=i.defaultCellTier===void 0?null:i.defaultCellTier??a,c=(0,G.jsx)(Ve,{assistantDisplayName:t,slackHandle:n,accessControlsSupported:i.supported,defaultTier:o,channels:r.data,loading:r.isPending,error:r.isError,tierOverrides:i.tierOverrides,tierOverridesLoading:i.isLoading,tierOverridesError:i.isError,pendingChannelIds:i.pendingChannelIds,onTierChange:i.onTierChange,onTierReset:i.onTierReset});return!i.supported||!i.onBucketChange||!i.onBucketReset?(0,G.jsx)(f.Root,{noPadding:!0,clipContents:!0,children:c}):(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[i.isError?(0,G.jsx)(A,{tone:`error`,children:`Couldn’t load access settings. These controls stay disabled until they load. Try reopening this page.`}):null,(0,G.jsx)(Ke,{assistantName:t,globalDefaultTier:a,bucketTiers:i.bucketTiers,loading:i.isLoading,error:i.isError,pendingBuckets:i.pendingBuckets,onBucketChange:i.onBucketChange,onBucketReset:i.onBucketReset}),(0,G.jsx)(f.Root,{noPadding:!0,clipContents:!0,children:(0,G.jsx)(P.Root,{type:`single`,collapsible:!0,children:(0,G.jsxs)(P.Item,{value:`per-channel-overrides`,children:[(0,G.jsxs)(P.Trigger,{className:`group justify-between gap-2 px-4 py-3`,children:[(0,G.jsx)(d,{as:`span`,variant:`body-small-emphasised`,children:`Per-channel overrides`}),(0,G.jsx)(x,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,G.jsx)(P.Content,{className:`border-[var(--border-base)] data-[state=open]:border-t`,children:c})]})})})]})}function rt({slackHandle:e,disconnectPending:t=!1,onDisconnect:r,children:i}){return(0,G.jsxs)(f.Root,{children:[(0,G.jsx)(f.Header,{children:(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`img`,{src:B(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),e?(0,G.jsx)(d,{as:`span`,variant:`body-medium-default`,children:e}):null,(0,G.jsx)(F,{tone:`positive`,leftIcon:(0,G.jsx)(S,{}),children:`Connected`}),(0,G.jsx)(`div`,{className:`ml-auto`,children:(0,G.jsx)(n,{type:`button`,variant:`ghost`,onClick:r,disabled:!r||t,children:t?`Disconnecting…`:`Disconnect`})})]})}),(0,G.jsx)(f.Body,{children:i})]})}function it({threadMode:e,threadModePending:t=!1,onThreadModeChange:n}){return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(d,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:`Thread Behavior`}),(0,G.jsxs)(M,{value:e??`mention_then_thread`,onValueChange:e=>n?.(e),disabled:t||!n,"aria-label":`Slack thread behavior`,children:[(0,G.jsx)(j,{value:`mention_only`,label:`Mentions only`,helperText:`Bot only responds when @mentioned.`}),(0,G.jsx)(j,{value:`mention_then_thread`,label:`Follow threads after first mention`,helperText:`After an @mention in a thread, bot listens to all subsequent replies.`})]})]})}function at({onSave:e}){let[t,r]=(0,H.useState)(``),[i,a]=(0,H.useState)(!1),[o,s]=(0,H.useState)(null),c=t.trim().length>0&&!i;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(I,{label:`Bot Token`,type:`password`,value:t,onChange:e=>r(e.target.value),placeholder:`Paste your Telegram bot token`,disabled:i,fullWidth:!0}),o?(0,G.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:o}):null,(0,G.jsx)(`div`,{children:(0,G.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!c)){a(!0),s(null);try{await e(t.trim()),r(``)}catch(e){s(e instanceof Error?e.message:`Failed to save`)}finally{a(!1)}}},disabled:!c,children:i?`Saving…`:`Save`})})]})}function ot({onSave:e}){let[t,r]=(0,H.useState)(``),[i,a]=(0,H.useState)(``),[o,s]=(0,H.useState)(!1),[c,l]=(0,H.useState)(null),u=t.trim().length>0&&i.trim().length>0&&!o;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(I,{label:`Account SID`,type:`text`,value:t,onChange:e=>r(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:o,fullWidth:!0}),(0,G.jsx)(I,{label:`Auth Token`,type:`password`,value:i,onChange:e=>a(e.target.value),placeholder:`Twilio auth token`,disabled:o,fullWidth:!0}),c?(0,G.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:c}):null,(0,G.jsx)(`div`,{children:(0,G.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!u)){s(!0),l(null);try{await e(t.trim(),i.trim()),r(``),a(``)}catch(e){l(e instanceof Error?e.message:`Failed to save`)}finally{s(!1)}}},disabled:!u,children:o?`Saving…`:`Save`})})]})}function st({channel:e,assistantId:t,assistantName:r,assistantDisplayName:i,pending:a,initialManualEntry:o=!1,onSetup:s,onDisconnect:c,onSaveTelegramToken:l,onSaveSlackConfig:u,slackSaveStatus:d,slackSaveError:f,slackThreadMode:p,slackThreadModePending:m=!1,onSlackThreadModeChange:g,onSaveTwilioCredentials:_,policy:v,policySaving:b=!1,policyLoading:x=!1,policyError:S=!1,onPolicyChange:C}){let w=e.status===`ready`,[T,E]=(0,H.useState)(o);if(e.key===`slack`)return(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[w?(0,G.jsx)(rt,{slackHandle:e.address,disconnectPending:a,onDisconnect:c,children:(0,G.jsx)(it,{threadMode:p,threadModePending:m,onThreadModeChange:g})}):(0,G.jsx)(De,{children:(0,G.jsx)(de,{assistantName:r,onSave:u,saveStatus:d,saveError:f})}),w?(0,G.jsx)(nt,{assistantId:t,assistantDisplayName:i,slackHandle:e.address}):null]});let D=W[e.key];return(0,G.jsx)(`div`,{className:`flex flex-col gap-4`,children:w?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Ee,{address:e.address,pending:a,onDisconnect:c}),D.hasTrustFloorControl&&C?(0,G.jsx)(Te,{assistantDisplayName:i,policy:v,saving:b,loading:x,error:S,onChange:C}):null]}):T?e.key===`telegram`?(0,G.jsx)(at,{onSave:l}):(0,G.jsx)(ot,{onSave:_}):(0,G.jsx)(we,{icon:(0,G.jsx)(y,{channelId:e.key,className:`h-6 w-6`}),title:`${h(e.key)} isn't connected`,description:D.disconnectedPitch?.(i),action:(0,G.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,G.jsx)(n,{type:`button`,variant:`outlined`,onClick:s,disabled:!s||a,children:a?`Opening…`:`Set up`}),(0,G.jsx)(n,{type:`button`,variant:`link`,onClick:()=>E(!0),children:`or connect manually`})]})})})}var $={no_one:{title:`Block all messages?`,message:`Setting this channel to “No one” hard-denies every inbound message, including messages from you.
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{m as r,t as i,u as a}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as o}from"./QueryClientProvider-CMu7CkQU.js";import{t as s}from"./useQuery-Bz-fbQ-m.js";import{t as c}from"./useMutation-CXGTrp4W.js";import{t as l}from"./jsx-runtime-D3ZM-ToX.js";import{t as u}from"./cn-CJf7MmLX.js";import{t as d}from"./typography-DEI9Ra9z.js";import{t as f}from"./card-DRIctGVs.js";import{_ as p,c as m,f as h,g,l as _,o as v,u as y,x as b}from"./use-save-twilio-credentials-C8A9E6P0.js";import{t as x}from"./chevron-down-B5A-0g8A.js";import{t as S}from"./circle-check-big-DSsDH5_6.js";import{t as C}from"./list-row-BYrmPIC4.js";import{o as w,r as T,t as E,u as D}from"./threshold-presets-B-gOdjC4.js";import{t as O}from"./message-square-zCNXaHYX.js";import{t as k}from"./search-DA3TmTuR.js";import{t as A}from"./notice-DCp7WO3L.js";import{N as j,P as M,a as N,i as P}from"./src-BAS7a2RG.js";import{t as F}from"./tag-D8NAGb0r.js";import{t as I}from"./input-C-GkeWCw.js";import{t as ee}from"./panel-item-DGs4s9r-.js";import{t as L}from"./confirm-dialog-DZX6LhLy.js";import{t as R}from"./dropdown-DswWMJhz.js";import{n as te,t as ne}from"./create-selectors-B-P03-8K.js";import{t as re}from"./assistant-identity-store-Dnh8WRHU.js";import{i as ie}from"./utils-CLGxXkUG.js";import{d as ae}from"./routes-Dwx_Ibh9.js";import{n as oe}from"./conversation-navigation-CYonSeT9.js";import{i as se,o as ce,r as z}from"./sdk.gen-DEFA-6EJ.js";import{t as le}from"./assistant-feature-flag-store-Ci_346FY.js";import{t as B}from"./public-asset-CD3ouSWU.js";import{t as ue}from"./use-active-assistant-id-AtGy8p_R.js";import{t as de}from"./slack-setup-wizard-dVkbEE6P.js";import{t as fe}from"./index-Blkf3bPi.js";import{t as pe}from"./detail-card-D-5EWmAS.js";import{n as me,t as he}from"./mobile-sidebar-drawer-DfeoKq1T.js";import{c as ge,i as _e,n as ve,o as ye,r as be,s as xe,t as Se}from"./use-invite-link-dialog-DGWKEId1.js";import{t as V}from"./mutation-error-CXV1BKlB.js";var H=e(t(),1),U=ne(te()(e=>({selectedAdapter:`slack`,selectAdapter:t=>e({selectedAdapter:t})}))),W={slack:{label:`Slack`,disconnectMessage:`This clears the stored Slack bot and app tokens for this assistant. You can reconnect later.`,hasTrustFloorControl:!1},telegram:{label:`Telegram`,disconnectMessage:`This clears the stored Telegram bot token for this assistant. You can reconnect later.`,hasTrustFloorControl:!0,disconnectedPitch:e=>`Connect a Telegram bot so ${e} can send and receive messages on Telegram.`},phone:{label:`Phone Calling`,disconnectMessage:`This clears the stored Twilio credentials for this assistant. You can reconnect later.`,hasTrustFloorControl:!0,disconnectedPitch:e=>`Connect your Twilio account so ${e} can make and answer phone calls.`}},G=l();function K({channels:e,selectedKey:t,onSelect:n}){return(0,G.jsx)(f.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,G.jsxs)(f.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:`Channels`}),(0,G.jsx)(`div`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,G.jsx)(Ce,{channel:e,selected:e.key===t,onClick:()=>n(e.key)},e.key))})]})})}function Ce({channel:e,selected:t,onClick:n}){let r=e.status===`ready`,i=h(e.key),a=r?`Connected`:`Not connected`;return(0,G.jsx)(ee,{asChild:!0,active:t,label:`${i}, ${a}`,children:(0,G.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,G.jsx)(y,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:i}),(0,G.jsx)(`span`,{className:`flex shrink-0 items-center`,children:(0,G.jsx)(F,{tone:r?`positive`:`neutral`,children:a})})]})})}function we({icon:e,title:t,description:n,action:r,className:i}){return(0,G.jsxs)(`div`,{className:u(`flex flex-col items-center justify-center gap-3 px-4 py-12 text-center`,i),children:[e?(0,G.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-[var(--surface-sunken)] text-[var(--content-tertiary)]`,children:e}):null,(0,G.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:t}),n?(0,G.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:n}):null,r?(0,G.jsx)(`div`,{className:`mt-1`,children:r}):null]})}function Te({assistantDisplayName:e,policy:t,saving:n=!1,loading:r=!1,error:i=!1,onChange:a}){let o=t??`trusted_contacts`,s=ge(e),c=ye.map(e=>({value:e,label:xe[e],tooltip:s[e]}));return(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsxs)(d,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:[`Who can message `,e]}),r?(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:`Loading…`}):i?(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:`Couldn’t load this setting. Try reopening this page.`}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{style:{maxWidth:280},children:(0,G.jsx)(R,{value:o,onChange:a,options:c,disabled:n,"aria-label":`Who can message ${e}`})}),(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:s[o]}),o===`trusted_contacts`?(0,G.jsxs)(A,{tone:`info`,className:`max-w-lg`,children:[`People you haven’t verified yet (even teammates in the same channel) can’t get through: `,e,` lets them know they need to be verified and notifies you. You can verify people ahead of time in Contacts.`]}):null]})]})}function Ee({address:e,pending:t,onDisconnect:r}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(F,{tone:`positive`,leftIcon:(0,G.jsx)(S,{}),children:`Connected`}),e?(0,G.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e}):null,(0,G.jsx)(`div`,{className:`ml-auto`,children:(0,G.jsx)(n,{type:`button`,variant:`danger`,onClick:r,disabled:!r||t,children:t?`Disconnecting…`:`Disconnect`})})]})}function De({children:e}){return(0,G.jsxs)(f.Root,{children:[(0,G.jsx)(f.Header,{children:(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`img`,{src:B(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),(0,G.jsx)(d,{as:`span`,variant:`body-medium-default`,children:`Slack setup`})]})}),(0,G.jsx)(f.Body,{children:e})]})}E.map(e=>e.riskThreshold);var Oe=[`none`,`low`];function q(e){if(e!==void 0)return e===`none`?`none`:`low`}var J={none:{label:T(`none`).label,sublabel:`asks every time`,tone:`negative`,dotColor:`var(--system-negative-strong)`},low:{label:T(`low`).label,sublabel:`safe lookups`,tone:`warning`,dotColor:`var(--system-mid-strong)`},medium:{label:T(`medium`).label,sublabel:`broader lookups`,tone:`info`,dotColor:`var(--system-info-strong)`},high:{label:T(`high`).label,sublabel:`any lookup`,tone:`positive`,dotColor:`var(--system-positive-strong)`}},Y=[`trusted_contact`,`unverified_contact`,`unknown`];function ke(e,t){let n={};for(let r of e){if(r.selector.scope!==`channel`||r.selector.adapter!==t)continue;let e=r.selector.channelExternalId;e&&(r.contactType===`trusted_contact`||!(e in n))&&(n[e]=r.threshold)}return n}function X(e,t,n){return n===`channels`?e.selector.scope===`adapter`&&e.selector.adapter===t:e.selector.scope===`channel_type`&&e.selector.adapter===t&&e.selector.channelType===`dm`}function Ae(e,t,n){let r;for(let i of e)X(i,t,n)&&(i.contactType===`trusted_contact`||r===void 0)&&(r=i.threshold);return r}var je=`__default__`;function Z({color:e}){return(0,G.jsx)(`span`,{"aria-hidden":`true`,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e}})}function Me({tier:e,defaultTier:t,disabled:n,onTierChange:r,onReset:i,"aria-label":a}){let o=q(e??t??void 0),s=q(t??void 0)??null,c=Oe.map(e=>({value:e,label:J[e].label,icon:(0,G.jsx)(Z,{color:J[e].dotColor}),suffix:e===s?(0,G.jsx)(`span`,{className:`text-[color:var(--content-tertiary)]`,children:`default`}):void 0,tooltip:J[e].sublabel}));return s===null&&c.unshift({value:je,label:`Default`,icon:(0,G.jsx)(Z,{color:`transparent`}),tooltip:`follows the default level`}),(0,G.jsx)(R,{value:o??``,onChange:e=>{e===je||e===s?i():r(e)},options:c,placeholder:`Default`,disabled:n,size:`compact`,menuAlign:`end`,"aria-label":a})}function Q(e){return e.type===`dm`?`dm`:e.isPrivate?`private`:`public`}function Ne(e){return e.filter(e=>Q(e)!==`dm`)}function Pe(e,t,n){let r=t.trim().toLowerCase();return e.filter(e=>(n===null||Q(e)===n)&&(r===``||e.name.toLowerCase().includes(r))).sort((e,t)=>e.name.localeCompare(t.name))}function Fe(e){let t={public:0,private:0,dm:0};for(let n of e)t[Q(n)]+=1;return t}function Ie(e){return e.memberCount==null?null:e.memberCount===1?`1 member`:`${e.memberCount} members`}var Le=[{value:null,label:`All`},{value:`public`,label:`Public`},{value:`private`,label:`Private`}],Re={public:b,private:D},ze=100,Be=new Set;function Ve({assistantDisplayName:e,slackHandle:t,channels:n,loading:r=!1,error:i=!1,tierOverrides:a,defaultTier:o=null,accessControlsSupported:s=!0,tierOverridesLoading:c=!1,tierOverridesError:l=!1,pendingChannelIds:f=Be,onTierChange:p,onTierReset:m}){let[h,g]=(0,H.useState)(``),[_,v]=(0,H.useState)(null),y=(0,H.useMemo)(()=>Ne(n??[]),[n]),x=(0,H.useMemo)(()=>Pe(y,h,_),[y,h,_]),S=(0,H.useMemo)(()=>Fe(y),[y]),C=t??`@${e}`;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,G.jsx)(d,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,G.jsxs)(G.Fragment,{children:[`Add with`,` `,(0,G.jsxs)(`code`,{className:`text-[color:var(--content-secondary)]`,children:[`/invite `,C]}),` `,`or remove with`,` `,(0,G.jsxs)(`code`,{className:`text-[color:var(--content-secondary)]`,children:[`/remove `,C]}),` `,`in that Slack channel. Only channels `,e,` is in appear here.`]})}),r?(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:`Loading…`}):i?(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:`Couldn’t load channels. Try reopening this page.`}):y.length===0?(0,G.jsx)(we,{icon:(0,G.jsx)(b,{className:`h-6 w-6`}),title:`No channels yet`}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`min-w-56 flex-1`,children:(0,G.jsx)(I,{type:`search`,value:h,onChange:e=>g(e.target.value),placeholder:`Search channels`,"aria-label":`Search channels`,leftIcon:(0,G.jsx)(k,{className:`h-4 w-4`}),fullWidth:!0})}),(0,G.jsx)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":`Filter channels by type`,children:Le.map(({value:e,label:t})=>{let n=_===e,r=e===null?y.length:S[e];return(0,G.jsxs)(`button`,{type:`button`,"aria-pressed":n,onClick:()=>v(e),className:u(`inline-flex h-6 items-center rounded-full px-2.5 text-body-small-emphasised leading-none transition-colors`,n?`bg-[var(--content-default)] text-[var(--surface-base)]`:`bg-[var(--tag-bg-neutral)] text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)]`),children:[t,` `,r]},e??`all`)})})]}),x.length===0?(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`py-4 text-center text-[color:var(--content-tertiary)]`,children:`No channels match.`}):x.length>ze?(0,G.jsx)(`div`,{className:`h-96`,children:(0,G.jsx)(N,{items:x,computeItemKey:(e,t)=>t.id,itemContent:(e,t)=>(0,G.jsx)(He,{channel:t,pending:f.has(t.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[t.id],onTierChange:e=>p?.(t.id,e),onReset:()=>m?.(t.id)}),className:`h-full`})}):(0,G.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:x.map(e=>(0,G.jsx)(He,{channel:e,pending:f.has(e.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[e.id],onTierChange:t=>p?.(e.id,t),onReset:()=>m?.(e.id)},e.id))})]})]})}function He({channel:e,pending:t,overridesLoading:n,overridesError:r,defaultTier:i,accessControls:a,tierOverride:o,onTierChange:s,onReset:c}){let l=Q(e);if(l===`dm`)return null;let u=Re[l],d=Ie(e),f=`[&+&]:border-t [&+&]:border-[var(--border-base)]`;return a?(0,G.jsx)(C,{className:f,leading:(0,G.jsx)(u,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,subtitle:d??void 0,trailing:(0,G.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,G.jsx)(Me,{tier:o,defaultTier:i,disabled:t||n||r,onTierChange:s,onReset:c,"aria-label":`Assistant Access in ${e.name}`})})}):(0,G.jsx)(C,{className:f,leading:(0,G.jsx)(u,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,trailing:d==null?void 0:(0,G.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:d})})}function Ue(e){return e===`none`?`Asks before every action, even a web search.`:`Asks before anything beyond looking things up and saving files in its own workspace.`}function We({defaultTier:e}){let t=q(e??void 0)??null;return(0,G.jsx)(`div`,{className:`flex flex-col gap-2 px-4 py-3`,children:(0,G.jsx)(`ul`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[...Oe].reverse().map(e=>{let n=J[e];return(0,G.jsxs)(`li`,{className:`flex flex-col gap-0.5`,children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,G.jsx)(Z,{color:n.dotColor}),(0,G.jsx)(d,{as:`span`,variant:`body-small-emphasised`,children:n.label}),e===t?(0,G.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:`· default`}):null]}),(0,G.jsx)(d,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:Ue(e)})]},e)})})})}var Ge=[{bucket:`channels`,icon:b,title:`Channels`,description:`Public and private channels`},{bucket:`dm`,icon:O,title:`Direct messages`,description:`One-on-one DMs`}];function Ke({assistantName:e,globalDefaultTier:t,bucketTiers:n,loading:r,error:a,pendingBuckets:o,onBucketChange:s,onBucketReset:c}){return(0,G.jsxs)(f.Root,{children:[(0,G.jsx)(f.Header,{children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[`Default access`,(0,G.jsxs)(d,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:[`How much `,e,` does on its own, by conversation type. Individual channels can override this below, and`,` `,(0,G.jsx)(i,{to:ae.settings.privacy,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`,children:`Trust Rules`}),` `,`fine-tune when it asks.`]})]})}),(0,G.jsx)(f.Body,{className:`py-1`,children:Ge.map(({bucket:e,icon:i,title:l,description:u})=>{let d=e===`dm`?n?.channels??t:t;return(0,G.jsx)(C,{className:`[&+&]:border-t [&+&]:border-[var(--border-base)]`,leading:(0,G.jsx)(i,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:l,subtitle:u,trailing:(0,G.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,G.jsx)(Me,{tier:n?.[e],defaultTier:d,disabled:r||a||o.has(e),onTierChange:t=>s(e,t),onReset:()=>c(e),"aria-label":`Default Assistant Access for ${l}`})})},e)})}),(0,G.jsx)(f.Footer,{className:`p-0`,children:(0,G.jsx)(We,{defaultTier:t})})]})}var qe=`0.11.0`;function Je(){return ie(qe)}var Ye=new Set([404,501]);function Xe(e){let t=fe(e);return t!==void 0&&Ye.has(t)}function Ze(e,t,n){return Y.map(r=>({selector:{scope:`channel`,adapter:e,channelExternalId:t},contactType:r,threshold:n}))}function Qe(e,t,n){return e.selector.scope===`channel`&&e.selector.adapter===t&&e.selector.channelExternalId===n}function $e(e,t){return t===`channels`?{scope:`adapter`,adapter:e}:{scope:`channel_type`,adapter:e,channelType:`dm`}}function et(e,t,n){let r=$e(e,t);return Y.map(e=>({selector:r,contactType:e,threshold:n}))}function tt({assistantId:e,adapter:t}){let n=o(),r=Je()&&!!e,i=(0,H.useMemo)(()=>({path:{assistant_id:e}}),[e]),a=(0,H.useMemo)(()=>p(i),[i]),l=(0,H.useMemo)(()=>[`channel-permission-resolve`,e,t],[e,t]),u=s({...g(i),enabled:r}),d=u.data?.cells,f=(0,H.useMemo)(()=>d?ke(d,t):void 0,[d,t]),m=(0,H.useMemo)(()=>d?{channels:Ae(d,t,`channels`),dm:Ae(d,t,`dm`)}:void 0,[d,t]),h=s({queryKey:l,queryFn:async()=>{let{data:e}=await ce({...i,body:{adapter:t,contactType:`trusted_contact`},throwOnError:!0});return e.resolved?.threshold??null},enabled:r,retry:!1,staleTime:3e4}),_=(e,t)=>{let r=n.getQueryData(a),i=Date.now();return n.setQueryData(a,n=>({cells:[...(n?.cells??[]).filter(t=>!e(t)),...t.map(e=>({...e,updatedAt:i}))]})),{previous:r}},v=c({mutationFn:async({channelExternalId:e,tier:n})=>{await Promise.all(Ze(t,e,n).map(e=>se({...i,body:e,throwOnError:!0})))},onMutate:({channelExternalId:e,tier:n})=>_(n=>Qe(n,t,e),Ze(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to save channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),y=c({mutationFn:async({channelExternalId:e})=>{await Promise.all(Y.map(n=>z({...i,body:{selector:{scope:`channel`,adapter:t,channelExternalId:e},contactType:n},throwOnError:!0})))},onMutate:({channelExternalId:e})=>_(n=>Qe(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to reset channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),b=c({mutationFn:async({bucket:e,tier:n})=>{await Promise.all(et(t,e,n).map(e=>se({...i,body:e,throwOnError:!0})))},onMutate:({bucket:e,tier:n})=>_(n=>X(n,t,e),et(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to save the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:l})}}),x=c({mutationFn:async({bucket:e})=>{let n=$e(t,e);await Promise.all(Y.map(e=>z({...i,body:{selector:n,contactType:e},throwOnError:!0})))},onMutate:({bucket:e})=>_(n=>X(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),V(`Failed to reset the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:l})}}),S=(0,H.useMemo)(()=>{let e=new Set;return v.isPending&&v.variables&&e.add(v.variables.channelExternalId),y.isPending&&y.variables&&e.add(y.variables.channelExternalId),e},[v.isPending,v.variables,y.isPending,y.variables]),C=(0,H.useMemo)(()=>{let e=new Set;return b.isPending&&b.variables&&e.add(b.variables.bucket),x.isPending&&x.variables&&e.add(x.variables.bucket),e},[b.isPending,b.variables,x.isPending,x.variables]);return!r||u.isError&&Xe(u.error)?{supported:!1,tierOverrides:void 0,defaultCellTier:void 0,bucketTiers:void 0,pendingChannelIds:new Set,pendingBuckets:new Set,isLoading:!1,isError:!1,onTierChange:void 0,onTierReset:void 0,onBucketChange:void 0,onBucketReset:void 0}:{supported:!0,tierOverrides:f,defaultCellTier:h.data,bucketTiers:m,pendingChannelIds:S,pendingBuckets:C,isLoading:u.isPending,isError:u.isError,onTierChange:(e,t)=>v.mutate({channelExternalId:e,tier:t}),onTierReset:e=>{f?.[e]!==void 0&&y.mutate({channelExternalId:e})},onBucketChange:(e,t)=>b.mutate({bucket:e,tier:t}),onBucketReset:e=>{m?.[e]!==void 0&&x.mutate({bucket:e})}}}function nt({assistantId:e,assistantDisplayName:t,slackHandle:n}){let r=s({...v(e),enabled:!!e,select:e=>e.channels}),i=tt({assistantId:e,adapter:`slack`}),a=s({queryKey:[`thresholds`,e],queryFn:()=>w(e),enabled:i.supported&&!!e,staleTime:3e4}).data?.interactive??null,o=i.defaultCellTier===void 0?null:i.defaultCellTier??a,c=(0,G.jsx)(Ve,{assistantDisplayName:t,slackHandle:n,accessControlsSupported:i.supported,defaultTier:o,channels:r.data,loading:r.isPending,error:r.isError,tierOverrides:i.tierOverrides,tierOverridesLoading:i.isLoading,tierOverridesError:i.isError,pendingChannelIds:i.pendingChannelIds,onTierChange:i.onTierChange,onTierReset:i.onTierReset});return!i.supported||!i.onBucketChange||!i.onBucketReset?(0,G.jsx)(f.Root,{noPadding:!0,clipContents:!0,children:c}):(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[i.isError?(0,G.jsx)(A,{tone:`error`,children:`Couldn’t load access settings. These controls stay disabled until they load. Try reopening this page.`}):null,(0,G.jsx)(Ke,{assistantName:t,globalDefaultTier:a,bucketTiers:i.bucketTiers,loading:i.isLoading,error:i.isError,pendingBuckets:i.pendingBuckets,onBucketChange:i.onBucketChange,onBucketReset:i.onBucketReset}),(0,G.jsx)(f.Root,{noPadding:!0,clipContents:!0,children:(0,G.jsx)(P.Root,{type:`single`,collapsible:!0,children:(0,G.jsxs)(P.Item,{value:`per-channel-overrides`,children:[(0,G.jsxs)(P.Trigger,{className:`group justify-between gap-2 px-4 py-3`,children:[(0,G.jsx)(d,{as:`span`,variant:`body-small-emphasised`,children:`Per-channel overrides`}),(0,G.jsx)(x,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,G.jsx)(P.Content,{className:`border-[var(--border-base)] data-[state=open]:border-t`,children:c})]})})})]})}function rt({slackHandle:e,disconnectPending:t=!1,onDisconnect:r,children:i}){return(0,G.jsxs)(f.Root,{children:[(0,G.jsx)(f.Header,{children:(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`img`,{src:B(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),e?(0,G.jsx)(d,{as:`span`,variant:`body-medium-default`,children:e}):null,(0,G.jsx)(F,{tone:`positive`,leftIcon:(0,G.jsx)(S,{}),children:`Connected`}),(0,G.jsx)(`div`,{className:`ml-auto`,children:(0,G.jsx)(n,{type:`button`,variant:`ghost`,onClick:r,disabled:!r||t,children:t?`Disconnecting…`:`Disconnect`})})]})}),(0,G.jsx)(f.Body,{children:i})]})}function it({threadMode:e,threadModePending:t=!1,onThreadModeChange:n}){return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(d,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:`Thread Behavior`}),(0,G.jsxs)(M,{value:e??`mention_then_thread`,onValueChange:e=>n?.(e),disabled:t||!n,"aria-label":`Slack thread behavior`,children:[(0,G.jsx)(j,{value:`mention_only`,label:`Mentions only`,helperText:`Bot only responds when @mentioned.`}),(0,G.jsx)(j,{value:`mention_then_thread`,label:`Follow threads after first mention`,helperText:`After an @mention in a thread, bot listens to all subsequent replies.`})]})]})}function at({onSave:e}){let[t,r]=(0,H.useState)(``),[i,a]=(0,H.useState)(!1),[o,s]=(0,H.useState)(null),c=t.trim().length>0&&!i;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(I,{label:`Bot Token`,type:`password`,value:t,onChange:e=>r(e.target.value),placeholder:`Paste your Telegram bot token`,disabled:i,fullWidth:!0}),o?(0,G.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:o}):null,(0,G.jsx)(`div`,{children:(0,G.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!c)){a(!0),s(null);try{await e(t.trim()),r(``)}catch(e){s(e instanceof Error?e.message:`Failed to save`)}finally{a(!1)}}},disabled:!c,children:i?`Saving…`:`Save`})})]})}function ot({onSave:e}){let[t,r]=(0,H.useState)(``),[i,a]=(0,H.useState)(``),[o,s]=(0,H.useState)(!1),[c,l]=(0,H.useState)(null),u=t.trim().length>0&&i.trim().length>0&&!o;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(I,{label:`Account SID`,type:`text`,value:t,onChange:e=>r(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:o,fullWidth:!0}),(0,G.jsx)(I,{label:`Auth Token`,type:`password`,value:i,onChange:e=>a(e.target.value),placeholder:`Twilio auth token`,disabled:o,fullWidth:!0}),c?(0,G.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:c}):null,(0,G.jsx)(`div`,{children:(0,G.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!u)){s(!0),l(null);try{await e(t.trim(),i.trim()),r(``),a(``)}catch(e){l(e instanceof Error?e.message:`Failed to save`)}finally{s(!1)}}},disabled:!u,children:o?`Saving…`:`Save`})})]})}function st({channel:e,assistantId:t,assistantName:r,assistantDisplayName:i,pending:a,initialManualEntry:o=!1,onSetup:s,onDisconnect:c,onSaveTelegramToken:l,onSaveSlackConfig:u,slackSaveStatus:d,slackSaveError:f,slackThreadMode:p,slackThreadModePending:m=!1,onSlackThreadModeChange:g,onSaveTwilioCredentials:_,policy:v,policySaving:b=!1,policyLoading:x=!1,policyError:S=!1,onPolicyChange:C}){let w=e.status===`ready`,[T,E]=(0,H.useState)(o);if(e.key===`slack`)return(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[w?(0,G.jsx)(rt,{slackHandle:e.address,disconnectPending:a,onDisconnect:c,children:(0,G.jsx)(it,{threadMode:p,threadModePending:m,onThreadModeChange:g})}):(0,G.jsx)(De,{children:(0,G.jsx)(de,{assistantName:r,onSave:u,saveStatus:d,saveError:f})}),w?(0,G.jsx)(nt,{assistantId:t,assistantDisplayName:i,slackHandle:e.address}):null]});let D=W[e.key];return(0,G.jsx)(`div`,{className:`flex flex-col gap-4`,children:w?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Ee,{address:e.address,pending:a,onDisconnect:c}),D.hasTrustFloorControl&&C?(0,G.jsx)(Te,{assistantDisplayName:i,policy:v,saving:b,loading:x,error:S,onChange:C}):null]}):T?e.key===`telegram`?(0,G.jsx)(at,{onSave:l}):(0,G.jsx)(ot,{onSave:_}):(0,G.jsx)(we,{icon:(0,G.jsx)(y,{channelId:e.key,className:`h-6 w-6`}),title:`${h(e.key)} isn't connected`,description:D.disconnectedPitch?.(i),action:(0,G.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,G.jsx)(n,{type:`button`,variant:`outlined`,onClick:s,disabled:!s||a,children:a?`Opening…`:`Set up`}),(0,G.jsx)(n,{type:`button`,variant:`link`,onClick:()=>E(!0),children:`or connect manually`})]})})})}var $={no_one:{title:`Block all messages?`,message:`Setting this channel to “No one” hard-denies every inbound message, including messages from you.
2
2
 
3
3
  You can reverse this at any time.`,confirmLabel:`Block all`,destructive:!0},any_contact:{title:`Allow any contact?`,message:`“Any contact” admits every matched contact in this channel (including pending, unverified ones), not just your verified contacts.
4
4
 
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/build.umd-oXvZOmIf.js","assets/chunk-jRWAZmH_.js","assets/esm-B9nl-HWM.js","assets/preload-helper-Cv2QeVDK.js","assets/dist-D3eaKkac2.js"])))=>i.map(i=>d[i]);
2
- import{o as e,t}from"./chunk-jRWAZmH_.js";import{i as n,r,s as i}from"./device-settings-CUIsZfaf.js";import{$ as a,A as o,At as s,B as c,C as l,Ct as u,D as d,Dt as f,E as p,Et as m,F as h,Ft as g,G as _,H as v,I as y,It as b,J as x,K as ee,L as te,M as ne,Mt as re,N as ie,Nt as ae,O as oe,Ot as se,P as ce,Pt as le,Q as ue,R as S,S as C,St as de,T as fe,Tt as pe,U as me,V as w,X as T,Y as he,Z as ge,_ as _e,_t as ve,a as ye,at as be,b as xe,bt as Se,d as Ce,dt as we,et as Te,f as Ee,ft as De,g as Oe,gt as ke,h as Ae,ht as je,i as Me,it as Ne,j as Pe,jt as Fe,k as Ie,kt as Le,l as Re,lt as ze,mt as Be,nt as Ve,ot as He,p as Ue,pt as We,q as Ge,rt as Ke,s as qe,st as Je,t as Ye,tt as Xe,u as Ze,ut as Qe,v as $e,vt as et,w as tt,wt as nt,x as rt,xt as it,y as at,yt as ot,z as st}from"./capture-error-FWzaVb8P.js";import{c as ct,d as lt,l as ut,o as dt,r as ft,s as E,u as pt}from"./document-viewer-container-Doc7G7NK.js";import{s as mt}from"./doctor-handoff-store-Bj3BiMTb.js";import{t as ht}from"./react-BFJW0bSv.js";import{F as gt,r as _t}from"./button-Dy5001j6.js";import{t as vt}from"./preload-helper-Cv2QeVDK.js";import{i as yt}from"./chunk-5KNZJZUH-Bsoom5--.js";import{A as bt,C as xt,D as St,N as Ct,S as wt,_ as Tt,b as Et,c as Dt,g as Ot,h as kt,s as D,t as At,u as jt,x as Mt}from"./QueryClientProvider-CMu7CkQU.js";import{f as Nt}from"./useQuery-Bz-fbQ-m.js";import{n as Pt}from"./useInfiniteQuery-Dk8q0n49.js";import{n as Ft}from"./useMutation-CXGTrp4W.js";import{t as It}from"./jsx-runtime-D3ZM-ToX.js";import{a as Lt,c as Rt,i as zt,o as Bt,r as Vt,s as Ht,t as Ut}from"./routes-BKk5Xcnq.js";import{t as Wt}from"./src-BAS7a2RG.js";import{t as Gt}from"./toast-DR7D7Uma.js";import{f as Kt,g as qt,h as Jt,m as Yt,nt as Xt,ot as Zt,rt as Qt,ut as $t}from"./local-mode-Bds87_d7.js";import{t as en}from"./is-electron-7N7iyz1y.js";import{n as tn}from"./resolved-assistants-store-BhBxUDAA.js";import{i as nn,t as rn}from"./api-errors-SZKDzMLE.js";import{$ as an,S as on,Y as sn,a as cn,at as ln,ct as un,et as dn,g as fn,gt as pn,ht as mn,n as hn,nt as gn,ot as _n,t as vn,tt as yn,y as bn}from"./auth-store-QpgWmI2t.js";import{t as xn}from"./client.gen-DHOmbzD9.js";import{Kr as Sn}from"./sdk.gen-BySz4QYj.js";import{c as Cn}from"./api-BtgSRGvM.js";import{t as wn}from"./client-feature-flag-store-DhF7SK2q.js";import{D as Tn,F as En,O as Dn,d as On,k as kn,l as An}from"./native-biometric-K90ZnTI1.js";import{i as jn,t as Mn}from"./dist-D3eaKkac2.js";import{d as Nn}from"./routes-Dwx_Ibh9.js";import{t as Pn}from"./onboarding-store-BCCjIAh8.js";import{r as Fn}from"./prefs-B4cH-vXO.js";import{n as In,o as Ln,s as Rn}from"./platform-detection-DyR9CV0q.js";import{n as zn}from"./client-identity-YB_QQAJs.js";import{t as Bn}from"./hard-navigate-V2EFapkk.js";import{C as Vn}from"./sdk.gen-DEFA-6EJ.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function Hn(e,t,n){if(!(typeof window>`u`))try{localStorage.getItem(e)===t&&localStorage.setItem(e,n)}catch{}}function Un(e){if(!(typeof window>`u`))try{localStorage.removeItem(e)}catch{}}function O(e,t){if(!(typeof window>`u`))try{let n=localStorage.getItem(e);if(n===null)return;localStorage.getItem(t)===null&&localStorage.setItem(t,n),localStorage.getItem(t)!==null&&localStorage.removeItem(e)}catch{}}function Wn(e,t){if(!(typeof window>`u`))try{let n=[];for(let r=0;r<localStorage.length;r++){let i=localStorage.key(r);if(i&&i.startsWith(e)){let r=i.slice(e.length);n.push([i,t+r])}}for(let[e,t]of n)O(e,t)}catch{}}function Gn(e){let t=[];for(let n=0;n<localStorage.length;n++){let r=localStorage.key(n);r&&r.startsWith(e)&&t.push(r)}for(let e of t)localStorage.removeItem(e)}function Kn(){if(typeof window>`u`)return;let e=`vellum:selectedAssistantId`,t=`vellum:local:selectedAssistantId`,n=`vellum:currentAssistantId:`;try{if(localStorage.getItem(e)===null){let r=localStorage.getItem(t);if(r===null&&(r=qn(n)),r===null){let e=null;for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r&&r.startsWith(n)&&(e===null||r<e)&&(e=r)}e!==null&&(r=localStorage.getItem(e))}r&&localStorage.setItem(e,r)}localStorage.removeItem(t),Gn(n)}catch{}}function qn(e){let t=null;try{t=sessionStorage.getItem(`vellum_active_organization_id`)}catch{return null}return t?localStorage.getItem(`${e}${t}`):null}function Jn(){if(!(typeof window>`u`)){if(O(`assistantSidebarCollapsed`,`vellum:sidebar:collapsed`),O(`assistantSidebarWidth`,`vellum:sidebar:width`),O(`voice:permissionPrimerSeen`,`vellum:voice:permissionPrimerSeen`),O(`voice:ttsProvider`,`vellum:voice:ttsProvider`),O(`voice:sttProvider`,`vellum:voice:sttProvider`),O(`voice:activationKey`,`vellum:voice:activationKey`),O(`integrations.bannerDismissed`,`vellum:integrations:bannerDismissed`),O(`onboarding.tosAccepted`,`vellum:onboarding:tosAccepted`),O(`onboarding.aiDataConsent`,`vellum:onboarding:aiDataConsent`),Un(`onboarding.completed`),Un(`vellum:onboarding:completed`),O(`onboarding.selectedVersion`,`vellum:onboarding:selectedVersion`),O(`vellum:skillsTabTipDismissed`,`vellum:skills:tipDismissed`),O(`vellum_image_gen_mode`,`vellum:ai:imageGenMode`),O(`vellum_image_gen_model`,`vellum:ai:imageGenModel`),localStorage.getItem(`vellum:ai:imageGenProvider`)===null){let e=localStorage.getItem(`vellum:ai:imageGenMode`);e===`managed`?localStorage.setItem(`vellum:ai:imageGenProvider`,`vellum`):e===`your-own`&&localStorage.setItem(`vellum:ai:imageGenProvider`,`gemini`)}O(`vellum_web_search_mode`,`vellum:ai:webSearchMode`),O(`vellum_web_search_provider`,`vellum:ai:webSearchProvider`),O(`vellum_email_mode`,`vellum:ai:emailMode`),O(`vellum_email_byo_provider`,`vellum:ai:emailByoProvider`),O(`vellum_gemini_key`,`vellum:ai:geminiKey`),O(`vellum_perplexity_key`,`vellum:ai:perplexityKey`),O(`vellum_brave_key`,`vellum:ai:braveKey`),O(`vellum_tavily_key`,`vellum:ai:tavilyKey`),O(`vellumDebug.flags.impersonateAssistantVersion`,`vellum:debug:impersonateAssistantVersion`),O(`gw:token`,`vellum:gw:token`),O(`gw:expiresAt`,`vellum:gw:expiresAt`),O(`gw:tokenSource`,`vellum:gw:tokenSource`),O(`local:lockfile`,`vellum:local:lockfile`),O(`local:selectedAssistantId`,`vellum:local:selectedAssistantId`),Wn(`voice:ttsApiKey:`,`vellum:voice:ttsApiKey:`),Wn(`voice:ttsVoiceId:`,`vellum:voice:ttsVoiceId:`),Wn(`voice:sttApiKey:`,`vellum:voice:sttApiKey:`),Wn(`ff:client:`,`vellum:ff:`),Wn(`disk-pressure-warning-dismissed-`,`vellum:diskPressureDismissed:`),Wn(`vellum_current_assistant_id__`,`vellum:currentAssistantId:`),Kn(),Hn(`vellum:skills:tipDismissed`,`1`,`true`),Un(`app.githubNudge.starred`),Un(`app.githubNudge.bannerDismissed`),Un(`app.githubNudge.bannerDismissedAt`),Un(`app.discordNudge.joined`),Un(`app.discordNudge.bannerDismissed`),Un(`app.discordNudge.firstSeenAt`),Un(`app.nudgeLegacy.cleaned`)}}n(),Jn();var Yn={},Xn={};function Zn(e,t){return Yn[e]=Yn[e]||[],Yn[e].push(t),()=>{let n=Yn[e];if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}function Qn(e,t){if(!Xn[e]){Xn[e]=!0;try{t()}catch(t){b&&s.error(`Error while instrumenting ${e}`,t)}}}function $n(e,t){let n=e&&Yn[e];if(n)for(let r of n)try{r(t)}catch(t){b&&s.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${m(r)}\nError:`,t)}}var er=null;function tr(e){let t=`error`;Zn(t,e),Qn(t,nr)}function nr(){er=g.onerror,g.onerror=function(e,t,n,r,i){return $n(`error`,{column:r,error:i,line:n,msg:e,url:t}),er?er.apply(this,arguments):!1},g.onerror.__SENTRY_INSTRUMENTED__=!0}var rr=null;function ir(e){let t=`unhandledrejection`;Zn(t,e),Qn(t,ar)}function ar(){rr=g.onunhandledrejection,g.onunhandledrejection=function(e){return $n(`unhandledrejection`,e),rr?rr.apply(this,arguments):!0},g.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}function or(e){if(!e)return{};let t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};let n=t[6]||``,r=t[8]||``;return{host:t[4],path:t[5],protocol:t[2],search:n,hash:r,relative:t[5]+n+r}}function sr(e,t=!0){if(e.startsWith(`data:`)){let n=e.match(/^data:([^;,]+)/),r=n?n[1]:`text/plain`,i=e.includes(`;base64,`),a=e.indexOf(`,`),o=``;if(t&&a!==-1){let t=e.slice(a+1);o=t.length>10?`${t.slice(0,10)}... [truncated]`:t}return`data:${r}${i?`,base64`:``}${o?`,${o}`:``}`}return e}function cr(e,t){let n=e.attributes??={};Object.entries(t).forEach(([e,t])=>{t!=null&&!(e in n)&&(n[e]=t)})}var lr=[];function ur(e){let t={};return e.forEach(e=>{let{name:n}=e,r=t[n];r&&!r.isDefaultInstance&&e.isDefaultInstance||(t[n]=e)}),Object.values(t)}function dr(e){let t=e.defaultIntegrations||[],n=e.integrations;t.forEach(e=>{e.isDefaultInstance=!0});let r;if(Array.isArray(n))r=[...t,...n];else if(typeof n==`function`){let e=n(t);r=Array.isArray(e)?e:[e]}else r=t;return ur(r)}function fr(e,t){let n={};return t.forEach(t=>{t?.beforeSetup&&t.beforeSetup(e)}),t.forEach(t=>{t&&mr(e,t,n)}),n}function pr(e,t){for(let n of t)n?.afterAllSetup&&n.afterAllSetup(e)}function mr(e,t,n){if(n[t.name]){b&&s.log(`Integration skipped because it was already installed: ${t.name}`);return}if(n[t.name]=t,!lr.includes(t.name)&&typeof t.setupOnce==`function`&&(t.setupOnce(),lr.push(t.name)),t.setup&&typeof t.setup==`function`&&t.setup(e),typeof t.preprocessEvent==`function`){let n=t.preprocessEvent.bind(t);e.on(`preprocessEvent`,(t,r)=>n(t,r,e))}if(typeof t.processEvent==`function`){let n=t.processEvent.bind(t),r=Object.assign((t,r)=>n(t,r,e),{id:t.name});e.addEventProcessor(r)}[`processSpan`,`processSegmentSpan`].forEach(n=>{let r=t[n];typeof r==`function`&&e.on(n,n=>r.call(t,n,e))}),b&&s.log(`Integration installed: ${t.name}`)}function hr(e){return e}function gr(){return typeof __SENTRY_BROWSER_BUNDLE__<`u`&&!!__SENTRY_BROWSER_BUNDLE__}function _r(){return`npm`}function vr(){return!gr()&&Object.prototype.toString.call(typeof process<`u`?process:0)===`[object process]`}function yr(){return typeof window<`u`&&(!vr()||br())}function br(){return g.process?.type===`renderer`}function xr(e,t){let n=t?`auto`:`never`;return[{type:`log`,item_count:e.length,content_type:`application/vnd.sentry.items.log+json`},{version:2,...yr()&&{ingest_settings:{infer_ip:n,infer_user_agent:n}},items:e}]}function Sr(e,t,n,r,i){let a={};return t?.sdk&&(a.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(a.dsn=ce(r)),at(a,[xr(e,i)])}function Cr(e,t){let n=t??wr(e)??[];if(n.length===0)return;let r=e.getOptions(),i=Sr(n,r._metadata,r.tunnel,e.getDsn(),r.sendDefaultPii);Tr().set(e,[]),e.emit(`flushLogs`),e.sendEnvelope(i)}function wr(e){return Tr().get(e)}function Tr(){return re(`clientToLogBufferMap`,()=>new WeakMap)}function Er(e,t){let n=t?`auto`:`never`;return[{type:`trace_metric`,item_count:e.length,content_type:`application/vnd.sentry.items.trace-metric+json`},{version:2,...yr()&&{ingest_settings:{infer_ip:n,infer_user_agent:n}},items:e}]}function Dr(e,t,n,r,i){let a={};return t?.sdk&&(a.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(a.dsn=ce(r)),at(a,[Er(e,i)])}function Or(e,t){let n=t??kr(e)??[];if(n.length===0)return;let r=e.getOptions(),i=Dr(n,r._metadata,r.tunnel,e.getDsn(),r.sendDefaultPii);Ar().set(e,[]),e.emit(`flushMetrics`),e.sendEnvelope(i)}function kr(e){return Ar().get(e)}function Ar(){return re(`clientToMetricBufferMap`,()=>new WeakMap)}function jr(e){return typeof e==`object`&&typeof e.unref==`function`&&e.unref(),e}var Mr=Symbol.for(`SentryBufferFullError`);function Nr(e=100){let t=new Set;function n(){return t.size<e}function r(e){t.delete(e)}function i(e){if(!n())return Ee(Mr);let i=e();return t.add(i),i.then(()=>r(i),()=>r(i)),i}function a(e){if(!t.size)return Ue(!0);let n=Promise.allSettled(Array.from(t)).then(()=>!0);if(!e)return n;let r=[n,new Promise(t=>jr(setTimeout(()=>t(!1),e)))];return Promise.race(r)}return{get $(){return Array.from(t)},add:i,drain:a}}var Pr=60*1e3;function Fr(e,t=Ve()){let n=parseInt(`${e}`,10);if(!isNaN(n))return n*1e3;let r=Date.parse(`${e}`);return isNaN(r)?Pr:r-t}function Ir(e,t){return e[t]||e.all||0}function Lr(e,t,n=Ve()){return Ir(e,t)>n}function Rr(e,{statusCode:t,headers:n},r=Ve()){let i={...e},a=n?.[`x-sentry-rate-limits`],o=n?.[`retry-after`];if(a)for(let e of a.trim().split(`,`)){let[t,n,,,a]=e.split(`:`,5),o=parseInt(t,10),s=(isNaN(o)?60:o)*1e3;if(!n)i.all=r+s;else for(let e of n.split(`;`))e===`metric_bucket`?(!a||a.split(`;`).includes(`custom`))&&(i[e]=r+s):i[e]=r+s}else o?i.all=r+Fr(o,r):t===429&&(i.all=r+60*1e3);return i}function zr(e,t,n=Nr(e.bufferSize||64)){let r={},i=e=>n.drain(e);function a(i){let a=[];if(C(i,(t,n)=>{let i=rt(n);Lr(r,i)?e.recordDroppedEvent(`ratelimit_backoff`,i):a.push(t)}),a.length===0)return Promise.resolve({});let o=at(i[0],a),c=t=>{if(xe(o,[`client_report`])){b&&s.warn(`Dropping client report. Will not send outcomes (reason: ${t}).`);return}C(o,(n,r)=>{e.recordDroppedEvent(t,rt(r))})};return n.add(()=>t({body:l(o)}).then(e=>e.statusCode===413?(b&&s.error(`Sentry responded with status code 413. Envelope was discarded due to exceeding size limits.`),c(`send_error`),e):(b&&e.statusCode!==void 0&&(e.statusCode<200||e.statusCode>=300)&&s.warn(`Sentry responded with status code ${e.statusCode} to sent event.`),r=Rr(r,e),e),e=>{throw c(`network_error`),b&&s.error(`Encountered error running transport request:`,e),e})).then(e=>e,e=>{if(e===Mr)return b&&s.error(`Skipped sending event because buffer is full.`),c(`queue_overflow`),Promise.resolve({});throw e})}return{send:a,flush:i}}function Br(e,t,n){let r=[{type:`client_report`},{timestamp:n||Ge(),discarded_events:e}];return at(t?{dsn:t}:{},[r])}function Vr(e){let t=[];e.message&&t.push(e.message);try{let n=e.exception.values[e.exception.values.length-1];n?.value&&(t.push(n.value),n.type&&t.push(`${n.type}: ${n.value}`))}catch{}return t}function Hr(e){let{trace_id:t,parent_span_id:n,span_id:r,status:i,origin:a,data:o,op:s}=e.contexts?.trace??{};return{data:o??{},description:e.transaction,op:s,parent_span_id:n,span_id:r??``,start_timestamp:e.start_timestamp??0,status:i,timestamp:e.timestamp,trace_id:t??``,origin:a,profile_id:o?.[S],exclusive_time:o?.[te],measurements:e.measurements,is_segment:!0}}function Ur(e){return{type:`transaction`,timestamp:e.timestamp,start_timestamp:e.start_timestamp,transaction:e.description,contexts:{trace:{trace_id:e.trace_id,span_id:e.span_id,parent_span_id:e.parent_span_id,op:e.op,status:e.status,origin:e.origin,data:{...e.data,...e.profile_id&&{"sentry.profile_id":e.profile_id},...e.exclusive_time&&{"sentry.exclusive_time":e.exclusive_time}}}},measurements:e.measurements}}var Wr=`Not capturing exception because it's already been captured.`,Gr=`Discarded session because of missing or non-string release`,Kr=Symbol.for(`SentryInternalError`),qr=Symbol.for(`SentryDoNotSendEventError`),Jr=5e3;function Yr(e){return{message:e,[Kr]:!0}}function Xr(e){return{message:e,[qr]:!0}}function Zr(e){return!!e&&typeof e==`object`&&Kr in e}function Qr(e){return!!e&&typeof e==`object`&&qr in e}function $r(e,t,n,r,i){let a=0,o,s=!1;e.on(n,()=>{a=0,clearTimeout(o),s=!1}),e.on(t,t=>{a+=r(t),a>=8e5?i(e):s||(s=!0,o=jr(setTimeout(()=>{i(e)},Jr)))}),e.on(`flush`,()=>{i(e)})}var ei=class{constructor(e){if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=Nr(e.transportOptions?.bufferSize??64),e.dsn?this._dsn=h(e.dsn):b&&s.warn(`No DSN provided, client will not send events.`),this._dsn){let t=lt(this._dsn,e.tunnel,e._metadata?e._metadata.sdk:void 0);this._transport=e.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...e.transportOptions,url:t})}this._options.enableLogs=this._options.enableLogs??this._options._experiments?.enableLogs,this._options.enableLogs&&$r(this,`afterCaptureLog`,`flushLogs`,si,Cr),(this._options.enableMetrics??this._options._experiments?.enableMetrics??!0)&&$r(this,`afterCaptureMetric`,`flushMetrics`,oi,Or)}captureException(e,t,n){let r=a();if(ge(e))return b&&s.log(Wr),r;let i={event_id:r,...t};return this._process(()=>this.eventFromException(e,i).then(e=>this._captureEvent(e,i,n)).then(e=>e),`error`),i.event_id}captureMessage(e,t,n,r){let i={event_id:a(),...n},o=et(e)?e:String(e),s=Se(e),c=s?this.eventFromMessage(o,t,i):this.eventFromException(e,i);return this._process(()=>c.then(e=>this._captureEvent(e,i,r)),s?`unknown`:`error`),i.event_id}captureEvent(e,t,n){let r=a();if(t?.originalException&&ge(t.originalException))return b&&s.log(Wr),r;let i={event_id:r,...t},o=e.sdkProcessingMetadata||{},c=o.capturedSpanScope,l=o.capturedSpanIsolationScope,u=ti(e.type);return this._process(()=>this._captureEvent(e,i,c||n,l),u),i.event_id}captureSession(e){this.sendSession(e),ee(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}async flush(e){let t=this._transport;if(this.emit(`flush`),!t)return!0;let n=await this._isClientDoneProcessing(e),r=await t.flush(e);return n&&r}async close(e){Cr(this);let t=await this.flush(e);return this.getOptions().enabled=!1,this.emit(`close`),t}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}init(){(this._isEnabled()||this._options.integrations.some(({name:e})=>e.startsWith(`Spotlight`)))&&this._setupIntegrations()}getIntegrationByName(e){return this._integrations[e]}addIntegration(e){let t=this._integrations[e.name];!t&&e.beforeSetup&&e.beforeSetup(this),mr(this,e,this._integrations),t||pr(this,[e])}sendEvent(e,t={}){this.emit(`beforeSendEvent`,e,t);let n=Ae(e,this._dsn,this._options._metadata,this._options.tunnel);for(let e of t.attachments||[])n=_e(n,$e(e));this.sendEnvelope(n).then(t=>this.emit(`afterSendEvent`,e,t))}sendSession(e){let{release:t,environment:n=oe}=this._options;if(`aggregates`in e){let r=e.attrs||{};if(!r.release&&!t){b&&s.warn(Gr);return}r.release=r.release||t,r.environment=r.environment||n,e.attrs=r}else{if(!e.release&&!t){b&&s.warn(Gr);return}e.release=e.release||t,e.environment=e.environment||n}this.emit(`beforeSendSession`,e);let r=Oe(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(r)}recordDroppedEvent(e,t,n=1){if(this._options.sendClientReports){let r=`${e}:${t}`;b&&s.log(`Recording outcome: "${r}"${n>1?` (${n} times)`:``}`),this._outcomes[r]=(this._outcomes[r]||0)+n}}on(e,t){let n=this._hooks[e]=this._hooks[e]||new Set,r=(...e)=>t(...e);return n.add(r),()=>{n.delete(r)}}emit(e,...t){let n=this._hooks[e];n&&n.forEach(e=>e(...t))}async sendEnvelope(e){if(this.emit(`beforeEnvelope`,e),this._isEnabled()&&this._transport)try{return await this._transport.send(e)}catch(e){return b&&s.error(`Error while sending envelope:`,e),{}}return b&&s.error(`Transport disabled`),{}}registerCleanup(e){}dispose(){}_setupIntegrations(){let{integrations:e}=this._options;this._integrations=fr(this,e),pr(this,e)}_updateSessionFromEvent(e,t){let n=t.level===`fatal`,r=!1,i=t.exception?.values;if(i){r=!0,n=!1;for(let e of i)if(e.mechanism?.handled===!1){n=!0;break}}let a=e.status===`ok`;(a&&e.errors===0||a&&n)&&(ee(e,{...n&&{status:`crashed`},errors:e.errors||Number(r||n)}),this.captureSession(e))}async _isClientDoneProcessing(e){let t=0;for(;!e||t<e;){if(await new Promise(e=>setTimeout(e,1)),!this._numProcessing)return!0;t++}return!1}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,t,n,r){let i=this.getOptions(),a=Object.keys(this._integrations);return!t.integrations&&a?.length&&(t.integrations=a),this.emit(`preprocessEvent`,e,t),e.type||r.setLastEventId(e.event_id||t.event_id),Ce(i,e,t,n,this,r).then(e=>e===null?e:(this.emit(`postprocessEvent`,e,t),e.contexts={trace:{...e.contexts?.trace,...me(n)},...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:d(this,n),...e.sdkProcessingMetadata},e))}_captureEvent(e,t={},n=c(),r=v()){return b&&ii(e)&&s.log(`Captured error event \`${Vr(e)[0]||`<unknown>`}\``),this._processEvent(e,t,n,r).then(e=>e.event_id,e=>{b&&(Qr(e)?s.log(e.message):Zr(e)?s.warn(e.message):s.warn(e))})}_processEvent(e,t,n,r){let i=this.getOptions(),{sampleRate:a}=i,o=ai(e),s=ii(e),c=`before send for type \`${e.type||`error`}\``,l=a===void 0?void 0:ie(a);if(s&&typeof l==`number`&&Ke()>l)return this.recordDroppedEvent(`sample_rate`,`error`),Ee(Xr(`Discarding event because it's not included in the random sample (sampling rate = ${a})`));let u=ti(e.type);return this._prepareEvent(e,t,n,r).then(e=>{if(e===null)throw this.recordDroppedEvent(`event_processor`,u),Xr("An event processor returned `null`, will not send event.");return t.data?.__sentry__===!0?e:ni(ri(this,i,e,t),c)}).then(i=>{if(i===null){if(this.recordDroppedEvent(`before_send`,u),o){let t=1+(e.spans||[]).length;this.recordDroppedEvent(`before_send`,`span`,t)}throw Xr(`${c} returned \`null\`, will not send event.`)}let a=n.getSession()||r.getSession();if(s&&a&&this._updateSessionFromEvent(a,i),o){let e=(i.sdkProcessingMetadata?.spanCountBeforeProcessing||0)-(i.spans?i.spans.length:0);e>0&&this.recordDroppedEvent(`before_send`,`span`,e)}let l=i.transaction_info;return o&&l&&i.transaction!==e.transaction&&(i.transaction_info={...l,source:`custom`}),this.sendEvent(i,t),i}).then(null,e=>{throw Qr(e)||Zr(e)?e:(this.captureException(e,{mechanism:{handled:!1,type:`internal`},data:{__sentry__:!0},originalException:e}),Yr(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${e}`))})}_process(e,t){this._numProcessing++,this._promiseBuffer.add(e).then(e=>(this._numProcessing--,e),e=>(this._numProcessing--,e===Mr&&this.recordDroppedEvent(`queue_overflow`,t),e))}_clearOutcomes(){let e=this._outcomes;return this._outcomes={},Object.entries(e).map(([e,t])=>{let[n,r]=e.split(`:`);return{reason:n,category:r,quantity:t}})}_flushOutcomes(){b&&s.log(`Flushing outcomes...`);let e=this._clearOutcomes();if(e.length===0){b&&s.log(`No outcomes to send`);return}if(!this._dsn){b&&s.log(`No dsn provided, will not send outcomes`);return}b&&s.log(`Sending outcomes:`,e);let t=Br(e,this._options.tunnel&&ce(this._dsn));this.sendEnvelope(t)}};function ti(e){return e===`replay_event`?`replay`:e||`error`}function ni(e,t){let n=`${t} must return \`null\` or a valid event.`;if(u(e))return e.then(e=>{if(!ot(e)&&e!==null)throw Yr(n);return e},e=>{throw Yr(`${t} rejected with ${e}`)});if(!ot(e)&&e!==null)throw Yr(n);return e}function ri(e,t,n,r){let{beforeSend:i,beforeSendTransaction:a,ignoreSpans:s}=t,c=!p(t.beforeSendSpan)&&t.beforeSendSpan,l=n;if(ii(l)&&i)return i(l,r);if(ai(l)){if(c||s){let t=Hr(l);if(s?.length&&o({description:t.description,op:t.op,attributes:t.data},s))return null;if(c){let e=c(t);e?l=_(n,Ur(e)):Pe()}if(l.spans){let t=[],n=l.spans;for(let e of n){if(s?.length&&o({description:e.description,op:e.op,attributes:e.data},s)){Ie(n,e);continue}if(c){let n=c(e);n?t.push(n):(Pe(),t.push(e))}else t.push(e)}let r=l.spans.length-t.length;r&&e.recordDroppedEvent(`before_send`,`span`,r),l.spans=t}}if(a){if(l.spans){let e=l.spans.length;l.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:e}}return a(l,r)}}return l}function ii(e){return e.type===void 0}function ai(e){return e.type===`transaction`}function oi(e){let t=0;return e.name&&(t+=e.name.length*2),t+=8,t+ci(e.attributes)}function si(e){let t=0;return e.message&&(t+=e.message.length*2),t+ci(e.attributes)}function ci(e){if(!e)return 0;let t=0;return Object.values(e).forEach(e=>{Array.isArray(e)?t+=e.length*li(e[0]):Se(e)?t+=li(e):t+=100}),t}function li(e){return typeof e==`string`?e.length*2:typeof e==`number`?8:typeof e==`boolean`?4:0}function ui(e,t){return e(t.stack||``,1)}function di(e){return Be(e)&&`__sentry_fetch_url_host__`in e&&typeof e.__sentry_fetch_url_host__==`string`}function fi(e){return di(e)?`${e.message} (${e.__sentry_fetch_url_host__})`:e.message}function pi(e,t){let n={type:t.name||t.constructor.name,value:fi(t)},r=ui(e,t);return r.length&&(n.stacktrace={frames:r}),n}function mi(e,t){t.debug===!0&&(b?s.enable():Le(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),c().update(t.initialScope);let n=new e(t);return hi(n),n.init(),n}function hi(e){c().setClient(e)}function gi(e){`aggregates`in e?e.attrs?.ip_address===void 0&&(e.attrs={...e.attrs,ip_address:`{{auto}}`}):e.ipAddress===void 0&&(e.ipAddress=`{{auto}}`)}function _i(e,t,n=[t],r=`npm`){let i=(e._metadata=e._metadata||{}).sdk=e._metadata.sdk||{};i.name||(i.name=`sentry.javascript.${t}`,i.packages=n.map(e=>({name:`${r}:@sentry/${e}`,version:le})),i.version=le)}var vi,yi=`FunctionToString`,bi=new WeakMap,xi=hr((()=>({name:yi,setupOnce(){vi=Function.prototype.toString;try{Function.prototype.toString=function(...e){let t=Je(this),n=bi.has(st())&&t!==void 0?t:this;return vi.apply(n,e)}}catch{}},setup(e){bi.set(e,!0)}}))),Si=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,/^Can't find variable: gmo$/,/^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/,/can't redefine non-configurable property "solana"/,/vv\(\)\.getRestrictions is not a function/,/Can't find variable: _AutofillCallbackHandler/,/Object Not Found Matching Id:\d+, MethodName:simulateEvent/,/^Java exception was raised during method invocation$/],Ci=`EventFilters`,wi=hr((e={})=>{let t;return{name:Ci,setup(n){t=Ei(e,n.getOptions())},processEvent(n,r,i){return t||=Ei(e,i.getOptions()),Di(n,t)?null:n}}}),Ti=hr(((e={})=>({...wi(e),name:`InboundFilters`})));function Ei(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:Si],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]]}}function Di(e,t){if(!e.type){if(Oi(e,t.ignoreErrors))return b&&s.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${ue(e)}`),!0;if(Pi(e))return b&&s.warn(`Event dropped due to not having an error message, error type or stacktrace.\nEvent: ${ue(e)}`),!0;if(Ai(e,t.denyUrls))return b&&s.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${ue(e)}.\nUrl: ${Ni(e)}`),!0;if(!ji(e,t.allowUrls))return b&&s.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${ue(e)}.\nUrl: ${Ni(e)}`),!0}else if(e.type===`transaction`&&ki(e,t.ignoreTransactions))return b&&s.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.\nEvent: ${ue(e)}`),!0;return!1}function Oi(e,t){return t?.length?Vr(e).some(e=>Xe(e,t)):!1}function ki(e,t){if(!t?.length)return!1;let n=e.transaction;return n?Xe(n,t):!1}function Ai(e,t){if(!t?.length)return!1;let n=Ni(e);return n?Xe(n,t):!1}function ji(e,t){if(!t?.length)return!0;let n=Ni(e);return n?Xe(n,t):!0}function Mi(e=[]){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n&&n.filename!==`<anonymous>`&&n.filename!==`[native code]`)return n.filename||null}return null}function Ni(e){try{let t=[...e.exception?.values??[]].reverse().find(e=>e.mechanism?.parent_id===void 0&&e.stacktrace?.frames?.length)?.stacktrace?.frames;return t?Mi(t):null}catch{return b&&s.error(`Cannot extract url for event ${ue(e)}`),null}}function Pi(e){return e.exception?.values?.length?!e.message&&!e.exception.values.some(e=>e.stacktrace||e.type&&e.type!==`Error`||e.value):!1}function Fi(e,t,n,r,i,a){if(!i.exception?.values||!a||!ve(a.originalException,Error))return;let o=i.exception.values.length>0?i.exception.values[i.exception.values.length-1]:void 0;o&&(i.exception.values=Ii(e,t,r,a.originalException,n,i.exception.values,o,0))}function Ii(e,t,n,r,i,a,o,s){if(a.length>=n+1)return a;let c=[...a];if(ve(r[i],Error)){Ri(o,s,r);let a=e(t,r[i]),l=c.length;zi(a,i,l,s),c=Ii(e,t,n,r[i],i,[a,...c],a,l)}return Li(r)&&r.errors.forEach((a,l)=>{if(ve(a,Error)){Ri(o,s,r);let u=e(t,a),d=c.length;zi(u,`errors[${l}]`,d,s),c=Ii(e,t,n,a,i,[u,...c],u,d)}}),c}function Li(e){return Array.isArray(e.errors)}function Ri(e,t,n){e.mechanism={handled:!0,type:`auto.core.linked_errors`,...Li(n)&&{is_exception_group:!0},...e.mechanism,exception_id:t}}function zi(e,t,n,r){e.mechanism={handled:!0,...e.mechanism,type:`chained`,source:t,exception_id:n,parent_id:r}}var Bi=`cause`,Vi=5,Hi=`LinkedErrors`,k=hr(((e={})=>{let t=e.limit||Vi,n=e.key||Bi;return{name:Hi,preprocessEvent(e,r,i){Fi(pi,i.getOptions().stackParser,n,t,e,r)}}}));function A(e){let t=`console`,n=Zn(t,e);return Qn(t,Ui),n}function Ui(){`console`in g&&se.forEach(function(e){e in g.console&&He(g.console,e,function(t){return Fe[e]=t,function(...t){$n(`console`,{args:t,level:e}),Fe[e]?.apply(g.console,t)}})})}function Wi(e){return e===`warn`?`warning`:[`fatal`,`error`,`warning`,`log`,`info`,`debug`].includes(e)?e:`log`}var Gi=`Dedupe`,Ki=hr((()=>{let e;return{name:Gi,processEvent(t){if(t.type)return t;try{if(qi(t,e))return b&&s.warn(`Event dropped due to being a duplicate of previously captured event.`),null}catch{}return e=t}}}));function qi(e,t){return t?!!(Ji(e,t)||Yi(e,t)):!1}function Ji(e,t){let n=e.message,r=t.message;return!(!n&&!r||n&&!r||!n&&r||n!==r||!Zi(e,t)||!Xi(e,t))}function Yi(e,t){let n=Qi(t),r=Qi(e);return!(!n||!r||n.type!==r.type||n.value!==r.value||!Zi(e,t)||!Xi(e,t))}function Xi(e,t){let n=pe(e),r=pe(t);if(!n&&!r)return!0;if(n&&!r||!n&&r||(n=n,r=r,r.length!==n.length))return!1;for(let e=0;e<r.length;e++){let t=r[e],i=n[e];if(t.filename!==i.filename||t.lineno!==i.lineno||t.colno!==i.colno||t.function!==i.function)return!1}return!0}function Zi(e,t){let n=e.fingerprint,r=t.fingerprint;if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;n=n,r=r;try{return n.join(``)===r.join(``)}catch{return!1}}function Qi(e){return e.exception?.values?.[0]}function $i(e,t){let n=0;for(let t=e.length-1;t>=0;t--){let r=e[t];r===`.`?e.splice(t,1):r===`..`?(e.splice(t,1),n++):n&&(e.splice(t,1),n--)}if(t)for(;n--;)e.unshift(`..`);return e}var ea=/^(\S+:\\|\/?)([\s\S]*?)((?:\.{1,2}|[^/\\]+?|)(\.[^./\\]*|))(?:[/\\]*)$/;function ta(e){let t=e.length>1024?`<truncated>${e.slice(-1024)}`:e,n=ea.exec(t);return n?n.slice(1):[]}function na(...e){let t=``,n=!1;for(let r=e.length-1;r>=-1&&!n;r--){let i=r>=0?e[r]:`/`;i&&(t=`${i}/${t}`,n=i.charAt(0)===`/`)}return t=$i(t.split(`/`).filter(e=>!!e),!n).join(`/`),(n?`/`:``)+t||`.`}function ra(e){let t=0;for(;t<e.length&&e[t]===``;t++);let n=e.length-1;for(;n>=0&&e[n]===``;n--);return t>n?[]:e.slice(t,n-t+1)}function ia(e,t){e=na(e).slice(1),t=na(t).slice(1);let n=ra(e.split(`/`)),r=ra(t.split(`/`)),i=Math.min(n.length,r.length),a=i;for(let e=0;e<i;e++)if(n[e]!==r[e]){a=e;break}let o=[];for(let e=a;e<n.length;e++)o.push(`..`);return o=o.concat(r.slice(a)),o.join(`/`)}function aa(e,t){let n=ta(e)[2]||``;return t&&n.slice(t.length*-1)===t&&(n=n.slice(0,n.length-t.length)),n}var oa=`RewriteFrames`,sa=hr((e={})=>{let t=e.root,n=e.prefix||`app:///`,r=`window`in g&&!!g.window,i=e.iteratee||ca({isBrowser:r,root:t,prefix:n});function a(e){try{return{...e,exception:{...e.exception,values:e.exception.values.map(e=>({...e,...e.stacktrace&&{stacktrace:o(e.stacktrace)}}))}}}catch{return e}}function o(e){return{...e,frames:e?.frames?.map(e=>i(e))}}return{name:oa,processEvent(e){let t=e;return e.exception&&Array.isArray(e.exception.values)&&(t=a(t)),t}}});function ca({isBrowser:e,root:t,prefix:n}){return r=>{if(!r.filename)return r;let i=/^[a-zA-Z]:\\/.test(r.filename)||r.filename.includes(`\\`)&&!r.filename.includes(`/`),a=/^\//.test(r.filename);if(e){if(t){let e=r.filename;e.indexOf(t)===0&&(r.filename=e.replace(t,n))}}else if(i||a){let e=i?r.filename.replace(/^[a-zA-Z]:/,``).replace(/\\/g,`/`):r.filename;r.filename=`${n}${t?ia(t,e):aa(e)}`}return r}}var la=`ConversationId`,ua=hr((()=>({name:la,setup(e){e.on(`spanStart`,e=>{let t=c().getScopeData(),n=v().getScopeData(),r=t.conversationId||n.conversationId;if(r){let{op:t,data:n,description:i}=ne(e);if(!t?.startsWith(`gen_ai.`)&&!n[`ai.operationId`]&&!i?.startsWith(`ai.`))return;e.setAttribute(y,r)}})}})));function da(e){if(e!==void 0){if(e>=400&&e<500)return`warning`;if(e>=500)return`error`}}var fa=g;function pa(){return`history`in fa&&!!fa.history}function ma(){if(!(`fetch`in fa))return!1;try{return new Headers,new Request(`data:,`),new Response,!0}catch{return!1}}function j(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function ha(){if(typeof EdgeRuntime==`string`)return!0;if(!ma())return!1;if(j(fa.fetch))return!0;let e=!1,t=fa.document;if(t&&typeof t.createElement==`function`)try{let n=t.createElement(`iframe`);n.hidden=!0,t.head.appendChild(n),n.contentWindow?.fetch&&(e=j(n.contentWindow.fetch)),t.head.removeChild(n)}catch(e){b&&s.warn(`Could not create sandbox iframe for pure fetch check, bailing to window.fetch: `,e)}return e}function ga(e,t){let n=`fetch`,r=Zn(n,e);return Qn(n,()=>_a(void 0,t)),r}function _a(e,t=!1){t&&!ha()||He(g,`fetch`,function(t){return function(...n){let r=Error(),{method:i,url:a}=ba(n),o={args:n,fetchData:{method:i,url:a},startTimestamp:x()*1e3,virtualError:r,headers:xa(n)};return e||$n(`fetch`,{...o}),t.apply(g,n).then(async t=>(e?e(t):$n(`fetch`,{...o,endTimestamp:x()*1e3,response:t}),t),e=>{$n(`fetch`,{...o,endTimestamp:x()*1e3,error:e}),Be(e)&&e.stack===void 0&&(e.stack=r.stack,Ne(e,`framesToPop`,1));let t=st()?.getOptions().enhanceFetchErrorMessages??`always`;if(t!==!1&&e instanceof TypeError&&(e.message===`Failed to fetch`||e.message===`Load failed`||e.message===`NetworkError when attempting to fetch resource.`))try{let n=new URL(o.fetchData.url).host;t===`always`?e.message=`${e.message} (${n})`:Ne(e,`__sentry_fetch_url_host__`,n)}catch{}throw e})}})}function va(e,t){return!!e&&typeof e==`object`&&!!e[t]}function ya(e){return typeof e==`string`?e:e?va(e,`url`)?e.url:e.toString?e.toString():``:``}function ba(e){if(e.length===0)return{method:`GET`,url:``};if(e.length===2){let[t,n]=e;return{url:ya(t),method:va(n,`method`)?String(n.method).toUpperCase():it(t)&&va(t,`method`)?String(t.method).toUpperCase():`GET`}}let t=e[0];return{url:ya(t),method:va(t,`method`)?String(t.method).toUpperCase():`GET`}}function xa(e){let[t,n]=e;try{if(typeof n==`object`&&n&&`headers`in n&&n.headers)return new Headers(n.headers);if(it(t))return new Headers(t.headers)}catch{}}function Sa(e,t){let n=Ta(e,t),r={type:Aa(t),value:ja(t)};return n.length&&(r.stacktrace={frames:n}),r.type===void 0&&r.value===``&&(r.value=`Unrecoverable error caught`),r}function Ca(e,t,n,r){let i=st()?.getOptions().normalizeDepth,a=Ra(t),o={__serialized__:fe(t,i)};if(a)return{exception:{values:[Sa(e,a)]},extra:o};let s={exception:{values:[{type:ke(t)?t.constructor.name:r?`UnhandledRejection`:`Error`,value:Ia(t,{isUnhandledRejection:r})}]},extra:o};if(n){let t=Ta(e,n);t.length&&(s.exception.values[0].stacktrace={frames:t})}return s}function wa(e,t){return{exception:{values:[Sa(e,t)]}}}function Ta(e,t){let n=t.stacktrace||t.stack||``,r=Da(t),i=Oa(t);try{return e(n,r,i)}catch{}return[]}var Ea=/Minified React error #\d+;/i;function Da(e){return e&&Ea.test(e.message)?1:0}function Oa(e){return typeof e.framesToPop==`number`?e.framesToPop:0}function ka(e){return typeof WebAssembly<`u`&&WebAssembly.Exception!==void 0?e instanceof WebAssembly.Exception:!1}function Aa(e){let t=e?.name;return!t&&ka(e)?e.message&&Array.isArray(e.message)&&e.message.length==2?e.message[0]:`WebAssembly.Exception`:t}function ja(e){let t=e?.message;return ka(e)?Array.isArray(e.message)&&e.message.length==2?e.message[1]:`wasm exception`:t?t.error&&typeof t.error.message==`string`?fi(t.error):fi(e):`No error message`}function Ma(e,t,n,r){let i=Pa(e,t,n?.syntheticException||void 0,r);return he(i),i.level=`error`,n?.event_id&&(i.event_id=n.event_id),Ue(i)}function Na(e,t,n=`info`,r,i){let a=Fa(e,t,r?.syntheticException||void 0,i);return a.level=n,r?.event_id&&(a.event_id=r.event_id),Ue(a)}function Pa(e,t,n,r,i){let a;if(je(t)&&t.error)return wa(e,t.error);if(De(t)||We(t)){let i=t;if(`stack`in t)a=wa(e,t);else{let t=i.name||(De(i)?`DOMError`:`DOMException`),o=i.message?`${t}: ${i.message}`:t;a=Fa(e,o,n,r),T(a,o)}return`code`in i&&(a.tags={...a.tags,"DOMException.code":`${i.code}`}),a}return Be(t)?wa(e,t):ot(t)||ke(t)?(a=Ca(e,t,n,i),he(a,{synthetic:!0}),a):(a=Fa(e,t,n,r),T(a,`${t}`,void 0),he(a,{synthetic:!0}),a)}function Fa(e,t,n,r){let i={};if(r&&n){let r=Ta(e,n);r.length&&(i.exception={values:[{value:t,stacktrace:{frames:r}}]}),he(i,{synthetic:!0})}if(et(t)){let{__sentry_template_string__:e,__sentry_template_values__:n}=t;return i.logentry={message:e,params:n},i}return i.message=t,i}function Ia(e,{isUnhandledRejection:t}){let n=be(e),r=t?`promise rejection`:`exception`;return je(e)?`Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``:ke(e)?`Event \`${La(e)}\` (type=${e.type}) captured as ${r}`:`Object captured as ${r} with keys: ${n}`}function La(e){try{let t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}function Ra(e){return Object.values(e).find(e=>e instanceof Error)}var za=class extends ei{constructor(e){let t=Ba(e);_i(t,`browser`,[`browser`],E.SENTRY_SDK_SOURCE||_r()),t._metadata?.sdk&&(t._metadata.sdk.settings={infer_ip:t.sendDefaultPii?`auto`:`never`,...t._metadata.sdk.settings}),super(t);let{sendDefaultPii:n,sendClientReports:r,enableLogs:i,_experiments:a,enableMetrics:o}=this._options,s=o??a?.enableMetrics??!0;E.document&&(r||i||s)&&E.document.addEventListener(`visibilitychange`,()=>{E.document.visibilityState===`hidden`&&(r&&this._flushOutcomes(),i&&Cr(this),s&&Or(this))}),n&&this.on(`beforeSendSession`,gi)}eventFromException(e,t){return Ma(this._options.stackParser,e,t,this._options.attachStacktrace)}eventFromMessage(e,t=`info`,n){return Na(this._options.stackParser,e,t,n,this._options.attachStacktrace)}_prepareEvent(e,t,n,r){return e.platform=e.platform||`javascript`,super._prepareEvent(e,t,n,r)}};function Ba(e){return{release:typeof __SENTRY_RELEASE__==`string`?__SENTRY_RELEASE__:E.SENTRY_RELEASE?.id,sendClientReports:!0,parentSpanIsAlwaysRootSpan:!0,...e}}var Va=typeof __SENTRY_DEBUG__>`u`||__SENTRY_DEBUG__,M=g,Ha=1e3,Ua,Wa,Ga;function Ka(e){Zn(`dom`,e),Qn(`dom`,qa)}function qa(){if(!M.document)return;let e=$n.bind(null,`dom`),t=Xa(e,!0);M.document.addEventListener(`click`,t,!1),M.document.addEventListener(`keypress`,t,!1),[`EventTarget`,`Node`].forEach(t=>{let n=M[t]?.prototype;n?.hasOwnProperty?.(`addEventListener`)&&(He(n,`addEventListener`,function(t){return function(n,r,i){if(n===`click`||n==`keypress`)try{let r=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},a=r[n]=r[n]||{refCount:0};if(!a.handler){let r=Xa(e);a.handler=r,t.call(this,n,r,i)}a.refCount++}catch{}return t.call(this,n,r,i)}}),He(n,`removeEventListener`,function(e){return function(t,n,r){if(t===`click`||t==`keypress`)try{let n=this.__sentry_instrumentation_handlers__||{},i=n[t];i&&(i.refCount--,i.refCount<=0&&(e.call(this,t,i.handler,r),i.handler=void 0,delete n[t]),Object.keys(n).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return e.call(this,t,n,r)}}))})}function Ja(e){if(e.type!==Wa)return!1;try{if(!e.target||e.target._sentryId!==Ga)return!1}catch{}return!0}function Ya(e,t){return e===`keypress`?t?.tagName?!(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable):!0:!1}function Xa(e,t=!1){return n=>{if(!n||n._sentryCaptured)return;let r=Za(n);if(Ya(n.type,r))return;Ne(n,`_sentryCaptured`,!0),r&&!r._sentryId&&Ne(r,`_sentryId`,a());let i=n.type===`keypress`?`input`:n.type;Ja(n)||(e({event:n,name:i,global:t}),Wa=n.type,Ga=r?r._sentryId:void 0),clearTimeout(Ua),Ua=M.setTimeout(()=>{Ga=void 0,Wa=void 0},Ha)}}function Za(e){try{return e.target}catch{return null}}var Qa;function $a(e){let t=`history`;Zn(t,e),Qn(t,eo)}function eo(){if(M.addEventListener(`popstate`,()=>{let e=M.location.href,t=Qa;Qa=e,t!==e&&$n(`history`,{from:t,to:e})}),!pa())return;function e(e){return function(...t){let n=t.length>2?t[2]:void 0;if(n){let r=Qa,i=to(String(n));if(Qa=i,r===i)return e.apply(this,t);$n(`history`,{from:r,to:i})}return e.apply(this,t)}}He(M.history,`pushState`,e),He(M.history,`replaceState`,e)}function to(e){try{return new URL(e,M.location.origin).toString()}catch{return e}}var no={};function ro(e){let t=no[e];if(t)return t;let n=M[e];if(j(n))return no[e]=n.bind(M);let r=M.document;if(r&&typeof r.createElement==`function`)try{let t=r.createElement(`iframe`);t.hidden=!0,r.head.appendChild(t);let i=t.contentWindow;i?.[e]&&(n=i[e]),r.head.removeChild(t)}catch(t){Va&&s.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,t)}return n&&(no[e]=n.bind(M))}function io(e){no[e]=void 0}var ao=`__sentry_xhr_v3__`;function oo(e){Zn(`xhr`,e),Qn(`xhr`,so)}function so(){if(!M.XMLHttpRequest)return;let e=XMLHttpRequest.prototype;e.open=new Proxy(e.open,{apply(e,t,n){let r=Error(),i=x()*1e3,a=de(n[0])?n[0].toUpperCase():void 0,o=co(n[1]);if(!a||!o)return e.apply(t,n);t[ao]={method:a,url:o,request_headers:{}},a===`POST`&&o.match(/sentry_key/)&&(t.__sentry_own_request__=!0);let s=()=>{let e=t[ao];if(e&&t.readyState===4){try{e.status_code=t.status}catch{}$n(`xhr`,{endTimestamp:x()*1e3,startTimestamp:i,xhr:t,virtualError:r})}};return`onreadystatechange`in t&&typeof t.onreadystatechange==`function`?t.onreadystatechange=new Proxy(t.onreadystatechange,{apply(e,t,n){return s(),e.apply(t,n)}}):t.addEventListener(`readystatechange`,s),t.setRequestHeader=new Proxy(t.setRequestHeader,{apply(e,t,n){let[r,i]=n,a=t[ao];return a&&de(r)&&de(i)&&(a.request_headers[r.toLowerCase()]=i),e.apply(t,n)}}),e.apply(t,n)}}),e.send=new Proxy(e.send,{apply(e,t,n){let r=t[ao];return r?(n[0]!==void 0&&(r.body=n[0]),$n(`xhr`,{startTimestamp:x()*1e3,xhr:t}),e.apply(t,n)):e.apply(t,n)}})}function co(e){if(de(e))return e;try{return e.toString()}catch{}}var lo=40;function uo(e,t=ro(`fetch`)){let n=0,r=0;async function i(i){let a=i.body.length;n+=a,r++;let o={body:i.body,method:`POST`,referrerPolicy:`strict-origin`,headers:e.headers,keepalive:n<=6e4&&r<15,...e.fetchOptions};try{let n=await t(e.url,o);return{statusCode:n.status,headers:{"x-sentry-rate-limits":n.headers.get(`X-Sentry-Rate-Limits`),"retry-after":n.headers.get(`Retry-After`)}}}catch(e){throw io(`fetch`),e}finally{n-=a,r--}}return zr(e,i,Nr(e.bufferSize||lo))}var fo=30,po=50;function mo(e,t,n,r){let i={filename:e,function:t===`<anonymous>`?`?`:t,in_app:!0};return n!==void 0&&(i.lineno=n),r!==void 0&&(i.colno=r),i}var ho=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,go=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,N=/\((\S*)(?::(\d+))(?::(\d+))\)/,_o=/at (.+?) ?\(data:(.+?),/,vo=[fo,e=>{let t=e.match(_o);if(t)return{filename:`<data:${t[2]}>`,function:t[1]};let n=ho.exec(e);if(n){let[,e,t,r]=n;return mo(e,`?`,+t,+r)}let r=go.exec(e);if(r){if(r[2]?.indexOf(`eval`)===0){let e=N.exec(r[2]);e&&(r[2]=e[1],r[3]=e[2],r[4]=e[3])}let[e,t]=yo(r[1]||`?`,r[2]);return mo(t,e,r[3]?+r[3]:void 0,r[4]?+r[4]:void 0)}}],P=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,F=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,I=nt(vo,[po,e=>{let t=P.exec(e);if(t){if(t[3]&&t[3].indexOf(` > eval`)>-1){let e=F.exec(t[3]);e&&(t[1]=t[1]||`eval`,t[3]=e[1],t[4]=e[2],t[5]=``)}let e=t[3],n=t[1]||`?`;return[n,e]=yo(n,e),mo(e,n,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}}]),yo=(e,t)=>{let n=e.indexOf(`safari-extension`)!==-1,r=e.indexOf(`safari-web-extension`)!==-1;return n||r?[e.indexOf(`@`)===-1?`?`:e.split(`@`)[0],n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},bo=1024,xo=`Breadcrumbs`,So=hr(((e={})=>{let t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:xo,setup(e){t.console&&A(To(e)),t.dom&&Ka(wo(e,t.dom)),t.xhr&&oo(L(e)),t.fetch&&ga(Eo(e)),t.history&&$a(Do(e)),t.sentry&&e.on(`beforeSendEvent`,Co(e))}}}));function Co(e){return function(t){st()===e&&mt({category:`sentry.${t.type===`transaction`?`transaction`:`event`}`,event_id:t.event_id,level:t.level,message:ue(t)},{event:t})}}function wo(e,t){return function(n){if(st()!==e)return;let r,i,a=typeof t==`object`?t.serializeAttribute:void 0,o=typeof t==`object`&&typeof t.maxStringLength==`number`?t.maxStringLength:void 0;o&&o>bo&&(dt&&s.warn(`\`dom.maxStringLength\` cannot exceed ${bo}, but a value of ${o} was configured. Sentry will use ${bo} instead.`),o=bo),typeof a==`string`&&(a=[a]);try{let e=n.event,t=Oo(e)?e.target:e;r=we(t,{keyAttrs:a,maxStringLength:o}),i=ze(t)}catch{r=`<unknown>`}if(r.length===0)return;let c={category:`ui.${n.name}`,message:r};i&&(c.data={"ui.component_name":i}),mt(c,{event:n.event,name:n.name,global:n.global})}}function To(e){return function(t){if(st()!==e)return;let n={category:`console`,data:{arguments:t.args,logger:`console`},level:Wi(t.level),message:Te(t.args,` `)};if(t.level===`assert`)if(t.args[0]===!1)n.message=`Assertion failed: ${Te(t.args.slice(1),` `)||`console.assert`}`,n.data.arguments=t.args.slice(1);else return;mt(n,{input:t.args,level:t.level})}}function L(e){return function(t){if(st()!==e)return;let{startTimestamp:n,endTimestamp:r}=t,i=t.xhr[ao];if(!n||!r||!i)return;let{method:a,url:o,status_code:s,body:c}=i,l={method:a,url:o,status_code:s},u={xhr:t.xhr,input:c,startTimestamp:n,endTimestamp:r},d={category:`xhr`,data:l,type:`http`,level:da(s)};e.emit(`beforeOutgoingRequestBreadcrumb`,d,u),mt(d,u)}}function Eo(e){return function(t){if(st()!==e)return;let{startTimestamp:n,endTimestamp:r}=t;if(r&&!(t.fetchData.url.match(/sentry_key/)&&t.fetchData.method===`POST`))if(t.error){let i={data:t.error,input:t.args,startTimestamp:n,endTimestamp:r},a={category:`fetch`,data:t.fetchData,level:`error`,type:`http`};e.emit(`beforeOutgoingRequestBreadcrumb`,a,i),mt(a,i)}else{let i=t.response,a={...t.fetchData,status_code:i?.status},o={input:t.args,response:i,startTimestamp:n,endTimestamp:r},s={category:`fetch`,data:a,type:`http`,level:da(a.status_code)};e.emit(`beforeOutgoingRequestBreadcrumb`,s,o),mt(s,o)}}}function Do(e){return function(t){if(st()!==e)return;let n=t.from,r=t.to,i=or(E.location.href),a=n?or(n):void 0,o=or(r);a?.path||(a=i),i.protocol===o.protocol&&i.host===o.host&&(r=o.relative),i.protocol===a.protocol&&i.host===a.host&&(n=a.relative),mt({category:`navigation`,data:{from:n,to:r}})}}function Oo(e){return!!e&&!!e.target}var ko=`EventTarget,Window,Node,ApplicationCache,AudioTrackList,BroadcastChannel,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload`.split(`,`),Ao=`BrowserApiErrors`,jo=hr(((e={})=>{let t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...e};return{name:Ao,setupOnce(){t.setTimeout&&He(E,`setTimeout`,Mo),t.setInterval&&He(E,`setInterval`,Mo),t.requestAnimationFrame&&He(E,`requestAnimationFrame`,No),t.XMLHttpRequest&&`XMLHttpRequest`in E&&He(XMLHttpRequest.prototype,`send`,Po);let e=t.eventTarget;e&&(Array.isArray(e)?e:ko).forEach(e=>R(e,t))}}}));function Mo(e){return function(...t){let n=t[0];return t[0]=pt(n,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${m(e)}`}}),e.apply(this,t)}}function No(e){return function(t){return e.apply(this,[pt(t,{mechanism:{data:{handler:m(e)},handled:!1,type:`auto.browser.browserapierrors.requestAnimationFrame`}})])}}function Po(e){return function(...t){let n=this;return[`onload`,`onerror`,`onprogress`,`onreadystatechange`].forEach(e=>{e in n&&typeof n[e]==`function`&&He(n,e,function(t){let n={mechanism:{data:{handler:m(t)},handled:!1,type:`auto.browser.browserapierrors.xhr.${e}`}},r=Je(t);return r&&(n.mechanism.data.handler=m(r)),pt(t,n)})}),e.apply(this,t)}}function R(e,t){let n=E[e]?.prototype;n?.hasOwnProperty?.(`addEventListener`)&&(He(n,`addEventListener`,function(n){return function(r,i,a){try{Fo(i)&&(i.handleEvent=pt(i.handleEvent,{mechanism:{data:{handler:m(i),target:e},handled:!1,type:`auto.browser.browserapierrors.handleEvent`}}))}catch{}return t.unregisterOriginalCallbacks&&Io(this,r,i),n.apply(this,[r,pt(i,{mechanism:{data:{handler:m(i),target:e},handled:!1,type:`auto.browser.browserapierrors.addEventListener`}}),a])}}),He(n,`removeEventListener`,function(e){return function(t,n,r){try{let i=n.__sentry_wrapped__;i&&e.call(this,t,i,r)}catch{}return e.call(this,t,n,r)}}))}function Fo(e){return typeof e.handleEvent==`function`}function Io(e,t,n){e&&typeof e==`object`&&`removeEventListener`in e&&typeof e.removeEventListener==`function`&&e.removeEventListener(t,n)}var Lo=hr((e={})=>{let t=e.lifecycle??`route`;return{name:`BrowserSession`,setupOnce(){if(E.document===void 0){dt&&s.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}Ze({ignoreDuration:!0}),qe();let e=v(),n=e.getUser();e.addScopeListener(e=>{let t=e.getUser();(n?.id!==t?.id||n?.ip_address!==t?.ip_address)&&(qe(),n=t)}),t===`route`&&$a(({from:e,to:t})=>{e!==t&&(Ze({ignoreDuration:!0}),qe())})}}}),Ro=`CultureContext`,zo=hr((()=>({name:Ro,preprocessEvent(e){let t=Bo();t&&(e.contexts={...e.contexts,culture:{...t,...e.contexts?.culture}})},processSegmentSpan(e){let t=Bo();t&&cr(e,{"culture.locale":t.locale,"culture.timezone":t.timezone,"culture.calendar":t.calendar})}})));function Bo(){try{let e=E.Intl;if(!e)return;let t=e.DateTimeFormat().resolvedOptions();return{locale:t.locale,timezone:t.timeZone,calendar:t.calendar}}catch{return}}var Vo=`GlobalHandlers`,Ho=hr(((e={})=>{let t={onerror:!0,onunhandledrejection:!0,...e};return{name:Vo,setupOnce(){Error.stackTraceLimit=50},setup(e){t.onerror&&(Uo(e),Jo(`onerror`)),t.onunhandledrejection&&(Wo(e),Jo(`onunhandledrejection`))}}}));function Uo(e){tr(t=>{let{stackParser:n,attachStacktrace:r}=Yo();if(st()!==e||ut())return;let{msg:i,url:a,line:o,column:s,error:c}=t,l=qo(Pa(n,c||i,void 0,r,!1),a,o,s);l.level=`error`,Me(l,{originalException:c,mechanism:{handled:!1,type:`auto.browser.global_handlers.onerror`}})})}function Wo(e){ir(t=>{let{stackParser:n,attachStacktrace:r}=Yo();if(st()!==e||ut())return;let i=Go(t),a=Se(i)?Ko(i):Pa(n,i,void 0,r,!0);a.level=`error`,Me(a,{originalException:i,mechanism:{handled:!1,type:`auto.browser.global_handlers.onunhandledrejection`}})})}function Go(e){if(Se(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}function Ko(e){return{exception:{values:[{type:`UnhandledRejection`,value:`Non-Error promise rejection captured with value: ${String(e)}`}]}}}function qo(e,t,n,r){let i=e.exception=e.exception||{},a=i.values=i.values||[],o=a[0]=a[0]||{},s=o.stacktrace=o.stacktrace||{},c=s.frames=s.frames||[];return c.length===0&&c.push({colno:r,lineno:n,filename:Xo(t)??Qe(),function:`?`,in_app:!0}),e}function Jo(e){dt&&s.log(`Global Handler attached: ${e}`)}function Yo(){return st()?.getOptions()||{stackParser:()=>[],attachStacktrace:!1}}function Xo(e){if(!(!de(e)||e.length===0))return e.startsWith(`data:`)?`<${sr(e,!1)}>`:e}var Zo=hr(()=>({name:`HttpContext`,preprocessEvent(e){if(!E.navigator&&!E.location&&!E.document)return;let t=ct(),n={...t.headers,...e.request?.headers};e.request={...t,...e.request,headers:n}},processSegmentSpan(e){if(!E.navigator&&!E.location&&!E.document)return;let t=ct();cr(e,{"url.full":t.url||void 0,"http.request.header.user_agent":t.headers[`User-Agent`],"http.request.header.referer":t.headers.Referer})}})),Qo=`cause`,$o=5,es=`LinkedErrors`,ts=hr(((e={})=>{let t=e.limit||$o,n=e.key||Qo;return{name:es,preprocessEvent(e,r,i){Fi(Sa,i.getOptions().stackParser,n,t,e,r)}}}));function ns(){return rs()?(dt&&Le(()=>{console.error(`[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/`)}),!0):!1}function rs(){if(E.window===void 0)return!1;let e=E;if(e.nw||!(e.chrome||e.browser)?.runtime?.id)return!1;let t=Qe();return!(E===E.top&&/^(?:chrome-extension|moz-extension|ms-browser-extension|safari-web-extension):\/\//.test(t))}function is(e){return[Ti(),xi(),ua(),jo(),So(),Ho(),ts(),Ki(),Zo(),zo(),Lo()]}function as(e={}){let t=!e.skipBrowserExtensionCheck&&ns(),n=e.defaultIntegrations==null?is():e.defaultIntegrations;return mi(za,{...e,enabled:t?!1:e.enabled,stackParser:f(e.stackParser||I),integrations:dr({integrations:e.integrations,defaultIntegrations:n}),transport:e.transport||uo})}var os=e(ht());function ss(e){let t={...e};return _i(t,`react`),Re(`react`,{version:os.version}),as(t)}var cs=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,ee||(ee=!0,oe());else{var t=n(l);t!==null&&le(x,t.startTime-e)}}var ee=!1,te=-1,ne=5,re=-1;function ie(){return g?!0:!(e.unstable_now()-re<ne)}function ae(){if(g=!1,ee){var t=e.unstable_now();re=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(te),te=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ie());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&le(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?oe():ee=!1}}}var oe;if(typeof y==`function`)oe=function(){y(ae)};else if(typeof MessageChannel<`u`){var se=new MessageChannel,ce=se.port2;se.port1.onmessage=ae,oe=function(){ce.postMessage(null)}}else oe=function(){_(ae,0)};function le(t,n){te=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):ne=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(te),te=-1):h=!0,le(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ee||(ee=!0,oe()))),r},e.unstable_shouldYield=ie,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),ls=t(((e,t)=>{t.exports=cs()})),us=t((e=>{var t=ls(),n=ht(),r=gt();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var f=Object.assign,p=Symbol.for(`react.element`),m=Symbol.for(`react.transitional.element`),h=Symbol.for(`react.portal`),g=Symbol.for(`react.fragment`),_=Symbol.for(`react.strict_mode`),v=Symbol.for(`react.profiler`),y=Symbol.for(`react.consumer`),b=Symbol.for(`react.context`),x=Symbol.for(`react.forward_ref`),ee=Symbol.for(`react.suspense`),te=Symbol.for(`react.suspense_list`),ne=Symbol.for(`react.memo`),re=Symbol.for(`react.lazy`),ie=Symbol.for(`react.activity`),ae=Symbol.for(`react.memo_cache_sentinel`),oe=Symbol.iterator;function se(e){return typeof e!=`object`||!e?null:(e=oe&&e[oe]||e[`@@iterator`],typeof e==`function`?e:null)}var ce=Symbol.for(`react.client.reference`);function le(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ce?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case g:return`Fragment`;case v:return`Profiler`;case _:return`StrictMode`;case ee:return`Suspense`;case te:return`SuspenseList`;case ie:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case h:return`Portal`;case b:return e.displayName||`Context`;case y:return(e._context.displayName||`Context`)+`.Consumer`;case x:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ne:return t=e.displayName||null,t===null?le(e.type)||`Memo`:t;case re:t=e._payload,e=e._init;try{return le(e(t))}catch{}}return null}var ue=Array.isArray,S=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,C=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,de={pending:!1,data:null,method:null,action:null},fe=[],pe=-1;function me(e){return{current:e}}function w(e){0>pe||(e.current=fe[pe],fe[pe]=null,pe--)}function T(e,t){pe++,fe[pe]=e.current,e.current=t}var he=me(null),ge=me(null),_e=me(null),ve=me(null);function ye(e,t){switch(T(_e,t),T(ge,e),T(he,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}w(he),T(he,e)}function be(){w(he),w(ge),w(_e)}function xe(e){e.memoizedState!==null&&T(ve,e);var t=he.current,n=Hd(t,e.type);t!==n&&(T(ge,e),T(he,n))}function Se(e){ge.current===e&&(w(he),w(ge)),ve.current===e&&(w(ve),Qf._currentValue=de)}var Ce,we;function Te(e){if(Ce===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Ce=t&&t[1]||``,we=-1<e.stack.indexOf(`
2
+ import{o as e,t}from"./chunk-jRWAZmH_.js";import{i as n,r,s as i}from"./device-settings-CUIsZfaf.js";import{$ as a,A as o,At as s,B as c,C as l,Ct as u,D as d,Dt as f,E as p,Et as m,F as h,Ft as g,G as _,H as v,I as y,It as b,J as x,K as ee,L as te,M as ne,Mt as re,N as ie,Nt as ae,O as oe,Ot as se,P as ce,Pt as le,Q as ue,R as S,S as C,St as de,T as fe,Tt as pe,U as me,V as w,X as T,Y as he,Z as ge,_ as _e,_t as ve,a as ye,at as be,b as xe,bt as Se,d as Ce,dt as we,et as Te,f as Ee,ft as De,g as Oe,gt as ke,h as Ae,ht as je,i as Me,it as Ne,j as Pe,jt as Fe,k as Ie,kt as Le,l as Re,lt as ze,mt as Be,nt as Ve,ot as He,p as Ue,pt as We,q as Ge,rt as Ke,s as qe,st as Je,t as Ye,tt as Xe,u as Ze,ut as Qe,v as $e,vt as et,w as tt,wt as nt,x as rt,xt as it,y as at,yt as ot,z as st}from"./capture-error-FWzaVb8P.js";import{c as ct,d as lt,l as ut,o as dt,r as ft,s as E,u as pt}from"./document-viewer-container-Doc7G7NK.js";import{s as mt}from"./doctor-handoff-store-Bj3BiMTb.js";import{t as ht}from"./react-BFJW0bSv.js";import{F as gt,r as _t}from"./button-Dy5001j6.js";import{t as vt}from"./preload-helper-Cv2QeVDK.js";import{i as yt}from"./chunk-5KNZJZUH-Bsoom5--.js";import{A as bt,C as xt,D as St,N as Ct,S as wt,_ as Tt,b as Et,c as Dt,g as Ot,h as kt,s as D,t as At,u as jt,x as Mt}from"./QueryClientProvider-CMu7CkQU.js";import{f as Nt}from"./useQuery-Bz-fbQ-m.js";import{n as Pt}from"./useInfiniteQuery-Dk8q0n49.js";import{n as Ft}from"./useMutation-CXGTrp4W.js";import{t as It}from"./jsx-runtime-D3ZM-ToX.js";import{a as Lt,c as Rt,i as zt,o as Bt,r as Vt,s as Ht,t as Ut}from"./routes-BA96rRl2.js";import{t as Wt}from"./src-BAS7a2RG.js";import{t as Gt}from"./toast-DR7D7Uma.js";import{f as Kt,g as qt,h as Jt,m as Yt,nt as Xt,ot as Zt,rt as Qt,ut as $t}from"./local-mode-Bds87_d7.js";import{t as en}from"./is-electron-7N7iyz1y.js";import{n as tn}from"./resolved-assistants-store-BhBxUDAA.js";import{i as nn,t as rn}from"./api-errors-SZKDzMLE.js";import{$ as an,S as on,Y as sn,a as cn,at as ln,ct as un,et as dn,g as fn,gt as pn,ht as mn,n as hn,nt as gn,ot as _n,t as vn,tt as yn,y as bn}from"./auth-store-QpgWmI2t.js";import{t as xn}from"./client.gen-DHOmbzD9.js";import{Kr as Sn}from"./sdk.gen-BySz4QYj.js";import{c as Cn}from"./api-BtgSRGvM.js";import{t as wn}from"./client-feature-flag-store-DhF7SK2q.js";import{D as Tn,F as En,O as Dn,d as On,k as kn,l as An}from"./native-biometric-K90ZnTI1.js";import{i as jn,t as Mn}from"./dist-D3eaKkac2.js";import{d as Nn}from"./routes-Dwx_Ibh9.js";import{t as Pn}from"./onboarding-store-BCCjIAh8.js";import{r as Fn}from"./prefs-B4cH-vXO.js";import{n as In,o as Ln,s as Rn}from"./platform-detection-DyR9CV0q.js";import{n as zn}from"./client-identity-YB_QQAJs.js";import{t as Bn}from"./hard-navigate-V2EFapkk.js";import{C as Vn}from"./sdk.gen-DEFA-6EJ.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function Hn(e,t,n){if(!(typeof window>`u`))try{localStorage.getItem(e)===t&&localStorage.setItem(e,n)}catch{}}function Un(e){if(!(typeof window>`u`))try{localStorage.removeItem(e)}catch{}}function O(e,t){if(!(typeof window>`u`))try{let n=localStorage.getItem(e);if(n===null)return;localStorage.getItem(t)===null&&localStorage.setItem(t,n),localStorage.getItem(t)!==null&&localStorage.removeItem(e)}catch{}}function Wn(e,t){if(!(typeof window>`u`))try{let n=[];for(let r=0;r<localStorage.length;r++){let i=localStorage.key(r);if(i&&i.startsWith(e)){let r=i.slice(e.length);n.push([i,t+r])}}for(let[e,t]of n)O(e,t)}catch{}}function Gn(e){let t=[];for(let n=0;n<localStorage.length;n++){let r=localStorage.key(n);r&&r.startsWith(e)&&t.push(r)}for(let e of t)localStorage.removeItem(e)}function Kn(){if(typeof window>`u`)return;let e=`vellum:selectedAssistantId`,t=`vellum:local:selectedAssistantId`,n=`vellum:currentAssistantId:`;try{if(localStorage.getItem(e)===null){let r=localStorage.getItem(t);if(r===null&&(r=qn(n)),r===null){let e=null;for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r&&r.startsWith(n)&&(e===null||r<e)&&(e=r)}e!==null&&(r=localStorage.getItem(e))}r&&localStorage.setItem(e,r)}localStorage.removeItem(t),Gn(n)}catch{}}function qn(e){let t=null;try{t=sessionStorage.getItem(`vellum_active_organization_id`)}catch{return null}return t?localStorage.getItem(`${e}${t}`):null}function Jn(){if(!(typeof window>`u`)){if(O(`assistantSidebarCollapsed`,`vellum:sidebar:collapsed`),O(`assistantSidebarWidth`,`vellum:sidebar:width`),O(`voice:permissionPrimerSeen`,`vellum:voice:permissionPrimerSeen`),O(`voice:ttsProvider`,`vellum:voice:ttsProvider`),O(`voice:sttProvider`,`vellum:voice:sttProvider`),O(`voice:activationKey`,`vellum:voice:activationKey`),O(`integrations.bannerDismissed`,`vellum:integrations:bannerDismissed`),O(`onboarding.tosAccepted`,`vellum:onboarding:tosAccepted`),O(`onboarding.aiDataConsent`,`vellum:onboarding:aiDataConsent`),Un(`onboarding.completed`),Un(`vellum:onboarding:completed`),O(`onboarding.selectedVersion`,`vellum:onboarding:selectedVersion`),O(`vellum:skillsTabTipDismissed`,`vellum:skills:tipDismissed`),O(`vellum_image_gen_mode`,`vellum:ai:imageGenMode`),O(`vellum_image_gen_model`,`vellum:ai:imageGenModel`),localStorage.getItem(`vellum:ai:imageGenProvider`)===null){let e=localStorage.getItem(`vellum:ai:imageGenMode`);e===`managed`?localStorage.setItem(`vellum:ai:imageGenProvider`,`vellum`):e===`your-own`&&localStorage.setItem(`vellum:ai:imageGenProvider`,`gemini`)}O(`vellum_web_search_mode`,`vellum:ai:webSearchMode`),O(`vellum_web_search_provider`,`vellum:ai:webSearchProvider`),O(`vellum_email_mode`,`vellum:ai:emailMode`),O(`vellum_email_byo_provider`,`vellum:ai:emailByoProvider`),O(`vellum_gemini_key`,`vellum:ai:geminiKey`),O(`vellum_perplexity_key`,`vellum:ai:perplexityKey`),O(`vellum_brave_key`,`vellum:ai:braveKey`),O(`vellum_tavily_key`,`vellum:ai:tavilyKey`),O(`vellumDebug.flags.impersonateAssistantVersion`,`vellum:debug:impersonateAssistantVersion`),O(`gw:token`,`vellum:gw:token`),O(`gw:expiresAt`,`vellum:gw:expiresAt`),O(`gw:tokenSource`,`vellum:gw:tokenSource`),O(`local:lockfile`,`vellum:local:lockfile`),O(`local:selectedAssistantId`,`vellum:local:selectedAssistantId`),Wn(`voice:ttsApiKey:`,`vellum:voice:ttsApiKey:`),Wn(`voice:ttsVoiceId:`,`vellum:voice:ttsVoiceId:`),Wn(`voice:sttApiKey:`,`vellum:voice:sttApiKey:`),Wn(`ff:client:`,`vellum:ff:`),Wn(`disk-pressure-warning-dismissed-`,`vellum:diskPressureDismissed:`),Wn(`vellum_current_assistant_id__`,`vellum:currentAssistantId:`),Kn(),Hn(`vellum:skills:tipDismissed`,`1`,`true`),Un(`app.githubNudge.starred`),Un(`app.githubNudge.bannerDismissed`),Un(`app.githubNudge.bannerDismissedAt`),Un(`app.discordNudge.joined`),Un(`app.discordNudge.bannerDismissed`),Un(`app.discordNudge.firstSeenAt`),Un(`app.nudgeLegacy.cleaned`)}}n(),Jn();var Yn={},Xn={};function Zn(e,t){return Yn[e]=Yn[e]||[],Yn[e].push(t),()=>{let n=Yn[e];if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}function Qn(e,t){if(!Xn[e]){Xn[e]=!0;try{t()}catch(t){b&&s.error(`Error while instrumenting ${e}`,t)}}}function $n(e,t){let n=e&&Yn[e];if(n)for(let r of n)try{r(t)}catch(t){b&&s.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${m(r)}\nError:`,t)}}var er=null;function tr(e){let t=`error`;Zn(t,e),Qn(t,nr)}function nr(){er=g.onerror,g.onerror=function(e,t,n,r,i){return $n(`error`,{column:r,error:i,line:n,msg:e,url:t}),er?er.apply(this,arguments):!1},g.onerror.__SENTRY_INSTRUMENTED__=!0}var rr=null;function ir(e){let t=`unhandledrejection`;Zn(t,e),Qn(t,ar)}function ar(){rr=g.onunhandledrejection,g.onunhandledrejection=function(e){return $n(`unhandledrejection`,e),rr?rr.apply(this,arguments):!0},g.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}function or(e){if(!e)return{};let t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};let n=t[6]||``,r=t[8]||``;return{host:t[4],path:t[5],protocol:t[2],search:n,hash:r,relative:t[5]+n+r}}function sr(e,t=!0){if(e.startsWith(`data:`)){let n=e.match(/^data:([^;,]+)/),r=n?n[1]:`text/plain`,i=e.includes(`;base64,`),a=e.indexOf(`,`),o=``;if(t&&a!==-1){let t=e.slice(a+1);o=t.length>10?`${t.slice(0,10)}... [truncated]`:t}return`data:${r}${i?`,base64`:``}${o?`,${o}`:``}`}return e}function cr(e,t){let n=e.attributes??={};Object.entries(t).forEach(([e,t])=>{t!=null&&!(e in n)&&(n[e]=t)})}var lr=[];function ur(e){let t={};return e.forEach(e=>{let{name:n}=e,r=t[n];r&&!r.isDefaultInstance&&e.isDefaultInstance||(t[n]=e)}),Object.values(t)}function dr(e){let t=e.defaultIntegrations||[],n=e.integrations;t.forEach(e=>{e.isDefaultInstance=!0});let r;if(Array.isArray(n))r=[...t,...n];else if(typeof n==`function`){let e=n(t);r=Array.isArray(e)?e:[e]}else r=t;return ur(r)}function fr(e,t){let n={};return t.forEach(t=>{t?.beforeSetup&&t.beforeSetup(e)}),t.forEach(t=>{t&&mr(e,t,n)}),n}function pr(e,t){for(let n of t)n?.afterAllSetup&&n.afterAllSetup(e)}function mr(e,t,n){if(n[t.name]){b&&s.log(`Integration skipped because it was already installed: ${t.name}`);return}if(n[t.name]=t,!lr.includes(t.name)&&typeof t.setupOnce==`function`&&(t.setupOnce(),lr.push(t.name)),t.setup&&typeof t.setup==`function`&&t.setup(e),typeof t.preprocessEvent==`function`){let n=t.preprocessEvent.bind(t);e.on(`preprocessEvent`,(t,r)=>n(t,r,e))}if(typeof t.processEvent==`function`){let n=t.processEvent.bind(t),r=Object.assign((t,r)=>n(t,r,e),{id:t.name});e.addEventProcessor(r)}[`processSpan`,`processSegmentSpan`].forEach(n=>{let r=t[n];typeof r==`function`&&e.on(n,n=>r.call(t,n,e))}),b&&s.log(`Integration installed: ${t.name}`)}function hr(e){return e}function gr(){return typeof __SENTRY_BROWSER_BUNDLE__<`u`&&!!__SENTRY_BROWSER_BUNDLE__}function _r(){return`npm`}function vr(){return!gr()&&Object.prototype.toString.call(typeof process<`u`?process:0)===`[object process]`}function yr(){return typeof window<`u`&&(!vr()||br())}function br(){return g.process?.type===`renderer`}function xr(e,t){let n=t?`auto`:`never`;return[{type:`log`,item_count:e.length,content_type:`application/vnd.sentry.items.log+json`},{version:2,...yr()&&{ingest_settings:{infer_ip:n,infer_user_agent:n}},items:e}]}function Sr(e,t,n,r,i){let a={};return t?.sdk&&(a.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(a.dsn=ce(r)),at(a,[xr(e,i)])}function Cr(e,t){let n=t??wr(e)??[];if(n.length===0)return;let r=e.getOptions(),i=Sr(n,r._metadata,r.tunnel,e.getDsn(),r.sendDefaultPii);Tr().set(e,[]),e.emit(`flushLogs`),e.sendEnvelope(i)}function wr(e){return Tr().get(e)}function Tr(){return re(`clientToLogBufferMap`,()=>new WeakMap)}function Er(e,t){let n=t?`auto`:`never`;return[{type:`trace_metric`,item_count:e.length,content_type:`application/vnd.sentry.items.trace-metric+json`},{version:2,...yr()&&{ingest_settings:{infer_ip:n,infer_user_agent:n}},items:e}]}function Dr(e,t,n,r,i){let a={};return t?.sdk&&(a.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(a.dsn=ce(r)),at(a,[Er(e,i)])}function Or(e,t){let n=t??kr(e)??[];if(n.length===0)return;let r=e.getOptions(),i=Dr(n,r._metadata,r.tunnel,e.getDsn(),r.sendDefaultPii);Ar().set(e,[]),e.emit(`flushMetrics`),e.sendEnvelope(i)}function kr(e){return Ar().get(e)}function Ar(){return re(`clientToMetricBufferMap`,()=>new WeakMap)}function jr(e){return typeof e==`object`&&typeof e.unref==`function`&&e.unref(),e}var Mr=Symbol.for(`SentryBufferFullError`);function Nr(e=100){let t=new Set;function n(){return t.size<e}function r(e){t.delete(e)}function i(e){if(!n())return Ee(Mr);let i=e();return t.add(i),i.then(()=>r(i),()=>r(i)),i}function a(e){if(!t.size)return Ue(!0);let n=Promise.allSettled(Array.from(t)).then(()=>!0);if(!e)return n;let r=[n,new Promise(t=>jr(setTimeout(()=>t(!1),e)))];return Promise.race(r)}return{get $(){return Array.from(t)},add:i,drain:a}}var Pr=60*1e3;function Fr(e,t=Ve()){let n=parseInt(`${e}`,10);if(!isNaN(n))return n*1e3;let r=Date.parse(`${e}`);return isNaN(r)?Pr:r-t}function Ir(e,t){return e[t]||e.all||0}function Lr(e,t,n=Ve()){return Ir(e,t)>n}function Rr(e,{statusCode:t,headers:n},r=Ve()){let i={...e},a=n?.[`x-sentry-rate-limits`],o=n?.[`retry-after`];if(a)for(let e of a.trim().split(`,`)){let[t,n,,,a]=e.split(`:`,5),o=parseInt(t,10),s=(isNaN(o)?60:o)*1e3;if(!n)i.all=r+s;else for(let e of n.split(`;`))e===`metric_bucket`?(!a||a.split(`;`).includes(`custom`))&&(i[e]=r+s):i[e]=r+s}else o?i.all=r+Fr(o,r):t===429&&(i.all=r+60*1e3);return i}function zr(e,t,n=Nr(e.bufferSize||64)){let r={},i=e=>n.drain(e);function a(i){let a=[];if(C(i,(t,n)=>{let i=rt(n);Lr(r,i)?e.recordDroppedEvent(`ratelimit_backoff`,i):a.push(t)}),a.length===0)return Promise.resolve({});let o=at(i[0],a),c=t=>{if(xe(o,[`client_report`])){b&&s.warn(`Dropping client report. Will not send outcomes (reason: ${t}).`);return}C(o,(n,r)=>{e.recordDroppedEvent(t,rt(r))})};return n.add(()=>t({body:l(o)}).then(e=>e.statusCode===413?(b&&s.error(`Sentry responded with status code 413. Envelope was discarded due to exceeding size limits.`),c(`send_error`),e):(b&&e.statusCode!==void 0&&(e.statusCode<200||e.statusCode>=300)&&s.warn(`Sentry responded with status code ${e.statusCode} to sent event.`),r=Rr(r,e),e),e=>{throw c(`network_error`),b&&s.error(`Encountered error running transport request:`,e),e})).then(e=>e,e=>{if(e===Mr)return b&&s.error(`Skipped sending event because buffer is full.`),c(`queue_overflow`),Promise.resolve({});throw e})}return{send:a,flush:i}}function Br(e,t,n){let r=[{type:`client_report`},{timestamp:n||Ge(),discarded_events:e}];return at(t?{dsn:t}:{},[r])}function Vr(e){let t=[];e.message&&t.push(e.message);try{let n=e.exception.values[e.exception.values.length-1];n?.value&&(t.push(n.value),n.type&&t.push(`${n.type}: ${n.value}`))}catch{}return t}function Hr(e){let{trace_id:t,parent_span_id:n,span_id:r,status:i,origin:a,data:o,op:s}=e.contexts?.trace??{};return{data:o??{},description:e.transaction,op:s,parent_span_id:n,span_id:r??``,start_timestamp:e.start_timestamp??0,status:i,timestamp:e.timestamp,trace_id:t??``,origin:a,profile_id:o?.[S],exclusive_time:o?.[te],measurements:e.measurements,is_segment:!0}}function Ur(e){return{type:`transaction`,timestamp:e.timestamp,start_timestamp:e.start_timestamp,transaction:e.description,contexts:{trace:{trace_id:e.trace_id,span_id:e.span_id,parent_span_id:e.parent_span_id,op:e.op,status:e.status,origin:e.origin,data:{...e.data,...e.profile_id&&{"sentry.profile_id":e.profile_id},...e.exclusive_time&&{"sentry.exclusive_time":e.exclusive_time}}}},measurements:e.measurements}}var Wr=`Not capturing exception because it's already been captured.`,Gr=`Discarded session because of missing or non-string release`,Kr=Symbol.for(`SentryInternalError`),qr=Symbol.for(`SentryDoNotSendEventError`),Jr=5e3;function Yr(e){return{message:e,[Kr]:!0}}function Xr(e){return{message:e,[qr]:!0}}function Zr(e){return!!e&&typeof e==`object`&&Kr in e}function Qr(e){return!!e&&typeof e==`object`&&qr in e}function $r(e,t,n,r,i){let a=0,o,s=!1;e.on(n,()=>{a=0,clearTimeout(o),s=!1}),e.on(t,t=>{a+=r(t),a>=8e5?i(e):s||(s=!0,o=jr(setTimeout(()=>{i(e)},Jr)))}),e.on(`flush`,()=>{i(e)})}var ei=class{constructor(e){if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=Nr(e.transportOptions?.bufferSize??64),e.dsn?this._dsn=h(e.dsn):b&&s.warn(`No DSN provided, client will not send events.`),this._dsn){let t=lt(this._dsn,e.tunnel,e._metadata?e._metadata.sdk:void 0);this._transport=e.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...e.transportOptions,url:t})}this._options.enableLogs=this._options.enableLogs??this._options._experiments?.enableLogs,this._options.enableLogs&&$r(this,`afterCaptureLog`,`flushLogs`,si,Cr),(this._options.enableMetrics??this._options._experiments?.enableMetrics??!0)&&$r(this,`afterCaptureMetric`,`flushMetrics`,oi,Or)}captureException(e,t,n){let r=a();if(ge(e))return b&&s.log(Wr),r;let i={event_id:r,...t};return this._process(()=>this.eventFromException(e,i).then(e=>this._captureEvent(e,i,n)).then(e=>e),`error`),i.event_id}captureMessage(e,t,n,r){let i={event_id:a(),...n},o=et(e)?e:String(e),s=Se(e),c=s?this.eventFromMessage(o,t,i):this.eventFromException(e,i);return this._process(()=>c.then(e=>this._captureEvent(e,i,r)),s?`unknown`:`error`),i.event_id}captureEvent(e,t,n){let r=a();if(t?.originalException&&ge(t.originalException))return b&&s.log(Wr),r;let i={event_id:r,...t},o=e.sdkProcessingMetadata||{},c=o.capturedSpanScope,l=o.capturedSpanIsolationScope,u=ti(e.type);return this._process(()=>this._captureEvent(e,i,c||n,l),u),i.event_id}captureSession(e){this.sendSession(e),ee(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}async flush(e){let t=this._transport;if(this.emit(`flush`),!t)return!0;let n=await this._isClientDoneProcessing(e),r=await t.flush(e);return n&&r}async close(e){Cr(this);let t=await this.flush(e);return this.getOptions().enabled=!1,this.emit(`close`),t}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}init(){(this._isEnabled()||this._options.integrations.some(({name:e})=>e.startsWith(`Spotlight`)))&&this._setupIntegrations()}getIntegrationByName(e){return this._integrations[e]}addIntegration(e){let t=this._integrations[e.name];!t&&e.beforeSetup&&e.beforeSetup(this),mr(this,e,this._integrations),t||pr(this,[e])}sendEvent(e,t={}){this.emit(`beforeSendEvent`,e,t);let n=Ae(e,this._dsn,this._options._metadata,this._options.tunnel);for(let e of t.attachments||[])n=_e(n,$e(e));this.sendEnvelope(n).then(t=>this.emit(`afterSendEvent`,e,t))}sendSession(e){let{release:t,environment:n=oe}=this._options;if(`aggregates`in e){let r=e.attrs||{};if(!r.release&&!t){b&&s.warn(Gr);return}r.release=r.release||t,r.environment=r.environment||n,e.attrs=r}else{if(!e.release&&!t){b&&s.warn(Gr);return}e.release=e.release||t,e.environment=e.environment||n}this.emit(`beforeSendSession`,e);let r=Oe(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(r)}recordDroppedEvent(e,t,n=1){if(this._options.sendClientReports){let r=`${e}:${t}`;b&&s.log(`Recording outcome: "${r}"${n>1?` (${n} times)`:``}`),this._outcomes[r]=(this._outcomes[r]||0)+n}}on(e,t){let n=this._hooks[e]=this._hooks[e]||new Set,r=(...e)=>t(...e);return n.add(r),()=>{n.delete(r)}}emit(e,...t){let n=this._hooks[e];n&&n.forEach(e=>e(...t))}async sendEnvelope(e){if(this.emit(`beforeEnvelope`,e),this._isEnabled()&&this._transport)try{return await this._transport.send(e)}catch(e){return b&&s.error(`Error while sending envelope:`,e),{}}return b&&s.error(`Transport disabled`),{}}registerCleanup(e){}dispose(){}_setupIntegrations(){let{integrations:e}=this._options;this._integrations=fr(this,e),pr(this,e)}_updateSessionFromEvent(e,t){let n=t.level===`fatal`,r=!1,i=t.exception?.values;if(i){r=!0,n=!1;for(let e of i)if(e.mechanism?.handled===!1){n=!0;break}}let a=e.status===`ok`;(a&&e.errors===0||a&&n)&&(ee(e,{...n&&{status:`crashed`},errors:e.errors||Number(r||n)}),this.captureSession(e))}async _isClientDoneProcessing(e){let t=0;for(;!e||t<e;){if(await new Promise(e=>setTimeout(e,1)),!this._numProcessing)return!0;t++}return!1}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,t,n,r){let i=this.getOptions(),a=Object.keys(this._integrations);return!t.integrations&&a?.length&&(t.integrations=a),this.emit(`preprocessEvent`,e,t),e.type||r.setLastEventId(e.event_id||t.event_id),Ce(i,e,t,n,this,r).then(e=>e===null?e:(this.emit(`postprocessEvent`,e,t),e.contexts={trace:{...e.contexts?.trace,...me(n)},...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:d(this,n),...e.sdkProcessingMetadata},e))}_captureEvent(e,t={},n=c(),r=v()){return b&&ii(e)&&s.log(`Captured error event \`${Vr(e)[0]||`<unknown>`}\``),this._processEvent(e,t,n,r).then(e=>e.event_id,e=>{b&&(Qr(e)?s.log(e.message):Zr(e)?s.warn(e.message):s.warn(e))})}_processEvent(e,t,n,r){let i=this.getOptions(),{sampleRate:a}=i,o=ai(e),s=ii(e),c=`before send for type \`${e.type||`error`}\``,l=a===void 0?void 0:ie(a);if(s&&typeof l==`number`&&Ke()>l)return this.recordDroppedEvent(`sample_rate`,`error`),Ee(Xr(`Discarding event because it's not included in the random sample (sampling rate = ${a})`));let u=ti(e.type);return this._prepareEvent(e,t,n,r).then(e=>{if(e===null)throw this.recordDroppedEvent(`event_processor`,u),Xr("An event processor returned `null`, will not send event.");return t.data?.__sentry__===!0?e:ni(ri(this,i,e,t),c)}).then(i=>{if(i===null){if(this.recordDroppedEvent(`before_send`,u),o){let t=1+(e.spans||[]).length;this.recordDroppedEvent(`before_send`,`span`,t)}throw Xr(`${c} returned \`null\`, will not send event.`)}let a=n.getSession()||r.getSession();if(s&&a&&this._updateSessionFromEvent(a,i),o){let e=(i.sdkProcessingMetadata?.spanCountBeforeProcessing||0)-(i.spans?i.spans.length:0);e>0&&this.recordDroppedEvent(`before_send`,`span`,e)}let l=i.transaction_info;return o&&l&&i.transaction!==e.transaction&&(i.transaction_info={...l,source:`custom`}),this.sendEvent(i,t),i}).then(null,e=>{throw Qr(e)||Zr(e)?e:(this.captureException(e,{mechanism:{handled:!1,type:`internal`},data:{__sentry__:!0},originalException:e}),Yr(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${e}`))})}_process(e,t){this._numProcessing++,this._promiseBuffer.add(e).then(e=>(this._numProcessing--,e),e=>(this._numProcessing--,e===Mr&&this.recordDroppedEvent(`queue_overflow`,t),e))}_clearOutcomes(){let e=this._outcomes;return this._outcomes={},Object.entries(e).map(([e,t])=>{let[n,r]=e.split(`:`);return{reason:n,category:r,quantity:t}})}_flushOutcomes(){b&&s.log(`Flushing outcomes...`);let e=this._clearOutcomes();if(e.length===0){b&&s.log(`No outcomes to send`);return}if(!this._dsn){b&&s.log(`No dsn provided, will not send outcomes`);return}b&&s.log(`Sending outcomes:`,e);let t=Br(e,this._options.tunnel&&ce(this._dsn));this.sendEnvelope(t)}};function ti(e){return e===`replay_event`?`replay`:e||`error`}function ni(e,t){let n=`${t} must return \`null\` or a valid event.`;if(u(e))return e.then(e=>{if(!ot(e)&&e!==null)throw Yr(n);return e},e=>{throw Yr(`${t} rejected with ${e}`)});if(!ot(e)&&e!==null)throw Yr(n);return e}function ri(e,t,n,r){let{beforeSend:i,beforeSendTransaction:a,ignoreSpans:s}=t,c=!p(t.beforeSendSpan)&&t.beforeSendSpan,l=n;if(ii(l)&&i)return i(l,r);if(ai(l)){if(c||s){let t=Hr(l);if(s?.length&&o({description:t.description,op:t.op,attributes:t.data},s))return null;if(c){let e=c(t);e?l=_(n,Ur(e)):Pe()}if(l.spans){let t=[],n=l.spans;for(let e of n){if(s?.length&&o({description:e.description,op:e.op,attributes:e.data},s)){Ie(n,e);continue}if(c){let n=c(e);n?t.push(n):(Pe(),t.push(e))}else t.push(e)}let r=l.spans.length-t.length;r&&e.recordDroppedEvent(`before_send`,`span`,r),l.spans=t}}if(a){if(l.spans){let e=l.spans.length;l.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:e}}return a(l,r)}}return l}function ii(e){return e.type===void 0}function ai(e){return e.type===`transaction`}function oi(e){let t=0;return e.name&&(t+=e.name.length*2),t+=8,t+ci(e.attributes)}function si(e){let t=0;return e.message&&(t+=e.message.length*2),t+ci(e.attributes)}function ci(e){if(!e)return 0;let t=0;return Object.values(e).forEach(e=>{Array.isArray(e)?t+=e.length*li(e[0]):Se(e)?t+=li(e):t+=100}),t}function li(e){return typeof e==`string`?e.length*2:typeof e==`number`?8:typeof e==`boolean`?4:0}function ui(e,t){return e(t.stack||``,1)}function di(e){return Be(e)&&`__sentry_fetch_url_host__`in e&&typeof e.__sentry_fetch_url_host__==`string`}function fi(e){return di(e)?`${e.message} (${e.__sentry_fetch_url_host__})`:e.message}function pi(e,t){let n={type:t.name||t.constructor.name,value:fi(t)},r=ui(e,t);return r.length&&(n.stacktrace={frames:r}),n}function mi(e,t){t.debug===!0&&(b?s.enable():Le(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),c().update(t.initialScope);let n=new e(t);return hi(n),n.init(),n}function hi(e){c().setClient(e)}function gi(e){`aggregates`in e?e.attrs?.ip_address===void 0&&(e.attrs={...e.attrs,ip_address:`{{auto}}`}):e.ipAddress===void 0&&(e.ipAddress=`{{auto}}`)}function _i(e,t,n=[t],r=`npm`){let i=(e._metadata=e._metadata||{}).sdk=e._metadata.sdk||{};i.name||(i.name=`sentry.javascript.${t}`,i.packages=n.map(e=>({name:`${r}:@sentry/${e}`,version:le})),i.version=le)}var vi,yi=`FunctionToString`,bi=new WeakMap,xi=hr((()=>({name:yi,setupOnce(){vi=Function.prototype.toString;try{Function.prototype.toString=function(...e){let t=Je(this),n=bi.has(st())&&t!==void 0?t:this;return vi.apply(n,e)}}catch{}},setup(e){bi.set(e,!0)}}))),Si=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,/^Can't find variable: gmo$/,/^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/,/can't redefine non-configurable property "solana"/,/vv\(\)\.getRestrictions is not a function/,/Can't find variable: _AutofillCallbackHandler/,/Object Not Found Matching Id:\d+, MethodName:simulateEvent/,/^Java exception was raised during method invocation$/],Ci=`EventFilters`,wi=hr((e={})=>{let t;return{name:Ci,setup(n){t=Ei(e,n.getOptions())},processEvent(n,r,i){return t||=Ei(e,i.getOptions()),Di(n,t)?null:n}}}),Ti=hr(((e={})=>({...wi(e),name:`InboundFilters`})));function Ei(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:Si],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]]}}function Di(e,t){if(!e.type){if(Oi(e,t.ignoreErrors))return b&&s.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${ue(e)}`),!0;if(Pi(e))return b&&s.warn(`Event dropped due to not having an error message, error type or stacktrace.\nEvent: ${ue(e)}`),!0;if(Ai(e,t.denyUrls))return b&&s.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${ue(e)}.\nUrl: ${Ni(e)}`),!0;if(!ji(e,t.allowUrls))return b&&s.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${ue(e)}.\nUrl: ${Ni(e)}`),!0}else if(e.type===`transaction`&&ki(e,t.ignoreTransactions))return b&&s.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.\nEvent: ${ue(e)}`),!0;return!1}function Oi(e,t){return t?.length?Vr(e).some(e=>Xe(e,t)):!1}function ki(e,t){if(!t?.length)return!1;let n=e.transaction;return n?Xe(n,t):!1}function Ai(e,t){if(!t?.length)return!1;let n=Ni(e);return n?Xe(n,t):!1}function ji(e,t){if(!t?.length)return!0;let n=Ni(e);return n?Xe(n,t):!0}function Mi(e=[]){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n&&n.filename!==`<anonymous>`&&n.filename!==`[native code]`)return n.filename||null}return null}function Ni(e){try{let t=[...e.exception?.values??[]].reverse().find(e=>e.mechanism?.parent_id===void 0&&e.stacktrace?.frames?.length)?.stacktrace?.frames;return t?Mi(t):null}catch{return b&&s.error(`Cannot extract url for event ${ue(e)}`),null}}function Pi(e){return e.exception?.values?.length?!e.message&&!e.exception.values.some(e=>e.stacktrace||e.type&&e.type!==`Error`||e.value):!1}function Fi(e,t,n,r,i,a){if(!i.exception?.values||!a||!ve(a.originalException,Error))return;let o=i.exception.values.length>0?i.exception.values[i.exception.values.length-1]:void 0;o&&(i.exception.values=Ii(e,t,r,a.originalException,n,i.exception.values,o,0))}function Ii(e,t,n,r,i,a,o,s){if(a.length>=n+1)return a;let c=[...a];if(ve(r[i],Error)){Ri(o,s,r);let a=e(t,r[i]),l=c.length;zi(a,i,l,s),c=Ii(e,t,n,r[i],i,[a,...c],a,l)}return Li(r)&&r.errors.forEach((a,l)=>{if(ve(a,Error)){Ri(o,s,r);let u=e(t,a),d=c.length;zi(u,`errors[${l}]`,d,s),c=Ii(e,t,n,a,i,[u,...c],u,d)}}),c}function Li(e){return Array.isArray(e.errors)}function Ri(e,t,n){e.mechanism={handled:!0,type:`auto.core.linked_errors`,...Li(n)&&{is_exception_group:!0},...e.mechanism,exception_id:t}}function zi(e,t,n,r){e.mechanism={handled:!0,...e.mechanism,type:`chained`,source:t,exception_id:n,parent_id:r}}var Bi=`cause`,Vi=5,Hi=`LinkedErrors`,k=hr(((e={})=>{let t=e.limit||Vi,n=e.key||Bi;return{name:Hi,preprocessEvent(e,r,i){Fi(pi,i.getOptions().stackParser,n,t,e,r)}}}));function A(e){let t=`console`,n=Zn(t,e);return Qn(t,Ui),n}function Ui(){`console`in g&&se.forEach(function(e){e in g.console&&He(g.console,e,function(t){return Fe[e]=t,function(...t){$n(`console`,{args:t,level:e}),Fe[e]?.apply(g.console,t)}})})}function Wi(e){return e===`warn`?`warning`:[`fatal`,`error`,`warning`,`log`,`info`,`debug`].includes(e)?e:`log`}var Gi=`Dedupe`,Ki=hr((()=>{let e;return{name:Gi,processEvent(t){if(t.type)return t;try{if(qi(t,e))return b&&s.warn(`Event dropped due to being a duplicate of previously captured event.`),null}catch{}return e=t}}}));function qi(e,t){return t?!!(Ji(e,t)||Yi(e,t)):!1}function Ji(e,t){let n=e.message,r=t.message;return!(!n&&!r||n&&!r||!n&&r||n!==r||!Zi(e,t)||!Xi(e,t))}function Yi(e,t){let n=Qi(t),r=Qi(e);return!(!n||!r||n.type!==r.type||n.value!==r.value||!Zi(e,t)||!Xi(e,t))}function Xi(e,t){let n=pe(e),r=pe(t);if(!n&&!r)return!0;if(n&&!r||!n&&r||(n=n,r=r,r.length!==n.length))return!1;for(let e=0;e<r.length;e++){let t=r[e],i=n[e];if(t.filename!==i.filename||t.lineno!==i.lineno||t.colno!==i.colno||t.function!==i.function)return!1}return!0}function Zi(e,t){let n=e.fingerprint,r=t.fingerprint;if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;n=n,r=r;try{return n.join(``)===r.join(``)}catch{return!1}}function Qi(e){return e.exception?.values?.[0]}function $i(e,t){let n=0;for(let t=e.length-1;t>=0;t--){let r=e[t];r===`.`?e.splice(t,1):r===`..`?(e.splice(t,1),n++):n&&(e.splice(t,1),n--)}if(t)for(;n--;)e.unshift(`..`);return e}var ea=/^(\S+:\\|\/?)([\s\S]*?)((?:\.{1,2}|[^/\\]+?|)(\.[^./\\]*|))(?:[/\\]*)$/;function ta(e){let t=e.length>1024?`<truncated>${e.slice(-1024)}`:e,n=ea.exec(t);return n?n.slice(1):[]}function na(...e){let t=``,n=!1;for(let r=e.length-1;r>=-1&&!n;r--){let i=r>=0?e[r]:`/`;i&&(t=`${i}/${t}`,n=i.charAt(0)===`/`)}return t=$i(t.split(`/`).filter(e=>!!e),!n).join(`/`),(n?`/`:``)+t||`.`}function ra(e){let t=0;for(;t<e.length&&e[t]===``;t++);let n=e.length-1;for(;n>=0&&e[n]===``;n--);return t>n?[]:e.slice(t,n-t+1)}function ia(e,t){e=na(e).slice(1),t=na(t).slice(1);let n=ra(e.split(`/`)),r=ra(t.split(`/`)),i=Math.min(n.length,r.length),a=i;for(let e=0;e<i;e++)if(n[e]!==r[e]){a=e;break}let o=[];for(let e=a;e<n.length;e++)o.push(`..`);return o=o.concat(r.slice(a)),o.join(`/`)}function aa(e,t){let n=ta(e)[2]||``;return t&&n.slice(t.length*-1)===t&&(n=n.slice(0,n.length-t.length)),n}var oa=`RewriteFrames`,sa=hr((e={})=>{let t=e.root,n=e.prefix||`app:///`,r=`window`in g&&!!g.window,i=e.iteratee||ca({isBrowser:r,root:t,prefix:n});function a(e){try{return{...e,exception:{...e.exception,values:e.exception.values.map(e=>({...e,...e.stacktrace&&{stacktrace:o(e.stacktrace)}}))}}}catch{return e}}function o(e){return{...e,frames:e?.frames?.map(e=>i(e))}}return{name:oa,processEvent(e){let t=e;return e.exception&&Array.isArray(e.exception.values)&&(t=a(t)),t}}});function ca({isBrowser:e,root:t,prefix:n}){return r=>{if(!r.filename)return r;let i=/^[a-zA-Z]:\\/.test(r.filename)||r.filename.includes(`\\`)&&!r.filename.includes(`/`),a=/^\//.test(r.filename);if(e){if(t){let e=r.filename;e.indexOf(t)===0&&(r.filename=e.replace(t,n))}}else if(i||a){let e=i?r.filename.replace(/^[a-zA-Z]:/,``).replace(/\\/g,`/`):r.filename;r.filename=`${n}${t?ia(t,e):aa(e)}`}return r}}var la=`ConversationId`,ua=hr((()=>({name:la,setup(e){e.on(`spanStart`,e=>{let t=c().getScopeData(),n=v().getScopeData(),r=t.conversationId||n.conversationId;if(r){let{op:t,data:n,description:i}=ne(e);if(!t?.startsWith(`gen_ai.`)&&!n[`ai.operationId`]&&!i?.startsWith(`ai.`))return;e.setAttribute(y,r)}})}})));function da(e){if(e!==void 0){if(e>=400&&e<500)return`warning`;if(e>=500)return`error`}}var fa=g;function pa(){return`history`in fa&&!!fa.history}function ma(){if(!(`fetch`in fa))return!1;try{return new Headers,new Request(`data:,`),new Response,!0}catch{return!1}}function j(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function ha(){if(typeof EdgeRuntime==`string`)return!0;if(!ma())return!1;if(j(fa.fetch))return!0;let e=!1,t=fa.document;if(t&&typeof t.createElement==`function`)try{let n=t.createElement(`iframe`);n.hidden=!0,t.head.appendChild(n),n.contentWindow?.fetch&&(e=j(n.contentWindow.fetch)),t.head.removeChild(n)}catch(e){b&&s.warn(`Could not create sandbox iframe for pure fetch check, bailing to window.fetch: `,e)}return e}function ga(e,t){let n=`fetch`,r=Zn(n,e);return Qn(n,()=>_a(void 0,t)),r}function _a(e,t=!1){t&&!ha()||He(g,`fetch`,function(t){return function(...n){let r=Error(),{method:i,url:a}=ba(n),o={args:n,fetchData:{method:i,url:a},startTimestamp:x()*1e3,virtualError:r,headers:xa(n)};return e||$n(`fetch`,{...o}),t.apply(g,n).then(async t=>(e?e(t):$n(`fetch`,{...o,endTimestamp:x()*1e3,response:t}),t),e=>{$n(`fetch`,{...o,endTimestamp:x()*1e3,error:e}),Be(e)&&e.stack===void 0&&(e.stack=r.stack,Ne(e,`framesToPop`,1));let t=st()?.getOptions().enhanceFetchErrorMessages??`always`;if(t!==!1&&e instanceof TypeError&&(e.message===`Failed to fetch`||e.message===`Load failed`||e.message===`NetworkError when attempting to fetch resource.`))try{let n=new URL(o.fetchData.url).host;t===`always`?e.message=`${e.message} (${n})`:Ne(e,`__sentry_fetch_url_host__`,n)}catch{}throw e})}})}function va(e,t){return!!e&&typeof e==`object`&&!!e[t]}function ya(e){return typeof e==`string`?e:e?va(e,`url`)?e.url:e.toString?e.toString():``:``}function ba(e){if(e.length===0)return{method:`GET`,url:``};if(e.length===2){let[t,n]=e;return{url:ya(t),method:va(n,`method`)?String(n.method).toUpperCase():it(t)&&va(t,`method`)?String(t.method).toUpperCase():`GET`}}let t=e[0];return{url:ya(t),method:va(t,`method`)?String(t.method).toUpperCase():`GET`}}function xa(e){let[t,n]=e;try{if(typeof n==`object`&&n&&`headers`in n&&n.headers)return new Headers(n.headers);if(it(t))return new Headers(t.headers)}catch{}}function Sa(e,t){let n=Ta(e,t),r={type:Aa(t),value:ja(t)};return n.length&&(r.stacktrace={frames:n}),r.type===void 0&&r.value===``&&(r.value=`Unrecoverable error caught`),r}function Ca(e,t,n,r){let i=st()?.getOptions().normalizeDepth,a=Ra(t),o={__serialized__:fe(t,i)};if(a)return{exception:{values:[Sa(e,a)]},extra:o};let s={exception:{values:[{type:ke(t)?t.constructor.name:r?`UnhandledRejection`:`Error`,value:Ia(t,{isUnhandledRejection:r})}]},extra:o};if(n){let t=Ta(e,n);t.length&&(s.exception.values[0].stacktrace={frames:t})}return s}function wa(e,t){return{exception:{values:[Sa(e,t)]}}}function Ta(e,t){let n=t.stacktrace||t.stack||``,r=Da(t),i=Oa(t);try{return e(n,r,i)}catch{}return[]}var Ea=/Minified React error #\d+;/i;function Da(e){return e&&Ea.test(e.message)?1:0}function Oa(e){return typeof e.framesToPop==`number`?e.framesToPop:0}function ka(e){return typeof WebAssembly<`u`&&WebAssembly.Exception!==void 0?e instanceof WebAssembly.Exception:!1}function Aa(e){let t=e?.name;return!t&&ka(e)?e.message&&Array.isArray(e.message)&&e.message.length==2?e.message[0]:`WebAssembly.Exception`:t}function ja(e){let t=e?.message;return ka(e)?Array.isArray(e.message)&&e.message.length==2?e.message[1]:`wasm exception`:t?t.error&&typeof t.error.message==`string`?fi(t.error):fi(e):`No error message`}function Ma(e,t,n,r){let i=Pa(e,t,n?.syntheticException||void 0,r);return he(i),i.level=`error`,n?.event_id&&(i.event_id=n.event_id),Ue(i)}function Na(e,t,n=`info`,r,i){let a=Fa(e,t,r?.syntheticException||void 0,i);return a.level=n,r?.event_id&&(a.event_id=r.event_id),Ue(a)}function Pa(e,t,n,r,i){let a;if(je(t)&&t.error)return wa(e,t.error);if(De(t)||We(t)){let i=t;if(`stack`in t)a=wa(e,t);else{let t=i.name||(De(i)?`DOMError`:`DOMException`),o=i.message?`${t}: ${i.message}`:t;a=Fa(e,o,n,r),T(a,o)}return`code`in i&&(a.tags={...a.tags,"DOMException.code":`${i.code}`}),a}return Be(t)?wa(e,t):ot(t)||ke(t)?(a=Ca(e,t,n,i),he(a,{synthetic:!0}),a):(a=Fa(e,t,n,r),T(a,`${t}`,void 0),he(a,{synthetic:!0}),a)}function Fa(e,t,n,r){let i={};if(r&&n){let r=Ta(e,n);r.length&&(i.exception={values:[{value:t,stacktrace:{frames:r}}]}),he(i,{synthetic:!0})}if(et(t)){let{__sentry_template_string__:e,__sentry_template_values__:n}=t;return i.logentry={message:e,params:n},i}return i.message=t,i}function Ia(e,{isUnhandledRejection:t}){let n=be(e),r=t?`promise rejection`:`exception`;return je(e)?`Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``:ke(e)?`Event \`${La(e)}\` (type=${e.type}) captured as ${r}`:`Object captured as ${r} with keys: ${n}`}function La(e){try{let t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}function Ra(e){return Object.values(e).find(e=>e instanceof Error)}var za=class extends ei{constructor(e){let t=Ba(e);_i(t,`browser`,[`browser`],E.SENTRY_SDK_SOURCE||_r()),t._metadata?.sdk&&(t._metadata.sdk.settings={infer_ip:t.sendDefaultPii?`auto`:`never`,...t._metadata.sdk.settings}),super(t);let{sendDefaultPii:n,sendClientReports:r,enableLogs:i,_experiments:a,enableMetrics:o}=this._options,s=o??a?.enableMetrics??!0;E.document&&(r||i||s)&&E.document.addEventListener(`visibilitychange`,()=>{E.document.visibilityState===`hidden`&&(r&&this._flushOutcomes(),i&&Cr(this),s&&Or(this))}),n&&this.on(`beforeSendSession`,gi)}eventFromException(e,t){return Ma(this._options.stackParser,e,t,this._options.attachStacktrace)}eventFromMessage(e,t=`info`,n){return Na(this._options.stackParser,e,t,n,this._options.attachStacktrace)}_prepareEvent(e,t,n,r){return e.platform=e.platform||`javascript`,super._prepareEvent(e,t,n,r)}};function Ba(e){return{release:typeof __SENTRY_RELEASE__==`string`?__SENTRY_RELEASE__:E.SENTRY_RELEASE?.id,sendClientReports:!0,parentSpanIsAlwaysRootSpan:!0,...e}}var Va=typeof __SENTRY_DEBUG__>`u`||__SENTRY_DEBUG__,M=g,Ha=1e3,Ua,Wa,Ga;function Ka(e){Zn(`dom`,e),Qn(`dom`,qa)}function qa(){if(!M.document)return;let e=$n.bind(null,`dom`),t=Xa(e,!0);M.document.addEventListener(`click`,t,!1),M.document.addEventListener(`keypress`,t,!1),[`EventTarget`,`Node`].forEach(t=>{let n=M[t]?.prototype;n?.hasOwnProperty?.(`addEventListener`)&&(He(n,`addEventListener`,function(t){return function(n,r,i){if(n===`click`||n==`keypress`)try{let r=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},a=r[n]=r[n]||{refCount:0};if(!a.handler){let r=Xa(e);a.handler=r,t.call(this,n,r,i)}a.refCount++}catch{}return t.call(this,n,r,i)}}),He(n,`removeEventListener`,function(e){return function(t,n,r){if(t===`click`||t==`keypress`)try{let n=this.__sentry_instrumentation_handlers__||{},i=n[t];i&&(i.refCount--,i.refCount<=0&&(e.call(this,t,i.handler,r),i.handler=void 0,delete n[t]),Object.keys(n).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return e.call(this,t,n,r)}}))})}function Ja(e){if(e.type!==Wa)return!1;try{if(!e.target||e.target._sentryId!==Ga)return!1}catch{}return!0}function Ya(e,t){return e===`keypress`?t?.tagName?!(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable):!0:!1}function Xa(e,t=!1){return n=>{if(!n||n._sentryCaptured)return;let r=Za(n);if(Ya(n.type,r))return;Ne(n,`_sentryCaptured`,!0),r&&!r._sentryId&&Ne(r,`_sentryId`,a());let i=n.type===`keypress`?`input`:n.type;Ja(n)||(e({event:n,name:i,global:t}),Wa=n.type,Ga=r?r._sentryId:void 0),clearTimeout(Ua),Ua=M.setTimeout(()=>{Ga=void 0,Wa=void 0},Ha)}}function Za(e){try{return e.target}catch{return null}}var Qa;function $a(e){let t=`history`;Zn(t,e),Qn(t,eo)}function eo(){if(M.addEventListener(`popstate`,()=>{let e=M.location.href,t=Qa;Qa=e,t!==e&&$n(`history`,{from:t,to:e})}),!pa())return;function e(e){return function(...t){let n=t.length>2?t[2]:void 0;if(n){let r=Qa,i=to(String(n));if(Qa=i,r===i)return e.apply(this,t);$n(`history`,{from:r,to:i})}return e.apply(this,t)}}He(M.history,`pushState`,e),He(M.history,`replaceState`,e)}function to(e){try{return new URL(e,M.location.origin).toString()}catch{return e}}var no={};function ro(e){let t=no[e];if(t)return t;let n=M[e];if(j(n))return no[e]=n.bind(M);let r=M.document;if(r&&typeof r.createElement==`function`)try{let t=r.createElement(`iframe`);t.hidden=!0,r.head.appendChild(t);let i=t.contentWindow;i?.[e]&&(n=i[e]),r.head.removeChild(t)}catch(t){Va&&s.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,t)}return n&&(no[e]=n.bind(M))}function io(e){no[e]=void 0}var ao=`__sentry_xhr_v3__`;function oo(e){Zn(`xhr`,e),Qn(`xhr`,so)}function so(){if(!M.XMLHttpRequest)return;let e=XMLHttpRequest.prototype;e.open=new Proxy(e.open,{apply(e,t,n){let r=Error(),i=x()*1e3,a=de(n[0])?n[0].toUpperCase():void 0,o=co(n[1]);if(!a||!o)return e.apply(t,n);t[ao]={method:a,url:o,request_headers:{}},a===`POST`&&o.match(/sentry_key/)&&(t.__sentry_own_request__=!0);let s=()=>{let e=t[ao];if(e&&t.readyState===4){try{e.status_code=t.status}catch{}$n(`xhr`,{endTimestamp:x()*1e3,startTimestamp:i,xhr:t,virtualError:r})}};return`onreadystatechange`in t&&typeof t.onreadystatechange==`function`?t.onreadystatechange=new Proxy(t.onreadystatechange,{apply(e,t,n){return s(),e.apply(t,n)}}):t.addEventListener(`readystatechange`,s),t.setRequestHeader=new Proxy(t.setRequestHeader,{apply(e,t,n){let[r,i]=n,a=t[ao];return a&&de(r)&&de(i)&&(a.request_headers[r.toLowerCase()]=i),e.apply(t,n)}}),e.apply(t,n)}}),e.send=new Proxy(e.send,{apply(e,t,n){let r=t[ao];return r?(n[0]!==void 0&&(r.body=n[0]),$n(`xhr`,{startTimestamp:x()*1e3,xhr:t}),e.apply(t,n)):e.apply(t,n)}})}function co(e){if(de(e))return e;try{return e.toString()}catch{}}var lo=40;function uo(e,t=ro(`fetch`)){let n=0,r=0;async function i(i){let a=i.body.length;n+=a,r++;let o={body:i.body,method:`POST`,referrerPolicy:`strict-origin`,headers:e.headers,keepalive:n<=6e4&&r<15,...e.fetchOptions};try{let n=await t(e.url,o);return{statusCode:n.status,headers:{"x-sentry-rate-limits":n.headers.get(`X-Sentry-Rate-Limits`),"retry-after":n.headers.get(`Retry-After`)}}}catch(e){throw io(`fetch`),e}finally{n-=a,r--}}return zr(e,i,Nr(e.bufferSize||lo))}var fo=30,po=50;function mo(e,t,n,r){let i={filename:e,function:t===`<anonymous>`?`?`:t,in_app:!0};return n!==void 0&&(i.lineno=n),r!==void 0&&(i.colno=r),i}var ho=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,go=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,N=/\((\S*)(?::(\d+))(?::(\d+))\)/,_o=/at (.+?) ?\(data:(.+?),/,vo=[fo,e=>{let t=e.match(_o);if(t)return{filename:`<data:${t[2]}>`,function:t[1]};let n=ho.exec(e);if(n){let[,e,t,r]=n;return mo(e,`?`,+t,+r)}let r=go.exec(e);if(r){if(r[2]?.indexOf(`eval`)===0){let e=N.exec(r[2]);e&&(r[2]=e[1],r[3]=e[2],r[4]=e[3])}let[e,t]=yo(r[1]||`?`,r[2]);return mo(t,e,r[3]?+r[3]:void 0,r[4]?+r[4]:void 0)}}],P=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,F=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,I=nt(vo,[po,e=>{let t=P.exec(e);if(t){if(t[3]&&t[3].indexOf(` > eval`)>-1){let e=F.exec(t[3]);e&&(t[1]=t[1]||`eval`,t[3]=e[1],t[4]=e[2],t[5]=``)}let e=t[3],n=t[1]||`?`;return[n,e]=yo(n,e),mo(e,n,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}}]),yo=(e,t)=>{let n=e.indexOf(`safari-extension`)!==-1,r=e.indexOf(`safari-web-extension`)!==-1;return n||r?[e.indexOf(`@`)===-1?`?`:e.split(`@`)[0],n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},bo=1024,xo=`Breadcrumbs`,So=hr(((e={})=>{let t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:xo,setup(e){t.console&&A(To(e)),t.dom&&Ka(wo(e,t.dom)),t.xhr&&oo(L(e)),t.fetch&&ga(Eo(e)),t.history&&$a(Do(e)),t.sentry&&e.on(`beforeSendEvent`,Co(e))}}}));function Co(e){return function(t){st()===e&&mt({category:`sentry.${t.type===`transaction`?`transaction`:`event`}`,event_id:t.event_id,level:t.level,message:ue(t)},{event:t})}}function wo(e,t){return function(n){if(st()!==e)return;let r,i,a=typeof t==`object`?t.serializeAttribute:void 0,o=typeof t==`object`&&typeof t.maxStringLength==`number`?t.maxStringLength:void 0;o&&o>bo&&(dt&&s.warn(`\`dom.maxStringLength\` cannot exceed ${bo}, but a value of ${o} was configured. Sentry will use ${bo} instead.`),o=bo),typeof a==`string`&&(a=[a]);try{let e=n.event,t=Oo(e)?e.target:e;r=we(t,{keyAttrs:a,maxStringLength:o}),i=ze(t)}catch{r=`<unknown>`}if(r.length===0)return;let c={category:`ui.${n.name}`,message:r};i&&(c.data={"ui.component_name":i}),mt(c,{event:n.event,name:n.name,global:n.global})}}function To(e){return function(t){if(st()!==e)return;let n={category:`console`,data:{arguments:t.args,logger:`console`},level:Wi(t.level),message:Te(t.args,` `)};if(t.level===`assert`)if(t.args[0]===!1)n.message=`Assertion failed: ${Te(t.args.slice(1),` `)||`console.assert`}`,n.data.arguments=t.args.slice(1);else return;mt(n,{input:t.args,level:t.level})}}function L(e){return function(t){if(st()!==e)return;let{startTimestamp:n,endTimestamp:r}=t,i=t.xhr[ao];if(!n||!r||!i)return;let{method:a,url:o,status_code:s,body:c}=i,l={method:a,url:o,status_code:s},u={xhr:t.xhr,input:c,startTimestamp:n,endTimestamp:r},d={category:`xhr`,data:l,type:`http`,level:da(s)};e.emit(`beforeOutgoingRequestBreadcrumb`,d,u),mt(d,u)}}function Eo(e){return function(t){if(st()!==e)return;let{startTimestamp:n,endTimestamp:r}=t;if(r&&!(t.fetchData.url.match(/sentry_key/)&&t.fetchData.method===`POST`))if(t.error){let i={data:t.error,input:t.args,startTimestamp:n,endTimestamp:r},a={category:`fetch`,data:t.fetchData,level:`error`,type:`http`};e.emit(`beforeOutgoingRequestBreadcrumb`,a,i),mt(a,i)}else{let i=t.response,a={...t.fetchData,status_code:i?.status},o={input:t.args,response:i,startTimestamp:n,endTimestamp:r},s={category:`fetch`,data:a,type:`http`,level:da(a.status_code)};e.emit(`beforeOutgoingRequestBreadcrumb`,s,o),mt(s,o)}}}function Do(e){return function(t){if(st()!==e)return;let n=t.from,r=t.to,i=or(E.location.href),a=n?or(n):void 0,o=or(r);a?.path||(a=i),i.protocol===o.protocol&&i.host===o.host&&(r=o.relative),i.protocol===a.protocol&&i.host===a.host&&(n=a.relative),mt({category:`navigation`,data:{from:n,to:r}})}}function Oo(e){return!!e&&!!e.target}var ko=`EventTarget,Window,Node,ApplicationCache,AudioTrackList,BroadcastChannel,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload`.split(`,`),Ao=`BrowserApiErrors`,jo=hr(((e={})=>{let t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...e};return{name:Ao,setupOnce(){t.setTimeout&&He(E,`setTimeout`,Mo),t.setInterval&&He(E,`setInterval`,Mo),t.requestAnimationFrame&&He(E,`requestAnimationFrame`,No),t.XMLHttpRequest&&`XMLHttpRequest`in E&&He(XMLHttpRequest.prototype,`send`,Po);let e=t.eventTarget;e&&(Array.isArray(e)?e:ko).forEach(e=>R(e,t))}}}));function Mo(e){return function(...t){let n=t[0];return t[0]=pt(n,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${m(e)}`}}),e.apply(this,t)}}function No(e){return function(t){return e.apply(this,[pt(t,{mechanism:{data:{handler:m(e)},handled:!1,type:`auto.browser.browserapierrors.requestAnimationFrame`}})])}}function Po(e){return function(...t){let n=this;return[`onload`,`onerror`,`onprogress`,`onreadystatechange`].forEach(e=>{e in n&&typeof n[e]==`function`&&He(n,e,function(t){let n={mechanism:{data:{handler:m(t)},handled:!1,type:`auto.browser.browserapierrors.xhr.${e}`}},r=Je(t);return r&&(n.mechanism.data.handler=m(r)),pt(t,n)})}),e.apply(this,t)}}function R(e,t){let n=E[e]?.prototype;n?.hasOwnProperty?.(`addEventListener`)&&(He(n,`addEventListener`,function(n){return function(r,i,a){try{Fo(i)&&(i.handleEvent=pt(i.handleEvent,{mechanism:{data:{handler:m(i),target:e},handled:!1,type:`auto.browser.browserapierrors.handleEvent`}}))}catch{}return t.unregisterOriginalCallbacks&&Io(this,r,i),n.apply(this,[r,pt(i,{mechanism:{data:{handler:m(i),target:e},handled:!1,type:`auto.browser.browserapierrors.addEventListener`}}),a])}}),He(n,`removeEventListener`,function(e){return function(t,n,r){try{let i=n.__sentry_wrapped__;i&&e.call(this,t,i,r)}catch{}return e.call(this,t,n,r)}}))}function Fo(e){return typeof e.handleEvent==`function`}function Io(e,t,n){e&&typeof e==`object`&&`removeEventListener`in e&&typeof e.removeEventListener==`function`&&e.removeEventListener(t,n)}var Lo=hr((e={})=>{let t=e.lifecycle??`route`;return{name:`BrowserSession`,setupOnce(){if(E.document===void 0){dt&&s.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}Ze({ignoreDuration:!0}),qe();let e=v(),n=e.getUser();e.addScopeListener(e=>{let t=e.getUser();(n?.id!==t?.id||n?.ip_address!==t?.ip_address)&&(qe(),n=t)}),t===`route`&&$a(({from:e,to:t})=>{e!==t&&(Ze({ignoreDuration:!0}),qe())})}}}),Ro=`CultureContext`,zo=hr((()=>({name:Ro,preprocessEvent(e){let t=Bo();t&&(e.contexts={...e.contexts,culture:{...t,...e.contexts?.culture}})},processSegmentSpan(e){let t=Bo();t&&cr(e,{"culture.locale":t.locale,"culture.timezone":t.timezone,"culture.calendar":t.calendar})}})));function Bo(){try{let e=E.Intl;if(!e)return;let t=e.DateTimeFormat().resolvedOptions();return{locale:t.locale,timezone:t.timeZone,calendar:t.calendar}}catch{return}}var Vo=`GlobalHandlers`,Ho=hr(((e={})=>{let t={onerror:!0,onunhandledrejection:!0,...e};return{name:Vo,setupOnce(){Error.stackTraceLimit=50},setup(e){t.onerror&&(Uo(e),Jo(`onerror`)),t.onunhandledrejection&&(Wo(e),Jo(`onunhandledrejection`))}}}));function Uo(e){tr(t=>{let{stackParser:n,attachStacktrace:r}=Yo();if(st()!==e||ut())return;let{msg:i,url:a,line:o,column:s,error:c}=t,l=qo(Pa(n,c||i,void 0,r,!1),a,o,s);l.level=`error`,Me(l,{originalException:c,mechanism:{handled:!1,type:`auto.browser.global_handlers.onerror`}})})}function Wo(e){ir(t=>{let{stackParser:n,attachStacktrace:r}=Yo();if(st()!==e||ut())return;let i=Go(t),a=Se(i)?Ko(i):Pa(n,i,void 0,r,!0);a.level=`error`,Me(a,{originalException:i,mechanism:{handled:!1,type:`auto.browser.global_handlers.onunhandledrejection`}})})}function Go(e){if(Se(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}function Ko(e){return{exception:{values:[{type:`UnhandledRejection`,value:`Non-Error promise rejection captured with value: ${String(e)}`}]}}}function qo(e,t,n,r){let i=e.exception=e.exception||{},a=i.values=i.values||[],o=a[0]=a[0]||{},s=o.stacktrace=o.stacktrace||{},c=s.frames=s.frames||[];return c.length===0&&c.push({colno:r,lineno:n,filename:Xo(t)??Qe(),function:`?`,in_app:!0}),e}function Jo(e){dt&&s.log(`Global Handler attached: ${e}`)}function Yo(){return st()?.getOptions()||{stackParser:()=>[],attachStacktrace:!1}}function Xo(e){if(!(!de(e)||e.length===0))return e.startsWith(`data:`)?`<${sr(e,!1)}>`:e}var Zo=hr(()=>({name:`HttpContext`,preprocessEvent(e){if(!E.navigator&&!E.location&&!E.document)return;let t=ct(),n={...t.headers,...e.request?.headers};e.request={...t,...e.request,headers:n}},processSegmentSpan(e){if(!E.navigator&&!E.location&&!E.document)return;let t=ct();cr(e,{"url.full":t.url||void 0,"http.request.header.user_agent":t.headers[`User-Agent`],"http.request.header.referer":t.headers.Referer})}})),Qo=`cause`,$o=5,es=`LinkedErrors`,ts=hr(((e={})=>{let t=e.limit||$o,n=e.key||Qo;return{name:es,preprocessEvent(e,r,i){Fi(Sa,i.getOptions().stackParser,n,t,e,r)}}}));function ns(){return rs()?(dt&&Le(()=>{console.error(`[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/`)}),!0):!1}function rs(){if(E.window===void 0)return!1;let e=E;if(e.nw||!(e.chrome||e.browser)?.runtime?.id)return!1;let t=Qe();return!(E===E.top&&/^(?:chrome-extension|moz-extension|ms-browser-extension|safari-web-extension):\/\//.test(t))}function is(e){return[Ti(),xi(),ua(),jo(),So(),Ho(),ts(),Ki(),Zo(),zo(),Lo()]}function as(e={}){let t=!e.skipBrowserExtensionCheck&&ns(),n=e.defaultIntegrations==null?is():e.defaultIntegrations;return mi(za,{...e,enabled:t?!1:e.enabled,stackParser:f(e.stackParser||I),integrations:dr({integrations:e.integrations,defaultIntegrations:n}),transport:e.transport||uo})}var os=e(ht());function ss(e){let t={...e};return _i(t,`react`),Re(`react`,{version:os.version}),as(t)}var cs=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,ee||(ee=!0,oe());else{var t=n(l);t!==null&&le(x,t.startTime-e)}}var ee=!1,te=-1,ne=5,re=-1;function ie(){return g?!0:!(e.unstable_now()-re<ne)}function ae(){if(g=!1,ee){var t=e.unstable_now();re=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(te),te=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ie());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&le(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?oe():ee=!1}}}var oe;if(typeof y==`function`)oe=function(){y(ae)};else if(typeof MessageChannel<`u`){var se=new MessageChannel,ce=se.port2;se.port1.onmessage=ae,oe=function(){ce.postMessage(null)}}else oe=function(){_(ae,0)};function le(t,n){te=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):ne=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(te),te=-1):h=!0,le(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ee||(ee=!0,oe()))),r},e.unstable_shouldYield=ie,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),ls=t(((e,t)=>{t.exports=cs()})),us=t((e=>{var t=ls(),n=ht(),r=gt();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var f=Object.assign,p=Symbol.for(`react.element`),m=Symbol.for(`react.transitional.element`),h=Symbol.for(`react.portal`),g=Symbol.for(`react.fragment`),_=Symbol.for(`react.strict_mode`),v=Symbol.for(`react.profiler`),y=Symbol.for(`react.consumer`),b=Symbol.for(`react.context`),x=Symbol.for(`react.forward_ref`),ee=Symbol.for(`react.suspense`),te=Symbol.for(`react.suspense_list`),ne=Symbol.for(`react.memo`),re=Symbol.for(`react.lazy`),ie=Symbol.for(`react.activity`),ae=Symbol.for(`react.memo_cache_sentinel`),oe=Symbol.iterator;function se(e){return typeof e!=`object`||!e?null:(e=oe&&e[oe]||e[`@@iterator`],typeof e==`function`?e:null)}var ce=Symbol.for(`react.client.reference`);function le(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ce?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case g:return`Fragment`;case v:return`Profiler`;case _:return`StrictMode`;case ee:return`Suspense`;case te:return`SuspenseList`;case ie:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case h:return`Portal`;case b:return e.displayName||`Context`;case y:return(e._context.displayName||`Context`)+`.Consumer`;case x:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ne:return t=e.displayName||null,t===null?le(e.type)||`Memo`:t;case re:t=e._payload,e=e._init;try{return le(e(t))}catch{}}return null}var ue=Array.isArray,S=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,C=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,de={pending:!1,data:null,method:null,action:null},fe=[],pe=-1;function me(e){return{current:e}}function w(e){0>pe||(e.current=fe[pe],fe[pe]=null,pe--)}function T(e,t){pe++,fe[pe]=e.current,e.current=t}var he=me(null),ge=me(null),_e=me(null),ve=me(null);function ye(e,t){switch(T(_e,t),T(ge,e),T(he,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}w(he),T(he,e)}function be(){w(he),w(ge),w(_e)}function xe(e){e.memoizedState!==null&&T(ve,e);var t=he.current,n=Hd(t,e.type);t!==n&&(T(ge,e),T(he,n))}function Se(e){ge.current===e&&(w(he),w(ge)),ve.current===e&&(w(ve),Qf._currentValue=de)}var Ce,we;function Te(e){if(Ce===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Ce=t&&t[1]||``,we=-1<e.stack.indexOf(`
3
3
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4
4
  `+Ce+e+we}var Ee=!1;function De(e,t){if(!e||Ee)return``;Ee=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
5
5
  `),l=s.split(`