@mindstudio-ai/browser-agent 0.1.39 → 0.1.41

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 (2) hide show
  1. package/dist/index.js +2 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var __MindStudioBrowserAgent=(()=>{var Ot=Object.defineProperty;var wi=Object.getOwnPropertyDescriptor;var bi=Object.getOwnPropertyNames;var xi=Object.prototype.hasOwnProperty;var vi=(e,t)=>{for(var n in t)Ot(e,n,{get:t[n],enumerable:!0})},Si=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of bi(t))!xi.call(e,i)&&i!==n&&Ot(e,i,{get:()=>t[i],enumerable:!(r=wi(t,i))||r.enumerable});return e};var Ei=e=>Si(Ot({},"__esModule",{value:!0}),e);var Sc={};vi(Sc,{executeSteps:()=>Rt,getRefMap:()=>Te,resolveElement:()=>fe,takeSnapshot:()=>Ne,takeSnapshotSync:()=>jt});var Ht="__ms";function Ci(){return{ws:{ws:null,clientId:null,reconnectDelay:1e3,closing:!1,busy:!1},cursor:{el:null,rippleEl:null,x:-100,y:-100,visible:!1,hasPosition:!1,hideTimer:null,forcedState:null,executing:!1,targetElement:null,trackingFrame:null,settledResolve:null},snapshot:{refCounter:0,refMap:new Map},networkIdle:{activeRequests:0},transport:{buffer:[],flushTimer:null,capturing:!1,captured:[],wsGetter:null},noteLayer:{overlay:null,cursorEl:null,notes:[],currentNote:null,pointerDown:!1,startX:0,startY:0,didDrag:!1,consumedByDeactivation:!1,dragPreview:null,movingNote:null,moveOffsetX:0,moveOffsetY:0},noteElement:{counter:0},notesMode:{active:!1},messages:{handler:null},screenshot:{cameraEl:null,flashEl:null,capturing:!1},fonts:{initialized:!1,observer:null},zoom:{pipMode:!1,mobilePreview:!1},touch:{circleEl:null,active:!1,pressed:!1,dragging:!1,startX:0,startY:0,lastX:0,lastY:0}}}function C(){let e=window;return e[Ht]||(e[Ht]=Ci()),e[Ht]}var Nn="/__mindstudio_dev__/logs",ki=2e3;function Rn(e){C().transport.wsGetter=e}function _n(){let e=C().transport;if(e.buffer.length===0)return;let t=e.buffer;e.buffer=[];let n=e.wsGetter?.();if(n&&n.readyState===WebSocket.OPEN)try{n.send(JSON.stringify({type:"log",entries:t}));return}catch{}try{let r=new XMLHttpRequest;r.open("POST",Nn,!0),r.setRequestHeader("Content-Type","application/json"),r.send(JSON.stringify(t))}catch{}}function Mi(){let e=C().transport;e.flushTimer||(e.flushTimer=setTimeout(()=>{e.flushTimer=null,_n()},ki))}function Ai(){let e=C().transport;e.flushTimer&&(clearTimeout(e.flushTimer),e.flushTimer=null),_n()}function ee(e){let t=C().transport;t.buffer.push(e),t.capturing&&t.captured.push(e),Mi()}function Bt(e){let t=C().transport;t.buffer.push(e),t.capturing&&t.captured.push(e),Ai()}function Wt(){let e=C().transport;e.capturing=!0,e.captured=[]}function Ut(){let e=C().transport;e.capturing=!1;let t=e.captured;return e.captured=[],t}function Pn(){window.addEventListener("beforeunload",()=>{let e=C().transport;e.buffer.length>0&&navigator.sendBeacon&&navigator.sendBeacon(Nn,JSON.stringify(e.buffer))})}var $i={a:"link",button:"button",input:"textbox",textarea:"textbox",select:"combobox",option:"option",h1:"heading",h2:"heading",h3:"heading",h4:"heading",h5:"heading",h6:"heading",nav:"navigation",main:"main",header:"banner",footer:"contentinfo",aside:"complementary",dialog:"dialog",details:"group",summary:"button",img:"img",ul:"list",ol:"list",li:"listitem",table:"table",tr:"row",th:"columnheader",td:"cell",form:"form",article:"article",section:"region",label:"label",fieldset:"group",legend:"legend",p:"paragraph",blockquote:"blockquote",pre:"code",code:"code",hr:"separator",progress:"progressbar"};function ve(e){let t=e.getAttribute("role");if(t)return t==="presentation"||t==="none"?null:t;let n=e.tagName.toLowerCase();if(n==="a")return e.hasAttribute("href")?"link":null;if(n==="section")return e.hasAttribute("aria-label")||e.hasAttribute("aria-labelledby")?"region":null;if(n==="form")return e.hasAttribute("aria-label")||e.hasAttribute("aria-labelledby")?"form":null;if(n==="img")return e.alt===""?null:"img";if(n==="input")switch(e.type){case"checkbox":return"checkbox";case"radio":return"radio";case"range":return"slider";case"submit":case"button":case"reset":return"button";case"hidden":return null;default:return"textbox"}return $i[n]??null}function Fn(e){if(e.hasAttribute("onclick")||e.hasAttribute("tabindex")&&e.getAttribute("tabindex")!=="-1")return!0;try{if(getComputedStyle(e).cursor==="pointer")return!0}catch{}return!1}function Le(e){let t=e.getAttribute("aria-label");if(t)return t.trim();let n=e.getAttribute("aria-labelledby");if(n){let a=n.split(/\s+/).map(s=>{let c=document.getElementById(s);return c?Se(c):""}).filter(Boolean).join(" ");if(a)return a}let r=e.tagName.toLowerCase();if(r==="input"||r==="textarea"||r==="select"){let a=Li(e);if(a)return a}if(r==="img"){let a=e.alt;if(a)return a.trim()}if(r==="fieldset"){let a=e.querySelector("legend");if(a)return Se(a)}let i=Se(e);if(i)return i;let o=e.getAttribute("title");return o?o.trim():""}function Se(e){if(!e.children.length)return(e.textContent||"").trim();let t=[];for(let n of Array.from(e.childNodes))if(n.nodeType===Node.TEXT_NODE){let r=(n.textContent||"").trim();r&&t.push(r)}else if(n.nodeType===Node.ELEMENT_NODE){let r=n;if(Ni(r))continue;let i=Ti(r),o=Se(r);o&&(i&&t.length>0&&t.push(" "),t.push(o),i&&t.push(" "))}return t.join("").replace(/\s+/g," ").trim()}function Li(e){if(e.id){let n=document.querySelector(`label[for="${CSS.escape(e.id)}"]`);if(n)return Se(n)}let t=e.closest("label");if(t){let n=t.cloneNode(!0),r=n.querySelector("input, textarea, select");r&&r.remove();let i=n.textContent?.trim();if(i)return i}return null}function Ti(e){try{return!getComputedStyle(e).display.includes("inline")}catch{let t=e.tagName.toLowerCase();return["div","p","h1","h2","h3","h4","h5","h6","li","section","article","header","footer","nav","main","aside","blockquote","pre","form","fieldset","table","tr","br"].includes(t)}}function Ni(e){let t=e.tagName.toLowerCase();if(t==="script"||t==="style"||t==="noscript"||t==="template"||e.getAttribute("aria-hidden")==="true")return!0;try{let n=getComputedStyle(e);if(n.display==="none"||n.visibility==="hidden")return!0}catch{}return!1}function qt(e,t){try{let n=getComputedStyle(e,t).content;if(!n||n==="none"||n==="normal")return"";let r=n.match(/^["'](.*)["']$/);return r?r[1]:""}catch{return""}}function dt(){C().networkIdle.activeRequests++}function We(){let e=C().networkIdle;e.activeRequests=Math.max(0,e.activeRequests-1)}function In(e=5e3,t=200){return new Promise((n,r)=>{let i=Date.now()+e,o=null;function a(){if(Date.now()>i){o&&clearTimeout(o),n();return}C().networkIdle.activeRequests===0?o||(o=setTimeout(()=>{C().networkIdle.activeRequests===0?n():(o=null,a())},t)):(o&&(clearTimeout(o),o=null),setTimeout(a,50))}a()})}function Te(){return C().snapshot.refMap}async function Ne(){return await In(),jt()}function jt(){let e=C().snapshot;e.refCounter=0,e.refMap=new Map;let t=document.body;if(!t)return"(empty page)";let n=Dn(t);return Vt(n,0).trimEnd()}function te(e){let t=ve(e),n=Le(e),r=n.length>60?n.slice(0,57)+"...":n;if(t&&r)return`${t} "${r}"`;if(t)return t;if(r)return`"${r}"`;let i=e.tagName.toLowerCase();return e.id?`${i}#${e.id}`:i}function Dn(e){if(_i(e))return[];let t=ve(e),n=!t&&Fn(e),r=t||(n?"clickable":null),i="";if(r){i=Le(e);let u=qt(e,"::before"),d=qt(e,"::after");(u||d)&&(i=[u,i,d].filter(Boolean).join(" ")),i.length>80&&(i=i.slice(0,77)+"...")}let o=Pi(e),a=t==="button"||t==="link"||t==="textbox"||t==="combobox"||t==="checkbox"||t==="radio"||t==="slider"||t==="tab"||t==="menuitem"||n,s=r&&i&&!a,c=null;if(a||s){let u=C().snapshot;u.refCounter++,c=`e${u.refCounter}`,u.refMap.set(c,e)}let l=Ri(e);if(r){let u=l.length===0?"":Vt(l,0).trim();return[{tag:r,name:i,attrs:o,ref:c,children:u&&u===i?[]:l,element:e}]}if(l.length===0){let u=Se(e);if(u)return[{tag:null,name:u.length>80?u.slice(0,77)+"...":u,attrs:[],ref:null,children:[],element:e}]}return l}function Ri(e){let t=[];for(let n of Array.from(e.childNodes))n.nodeType===Node.ELEMENT_NODE&&t.push(...Dn(n));return t}function _i(e){let t=e.tagName.toLowerCase();if(t==="script"||t==="style"||t==="noscript"||t==="template"||t==="head"||e.getAttribute("aria-hidden")==="true"||e.id==="__mindstudio-browser-agent"||e.id==="__mindstudio-cursor"||e.id==="__mindstudio-cursor-ripple"||e.id==="__mindstudio-notes-overlay"||e.id==="__mindstudio-notes-cursor")return!0;try{let n=getComputedStyle(e);if(n.display==="none"||n.visibility==="hidden"&&n.position!=="static")return!0}catch{}return!1}function Pi(e){let t=[],n=e.tagName.toLowerCase();if((n==="dialog"&&e.open||n==="details"&&e.open)&&t.push("open"),e.disabled&&t.push("disabled"),n==="input"){let o=e;(o.type==="checkbox"||o.type==="radio")&&o.checked&&t.push("checked")}if(n==="input"){let o=e;o.type!=="checkbox"&&o.type!=="radio"&&o.type!=="hidden"&&o.type!=="submit"&&o.type!=="button"&&o.type!=="reset"&&(t.push(`value="${o.value}"`),o.placeholder&&t.push(`placeholder="${o.placeholder}"`))}if(n==="textarea"){let o=e;t.push(`value="${o.value}"`),o.placeholder&&t.push(`placeholder="${o.placeholder}"`)}if(n==="select"){let o=e,a=o.options[o.selectedIndex];a&&t.push(`value="${a.text}"`)}let r=n.match(/^h([1-6])$/);r&&t.push(`level=${r[1]}`);let i=e.getAttribute("aria-expanded");return i==="true"&&t.push("expanded"),i==="false"&&t.push("collapsed"),e.getAttribute("aria-selected")==="true"&&t.push("selected"),e.getAttribute("aria-pressed")==="true"&&t.push("pressed"),t}function Vt(e,t){let n="";for(let r of e)n+=Fi(r,t);return n}function Fi(e,t){let n=" ".repeat(t),r=[];e.tag&&r.push(e.tag),e.name&&r.push(`"${e.name}"`);for(let a of e.attrs)r.push(`[${a}]`);e.ref&&r.push(`[ref=${e.ref}]`);let i="";r.length>0&&(i+=`${n}${r.join(" ")}
1
+ "use strict";var __MindStudioBrowserAgent=(()=>{var Ot=Object.defineProperty;var wi=Object.getOwnPropertyDescriptor;var bi=Object.getOwnPropertyNames;var xi=Object.prototype.hasOwnProperty;var vi=(e,t)=>{for(var n in t)Ot(e,n,{get:t[n],enumerable:!0})},Si=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of bi(t))!xi.call(e,i)&&i!==n&&Ot(e,i,{get:()=>t[i],enumerable:!(r=wi(t,i))||r.enumerable});return e};var Ei=e=>Si(Ot({},"__esModule",{value:!0}),e);var Sc={};vi(Sc,{executeSteps:()=>Rt,getRefMap:()=>Te,resolveElement:()=>fe,takeSnapshot:()=>Ne,takeSnapshotSync:()=>jt});var Ht="__ms";function Ci(){return{ws:{ws:null,clientId:null,reconnectDelay:1e3,closing:!1,busy:!1},cursor:{el:null,rippleEl:null,x:-100,y:-100,visible:!1,hasPosition:!1,hideTimer:null,forcedState:null,executing:!1,targetElement:null,trackingFrame:null,settledResolve:null,_wasVisible:void 0},snapshot:{refCounter:0,refMap:new Map},networkIdle:{activeRequests:0},transport:{buffer:[],flushTimer:null,capturing:!1,captured:[],wsGetter:null},noteLayer:{overlay:null,cursorEl:null,notes:[],currentNote:null,pointerDown:!1,startX:0,startY:0,didDrag:!1,consumedByDeactivation:!1,dragPreview:null,movingNote:null,moveOffsetX:0,moveOffsetY:0},noteElement:{counter:0},notesMode:{active:!1},messages:{handler:null},screenshot:{cameraEl:null,flashEl:null,capturing:!1},fonts:{initialized:!1,observer:null},zoom:{pipMode:!1,mobilePreview:!1},touch:{circleEl:null,active:!1,pressed:!1,dragging:!1,startX:0,startY:0,lastX:0,lastY:0}}}function C(){let e=window;return e[Ht]||(e[Ht]=Ci()),e[Ht]}var Nn="/__mindstudio_dev__/logs",ki=2e3;function Rn(e){C().transport.wsGetter=e}function _n(){let e=C().transport;if(e.buffer.length===0)return;let t=e.buffer;e.buffer=[];let n=e.wsGetter?.();if(n&&n.readyState===WebSocket.OPEN)try{n.send(JSON.stringify({type:"log",entries:t}));return}catch{}try{let r=new XMLHttpRequest;r.open("POST",Nn,!0),r.setRequestHeader("Content-Type","application/json"),r.send(JSON.stringify(t))}catch{}}function Mi(){let e=C().transport;e.flushTimer||(e.flushTimer=setTimeout(()=>{e.flushTimer=null,_n()},ki))}function Ai(){let e=C().transport;e.flushTimer&&(clearTimeout(e.flushTimer),e.flushTimer=null),_n()}function ee(e){let t=C().transport;t.buffer.push(e),t.capturing&&t.captured.push(e),Mi()}function Bt(e){let t=C().transport;t.buffer.push(e),t.capturing&&t.captured.push(e),Ai()}function Wt(){let e=C().transport;e.capturing=!0,e.captured=[]}function Ut(){let e=C().transport;e.capturing=!1;let t=e.captured;return e.captured=[],t}function Pn(){window.addEventListener("beforeunload",()=>{let e=C().transport;e.buffer.length>0&&navigator.sendBeacon&&navigator.sendBeacon(Nn,JSON.stringify(e.buffer))})}var $i={a:"link",button:"button",input:"textbox",textarea:"textbox",select:"combobox",option:"option",h1:"heading",h2:"heading",h3:"heading",h4:"heading",h5:"heading",h6:"heading",nav:"navigation",main:"main",header:"banner",footer:"contentinfo",aside:"complementary",dialog:"dialog",details:"group",summary:"button",img:"img",ul:"list",ol:"list",li:"listitem",table:"table",tr:"row",th:"columnheader",td:"cell",form:"form",article:"article",section:"region",label:"label",fieldset:"group",legend:"legend",p:"paragraph",blockquote:"blockquote",pre:"code",code:"code",hr:"separator",progress:"progressbar"};function ve(e){let t=e.getAttribute("role");if(t)return t==="presentation"||t==="none"?null:t;let n=e.tagName.toLowerCase();if(n==="a")return e.hasAttribute("href")?"link":null;if(n==="section")return e.hasAttribute("aria-label")||e.hasAttribute("aria-labelledby")?"region":null;if(n==="form")return e.hasAttribute("aria-label")||e.hasAttribute("aria-labelledby")?"form":null;if(n==="img")return e.alt===""?null:"img";if(n==="input")switch(e.type){case"checkbox":return"checkbox";case"radio":return"radio";case"range":return"slider";case"submit":case"button":case"reset":return"button";case"hidden":return null;default:return"textbox"}return $i[n]??null}function Fn(e){if(e.hasAttribute("onclick")||e.hasAttribute("tabindex")&&e.getAttribute("tabindex")!=="-1")return!0;try{if(getComputedStyle(e).cursor==="pointer")return!0}catch{}return!1}function Le(e){let t=e.getAttribute("aria-label");if(t)return t.trim();let n=e.getAttribute("aria-labelledby");if(n){let a=n.split(/\s+/).map(s=>{let c=document.getElementById(s);return c?Se(c):""}).filter(Boolean).join(" ");if(a)return a}let r=e.tagName.toLowerCase();if(r==="input"||r==="textarea"||r==="select"){let a=Li(e);if(a)return a}if(r==="img"){let a=e.alt;if(a)return a.trim()}if(r==="fieldset"){let a=e.querySelector("legend");if(a)return Se(a)}let i=Se(e);if(i)return i;let o=e.getAttribute("title");return o?o.trim():""}function Se(e){if(!e.children.length)return(e.textContent||"").trim();let t=[];for(let n of Array.from(e.childNodes))if(n.nodeType===Node.TEXT_NODE){let r=(n.textContent||"").trim();r&&t.push(r)}else if(n.nodeType===Node.ELEMENT_NODE){let r=n;if(Ni(r))continue;let i=Ti(r),o=Se(r);o&&(i&&t.length>0&&t.push(" "),t.push(o),i&&t.push(" "))}return t.join("").replace(/\s+/g," ").trim()}function Li(e){if(e.id){let n=document.querySelector(`label[for="${CSS.escape(e.id)}"]`);if(n)return Se(n)}let t=e.closest("label");if(t){let n=t.cloneNode(!0),r=n.querySelector("input, textarea, select");r&&r.remove();let i=n.textContent?.trim();if(i)return i}return null}function Ti(e){try{return!getComputedStyle(e).display.includes("inline")}catch{let t=e.tagName.toLowerCase();return["div","p","h1","h2","h3","h4","h5","h6","li","section","article","header","footer","nav","main","aside","blockquote","pre","form","fieldset","table","tr","br"].includes(t)}}function Ni(e){let t=e.tagName.toLowerCase();if(t==="script"||t==="style"||t==="noscript"||t==="template"||e.getAttribute("aria-hidden")==="true")return!0;try{let n=getComputedStyle(e);if(n.display==="none"||n.visibility==="hidden")return!0}catch{}return!1}function qt(e,t){try{let n=getComputedStyle(e,t).content;if(!n||n==="none"||n==="normal")return"";let r=n.match(/^["'](.*)["']$/);return r?r[1]:""}catch{return""}}function dt(){C().networkIdle.activeRequests++}function We(){let e=C().networkIdle;e.activeRequests=Math.max(0,e.activeRequests-1)}function In(e=5e3,t=200){return new Promise((n,r)=>{let i=Date.now()+e,o=null;function a(){if(Date.now()>i){o&&clearTimeout(o),n();return}C().networkIdle.activeRequests===0?o||(o=setTimeout(()=>{C().networkIdle.activeRequests===0?n():(o=null,a())},t)):(o&&(clearTimeout(o),o=null),setTimeout(a,50))}a()})}function Te(){return C().snapshot.refMap}async function Ne(){return await In(),jt()}function jt(){let e=C().snapshot;e.refCounter=0,e.refMap=new Map;let t=document.body;if(!t)return"(empty page)";let n=Dn(t);return Vt(n,0).trimEnd()}function te(e){let t=ve(e),n=Le(e),r=n.length>60?n.slice(0,57)+"...":n;if(t&&r)return`${t} "${r}"`;if(t)return t;if(r)return`"${r}"`;let i=e.tagName.toLowerCase();return e.id?`${i}#${e.id}`:i}function Dn(e){if(_i(e))return[];let t=ve(e),n=!t&&Fn(e),r=t||(n?"clickable":null),i="";if(r){i=Le(e);let u=qt(e,"::before"),d=qt(e,"::after");(u||d)&&(i=[u,i,d].filter(Boolean).join(" ")),i.length>80&&(i=i.slice(0,77)+"...")}let o=Pi(e),a=t==="button"||t==="link"||t==="textbox"||t==="combobox"||t==="checkbox"||t==="radio"||t==="slider"||t==="tab"||t==="menuitem"||n,s=r&&i&&!a,c=null;if(a||s){let u=C().snapshot;u.refCounter++,c=`e${u.refCounter}`,u.refMap.set(c,e)}let l=Ri(e);if(r){let u=l.length===0?"":Vt(l,0).trim();return[{tag:r,name:i,attrs:o,ref:c,children:u&&u===i?[]:l,element:e}]}if(l.length===0){let u=Se(e);if(u)return[{tag:null,name:u.length>80?u.slice(0,77)+"...":u,attrs:[],ref:null,children:[],element:e}]}return l}function Ri(e){let t=[];for(let n of Array.from(e.childNodes))n.nodeType===Node.ELEMENT_NODE&&t.push(...Dn(n));return t}function _i(e){let t=e.tagName.toLowerCase();if(t==="script"||t==="style"||t==="noscript"||t==="template"||t==="head"||e.getAttribute("aria-hidden")==="true"||e.id==="__mindstudio-browser-agent"||e.id==="__mindstudio-cursor"||e.id==="__mindstudio-cursor-ripple"||e.id==="__mindstudio-notes-overlay"||e.id==="__mindstudio-notes-cursor")return!0;try{let n=getComputedStyle(e);if(n.display==="none"||n.visibility==="hidden"&&n.position!=="static")return!0}catch{}return!1}function Pi(e){let t=[],n=e.tagName.toLowerCase();if((n==="dialog"&&e.open||n==="details"&&e.open)&&t.push("open"),e.disabled&&t.push("disabled"),n==="input"){let o=e;(o.type==="checkbox"||o.type==="radio")&&o.checked&&t.push("checked")}if(n==="input"){let o=e;o.type!=="checkbox"&&o.type!=="radio"&&o.type!=="hidden"&&o.type!=="submit"&&o.type!=="button"&&o.type!=="reset"&&(t.push(`value="${o.value}"`),o.placeholder&&t.push(`placeholder="${o.placeholder}"`))}if(n==="textarea"){let o=e;t.push(`value="${o.value}"`),o.placeholder&&t.push(`placeholder="${o.placeholder}"`)}if(n==="select"){let o=e,a=o.options[o.selectedIndex];a&&t.push(`value="${a.text}"`)}let r=n.match(/^h([1-6])$/);r&&t.push(`level=${r[1]}`);let i=e.getAttribute("aria-expanded");return i==="true"&&t.push("expanded"),i==="false"&&t.push("collapsed"),e.getAttribute("aria-selected")==="true"&&t.push("selected"),e.getAttribute("aria-pressed")==="true"&&t.push("pressed"),t}function Vt(e,t){let n="";for(let r of e)n+=Fi(r,t);return n}function Fi(e,t){let n=" ".repeat(t),r=[];e.tag&&r.push(e.tag),e.name&&r.push(`"${e.name}"`);for(let a of e.attrs)r.push(`[${a}]`);e.ref&&r.push(`[ref=${e.ref}]`);let i="";r.length>0&&(i+=`${n}${r.join(" ")}
2
2
  `);let o=r.length>0?t+1:t;return i+=Vt(e.children,o),i}function On(e){if(e===null)return"null";if(e===void 0)return"undefined";if(e instanceof Error)return e.stack||e.message||String(e);if(typeof e=="object")try{return JSON.stringify(e)}catch{return String(e)}return String(e)}function W(e){return new Promise(t=>setTimeout(t,e))}function Ee(){let e=null,t=0;for(let n of document.querySelectorAll("*")){let r=n,i=getComputedStyle(r).overflowY;if(i!=="auto"&&i!=="scroll")continue;let o=r.scrollHeight-r.clientHeight;o<=20||o>t&&(t=o,e=r)}return e??document.documentElement}var Ii=["log","info","warn","error","debug"];function Hn(){if(!console.__ms_patched){console.__ms_patched=!0;for(let e of Ii){let t=console[e];console[e]=(...n)=>{t&&t.apply(console,n),ee({type:"console",level:e,args:n.map(On),url:location.href})}}}}function Bn(){window.addEventListener("error",e=>{Bt({type:"error",message:e.message,stack:e.error&&e.error.stack||"",source:e.filename,line:e.lineno,column:e.colno,url:location.href})}),window.addEventListener("unhandledrejection",e=>{let t=e.reason||{};Bt({type:"error",message:t.message||String(t),stack:t.stack||"",url:location.href})})}function Wn(){if(!window.fetch||window.fetch.__ms_patched)return;let e=window.fetch;window.fetch=function(t,n){let r=(n?.method||"GET").toUpperCase(),i=typeof t=="string"?t:t instanceof URL?t.href:t.url||String(t);if(i.includes("/__mindstudio_dev__/"))return e.apply(this,[t,n]);let o=Date.now();return dt(),e.apply(this,[t,n]).then(a=>{We();let s={type:"network",method:r,url:i,status:a.status,statusText:a.statusText,duration:Date.now()-o,ok:a.ok};if(a.ok)ee(s);else try{a.clone().text().then(c=>{s.body=c.slice(0,1e3),ee(s)}).catch(()=>ee(s))}catch{ee(s)}return a},a=>{throw We(),ee({type:"network",method:r,url:i,error:a.message||String(a),duration:Date.now()-o,ok:!1}),a})},window.fetch.__ms_patched=!0}function Un(){document.__ms_click_patched||(document.__ms_click_patched=!0,document.addEventListener("click",e=>{let t=e.target,n=(t?.textContent||"").trim().slice(0,100);ee({type:"interaction",event:"click",target:te(t),text:n,url:location.href})},!0))}function qn(){if(XMLHttpRequest.prototype.open.__ms_patched)return;let e=window.XMLHttpRequest,t=e.prototype.open,n=e.prototype.send;e.prototype.open=function(r,i,...o){return this.__ms_method=r.toUpperCase(),this.__ms_url=String(i),t.apply(this,[r,i,...o])},e.prototype.send=function(r){let i=this.__ms_method||"GET",o=this.__ms_url||"";if(o.includes("/__mindstudio_dev__/"))return n.apply(this,[r]);let a=Date.now();return dt(),this.addEventListener("loadend",function(){We(),ee({type:"network",method:i,url:o,status:this.status,statusText:this.statusText,duration:Date.now()-a,ok:this.status>=200&&this.status<300,...this.status>=400?{body:(this.responseText||"").slice(0,1e3)}:{},via:"xhr"})},{once:!0}),n.apply(this,[r])},XMLHttpRequest.prototype.open.__ms_patched=!0}function fe(e){let t=null;if(e.ref){let n=Te(),r=n.get(e.ref);if(r&&r.isConnected)if(de(r))t={element:r,matched:`${te(r)} [ref=${e.ref}]`};else throw new Error(`Element [ref=${e.ref}] exists but is hidden (${zt(r)}). It may be inside a closed dialog or collapsed section.`);else{let i=[...n.entries()].filter(([,o])=>o.isConnected&&de(o)).slice(0,10).map(([o,a])=>`${te(a)} [ref=${o}]`).join(", ");throw new Error(`Element [ref=${e.ref}] not found. `+(i?`Available refs: ${i}`:"No refs available \u2014 take a snapshot first."))}}if(!t&&(e.text||e.role&&e.text)){let n=e.text,r=e.role,i=jn(n,r);if(i.length===0){let o=jn(n,r,!0);if(o.length>0)throw new Error(`Found ${r?r+" ":""}"${n}" but it is hidden (${zt(o[0])}). Wait for it to become visible or check if a dialog/modal needs to be opened first.`);let a=r?`${r} "${n}"`:`"${n}"`,s=Vn(r);throw new Error(`No element found matching ${a}. `+(s?`Visible ${r||"element"}s: ${s}`:"The page may still be loading \u2014 try a wait command first."))}if(i.length>1){let o=i.filter(zn),a=o.length===1?o[0]:i[0];t={element:a,matched:te(a)}}else t={element:i[0],matched:te(i[0])}}if(!t&&e.role&&!e.text){let n=e.role,r=Di(n);if(r.length===0){let i=Vn(n);throw new Error(`No visible element with role "${n}" found. `+(i?`Visible ${n}s: ${i}`:"The page may still be loading \u2014 try a wait command first."))}t={element:r[0],matched:te(r[0])}}if(!t&&e.label){let n=e.label,r=Oi(n);if(!r){let i=[...document.querySelectorAll("label")].filter(de).map(o=>`"${(o.textContent||"").trim().slice(0,40)}"`).slice(0,8).join(", ");throw new Error(`No input found with label "${n}". `+(i?`Visible labels: ${i}`:"No labels found on the page."))}t={element:r,matched:`${te(r)} via label "${n}"`}}if(!t&&e.selector){let n=e.selector,r=document.querySelector(n);if(!r)throw new Error(`No element found for selector "${n}".`);if(!de(r))throw new Error(`Found element for selector "${n}" but it is hidden (${zt(r)}).`);t={element:r,matched:`${te(r)} via selector "${n}"`}}if(!t)throw new Error("No targeting field provided (need ref, text, role, label, or selector)");return t}function jn(e,t,n=!1){let r=[],i=e.toLowerCase();for(let o of document.querySelectorAll("*")){if(!n&&!de(o)||n&&!o.isConnected||t&&ve(o)!==t)continue;if(Le(o).toLowerCase().includes(i)){r.push(o);continue}o.children.length||(o.textContent||"").trim().toLowerCase().includes(i)&&r.push(o)}return r}function Di(e){let t=[];for(let n of document.querySelectorAll("*"))de(n)&&ve(n)===e&&t.push(n);return t}function Oi(e){let t=e.toLowerCase();for(let n of document.querySelectorAll("label")){if(!(n.textContent||"").trim().toLowerCase().includes(t))continue;let i=n.getAttribute("for");if(i){let a=document.getElementById(i);if(a&&de(a))return a}let o=n.querySelector("input, textarea, select");if(o&&de(o))return o}return null}function de(e){if(!e.isConnected)return!1;try{let t=getComputedStyle(e);if(t.display==="none"||t.visibility==="hidden")return!1}catch{return!1}return!0}function zn(e){if(e.matches('a, button, input, textarea, select, [role="button"], [role="link"], [tabindex]'))return!0;try{return getComputedStyle(e).cursor==="pointer"}catch{return!1}}function zt(e){try{let t=getComputedStyle(e);if(t.display==="none")return"display: none";if(t.visibility==="hidden")return"visibility: hidden"}catch{}return e.getAttribute("aria-hidden")==="true"?'aria-hidden="true"':"hidden"}function Vn(e){let t=[];for(let n of document.querySelectorAll("*"))if(de(n)&&(e?ve(n)===e&&t.push(n):zn(n)&&t.push(n),t.length>=10))break;return t.length===0?"":t.map(n=>`"${Le(n).slice(0,40)||te(n)}"`).join(", ")}function Yt(e){let t=e.getBoundingClientRect(),n=t.left+t.width/2,r=t.top+t.height/2,i={bubbles:!0,cancelable:!0,clientX:n,clientY:r,button:0};e.dispatchEvent(new PointerEvent("pointerdown",{...i,pointerId:1})),e.dispatchEvent(new MouseEvent("mousedown",i)),e instanceof HTMLElement&&e.focus(),e.dispatchEvent(new PointerEvent("pointerup",{...i,pointerId:1})),e.dispatchEvent(new MouseEvent("mouseup",i)),e.dispatchEvent(new MouseEvent("click",i))}var Hi=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value")?.set,Bi=Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype,"value")?.set;async function Gn(e,t,n={}){if(!(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement))throw new Error("type command requires an input or textarea element");e.focus(),Yt(e),n.clear&&(Yn(e,""),e.dispatchEvent(new Event("input",{bubbles:!0})));for(let r=0;r<t.length;r++){let i=t[r];e.dispatchEvent(new KeyboardEvent("keydown",{key:i,code:`Key${i.toUpperCase()}`,bubbles:!0})),e.dispatchEvent(new KeyboardEvent("keypress",{key:i,code:`Key${i.toUpperCase()}`,bubbles:!0})),Yn(e,e.value+i),e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new KeyboardEvent("keyup",{key:i,code:`Key${i.toUpperCase()}`,bubbles:!0})),await W(Wi(i,t.length))}e.dispatchEvent(new Event("change",{bubbles:!0}))}function Wi(e,t){let n=Math.random()*50-25,r;if(e===" "?r=120+n:/[.,!?;:\-]/.test(e)?r=140+n:/[A-Z]/.test(e)?r=115+n:r=85+n,t<=20)return r;let i=Math.max(.1,20/t);return r*i}function Yn(e,t){let n=e instanceof HTMLTextAreaElement?Bi:Hi;n?n.call(e,t):e.value=t}async function Kn(e){let t=e.timeout||5e3,n=Date.now(),r=n+t;for(;Date.now()<r;)try{return{...fe(e),elapsed:Date.now()-n}}catch{await W(100)}let i=e.text?`"${e.text}"`:e.role?`role "${e.role}"`:e.selector?`selector "${e.selector}"`:"element";throw new Error(`Timed out waiting for ${i} after ${t}ms`)}var Xn=Object.getOwnPropertyDescriptor(HTMLSelectElement.prototype,"value")?.set;function Jn(e,t){if(!(e instanceof HTMLSelectElement))throw new Error("select command requires a <select> element");let n=t.toLowerCase(),r=null;for(let i of e.options)if(i.text.toLowerCase().includes(n)||i.value.toLowerCase()===n||i.label.toLowerCase().includes(n)){r=i;break}if(!r){let i=[...e.options].map(o=>`"${o.text}"`).join(", ");throw new Error(`No option matching "${t}" in select. Available options: ${i}`)}return Xn?Xn.call(e,r.value):e.value=r.value,e.dispatchEvent(new Event("change",{bubbles:!0})),e.dispatchEvent(new Event("input",{bubbles:!0})),r.text}async function Zn(e){try{let n=!/\b(return|;|\{)\b/.test(e.trim())?`return (${e})`:e,i=new Function(n)();return i instanceof Promise?await i:i}catch(t){throw new Error(`evaluate failed: ${t instanceof Error?t.message:String(t)}`)}}var qi=Object.defineProperty,G=(e,t)=>()=>(e&&(t=e(e=0)),t),Xe=(e,t)=>{for(var n in t)qi(e,n,{get:t[n],enumerable:!0})};function ji(e){if(e===!0)return"soft";if(e===!1)return"disabled";if(typeof e=="string"){let t=e.toLowerCase().trim();if(t==="auto")return"auto";if(t==="full")return"full";if(t==="soft"||t==="disabled")return t}return"soft"}function Vi(e="soft"){switch(k.session.__counterEpoch=(k.session.__counterEpoch||0)+1,e){case"auto":{k.session.styleMap=new Map,k.session.nodeMap=new Map;return}case"soft":{k.session.styleMap=new Map,k.session.nodeMap=new Map,k.session.styleCache=new WeakMap;return}case"full":return;case"disabled":{k.session.styleMap=new Map,k.session.nodeMap=new Map,k.session.styleCache=new WeakMap,k.computedStyle=new WeakMap,k.baseStyle=new ne(50),k.defaultStyle=new ne(30),k.image=new ne(100),k.background=new ne(100),k.resource=new ne(150),k.font=new Set;return}default:{k.session.styleMap=new Map,k.session.nodeMap=new Map,k.session.styleCache=new WeakMap;return}}}var ne,k,oe=G(()=>{ne=class extends Map{constructor(e=100,...t){super(...t),this._maxSize=e}set(e,t){if(this.size>=this._maxSize&&!this.has(e)){let n=this.keys().next().value;n!==void 0&&this.delete(n)}return super.set(e,t)}},k={image:new ne(100),background:new ne(100),resource:new ne(150),defaultStyle:new ne(30),baseStyle:new ne(50),computedStyle:new WeakMap,measureHints:new WeakMap,font:new Set,session:{styleMap:new Map,styleCache:new WeakMap,nodeMap:new Map}}});function cn(e){let t=e.match(/url\((['"]?)(.*?)(\1)\)/);if(!t)return null;let n=t[2].trim();return n.startsWith("#")?null:n}function zi(e){if(!e||e==="none")return"";let t=e.replace(/translate[XY]?\([^)]*\)/g,"");return t=t.replace(/matrix\(([^)]+)\)/g,(n,r)=>{let i=r.split(",").map(o=>o.trim());return i.length!==6?`matrix(${r})`:(i[4]="0",i[5]="0",`matrix(${i.join(", ")})`)}),t=t.replace(/matrix3d\(([^)]+)\)/g,(n,r)=>{let i=r.split(",").map(o=>o.trim());return i.length!==16?`matrix3d(${r})`:(i[12]="0",i[13]="0",`matrix3d(${i.join(", ")})`)}),t.trim().replace(/\s{2,}/g," ")}function bt(e){if(/%[0-9A-Fa-f]{2}/.test(e))return e;try{return encodeURI(e)}catch{return e}}function Yi(e,t){if(!e||/^(data|blob|about|#)/i.test(e.trim()))return e;try{let n=t||typeof document<"u"&&(document.baseURI||document.location?.href)||"http://localhost/";return new URL(e,n).href}catch{return e}}var vt=G(()=>{});function Xi(e="[snapDOM]",{ttlMs:t=5*6e4,maxEntries:n=12}={}){let r=new Map,i=0;function o(a,s,c){if(i>=n)return;let l=Date.now();(r.get(s)||0)>l||(r.set(s,l+t),i++,a==="warn"&&console&&console.warn?console.warn(`${e} ${c}`):console&&console.error&&console.error(`${e} ${c}`))}return{warnOnce(a,s){o("warn",a,s)},errorOnce(a,s){o("error",a,s)},reset(){r.clear(),i=0}}}function Gi(e){return/^data:|^blob:|^about:blank$/i.test(e)}function Ki(e,t){try{let n=typeof location<"u"&&location.href?location.href:"http://localhost/",r=t.includes("{url}")?t.split("{url}")[0]:t,i=new URL(r||".",n),o=new URL(e,n);if(o.origin===i.origin)return!0;let a=o.searchParams;if(a&&(a.has("url")||a.has("target")))return!0}catch{}return!1}function Ji(e,t){if(!t||Gi(e)||Ki(e,t))return!1;try{let n=typeof location<"u"&&location.href?location.href:"http://localhost/",r=new URL(e,n);return typeof location<"u"?r.origin!==location.origin:!0}catch{return!!t}}function Zi(e,t){if(!t)return e;if(t.includes("{url}"))return t.replace("{urlRaw}",bt(e)).replace("{url}",encodeURIComponent(e));if(/[?&]url=?$/.test(t))return`${t}${encodeURIComponent(e)}`;if(t.endsWith("?"))return`${t}url=${encodeURIComponent(e)}`;if(t.endsWith("/"))return`${t}${bt(e)}`;let n=t.includes("?")?"&":"?";return`${t}${n}url=${encodeURIComponent(e)}`}function Qn(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||"")),r.onerror=()=>n(new Error("read_failed")),r.readAsDataURL(e)})}function Qi(e,t){return[t.as||"blob",t.timeout??3e3,t.useProxy||"",t.errorTTL??8e3,e].join("|")}async function re(e,t={}){let n=t.as??"blob",r=t.timeout??3e3,i=t.useProxy||"",o=t.errorTTL??8e3,a=t.headers||{},s=!!t.silent;if(/^data:/i.test(e))try{if(n==="text")return{ok:!0,data:String(e),status:200,url:e,fromCache:!1};if(n==="dataURL")return{ok:!0,data:String(e),status:200,url:e,fromCache:!1,mime:String(e).slice(5).split(";")[0]||""};let[,p="",y=""]=String(e).match(/^data:([^,]*),(.*)$/)||[],v=/;base64/i.test(p)?atob(y):decodeURIComponent(y),b=new Uint8Array([...v].map(S=>S.charCodeAt(0))),w=new Blob([b],{type:(p||"").split(";")[0]||""});return{ok:!0,data:w,status:200,url:e,fromCache:!1,mime:w.type||""}}catch{return{ok:!1,data:null,status:0,url:e,fromCache:!1,reason:"special_url_error"}}if(/^blob:/i.test(e))try{let p=await fetch(e);if(!p.ok)return{ok:!1,data:null,status:p.status,url:e,fromCache:!1,reason:"http_error"};let y=await p.blob(),v=y.type||p.headers.get("content-type")||"";return n==="dataURL"?{ok:!0,data:await Qn(y),status:p.status,url:e,fromCache:!1,mime:v}:n==="text"?{ok:!0,data:await y.text(),status:p.status,url:e,fromCache:!1,mime:v}:{ok:!0,data:y,status:p.status,url:e,fromCache:!1,mime:v}}catch{return{ok:!1,data:null,status:0,url:e,fromCache:!1,reason:"network"}}if(/^about:blank$/i.test(e))return n==="dataURL"?{ok:!0,data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==",status:200,url:e,fromCache:!1,mime:"image/png"}:{ok:!0,data:n==="text"?"":new Blob([]),status:200,url:e,fromCache:!1};let c=Qi(e,{as:n,timeout:r,useProxy:i,errorTTL:o}),l=qe.get(c);if(l&&l.until>Date.now())return{...l.result,fromCache:!0};l&&qe.delete(c);let u=mt.get(c);if(u)return u;let d=Ji(e,i)?Zi(e,i):e,f=t.credentials;if(!f)try{let p=typeof location<"u"&&location.href?location.href:"http://localhost/",y=new URL(e,p);f=typeof location<"u"&&y.origin===location.origin?"include":"omit"}catch{f="omit"}let m=new AbortController,g=setTimeout(()=>m.abort("timeout"),r),h=(async()=>{try{let p=await fetch(d,{signal:m.signal,credentials:f,headers:a});if(!p.ok){let b={ok:!1,data:null,status:p.status,url:d,fromCache:!1,reason:"http_error"};if(o>0&&qe.set(c,{until:Date.now()+o,result:b}),!s){let w=`${p.status} ${p.statusText||""}`.trim();Kt.warnOnce(`http:${p.status}:${n}:${new URL(e,location?.href??"http://localhost/").origin}`,`HTTP error ${w} while fetching ${n} ${e}`)}return t.onError&&t.onError(b),b}if(n==="text")return{ok:!0,data:await p.text(),status:p.status,url:d,fromCache:!1};let y=await p.blob(),v=y.type||p.headers.get("content-type")||"";return n==="dataURL"?{ok:!0,data:await Qn(y),status:p.status,url:d,fromCache:!1,mime:v}:{ok:!0,data:y,status:p.status,url:d,fromCache:!1,mime:v}}catch(p){let y=p&&typeof p=="object"&&"name"in p&&p.name==="AbortError"?String(p.message||"").includes("timeout")?"timeout":"abort":"network",v={ok:!1,data:null,status:0,url:d,fromCache:!1,reason:y};if(!/^blob:/i.test(e)&&o>0&&qe.set(c,{until:Date.now()+o,result:v}),!s){let b=`${y}:${n}:${new URL(e,location?.href??"http://localhost/").origin}`,w=y==="timeout"?`Timeout after ${r}ms. Consider increasing timeout or using a proxy for ${e}`:y==="abort"?`Request aborted while fetching ${n} ${e}`:`Network/CORS issue while fetching ${n} ${e}. A proxy may be required`;Kt.errorOnce(b,w)}return t.onError&&t.onError(v),v}finally{clearTimeout(g),mt.delete(c)}})();return mt.set(c,h),h}var Kt,mt,qe,Ie=G(()=>{vt(),Kt=Xi("[snapDOM]",{ttlMs:3*6e4,maxEntries:10}),mt=new Map,qe=new Map});async function Er(e,t={}){if(/^((repeating-)?(linear|radial|conic)-gradient)\(/i.test(e)||e.trim()==="none")return e;let n=cn(e);if(!n)return e;let r=Yi(n),i=bt(r);if(k.background.has(i)){let o=k.background.get(i);return o?`url("${o}")`:"none"}try{let o=await re(i,{as:"dataURL",useProxy:t.useProxy});return o.ok?(k.background.set(i,o.data),`url("${o.data}")`):(k.background.set(i,null),"none")}catch{return k.background.set(i,null),"none"}}var ea=G(()=>{oe(),vt(),Ie()});function ta(e){if(e=String(e).toLowerCase(),dn.has(e)){let o={};return k.defaultStyle.set(e,o),o}if(k.defaultStyle.has(e))return k.defaultStyle.get(e);let t=document.getElementById("snapdom-sandbox");t||(t=document.createElement("div"),t.id="snapdom-sandbox",t.setAttribute("data-snapdom-sandbox","true"),t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.left="-9999px",t.style.top="-9999px",t.style.width="0px",t.style.height="0px",t.style.overflow="hidden",document.body.appendChild(t));let n=document.createElement(e);n.style.all="initial",t.appendChild(n);let r=getComputedStyle(n),i={};for(let o of r){if(un(o))continue;let a=r.getPropertyValue(o);i[o]=a}return t.removeChild(n),k.defaultStyle.set(e,i),i}function un(e){let t=String(e).toLowerCase();return!!(Ar.has(t)||Mr.test(t)||kr.test(t))}function Jt(e,t){if(t=String(t||"").toLowerCase(),dn.has(t))return"";let n=[],r=ta(t),i=(e.display||"").toLowerCase()==="inline"||new Set(["span","small","em","strong","b","i","u","s","code","cite","mark","sub","sup"]).has(t);for(let[o,a]of Object.entries(e)){if(un(o)||i&&(o==="width"||o==="min-width"||o==="max-width"))continue;let s=r[o];a&&a!==s&&n.push(`${o}:${a}`)}return n.sort(),n.join(";")}function na(e){let t=new Set;return e.nodeType!==Node.ELEMENT_NODE&&e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?[]:(e.tagName&&t.add(e.tagName.toLowerCase()),typeof e.querySelectorAll=="function"&&e.querySelectorAll("*").forEach(n=>t.add(n.tagName.toLowerCase())),Array.from(t))}function ra(e){let t=new Map;for(let r of e){let i=k.defaultStyle.get(r);if(!i)continue;let o=Object.entries(i).map(([a,s])=>`${a}:${s};`).sort().join("");o&&(t.has(o)||t.set(o,[]),t.get(o).push(r))}let n="";for(let[r,i]of t.entries())n+=`${i.join(",")} { ${r} }
3
3
  `;return n}function oa(e){let t=Array.from(new Set(e.values())).filter(Boolean).sort(),n=new Map,r=1;for(let i of t)n.set(i,`c${r++}`);return n}function ia(e){try{let t=e?.ownerDocument;if(!t)return typeof window<"u"?window:null;let n=t.defaultView;if(n&&typeof n.getComputedStyle=="function")return n;if(typeof window<"u"&&window.frames)for(let r=0;r<window.frames.length;r++)try{if(window.frames[r]?.document===t)return window.frames[r]}catch{}}catch{}return typeof window<"u"?window:null}function pe(e,t=null){let n=()=>{let o={length:0,getPropertyValue:()=>"",item:()=>""};return o[Symbol.iterator]=function*(){},o};if(!(e instanceof Element)){let o=typeof window<"u"?window:null;if(o&&typeof o.getComputedStyle=="function")try{return o.getComputedStyle(e,t)||n()}catch{return n()}return n()}let r=k.computedStyle.get(e);r||(r=new Map,k.computedStyle.set(e,r));let i=r.get(t);if(!i){let o=ia(e),a=null;try{a=o&&typeof o.getComputedStyle=="function"?o.getComputedStyle(e,t):null}catch{}if(!a&&typeof window<"u"&&typeof window.getComputedStyle=="function")try{e.ownerDocument===document&&(a=window.getComputedStyle(e,t))}catch{}i=a||n(),r.set(t,i)}return i}function er(e){let t={};for(let n of e)t[n]=e.getPropertyValue(n);return t}function Zt(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++){let o=e[i];o==="("&&n++,o===")"&&n--,o===","&&n===0&&(t.push(e.slice(r,i).trim()),r=i+1)}return t.push(e.slice(r).trim()),t}var Cr,dn,aa,kr,Mr,Ar,$r=G(()=>{oe(),Cr=new Set(["meta","script","noscript","title","link","template"]),dn=new Set(["meta","link","style","title","noscript","script","template","g","defs","use","marker","mask","clipPath","pattern","path","polygon","polyline","line","circle","ellipse","rect","filter","lineargradient","radialgradient","stop"]),aa=["div","span","p","a","img","ul","li","button","input","select","textarea","label","section","article","header","footer","nav","main","aside","h1","h2","h3","h4","h5","h6","table","thead","tbody","tr","td","th"],kr=/(?:^|-)(animation|transition)(?:-|$)/i,Mr=/^(--.+|view-timeline|scroll-timeline|animation-trigger|offset-|position-try|app-region|interactivity|overlay|view-transition|-webkit-locale|-webkit-user-(?:drag|modify)|-webkit-tap-highlight-color|-webkit-text-security)$/i,Ar=new Set(["cursor","pointer-events","touch-action","user-select","print-color-adjust","speak","reading-flow","reading-order","anchor-name","anchor-scope","container-name","container-type","timeline-scope","zoom"])});function Pe(e,{fast:t=!1}={}){if(t)return e();"requestIdleCallback"in window?requestIdleCallback(e,{timeout:50}):setTimeout(e,1)}function la(){if(typeof navigator>"u")return!1;if(navigator.userAgentData)return navigator.userAgentData.platform==="iOS";let e=navigator.userAgent||"",t=/iPhone|iPad|iPod/.test(e),n=navigator.maxTouchPoints>2&&/Macintosh/.test(e);return t||n}function ke(){if(typeof navigator>"u")return!1;let e=navigator.userAgent||"",t=e.toLowerCase(),n=t.includes("safari")&&!t.includes("chrome")&&!t.includes("crios")&&!t.includes("fxios")&&!t.includes("android"),r=/applewebkit/i.test(e),i=/mobile/i.test(e),o=!/safari/i.test(e),a=r&&i&&o,s=/(micromessenger|wxwork|wecom|windowswechat|macwechat)/i.test(e),c=/(baiduboxapp|baidubrowser|baidusearch|baiduboxlite)/i.test(t),l=/ipad|iphone|ipod/.test(t)&&r;return n||a||s||c||l}function sa(){if(typeof navigator>"u")return!1;let e=(navigator.userAgent||"").toLowerCase();return e.includes("firefox")||e.includes("fxios")}var Ge=G(()=>{});function F(e,t,n){let r=e&&typeof e=="object"&&(e.options||e);r&&r.debug&&(n!==void 0?console.warn("[snapdom]",t,n):console.warn("[snapdom]",t))}var Lr=G(()=>{}),ae=G(()=>{ea(),$r(),Ge(),vt(),Lr()}),Tr={};Xe(Tr,{toCanvas:()=>St});function ca(e){return typeof e=="string"&&/^data:image\/svg\+xml/i.test(e)}function ua(e){let t=e.indexOf(",");return t>=0?decodeURIComponent(e.slice(t+1)):""}function da(e){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}function fa(e){let t=[],n="",r=0;for(let i=0;i<e.length;i++){let o=e[i];o==="("&&r++,o===")"&&(r=Math.max(0,r-1)),o===";"&&r===0?(t.push(n),n=""):n+=o}return n.trim()&&t.push(n),t.map(i=>i.trim()).filter(Boolean)}function ma(e){let t=[],n="",r=0;for(let o=0;o<e.length;o++){let a=e[o];a==="("&&r++,a===")"&&(r=Math.max(0,r-1)),a===","&&r===0?(t.push(n.trim()),n=""):n+=a}n.trim()&&t.push(n.trim());let i=[];for(let o of t){if(/\binset\b/i.test(o))continue;let a=o.match(/-?\d+(?:\.\d+)?px/gi)||[],[s="0px",c="0px",l="0px"]=a,u=o.replace(/-?\d+(?:\.\d+)?px/gi,"").replace(/\binset\b/ig,"").trim().replace(/\s{2,}/g," "),d=!!u&&u!==",";i.push(`drop-shadow(${s} ${c} ${l}${d?` ${u}`:""})`)}return i.join(" ")}function Nr(e){let t=fa(e),n=null,r=null,i=null,o=[];for(let s of t){let c=s.indexOf(":");if(c<0)continue;let l=s.slice(0,c).trim().toLowerCase(),u=s.slice(c+1).trim();l==="box-shadow"?i=u:l==="filter"?n=u:l==="-webkit-filter"?r=u:o.push([l,u])}if(i){let s=ma(i);s&&(n=n?`${n} ${s}`:s,r=r?`${r} ${s}`:s)}let a=[...o];return n&&a.push(["filter",n]),r&&a.push(["-webkit-filter",r]),a.map(([s,c])=>`${s}:${c}`).join(";")}function pa(e){return e.replace(/([^{}]+)\{([^}]*)\}/g,(t,n,r)=>`${n}{${Nr(r)}}`)}function ha(e){return e=e.replace(/<style[^>]*>([\s\S]*?)<\/style>/gi,(t,n)=>t.replace(n,pa(n))),e=e.replace(/style=(['"])([\s\S]*?)\1/gi,(t,n,r)=>`style=${n}${Nr(r)}${n}`),e}function ga(e){if(!ke()||!ca(e))return e;try{let t=ua(e),n=ha(t);return da(n)}catch{return e}}async function St(e,t){let{width:n,height:r,scale:i=1,dpr:o=1,meta:a={},backgroundColor:s}=t;e=ga(e);let c=new Image;c.loading="eager",c.decoding="sync",c.crossOrigin="anonymous",c.src=e,await c.decode();let l=c.naturalWidth,u=c.naturalHeight,d=Number.isFinite(a.w0)?a.w0:l,f=Number.isFinite(a.h0)?a.h0:u,m,g,h=Number.isFinite(n),p=Number.isFinite(r);if(h&&p)m=Math.max(1,n),g=Math.max(1,r);else if(h){let b=n/Math.max(1,d);m=n,g=f*b}else if(p){let b=r/Math.max(1,f);g=r,m=d*b}else m=l,g=u;m=m*i,g=g*i;let y=document.createElement("canvas");y.width=m*o,y.height=g*o,y.style.width=`${m}px`,y.style.height=`${g}px`;let v=y.getContext("2d");return o!==1&&v.scale(o,o),s&&(v.save(),v.fillStyle=s,v.fillRect(0,0,m,g),v.restore()),v.drawImage(c,0,0,m,g),y}var Et=G(()=>{Ge()}),pt={};Xe(pt,{rasterize:()=>Rr});async function Rr(e,t){let n=await St(e,t),r=new Image;return r.src=n.toDataURL(`image/${t.format}`,t.quality),await r.decode(),r.style.width=`${n.width/t.dpr}px`,r.style.height=`${n.height/t.dpr}px`,r}var ht=G(()=>{Et()}),Qt={};Xe(Qt,{toImg:()=>tr,toSvg:()=>tr});async function tr(e,t){let{scale:n=1,width:r,height:i,meta:o={}}=t,a=Number.isFinite(r),s=Number.isFinite(i),c=Number.isFinite(n)&&n!==1||a||s;if(ke()&&c)return await Rr(e,{...t,format:"png",quality:1,meta:o});let l=new Image;if(l.decoding="sync",l.loading="eager",l.src=e,await l.decode(),a&&s)l.style.width=`${r}px`,l.style.height=`${i}px`;else if(a){let u=Number.isFinite(o.w0)?o.w0:l.naturalWidth,d=Number.isFinite(o.h0)?o.h0:l.naturalHeight,f=r/Math.max(1,u);l.style.width=`${r}px`,l.style.height=`${Math.round(d*f)}px`}else if(s){let u=Number.isFinite(o.w0)?o.w0:l.naturalWidth,d=Number.isFinite(o.h0)?o.h0:l.naturalHeight,f=i/Math.max(1,d);l.style.height=`${i}px`,l.style.width=`${Math.round(u*f)}px`}else{let u=Math.round(l.naturalWidth*n),d=Math.round(l.naturalHeight*n);if(l.style.width=`${u}px`,l.style.height=`${d}px`,typeof e=="string"&&e.startsWith("data:image/svg+xml"))try{let f=decodeURIComponent(e.split(",")[1]).replace(/width="[^"]*"/,`width="${u}"`).replace(/height="[^"]*"/,`height="${d}"`);e=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(f)}`,l.src=e}catch(f){F(t,"SVG width/height patch in toImg failed",f)}}return l}var nr=G(()=>{ae(),ht()}),_r={};Xe(_r,{toBlob:()=>Pr});async function Pr(e,t){let n=t.type;if(n==="svg"){let i=decodeURIComponent(e.split(",")[1]);return new Blob([i],{type:"image/svg+xml"})}let r=await St(e,t);return new Promise(i=>r.toBlob(o=>i(o),`image/${n}`,t.quality))}var Fr=G(()=>{Et()}),Ir={};Xe(Ir,{download:()=>ya});async function rr(e,t){let n=new File([e],t,{type:e.type});if(!navigator.canShare?.({files:[n]}))return!1;try{await navigator.share({files:[n],title:t})}catch(r){if(r.name!=="AbortError")return!1}return!0}async function ya(e,t){let n=new Set(["png","jpeg","jpg","webp","svg"]),r=(t?.type||"").toLowerCase(),i=n.has(r)?r:"",o=(t?.format||i||"").toLowerCase(),a=o==="jpg"?"jpeg":o||"png",s=t?.filename||`snapdom.${a}`,c={...t||{},format:a,type:a};c.dpr=1;let l=la();if(a==="svg"){let f=await Pr(e,{...c,type:"svg"});if(l&&await rr(f,s))return;let m=URL.createObjectURL(f),g=document.createElement("a");g.href=m,g.download=s,document.body.appendChild(g),g.click(),URL.revokeObjectURL(m),g.remove();return}let u=await St(e,c);if(l){let f=`image/${a}`,m=await new Promise(g=>u.toBlob(g,f,t?.quality));if(m&&await rr(m,s))return}let d=document.createElement("a");d.href=u.toDataURL(`image/${a}`,t?.quality),d.download=s,document.body.appendChild(d),d.click(),d.remove()}var wa=G(()=>{Fr(),Et(),Ge()});ae();ae();oe();var or=new WeakMap,ze=new Map,ba=2e3,en=0;function je(){en++,ze.size>ba&&ze.clear()}var ir=!1;function xa(e=document.documentElement){if(!ir){ir=!0;try{new MutationObserver(()=>je()).observe(e,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}catch{}try{new MutationObserver(()=>je()).observe(document.head,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}catch{}try{let t=document.fonts;t&&(t.addEventListener?.("loadingdone",je),t.ready?.then(()=>je()).catch(()=>{}))}catch{}}}function va(e,t={}){let n={},r=e.getPropertyValue("visibility"),i=t.excludeStyleProps;for(let d=0;d<e.length;d++){let f=e[d];if(un(f)||i&&(i instanceof RegExp&&i.test(f)||typeof i=="function"&&i(f)))continue;let m=e.getPropertyValue(f);(f==="background-image"||f==="content")&&m.includes("url(")&&!m.includes("data:")&&(m="none"),n[f]=m}let o=["text-decoration-line","text-decoration-color","text-decoration-style","text-decoration-thickness","text-underline-offset","text-decoration-skip-ink"];for(let d of o)if(!n[d])try{let f=e.getPropertyValue(d);f&&(n[d]=f)}catch{}let a=["-webkit-text-stroke","-webkit-text-stroke-width","-webkit-text-stroke-color","paint-order"];for(let d of a)if(!n[d])try{let f=e.getPropertyValue(d);f&&(n[d]=f)}catch{}if(t.embedFonts){let d=["font-feature-settings","font-variation-settings","font-kerning","font-variant","font-variant-ligatures","font-optical-sizing"];for(let f of d)if(!n[f])try{let m=e.getPropertyValue(f);m&&(n[f]=m)}catch{}}r==="hidden"&&(n.opacity="0");try{(n["content-visibility"]||e.getPropertyValue("content-visibility"))==="hidden"&&(n.visibility="hidden")}catch{}let s=parseFloat(e.getPropertyValue("border-top-width")||0)||0,c=parseFloat(e.getPropertyValue("border-right-width")||0)||0,l=parseFloat(e.getPropertyValue("border-bottom-width")||0)||0,u=parseFloat(e.getPropertyValue("border-left-width")||0)||0;if(s===0&&c===0&&l===0&&u===0){let d=(e.getPropertyValue("border-image-source")||"").trim(),f=d&&d!=="none",m=["border","border-top","border-right","border-bottom","border-left","border-width","border-style","border-color","border-top-width","border-top-style","border-top-color","border-right-width","border-right-style","border-right-color","border-bottom-width","border-bottom-style","border-bottom-color","border-left-width","border-left-style","border-left-color","border-block","border-block-width","border-block-style","border-block-color","border-inline","border-inline-width","border-inline-style","border-inline-color"];for(let g of m)delete n[g];f||(n.border="none")}return n}var ar=new WeakMap;function Sa(e){let t=ar.get(e);return t||(t=Object.entries(e).sort((n,r)=>n[0]<r[0]?-1:n[0]>r[0]?1:0).map(([n,r])=>`${n}:${r}`).join(";"),ar.set(e,t),t)}function Ea(e,t=null,n={}){let r=or.get(e);if(r&&r.epoch===en)return r.snapshot;let i=t||getComputedStyle(e),o=va(i,n);return Ta(e,i,o),or.set(e,{epoch:en,snapshot:o}),o}function Ca(e,t){return e&&e.session&&e.persist?e:e&&(e.styleMap||e.styleCache||e.nodeMap)?{session:e,persist:{snapshotKeyCache:ze,defaultStyle:k.defaultStyle,baseStyle:k.baseStyle,image:k.image,resource:k.resource,background:k.background,font:k.font},options:t||{}}:{session:k.session,persist:{snapshotKeyCache:ze,defaultStyle:k.defaultStyle,baseStyle:k.baseStyle,image:k.image,resource:k.resource,background:k.background,font:k.font},options:e||t||{}}}function ka(e,t,n){if(!(!e.style||e.style.length===0))for(let r=0;r<e.style.length;r++){let i=e.style[r],o=n.getPropertyValue(i);o&&t.style.setProperty(i,o)}}async function Ce(e,t,n,r){if(e.tagName==="STYLE")return;let i=Ca(n,r),o=i.options&&i.options.cache||"auto";o!=="disabled"&&xa(document.documentElement),o==="disabled"&&!i.session.__bumpedForDisabled&&(je(),ze.clear(),i.session.__bumpedForDisabled=!0);let{session:a,persist:s}=i;if(!a.styleCache.has(e)){let f=null;try{f=getComputedStyle(e)}catch{}a.styleCache.set(e,f||getComputedStyle(document.documentElement))}let c=a.styleCache.get(e);e.getAttribute?.("style")&&ka(e,t,c);let l=Ea(e,c,i.options),u=Sa(l),d=s.snapshotKeyCache.get(u);if(!d){let f=e.tagName?.toLowerCase()||"div";d=Jt(l,f),s.snapshotKeyCache.set(u,d)}a.styleMap.set(t,d)}function Ma(e){return e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof HTMLIFrameElement||e instanceof SVGElement||e instanceof HTMLObjectElement||e instanceof HTMLEmbedElement}function Aa(e){return e.backgroundImage&&e.backgroundImage!=="none"||e.backgroundColor&&e.backgroundColor!=="rgba(0, 0, 0, 0)"&&e.backgroundColor!=="transparent"||(parseFloat(e.borderTopWidth)||0)>0||(parseFloat(e.borderBottomWidth)||0)>0||(parseFloat(e.paddingTop)||0)>0||(parseFloat(e.paddingBottom)||0)>0?!0:(e.overflowBlock||e.overflowY||"visible")!=="visible"}function $a(e){let t=e.parentElement;if(!t)return!1;let n=getComputedStyle(t).display||"";return n.includes("flex")||n.includes("grid")}function La(e,t){if(e.textContent&&/\S/.test(e.textContent))return!0;let n=e.firstElementChild,r=e.lastElementChild;if(n&&n.tagName==="BR"||r&&r.tagName==="BR")return!0;let i=e.scrollHeight;if(i===0)return!1;let o=parseFloat(t.paddingTop)||0,a=parseFloat(t.paddingBottom)||0;return i>o+a}function Ta(e,t,n){if(e instanceof HTMLElement&&e.style&&e.style.height)return;let r=e.tagName&&e.tagName.toLowerCase();if(!r||!["div","section","article","main","aside","header","footer","nav"].includes(r))return;let i=parseFloat(t.height);if(Number.isFinite(i)&&e.scrollHeight>0&&Math.abs(i-e.scrollHeight)>2||t.aspectRatio&&t.aspectRatio!=="none"&&t.aspectRatio!=="auto")return;let o=t.display||"";if(o.includes("flex")||o.includes("grid")||Ma(e))return;let a=t.position;if(a==="absolute"||a==="fixed"||a==="sticky"||t.transform!=="none"||Aa(t)||$a(e))return;let s=t.overflowX||t.overflow||"visible",c=t.overflowY||t.overflow||"visible";if(s!=="visible"||c!=="visible")return;let l=t.clip;l&&l!=="auto"&&l!=="rect(auto, auto, auto, auto)"||t.visibility==="hidden"||t.opacity==="0"||La(e,t)&&(delete n.height,delete n["block-size"])}$r();var Dr=["fill","stroke","color","background-color","stop-color"],lr=new Map;function Na(e,t){let n=t+"::"+e.toLowerCase(),r=lr.get(n);if(r)return r;let i=document,o=t==="http://www.w3.org/2000/svg"?i.createElementNS(t,e):i.createElement(e),a=i.createElement("div");a.style.cssText="position:absolute;left:-99999px;top:-99999px;contain:strict;display:block;",a.appendChild(o),i.documentElement.appendChild(a);let s=getComputedStyle(o),c={};for(let l of Dr)c[l]=s.getPropertyValue(l)||"";return a.remove(),lr.set(n,c),c}function Ra(e,t){if(!(e instanceof Element)||!(t instanceof Element))return;let n=e.getAttribute?.("style"),r=!!(n&&n.includes("var("));if(!r&&e.attributes?.length){let o=e.attributes;for(let a=0;a<o.length;a++){let s=o[a];if(s&&typeof s.value=="string"&&s.value.includes("var(")){r=!0;break}}}let i=null;if(r)try{i=getComputedStyle(e)}catch{}if(r){let o=e.style;if(o&&o.length){let a=new Set;for(let s=0;s<o.length;s++){let c=o[s];if(a.has(c))continue;a.add(c);let l=o.getPropertyValue(c);if(!l||!l.includes("var("))continue;let u=i&&i.getPropertyValue(c);if(u)try{t.style.setProperty(c,u.trim(),o.getPropertyPriority(c))}catch{}}}}if(r&&e.attributes?.length){let o=e.attributes;for(let a=0;a<o.length;a++){let s=o[a];if(!s||typeof s.value!="string"||!s.value.includes("var("))continue;let c=s.name,l=i&&i.getPropertyValue(c);if(l)try{t.style.setProperty(c,l.trim())}catch{}}}if(!r){if(!i)try{i=getComputedStyle(e)}catch{i=null}if(!i)return;let o=e.namespaceURI||"html",a=Na(e.tagName,o);for(let s of Dr){let c=i.getPropertyValue(s)||"",l=a[s]||"";if(c&&c!==l)try{t.style.setProperty(s,c.trim())}catch{}}}}ae();ae();oe();Ie();function Xt(e,t,n){return Promise.all(e.map(r=>new Promise(i=>{function o(){Pe(a=>{!(a&&typeof a.timeRemaining=="function")||a.timeRemaining()>0?t(r,i):o()},{fast:n})}o()})))}function _a(e){return e=e.trim(),!e||/:not\(\s*\[data-sd-slotted\]\s*\)\s*$/.test(e)?e:`${e}:not([data-sd-slotted])`}function Pa(e,t,n=!0){return e.split(",").map(r=>r.trim()).filter(Boolean).map(r=>{if(r.startsWith(":where(")||r.startsWith("@"))return r;let i=n?_a(r):r;return`:where(${t} ${i})`}).join(", ")}function Fa(e,t){return e?(e=e.replace(/:host\(([^)]+)\)/g,(n,r)=>`:where(${t}:is(${r.trim()}))`),e=e.replace(/:host\b/g,`:where(${t})`),e=e.replace(/:host-context\(([^)]+)\)/g,(n,r)=>`:where(:where(${r.trim()}) ${t})`),e=e.replace(/::slotted\(([^)]+)\)/g,(n,r)=>`:where(${t} ${r.trim()})`),e=e.replace(/(^|})(\s*)([^@}{]+){/g,(n,r,i,o)=>{let a=Pa(o,t,!0);return`${r}${i}${a}{`}),e):""}function Ia(e){return e.shadowScopeSeq=(e.shadowScopeSeq||0)+1,`s${e.shadowScopeSeq}`}function Da(e){let t="";try{e.querySelectorAll("style").forEach(r=>{t+=(r.textContent||"")+`
4
4
  `});let n=e.adoptedStyleSheets||[];for(let r of n)try{if(r&&r.cssRules)for(let i of r.cssRules)t+=i.cssText+`
@@ -74,7 +74,7 @@ ${h}
74
74
  white-space: nowrap;
75
75
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
76
76
  ">${xo}</div>
77
- `;function bo(e,t,n){return e+(t-e)*n}function Eo(){window.location.search.includes("mode=iframe")&&Co()}function Co(){if(document.getElementById(go))return;let e=C().cursor,t=C().zoom.mobilePreview,n=document.createElement("div");n.id=go,n.innerHTML=t?So:vo,n.style.cssText=["position: fixed","top: -100px","left: -100px","z-index: 2147483647","pointer-events: none","will-change: left, top, transform, opacity","opacity: 0"].join("; ");let r=document.createElement("div");r.id=Bs,r.style.cssText=["position: fixed","z-index: 2147483646","pointer-events: none","width: 0","height: 0","border-radius: 50%",`background: ${Oe}`,"opacity: 0","transform: translate(-50%, -50%)","transition: width 400ms ease-out, height 400ms ease-out, opacity 400ms ease-out"].join("; "),document.documentElement.appendChild(r),document.documentElement.appendChild(n),e.el=n,e.rippleEl=r}function js(){C().cursor.trackingFrame===null&&Mo()}function ko(){let e=C().cursor;e.trackingFrame!==null&&(cancelAnimationFrame(e.trackingFrame),e.trackingFrame=null),e.targetElement=null}function Mo(){let e=C().cursor;if(e.el){if(e.targetElement&&e.targetElement.isConnected){let t=e.targetElement.getBoundingClientRect(),n=t.left+t.width/2,r=t.top+t.height/2,i=window.innerWidth,o=window.innerHeight,a=Math.max(Mt,Math.min(n,i-Mt)),s=Math.max(Mt,Math.min(r,o-Mt));if(e.x=bo(e.x,a,yo),e.y=bo(e.y,s,yo),e.el.style.transition="none",e.el.style.left=`${e.x}px`,e.el.style.top=`${e.y}px`,Math.abs(e.x-a)<wo&&Math.abs(e.y-s)<wo&&(e.x=a,e.y=s,e.el.style.left=`${e.x}px`,e.el.style.top=`${e.y}px`,e.settledResolve)){let c=e.settledResolve;e.settledResolve=null,c()}}else if(e.targetElement&&!e.targetElement.isConnected&&e.settledResolve){let t=e.settledResolve;e.settledResolve=null,t()}e.trackingFrame=requestAnimationFrame(Mo)}}async function At(e){let t=C().cursor;if(t.el){if(t.hideTimer&&(clearTimeout(t.hideTimer),t.hideTimer=null),t.settledResolve){let n=t.settledResolve;t.settledResolve=null,n()}if(t.targetElement=e,!t.hasPosition){let n=e.getBoundingClientRect(),r=n.left+n.width/2,i=n.top+n.height/2,o=Math.max(window.innerWidth,100),a=Math.max(window.innerHeight,100);Math.random()<.5?(t.x=o+20,t.y=i+(Math.random()-.5)*100):(t.x=r+(Math.random()-.5)*100,t.y=a+20),t.el.style.transition="none",t.el.style.left=`${t.x}px`,t.el.style.top=`${t.y}px`,t.el.style.opacity="0",t.el.offsetWidth,t.hasPosition=!0}return t.visible||(t.el.style.transition=`opacity ${ot}ms ease`,t.el.style.opacity="1",t.visible=!0,await W(ot)),js(),new Promise(n=>{t.settledResolve=n})}}async function Ao(){let e=C().cursor;e.el&&(e.el.style.transform="scale(0.85) translateY(1px)",e.rippleEl&&(e.rippleEl.style.transition="none",e.rippleEl.style.left=`${e.x}px`,e.rippleEl.style.top=`${e.y}px`,e.rippleEl.style.width="0",e.rippleEl.style.height="0",e.rippleEl.style.opacity="0.35",e.rippleEl.offsetWidth,e.rippleEl.style.transition="width 400ms ease-out, height 400ms ease-out, opacity 400ms ease-out",e.rippleEl.style.width="40px",e.rippleEl.style.height="40px",e.rippleEl.style.opacity="0"),await W(Ws),e.el&&(e.el.style.transform="scale(1) translateY(0)"),await W(100))}function it(e){C().cursor.executing=e,e?mo():po()}function xn(){let e=C().cursor;e.hideTimer&&(clearTimeout(e.hideTimer),e.hideTimer=null)}function $t(){let e=C().cursor;e.el&&e.forcedState!=="visible"&&(e.targetElement=null,e.hideTimer&&clearTimeout(e.hideTimer),e.hideTimer=setTimeout(()=>{e.forcedState!=="visible"&&(e.el&&(e.el.style.transition=`opacity ${ot}ms ease`,e.el.style.opacity="0",e.visible=!1),ko(),e.hideTimer=null)},Us))}function $o(){let e=C().cursor;e.hideTimer&&(clearTimeout(e.hideTimer),e.hideTimer=null),e.el&&(e.el.style.transition="none",e.el.style.opacity="0"),e.rippleEl&&(e.rippleEl.style.opacity="0")}function Lo(){let e=C().cursor;!e.el||!e.visible||(e.el.style.transition=`opacity ${ot}ms ease`,e.el.style.opacity="1")}function vn(e){let t=C().cursor;t.el&&(t.el.innerHTML=e?So:vo)}function Lt(e){let t=C().cursor;t.executing||(t.forcedState=e,e==="visible"&&!t.el&&Co(),t.el&&(e==="visible"?(t.hideTimer&&(clearTimeout(t.hideTimer),t.hideTimer=null),t.hasPosition&&(t.el.style.transition=`opacity ${ot}ms ease`,t.el.style.opacity="1"),t.visible=!0):e==="hidden"?(t.hideTimer&&(clearTimeout(t.hideTimer),t.hideTimer=null),t.el.style.opacity="0",t.visible=!1,ko()):$t()))}var Vs=750,zs=400,Ae=2,Ro=["#__mindstudio-cursor","#__mindstudio-cursor-ripple","#__mindstudio-notes-cursor","#__mindstudio-camera","#__mindstudio-flash","#__mindstudio-touch-circle"],Ys="#DD2590",Xs=`<svg width="44" height="44" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
77
+ `;function bo(e,t,n){return e+(t-e)*n}function Eo(){window.location.search.includes("mode=iframe")&&Co()}function Co(){if(document.getElementById(go))return;let e=C().cursor,t=C().zoom.mobilePreview,n=document.createElement("div");n.id=go,n.innerHTML=t?So:vo,n.style.cssText=["position: fixed","top: -100px","left: -100px","z-index: 2147483647","pointer-events: none","will-change: left, top, transform, opacity","opacity: 0"].join("; ");let r=document.createElement("div");r.id=Bs,r.style.cssText=["position: fixed","z-index: 2147483646","pointer-events: none","width: 0","height: 0","border-radius: 50%",`background: ${Oe}`,"opacity: 0","transform: translate(-50%, -50%)","transition: width 400ms ease-out, height 400ms ease-out, opacity 400ms ease-out"].join("; "),document.documentElement.appendChild(r),document.documentElement.appendChild(n),e.el=n,e.rippleEl=r}function js(){C().cursor.trackingFrame===null&&Mo()}function ko(){let e=C().cursor;e.trackingFrame!==null&&(cancelAnimationFrame(e.trackingFrame),e.trackingFrame=null),e.targetElement=null}function Mo(){let e=C().cursor;if(e.el){if(e.targetElement&&e.targetElement.isConnected){let t=e.targetElement.getBoundingClientRect(),n=t.left+t.width/2,r=t.top+t.height/2,i=window.innerWidth,o=window.innerHeight,a=Math.max(Mt,Math.min(n,i-Mt)),s=Math.max(Mt,Math.min(r,o-Mt));if(e.x=bo(e.x,a,yo),e.y=bo(e.y,s,yo),e.el.style.transition="none",e.el.style.left=`${e.x}px`,e.el.style.top=`${e.y}px`,Math.abs(e.x-a)<wo&&Math.abs(e.y-s)<wo&&(e.x=a,e.y=s,e.el.style.left=`${e.x}px`,e.el.style.top=`${e.y}px`,e.settledResolve)){let c=e.settledResolve;e.settledResolve=null,c()}}else if(e.targetElement&&!e.targetElement.isConnected&&e.settledResolve){let t=e.settledResolve;e.settledResolve=null,t()}e.trackingFrame=requestAnimationFrame(Mo)}}async function At(e){let t=C().cursor;if(t.el){if(t.hideTimer&&(clearTimeout(t.hideTimer),t.hideTimer=null),t.settledResolve){let n=t.settledResolve;t.settledResolve=null,n()}if(t.targetElement=e,!t.hasPosition){let n=e.getBoundingClientRect(),r=n.left+n.width/2,i=n.top+n.height/2,o=Math.max(window.innerWidth,100),a=Math.max(window.innerHeight,100);Math.random()<.5?(t.x=o+20,t.y=i+(Math.random()-.5)*100):(t.x=r+(Math.random()-.5)*100,t.y=a+20),t.el.style.transition="none",t.el.style.left=`${t.x}px`,t.el.style.top=`${t.y}px`,t.el.style.opacity="0",t.el.offsetWidth,t.hasPosition=!0}return t.visible||(t.el.style.transition=`opacity ${ot}ms ease`,t.el.style.opacity="1",t.visible=!0,await W(ot)),js(),new Promise(n=>{t.settledResolve=n})}}async function Ao(){let e=C().cursor;e.el&&(e.el.style.transform="scale(0.85) translateY(1px)",e.rippleEl&&(e.rippleEl.style.transition="none",e.rippleEl.style.left=`${e.x}px`,e.rippleEl.style.top=`${e.y}px`,e.rippleEl.style.width="0",e.rippleEl.style.height="0",e.rippleEl.style.opacity="0.35",e.rippleEl.offsetWidth,e.rippleEl.style.transition="width 400ms ease-out, height 400ms ease-out, opacity 400ms ease-out",e.rippleEl.style.width="40px",e.rippleEl.style.height="40px",e.rippleEl.style.opacity="0"),await W(Ws),e.el&&(e.el.style.transform="scale(1) translateY(0)"),await W(100))}function it(e){C().cursor.executing=e,e?mo():po()}function xn(){let e=C().cursor;e.hideTimer&&(clearTimeout(e.hideTimer),e.hideTimer=null)}function $t(){let e=C().cursor;e.el&&e.forcedState!=="visible"&&(e.targetElement=null,e.hideTimer&&clearTimeout(e.hideTimer),e.hideTimer=setTimeout(()=>{e.forcedState!=="visible"&&(e.el&&(e.el.style.transition=`opacity ${ot}ms ease`,e.el.style.opacity="0",e.visible=!1),ko(),e.hideTimer=null)},Us))}function $o(){let e=C().cursor;e.hideTimer&&(clearTimeout(e.hideTimer),e.hideTimer=null),e._wasVisible=e.visible,e.visible=!1,e.el&&(e.el.style.transition="none",e.el.style.opacity="0"),e.rippleEl&&(e.rippleEl.style.opacity="0")}function Lo(){let e=C().cursor,t=e._wasVisible;e._wasVisible=void 0,!(!e.el||!t)&&(e.visible=!0,e.el.style.transition=`opacity ${ot}ms ease`,e.el.offsetWidth,e.el.style.opacity="1")}function vn(e){let t=C().cursor;t.el&&(t.el.innerHTML=e?So:vo)}function Lt(e){let t=C().cursor;t.executing||(t.forcedState=e,e==="visible"&&!t.el&&Co(),t.el&&(e==="visible"?(t.hideTimer&&(clearTimeout(t.hideTimer),t.hideTimer=null),t.hasPosition&&(t.el.style.transition=`opacity ${ot}ms ease`,t.el.style.opacity="1"),t.visible=!0):e==="hidden"?(t.hideTimer&&(clearTimeout(t.hideTimer),t.hideTimer=null),t.el.style.opacity="0",t.visible=!1,ko()):$t()))}var Vs=750,zs=400,Ae=2,Ro=["#__mindstudio-cursor","#__mindstudio-cursor-ripple","#__mindstudio-notes-cursor","#__mindstudio-camera","#__mindstudio-flash","#__mindstudio-touch-circle"],Ys="#DD2590",Xs=`<svg width="44" height="44" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
78
78
  <g filter="url(#filter0_d_2_302)">
79
79
  <path fill-rule="evenodd" clip-rule="evenodd" d="M6.5 21C4.57 21 3 19.43 3 17.5V10.5C3 8.57 4.57 7 6.5 7H7.5C7.966 7 8.387 6.49 8.605 6.053C9.239 4.786 10.028 4 12 4H16C17.972 4 18.761 4.786 19.395 6.053C19.613 6.49 20.034 7 20.5 7H21.5C23.43 7 25 8.57 25 10.5V17.5C25 19.43 23.43 21 21.5 21H6.5Z" fill="white"/>
80
80
  <path fill-rule="evenodd" clip-rule="evenodd" d="M14 18C11.238 18 9 15.762 9 13C9 10.238 11.238 8 14 8C16.762 8 19 10.238 19 13C19 15.762 16.762 18 14 18ZM21.5 8H20.5C19.5 8 18.816 7.132 18.5 6.5C18 5.5 17.5 5 16 5H14H12C10.5 5 10 5.5 9.5 6.5C9.184 7.132 8.5 8 7.5 8H6.5C5.119 8 4 9.119 4 10.5V17.5C4 18.881 5.119 20 6.5 20H21.5C22.881 20 24 18.881 24 17.5V10.5C24 9.119 22.881 8 21.5 8Z" fill="black"/>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindstudio-ai/browser-agent",
3
- "version": "0.1.39",
3
+ "version": "0.1.41",
4
4
  "description": "Browser-side agent for MindStudio dev previews — captures logs, provides DOM snapshots, and enables remote interaction.",
5
5
  "main": "dist/index.js",
6
6
  "files": [