@popmelt.com/core 0.30.1 → 0.31.0

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.
Files changed (54) hide show
  1. package/README.md +2 -0
  2. package/claude-plugin/.claude-plugin/plugin.json +1 -1
  3. package/codex-plugin/.codex-plugin/plugin.json +1 -1
  4. package/dist/ParticipantRuntime-PPIOE3NJ.mjs +139 -0
  5. package/dist/{PopmeltTasteConnectedPane-L5ULGACH.mjs → PopmeltTasteConnectedPane-4WRVLYUV.mjs} +1 -1
  6. package/dist/{ThreadErrorCard-Q5GQ4EIF.mjs → ThreadErrorCard-5ADUBZKJ.mjs} +1 -1
  7. package/dist/adapter-react-three-fiber.d.mts +1 -1
  8. package/dist/bridge-entry.mjs +1 -1
  9. package/dist/browser-runtime-OZCPXHEN.mjs +2 -0
  10. package/dist/browser.d.mts +4 -4
  11. package/dist/browser.mjs +1 -1
  12. package/dist/{chunk-PCP5ENOU.mjs → chunk-4AEU4OCH.mjs} +2 -2
  13. package/dist/chunk-4LHTPRFY.mjs +2 -0
  14. package/dist/chunk-4V7SK3M6.mjs +0 -0
  15. package/dist/{chunk-3JJP637I.mjs → chunk-A7DRONSB.mjs} +2 -2
  16. package/dist/{chunk-MZNY6VXR.mjs → chunk-D32YV5O6.mjs} +1 -1
  17. package/dist/{chunk-CWX3XV2M.mjs → chunk-DPU2WFIZ.mjs} +1 -1
  18. package/dist/{chunk-VNSLQY5N.mjs → chunk-F3S6L45N.mjs} +1 -1
  19. package/dist/{chunk-GHBFZOHT.mjs → chunk-G25T4PMF.mjs} +1 -1
  20. package/dist/chunk-J4WDYITA.mjs +2 -0
  21. package/dist/{chunk-HTHUSDZT.mjs → chunk-NE263MLG.mjs} +1 -1
  22. package/dist/chunk-PBQCGGJL.mjs +342 -0
  23. package/dist/chunk-RXRZTZPN.mjs +3 -0
  24. package/dist/chunk-UU5ISCUC.mjs +62 -0
  25. package/dist/{chunk-5IEPFMP7.mjs → chunk-YM6BOUNF.mjs} +21 -21
  26. package/dist/cli.mjs +2 -2
  27. package/dist/codex-note-context-MKZ7WCS7.mjs +2 -0
  28. package/dist/{codex-project-JDNFTUP7.mjs → codex-project-3OAJJ7ZI.mjs} +1 -1
  29. package/dist/codex-session-registry-25DAA2KO.mjs +0 -0
  30. package/dist/focus-inspection-GJKMI6OE.mjs +2 -0
  31. package/dist/index.d.mts +6 -5
  32. package/dist/index.mjs +1 -1
  33. package/dist/media.d.mts +3 -3
  34. package/dist/{participantBootstrap-QZ3wuqi1.d.mts → participantBootstrap-B0lvfCwM.d.mts} +2 -2
  35. package/dist/peer-client-WF35M2Y4.mjs +2 -0
  36. package/dist/plugin-astro.mjs +1 -1
  37. package/dist/plugin-nuxt.mjs +1 -1
  38. package/dist/plugin-vite.mjs +1 -1
  39. package/dist/server.mjs +1 -1
  40. package/dist/{subjects-CG6UyWFr.d.mts → subjects-EWAR5-0S.d.mts} +16 -1
  41. package/dist/{video-adapter-DrTI5cRl.d.mts → video-adapter-BUMpNTCP.d.mts} +1 -1
  42. package/dist/workspace-snapshot-LKQWBDNS.mjs +2 -0
  43. package/package.json +32 -22
  44. package/dist/ParticipantRuntime-XGBQEJLU.mjs +0 -139
  45. package/dist/browser-runtime-7324UU2Y.mjs +0 -2
  46. package/dist/chunk-3LBOX7HQ.mjs +0 -3
  47. package/dist/chunk-CXTR5UHL.mjs +0 -342
  48. package/dist/chunk-ENGMQINZ.mjs +0 -62
  49. package/dist/codex-note-context-EKARSPXV.mjs +0 -2
  50. package/dist/focus-inspection-2FPCQIN2.mjs +0 -2
  51. package/dist/peer-client-CVBTNOO5.mjs +0 -2
  52. package/dist/workspace-snapshot-EJQHHDQ4.mjs +0 -2
  53. /package/dist/{chunk-42LISDBE.mjs → chunk-MINAH2EM.mjs} +0 -0
  54. /package/dist/{chunk-2RRYBN2J.mjs → chunk-V44RIEET.mjs} +0 -0
@@ -0,0 +1,342 @@
1
+ "use client";
2
+ import{b as Qf,f as Wi,h as Zf,g as ys,a as uc,d as pc,c as fc}from"./chunk-RXRZTZPN.mjs";import{a as eh}from"./chunk-NE263MLG.mjs";import{M as il,vb as vs,Ua as hc,f as th,e as mc,tb as bs,a as nh,xb as gc,yb as yc,wb as xs,c as rh,jb as oh,kb as ih,Ja as Bi,ja as ah,Db as lh,Eb as vc,ia as sh,Kb as dh,Gb as ch,Hb as uh,Ib as ph,_a as fh,ka as hh,Da as mh,za as bc,ab as gh,ba as yh,ca as ws,da as vh,ea as bh,$a as xh,Fa as wh,ha as Sh,ob as Ss,nb as Ih,mb as Is,Fb as kh,la as Th,Oa as xc,Ba as wc,Ma as Sc,Na as Eh,La as Ic,Ka as Ah,Ga as ks,N as Ch,Cb as Mh,p as kc,ya as Rh,b as Lh,ub as Tc,Ra as Ph,Qa as jh,Ta as zh,Pa as $h,Sa as Dh,Ca as Hh,D as Nh,E as Oh,l as Fh,ra as nn,ua as _h,xa as Wh,Ha as Bh,sa as Ec,na as Ji,T as Jh,ma as qh,R as Ac,Y as Uh,fb as gi,Mb as Yh,Jb as Xh,eb as Cc,gb as Mc,Ab as Kh,Bb as Vh,lb as Gh,hb as Qh,ib as Zh,Aa as em,Ea as Ts,Q as tm,C as Rc,F as Lc,L as Pc,K as jc,o as yi,G as zc,J as qi,P as nm,va as Es,qa as rm,pa as As,oa as Cs,O as om,ga as im,fa as am,Ia as lm,ta as $c,wa as Dc,q as sm,W as Hc,U as Nc,V as Oc,X as dm,Z as Fc,$ as _c,aa as cm,S as um,zb as Wc,m as Ui,A as Ms,r as vi,I as al,u as Bc,g as pm,_ as fm,t as ll,h as Jc,y as hm,j as $r,v as Rs,s as Ta,i as Ls,k as mm,z as gm,x as ym,H as Ps,w as qc,n as Uc,B as vm}from"./chunk-YM6BOUNF.mjs";import{b as Yc,d as bm,a as xm,e as wm,c as Sm}from"./chunk-J4WDYITA.mjs";import{h as Im,Ca as Xc,R as Yi,ma as km,N as Tm,H as Kc,A as ro,la as sl,ka as Em,P as Am,D as Vc,O as Cm,da as Tn,Y as js,aa as lr,fa as zs,$ as Ea,ha as Mm,S as dl,ua as Gc,_ as oo,za as Rm,Aa as Lm,Ba as Qc,ta as Zc,J as $s,v as eu,u as Aa,r as cl,w as Xi,Z as tu,Q as nu,I as Pm,K as jm,M as zm,f as $m,ba as Dm,ca as Hm,wa as Nm,va as ru,ya as Om,xa as Fm,sa as ou,z as iu,t as Ds,g as _m,ea as Hs,C as Wm,E as au,G as Bm,F as Jm,ga as lu,ia as su,B as qm,s as ul,L as Um,y as Ns,q as du,x as Ym}from"./chunk-UU5ISCUC.mjs";import{b as cu}from"./chunk-4LHTPRFY.mjs";import{c as Xm,a as uu,b as Ca}from"./chunk-JQHZFDY5.mjs";import{i as pu,k as Km,m as Vm,h as fu,g as Gm,a as pl,e as Qm,b as Dr,d as Zm,f as it,c as eg}from"./chunk-MP7S5ALD.mjs";import{c as hn,a as Ho,i as mn,j as bi,d as tg,e as ng,b as hu,l as rg,m as og,k as ig}from"./chunk-XOGBFVWI.mjs";import{a as ag}from"./chunk-2P2NUZW7.mjs";import{d as Os,i as lg}from"./chunk-D32YV5O6.mjs";import{a as Fs,h as mu,d as sg,c as dg,g as _s,e as Ws,b as cg}from"./chunk-V44RIEET.mjs";import{b as Yt,f as gu,d as yu,e as Bs,i as ug,j as Ma,l as vu,m as bu,r as pg,p as fg,u as hg,t as mg,s as gg,k as yg,a as vg,c as bg}from"./chunk-CPOYMGYY.mjs";import{a as xu,b as xg}from"./chunk-EX63NVDN.mjs";import{d as wg,g as Sg,m as Ig,l as kg}from"./chunk-N2ZEZCHO.mjs";import{a as Tg}from"./chunk-J3UIBBU2.mjs";import{b as Eg}from"./chunk-6VXFTT5U.mjs";import{a as Ag}from"./chunk-LVEMYZOA.mjs";import{d as xn,o as Ra,n as Ki,a as wu,i as Su,v as Iu,u as ku,h as fl,k as Cg,f as Mg,c as Js,m as Tu,l as qs}from"./chunk-HGW2U6PD.mjs";import{lazy as hl,memo as Rg,useContext as Hr,useState as j,Suspense as ml,Fragment as Lg,useRef as W,useEffect as O,useLayoutEffect as It,useCallback as J,useMemo as Se,cloneElement as Pg,useSyncExternalStore as jg,useId as zg}from"react";import{jsx as f,jsxs as M,Fragment as ct}from"react/jsx-runtime";import{Fingerprint as io,Component as gl,Reply as Eu,Ban as yl,Terminal as $g,PenLine as Dg,ImageIcon as Hg,Plug as Ng,SquareMousePointer as Og,ChevronRight as Us,ThumbsUp as Fg,Clock as Ys,ChevronDown as Vi,Check as xi,ChevronLeft as _g,X as Xs,Send as Au,Lock as Wg,ArrowDown as Bg,OctagonAlert as Cu,MessageCircleQuestionMark as Jg,TriangleAlert as qg,Command as Mu,CornerDownLeft as Ks,EyeOff as Ug}from"lucide-react";import{createPortal as Ru}from"react-dom";function Lu(e,t){return e.store===void 0&&(e.store=t),e.store}function Yg(e,t){let n=e.listeners??(e.listeners=new Set);return n.add(t),()=>n.delete(t)}function Xg(e,t,n){let r=n(Lu(e,t));e.store=r;for(let o of e.listeners??[])o();return r}var nt=globalThis.__POPMELT_BRIDGE_CONNECTION__??(globalThis.__POPMELT_BRIDGE_CONNECTION__={}),vl=nt.sourceId??(typeof localStorage<"u"?localStorage.getItem("popmelt-source-id"):null)??(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2));nt.sourceId=vl;try{typeof localStorage<"u"&&localStorage.setItem("popmelt-source-id",vl)}catch{}function Vs(){return vl}var bl={isConnected:!1,status:"disconnected",jobResponses:{},jobThinking:{},activeJobIds:[],activeJobThreads:{},currentResponse:"",currentThinking:"",events:[],activeJobId:null,lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[],capabilitiesVersion:0};nt.store??(nt.store={...bl}),nt.listeners??(nt.listeners=new Set);var Nr=nt.activeEs??null,xl=nt.activeBridgeUrl??null,ao=null,Xn=nt.connectionGeneration??0,La=new Set,wi=new Map,No={},wl=new Set,Oo=new Map;function zn(e,t){if(!e)return!1;if(wl.has(e))return!0;if(La.has(e)){let r=wi.get(e);return r||(r=[],wi.set(e,r)),r.push({type:t.type??"",data:t}),!0}let n=No[e];return n!==void 0&&typeof t.seq=="number"&&t.seq<=n}async function Pu(e,t,n,r=new Map){let o=()=>n!==(nt.connectionGeneration??0);for(let l of t){if(o())return;Oo.set(l,r.get(l)??Oo.get(l)),La.add(l),wi.set(l,[])}let{mergeBackfillHistory:i,selectBackfillTerminalEvent:a}=await import("./bridge-recovery-3IQN3U6D.mjs");o()||await Promise.all(t.map(async l=>{try{let s=await vu(e,l,-1,{retryUnavailable:!0});if(o()||wl.has(l))return;let d=wi.get(l)??[];if(s){pt(u=>{let h={...u.jobResponses,[l]:s.accumulated.response},m={...u.jobThinking,[l]:s.accumulated.thinking},g=i(u.events,l,s.events);return{...u,jobResponses:h,jobThinking:m,currentResponse:l===u.activeJobId?s.accumulated.response:u.currentResponse,currentThinking:l===u.activeJobId?s.accumulated.thinking:u.currentThinking,events:g}}),No[l]=s.currentSeq;let c=[...s.events].reverse().find(u=>u.type==="job_started"||u.type==="job_parked");c?.type==="job_parked"&&Gi("job_parked",c,l);let p=a(s.events,s.jobActive,r.get(l));p&&Gi(p.type,p,l);for(let u of d)typeof u.data.seq=="number"&&u.data.seq<=s.currentSeq||Gi(u.type,u.data,l)}else{let c=!1;for(let u of d)Gi(u.type,u.data,l),(u.type==="done"||u.type==="error")&&(c=!0);let p=r.get(l);!c&&p&&Gi(p.type,p,l)}Oo.delete(l)}finally{o()||(La.delete(l),wi.delete(l))}}))}function Gi(e,t,n){if(e==="job_parked")pt(r=>{let o=r.activeJobIds.filter(i=>i!==n);return{...r,activeJobIds:o,activeJobId:o.at(-1)??null,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}});else if(e==="job_started")pt(r=>({...r,status:"streaming",activeJobId:n,activeJobIds:[...new Set([...r.activeJobIds,n])],activeJobThreads:typeof t.threadId=="string"?{...r.activeJobThreads,[n]:t.threadId}:r.activeJobThreads,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}));else if(e==="delta"){let r=t.text||"";pt(o=>({...o,jobResponses:{...o.jobResponses,[n]:(o.jobResponses[n]||"")+r},currentResponse:n===o.activeJobId?o.currentResponse+r:o.currentResponse,events:[...o.events,{type:"delta",data:t,timestamp:Date.now()}]}))}else if(e==="thinking"){let r=t.text||"";pt(o=>({...o,jobThinking:{...o.jobThinking,[n]:(o.jobThinking[n]||"")+r},currentThinking:n===o.activeJobId?o.currentThinking+r:o.currentThinking,events:[...o.events,{type:"thinking",data:t,timestamp:Date.now()}]}))}else if(e==="status")pt(r=>({...r,events:[...r.events,{type:"status",data:t,timestamp:Date.now()}]}));else if(e==="done")delete No[n],pt(r=>{let o=r.activeJobIds.filter(d=>d!==n),i={...r.jobResponses},a={...r.jobThinking},l=i[n];delete i[n],delete a[n];let s=n===r.activeJobId?o.length>0?o[o.length-1]:null:r.activeJobId;return{...r,activeJobIds:o,activeJobId:s,jobResponses:i,jobThinking:a,lastCompletedJobId:n,lastResponseText:t.responseText||l||r.currentResponse||null,lastThreadId:t.threadId??null,...n===r.activeJobId?{currentResponse:s&&i[s]||"",currentThinking:s&&a[s]||""}:{},events:[...r.events,{type:"done",data:t,timestamp:Date.now()}]}});else if(e==="error"){delete No[n];let r=t.message??"";pt(o=>{let i=o.activeJobIds.filter(l=>l!==n),a=i.length>0?o.status:"error";return{...o,status:a,activeJobIds:i,lastCompletedJobId:n,lastErrorByJob:r?{...o.lastErrorByJob,[n]:r}:o.lastErrorByJob,events:[...o.events,{type:"error",data:t,timestamp:Date.now()}]}})}else pt(e==="question"?r=>{let o=typeof t.threadId=="string"?t.threadId:"",i=typeof t.question=="string"?t.question:"",a=Array.isArray(t.annotationIds)?t.annotationIds.filter(s=>typeof s=="string"):void 0,l=r.pendingQuestions.some(s=>s.jobId===n);return{...r,pendingQuestions:i&&o&&!l?[...r.pendingQuestions,{jobId:n,threadId:o,question:i,annotationIds:a,timestamp:Date.now()}]:r.pendingQuestions,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}}:r=>({...r,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}))}var Kn=nt.discoveredBridgeUrl??null,$n=nt.discoveredBridgeProjectId??null,Fo=null,Qi=null;function ju(e,t=!1){let n=e??null;if(!(!t&&(nt.expectedProjectId??null)===n)){Nr&&(Nr.close(),Nr=null,nt.activeEs=null),ao&&(clearTimeout(ao),ao=null),xl=null,nt.activeBridgeUrl=null,Kn=null,$n=null,nt.discoveredBridgeUrl=null,nt.discoveredBridgeProjectId=null,Fo=null,Qi=null,La.clear(),wi.clear(),wl.clear(),Oo.clear();for(let r of Object.keys(No))delete No[r];nt.expectedProjectId=n,Xn=(nt.connectionGeneration??Xn)+1,nt.connectionGeneration=Xn,pt(()=>({...bl}))}}function Kg(){nt.listeners?.size||ju(null,!0)}async function zu(e,t){if(Kn&&(t?$n===t:!$n))return Kn;if(!t&&$n&&(Kn=null,$n=null,nt.discoveredBridgeUrl=Kn,nt.discoveredBridgeProjectId=$n),t&&$n&&$n!==t&&(Kn=null,$n=null,nt.discoveredBridgeUrl=Kn,nt.discoveredBridgeProjectId=$n),Fo&&Qi===(t??null))return Fo;let n=Xn;return Qi=t??null,Fo=yg(e,t).then(r=>n!==Xn?null:(Kn=r?.url??null,$n=r?.projectId??t??null,nt.discoveredBridgeUrl=Kn,nt.discoveredBridgeProjectId=$n,Fo=null,Qi=null,Kn)).catch(()=>(n!==Xn||(Fo=null,Qi=null),null)),Fo}function Vg(){return Kn}async function Gg(e,t){Kn=null,$n=null,nt.discoveredBridgeUrl=null,nt.discoveredBridgeProjectId=null,Fo=null,Qi=null;let n=Xn,r=await zu(e,t);return r&&n===Xn&&Gs(r),r}function Pa(){return Lu(nt,{...bl})}function Qg(e){return Yg(nt,e)}function pt(e){Xg(nt,{...bl},t=>{let n=e(t),r=new Set(n.activeJobIds),o=n.activeJobId&&r.has(n.activeJobId)?n.activeJobId:n.activeJobIds.at(-1)??null;return{...n,activeJobId:o,activeJobThreads:Object.keys(n.activeJobThreads).some(i=>!r.has(i))?Object.fromEntries(Object.entries(n.activeJobThreads).filter(([i])=>r.has(i))):n.activeJobThreads,status:n.status==="streaming"&&r.size===0?"idle":n.status}})}function Zg(){return typeof window<"u"?window.__POPMELT_PROJECT_ID__??null:null}function Gs(e){if(Nr&&Nr.readyState!==EventSource.CLOSED&&xl===e)return;Nr&&(Nr.close(),Nr=null,nt.activeEs=null),ao&&(clearTimeout(ao),ao=null),xl=e,nt.activeBridgeUrl=xl,Xn=(nt.connectionGeneration??Xn)+1;let t=Xn;nt.connectionGeneration=Xn;let n=new URLSearchParams({sourceId:vl}),r=Zg();r&&n.set("projectId",r);let o=vg(`${e}/events?${n.toString()}`);Nr=o,nt.activeEs=Nr;let i=!1,a=()=>t!==(nt.connectionGeneration??0),l=()=>i||a();La.clear(),wi.clear();let s=5e3,d=()=>{a()||ao||(ao=setTimeout(()=>{ao=null,!a()&&Ma(e).then(p=>{a()||(p&&(!r||p.projectId===r)?Gs(e):(s=Math.min(s*2,3e4),d()))})},s))},c=()=>{l()||(i=!0,o.close(),pt(p=>({...p,isConnected:!1,status:"disconnected"})),d())};o.addEventListener("connected",()=>{l()||Ma(e).then(async p=>{if(l())return;if(!p||r&&p.projectId!==r){c();return}let u=[...p?.activeJobs??(p?.activeJob?[p.activeJob]:[]),...p?.queuedJobs?.filter(z=>z.parked)??[]],h=p?.recentJobs??[],{planBridgeReconnectRecovery:m}=await import("./bridge-recovery-3IQN3U6D.mjs");if(l())return;let g=m(Pa().activeJobIds,u,h),{serverActiveIds:x,terminalJobs:S}=g,D=S.map(z=>z.id),H=new Map(Oo);for(let z of S)H.set(z.id,z.status==="error"?{type:"error",jobId:z.id,message:z.error??"The agent run failed.",threadId:z.threadId,annotationIds:z.annotationIds}:{type:"done",jobId:z.id,success:!0,threadId:z.threadId,annotationIds:z.annotationIds});pt(z=>{let Z={...z.lastErrorByJob};for(let N of S)N?.status==="error"&&N.error&&(Z[N.id]=N.error);let k=m(z.activeJobIds,u,h).reconciledActiveIds,V={};for(let N of u)N.threadId&&(V[N.id]=N.threadId);return{...z,isConnected:!0,status:k.length>0?"streaming":D.length>0||z.status==="disconnected"?"idle":z.status,activeJobId:k.length>0?k[k.length-1]:null,activeJobIds:k,activeJobThreads:V,lastErrorByJob:Z,workspaceGeneration:p?.workspaceGeneration}});let w=[...new Set([...x,...D,...Oo.keys()])];w.length>0&&Pu(e,w,t,H).catch(c)}).catch(c)}),o.addEventListener("job_parked",p=>{if(l())return;let u=JSON.parse(p.data);zn(u.jobId,u)||Gi("job_parked",u,u.jobId)}),o.addEventListener("thread_changed",p=>{if(l())return;let u=JSON.parse(p.data);pt(h=>({...h,events:[...h.events,{type:"thread_changed",data:u,timestamp:Date.now()}]}))}),o.addEventListener("job_started",p=>{if(l())return;let u=JSON.parse(p.data),h=u.jobId;if(zn(h,u))return;let m=u.threadId;pt(g=>({...g,status:"streaming",activeJobId:h,activeJobIds:g.activeJobIds.includes(h)?g.activeJobIds:[...g.activeJobIds,h],activeJobThreads:m?{...g.activeJobThreads,[h]:m}:g.activeJobThreads,jobResponses:{...g.jobResponses,[h]:g.jobResponses[h]??""},jobThinking:{...g.jobThinking,[h]:g.jobThinking[h]??""},currentResponse:g.jobResponses[h]??"",currentThinking:g.jobThinking[h]??"",lastResponseText:null,lastThreadId:null,events:[...g.events,{type:"job_started",data:u,timestamp:Date.now()}]}))}),o.addEventListener("delta",p=>{if(l())return;let u=JSON.parse(p.data),h=u.jobId;if(zn(h,u))return;let m=u.text||"";pt(g=>({...g,jobResponses:h?{...g.jobResponses,[h]:(g.jobResponses[h]||"")+m}:g.jobResponses,currentResponse:!h||h===g.activeJobId?g.currentResponse+m:g.currentResponse,events:[...g.events,{type:"delta",data:u,timestamp:Date.now()}]}))}),o.addEventListener("thinking",p=>{if(l())return;let u=JSON.parse(p.data),h=u.jobId;if(zn(h,u))return;let m=u.text||"";pt(g=>({...g,jobThinking:h?{...g.jobThinking,[h]:(g.jobThinking[h]||"")+m}:g.jobThinking,currentThinking:!h||h===g.activeJobId?g.currentThinking+m:g.currentThinking,events:[...g.events,{type:"thinking",data:u,timestamp:Date.now()}]}))}),o.addEventListener("status",p=>{if(l())return;let u=JSON.parse(p.data),h=u.jobId;zn(h,u)||pt(m=>({...m,events:[...m.events,{type:"status",data:u,timestamp:Date.now()}]}))}),o.addEventListener("orientation",p=>{if(l())return;let u=JSON.parse(p.data),h=u.jobId;zn(h,u)||pt(m=>({...m,events:[...m.events,{type:"orientation",data:u,timestamp:Date.now()}]}))}),o.addEventListener("approval",p=>{if(l())return;let u=JSON.parse(p.data);zn(u.jobId,u)||pt(h=>({...h,events:[...h.events,{type:"approval",data:u,timestamp:Date.now()}]}))}),o.addEventListener("imprint_used",p=>{if(l())return;let u=JSON.parse(p.data),h=u.jobId;zn(h,u)||pt(m=>({...m,events:[...m.events,{type:"imprint_used",data:u,timestamp:Date.now()}]}))}),o.addEventListener("tool_use",p=>{if(l())return;let u=JSON.parse(p.data),h=u.jobId;zn(h,u)||pt(m=>({...m,events:[...m.events,{type:"tool_use",data:u,timestamp:Date.now()}]}))});for(let p of["image_generation","image_ready"])o.addEventListener(p,u=>{if(l())return;let h=JSON.parse(u.data),m=h.jobId;zn(m,h)||pt(g=>({...g,events:[...g.events,{type:p,data:h,timestamp:Date.now()}]}))});o.addEventListener("done",p=>{if(l())return;let u=JSON.parse(p.data),h=u.jobId;zn(h,u)||(h&&delete No[h],pt(m=>{let g=h?m.activeJobIds.filter(z=>z!==h):m.activeJobIds,x={...m.jobResponses},S={...m.jobThinking},D={...m.activeJobThreads},H=h?x[h]:void 0;h&&(delete x[h],delete S[h],delete D[h]);let w=h===m.activeJobId?g.length>0?g[g.length-1]:null:m.activeJobId;return{...m,activeJobIds:g,activeJobId:w,jobResponses:x,jobThinking:S,lastCompletedJobId:h??m.activeJobId,lastResponseText:u.responseText||H||m.currentResponse||null,lastThreadId:u.threadId??null,...h===m.activeJobId?{currentResponse:w&&x[w]||"",currentThinking:w&&S[w]||""}:{},events:[...m.events,{type:"done",data:u,timestamp:Date.now()}]}}))}),o.addEventListener("question",p=>{if(l())return;let u=JSON.parse(p.data),h=u.jobId;zn(h,u)||pt(m=>({...m,pendingQuestions:[...m.pendingQuestions,{jobId:u.jobId,threadId:u.threadId,question:u.question,annotationIds:u.annotationIds,timestamp:Date.now()}],events:[...m.events,{type:"question",data:u,timestamp:Date.now()}]}))}),o.addEventListener("capabilities_changed",()=>{l()||pt(p=>({...p,capabilitiesVersion:p.capabilitiesVersion+1}))}),o.addEventListener("workspace_cleared",p=>{if(l())return;let u=JSON.parse(p.data);typeof u.workspaceGeneration!="number"||!Number.isInteger(u.workspaceGeneration)||u.workspaceGeneration<0||pt(h=>{for(let m of[...h.activeJobIds,...Oo.keys()])wl.add(m);return Oo.clear(),{...h,workspaceGeneration:u.workspaceGeneration,status:"idle",activeJobId:null,activeJobIds:[],activeJobThreads:{},jobResponses:{},jobThinking:{},currentResponse:"",currentThinking:"",events:[],lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[]}})}),o.addEventListener("queue_drained",()=>{if(l())return;let p=[...Pa().activeJobIds];if(p.length===0){pt(u=>({...u,status:u.status==="error"?"error":"idle",incrementalResolutions:[]}));return}Pu(e,p,t).then(()=>{l()||pt(u=>({...u,status:u.activeJobIds.length>0?u.status:u.status==="error"?"error":"idle",incrementalResolutions:u.activeJobIds.length>0?u.incrementalResolutions:[]}))}).catch(c)}),o.addEventListener("error",p=>{if(!l()){if(o.readyState===EventSource.CLOSED)c();else if(p instanceof MessageEvent){let u=JSON.parse(p.data),h=u.jobId??null;if(zn(h??void 0,u))return;h&&delete No[h];let m=u.message??"";pt(g=>{let x=h?g.activeJobIds.filter(D=>D!==h):g.activeJobIds,S=x.length>0?g.status:"error";return{...g,status:S,activeJobIds:x,lastCompletedJobId:h??g.activeJobId,lastErrorByJob:h&&m?{...g.lastErrorByJob,[h]:m}:g.lastErrorByJob,events:[...g.events,{type:"error",data:u,timestamp:Date.now()}]}})}}}),o.onerror=()=>{l()||o.readyState===EventSource.CLOSED&&pt(p=>({...p,isConnected:!1,status:"disconnected"}))}}function ey(e="http://localhost:1111",t=!0,n){let r=jg(Qg,Pa,Pa);O(()=>{if(ju(n),!t)return;let a=!1;return zu(e,n).then(l=>{!l||a||Ma(l).then(s=>{!a&&s&&(!n||s.projectId===n)&&Gs(l)})}),()=>{a=!0}},[e,t,n]);let o=J(()=>{pt(()=>({...Pa(),events:[],currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastResponseText:null,lastThreadId:null,lastErrorByJob:{},incrementalResolutions:[]}))},[]),i=J(a=>{pt(l=>({...l,pendingQuestions:l.pendingQuestions.filter(s=>s.threadId!==a)}))},[]);return{...r,clearEvents:o,dismissQuestion:i}}function $u(e,t,n,r,o){let i=`devtools-model-id:${r}`,[a,l]=j(()=>typeof window>"u"?"":localStorage.getItem(i)??""),s=o?.(a)??!1,d=s?-1:e.findIndex(u=>u.id===a),c=d>=0?d:0,p=J(u=>{l(u),localStorage.setItem(i,u)},[i]);return O(()=>{n&&a&&(s||t&&d<0&&e.some(u=>u.id))&&p("")},[n,t,a,d,e,p,s]),{index:c,select:p}}function ty(e,t,n){let r=e.flatMap(({requestedAt:a,resolvedAt:l})=>Number.isFinite(a)&&Number.isFinite(l)?[[Math.max(t,a),Math.min(n,l)]]:[]).sort((a,l)=>a[0]-l[0]),o=t,i=0;for(let[a,l]of r)i+=Math.max(0,l-Math.max(o,a)),o=Math.max(o,l);return i}function Du(e){let t=new Map,n=new Set;for(let r of e)if(r.type==="approval"){let o=r.data.approval;t.set(o.id,o)}else(r.type==="done"||r.type==="error")&&n.add(String(r.data.jobId));return new Set([...t.values()].filter(r=>r.status==="pending"&&!n.has(r.jobId)).map(r=>r.jobId))}function Hu(e){let t=new MutationObserver(n=>{let r=n.filter(o=>document.body.contains(o.target)||o.target===document.documentElement&&[...o.addedNodes,...o.removedNodes].some(i=>i instanceof Element&&i.tagName==="BODY"));r.length&&e(r)});return t.observe(document.documentElement,{childList:!0,subtree:!0}),t}function ny(e,t,n,r=8*1024*1024){let o=d=>JSON.stringify({id:e,clientId:t,result:d}),i=d=>new TextEncoder().encode(d).length<=r,a=o(n);if(i(a))return a;let l=Array.isArray(n.images)?n.images:[],s=[l.filter(d=>d.kind==="annotated-viewport"),l.filter(d=>d.kind!=="annotated-viewport"),[]];for(let d of s){let c=o({...n,images:d,visualEvidence:{status:"partial",reason:"response_size_limit",omitted:l.filter(p=>!d.includes(p)).map(p=>p.kind)}});if(i(c))return c}return o({status:"context_too_large",targetKey:n.targetKey,images:[],warning:"Context exceeds the response limit even without images."})}function ry(e,t,n){let r=W(n);r.current=n;let[o,i]=j([]),a=h=>i(h?[h]:[]),l=W(null),s=W(null),d=W(null),c=J(()=>d.current?.(),[]),p=J(h=>{l.current=h,s.current?.(h)},[]),u=W(null);return O(()=>{if(!e)return;u.current?.url!==t&&(u.current={url:t,clientId:crypto.randomUUID(),sequence:0,sending:!1});let h=u.current,m={clientId:h.clientId,sequence:0,page:location.origin+location.pathname,title:document.title,active:!0,windowFocused:document.hasFocus(),lastInteractionAt:0,blurredAt:0,hover:null,pinned:null,history:[]},g=null,x=new WeakMap,S=new Map,D,H=!1,w,z=0,Z=()=>{let F=location.origin+location.pathname;m.page!==F&&(m.page=F,m.title=document.title,m.hover=null,m.pinned=null,m.history=[],m.recent=null,m.selected=null,S.clear(),g=null,m.lastInteractionAt=0),m.sequence=++h.sequence,h.pendingBody=JSON.stringify(m),!h.sending&&(h.sending=!0,(async()=>{for(;h.pendingBody;){let R=h.pendingBody;h.pendingBody=void 0;try{await Yt(`${t}/focus`,{method:"POST",headers:{"Content-Type":"application/json"},body:R,signal:AbortSignal.timeout(3e3)})}catch{}}h.sending=!1})())},k=(F,R)=>{x.has(F)||x.set(F,crypto.randomUUID());let $=mn(F),P=xn(F),A=getComputedStyle(F),ne={...R?{subject:R}:{},key:x.get(F),capturedAt:Date.now(),selector:$.selector,tagName:$.tagName,text:$.textContent?.slice(0,200),component:$.reactComponent,source:$.reactSource,rect:{x:P.x,y:P.y,width:P.width,height:P.height},styles:Object.fromEntries(["color","background-color","font-size","font-family","display","padding","border-radius"].map(re=>[re,A.getPropertyValue(re)]))};if(S.set(ne.key,{element:F,target:ne}),S.size>32){let re=[...S.keys()].find(ee=>ee!==m.pinned?.key);re&&S.delete(re)}return ne},V=F=>{let R=F?.element??null,$=F?.selection==="selected",P=m.selected??m.hover;R===g&&!!m.selected===$&&P?.subject?.key===F?.subject?.key||(g=R,clearTimeout(D),D=setTimeout(()=>{if(H)return;let A=R?.isConnected&&!Ra(R,"input, textarea, select, [contenteditable], [data-popmelt-private], [data-popmelt-canvas-block], [data-devtools]")?k(R,F?.subject):null;m.selected=$?A:null,m.hover=$?null:A,$&&(m.recent=null),m.hover&&(m.history=[...m.history,m.hover].slice(-8)),m.windowFocused&&(m.recent=null),Z()},R&&!$?120:0))};s.current=V,d.current=()=>{H||document.visibilityState!=="visible"||(m.lastInteractionAt=Date.now(),m.windowFocused=document.hasFocus(),!w&&(w=setTimeout(()=>{w=void 0,z=Date.now(),Z()},Math.max(0,250-(Date.now()-z)))))},V(l.current);let N=()=>{m.windowFocused=document.hasFocus(),m.blurredAt=m.windowFocused?0:Date.now(),m.recent=m.windowFocused?null:m.hover,Z()},Y=()=>{m.active=document.visibilityState==="visible",m.active?V(l.current):(clearTimeout(D),m.hover=null,m.history=[],m.recent=null,m.selected=null,S.clear(),g=null,m.lastInteractionAt=0),Z()};document.addEventListener("visibilitychange",Y),window.addEventListener("focus",N),window.addEventListener("blur",N);let q=setInterval(Z,1e4),ie=!1,I,Q=new Set,L=setInterval(async()=>{if(!(H||ie||document.visibilityState!=="visible")){ie=!0;try{let F=await Yt(`${t}/focus/requests?clientId=${m.clientId}`,{signal:AbortSignal.timeout(3e3)});if(!F.ok)return;let R=await F.json();for(let $ of R){if(Q.has($.id)||H||$.expiresAt<Date.now())continue;Q.add($.id),Q.size>64&&Q.delete(Q.values().next().value);let P=S.get($.targetKey),A={status:"target_unavailable"};if($.tasteProposal){let{tasteProposalSession:ne}=await import("./taste-proposal-session-XU4N7RUV.mjs");if(H||$.expiresAt<Date.now())continue;let re=document.activeElement;for(;re?.shadowRoot?.activeElement;)re=re.shadowRoot.activeElement;A=re?.matches("input, textarea, select, [contenteditable]")&&Ra(re,"[data-taste-editor]")&&$.tasteProposal.action!=="inspect"?{status:"busy",reason:"The human is editing a proposal field. Retry after editing ends."}:ne.command($.tasteProposal)}else if($.workspace){let{collectWorkspaceSnapshot:ne,workspaceAttentionTarget:re}=await import("./workspace-snapshot-LKQWBDNS.mjs");if(H||$.expiresAt<Date.now())continue;A=ne(r.current.state,$.workspace);let ee=$.workspace.entryId?[$.workspace.entryId]:"entries"in A?A.entries.map(U=>U.id):[],oe=[...new Set(ee.map(U=>re(r.current.state,U,r.current.registry)).filter(U=>!!U))];i(oe);for(let U of oe)U instanceof HTMLElement&&U.hasAttribute("data-popmelt-thread-header")&&Ag(U,U);if(oe.length&&(clearTimeout(I),I=setTimeout(()=>a(null),Math.max(0,$.expiresAt-Date.now())),await new Promise(U=>requestAnimationFrame(()=>setTimeout(U,0))),H))break;A.attention=$.workspace.entryId?oe.length?"shown":re(r.current.state,$.workspace.entryId,r.current.registry,!0)?"target_offscreen":"target_missing_hidden_or_ambiguous":{shown:oe.length,requested:ee.length}}else if(P?.element.isConnected&&m.page===location.origin+location.pathname&&!Ra(P.element,"[data-popmelt-private], input, textarea, select, [contenteditable]"))try{let ne=$.attentionOnly?null:(await import("./focus-inspection-GJKMI6OE.mjs")).inspectFocusElement;if(H||$.expiresAt<Date.now()||!P.element.isConnected||m.page!==location.origin+location.pathname)continue;if(a(P.element),clearTimeout(I),I=setTimeout(()=>a(null),Math.max(0,$.expiresAt-Date.now())),await new Promise(re=>requestAnimationFrame(()=>setTimeout(re,0))),H)break;A=ne?await ne(P.element,P.target,$.screenshot,r.current):{status:"ok",attention:"shown"}}catch{A={status:"capture_failed"}}if(H||document.visibilityState!=="visible")break;(await Yt(`${t}/focus/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:ny($.id,m.clientId,A),signal:AbortSignal.timeout(3e3)})).ok||await Yt(`${t}/focus/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:$.id,clientId:m.clientId,result:{status:"response_rejected"}}),signal:AbortSignal.timeout(3e3)}),clearTimeout(I),a(null)}}catch{}finally{clearTimeout(I),H||a(null),ie=!1}}},1e3);return Y(),()=>{H=!0,clearTimeout(D),clearTimeout(w),clearInterval(q),clearInterval(L),clearTimeout(I),a(null),document.removeEventListener("visibilitychange",Y),window.removeEventListener("focus",N),window.removeEventListener("blur",N),s.current=null,d.current=null,S.clear(),m.hover=null,m.selected=null,m.history=[],m.active=!1,Z()}},[e,t]),{onCanvasFocusChange:p,onCanvasActivity:c,inspectingElement:e?o[0]??null:null,inspectingElements:e?o:[]}}function oy(e,t,n,r){let[o,i]=j(null),[a,l]=j(null),s=W(0),d=W(Promise.resolve(!0)),c=J(()=>{s.current=Date.now()},[]),p=J(h=>{s.current=Date.now(),i(h)},[]),u=J(h=>l(m=>JSON.stringify(m)===JSON.stringify(h)?m:h),[]);return O(()=>{if(!e||!r)return;let h=o?.element;if(h&&Ra(h,"[data-private], [data-sensitive]"))return;let m=a?.targets??(h?[{selector:o?.subject?uu(o.subject):Ho(h),...o?.subject?{subject:o.subject}:{}}]:[]);if(!m.length)return;let g={pathname:window.location.pathname,ownerId:t,color:n,targets:m,activity:"looking",...a?{threadId:a.threadId}:{}},x=!1,S=null,D=!1,H=(N,Y,q)=>{let ie=d.current.then(()=>N!=="finish"&&(x||S!==Y)?!1:e(N,Y,q));return d.current=ie.catch(()=>!1),ie},w=()=>{let N=S;S=null,N&&H("finish",N).catch(()=>{})},z=async()=>{if(x||D)return;if(!(document.visibilityState!=="hidden"&&document.hasFocus()&&g.pathname===window.location.pathname&&(a||h?.isConnected&&(o?.selection==="selected"||Date.now()-s.current<5e3)))){w();return}D=!0;let N=S?"renew":"start",Y=S??crypto.randomUUID();S=Y;try{!await H(N,Y,g)&&S===Y&&(S=null),x&&w()}catch{S===Y&&(S=null)}finally{D=!1}},Z=setTimeout(z,120),k=setInterval(z,1e3),V=()=>w();return window.addEventListener("blur",V),window.addEventListener("focus",z),document.addEventListener("visibilitychange",z),()=>{x=!0,clearTimeout(Z),clearInterval(k),w(),window.removeEventListener("blur",V),window.removeEventListener("focus",z),document.removeEventListener("visibilitychange",z)}},[e,r,t,n,o,a]),{onFocus:p,onActivity:c,onThread:u}}var Sl="data-popmelt-preview-target",Nu="script,iframe,object,embed,link,meta,base,style,template";function iy({root:e,targets:t,revision:n,width:r,height:o,cleanClone:i}){let a=e.cloneNode(!0),l=[e,...e.querySelectorAll("*")],s=[a,...a.querySelectorAll("*")],d=new Set,c=new Map;for(let[u,h]of t){if(!u||!l.includes(h))throw new Error("Target is outside the preview root");if(c.has(h))throw new Error("Target has multiple identities");c.set(h,u)}l.forEach((u,h)=>{let m=s[h];(u.shadowRoot||u.matches("canvas,video"))&&d.add("Shadow DOM, canvas and video state are not mirrored");for(let x of[...m.attributes])(/^on/i.test(x.name)||["src","srcset","href","xlink:href","action","formaction","autofocus","contenteditable",Sl].includes(x.name))&&m.removeAttribute(x.name);u instanceof HTMLInputElement&&(u.type==="password"||u.type==="file"?m.removeAttribute("value"):m.setAttribute("value",u.value),m.toggleAttribute("checked",u.checked)),u instanceof HTMLTextAreaElement&&(m.textContent=u.value),u instanceof HTMLOptionElement&&m.toggleAttribute("selected",u.selected);let g=c.get(u);g&&m.setAttribute(Sl,g),i?.(u,m)});for(let u of a.querySelectorAll(Nu))u.remove();for(let u of a.querySelectorAll("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-root], popmelt-root"))u.remove();if(a.matches(Nu))throw new Error("Unsupported preview root");let p="";for(let u of e.ownerDocument.styleSheets)if(!(u.ownerNode instanceof Element&&u.ownerNode.closest("[data-devtools], [data-popmelt-top-layer-host]")))try{p+=[...u.cssRules].map(h=>h.cssText).join(`
3
+ `)+`
4
+ `}catch{d.add("An inaccessible stylesheet was omitted")}return d.add("Static snapshot: no scripts, external assets, event handlers or application runtime"),{revision:n,html:e.tagName==="BODY"?a.innerHTML:a.outerHTML,...e.tagName==="BODY"?{bodyAttributes:Object.fromEntries([...a.attributes].map(u=>[u.name,u.value]))}:{},css:p,width:r,height:o,warnings:[...d]}}function Ou(e,t){let n=[...e.querySelectorAll(`[${Sl}]`)].filter(r=>r.getAttribute(Sl)===t);return n.length===1?n[0]:null}var ay=class{constructor(e){this.generation=0,this.cancelPending=null,this.current=null,this.disposed=!1,this.frame=e.ownerDocument.createElement("iframe"),this.frame.setAttribute("sandbox","allow-same-origin"),this.frame.title="Peer plane preview",this.frame.style.cssText="border:0;display:block;pointer-events:none;",this.frame.tabIndex=-1,e.append(this.frame)}async render(e,t,n){if(this.disposed)throw new Error("Preview surface was disposed");this.cancelPending?.();let r=++this.generation;this.current=null,this.frame.width=String(e.width),this.frame.height=String(e.height);let o=this.frame.ownerDocument.implementation.createHTMLDocument("Peer preview"),i=o.createElement("meta");i.httpEquiv="Content-Security-Policy",i.content="default-src 'none'; style-src 'unsafe-inline'; form-action 'none'; base-uri 'none'; script-src 'none'",o.head.prepend(i);let a=o.createElement("style");a.textContent=e.css.replace(/<\/style/gi,"<\\/style"),o.head.append(a),o.body.innerHTML=e.html;for(let[s,d]of Object.entries(e.bodyAttributes??{}))o.body.setAttribute(s,d);let l=o.createElement("style");return l.textContent="*,*::before,*::after{animation:none!important;transition:none!important;caret-color:transparent!important}",o.head.append(l),o.documentElement.dataset.previewGeneration=String(r),new Promise(s=>{let d=h=>{clearTimeout(u),this.frame.removeEventListener("load",p),this.cancelPending===c&&(this.cancelPending=null),s(h)},c=()=>d(!1),p=()=>{if(r!==this.generation||this.frame.contentDocument?.documentElement.dataset.previewGeneration!==String(r))return;let h=this.frame.contentDocument;n?.(h);for(let m of t.artifacts)m.kind==="style"&&Ou(h,m.targetKey)?.style.setProperty(m.property,m.value,"important");this.current={baseline:e,plane:{...t}},d(!0)},u=setTimeout(c,5e3);this.cancelPending=c,this.frame.addEventListener("load",p),queueMicrotask(()=>{!this.disposed&&r===this.generation&&(this.frame.srcdoc="<!doctype html>"+o.documentElement.outerHTML)})})}inspect(e,t){let n=this.current,r=this.frame.contentDocument;if(!n||!r)return null;let o=Ou(r,e);if(!o)return null;let i=this.frame.contentWindow.getComputedStyle(o),a=o.getBoundingClientRect();return{planeId:n.plane.id,planeRevision:n.plane.revision,sourceRevision:n.baseline.revision,targetKey:e,styles:Object.fromEntries(t.map(l=>[l,i.getPropertyValue(l)])),rect:{x:a.x,y:a.y,width:a.width,height:a.height}}}dispose(){this.disposed=!0,++this.generation,this.cancelPending?.(),this.current=null,this.frame.remove()}};function ly(e,t){return{id:e,ownerId:t,revision:0,artifacts:[],undo:[],redo:[],attention:null}}function Qs(e){return ll(e).flatMap(t=>t==="color"?[...Jc]:[t])}function sy(e,t){if(e===void 0)return{families:Ui.map(n=>({family:n,label:Ms(n)}))};if(!Ui.includes(e))throw new Error("Unknown omnidial family");if(!t)return{family:e,subproperties:Qs(e)};if(!Qs(e).includes(t))throw new Error("Unknown omnidial subproperty");return{family:e,subproperty:t,...e==="transform"&&t==="translate"?{composedToken:"translate-x-<xStep>-y-<yStep>",axisSteps:vi(e,t)}:{},tokens:vi(e,t).map(n=>({token:al(e,n,t),value:qi(e,n,t)}))}}function dy(e,t){if(t!==void 0&&!Ui.includes(t))throw new Error("Unknown omnidial family");let n=/^translate-x-(-?\d+)-y-(-?\d+)$/.exec(e);if(n&&(!t||t==="transform")){let o=vi("transform","translate"),i=o.find(l=>String(l)===n[1]),a=o.find(l=>String(l)===n[2]);if(i!==void 0&&a!==void 0)return{family:"transform",subproperty:"translate",step:i,axisSteps:{x:i,y:a}}}let r=[];for(let o of t?[t]:Ui)for(let i of Qs(o))for(let a of vi(o,i))al(o,a,i)===e&&r.push({family:o,subproperty:i,step:a});if(r.length>1)throw new Error("Ambiguous omnidial token; include its family (for example stack or grid)");if(!r.length)throw new Error("Unknown omnidial token; discover available tokens or use an explicit custom property/value");return r[0]}function Fu(e,t,n,r){let o=e.ownerDocument.defaultView.getComputedStyle(e),i=Rc(t,r),a=qi(t,n,r),l=Pc(t),s=jc(t,r,n),d=t==="border"&&!yi(t,r)&&typeof n=="number"&&n>0?zc(r):null,c={family:t,subproperty:Bc(t,r),step:n},p=[{property:i,original:o.getPropertyValue(i).trim()||"0px",modified:a,token:al(t,n,r),sticker:c}];l&&p.unshift({property:"display",original:o.getPropertyValue("display").trim()||"block",modified:l,token:l,sticker:c});for(let u of s)p.push({property:u.property,original:o.getPropertyValue(u.property).trim(),modified:u.value,token:u.token,sticker:c});if(d){let u=o.getPropertyValue(d).trim();(!u||u==="none")&&p.push({property:d,original:u||"none",modified:"solid",token:al(t,n,r),sticker:c})}return{alreadyApplied:Lc(t,n,r,u=>o.getPropertyValue(u)),changes:p}}function _u(e,t,n){let r=e.ownerDocument.defaultView.getComputedStyle(e),o="translate",i=`${Number(t)*4}px ${Number(n)*4}px`,a={family:"transform",subproperty:"translate",step:t,axisSteps:{x:t,y:n}};return{alreadyApplied:r.getPropertyValue(o).trim()===i,changes:[{property:o,original:r.getPropertyValue(o).trim()||"none",modified:i,token:`translate-x-${t}-y-${n}`,sticker:a}]}}function cy(e,t){for(let n of t.changes)it(e,n.property,n.modified)}var uy=new Set(["text","transform","opacity"]),py=new Set(["padding","margin","border","radius","color"]);function fy(e){return e instanceof SVGSVGElement&&!(e.parentElement instanceof SVGElement)}function hy(e){return e!=="text-align"}function Il(e,t,n){return Dr(e)?e instanceof HTMLElement?!0:t==="text"&&!hy(n)?!1:uy.has(t)||fy(e)&&py.has(t):!1}function ja(e){return[...new Set([...e?.annotations.flatMap(t=>t.linkedSelector?[t.linkedSelector]:[])??[],...e?.styleModifications.map(t=>t.selector)??[],...e?.textModifications.map(t=>t.selector)??[]])]}function my(e,t){return Object.keys(t).filter(n=>e[n]!==void 0&&e[n]!==t[n])}function Wu(e,t){return Object.keys(e).length===Object.keys(t).length&&Object.keys(t).every(n=>e[n]===t[n])}function Zs(e,t,n,r){let o={...e};for(let i of r){if(n[i]===void 0){delete o[i];continue}o[i]=t[i]??e[i]??n[i]}return o}function gy(e){let t=e.ownerDocument.defaultView.getComputedStyle(e),n=Array.from(t).filter(i=>!i.startsWith("--")).map(i=>`${i}:${t.getPropertyValue(i)}`).join(";"),r=e.outerHTML+n,o=2166136261;for(let i=0;i<r.length;i++)o=Math.imul(o^r.charCodeAt(i),16777619);return`target-v2:${(o>>>0).toString(16)}`}var sr=()=>location.origin+location.pathname;function kl(e){let t=document.querySelectorAll(e),n=t[0];if(t.length!==1||!(n instanceof HTMLElement||n instanceof SVGElement)||n.closest("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-canvas-block]"))throw new Error("Target must resolve to exactly one app element");if(n.matches("input,textarea,select,[contenteditable],script,style")||n.closest("[data-private], [data-sensitive]"))throw new Error("Private/editable controls are outside the peer preview");return n}var Bu=class{constructor(){this.sources={},this.changed=[],this.container=document.createElement("div"),this.container.dataset.popmeltPeerSurface="",this.container.setAttribute("aria-hidden","true"),this.container.style.cssText="position:fixed;left:-100000px;top:0;pointer-events:none;",document.body.append(this.container),this.surface=new ay(this.container)}async render(e,t,n,r=!1){if(t.domModifications.length||t.spacingTokenChanges.length)throw new Error("Independent previews do not yet support staged structure or spacing-token edits; your draft is preserved");let o=e.state??pl,i=new Set([...n?[n]:[],...ja(o)]),a=new Map;for(let c of i)a.set(c,kl(c));let l=new Map;for(let c of t.textModifications){let p=document.querySelector(c.selector);p&&l.set(p,[...l.get(p)??[],c])}let s=iy({root:document.body,targets:a,revision:sr(),width:innerWidth,height:innerHeight,cleanClone:(c,p)=>{if(!r){eg(c,p);for(let u of l.get(c)??[]){let h=p;for(let m of u.textNodePath)h=h?.childNodes[m];h?.nodeType===Node.TEXT_NODE&&(h.nodeValue=u.original)}}}}),d=ly(e.identity.id,e.identity.id);if(d.revision=e.revision,r||(d.artifacts=o.styleModifications.flatMap(c=>c.changes.map(p=>({kind:"style",id:c.selector+p.property,targetKey:c.selector,property:p.property,value:p.modified})))),!await this.surface.render(s,d,c=>{this.sources=Object.fromEntries([...i].map(p=>[p,gy(c.querySelector(`[data-popmelt-preview-target="${CSS.escape(p)}"]`))])),this.changed=my(e.basis??{},this.sources)}))throw new Error("Preview superseded or unavailable");return this.surface.frame.contentWindow?.scrollTo(scrollX,scrollY),s.warnings}async execute(e,t){let{action:n}=e,r=structuredClone(e.peer);if(n.type==="prepare-send"){if(!ja(r.state).length)throw new Error("There are no peer changes to send");if(await this.render(r,t),!e.observedSources||Object.keys(this.sources).some(s=>e.observedSources[s]!==this.sources[s]))throw new Error("Source changed since the last preview. Take another look, then send again.");return this.changed.length&&r.revision++,r.basis={...this.sources},delete r.pendingRevision,{peer:r,sources:this.sources}}if(n.type==="check-source"){let s={...r,state:{...structuredClone(pl),annotations:Object.keys(n.sources).map((d,c)=>({id:`source-${c}`,type:"text",text:"",points:[],strokeWidth:1,color:r.color,timestamp:0,linkedSelector:d}))}};if(await this.render(s,t),!Wu(n.sources,this.sources))throw new Error("Source changed since Send. Preview the current source and send again.");return{peer:r,evidence:{status:"source-current"}}}if(n.type==="tokens")return{peer:r,evidence:sy(n.family,n.subproperty)};let o=r.state??{...structuredClone(pl),isAnnotating:!0,activeColor:r.color},i=o,a,l=s=>{i=_m(i,s)};if(n.type==="send")throw new Error("Send requires the implementation bridge");if(n.type==="rebase")await this.render(r,t),r.basis={...this.sources},r.revision++,delete r.pendingRevision,a={status:"rebased",note:"Draft preserved against current source; Send requires a new approval if in Suggest."};else if(n.type==="undo"||n.type==="redo"){l({type:n.type==="undo"?"UNDO":"REDO"}),await this.render({...r,state:i},t);let s=[...new Set([...ja(o),...ja(i)])].filter(d=>{let c=p=>JSON.stringify([p.annotations.filter(u=>u.linkedSelector===d),p.styleModifications.filter(u=>u.selector===d)]);return c(o)!==c(i)});r.basis=Zs(r.basis??{},e.observedSources??{},this.sources,s)}else if(n.type==="attention"&&!n.selector)r.attention=null;else if(n.type==="clear"){let s=n.kind!=="style"&&o.annotations.some(c=>c.linkedSelector===n.selector),d=n.kind!=="comment"&&o.styleModifications.some(c=>c.selector===n.selector);if(!s&&!d)return{peer:r,evidence:{status:"nothing-to-clear"}};i={...o,annotations:n.kind==="style"?o.annotations:o.annotations.filter(c=>c.linkedSelector!==n.selector),styleModifications:n.kind==="comment"?o.styleModifications:o.styleModifications.filter(c=>c.selector!==n.selector),undoStack:[...o.undoStack,{annotations:o.annotations,styleModifications:o.styleModifications,textModifications:o.textModifications,domModifications:o.domModifications,spacingTokenChanges:o.spacingTokenChanges,spacingTokenMods:o.spacingTokenMods}],redoStack:[]},await this.render({...r,state:i},t),r.basis=Zs(r.basis??{},e.observedSources??{},this.sources,[n.selector])}else if("selector"in n&&n.selector){let s=kl(n.selector),d=mn(s),c=n.selector;if(n.type==="inspect"){let p=await this.render(r,t,c,n.plane==="host");a={...this.surface.inspect(c,n.properties??[]),element:d,warnings:p,view:n.plane??"own",url:sr(),changedSourceTargets:n.plane==="host"?void 0:this.changed}}else if(n.type==="style")if("token"in n){let p=dy(n.token,n.family);if(!Il(s,p.family,p.subproperty))throw new Error("This omnidial token does not support the target");await this.render(r,t,c);let u=this.surface.frame.contentDocument?.querySelector(c);if(!u)throw new Error("Could not inspect original style");let h=p.axisSteps?_u(u,p.axisSteps.x,p.axisSteps.y):Fu(u,p.family,p.step,p.subproperty);h.alreadyApplied||l({type:"MODIFY_STYLES_BATCH",payload:{selector:c,element:{...d,selector:c},changes:h.changes}}),a={token:n.token,selection:p,alreadyApplied:h.alreadyApplied}}else{if(!CSS.supports(n.property,n.value))throw new Error("Unsupported CSS property/value");await this.render(r,t,c);let p=this.surface.inspect(c,[n.property])?.styles[n.property];if(p===void 0)throw new Error("Could not inspect original style");l({type:"MODIFY_STYLES_BATCH",payload:{selector:c,element:{...d,selector:c},changes:[{property:n.property,original:p,modified:n.value}]}})}else if(n.type==="comment"){await this.render(r,t,c);let p=s.getBoundingClientRect();l({type:"ADD_TEXT",payload:{id:`peer-note-${e.id}`,point:{x:p.x+scrollX,y:p.y+scrollY-26},text:n.text,linkedSelector:c,elements:[{...d,selector:c}]}})}r.attention=null,(n.type==="comment"||n.type==="style")&&(r.basis=Zs(r.basis??{},e.observedSources??{},this.sources,[c]))}if(i!==o){if(i.annotations.length+i.styleModifications.length>100)throw new Error("Peer draft is full; submit or undo before adding more");i={...i,undoStack:i.undoStack.slice(-50),redoStack:i.redoStack.slice(-50)},r.state=i,r.revision++,r.url=sr(),delete r.pendingRevision}return{peer:r,evidence:a,...["inspect","style","comment","clear","undo","redo","rebase"].includes(n.type)&&!(n.type==="inspect"&&n.plane==="host")?{sources:this.sources}:{}}}dispose(){this.surface.dispose(),this.container.remove()}};async function yy(e,t,n){let r=!0,o,i=new Set,a=async c=>{let p=new AbortController;i.add(p);let u=setTimeout(()=>p.abort(),1500);try{return await e(c,p.signal)}catch{return!1}finally{clearTimeout(u),i.delete(p)}},l=()=>{r=!1,clearTimeout(o);for(let c of i)c.abort()},s=()=>{l(),a("finish")},d=async()=>{if(!r)return;let c=await a("renew");r&&c&&(o=setTimeout(()=>{d()},1e3))};n.addEventListener("abort",s,{once:!0});try{if(n.aborted)throw new Error("Canvas disconnected before action");let c=await a("start");if(n.aborted)throw new Error("Canvas disconnected before action");return r&&c&&(o=setTimeout(()=>{d()},1e3)),await t()}finally{l(),n.removeEventListener("abort",s),await a("finish")}}function vy(e){let t=`popmelt-peer-seen:${e}`,[n,r]=j({key:"",revisions:{}});return O(()=>{let o={};try{let i=JSON.parse(localStorage.getItem(t)??"{}");i&&typeof i=="object"&&!Array.isArray(i)&&(o=Object.fromEntries(Object.entries(i).filter(([,a])=>Number.isSafeInteger(a)&&a>=0)))}catch{}r({key:t,revisions:o})},[t]),{markSeen:J((o,i)=>{r(a=>{if(a.key!==t||(a.revisions[o]??0)>=i)return a;let l={key:t,revisions:{...a.revisions,[o]:i}};try{localStorage.setItem(t,JSON.stringify(l.revisions))}catch{}return l})},[t]),isUnseen:(o,i)=>n.key===t&&i>(n.revisions[o]??0)}}function by(e,t){let n,r=l=>(l instanceof Element?l:l.parentElement)?.closest("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-root], popmelt-root"),o=()=>{n===void 0&&(n=setTimeout(()=>{n=void 0,t()},400))},i=new MutationObserver(l=>{document.hidden||!e.length||l.some(s=>{if(r(s.target)||s.type==="childList"&&[...s.addedNodes,...s.removedNodes].every(c=>r(c)))return!1;let d=s.target instanceof Element?s.target:s.target.parentElement;return d?.closest("style,head")?!0:e.some(c=>{let p=document.querySelector(c);return!p||p.contains(s.target)||d?.contains(p)})})&&o()});i.observe(document.documentElement,{subtree:!0,attributes:!0,childList:!0,characterData:!0}),window.addEventListener("resize",o);let a=()=>{document.hidden||o()};return document.addEventListener("visibilitychange",a),()=>{i.disconnect(),clearTimeout(n),window.removeEventListener("resize",o),document.removeEventListener("visibilitychange",a)}}function Ju(e){if(!e)return 0;let t=em(e.annotations);return bc({annotations:e.annotations.filter(n=>!n.captured&&!t.has(n)),styleModifications:e.styleModifications.filter(n=>!n.captured),textModifications:e.textModifications.filter(n=>!n.captured)}).count}function xy(e,t,n,r,o){let[i,a]=j([]),[l,s]=j([]),d=Ph(l,e&&r.isAnnotating),c=jh(e&&r.isAnnotating),{viewedId:p,isPeeking:u}=c,[h,m]=j(),[g,x]=j(),[S,D]=j([]),H=W(null),{markSeen:w,isUnseen:z}=vy(n),Z=Se(()=>new Map(i.map(U=>[U.identity.id,Ju(U.state)])),[i]),{annotations:k,styleModifications:V,textModifications:N}=r,Y=Se(()=>Ju({annotations:k,styleModifications:V,textModifications:N}),[k,V,N]),[q,ie]=j(null),I=W(null),Q=W({human:r,settings:o});Q.current={human:r,settings:o};let L=W({clientId:crypto.randomUUID()}),F=W(async()=>{throw new Error("Canvas is disconnected")}),R=e?i.find(U=>U.identity.id===p):void 0,$=i.find(U=>U.identity.id===c.selectedId)?.state,P=Se(()=>zh($),[$]);O(()=>{if(!e||!n)return;L.current.token||(L.current={clientId:crypto.randomUUID()});let U=!1,fe,ge=-1,K=-1,Te=new AbortController,Me="",Ee=!1,Ge=new Bu,X=new Map,Ne=je=>{U||typeof je.presenceVersion!="number"||je.presenceVersion<=K||!Array.isArray(je.presence)||(K=je.presenceVersion,s(je.presence))},ve=async(je,$e={},ce=AbortSignal.any([Te.signal,AbortSignal.timeout(5e4)]))=>{let rt=L.current.token,at=await Yt(`${t}/peers/${je}`,{method:"POST",headers:{"Content-Type":"application/json","X-Popmelt-Project-Id":n},body:JSON.stringify({...L.current,...$e}),signal:ce}),Be=await at.json();if(je!=="host"&&rt!==L.current.token)throw new Error("Canvas session changed during request");if(!at.ok||Be.error)throw new Error(Be.error??`Peer request failed (${at.status})`);return Be};F.current=ve;async function Fe(je){if(je.url&&je.url!==sr())throw new Error("Canvas navigated before the operation could run");if(je.action.type!=="send"){let kt=pm(je.action);return kt?(kl(kt.selector),yy(async(lt,Ke)=>{let jt=await ve("activity",{id:je.id,phase:lt},Ke);return Ne(jt),jt.accepted===!0},()=>Ge.execute(je,Q.current.human),Te.signal)):Ge.execute(je,Q.current.human)}if(!je.grant)throw new Error("No host-approved Send grant");let $e=structuredClone(je.peer);if($e.url!==sr())throw new Error("Return to the proposal\u2019s page before sending");let ce=$e.state;if(!ce||!ce.annotations.length&&!ce.styleModifications.length)throw new Error("There are no peer changes to send");await Ge.render($e,Q.current.human);let rt={...Ge.sources};if(!je.observedSources||Object.keys(rt).some(kt=>je.observedSources[kt]!==rt[kt]))throw new Error("Source changed since the last preview. Take another look, then send again.");let at=Ge.surface.frame.contentDocument;if(!at)throw new Error("Peer preview is unavailable");let[Be]=await Wi(at.body,null,[],{viewportOnly:!0});if(!Be)throw new Error("Could not capture the peer preview");if(await Ge.render($e,Q.current.human),!Wu(rt,Ge.sources))throw new Error("Source changed while preparing Send. Take another look, then send again.");await ve("source",{grant:je.grant,sources:rt});let Ie=pc(ce.annotations,ce.styleModifications,void 0,void 0,ce.textModifications),{provider:_e,model:_t,agentSettings:wt}=Q.current.settings,Pt=await bu(Be,JSON.stringify(Ie),t,$e.color,_e,_t,void 0,void 0,wt,void 0,void 0,void 0,je.grant);return $e.state={...structuredClone(pl),isAnnotating:!0,activeColor:$e.color},$e.revision++,$e.basis={},delete $e.pendingRevision,$e.lastJob={jobId:Pt.jobId,threadId:Pt.threadId},{peer:$e,evidence:{status:"submitted",...Pt}}}async function qe(){try{if(!L.current.token||Me!==sr()){let $e=await ve("host",{url:sr()});if(U)return;L.current.token=String($e.token),Me=sr()}let je=await ve("poll",{version:ge,presenceVersion:K});if(U)return;Ne(je),je.peers&&(a(je.peers),Ee=je.peers.length>0,ge=Number(je.version));for(let $e of je.requests){let ce=X.get($e.id);if(!ce){try{ce=await Fe($e)}catch(rt){ce={error:rt instanceof Error?rt.message:String(rt)}}X.set($e.id,ce),X.size>100&&X.delete(X.keys().next().value)}await ve("response",{id:$e.id,result:ce})}}catch(je){!U&&je instanceof Error&&je.message.includes("Host capability")&&(L.current.token=void 0,ge=-1,K=-1,U||s([]))}finally{U||(fe=setTimeout(()=>{qe()},document.hidden||!Ee?2e3:600))}}return qe(),()=>{U=!0,Te.abort(),clearTimeout(fe),Ge.dispose(),a([]),s([]),F.current=async()=>{throw new Error("Canvas is disconnected")}}},[e,t,n]),O(()=>{if(x(void 0),D([]),H.current=null,!R||!r.isAnnotating||!I.current){ie(null);return}let U=new Bu;I.current.append(U.container),ie(null),U.container.removeAttribute("aria-hidden"),U.container.style.cssText="position:absolute;inset:0;pointer-events:none;";let fe=!1;R.url&&R.url!==sr()&&x("This draft belongs to another page. Return to it to preview.");let ge=!1,K=!1,Te=()=>{if(!fe){if(ge){K=!0;return}ge=!0,U.render(R,Q.current.human).then(()=>{fe||(x(void 0),D(U.changed),H.current={id:R.identity.id,revision:R.revision,values:{...U.sources}},ie(U.surface.frame),w(R.identity.id,R.revision))}).catch(X=>{fe||(H.current=null,ie(null),x(X.message))}).finally(()=>{ge=!1,K&&(K=!1,Te())})}},Me=!R.url||R.url===sr();Me&&Te();let Ee=Me?by(ja(R.state),Te):()=>{},Ge=()=>U.surface.frame.contentWindow?.scrollTo(scrollX,scrollY);return window.addEventListener("scroll",Ge,{passive:!0}),()=>{fe=!0,Ee(),window.removeEventListener("scroll",Ge),U.dispose()}},[R,r.isAnnotating,w]);let A=async U=>{try{return await U(),m(void 0),!0}catch(fe){return m(fe instanceof Error?fe.message:String(fe)),!1}},ne=e&&i.length?{peers:[{identity:{id:"host",name:"You",kind:"human",relationship:"host"},permission:"direct",color:r.activeColor,stagedCount:Y},...i.map(U=>({...U,stagedCount:Z.get(U.identity.id)??0,unseenActivity:z(U.identity.id,U.revision)}))],viewedPeerId:p,selectedPeerId:c.selectedId,onPeek:c.peek,onPeekEnd:c.leave,onPreview:U=>{c.select(U),m(void 0)},onPermissionChange:(U,fe)=>A(()=>F.current("permission",{peerId:U,permission:fe}))}:null,re=R?.pendingRevision!==void 0?()=>A(()=>{let U=H.current;if(!U||U.id!==p||U.revision!==R.revision)throw new Error("Wait for this draft\u2019s preview before sending.");return F.current("approve",{peerId:p,revision:R.pendingRevision,sources:U.values})}):void 0,ee=!!(R&&r.isAnnotating),oe=e&&(h??(ee?g:void 0));return O(()=>{if(!ee)return;let U=fe=>{fe.composedPath().some(ge=>ge instanceof Element&&ge.hasAttribute("data-devtools"))||(fe.metaKey||fe.ctrlKey)&&fe.key==="Enter"||(fe.key.length===1||["Backspace","Delete","Enter"].includes(fe.key))&&(fe.preventDefault(),fe.stopPropagation())};return window.addEventListener("keydown",U,!0),()=>window.removeEventListener("keydown",U,!0)},[ee]),{toolbar:ne,selectedId:c.selectedId,threadAnnotationNumbers:P,activePreview:ee,isPeeking:u,viewed:R,approve:re,overlay:M(ct,{children:[ee&&f("div",{ref:I,"data-devtools":"peer-preview","data-peer-revision":R?.revision,"data-pending-revision":R?.pendingRevision,"data-popmelt-peer-surface":!0,style:{position:"fixed",inset:0,zIndex:1e4,background:"#111",pointerEvents:"auto"}}),d.map(({presence:U,engaged:fe})=>{if(u)return null;let ge=i.find(Te=>Te.identity.id===U.peerId);if(!ge||U.clientId!==L.current.clientId||U.url!==sr()||ee&&ge.identity.id!==p)return null;let K=null;try{K=ee?q?.contentDocument?.querySelector(U.selector)??null:kl(U.selector)}catch{}return f(Xc,{element:K,engaged:fe,label:`${ge.identity.name} is looking at this element`},`${ge.identity.id}:${U.operationId}`)}),!u&&ee&&R&&q?.contentDocument&&f($h,{peer:R,targetDocument:q.contentDocument,onApprove:re?()=>{re()}:void 0}),ee&&R&&p===c.selectedId&&f("div",{"data-devtools":"peer-plane-border","data-plane-owner":R.identity.id,"aria-hidden":"true",style:{position:"fixed",inset:0,border:`2px solid ${R.color}`,boxSizing:"border-box",pointerEvents:"none",zIndex:10002}}),ee&&R&&p===c.selectedId&&f(Dh,{name:R.identity.name,isOwnPlane:R.identity.id==="host",color:R.color,changed:S.length>0}),oe&&f("div",{"data-devtools":"peer-error",role:"status",style:{position:"fixed",bottom:100,right:24,maxWidth:360,padding:12,background:"#222",color:"#ddd",borderRadius:12,fontFamily:Fs,fontSize:12,lineHeight:1.4,zIndex:10002},children:oe})]})}}function wy(e,t,n,r,o,i,a){let[l,s]=j(),d=W({navigation:e,selectedId:t});O(()=>{if(!e||!n||l?.navigation===e)return;let c=e.read(),p=o.current,u=!1;if(!c.threadId||c.selectedId!==t){s({navigation:e});return}return i(c.threadId).then(h=>{if(!u){if(p===o.current&&e.read()===c)if(h>=200&&h<300)a(c.threadId);else if(h===403||h===404||h===410)e.rememberThread(t,null);else{s({navigation:e,unresolvedRevision:p});return}s({navigation:e})}}).catch(()=>{u||s({navigation:e,unresolvedRevision:p})}),()=>{u=!0}},[e,t,n,l,o,i,a]),O(()=>{let c=d.current.navigation!==e||d.current.selectedId!==t;d.current={navigation:e,selectedId:t},!(!e||l?.navigation!==e||c)&&(l.unresolvedRevision===o.current&&!r||e.rememberThread(t,r))},[e,t,r,l,o])}var Sy=hl(()=>import("./ParticipantRuntime-PPIOE3NJ.mjs")),Iy=hl(()=>import("./PreviewRuntime-JAZLAGQE.mjs"));function ky({children:e,projectId:t,adapters:n,multiplayer:r=!1}){let[o,i]=j(!1);if(O(()=>{i(!0)},[]),!o)return null;let a=window.__POPMELT_PARTICIPANTS__;if(!r)return xu()?null:a?f("p",{role:"status","data-devtools":"participant-disabled",children:"Multiplayer is disabled. Enable the multiplayer option in your Popmelt integration to use this participant page."}):e;if(a)try{xg(a,t)}catch(l){return f("p",{role:"alert","data-devtools":"participant-error",children:l.message})}return xu()?a?f(ml,{fallback:null,children:f(Iy,{config:a,adapters:n})}):null:a?f(ml,{fallback:null,children:f(Sy,{config:a,children:Pg(e,{bridgeUrl:a.url,projectId:a.projectId})},a.projectId)}):e}function Ty(e,t,n,r){let o=W(e);o.current=e;let[i,a]=j([]),l=W(null),[s,d]=j(null),[c,p]=j(null),u=i.filter(x=>x.scope===e),h=x=>a(S=>S.filter(D=>D.id!==x)),m=(x,S)=>{let D=Symbol(x);p(null);let H=t(x).then(()=>!0,()=>(o.current===e&&(S(),p({scope:e,message:"Could not dismiss thread. Please try again."})),h(D),!1));a(w=>[...w.filter(z=>z.scope===e),{id:D,threadId:x,rollback:S,saved:H,scope:e,undoHead:r}])},g=async()=>{let x=u.at(-1);if(!(!x||l.current===e)){l.current=e,d(e),p(null);try{if(!await x.saved||o.current!==e||(await n(x.threadId),o.current!==e))return;x.rollback(),h(x.id)}catch{o.current===e&&p({scope:e,message:"Could not restore thread. Try Undo again."})}finally{l.current===e&&(l.current=null,d(null))}}};return{dismiss:m,undo:g,tryUndo:()=>{let x=u.at(-1);return!x||x.undoHead!==r?!1:(g(),!0)},busy:s===e,count:u.length,error:c?.scope===e?c.message:null}}function Ey({enabled:e,active:t,configuration:n=!0,adapters:r}){let[o,i]=j(!1),[a,l]=j(null),s=Se(()=>wg(),[]),{recognition:d,selector:c,root:p,observe:u,store:h,imageHasher:m,onError:g}=typeof n=="object"?n:{},x=r.some(w=>w.surfaceKind==="image"||w.id==="see:image"),S=e&&n!==!1&&!x,D=t||o,H=D?d:void 0;return O(()=>{e?t&&i(!0):i(!1)},[e,t]),O(()=>{if(!S)return;let w=Sg({recognition:H?{cacheKey:H.cacheKey,configurationKey:H.configurationKey,detect:z=>H.detect(z),reconcile:(...z)=>H.reconcile(...z)}:void 0,hydrateOnly:!D,selector:c,root:p,observe:u,store:h??s,imageHasher:m,onError:g});return l(w),()=>{l(null),w.destroy()}},[S,H,D,c,p,u,h,s,m,g]),Se(()=>S&&a?[a,...r]:r,[S,a,r])}function Ay({enabled:e,configuration:t=!0,adapters:n}){let[r,o]=j(null),i=Se(()=>Ig(),[]),{segmentation:a,tracking:l,selector:s,root:d,observe:c,store:p,onError:u}=typeof t=="object"?t:{},h=n.some(g=>g.surfaceKind==="video"||g.id==="see:video"),m=e&&t!==!1&&!h;return O(()=>{if(!m)return;let g=kg({tracking:l,segmentation:a,selector:s,root:d,observe:c,store:p??i,onError:u});return o(g),()=>{o(null),g.destroy()}},[m,l,a,s,d,c,p,i,u]),Se(()=>m&&r?[r,...n]:n,[m,r,n])}function qu(e,t){return JSON.stringify([e,t.adapter,t.key])}async function Uu(e,t,n,r){for(let o of t){if(!o.target)continue;let i=qu(n,o.target);if(!r.has(i))try{r.set(i,await e.captureFeedback(o.target))}catch{r.set(i,null)}}}function Cy(e,t,n){let r=new Map;for(let o of e.annotations){let i=t.find(l=>l.id===o.id),a=(i?.groupId?t.filter(l=>l.groupId===i.groupId):t.filter(l=>l.id===o.id)).flatMap(l=>n.get(l.id)??[]);a.length&&r.set(o.id,a)}return r}function My(e,t,n,r){for(let o of e.annotations){if(!o.target)continue;let i=n.get(qu(o.pathname||r,o.target));if(!i){o.subjectFeedback={warning:"Live object unavailable; the following object context is the draft-time snapshot, not a refreshed detection. No object crop is attached."};continue}if(o.elements=[i.elementInfo],o.subjectFeedback=i.warning?{warning:i.warning}:void 0,i.crop){let a=t.get(o.id)??[];o.subjectFeedback={...o.subjectFeedback,cropImageIndex:a.length},t.set(o.id,[...a,i.crop])}}}function Ry(e){let t=e?.requestItems?.flatMap(r=>r.kind==="annotation"&&r.text.trim()?[r.text.trim()]:[]);if(t?.length)return t.join("; ");let n=e?.requestItems?.flatMap(r=>r.kind==="changes"?[`${r.elementLabel} [${r.changes.join(", ")}]`]:[]);return n?.length?n.join("; "):e?.requestText?.trim()||void 0}function Ly(e,t){if(!e?.frames?.length)return[];let n=new Map;for(let r of e.steps){let o=r.visuals?.afterFrameId;o&&!n.has(o)&&n.set(o,r.action?.label?`After ${r.action.label}`:"Resulting state")}return e.frames.flatMap((r,o)=>{let i=t[r.imageIndex];return i?[{id:r.id,imageIndex:r.imageIndex,label:o===0?"Initial state":n.get(r.id)??"State",url:i}]:[]})}function Yu(e){let t=e.instruction?.trim();return t?e.attachments?.some(n=>n.name?.trim()===t)?null:t:null}function Py(e,t){let n=e?.tagName?.toLowerCase(),r=e?.id?`#${e.id}`:"",o=e?.className?`.${e.className.trim().split(/\s+/).slice(0,2).join(".")}`:"",i=n?`${n}${r}${o}`:t;return e?.reactComponent?`<${e.reactComponent}> ${i}`:i}function jy(e){let t=e.elements?.[0]?.reactComponent||e.elements?.[0]?.tagName||e.linkedSelector,n=e.type&&e.type!=="annotation"?`${e.type} annotation`:"Annotation";return t?`${n} on ${t}`:n}function zy(e){let t=e.annotations.map(o=>{let i=o.interactionEpisode?.steps.length??0;return{kind:"annotation",annotationId:o.id,pathname:o.pathname,text:Yu(o)??jy(o),...i>0?{interactionEpisodeStepCount:i}:{}}}),n=new Map,r=o=>{let i=`${o.pathname??""}:${o.durableSelector??o.selector}`,a=n.get(i);if(a){a.changes.push(o.text),o.annotationNumber!==void 0&&(a.annotationNumber===void 0||o.annotationNumber<a.annotationNumber)&&(a.annotationNumber=o.annotationNumber);return}let l={kind:"changes",elementKey:i,elementLabel:Py(o.element,o.selector),...o.annotationNumber!==void 0?{annotationNumber:o.annotationNumber}:{},pathname:o.pathname,changes:[o.text]};n.set(i,l),t.push(l)};for(let o of e.styleModifications??[])for(let i of o.changes)r({...o,text:`${i.property}: ${i.original||"unset"} \u2192 ${i.modified||"unset"}${i.token?` (${i.token})`:""}`});for(let o of e.textModifications??[])r({...o,text:`Text: ${o.original||"empty"} \u2192 ${o.modified||"empty"}`});for(let o of e.domModifications??[])r({...o,text:o.operation==="copy"?"Copied element":"Moved element"});return e.spacingTokenChanges?.length&&t.push({kind:"changes",elementKey:"spacing-tokens",elementLabel:"Spacing tokens",changes:e.spacingTokenChanges.map(o=>`${o.tokenName}: ${o.originalPx}px \u2192 ${o.newPx}px`)}),t}function $y(e){let t=e.annotations.flatMap(r=>{let o=Yu(r);return o?[{instruction:o,pathname:r.pathname}]:[]});if(t.length===0)return;if(new Set(t.map(r=>r.pathname).filter(Boolean)).size<=1)return t.map(r=>r.instruction).join(`
5
+
6
+ `);let n=new Map;for(let r of t){let o=r.pathname||"(unknown)",i=n.get(o)??[];i.push(r.instruction),n.set(o,i)}return[...n.entries()].map(([r,o])=>`\`${r}\`
7
+ ${o.map(i=>`- ${i}`).join(`
8
+ `)}`).join(`
9
+ `)}function Dy(e,t=96){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(0,t-3))}...`:n}function Hy(e,t,n){let r=[],o=(i,a)=>{let l=i.filter(d=>!d.includes("data-pm=")),s=ku(l,a);s.status!=="matched"||r.some(d=>d.element===s.element)||r.push({element:s.element,elementInfo:mn(s.element),subject:!1})};for(let i of(e.targets??[]).slice(0,20))if(i.type==="dom"){if(i.pathname!==t)continue;o([i.structuralSelector,i.runtimeSelector,...i.legacySelectors??[]].filter(a=>!!a),i.targetFingerprint)}else{let a=n?.resolve({adapter:i.adapter,key:i.key});a&&r.push({element:a.element,elementInfo:a.elementInfo,subject:!0,sourceElement:a.subject.sourceElement})}if(!e.targets?.length)for(let i of(e.elementIdentifiers??[]).slice(0,20))i.startsWith(`${t}:`)&&o([i.slice(t.length+1)]);return r}function Ny(e){let t=e.sourceElement??e.element;if(!t.isConnected)return!1;if(!e.subject||e.sourceElement){let r=getComputedStyle(t);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||r.opacity==="0"||t.checkVisibility&&!t.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}))return!1}let n=xn(e.element);return n.width>0&&n.height>0&&n.bottom>0&&n.right>0&&n.top<window.innerHeight&&n.left<window.innerWidth}function Oy({entry:e,color:t,subjectRegistry:n,hasExistingOverlay:r}){let o=Hr(Yi),i=bs(),[a,l]=j(null);return O(()=>{if(!o)return;let s=Hy(e,i,n),d=()=>{let u=s.filter(Ny);l(h=>h?.entry===e&&h.pathname===i&&h.targets.length===u.length&&h.targets.every((m,g)=>m===u[g])?h:{entry:e,pathname:i,targets:u})};d();let c=tu(d),p=Hu(d);return()=>{c(),p.disconnect()}},[e,i,n,o]),a?.entry!==e||a.pathname!==i?null:f("div",{"data-devtools":"history-target-preview",style:{pointerEvents:"none"},children:a.targets.filter(s=>!r?.(s.element)).map((s,d)=>f(oo,{element:s.element,elementInfo:s.elementInfo,subjectRegistry:n,isSelected:!1,hideFill:!s.subject,color:t},d))})}function Fy(){if(typeof window>"u")return null;try{let e=window.localStorage.getItem(Ts),t=e?JSON.parse(e):null;return t?.region?.kind==="lasso"&&!t.domEdit?{...t,fontSize:12,linkedAnchor:t.linkedAnchor??"bottom-left"}:t}catch{return null}}function _y({bridgeUrl:e,annotations:t}){let[n,r]=j(Fy);O(()=>{if(!n||n.domEdit)return;let l=t.find(s=>s.id===n.id&&(s.status??(s.captured?"in_flight":"pending"))!=="pending");!l||l.text!==n.text||n.images?.length||JSON.stringify(l.attachments??[])!==JSON.stringify(n.attachments??[])||JSON.stringify(l.interactionEpisode??null)!==JSON.stringify(n.interactionEpisode??null)||r(s=>s===n?null:s)},[n,t]),O(()=>{n&&!n.domEdit?window.localStorage.setItem(Ts,JSON.stringify(n)):window.localStorage.removeItem(Ts)},[n]),O(()=>{let l=n?.attachments?.map(s=>s.id)??[];!e||l.length===0||yu(e,l).catch(()=>{})},[n?.attachments,e]);let o=J(l=>{!e||!l?.length||Promise.all(l.map(s=>Bs(e,s.id).catch(()=>{})))},[e]),i=J(async l=>{if(!n||n.domEdit)return;let s=tm(l.clipboardData.getData("text/plain"));if(s){if(l.preventDefault(),!e)return;if(s.blob.size>2097152){console.warn("[Popmelt] Pasted attachment exceeds the 2 MB draft limit.");return}try{let p=n.groupId?t.find(h=>h.groupId===n.groupId&&h.type!=="text")?.id??n.id:n.id,u=await bg(e,p,s);r(h=>h?.id===n.id?{...h,attachments:[...h.attachments??[],u]}:h)}catch(p){console.error("[Popmelt] Failed to stage pasted attachment:",p)}return}let d=l.clipboardData.items,c=[];for(let p=0;p<d.length;p+=1){let u=d[p];if(!u.type.startsWith("image/"))continue;let h=u.getAsFile();h&&c.push(h)}c.length!==0&&(l.preventDefault(),r(p=>p?{...p,images:[...p.images??[],...c]}:null))},[n,t,e]),a=J(l=>{r(s=>s&&{...s,attachments:s.attachments?.filter(d=>d.id!==l)}),e&&Bs(e,l).catch(()=>{})},[e]);return{activeText:n,setActiveText:r,handleTextPaste:i,removeActiveTextAttachment:a,releaseActiveTextAttachments:o}}function Wy({annotations:e,isCreatingAnnotation:t,hoveredTextId:n,badgeHoveredAnnotationId:r,highlightedAnnotationIds:o,cycleFocusedAnnotationIds:i,hoveredElement:a}){let l=Se(()=>{let p=e.filter(g=>(g.status??"pending")==="pending");if(p.length===0&&!t)return null;let u=new Set(p.map(g=>g.id)),h=new Set(p.flatMap(g=>g.groupId?[g.groupId]:[])),m=new Set(p.flatMap(g=>g.threadId?[g.threadId]:[]));for(let g of e)(g.groupId&&h.has(g.groupId)||g.threadId&&m.has(g.threadId))&&u.add(g.id);return u},[e,t]),s=Se(()=>{let p=new Set;if(n&&p.add(n),r&&p.add(r),o?.forEach(u=>p.add(u)),a){for(let u of e)if(u.linkedSelector)try{Ki(a,u.linkedSelector)&&p.add(u.id)}catch{}}return Es(e,p)},[e,n,r,o,a]),d=Se(()=>o?Es(e,o):null,[e,o]),c=Se(()=>i?Es(e,i):null,[e,i]);return{cycleSpotlightAnnotationIds:c,emphasizedAnnotationIds:d??c??l,hoverRestoredAnnotationIds:s,inactiveEmphasisOpacity:d||c?.2:.5,statusSpotlightAnnotationIds:d}}function By({activeText:e,activeTextSendHintId:t,annotationNumberById:n,badgeHoveredAnnotationId:r,canvasRef:o,focusedThreadAnnotationId:i,hoveredElement:a,hoveredElementInfo:l,hoveredTextId:s,showHoverElementIdentifier:d,layoutReady:c,layoutRevision:p,pageAnnotations:u,parentPinnedAnnotationIds:h,pendingLinkedText:m,scroll:g,supersededAnnotations:x,textSafeBounds:S}){let D=W(new Map);return Se(()=>{let H=new Set,w=new Map,z=new Map,Z=new Map,k=()=>({hiddenCollidingAnnotationIds:H,nestedCollidingAnnotationCountById:w,nestedCollidingAnnotationIdsById:z,visibleCollisionRepresentativeByAnnotationId:Z});if(!c)return k();let V=o.current?.getContext("2d");if(!V)return k();let N=(P,A,ne,re,ee)=>{V.font=`${re}px ${Tn}`;let oe=(ne||"Type here...").replace(/\n/g," "),U=ee!==void 0?`${ee}. ${oe}`:oe,fe={x:A.x-g.x,y:A.y-g.y},ge=h.has(P)?Hs:0,K=Math.max(60,zs(fe.x)-ge),Te=lu(V,U,K),Me=V.measureText(Te).width,Ee=su(fe,re,S,ge+Me+16);return{left:Ee.x-8,top:Ee.y-4,right:Ee.x+ge+Me+8,bottom:Ee.y+re*lr+4}},Y=new Set,q=u.flatMap(P=>{if(P.type!=="text"||!P.text||!P.points[0]||!P.linkedSelector||x.has(P))return[];let A=P.elements?.[0]?.selector,ne=D.current.get(P.id),re=ne?.selector===P.linkedSelector&&ne.fallbackSelector===A&&ne.element.isConnected,ee=re?ne.element:nn(P.linkedSelector,P.elements);if(!ee)return[];let oe=re?ne.depth:rm(ee);return D.current.set(P.id,{selector:P.linkedSelector,fallbackSelector:A,element:ee,depth:oe}),Y.add(P.id),[{id:P.id,annotation:P,element:ee,bounds:N(P.id,P.points[0],P.text,P.fontSize||12,n.get(P.id)),depth:oe}]});for(let P of D.current.keys())Y.has(P)||D.current.delete(P);if(q.length===0)return k();let ie=q.map((P,A)=>A),I=P=>{let A=P;for(;ie[A]!==A;)A=ie[A];for(;ie[P]!==P;){let ne=ie[P];ie[P]=A,P=ne}return A},Q=(P,A)=>{let ne=I(P),re=I(A);ne!==re&&(ie[re]=ne)};for(let P=0;P<q.length;P+=1)for(let A=P+1;A<q.length;A+=1){let ne=q[P],re=q[A];As(ne.element,re.element)&&Cs(ne.bounds,re.bounds)&&Q(P,A)}let L=new Map;q.forEach((P,A)=>{let ne=I(A),re=L.get(ne)??[];re.push(P),L.set(ne,re)});for(let P of L.values())for(let A of P){let ne=new Set,re=P.flatMap(ee=>ee.id===A.id||ee.element===A.element||!A.element.contains(ee.element)||ne.has(ee.element)?[]:(ne.add(ee.element),[ee.id]));re.length>0&&(w.set(A.id,re.length),z.set(A.id,re))}let F=e?.linkedSelector?{id:e.id,element:nn(e.linkedSelector,e.elements),bounds:N(e.id,e.point,e.text,e.fontSize,n.get(e.id))}:m?.linkedSelector?{id:t,element:nn(m.linkedSelector,m.elements),bounds:N(t,m.point,"",12)}:null,R=null;if(a&&d){let P=xn(a),A=22,ne=P.height>=window.innerHeight,re=ne?P.top+8:P.top>=A+Ji?P.top-A-Ji:P.bottom+Ji,ee=ne?P.left+8:P.left,oe=l?om(l):a.tagName.toLowerCase();V.font=`12px ${Tn}`;let U=Math.min(400,V.measureText(oe).width+16);R={left:ee,top:re,right:ee+U,bottom:re+A}}let $=(P,A)=>{P.forEach(ne=>{ne.id!==A&&H.add(ne.id),A&&Z.set(ne.id,A)})};for(let P of L.values()){if(F?.element&&P.some(ee=>As(F.element,ee.element)&&Cs(F.bounds,ee.bounds))){let ee=new Set,oe=P.flatMap(U=>U.element===F.element||!F.element.contains(U.element)||ee.has(U.element)?[]:(ee.add(U.element),[U.id]));oe.length>0&&(w.set(F.id,oe.length),z.set(F.id,oe)),$(P,P.find(U=>U.id===F.id)?.id);continue}let A=[s,r].find(ee=>ee&&P.some(oe=>oe.id===ee)),ne=P.find(ee=>ee.id===A);if(ne){$(P,ne.id);continue}if(a){let ee=P.find(oe=>oe.element===a);if(ee){$(P,ee.id);continue}if(R&&P.some(oe=>!im(oe.annotation)&&!am(oe.annotation)&&oe.annotation.status!=="awaiting_review"&&As(a,oe.element)&&Cs(R,oe.bounds))){$(P);continue}}let re=[i].find(ee=>ee&&P.some(oe=>oe.id===ee));if(re){$(P,re);continue}if(P.length>1){let ee=P.reduce((oe,U)=>U.depth<oe.depth||U.depth===oe.depth&&(U.bounds.top<oe.bounds.top||U.bounds.top===oe.bounds.top&&U.annotation.timestamp<oe.annotation.timestamp)?U:oe);$(P,ee.id)}}return k()},[e,t,n,r,o,i,a,l,s,d,c,u,h,m,g.x,g.y,x,S,p])}function Xu(e){if(!e.isConnected||!fl(e.ownerDocument))return!1;let t=Su(xn(e),e.ownerDocument);if(t.width<=0||t.height<=0||e.getClientRects().length===0)return!1;let n=e;for(;n;){let r=window.getComputedStyle(n);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||Number.parseFloat(r.opacity||"1")<=0)return!1;n=Tu(n)}return!0}function Jy(e){if(!e)return null;try{return qs(e)}catch{return null}}function Ku(e,t){if(e?.isConnected){let r=e;for(;r&&r!==document.documentElement;){if(Xu(r))return{element:r,parentPinned:r!==e};r=Tu(r)}}let n=Jy(t);return n&&Xu(n)?{element:n,parentPinned:!0}:null}function ed(e,t,n){return Ku(e,n)?.element===t}function Vu(e,t){let n=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(t):t.replace(/["\\]/g,"\\$&");return`[${e}="${n}"]`}function qy(e){let t=e.elements?.[0],n=t?.sourceElement?.dataAttributes,r=n?.["data-popmelt-media-id"]??n?.["data-popmelt-see-id"]??t?.dataAttributes?.["data-popmelt-media-id"]??t?.dataAttributes?.["data-popmelt-see-id"];if(r&&!e.linkedSelector?.startsWith("@frame(")&&!t?.selector.startsWith("@frame(")){let o=qs(Vu("data-popmelt-media-id",r));if(o)return o;let i=qs(Vu("data-popmelt-see-id",r));if(i)return i}return Iu(e.linkedSelector,t)}var Uy='#devtools-toolbar, #devtools-canvas, #devtools-scrim, [data-popmelt-panel], [data-devtools="panel"], [data-devtools="panel-wrapper"], [data-devtools="annotation-badge-layer"], [data-popmelt-subject-projection]';function Yy(e,t){return e.size===t.size&&[...e].every(n=>t.has(n))}function Xy({annotations:e,currentPathname:t,dispatch:n,stateRef:r,styleModifications:o,subjectRegistry:i,toolbarRef:a,onTargetResolutionChange:l}){let s=Hr(Yi),[d,c]=j(()=>new Set),p=Se(()=>e.filter(h=>h.linkedSelector&&(!h.pathname||h.pathname===t)).map(h=>[h.id,h.linkedSelector,h.text,h.fontSize,h.timestamp,JSON.stringify([h.elements?.[0]?.selector,h.elements?.[0]?.context,h.elements?.[0]?.targetFingerprint,h.elements?.[0]?.dataAttributes,h.elements?.[0]?.sourceElement?.dataAttributes])].join(":")).join("|"),[e,t]),u=Se(()=>o.filter(h=>!h.pathname||h.pathname===t).map(h=>h.selector).sort().join("|"),[t,o]);return O(()=>{if(!s)return;if(!p){c(R=>R.size===0?R:new Set);return}let h=null,m=!1,g=document.createElement("canvas").getContext("2d"),x=null,S=new Map,D=new Map,H=new Map,w=nm(r.current.annotations.flatMap(R=>[R.linkedSelector,R.elements?.[0]?.selector].filter($=>!!$))),z=()=>{if(x)return x;let R=r.current.annotations.filter(P=>P.linkedSelector&&(!P.pathname||P.pathname===t)),$=new Map;return x=R.flatMap(P=>{D.has(P.id)||D.set(P.id,qy(P));let A=D.get(P.id);$.set(P.id,A);let ne=Ku(A,P.elements?.[0]?.context);return ne?[{annotation:P,spatialAnchor:ne}]:[]}),($.size!==H.size||[...$].some(([P,A])=>H.get(P)!==A))&&(H=$,l?.()),x},Z=()=>{x=null,S.clear()},k=()=>{let R=r.current.styleModifications.filter(fe=>!fe.pathname||fe.pathname===t),$=[],P=z(),A=new Map(r.current.annotations.map(fe=>[fe.id,fe])),ne=new Set(P.filter(({spatialAnchor:fe})=>fe.parentPinned).map(({annotation:fe})=>fe.id));c(fe=>Yy(fe,ne)?fe:ne);let re=new Map,ee=new Map,oe=new Map;for(let{annotation:fe,spatialAnchor:ge}of P){let K=oe.get(ge.element)??[];K.push(fe),oe.set(ge.element,K)}let U=new Map;for(let fe of oe.values()){fe.sort((Me,Ee)=>Me.timestamp-Ee.timestamp);let ge=0,K,Te=0;for(let Me of fe)Me.timestamp!==K&&(K=Me.timestamp,Te=ge),U.set(Me.id,Te),ge+=1}for(let{annotation:fe,spatialAnchor:ge}of P){let K=ge.element,Te=re.get(K);Te||(Te=xn(K),re.set(K,Te));let Me=ee.get(K);Me===void 0&&(Me=R.some($e=>{if($e.captured)return!1;try{return Ki(K,$e.selector)}catch{return!1}}),ee.set(K,Me));let Ee=U.get(fe.id)??0,Ge=(Me?1:0)+Ee,X=S.get(fe.id);if(X===void 0&&fe.text&&g){let $e=fe.fontSize||12;g.font=`${$e}px ${Tn}`,X=Math.max(...fe.text.split(`
10
+ `).map(ce=>g.measureText(ce).width))+(ge.parentPinned?Hs:0),S.set(fe.id,X)}let Ne=Te.top>=22*(1+Ge)+Ji?"top-left":"bottom-left",ve=K===document.body&&Ec(fe)?$c(Te):Dc(Te,Ne,Ge,a?.current,X),Fe=A.get(fe.id),qe=Fe?.points[0],je=Ne!==Fe?.linkedAnchor;qe&&(je||Math.abs(ve.x-qe.x)>1||Math.abs(ve.y-qe.y)>1)&&$.push({id:fe.id,point:ve,linkedAnchor:je?Ne:void 0})}$.length>0&&n({type:"UPDATE_LINKED_POSITIONS",payload:{updates:$}})},V=()=>{m||h!==null||(h=requestAnimationFrame(()=>{h=null,k()}))};k();let N=()=>{Z(),V()},Y=tu(k);window.addEventListener("resize",N,!0),window.addEventListener("load",N),document.addEventListener("transitionend",N,!0),document.addEventListener("animationend",N,!0),document.fonts.ready.then(N);let q=i?.subscribeFrame(k),ie=new Set,I=()=>{for(let R of Cg())!(R instanceof ShadowRoot)||ie.has(R)||(ie.add(R),Q.observe(R,L))},Q=new MutationObserver(R=>{let $=R.filter(P=>{let A=P.target,ne=A instanceof Element?A:A.parentElement;return!ne||!Ra(ne,Uy)});$.some(P=>P.addedNodes.length)&&I(),$.some(w.changesIdentity)&&D.clear(),$.length&&N()}),L={attributes:!0,childList:!0,characterData:!0,subtree:!0,attributeFilter:w.attributes};Q.observe(document.body,L),I();let F=p.includes("@frame(")?nu(()=>{D.clear(),Z(),k()}):void 0;return()=>{m=!0,F?.(),Y(),window.removeEventListener("resize",N,!0),window.removeEventListener("load",N),document.removeEventListener("transitionend",N,!0),document.removeEventListener("animationend",N,!0),Q.disconnect(),q?.(),h&&cancelAnimationFrame(h)}},[s,t,n,p,u,r,i,a,l]),d}function Ky(){let e=W({shift:!1,cmd:!1});return O(()=>{let t=o=>{o.key==="Shift"&&(e.current.shift=!0),(o.key==="Meta"||o.key==="Control")&&(e.current.cmd=!0)},n=o=>{o.key==="Shift"&&(e.current.shift=!1),(o.key==="Meta"||o.key==="Control")&&(e.current.cmd=!1)},r=()=>{e.current={shift:!1,cmd:!1}};return window.addEventListener("keydown",t,!0),window.addEventListener("keyup",n,!0),window.addEventListener("blur",r),()=>{window.removeEventListener("keydown",t,!0),window.removeEventListener("keyup",n,!0),window.removeEventListener("blur",r)}},[]),e}function Vy({annotations:e,annotationIds:t,badgeHoveredAnnotationId:n,hoveredTextId:r}){let o=Se(()=>{let d=new Map;for(let c of e){if(!t.has(c.id))continue;let p=tg(c.elements);p&&d.set(c.id,p)}return d},[e,t]),i=[n,r].find(d=>d&&o.has(d))??null,[a,l]=j(null);O(()=>{if(l(null),!i)return;let d=window.setTimeout(()=>{l(i)},500);return()=>window.clearTimeout(d)},[i]);let s=J(async d=>{let c=await ng(d.linkedSelector,d.elements);if(!c)return;let p=xn(c);(p.bottom<0||p.top>window.innerHeight)&&c.scrollIntoView({behavior:"smooth",block:"center"})},[]);return{locationLabels:o,tooltipAnnotationId:a,revealAnnotation:s}}function Gy({activeText:e,activeTextAnchorId:t,hoveredElement:n,hoveredTextId:r,pendingTextAnnotations:o}){let[i,a]=j(null);return O(()=>{if(e&&!e.domEdit&&e.text.trim()){a(t);return}a(l=>l&&o.some(s=>s.id===l)?l:o[0]?.id??null)},[e,t,o]),O(()=>{if(!r)return;let l=o.find(s=>s.id===r);l&&a(l.id)},[r,o]),O(()=>{if(!n)return;let l=o.find(s=>{if(!s.linkedSelector)return!1;try{return Ki(n,s.linkedSelector)}catch{return!1}});l&&a(l.id)},[n,o]),{sendHintAnchorId:i,setSendHintAnchorId:a}}var Qy=86,Zy=36,ev=2;function tv({nestedAnnotationCount:e,interactionEpisodeStepCount:t,reserveSendHint:n,imageCount:r=0}){let o=+(r>0)+ +(t>0)+ +(e>0)+Number(n);return o===0?0:Ac(r)+(r>0?4:0)+(e>0?Zy:0)+Gc(t)+(n?Qy:0)+Math.max(0,o-1)*ev}function nv({rawLeft:e,width:t,top:n,scroll:r,collisionId:o,nestedAnnotationCount:i,nestedAnnotationIds:a,nestedBadgeColor:l,interactionEpisodeStepCount:s,imageCount:d=0,color:c="#f50",showSendHint:p,bundleCount:u,onHoverNestedAnnotations:h,onHoverSendHint:m,onClearInteractionEpisode:g,onSend:x}){return i===0&&s===0&&d===0&&!p?null:f(Nm,{"data-popmelt-active-annotation-surface":"true",left:e+t+r.x+2-ou,top:n+r.y-ou,scrollX:r.x,scrollY:r.y,onContextMenu:S=>{S.preventDefault(),S.stopPropagation()},style:{pointerEvents:"auto",zIndex:10002},children:M("div",{style:{display:"flex",alignItems:"center",gap:2},children:[f(ru,{stepCount:s,onClear:g}),i>0&&o&&f(Om,{count:i,color:l,onHoverChange:S=>h(o,S?a:null)}),M("div",{style:{display:"flex",alignItems:"center",isolation:"isolate",marginLeft:d>0?4:0},children:[f(um,{imageCount:d,color:c}),p&&f(Fm,{layered:d>0,bundleCount:Math.max(1,u),onHoverChange:m,onSend:x})]})]})})}function rv({value:e,fontSize:t,prefix:n,inputRef:r,inputStyle:o,selectionBackground:i,selectionColor:a,annotationBorderRadius:l,activeColor:s,boundaryRects:d,viewportClip:c,wrapsDomText:p,showEditor:u,rawLeft:h,top:m,baselineOffset:g,onChange:x,onKeyDown:S,onPaste:D,onBlur:H}){let w=d!==void 0;return M("div",{"data-devtools":"text-editor-layer",style:c?{position:"fixed",inset:0,pointerEvents:"none",zIndex:10002,clipPath:`inset(${c.top}px ${Math.max(0,window.innerWidth-c.left-c.width)}px ${Math.max(0,window.innerHeight-c.top-c.height)}px ${c.left}px)`}:{display:"contents"},children:[f("style",{children:`
11
+ #devtools-text-input::placeholder { color: rgba(255, 255, 255, 0.5); }
12
+ #devtools-text-input::selection {
13
+ background: ${i};
14
+ color: ${a};
15
+ }
16
+ @keyframes popmeltAnnotationFieldEnter {
17
+ from { border-radius: 8px; }
18
+ to { border-radius: ${l}; }
19
+ }
20
+ @media (prefers-reduced-motion: reduce) {
21
+ #devtools-text-input { animation: none !important; }
22
+ }
23
+ `}),d?.map((z,Z)=>f("div",{"data-devtools":"text-edit-active-boundary",style:{position:"fixed",left:z.left,top:z.top,width:z.width,height:z.height,pointerEvents:"none",zIndex:10002,border:`1px solid ${s}`,backgroundColor:dl(s,.08),boxSizing:"border-box"}},`${z.left}:${z.top}:${Z}`)),u&&f("textarea",{id:"devtools-text-input","data-popmelt-active-annotation-surface":w?void 0:"true",ref:r,value:e,onChange:x,onKeyDown:S,onPaste:D,onBlur:H,placeholder:"Type here...",wrap:w?p?"soft":"off":void 0,spellCheck:!1,style:{...o,pointerEvents:"auto"}}),u&&!w&&n&&f("span",{"aria-hidden":!0,"data-devtools":"annotation-number",style:{position:"fixed",left:h+8,top:m+4+g,zIndex:10002,pointerEvents:"none",color:"#ffffff",fontFamily:Tn,fontSize:t,lineHeight:`${t*lr}px`,whiteSpace:"pre"},children:n})]})}function ov({anchor:e,insetTopLeft:t=!1,width:n,height:r,value:o,fontSize:i,prefix:a,inputRef:l,inputStyle:s,onChange:d,onKeyDown:c,onPaste:p,onBlur:u,onContextMenu:h}){return M("div",{"data-popmelt-active-annotation-surface":"true",onContextMenu:h,style:{position:"relative",width:n,height:r,flex:`0 0 ${n}px`},children:[f("textarea",{id:"devtools-text-input","data-popmelt-active-annotation-surface":"true",ref:l,value:o,onChange:d,onKeyDown:c,onPaste:p,onBlur:u,onClick:m=>m.stopPropagation(),placeholder:"Type here...",spellCheck:!1,style:{...s,position:"relative",left:0,top:0,zIndex:0,paddingTop:4,paddingBottom:4,borderRadius:t?Ea("bottom-left"):Ea(e),animation:void 0}}),a&&f("span",{"aria-hidden":!0,"data-devtools":"annotation-number",style:{position:"absolute",left:8,top:4,zIndex:1,pointerEvents:"none",color:"#ffffff",fontFamily:Tn,fontSize:i,fontWeight:600,lineHeight:`${i*lr}px`,whiteSpace:"pre"},children:a})]})}function iv(e,t,n){let r={x:n.left+n.width*t.x,y:n.top+n.height*t.y},o=e.left+e.width,i=e.top+e.height,a=r.x>=e.left&&r.x<=o&&r.y>=e.top&&r.y<=i,l={x:Math.max(e.left,Math.min(o,r.x)),y:Math.max(e.top,Math.min(i,r.y))};return{annotation:l,subject:r,visible:!a&&Math.hypot(r.x-l.x,r.y-l.y)>=2}}function av({element:e,annotationRect:t,subjectAnchor:n,color:r,subjectRegistry:o}){let i=W(null);return O(()=>{let a=i.current;if(!a)return;let l=a.querySelector("line"),s=a.querySelector("circle");if(!l||!s)return;let d=()=>{let u=iv(t,n,xn(e));a.style.display=u.visible?"":"none",l.setAttribute("x1",String(u.annotation.x)),l.setAttribute("y1",String(u.annotation.y)),l.setAttribute("x2",String(u.subject.x)),l.setAttribute("y2",String(u.subject.y)),s.setAttribute("cx",String(u.subject.x)),s.setAttribute("cy",String(u.subject.y))};d();let c=o?.subscribeFrame(d),p=o?null:new MutationObserver(d);return p?.observe(e,{attributes:!0,attributeFilter:["style"]}),window.addEventListener("resize",d),()=>{c?.(),p?.disconnect(),window.removeEventListener("resize",d)}},[t,e,n,o]),f("svg",{"data-popmelt-subject-draft-connector":"","aria-hidden":!0,style:{position:"fixed",inset:0,width:"100dvw",height:"100dvh",zIndex:10001,pointerEvents:"none",overflow:"visible"},children:M("g",{ref:i,children:[f("line",{stroke:r,strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("circle",{"data-popmelt-subject-draft-point":"",r:"3",fill:r,stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]})})}var Gu=160;function lv({color:e,cursorRef:t,tool:n,onHandoff:r,onDone:o}){let i=W(null),a=W(r);a.current=r,It(()=>{let s=i.current;if(!s)return;let d=(u,h)=>{s.style.left=`${u-4}px`,s.style.top=`${h-4}px`},c=t.current;c&&d(c.x,c.y);let p=u=>d(u.clientX,u.clientY);return window.addEventListener("pointermove",p,{capture:!0}),()=>window.removeEventListener("pointermove",p,{capture:!0})},[t]),O(()=>{let s=window.setTimeout(()=>a.current(),Gu*.75);return()=>window.clearTimeout(s)},[]);let l=n==="inspector";return M("div",{ref:i,"data-devtools":"cursor-switch-pulse",onAnimationEnd:o,style:{position:"fixed",left:-100,top:-100,zIndex:2147483647,width:24,height:24,pointerEvents:"none",transformOrigin:"0 0",animation:`popmeltCursorSwitchPulse ${Gu}ms ease-in-out both`,filter:`drop-shadow(0 .5px .35px rgba(0,0,0,.22)) drop-shadow(0 .75px .65px ${dl(e,.42)}) drop-shadow(0 1.25px 1.1px ${dl(e,.24)})`},children:[f("svg",{width:"24",height:"24",viewBox:"-3 -3 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{overflow:"visible"},children:l?f("path",{transform:"scale(1.125)",d:"M1 8V2C1 1.44772 1.44772 1 2 1H8C11.866 1 15 4.13401 15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8Z",fill:e,stroke:"white",strokeWidth:"1.111"}):f("path",{d:"M5.19194 14.2778L0.732307 2.01384C0.442115 1.21582 1.21582 0.442116 2.01384 0.732307L14.2778 5.19194C15.7506 5.72748 15.5191 7.87826 13.9661 8.08812L10.298 8.58381C9.40594 8.70436 8.70436 9.40594 8.58381 10.298L8.08812 13.9661C7.87826 15.5191 5.72748 15.7506 5.19194 14.2778Z",fill:e,stroke:"white",strokeWidth:"1.25"})}),f("style",{children:`
24
+ @keyframes popmeltCursorSwitchPulse {
25
+ 0%, 100% { transform: scale(1); }
26
+ 50% { transform: scale(1.5); }
27
+ 0%, 75% { opacity: 1; }
28
+ 100% { opacity: 0; }
29
+ }
30
+ `})]})}function Tl(e,t){let n=({x:r,y:o})=>{let i=Js({left:r,top:o,width:0,height:0},t);return{x:i.left,y:i.top}};return{topLeft:n(e.topLeft),topRight:n(e.topRight),bottomRight:n(e.bottomRight),bottomLeft:n(e.bottomLeft)}}var El=28,Qu=12,sv=8,Zu=["transition","transform","translate","rotate","scale"];function Si(e){let[t]=e.getBoxQuads?.({box:"border"})??[];if(t)return{topLeft:{x:t.p1.x,y:t.p1.y},topRight:{x:t.p2.x,y:t.p2.y},bottomRight:{x:t.p3.x,y:t.p3.y},bottomLeft:{x:t.p4.x,y:t.p4.y}};let n=e.getBoundingClientRect();return{topLeft:{x:n.left,y:n.top},topRight:{x:n.right,y:n.top},bottomRight:{x:n.right,y:n.bottom},bottomLeft:{x:n.left,y:n.bottom}}}var Al={a:1,b:0,c:0,d:1,e:0,f:0};function _o(e,t){return{a:e.a*t.a+e.c*t.b,b:e.b*t.a+e.d*t.b,c:e.a*t.c+e.c*t.d,d:e.b*t.c+e.d*t.d,e:e.a*t.e+e.c*t.f+e.e,f:e.b*t.e+e.d*t.f+e.f}}function td(e,t){return{...Al,e,f:t}}function ep(e){let t=e*Math.PI/180,n=Math.cos(t),r=Math.sin(t);return{a:n,b:r,c:-r,d:n,e:0,f:0}}function tp(e,t){return{a:e,b:0,c:0,d:t,e:0,f:0}}function Cl(e,t){if(!e)return 0;let n=Number.parseFloat(e);return Number.isFinite(n)?e.endsWith("%")?n/100*t:n:0}function Ml(e){if(!e)return 1;let t=Number.parseFloat(e);return Number.isFinite(t)?e.endsWith("%")?t/100:t:1}function np(e){if(!e||e==="none")return Al;let t=e.match(/^matrix\(([^)]+)\)$/);if(t){let r=t[1].split(",").map(Number);if(r.length===6&&r.every(Number.isFinite)){let[o,i,a,l,s,d]=r;return{a:o,b:i,c:a,d:l,e:s,f:d}}}let n=e.match(/^matrix3d\(([^)]+)\)$/);if(n){let r=n[1].split(",").map(Number);if(r.length===16&&r.every(Number.isFinite))return{a:r[0],b:r[1],c:r[4],d:r[5],e:r[12],f:r[13]}}return Al}function nd(e,t){return{x:e.a*t.x+e.c*t.y+e.e,y:e.b*t.x+e.d*t.y+e.f}}function dv(e){let t=getComputedStyle(e),n=t.rotate.trim().split(/\s+/).at(-1)??"0",r=ep(Number.parseFloat(n)||0),[o="1",i=o]=t.scale.trim().split(/\s+/),a=tp(Ml(o),Ml(i)),l=np(t.transform);return{..._o(r,_o(a,l)),e:0,f:0}}function cv(e){let t=Al,n=e.parentElement;for(;n;)Dr(n)&&(t=_o(dv(n),t)),n=n.parentElement;return t}function uv(e,t,n){let r=(o,i)=>({x:e.x+(t.x*o+n.x*i)/2,y:e.y+(t.y*o+n.y*i)/2});return{topLeft:r(-1,-1),topRight:r(1,-1),bottomRight:r(1,1),bottomLeft:r(-1,1)}}function pv(e,t){let{width:n,height:r}=op(e,t);if(n<=0||r<=0)return t;let o=cv(e),i=nd(o,{x:n,y:0}),a=nd(o,{x:0,y:r}),l=$a(t);return uv(l,i,a)}function Zi(e,t){let[n]=e.getBoxQuads?.({box:"border"})??[];if(n)return Si(e);let r=getComputedStyle(e),{width:o,height:i}=op(e,t);if(o<=0||i<=0)return Si(e);let[a="0",l="0"]=r.translate.trim().split(/\s+/),s=td(Cl(a,o),Cl(l,i)),d=r.rotate.trim().split(/\s+/).at(-1)??"0",c=ep(Number.parseFloat(d)||0),[p="1",u=p]=r.scale.trim().split(/\s+/),h=tp(Ml(p),Ml(u)),m=np(r.transform),[g="50%",x="50%"]=r.transformOrigin.trim().split(/\s+/),S={x:Cl(g,o),y:Cl(x,i)},D=_o(td(S.x,S.y),_o(c,_o(h,_o(m,td(-S.x,-S.y))))),H=_o(s,D),w={x:(t.topRight.x-t.topLeft.x)/o,y:(t.topRight.y-t.topLeft.y)/o},z={x:(t.bottomLeft.x-t.topLeft.x)/i,y:(t.bottomLeft.y-t.topLeft.y)/i},Z=k=>{let V=nd(H,k);return{x:t.topLeft.x+w.x*V.x+z.x*V.y,y:t.topLeft.y+w.y*V.x+z.y*V.y}};return{topLeft:Z({x:0,y:0}),topRight:Z({x:o,y:0}),bottomRight:Z({x:o,y:i}),bottomLeft:Z({x:0,y:i})}}function za(e){let t=Zu.map(n=>({property:n,value:e.style.getPropertyValue(n),priority:e.style.getPropertyPriority(n)}));try{e.style.setProperty("transition","none","important");for(let o of Zu)o!=="transition"&&e.style.setProperty(o,"none","important");let[n]=e.getBoxQuads?.({box:"border"})??[],r=Si(e);return n?r:pv(e,r)}finally{for(let{property:r,value:o,priority:i}of t.filter(({property:a})=>a!=="transition"))o?e.style.setProperty(r,o,i):e.style.removeProperty(r);let n=t.find(({property:r})=>r==="transition");n&&(n.value?e.style.setProperty(n.property,n.value,n.priority):e.style.removeProperty(n.property))}}function fv(e,t,n=1){return["topLeft","topRight","bottomRight","bottomLeft"].some(r=>Math.hypot(e[r].x-t[r].x,e[r].y-t[r].y)>n)}function Rl(e,t,n){let[r="0",o=r]=e.trim().split(/\s+/),i=(a,l)=>{let s=Number.parseFloat(a);return Number.isFinite(s)?a.endsWith("%")?s/100*l:s:0};return{x:i(r,t),y:i(o,n)}}function rp(e,t){let n=getComputedStyle(e),r=(Math.hypot(t.topRight.x-t.topLeft.x,t.topRight.y-t.topLeft.y)+Math.hypot(t.bottomRight.x-t.bottomLeft.x,t.bottomRight.y-t.bottomLeft.y))/2,o=(Math.hypot(t.bottomLeft.x-t.topLeft.x,t.bottomLeft.y-t.topLeft.y)+Math.hypot(t.bottomRight.x-t.topRight.x,t.bottomRight.y-t.topRight.y))/2;return{topLeft:Rl(n.borderTopLeftRadius,r,o),topRight:Rl(n.borderTopRightRadius,r,o),bottomRight:Rl(n.borderBottomRightRadius,r,o),bottomLeft:Rl(n.borderBottomLeftRadius,r,o)}}function rd(e){return{width:(Math.hypot(e.topRight.x-e.topLeft.x,e.topRight.y-e.topLeft.y)+Math.hypot(e.bottomRight.x-e.bottomLeft.x,e.bottomRight.y-e.bottomLeft.y))/2,height:(Math.hypot(e.bottomLeft.x-e.topLeft.x,e.bottomLeft.y-e.topLeft.y)+Math.hypot(e.bottomRight.x-e.topRight.x,e.bottomRight.y-e.topRight.y))/2}}function op(e,t){let n=rd(t);if(e instanceof HTMLElement)return{width:e.offsetWidth||n.width,height:e.offsetHeight||n.height};let r=getComputedStyle(e),o=Number.parseFloat(r.width),i=Number.parseFloat(r.height);return{width:Number.isFinite(o)&&o>0?o:n.width,height:Number.isFinite(i)&&i>0?i:n.height}}function Ll(e,t,n){let r=rd(t),o=rd(n),i=r.width>0?o.width/r.width:1,a=r.height>0?o.height/r.height:1;return Object.fromEntries(Object.entries(e).map(([l,s])=>[l,{x:s.x*i,y:s.y*a}]))}function hv(e){let t=e.trim().toLowerCase();if(!t||t==="transparent")return 0;if(t.match(/^#(?:[\da-f]{3}|[\da-f]{4}|[\da-f]{6}|[\da-f]{8})$/))return t.length===5?Number.parseInt(t.at(-1).repeat(2),16)/255:t.length===9?Number.parseInt(t.slice(-2),16)/255:1;let n=t.match(/\/\s*([\d.]+%?)\s*\)$/);if(n){let o=Number.parseFloat(n[1]);return n[1].endsWith("%")?o/100:o}let r=t.match(/^rgba\([^,]+,[^,]+,[^,]+,\s*([\d.]+%?)\s*\)$/);if(r){let o=Number.parseFloat(r[1]);return r[1].endsWith("%")?o/100:o}return 1}function ip(e){let t=getComputedStyle(e);return t.backgroundImage&&t.backgroundImage!=="none"?!1:hv(t.backgroundColor)>=.999}function ea(e,t,n){let r=t.x-e.x,o=t.y-e.y,i=Math.max(1,Math.hypot(r,o));return{x:e.x+r/i*n,y:e.y+o/i*n}}function ap(e,t){let n=(o,i)=>Math.hypot(i.x-o.x,i.y-o.y),r=[[n(e.topLeft,e.topRight),t.topLeft.x+t.topRight.x],[n(e.topRight,e.bottomRight),t.topRight.y+t.bottomRight.y],[n(e.bottomRight,e.bottomLeft),t.bottomRight.x+t.bottomLeft.x],[n(e.bottomLeft,e.topLeft),t.bottomLeft.y+t.topLeft.y]];return Math.min(1,...r.map(([o,i])=>i>0?o/i:1))}function lp(e){return{topLeft:[e.topLeft.y,e.topLeft.x],topRight:[e.topRight.x,e.topRight.y],bottomRight:[e.bottomRight.y,e.bottomRight.x],bottomLeft:[e.bottomLeft.x,e.bottomLeft.y]}}function sp(e,t){let n=["topLeft","topRight","bottomRight","bottomLeft"],r=lp(t),o=ap(e,t),i=1-Math.SQRT1_2;return Object.fromEntries(n.map((a,l)=>{let s=e[a],d=e[n[(l+n.length-1)%n.length]],c=e[n[(l+1)%n.length]],[p,u]=r[a],h=ea(s,d,p*o*i),m=ea(s,c,u*o*i);return[a,{x:h.x+m.x-s.x,y:h.y+m.y-s.y}]}))}function od(e,t){let n=.5522847498,r=["topLeft","topRight","bottomRight","bottomLeft"],o=lp(t),i=ap(e,t),a=r.map((d,c)=>{let p=e[d],u=r[(c+r.length-1)%r.length],h=r[(c+1)%r.length],m=e[u],g=e[h],[x,S]=o[d],D=x*i,H=S*i,w=ea(p,m,D),z=ea(p,g,H);return{entry:w,exit:z,entryControl:ea(w,p,D*n),exitControl:ea(z,p,H*n)}}),l=a[0],s=[`M ${l.exit.x} ${l.exit.y}`];for(let d=1;d<=a.length;d+=1){let c=a[d%a.length];s.push(`L ${c.entry.x} ${c.entry.y}`),s.push(`C ${c.entryControl.x} ${c.entryControl.y} ${c.exitControl.x} ${c.exitControl.y} ${c.exit.x} ${c.exit.y}`)}return s.push("Z"),s.join(" ")}function $a(e){return{x:(e.topLeft.x+e.topRight.x+e.bottomRight.x+e.bottomLeft.x)/4,y:(e.topLeft.y+e.topRight.y+e.bottomRight.y+e.bottomLeft.y)/4}}function ta(e,t=El,n="top"){let[r,o]=n==="top"?[e.topLeft,e.topRight]:n==="right"?[e.topRight,e.bottomRight]:n==="bottom"?[e.bottomRight,e.bottomLeft]:[e.bottomLeft,e.topLeft],i={x:(r.x+o.x)/2,y:(r.y+o.y)/2},a=o.x-r.x,l=o.y-r.y,s=Math.max(1,Math.hypot(a,l));return{edge:i,handle:{x:i.x+l/s*t,y:i.y-a/s*t}}}function dp(e,t){let n=ta(e);return n.handle.y>=t/2?{...n,side:"top"}:{...ta(e,El,"bottom"),side:"bottom"}}function Pl(e,t,n){let r=n.x-t.x,o=n.y-t.y,i=r*r+o*o;if(i===0)return Math.hypot(e.x-t.x,e.y-t.y);let a=Math.max(0,Math.min(1,((e.x-t.x)*r+(e.y-t.y)*o)/i));return Math.hypot(e.x-(t.x+a*r),e.y-(t.y+a*o))}var mv=["top","right","bottom","left"];function gv(e,t,n){let r=t/2;return e.x>=r&&e.x<=n.width-r&&e.y>=r&&e.y<=n.height-r}function id(e,t,n,r={}){let o=mv.map(c=>({...ta(e,El,c),side:c,distance:Pl(t,c==="top"?e.topLeft:c==="right"?e.topRight:c==="bottom"?e.bottomRight:e.bottomLeft,c==="top"?e.topRight:c==="right"?e.bottomRight:c==="bottom"?e.bottomLeft:e.topLeft)})),i=r.viewport?o.filter(({handle:c})=>gv(c,n,r.viewport)):o,a=i.length>0?i:o,l=a.reduce((c,p)=>p.distance<c.distance?p:c),s=r.currentSide?a.find(({side:c})=>c===r.currentSide):void 0,d=s&&s.distance<=l.distance+(r.hysteresis??8)?s:l;return{edge:d.edge,handle:d.handle,side:d.side}}function yv(e,t,n){let r={x:t,y:n},o=[e.topLeft,e.topRight,e.bottomRight,e.bottomLeft],i=!1,a=!1,l=.001;for(let s=0;s<o.length;s+=1){let d=o[s],c=o[(s+1)%o.length],p=(c.x-d.x)*(r.y-d.y)-(c.y-d.y)*(r.x-d.x);if(p>l&&(i=!0),p<-l&&(a=!0),i&&a)return!1}return!0}function vv(e,t,n,r){let o={x:t,y:n},i=[e.topLeft,e.topRight,e.bottomRight,e.bottomLeft],a=r/2;if(i.some(s=>Math.hypot(t-s.x,n-s.y)<=a)||[[e.topLeft,e.topRight],[e.topRight,e.bottomRight],[e.bottomRight,e.bottomLeft],[e.bottomLeft,e.topLeft]].some(([s,d])=>Pl(o,s,d)<=Qu/2))return!0;let l=id(e,o,r);return Pl(o,l.edge,l.handle)<=r/2}function bv(e,t,n,r){let o={x:t,y:n},i=id(e,o,r);return Pl(o,i.edge,i.handle)<=r*1.5}function cp(e){let t=Math.max(1,Math.hypot(e.x,e.y));return{x:e.x/t,y:e.y/t}}function xv(e,t){let n=$a(e);return cp({x:e[t].x-n.x,y:e[t].y-n.y})}function wv(e,t){let n=$a(e),{handle:r}=ta(e,El,t),o=cp({x:r.x-n.x,y:r.y-n.y});return{x:-o.y,y:o.x}}function Sv(e,t){if(!t||e.x===0&&e.y===0)return e;let n=Math.PI/4,r=Math.atan2(e.y,e.x),o=Math.round(r/n)*n,i=Math.hypot(e.x,e.y);return{x:Math.cos(o)*i,y:Math.sin(o)*i}}function Iv(e,t,n=sv){return Math.hypot(t.x-e.x,t.y-e.y)<=n}function up(e){if(!e||e==="none")return{x:0,y:0};let[t="0",n="0"]=e.trim().split(/\s+/);return{x:Number.parseFloat(t)||0,y:Number.parseFloat(n)||0}}var pp=Math.SQRT1_2;function fp(e,t){return vi(e,t).filter(n=>typeof n=="number")}function jl(e,t,n){return fp(e,t).reduce((r,o)=>Math.abs(Number.parseFloat(qi(e,o,t))-n)<Math.abs(Number.parseFloat(qi(e,r,t))-n)?o:r)}function lo(e,t){let n=fp("transform",e),r=o=>e==="translate"?Number.parseFloat(qi("transform",o,e)):o;return n.reduce((o,i)=>Math.abs(r(i)-t)<Math.abs(r(o)-t)?i:o)}function kv(e,t){if(t==="translate")return lo(t,up(e).x);if(t==="scale"){let r=Number.parseFloat(e);return lo(t,Number.isFinite(r)?r*100:100)}let n=Number.parseFloat(e);return lo(t,Number.isFinite(n)?n:0)}function Tv(e,t){let n=window.getComputedStyle(e).getPropertyValue(t).trim();return kv(n,t)}function ad(e,t){return t?e:e==="left"||e==="right"?"x":"y"}function ld(e,t){return t?e:"all"}function sd(e){let t=e==="top-left"||e==="bottom-left"?1:-1,n=e==="top-left"||e==="top-right"?1:-1;return{x:t*pp,y:n*pp}}function Ev(e,t,n){return e*n.x+t*n.y}function hp(e,t){let n=Math.max(1,t);return(e%n+n)%n}function Av(e,t,n){return{cursor:{x:hp(e.cursor.x+t.x,n.width),y:hp(e.cursor.y+t.y,n.height)},deltaX:e.deltaX+t.x,deltaY:e.deltaY+t.y}}function Cv(e,t,n,r,o){if(e<o*2||t<o*2)return!1;let i=["top-left","top-right","bottom-right","bottom-left"].map(a=>{let l=sd(a),s=r+n[a],d=a.endsWith("left")?0:e,c=a.startsWith("top")?0:t;return{x:d+l.x*s,y:c+l.y*s}});return i.every((a,l)=>i.slice(l+1).every(s=>Math.hypot(a.x-s.x,a.y-s.y)>=o))}function Mv(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}var dd=["top-left","top-right","bottom-right","bottom-left"],mp=14;function gp({element:e,radius:t,accentColor:n,hoveredCorner:r,draggingCorner:o,cursorViewport:i,onHandlePointerDown:a}){let[l,s]=j(null),d=t["top-left"],c=t["top-right"],p=t["bottom-right"],u=t["bottom-left"];if(O(()=>{if(!e){s(null);return}let w=()=>{s(e.getBoundingClientRect())};return w(),window.addEventListener("scroll",w,{passive:!0}),window.addEventListener("resize",w,{passive:!0}),()=>{window.removeEventListener("scroll",w),window.removeEventListener("resize",w)}},[e]),It(()=>{e&&s(e.getBoundingClientRect())},[e,d,c,p,u]),!l)return null;let h=l.width,m=l.height;if(!Cv(h,m,t,mp,20))return null;let g=Mv(n,.2),x={"top-left":{x:0,y:0},"top-right":{x:h,y:0},"bottom-right":{x:h,y:m},"bottom-left":{x:0,y:m}},S=Object.fromEntries(dd.map(w=>{let z=sd(w),Z=mp+t[w],k=x[w];return[w,{x:k.x+z.x*Z,y:k.y+z.y*Z}]})),D=o??r,H={position:"fixed",top:l.top,left:l.left,width:h,height:m,pointerEvents:"none",zIndex:a?9999:9996,overflow:"visible"};return M("div",{"data-devtools":"border-radius-handles","data-popmelt-steer-overlay":!0,style:H,children:[M("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${h} ${m}`,children:[f("rect",{x:"0.5",y:"0.5",width:Math.max(0,h-1),height:Math.max(0,m-1),fill:"none",stroke:g,strokeWidth:"1"}),dd.map(w=>{let z=S[w];return f("circle",{cx:z.x,cy:z.y,r:w===D?4:3,fill:n,stroke:"#ffffff",strokeWidth:2},w)}),a&&dd.map(w=>{let z=S[w],Z=x[w],k=w==="top-left"||w==="bottom-right"?"nwse-resize":"nesw-resize";return M("g",{children:[f("line",{"data-radius-handle-access":w,x1:Z.x,y1:Z.y,x2:z.x,y2:z.y,stroke:"transparent",strokeWidth:20,strokeLinecap:"round",style:{pointerEvents:"stroke",cursor:k},onPointerDown:V=>a(w,V)}),f("circle",{cx:z.x,cy:z.y,r:20/2,fill:"transparent",style:{pointerEvents:"all",cursor:k},onPointerDown:V=>a(w,V)})]},`hit-${w}`)})]}),i&&D&&(()=>{let w=Math.round(t[D]);return f("div",{style:{position:"fixed",left:i.x+8,top:i.y-28,background:n,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:w})})()]})}function yp({centerX:e,centerY:t,orientation:n,accentColor:r,...o}){let i=n==="horizontal"?10:6,a=n==="horizontal"?6:10;return f("rect",{...o,"data-direct-manipulation-handle":"",x:e-i/2,y:t-a/2,width:i,height:a,fill:r,stroke:"#ffffff",strokeWidth:2})}function cd(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}function vp({element:e,gap:t,accentColor:n,hoveredAxis:r,draggingAxis:o,cursorViewport:i,isAutoGap:a=!1,refreshKey:l=0,onHandlePointerDown:s}){let[d,c]=j(null),[p,u]=j([]),[h,m]=j(!1);if(O(()=>{let k=Y=>{(Y.key==="Meta"||Y.key==="Control")&&m(!0)},V=Y=>{(Y.key==="Meta"||Y.key==="Control")&&m(!1)},N=()=>m(!1);return window.addEventListener("keydown",k,!0),window.addEventListener("keyup",V,!0),window.addEventListener("blur",N),()=>{window.removeEventListener("keydown",k,!0),window.removeEventListener("keyup",V,!0),window.removeEventListener("blur",N)}},[]),O(()=>{if(!e){c(null),u([]);return}let k=()=>{c(e.getBoundingClientRect()),u(ul(e))};return k(),window.addEventListener("scroll",k,{passive:!0}),window.addEventListener("resize",k,{passive:!0}),()=>{window.removeEventListener("scroll",k),window.removeEventListener("resize",k)}},[e]),It(()=>{e&&(c(e.getBoundingClientRect()),u(ul(e)))},[e,t.row,t.column,l]),!d||p.length===0)return null;let g=d.width,x=d.height,S="pm-gap-stripe-pattern",D=cd(n,.25),H=cd(n,.1),w=cd(n,.2),z={position:"fixed",top:d.top,left:d.left,width:g,height:x,pointerEvents:"none",zIndex:s?9999:9996,overflow:"visible"},Z=o??r;return M("div",{"data-devtools":"gap-handles","data-popmelt-steer-overlay":!0,style:z,children:[M("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${g} ${x}`,children:[f("defs",{children:f("pattern",{id:S,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:f("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:D,strokeWidth:"1.5"})})}),f("rect",{x:"0.5",y:"0.5",width:Math.max(0,g-1),height:Math.max(0,x-1),fill:"none",stroke:w,strokeWidth:"1"}),p.map((k,V)=>{let N=k.x-d.left,Y=k.y-d.top,q=k.w,ie=k.h,I=h?k.axis===Z:!0;return(k.axis==="row"?t.row:t.column)===0?null:M("g",{opacity:I?1:.6,children:[f("rect",{x:N,y:Y,width:q,height:ie,fill:H}),f("rect",{x:N,y:Y,width:q,height:ie,fill:`url(#${S})`})]},V)}),p.map((k,V)=>{let N=k.x-d.left+k.w/2,Y=k.y-d.top+k.h/2;return a?f("circle",{"data-gap-handle":k.axis,cx:N,cy:Y,r:3,fill:n,stroke:"#ffffff",strokeWidth:2},`gap-handle-${V}`):f(yp,{"data-gap-handle":k.axis,centerX:N,centerY:Y,orientation:k.axis==="column"?"vertical":"horizontal",accentColor:n},`gap-handle-${V}`)}),s&&p.map((k,V)=>{let N=k.x-d.left+k.w/2,Y=k.y-d.top+k.h/2,q=Math.max(k.w,20),ie=Math.max(k.h,20);return f("rect",{x:N-q/2,y:Y-ie/2,width:q,height:ie,fill:"transparent",style:{pointerEvents:"all",cursor:k.axis==="row"?"ns-resize":"ew-resize"},onPointerDown:I=>s(k.axis,I)},`gap-hit-${V}`)})]}),i&&Z&&(()=>{let k=a?"auto":String(Math.round(Z==="row"?t.row:t.column));return f("div",{style:{position:"fixed",left:i.x+8,top:i.y-28,background:n,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:k})})()]})}var Rv=new Set(["CANVAS","EMBED","IFRAME","IMG","INPUT","OBJECT","VIDEO"]),Lv=["top","bottom"],Pv=["left","right"];function jv({isHtmlElement:e,tagName:t,display:n,writingMode:r}){return!e||n!=="inline"||Rv.has(t)?[]:r.startsWith("horizontal")?Lv:Pv}function zv(e,t=window.getComputedStyle(e)){return jv({isHtmlElement:e instanceof HTMLElement,tagName:e.tagName,display:t.display,writingMode:t.writingMode})}function na(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}var $v={top:"bottom",bottom:"top",left:"right",right:"left"},Da="#808080";function bp({element:e,padding:t,mode:n="padding",accentColor:r,hoveredSide:o,draggingSide:i,activeSides:a,cursorViewport:l,refreshKey:s,onHandlePointerDown:d}){let[c,p]=j(null),[u,h]=j(!1);if(O(()=>{let K=Ee=>{(Ee.key==="Alt"||Ee.key==="Control")&&h(!0)},Te=Ee=>{(Ee.key==="Alt"||Ee.key==="Control")&&h(!1)},Me=()=>h(!1);return window.addEventListener("keydown",K,!0),window.addEventListener("keyup",Te,!0),window.addEventListener("blur",Me),()=>{window.removeEventListener("keydown",K,!0),window.removeEventListener("keyup",Te,!0),window.removeEventListener("blur",Me)}},[]),O(()=>{if(!e){p(null);return}let K=()=>{p(e.getBoundingClientRect())};return K(),window.addEventListener("scroll",K,{passive:!0}),window.addEventListener("resize",K,{passive:!0}),()=>{window.removeEventListener("scroll",K),window.removeEventListener("resize",K)}},[e]),It(()=>{e&&p(e.getBoundingClientRect())},[e,t.top,t.right,t.bottom,t.left,s]),!c)return null;let m=c.width,g=c.height,{top:x,right:S,bottom:D,left:H}=t,w=Math.max(0,x),z=Math.max(0,S),Z=Math.max(0,D),k=Math.max(0,H),V=n==="margin",N=V?m+k+z:m,Y=V?g+w+Z:g,q=V?k:0,ie=V?w:0,I=V?"pm-dot-pattern":"pm-stripe-pattern",Q=na(r,.25),L=na(r,.1),F=na(r,.2),R=na(Da,.55),$=na(Da,.18),P=na(Da,.9),A=new Set(V?[]:zv(e)),ne=A.size>0,re="pm-neutral-stripe-pattern",ee={position:"fixed",top:c.top-(V?w:0),left:c.left-(V?k:0),width:N,height:Y,pointerEvents:"none",zIndex:d?9999:9996,overflow:"visible"},oe=["top","right","bottom","left"],U={top:`0,0 ${N},0 ${N-z},${w} ${k},${w}`,right:`${N},0 ${N},${Y} ${N-z},${Y-Z} ${N-z},${w}`,bottom:`0,${Y} ${k},${Y-Z} ${N-z},${Y-Z} ${N},${Y}`,left:`0,0 ${k},${w} ${k},${Y-Z} 0,${Y}`},fe={top:{x:N/2,y:w/2,orientation:"horizontal"},bottom:{x:N/2,y:Y-Z/2,orientation:"horizontal"},left:{x:k/2,y:Y/2,orientation:"vertical"},right:{x:N-z/2,y:Y/2,orientation:"vertical"}},ge=new Set(a);return i?ge.add(i):o&&(ge.add(o),u||ge.add($v[o])),M("div",{"data-devtools":"padding-handles","data-popmelt-steer-overlay":!0,style:ee,children:[M("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${N} ${Y}`,children:[M("defs",{children:[V?f("pattern",{id:I,patternUnits:"userSpaceOnUse",width:"4",height:"4",children:f("circle",{cx:"1",cy:"1",r:"0.65",fill:Q})}):f("pattern",{id:I,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:f("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:Q,strokeWidth:"1.5"})}),ne&&f("pattern",{id:re,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:f("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:R,strokeWidth:"1.5"})})]}),f("rect",{x:q+.5,y:ie+.5,width:Math.max(0,m-1),height:Math.max(0,g-1),fill:"none",stroke:F,strokeWidth:"1"}),oe.map(K=>{if(t[K]<=0)return null;let Te=ge.has(K),Me=A.has(K);return M("g",{"data-padding-flow":Me?"paint-only":"layout",opacity:Te?1:.6,children:[f("polygon",{points:U[K],fill:Me?$:L}),f("polygon",{points:U[K],fill:`url(#${Me?re:I})`})]},K)}),A.has("top")&&w>0&&f("line",{x1:k,y1:w,x2:N-z,y2:w,stroke:P,strokeWidth:"1"}),A.has("bottom")&&Z>0&&f("line",{x1:k,y1:Y-Z,x2:N-z,y2:Y-Z,stroke:P,strokeWidth:"1"}),A.has("left")&&k>0&&f("line",{x1:k,y1:w,x2:k,y2:Y-Z,stroke:P,strokeWidth:"1"}),A.has("right")&&z>0&&f("line",{x1:N-z,y1:w,x2:N-z,y2:Y-Z,stroke:P,strokeWidth:"1"}),oe.map(K=>{let Te=fe[K];return f(yp,{centerX:Te.x,centerY:Te.y,orientation:Te.orientation,accentColor:A.has(K)?Da:r,"data-padding-flow":A.has(K)?"paint-only":"layout"},`handle-${K}`)}),d&&oe.map(K=>{let Te=fe[K],Me=20;return f("rect",{x:Te.x-Me/2,y:Te.y-Me/2,width:Me,height:Me,fill:"transparent",style:{pointerEvents:"all",cursor:"grab"},onPointerDown:Ee=>d(K,Ee)},`hit-${K}`)})]}),l&&(o||i)&&(()=>{let K=i??o,Te=Math.round(t[K]),Me=A.has(K);return M("div",{style:{position:"fixed",left:l.x+8,top:l.y-28,background:Me?Da:r,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:[Te,Me?" \xB7 paint only":""]})})()]})}var ud=["flex-start","center","flex-end"],pd=["flex-start","center","flex-end"];function Dv(e){return e==="normal"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function Hv(e){return e==="normal"||e==="stretch"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function xp(e){let t=Array.from(e.children);if(t.length===0)return null;let n=1/0,r=1/0,o=-1/0,i=-1/0;for(let a of t){let l=a.getBoundingClientRect();l.width===0&&l.height===0||(l.top<n&&(n=l.top),l.left<r&&(r=l.left),l.bottom>o&&(o=l.bottom),l.right>i&&(i=l.right))}return n===1/0?null:new DOMRect(r,n,i-r,o-n)}function Nv({element:e,modifier:t,accentColor:n,refreshKey:r=0}){let[o,i]=j(null);if(O(()=>{if(!e){i(null);return}let g=()=>i(xp(e));return g(),window.addEventListener("scroll",g,{passive:!0}),window.addEventListener("resize",g,{passive:!0}),()=>{window.removeEventListener("scroll",g),window.removeEventListener("resize",g)}},[e]),It(()=>{e&&i(xp(e))},[e,r]),!o)return null;let a=o,l=window.getComputedStyle(e),s=l.display;if(s!=="flex"&&s!=="inline-flex")return null;let d=l.flexDirection,c=d==="column"||d==="column-reverse"?"vertical":"horizontal",p=c==="horizontal"?"vertical":"horizontal",u=[];if(t==="shift"){let g=Dv(l.justifyContent);if(g){let x=ud.indexOf(g);c==="horizontal"?(x>0&&u.push("left"),x<ud.length-1&&u.push("right")):(x>0&&u.push("up"),x<ud.length-1&&u.push("down"))}}else{let g=Hv(l.alignItems);if(g){let x=pd.indexOf(g);p==="horizontal"?(x>0&&u.push("left"),x<pd.length-1&&u.push("right")):(x>0&&u.push("up"),x<pd.length-1&&u.push("down"))}}if(u.length===0)return null;let h=14,m=7;return f(ct,{children:u.map(g=>{let x,S;switch(g){case"right":x=a.right+h,S=a.top+a.height/2;break;case"left":x=a.left-h,S=a.top+a.height/2;break;case"down":x=a.left+a.width/2,S=a.bottom+h;break;case"up":x=a.left+a.width/2,S=a.top-h;break}let D=g==="right"?0:g==="left"?180:g==="down"?90:-90,H={position:"fixed",left:x-m,top:S-m,width:m*2,height:m*2,pointerEvents:"none",zIndex:9997};return f("div",{"data-devtools":"swipe-hint",style:H,children:f("svg",{width:m*2,height:m*2,viewBox:"-7 -7 14 14",style:{overflow:"visible"},children:M("g",{transform:`rotate(${D})`,children:[f("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round"}),f("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),f("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:n,strokeWidth:"1.5",strokeLinecap:"round"}),f("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})},g)})})}function Ov(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}function Fv({element:e,fontSize:t,lineHeight:n,accentColor:r,hoveredProperty:o,draggingProperty:i,cursorViewport:a}){let[l,s]=j(null);if(O(()=>{if(!e){s(null);return}let S=()=>{s(Ns(e))};return S(),window.addEventListener("scroll",S,{passive:!0}),window.addEventListener("resize",S,{passive:!0}),()=>{window.removeEventListener("scroll",S),window.removeEventListener("resize",S)}},[e]),It(()=>{e&&s(Ns(e))},[e,t,n]),!l)return null;let d=l.width,c=l.height,p=Ov(r,.2),u=i??o,h=8,m=2,g={position:"fixed",top:l.top,left:l.left,width:d,height:c,pointerEvents:"none",zIndex:9996,overflow:"visible"},x=S=>S==="font-size"?`${Math.round(t)}`:(t>0?n/t:1.2).toFixed(2).replace(/\.?0+$/,"");return M("div",{"data-devtools":"text-handles",style:g,children:[M("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${d} ${c}`,children:[f("rect",{x:"0.5",y:"0.5",width:Math.max(0,d-1),height:Math.max(0,c-1),fill:"none",stroke:p,strokeWidth:"1"}),(u==="font-size"||!u)&&f("rect",{x:d-m/2,y:c/2-h/2,width:m,height:h,fill:r,stroke:"#ffffff",strokeWidth:u==="font-size"?4:2,paintOrder:"stroke"}),(u==="line-height"||!u)&&f("rect",{x:d/2-h/2,y:c-m/2,width:h,height:m,fill:r,stroke:"#ffffff",strokeWidth:u==="line-height"?4:2,paintOrder:"stroke"})]}),a&&u&&(()=>{let S=u==="font-size"?"Aa":"Lh",D=x(u);return M("div",{style:{position:"fixed",left:a.x+8,top:a.y-28,background:r,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:[S," ",D]})})()]})}function _v({active:e,accentColor:t,domDropPreview:n,cursorViewport:r,gapElement:o,gapDragging:i,gapHoveredAxis:a,gapIsAuto:l,gapRefreshKey:s,swipeHint:d,radiusElement:c,radiusDragging:p,radiusHoveredCorner:u,textElement:h,textDragging:m,textHoveredProperty:g,paddingElement:x,paddingDragging:S,paddingHoveredSide:D}){if(!e)return null;let H=h&&!m?iu(h):null;return M(ct,{children:[n&&f("div",{"data-devtools":"dom-drop-preview",style:{position:"fixed",zIndex:9997,pointerEvents:"none",backgroundColor:t,boxShadow:`0 0 0 1px ${t}`,opacity:n.mode==="copy"?.72:1,...n.rect.height>=n.rect.width?{left:n.rect.left-2,top:n.placement==="before"?n.rect.top-2:n.rect.bottom,width:n.rect.width+4,height:2}:{left:n.placement==="before"?n.rect.left-2:n.rect.right,top:n.rect.top-2,width:2,height:n.rect.height+4}}}),o&&f(vp,{element:o,gap:i?{row:i.row,column:i.column}:cl(o),accentColor:t,hoveredAxis:a,draggingAxis:i?.axis??null,cursorViewport:r,isAutoGap:l,refreshKey:s}),d&&f(Nv,{element:d.target,modifier:d.modifier,accentColor:t,refreshKey:s}),!d&&c&&f(gp,{element:c,radius:p?.radius??Xi(c),accentColor:t,hoveredCorner:u,draggingCorner:p?.corner??null,cursorViewport:r}),!d&&h&&f(Fv,{element:h,fontSize:m?.fontSize??H.fontSize,lineHeight:m?.lineHeight??H.lineHeight,accentColor:t,hoveredProperty:g,draggingProperty:m?.property??null,cursorViewport:r}),!d&&x&&f(bp,{element:x,padding:S?.padding??Aa(x),accentColor:t,hoveredSide:D,draggingSide:S?.side??null,cursorViewport:r,refreshKey:m?m.fontSize+m.lineHeight*1e3:0})]})}var Wv=4,Bv=8,Jv=7.2,qv=45,Uv=96,Yv=89;function wp(e,t){let n=e===0?"Ready":`${e} action${e===1?"":"s"}`,r=Bv*2+n.length*Jv,o=t?e===0?22:qv:e===0?Uv:Yv;return{label:n,accessibleShortcut:e===0?"Command Escape to exit":"Command Enter to complete",width:Math.ceil(r+Wv+o)}}var Xv=4,Kv=8;function Vv({cursor:e,stepCount:t,accentColor:n,toolbarElement:r,threadElement:o}){let[i]=_s(),a=Ws[i],[l,s]=j(!1);O(()=>{s(!1);let z=window.setTimeout(()=>s(!0),1e3);return()=>window.clearTimeout(z)},[t]);let d={width:window.innerWidth,height:window.innerHeight},c=wp(t,!1),p=Hc(e,d,22,c.width),u=r?Nc(p,r.getBoundingClientRect(),22,void 0,c.width):1,h=o?Oc(e,p,o.getBoundingClientRect(),22,void 0,void 0,c.width):1,m=Math.min(u,h)<1||l,g=wp(t,m),x=Hc(e,d,22,g.width),S=r?Nc(x,r.getBoundingClientRect(),22,void 0,g.width):1,D=o?Oc(e,x,o.getBoundingClientRect(),22,void 0,void 0,g.width):1,H=dm(S,D,!1),w={position:"fixed",left:x.left,top:x.top,width:g.width,height:22,display:"flex",alignItems:"center",gap:Xv,boxSizing:"border-box",padding:0,color:"#000000",fontSize:12,fontWeight:400,lineHeight:1,pointerEvents:"none",whiteSpace:"nowrap",transition:"width 180ms cubic-bezier(0.2, 0, 0, 1)",opacity:H,transform:`scale(${H})`,transformOrigin:`${e.x-x.left}px ${e.y-x.top}px`,visibility:H===0?"hidden":"visible",zIndex:2147483647,colorScheme:i};return M("div",{role:"status","aria-label":`${g.label}. ${g.accessibleShortcut}`,"data-devtools":"interaction-episode-hud","data-popmelt-interaction-episode-hud":!0,style:w,children:[f("span",{style:{height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",padding:`4px ${Kv}px`,borderRadius:"2px 8px 8px 8px",background:n,color:"#dddddd",fontFamily:cg,lineHeight:1.2},children:g.label}),f("span",{"aria-hidden":"true",style:{height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",gap:m?0:6,padding:m?"4px 5px":t===0?"4px 6px 4px 8px":"4px 8px 4px 10px",borderRadius:8,background:a.surface,border:`1px solid ${a.border}`,color:a.primary,fontFamily:Fs,lineHeight:1.2,letterSpacing:"0.24px",overflow:"hidden",transition:"width 180ms cubic-bezier(0.2, 0, 0, 1), padding 180ms cubic-bezier(0.2, 0, 0, 1)"},children:m?t===0?f(Xs,{size:12,strokeWidth:2}):M("span",{"data-popmelt-interaction-episode-complete-shortcut":!0,style:{display:"inline-flex",alignItems:"center",gap:2},children:[f(Mu,{size:12,strokeWidth:2}),f("span",{children:"+"}),f(Ks,{size:12,strokeWidth:2})]}):M(ct,{children:[M("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:[f(Mu,{size:12,strokeWidth:2}),f("span",{children:"+"}),t===0?f("span",{children:"esc"}):f(Ks,{size:12,strokeWidth:2})]}),f("span",{style:{color:a.secondary},children:"to"}),t===0?f(Xs,{size:12,strokeWidth:2,color:"red"}):f(xi,{size:12,strokeWidth:2,color:"#02bd02"})]})})]})}function Gv(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}function Qv({styleModifications:e,textModifications:t=[],accentColor:n}){let[r,o]=j([]);if(O(()=>{let a=null,l=()=>{let c=[],p=[...e,...t],u=new Set;for(let h of p){if(u.has(h.selector))continue;let m=hn(h.selector);if(!m)continue;u.add(h.selector);let g=xn(m);if(g.width===0&&g.height===0)continue;let x=Xi(m);c.push({selector:h.selector,top:g.top,left:g.left,width:g.width,height:g.height,borderRadius:`${x["top-left"]}px ${x["top-right"]}px ${x["bottom-right"]}px ${x["bottom-left"]}px`})}o(c)},s=()=>{a&&cancelAnimationFrame(a),a=requestAnimationFrame(l)};l(),window.addEventListener("scroll",s,{passive:!0}),window.addEventListener("resize",s,{passive:!0});let d=new MutationObserver(s);return d.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",s),window.removeEventListener("resize",s),d.disconnect(),a&&cancelAnimationFrame(a)}},[e,t]),r.length===0)return null;let i=Gv(n,.2);return f(ct,{children:r.map(a=>{let l={position:"fixed",top:a.top,left:a.left,width:a.width,height:a.height,pointerEvents:"none",zIndex:9995,border:`1px solid ${i}`,borderRadius:a.borderRadius,boxSizing:"border-box"};return f("div",{"data-devtools":"mod-border",style:l},a.selector)})})}var Sp=["topLeft","topRight","bottomRight","bottomLeft"],Zv=[["topLeft","topRight"],["topRight","bottomRight"],["bottomRight","bottomLeft"],["bottomLeft","topLeft"]],eb=8,fd="#000000",tb="#ffffff";function nb(e){let t=e.match(/^rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:\s*[,/]\s*([\d.]+%?))?\s*\)$/i);if(!t)return null;let n=t[4],r=n?n.endsWith("%")?Number.parseFloat(n)/100:Number.parseFloat(n):1,o={red:Number.parseFloat(t[1]),green:Number.parseFloat(t[2]),blue:Number.parseFloat(t[3]),alpha:r};return Object.values(o).every(Number.isFinite)?o:null}function Ip(e){let t=e.parentElement;for(;t;){let n=nb(getComputedStyle(t).backgroundColor);if(n&&n.alpha>=.95)return(n.red*.299+n.green*.587+n.blue*.114)/255>=.55?fd:tb;t=t.parentElement}return fd}function rb(e){return Sp.map(t=>`${e[t].x},${e[t].y}`).join(" ")}function ob(e,t,n,r){let o=Math.atan2(n.y-t.y,n.x-t.x),i=Math.atan2(r.y-e.y,r.x-e.x),a=Math.atan2(Math.sin(i-o),Math.cos(i-o));if(Math.abs(a)<.001)return null;let l=Math.hypot(r.x-e.x,r.y-e.y),s={x:e.x+Math.cos(o)*l,y:e.y+Math.sin(o)*l},d=eb/2,c={x:Math.cos(o),y:Math.sin(o)},p=a>0?1:0;return{path:`M ${s.x} ${s.y} A ${l} ${l} 0 0 ${p} ${r.x} ${r.y}`,startTick:{start:{x:s.x-c.x*d,y:s.y-c.y*d},end:{x:s.x+c.x*d,y:s.y+c.y*d}}}}function zl({element:e,activeFacet:t,accentColor:n,showHandles:r=!0,outlineStyle:o="solid",showRotateHandle:i=!0,scrimOpacity:a=.05,cursorViewport:l,draggingKind:s,draggingCorner:d,ghostQuad:c,refreshKey:p,onHandlePointerDown:u}){let[h,m]=j(null),[g,x]=j(null),[S,D]=j(null),[H,w]=j(null),[z,Z]=j(!1),[k,V]=j(fd),N=W("top"),Y=W(null),q=`transform-occlusion-${zg().replace(/:/g,"")}`;if(O(()=>{let ge=()=>{if(!fl(e.ownerDocument)){m(null);return}let Ee=Dr(e)?za(e):Si(e);Y.current=Ee;let Ge=Tl(Ee,e.ownerDocument);x(Ge),w(Ll(rp(e,Ee),Ee,Ge)),Z(ip(e)),V(Ip(e));let X=Dr(e)?Zi(e,Ee):Si(e),Ne=Tl(X,e.ownerDocument);D(Ne),m(Ne)};ge(),window.addEventListener("scroll",ge,{passive:!0}),window.addEventListener("resize",ge,{passive:!0});let K=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>ge());K?.observe(e);let Te="",Me=wu(e.ownerDocument)?nu(()=>{let Ee=xn(e),Ge=JSON.stringify([fl(e.ownerDocument),Ee.x,Ee.y,Ee.width,Ee.height]);Ge!==Te&&(Te=Ge,ge())}):void 0;return()=>{Me?.(),window.removeEventListener("scroll",ge),window.removeEventListener("resize",ge),K?.disconnect()}},[e]),It(()=>{let ge=s&&Y.current?Y.current:Dr(e)?za(e):Si(e);Y.current=ge;let K=Tl(ge,e.ownerDocument);x(K),w(Ll(rp(e,ge),ge,K)),Z(ip(e)),V(Ip(e));let Te=Dr(e)?Zi(e,ge):Si(e),Me=Tl(Te,e.ownerDocument);D(Me),m(Me)},[s,e,p]),!h)return null;let ie=l?id(h,l,20,{currentSide:N.current,hysteresis:8,viewport:{width:window.innerWidth,height:window.innerHeight}}):dp(h,20);s!=="rotate"&&(N.current=ie.side);let I=s==="rotate"?{...ta(h,void 0,N.current),side:N.current}:ie,Q={position:"fixed",inset:0,pointerEvents:"none",zIndex:u?9999:9996},L=s?.95:.72,F=!!(r&&g&&fv(g,h)),R=g&&S&&H?Ll(H,g,S):H,$=R?sp(h,R):h,P=c&&g&&H?Ll(H,g,c):H,A=c&&P?sp(c,P):c,ne=$a(h),re=c?$a(c):null,ee=c?ta(c,void 0,I.side):null,oe=ee&&re?ob(ne,re,ee.handle,I.handle):null,U=z&&S&&R?od(S,R):null,fe=U?`url(#${q})`:void 0;return f("div",{"data-devtools":r?"transform-handles":"element-boundary","data-popmelt-steer-overlay":!0,"data-transform-facet":t,style:Q,children:M("svg",{width:"100%",height:"100%",style:{position:"absolute",inset:0,pointerEvents:"none"},children:[U&&f("defs",{children:M("mask",{id:q,maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100%",height:"100%",children:[f("rect",{width:"100%",height:"100%",fill:"#ffffff"}),f("path",{"data-transform-occlusion-mask":"",d:U,fill:"#000000"})]})}),F&&g&&H&&f("path",{"data-transform-layout-plate":"",d:od(g,H),fill:k,fillOpacity:"0.07",stroke:"none",mask:fe}),f("path",{"data-transform-effective-outline":"","data-transform-effective-scrim":"",d:R?od(h,R):`M ${rb(h)} Z`,fill:n,fillOpacity:a,stroke:n,strokeWidth:1,strokeOpacity:L,strokeDasharray:o==="dashed"?cu:void 0}),s==="translate"&&re&&M("g",{"data-transform-origin-trace":"translate",children:[f("line",{x1:re.x,y1:re.y,x2:ne.x,y2:ne.y,stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("circle",{"data-transform-origin-point":"",cx:re.x,cy:re.y,r:"3",fill:"#808080",stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]}),s==="scale"&&d&&A&&M("g",{"data-transform-origin-trace":"scale",children:[f("line",{x1:A[d].x,y1:A[d].y,x2:$[d].x,y2:$[d].y,stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("circle",{"data-transform-origin-point":"",cx:A[d].x,cy:A[d].y,r:"3",fill:"#808080",stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]}),s==="rotate"&&oe&&M("g",{"data-transform-origin-trace":"rotate",children:[f("path",{"data-transform-rotation-arc":"",d:oe.path,fill:"none",stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("line",{"data-transform-rotation-arc-start":"",x1:oe.startTick.start.x,y1:oe.startTick.start.y,x2:oe.startTick.end.x,y2:oe.startTick.end.y,stroke:"#808080",strokeWidth:"1",strokeLinecap:"round",opacity:"0.85"})]}),u&&Zv.map(([ge,K])=>f("line",{"data-transform-handle":"translate",x1:h[ge].x,y1:h[ge].y,x2:h[K].x,y2:h[K].y,stroke:"transparent",strokeWidth:Qu,style:{pointerEvents:"stroke",cursor:"move"},onPointerDown:Te=>u("translate",null,Te)},`${ge}-${K}`)),r&&M("g",{"data-transform-affordances":"",children:[Sp.map(ge=>M("g",{children:[f("rect",{x:$[ge].x-6/2,y:$[ge].y-6/2,width:6,height:6,fill:n,stroke:"#ffffff",strokeWidth:2}),u&&f("circle",{"data-transform-handle":"scale","data-transform-corner":ge,cx:$[ge].x,cy:$[ge].y,r:20/2,fill:"transparent",style:{pointerEvents:"all",cursor:ge==="topLeft"||ge==="bottomRight"?"nwse-resize":"nesw-resize"},onPointerDown:K=>u("scale",ge,K)})]},ge)),i&&M(ct,{children:[f("line",{x1:I.edge.x,y1:I.edge.y,x2:I.handle.x,y2:I.handle.y,stroke:n,strokeWidth:"1",opacity:L}),f("circle",{cx:I.handle.x,cy:I.handle.y,r:6/2,fill:n,stroke:"#ffffff",strokeWidth:2}),u&&f("line",{"data-transform-handle":"rotate",x1:I.edge.x,y1:I.edge.y,x2:I.handle.x,y2:I.handle.y,stroke:"transparent",strokeWidth:20,strokeLinecap:"round",style:{pointerEvents:"stroke",cursor:"grab"},onPointerDown:ge=>{N.current=I.side,u("rotate",null,ge,I.side)}})]})]})]})})}var ib=["top","right","bottom","left"];function ab(e){return e==="all"?ib:e==="x"?["left","right"]:e==="y"?["top","bottom"]:e==="top"||e==="right"||e==="bottom"||e==="left"?[e]:[]}function lb(e){return e==="top-left"||e==="top-right"||e==="bottom-right"||e==="bottom-left"?e:null}function kp(e,t,n,r){return e&&n==="value"&&t==="transform"&&(r==="translate"||r==="scale"||r==="rotate")}function sb({active:e,accentColor:t,family:n,stage:r,subproperty:o,hoveredElement:i,previewElement:a,transformPreviewElement:l,previewRevision:s,cursorViewport:d,drag:c,onGapPointerDown:p,onRadiusPointerDown:u,onSpacingPointerDown:h,onTransformPointerDown:m}){let g=e&&r==="value",x=i instanceof HTMLElement&&a===i,S=i instanceof HTMLElement&&(Ds(i,"row")||Ds(i,"column")),D=c?.family==="transform"?c.element:i,H=kp(e,n,r,o)?o:null,w=H!==null&&Dr(D)&&(a===D||l===D||c?.family==="transform");return M(ct,{children:[g&&(n==="padding"||n==="margin")&&x&&f(bp,{element:i,padding:n==="margin"?eu(i):Aa(i),mode:n,accentColor:t,hoveredSide:c?.family===n?c.side??null:null,draggingSide:c?.family===n?c.side??null:null,activeSides:ab(o),refreshKey:s,cursorViewport:c?.cursor,onHandlePointerDown:(z,Z)=>h(n,z,Z)}),g&&(n==="stack"||n==="grid")&&o==="gap"&&x&&f(vp,{element:i,gap:cl(i),accentColor:t,hoveredAxis:c?.gapAxis??null,draggingAxis:c?.gapAxis??null,refreshKey:s,cursorViewport:c?.cursor,isAutoGap:S,onHandlePointerDown:S?void 0:p}),g&&n==="radius"&&x&&f(gp,{element:i,radius:Xi(i),accentColor:t,hoveredCorner:lb(o),draggingCorner:c?.corner??null,cursorViewport:c?.cursor,onHandlePointerDown:u}),w&&f(zl,{element:D,activeFacet:H,accentColor:t,draggingKind:c?.family==="transform"?c.transformKind??null:null,draggingCorner:c?.family==="transform"?c.transformCorner??null:null,ghostQuad:c?.family==="transform"?c.ghostQuad??null:null,cursorViewport:c?.cursor??d,refreshKey:s,onHandlePointerDown:m})]})}var Wo=8,Tp=2,db=66,cb=3;function ub(){let e=Math.random()*Math.PI*2,t=5+Math.random()*8;return{x:Math.cos(e)*t,y:Math.sin(e)*t}}function pb({onSave:e}){let[t,n]=j(!1),[r]=_s(),o=Ws[r];return M("button",{type:"button","data-popmelt-subject-label-save":!0,"data-hovered":t?"true":"false","aria-label":"Save object label",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),onPointerDown:i=>{i.preventDefault(),i.stopPropagation()},onClick:i=>{i.preventDefault(),i.stopPropagation(),e()},style:{appearance:"none",boxSizing:"border-box",height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:4,margin:0,padding:"0 8px",border:`1px solid ${o.border}`,borderRadius:8,backgroundColor:o.surface,color:o.primary,fontFamily:Tn,fontSize:12,fontWeight:600,letterSpacing:"0.24px",lineHeight:1,whiteSpace:"nowrap",cursor:"pointer",pointerEvents:"auto",userSelect:"none",touchAction:"manipulation"},children:[M("span",{className:"popmelt-subject-save-default",children:[f(Ks,{size:12,strokeWidth:2,"aria-hidden":!0}),f("span",{style:{color:o.secondary},children:"to"}),f(xi,{size:12,strokeWidth:2,"aria-hidden":!0})]}),M("span",{className:"popmelt-subject-save-hovered",children:[f("span",{children:"Save"}),f(xi,{size:12,strokeWidth:2,"aria-hidden":!0})]})]})}function fb(e,t){let n=t.x-e.start.x,r=t.y-e.start.y;if(e.kind==="translate")return{...e.bounds,left:e.bounds.left+n,top:e.bounds.top+r};let o=e.bounds.left+e.bounds.width,i=e.bounds.top+e.bounds.height;switch(e.corner){case"topLeft":{let a=Math.min(o-Wo,e.bounds.left+n),l=Math.min(i-Wo,e.bounds.top+r);return{left:a,top:l,width:o-a,height:i-l}}case"topRight":{let a=Math.max(e.bounds.left+Wo,o+n),l=Math.min(i-Wo,e.bounds.top+r);return{left:e.bounds.left,top:l,width:a-e.bounds.left,height:i-l}}case"bottomLeft":{let a=Math.min(o-Wo,e.bounds.left+n),l=Math.max(e.bounds.top+Wo,i+r);return{left:a,top:e.bounds.top,width:o-a,height:l-e.bounds.top}}default:{let a=Math.max(e.bounds.left+Wo,o+n),l=Math.max(e.bounds.top+Wo,i+r);return{left:e.bounds.left,top:e.bounds.top,width:a-e.bounds.left,height:l-e.bounds.top}}}}function hb({accentColor:e,created:t,registry:n,target:r,onCommit:o,onClose:i,onCancelCreated:a}){let l=n.resolve(r),s=W(l?.subject.label??"object"),[d,c]=j(s.current),p=l?.subject.trackingAnchors?.map(R=>({...R}))??[],u=W(p),[h,m]=j(p),[g,x]=j(0),[S,D]=j(0),H=W(null),w=W(null),z=W(null),Z=W(!1),k=n.resolve(r),V=Se(()=>{let R=typeof document>"u"?null:document.createElement("canvas").getContext("2d");R&&(R.font=`${Fc}px ${Tn}`);let $=P=>(R?.measureText(P).width??P.length*7.2)+Math.max(0,P.length-1)*fm;return{label:Math.max(8,$(d||" ")),full:$(`<${d||" "}>`)+_c*2}},[d]);if(It(()=>{z.current?.focus(),z.current?.select()},[]),It(()=>{if(g)for(let R of w.current?.querySelectorAll("[data-popmelt-tracking-anchor]")??[]){let $=ub();R.animate?.([{transform:"translate(-50%, -50%)"},{transform:`translate(calc(-50% + ${$.x}px), calc(-50% + ${$.y}px))`},{transform:`translate(calc(-50% - ${$.x*.55}px), calc(-50% - ${$.y*.55}px))`},{transform:"translate(-50%, -50%)"}],{duration:220,easing:"ease-out"})}},[g]),O(()=>n.subscribeFrame(()=>D(R=>R+1)),[n]),O(()=>{let R=P=>{let A=H.current;A&&(n.updateBounds(r,fb(A,{x:P.clientX,y:P.clientY})),D(ne=>ne+1))},$=()=>{H.current=null,D(P=>P+1)};return window.addEventListener("pointermove",R,!0),window.addEventListener("pointerup",$,!0),window.addEventListener("pointercancel",$,!0),()=>{window.removeEventListener("pointermove",R,!0),window.removeEventListener("pointerup",$,!0),window.removeEventListener("pointercancel",$,!0)}},[n,r]),!k)return null;let N=()=>{if(Z.current)return;let R=d.trim();if(!R){t&&a();return}let $=u.current,P=$.length===1?[]:$,A=k.adapter.updateSubjectTrackingAnchors?n.updateTrackingAnchors(r,P):null,ne=n.rename(r,R)??A;ne&&o(ne),i()},Y=()=>{Z.current=!0,t?a():i()},{bounds:q}=k.subject,ie=!!k.adapter.updateSubjectTrackingAnchors,I=Math.min(400,V.full),Q=I+Tp+db,L=js({left:q.left,right:q.left+q.width,top:q.top,bottom:q.top+q.height,height:q.height},22,2,window.innerHeight,Q,window.innerWidth),F=L.horizontalAlignment==="right"?L.left-Q:L.left;return M(ct,{children:[f(zl,{element:k.element,activeFacet:"translate",accentColor:e,showRotateHandle:!1,refreshKey:S,draggingKind:H.current?.kind??null,draggingCorner:H.current?.corner??null,onHandlePointerDown:(R,$,P)=>{R!=="rotate"&&(P.preventDefault(),P.stopPropagation(),H.current={kind:R,corner:$,start:{x:P.clientX,y:P.clientY},bounds:{...k.subject.bounds}},D(A=>A+1))}}),ie&&f("div",{ref:w,"data-popmelt-tracking-anchor-surface":!0,"aria-label":"Add tracking anchor",onPointerDown:R=>{if(R.button!==0)return;R.preventDefault(),R.stopPropagation();let $=u.current;if($.length>=cb){x(A=>A+1);return}let P=[...$,{x:Math.max(0,Math.min(1,(R.clientX-q.left)/q.width)),y:Math.max(0,Math.min(1,(R.clientY-q.top)/q.height))}];u.current=P,m(P)},style:{position:"fixed",left:q.left,top:q.top,width:q.width,height:q.height,pointerEvents:"auto",cursor:"crosshair",zIndex:9998},children:h.map((R,$)=>f("span",{"data-popmelt-tracking-anchor":!0,"data-popmelt-tracking-anchor-reject":g?"true":void 0,style:{position:"absolute",left:`${R.x*100}%`,top:`${R.y*100}%`,width:10,height:10,boxSizing:"border-box",border:"2px solid #ffffff",borderRadius:"50%",background:e,boxShadow:"0 1px 3px rgba(0, 0, 0, 0.35)",pointerEvents:"none",transform:"translate(-50%, -50%)"}},$))}),f("style",{children:`
31
+ [data-popmelt-subject-label-editor]::selection {
32
+ background: #000000;
33
+ color: #ffffff;
34
+ }
35
+ .popmelt-subject-save-default {
36
+ display: inline-flex;
37
+ align-items: center;
38
+ gap: 4px;
39
+ }
40
+ .popmelt-subject-save-hovered {
41
+ display: none;
42
+ align-items: center;
43
+ gap: 4px;
44
+ }
45
+ [data-popmelt-subject-label-save][data-hovered="true"] .popmelt-subject-save-default {
46
+ display: none;
47
+ }
48
+ [data-popmelt-subject-label-save][data-hovered="true"] .popmelt-subject-save-hovered {
49
+ display: inline-flex;
50
+ }
51
+ @media (max-width: 767px) {
52
+ .popmelt-subject-save-default { display: none; }
53
+ .popmelt-subject-save-hovered { display: inline-flex; }
54
+ }
55
+ `}),M("div",{style:{position:"fixed",left:F,top:L.top,display:"flex",alignItems:"center",gap:Tp,pointerEvents:"auto",zIndex:1e4},children:[M("div",{"data-popmelt-subject-label-editor":!0,style:{...cm(e),width:I,gap:0,borderRadius:Ea(L.anchor)},children:[f("span",{"aria-hidden":!0,children:"<"}),f("input",{ref:z,"data-popmelt-subject-label-input":!0,value:d,"aria-label":"Object label",spellCheck:!1,onChange:R=>c(R.target.value),onBlur:N,onKeyDown:R=>{R.key==="Escape"?(R.preventDefault(),Y()):R.key==="Enter"&&!R.metaKey&&!R.ctrlKey&&(R.preventDefault(),N())},style:{appearance:"none",boxSizing:"content-box",width:Math.min(V.label,400-_c*2-16),minWidth:0,height:`${Fc*1.2}px`,margin:0,padding:0,border:0,outline:0,background:"transparent",color:"inherit",font:"inherit",letterSpacing:"inherit",lineHeight:"inherit"}}),f("span",{"aria-hidden":!0,children:">"})]}),f(pb,{onSave:N})]})]})}var Ep=2;function mb(e,t){if((e.annotation.status??"pending")!=="pending")return null;let n={x:t.x-e.startPoint.x,y:t.y-e.startPoint.y};return e.hasMoved?{session:{...e,startPoint:t},move:{delta:n,saveUndo:!1}}:Math.abs(n.x)>Ep||Math.abs(n.y)>Ep?{session:{...e,hasMoved:!0,startPoint:t},move:{delta:n,saveUndo:!0}}:null}function gb({session:e,clickPoint:t,groupLabelWidth:n=0}){let{annotation:r}=e;return e.hasMoved||r.type!=="text"||(r.status??"pending")!=="pending"?null:{activeText:{id:r.id,point:r.points[0],text:r.text||"",fontSize:r.fontSize||12,isNew:!1,clickPoint:{x:t.x-n,y:t.y},groupId:r.groupId,linkedSelector:r.linkedSelector,linkedAnchor:r.linkedAnchor,elements:r.elements,...r.region?{region:r.region}:{},attachments:r.attachments,interactionEpisode:r.interactionEpisode},color:r.color}}function Ap(e,t,n,r,o){let i={...e},a=i.right-i.left||1,l=i.bottom-i.top||1,s=a/l,d={...e};switch(t){case"topLeft":d.left=n.x,d.top=n.y;break;case"topRight":d.right=n.x,d.top=n.y;break;case"bottomLeft":d.left=n.x,d.bottom=n.y;break;case"bottomRight":d.right=n.x,d.bottom=n.y;break}if(r)switch(t){case"topLeft":d.right=i.right+(i.left-d.left),d.bottom=i.bottom+(i.top-d.top);break;case"topRight":d.left=i.left-(d.right-i.right),d.bottom=i.bottom+(i.top-d.top);break;case"bottomLeft":d.right=i.right+(i.left-d.left),d.top=i.top-(d.bottom-i.bottom);break;case"bottomRight":d.left=i.left-(d.right-i.right),d.top=i.top-(d.bottom-i.bottom);break}if(o){let c=d.right-d.left,p=d.bottom-d.top;if(Math.abs(c/p)>s){let u=Math.abs(p)*s*Math.sign(c);t==="topLeft"||t==="bottomLeft"?d.left=d.right-u:d.right=d.left+u}else{let u=Math.abs(c)/s*Math.sign(p);t==="topLeft"||t==="topRight"?d.top=d.bottom-u:d.bottom=d.top+u}}return d}function yb({annotation:e,session:t,point:n,centerOrigin:r,lockAspect:o}){let{handle:i,originalPoints:a}=t;if(e.type==="line"){let p=a[0],u=a[a.length-1];return i==="start"?[n,u]:[p,n]}if(e.type==="freehand"){let p={left:Math.min(...a.map(S=>S.x)),right:Math.max(...a.map(S=>S.x)),top:Math.min(...a.map(S=>S.y)),bottom:Math.max(...a.map(S=>S.y))},u=p.right-p.left||1,h=p.bottom-p.top||1,m=Ap(p,i,n,r,o),g=m.right-m.left||1,x=m.bottom-m.top||1;return a.map(S=>({x:m.left+(S.x-p.left)/u*g,y:m.top+(S.y-p.top)/h*x}))}let l=a[0],s=a[a.length-1],d={left:Math.min(l.x,s.x),right:Math.max(l.x,s.x),top:Math.min(l.y,s.y),bottom:Math.max(l.y,s.y)};if(e.type==="circle"){let p=(d.left+d.right)/2,u=(d.top+d.bottom)/2,h=d.right-d.left,m=d.bottom-d.top,g={...d};switch(i){case"top":{if(g.top=n.y,r&&(g.bottom=u+(u-n.y)),o){let x=(g.bottom-g.top)*(h/m)/2;g.left=p-x,g.right=p+x}break}case"bottom":{if(g.bottom=n.y,r&&(g.top=u-(n.y-u)),o){let x=(g.bottom-g.top)*(h/m)/2;g.left=p-x,g.right=p+x}break}case"left":{if(g.left=n.x,r&&(g.right=p+(p-n.x)),o){let x=(g.right-g.left)*(m/h)/2;g.top=u-x,g.bottom=u+x}break}case"right":{if(g.right=n.x,r&&(g.left=p-(n.x-p)),o){let x=(g.right-g.left)*(m/h)/2;g.top=u-x,g.bottom=u+x}break}}return[{x:g.left,y:g.top},{x:g.right,y:g.bottom}]}let c=Ap(d,i,n,r,o);return[{x:c.left,y:c.top},{x:c.right,y:c.bottom}]}function vb(){let[e,t]=j(null),[n,r]=j(null);return{dragState:e,resizeState:n,setDragState:t,setResizeState:r}}function bb({enabled:e,onRegion:t,onClick:n,onStart:r}){let o=W(null),[i,a]=j(null),l=J(()=>{let s=o.current;o.current=null,a(null),s?.target.hasPointerCapture(s.pointerId)&&s.target.releasePointerCapture(s.pointerId)},[]);return O(()=>{e||l()},[e,l]),O(()=>{let s=d=>{d.key==="Escape"&&o.current&&(d.preventDefault(),d.stopImmediatePropagation(),l())};return window.addEventListener("keydown",s,!0),window.addEventListener("blur",l),window.addEventListener("scroll",l,!0),window.addEventListener("resize",l),()=>{window.removeEventListener("keydown",s,!0),window.removeEventListener("blur",l),window.removeEventListener("scroll",l,!0),window.removeEventListener("resize",l),l()}},[l]),{begin:s=>!e||s.button!==0||!["mouse","pen"].includes(s.pointerType)||s.altKey||s.ctrlKey||s.metaKey||s.shiftKey||o.current?!1:(o.current={pointerId:s.pointerId,target:s.currentTarget,points:[{x:s.clientX,y:s.clientY}],moved:!1,scroll:{x:window.scrollX,y:window.scrollY},viewport:{width:window.innerWidth,height:window.innerHeight}},s.currentTarget.setPointerCapture(s.pointerId),s.preventDefault(),!0),move:s=>{let d=o.current;if(!d||s.pointerId!==d.pointerId)return!1;let c={x:s.clientX,y:s.clientY};return!d.moved&&Math.hypot(c.x-d.points[0].x,c.y-d.points[0].y)>=xm&&(d.moved=!0,r()),d.points=Yc(d.points,c),d.moved&&a(d.points),s.preventDefault(),!0},end:s=>{let d=o.current;if(!d||s.pointerId!==d.pointerId)return!1;let c=Yc(d.points,{x:s.clientX,y:s.clientY});if(l(),!d.moved)n(s);else{let p=bm(c,d.scroll,d.viewport);p&&t(p,c)}return s.preventDefault(),!0},cancel:l,preview:i,active:()=>o.current!==null}}function hd(e,t,n=!0){let r=new Map(Vc(e.segments,e.originalText,t).map(({segment:o,modifiedText:i})=>[o,i]));return{type:"MODIFY_TEXT_CONTENTS",...n?{}:{saveUndo:!1},payload:e.segments.map(o=>({selector:e.selector,durableSelector:e.durableSelector,element:e.element,textNodePath:o.textNodePath,original:o.originalText,modified:r.get(o)??o.originalText}))}}function xb(e,t,n){return e||(t>0?`[${t} image${t>1?"s":""}]`:n[0]?.name??"")}function wb(e){if(e.domEdit){let i=e.domEdit;return e.text===i.originalText?{action:null,sendHintAnchorId:null,attachedImages:null}:{action:hd(i,e.text),sendHintAnchorId:null,attachedImages:null}}let t=e.images??[],n=t.length,r=e.attachments??[];if(!(e.text.trim()||n>0||r.length>0||e.interactionEpisode?.steps.length))return{action:e.isNew?null:{type:"DELETE_ANNOTATION",payload:{id:e.id}},sendHintAnchorId:null,attachedImages:null};let o=xb(e.text,n,r)||`[Interaction episode: ${e.interactionEpisode?.steps.length??0} steps]`;return{action:e.isNew?{type:"ADD_TEXT",payload:{point:e.point,text:o,fontSize:e.fontSize,id:e.id,groupId:e.groupId,linkedSelector:e.linkedSelector,target:e.target,linkedAnchor:e.linkedAnchor,elements:e.elements,...e.region?{region:e.region}:{},...n>0?{imageCount:n}:{},...r.length>0?{attachments:r}:{},...e.interactionEpisode?{interactionEpisode:e.interactionEpisode}:{}}}:{type:"UPDATE_TEXT",payload:{id:e.id,text:o,...n>0?{imageCount:n}:{},attachments:r,interactionEpisode:e.interactionEpisode}},sendHintAnchorId:e.id,attachedImages:n>0?{annotationId:e.id,images:t}:null}}var ra=0,Sb=2,Ib=60;function Cp({anchorLeftX:e,anchorRightX:t,editorWidth:n,trailingWidth:r,viewportWidth:o}){let i=Math.max(ra,o-ra),a=Math.max(ra,Math.min(t,i)),l=r>0?r+Sb:0,s=n+l,d=Math.max(0,e-8),c=a-s,p=Math.max(0,ra-d)+Math.max(0,d+s-i),u=Math.max(0,ra-c)<p?"right":"left",h=Math.max(Ib,u==="right"?a-ra-l:i-d-l),m=Math.min(n,h);return{horizontalAlignment:u,editorLeft:u==="right"?a-l-m:d,maxEditorWidth:h}}function kb({prefix:e,fontSize:t,railGap:n,context:r}){if(!e)return 0;let o=t*.6,i=r?.measureText(e).width??e.length*o,a=n??(r?.measureText(" ").width??o)/2;return i+a}function Tb({text:e,fontSize:t,point:n,clickPoint:r,context:o}){let i=e.split(`
56
+ `),a=t*lr,l=Math.max(0,Math.min(i.length-1,Math.floor((r.y-n.y)/a))),s=i[l]??"",d=r.x-n.x,c=s.length;for(let u=0;u<=s.length;u+=1){let h=o.measureText(s.slice(0,u)).width;if(h<=d)continue;let m=u>0?o.measureText(s.slice(0,u-1)).width:0;c=Math.max(0,d-m<h-d?u-1:u);break}let p=c;for(let u=0;u<l;u+=1)p+=(i[u]?.length??0)+1;return p}function md({text:e,fontSize:t,effectiveMaxWidth:n,annotationPrefixWidth:r,isModifiedRail:o,fitToContent:i=o,context:a}){let l=a.measureText("Type here...").width,s=i&&e.length>0?a.measureText(" ").width:l,d=Dm(e).split(`
57
+ `),c=Math.max(s,...d.map(u=>a.measureText(u||" ").width)),p=Math.max(s,n-r-(o?16:0));if(c>p){let u=Hm(a,d,p);return{width:Math.min(p,Math.max(s,...u.map(h=>a.measureText(h).width))),height:Math.max(1,u.length)*t*lr,isWrapped:!0}}return{width:c,height:Math.max(1,d.length)*t*lr,isWrapped:!1}}function Eb(e,t){return e&&t!=="model"}function Ab(e,t,n,r=6){return e.moved?e:{...e,moved:Math.hypot(t-e.startX,n-e.startY)>r}}function Cb(e){return!!(e&&!e.moved)}function Mb(e){return e==="hand"}var Mp={"active-edit":100,"direct-manipulation":90,"in-flight":80,"bundle-preview":70,"nested-preview":65,"annotation-hover":60,"badge-hover":60,"thread-focus":50,selected:45,"pending-change":40,"inspector-hover":30};function Rb(e){let t=new Map;for(let n of e){let r=t.get(n.target);(!r||Mp[n.owner]>Mp[r])&&t.set(n.target,n.owner)}return t}function Lb({activeText:e,pendingLinkedText:t,activeTextSendHintId:n,activeTool:r,isAnnotating:o,annotations:i,pageAnnotations:a,pageStyleModifications:l,pageTextModifications:s,supersededAnnotations:d,nestedBadgeHover:c,isSendBundleHovered:p,badgeHoveredAnnotationId:u,hoveredTextId:h,badgeHoveredSelector:m,focusedThreadAnnotationId:g,inFlightSelectorColors:x,focusedSelectorColors:S,hoveredElement:D}){let H=new Map;for(let A of i)A.linkedSelector&&A.elements?.[0]&&H.set(A.linkedSelector,A.elements[0]);for(let A of[...l,...s])H.set(A.selector,A.element);for(let A of[e,t])A?.linkedSelector&&A.elements?.[0]&&H.set(A.linkedSelector,A.elements[0]);let w=(A,ne)=>nn(A,ne??(H.has(A)?[H.get(A)]:void 0)),z=A=>A?i.find(ne=>ne.id===A)?.linkedSelector??null:null,Z=c?c.ownerId===n?e?.linkedSelector??null:z(c.ownerId):null,k=(A,ne)=>ne?w(ne)===A:!1,V=A=>{let ne=null;for(let re of a)!re.linkedSelector||d.has(re)||nn(re.linkedSelector,re.elements)!==A||(!ne||re.timestamp>ne.timestamp)&&(ne=re);return ne},N=[e?.linkedSelector,t?.linkedSelector,z(g),z(c||p?null:u),z(c||p?null:h),m].filter(Boolean),Y=c||p?null:u||h,q=A=>N.some(ne=>k(A,ne)),ie=[],I=(A,ne)=>{A&&ie.push({target:A,owner:ne})},Q=(A,ne,re)=>{A&&I(w(A,re),ne)};if(o){if(r==="hand")for(let A of l)A.captured||Q(A.selector,"pending-change");for(let A of s)A.captured||Q(A.selector,"pending-change");for(let A of x?.keys()??[])Q(A,"in-flight");for(let A of S?.keys()??[])Q(A,"selected");if(Q(e?.domEdit?e.linkedSelector:null,"active-edit",e?.elements),!c&&!p&&Q(e?.linkedSelector||t?.linkedSelector,"direct-manipulation",e?.elements||t?.elements),!p&&g){let A=i.find(ne=>ne.id===g);A?.linkedSelector&&Z!==A.linkedSelector&&Q(A.linkedSelector,"thread-focus",A.elements)}if(Y){let A=i.find(ne=>ne.id===Y);Q(A?.linkedSelector,"annotation-hover",A?.elements)}if(c&&!p)for(let A of c.annotationIds){let ne=i.find(re=>re.id===A);Q(ne?.linkedSelector,"nested-preview",ne?.elements)}if(p){for(let A of a)(A.status??"pending")==="pending"&&Q(A.linkedSelector,"bundle-preview",A.elements);e&&!e.domEdit&&e.text?.trim()&&Q(e.linkedSelector,"bundle-preview",e.elements);for(let A of[...l,...s])A.captured||Q(A.selector,"bundle-preview",[A.element])}Q(m,"badge-hover"),(r==="inspector"||r==="sticker")&&D&&!Y&&!m&&I(D,"inspector-hover")}let L=Rb(ie),F=(A,ne)=>L.get(A)===ne,R=(A,ne)=>{if(!A)return null;let re=new Map,ee=new Set;for(let[oe,U]of A){let fe=w(oe);fe&&F(fe,ne)&&!ee.has(fe)&&(ee.add(fe),re.set(oe,U))}return re.size>0?re:null},$=new Set,P=(A,ne)=>!F(A,ne)||$.has(A)?!1:($.add(A),!0);return{selectorElementInfo:H,hasExistingOverlay:A=>L.has(A),nestedBadgeOwnerSelector:Z,hoveredLinkedAnnotationId:Y,hasSelectedHighlightForElement:q,getExistingAnnotationForElement:V,ownedInFlightSelectorColors:R(x,"in-flight"),ownedFocusedSelectorColors:R(S,"selected"),claimElementOverlay:P}}function Pb(e){let[t,n]=j();return It(()=>{if(!e)return;let r,o=()=>{if(!e.isConnected)return;let i=xn(e);n(a=>a?.element===e&&a.rect.x===i.x&&a.rect.y===i.y&&a.rect.width===i.width&&a.rect.height===i.height?a:{element:e,rect:i}),r=requestAnimationFrame(o)};return o(),()=>cancelAnimationFrame(r)},[e]),t?.element===e?t.rect:void 0}var jb=180,Rp=16,zb=50,Lp=180;async function $b(e){let t=new Uint8Array(await e.arrayBuffer()),n=2166136261;for(let r of t)n^=r,n=Math.imul(n,16777619);return`${e.size.toString(36)}-${(n>>>0).toString(36)}`}function Pp(e,t){return!e.frames||t===0?e:{...e,frames:e.frames.map(n=>({...n,imageIndex:n.imageIndex+t}))}}function gd(e){let t=e?.replace(/\s+/g," ").trim();if(t)return t.slice(0,Lp)}function Db(e){try{return Ho(e)}catch{return}}function jp(e){if(e instanceof HTMLVideoElement){let t=Number.isFinite(e.duration)?e.duration:void 0;return{kind:"video",currentTime:e.currentTime,...t===void 0?{}:{duration:t},paused:e.paused}}}function oa(e){if(!e||ro(e))return;let t=e instanceof HTMLElement?e:null,n=e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?e:null,r=e.getBoundingClientRect(),o=e.getAttribute("role")??void 0,i=gd(e.getAttribute("class")),a=gd(e.getAttribute("aria-label")),l=gd(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement?void 0:e.textContent),s=jp(e);return{selector:Db(e),tagName:e.tagName.toLowerCase(),...i?{className:i}:{},...o?{role:o}:{},...a?{ariaLabel:a}:{},...l?{text:l}:{},...n&&!(n instanceof HTMLInputElement&&n.type==="password")?{value:n.value.slice(0,Lp)}:{},...e instanceof HTMLInputElement&&(e.type==="checkbox"||e.type==="radio")?{checked:e.checked}:{},...t&&"disabled"in t&&typeof t.disabled=="boolean"?{disabled:t.disabled}:{},...e.hasAttribute("aria-expanded")?{expanded:e.getAttribute("aria-expanded")==="true"}:{},...e.hasAttribute("aria-pressed")?{pressed:e.getAttribute("aria-pressed")==="true"}:{},...e.hasAttribute("aria-selected")?{selected:e.getAttribute("aria-selected")==="true"}:{},rect:{x:Math.round(r.x),y:Math.round(r.y),width:Math.round(r.width),height:Math.round(r.height)},...s?{media:s}:{}}}function yd(e){let{subject:t,target:n,adapter:r}=e,{left:o,top:i,width:a,height:l}=t.bounds,s=jp(t.sourceElement??null);return{tagName:r.id,rect:{x:Math.round(o),y:Math.round(i),width:Math.round(a),height:Math.round(l)},subject:{adapter:n.adapter,key:n.key,label:t.label,...t.context?{context:t.context}:{},...t.data?{data:{...t.data}}:{}},...s?{media:s}:{}}}function Hb(e){return e.type==="click"?"click":e.type==="input"?"input":e.type==="change"?"change":e.type==="submit"?"submit":e.type==="keydown"?"keydown":e.type==="play"?"play":e.type==="pause"?"pause":e.type==="seeked"?"seek":null}function Nb(e,t,n){if(e==="scroll")return"Scrolled the page";let r=n??oa(t),o=r?.subject?.label??r?.ariaLabel??r?.text??r?.tagName??"element";return e==="click"?`Clicked ${o}`:e==="drag"?`Dragged ${o}`:e==="input"?`Entered text in ${o}`:e==="change"?`Changed ${o}`:e==="submit"?`Submitted ${o}`:e==="play"?`Played ${o}`:e==="pause"?`Paused ${o}`:e==="seek"?`Sought in ${o}`:`Pressed a key on ${o}`}function Ob(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function Fb(e){return e.metaKey||e.ctrlKey||e.altKey?!1:["Enter"," ","Escape","Tab","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(e.key)}function _b(e){return e instanceof Element?e:e.parentElement}function Wb(e){let t=e.now??(()=>Date.now()),n=t(),r=[],o=null,i=0,a=!1,l=e.captureFrame?.().catch(()=>null)??Promise.resolve(null),s=[],d=null,c=()=>{if(window.clearTimeout(i),i=0,!o)return;let m=t(),g=o.captureResult?.()??oa(o.targetElement),x=o.kind==="input"||o.kind==="change"||o.kind==="submit"||o.kind==="scroll"||o.kind==="play"||o.kind==="pause"||o.kind==="seek",S={id:o.id,action:{kind:o.kind,label:o.label,...o.key?{key:o.key}:{},...o.target?{target:o.target}:{}},startedAt:o.startedAt,completedAt:m,outcome:x||o.changes.length>0||Ob(o.target,g)?"changed":"no-observable-change",changes:o.changes,...g?{result:g}:{}};if(o=null,r.length<zb&&(r.push(S),e.onStep?.(S),e.captureFrame)){let D=l,H=e.captureFrame().catch(()=>null);l=H,s.push(Promise.all([D,H]).then(([w,z])=>({step:S,before:w,after:z})))}},p=()=>{window.clearTimeout(i),i=window.setTimeout(c,jb)},u=(m,g,x)=>{let{element:S,state:D}=g,H=o?.kind==="input"&&m==="input"&&o.targetElement===S,w=o?.kind==="click"&&(m==="input"||m==="change"||m==="play"||m==="pause"||m==="seek")&&o.targetElement===S;if(H||w){p();return}c(),o={id:`episode-step-${n}-${r.length+1}`,kind:m,label:Nb(m,S,D),...x?{key:x}:{},targetElement:S,target:D,captureResult:g.captureResult,startedAt:t(),changes:[]},e.onActionCountChange?.(r.length+1),p()},h=new MutationObserver(m=>{if(!(!o||a)){for(let g of m){if(o.changes.length>=Rp)break;let x=(S,D)=>{if(!o||o.changes.length>=Rp)return;let H=_b(D),w=oa(H);!w||o.changes.some(z=>z.kind===S&&z.element.selector===w.selector&&z.element.tagName===w.tagName&&z.element.text===w.text)||o.changes.push({kind:S,element:w})};g.addedNodes.forEach(S=>x("added",S)),g.removedNodes.forEach(S=>x("removed",S)),(g.type==="attributes"||g.type==="characterData")&&x("updated",g.target)}p()}});return h.observe(document.documentElement,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["aria-expanded","aria-pressed","aria-selected","checked","class","disabled","hidden","open","poster","src","value"]}),{recordEvent(m){if(a)return;if(m.type==="pointerdown"||m.type==="pointerup"){let H=m;if(m.type==="pointerdown"&&H.button===0){let w=e.resolveEventTarget?.(m),z=w?.element??(m.target instanceof Element&&!ro(m.target)?m.target:null),Z=w?.state??oa(z);if(!Z)return;d={x:H.clientX,y:H.clientY,targetElement:z,target:Z,captureResult:w?.captureResult};return}if(m.type==="pointerup"){let w=d;d=null,w?.targetElement&&Math.hypot(H.clientX-w.x,H.clientY-w.y)>4&&u("drag",{element:w.targetElement,state:w.target,captureResult:w.captureResult});return}}let g=Hb(m);if(!g||m instanceof KeyboardEvent&&!Fb(m))return;let x=e.resolveEventTarget?.(m),S=x?.element??(m.target instanceof Element&&!ro(m.target)?m.target:null);if(!S)return;let D=x?.state??oa(S);D&&u(g,{element:S,state:D,captureResult:x?.captureResult},m instanceof KeyboardEvent?m.key:void 0)},recordScroll(){if(!a){if(o?.kind==="scroll"){p();return}u("scroll",{element:null,state:{tagName:"document",text:"page"}})}},hasActions(){return o!==null||r.length>0},async finish(){a||c(),a=!0,h.disconnect(),window.clearTimeout(i);let m={version:1,startedAt:n,completedAt:t(),subject:e.subjectState??oa(e.subjectElement),steps:[...r]};if(r.length===0||s.length===0)return{episode:m,frames:[]};let g=await Promise.all(s),x=[],S=new Map,D=[],H=async w=>{if(!w)return;let z=await $b(w),Z=S.get(z);if(Z)return Z;let k=`episode-frame-${n}-${x.length+1}`;return S.set(z,k),D.push({id:k,imageIndex:x.length,fingerprint:z}),x.push(w),k};for(let w of g){let z=await H(w.before),Z=await H(w.after);(z||Z)&&(w.step.visuals={...z?{beforeFrameId:z}:{},...Z?{afterFrameId:Z}:{}})}return D.length>0&&(m.frames=D),{episode:m,frames:x}},cancel(){a=!0,o=null,d=null,h.disconnect(),window.clearTimeout(i)}}}function zp(e){return!!(e&&!e.domEdit&&(e.linkedSelector||e.target))}function $p(e){return!!(e&&e.type==="text"&&(e.status??"pending")==="pending"&&(e.linkedSelector||e.target))}function Bb(e,t){return!!(t&&e?.id===t.id)}function Jb(e,t,n){let r=[...n?[n]:[],...[...t].reverse()],o=new Set,i=[];for(let a of r){if(o.has(a))continue;o.add(a);let l=e.find(s=>s.id===a);l&&(i.push(l),l.groupId&&i.push(...e.filter(s=>s.id!==l.id&&s.groupId===l.groupId)))}return i}function qb(e){let t=e.activationDraft??e.activeDraft;if(zp(t))return{kind:"draft",value:t};let n=Jb(e.annotations,e.selectedAnnotationIds,e.lastSelectedId).find($p);return n?{kind:"annotation",value:n}:$p(e.annotationAtCursor)?{kind:"annotation",value:e.annotationAtCursor}:null}var vd={kind:"root"},Ub=2;function Yb(e){return e==="color"?"slate":ll(e)[0]}function Xb(e){let t=Ms(e),n=Yb(e),r=e==="color";return{id:`family:${e}`,label:t,searchPath:t,destination:{family:e,subproperty:n,stage:r?"family":"value"},nextScope:r?{kind:"colors",family:e}:{kind:"values",family:e,subproperty:n}}}function Dp(e,t){let n=Ms(e),r=vm(e,t),o=e==="border"&&t==="all"?`${n} Width`:r===n?n:`${n} ${r}`,i=(e==="text"||e==="border")&&t==="color";return{id:`subproperty:${e}:${t}`,label:o,searchPath:o,destination:{family:e,subproperty:t,stage:i?"family":"value"},nextScope:i?{kind:"colors",family:e}:{kind:"values",family:e,subproperty:t}}}function Kb(e,t){let n=t[0].toUpperCase()+t.slice(1);return{id:`color:${e}:${t}`,label:n,searchPath:n,destination:{family:e,subproperty:t,stage:"variant"},nextScope:{kind:"values",family:e,subproperty:t}}}function Vb(e,t,n){return{id:`value:${e}:${t}:${n}`,label:String(n),searchPath:String(n),destination:{family:e,subproperty:t,step:n,stage:"value"}}}function Gb(e){return e.kind==="root"?Ui.flatMap(t=>{let n=Xb(t);return t==="color"?[n]:[n,...ll(t).filter(r=>!Uc(r)).map(r=>Dp(t,r))]}):e.kind==="family"?ll(e.family).filter(t=>!Uc(t)).map(t=>Dp(e.family,t)):e.kind==="colors"?Jc.map(t=>Kb(e.family,t)):vi(e.family,e.subproperty).map(t=>Vb(e.family,e.subproperty,t))}function Ha(e){return e.toLowerCase().trim().replace(/[^a-z0-9]+/g," ")}function Hp(e){return Ha(e).replace(/\s+/g,"")}function Qb(e){return Ha(e).split(/\s+/).filter(Boolean).map(t=>t[0]).join("")}function Zb(e,t){let n=Ha(e);if(!n)return 0;let r=Ha(t.searchPath),o=Ha(t.label),i=Hp(e),a=Hp(t.searchPath),l=Qb(t.searchPath);if(o===n)return 1e3;if(r===n)return 980;if(o.startsWith(n))return 940;if(r.startsWith(n))return 920;if(r.split(" ").some(c=>c.startsWith(n)))return 880;if(l.startsWith(i))return 850;if(a.startsWith(i))return 820;let s=0;for(let c of i){if(s=a.indexOf(c,s),s===-1)return-1;s+=1}let d=t.id.startsWith("family:")?20:0;return 500-Math.max(0,a.length-i.length)+d}function Na(e,t){if(!t.trim())return null;let n=o=>Gb(o).map((i,a)=>({candidate:i,index:a,score:Zb(t,i)})).filter(i=>i.score>=0).sort((i,a)=>a.score-i.score||i.index-a.index)[0]?.candidate??null,r=n(e);if(r||e.kind==="root")return r;if(e.kind==="values"||e.kind==="colors"){let o=n({kind:"family",family:e.family});if(o)return o}return n(vd)}function bd(e,t){return t.trim().length<Ub?null:Na(e,t)}function ex(e){return e.id.startsWith("family:")?{kind:"icon",label:e.label,family:e.destination.family,subproperty:"all"}:e.id.startsWith("subproperty:")?{kind:"icon",label:e.label,family:e.destination.family,subproperty:e.destination.subproperty??"all"}:{kind:"label",label:e.label}}function tx(e,t){return e?t?t.label.toLowerCase().startsWith(e.toLowerCase())?{typed:t.label.slice(0,e.length),completion:t.label.slice(e.length),fallback:""}:{typed:e,completion:"",fallback:t.label}:{typed:e,completion:"",fallback:""}:{typed:"",completion:"",fallback:"Steer a property"}}function Ii(e,t){Dr(e)&&(t.forEach(n=>e.style.removeProperty(n)),e.style.removeProperty("transition"))}function dr(e,t,n){return{property:e,original:`${t}px`,modified:`${n}px`}}function nx(e,t,n){Ii(e,["font-size","line-height"]);let r=[];if(t.fontSize!==n.fontSize&&(it(e,"font-size",`${n.fontSize}px`),r.push(dr("font-size",t.fontSize,n.fontSize))),t.lineHeight!==n.lineHeight){let o=t.fontSize>0?Math.round(t.lineHeight/t.fontSize*1e3)/1e3:1.2,i=n.fontSize>0?Math.round(n.lineHeight/n.fontSize*1e3)/1e3:1.2;it(e,"line-height",`${i}`),r.push({property:"line-height",original:`${o}`,modified:`${i}`})}return r}var xd=["space-between","space-around","stretch","normal"];function rx(e,t,n,r){if(!t.hasMoved){if(r)return[];Ii(e,[]);let i=t.justifyContent||"normal",a=xd.indexOf(i),l=xd[(a+1)%xd.length],s=[];return l==="normal"?(it(e,"justify-content","normal"),s.push({property:"justify-content",original:t.justifyContent,modified:"normal"})):l==="stretch"?(it(e,"justify-content",l),it(e,"row-gap","8px"),it(e,"column-gap","8px"),s.push({property:"justify-content",original:t.justifyContent||"normal",modified:l}),t.row!==8&&s.push(dr("row-gap",t.row,8)),t.column!==8&&s.push(dr("column-gap",t.column,8))):(Ii(e,["row-gap","column-gap"]),it(e,"justify-content",l),s.push({property:"justify-content",original:t.justifyContent||"normal",modified:l}),t.row>0&&s.push(dr("row-gap",t.row,0)),t.column>0&&s.push(dr("column-gap",t.column,0))),s}if(!n)return[];Ii(e,["row-gap","column-gap"]);let o=[];return t.isAuto?(Ii(e,["justify-content"]),it(e,"justify-content","normal"),it(e,"row-gap",`${n.row}px`),it(e,"column-gap",`${n.column}px`),o.push({property:"justify-content",original:t.justifyContent,modified:"normal"}),o.push(dr("row-gap",0,n.row)),o.push(dr("column-gap",0,n.column)),o):(t.row!==n.row&&(it(e,"row-gap",`${n.row}px`),o.push(dr("row-gap",t.row,n.row))),t.column!==n.column&&(it(e,"column-gap",`${n.column}px`),o.push(dr("column-gap",t.column,n.column))),o)}var wd={"top-left":"border-top-left-radius","top-right":"border-top-right-radius","bottom-right":"border-bottom-right-radius","bottom-left":"border-bottom-left-radius"};function ox(e,t,n){let r=Object.values(wd);Ii(e,r);let o=[];return Object.keys(wd).forEach(i=>{if(t[i]===n[i])return;let a=wd[i];it(e,a,`${n[i]}px`),o.push(dr(a,t[i],n[i]))}),o}function ix(e,t,n){Ii(e,["padding"]);let r=[];return Object.keys(t).forEach(o=>{if(t[o]===n[o])return;let i=`padding-${o}`;it(e,i,`${n[o]}px`),r.push(dr(i,t[o],n[o]))}),r}function Np(){return{isDragging:!1,side:null,startX:0,startY:0,original:{top:0,right:0,bottom:0,left:0},element:null,elementInfo:null,selector:null,durableSelector:null}}function Op(){return{isDragging:!1,hasMoved:!1,axis:null,startX:0,startY:0,originalRow:0,originalColumn:0,element:null,elementInfo:null,selector:null,durableSelector:null,isAuto:!1,originalJustifyContent:"",visualGap:0}}function Fp(){return{isDragging:!1,corner:null,startY:0,original:{"top-left":0,"top-right":0,"bottom-right":0,"bottom-left":0},maxRadius:0,element:null,elementInfo:null,selector:null,durableSelector:null}}function _p(){return{isDragging:!1,property:null,startX:0,startY:0,originalFontSize:0,originalLineHeight:0,originalRatio:1.2,element:null,elementInfo:null,selector:null,durableSelector:null}}function $l(e,t){return!e.selector||!e.elementInfo||t.length===0?null:{selector:e.selector,durableSelector:e.durableSelector??void 0,element:e.elementInfo,changes:t}}function ax(e,t){return!e.element||!t?null:$l(e,nx(e.element,{fontSize:e.originalFontSize,lineHeight:e.originalLineHeight},t))}function lx(e,t,n){return e.element?$l(e,rx(e.element,{hasMoved:e.hasMoved,isAuto:e.isAuto,row:e.originalRow,column:e.originalColumn,justifyContent:e.originalJustifyContent},t,n)):null}function sx(e,t){return!e.element||!t?null:$l(e,ox(e.element,e.original,t.radius))}function dx(e,t){return!e.element||!t?null:$l(e,ix(e.element,e.original,t.padding))}var cx="popmelt-steering-context",Wp=1;function ux(e){return Bi(cx,e)}function ia(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Sd(e){return typeof e=="string"&&Ui.includes(e)}function px(e){return e==="family"||e==="variant"||e==="value"}function Bp(e,t){return typeof t=="string"&&Bc(e,t)===t}function fx(e,t,n){return vi(e,t).includes(n)}function Dl(e){if(!ia(e)||!Sd(e.family))return null;let t=e.family;if(!Bp(t,e.subproperty))return null;let n=e.subproperty;return!px(e.stage)||!fx(t,n,e.step)?null:{family:t,subproperty:n,stage:e.stage,step:e.step}}function Jp(e){if(!ia(e)||typeof e.kind!="string")return null;if(e.kind==="root")return{kind:"root"};if(e.kind==="family"&&Sd(e.family))return{kind:"family",family:e.family};if(e.kind==="colors"&&(e.family==="border"||e.family==="color"||e.family==="text"))return{kind:"colors",family:e.family};if(e.kind==="values"&&Sd(e.family)){let t=e.family;return Bp(t,e.subproperty)?{kind:"values",family:t,subproperty:e.subproperty}:null}return null}function hx(e){if(!ia(e)||typeof e.query!="string"||!Array.isArray(e.segments)||!e.segments.every(i=>typeof i=="string"))return null;let t=Jp(e.scope),n=Dl(e.origin);if(!t||!n||!Array.isArray(e.history))return null;let r=[];for(let i of e.history){if(!ia(i))return null;let a=Jp(i.scope),l=Dl(i.snapshot);if(!a||!l)return null;r.push({scope:a,snapshot:l})}let o;if(e.segmentOrigin!==void 0){let i=Dl(e.segmentOrigin);if(!i)return null;o=i}return{query:e.query,segments:e.segments,scope:t,origin:n,...o?{segmentOrigin:o}:{},history:r}}function mx(e){let t=Dl(e);if(!t||!ia(e))return null;if(e.query===null)return{...t,query:null};let n=hx(e.query);return n?{...t,query:n}:null}function gx(e,t){try{let n=e.getItem(t);if(!n)return null;let r=JSON.parse(n);return!ia(r)||r.version!==Wp?null:mx(r.context)}catch{return null}}function yx(e,t,n){try{e.setItem(t,JSON.stringify({version:Wp,context:n}))}catch{}}function vx(e,t,n,r){return e===t?{preservedAway:r,shouldReset:!1}:n&&(e==="sticker"&&t==="inspector"||e==="inspector"&&t==="sticker")?{preservedAway:t==="inspector",shouldReset:!1}:{preservedAway:!1,shouldReset:r||e==="sticker"||t==="sticker"}}var qp=100;function Up(e,t){return e!=="sticker"||!t}var bx=new Set(["display","border-top-style","border-right-style","border-bottom-style","border-left-style"]);function xx(e,t){return e?.element===t.element&&e.family===t.family&&e.step===t.step&&e.subproperty===t.subproperty&&e.valueOverride===t.valueOverride}function Yp(e,t,n){return t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom}function wx(e,t,n,r,o,i,a){return i&&a&&vv(i,r,o,a)||t===e?!0:t&&t!==e&&e.contains(t)?Yp(n,r,o):t&&t.contains(e)&&i&&a&&bv(i,r,o,a)?!0:Yp(n,r,o)||!!(i&&yv(i,r,o))}function Id(e,t){t.value?e.style.setProperty(t.property,t.value,t.priority):e.style.removeProperty(t.property)}function Xp(e,t){return{property:t,value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}}function Sx(e){let t=new Set(e);for(let n of e){if(n==="padding"||n.startsWith("padding-")){t.add("padding");for(let r of["top","right","bottom","left"])t.add(`padding-${r}`)}if(n==="margin"||n.startsWith("margin-")){t.add("margin");for(let r of["top","right","bottom","left"])t.add(`margin-${r}`)}if(n==="border-radius"||/border-.+-radius/.test(n)){t.add("border-radius");for(let r of["top-left","top-right","bottom-right","bottom-left"])t.add(`border-${r}-radius`)}if(n==="border-width"||/border-.+-width/.test(n)){t.add("border-width");for(let r of["top","right","bottom","left"])t.add(`border-${r}-width`)}if(n==="border-color"||/border-.+-color/.test(n)){t.add("border-color");for(let r of["top","right","bottom","left"])t.add(`border-${r}-color`)}(n==="gap"||n==="row-gap"||n==="column-gap")&&(t.add("gap"),t.add("row-gap"),t.add("column-gap"))}return t}function Oa(e){if(e){Qm(e.element);for(let t of e.declarations)Id(e.element,t)}}function Ix(e,t,n){e&&(Oa(e),pu(t),fu(n))}function kx(e){if(e)for(let t of e.activeDeclarations)Id(e.element,t)}function Tx(e,t,n,r,o=null,i){o&&o.element!==e&&(Oa(o),o=null);let a=window.getComputedStyle(e),l=Rc(t,r),s=i?a.getPropertyValue(l).trim()===i:Lc(t,n,r,D=>a.getPropertyValue(D)),d=Pc(t),c=jc(t,r,n),p=t==="border"&&!yi(t,r)&&typeof n=="number"&&n>0?zc(r):null,u=[l,...d?["display"]:[],...c.map(D=>D.property),...p?[p]:[]],h=[...new Set(u)],m=new Set([...h,"transition"]),g=new Map(o?.declarations.map(D=>[D.property,D])??[]);for(let D of g.values())m.has(D.property)||Id(e,D);let x=[...m].map(D=>g.get(D)??Xp(e,D)),S=h.filter(D=>!bx.has(D));Zm(e,Sx(h)),S.length>0&&it(e,"transition",S.map(D=>`${D} ${qp}ms ease-out`).join(", ")),d&&it(e,"display",d);for(let D of c)it(e,D.property,D.value);if(it(e,l,i??qi(t,n,r)),p){let D=window.getComputedStyle(e).getPropertyValue(p).trim();(!D||D==="none")&&it(e,p,"solid")}return{preview:{element:e,declarations:x,activeDeclarations:[...m].map(D=>Xp(e,D))},stepUnavailable:s}}var Kp="[data-popmelt-subject-label-action]";function Ex(e){let t=Number(e.dataset.popmeltSubjectSurfaceLeft),n=Number(e.dataset.popmeltSubjectSurfaceTop),r=Number(e.dataset.popmeltSubjectSurfaceWidth),o=Number(e.dataset.popmeltSubjectSurfaceHeight);return[t,n,r,o].every(Number.isFinite)?{left:t,top:n,right:t+Math.max(0,r),bottom:n+Math.max(0,o)}:null}function Vp(e,t,n){let r=Ex(e);return r?t>=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom:!0}function Ax(e,t){let{popmeltSubjectAdapter:n,popmeltSubjectKey:r}=t.dataset;return!n||!r?null:Array.from(e.querySelectorAll("[data-popmelt-subject-adapter][data-popmelt-subject-key]")).find(o=>!o.hasAttribute("data-popmelt-subject-label-action")&&o.dataset.popmeltSubjectAdapter===n&&o.dataset.popmeltSubjectKey===r)??null}function Cx(e,t,n,r){let o=xn(e),i=t.getBoundingClientRect();return n>=Math.min(o.left,i.left)&&n<=Math.max(o.right,i.right)&&r>=Math.min(o.top,i.top)&&r<=Math.max(o.bottom,i.bottom)}function Gp(e,t,n){for(let r of e.querySelectorAll(Kp)){let o=r.getBoundingClientRect();if(t>=o.left&&t<=o.right&&n>=o.top&&n<=o.bottom){let i=Ax(e,r);if(i&&!Vp(i,t,n))continue;return r}}return null}function Mx(e,t,n,r){if(!(t instanceof HTMLElement))return!1;let{popmeltSubjectAdapter:o,popmeltSubjectKey:i}=t.dataset;if(!o||!i)return!1;let a=Array.from(e.querySelectorAll(`${Kp}[data-popmelt-subject-adapter][data-popmelt-subject-key]`)).find(l=>l.dataset.popmeltSubjectAdapter===o&&l.dataset.popmeltSubjectKey===i);return!a||!Vp(t,n,r)?!1:Cx(t,a,n,r)}function Rx(e){return!("button"in e)||e.button===0}function Hl(e){let t=$s(e);return{element:e,elementInfo:{...mn(e),selector:t},selector:t,durableSelector:Ho(e)}}function Nl(e){return{x:e.x-window.scrollX,y:e.y-window.scrollY}}function Ol(e){it(e,"transition","none")}function Lx(e,t,n){let r=Hl(e),o=Nl(n),i=Aa(e);return Ol(e),{session:{...r,isDragging:!0,side:t,startX:o.x,startY:o.y,original:i},dragging:{side:t,padding:{...i}}}}function Px(e,t,n,r){let o=Hl(e),i=Nl(n),a=cl(e),l=window.getComputedStyle(e).justifyContent,s=0;if(r){let c=ul(e).find(p=>p.axis===t);s=c?t==="column"?c.w:c.h:0}let d=r?{row:s,column:s}:a;return Ol(e),{session:{...o,isDragging:!0,hasMoved:!1,axis:t,startX:i.x,startY:i.y,originalRow:d.row,originalColumn:d.column,isAuto:r,originalJustifyContent:l,visualGap:s},dragging:{axis:t,...d}}}function jx(e,t,n){let r=Hl(e),o=Xi(e);return Ol(e),{session:{...r,isDragging:!0,corner:t,startY:Nl(n).y,original:o,maxRadius:Math.floor(e.getBoundingClientRect().height/2)},dragging:{corner:t,radius:{...o}}}}function zx(e,t,n){let r=Hl(e),o=Nl(n),i=iu(e);return Ol(e),{session:{...r,isDragging:!0,property:t,startX:o.x,startY:o.y,originalFontSize:i.fontSize,originalLineHeight:i.lineHeight,originalRatio:i.fontSize>0?i.lineHeight/i.fontSize:1.2},dragging:{property:t,...i}}}function $x({activeText:e,applySticker:t,canvasRef:n,clearSelection:r,commentTextEditCandidateRef:o,commitActiveText:i,createInlineTextEdit:a,dispatch:l,domDragRef:s,editPendingLinkedComment:d,findAnnotationAtPoint:c,findHandleAtPoint:p,findTextAtPoint:u,gapDragRef:h,gapHoveredAxis:m,gapHoveredElement:g,gapIsAuto:x,getPoint:S,handleAnnotationActivation:D,handDragRef:H,handHoveredElement:w,handHoveredSide:z,hoveredElement:Z,hoveredElementInfo:k,isElementInFlight:V,onCanvasInteraction:N,openThreadAndFocusReply:Y,pageAnnotations:q,modifiedElementThreadStates:ie,pageStyleModifications:I,parentPinnedAnnotationIds:Q,pointerTargetOverrideRef:L,radiusDragRef:F,radiusHoveredCorner:R,radiusHoveredElement:$,selectAnnotation:P,setDragState:A,setGapDragging:ne,setHandDragging:re,setPendingLinkedText:ee,setRadiusDragging:oe,setResizeState:U,setStickerRejectPulse:fe,setTextDragging:ge,state:K,stickerStage:Te,textDragRef:Me,textHoveredElement:Ee,textHoveredProperty:Ge,toolbarRef:X}){return J(Ne=>{if(!K.isAnnotating||!Rx(Ne))return;N?.();let ve=L?.current??null;L&&(L.current=null);let Fe=ve?.element??Z,qe=ve?.elementInfo??k,je=S(Ne),$e="shiftKey"in Ne&&Ne.shiftKey,ce="clientX"in Ne?{x:Ne.clientX,y:Ne.clientY}:"touches"in Ne&&Ne.touches[0]?{x:Ne.touches[0].clientX,y:Ne.touches[0].clientY}:null;if(K.activeTool==="sticker"){if("button"in Ne&&Ne.button!==0||Te!=="value")return;if(!ce){fe(_e=>_e+1);return}let Ie=ve?.element??bi(ce.x,ce.y);if(!(Ie instanceof HTMLElement)&&!(Ie instanceof SVGElement)){fe(_e=>_e+1);return}Ne.preventDefault(),Ne.stopPropagation(),t(Ie);return}if(K.activeTool==="inspector"&&ce&&(!("button"in Ne)||Ne.button===0)){let Ie=a(ce.x,ce.y,je);o.current=Ie?{edit:Ie,clientX:ce.x,clientY:ce.y,expiresAt:Date.now()+1e3}:null}else o.current=null;let rt=u(je);if(rt?.points[0]){e&&i(),$e||r();let Ie=rt.threadId||(rt.groupId?K.annotations.find(_e=>_e.groupId===rt.groupId&&_e.threadId)?.threadId:void 0);if(Q.has(rt.id)){o.current=null,D(rt.id,Ie);return}Ie&&Y(Ie),A({annotation:rt,startPoint:je,hasMoved:!1});return}if(K.activeTool==="inspector"){if("button"in Ne&&Ne.button===2)return;if(Fe&&!V(Fe)){let Ie=q.filter(y=>y.type==="text"&&y.linkedSelector).filter(y=>Iu(y.linkedSelector,y.elements?.[0])===Fe).sort((y,ae)=>ae.timestamp-y.timestamp)[0];if(Ie?.points[0]){if((Ie.status??"pending")==="pending"&&!Ie.threadId)d(Ie.id);else{let y=Ie.threadId||(Ie.groupId?K.annotations.find(ae=>ae.groupId===Ie.groupId&&ae.threadId)?.threadId:void 0);y&&Y(y)}return}let _e=Ca(Fe),_t=new Set;for(let[y,ae]of ie??[]){let be=ku(ae.selectors??[y],ae.targetFingerprint);be.status==="matched"&&be.element===Fe&&_t.add(ae.threadId)}if(_t.size===1){Y([..._t][0]);return}let wt=qe??mn(Fe),Pt=_e?uu(_e):Ho(Fe),kt=xn(Fe),lt=Pt;if(!_e){let y=Fe.getAttribute("data-pm");y||(y=Math.random().toString(36).substring(2,8),Fe.setAttribute("data-pm",y)),lt=hu(`[data-pm="${y}"]`,Fe.ownerDocument)}let Ke=I.some(y=>{if(y.captured)return!1;try{return Ki(Fe,y.selector)}catch{return!1}}),jt=K.annotations.filter(y=>{if(!y.linkedSelector)return!1;try{return Ki(Fe,y.linkedSelector)}catch{return!1}}).length,Vn=(Ke?1:0)+jt,zt=kt.top>=22*(1+Vn)+Ji?"top-left":"bottom-left",rn=n.current?.getContext("2d")??document.createElement("canvas").getContext("2d"),Oe;rn&&(rn.font=`12px ${Tn}`,Oe=rn.measureText("Type here...").width);let $t=Fe===document.body?$c(kt):Dc(kt,zt,Vn,X?.current,Oe,0);ee({point:$t,subjectAnchor:_e?{x:.5,y:.5}:void 0,linkedSelector:lt,target:_e,linkedAnchor:zt,elements:[{...wt,selector:Pt}]})}return}if(K.activeTool==="hand"&&w&&Pm(w)&&!g&&!$&&!Ee&&!z){let Ie=w,_e=$s(Ie),_t=Ho(Ie),wt=mn(Ie),Pt="altKey"in Ne&&Ne.altKey;s.current={isDragging:!0,hasMoved:!1,mode:Pt?"copy":"move",startX:je.x-window.scrollX,startY:je.y-window.scrollY,element:Ie,originalParent:Ie.parentElement,originalIndex:jm(Ie),selector:_e,durableSelector:_t,elementInfo:{...wt,selector:_e}},Ne.preventDefault();return}if(K.activeTool==="hand"&&g&&m){let Ie=Px(g,m,je,x);h.current=Ie.session,ne(Ie.dragging);return}if(K.activeTool==="hand"&&Ee&&Ge){let Ie=zx(Ee,Ge,je);Me.current=Ie.session,ge(Ie.dragging);return}if(K.activeTool==="hand"&&$&&R){let Ie=jx($,R,je);F.current=Ie.session,oe(Ie.dragging);return}if(K.activeTool==="hand"&&w&&z){let Ie=Lx(w,z,je);H.current=Ie.session,re(Ie.dragging);return}let at=p(je);if(at){let Ie=K.annotations.find(_e=>_e.id===at.annotationId);if(Ie&&Ie.type!=="text"&&(Ie.status??"pending")==="pending"){U({annotationId:at.annotationId,handle:at.handle,startPoint:je,originalPoints:[...Ie.points],hasMoved:!1});return}}let Be=c(je);if(Be?.points[0]){e&&i(),Be.type!=="text"?(P(Be.id,$e),Be.color&&(Be.status??"pending")==="pending"&&l({type:"SET_COLOR",payload:Be.color})):$e||r();let Ie=Be.threadId||(Be.groupId?K.annotations.find(_e=>_e.groupId===Be.groupId&&_e.threadId)?.threadId:void 0);Ie&&(Be.status??"pending")!=="pending"&&Y(Ie),A({annotation:Be,startPoint:je,hasMoved:!1});return}$e||r()},[e,t,n,r,o,i,a,l,s,d,c,p,u,h,m,g,x,S,D,H,w,z,Z,k,V,N,Y,q,ie,I,Q,L,F,R,$,P,A,ne,re,ee,oe,U,fe,ge,K.activeTool,K.annotations,K.isAnnotating,Te,Me,Ee,Ge,X])}function aa(e,t,n,r){let o=n.x-t.x,i=n.y-t.y,a=o*o+i*i;if(a===0)return Math.hypot(e.x-t.x,e.y-t.y)<=r;let l=Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*i)/a)),s=t.x+l*o,d=t.y+l*i;return Math.hypot(e.x-s,e.y-d)<=r}function Dx({point:e,annotations:t,isHidden:n=()=>!1,textContainsPoint:r=()=>!1}){for(let o=t.length-1;o>=0;o-=1){let i=t[o];if(!i||n(i))continue;if(i.type==="text"){if(r(i,e))return i;continue}if(i.points.length<2)continue;let a=i.points[0],l=i.points[i.points.length-1],s=(i.strokeWidth||3)+4;if(i.type==="line"){if(aa(e,a,l,s))return i;continue}if(i.type==="freehand"){for(let h=0;h<i.points.length-1;h+=1)if(aa(e,i.points[h],i.points[h+1],s))return i;continue}let d=Math.min(a.x,l.x),c=Math.max(a.x,l.x),p=Math.min(a.y,l.y),u=Math.max(a.y,l.y);if(i.type==="rectangle"){if(aa(e,{x:d,y:p},{x:c,y:p},s)||aa(e,{x:d,y:u},{x:c,y:u},s)||aa(e,{x:d,y:p},{x:d,y:u},s)||aa(e,{x:c,y:p},{x:c,y:u},s))return i;continue}if(i.type==="circle"){let h=(c-d)/2,m=(u-p)/2;if(h===0||m===0)continue;let g=Math.hypot((e.x-(d+c)/2)/h,(e.y-(p+u)/2)/m);if(Math.abs(g-1)*Math.max(h,m)<=s)return i}}return null}function Hx(e,t,n,r){if(t.length===0)return null;let o=r/2+4;for(let i of t){let a=n.find(m=>m.id===i);if(!a||a.points.length<2)continue;let l=a.points[0],s=a.points[a.points.length-1];if(a.type==="line"){if(Math.hypot(e.x-l.x,e.y-l.y)<=o)return{handle:"start",annotationId:i};if(Math.hypot(e.x-s.x,e.y-s.y)<=o)return{handle:"end",annotationId:i};continue}let d,c,p,u;a.type==="freehand"?(d=Math.min(...a.points.map(m=>m.x)),c=Math.max(...a.points.map(m=>m.x)),p=Math.min(...a.points.map(m=>m.y)),u=Math.max(...a.points.map(m=>m.y))):(d=Math.min(l.x,s.x),c=Math.max(l.x,s.x),p=Math.min(l.y,s.y),u=Math.max(l.y,s.y));let h=a.type==="circle"?[{handle:"top",x:(d+c)/2,y:p},{handle:"bottom",x:(d+c)/2,y:u},{handle:"left",x:d,y:(p+u)/2},{handle:"right",x:c,y:(p+u)/2}]:a.type==="rectangle"||a.type==="freehand"?[{handle:"topLeft",x:d,y:p},{handle:"topRight",x:c,y:p},{handle:"bottomLeft",x:d,y:u},{handle:"bottomRight",x:c,y:u}]:[];for(let m of h)if(Math.hypot(e.x-m.x,e.y-m.y)<=o)return{handle:m.handle,annotationId:i}}return null}function Nx(e,t,n){if(!e)return{x:0,y:0};let r=t.touches?.[0],o=r?.clientX??t.clientX,i=r?.clientY??t.clientY;if(o===void 0||i===void 0)return{x:0,y:0};let a=e.getBoundingClientRect();return{x:o-a.left+n.x,y:i-a.top+n.y}}function Ox({annotation:e,point:t,context:n,groupNumber:r,scroll:o,textSafeBounds:i,parentPinned:a}){let l=e.points[0];if(!l||!e.text||!n)return!1;let s=4,d=e.fontSize||12;n.font=`${d}px ${Tn}`;let c=e.text.replace(/\n/g," "),p=r!==void 0?`${r}. ${c}`:c,u=l.x-o.x,h=a?Hs:0,m=Math.max(60,zs(u)-h),g=lu(n,p,m),x=n.measureText(g).width,S=d*lr,D=su({x:l.x-o.x,y:l.y-o.y},d,i,h+x+16),H={x:D.x+o.x,y:D.y+o.y};return t.x>=H.x-8-s&&t.x<=H.x+h+x+8+s&&t.y>=H.y-4-s&&t.y<=H.y+S+4+s}function Fx({annotationGroupMap:e,annotations:t,canvasRef:n,handleSize:r,hiddenCollidingAnnotationIds:o,pageAnnotations:i,parentPinnedAnnotationIds:a,scroll:l,selectedAnnotationIds:s,supersededAnnotations:d,textSafeBounds:c}){let p=J(g=>Nx(n.current,g,{x:window.scrollX,y:window.scrollY}),[n]),u=J(g=>Dx({point:g,annotations:i,isHidden:x=>d.has(x)||o.has(x.id),textContainsPoint:(x,S)=>Ox({annotation:x,point:S,context:n.current?.getContext("2d")??null,groupNumber:e.get(x.id),scroll:l,textSafeBounds:c,parentPinned:a.has(x.id)})}),[e,n,o,i,a,l,d,c]),h=J(g=>{let x=u(g);return x?.type==="text"?x:null},[u]),m=J(g=>Hx(g,s,t,r),[t,r,s]);return{findAnnotationAtPoint:u,findHandleAtPoint:m,findTextAtPoint:h,getPoint:p}}function _x({annotations:e,dragState:t,resizeState:n,dispatch:r,setDragState:o,setResizeState:i}){return J(({point:a,centerOrigin:l,lockAspect:s})=>{if(n){let d=e.find(p=>p.id===n.annotationId);if(!d)return!0;let c=yb({annotation:d,session:n,point:a,centerOrigin:l,lockAspect:s});return r({type:"RESIZE_ANNOTATION",payload:{id:n.annotationId,points:c,saveUndo:!n.hasMoved}}),n.hasMoved||i({...n,hasMoved:!0}),!0}if(t&&(t.annotation.status??"pending")==="pending"){let d=mb(t,a);return d&&(o(d.session),r({type:"MOVE_ANNOTATION",payload:{id:t.annotation.id,delta:d.move.delta,...d.move.saveUndo?{saveUndo:!0}:{}}})),!0}return!1},[e,r,t,n,o,i])}function Wx({element:e,stickyElement:t,point:n,hitRadius:r=16}){let o=[];e&&o.push(e),t&&t!==e&&o.push(t);let i=null,a=r,l=null;for(let s of o){let d=s.getBoundingClientRect(),c=Xi(s),p=[["top-left",d.left,d.top+c["top-left"]],["top-right",d.right,d.top+c["top-right"]],["bottom-right",d.right,d.bottom-c["bottom-right"]],["bottom-left",d.left,d.bottom-c["bottom-left"]]];for(let[u,h,m]of p){let g=Math.hypot(n.x-h,n.y-m);g<a&&(a=g,i=u,l=s)}}return i&&l?{element:l,corner:i}:null}function Bx({element:e,point:t,maxCandidates:n=3}){let r=[];e&&du(e)&&r.push(e);let o=e?.parentElement??null;for(;o&&o!==document.body&&r.length<n;)du(o)&&r.push(o),o=o.parentElement;for(let i of r){let a=ul(i).find(l=>t.x>=l.x&&t.x<=l.x+l.w&&t.y>=l.y&&t.y<=l.y+l.h);if(a)return{element:i,axis:a.axis,isAuto:Ds(i,a.axis)}}return null}function Jx({element:e,stickyElement:t,point:n,hitRadius:r=12}){let o=[];e&&o.push(e),t&&t!==e&&o.push(t);let i=null,a=1/0,l=null;for(let s of o){if(!Ym(s))continue;let d=Ns(s);if(!d)continue;let c=n.x>=d.left&&n.x<=d.right&&n.y>=d.top&&n.y<=d.bottom,p=[["font-size",d.right,d.top+d.height/2],["line-height",d.left+d.width/2,d.bottom]];for(let[u,h,m]of p){let g=Math.hypot(n.x-h,n.y-m);(c||g<r)&&g<a&&(a=g,i=u,l=s)}}return i&&l?{element:l,property:i}:null}function qx(e,t,n){let r=t.top+Math.max(n.top,4),o=t.bottom-Math.max(n.bottom,4),i=t.left+Math.max(n.left,4),a=t.right-Math.max(n.right,4);if(e.x<t.left||e.x>t.right||e.y<t.top||e.y>t.bottom)return null;let l=e.y<r,s=e.y>o,d=e.x<i,c=e.x>a;return l&&d?n.top>=n.left?"top":"left":l&&c?n.top>=n.right?"top":"right":s&&d?n.bottom>=n.left?"bottom":"left":s&&c?n.bottom>=n.right?"bottom":"right":l?"top":s?"bottom":d?"left":c?"right":null}var kd=[0,1,2,4,8,12,16,20,24,28,32],Ux=[8,10,11,12,13,14,16,18,20,22,24,28,32,36,40,48,56,64,72,80,96];function Fl(e){for(let t=0;t<kd.length-1;t++){let n=kd[t],r=kd[t+1];if(e<=(n+r)/2)return n;if(e<r)return r}return Math.round(e/8)*8}function Yx(e){return Ux.reduce((t,n)=>Math.abs(e-n)<Math.abs(e-t)?n:t)}function Xx(e,t,n){let r=e.axis;if(!r)return null;let o=!e.hasMoved;if(o){let l=Math.abs(t.x-e.startX),s=Math.abs(t.y-e.startY);if(l<=2&&s<=2)return null}let i=e.originalRow,a=e.originalColumn;if(r==="column"){let l=t.x-e.startX;a+=l,n.isolate||(i+=l)}else{let l=t.y-e.startY;i+=l,n.isolate||(a+=l)}return i=Math.max(0,i),a=Math.max(0,a),n.snap&&(i=Fl(i),a=Fl(a)),{axis:r,gap:{row:Math.round(i),column:Math.round(a)},started:o,convertedAuto:o&&e.isAuto}}function Kx(e,t,n){let r=e.corner;if(!r)return null;let o=e.original[r]+t.y-e.startY;o=Math.max(0,Math.min(e.maxRadius,o)),n.snap&&(o=Fl(o)),o=Math.round(o);let i=n.isolate?{...e.original,[r]:o}:{"top-left":o,"top-right":o,"bottom-right":o,"bottom-left":o};return{corner:r,radius:i}}function Vx(e,t,n){let r=e.property;if(!r)return null;let o=e.originalFontSize,i=e.originalLineHeight;if(r==="font-size")o=Math.max(1,e.originalFontSize+t.x-e.startX),n&&(o=Yx(o));else if(i=Math.max(o,e.originalLineHeight+t.y-e.startY),n){let a=o>0?i/o:1.2;i=o*Math.max(1,Math.round(a*2)/2)}return{property:r,text:{fontSize:Math.round(o),lineHeight:Math.round(i*10)/10}}}function Gx(e,t,n){let r=e.side;if(!r)return null;let o={...e.original};if(r==="top"){let i=e.startY-t.y;o.top+=i,n.isolate||(o.bottom+=i)}else if(r==="bottom"){let i=t.y-e.startY;o.bottom+=i,n.isolate||(o.top+=i)}else if(r==="left"){let i=e.startX-t.x;o.left+=i,n.isolate||(o.right+=i)}else{let i=t.x-e.startX;o.right+=i,n.isolate||(o.left+=i)}return Object.keys(o).forEach(i=>{let a=Math.max(0,o[i]);n.snap&&(a=Fl(a)),o[i]=Math.round(a)}),{side:r,padding:o}}function Qx({canvasRef:e,domDragRef:t,gapDragRef:n,gapHoveredAxis:r,gapHoveredElement:o,handCursorRef:i,handDragRef:a,handHoveredElement:l,handHoveredSide:s,modifiersRef:d,radiusDragRef:c,radiusHoveredCorner:p,radiusHoveredElement:u,setDomDropPreview:h,setGapDragging:m,setGapHoveredAxis:g,setGapHoveredElement:x,setGapIsAuto:S,setHandCursorPos:D,setHandDragging:H,setHandHoveredElement:w,setHandHoveredSide:z,setRadiusDragging:Z,setRadiusHoveredCorner:k,setRadiusHoveredElement:V,setTextDragging:N,setTextHoveredElement:Y,setTextHoveredProperty:q,textDragRef:ie,textHoveredElement:I,textHoveredProperty:Q}){return J(({x:L,y:F})=>{i.current={x:L,y:F},D({x:L,y:F});let R=d.current.cmd,$=d.current.shift;if(t.current.isDragging){let ee=t.current,oe=ee.element;if(!oe)return;if(!ee.hasMoved){let fe=Math.abs(L-ee.startX),ge=Math.abs(F-ee.startY);if(fe<=3&&ge<=3)return;ee.hasMoved=!0}let U=Um(L,F,oe,e.current);if(!U){h(null);return}h({rect:U.reference.getBoundingClientRect(),placement:U.placement,mode:ee.mode});return}if(n.current.isDragging){let ee=n.current,oe=ee.element;if(!oe)return;let U=Xx(ee,{x:L,y:F},{isolate:R,snap:$});if(!U)return;U.started&&(ee.hasMoved=!0),U.convertedAuto&&(it(oe,"justify-content","normal"),it(oe,"row-gap",`${ee.visualGap}px`),it(oe,"column-gap",`${ee.visualGap}px`),S(!1)),it(oe,"row-gap",`${U.gap.row}px`),it(oe,"column-gap",`${U.gap.column}px`),m({axis:U.axis,...U.gap});return}if(c.current.isDragging){let ee=c.current,oe=ee.element;if(!oe)return;let U=Kx(ee,{y:F},{isolate:R,snap:$});if(!U)return;it(oe,"border-top-left-radius",`${U.radius["top-left"]}px`),it(oe,"border-top-right-radius",`${U.radius["top-right"]}px`),it(oe,"border-bottom-right-radius",`${U.radius["bottom-right"]}px`),it(oe,"border-bottom-left-radius",`${U.radius["bottom-left"]}px`),Z(U);return}if(ie.current.isDragging){let ee=ie.current,oe=ee.element;if(!oe)return;let U=Vx(ee,{x:L,y:F},$);if(!U)return;it(oe,"font-size",`${U.text.fontSize}px`);let fe=U.text.fontSize>0?Math.round(U.text.lineHeight/U.text.fontSize*1e3)/1e3:1.2;it(oe,"line-height",`${fe}`),N({property:U.property,...U.text});return}if(a.current.isDragging){let ee=a.current,oe=ee.element;if(!oe)return;let U=Gx(ee,{x:L,y:F},{isolate:R,snap:$});if(!U)return;it(oe,"padding",`${U.padding.top}px ${U.padding.right}px ${U.padding.bottom}px ${U.padding.left}px`),H(U);return}let P=bi(L,F);for(;P&&P.tagName==="A";)P=P.parentElement;let A=Wx({element:P,stickyElement:u,point:{x:L,y:F}});if(A){V(A.element),k(A.corner),l&&w(null),s&&z(null),o&&x(null),r&&g(null),S(!1),I&&Y(null),Q&&q(null);return}u&&V(null),p&&k(null);let ne=Bx({element:P,point:{x:L,y:F}});if(ne){x(ne.element),g(ne.axis),S(ne.isAuto),l&&w(null),s&&z(null),I&&Y(null),Q&&q(null);return}o&&x(null),r&&g(null),S(!1);let re=Jx({element:P,stickyElement:I,point:{x:L,y:F}});if(re?(Y(re.element),q(re.property)):(I&&Y(null),Q&&q(null)),P!==l&&w(P),P){let ee=Aa(P);z(qx({x:L,y:F},P.getBoundingClientRect(),ee))}else z(null)},[e,t,n,r,o,i,a,l,s,d,c,p,u,h,m,g,x,S,D,H,w,z,Z,k,V,N,Y,q,ie,I,Q])}function Zx({activeTool:e,isAnnotating:t,lastCanvasCursorRef:n,getPoint:r,isManipulating:o,findTextAtPoint:i,clearPageElementHover:a,handleShakePointerMove:l,handleTargetPointerMove:s,handleHandPointerMove:d,handleAnnotationPointerMove:c}){return J(p=>{let u=r(p),h={x:u.x-window.scrollX,y:u.y-window.scrollY},m="metaKey"in p&&(!("pointerType"in p)||p.pointerType==="mouse");n.current=h;let g=o();if(!l({isManipulating:g,isTouchEvent:"touches"in p||"pointerType"in p&&p.pointerType!=="mouse",viewportPoint:h})){if(!g&&i(u)){a();return}if(!s({viewportPoint:h,passThrough:m&&(p.metaKey||p.ctrlKey),stopPropagation:()=>p.stopPropagation()})){if(e==="hand"&&t){d(h);return}c({point:u,centerOrigin:m&&(p.metaKey||p.ctrlKey),lockAspect:m&&p.shiftKey})}}},[e,a,i,r,c,d,l,s,t,o,n])}function e0({rawElement:e,point:t,dragHandoff:n,previewTarget:r,handleHitSize:o}){let i=!!(n?.element.isConnected&&(e===n.element||Iv(n.releasePoint,t))),a=!!(n&&!i),l=!!(!a&&r?.element.isConnected&&wx(r.element,e,r.bounds,t.x,t.y,r.renderedQuad,o));return{candidate:i?n.element:l?r.element:e,clearDragHandoff:a,clearPreviewTarget:!!(r&&!l)}}function t0(e,t,n){return t?e!=="sticker"&&n(t)?null:t:null}function Qp({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n}){return t&&!n&&(e==="inspector"||e==="sticker")}function n0(e,t){return e?.subjectLabel!==t.subjectLabel||e?.textContent!==t.textContent||e?.context!==t.context}function r0(e,t){return!!(e&&t&&(e.adapter!==t.adapter||e.key!==t.key))}function o0(e,t,n,r=16){if(!(e instanceof HTMLImageElement||e instanceof HTMLVideoElement)||t)return!1;let o=xn(e);return n.x<o.left||n.x>o.right||n.y<o.top||n.y>o.bottom?!1:Math.min(n.x-o.left,o.right-n.x,n.y-o.top,o.bottom-n.y)<=r}function i0({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n,hoveredElement:r,hoveredElementInfo:o,subjectRegistry:i,stickerFamily:a,stickerStage:l,stickerSubproperty:s,steerDragRef:d,transformDragHandoffRef:c,transformPreviewSuppressionRef:p,transformPreviewTargetRef:u,clearStickerPreview:h,isElementInFlight:m,setHoveredElement:g,setHoveredElementInfo:x,setStickerCursor:S,setStickerStep:D}){return J(({viewportPoint:H,passThrough:w,stopPropagation:z})=>{if(!Qp({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n}))return!!n;if(e==="sticker"&&(z(),S(H)),d.current)return!0;if(rg(H.x,H.y))return e==="sticker"&&h(),r&&g(null),o&&x(null),S(null),!0;let Z={allowBodyFallback:e==="inspector"},k=w?og(H.x,H.y,Z):bi(H.x,H.y,Z),V=e==="inspector"?i?.hitTest(H):null,N=o0(k,!!V,H),Y=Ca(r),q=r0(Y,V?.target),ie=!V&&Y?i?.resolve(Y)?.subject.sourceElement:void 0,I=ie&&!ig(ie,H.x,H.y);if(!N&&!q&&!I&&e==="inspector"&&Mx(document,r,H.x,H.y))return!0;let Q=V?.element??k,L=e==="sticker"&&l==="value"&&a==="transform"?u.current:null,F=w?{candidate:Q,clearDragHandoff:!!c.current,clearPreviewTarget:!!L}:e0({rawElement:Q,point:H,dragHandoff:c.current,previewTarget:L,handleHitSize:20});F.clearDragHandoff&&(c.current=null),F.clearPreviewTarget&&(u.current=null);let R=F.candidate,$=t0(e,R,m);if($===r)return V?.element===$&&n0(o,V.elementInfo)&&x(V.elementInfo),!0;if(e==="sticker"&&h(),e==="sticker"&&Dr($)&&a==="transform"&&(s==="translate"||s==="scale"||s==="rotate")){let P=Tv($,s);p.current={element:$,subproperty:s,step:P},D(P)}else a==="transform"&&(p.current=null);return g($),x(V?.element===$?V.elementInfo:$?mn($):null),!0},[e,h,r,o,t,m,g,x,S,D,d,a,l,s,i,n,c,p,u])}function a0({onSuspend:e,onRestore:t,suspendedRef:n}){let r,o=()=>{n.current||(n.current=!0,e()),clearTimeout(r),r=setTimeout(()=>{n.current=!1,t()},96)};return window.addEventListener("scroll",o,{capture:!0,passive:!0}),()=>{window.removeEventListener("scroll",o,!0),clearTimeout(r),n.current=!1}}function l0(e){let t=Qx(e),n=_x(e),r=i0(e),o=W(r),i=W(e.clearPageElementHover),a=W(!1),l=Qp({activeTool:e.activeTool,isAnnotating:e.isAnnotating,suspendTargetDiscovery:e.suspendTargetDiscovery});It(()=>{o.current=r,i.current=e.clearPageElementHover},[r,e.clearPageElementHover]),O(()=>{if(l)return a0({onSuspend:()=>i.current(),onRestore:()=>{let c=e.lastCanvasCursorRef.current;c&&o.current({viewportPoint:c,passThrough:!1,stopPropagation:()=>{}})},suspendedRef:a})},[e.lastCanvasCursorRef,l]);let s=J(c=>a.current?!0:o.current(c),[]);O(()=>{let c=p=>{p.repeat||p.key!=="Meta"&&p.key!=="Control"||!e.lastCanvasCursorRef.current||s({viewportPoint:e.lastCanvasCursorRef.current,passThrough:!0,stopPropagation:()=>{}})};return window.addEventListener("keydown",c,!0),()=>window.removeEventListener("keydown",c,!0)},[s,e.lastCanvasCursorRef]),O(()=>{let c=p=>{let u=e.canvasRef.current;if(u&&p.composedPath().includes(u))return;let h={x:p.clientX,y:p.clientY};e.lastCanvasCursorRef.current=h,s({viewportPoint:h,passThrough:p.metaKey||p.ctrlKey,stopPropagation:()=>{}})};return window.addEventListener("mousemove",c,!0),()=>window.removeEventListener("mousemove",c,!0)},[s,e.canvasRef,e.lastCanvasCursorRef]),O(()=>{if(e.subjectRegistry)return e.subjectRegistry.subscribeFrame(()=>{let c=e.lastCanvasCursorRef.current;c&&s({viewportPoint:c,passThrough:!1,stopPropagation:()=>{}})})},[s,e.lastCanvasCursorRef,e.subjectRegistry]);let d=J(()=>!!e.dragState||!!e.resizeState||e.domDragRef.current.isDragging||e.handDragRef.current.isDragging||e.gapDragRef.current.isDragging||e.radiusDragRef.current.isDragging||e.textDragRef.current.isDragging,[e.domDragRef,e.dragState,e.gapDragRef,e.handDragRef,e.radiusDragRef,e.resizeState,e.textDragRef]);return Zx({...e,isManipulating:d,handleAnnotationPointerMove:n,handleHandPointerMove:t,handleTargetPointerMove:s})}function s0({annotationGroupMap:e,canvasRef:t,currentPathname:n,cursorPosRef:r,dispatch:o,domDragRef:i,dragState:a,gapDragRef:l,gapDragging:s,getPoint:d,handDragRef:c,handDragging:p,lastPositionedTextId:u,radiusDragRef:h,radiusDragging:m,resizeState:g,setActiveText:x,setDomDropPreview:S,setDragState:D,setGapDragging:H,setHandDragging:w,setRadiusDragging:z,setResizeState:Z,setSendHintAnchorId:k,setTextDragging:V,textDragRef:N,textDragging:Y}){return J(q=>{if(i.current.isDragging){let F=i.current,R=d(q),$=zm({drag:F,clientX:R.x-window.scrollX,clientY:R.y-window.scrollY,pathname:n,createId:$m,rootElement:t.current});$&&o({type:"MODIFY_DOM_STRUCTURE",payload:$}),i.current=Kc(),S(null);return}if(N.current.isDragging){let F=ax(N.current,Y);F&&o({type:"MODIFY_STYLES_BATCH",payload:F}),N.current=_p(),V(null);return}if(l.current.isDragging){let F="button"in q&&q.button===2,R=lx(l.current,s,F);R&&o({type:"MODIFY_STYLES_BATCH",payload:R}),l.current=Op(),H(null);return}if(h.current.isDragging){let F=sx(h.current,m);F&&o({type:"MODIFY_STYLES_BATCH",payload:F}),h.current=Fp(),z(null);return}if(c.current.isDragging){let F=dx(c.current,p);F&&o({type:"MODIFY_STYLES_BATCH",payload:F}),c.current=Np(),w(null);return}if(g){Z(null);return}if(!a)return;let ie=e.get(a.annotation.id),I=t.current?.getContext("2d"),Q=0;ie!==void 0&&I&&(I.font=`${a.annotation.fontSize||12}px ${Tn}`,Q=I.measureText(`${ie}. `).width);let L=gb({session:a,clickPoint:d(q),groupLabelWidth:Q});L&&(u.current=null,r.current=null,k(a.annotation.id),L.color&&o({type:"SET_COLOR",payload:L.color}),x(L.activeText)),D(null)},[e,t,n,r,o,i,a,l,s,d,c,p,u,h,m,g,x,S,D,H,w,z,Z,k,V,N,Y])}var d0=class{constructor(){this.anchor=null,this.axis=null,this.direction=0,this.reversals=0,this.sequenceStartedAt=0,this.lastTriggerAt=Number.NEGATIVE_INFINITY}push(e){if(e.time-this.lastTriggerAt<700)return this.anchor=e,!1;if(!this.anchor||this.sequenceStartedAt&&e.time-this.sequenceStartedAt>520)return this.reset(e),!1;let t=e.x-this.anchor.x,n=e.y-this.anchor.y,r=Math.hypot(t,n);if(!this.axis)return r<16||(this.axis={x:t/r,y:n/r},this.direction=1,this.sequenceStartedAt=e.time,this.anchor=e),!1;let o=t*this.axis.x+n*this.axis.y,i=t*-this.axis.y+n*this.axis.x;if(Math.abs(o)<16)return!1;if(Math.abs(i)>Math.abs(o)*.7)return this.reset(e),!1;let a=Math.sign(o);return a===this.direction?(this.anchor=e,!1):(this.direction=a,this.reversals+=1,this.anchor=e,this.reversals<3?!1:(this.lastTriggerAt=e.time,this.reset(e,!0),!0))}reset(e=null,t=!1){this.anchor=e,this.axis=null,this.direction=0,this.reversals=0,this.sequenceStartedAt=0,t||(this.lastTriggerAt=Number.NEGATIVE_INFINITY)}};function c0({activeTool:e,isAnnotating:t,clearStickerPreview:n,dispatch:r,setStickerCursor:o,startCursorSwitchPulse:i}){let a=W(new d0),l=W(null);return{handleShakePointerMove:J(({isManipulating:s,isTouchEvent:d,viewportPoint:c})=>{if(d||s||!t||e!=="inspector"&&e!=="sticker"||!a.current.push({...c,time:performance.now()}))return!1;let p=e==="sticker"?"inspector":"sticker";return l.current={from:e,to:p},i(p),p==="sticker"?o(c):n(),r({type:"SET_TOOL",payload:p}),!0},[e,n,r,t,o,i]),pendingShakeToolTransitionRef:l}}function Zp(e){return Math.random().toString(36).substring(2,e+2)}function u0(e,t,n,r={}){let{textNode:o,targetElement:i,textNodePath:a,segments:l,originalText:s,rect:d,boundaryRect:c,boundaryRects:p,flowRect:u,firstLineIndent:h,styles:m,fontSize:g,wrapsText:x}=e,S=i.getAttribute("data-pm");S||(S=r.createPmId?.()??Zp(6),i.setAttribute("data-pm",S));let D=hu(`[data-pm="${S}"]`,i.ownerDocument),H=Js({left:0,top:0,width:1,height:1},i.ownerDocument).height,w=z=>z?.endsWith("px")?`${parseFloat(z)*H}px`:z;return{id:r.createEditId?.()??Zp(7),point:{x:d.left+n.x,y:d.top+n.y},text:s,fontSize:g*H,isNew:!0,clickPoint:t,domEdit:{selector:D,durableSelector:Ho(i),element:{...mn(i),selector:D},textNodePath:a,originalText:s,textNode:o,targetElement:i,segments:l,rect:d,boundaryRect:c,boundaryRects:p,flowRect:u,firstLineIndent:h,fontFamily:m.fontFamily,fontWeight:m.fontWeight,fontStyle:m.fontStyle,lineHeight:m.lineHeight==="normal"?`${Math.round(g*H*1.2*10)/10}px`:w(m.lineHeight),letterSpacing:w(m.letterSpacing),color:m.color,textTransform:m.textTransform,textAlign:m.textAlign,wordSpacing:w(m.wordSpacing),textDecoration:m.textDecoration,textShadow:m.textShadow,whiteSpace:m.whiteSpace,wordBreak:m.wordBreak,overflowWrap:m.overflowWrap,wrapsText:x}}}function p0(e){let t=qm(e.clientX,e.clientY,e.canvas);return t?u0(t,e.clickPoint,e.scroll):null}function f0({activeText:e,activeTextRef:t,canvasRef:n,clearPageElementHover:r,clearSelection:o,clearSignal:i,commentTextEditCandidateRef:a,cursorPosRef:l,dispatch:s,findTextAtPoint:d,lastPositionedTextId:c,onAttachImages:p,onCloseThread:u,onSend:h,pendingLinkedText:m,releaseActiveTextAttachments:g,setActiveText:x,setDragState:S,setHoveredTextId:D,setPendingLinkedText:H,setSendHintAnchorId:w,state:z,stateRef:Z}){O(()=>{m&&(x({id:Math.random().toString(36).substring(2,9),point:m.point,subjectAnchor:m.subjectAnchor,text:"",fontSize:12,isNew:!0,linkedSelector:m.linkedSelector,target:m.target,linkedAnchor:m.linkedAnchor,elements:m.elements}),H(null))},[m,x,H]),O(()=>{let Q=L=>{if(e)return;let F=d({x:L.clientX+window.scrollX,y:L.clientY+window.scrollY});D(F?.id??null)};return window.addEventListener("mousemove",Q),()=>window.removeEventListener("mousemove",Q)},[e,d,D]);let k=J(()=>{if(!e)return;if(e.domEdit){x(null);return}let Q=wb(e);Q.sendHintAnchorId&&w(Q.sendHintAnchorId),Q.action&&s(Q.action),Q.attachedImages&&p&&p(Q.attachedImages.annotationId,Q.attachedImages.images),x(null)},[e,s,p,x,w]),V=J(Q=>{let L=Z.current.annotations.find(R=>R.id===Q);if(!L||L.type!=="text"||!L.points[0]||(L.status??"pending")!=="pending")return;let F=t.current;F&&F.id!==L.id&&k(),o(),r(),c.current=null,l.current=L.text?.length??0,w(L.id),L.color&&s({type:"SET_COLOR",payload:L.color}),x({id:L.id,point:L.points[0],text:L.text||"",fontSize:L.fontSize||12,isNew:!1,groupId:L.groupId,linkedSelector:L.linkedSelector,target:L.target,linkedAnchor:L.linkedAnchor,elements:L.elements,...L.region?{region:L.region}:{},attachments:L.attachments,interactionEpisode:L.interactionEpisode})},[t,r,o,k,l,s,c,x,w,Z]),N=W(!1),Y=J(()=>{if(!h)return;let Q=t.current;if(lm(Q?{text:Q.text,originalText:Q.domEdit?.originalText,hasInteractionEpisode:!!Q.interactionEpisode?.steps.length}:null)){N.current=!0,k();return}h()},[t,k,h]);O(()=>{e||!N.current||(N.current=!1,h?.())},[e,h,z.annotations,z.textModifications]);let q=W(i);O(()=>{if(i===q.current)return;q.current=i;let Q=t.current;Q?.domEdit&&Q.domEdit.segments.forEach(F=>{F.textNode.nodeValue=F.originalText});let L=Q?.isNew?Q.attachments??[]:[];g(L),N.current=!1,x(null),H(null),w(null),S(null),l.current=null,c.current=null,ks(localStorage)},[t,i,l,c,g,x,S,H,w]);let ie=J((Q,L,F)=>p0({clientX:Q,clientY:L,clickPoint:F,canvas:n.current,scroll:{x:window.scrollX,y:window.scrollY}}),[n]),I=J(Q=>{u?.(),H(null),S(null),w(null),o(),r(),c.current=null,x(Q)},[r,o,c,u,x,S,H,w]);return O(()=>{let Q=R=>{if(R.button!==0)return;let $=Z.current,P=a.current;if(!$.isAnnotating||$.activeTool!=="inspector"||!P)return;let A=Date.now()>P.expiresAt,ne=Math.hypot(R.clientX-P.clientX,R.clientY-P.clientY)>12,re=P.edit.domEdit;if(A||ne||!re?.textNode.isConnected||!re.targetElement.isConnected){a.current=null;return}R.preventDefault(),R.stopPropagation(),a.current=null,I(P.edit)},L=R=>{R.detail===2&&Q(R)},F=R=>{Q(R)};return window.addEventListener("mousedown",L,!0),window.addEventListener("dblclick",F,!0),()=>{window.removeEventListener("mousedown",L,!0),window.removeEventListener("dblclick",F,!0)}},[a,I,Z]),{commitActiveText:k,createInlineTextEdit:ie,editPendingLinkedComment:V,handleSendPendingBundle:Y}}function h0(e,t){let n=Hr(Yi),r=e?.domEdit?.textNode;O(()=>{if(!n||!r)return;let o=null,i=()=>{t(a=>{if(!a?.domEdit)return a;let{textNode:l,targetElement:s,segments:d,rect:c,boundaryRect:p,boundaryRects:u,flowRect:h,firstLineIndent:m}=a.domEdit;if(!l.isConnected||!s.isConnected||!fl(s.ownerDocument))return null;let g=Mg(s).getComputedStyle(s),x=Js({left:0,top:0,width:1,height:1},s.ownerDocument).height,S=(parseFloat(g.fontSize)||12)*x,D=N=>N?.endsWith("px")?`${parseFloat(N)*x}px`:N,H=Wm(d,s,g),{textRect:w,boundaryRect:z,boundaryRects:Z,flowRect:k,firstLineIndent:V}=H;return au(c,w)&&au(p,z)&&Bm(u,Z)&&Jm(h,k)&&Math.abs(m-V)<.5?a:{...a,fontSize:S,point:{x:w.left+window.scrollX,y:w.top+window.scrollY},domEdit:{...a.domEdit,rect:w,boundaryRect:z,boundaryRects:Z,flowRect:k,firstLineIndent:V,lineHeight:g.lineHeight==="normal"?`${S*1.2}px`:D(g.lineHeight),letterSpacing:D(g.letterSpacing),wordSpacing:D(g.wordSpacing)}}}),o=window.requestAnimationFrame(i)};return o=window.requestAnimationFrame(i),()=>{o!==null&&window.cancelAnimationFrame(o)}},[n,r,t])}function m0({activeText:e,activeTextRef:t,canvasRef:n,visible:r}){let o=Hr(Yi),i=W(null),[a,l]=j(null),s=W(null),d=W(null),c=e?.id??null;return It(()=>{if(!o)return;let p=i.current,u=e?.domEdit;if(!p||!e||!u){l(null);return}let h=u.flowRect??u.rect,m=Math.max(1,window.innerWidth-h.left),g=Math.min(m,Math.max(1,h.width));p.style.width=`${u.wrapsText?g:1}px`,p.style.height="1px";let x=u.wrapsText?g:Math.min(m,Math.max(g,Math.ceil(p.scrollWidth)));p.style.width=`${x}px`;let S=Math.max(h.height,Math.ceil(p.scrollHeight));p.style.height=`${S}px`,l(D=>D?.id===e.id&&Math.abs(D.width-x)<.5&&Math.abs(D.height-S)<.5?D:{id:e.id,width:x,height:S})},[e,o]),O(()=>{if(!o)return;if(!c){s.current=null,d.current=null;return}if(!r||!i.current){s.current=null;return}let p=requestAnimationFrame(()=>{let u=i.current;if(!u||(u.focus(),s.current===c))return;s.current=c;let h=t.current;if(h){if(h.domEdit){u.setSelectionRange(0,u.value.length);return}if(d.current!==null){let m=Math.min(d.current,u.value.length);u.setSelectionRange(m,m);return}if(!h.isNew&&h.clickPoint){let m=n.current?.getContext("2d");if(!m)return;m.font=`${h.fontSize}px ${Tn}`;let g=Tb({text:h.text,fontSize:h.fontSize,point:h.point,clickPoint:h.clickPoint,context:m});u.setSelectionRange(g,g)}}});return()=>cancelAnimationFrame(p)},[c,t,n,r,o]),{cursorPosRef:d,domEditInputSize:a,inputRef:i,lastPositionedTextId:s}}var Td=["flex-start","center","flex-end"],Ed=["flex-start","center","flex-end"],g0=300,ef=20;function y0({enabled:e,dispatch:t,handCursorRef:n,setGapRefreshKey:r}){let[o,i]=j(null),a=J(()=>i(null),[]);return O(()=>{let l=null,s=!1,d=null,c=null,p=null,u=null,h=0,m=(N,Y)=>{let q=bi(N,Y);for(;q&&q!==document.documentElement;){let ie=window.getComputedStyle(q).display;if(ie==="flex"||ie==="inline-flex")return q;q=q.parentElement}return null},g=N=>{let Y=window.getComputedStyle(N).flexDirection;return Y==="column"||Y==="column-reverse"?"vertical":"horizontal"},x=N=>{let Y=N.getAttribute("data-pm");return Y||(Y=Math.random().toString(36).substring(2,8),N.setAttribute("data-pm",Y)),{selector:`[data-pm="${Y}"]`,durableSelector:Ho(N)}},S=()=>{s=!0,l&&clearTimeout(l),l=setTimeout(()=>{s=!1,l=null},g0)},D=(N,Y,q)=>{let ie=g(N);if(Y===ie){let I=window.getComputedStyle(N).justifyContent,Q=I==="normal"||I==="flex-start"||I==="start"?"flex-start":I==="flex-end"||I==="end"?"flex-end":I==="center"?"center":null;if(!Q)return;let L=Td.indexOf(Q)+q;if(L<0||L>=Td.length)return;let F=Td[L],{selector:R,durableSelector:$}=x(N);it(N,"justify-content",F),t({type:"MODIFY_STYLES_BATCH",payload:{selector:R,durableSelector:$,element:mn(N),changes:[{property:"justify-content",original:I,modified:F}]}})}else{let I=window.getComputedStyle(N).flexDirection,Q=ie==="horizontal"?"column":"row",{selector:L,durableSelector:F}=x(N);it(N,"flex-direction",Q),t({type:"MODIFY_STYLES_BATCH",payload:{selector:L,durableSelector:F,element:mn(N),changes:[{property:"flex-direction",original:I,modified:Q}]}})}r(I=>I+1)},H=(N,Y,q)=>{let ie=g(N)==="horizontal"?"vertical":"horizontal";if(Y!==ie)return;let I=window.getComputedStyle(N).alignItems,Q=I==="normal"||I==="stretch"||I==="flex-start"||I==="start"?"flex-start":I==="flex-end"||I==="end"?"flex-end":I==="center"?"center":null;if(!Q)return;let L=Ed.indexOf(Q)+q;if(L<0||L>=Ed.length)return;let F=Ed[L],{selector:R,durableSelector:$}=x(N);it(N,"align-items",F),t({type:"MODIFY_STYLES_BATCH",payload:{selector:R,durableSelector:$,element:mn(N),changes:[{property:"align-items",original:I,modified:F}]}}),r(P=>P+1)},w=(N,Y,q)=>{let ie=m(Y,q);i(ie?{modifier:N,target:ie}:null)},z=()=>{p=null,u=null,h=0,d=null,c=null,i(null)},Z=N=>{if(!e)return;let Y=n.current;N.key==="Shift"&&!N.altKey?w("shift",Y.x,Y.y):N.key==="Alt"&&!N.shiftKey&&w("alt",Y.x,Y.y)},k=N=>{if(!e)return;let Y=N.shiftKey&&!N.altKey,q=N.altKey&&!N.shiftKey;if(!Y&&!q||N.buttons!==0){z();return}if(d===null&&(d=N.clientX,c=N.clientY,w(Y?"shift":"alt",N.clientX,N.clientY)),s)return;p===null&&(p=N.clientX,u=N.clientY,h=0);let ie=N.clientX-p,I=N.clientY-u,Q=Math.abs(ie)>=Math.abs(I)?ie:I;if(Math.abs(Q)>3){let $=Q>0?1:-1;if(h!==0&&$!==h){p=N.clientX,u=N.clientY,h=0;return}h=$}if(Math.abs(ie)<ef&&Math.abs(I)<ef)return;let L=m(d,c);if(!L)return;let F=Math.abs(ie)>=Math.abs(I)?"horizontal":"vertical",R=(F==="horizontal"?ie:I)>0?1:-1;p=null,u=null,h=0,Y?D(L,F,R):H(L,F,R),S()},V=N=>{(N.key==="Shift"||N.key==="Alt")&&z()};return window.addEventListener("keydown",Z),window.addEventListener("mousemove",k),window.addEventListener("mousedown",z),window.addEventListener("keyup",V),()=>{window.removeEventListener("keydown",Z),window.removeEventListener("mousemove",k),window.removeEventListener("mousedown",z),window.removeEventListener("keyup",V),l&&clearTimeout(l)}},[t,e,n,r]),{swipeHint:o,clearSwipeHint:a}}function v0(e,t,n){let{destination:r,mode:o,scope:i}=t;if(o==="preview"&&i.kind!=="values"){let u=r.family,h=r.subproperty??Rs(u,e.subproperty);return{next:{family:u,subproperty:h,step:Ta(u,e.step,h),stage:i.kind==="colors"?"variant":"family"},pulseContextLabel:!1}}let a=r.family,l=r.step!==void 0,s=Ps(a),d=!l&&yi(a,r.subproperty??"all")?n.readColor(s):null,c=r.subproperty??Rs(a,e.subproperty);a==="color"&&r.stage==="family"&&(c=d?.name??$r.name),(a==="border"||a==="text")&&r.subproperty==="color"&&(c=d?.name??$r.name);let p=l?null:d?d.name===c?d.step:Ls:n.readStep(a,c);return{next:{family:a,subproperty:c,step:r.step??p??Ta(a,e.step,c),stage:r.stage},pulseContextLabel:r.stage!=="family"}}function Ad(e){if(e.kind==="colors")return"variant";if(e.kind==="values")return"value"}function b0(e){return e.stage==="variant"&&yi(e.family,e.subproperty)&&(e.family==="border"||e.family==="color"||e.family==="text")?{kind:"colors",family:e.family}:e.stage==="value"?{kind:"values",family:e.family,subproperty:e.subproperty}:vd}function x0(e,t,n,r=!1){if(!e)return n!==" "?{handled:!1,session:e}:r?{handled:!0,session:e}:{handled:!0,session:{query:"",segments:[],scope:b0(t),origin:t,history:[]}};if(n==="Escape")return{handled:!0,session:null};if(n==="Backspace"){if(e.query){let a=e.query.slice(0,-1),l=bd(e.scope,a);return{handled:!0,session:{...e,query:a},restore:l?void 0:e.segmentOrigin,destination:l?{mode:"preview",scope:e.scope,value:l.destination}:void 0}}let i=e.history.at(-1);return i?{handled:!0,restore:i.snapshot,session:{...e,query:"",segmentOrigin:void 0,segments:e.segments.slice(0,-1),scope:i.scope,history:e.history.slice(0,-1)}}:{handled:!0,session:null,restore:e.origin}}if(n===" "){if(!e.query.trim())return{handled:!0,session:e};let i=Na(e.scope,e.query);return i?.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:i.destination},stage:Ad(i.nextScope),session:{...e,query:"",segmentOrigin:void 0,segments:[...e.segments,e.query.trim()],scope:i.nextScope,history:[...e.history,{scope:e.scope,snapshot:t}]}}:{handled:!0,session:e,command:"reject"}}if(n==="Enter"){if(e.scope.kind==="values"){let a=e.query.trim()?Na(e.scope,e.query):null;return e.query.trim()&&!a?{handled:!0,session:e,command:"reject"}:a?.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:a.destination},stage:Ad(a.nextScope),session:{...e,query:"",segmentOrigin:void 0,segments:[...e.segments,e.query.trim()],scope:a.nextScope,history:[...e.history,{scope:e.scope,snapshot:t}]}}:{handled:!0,session:e,destination:a?{mode:"navigate",scope:e.scope,value:a.destination}:void 0,command:"apply"}}let i=Na(e.scope,e.query);return i?i.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:i.destination},stage:Ad(i.nextScope),session:{...e,query:"",segmentOrigin:void 0,segments:[...e.segments,e.query.trim()],scope:i.nextScope,history:[...e.history,{scope:e.scope,snapshot:t}]}}:{handled:!0,session:null,destination:{mode:"navigate",scope:e.scope,value:i.destination}}:{handled:!0,session:e,command:"reject"}}let o=n.toLowerCase();if(!r&&(o==="w"||o==="a"||o==="s"||o==="d")&&e.query.at(-1)===o)return{handled:!1,session:null,replayAsSteering:!0,restore:e.segmentOrigin??e.origin};if(n.length===1){let i=`${e.query}${n.toLowerCase()}`,a=bd(e.scope,i);return{handled:!0,session:{...e,query:i,segmentOrigin:e.query?e.segmentOrigin:t},destination:a?{mode:"preview",scope:e.scope,value:a.destination}:void 0}}return{handled:!1,session:e}}function w0(e,t,n){let r=t.toLowerCase(),o=()=>({handled:!0,next:e});if(r==="a"||r==="d"||t==="ArrowLeft"||t==="ArrowRight"){let i=r==="a"||t==="ArrowLeft"?-1:1;if(e.stage==="family"){let a=hm(e.family,i),l=a==="color"?$r.name:Rs(a,e.subproperty);return{handled:!0,next:{family:a,subproperty:l,step:a==="color"?$r.step:Ta(a,e.step,l),stage:e.stage}}}return e.stage==="variant"&&yi(e.family,e.subproperty)?{handled:!0,next:{...e,subproperty:mm(e.subproperty,i),step:Ls}}:{handled:!0,next:{...e,step:gm(e.family,e.step,i,e.subproperty)}}}if(r==="q"||r==="e"){if(e.family==="color")return o();let i=r==="q"?-1:1,a=ym(e.family,e.subproperty,i);if((e.family==="text"||e.family==="border")&&a==="color"){if(e.stage==="family")return{handled:!0,next:{...e,subproperty:"color",step:Ls}};let l=n.readColor(Ps(e.family));return{handled:!0,next:{...e,subproperty:l?.name??$r.name,step:l?.step??$r.step,stage:qc(e.stage,e.family,a)}}}return{handled:!0,next:{...e,subproperty:a,step:n.readStep(e.family,a)??Ta(e.family,e.step,a),stage:qc(e.stage,e.family,a)}}}if(r==="w"||t==="Enter"){if(e.stage==="family"){if(e.family==="color"){let i=n.readColor("background-color");return{handled:!0,next:{...e,subproperty:i?.name??$r.name,step:i?.step??$r.step,stage:"variant"}}}if((e.family==="text"||e.family==="border")&&e.subproperty==="color"){let i=n.readColor(Ps(e.family));return{handled:!0,next:{...e,subproperty:i?.name??$r.name,step:i?.step??$r.step,stage:"variant"}}}return{handled:!0,next:{...e,step:n.readStep(e.family,e.subproperty)??e.step,stage:"value"}}}return e.stage==="variant"?{handled:!0,next:{...e,step:Ta(e.family,e.step,e.subproperty),stage:"value"}}:{handled:!0,next:e,command:"apply"}}return r==="s"?e.stage==="value"?{handled:!0,next:{...e,stage:yi(e.family,e.subproperty)?"variant":"family"}}:e.stage==="variant"?{handled:!0,next:{...e,subproperty:e.family==="text"?"color":e.subproperty,stage:"family"}}:o():t==="Escape"&&e.stage!=="family"?{handled:!0,stopPropagation:!0,next:{...e,subproperty:e.stage==="variant"&&e.family==="text"?"color":e.subproperty,stage:e.stage==="value"&&yi(e.family,e.subproperty)?"variant":"family"}}:{handled:!1,next:e}}function S0({active:e,family:t,step:n,subproperty:r,stage:o,query:i,setFamily:a,setStep:l,setSubproperty:s,setStage:d,setQuery:c,setCursor:p,setContextLabelPulse:u,setDepthSnapPulse:h,setRejectPulse:m,lastCursorRef:g,toolbarRef:x,previewRef:S,applyStickerRef:D,readColor:H,readStep:w}){O(()=>{if(!e)return;g.current&&p(g.current);let z=Z=>{let k=Z.composedPath?.()[0]??Z.target;if(k?.tagName==="INPUT"||k?.tagName==="TEXTAREA"||k?.isContentEditable||k&&x?.current?.contains(k)||Z.metaKey||Z.ctrlKey||Z.altKey)return;let V={family:t,step:n,subproperty:r,stage:o},N=I=>{a(I.family),l(I.step),s(I.subproperty),d(I.stage)},Y=I=>{let Q=v0(V,I,{readColor:H,readStep:w});return N(Q.next),Q.pulseContextLabel&&u(L=>L+1),Q.next},q=x0(i,V,Z.key,Z.repeat);if(q.replayAsSteering&&(c(null),h(I=>I+1)),q.handled){Z.preventDefault(),Z.stopPropagation(),q.restore&&N(q.restore);let I=q.destination?Y({mode:q.destination.mode,scope:q.destination.scope,destination:q.destination.value}):void 0;if(q.stage&&d(q.stage),q.command==="reject"&&m(Q=>Q+1),q.command==="apply"){let Q=S.current?.element,L=I?{family:I.family,step:I.step,subproperty:I.subproperty}:void 0;Q&&D.current(Q,L)?c(null):(c(q.session),Q||m(F=>F+1));return}c(q.session);return}let ie=w0(q.replayAsSteering&&q.restore?q.restore:V,Z.key,{readColor:H,readStep:w});if(ie.handled&&(Z.preventDefault(),ie.stopPropagation&&Z.stopPropagation(),a(ie.next.family),l(ie.next.step),s(ie.next.subproperty),d(ie.next.stage),ie.command==="apply")){let I=S.current?.element;I?D.current(I):m(Q=>Q+1)}};return window.addEventListener("keydown",z,!0),()=>window.removeEventListener("keydown",z,!0)},[e,D,t,g,S,i,H,w,u,p,h,a,c,m,d,l,s,o,n,r,x])}function I0(e,t,n,r){let{deltaX:o,deltaY:i}=t;if(e.transformKind==="translate"&&e.startTranslate){let p=Sv({x:o,y:i},r),u=lo("translate",e.startTranslate.x+p.x),h=lo("translate",e.startTranslate.y+p.y),m=Math.abs(p.x)>=Math.abs(p.y)?u:h;return{subproperty:"translate",step:m,drag:{...e,subproperty:"translate",step:m,translateSteps:{x:u,y:h},translateValue:`${Number(u)*4}px ${Number(h)*4}px`,hasMoved:e.hasMoved||Math.abs(o)>2||Math.abs(i)>2,cursor:t.cursor,deltaX:o,deltaY:i}}}let a=e.vector?Ev(o,i,e.vector):e.axis==="x"?o:i,l=e.startPixels+a*(e.direction??1),s=e.transformKind==="rotate"?l:Math.max(0,l),d=e.side?ad(e.side,n):e.corner?ld(e.corner,n):e.subproperty,c=e.transformKind?lo(e.transformKind,s):jl(e.family,d,s);return{subproperty:d,step:c,drag:{...e,subproperty:d,step:c,hasMoved:e.hasMoved||Math.abs(o)>2||Math.abs(i)>2,cursor:t.cursor,deltaX:o,deltaY:i}}}function k0(){let[e,t]=j(null),n=W(e);n.current=e;let r=W(null),o=J(d=>{let c=d.requestPointerLock;if(typeof c=="function"){r.current=d;try{let p=c.call(d);p&&p.catch(()=>{r.current===d&&(r.current=null)})}catch{r.current=null}}},[]),i=J((d,c)=>{n.current=d,t(d),o(c)},[o]),a=J(d=>{n.current=d,t(d)},[]),l=J(()=>{n.current=null,t(null)},[]),s=J(()=>{let d=r.current;r.current=null,d&&document.pointerLockElement===d&&document.exitPointerLock()},[]);return{drag:e,dragRef:n,pointerLockElementRef:r,startDrag:i,replaceDrag:a,clearDrag:l,releasePointerLock:s}}function T0(e,t){let n=W(t);n.current=t;let{dragRef:r,pointerLockElementRef:o,replaceDrag:i,clearDrag:a,releasePointerLock:l}=e;O(()=>{let s=(g,x)=>{let S=r.current;if(!S)return;let D=o.current,H=D!==null&&document.pointerLockElement===D?Av(S,{x:g.movementX,y:g.movementY},{width:window.innerWidth,height:window.innerHeight}):{cursor:{x:g.clientX,y:g.clientY},deltaX:g.clientX-S.startX,deltaY:g.clientY-S.startY},w=I0(S,H,x,g.shiftKey);n.current.onSelectionChange(w.subproperty,w.step),i(w.drag),n.current.onCursorChange(H.cursor)},d=()=>{n.current.onCancel(),a(),l()},c=(g,x)=>{let S=r.current;if(!S)return;let D=S.side?ad(S.side,g):S.corner?ld(S.corner,g):S.subproperty;S.hasMoved&&n.current.onCommit(S,D,x),a(),l()},p=g=>{r.current&&(g.preventDefault(),s(g,g.altKey||g.ctrlKey))},u=g=>{r.current&&(g.preventDefault(),c(g.altKey||g.ctrlKey,{x:g.clientX,y:g.clientY}))},h=g=>{g.key!=="Escape"||!r.current||(g.preventDefault(),g.stopPropagation(),d())},m=()=>{let g=o.current;g&&document.pointerLockElement!==g&&r.current&&d()};return window.addEventListener("pointermove",p,{passive:!1}),window.addEventListener("pointerup",u),window.addEventListener("pointercancel",d),window.addEventListener("keydown",h,!0),document.addEventListener("pointerlockchange",m),()=>{window.removeEventListener("pointermove",p),window.removeEventListener("pointerup",u),window.removeEventListener("pointercancel",d),window.removeEventListener("keydown",h,!0),document.removeEventListener("pointerlockchange",m),l()}},[a,r,o,l,i])}function E0({applyStickerRef:e,clearStickerPreview:t,dispatch:n,hoveredElement:r,lastCanvasCursorRef:o,setHoveredElement:i,setHoveredElementInfo:a,setStickerApplyPulse:l,setStickerCursor:s,setStickerRejectPulse:d,setStickerStep:c,setStickerSubproperty:p,stickerFamily:u,stickerStep:h,stickerSubproperty:m,transformDragHandoffRef:g,transformPreviewSuppressionRef:x,transformPreviewTargetRef:S}){let D=k0(),{drag:H,dragRef:w,startDrag:z}=D,Z=J((L,F)=>{if(ro(L))return d(ee=>ee+1),!1;t();let R=F?.family??u,$=F?.step??h,P=F?.subproperty??m;if(!Il(L,R,P))return d(ee=>ee+1),!1;let A=R==="transform"&&P==="translate"&&F?.axisSteps?_u(L,F.axisSteps.x,F.axisSteps.y):Fu(L,R,$,P);if(A.alreadyApplied)return d(ee=>ee+1),!1;let ne=$s(L),re=Ho(L);return cy(L,A),n({type:"MODIFY_STYLES_BATCH",payload:{selector:ne,durableSelector:re,element:{...mn(L),selector:re},changes:A.changes}}),l(ee=>ee+1),!0},[t,n,l,d,u,h,m]);e.current=Z;let k=J((L,F,R)=>{if(!(r instanceof HTMLElement))return;R.preventDefault(),R.stopPropagation(),R.currentTarget.setPointerCapture(R.pointerId),t();let $=L==="margin"?eu(r):Aa(r),P=F==="left"||F==="right"?"x":"y",A=ad(F,R.altKey||R.ctrlKey),ne=L==="margin",re=F==="top"||F==="left"?ne?-1:1:ne?1:-1,ee=jl(L,A,$[F]);p(A),c(ee),z({element:r,family:L,subproperty:A,startX:R.clientX,startY:R.clientY,startPixels:$[F],deltaX:0,deltaY:0,direction:re,axis:P,step:ee,hasMoved:!1,side:F,cursor:{x:R.clientX,y:R.clientY}},R.currentTarget)},[t,r,c,p,z]),V=J((L,F)=>{if(!(r instanceof HTMLElement)||u!=="stack"&&u!=="grid")return;F.preventDefault(),F.stopPropagation(),F.currentTarget.setPointerCapture(F.pointerId),t();let R=cl(r),$=L==="row"?R.row:R.column,P=jl(u,"gap",$);p("gap"),c(P),z({element:r,family:u,subproperty:"gap",startX:F.clientX,startY:F.clientY,startPixels:$,deltaX:0,deltaY:0,direction:1,axis:L==="row"?"y":"x",step:P,hasMoved:!1,gapAxis:L,cursor:{x:F.clientX,y:F.clientY}},F.currentTarget)},[t,r,c,p,z,u]),N=J((L,F)=>{if(!(r instanceof HTMLElement))return;F.preventDefault(),F.stopPropagation(),F.currentTarget.setPointerCapture(F.pointerId),t();let R=ld(L,F.altKey||F.ctrlKey),$=Xi(r)[L],P=jl("radius",R,$);p(R),c(P),z({element:r,family:"radius",subproperty:R,startX:F.clientX,startY:F.clientY,startPixels:$,deltaX:0,deltaY:0,vector:sd(L),step:P,hasMoved:!1,corner:L,cursor:{x:F.clientX,y:F.clientY}},F.currentTarget)},[t,r,c,p,z]),Y=J((L,F,R,$)=>{if(!Dr(r))return;R.preventDefault(),R.stopPropagation(),R.currentTarget.setPointerCapture(R.pointerId);let P=window.getComputedStyle(r).getPropertyValue(L).trim(),A=L==="translate"?up(P):void 0,ne=L==="scale"?(Number.parseFloat(P)||1)*100:L==="translate"?A.x:Number.parseFloat(P)||0,re=lo(L,ne),ee=za(r),oe=Zi(r,ee),U=L==="scale"&&F?xv(oe,F):L==="rotate"?wv(oe,$??dp(oe,20).side):void 0,fe=A?{x:lo("translate",A.x),y:lo("translate",A.y)}:void 0;x.current=null,g.current=null,t(),p(L),c(re),z({element:r,family:"transform",subproperty:L,startX:R.clientX,startY:R.clientY,startPixels:ne,deltaX:0,deltaY:0,direction:1,vector:U,step:re,hasMoved:!1,transformKind:L,transformCorner:F??void 0,startTranslate:A,translateSteps:fe,translateValue:A?`${A.x}px ${A.y}px`:void 0,ghostQuad:oe,cursor:{x:R.clientX,y:R.clientY}},R.currentTarget)},[t,r,c,p,z,g,x]),q=J((L,F)=>{p(L),c(F)},[c,p]),ie=J(L=>{o.current=L,s(L)},[o,s]),I=J((L,F,R)=>{e.current(L.element,{family:L.family,step:L.step,subproperty:F,axisSteps:L.translateSteps}),L.family==="transform"&&(x.current={element:L.element,subproperty:L.subproperty,step:L.step},g.current={element:L.element,releasePoint:R},S.current=null,i(L.element),a(mn(L.element)))},[e,i,a,g,x,S]),Q=J(()=>{t(),x.current=null,g.current=null},[t,g,x]);return T0(D,{onSelectionChange:q,onCursorChange:ie,onCommit:I,onCancel:Q}),{applySticker:Z,beginSteerGapDrag:V,beginSteerRadiusDrag:N,beginSteerSpacingDrag:k,beginSteerTransformDrag:Y,steerDrag:H,steerDragRef:w}}function A0(e,t){O(()=>{let n=r=>{if(r.pointerType==="touch")return;let o={x:r.clientX,y:r.clientY};e.current=o,t?.(o)};return window.addEventListener("pointermove",n,{capture:!0,passive:!0}),()=>window.removeEventListener("pointermove",n,{capture:!0})},[e,t])}function C0(e){return e instanceof Element&&e.closest("[data-popmelt-steer-overlay]")!==null}function tf(e){return e instanceof Element&&e.closest("[data-popmelt-subject-label-action]")!==null}var nf=8,Cd=-.5,so="__active_text_send_hint__",M0=4;function R0({historyPreview:e,bridgeUrl:t,steeringContextStorageKey:n,state:r,dispatch:o,onScreenshot:i,inFlightAnnotationIds:a,inFlightOrientationLabels:l,waitingApprovalJobIds:s,activeAnnotationIds:d,queuePositionMap:c,inFlightStyleSelectors:p,inFlightStyleSelectorJobIds:u,inFlightSelectorColors:h,modifiedElementThreadStates:m,dismissedThreadIds:g,onAttachImages:x,onRemoveImages:S,onCaptureInteractionFrame:D,onSend:H,onViewThread:w,onCloseThread:z,onArchiveThread:Z,onDeleteSubmittedAnnotation:k,highlightedAnnotationIds:V,cycleFocusedAnnotationIds:N,onCanvasInteraction:Y,focusedThreadAnnotationId:q,openThreadId:ie,hasOpenThread:I=!1,externalCanvasRef:Q,toolbarRef:L,threadPanelElement:F,clearSignal:R=0,subjectRegistry:$,subjectRegistryReady:P=!0,onFocusTargetChange:A,onFocusActivity:ne}){let re=Hr(Yi),{canvasRef:ee,redrawAll:oe,resizeCanvas:U}=Hh(),[fe,ge]=j(null),[K,Te]=j(0),[Me,Ee]=j(0),Ge=J(()=>Ee(v=>v+1),[]),X=bs(),Ne=J(v=>{ee.current=v,Q&&(Q.current=v),ge(E=>E===v?E:v)},[Q,ee]);It(()=>{if(!$||!P)return;let v=!1;for(let E of r.annotations)E.target&&(v=!0,!$.resolve(E.target)&&E.elements?.[0]&&$.restore(E.target,E.elements[0]));v&&Te(E=>E+1)},[r.annotations,$,P]);let ve=W(null),Fe=W(0),[qe,je]=j(null),$e=J(()=>{let v=ve.current;ve.current=null,je(null),v&&(v.session.cancel(),v.captureTarget.hasPointerCapture(v.pointerId)&&v.captureTarget.releasePointerCapture(v.pointerId))},[]),ce=W(!1),[rt,at]=j(!1),Be=W(null),Ie=W(null),[_e,_t]=j(!1),wt=W(Promise.resolve()),[Pt,kt]=j(0),[lt,Ke]=j(null),jt=J(()=>{if(!D)return Promise.resolve(null);let v=wt.current.then(async()=>(await new Promise(E=>window.requestAnimationFrame(()=>E())),D()));return wt.current=v.catch(()=>null),v},[D]),Vn=W(r.activeTool),zt=W(null),rn=W(null),Oe=J(()=>{Be.current?.cancel(),Be.current=null,Ie.current=null,ce.current=!1,zt.current=null,rn.current=null,at(!1),_t(!1),kt(0),Ke(null)},[]),$t=J(()=>{$e(),ce.current=!0,Vn.current=r.activeTool,at(!0)},[$e,r.activeTool]);O(()=>{ce.current&&r.activeTool!==Vn.current&&Oe()},[Oe,r.activeTool]),O(()=>{(!r.isAnnotating||r.activeTool!=="inspector")&&$e()},[$e,r.activeTool,r.isAnnotating]),O(()=>()=>{let v=ve.current;ve.current=null,v?.session.cancel()},[]);let{activeText:y,setActiveText:ae,handleTextPaste:be,removeActiveTextAttachment:Ye,releaseActiveTextAttachments:At}=_y({bridgeUrl:t,annotations:r.annotations}),[Tt,Ae]=j(null),[Ze,Dt]=j(null),[me,We]=j(null),[Ve,gt]=j(0),ot=W(null),Qe=W(null),Mt=W(null),[Ue,En]=j(null),[Dn,An]=j(null),po=W(void 0);po.current===void 0&&(po.current=n&&typeof window<"u"?gx(window.localStorage,n):null);let Gn=po.current,[ut,ur]=j(()=>Gn?.family??"padding"),[Xt,Hn]=j(()=>Gn?.step??4),[Ht,pr]=j(()=>Gn?.subproperty??"all"),[Rt,Nn]=j(()=>Gn?.stage??"family"),[fo,wn]=j(null);A0(Qe,_e?Ke:r.isAnnotating&&r.activeTool==="sticker"?wn:void 0);let[On,Fr]=j(null),Cn=J(v=>{Fr({id:performance.now(),nativeReady:!1,tool:v})},[]),[Kt,Mn]=j(0),[Qt,on]=j(0),[qt,fr]=j(0),[Fn,Sn]=j(0),[_r,Yo]=j(!1),[Nt,Zt]=j(0),[sn,hr]=j(()=>Gn?.query??null);O(()=>{!n||typeof window>"u"||yx(window.localStorage,n,{family:ut,step:Xt,subproperty:Ht,stage:Rt,query:sn})},[n,ut,sn,Rt,Xt,Ht]);let mr=W(r.activeTool),Wr=W(!1),gr=W(()=>!1),et=W(null),yr=W(null),Ei=W(r.styleModifications),dn=W(null),He=W(null),gn=W(null),cn=W(null),en=J(()=>{cn.current!==null&&(cancelAnimationFrame(cn.current),cn.current=null)},[]),Qn=J(()=>{if(en(),!re)return;let v=performance.now()+qp,E=()=>{kx(et.current);let te=dn.current;te&&et.current?.element===te.element&&(te.renderedQuad=Zi(te.element,te.layoutQuad)),Zt(se=>se+1),performance.now()<v?cn.current=requestAnimationFrame(E):cn.current=null};cn.current=requestAnimationFrame(E)},[en,re]);O(()=>(re?et.current&&Qn():en(),en),[re,Qn,en]);let Wt=J(()=>{en();let v=et.current;v&&(Oa(v),et.current=null,yr.current=null,Zt(E=>E+1))},[en]),{handleShakePointerMove:da,pendingShakeToolTransitionRef:Vt}=c0({activeTool:r.activeTool,isAnnotating:r.isAnnotating,clearStickerPreview:Wt,dispatch:o,setStickerCursor:wn,startCursorSwitchPulse:Cn});It(()=>{let v=Ei.current,E=r.styleModifications;Ei.current=E,!(v===E||!et.current)&&(en(),Ix(et.current,v,E),et.current=null,yr.current=null,dn.current=null,Zt(te=>te+1))},[r.styleModifications,en]),It(()=>{Up(r.activeTool,r.isAnnotating)&&(Wt(),He.current=null,gn.current=null)},[Wt,r.activeTool,r.isAnnotating]);let Zn=J(()=>{Nn("family"),wn(null),hr(null)},[]);It(()=>{let v=mr.current,E=r.activeTool,te=Vt.current,se=te?.from===v&&te.to===E;Vt.current=null,mr.current=E;let we=vx(v,E,se,Wr.current);Wr.current=we.preservedAway,we.shouldReset&&Zn()},[Vt,Zn,r.activeTool]),It(()=>{r.isAnnotating||(Wr.current=!1,Zn())},[Zn,r.isAnnotating]);let yn=J((v,E)=>{if(Wt(),!Ue)return null;let te=window.getComputedStyle(Ue),se=Nh(v,E).map(we=>te.getPropertyValue(we));return Oh(v,se,E)},[Wt,Ue]),Xo=J(v=>(Wt(),Ue?Fh(window.getComputedStyle(Ue).getPropertyValue(v)):null),[Wt,Ue]);S0({active:r.activeTool==="sticker"&&r.isAnnotating,family:ut,step:Xt,subproperty:Ht,stage:Rt,query:sn,setFamily:ur,setStep:Hn,setSubproperty:pr,setStage:Nn,setQuery:hr,setCursor:wn,setContextLabelPulse:on,setDepthSnapPulse:fr,setRejectPulse:Sn,lastCursorRef:Qe,toolbarRef:L,previewRef:et,applyStickerRef:gr,readColor:Xo,readStep:yn});let[st,un]=j(null),[_n,er]=j(null),[tr,vr]=j(null),[br,ho]=j(!1),Br=W(Np()),Jr=W(Kc()),[xr,vn]=j(null),[Wn,mo]=j(null),[ca,Ko]=j(null),[wr,C]=j(null),_=W({x:0,y:0}),[ye,Ce]=j({x:0,y:0}),ke=W(Op()),[De,tt]=j(null),[ft,Le]=j(null),[Bt,pn]=j(null),[Sr,go]=j(!1),[yo,qr]=j(0),{swipeHint:es,clearSwipeHint:Ua}=y0({enabled:r.activeTool==="hand"&&r.isAnnotating,dispatch:o,handCursorRef:_,setGapRefreshKey:qr}),Ai=W(Fp()),[ua,Ci]=j(null),[vo,Vo]=j(null),[bo,Rn]=j(null),xo=W(_p()),[Ir,Go]=j(null),[wo,Ur]=j(null),[Qo,pa]=j(null),Ya=Ky(),Zo=W(h);Zo.current=h;let ei=J(v=>{let E=Zo.current;if(!E||E.size===0)return!1;for(let te of E.keys())try{if(Ki(v,te))return!0}catch{}return!1},[]),{applySticker:ts,beginSteerGapDrag:ns,beginSteerRadiusDrag:Xa,beginSteerSpacingDrag:Ka,beginSteerTransformDrag:Va,steerDrag:dt,steerDragRef:Ga}=E0({applyStickerRef:gr,clearStickerPreview:Wt,dispatch:o,hoveredElement:Ue,lastCanvasCursorRef:Qe,setHoveredElement:En,setHoveredElementInfo:An,setStickerApplyPulse:Mn,setStickerCursor:wn,setStickerRejectPulse:Sn,setStickerStep:Hn,setStickerSubproperty:pr,stickerFamily:ut,stickerStep:Xt,stickerSubproperty:Ht,transformDragHandoffRef:gn,transformPreviewSuppressionRef:He,transformPreviewTargetRef:dn});O(()=>{Yo(!1);let v=dt?.family==="transform"?dt.element:Ue;if(Up(r.activeTool,r.isAnnotating)||Rt!=="value"||!Il(v,ut,Ht)||ro(v)){dn.current=null,Wt();return}let E={element:v,family:ut,step:Xt,subproperty:Ht,valueOverride:dt?.transformKind==="translate"?dt.translateValue:void 0},te=He.current,se=ut==="transform"&&te?.element===v&&te.subproperty===Ht&&te.step===Xt;if(te&&!se&&(He.current=null),se){if(Wt(),dn.current?.element!==v){let{top:Xe,right:yt,bottom:xt,left:to}=v.getBoundingClientRect(),no=za(v);dn.current={element:v,bounds:{top:Xe,right:yt,bottom:xt,left:to},layoutQuad:no,renderedQuad:Zi(v,no)},Zt(gs=>gs+1)}return}if(et.current&&xx(yr.current,E))return;if(ut==="transform"){if(dn.current?.element!==v){Oa(et.current),et.current=null,yr.current=null;let{top:Xe,right:yt,bottom:xt,left:to}=v.getBoundingClientRect(),no=za(v);dn.current={element:v,bounds:{top:Xe,right:yt,bottom:xt,left:to},layoutQuad:no,renderedQuad:Zi(v,no)}}}else dn.current=null;let we=Tx(v,ut,Xt,Ht,et.current,E.valueOverride);et.current=we.preview,yr.current=E,Yo(we.stepUnavailable),Zt(Xe=>Xe+1),Qn()},[Wt,Ue,r.activeTool,r.isAnnotating,dt?.element,dt?.family,dt?.transformKind,dt?.translateValue,ut,Rt,Xt,Ht,Qn]),O(()=>()=>{en(),Oa(et.current),et.current=null,yr.current=null,dn.current=null,He.current=null,gn.current=null},[en]);let Ct=J(()=>{He.current=null,gn.current=null,En(null),An(null),vn(null),mo(null),Ko(null),tt(null),Le(null),go(!1),Ci(null),Vo(null),Go(null),Ur(null),Ua()},[Ua]),rs=y&&!y.domEdit?y?.id:null,os=me?`${me.target.adapter}:${me.target.key}`:null,fa=rs??os;O(()=>{fa&&Ct()},[fa,Ct]);let ha=J(v=>{un(v),v&&Ct()},[Ct]),is=J(v=>{er(v),v&&Ct()},[Ct]),Yr=J((v,E)=>{vr(E?.length?{ownerId:v,annotationIds:E}:null),E?.length&&Ct()},[Ct]),So=J(v=>{ho(v),v&&Ct()},[Ct]),bn=J((v,E)=>{Wt();let te=hn(v);Il(te,E.family,E.subproperty)&&(o({type:"SELECT_ANNOTATION",payload:{id:null}}),o({type:"SET_TOOL",payload:"sticker"}),ur(E.family),pr(E.subproperty),Hn(E.step),Nn("value"),En(te),An(mn(te)),Qe.current&&wn(Qe.current))},[Wt,o]),ti=J((v,E)=>{Wt(),Ct(),er(null),o({type:"CLEAR_STICKER",payload:{selector:v,sticker:E}})},[Ct,Wt,o]),kr=J(v=>{if(!w)return;w(v);let E=0,te=()=>{let se=document.querySelector("[data-popmelt-shadow-host]")?.shadowRoot?.querySelector("[data-popmelt-reply]");if(se){se.focus(),se.setSelectionRange(se.value.length,se.value.length);return}E+=1,E<6&&requestAnimationFrame(te)};requestAnimationFrame(te)},[w]),Ot=W(r);Ot.current=r;let nr=Xy({annotations:r.annotations,currentPathname:X,dispatch:o,stateRef:Ot,styleModifications:r.styleModifications,subjectRegistry:$,toolbarRef:L,onTargetResolutionChange:Ge}),Ft=W(y);Ft.current=y;let Xr=W(y);O(()=>{let v=E=>{if(Xr.current=null,E.button!==2)return;let te=Ft.current;Xr.current=zp(te)?te:null};return window.addEventListener("pointerdown",v,!0),()=>window.removeEventListener("pointerdown",v,!0)},[]),h0(y,ae);let{cursorPosRef:Kr,domEditInputSize:Io,inputRef:Tr,lastPositionedTextId:ma}=m0({activeText:y,activeTextRef:Ft,canvasRef:ee,visible:r.isAnnotating}),Mi=J(()=>{window.requestAnimationFrame(()=>{Tr.current?.focus();let v=Tr.current?.value.length??0;Tr.current?.setSelectionRange(v,v)})},[Tr]),Qa=J((v,E=Xr.current)=>{let te=Ft.current,se=$?.hitTest(v)??null,we=se?.element??bi(v.x,v.y,{allowBodyFallback:!0}),Xe=se?.target,yt=[...Ot.current.annotations].reverse().find(Yn=>Yn.type!=="text"||(Yn.status??"pending")!=="pending"?!1:Xe&&Yn.target?Yn.target.adapter===Xe.adapter&&Yn.target.key===Xe.key:!Yn.linkedSelector||!we?!1:!!nn(Yn.linkedSelector,Yn.elements)?.contains(we)),xt=qb({activationDraft:E,activeDraft:te,annotations:Ot.current.annotations,selectedAnnotationIds:Ot.current.selectedAnnotationIds,lastSelectedId:Ot.current.lastSelectedId,annotationAtCursor:yt});if(Xr.current=null,!xt||Ot.current.activeTool!=="inspector")return!1;let to=xt.value;Be.current?.cancel();let no=to.target&&$?$.resolve(to.target):null,gs=no?.subject.sourceElement??(to.linkedSelector?hn(to.linkedSelector):null),Vf=Yn=>{if(!(Yn instanceof MouseEvent)||!$)return;let ol=$.hitTest({x:Yn.clientX,y:Yn.clientY});if(!ol)return;let Gf=ol.target;return{element:ol.subject.sourceElement??null,state:yd(ol),captureResult:()=>{let cc=$.resolve(Gf);return cc?yd(cc):void 0}}};return Ie.current={id:to.id,draft:xt.kind==="draft"},Be.current=Wb({subjectElement:gs,...no?{subjectState:yd(no)}:{},resolveEventTarget:Vf,onActionCountChange:kt,captureFrame:D?jt:void 0}),Ct(),Ae(null),un(null),er(null),kt(0),Ke(v),_t(!0),$t(),!0},[Ct,jt,$t,D,$]),ni=J(async()=>{let v=Be.current,E=Ie.current;if(!v||!E||!v.hasActions())return;let{episode:te,frames:se}=await v.finish();if(Be.current=null,E.draft)ae(we=>{if(we?.id!==E.id)return we;let Xe=we.images?.length??0;return{...we,images:[...we.images??[],...se],interactionEpisode:Pp(te,Xe)}});else{let we=Ot.current.annotations.find(Xe=>Xe.id===E.id);if(we){let Xe=we.imageCount??0,yt=Pp(te,Xe);se.length>0&&x?.(we.id,se),o({type:"UPDATE_TEXT",payload:{id:we.id,text:we.text??"",imageCount:Xe+se.length,interactionEpisode:yt}})}}Oe(),E.draft&&Mi()},[o,Oe,Mi,x,ae]),Ri=J(v=>{let E=Ft.current;if(E?.id===v&&(ae(se=>{if(se?.id!==v)return se;let we=new Set(se.interactionEpisode?.frames?.map(yt=>yt.imageIndex)??[]),Xe={...se};return delete Xe.interactionEpisode,we.size>0&&se.images&&(Xe.images=se.images.filter((yt,xt)=>!we.has(xt))),Xe}),E.isNew))return;let te=Ot.current.annotations.find(se=>se.id===v)?.interactionEpisode?.frames?.map(se=>se.imageIndex)??[];te.length>0&&S?.(v,te),o({type:"CLEAR_INTERACTION_EPISODE",payload:{id:v}})},[o,S,ae]),ga=J(()=>{let v=Ie.current?.draft;Oe(),v&&Mi()},[Oe,Mi]);O(()=>{let v=E=>{if(!ce.current)return;let te=E.metaKey||E.ctrlKey;if(E.key==="Escape"&&te){E.preventDefault(),E.stopPropagation(),E.stopImmediatePropagation(),Be.current?ga():Oe();return}E.key==="Enter"&&te&&Be.current&&(E.preventDefault(),E.stopPropagation(),E.stopImmediatePropagation(),ni())};return window.addEventListener("keydown",v,!0),()=>window.removeEventListener("keydown",v,!0)},[ga,Oe,ni]),O(()=>{if(!_e)return;let v=te=>Be.current?.recordEvent(te),E=()=>Be.current?.recordScroll();return window.addEventListener("click",v,!0),window.addEventListener("pointerdown",v,!0),window.addEventListener("pointerup",v,!0),window.addEventListener("input",v,!0),window.addEventListener("change",v,!0),window.addEventListener("submit",v,!0),window.addEventListener("keydown",v,!0),window.addEventListener("play",v,!0),window.addEventListener("pause",v,!0),window.addEventListener("seeked",v,!0),window.addEventListener("scroll",E,{capture:!0,passive:!0}),()=>{window.removeEventListener("click",v,!0),window.removeEventListener("pointerdown",v,!0),window.removeEventListener("pointerup",v,!0),window.removeEventListener("input",v,!0),window.removeEventListener("change",v,!0),window.removeEventListener("submit",v,!0),window.removeEventListener("keydown",v,!0),window.removeEventListener("play",v,!0),window.removeEventListener("pause",v,!0),window.removeEventListener("seeked",v,!0),window.removeEventListener("scroll",E,!0)}},[_e]);let ko=W([]),Li=W(i);Li.current=i;let{dragState:Vr,resizeState:Pi,setDragState:Er,setResizeState:To}=vb(),Ar=r.selectedAnnotationIds;ko.current=Ar;let rr=J((v,E=!1)=>{o({type:"SELECT_ANNOTATION",payload:{id:v,addToSelection:E}})},[o]),Eo=J(()=>{o({type:"SELECT_ANNOTATION",payload:{id:null}})},[o]),Ao=J(v=>{let E=Ot.current.annotations.find(te=>te.id===v);!E||!sl(E,Ot.current.annotations)||(o({type:"DELETE_ANNOTATION",payload:{id:v}}),Ft.current?.id===v&&(At(Ft.current.attachments),ae(null)),Ct(),un(null),er(null),vr(null),ho(!1),Eo())},[Ct,Eo,o,At,ae]),as=J(v=>{let E=Em(Ot.current.textModifications,v,X);E&&(o(E),Ct(),er(null),vr(null),ho(!1))},[X,o,Ct]),Cr=W({x:window.scrollX,y:window.scrollY}),or=W(null),[Gt,an]=j(Cr.current);O(()=>{if(re)return U(),window.addEventListener("resize",U),window.visualViewport?.addEventListener("resize",U),()=>{window.removeEventListener("resize",U),window.visualViewport?.removeEventListener("resize",U)}},[U,re]),Am({state:r,stateRef:Ot,activeTextRef:Ft,selectedIdsRef:ko,dispatch:o,clearSelection:Eo,selectAnnotation:rr,handHoveredElement:xr,onArchiveThread:Z,openThreadId:ie,currentPathname:X,hasOpenThread:I});let{pageAnnotations:Ut,pageStyleModifications:Bn,pageTextModifications:Jn,pendingBundleCount:ya,pendingTextAnnotations:ls}=xc({state:r,activeText:y,currentPathname:X,dismissedThreadIds:g,modifiedElementThreadStates:m}),{sendHintAnchorId:ji,setSendHintAnchorId:Co}=Gy({activeText:y,activeTextAnchorId:so,hoveredElement:Ue,hoveredTextId:Tt,pendingTextAnnotations:ls}),{locationLabels:Mo,tooltipAnnotationId:va,revealAnnotation:Za}=Vy({annotations:Ut,annotationIds:nr,badgeHoveredAnnotationId:st,hoveredTextId:Tt}),el=J((v,E)=>{let te=Ot.current.annotations.find(se=>se.id===v);te&&(rr(v),E&&kr(E),nr.has(v)&&Za(te))},[kr,nr,Za,rr]),{cycleSpotlightAnnotationIds:ba,emphasizedAnnotationIds:zi,hoverRestoredAnnotationIds:$i,inactiveEmphasisOpacity:ri,statusSpotlightAnnotationIds:oi}=Wy({annotations:Ut,isCreatingAnnotation:!!(y?.isNew&&!y.domEdit),hoveredTextId:Tt,badgeHoveredAnnotationId:st,highlightedAnnotationIds:V,cycleFocusedAnnotationIds:N,hoveredElement:Ue}),Di=_h(re?L?.current:null),xa=Di.avoidTop,Ro=Di.avoidBottom,Mr=Di.avoidLeft,Hi=Di.avoidRight,ii=Se(()=>({avoidTop:xa,avoidBottom:Ro,avoidLeft:Mr,avoidRight:Hi}),[xa,Ro,Mr,Hi]),{supersededAnnotations:Rr,stagedArtifactOrder:tl,annotationGroupMap:qn,pageModificationNumberBySelector:wa}=wc({state:r,pageAnnotations:Ut,pageStyleModifications:Bn,pageTextModifications:Jn}),b=Ca(Ue),T=!!(me&&b?.adapter===me.target.adapter&&b.key===me.target.key),B=!!(Ue&&Dn&&!T&&!Tt&&!st&&!y?.linkedSelector&&!Ze?.linkedSelector),{hiddenCollidingAnnotationIds:G,nestedCollidingAnnotationCountById:de,nestedCollidingAnnotationIdsById:le,visibleCollisionRepresentativeByAnnotationId:he}=By({activeText:y,activeTextSendHintId:so,annotationNumberById:qn,badgeHoveredAnnotationId:st,canvasRef:ee,focusedThreadAnnotationId:q,hoveredElement:Ue,hoveredElementInfo:Dn,hoveredTextId:Tt,layoutReady:re&&fe!==null,showHoverElementIdentifier:B,layoutRevision:K+Me,pageAnnotations:Ut,parentPinnedAnnotationIds:nr,pendingLinkedText:Ze,scroll:Gt,supersededAnnotations:Rr,textSafeBounds:ii}),{activeTextAnnotation:pe,activeTextCollisionId:Pe,activeTextModifiedRail:ze,activeTextNestedAnnotationCount:ue,activeTextNestedAnnotationIds:Re,activeTextNestedBadgeColor:ht,elementRailColorBySelector:Lt,elementRailComments:Gr,hiddenAnnotationBadgeIds:Lr,modifiedElementSendHintSelector:Sa,stagedElementComments:ai,visibleCanvasAnnotations:Pr,visibleSendHintAnchorId:Lo}=Wh({activeText:y,activeColor:r.activeColor,annotations:r.annotations,annotationNumberById:qn,focusedThreadAnnotationId:q,hiddenCollidingAnnotationIds:G,modifiedElementThreadStates:m,nestedCollidingAnnotationCountById:de,nestedCollidingAnnotationIdsById:le,pageAnnotations:Ut,pageStyleModifications:Bn,pageTextModifications:Jn,sendHintAnchorId:ji,supersededAnnotations:Rr,visibleCollisionRepresentativeByAnnotationId:he,activeTextSendHintId:so,targetResolutionRevision:K+Me}),li=Se(()=>{if(Ar.length===0)return null;let v=new Map;for(let E of Ar){let te=r.annotations.find(we=>we.id===E);if(!te)continue;let se=te.groupId?r.annotations.filter(we=>we.groupId===te.groupId):[te];for(let we of se)if(we.linkedSelector&&!h?.has(we.linkedSelector)){let Xe=we.color||r.activeColor;v.set(we.linkedSelector,Xe)}}return v.size>0?v:null},[Ar,r.annotations,r.activeColor,h]),xe=J((v=Cr.current)=>{oe(Pr,Ar,nf,v.x,v.y,qn,oi,ii,zi,$i,ri,nr,d)},[d,Pr,Ar,oe,qn,oi,ii,zi,$i,ri,nr]);O(()=>{re&&xe(Cr.current)},[xe,re]),O(()=>{if(!re)return;let v=()=>{let E={x:window.scrollX,y:window.scrollY};Cr.current=E,xe(E),or.current===null&&(or.current=window.requestAnimationFrame(()=>{or.current=null;let te=Cr.current;an(se=>se.x===te.x&&se.y===te.y?se:te)}))};return v(),window.addEventListener("scroll",v,{passive:!0,capture:!0}),()=>{window.removeEventListener("scroll",v,!0),or.current!==null&&(window.cancelAnimationFrame(or.current),or.current=null)}},[xe,re]);let{findAnnotationAtPoint:bt,findHandleAtPoint:Ln,findTextAtPoint:Pn,getPoint:In}=Fx({annotationGroupMap:qn,annotations:r.annotations,canvasRef:ee,handleSize:nf,hiddenCollidingAnnotationIds:G,pageAnnotations:Ut,parentPinnedAnnotationIds:nr,scroll:Gt,selectedAnnotationIds:Ar,supersededAnnotations:Rr,textSafeBounds:ii}),{commitActiveText:vt,createInlineTextEdit:Ni,editPendingLinkedComment:Po,handleSendPendingBundle:jn}=f0({activeText:y,activeTextRef:Ft,canvasRef:ee,clearPageElementHover:Ct,clearSelection:Eo,clearSignal:R,commentTextEditCandidateRef:Mt,cursorPosRef:Kr,dispatch:o,findTextAtPoint:Pn,lastPositionedTextId:ma,onAttachImages:x,onCloseThread:z,onSend:H,pendingLinkedText:Ze,releaseActiveTextAttachments:At,setActiveText:ae,setDragState:Er,setHoveredTextId:Ae,setPendingLinkedText:Dt,setSendHintAnchorId:Co,state:r,stateRef:Ot}),ir=J(()=>{let v=Xr.current;Bb(Ft.current,v)||vt()},[vt]),kn=$x({activeText:y,applySticker:ts,canvasRef:ee,clearSelection:Eo,commentTextEditCandidateRef:Mt,commitActiveText:vt,createInlineTextEdit:Ni,dispatch:o,domDragRef:Jr,editPendingLinkedComment:Po,findAnnotationAtPoint:bt,findHandleAtPoint:Ln,findTextAtPoint:Pn,gapDragRef:ke,gapHoveredAxis:ft,gapHoveredElement:De,gapIsAuto:Sr,getPoint:In,handleAnnotationActivation:el,handDragRef:Br,handHoveredElement:xr,handHoveredSide:Wn,hoveredElement:Ue,hoveredElementInfo:Dn,isElementInFlight:ei,onCanvasInteraction:Y,openThreadAndFocusReply:kr,pageAnnotations:Ut,modifiedElementThreadStates:m,pageStyleModifications:Bn,parentPinnedAnnotationIds:nr,pointerTargetOverrideRef:rn,radiusDragRef:Ai,radiusHoveredCorner:vo,radiusHoveredElement:ua,selectAnnotation:rr,setDragState:Er,setGapDragging:pn,setHandDragging:C,setPendingLinkedText:Dt,setRadiusDragging:Rn,setResizeState:To,setStickerRejectPulse:Sn,setTextDragging:pa,state:r,stickerStage:Rt,textDragRef:xo,textHoveredElement:Ir,textHoveredProperty:wo,toolbarRef:L});O(()=>{if(!rt)return;let v=we=>{if(we.button===0){if(we.target instanceof Element&&ro(we.target)){zt.current=null;return}ne?.(),zt.current={startX:we.clientX,startY:we.clientY,moved:!1}}},E=we=>{(!(we.target instanceof Element)||!ro(we.target))&&ne?.();let Xe=zt.current;Xe&&(zt.current=Ab(Xe,we.clientX,we.clientY))},te=()=>{zt.current=null},se=we=>{if(eh())return;let Xe=zt.current;if(zt.current=null,!Cb(Xe)||we.button!==0||we.target instanceof Element&&ro(we.target)||Be.current||r.activeTool!=="inspector"&&r.activeTool!=="sticker")return;let yt=r.activeTool==="inspector"?$?.hitTest({x:we.clientX,y:we.clientY}):null;yt&&$?.promote(yt.target);let xt=yt?.element??bi(we.clientX,we.clientY,{allowBodyFallback:r.activeTool==="inspector"});!xt||ro(xt)||xt!==document.documentElement&&(r.activeTool==="inspector"&&ei(xt)||r.activeTool==="sticker"&&!(xt instanceof HTMLElement)&&!(xt instanceof SVGElement)||(rn.current={element:xt,elementInfo:yt?.elementInfo??mn(xt)},we.preventDefault(),we.stopPropagation(),we.stopImmediatePropagation(),kn(we)))};return window.addEventListener("pointerdown",v,!0),window.addEventListener("pointermove",E,!0),window.addEventListener("pointercancel",te,!0),window.addEventListener("click",se,!0),()=>{window.removeEventListener("pointerdown",v,!0),window.removeEventListener("pointermove",E,!0),window.removeEventListener("pointercancel",te,!0),window.removeEventListener("click",se,!0)}},[kn,rt,ei,r.activeTool,$,ne]),O(()=>{!r.isAnnotating&&ce.current&&Oe()},[Oe,r.isAnnotating]);let si=l0({activeTool:r.activeTool,annotations:r.annotations,canvasRef:ee,clearPageElementHover:Ct,clearStickerPreview:Wt,dispatch:o,domDragRef:Jr,dragState:Vr,findTextAtPoint:Pn,gapDragRef:ke,gapHoveredAxis:ft,gapHoveredElement:De,getPoint:In,handCursorRef:_,handDragRef:Br,handHoveredElement:xr,handHoveredSide:Wn,handleShakePointerMove:da,hoveredElement:Ue,hoveredElementInfo:Dn,isAnnotating:r.isAnnotating,isElementInFlight:ei,lastCanvasCursorRef:Qe,modifiersRef:Ya,radiusDragRef:Ai,radiusHoveredCorner:vo,radiusHoveredElement:ua,resizeState:Pi,setDomDropPreview:Ko,setDragState:Er,setGapDragging:pn,setGapHoveredAxis:Le,setGapHoveredElement:tt,setGapIsAuto:go,setHandCursorPos:Ce,setHandDragging:C,setHandHoveredElement:vn,setHandHoveredSide:mo,setHoveredElement:En,setHoveredElementInfo:An,setRadiusDragging:Rn,setRadiusHoveredCorner:Vo,setRadiusHoveredElement:Ci,setResizeState:To,setStickerCursor:wn,setStickerStep:Hn,setTextDragging:pa,setTextHoveredElement:Go,setTextHoveredProperty:Ur,steerDragRef:Ga,stickerFamily:ut,stickerStage:Rt,stickerSubproperty:Ht,subjectRegistry:$,suspendTargetDiscovery:!!fa||_e,textDragRef:xo,textHoveredElement:Ir,textHoveredProperty:wo,transformDragHandoffRef:gn,transformPreviewSuppressionRef:He,transformPreviewTargetRef:dn}),di=s0({annotationGroupMap:qn,canvasRef:ee,currentPathname:X,cursorPosRef:Kr,dispatch:o,domDragRef:Jr,dragState:Vr,gapDragRef:ke,gapDragging:Bt,getPoint:In,handDragRef:Br,handDragging:wr,lastPositionedTextId:ma,radiusDragRef:Ai,radiusDragging:bo,resizeState:Pi,setActiveText:ae,setDomDropPreview:Ko,setDragState:Er,setGapDragging:pn,setHandDragging:C,setRadiusDragging:Rn,setResizeState:To,setSendHintAnchorId:Co,setTextDragging:pa,textDragRef:xo,textDragging:Qo}),tn=bb({enabled:r.isAnnotating&&r.activeTool==="inspector"&&!me&&!rt&&!_e,onStart:()=>{vt(),Eo(),Ct(),Mt.current=null},onClick:v=>{let E=$?.hitTest({x:v.clientX,y:v.clientY});E&&$?.promote(E.target),kn(v),di(v)},onRegion:(v,E)=>{let te=new Map;for(let we of wm(E)){if(te.size>=16)break;let Xe=$?.hitTest(we),yt=Xe?null:bi(we.x,we.y),xt=Xe?.elementInfo??(yt?mn(yt):null);xt&&te.set(xt.selector,xt)}let se=Sm(v.points);ma.current=null,Kr.current=0,ae({id:Math.random().toString(36).substring(2,9),point:{x:se.left,y:se.bottom+12},text:"",fontSize:12,isNew:!0,region:{...v,elements:[...te.values()]},linkedAnchor:"bottom-left",elements:[]}),Co(so)}}),ar=tn.cancel;O(()=>{ar()},[R,ar]);let Ia=J(v=>{if(!(!Pn(In(v))&&!bt(In(v))&&tn.begin(v))){if(r.isAnnotating&&r.activeTool==="inspector"&&v.button===0&&v.pointerType==="mouse"&&$&&!me){let E=$.beginCreate({x:v.clientX,y:v.clientY});if(E){ve.current={...E,start:{x:v.clientX,y:v.clientY},moved:!1,pointerId:v.pointerId,captureTarget:v.currentTarget},v.currentTarget.setPointerCapture(v.pointerId),v.preventDefault();return}}kn(v)}},[kn,Pn,bt,In,tn,r.activeTool,r.isAnnotating,me,$]),Je=J(v=>{if(tn.move(v))return;let E=ve.current;if(!E||E.pointerId!==v.pointerId){si(v);return}let te=Math.hypot(v.clientX-E.start.x,v.clientY-E.start.y);if(!E.moved&&te>=M0&&(E.moved=!0),!E.moved){si(v);return}E.session.update({x:v.clientX,y:v.clientY}),je({adapter:E.adapter.id,key:E.session.key}),gt(se=>se+1),v.preventDefault()},[si,tn]),Et=J(v=>{if(tn.end(v))return;let E=ve.current;if(E&&E.pointerId!==v.pointerId)return;if(ve.current=null,je(null),!E){di(v);return}if(E.captureTarget.hasPointerCapture(E.pointerId)&&E.captureTarget.releasePointerCapture(E.pointerId),!E.moved){E.session.cancel();let se=$?.hitTest({x:v.clientX,y:v.clientY});se&&$?.promote(se.target),kn(v),di(v);return}E.session.update({x:v.clientX,y:v.clientY});let te=E.session.commit();te&&(Fe.current=window.performance.now()+500,We({target:{adapter:E.adapter.id,key:te.key},created:!0})),v.preventDefault()},[kn,di,$,tn]),St=J(v=>{if(!r.isAnnotating||r.activeTool!=="inspector"||!$)return!1;let E=$.resolve(v);if(!E?.adapter.renameSubject)return!1;let te=Ft.current;return te?.isNew&&te.target?.adapter===E.target.adapter&&te.target.key===E.target.key&&(At(te.attachments),ae(null),Dt(null)),We({target:E.target,created:!1}),!0},[Ft,At,ae,r.activeTool,r.isAnnotating,$]),jr=J(v=>{if(window.performance.now()<=Fe.current){Fe.current=0,v.preventDefault(),v.stopPropagation();return}if(Fe.current=0,!$)return;let E=$.hitTest({x:v.clientX,y:v.clientY});!E||!St(E.target)||(v.preventDefault(),v.stopPropagation())},[St,$]),jo=J(v=>{let E=v.target.value;Kr.current=v.target.selectionStart;let te=Ft.current;te?.domEdit&&o(hd(te.domEdit,E,te.text===te.domEdit.originalText)),ae(se=>{if(se?.domEdit){let we=Vc(se.domEdit.segments,se.domEdit.originalText,E);se.domEdit.segments.forEach(Xe=>{Xe.textNode.nodeValue=Xe.originalText}),we.forEach(({segment:Xe,modifiedText:yt})=>{Xe.textNode.nodeValue=yt})}return se&&{...se,text:E}})},[Ft,Kr,o,ae]),ci=J(v=>{v.key==="Escape"?(Ft.current?.domEdit&&(o(hd(Ft.current.domEdit,Ft.current.domEdit.originalText,!1)),Ft.current.domEdit.segments.forEach(E=>{E.textNode.nodeValue=E.originalText})),At(Ft.current?.attachments),ae(null)):Bh(v)?jn():v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),vt())},[vt,o,jn,At,ae]),zo=J(v=>{if(!r.isAnnotating)return;let E=Xr.current;Xr.current=null;let te=Pn(In(v));if(te&&k&&!sl(te,Ot.current.annotations)){v.preventDefault(),v.stopPropagation(),k(te.id);return}if(te&&sl(te,Ot.current.annotations)){v.preventDefault(),v.stopPropagation(),Ao(te.id);return}if(te?.status==="resolved"){let Xe=Cm(Ot.current.annotations,[te.id]);if(Xe.length>0){v.preventDefault(),v.stopPropagation(),Xe.forEach(yt=>Z?.(yt));return}}v.preventDefault();let se=!!Ft.current,we=Qa({x:v.clientX,y:v.clientY},E);!se&&!we&&$t()},[$t,Pn,In,Ao,Z,k,Qa,r.isAnnotating]),$o=Se(()=>{if(!Ue)return r.activeColor;let v=null;for(let se of Ut)!se.linkedSelector||Rr.has(se)||nn(se.linkedSelector,se.elements)!==Ue||(!v||se.timestamp>v.timestamp)&&(v=se);let E=v?.color??r.activeColor,te=Dn?.selector??v?.linkedSelector;return te?ws([te],m??new Map,E,hn):E},[Ue,Dn?.selector,m,Ut,r.activeColor,Rr]),ui=()=>{if(!r.isAnnotating)return"default";if(Pi){let{handle:v}=Pi;return v==="start"||v==="end"?"move":v==="top"||v==="bottom"?"ns-resize":v==="left"||v==="right"?"ew-resize":v==="topLeft"||v==="bottomRight"?"nwse-resize":"nesw-resize"}if(Mb(r.activeTool)){let v=Bt?.axis??ft;if(v==="row")return"ns-resize";if(v==="column")return"ew-resize";if(bo||vo)return"ns-resize";let E=Qo?.property??wo;if(E==="font-size")return"ew-resize";if(E==="line-height")return"ns-resize";let te=wr?.side??Wn;return te==="top"||te==="bottom"?"ns-resize":te==="left"||te==="right"?"ew-resize":"default"}return r.activeTool==="inspector"?sm($o):r.activeTool==="sticker"?kc($o):"crosshair"},ka=Eb(r.isAnnotating,r.activeTool),mt={position:"fixed",top:0,left:0,width:"100dvw",height:"100dvh",zIndex:9998,pointerEvents:rt||!ka?"none":"auto",visibility:ka?"visible":"hidden",cursor:On&&!On.nativeReady?"none":ui(),touchAction:r.activeTool==="inspector"?"pan-x pan-y":"none"},fn=Se(()=>{if(!y||y.domEdit)return;if(y.linkedSelector){let E=ai.find(te=>te.selector===y.linkedSelector)?.annotationNumber??wa.get(ze?.selector??y.linkedSelector);if(E!==void 0)return E}let v=qn.get(y.id);if(v!==void 0)return v;if(y.groupId){let E=r.annotations.find(se=>se.groupId===y.groupId),te=E?qn.get(E.id):void 0;if(te!==void 0)return te}return tl.count+1},[y,ze,qn,wa,ai,tl.count,r.annotations]),Un=fn!==void 0?`${fn}.`:"",Jt=Se(()=>{if(!y||!Un||y.domEdit)return 0;let v=ee.current?.getContext("2d");return v&&(v.font=`${y.fontSize}px ${Tn}`),kb({prefix:Un,fontSize:y.fontSize,railGap:ze?2:void 0,context:v})},[y,Un,ze,ee]),Qr=y?.images?.length??r.annotations.find(v=>v.id===y?.id)?.imageCount??0,Zr=y&&!y.domEdit&&!ze?tv({nestedAnnotationCount:ue,imageCount:Qr,interactionEpisodeStepCount:y.interactionEpisode?.steps.length??0,reserveSendHint:!!H&&ji===so&&!!y.text.trim()}):0,ss=r.isAnnotating&&y?.linkedSelector&&!y.target&&!y.domEdit&&!ze?nn(y.linkedSelector,y.elements):null,eo=!!(y&&Ec(y)),pi=Pb(ss),ds=eo&&pi?js(pi,22,2,window.innerHeight):null,cs=y?ds?ds.left+8:pi?pi.left+8:y.point.x-Gt.x:0,us=y?pi?.right??y.point.x-Gt.x:0,fi=J(()=>{let v=ee.current;if(!v||!y)return{width:100,height:12*lr,isWrapped:!1};if(y.domEdit)return{width:Io?.id===y.id?Io.width:Math.max(1,y.domEdit.rect.width),height:Io?.id===y.id?Io.height:Math.max(1,y.domEdit.rect.height),isWrapped:y.domEdit.wrapsText};let E=v.getContext("2d");if(!E)return{width:100,height:y.fontSize*lr,isWrapped:!1};E.font=`${y.fontSize}px ${Tn}`;let te=y.point.x-Gt.x;if(!ze){let se=!!(y.linkedSelector||y.target||y.region),we=md({text:y.text,fontSize:y.fontSize,effectiveMaxWidth:384,annotationPrefixWidth:Jt,isModifiedRail:!1,fitToContent:se,context:E}).width+Jt+16,Xe=Cp({anchorLeftX:cs,anchorRightX:us,editorWidth:we,trailingWidth:Zr,viewportWidth:window.innerWidth});return md({text:y.text,fontSize:y.fontSize,effectiveMaxWidth:Math.max(1,Xe.maxEditorWidth-16),annotationPrefixWidth:Jt,isModifiedRail:!1,fitToContent:se,context:E})}return md({text:y.text,fontSize:y.fontSize,effectiveMaxWidth:zs(te),annotationPrefixWidth:Jt,isModifiedRail:!!ze,context:E})},[y,ee,Gt.x,Jt,ze,Zr,cs,us,Io])(),Oi=!!y?.domEdit,_f=y?Math.max(1,y.text.split(`
58
+ `).length)*y.fontSize*lr+8:0,hi=Oi?fi.height:fi.height+8,Qd=ds??(pi?js(pi,hi,Ji,window.innerHeight):void 0),Zd=eo?Ea("bottom-left"):Ea(Qd?.anchor??y?.linkedAnchor),Wf=fi.isWrapped?hi-_f:0,ec=y?Oi?(y.domEdit.flowRect??y.domEdit.rect).top:Qd?.top??y.point.y-4-Gt.y-Wf:0,Bf=y?Oi?(y.domEdit.flowRect??y.domEdit.rect).left:y.point.x-8-Gt.x:0,Do=Oi?fi.width:fi.width+Jt+16,mi=y&&!Oi&&!ze?Cp({anchorLeftX:cs,anchorRightX:us,editorWidth:Do,trailingWidth:Zr,viewportWidth:window.innerWidth}).editorLeft:Bf,Fi=y?Oi?ec:Mm(ec,hi,ii,mi,Do):0,_i=y?.domEdit?{image:y.domEdit.boundaryRects.map(()=>"linear-gradient(#000 0 0)").join(", "),position:y.domEdit.boundaryRects.map(v=>`${v.left-mi}px ${v.top-Fi}px`).join(", "),size:y.domEdit.boundaryRects.map(v=>`${v.width}px ${v.height}px`).join(", ")}:void 0,tc=y?y.domEdit?{position:"fixed",left:mi,top:Fi,zIndex:10002,width:Do,height:hi,minHeight:0,padding:0,margin:0,boxSizing:"border-box",appearance:"none",fontSize:y.fontSize,fontFamily:y.domEdit.fontFamily,fontWeight:y.domEdit.fontWeight,fontStyle:y.domEdit.fontStyle,color:"transparent",caretColor:r.activeColor,WebkitTextFillColor:"transparent",backgroundColor:"transparent",border:"none",borderRadius:0,outline:"none",boxShadow:"none",lineHeight:y.domEdit.lineHeight,textIndent:y.domEdit.firstLineIndent,letterSpacing:y.domEdit.letterSpacing,textTransform:y.domEdit.textTransform,textAlign:y.domEdit.textAlign,wordSpacing:y.domEdit.wordSpacing,textDecoration:y.domEdit.textDecoration,textShadow:y.domEdit.textShadow,resize:"none",overflow:"hidden",whiteSpace:y.domEdit.wrapsText?y.domEdit.whiteSpace:"pre",wordBreak:y.domEdit.wordBreak,overflowWrap:y.domEdit.overflowWrap,maskImage:_i?.image,maskPosition:_i?.position,maskSize:_i?.size,maskRepeat:"no-repeat",WebkitMaskImage:_i?.image,WebkitMaskPosition:_i?.position,WebkitMaskSize:_i?.size,WebkitMaskRepeat:"no-repeat"}:{position:"fixed",left:mi,top:Fi,zIndex:10002,width:Do,height:hi,padding:`${4+Cd}px 8px ${4-Cd}px`,paddingLeft:8+Jt,boxSizing:"border-box",fontSize:y.fontSize,fontFamily:Tn,color:"#ffffff",backgroundColor:r.activeColor,border:"none",borderRadius:Zd,animation:y.isNew?"popmeltAnnotationFieldEnter 150ms ease-out both":void 0,outline:"none",boxShadow:"none",lineHeight:lr,resize:"none",overflow:"hidden",whiteSpace:fi.isWrapped?"pre-wrap":"pre",wordBreak:fi.isWrapped?"break-word":void 0}:{},nc=y?.target&&y.linkedSelector?nn(y.linkedSelector,y.elements):null,Jf=v=>!y||!ze?null:M(ct,{children:[f(ov,{anchor:v,insetTopLeft:eo,width:Do,height:hi,value:y.text,fontSize:y.fontSize,prefix:Un,inputRef:Tr,inputStyle:tc,onChange:jo,onKeyDown:ci,onPaste:be,onBlur:ir,onContextMenu:E=>{E.preventDefault(),E.stopPropagation(),Ao(y.id)}}),f(ru,{stepCount:y.interactionEpisode?.steps.length??0,onClear:()=>Ri(y.id)})]}),{nestedBadgeOwnerSelector:qf,hasExistingOverlay:Uf,hoveredLinkedAnnotationId:rc,hasSelectedHighlightForElement:Yf,ownedInFlightSelectorColors:oc,ownedFocusedSelectorColors:ic,selectorElementInfo:ac,claimElementOverlay:zr}=Lb({activeText:y,pendingLinkedText:Ze,activeTextSendHintId:so,activeTool:r.activeTool,isAnnotating:r.isAnnotating,annotations:r.annotations,pageAnnotations:Ut,pageStyleModifications:Bn,pageTextModifications:Jn,supersededAnnotations:Rr,nestedBadgeHover:tr,isSendBundleHovered:br,badgeHoveredAnnotationId:st,hoveredTextId:Tt,badgeHoveredSelector:_n,focusedThreadAnnotationId:q,inFlightSelectorColors:h,focusedSelectorColors:li,hoveredElement:Ue}),ps=$o,Xf=y?.domEdit?dl(r.activeColor,.28):"#000000",Kf=y?.domEdit?"transparent":"#ffffff",nl=y?.linkedSelector&&!y.domEdit?y:Ze,rl=nl?.linkedSelector?nn(nl.linkedSelector,nl.elements):null,fs=rl??Ue,lc=rl?"selected":"hover",sc=rl?nl?.target??Ca(rl):b,hs=sc?.adapter,ms=sc?.key;O(()=>(A?.(r.isAnnotating&&fs?{element:fs,selection:lc,subject:hs&&ms?{adapter:hs,key:ms}:void 0}:null),()=>A?.(null)),[A,r.isAnnotating,fs,lc,hs,ms]);let dc=v=>{ot.current=null,$?.remove(v),En(null),An(null),We(E=>E?.target.adapter===v.adapter&&E.target.key===v.key?null:E)};if(_e){let v=Ie.current,E=v?.draft?r.activeColor:r.annotations.find(te=>te.id===v?.id)?.color??r.activeColor;return lt?f(Vv,{cursor:lt,stepCount:Pt,accentColor:E,toolbarElement:L?.current,threadElement:F}):null}return M(ct,{children:[(tn.preview||y?.region)&&f("svg",{"data-popmelt-lasso":"","aria-hidden":"true",style:{position:"fixed",inset:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:9999},children:f("polygon",{points:(tn.preview??y.region.points.map(v=>({x:v.x-Gt.x,y:v.y-Gt.y}))).map(v=>`${v.x},${v.y}`).join(" "),fill:r.activeColor,fillOpacity:.07,fillRule:"evenodd",stroke:r.activeColor,strokeWidth:1,strokeDasharray:cu})}),f("canvas",{ref:Ne,id:"devtools-canvas",style:mt,onPointerDown:v=>{ne?.(),Ia(v)},onPointerMove:v=>{ne?.(),!(!tn.active()&&!ve.current&&b&&Gp(v.currentTarget.ownerDocument,v.clientX,v.clientY))&&Je(v)},onPointerUp:Et,onPointerCancel:v=>{if(tn.active()){tn.cancel();return}if(ve.current){$e();return}di(v)},onLostPointerCapture:v=>{tn.active()&&tn.cancel(),ve.current?.pointerId===v.pointerId&&$e()},onDoubleClick:jr,onPointerLeave:v=>{if(ve.current||tn.active()||C0(v.relatedTarget)||tf(v.relatedTarget))return;Et(v),Wt(),He.current=null,gn.current=null;let E=()=>{En(null),An(null)};if(Ca(Ue)){let{clientX:te,clientY:se}=v;window.setTimeout(()=>{tf(document.elementFromPoint(te,se))||ot.current!==null||E()},100);return}E()},onContextMenu:v=>{if(b&&Gp(v.currentTarget.ownerDocument,v.clientX,v.clientY)){v.preventDefault(),v.stopPropagation(),dc(b);return}zo(v)}}),qe&&$&&(()=>{let v=$.resolve(qe);return v?f(zl,{element:v.element,activeFacet:"translate",accentColor:r.activeColor,showHandles:!1,showRotateHandle:!1,refreshKey:Ve}):null})(),me&&$&&f(hb,{accentColor:r.activeColor,created:me.created,registry:$,target:me.target,onCommit:v=>{En(v.element),An(v.elementInfo),gt(E=>E+1)},onClose:()=>We(null),onCancelCreated:()=>{$.remove(me.target),We(null)}},`${me.target.adapter}:${me.target.key}`),On&&f(lv,{color:$o,cursorRef:Qe,tool:On.tool,onHandoff:()=>Fr(v=>v?.id===On.id?{...v,nativeReady:!0}:v),onDone:()=>Fr(null)},On.id),r.isAnnotating&&y&&M(ct,{children:[nc&&y.subjectAnchor&&f(av,{element:nc,annotationRect:{left:mi,top:Fi,width:Do,height:hi},subjectAnchor:y.subjectAnchor,color:r.activeColor,subjectRegistry:$}),f(rv,{value:y.text,fontSize:y.fontSize,prefix:Un,inputRef:Tr,inputStyle:tc,selectionBackground:Xf,selectionColor:Kf,annotationBorderRadius:Zd,activeColor:r.activeColor,boundaryRects:y.domEdit?.boundaryRects,viewportClip:y.domEdit&&wu(y.domEdit.targetElement.ownerDocument)?Su(new DOMRect(0,0,window.innerWidth,window.innerHeight),y.domEdit.targetElement.ownerDocument):void 0,wrapsDomText:y.domEdit?.wrapsText,showEditor:!ze,rawLeft:mi,top:Fi,baselineOffset:Cd,onChange:jo,onKeyDown:ci,onPaste:be,onBlur:ir}),!ze&&!y.domEdit&&f(nv,{rawLeft:mi,width:Do,top:Fi,scroll:Gt,collisionId:Pe,nestedAnnotationCount:ue,nestedAnnotationIds:Re,nestedBadgeColor:ht,imageCount:Qr,color:r.activeColor,interactionEpisodeStepCount:y.interactionEpisode?.steps.length??0,showSendHint:ji===so&&!!y.text.trim(),bundleCount:ya,onHoverNestedAnnotations:Yr,onHoverSendHint:So,onClearInteractionEpisode:()=>Ri(y.id),onSend:H?jn:void 0}),f(Jh,{point:y.point,scroll:Gt,attachments:y.attachments??[],showAttachments:!y.domEdit,onRemoveAttachment:Ye})]}),r.isAnnotating&&r.activeTool!=="hand"&&(Bn.length>0||Jn.length>0||Gr.length>0||(m?.size??0)>0||B)&&f(qh,{styleModifications:Bn,textModifications:Jn,stagedComments:Gr,accentColor:r.activeColor,annotationNumberBySelector:wa,inFlightSelectors:p,inFlightAnnotationIds:a,activeAnnotationIds:d,inFlightSelectorJobIds:u,waitingApprovalJobIds:s,inFlightSelectorColors:h,toolbarRef:L,onHoverSelector:is,sendHintSelector:Sa,pendingBundleCount:ya,onHoverSendBundle:So,onSend:H?jn:void 0,onSelectSticker:bn,onDeleteSticker:ti,threadStates:m,onViewThread:w,hoveredElement:Ue,hoveredElementInfo:Dn,showHoverIdentifier:B,onEditComment:Po,onDeleteComment:Ao,onDeletePeerComment:k?v=>{let E=Ot.current.annotations.find(te=>te.id===v);E&&sl(E,Ot.current.annotations)?Ao(v):k(v)}:void 0,onDiscardTextChanges:as,onArchiveThread:Z,onClearInteractionEpisode:Ri,onEditSubject:St,onDeleteSubject:dc,onHoverSubjectLabel:v=>{ot.current=v},refreshKey:Nt,activeCommentEntry:ze?{element:ze.element,width:Do,imageCount:Qr,trailingWidth:Ac(Qr)+Gc(y?.interactionEpisode?.steps.length??0),render:Jf}:void 0}),r.activeTool==="hand"&&r.isAnnotating&&(Bn.length>0||Jn.length>0)&&f(Qv,{styleModifications:Bn.filter(v=>{let E=hn(v.selector);return!!E&&zr(E,"pending-change")}),textModifications:Jn.filter(v=>{let E=hn(v.selector);return!!E&&zr(E,"pending-change")}),accentColor:r.activeColor}),r.isAnnotating&&!y?.domEdit&&(()=>{let v=new Set;return Jn.flatMap(E=>{if(E.captured||v.has(E.selector))return[];let te=hn(E.selector);return te?zr(te,"pending-change")?(v.add(E.selector),[f(oo,{element:te,isSelected:!1,color:r.activeColor,hideTooltip:!0},`pending-text-change-${E.selector}`)]):[]:[]})})(),r.isAnnotating&&f(Rm,{annotations:Ut,displayAnnotations:Pr,supersededAnnotations:Rr,inFlightIds:a,orientationLabels:l,activeIds:d,queuePositions:c,scrollX:Gt.x,scrollY:Gt.y,annotationGroupMap:qn,onViewThread:w,onSelectAnnotation:rr,onDeleteDraftAnnotation:Ao,onClearInteractionEpisode:Ri,onHoverAnnotation:ha,canvasRef:ee,toolbarRef:L,activeBundleAnnotationIds:zi,inactiveBundleOpacity:ri,animateBundleOpacity:!oi&&!ba,hoverRestoredAnnotationIds:$i,nestedAnnotationCountById:de,nestedAnnotationIdsById:le,onHoverNestedAnnotations:Yr,onHoverSendBundle:So,onSend:H?jn:void 0,sendHintAnchorId:Lo===so?null:Lo,pendingBundleCount:ya,parentPinnedAnnotationIds:nr,parentPinnedLocationLabels:Mo,parentPinnedTooltipAnnotationId:va,onActivateAnnotation:el,hiddenAnnotationIds:Lr}),r.isAnnotating&&f(Lm,{annotations:Pr,activeIds:d,scrollX:Gt.x,scrollY:Gt.y,spotlightIds:oi,emphasizedIds:zi,hoverRestoredIds:$i,inactiveOpacity:ri}),r.isAnnotating&&oc&&f(Qc,{inFlightSelectorColors:oc,selectorElementInfo:ac,subjectRegistry:$}),r.isAnnotating&&ic&&f(Qc,{inFlightSelectorColors:ic,selectorElementInfo:ac,animated:!1,subjectRegistry:$}),f(_v,{active:r.activeTool==="hand"&&r.isAnnotating,accentColor:r.activeColor,domDropPreview:ca,cursorViewport:ye,gapElement:Bt?ke.current.element:De,gapDragging:Bt,gapHoveredAxis:ft,gapIsAuto:Sr,gapRefreshKey:yo,swipeHint:es,radiusElement:bo?Ai.current.element:ua,radiusDragging:bo,radiusHoveredCorner:vo,textElement:Qo?xo.current.element:Ir,textDragging:Qo,textHoveredProperty:wo,paddingElement:wr?Br.current.element:xr,paddingDragging:wr,paddingHoveredSide:Wn}),r.isAnnotating&&e&&!y&&!Ze&&!me&&f(Oy,{hasExistingOverlay:Uf,entry:e,color:r.activeColor,subjectRegistry:$}),(r.activeTool==="inspector"||r.activeTool==="sticker")&&r.isAnnotating&&f(ct,{children:Ue&&(()=>{let v=r.activeTool==="sticker"&&Rt==="value"&&(ut==="padding"||ut==="margin")&&et.current?.element===Ue,E=kp(r.activeTool==="sticker",ut,Rt,Ht);if(Yf(Ue)||!zr(Ue,"inspector-hover"))return null;let te=y?.linkedSelector?nn(y.linkedSelector,y.elements):null,se=Ze?.linkedSelector?nn(Ze.linkedSelector,Ze.elements):null,we=(te?ed(te,Ue,y?.elements?.[0]?.context):!1)||(se?ed(se,Ue,Ze?.elements?.[0]?.context):!1)||Ut.some(yt=>{if(!yt.linkedSelector||Rr.has(yt))return!1;let xt=nn(yt.linkedSelector,yt.elements);return ed(xt,Ue,yt.elements?.[0]?.context)}),Xe=!!Tt||!!st;return M(ct,{children:[!v&&f(oo,{element:Ue,isSelected:!1,elementInfo:Dn,color:ps,hideOutline:!b,hideFill:!b,refreshKey:r.activeTool==="sticker"?Nt:void 0,hideTooltip:T||B||we||Xe}),!E&&!b&&f(zl,{element:Ue,activeFacet:"translate",accentColor:ps,showHandles:!1,outlineStyle:"dashed",refreshKey:r.activeTool==="sticker"?Nt:void 0})]})})()}),f(sb,{active:r.activeTool==="sticker"&&r.isAnnotating,accentColor:ps,family:ut,stage:Rt,subproperty:Ht,hoveredElement:Ue,previewElement:et.current?.element??null,transformPreviewElement:dn.current?.element??null,previewRevision:Nt,cursorViewport:fo,drag:dt,onGapPointerDown:ns,onRadiusPointerDown:Xa,onSpacingPointerDown:Ka,onTransformPointerDown:Va}),r.activeTool==="sticker"&&r.isAnnotating&&fo&&f(Uh,{cursor:fo,family:ut,step:Xt,subproperty:Ht,stage:Rt,accentColor:r.activeColor,applyPulse:Kt,contextLabelPulse:Qt,depthSnapPulse:qt,rejectPulse:Fn,stepUnavailable:_r,query:sn?{tokens:sn.segments.flatMap((v,E)=>{let te=sn.history[E]?.scope??vd,se=Na(te,v);return se?[ex(se)]:[]}),...tx(sn.query,bd(sn.scope,sn.query))}:null,toolbarElement:L?.current,threadElement:F,annotationRailHovered:_n!==null||st!==null||tr!==null||br}),!tr&&!br&&(y?.linkedSelector||Ze?.linkedSelector)&&(()=>{let v=y?.linkedSelector||Ze?.linkedSelector;if(!v)return null;let E=nn(v,y?.elements??Ze?.elements);return!E||!zr(E,"direct-manipulation")?null:f(oo,{element:E,isSelected:!0,color:pe?.color??r.activeColor,hideTooltip:!0})})(),q&&(()=>{if(br)return null;let v=r.annotations.find(se=>se.id===q);if(!v?.linkedSelector||qf===v.linkedSelector)return null;let E=nn(v.linkedSelector,v.elements);if(!E||!zr(E,"thread-focus"))return null;let te=!!(a&&a.has(v.id));return f(oo,{element:E,isSelected:!te,color:v.color,onActivate:v.threadId?()=>kr(v.threadId):void 0,hideTooltip:!0})})(),rc&&(()=>{let v=r.annotations.find(te=>te.id===rc);if(!v?.linkedSelector)return null;let E=nn(v.linkedSelector,v.elements);return!E||!zr(E,"annotation-hover")?null:f(oo,{element:E,isSelected:!1,color:v.color,onActivate:v.threadId?()=>kr(v.threadId):void 0,hideTooltip:!0})})(),tr&&!br&&(()=>{let v=new Set;return tr.annotationIds.flatMap(E=>{let te=r.annotations.find(we=>we.id===E);if(!te?.linkedSelector||v.has(te.linkedSelector))return[];let se=nn(te.linkedSelector,te.elements);return se?zr(se,"nested-preview")?(v.add(te.linkedSelector),[f(oo,{element:se,isSelected:!1,color:te.color,hideTooltip:!0},`nested-annotation-${E}`)]):[]:[]})})(),br&&(()=>{let v=[],E=new Set,te=(se,we,Xe,yt)=>{if(!we||E.has(we))return;let xt=nn(we,Xe);xt&&zr(xt,"bundle-preview")&&(E.add(we),v.push({id:se,element:xt,color:yt}))};for(let se of Ut)(se.status??"pending")==="pending"&&te(se.id,se.linkedSelector,se.elements,se.color);y&&!y.domEdit&&y.text.trim()&&te(so,y.linkedSelector,y.elements,r.activeColor);for(let se of Bn)se.captured||te(`style-${se.selector}`,se.selector,[se.element],r.activeColor);for(let se of Jn)se.captured||te(`text-${se.selector}`,se.selector,[se.element],r.activeColor);return v.map(se=>f(oo,{element:se.element,isSelected:!1,color:se.color,hideTooltip:!0},`send-bundle-${se.id}`))})(),_n&&(()=>{let v=hn(_n);if(!v||!zr(v,"badge-hover"))return null;let E=ws([_n],m??new Map,Lt.get(_n)??r.activeColor,hn);return f(ct,{children:f(oo,{element:v,isSelected:!1,color:E,fillOpacity:.1,hideTooltip:!0,subjectRegistry:$})})})()]})}function L0(e,t){if(!t||t.size===0)return e;let n=!1,r=e.map(o=>{if(!o.threadId)return o;let i=t.get(o.threadId);return!i||i===o.color?o:(n=!0,{...o,color:i})});return n?r:e}function _l(e,t,n){return t&&n?.get(t)||e}var Md="popmelt-status-notices",rf=50,of=2,P0=new Set(["Model","Reviewed","Has a question","Needs decision","Needs review","Applied changes","Replied","Done"]);function af(e){return e.status!=="done"||e.doneLabel&&P0.has(e.doneLabel)?e:{...e,doneLabel:"Replied"}}function Wl(e){return e?`${Md}:${e}`:Md}function lf(e,t,n=!0){return t===null?!1:t===void 0?!0:e.threadId?t.has(e.threadId):n&&e.global===!0}function sf(e){if(typeof window>"u")return[];try{let t=JSON.parse(localStorage.getItem(Wl(e))??localStorage.getItem(Md)??"[]");return(Array.isArray(t)?t:t?.version===of&&Array.isArray(t.entries)?t.entries:[]).filter(n=>{if(!n||typeof n!="object")return!1;let r=n;return typeof r.jobId=="string"&&typeof r.color=="string"&&(r.status==="done"||r.status==="error")}).map(af).slice(-rf)}catch{return[]}}function Rd(e){try{let t=JSON.parse(localStorage.getItem(Wl(e))||"{}");return new Set(Array.isArray(t.acknowledgedJobIds)?t.acknowledgedJobIds.filter(n=>typeof n=="string"):[])}catch{return new Set}}function j0(e,t,n){if(!(typeof window>"u"))try{let r=e.filter(Bo).map(af).slice(-rf),o=JSON.stringify({version:of,entries:r,acknowledgedJobIds:Array.from(n).slice(-500)}),i=Wl(t);localStorage.getItem(i)!==o&&localStorage.setItem(i,o)}catch{}}function Bo(e){return e.status==="done"||e.status==="error"}function Ld(e,t){return!!(t&&e.status==="done"&&e.doneLabel==="Has a question"&&e.threadId&&t.has(e.threadId))}function z0(e,t,n,r,o){return!e&&(t||n)&&(r>0||o===!1)}function $0(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}var D0=['[data-devtools="thread-panel"]:not([aria-hidden="true"])','[data-devtools="imprint-panel"]','[data-popmelt-active-annotation-surface="true"]'].join(", "),df=500,H0=80,cf=120;function Bl(e){return e==="project_model"}var Pd=2,Fa=24,N0=0,jd={display:"flex",alignItems:"center",gap:3,padding:`${Pd}px 0`,backgroundColor:"transparent",border:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,height:Fa,boxSizing:"border-box",whiteSpace:"nowrap",animation:"popmeltJobStatusEnter 180ms ease-out both",transition:"transform 200ms ease, opacity 200ms ease",willChange:"transform, opacity"};function O0(e,t=!1){if(e.find(c=>c.type==="job_started")?.data.kind==="project_model")return"Projecting model";let n=e.filter(c=>c.type==="orientation"),r=n[n.length-1]?.data.orientation?.snapshot?.focus?.trim();if(r)return t||r.length<=40?r:`${r.slice(0,37).trimEnd()}\u2026`;let o=e.filter(c=>c.type==="tool_use");if(o.length===0)return"Starting\u2026";let i=o[o.length-1],a=String(i.data.tool||""),l=i.data.file?String(i.data.file):null,s=l?l.split("/").pop()??l:null,d=i.data.content?String(i.data.content):null;switch(a){case"Read":return s?`Reading ${s}`:"Reading file";case"Edit":return s?`Editing ${s}`:"Editing file";case"Write":return s?`Writing ${s}`:"Writing file";case"Bash":{if(!d)return"Running command";let c=d.split(`
59
+ `)[0].trim();return t||c.length<=40?c:c.slice(0,37)+"\u2026"}case"Glob":return"Searching files";case"Grep":return"Searching code";default:return a?`Using ${a}`:"Working\u2026"}}function F0(e,t=!1){if(!t)return"Failed";let n=ag(e);return`${n.label} \u2014 ${n.message}`}function _0(e,t=3){let n=e.trim().replace(/\s+/g," ");if(!n)return 0;let r=n.split(" "),o=Math.max(...r.map(s=>s.length)),i=s=>{let d=1,c=0;for(let p of r){let u=c===0?p.length:c+1+p.length;u<=s?c=u:(d+=1,c=p.length)}return d},a=o,l=n.length;for(;a<l;){let s=Math.floor((a+l)/2);i(s)<=Math.max(1,t)?l=s:a=s+1}return a}function zd(e,t){if(e.find(i=>i.type==="job_started"&&i.data.jobId===t)?.data.kind==="project_model")return"Model";let n=[...e].reverse().find(i=>i.type==="done"&&i.data.jobId===t)?.data.result,r=e.some(i=>i.type==="question"&&i.data.jobId===t);if(n?.attention==="response_requested")return"Has a question";if(n?.attention==="decision_required")return"Needs decision";if(n?.attention==="review_required")return"Needs review";if(n?.outcomes?.some(i=>i.kind==="changes_applied"))return"Applied changes";if(r)return"Has a question";if(n?.attention==="response_available")return"Replied";let o=new Set(["Edit","Write"]);return e.some(i=>i.type==="tool_use"&&i.data.jobId===t&&o.has(String(i.data.tool||"")))?"Applied changes":"Replied"}function uf(e,t,n=[]){let r=new Map;for(let l of t){if(l.type!=="done"&&l.type!=="error")continue;let s=typeof l.data.jobId=="string"?l.data.jobId:null;s&&r.set(s,l)}if(r.size===0&&n.length===0)return e;let o=new Set(n),i=!1,a=e.map(l=>{let s=r.get(l.jobId);if(!s)return l.status==="queued"&&o.has(l.jobId)?(i=!0,{...l,status:"working"}):l;let d=s.type==="error",c=d?"error":"done",p=d?void 0:zd(t,l.jobId),u=d?String(s.data.message||""):void 0,h=d?!!s.data.cancelled:void 0,m=typeof s.data.threadId=="string"?s.data.threadId:void 0;return l.status===c&&l.doneLabel===p&&l.errorMessage===u&&l.cancelled===h&&l.threadId===(l.threadId||m)?l:(i=!0,{...l,status:c,doneLabel:p,errorMessage:u,cancelled:h,threadId:l.threadId||m})});return i?a:e}function W0(e,t){return t?[...e].reverse():e}function B0({color:e}){let[t,n]=j(0);return O(()=>{let r=setInterval(()=>{n(o=>(o+1)%2)},250);return()=>clearInterval(r)},[]),f("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?M(ct,{children:[f("circle",{cx:"7",cy:"7",r:"2"}),f("circle",{cx:"17",cy:"7",r:"2"}),f("circle",{cx:"7",cy:"17",r:"2"}),f("circle",{cx:"17",cy:"17",r:"2"})]}):M(ct,{children:[f("circle",{cx:"12",cy:"6",r:"2"}),f("circle",{cx:"6",cy:"12",r:"2"}),f("circle",{cx:"18",cy:"12",r:"2"}),f("circle",{cx:"12",cy:"18",r:"2"})]})})}function J0({color:e}){return f("span",{style:{color:e,fontSize:12,lineHeight:1,width:10,display:"inline-block"},children:"\u2713"})}function q0({onCancel:e}){let t=W(null);return O(()=>{let n=t.current;if(!n)return;let r=a=>{a.stopPropagation(),e()},o=()=>{n.style.opacity="0.5"},i=()=>{n.style.opacity="0.7"};return n.addEventListener("click",r),n.addEventListener("mouseenter",o),n.addEventListener("mouseleave",i),()=>{n.removeEventListener("click",r),n.removeEventListener("mouseenter",o),n.removeEventListener("mouseleave",i)}},[e]),f("button",{ref:t,style:{background:"none",border:"none",cursor:"pointer",color:"#ffffff",opacity:.7,fontSize:14,padding:"0 2px",lineHeight:1},title:"Cancel",children:"\xD7"})}function U0({onDismiss:e,onHoverChange:t}){let n=W(null),[r,o]=j(!1);return O(()=>{let i=n.current;if(!i)return;let a=d=>{d.stopPropagation(),e()},l=()=>{o(!0),t?.(!0)},s=()=>{o(!1),t?.(!1)};return i.addEventListener("click",a),i.addEventListener("mouseenter",l),i.addEventListener("mouseleave",s),()=>{i.removeEventListener("click",a),i.removeEventListener("mouseenter",l),i.removeEventListener("mouseleave",s)}},[e,t]),f("button",{ref:n,style:{background:"none",border:"none",cursor:"pointer",color:"#ffffff",opacity:r?1:.3,display:"flex",alignItems:"center",justifyContent:"center",width:16,height:16,padding:0,lineHeight:1,transition:"opacity 120ms ease-out"},title:"Hide","aria-label":"Hide",children:f(Ug,{size:12,strokeWidth:2.25})})}function Y0({bridge:e,inFlightJobs:t,threadColors:n,isVisible:r,isHidden:o=!1,onHover:i,isInteractionSuppressed:a=!1,clearSignal:l,onClickJob:s,onCancel:d,onHoverJob:c,isConnected:p,dismissedThreadIds:u,acknowledgedThread:h,recoveredAcknowledgedThreadIds:m,recoveredAcknowledgedJobIds:g,recoveredSettledQuestionThreadIds:x,pendingQuestionThreadIds:S,snapPosition:D="bottom-right",currentPathname:H,noticeScope:w,ownedThreadIds:z,allowThreadlessNotices:Z=!0,viewedThreadId:k}){let V=W(new Set),[N,Y]=j(()=>{let y=Rd(w),ae=sf(w).filter(be=>!y.has(be.jobId));return V.current=new Set(ae.map(be=>be.jobId)),ae}),[q,ie]=j(!1),[I,Q]=j(null),[L,F]=j(null),[R,$]=j(!1),[P,A]=j(!1),[ne,re]=j("waiting"),ee=a||R,oe=o||ee,U=W(oe),fe=W(!1),ge=W(null),K=W(null),Te=W(null),[Me]=j(()=>Rd(w)),Ee=W(Me),Ge=W(new Set);O(()=>{ee&&(ie(!1),Q(null),i(!1),c?.(null))},[ee,i,c]),O(()=>{o&&(ie(!1),Q(null),i(!1),c?.(null))},[o,i,c]),O(()=>{z!==null&&j0(N.filter(y=>lf(y,z,Z)&&!Ee.current.has(y.jobId)),w,Ee.current)},[N,w,z,Z]),O(()=>{if(!k)return;let y=N.filter(ae=>ae.threadId===k&&Bo(ae));y.length!==0&&(y.forEach(ae=>Ee.current.add(ae.jobId)),Y(ae=>ae.filter(be=>!Ee.current.has(be.jobId))))},[N,k]),O(()=>{Y(y=>L0(y,n))},[n]),O(()=>{let y=ae=>{if(ae.key!==Wl(w))return;Rd(w).forEach(Ye=>Ee.current.add(Ye));let be=sf(w).filter(Ye=>!Ee.current.has(Ye.jobId));Y(Ye=>[...Ye.filter(At=>!Bo(At)),...be])};return window.addEventListener("storage",y),()=>window.removeEventListener("storage",y)},[w]);let[X,Ne]=j(()=>typeof window<"u"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});O(()=>{let y=()=>Ne({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",y),()=>window.removeEventListener("resize",y)},[]);let ve=Gh(D,X.w,X.h);O(()=>{l>0&&Y(y=>(y.forEach(ae=>Ee.current.add(ae.jobId)),[]))},[l]),O(()=>{!u||u.size===0||Y(y=>{let ae=y.filter(be=>!be.threadId||!u.has(be.threadId)||!Bo(be));return ae.length===y.length?y:ae})},[u]),O(()=>{h&&(Ge.current.add(h.threadId),Y(y=>{let ae=y.filter(be=>be.threadId===h.threadId&&Bo(be));return ae.forEach(be=>Ee.current.add(be.jobId)),ae.length===0?y:y.filter(be=>!Ee.current.has(be.jobId))}))},[h]),O(()=>{!m||m.size===0||(m.forEach(y=>Ge.current.add(y)),Y(y=>{let ae=y.filter(be=>be.threadId&&m.has(be.threadId)&&Bo(be));return ae.forEach(be=>Ee.current.add(be.jobId)),ae.length===0?y:y.filter(be=>!Ee.current.has(be.jobId))}))},[m]),O(()=>{!g||g.size===0||(g.forEach(y=>Ee.current.add(y)),Y(y=>{let ae=y.filter(be=>!g.has(be.jobId));return ae.length===y.length?y:ae}))},[g]),O(()=>{!x||x.size===0||Y(y=>{let ae=y.filter(be=>!Ld(be,x));return ae.length===y.length?y:ae})},[x]),O(()=>{!S||S.size===0||Y(y=>{let ae=!1,be=y.map(Ye=>Ye.status!=="done"||!Ye.threadId||!S.has(Ye.threadId)||Ye.doneLabel==="Has a question"?Ye:(ae=!0,{...Ye,doneLabel:"Has a question"}));return ae?be:y})},[S]),O(()=>{Y(y=>{let ae=new Set(y.map(me=>me.jobId)),be=!1,Ye=y.map(me=>{let We=t[me.jobId];if(We&&(!me.threadId||me.color==="#888"||!me.kind||!me.routePathnames&&We.routePathnames||me.global==null&&We.global!=null))return be=!0,{...me,annotationIds:me.annotationIds??We.annotationIds,threadId:me.threadId||We.threadId||e.activeJobThreads[me.jobId],color:_l(me.color==="#888"?We.color:me.color,me.threadId||We.threadId,n),kind:me.kind??We.kind,routePathnames:me.routePathnames??We.routePathnames,global:me.global??We.global};let Ve=e.activeJobThreads[me.jobId];return!me.threadId&&Ve?(be=!0,{...me,threadId:Ve,color:_l(me.color,Ve,n)}):me});for(let[me,We]of Object.entries(t)){if(Bl(We.kind))continue;let Ve=e.events.some(ot=>ot.data.jobId===me&&ot.type!=="job_started"),gt=!!(We.threadId&&Ge.current.has(We.threadId)&&!Ve);!ae.has(me)&&!Ee.current.has(me)&&!gt&&(Ye.push({jobId:me,annotationIds:We.annotationIds,color:_l(We.color,We.threadId,n),status:"queued",kind:We.kind,threadId:We.threadId,routePathnames:We.routePathnames,global:We.global}),be=!0)}let At=new Set(Object.keys(t)),Tt=new Set(e.activeJobIds),Ae=Ye.filter(me=>Bl(me.kind)?!1:me.status!=="queued"?!0:At.has(me.jobId)||Tt.has(me.jobId));Ae.length!==Ye.length&&(be=!0);let Ze=new Set(Ae.map(me=>me.jobId));for(let me of e.activeJobIds)if(!Ze.has(me)&&!Ee.current.has(me)){let We=e.events.find(Ue=>Ue.type==="job_started"&&Ue.data.jobId===me),Ve=We?.data.kind;if(Bl(Ve))continue;let gt=We?.data?.threadId??e.activeJobThreads[me],ot=e.events.some(Ue=>Ue.data.jobId===me&&Ue.type!=="job_started");if(gt&&Ge.current.has(gt)&&!ot)continue;let Qe=typeof We?.data.color=="string"?We.data.color:Ve==="synthesize"||Ve==="project_model"?"#000000":"#888",Mt=_l(Qe,gt,n);Ae.push({jobId:me,annotationIds:Array.isArray(We?.data.annotationIds)?We.data.annotationIds.filter(Ue=>typeof Ue=="string"):void 0,color:Mt,status:"working",kind:Ve,threadId:gt,routePathnames:void 0,global:We?.data.global===!0||Ve==="synthesize"||Ve==="project_model"}),be=!0}let Dt=uf(Ae.filter(me=>!Ee.current.has(me.jobId)),e.events,e.activeJobIds).filter(me=>!Ld(me,x));return be||Dt!==Ae?Dt:y})},[t,e.activeJobIds,e.activeJobThreads,e.events,x,n]),O(()=>{if(e.activeJobIds.length===0)return;let y=new Set(e.activeJobIds);Y(ae=>ae.map(be=>y.has(be.jobId)&&be.status!=="done"&&be.status!=="error"?{...be,status:"working"}:be))},[e.activeJobIds]),O(()=>{Y(y=>{let ae=uf(y.filter(Ye=>!Ee.current.has(Ye.jobId)),e.events).filter(Ye=>!Ld(Ye,x));if(!u||u.size===0)return ae;let be=ae.filter(Ye=>!Ye.threadId||!u.has(Ye.threadId)||!Bo(Ye));return be.length===ae.length?ae:be})},[e.events,u,x]);let Fe=J(y=>y.global||!H||!y.routePathnames||y.routePathnames.length===0?!0:y.routePathnames.includes(H),[H]),qe=Se(()=>N.filter(y=>!Bl(y.kind)&&Fe(y)&&lf(y,z,Z)&&(!k||y.threadId!==k)&&!(y.threadId&&u?.has(y.threadId))&&!Ee.current.has(y.jobId)),[N,Fe,z,Z,k,u]),je=qe.some(Bo),$e=z0(o,r,je,qe.length,p),ce=qe.map(y=>`${y.jobId}:${y.status}:${y.color}:${y.threadId??""}`).join("|");It(()=>{let y=U.current;if(U.current=oe,ge.current&&(clearTimeout(ge.current),ge.current=null),K.current&&(clearTimeout(K.current),K.current=null),Te.current&&(clearTimeout(Te.current),Te.current=null),!fe.current){if(oe||!$e){A(!1),re("waiting");return}return qe.forEach(ae=>V.current.add(ae.jobId)),A(!0),re("waiting"),ge.current=setTimeout(()=>{re("fading"),ge.current=null,K.current=setTimeout(()=>{fe.current=!0,re("complete"),K.current=null,Te.current=setTimeout(()=>{A(!1),Te.current=null},df)},cf)},H0),()=>{ge.current&&(clearTimeout(ge.current),ge.current=null),K.current&&(clearTimeout(K.current),K.current=null),Te.current&&(clearTimeout(Te.current),Te.current=null)}}if(oe||!$e){A(!1);return}if(y)return A(!0),Te.current=setTimeout(()=>{A(!1),Te.current=null},df),()=>{Te.current&&(clearTimeout(Te.current),Te.current=null)}},[ce,oe,$e,qe]);let rt=W(null);It(()=>{if(!$e){$(!1);return}let y=rt.current;if(!y)return;let ae=null,be=new Set,Ye=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>Ze()),At=()=>{let Ve=[document],gt=y.getRootNode();return gt!==document&&"querySelectorAll"in gt&&Ve.unshift(gt),Ve},Tt=()=>{let Ve=new Set;for(let gt of At())gt.querySelectorAll(D0).forEach(ot=>Ve.add(ot));return Array.from(Ve)},Ae=()=>{ae=null;let Ve=y.getBoundingClientRect(),gt=Tt();for(let Qe of gt)Ye&&!be.has(Qe)&&(be.add(Qe),Ye.observe(Qe));let ot=gt.some(Qe=>{let Mt=window.getComputedStyle(Qe);return Mt.display==="none"||Mt.visibility==="hidden"||Mt.opacity==="0"?!1:$0(Ve,Qe.getBoundingClientRect())});$(Qe=>Qe===ot?Qe:ot)};function Ze(){ae===null&&(ae=window.requestAnimationFrame(Ae))}Ye?.observe(y);let Dt=y.getRootNode(),me=typeof MutationObserver>"u"?null:new MutationObserver(Ze);me&&Dt instanceof Node&&me.observe(Dt,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["aria-hidden","style"]});let We=typeof MutationObserver>"u"||!document.body?null:new MutationObserver(Ze);return We?.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-popmelt-active-annotation-surface"]}),window.addEventListener("resize",Ze),window.addEventListener("scroll",Ze,!0),window.addEventListener("pointermove",Ze,{passive:!0}),Ae(),()=>{ae!==null&&window.cancelAnimationFrame(ae),Ye?.disconnect(),me?.disconnect(),We?.disconnect(),window.removeEventListener("resize",Ze),window.removeEventListener("scroll",Ze,!0),window.removeEventListener("pointermove",Ze)}},[$e,D,qe.length]),O(()=>{if(!$e)return;let y=rt.current;if(!y)return;let ae=()=>{ie(!0),i(!0)},be=()=>{ie(!1),Q(null),i(!1),c?.(null)};return y.addEventListener("mouseenter",ae),y.addEventListener("mouseleave",be),()=>{y.removeEventListener("mouseenter",ae),y.removeEventListener("mouseleave",be)}},[$e,i,c]);let at=W(new Map),Be=J((y,ae)=>{ae?at.current.set(y,ae):at.current.delete(y)},[]);if(O(()=>{if(!$e)return;let y=[];for(let ae of qe){let be=at.current.get(ae.jobId);if(!be)continue;if(s){let Ze=ae.jobId,Dt=ae.threadId,me=ae.annotationIds,We=()=>s(Ze,Dt,me);be.addEventListener("click",We),y.push(()=>be.removeEventListener("click",We))}let Ye=ae.jobId,At=ae.annotationIds,Tt=()=>{Q(Ye),c?.(Ye,At)},Ae=()=>{Q(Ze=>Ze===Ye?null:Ze),c?.(null)};be.addEventListener("mouseenter",Tt),be.addEventListener("mouseleave",Ae),y.push(()=>{be.removeEventListener("mouseenter",Tt),be.removeEventListener("mouseleave",Ae)})}return()=>y.forEach(ae=>ae())},[$e,qe,s,c]),!$e)return null;let Ie={working:3,queued:2,error:1,done:0},_e=[],_t=new Map;for(let y of qe){if(!y.threadId){_e.push(y);continue}let ae=_t.get(y.threadId);(!ae||Ie[y.status]>Ie[ae.status]||Ie[y.status]===Ie[ae.status])&&_t.set(y.threadId,y)}for(let y of _t.values())_e.push(y);let wt=_e.filter(y=>y.status==="queued"),Pt=new Map;wt.forEach((y,ae)=>{Pt.set(y.jobId,`(${ae+1}/${wt.length})`)});let kt=!q&&!P&&_e.length>1,lt=Qh(D),Ke=Zh(D),jt=W0(_e,lt),Vn=Du(e.events),zt=new Map(_e.map((y,ae)=>[y.jobId,ae])),rn=!fe.current&&ne==="waiting",Oe=!fe.current&&ne==="fading",$t=ee||rn;return M("div",{ref:rt,style:{...ve,zIndex:10001,opacity:$t?0:1,visibility:$t?"hidden":"visible",pointerEvents:$t?"none":"auto",transition:Oe?`opacity ${cf}ms ease-out`:"none"},"aria-hidden":$t||void 0,"data-devtools":!0,children:[f("style",{children:`
60
+ @keyframes popmeltJobStatusEnter {
61
+ from { opacity: 0; transform: translateX(12px); }
62
+ to { opacity: 1; transform: translateX(0); }
63
+ }
64
+ @media (prefers-reduced-motion: reduce) {
65
+ @keyframes popmeltJobStatusEnter {
66
+ from { opacity: 1; transform: none; }
67
+ to { opacity: 1; transform: none; }
68
+ }
69
+ }
70
+ `}),jt.map((y,ae)=>{let be=ae===jt.length-1,Ye=zt.get(y.jobId)??ae,At=_e.length-1-Ye,Tt=I===y.jobId,Ae=Math.max(160,Math.min(360,X.w-32)),Ze=y.status==="working"&&Vn.has(y.jobId),Dt=Qe=>Ze?"Approval needed":y.status==="working"?O0(e.events.filter(Mt=>Mt.data.jobId===y.jobId),Qe):y.status==="queued"?`Queued ${Pt.get(y.jobId)??""}`:y.status==="done"?y.doneLabel||"Done":y.cancelled?"Cancelled":F0(y.errorMessage||"",Qe),me=Dt(!1),We=Dt(!0),Ve=Tt?We:me,gt=_0(Ve,3),ot=Tt&&(We!==me||gt>24);return f("div",{"data-popmelt-status-job":y.jobId,style:{position:"relative",zIndex:Ye+1,marginBottom:kt?be?0:-18:be?0:N0,transform:kt?`scale(${Math.max(.94,1-At*.02)})`:"scale(1)",opacity:1,transformOrigin:`${lt?"top":"bottom"} ${Ke?"right":"left"}`,transition:P?"none":"margin-bottom 250ms ease, transform 250ms ease, opacity 250ms ease"},children:f("div",{ref:Qe=>Be(y.jobId,Qe),style:{...jd,animation:!fe.current||V.current.has(y.jobId)?"none":jd.animation,position:"relative",overflow:"visible",cursor:s?"pointer":void 0,height:ot?"auto":Fa,minHeight:Fa,alignItems:ot?"flex-start":"center"},"aria-label":Ve,children:M("div",{style:{display:"flex",alignItems:ot?"flex-start":"center",gap:3,height:ot?"auto":Fa-Pd*2,minHeight:Fa-Pd*2,maxWidth:ot?Ae:void 0,boxSizing:"border-box",padding:ot?"3px 5px 3px 8px":"0 5px 0 8px",margin:0,backgroundColor:y.color,color:"#ffffff",borderRadius:Zc},children:[M("span",{style:{display:"flex",alignItems:ot?"flex-start":"center",gap:3,minWidth:0,opacity:L===y.jobId?.3:1,transition:"opacity 120ms ease-out"},children:[y.status==="working"&&(Ze?f(Cu,{size:12,"aria-label":"Approval needed"}):f(B0,{color:"#ffffff"})),y.status==="queued"&&f(Ys,{size:12,strokeWidth:2.25,color:"#ffffff",style:{opacity:.6}}),y.status==="done"&&(y.doneLabel==="Has a question"?f(Jg,{size:12,strokeWidth:2.25,style:{marginRight:3}}):y.doneLabel==="Replied"?f(Eu,{size:12,strokeWidth:2.25}):f(J0,{color:"#ffffff"})),y.status==="error"&&f(qg,{size:12,strokeWidth:2.25}),f("span",{style:{opacity:y.status==="queued"?.6:1,display:ot?"-webkit-box":"block",WebkitBoxOrient:ot?"vertical":void 0,WebkitLineClamp:ot?3:void 0,whiteSpace:ot?"normal":"nowrap",textWrap:ot?"balance":void 0,lineHeight:"14px",width:ot?`min(${gt+.5}ch, ${Ae-48}px)`:void 0,maxWidth:ot?Ae-48:160,overflow:"hidden",textOverflow:"ellipsis",transition:"opacity 120ms ease-out"},children:Ve})]}),y.status==="working"&&d&&f(q0,{onCancel:()=>d(y.jobId)}),(y.status==="done"||y.status==="error")&&f(U0,{onHoverChange:Qe=>F(Qe?y.jobId:null),onDismiss:()=>{F(null),N.filter(Qe=>y.threadId?Qe.threadId===y.threadId:Qe.jobId===y.jobId).forEach(Qe=>Ee.current.add(Qe.jobId)),Y(Qe=>Qe.filter(Mt=>y.threadId?Mt.threadId!==y.threadId:Mt.jobId!==y.jobId))}})]})})},y.jobId)}),p===!1&&N.length>0&&f("div",{style:jd,children:M("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:0,backgroundColor:"#f59e0b",color:"#ffffff",borderRadius:Zc},children:[f("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ffffff",opacity:.6}}),f("span",{children:"Reconnecting\u2026"})]})})]})}var X0=`
71
+ [data-popmelt-top-layer-host] {
72
+ -webkit-user-select: none;
73
+ user-select: none;
74
+ --popmelt-selection-background: #626262;
75
+ --popmelt-selection-color: #ffffff;
76
+ }
77
+ [data-popmelt-top-layer-host] * {
78
+ -webkit-user-select: none;
79
+ user-select: none;
80
+ }
81
+ [data-popmelt-top-layer-host] [data-popmelt-theme="light"] {
82
+ --popmelt-selection-background: #a3a3a3;
83
+ --popmelt-selection-color: #171717;
84
+ }
85
+ [data-popmelt-top-layer-host] ::selection {
86
+ background: var(--popmelt-selection-background);
87
+ color: var(--popmelt-selection-color);
88
+ }
89
+ [data-popmelt-top-layer-host] :is(input, textarea, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]),
90
+ [data-popmelt-top-layer-host] :is([contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]) * {
91
+ -webkit-user-select: text;
92
+ user-select: text;
93
+ }
94
+ `;function K0({children:e}){let[t,n]=j(null);return It(()=>{let r=document.createElement("div");return r.setAttribute("data-popmelt-top-layer-host",""),Object.assign(r.style,{position:"fixed",inset:"0",width:"100dvw",height:"100dvh",overflow:"visible",pointerEvents:"none",zIndex:String(2147483647)}),document.documentElement.appendChild(r),n(r),()=>r.remove()},[]),t?Ru(M(ct,{children:[f("style",{children:X0}),e]}),t):null}var V0=`
95
+ ${dg}
96
+ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
97
+ :host {
98
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
99
+ font-size: 12px;
100
+ color: #1f2937;
101
+ line-height: 1.5;
102
+ -webkit-font-smoothing: antialiased;
103
+ -webkit-user-select: none;
104
+ user-select: none;
105
+ --popmelt-selection-background: #626262;
106
+ --popmelt-selection-color: #ffffff;
107
+ }
108
+ /* Host stylesheets are mirrored for previews, including page-wide selection
109
+ colors. Keep chrome labels inert and give editable/thread text a Popmelt
110
+ selection treatment instead of inheriting the page's highlight. */
111
+ :host * {
112
+ -webkit-user-select: none;
113
+ user-select: none;
114
+ }
115
+ :host [data-popmelt-theme="light"] {
116
+ --popmelt-selection-background: #a3a3a3;
117
+ --popmelt-selection-color: #171717;
118
+ /* Keep the native scrollbar width, but soften its high-contrast light thumb. */
119
+ scrollbar-color: rgba(0, 0, 0, 0.06) transparent;
120
+ }
121
+ :host [data-popmelt-theme="dark"],
122
+ :host [data-popmelt-panel] {
123
+ scrollbar-color: auto;
124
+ }
125
+ :host ::selection {
126
+ background: var(--popmelt-selection-background);
127
+ color: var(--popmelt-selection-color);
128
+ }
129
+ :host :is(input, textarea, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]),
130
+ :host :is([contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]) * {
131
+ -webkit-user-select: text;
132
+ user-select: text;
133
+ }
134
+ /* Direct reset for all Popmelt chrome elements.
135
+ Beats broad selectors from mirrored host stylesheets (e.g. div, span, *).
136
+ Inline styles on individual elements still win (higher specificity).
137
+ color: inherit (not a fixed value) so children properly inherit inline
138
+ colors set by parents \u2014 e.g. thread header sets color:#fff, child spans
139
+ should get white, not this reset gray. */
140
+ :host *:not([data-popmelt-panel]):not([data-popmelt-panel] *):not([data-popmelt-font="sans"]):not([data-popmelt-font="sans"] *) {
141
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
142
+ font-size: 12px;
143
+ color: inherit;
144
+ line-height: 1.5;
145
+ -webkit-font-smoothing: antialiased;
146
+ }
147
+ /* Thread typography has its own role-based type system. Let descendants
148
+ inherit the nearest thread style so conversational UI can use Geist while
149
+ explicitly monospaced headers, code, and tool payloads remain monospaced. */
150
+ :host [data-devtools="thread-panel"]:not([data-popmelt-panel]) * {
151
+ font-family: inherit;
152
+ font-size: inherit;
153
+ line-height: inherit;
154
+ }
155
+ /* Break font inheritance for component previews \u2014 let mirrored host
156
+ page styles (Tailwind, globals) apply instead of Popmelt's monospace. */
157
+ [data-popmelt-panel] {
158
+ font: 16px / 1.5 system-ui, -apple-system, sans-serif;
159
+ color: initial;
160
+ -webkit-font-smoothing: auto;
161
+ }
162
+ `;function G0({children:e}){return O(()=>{sg(document)},[]),M(ct,{children:[f("style",{children:V0}),e]})}function Q0(e){return e.tagName==="STYLE"||e.tagName==="LINK"&&e.rel==="stylesheet"}function Z0(e){let t=new Map,n=e.firstChild;function r(a){if(t.has(a)||a.hasAttribute("data-pm-mirror"))return;let l=a.cloneNode(!0);l.setAttribute("data-pm-mirror",""),e.insertBefore(l,n),t.set(a,l)}function o(a){let l=t.get(a);l&&(l.remove(),t.delete(a))}for(let a of document.querySelectorAll('link[rel="stylesheet"], style'))a.getRootNode()===document&&r(a);try{document.adoptedStyleSheets.length>0&&(e.adoptedStyleSheets=[...document.adoptedStyleSheets,...e.adoptedStyleSheets])}catch{}let i=new MutationObserver(a=>{for(let l of a)if(l.type==="childList"){for(let s of l.addedNodes)s instanceof Element&&Q0(s)&&r(s);for(let s of l.removedNodes)s instanceof Element&&o(s)}});return i.observe(document.head,{childList:!0}),document.body&&i.observe(document.body,{childList:!0}),()=>{i.disconnect();for(let a of t.values())a.remove();t.clear()}}function ew({children:e,zIndex:t=1e4}){let n=W(null),[r,o]=j(null),[i,a]=j(null);return It(()=>{let l=n.current;if(!l||l.shadowRoot)return;let s=l.attachShadow({mode:"open"}),d=document.createElement("div");d.setAttribute("data-popmelt-root",""),d.setAttribute("data-popmelt-canvas-block",""),s.appendChild(d),o(s),a(d)},[]),O(()=>{if(r)return Z0(r)},[r]),M(ct,{children:[f("div",{ref:n,"data-popmelt-shadow-host":!0,style:{position:"absolute",width:0,height:0,overflow:"visible",pointerEvents:"auto",zIndex:t}}),i&&Ru(e,i)]})}function co({src:e,alt:t="",...n}){let r=typeof e=="string"&&Eg(e),[o,i]=j(null);return O(()=>{if(!r||typeof e!="string")return;let a=new AbortController,l;return Yt(e,{signal:a.signal,cache:"no-store"}).then(async s=>{if(!s.ok)return;let d=await s.blob();a.signal.aborted||(l=URL.createObjectURL(d),i({src:e,objectUrl:l}))}).catch(()=>{}),()=>{a.abort(),l&&URL.revokeObjectURL(l)}},[e,r]),f("img",{...n,alt:t,src:r?o?.src===e?o.objectUrl:void 0:e})}var pf={background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:10,padding:16},$d={background:"transparent",border:"1px solid var(--popmelt-thread-border)",borderRadius:16,color:"var(--popmelt-thread-secondary)",cursor:"pointer",fontFamily:"inherit",fontSize:11,fontWeight:650,padding:"6px 9px",textAlign:"left"};function tw({approval:e,accentColor:t,connected:n,decide:r}){let[o,i]=j(!1),[a,l]=j(!1),[s,d]=j(""),c=e.status==="pending",p=async u=>{if(!(a||!n)){l(!0),d("");try{await r(u)}catch(h){d(h instanceof Error?h.message:"Could not send decision.")}finally{l(!1)}}};return c?M("div",{"data-popmelt-approval":e.status,style:pf,children:[M("button",{type:"button","aria-expanded":o,onClick:()=>i(!o),style:{background:"none",border:0,padding:0,display:"flex",alignItems:"center",gap:8,color:"var(--popmelt-thread-primary)",font:"inherit",fontSize:14,fontWeight:650,cursor:"pointer",textAlign:"left"},children:[f(Cu,{size:16,color:t,"aria-hidden":"true"}),f("span",{style:{flex:1},children:"Permission needed"}),f(Vi,{size:14,"aria-hidden":"true",style:{transform:o?"rotate(180deg)":"none"}})]}),M("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35},children:[e.summary,e.phase==="parked"&&f("div",{role:"status",children:"Parked \xB7 other tasks can continue. Approve to run next."})]}),f("div",{title:e.cwd,style:{fontSize:11,color:"var(--popmelt-thread-muted-strong)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.cwd}),o&&M("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",paddingLeft:12,color:"var(--popmelt-thread-secondary)",fontSize:12},children:[M("div",{children:["One-time permission for this"," ",e.kind==="command"?"command":"file change","."]}),f("pre",{style:{fontSize:11,whiteSpace:"pre-wrap",overflowWrap:"anywhere",maxHeight:200,overflow:"auto",marginBottom:0},children:e.details})]}),M("div",{style:{display:"flex",gap:6},children:[f("button",{type:"button","data-approval-decision":"allow",disabled:a||!n,style:$d,onClick:()=>{p("allow")},children:"Allow once"}),f("button",{type:"button","data-approval-decision":"deny",disabled:a||!n,style:$d,onClick:()=>{p("deny")},children:"Deny"})]}),!n&&f("div",{role:"status",style:{fontSize:12},children:"Reconnecting\u2026"}),s&&f("div",{role:"alert",style:{fontSize:12},children:s})]}):f(ff,{approval:e})}function ff({approval:e}){let{status:t,phase:n,details:r,expiryReason:o}=e,i=t==="denied";return M("div",{"data-popmelt-approval":t,title:r,style:{display:"flex",alignItems:"flex-start",gap:6,color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:[f(t==="allowed"||i?Fg:Ys,{size:12,style:{flexShrink:0,marginTop:"calc(.5lh - 6px)",transform:i?"translateY(1px) rotate(180deg)":void 0}}),M("span",{style:{overflowWrap:"anywhere"},children:[t==="allowed"?n==="queued"?"Allowed once (queued)":"Allowed once":i?"Denied":o==="no_response"?"No response received":"Request expired",": ",f("em",{children:r})]})]})}function nw({bridgeUrl:e,threadId:t,visible:n,active:r,onPendingChange:o}){let[i,a]=j([]),[l,s]=j(!1),d=i.some(c=>c.threadId===t&&c.status==="pending");return O(()=>(o(d),()=>o(!1)),[o,d]),O(()=>{if(a([]),s(!1),!n)return;let c=new AbortController,p,u=async()=>{try{let h=await Yt(`${e}/approvals?threadId=${encodeURIComponent(t)}`,{signal:c.signal});if(!h.ok)throw new Error("Approval fetch failed");let m=await h.json();c.signal.aborted||(a(Array.isArray(m.approvals)?m.approvals:[]),s(!0))}catch{c.signal.aborted||s(!1)}!c.signal.aborted&&r&&(p=setTimeout(()=>{u()},1500))};return u(),()=>{c.abort(),clearTimeout(p)}},[e,t,n,r]),{approvals:i,connected:l,decide:async(c,p)=>{let u=await Yt(`${e}/approvals`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:c.id,threadId:t,jobId:c.jobId,decision:p})}),h=await u.json();if(!u.ok)throw new Error(h.error||"Could not send decision.");a(Array.isArray(h.approvals)?h.approvals:[])}}}var Dd="ui-monospace, SFMono-Regular, Menlo, monospace",rw=0;function ow({size:e=11}){let t=++rw,n=`pm-vs-m${t}`,r=`pm-vs-f0-${t}`,o=`pm-vs-f1-${t}`,i=`pm-vs-g${t}`;return M("svg",{width:e,height:e,viewBox:"0 0 100 100",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{display:"inline",verticalAlign:"middle",marginLeft:3,flexShrink:0},children:[f("mask",{id:n,style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100",height:"100",children:f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M70.9119 99.3171C72.4869 99.9307 74.2828 99.8914 75.8725 99.1264L96.4608 89.2197C98.6242 88.1787 100 85.9892 100 83.5872V16.4133C100 14.0113 98.6243 11.8218 96.4609 10.7808L75.8725 0.873756C73.7862 -0.130129 71.3446 0.11576 69.5135 1.44695C69.252 1.63711 69.0028 1.84943 68.769 2.08341L29.3551 38.0415L12.1872 25.0096C10.589 23.7965 8.35363 23.8959 6.86933 25.2461L1.36303 30.2549C-0.452552 31.9064 -0.454633 34.7627 1.35853 36.417L16.2471 50.0001L1.35853 63.5832C-0.454633 65.2374 -0.452552 68.0938 1.36303 69.7453L6.86933 74.7541C8.35363 76.1043 10.589 76.2037 12.1872 74.9905L29.3551 61.9587L68.769 97.9167C69.3925 98.5406 70.1246 99.0104 70.9119 99.3171ZM75.0152 27.2989L45.1091 50.0001L75.0152 72.7012V27.2989Z",fill:"white"})}),M("g",{mask:`url(#${n})`,children:[f("path",{d:"M96.4614 10.7962L75.8569 0.875542C73.4719 -0.272773 70.6217 0.211611 68.75 2.08333L1.29858 63.5832C-0.515693 65.2373 -0.513607 68.0937 1.30308 69.7452L6.81272 74.754C8.29793 76.1042 10.5347 76.2036 12.1338 74.9905L93.3609 13.3699C96.086 11.3026 100 13.2462 100 16.6667V16.4275C100 14.0265 98.6246 11.8378 96.4614 10.7962Z",fill:"#0065A9"}),f("g",{filter:`url(#${r})`,children:f("path",{d:"M96.4614 89.2038L75.8569 99.1245C73.4719 100.273 70.6217 99.7884 68.75 97.9167L1.29858 36.4169C-0.515693 34.7627 -0.513607 31.9063 1.30308 30.2548L6.81272 25.246C8.29793 23.8958 10.5347 23.7964 12.1338 25.0095L93.3609 86.6301C96.086 88.6974 100 86.7538 100 83.3334V83.5726C100 85.9735 98.6246 88.1622 96.4614 89.2038Z",fill:"#007ACC"})}),f("g",{filter:`url(#${o})`,children:f("path",{d:"M75.8578 99.1263C73.4721 100.274 70.6219 99.7885 68.75 97.9166C71.0564 100.223 75 98.5895 75 95.3278V4.67213C75 1.41039 71.0564 -0.223106 68.75 2.08329C70.6219 0.211402 73.4721 -0.273666 75.8578 0.873633L96.4587 10.7807C98.6234 11.8217 100 14.0112 100 16.4132V83.5871C100 85.9891 98.6234 88.1786 96.4586 89.2196L75.8578 99.1263Z",fill:"#1F9CF0"})}),f("g",{style:{mixBlendMode:"overlay"},opacity:"0.25",children:f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M70.8511 99.3171C72.4261 99.9306 74.2221 99.8913 75.8117 99.1264L96.4 89.2197C98.5634 88.1787 99.9392 85.9892 99.9392 83.5871V16.4133C99.9392 14.0112 98.5635 11.8217 96.4001 10.7807L75.8117 0.873695C73.7255 -0.13019 71.2838 0.115699 69.4527 1.44688C69.1912 1.63705 68.942 1.84937 68.7082 2.08335L29.2943 38.0414L12.1264 25.0096C10.5283 23.7964 8.29285 23.8959 6.80855 25.246L1.30225 30.2548C-0.513334 31.9064 -0.515415 34.7627 1.29775 36.4169L16.1863 50L1.29775 63.5832C-0.515415 65.2374 -0.513334 68.0937 1.30225 69.7452L6.80855 74.754C8.29285 76.1042 10.5283 76.2036 12.1264 74.9905L29.2943 61.9586L68.7082 97.9167C69.3317 98.5405 70.0638 99.0104 70.8511 99.3171ZM74.9544 27.2989L45.0483 50L74.9544 72.7012V27.2989Z",fill:`url(#${i})`})})]}),M("defs",{children:[M("filter",{id:r,x:"-8.39411",y:"15.8291",width:"116.727",height:"92.2456",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[f("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),f("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"}),f("feOffset",{}),f("feGaussianBlur",{stdDeviation:"4.16667"}),f("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),f("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),f("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),M("filter",{id:o,x:"60.4167",y:"-8.07558",width:"47.9167",height:"116.151",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[f("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),f("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"}),f("feOffset",{}),f("feGaussianBlur",{stdDeviation:"4.16667"}),f("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),f("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),f("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),M("linearGradient",{id:i,x1:"49.9392",y1:"0.257812",x2:"49.9392",y2:"99.7423",gradientUnits:"userSpaceOnUse",children:[f("stop",{stopColor:"white"}),f("stop",{offset:"1",stopColor:"white",stopOpacity:"0"})]})]})]})}var iw=/^#[0-9a-fA-F]{3,8}$/,aw=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,lw=new Set(["black","white","red","blue","green","yellow","orange","purple","pink","gray","grey","cyan","magenta","brown","navy","teal","maroon","olive","silver","aqua","fuchsia","lime"]);function sw(e){let t=e.trim();return iw.test(t)||aw.test(t)||lw.has(t.toLowerCase())}function Hd(e,t){return f("span",{style:{display:"inline-block",width:10,height:10,backgroundColor:e,border:"1px solid rgba(0,0,0,0.15)",borderRadius:2,verticalAlign:"middle",marginRight:3}},t)}function ki(e){let t=e.split(/(?<![^\s([{])(@(?:codex|claude))(?=$|[\s.,!?:;)\]}])/gi);return t.length===1?e:t.map((n,r)=>r%2?f("strong",{"data-popmelt-tool-mention":!0,children:n},r):n)}function _a(e){let t=[],n=/(`[^`]+`)|(\*\*\*(.+?)\*\*\*)|(\*\*(.+?)\*\*)|(\*(.+?)\*)|(_([^_]+?)_)|(\[([^\]]+)\]\(([^)]+)\))|(#[0-9a-fA-F]{3,8})(?![0-9a-fA-F])|((?:rgba?|hsla?|oklch)\([^)]+\))/g,r=0,o;for(;(o=n.exec(e))!==null;){if(o.index>r&&t.push(ki(e.slice(r,o.index))),o[1]){let i=o[1].slice(1,-1);sw(i)&&t.push(Hd(i,`sw-${o.index}`)),t.push(f("code",{style:{fontFamily:Dd,fontSize:"0.9em",backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",borderRadius:2},children:i},o.index))}else if(o[3]!==void 0)t.push(f("strong",{children:f("em",{children:o[3]})},o.index));else if(o[5]!==void 0)t.push(f("strong",{children:o[5]},o.index));else if(o[7]!==void 0)t.push(f("em",{children:o[7]},o.index));else if(o[9]!==void 0)t.push(f("em",{children:o[9]},o.index));else if(o[11]!==void 0&&o[12]!==void 0){let i=o[12],a=!/^https?:\/\/|^mailto:/i.test(i),l=a?`vscode://file/${i}`:i;a?t.push(M("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"underline",whiteSpace:"nowrap",backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",borderRadius:2,fontFamily:Dd,fontSize:"0.9em"},children:[o[11],f(ow,{})]},o.index)):t.push(f("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"underline"},children:o[11]},o.index))}else o[13]!==void 0?(t.push(Hd(o[13],`sw-${o.index}`)),t.push(o[13])):o[14]!==void 0&&(t.push(Hd(o[14],`sw-${o.index}`)),t.push(o[14]));r=o.index+o[0].length}return r<e.length&&t.push(ki(e.slice(r))),t}function cr(e){let t=e.split(`
163
+ `),n=[],r=0;for(;r<t.length;){let o=t[r];if(o.trimStart().startsWith("```")){let l=[];for(r++;r<t.length&&!t[r].trimStart().startsWith("```");)l.push(t[r]),r++;r++,n.push(f("pre",{style:{fontFamily:Dd,fontSize:"0.9em",lineHeight:1.4,backgroundColor:"rgba(0,0,0,0.04)",padding:"6px 8px",margin:"4px 0",overflowX:"auto",whiteSpace:"pre"},children:l.join(`
164
+ `)},n.length));continue}if(/^(-{3,}|\*{3,}|_{3,})\s*$/.test(o)){n.push(f("hr",{style:{border:"none",borderTop:"1px solid rgba(0,0,0,0.1)",margin:"6px 0"}},n.length)),r++;continue}let i=o.match(/^(#{1,4})\s+(.+)/);if(i){let l=i[1].length,s={1:16,2:14,3:13,4:12};n.push(f("div",{style:{fontWeight:700,fontSize:s[l]??12,margin:"8px 0 2px"},children:_a(i[2])},n.length)),r++;continue}if(o.trimStart().startsWith("|")&&o.trimEnd().endsWith("|")){let l=[];for(;r<t.length&&t[r].trimStart().startsWith("|")&&t[r].trimEnd().endsWith("|");)l.push(t[r]),r++;let s=g=>/^\|[\s\-:|]+\|$/.test(g),d=l.filter(g=>!s(g)),c=g=>g.split("|").slice(1,-1).map(x=>x.trim()),p=g=>/^\*\*.+\*\*$/.test(g)||/^__.+__$/.test(g),u=d.map(c),h=u.length>1&&u.slice(1).every(g=>g[0]&&p(g[0])),m=u.length>0&&u[0].every(g=>p(g));n.push(f("div",{style:{overflowX:"auto",margin:"4px 0",paddingBottom:4},children:f("table",{style:{borderCollapse:"separate",borderSpacing:0,fontSize:"0.95em",width:"max-content",minWidth:"100%"},children:f("tbody",{children:d.map((g,x)=>f("tr",{children:c(g).map((S,D)=>f(x===0?"th":"td",{style:{border:"1px solid rgba(0,0,0,0.1)",padding:"3px 6px",textAlign:"left",fontWeight:x===0?600:400,minWidth:60,whiteSpace:"nowrap",...D===0&&h||x===0&&m?{position:"sticky",...D===0&&h?{left:0}:{},...x===0&&m?{top:0}:{},background:"#fff",zIndex:D===0&&h&&x===0&&m?2:1}:{}},children:_a(S)},D))},x))})})},n.length));continue}if(o.match(/^(\s*)([-*])\s+(.+)/)){let l=[];for(;r<t.length;){let s=t[r].match(/^\s*[-*]\s+(.+)/);if(s)l.push(s[1]),r++;else if(l.length>0&&t[r].match(/^\s+\S/)&&!t[r].match(/^\s*\d+\.\s/)&&!t[r].match(/^\s*[-*]\s+/))l[l.length-1]+=" "+t[r].trim(),r++;else break}n.push(f("ul",{style:{margin:0,paddingLeft:20,listStyleType:"disc",display:"flex",flexDirection:"column",gap:8,fontSize:"inherit",lineHeight:"inherit"},children:l.map((s,d)=>f("li",{children:_a(s)},d))},n.length));continue}let a=o.match(/^(\s*)(\d+)\.\s+(.+)/);if(a){let l=a[1].length,s=parseInt(a[2],10)||1,d=[],c=null;for(;r<t.length;){let p=t[r],u=p.match(/^(\s*)(\d+)\.\s+(.+)/);if(u&&u[1].length===l)c=[u[3]],d.push(c),r++;else if(c&&p.trim()==="")r++;else if(d.length>0&&t[r].match(/^\s+\S/)&&!t[r].match(/^\s*\d+\.\s/)&&!t[r].match(/^\s*[-*]\s+/))c.push(t[r].trim()),r++;else if(c&&/^(Eval|Checks|Sources|Rationale|Prompt|Assertions?|Reason|Why|Expected|Notes?):/i.test(p.trim()))c.push(p.trim()),r++;else if(c&&c.length>1&&p.trim()&&!p.match(/^(#{1,4})\s+/)&&!p.trimStart().startsWith("|")&&!p.match(/^\s*[-*]\s+/)&&!p.match(/^\s*\d+\.\s+/)&&!/^(\*\*)?[A-Z][A-Za-z /&-]{2,40}(\*\*)?$/.test(p.trim()))c.push(p.trim()),r++;else break}n.push(f("ol",{start:s,style:{margin:0,paddingLeft:20,listStyleType:"decimal",display:"flex",flexDirection:"column",gap:8,fontSize:"inherit",lineHeight:"inherit"},children:d.map((p,u)=>f("li",{children:f("div",{style:{display:"flex",flexDirection:"column",gap:6},children:p.map((h,m)=>f("div",{children:_a(h)},m))})},u))},n.length));continue}if(o.trim()===""){r++;continue}n.push(f("div",{style:{fontSize:"inherit",lineHeight:"inherit"},children:_a(o)},n.length)),r++}return f("div",{style:{display:"flex",flexDirection:"column",fontSize:"inherit",gap:8,lineHeight:"inherit"},children:n})}var hf="<orientation>",dw="</orientation>",cw="<\\/orientation>",mf=[dw,cw];function uw(e,t){let n=t;for(;n<e.length&&/\s/.test(e[n]);)n++;if(n>=e.length)return{status:"incomplete",start:n};if(e[n]!=="{")return{status:"invalid",start:n};let r=0,o=!1,i=!1;for(let a=n;a<e.length;a++){let l=e[a];if(o){i?i=!1:l==="\\"?i=!0:l==='"'&&(o=!1);continue}if(l==='"')o=!0;else if(l==="{")r++;else if(l==="}"){if(r--,r===0)return{status:"complete",start:n,end:a+1};if(r<0)return{status:"invalid",start:n}}}return{status:"incomplete",start:n}}function Nd(e,t){if(!t)return;let n=e[e.length-1];n?.kind==="text"?n.text+=t:e.push({kind:"text",text:t})}function gf(e,t){let n=null;for(let r of mf){let o=e.indexOf(r,t);o>=0&&(!n||o<n.index)&&(n={index:o,tag:r})}return n}function pw(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(hf,n),o=gf(e,n);if(o&&(r<0||o.index<r)){Nd(t,e.slice(n,o.index)),n=o.index+o.tag.length;continue}if(r<0){Nd(t,e.slice(n));break}Nd(t,e.slice(n,r));let i=r+hf.length,a=uw(e,i);if(a.status!=="complete"){let d=gf(e,i);if(d){n=d.index+d.tag.length;continue}n=i;continue}t.push({kind:"orientation",json:e.slice(a.start,a.end)}),n=a.end;let l=n;for(;l<e.length&&/\s/.test(e[l]);)l++;let s=mf.find(d=>e.startsWith(d,l));s&&(n=l+s.length)}return t}function fw(e){return pw(e).map(t=>t.kind==="text"?t.text:`
165
+
166
+ `).join("").replace(/\n{3,}/g,`
167
+
168
+ `).trim()}function hw(e){return e.replace(/<resolution>[\s\S]*?(?:<\/resolution>|$)/g,"")}function mw(e){return e.replace(/\b([A-Za-z]{2,}[.!?])(?=[A-Z][a-z])/g,`$1
169
+
170
+ `)}function Od(e){return mw(hw(fw(e)).replace(/<question>[\s\S]*?<\/question>/g,"").replace(/<plan>[\s\S]*?<\/plan>/g,"").replace(/<review>[\s\S]*?<\/review>/g,"").replace(/<novel>[\s\S]*?<\/novel>/g,"").replace(/<eval_proposals>[\s\S]*?<\/eval_proposals>/g,"").replace(/<eval_run_result>[\s\S]*?<\/eval_run_result>/g,"").replace(/<evals>[\s\S]*?<\/evals>/g,"").replace(/<memory-review>[\s\S]*?<\/memory-review>/g,"").replace(/<memory-review-card>[\s\S]*?<\/memory-review-card>/g,"").replace(/<memory-[\s\S]*$/g,"").replace(/<imprint>[\s\S]*?<\/imprint>/g,"").replace(/<imprint>[\s\S]*$/g,"").trim())}function yf(e){return e.replace(/\s+/g," ").trim()}function gw(e,t){let n=yf(Od(t)),r=yf(e.filter(o=>o.kind==="text"&&typeof o.text=="string").map(o=>Od(o.text)).join(" "));return n===r}function yw(e){return e.kind==="tool_group"?!0:e.kind!=="text"||!("text"in e)?!1:typeof e.text=="string"&&e.text.trim().length===0}function vf(e){let t=new Set,n=null;for(let r=0;r<e.length;r++){let o=e[r];if(o.kind==="orientation"){n=r;continue}yw(o)||n!==null&&(t.add(n),n=null)}return n!==null&&t.add(n),e.filter((r,o)=>r.kind!=="orientation"||t.has(o))}var vw="popmelt-thread-composer-draft",Jl={text:"",selectionStart:0,selectionEnd:0,selectionDirection:"none"};function bf(){if(!(typeof window>"u"))return window.localStorage}function xf(e){return`${vw}:${e}`}function bw(e,t=bf()){if(!t)return Jl;try{let n=t.getItem(xf(e));if(!n)return Jl;if(!n.startsWith("{"))return{text:n,selectionStart:n.length,selectionEnd:n.length,selectionDirection:"none"};let r=JSON.parse(n);if(typeof r.text!="string")return Jl;let o=Math.max(0,Math.min(r.text.length,Number(r.selectionStart)||0)),i=Math.max(o,Math.min(r.text.length,Number(r.selectionEnd)||0)),a=r.selectionDirection==="forward"||r.selectionDirection==="backward"?r.selectionDirection:"none";return{text:r.text,selectionStart:o,selectionEnd:i,selectionDirection:a}}catch{return Jl}}function Fd(e,t,n=bf(),r={selectionStart:t.length,selectionEnd:t.length,selectionDirection:"none"}){if(n)try{let o=xf(e);t.length>0?n.setItem(o,JSON.stringify({text:t,selectionStart:r.selectionStart,selectionEnd:r.selectionEnd,selectionDirection:r.selectionDirection})):n.removeItem(o)}catch{}}function xw(e,t,n){return n?.activePreview?n.annotationNumber:e??t}function ww(e,t){return e?.trim()?e.trim():Ry(t.find(n=>n.role==="human"))}function Sw(e,t){if(!t)return e;let n=e.findIndex(r=>r.role==="human"&&r.execution==="none"&&r.jobId===`suggestion-${t}`);return n<0?e:e.slice(n+1).some(r=>r.role==="human"&&r.execution!=="none"&&!r.replyToQuestion&&!!(r.screenshotUrl||Object.values(r.screenshotUrls??{}).some(Boolean))&&!!(r.requestText?.trim()||r.requestItems?.length||r.feedbackSummary?.trim()))?e.filter((r,o)=>o!==n):e}var _d=280,ql=e=>`${e.jobId}:${e.role}:${e.timestamp}`;function Iw(e,t,n,r){let o=`${n}:${t??""}`,i=Se(()=>Sw(e,t),[e,t]),a=e.find(u=>u.role==="human"&&u.execution==="none"&&u.jobId===`suggestion-${t}`),l=i.length<e.length,s=Se(()=>{if(!a||l)return i;let u=e.indexOf(a);return e.filter((h,m)=>m<=u||h.role==="assistant"||h.execution==="none"||!!h.replyToQuestion)},[e,a,l,i]),[d,c]=j({scope:o,phase:"idle",seenKeys:[]});if(d.scope!==o)c({scope:o,phase:"idle",seenKeys:[]});else if(d.phase==="idle"){if(l)c({...d,phase:d.seedKey?"preparing":"done"});else if(a){let u=s.map(ql);u.join("|")!==d.seenKeys.join("|")&&c({...d,seenKeys:u,seedKey:ql(a)})}}It(()=>{if(d.phase!=="preparing")return;let u=Array.from(r.current?.querySelectorAll('[data-suggestion-handoff="incoming"] img')??[]),h=new Set(u.filter(S=>!S.getAttribute("src")||!S.complete)),m=()=>c(S=>({...S,phase:window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?"done":"animating"})),g=S=>{h.delete(S.target),h.size||m()};h.forEach(S=>{S.addEventListener("load",g),S.addEventListener("error",g)});let x=window.setTimeout(m,1500);return h.size||m(),()=>{window.clearTimeout(x),u.forEach(S=>{S.removeEventListener("load",g),S.removeEventListener("error",g)})}},[r,d.phase,o]),It(()=>{if(d.phase!=="animating")return;let u=window.setTimeout(()=>c(h=>({...h,phase:"done"})),_d);return()=>window.clearTimeout(u)},[d.phase,o]);let p=d.phase==="preparing"||d.phase==="animating";return{messages:p?e:s,replacementReady:l,phase:d.phase,motion:u=>{if(!p)return;let h=ql(u);if(h===d.seedKey)return"outgoing";if(!d.seenKeys.includes(h))return"incoming"}}}function kw(e){return e==="Bash"?"terminal":e==="Edit"||e==="Write"?"pencil":e==="ImageGen"?"image":"tool"}function Tw(e){let t=new Map;for(let n of e){let r=kw(n.tool),o=t.get(r)??{kind:r,count:0,groups:[]};o.count+=n.items.length,o.groups.push(n),t.set(r,o)}return[...t.values()]}function Ew(e,t,n){return e&&t!==n}function Aw(e){let t=new Set;for(let n of e){if(n.type!=="image_generation")continue;let r=n.data.itemId;typeof r=="string"&&(n.data.phase==="started"&&t.add(r),n.data.phase==="completed"&&t.delete(r))}return t.size>0}var ln=Fs,Cw=350,Mw=200,Rw=120,Jo=14,Lw=hl(()=>import("./QueuedReplies-ZYUDSTS2.mjs").then(e=>({default:e.QueuedReplies}))),Pw=hl(()=>import("./ThreadErrorCard-5ADUBZKJ.mjs")),wf=360,jw=0,zw=!1,$w=8,Dw="devtools-thread-panel-position",Hw=wf+2*jw;function qo(){let e=window.visualViewport;return{width:e?.width??window.innerWidth,height:e?.height??window.innerHeight}}function Wa(e=qo().width){let t=gi(e);return Math.max(t,e-Mc(e)-t)}function Wd(e="right"){let{width:t}=qo(),n=gi(t);return{top:n,left:e==="left"?n:Wa(t)}}function Sf(e,t,n){let{width:r,height:o}=qo(),i=gi(r),a=n?.getBoundingClientRect(),l=0,s=o-i-l;return a&&t+Hw>a.left&&(s=a.top-$w-l),Math.max(200,s-Math.max(0,e))}var Nw={width:wf,backgroundColor:"var(--popmelt-thread-surface)",backgroundClip:"padding-box",borderWidth:1,borderStyle:"solid",borderColor:"var(--popmelt-thread-border)",boxSizing:"border-box",display:"flex",flexDirection:"column",overflow:"visible",padding:4,borderRadius:"16px 16px 20px 20px",backdropFilter:"blur(59.5px)",fontFamily:ln,fontSize:14,color:"var(--popmelt-thread-primary)",pointerEvents:"auto"},If="ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",Ow={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"6px 12px",margin:0,fontWeight:600,fontSize:12,fontFamily:If,lineHeight:1.2,overflow:"hidden",position:"absolute",top:4,left:4,right:4,borderRadius:10,zIndex:2},Fw={flex:1,overflowY:"auto",padding:"32px 12px 112px",display:"flex",flexDirection:"column",gap:32,scrollbarGutter:"stable"},_w={background:"var(--popmelt-thread-raised)",border:"1px solid var(--popmelt-thread-border)",borderRadius:16,display:"flex",flexDirection:"column",overflow:"hidden"},la={color:"var(--popmelt-thread-primary)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,wordBreak:"break-word"},Bd=16,Ww={...la,background:"var(--popmelt-thread-control)",borderRadius:Bd,boxSizing:"border-box",color:"var(--popmelt-thread-muted-strong)",maxWidth:"100%",padding:12,width:"fit-content"};function Bw({name:e,text:t,style:n,queued:r}){let o=W(null);It(()=>{let a=o.current;if(!a||r)return;let l=()=>{a.style.width="fit-content";let p=a.ownerDocument.createRange();p.selectNodeContents(a);let u=a.getBoundingClientRect(),h=p.getBoundingClientRect();if(!h.width||!u.width)return;let m=getComputedStyle(a),g=parseFloat(m.width)/u.width,x=Math.ceil((h.right-u.left)*g+parseFloat(m.paddingRight));x<parseFloat(m.width)&&(a.style.width=x+"px")};l();let s=a.closest('[data-devtools="thread-panel-messages"]');if(!s)return;let d=-1,c=new ResizeObserver(([p])=>{p&&p.contentRect.width!==d&&(d=p.contentRect.width,l())});return c.observe(s),()=>c.disconnect()},[t,r]);let i=e.toLowerCase();return M("div",{role:"group","aria-label":`Note from ${e}, assistant`,style:{display:"flex",alignItems:"flex-end",gap:6,minWidth:0},children:[f("span",{title:e,"aria-hidden":"true",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,flexShrink:0,borderRadius:"50%",background:"var(--popmelt-thread-control)",color:"var(--popmelt-thread-secondary)",fontSize:12},children:i==="codex"||i==="claude"?f(vs,{provider:i,size:14}):e.slice(0,1).toUpperCase()}),f("div",{ref:o,title:r?t:void 0,style:{...n,minWidth:0,fontFamily:If,fontSize:r?12:13},children:!r&&t.includes(`
171
+ `)?cr(t):ki(t)})]})}function Ba(e){return Od(e)}function Jw({patterns:e}){let[t,n]=j(!1);return M("div",{style:{marginTop:2},children:[M("button",{type:"button","aria-expanded":t,onClick:()=>n(r=>!r),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-secondary)",cursor:"pointer",display:"inline-flex",fontFamily:ln,fontSize:12,gap:2,lineHeight:1,padding:0,textAlign:"left"},children:[M("span",{children:["Model details \xB7 ",e.length]}),f(Vi,{"aria-hidden":"true",color:"var(--popmelt-thread-muted)",size:14,strokeWidth:1.5,style:{transform:t?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),t&&f("div",{style:{display:"flex",flexDirection:"column",gap:4,marginTop:8},children:e.map((r,o)=>M("div",{style:{background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:12,padding:16},children:[M("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[M("div",{style:{alignItems:"center",display:"flex",gap:8},children:[f(gl,{"aria-hidden":"true",color:"#e51a1a",size:16,strokeWidth:1.5,style:{flexShrink:0}}),f("strong",{style:{color:"var(--popmelt-thread-primary)",fontSize:14,fontWeight:500,letterSpacing:"0.14px",lineHeight:1.3},children:r.element})]}),f("div",{style:{padding:"0 7px"},children:f("div",{style:{alignItems:"center",borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,padding:"6px 16px 8px"},children:r.decision})})]}),f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,letterSpacing:"0.12px",lineHeight:1.3},children:r.reason})]},`${r.category}:${r.element}:${o}`))})]})}function qw({memoryReview:e}){let[t,n]=j(!1),r=(e.acceptedTruth?.decisions.length??0)+e.packets.length;return M("div",{children:[M("button",{type:"button","aria-expanded":t,onClick:()=>n(o=>!o),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"inline-flex",fontFamily:ln,fontSize:12,gap:4,padding:0,textAlign:"left"},children:[M("span",{children:["Decision history \xB7 ",r]}),f(Us,{"aria-hidden":"true",size:12,strokeWidth:1.5,style:{transform:t?"rotate(90deg)":"none",transition:"transform 120ms ease"}})]}),t&&M("div",{style:{borderLeft:"2px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-secondary)",display:"flex",flexDirection:"column",fontSize:12,gap:10,lineHeight:1.45,marginTop:8,padding:"2px 0 2px 12px"},children:[e.acceptedTruth?.decisions.map(o=>M("div",{children:[f("div",{children:o.claim}),M("div",{style:{color:o.effectiveState==="conflicted"?"#b45309":"var(--popmelt-thread-muted)",fontSize:11,marginTop:2},children:[o.kind," \xB7 ",o.effectiveState," \xB7"," ",o.implementation," \xB7 ",o.verification,o.freshness.length?` \xB7 review: ${o.freshness.join(", ")}`:""]})]},o.id)),e.acceptedTruth?.conflicts.map(o=>M("div",{style:{color:"#92400e"},children:["Conflict: ",o.unresolvedQuestion]},o.id)),e.packets.map(o=>M("div",{children:[f("div",{children:o.claim}),M("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11,marginTop:2},children:[o.presentation==="surface_before_action"?"Confirm before applying":"Advisory",o.evidenceCount>0?` \xB7 ${o.evidenceCount} evidence reference${o.evidenceCount===1?"":"s"}`:""]})]},o.packetId)),(e.truncated||e.acceptedTruth?.truncated)&&f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11},children:"More relevant history is available."})]})]})}function Ja(e){let t=new Date(e),n=new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",hour12:!0}).formatToParts(t),r=n.find(u=>u.type==="hour")?.value??"",o=String(Number.parseInt(r,10)||0),i=n.find(u=>u.type==="minute")?.value??"00",a=(n.find(u=>u.type==="dayPeriod")?.value??"").toUpperCase(),l=`${o}:${i}${a}`,s=`${o}:${i}${a?` ${a}`:""}`,d=new Date;if(t.getFullYear()===d.getFullYear()&&t.getMonth()===d.getMonth()&&t.getDate()===d.getDate())return l;let c=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()),p=Date.UTC(d.getFullYear(),d.getMonth(),d.getDate());return Math.floor((p-c)/864e5)>=7?`${new Intl.DateTimeFormat(void 0,{month:"numeric",day:"numeric",year:"2-digit"}).format(t)}, ${s}`:`${new Intl.DateTimeFormat(void 0,{weekday:"long"}).format(t)}, ${l}`}var Uw=250;function Yw({color:e}){let[t,n]=j(0);return O(()=>{let r=setInterval(()=>n(o=>(o+1)%2),Uw);return()=>clearInterval(r)},[]),M("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[f("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0,opacity:.6},children:t===1?M(ct,{children:[f("circle",{cx:"7",cy:"7",r:"2"}),f("circle",{cx:"17",cy:"7",r:"2"}),f("circle",{cx:"7",cy:"17",r:"2"}),f("circle",{cx:"17",cy:"17",r:"2"})]}):M(ct,{children:[f("circle",{cx:"12",cy:"6",r:"2"}),f("circle",{cx:"6",cy:"12",r:"2"}),f("circle",{cx:"18",cy:"12",r:"2"}),f("circle",{cx:"12",cy:"18",r:"2"})]})}),f("span",{style:{fontSize:14,color:"var(--popmelt-thread-muted-strong)"},children:"Thinking"})]})}var kf=32,Jd=80,Xw=Bd/2,Kw={width:kf,height:kf,objectFit:"cover",cursor:"pointer",border:"1px solid var(--popmelt-thread-hairline)"},Ti={...Kw,borderRadius:Xw,height:Jd,width:Jd};function Vw(e){let t=/^`(\/[^`]*)`$/gm,n=[...e.matchAll(t)];if(n.length===0)return null;let r=[];for(let o=0;o<n.length;o++){let i=n[o],a=i[1],l=i.index+i[0].length,s=o+1<n.length?n[o+1].index:e.length,d=e.slice(l,s).trim();r.push({route:a,text:d})}return r}function Gw(e,t){let n=[];if(e.replyImageUrls)for(let r of e.replyImageUrls){let o=r.startsWith("blob:")||r.startsWith("http")?r:`${t}${r}`;n.push({url:o,label:"pasted image"})}return n}function uo(e,t){return/^(?:blob:|data:|https?:\/\/)/.test(t)?t:`${e}${t}`}function Qw(e,t){let n=[];if(e.imageUrls)for(let[,r]of Object.entries(e.imageUrls))for(let o of r)n.push({url:uo(t,o),label:"pasted image"});return n}function Zw({src:e,onClose:t}){return O(()=>{let n=r=>{r.key==="Escape"&&(r.stopPropagation(),t())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t]),f("div",{onClick:t,style:{position:"fixed",inset:0,zIndex:1e5,backgroundColor:"rgba(0,0,0,0.8)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"zoom-out"},children:f(co,{src:e,alt:"Attached image preview",onClick:n=>n.stopPropagation(),style:{maxWidth:"90vw",maxHeight:"90vh",objectFit:"contain",cursor:"default",boxShadow:"0 4px 24px rgba(0,0,0,0.4)"}})})}function Tf({src:e,onLightbox:t}){return f("button",{type:"button","aria-label":"Open generated image",onClick:()=>t(e),style:{background:"transparent",border:0,cursor:"zoom-in",display:"block",maxWidth:"100%",padding:0},children:f(co,{src:e,alt:"Generated image preview",style:{borderRadius:8,display:"block",maxHeight:240,maxWidth:"100%",objectFit:"contain"}})})}function eS(e){let t=String(e.data.tool||""),n=e.data.file?String(e.data.file):null,r=n?n.split("/").pop()??n:null,o=e.data.content?String(e.data.content):null;switch(t){case"Read":return r?`Reading ${r}`:"Reading file";case"Edit":return r?`Editing ${r}`:"Editing file";case"Write":return r?`Writing ${r}`:"Writing file";case"Bash":return o?tS(o):"Running command";case"Glob":return"Searching files";case"Grep":return"Searching code";case"WebFetch":return"Fetching page";case"WebSearch":return"Searching web";case"ImageGen":return"Generating image";default:return o??(t?`Using ${t}`:null)}}function tS(e){let t=e.split(`
172
+ `)[0].trim();return t.length<=60?t:t.slice(0,57)+"\u2026"}var nS={focus_set:"Focused",focus_shifted:"Focus shifted",evidence_updated:"Evidence updated",hypothesis_changed:"Working approach changed",assumption_abandoned:"Assumption dropped",uncertainty_identified:"Uncertainty identified",next_observation_selected:"Checking next"};function Ef({orientation:e}){let t=e.snapshot.update??e.snapshot.seeking??e.snapshot.nextObservation;return M("div",{style:{borderLeft:"2px solid var(--popmelt-thread-hairline)",color:"var(--popmelt-thread-secondary)",display:"flex",flexDirection:"column",fontSize:12,gap:2,lineHeight:1.35,paddingLeft:10},children:[M("span",{children:[f("span",{style:{color:"var(--popmelt-thread-primary)",fontWeight:550},children:nS[e.transition]})," \xB7 ",e.snapshot.focus]}),t&&t!==e.snapshot.focus&&f("span",{style:{opacity:.72},children:t})]})}function rS(e){let t=[];for(let n of e){if(n.type==="approval"){let r=n.data.approval,o=t.find(i=>i.kind==="approval"&&i.approval.id===r.id);o?.kind==="approval"?o.approval=r:t.push({kind:"approval",approval:r});continue}if(n.type==="image_ready"){let r=String(n.data.url||"");r.startsWith("/files/")&&t.push({kind:"generated_image",url:r});continue}if(n.type==="tool_use"){let r=eS(n),o=String(n.data.tool||""),i=n.data.file?String(n.data.file):null,a=n.data.content?String(n.data.content):null,l=i??a??void 0;if(r){let s=t[t.length-1];s&&s.kind==="tool_group"&&s.tool===o?s.items.push({label:r,detail:l,...i?{filePath:i}:{}}):t.push({kind:"tool_group",tool:o,items:[{label:r,detail:l,...i?{filePath:i}:{}}]})}if(a&&i){let s=i.includes(".")?`.${i.split(".").pop().toLowerCase()}`:"",d=i.includes(".claude/plans/");t.push({kind:"file_content",file:i,content:a,ext:s,isPlan:d})}}else if(n.type==="delta"){let r=String(n.data.text||"");if(!r)continue;let o=t[t.length-1];o&&o.kind==="text"?o.text+=r:t.push({kind:"text",text:r})}else if(n.type==="thinking"){let r=String(n.data.text||"");if(!r)continue;let o=t[t.length-1];o&&o.kind==="thinking"?o.text+=r:t.push({kind:"thinking",text:r})}else if(n.type==="status"){let r=String(n.data.text||"").trim();if(!r)continue;let o=t.findIndex(i=>i.kind==="status");o>=0&&t.splice(o,1),t.push({kind:"status",text:r})}else if(n.type==="orientation"){let r=n.data.orientation;r?.snapshot?.focus&&t.push({kind:"orientation",orientation:r})}}return t}function oS({file:e,content:t,ext:n,isPlan:r,onAccept:o}){let[i,a]=j(r),l=e.split("/").pop()??e;return M("div",{style:{margin:"4px 0 4px 12px",border:"1px solid var(--popmelt-thread-hairline)",backgroundColor:"var(--popmelt-thread-raised)",fontSize:11},children:[M("div",{onClick:()=>a(s=>!s),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",cursor:"pointer",userSelect:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",color:"var(--popmelt-thread-primary)"},children:[f("span",{style:{fontSize:9,color:"var(--popmelt-thread-muted)"},children:i?"\u25BC":"\u25B6"}),f("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:l}),r&&f("span",{style:{fontSize:9,color:"#6366f1",fontFamily:"inherit"},children:"plan"})]}),i&&M(ct,{children:[f("div",{style:{maxHeight:300,overflowY:"auto",padding:"6px 10px",borderTop:"1px solid var(--popmelt-thread-soft-hairline)",lineHeight:1.5,wordBreak:"break-word"},children:n===".md"?cr(t):f("pre",{style:{margin:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"pre-wrap"},children:t})}),r&&o&&f("div",{style:{padding:"4px 8px",borderTop:"1px solid var(--popmelt-thread-soft-hairline)",display:"flex",justifyContent:"flex-end"},children:f("button",{onClick:s=>{s.stopPropagation(),o()},style:{background:"#111",color:"#fff",border:"none",padding:"4px 12px",fontSize:11,cursor:"pointer",fontFamily:"inherit"},children:"Accept"})})]})]})}function iS(e){return/\b(?:bash|command|terminal)\b/i.test(e)?"Bash":/\b(?:edit|edited|editing)\b/i.test(e)?"Edit":/\b(?:write|wrote|writing)\b/i.test(e)?"Write":/\b(?:read|reading)\b/i.test(e)?"Read":/\b(?:grep|search(?:ed|ing)?)\b/i.test(e)?"Grep":"Tool"}function Af(e){let t=new Map;for(let n of e){let r=t.get(n.tool);r?r.items.push(...n.items):t.set(n.tool,{...n,items:[...n.items]})}return[...t.values()]}function Ul(e){let t=e.filePath??e.detail;return t&&(t.startsWith("/")||/^[A-Za-z]:[\\/]/.test(t))?t:void 0}function aS(e,t){return(e==="Read"||e==="Edit"||e==="Write")&&t.some(n=>Ul(n))?t.filter(n=>Ul(n)).filter((n,r,o)=>o.findIndex(i=>Ul(i)===Ul(n))===r):t}function Cf(e){return Tw(e.map(t=>({...t,items:aS(t.tool,t.items)})))}function Yl(e,t){if(!t||typeof window>"u")return;let n=e.closest('[data-devtools="thread-panel"]');if(!n)return;let r=n.getBoundingClientRect(),o=e.getBoundingClientRect(),i=n.querySelector("[data-popmelt-thread-header]"),a=t.querySelector("[data-popmelt-tool-receipt-scroll]");if(t.style.left=`${r.left+8-o.left}px`,t.style.width=`${Math.max(0,r.width-16)}px`,i){let l=i.getBoundingClientRect(),s=Math.max(0,Math.floor(o.top-l.bottom-16));t.style.setProperty("--popmelt-tool-receipt-max-height",`${s}px`)}else t.style.removeProperty("--popmelt-tool-receipt-max-height");t.dataset.ready="true",requestAnimationFrame(()=>{a&&qa(a)})}function qa(e){let t=e.closest("[data-popmelt-tool-receipt-tooltip]");if(!t)return;let n=e.scrollTop>1,r=e.scrollTop+e.clientHeight<e.scrollHeight-1;t.toggleAttribute("data-overflow-top",n),t.toggleAttribute("data-overflow-bottom",r)}function Mf({receipt:e,animateCount:t=!1}){let n=e.kind==="terminal"?$g:e.kind==="pencil"?Dg:e.kind==="image"?Hg:Ng,r=e.kind==="terminal"?"Terminal used":e.kind==="pencil"?"Files changed":e.kind==="image"?"Images generated":e.groups.length===1?`${e.groups[0].tool} used`:"Tools used",o=e.groups.map(d=>`${d.tool} (${d.items.length})`).join(", "),i=W(null),a=W(null),l=W(null),s=W(0);return O(()=>{let d=s.current;if(d===e.count)return;s.current=e.count;let c=i.current,p=a.current;if(!c)return;let u=typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;c.getAnimations().forEach(h=>h.cancel()),p?.getAnimations().forEach(h=>h.cancel()),!(u||!Ew(t,d,e.count))&&(c.animate([{color:"var(--popmelt-thread-muted)"},{color:"var(--popmelt-thread-primary)",offset:.18},{color:"var(--popmelt-thread-primary)",offset:.52},{color:"var(--popmelt-thread-muted)"}],{duration:720,easing:"ease-out"}),p&&p.animate([{opacity:0,transform:"translate(-50%, 4px) scale(0.72)"},{opacity:1,transform:"translate(-50%, 0) scale(1.08)",offset:.14},{opacity:1,transform:"translate(-50%, 0) scale(1)",offset:.24},{opacity:1,transform:"translate(-50%, 0) scale(1)",offset:.72},{opacity:0,transform:"translate(-50%, -7px) scale(0.94)"}],{duration:1050,easing:"ease-out",fill:"both"}))},[t,e.count]),O(()=>{let d=l.current;if(!d)return;let c=requestAnimationFrame(()=>{let p=d.querySelector("[data-popmelt-tool-receipt-scroll]");p&&qa(p)});return()=>cancelAnimationFrame(c)},[e]),M("span",{"data-popmelt-tool-receipt-trigger":!0,onMouseEnter:d=>Yl(d.currentTarget,l.current),onFocusCapture:d=>Yl(d.currentTarget,l.current),style:{display:"inline-flex",flexShrink:0,position:"relative"},children:[M("button",{ref:i,type:"button","aria-label":`Inspect tool activity: ${o}`,style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-muted)",cursor:"pointer",display:"inline-flex",flexShrink:0,height:18,justifyContent:"center",padding:0,position:"relative",transition:"color 100ms ease",width:18},children:[f(n,{"aria-hidden":"true",color:"currentColor","data-popmelt-tool-receipt-icon":!0,size:14,strokeWidth:1.5}),e.count>1&&M("span",{ref:a,"data-popmelt-tool-count":!0,style:{alignItems:"center",background:"var(--popmelt-thread-action)",borderRadius:9,color:"var(--popmelt-thread-on-action)",display:"flex",fontFamily:ln,fontSize:12,fontWeight:500,height:18,justifyContent:"center",letterSpacing:"-0.1px",minWidth:18,padding:"0 5px",pointerEvents:"none",position:"absolute",bottom:"calc(100% + 3px)",left:"50%",opacity:0,transform:"translate(-50%, -7px) scale(0.94)"},children:[e.count,"x"]})]}),M("span",{ref:l,role:"tooltip","data-popmelt-tool-receipt-tooltip":!0,style:{background:"var(--popmelt-thread-raised)",borderRadius:16,bottom:"100%",boxSizing:"border-box",color:"var(--popmelt-thread-primary)",left:0,overflow:"hidden",pointerEvents:"auto",position:"absolute",width:0,zIndex:20},children:[M("span",{"data-popmelt-tool-receipt-scroll":!0,onScroll:d=>qa(d.currentTarget),style:{display:"flex",flexDirection:"column",gap:8,maxHeight:"var(--popmelt-tool-receipt-max-height, 190px)",overflowY:"auto",padding:"14px 15px"},children:[M("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:6,lineHeight:1.3,opacity:.65},children:[f(n,{"aria-hidden":"true",color:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),f("span",{children:r})]}),e.groups.map(d=>M("span",{style:{display:"flex",flexDirection:"column",gap:7,padding:"6px 0"},children:[M("span",{style:{fontSize:11,fontWeight:500,lineHeight:1.3,opacity:.65},children:[d.tool," \xB7 ",d.items.length]}),d.items.map((c,p)=>f("span",{style:{fontSize:14,fontWeight:400,lineHeight:1.3,whiteSpace:"normal"},children:c.label},`${c.label}-${p}`))]},d.tool))]}),f("span",{"data-popmelt-tool-receipt-scrim":"top","aria-hidden":"true"}),f("span",{"data-popmelt-tool-receipt-scrim":"bottom","aria-hidden":"true"})]})]})}function Rf(e){let t=new Map;for(let n of e)t.has(n.id)||t.set(n.id,n);return[...t.values()]}function lS(e){let t=Rf(e.flatMap(n=>n.type!=="imprint_used"?[]:n.data.usage?.explanations??[]));return t.length>0?{updated:!1,explanations:t}:void 0}function sS(e,t){let n=new Map(t.flatMap(s=>s.imprintContext?[[s.jobId,s.imprintContext]]:[])),r=[],o,i,a=!1;for(let s of e){let d=s.imprintSummary;if(d){a=!0,o=d.title,i=d.detail;for(let u of d.changes)r.push({id:u.explanationId,statement:u.statement,state:u.state})}let c=n.get(s.jobId),p=new Set([...s.imprintUsedExplanationIds??[],...s.imprintAppliedExplanationIds??[],...s.imprintRecognition?[s.imprintRecognition.explanationId]:[]]);for(let u of p){let h=c?.explanations.find(m=>m.id===u);h?r.push(h):s.imprintRecognition?.explanationId===u&&r.push({id:u,kind:"pattern",statement:s.imprintRecognition.statement,state:"grounded",scope:{kind:"project",values:[]}})}}let l=Rf(r);if(!(!a&&l.length===0))return{updated:a,title:o,detail:i,explanations:l}}function dS(e){return e==="testing"||e==="emerging"?"Emerging":e.charAt(0).toUpperCase()+e.slice(1)}function Lf(e){return e?e.charAt(0).toUpperCase()+e.slice(1):void 0}function Pf({receipt:e,accentColor:t}){let n=e.updated?"Imprint updated":"Imprint used",r=W(null);return O(()=>{let o=r.current;if(!o)return;let i=requestAnimationFrame(()=>{let a=o.querySelector("[data-popmelt-tool-receipt-scroll]");a&&qa(a)});return()=>cancelAnimationFrame(i)},[e]),M("span",{"data-popmelt-tool-receipt-trigger":!0,onMouseEnter:o=>Yl(o.currentTarget,r.current),onFocusCapture:o=>Yl(o.currentTarget,r.current),style:{display:"inline-flex",flexShrink:0,position:"relative"},children:[f("button",{type:"button","aria-label":`Inspect ${n.toLowerCase()}`,style:{alignItems:"center",background:"transparent",border:0,color:e.updated?t:"var(--popmelt-thread-muted)",cursor:"pointer",display:"inline-flex",flexShrink:0,height:18,justifyContent:"center",padding:0,transition:"color 100ms ease",width:18},children:f(io,{"aria-hidden":"true",color:"currentColor",size:14,strokeWidth:1.5})}),M("span",{ref:r,role:"tooltip","data-popmelt-tool-receipt-tooltip":!0,style:{background:"var(--popmelt-thread-raised)",borderRadius:16,bottom:"100%",boxSizing:"border-box",color:"var(--popmelt-thread-primary)",left:0,overflow:"hidden",pointerEvents:"auto",position:"absolute",width:0,zIndex:20},children:[M("span",{"data-popmelt-tool-receipt-scroll":!0,onScroll:o=>qa(o.currentTarget),style:{display:"flex",flexDirection:"column",gap:8,maxHeight:"var(--popmelt-tool-receipt-max-height, 190px)",overflowY:"auto",padding:"14px 15px"},children:[M("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:6,lineHeight:1.3,opacity:.65},children:[f(io,{"aria-hidden":"true",color:e.updated?t:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),f("span",{children:n})]}),e.title&&f("span",{style:{fontSize:14,fontWeight:500,lineHeight:1.3},children:e.title}),e.detail&&f("span",{style:{fontSize:12,fontWeight:400,lineHeight:1.45,opacity:.72},children:e.detail}),e.explanations.map(o=>M("span",{style:{display:"flex",flexDirection:"column",gap:7,padding:"6px 0"},children:[M("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:4,lineHeight:1.3,opacity:.65},children:[f("span",{children:dS(o.state)}),Lf(o.kind)&&f("span",{style:{opacity:.72},children:Lf(o.kind)})]}),f("span",{style:{fontSize:14,fontWeight:400,lineHeight:1.3,whiteSpace:"normal"},children:o.statement}),o.scope?.values.length?f("span",{style:{fontSize:11,fontWeight:400,lineHeight:1.3,opacity:.5},children:o.scope.values.join(" \xB7 ")}):null]},o.id))]}),f("span",{"data-popmelt-tool-receipt-scrim":"top","aria-hidden":"true"}),f("span",{"data-popmelt-tool-receipt-scrim":"bottom","aria-hidden":"true"})]})]})}function cS({summary:e,accentColor:t,busy:n,onAction:r}){let o=!!e.resolvedAction,[i,a]=j(!!(e.grounding&&!o)),l={...$d,cursor:n?"default":"pointer",fontFamily:ln};return M("div",{style:pf,children:[M("button",{type:"button","aria-expanded":i,onClick:()=>a(s=>!s),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"flex",fontFamily:ln,fontSize:14,fontWeight:650,gap:8,padding:0,textAlign:"left",width:"100%"},children:[f(io,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),M("span",{style:{flex:1},children:["Imprint ",e.kind,": ",e.title]}),f(Vi,{"aria-hidden":"true",size:14,strokeWidth:1.5,style:{transform:i?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),i&&M(ct,{children:[M("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35,padding:"4px 12px"},children:[e.detail,e.additionalObservationCount?M("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11,marginTop:4},children:["Updated with ",e.additionalObservationCount," additional"," ",e.additionalObservationCount===1?"observation":"observations","."]}):null]}),e.changes.map(s=>M("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,lineHeight:1.35},children:[f("div",{children:s.statement}),M("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:10,marginTop:2},children:[s.action," \xB7 ",s.state]})]},`${s.explanationId}:${s.action}`)),e.grounding&&!o&&f("div",{style:{color:"var(--popmelt-thread-primary)",fontSize:13,lineHeight:1.35,marginTop:2},children:e.grounding.question}),o?M("div",{style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:11,gap:6},children:[f(xi,{"aria-hidden":"true",color:t,size:12,strokeWidth:2}),e.resolvedAction==="no"?"Correction requested":`Feedback applied: ${e.resolvedAction==="yes"?"Yes":"This time"}`]}):e.grounding?M("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[f("button",{disabled:n,onClick:()=>r("yes"),style:l,children:"Yes"}),f("button",{disabled:n,onClick:()=>r("this_time"),style:l,children:"This time"}),f("button",{disabled:n,onClick:()=>r("no"),style:l,children:"No"})]}):null]})]})}function uS({receipt:e,accentColor:t}){let[n,r]=j(!0);return M("div",{style:{background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:10,padding:16},children:[M("button",{type:"button","aria-expanded":n,onClick:()=>r(o=>!o),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"flex",fontFamily:ln,fontSize:14,fontWeight:650,gap:8,padding:0,textAlign:"left",width:"100%"},children:[f(io,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),M("span",{style:{flex:1},children:["Existing Imprint reapplied: ",e.title]}),f(Vi,{"aria-hidden":"true",size:14,strokeWidth:1.5,style:{transform:n?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),n&&M(ct,{children:[f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35,padding:"4px 12px"},children:e.detail}),M("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,lineHeight:1.35},children:[f("div",{children:e.statement}),f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:10,marginTop:2},children:"recognized \xB7 grounded"})]}),M("div",{style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:11,gap:6},children:[f(xi,{"aria-hidden":"true",color:t,size:12,strokeWidth:2}),"Shared understanding unchanged"]})]})]})}function pS({card:e,accentColor:t,busy:n,resolved:r,superseded:o,onAction:i}){let[a,l]=j(!1),[s,d]=j(e.claim),[c,p]=j(!1),[u,h]=j(!1),[m,g]=j(!1),[x,S]=j(null),D=W(null);O(()=>{l(!1),d(e.claim),p(!1),h(!1),g(!1),S(null)},[e.claim,e.proposalId]),O(()=>{if(!a)return;let V=D.current;V&&(V.focus(),V.select(),V.style.height="auto",V.style.height=`${V.scrollHeight}px`)},[a]);let H=J(()=>{let V=s.trim();d(V||e.claim),l(!1),p(!1)},[e.claim,s]),w=J(()=>{d(e.claim),l(!1),p(!1)},[e.claim]),z=s.trim()!==e.claim.trim(),Z=r||o,k=e.title;return r?M("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[M("button",{type:"button","aria-expanded":m,onClick:()=>g(V=>!V),style:{alignItems:"center",alignSelf:"flex-start",background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"inline-flex",fontFamily:ln,fontSize:14,fontWeight:400,gap:6,letterSpacing:"0.14px",lineHeight:1.35,padding:0,textAlign:"left"},children:[f(io,{"aria-hidden":"true",color:t,size:14,strokeWidth:1.5}),M("span",{style:{alignItems:"center",display:"inline-flex",gap:2},children:[f("span",{children:k}),f(Vi,{"aria-hidden":"true",size:12,strokeWidth:1.5,style:{transform:m?"rotate(180deg)":"rotate(0deg)",transition:"transform 120ms ease"}})]})]}),m&&M(ct,{children:[f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,marginLeft:7,padding:"6px 16px 8px"},children:s}),f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,marginLeft:7,padding:"6px 16px 8px"},children:e.rationale}),e.scope?M("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35},children:["Scope: ",e.scope]}):null]})]}):M("div",{style:{border:"1px solid var(--popmelt-thread-border)",background:"var(--popmelt-thread-soft)",borderRadius:24,padding:16,display:"flex",flexDirection:"column",gap:12},children:[M("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:14,fontWeight:600,gap:8,letterSpacing:"0.14px",lineHeight:1.3},children:[f(io,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),f("span",{children:k})]}),a&&!Z?f("textarea",{ref:D,value:s,disabled:n,onChange:V=>{d(V.target.value),V.currentTarget.style.height="auto",V.currentTarget.style.height=`${V.currentTarget.scrollHeight}px`},onBlur:H,onKeyDown:V=>{V.key==="Enter"&&!V.shiftKey?(V.preventDefault(),H()):V.key==="Escape"&&(V.preventDefault(),V.stopPropagation(),w())},rows:1,style:{resize:"none",overflow:"hidden",outline:"none",boxSizing:"border-box",border:0,borderLeft:"1px solid var(--popmelt-thread-border)",background:"var(--popmelt-thread-soft-hairline)",color:"var(--popmelt-thread-muted-strong)",cursor:"text",fontFamily:ln,fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"0 7px",padding:"6px 16px 8px",width:"calc(100% - 14px)"}}):f("button",{type:"button",disabled:Z||n,onClick:()=>l(!0),onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),onFocus:()=>p(!0),onBlur:()=>p(!1),style:{border:0,borderLeft:"1px solid var(--popmelt-thread-border)",background:c&&!Z?"var(--popmelt-thread-soft-hairline)":"transparent",color:"var(--popmelt-thread-muted-strong)",cursor:Z?"default":"text",fontFamily:ln,fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"0 7px",padding:"6px 16px 8px",textAlign:"left",width:"calc(100% - 14px)"},children:s}),M("div",{style:{color:"var(--popmelt-thread-primary)",fontSize:14},children:[M("button",{type:"button","aria-expanded":u,onClick:()=>h(V=>!V),style:{alignItems:"center",border:0,background:"transparent",color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"inline-flex",gap:2,fontFamily:ln,fontSize:14,fontWeight:400,letterSpacing:"0.14px",lineHeight:1.3,margin:0,opacity:u?1:.35,padding:0},children:[f("span",{children:"Why?"}),u?f(Vi,{"aria-hidden":"true",size:10,strokeWidth:2.5}):f(Us,{"aria-hidden":"true",size:10,strokeWidth:2.5})]}),u?M(ct,{children:[f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"8px 7px 0",padding:"6px 16px 8px"},children:e.rationale}),e.scope?M("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35,marginTop:8},children:["Scope: ",e.scope]}):null]}):null]}),o?f("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,fontWeight:700},children:"Refined in a later review card"}):M("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)",gap:6,alignItems:"stretch"},children:[M("button",{type:"button",disabled:n,onClick:()=>i("reject"),onMouseEnter:()=>{n||S("reject")},onMouseLeave:()=>S(null),style:{...Ud,alignItems:"center",background:"var(--popmelt-thread-control)",border:0,borderRadius:16,color:"var(--popmelt-thread-primary)",display:"flex",justifyContent:"space-between",padding:"8px 12px",width:"100%",fontSize:12,transition:"background-color 120ms ease"},children:[f("span",{children:"Reject"}),f(yl,{"aria-hidden":"true",color:"#dd4141",size:12,strokeWidth:2.5})]}),M("button",{type:"button",disabled:n||!s.trim(),onClick:()=>i(z?"edit_and_accept":"accept",z?s.trim():void 0),onMouseEnter:()=>{!n&&s.trim()&&S("accept")},onMouseLeave:()=>S(null),style:{...qd,alignItems:"center",background:x==="accept"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderColor:x==="accept"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderRadius:24,color:"var(--popmelt-thread-on-action)",display:"flex",justifyContent:"space-between",padding:"8px 12px",width:"100%",fontSize:12,opacity:n||!s.trim()?.45:1,transition:"background-color 120ms ease, border-color 120ms ease"},children:[f("span",{children:z?"Adopt edited":"Adopt"}),f(xi,{"aria-hidden":"true",color:"#61c920",size:12,strokeWidth:3})]})]})]})}function fS({stepCount:e}){return M("div",{"data-thread-interaction-episode-receipt":!0,style:{...la,alignItems:"center",alignSelf:"flex-end",color:"var(--popmelt-thread-muted-strong)",display:"inline-flex",gap:6,paddingBlock:4},children:[f(Og,{"aria-hidden":!0,color:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),M("span",{children:[e," recorded ",e===1?"action":"actions"," sent"]})]})}function hS({frames:e,onLightbox:t}){return e.length===0?null:f("div",{"data-thread-interaction-episode-visuals":!0,style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:e.map(n=>M("button",{type:"button","aria-label":`View ${n.label.toLowerCase()}`,title:n.label,onClick:()=>t(n.url),style:{background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",font:"inherit",padding:0,textAlign:"right"},children:[f(co,{src:n.url,alt:"",style:{...Ti,display:"block"}}),f("span",{style:{display:"block",fontSize:10,marginTop:2,maxWidth:Jd,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:n.label})]},n.id))})}var jf=Rg(function({msg:e,index:t,bridgeUrl:n,accentColor:r,onLightbox:o,hideSender:i=!1,hideTimestamp:a=!1,hideModelSenderUntilHover:l=!1,compactSpacing:s=!1,queuedPreview:d=!1,workedFor:c="a moment",activityTimestamp:p,memoryReviewBusy:u=!1,memoryReviewResolved:h=!1,memoryReviewSuperseded:m=!1,foldedActivityMessages:g=[],underMessageActivity:x,onMemoryReviewAction:S,onImprintAction:D}){let H=e.replyToQuestion&&e.authorPeer?.kind==="assistant"?e.authorPeer:void 0,w=e.role==="human",z=Hr(il),Z=e.authorPeer?e.authorPeer.id===z?.participantId?"You":e.authorPeer.name==="You"?"Host":e.authorPeer.name:z&&!z.canManageThreads&&!e.jobId.startsWith("_pending_reply_")?"Host":"You",[k,V]=j(!1),N=d?12:Bd,Y={...Ww,borderRadius:N,...d?{padding:"2px 10px",fontSize:12,lineHeight:"24px",letterSpacing:"0.12px",width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{},[H?"borderBottomLeftRadius":"borderBottomRightRadius"]:N/2},q=w?e.replyToQuestion?Gw(e,n):e.requestItems?.length?[]:Qw(e,n):[];if(e.cancelled||e.error)return f("div",{"data-msg":!0,style:{padding:0},children:f(ml,{fallback:"Loading recovery\u2026",children:f(Pw,{message:e,bridgeUrl:n,canSignIn:!!z?.canManageThreads})})},`${e.jobId}-${t}`);let ie=e.requestText||e.feedbackSummary||"(annotation)",I=e.requestText?Dy(e.requestText):ie,Q=!!(w&&!e.replyToQuestion&&e.requestText&&e.requestText.trim()!==I.trim()),L=w?e.replyToQuestion||(k?ie:I):Ba(e.responseText||""),F=(ve,Fe=Y)=>M("div",{style:Fe,children:[ve.includes(`
173
+ `)?cr(ve):ki(ve),Q&&f("button",{type:"button","aria-expanded":k,onClick:()=>V(qe=>!qe),style:{background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"block",fontFamily:"inherit",fontSize:12,fontWeight:600,marginTop:8,opacity:.72,padding:0,textAlign:"left"},children:k?"Show less":"Read more"})]}),R=w?void 0:e.question,$=w?[]:(e.resolutions??[]).filter(ve=>ve.status!=="resolved"),P=$.length>0,A=!w&&e.segments&&e.segments.length>0,ne=A?vf(e.segments):[],re=!!(!w&&A&&L&&!gw(e.segments,e.responseText??"")),ee=[...g,e],oe=w?[]:ee.flatMap(ve=>(ve.segments??[]).filter(Fe=>Fe.kind==="tool_group")),U=w?[]:ee.flatMap(ve=>ve.segments?.length?[]:(ve.toolsUsed??[]).map(Fe=>({kind:"tool_group",tool:iS(Fe),items:[{label:Fe}]}))),fe=Af([...oe,...U]),ge=Cf(fe),K=!!(ee.some(ve=>ve.memoryReceipt?.status==="committed")||x?.decisionRecorded),Te=x?.imprintReceipt,Me=!!x?.modelUpdated,Ee=ge.length>0||K||Me||!!Te,Ge=w&&!!(e.memoryReview?.packets.length||e.memoryReview?.acceptedTruth?.decisions.length),X=!w&&!!(e.memoryReceipt&&e.memoryReceipt.status!=="committed"),Ne=!w&&(!i||!a);return!L&&!R&&!P&&!A&&!Ge&&!e.memoryReviewCard&&!e.imprintSummary&&!X&&!Ee?null:M("div",{"data-msg":!0,"data-queued-preview":d||void 0,style:{alignSelf:H?"flex-start":w?"flex-end":"stretch",display:"flex",flexDirection:"column",gap:16,marginTop:s?-24:0,padding:0,position:"relative",maxWidth:w?280:void 0,width:w?"fit-content":"auto",...d?{width:"100%",minWidth:0,maxWidth:"100%"}:{}},children:[Ne&&f("div",{"data-under-message-rail":l?"hover":"latest",style:{alignItems:"center",alignSelf:"stretch",display:"flex",gap:4,marginTop:l?0:16,order:2,...l?{left:0,paddingTop:7,position:"absolute",right:0,top:"100%",zIndex:1}:{},width:"100%"},children:w?M(ct,{children:[!a&&f("span",{"data-message-timestamp":!0,style:{fontSize:12,fontWeight:400,color:"var(--popmelt-thread-muted)"},children:Ja(e.timestamp)}),!i&&f("span",{style:{color:r,fontSize:12,fontWeight:500,marginLeft:"auto",opacity:.55},children:Z})]}):M(ct,{children:[f("div",{"data-worked-for-trigger":!0,style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-muted)",cursor:"default",display:"flex",fontFamily:ln,fontSize:14,padding:0,textAlign:"left"},children:M("span",{style:{display:"grid"},children:[M("span",{"data-worked-for-label":!0,style:{gridArea:"1 / 1",textAlign:"left"},children:["Worked for ",c]}),!a&&f("span",{"data-worked-for-time":!0,style:{gridArea:"1 / 1",justifySelf:"start",opacity:0,textAlign:"left"},children:Ja(p??e.timestamp)})]})}),f("div",{style:{alignItems:"center",display:"flex",marginLeft:"auto",minHeight:14},children:M("div",{"data-message-activity":!0,style:{alignItems:"center",color:"var(--popmelt-thread-muted)",display:"flex",gap:6},children:[fe.length>0&&f("div",{style:{alignItems:"center",display:"flex",gap:6},children:ge.map(ve=>f(Mf,{receipt:ve},ve.kind))}),K&&f(io,{"aria-label":"Decision recorded",color:r,size:14,strokeWidth:1.5}),Me&&f(gl,{"aria-label":"Model updated",color:"var(--popmelt-thread-muted)",size:14,strokeWidth:1.5}),Te&&f(Pf,{receipt:Te,accentColor:r})]})})]})}),w&&!a&&f("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,position:"absolute",...H?{left:28}:{right:0},top:"calc(100% + 8px)"},children:Ja(e.timestamp)}),q.length>0&&f("div",{style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:q.map((ve,Fe)=>f(co,{src:ve.url,alt:ve.label||"Attached image",title:ve.label,style:Ti,onClick:()=>o(ve.url)},Fe))}),w&&!e.replyToQuestion&&(()=>{if(e.requestItems?.length){let qe=new Set(e.requestItems.flatMap(ce=>ce.pathname?[ce.pathname]:[])).size>1,je=new Set,$e=e.screenshotUrl?uo(n,e.screenshotUrl):null;return M("div",{"data-thread-request-cluster":!0,style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:4,width:"100%"},children:[$e&&!e.screenshotUrls?f(co,{src:$e,alt:"Thread screenshot",title:"screenshot",style:{...Ti,flexShrink:0},onClick:()=>o($e)}):null,e.requestItems.map((ce,rt)=>{let at=ce.pathname,Be=at&&!je.has(at)?e.screenshotUrls?.[at]:void 0;at&&je.add(at);let Ie=Be?uo(n,Be):null,_e=ce.kind==="annotation"&&ce.annotationId?e.imageUrls?.[ce.annotationId]??[]:[],_t=ce.kind==="annotation"?e.annotationSnapshot?.annotations.find(Ke=>Ke.id===ce.annotationId)?.interactionEpisode:void 0,wt=Ly(_t,_e).map(Ke=>({...Ke,url:uo(n,Ke.url)})),Pt=new Set(wt.map(Ke=>Ke.imageIndex)),kt=_e.flatMap((Ke,jt)=>Pt.has(jt)?[]:[uo(n,Ke)]),lt=ce.kind==="annotation"?ce.interactionEpisodeStepCount??_t?.steps.length??0:0;return M(Lg,{children:[Ie?f(co,{src:Ie,alt:`Screenshot for ${at}`,title:at,style:{...Ti,flexShrink:0},onClick:()=>o(Ie)}):null,kt.length>0?f("div",{style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:kt.map((Ke,jt)=>f(co,{src:Ke,alt:"Attached image",title:"pasted image",style:Ti,onClick:()=>o(Ke)},jt))}):null,f(hS,{frames:wt,onLightbox:o}),lt>0?f(fS,{stepCount:lt}):null,M("div",{style:{...Y,minWidth:0},children:[qe&&at?f("code",{style:{backgroundColor:"var(--popmelt-thread-soft-hairline)",display:"inline-block",fontSize:10,marginBottom:4,padding:"1px 4px"},children:at}):null,ce.kind==="annotation"?ce.text.includes(`
174
+ `)?cr(ce.text):ki(ce.text):M(ct,{children:[M("div",{style:{fontWeight:600},children:[ce.elementLabel," ",M("span",{style:{opacity:.64},children:["(",ce.changes.length," ",ce.changes.length===1?"change":"changes",")"]})]}),f("div",{style:{marginTop:6},children:ce.changes.map((Ke,jt)=>f("div",{style:{marginTop:jt===0?0:3},children:Ke},jt))})]})]})]},`${ce.kind}-${rt}`)})]})}let ve=L?Vw(L):null;if(ve&&e.screenshotUrls)return f("div",{style:{display:"flex",flexDirection:"column",gap:4},children:ve.map((qe,je)=>{let $e=e.screenshotUrls?.[qe.route],ce=$e?uo(n,$e):null;return M("div",{style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[ce?f(co,{src:ce,alt:`Screenshot for ${qe.route}`,title:qe.route,style:{...Ti,flexShrink:0},onClick:()=>o(ce)}):null,M("div",{style:{...Y,minWidth:0},children:[f("code",{style:{fontSize:10,backgroundColor:"var(--popmelt-thread-soft-hairline)",padding:"1px 4px"},children:qe.route}),qe.text&&f("div",{style:{marginTop:2},children:cr(qe.text)})]})]},je)})});let Fe=e.screenshotUrl?uo(n,e.screenshotUrl):null;return Fe&&L?M("div",{style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[f(co,{src:Fe,alt:"Thread screenshot",title:"screenshot",style:{...Ti,flexShrink:0},onClick:()=>o(Fe)}),F(L,{...Y,minWidth:0})]}):L?F(L):null})(),w&&e.replyToQuestion&&L&&(H?f(Bw,{name:H.name,queued:d,text:L,style:Y}):f("div",{style:Y,title:d?L:void 0,children:!d&&L.includes(`
175
+ `)?cr(L):ki(L)})),e.chatDelivery&&M("span",{style:{alignSelf:"flex-end",display:"inline-flex",alignItems:"center",gap:4,color:"var(--popmelt-thread-muted)",fontSize:12},children:[f(Eu,{size:12,"aria-hidden":"true"}),e.chatDelivery==="claude-inbox"?"Sent to Claude":"Sent to Codex"]}),Ge&&f(qw,{memoryReview:e.memoryReview}),!w&&A&&ne.map((ve,Fe)=>{if(ve.kind==="approval")return f(ff,{approval:ve.approval},ve.approval.id);if(ve.kind==="tool_group")return null;if(ve.kind==="generated_image")return f(Tf,{src:uo(n,ve.url),onLightbox:o},Fe);if(ve.kind==="orientation")return f(Ef,{orientation:ve.orientation},Fe);if(re)return null;let qe=Ba(ve.text);return qe?f("div",{style:la,children:cr(qe)},Fe):null}),!w&&!A&&L&&f("div",{style:la,children:cr(L)}),!w&&re&&L&&f("div",{style:la,children:cr(L)}),!w&&e.memoryReviewCard&&S&&f(pS,{card:e.memoryReviewCard,accentColor:r,busy:u,resolved:h,superseded:m,onAction:(ve,Fe)=>S(e.memoryReviewCard,ve,Fe)}),!w&&e.imprintSummary&&D&&f(cS,{summary:e.imprintSummary,accentColor:r,busy:u,onAction:ve=>D(e.imprintSummary,ve)}),!w&&e.imprintRecognition&&f(uS,{receipt:e.imprintRecognition,accentColor:r}),X&&e.memoryReceipt&&M("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[e.memoryReceipt.status==="committed"?f(io,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}):f(yl,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),f("span",{style:{opacity:.5},children:e.memoryReceipt.status==="committed"?"Decision recorded":"Decision not recorded"})]}),R&&f("div",{style:la,children:cr(R)}),P&&f("div",{style:{backgroundColor:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35,marginTop:-4,padding:16},children:$.map((ve,Fe)=>M("div",{children:[f("span",{style:{color:ve.status==="resolved"?"#10b981":"#f59e0b"},children:ve.status==="resolved"?"Done":"Needs review"}),ve.summary?` \u2014 ${ve.summary}`:""]},Fe))}),!w&&e.modelDetails?.length?f(Jw,{patterns:e.modelDetails}):null]},`${e.jobId}-${t}`)});function zf(e,t){return!t||e.role!=="human"||t.role!=="human"||e.authorPeer?.id!==t.authorPeer?.id||!e.replyToQuestion||!t.replyToQuestion?!1:e.jobId===t.jobId||e.timestamp-t.timestamp<6e4}function $f(e,t){if(!t||e.timestamp<=t.timestamp)return"a moment";let n=ty((e.segments??[]).flatMap(s=>s.kind==="approval"?[s.approval]:[]),t.timestamp,e.timestamp),r=Math.max(1,Math.round((e.timestamp-t.timestamp-n)/1e3));if(r<60)return`${r}s`;let o=Math.floor(r/60),i=r%60;if(o<60)return`${o}m${i?` ${i}s`:""}`;let a=Math.floor(o/60),l=o%60;return[`${a}h`,l?`${l}m`:"",i?`${i}s`:""].filter(Boolean).join(" ")}function mS(e,t){if(e.role!=="assistant"||e.cancelled||e.error)return!1;let n=Ba(e.responseText??"").trim(),r=(e.segments??[]).some(i=>i.kind==="approval"?!0:i.kind==="tool_group"?!1:i.kind==="generated_image"||i.kind==="orientation"?!0:Ba(i.text).trim().length>0),o=!!(n||e.question||e.resolutions?.length||e.memoryReviewCard||e.imprintSummary||r);return!!(e.memoryReceipt?.status==="committed"||e.toolsUsed?.length||e.segments?.some(i=>i.kind==="tool_group")||t)&&!o}function Df(e,t){return t.status==="applied"?t.applicationMode==="automatic"&&t.presentationJobId?e.jobId===t.presentationJobId:e.jobId===`apply-${t.id}`:t.status==="dismissed"?e.jobId===`dismiss-${t.id}`:t.presentationJobId?e.jobId===t.presentationJobId:t.runId&&e.jobId===t.runId?!0:!t.runId&&e.role==="assistant"&&!!e.responseText?.includes("Model suggestion ready")}function Or(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function Xl(e){if(e===void 0)return"undefined";try{return JSON.stringify(e)}catch{return String(e)}}function Kl(e,t){return Xl(e)===Xl(t)}function sa(e){if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`${e.length} item${e.length===1?"":"s"}`;if(Or(e)){let t=Object.keys(e);return typeof e.value=="string"||typeof e.value=="number"?String(e.value):`{ ${t.slice(0,4).join(", ")}${t.length>4?", ...":""} }`}return String(e)}function gS(e,t){let n=e;for(let r of t){if(!n||typeof n!="object")return;n=n[String(r)]}return n}function Hf(e,t,n,r){if(!Or(e)){Kl(e,t)||r.push({id:`token:${n.join(".")}`,group:"tokens",label:n.join("."),detail:sa(e),path:n,value:e,currentValue:t});return}if("value"in e){Kl(e,t)||r.push({id:`token:${n.join(".")}`,group:"tokens",label:n.join("."),detail:sa(e),path:n,value:e,currentValue:t});return}for(let o of Object.keys(e))Hf(e[o],Or(t)?t[o]:void 0,[...n,o],r)}function yS(e,t){if(t.changes?.length)return t.changes.map(s=>{let d=s.path[0],c=d==="rules"||d==="components"||d==="tokens"?d:"model";return{id:s.id,group:c,label:s.label??s.path.map(String).join("."),detail:s.rationale,path:s.path,value:s.value,decisionIds:s.decisionIds,currentValue:gS(e,s.path)}});let n=t.proposedModel;if(!n)return[];let r=[],o=Array.isArray(e?.rules)?e.rules:[],i=Array.isArray(n.rules)?n.rules:[];for(let s=0;s<i.length;s++){let d=i[s];if(!Or(d))continue;let c=typeof d.id=="string"?d.id:`rule-${s}`,p=o.find(u=>Or(u)&&(typeof u.id=="string"&&u.id===c||Xl(u)===Xl(d)));Kl(p,d)||r.push({id:`rule:${c}`,group:"rules",label:typeof d.scope=="string"?d.scope:"rule",detail:typeof d.text=="string"?d.text:sa(d),path:["rules"],value:d,currentValue:p,ruleValue:d})}let a=Or(n.components)?n.components:{},l=Or(e?.components)?e.components:{};for(let s of Object.keys(a)){let d=a[s],c=l[s];Kl(d,c)||r.push({id:`component:${s}`,group:"components",label:s,detail:sa(d),path:["components",s],value:d,currentValue:c})}return Or(n.tokens)&&Hf(n.tokens,e?.tokens,["tokens"],r),r}function vS(e,t,n){let r=t.filter(a=>n.has(a.id)),o=r.filter(a=>a.group==="rules"&&a.ruleValue),i=r.filter(a=>!a.ruleValue).map(a=>({path:a.path,value:a.value,decisionIds:a.decisionIds}));if(o.length>0){let a=Array.isArray(e?.rules)?[...e.rules]:[];for(let l of o){let s=l.ruleValue,d=Or(s)&&typeof s.id=="string"?s.id:null,c=d?a.findIndex(p=>Or(p)&&p.id===d):-1;c>=0?a[c]=s:a.push(s)}i.push({path:["rules"],value:a,decisionIds:[...new Set(o.flatMap(l=>l.decisionIds??[]))]})}return i}function bS(e){return(e.selectedChanges??[]).flatMap((t,n)=>{if(!t.label&&!t.detail)return[];let r=t.group==="rules"||t.group==="components"||t.group==="tokens"||t.group==="model"?t.group:"model";return[{id:`selected:${e.id}:${n}`,group:r,label:t.label??r,detail:t.detail??sa(t.value),path:t.path??[],value:t.value,currentValue:t.currentValue}]})}function xS({proposal:e,timestamp:t,bridgeUrl:n,accentColor:r,busy:o,onApplySelected:i,onDismiss:a,onReviewUnderlying:l,hideModelSenderUntilHover:s=!1}){let d=e.authorityStatus==="accepted",c=e.status==="pending"&&d,[p,u]=j(null),[h,m]=j(()=>new Set),[g,x]=j(null),S=Se(()=>{let q=bS(e);return!c&&q.length>0?q:yS(p,e)},[p,c,e]),D=Se(()=>vS(p,S,h),[S,p,h]),H=Se(()=>S.filter(q=>h.has(q.id)),[S,h]),w=Se(()=>{let q={rules:[],components:[],tokens:[],model:[]};for(let ie of S)q[ie.group].push(ie);return q},[S]),z=S.map(q=>q.id).join("|");O(()=>{let q=!1;return Yt(`${n}/model`).then(ie=>ie.ok?ie.json():null).then(ie=>{q||u(ie?.model&&typeof ie.model=="object"?ie.model:null)}).catch(()=>{q||u(null)}),()=>{q=!0}},[n,e.id]),O(()=>{m(c&&z?new Set(z.split("|")):new Set)},[z,c,e.id]);let Z=J(q=>{m(ie=>{let I=new Set(ie);return I.has(q)?I.delete(q):I.add(q),I})},[]),k=J(()=>{m(new Set(S.map(q=>q.id)))},[S]),V=J(()=>{m(new Set)},[]),N=`${S.length} ${S.length===1?"change":"changes"}`,Y=S.length===1?`1 ${S[0]?.group==="rules"?"rule":S[0]?.group==="components"?"component":S[0]?.group==="tokens"?"token":"change"}`:N;return e.status==="applied"?M("div",{"data-msg":!0,style:{display:"flex",flexDirection:"column",gap:16,position:"relative"},children:[M("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[M("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[f(io,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),f("span",{style:{opacity:.5},children:"Decision recorded"})]}),M("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[f(gl,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),f("span",{style:{opacity:.5},children:"Model updated"})]})]}),M("div",{style:{alignItems:"center",display:"flex",gap:4,marginTop:s?0:16,...s?{left:0,position:"absolute",right:0,top:"calc(100% + 7px)",zIndex:1}:{}},children:[M("span",{"data-model-sender":"sender",style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:12,fontWeight:500,gap:4},children:[f(vs,{provider:e.provider,size:12,style:{color:"var(--popmelt-thread-muted-strong)"}}),f("span",{children:Wc(e.model,e.provider)})]}),f("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,marginLeft:"auto"},children:Ja(t)})]})]}):M("div",{"data-msg":!0,style:{display:"flex",flexDirection:"column",gap:16,position:"relative"},children:[M("div",{style:{background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,padding:16,display:"flex",flexDirection:"column",gap:12},children:[e.status==="dismissed"?M("div",{style:{alignItems:"center",display:"flex",gap:6,opacity:.45},children:[f(yl,{"aria-hidden":"true",size:16,strokeWidth:2.5}),f("span",{style:{fontSize:14,fontWeight:600},children:"Model suggestion dismissed"})]}):M("div",{style:{alignItems:"center",display:"flex",gap:8},children:[f(gl,{"aria-hidden":"true",color:r,size:16,strokeWidth:2}),f("span",{style:{fontSize:14,fontWeight:600},children:"Model suggestion"})]}),e.status==="pending"&&d&&S.length>0&&M("div",{style:{alignItems:"center",display:"flex",fontSize:14,lineHeight:1.35,marginTop:4},children:[f("span",{style:{fontWeight:600},children:Y}),M("div",{style:{display:"flex",gap:12,marginLeft:"auto"},children:[f("button",{type:"button",disabled:o,onClick:k,style:{background:"transparent",border:0,cursor:"pointer",fontFamily:ln,fontSize:12,fontWeight:600,color:"var(--popmelt-thread-muted-strong)",padding:0},children:"Select all"}),f("button",{type:"button",disabled:o,onClick:V,style:{background:"transparent",border:0,cursor:"pointer",fontFamily:ln,fontSize:12,fontWeight:600,color:"var(--popmelt-thread-muted-strong)",padding:0},children:"Clear"})]})]}),e.status==="pending"&&f(ct,{children:S.length>0?f("div",{style:{display:"flex",flexDirection:"column",gap:8,marginTop:4},children:["rules","components","tokens","model"].flatMap(q=>w[q]).map(q=>{let ie=h.has(q.id);return M("label",{style:{alignItems:"start",color:c&&!ie?"var(--popmelt-thread-secondary)":"var(--popmelt-thread-primary)",columnGap:8,cursor:c?"pointer":"default",display:"grid",fontSize:14,gridTemplateColumns:c?"14px minmax(0, 1fr)":"minmax(0, 1fr)",lineHeight:1.35,padding:"0 0 8px 12px"},children:[c&&f("input",{type:"checkbox",checked:ie,disabled:o,onChange:()=>Z(q.id),style:{WebkitAppearance:"none",appearance:"none",margin:"1px 0 0",width:14,height:14,backgroundColor:ie?r:"transparent",border:`1px solid ${ie?r:"rgba(0,0,0,0.34)"}`,boxSizing:"border-box",cursor:o?"default":"pointer"}}),M("span",{style:{minWidth:0},children:[f("span",{style:{fontWeight:700},children:q.label}),M("span",{children:[" \u2014 ",q.detail]}),q.currentValue!==void 0&&M("span",{style:{display:"block",marginTop:2,opacity:.5},children:["was ",sa(q.currentValue)]})]})]},q.id)})}):f("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,lineHeight:1.4},children:"No concrete model diff could be derived from this proposal."})}),!d&&e.status==="pending"&&f("div",{style:{color:"#92400e",background:"rgba(180,83,9,0.06)",border:"1px solid rgba(180,83,9,0.2)",padding:8,fontSize:12,lineHeight:1.4},children:f("strong",{children:"A competing product decision is pending"})}),e.status==="pending"&&d&&M("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[M("button",{type:"button",disabled:o,onClick:a,onMouseEnter:()=>{o||x("reject")},onMouseLeave:()=>x(null),style:{...Ud,alignItems:"center",background:"var(--popmelt-thread-control)",border:0,color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,justifyContent:"space-between",padding:"8px 12px",transition:"background-color 120ms ease"},children:[f("span",{children:"Reject"}),f(yl,{"aria-hidden":"true",color:"#dd4141",size:12,strokeWidth:2.5})]}),M("button",{type:"button",disabled:o||D.length===0,onClick:()=>i(e,D,H),onMouseEnter:()=>{!o&&D.length>0&&x("confirm")},onMouseLeave:()=>x(null),style:{...qd,alignItems:"center",display:"flex",fontSize:12,background:g==="confirm"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderColor:g==="confirm"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",color:"var(--popmelt-thread-on-action)",justifyContent:"space-between",padding:"8px 12px",opacity:o||D.length===0?.45:1,cursor:o||D.length===0?"not-allowed":"pointer",transition:"background-color 120ms ease, border-color 120ms ease"},children:[f("span",{children:"Confirm"}),f(xi,{"aria-hidden":"true",color:"#61c920",size:12,strokeWidth:3})]})]}),e.status==="pending"&&!d&&M("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[f("button",{type:"button",disabled:o,onClick:a,style:Ud,children:"Dismiss"}),f("button",{type:"button",disabled:o||!e.underlyingProposalId,onClick:l,style:{...qd,opacity:e.underlyingProposalId?1:.45},children:"Review decision"})]})]}),M("div",{style:{alignItems:"center",display:"flex",gap:4,marginTop:s?0:16,...s?{left:0,position:"absolute",right:0,top:"calc(100% + 7px)",zIndex:1}:{}},children:[M("span",{"data-model-sender":"sender",style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:12,fontWeight:500,gap:4},children:[f(vs,{provider:e.provider,size:12,style:{color:"var(--popmelt-thread-muted-strong)"}}),f("span",{children:Wc(e.model,e.provider)})]}),f("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,marginLeft:"auto"},children:Ja(t)})]})]})}var qd={border:"1px solid var(--popmelt-thread-action)",borderRadius:24,background:"var(--popmelt-thread-action)",color:"var(--popmelt-thread-on-action)",cursor:"pointer",fontFamily:ln,fontSize:12,fontWeight:700,padding:"6px 8px"},Ud={border:"1px solid var(--popmelt-thread-border)",borderRadius:16,background:"transparent",color:"var(--popmelt-thread-secondary)",cursor:"pointer",fontFamily:ln,fontSize:12,fontWeight:700,padding:"6px 8px"};function wS({onAttentionChange:e,threadId:t,bridgeUrl:n,accentColor:r,initialMessages:o=[],completedJobId:i,refreshKey:a,isStreaming:l,isQueued:s,queuePosition:d,activeJobId:c,streamingEvents:p,onClose:u,onReply:h,onContribute:m,onApproveSuggestion:g,onCancel:x,canManage:S=!0,readOnlyReason:D,lastError:H,onMouseEnter:w,temporarilyHidden:z=!1,instantVisibilityHandoff:Z=!1,backdropCursor:k,toolbarRef:V,surfaceRef:N,currentModel:Y,currentProvider:q,availableProviders:ie=[],models:I=[],modelIndex:Q=0,agentSettings:L,onProviderChange:F,onModelChange:R,onAgentSettingsChange:$,onModelMenuOpen:P,annotationNumber:A,annotationText:ne,onPreviousThread:re,onNextThread:ee,preferredSide:oe="right",modal:U=!0}){let[fe,,ge]=_s(),K=Ws[fe],Te={"--popmelt-thread-surface":K.surface,"--popmelt-thread-raised":K.raisedSurface,"--popmelt-thread-soft":K.softSurface,"--popmelt-thread-control":K.control,"--popmelt-thread-primary":K.threadPrimary,"--popmelt-thread-secondary":K.secondary,"--popmelt-thread-muted":K.muted,"--popmelt-thread-muted-strong":K.mutedStrong,"--popmelt-thread-border":K.border,"--popmelt-thread-hairline":K.hairline,"--popmelt-thread-soft-hairline":K.softHairline,"--popmelt-thread-action":K.actionSurface,"--popmelt-thread-on-action":K.actionForeground,"--popmelt-thread-action-hover":K.actionHover},[Me,Ee]=j(()=>o),[Ge,X]=j([]),[Ne,ve]=j(),Fe=Hr(il),qe=(Ne&&Fe?.peerColors?.[Ne.authorId])??r,je=Fe?.onThreadViewed;O(()=>{Ne!==void 0&&!z&&je?.(t)},[je,Ne,z,t]);let[$e,ce]=j(!1),[rt,at]=j(""),Be=Ne?.state==="pending",Ie=Ne===void 0?void 0:Be?m:Ne&&Ne.state!=="sent"?void 0:h,[_e,_t]=j([]);O(()=>(e?.(!z&&_e.length?{threadId:t,targets:_e}:null),()=>e?.(null)),[e,z,t,_e]);let wt=Se(()=>ww(ne,Me),[ne,Me]),[Pt,kt]=j([]),[lt,Ke]=j(!1),[jt,Vn]=j(!1),zt=nw({bridgeUrl:n,threadId:t,visible:!z,active:!!l,onPendingChange:Vn}),[rn,Oe]=j(o.length===0),$t=W(null);$t.current||($t.current=bw(t));let[y,ae]=j(()=>$t.current.text),[be,Ye]=j([]),[At,Tt]=j(!1),[Ae,Ze]=j(!1),Dt=W(null),me=W(null),We=W(null),Ve=W(null),gt=W(!1),ot=W(!1),Qe=W(!1),Mt=W(!1),Ue=W({selectionStart:$t.current.selectionStart,selectionEnd:$t.current.selectionEnd,selectionDirection:$t.current.selectionDirection}),[En,Dn]=j(!0),[An,po]=j(null),Gn=J(C=>po(C),[]),ut=W(null),ur=W(!0),Xt=W(null),Hn=W(0),Ht=W(null),pr=J((C,_)=>{let ye=C&&_.trim();ut.current&&(ut.current.style.opacity=ye?"0.65":"1")},[]),Rt=W(null),Nn=W(null),fo=W(null),wn=J(C=>{fo.current=C,N?.(C)},[N]),On=W(null),Fr=W(l),Cn=W(c),Kt=W(null);O(()=>{Fd(t,y,void 0,Ue.current)},[y,t]),It(()=>{let C=Nn.current,_=$t.current;!C||!_||_.text.length===0||C.setSelectionRange(_.selectionStart,_.selectionEnd,_.selectionDirection)},[]);let Mn=J(()=>{Dt.current&&(clearTimeout(Dt.current),Dt.current=null)},[]),Qt=J(()=>{me.current&&(clearTimeout(me.current),me.current=null)},[]),on=J(()=>{We.current&&(clearTimeout(We.current),We.current=null),Ve.current!==null&&(cancelAnimationFrame(Ve.current),Ve.current=null)},[]),qt=J(()=>{P?.(),on(),Ze(!0),Ve.current=requestAnimationFrame(()=>{Ve.current=null,Tt(!0)})},[on,P]),fr=J(()=>{on(),Tt(!1),We.current=setTimeout(()=>{We.current=null,Ze(!1)},Rw)},[on]),Fn=J(()=>{Mn(),Qt(),gt.current=!1,ot.current=!1,Qe.current=!1,fr()},[Qt,Mn,fr]),Sn=J(()=>{Qt(),Mn(),Dt.current=setTimeout(()=>{Dt.current=null,gt.current&&qt()},Cw)},[Qt,Mn,qt]),_r=J(()=>{Mn(),Qt(),!Qe.current&&(me.current=setTimeout(()=>{me.current=null,!gt.current&&!ot.current&&!Qe.current&&fr()},Mw))},[Qt,Mn,fr]),Yo=J(C=>{Qe.current=C,C?Qt():!gt.current&&!ot.current&&_r()},[Qt,_r]);O(()=>()=>{Mn(),Qt(),on()},[Qt,on,Mn]);let Nt=W(Wd(oe)),Zt=W({x:0,y:0}),sn=W(!1),hr=W({x:0,y:0,offsetX:0,offsetY:0}),mr=W(oe==="right"),[,Wr]=j(0),gr=`${Dw}:${oe}`;O(()=>{try{let C=localStorage.getItem(gr);if(C){let _=JSON.parse(C);if(typeof _.top=="number"&&typeof _.left=="number"){let{width:ye,height:Ce}=qo(),ke=gi(ye),De=Wa(ye),tt={top:Math.max(ke,Math.min(_.top,Ce-ke-200)),left:Math.max(ke,Math.min(_.left,De))};mr.current=tt.left>=De-2,Nt.current=tt,Wr(ft=>ft+1)}}}catch{}},[gr]),O(()=>{let C=()=>{if(mr.current)Nt.current=Wd(oe);else{let _=Nt.current,{width:ye,height:Ce}=qo(),ke=gi(ye),De=Wa(ye);Nt.current={top:Math.max(ke,Math.min(_.top,Ce-ke-200)),left:Math.max(ke,Math.min(_.left,De))}}Wr(_=>_+1)};return window.addEventListener("resize",C,{passive:!0}),window.visualViewport?.addEventListener("resize",C,{passive:!0}),()=>{window.removeEventListener("resize",C),window.visualViewport?.removeEventListener("resize",C)}},[oe]),O(()=>{let C=On.current;if(!C)return;let _=De=>{Cc(qo().width)||De.button!==0||De.target.closest("button")||(De.preventDefault(),De.stopPropagation(),sn.current=!0,hr.current={x:De.clientX,y:De.clientY,offsetX:Zt.current.x,offsetY:Zt.current.y})},ye=De=>{if(!sn.current)return;let tt=hr.current,ft=tt.offsetX+(De.clientX-tt.x),Le=tt.offsetY+(De.clientY-tt.y),{width:Bt}=qo(),pn=gi(Bt),Sr=Math.max(pn,Math.min(Wa(Bt),Nt.current.left+ft)),go=Math.max(pn,Nt.current.top+Le);Zt.current={x:Sr-Nt.current.left,y:go-Nt.current.top};let yo=fo.current;yo&&(yo.style.top=`${go}px`,yo.style.left=`${Sr}px`,yo.style.height=`${Sf(go,Sr,V?.current)}px`)},Ce=()=>{if(!sn.current)return;let De=Nt.current.top+Zt.current.y,tt=Nt.current.left+Zt.current.x;Nt.current={top:De,left:tt},Zt.current={x:0,y:0};let ft=Wa();mr.current=tt>=ft-2;try{localStorage.setItem(gr,JSON.stringify({top:De,left:tt}))}catch{}sn.current=!1},ke=()=>{Nt.current=Wd(oe),Zt.current={x:0,y:0},mr.current=oe==="right";try{localStorage.removeItem(gr)}catch{}Wr(De=>De+1)};return C.addEventListener("mousedown",_),window.addEventListener("mousemove",ye),window.addEventListener("mouseup",Ce),C.addEventListener("dblclick",ke),()=>{C.removeEventListener("mousedown",_),window.removeEventListener("mousemove",ye),window.removeEventListener("mouseup",Ce),C.removeEventListener("dblclick",ke)}},[gr,oe,V]);let et=J(async C=>{try{let _=await Yt(`${n}/thread/${t}`);if(!_.ok)throw new Error(`Thread fetch failed: ${_.status}`);let ye=await _.json(),Ce=ye.messages??[];X(ye.chatLinks??[]),ve(ye.suggestion??null);let ke=Yh(ye,location.pathname);_t(Le=>JSON.stringify(Le)===JSON.stringify(ke)?Le:ke);let De=C?.settleJobId,tt=Xh(Ce,De);(tt||C?.applyUnsettled)&&Ee(Le=>Ce.length===0&&Le.length>0?Le:Ce);let ft=Array.isArray(ye.modelProposals)?ye.modelProposals:ye.modelProposal?[ye.modelProposal]:[];return(tt||C?.applyUnsettled)&&kt(ft),Oe(!1),{messages:Ce,settled:tt}}catch{return Oe(!1),null}},[n,t]),yr=J(async(C,_)=>{if(!lt){Ke(!0);try{let ye=await Yt(`${n}/projection/proposals/${encodeURIComponent(C.id)}/${_}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:q,model:Y,...L})});if(ye.ok){let Ce=await ye.json();Ce.proposal&&kt(ke=>ke.map(De=>De.id===Ce.proposal.id?Ce.proposal:De)),await et()}}finally{Ke(!1)}}},[L,n,Y,q,et,lt]);O(()=>{a&&et({applyUnsettled:!0})},[a,et]);let Ei=J(async(C,_,ye)=>{if(!lt){Ke(!0);try{(await Yt(`${n}/memory/conversation-action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,proposalId:C.proposalId,action:_,claim:ye,provider:q,model:Y,...L})})).ok&&await et()}finally{Ke(!1)}}},[L,n,Y,q,et,lt,t]),dn=J(async(C,_)=>{if(!lt){Ke(!0);try{(await Yt(`${n}/imprint/action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,transactionId:C.transactionId,action:_})})).ok&&await et()}finally{Ke(!1)}}},[n,et,lt,t]),He=J(async(C,_,ye)=>{if(!(lt||_.length===0)){Ke(!0);try{let Ce=await Yt(`${n}/projection/proposals/${encodeURIComponent(C.id)}/apply-selected`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({changes:_,changeSummaries:ye.map(ke=>({group:ke.group,label:ke.label,detail:ke.detail,path:ke.path,value:ke.value,currentValue:ke.currentValue})),provider:q,model:Y,...L})});if(Ce.ok){let ke=await Ce.json();ke.proposal&&kt(De=>De.map(tt=>tt.id===ke.proposal.id?ke.proposal:tt)),await et()}}finally{Ke(!1)}}},[L,n,Y,q,et,lt]);O(()=>{let C=!1;Hn.current=0,Oe(o.length===0),Xt.current&&(clearTimeout(Xt.current),Xt.current=null);let _=async()=>{let ye=await et({applyUnsettled:!0});C||ye===null||ye.messages.length!==0||Hn.current>=5||(Hn.current+=1,Xt.current=setTimeout(_,200*Hn.current))};return _(),()=>{C=!0,Xt.current&&(clearTimeout(Xt.current),Xt.current=null)}},[et,o.length]);let gn=J(C=>{if(!C||Kt.current===C)return;Kt.current=C,Ht.current&&clearTimeout(Ht.current);let _=0,ye=async()=>{(await et({settleJobId:C,applyUnsettled:_>=5}))?.settled||_>=5||(_+=1,Ht.current=setTimeout(ye,80*_))};ye()},[et]);O(()=>{gn(i)},[i,gn]),O(()=>{Fr.current&&!l&&gn(Cn.current),Fr.current=l,c&&(Cn.current=c)},[c,l,gn]),O(()=>()=>{Ht.current&&clearTimeout(Ht.current)},[]);let cn=Se(()=>p?rS(p):[],[p]),en=Se(()=>vf(cn),[cn]),Qn=Se(()=>Af(cn.filter(C=>C.kind==="tool_group")),[cn]),Wt=Se(()=>Cf(Qn),[Qn]),da=Se(()=>Aw(p??[]),[p]),Vt=Se(()=>p?lS(p):void 0,[p]),Zn=Se(()=>Me.filter(C=>C.role==="human"&&C.replyToQuestion&&C.queued&&C.jobId!==c),[c,Me]),yn=Iw(Me,Ne?.submissionId,t,ut),Xo=!yn.replacementReady||!!(rt&&Ne?.state==="pending"),st=Se(()=>yn.messages.filter(C=>!(C.role==="human"&&C.replyToQuestion&&C.queued&&C.jobId!==c)),[c,yn.messages]),un=Se(()=>{let C=new Set,_=new Map,ye=new Map,Ce=new Map,ke=[];if(st.forEach((De,tt)=>{let ft=Pt.some(Le=>Le.status==="applied"&&Df(De,Le));if(mS(De,ft)){ke.push(tt);return}De.role!=="assistant"||ke.length===0||(_.set(tt,ke.map(Le=>st[Le])),ke.forEach(Le=>C.add(Le)),ke=[])}),ke.length>0){let De=ke[0]-1;if(st[De]?.role==="assistant"&&!C.has(De)){let tt=_.get(De)??[];_.set(De,[...tt,...ke.map(Le=>st[Le])]),ke.forEach(Le=>C.add(Le));let ft=ke[ke.length-1];ye.set(De,$f(st[ft],st[ft-1])),Ce.set(De,st[ft].timestamp)}else if(ke.length>1){let tt=ke[ke.length-1],ft=ke.slice(0,-1);_.set(tt,ft.map(Le=>st[Le])),ft.forEach(Le=>C.add(Le))}}return{hiddenIndices:C,messagesByTargetIndex:_,timestampByTargetIndex:Ce,workedForByTargetIndex:ye}},[Pt,st]),_n=Se(()=>{let C=new Map;for(let _ of Me)_.memoryReviewCard&&C.set(_.memoryReviewCard.proposalId,`${_.jobId}:${_.timestamp}`);return C},[Me]),er=Se(()=>{let C=[];return st.forEach((_,ye)=>{if(un.hiddenIndices.has(ye))return;let Ce=zf(_,st[ye-1]);_.role==="assistant"&&!Ce&&C.push(`message:${_.jobId}:${ye}`)}),l?"streaming":C[C.length-1]??null},[un,l,st]);O(()=>{let C=ut.current;if(!C)return;let _=()=>{let ye=C.scrollHeight-C.scrollTop-C.clientHeight;Dn(ye<40),ur.current=ye<2};return C.addEventListener("scroll",_,{passive:!0}),()=>{C.removeEventListener("scroll",_)}},[]),O(()=>{ur.current&&ut.current&&(ut.current.scrollTop=ut.current.scrollHeight)},[Me,cn.length,l,jt,yn.phase]),O(()=>{if(!Ae)return;let C=_=>{_.composedPath().some(ye=>ye instanceof HTMLElement&&ye.dataset.modelPicker!==void 0)||Fn()};return document.addEventListener("pointerdown",C,!0),()=>document.removeEventListener("pointerdown",C,!0)},[Fn,Ae]),O(()=>{let C=_=>{if(_.key==="Escape"){if(_.stopPropagation(),Ae){Fn();return}u()}};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[Fn,Ae,u]);let tr=J((C,_,ye)=>{let Ce=C.trim();if(!Ce||!Ie)return!1;let ke=`_pending_reply_${Date.now()}`,De=/^@(Codex|Claude)(?:\s+|$)([\s\S]*)$/i.exec(Ce),tt=!!l&&!De,ft=_?_.map(Le=>URL.createObjectURL(Le)):void 0;return Ee(Le=>[...Le,{role:"human",timestamp:Date.now(),jobId:ke,replyToQuestion:Ce,...Be?{execution:"none"}:{},...tt?{queued:!0}:{},...ft?{replyImageUrls:ft}:{}}]),Promise.resolve().then(async()=>{if(!De)return Ie(t,Ce,_,ye);let{sendCanvasChatNote:Le}=await import("./canvas-chat-note-7HSL7MH6.mjs");return Le(n,t,Ge,De,S,!!_?.length)}).then(async Le=>{Le?.jobId&&(Ee(Bt=>Bt.map(pn=>pn.jobId===ke?{...pn,jobId:Le.jobId}:pn)),await et({applyUnsettled:!0}))}).catch(Le=>{Ee(Bt=>Bt.map(pn=>pn.jobId===ke?{...pn,queued:!1,errorKind:"send_rejected",error:Le instanceof Error?Le.message:"Reply was not sent. Check your connection and permissions before retrying."}:pn)),ae(Bt=>Bt||Ce),_&&Ye(Bt=>Bt.length?Bt:_)}),!0},[l,t,Ie,et,Be,n,S,Ge]),vr=J(()=>{let C=be.length>0?be:void 0;tr(y,C)&&(ae(""),Ye([]))},[y,be,tr]),br=J(C=>{let _=C.clipboardData.items,ye=[];for(let Ce=0;Ce<_.length;Ce++){let ke=_[Ce];if(ke.type.startsWith("image/")){let De=ke.getAsFile();De&&ye.push(De)}}if(ye.length>0){if(C.preventDefault(),Be){at("Suggestion discussion supports text for now; images were not attached.");return}Ye(Ce=>[...Ce,...ye])}},[Be]),ho=J(C=>{C.key==="Enter"&&(C.metaKey||C.ctrlKey)&&(C.preventDefault(),vr())},[vr]);It(()=>{let C=Nn.current;C&&(C.style.height="auto",C.style.height=`${Math.max(34,Math.min(C.scrollHeight,120))}px`,Rt.current&&(Rt.current.scrollTop=C.scrollTop))},[y]);let Br=Nt.current.top+Zt.current.y,Jr=Nt.current.left+Zt.current.x,xr=qo(),vn=Cc(xr.width),Wn=gi(xr.width),mo=Mc(xr.width),ca=Sf(Br,Jr,V?.current),Ko=Me.some(C=>C.memoryReviewCard&&!Me.some(_=>_.memoryReceipt?.proposalId===C.memoryReviewCard.proposalId)),wr=Be?"Add to suggestion (text only)":l?"Add steering context":Ko?"Ask for rule changes":"Ask for changes";return M(ct,{children:[U&&f("div",{"data-devtools":"thread-panel-backdrop",onPointerDown:C=>{C.target===C.currentTarget&&u()},style:{position:"fixed",inset:0,zIndex:9998,opacity:z?0:1,pointerEvents:z?"none":"auto",cursor:k,transition:z&&!Z?`opacity ${Is}ms ease`:"none"}}),M("div",{ref:wn,style:{...Nw,...Te,width:mo,height:vn?"auto":ca,position:"fixed",top:vn?`max(${Wn}px, env(safe-area-inset-top))`:Br,bottom:vn?`max(${Wn}px, env(safe-area-inset-bottom))`:void 0,left:vn?`max(${Wn}px, env(safe-area-inset-left))`:Jr,right:vn?`max(${Wn}px, env(safe-area-inset-right))`:void 0,zIndex:10004,opacity:z?0:1,pointerEvents:z?"none":"auto",transition:z&&!Z?`opacity ${Is}ms ease`:"none"},"data-devtools":"thread-panel","data-popmelt-thread-id":t,"data-popmelt-font":"sans","data-popmelt-theme":fe,"data-popmelt-theme-preference":ge,"aria-hidden":z||void 0,onMouseEnter:w,children:[zw,M("div",{style:{background:"var(--popmelt-thread-surface)",borderRadius:"12px 12px 16px 16px",display:"flex",flexDirection:"column",overflow:"hidden",flex:1,minHeight:0},children:[M("div",{ref:On,"data-popmelt-thread-header":!0,style:{...Ow,backgroundColor:qe,color:"#ffffff",cursor:"grab",overflow:vn?"visible":"hidden",paddingRight:vn?32:6,userSelect:"none",WebkitUserSelect:"none"},children:[M("span",{style:{display:"flex",alignItems:"center",gap:3,minWidth:0,flex:1},children:[(A||!Ne)&&f("span",{style:{flexShrink:0},children:A?`${A}.`:"Conversation"}),wt&&f("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:wt})]}),re&&ee&&M("span",{style:{display:"flex",flexShrink:0,gap:0,marginLeft:8},children:[f("button",{type:"button","aria-label":"Previous thread","data-popmelt-thread-nav":!0,onClick:re,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",height:Jo,minHeight:0,minWidth:0,boxSizing:"border-box",justifyContent:"center",margin:0,padding:0,position:"relative",width:Jo},children:f(_g,{"aria-hidden":"true",height:Jo,strokeWidth:2,width:Jo})}),f("button",{type:"button","aria-label":"Next thread","data-popmelt-thread-nav":!0,onClick:ee,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",height:Jo,minHeight:0,minWidth:0,boxSizing:"border-box",justifyContent:"center",margin:0,padding:0,position:"relative",width:Jo},children:f(Us,{"aria-hidden":"true",height:Jo,strokeWidth:2,width:Jo})})]}),vn&&f("button",{type:"button","aria-label":"Close thread",onClick:u,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",flexShrink:0,height:40,justifyContent:"center",margin:0,padding:0,position:"absolute",right:-4,top:"50%",transform:"translateY(-50%)",width:40},children:f(Xs,{"aria-hidden":"true",size:14,strokeWidth:2})})]}),f("style",{dangerouslySetInnerHTML:{__html:`
176
+ [data-devtools="thread-panel"] ::selection {
177
+ background: color-mix(in srgb, ${qe} 15%, transparent);
178
+ color: inherit;
179
+ }
180
+ [data-popmelt-thread-nav] { opacity: 0.5; transition: opacity 120ms ease; }
181
+ [data-popmelt-thread-nav]:hover, [data-popmelt-thread-nav]:focus-visible { opacity: 1; }
182
+ [data-popmelt-approve-suggestion]:not(:disabled):hover {
183
+ --popmelt-approval-background: var(--popmelt-thread-action-hover);
184
+ }
185
+ [data-popmelt-approve-suggestion]:focus-visible {
186
+ outline: 2px solid var(--popmelt-thread-primary);
187
+ outline-offset: 3px;
188
+ }
189
+ [data-popmelt-thread-nav]::before { content: ''; position: absolute; inset: -4px; }
190
+ [data-popmelt-thread-content] { isolation: isolate; }
191
+ [data-popmelt-thread-content]::after {
192
+ background: color-mix(in srgb, var(--popmelt-thread-surface) 50%, transparent);
193
+ content: '';
194
+ inset: 0;
195
+ opacity: 0;
196
+ pointer-events: none;
197
+ position: absolute;
198
+ transition: opacity 100ms ease;
199
+ transition-delay: 0ms;
200
+ z-index: 10;
201
+ }
202
+ [data-popmelt-thread-content]:has([data-popmelt-tool-receipt-trigger]:hover)::after,
203
+ [data-popmelt-thread-content]:has([data-popmelt-tool-receipt-trigger]:focus-within)::after {
204
+ opacity: 1;
205
+ transition-delay: 180ms;
206
+ }
207
+ [data-popmelt-thread-content] [data-popmelt-tool-receipt-tooltip] { z-index: 20; }
208
+ [data-popmelt-tool-mention] {
209
+ font-weight: 600;
210
+ color: var(--popmelt-thread-primary);
211
+ background: color-mix(in srgb, var(--popmelt-thread-primary) 15%, transparent);
212
+ border-radius: 3px;
213
+ }
214
+ [data-popmelt-reply], [data-popmelt-mention-mirror] {
215
+ display: block; width: 100%; min-width: 0; margin: 0; padding: 12px 12px 0; border: 0;
216
+ box-sizing: border-box; font-family: ${ln}; font-size: 14px; font-weight: 400;
217
+ line-height: 1.3; letter-spacing: normal; white-space: pre-wrap; overflow-wrap: break-word;
218
+ word-break: break-word; scrollbar-gutter: stable;
219
+ }
220
+ [data-popmelt-mention-mirror] {
221
+ position: absolute; inset: 0; overflow: hidden; pointer-events: none; user-select: none; color: transparent;
222
+ }
223
+ /* Thicken the glyphs without changing advances, so the native caret and
224
+ selection align with the highlighted words even on wrapped lines. */
225
+ [data-popmelt-mention-mirror] [data-popmelt-tool-mention] { font-weight: inherit; -webkit-text-stroke: .4px currentColor; }
226
+ [data-popmelt-reply]::placeholder { color: var(--popmelt-thread-muted); opacity: 1; }
227
+ [data-message-timestamp] { opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
228
+ [data-message-activity] { opacity: 1; transition: opacity 120ms ease; }
229
+ [data-worked-for-label], [data-worked-for-time] { transition: opacity 120ms ease; }
230
+ [data-worked-for-time] { pointer-events: none; }
231
+ [data-under-message-rail="hover"] { opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
232
+ [data-model-sender] { display: none !important; }
233
+ [data-msg]:hover [data-under-message-rail="hover"] { opacity: 1; pointer-events: auto; }
234
+ [data-msg]:hover [data-message-timestamp] { opacity: 1; }
235
+ @media (hover: hover) {
236
+ [data-msg]:hover + [data-popmelt-suggestion-actions] [data-popmelt-approve-suggestion]:not(:focus-visible) {
237
+ opacity: 0 !important;
238
+ pointer-events: none;
239
+ }
240
+ }
241
+ [data-worked-for-trigger]:hover [data-worked-for-label] { opacity: 0; }
242
+ [data-worked-for-trigger]:hover [data-worked-for-time] { opacity: 1 !important; }
243
+ [data-popmelt-tool-receipt-tooltip] {
244
+ opacity: 0;
245
+ transform: translateY(3px) scale(0.98);
246
+ transform-origin: bottom center;
247
+ transition: opacity 100ms ease, transform 100ms ease, visibility 0s linear 100ms;
248
+ visibility: hidden;
249
+ }
250
+ [data-popmelt-tool-receipt-scroll] {
251
+ overflow-x: hidden !important;
252
+ }
253
+ [data-popmelt-tool-receipt-scroll],
254
+ [data-popmelt-tool-receipt-scroll] * {
255
+ box-sizing: border-box;
256
+ max-width: 100%;
257
+ min-width: 0;
258
+ overflow-wrap: anywhere;
259
+ white-space: normal;
260
+ word-break: break-word;
261
+ }
262
+ [data-popmelt-tool-receipt-trigger]:hover > button {
263
+ color: var(--popmelt-thread-primary) !important;
264
+ }
265
+ [data-popmelt-tool-receipt-scrim] {
266
+ left: 0;
267
+ opacity: 0;
268
+ pointer-events: none;
269
+ position: absolute;
270
+ right: 0;
271
+ transition: opacity 100ms ease;
272
+ z-index: 1;
273
+ }
274
+ [data-popmelt-tool-receipt-scrim="top"] {
275
+ background: linear-gradient(to bottom, var(--popmelt-thread-raised) 10%, transparent);
276
+ height: 24px;
277
+ top: 0;
278
+ }
279
+ [data-popmelt-tool-receipt-scrim="bottom"] {
280
+ background: linear-gradient(to top, var(--popmelt-thread-raised) 10%, transparent);
281
+ bottom: 0;
282
+ height: 24px;
283
+ }
284
+ [data-popmelt-tool-receipt-tooltip][data-overflow-top] [data-popmelt-tool-receipt-scrim="top"],
285
+ [data-popmelt-tool-receipt-tooltip][data-overflow-bottom] [data-popmelt-tool-receipt-scrim="bottom"] {
286
+ opacity: 1;
287
+ }
288
+ [data-popmelt-tool-receipt-trigger]:hover [data-popmelt-tool-receipt-tooltip][data-ready="true"],
289
+ [data-popmelt-tool-receipt-trigger]:focus-within [data-popmelt-tool-receipt-tooltip][data-ready="true"] {
290
+ opacity: 1;
291
+ transform: translateY(0) scale(1);
292
+ transition-delay: 180ms;
293
+ visibility: visible;
294
+ }
295
+ @media (prefers-reduced-motion: reduce) {
296
+ [data-popmelt-tool-receipt-tooltip] { transition: none; }
297
+ [data-popmelt-thread-content]::after { transition: none; }
298
+ }
299
+ [data-suggestion-message] { display: contents; }
300
+ [data-suggestion-handoff] > div {
301
+ display: flex;
302
+ flex-direction: column;
303
+ gap: 32px;
304
+ }
305
+ [data-suggestion-phase="preparing"] [data-suggestion-handoff="incoming"] {
306
+ display: block;
307
+ position: absolute;
308
+ visibility: hidden;
309
+ pointer-events: none;
310
+ }
311
+ [data-suggestion-phase="animating"] [data-suggestion-handoff="outgoing"] {
312
+ display: block;
313
+ position: relative;
314
+ height: 0;
315
+ flex-shrink: 0;
316
+ margin-bottom: -32px;
317
+ pointer-events: none;
318
+ }
319
+ [data-suggestion-phase="animating"] [data-suggestion-handoff="outgoing"] > div {
320
+ position: absolute;
321
+ width: 100%;
322
+ animation: popmelt-suggestion-out ${_d}ms ease-out both;
323
+ }
324
+ [data-suggestion-phase="animating"] [data-suggestion-handoff="incoming"] > div {
325
+ animation: popmelt-suggestion-in ${_d}ms cubic-bezier(.2,.7,.2,1) both;
326
+ }
327
+ @keyframes popmelt-suggestion-out {
328
+ to { opacity: 0; transform: translateY(-16px); }
329
+ }
330
+ @keyframes popmelt-suggestion-in {
331
+ from { opacity: 0; transform: translateY(16px); }
332
+ to { opacity: 1; transform: translateY(0); }
333
+ }
334
+ @media (prefers-reduced-motion: reduce) {
335
+ [data-suggestion-handoff] > div { animation: none !important; }
336
+ }
337
+ @media (hover: none), (pointer: coarse) {
338
+ [data-message-timestamp], [data-under-message-rail="hover"] { opacity: 1; pointer-events: auto; }
339
+ [data-popmelt-thread-header] { cursor: default !important; }
340
+ [data-popmelt-reply-action] { width: 40px !important; height: 40px !important; margin: -10px; }
341
+ }
342
+ `}}),M("div",{"data-popmelt-thread-content":!0,style:{display:"flex",flex:1,flexDirection:"column",minHeight:0,position:"relative"},children:[M("div",{ref:ut,style:{...Fw,...Ie?{paddingBottom:12}:{},transition:"opacity 150ms ease"},"data-devtools":"thread-panel-messages","data-suggestion-phase":yn.phase,children:[rn&&f("div",{style:{padding:16,color:"var(--popmelt-thread-muted)",textAlign:"center"},children:"Loading..."}),!rn&&st.length===0&&Zn.length===0&&!l&&f("div",{style:{padding:16,color:"var(--popmelt-thread-muted)",textAlign:"center"},children:"No messages yet."}),st.map((C,_)=>{if(un.hiddenIndices.has(_))return null;let ye=un.messagesByTargetIndex.get(_)??[],Ce=[...ye,C],ke=zf(C,st[_-1]),De=rn?[]:Pt.filter(Le=>Ce.some(Bt=>Df(Bt,Le))),tt=De.filter(Le=>Le.status==="applied"),ft={decisionRecorded:tt.some(Le=>Le.decisionIds.length>0),modelUpdated:tt.length>0,imprintReceipt:sS(Ce,st)};return f("div",{"data-suggestion-message":!0,"data-suggestion-handoff":yn.motion(C),"aria-hidden":yn.motion(C)==="outgoing"&&yn.phase==="animating"?!0:void 0,children:M("div",{style:yn.motion(C)?void 0:{display:"contents"},children:[f(jf,{msg:C,index:_,bridgeUrl:n,accentColor:qe,onLightbox:Gn,hideSender:ke,hideTimestamp:ke,hideModelSenderUntilHover:er!==`message:${C.jobId}:${_}`,compactSpacing:ke,workedFor:un.workedForByTargetIndex.get(_)??$f(C,st[_-1]),activityTimestamp:un.timestampByTargetIndex.get(_),memoryReviewBusy:lt,memoryReviewResolved:!!(C.memoryReviewCard&&Me.some(Le=>Le.memoryReceipt?.proposalId===C.memoryReviewCard.proposalId&&Le.memoryReceipt.status==="committed")),memoryReviewSuperseded:!!(C.memoryReviewCard&&_n.get(C.memoryReviewCard.proposalId)!==`${C.jobId}:${C.timestamp}`),foldedActivityMessages:ye,underMessageActivity:ft,onMemoryReviewAction:S?Ei:void 0,onImprintAction:S?dn:void 0}),_===0&&Ne&&Ne.state!=="sent"&&(rt||Xo&&g&&(Be||Ne.state==="approving"))&&M("div",{"data-popmelt-suggestion-actions":!0,style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:8,marginTop:-24,fontSize:13,color:"var(--popmelt-thread-secondary)"},children:[(Be||Ne.state==="approving")&&Xo&&g&&M("button",{"data-popmelt-approve-suggestion":!0,type:"button",disabled:$e||!Be,style:{...lg(fe),padding:Os.padding,gap:Os.gap,background:"var(--popmelt-approval-background, var(--popmelt-thread-action))",color:"var(--popmelt-thread-on-action)",opacity:$e||!Be?.5:1,transition:"background-color 120ms ease, opacity 120ms ease",cursor:$e||!Be?"default":"pointer"},onClick:async()=>{if(!($e||!Be)){ce(!0),at("");try{await g(Ne.submissionId,Ne.revision)}catch(Le){at(Le instanceof Error?Le.message:"Approval failed. Review the updated suggestion and try again.")}finally{await et({applyUnsettled:!0}),ce(!1)}}},children:[f(Au,{size:Os.iconSize,strokeWidth:1.5,"aria-hidden":"true"}),$e||!Be?"Sending\u2026":"Approve and send"]}),rt&&f("div",{role:"alert",children:rt})]}),De.filter(Le=>Le.status!=="applied").map(Le=>f("fieldset",{disabled:!S,style:{border:0,padding:0,margin:0,minWidth:0},children:f(xS,{proposal:Le,timestamp:C.timestamp,bridgeUrl:n,accentColor:qe,busy:lt,onApplySelected:He,onDismiss:()=>yr(Le,"dismiss"),onReviewUnderlying:()=>{Le.underlyingProposalId&&tr("> Kicked off decision review",void 0,{memoryReviewProposalId:Le.underlyingProposalId})},hideModelSenderUntilHover:er!==`proposal:${Le.id}`})},Le.id))]})},ql(C))}),l&&M("div",{style:{padding:0,display:"flex",flexDirection:"column",gap:8},children:[(!s||zt.approvals.some(C=>C.jobId===c&&C.phase))&&f(ct,{children:en.map((C,_)=>{if(C.kind==="approval"){let Ce=zt.approvals.find(De=>De.id===C.approval.id),ke=C.approval.status==="pending"&&Ce?.status!=="pending"?Ce??C.approval:C.approval;return f(tw,{approval:ke,accentColor:qe,connected:S&&zt.connected,decide:De=>zt.decide(ke,De)},ke.id)}if(C.kind==="tool_group")return null;if(C.kind==="generated_image")return f(Tf,{src:uo(n,C.url),onLightbox:Gn},_);if(C.kind==="file_content")return f(oS,{file:C.file,content:C.content,ext:C.ext,isPlan:C.isPlan,onAccept:C.isPlan&&Ie?()=>Ie(t,"Looks good, please proceed with implementation."):void 0},_);if(C.kind==="thinking")return f("div",{style:{fontSize:12,color:"var(--popmelt-thread-muted)",fontStyle:"italic",lineHeight:1.4,whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:80,overflowY:"auto"},children:C.text},_);if(C.kind==="status")return f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontStyle:"italic",lineHeight:1.4,wordBreak:"break-word"},children:C.text},_);if(C.kind==="orientation")return f(Ef,{orientation:C.orientation},_);let ye=Ba(C.text);return ye?f("div",{style:{fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,wordBreak:"break-word"},children:cr(ye)},_):null})}),M("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",minHeight:24},children:[f("div",{style:{alignItems:"center",display:"flex",gap:6},children:s?M(ct,{children:[f(Ys,{size:12,strokeWidth:2.25,color:qe,style:{verticalAlign:"middle",flexShrink:0,opacity:.5}}),f("span",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontStyle:"italic"},children:zt.approvals.some(C=>C.jobId===c&&C.phase==="parked")?"Parked \xB7 waiting for permission":zt.approvals.some(C=>C.jobId===c&&C.phase==="queued")?"Queued next":`Queued${d?` ${d}`:""}`})]}):M(ct,{children:[jt?f("span",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:"Waiting for permission"}):da?f("span",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:"Generating images\u2026"}):f(Yw,{color:"var(--popmelt-thread-muted-strong)"}),Wt.map(C=>f(Mf,{receipt:C,animateCount:!0},C.kind)),Vt&&f(Pf,{receipt:Vt,accentColor:qe})]})}),x&&f("button",{onClick:x,style:{background:"none",border:"1px solid var(--popmelt-thread-hairline)",borderRadius:16,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",fontFamily:"inherit",fontSize:12,padding:"4px 10px"},children:"Cancel"})]})]}),!l&&H&&M("div",{style:{padding:"8px 16px",backgroundColor:"rgba(239, 68, 68, 0.06)",fontSize:12,color:"#dc2626",lineHeight:1.4},children:[f("span",{style:{fontWeight:600},children:"Error: "}),H]})]}),Zn.length>0&&f("div",{"data-queued-replies-area":!0,style:{flexShrink:0,maxHeight:"40%",overflowY:"auto",padding:"0 12px 12px"},children:f(ml,{fallback:null,children:f(Lw,{messages:Zn,renderMessage:C=>f(jf,{msg:C,index:Me.indexOf(C),bridgeUrl:n,accentColor:qe,onLightbox:Gn,hideSender:!0,hideTimestamp:!0,queuedPreview:!0}),onChange:S?async(C,_)=>{let ye=await Yt(`${n}/reply/queued`,{method:_===null?"DELETE":"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,jobId:C.jobId,submissionId:C.lifecycle?.submissionIds[0],expectedReply:C.replyToQuestion,reply:_})});if(!ye.ok){let Ce=await ye.json().catch(()=>({}));throw new Error(Ce.error??"Could not update queued message.")}await et({applyUnsettled:!0})}:void 0})})}),!Ie&&D&&M("div",{role:"status",style:{alignItems:"center",color:"var(--popmelt-thread-muted)",display:"flex",fontSize:12,gap:4,justifyContent:"center",letterSpacing:"0.12px",lineHeight:1.35,padding:"16px 12px",whiteSpace:"nowrap"},children:[f(Wg,{"aria-hidden":"true",size:12,strokeWidth:1.5}),f("span",{children:D})]}),Ie&&M("div",{"data-popmelt-thread-composer":!0,style:{flexShrink:0,position:"relative",zIndex:1},children:[Ae&&f(Kh,{visible:At,provider:q,availableProviders:ie,models:I,modelIndex:Q,agentSettings:L,onProviderChange:F,onModelChange:R,onAgentSettingsChange:$,onMouseEnter:()=>{ot.current=!0,Qt()},onMouseLeave:()=>{ot.current=!1,_r()},onScrubChange:Yo}),!En&&Me.length>0&&f("button",{type:"button","data-scroll-to-bottom":!0,"aria-label":"Scroll to latest message",title:"Scroll to latest message",onClick:()=>{ut.current&&ut.current.scrollTo({top:ut.current.scrollHeight,behavior:"smooth"})},style:{alignItems:"center",background:"var(--popmelt-thread-surface)",border:"1px solid var(--popmelt-thread-border)",borderRadius:999,bottom:"calc(100% + 8px)",color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"flex",height:30,justifyContent:"center",left:"50%",padding:0,position:"absolute",transform:"translateX(-50%)",width:30,zIndex:2},children:f(Bg,{"aria-hidden":"true",size:16,strokeWidth:1.75})}),be.length>0&&f("div",{style:{position:"absolute",bottom:"100%",display:"flex",gap:4,padding:"6px 5px 5px",flexWrap:"wrap"},children:be.map((C,_)=>M("span",{onClick:()=>Ye(ye=>ye.filter((Ce,ke)=>ke!==_)),onMouseEnter:ye=>{let Ce=ye.currentTarget.querySelector("[data-chip-x]");Ce&&(Ce.style.color="#fff")},onMouseLeave:ye=>{let Ce=ye.currentTarget.querySelector("[data-chip-x]");Ce&&(Ce.style.color="rgba(255,255,255,0.4)")},style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:10,color:"#fff",backgroundColor:qe,backdropFilter:"blur(4px)",borderRadius:8,padding:"2px 6px 2px 6px",cursor:"pointer"},children:["image ",_+1,f("span",{"data-chip-x":!0,style:{fontSize:12,lineHeight:1,color:"rgba(255,255,255,0.4)"},children:"\xD7"})]},_))}),M("div",{style:_w,children:[M("div",{style:{position:"relative"},children:[y.includes("@")&&M("div",{"aria-hidden":"true","data-popmelt-mention-mirror":!0,ref:Rt,children:[ki(y),"\u200B"]}),f("textarea",{ref:Nn,onScroll:C=>{Rt.current&&(Rt.current.scrollTop=C.currentTarget.scrollTop)},"data-popmelt-reply":!0,autoFocus:!vn,rows:1,value:y,onChange:C=>{Ue.current={selectionStart:C.target.selectionStart,selectionEnd:C.target.selectionEnd,selectionDirection:C.target.selectionDirection},Fd(t,C.target.value,void 0,Ue.current),ae(C.target.value),pr(Mt.current,C.target.value)},onSelect:C=>{Ue.current={selectionStart:C.currentTarget.selectionStart,selectionEnd:C.currentTarget.selectionEnd,selectionDirection:C.currentTarget.selectionDirection},Fd(t,C.currentTarget.value,void 0,Ue.current)},onFocus:()=>{Mt.current=!0,pr(!0,y)},onBlur:()=>{Mt.current=!1,pr(!1,y)},onKeyDown:ho,onPaste:br,placeholder:wr,style:{position:"relative",height:34,minHeight:34,backgroundColor:"transparent",color:"var(--popmelt-thread-primary)",outline:"none",overflowX:"hidden",overflowY:"auto",resize:"none"}})]}),M("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",padding:"10px 12px"},children:[f(Vh,{provider:q,open:At,onClick:()=>{Mn(),Qt(),At?Fn():qt()},onMouseEnter:()=>{gt.current=!0,At?Qt():Sn()},onMouseLeave:()=>{gt.current=!1,_r()}}),f("button",{type:"button","data-popmelt-reply-action":!0,onClick:vr,disabled:!y.trim(),"aria-label":"Send reply",style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,background:"none",border:"none",cursor:y.trim()?"pointer":"default",color:"var(--popmelt-thread-primary)",opacity:y.trim()?1:.12,flexShrink:0},children:f("span",{style:{alignItems:"center",display:"flex",height:16,justifyContent:"center",width:16},children:f(Au,{"aria-hidden":"true",fill:"currentColor",size:y.trim()?16:14,strokeWidth:1.5,style:{transform:"rotate(-45deg)",transition:"width 120ms ease, height 120ms ease"}})})})]})]})]})]})]})]}),An&&f(Zw,{src:An,onClose:()=>po(null)})]})}function Uo(e,t){let n=new Set(e.annotationIds);if(n.size===0&&e.threadId)for(let r of t)r.threadId===e.threadId&&n.add(r.id);return[...n]}function SS(e,t){switch(t.type){case"restore_thread":return e.openThreadId||e.imprintStashedThreadId||e.toolbarSuspendedThreadId?e:{openThreadId:t.toolbarExpanded&&!t.imprintActive?t.threadId:null,imprintStashedThreadId:t.imprintActive?t.threadId:null,toolbarSuspendedThreadId:!t.toolbarExpanded&&!t.imprintActive?t.threadId:null};case"enter_imprint":return t.preserveOpenThread||!e.openThreadId?e:{openThreadId:null,imprintStashedThreadId:e.openThreadId,toolbarSuspendedThreadId:null};case"leave_imprint":return e.openThreadId?e.imprintStashedThreadId?{...e,imprintStashedThreadId:null}:e:e.imprintStashedThreadId?{openThreadId:e.imprintStashedThreadId,imprintStashedThreadId:null,toolbarSuspendedThreadId:null}:e;case"open_thread":return{openThreadId:t.threadId,imprintStashedThreadId:null,toolbarSuspendedThreadId:null};case"collapse_toolbar":return e.openThreadId?{...e,openThreadId:null,toolbarSuspendedThreadId:e.openThreadId}:e;case"expand_toolbar":return e.toolbarSuspendedThreadId?{...e,openThreadId:e.toolbarSuspendedThreadId,toolbarSuspendedThreadId:null}:e;case"close_thread":return{openThreadId:null,imprintStashedThreadId:null,toolbarSuspendedThreadId:null}}}function IS(e,t,n){return e!==t&&t!==null&&n!==null}function kS(e){let t=e.toolbarSources.has("project-panel")&&e.chromeHoverSurface==="toolbar"&&e.chromeHoverPhase==="visible",n=e.chromeHoverSurface!=="job-stack"&&(e.toolbarSources.has("tool-menu")||e.toolbarSources.has("popmelt-guide")||e.toolbarSources.has("peer-details")||e.toolbarSources.has("guidance-panel")||t),r=e.toolbarSources.has("tool-menu")||e.toolbarSources.has("popmelt-guide")||e.toolbarSources.has("peer-details"),o=e.chromeHoverSurface==="toolbar"&&e.chromeHoverPhase==="visible",i=e.activeTool==="model";return{threadTemporarilyHidden:!e.toolbarExpanded||n||!!e.peerPlanePeeking,toolbarPaneVisible:n,projectPanelTemporarilyHidden:!!e.peerPlanePeeking||r||e.chromeHoverSurface==="job-stack",statusInteractionSuppressed:!!e.peerPlanePeeking||r||o||i}}function TS(e,t,n=[]){let r=new Set,o=[];for(let i of e){let a=i.threadId;!a||t.has(a)||r.has(a)||(r.add(a),o.push(a))}for(let i of n){let a=i.threadId;t.has(a)||r.has(a)||(r.add(a),o.push(a))}return o}function ES(e,t,n){if(e.length<2)return;let r=e.indexOf(t);if(!(r<0))return e[(r+n+e.length)%e.length]}function Nf(e,t){return t?e.ownerParticipantId?e.ownerParticipantId===t.participantId:t.isHost===!0:!0}function AS(e,t,n,r){let o=W(e),i=W(void 0);O(()=>{o.current!==e&&(o.current=e,n()),t&&(t.id!==i.current?.id||t.request!==i.current?.request)&&(i.current=t,r(t.id)),t||(i.current=void 0)},[e,t,n,r])}var CS=[],Vl="devtools-provider",Gl="devtools-model",Yd="devtools-model-id",Of="devtools-agent-settings",Xd="devtools-open-thread-id",Ql="popmelt-dismissed-thread-ids",Kd="#000000",MS=20,RS=[],LS=[];function Vd(e){let t=e.dispose?.();t&&Promise.resolve(t).catch(()=>{})}function PS(e){let t=W(new Map),[n,r]=j([]);return O(()=>{let o=t.current,i=new Map,a=[];for(let s of e){if(i.has(s.id))continue;let d=o.get(s.id);if(d?.configurationKey===s.configurationKey){i.set(s.id,d),a.push(s);continue}d&&Vd(d.runtime),i.set(s.id,{configurationKey:s.configurationKey,runtime:s.activate()}),a.push(s)}for(let[s,d]of o)i.has(s)||Vd(d.runtime);t.current=i;let l=a.map(s=>i.get(s.id)?.runtime).filter(s=>!!s);r(s=>s.length===l.length&&s.every((d,c)=>d===l[c])?s:l)},[e]),O(()=>()=>{for(let o of t.current.values())Vd(o.runtime);t.current.clear()},[]),n}function jS(e,t=96){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,t-1)}...`:n}function zS(e){let t=e.annotations.map(a=>a.instruction?.trim()?a.instruction.trim():a.imageCount?`${a.imageCount} image${a.imageCount===1?"":"s"}`:`${a.type} annotation`),n=e.styleModifications.flatMap(a=>a.changes.map(l=>`${a.element?.reactComponent||a.element?.tagName||a.selector}: ${l.property} ${l.original||"unset"} -> ${l.modified||"unset"}${l.token?` [${l.token}]`:""}`)),r=(e.textModifications??[]).map(a=>`${a.element?.reactComponent||a.element?.tagName||a.selector}: text ${a.original||"empty"} -> ${a.modified||"empty"}`),o=(e.spacingTokenChanges??[]).map(a=>`${a.tokenName}: ${a.originalPx}px -> ${a.newPx}px`),i=[...n,...r,...o,...t].map(a=>jS(a)).filter(Boolean);return i.length===0?"Annotation":i.length<=3?i.join("; "):`${i.slice(0,3).join("; ")}; +${i.length-3} more`}function Zl(e){if(typeof window>"u"||!e)return new Set;try{let t=JSON.parse(localStorage.getItem(Bi(Ql,e))||"[]");return new Set(Array.isArray(t)?t.filter(n=>typeof n=="string"):[])}catch{return new Set}}function Ff(e,t){if(!(typeof window>"u"||!t))try{let n=Zl(t);for(let r of e)n.add(r);localStorage.setItem(Bi(Ql,t),JSON.stringify(Array.from(n).slice(-200)))}catch{}}function $S(e){let t=xn(e);return t.bottom<0||t.top>window.innerHeight||t.right<0||t.left>window.innerWidth}function DS(e){for(let t of e){let n=hn(t);if(n){$S(n)&&n.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"});return}}}async function Gd(e,t){t?await t(e):(window.history.pushState(window.history.state,"",e),window.dispatchEvent(new PopStateEvent("popstate",{state:window.history.state}))),await new Promise(n=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{setTimeout(n,600)}))})}function HS(e,t,n,r,o){if(t==="copilot"||t==="omp"||e==="copilot"||e==="omp")return 0;let i=Tc(e,r),a=Tc(t,o);if(a.length===0)return 0;let l=i.findIndex(d=>d.index===n),s=l>=0?l:a.length-1;return a[Math.min(s,a.length-1)].index}function NS({children:e,enabled:t=process.env.NODE_ENV==="development",multiplayer:n=!1,...r}){let o=Hr(il),[i,a]=j([]),l=J(p=>(a(u=>u.includes(p)?u:[...u,p]),()=>a(u=>u.filter(h=>h!==p))),[]),s=Se(()=>({isEnabled:t,registerSubjectAdapter:l}),[t,l]),d=Se(()=>[...r.subjectAdapters??[],...i],[r.subjectAdapters,i]),c=f(OS,{...r,multiplayer:n,enabled:!0,registeredSubjectAdapters:i});return M(Tg.Provider,{value:s,children:[e,t&&(o?n?c:null:f(ky,{multiplayer:n,projectId:r.projectId,adapters:d,children:c}))]})}function OS({enabled:e=!0,multiplayer:t=!1,registeredSubjectAdapters:n,bridgeUrl:r=typeof window<"u"?window.__POPMELT_BRIDGE_URL__??"http://localhost:1111":"http://localhost:1111",projectId:o,navigate:i,subjectAdapters:a=RS,extensions:l=LS,imageAnnotation:s=!0,videoAnnotation:d=!0,getCommentMeta:c}){let p=typeof window<"u"?o??window.__POPMELT_PROJECT_ID__??null:null,[u,h]=j(p),[m,g]=j(!!p),x=u,S=W(null),D=W(!1),[H,w,z]=Im(S,D),Z=Hr(hc),k=Hr(il),[V,N]=j(()=>new Set),[Y,q]=j(0),ie=W(0);O(()=>{if(!Y)return;let b=window.setTimeout(()=>q(0),220);return()=>window.clearTimeout(b)},[Y]);let I=Se(()=>k?.participantId?th(mc(H,k.pendingSubmissions??[],k.participantId,V),k.annotationColor):H,[H,k?.pendingSubmissions,k?.participantId,k?.annotationColor,V]);O(()=>{if(!V.size)return;let b=mc(H,k?.pendingSubmissions??[],k?.participantId??""),T=new Set([...V].filter(B=>{let G=b.annotations.find(de=>de.id===B);return G&&["pending","sending"].includes(G.status??"pending")}));T.size!==V.size&&N(T)},[H,k?.pendingSubmissions,k?.participantId,V]);let Q=!k||k.canReadThreads,L=!k||k.canReply,F=!k||k.canManageThreads,R=PS(l),$=Se(()=>{for(let b=R.length-1;b>=0;b-=1){let T=R[b]?.imageRecognition;if(T)return T}},[R]),P=Se(()=>R.flatMap(b=>b.subjectAdapters??[]),[R]),A=Se(()=>{for(let b=R.length-1;b>=0;b-=1){let T=R[b]?.videoTracking;if(T)return T}},[R]),ne=Se(()=>{for(let b=R.length-1;b>=0;b-=1){let T=R[b]?.videoSegmentation;if(T)return T}},[R]),re=Se(()=>!$||s===!1?s:{...typeof s=="object"?s:{},recognition:$},[$,s]),ee=Se(()=>[...P,...a,...n],[P,n,a]),oe=Ey({enabled:e,active:I.isAnnotating||I.annotations.some(b=>b.target?.adapter==="see:image"),configuration:re,adapters:ee}),U=Se(()=>!A&&!ne||d===!1?d:{...typeof d=="object"?d:{},...A?{tracking:A}:{},...ne?{segmentation:ne}:{}},[ne,A,d]),fe=Ay({enabled:e,configuration:U,adapters:oe}),ge=(!e||re===!1||ee.some(b=>b.surfaceKind==="image"||b.id==="see:image")||oe.some(b=>b.surfaceKind==="image"||b.id==="see:image"))&&(!e||U===!1||oe.some(b=>b.surfaceKind==="video"||b.id==="see:video")||fe.some(b=>b.surfaceKind==="video"||b.id==="see:video")),K=Se(()=>new Xm(fe),[fe]),[Te,Me]=j(!1),Ee=W(K);Ee.current=K,O(()=>{let b=!1;return Me(!1),ge?(K.whenReady().then(()=>{b||Me(!0)}),()=>{b=!0}):()=>{}},[ge,K]),O(()=>()=>K.destroy(),[K]);let Ge=k?.bindSubjects;O(()=>Ge?.(K),[Ge,K]);let X=ey(r,e&&!!x,x),Ne=X.dismissQuestion,ve=X.clearEvents;O(()=>{p&&(typeof window<"u"&&(window.__POPMELT_PROJECT_ID__=p,mu()),h(p),g(!0))},[p]);let Fe=W(null),qe=W(null),[je,$e]=j(null),ce=Vg()??r,{onCanvasFocusChange:rt,onCanvasActivity:at,inspectingElement:Be,inspectingElements:Ie}=ry(e&&X.isConnected&&I.isAnnotating,ce,{getCommentMeta:c,registry:K,state:I,screenshotOptions:{nativeCapture:b=>gu(ce,b),captureSurfaces:()=>K.captureSurfaces()}}),_e=J(b=>gu(ce,b),[ce]),_t=J(async()=>{let b=Math.min(1,1200/Math.max(1,window.innerWidth));return Qf(()=>_e({url:window.location.href,clip:{x:window.scrollX,y:window.scrollY,width:window.innerWidth,height:window.innerHeight},scale:b}),async()=>{let[T]=await Wi(document.body,Fe.current,[],{dpr:b,viewportOnly:!0,captureSurfaces:()=>K.captureSurfaces()});return T??null})},[_e,K]),wt=W(new Map),Pt=W(new Set),kt=W(!1);O(()=>{if(!ce)return;let b=new Set(I.annotations.flatMap(de=>de.attachments?.map(le=>le.id)??[])),T=Pt.current,B=[...b].filter(de=>!T.has(de)),G=[...T].filter(de=>!b.has(de));Pt.current=b,B.length>0&&yu(ce,B).catch(()=>{}),G.length>0&&Promise.all(G.map(de=>Bs(ce,de).catch(()=>{})))},[ce,I.annotations]);let lt=W(new Map),Ke=W(new Map),[,jt]=j(0),[Vn,zt]=j(null),rn=W(!1),Oe=bs(),$t=J((b,T,B,G,de)=>{let le=[],he=ue=>{let Re=URL.createObjectURL(ue);return le.push(Re),Re},pe,Pe;G instanceof Map?(Pe=Object.fromEntries(Array.from(G,([ue,Re])=>[ue,he(Re)])),pe=Object.values(Pe)[0]):pe=he(G);let ze=de&&de.size>0?Object.fromEntries(Array.from(de,([ue,Re])=>[ue,Re.map(he)])):void 0;for(Ke.current.get(b)?.objectUrls.forEach(ue=>URL.revokeObjectURL(ue)),Ke.current.delete(b),Ke.current.set(b,{objectUrls:le,message:{role:"human",timestamp:Date.now(),jobId:T,feedbackSummary:zS(B),requestText:$y(B),requestItems:zy(B),...B.meta?{meta:B.meta}:{},...pe?{screenshotUrl:pe}:{},...Pe?{screenshotUrls:Pe}:{},...ze?{imageUrls:ze}:{}}});Ke.current.size>MS;){let ue=Ke.current.keys().next().value;if(!ue)break;Ke.current.get(ue)?.objectUrls.forEach(Re=>URL.revokeObjectURL(Re)),Ke.current.delete(ue)}jt(ue=>ue+1)},[]);O(()=>()=>{for(let b of Ke.current.values())b.objectUrls.forEach(T=>URL.revokeObjectURL(T));Ke.current.clear()},[]);let y=k?.modelSelectionLocked??!1,ae=k?.inheritedModelSelection,[be,Ye]=j(()=>typeof window>"u"?"codex":localStorage.getItem(Vl)||"codex"),[At,Tt]=j(()=>{if(typeof window>"u")return 0;let b=localStorage.getItem(Gl);return b&&parseInt(b,10)||0}),Ae=y?ae?.provider??"codex":be,[Ze,Dt]=j(()=>{if(typeof window>"u")return{};try{return JSON.parse(localStorage.getItem(Of)||"{}")}catch{return{}}}),[me,We]=j([]),[Ve,gt]=j({}),[ot,Qe]=j(0),[Mt,Ue]=j(!1),En=Se(()=>nh(Ve.codex??[]),[Ve.codex]),{index:Dn,select:An}=$u(En,Mt,!y&&Ae==="codex","codex"),[po,Gn]=j({}),[ut,ur]=j(null),[Xt,Hn]=j(null),[Ht,pr]=j(null),[Rt,Nn]=j("idle"),[fo,wn]=j(null),On=W(null),Fr=J(b=>{let T=Object.entries(b.providers).filter(([,le])=>le.available).map(([le])=>le);T.length>0&&We(T);let B={},G={};for(let[le,he]of Object.entries(b.providers))he.models?.length&&(B[le]=he.models),he.mcp&&(G[le]=he.mcp);let de=On.current;if(de&&de.provider!=="codex"){let le=B[de.provider]?.findIndex(he=>he.id===de.id);le!==void 0&&le>=0&&Tt(le)}gt(B),Gn(G),Ue(!0)},[]),Cn=J(async b=>{if(!X.isConnected)return;let T=await ug(ce,b);T&&Fr(T)},[Fr,X.isConnected,ce]);O(()=>{Cn(Ae)},[Ae,X.capabilitiesVersion,ot,Cn]),O(()=>{if(!X.isConnected){ur(null),Hn(null),pr(null);return}let b=!1;return Ma(ce).then(T=>{b||(ur(T?.version??null),Hn(T?.projectRoot??null),pr(T?.execution??null))}),()=>{b=!0}},[X.isConnected,X.capabilitiesVersion,ot,ce]),O(()=>{if(Rt==="idle"||Rt==="restarting")return;let b=window.setTimeout(()=>{Nn("idle"),wn(null)},Rt==="ok"?4e3:8e3);return()=>window.clearTimeout(b)},[Rt]),O(()=>{if(!y&&me.length>0&&!me.includes(Ae)){let b=me[0];Ye(b),localStorage.setItem(Vl,b)}},[me,Ae,y]);let Kt=Se(()=>y?[{id:ae?.model??"",label:ae?.label??"Waiting for host",source:"static"}]:Ae==="codex"?En:Ae==="claude"?rh(Ve.claude??xs):Ve[Ae]?.length?Ve[Ae]:Ae==="copilot"?[...gc]:Ae==="omp"?[...yc]:[...xs],[y,ae?.model,ae?.label,Ve,En,Ae]),{index:Mn,select:Qt}=$u(Kt,Mt,!y&&Ae==="claude","claude",Lh),on=y?0:Ae==="codex"?Dn:Ae==="claude"?Mn:At,qt=Kt[on]??Kt[0],fr=k?.setHostModelSelection;O(()=>{if(!fr||!Mt||!X.isConnected||!me.includes(Ae))return;let b=!1,T,B=()=>{b||fr({provider:Ae,model:qt.id,label:qt.label}).catch(()=>{b||(T=setTimeout(B,2e3))})};return T=setTimeout(B,0),()=>{b=!0,clearTimeout(T)}},[fr,Mt,X.isConnected,me,Ae,qt.id,qt.label]),On.current={provider:Ae,id:qt.id};let Fn=`${Ae}:${qt.id||"default"}`,Sn=Se(()=>Ze[Fn]??{},[Ze,Fn]);O(()=>{if(!e||x||m)return;let b=!1;return fetch("/popmelt/status").then(T=>T.ok?T.json():null).then(T=>{if(b)return;let B=typeof window<"u"&&T?.devOrigin===window.location.origin,G=T?.projectId&&(B||T.projectIdVerified===!0)?T.projectId:null;G&&typeof window<"u"&&(window.__POPMELT_PROJECT_ID__=G,mu()),h(G),g(!0)}).catch(()=>{b||g(!0)}),()=>{b=!0}},[e,x,m]),O(()=>{if(y||Ae==="codex"||Ae==="claude")return;let b=localStorage.getItem(`${Yd}:${Ae}`),T=b!==null?Kt.findIndex(G=>G.id===b):Ae==="omp"?Kt.findIndex(G=>G.isDefault):-1,B=T>=0?T:on<Kt.length?-1:0;B<0||B===on||(Tt(B),localStorage.setItem(Gl,String(B)))},[on,Kt,Ae,y]);let _r=J(b=>{if(y)return;if(b==="codex"||b==="claude"){Ye(b),localStorage.setItem(Vl,b);return}let T=Ae,B=b==="copilot"?[...gc]:b==="omp"?[...yc]:[...xs],G=Ve[b]&&Ve[b].length>0?Ve[b]:B;Ye(b),localStorage.setItem(Vl,b);let de=HS(T,b,on,Kt,G);Tt(de),localStorage.setItem(Gl,String(de));let le=G[de];le&&localStorage.setItem(`${Yd}:${b}`,le.id)},[on,Kt,Ae,Ve,y]),Yo=J(b=>{if(y)return;Tt(b),localStorage.setItem(Gl,String(b));let T=Kt[b];T&&(Ae==="codex"&&An(T.id),Ae==="claude"&&Qt(T.id),localStorage.setItem(`${Yd}:${Ae}`,T.id))},[Kt,Ae,y,An,Qt]),Nt=J(b=>{Dt(T=>{let B={...T,[Fn]:b};return localStorage.setItem(Of,JSON.stringify(B)),B})},[Fn]),[Zt,sn]=j(()=>oh()),[hr,mr]=j(null),Wr=Se(()=>hr?new Set(hr.annotationIds):null,[hr]),gr=J(()=>mr(null),[]),et=J(b=>{sn(b),ih(b)},[]),yr=J(b=>Gd(b,i),[i]),[Ei,dn]=j(()=>({openThreadId:null,imprintStashedThreadId:null,toolbarSuspendedThreadId:null})),{openThreadId:He,imprintStashedThreadId:gn,toolbarSuspendedThreadId:cn}=Ei,en=W(0),Qn=W({toolbarExpanded:I.isAnnotating,imprintActive:I.activeTool==="model"});Qn.current={toolbarExpanded:I.isAnnotating,imprintActive:I.activeTool==="model"};let[Wt,da]=j(0),Vt=J(b=>{(b.type==="open_thread"||b.type==="close_thread")&&(en.current+=1),dn(T=>SS(T,b))},[]),[Zn,yn]=j(null),Xo=W(null),[st,un]=j(new Set),[_n,er]=j(null),[tr,vr]=j(null),[br,ho]=j(new Set),[Br,Jr]=j(new Set),[xr,vn]=j(new Set),[Wn,mo]=j({}),ca=Se(()=>new Set(Object.keys(Wn)),[Wn]),[Ko,wr]=j(null);O(()=>{er(null),x&&(un(Zl(x)),er(x),localStorage.removeItem(Ql))},[x]),O(()=>{if(k||!x||!X.isConnected)return;let b=!1;yn(null);let T=en.current,B=Bi(Xd,x),G=localStorage.getItem(B);if(localStorage.removeItem(Xd),!G){yn(x);return}return Yt(`${ce}/thread/${encodeURIComponent(G)}`).then(de=>{b||T!==en.current||(de.ok?Vt({type:"restore_thread",threadId:G,...Qn.current}):localStorage.removeItem(B))}).catch(()=>{}).finally(()=>{b||yn(x)}),()=>{b=!0}},[Vt,X.isConnected,x,ce,k]),O(()=>{if(k||!x||Zn!==x)return;let b=Bi(Xd,x),T=He??gn??cn;T?localStorage.setItem(b,T):localStorage.removeItem(b)},[x,gn,He,Zn,cn,k]);let C=k?`popmelt-in-flight-jobs:${x}:participant:${k.participantId}`:"popmelt-in-flight-jobs",[_,ye]=j(()=>{try{let b=localStorage.getItem(C);return b?JSON.parse(b):{}}catch{return{}}}),[Ce,ke]=j(new Map);O(()=>{try{Object.keys(_).length>0?localStorage.setItem(C,JSON.stringify(_)):localStorage.removeItem(C)}catch{}},[_,C]),O(()=>{let b=T=>{if(T.key===C)try{let B=T.newValue?JSON.parse(T.newValue):{};ye(B)}catch{}};return window.addEventListener("storage",b),()=>window.removeEventListener("storage",b)},[C]);let De=W(new Map),tt=W(new Map),ft=W(new Map),Le=J((b,T,B)=>{let G=tt.current.get(b)??[],de=ft.current.get(b);ke(le=>ah(le,b,T,B,G,de))},[]);O(()=>{for(let[b,T]of Object.entries(_)){let B=Uo(T,I.annotations);B.length>0&&De.current.set(b,B);let G=new Set(T.styleSelectors);for(let de of B){let le=I.annotations.find(he=>he.id===de);if(le&&(le.linkedSelector&&G.add(le.linkedSelector),le.groupId))for(let he of I.annotations)he.groupId===le.groupId&&he.linkedSelector&&G.add(he.linkedSelector)}G.size>0&&tt.current.set(b,Array.from(G)),T.threadId&&ft.current.set(b,T.threadId)}},[_,I.annotations]);let Bt=W("");O(()=>{if(I.annotations.length===0)return;let b=Object.keys(_).sort().join(",");if(b===Bt.current)return;Bt.current=b;let T=new Set;for(let G of Object.values(_))for(let de of Uo(G,I.annotations))T.add(de);let B=I.annotations.flatMap(G=>{if(T.has(G.id)||G.threadId)return[];let de=G.status??"pending";return de==="in_flight"?[G.id]:de==="pending"&&G.captured?[G.id]:[]});B.length>0&&w({type:"SET_ANNOTATION_STATUS",payload:{ids:B,status:"dismissed"}})},[I.annotations,_,w]);let pn=Se(()=>{let b=new Set;for(let T of Object.values(_))for(let B of Uo(T,I.annotations))b.add(B);return b},[_,I.annotations]),Sr=Se(()=>Du(X.events),[X.events]),go=Se(()=>{let b=new Map,T={focus_set:"Investigating",focus_shifted:"Refocusing",evidence_updated:"Checking",hypothesis_changed:"Reframing",assumption_abandoned:"Reconsidering",uncertainty_identified:"Clarifying",next_observation_selected:"Checking"};for(let B of X.events){if(B.type!=="orientation")continue;let G=String(B.data.jobId??""),de=B.data.orientation,le=de?.transition?T[de.transition]:void 0;if(!G||!le)continue;let he=_[G],pe=he?Uo(he,I.annotations):De.current.get(G)??[];for(let Pe of pe)b.set(Pe,le)}for(let B of Sr)if(_[B])for(let G of Uo(_[B],I.annotations))b.set(G,"Approval needed");return b},[X.events,_,I.annotations,Sr]),yo=Se(()=>{let b=new Set(X.activeJobIds),T=new Set;for(let[B,G]of Object.entries(_))if(b.has(B))for(let de of Uo(G,I.annotations))T.add(de);return T},[_,X.activeJobIds,I.annotations]),qr=Se(()=>lh(X.events,X.lastCompletedJobId),[X.events,X.lastCompletedJobId]),es=Se(()=>{let b=new Set(vc(Object.keys(_),X.activeJobIds,qr)),T=Object.entries(_).filter(([de])=>b.has(de)),B=T.length,G=new Map;return T.forEach(([,de],le)=>{let he=`(${le+1}/${B})`;for(let pe of Uo(de,I.annotations))G.set(pe,he)}),G},[_,X.activeJobIds,qr,I.annotations]),Ua=Se(()=>{let b=new Set(X.activeJobIds),T=new Set(X.activeJobIds.flatMap(G=>{let de=X.activeJobThreads[G]??_[G]?.threadId;return de?[de]:[]})),B=sh(Ce,T);for(let[G,de]of Object.entries(_))if(b.has(G)&&!(!de.global&&de.routePathnames?.length&&!de.routePathnames.includes(Oe)))for(let le of de.styleSelectors)B.add(le);return B},[_,X.activeJobIds,X.activeJobThreads,Ce,Oe]),Ai=Se(()=>{let b=new Map;for(let[T,B]of Object.entries(_))if(B.threadId&&!(!B.global&&B.routePathnames?.length&&!B.routePathnames.includes(Oe)))for(let G of B.styleSelectors)b.set(G,T);return b},[_,Oe]),ua=Se(()=>{let b=new Set(X.activeJobIds),T=new Map;for(let[B,G]of Object.entries(_))if(b.has(B)&&!(!G.global&&G.routePathnames?.length&&!G.routePathnames.includes(Oe))){for(let de of G.styleSelectors)T.set(de,G.color);for(let de of Uo(G,I.annotations)){let le=I.annotations.find(he=>he.id===de);if(le&&(le.linkedSelector&&T.set(le.linkedSelector,G.color),le.groupId))for(let he of I.annotations)he.groupId===le.groupId&&he.linkedSelector&&T.set(he.linkedSelector,G.color)}}return T},[_,X.activeJobIds,I.annotations,Oe]),Ci=W(I.annotations);Ci.current=I.annotations;let vo=W(I.styleModifications);vo.current=I.styleModifications;let Vo=W(_);Vo.current=_,O(()=>{let b=null,T=0,B=()=>{let le=window.location.pathname;fu(vo.current.filter(he=>!he.pathname||he.pathname===le))},G=()=>{if(Object.keys(Vo.current).length>0)return;let le=Ci.current,he=vo.current,pe=[],Pe=[];for(let ze of le){if(!ze.linkedSelector||!ze.linkedSelector.startsWith("[data-pm=")||ze.pathname||ze.captured||ze.status&&ze.status!=="pending")continue;let ue=hn(ze.linkedSelector);!ue&&ze.elements?.[0]?.selector&&(ue=hn(ze.elements[0].selector)),ue||pe.push(ze.linkedSelector)}for(let ze of he)ze.pathname&&ze.pathname!==window.location.pathname||Gm(ze)||Pe.push(ze.selector);(pe.length>0||Pe.length>0)&&w({type:"CLEANUP_ORPHANED",payload:{linkedSelectors:pe,styleSelectors:Pe}})},de=Hu(le=>{le.some(he=>he.addedNodes.length>0)&&(window.cancelAnimationFrame(T),T=window.requestAnimationFrame(B)),le.some(he=>he.removedNodes.length>0)&&(b&&clearTimeout(b),b=setTimeout(G,3e3))});return()=>{de.disconnect(),window.cancelAnimationFrame(T),b&&clearTimeout(b)}},[w]);let bo=W(typeof window<"u"?window.location.pathname:"/");O(()=>{let b=G=>{if(rn.current)return;let de=window.location.pathname;if(G===de)return;let le=Ci.current.filter(pe=>pe.pathname===G&&(pe.status??"pending")==="pending");if(console.log(`[Popmelt] Navigation from ${G} \u2192 ${de}, ${le.length} pending annotations on departing page`),le.length===0)return;let he=Fe.current;if(!he){console.warn("[Popmelt] No canvas ref for capture-on-leave");return}if(Wi(document.body,he,le,{dpr:1,captureSurfaces:()=>Ee.current.captureSurfaces()}).then(pe=>ys(pe)).then(pe=>{pe?(lt.current.set(G,pe),console.log(`[Popmelt] Cached screenshot for ${G} (${(pe.size/1024).toFixed(0)}KB)`)):console.warn(`[Popmelt] Capture-on-leave produced no blob for ${G}`)}).catch(pe=>{console.warn("[Popmelt] Capture-on-leave failed:",pe)}),lt.current.size>20){let pe=[...lt.current.entries()];lt.current=new Map(pe.slice(-10))}},T=G=>{let de=G.detail?.prevPath;de&&(b(de),bo.current=window.location.pathname)},B=()=>{let G=bo.current;b(G),bo.current=window.location.pathname};return window.addEventListener("popmelt:locationchange",T),window.addEventListener("popstate",B),()=>{window.removeEventListener("popmelt:locationchange",T),window.removeEventListener("popstate",B)}},[]),O(()=>{X.lastCompletedJobId&&X.lastCompletedJobId in _&&ye(b=>{let{[X.lastCompletedJobId]:T,...B}=b;return B})},[X.lastCompletedJobId,_]);let Rn=W(new Set),xo=W(!1);O(()=>{if(!X.isConnected){xo.current=!1;return}if(xo.current)return;xo.current=!0;let b={...Vo.current};Ma(ce).then(async T=>{if(!T)return;let B=T.activeJobs??[],G=T.recentJobs??[],de=[...B,...T.queuedJobs??[]],le=new Set(de.map(pe=>pe.id)),he=new Set;for(let pe of Object.values(b))if(pe.annotationIds)for(let Pe of pe.annotationIds)he.add(Pe);for(let pe of I.annotations){let Pe=pe.status??"pending";(Pe==="sending"||Pe==="in_flight"||pe.captured&&pe.threadId&&(pe.replyCount??0)===0)&&he.add(pe.id)}ye(pe=>{let Pe={...pe},ze=Date.now();for(let Re of Object.keys(Pe)){if(Re.startsWith("_pending_")){let ht=parseInt(Re.replace(/^_pending_(?:reply_)?/,""),10);!isNaN(ht)&&ze-ht>3e4&&delete Pe[Re];continue}Re in b&&!le.has(Re)&&(T.queuedJobs!==void 0||G.some(ht=>ht.id===Re))&&delete Pe[Re]}for(let Re of de)if(!Pe[Re.id]&&(Re.annotationIds?.length||Re.threadId)){let ht=Re.kind,Lt=Array.from(new Set((Re.annotationIds??[]).map(Gr=>I.annotations.find(Lr=>Lr.id===Gr)?.pathname||Oe).filter(Boolean)));Pe[Re.id]={annotationIds:Re.annotationIds??[],styleSelectors:[],color:ht==="project_model"&&Re.standalone===!0?Kd:Re.color??"#888",threadId:Re.threadId,kind:ht,routePathnames:Lt.length>0?Lt:void 0,global:ht==="synthesize"||ht==="project_model"&&Re.standalone===!0}}let ue=new Set;for(let Re of G)if(Re.annotationIds)for(let ht of Re.annotationIds)ue.add(ht);for(let Re of Object.keys(Pe)){if(!Re.startsWith("_pending_"))continue;let ht=Pe[Re];ht&&ht.annotationIds.some(Lt=>ue.has(Lt))&&delete Pe[Re]}return Pe});for(let pe of G)if(pe.annotationIds?.length&&pe.annotationIds.some(Pe=>he.has(Pe))&&!Rn.current.has(pe.id)){if(pe.status==="error"){Rn.current.add(pe.id),w({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:pe.annotationIds,threadId:pe.threadId}});continue}if(pe.status==="done")try{let Pe=await vu(ce,pe.id),ze=Pe?.events.find(Re=>Re.type==="done"),ue=Pe?.events.find(Re=>Re.type==="question");Rn.current.add(pe.id),ue&&typeof ue.question=="string"?w({type:"SET_ANNOTATION_QUESTION",payload:{ids:pe.annotationIds,question:ue.question,threadId:ue.threadId??pe.threadId??""}}):ze&&Array.isArray(ze.resolutions)&&ze.resolutions.length>0?w({type:"APPLY_RESOLUTIONS",payload:{resolutions:ze.resolutions,threadId:ze.threadId??void 0,jobId:pe.id}}):w({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:pe.annotationIds,threadId:ze?.threadId??pe.threadId,jobId:pe.id}})}catch{Rn.current.add(pe.id);let Pe=X.pendingQuestions.find(ze=>ze.jobId===pe.id);w(Pe?{type:"SET_ANNOTATION_QUESTION",payload:{ids:pe.annotationIds,question:Pe.question,threadId:Pe.threadId}}:{type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:pe.annotationIds,threadId:pe.threadId,jobId:pe.id}})}}})},[X.isConnected,X.pendingQuestions,ce,w,I.annotations,Oe]),O(()=>{let b=X.events.filter(T=>T.type==="done");for(let T of b){let B=T.data.jobId;if(Rn.current.has(B))continue;if(zd(X.events,B)==="Has a question"){Le(B,"waiting_input","Question");let de=X.pendingQuestions.find(ze=>ze.jobId===B),le=[...X.events].reverse().find(ze=>ze.type==="question"&&ze.data.jobId===B),he=Array.isArray(T.data.annotationIds)?T.data.annotationIds:Array.isArray(le?.data.annotationIds)?le.data.annotationIds:_[B]?.annotationIds??De.current.get(B)??[],pe=de?.question??(typeof le?.data.question=="string"?le.data.question:void 0),Pe=de?.threadId??(typeof le?.data.threadId=="string"?le.data.threadId:void 0)??(typeof T.data.threadId=="string"?T.data.threadId:void 0);pe&&Pe&&he.length>0&&(Rn.current.add(B),w({type:"SET_ANNOTATION_QUESTION",payload:{ids:he,question:pe,threadId:Pe}}));continue}Rn.current.add(B),Le(B,"resolved",zd(X.events,B));let G=tt.current.get(B)??_[B]?.styleSelectors??[];if(G.length>0&&w({type:"SETTLE_CAPTURED_STYLES",payload:{selectors:G}}),Array.isArray(T.data.resolutions)&&T.data.resolutions.length>0)w({type:"APPLY_RESOLUTIONS",payload:{resolutions:T.data.resolutions,threadId:T.data.threadId,jobId:B}});else{let de=Array.isArray(T.data.annotationIds)?T.data.annotationIds:_[B]?.annotationIds??De.current.get(B)??[];de.length>0&&w({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:de,threadId:T.data.threadId,jobId:B}})}}},[X.events,X.pendingQuestions,w,_,Le]),O(()=>{let b=X.events.filter(T=>T.type==="error");for(let T of b){let B=T.data.jobId;if(Rn.current.has(B))continue;Rn.current.add(B),Le(B,"failed","Failed");let G=Array.isArray(T.data.annotationIds)?T.data.annotationIds:_[B]?.annotationIds??De.current.get(B)??[];G.length!==0&&w({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:G,threadId:T.data.threadId}})}},[X.events,w,_,Le]);let Ir=W("__uninitialized__"),Go=k?.participantId,wo=k?.isHost,Ur=`${x??"pending"}:participant:${Go??"standalone"}`,[Qo,pa]=j(null);O(()=>{if(!X.isConnected){Ir.current="__uninitialized__";return}if(!Te||_n!==x)return;let b=new Set(I.annotations.flatMap(he=>he.threadId?[he.threadId]:[])),T=new Set([...Object.values(X.activeJobThreads),...Object.entries(_).filter(([he])=>X.activeJobIds.includes(he)).flatMap(([,he])=>he.threadId?[he.threadId]:[])]),B=I.annotations.filter(he=>{if(!he.threadId||(he.replyCount??0)>0||T.has(he.threadId))return!1;let pe=he.status??"pending";return pe!=="sending"&&pe!=="waiting_input"&&pe!=="needs_review"}),G=[`plane:${Ur}:${wo===!0}`,...B.map(he=>`${he.id}:${he.threadId}`),...Array.from(b).map(he=>`represented:${he}`),...Array.from(T).map(he=>`active:${he}`)].sort().join("|");if(G===Ir.current)return;Ir.current=G;let de=!1,le=!1;return Yt(`${ce}/threads/recent?limit=200`).then(he=>he.ok?he.json():[]).then(async he=>{if(de)return;let pe=Go?{participantId:Go,isHost:wo}:null,Pe=he.filter(xe=>Nf(xe,pe));pa({scope:Ur,threadIds:new Set(Pe.map(xe=>xe.id))});let ze=new Set(he.filter(xe=>!Nf(xe,pe)).map(xe=>xe.id)),ue=dh(Pe,Oe,xe=>{let bt=K.resolve(xe);return bt?[bt.selector]:null}),Re=new Set([...X.activeJobIds,...Object.keys(_)]);ho(ch(Pe,T)),Jr(uh(Pe)),vn(ph(Pe));let ht=Object.fromEntries(Pe.flatMap(xe=>xe.pendingQuestion?[[xe.id,xe.pendingQuestion]]:[]));mo(ht);let Lt=new Set(Object.keys(ht)),Gr=new Set(Pe.filter(xe=>!xe.pendingQuestion&&(xe.hasReply??(xe.messageCount>1&&!xe.hasError))).map(xe=>xe.id)),Lr=new Set(Pe.filter(xe=>xe.hasError&&!xe.hasReply).map(xe=>xe.id));for(let xe of I.annotations){let bt=Pe.find(Ln=>Ln.id===xe.threadId)?.color;bt&&bt!==xe.color&&w({type:"UPDATE_ANNOTATION_COLOR",payload:{id:xe.id,color:bt}})}for(let xe of I.annotations){if(!xe.threadId)continue;let bt=ht[xe.threadId];bt&&(xe.status==="waiting_input"&&xe.question===bt||w({type:"SET_ANNOTATION_QUESTION",payload:{ids:[xe.id],question:bt,threadId:xe.threadId}}))}for(let xe of I.annotations)!xe.threadId||!Lr.has(xe.threadId)||xe.status!=="failed"&&w({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:[xe.id],threadId:xe.threadId}});for(let xe of B)!xe.threadId||Lt.has(xe.threadId)||!Gr.has(xe.threadId)||w({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:[xe.id],threadId:xe.threadId,jobId:`thread-recovery:${xe.threadId}`}});let Sa=Date.now()-7200*1e3,ai=Zl(x),Pr=Pe.filter(xe=>(xe.hasReply??(xe.messageCount>1&&!xe.hasError))&&xe.updatedAt>=Sa&&!b.has(xe.id)&&!ai.has(xe.id)),Lo=await Promise.all(Pr.map(async xe=>{let bt=await Yt(`${ce}/decision/${encodeURIComponent(xe.id)}`);if(!bt.ok)return[];let Ln=(await bt.json()).decision;if(!Ln?.annotations?.length)return[];let Pn="/";try{Pn=new URL(Ln.url).pathname}catch{}if(Pn!==Oe)return[];let In=Ln.color??fh("oklch(0.628 0.258 29)",I.annotations,Oe);return Ln.annotations.flatMap(vt=>{if(!vt.instruction)return[];let Ni=vt.target?K.resolve(vt.target)??(vt.elements?.[0]?K.restore(vt.target,vt.elements[0]):null):null,Po=Ni?.selector??vt.linkedSelector;if(!Po)return[];let jn=Ni?.element??hn(Po)??(vt.elements?.[0]?.selector?hn(vt.elements[0].selector):null);if(!jn)return[];let ir=xn(jn),kn=Ln.resolutions?.find(si=>si.annotationId===vt.id);return[{id:vt.id,type:"text",points:[{x:ir.left+window.scrollX,y:ir.top+window.scrollY}],color:In,strokeWidth:2,text:vt.instruction,fontSize:12,timestamp:Ln.createdAt,captured:!0,status:kn?.status??"resolved",resolutionSummary:kn?.summary,replyCount:1,replyJobIds:[`thread-recovery:${xe.id}`],threadId:xe.id,pathname:vt.pathname??Pn,elements:vt.elements,linkedSelector:Po,...vt.target?{target:vt.target}:{},linkedAnchor:ir.top>=26?"top-left":"bottom-left"}]})}));if(de)return;let li=Lo.flat();li.length>0&&w({type:"MERGE_ANNOTATIONS",payload:{annotations:li}}),ke(xe=>hh(ue,new Map([...xe].filter(([,bt])=>!ze.has(bt.threadId))),Re)),w({type:"SETTLE_CAPTURED_STYLES",payload:{selectors:[...ue.values()].filter(xe=>xe.status==="resolved").flatMap(xe=>xe.selectors??[])}}),le=!0}).catch(()=>{de||(Ir.current="__uninitialized__")}),()=>{de=!0,!le&&Ir.current===G&&(Ir.current="__uninitialized__")}},[X.activeJobIds,X.activeJobThreads,X.isConnected,Oe,w,x,_n,_,ce,I.annotations,K,Te,Go,wo,Ur]);let Ya=W(new Set);O(()=>{let b=X.events.filter(T=>T.type==="error"&&T.data.cancelled);for(let T of b){let B=T.data.jobId;if(!B||Ya.current.has(B))continue;Ya.current.add(B);let G=_[B];G&&G.annotationIds.length>0&&w({type:"SET_ANNOTATION_STATUS",payload:{ids:G.annotationIds,status:"dismissed"}})}},[X.events,_,w]);let Zo=W(0);O(()=>{let b=X.incrementalResolutions;if(b.length<=Zo.current)return;let T=b.slice(Zo.current);Zo.current=b.length,w({type:"APPLY_RESOLUTIONS",payload:{resolutions:T}})},[X.incrementalResolutions,w]),O(()=>{X.incrementalResolutions.length===0&&(Zo.current=0)},[X.incrementalResolutions.length]);let ei=J(async()=>{let b=Fe.current;if(!b)return!1;let T=await Wi(document.body,b,I.annotations,{nativeCapture:_e,captureSurfaces:()=>K.captureSurfaces()});if(T.length===0)return!1;let B=await Zf(T,I.annotations,I.styleModifications,I.textModifications,I.domModifications);return B&&w({type:"MARK_CAPTURED"}),B},[I.annotations,I.styleModifications,I.textModifications,I.domModifications,w,_e,K]),ts=J((b,T)=>{let B=wt.current.get(b)||[];wt.current.set(b,[...B,...T])},[]),ns=J((b,T)=>{let B=new Set(T),G=(wt.current.get(b)??[]).filter((de,le)=>!B.has(le));G.length>0?wt.current.set(b,G):wt.current.delete(b)},[]),Xa=J(async()=>{if(k&&!k.canSend)return!1;let b=k?.captureVersion(),T=Fe.current;if(!T)return!1;Ae==="omp"&&Cn("omp");let B=I.annotations.filter(ue=>(ue.status??"pending")==="pending"),G=I.styleModifications.filter(ue=>!ue.captured&&!ue.awaitingReview&&(!ue.pathname||ue.pathname===Oe)),de=I.textModifications.filter(ue=>!ue.captured&&(!ue.pathname||ue.pathname===Oe)),le=I.domModifications.filter(ue=>!ue.captured&&(!ue.pathname||ue.pathname===Oe)),he=I.spacingTokenChanges.filter(ue=>!ue.captured);if(B.length===0&&G.length===0&&de.length===0&&le.length===0&&he.length===0)return!1;let pe=B.map(ue=>ue.id),Pe=!!k?.requiresApproval,ze=!1;return Pe&&N(ue=>new Set([...ue,...pe])),mh(Pe?[]:pe,w,async()=>{let ue=new Map;for(let Je of B){let Et=Je.pathname||Oe;ue.has(Et)||ue.set(Et,[]),ue.get(Et).push(Je)}let Re=new Map,ht=new Map;await Uu(Ee.current,ue.get(Oe)??[],Oe,ht);let Lt=[...ue.keys()].filter(Je=>Je!==Oe);if(Lt.length>0){let Je=Oe,Et={x:window.scrollX,y:window.scrollY};rn.current=!0;for(let St of Lt)try{let jr=lt.current.get(St),jo=ue.get(St)||[];if(jr&&!jo.some($o=>$o.target)){Re.set(St,jr),console.log(`[Popmelt] Reusing cached departing-page screenshot for ${St}`);continue}if(console.log(`[Popmelt] Navigating to ${St} for screenshot capture`),await Gd(St,i),window.location.pathname!==St){console.warn(`[Popmelt] Navigation to ${St} did not take effect (at ${window.location.pathname})`);continue}await Uu(Ee.current,jo,St,ht);let ci=await Wi(document.body,T,jo,{dpr:1,nativeCapture:_e,captureSurfaces:()=>K.captureSurfaces()}),zo=await ys(ci);zo&&(Re.set(St,zo),console.log(`[Popmelt] Captured ${St} (${(zo.size/1024).toFixed(0)}KB)`))}catch(jr){console.warn(`[Popmelt] Failed to capture ${St}:`,jr)}await Gd(Je,i),window.scrollTo(Et.x,Et.y),rn.current=!1}let Gr=B.filter(Je=>(Je.pathname||Oe)===Oe),Lr=await Wi(document.body,T,Gr.length>0?I.annotations:[],{dpr:1,nativeCapture:_e,captureSurfaces:()=>K.captureSurfaces()});if(Lr.length>0){let Je=await ys(Lr);Je&&Re.set(Oe,Je)}if(Re.size===0)return!1;let Sa=bc({annotations:I.annotations,styleModifications:I.styleModifications,textModifications:I.textModifications}),ai=Je=>{let Et=Sa.modificationNumberByKey.get(Rh(Je));return Et===void 0?Je:{...Je,annotationNumber:Et}},Pr=G.map(ai),Lo=de.map(ai),li;if(c)try{li=uc(await c({kind:"annotation",timestamp:Date.now(),url:window.location.href,pathname:Oe,annotations:B}))}catch(Je){return console.error("[Popmelt] Unable to capture comment metadata:",Je),!1}let xe=pc(B,Pr,void 0,he.length>0?he:void 0,Lo,le,li),bt=Cy(xe,B,wt.current);My(xe,bt,ht,Oe);let Ln=JSON.stringify(xe),Pn=ue.size>1;console.log(`[Popmelt] Submit: ${ue.size} page(s), ${Re.size} screenshot(s), pages: [${[...ue.keys()].join(", ")}], cached: [${[...lt.current.keys()].join(", ")}]`);let In=Pn?Re:Re.get(Oe)??Re,vt=[...G.map(Je=>Je.selector),...de.map(Je=>Je.selector),...le.map(Je=>Je.selector)],Ni=Array.from(new Set([...B.map(Je=>Je.pathname||Oe),...G.map(Je=>Je.pathname||Oe),...de.map(Je=>Je.pathname||Oe),...le.map(Je=>Je.pathname||Oe)])),Po=gh(B,I.activeColor),jn=[...vt,...B.flatMap(Je=>Je.linkedSelector?[Je.linkedSelector]:[])],ir=yh(jn,I.annotations.filter(Je=>(Je.pathname||Oe)===Oe),hn),kn=ws(jn,Ce,ir?.color??Po,hn),si=ir?.threadId??vh(jn,Ce),di=ir?.targetBindingId??bh(jn,Ce),tn=fc(kn),ar=`_pending_${Date.now()}`,Ia={annotationIds:pe,styleSelectors:vt,color:kn,threadId:void 0,routePathnames:Ni};if(!Pe){try{let Je=JSON.parse(localStorage.getItem(C)||"{}");Je[ar]=Ia,localStorage.setItem(C,JSON.stringify(Je))}catch{}ye(Je=>({...Je,[ar]:Ia}))}try{let Je=k?await k.send({screenshots:In,feedbackJson:Ln,color:tn,provider:Ae,model:qt.id,pastedImages:bt.size>0?bt:void 0,sourceId:Vs(),agentSettings:Sn},b):await bu(In,Ln,ce,tn,Ae,qt.id,bt.size>0?bt:void 0,Vs(),Sn,si,ir?.selectorAliases,di);if("pendingApproval"in Je){ze=!0,Je.threadId&&w({type:"SET_ANNOTATION_THREAD",payload:{ids:B.map(mt=>mt.id),threadId:Je.threadId}});try{let mt=JSON.parse(localStorage.getItem(C)||"{}");delete mt[ar],localStorage.setItem(C,JSON.stringify(mt))}catch{}return ye(mt=>{let{[ar]:fn,...Un}=mt;return Un}),!1}let{jobId:Et,threadId:St,color:jr,continuedThread:jo,continuationEligible:ci,targetBindings:zo=[]}=Je,$o=mt=>zo.find(fn=>mt.target?fn.anchor.type==="opaque"&&fn.anchor.adapter===mt.target.adapter&&fn.anchor.key===mt.target.key:!mt.linkedSelector||fn.anchor.type!=="dom"?!1:[fn.anchor.runtimeSelector,fn.anchor.structuralSelector,...fn.anchor.legacySelectors??[]].includes(mt.linkedSelector))?.id;St&&$t(St,Et,xe,In,bt.size>0?bt:void 0);for(let mt of bt.keys())wt.current.delete(mt);for(let mt of ue.keys())lt.current.delete(mt);let ui=jr??kn,ka={...Ia,color:ui,threadId:St};try{let mt=JSON.parse(localStorage.getItem(C)||"{}");delete mt[ar],mt[Et]=ka,localStorage.setItem(C,JSON.stringify(mt))}catch{}if(ye(mt=>{let{[ar]:fn,...Un}=mt;return{...Un,[Et]:ka}}),St&&vt.length>0&&ke(mt=>{let fn=new Map(mt),Un=new Set;for(let Jt of zo){if(Jt.anchor.type!=="dom")continue;let Qr=[Jt.anchor.runtimeSelector,Jt.anchor.structuralSelector,...Jt.anchor.legacySelectors??[]].filter(eo=>!!eo),Zr=vt.find(eo=>Qr.includes(eo));if(!Zr)continue;Un.add(Zr);let ss=[...Pr,...Lo].find(eo=>eo.selector===Zr);fn.set(Jt.id,{jobId:Et,threadId:St,status:"in_flight",color:ui,continuationEligible:Jt.continuationEligible??ci,targetBindingId:Jt.id,selectors:Qr,targetFingerprint:Jt.anchor.targetFingerprint,annotationNumber:ss?.annotationNumber})}for(let Jt of vt){if(Un.has(Jt))continue;let Qr=[...Pr,...Lo].find(Zr=>Zr.selector===Jt);fn.set(`job:${Et}:${Jt}`,{jobId:Et,threadId:St,status:"in_flight",color:ui,continuationEligible:ci,selectors:[Jt],annotationNumber:Qr?.annotationNumber})}return fn}),w({type:"MARK_CAPTURED",payload:{annotationIds:pe}}),St&&pe.length>0){for(let mt of pe)w({type:"UPDATE_ANNOTATION_COLOR",payload:{id:mt,color:ui}});for(let mt of B)w({type:"SET_ANNOTATION_THREAD",payload:{ids:[mt.id],threadId:St,targetBindingId:$o(mt)}})}return jo||w({type:"SET_COLOR",payload:xh({color:ui,threadId:St??`job:${Et}`,annotationIds:pe,annotations:I.annotations,pathname:Oe})}),!0}catch(Je){try{let Et=JSON.parse(localStorage.getItem(C)||"{}");delete Et[ar],localStorage.setItem(C,JSON.stringify(Et))}catch{}return ye(Et=>{let{[ar]:St,...jr}=Et;return jr}),console.error("[Pare] Failed to send to bridge:",Je),!1}}).then(ue=>(Pe&&!ze&&!ue&&(N(Re=>{let ht=new Set(Re);for(let Lt of pe)ht.delete(Lt);return ht}),q(++ie.current)),ue))},[I.annotations,I.styleModifications,I.textModifications,I.domModifications,I.spacingTokenChanges,I.activeColor,w,ce,Ae,qt.id,Sn,Oe,i,$t,_e,Ce,Cn,K,c,k,C]),Ka=J(()=>wh(kt,Xa,!1),[Xa]),Va=xy(e&&t&&X.isConnected&&!k,ce,x,I,{provider:Ae,model:qt.id,agentSettings:Sn}),dt=k?.view?{...Va,...k.view,toolbar:Z}:Va;D.current=dt.activePreview;let{onFocus:Ga,onActivity:Ct,onThread:rs}=oy(k?.reportAttention,k?.viewedParticipantId??k?.participantId??"",I.activeColor,!!(k?.canReadThreads&&I.isAnnotating&&!dt.isPeeking)),os=J(b=>{rt(b),Ga(b)},[rt,Ga]),fa=J(()=>{at(),Ct()},[at,Ct]),ha=J(async(b,T,B,G)=>{if(k&&!k.canReply)throw new Error("Edit permission is required to send thread messages.");Ae==="omp"&&Cn("omp"),vr(ue=>({threadId:b,sequence:(ue?.sequence??0)+1})),mo(ue=>{if(!(b in ue))return ue;let Re={...ue};return delete Re[b],Re});let de=Object.values(Vo.current).find(ue=>ue.threadId===b)?.color??I.annotations.find(ue=>ue.threadId===b)?.color??I.activeColor,le=I.annotations.filter(ue=>ue.threadId===b&&(ue.status==="waiting_input"||ue.status==="resolved"||ue.status==="needs_review")),he=le.map(ue=>ue.id),pe;if(c)try{pe=uc(await c({kind:"reply",timestamp:Date.now(),url:window.location.href,pathname:Oe,threadId:b,reply:T,annotations:le}))}catch(ue){console.error("[Popmelt] Unable to capture reply metadata:",ue);return}let Pe=`_pending_reply_${Date.now()}`,ze={annotationIds:he,styleSelectors:[],color:de,threadId:b};try{let ue=JSON.parse(localStorage.getItem(C)||"{}");ue[Pe]=ze,localStorage.setItem(C,JSON.stringify(ue))}catch{}ye(ue=>({...ue,[Pe]:ze}));try{let ue=fc(de),{jobId:Re}=await pg(b,T,ce,ue,Ae,qt.id,B,Vs(),Sn,{...G,...pe?{meta:pe}:{}}),ht={...ze};try{let Lt=JSON.parse(localStorage.getItem(C)||"{}");delete Lt[Pe],Lt[Re]=ht,localStorage.setItem(C,JSON.stringify(Lt))}catch{}return ye(Lt=>{let{[Pe]:Gr,...Lr}=Lt;return{...Lr,[Re]:ht}}),ke(Lt=>Sh(Lt,b,Re)),le.length>0&&w({type:"SET_ANNOTATION_STATUS",payload:{ids:he,status:"in_flight"}}),Ne(b),{jobId:Re}}catch(ue){try{let Re=JSON.parse(localStorage.getItem(C)||"{}");delete Re[Pe],localStorage.setItem(C,JSON.stringify(Re))}catch{}throw ye(Re=>{let{[Pe]:ht,...Lt}=Re;return Lt}),console.error("[Pare] Failed to send reply:",ue),ue}},[I.activeColor,I.annotations,ce,Ne,w,Ae,qt.id,Sn,Cn,c,Oe,k,C]);O(()=>{for(let b of X.pendingQuestions){Le(b.jobId,"waiting_input","Question");let T=b.annotationIds&&b.annotationIds.length>0?b.annotationIds:_[b.jobId]?.annotationIds??De.current.get(b.jobId);if((!T||T.length===0)&&b.threadId&&(T=I.annotations.filter(B=>B.threadId===b.threadId).map(B=>B.id)),T&&T.length>0){let B=new Set(T),G=I.annotations.filter(de=>B.has(de.id));if(G.length===0||G.every(de=>de.status==="waiting_input"&&de.question===b.question&&de.threadId===b.threadId))continue;w({type:"SET_ANNOTATION_QUESTION",payload:{ids:T,question:b.question,threadId:b.threadId}})}}},[X.pendingQuestions,w,_,I.annotations,Le]);let is=Se(()=>{if(X.activeJobId&&X.activeJobId in _)return _[X.activeJobId].color;let b=Object.values(_);return b.length>0?b[b.length-1].color:void 0},[X.activeJobId,_]),Yr=J((b,T=!1)=>{da(B=>B+1),!T&&I.activeTool==="model"&&w({type:"SET_TOOL",payload:"inspector"}),Vt({type:"open_thread",threadId:b})},[Vt,w,I.activeTool]),So=J(b=>{Q&&Yr(b)},[Yr,Q]),bn=J(()=>{Vt({type:"close_thread"})},[Vt]),ti=k?.deletePeerThread,kr=k?.deletedPeerThreadIds,Ot=Se(()=>new Set([...st,...kr??[]]),[st,kr]);O(()=>{He&&kr?.includes(He)&&bn()},[He,kr,bn]),O(()=>{if(!ti||!I.isAnnotating||!He)return;let b=T=>{!["Delete","Backspace"].includes(T.key)||T.metaKey||T.ctrlKey||T.altKey||Tm(T)||(T.preventDefault(),T.stopImmediatePropagation(),ti(He).then(bn).catch(()=>{}))};return window.addEventListener("keydown",b,!0),()=>window.removeEventListener("keydown",b,!0)},[ti,He,I.isAnnotating,bn]);let nr=k?.requestedThread;AS(dt.selectedId,nr,bn,So);let Ft=J(async b=>(await Yt(`${ce}/thread/${encodeURIComponent(b)}`)).status,[ce]),Xr=J(b=>{Vt({type:"restore_thread",threadId:b,...Qn.current})},[Vt]);wy(k?.navigation,dt.selectedId,X.isConnected&&Q,He??gn??cn,en,Ft,Xr);let[Kr,Io]=j(0),Tr=Ty(`${x}:${Kr}`,async b=>{if(!(await gg(b,ce)).archived)throw new Error("Thread not found")},b=>mg(b,ce),z);S.current=Tr.tryUndo;let ma=J(b=>{if(k&&!k.isHost){ti?.(b).catch(()=>{});return}if(Object.values(_).some(le=>le.threadId===b))return;He===b&&bn();let T=new Set(I.annotations.filter(le=>le.threadId===b).flatMap(le=>le.groupId?[le.groupId]:[])),B=I.annotations.filter(le=>le.threadId===b||le.groupId&&T.has(le.groupId)).map(le=>le.id),G=I.annotations.filter(le=>B.includes(le.id)),de=Array.from(Ce.entries()).filter(([,le])=>le.threadId===b);B.length>0&&w({type:"SET_ANNOTATION_STATUS",payload:{ids:B,status:"dismissed"}}),ke(le=>new Map(Array.from(le.entries()).filter(([,he])=>he.threadId!==b))),un(le=>new Set(le).add(b)),Ff([b],x),Tr.dismiss(b,()=>{for(let le of G)w({type:"SET_ANNOTATION_STATUS",payload:{ids:[le.id],status:le.status??"resolved"}});if(ke(le=>{let he=new Map(le);for(let[pe,Pe]of de)he.has(pe)||he.set(pe,Pe);return he}),un(le=>{let he=new Set(le);return he.delete(b),he}),x)try{let le=Zl(x);le.delete(b),localStorage.setItem(Bi(Ql,x),JSON.stringify([...le]))}catch{}})},[bn,w,x,I.annotations,Tr,_,Ce,He,k,ti]),Mi=J((b,T,B)=>{let G=_[b],de=tt.current.get(b),le=G?.annotationIds??B??[];if(G||le.length>0){let pe=new Set(G?.styleSelectors??[]);for(let Pe of le){let ze=I.annotations.find(ue=>ue.id===Pe);if(ze&&(ze.linkedSelector&&pe.add(ze.linkedSelector),ze.groupId))for(let ue of I.annotations)ue.groupId===ze.groupId&&ue.linkedSelector&&pe.add(ue.linkedSelector)}pe.size>0&&(de=Array.from(pe))}de?.length&&DS(de);let he=G?.threadId||T||ft.current.get(b);if(he){let pe=G?.kind==="project_model"&&(G.annotationIds?.length??0)===0;Xo.current=pe?Kd:G?.color??null,Yr(he,G?.kind==="synthesize")}},[_,Yr,I.annotations]),Qa=J((b,T)=>{if(!b){wr(null);return}let B=T??De.current.get(b);B&&B.length>0?wr(new Set(B)):wr(null)},[]),ni=J(async b=>{try{let T=b?`${ce}/cancel?jobId=${b}`:`${ce}/cancel`;await Yt(T,{method:"POST"})}catch{}},[ce]),Ri=J(async()=>{Nn("restarting"),wn("Restarting bridge");let b=await fg(ce,Ss,2e4);if(b.ok){await Gg(b.bridgeUrl??r,x),ur(b.status.version??Ss),Nn("ok"),wn(b.status.version?`Bridge restarted on ${b.status.version}`:"Bridge restarted"),Qe(T=>T+1);return}ur(b.status?.version??ut),Nn("error"),wn(b.error)},[ut,r,x,ce]),ga=Se(()=>{if(!He)return null;for(let b of Object.values(_))if(b.threadId===He&&b.kind){if(b.kind==="project_model"&&b.annotationIds.length>0)continue;return b.kind}return null},[He,_]),ko=ga==="project_model",Li=ga==="synthesize",{surface:Vr,phase:Pi,show:Er,leave:To,dismiss:Ar}=Ih({openDelayMs:0,exitDurationMs:Is}),rr=W(new Set),[Eo,Ao]=j(()=>new Set),as=J((b,T)=>{T?rr.current.add(b):rr.current.delete(b),Ao(new Set(rr.current)),rr.current.size>0?Er("toolbar"):To("toolbar")},[To,Er]),Cr=kS({toolbarExpanded:I.isAnnotating,toolbarSources:Eo,chromeHoverSurface:Vr,chromeHoverPhase:Pi,activeTool:I.activeTool,peerPlanePeeking:dt.isPeeking}),or=Cr.threadTemporarilyHidden,Gt=W(He);O(()=>{Vr&&IS(Gt.current,He,Vr)&&Ar(Vr),Gt.current=He},[Vr,Ar,He]),O(()=>{Vt(I.activeTool==="model"?{type:"enter_imprint",preserveOpenThread:Li}:{type:"leave_imprint"})},[Vt,I.activeTool,He,Li]),O(()=>{Vt({type:I.isAnnotating?"expand_toolbar":"collapse_toolbar"})},[Vt,I.isAnnotating]);let an=Se(()=>kh(He,_,X.activeJobIds,X.activeJobThreads,qr),[He,_,X.activeJobIds,X.activeJobThreads,qr]),Ut=He?I.annotations.find(b=>b.threadId===He):void 0,Bn=He?Array.from(Ce.values()).find(b=>b.threadId===He&&b.color)?.color:void 0,Jn=He?Ke.current.get(He):void 0,ya=Se(()=>{if(!He)return null;let b=[...X.events].reverse().find(T=>(T.type==="done"||T.type==="error")&&T.data.threadId===He);return typeof b?.data.jobId=="string"?b.data.jobId:null},[X.events,He]),ls=Se(()=>an?X.events.filter(b=>b.data.jobId===an):CS,[an,X.events]),ji=Se(()=>ko?Kd:Bn??Ut?.color??Xo.current??I.activeColor,[ko,Ut?.color,Bn,I.activeColor]),Co=!!(x&&_n===x),Mo=Se(()=>TS(I.annotations,st,Co?Ce.values():[]),[st,Co,Ce,I.annotations]),va=Se(()=>Th(Ce,st,Mo,Co),[st,Co,Ce,Mo]),Za=Se(()=>{let b=new Map;for(let T of I.annotations)T.threadId&&T.color&&b.set(T.threadId,T.color);for(let T of Ce.values())T.threadId&&T.color&&b.set(T.threadId,T.color);return b},[Ce,I.annotations]),el=[...va.values()].find(b=>b.threadId===He)?.annotationNumber,ba=xc({state:I,activeText:null,currentPathname:Oe,dismissedThreadIds:st,modifiedElementThreadStates:va}),zi=wc({state:I,pageAnnotations:ba.pageAnnotations,pageStyleModifications:ba.pageStyleModifications,pageTextModifications:ba.pageTextModifications}),$i=xw(Ut?zi.annotationGroupMap.get(Ut.id):void 0,el,{activePreview:!!dt.activePreview,annotationNumber:He?dt.threadAnnotationNumbers?.get(He):void 0}),ri=J(b=>{if(!He)return;let T=ES(Mo,He,b);T&&Yr(T)},[Mo,He,Yr]),oi=He!==null&&Mo.length>1&&Mo.includes(He),[Di,xa]=j(!1),Ro=W(!1),Mr=W(null),Hi=J(b=>{b?(Mr.current&&(clearTimeout(Mr.current),Mr.current=null),xa(!0)):Mr.current=setTimeout(()=>{xa(!1),Mr.current=null},150)},[]),ii=J(b=>{Hi(b),b?Er("job-stack"):rr.current.size>0?Er("toolbar"):To("job-stack")},[Hi,To,Er]);O(()=>{if(k)return;let b=X.workspaceGeneration;if(!x||b===void 0||!Number.isInteger(b)||b<0)return;let T=Sc(localStorage,x);if(T!==null&&b<T)return;let B=Eh(T,b);if(localStorage.setItem(Ic(x),String(b)),!B)return;if(Ro.current){Ro.current=!1;return}pu(I.styleModifications),Km(I.textModifications),Vm(I.domModifications),document.querySelectorAll("[data-pm]").forEach(de=>de.removeAttribute("data-pm")),w({type:"CLEAR"}),w({type:"CLEAR_ALL_STYLES"});let G=Ah(x);for(let de of[G.annotations,G.styleMods,G.textMods,G.domMods,G.spacingChanges])localStorage.removeItem(de);ks(localStorage),wt.current.clear(),lt.current.clear(),ye({}),ke(new Map),vr(null),ho(new Set),Jr(new Set),vn(new Set),mo({}),un(new Set),Io(de=>de+1),ve(),bn()},[X.workspaceGeneration,ve,bn,w,x,k,I.domModifications,I.styleModifications,I.textModifications]);let Rr=J(()=>{ks(localStorage),wt.current.clear(),lt.current.clear();let b=Array.from(new Set(I.annotations.flatMap(T=>T.threadId?[T.threadId]:[])));Ff(b,x),un(T=>{let B=new Set(T);for(let G of b)B.add(G);return B}),Ro.current=!0,hg(ce).then(({workspaceGeneration:T})=>{if(x){let B=Sc(localStorage,x);(B===null||T>B)&&localStorage.setItem(Ic(x),String(T))}Ro.current=!1}).catch(T=>{Ro.current=!1,console.warn("[Popmelt] Failed to clear bridge workspace:",T)}),Io(T=>T+1),ve(),bn(),ni()},[ve,bn,x,ni,ce,I.annotations]);O(()=>()=>{Mr.current&&clearTimeout(Mr.current)},[]);let[tl,qn]=j(!1);if(O(()=>{qn(!0)},[]),!e||!tl)return null;let wa=f(hc.Provider,{value:t?dt.toolbar??Z:null,children:M(K0,{children:[f(Ch.Provider,{value:Q?So:void 0,children:dt.overlay}),I.isAnnotating&&X.isConnected&&!dt.isPeeking&&!dt.activePreview&&f(Xc,{element:Be,elements:Ie,registry:K}),f(Yi.Provider,{value:!dt.activePreview&&!dt.isPeeking,children:f("div",{"data-devtools":"host-canvas",style:{display:dt.isPeeking||dt.activePreview?"none":"contents"},children:f(R0,{historyPreview:Vn,onFocusTargetChange:os,onFocusActivity:fa,bridgeUrl:ce,steeringContextStorageKey:x?ux(x):void 0,state:dt.activePreview?{...I,isAnnotating:!1,annotations:[],styleModifications:[],textModifications:[],domModifications:[]}:I,dispatch:w,onScreenshot:ei,inFlightAnnotationIds:pn,inFlightOrientationLabels:go,waitingApprovalJobIds:Sr,activeAnnotationIds:yo,queuePositionMap:es,inFlightStyleSelectors:Ua,inFlightStyleSelectorJobIds:Ai,inFlightSelectorColors:ua,modifiedElementThreadStates:va,dismissedThreadIds:st,onAttachImages:ts,onRemoveImages:ns,onCaptureInteractionFrame:_t,onSend:X.isConnected&&(!k||k.canSend)?Ka:void 0,onReply:X.isConnected&&(!k||k.canReply)?ha:void 0,onViewThread:X.isConnected&&Q?So:void 0,onCloseThread:bn,onArchiveThread:ma,onDeleteSubmittedAnnotation:k&&!k.isHost&&k.deletePeerAnnotations?b=>{k.deletePeerAnnotations(k.participantId,[b]).catch(()=>{})}:void 0,highlightedAnnotationIds:Ko,cycleFocusedAnnotationIds:Wr,onCanvasInteraction:gr,focusedThreadAnnotationId:Ut?.id,openThreadId:He,hasOpenThread:He!==null,externalCanvasRef:Fe,toolbarRef:qe,threadPanelElement:or?null:je,clearSignal:Kr,subjectRegistry:K,subjectRegistryReady:Te},`annotation-canvas:${x??"pending"}`)})}),f(ew,{zIndex:He!==null&&!or?10004:10003,children:M(G0,{children:[f(Mh,{onPreviewHistoryThread:zt,threadOpenRequest:Wt,projectId:x,state:I,hasExternalSendableItems:!!(dt.activePreview&&dt.approve),readOnlyPreview:dt.activePreview,dispatch:b=>{(!dt.activePreview||b.type==="SET_ANNOTATING")&&w(b)},onScreenshot:ei,onSendToClaude:dt.activePreview?dt.approve:X.isConnected&&(!k||k.canSend)?Ka:void 0,hasActiveJobs:Object.keys(_).length>0||X.activeJobIds.length>0,activeJobColor:is,onCrosshairHover:Hi,onClear:Rr,provider:Ae,onProviderChange:!y&&X.isConnected&&me.length>1?_r:void 0,availableProviders:me,modelIndex:on,modelCount:Kt.length,modelLabel:qt.label,models:Kt,agentSettings:Sn,onModelChange:!y&&X.isConnected?Yo:void 0,onModelMenuOpen:()=>{Cn(Ae)},onAgentSettingsChange:X.isConnected?Nt:void 0,onViewThread:X.isConnected&&Q?So:void 0,onNavigate:yr,annotationCycleFocus:hr,onAnnotationCycleFocusChange:mr,isThreadPanelOpen:He!==null&&!or&&!Li,hasOpenThreadPanel:He!==null&&!Li,projectPanelTemporarilyHidden:Cr.projectPanelTemporarilyHidden,onToolbarHoverChange:as,activeChromeHoverSurface:Vr,mcpStatus:po,bridgeUrl:ce,isBridgeConnected:X.isConnected,packageVersion:Ss,bridgeVersion:ut,projectRoot:Xt,projectRootAccess:Ht?.projectRoot,codexSandboxMode:Ht?.codex.sandboxMode,bridgeRestartState:Rt,bridgeRestartMessage:fo,onBridgeRestart:Ri,toolbarRef:qe,snapPosition:Zt,onSnapPositionChange:et},`annotation-toolbar:${x??"pending"}`),Q&&I.isAnnotating&&He&&f(wS,{onAttentionChange:rs,threadId:He,bridgeUrl:ce,accentColor:ji,initialMessages:Jn?[Jn.message]:void 0,completedJobId:ya,refreshKey:`${k?.pendingSubmissions?.find(b=>b.threadId===He)?.revision??""}:${X.events.findLast(b=>b.type==="thread_changed"&&b.data.threadId===He)?.data.jobId??""}`,isStreaming:an!==null,isQueued:an!==null&&!X.activeJobIds.includes(an)&&!qr.has(an),queuePosition:an&&!X.activeJobIds.includes(an)&&!qr.has(an)?(()=>{let b=vc(Object.keys(_),X.activeJobIds,qr),T=b.indexOf(an);return T>=0?`(${T+1}/${b.length})`:void 0})():void 0,activeJobId:an,streamingEvents:ls,onClose:bn,onReply:L?ha:void 0,onContribute:k?.contribute,onApproveSuggestion:k?.approveSuggestion,canManage:F,readOnlyReason:L?void 0:"Edit permissions required to comment in threads",onCancel:F&&an?()=>ni(an):void 0,lastError:X.lastErrorByJob?.[an??""]??(X.lastCompletedJobId&&ft.current.get(X.lastCompletedJobId)===He?X.lastErrorByJob?.[X.lastCompletedJobId]:void 0),temporarilyHidden:or,instantVisibilityHandoff:Cr.toolbarPaneVisible,backdropCursor:I.isAnnotating&&I.activeTool==="sticker"?kc(ji):void 0,toolbarRef:qe,surfaceRef:$e,currentModel:qt.id,currentProvider:Ae,availableProviders:me,models:Kt,modelIndex:on,agentSettings:Sn,onProviderChange:!y&&X.isConnected?_r:void 0,onModelChange:!y&&X.isConnected?Yo:void 0,onAgentSettingsChange:X.isConnected?Nt:void 0,onModelMenuOpen:()=>{Cn(Ae)},annotationNumber:$i,annotationText:Ut?.text,onPreviousThread:oi?()=>ri(-1):void 0,onNextThread:oi?()=>ri(1):void 0,preferredSide:ko?"left":"right",modal:!ko},`${He}:${ko?"workflow":"default"}`),Q&&f(Y0,{noticeScope:Ur,ownedThreadIds:Qo?.scope===Ur?Qo.threadIds:null,allowThreadlessNotices:!k||k.isHost,viewedThreadId:He,bridge:X,bridgeUrl:ce,inFlightJobs:_,threadColors:Za,isVisible:Di||X.lastResponseText!==null||X.activeJobIds.length>0,isHidden:!I.isAnnotating||dt.isPeeking||dt.activePreview,onHover:ii,isInteractionSuppressed:Cr.statusInteractionSuppressed,clearSignal:Kr,onReply:L?ha:void 0,onClickJob:Mi,onCancel:F?ni:void 0,onHoverJob:Qa,isConnected:X.isConnected,dismissedThreadIds:Ot,acknowledgedThread:tr,recoveredAcknowledgedThreadIds:br,recoveredAcknowledgedJobIds:Br,recoveredSettledQuestionThreadIds:xr,pendingQuestionThreadIds:ca,snapPosition:Zt,currentPathname:Oe},Ur)]})})]})});return f(km.Provider,{value:Y,children:wa})}export{Kg as a,NS as b};