jat-feedback 3.3.4 → 3.3.5

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.
@@ -42,7 +42,7 @@ var ho=Object.defineProperty;var Hr=qe=>{throw TypeError(qe)};var go=(qe,Je,ft)=
42
42
  `)} {
43
43
  ${W}
44
44
  }
45
- `}),b.appendChild(g.createTextNode(O))}m.timeEnd("clone node"),await(k==null?void 0:k(M)),x!==!1&&isElementNode(M)&&(m.time("embed web font"),await embedWebFont(M,h),m.timeEnd("embed web font")),m.time("embed node"),embedNode(M,h);const R=_.length;let C=0;const $=async()=>{for(;;){const O=_.pop();if(!O)break;try{await O}catch(P){h.log.warn("Failed to run task",P)}E==null||E(++C,R)}};E==null||E(C,R),await Promise.all([...Array.from({length:4})].map($)),m.timeEnd("embed node"),await(I==null?void 0:I(M));const N=createForeignObjectSvg(M,h);return y&&N.insertBefore(y,N.children[0]),b&&N.insertBefore(b,N.children[0]),S&&destroyContext(h),await(A==null?void 0:A(N)),N}function createForeignObjectSvg(d,p){const{width:h,height:g}=p,m=createSvg(h,g,d.ownerDocument),_=m.ownerDocument.createElementNS(m.namespaceURI,"foreignObject");return _.setAttributeNS(null,"x","0%"),_.setAttributeNS(null,"y","0%"),_.setAttributeNS(null,"width","100%"),_.setAttributeNS(null,"height","100%"),_.append(d),m.appendChild(_),m}async function domToCanvas(d,p){var b;const h=await orCreateContext(d,p),g=await domToForeignObjectSvg(h),m=svgToDataUrl(g,h.isEnable("removeControlCharacter"));h.autoDestruct||(h.svgStyleElement=createStyleElement(h.ownerDocument),h.svgDefsElement=(b=h.ownerDocument)==null?void 0:b.createElementNS(XMLNS,"defs"),h.svgStyles.clear());const _=createImage(m,g.ownerDocument);return await imageToCanvas(_,h)}const PLACEHOLDER="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";function canvasHasContent(d){const p=d.getContext("2d");if(!p)return!1;const{width:h,height:g}=d;if(h===0||g===0)return!1;const m=p.getImageData(0,0,h,g).data,_=h*g,b=Math.min(50,_),y=Math.max(1,Math.floor(_/b));for(let w=0;w<_;w+=y){const x=w*4;if(m[x+3]>10){const S=m[x],k=m[x+1],I=m[x+2];if(S>5||k>5||I>5)return!0}}return!1}function isFragmentUrl(d){try{const p=new URL(d,window.location.href);return p.origin===window.location.origin&&p.pathname===window.location.pathname&&!!p.hash}catch{return!0}}function withFetchIntercept(d){const p=window.fetch;return window.fetch=function(h,g){const m=typeof h=="string"?h:h instanceof URL?h.toString():h.url;return isFragmentUrl(m)?Promise.resolve(new Response("",{status:200})):p.call(window,h,g)},d().finally(()=>{window.fetch=p})}const sharedOptions={fetch:{placeholderImage:PLACEHOLDER},features:{restoreScrollPosition:!0},filter:d=>{var p;return!(d instanceof HTMLElement&&(d.tagName==="JAT-FEEDBACK"||(p=d.id)!=null&&p.startsWith("jat-feedback-")))}};async function captureViewport(){return withFetchIntercept(async()=>{const d=await domToCanvas(document.documentElement,{...sharedOptions,width:window.innerWidth,height:window.innerHeight,style:{transform:`translate(-${window.scrollX}px, -${window.scrollY}px)`}});if(!canvasHasContent(d)){const p=await domToCanvas(document.body,{...sharedOptions,width:window.innerWidth,height:window.innerHeight});if(!canvasHasContent(p))throw new Error("Screenshot produced a blank image");return p.toDataURL("image/jpeg",.8)}return d.toDataURL("image/jpeg",.8)})}async function captureViewportQuick(){return withFetchIntercept(async()=>{const d=await domToCanvas(document.documentElement,{...sharedOptions,scale:.5,width:window.innerWidth,height:window.innerHeight,style:{transform:`translate(-${window.scrollX}px, -${window.scrollY}px)`}});if(!canvasHasContent(d)){const p=await domToCanvas(document.body,{...sharedOptions,scale:.5,width:window.innerWidth,height:window.innerHeight});if(!canvasHasContent(p))throw new Error("Screenshot produced a blank image");return p.toDataURL("image/jpeg",.6)}return d.toDataURL("image/jpeg",.6)})}var NodeType$2;(function(d){d[d.Document=0]="Document",d[d.DocumentType=1]="DocumentType",d[d.Element=2]="Element",d[d.Text=3]="Text",d[d.CDATA=4]="CDATA",d[d.Comment=5]="Comment"})(NodeType$2||(NodeType$2={}));function isElement(d){return d.nodeType===d.ELEMENT_NODE}function isShadowRoot(d){var p=d==null?void 0:d.host;return(p==null?void 0:p.shadowRoot)===d}function isNativeShadowDom(d){return Object.prototype.toString.call(d)==="[object ShadowRoot]"}function fixBrowserCompatibilityIssuesInCSS(d){return d.includes(" background-clip: text;")&&!d.includes(" -webkit-background-clip: text;")&&(d=d.replace(" background-clip: text;"," -webkit-background-clip: text; background-clip: text;")),d}function getCssRulesString(d){try{var p=d.rules||d.cssRules;return p?fixBrowserCompatibilityIssuesInCSS(Array.from(p).map(getCssRuleString).join("")):null}catch{return null}}function getCssRuleString(d){var p=d.cssText;if(isCSSImportRule(d))try{p=getCssRulesString(d.styleSheet)||p}catch{}return p}function isCSSImportRule(d){return"styleSheet"in d}var Mirror$2=(function(){function d(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}return d.prototype.getId=function(p){var h;if(!p)return-1;var g=(h=this.getMeta(p))===null||h===void 0?void 0:h.id;return g??-1},d.prototype.getNode=function(p){return this.idNodeMap.get(p)||null},d.prototype.getIds=function(){return Array.from(this.idNodeMap.keys())},d.prototype.getMeta=function(p){return this.nodeMetaMap.get(p)||null},d.prototype.removeNodeFromMap=function(p){var h=this,g=this.getId(p);this.idNodeMap.delete(g),p.childNodes&&p.childNodes.forEach(function(m){return h.removeNodeFromMap(m)})},d.prototype.has=function(p){return this.idNodeMap.has(p)},d.prototype.hasNode=function(p){return this.nodeMetaMap.has(p)},d.prototype.add=function(p,h){var g=h.id;this.idNodeMap.set(g,p),this.nodeMetaMap.set(p,h)},d.prototype.replace=function(p,h){var g=this.getNode(p);if(g){var m=this.nodeMetaMap.get(g);m&&this.nodeMetaMap.set(h,m)}this.idNodeMap.set(p,h)},d.prototype.reset=function(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap},d})();function createMirror$2(){return new Mirror$2}function maskInputValue(d){var p=d.maskInputOptions,h=d.tagName,g=d.type,m=d.value,_=d.maskInputFn,b=m||"";return(p[h.toLowerCase()]||p[g])&&(_?b=_(b):b="*".repeat(b.length)),b}var ORIGINAL_ATTRIBUTE_NAME="__rrweb_original__";function is2DCanvasBlank(d){var p=d.getContext("2d");if(!p)return!0;for(var h=50,g=0;g<d.width;g+=h)for(var m=0;m<d.height;m+=h){var _=p.getImageData,b=ORIGINAL_ATTRIBUTE_NAME in _?_[ORIGINAL_ATTRIBUTE_NAME]:_,y=new Uint32Array(b.call(p,g,m,Math.min(h,d.width-g),Math.min(h,d.height-m)).data.buffer);if(y.some(function(w){return w!==0}))return!1}return!0}var _id=1,tagNameRegex=new RegExp("[^a-z0-9-_:]"),IGNORED_NODE=-2;function genId(){return _id++}function getValidTagName$1(d){if(d instanceof HTMLFormElement)return"form";var p=d.tagName.toLowerCase().trim();return tagNameRegex.test(p)?"div":p}function stringifyStyleSheet(d){return d.cssRules?Array.from(d.cssRules).map(function(p){return p.cssText||""}).join(""):""}function extractOrigin(d){var p="";return d.indexOf("//")>-1?p=d.split("/").slice(0,3).join("/"):p=d.split("/")[0],p=p.split("?")[0],p}var canvasService,canvasCtx,URL_IN_CSS_REF=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,RELATIVE_PATH=/^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/|#).*/,DATA_URI=/^(data:)([^,]*),(.*)/i;function absoluteToStylesheet(d,p){return(d||"").replace(URL_IN_CSS_REF,function(h,g,m,_,b,y){var w=m||b||y,x=g||_||"";if(!w)return h;if(!RELATIVE_PATH.test(w)||DATA_URI.test(w))return"url(".concat(x).concat(w).concat(x,")");if(w[0]==="/")return"url(".concat(x).concat(extractOrigin(p)+w).concat(x,")");var E=p.split("/"),S=w.split("/");E.pop();for(var k=0,I=S;k<I.length;k++){var A=I[k];A!=="."&&(A===".."?E.pop():E.push(A))}return"url(".concat(x).concat(E.join("/")).concat(x,")")})}var SRCSET_NOT_SPACES=/^[^ \t\n\r\u000c]+/,SRCSET_COMMAS_OR_SPACES=/^[, \t\n\r\u000c]+/;function getAbsoluteSrcsetString(d,p){if(p.trim()==="")return p;var h=0;function g(x){var E,S=x.exec(p.substring(h));return S?(E=S[0],h+=E.length,E):""}for(var m=[];g(SRCSET_COMMAS_OR_SPACES),!(h>=p.length);){var _=g(SRCSET_NOT_SPACES);if(_.slice(-1)===",")_=absoluteToDoc(d,_.substring(0,_.length-1)),m.push(_);else{var b="";_=absoluteToDoc(d,_);for(var y=!1;;){var w=p.charAt(h);if(w===""){m.push((_+b).trim());break}else if(y)w===")"&&(y=!1);else if(w===","){h+=1,m.push((_+b).trim());break}else w==="("&&(y=!0);b+=w,h+=1}}}return m.join(", ")}function absoluteToDoc(d,p){if(!p||p.trim()==="")return p;var h=d.createElement("a");return h.href=p,h.href}function isSVGElement(d){return!!(d.tagName==="svg"||d.ownerSVGElement)}function getHref(){var d=document.createElement("a");return d.href="",d.href}function transformAttribute(d,p,h,g){return h==="src"||h==="href"&&g&&!(p==="use"&&g[0]==="#")||h==="xlink:href"&&g&&g[0]!=="#"||h==="background"&&g&&(p==="table"||p==="td"||p==="th")?absoluteToDoc(d,g):h==="srcset"&&g?getAbsoluteSrcsetString(d,g):h==="style"&&g?absoluteToStylesheet(g,getHref()):p==="object"&&h==="data"&&g?absoluteToDoc(d,g):g}function _isBlockedElement(d,p,h){if(typeof p=="string"){if(d.classList.contains(p))return!0}else for(var g=d.classList.length;g--;){var m=d.classList[g];if(p.test(m))return!0}return h?d.matches(h):!1}function classMatchesRegex(d,p,h){if(!d)return!1;if(d.nodeType!==d.ELEMENT_NODE)return h?classMatchesRegex(d.parentNode,p,h):!1;for(var g=d.classList.length;g--;){var m=d.classList[g];if(p.test(m))return!0}return h?classMatchesRegex(d.parentNode,p,h):!1}function needMaskingText(d,p,h){var g=d.nodeType===d.ELEMENT_NODE?d:d.parentElement;if(g===null)return!1;if(typeof p=="string"){if(g.classList.contains(p)||g.closest(".".concat(p)))return!0}else if(classMatchesRegex(g,p,!0))return!0;return!!(h&&(g.matches(h)||g.closest(h)))}function onceIframeLoaded(d,p,h){var g=d.contentWindow;if(g){var m=!1,_;try{_=g.document.readyState}catch{return}if(_!=="complete"){var b=setTimeout(function(){m||(p(),m=!0)},h);d.addEventListener("load",function(){clearTimeout(b),m=!0,p()});return}var y="about:blank";if(g.location.href!==y||d.src===y||d.src==="")return setTimeout(p,0),d.addEventListener("load",p);d.addEventListener("load",p)}}function onceStylesheetLoaded(d,p,h){var g=!1,m;try{m=d.sheet}catch{return}if(!m){var _=setTimeout(function(){g||(p(),g=!0)},h);d.addEventListener("load",function(){clearTimeout(_),g=!0,p()})}}function serializeNode(d,p){var h=p.doc,g=p.mirror,m=p.blockClass,_=p.blockSelector,b=p.maskTextClass,y=p.maskTextSelector,w=p.inlineStylesheet,x=p.maskInputOptions,E=x===void 0?{}:x,S=p.maskTextFn,k=p.maskInputFn,I=p.dataURLOptions,A=I===void 0?{}:I,M=p.inlineImages,R=p.recordCanvas,C=p.keepIframeSrcFn,$=p.newlyAddedElement,N=$===void 0?!1:$,O=getRootId(h,g);switch(d.nodeType){case d.DOCUMENT_NODE:return d.compatMode!=="CSS1Compat"?{type:NodeType$2.Document,childNodes:[],compatMode:d.compatMode}:{type:NodeType$2.Document,childNodes:[]};case d.DOCUMENT_TYPE_NODE:return{type:NodeType$2.DocumentType,name:d.name,publicId:d.publicId,systemId:d.systemId,rootId:O};case d.ELEMENT_NODE:return serializeElementNode(d,{doc:h,blockClass:m,blockSelector:_,inlineStylesheet:w,maskInputOptions:E,maskInputFn:k,dataURLOptions:A,inlineImages:M,recordCanvas:R,keepIframeSrcFn:C,newlyAddedElement:N,rootId:O});case d.TEXT_NODE:return serializeTextNode(d,{maskTextClass:b,maskTextSelector:y,maskTextFn:S,rootId:O});case d.CDATA_SECTION_NODE:return{type:NodeType$2.CDATA,textContent:"",rootId:O};case d.COMMENT_NODE:return{type:NodeType$2.Comment,textContent:d.textContent||"",rootId:O};default:return!1}}function getRootId(d,p){if(p.hasNode(d)){var h=p.getId(d);return h===1?void 0:h}}function serializeTextNode(d,p){var h,g=p.maskTextClass,m=p.maskTextSelector,_=p.maskTextFn,b=p.rootId,y=d.parentNode&&d.parentNode.tagName,w=d.textContent,x=y==="STYLE"?!0:void 0,E=y==="SCRIPT"?!0:void 0;if(x&&w){try{d.nextSibling||d.previousSibling||!((h=d.parentNode.sheet)===null||h===void 0)&&h.cssRules&&(w=stringifyStyleSheet(d.parentNode.sheet))}catch(S){console.warn("Cannot get CSS styles from text's parentNode. Error: ".concat(S),d)}w=absoluteToStylesheet(w,getHref())}return E&&(w="SCRIPT_PLACEHOLDER"),!x&&!E&&w&&needMaskingText(d,g,m)&&(w=_?_(w):w.replace(/[\S]/g,"*")),{type:NodeType$2.Text,textContent:w||"",isStyle:x,rootId:b}}function serializeElementNode(d,p){for(var h=p.doc,g=p.blockClass,m=p.blockSelector,_=p.inlineStylesheet,b=p.maskInputOptions,y=b===void 0?{}:b,w=p.maskInputFn,x=p.dataURLOptions,E=x===void 0?{}:x,S=p.inlineImages,k=p.recordCanvas,I=p.keepIframeSrcFn,A=p.newlyAddedElement,M=A===void 0?!1:A,R=p.rootId,C=_isBlockedElement(d,g,m),$=getValidTagName$1(d),N={},O=d.attributes.length,P=0;P<O;P++){var W=d.attributes[P];N[W.name]=transformAttribute(h,$,W.name,W.value)}if($==="link"&&_){var V=Array.from(h.styleSheets).find(function(z){return z.href===d.href}),q=null;V&&(q=getCssRulesString(V)),q&&(delete N.rel,delete N.href,N._cssText=absoluteToStylesheet(q,V.href))}if($==="style"&&d.sheet&&!(d.innerText||d.textContent||"").trim().length){var q=getCssRulesString(d.sheet);q&&(N._cssText=absoluteToStylesheet(q,getHref()))}if($==="input"||$==="textarea"||$==="select"){var he=d.value,ne=d.checked;N.type!=="radio"&&N.type!=="checkbox"&&N.type!=="submit"&&N.type!=="button"&&he?N.value=maskInputValue({type:N.type,tagName:$,value:he,maskInputOptions:y,maskInputFn:w}):ne&&(N.checked=ne)}if($==="option"&&(d.selected&&!y.select?N.selected=!0:delete N.selected),$==="canvas"&&k){if(d.__context==="2d")is2DCanvasBlank(d)||(N.rr_dataURL=d.toDataURL(E.type,E.quality));else if(!("__context"in d)){var ie=d.toDataURL(E.type,E.quality),se=document.createElement("canvas");se.width=d.width,se.height=d.height;var Ee=se.toDataURL(E.type,E.quality);ie!==Ee&&(N.rr_dataURL=ie)}}if($==="img"&&S){canvasService||(canvasService=h.createElement("canvas"),canvasCtx=canvasService.getContext("2d"));var ae=d,Ie=ae.crossOrigin;ae.crossOrigin="anonymous";var Se=function(){try{canvasService.width=ae.naturalWidth,canvasService.height=ae.naturalHeight,canvasCtx.drawImage(ae,0,0),N.rr_dataURL=canvasService.toDataURL(E.type,E.quality)}catch(z){console.warn("Cannot inline img src=".concat(ae.currentSrc,"! Error: ").concat(z))}Ie?N.crossOrigin=Ie:ae.removeAttribute("crossorigin")};ae.complete&&ae.naturalWidth!==0?Se():ae.onload=Se}if(($==="audio"||$==="video")&&(N.rr_mediaState=d.paused?"paused":"played",N.rr_mediaCurrentTime=d.currentTime),M||(d.scrollLeft&&(N.rr_scrollLeft=d.scrollLeft),d.scrollTop&&(N.rr_scrollTop=d.scrollTop)),C){var ge=d.getBoundingClientRect(),xe=ge.width,T=ge.height;N={class:N.class,rr_width:"".concat(xe,"px"),rr_height:"".concat(T,"px")}}return $==="iframe"&&!I(N.src)&&(d.contentDocument||(N.rr_src=N.src),delete N.src),{type:NodeType$2.Element,tagName:$,attributes:N,childNodes:[],isSVG:isSVGElement(d)||void 0,needBlock:C,rootId:R}}function lowerIfExists(d){return d===void 0?"":d.toLowerCase()}function slimDOMExcluded(d,p){if(p.comment&&d.type===NodeType$2.Comment)return!0;if(d.type===NodeType$2.Element){if(p.script&&(d.tagName==="script"||d.tagName==="link"&&d.attributes.rel==="preload"&&d.attributes.as==="script"||d.tagName==="link"&&d.attributes.rel==="prefetch"&&typeof d.attributes.href=="string"&&d.attributes.href.endsWith(".js")))return!0;if(p.headFavicon&&(d.tagName==="link"&&d.attributes.rel==="shortcut icon"||d.tagName==="meta"&&(lowerIfExists(d.attributes.name).match(/^msapplication-tile(image|color)$/)||lowerIfExists(d.attributes.name)==="application-name"||lowerIfExists(d.attributes.rel)==="icon"||lowerIfExists(d.attributes.rel)==="apple-touch-icon"||lowerIfExists(d.attributes.rel)==="shortcut icon")))return!0;if(d.tagName==="meta"){if(p.headMetaDescKeywords&&lowerIfExists(d.attributes.name).match(/^description|keywords$/))return!0;if(p.headMetaSocial&&(lowerIfExists(d.attributes.property).match(/^(og|twitter|fb):/)||lowerIfExists(d.attributes.name).match(/^(og|twitter):/)||lowerIfExists(d.attributes.name)==="pinterest"))return!0;if(p.headMetaRobots&&(lowerIfExists(d.attributes.name)==="robots"||lowerIfExists(d.attributes.name)==="googlebot"||lowerIfExists(d.attributes.name)==="bingbot"))return!0;if(p.headMetaHttpEquiv&&d.attributes["http-equiv"]!==void 0)return!0;if(p.headMetaAuthorship&&(lowerIfExists(d.attributes.name)==="author"||lowerIfExists(d.attributes.name)==="generator"||lowerIfExists(d.attributes.name)==="framework"||lowerIfExists(d.attributes.name)==="publisher"||lowerIfExists(d.attributes.name)==="progid"||lowerIfExists(d.attributes.property).match(/^article:/)||lowerIfExists(d.attributes.property).match(/^product:/)))return!0;if(p.headMetaVerification&&(lowerIfExists(d.attributes.name)==="google-site-verification"||lowerIfExists(d.attributes.name)==="yandex-verification"||lowerIfExists(d.attributes.name)==="csrf-token"||lowerIfExists(d.attributes.name)==="p:domain_verify"||lowerIfExists(d.attributes.name)==="verify-v1"||lowerIfExists(d.attributes.name)==="verification"||lowerIfExists(d.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function serializeNodeWithId(d,p){var h=p.doc,g=p.mirror,m=p.blockClass,_=p.blockSelector,b=p.maskTextClass,y=p.maskTextSelector,w=p.skipChild,x=w===void 0?!1:w,E=p.inlineStylesheet,S=E===void 0?!0:E,k=p.maskInputOptions,I=k===void 0?{}:k,A=p.maskTextFn,M=p.maskInputFn,R=p.slimDOMOptions,C=p.dataURLOptions,$=C===void 0?{}:C,N=p.inlineImages,O=N===void 0?!1:N,P=p.recordCanvas,W=P===void 0?!1:P,V=p.onSerialize,q=p.onIframeLoad,he=p.iframeLoadTimeout,ne=he===void 0?5e3:he,ie=p.onStylesheetLoad,se=p.stylesheetLoadTimeout,Ee=se===void 0?5e3:se,ae=p.keepIframeSrcFn,Ie=ae===void 0?function(){return!1}:ae,Se=p.newlyAddedElement,ge=Se===void 0?!1:Se,xe=p.preserveWhiteSpace,T=xe===void 0?!0:xe,z=serializeNode(d,{doc:h,mirror:g,blockClass:m,blockSelector:_,maskTextClass:b,maskTextSelector:y,inlineStylesheet:S,maskInputOptions:I,maskTextFn:A,maskInputFn:M,dataURLOptions:$,inlineImages:O,recordCanvas:W,keepIframeSrcFn:Ie,newlyAddedElement:ge});if(!z)return console.warn(d,"not serialized"),null;var D;g.hasNode(d)?D=g.getId(d):slimDOMExcluded(z,R)||!T&&z.type===NodeType$2.Text&&!z.isStyle&&!z.textContent.replace(/^\s+|\s+$/gm,"").length?D=IGNORED_NODE:D=genId();var Z=Object.assign(z,{id:D});if(g.add(d,Z),D===IGNORED_NODE)return null;V&&V(d);var G=!x;if(Z.type===NodeType$2.Element){G=G&&!Z.needBlock,delete Z.needBlock;var oe=d.shadowRoot;oe&&isNativeShadowDom(oe)&&(Z.isShadowHost=!0)}if((Z.type===NodeType$2.Document||Z.type===NodeType$2.Element)&&G){R.headWhitespace&&Z.type===NodeType$2.Element&&Z.tagName==="head"&&(T=!1);for(var _e={doc:h,mirror:g,blockClass:m,blockSelector:_,maskTextClass:b,maskTextSelector:y,skipChild:x,inlineStylesheet:S,maskInputOptions:I,maskTextFn:A,maskInputFn:M,slimDOMOptions:R,dataURLOptions:$,inlineImages:O,recordCanvas:W,preserveWhiteSpace:T,onSerialize:V,onIframeLoad:q,iframeLoadTimeout:ne,onStylesheetLoad:ie,stylesheetLoadTimeout:Ee,keepIframeSrcFn:Ie},B=0,Q=Array.from(d.childNodes);B<Q.length;B++){var de=Q[B],re=serializeNodeWithId(de,_e);re&&Z.childNodes.push(re)}if(isElement(d)&&d.shadowRoot)for(var ve=0,U=Array.from(d.shadowRoot.childNodes);ve<U.length;ve++){var de=U[ve],re=serializeNodeWithId(de,_e);re&&(isNativeShadowDom(d.shadowRoot)&&(re.isShadow=!0),Z.childNodes.push(re))}}return d.parentNode&&isShadowRoot(d.parentNode)&&isNativeShadowDom(d.parentNode)&&(Z.isShadow=!0),Z.type===NodeType$2.Element&&Z.tagName==="iframe"&&onceIframeLoaded(d,function(){var X=d.contentDocument;if(X&&q){var fe=serializeNodeWithId(X,{doc:X,mirror:g,blockClass:m,blockSelector:_,maskTextClass:b,maskTextSelector:y,skipChild:!1,inlineStylesheet:S,maskInputOptions:I,maskTextFn:A,maskInputFn:M,slimDOMOptions:R,dataURLOptions:$,inlineImages:O,recordCanvas:W,preserveWhiteSpace:T,onSerialize:V,onIframeLoad:q,iframeLoadTimeout:ne,onStylesheetLoad:ie,stylesheetLoadTimeout:Ee,keepIframeSrcFn:Ie});fe&&q(d,fe)}},ne),Z.type===NodeType$2.Element&&Z.tagName==="link"&&Z.attributes.rel==="stylesheet"&&onceStylesheetLoaded(d,function(){if(ie){var X=serializeNodeWithId(d,{doc:h,mirror:g,blockClass:m,blockSelector:_,maskTextClass:b,maskTextSelector:y,skipChild:!1,inlineStylesheet:S,maskInputOptions:I,maskTextFn:A,maskInputFn:M,slimDOMOptions:R,dataURLOptions:$,inlineImages:O,recordCanvas:W,preserveWhiteSpace:T,onSerialize:V,onIframeLoad:q,iframeLoadTimeout:ne,onStylesheetLoad:ie,stylesheetLoadTimeout:Ee,keepIframeSrcFn:Ie});X&&ie(d,X)}},Ee),Z}function snapshot(d,p){var h=p||{},g=h.mirror,m=g===void 0?new Mirror$2:g,_=h.blockClass,b=_===void 0?"rr-block":_,y=h.blockSelector,w=y===void 0?null:y,x=h.maskTextClass,E=x===void 0?"rr-mask":x,S=h.maskTextSelector,k=S===void 0?null:S,I=h.inlineStylesheet,A=I===void 0?!0:I,M=h.inlineImages,R=M===void 0?!1:M,C=h.recordCanvas,$=C===void 0?!1:C,N=h.maskAllInputs,O=N===void 0?!1:N,P=h.maskTextFn,W=h.maskInputFn,V=h.slimDOM,q=V===void 0?!1:V,he=h.dataURLOptions,ne=h.preserveWhiteSpace,ie=h.onSerialize,se=h.onIframeLoad,Ee=h.iframeLoadTimeout,ae=h.onStylesheetLoad,Ie=h.stylesheetLoadTimeout,Se=h.keepIframeSrcFn,ge=Se===void 0?function(){return!1}:Se,xe=O===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:O===!1?{password:!0}:O,T=q===!0||q==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:q==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:q===!1?{}:q;return serializeNodeWithId(d,{doc:d,mirror:m,blockClass:b,blockSelector:w,maskTextClass:E,maskTextSelector:k,skipChild:!1,inlineStylesheet:A,maskInputOptions:xe,maskTextFn:P,maskInputFn:W,slimDOMOptions:T,dataURLOptions:he,inlineImages:R,recordCanvas:$,preserveWhiteSpace:ne,onSerialize:ie,onIframeLoad:se,iframeLoadTimeout:Ee,onStylesheetLoad:ae,stylesheetLoadTimeout:Ie,keepIframeSrcFn:ge,newlyAddedElement:!1})}var commentre=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;function parse$1(d,p){p===void 0&&(p={});var h=1,g=1;function m(T){var z=T.match(/\n/g);z&&(h+=z.length);var D=T.lastIndexOf(`
45
+ `}),b.appendChild(g.createTextNode(O))}m.timeEnd("clone node"),await(k==null?void 0:k(M)),x!==!1&&isElementNode(M)&&(m.time("embed web font"),await embedWebFont(M,h),m.timeEnd("embed web font")),m.time("embed node"),embedNode(M,h);const R=_.length;let C=0;const $=async()=>{for(;;){const O=_.pop();if(!O)break;try{await O}catch(P){h.log.warn("Failed to run task",P)}E==null||E(++C,R)}};E==null||E(C,R),await Promise.all([...Array.from({length:4})].map($)),m.timeEnd("embed node"),await(I==null?void 0:I(M));const N=createForeignObjectSvg(M,h);return y&&N.insertBefore(y,N.children[0]),b&&N.insertBefore(b,N.children[0]),S&&destroyContext(h),await(A==null?void 0:A(N)),N}function createForeignObjectSvg(d,p){const{width:h,height:g}=p,m=createSvg(h,g,d.ownerDocument),_=m.ownerDocument.createElementNS(m.namespaceURI,"foreignObject");return _.setAttributeNS(null,"x","0%"),_.setAttributeNS(null,"y","0%"),_.setAttributeNS(null,"width","100%"),_.setAttributeNS(null,"height","100%"),_.append(d),m.appendChild(_),m}async function domToCanvas(d,p){var b;const h=await orCreateContext(d,p),g=await domToForeignObjectSvg(h),m=svgToDataUrl(g,h.isEnable("removeControlCharacter"));h.autoDestruct||(h.svgStyleElement=createStyleElement(h.ownerDocument),h.svgDefsElement=(b=h.ownerDocument)==null?void 0:b.createElementNS(XMLNS,"defs"),h.svgStyles.clear());const _=createImage(m,g.ownerDocument);return await imageToCanvas(_,h)}const PLACEHOLDER="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";function canvasHasContent(d){const p=d.getContext("2d");if(!p)return!1;const{width:h,height:g}=d;if(h===0||g===0)return!1;const m=p.getImageData(0,0,h,g).data,_=h*g,b=Math.min(50,_),y=Math.max(1,Math.floor(_/b));for(let w=0;w<_;w+=y){const x=w*4;if(m[x+3]>10){const S=m[x],k=m[x+1],I=m[x+2];if(S>5||k>5||I>5)return!0}}return!1}function isFragmentUrl(d){try{const p=new URL(d,window.location.href);return p.origin===window.location.origin&&p.pathname===window.location.pathname&&!!p.hash}catch{return!0}}function withFetchIntercept(d){const p=window.fetch;return window.fetch=function(h,g){const m=typeof h=="string"?h:h instanceof URL?h.toString():h.url;return isFragmentUrl(m)?Promise.resolve(new Response("",{status:200})):p.call(window,h,g)},d().finally(()=>{window.fetch=p})}const sharedOptions={fetch:{placeholderImage:PLACEHOLDER},features:{restoreScrollPosition:!0},filter:d=>{var p;return!(d instanceof HTMLElement&&(d.tagName==="JAT-FEEDBACK"||(p=d.id)!=null&&p.startsWith("jat-feedback-")))}};async function captureViewport(){return withFetchIntercept(async()=>{const d=await domToCanvas(document.documentElement,{...sharedOptions,width:window.innerWidth,height:window.innerHeight,style:{transform:`translate(-${window.scrollX}px, -${window.scrollY}px)`}});if(!canvasHasContent(d)){const p=await domToCanvas(document.body,{...sharedOptions,width:window.innerWidth,height:window.innerHeight});if(!canvasHasContent(p))throw new Error("Screenshot produced a blank image");return p.toDataURL("image/jpeg",.8)}return d.toDataURL("image/jpeg",.8)})}async function captureViewportQuick(){return withFetchIntercept(async()=>{const d=await domToCanvas(document.documentElement,{...sharedOptions,scale:.5,width:window.innerWidth,height:window.innerHeight,style:{transform:`translate(-${window.scrollX}px, -${window.scrollY}px)`}});if(!canvasHasContent(d)){const p=await domToCanvas(document.body,{...sharedOptions,scale:.5,width:window.innerWidth,height:window.innerHeight});if(!canvasHasContent(p))throw new Error("Screenshot produced a blank image");return p.toDataURL("image/jpeg",.6)}return d.toDataURL("image/jpeg",.6)})}var NodeType$2;(function(d){d[d.Document=0]="Document",d[d.DocumentType=1]="DocumentType",d[d.Element=2]="Element",d[d.Text=3]="Text",d[d.CDATA=4]="CDATA",d[d.Comment=5]="Comment"})(NodeType$2||(NodeType$2={}));function isElement(d){return d.nodeType===d.ELEMENT_NODE}function isShadowRoot(d){var p=d==null?void 0:d.host;return(p==null?void 0:p.shadowRoot)===d}function isNativeShadowDom(d){return Object.prototype.toString.call(d)==="[object ShadowRoot]"}function fixBrowserCompatibilityIssuesInCSS(d){return d.includes(" background-clip: text;")&&!d.includes(" -webkit-background-clip: text;")&&(d=d.replace(" background-clip: text;"," -webkit-background-clip: text; background-clip: text;")),d}function getCssRulesString(d){try{var p=d.rules||d.cssRules;return p?fixBrowserCompatibilityIssuesInCSS(Array.from(p).map(getCssRuleString).join("")):null}catch{return null}}function getCssRuleString(d){var p=d.cssText;if(isCSSImportRule(d))try{p=getCssRulesString(d.styleSheet)||p}catch{}return p}function isCSSImportRule(d){return"styleSheet"in d}var Mirror$2=(function(){function d(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}return d.prototype.getId=function(p){var h;if(!p)return-1;var g=(h=this.getMeta(p))===null||h===void 0?void 0:h.id;return g??-1},d.prototype.getNode=function(p){return this.idNodeMap.get(p)||null},d.prototype.getIds=function(){return Array.from(this.idNodeMap.keys())},d.prototype.getMeta=function(p){return this.nodeMetaMap.get(p)||null},d.prototype.removeNodeFromMap=function(p){var h=this,g=this.getId(p);this.idNodeMap.delete(g),p.childNodes&&p.childNodes.forEach(function(m){return h.removeNodeFromMap(m)})},d.prototype.has=function(p){return this.idNodeMap.has(p)},d.prototype.hasNode=function(p){return this.nodeMetaMap.has(p)},d.prototype.add=function(p,h){var g=h.id;this.idNodeMap.set(g,p),this.nodeMetaMap.set(p,h)},d.prototype.replace=function(p,h){var g=this.getNode(p);if(g){var m=this.nodeMetaMap.get(g);m&&this.nodeMetaMap.set(h,m)}this.idNodeMap.set(p,h)},d.prototype.reset=function(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap},d})();function createMirror$2(){return new Mirror$2}function maskInputValue(d){var p=d.maskInputOptions,h=d.tagName,g=d.type,m=d.value,_=d.maskInputFn,b=m||"";return(p[h.toLowerCase()]||p[g])&&(_?b=_(b):b="*".repeat(b.length)),b}var ORIGINAL_ATTRIBUTE_NAME="__rrweb_original__";function is2DCanvasBlank(d){var p=d.getContext("2d");if(!p)return!0;for(var h=50,g=0;g<d.width;g+=h)for(var m=0;m<d.height;m+=h){var _=p.getImageData,b=ORIGINAL_ATTRIBUTE_NAME in _?_[ORIGINAL_ATTRIBUTE_NAME]:_,y=new Uint32Array(b.call(p,g,m,Math.min(h,d.width-g),Math.min(h,d.height-m)).data.buffer);if(y.some(function(w){return w!==0}))return!1}return!0}var _id=1,tagNameRegex=new RegExp("[^a-z0-9-_:]"),IGNORED_NODE=-2;function genId(){return _id++}function getValidTagName$1(d){if(d instanceof HTMLFormElement)return"form";var p=d.tagName.toLowerCase().trim();return tagNameRegex.test(p)?"div":p}function stringifyStyleSheet(d){return d.cssRules?Array.from(d.cssRules).map(function(p){return p.cssText||""}).join(""):""}function extractOrigin(d){var p="";return d.indexOf("//")>-1?p=d.split("/").slice(0,3).join("/"):p=d.split("/")[0],p=p.split("?")[0],p}var canvasService,canvasCtx,URL_IN_CSS_REF=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,RELATIVE_PATH=/^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/|#).*/,DATA_URI=/^(data:)([^,]*),(.*)/i;function absoluteToStylesheet(d,p){return(d||"").replace(URL_IN_CSS_REF,function(h,g,m,_,b,y){var w=m||b||y,x=g||_||"";if(!w)return h;if(!RELATIVE_PATH.test(w)||DATA_URI.test(w))return"url(".concat(x).concat(w).concat(x,")");if(w[0]==="/")return"url(".concat(x).concat(extractOrigin(p)+w).concat(x,")");var E=p.split("/"),S=w.split("/");E.pop();for(var k=0,I=S;k<I.length;k++){var A=I[k];A!=="."&&(A===".."?E.pop():E.push(A))}return"url(".concat(x).concat(E.join("/")).concat(x,")")})}var SRCSET_NOT_SPACES=/^[^ \t\n\r\u000c]+/,SRCSET_COMMAS_OR_SPACES=/^[, \t\n\r\u000c]+/;function getAbsoluteSrcsetString(d,p){if(p.trim()==="")return p;var h=0;function g(x){var E,S=x.exec(p.substring(h));return S?(E=S[0],h+=E.length,E):""}for(var m=[];g(SRCSET_COMMAS_OR_SPACES),!(h>=p.length);){var _=g(SRCSET_NOT_SPACES);if(_.slice(-1)===",")_=absoluteToDoc(d,_.substring(0,_.length-1)),m.push(_);else{var b="";_=absoluteToDoc(d,_);for(var y=!1;;){var w=p.charAt(h);if(w===""){m.push((_+b).trim());break}else if(y)w===")"&&(y=!1);else if(w===","){h+=1,m.push((_+b).trim());break}else w==="("&&(y=!0);b+=w,h+=1}}}return m.join(", ")}function absoluteToDoc(d,p){if(!p||p.trim()==="")return p;var h=d.createElement("a");return h.href=p,h.href}function isSVGElement(d){return!!(d.tagName==="svg"||d.ownerSVGElement)}function getHref(){var d=document.createElement("a");return d.href="",d.href}function transformAttribute(d,p,h,g){return h==="src"||h==="href"&&g&&!(p==="use"&&g[0]==="#")||h==="xlink:href"&&g&&g[0]!=="#"||h==="background"&&g&&(p==="table"||p==="td"||p==="th")?absoluteToDoc(d,g):h==="srcset"&&g?getAbsoluteSrcsetString(d,g):h==="style"&&g?absoluteToStylesheet(g,getHref()):p==="object"&&h==="data"&&g?absoluteToDoc(d,g):g}function _isBlockedElement(d,p,h){if(typeof p=="string"){if(d.classList.contains(p))return!0}else for(var g=d.classList.length;g--;){var m=d.classList[g];if(p.test(m))return!0}return h?d.matches(h):!1}function classMatchesRegex(d,p,h){if(!d)return!1;if(d.nodeType!==d.ELEMENT_NODE)return h?classMatchesRegex(d.parentNode,p,h):!1;for(var g=d.classList.length;g--;){var m=d.classList[g];if(p.test(m))return!0}return h?classMatchesRegex(d.parentNode,p,h):!1}function needMaskingText(d,p,h){var g=d.nodeType===d.ELEMENT_NODE?d:d.parentElement;if(g===null)return!1;if(typeof p=="string"){if(g.classList.contains(p)||g.closest(".".concat(p)))return!0}else if(classMatchesRegex(g,p,!0))return!0;return!!(h&&(g.matches(h)||g.closest(h)))}function onceIframeLoaded(d,p,h){var g=d.contentWindow;if(g){var m=!1,_;try{_=g.document.readyState}catch{return}if(_!=="complete"){var b=setTimeout(function(){m||(p(),m=!0)},h);d.addEventListener("load",function(){clearTimeout(b),m=!0,p()});return}var y="about:blank";if(g.location.href!==y||d.src===y||d.src==="")return setTimeout(p,0),d.addEventListener("load",p);d.addEventListener("load",p)}}function onceStylesheetLoaded(d,p,h){var g=!1,m;try{m=d.sheet}catch{return}if(!m){var _=setTimeout(function(){g||(p(),g=!0)},h);d.addEventListener("load",function(){clearTimeout(_),g=!0,p()})}}function serializeNode(d,p){var h=p.doc,g=p.mirror,m=p.blockClass,_=p.blockSelector,b=p.maskTextClass,y=p.maskTextSelector,w=p.inlineStylesheet,x=p.maskInputOptions,E=x===void 0?{}:x,S=p.maskTextFn,k=p.maskInputFn,I=p.dataURLOptions,A=I===void 0?{}:I,M=p.inlineImages,R=p.recordCanvas,C=p.keepIframeSrcFn,$=p.newlyAddedElement,N=$===void 0?!1:$,O=getRootId(h,g);switch(d.nodeType){case d.DOCUMENT_NODE:return d.compatMode!=="CSS1Compat"?{type:NodeType$2.Document,childNodes:[],compatMode:d.compatMode}:{type:NodeType$2.Document,childNodes:[]};case d.DOCUMENT_TYPE_NODE:return{type:NodeType$2.DocumentType,name:d.name,publicId:d.publicId,systemId:d.systemId,rootId:O};case d.ELEMENT_NODE:return serializeElementNode(d,{doc:h,blockClass:m,blockSelector:_,inlineStylesheet:w,maskInputOptions:E,maskInputFn:k,dataURLOptions:A,inlineImages:M,recordCanvas:R,keepIframeSrcFn:C,newlyAddedElement:N,rootId:O});case d.TEXT_NODE:return serializeTextNode(d,{maskTextClass:b,maskTextSelector:y,maskTextFn:S,rootId:O});case d.CDATA_SECTION_NODE:return{type:NodeType$2.CDATA,textContent:"",rootId:O};case d.COMMENT_NODE:return{type:NodeType$2.Comment,textContent:d.textContent||"",rootId:O};default:return!1}}function getRootId(d,p){if(p.hasNode(d)){var h=p.getId(d);return h===1?void 0:h}}function serializeTextNode(d,p){var h,g=p.maskTextClass,m=p.maskTextSelector,_=p.maskTextFn,b=p.rootId,y=d.parentNode&&d.parentNode.tagName,w=d.textContent,x=y==="STYLE"?!0:void 0,E=y==="SCRIPT"?!0:void 0;if(x&&w){try{d.nextSibling||d.previousSibling||!((h=d.parentNode.sheet)===null||h===void 0)&&h.cssRules&&(w=stringifyStyleSheet(d.parentNode.sheet))}catch(S){console.warn("Cannot get CSS styles from text's parentNode. Error: ".concat(S),d)}w=absoluteToStylesheet(w,getHref())}return E&&(w="SCRIPT_PLACEHOLDER"),!x&&!E&&w&&needMaskingText(d,g,m)&&(w=_?_(w):w.replace(/[\S]/g,"*")),{type:NodeType$2.Text,textContent:w||"",isStyle:x,rootId:b}}function serializeElementNode(d,p){for(var h=p.doc,g=p.blockClass,m=p.blockSelector,_=p.inlineStylesheet,b=p.maskInputOptions,y=b===void 0?{}:b,w=p.maskInputFn,x=p.dataURLOptions,E=x===void 0?{}:x,S=p.inlineImages,k=p.recordCanvas,I=p.keepIframeSrcFn,A=p.newlyAddedElement,M=A===void 0?!1:A,R=p.rootId,C=_isBlockedElement(d,g,m),$=getValidTagName$1(d),N={},O=d.attributes.length,P=0;P<O;P++){var W=d.attributes[P];N[W.name]=transformAttribute(h,$,W.name,W.value)}if($==="link"&&_){var V=Array.from(h.styleSheets).find(function(z){return z.href===d.href}),q=null;V&&(q=getCssRulesString(V)),q&&(delete N.rel,delete N.href,N._cssText=absoluteToStylesheet(q,V.href))}if($==="style"&&d.sheet&&!(d.innerText||d.textContent||"").trim().length){var q=getCssRulesString(d.sheet);q&&(N._cssText=absoluteToStylesheet(q,getHref()))}if($==="input"||$==="textarea"||$==="select"){var he=d.value,ne=d.checked;N.type!=="radio"&&N.type!=="checkbox"&&N.type!=="submit"&&N.type!=="button"&&he?N.value=maskInputValue({type:N.type,tagName:$,value:he,maskInputOptions:y,maskInputFn:w}):ne&&(N.checked=ne)}if($==="option"&&(d.selected&&!y.select?N.selected=!0:delete N.selected),$==="canvas"&&k){if(d.__context==="2d")is2DCanvasBlank(d)||(N.rr_dataURL=d.toDataURL(E.type,E.quality));else if(!("__context"in d)){var ie=d.toDataURL(E.type,E.quality),se=document.createElement("canvas");se.width=d.width,se.height=d.height;var Ee=se.toDataURL(E.type,E.quality);ie!==Ee&&(N.rr_dataURL=ie)}}if($==="img"&&S){canvasService||(canvasService=h.createElement("canvas"),canvasCtx=canvasService.getContext("2d"));var ae=d,Ie=ae.crossOrigin;ae.crossOrigin="anonymous";var Se=function(){try{canvasService.width=ae.naturalWidth,canvasService.height=ae.naturalHeight,canvasCtx.drawImage(ae,0,0),N.rr_dataURL=canvasService.toDataURL(E.type,E.quality)}catch(z){console.warn("Cannot inline img src=".concat(ae.currentSrc,"! Error: ").concat(z))}Ie?N.crossOrigin=Ie:ae.removeAttribute("crossorigin")};ae.complete&&ae.naturalWidth!==0?Se():ae.onload=Se}if(($==="audio"||$==="video")&&(N.rr_mediaState=d.paused?"paused":"played",N.rr_mediaCurrentTime=d.currentTime),M||(d.scrollLeft&&(N.rr_scrollLeft=d.scrollLeft),d.scrollTop&&(N.rr_scrollTop=d.scrollTop)),C){var ge=d.getBoundingClientRect(),xe=ge.width,T=ge.height;N={class:N.class,rr_width:"".concat(xe,"px"),rr_height:"".concat(T,"px")}}return $==="iframe"&&!I(N.src)&&(d.contentDocument||(N.rr_src=N.src),delete N.src),{type:NodeType$2.Element,tagName:$,attributes:N,childNodes:[],isSVG:isSVGElement(d)||void 0,needBlock:C,rootId:R}}function lowerIfExists(d){return d===void 0?"":d.toLowerCase()}function slimDOMExcluded(d,p){if(p.comment&&d.type===NodeType$2.Comment)return!0;if(d.type===NodeType$2.Element){if(p.script&&(d.tagName==="script"||d.tagName==="link"&&d.attributes.rel==="preload"&&d.attributes.as==="script"||d.tagName==="link"&&d.attributes.rel==="prefetch"&&typeof d.attributes.href=="string"&&d.attributes.href.endsWith(".js")))return!0;if(p.headFavicon&&(d.tagName==="link"&&d.attributes.rel==="shortcut icon"||d.tagName==="meta"&&(lowerIfExists(d.attributes.name).match(/^msapplication-tile(image|color)$/)||lowerIfExists(d.attributes.name)==="application-name"||lowerIfExists(d.attributes.rel)==="icon"||lowerIfExists(d.attributes.rel)==="apple-touch-icon"||lowerIfExists(d.attributes.rel)==="shortcut icon")))return!0;if(d.tagName==="meta"){if(p.headMetaDescKeywords&&lowerIfExists(d.attributes.name).match(/^description|keywords$/))return!0;if(p.headMetaSocial&&(lowerIfExists(d.attributes.property).match(/^(og|twitter|fb):/)||lowerIfExists(d.attributes.name).match(/^(og|twitter):/)||lowerIfExists(d.attributes.name)==="pinterest"))return!0;if(p.headMetaRobots&&(lowerIfExists(d.attributes.name)==="robots"||lowerIfExists(d.attributes.name)==="googlebot"||lowerIfExists(d.attributes.name)==="bingbot"))return!0;if(p.headMetaHttpEquiv&&d.attributes["http-equiv"]!==void 0)return!0;if(p.headMetaAuthorship&&(lowerIfExists(d.attributes.name)==="author"||lowerIfExists(d.attributes.name)==="generator"||lowerIfExists(d.attributes.name)==="framework"||lowerIfExists(d.attributes.name)==="publisher"||lowerIfExists(d.attributes.name)==="progid"||lowerIfExists(d.attributes.property).match(/^article:/)||lowerIfExists(d.attributes.property).match(/^product:/)))return!0;if(p.headMetaVerification&&(lowerIfExists(d.attributes.name)==="google-site-verification"||lowerIfExists(d.attributes.name)==="yandex-verification"||lowerIfExists(d.attributes.name)==="csrf-token"||lowerIfExists(d.attributes.name)==="p:domain_verify"||lowerIfExists(d.attributes.name)==="verify-v1"||lowerIfExists(d.attributes.name)==="verification"||lowerIfExists(d.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function serializeNodeWithId(d,p){var h=p.doc,g=p.mirror,m=p.blockClass,_=p.blockSelector,b=p.maskTextClass,y=p.maskTextSelector,w=p.skipChild,x=w===void 0?!1:w,E=p.inlineStylesheet,S=E===void 0?!0:E,k=p.maskInputOptions,I=k===void 0?{}:k,A=p.maskTextFn,M=p.maskInputFn,R=p.slimDOMOptions,C=p.dataURLOptions,$=C===void 0?{}:C,N=p.inlineImages,O=N===void 0?!1:N,P=p.recordCanvas,W=P===void 0?!1:P,V=p.onSerialize,q=p.onIframeLoad,he=p.iframeLoadTimeout,ne=he===void 0?5e3:he,ie=p.onStylesheetLoad,se=p.stylesheetLoadTimeout,Ee=se===void 0?5e3:se,ae=p.keepIframeSrcFn,Ie=ae===void 0?function(){return!1}:ae,Se=p.newlyAddedElement,ge=Se===void 0?!1:Se,xe=p.preserveWhiteSpace,T=xe===void 0?!0:xe,z=serializeNode(d,{doc:h,mirror:g,blockClass:m,blockSelector:_,maskTextClass:b,maskTextSelector:y,inlineStylesheet:S,maskInputOptions:I,maskTextFn:A,maskInputFn:M,dataURLOptions:$,inlineImages:O,recordCanvas:W,keepIframeSrcFn:Ie,newlyAddedElement:ge});if(!z)return console.warn(d,"not serialized"),null;var D;g.hasNode(d)?D=g.getId(d):slimDOMExcluded(z,R)||!T&&z.type===NodeType$2.Text&&!z.isStyle&&!z.textContent.replace(/^\s+|\s+$/gm,"").length?D=IGNORED_NODE:D=genId();var Z=Object.assign(z,{id:D});if(g.add(d,Z),D===IGNORED_NODE)return null;V&&V(d);var G=!x;if(Z.type===NodeType$2.Element){G=G&&!Z.needBlock,delete Z.needBlock;var oe=d.shadowRoot;oe&&isNativeShadowDom(oe)&&(Z.isShadowHost=!0)}if((Z.type===NodeType$2.Document||Z.type===NodeType$2.Element)&&G){R.headWhitespace&&Z.type===NodeType$2.Element&&Z.tagName==="head"&&(T=!1);for(var _e={doc:h,mirror:g,blockClass:m,blockSelector:_,maskTextClass:b,maskTextSelector:y,skipChild:x,inlineStylesheet:S,maskInputOptions:I,maskTextFn:A,maskInputFn:M,slimDOMOptions:R,dataURLOptions:$,inlineImages:O,recordCanvas:W,preserveWhiteSpace:T,onSerialize:V,onIframeLoad:q,iframeLoadTimeout:ne,onStylesheetLoad:ie,stylesheetLoadTimeout:Ee,keepIframeSrcFn:Ie},B=0,Q=Array.from(d.childNodes);B<Q.length;B++){var ue=Q[B],re=serializeNodeWithId(ue,_e);re&&Z.childNodes.push(re)}if(isElement(d)&&d.shadowRoot)for(var ve=0,U=Array.from(d.shadowRoot.childNodes);ve<U.length;ve++){var ue=U[ve],re=serializeNodeWithId(ue,_e);re&&(isNativeShadowDom(d.shadowRoot)&&(re.isShadow=!0),Z.childNodes.push(re))}}return d.parentNode&&isShadowRoot(d.parentNode)&&isNativeShadowDom(d.parentNode)&&(Z.isShadow=!0),Z.type===NodeType$2.Element&&Z.tagName==="iframe"&&onceIframeLoaded(d,function(){var X=d.contentDocument;if(X&&q){var fe=serializeNodeWithId(X,{doc:X,mirror:g,blockClass:m,blockSelector:_,maskTextClass:b,maskTextSelector:y,skipChild:!1,inlineStylesheet:S,maskInputOptions:I,maskTextFn:A,maskInputFn:M,slimDOMOptions:R,dataURLOptions:$,inlineImages:O,recordCanvas:W,preserveWhiteSpace:T,onSerialize:V,onIframeLoad:q,iframeLoadTimeout:ne,onStylesheetLoad:ie,stylesheetLoadTimeout:Ee,keepIframeSrcFn:Ie});fe&&q(d,fe)}},ne),Z.type===NodeType$2.Element&&Z.tagName==="link"&&Z.attributes.rel==="stylesheet"&&onceStylesheetLoaded(d,function(){if(ie){var X=serializeNodeWithId(d,{doc:h,mirror:g,blockClass:m,blockSelector:_,maskTextClass:b,maskTextSelector:y,skipChild:!1,inlineStylesheet:S,maskInputOptions:I,maskTextFn:A,maskInputFn:M,slimDOMOptions:R,dataURLOptions:$,inlineImages:O,recordCanvas:W,preserveWhiteSpace:T,onSerialize:V,onIframeLoad:q,iframeLoadTimeout:ne,onStylesheetLoad:ie,stylesheetLoadTimeout:Ee,keepIframeSrcFn:Ie});X&&ie(d,X)}},Ee),Z}function snapshot(d,p){var h=p||{},g=h.mirror,m=g===void 0?new Mirror$2:g,_=h.blockClass,b=_===void 0?"rr-block":_,y=h.blockSelector,w=y===void 0?null:y,x=h.maskTextClass,E=x===void 0?"rr-mask":x,S=h.maskTextSelector,k=S===void 0?null:S,I=h.inlineStylesheet,A=I===void 0?!0:I,M=h.inlineImages,R=M===void 0?!1:M,C=h.recordCanvas,$=C===void 0?!1:C,N=h.maskAllInputs,O=N===void 0?!1:N,P=h.maskTextFn,W=h.maskInputFn,V=h.slimDOM,q=V===void 0?!1:V,he=h.dataURLOptions,ne=h.preserveWhiteSpace,ie=h.onSerialize,se=h.onIframeLoad,Ee=h.iframeLoadTimeout,ae=h.onStylesheetLoad,Ie=h.stylesheetLoadTimeout,Se=h.keepIframeSrcFn,ge=Se===void 0?function(){return!1}:Se,xe=O===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:O===!1?{password:!0}:O,T=q===!0||q==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:q==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:q===!1?{}:q;return serializeNodeWithId(d,{doc:d,mirror:m,blockClass:b,blockSelector:w,maskTextClass:E,maskTextSelector:k,skipChild:!1,inlineStylesheet:A,maskInputOptions:xe,maskTextFn:P,maskInputFn:W,slimDOMOptions:T,dataURLOptions:he,inlineImages:R,recordCanvas:$,preserveWhiteSpace:ne,onSerialize:ie,onIframeLoad:se,iframeLoadTimeout:Ee,onStylesheetLoad:ae,stylesheetLoadTimeout:Ie,keepIframeSrcFn:ge,newlyAddedElement:!1})}var commentre=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;function parse$1(d,p){p===void 0&&(p={});var h=1,g=1;function m(T){var z=T.match(/\n/g);z&&(h+=z.length);var D=T.lastIndexOf(`
46
46
  `);g=D===-1?g+T.length:T.length-D}function _(){var T={line:h,column:g};return function(z){return z.position=new b(T),A(),z}}var b=(function(){function T(z){this.start=z,this.end={line:h,column:g},this.source=p.source}return T})();b.prototype.content=d;var y=[];function w(T){var z=new Error("".concat(p.source||"",":").concat(h,":").concat(g,": ").concat(T));if(z.reason=T,z.filename=p.source,z.line=h,z.column=g,z.source=d,p.silent)y.push(z);else throw z}function x(){var T=k();return{type:"stylesheet",stylesheet:{source:p.source,rules:T,parsingErrors:y}}}function E(){return I(/^{\s*/)}function S(){return I(/^}/)}function k(){var T,z=[];for(A(),M(z);d.length&&d.charAt(0)!=="}"&&(T=ge()||xe());)T!==!1&&(z.push(T),M(z));return z}function I(T){var z=T.exec(d);if(z){var D=z[0];return m(D),d=d.slice(D.length),z}}function A(){I(/^\s*/)}function M(T){T===void 0&&(T=[]);for(var z;z=R();)z!==!1&&T.push(z),z=R();return T}function R(){var T=_();if(!(d.charAt(0)!=="/"||d.charAt(1)!=="*")){for(var z=2;d.charAt(z)!==""&&(d.charAt(z)!=="*"||d.charAt(z+1)!=="/");)++z;if(z+=2,d.charAt(z-1)==="")return w("End of comment missing");var D=d.slice(2,z-2);return g+=2,m(D),d=d.slice(z),g+=2,T({type:"comment",comment:D})}}function C(){var T=I(/^([^{]+)/);if(T)return trim(T[0]).replace(/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*\/+/g,"").replace(/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'/g,function(z){return z.replace(/,/g,"‌")}).split(/\s*(?![^(]*\)),\s*/).map(function(z){return z.replace(/\u200C/g,",")})}function $(){var T=_(),z=I(/^(\*?[-#\/\*\\\w]+(\[[0-9a-z_-]+\])?)\s*/);if(z){var D=trim(z[0]);if(!I(/^:\s*/))return w("property missing ':'");var Z=I(/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^\)]*?\)|[^};])+)/),G=T({type:"declaration",property:D.replace(commentre,""),value:Z?trim(Z[0]).replace(commentre,""):""});return I(/^[;\s]*/),G}}function N(){var T=[];if(!E())return w("missing '{'");M(T);for(var z;z=$();)z!==!1&&(T.push(z),M(T)),z=$();return S()?T:w("missing '}'")}function O(){for(var T,z=[],D=_();T=I(/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/);)z.push(T[1]),I(/^,\s*/);if(z.length)return D({type:"keyframe",values:z,declarations:N()})}function P(){var T=_(),z=I(/^@([-\w]+)?keyframes\s*/);if(z){var D=z[1];if(z=I(/^([-\w]+)\s*/),!z)return w("@keyframes missing name");var Z=z[1];if(!E())return w("@keyframes missing '{'");for(var G,oe=M();G=O();)oe.push(G),oe=oe.concat(M());return S()?T({type:"keyframes",name:Z,vendor:D,keyframes:oe}):w("@keyframes missing '}'")}}function W(){var T=_(),z=I(/^@supports *([^{]+)/);if(z){var D=trim(z[1]);if(!E())return w("@supports missing '{'");var Z=M().concat(k());return S()?T({type:"supports",supports:D,rules:Z}):w("@supports missing '}'")}}function V(){var T=_(),z=I(/^@host\s*/);if(z){if(!E())return w("@host missing '{'");var D=M().concat(k());return S()?T({type:"host",rules:D}):w("@host missing '}'")}}function q(){var T=_(),z=I(/^@media *([^{]+)/);if(z){var D=trim(z[1]);if(!E())return w("@media missing '{'");var Z=M().concat(k());return S()?T({type:"media",media:D,rules:Z}):w("@media missing '}'")}}function he(){var T=_(),z=I(/^@custom-media\s+(--[^\s]+)\s*([^{;]+);/);if(z)return T({type:"custom-media",name:trim(z[1]),media:trim(z[2])})}function ne(){var T=_(),z=I(/^@page */);if(z){var D=C()||[];if(!E())return w("@page missing '{'");for(var Z=M(),G;G=$();)Z.push(G),Z=Z.concat(M());return S()?T({type:"page",selectors:D,declarations:Z}):w("@page missing '}'")}}function ie(){var T=_(),z=I(/^@([-\w]+)?document *([^{]+)/);if(z){var D=trim(z[1]),Z=trim(z[2]);if(!E())return w("@document missing '{'");var G=M().concat(k());return S()?T({type:"document",document:Z,vendor:D,rules:G}):w("@document missing '}'")}}function se(){var T=_(),z=I(/^@font-face\s*/);if(z){if(!E())return w("@font-face missing '{'");for(var D=M(),Z;Z=$();)D.push(Z),D=D.concat(M());return S()?T({type:"font-face",declarations:D}):w("@font-face missing '}'")}}var Ee=Se("import"),ae=Se("charset"),Ie=Se("namespace");function Se(T){var z=new RegExp("^@"+T+"\\s*([^;]+);");return function(){var D=_(),Z=I(z);if(Z){var G={type:T};return G[T]=Z[1].trim(),D(G)}}}function ge(){if(d[0]==="@")return P()||q()||he()||W()||Ee()||ae()||Ie()||ie()||ne()||V()||se()}function xe(){var T=_(),z=C();return z?(M(),T({type:"rule",selectors:z,declarations:N()})):w("selector missing")}return addParent(x())}function trim(d){return d?d.replace(/^\s+|\s+$/g,""):""}function addParent(d,p){for(var h=d&&typeof d.type=="string",g=h?d:p,m=0,_=Object.keys(d);m<_.length;m++){var b=_[m],y=d[b];Array.isArray(y)?y.forEach(function(w){addParent(w,g)}):y&&typeof y=="object"&&addParent(y,g)}return h&&Object.defineProperty(d,"parent",{configurable:!0,writable:!0,enumerable:!1,value:p||null}),d}var tagMap={script:"noscript",altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function getTagName(d){var p=tagMap[d.tagName]?tagMap[d.tagName]:d.tagName;return p==="link"&&d.attributes._cssText&&(p="style"),p}function escapeRegExp(d){return d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var HOVER_SELECTOR=/([^\\]):hover/,HOVER_SELECTOR_GLOBAL=new RegExp(HOVER_SELECTOR.source,"g");function addHoverClass(d,p){var h=p==null?void 0:p.stylesWithHoverClass.get(d);if(h)return h;var g=parse$1(d,{silent:!0});if(!g.stylesheet)return d;var m=[];if(g.stylesheet.rules.forEach(function(y){"selectors"in y&&(y.selectors||[]).forEach(function(w){HOVER_SELECTOR.test(w)&&m.push(w)})}),m.length===0)return d;var _=new RegExp(m.filter(function(y,w){return m.indexOf(y)===w}).sort(function(y,w){return w.length-y.length}).map(function(y){return escapeRegExp(y)}).join("|"),"g"),b=d.replace(_,function(y){var w=y.replace(HOVER_SELECTOR_GLOBAL,"$1.\\:hover");return"".concat(y,", ").concat(w)});return p==null||p.stylesWithHoverClass.set(d,b),b}function createCache(){var d=new Map;return{stylesWithHoverClass:d}}function buildNode(d,p){var h=p.doc,g=p.hackCss,m=p.cache;switch(d.type){case NodeType$2.Document:return h.implementation.createDocument(null,"",null);case NodeType$2.DocumentType:return h.implementation.createDocumentType(d.name||"html",d.publicId,d.systemId);case NodeType$2.Element:{var _=getTagName(d),b;d.isSVG?b=h.createElementNS("http://www.w3.org/2000/svg",_):b=h.createElement(_);var y={};for(var w in d.attributes)if(Object.prototype.hasOwnProperty.call(d.attributes,w)){var x=d.attributes[w];if(!(_==="option"&&w==="selected"&&x===!1)){if(x===!0&&(x=""),w.startsWith("rr_")){y[w]=x;continue}var E=_==="textarea"&&w==="value",S=_==="style"&&w==="_cssText";if(S&&g&&typeof x=="string"&&(x=addHoverClass(x,m)),(E||S)&&typeof x=="string"){for(var k=h.createTextNode(x),I=0,A=Array.from(b.childNodes);I<A.length;I++){var M=A[I];M.nodeType===b.TEXT_NODE&&b.removeChild(M)}b.appendChild(k);continue}try{if(d.isSVG&&w==="xlink:href")b.setAttributeNS("http://www.w3.org/1999/xlink",w,x.toString());else if(w==="onload"||w==="onclick"||w.substring(0,7)==="onmouse")b.setAttribute("_"+w,x.toString());else if(_==="meta"&&d.attributes["http-equiv"]==="Content-Security-Policy"&&w==="content"){b.setAttribute("csp-content",x.toString());continue}else _==="link"&&d.attributes.rel==="preload"&&d.attributes.as==="script"||_==="link"&&d.attributes.rel==="prefetch"&&typeof d.attributes.href=="string"&&d.attributes.href.endsWith(".js")||(_==="img"&&d.attributes.srcset&&d.attributes.rr_dataURL?b.setAttribute("rrweb-original-srcset",d.attributes.srcset):b.setAttribute(w,x.toString()))}catch{}}}var R=function($){var N=y[$];if(_==="canvas"&&$==="rr_dataURL"){var O=document.createElement("img");O.onload=function(){var W=b.getContext("2d");W&&W.drawImage(O,0,0,O.width,O.height)},O.src=N.toString(),b.RRNodeType&&(b.rr_dataURL=N.toString())}else if(_==="img"&&$==="rr_dataURL"){var P=b;P.currentSrc.startsWith("data:")||(P.setAttribute("rrweb-original-src",d.attributes.src),P.src=N.toString())}if($==="rr_width")b.style.width=N.toString();else if($==="rr_height")b.style.height=N.toString();else if($==="rr_mediaCurrentTime"&&typeof N=="number")b.currentTime=N;else if($==="rr_mediaState")switch(N){case"played":b.play().catch(function(W){return console.warn("media playback error",W)});break;case"paused":b.pause();break}};for(var C in y)R(C);if(d.isShadowHost)if(!b.shadowRoot)b.attachShadow({mode:"open"});else for(;b.shadowRoot.firstChild;)b.shadowRoot.removeChild(b.shadowRoot.firstChild);return b}case NodeType$2.Text:return h.createTextNode(d.isStyle&&g?addHoverClass(d.textContent,m):d.textContent);case NodeType$2.CDATA:return h.createCDATASection(d.textContent);case NodeType$2.Comment:return h.createComment(d.textContent);default:return null}}function buildNodeWithSN(d,p){var h=p.doc,g=p.mirror,m=p.skipChild,_=m===void 0?!1:m,b=p.hackCss,y=b===void 0?!0:b,w=p.afterAppend,x=p.cache,E=buildNode(d,{doc:h,hackCss:y,cache:x});if(!E)return null;if(d.rootId&&g.getNode(d.rootId)!==h&&g.replace(d.rootId,h),d.type===NodeType$2.Document&&(h.close(),h.open(),d.compatMode==="BackCompat"&&d.childNodes&&d.childNodes[0].type!==NodeType$2.DocumentType&&(d.childNodes[0].type===NodeType$2.Element&&"xmlns"in d.childNodes[0].attributes&&d.childNodes[0].attributes.xmlns==="http://www.w3.org/1999/xhtml"?h.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'):h.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">')),E=h),g.add(E,d),(d.type===NodeType$2.Document||d.type===NodeType$2.Element)&&!_)for(var S=0,k=d.childNodes;S<k.length;S++){var I=k[S],A=buildNodeWithSN(I,{doc:h,mirror:g,skipChild:!1,hackCss:y,afterAppend:w,cache:x});if(!A){console.warn("Failed to rebuild",I);continue}I.isShadow&&isElement(E)&&E.shadowRoot?E.shadowRoot.appendChild(A):E.appendChild(A),w&&w(A,I.id)}return E}function visit(d,p){function h(b){p(b)}for(var g=0,m=d.getIds();g<m.length;g++){var _=m[g];d.has(_)&&h(d.getNode(_))}}function handleScroll(d,p){var h=p.getMeta(d);if((h==null?void 0:h.type)===NodeType$2.Element){var g=d;for(var m in h.attributes)if(Object.prototype.hasOwnProperty.call(h.attributes,m)&&m.startsWith("rr_")){var _=h.attributes[m];m==="rr_scrollLeft"&&(g.scrollLeft=_),m==="rr_scrollTop"&&(g.scrollTop=_)}}}function rebuild(d,p){var h=p.doc,g=p.onVisit,m=p.hackCss,_=m===void 0?!0:m,b=p.afterAppend,y=p.cache,w=p.mirror,x=w===void 0?new Mirror$2:w,E=buildNodeWithSN(d,{doc:h,mirror:x,skipChild:!1,hackCss:_,afterAppend:b,cache:y});return visit(x,function(S){g&&g(S),handleScroll(S,x)}),E}function on(d,p,h=document){const g={capture:!0,passive:!0};return h.addEventListener(d,p,g),()=>h.removeEventListener(d,p,g)}const DEPARTED_MIRROR_ACCESS_WARNING=`Please stop import mirror directly. Instead of that,\r
47
47
  now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
48
48
  or you can use record.mirror to access the mirror instance during recording.`;let _mirror={map:{},getId(){return console.error(DEPARTED_MIRROR_ACCESS_WARNING),-1},getNode(){return console.error(DEPARTED_MIRROR_ACCESS_WARNING),null},removeNodeFromMap(){console.error(DEPARTED_MIRROR_ACCESS_WARNING)},has(){return console.error(DEPARTED_MIRROR_ACCESS_WARNING),!1},reset(){console.error(DEPARTED_MIRROR_ACCESS_WARNING)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(_mirror=new Proxy(_mirror,{get(d,p,h){return p==="map"&&console.error(DEPARTED_MIRROR_ACCESS_WARNING),Reflect.get(d,p,h)}}));function throttle(d,p,h={}){let g=null,m=0;return function(..._){const b=Date.now();!m&&h.leading===!1&&(m=b);const y=p-(b-m),w=this;y<=0||y>p?(g&&(clearTimeout(g),g=null),m=b,d.apply(w,_)):!g&&h.trailing!==!1&&(g=setTimeout(()=>{m=h.leading===!1?0:Date.now(),g=null,d.apply(w,_)},y))}}function hookSetter(d,p,h,g,m=window){const _=m.Object.getOwnPropertyDescriptor(d,p);return m.Object.defineProperty(d,p,g?h:{set(b){setTimeout(()=>{h.set.call(this,b)},0),_&&_.set&&_.set.call(this,b)}}),()=>hookSetter(d,p,_||{},!0)}function patch(d,p,h){try{if(!(p in d))return()=>{};const g=d[p],m=h(g);return typeof m=="function"&&(m.prototype=m.prototype||{},Object.defineProperties(m,{__rrweb_original__:{enumerable:!1,value:g}})),d[p]=m,()=>{d[p]=g}}catch{return()=>{}}}function getWindowHeight(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function getWindowWidth(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function isBlocked(d,p,h,g){if(!d)return!1;const m=d.nodeType===d.ELEMENT_NODE?d:d.parentElement;if(!m)return!1;if(typeof p=="string"){if(m.classList.contains(p)||g&&m.closest("."+p)!==null)return!0}else if(classMatchesRegex(m,p,g))return!0;return!!(h&&(d.matches(h)||g&&m.closest(h)!==null))}function isSerialized(d,p){return p.getId(d)!==-1}function isIgnored(d,p){return p.getId(d)===IGNORED_NODE}function isAncestorRemoved(d,p){if(isShadowRoot(d))return!1;const h=p.getId(d);return p.has(h)?d.parentNode&&d.parentNode.nodeType===d.DOCUMENT_NODE?!1:d.parentNode?isAncestorRemoved(d.parentNode,p):!0:!0}function isTouchEvent(d){return!!d.changedTouches}function polyfill$1(d=window){"NodeList"in d&&!d.NodeList.prototype.forEach&&(d.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in d&&!d.DOMTokenList.prototype.forEach&&(d.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=(...p)=>{let h=p[0];if(!(0 in p))throw new TypeError("1 argument is required");do if(this===h)return!0;while(h=h&&h.parentNode);return!1})}function queueToResolveTrees(d){const p={},h=(m,_)=>{const b={value:m,parent:_,children:[]};return p[m.node.id]=b,b},g=[];for(const m of d){const{nextId:_,parentId:b}=m;if(_&&_ in p){const y=p[_];if(y.parent){const w=y.parent.children.indexOf(y);y.parent.children.splice(w,0,h(m,y.parent))}else{const w=g.indexOf(y);g.splice(w,0,h(m,null))}continue}if(b in p){const y=p[b];y.children.push(h(m,y));continue}g.push(h(m,null))}return g}function iterateResolveTree(d,p){p(d.value);for(let h=d.children.length-1;h>=0;h--)iterateResolveTree(d.children[h],p)}function isSerializedIframe(d,p){return!!(d.nodeName==="IFRAME"&&p.getMeta(d))}function isSerializedStylesheet(d,p){return!!(d.nodeName==="LINK"&&d.nodeType===d.ELEMENT_NODE&&d.getAttribute&&d.getAttribute("rel")==="stylesheet"&&p.getMeta(d))}function getBaseDimension(d,p){var h,g;const m=(g=(h=d.ownerDocument)===null||h===void 0?void 0:h.defaultView)===null||g===void 0?void 0:g.frameElement;if(!m||m===p)return{x:0,y:0,relativeScale:1,absoluteScale:1};const _=m.getBoundingClientRect(),b=getBaseDimension(m,p),y=_.height/m.clientHeight;return{x:_.x*b.relativeScale+b.x,y:_.y*b.relativeScale+b.y,relativeScale:y,absoluteScale:b.absoluteScale*y}}function hasShadowRoot(d){return!!(d!=null&&d.shadowRoot)}function getNestedRule(d,p){const h=d[p[0]];return p.length===1?h:getNestedRule(h.cssRules[p[1]].cssRules,p.slice(2))}function getPositionsAndIndex(d){const p=[...d],h=p.pop();return{positions:p,index:h}}function uniqueTextMutations(d){const p=new Set,h=[];for(let g=d.length;g--;){const m=d[g];p.has(m.id)||(h.push(m),p.add(m.id))}return h}class StyleSheetMirror{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(p){var h;return(h=this.styleIDMap.get(p))!==null&&h!==void 0?h:-1}has(p){return this.styleIDMap.has(p)}add(p,h){if(this.has(p))return this.getId(p);let g;return h===void 0?g=this.id++:g=h,this.styleIDMap.set(p,g),this.idStyleMap.set(g,p),g}getStyle(p){return this.idStyleMap.get(p)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}var EventType=(d=>(d[d.DomContentLoaded=0]="DomContentLoaded",d[d.Load=1]="Load",d[d.FullSnapshot=2]="FullSnapshot",d[d.IncrementalSnapshot=3]="IncrementalSnapshot",d[d.Meta=4]="Meta",d[d.Custom=5]="Custom",d[d.Plugin=6]="Plugin",d))(EventType||{}),IncrementalSource=(d=>(d[d.Mutation=0]="Mutation",d[d.MouseMove=1]="MouseMove",d[d.MouseInteraction=2]="MouseInteraction",d[d.Scroll=3]="Scroll",d[d.ViewportResize=4]="ViewportResize",d[d.Input=5]="Input",d[d.TouchMove=6]="TouchMove",d[d.MediaInteraction=7]="MediaInteraction",d[d.StyleSheetRule=8]="StyleSheetRule",d[d.CanvasMutation=9]="CanvasMutation",d[d.Font=10]="Font",d[d.Log=11]="Log",d[d.Drag=12]="Drag",d[d.StyleDeclaration=13]="StyleDeclaration",d[d.Selection=14]="Selection",d[d.AdoptedStyleSheet=15]="AdoptedStyleSheet",d))(IncrementalSource||{}),MouseInteractions=(d=>(d[d.MouseUp=0]="MouseUp",d[d.MouseDown=1]="MouseDown",d[d.Click=2]="Click",d[d.ContextMenu=3]="ContextMenu",d[d.DblClick=4]="DblClick",d[d.Focus=5]="Focus",d[d.Blur=6]="Blur",d[d.TouchStart=7]="TouchStart",d[d.TouchMove_Departed=8]="TouchMove_Departed",d[d.TouchEnd=9]="TouchEnd",d[d.TouchCancel=10]="TouchCancel",d))(MouseInteractions||{}),CanvasContext=(d=>(d[d["2D"]=0]="2D",d[d.WebGL=1]="WebGL",d[d.WebGL2=2]="WebGL2",d))(CanvasContext||{}),ReplayerEvents=(d=>(d.Start="start",d.Pause="pause",d.Resume="resume",d.Resize="resize",d.Finish="finish",d.FullsnapshotRebuilded="fullsnapshot-rebuilded",d.LoadStylesheetStart="load-stylesheet-start",d.LoadStylesheetEnd="load-stylesheet-end",d.SkipStart="skip-start",d.SkipEnd="skip-end",d.MouseInteraction="mouse-interaction",d.EventCast="event-cast",d.CustomEvent="custom-event",d.Flush="flush",d.StateChange="state-change",d.PlayBack="play-back",d.Destroy="destroy",d))(ReplayerEvents||{});function isNodeInLinkedList(d){return"__ln"in d}class DoubleLinkedList{constructor(){this.length=0,this.head=null}get(p){if(p>=this.length)throw new Error("Position outside of list range");let h=this.head;for(let g=0;g<p;g++)h=(h==null?void 0:h.next)||null;return h}addNode(p){const h={value:p,previous:null,next:null};if(p.__ln=h,p.previousSibling&&isNodeInLinkedList(p.previousSibling)){const g=p.previousSibling.__ln.next;h.next=g,h.previous=p.previousSibling.__ln,p.previousSibling.__ln.next=h,g&&(g.previous=h)}else if(p.nextSibling&&isNodeInLinkedList(p.nextSibling)&&p.nextSibling.__ln.previous){const g=p.nextSibling.__ln.previous;h.previous=g,h.next=p.nextSibling.__ln,p.nextSibling.__ln.previous=h,g&&(g.next=h)}else this.head&&(this.head.previous=h),h.next=this.head,this.head=h;this.length++}removeNode(p){const h=p.__ln;this.head&&(h.previous?(h.previous.next=h.next,h.next&&(h.next.previous=h.previous)):(this.head=h.next,this.head&&(this.head.previous=null)),p.__ln&&delete p.__ln,this.length--)}}const moveKey=(d,p)=>`${d}@${p}`;class MutationBuffer{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=p=>{p.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const p=[],h=new DoubleLinkedList,g=y=>{let w=y,x=IGNORED_NODE;for(;x===IGNORED_NODE;)w=w&&w.nextSibling,x=w&&this.mirror.getId(w);return x},m=y=>{var w,x,E,S;let k=null;((x=(w=y.getRootNode)===null||w===void 0?void 0:w.call(y))===null||x===void 0?void 0:x.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&y.getRootNode().host&&(k=y.getRootNode().host);let I=k;for(;((S=(E=I==null?void 0:I.getRootNode)===null||E===void 0?void 0:E.call(I))===null||S===void 0?void 0:S.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&I.getRootNode().host;)I=I.getRootNode().host;const A=!this.doc.contains(y)&&(!I||!this.doc.contains(I));if(!y.parentNode||A)return;const M=isShadowRoot(y.parentNode)?this.mirror.getId(k):this.mirror.getId(y.parentNode),R=g(y);if(M===-1||R===-1)return h.addNode(y);const C=serializeNodeWithId(y,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:$=>{isSerializedIframe($,this.mirror)&&this.iframeManager.addIframe($),isSerializedStylesheet($,this.mirror)&&this.stylesheetManager.trackLinkElement($),hasShadowRoot(y)&&this.shadowDomManager.addShadowRoot(y.shadowRoot,this.doc)},onIframeLoad:($,N)=>{this.iframeManager.attachIframe($,N),this.shadowDomManager.observeAttachShadow($)},onStylesheetLoad:($,N)=>{this.stylesheetManager.attachLinkElement($,N)}});C&&p.push({parentId:M,nextId:R,node:C})};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const y of Array.from(this.movedSet.values()))isParentRemoved(this.removes,y,this.mirror)&&!this.movedSet.has(y.parentNode)||m(y);for(const y of Array.from(this.addedSet.values()))!isAncestorInSet(this.droppedSet,y)&&!isParentRemoved(this.removes,y,this.mirror)||isAncestorInSet(this.movedSet,y)?m(y):this.droppedSet.add(y);let _=null;for(;h.length;){let y=null;if(_){const w=this.mirror.getId(_.value.parentNode),x=g(_.value);w!==-1&&x!==-1&&(y=_)}if(!y)for(let w=h.length-1;w>=0;w--){const x=h.get(w);if(x){const E=this.mirror.getId(x.value.parentNode);if(g(x.value)===-1)continue;if(E!==-1){y=x;break}else{const k=x.value;if(k.parentNode&&k.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const I=k.parentNode.host;if(this.mirror.getId(I)!==-1){y=x;break}}}}}if(!y){for(;h.head;)h.removeNode(h.head.value);break}_=y.previous,h.removeNode(y.value),m(y.value)}const b={texts:this.texts.map(y=>({id:this.mirror.getId(y.node),value:y.value})).filter(y=>this.mirror.has(y.id)),attributes:this.attributes.map(y=>({id:this.mirror.getId(y.node),attributes:y.attributes})).filter(y=>this.mirror.has(y.id)),removes:this.removes,adds:p};!b.texts.length&&!b.attributes.length&&!b.removes.length&&!b.adds.length||(this.texts=[],this.attributes=[],this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(b))},this.processMutation=p=>{if(!isIgnored(p.target,this.mirror))switch(p.type){case"characterData":{const h=p.target.textContent;!isBlocked(p.target,this.blockClass,this.blockSelector,!1)&&h!==p.oldValue&&this.texts.push({value:needMaskingText(p.target,this.maskTextClass,this.maskTextSelector)&&h?this.maskTextFn?this.maskTextFn(h):h.replace(/[\S]/g,"*"):h,node:p.target});break}case"attributes":{const h=p.target;let g=p.target.getAttribute(p.attributeName);if(p.attributeName==="value"&&(g=maskInputValue({maskInputOptions:this.maskInputOptions,tagName:p.target.tagName,type:p.target.getAttribute("type"),value:g,maskInputFn:this.maskInputFn})),isBlocked(p.target,this.blockClass,this.blockSelector,!1)||g===p.oldValue)return;let m=this.attributes.find(_=>_.node===p.target);if(h.tagName==="IFRAME"&&p.attributeName==="src"&&!this.keepIframeSrcFn(g))if(!h.contentDocument)p.attributeName="rr_src";else return;if(m||(m={node:p.target,attributes:{}},this.attributes.push(m)),p.attributeName==="style"){const _=this.doc.createElement("span");p.oldValue&&_.setAttribute("style",p.oldValue),(m.attributes.style===void 0||m.attributes.style===null)&&(m.attributes.style={});const b=m.attributes.style;for(const y of Array.from(h.style)){const w=h.style.getPropertyValue(y),x=h.style.getPropertyPriority(y);(w!==_.style.getPropertyValue(y)||x!==_.style.getPropertyPriority(y))&&(x===""?b[y]=w:b[y]=[w,x])}for(const y of Array.from(_.style))h.style.getPropertyValue(y)===""&&(b[y]=!1)}else m.attributes[p.attributeName]=transformAttribute(this.doc,h.tagName,p.attributeName,g);break}case"childList":{if(isBlocked(p.target,this.blockClass,this.blockSelector,!0))return;p.addedNodes.forEach(h=>this.genAdds(h,p.target)),p.removedNodes.forEach(h=>{const g=this.mirror.getId(h),m=isShadowRoot(p.target)?this.mirror.getId(p.target.host):this.mirror.getId(p.target);isBlocked(p.target,this.blockClass,this.blockSelector,!1)||isIgnored(h,this.mirror)||!isSerialized(h,this.mirror)||(this.addedSet.has(h)?(deepDelete(this.addedSet,h),this.droppedSet.add(h)):this.addedSet.has(p.target)&&g===-1||isAncestorRemoved(p.target,this.mirror)||(this.movedSet.has(h)&&this.movedMap[moveKey(g,m)]?deepDelete(this.movedSet,h):this.removes.push({parentId:m,id:g,isShadow:isShadowRoot(p.target)&&isNativeShadowDom(p.target)?!0:void 0})),this.mapRemoves.push(h))});break}}},this.genAdds=(p,h)=>{if(this.mirror.hasNode(p)){if(isIgnored(p,this.mirror))return;this.movedSet.add(p);let g=null;h&&this.mirror.hasNode(h)&&(g=this.mirror.getId(h)),g&&g!==-1&&(this.movedMap[moveKey(this.mirror.getId(p),g)]=!0)}else this.addedSet.add(p),this.droppedSet.delete(p);isBlocked(p,this.blockClass,this.blockSelector,!1)||p.childNodes.forEach(g=>this.genAdds(g))}}init(p){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager"].forEach(h=>{this[h]=p[h]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function deepDelete(d,p){d.delete(p),p.childNodes.forEach(h=>deepDelete(d,h))}function isParentRemoved(d,p,h){return d.length===0?!1:_isParentRemoved(d,p,h)}function _isParentRemoved(d,p,h){const{parentNode:g}=p;if(!g)return!1;const m=h.getId(g);return d.some(_=>_.id===m)?!0:_isParentRemoved(d,g,h)}function isAncestorInSet(d,p){return d.size===0?!1:_isAncestorInSet(d,p)}function _isAncestorInSet(d,p){const{parentNode:h}=p;return h?d.has(h)?!0:_isAncestorInSet(d,h):!1}const mutationBuffers=[],isCSSGroupingRuleSupported=typeof CSSGroupingRule<"u",isCSSMediaRuleSupported=typeof CSSMediaRule<"u",isCSSSupportsRuleSupported=typeof CSSSupportsRule<"u",isCSSConditionRuleSupported=typeof CSSConditionRule<"u";function getEventTarget(d){try{if("composedPath"in d){const p=d.composedPath();if(p.length)return p[0]}else if("path"in d&&d.path.length)return d.path[0];return d.target}catch{return d.target}}function initMutationObserver(d,p){var h,g;const m=new MutationBuffer;mutationBuffers.push(m),m.init(d);let _=window.MutationObserver||window.__rrMutationObserver;const b=(g=(h=window==null?void 0:window.Zone)===null||h===void 0?void 0:h.__symbol__)===null||g===void 0?void 0:g.call(h,"MutationObserver");b&&window[b]&&(_=window[b]);const y=new _(m.processMutations.bind(m));return y.observe(p,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),y}function initMoveObserver({mousemoveCb:d,sampling:p,doc:h,mirror:g}){if(p.mousemove===!1)return()=>{};const m=typeof p.mousemove=="number"?p.mousemove:50,_=typeof p.mousemoveCallback=="number"?p.mousemoveCallback:500;let b=[],y;const w=throttle(S=>{const k=Date.now()-y;d(b.map(I=>(I.timeOffset-=k,I)),S),b=[],y=null},_),x=throttle(S=>{const k=getEventTarget(S),{clientX:I,clientY:A}=isTouchEvent(S)?S.changedTouches[0]:S;y||(y=Date.now()),b.push({x:I,y:A,id:g.getId(k),timeOffset:Date.now()-y}),w(typeof DragEvent<"u"&&S instanceof DragEvent?IncrementalSource.Drag:S instanceof MouseEvent?IncrementalSource.MouseMove:IncrementalSource.TouchMove)},m,{trailing:!1}),E=[on("mousemove",x,h),on("touchmove",x,h),on("drag",x,h)];return()=>{E.forEach(S=>S())}}function initMouseInteractionObserver({mouseInteractionCb:d,doc:p,mirror:h,blockClass:g,blockSelector:m,sampling:_}){if(_.mouseInteraction===!1)return()=>{};const b=_.mouseInteraction===!0||_.mouseInteraction===void 0?{}:_.mouseInteraction,y=[],w=x=>E=>{const S=getEventTarget(E);if(isBlocked(S,g,m,!0))return;const k=isTouchEvent(E)?E.changedTouches[0]:E;if(!k)return;const I=h.getId(S),{clientX:A,clientY:M}=k;d({type:MouseInteractions[x],id:I,x:A,y:M})};return Object.keys(MouseInteractions).filter(x=>Number.isNaN(Number(x))&&!x.endsWith("_Departed")&&b[x]!==!1).forEach(x=>{const E=x.toLowerCase(),S=w(x);y.push(on(E,S,p))}),()=>{y.forEach(x=>x())}}function initScrollObserver({scrollCb:d,doc:p,mirror:h,blockClass:g,blockSelector:m,sampling:_}){const b=throttle(y=>{const w=getEventTarget(y);if(!w||isBlocked(w,g,m,!0))return;const x=h.getId(w);if(w===p){const E=p.scrollingElement||p.documentElement;d({id:x,x:E.scrollLeft,y:E.scrollTop})}else d({id:x,x:w.scrollLeft,y:w.scrollTop})},_.scroll||100);return on("scroll",b,p)}function initViewportResizeObserver({viewportResizeCb:d}){let p=-1,h=-1;const g=throttle(()=>{const m=getWindowHeight(),_=getWindowWidth();(p!==m||h!==_)&&(d({width:Number(_),height:Number(m)}),p=m,h=_)},200);return on("resize",g,window)}function wrapEventWithUserTriggeredFlag(d,p){const h=Object.assign({},d);return p||delete h.userTriggered,h}const INPUT_TAGS=["INPUT","TEXTAREA","SELECT"],lastInputValueMap=new WeakMap;function initInputObserver({inputCb:d,doc:p,mirror:h,blockClass:g,blockSelector:m,ignoreClass:_,maskInputOptions:b,maskInputFn:y,sampling:w,userTriggeredOnInput:x}){function E(C){let $=getEventTarget(C);const N=C.isTrusted;if($&&$.tagName==="OPTION"&&($=$.parentElement),!$||!$.tagName||INPUT_TAGS.indexOf($.tagName)<0||isBlocked($,g,m,!0))return;const O=$.type;if($.classList.contains(_))return;let P=$.value,W=!1;O==="radio"||O==="checkbox"?W=$.checked:(b[$.tagName.toLowerCase()]||b[O])&&(P=maskInputValue({maskInputOptions:b,tagName:$.tagName,type:O,value:P,maskInputFn:y})),S($,wrapEventWithUserTriggeredFlag({text:P,isChecked:W,userTriggered:N},x));const V=$.name;O==="radio"&&V&&W&&p.querySelectorAll(`input[type="radio"][name="${V}"]`).forEach(q=>{q!==$&&S(q,wrapEventWithUserTriggeredFlag({text:q.value,isChecked:!W,userTriggered:!1},x))})}function S(C,$){const N=lastInputValueMap.get(C);if(!N||N.text!==$.text||N.isChecked!==$.isChecked){lastInputValueMap.set(C,$);const O=h.getId(C);d(Object.assign(Object.assign({},$),{id:O}))}}const I=(w.input==="last"?["change"]:["input","change"]).map(C=>on(C,E,p)),A=p.defaultView;if(!A)return()=>{I.forEach(C=>C())};const M=A.Object.getOwnPropertyDescriptor(A.HTMLInputElement.prototype,"value"),R=[[A.HTMLInputElement.prototype,"value"],[A.HTMLInputElement.prototype,"checked"],[A.HTMLSelectElement.prototype,"value"],[A.HTMLTextAreaElement.prototype,"value"],[A.HTMLSelectElement.prototype,"selectedIndex"],[A.HTMLOptionElement.prototype,"selected"]];return M&&M.set&&I.push(...R.map(C=>hookSetter(C[0],C[1],{set(){E({target:this})}},!1,A))),()=>{I.forEach(C=>C())}}function getNestedCSSRulePositions(d){const p=[];function h(g,m){if(isCSSGroupingRuleSupported&&g.parentRule instanceof CSSGroupingRule||isCSSMediaRuleSupported&&g.parentRule instanceof CSSMediaRule||isCSSSupportsRuleSupported&&g.parentRule instanceof CSSSupportsRule||isCSSConditionRuleSupported&&g.parentRule instanceof CSSConditionRule){const b=Array.from(g.parentRule.cssRules).indexOf(g);m.unshift(b)}else if(g.parentStyleSheet){const b=Array.from(g.parentStyleSheet.cssRules).indexOf(g);m.unshift(b)}return m}return h(d,p)}function getIdAndStyleId(d,p,h){let g,m;return d?(d.ownerNode?g=p.getId(d.ownerNode):m=h.getId(d),{styleId:m,id:g}):{}}function initStyleSheetObserver({styleSheetRuleCb:d,mirror:p,stylesheetManager:h},{win:g}){const m=g.CSSStyleSheet.prototype.insertRule;g.CSSStyleSheet.prototype.insertRule=function(E,S){const{id:k,styleId:I}=getIdAndStyleId(this,p,h.styleMirror);return(k&&k!==-1||I&&I!==-1)&&d({id:k,styleId:I,adds:[{rule:E,index:S}]}),m.apply(this,[E,S])};const _=g.CSSStyleSheet.prototype.deleteRule;g.CSSStyleSheet.prototype.deleteRule=function(E){const{id:S,styleId:k}=getIdAndStyleId(this,p,h.styleMirror);return(S&&S!==-1||k&&k!==-1)&&d({id:S,styleId:k,removes:[{index:E}]}),_.apply(this,[E])};let b;g.CSSStyleSheet.prototype.replace&&(b=g.CSSStyleSheet.prototype.replace,g.CSSStyleSheet.prototype.replace=function(E){const{id:S,styleId:k}=getIdAndStyleId(this,p,h.styleMirror);return(S&&S!==-1||k&&k!==-1)&&d({id:S,styleId:k,replace:E}),b.apply(this,[E])});let y;g.CSSStyleSheet.prototype.replaceSync&&(y=g.CSSStyleSheet.prototype.replaceSync,g.CSSStyleSheet.prototype.replaceSync=function(E){const{id:S,styleId:k}=getIdAndStyleId(this,p,h.styleMirror);return(S&&S!==-1||k&&k!==-1)&&d({id:S,styleId:k,replaceSync:E}),y.apply(this,[E])});const w={};isCSSGroupingRuleSupported?w.CSSGroupingRule=g.CSSGroupingRule:(isCSSMediaRuleSupported&&(w.CSSMediaRule=g.CSSMediaRule),isCSSConditionRuleSupported&&(w.CSSConditionRule=g.CSSConditionRule),isCSSSupportsRuleSupported&&(w.CSSSupportsRule=g.CSSSupportsRule));const x={};return Object.entries(w).forEach(([E,S])=>{x[E]={insertRule:S.prototype.insertRule,deleteRule:S.prototype.deleteRule},S.prototype.insertRule=function(k,I){const{id:A,styleId:M}=getIdAndStyleId(this.parentStyleSheet,p,h.styleMirror);return(A&&A!==-1||M&&M!==-1)&&d({id:A,styleId:M,adds:[{rule:k,index:[...getNestedCSSRulePositions(this),I||0]}]}),x[E].insertRule.apply(this,[k,I])},S.prototype.deleteRule=function(k){const{id:I,styleId:A}=getIdAndStyleId(this.parentStyleSheet,p,h.styleMirror);return(I&&I!==-1||A&&A!==-1)&&d({id:I,styleId:A,removes:[{index:[...getNestedCSSRulePositions(this),k]}]}),x[E].deleteRule.apply(this,[k])}}),()=>{g.CSSStyleSheet.prototype.insertRule=m,g.CSSStyleSheet.prototype.deleteRule=_,b&&(g.CSSStyleSheet.prototype.replace=b),y&&(g.CSSStyleSheet.prototype.replaceSync=y),Object.entries(w).forEach(([E,S])=>{S.prototype.insertRule=x[E].insertRule,S.prototype.deleteRule=x[E].deleteRule})}}function initAdoptedStyleSheetObserver({mirror:d,stylesheetManager:p},h){var g,m,_;let b=null;h.nodeName==="#document"?b=d.getId(h):b=d.getId(h.host);const y=h.nodeName==="#document"?(g=h.defaultView)===null||g===void 0?void 0:g.Document:(_=(m=h.ownerDocument)===null||m===void 0?void 0:m.defaultView)===null||_===void 0?void 0:_.ShadowRoot,w=Object.getOwnPropertyDescriptor(y==null?void 0:y.prototype,"adoptedStyleSheets");return b===null||b===-1||!y||!w?()=>{}:(Object.defineProperty(h,"adoptedStyleSheets",{configurable:w.configurable,enumerable:w.enumerable,get(){var x;return(x=w.get)===null||x===void 0?void 0:x.call(this)},set(x){var E;const S=(E=w.set)===null||E===void 0?void 0:E.call(this,x);if(b!==null&&b!==-1)try{p.adoptStyleSheets(x,b)}catch{}return S}}),()=>{Object.defineProperty(h,"adoptedStyleSheets",{configurable:w.configurable,enumerable:w.enumerable,get:w.get,set:w.set})})}function initStyleDeclarationObserver({styleDeclarationCb:d,mirror:p,ignoreCSSAttributes:h,stylesheetManager:g},{win:m}){const _=m.CSSStyleDeclaration.prototype.setProperty;m.CSSStyleDeclaration.prototype.setProperty=function(y,w,x){var E;if(h.has(y))return _.apply(this,[y,w,x]);const{id:S,styleId:k}=getIdAndStyleId((E=this.parentRule)===null||E===void 0?void 0:E.parentStyleSheet,p,g.styleMirror);return(S&&S!==-1||k&&k!==-1)&&d({id:S,styleId:k,set:{property:y,value:w,priority:x},index:getNestedCSSRulePositions(this.parentRule)}),_.apply(this,[y,w,x])};const b=m.CSSStyleDeclaration.prototype.removeProperty;return m.CSSStyleDeclaration.prototype.removeProperty=function(y){var w;if(h.has(y))return b.apply(this,[y]);const{id:x,styleId:E}=getIdAndStyleId((w=this.parentRule)===null||w===void 0?void 0:w.parentStyleSheet,p,g.styleMirror);return(x&&x!==-1||E&&E!==-1)&&d({id:x,styleId:E,remove:{property:y},index:getNestedCSSRulePositions(this.parentRule)}),b.apply(this,[y])},()=>{m.CSSStyleDeclaration.prototype.setProperty=_,m.CSSStyleDeclaration.prototype.removeProperty=b}}function initMediaInteractionObserver({mediaInteractionCb:d,blockClass:p,blockSelector:h,mirror:g,sampling:m}){const _=y=>throttle(w=>{const x=getEventTarget(w);if(!x||isBlocked(x,p,h,!0))return;const{currentTime:E,volume:S,muted:k,playbackRate:I}=x;d({type:y,id:g.getId(x),currentTime:E,volume:S,muted:k,playbackRate:I})},m.media||500),b=[on("play",_(0)),on("pause",_(1)),on("seeked",_(2)),on("volumechange",_(3)),on("ratechange",_(4))];return()=>{b.forEach(y=>y())}}function initFontObserver({fontCb:d,doc:p}){const h=p.defaultView;if(!h)return()=>{};const g=[],m=new WeakMap,_=h.FontFace;h.FontFace=function(w,x,E){const S=new _(w,x,E);return m.set(S,{family:w,buffer:typeof x!="string",descriptors:E,fontSource:typeof x=="string"?x:JSON.stringify(Array.from(new Uint8Array(x)))}),S};const b=patch(p.fonts,"add",function(y){return function(w){return setTimeout(()=>{const x=m.get(w);x&&(d(x),m.delete(w))},0),y.apply(this,[w])}});return g.push(()=>{h.FontFace=_}),g.push(b),()=>{g.forEach(y=>y())}}function initSelectionObserver(d){const{doc:p,mirror:h,blockClass:g,blockSelector:m,selectionCb:_}=d;let b=!0;const y=()=>{const w=p.getSelection();if(!w||b&&(w!=null&&w.isCollapsed))return;b=w.isCollapsed||!1;const x=[],E=w.rangeCount||0;for(let S=0;S<E;S++){const k=w.getRangeAt(S),{startContainer:I,startOffset:A,endContainer:M,endOffset:R}=k;isBlocked(I,g,m,!0)||isBlocked(M,g,m,!0)||x.push({start:h.getId(I),startOffset:A,end:h.getId(M),endOffset:R})}_({ranges:x})};return y(),on("selectionchange",y)}function mergeHooks(d,p){const{mutationCb:h,mousemoveCb:g,mouseInteractionCb:m,scrollCb:_,viewportResizeCb:b,inputCb:y,mediaInteractionCb:w,styleSheetRuleCb:x,styleDeclarationCb:E,canvasMutationCb:S,fontCb:k,selectionCb:I}=d;d.mutationCb=(...A)=>{p.mutation&&p.mutation(...A),h(...A)},d.mousemoveCb=(...A)=>{p.mousemove&&p.mousemove(...A),g(...A)},d.mouseInteractionCb=(...A)=>{p.mouseInteraction&&p.mouseInteraction(...A),m(...A)},d.scrollCb=(...A)=>{p.scroll&&p.scroll(...A),_(...A)},d.viewportResizeCb=(...A)=>{p.viewportResize&&p.viewportResize(...A),b(...A)},d.inputCb=(...A)=>{p.input&&p.input(...A),y(...A)},d.mediaInteractionCb=(...A)=>{p.mediaInteaction&&p.mediaInteaction(...A),w(...A)},d.styleSheetRuleCb=(...A)=>{p.styleSheetRule&&p.styleSheetRule(...A),x(...A)},d.styleDeclarationCb=(...A)=>{p.styleDeclaration&&p.styleDeclaration(...A),E(...A)},d.canvasMutationCb=(...A)=>{p.canvasMutation&&p.canvasMutation(...A),S(...A)},d.fontCb=(...A)=>{p.font&&p.font(...A),k(...A)},d.selectionCb=(...A)=>{p.selection&&p.selection(...A),I(...A)}}function initObservers(d,p={}){const h=d.doc.defaultView;if(!h)return()=>{};mergeHooks(d,p);const g=initMutationObserver(d,d.doc),m=initMoveObserver(d),_=initMouseInteractionObserver(d),b=initScrollObserver(d),y=initViewportResizeObserver(d),w=initInputObserver(d),x=initMediaInteractionObserver(d),E=initStyleSheetObserver(d,{win:h}),S=initAdoptedStyleSheetObserver(d,d.doc),k=initStyleDeclarationObserver(d,{win:h}),I=d.collectFonts?initFontObserver(d):()=>{},A=initSelectionObserver(d),M=[];for(const R of d.plugins)M.push(R.observer(R.callback,h,R.options));return()=>{mutationBuffers.forEach(R=>R.reset()),g.disconnect(),m(),_(),b(),y(),w(),x(),E(),S(),k(),I(),A(),M.forEach(R=>R())}}class CrossOriginIframeMirror{constructor(p){this.generateIdFn=p,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(p,h,g,m){const _=g||this.getIdToRemoteIdMap(p),b=m||this.getRemoteIdToIdMap(p);let y=_.get(h);return y||(y=this.generateIdFn(),_.set(h,y),b.set(y,h)),y}getIds(p,h){const g=this.getIdToRemoteIdMap(p),m=this.getRemoteIdToIdMap(p);return h.map(_=>this.getId(p,_,g,m))}getRemoteId(p,h,g){const m=g||this.getRemoteIdToIdMap(p);if(typeof h!="number")return h;const _=m.get(h);return _||-1}getRemoteIds(p,h){const g=this.getRemoteIdToIdMap(p);return h.map(m=>this.getRemoteId(p,m,g))}reset(p){if(!p){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(p),this.iframeRemoteIdToIdMap.delete(p)}getIdToRemoteIdMap(p){let h=this.iframeIdToRemoteIdMap.get(p);return h||(h=new Map,this.iframeIdToRemoteIdMap.set(p,h)),h}getRemoteIdToIdMap(p){let h=this.iframeRemoteIdToIdMap.get(p);return h||(h=new Map,this.iframeRemoteIdToIdMap.set(p,h)),h}}class IframeManager{constructor(p){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new CrossOriginIframeMirror(genId),this.mutationCb=p.mutationCb,this.wrappedEmit=p.wrappedEmit,this.stylesheetManager=p.stylesheetManager,this.recordCrossOriginIframes=p.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new CrossOriginIframeMirror(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=p.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(p){this.iframes.set(p,!0),p.contentWindow&&this.crossOriginIframeMap.set(p.contentWindow,p)}addLoadListener(p){this.loadListener=p}attachIframe(p,h){var g;this.mutationCb({adds:[{parentId:this.mirror.getId(p),nextId:null,node:h}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),(g=this.loadListener)===null||g===void 0||g.call(this,p),p.contentDocument&&p.contentDocument.adoptedStyleSheets&&p.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(p.contentDocument.adoptedStyleSheets,this.mirror.getId(p.contentDocument))}handleMessage(p){if(p.data.type==="rrweb"){if(!p.source)return;const g=this.crossOriginIframeMap.get(p.source);if(!g)return;const m=this.transformCrossOriginEvent(g,p.data.event);m&&this.wrappedEmit(m,p.data.isCheckout)}}transformCrossOriginEvent(p,h){var g;switch(h.type){case EventType.FullSnapshot:return this.crossOriginIframeMirror.reset(p),this.crossOriginIframeStyleMirror.reset(p),this.replaceIdOnNode(h.data.node,p),{timestamp:h.timestamp,type:EventType.IncrementalSnapshot,data:{source:IncrementalSource.Mutation,adds:[{parentId:this.mirror.getId(p),nextId:null,node:h.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}};case EventType.Meta:case EventType.Load:case EventType.DomContentLoaded:return!1;case EventType.Plugin:return h;case EventType.Custom:return this.replaceIds(h.data.payload,p,["id","parentId","previousId","nextId"]),h;case EventType.IncrementalSnapshot:switch(h.data.source){case IncrementalSource.Mutation:return h.data.adds.forEach(m=>{this.replaceIds(m,p,["parentId","nextId","previousId"]),this.replaceIdOnNode(m.node,p)}),h.data.removes.forEach(m=>{this.replaceIds(m,p,["parentId","id"])}),h.data.attributes.forEach(m=>{this.replaceIds(m,p,["id"])}),h.data.texts.forEach(m=>{this.replaceIds(m,p,["id"])}),h;case IncrementalSource.Drag:case IncrementalSource.TouchMove:case IncrementalSource.MouseMove:return h.data.positions.forEach(m=>{this.replaceIds(m,p,["id"])}),h;case IncrementalSource.ViewportResize:return!1;case IncrementalSource.MediaInteraction:case IncrementalSource.MouseInteraction:case IncrementalSource.Scroll:case IncrementalSource.CanvasMutation:case IncrementalSource.Input:return this.replaceIds(h.data,p,["id"]),h;case IncrementalSource.StyleSheetRule:case IncrementalSource.StyleDeclaration:return this.replaceIds(h.data,p,["id"]),this.replaceStyleIds(h.data,p,["styleId"]),h;case IncrementalSource.Font:return h;case IncrementalSource.Selection:return h.data.ranges.forEach(m=>{this.replaceIds(m,p,["start","end"])}),h;case IncrementalSource.AdoptedStyleSheet:return this.replaceIds(h.data,p,["id"]),this.replaceStyleIds(h.data,p,["styleIds"]),(g=h.data.styles)===null||g===void 0||g.forEach(m=>{this.replaceStyleIds(m,p,["styleId"])}),h}}}replace(p,h,g,m){for(const _ of m)!Array.isArray(h[_])&&typeof h[_]!="number"||(Array.isArray(h[_])?h[_]=p.getIds(g,h[_]):h[_]=p.getId(g,h[_]));return h}replaceIds(p,h,g){return this.replace(this.crossOriginIframeMirror,p,h,g)}replaceStyleIds(p,h,g){return this.replace(this.crossOriginIframeStyleMirror,p,h,g)}replaceIdOnNode(p,h){this.replaceIds(p,h,["id"]),"childNodes"in p&&p.childNodes.forEach(g=>{this.replaceIdOnNode(g,h)})}}class ShadowDomManager{constructor(p){this.shadowDoms=new WeakSet,this.restorePatches=[],this.mutationCb=p.mutationCb,this.scrollCb=p.scrollCb,this.bypassOptions=p.bypassOptions,this.mirror=p.mirror;const h=this;this.restorePatches.push(patch(Element.prototype,"attachShadow",function(g){return function(m){const _=g.call(this,m);return this.shadowRoot&&h.addShadowRoot(this.shadowRoot,this.ownerDocument),_}}))}addShadowRoot(p,h){isNativeShadowDom(p)&&(this.shadowDoms.has(p)||(this.shadowDoms.add(p),initMutationObserver(Object.assign(Object.assign({},this.bypassOptions),{doc:h,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),p),initScrollObserver(Object.assign(Object.assign({},this.bypassOptions),{scrollCb:this.scrollCb,doc:p,mirror:this.mirror})),setTimeout(()=>{p.adoptedStyleSheets&&p.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(p.adoptedStyleSheets,this.mirror.getId(p.host)),initAdoptedStyleSheetObserver({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},p)},0)))}observeAttachShadow(p){if(p.contentWindow){const h=this;this.restorePatches.push(patch(p.contentWindow.HTMLElement.prototype,"attachShadow",function(g){return function(m){const _=g.call(this,m);return this.shadowRoot&&h.addShadowRoot(this.shadowRoot,p.contentDocument),_}}))}}reset(){this.restorePatches.forEach(p=>p()),this.shadowDoms=new WeakSet}}/*! *****************************************************************************
@@ -60,7 +60,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
60
60
  PERFORMANCE OF THIS SOFTWARE.
61
61
  ***************************************************************************** */function __rest(d,p){var h={};for(var g in d)Object.prototype.hasOwnProperty.call(d,g)&&p.indexOf(g)<0&&(h[g]=d[g]);if(d!=null&&typeof Object.getOwnPropertySymbols=="function")for(var m=0,g=Object.getOwnPropertySymbols(d);m<g.length;m++)p.indexOf(g[m])<0&&Object.prototype.propertyIsEnumerable.call(d,g[m])&&(h[g[m]]=d[g[m]]);return h}function __awaiter(d,p,h,g){function m(_){return _ instanceof h?_:new h(function(b){b(_)})}return new(h||(h=Promise))(function(_,b){function y(E){try{x(g.next(E))}catch(S){b(S)}}function w(E){try{x(g.throw(E))}catch(S){b(S)}}function x(E){E.done?_(E.value):m(E.value).then(y,w)}x((g=g.apply(d,[])).next())})}for(var chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup=typeof Uint8Array>"u"?[]:new Uint8Array(256),i$1=0;i$1<chars.length;i$1++)lookup[chars.charCodeAt(i$1)]=i$1;var encode=function(d){var p=new Uint8Array(d),h,g=p.length,m="";for(h=0;h<g;h+=3)m+=chars[p[h]>>2],m+=chars[(p[h]&3)<<4|p[h+1]>>4],m+=chars[(p[h+1]&15)<<2|p[h+2]>>6],m+=chars[p[h+2]&63];return g%3===2?m=m.substring(0,m.length-1)+"=":g%3===1&&(m=m.substring(0,m.length-2)+"=="),m},decode=function(d){var p=d.length*.75,h=d.length,g,m=0,_,b,y,w;d[d.length-1]==="="&&(p--,d[d.length-2]==="="&&p--);var x=new ArrayBuffer(p),E=new Uint8Array(x);for(g=0;g<h;g+=4)_=lookup[d.charCodeAt(g)],b=lookup[d.charCodeAt(g+1)],y=lookup[d.charCodeAt(g+2)],w=lookup[d.charCodeAt(g+3)],E[m++]=_<<2|b>>4,E[m++]=(b&15)<<4|y>>2,E[m++]=(y&3)<<6|w&63;return x};const canvasVarMap=new Map;function variableListFor$1(d,p){let h=canvasVarMap.get(d);return h||(h=new Map,canvasVarMap.set(d,h)),h.has(p)||h.set(p,[]),h.get(p)}const saveWebGLVar=(d,p,h)=>{if(!d||!(isInstanceOfWebGLObject(d,p)||typeof d=="object"))return;const g=d.constructor.name,m=variableListFor$1(h,g);let _=m.indexOf(d);return _===-1&&(_=m.length,m.push(d)),_};function serializeArg(d,p,h){if(d instanceof Array)return d.map(g=>serializeArg(g,p,h));if(d===null)return d;if(d instanceof Float32Array||d instanceof Float64Array||d instanceof Int32Array||d instanceof Uint32Array||d instanceof Uint8Array||d instanceof Uint16Array||d instanceof Int16Array||d instanceof Int8Array||d instanceof Uint8ClampedArray)return{rr_type:d.constructor.name,args:[Object.values(d)]};if(d instanceof ArrayBuffer){const g=d.constructor.name,m=encode(d);return{rr_type:g,base64:m}}else{if(d instanceof DataView)return{rr_type:d.constructor.name,args:[serializeArg(d.buffer,p,h),d.byteOffset,d.byteLength]};if(d instanceof HTMLImageElement){const g=d.constructor.name,{src:m}=d;return{rr_type:g,src:m}}else if(d instanceof HTMLCanvasElement){const g="HTMLImageElement",m=d.toDataURL();return{rr_type:g,src:m}}else{if(d instanceof ImageData)return{rr_type:d.constructor.name,args:[serializeArg(d.data,p,h),d.width,d.height]};if(isInstanceOfWebGLObject(d,p)||typeof d=="object"){const g=d.constructor.name,m=saveWebGLVar(d,p,h);return{rr_type:g,index:m}}}}return d}const serializeArgs=(d,p,h)=>[...d].map(g=>serializeArg(g,p,h)),isInstanceOfWebGLObject=(d,p)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(m=>typeof p[m]=="function").find(m=>d instanceof p[m]);function initCanvas2DMutationObserver(d,p,h,g){const m=[],_=Object.getOwnPropertyNames(p.CanvasRenderingContext2D.prototype);for(const b of _)try{if(typeof p.CanvasRenderingContext2D.prototype[b]!="function")continue;const y=patch(p.CanvasRenderingContext2D.prototype,b,function(w){return function(...x){return isBlocked(this.canvas,h,g,!0)||setTimeout(()=>{const E=serializeArgs([...x],p,this);d(this.canvas,{type:CanvasContext["2D"],property:b,args:E})},0),w.apply(this,x)}});m.push(y)}catch{const w=hookSetter(p.CanvasRenderingContext2D.prototype,b,{set(x){d(this.canvas,{type:CanvasContext["2D"],property:b,args:[x],setter:!0})}});m.push(w)}return()=>{m.forEach(b=>b())}}function initCanvasContextObserver(d,p,h){const g=[];try{const m=patch(d.HTMLCanvasElement.prototype,"getContext",function(_){return function(b,...y){return isBlocked(this,p,h,!0)||"__context"in this||(this.__context=b),_.apply(this,[b,...y])}});g.push(m)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{g.forEach(m=>m())}}function patchGLPrototype(d,p,h,g,m,_,b){const y=[],w=Object.getOwnPropertyNames(d);for(const x of w)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(x))try{if(typeof d[x]!="function")continue;const E=patch(d,x,function(S){return function(...k){const I=S.apply(this,k);if(saveWebGLVar(I,b,this),!isBlocked(this.canvas,g,m,!0)){const A=serializeArgs([...k],b,this),M={type:p,property:x,args:A};h(this.canvas,M)}return I}});y.push(E)}catch{const S=hookSetter(d,x,{set(k){h(this.canvas,{type:p,property:x,args:[k],setter:!0})}});y.push(S)}return y}function initCanvasWebGLMutationObserver(d,p,h,g,m){const _=[];return _.push(...patchGLPrototype(p.WebGLRenderingContext.prototype,CanvasContext.WebGL,d,h,g,m,p)),typeof p.WebGL2RenderingContext<"u"&&_.push(...patchGLPrototype(p.WebGL2RenderingContext.prototype,CanvasContext.WebGL2,d,h,g,m,p)),()=>{_.forEach(b=>b())}}var WorkerClass=null;try{var WorkerThreads=typeof module<"u"&&typeof module.require=="function"&&module.require("worker_threads")||typeof __non_webpack_require__=="function"&&__non_webpack_require__("worker_threads")||typeof require=="function"&&require("worker_threads");WorkerClass=WorkerThreads.Worker}catch(d){}function decodeBase64$1(d,p){return Buffer.from(d,"base64").toString("utf8")}function createBase64WorkerFactory$2(d,p,h){var g=decodeBase64$1(d),m=g.indexOf(`
62
62
  `,10)+1,_=g.substring(m)+"";return function(y){return new WorkerClass(_,Object.assign({},y,{eval:!0}))}}function decodeBase64(d,p){var h=atob(d);return h}function createURL(d,p,h){var g=decodeBase64(d),m=g.indexOf(`
63
- `,10)+1,_=g.substring(m)+"",b=new Blob([_],{type:"application/javascript"});return URL.createObjectURL(b)}function createBase64WorkerFactory$1(d,p,h){var g;return function(_){return g=g||createURL(d),new Worker(g,_)}}var kIsNodeJS=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]";function isNodeJS(){return kIsNodeJS}function createBase64WorkerFactory(d,p,h){return isNodeJS()?createBase64WorkerFactory$2(d):createBase64WorkerFactory$1(d)}var WorkerFactory=createBase64WorkerFactory("Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikgew0KICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH0NCiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7DQogICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfQ0KICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpOw0KICAgICAgICB9KTsNCiAgICB9CgogICAgLyoKICAgICAqIGJhc2U2NC1hcnJheWJ1ZmZlciAxLjAuMSA8aHR0cHM6Ly9naXRodWIuY29tL25pa2xhc3ZoL2Jhc2U2NC1hcnJheWJ1ZmZlcj4KICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBOaWtsYXMgdm9uIEhlcnR6ZW4gPGh0dHBzOi8vaGVydHplbi5jb20+CiAgICAgKiBSZWxlYXNlZCB1bmRlciBNSVQgTGljZW5zZQogICAgICovCiAgICB2YXIgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7CiAgICAvLyBVc2UgYSBsb29rdXAgdGFibGUgdG8gZmluZCB0aGUgaW5kZXguCiAgICB2YXIgbG9va3VwID0gdHlwZW9mIFVpbnQ4QXJyYXkgPT09ICd1bmRlZmluZWQnID8gW10gOiBuZXcgVWludDhBcnJheSgyNTYpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykgewogICAgICAgIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7CiAgICB9CiAgICB2YXIgZW5jb2RlID0gZnVuY3Rpb24gKGFycmF5YnVmZmVyKSB7CiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpLCBpLCBsZW4gPSBieXRlcy5sZW5ndGgsIGJhc2U2NCA9ICcnOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gMykgewogICAgICAgICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaV0gPj4gMl07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2ldICYgMykgPDwgNCkgfCAoYnl0ZXNbaSArIDFdID4+IDQpXTsKICAgICAgICAgICAgYmFzZTY0ICs9IGNoYXJzWygoYnl0ZXNbaSArIDFdICYgMTUpIDw8IDIpIHwgKGJ5dGVzW2kgKyAyXSA+PiA2KV07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tpICsgMl0gJiA2M107CiAgICAgICAgfQogICAgICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgJz0nOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgJz09JzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGJhc2U2NDsKICAgIH07CgogICAgY29uc3QgbGFzdEJsb2JNYXAgPSBuZXcgTWFwKCk7DQogICAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gbmV3IE1hcCgpOw0KICAgIGZ1bmN0aW9uIGdldFRyYW5zcGFyZW50QmxvYkZvcih3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucykgew0KICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkgew0KICAgICAgICAgICAgY29uc3QgaWQgPSBgJHt3aWR0aH0tJHtoZWlnaHR9YDsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgaWYgKHRyYW5zcGFyZW50QmxvYk1hcC5oYXMoaWQpKQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNwYXJlbnRCbG9iTWFwLmdldChpZCk7DQogICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsNCiAgICAgICAgICAgICAgICBvZmZzY3JlZW4uZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0geWllbGQgYmxvYi5hcnJheUJ1ZmZlcigpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7DQogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gYmFzZTY0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQogICAgY29uc3Qgd29ya2VyID0gc2VsZjsNCiAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgY29uc3QgeyBpZCwgYml0bWFwLCB3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucyB9ID0gZS5kYXRhOw0KICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zKTsNCiAgICAgICAgICAgICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGN0eCA9IG9mZnNjcmVlbi5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsNCiAgICAgICAgICAgICAgICBiaXRtYXAuY2xvc2UoKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBibG9iLnR5cGU7DQogICAgICAgICAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSB5aWVsZCBibG9iLmFycmF5QnVmZmVyKCk7DQogICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gZW5jb2RlKGFycmF5QnVmZmVyKTsNCiAgICAgICAgICAgICAgICBpZiAoIWxhc3RCbG9iTWFwLmhhcyhpZCkgJiYgKHlpZWxkIHRyYW5zcGFyZW50QmFzZTY0KSA9PT0gYmFzZTY0KSB7DQogICAgICAgICAgICAgICAgICAgIGxhc3RCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlci5wb3N0TWVzc2FnZSh7IGlkIH0pOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7DQogICAgICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgaWQsDQogICAgICAgICAgICAgICAgICAgIHR5cGUsDQogICAgICAgICAgICAgICAgICAgIGJhc2U2NCwNCiAgICAgICAgICAgICAgICAgICAgd2lkdGgsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodCwNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfTsKCn0pKCk7Cgo=");class CanvasManager{constructor(p){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=!1,this.locked=!1,this.processMutation=(w,x)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(w)||this.pendingCanvasMutations.set(w,[]),this.pendingCanvasMutations.get(w).push(x)};const{sampling:h="all",win:g,blockClass:m,blockSelector:_,recordCanvas:b,dataURLOptions:y}=p;this.mutationCb=p.mutationCb,this.mirror=p.mirror,b&&h==="all"&&this.initCanvasMutationObserver(g,m,_),b&&typeof h=="number"&&this.initCanvasFPSObserver(h,g,m,_,{dataURLOptions:y})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(p,h,g,m,_){const b=initCanvasContextObserver(h,g,m),y=new Map,w=new WorkerFactory;w.onmessage=A=>{const{id:M}=A.data;if(y.set(M,!1),!("base64"in A.data))return;const{base64:R,type:C,width:$,height:N}=A.data;this.mutationCb({id:M,type:CanvasContext["2D"],commands:[{property:"clearRect",args:[0,0,$,N]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:R}],type:C}]},0,0]}]})};const x=1e3/p;let E=0,S;const k=()=>{const A=[];return h.document.querySelectorAll("canvas").forEach(M=>{isBlocked(M,g,m,!0)||A.push(M)}),A},I=A=>{if(E&&A-E<x){S=requestAnimationFrame(I);return}E=A,k().forEach(M=>__awaiter(this,void 0,void 0,function*(){var R;const C=this.mirror.getId(M);if(y.get(C))return;if(y.set(C,!0),["webgl","webgl2"].includes(M.__context)){const N=M.getContext(M.__context);((R=N==null?void 0:N.getContextAttributes())===null||R===void 0?void 0:R.preserveDrawingBuffer)===!1&&(N==null||N.clear(N.COLOR_BUFFER_BIT))}const $=yield createImageBitmap(M);w.postMessage({id:C,bitmap:$,width:M.width,height:M.height,dataURLOptions:_.dataURLOptions},[$])})),S=requestAnimationFrame(I)};S=requestAnimationFrame(I),this.resetObservers=()=>{b(),cancelAnimationFrame(S)}}initCanvasMutationObserver(p,h,g){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const m=initCanvasContextObserver(p,h,g),_=initCanvas2DMutationObserver(this.processMutation.bind(this),p,h,g),b=initCanvasWebGLMutationObserver(this.processMutation.bind(this),p,h,g,this.mirror);this.resetObservers=()=>{m(),_(),b()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const p=h=>{this.rafStamps.latestId=h,requestAnimationFrame(p)};requestAnimationFrame(p)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((p,h)=>{const g=this.mirror.getId(h);this.flushPendingCanvasMutationFor(h,g)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(p,h){if(this.frozen||this.locked)return;const g=this.pendingCanvasMutations.get(p);if(!g||h===-1)return;const m=g.map(b=>__rest(b,["type"])),{type:_}=g[0];this.mutationCb({id:h,type:_,commands:m}),this.pendingCanvasMutations.delete(p)}}class StylesheetManager{constructor(p){this.trackedLinkElements=new WeakSet,this.styleMirror=new StyleSheetMirror,this.mutationCb=p.mutationCb,this.adoptedStyleSheetCb=p.adoptedStyleSheetCb}attachLinkElement(p,h){"_cssText"in h.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:h.id,attributes:h.attributes}]}),this.trackLinkElement(p)}trackLinkElement(p){this.trackedLinkElements.has(p)||(this.trackedLinkElements.add(p),this.trackStylesheetInLinkElement(p))}adoptStyleSheets(p,h){if(p.length===0)return;const g={id:h,styleIds:[]},m=[];for(const _ of p){let b;if(this.styleMirror.has(_))b=this.styleMirror.getId(_);else{b=this.styleMirror.add(_);const y=Array.from(_.rules||CSSRule);m.push({styleId:b,rules:y.map((w,x)=>({rule:getCssRuleString(w),index:x}))})}g.styleIds.push(b)}m.length>0&&(g.styles=m),this.adoptedStyleSheetCb(g)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(p){}}function wrapEvent(d){return Object.assign(Object.assign({},d),{timestamp:Date.now()})}let wrappedEmit,takeFullSnapshot,canvasManager,recording=!1;const mirror=createMirror$2();function record$1(d={}){const{emit:p,checkoutEveryNms:h,checkoutEveryNth:g,blockClass:m="rr-block",blockSelector:_=null,ignoreClass:b="rr-ignore",maskTextClass:y="rr-mask",maskTextSelector:w=null,inlineStylesheet:x=!0,maskAllInputs:E,maskInputOptions:S,slimDOMOptions:k,maskInputFn:I,maskTextFn:A,hooks:M,packFn:R,sampling:C={},dataURLOptions:$={},mousemoveWait:N,recordCanvas:O=!1,recordCrossOriginIframes:P=!1,userTriggeredOnInput:W=!1,collectFonts:V=!1,inlineImages:q=!1,plugins:he,keepIframeSrcFn:ne=()=>!1,ignoreCSSAttributes:ie=new Set([])}=d,se=P?window.parent===window:!0;let Ee=!1;if(!se)try{window.parent.document,Ee=!1}catch{Ee=!0}if(se&&!p)throw new Error("emit function is required");N!==void 0&&C.mousemove===void 0&&(C.mousemove=N),mirror.reset();const ae=E===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:S!==void 0?S:{password:!0},Ie=k===!0||k==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:k==="all",headMetaDescKeywords:k==="all"}:k||{};polyfill$1();let Se,ge=0;const xe=B=>{for(const Q of he||[])Q.eventProcessor&&(B=Q.eventProcessor(B));return R&&(B=R(B)),B};wrappedEmit=(B,Q)=>{var de;if(!((de=mutationBuffers[0])===null||de===void 0)&&de.isFrozen()&&B.type!==EventType.FullSnapshot&&!(B.type===EventType.IncrementalSnapshot&&B.data.source===IncrementalSource.Mutation)&&mutationBuffers.forEach(re=>re.unfreeze()),se)p==null||p(xe(B),Q);else if(Ee){const re={type:"rrweb",event:xe(B),isCheckout:Q};window.parent.postMessage(re,"*")}if(B.type===EventType.FullSnapshot)Se=B,ge=0;else if(B.type===EventType.IncrementalSnapshot){if(B.data.source===IncrementalSource.Mutation&&B.data.isAttachIframe)return;ge++;const re=g&&ge>=g,ve=h&&B.timestamp-Se.timestamp>h;(re||ve)&&takeFullSnapshot(!0)}};const T=B=>{wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Mutation},B)}))},z=B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Scroll},B)})),D=B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.CanvasMutation},B)})),Z=B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.AdoptedStyleSheet},B)})),G=new StylesheetManager({mutationCb:T,adoptedStyleSheetCb:Z}),oe=new IframeManager({mirror,mutationCb:T,stylesheetManager:G,recordCrossOriginIframes:P,wrappedEmit});for(const B of he||[])B.getMirror&&B.getMirror({nodeMirror:mirror,crossOriginIframeMirror:oe.crossOriginIframeMirror,crossOriginIframeStyleMirror:oe.crossOriginIframeStyleMirror});canvasManager=new CanvasManager({recordCanvas:O,mutationCb:D,win:window,blockClass:m,blockSelector:_,mirror,sampling:C.canvas,dataURLOptions:$});const _e=new ShadowDomManager({mutationCb:T,scrollCb:z,bypassOptions:{blockClass:m,blockSelector:_,maskTextClass:y,maskTextSelector:w,inlineStylesheet:x,maskInputOptions:ae,dataURLOptions:$,maskTextFn:A,maskInputFn:I,recordCanvas:O,inlineImages:q,sampling:C,slimDOMOptions:Ie,iframeManager:oe,stylesheetManager:G,canvasManager,keepIframeSrcFn:ne},mirror});takeFullSnapshot=(B=!1)=>{var Q,de,re,ve,U,X;wrappedEmit(wrapEvent({type:EventType.Meta,data:{href:window.location.href,width:getWindowWidth(),height:getWindowHeight()}}),B),G.reset(),mutationBuffers.forEach(le=>le.lock());const fe=snapshot(document,{mirror,blockClass:m,blockSelector:_,maskTextClass:y,maskTextSelector:w,inlineStylesheet:x,maskAllInputs:ae,maskTextFn:A,slimDOM:Ie,dataURLOptions:$,recordCanvas:O,inlineImages:q,onSerialize:le=>{isSerializedIframe(le,mirror)&&oe.addIframe(le),isSerializedStylesheet(le,mirror)&&G.trackLinkElement(le),hasShadowRoot(le)&&_e.addShadowRoot(le.shadowRoot,document)},onIframeLoad:(le,we)=>{oe.attachIframe(le,we),_e.observeAttachShadow(le)},onStylesheetLoad:(le,we)=>{G.attachLinkElement(le,we)},keepIframeSrcFn:ne});if(!fe)return console.warn("Failed to snapshot the document");wrappedEmit(wrapEvent({type:EventType.FullSnapshot,data:{node:fe,initialOffset:{left:window.pageXOffset!==void 0?window.pageXOffset:(document==null?void 0:document.documentElement.scrollLeft)||((de=(Q=document==null?void 0:document.body)===null||Q===void 0?void 0:Q.parentElement)===null||de===void 0?void 0:de.scrollLeft)||((re=document==null?void 0:document.body)===null||re===void 0?void 0:re.scrollLeft)||0,top:window.pageYOffset!==void 0?window.pageYOffset:(document==null?void 0:document.documentElement.scrollTop)||((U=(ve=document==null?void 0:document.body)===null||ve===void 0?void 0:ve.parentElement)===null||U===void 0?void 0:U.scrollTop)||((X=document==null?void 0:document.body)===null||X===void 0?void 0:X.scrollTop)||0}}})),mutationBuffers.forEach(le=>le.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&G.adoptStyleSheets(document.adoptedStyleSheets,mirror.getId(document))};try{const B=[];B.push(on("DOMContentLoaded",()=>{wrappedEmit(wrapEvent({type:EventType.DomContentLoaded,data:{}}))}));const Q=re=>{var ve;return initObservers({mutationCb:T,mousemoveCb:(U,X)=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:{source:X,positions:U}})),mouseInteractionCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.MouseInteraction},U)})),scrollCb:z,viewportResizeCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.ViewportResize},U)})),inputCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Input},U)})),mediaInteractionCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.MediaInteraction},U)})),styleSheetRuleCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.StyleSheetRule},U)})),styleDeclarationCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.StyleDeclaration},U)})),canvasMutationCb:D,fontCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Font},U)})),selectionCb:U=>{wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Selection},U)}))},blockClass:m,ignoreClass:b,maskTextClass:y,maskTextSelector:w,maskInputOptions:ae,inlineStylesheet:x,sampling:C,recordCanvas:O,inlineImages:q,userTriggeredOnInput:W,collectFonts:V,doc:re,maskInputFn:I,maskTextFn:A,keepIframeSrcFn:ne,blockSelector:_,slimDOMOptions:Ie,dataURLOptions:$,mirror,iframeManager:oe,stylesheetManager:G,shadowDomManager:_e,canvasManager,ignoreCSSAttributes:ie,plugins:((ve=he==null?void 0:he.filter(U=>U.observer))===null||ve===void 0?void 0:ve.map(U=>({observer:U.observer,options:U.options,callback:X=>wrappedEmit(wrapEvent({type:EventType.Plugin,data:{plugin:U.name,payload:X}}))})))||[]},M)};oe.addLoadListener(re=>{B.push(Q(re.contentDocument))});const de=()=>{takeFullSnapshot(),B.push(Q(document)),recording=!0};return document.readyState==="interactive"||document.readyState==="complete"?de():B.push(on("load",()=>{wrappedEmit(wrapEvent({type:EventType.Load,data:{}})),de()},window)),()=>{B.forEach(re=>re()),recording=!1}}catch(B){console.warn(B)}}record$1.addCustomEvent=(d,p)=>{if(!recording)throw new Error("please add custom event after start recording");wrappedEmit(wrapEvent({type:EventType.Custom,data:{tag:d,payload:p}}))},record$1.freezePage=()=>{mutationBuffers.forEach(d=>d.freeze())},record$1.takeFullSnapshot=d=>{if(!recording)throw new Error("please take full snapshot after start recording");takeFullSnapshot(d)},record$1.mirror=mirror;var NodeType$1;(function(d){d[d.Document=0]="Document",d[d.DocumentType=1]="DocumentType",d[d.Element=2]="Element",d[d.Text=3]="Text",d[d.CDATA=4]="CDATA",d[d.Comment=5]="Comment"})(NodeType$1||(NodeType$1={}));var Mirror$1=(function(){function d(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}return d.prototype.getId=function(p){var h;if(!p)return-1;var g=(h=this.getMeta(p))===null||h===void 0?void 0:h.id;return g??-1},d.prototype.getNode=function(p){return this.idNodeMap.get(p)||null},d.prototype.getIds=function(){return Array.from(this.idNodeMap.keys())},d.prototype.getMeta=function(p){return this.nodeMetaMap.get(p)||null},d.prototype.removeNodeFromMap=function(p){var h=this,g=this.getId(p);this.idNodeMap.delete(g),p.childNodes&&p.childNodes.forEach(function(m){return h.removeNodeFromMap(m)})},d.prototype.has=function(p){return this.idNodeMap.has(p)},d.prototype.hasNode=function(p){return this.nodeMetaMap.has(p)},d.prototype.add=function(p,h){var g=h.id;this.idNodeMap.set(g,p),this.nodeMetaMap.set(p,h)},d.prototype.replace=function(p,h){var g=this.getNode(p);if(g){var m=this.nodeMetaMap.get(g);m&&this.nodeMetaMap.set(h,m)}this.idNodeMap.set(p,h)},d.prototype.reset=function(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap},d})();function createMirror$1(){return new Mirror$1}function parseCSSText(d){const p={},h=/;(?![^(]*\))/g,g=/:(.+)/,m=/\/\*.*?\*\//g;return d.replace(m,"").split(h).forEach(function(_){if(_){const b=_.split(g);b.length>1&&(p[camelize(b[0].trim())]=b[1].trim())}}),p}function toCSSText(d){const p=[];for(const h in d){const g=d[h];if(typeof g!="string")continue;const m=hyphenate(h);p.push(`${m}: ${g};`)}return p.join(" ")}const camelizeRE=/-([a-z])/g,CUSTOM_PROPERTY_REGEX=/^--[a-zA-Z0-9-]+$/,camelize=d=>CUSTOM_PROPERTY_REGEX.test(d)?d:d.replace(camelizeRE,(p,h)=>h?h.toUpperCase():""),hyphenateRE=/\B([A-Z])/g,hyphenate=d=>d.replace(hyphenateRE,"-$1").toLowerCase();class BaseRRNode{constructor(...p){this.childNodes=[],this.parentElement=null,this.parentNode=null,this.ELEMENT_NODE=NodeType.ELEMENT_NODE,this.TEXT_NODE=NodeType.TEXT_NODE}get firstChild(){return this.childNodes[0]||null}get lastChild(){return this.childNodes[this.childNodes.length-1]||null}get nextSibling(){const p=this.parentNode;if(!p)return null;const h=p.childNodes,g=h.indexOf(this);return h[g+1]||null}contains(p){if(p===this)return!0;for(const h of this.childNodes)if(h.contains(p))return!0;return!1}appendChild(p){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(p,h){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(p){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}}function BaseRRDocumentImpl(d){return class Xr extends d{constructor(){super(...arguments),this.nodeType=NodeType.DOCUMENT_NODE,this.nodeName="#document",this.compatMode="CSS1Compat",this.RRNodeType=NodeType$1.Document,this.textContent=null}get documentElement(){return this.childNodes.find(h=>h.RRNodeType===NodeType$1.Element&&h.tagName==="HTML")||null}get body(){var h;return((h=this.documentElement)===null||h===void 0?void 0:h.childNodes.find(g=>g.RRNodeType===NodeType$1.Element&&g.tagName==="BODY"))||null}get head(){var h;return((h=this.documentElement)===null||h===void 0?void 0:h.childNodes.find(g=>g.RRNodeType===NodeType$1.Element&&g.tagName==="HEAD"))||null}get implementation(){return this}get firstElementChild(){return this.documentElement}appendChild(h){const g=h.RRNodeType;if((g===NodeType$1.Element||g===NodeType$1.DocumentType)&&this.childNodes.some(m=>m.RRNodeType===g))throw new Error(`RRDomException: Failed to execute 'appendChild' on 'RRNode': Only one ${g===NodeType$1.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);return h.parentElement=null,h.parentNode=this,this.childNodes.push(h),h}insertBefore(h,g){const m=h.RRNodeType;if((m===NodeType$1.Element||m===NodeType$1.DocumentType)&&this.childNodes.some(b=>b.RRNodeType===m))throw new Error(`RRDomException: Failed to execute 'insertBefore' on 'RRNode': Only one ${m===NodeType$1.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);if(g===null)return this.appendChild(h);const _=this.childNodes.indexOf(g);if(_==-1)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return this.childNodes.splice(_,0,h),h.parentElement=null,h.parentNode=this,h}removeChild(h){const g=this.childNodes.indexOf(h);if(g===-1)throw new Error("Failed to execute 'removeChild' on 'RRDocument': The RRNode to be removed is not a child of this RRNode.");return this.childNodes.splice(g,1),h.parentElement=null,h.parentNode=null,h}open(){this.childNodes=[]}close(){}write(h){let g;if(h==='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'?g="-//W3C//DTD XHTML 1.0 Transitional//EN":h==='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">'&&(g="-//W3C//DTD HTML 4.0 Transitional//EN"),g){const m=this.createDocumentType("html",g,"");this.open(),this.appendChild(m)}}createDocument(h,g,m){return new Xr}createDocumentType(h,g,m){const _=new(BaseRRDocumentTypeImpl(BaseRRNode))(h,g,m);return _.ownerDocument=this,_}createElement(h){const g=new(BaseRRElementImpl(BaseRRNode))(h);return g.ownerDocument=this,g}createElementNS(h,g){return this.createElement(g)}createTextNode(h){const g=new(BaseRRTextImpl(BaseRRNode))(h);return g.ownerDocument=this,g}createComment(h){const g=new(BaseRRCommentImpl(BaseRRNode))(h);return g.ownerDocument=this,g}createCDATASection(h){const g=new(BaseRRCDATASectionImpl(BaseRRNode))(h);return g.ownerDocument=this,g}toString(){return"RRDocument"}}}function BaseRRDocumentTypeImpl(d){return class extends d{constructor(h,g,m){super(),this.nodeType=NodeType.DOCUMENT_TYPE_NODE,this.RRNodeType=NodeType$1.DocumentType,this.textContent=null,this.name=h,this.publicId=g,this.systemId=m,this.nodeName=h}toString(){return"RRDocumentType"}}}function BaseRRElementImpl(d){return class extends d{constructor(h){super(),this.nodeType=NodeType.ELEMENT_NODE,this.RRNodeType=NodeType$1.Element,this.attributes={},this.shadowRoot=null,this.tagName=h.toUpperCase(),this.nodeName=h.toUpperCase()}get textContent(){let h="";return this.childNodes.forEach(g=>h+=g.textContent),h}set textContent(h){this.childNodes=[this.ownerDocument.createTextNode(h)]}get classList(){return new ClassList(this.attributes.class,h=>{this.attributes.class=h})}get id(){return this.attributes.id||""}get className(){return this.attributes.class||""}get style(){const h=this.attributes.style?parseCSSText(this.attributes.style):{},g=/\B([A-Z])/g;return h.setProperty=(m,_,b)=>{if(g.test(m))return;const y=camelize(m);_?h[y]=_:delete h[y],b==="important"&&(h[y]+=" !important"),this.attributes.style=toCSSText(h)},h.removeProperty=m=>{if(g.test(m))return"";const _=camelize(m),b=h[_]||"";return delete h[_],this.attributes.style=toCSSText(h),b},h}getAttribute(h){return this.attributes[h]||null}setAttribute(h,g){this.attributes[h]=g}setAttributeNS(h,g,m){this.setAttribute(g,m)}removeAttribute(h){delete this.attributes[h]}appendChild(h){return this.childNodes.push(h),h.parentNode=this,h.parentElement=this,h}insertBefore(h,g){if(g===null)return this.appendChild(h);const m=this.childNodes.indexOf(g);if(m==-1)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return this.childNodes.splice(m,0,h),h.parentElement=this,h.parentNode=this,h}removeChild(h){const g=this.childNodes.indexOf(h);if(g===-1)throw new Error("Failed to execute 'removeChild' on 'RRElement': The RRNode to be removed is not a child of this RRNode.");return this.childNodes.splice(g,1),h.parentElement=null,h.parentNode=null,h}attachShadow(h){const g=this.ownerDocument.createElement("SHADOWROOT");return this.shadowRoot=g,g}dispatchEvent(h){return!0}toString(){let h="";for(const g in this.attributes)h+=`${g}="${this.attributes[g]}" `;return`${this.tagName} ${h}`}}}function BaseRRMediaElementImpl(d){return class extends d{attachShadow(h){throw new Error("RRDomException: Failed to execute 'attachShadow' on 'RRElement': This RRElement does not support attachShadow")}play(){this.paused=!1}pause(){this.paused=!0}}}function BaseRRTextImpl(d){return class extends d{constructor(h){super(),this.nodeType=NodeType.TEXT_NODE,this.nodeName="#text",this.RRNodeType=NodeType$1.Text,this.data=h}get textContent(){return this.data}set textContent(h){this.data=h}toString(){return`RRText text=${JSON.stringify(this.data)}`}}}function BaseRRCommentImpl(d){return class extends d{constructor(h){super(),this.nodeType=NodeType.COMMENT_NODE,this.nodeName="#comment",this.RRNodeType=NodeType$1.Comment,this.data=h}get textContent(){return this.data}set textContent(h){this.data=h}toString(){return`RRComment text=${JSON.stringify(this.data)}`}}}function BaseRRCDATASectionImpl(d){return class extends d{constructor(h){super(),this.nodeName="#cdata-section",this.nodeType=NodeType.CDATA_SECTION_NODE,this.RRNodeType=NodeType$1.CDATA,this.data=h}get textContent(){return this.data}set textContent(h){this.data=h}toString(){return`RRCDATASection data=${JSON.stringify(this.data)}`}}}class ClassList{constructor(p,h){if(this.classes=[],this.add=(...g)=>{for(const m of g){const _=String(m);this.classes.indexOf(_)>=0||this.classes.push(_)}this.onChange&&this.onChange(this.classes.join(" "))},this.remove=(...g)=>{this.classes=this.classes.filter(m=>g.indexOf(m)===-1),this.onChange&&this.onChange(this.classes.join(" "))},p){const g=p.trim().split(/\s+/);this.classes.push(...g)}this.onChange=h}}var NodeType;(function(d){d[d.PLACEHOLDER=0]="PLACEHOLDER",d[d.ELEMENT_NODE=1]="ELEMENT_NODE",d[d.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",d[d.TEXT_NODE=3]="TEXT_NODE",d[d.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",d[d.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",d[d.ENTITY_NODE=6]="ENTITY_NODE",d[d.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",d[d.COMMENT_NODE=8]="COMMENT_NODE",d[d.DOCUMENT_NODE=9]="DOCUMENT_NODE",d[d.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",d[d.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE"})(NodeType||(NodeType={}));const NAMESPACES={svg:"http://www.w3.org/2000/svg","xlink:href":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/"},SVGTagMap={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function diff(d,p,h,g){const m=d.childNodes,_=p.childNodes;g=g||p.mirror||p.ownerDocument.mirror,(m.length>0||_.length>0)&&diffChildren(Array.from(m),_,d,h,g);let b=null,y=null;switch(p.RRNodeType){case NodeType$1.Document:{y=p.scrollData;break}case NodeType$1.Element:{const w=d,x=p;switch(diffProps(w,x,g),y=x.scrollData,b=x.inputData,x.tagName){case"AUDIO":case"VIDEO":{const E=d,S=x;S.paused!==void 0&&(S.paused?E.pause():E.play()),S.muted!==void 0&&(E.muted=S.muted),S.volume!==void 0&&(E.volume=S.volume),S.currentTime!==void 0&&(E.currentTime=S.currentTime),S.playbackRate!==void 0&&(E.playbackRate=S.playbackRate);break}case"CANVAS":{const E=p;if(E.rr_dataURL!==null){const S=document.createElement("img");S.onload=()=>{const k=w.getContext("2d");k&&k.drawImage(S,0,0,S.width,S.height)},S.src=E.rr_dataURL}E.canvasMutations.forEach(S=>h.applyCanvas(S.event,S.mutation,d))}break;case"STYLE":{const E=w.sheet;E&&p.rules.forEach(S=>h.applyStyleSheetMutation(S,E))}break}if(x.shadowRoot){w.shadowRoot||w.attachShadow({mode:"open"});const E=w.shadowRoot.childNodes,S=x.shadowRoot.childNodes;(E.length>0||S.length>0)&&diffChildren(Array.from(E),S,w.shadowRoot,h,g)}break}case NodeType$1.Text:case NodeType$1.Comment:case NodeType$1.CDATA:d.textContent!==p.data&&(d.textContent=p.data);break}if(y&&h.applyScroll(y,!0),b&&h.applyInput(b),p.nodeName==="IFRAME"){const w=d.contentDocument,x=p;if(w){const E=g.getMeta(x.contentDocument);E&&h.mirror.add(w,Object.assign({},E)),diff(w,x.contentDocument,h,g)}}}function diffProps(d,p,h){const g=d.attributes,m=p.attributes;for(const _ in m){const b=m[_],y=h.getMeta(p);if(y&&"isSVG"in y&&y.isSVG&&NAMESPACES[_])d.setAttributeNS(NAMESPACES[_],_,b);else if(p.tagName==="CANVAS"&&_==="rr_dataURL"){const w=document.createElement("img");w.src=b,w.onload=()=>{const x=d.getContext("2d");x&&x.drawImage(w,0,0,w.width,w.height)}}else d.setAttribute(_,b)}for(const{name:_}of Array.from(g))_ in m||d.removeAttribute(_);p.scrollLeft&&(d.scrollLeft=p.scrollLeft),p.scrollTop&&(d.scrollTop=p.scrollTop)}function diffChildren(d,p,h,g,m){var _;let b=0,y=d.length-1,w=0,x=p.length-1,E=d[b],S=d[y],k=p[w],I=p[x],A,M;for(;b<=y&&w<=x;){const R=g.mirror.getId(E),C=g.mirror.getId(S),$=m.getId(k),N=m.getId(I);if(E===void 0)E=d[++b];else if(S===void 0)S=d[--y];else if(R!==-1&&R===$)diff(E,k,g,m),E=d[++b],k=p[++w];else if(C!==-1&&C===N)diff(S,I,g,m),S=d[--y],I=p[--x];else if(R!==-1&&R===N)h.insertBefore(E,S.nextSibling),diff(E,I,g,m),E=d[++b],I=p[--x];else if(C!==-1&&C===$)h.insertBefore(S,E),diff(S,k,g,m),S=d[--y],k=p[++w];else{if(!A){A={};for(let O=b;O<=y;O++){const P=d[O];P&&g.mirror.hasNode(P)&&(A[g.mirror.getId(P)]=O)}}if(M=A[m.getId(k)],M){const O=d[M];h.insertBefore(O,E),diff(O,k,g,m),d[M]=void 0}else{const O=createOrGetNode(k,g.mirror,m);h.nodeName==="#document"&&((_=g.mirror.getMeta(O))===null||_===void 0?void 0:_.type)===NodeType$1.Element&&h.documentElement&&(h.removeChild(h.documentElement),d[b]=void 0,E=void 0),h.insertBefore(O,E||null),diff(O,k,g,m)}k=p[++w]}}if(b>y){const R=p[x+1];let C=null;for(R&&h.childNodes.forEach($=>{g.mirror.getId($)===m.getId(R)&&(C=$)});w<=x;++w){const $=createOrGetNode(p[w],g.mirror,m);h.insertBefore($,C),diff($,p[w],g,m)}}else if(w>x)for(;b<=y;b++){const R=d[b];R&&(h.removeChild(R),g.mirror.removeNodeFromMap(R))}}function createOrGetNode(d,p,h){const g=h.getId(d),m=h.getMeta(d);let _=null;if(g>-1&&(_=p.getNode(g)),_!==null)return _;switch(d.RRNodeType){case NodeType$1.Document:_=new Document;break;case NodeType$1.DocumentType:_=document.implementation.createDocumentType(d.name,d.publicId,d.systemId);break;case NodeType$1.Element:{let b=d.tagName.toLowerCase();b=SVGTagMap[b]||b,m&&"isSVG"in m&&(m!=null&&m.isSVG)?_=document.createElementNS(NAMESPACES.svg,b):_=document.createElement(d.tagName);break}case NodeType$1.Text:_=document.createTextNode(d.data);break;case NodeType$1.Comment:_=document.createComment(d.data);break;case NodeType$1.CDATA:_=document.createCDATASection(d.data);break}return m&&p.add(_,Object.assign({},m)),_}class RRDocument extends BaseRRDocumentImpl(BaseRRNode){constructor(p){super(),this.UNSERIALIZED_STARTING_ID=-2,this._unserializedId=this.UNSERIALIZED_STARTING_ID,this.mirror=createMirror(),this.scrollData=null,p&&(this.mirror=p)}get unserializedId(){return this._unserializedId--}createDocument(p,h,g){return new RRDocument}createDocumentType(p,h,g){const m=new RRDocumentType(p,h,g);return m.ownerDocument=this,m}createElement(p){const h=p.toUpperCase();let g;switch(h){case"AUDIO":case"VIDEO":g=new RRMediaElement(h);break;case"IFRAME":g=new RRIFrameElement(h,this.mirror);break;case"CANVAS":g=new RRCanvasElement(h);break;case"STYLE":g=new RRStyleElement(h);break;default:g=new RRElement(h);break}return g.ownerDocument=this,g}createComment(p){const h=new RRComment(p);return h.ownerDocument=this,h}createCDATASection(p){const h=new RRCDATASection(p);return h.ownerDocument=this,h}createTextNode(p){const h=new RRText(p);return h.ownerDocument=this,h}destroyTree(){this.childNodes=[],this.mirror.reset()}open(){super.open(),this._unserializedId=this.UNSERIALIZED_STARTING_ID}}const RRDocumentType=BaseRRDocumentTypeImpl(BaseRRNode);class RRElement extends BaseRRElementImpl(BaseRRNode){constructor(){super(...arguments),this.inputData=null,this.scrollData=null}}class RRMediaElement extends BaseRRMediaElementImpl(RRElement){}class RRCanvasElement extends RRElement{constructor(){super(...arguments),this.rr_dataURL=null,this.canvasMutations=[]}getContext(){return null}}class RRStyleElement extends RRElement{constructor(){super(...arguments),this.rules=[]}}class RRIFrameElement extends RRElement{constructor(p,h){super(p),this.contentDocument=new RRDocument,this.contentDocument.mirror=h}}const RRText=BaseRRTextImpl(BaseRRNode),RRComment=BaseRRCommentImpl(BaseRRNode),RRCDATASection=BaseRRCDATASectionImpl(BaseRRNode);function getValidTagName(d){return d instanceof HTMLFormElement?"FORM":d.tagName.toUpperCase()}function buildFromNode(d,p,h,g){let m;switch(d.nodeType){case NodeType.DOCUMENT_NODE:g&&g.nodeName==="IFRAME"?m=g.contentDocument:(m=p,m.compatMode=d.compatMode);break;case NodeType.DOCUMENT_TYPE_NODE:{const b=d;m=p.createDocumentType(b.name,b.publicId,b.systemId);break}case NodeType.ELEMENT_NODE:{const b=d,y=getValidTagName(b);m=p.createElement(y);const w=m;for(const{name:x,value:E}of Array.from(b.attributes))w.attributes[x]=E;b.scrollLeft&&(w.scrollLeft=b.scrollLeft),b.scrollTop&&(w.scrollTop=b.scrollTop);break}case NodeType.TEXT_NODE:m=p.createTextNode(d.textContent||"");break;case NodeType.CDATA_SECTION_NODE:m=p.createCDATASection(d.data);break;case NodeType.COMMENT_NODE:m=p.createComment(d.textContent||"");break;case NodeType.DOCUMENT_FRAGMENT_NODE:m=g.attachShadow({mode:"open"});break;default:return null}let _=h.getMeta(d);return p instanceof RRDocument&&(_||(_=getDefaultSN(m,p.unserializedId),h.add(d,_)),p.mirror.add(m,Object.assign({},_))),m}function buildFromDom(d,p=createMirror$1(),h=new RRDocument){function g(m,_){const b=buildFromNode(m,h,p,_);if(b!==null)if((_==null?void 0:_.nodeName)!=="IFRAME"&&m.nodeType!==NodeType.DOCUMENT_FRAGMENT_NODE&&(_==null||_.appendChild(b),b.parentNode=_,b.parentElement=_),m.nodeName==="IFRAME"){const y=m.contentDocument;y&&g(y,b)}else(m.nodeType===NodeType.DOCUMENT_NODE||m.nodeType===NodeType.ELEMENT_NODE||m.nodeType===NodeType.DOCUMENT_FRAGMENT_NODE)&&(m.nodeType===NodeType.ELEMENT_NODE&&m.shadowRoot&&g(m.shadowRoot,b),m.childNodes.forEach(y=>g(y,b)))}return g(d,null),h}function createMirror(){return new Mirror}class Mirror{constructor(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}getId(p){var h;if(!p)return-1;const g=(h=this.getMeta(p))===null||h===void 0?void 0:h.id;return g??-1}getNode(p){return this.idNodeMap.get(p)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(p){return this.nodeMetaMap.get(p)||null}removeNodeFromMap(p){const h=this.getId(p);this.idNodeMap.delete(h),p.childNodes&&p.childNodes.forEach(g=>this.removeNodeFromMap(g))}has(p){return this.idNodeMap.has(p)}hasNode(p){return this.nodeMetaMap.has(p)}add(p,h){const g=h.id;this.idNodeMap.set(g,p),this.nodeMetaMap.set(p,h)}replace(p,h){const g=this.getNode(p);if(g){const m=this.nodeMetaMap.get(g);m&&this.nodeMetaMap.set(h,m)}this.idNodeMap.set(p,h)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function getDefaultSN(d,p){switch(d.RRNodeType){case NodeType$1.Document:return{id:p,type:d.RRNodeType,childNodes:[]};case NodeType$1.DocumentType:{const h=d;return{id:p,type:d.RRNodeType,name:h.name,publicId:h.publicId,systemId:h.systemId}}case NodeType$1.Element:return{id:p,type:d.RRNodeType,tagName:d.tagName.toLowerCase(),attributes:{},childNodes:[]};case NodeType$1.Text:return{id:p,type:d.RRNodeType,textContent:d.textContent||""};case NodeType$1.Comment:return{id:p,type:d.RRNodeType,textContent:d.textContent||""};case NodeType$1.CDATA:return{id:p,type:d.RRNodeType,textContent:""}}}function mitt$1(d){return{all:d=d||new Map,on:function(p,h){var g=d.get(p);g?g.push(h):d.set(p,[h])},off:function(p,h){var g=d.get(p);g&&(h?g.splice(g.indexOf(h)>>>0,1):d.set(p,[]))},emit:function(p,h){var g=d.get(p);g&&g.slice().map(function(m){m(h)}),(g=d.get("*"))&&g.slice().map(function(m){m(p,h)})}}}const mitt$1$1=Object.freeze(Object.defineProperty({__proto__:null,default:mitt$1},Symbol.toStringTag,{value:"Module"}));function polyfill(d=window,p=document){if("scrollBehavior"in p.documentElement.style&&d.__forceSmoothScrollPolyfill__!==!0)return;const h=d.HTMLElement||d.Element,g=468,m={scroll:d.scroll||d.scrollTo,scrollBy:d.scrollBy,elementScroll:h.prototype.scroll||w,scrollIntoView:h.prototype.scrollIntoView},_=d.performance&&d.performance.now?d.performance.now.bind(d.performance):Date.now;function b(C){const $=["MSIE ","Trident/","Edge/"];return new RegExp($.join("|")).test(C)}const y=b(d.navigator.userAgent)?1:0;function w(C,$){this.scrollLeft=C,this.scrollTop=$}function x(C){return .5*(1-Math.cos(Math.PI*C))}function E(C){if(C===null||typeof C!="object"||C.behavior===void 0||C.behavior==="auto"||C.behavior==="instant")return!0;if(typeof C=="object"&&C.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+C.behavior+" is not a valid value for enumeration ScrollBehavior.")}function S(C,$){if($==="Y")return C.clientHeight+y<C.scrollHeight;if($==="X")return C.clientWidth+y<C.scrollWidth}function k(C,$){const N=d.getComputedStyle(C,null)["overflow"+$];return N==="auto"||N==="scroll"}function I(C){const $=S(C,"Y")&&k(C,"Y"),N=S(C,"X")&&k(C,"X");return $||N}function A(C){for(;C!==p.body&&I(C)===!1;)C=C.parentNode||C.host;return C}function M(C){const $=_();let N,O,P,W=($-C.startTime)/g;W=W>1?1:W,N=x(W),O=C.startX+(C.x-C.startX)*N,P=C.startY+(C.y-C.startY)*N,C.method.call(C.scrollable,O,P),(O!==C.x||P!==C.y)&&d.requestAnimationFrame(M.bind(d,C))}function R(C,$,N){let O,P,W,V;const q=_();C===p.body?(O=d,P=d.scrollX||d.pageXOffset,W=d.scrollY||d.pageYOffset,V=m.scroll):(O=C,P=C.scrollLeft,W=C.scrollTop,V=w),M({scrollable:O,method:V,startTime:q,startX:P,startY:W,x:$,y:N})}d.scroll=d.scrollTo=function(){if(arguments[0]!==void 0){if(E(arguments[0])===!0){m.scroll.call(d,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:d.scrollX||d.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:d.scrollY||d.pageYOffset);return}R.call(d,p.body,arguments[0].left!==void 0?~~arguments[0].left:d.scrollX||d.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:d.scrollY||d.pageYOffset)}},d.scrollBy=function(){if(arguments[0]!==void 0){if(E(arguments[0])){m.scrollBy.call(d,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}R.call(d,p.body,~~arguments[0].left+(d.scrollX||d.pageXOffset),~~arguments[0].top+(d.scrollY||d.pageYOffset))}},h.prototype.scroll=h.prototype.scrollTo=function(){if(arguments[0]===void 0)return;if(E(arguments[0])===!0){if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");m.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}const C=arguments[0].left,$=arguments[0].top;R.call(this,this,typeof C>"u"?this.scrollLeft:~~C,typeof $>"u"?this.scrollTop:~~$)},h.prototype.scrollBy=function(){if(arguments[0]!==void 0){if(E(arguments[0])===!0){m.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})}},h.prototype.scrollIntoView=function(){if(E(arguments[0])===!0){m.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}const C=A(this),$=C.getBoundingClientRect(),N=this.getBoundingClientRect();C!==p.body?(R.call(this,C,C.scrollLeft+N.left-$.left,C.scrollTop+N.top-$.top),d.getComputedStyle(C).position!=="fixed"&&d.scrollBy({left:$.left,top:$.top,behavior:"smooth"})):d.scrollBy({left:N.left,top:N.top,behavior:"smooth"})}}class Timer{constructor(p=[],h){this.timeOffset=0,this.raf=null,this.actions=p,this.speed=h.speed,this.liveMode=h.liveMode}addAction(p){if(!this.actions.length||this.actions[this.actions.length-1].delay<=p.delay){this.actions.push(p);return}const h=this.findActionIndex(p);this.actions.splice(h,0,p)}start(){this.timeOffset=0;let p=performance.now();const h=()=>{const g=performance.now();for(this.timeOffset+=(g-p)*this.speed,p=g;this.actions.length;){const m=this.actions[0];if(this.timeOffset>=m.delay)this.actions.shift(),m.doAction();else break}(this.actions.length>0||this.liveMode)&&(this.raf=requestAnimationFrame(h))};this.raf=requestAnimationFrame(h)}clear(){this.raf&&(cancelAnimationFrame(this.raf),this.raf=null),this.actions.length=0}setSpeed(p){this.speed=p}toggleLiveMode(p){this.liveMode=p}isActive(){return this.raf!==null}findActionIndex(p){let h=0,g=this.actions.length-1;for(;h<=g;){const m=Math.floor((h+g)/2);if(this.actions[m].delay<p.delay)h=m+1;else if(this.actions[m].delay>p.delay)g=m-1;else return m+1}return h}}function addDelay(d,p){if(d.type===EventType.IncrementalSnapshot&&d.data.source===IncrementalSource.MouseMove&&d.data.positions&&d.data.positions.length){const h=d.data.positions[0].timeOffset,g=d.timestamp+h;return d.delay=g-p,g-p}return d.delay=d.timestamp-p,d.delay}/*! *****************************************************************************
63
+ `,10)+1,_=g.substring(m)+"",b=new Blob([_],{type:"application/javascript"});return URL.createObjectURL(b)}function createBase64WorkerFactory$1(d,p,h){var g;return function(_){return g=g||createURL(d),new Worker(g,_)}}var kIsNodeJS=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]";function isNodeJS(){return kIsNodeJS}function createBase64WorkerFactory(d,p,h){return isNodeJS()?createBase64WorkerFactory$2(d):createBase64WorkerFactory$1(d)}var WorkerFactory=createBase64WorkerFactory("Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikgew0KICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH0NCiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7DQogICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfQ0KICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpOw0KICAgICAgICB9KTsNCiAgICB9CgogICAgLyoKICAgICAqIGJhc2U2NC1hcnJheWJ1ZmZlciAxLjAuMSA8aHR0cHM6Ly9naXRodWIuY29tL25pa2xhc3ZoL2Jhc2U2NC1hcnJheWJ1ZmZlcj4KICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBOaWtsYXMgdm9uIEhlcnR6ZW4gPGh0dHBzOi8vaGVydHplbi5jb20+CiAgICAgKiBSZWxlYXNlZCB1bmRlciBNSVQgTGljZW5zZQogICAgICovCiAgICB2YXIgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7CiAgICAvLyBVc2UgYSBsb29rdXAgdGFibGUgdG8gZmluZCB0aGUgaW5kZXguCiAgICB2YXIgbG9va3VwID0gdHlwZW9mIFVpbnQ4QXJyYXkgPT09ICd1bmRlZmluZWQnID8gW10gOiBuZXcgVWludDhBcnJheSgyNTYpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykgewogICAgICAgIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7CiAgICB9CiAgICB2YXIgZW5jb2RlID0gZnVuY3Rpb24gKGFycmF5YnVmZmVyKSB7CiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpLCBpLCBsZW4gPSBieXRlcy5sZW5ndGgsIGJhc2U2NCA9ICcnOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gMykgewogICAgICAgICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaV0gPj4gMl07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2ldICYgMykgPDwgNCkgfCAoYnl0ZXNbaSArIDFdID4+IDQpXTsKICAgICAgICAgICAgYmFzZTY0ICs9IGNoYXJzWygoYnl0ZXNbaSArIDFdICYgMTUpIDw8IDIpIHwgKGJ5dGVzW2kgKyAyXSA+PiA2KV07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tpICsgMl0gJiA2M107CiAgICAgICAgfQogICAgICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgJz0nOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgJz09JzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGJhc2U2NDsKICAgIH07CgogICAgY29uc3QgbGFzdEJsb2JNYXAgPSBuZXcgTWFwKCk7DQogICAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gbmV3IE1hcCgpOw0KICAgIGZ1bmN0aW9uIGdldFRyYW5zcGFyZW50QmxvYkZvcih3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucykgew0KICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkgew0KICAgICAgICAgICAgY29uc3QgaWQgPSBgJHt3aWR0aH0tJHtoZWlnaHR9YDsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgaWYgKHRyYW5zcGFyZW50QmxvYk1hcC5oYXMoaWQpKQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNwYXJlbnRCbG9iTWFwLmdldChpZCk7DQogICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsNCiAgICAgICAgICAgICAgICBvZmZzY3JlZW4uZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0geWllbGQgYmxvYi5hcnJheUJ1ZmZlcigpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7DQogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gYmFzZTY0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQogICAgY29uc3Qgd29ya2VyID0gc2VsZjsNCiAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgY29uc3QgeyBpZCwgYml0bWFwLCB3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucyB9ID0gZS5kYXRhOw0KICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zKTsNCiAgICAgICAgICAgICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGN0eCA9IG9mZnNjcmVlbi5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsNCiAgICAgICAgICAgICAgICBiaXRtYXAuY2xvc2UoKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBibG9iLnR5cGU7DQogICAgICAgICAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSB5aWVsZCBibG9iLmFycmF5QnVmZmVyKCk7DQogICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gZW5jb2RlKGFycmF5QnVmZmVyKTsNCiAgICAgICAgICAgICAgICBpZiAoIWxhc3RCbG9iTWFwLmhhcyhpZCkgJiYgKHlpZWxkIHRyYW5zcGFyZW50QmFzZTY0KSA9PT0gYmFzZTY0KSB7DQogICAgICAgICAgICAgICAgICAgIGxhc3RCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlci5wb3N0TWVzc2FnZSh7IGlkIH0pOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7DQogICAgICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgaWQsDQogICAgICAgICAgICAgICAgICAgIHR5cGUsDQogICAgICAgICAgICAgICAgICAgIGJhc2U2NCwNCiAgICAgICAgICAgICAgICAgICAgd2lkdGgsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodCwNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfTsKCn0pKCk7Cgo=");class CanvasManager{constructor(p){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=!1,this.locked=!1,this.processMutation=(w,x)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(w)||this.pendingCanvasMutations.set(w,[]),this.pendingCanvasMutations.get(w).push(x)};const{sampling:h="all",win:g,blockClass:m,blockSelector:_,recordCanvas:b,dataURLOptions:y}=p;this.mutationCb=p.mutationCb,this.mirror=p.mirror,b&&h==="all"&&this.initCanvasMutationObserver(g,m,_),b&&typeof h=="number"&&this.initCanvasFPSObserver(h,g,m,_,{dataURLOptions:y})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(p,h,g,m,_){const b=initCanvasContextObserver(h,g,m),y=new Map,w=new WorkerFactory;w.onmessage=A=>{const{id:M}=A.data;if(y.set(M,!1),!("base64"in A.data))return;const{base64:R,type:C,width:$,height:N}=A.data;this.mutationCb({id:M,type:CanvasContext["2D"],commands:[{property:"clearRect",args:[0,0,$,N]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:R}],type:C}]},0,0]}]})};const x=1e3/p;let E=0,S;const k=()=>{const A=[];return h.document.querySelectorAll("canvas").forEach(M=>{isBlocked(M,g,m,!0)||A.push(M)}),A},I=A=>{if(E&&A-E<x){S=requestAnimationFrame(I);return}E=A,k().forEach(M=>__awaiter(this,void 0,void 0,function*(){var R;const C=this.mirror.getId(M);if(y.get(C))return;if(y.set(C,!0),["webgl","webgl2"].includes(M.__context)){const N=M.getContext(M.__context);((R=N==null?void 0:N.getContextAttributes())===null||R===void 0?void 0:R.preserveDrawingBuffer)===!1&&(N==null||N.clear(N.COLOR_BUFFER_BIT))}const $=yield createImageBitmap(M);w.postMessage({id:C,bitmap:$,width:M.width,height:M.height,dataURLOptions:_.dataURLOptions},[$])})),S=requestAnimationFrame(I)};S=requestAnimationFrame(I),this.resetObservers=()=>{b(),cancelAnimationFrame(S)}}initCanvasMutationObserver(p,h,g){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const m=initCanvasContextObserver(p,h,g),_=initCanvas2DMutationObserver(this.processMutation.bind(this),p,h,g),b=initCanvasWebGLMutationObserver(this.processMutation.bind(this),p,h,g,this.mirror);this.resetObservers=()=>{m(),_(),b()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const p=h=>{this.rafStamps.latestId=h,requestAnimationFrame(p)};requestAnimationFrame(p)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((p,h)=>{const g=this.mirror.getId(h);this.flushPendingCanvasMutationFor(h,g)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(p,h){if(this.frozen||this.locked)return;const g=this.pendingCanvasMutations.get(p);if(!g||h===-1)return;const m=g.map(b=>__rest(b,["type"])),{type:_}=g[0];this.mutationCb({id:h,type:_,commands:m}),this.pendingCanvasMutations.delete(p)}}class StylesheetManager{constructor(p){this.trackedLinkElements=new WeakSet,this.styleMirror=new StyleSheetMirror,this.mutationCb=p.mutationCb,this.adoptedStyleSheetCb=p.adoptedStyleSheetCb}attachLinkElement(p,h){"_cssText"in h.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:h.id,attributes:h.attributes}]}),this.trackLinkElement(p)}trackLinkElement(p){this.trackedLinkElements.has(p)||(this.trackedLinkElements.add(p),this.trackStylesheetInLinkElement(p))}adoptStyleSheets(p,h){if(p.length===0)return;const g={id:h,styleIds:[]},m=[];for(const _ of p){let b;if(this.styleMirror.has(_))b=this.styleMirror.getId(_);else{b=this.styleMirror.add(_);const y=Array.from(_.rules||CSSRule);m.push({styleId:b,rules:y.map((w,x)=>({rule:getCssRuleString(w),index:x}))})}g.styleIds.push(b)}m.length>0&&(g.styles=m),this.adoptedStyleSheetCb(g)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(p){}}function wrapEvent(d){return Object.assign(Object.assign({},d),{timestamp:Date.now()})}let wrappedEmit,takeFullSnapshot,canvasManager,recording=!1;const mirror=createMirror$2();function record$1(d={}){const{emit:p,checkoutEveryNms:h,checkoutEveryNth:g,blockClass:m="rr-block",blockSelector:_=null,ignoreClass:b="rr-ignore",maskTextClass:y="rr-mask",maskTextSelector:w=null,inlineStylesheet:x=!0,maskAllInputs:E,maskInputOptions:S,slimDOMOptions:k,maskInputFn:I,maskTextFn:A,hooks:M,packFn:R,sampling:C={},dataURLOptions:$={},mousemoveWait:N,recordCanvas:O=!1,recordCrossOriginIframes:P=!1,userTriggeredOnInput:W=!1,collectFonts:V=!1,inlineImages:q=!1,plugins:he,keepIframeSrcFn:ne=()=>!1,ignoreCSSAttributes:ie=new Set([])}=d,se=P?window.parent===window:!0;let Ee=!1;if(!se)try{window.parent.document,Ee=!1}catch{Ee=!0}if(se&&!p)throw new Error("emit function is required");N!==void 0&&C.mousemove===void 0&&(C.mousemove=N),mirror.reset();const ae=E===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:S!==void 0?S:{password:!0},Ie=k===!0||k==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:k==="all",headMetaDescKeywords:k==="all"}:k||{};polyfill$1();let Se,ge=0;const xe=B=>{for(const Q of he||[])Q.eventProcessor&&(B=Q.eventProcessor(B));return R&&(B=R(B)),B};wrappedEmit=(B,Q)=>{var ue;if(!((ue=mutationBuffers[0])===null||ue===void 0)&&ue.isFrozen()&&B.type!==EventType.FullSnapshot&&!(B.type===EventType.IncrementalSnapshot&&B.data.source===IncrementalSource.Mutation)&&mutationBuffers.forEach(re=>re.unfreeze()),se)p==null||p(xe(B),Q);else if(Ee){const re={type:"rrweb",event:xe(B),isCheckout:Q};window.parent.postMessage(re,"*")}if(B.type===EventType.FullSnapshot)Se=B,ge=0;else if(B.type===EventType.IncrementalSnapshot){if(B.data.source===IncrementalSource.Mutation&&B.data.isAttachIframe)return;ge++;const re=g&&ge>=g,ve=h&&B.timestamp-Se.timestamp>h;(re||ve)&&takeFullSnapshot(!0)}};const T=B=>{wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Mutation},B)}))},z=B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Scroll},B)})),D=B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.CanvasMutation},B)})),Z=B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.AdoptedStyleSheet},B)})),G=new StylesheetManager({mutationCb:T,adoptedStyleSheetCb:Z}),oe=new IframeManager({mirror,mutationCb:T,stylesheetManager:G,recordCrossOriginIframes:P,wrappedEmit});for(const B of he||[])B.getMirror&&B.getMirror({nodeMirror:mirror,crossOriginIframeMirror:oe.crossOriginIframeMirror,crossOriginIframeStyleMirror:oe.crossOriginIframeStyleMirror});canvasManager=new CanvasManager({recordCanvas:O,mutationCb:D,win:window,blockClass:m,blockSelector:_,mirror,sampling:C.canvas,dataURLOptions:$});const _e=new ShadowDomManager({mutationCb:T,scrollCb:z,bypassOptions:{blockClass:m,blockSelector:_,maskTextClass:y,maskTextSelector:w,inlineStylesheet:x,maskInputOptions:ae,dataURLOptions:$,maskTextFn:A,maskInputFn:I,recordCanvas:O,inlineImages:q,sampling:C,slimDOMOptions:Ie,iframeManager:oe,stylesheetManager:G,canvasManager,keepIframeSrcFn:ne},mirror});takeFullSnapshot=(B=!1)=>{var Q,ue,re,ve,U,X;wrappedEmit(wrapEvent({type:EventType.Meta,data:{href:window.location.href,width:getWindowWidth(),height:getWindowHeight()}}),B),G.reset(),mutationBuffers.forEach(le=>le.lock());const fe=snapshot(document,{mirror,blockClass:m,blockSelector:_,maskTextClass:y,maskTextSelector:w,inlineStylesheet:x,maskAllInputs:ae,maskTextFn:A,slimDOM:Ie,dataURLOptions:$,recordCanvas:O,inlineImages:q,onSerialize:le=>{isSerializedIframe(le,mirror)&&oe.addIframe(le),isSerializedStylesheet(le,mirror)&&G.trackLinkElement(le),hasShadowRoot(le)&&_e.addShadowRoot(le.shadowRoot,document)},onIframeLoad:(le,we)=>{oe.attachIframe(le,we),_e.observeAttachShadow(le)},onStylesheetLoad:(le,we)=>{G.attachLinkElement(le,we)},keepIframeSrcFn:ne});if(!fe)return console.warn("Failed to snapshot the document");wrappedEmit(wrapEvent({type:EventType.FullSnapshot,data:{node:fe,initialOffset:{left:window.pageXOffset!==void 0?window.pageXOffset:(document==null?void 0:document.documentElement.scrollLeft)||((ue=(Q=document==null?void 0:document.body)===null||Q===void 0?void 0:Q.parentElement)===null||ue===void 0?void 0:ue.scrollLeft)||((re=document==null?void 0:document.body)===null||re===void 0?void 0:re.scrollLeft)||0,top:window.pageYOffset!==void 0?window.pageYOffset:(document==null?void 0:document.documentElement.scrollTop)||((U=(ve=document==null?void 0:document.body)===null||ve===void 0?void 0:ve.parentElement)===null||U===void 0?void 0:U.scrollTop)||((X=document==null?void 0:document.body)===null||X===void 0?void 0:X.scrollTop)||0}}})),mutationBuffers.forEach(le=>le.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&G.adoptStyleSheets(document.adoptedStyleSheets,mirror.getId(document))};try{const B=[];B.push(on("DOMContentLoaded",()=>{wrappedEmit(wrapEvent({type:EventType.DomContentLoaded,data:{}}))}));const Q=re=>{var ve;return initObservers({mutationCb:T,mousemoveCb:(U,X)=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:{source:X,positions:U}})),mouseInteractionCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.MouseInteraction},U)})),scrollCb:z,viewportResizeCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.ViewportResize},U)})),inputCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Input},U)})),mediaInteractionCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.MediaInteraction},U)})),styleSheetRuleCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.StyleSheetRule},U)})),styleDeclarationCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.StyleDeclaration},U)})),canvasMutationCb:D,fontCb:U=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Font},U)})),selectionCb:U=>{wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Selection},U)}))},blockClass:m,ignoreClass:b,maskTextClass:y,maskTextSelector:w,maskInputOptions:ae,inlineStylesheet:x,sampling:C,recordCanvas:O,inlineImages:q,userTriggeredOnInput:W,collectFonts:V,doc:re,maskInputFn:I,maskTextFn:A,keepIframeSrcFn:ne,blockSelector:_,slimDOMOptions:Ie,dataURLOptions:$,mirror,iframeManager:oe,stylesheetManager:G,shadowDomManager:_e,canvasManager,ignoreCSSAttributes:ie,plugins:((ve=he==null?void 0:he.filter(U=>U.observer))===null||ve===void 0?void 0:ve.map(U=>({observer:U.observer,options:U.options,callback:X=>wrappedEmit(wrapEvent({type:EventType.Plugin,data:{plugin:U.name,payload:X}}))})))||[]},M)};oe.addLoadListener(re=>{B.push(Q(re.contentDocument))});const ue=()=>{takeFullSnapshot(),B.push(Q(document)),recording=!0};return document.readyState==="interactive"||document.readyState==="complete"?ue():B.push(on("load",()=>{wrappedEmit(wrapEvent({type:EventType.Load,data:{}})),ue()},window)),()=>{B.forEach(re=>re()),recording=!1}}catch(B){console.warn(B)}}record$1.addCustomEvent=(d,p)=>{if(!recording)throw new Error("please add custom event after start recording");wrappedEmit(wrapEvent({type:EventType.Custom,data:{tag:d,payload:p}}))},record$1.freezePage=()=>{mutationBuffers.forEach(d=>d.freeze())},record$1.takeFullSnapshot=d=>{if(!recording)throw new Error("please take full snapshot after start recording");takeFullSnapshot(d)},record$1.mirror=mirror;var NodeType$1;(function(d){d[d.Document=0]="Document",d[d.DocumentType=1]="DocumentType",d[d.Element=2]="Element",d[d.Text=3]="Text",d[d.CDATA=4]="CDATA",d[d.Comment=5]="Comment"})(NodeType$1||(NodeType$1={}));var Mirror$1=(function(){function d(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}return d.prototype.getId=function(p){var h;if(!p)return-1;var g=(h=this.getMeta(p))===null||h===void 0?void 0:h.id;return g??-1},d.prototype.getNode=function(p){return this.idNodeMap.get(p)||null},d.prototype.getIds=function(){return Array.from(this.idNodeMap.keys())},d.prototype.getMeta=function(p){return this.nodeMetaMap.get(p)||null},d.prototype.removeNodeFromMap=function(p){var h=this,g=this.getId(p);this.idNodeMap.delete(g),p.childNodes&&p.childNodes.forEach(function(m){return h.removeNodeFromMap(m)})},d.prototype.has=function(p){return this.idNodeMap.has(p)},d.prototype.hasNode=function(p){return this.nodeMetaMap.has(p)},d.prototype.add=function(p,h){var g=h.id;this.idNodeMap.set(g,p),this.nodeMetaMap.set(p,h)},d.prototype.replace=function(p,h){var g=this.getNode(p);if(g){var m=this.nodeMetaMap.get(g);m&&this.nodeMetaMap.set(h,m)}this.idNodeMap.set(p,h)},d.prototype.reset=function(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap},d})();function createMirror$1(){return new Mirror$1}function parseCSSText(d){const p={},h=/;(?![^(]*\))/g,g=/:(.+)/,m=/\/\*.*?\*\//g;return d.replace(m,"").split(h).forEach(function(_){if(_){const b=_.split(g);b.length>1&&(p[camelize(b[0].trim())]=b[1].trim())}}),p}function toCSSText(d){const p=[];for(const h in d){const g=d[h];if(typeof g!="string")continue;const m=hyphenate(h);p.push(`${m}: ${g};`)}return p.join(" ")}const camelizeRE=/-([a-z])/g,CUSTOM_PROPERTY_REGEX=/^--[a-zA-Z0-9-]+$/,camelize=d=>CUSTOM_PROPERTY_REGEX.test(d)?d:d.replace(camelizeRE,(p,h)=>h?h.toUpperCase():""),hyphenateRE=/\B([A-Z])/g,hyphenate=d=>d.replace(hyphenateRE,"-$1").toLowerCase();class BaseRRNode{constructor(...p){this.childNodes=[],this.parentElement=null,this.parentNode=null,this.ELEMENT_NODE=NodeType.ELEMENT_NODE,this.TEXT_NODE=NodeType.TEXT_NODE}get firstChild(){return this.childNodes[0]||null}get lastChild(){return this.childNodes[this.childNodes.length-1]||null}get nextSibling(){const p=this.parentNode;if(!p)return null;const h=p.childNodes,g=h.indexOf(this);return h[g+1]||null}contains(p){if(p===this)return!0;for(const h of this.childNodes)if(h.contains(p))return!0;return!1}appendChild(p){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(p,h){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(p){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}}function BaseRRDocumentImpl(d){return class Xr extends d{constructor(){super(...arguments),this.nodeType=NodeType.DOCUMENT_NODE,this.nodeName="#document",this.compatMode="CSS1Compat",this.RRNodeType=NodeType$1.Document,this.textContent=null}get documentElement(){return this.childNodes.find(h=>h.RRNodeType===NodeType$1.Element&&h.tagName==="HTML")||null}get body(){var h;return((h=this.documentElement)===null||h===void 0?void 0:h.childNodes.find(g=>g.RRNodeType===NodeType$1.Element&&g.tagName==="BODY"))||null}get head(){var h;return((h=this.documentElement)===null||h===void 0?void 0:h.childNodes.find(g=>g.RRNodeType===NodeType$1.Element&&g.tagName==="HEAD"))||null}get implementation(){return this}get firstElementChild(){return this.documentElement}appendChild(h){const g=h.RRNodeType;if((g===NodeType$1.Element||g===NodeType$1.DocumentType)&&this.childNodes.some(m=>m.RRNodeType===g))throw new Error(`RRDomException: Failed to execute 'appendChild' on 'RRNode': Only one ${g===NodeType$1.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);return h.parentElement=null,h.parentNode=this,this.childNodes.push(h),h}insertBefore(h,g){const m=h.RRNodeType;if((m===NodeType$1.Element||m===NodeType$1.DocumentType)&&this.childNodes.some(b=>b.RRNodeType===m))throw new Error(`RRDomException: Failed to execute 'insertBefore' on 'RRNode': Only one ${m===NodeType$1.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);if(g===null)return this.appendChild(h);const _=this.childNodes.indexOf(g);if(_==-1)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return this.childNodes.splice(_,0,h),h.parentElement=null,h.parentNode=this,h}removeChild(h){const g=this.childNodes.indexOf(h);if(g===-1)throw new Error("Failed to execute 'removeChild' on 'RRDocument': The RRNode to be removed is not a child of this RRNode.");return this.childNodes.splice(g,1),h.parentElement=null,h.parentNode=null,h}open(){this.childNodes=[]}close(){}write(h){let g;if(h==='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'?g="-//W3C//DTD XHTML 1.0 Transitional//EN":h==='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">'&&(g="-//W3C//DTD HTML 4.0 Transitional//EN"),g){const m=this.createDocumentType("html",g,"");this.open(),this.appendChild(m)}}createDocument(h,g,m){return new Xr}createDocumentType(h,g,m){const _=new(BaseRRDocumentTypeImpl(BaseRRNode))(h,g,m);return _.ownerDocument=this,_}createElement(h){const g=new(BaseRRElementImpl(BaseRRNode))(h);return g.ownerDocument=this,g}createElementNS(h,g){return this.createElement(g)}createTextNode(h){const g=new(BaseRRTextImpl(BaseRRNode))(h);return g.ownerDocument=this,g}createComment(h){const g=new(BaseRRCommentImpl(BaseRRNode))(h);return g.ownerDocument=this,g}createCDATASection(h){const g=new(BaseRRCDATASectionImpl(BaseRRNode))(h);return g.ownerDocument=this,g}toString(){return"RRDocument"}}}function BaseRRDocumentTypeImpl(d){return class extends d{constructor(h,g,m){super(),this.nodeType=NodeType.DOCUMENT_TYPE_NODE,this.RRNodeType=NodeType$1.DocumentType,this.textContent=null,this.name=h,this.publicId=g,this.systemId=m,this.nodeName=h}toString(){return"RRDocumentType"}}}function BaseRRElementImpl(d){return class extends d{constructor(h){super(),this.nodeType=NodeType.ELEMENT_NODE,this.RRNodeType=NodeType$1.Element,this.attributes={},this.shadowRoot=null,this.tagName=h.toUpperCase(),this.nodeName=h.toUpperCase()}get textContent(){let h="";return this.childNodes.forEach(g=>h+=g.textContent),h}set textContent(h){this.childNodes=[this.ownerDocument.createTextNode(h)]}get classList(){return new ClassList(this.attributes.class,h=>{this.attributes.class=h})}get id(){return this.attributes.id||""}get className(){return this.attributes.class||""}get style(){const h=this.attributes.style?parseCSSText(this.attributes.style):{},g=/\B([A-Z])/g;return h.setProperty=(m,_,b)=>{if(g.test(m))return;const y=camelize(m);_?h[y]=_:delete h[y],b==="important"&&(h[y]+=" !important"),this.attributes.style=toCSSText(h)},h.removeProperty=m=>{if(g.test(m))return"";const _=camelize(m),b=h[_]||"";return delete h[_],this.attributes.style=toCSSText(h),b},h}getAttribute(h){return this.attributes[h]||null}setAttribute(h,g){this.attributes[h]=g}setAttributeNS(h,g,m){this.setAttribute(g,m)}removeAttribute(h){delete this.attributes[h]}appendChild(h){return this.childNodes.push(h),h.parentNode=this,h.parentElement=this,h}insertBefore(h,g){if(g===null)return this.appendChild(h);const m=this.childNodes.indexOf(g);if(m==-1)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return this.childNodes.splice(m,0,h),h.parentElement=this,h.parentNode=this,h}removeChild(h){const g=this.childNodes.indexOf(h);if(g===-1)throw new Error("Failed to execute 'removeChild' on 'RRElement': The RRNode to be removed is not a child of this RRNode.");return this.childNodes.splice(g,1),h.parentElement=null,h.parentNode=null,h}attachShadow(h){const g=this.ownerDocument.createElement("SHADOWROOT");return this.shadowRoot=g,g}dispatchEvent(h){return!0}toString(){let h="";for(const g in this.attributes)h+=`${g}="${this.attributes[g]}" `;return`${this.tagName} ${h}`}}}function BaseRRMediaElementImpl(d){return class extends d{attachShadow(h){throw new Error("RRDomException: Failed to execute 'attachShadow' on 'RRElement': This RRElement does not support attachShadow")}play(){this.paused=!1}pause(){this.paused=!0}}}function BaseRRTextImpl(d){return class extends d{constructor(h){super(),this.nodeType=NodeType.TEXT_NODE,this.nodeName="#text",this.RRNodeType=NodeType$1.Text,this.data=h}get textContent(){return this.data}set textContent(h){this.data=h}toString(){return`RRText text=${JSON.stringify(this.data)}`}}}function BaseRRCommentImpl(d){return class extends d{constructor(h){super(),this.nodeType=NodeType.COMMENT_NODE,this.nodeName="#comment",this.RRNodeType=NodeType$1.Comment,this.data=h}get textContent(){return this.data}set textContent(h){this.data=h}toString(){return`RRComment text=${JSON.stringify(this.data)}`}}}function BaseRRCDATASectionImpl(d){return class extends d{constructor(h){super(),this.nodeName="#cdata-section",this.nodeType=NodeType.CDATA_SECTION_NODE,this.RRNodeType=NodeType$1.CDATA,this.data=h}get textContent(){return this.data}set textContent(h){this.data=h}toString(){return`RRCDATASection data=${JSON.stringify(this.data)}`}}}class ClassList{constructor(p,h){if(this.classes=[],this.add=(...g)=>{for(const m of g){const _=String(m);this.classes.indexOf(_)>=0||this.classes.push(_)}this.onChange&&this.onChange(this.classes.join(" "))},this.remove=(...g)=>{this.classes=this.classes.filter(m=>g.indexOf(m)===-1),this.onChange&&this.onChange(this.classes.join(" "))},p){const g=p.trim().split(/\s+/);this.classes.push(...g)}this.onChange=h}}var NodeType;(function(d){d[d.PLACEHOLDER=0]="PLACEHOLDER",d[d.ELEMENT_NODE=1]="ELEMENT_NODE",d[d.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",d[d.TEXT_NODE=3]="TEXT_NODE",d[d.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",d[d.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",d[d.ENTITY_NODE=6]="ENTITY_NODE",d[d.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",d[d.COMMENT_NODE=8]="COMMENT_NODE",d[d.DOCUMENT_NODE=9]="DOCUMENT_NODE",d[d.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",d[d.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE"})(NodeType||(NodeType={}));const NAMESPACES={svg:"http://www.w3.org/2000/svg","xlink:href":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/"},SVGTagMap={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function diff(d,p,h,g){const m=d.childNodes,_=p.childNodes;g=g||p.mirror||p.ownerDocument.mirror,(m.length>0||_.length>0)&&diffChildren(Array.from(m),_,d,h,g);let b=null,y=null;switch(p.RRNodeType){case NodeType$1.Document:{y=p.scrollData;break}case NodeType$1.Element:{const w=d,x=p;switch(diffProps(w,x,g),y=x.scrollData,b=x.inputData,x.tagName){case"AUDIO":case"VIDEO":{const E=d,S=x;S.paused!==void 0&&(S.paused?E.pause():E.play()),S.muted!==void 0&&(E.muted=S.muted),S.volume!==void 0&&(E.volume=S.volume),S.currentTime!==void 0&&(E.currentTime=S.currentTime),S.playbackRate!==void 0&&(E.playbackRate=S.playbackRate);break}case"CANVAS":{const E=p;if(E.rr_dataURL!==null){const S=document.createElement("img");S.onload=()=>{const k=w.getContext("2d");k&&k.drawImage(S,0,0,S.width,S.height)},S.src=E.rr_dataURL}E.canvasMutations.forEach(S=>h.applyCanvas(S.event,S.mutation,d))}break;case"STYLE":{const E=w.sheet;E&&p.rules.forEach(S=>h.applyStyleSheetMutation(S,E))}break}if(x.shadowRoot){w.shadowRoot||w.attachShadow({mode:"open"});const E=w.shadowRoot.childNodes,S=x.shadowRoot.childNodes;(E.length>0||S.length>0)&&diffChildren(Array.from(E),S,w.shadowRoot,h,g)}break}case NodeType$1.Text:case NodeType$1.Comment:case NodeType$1.CDATA:d.textContent!==p.data&&(d.textContent=p.data);break}if(y&&h.applyScroll(y,!0),b&&h.applyInput(b),p.nodeName==="IFRAME"){const w=d.contentDocument,x=p;if(w){const E=g.getMeta(x.contentDocument);E&&h.mirror.add(w,Object.assign({},E)),diff(w,x.contentDocument,h,g)}}}function diffProps(d,p,h){const g=d.attributes,m=p.attributes;for(const _ in m){const b=m[_],y=h.getMeta(p);if(y&&"isSVG"in y&&y.isSVG&&NAMESPACES[_])d.setAttributeNS(NAMESPACES[_],_,b);else if(p.tagName==="CANVAS"&&_==="rr_dataURL"){const w=document.createElement("img");w.src=b,w.onload=()=>{const x=d.getContext("2d");x&&x.drawImage(w,0,0,w.width,w.height)}}else d.setAttribute(_,b)}for(const{name:_}of Array.from(g))_ in m||d.removeAttribute(_);p.scrollLeft&&(d.scrollLeft=p.scrollLeft),p.scrollTop&&(d.scrollTop=p.scrollTop)}function diffChildren(d,p,h,g,m){var _;let b=0,y=d.length-1,w=0,x=p.length-1,E=d[b],S=d[y],k=p[w],I=p[x],A,M;for(;b<=y&&w<=x;){const R=g.mirror.getId(E),C=g.mirror.getId(S),$=m.getId(k),N=m.getId(I);if(E===void 0)E=d[++b];else if(S===void 0)S=d[--y];else if(R!==-1&&R===$)diff(E,k,g,m),E=d[++b],k=p[++w];else if(C!==-1&&C===N)diff(S,I,g,m),S=d[--y],I=p[--x];else if(R!==-1&&R===N)h.insertBefore(E,S.nextSibling),diff(E,I,g,m),E=d[++b],I=p[--x];else if(C!==-1&&C===$)h.insertBefore(S,E),diff(S,k,g,m),S=d[--y],k=p[++w];else{if(!A){A={};for(let O=b;O<=y;O++){const P=d[O];P&&g.mirror.hasNode(P)&&(A[g.mirror.getId(P)]=O)}}if(M=A[m.getId(k)],M){const O=d[M];h.insertBefore(O,E),diff(O,k,g,m),d[M]=void 0}else{const O=createOrGetNode(k,g.mirror,m);h.nodeName==="#document"&&((_=g.mirror.getMeta(O))===null||_===void 0?void 0:_.type)===NodeType$1.Element&&h.documentElement&&(h.removeChild(h.documentElement),d[b]=void 0,E=void 0),h.insertBefore(O,E||null),diff(O,k,g,m)}k=p[++w]}}if(b>y){const R=p[x+1];let C=null;for(R&&h.childNodes.forEach($=>{g.mirror.getId($)===m.getId(R)&&(C=$)});w<=x;++w){const $=createOrGetNode(p[w],g.mirror,m);h.insertBefore($,C),diff($,p[w],g,m)}}else if(w>x)for(;b<=y;b++){const R=d[b];R&&(h.removeChild(R),g.mirror.removeNodeFromMap(R))}}function createOrGetNode(d,p,h){const g=h.getId(d),m=h.getMeta(d);let _=null;if(g>-1&&(_=p.getNode(g)),_!==null)return _;switch(d.RRNodeType){case NodeType$1.Document:_=new Document;break;case NodeType$1.DocumentType:_=document.implementation.createDocumentType(d.name,d.publicId,d.systemId);break;case NodeType$1.Element:{let b=d.tagName.toLowerCase();b=SVGTagMap[b]||b,m&&"isSVG"in m&&(m!=null&&m.isSVG)?_=document.createElementNS(NAMESPACES.svg,b):_=document.createElement(d.tagName);break}case NodeType$1.Text:_=document.createTextNode(d.data);break;case NodeType$1.Comment:_=document.createComment(d.data);break;case NodeType$1.CDATA:_=document.createCDATASection(d.data);break}return m&&p.add(_,Object.assign({},m)),_}class RRDocument extends BaseRRDocumentImpl(BaseRRNode){constructor(p){super(),this.UNSERIALIZED_STARTING_ID=-2,this._unserializedId=this.UNSERIALIZED_STARTING_ID,this.mirror=createMirror(),this.scrollData=null,p&&(this.mirror=p)}get unserializedId(){return this._unserializedId--}createDocument(p,h,g){return new RRDocument}createDocumentType(p,h,g){const m=new RRDocumentType(p,h,g);return m.ownerDocument=this,m}createElement(p){const h=p.toUpperCase();let g;switch(h){case"AUDIO":case"VIDEO":g=new RRMediaElement(h);break;case"IFRAME":g=new RRIFrameElement(h,this.mirror);break;case"CANVAS":g=new RRCanvasElement(h);break;case"STYLE":g=new RRStyleElement(h);break;default:g=new RRElement(h);break}return g.ownerDocument=this,g}createComment(p){const h=new RRComment(p);return h.ownerDocument=this,h}createCDATASection(p){const h=new RRCDATASection(p);return h.ownerDocument=this,h}createTextNode(p){const h=new RRText(p);return h.ownerDocument=this,h}destroyTree(){this.childNodes=[],this.mirror.reset()}open(){super.open(),this._unserializedId=this.UNSERIALIZED_STARTING_ID}}const RRDocumentType=BaseRRDocumentTypeImpl(BaseRRNode);class RRElement extends BaseRRElementImpl(BaseRRNode){constructor(){super(...arguments),this.inputData=null,this.scrollData=null}}class RRMediaElement extends BaseRRMediaElementImpl(RRElement){}class RRCanvasElement extends RRElement{constructor(){super(...arguments),this.rr_dataURL=null,this.canvasMutations=[]}getContext(){return null}}class RRStyleElement extends RRElement{constructor(){super(...arguments),this.rules=[]}}class RRIFrameElement extends RRElement{constructor(p,h){super(p),this.contentDocument=new RRDocument,this.contentDocument.mirror=h}}const RRText=BaseRRTextImpl(BaseRRNode),RRComment=BaseRRCommentImpl(BaseRRNode),RRCDATASection=BaseRRCDATASectionImpl(BaseRRNode);function getValidTagName(d){return d instanceof HTMLFormElement?"FORM":d.tagName.toUpperCase()}function buildFromNode(d,p,h,g){let m;switch(d.nodeType){case NodeType.DOCUMENT_NODE:g&&g.nodeName==="IFRAME"?m=g.contentDocument:(m=p,m.compatMode=d.compatMode);break;case NodeType.DOCUMENT_TYPE_NODE:{const b=d;m=p.createDocumentType(b.name,b.publicId,b.systemId);break}case NodeType.ELEMENT_NODE:{const b=d,y=getValidTagName(b);m=p.createElement(y);const w=m;for(const{name:x,value:E}of Array.from(b.attributes))w.attributes[x]=E;b.scrollLeft&&(w.scrollLeft=b.scrollLeft),b.scrollTop&&(w.scrollTop=b.scrollTop);break}case NodeType.TEXT_NODE:m=p.createTextNode(d.textContent||"");break;case NodeType.CDATA_SECTION_NODE:m=p.createCDATASection(d.data);break;case NodeType.COMMENT_NODE:m=p.createComment(d.textContent||"");break;case NodeType.DOCUMENT_FRAGMENT_NODE:m=g.attachShadow({mode:"open"});break;default:return null}let _=h.getMeta(d);return p instanceof RRDocument&&(_||(_=getDefaultSN(m,p.unserializedId),h.add(d,_)),p.mirror.add(m,Object.assign({},_))),m}function buildFromDom(d,p=createMirror$1(),h=new RRDocument){function g(m,_){const b=buildFromNode(m,h,p,_);if(b!==null)if((_==null?void 0:_.nodeName)!=="IFRAME"&&m.nodeType!==NodeType.DOCUMENT_FRAGMENT_NODE&&(_==null||_.appendChild(b),b.parentNode=_,b.parentElement=_),m.nodeName==="IFRAME"){const y=m.contentDocument;y&&g(y,b)}else(m.nodeType===NodeType.DOCUMENT_NODE||m.nodeType===NodeType.ELEMENT_NODE||m.nodeType===NodeType.DOCUMENT_FRAGMENT_NODE)&&(m.nodeType===NodeType.ELEMENT_NODE&&m.shadowRoot&&g(m.shadowRoot,b),m.childNodes.forEach(y=>g(y,b)))}return g(d,null),h}function createMirror(){return new Mirror}class Mirror{constructor(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}getId(p){var h;if(!p)return-1;const g=(h=this.getMeta(p))===null||h===void 0?void 0:h.id;return g??-1}getNode(p){return this.idNodeMap.get(p)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(p){return this.nodeMetaMap.get(p)||null}removeNodeFromMap(p){const h=this.getId(p);this.idNodeMap.delete(h),p.childNodes&&p.childNodes.forEach(g=>this.removeNodeFromMap(g))}has(p){return this.idNodeMap.has(p)}hasNode(p){return this.nodeMetaMap.has(p)}add(p,h){const g=h.id;this.idNodeMap.set(g,p),this.nodeMetaMap.set(p,h)}replace(p,h){const g=this.getNode(p);if(g){const m=this.nodeMetaMap.get(g);m&&this.nodeMetaMap.set(h,m)}this.idNodeMap.set(p,h)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function getDefaultSN(d,p){switch(d.RRNodeType){case NodeType$1.Document:return{id:p,type:d.RRNodeType,childNodes:[]};case NodeType$1.DocumentType:{const h=d;return{id:p,type:d.RRNodeType,name:h.name,publicId:h.publicId,systemId:h.systemId}}case NodeType$1.Element:return{id:p,type:d.RRNodeType,tagName:d.tagName.toLowerCase(),attributes:{},childNodes:[]};case NodeType$1.Text:return{id:p,type:d.RRNodeType,textContent:d.textContent||""};case NodeType$1.Comment:return{id:p,type:d.RRNodeType,textContent:d.textContent||""};case NodeType$1.CDATA:return{id:p,type:d.RRNodeType,textContent:""}}}function mitt$1(d){return{all:d=d||new Map,on:function(p,h){var g=d.get(p);g?g.push(h):d.set(p,[h])},off:function(p,h){var g=d.get(p);g&&(h?g.splice(g.indexOf(h)>>>0,1):d.set(p,[]))},emit:function(p,h){var g=d.get(p);g&&g.slice().map(function(m){m(h)}),(g=d.get("*"))&&g.slice().map(function(m){m(p,h)})}}}const mitt$1$1=Object.freeze(Object.defineProperty({__proto__:null,default:mitt$1},Symbol.toStringTag,{value:"Module"}));function polyfill(d=window,p=document){if("scrollBehavior"in p.documentElement.style&&d.__forceSmoothScrollPolyfill__!==!0)return;const h=d.HTMLElement||d.Element,g=468,m={scroll:d.scroll||d.scrollTo,scrollBy:d.scrollBy,elementScroll:h.prototype.scroll||w,scrollIntoView:h.prototype.scrollIntoView},_=d.performance&&d.performance.now?d.performance.now.bind(d.performance):Date.now;function b(C){const $=["MSIE ","Trident/","Edge/"];return new RegExp($.join("|")).test(C)}const y=b(d.navigator.userAgent)?1:0;function w(C,$){this.scrollLeft=C,this.scrollTop=$}function x(C){return .5*(1-Math.cos(Math.PI*C))}function E(C){if(C===null||typeof C!="object"||C.behavior===void 0||C.behavior==="auto"||C.behavior==="instant")return!0;if(typeof C=="object"&&C.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+C.behavior+" is not a valid value for enumeration ScrollBehavior.")}function S(C,$){if($==="Y")return C.clientHeight+y<C.scrollHeight;if($==="X")return C.clientWidth+y<C.scrollWidth}function k(C,$){const N=d.getComputedStyle(C,null)["overflow"+$];return N==="auto"||N==="scroll"}function I(C){const $=S(C,"Y")&&k(C,"Y"),N=S(C,"X")&&k(C,"X");return $||N}function A(C){for(;C!==p.body&&I(C)===!1;)C=C.parentNode||C.host;return C}function M(C){const $=_();let N,O,P,W=($-C.startTime)/g;W=W>1?1:W,N=x(W),O=C.startX+(C.x-C.startX)*N,P=C.startY+(C.y-C.startY)*N,C.method.call(C.scrollable,O,P),(O!==C.x||P!==C.y)&&d.requestAnimationFrame(M.bind(d,C))}function R(C,$,N){let O,P,W,V;const q=_();C===p.body?(O=d,P=d.scrollX||d.pageXOffset,W=d.scrollY||d.pageYOffset,V=m.scroll):(O=C,P=C.scrollLeft,W=C.scrollTop,V=w),M({scrollable:O,method:V,startTime:q,startX:P,startY:W,x:$,y:N})}d.scroll=d.scrollTo=function(){if(arguments[0]!==void 0){if(E(arguments[0])===!0){m.scroll.call(d,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:d.scrollX||d.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:d.scrollY||d.pageYOffset);return}R.call(d,p.body,arguments[0].left!==void 0?~~arguments[0].left:d.scrollX||d.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:d.scrollY||d.pageYOffset)}},d.scrollBy=function(){if(arguments[0]!==void 0){if(E(arguments[0])){m.scrollBy.call(d,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}R.call(d,p.body,~~arguments[0].left+(d.scrollX||d.pageXOffset),~~arguments[0].top+(d.scrollY||d.pageYOffset))}},h.prototype.scroll=h.prototype.scrollTo=function(){if(arguments[0]===void 0)return;if(E(arguments[0])===!0){if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");m.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}const C=arguments[0].left,$=arguments[0].top;R.call(this,this,typeof C>"u"?this.scrollLeft:~~C,typeof $>"u"?this.scrollTop:~~$)},h.prototype.scrollBy=function(){if(arguments[0]!==void 0){if(E(arguments[0])===!0){m.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})}},h.prototype.scrollIntoView=function(){if(E(arguments[0])===!0){m.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}const C=A(this),$=C.getBoundingClientRect(),N=this.getBoundingClientRect();C!==p.body?(R.call(this,C,C.scrollLeft+N.left-$.left,C.scrollTop+N.top-$.top),d.getComputedStyle(C).position!=="fixed"&&d.scrollBy({left:$.left,top:$.top,behavior:"smooth"})):d.scrollBy({left:N.left,top:N.top,behavior:"smooth"})}}class Timer{constructor(p=[],h){this.timeOffset=0,this.raf=null,this.actions=p,this.speed=h.speed,this.liveMode=h.liveMode}addAction(p){if(!this.actions.length||this.actions[this.actions.length-1].delay<=p.delay){this.actions.push(p);return}const h=this.findActionIndex(p);this.actions.splice(h,0,p)}start(){this.timeOffset=0;let p=performance.now();const h=()=>{const g=performance.now();for(this.timeOffset+=(g-p)*this.speed,p=g;this.actions.length;){const m=this.actions[0];if(this.timeOffset>=m.delay)this.actions.shift(),m.doAction();else break}(this.actions.length>0||this.liveMode)&&(this.raf=requestAnimationFrame(h))};this.raf=requestAnimationFrame(h)}clear(){this.raf&&(cancelAnimationFrame(this.raf),this.raf=null),this.actions.length=0}setSpeed(p){this.speed=p}toggleLiveMode(p){this.liveMode=p}isActive(){return this.raf!==null}findActionIndex(p){let h=0,g=this.actions.length-1;for(;h<=g;){const m=Math.floor((h+g)/2);if(this.actions[m].delay<p.delay)h=m+1;else if(this.actions[m].delay>p.delay)g=m-1;else return m+1}return h}}function addDelay(d,p){if(d.type===EventType.IncrementalSnapshot&&d.data.source===IncrementalSource.MouseMove&&d.data.positions&&d.data.positions.length){const h=d.data.positions[0].timeOffset,g=d.timestamp+h;return d.delay=g-p,g-p}return d.delay=d.timestamp-p,d.delay}/*! *****************************************************************************
64
64
  Copyright (c) Microsoft Corporation.
65
65
 
66
66
  Permission to use, copy, modify, and/or distribute this software for any
@@ -76,7 +76,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
76
76
  ***************************************************************************** */function t(d,p){var h=typeof Symbol=="function"&&d[Symbol.iterator];if(!h)return d;var g,m,_=h.call(d),b=[];try{for(;(p===void 0||p-- >0)&&!(g=_.next()).done;)b.push(g.value)}catch(y){m={error:y}}finally{try{g&&!g.done&&(h=_.return)&&h.call(_)}finally{if(m)throw m.error}}return b}var n;(function(d){d[d.NotStarted=0]="NotStarted",d[d.Running=1]="Running",d[d.Stopped=2]="Stopped"})(n||(n={}));var e={type:"xstate.init"};function r(d){return d===void 0?[]:[].concat(d)}function o(d){return{type:"xstate.assign",assignment:d}}function i(d,p){return typeof(d=typeof d=="string"&&p&&p[d]?p[d]:d)=="string"?{type:d}:typeof d=="function"?{type:d.name,exec:d}:d}function a(d){return function(p){return d===p}}function u(d){return typeof d=="string"?{type:d}:d}function c(d,p){return{value:d,context:p,actions:[],changed:!1,matches:a(d)}}function f(d,p,h){var g=p,m=!1;return[d.filter((function(_){if(_.type==="xstate.assign"){m=!0;var b=Object.assign({},g);return typeof _.assignment=="function"?b=_.assignment(g,h):Object.keys(_.assignment).forEach((function(y){b[y]=typeof _.assignment[y]=="function"?_.assignment[y](g,h):_.assignment[y]})),g=b,!1}return!0})),g,m]}function s(d,p){p===void 0&&(p={});var h=t(f(r(d.states[d.initial].entry).map((function(b){return i(b,p.actions)})),d.context,e),2),g=h[0],m=h[1],_={config:d,_options:p,initialState:{value:d.initial,actions:g,context:m,matches:a(d.initial)},transition:function(b,y){var w,x,E=typeof b=="string"?{value:b,context:d.context}:b,S=E.value,k=E.context,I=u(y),A=d.states[S];if(A.on){var M=r(A.on[I.type]);try{for(var R=(function(ge){var xe=typeof Symbol=="function"&&Symbol.iterator,T=xe&&ge[xe],z=0;if(T)return T.call(ge);if(ge&&typeof ge.length=="number")return{next:function(){return ge&&z>=ge.length&&(ge=void 0),{value:ge&&ge[z++],done:!ge}}};throw new TypeError(xe?"Object is not iterable.":"Symbol.iterator is not defined.")})(M),C=R.next();!C.done;C=R.next()){var $=C.value;if($===void 0)return c(S,k);var N=typeof $=="string"?{target:$}:$,O=N.target,P=N.actions,W=P===void 0?[]:P,V=N.cond,q=V===void 0?function(){return!0}:V,he=O===void 0,ne=O??S,ie=d.states[ne];if(q(k,I)){var se=t(f((he?r(W):[].concat(A.exit,W,ie.entry).filter((function(ge){return ge}))).map((function(ge){return i(ge,_._options.actions)})),k,I),3),Ee=se[0],ae=se[1],Ie=se[2],Se=O??S;return{value:Se,context:ae,actions:Ee,changed:O!==S||Ee.length>0||Ie,matches:a(Se)}}}}catch(ge){w={error:ge}}finally{try{C&&!C.done&&(x=R.return)&&x.call(R)}finally{if(w)throw w.error}}}return c(S,k)}};return _}var l=function(d,p){return d.actions.forEach((function(h){var g=h.exec;return g&&g(d.context,p)}))};function v(d){var p=d.initialState,h=n.NotStarted,g=new Set,m={_machine:d,send:function(_){h===n.Running&&(p=d.transition(p,_),l(p,u(_)),g.forEach((function(b){return b(p)})))},subscribe:function(_){return g.add(_),_(p),{unsubscribe:function(){return g.delete(_)}}},start:function(_){if(_){var b=typeof _=="object"?_:{context:d.config.context,value:_};p={value:b.value,actions:[],context:b.context,matches:a(b.value)}}return h=n.Running,l(p,e),m},stop:function(){return h=n.Stopped,g.clear(),m},get state(){return p},get status(){return h}};return m}function discardPriorSnapshots(d,p){for(let h=d.length-1;h>=0;h--){const g=d[h];if(g.type===EventType.Meta&&g.timestamp<=p)return d.slice(h)}return d}function createPlayerService(d,{getCastFn:p,applyEventsSynchronously:h,emitter:g}){const m=s({id:"player",context:d,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:o({lastPlayedEvent:(_,b)=>b.type==="CAST_EVENT"?b.payload.event:_.lastPlayedEvent}),recordTimeOffset:o((_,b)=>{let y=_.timeOffset;return"payload"in b&&"timeOffset"in b.payload&&(y=b.payload.timeOffset),Object.assign(Object.assign({},_),{timeOffset:y,baselineTime:_.events[0].timestamp+y})}),play(_){var b;const{timer:y,events:w,baselineTime:x,lastPlayedEvent:E}=_;y.clear();for(const A of w)addDelay(A,x);const S=discardPriorSnapshots(w,x);let k=E==null?void 0:E.timestamp;(E==null?void 0:E.type)===EventType.IncrementalSnapshot&&E.data.source===IncrementalSource.MouseMove&&(k=E.timestamp+((b=E.data.positions[0])===null||b===void 0?void 0:b.timeOffset)),x<(k||0)&&g.emit(ReplayerEvents.PlayBack);const I=new Array;for(const A of S)if(!(k&&k<x&&(A.timestamp<=k||A===E)))if(A.timestamp<x)I.push(A);else{const M=p(A,!1);y.addAction({doAction:()=>{M()},delay:A.delay})}h(I),g.emit(ReplayerEvents.Flush),y.start()},pause(_){_.timer.clear()},resetLastPlayedEvent:o(_=>Object.assign(Object.assign({},_),{lastPlayedEvent:null})),startLive:o({baselineTime:(_,b)=>(_.timer.toggleLiveMode(!0),_.timer.start(),b.type==="TO_LIVE"&&b.payload.baselineTime?b.payload.baselineTime:Date.now())}),addEvent:o((_,b)=>{const{baselineTime:y,timer:w,events:x}=_;if(b.type==="ADD_EVENT"){const{event:E}=b.payload;addDelay(E,y);let S=x.length-1;if(!x[S]||x[S].timestamp<=E.timestamp)x.push(E);else{let A=-1,M=0;for(;M<=S;){const R=Math.floor((M+S)/2);x[R].timestamp<=E.timestamp?M=R+1:S=R-1}A===-1&&(A=M),x.splice(A,0,E)}const k=E.timestamp<y,I=p(E,k);k?I():w.isActive()&&w.addAction({doAction:()=>{I()},delay:E.delay})}return Object.assign(Object.assign({},_),{events:x})})}});return v(m)}function createSpeedService(d){const p=s({id:"speed",context:d,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:(h,g)=>{"payload"in g&&h.timer.setSpeed(g.payload.speed)},recordSpeed:o({normalSpeed:h=>h.timer.speed}),restoreSpeed:h=>{h.timer.setSpeed(h.normalSpeed)}}});return v(p)}const rules=d=>[`.${d} { background: currentColor }`,"noscript { display: none !important; }"],webGLVarMap=new Map;function variableListFor(d,p){let h=webGLVarMap.get(d);return h||(h=new Map,webGLVarMap.set(d,h)),h.has(p)||h.set(p,[]),h.get(p)}function deserializeArg(d,p,h){return g=>__awaiter(this,void 0,void 0,function*(){if(g&&typeof g=="object"&&"rr_type"in g)if(h&&(h.isUnchanged=!1),g.rr_type==="ImageBitmap"&&"args"in g){const m=yield deserializeArg(d,p,h)(g.args);return yield createImageBitmap.apply(null,m)}else if("index"in g){if(h||p===null)return g;const{rr_type:m,index:_}=g;return variableListFor(p,m)[_]}else if("args"in g){const{rr_type:m,args:_}=g,b=window[m];return new b(...yield Promise.all(_.map(deserializeArg(d,p,h))))}else{if("base64"in g)return decode(g.base64);if("src"in g){const m=d.get(g.src);if(m)return m;{const _=new Image;return _.src=g.src,d.set(g.src,_),_}}else if("data"in g&&g.rr_type==="Blob"){const m=yield Promise.all(g.data.map(deserializeArg(d,p,h)));return new Blob(m,{type:g.type})}}else if(Array.isArray(g))return yield Promise.all(g.map(deserializeArg(d,p,h)));return g})}function getContext(d,p){try{return p===CanvasContext.WebGL?d.getContext("webgl")||d.getContext("experimental-webgl"):d.getContext("webgl2")}catch{return null}}const WebGLVariableConstructorsNames=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function saveToWebGLVarMap(d,p){if(!(p!=null&&p.constructor))return;const{name:h}=p.constructor;if(!WebGLVariableConstructorsNames.includes(h))return;const g=variableListFor(d,h);g.includes(p)||g.push(p)}function webglMutation({mutation:d,target:p,type:h,imageMap:g,errorHandler:m}){return __awaiter(this,void 0,void 0,function*(){try{const _=getContext(p,h);if(!_)return;if(d.setter){_[d.property]=d.args[0];return}const b=_[d.property],y=yield Promise.all(d.args.map(deserializeArg(g,_))),w=b.apply(_,y);saveToWebGLVarMap(_,w);const x=!1}catch(_){m(d,_)}})}function canvasMutation$1({event:d,mutation:p,target:h,imageMap:g,errorHandler:m}){return __awaiter(this,void 0,void 0,function*(){try{const _=h.getContext("2d");if(p.setter){_[p.property]=p.args[0];return}const b=_[p.property];if(p.property==="drawImage"&&typeof p.args[0]=="string")g.get(d),b.apply(_,p.args);else{const y=yield Promise.all(p.args.map(deserializeArg(g,_)));b.apply(_,y)}}catch(_){m(p,_)}})}function canvasMutation({event:d,mutation:p,target:h,imageMap:g,canvasEventMap:m,errorHandler:_}){return __awaiter(this,void 0,void 0,function*(){try{const b=m.get(d)||p,y="commands"in b?b.commands:[b];if([CanvasContext.WebGL,CanvasContext.WebGL2].includes(p.type)){for(let w=0;w<y.length;w++){const x=y[w];yield webglMutation({mutation:x,type:p.type,target:h,imageMap:g,errorHandler:_})}return}for(let w=0;w<y.length;w++){const x=y[w];yield canvasMutation$1({event:d,mutation:x,target:h,imageMap:g,errorHandler:_})}}catch(b){_(p,b)}})}const SKIP_TIME_THRESHOLD=10*1e3,SKIP_TIME_INTERVAL=5*1e3,mitt=mitt$1||mitt$1$1,REPLAY_CONSOLE_PREFIX="[replayer]",defaultMouseTailConfig={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function indicatesTouchDevice(d){return d.type==EventType.IncrementalSnapshot&&(d.data.source==IncrementalSource.TouchMove||d.data.source==IncrementalSource.MouseInteraction&&d.data.type==MouseInteractions.TouchStart)}class Replayer{constructor(p,h){if(this.usingVirtualDom=!1,this.virtualDom=new RRDocument,this.mouseTail=null,this.tailPositions=[],this.emitter=mitt(),this.legacy_missingNodeRetryMap={},this.cache=createCache(),this.imageMap=new Map,this.canvasEventMap=new Map,this.mirror=createMirror$2(),this.styleMirror=new StyleSheetMirror,this.firstFullSnapshot=null,this.newDocumentQueue=[],this.mousePos=null,this.touchActive=null,this.lastSelectionData=null,this.constructedStyleMutations=[],this.adoptedStyleSheets=[],this.handleResize=y=>{this.iframe.style.display="inherit";for(const w of[this.mouseTail,this.iframe])w&&(w.setAttribute("width",String(y.width)),w.setAttribute("height",String(y.height)))},this.applyEventsSynchronously=y=>{for(const w of y){switch(w.type){case EventType.DomContentLoaded:case EventType.Load:case EventType.Custom:continue;case EventType.FullSnapshot:case EventType.Meta:case EventType.Plugin:case EventType.IncrementalSnapshot:break}this.getCastFn(w,!0)()}this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null},this.getCastFn=(y,w=!1)=>{let x;switch(y.type){case EventType.DomContentLoaded:case EventType.Load:break;case EventType.Custom:x=()=>{this.emitter.emit(ReplayerEvents.CustomEvent,y)};break;case EventType.Meta:x=()=>this.emitter.emit(ReplayerEvents.Resize,{width:y.data.width,height:y.data.height});break;case EventType.FullSnapshot:x=()=>{var S;if(this.firstFullSnapshot){if(this.firstFullSnapshot===y){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.rebuildFullSnapshot(y,w),(S=this.iframe.contentWindow)===null||S===void 0||S.scrollTo(y.data.initialOffset),this.styleMirror.reset()};break;case EventType.IncrementalSnapshot:x=()=>{if(this.applyIncremental(y,w),!w&&(y===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(const S of this.service.state.context.events)if(!(S.timestamp<=y.timestamp)&&this.isUserInteraction(S)){S.delay-y.delay>SKIP_TIME_THRESHOLD*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=S);break}if(this.nextUserInteractionEvent){const S=this.nextUserInteractionEvent.delay-y.delay,k={speed:Math.min(Math.round(S/SKIP_TIME_INTERVAL),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:k}),this.emitter.emit(ReplayerEvents.SkipStart,k)}}};break}return()=>{x&&x();for(const k of this.config.plugins||[])k.handler&&k.handler(y,w,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:y}});const S=this.service.state.context.events.length-1;if(y===this.service.state.context.events[S]){const k=()=>{S<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(ReplayerEvents.Finish))};y.type===EventType.IncrementalSnapshot&&y.data.source===IncrementalSource.MouseMove&&y.data.positions.length?setTimeout(()=>{k()},Math.max(0,-y.data.positions[0].timeOffset+50)):k()}this.emitter.emit(ReplayerEvents.EventCast,y)}},!(h!=null&&h.liveMode)&&p.length<2)throw new Error("Replayer need at least 2 events.");const g={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:defaultMouseTailConfig,useVirtualDom:!0};this.config=Object.assign({},g,h),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(ReplayerEvents.Resize,this.handleResize),this.setupDom();for(const y of this.config.plugins||[])y.getMirror&&y.getMirror({nodeMirror:this.mirror});this.emitter.on(ReplayerEvents.Flush,()=>{if(this.usingVirtualDom){const y={mirror:this.mirror,applyCanvas:(w,x,E)=>{canvasMutation({event:w,mutation:x,target:E,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(w,x)=>{w.source===IncrementalSource.StyleSheetRule?this.applyStyleSheetRule(w,x):w.source===IncrementalSource.StyleDeclaration&&this.applyStyleDeclaration(w,x)}};if(this.iframe.contentDocument&&diff(this.iframe.contentDocument,this.virtualDom,y,this.virtualDom.mirror),this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(const w in this.legacy_missingNodeRetryMap)try{const x=this.legacy_missingNodeRetryMap[w],E=createOrGetNode(x.node,this.mirror,this.virtualDom.mirror);diff(E,x.node,y,this.virtualDom.mirror),x.node=E}catch(x){this.config.showWarning&&console.warn(x)}this.constructedStyleMutations.forEach(w=>{this.applyStyleSheetMutation(w)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(w=>{this.applyAdoptedStyleSheet(w)}),this.adoptedStyleSheets=[]}this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(ReplayerEvents.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset()});const m=new Timer([],{speed:this.config.speed,liveMode:this.config.liveMode});this.service=createPlayerService({events:p.map(y=>h&&h.unpackFn?h.unpackFn(y):y).sort((y,w)=>y.timestamp-w.timestamp),timer:m,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(y=>{this.emitter.emit(ReplayerEvents.StateChange,{player:y})}),this.speedService=createSpeedService({normalSpeed:-1,timer:m}),this.speedService.start(),this.speedService.subscribe(y=>{this.emitter.emit(ReplayerEvents.StateChange,{speed:y})});const _=this.service.state.context.events.find(y=>y.type===EventType.Meta),b=this.service.state.context.events.find(y=>y.type===EventType.FullSnapshot);if(_){const{width:y,height:w}=_.data;setTimeout(()=>{this.emitter.emit(ReplayerEvents.Resize,{width:y,height:w})},0)}b&&setTimeout(()=>{var y;this.firstFullSnapshot||(this.firstFullSnapshot=b,this.rebuildFullSnapshot(b),(y=this.iframe.contentWindow)===null||y===void 0||y.scrollTo(b.data.initialOffset))},1),this.service.state.context.events.find(indicatesTouchDevice)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(p,h){return this.emitter.on(p,h),this}off(p,h){return this.emitter.off(p,h),this}setConfig(p){Object.keys(p).forEach(h=>{p[h],this.config[h]=p[h]}),this.config.skipInactive||this.backToNormal(),typeof p.speed<"u"&&this.speedService.send({type:"SET_SPEED",payload:{speed:p.speed}}),typeof p.mouseTail<"u"&&(p.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){const p=this.service.state.context.events[0],h=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:p.timestamp,endTime:h.timestamp,totalTime:h.timestamp-p.timestamp}}getCurrentTime(){return this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){const{baselineTime:p,events:h}=this.service.state.context;return p-h[0].timestamp}getMirror(){return this.mirror}play(p=0){var h,g;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:p}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:p}})),(g=(h=this.iframe.contentDocument)===null||h===void 0?void 0:h.getElementsByTagName("html")[0])===null||g===void 0||g.classList.remove("rrweb-paused"),this.emitter.emit(ReplayerEvents.Start)}pause(p){var h,g;p===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof p=="number"&&(this.play(p),this.service.send({type:"PAUSE"})),(g=(h=this.iframe.contentDocument)===null||h===void 0?void 0:h.getElementsByTagName("html")[0])===null||g===void 0||g.classList.add("rrweb-paused"),this.emitter.emit(ReplayerEvents.Pause)}resume(p=0){console.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(p),this.emitter.emit(ReplayerEvents.Resume)}destroy(){this.pause(),this.config.root.removeChild(this.wrapper),this.emitter.emit(ReplayerEvents.Destroy)}startLive(p){this.service.send({type:"TO_LIVE",payload:{baselineTime:p}})}addEvent(p){const h=this.config.unpackFn?this.config.unpackFn(p):p;indicatesTouchDevice(h)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:h}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=createCache()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.iframe=document.createElement("iframe");const p=["allow-same-origin"];this.config.UNSAFE_replayCanvas&&p.push("allow-scripts"),this.iframe.style.display="none",this.iframe.setAttribute("sandbox",p.join(" ")),this.disableInteract(),this.wrapper.appendChild(this.iframe),this.iframe.contentWindow&&this.iframe.contentDocument&&(polyfill(this.iframe.contentWindow,this.iframe.contentDocument),polyfill$1(this.iframe.contentWindow))}rebuildFullSnapshot(p,h=!1){if(!this.iframe.contentDocument)return console.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&console.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};const g=[],m=(y,w)=>{this.collectIframeAndAttachDocument(g,y);for(const x of this.config.plugins||[])x.onBuild&&x.onBuild(y,{id:w,replayer:this})};rebuild(p.data.node,{doc:this.iframe.contentDocument,afterAppend:m,cache:this.cache,mirror:this.mirror}),m(this.iframe.contentDocument,p.data.node.id);for(const{mutationInQueue:y,builtNode:w}of g)this.attachDocumentToIframe(y,w),this.newDocumentQueue=this.newDocumentQueue.filter(x=>x!==y);const{documentElement:_,head:b}=this.iframe.contentDocument;this.insertStyleRules(_,b),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(ReplayerEvents.FullsnapshotRebuilded,p),h||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(p,h){var g;const m=rules(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&m.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),this.usingVirtualDom){const _=this.virtualDom.createElement("style");this.virtualDom.mirror.add(_,getDefaultSN(_,this.virtualDom.unserializedId)),p.insertBefore(_,h),_.rules.push({source:IncrementalSource.StyleSheetRule,adds:m.map((b,y)=>({rule:b,index:y}))})}else{const _=document.createElement("style");p.insertBefore(_,h);for(let b=0;b<m.length;b++)(g=_.sheet)===null||g===void 0||g.insertRule(m[b],b)}}attachDocumentToIframe(p,h){const g=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,m=[],_=(b,y)=>{this.collectIframeAndAttachDocument(m,b);const w=g.getMeta(b);if((w==null?void 0:w.type)===NodeType$2.Element&&(w==null?void 0:w.tagName.toUpperCase())==="HTML"){const{documentElement:x,head:E}=h.contentDocument;this.insertStyleRules(x,E)}for(const x of this.config.plugins||[])x.onBuild&&x.onBuild(b,{id:y,replayer:this})};buildNodeWithSN(p.node,{doc:h.contentDocument,mirror:g,hackCss:!0,skipChild:!1,afterAppend:_,cache:this.cache}),_(h.contentDocument,p.node.id);for(const{mutationInQueue:b,builtNode:y}of m)this.attachDocumentToIframe(b,y),this.newDocumentQueue=this.newDocumentQueue.filter(w=>w!==b)}collectIframeAndAttachDocument(p,h){if(isSerializedIframe(h,this.mirror)){const g=this.newDocumentQueue.find(m=>m.parentId===this.mirror.getId(h));g&&p.push({mutationInQueue:g,builtNode:h})}}waitForStylesheetLoad(){var p;const h=(p=this.iframe.contentDocument)===null||p===void 0?void 0:p.head;if(h){const g=new Set;let m,_=this.service.state;const b=()=>{_=this.service.state};this.emitter.on(ReplayerEvents.Start,b),this.emitter.on(ReplayerEvents.Pause,b);const y=()=>{this.emitter.off(ReplayerEvents.Start,b),this.emitter.off(ReplayerEvents.Pause,b)};h.querySelectorAll('link[rel="stylesheet"]').forEach(w=>{w.sheet||(g.add(w),w.addEventListener("load",()=>{g.delete(w),g.size===0&&m!==-1&&(_.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(ReplayerEvents.LoadStylesheetEnd),m&&clearTimeout(m),y())}))}),g.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(ReplayerEvents.LoadStylesheetStart),m=setTimeout(()=>{_.matches("playing")&&this.play(this.getCurrentTime()),m=-1,y()},this.config.loadTimeout))}}preloadAllImages(){return __awaiter(this,void 0,void 0,function*(){this.service.state;const p=()=>{this.service.state};this.emitter.on(ReplayerEvents.Start,p),this.emitter.on(ReplayerEvents.Pause,p);const h=[];for(const g of this.service.state.context.events)g.type===EventType.IncrementalSnapshot&&g.data.source===IncrementalSource.CanvasMutation&&(h.push(this.deserializeAndPreloadCanvasEvents(g.data,g)),("commands"in g.data?g.data.commands:[g.data]).forEach(_=>{this.preloadImages(_,g)}));return Promise.all(h)})}preloadImages(p,h){if(p.property==="drawImage"&&typeof p.args[0]=="string"&&!this.imageMap.has(h)){const g=document.createElement("canvas"),m=g.getContext("2d"),_=m==null?void 0:m.createImageData(g.width,g.height);_==null||_.data,JSON.parse(p.args[0]),m==null||m.putImageData(_,0,0)}}deserializeAndPreloadCanvasEvents(p,h){return __awaiter(this,void 0,void 0,function*(){if(!this.canvasEventMap.has(h)){const g={isUnchanged:!0};if("commands"in p){const m=yield Promise.all(p.commands.map(_=>__awaiter(this,void 0,void 0,function*(){const b=yield Promise.all(_.args.map(deserializeArg(this.imageMap,null,g)));return Object.assign(Object.assign({},_),{args:b})})));g.isUnchanged===!1&&this.canvasEventMap.set(h,Object.assign(Object.assign({},p),{commands:m}))}else{const m=yield Promise.all(p.args.map(deserializeArg(this.imageMap,null,g)));g.isUnchanged===!1&&this.canvasEventMap.set(h,Object.assign(Object.assign({},p),{args:m}))}}})}applyIncremental(p,h){var g,m,_;const{data:b}=p;switch(b.source){case IncrementalSource.Mutation:{try{this.applyMutation(b,h)}catch(y){this.warn(`Exception in mutation ${y.message||y}`,b)}break}case IncrementalSource.Drag:case IncrementalSource.TouchMove:case IncrementalSource.MouseMove:if(h){const y=b.positions[b.positions.length-1];this.mousePos={x:y.x,y:y.y,id:y.id,debugData:b}}else b.positions.forEach(y=>{const w={doAction:()=>{this.moveAndHover(y.x,y.y,y.id,h,b)},delay:y.timeOffset+p.timestamp-this.service.state.context.baselineTime};this.timer.addAction(w)}),this.timer.addAction({doAction(){},delay:p.delay-((g=b.positions[0])===null||g===void 0?void 0:g.timeOffset)});break;case IncrementalSource.MouseInteraction:{if(b.id===-1||h)break;const y=new Event(MouseInteractions[b.type].toLowerCase()),w=this.mirror.getNode(b.id);if(!w)return this.debugNodeNotFound(b,b.id);this.emitter.emit(ReplayerEvents.MouseInteraction,{type:b.type,target:w});const{triggerFocus:x}=this.config;switch(b.type){case MouseInteractions.Blur:"blur"in w&&w.blur();break;case MouseInteractions.Focus:x&&w.focus&&w.focus({preventScroll:!0});break;case MouseInteractions.Click:case MouseInteractions.TouchStart:case MouseInteractions.TouchEnd:h?(b.type===MouseInteractions.TouchStart?this.touchActive=!0:b.type===MouseInteractions.TouchEnd&&(this.touchActive=!1),this.mousePos={x:b.x,y:b.y,id:b.id,debugData:b}):(b.type===MouseInteractions.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(b.x,b.y,b.id,h,b),b.type===MouseInteractions.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):b.type===MouseInteractions.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):b.type===MouseInteractions.TouchEnd&&this.mouse.classList.remove("touch-active"));break;case MouseInteractions.TouchCancel:h?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:w.dispatchEvent(y)}break}case IncrementalSource.Scroll:{if(b.id===-1)break;if(this.usingVirtualDom){const y=this.virtualDom.mirror.getNode(b.id);if(!y)return this.debugNodeNotFound(b,b.id);y.scrollData=b;break}this.applyScroll(b,h);break}case IncrementalSource.ViewportResize:this.emitter.emit(ReplayerEvents.Resize,{width:b.width,height:b.height});break;case IncrementalSource.Input:{if(b.id===-1)break;if(this.usingVirtualDom){const y=this.virtualDom.mirror.getNode(b.id);if(!y)return this.debugNodeNotFound(b,b.id);y.inputData=b;break}this.applyInput(b);break}case IncrementalSource.MediaInteraction:{const y=this.usingVirtualDom?this.virtualDom.mirror.getNode(b.id):this.mirror.getNode(b.id);if(!y)return this.debugNodeNotFound(b,b.id);const w=y;try{b.currentTime&&(w.currentTime=b.currentTime),b.volume&&(w.volume=b.volume),b.muted&&(w.muted=b.muted),b.type===1&&w.pause(),b.type===0&&w.play(),b.type===4&&(w.playbackRate=b.playbackRate)}catch(x){this.config.showWarning&&console.warn(`Failed to replay media interactions: ${x.message||x}`)}break}case IncrementalSource.StyleSheetRule:case IncrementalSource.StyleDeclaration:{this.usingVirtualDom?b.styleId?this.constructedStyleMutations.push(b):b.id&&((m=this.virtualDom.mirror.getNode(b.id))===null||m===void 0||m.rules.push(b)):this.applyStyleSheetMutation(b);break}case IncrementalSource.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){const y=this.virtualDom.mirror.getNode(b.id);if(!y)return this.debugNodeNotFound(b,b.id);y.canvasMutations.push({event:p,mutation:b})}else{const y=this.mirror.getNode(b.id);if(!y)return this.debugNodeNotFound(b,b.id);canvasMutation({event:p,mutation:b,target:y,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case IncrementalSource.Font:{try{const y=new FontFace(b.family,b.buffer?new Uint8Array(JSON.parse(b.fontSource)):b.fontSource,b.descriptors);(_=this.iframe.contentDocument)===null||_===void 0||_.fonts.add(y)}catch(y){this.config.showWarning&&console.warn(y)}break}case IncrementalSource.Selection:{if(h){this.lastSelectionData=b;break}this.applySelection(b);break}case IncrementalSource.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(b):this.applyAdoptedStyleSheet(b);break}}}applyMutation(p,h){if(this.config.useVirtualDom&&!this.usingVirtualDom&&h&&(this.usingVirtualDom=!0,buildFromDom(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(const x in this.legacy_missingNodeRetryMap)try{const E=this.legacy_missingNodeRetryMap[x],S=buildFromNode(E.node,this.virtualDom,this.mirror);S&&(E.node=S)}catch(E){this.config.showWarning&&console.warn(E)}const g=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;p.removes.forEach(x=>{var E;const S=g.getNode(x.id);if(!S)return p.removes.find(I=>I.id===x.parentId)?void 0:this.warnNodeNotFound(p,x.id);let k=g.getNode(x.parentId);if(!k)return this.warnNodeNotFound(p,x.parentId);if(x.isShadow&&hasShadowRoot(k)&&(k=k.shadowRoot),g.removeNodeFromMap(S),k)try{k.removeChild(S),this.usingVirtualDom&&S.nodeName==="#text"&&k.nodeName==="STYLE"&&((E=k.rules)===null||E===void 0?void 0:E.length)>0&&(k.rules=[])}catch(I){if(I instanceof DOMException)this.warn("parent could not remove child in mutation",k,S,p);else throw I}});const m=Object.assign({},this.legacy_missingNodeRetryMap),_=[],b=x=>{let E=null;return x.nextId&&(E=g.getNode(x.nextId)),x.nextId!==null&&x.nextId!==void 0&&x.nextId!==-1&&!E},y=x=>{var E;if(!this.iframe.contentDocument)return console.warn("Looks like your replayer has been destroyed.");let S=g.getNode(x.parentId);if(!S)return x.node.type===NodeType$2.Document?this.newDocumentQueue.push(x):_.push(x);x.node.isShadow&&(hasShadowRoot(S)||S.attachShadow({mode:"open"}),S=S.shadowRoot);let k=null,I=null;if(x.previousId&&(k=g.getNode(x.previousId)),x.nextId&&(I=g.getNode(x.nextId)),b(x))return _.push(x);if(x.node.rootId&&!g.getNode(x.node.rootId))return;const A=x.node.rootId?g.getNode(x.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(isSerializedIframe(S,g)){this.attachDocumentToIframe(x,S);return}const M=($,N)=>{for(const O of this.config.plugins||[])O.onBuild&&O.onBuild($,{id:N,replayer:this})},R=buildNodeWithSN(x.node,{doc:A,mirror:g,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:M});if(x.previousId===-1||x.nextId===-1){m[x.node.id]={node:R,mutation:x};return}const C=g.getMeta(S);if(C&&C.type===NodeType$2.Element&&C.tagName==="textarea"&&x.node.type===NodeType$2.Text){const $=Array.isArray(S.childNodes)?S.childNodes:Array.from(S.childNodes);for(const N of $)N.nodeType===S.TEXT_NODE&&S.removeChild(N)}if(k&&k.nextSibling&&k.nextSibling.parentNode)S.insertBefore(R,k.nextSibling);else if(I&&I.parentNode)S.contains(I)?S.insertBefore(R,I):S.insertBefore(R,null);else{if(S===A)for(;A.firstChild;)A.removeChild(A.firstChild);S.appendChild(R)}if(M(R,x.node.id),this.usingVirtualDom&&R.nodeName==="#text"&&S.nodeName==="STYLE"&&((E=S.rules)===null||E===void 0?void 0:E.length)>0&&(S.rules=[]),isSerializedIframe(R,this.mirror)){const $=this.mirror.getId(R),N=this.newDocumentQueue.find(O=>O.parentId===$);N&&(this.attachDocumentToIframe(N,R),this.newDocumentQueue=this.newDocumentQueue.filter(O=>O!==N))}(x.previousId||x.nextId)&&this.legacy_resolveMissingNode(m,S,R,x)};p.adds.forEach(x=>{y(x)});const w=Date.now();for(;_.length;){const x=queueToResolveTrees(_);if(_.length=0,Date.now()-w>500){this.warn("Timeout in the loop, please check the resolve tree data:",x);break}for(const E of x)g.getNode(E.value.parentId)?iterateResolveTree(E,k=>{y(k)}):this.debug("Drop resolve tree since there is no parent for the root node.",E)}Object.keys(m).length&&Object.assign(this.legacy_missingNodeRetryMap,m),uniqueTextMutations(p.texts).forEach(x=>{var E;const S=g.getNode(x.id);if(!S)return p.removes.find(k=>k.id===x.id)?void 0:this.warnNodeNotFound(p,x.id);if(S.textContent=x.value,this.usingVirtualDom){const k=S.parentNode;((E=k==null?void 0:k.rules)===null||E===void 0?void 0:E.length)>0&&(k.rules=[])}}),p.attributes.forEach(x=>{const E=g.getNode(x.id);if(!E)return p.removes.find(S=>S.id===x.id)?void 0:this.warnNodeNotFound(p,x.id);for(const S in x.attributes)if(typeof S=="string"){const k=x.attributes[S];if(k===null)E.removeAttribute(S);else if(typeof k=="string")try{if(S==="_cssText"&&(E.nodeName==="LINK"||E.nodeName==="STYLE"))try{const I=g.getMeta(E);Object.assign(I.attributes,x.attributes);const A=buildNodeWithSN(I,{doc:E.ownerDocument,mirror:g,skipChild:!0,hackCss:!0,cache:this.cache}),M=E.nextSibling,R=E.parentNode;if(A&&R){R.removeChild(E),R.insertBefore(A,M),g.replace(x.id,A);break}}catch{}E.setAttribute(S,k)}catch(I){this.config.showWarning&&console.warn("An error occurred may due to the checkout feature.",I)}else if(S==="style"){const I=k,A=E;for(const M in I)if(I[M]===!1)A.style.removeProperty(M);else if(I[M]instanceof Array){const R=I[M];A.style.setProperty(M,R[0],R[1])}else{const R=I[M];A.style.setProperty(M,R)}}}})}applyScroll(p,h){var g,m;const _=this.mirror.getNode(p.id);if(!_)return this.debugNodeNotFound(p,p.id);const b=this.mirror.getMeta(_);if(_===this.iframe.contentDocument)(g=this.iframe.contentWindow)===null||g===void 0||g.scrollTo({top:p.y,left:p.x,behavior:h?"auto":"smooth"});else if((b==null?void 0:b.type)===NodeType$2.Document)(m=_.defaultView)===null||m===void 0||m.scrollTo({top:p.y,left:p.x,behavior:h?"auto":"smooth"});else try{_.scrollTo({top:p.y,left:p.x,behavior:h?"auto":"smooth"})}catch{}}applyInput(p){const h=this.mirror.getNode(p.id);if(!h)return this.debugNodeNotFound(p,p.id);try{h.checked=p.isChecked,h.value=p.text}catch{}}applySelection(p){try{const h=new Set,g=p.ranges.map(({start:m,startOffset:_,end:b,endOffset:y})=>{const w=this.mirror.getNode(m),x=this.mirror.getNode(b);if(!w||!x)return;const E=new Range;E.setStart(w,_),E.setEnd(x,y);const S=w.ownerDocument,k=S==null?void 0:S.getSelection();return k&&h.add(k),{range:E,selection:k}});h.forEach(m=>m.removeAllRanges()),g.forEach(m=>{var _;return m&&((_=m.selection)===null||_===void 0?void 0:_.addRange(m.range))})}catch{}}applyStyleSheetMutation(p){var h;let g=null;p.styleId?g=this.styleMirror.getStyle(p.styleId):p.id&&(g=((h=this.mirror.getNode(p.id))===null||h===void 0?void 0:h.sheet)||null),g&&(p.source===IncrementalSource.StyleSheetRule?this.applyStyleSheetRule(p,g):p.source===IncrementalSource.StyleDeclaration&&this.applyStyleDeclaration(p,g))}applyStyleSheetRule(p,h){var g,m,_,b;if((g=p.adds)===null||g===void 0||g.forEach(({rule:y,index:w})=>{try{if(Array.isArray(w)){const{positions:x,index:E}=getPositionsAndIndex(w);getNestedRule(h.cssRules,x).insertRule(y,E)}else{const x=w===void 0?void 0:Math.min(w,h.cssRules.length);h==null||h.insertRule(y,x)}}catch{}}),(m=p.removes)===null||m===void 0||m.forEach(({index:y})=>{try{if(Array.isArray(y)){const{positions:w,index:x}=getPositionsAndIndex(y);getNestedRule(h.cssRules,w).deleteRule(x||0)}else h==null||h.deleteRule(y)}catch{}}),p.replace)try{(_=h.replace)===null||_===void 0||_.call(h,p.replace)}catch{}if(p.replaceSync)try{(b=h.replaceSync)===null||b===void 0||b.call(h,p.replaceSync)}catch{}}applyStyleDeclaration(p,h){p.set&&getNestedRule(h.rules,p.index).style.setProperty(p.set.property,p.set.value,p.set.priority),p.remove&&getNestedRule(h.rules,p.index).style.removeProperty(p.remove.property)}applyAdoptedStyleSheet(p){var h;const g=this.mirror.getNode(p.id);if(!g)return;(h=p.styles)===null||h===void 0||h.forEach(y=>{var w;let x=null,E=null;if(hasShadowRoot(g)?E=((w=g.ownerDocument)===null||w===void 0?void 0:w.defaultView)||null:g.nodeName==="#document"&&(E=g.defaultView),!!E)try{x=new E.CSSStyleSheet,this.styleMirror.add(x,y.styleId),this.applyStyleSheetRule({source:IncrementalSource.StyleSheetRule,adds:y.rules},x)}catch{}});const m=10;let _=0;const b=(y,w)=>{const x=w.map(E=>this.styleMirror.getStyle(E)).filter(E=>E!==null);hasShadowRoot(y)?y.shadowRoot.adoptedStyleSheets=x:y.nodeName==="#document"&&(y.adoptedStyleSheets=x),x.length!==w.length&&_<m&&(setTimeout(()=>b(y,w),0+100*_),_++)};b(g,p.styleIds)}legacy_resolveMissingNode(p,h,g,m){const{previousId:_,nextId:b}=m,y=_&&p[_],w=b&&p[b];if(y){const{node:x,mutation:E}=y;h.insertBefore(x,g),delete p[E.node.id],delete this.legacy_missingNodeRetryMap[E.node.id],(E.previousId||E.nextId)&&this.legacy_resolveMissingNode(p,h,x,E)}if(w){const{node:x,mutation:E}=w;h.insertBefore(x,g.nextSibling),delete p[E.node.id],delete this.legacy_missingNodeRetryMap[E.node.id],(E.previousId||E.nextId)&&this.legacy_resolveMissingNode(p,h,x,E)}}moveAndHover(p,h,g,m,_){const b=this.mirror.getNode(g);if(!b)return this.debugNodeNotFound(_,g);const y=getBaseDimension(b,this.iframe),w=p*y.absoluteScale+y.x,x=h*y.absoluteScale+y.y;this.mouse.style.left=`${w}px`,this.mouse.style.top=`${x}px`,m||this.drawMouseTail({x:w,y:x}),this.hoverElements(b)}drawMouseTail(p){if(!this.mouseTail)return;const{lineCap:h,lineWidth:g,strokeStyle:m,duration:_}=this.config.mouseTail===!0?defaultMouseTailConfig:Object.assign({},defaultMouseTailConfig,this.config.mouseTail),b=()=>{if(!this.mouseTail)return;const y=this.mouseTail.getContext("2d");!y||!this.tailPositions.length||(y.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),y.beginPath(),y.lineWidth=g,y.lineCap=h,y.strokeStyle=m,y.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(w=>y.lineTo(w.x,w.y)),y.stroke())};this.tailPositions.push(p),b(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(y=>y!==p),b()},_/this.speedService.state.context.timer.speed)}hoverElements(p){var h;(h=this.iframe.contentDocument)===null||h===void 0||h.querySelectorAll(".\\:hover").forEach(m=>{m.classList.remove(":hover")});let g=p;for(;g;)g.classList&&g.classList.add(":hover"),g=g.parentElement}isUserInteraction(p){return p.type!==EventType.IncrementalSnapshot?!1:p.data.source>IncrementalSource.Mutation&&p.data.source<=IncrementalSource.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(ReplayerEvents.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(p,h){this.warn(`Node with id '${h}' not found. `,p)}warnCanvasMutationFailed(p,h){this.warn("Has error on canvas update",h,"canvas mutation:",p)}debugNodeNotFound(p,h){this.debug(REPLAY_CONSOLE_PREFIX,`Node with id '${h}' not found. `,p)}warn(...p){this.config.showWarning&&console.warn(REPLAY_CONSOLE_PREFIX,...p)}debug(...p){this.config.showDebug&&console.log(REPLAY_CONSOLE_PREFIX,...p)}}let stopFn=null,events=[];function startRecording(){stopFn||(events=[],clearCapturedRequests(),stopFn=record$1({emit(d){events.push(d)},recordCrossOriginIframes:!1})||null)}function stopRecording(){if(!stopFn)return[];stopFn(),stopFn=null;const d=[...events];return events=[],d}function cubic_out(d){const p=d-1;return p*p*p+1}function slide(d,{delay:p=0,duration:h=400,easing:g=cubic_out,axis:m="y"}={}){const _=getComputedStyle(d),b=+_.opacity,y=m==="y"?"height":"width",w=parseFloat(_[y]),x=m==="y"?["top","bottom"]:["left","right"],E=x.map(C=>`${C[0].toUpperCase()}${C.slice(1)}`),S=parseFloat(_[`padding${E[0]}`]),k=parseFloat(_[`padding${E[1]}`]),I=parseFloat(_[`margin${E[0]}`]),A=parseFloat(_[`margin${E[1]}`]),M=parseFloat(_[`border${E[0]}Width`]),R=parseFloat(_[`border${E[1]}Width`]);return{delay:p,duration:h,easing:g,css:C=>`overflow: hidden;opacity: ${Math.min(C*20,1)*b};${y}: ${C*w}px;padding-${x[0]}: ${C*S}px;padding-${x[1]}: ${C*k}px;margin-${x[0]}: ${C*I}px;margin-${x[1]}: ${C*A}px;border-${x[0]}-width: ${C*M}px;border-${x[1]}-width: ${C*R}px;min-${y}: 0`}}var root_3$7=from_html('<button class="thumb-edit svelte-1dhybq8" aria-label="Edit screenshot"><svg width="10" height="10" viewBox="0 0 24 24" fill="none"><path d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button>'),root_2$8=from_html('<div class="thumb-wrap svelte-1dhybq8"><img class="thumb svelte-1dhybq8"/> <!> <button class="thumb-remove svelte-1dhybq8" aria-label="Remove screenshot">&times;</button></div>'),root_4$5=from_html('<span class="more-badge svelte-1dhybq8"> </span>'),root_1$8=from_html('<div class="thumb-strip svelte-1dhybq8"><!> <!></div>');const $$css$9={hash:"svelte-1dhybq8",code:".thumb-strip.svelte-1dhybq8 {display:flex;gap:6px;align-items:center;}.thumb-wrap.svelte-1dhybq8 {position:relative;}.thumb.svelte-1dhybq8 {width:60px;height:42px;object-fit:cover;border-radius:4px;border:1px solid #374151;}.thumb-edit.svelte-1dhybq8 {position:absolute;bottom:2px;right:2px;width:20px;height:20px;border-radius:3px;background:rgba(59, 130, 246, 0.85);color:white;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity 0.15s;}.thumb-wrap.svelte-1dhybq8:hover .thumb-edit:where(.svelte-1dhybq8) {opacity:1;}.thumb-edit.svelte-1dhybq8:hover {background:#2563eb;}.thumb-remove.svelte-1dhybq8 {position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:#ef4444;color:white;border:none;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;}.more-badge.svelte-1dhybq8 {font-size:11px;color:#6b7280;padding:0 4px;}"};function ScreenshotPreview(d,p){push(p,!0),append_styles(d,$$css$9);let h=prop(p,"screenshots",23,()=>[]),g=prop(p,"capturing",7,!1),m=prop(p,"oncapture",7),_=prop(p,"onremove",7),b=prop(p,"onedit",7);var y={get screenshots(){return h()},set screenshots(S=[]){h(S),flushSync()},get capturing(){return g()},set capturing(S=!1){g(S),flushSync()},get oncapture(){return m()},set oncapture(S){m(S),flushSync()},get onremove(){return _()},set onremove(S){_(S),flushSync()},get onedit(){return b()},set onedit(S){b(S),flushSync()}},w=comment(),x=first_child(w);{var E=S=>{var k=root_1$8(),I=child(k);each(I,17,()=>h().slice(-3),index,(R,C,$)=>{const N=user_derived(()=>h().length>3?h().length-3+$:$);var O=root_2$8(),P=child(O);set_attribute(P,"alt",`Screenshot ${$+1}`);var W=sibling(P,2);{var V=he=>{var ne=root_3$7();delegated("click",ne,()=>b()(get(N))),append(he,ne)};if_block(W,he=>{b()&&he(V)})}var q=sibling(W,2);reset(O),template_effect(()=>set_attribute(P,"src",get(C))),delegated("click",q,()=>_()(get(N))),append(R,O)});var A=sibling(I,2);{var M=R=>{var C=root_4$5(),$=child(C);reset(C),template_effect(()=>set_text($,`+${h().length-3}`)),append(R,C)};if_block(A,R=>{h().length>3&&R(M)})}reset(k),append(S,k)};if_block(x,S=>{h().length>0&&S(E)})}return append(d,w),pop(y)}delegate(["click"]),create_custom_element(ScreenshotPreview,{screenshots:{},capturing:{},oncapture:{},onremove:{},onedit:{}},[],[],{mode:"open"});var root_2$7=from_svg('<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><ellipse cx="12" cy="12" rx="10" ry="7" stroke="currentColor" stroke-width="2" fill="none"></ellipse></svg>'),root_3$6=from_svg('<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></path></svg>'),root_1$7=from_html('<button><!> <span class="tool-label svelte-yff65c"> </span></button>'),root_4$4=from_html("<button></button>"),root_5$4=from_html('<canvas class="base-canvas svelte-yff65c"></canvas> <canvas></canvas>',1),root_6$5=from_html('<div class="loading svelte-yff65c">Loading image...</div>'),root_7$5=from_html('<input type="text" class="text-overlay-input svelte-yff65c" placeholder="Type here..."/>'),root$6=from_html('<div class="annotation-backdrop svelte-yff65c"><div class="annotation-toolbar svelte-yff65c"><div class="tool-group svelte-yff65c"></div> <div class="divider svelte-yff65c"></div> <div class="color-group svelte-yff65c"></div> <div class="divider svelte-yff65c"></div> <div class="action-group svelte-yff65c"><button class="action-btn svelte-yff65c" title="Undo (Ctrl+Z)"><svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M3 10h10a5 5 0 015 5v0a5 5 0 01-5 5H8M3 10l4-4M3 10l4 4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> Undo</button> <button class="action-btn svelte-yff65c" title="Clear all"><svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M3 6h18M8 6V4h8v2M10 11v6M14 11v6M5 6l1 14h12l1-14" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> Clear</button></div> <div class="spacer svelte-yff65c"></div> <div class="commit-group svelte-yff65c"><button class="cancel-btn svelte-yff65c">Cancel</button> <button class="done-btn svelte-yff65c">Done</button></div></div> <div class="canvas-container svelte-yff65c"><!></div> <!></div>');const $$css$8={hash:"svelte-yff65c",code:`.annotation-backdrop.svelte-yff65c {position:fixed;inset:0;z-index:2147483647;background:rgba(0, 0, 0, 0.85);display:flex;flex-direction:column;align-items:center;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;}.annotation-toolbar.svelte-yff65c {display:flex;align-items:center;gap:6px;padding:8px 12px;background:#1f2937;border-bottom:1px solid #374151;width:100%;flex-shrink:0;flex-wrap:wrap;}.tool-group.svelte-yff65c, .color-group.svelte-yff65c, .action-group.svelte-yff65c, .commit-group.svelte-yff65c {display:flex;align-items:center;gap:4px;}.divider.svelte-yff65c {width:1px;height:24px;background:#374151;margin:0 4px;}.spacer.svelte-yff65c {flex:1;}.tool-btn.svelte-yff65c {display:flex;align-items:center;gap:4px;padding:5px 8px;background:transparent;border:1px solid transparent;border-radius:4px;color:#9ca3af;font-size:11px;cursor:pointer;font-family:inherit;transition:all 0.15s;}.tool-btn.svelte-yff65c:hover {color:#e5e7eb;background:#374151;}.tool-btn.active.svelte-yff65c {color:#fff;background:#3b82f6;border-color:#3b82f6;}.tool-label.svelte-yff65c {display:none;}
77
77
  @media (min-width: 640px) {.tool-label.svelte-yff65c {display:inline;}
78
78
  }.color-swatch.svelte-yff65c {width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform 0.1s, border-color 0.1s;padding:0;}.color-swatch.svelte-yff65c:hover {transform:scale(1.15);}.color-swatch.active.svelte-yff65c {border-color:#fff;transform:scale(1.2);}.action-btn.svelte-yff65c {display:flex;align-items:center;gap:4px;padding:5px 8px;background:transparent;border:1px solid #374151;border-radius:4px;color:#9ca3af;font-size:11px;cursor:pointer;font-family:inherit;transition:all 0.15s;}.action-btn.svelte-yff65c:hover:not(:disabled) {color:#e5e7eb;background:#374151;}.action-btn.svelte-yff65c:disabled {opacity:0.4;cursor:not-allowed;}.cancel-btn.svelte-yff65c {padding:6px 14px;background:#374151;border:1px solid #4b5563;border-radius:5px;color:#d1d5db;font-size:12px;cursor:pointer;font-family:inherit;transition:background 0.15s;}.cancel-btn.svelte-yff65c:hover {background:#4b5563;}.done-btn.svelte-yff65c {padding:6px 16px;background:#3b82f6;border:none;border-radius:5px;color:white;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background 0.15s;}.done-btn.svelte-yff65c:hover {background:#2563eb;}.canvas-container.svelte-yff65c {flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:20px;}.base-canvas.svelte-yff65c, .overlay-canvas.svelte-yff65c {max-width:calc(100vw - 80px);max-height:calc(100vh - 120px);object-fit:contain;border-radius:4px;}.base-canvas.svelte-yff65c {display:block;}.overlay-canvas.svelte-yff65c {position:absolute;
79
- /* Overlays exactly on base-canvas — sized by max-width/max-height */}.cursor-crosshair.svelte-yff65c {cursor:crosshair;}.cursor-text.svelte-yff65c {cursor:text;}.text-overlay-input.svelte-yff65c {position:fixed;background:transparent;border:1px dashed rgba(255,255,255,0.5);outline:none;font-size:16px;font-weight:bold;font-family:sans-serif;padding:2px 4px;z-index:2147483647;min-width:80px;}.loading.svelte-yff65c {color:#9ca3af;font-size:14px;}`};function AnnotationEditor(d,p){push(p,!0),append_styles(d,$$css$8);let h=prop(p,"imageDataUrl",7),g=prop(p,"onsave",7),m=prop(p,"oncancel",7),_=state("arrow"),b=state(proxy(ANNOTATION_COLORS[0])),y=state(proxy([])),w=state(void 0),x=state(void 0),E=state(0),S=state(0),k=state(!1),I=state("idle"),A={x:0,y:0},M=[],R=state(void 0),C=state(proxy({x:0,y:0})),$=state(proxy({left:"0px",top:"0px"})),N=state("");onMount(()=>{setAnnotationEditorOpen(!0);const H=new Image;H.onload=()=>{set(E,H.naturalWidth,!0),set(S,H.naturalHeight,!0),set(k,!0),requestAnimationFrame(()=>P(H))},H.src=h()}),onDestroy(()=>{setAnnotationEditorOpen(!1)});function O(){return new Promise((H,L)=>{const Y=new Image;Y.onload=()=>H(Y),Y.onerror=L,Y.src=h()})}async function P(H){if(!get(w))return;const L=get(w).getContext("2d");L&&(H||(H=await O()),get(w).width=get(E),get(w).height=get(S),L.drawImage(H,0,0,get(E),get(S)),renderAllShapes(L,get(y)))}function W(){if(!get(x))return;const H=get(x).getContext("2d");H&&(get(x).width=get(E),get(x).height=get(S),H.clearRect(0,0,get(E),get(S)))}function V(H){if(!get(x))return{x:0,y:0};const L=get(x).getBoundingClientRect(),Y=get(E)/L.width,ee=get(S)/L.height;return{x:(H.clientX-L.left)*Y,y:(H.clientY-L.top)*ee}}function q(H){if(!get(x))return{left:"0px",top:"0px"};const L=get(x).getBoundingClientRect();return{left:`${L.left+H.x/(get(E)/L.width)}px`,top:`${L.top+H.y/(get(S)/L.height)}px`}}function he(H){const L={color:get(b),strokeWidth:DEFAULT_STROKE_WIDTH};switch(get(_)){case"arrow":return{...L,id:nextShapeId(),type:"arrow",start:A,end:H};case"rectangle":return{...L,id:nextShapeId(),type:"rectangle",start:A,end:H};case"ellipse":return{...L,id:nextShapeId(),type:"ellipse",start:A,end:H};case"freehand":return{...L,id:nextShapeId(),type:"freehand",points:[...M,H]};default:return null}}function ne(H){if(get(I)==="typing"){Ee();return}const L=V(H);if(get(_)==="text"){set(I,"typing"),set(C,L,!0),set($,q(L),!0),set(N,""),requestAnimationFrame(()=>{var Y;return(Y=get(R))==null?void 0:Y.focus()});return}set(I,"drawing"),A=L,M=[L]}function ie(H){if(get(I)!=="drawing")return;const L=V(H);get(_)==="freehand"&&M.push(L),W();const Y=he(L);if(Y&&get(x)){const ee=get(x).getContext("2d");ee&&renderShape(ee,Y)}}function se(H){if(get(I)!=="drawing")return;const L=V(H),Y=he(L);Y&&set(y,[...get(y),Y],!0),set(I,"idle"),M=[],W(),P()}function Ee(){if(get(N).trim()){const H={id:nextShapeId(),type:"text",color:get(b),strokeWidth:DEFAULT_STROKE_WIDTH,position:get(C),content:get(N).trim(),fontSize:20};set(y,[...get(y),H],!0),P()}set(N,""),set(I,"idle")}function ae(H){H.key==="Enter"?(H.preventDefault(),Ee()):H.key==="Escape"&&(H.preventDefault(),set(N,""),set(I,"idle"))}function Ie(){get(y).length!==0&&(set(y,get(y).slice(0,-1),!0),P())}function Se(){set(y,[],!0),P()}async function ge(){if(get(y).length===0){g()(h());return}const H=await mergeAnnotation(h(),get(y),get(E),get(S));g()(H)}function xe(){m()()}function T(H){H.stopPropagation(),H.key==="Escape"&&get(I)!=="typing"&&xe(),(H.ctrlKey||H.metaKey)&&H.key==="z"&&(H.preventDefault(),Ie())}const z={arrow:"M5 19L19 5M19 5H9M19 5V15",rectangle:"M3 3h18v18H3z",ellipse:"",freehand:"M3 17c1-2 3-6 5-6s3 4 5 4 3-6 5-6 2 4 3 4",text:"M6 4v16M18 4v16M6 12h12M8 4h-4M20 4h-4M8 20h-4M20 20h-4"},D={arrow:"Arrow",rectangle:"Rect",ellipse:"Ellipse",freehand:"Draw",text:"Text"},Z=["arrow","rectangle","ellipse","freehand","text"];var G={get imageDataUrl(){return h()},set imageDataUrl(H){h(H),flushSync()},get onsave(){return g()},set onsave(H){g(H),flushSync()},get oncancel(){return m()},set oncancel(H){m(H),flushSync()}},oe=root$6(),_e=child(oe),B=child(_e);each(B,21,()=>Z,index,(H,L)=>{var Y=root_1$7();let ee;var pe=child(Y);{var te=Te=>{var ze=root_2$7();append(Te,ze)},ce=Te=>{var ze=root_3$6(),Be=child(ze);reset(ze),template_effect(()=>set_attribute(Be,"d",z[get(L)])),append(Te,ze)};if_block(pe,Te=>{get(L)==="ellipse"?Te(te):Te(ce,!1)})}var be=sibling(pe,2),De=child(be,!0);reset(be),reset(Y),template_effect(()=>{ee=set_class(Y,1,"tool-btn svelte-yff65c",null,ee,{active:get(_)===get(L)}),set_attribute(Y,"title",D[get(L)]),set_text(De,D[get(L)])}),delegated("click",Y,()=>{set(_,get(L),!0)}),append(H,Y)}),reset(B);var Q=sibling(B,4);each(Q,21,()=>ANNOTATION_COLORS,index,(H,L)=>{var Y=root_4$4();let ee;template_effect(()=>{ee=set_class(Y,1,"color-swatch svelte-yff65c",null,ee,{active:get(b)===get(L)}),set_style(Y,`background: ${get(L)??""}; ${get(L)==="#111827"?"border-color: #6b7280;":""}`),set_attribute(Y,"title",get(L))}),delegated("click",Y,()=>{set(b,get(L),!0)}),append(H,Y)}),reset(Q);var de=sibling(Q,4),re=child(de),ve=sibling(re,2);reset(de);var U=sibling(de,4),X=child(U),fe=sibling(X,2);reset(U),reset(_e);var le=sibling(_e,2),we=child(le);{var Le=H=>{var L=root_5$4(),Y=first_child(L);bind_this(Y,te=>set(w,te),()=>get(w));var ee=sibling(Y,2);let pe;bind_this(ee,te=>set(x,te),()=>get(x)),template_effect(()=>{set_attribute(Y,"width",get(E)),set_attribute(Y,"height",get(S)),set_attribute(ee,"width",get(E)),set_attribute(ee,"height",get(S)),pe=set_class(ee,1,"overlay-canvas svelte-yff65c",null,pe,{"cursor-crosshair":get(_)!=="text","cursor-text":get(_)==="text"})}),delegated("mousedown",ee,ne),delegated("mousemove",ee,ie),delegated("mouseup",ee,se),append(H,L)},Ce=H=>{var L=root_6$5();append(H,L)};if_block(we,H=>{get(k)?H(Le):H(Ce,!1)})}reset(le);var He=sibling(le,2);{var Re=H=>{var L=root_7$5();remove_input_defaults(L),bind_this(L,Y=>set(R,Y),()=>get(R)),template_effect(()=>set_style(L,`left: ${get($).left??""}; top: ${get($).top??""}; color: ${get(b)??""};`)),delegated("keydown",L,ae),event("blur",L,Ee),bind_value(L,()=>get(N),Y=>set(N,Y)),append(H,L)};if_block(He,H=>{get(I)==="typing"&&H(Re)})}return reset(oe),template_effect(()=>{re.disabled=get(y).length===0,ve.disabled=get(y).length===0}),delegated("keydown",oe,T),delegated("keyup",oe,H=>H.stopPropagation()),event("keypress",oe,H=>H.stopPropagation()),delegated("click",re,Ie),delegated("click",ve,Se),delegated("click",X,xe),delegated("click",fe,ge),append(d,oe),pop(G)}delegate(["keydown","keyup","click","mousedown","mousemove","mouseup"]),create_custom_element(AnnotationEditor,{imageDataUrl:{},onsave:{},oncancel:{}},[],[],{mode:"open"});var root_2$6=from_html('<div class="log-entry svelte-x1hlqn"><span class="log-type svelte-x1hlqn"> </span> <span class="log-msg svelte-x1hlqn"> </span></div>'),root_3$5=from_html('<div class="log-more svelte-x1hlqn"> </div>'),root_1$6=from_html('<div class="log-list svelte-x1hlqn"><div class="log-header svelte-x1hlqn"> </div> <div class="log-scroll svelte-x1hlqn"><!> <!></div></div>');const $$css$7={hash:"svelte-x1hlqn",code:".log-list.svelte-x1hlqn {border:1px solid #374151;border-radius:6px;overflow:hidden;}.log-header.svelte-x1hlqn {padding:6px 10px;background:#1f2937;font-size:11px;font-weight:600;color:#d1d5db;border-bottom:1px solid #374151;}.log-scroll.svelte-x1hlqn {max-height:140px;overflow-y:auto;background:#111827;}.log-entry.svelte-x1hlqn {padding:4px 10px;font-size:11px;font-family:'SF Mono', 'Fira Code', 'Cascadia Code', monospace;display:flex;gap:8px;border-bottom:1px solid #1f293780;line-height:1.4;}.log-type.svelte-x1hlqn {font-weight:600;text-transform:uppercase;font-size:10px;min-width:40px;flex-shrink:0;}.log-msg.svelte-x1hlqn {color:#d1d5db;word-break:break-word;}.log-more.svelte-x1hlqn {padding:4px 10px;font-size:10px;color:#6b7280;text-align:center;}"};function ConsoleLogList(d,p){push(p,!0),append_styles(d,$$css$7);let h=prop(p,"logs",23,()=>[]);const g={error:"#ef4444",warn:"#f59e0b",info:"#3b82f6",log:"#9ca3af",debug:"#8b5cf6",trace:"#6b7280"};var m={get logs(){return h()},set logs(w=[]){h(w),flushSync()}},_=comment(),b=first_child(_);{var y=w=>{var x=root_1$6(),E=child(x),S=child(E);reset(E);var k=sibling(E,2),I=child(k);each(I,17,()=>h().slice(-10),index,(R,C)=>{var $=root_2$6(),N=child($),O=child(N,!0);reset(N);var P=sibling(N,2),W=child(P);reset(P),reset($),template_effect(V=>{set_style(N,`color: ${(g[get(C).type]||"#9ca3af")??""}`),set_text(O,get(C).type),set_text(W,`${V??""}${get(C).message.length>120?"...":""}`)},[()=>get(C).message.substring(0,120)]),append(R,$)});var A=sibling(I,2);{var M=R=>{var C=root_3$5(),$=child(C);reset(C),template_effect(()=>set_text($,`+${h().length-10} more`)),append(R,C)};if_block(A,R=>{h().length>10&&R(M)})}reset(k),reset(x),template_effect(()=>set_text(S,`Console Logs (${h().length??""})`)),append(w,x)};if_block(b,w=>{h().length>0&&w(y)})}return append(d,_),pop(m)}create_custom_element(ConsoleLogList,{logs:{}},[],[],{mode:"open"});var root_2$5=from_svg('<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M3 8L6.5 11.5L13 4.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>'),root_3$4=from_svg('<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><circle cx="8" cy="8" r="6" stroke="currentColor" stroke-width="1.5"></circle><path d="M8 5V8.5M8 10.5V11" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>'),root_1$5=from_html('<div><span class="icon svelte-1f5s7q1"><!></span> <span class="msg"> </span></div>');const $$css$6={hash:"svelte-1f5s7q1",code:`.jat-toast.svelte-1f5s7q1 {position:absolute;bottom:70px;right:0;padding:10px 16px;border-radius:8px;font-size:13px;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(0,0,0,0.2);
79
+ /* Overlays exactly on base-canvas — sized by max-width/max-height */}.cursor-crosshair.svelte-yff65c {cursor:crosshair;}.cursor-text.svelte-yff65c {cursor:text;}.text-overlay-input.svelte-yff65c {position:fixed;background:transparent;border:1px dashed rgba(255,255,255,0.5);outline:none;font-size:16px;font-weight:bold;font-family:sans-serif;padding:2px 4px;z-index:2147483647;min-width:80px;}.loading.svelte-yff65c {color:#9ca3af;font-size:14px;}`};function AnnotationEditor(d,p){push(p,!0),append_styles(d,$$css$8);let h=prop(p,"imageDataUrl",7),g=prop(p,"onsave",7),m=prop(p,"oncancel",7),_=state("arrow"),b=state(proxy(ANNOTATION_COLORS[0])),y=state(proxy([])),w=state(void 0),x=state(void 0),E=state(0),S=state(0),k=state(!1),I=state("idle"),A={x:0,y:0},M=[],R=state(void 0),C=state(proxy({x:0,y:0})),$=state(proxy({left:"0px",top:"0px"})),N=state("");onMount(()=>{setAnnotationEditorOpen(!0);const H=new Image;H.onload=()=>{set(E,H.naturalWidth,!0),set(S,H.naturalHeight,!0),set(k,!0),requestAnimationFrame(()=>P(H))},H.src=h()}),onDestroy(()=>{setAnnotationEditorOpen(!1)});function O(){return new Promise((H,L)=>{const Y=new Image;Y.onload=()=>H(Y),Y.onerror=L,Y.src=h()})}async function P(H){if(!get(w))return;const L=get(w).getContext("2d");L&&(H||(H=await O()),get(w).width=get(E),get(w).height=get(S),L.drawImage(H,0,0,get(E),get(S)),renderAllShapes(L,get(y)))}function W(){if(!get(x))return;const H=get(x).getContext("2d");H&&(get(x).width=get(E),get(x).height=get(S),H.clearRect(0,0,get(E),get(S)))}function V(H){if(!get(x))return{x:0,y:0};const L=get(x).getBoundingClientRect(),Y=get(E)/L.width,ee=get(S)/L.height;return{x:(H.clientX-L.left)*Y,y:(H.clientY-L.top)*ee}}function q(H){if(!get(x))return{left:"0px",top:"0px"};const L=get(x).getBoundingClientRect();return{left:`${L.left+H.x/(get(E)/L.width)}px`,top:`${L.top+H.y/(get(S)/L.height)}px`}}function he(H){const L={color:get(b),strokeWidth:DEFAULT_STROKE_WIDTH};switch(get(_)){case"arrow":return{...L,id:nextShapeId(),type:"arrow",start:A,end:H};case"rectangle":return{...L,id:nextShapeId(),type:"rectangle",start:A,end:H};case"ellipse":return{...L,id:nextShapeId(),type:"ellipse",start:A,end:H};case"freehand":return{...L,id:nextShapeId(),type:"freehand",points:[...M,H]};default:return null}}function ne(H){if(get(I)==="typing"){Ee();return}const L=V(H);if(get(_)==="text"){set(I,"typing"),set(C,L,!0),set($,q(L),!0),set(N,""),requestAnimationFrame(()=>{var Y;return(Y=get(R))==null?void 0:Y.focus()});return}set(I,"drawing"),A=L,M=[L]}function ie(H){if(get(I)!=="drawing")return;const L=V(H);get(_)==="freehand"&&M.push(L),W();const Y=he(L);if(Y&&get(x)){const ee=get(x).getContext("2d");ee&&renderShape(ee,Y)}}function se(H){if(get(I)!=="drawing")return;const L=V(H),Y=he(L);Y&&set(y,[...get(y),Y],!0),set(I,"idle"),M=[],W(),P()}function Ee(){if(get(N).trim()){const H={id:nextShapeId(),type:"text",color:get(b),strokeWidth:DEFAULT_STROKE_WIDTH,position:get(C),content:get(N).trim(),fontSize:20};set(y,[...get(y),H],!0),P()}set(N,""),set(I,"idle")}function ae(H){H.key==="Enter"?(H.preventDefault(),Ee()):H.key==="Escape"&&(H.preventDefault(),set(N,""),set(I,"idle"))}function Ie(){get(y).length!==0&&(set(y,get(y).slice(0,-1),!0),P())}function Se(){set(y,[],!0),P()}async function ge(){if(get(y).length===0){g()(h());return}const H=await mergeAnnotation(h(),get(y),get(E),get(S));g()(H)}function xe(){m()()}function T(H){H.stopPropagation(),H.key==="Escape"&&get(I)!=="typing"&&xe(),(H.ctrlKey||H.metaKey)&&H.key==="z"&&(H.preventDefault(),Ie())}const z={arrow:"M5 19L19 5M19 5H9M19 5V15",rectangle:"M3 3h18v18H3z",ellipse:"",freehand:"M3 17c1-2 3-6 5-6s3 4 5 4 3-6 5-6 2 4 3 4",text:"M6 4v16M18 4v16M6 12h12M8 4h-4M20 4h-4M8 20h-4M20 20h-4"},D={arrow:"Arrow",rectangle:"Rect",ellipse:"Ellipse",freehand:"Draw",text:"Text"},Z=["arrow","rectangle","ellipse","freehand","text"];var G={get imageDataUrl(){return h()},set imageDataUrl(H){h(H),flushSync()},get onsave(){return g()},set onsave(H){g(H),flushSync()},get oncancel(){return m()},set oncancel(H){m(H),flushSync()}},oe=root$6(),_e=child(oe),B=child(_e);each(B,21,()=>Z,index,(H,L)=>{var Y=root_1$7();let ee;var pe=child(Y);{var te=Te=>{var ze=root_2$7();append(Te,ze)},ce=Te=>{var ze=root_3$6(),Be=child(ze);reset(ze),template_effect(()=>set_attribute(Be,"d",z[get(L)])),append(Te,ze)};if_block(pe,Te=>{get(L)==="ellipse"?Te(te):Te(ce,!1)})}var be=sibling(pe,2),De=child(be,!0);reset(be),reset(Y),template_effect(()=>{ee=set_class(Y,1,"tool-btn svelte-yff65c",null,ee,{active:get(_)===get(L)}),set_attribute(Y,"title",D[get(L)]),set_text(De,D[get(L)])}),delegated("click",Y,()=>{set(_,get(L),!0)}),append(H,Y)}),reset(B);var Q=sibling(B,4);each(Q,21,()=>ANNOTATION_COLORS,index,(H,L)=>{var Y=root_4$4();let ee;template_effect(()=>{ee=set_class(Y,1,"color-swatch svelte-yff65c",null,ee,{active:get(b)===get(L)}),set_style(Y,`background: ${get(L)??""}; ${get(L)==="#111827"?"border-color: #6b7280;":""}`),set_attribute(Y,"title",get(L))}),delegated("click",Y,()=>{set(b,get(L),!0)}),append(H,Y)}),reset(Q);var ue=sibling(Q,4),re=child(ue),ve=sibling(re,2);reset(ue);var U=sibling(ue,4),X=child(U),fe=sibling(X,2);reset(U),reset(_e);var le=sibling(_e,2),we=child(le);{var Le=H=>{var L=root_5$4(),Y=first_child(L);bind_this(Y,te=>set(w,te),()=>get(w));var ee=sibling(Y,2);let pe;bind_this(ee,te=>set(x,te),()=>get(x)),template_effect(()=>{set_attribute(Y,"width",get(E)),set_attribute(Y,"height",get(S)),set_attribute(ee,"width",get(E)),set_attribute(ee,"height",get(S)),pe=set_class(ee,1,"overlay-canvas svelte-yff65c",null,pe,{"cursor-crosshair":get(_)!=="text","cursor-text":get(_)==="text"})}),delegated("mousedown",ee,ne),delegated("mousemove",ee,ie),delegated("mouseup",ee,se),append(H,L)},Ce=H=>{var L=root_6$5();append(H,L)};if_block(we,H=>{get(k)?H(Le):H(Ce,!1)})}reset(le);var He=sibling(le,2);{var Re=H=>{var L=root_7$5();remove_input_defaults(L),bind_this(L,Y=>set(R,Y),()=>get(R)),template_effect(()=>set_style(L,`left: ${get($).left??""}; top: ${get($).top??""}; color: ${get(b)??""};`)),delegated("keydown",L,ae),event("blur",L,Ee),bind_value(L,()=>get(N),Y=>set(N,Y)),append(H,L)};if_block(He,H=>{get(I)==="typing"&&H(Re)})}return reset(oe),template_effect(()=>{re.disabled=get(y).length===0,ve.disabled=get(y).length===0}),delegated("keydown",oe,T),delegated("keyup",oe,H=>H.stopPropagation()),event("keypress",oe,H=>H.stopPropagation()),delegated("click",re,Ie),delegated("click",ve,Se),delegated("click",X,xe),delegated("click",fe,ge),append(d,oe),pop(G)}delegate(["keydown","keyup","click","mousedown","mousemove","mouseup"]),create_custom_element(AnnotationEditor,{imageDataUrl:{},onsave:{},oncancel:{}},[],[],{mode:"open"});var root_2$6=from_html('<div class="log-entry svelte-x1hlqn"><span class="log-type svelte-x1hlqn"> </span> <span class="log-msg svelte-x1hlqn"> </span></div>'),root_3$5=from_html('<div class="log-more svelte-x1hlqn"> </div>'),root_1$6=from_html('<div class="log-list svelte-x1hlqn"><div class="log-header svelte-x1hlqn"> </div> <div class="log-scroll svelte-x1hlqn"><!> <!></div></div>');const $$css$7={hash:"svelte-x1hlqn",code:".log-list.svelte-x1hlqn {border:1px solid #374151;border-radius:6px;overflow:hidden;}.log-header.svelte-x1hlqn {padding:6px 10px;background:#1f2937;font-size:11px;font-weight:600;color:#d1d5db;border-bottom:1px solid #374151;}.log-scroll.svelte-x1hlqn {max-height:140px;overflow-y:auto;background:#111827;}.log-entry.svelte-x1hlqn {padding:4px 10px;font-size:11px;font-family:'SF Mono', 'Fira Code', 'Cascadia Code', monospace;display:flex;gap:8px;border-bottom:1px solid #1f293780;line-height:1.4;}.log-type.svelte-x1hlqn {font-weight:600;text-transform:uppercase;font-size:10px;min-width:40px;flex-shrink:0;}.log-msg.svelte-x1hlqn {color:#d1d5db;word-break:break-word;}.log-more.svelte-x1hlqn {padding:4px 10px;font-size:10px;color:#6b7280;text-align:center;}"};function ConsoleLogList(d,p){push(p,!0),append_styles(d,$$css$7);let h=prop(p,"logs",23,()=>[]);const g={error:"#ef4444",warn:"#f59e0b",info:"#3b82f6",log:"#9ca3af",debug:"#8b5cf6",trace:"#6b7280"};var m={get logs(){return h()},set logs(w=[]){h(w),flushSync()}},_=comment(),b=first_child(_);{var y=w=>{var x=root_1$6(),E=child(x),S=child(E);reset(E);var k=sibling(E,2),I=child(k);each(I,17,()=>h().slice(-10),index,(R,C)=>{var $=root_2$6(),N=child($),O=child(N,!0);reset(N);var P=sibling(N,2),W=child(P);reset(P),reset($),template_effect(V=>{set_style(N,`color: ${(g[get(C).type]||"#9ca3af")??""}`),set_text(O,get(C).type),set_text(W,`${V??""}${get(C).message.length>120?"...":""}`)},[()=>get(C).message.substring(0,120)]),append(R,$)});var A=sibling(I,2);{var M=R=>{var C=root_3$5(),$=child(C);reset(C),template_effect(()=>set_text($,`+${h().length-10} more`)),append(R,C)};if_block(A,R=>{h().length>10&&R(M)})}reset(k),reset(x),template_effect(()=>set_text(S,`Console Logs (${h().length??""})`)),append(w,x)};if_block(b,w=>{h().length>0&&w(y)})}return append(d,_),pop(m)}create_custom_element(ConsoleLogList,{logs:{}},[],[],{mode:"open"});var root_2$5=from_svg('<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M3 8L6.5 11.5L13 4.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>'),root_3$4=from_svg('<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><circle cx="8" cy="8" r="6" stroke="currentColor" stroke-width="1.5"></circle><path d="M8 5V8.5M8 10.5V11" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>'),root_1$5=from_html('<div><span class="icon svelte-1f5s7q1"><!></span> <span class="msg"> </span></div>');const $$css$6={hash:"svelte-1f5s7q1",code:`.jat-toast.svelte-1f5s7q1 {position:absolute;bottom:70px;right:0;padding:10px 16px;border-radius:8px;font-size:13px;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(0,0,0,0.2);
80
80
  animation: svelte-1f5s7q1-toast-in 0.3s ease;white-space:nowrap;}.success.svelte-1f5s7q1 {background:#065f46;color:#d1fae5;border:1px solid #10b981;}.error.svelte-1f5s7q1 {background:#7f1d1d;color:#fecaca;border:1px solid #ef4444;}.info.svelte-1f5s7q1 {background:#1e3a5f;color:#bfdbfe;border:1px solid #3b82f6;}.icon.svelte-1f5s7q1 {display:flex;align-items:center;}
81
81
  @keyframes svelte-1f5s7q1-toast-in {
82
82
  from { opacity: 0; transform: translateY(8px); }
@@ -101,7 +101,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
101
101
 
102
102
  /* Legend */.tv-legend.svelte-ccnhf {display:flex;gap:10px;margin-top:4px;justify-content:center;}.tv-legend-item.svelte-ccnhf {display:flex;align-items:center;gap:3px;font-size:9px;color:#6b7280;}.tv-legend-dot.svelte-ccnhf {width:6px;height:6px;border-radius:50%;display:inline-block;}
103
103
 
104
- /* Detail panel */.tv-detail-panel.svelte-ccnhf {padding:8px 10px;background:#1a1a2e;border-top:1px solid #374151;}.tv-detail-header.svelte-ccnhf {display:flex;align-items:center;gap:8px;margin-bottom:4px;}.tv-detail-badge.svelte-ccnhf {font-size:10px;padding:1px 6px;border-radius:3px;border:1px solid;font-family:'SF Mono', 'Fira Code', monospace;}.tv-detail-time.svelte-ccnhf {font-size:10px;color:#6b7280;font-family:'SF Mono', 'Fira Code', monospace;}.tv-detail-close.svelte-ccnhf {margin-left:auto;background:none;border:none;color:#6b7280;font-size:16px;cursor:pointer;padding:0 4px;}.tv-detail-close.svelte-ccnhf:hover {color:#e5e7eb;}.tv-detail-body.svelte-ccnhf {margin:0;padding:6px 8px;background:#111827;border-radius:4px;font-size:11px;color:#d1d5db;font-family:'SF Mono', 'Fira Code', monospace;white-space:pre-wrap;word-break:break-all;max-height:100px;overflow-y:auto;}`};function TimelineViewer(d,p){push(p,!0),append_styles(d,$$css$5);let h=prop(p,"recordingUrl",7),g=prop(p,"endpoint",7),m=prop(p,"consoleLogs",7,null),_=prop(p,"networkRequests",7,null),b=state(void 0),y=state(null),w=state(proxy([])),x=state(!0),E=state(""),S=state(!1),k=state(0),I=state(0),A=state(1),M=state(null),R=state(0),C=state(0);async function $(){set(x,!0),set(E,"");try{const T=h().startsWith("http")?h():`${g().replace(/\/$/,"")}${h()}`,z=await fetch(T);if(!z.ok)throw new Error(`HTTP ${z.status}`);const D=await z.json();Array.isArray(D)?set(w,D,!0):D.events&&(set(w,D.events,!0),D.recordingStartTime&&set(C,D.recordingStartTime,!0)),get(w).length===0&&set(E,"No recording events found")}catch(T){set(E,T instanceof Error?T.message:"Failed to load recording",!0)}finally{set(x,!1)}}let N=user_derived(()=>{if(get(I)===0)return[];const T=[],z=get(C);if(m())for(const D of m()){const Z=D.timestampMs-z;if(Z<0||Z>get(I))continue;const G=D.type==="error"?"#ef4444":D.type==="warn"?"#f59e0b":"#3b82f6";T.push({type:"console",timestampMs:D.timestampMs,offset:Z,pct:Z/get(I)*100,color:G,label:`console.${D.type}`,detail:D.message.length>200?D.message.slice(0,200)+"...":D.message})}if(_())for(const D of _()){const Z=D.timestampMs-z;if(Z<0||Z>get(I))continue;const G=D.status??0,oe=D.error||G>=400?"#ef4444":G>=200&&G<300?"#10b981":"#9ca3af",_e=D.url.replace(/^https?:\/\/[^/]+/,"");T.push({type:"network",timestampMs:D.timestampMs,offset:Z,pct:Z/get(I)*100,color:oe,label:`${D.method} ${G||"ERR"}`,detail:`${D.method} ${_e}${D.duration?` (${D.duration}ms)`:""}${D.error?` — ${D.error}`:""}`})}return T.sort((D,Z)=>D.offset-Z.offset),T});function O(){if(!get(b)||get(w).length===0)return;get(y)&&(get(y).pause(),set(y,null)),get(b).innerHTML="";const T=new Replayer(get(w),{root:get(b),skipInactive:!0,showWarning:!1,showDebug:!1,blockClass:"rr-block",speed:get(A)}),z=T.getMetaData();set(I,z.totalTime,!0),!get(C)&&z.startTime&&set(C,z.startTime,!0),W(),T.on(ReplayerEvents.Start,()=>{set(S,!0)}),T.on(ReplayerEvents.Pause,()=>{set(S,!1)}),T.on(ReplayerEvents.Resume,()=>{set(S,!0)}),T.on(ReplayerEvents.Finish,()=>{set(S,!1),set(k,get(I),!0)}),set(y,T,!0),P()}function P(){cancelAnimationFrame(get(R));function T(){get(y)&&get(S)&&set(k,get(y).getCurrentTime(),!0),set(R,requestAnimationFrame(T),!0)}set(R,requestAnimationFrame(T),!0)}function W(){if(!get(b))return;const T=get(b).querySelector(".replayer-wrapper"),z=get(b).querySelector("iframe");if(!T||!z)return;const D=get(b).clientWidth,Z=z.width?parseInt(z.width):z.clientWidth||1024,G=z.height?parseInt(z.height):z.clientHeight||768;if(Z>D){const oe=D/Z;T.style.transform=`scale(${oe})`,T.style.transformOrigin="top left",get(b).style.height=`${Math.min(300,G*oe)}px`}}function V(){get(y)&&(get(S)?get(y).pause():get(k)>=get(I)?get(y).play(0):get(y).resume())}function q(T){get(y)&&(get(y).pause(T),set(k,T,!0))}function he(T){const D=T.currentTarget.getBoundingClientRect(),Z=Math.max(0,Math.min(1,(T.clientX-D.left)/D.width));q(Z*get(I))}function ne(T){set(M,get(M)===T?null:T,!0),q(T.offset)}function ie(T){set(A,T,!0),get(y)&&get(y).setConfig({speed:T})}function se(T){const z=Math.floor(T/1e3),D=Math.floor(z/60),Z=z%60;return`${D}:${Z.toString().padStart(2,"0")}`}user_effect(()=>($(),()=>{cancelAnimationFrame(get(R)),get(y)&&get(y).pause()})),user_effect(()=>{!get(x)&&get(w).length>0&&get(b)&&setTimeout(()=>O(),50)});var Ee={get recordingUrl(){return h()},set recordingUrl(T){h(T),flushSync()},get endpoint(){return g()},set endpoint(T){g(T),flushSync()},get consoleLogs(){return m()},set consoleLogs(T=null){m(T),flushSync()},get networkRequests(){return _()},set networkRequests(T=null){_(T),flushSync()}},ae=root$5(),Ie=child(ae);{var Se=T=>{var z=root_1$4();append(T,z)},ge=T=>{var z=root_2$4(),D=child(z,!0);reset(z),template_effect(()=>set_text(D,get(E))),append(T,z)},xe=T=>{var z=root_3$3(),D=first_child(z);bind_this(D,Re=>set(b,Re),()=>get(b));var Z=sibling(D,2),G=child(Z),oe=child(G);{var _e=Re=>{var H=root_4$3();append(Re,H)},B=Re=>{var H=root_5$3();append(Re,H)};if_block(oe,Re=>{get(S)?Re(_e):Re(B,!1)})}reset(G);var Q=sibling(G,2),de=child(Q,!0);reset(Q);var re=sibling(Q,2);set_attribute(re,"aria-valuemin",0);var ve=child(re),U=sibling(ve,2);reset(re);var X=sibling(re,2),fe=child(X,!0);reset(X);var le=sibling(X,2);each(le,20,()=>[1,2,4],index,(Re,H)=>{var L=root_6$4();let Y;var ee=child(L);reset(L),template_effect(()=>{Y=set_class(L,1,"tv-speed-btn svelte-ccnhf",null,Y,{active:get(A)===H}),set_text(ee,`${H??""}x`)}),delegated("click",L,()=>ie(H)),append(Re,L)}),reset(le),reset(Z);var we=sibling(Z,2);{var Le=Re=>{var H=root_7$4(),L=child(H);set_attribute(L,"aria-valuemin",0);var Y=child(L),ee=sibling(Y,2);each(ee,17,()=>get(N),index,(pe,te)=>{var ce=root_8$4();let be;template_effect(De=>{be=set_class(ce,1,"tv-dot svelte-ccnhf",null,be,{selected:get(M)===get(te)}),set_style(ce,`left: ${get(te).pct??""}%; background: ${get(te).color??""};`),set_attribute(ce,"title",`${get(te).label??""}: ${get(te).detail??""}`),set_attribute(ce,"aria-label",`${get(te).label??""} at ${De??""}`)},[()=>se(get(te).offset)]),delegated("click",ce,De=>{De.stopPropagation(),ne(get(te))}),append(pe,ce)}),reset(L),next(2),reset(H),template_effect(()=>{set_attribute(L,"aria-valuemax",get(I)),set_attribute(L,"aria-valuenow",get(k)),set_style(Y,`left: ${get(I)?get(k)/get(I)*100:0}%`)}),delegated("click",L,he),delegated("keydown",L,pe=>{(pe.key==="Enter"||pe.key===" ")&&he(pe)}),append(Re,H)};if_block(we,Re=>{get(N).length>0&&Re(Le)})}var Ce=sibling(we,2);{var He=Re=>{var H=root_9$3(),L=child(H),Y=child(L),ee=child(Y,!0);reset(Y);var pe=sibling(Y,2),te=child(pe,!0);reset(pe);var ce=sibling(pe,2);reset(L);var be=sibling(L,2),De=child(be,!0);reset(be),reset(H),template_effect(Te=>{set_style(Y,`background: ${get(M).color??""}20; color: ${get(M).color??""}; border-color: ${get(M).color??""}40;`),set_text(ee,get(M).label),set_text(te,Te),set_text(De,get(M).detail)},[()=>se(get(M).offset)]),delegated("click",ce,()=>set(M,null)),append(Re,H)};if_block(Ce,Re=>{get(M)&&Re(He)})}template_effect((Re,H)=>{set_attribute(G,"aria-label",get(S)?"Pause":"Play"),set_text(de,Re),set_attribute(re,"aria-valuemax",get(I)),set_attribute(re,"aria-valuenow",get(k)),set_style(ve,`width: ${get(I)?get(k)/get(I)*100:0}%`),set_style(U,`left: ${get(I)?get(k)/get(I)*100:0}%`),set_text(fe,H)},[()=>se(get(k)),()=>se(get(I))]),delegated("click",G,V),delegated("click",re,he),delegated("keydown",re,Re=>{Re.key==="ArrowRight"?q(Math.min(get(I),get(k)+5e3)):Re.key==="ArrowLeft"&&q(Math.max(0,get(k)-5e3))}),append(T,z)};if_block(Ie,T=>{get(x)?T(Se):get(E)?T(ge,1):T(xe,!1)})}return reset(ae),append(d,ae),pop(Ee)}delegate(["click","keydown"]),create_custom_element(TimelineViewer,{recordingUrl:{},endpoint:{},consoleLogs:{},networkRequests:{}},[],[],{mode:"open"});var root_1$3=from_html('<div class="source-filters svelte-1fnmin5"><button>All <span class="source-pill-count svelte-1fnmin5"> </span></button> <button>Feedback <span class="source-pill-count svelte-1fnmin5"> </span></button> <button>Tasks <span class="source-pill-count svelte-1fnmin5"> </span></button></div>'),root_2$3=from_html('<span class="subtab-count svelte-1fnmin5"> </span>'),root_3$2=from_html('<span class="subtab-count done-count svelte-1fnmin5"> </span>'),root_5$2=from_html('<div class="loading svelte-1fnmin5"><span class="spinner svelte-1fnmin5"></span> <span>Loading your requests...</span></div>'),root_6$3=from_html('<div class="empty svelte-1fnmin5"><p class="error-text svelte-1fnmin5"> </p> <button class="retry-btn svelte-1fnmin5">Retry</button></div>'),root_7$3=from_html('<div class="empty svelte-1fnmin5"><div class="empty-icon svelte-1fnmin5"></div> <p>No requests yet</p> <p class="empty-sub svelte-1fnmin5">Submit feedback using the New Report tab</p></div>'),root_8$3=from_html('<div class="empty svelte-1fnmin5"><p class="empty-sub svelte-1fnmin5"> </p></div>'),root_12$2=from_html('<a class="report-url svelte-1fnmin5" target="_blank" rel="noopener noreferrer"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-1fnmin5"><path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6M15 3h6v6M10 14L21 3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> <span class="svelte-1fnmin5"> </span></a>'),root_13$2=from_html('<p class="revision-note svelte-1fnmin5"> </p>'),root_18$2=from_html('<li class="svelte-1fnmin5"> </li>'),root_17$3=from_html('<ul class="thread-summary svelte-1fnmin5"></ul>'),root_21$2=from_html('<button class="screenshot-thumb svelte-1fnmin5"><img loading="lazy" class="svelte-1fnmin5"/></button>'),root_23$2=from_html('<div class="screenshot-expanded svelte-1fnmin5"><img alt="Screenshot" class="svelte-1fnmin5"/> <button class="screenshot-close svelte-1fnmin5" aria-label="Close">&times;</button></div>'),root_19$2=from_html('<div class="thread-screenshots svelte-1fnmin5"></div> <!>',1),root_25$1=from_html('<span class="element-badge svelte-1fnmin5"> </span>'),root_24$1=from_html('<div class="thread-elements svelte-1fnmin5"></div>'),root_16$3=from_html('<div><div class="thread-entry-header svelte-1fnmin5"><span class="thread-from svelte-1fnmin5"> </span> <span> </span> <span class="thread-time svelte-1fnmin5"> </span></div> <p class="thread-message svelte-1fnmin5"><!></p> <!> <!> <!></div>'),root_15$3=from_html('<div class="thread svelte-1fnmin5"></div>'),root_14$3=from_html('<button class="thread-toggle svelte-1fnmin5"><svg width="10" height="10" viewBox="0 0 24 24" fill="none"><path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg> <span> </span></button> <!>',1),root_26=from_html('<p class="report-desc svelte-1fnmin5"> </p>'),root_28$1=from_html('<button class="screenshot-thumb svelte-1fnmin5"><img loading="lazy" class="svelte-1fnmin5"/></button>'),root_29$1=from_html('<div class="screenshot-expanded svelte-1fnmin5"><img alt="Screenshot" class="svelte-1fnmin5"/> <button class="screenshot-close svelte-1fnmin5" aria-label="Close">&times;</button></div>'),root_27$1=from_html('<div class="report-screenshots svelte-1fnmin5"></div> <!>',1),root_31$1=from_html('<div class="replay-header svelte-1fnmin5"><span class="replay-label svelte-1fnmin5">Session Recording</span> <a target="_blank" rel="noreferrer" class="replay-fullscreen-btn svelte-1fnmin5" title="Open full replay in new tab"><svg width="12" height="12" viewBox="0 0 16 16" fill="none"><path d="M10 2h4v4M14 2L9 7M6 14H2v-4M2 14l5-5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg> Full replay</a></div> <!>',1),root_32$1=from_html('<div class="dev-notes svelte-1fnmin5"><span class="dev-notes-label svelte-1fnmin5">Dev response:</span> <span class="dev-notes-content svelte-1fnmin5"><!></span></div>'),root_33$1=from_html('<span class="status-pill accepted svelte-1fnmin5"></span>'),root_34$1=from_html('<span class="status-pill rejected svelte-1fnmin5"></span>'),root_38$1=from_html('<div class="reject-preview-item svelte-1fnmin5"><img class="svelte-1fnmin5"/> <button class="reject-preview-remove svelte-1fnmin5" aria-label="Remove">&times;</button></div>'),root_37$1=from_html('<div class="reject-preview-strip svelte-1fnmin5"></div>'),root_40=from_html('<span class="element-badge removable svelte-1fnmin5"> <button class="element-remove svelte-1fnmin5">&times;</button></span>'),root_39$1=from_html('<div class="reject-element-strip svelte-1fnmin5"></div>'),root_41=from_html('<span class="char-hint svelte-1fnmin5"> </span>'),root_36$1=from_html('<div class="reject-reason-form svelte-1fnmin5"><textarea class="reject-reason-input svelte-1fnmin5" placeholder="Why are you rejecting? (min 10 characters)" rows="2"></textarea> <div class="reject-attachments svelte-1fnmin5"><button class="attach-btn svelte-1fnmin5" title="Capture screenshot"><svg width="12" height="12" viewBox="0 0 24 24" fill="none"><rect x="2" y="3" width="20" height="18" rx="2" stroke="currentColor" stroke-width="2"></rect><circle cx="8.5" cy="10.5" r="1.5" stroke="currentColor" stroke-width="2"></circle><path d="M21 15l-5-5L5 21" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> </button> <button class="attach-btn svelte-1fnmin5" title="Pick an element"><svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M7 7h10v10M7 17L17 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> Pick Element</button></div> <!> <!> <div class="reject-reason-actions svelte-1fnmin5"><button class="cancel-btn svelte-1fnmin5">Cancel</button> <button class="confirm-reject-btn svelte-1fnmin5"> </button></div> <!></div>'),root_42=from_html('<div class="response-actions svelte-1fnmin5"><button class="accept-btn svelte-1fnmin5"> </button> <button class="reject-btn svelte-1fnmin5"></button></div>'),root_11$2=from_html('<div class="card-body svelte-1fnmin5"><!> <!> <!> <!> <!> <!> <div class="report-footer svelte-1fnmin5"><span class="report-time svelte-1fnmin5"> </span> <!></div></div>'),root_10$2=from_html('<div><button class="card-toggle svelte-1fnmin5"><span class="report-type svelte-1fnmin5"> </span> <span class="report-title svelte-1fnmin5"> </span> <span class="report-status svelte-1fnmin5"> </span> <svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button> <!></div>'),root_9$2=from_html('<div class="reports svelte-1fnmin5"></div>'),root_4$2=from_html("<div><!></div>"),root$4=from_html('<div class="request-list svelte-1fnmin5"><!> <div class="subtabs svelte-1fnmin5"><button>In Progress <!></button> <button>Done <!></button></div> <div class="request-scroll svelte-1fnmin5"><!></div></div>');const $$css$4={hash:"svelte-1fnmin5",code:`.request-list.svelte-1fnmin5 {display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0;}
104
+ /* Detail panel */.tv-detail-panel.svelte-ccnhf {padding:8px 10px;background:#1a1a2e;border-top:1px solid #374151;}.tv-detail-header.svelte-ccnhf {display:flex;align-items:center;gap:8px;margin-bottom:4px;}.tv-detail-badge.svelte-ccnhf {font-size:10px;padding:1px 6px;border-radius:3px;border:1px solid;font-family:'SF Mono', 'Fira Code', monospace;}.tv-detail-time.svelte-ccnhf {font-size:10px;color:#6b7280;font-family:'SF Mono', 'Fira Code', monospace;}.tv-detail-close.svelte-ccnhf {margin-left:auto;background:none;border:none;color:#6b7280;font-size:16px;cursor:pointer;padding:0 4px;}.tv-detail-close.svelte-ccnhf:hover {color:#e5e7eb;}.tv-detail-body.svelte-ccnhf {margin:0;padding:6px 8px;background:#111827;border-radius:4px;font-size:11px;color:#d1d5db;font-family:'SF Mono', 'Fira Code', monospace;white-space:pre-wrap;word-break:break-all;max-height:100px;overflow-y:auto;}`};function TimelineViewer(d,p){push(p,!0),append_styles(d,$$css$5);let h=prop(p,"recordingUrl",7),g=prop(p,"endpoint",7),m=prop(p,"consoleLogs",7,null),_=prop(p,"networkRequests",7,null),b=state(void 0),y=state(null),w=state(proxy([])),x=state(!0),E=state(""),S=state(!1),k=state(0),I=state(0),A=state(1),M=state(null),R=state(0),C=state(0);async function $(){set(x,!0),set(E,"");try{const T=h().startsWith("http")?h():`${g().replace(/\/$/,"")}${h()}`,z=await fetch(T);if(!z.ok)throw new Error(`HTTP ${z.status}`);const D=await z.json();Array.isArray(D)?set(w,D,!0):D.events&&(set(w,D.events,!0),D.recordingStartTime&&set(C,D.recordingStartTime,!0)),get(w).length===0&&set(E,"No recording events found")}catch(T){set(E,T instanceof Error?T.message:"Failed to load recording",!0)}finally{set(x,!1)}}let N=user_derived(()=>{if(get(I)===0)return[];const T=[],z=get(C);if(m())for(const D of m()){const Z=D.timestampMs-z;if(Z<0||Z>get(I))continue;const G=D.type==="error"?"#ef4444":D.type==="warn"?"#f59e0b":"#3b82f6";T.push({type:"console",timestampMs:D.timestampMs,offset:Z,pct:Z/get(I)*100,color:G,label:`console.${D.type}`,detail:D.message.length>200?D.message.slice(0,200)+"...":D.message})}if(_())for(const D of _()){const Z=D.timestampMs-z;if(Z<0||Z>get(I))continue;const G=D.status??0,oe=D.error||G>=400?"#ef4444":G>=200&&G<300?"#10b981":"#9ca3af",_e=D.url.replace(/^https?:\/\/[^/]+/,"");T.push({type:"network",timestampMs:D.timestampMs,offset:Z,pct:Z/get(I)*100,color:oe,label:`${D.method} ${G||"ERR"}`,detail:`${D.method} ${_e}${D.duration?` (${D.duration}ms)`:""}${D.error?` — ${D.error}`:""}`})}return T.sort((D,Z)=>D.offset-Z.offset),T});function O(){if(!get(b)||get(w).length===0)return;get(y)&&(get(y).pause(),set(y,null)),get(b).innerHTML="";const T=new Replayer(get(w),{root:get(b),skipInactive:!0,showWarning:!1,showDebug:!1,blockClass:"rr-block",speed:get(A)}),z=T.getMetaData();set(I,z.totalTime,!0),!get(C)&&z.startTime&&set(C,z.startTime,!0),W(),T.on(ReplayerEvents.Start,()=>{set(S,!0)}),T.on(ReplayerEvents.Pause,()=>{set(S,!1)}),T.on(ReplayerEvents.Resume,()=>{set(S,!0)}),T.on(ReplayerEvents.Finish,()=>{set(S,!1),set(k,get(I),!0)}),set(y,T,!0),P()}function P(){cancelAnimationFrame(get(R));function T(){get(y)&&get(S)&&set(k,get(y).getCurrentTime(),!0),set(R,requestAnimationFrame(T),!0)}set(R,requestAnimationFrame(T),!0)}function W(){if(!get(b))return;const T=get(b).querySelector(".replayer-wrapper"),z=get(b).querySelector("iframe");if(!T||!z)return;const D=get(b).clientWidth,Z=z.width?parseInt(z.width):z.clientWidth||1024,G=z.height?parseInt(z.height):z.clientHeight||768;if(Z>D){const oe=D/Z;T.style.transform=`scale(${oe})`,T.style.transformOrigin="top left",get(b).style.height=`${Math.min(300,G*oe)}px`}}function V(){get(y)&&(get(S)?get(y).pause():get(k)>=get(I)?get(y).play(0):get(y).resume())}function q(T){get(y)&&(get(y).pause(T),set(k,T,!0))}function he(T){const D=T.currentTarget.getBoundingClientRect(),Z=Math.max(0,Math.min(1,(T.clientX-D.left)/D.width));q(Z*get(I))}function ne(T){set(M,get(M)===T?null:T,!0),q(T.offset)}function ie(T){set(A,T,!0),get(y)&&get(y).setConfig({speed:T})}function se(T){const z=Math.floor(T/1e3),D=Math.floor(z/60),Z=z%60;return`${D}:${Z.toString().padStart(2,"0")}`}user_effect(()=>($(),()=>{cancelAnimationFrame(get(R)),get(y)&&get(y).pause()})),user_effect(()=>{!get(x)&&get(w).length>0&&get(b)&&setTimeout(()=>O(),50)});var Ee={get recordingUrl(){return h()},set recordingUrl(T){h(T),flushSync()},get endpoint(){return g()},set endpoint(T){g(T),flushSync()},get consoleLogs(){return m()},set consoleLogs(T=null){m(T),flushSync()},get networkRequests(){return _()},set networkRequests(T=null){_(T),flushSync()}},ae=root$5(),Ie=child(ae);{var Se=T=>{var z=root_1$4();append(T,z)},ge=T=>{var z=root_2$4(),D=child(z,!0);reset(z),template_effect(()=>set_text(D,get(E))),append(T,z)},xe=T=>{var z=root_3$3(),D=first_child(z);bind_this(D,Re=>set(b,Re),()=>get(b));var Z=sibling(D,2),G=child(Z),oe=child(G);{var _e=Re=>{var H=root_4$3();append(Re,H)},B=Re=>{var H=root_5$3();append(Re,H)};if_block(oe,Re=>{get(S)?Re(_e):Re(B,!1)})}reset(G);var Q=sibling(G,2),ue=child(Q,!0);reset(Q);var re=sibling(Q,2);set_attribute(re,"aria-valuemin",0);var ve=child(re),U=sibling(ve,2);reset(re);var X=sibling(re,2),fe=child(X,!0);reset(X);var le=sibling(X,2);each(le,20,()=>[1,2,4],index,(Re,H)=>{var L=root_6$4();let Y;var ee=child(L);reset(L),template_effect(()=>{Y=set_class(L,1,"tv-speed-btn svelte-ccnhf",null,Y,{active:get(A)===H}),set_text(ee,`${H??""}x`)}),delegated("click",L,()=>ie(H)),append(Re,L)}),reset(le),reset(Z);var we=sibling(Z,2);{var Le=Re=>{var H=root_7$4(),L=child(H);set_attribute(L,"aria-valuemin",0);var Y=child(L),ee=sibling(Y,2);each(ee,17,()=>get(N),index,(pe,te)=>{var ce=root_8$4();let be;template_effect(De=>{be=set_class(ce,1,"tv-dot svelte-ccnhf",null,be,{selected:get(M)===get(te)}),set_style(ce,`left: ${get(te).pct??""}%; background: ${get(te).color??""};`),set_attribute(ce,"title",`${get(te).label??""}: ${get(te).detail??""}`),set_attribute(ce,"aria-label",`${get(te).label??""} at ${De??""}`)},[()=>se(get(te).offset)]),delegated("click",ce,De=>{De.stopPropagation(),ne(get(te))}),append(pe,ce)}),reset(L),next(2),reset(H),template_effect(()=>{set_attribute(L,"aria-valuemax",get(I)),set_attribute(L,"aria-valuenow",get(k)),set_style(Y,`left: ${get(I)?get(k)/get(I)*100:0}%`)}),delegated("click",L,he),delegated("keydown",L,pe=>{(pe.key==="Enter"||pe.key===" ")&&he(pe)}),append(Re,H)};if_block(we,Re=>{get(N).length>0&&Re(Le)})}var Ce=sibling(we,2);{var He=Re=>{var H=root_9$3(),L=child(H),Y=child(L),ee=child(Y,!0);reset(Y);var pe=sibling(Y,2),te=child(pe,!0);reset(pe);var ce=sibling(pe,2);reset(L);var be=sibling(L,2),De=child(be,!0);reset(be),reset(H),template_effect(Te=>{set_style(Y,`background: ${get(M).color??""}20; color: ${get(M).color??""}; border-color: ${get(M).color??""}40;`),set_text(ee,get(M).label),set_text(te,Te),set_text(De,get(M).detail)},[()=>se(get(M).offset)]),delegated("click",ce,()=>set(M,null)),append(Re,H)};if_block(Ce,Re=>{get(M)&&Re(He)})}template_effect((Re,H)=>{set_attribute(G,"aria-label",get(S)?"Pause":"Play"),set_text(ue,Re),set_attribute(re,"aria-valuemax",get(I)),set_attribute(re,"aria-valuenow",get(k)),set_style(ve,`width: ${get(I)?get(k)/get(I)*100:0}%`),set_style(U,`left: ${get(I)?get(k)/get(I)*100:0}%`),set_text(fe,H)},[()=>se(get(k)),()=>se(get(I))]),delegated("click",G,V),delegated("click",re,he),delegated("keydown",re,Re=>{Re.key==="ArrowRight"?q(Math.min(get(I),get(k)+5e3)):Re.key==="ArrowLeft"&&q(Math.max(0,get(k)-5e3))}),append(T,z)};if_block(Ie,T=>{get(x)?T(Se):get(E)?T(ge,1):T(xe,!1)})}return reset(ae),append(d,ae),pop(Ee)}delegate(["click","keydown"]),create_custom_element(TimelineViewer,{recordingUrl:{},endpoint:{},consoleLogs:{},networkRequests:{}},[],[],{mode:"open"});var root_1$3=from_html('<div class="source-filters svelte-1fnmin5"><button>All <span class="source-pill-count svelte-1fnmin5"> </span></button> <button>Feedback <span class="source-pill-count svelte-1fnmin5"> </span></button> <button>Tasks <span class="source-pill-count svelte-1fnmin5"> </span></button></div>'),root_2$3=from_html('<span class="subtab-count svelte-1fnmin5"> </span>'),root_3$2=from_html('<span class="subtab-count done-count svelte-1fnmin5"> </span>'),root_5$2=from_html('<div class="loading svelte-1fnmin5"><span class="spinner svelte-1fnmin5"></span> <span>Loading your requests...</span></div>'),root_6$3=from_html('<div class="empty svelte-1fnmin5"><p class="error-text svelte-1fnmin5"> </p> <button class="retry-btn svelte-1fnmin5">Retry</button></div>'),root_7$3=from_html('<div class="empty svelte-1fnmin5"><div class="empty-icon svelte-1fnmin5"></div> <p>No requests yet</p> <p class="empty-sub svelte-1fnmin5">Submit feedback using the New Report tab</p></div>'),root_8$3=from_html('<div class="empty svelte-1fnmin5"><p class="empty-sub svelte-1fnmin5"> </p></div>'),root_12$2=from_html('<a class="report-url svelte-1fnmin5" target="_blank" rel="noopener noreferrer"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-1fnmin5"><path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6M15 3h6v6M10 14L21 3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> <span class="svelte-1fnmin5"> </span></a>'),root_13$2=from_html('<p class="revision-note svelte-1fnmin5"> </p>'),root_18$2=from_html('<li class="svelte-1fnmin5"> </li>'),root_17$3=from_html('<ul class="thread-summary svelte-1fnmin5"></ul>'),root_21$2=from_html('<button class="screenshot-thumb svelte-1fnmin5"><img loading="lazy" class="svelte-1fnmin5"/></button>'),root_23$2=from_html('<div class="screenshot-expanded svelte-1fnmin5"><img alt="Screenshot" class="svelte-1fnmin5"/> <button class="screenshot-close svelte-1fnmin5" aria-label="Close">&times;</button></div>'),root_19$2=from_html('<div class="thread-screenshots svelte-1fnmin5"></div> <!>',1),root_25$1=from_html('<span class="element-badge svelte-1fnmin5"> </span>'),root_24$1=from_html('<div class="thread-elements svelte-1fnmin5"></div>'),root_16$3=from_html('<div><div class="thread-entry-header svelte-1fnmin5"><span class="thread-from svelte-1fnmin5"> </span> <span> </span> <span class="thread-time svelte-1fnmin5"> </span></div> <p class="thread-message svelte-1fnmin5"><!></p> <!> <!> <!></div>'),root_15$3=from_html('<div class="thread svelte-1fnmin5"></div>'),root_14$3=from_html('<button class="thread-toggle svelte-1fnmin5"><svg width="10" height="10" viewBox="0 0 24 24" fill="none"><path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg> <span> </span></button> <!>',1),root_26=from_html('<p class="report-desc svelte-1fnmin5"> </p>'),root_28$1=from_html('<button class="screenshot-thumb svelte-1fnmin5"><img loading="lazy" class="svelte-1fnmin5"/></button>'),root_29$1=from_html('<div class="screenshot-expanded svelte-1fnmin5"><img alt="Screenshot" class="svelte-1fnmin5"/> <button class="screenshot-close svelte-1fnmin5" aria-label="Close">&times;</button></div>'),root_27$1=from_html('<div class="report-screenshots svelte-1fnmin5"></div> <!>',1),root_31$1=from_html('<div class="replay-header svelte-1fnmin5"><span class="replay-label svelte-1fnmin5">Session Recording</span> <a target="_blank" rel="noreferrer" class="replay-fullscreen-btn svelte-1fnmin5" title="Open full replay in new tab"><svg width="12" height="12" viewBox="0 0 16 16" fill="none"><path d="M10 2h4v4M14 2L9 7M6 14H2v-4M2 14l5-5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg> Full replay</a></div> <!>',1),root_32$1=from_html('<div class="dev-notes svelte-1fnmin5"><span class="dev-notes-label svelte-1fnmin5">Dev response:</span> <span class="dev-notes-content svelte-1fnmin5"><!></span></div>'),root_33$1=from_html('<span class="status-pill accepted svelte-1fnmin5"></span>'),root_34$1=from_html('<span class="status-pill rejected svelte-1fnmin5"></span>'),root_38$1=from_html('<div class="reject-preview-item svelte-1fnmin5"><img class="svelte-1fnmin5"/> <button class="reject-preview-remove svelte-1fnmin5" aria-label="Remove">&times;</button></div>'),root_37$1=from_html('<div class="reject-preview-strip svelte-1fnmin5"></div>'),root_40=from_html('<span class="element-badge removable svelte-1fnmin5"> <button class="element-remove svelte-1fnmin5">&times;</button></span>'),root_39$1=from_html('<div class="reject-element-strip svelte-1fnmin5"></div>'),root_41=from_html('<span class="char-hint svelte-1fnmin5"> </span>'),root_36$1=from_html('<div class="reject-reason-form svelte-1fnmin5"><textarea class="reject-reason-input svelte-1fnmin5" placeholder="Why are you rejecting? (min 10 characters)" rows="2"></textarea> <div class="reject-attachments svelte-1fnmin5"><button class="attach-btn svelte-1fnmin5" title="Capture screenshot"><svg width="12" height="12" viewBox="0 0 24 24" fill="none"><rect x="2" y="3" width="20" height="18" rx="2" stroke="currentColor" stroke-width="2"></rect><circle cx="8.5" cy="10.5" r="1.5" stroke="currentColor" stroke-width="2"></circle><path d="M21 15l-5-5L5 21" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> </button> <button class="attach-btn svelte-1fnmin5" title="Pick an element"><svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M7 7h10v10M7 17L17 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> Pick Element</button></div> <!> <!> <div class="reject-reason-actions svelte-1fnmin5"><button class="cancel-btn svelte-1fnmin5">Cancel</button> <button class="confirm-reject-btn svelte-1fnmin5"> </button></div> <!></div>'),root_42=from_html('<div class="response-actions svelte-1fnmin5"><button class="accept-btn svelte-1fnmin5"> </button> <button class="reject-btn svelte-1fnmin5"></button></div>'),root_11$2=from_html('<div class="card-body svelte-1fnmin5"><!> <!> <!> <!> <!> <!> <div class="report-footer svelte-1fnmin5"><span class="report-time svelte-1fnmin5"> </span> <!></div></div>'),root_10$2=from_html('<div><button class="card-toggle svelte-1fnmin5"><span class="report-type svelte-1fnmin5"> </span> <span class="report-title svelte-1fnmin5"> </span> <span class="report-status svelte-1fnmin5"> </span> <svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button> <!></div>'),root_9$2=from_html('<div class="reports svelte-1fnmin5"></div>'),root_4$2=from_html("<div><!></div>"),root$4=from_html('<div class="request-list svelte-1fnmin5"><!> <div class="subtabs svelte-1fnmin5"><button>In Progress <!></button> <button>Done <!></button></div> <div class="request-scroll svelte-1fnmin5"><!></div></div>');const $$css$4={hash:"svelte-1fnmin5",code:`.request-list.svelte-1fnmin5 {display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0;}
105
105
 
106
106
  /* Source filters */.source-filters.svelte-1fnmin5 {display:flex;gap:4px;padding:8px 12px 4px;flex-shrink:0;}.source-pill.svelte-1fnmin5 {display:flex;align-items:center;gap:3px;padding:3px 8px;background:#1f2937;border:1px solid #374151;border-radius:12px;color:#9ca3af;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;transition:all 0.15s;}.source-pill.svelte-1fnmin5:hover {border-color:#4b5563;color:#d1d5db;}.source-pill.active.svelte-1fnmin5 {background:#3b82f620;border-color:#3b82f640;color:#60a5fa;}.source-pill-count.svelte-1fnmin5 {font-size:9px;opacity:0.7;}
107
107
 
@@ -117,7 +117,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
117
117
 
118
118
  /* Thread container */.thread.svelte-1fnmin5 {margin-top:6px;display:flex;flex-direction:column;gap:4px;}.thread-entry.svelte-1fnmin5 {padding:6px 8px;border-radius:5px;font-size:12px;border-left:2px solid;}.thread-user.svelte-1fnmin5 {background:#111827;border-left-color:#6b7280;}.thread-dev.svelte-1fnmin5 {background:#0f172a;border-left-color:#3b82f6;}.thread-entry-header.svelte-1fnmin5 {display:flex;align-items:center;gap:6px;margin-bottom:3px;}.thread-from.svelte-1fnmin5 {font-weight:600;font-size:11px;color:#d1d5db;}.thread-type-badge.svelte-1fnmin5 {font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:0.3px;}.thread-type-badge.submission.svelte-1fnmin5 {background:#6b728020;color:#9ca3af;}.thread-type-badge.completion.svelte-1fnmin5 {background:#3b82f620;color:#60a5fa;}.thread-type-badge.rejection.svelte-1fnmin5 {background:#ef444420;color:#f87171;}.thread-type-badge.acceptance.svelte-1fnmin5 {background:#10b98120;color:#34d399;}.thread-time.svelte-1fnmin5 {font-size:10px;color:#4b5563;margin-left:auto;}.thread-message.svelte-1fnmin5 {color:#d1d5db;line-height:1.5;margin:0;word-break:break-word;}.thread-summary.svelte-1fnmin5 {margin:4px 0 0 0;padding:0 0 0 16px;font-size:11px;color:#9ca3af;}.thread-summary.svelte-1fnmin5 li:where(.svelte-1fnmin5) {margin:1px 0;}.thread-screenshots.svelte-1fnmin5 {display:flex;gap:4px;margin-top:4px;}.thread-elements.svelte-1fnmin5 {display:flex;gap:3px;flex-wrap:wrap;margin-top:4px;}.element-badge.svelte-1fnmin5 {font-size:10px;font-family:'SF Mono', 'Fira Code', 'Consolas', monospace;padding:1px 5px;background:#1e293b;border:1px solid #334155;border-radius:3px;color:#94a3b8;}.element-badge.removable.svelte-1fnmin5 {display:inline-flex;align-items:center;gap:3px;}.element-remove.svelte-1fnmin5 {background:none;border:none;color:#6b7280;cursor:pointer;padding:0;font-size:12px;line-height:1;}.element-remove.svelte-1fnmin5:hover {color:#ef4444;}
119
119
 
120
- /* Enhanced rejection form */.reject-attachments.svelte-1fnmin5 {display:flex;gap:6px;margin-top:6px;}.attach-btn.svelte-1fnmin5 {display:flex;align-items:center;gap:4px;padding:3px 8px;background:#111827;border:1px solid #374151;border-radius:4px;color:#9ca3af;font-size:11px;cursor:pointer;font-family:inherit;transition:border-color 0.15s, color 0.15s;}.attach-btn.svelte-1fnmin5:hover:not(:disabled) {border-color:#60a5fa;color:#d1d5db;}.attach-btn.svelte-1fnmin5:disabled {opacity:0.5;cursor:not-allowed;}.reject-preview-strip.svelte-1fnmin5 {display:flex;gap:4px;margin-top:6px;overflow-x:auto;}.reject-preview-item.svelte-1fnmin5 {position:relative;flex-shrink:0;width:52px;height:36px;border-radius:4px;overflow:hidden;border:1px solid #374151;}.reject-preview-item.svelte-1fnmin5 img:where(.svelte-1fnmin5) {width:100%;height:100%;object-fit:cover;display:block;}.reject-preview-remove.svelte-1fnmin5 {position:absolute;top:1px;right:1px;width:14px;height:14px;border-radius:50%;background:rgba(0,0,0,0.7);color:#e5e7eb;border:none;cursor:pointer;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;}.reject-preview-remove.svelte-1fnmin5:hover {background:#ef4444;}.reject-element-strip.svelte-1fnmin5 {display:flex;gap:3px;flex-wrap:wrap;margin-top:6px;}.report-footer.svelte-1fnmin5 {display:flex;align-items:center;justify-content:space-between;margin-top:8px;}.report-time.svelte-1fnmin5 {font-size:11px;color:#6b7280;}.status-pill.svelte-1fnmin5 {font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;}.status-pill.accepted.svelte-1fnmin5 {color:#10b981;background:#10b98118;}.status-pill.rejected.svelte-1fnmin5 {color:#ef4444;background:#ef444418;}.response-actions.svelte-1fnmin5 {display:flex;gap:6px;}.accept-btn.svelte-1fnmin5, .reject-btn.svelte-1fnmin5 {padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid;font-family:inherit;transition:background 0.15s;}.accept-btn.svelte-1fnmin5 {background:#10b98118;color:#10b981;border-color:#10b98140;}.accept-btn.svelte-1fnmin5:hover:not(:disabled) {background:#10b98130;}.reject-btn.svelte-1fnmin5 {background:#ef444418;color:#ef4444;border-color:#ef444440;}.reject-btn.svelte-1fnmin5:hover:not(:disabled) {background:#ef444430;}.accept-btn.svelte-1fnmin5:disabled, .reject-btn.svelte-1fnmin5:disabled {opacity:0.5;cursor:not-allowed;}.reject-reason-form.svelte-1fnmin5 {width:100%;margin-top:6px;}.reject-reason-input.svelte-1fnmin5 {width:100%;padding:6px 8px;background:#111827;border:1px solid #374151;border-radius:5px;color:#d1d5db;font-size:12px;font-family:inherit;resize:vertical;min-height:40px;}.reject-reason-input.svelte-1fnmin5:focus {outline:none;border-color:#ef4444;}.reject-reason-actions.svelte-1fnmin5 {display:flex;justify-content:flex-end;gap:6px;margin-top:6px;}.cancel-btn.svelte-1fnmin5 {padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid #374151;background:#1f2937;color:#9ca3af;font-family:inherit;transition:background 0.15s;}.cancel-btn.svelte-1fnmin5:hover {background:#374151;}.confirm-reject-btn.svelte-1fnmin5 {padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid #ef444440;background:#ef444418;color:#ef4444;font-family:inherit;transition:background 0.15s;}.confirm-reject-btn.svelte-1fnmin5:hover:not(:disabled) {background:#ef444430;}.confirm-reject-btn.svelte-1fnmin5:disabled {opacity:0.5;cursor:not-allowed;}.char-hint.svelte-1fnmin5 {display:block;font-size:10px;color:#6b7280;margin-top:3px;}`};function RequestList(d,p){push(p,!0),append_styles(d,$$css$4);let h=prop(p,"endpoint",7),g=prop(p,"reports",31,()=>proxy([])),m=prop(p,"loading",7),_=prop(p,"error",7),b=prop(p,"onreload",7),y=state(null),w=state(null),x=state(null),E=state(void 0),S=state(""),k=state(""),I=state(""),A=state(proxy([])),M=state(proxy([])),R=state(!1),C=state("active"),$=state("all"),N=user_derived(()=>get($)==="all"?g():g().filter(L=>(L.source||"feedback")===get($))),O=user_derived(()=>get(C)==="active"?get(N).filter(L=>["submitted","in_progress","rejected","completed","wontfix"].includes(L.status)):get(N).filter(L=>L.status==="accepted"||L.status==="closed")),P=user_derived(()=>get(N).filter(L=>["submitted","in_progress","rejected","completed","wontfix"].includes(L.status)).length),W=user_derived(()=>get(N).filter(L=>L.status==="accepted"||L.status==="closed").length),V=user_derived(()=>g().filter(L=>(L.source||"feedback")==="feedback").length),q=user_derived(()=>g().filter(L=>L.source==="jat").length),he=user_derived(()=>get(V)>0&&get(q)>0);function ne(L){return L?L.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/^#{1,3} (.+)$/gm,'<strong style="display:block;margin-top:6px;color:#f3f4f6">$1</strong>').replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/^[-*] (.+)$/gm,'<span style="display:block;padding-left:10px">• $1</span>').replace(/\n/g,"<br>"):""}function ie(L){const Y=get(x)===L;set(x,Y?null:L,!0),Y?(get(w)===L&&set(w,null),set(y,null)):setTimeout(()=>{if(!get(E))return;const ee=get(E).querySelector(`[data-card-id="${L}"]`);ee&&ee.scrollIntoView({behavior:"smooth",block:"nearest"})},220)}function se(L){set(k,L,!0),set(I,""),set(A,[],!0),set(M,[],!0)}function Ee(){set(k,""),set(I,""),set(A,[],!0),set(M,[],!0)}async function ae(){if(!get(R)){set(R,!0);try{const L=await captureViewport();set(A,[...get(A),L],!0)}catch(L){console.error("Screenshot capture failed:",L)}set(R,!1)}}function Ie(L){set(A,get(A).filter((Y,ee)=>ee!==L),!0)}function Se(){startElementPicker(L=>{set(M,[...get(M),{tagName:L.tagName,className:L.className,id:L.id,selector:L.selector,textContent:L.textContent}],!0)})}function ge(L){set(M,get(M).filter((Y,ee)=>ee!==L),!0)}async function xe(L,Y,ee){set(S,L,!0);const pe=Y==="rejected"?{screenshots:get(A).length>0?get(A):void 0,elements:get(M).length>0?get(M):void 0}:void 0;(await respondToReport(h(),L,Y,ee,pe)).ok?(g(g().map(ce=>ce.id===L?{...ce,status:Y==="rejected"?"submitted":"accepted",responded_at:new Date().toISOString(),...Y==="rejected"?{revision_count:(ce.revision_count||0)+1}:{}}:ce)),set(k,""),set(I,""),set(A,[],!0),set(M,[],!0),b()()):set(k,""),set(S,"")}function T(L){set(w,get(w)===L?null:L,!0)}function z(L){return L?L.length:0}function D(L){return{submission:"Submitted",completion:"Completed",rejection:"Rejected",acceptance:"Accepted",note:"Note"}[L.type]||L.type}function Z(L){return{submitted:"Submitted",in_progress:"Working On It",completed:"Ready for Review",accepted:"Done",rejected:"Revising",wontfix:"Won't Fix",closed:"Closed"}[L]||L}function G(L){return{submitted:"#6b7280",in_progress:"#3b82f6",completed:"#f59e0b",accepted:"#10b981",rejected:"#f59e0b",wontfix:"#6b7280",closed:"#6b7280"}[L]||"#6b7280"}function oe(L){const Y=L.issue_type||L.type;return Y==="bug"?"🐛":Y==="enhancement"||Y==="feature"?"✨":Y==="task"?"✅":Y==="epic"?"🎯":"📝"}function _e(L){const Y=Date.now(),ee=new Date(L).getTime(),pe=Y-ee,te=Math.floor(pe/6e4);if(te<1)return"just now";if(te<60)return`${te}m ago`;const ce=Math.floor(te/60);if(ce<24)return`${ce}h ago`;const be=Math.floor(ce/24);return be<30?`${be}d ago`:new Date(L).toLocaleDateString()}var B={get endpoint(){return h()},set endpoint(L){h(L),flushSync()},get reports(){return g()},set reports(L=[]){g(L),flushSync()},get loading(){return m()},set loading(L){m(L),flushSync()},get error(){return _()},set error(L){_(L),flushSync()},get onreload(){return b()},set onreload(L){b(L),flushSync()}},Q=root$4(),de=child(Q);{var re=L=>{var Y=root_1$3(),ee=child(Y);let pe;var te=sibling(child(ee)),ce=child(te,!0);reset(te),reset(ee);var be=sibling(ee,2);let De;var Te=sibling(child(be)),ze=child(Te,!0);reset(Te),reset(be);var Be=sibling(be,2);let K;var Ze=sibling(child(Be)),tt=child(Ze,!0);reset(Ze),reset(Be),reset(Y),template_effect(()=>{pe=set_class(ee,1,"source-pill svelte-1fnmin5",null,pe,{active:get($)==="all"}),set_text(ce,g().length),De=set_class(be,1,"source-pill svelte-1fnmin5",null,De,{active:get($)==="feedback"}),set_text(ze,get(V)),K=set_class(Be,1,"source-pill svelte-1fnmin5",null,K,{active:get($)==="jat"}),set_text(tt,get(q))}),delegated("click",ee,()=>set($,"all")),delegated("click",be,()=>set($,"feedback")),delegated("click",Be,()=>set($,"jat")),append(L,Y)};if_block(de,L=>{get(he)&&L(re)})}var ve=sibling(de,2),U=child(ve);let X;var fe=sibling(child(U));{var le=L=>{var Y=root_2$3(),ee=child(Y,!0);reset(Y),template_effect(()=>set_text(ee,get(P))),append(L,Y)};if_block(fe,L=>{get(P)>0&&L(le)})}reset(U);var we=sibling(U,2);let Le;var Ce=sibling(child(we));{var He=L=>{var Y=root_3$2(),ee=child(Y,!0);reset(Y),template_effect(()=>set_text(ee,get(W))),append(L,Y)};if_block(Ce,L=>{get(W)>0&&L(He)})}reset(we),reset(ve);var Re=sibling(ve,2),H=child(Re);return key(H,()=>get(C),L=>{var Y=root_4$2(),ee=child(Y);{var pe=Te=>{var ze=root_5$2();append(Te,ze)},te=Te=>{var ze=root_6$3(),Be=child(ze),K=child(Be,!0);reset(Be);var Ze=sibling(Be,2);reset(ze),template_effect(()=>set_text(K,_())),delegated("click",Ze,function(...tt){var We;(We=b())==null||We.apply(this,tt)}),append(Te,ze)},ce=Te=>{var ze=root_7$3(),Be=child(ze);Be.textContent="📋",next(4),reset(ze),append(Te,ze)},be=Te=>{var ze=root_8$3(),Be=child(ze),K=child(Be,!0);reset(Be),reset(ze),template_effect(()=>set_text(K,get(C)==="submitted"?"No submitted requests":get(C)==="review"?"Nothing to review right now":"No completed requests yet")),append(Te,ze)},De=Te=>{var ze=root_9$2();each(ze,21,()=>get(O),Be=>Be.id,(Be,K)=>{var Ze=root_10$2();let tt;var We=child(Ze),ot=child(We),Rt=child(ot,!0);reset(ot);var cn=sibling(ot,2),Gn=child(cn,!0);reset(cn);var Ue=sibling(cn,2),Ye=child(Ue,!0);reset(Ue);var Nt=sibling(Ue,2);let gn;reset(We);var ht=sibling(We,2);{var kn=Jt=>{var Pt=root_11$2(),vn=child(Pt);{var kt=$e=>{var Fe=root_12$2(),Ke=sibling(child(Fe),2),at=child(Ke,!0);reset(Ke),reset(Fe),template_effect(Ct=>{set_attribute(Fe,"href",get(K).page_url),set_text(at,Ct)},[()=>get(K).page_url.replace(/^https?:\/\//,"").split("?")[0]]),append($e,Fe)};if_block(vn,$e=>{get(K).page_url&&$e(kt)})}var Zt=sibling(vn,2);{var Hn=$e=>{var Fe=root_13$2(),Ke=child(Fe);reset(Fe),template_effect(()=>set_text(Ke,`Revision ${get(K).revision_count??""}`)),append($e,Fe)};if_block(Zt,$e=>{get(K).revision_count>0&&get(K).status!=="accepted"&&$e(Hn)})}var qn=sibling(Zt,2);{var ir=$e=>{var Fe=root_14$3(),Ke=first_child(Fe),at=child(Ke);let Ct;var lt=sibling(at,2),nt=child(lt);reset(lt),reset(Ke);var Ve=sibling(Ke,2);{var gt=Ge=>{var mt=root_15$3();each(mt,21,()=>get(K).thread,Qt=>Qt.id,(Qt,Qe)=>{var mn=root_16$3();let _n;var Cn=child(mn),Bt=child(Cn),In=child(Bt,!0);reset(Bt);var Dt=sibling(Bt,2);let Tn;var Xn=child(Dt,!0);reset(Dt);var An=sibling(Dt,2),Jn=child(An,!0);reset(An),reset(Cn);var st=sibling(Cn,2),Et=child(st);html(Et,()=>ne(get(Qe).message)),reset(st);var Ut=sibling(st,2);{var jt=yt=>{var It=root_17$3();each(It,21,()=>get(Qe).summary,index,(dn,F)=>{var J=root_18$2(),ye=child(J,!0);reset(J),template_effect(()=>set_text(ye,get(F))),append(dn,J)}),reset(It),append(yt,It)};if_block(Ut,yt=>{get(Qe).summary&&get(Qe).summary.length>0&&yt(jt)})}var en=sibling(Ut,2);{var Wt=yt=>{var It=root_19$2(),dn=first_child(It);each(dn,21,()=>get(Qe).screenshots,index,(ye,ue,ke)=>{var Pe=comment(),Xe=first_child(Pe);{var ct=dt=>{var wt=root_21$2();set_attribute(wt,"aria-label",`Screenshot ${ke+1}`);var $t=child(wt);set_attribute($t,"alt",`Screenshot ${ke+1}`),reset(wt),template_effect(()=>set_attribute($t,"src",`${h()??""}${get(ue).url??""}`)),delegated("click",wt,()=>set(y,get(y)===get(ue).url?null:get(ue).url,!0)),append(dt,wt)};if_block(Xe,dt=>{get(ue).url&&dt(ct)})}append(ye,Pe)}),reset(dn);var F=sibling(dn,2);{var J=ye=>{const ue=user_derived(()=>get(Qe).screenshots.find(ct=>ct.url===get(y)));var ke=comment(),Pe=first_child(ke);{var Xe=ct=>{var dt=root_23$2(),wt=child(dt),$t=sibling(wt,2);reset(dt),template_effect(()=>set_attribute(wt,"src",`${h()??""}${get(y)??""}`)),delegated("click",$t,()=>set(y,null)),append(ct,dt)};if_block(Pe,ct=>{get(ue)&&ct(Xe)})}append(ye,ke)};if_block(F,ye=>{get(y)&&ye(J)})}append(yt,It)};if_block(en,yt=>{get(Qe).screenshots&&get(Qe).screenshots.length>0&&yt(Wt)})}var Vt=sibling(en,2);{var Rn=yt=>{var It=root_24$1();each(It,21,()=>get(Qe).elements,index,(dn,F)=>{var J=root_25$1(),ye=child(J);reset(J),template_effect((ue,ke)=>{set_attribute(J,"title",get(F).selector),set_text(ye,`<${ue??""}${get(F).id?`#${get(F).id}`:""}${ke??""}>`)},[()=>get(F).tagName.toLowerCase(),()=>get(F).className?`.${get(F).className.split(" ")[0]}`:""]),append(dn,J)}),reset(It),append(yt,It)};if_block(Vt,yt=>{get(Qe).elements&&get(Qe).elements.length>0&&yt(Rn)})}reset(mn),template_effect((yt,It)=>{_n=set_class(mn,1,"thread-entry svelte-1fnmin5",null,_n,{"thread-user":get(Qe).from==="user","thread-dev":get(Qe).from==="dev"}),set_text(In,get(Qe).from==="user"?"You":"Dev"),Tn=set_class(Dt,1,"thread-type-badge svelte-1fnmin5",null,Tn,{submission:get(Qe).type==="submission",completion:get(Qe).type==="completion",rejection:get(Qe).type==="rejection",acceptance:get(Qe).type==="acceptance"}),set_text(Xn,yt),set_text(Jn,It)},[()=>D(get(Qe)),()=>_e(get(Qe).at)]),append(Qt,mn)}),reset(mt),append(Ge,mt)};if_block(Ve,Ge=>{get(w)===get(K).id&&Ge(gt)})}template_effect((Ge,mt)=>{Ct=set_class(at,0,"thread-toggle-icon svelte-1fnmin5",null,Ct,{expanded:get(w)===get(K).id}),set_text(nt,`${Ge??""} ${mt??""}`)},[()=>z(get(K).thread),()=>z(get(K).thread)===1?"message":"messages"]),delegated("click",Ke,()=>T(get(K).id)),append($e,Fe)},ar=$e=>{var Fe=root_26(),Ke=child(Fe,!0);reset(Fe),template_effect(at=>set_text(Ke,at),[()=>get(K).description.length>120?get(K).description.slice(0,120)+"...":get(K).description]),append($e,Fe)};if_block(qn,$e=>{get(K).thread&&get(K).thread.length>0?$e(ir):get(K).description&&$e(ar,1)})}var Pn=sibling(qn,2);{var xt=$e=>{var Fe=root_27$1(),Ke=first_child(Fe);each(Ke,21,()=>get(K).screenshot_urls,index,(nt,Ve,gt)=>{var Ge=root_28$1();set_attribute(Ge,"aria-label",`Screenshot ${gt+1}`);var mt=child(Ge);set_attribute(mt,"alt",`Screenshot ${gt+1}`),reset(Ge),template_effect(()=>set_attribute(mt,"src",`${h()??""}${get(Ve)??""}`)),delegated("click",Ge,()=>set(y,get(y)===get(Ve)?null:get(Ve),!0)),append(nt,Ge)}),reset(Ke);var at=sibling(Ke,2);{var Ct=nt=>{var Ve=root_29$1(),gt=child(Ve),Ge=sibling(gt,2);reset(Ve),template_effect(()=>set_attribute(gt,"src",`${h()??""}${get(y)??""}`)),delegated("click",Ge,()=>set(y,null)),append(nt,Ve)},lt=user_derived(()=>get(y)&&get(K).screenshot_urls.includes(get(y)));if_block(at,nt=>{get(lt)&&nt(Ct)})}append($e,Fe)};if_block(Pn,$e=>{!get(K).thread&&get(K).screenshot_urls&&get(K).screenshot_urls.length>0&&$e(xt)})}var Yn=sibling(Pn,2);{var _r=$e=>{const Fe=user_derived(()=>{var lt,nt;return get(K).recording_url??((nt=(lt=get(K).thread)==null?void 0:lt.find(Ve=>Ve.recordingUrl))==null?void 0:nt.recordingUrl)??null});var Ke=comment(),at=first_child(Ke);{var Ct=lt=>{var nt=root_31$1(),Ve=first_child(nt),gt=sibling(child(Ve),2);reset(Ve);var Ge=sibling(Ve,2);{let mt=user_derived(()=>get(K).console_logs??null),Qt=user_derived(()=>get(K).network_requests??null);TimelineViewer(Ge,{get recordingUrl(){return get(Fe)},get endpoint(){return h()},get consoleLogs(){return get(mt)},get networkRequests(){return get(Qt)}})}template_effect(()=>set_attribute(gt,"href",`${h()??""}/feedback/replay?id=${get(K).id??""}`)),append(lt,nt)};if_block(at,lt=>{get(Fe)&&lt(Ct)})}append($e,Ke)},br=user_derived(()=>get(K).recording_url||get(K).thread&&get(K).thread.some($e=>$e.recordingUrl));if_block(Yn,$e=>{get(br)&&$e(_r)})}var lr=sibling(Yn,2);{var yr=$e=>{var Fe=root_32$1(),Ke=sibling(child(Fe),2),at=child(Ke);html(at,()=>ne(get(K).dev_notes)),reset(Ke),reset(Fe),append($e,Fe)};if_block(lr,$e=>{get(K).dev_notes&&!get(K).thread&&get(K).status!=="in_progress"&&$e(yr)})}var cr=sibling(lr,2),Zn=child(cr),wr=child(Zn,!0);reset(Zn);var xr=sibling(Zn,2);{var Kn=$e=>{var Fe=root_33$1();Fe.textContent="✓ Accepted",append($e,Fe)},Er=$e=>{var Fe=root_34$1();Fe.textContent="✗ Rejected",append($e,Fe)},Sr=$e=>{var Fe=comment(),Ke=first_child(Fe);{var at=lt=>{var nt=root_36$1(),Ve=child(nt);remove_textarea_child(Ve);var gt=sibling(Ve,2),Ge=child(gt),mt=sibling(child(Ge));reset(Ge);var Qt=sibling(Ge,2);reset(gt);var Qe=sibling(gt,2);{var mn=st=>{var Et=root_37$1();each(Et,21,()=>get(A),index,(Ut,jt,en)=>{var Wt=root_38$1(),Vt=child(Wt);set_attribute(Vt,"alt",`Screenshot ${en+1}`);var Rn=sibling(Vt,2);reset(Wt),template_effect(()=>set_attribute(Vt,"src",get(jt))),delegated("click",Rn,()=>Ie(en)),append(Ut,Wt)}),reset(Et),append(st,Et)};if_block(Qe,st=>{get(A).length>0&&st(mn)})}var _n=sibling(Qe,2);{var Cn=st=>{var Et=root_39$1();each(Et,21,()=>get(M),index,(Ut,jt,en)=>{var Wt=root_40(),Vt=child(Wt),Rn=sibling(Vt);reset(Wt),template_effect(yt=>set_text(Vt,`<${yt??""}${get(jt).id?`#${get(jt).id}`:""}> `),[()=>get(jt).tagName.toLowerCase()]),delegated("click",Rn,()=>ge(en)),append(Ut,Wt)}),reset(Et),append(st,Et)};if_block(_n,st=>{get(M).length>0&&st(Cn)})}var Bt=sibling(_n,2),In=child(Bt),Dt=sibling(In,2),Tn=child(Dt,!0);reset(Dt),reset(Bt);var Xn=sibling(Bt,2);{var An=st=>{var Et=root_41(),Ut=child(Et);reset(Et),template_effect(jt=>set_text(Ut,`${jt??""} more characters needed`),[()=>10-get(I).trim().length]),append(st,Et)},Jn=user_derived(()=>get(I).trim().length>0&&get(I).trim().length<10);if_block(Xn,st=>{get(Jn)&&st(An)})}reset(nt),template_effect(st=>{Ge.disabled=get(R),set_text(mt,` ${get(R)?"...":"Screenshot"}`),Dt.disabled=st,set_text(Tn,get(S)===get(K).id?"...":"✗ Reject")},[()=>get(I).trim().length<10||get(S)===get(K).id]),bind_value(Ve,()=>get(I),st=>set(I,st)),delegated("click",Ge,ae),delegated("click",Qt,Se),delegated("click",In,Ee),delegated("click",Dt,()=>xe(get(K).id,"rejected",get(I).trim())),append(lt,nt)},Ct=lt=>{var nt=root_42(),Ve=child(nt),gt=child(Ve,!0);reset(Ve);var Ge=sibling(Ve,2);Ge.textContent="✗ Reject",reset(nt),template_effect(()=>{Ve.disabled=get(S)===get(K).id,set_text(gt,get(S)===get(K).id?"...":"✓ Accept"),Ge.disabled=get(S)===get(K).id}),delegated("click",Ve,()=>xe(get(K).id,"accepted")),delegated("click",Ge,()=>se(get(K).id)),append(lt,nt)};if_block(Ke,lt=>{get(k)===get(K).id?lt(at):lt(Ct,!1)})}append($e,Fe)};if_block(xr,$e=>{get(K).status==="accepted"?$e(Kn):get(K).status==="rejected"?$e(Er,1):(get(K).status==="completed"||get(K).status==="wontfix")&&$e(Sr,2)})}reset(cr),reset(Pt),template_effect($e=>set_text(wr,$e),[()=>_e(get(K).created_at)]),transition(3,Pt,()=>slide,()=>({duration:200})),append(Jt,Pt)};if_block(ht,Jt=>{get(x)===get(K).id&&Jt(kn)})}reset(Ze),template_effect((Jt,Pt,vn,kt,Zt)=>{tt=set_class(Ze,1,"report-card svelte-1fnmin5",null,tt,{awaiting:get(K).status==="completed",expanded:get(x)===get(K).id}),set_attribute(Ze,"data-card-id",get(K).id),set_text(Rt,Jt),set_text(Gn,get(K).title),set_style(Ue,`background: ${Pt??""}20; color: ${vn??""}; border-color: ${kt??""}40;`),set_text(Ye,Zt),gn=set_class(Nt,0,"chevron svelte-1fnmin5",null,gn,{"chevron-open":get(x)===get(K).id})},[()=>oe(get(K)),()=>G(get(K).status),()=>G(get(K).status),()=>G(get(K).status),()=>Z(get(K).status)]),delegated("click",We,()=>ie(get(K).id)),append(Be,Ze)}),reset(ze),append(Te,ze)};if_block(ee,Te=>{m()?Te(pe):_()&&g().length===0?Te(te,1):g().length===0?Te(ce,2):get(O).length===0?Te(be,3):Te(De,!1)})}reset(Y),transition(3,Y,()=>slide,()=>({duration:200})),append(L,Y)}),reset(Re),bind_this(Re,L=>set(E,L),()=>get(E)),reset(Q),template_effect(()=>{X=set_class(U,1,"subtab svelte-1fnmin5",null,X,{active:get(C)==="active"}),Le=set_class(we,1,"subtab svelte-1fnmin5",null,Le,{active:get(C)==="done"})}),delegated("click",U,()=>set(C,"active")),delegated("click",we,()=>set(C,"done")),append(d,Q),pop(B)}delegate(["click"]),create_custom_element(RequestList,{endpoint:{},reports:{},loading:{},error:{},onreload:{}},[],[],{mode:"open"});var root_6$2=from_html('<span class="step-counter svelte-bez0nz"> </span>'),root_7$2=from_html('<div class="empty-state svelte-bez0nz"><div class="empty-icon svelte-bez0nz"><svg width="32" height="32" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" fill="currentColor" opacity="0.3" class="svelte-bez0nz"></path><path d="M21 11.5a8.38 8.38 0 01-.9 3.8 8.5 8.5 0 01-7.6 4.7 8.38 8.38 0 01-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 01-.9-3.8 8.5 8.5 0 014.7-7.6 8.38 8.38 0 013.8-.9h.5a8.48 8.48 0 018 8v.5z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none" class="svelte-bez0nz"></path></svg></div> <p class="empty-text svelte-bez0nz">Tell the agent what to do on this page</p> <p class="empty-hint svelte-bez0nz">e.g. "Fill in the contact form" or "Click the sign up button"</p></div>'),root_14$2=from_html('<span class="msg-tool svelte-bez0nz"> </span>'),root_15$2=from_html('<div class="approval-buttons svelte-bez0nz"><button class="approve-btn svelte-bez0nz"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M20 6L9 17l-5-5" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-bez0nz"></path></svg> Approve</button> <button class="skip-btn svelte-bez0nz"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M5 5l14 14M19 5L5 19" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-bez0nz"></path></svg> Skip</button></div>'),root_16$2=from_html("<span> </span>"),root_17$2=from_html('<span class="msg-step svelte-bez0nz"> </span>'),root_10$1=from_html('<div><span class="msg-icon svelte-bez0nz"><!></span> <div class="msg-body svelte-bez0nz"><!> <span class="msg-text svelte-bez0nz"> </span> <!></div> <!></div>'),root_19$1=from_html('<span class="msg-tool svelte-bez0nz"> </span>'),root_20$1=from_html('<span class="msg-duration svelte-bez0nz"> </span>'),root_21$1=from_html('<span class="msg-step svelte-bez0nz"> </span>'),root_18$1=from_html('<div><span class="msg-icon svelte-bez0nz"> </span> <div class="msg-body svelte-bez0nz"><!> <span class="msg-text svelte-bez0nz"> </span> <!></div> <!></div>'),root_22$1=from_html('<div class="message msg-thinking live svelte-bez0nz"><span class="msg-icon svelte-bez0nz">…</span> <div class="msg-body svelte-bez0nz"><span class="thinking-dots svelte-bez0nz"><span class="dot svelte-bez0nz"></span> <span class="dot svelte-bez0nz"></span> <span class="dot svelte-bez0nz"></span></span></div></div>'),root_8$2=from_html("<!> <!>",1),root_23$1=from_html('<button class="stop-btn svelte-bez0nz" aria-label="Stop agent"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" class="svelte-bez0nz"><rect x="6" y="6" width="12" height="12" rx="1" class="svelte-bez0nz"></rect></svg> Stop</button>'),root$3=from_html('<div class="agent-panel svelte-bez0nz"><div class="status-bar svelte-bez0nz"><div><span class="status-dot svelte-bez0nz"></span> <span class="status-text svelte-bez0nz"><!></span></div> <div class="status-right svelte-bez0nz"><!> <label class="auto-approve-toggle svelte-bez0nz" title="Auto-approve all actions"><input type="checkbox" class="svelte-bez0nz"/> <span class="toggle-label svelte-bez0nz">Auto</span></label></div></div> <div class="messages svelte-bez0nz"><!></div> <div class="input-area svelte-bez0nz"><!> <div class="input-row svelte-bez0nz"><input type="text" class="chat-input svelte-bez0nz"/> <button class="send-btn svelte-bez0nz" aria-label="Send"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-bez0nz"></path></svg></button></div></div></div>');const $$css$3={hash:"svelte-bez0nz",code:`.agent-panel.svelte-bez0nz {display:flex;flex-direction:column;height:100%;min-height:0;font-family:inherit;color:#e5e7eb;}
120
+ /* Enhanced rejection form */.reject-attachments.svelte-1fnmin5 {display:flex;gap:6px;margin-top:6px;}.attach-btn.svelte-1fnmin5 {display:flex;align-items:center;gap:4px;padding:3px 8px;background:#111827;border:1px solid #374151;border-radius:4px;color:#9ca3af;font-size:11px;cursor:pointer;font-family:inherit;transition:border-color 0.15s, color 0.15s;}.attach-btn.svelte-1fnmin5:hover:not(:disabled) {border-color:#60a5fa;color:#d1d5db;}.attach-btn.svelte-1fnmin5:disabled {opacity:0.5;cursor:not-allowed;}.reject-preview-strip.svelte-1fnmin5 {display:flex;gap:4px;margin-top:6px;overflow-x:auto;}.reject-preview-item.svelte-1fnmin5 {position:relative;flex-shrink:0;width:52px;height:36px;border-radius:4px;overflow:hidden;border:1px solid #374151;}.reject-preview-item.svelte-1fnmin5 img:where(.svelte-1fnmin5) {width:100%;height:100%;object-fit:cover;display:block;}.reject-preview-remove.svelte-1fnmin5 {position:absolute;top:1px;right:1px;width:14px;height:14px;border-radius:50%;background:rgba(0,0,0,0.7);color:#e5e7eb;border:none;cursor:pointer;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;}.reject-preview-remove.svelte-1fnmin5:hover {background:#ef4444;}.reject-element-strip.svelte-1fnmin5 {display:flex;gap:3px;flex-wrap:wrap;margin-top:6px;}.report-footer.svelte-1fnmin5 {display:flex;align-items:center;justify-content:space-between;margin-top:8px;}.report-time.svelte-1fnmin5 {font-size:11px;color:#6b7280;}.status-pill.svelte-1fnmin5 {font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;}.status-pill.accepted.svelte-1fnmin5 {color:#10b981;background:#10b98118;}.status-pill.rejected.svelte-1fnmin5 {color:#ef4444;background:#ef444418;}.response-actions.svelte-1fnmin5 {display:flex;gap:6px;}.accept-btn.svelte-1fnmin5, .reject-btn.svelte-1fnmin5 {padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid;font-family:inherit;transition:background 0.15s;}.accept-btn.svelte-1fnmin5 {background:#10b98118;color:#10b981;border-color:#10b98140;}.accept-btn.svelte-1fnmin5:hover:not(:disabled) {background:#10b98130;}.reject-btn.svelte-1fnmin5 {background:#ef444418;color:#ef4444;border-color:#ef444440;}.reject-btn.svelte-1fnmin5:hover:not(:disabled) {background:#ef444430;}.accept-btn.svelte-1fnmin5:disabled, .reject-btn.svelte-1fnmin5:disabled {opacity:0.5;cursor:not-allowed;}.reject-reason-form.svelte-1fnmin5 {width:100%;margin-top:6px;}.reject-reason-input.svelte-1fnmin5 {width:100%;padding:6px 8px;background:#111827;border:1px solid #374151;border-radius:5px;color:#d1d5db;font-size:12px;font-family:inherit;resize:vertical;min-height:40px;}.reject-reason-input.svelte-1fnmin5:focus {outline:none;border-color:#ef4444;}.reject-reason-actions.svelte-1fnmin5 {display:flex;justify-content:flex-end;gap:6px;margin-top:6px;}.cancel-btn.svelte-1fnmin5 {padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid #374151;background:#1f2937;color:#9ca3af;font-family:inherit;transition:background 0.15s;}.cancel-btn.svelte-1fnmin5:hover {background:#374151;}.confirm-reject-btn.svelte-1fnmin5 {padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid #ef444440;background:#ef444418;color:#ef4444;font-family:inherit;transition:background 0.15s;}.confirm-reject-btn.svelte-1fnmin5:hover:not(:disabled) {background:#ef444430;}.confirm-reject-btn.svelte-1fnmin5:disabled {opacity:0.5;cursor:not-allowed;}.char-hint.svelte-1fnmin5 {display:block;font-size:10px;color:#6b7280;margin-top:3px;}`};function RequestList(d,p){push(p,!0),append_styles(d,$$css$4);let h=prop(p,"endpoint",7),g=prop(p,"reports",31,()=>proxy([])),m=prop(p,"loading",7),_=prop(p,"error",7),b=prop(p,"onreload",7),y=state(null),w=state(null),x=state(null),E=state(void 0),S=state(""),k=state(""),I=state(""),A=state(proxy([])),M=state(proxy([])),R=state(!1),C=state("active"),$=state("all"),N=user_derived(()=>get($)==="all"?g():g().filter(L=>(L.source||"feedback")===get($))),O=user_derived(()=>get(C)==="active"?get(N).filter(L=>["submitted","in_progress","rejected","completed","wontfix"].includes(L.status)):get(N).filter(L=>L.status==="accepted"||L.status==="closed")),P=user_derived(()=>get(N).filter(L=>["submitted","in_progress","rejected","completed","wontfix"].includes(L.status)).length),W=user_derived(()=>get(N).filter(L=>L.status==="accepted"||L.status==="closed").length),V=user_derived(()=>g().filter(L=>(L.source||"feedback")==="feedback").length),q=user_derived(()=>g().filter(L=>L.source==="jat").length),he=user_derived(()=>get(V)>0&&get(q)>0);function ne(L){return L?L.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/^#{1,3} (.+)$/gm,'<strong style="display:block;margin-top:6px;color:#f3f4f6">$1</strong>').replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/^[-*] (.+)$/gm,'<span style="display:block;padding-left:10px">• $1</span>').replace(/\n/g,"<br>"):""}function ie(L){const Y=get(x)===L;set(x,Y?null:L,!0),Y?(get(w)===L&&set(w,null),set(y,null)):setTimeout(()=>{if(!get(E))return;const ee=get(E).querySelector(`[data-card-id="${L}"]`);ee&&ee.scrollIntoView({behavior:"smooth",block:"nearest"})},220)}function se(L){set(k,L,!0),set(I,""),set(A,[],!0),set(M,[],!0)}function Ee(){set(k,""),set(I,""),set(A,[],!0),set(M,[],!0)}async function ae(){if(!get(R)){set(R,!0);try{const L=await captureViewport();set(A,[...get(A),L],!0)}catch(L){console.error("Screenshot capture failed:",L)}set(R,!1)}}function Ie(L){set(A,get(A).filter((Y,ee)=>ee!==L),!0)}function Se(){startElementPicker(L=>{set(M,[...get(M),{tagName:L.tagName,className:L.className,id:L.id,selector:L.selector,textContent:L.textContent}],!0)})}function ge(L){set(M,get(M).filter((Y,ee)=>ee!==L),!0)}async function xe(L,Y,ee){set(S,L,!0);const pe=Y==="rejected"?{screenshots:get(A).length>0?get(A):void 0,elements:get(M).length>0?get(M):void 0}:void 0;(await respondToReport(h(),L,Y,ee,pe)).ok?(g(g().map(ce=>ce.id===L?{...ce,status:Y==="rejected"?"submitted":"accepted",responded_at:new Date().toISOString(),...Y==="rejected"?{revision_count:(ce.revision_count||0)+1}:{}}:ce)),set(k,""),set(I,""),set(A,[],!0),set(M,[],!0),b()()):set(k,""),set(S,"")}function T(L){set(w,get(w)===L?null:L,!0)}function z(L){return L?L.length:0}function D(L){return{submission:"Submitted",completion:"Completed",rejection:"Rejected",acceptance:"Accepted",note:"Note"}[L.type]||L.type}function Z(L){return{submitted:"Submitted",in_progress:"Working On It",completed:"Ready for Review",accepted:"Done",rejected:"Revising",wontfix:"Won't Fix",closed:"Closed"}[L]||L}function G(L){return{submitted:"#6b7280",in_progress:"#3b82f6",completed:"#f59e0b",accepted:"#10b981",rejected:"#f59e0b",wontfix:"#6b7280",closed:"#6b7280"}[L]||"#6b7280"}function oe(L){const Y=L.issue_type||L.type;return Y==="bug"?"🐛":Y==="enhancement"||Y==="feature"?"✨":Y==="task"?"✅":Y==="epic"?"🎯":"📝"}function _e(L){const Y=Date.now(),ee=new Date(L).getTime(),pe=Y-ee,te=Math.floor(pe/6e4);if(te<1)return"just now";if(te<60)return`${te}m ago`;const ce=Math.floor(te/60);if(ce<24)return`${ce}h ago`;const be=Math.floor(ce/24);return be<30?`${be}d ago`:new Date(L).toLocaleDateString()}var B={get endpoint(){return h()},set endpoint(L){h(L),flushSync()},get reports(){return g()},set reports(L=[]){g(L),flushSync()},get loading(){return m()},set loading(L){m(L),flushSync()},get error(){return _()},set error(L){_(L),flushSync()},get onreload(){return b()},set onreload(L){b(L),flushSync()}},Q=root$4(),ue=child(Q);{var re=L=>{var Y=root_1$3(),ee=child(Y);let pe;var te=sibling(child(ee)),ce=child(te,!0);reset(te),reset(ee);var be=sibling(ee,2);let De;var Te=sibling(child(be)),ze=child(Te,!0);reset(Te),reset(be);var Be=sibling(be,2);let K;var Ze=sibling(child(Be)),tt=child(Ze,!0);reset(Ze),reset(Be),reset(Y),template_effect(()=>{pe=set_class(ee,1,"source-pill svelte-1fnmin5",null,pe,{active:get($)==="all"}),set_text(ce,g().length),De=set_class(be,1,"source-pill svelte-1fnmin5",null,De,{active:get($)==="feedback"}),set_text(ze,get(V)),K=set_class(Be,1,"source-pill svelte-1fnmin5",null,K,{active:get($)==="jat"}),set_text(tt,get(q))}),delegated("click",ee,()=>set($,"all")),delegated("click",be,()=>set($,"feedback")),delegated("click",Be,()=>set($,"jat")),append(L,Y)};if_block(ue,L=>{get(he)&&L(re)})}var ve=sibling(ue,2),U=child(ve);let X;var fe=sibling(child(U));{var le=L=>{var Y=root_2$3(),ee=child(Y,!0);reset(Y),template_effect(()=>set_text(ee,get(P))),append(L,Y)};if_block(fe,L=>{get(P)>0&&L(le)})}reset(U);var we=sibling(U,2);let Le;var Ce=sibling(child(we));{var He=L=>{var Y=root_3$2(),ee=child(Y,!0);reset(Y),template_effect(()=>set_text(ee,get(W))),append(L,Y)};if_block(Ce,L=>{get(W)>0&&L(He)})}reset(we),reset(ve);var Re=sibling(ve,2),H=child(Re);return key(H,()=>get(C),L=>{var Y=root_4$2(),ee=child(Y);{var pe=Te=>{var ze=root_5$2();append(Te,ze)},te=Te=>{var ze=root_6$3(),Be=child(ze),K=child(Be,!0);reset(Be);var Ze=sibling(Be,2);reset(ze),template_effect(()=>set_text(K,_())),delegated("click",Ze,function(...tt){var We;(We=b())==null||We.apply(this,tt)}),append(Te,ze)},ce=Te=>{var ze=root_7$3(),Be=child(ze);Be.textContent="📋",next(4),reset(ze),append(Te,ze)},be=Te=>{var ze=root_8$3(),Be=child(ze),K=child(Be,!0);reset(Be),reset(ze),template_effect(()=>set_text(K,get(C)==="submitted"?"No submitted requests":get(C)==="review"?"Nothing to review right now":"No completed requests yet")),append(Te,ze)},De=Te=>{var ze=root_9$2();each(ze,21,()=>get(O),Be=>Be.id,(Be,K)=>{var Ze=root_10$2();let tt;var We=child(Ze),ot=child(We),Rt=child(ot,!0);reset(ot);var cn=sibling(ot,2),Gn=child(cn,!0);reset(cn);var Ue=sibling(cn,2),Ye=child(Ue,!0);reset(Ue);var Nt=sibling(Ue,2);let gn;reset(We);var ht=sibling(We,2);{var kn=Jt=>{var Pt=root_11$2(),vn=child(Pt);{var kt=$e=>{var Fe=root_12$2(),Ke=sibling(child(Fe),2),at=child(Ke,!0);reset(Ke),reset(Fe),template_effect(Ct=>{set_attribute(Fe,"href",get(K).page_url),set_text(at,Ct)},[()=>get(K).page_url.replace(/^https?:\/\//,"").split("?")[0]]),append($e,Fe)};if_block(vn,$e=>{get(K).page_url&&$e(kt)})}var Zt=sibling(vn,2);{var Hn=$e=>{var Fe=root_13$2(),Ke=child(Fe);reset(Fe),template_effect(()=>set_text(Ke,`Revision ${get(K).revision_count??""}`)),append($e,Fe)};if_block(Zt,$e=>{get(K).revision_count>0&&get(K).status!=="accepted"&&$e(Hn)})}var qn=sibling(Zt,2);{var ir=$e=>{var Fe=root_14$3(),Ke=first_child(Fe),at=child(Ke);let Ct;var lt=sibling(at,2),nt=child(lt);reset(lt),reset(Ke);var Ve=sibling(Ke,2);{var gt=Ge=>{var mt=root_15$3();each(mt,21,()=>get(K).thread,Qt=>Qt.id,(Qt,Qe)=>{var mn=root_16$3();let _n;var Cn=child(mn),Bt=child(Cn),In=child(Bt,!0);reset(Bt);var Dt=sibling(Bt,2);let Tn;var Xn=child(Dt,!0);reset(Dt);var An=sibling(Dt,2),Jn=child(An,!0);reset(An),reset(Cn);var st=sibling(Cn,2),Et=child(st);html(Et,()=>ne(get(Qe).message)),reset(st);var Ut=sibling(st,2);{var jt=yt=>{var It=root_17$3();each(It,21,()=>get(Qe).summary,index,(dn,F)=>{var J=root_18$2(),ye=child(J,!0);reset(J),template_effect(()=>set_text(ye,get(F))),append(dn,J)}),reset(It),append(yt,It)};if_block(Ut,yt=>{get(Qe).summary&&get(Qe).summary.length>0&&yt(jt)})}var en=sibling(Ut,2);{var Wt=yt=>{var It=root_19$2(),dn=first_child(It);each(dn,21,()=>get(Qe).screenshots,index,(ye,de,ke)=>{var Pe=comment(),Xe=first_child(Pe);{var ct=dt=>{var wt=root_21$2();set_attribute(wt,"aria-label",`Screenshot ${ke+1}`);var $t=child(wt);set_attribute($t,"alt",`Screenshot ${ke+1}`),reset(wt),template_effect(()=>set_attribute($t,"src",`${h()??""}${get(de).url??""}`)),delegated("click",wt,()=>set(y,get(y)===get(de).url?null:get(de).url,!0)),append(dt,wt)};if_block(Xe,dt=>{get(de).url&&dt(ct)})}append(ye,Pe)}),reset(dn);var F=sibling(dn,2);{var J=ye=>{const de=user_derived(()=>get(Qe).screenshots.find(ct=>ct.url===get(y)));var ke=comment(),Pe=first_child(ke);{var Xe=ct=>{var dt=root_23$2(),wt=child(dt),$t=sibling(wt,2);reset(dt),template_effect(()=>set_attribute(wt,"src",`${h()??""}${get(y)??""}`)),delegated("click",$t,()=>set(y,null)),append(ct,dt)};if_block(Pe,ct=>{get(de)&&ct(Xe)})}append(ye,ke)};if_block(F,ye=>{get(y)&&ye(J)})}append(yt,It)};if_block(en,yt=>{get(Qe).screenshots&&get(Qe).screenshots.length>0&&yt(Wt)})}var Vt=sibling(en,2);{var Rn=yt=>{var It=root_24$1();each(It,21,()=>get(Qe).elements,index,(dn,F)=>{var J=root_25$1(),ye=child(J);reset(J),template_effect((de,ke)=>{set_attribute(J,"title",get(F).selector),set_text(ye,`<${de??""}${get(F).id?`#${get(F).id}`:""}${ke??""}>`)},[()=>get(F).tagName.toLowerCase(),()=>get(F).className?`.${get(F).className.split(" ")[0]}`:""]),append(dn,J)}),reset(It),append(yt,It)};if_block(Vt,yt=>{get(Qe).elements&&get(Qe).elements.length>0&&yt(Rn)})}reset(mn),template_effect((yt,It)=>{_n=set_class(mn,1,"thread-entry svelte-1fnmin5",null,_n,{"thread-user":get(Qe).from==="user","thread-dev":get(Qe).from==="dev"}),set_text(In,get(Qe).from==="user"?"You":"Dev"),Tn=set_class(Dt,1,"thread-type-badge svelte-1fnmin5",null,Tn,{submission:get(Qe).type==="submission",completion:get(Qe).type==="completion",rejection:get(Qe).type==="rejection",acceptance:get(Qe).type==="acceptance"}),set_text(Xn,yt),set_text(Jn,It)},[()=>D(get(Qe)),()=>_e(get(Qe).at)]),append(Qt,mn)}),reset(mt),append(Ge,mt)};if_block(Ve,Ge=>{get(w)===get(K).id&&Ge(gt)})}template_effect((Ge,mt)=>{Ct=set_class(at,0,"thread-toggle-icon svelte-1fnmin5",null,Ct,{expanded:get(w)===get(K).id}),set_text(nt,`${Ge??""} ${mt??""}`)},[()=>z(get(K).thread),()=>z(get(K).thread)===1?"message":"messages"]),delegated("click",Ke,()=>T(get(K).id)),append($e,Fe)},ar=$e=>{var Fe=root_26(),Ke=child(Fe,!0);reset(Fe),template_effect(at=>set_text(Ke,at),[()=>get(K).description.length>120?get(K).description.slice(0,120)+"...":get(K).description]),append($e,Fe)};if_block(qn,$e=>{get(K).thread&&get(K).thread.length>0?$e(ir):get(K).description&&$e(ar,1)})}var Pn=sibling(qn,2);{var xt=$e=>{var Fe=root_27$1(),Ke=first_child(Fe);each(Ke,21,()=>get(K).screenshot_urls,index,(nt,Ve,gt)=>{var Ge=root_28$1();set_attribute(Ge,"aria-label",`Screenshot ${gt+1}`);var mt=child(Ge);set_attribute(mt,"alt",`Screenshot ${gt+1}`),reset(Ge),template_effect(()=>set_attribute(mt,"src",`${h()??""}${get(Ve)??""}`)),delegated("click",Ge,()=>set(y,get(y)===get(Ve)?null:get(Ve),!0)),append(nt,Ge)}),reset(Ke);var at=sibling(Ke,2);{var Ct=nt=>{var Ve=root_29$1(),gt=child(Ve),Ge=sibling(gt,2);reset(Ve),template_effect(()=>set_attribute(gt,"src",`${h()??""}${get(y)??""}`)),delegated("click",Ge,()=>set(y,null)),append(nt,Ve)},lt=user_derived(()=>get(y)&&get(K).screenshot_urls.includes(get(y)));if_block(at,nt=>{get(lt)&&nt(Ct)})}append($e,Fe)};if_block(Pn,$e=>{!get(K).thread&&get(K).screenshot_urls&&get(K).screenshot_urls.length>0&&$e(xt)})}var Yn=sibling(Pn,2);{var _r=$e=>{const Fe=user_derived(()=>{var lt,nt;return get(K).recording_url??((nt=(lt=get(K).thread)==null?void 0:lt.find(Ve=>Ve.recordingUrl))==null?void 0:nt.recordingUrl)??null});var Ke=comment(),at=first_child(Ke);{var Ct=lt=>{var nt=root_31$1(),Ve=first_child(nt),gt=sibling(child(Ve),2);reset(Ve);var Ge=sibling(Ve,2);{let mt=user_derived(()=>get(K).console_logs??null),Qt=user_derived(()=>get(K).network_requests??null);TimelineViewer(Ge,{get recordingUrl(){return get(Fe)},get endpoint(){return h()},get consoleLogs(){return get(mt)},get networkRequests(){return get(Qt)}})}template_effect(()=>set_attribute(gt,"href",`${h()??""}/feedback/replay?id=${get(K).id??""}`)),append(lt,nt)};if_block(at,lt=>{get(Fe)&&lt(Ct)})}append($e,Ke)},br=user_derived(()=>get(K).recording_url||get(K).thread&&get(K).thread.some($e=>$e.recordingUrl));if_block(Yn,$e=>{get(br)&&$e(_r)})}var lr=sibling(Yn,2);{var yr=$e=>{var Fe=root_32$1(),Ke=sibling(child(Fe),2),at=child(Ke);html(at,()=>ne(get(K).dev_notes)),reset(Ke),reset(Fe),append($e,Fe)};if_block(lr,$e=>{get(K).dev_notes&&!get(K).thread&&get(K).status!=="in_progress"&&$e(yr)})}var cr=sibling(lr,2),Zn=child(cr),wr=child(Zn,!0);reset(Zn);var xr=sibling(Zn,2);{var Kn=$e=>{var Fe=root_33$1();Fe.textContent="✓ Accepted",append($e,Fe)},Er=$e=>{var Fe=root_34$1();Fe.textContent="✗ Rejected",append($e,Fe)},Sr=$e=>{var Fe=comment(),Ke=first_child(Fe);{var at=lt=>{var nt=root_36$1(),Ve=child(nt);remove_textarea_child(Ve);var gt=sibling(Ve,2),Ge=child(gt),mt=sibling(child(Ge));reset(Ge);var Qt=sibling(Ge,2);reset(gt);var Qe=sibling(gt,2);{var mn=st=>{var Et=root_37$1();each(Et,21,()=>get(A),index,(Ut,jt,en)=>{var Wt=root_38$1(),Vt=child(Wt);set_attribute(Vt,"alt",`Screenshot ${en+1}`);var Rn=sibling(Vt,2);reset(Wt),template_effect(()=>set_attribute(Vt,"src",get(jt))),delegated("click",Rn,()=>Ie(en)),append(Ut,Wt)}),reset(Et),append(st,Et)};if_block(Qe,st=>{get(A).length>0&&st(mn)})}var _n=sibling(Qe,2);{var Cn=st=>{var Et=root_39$1();each(Et,21,()=>get(M),index,(Ut,jt,en)=>{var Wt=root_40(),Vt=child(Wt),Rn=sibling(Vt);reset(Wt),template_effect(yt=>set_text(Vt,`<${yt??""}${get(jt).id?`#${get(jt).id}`:""}> `),[()=>get(jt).tagName.toLowerCase()]),delegated("click",Rn,()=>ge(en)),append(Ut,Wt)}),reset(Et),append(st,Et)};if_block(_n,st=>{get(M).length>0&&st(Cn)})}var Bt=sibling(_n,2),In=child(Bt),Dt=sibling(In,2),Tn=child(Dt,!0);reset(Dt),reset(Bt);var Xn=sibling(Bt,2);{var An=st=>{var Et=root_41(),Ut=child(Et);reset(Et),template_effect(jt=>set_text(Ut,`${jt??""} more characters needed`),[()=>10-get(I).trim().length]),append(st,Et)},Jn=user_derived(()=>get(I).trim().length>0&&get(I).trim().length<10);if_block(Xn,st=>{get(Jn)&&st(An)})}reset(nt),template_effect(st=>{Ge.disabled=get(R),set_text(mt,` ${get(R)?"...":"Screenshot"}`),Dt.disabled=st,set_text(Tn,get(S)===get(K).id?"...":"✗ Reject")},[()=>get(I).trim().length<10||get(S)===get(K).id]),bind_value(Ve,()=>get(I),st=>set(I,st)),delegated("click",Ge,ae),delegated("click",Qt,Se),delegated("click",In,Ee),delegated("click",Dt,()=>xe(get(K).id,"rejected",get(I).trim())),append(lt,nt)},Ct=lt=>{var nt=root_42(),Ve=child(nt),gt=child(Ve,!0);reset(Ve);var Ge=sibling(Ve,2);Ge.textContent="✗ Reject",reset(nt),template_effect(()=>{Ve.disabled=get(S)===get(K).id,set_text(gt,get(S)===get(K).id?"...":"✓ Accept"),Ge.disabled=get(S)===get(K).id}),delegated("click",Ve,()=>xe(get(K).id,"accepted")),delegated("click",Ge,()=>se(get(K).id)),append(lt,nt)};if_block(Ke,lt=>{get(k)===get(K).id?lt(at):lt(Ct,!1)})}append($e,Fe)};if_block(xr,$e=>{get(K).status==="accepted"?$e(Kn):get(K).status==="rejected"?$e(Er,1):(get(K).status==="completed"||get(K).status==="wontfix")&&$e(Sr,2)})}reset(cr),reset(Pt),template_effect($e=>set_text(wr,$e),[()=>_e(get(K).created_at)]),transition(3,Pt,()=>slide,()=>({duration:200})),append(Jt,Pt)};if_block(ht,Jt=>{get(x)===get(K).id&&Jt(kn)})}reset(Ze),template_effect((Jt,Pt,vn,kt,Zt)=>{tt=set_class(Ze,1,"report-card svelte-1fnmin5",null,tt,{awaiting:get(K).status==="completed",expanded:get(x)===get(K).id}),set_attribute(Ze,"data-card-id",get(K).id),set_text(Rt,Jt),set_text(Gn,get(K).title),set_style(Ue,`background: ${Pt??""}20; color: ${vn??""}; border-color: ${kt??""}40;`),set_text(Ye,Zt),gn=set_class(Nt,0,"chevron svelte-1fnmin5",null,gn,{"chevron-open":get(x)===get(K).id})},[()=>oe(get(K)),()=>G(get(K).status),()=>G(get(K).status),()=>G(get(K).status),()=>Z(get(K).status)]),delegated("click",We,()=>ie(get(K).id)),append(Be,Ze)}),reset(ze),append(Te,ze)};if_block(ee,Te=>{m()?Te(pe):_()&&g().length===0?Te(te,1):g().length===0?Te(ce,2):get(O).length===0?Te(be,3):Te(De,!1)})}reset(Y),transition(3,Y,()=>slide,()=>({duration:200})),append(L,Y)}),reset(Re),bind_this(Re,L=>set(E,L),()=>get(E)),reset(Q),template_effect(()=>{X=set_class(U,1,"subtab svelte-1fnmin5",null,X,{active:get(C)==="active"}),Le=set_class(we,1,"subtab svelte-1fnmin5",null,Le,{active:get(C)==="done"})}),delegated("click",U,()=>set(C,"active")),delegated("click",we,()=>set(C,"done")),append(d,Q),pop(B)}delegate(["click"]),create_custom_element(RequestList,{endpoint:{},reports:{},loading:{},error:{},onreload:{}},[],[],{mode:"open"});var root_6$2=from_html('<span class="step-counter svelte-bez0nz"> </span>'),root_7$2=from_html('<div class="empty-state svelte-bez0nz"><div class="empty-icon svelte-bez0nz"><svg width="32" height="32" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" fill="currentColor" opacity="0.3" class="svelte-bez0nz"></path><path d="M21 11.5a8.38 8.38 0 01-.9 3.8 8.5 8.5 0 01-7.6 4.7 8.38 8.38 0 01-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 01-.9-3.8 8.5 8.5 0 014.7-7.6 8.38 8.38 0 013.8-.9h.5a8.48 8.48 0 018 8v.5z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none" class="svelte-bez0nz"></path></svg></div> <p class="empty-text svelte-bez0nz">Tell the agent what to do on this page</p> <p class="empty-hint svelte-bez0nz">e.g. "Fill in the contact form" or "Click the sign up button"</p></div>'),root_14$2=from_html('<span class="msg-tool svelte-bez0nz"> </span>'),root_15$2=from_html('<div class="approval-buttons svelte-bez0nz"><button class="approve-btn svelte-bez0nz"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M20 6L9 17l-5-5" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-bez0nz"></path></svg> Approve</button> <button class="skip-btn svelte-bez0nz"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M5 5l14 14M19 5L5 19" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-bez0nz"></path></svg> Skip</button></div>'),root_16$2=from_html("<span> </span>"),root_17$2=from_html('<span class="msg-step svelte-bez0nz"> </span>'),root_10$1=from_html('<div><span class="msg-icon svelte-bez0nz"><!></span> <div class="msg-body svelte-bez0nz"><!> <span class="msg-text svelte-bez0nz"> </span> <!></div> <!></div>'),root_19$1=from_html('<span class="msg-tool svelte-bez0nz"> </span>'),root_20$1=from_html('<span class="msg-duration svelte-bez0nz"> </span>'),root_21$1=from_html('<span class="msg-step svelte-bez0nz"> </span>'),root_18$1=from_html('<div><span class="msg-icon svelte-bez0nz"> </span> <div class="msg-body svelte-bez0nz"><!> <span class="msg-text svelte-bez0nz"> </span> <!></div> <!></div>'),root_22$1=from_html('<div class="message msg-thinking live svelte-bez0nz"><span class="msg-icon svelte-bez0nz">…</span> <div class="msg-body svelte-bez0nz"><span class="thinking-dots svelte-bez0nz"><span class="dot svelte-bez0nz"></span> <span class="dot svelte-bez0nz"></span> <span class="dot svelte-bez0nz"></span></span></div></div>'),root_8$2=from_html("<!> <!>",1),root_23$1=from_html('<button class="stop-btn svelte-bez0nz" aria-label="Stop agent"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" class="svelte-bez0nz"><rect x="6" y="6" width="12" height="12" rx="1" class="svelte-bez0nz"></rect></svg> Stop</button>'),root$3=from_html('<div class="agent-panel svelte-bez0nz"><div class="status-bar svelte-bez0nz"><div><span class="status-dot svelte-bez0nz"></span> <span class="status-text svelte-bez0nz"><!></span></div> <div class="status-right svelte-bez0nz"><!> <label class="auto-approve-toggle svelte-bez0nz" title="Auto-approve all actions"><input type="checkbox" class="svelte-bez0nz"/> <span class="toggle-label svelte-bez0nz">Auto</span></label></div></div> <div class="messages svelte-bez0nz"><!></div> <div class="input-area svelte-bez0nz"><!> <div class="input-row svelte-bez0nz"><input type="text" class="chat-input svelte-bez0nz"/> <button class="send-btn svelte-bez0nz" aria-label="Send"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-bez0nz"></path></svg></button></div></div></div>');const $$css$3={hash:"svelte-bez0nz",code:`.agent-panel.svelte-bez0nz {display:flex;flex-direction:column;height:100%;min-height:0;font-family:inherit;color:#e5e7eb;}
121
121
 
122
122
  /* Status bar */.status-bar.svelte-bez0nz {display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #1f2937;flex-shrink:0;}.status-indicator.svelte-bez0nz {display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;}.status-dot.svelte-bez0nz {width:7px;height:7px;border-radius:50%;flex-shrink:0;}.status-indicator.idle.svelte-bez0nz .status-dot:where(.svelte-bez0nz) {background:#6b7280;}.status-indicator.idle.svelte-bez0nz .status-text:where(.svelte-bez0nz) {color:#9ca3af;}.status-indicator.thinking.svelte-bez0nz .status-dot:where(.svelte-bez0nz) {background:#f59e0b;
123
123
  animation: svelte-bez0nz-pulse-dot 1.2s ease-in-out infinite;}.status-indicator.thinking.svelte-bez0nz .status-text:where(.svelte-bez0nz) {color:#fcd34d;}.status-indicator.acting.svelte-bez0nz .status-dot:where(.svelte-bez0nz) {background:#3b82f6;
@@ -165,7 +165,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
165
165
  40% { transform: scale(1); opacity: 1; }
166
166
  }
167
167
 
168
- /* Input area */.input-area.svelte-bez0nz {flex-shrink:0;padding:8px 12px 12px;border-top:1px solid #1f2937;display:flex;flex-direction:column;gap:6px;}.input-row.svelte-bez0nz {display:flex;gap:6px;}.chat-input.svelte-bez0nz {flex:1;padding:8px 10px;border:1px solid #374151;border-radius:6px;font-size:13px;font-family:inherit;color:#e5e7eb;background:#1f2937;transition:border-color 0.15s;}.chat-input.svelte-bez0nz:focus {outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59, 130, 246, 0.2);}.chat-input.svelte-bez0nz:disabled {opacity:0.5;cursor:not-allowed;}.chat-input.svelte-bez0nz::placeholder {color:#6b7280;}.send-btn.svelte-bez0nz {display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:#3b82f6;color:white;cursor:pointer;flex-shrink:0;transition:background 0.15s;}.send-btn.svelte-bez0nz:hover:not(:disabled) {background:#2563eb;}.send-btn.svelte-bez0nz:disabled {opacity:0.3;cursor:not-allowed;}.stop-btn.svelte-bez0nz {display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:1px solid #ef4444;border-radius:6px;background:rgba(239, 68, 68, 0.1);color:#f87171;font-size:12px;font-family:inherit;cursor:pointer;transition:background 0.15s;}.stop-btn.svelte-bez0nz:hover {background:rgba(239, 68, 68, 0.2);}`};function AgentPanel(d,p){push(p,!0),append_styles(d,$$css$3);let h=prop(p,"messages",23,()=>[]),g=prop(p,"agentState",7,"idle"),m=prop(p,"currentStep",7,0),_=prop(p,"maxSteps",7,40),b=prop(p,"autoApprove",7,!1),y=prop(p,"onsend",7),w=prop(p,"onstop",7),x=prop(p,"onapprove",7),E=prop(p,"onskip",7),S=prop(p,"onautoapprovechange",7),k=state(""),I=state(void 0);user_effect(()=>{h().length&&get(I)&&requestAnimationFrame(()=>{get(I).scrollTop=get(I).scrollHeight})});function A(){var X;const U=get(k).trim();!U||g()==="thinking"||g()==="acting"||(set(k,""),(X=y())==null||X(U))}function M(U){var X;U.key==="Enter"&&!U.shiftKey&&(U.preventDefault(),A()),U.key==="Escape"&&(g()==="thinking"||g()==="acting")&&((X=w())==null||X())}function R(){var U;(U=w())==null||U()}const C=user_derived(()=>g()==="thinking"||g()==="acting"||g()==="awaiting_approval");function $(U){switch(U){case"user":return"›";case"thinking":return"…";case"action":return"⚡";case"result":return"✓";case"error":return"✕";case"info":return"●";case"approval":return"?"}}function N(U){return U<1e3?`${U}ms`:`${(U/1e3).toFixed(1)}s`}var O={get messages(){return h()},set messages(U=[]){h(U),flushSync()},get agentState(){return g()},set agentState(U="idle"){g(U),flushSync()},get currentStep(){return m()},set currentStep(U=0){m(U),flushSync()},get maxSteps(){return _()},set maxSteps(U=40){_(U),flushSync()},get autoApprove(){return b()},set autoApprove(U=!1){b(U),flushSync()},get onsend(){return y()},set onsend(U){y(U),flushSync()},get onstop(){return w()},set onstop(U){w(U),flushSync()},get onapprove(){return x()},set onapprove(U){x(U),flushSync()},get onskip(){return E()},set onskip(U){E(U),flushSync()},get onautoapprovechange(){return S()},set onautoapprovechange(U){S(U),flushSync()}},P=root$3(),W=child(P),V=child(W);let q;var he=sibling(child(V),2),ne=child(he);{var ie=U=>{var X=text("Ready");append(U,X)},se=U=>{var X=text("Thinking...");append(U,X)},Ee=U=>{var X=text("Acting...");append(U,X)},ae=U=>{var X=text("Awaiting approval");append(U,X)},Ie=U=>{var X=text("Error");append(U,X)};if_block(ne,U=>{g()==="idle"?U(ie):g()==="thinking"?U(se,1):g()==="acting"?U(Ee,2):g()==="awaiting_approval"?U(ae,3):U(Ie,!1)})}reset(he),reset(V);var Se=sibling(V,2),ge=child(Se);{var xe=U=>{var X=root_6$2(),fe=child(X);reset(X),template_effect(()=>set_text(fe,`Step ${m()??""}/${_()??""}`)),append(U,X)};if_block(ge,U=>{m()>0&&U(xe)})}var T=sibling(ge,2),z=child(T);remove_input_defaults(z),next(2),reset(T),reset(Se),reset(W);var D=sibling(W,2),Z=child(D);{var G=U=>{var X=root_7$2();append(U,X)},oe=U=>{var X=root_8$2(),fe=first_child(X);each(fe,17,h,Le=>Le.id,(Le,Ce)=>{var He=comment(),Re=first_child(He);{var H=Y=>{var ee=root_10$1();let pe;var te=child(ee),ce=child(te);{var be=Ue=>{var Ye=text("✓");append(Ue,Ye)},De=Ue=>{var Ye=text("⏭");append(Ue,Ye)},Te=Ue=>{var Ye=text("?");append(Ue,Ye)};if_block(ce,Ue=>{get(Ce).approvalStatus==="approved"?Ue(be):get(Ce).approvalStatus==="skipped"?Ue(De,1):Ue(Te,!1)})}reset(te);var ze=sibling(te,2),Be=child(ze);{var K=Ue=>{var Ye=root_14$2(),Nt=child(Ye,!0);reset(Ye),template_effect(()=>set_text(Nt,get(Ce).tool)),append(Ue,Ye)};if_block(Be,Ue=>{get(Ce).tool&&Ue(K)})}var Ze=sibling(Be,2),tt=child(Ze,!0);reset(Ze);var We=sibling(Ze,2);{var ot=Ue=>{var Ye=root_15$2(),Nt=child(Ye),gn=sibling(Nt,2);reset(Ye),delegated("click",Nt,()=>{var ht;return(ht=x())==null?void 0:ht(get(Ce).id)}),delegated("click",gn,()=>{var ht;return(ht=E())==null?void 0:ht(get(Ce).id)}),append(Ue,Ye)},Rt=Ue=>{var Ye=root_16$2();let Nt;var gn=child(Ye,!0);reset(Ye),template_effect(()=>{Nt=set_class(Ye,1,"approval-badge svelte-bez0nz",null,Nt,{"badge-approved":get(Ce).approvalStatus==="approved","badge-skipped":get(Ce).approvalStatus==="skipped"}),set_text(gn,get(Ce).approvalStatus)}),append(Ue,Ye)};if_block(We,Ue=>{get(Ce).approvalStatus==="pending"?Ue(ot):Ue(Rt,!1)})}reset(ze);var cn=sibling(ze,2);{var Gn=Ue=>{var Ye=root_17$2(),Nt=child(Ye,!0);reset(Ye),template_effect(()=>set_text(Nt,get(Ce).step)),append(Ue,Ye)};if_block(cn,Ue=>{get(Ce).step&&Ue(Gn)})}reset(ee),template_effect(()=>{pe=set_class(ee,1,"message msg-approval svelte-bez0nz",null,pe,{pending:get(Ce).approvalStatus==="pending",approved:get(Ce).approvalStatus==="approved",skipped:get(Ce).approvalStatus==="skipped"}),set_text(tt,get(Ce).text)}),append(Y,ee)},L=Y=>{var ee=root_18$1(),pe=child(ee),te=child(pe,!0);reset(pe);var ce=sibling(pe,2),be=child(ce);{var De=We=>{var ot=root_19$1(),Rt=child(ot,!0);reset(ot),template_effect(()=>set_text(Rt,get(Ce).tool)),append(We,ot)};if_block(be,We=>{get(Ce).role==="action"&&get(Ce).tool&&We(De)})}var Te=sibling(be,2),ze=child(Te,!0);reset(Te);var Be=sibling(Te,2);{var K=We=>{var ot=root_20$1(),Rt=child(ot,!0);reset(ot),template_effect(cn=>set_text(Rt,cn),[()=>N(get(Ce).duration)]),append(We,ot)};if_block(Be,We=>{get(Ce).duration!=null&&We(K)})}reset(ce);var Ze=sibling(ce,2);{var tt=We=>{var ot=root_21$1(),Rt=child(ot,!0);reset(ot),template_effect(()=>set_text(Rt,get(Ce).step)),append(We,ot)};if_block(Ze,We=>{get(Ce).step&&We(tt)})}reset(ee),template_effect(We=>{set_class(ee,1,`message msg-${get(Ce).role??""}`,"svelte-bez0nz"),set_text(te,We),set_text(ze,get(Ce).text)},[()=>$(get(Ce).role)]),append(Y,ee)};if_block(Re,Y=>{get(Ce).role==="approval"?Y(H):Y(L,!1)})}append(Le,He)});var le=sibling(fe,2);{var we=Le=>{var Ce=root_22$1();append(Le,Ce)};if_block(le,Le=>{g()==="thinking"&&Le(we)})}append(U,X)};if_block(Z,U=>{h().length===0?U(G):U(oe,!1)})}reset(D),bind_this(D,U=>set(I,U),()=>get(I));var _e=sibling(D,2),B=child(_e);{var Q=U=>{var X=root_23$1();delegated("click",X,R),append(U,X)};if_block(B,U=>{get(C)&&U(Q)})}var de=sibling(B,2),re=child(de);remove_input_defaults(re);var ve=sibling(re,2);return reset(de),reset(_e),reset(P),template_effect(U=>{q=set_class(V,1,"status-indicator svelte-bez0nz",null,q,{idle:g()==="idle",thinking:g()==="thinking",acting:g()==="acting",awaiting:g()==="awaiting_approval",error:g()==="error"}),set_checked(z,b()),set_attribute(re,"placeholder",get(C)?"Agent is working...":"Type a command..."),re.disabled=get(C),ve.disabled=U},[()=>get(C)||!get(k).trim()]),delegated("change",z,U=>{var X;return(X=S())==null?void 0:X(U.target.checked)}),delegated("keydown",re,M),bind_value(re,()=>get(k),U=>set(k,U)),delegated("click",ve,A),append(d,P),pop(O)}delegate(["change","click","keydown"]),create_custom_element(AgentPanel,{messages:{},agentState:{},currentStep:{},maxSteps:{},autoApprove:{},onsend:{},onstop:{},onapprove:{},onskip:{},onautoapprovechange:{}},[],[],{mode:"open"});var root_2$2=from_html('<div class="loading svelte-zp32f3"><span class="spinner svelte-zp32f3"></span> Loading notes...</div>'),root_3$1=from_html('<div class="error-msg svelte-zp32f3"> <button class="retry-btn svelte-zp32f3">Retry</button></div>'),root_5$1=from_html('<button class="note-row site-note svelte-zp32f3"><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.8"></circle><path d="M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10A15.3 15.3 0 0112 2" stroke="currentColor" stroke-width="1.8"></path></svg> <div class="note-info svelte-zp32f3"><span class="note-name svelte-zp32f3"> </span> <span class="note-preview svelte-zp32f3"> </span></div></div> <span class="note-edit-hint svelte-zp32f3">edit</span></button>'),root_6$1=from_html('<button class="note-row site-note empty svelte-zp32f3"><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.8"></circle><path d="M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10A15.3 15.3 0 0112 2" stroke="currentColor" stroke-width="1.8"></path></svg> <span class="note-name add-prompt svelte-zp32f3">Add site-wide notes</span></div> <svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg></button>'),root_7$1=from_html('<div class="section-divider svelte-zp32f3"><span>Routes</span></div>'),root_9$1=from_html('<span class="current-badge svelte-zp32f3">current</span>'),root_8$1=from_html('<button><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9z" stroke="currentColor" stroke-width="1.8"></path><path d="M13 2v7h7" stroke="currentColor" stroke-width="1.8"></path></svg> <div class="note-info svelte-zp32f3"><span class="note-name svelte-zp32f3"> <!></span> <span class="note-preview svelte-zp32f3"> </span></div></div> <span class="note-edit-hint svelte-zp32f3">edit</span></button>'),root_10=from_html('<button class="note-row add-route svelte-zp32f3"><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg> <span class="note-name add-prompt svelte-zp32f3"> </span></div></button>'),root_11$1=from_html('<div class="empty-state svelte-zp32f3"><svg width="28" height="28" viewBox="0 0 24 24" fill="none"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" stroke="currentColor" stroke-width="1.5"></path><path d="M14 2v6h6M16 13H8M16 17H8M10 9H8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg> <p class="svelte-zp32f3">No notes yet</p> <p class="empty-hint svelte-zp32f3">Notes give context to the page agent about your app</p></div>'),root_4$1=from_html("<!> <!> <!> <!> <!>",1),root_1$2=from_html('<div class="notes-list svelte-zp32f3"><div class="list-header svelte-zp32f3"><span class="list-title svelte-zp32f3">Notes</span> <button class="new-btn svelte-zp32f3" title="New site-wide note"><svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg> New</button></div> <!></div>'),root_13$1=from_html('<div class="preview-area svelte-zp32f3"><!></div>'),root_14$1=from_html('<div class="field svelte-zp32f3"><label for="note-content" class="svelte-zp32f3">Content <span class="label-hint svelte-zp32f3">(markdown)</span></label> <textarea id="note-content" placeholder="Describe this page/app for the agent... Supports **bold**, *italic*, # headers, - lists, `code`" rows="12" class="svelte-zp32f3"></textarea></div>'),root_15$1=from_html('<div class="error-msg compact svelte-zp32f3"> </div>'),root_16$1=from_html("<button> </button>"),root_17$1=from_html('<span class="spinner svelte-zp32f3"></span>'),root_12$1=from_html('<div class="note-editor svelte-zp32f3"><div class="editor-header svelte-zp32f3"><button class="back-btn svelte-zp32f3" title="Back to list"><svg width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M19 12H5M12 19l-7-7 7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button> <span class="editor-route svelte-zp32f3"> </span> <button> </button></div> <div class="editor-body svelte-zp32f3"><div class="field svelte-zp32f3"><label for="note-title" class="svelte-zp32f3">Title</label> <input id="note-title" type="text" placeholder="Note title" class="svelte-zp32f3"/></div> <!> <!></div> <div class="editor-actions svelte-zp32f3"><!> <div class="action-spacer svelte-zp32f3"></div> <button class="cancel-btn svelte-zp32f3">Cancel</button> <button class="save-btn svelte-zp32f3"><!> </button></div></div>'),root$2=from_html('<div class="notes-panel svelte-zp32f3"><!></div>');const $$css$2={hash:"svelte-zp32f3",code:`.notes-panel.svelte-zp32f3 {display:flex;flex-direction:column;height:100%;overflow:hidden;}
168
+ /* Input area */.input-area.svelte-bez0nz {flex-shrink:0;padding:8px 12px 12px;border-top:1px solid #1f2937;display:flex;flex-direction:column;gap:6px;}.input-row.svelte-bez0nz {display:flex;gap:6px;}.chat-input.svelte-bez0nz {flex:1;padding:8px 10px;border:1px solid #374151;border-radius:6px;font-size:13px;font-family:inherit;color:#e5e7eb;background:#1f2937;transition:border-color 0.15s;}.chat-input.svelte-bez0nz:focus {outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59, 130, 246, 0.2);}.chat-input.svelte-bez0nz:disabled {opacity:0.5;cursor:not-allowed;}.chat-input.svelte-bez0nz::placeholder {color:#6b7280;}.send-btn.svelte-bez0nz {display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:#3b82f6;color:white;cursor:pointer;flex-shrink:0;transition:background 0.15s;}.send-btn.svelte-bez0nz:hover:not(:disabled) {background:#2563eb;}.send-btn.svelte-bez0nz:disabled {opacity:0.3;cursor:not-allowed;}.stop-btn.svelte-bez0nz {display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:1px solid #ef4444;border-radius:6px;background:rgba(239, 68, 68, 0.1);color:#f87171;font-size:12px;font-family:inherit;cursor:pointer;transition:background 0.15s;}.stop-btn.svelte-bez0nz:hover {background:rgba(239, 68, 68, 0.2);}`};function AgentPanel(d,p){push(p,!0),append_styles(d,$$css$3);let h=prop(p,"messages",23,()=>[]),g=prop(p,"agentState",7,"idle"),m=prop(p,"currentStep",7,0),_=prop(p,"maxSteps",7,40),b=prop(p,"autoApprove",7,!1),y=prop(p,"onsend",7),w=prop(p,"onstop",7),x=prop(p,"onapprove",7),E=prop(p,"onskip",7),S=prop(p,"onautoapprovechange",7),k=state(""),I=state(void 0);user_effect(()=>{h().length&&get(I)&&requestAnimationFrame(()=>{get(I).scrollTop=get(I).scrollHeight})});function A(){var X;const U=get(k).trim();!U||g()==="thinking"||g()==="acting"||(set(k,""),(X=y())==null||X(U))}function M(U){var X;U.key==="Enter"&&!U.shiftKey&&(U.preventDefault(),A()),U.key==="Escape"&&(g()==="thinking"||g()==="acting")&&((X=w())==null||X())}function R(){var U;(U=w())==null||U()}const C=user_derived(()=>g()==="thinking"||g()==="acting"||g()==="awaiting_approval");function $(U){switch(U){case"user":return"›";case"thinking":return"…";case"action":return"⚡";case"result":return"✓";case"error":return"✕";case"info":return"●";case"approval":return"?"}}function N(U){return U<1e3?`${U}ms`:`${(U/1e3).toFixed(1)}s`}var O={get messages(){return h()},set messages(U=[]){h(U),flushSync()},get agentState(){return g()},set agentState(U="idle"){g(U),flushSync()},get currentStep(){return m()},set currentStep(U=0){m(U),flushSync()},get maxSteps(){return _()},set maxSteps(U=40){_(U),flushSync()},get autoApprove(){return b()},set autoApprove(U=!1){b(U),flushSync()},get onsend(){return y()},set onsend(U){y(U),flushSync()},get onstop(){return w()},set onstop(U){w(U),flushSync()},get onapprove(){return x()},set onapprove(U){x(U),flushSync()},get onskip(){return E()},set onskip(U){E(U),flushSync()},get onautoapprovechange(){return S()},set onautoapprovechange(U){S(U),flushSync()}},P=root$3(),W=child(P),V=child(W);let q;var he=sibling(child(V),2),ne=child(he);{var ie=U=>{var X=text("Ready");append(U,X)},se=U=>{var X=text("Thinking...");append(U,X)},Ee=U=>{var X=text("Acting...");append(U,X)},ae=U=>{var X=text("Awaiting approval");append(U,X)},Ie=U=>{var X=text("Error");append(U,X)};if_block(ne,U=>{g()==="idle"?U(ie):g()==="thinking"?U(se,1):g()==="acting"?U(Ee,2):g()==="awaiting_approval"?U(ae,3):U(Ie,!1)})}reset(he),reset(V);var Se=sibling(V,2),ge=child(Se);{var xe=U=>{var X=root_6$2(),fe=child(X);reset(X),template_effect(()=>set_text(fe,`Step ${m()??""}/${_()??""}`)),append(U,X)};if_block(ge,U=>{m()>0&&U(xe)})}var T=sibling(ge,2),z=child(T);remove_input_defaults(z),next(2),reset(T),reset(Se),reset(W);var D=sibling(W,2),Z=child(D);{var G=U=>{var X=root_7$2();append(U,X)},oe=U=>{var X=root_8$2(),fe=first_child(X);each(fe,17,h,Le=>Le.id,(Le,Ce)=>{var He=comment(),Re=first_child(He);{var H=Y=>{var ee=root_10$1();let pe;var te=child(ee),ce=child(te);{var be=Ue=>{var Ye=text("✓");append(Ue,Ye)},De=Ue=>{var Ye=text("⏭");append(Ue,Ye)},Te=Ue=>{var Ye=text("?");append(Ue,Ye)};if_block(ce,Ue=>{get(Ce).approvalStatus==="approved"?Ue(be):get(Ce).approvalStatus==="skipped"?Ue(De,1):Ue(Te,!1)})}reset(te);var ze=sibling(te,2),Be=child(ze);{var K=Ue=>{var Ye=root_14$2(),Nt=child(Ye,!0);reset(Ye),template_effect(()=>set_text(Nt,get(Ce).tool)),append(Ue,Ye)};if_block(Be,Ue=>{get(Ce).tool&&Ue(K)})}var Ze=sibling(Be,2),tt=child(Ze,!0);reset(Ze);var We=sibling(Ze,2);{var ot=Ue=>{var Ye=root_15$2(),Nt=child(Ye),gn=sibling(Nt,2);reset(Ye),delegated("click",Nt,()=>{var ht;return(ht=x())==null?void 0:ht(get(Ce).id)}),delegated("click",gn,()=>{var ht;return(ht=E())==null?void 0:ht(get(Ce).id)}),append(Ue,Ye)},Rt=Ue=>{var Ye=root_16$2();let Nt;var gn=child(Ye,!0);reset(Ye),template_effect(()=>{Nt=set_class(Ye,1,"approval-badge svelte-bez0nz",null,Nt,{"badge-approved":get(Ce).approvalStatus==="approved","badge-skipped":get(Ce).approvalStatus==="skipped"}),set_text(gn,get(Ce).approvalStatus)}),append(Ue,Ye)};if_block(We,Ue=>{get(Ce).approvalStatus==="pending"?Ue(ot):Ue(Rt,!1)})}reset(ze);var cn=sibling(ze,2);{var Gn=Ue=>{var Ye=root_17$2(),Nt=child(Ye,!0);reset(Ye),template_effect(()=>set_text(Nt,get(Ce).step)),append(Ue,Ye)};if_block(cn,Ue=>{get(Ce).step&&Ue(Gn)})}reset(ee),template_effect(()=>{pe=set_class(ee,1,"message msg-approval svelte-bez0nz",null,pe,{pending:get(Ce).approvalStatus==="pending",approved:get(Ce).approvalStatus==="approved",skipped:get(Ce).approvalStatus==="skipped"}),set_text(tt,get(Ce).text)}),append(Y,ee)},L=Y=>{var ee=root_18$1(),pe=child(ee),te=child(pe,!0);reset(pe);var ce=sibling(pe,2),be=child(ce);{var De=We=>{var ot=root_19$1(),Rt=child(ot,!0);reset(ot),template_effect(()=>set_text(Rt,get(Ce).tool)),append(We,ot)};if_block(be,We=>{get(Ce).role==="action"&&get(Ce).tool&&We(De)})}var Te=sibling(be,2),ze=child(Te,!0);reset(Te);var Be=sibling(Te,2);{var K=We=>{var ot=root_20$1(),Rt=child(ot,!0);reset(ot),template_effect(cn=>set_text(Rt,cn),[()=>N(get(Ce).duration)]),append(We,ot)};if_block(Be,We=>{get(Ce).duration!=null&&We(K)})}reset(ce);var Ze=sibling(ce,2);{var tt=We=>{var ot=root_21$1(),Rt=child(ot,!0);reset(ot),template_effect(()=>set_text(Rt,get(Ce).step)),append(We,ot)};if_block(Ze,We=>{get(Ce).step&&We(tt)})}reset(ee),template_effect(We=>{set_class(ee,1,`message msg-${get(Ce).role??""}`,"svelte-bez0nz"),set_text(te,We),set_text(ze,get(Ce).text)},[()=>$(get(Ce).role)]),append(Y,ee)};if_block(Re,Y=>{get(Ce).role==="approval"?Y(H):Y(L,!1)})}append(Le,He)});var le=sibling(fe,2);{var we=Le=>{var Ce=root_22$1();append(Le,Ce)};if_block(le,Le=>{g()==="thinking"&&Le(we)})}append(U,X)};if_block(Z,U=>{h().length===0?U(G):U(oe,!1)})}reset(D),bind_this(D,U=>set(I,U),()=>get(I));var _e=sibling(D,2),B=child(_e);{var Q=U=>{var X=root_23$1();delegated("click",X,R),append(U,X)};if_block(B,U=>{get(C)&&U(Q)})}var ue=sibling(B,2),re=child(ue);remove_input_defaults(re);var ve=sibling(re,2);return reset(ue),reset(_e),reset(P),template_effect(U=>{q=set_class(V,1,"status-indicator svelte-bez0nz",null,q,{idle:g()==="idle",thinking:g()==="thinking",acting:g()==="acting",awaiting:g()==="awaiting_approval",error:g()==="error"}),set_checked(z,b()),set_attribute(re,"placeholder",get(C)?"Agent is working...":"Type a command..."),re.disabled=get(C),ve.disabled=U},[()=>get(C)||!get(k).trim()]),delegated("change",z,U=>{var X;return(X=S())==null?void 0:X(U.target.checked)}),delegated("keydown",re,M),bind_value(re,()=>get(k),U=>set(k,U)),delegated("click",ve,A),append(d,P),pop(O)}delegate(["change","click","keydown"]),create_custom_element(AgentPanel,{messages:{},agentState:{},currentStep:{},maxSteps:{},autoApprove:{},onsend:{},onstop:{},onapprove:{},onskip:{},onautoapprovechange:{}},[],[],{mode:"open"});var root_2$2=from_html('<div class="loading svelte-zp32f3"><span class="spinner svelte-zp32f3"></span> Loading notes...</div>'),root_3$1=from_html('<div class="error-msg svelte-zp32f3"> <button class="retry-btn svelte-zp32f3">Retry</button></div>'),root_5$1=from_html('<button class="note-row site-note svelte-zp32f3"><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.8"></circle><path d="M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10A15.3 15.3 0 0112 2" stroke="currentColor" stroke-width="1.8"></path></svg> <div class="note-info svelte-zp32f3"><span class="note-name svelte-zp32f3"> </span> <span class="note-preview svelte-zp32f3"> </span></div></div> <span class="note-edit-hint svelte-zp32f3">edit</span></button>'),root_6$1=from_html('<button class="note-row site-note empty svelte-zp32f3"><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.8"></circle><path d="M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10A15.3 15.3 0 0112 2" stroke="currentColor" stroke-width="1.8"></path></svg> <span class="note-name add-prompt svelte-zp32f3">Add site-wide notes</span></div> <svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg></button>'),root_7$1=from_html('<div class="section-divider svelte-zp32f3"><span>Routes</span></div>'),root_9$1=from_html('<span class="current-badge svelte-zp32f3">current</span>'),root_8$1=from_html('<button><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9z" stroke="currentColor" stroke-width="1.8"></path><path d="M13 2v7h7" stroke="currentColor" stroke-width="1.8"></path></svg> <div class="note-info svelte-zp32f3"><span class="note-name svelte-zp32f3"> <!></span> <span class="note-preview svelte-zp32f3"> </span></div></div> <span class="note-edit-hint svelte-zp32f3">edit</span></button>'),root_10=from_html('<button class="note-row add-route svelte-zp32f3"><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg> <span class="note-name add-prompt svelte-zp32f3"> </span></div></button>'),root_11$1=from_html('<div class="empty-state svelte-zp32f3"><svg width="28" height="28" viewBox="0 0 24 24" fill="none"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" stroke="currentColor" stroke-width="1.5"></path><path d="M14 2v6h6M16 13H8M16 17H8M10 9H8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg> <p class="svelte-zp32f3">No notes yet</p> <p class="empty-hint svelte-zp32f3">Notes give context to the page agent about your app</p></div>'),root_4$1=from_html("<!> <!> <!> <!> <!>",1),root_1$2=from_html('<div class="notes-list svelte-zp32f3"><div class="list-header svelte-zp32f3"><span class="list-title svelte-zp32f3">Notes</span> <button class="new-btn svelte-zp32f3" title="New site-wide note"><svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg> New</button></div> <!></div>'),root_13$1=from_html('<div class="preview-area svelte-zp32f3"><!></div>'),root_14$1=from_html('<div class="field svelte-zp32f3"><label for="note-content" class="svelte-zp32f3">Content <span class="label-hint svelte-zp32f3">(markdown)</span></label> <textarea id="note-content" placeholder="Describe this page/app for the agent... Supports **bold**, *italic*, # headers, - lists, `code`" rows="12" class="svelte-zp32f3"></textarea></div>'),root_15$1=from_html('<div class="error-msg compact svelte-zp32f3"> </div>'),root_16$1=from_html("<button> </button>"),root_17$1=from_html('<span class="spinner svelte-zp32f3"></span>'),root_12$1=from_html('<div class="note-editor svelte-zp32f3"><div class="editor-header svelte-zp32f3"><button class="back-btn svelte-zp32f3" title="Back to list"><svg width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M19 12H5M12 19l-7-7 7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button> <span class="editor-route svelte-zp32f3"> </span> <button> </button></div> <div class="editor-body svelte-zp32f3"><div class="field svelte-zp32f3"><label for="note-title" class="svelte-zp32f3">Title</label> <input id="note-title" type="text" placeholder="Note title" class="svelte-zp32f3"/></div> <!> <!></div> <div class="editor-actions svelte-zp32f3"><!> <div class="action-spacer svelte-zp32f3"></div> <button class="cancel-btn svelte-zp32f3">Cancel</button> <button class="save-btn svelte-zp32f3"><!> </button></div></div>'),root$2=from_html('<div class="notes-panel svelte-zp32f3"><!></div>');const $$css$2={hash:"svelte-zp32f3",code:`.notes-panel.svelte-zp32f3 {display:flex;flex-direction:column;height:100%;overflow:hidden;}
169
169
 
170
170
  /* List view */.notes-list.svelte-zp32f3 {display:flex;flex-direction:column;overflow-y:auto;padding:0;}.list-header.svelte-zp32f3 {display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #1f2937;}.list-title.svelte-zp32f3 {font-size:13px;font-weight:600;color:#e5e7eb;}.new-btn.svelte-zp32f3 {display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#1f2937;border:1px solid #374151;border-radius:5px;color:#d1d5db;font-size:11px;font-family:inherit;cursor:pointer;transition:background 0.15s;}.new-btn.svelte-zp32f3:hover:not(:disabled) {background:#374151;}.new-btn.svelte-zp32f3:disabled {opacity:0.4;cursor:not-allowed;}
171
171
 
@@ -178,7 +178,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
178
178
  @keyframes svelte-zp32f3-notes-spin {
179
179
  to { transform: rotate(360deg); }
180
180
  }`};function NotesPanel(d,p){push(p,!0),append_styles(d,$$css$2);let h=prop(p,"endpoint",7),g=prop(p,"project",7),m=prop(p,"onnoteschanged",7),_=state(proxy([])),b=state(!1),y=state(""),w=state(!1),x=state(proxy(window.location.pathname)),E=state("list"),S=state(null),k=state(!1),I=state(""),A=state(""),M=state(null),R=state(!1),C=state(!1),$=user_derived(()=>get(_).find(z=>z.route===null)),N=user_derived(()=>get(_).filter(z=>z.route!==null).sort((z,D)=>(z.route||"").localeCompare(D.route||""))),O=user_derived(()=>get(_).some(z=>z.route===get(x)));async function P(){set(b,!0),set(y,"");const z=await fetchNotes(h(),g());set(_,z.notes,!0),z.error&&set(y,z.error,!0),set(b,!1)}user_effect(()=>{h()&&g()&&P()}),user_effect(()=>{const z=setInterval(()=>{window.location.pathname!==get(x)&&set(x,window.location.pathname,!0)},1e3);return()=>clearInterval(z)});function W(z){set(S,z,!0),set(k,!1),set(I,z.title,!0),set(A,z.content,!0),set(M,z.route,!0),set(R,!1),set(C,!1),set(E,"edit")}function V(z){set(S,null),set(k,!0),set(I,z?ie(z):"Site-wide notes",!0),set(A,""),set(M,z,!0),set(R,!1),set(C,!1),set(E,"edit")}function q(){set(E,"list"),set(S,null),set(k,!1),set(C,!1)}async function he(){var z,D;if(get(I).trim()){if(set(w,!0),get(k)){const Z=await createNote(h(),{project:g(),route:get(M),title:get(I).trim(),content:get(A)});Z.ok&&Z.note?(set(_,[...get(_),Z.note],!0),(z=m())==null||z(),q()):set(y,Z.error||"Failed to create note",!0)}else if(get(S)){const Z=await updateNote(h(),get(S).id,{title:get(I).trim(),content:get(A)});Z.ok?(set(_,get(_).map(G=>G.id===get(S).id?{...G,title:get(I).trim(),content:get(A),updated_at:new Date().toISOString()}:G),!0),(D=m())==null||D(),q()):set(y,Z.error||"Failed to update note",!0)}set(w,!1)}}async function ne(){var D;if(!get(S))return;if(!get(C)){set(C,!0);return}set(w,!0);const z=await deleteNote(h(),get(S).id);z.ok?(set(_,get(_).filter(Z=>Z.id!==get(S).id),!0),(D=m())==null||D(),q()):set(y,z.error||"Failed to delete note",!0),set(w,!1)}function ie(z){return z||"Site-wide"}function se(z){return z?z.split(`
181
- `).filter(D=>D.trim()).length:0}function Ee(z){if(!z)return'<span style="color:#6b7280;font-style:italic">No content</span>';let D=z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");return D=D.replace(/```([^`]*?)```/gs,'<pre style="background:#1f2937;padding:8px;border-radius:4px;font-size:11px;overflow-x:auto;margin:4px 0">$1</pre>'),D=D.replace(/`([^`]+)`/g,'<code style="background:#1f2937;padding:1px 4px;border-radius:3px;font-size:11px">$1</code>'),D=D.replace(/^### (.+)$/gm,'<strong style="display:block;margin-top:8px;font-size:12px;color:#d1d5db">$1</strong>'),D=D.replace(/^## (.+)$/gm,'<strong style="display:block;margin-top:8px;font-size:13px;color:#e5e7eb">$1</strong>'),D=D.replace(/^# (.+)$/gm,'<strong style="display:block;margin-top:8px;font-size:14px;color:#f3f4f6">$1</strong>'),D=D.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),D=D.replace(/\*(.+?)\*/g,"<em>$1</em>"),D=D.replace(/^- (.+)$/gm,'<span style="display:block;padding-left:12px">&#8226; $1</span>'),D=D.replace(/^(\d+)\. (.+)$/gm,'<span style="display:block;padding-left:12px">$1. $2</span>'),D=D.replace(/\n(?!<)/g,"<br>"),D}function ae(z){z.key==="Escape"&&get(E)==="edit"&&(z.stopPropagation(),q())}var Ie={get endpoint(){return h()},set endpoint(z){h(z),flushSync()},get project(){return g()},set project(z){g(z),flushSync()},get onnoteschanged(){return m()},set onnoteschanged(z){m(z),flushSync()}},Se=root$2(),ge=child(Se);{var xe=z=>{var D=root_1$2(),Z=child(D),G=sibling(child(Z),2);reset(Z);var oe=sibling(Z,2);{var _e=de=>{var re=root_2$2();append(de,re)},B=de=>{var re=root_3$1(),ve=child(re),U=sibling(ve);reset(re),template_effect(()=>set_text(ve,`${get(y)??""} `)),delegated("click",U,P),append(de,re)},Q=de=>{var re=root_4$1(),ve=first_child(re);{var U=H=>{var L=root_5$1(),Y=child(L),ee=sibling(child(Y),2),pe=child(ee),te=child(pe,!0);reset(pe);var ce=sibling(pe,2),be=child(ce);reset(ce),reset(ee),reset(Y),next(2),reset(L),template_effect((De,Te)=>{set_text(te,get($).title||"Site-wide notes"),set_text(be,`${De??""} line${Te??""}`)},[()=>se(get($).content),()=>se(get($).content)!==1?"s":""]),delegated("click",L,()=>W(get($))),append(H,L)},X=H=>{var L=root_6$1();delegated("click",L,()=>V(null)),append(H,L)};if_block(ve,H=>{get($)?H(U):H(X,!1)})}var fe=sibling(ve,2);{var le=H=>{var L=root_7$1();append(H,L)};if_block(fe,H=>{(get(N).length>0||!get(O))&&H(le)})}var we=sibling(fe,2);each(we,17,()=>get(N),index,(H,L)=>{var Y=root_8$1();let ee;var pe=child(Y),te=sibling(child(pe),2),ce=child(te),be=child(ce),De=sibling(be);{var Te=K=>{var Ze=root_9$1();append(K,Ze)};if_block(De,K=>{get(L).route===get(x)&&K(Te)})}reset(ce);var ze=sibling(ce,2),Be=child(ze);reset(ze),reset(te),reset(pe),next(2),reset(Y),template_effect((K,Ze)=>{ee=set_class(Y,1,"note-row svelte-zp32f3",null,ee,{current:get(L).route===get(x)}),set_text(be,`${get(L).route??""} `),set_text(Be,`${K??""} line${Ze??""}`)},[()=>se(get(L).content),()=>se(get(L).content)!==1?"s":""]),delegated("click",Y,()=>W(get(L))),append(H,Y)});var Le=sibling(we,2);{var Ce=H=>{var L=root_10(),Y=child(L),ee=sibling(child(Y),2),pe=child(ee);reset(ee),reset(Y),reset(L),template_effect(()=>set_text(pe,`Add note for ${get(x)??""}`)),delegated("click",L,()=>V(get(x))),append(H,L)};if_block(Le,H=>{get(O)||H(Ce)})}var He=sibling(Le,2);{var Re=H=>{var L=root_11$1();append(H,L)};if_block(He,H=>{get(_).length===0&&!get(b)&&H(Re)})}append(de,re)};if_block(oe,de=>{get(b)?de(_e):get(y)?de(B,1):de(Q,!1)})}reset(D),template_effect(()=>G.disabled=!!get($)),delegated("click",G,()=>V(null)),transition(3,D,()=>slide,()=>({duration:200})),append(z,D)},T=z=>{var D=root_12$1(),Z=child(D),G=child(Z),oe=sibling(G,2),_e=child(oe,!0);reset(oe);var B=sibling(oe,2);let Q;var de=child(B,!0);reset(B),reset(Z);var re=sibling(Z,2),ve=child(re),U=sibling(child(ve),2);remove_input_defaults(U),reset(ve);var X=sibling(ve,2);{var fe=te=>{var ce=root_13$1(),be=child(ce);html(be,()=>Ee(get(A))),reset(ce),append(te,ce)},le=te=>{var ce=root_14$1(),be=sibling(child(ce),2);remove_textarea_child(be),reset(ce),template_effect(()=>be.disabled=get(w)),bind_value(be,()=>get(A),De=>set(A,De)),append(te,ce)};if_block(X,te=>{get(R)?te(fe):te(le,!1)})}var we=sibling(X,2);{var Le=te=>{var ce=root_15$1(),be=child(ce,!0);reset(ce),template_effect(()=>set_text(be,get(y))),append(te,ce)};if_block(we,te=>{get(y)&&te(Le)})}reset(re);var Ce=sibling(re,2),He=child(Ce);{var Re=te=>{var ce=root_16$1();let be;var De=child(ce,!0);reset(ce),template_effect(()=>{be=set_class(ce,1,"delete-btn svelte-zp32f3",null,be,{confirm:get(C)}),ce.disabled=get(w),set_text(De,get(C)?"Confirm delete?":"Delete")}),delegated("click",ce,ne),append(te,ce)};if_block(He,te=>{get(k)||te(Re)})}var H=sibling(He,4),L=sibling(H,2),Y=child(L);{var ee=te=>{var ce=root_17$1();append(te,ce)};if_block(Y,te=>{get(w)&&te(ee)})}var pe=sibling(Y);reset(L),reset(Ce),reset(D),template_effect(te=>{set_text(_e,get(M)?get(M):"Site-wide"),Q=set_class(B,1,"preview-toggle svelte-zp32f3",null,Q,{active:get(R)}),set_text(de,get(R)?"Edit":"Preview"),U.disabled=get(w),H.disabled=get(w),L.disabled=te,set_text(pe,` ${get(k)?"Create":"Save"}`)},[()=>get(w)||!get(I).trim()]),delegated("click",G,q),delegated("click",B,()=>set(R,!get(R))),bind_value(U,()=>get(I),te=>set(I,te)),delegated("click",H,q),delegated("click",L,he),transition(3,D,()=>slide,()=>({duration:200})),append(z,D)};if_block(ge,z=>{get(E)==="list"?z(xe):get(E)==="edit"&&z(T,1)})}return reset(Se),delegated("keydown",Se,ae),append(d,Se),pop(Ie)}delegate(["keydown","click"]),create_custom_element(NotesPanel,{endpoint:{},project:{},onnoteschanged:{}},[],[],{mode:"open"});function $constructor(d,p,h){function g(y,w){var x;Object.defineProperty(y,"_zod",{value:y._zod??{},enumerable:!1}),(x=y._zod).traits??(x.traits=new Set),y._zod.traits.add(d),p(y,w);for(const E in b.prototype)E in y||Object.defineProperty(y,E,{value:b.prototype[E].bind(y)});y._zod.constr=b,y._zod.def=w}const m=(h==null?void 0:h.Parent)??Object;class _ extends m{}Object.defineProperty(_,"name",{value:d});function b(y){var w;const x=h!=null&&h.Parent?new _:this;g(x,y),(w=x._zod).deferred??(w.deferred=[]);for(const E of x._zod.deferred)E();return x}return Object.defineProperty(b,"init",{value:g}),Object.defineProperty(b,Symbol.hasInstance,{value:y=>{var w,x;return h!=null&&h.Parent&&y instanceof h.Parent?!0:(x=(w=y==null?void 0:y._zod)==null?void 0:w.traits)==null?void 0:x.has(d)}}),Object.defineProperty(b,"name",{value:d}),b}class $ZodAsyncError extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const globalConfig={};function config(d){return globalConfig}function getEnumValues(d){const p=Object.values(d).filter(g=>typeof g=="number");return Object.entries(d).filter(([g,m])=>p.indexOf(+g)===-1).map(([g,m])=>m)}function jsonStringifyReplacer(d,p){return typeof p=="bigint"?p.toString():p}function cached(d){return{get value(){{const p=d();return Object.defineProperty(this,"value",{value:p}),p}}}}function nullish(d){return d==null}function cleanRegex(d){const p=d.startsWith("^")?1:0,h=d.endsWith("$")?d.length-1:d.length;return d.slice(p,h)}function floatSafeRemainder(d,p){const h=(d.toString().split(".")[1]||"").length,g=(p.toString().split(".")[1]||"").length,m=h>g?h:g,_=Number.parseInt(d.toFixed(m).replace(".","")),b=Number.parseInt(p.toFixed(m).replace(".",""));return _%b/10**m}function defineLazy(d,p,h){Object.defineProperty(d,p,{get(){{const g=h();return d[p]=g,g}},set(g){Object.defineProperty(d,p,{value:g})},configurable:!0})}function assignProp(d,p,h){Object.defineProperty(d,p,{value:h,writable:!0,enumerable:!0,configurable:!0})}function esc(d){return JSON.stringify(d)}const captureStackTrace=Error.captureStackTrace?Error.captureStackTrace:(...d)=>{};function isObject(d){return typeof d=="object"&&d!==null&&!Array.isArray(d)}const allowsEval=cached(()=>{var d;if(typeof navigator<"u"&&((d=navigator==null?void 0:navigator.userAgent)!=null&&d.includes("Cloudflare")))return!1;try{const p=Function;return new p(""),!0}catch{return!1}});function isPlainObject(d){if(isObject(d)===!1)return!1;const p=d.constructor;if(p===void 0)return!0;const h=p.prototype;return!(isObject(h)===!1||Object.prototype.hasOwnProperty.call(h,"isPrototypeOf")===!1)}const propertyKeyTypes=new Set(["string","number","symbol"]);function escapeRegex(d){return d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function clone(d,p,h){const g=new d._zod.constr(p??d._zod.def);return(!p||h!=null&&h.parent)&&(g._zod.parent=d),g}function normalizeParams(d){const p=d;if(!p)return{};if(typeof p=="string")return{error:()=>p};if((p==null?void 0:p.message)!==void 0){if((p==null?void 0:p.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");p.error=p.message}return delete p.message,typeof p.error=="string"?{...p,error:()=>p.error}:p}function optionalKeys(d){return Object.keys(d).filter(p=>d[p]._zod.optin==="optional"&&d[p]._zod.optout==="optional")}const NUMBER_FORMAT_RANGES={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function pick(d,p){const h={},g=d._zod.def;for(const m in p){if(!(m in g.shape))throw new Error(`Unrecognized key: "${m}"`);p[m]&&(h[m]=g.shape[m])}return clone(d,{...d._zod.def,shape:h,checks:[]})}function omit(d,p){const h={...d._zod.def.shape},g=d._zod.def;for(const m in p){if(!(m in g.shape))throw new Error(`Unrecognized key: "${m}"`);p[m]&&delete h[m]}return clone(d,{...d._zod.def,shape:h,checks:[]})}function extend(d,p){if(!isPlainObject(p))throw new Error("Invalid input to extend: expected a plain object");const h={...d._zod.def,get shape(){const g={...d._zod.def.shape,...p};return assignProp(this,"shape",g),g},checks:[]};return clone(d,h)}function merge(d,p){return clone(d,{...d._zod.def,get shape(){const h={...d._zod.def.shape,...p._zod.def.shape};return assignProp(this,"shape",h),h},catchall:p._zod.def.catchall,checks:[]})}function partial(d,p,h){const g=p._zod.def.shape,m={...g};if(h)for(const _ in h){if(!(_ in g))throw new Error(`Unrecognized key: "${_}"`);h[_]&&(m[_]=d?new d({type:"optional",innerType:g[_]}):g[_])}else for(const _ in g)m[_]=d?new d({type:"optional",innerType:g[_]}):g[_];return clone(p,{...p._zod.def,shape:m,checks:[]})}function required(d,p,h){const g=p._zod.def.shape,m={...g};if(h)for(const _ in h){if(!(_ in m))throw new Error(`Unrecognized key: "${_}"`);h[_]&&(m[_]=new d({type:"nonoptional",innerType:g[_]}))}else for(const _ in g)m[_]=new d({type:"nonoptional",innerType:g[_]});return clone(p,{...p._zod.def,shape:m,checks:[]})}function aborted(d,p=0){var h;for(let g=p;g<d.issues.length;g++)if(((h=d.issues[g])==null?void 0:h.continue)!==!0)return!0;return!1}function prefixIssues(d,p){return p.map(h=>{var g;return(g=h).path??(g.path=[]),h.path.unshift(d),h})}function unwrapMessage(d){return typeof d=="string"?d:d==null?void 0:d.message}function finalizeIssue(d,p,h){var m,_,b,y,w,x;const g={...d,path:d.path??[]};if(!d.message){const E=unwrapMessage((b=(_=(m=d.inst)==null?void 0:m._zod.def)==null?void 0:_.error)==null?void 0:b.call(_,d))??unwrapMessage((y=p==null?void 0:p.error)==null?void 0:y.call(p,d))??unwrapMessage((w=h.customError)==null?void 0:w.call(h,d))??unwrapMessage((x=h.localeError)==null?void 0:x.call(h,d))??"Invalid input";g.message=E}return delete g.inst,delete g.continue,p!=null&&p.reportInput||delete g.input,g}function getLengthableOrigin(d){return Array.isArray(d)?"array":typeof d=="string"?"string":"unknown"}function issue(...d){const[p,h,g]=d;return typeof p=="string"?{message:p,code:"custom",input:h,inst:g}:{...p}}const initializer$1=(d,p)=>{d.name="$ZodError",Object.defineProperty(d,"_zod",{value:d._zod,enumerable:!1}),Object.defineProperty(d,"issues",{value:p,enumerable:!1}),Object.defineProperty(d,"message",{get(){return JSON.stringify(p,jsonStringifyReplacer,2)},enumerable:!0}),Object.defineProperty(d,"toString",{value:()=>d.message,enumerable:!1})},$ZodError=$constructor("$ZodError",initializer$1),$ZodRealError=$constructor("$ZodError",initializer$1,{Parent:Error});function flattenError(d,p=h=>h.message){const h={},g=[];for(const m of d.issues)m.path.length>0?(h[m.path[0]]=h[m.path[0]]||[],h[m.path[0]].push(p(m))):g.push(p(m));return{formErrors:g,fieldErrors:h}}function formatError(d,p){const h=p||function(_){return _.message},g={_errors:[]},m=_=>{for(const b of _.issues)if(b.code==="invalid_union"&&b.errors.length)b.errors.map(y=>m({issues:y}));else if(b.code==="invalid_key")m({issues:b.issues});else if(b.code==="invalid_element")m({issues:b.issues});else if(b.path.length===0)g._errors.push(h(b));else{let y=g,w=0;for(;w<b.path.length;){const x=b.path[w];w===b.path.length-1?(y[x]=y[x]||{_errors:[]},y[x]._errors.push(h(b))):y[x]=y[x]||{_errors:[]},y=y[x],w++}}};return m(d),g}function toDotPath(d){const p=[];for(const h of d)typeof h=="number"?p.push(`[${h}]`):typeof h=="symbol"?p.push(`[${JSON.stringify(String(h))}]`):/[^\w$]/.test(h)?p.push(`[${JSON.stringify(h)}]`):(p.length&&p.push("."),p.push(h));return p.join("")}function prettifyError(d){var g;const p=[],h=[...d.issues].sort((m,_)=>m.path.length-_.path.length);for(const m of h)p.push(`✖ ${m.message}`),(g=m.path)!=null&&g.length&&p.push(` → at ${toDotPath(m.path)}`);return p.join(`
181
+ `).filter(D=>D.trim()).length:0}function Ee(z){if(!z)return'<span style="color:#6b7280;font-style:italic">No content</span>';let D=z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");return D=D.replace(/```([^`]*?)```/gs,'<pre style="background:#1f2937;padding:8px;border-radius:4px;font-size:11px;overflow-x:auto;margin:4px 0">$1</pre>'),D=D.replace(/`([^`]+)`/g,'<code style="background:#1f2937;padding:1px 4px;border-radius:3px;font-size:11px">$1</code>'),D=D.replace(/^### (.+)$/gm,'<strong style="display:block;margin-top:8px;font-size:12px;color:#d1d5db">$1</strong>'),D=D.replace(/^## (.+)$/gm,'<strong style="display:block;margin-top:8px;font-size:13px;color:#e5e7eb">$1</strong>'),D=D.replace(/^# (.+)$/gm,'<strong style="display:block;margin-top:8px;font-size:14px;color:#f3f4f6">$1</strong>'),D=D.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),D=D.replace(/\*(.+?)\*/g,"<em>$1</em>"),D=D.replace(/^- (.+)$/gm,'<span style="display:block;padding-left:12px">&#8226; $1</span>'),D=D.replace(/^(\d+)\. (.+)$/gm,'<span style="display:block;padding-left:12px">$1. $2</span>'),D=D.replace(/\n(?!<)/g,"<br>"),D}function ae(z){z.key==="Escape"&&get(E)==="edit"&&(z.stopPropagation(),q())}var Ie={get endpoint(){return h()},set endpoint(z){h(z),flushSync()},get project(){return g()},set project(z){g(z),flushSync()},get onnoteschanged(){return m()},set onnoteschanged(z){m(z),flushSync()}},Se=root$2(),ge=child(Se);{var xe=z=>{var D=root_1$2(),Z=child(D),G=sibling(child(Z),2);reset(Z);var oe=sibling(Z,2);{var _e=ue=>{var re=root_2$2();append(ue,re)},B=ue=>{var re=root_3$1(),ve=child(re),U=sibling(ve);reset(re),template_effect(()=>set_text(ve,`${get(y)??""} `)),delegated("click",U,P),append(ue,re)},Q=ue=>{var re=root_4$1(),ve=first_child(re);{var U=H=>{var L=root_5$1(),Y=child(L),ee=sibling(child(Y),2),pe=child(ee),te=child(pe,!0);reset(pe);var ce=sibling(pe,2),be=child(ce);reset(ce),reset(ee),reset(Y),next(2),reset(L),template_effect((De,Te)=>{set_text(te,get($).title||"Site-wide notes"),set_text(be,`${De??""} line${Te??""}`)},[()=>se(get($).content),()=>se(get($).content)!==1?"s":""]),delegated("click",L,()=>W(get($))),append(H,L)},X=H=>{var L=root_6$1();delegated("click",L,()=>V(null)),append(H,L)};if_block(ve,H=>{get($)?H(U):H(X,!1)})}var fe=sibling(ve,2);{var le=H=>{var L=root_7$1();append(H,L)};if_block(fe,H=>{(get(N).length>0||!get(O))&&H(le)})}var we=sibling(fe,2);each(we,17,()=>get(N),index,(H,L)=>{var Y=root_8$1();let ee;var pe=child(Y),te=sibling(child(pe),2),ce=child(te),be=child(ce),De=sibling(be);{var Te=K=>{var Ze=root_9$1();append(K,Ze)};if_block(De,K=>{get(L).route===get(x)&&K(Te)})}reset(ce);var ze=sibling(ce,2),Be=child(ze);reset(ze),reset(te),reset(pe),next(2),reset(Y),template_effect((K,Ze)=>{ee=set_class(Y,1,"note-row svelte-zp32f3",null,ee,{current:get(L).route===get(x)}),set_text(be,`${get(L).route??""} `),set_text(Be,`${K??""} line${Ze??""}`)},[()=>se(get(L).content),()=>se(get(L).content)!==1?"s":""]),delegated("click",Y,()=>W(get(L))),append(H,Y)});var Le=sibling(we,2);{var Ce=H=>{var L=root_10(),Y=child(L),ee=sibling(child(Y),2),pe=child(ee);reset(ee),reset(Y),reset(L),template_effect(()=>set_text(pe,`Add note for ${get(x)??""}`)),delegated("click",L,()=>V(get(x))),append(H,L)};if_block(Le,H=>{get(O)||H(Ce)})}var He=sibling(Le,2);{var Re=H=>{var L=root_11$1();append(H,L)};if_block(He,H=>{get(_).length===0&&!get(b)&&H(Re)})}append(ue,re)};if_block(oe,ue=>{get(b)?ue(_e):get(y)?ue(B,1):ue(Q,!1)})}reset(D),template_effect(()=>G.disabled=!!get($)),delegated("click",G,()=>V(null)),transition(3,D,()=>slide,()=>({duration:200})),append(z,D)},T=z=>{var D=root_12$1(),Z=child(D),G=child(Z),oe=sibling(G,2),_e=child(oe,!0);reset(oe);var B=sibling(oe,2);let Q;var ue=child(B,!0);reset(B),reset(Z);var re=sibling(Z,2),ve=child(re),U=sibling(child(ve),2);remove_input_defaults(U),reset(ve);var X=sibling(ve,2);{var fe=te=>{var ce=root_13$1(),be=child(ce);html(be,()=>Ee(get(A))),reset(ce),append(te,ce)},le=te=>{var ce=root_14$1(),be=sibling(child(ce),2);remove_textarea_child(be),reset(ce),template_effect(()=>be.disabled=get(w)),bind_value(be,()=>get(A),De=>set(A,De)),append(te,ce)};if_block(X,te=>{get(R)?te(fe):te(le,!1)})}var we=sibling(X,2);{var Le=te=>{var ce=root_15$1(),be=child(ce,!0);reset(ce),template_effect(()=>set_text(be,get(y))),append(te,ce)};if_block(we,te=>{get(y)&&te(Le)})}reset(re);var Ce=sibling(re,2),He=child(Ce);{var Re=te=>{var ce=root_16$1();let be;var De=child(ce,!0);reset(ce),template_effect(()=>{be=set_class(ce,1,"delete-btn svelte-zp32f3",null,be,{confirm:get(C)}),ce.disabled=get(w),set_text(De,get(C)?"Confirm delete?":"Delete")}),delegated("click",ce,ne),append(te,ce)};if_block(He,te=>{get(k)||te(Re)})}var H=sibling(He,4),L=sibling(H,2),Y=child(L);{var ee=te=>{var ce=root_17$1();append(te,ce)};if_block(Y,te=>{get(w)&&te(ee)})}var pe=sibling(Y);reset(L),reset(Ce),reset(D),template_effect(te=>{set_text(_e,get(M)?get(M):"Site-wide"),Q=set_class(B,1,"preview-toggle svelte-zp32f3",null,Q,{active:get(R)}),set_text(ue,get(R)?"Edit":"Preview"),U.disabled=get(w),H.disabled=get(w),L.disabled=te,set_text(pe,` ${get(k)?"Create":"Save"}`)},[()=>get(w)||!get(I).trim()]),delegated("click",G,q),delegated("click",B,()=>set(R,!get(R))),bind_value(U,()=>get(I),te=>set(I,te)),delegated("click",H,q),delegated("click",L,he),transition(3,D,()=>slide,()=>({duration:200})),append(z,D)};if_block(ge,z=>{get(E)==="list"?z(xe):get(E)==="edit"&&z(T,1)})}return reset(Se),delegated("keydown",Se,ae),append(d,Se),pop(Ie)}delegate(["keydown","click"]),create_custom_element(NotesPanel,{endpoint:{},project:{},onnoteschanged:{}},[],[],{mode:"open"});function $constructor(d,p,h){function g(y,w){var x;Object.defineProperty(y,"_zod",{value:y._zod??{},enumerable:!1}),(x=y._zod).traits??(x.traits=new Set),y._zod.traits.add(d),p(y,w);for(const E in b.prototype)E in y||Object.defineProperty(y,E,{value:b.prototype[E].bind(y)});y._zod.constr=b,y._zod.def=w}const m=(h==null?void 0:h.Parent)??Object;class _ extends m{}Object.defineProperty(_,"name",{value:d});function b(y){var w;const x=h!=null&&h.Parent?new _:this;g(x,y),(w=x._zod).deferred??(w.deferred=[]);for(const E of x._zod.deferred)E();return x}return Object.defineProperty(b,"init",{value:g}),Object.defineProperty(b,Symbol.hasInstance,{value:y=>{var w,x;return h!=null&&h.Parent&&y instanceof h.Parent?!0:(x=(w=y==null?void 0:y._zod)==null?void 0:w.traits)==null?void 0:x.has(d)}}),Object.defineProperty(b,"name",{value:d}),b}class $ZodAsyncError extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const globalConfig={};function config(d){return globalConfig}function getEnumValues(d){const p=Object.values(d).filter(g=>typeof g=="number");return Object.entries(d).filter(([g,m])=>p.indexOf(+g)===-1).map(([g,m])=>m)}function jsonStringifyReplacer(d,p){return typeof p=="bigint"?p.toString():p}function cached(d){return{get value(){{const p=d();return Object.defineProperty(this,"value",{value:p}),p}}}}function nullish(d){return d==null}function cleanRegex(d){const p=d.startsWith("^")?1:0,h=d.endsWith("$")?d.length-1:d.length;return d.slice(p,h)}function floatSafeRemainder(d,p){const h=(d.toString().split(".")[1]||"").length,g=(p.toString().split(".")[1]||"").length,m=h>g?h:g,_=Number.parseInt(d.toFixed(m).replace(".","")),b=Number.parseInt(p.toFixed(m).replace(".",""));return _%b/10**m}function defineLazy(d,p,h){Object.defineProperty(d,p,{get(){{const g=h();return d[p]=g,g}},set(g){Object.defineProperty(d,p,{value:g})},configurable:!0})}function assignProp(d,p,h){Object.defineProperty(d,p,{value:h,writable:!0,enumerable:!0,configurable:!0})}function esc(d){return JSON.stringify(d)}const captureStackTrace=Error.captureStackTrace?Error.captureStackTrace:(...d)=>{};function isObject(d){return typeof d=="object"&&d!==null&&!Array.isArray(d)}const allowsEval=cached(()=>{var d;if(typeof navigator<"u"&&((d=navigator==null?void 0:navigator.userAgent)!=null&&d.includes("Cloudflare")))return!1;try{const p=Function;return new p(""),!0}catch{return!1}});function isPlainObject(d){if(isObject(d)===!1)return!1;const p=d.constructor;if(p===void 0)return!0;const h=p.prototype;return!(isObject(h)===!1||Object.prototype.hasOwnProperty.call(h,"isPrototypeOf")===!1)}const propertyKeyTypes=new Set(["string","number","symbol"]);function escapeRegex(d){return d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function clone(d,p,h){const g=new d._zod.constr(p??d._zod.def);return(!p||h!=null&&h.parent)&&(g._zod.parent=d),g}function normalizeParams(d){const p=d;if(!p)return{};if(typeof p=="string")return{error:()=>p};if((p==null?void 0:p.message)!==void 0){if((p==null?void 0:p.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");p.error=p.message}return delete p.message,typeof p.error=="string"?{...p,error:()=>p.error}:p}function optionalKeys(d){return Object.keys(d).filter(p=>d[p]._zod.optin==="optional"&&d[p]._zod.optout==="optional")}const NUMBER_FORMAT_RANGES={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function pick(d,p){const h={},g=d._zod.def;for(const m in p){if(!(m in g.shape))throw new Error(`Unrecognized key: "${m}"`);p[m]&&(h[m]=g.shape[m])}return clone(d,{...d._zod.def,shape:h,checks:[]})}function omit(d,p){const h={...d._zod.def.shape},g=d._zod.def;for(const m in p){if(!(m in g.shape))throw new Error(`Unrecognized key: "${m}"`);p[m]&&delete h[m]}return clone(d,{...d._zod.def,shape:h,checks:[]})}function extend(d,p){if(!isPlainObject(p))throw new Error("Invalid input to extend: expected a plain object");const h={...d._zod.def,get shape(){const g={...d._zod.def.shape,...p};return assignProp(this,"shape",g),g},checks:[]};return clone(d,h)}function merge(d,p){return clone(d,{...d._zod.def,get shape(){const h={...d._zod.def.shape,...p._zod.def.shape};return assignProp(this,"shape",h),h},catchall:p._zod.def.catchall,checks:[]})}function partial(d,p,h){const g=p._zod.def.shape,m={...g};if(h)for(const _ in h){if(!(_ in g))throw new Error(`Unrecognized key: "${_}"`);h[_]&&(m[_]=d?new d({type:"optional",innerType:g[_]}):g[_])}else for(const _ in g)m[_]=d?new d({type:"optional",innerType:g[_]}):g[_];return clone(p,{...p._zod.def,shape:m,checks:[]})}function required(d,p,h){const g=p._zod.def.shape,m={...g};if(h)for(const _ in h){if(!(_ in m))throw new Error(`Unrecognized key: "${_}"`);h[_]&&(m[_]=new d({type:"nonoptional",innerType:g[_]}))}else for(const _ in g)m[_]=new d({type:"nonoptional",innerType:g[_]});return clone(p,{...p._zod.def,shape:m,checks:[]})}function aborted(d,p=0){var h;for(let g=p;g<d.issues.length;g++)if(((h=d.issues[g])==null?void 0:h.continue)!==!0)return!0;return!1}function prefixIssues(d,p){return p.map(h=>{var g;return(g=h).path??(g.path=[]),h.path.unshift(d),h})}function unwrapMessage(d){return typeof d=="string"?d:d==null?void 0:d.message}function finalizeIssue(d,p,h){var m,_,b,y,w,x;const g={...d,path:d.path??[]};if(!d.message){const E=unwrapMessage((b=(_=(m=d.inst)==null?void 0:m._zod.def)==null?void 0:_.error)==null?void 0:b.call(_,d))??unwrapMessage((y=p==null?void 0:p.error)==null?void 0:y.call(p,d))??unwrapMessage((w=h.customError)==null?void 0:w.call(h,d))??unwrapMessage((x=h.localeError)==null?void 0:x.call(h,d))??"Invalid input";g.message=E}return delete g.inst,delete g.continue,p!=null&&p.reportInput||delete g.input,g}function getLengthableOrigin(d){return Array.isArray(d)?"array":typeof d=="string"?"string":"unknown"}function issue(...d){const[p,h,g]=d;return typeof p=="string"?{message:p,code:"custom",input:h,inst:g}:{...p}}const initializer$1=(d,p)=>{d.name="$ZodError",Object.defineProperty(d,"_zod",{value:d._zod,enumerable:!1}),Object.defineProperty(d,"issues",{value:p,enumerable:!1}),Object.defineProperty(d,"message",{get(){return JSON.stringify(p,jsonStringifyReplacer,2)},enumerable:!0}),Object.defineProperty(d,"toString",{value:()=>d.message,enumerable:!1})},$ZodError=$constructor("$ZodError",initializer$1),$ZodRealError=$constructor("$ZodError",initializer$1,{Parent:Error});function flattenError(d,p=h=>h.message){const h={},g=[];for(const m of d.issues)m.path.length>0?(h[m.path[0]]=h[m.path[0]]||[],h[m.path[0]].push(p(m))):g.push(p(m));return{formErrors:g,fieldErrors:h}}function formatError(d,p){const h=p||function(_){return _.message},g={_errors:[]},m=_=>{for(const b of _.issues)if(b.code==="invalid_union"&&b.errors.length)b.errors.map(y=>m({issues:y}));else if(b.code==="invalid_key")m({issues:b.issues});else if(b.code==="invalid_element")m({issues:b.issues});else if(b.path.length===0)g._errors.push(h(b));else{let y=g,w=0;for(;w<b.path.length;){const x=b.path[w];w===b.path.length-1?(y[x]=y[x]||{_errors:[]},y[x]._errors.push(h(b))):y[x]=y[x]||{_errors:[]},y=y[x],w++}}};return m(d),g}function toDotPath(d){const p=[];for(const h of d)typeof h=="number"?p.push(`[${h}]`):typeof h=="symbol"?p.push(`[${JSON.stringify(String(h))}]`):/[^\w$]/.test(h)?p.push(`[${JSON.stringify(h)}]`):(p.length&&p.push("."),p.push(h));return p.join("")}function prettifyError(d){var g;const p=[],h=[...d.issues].sort((m,_)=>m.path.length-_.path.length);for(const m of h)p.push(`✖ ${m.message}`),(g=m.path)!=null&&g.length&&p.push(` → at ${toDotPath(m.path)}`);return p.join(`
182
182
  `)}const _parse=d=>(p,h,g,m)=>{const _=g?Object.assign(g,{async:!1}):{async:!1},b=p._zod.run({value:h,issues:[]},_);if(b instanceof Promise)throw new $ZodAsyncError;if(b.issues.length){const y=new((m==null?void 0:m.Err)??d)(b.issues.map(w=>finalizeIssue(w,_,config())));throw captureStackTrace(y,m==null?void 0:m.callee),y}return b.value},_parseAsync=d=>async(p,h,g,m)=>{const _=g?Object.assign(g,{async:!0}):{async:!0};let b=p._zod.run({value:h,issues:[]},_);if(b instanceof Promise&&(b=await b),b.issues.length){const y=new((m==null?void 0:m.Err)??d)(b.issues.map(w=>finalizeIssue(w,_,config())));throw captureStackTrace(y,m==null?void 0:m.callee),y}return b.value},_safeParse=d=>(p,h,g)=>{const m=g?{...g,async:!1}:{async:!1},_=p._zod.run({value:h,issues:[]},m);if(_ instanceof Promise)throw new $ZodAsyncError;return _.issues.length?{success:!1,error:new(d??$ZodError)(_.issues.map(b=>finalizeIssue(b,m,config())))}:{success:!0,data:_.value}},safeParse$1=_safeParse($ZodRealError),_safeParseAsync=d=>async(p,h,g)=>{const m=g?Object.assign(g,{async:!0}):{async:!0};let _=p._zod.run({value:h,issues:[]},m);return _ instanceof Promise&&(_=await _),_.issues.length?{success:!1,error:new d(_.issues.map(b=>finalizeIssue(b,m,config())))}:{success:!0,data:_.value}},safeParseAsync$1=_safeParseAsync($ZodRealError),cuid=/^[cC][^\s-]{8,}$/,cuid2=/^[0-9a-z]+$/,ulid=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,xid=/^[0-9a-vA-V]{20}$/,ksuid=/^[A-Za-z0-9]{27}$/,nanoid=/^[a-zA-Z0-9_-]{21}$/,duration$1=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,guid=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,uuid=d=>d?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${d}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,email=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,_emoji$1="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function emoji(){return new RegExp(_emoji$1,"u")}const ipv4=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,cidrv4=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,cidrv6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,base64url=/^[A-Za-z0-9_-]*$/,hostname=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,e164=/^\+(?:[0-9]){6,14}[0-9]$/,dateSource="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",date$1=new RegExp(`^${dateSource}$`);function timeSource(d){const p="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof d.precision=="number"?d.precision===-1?`${p}`:d.precision===0?`${p}:[0-5]\\d`:`${p}:[0-5]\\d\\.\\d{${d.precision}}`:`${p}(?::[0-5]\\d(?:\\.\\d+)?)?`}function time$1(d){return new RegExp(`^${timeSource(d)}$`)}function datetime$1(d){const p=timeSource({precision:d.precision}),h=["Z"];d.local&&h.push(""),d.offset&&h.push("([+-]\\d{2}:\\d{2})");const g=`${p}(?:${h.join("|")})`;return new RegExp(`^${dateSource}T(?:${g})$`)}const string$1=d=>{const p=d?`[\\s\\S]{${(d==null?void 0:d.minimum)??0},${(d==null?void 0:d.maximum)??""}}`:"[\\s\\S]*";return new RegExp(`^${p}$`)},integer=/^\d+$/,number$1=/^-?\d+(?:\.\d+)?/i,boolean$1=/true|false/i,lowercase=/^[^A-Z]*$/,uppercase=/^[^a-z]*$/,$ZodCheck=$constructor("$ZodCheck",(d,p)=>{var h;d._zod??(d._zod={}),d._zod.def=p,(h=d._zod).onattach??(h.onattach=[])}),numericOriginMap={number:"number",bigint:"bigint",object:"date"},$ZodCheckLessThan=$constructor("$ZodCheckLessThan",(d,p)=>{$ZodCheck.init(d,p);const h=numericOriginMap[typeof p.value];d._zod.onattach.push(g=>{const m=g._zod.bag,_=(p.inclusive?m.maximum:m.exclusiveMaximum)??Number.POSITIVE_INFINITY;p.value<_&&(p.inclusive?m.maximum=p.value:m.exclusiveMaximum=p.value)}),d._zod.check=g=>{(p.inclusive?g.value<=p.value:g.value<p.value)||g.issues.push({origin:h,code:"too_big",maximum:p.value,input:g.value,inclusive:p.inclusive,inst:d,continue:!p.abort})}}),$ZodCheckGreaterThan=$constructor("$ZodCheckGreaterThan",(d,p)=>{$ZodCheck.init(d,p);const h=numericOriginMap[typeof p.value];d._zod.onattach.push(g=>{const m=g._zod.bag,_=(p.inclusive?m.minimum:m.exclusiveMinimum)??Number.NEGATIVE_INFINITY;p.value>_&&(p.inclusive?m.minimum=p.value:m.exclusiveMinimum=p.value)}),d._zod.check=g=>{(p.inclusive?g.value>=p.value:g.value>p.value)||g.issues.push({origin:h,code:"too_small",minimum:p.value,input:g.value,inclusive:p.inclusive,inst:d,continue:!p.abort})}}),$ZodCheckMultipleOf=$constructor("$ZodCheckMultipleOf",(d,p)=>{$ZodCheck.init(d,p),d._zod.onattach.push(h=>{var g;(g=h._zod.bag).multipleOf??(g.multipleOf=p.value)}),d._zod.check=h=>{if(typeof h.value!=typeof p.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof h.value=="bigint"?h.value%p.value===BigInt(0):floatSafeRemainder(h.value,p.value)===0)||h.issues.push({origin:typeof h.value,code:"not_multiple_of",divisor:p.value,input:h.value,inst:d,continue:!p.abort})}}),$ZodCheckNumberFormat=$constructor("$ZodCheckNumberFormat",(d,p)=>{var b;$ZodCheck.init(d,p),p.format=p.format||"float64";const h=(b=p.format)==null?void 0:b.includes("int"),g=h?"int":"number",[m,_]=NUMBER_FORMAT_RANGES[p.format];d._zod.onattach.push(y=>{const w=y._zod.bag;w.format=p.format,w.minimum=m,w.maximum=_,h&&(w.pattern=integer)}),d._zod.check=y=>{const w=y.value;if(h){if(!Number.isInteger(w)){y.issues.push({expected:g,format:p.format,code:"invalid_type",input:w,inst:d});return}if(!Number.isSafeInteger(w)){w>0?y.issues.push({input:w,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:d,origin:g,continue:!p.abort}):y.issues.push({input:w,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:d,origin:g,continue:!p.abort});return}}w<m&&y.issues.push({origin:"number",input:w,code:"too_small",minimum:m,inclusive:!0,inst:d,continue:!p.abort}),w>_&&y.issues.push({origin:"number",input:w,code:"too_big",maximum:_,inst:d})}}),$ZodCheckMaxLength=$constructor("$ZodCheckMaxLength",(d,p)=>{var h;$ZodCheck.init(d,p),(h=d._zod.def).when??(h.when=g=>{const m=g.value;return!nullish(m)&&m.length!==void 0}),d._zod.onattach.push(g=>{const m=g._zod.bag.maximum??Number.POSITIVE_INFINITY;p.maximum<m&&(g._zod.bag.maximum=p.maximum)}),d._zod.check=g=>{const m=g.value;if(m.length<=p.maximum)return;const b=getLengthableOrigin(m);g.issues.push({origin:b,code:"too_big",maximum:p.maximum,inclusive:!0,input:m,inst:d,continue:!p.abort})}}),$ZodCheckMinLength=$constructor("$ZodCheckMinLength",(d,p)=>{var h;$ZodCheck.init(d,p),(h=d._zod.def).when??(h.when=g=>{const m=g.value;return!nullish(m)&&m.length!==void 0}),d._zod.onattach.push(g=>{const m=g._zod.bag.minimum??Number.NEGATIVE_INFINITY;p.minimum>m&&(g._zod.bag.minimum=p.minimum)}),d._zod.check=g=>{const m=g.value;if(m.length>=p.minimum)return;const b=getLengthableOrigin(m);g.issues.push({origin:b,code:"too_small",minimum:p.minimum,inclusive:!0,input:m,inst:d,continue:!p.abort})}}),$ZodCheckLengthEquals=$constructor("$ZodCheckLengthEquals",(d,p)=>{var h;$ZodCheck.init(d,p),(h=d._zod.def).when??(h.when=g=>{const m=g.value;return!nullish(m)&&m.length!==void 0}),d._zod.onattach.push(g=>{const m=g._zod.bag;m.minimum=p.length,m.maximum=p.length,m.length=p.length}),d._zod.check=g=>{const m=g.value,_=m.length;if(_===p.length)return;const b=getLengthableOrigin(m),y=_>p.length;g.issues.push({origin:b,...y?{code:"too_big",maximum:p.length}:{code:"too_small",minimum:p.length},inclusive:!0,exact:!0,input:g.value,inst:d,continue:!p.abort})}}),$ZodCheckStringFormat=$constructor("$ZodCheckStringFormat",(d,p)=>{var h,g;$ZodCheck.init(d,p),d._zod.onattach.push(m=>{const _=m._zod.bag;_.format=p.format,p.pattern&&(_.patterns??(_.patterns=new Set),_.patterns.add(p.pattern))}),p.pattern?(h=d._zod).check??(h.check=m=>{p.pattern.lastIndex=0,!p.pattern.test(m.value)&&m.issues.push({origin:"string",code:"invalid_format",format:p.format,input:m.value,...p.pattern?{pattern:p.pattern.toString()}:{},inst:d,continue:!p.abort})}):(g=d._zod).check??(g.check=()=>{})}),$ZodCheckRegex=$constructor("$ZodCheckRegex",(d,p)=>{$ZodCheckStringFormat.init(d,p),d._zod.check=h=>{p.pattern.lastIndex=0,!p.pattern.test(h.value)&&h.issues.push({origin:"string",code:"invalid_format",format:"regex",input:h.value,pattern:p.pattern.toString(),inst:d,continue:!p.abort})}}),$ZodCheckLowerCase=$constructor("$ZodCheckLowerCase",(d,p)=>{p.pattern??(p.pattern=lowercase),$ZodCheckStringFormat.init(d,p)}),$ZodCheckUpperCase=$constructor("$ZodCheckUpperCase",(d,p)=>{p.pattern??(p.pattern=uppercase),$ZodCheckStringFormat.init(d,p)}),$ZodCheckIncludes=$constructor("$ZodCheckIncludes",(d,p)=>{$ZodCheck.init(d,p);const h=escapeRegex(p.includes),g=new RegExp(typeof p.position=="number"?`^.{${p.position}}${h}`:h);p.pattern=g,d._zod.onattach.push(m=>{const _=m._zod.bag;_.patterns??(_.patterns=new Set),_.patterns.add(g)}),d._zod.check=m=>{m.value.includes(p.includes,p.position)||m.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:p.includes,input:m.value,inst:d,continue:!p.abort})}}),$ZodCheckStartsWith=$constructor("$ZodCheckStartsWith",(d,p)=>{$ZodCheck.init(d,p);const h=new RegExp(`^${escapeRegex(p.prefix)}.*`);p.pattern??(p.pattern=h),d._zod.onattach.push(g=>{const m=g._zod.bag;m.patterns??(m.patterns=new Set),m.patterns.add(h)}),d._zod.check=g=>{g.value.startsWith(p.prefix)||g.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:p.prefix,input:g.value,inst:d,continue:!p.abort})}}),$ZodCheckEndsWith=$constructor("$ZodCheckEndsWith",(d,p)=>{$ZodCheck.init(d,p);const h=new RegExp(`.*${escapeRegex(p.suffix)}$`);p.pattern??(p.pattern=h),d._zod.onattach.push(g=>{const m=g._zod.bag;m.patterns??(m.patterns=new Set),m.patterns.add(h)}),d._zod.check=g=>{g.value.endsWith(p.suffix)||g.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:p.suffix,input:g.value,inst:d,continue:!p.abort})}}),$ZodCheckOverwrite=$constructor("$ZodCheckOverwrite",(d,p)=>{$ZodCheck.init(d,p),d._zod.check=h=>{h.value=p.tx(h.value)}});class Doc{constructor(p=[]){this.content=[],this.indent=0,this&&(this.args=p)}indented(p){this.indent+=1,p(this),this.indent-=1}write(p){if(typeof p=="function"){p(this,{execution:"sync"}),p(this,{execution:"async"});return}const g=p.split(`
183
183
  `).filter(b=>b),m=Math.min(...g.map(b=>b.length-b.trimStart().length)),_=g.map(b=>b.slice(m)).map(b=>" ".repeat(this.indent*2)+b);for(const b of _)this.content.push(b)}compile(){const p=Function,h=this==null?void 0:this.args,m=[...((this==null?void 0:this.content)??[""]).map(_=>` ${_}`)];return new p(...h,m.join(`
184
184
  `))}}const version={major:4,minor:0,patch:0},$ZodType=$constructor("$ZodType",(d,p)=>{var m;var h;d??(d={}),d._zod.def=p,d._zod.bag=d._zod.bag||{},d._zod.version=version;const g=[...d._zod.def.checks??[]];d._zod.traits.has("$ZodCheck")&&g.unshift(d);for(const _ of g)for(const b of _._zod.onattach)b(d);if(g.length===0)(h=d._zod).deferred??(h.deferred=[]),(m=d._zod.deferred)==null||m.push(()=>{d._zod.run=d._zod.parse});else{const _=(b,y,w)=>{let x=aborted(b),E;for(const S of y){if(S._zod.def.when){if(!S._zod.def.when(b))continue}else if(x)continue;const k=b.issues.length,I=S._zod.check(b);if(I instanceof Promise&&(w==null?void 0:w.async)===!1)throw new $ZodAsyncError;if(E||I instanceof Promise)E=(E??Promise.resolve()).then(async()=>{await I,b.issues.length!==k&&(x||(x=aborted(b,k)))});else{if(b.issues.length===k)continue;x||(x=aborted(b,k))}}return E?E.then(()=>b):b};d._zod.run=(b,y)=>{const w=d._zod.parse(b,y);if(w instanceof Promise){if(y.async===!1)throw new $ZodAsyncError;return w.then(x=>_(x,g,y))}return _(w,g,y)}}d["~standard"]={validate:_=>{var b;try{const y=safeParse$1(d,_);return y.success?{value:y.data}:{issues:(b=y.error)==null?void 0:b.issues}}catch{return safeParseAsync$1(d,_).then(w=>{var x;return w.success?{value:w.data}:{issues:(x=w.error)==null?void 0:x.issues}})}},vendor:"zod",version:1}}),$ZodString=$constructor("$ZodString",(d,p)=>{var h;$ZodType.init(d,p),d._zod.pattern=[...((h=d==null?void 0:d._zod.bag)==null?void 0:h.patterns)??[]].pop()??string$1(d._zod.bag),d._zod.parse=(g,m)=>{if(p.coerce)try{g.value=String(g.value)}catch{}return typeof g.value=="string"||g.issues.push({expected:"string",code:"invalid_type",input:g.value,inst:d}),g}}),$ZodStringFormat=$constructor("$ZodStringFormat",(d,p)=>{$ZodCheckStringFormat.init(d,p),$ZodString.init(d,p)}),$ZodGUID=$constructor("$ZodGUID",(d,p)=>{p.pattern??(p.pattern=guid),$ZodStringFormat.init(d,p)}),$ZodUUID=$constructor("$ZodUUID",(d,p)=>{if(p.version){const g={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[p.version];if(g===void 0)throw new Error(`Invalid UUID version: "${p.version}"`);p.pattern??(p.pattern=uuid(g))}else p.pattern??(p.pattern=uuid());$ZodStringFormat.init(d,p)}),$ZodEmail=$constructor("$ZodEmail",(d,p)=>{p.pattern??(p.pattern=email),$ZodStringFormat.init(d,p)}),$ZodURL=$constructor("$ZodURL",(d,p)=>{$ZodStringFormat.init(d,p),d._zod.check=h=>{try{const g=h.value,m=new URL(g),_=m.href;p.hostname&&(p.hostname.lastIndex=0,p.hostname.test(m.hostname)||h.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:hostname.source,input:h.value,inst:d,continue:!p.abort})),p.protocol&&(p.protocol.lastIndex=0,p.protocol.test(m.protocol.endsWith(":")?m.protocol.slice(0,-1):m.protocol)||h.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:p.protocol.source,input:h.value,inst:d,continue:!p.abort})),!g.endsWith("/")&&_.endsWith("/")?h.value=_.slice(0,-1):h.value=_;return}catch{h.issues.push({code:"invalid_format",format:"url",input:h.value,inst:d,continue:!p.abort})}}}),$ZodEmoji=$constructor("$ZodEmoji",(d,p)=>{p.pattern??(p.pattern=emoji()),$ZodStringFormat.init(d,p)}),$ZodNanoID=$constructor("$ZodNanoID",(d,p)=>{p.pattern??(p.pattern=nanoid),$ZodStringFormat.init(d,p)}),$ZodCUID=$constructor("$ZodCUID",(d,p)=>{p.pattern??(p.pattern=cuid),$ZodStringFormat.init(d,p)}),$ZodCUID2=$constructor("$ZodCUID2",(d,p)=>{p.pattern??(p.pattern=cuid2),$ZodStringFormat.init(d,p)}),$ZodULID=$constructor("$ZodULID",(d,p)=>{p.pattern??(p.pattern=ulid),$ZodStringFormat.init(d,p)}),$ZodXID=$constructor("$ZodXID",(d,p)=>{p.pattern??(p.pattern=xid),$ZodStringFormat.init(d,p)}),$ZodKSUID=$constructor("$ZodKSUID",(d,p)=>{p.pattern??(p.pattern=ksuid),$ZodStringFormat.init(d,p)}),$ZodISODateTime=$constructor("$ZodISODateTime",(d,p)=>{p.pattern??(p.pattern=datetime$1(p)),$ZodStringFormat.init(d,p)}),$ZodISODate=$constructor("$ZodISODate",(d,p)=>{p.pattern??(p.pattern=date$1),$ZodStringFormat.init(d,p)}),$ZodISOTime=$constructor("$ZodISOTime",(d,p)=>{p.pattern??(p.pattern=time$1(p)),$ZodStringFormat.init(d,p)}),$ZodISODuration=$constructor("$ZodISODuration",(d,p)=>{p.pattern??(p.pattern=duration$1),$ZodStringFormat.init(d,p)}),$ZodIPv4=$constructor("$ZodIPv4",(d,p)=>{p.pattern??(p.pattern=ipv4),$ZodStringFormat.init(d,p),d._zod.onattach.push(h=>{const g=h._zod.bag;g.format="ipv4"})}),$ZodIPv6=$constructor("$ZodIPv6",(d,p)=>{p.pattern??(p.pattern=ipv6),$ZodStringFormat.init(d,p),d._zod.onattach.push(h=>{const g=h._zod.bag;g.format="ipv6"}),d._zod.check=h=>{try{new URL(`http://[${h.value}]`)}catch{h.issues.push({code:"invalid_format",format:"ipv6",input:h.value,inst:d,continue:!p.abort})}}}),$ZodCIDRv4=$constructor("$ZodCIDRv4",(d,p)=>{p.pattern??(p.pattern=cidrv4),$ZodStringFormat.init(d,p)}),$ZodCIDRv6=$constructor("$ZodCIDRv6",(d,p)=>{p.pattern??(p.pattern=cidrv6),$ZodStringFormat.init(d,p),d._zod.check=h=>{const[g,m]=h.value.split("/");try{if(!m)throw new Error;const _=Number(m);if(`${_}`!==m)throw new Error;if(_<0||_>128)throw new Error;new URL(`http://[${g}]`)}catch{h.issues.push({code:"invalid_format",format:"cidrv6",input:h.value,inst:d,continue:!p.abort})}}});function isValidBase64(d){if(d==="")return!0;if(d.length%4!==0)return!1;try{return atob(d),!0}catch{return!1}}const $ZodBase64=$constructor("$ZodBase64",(d,p)=>{p.pattern??(p.pattern=base64),$ZodStringFormat.init(d,p),d._zod.onattach.push(h=>{h._zod.bag.contentEncoding="base64"}),d._zod.check=h=>{isValidBase64(h.value)||h.issues.push({code:"invalid_format",format:"base64",input:h.value,inst:d,continue:!p.abort})}});function isValidBase64URL(d){if(!base64url.test(d))return!1;const p=d.replace(/[-_]/g,g=>g==="-"?"+":"/"),h=p.padEnd(Math.ceil(p.length/4)*4,"=");return isValidBase64(h)}const $ZodBase64URL=$constructor("$ZodBase64URL",(d,p)=>{p.pattern??(p.pattern=base64url),$ZodStringFormat.init(d,p),d._zod.onattach.push(h=>{h._zod.bag.contentEncoding="base64url"}),d._zod.check=h=>{isValidBase64URL(h.value)||h.issues.push({code:"invalid_format",format:"base64url",input:h.value,inst:d,continue:!p.abort})}}),$ZodE164=$constructor("$ZodE164",(d,p)=>{p.pattern??(p.pattern=e164),$ZodStringFormat.init(d,p)});function isValidJWT(d,p=null){try{const h=d.split(".");if(h.length!==3)return!1;const[g]=h;if(!g)return!1;const m=JSON.parse(atob(g));return!("typ"in m&&(m==null?void 0:m.typ)!=="JWT"||!m.alg||p&&(!("alg"in m)||m.alg!==p))}catch{return!1}}const $ZodJWT=$constructor("$ZodJWT",(d,p)=>{$ZodStringFormat.init(d,p),d._zod.check=h=>{isValidJWT(h.value,p.alg)||h.issues.push({code:"invalid_format",format:"jwt",input:h.value,inst:d,continue:!p.abort})}}),$ZodNumber=$constructor("$ZodNumber",(d,p)=>{$ZodType.init(d,p),d._zod.pattern=d._zod.bag.pattern??number$1,d._zod.parse=(h,g)=>{if(p.coerce)try{h.value=Number(h.value)}catch{}const m=h.value;if(typeof m=="number"&&!Number.isNaN(m)&&Number.isFinite(m))return h;const _=typeof m=="number"?Number.isNaN(m)?"NaN":Number.isFinite(m)?void 0:"Infinity":void 0;return h.issues.push({expected:"number",code:"invalid_type",input:m,inst:d,..._?{received:_}:{}}),h}}),$ZodNumberFormat=$constructor("$ZodNumber",(d,p)=>{$ZodCheckNumberFormat.init(d,p),$ZodNumber.init(d,p)}),$ZodBoolean=$constructor("$ZodBoolean",(d,p)=>{$ZodType.init(d,p),d._zod.pattern=boolean$1,d._zod.parse=(h,g)=>{if(p.coerce)try{h.value=!!h.value}catch{}const m=h.value;return typeof m=="boolean"||h.issues.push({expected:"boolean",code:"invalid_type",input:m,inst:d}),h}}),$ZodAny=$constructor("$ZodAny",(d,p)=>{$ZodType.init(d,p),d._zod.parse=h=>h}),$ZodUnknown=$constructor("$ZodUnknown",(d,p)=>{$ZodType.init(d,p),d._zod.parse=h=>h}),$ZodNever=$constructor("$ZodNever",(d,p)=>{$ZodType.init(d,p),d._zod.parse=(h,g)=>(h.issues.push({expected:"never",code:"invalid_type",input:h.value,inst:d}),h)});function handleArrayResult(d,p,h){d.issues.length&&p.issues.push(...prefixIssues(h,d.issues)),p.value[h]=d.value}const $ZodArray=$constructor("$ZodArray",(d,p)=>{$ZodType.init(d,p),d._zod.parse=(h,g)=>{const m=h.value;if(!Array.isArray(m))return h.issues.push({expected:"array",code:"invalid_type",input:m,inst:d}),h;h.value=Array(m.length);const _=[];for(let b=0;b<m.length;b++){const y=m[b],w=p.element._zod.run({value:y,issues:[]},g);w instanceof Promise?_.push(w.then(x=>handleArrayResult(x,h,b))):handleArrayResult(w,h,b)}return _.length?Promise.all(_).then(()=>h):h}});function handleObjectResult(d,p,h){d.issues.length&&p.issues.push(...prefixIssues(h,d.issues)),p.value[h]=d.value}function handleOptionalObjectResult(d,p,h,g){d.issues.length?g[h]===void 0?h in g?p.value[h]=void 0:p.value[h]=d.value:p.issues.push(...prefixIssues(h,d.issues)):d.value===void 0?h in g&&(p.value[h]=void 0):p.value[h]=d.value}const $ZodObject=$constructor("$ZodObject",(d,p)=>{$ZodType.init(d,p);const h=cached(()=>{const S=Object.keys(p.shape);for(const I of S)if(!(p.shape[I]instanceof $ZodType))throw new Error(`Invalid element at key "${I}": expected a Zod schema`);const k=optionalKeys(p.shape);return{shape:p.shape,keys:S,keySet:new Set(S),numKeys:S.length,optionalKeys:new Set(k)}});defineLazy(d._zod,"propValues",()=>{const S=p.shape,k={};for(const I in S){const A=S[I]._zod;if(A.values){k[I]??(k[I]=new Set);for(const M of A.values)k[I].add(M)}}return k});const g=S=>{const k=new Doc(["shape","payload","ctx"]),I=h.value,A=$=>{const N=esc($);return`shape[${N}]._zod.run({ value: input[${N}], issues: [] }, ctx)`};k.write("const input = payload.value;");const M=Object.create(null);let R=0;for(const $ of I.keys)M[$]=`key_${R++}`;k.write("const newResult = {}");for(const $ of I.keys)if(I.optionalKeys.has($)){const N=M[$];k.write(`const ${N} = ${A($)};`);const O=esc($);k.write(`
@@ -400,7 +400,7 @@ ${_}
400
400
 
401
401
  `,p+=`</browser_state>
402
402
 
403
- `,p},"#assembleUserPrompt"),onDone_fn=__name$2(function(d=!0){this.pageController.cleanUpHighlights(),this.pageController.hideMask(),__privateMethod$1(this,_PageAgentCore_instances,setStatus_fn).call(this,d?"completed":"error"),__privateGet$1(this,_abortController).abort()},"#onDone"),__name$2(_PageAgentCore,"PageAgentCore");let PageAgentCore=_PageAgentCore;var __defProp$1=Object.defineProperty,__name$1=(d,p)=>__defProp$1(d,"name",{value:p,configurable:!0});async function waitFor(d){await new Promise(p=>setTimeout(p,d*1e3))}__name$1(waitFor,"waitFor");async function movePointerToElement(d){const p=d.getBoundingClientRect(),h=p.left+p.width/2,g=p.top+p.height/2;window.dispatchEvent(new CustomEvent("PageAgent::MovePointerTo",{detail:{x:h,y:g}})),await waitFor(.3)}__name$1(movePointerToElement,"movePointerToElement");function getElementByIndex(d,p){const h=d.get(p);if(!h)throw new Error(`No interactive element found at index ${p}`);const g=h.ref;if(!g)throw new Error(`Element at index ${p} does not have a reference`);if(!(g instanceof HTMLElement))throw new Error(`Element at index ${p} is not an HTMLElement`);return g}__name$1(getElementByIndex,"getElementByIndex");let lastClickedElement=null;function blurLastClickedElement(){lastClickedElement&&(lastClickedElement.blur(),lastClickedElement.dispatchEvent(new MouseEvent("mouseout",{bubbles:!0,cancelable:!0})),lastClickedElement=null)}__name$1(blurLastClickedElement,"blurLastClickedElement");async function clickElement(d){blurLastClickedElement(),lastClickedElement=d,await scrollIntoViewIfNeeded(d),await movePointerToElement(d),window.dispatchEvent(new CustomEvent("PageAgent::ClickPointer")),await waitFor(.1),d.dispatchEvent(new MouseEvent("mouseenter",{bubbles:!0,cancelable:!0})),d.dispatchEvent(new MouseEvent("mouseover",{bubbles:!0,cancelable:!0})),d.dispatchEvent(new MouseEvent("mousedown",{bubbles:!0,cancelable:!0})),d.focus(),d.dispatchEvent(new MouseEvent("mouseup",{bubbles:!0,cancelable:!0})),d.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0})),await waitFor(.2)}__name$1(clickElement,"clickElement");const nativeInputValueSetter=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set,nativeTextAreaValueSetter=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value").set;async function inputTextElement(d,p){const h=d.isContentEditable;if(!(d instanceof HTMLInputElement)&&!(d instanceof HTMLTextAreaElement)&&!h)throw new Error("Element is not an input, textarea, or contenteditable");await clickElement(d),h?(d.dispatchEvent(new InputEvent("beforeinput",{bubbles:!0,cancelable:!0,inputType:"deleteContent"}))&&(d.innerText="",d.dispatchEvent(new InputEvent("input",{bubbles:!0,inputType:"deleteContent"}))),d.dispatchEvent(new InputEvent("beforeinput",{bubbles:!0,cancelable:!0,inputType:"insertText",data:p}))&&(d.innerText=p,d.dispatchEvent(new InputEvent("input",{bubbles:!0,inputType:"insertText",data:p}))),d.dispatchEvent(new Event("change",{bubbles:!0})),d.blur()):d instanceof HTMLTextAreaElement?nativeTextAreaValueSetter.call(d,p):nativeInputValueSetter.call(d,p),h||d.dispatchEvent(new Event("input",{bubbles:!0})),await waitFor(.1),blurLastClickedElement()}__name$1(inputTextElement,"inputTextElement");async function selectOptionElement(d,p){if(!(d instanceof HTMLSelectElement))throw new Error("Element is not a select element");const g=Array.from(d.options).find(m=>{var _;return((_=m.textContent)==null?void 0:_.trim())===p.trim()});if(!g)throw new Error(`Option with text "${p}" not found in select element`);d.value=g.value,d.dispatchEvent(new Event("change",{bubbles:!0})),await waitFor(.1)}__name$1(selectOptionElement,"selectOptionElement");async function scrollIntoViewIfNeeded(d){const p=d;typeof p.scrollIntoViewIfNeeded=="function"?p.scrollIntoViewIfNeeded():d.scrollIntoView({behavior:"auto",block:"center",inline:"nearest"})}__name$1(scrollIntoViewIfNeeded,"scrollIntoViewIfNeeded");async function scrollVertically(d,p,h){if(h){const y=h;let w=y,x=!1,E=null,S=0,k=0;const I=p;for(;w&&k<10;){const A=window.getComputedStyle(w),M=/(auto|scroll|overlay)/.test(A.overflowY),R=w.scrollHeight>w.clientHeight;if(M&&R){const C=w.scrollTop,$=w.scrollHeight-w.clientHeight;let N=I/3;N>0?N=Math.min(N,$-C):N=Math.max(N,-C),w.scrollTop=C+N;const P=w.scrollTop-C;if(Math.abs(P)>.5){x=!0,E=w,S=P;break}}if(w===document.body||w===document.documentElement)break;w=w.parentElement,k++}return x?`Scrolled container (${E==null?void 0:E.tagName}) by ${S}px`:`No scrollable container found for element (${y.tagName})`}const g=p,m=__name$1(y=>y.clientHeight>=window.innerHeight*.5,"bigEnough"),_=__name$1(y=>y&&/(auto|scroll|overlay)/.test(getComputedStyle(y).overflowY)&&y.scrollHeight>y.clientHeight&&m(y),"canScroll");let b=document.activeElement;for(;b&&!_(b)&&b!==document.body;)b=b.parentElement;if(b=_(b)?b:Array.from(document.querySelectorAll("*")).find(_)||document.scrollingElement||document.documentElement,b===document.scrollingElement||b===document.documentElement||b===document.body){const y=window.scrollY,w=document.documentElement.scrollHeight-window.innerHeight;window.scrollBy(0,g);const x=window.scrollY,E=x-y;if(Math.abs(E)<1)return g>0?"⚠️ Already at the bottom of the page, cannot scroll down further.":"⚠️ Already at the top of the page, cannot scroll up further.";const S=g>0&&x>=w-1,k=g<0&&x<=1;return S?`✅ Scrolled page by ${E}px. Reached the bottom of the page.`:k?`✅ Scrolled page by ${E}px. Reached the top of the page.`:`✅ Scrolled page by ${E}px.`}else{const y=b.scrollTop,w=b.scrollHeight-b.clientHeight;b.scrollBy({top:g,behavior:"smooth"}),await waitFor(.1);const x=b.scrollTop,E=x-y;if(Math.abs(E)<1)return g>0?`⚠️ Already at the bottom of container (${b.tagName}), cannot scroll down further.`:`⚠️ Already at the top of container (${b.tagName}), cannot scroll up further.`;const S=g>0&&x>=w-1,k=g<0&&x<=1;return S?`✅ Scrolled container (${b.tagName}) by ${E}px. Reached the bottom.`:k?`✅ Scrolled container (${b.tagName}) by ${E}px. Reached the top.`:`✅ Scrolled container (${b.tagName}) by ${E}px.`}}__name$1(scrollVertically,"scrollVertically");async function scrollHorizontally(d,p,h){if(h){const y=h;let w=y,x=!1,E=null,S=0,k=0;const I=d?p:-p;for(;w&&k<10;){const A=window.getComputedStyle(w),M=/(auto|scroll|overlay)/.test(A.overflowX),R=w.scrollWidth>w.clientWidth;if(M&&R){const C=w.scrollLeft,$=w.scrollWidth-w.clientWidth;let N=I/3;N>0?N=Math.min(N,$-C):N=Math.max(N,-C),w.scrollLeft=C+N;const P=w.scrollLeft-C;if(Math.abs(P)>.5){x=!0,E=w,S=P;break}}if(w===document.body||w===document.documentElement)break;w=w.parentElement,k++}return x?`Scrolled container (${E==null?void 0:E.tagName}) horizontally by ${S}px`:`No horizontally scrollable container found for element (${y.tagName})`}const g=d?p:-p,m=__name$1(y=>y.clientWidth>=window.innerWidth*.5,"bigEnough"),_=__name$1(y=>y&&/(auto|scroll|overlay)/.test(getComputedStyle(y).overflowX)&&y.scrollWidth>y.clientWidth&&m(y),"canScroll");let b=document.activeElement;for(;b&&!_(b)&&b!==document.body;)b=b.parentElement;if(b=_(b)?b:Array.from(document.querySelectorAll("*")).find(_)||document.scrollingElement||document.documentElement,b===document.scrollingElement||b===document.documentElement||b===document.body){const y=window.scrollX,w=document.documentElement.scrollWidth-window.innerWidth;window.scrollBy(g,0);const x=window.scrollX,E=x-y;if(Math.abs(E)<1)return g>0?"⚠️ Already at the right edge of the page, cannot scroll right further.":"⚠️ Already at the left edge of the page, cannot scroll left further.";const S=g>0&&x>=w-1,k=g<0&&x<=1;return S?`✅ Scrolled page by ${E}px. Reached the right edge of the page.`:k?`✅ Scrolled page by ${E}px. Reached the left edge of the page.`:`✅ Scrolled page horizontally by ${E}px.`}else{const y=b.scrollLeft,w=b.scrollWidth-b.clientWidth;b.scrollBy({left:g,behavior:"smooth"}),await waitFor(.1);const x=b.scrollLeft,E=x-y;if(Math.abs(E)<1)return g>0?`⚠️ Already at the right edge of container (${b.tagName}), cannot scroll right further.`:`⚠️ Already at the left edge of container (${b.tagName}), cannot scroll left further.`;const S=g>0&&x>=w-1,k=g<0&&x<=1;return S?`✅ Scrolled container (${b.tagName}) by ${E}px. Reached the right edge.`:k?`✅ Scrolled container (${b.tagName}) by ${E}px. Reached the left edge.`:`✅ Scrolled container (${b.tagName}) horizontally by ${E}px.`}}__name$1(scrollHorizontally,"scrollHorizontally");const domTree=__name$1((d={doHighlightElements:!0,focusHighlightIndex:-1,viewportExpansion:0,debugMode:!1,interactiveBlacklist:[],interactiveWhitelist:[],highlightOpacity:.1,highlightLabelOpacity:.5})=>{const{interactiveBlacklist:p,interactiveWhitelist:h,highlightOpacity:g,highlightLabelOpacity:m}=d,{doHighlightElements:_,focusHighlightIndex:b,viewportExpansion:y,debugMode:w}=d;let x=0;const E=new WeakMap;function S(T,z){!T||T.nodeType!==Node.ELEMENT_NODE||E.set(T,{...E.get(T),...z})}__name$1(S,"addExtraData");const k={boundingRects:new WeakMap,clientRects:new WeakMap,computedStyles:new WeakMap,clearCache:__name$1(()=>{k.boundingRects=new WeakMap,k.clientRects=new WeakMap,k.computedStyles=new WeakMap},"clearCache")};function I(T){if(!T)return null;if(k.boundingRects.has(T))return k.boundingRects.get(T);const z=T.getBoundingClientRect();return z&&k.boundingRects.set(T,z),z}__name$1(I,"getCachedBoundingRect");function A(T){if(!T)return null;if(k.computedStyles.has(T))return k.computedStyles.get(T);const z=window.getComputedStyle(T);return z&&k.computedStyles.set(T,z),z}__name$1(A,"getCachedComputedStyle");function M(T){if(!T)return null;if(k.clientRects.has(T))return k.clientRects.get(T);const z=T.getClientRects();return z&&k.clientRects.set(T,z),z}__name$1(M,"getCachedClientRects");const R={},C={current:0},$="playwright-highlight-container";function N(T,z,D=null){if(!T)return z;const Z=[];let G=null,oe=20,_e=16,B=null;try{let Q=document.getElementById($);Q||(Q=document.createElement("div"),Q.id=$,Q.style.position="fixed",Q.style.pointerEvents="none",Q.style.top="0",Q.style.left="0",Q.style.width="100%",Q.style.height="100%",Q.style.zIndex="2147483640",Q.style.backgroundColor="transparent",document.body.appendChild(Q));const de=T.getClientRects();if(!de||de.length===0)return z;const re=["#FF0000","#00FF00","#0000FF","#FFA500","#800080","#008080","#FF69B4","#4B0082","#FF4500","#2E8B57","#DC143C","#4682B4"],ve=z%re.length;let U=re[ve];const X=U+Math.floor(g*255).toString(16).padStart(2,"0");U=U+Math.floor(m*255).toString(16).padStart(2,"0");let fe={x:0,y:0};if(D){const ee=D.getBoundingClientRect();fe.x=ee.left,fe.y=ee.top}const le=document.createDocumentFragment();for(const ee of de){if(ee.width===0||ee.height===0)continue;const pe=document.createElement("div");pe.style.position="fixed",pe.style.border=`2px solid ${U}`,pe.style.backgroundColor=X,pe.style.pointerEvents="none",pe.style.boxSizing="border-box";const te=ee.top+fe.y,ce=ee.left+fe.x;pe.style.top=`${te}px`,pe.style.left=`${ce}px`,pe.style.width=`${ee.width}px`,pe.style.height=`${ee.height}px`,le.appendChild(pe),Z.push({element:pe,initialRect:ee})}const we=de[0];G=document.createElement("div"),G.className="playwright-highlight-label",G.style.position="fixed",G.style.background=U,G.style.color="white",G.style.padding="1px 4px",G.style.borderRadius="4px",G.style.fontSize=`${Math.min(12,Math.max(8,we.height/2))}px`,G.textContent=z.toString(),oe=G.offsetWidth>0?G.offsetWidth:oe,_e=G.offsetHeight>0?G.offsetHeight:_e;const Le=we.top+fe.y,Ce=we.left+fe.x;let He=Le+2,Re=Ce+we.width-oe-2;(we.width<oe+4||we.height<_e+4)&&(He=Le-_e-2,Re=Ce+we.width-oe,Re<fe.x&&(Re=Ce)),He=Math.max(0,Math.min(He,window.innerHeight-_e)),Re=Math.max(0,Math.min(Re,window.innerWidth-oe)),G.style.top=`${He}px`,G.style.left=`${Re}px`,le.appendChild(G);const Y=__name$1((ee,pe)=>{let te=0;return(...ce)=>{const be=performance.now();if(!(be-te<pe))return te=be,ee(...ce)}},"throttleFunction")(__name$1(()=>{const ee=T.getClientRects();let pe={x:0,y:0};if(D){const te=D.getBoundingClientRect();pe.x=te.left,pe.y=te.top}if(Z.forEach((te,ce)=>{if(ce<ee.length){const be=ee[ce],De=be.top+pe.y,Te=be.left+pe.x;te.element.style.top=`${De}px`,te.element.style.left=`${Te}px`,te.element.style.width=`${be.width}px`,te.element.style.height=`${be.height}px`,te.element.style.display=be.width===0||be.height===0?"none":"block"}else te.element.style.display="none"}),ee.length<Z.length)for(let te=ee.length;te<Z.length;te++)Z[te].element.style.display="none";if(G&&ee.length>0){const te=ee[0],ce=te.top+pe.y,be=te.left+pe.x;let De=ce+2,Te=be+te.width-oe-2;(te.width<oe+4||te.height<_e+4)&&(De=ce-_e-2,Te=be+te.width-oe,Te<pe.x&&(Te=be)),De=Math.max(0,Math.min(De,window.innerHeight-_e)),Te=Math.max(0,Math.min(Te,window.innerWidth-oe)),G.style.top=`${De}px`,G.style.left=`${Te}px`,G.style.display="block"}else G&&(G.style.display="none")},"updatePositions"),16);return window.addEventListener("scroll",Y,!0),window.addEventListener("resize",Y),B=__name$1(()=>{window.removeEventListener("scroll",Y,!0),window.removeEventListener("resize",Y),Z.forEach(ee=>ee.element.remove()),G&&G.remove()},"cleanupFn"),Q.appendChild(le),z+1}finally{B&&(window._highlightCleanupFunctions=window._highlightCleanupFunctions||[]).push(B)}}__name$1(N,"highlightElement");function O(T){if(!T||T.nodeType!==Node.ELEMENT_NODE)return null;const z=A(T);if(!z)return null;const D=z.display;if(D==="inline"||D==="inline-block")return null;const Z=z.overflowX,G=z.overflowY,oe=Z==="auto"||Z==="scroll",_e=G==="auto"||G==="scroll";if(!oe&&!_e)return null;const B=T.scrollWidth-T.clientWidth,Q=T.scrollHeight-T.clientHeight,de=4;if(B<de&&Q<de||!_e&&B<de||!oe&&Q<de)return null;const re=T.scrollTop,ve=T.scrollLeft,U=T.scrollWidth-T.clientWidth-T.scrollLeft,X=T.scrollHeight-T.clientHeight-T.scrollTop,fe={top:re,right:U,bottom:X,left:ve};return S(T,{scrollable:!0,scrollData:fe}),fe}__name$1(O,"isScrollableElement");function P(T){try{if(y===-1){const _e=T.parentElement;if(!_e)return!1;try{return _e.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})}catch{const Q=window.getComputedStyle(_e);return Q.display!=="none"&&Q.visibility!=="hidden"&&Q.opacity!=="0"}}const z=document.createRange();z.selectNodeContents(T);const D=z.getClientRects();if(!D||D.length===0)return!1;let Z=!1,G=!1;for(const _e of D)if(_e.width>0&&_e.height>0&&(Z=!0,!(_e.bottom<-y||_e.top>window.innerHeight+y||_e.right<-y||_e.left>window.innerWidth+y))){G=!0;break}if(!Z||!G)return!1;const oe=T.parentElement;if(!oe)return!1;try{return oe.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})}catch{const B=window.getComputedStyle(oe);return B.display!=="none"&&B.visibility!=="hidden"&&B.opacity!=="0"}}catch(z){return console.warn("Error checking text node visibility:",z),!1}}__name$1(P,"isTextNodeVisible");function W(T){if(!T||!T.tagName)return!1;const z=new Set(["body","div","main","article","section","nav","header","footer"]),D=T.tagName.toLowerCase();return z.has(D)?!0:!new Set(["svg","script","style","link","meta","noscript","template"]).has(D)}__name$1(W,"isElementAccepted");function V(T){const z=A(T);return T.offsetWidth>0&&T.offsetHeight>0&&(z==null?void 0:z.visibility)!=="hidden"&&(z==null?void 0:z.display)!=="none"}__name$1(V,"isElementVisible");function q(T){var X,fe;if(!T||T.nodeType!==Node.ELEMENT_NODE||p.includes(T))return!1;if(h.includes(T))return!0;const z=T.tagName.toLowerCase(),D=A(T),Z=new Set(["pointer","move","text","grab","grabbing","cell","copy","alias","all-scroll","col-resize","context-menu","crosshair","e-resize","ew-resize","help","n-resize","ne-resize","nesw-resize","ns-resize","nw-resize","nwse-resize","row-resize","s-resize","se-resize","sw-resize","vertical-text","w-resize","zoom-in","zoom-out"]),G=new Set(["not-allowed","no-drop","wait","progress","initial","inherit"]);function oe(le){return le.tagName.toLowerCase()==="html"?!1:!!(D!=null&&D.cursor&&Z.has(D.cursor))}if(__name$1(oe,"doesElementHaveInteractivePointer"),oe(T))return!0;const B=new Set(["a","button","input","select","textarea","details","summary","label","option","optgroup","fieldset","legend"]),Q=new Set(["disabled","readonly"]);if(B.has(z)){if(D!=null&&D.cursor&&G.has(D.cursor))return!1;for(const le of Q)if(T.hasAttribute(le)||T.getAttribute(le)==="true"||T.getAttribute(le)==="")return!1;return!(T.disabled||T.readOnly||T.inert)}const de=T.getAttribute("role"),re=T.getAttribute("aria-role");if(T.getAttribute("contenteditable")==="true"||T.isContentEditable||T.classList&&(T.classList.contains("button")||T.classList.contains("dropdown-toggle")||T.getAttribute("data-index")||T.getAttribute("data-toggle")==="dropdown"||T.getAttribute("aria-haspopup")==="true"))return!0;const ve=new Set(["button","menu","menubar","menuitem","menuitemradio","menuitemcheckbox","radio","checkbox","tab","switch","slider","spinbutton","combobox","searchbox","textbox","listbox","option","scrollbar"]);if(B.has(z)||de&&ve.has(de)||re&&ve.has(re))return!0;try{if(typeof getEventListeners=="function"){const Le=getEventListeners(T),Ce=["click","mousedown","mouseup","dblclick"];for(const He of Ce)if(Le[He]&&Le[He].length>0)return!0}const le=((fe=(X=T==null?void 0:T.ownerDocument)==null?void 0:X.defaultView)==null?void 0:fe.getEventListenersForNode)||window.getEventListenersForNode;if(typeof le=="function"){const Le=le(T),Ce=["click","mousedown","mouseup","keydown","keyup","submit","change","input","focus","blur"];for(const He of Ce)for(const Re of Le)if(Re.type===He)return!0}const we=["onclick","onmousedown","onmouseup","ondblclick"];for(const Le of we)if(T.hasAttribute(Le)||typeof T[Le]=="function")return!0}catch{}return!!O(T)}__name$1(q,"isInteractiveElement");function he(T){if(y===-1)return!0;const z=M(T);if(!z||z.length===0)return!1;let D=!1;for(const Q of z)if(Q.width>0&&Q.height>0&&!(Q.bottom<-y||Q.top>window.innerHeight+y||Q.right<-y||Q.left>window.innerWidth+y)){D=!0;break}if(!D)return!1;if(T.ownerDocument!==window.document)return!0;let G=Array.from(z).find(Q=>Q.width>0&&Q.height>0);if(!G)return!1;const oe=T.getRootNode();if(oe instanceof ShadowRoot){const Q=G.left+G.width/2,de=G.top+G.height/2;try{const re=oe.elementFromPoint(Q,de);if(!re)return!1;let ve=re;for(;ve&&ve!==oe;){if(ve===T)return!0;ve=ve.parentElement}return!1}catch{return!0}}const _e=5;return[{x:G.left+G.width/2,y:G.top+G.height/2},{x:G.left+_e,y:G.top+_e},{x:G.right-_e,y:G.bottom-_e}].some(({x:Q,y:de})=>{try{const re=document.elementFromPoint(Q,de);if(!re)return!1;let ve=re;for(;ve&&ve!==document.documentElement;){if(ve===T)return!0;ve=ve.parentElement}return!1}catch{return!0}})}__name$1(he,"isTopElement");function ne(T,z){if(z===-1)return!0;const D=T.getClientRects();if(!D||D.length===0){const Z=I(T);return!Z||Z.width===0||Z.height===0?!1:!(Z.bottom<-z||Z.top>window.innerHeight+z||Z.right<-z||Z.left>window.innerWidth+z)}for(const Z of D)if(!(Z.width===0||Z.height===0)&&!(Z.bottom<-z||Z.top>window.innerHeight+z||Z.right<-z||Z.left>window.innerWidth+z))return!0;return!1}__name$1(ne,"isInExpandedViewport");function ie(T){if(!T||T.nodeType!==Node.ELEMENT_NODE)return!1;const z=T.tagName.toLowerCase();return new Set(["a","button","input","select","textarea","details","summary","label"]).has(z)?!0:T.hasAttribute("onclick")||T.hasAttribute("role")||T.hasAttribute("tabindex")||T.hasAttribute("aria-")||T.hasAttribute("data-action")||T.getAttribute("contenteditable")==="true"}__name$1(ie,"isInteractiveCandidate");const se=new Set(["a","button","input","select","textarea","summary","details","label","option"]),Ee=new Set(["button","link","menuitem","menuitemradio","menuitemcheckbox","radio","checkbox","tab","switch","slider","spinbutton","combobox","searchbox","textbox","listbox","option","scrollbar"]);function ae(T){if(!T||T.nodeType!==Node.ELEMENT_NODE||!V(T))return!1;const z=T.hasAttribute("role")||T.hasAttribute("tabindex")||T.hasAttribute("onclick")||typeof T.onclick=="function",D=/\b(btn|clickable|menu|item|entry|link)\b/i.test(T.className||""),Z=!!T.closest('button,a,[role="button"],.menu,.dropdown,.list,.toolbar'),G=[...T.children].some(V),oe=T.parentElement&&T.parentElement.isSameNode(document.body);return(q(T)||z||D)&&G&&Z&&!oe}__name$1(ae,"isHeuristicallyInteractive");function Ie(T){var Z,G;if(!T||T.nodeType!==Node.ELEMENT_NODE)return!1;const z=T.tagName.toLowerCase(),D=T.getAttribute("role");if(z==="iframe"||se.has(z)||D&&Ee.has(D)||T.isContentEditable||T.getAttribute("contenteditable")==="true"||T.hasAttribute("data-testid")||T.hasAttribute("data-cy")||T.hasAttribute("data-test")||T.hasAttribute("onclick")||typeof T.onclick=="function")return!0;try{const oe=((G=(Z=T==null?void 0:T.ownerDocument)==null?void 0:Z.defaultView)==null?void 0:G.getEventListenersForNode)||window.getEventListenersForNode;if(typeof oe=="function"){const B=oe(T),Q=["click","mousedown","mouseup","keydown","keyup","submit","change","input","focus","blur"];for(const de of Q)for(const re of B)if(re.type===de)return!0}if(["onmousedown","onmouseup","onkeydown","onkeyup","onsubmit","onchange","oninput","onfocus","onblur"].some(B=>T.hasAttribute(B)))return!0}catch{}return!!ae(T)}__name$1(Ie,"isElementDistinctInteraction");function Se(T,z,D,Z){if(!T.isInteractive)return!1;let G=!1;return Z?Ie(z)?G=!0:G=!1:G=!0,G&&(T.isInViewport=ne(z,y),(T.isInViewport||y===-1)&&(T.highlightIndex=x++,_))?(b>=0?b===T.highlightIndex&&N(z,T.highlightIndex,D):N(z,T.highlightIndex,D),!0):!1}__name$1(Se,"handleHighlighting");function ge(T,z=null,D=!1){var _e,B,Q,de,re,ve,U;if(!T||T.id===$||T.nodeType!==Node.ELEMENT_NODE&&T.nodeType!==Node.TEXT_NODE||!T||T.id===$||((_e=T.dataset)==null?void 0:_e.browserUseIgnore)==="true"||((B=T.dataset)==null?void 0:B.pageAgentIgnore)==="true"||T.getAttribute&&T.getAttribute("aria-hidden")==="true")return null;if(T===document.body){const X={tagName:"body",attributes:{},xpath:"/body",children:[]};for(const le of T.childNodes){const we=ge(le,z,!1);we&&X.children.push(we)}const fe=`${C.current++}`;return R[fe]=X,fe}if(T.nodeType!==Node.ELEMENT_NODE&&T.nodeType!==Node.TEXT_NODE)return null;if(T.nodeType===Node.TEXT_NODE){const X=(Q=T.textContent)==null?void 0:Q.trim();if(!X)return null;const fe=T.parentElement;if(!fe||fe.tagName.toLowerCase()==="script")return null;const le=`${C.current++}`;return R[le]={type:"TEXT_NODE",text:X,isVisible:P(T)},le}if(T.nodeType===Node.ELEMENT_NODE&&!W(T))return null;if(y!==-1&&!T.shadowRoot){const X=I(T),fe=A(T),le=fe&&(fe.position==="fixed"||fe.position==="sticky"),we=T.offsetWidth>0||T.offsetHeight>0;if(!X||!le&&!we&&(X.bottom<-y||X.top>window.innerHeight+y||X.right<-y||X.left>window.innerWidth+y))return null}const Z={tagName:T.tagName.toLowerCase(),attributes:{},children:[]};if(ie(T)||T.tagName.toLowerCase()==="iframe"||T.tagName.toLowerCase()==="body"){const X=((de=T.getAttributeNames)==null?void 0:de.call(T))||[];for(const fe of X){const le=T.getAttribute(fe);Z.attributes[fe]=le}T.tagName.toLowerCase()==="input"&&(T.type==="checkbox"||T.type==="radio")&&(Z.attributes.checked=T.checked?"true":"false")}let G=!1;if(T.nodeType===Node.ELEMENT_NODE&&(Z.isVisible=V(T),Z.isVisible)){Z.isTopElement=he(T);const X=T.getAttribute("role"),fe=X==="menu"||X==="menubar"||X==="listbox";if((Z.isTopElement||fe)&&(Z.isInteractive=q(T),G=Se(Z,T,z,D),Z.ref=T,Z.isInteractive&&Object.keys(Z.attributes).length===0)){const le=((re=T.getAttributeNames)==null?void 0:re.call(T))||[];for(const we of le){const Le=T.getAttribute(we);Z.attributes[we]=Le}}}if(T.tagName){const X=T.tagName.toLowerCase();if(X==="iframe")try{const fe=T.contentDocument||((ve=T.contentWindow)==null?void 0:ve.document);if(fe)for(const le of fe.childNodes){const we=ge(le,T,!1);we&&Z.children.push(we)}}catch(fe){console.warn("Unable to access iframe:",fe)}else if(T.isContentEditable||T.getAttribute("contenteditable")==="true"||T.id==="tinymce"||T.classList.contains("mce-content-body")||X==="body"&&((U=T.getAttribute("data-id"))!=null&&U.startsWith("mce_")))for(const fe of T.childNodes){const le=ge(fe,z,G);le&&Z.children.push(le)}else{if(T.shadowRoot){Z.shadowRoot=!0;for(const fe of T.shadowRoot.childNodes){const le=ge(fe,z,G);le&&Z.children.push(le)}}for(const fe of T.childNodes){const we=ge(fe,z,G||D);we&&Z.children.push(we)}}}if(Z.tagName==="a"&&Z.children.length===0&&!Z.attributes.href){const X=I(T);if(!(X&&X.width>0&&X.height>0||T.offsetWidth>0||T.offsetHeight>0))return null}Z.extra=E.get(T)||null;const oe=`${C.current++}`;return R[oe]=Z,oe}__name$1(ge,"buildDomTree");const xe=ge(document.body);return k.clearCache(),{rootId:xe,map:R}},"domTree"),DEFAULT_VIEWPORT_EXPANSION=-1;function resolveViewportExpansion(d){return d??DEFAULT_VIEWPORT_EXPANSION}__name$1(resolveViewportExpansion,"resolveViewportExpansion");const newElementsCache=new WeakMap;function getFlatTree(d){const p=resolveViewportExpansion(d.viewportExpansion),h=[];for(const b of d.interactiveBlacklist||[])typeof b=="function"?h.push(b()):h.push(b);const g=[];for(const b of d.interactiveWhitelist||[])typeof b=="function"?g.push(b()):g.push(b);const m=domTree({doHighlightElements:!0,debugMode:!0,focusHighlightIndex:-1,viewportExpansion:p,interactiveBlacklist:h,interactiveWhitelist:g,highlightOpacity:d.highlightOpacity??0,highlightLabelOpacity:d.highlightLabelOpacity??.1}),_=window.location.href;for(const b in m.map){const y=m.map[b];if(y.isInteractive&&y.ref){const w=y.ref;newElementsCache.has(w)||(newElementsCache.set(w,_),y.isNew=!0)}}return m}__name$1(getFlatTree,"getFlatTree");const globRegexCache=new Map;function globToRegex(d){let p=globRegexCache.get(d);if(!p){const h=d.replace(/[.+^${}()|[\]\\]/g,"\\$&");p=new RegExp(`^${h.replace(/\*/g,".*")}$`),globRegexCache.set(d,p)}return p}__name$1(globToRegex,"globToRegex");function matchAttributes(d,p){const h={};for(const g of p)if(g.includes("*")){const m=globToRegex(g);for(const _ of Object.keys(d))m.test(_)&&d[_].trim()&&(h[_]=d[_].trim())}else{const m=d[g];m&&m.trim()&&(h[g]=m.trim())}return h}__name$1(matchAttributes,"matchAttributes");function flatTreeToString(d,p){const h=["title","type","checked","name","role","value","placeholder","data-date-format","alt","aria-label","aria-expanded","data-state","aria-checked","id","for","target","aria-haspopup","aria-controls","aria-owns","contenteditable"],g=[...p||[],...h],m=__name$1((S,k)=>S.length>k?S.substring(0,k)+"...":S,"capTextLength"),_=__name$1(S=>{const k=d.map[S];if(!k)return null;if(k.type==="TEXT_NODE"){const I=k;return{type:"text",text:I.text,isVisible:I.isVisible,parent:null,children:[]}}else{const I=k,A=[];if(I.children)for(const M of I.children){const R=_(M);R&&(R.parent=null,A.push(R))}return{type:"element",tagName:I.tagName,attributes:I.attributes??{},isVisible:I.isVisible??!1,isInteractive:I.isInteractive??!1,isTopElement:I.isTopElement??!1,isNew:I.isNew??!1,highlightIndex:I.highlightIndex,parent:null,children:A,extra:I.extra??{}}}},"buildTreeNode"),b=__name$1((S,k=null)=>{S.parent=k;for(const I of S.children)b(I,S)},"setParentReferences"),y=_(d.rootId);if(!y)return"";b(y);const w=__name$1(S=>{let k=S.parent;for(;k;){if(k.type==="element"&&k.highlightIndex!==void 0)return!0;k=k.parent}return!1},"hasParentWithHighlightIndex"),x=__name$1((S,k,I)=>{var R,C,$,N;let A=k;const M=" ".repeat(k);if(S.type==="element"){if(S.highlightIndex!==void 0){A+=1;const O=getAllTextTillNextClickableElement(S);let P="";if(g.length>0&&S.attributes){const q=matchAttributes(S.attributes,g),he=Object.keys(q);if(he.length>1){const ie=new Set,se={};for(const Ee of he){const ae=q[Ee];ae.length>5&&(ae in se?ie.add(Ee):se[ae]=Ee)}for(const Ee of ie)delete q[Ee]}q.role===S.tagName&&delete q.role;const ne=["aria-label","placeholder","title"];for(const ie of ne)q[ie]&&q[ie].toLowerCase().trim()===O.toLowerCase().trim()&&delete q[ie];Object.keys(q).length>0&&(P=Object.entries(q).map(([ie,se])=>`${ie}=${m(se,20)}`).join(" "))}const W=S.isNew?`*[${S.highlightIndex}]`:`[${S.highlightIndex}]`;let V=`${M}${W}<${S.tagName??""}`;if(P&&(V+=` ${P}`),S.extra&&S.extra.scrollable){let q="";(R=S.extra.scrollData)!=null&&R.left&&(q+=`left=${S.extra.scrollData.left}, `),(C=S.extra.scrollData)!=null&&C.top&&(q+=`top=${S.extra.scrollData.top}, `),($=S.extra.scrollData)!=null&&$.right&&(q+=`right=${S.extra.scrollData.right}, `),(N=S.extra.scrollData)!=null&&N.bottom&&(q+=`bottom=${S.extra.scrollData.bottom}`),V+=` data-scrollable="${q}"`}if(O){const q=O.trim();P||(V+=" "),V+=`>${q}`}else P||(V+=" ");V+=" />",I.push(V)}for(const O of S.children)x(O,A,I)}else if(S.type==="text"){if(w(S))return;S.parent&&S.parent.type==="element"&&S.parent.isVisible&&S.parent.isTopElement&&I.push(`${M}${S.text??""}`)}},"processNode"),E=[];return x(y,0,E),E.join(`
403
+ `,p},"#assembleUserPrompt"),onDone_fn=__name$2(function(d=!0){this.pageController.cleanUpHighlights(),this.pageController.hideMask(),__privateMethod$1(this,_PageAgentCore_instances,setStatus_fn).call(this,d?"completed":"error"),__privateGet$1(this,_abortController).abort()},"#onDone"),__name$2(_PageAgentCore,"PageAgentCore");let PageAgentCore=_PageAgentCore;var __defProp$1=Object.defineProperty,__name$1=(d,p)=>__defProp$1(d,"name",{value:p,configurable:!0});async function waitFor(d){await new Promise(p=>setTimeout(p,d*1e3))}__name$1(waitFor,"waitFor");async function movePointerToElement(d){const p=d.getBoundingClientRect(),h=p.left+p.width/2,g=p.top+p.height/2;window.dispatchEvent(new CustomEvent("PageAgent::MovePointerTo",{detail:{x:h,y:g}})),await waitFor(.3)}__name$1(movePointerToElement,"movePointerToElement");function getElementByIndex(d,p){const h=d.get(p);if(!h)throw new Error(`No interactive element found at index ${p}`);const g=h.ref;if(!g)throw new Error(`Element at index ${p} does not have a reference`);if(!(g instanceof HTMLElement))throw new Error(`Element at index ${p} is not an HTMLElement`);return g}__name$1(getElementByIndex,"getElementByIndex");let lastClickedElement=null;function blurLastClickedElement(){lastClickedElement&&(lastClickedElement.blur(),lastClickedElement.dispatchEvent(new MouseEvent("mouseout",{bubbles:!0,cancelable:!0})),lastClickedElement=null)}__name$1(blurLastClickedElement,"blurLastClickedElement");async function clickElement(d){blurLastClickedElement(),lastClickedElement=d,await scrollIntoViewIfNeeded(d),await movePointerToElement(d),window.dispatchEvent(new CustomEvent("PageAgent::ClickPointer")),await waitFor(.1),d.dispatchEvent(new MouseEvent("mouseenter",{bubbles:!0,cancelable:!0})),d.dispatchEvent(new MouseEvent("mouseover",{bubbles:!0,cancelable:!0})),d.dispatchEvent(new MouseEvent("mousedown",{bubbles:!0,cancelable:!0})),d.focus(),d.dispatchEvent(new MouseEvent("mouseup",{bubbles:!0,cancelable:!0})),d.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0})),await waitFor(.2)}__name$1(clickElement,"clickElement");const nativeInputValueSetter=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set,nativeTextAreaValueSetter=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value").set;async function inputTextElement(d,p){const h=d.isContentEditable;if(!(d instanceof HTMLInputElement)&&!(d instanceof HTMLTextAreaElement)&&!h)throw new Error("Element is not an input, textarea, or contenteditable");await clickElement(d),h?(d.dispatchEvent(new InputEvent("beforeinput",{bubbles:!0,cancelable:!0,inputType:"deleteContent"}))&&(d.innerText="",d.dispatchEvent(new InputEvent("input",{bubbles:!0,inputType:"deleteContent"}))),d.dispatchEvent(new InputEvent("beforeinput",{bubbles:!0,cancelable:!0,inputType:"insertText",data:p}))&&(d.innerText=p,d.dispatchEvent(new InputEvent("input",{bubbles:!0,inputType:"insertText",data:p}))),d.dispatchEvent(new Event("change",{bubbles:!0})),d.blur()):d instanceof HTMLTextAreaElement?nativeTextAreaValueSetter.call(d,p):nativeInputValueSetter.call(d,p),h||d.dispatchEvent(new Event("input",{bubbles:!0})),await waitFor(.1),blurLastClickedElement()}__name$1(inputTextElement,"inputTextElement");async function selectOptionElement(d,p){if(!(d instanceof HTMLSelectElement))throw new Error("Element is not a select element");const g=Array.from(d.options).find(m=>{var _;return((_=m.textContent)==null?void 0:_.trim())===p.trim()});if(!g)throw new Error(`Option with text "${p}" not found in select element`);d.value=g.value,d.dispatchEvent(new Event("change",{bubbles:!0})),await waitFor(.1)}__name$1(selectOptionElement,"selectOptionElement");async function scrollIntoViewIfNeeded(d){const p=d;typeof p.scrollIntoViewIfNeeded=="function"?p.scrollIntoViewIfNeeded():d.scrollIntoView({behavior:"auto",block:"center",inline:"nearest"})}__name$1(scrollIntoViewIfNeeded,"scrollIntoViewIfNeeded");async function scrollVertically(d,p,h){if(h){const y=h;let w=y,x=!1,E=null,S=0,k=0;const I=p;for(;w&&k<10;){const A=window.getComputedStyle(w),M=/(auto|scroll|overlay)/.test(A.overflowY),R=w.scrollHeight>w.clientHeight;if(M&&R){const C=w.scrollTop,$=w.scrollHeight-w.clientHeight;let N=I/3;N>0?N=Math.min(N,$-C):N=Math.max(N,-C),w.scrollTop=C+N;const P=w.scrollTop-C;if(Math.abs(P)>.5){x=!0,E=w,S=P;break}}if(w===document.body||w===document.documentElement)break;w=w.parentElement,k++}return x?`Scrolled container (${E==null?void 0:E.tagName}) by ${S}px`:`No scrollable container found for element (${y.tagName})`}const g=p,m=__name$1(y=>y.clientHeight>=window.innerHeight*.5,"bigEnough"),_=__name$1(y=>y&&/(auto|scroll|overlay)/.test(getComputedStyle(y).overflowY)&&y.scrollHeight>y.clientHeight&&m(y),"canScroll");let b=document.activeElement;for(;b&&!_(b)&&b!==document.body;)b=b.parentElement;if(b=_(b)?b:Array.from(document.querySelectorAll("*")).find(_)||document.scrollingElement||document.documentElement,b===document.scrollingElement||b===document.documentElement||b===document.body){const y=window.scrollY,w=document.documentElement.scrollHeight-window.innerHeight;window.scrollBy(0,g);const x=window.scrollY,E=x-y;if(Math.abs(E)<1)return g>0?"⚠️ Already at the bottom of the page, cannot scroll down further.":"⚠️ Already at the top of the page, cannot scroll up further.";const S=g>0&&x>=w-1,k=g<0&&x<=1;return S?`✅ Scrolled page by ${E}px. Reached the bottom of the page.`:k?`✅ Scrolled page by ${E}px. Reached the top of the page.`:`✅ Scrolled page by ${E}px.`}else{const y=b.scrollTop,w=b.scrollHeight-b.clientHeight;b.scrollBy({top:g,behavior:"smooth"}),await waitFor(.1);const x=b.scrollTop,E=x-y;if(Math.abs(E)<1)return g>0?`⚠️ Already at the bottom of container (${b.tagName}), cannot scroll down further.`:`⚠️ Already at the top of container (${b.tagName}), cannot scroll up further.`;const S=g>0&&x>=w-1,k=g<0&&x<=1;return S?`✅ Scrolled container (${b.tagName}) by ${E}px. Reached the bottom.`:k?`✅ Scrolled container (${b.tagName}) by ${E}px. Reached the top.`:`✅ Scrolled container (${b.tagName}) by ${E}px.`}}__name$1(scrollVertically,"scrollVertically");async function scrollHorizontally(d,p,h){if(h){const y=h;let w=y,x=!1,E=null,S=0,k=0;const I=d?p:-p;for(;w&&k<10;){const A=window.getComputedStyle(w),M=/(auto|scroll|overlay)/.test(A.overflowX),R=w.scrollWidth>w.clientWidth;if(M&&R){const C=w.scrollLeft,$=w.scrollWidth-w.clientWidth;let N=I/3;N>0?N=Math.min(N,$-C):N=Math.max(N,-C),w.scrollLeft=C+N;const P=w.scrollLeft-C;if(Math.abs(P)>.5){x=!0,E=w,S=P;break}}if(w===document.body||w===document.documentElement)break;w=w.parentElement,k++}return x?`Scrolled container (${E==null?void 0:E.tagName}) horizontally by ${S}px`:`No horizontally scrollable container found for element (${y.tagName})`}const g=d?p:-p,m=__name$1(y=>y.clientWidth>=window.innerWidth*.5,"bigEnough"),_=__name$1(y=>y&&/(auto|scroll|overlay)/.test(getComputedStyle(y).overflowX)&&y.scrollWidth>y.clientWidth&&m(y),"canScroll");let b=document.activeElement;for(;b&&!_(b)&&b!==document.body;)b=b.parentElement;if(b=_(b)?b:Array.from(document.querySelectorAll("*")).find(_)||document.scrollingElement||document.documentElement,b===document.scrollingElement||b===document.documentElement||b===document.body){const y=window.scrollX,w=document.documentElement.scrollWidth-window.innerWidth;window.scrollBy(g,0);const x=window.scrollX,E=x-y;if(Math.abs(E)<1)return g>0?"⚠️ Already at the right edge of the page, cannot scroll right further.":"⚠️ Already at the left edge of the page, cannot scroll left further.";const S=g>0&&x>=w-1,k=g<0&&x<=1;return S?`✅ Scrolled page by ${E}px. Reached the right edge of the page.`:k?`✅ Scrolled page by ${E}px. Reached the left edge of the page.`:`✅ Scrolled page horizontally by ${E}px.`}else{const y=b.scrollLeft,w=b.scrollWidth-b.clientWidth;b.scrollBy({left:g,behavior:"smooth"}),await waitFor(.1);const x=b.scrollLeft,E=x-y;if(Math.abs(E)<1)return g>0?`⚠️ Already at the right edge of container (${b.tagName}), cannot scroll right further.`:`⚠️ Already at the left edge of container (${b.tagName}), cannot scroll left further.`;const S=g>0&&x>=w-1,k=g<0&&x<=1;return S?`✅ Scrolled container (${b.tagName}) by ${E}px. Reached the right edge.`:k?`✅ Scrolled container (${b.tagName}) by ${E}px. Reached the left edge.`:`✅ Scrolled container (${b.tagName}) horizontally by ${E}px.`}}__name$1(scrollHorizontally,"scrollHorizontally");const domTree=__name$1((d={doHighlightElements:!0,focusHighlightIndex:-1,viewportExpansion:0,debugMode:!1,interactiveBlacklist:[],interactiveWhitelist:[],highlightOpacity:.1,highlightLabelOpacity:.5})=>{const{interactiveBlacklist:p,interactiveWhitelist:h,highlightOpacity:g,highlightLabelOpacity:m}=d,{doHighlightElements:_,focusHighlightIndex:b,viewportExpansion:y,debugMode:w}=d;let x=0;const E=new WeakMap;function S(T,z){!T||T.nodeType!==Node.ELEMENT_NODE||E.set(T,{...E.get(T),...z})}__name$1(S,"addExtraData");const k={boundingRects:new WeakMap,clientRects:new WeakMap,computedStyles:new WeakMap,clearCache:__name$1(()=>{k.boundingRects=new WeakMap,k.clientRects=new WeakMap,k.computedStyles=new WeakMap},"clearCache")};function I(T){if(!T)return null;if(k.boundingRects.has(T))return k.boundingRects.get(T);const z=T.getBoundingClientRect();return z&&k.boundingRects.set(T,z),z}__name$1(I,"getCachedBoundingRect");function A(T){if(!T)return null;if(k.computedStyles.has(T))return k.computedStyles.get(T);const z=window.getComputedStyle(T);return z&&k.computedStyles.set(T,z),z}__name$1(A,"getCachedComputedStyle");function M(T){if(!T)return null;if(k.clientRects.has(T))return k.clientRects.get(T);const z=T.getClientRects();return z&&k.clientRects.set(T,z),z}__name$1(M,"getCachedClientRects");const R={},C={current:0},$="playwright-highlight-container";function N(T,z,D=null){if(!T)return z;const Z=[];let G=null,oe=20,_e=16,B=null;try{let Q=document.getElementById($);Q||(Q=document.createElement("div"),Q.id=$,Q.style.position="fixed",Q.style.pointerEvents="none",Q.style.top="0",Q.style.left="0",Q.style.width="100%",Q.style.height="100%",Q.style.zIndex="2147483640",Q.style.backgroundColor="transparent",document.body.appendChild(Q));const ue=T.getClientRects();if(!ue||ue.length===0)return z;const re=["#FF0000","#00FF00","#0000FF","#FFA500","#800080","#008080","#FF69B4","#4B0082","#FF4500","#2E8B57","#DC143C","#4682B4"],ve=z%re.length;let U=re[ve];const X=U+Math.floor(g*255).toString(16).padStart(2,"0");U=U+Math.floor(m*255).toString(16).padStart(2,"0");let fe={x:0,y:0};if(D){const ee=D.getBoundingClientRect();fe.x=ee.left,fe.y=ee.top}const le=document.createDocumentFragment();for(const ee of ue){if(ee.width===0||ee.height===0)continue;const pe=document.createElement("div");pe.style.position="fixed",pe.style.border=`2px solid ${U}`,pe.style.backgroundColor=X,pe.style.pointerEvents="none",pe.style.boxSizing="border-box";const te=ee.top+fe.y,ce=ee.left+fe.x;pe.style.top=`${te}px`,pe.style.left=`${ce}px`,pe.style.width=`${ee.width}px`,pe.style.height=`${ee.height}px`,le.appendChild(pe),Z.push({element:pe,initialRect:ee})}const we=ue[0];G=document.createElement("div"),G.className="playwright-highlight-label",G.style.position="fixed",G.style.background=U,G.style.color="white",G.style.padding="1px 4px",G.style.borderRadius="4px",G.style.fontSize=`${Math.min(12,Math.max(8,we.height/2))}px`,G.textContent=z.toString(),oe=G.offsetWidth>0?G.offsetWidth:oe,_e=G.offsetHeight>0?G.offsetHeight:_e;const Le=we.top+fe.y,Ce=we.left+fe.x;let He=Le+2,Re=Ce+we.width-oe-2;(we.width<oe+4||we.height<_e+4)&&(He=Le-_e-2,Re=Ce+we.width-oe,Re<fe.x&&(Re=Ce)),He=Math.max(0,Math.min(He,window.innerHeight-_e)),Re=Math.max(0,Math.min(Re,window.innerWidth-oe)),G.style.top=`${He}px`,G.style.left=`${Re}px`,le.appendChild(G);const Y=__name$1((ee,pe)=>{let te=0;return(...ce)=>{const be=performance.now();if(!(be-te<pe))return te=be,ee(...ce)}},"throttleFunction")(__name$1(()=>{const ee=T.getClientRects();let pe={x:0,y:0};if(D){const te=D.getBoundingClientRect();pe.x=te.left,pe.y=te.top}if(Z.forEach((te,ce)=>{if(ce<ee.length){const be=ee[ce],De=be.top+pe.y,Te=be.left+pe.x;te.element.style.top=`${De}px`,te.element.style.left=`${Te}px`,te.element.style.width=`${be.width}px`,te.element.style.height=`${be.height}px`,te.element.style.display=be.width===0||be.height===0?"none":"block"}else te.element.style.display="none"}),ee.length<Z.length)for(let te=ee.length;te<Z.length;te++)Z[te].element.style.display="none";if(G&&ee.length>0){const te=ee[0],ce=te.top+pe.y,be=te.left+pe.x;let De=ce+2,Te=be+te.width-oe-2;(te.width<oe+4||te.height<_e+4)&&(De=ce-_e-2,Te=be+te.width-oe,Te<pe.x&&(Te=be)),De=Math.max(0,Math.min(De,window.innerHeight-_e)),Te=Math.max(0,Math.min(Te,window.innerWidth-oe)),G.style.top=`${De}px`,G.style.left=`${Te}px`,G.style.display="block"}else G&&(G.style.display="none")},"updatePositions"),16);return window.addEventListener("scroll",Y,!0),window.addEventListener("resize",Y),B=__name$1(()=>{window.removeEventListener("scroll",Y,!0),window.removeEventListener("resize",Y),Z.forEach(ee=>ee.element.remove()),G&&G.remove()},"cleanupFn"),Q.appendChild(le),z+1}finally{B&&(window._highlightCleanupFunctions=window._highlightCleanupFunctions||[]).push(B)}}__name$1(N,"highlightElement");function O(T){if(!T||T.nodeType!==Node.ELEMENT_NODE)return null;const z=A(T);if(!z)return null;const D=z.display;if(D==="inline"||D==="inline-block")return null;const Z=z.overflowX,G=z.overflowY,oe=Z==="auto"||Z==="scroll",_e=G==="auto"||G==="scroll";if(!oe&&!_e)return null;const B=T.scrollWidth-T.clientWidth,Q=T.scrollHeight-T.clientHeight,ue=4;if(B<ue&&Q<ue||!_e&&B<ue||!oe&&Q<ue)return null;const re=T.scrollTop,ve=T.scrollLeft,U=T.scrollWidth-T.clientWidth-T.scrollLeft,X=T.scrollHeight-T.clientHeight-T.scrollTop,fe={top:re,right:U,bottom:X,left:ve};return S(T,{scrollable:!0,scrollData:fe}),fe}__name$1(O,"isScrollableElement");function P(T){try{if(y===-1){const _e=T.parentElement;if(!_e)return!1;try{return _e.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})}catch{const Q=window.getComputedStyle(_e);return Q.display!=="none"&&Q.visibility!=="hidden"&&Q.opacity!=="0"}}const z=document.createRange();z.selectNodeContents(T);const D=z.getClientRects();if(!D||D.length===0)return!1;let Z=!1,G=!1;for(const _e of D)if(_e.width>0&&_e.height>0&&(Z=!0,!(_e.bottom<-y||_e.top>window.innerHeight+y||_e.right<-y||_e.left>window.innerWidth+y))){G=!0;break}if(!Z||!G)return!1;const oe=T.parentElement;if(!oe)return!1;try{return oe.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})}catch{const B=window.getComputedStyle(oe);return B.display!=="none"&&B.visibility!=="hidden"&&B.opacity!=="0"}}catch(z){return console.warn("Error checking text node visibility:",z),!1}}__name$1(P,"isTextNodeVisible");function W(T){if(!T||!T.tagName)return!1;const z=new Set(["body","div","main","article","section","nav","header","footer"]),D=T.tagName.toLowerCase();return z.has(D)?!0:!new Set(["svg","script","style","link","meta","noscript","template"]).has(D)}__name$1(W,"isElementAccepted");function V(T){const z=A(T);return T.offsetWidth>0&&T.offsetHeight>0&&(z==null?void 0:z.visibility)!=="hidden"&&(z==null?void 0:z.display)!=="none"}__name$1(V,"isElementVisible");function q(T){var X,fe;if(!T||T.nodeType!==Node.ELEMENT_NODE||p.includes(T))return!1;if(h.includes(T))return!0;const z=T.tagName.toLowerCase(),D=A(T),Z=new Set(["pointer","move","text","grab","grabbing","cell","copy","alias","all-scroll","col-resize","context-menu","crosshair","e-resize","ew-resize","help","n-resize","ne-resize","nesw-resize","ns-resize","nw-resize","nwse-resize","row-resize","s-resize","se-resize","sw-resize","vertical-text","w-resize","zoom-in","zoom-out"]),G=new Set(["not-allowed","no-drop","wait","progress","initial","inherit"]);function oe(le){return le.tagName.toLowerCase()==="html"?!1:!!(D!=null&&D.cursor&&Z.has(D.cursor))}if(__name$1(oe,"doesElementHaveInteractivePointer"),oe(T))return!0;const B=new Set(["a","button","input","select","textarea","details","summary","label","option","optgroup","fieldset","legend"]),Q=new Set(["disabled","readonly"]);if(B.has(z)){if(D!=null&&D.cursor&&G.has(D.cursor))return!1;for(const le of Q)if(T.hasAttribute(le)||T.getAttribute(le)==="true"||T.getAttribute(le)==="")return!1;return!(T.disabled||T.readOnly||T.inert)}const ue=T.getAttribute("role"),re=T.getAttribute("aria-role");if(T.getAttribute("contenteditable")==="true"||T.isContentEditable||T.classList&&(T.classList.contains("button")||T.classList.contains("dropdown-toggle")||T.getAttribute("data-index")||T.getAttribute("data-toggle")==="dropdown"||T.getAttribute("aria-haspopup")==="true"))return!0;const ve=new Set(["button","menu","menubar","menuitem","menuitemradio","menuitemcheckbox","radio","checkbox","tab","switch","slider","spinbutton","combobox","searchbox","textbox","listbox","option","scrollbar"]);if(B.has(z)||ue&&ve.has(ue)||re&&ve.has(re))return!0;try{if(typeof getEventListeners=="function"){const Le=getEventListeners(T),Ce=["click","mousedown","mouseup","dblclick"];for(const He of Ce)if(Le[He]&&Le[He].length>0)return!0}const le=((fe=(X=T==null?void 0:T.ownerDocument)==null?void 0:X.defaultView)==null?void 0:fe.getEventListenersForNode)||window.getEventListenersForNode;if(typeof le=="function"){const Le=le(T),Ce=["click","mousedown","mouseup","keydown","keyup","submit","change","input","focus","blur"];for(const He of Ce)for(const Re of Le)if(Re.type===He)return!0}const we=["onclick","onmousedown","onmouseup","ondblclick"];for(const Le of we)if(T.hasAttribute(Le)||typeof T[Le]=="function")return!0}catch{}return!!O(T)}__name$1(q,"isInteractiveElement");function he(T){if(y===-1)return!0;const z=M(T);if(!z||z.length===0)return!1;let D=!1;for(const Q of z)if(Q.width>0&&Q.height>0&&!(Q.bottom<-y||Q.top>window.innerHeight+y||Q.right<-y||Q.left>window.innerWidth+y)){D=!0;break}if(!D)return!1;if(T.ownerDocument!==window.document)return!0;let G=Array.from(z).find(Q=>Q.width>0&&Q.height>0);if(!G)return!1;const oe=T.getRootNode();if(oe instanceof ShadowRoot){const Q=G.left+G.width/2,ue=G.top+G.height/2;try{const re=oe.elementFromPoint(Q,ue);if(!re)return!1;let ve=re;for(;ve&&ve!==oe;){if(ve===T)return!0;ve=ve.parentElement}return!1}catch{return!0}}const _e=5;return[{x:G.left+G.width/2,y:G.top+G.height/2},{x:G.left+_e,y:G.top+_e},{x:G.right-_e,y:G.bottom-_e}].some(({x:Q,y:ue})=>{try{const re=document.elementFromPoint(Q,ue);if(!re)return!1;let ve=re;for(;ve&&ve!==document.documentElement;){if(ve===T)return!0;ve=ve.parentElement}return!1}catch{return!0}})}__name$1(he,"isTopElement");function ne(T,z){if(z===-1)return!0;const D=T.getClientRects();if(!D||D.length===0){const Z=I(T);return!Z||Z.width===0||Z.height===0?!1:!(Z.bottom<-z||Z.top>window.innerHeight+z||Z.right<-z||Z.left>window.innerWidth+z)}for(const Z of D)if(!(Z.width===0||Z.height===0)&&!(Z.bottom<-z||Z.top>window.innerHeight+z||Z.right<-z||Z.left>window.innerWidth+z))return!0;return!1}__name$1(ne,"isInExpandedViewport");function ie(T){if(!T||T.nodeType!==Node.ELEMENT_NODE)return!1;const z=T.tagName.toLowerCase();return new Set(["a","button","input","select","textarea","details","summary","label"]).has(z)?!0:T.hasAttribute("onclick")||T.hasAttribute("role")||T.hasAttribute("tabindex")||T.hasAttribute("aria-")||T.hasAttribute("data-action")||T.getAttribute("contenteditable")==="true"}__name$1(ie,"isInteractiveCandidate");const se=new Set(["a","button","input","select","textarea","summary","details","label","option"]),Ee=new Set(["button","link","menuitem","menuitemradio","menuitemcheckbox","radio","checkbox","tab","switch","slider","spinbutton","combobox","searchbox","textbox","listbox","option","scrollbar"]);function ae(T){if(!T||T.nodeType!==Node.ELEMENT_NODE||!V(T))return!1;const z=T.hasAttribute("role")||T.hasAttribute("tabindex")||T.hasAttribute("onclick")||typeof T.onclick=="function",D=/\b(btn|clickable|menu|item|entry|link)\b/i.test(T.className||""),Z=!!T.closest('button,a,[role="button"],.menu,.dropdown,.list,.toolbar'),G=[...T.children].some(V),oe=T.parentElement&&T.parentElement.isSameNode(document.body);return(q(T)||z||D)&&G&&Z&&!oe}__name$1(ae,"isHeuristicallyInteractive");function Ie(T){var Z,G;if(!T||T.nodeType!==Node.ELEMENT_NODE)return!1;const z=T.tagName.toLowerCase(),D=T.getAttribute("role");if(z==="iframe"||se.has(z)||D&&Ee.has(D)||T.isContentEditable||T.getAttribute("contenteditable")==="true"||T.hasAttribute("data-testid")||T.hasAttribute("data-cy")||T.hasAttribute("data-test")||T.hasAttribute("onclick")||typeof T.onclick=="function")return!0;try{const oe=((G=(Z=T==null?void 0:T.ownerDocument)==null?void 0:Z.defaultView)==null?void 0:G.getEventListenersForNode)||window.getEventListenersForNode;if(typeof oe=="function"){const B=oe(T),Q=["click","mousedown","mouseup","keydown","keyup","submit","change","input","focus","blur"];for(const ue of Q)for(const re of B)if(re.type===ue)return!0}if(["onmousedown","onmouseup","onkeydown","onkeyup","onsubmit","onchange","oninput","onfocus","onblur"].some(B=>T.hasAttribute(B)))return!0}catch{}return!!ae(T)}__name$1(Ie,"isElementDistinctInteraction");function Se(T,z,D,Z){if(!T.isInteractive)return!1;let G=!1;return Z?Ie(z)?G=!0:G=!1:G=!0,G&&(T.isInViewport=ne(z,y),(T.isInViewport||y===-1)&&(T.highlightIndex=x++,_))?(b>=0?b===T.highlightIndex&&N(z,T.highlightIndex,D):N(z,T.highlightIndex,D),!0):!1}__name$1(Se,"handleHighlighting");function ge(T,z=null,D=!1){var _e,B,Q,ue,re,ve,U;if(!T||T.id===$||T.nodeType!==Node.ELEMENT_NODE&&T.nodeType!==Node.TEXT_NODE||!T||T.id===$||((_e=T.dataset)==null?void 0:_e.browserUseIgnore)==="true"||((B=T.dataset)==null?void 0:B.pageAgentIgnore)==="true"||T.getAttribute&&T.getAttribute("aria-hidden")==="true")return null;if(T===document.body){const X={tagName:"body",attributes:{},xpath:"/body",children:[]};for(const le of T.childNodes){const we=ge(le,z,!1);we&&X.children.push(we)}const fe=`${C.current++}`;return R[fe]=X,fe}if(T.nodeType!==Node.ELEMENT_NODE&&T.nodeType!==Node.TEXT_NODE)return null;if(T.nodeType===Node.TEXT_NODE){const X=(Q=T.textContent)==null?void 0:Q.trim();if(!X)return null;const fe=T.parentElement;if(!fe||fe.tagName.toLowerCase()==="script")return null;const le=`${C.current++}`;return R[le]={type:"TEXT_NODE",text:X,isVisible:P(T)},le}if(T.nodeType===Node.ELEMENT_NODE&&!W(T))return null;if(y!==-1&&!T.shadowRoot){const X=I(T),fe=A(T),le=fe&&(fe.position==="fixed"||fe.position==="sticky"),we=T.offsetWidth>0||T.offsetHeight>0;if(!X||!le&&!we&&(X.bottom<-y||X.top>window.innerHeight+y||X.right<-y||X.left>window.innerWidth+y))return null}const Z={tagName:T.tagName.toLowerCase(),attributes:{},children:[]};if(ie(T)||T.tagName.toLowerCase()==="iframe"||T.tagName.toLowerCase()==="body"){const X=((ue=T.getAttributeNames)==null?void 0:ue.call(T))||[];for(const fe of X){const le=T.getAttribute(fe);Z.attributes[fe]=le}T.tagName.toLowerCase()==="input"&&(T.type==="checkbox"||T.type==="radio")&&(Z.attributes.checked=T.checked?"true":"false")}let G=!1;if(T.nodeType===Node.ELEMENT_NODE&&(Z.isVisible=V(T),Z.isVisible)){Z.isTopElement=he(T);const X=T.getAttribute("role"),fe=X==="menu"||X==="menubar"||X==="listbox";if((Z.isTopElement||fe)&&(Z.isInteractive=q(T),G=Se(Z,T,z,D),Z.ref=T,Z.isInteractive&&Object.keys(Z.attributes).length===0)){const le=((re=T.getAttributeNames)==null?void 0:re.call(T))||[];for(const we of le){const Le=T.getAttribute(we);Z.attributes[we]=Le}}}if(T.tagName){const X=T.tagName.toLowerCase();if(X==="iframe")try{const fe=T.contentDocument||((ve=T.contentWindow)==null?void 0:ve.document);if(fe)for(const le of fe.childNodes){const we=ge(le,T,!1);we&&Z.children.push(we)}}catch(fe){console.warn("Unable to access iframe:",fe)}else if(T.isContentEditable||T.getAttribute("contenteditable")==="true"||T.id==="tinymce"||T.classList.contains("mce-content-body")||X==="body"&&((U=T.getAttribute("data-id"))!=null&&U.startsWith("mce_")))for(const fe of T.childNodes){const le=ge(fe,z,G);le&&Z.children.push(le)}else{if(T.shadowRoot){Z.shadowRoot=!0;for(const fe of T.shadowRoot.childNodes){const le=ge(fe,z,G);le&&Z.children.push(le)}}for(const fe of T.childNodes){const we=ge(fe,z,G||D);we&&Z.children.push(we)}}}if(Z.tagName==="a"&&Z.children.length===0&&!Z.attributes.href){const X=I(T);if(!(X&&X.width>0&&X.height>0||T.offsetWidth>0||T.offsetHeight>0))return null}Z.extra=E.get(T)||null;const oe=`${C.current++}`;return R[oe]=Z,oe}__name$1(ge,"buildDomTree");const xe=ge(document.body);return k.clearCache(),{rootId:xe,map:R}},"domTree"),DEFAULT_VIEWPORT_EXPANSION=-1;function resolveViewportExpansion(d){return d??DEFAULT_VIEWPORT_EXPANSION}__name$1(resolveViewportExpansion,"resolveViewportExpansion");const newElementsCache=new WeakMap;function getFlatTree(d){const p=resolveViewportExpansion(d.viewportExpansion),h=[];for(const b of d.interactiveBlacklist||[])typeof b=="function"?h.push(b()):h.push(b);const g=[];for(const b of d.interactiveWhitelist||[])typeof b=="function"?g.push(b()):g.push(b);const m=domTree({doHighlightElements:!0,debugMode:!0,focusHighlightIndex:-1,viewportExpansion:p,interactiveBlacklist:h,interactiveWhitelist:g,highlightOpacity:d.highlightOpacity??0,highlightLabelOpacity:d.highlightLabelOpacity??.1}),_=window.location.href;for(const b in m.map){const y=m.map[b];if(y.isInteractive&&y.ref){const w=y.ref;newElementsCache.has(w)||(newElementsCache.set(w,_),y.isNew=!0)}}return m}__name$1(getFlatTree,"getFlatTree");const globRegexCache=new Map;function globToRegex(d){let p=globRegexCache.get(d);if(!p){const h=d.replace(/[.+^${}()|[\]\\]/g,"\\$&");p=new RegExp(`^${h.replace(/\*/g,".*")}$`),globRegexCache.set(d,p)}return p}__name$1(globToRegex,"globToRegex");function matchAttributes(d,p){const h={};for(const g of p)if(g.includes("*")){const m=globToRegex(g);for(const _ of Object.keys(d))m.test(_)&&d[_].trim()&&(h[_]=d[_].trim())}else{const m=d[g];m&&m.trim()&&(h[g]=m.trim())}return h}__name$1(matchAttributes,"matchAttributes");function flatTreeToString(d,p){const h=["title","type","checked","name","role","value","placeholder","data-date-format","alt","aria-label","aria-expanded","data-state","aria-checked","id","for","target","aria-haspopup","aria-controls","aria-owns","contenteditable"],g=[...p||[],...h],m=__name$1((S,k)=>S.length>k?S.substring(0,k)+"...":S,"capTextLength"),_=__name$1(S=>{const k=d.map[S];if(!k)return null;if(k.type==="TEXT_NODE"){const I=k;return{type:"text",text:I.text,isVisible:I.isVisible,parent:null,children:[]}}else{const I=k,A=[];if(I.children)for(const M of I.children){const R=_(M);R&&(R.parent=null,A.push(R))}return{type:"element",tagName:I.tagName,attributes:I.attributes??{},isVisible:I.isVisible??!1,isInteractive:I.isInteractive??!1,isTopElement:I.isTopElement??!1,isNew:I.isNew??!1,highlightIndex:I.highlightIndex,parent:null,children:A,extra:I.extra??{}}}},"buildTreeNode"),b=__name$1((S,k=null)=>{S.parent=k;for(const I of S.children)b(I,S)},"setParentReferences"),y=_(d.rootId);if(!y)return"";b(y);const w=__name$1(S=>{let k=S.parent;for(;k;){if(k.type==="element"&&k.highlightIndex!==void 0)return!0;k=k.parent}return!1},"hasParentWithHighlightIndex"),x=__name$1((S,k,I)=>{var R,C,$,N;let A=k;const M=" ".repeat(k);if(S.type==="element"){if(S.highlightIndex!==void 0){A+=1;const O=getAllTextTillNextClickableElement(S);let P="";if(g.length>0&&S.attributes){const q=matchAttributes(S.attributes,g),he=Object.keys(q);if(he.length>1){const ie=new Set,se={};for(const Ee of he){const ae=q[Ee];ae.length>5&&(ae in se?ie.add(Ee):se[ae]=Ee)}for(const Ee of ie)delete q[Ee]}q.role===S.tagName&&delete q.role;const ne=["aria-label","placeholder","title"];for(const ie of ne)q[ie]&&q[ie].toLowerCase().trim()===O.toLowerCase().trim()&&delete q[ie];Object.keys(q).length>0&&(P=Object.entries(q).map(([ie,se])=>`${ie}=${m(se,20)}`).join(" "))}const W=S.isNew?`*[${S.highlightIndex}]`:`[${S.highlightIndex}]`;let V=`${M}${W}<${S.tagName??""}`;if(P&&(V+=` ${P}`),S.extra&&S.extra.scrollable){let q="";(R=S.extra.scrollData)!=null&&R.left&&(q+=`left=${S.extra.scrollData.left}, `),(C=S.extra.scrollData)!=null&&C.top&&(q+=`top=${S.extra.scrollData.top}, `),($=S.extra.scrollData)!=null&&$.right&&(q+=`right=${S.extra.scrollData.right}, `),(N=S.extra.scrollData)!=null&&N.bottom&&(q+=`bottom=${S.extra.scrollData.bottom}`),V+=` data-scrollable="${q}"`}if(O){const q=O.trim();P||(V+=" "),V+=`>${q}`}else P||(V+=" ");V+=" />",I.push(V)}for(const O of S.children)x(O,A,I)}else if(S.type==="text"){if(w(S))return;S.parent&&S.parent.type==="element"&&S.parent.isVisible&&S.parent.isTopElement&&I.push(`${M}${S.text??""}`)}},"processNode"),E=[];return x(y,0,E),E.join(`
404
404
  `)}__name$1(flatTreeToString,"flatTreeToString");const getAllTextTillNextClickableElement=__name$1((d,p=-1)=>{const h=[],g=__name$1((m,_)=>{if(!(p!==-1&&_>p)&&!(m.type==="element"&&m!==d&&m.highlightIndex!==void 0)){if(m.type==="text"&&m.text)h.push(m.text);else if(m.type==="element")for(const b of m.children)g(b,_+1)}},"collectText");return g(d,0),h.join(`
405
405
  `).trim()},"getAllTextTillNextClickableElement");function getSelectorMap(d){const p=new Map,h=Object.keys(d.map);for(const g of h){const m=d.map[g];m.isInteractive&&typeof m.highlightIndex=="number"&&p.set(m.highlightIndex,m)}return p}__name$1(getSelectorMap,"getSelectorMap");function getElementTextMap(d){const p=d.split(`
406
406
  `).map(g=>g.trim()).filter(g=>g.length>0),h=new Map;for(const g of p){const _=/^\[(\d+)\]<[^>]+>([^<]*)/.exec(g);if(_){const b=parseInt(_[1],10);h.set(b,g)}}return h}__name$1(getElementTextMap,"getElementTextMap");function cleanUpHighlights(){const d=window._highlightCleanupFunctions||[];for(const p of d)typeof p=="function"&&p();window._highlightCleanupFunctions=[]}__name$1(cleanUpHighlights,"cleanUpHighlights"),window.addEventListener("popstate",()=>{cleanUpHighlights()}),window.addEventListener("hashchange",()=>{cleanUpHighlights()}),window.addEventListener("beforeunload",()=>{cleanUpHighlights()});const navigation=window.navigation;if(navigation&&typeof navigation.addEventListener=="function")navigation.addEventListener("navigate",()=>{cleanUpHighlights()});else{let d=window.location.href;setInterval(()=>{window.location.href!==d&&(d=window.location.href,cleanUpHighlights())},500)}function getPageInfo(){const d=window.innerWidth,p=window.innerHeight,h=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth||0),g=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight||0),m=window.scrollX||window.pageXOffset||document.documentElement.scrollLeft||0,_=window.scrollY||window.pageYOffset||document.documentElement.scrollTop||0,b=Math.max(0,g-(window.innerHeight+_)),y=Math.max(0,h-(window.innerWidth+m));return{viewport_width:d,viewport_height:p,page_width:h,page_height:g,scroll_x:m,scroll_y:_,pixels_above:_,pixels_below:b,pages_above:p>0?_/p:0,pages_below:p>0?b/p:0,total_pages:p>0?g/p:0,current_page_position:_/Math.max(1,g-p),pixels_left:m,pixels_right:y}}__name$1(getPageInfo,"getPageInfo");function patchReact(d){const p=document.querySelectorAll('[data-reactroot], [data-reactid], [data-react-checksum], #root, #app, [id^="root-"], [id^="app-"], #adex-wrapper, #adex-root');for(const h of p)h.setAttribute("data-page-agent-not-interactive","true")}__name$1(patchReact,"patchReact");const _PageController=class extends EventTarget{constructor(p={}){super();Ae(this,"config");Ae(this,"flatTree",null);Ae(this,"selectorMap",new Map);Ae(this,"elementTextMap",new Map);Ae(this,"simplifiedHTML","<EMPTY>");Ae(this,"lastTimeUpdate",0);Ae(this,"isIndexed",!1);Ae(this,"mask",null);Ae(this,"maskReady",null);this.config=p,patchReact(),p.enableMask&&this.initMask()}initMask(){this.maskReady===null&&(this.maskReady=(async()=>{const{SimulatorMask:p}=await Promise.resolve().then(()=>SimulatorMaskBHnQ6LmL);this.mask=new p})())}async getCurrentUrl(){return window.location.href}async getLastUpdateTime(){return this.lastTimeUpdate}async getBrowserState(){const p=window.location.href,h=document.title,g=getPageInfo(),m=resolveViewportExpansion(this.config.viewportExpansion);await this.updateTree();const _=this.simplifiedHTML,b=`Current Page: [${h}](${p})`,y=`Page info: ${g.viewport_width}x${g.viewport_height}px viewport, ${g.page_width}x${g.page_height}px total page size, ${g.pages_above.toFixed(1)} pages above, ${g.pages_below.toFixed(1)} pages below, ${g.total_pages.toFixed(1)} total pages, at ${(g.current_page_position*100).toFixed(0)}% of page`,w=m===-1?"Interactive elements from top layer of the current page (full page):":"Interactive elements from top layer of the current page inside the viewport:",E=g.pixels_above>4&&m!==-1?`... ${g.pixels_above} pixels above (${g.pages_above.toFixed(1)} pages) - scroll to see more ...`:"[Start of page]",S=`${b}
@@ -443,12 +443,12 @@ Parameters: ${m}`,inputSchema:record(string(),any()),async execute(_){try{const
443
443
  @keyframes svelte-nv4d5v-voice-spin { to { transform: rotate(360deg); } }.voice-spinner.svelte-nv4d5v {width:16px;height:16px;border:2px solid #374151;border-top-color:#60a5fa;border-radius:50%;
444
444
  animation: svelte-nv4d5v-voice-spin 0.7s linear infinite;flex-shrink:0;}.voice-status-text.svelte-nv4d5v {font-size:12px;color:#9ca3af;margin:0;}.voice-done.svelte-nv4d5v {color:#22c55e;}.voice-done-text.svelte-nv4d5v {color:#22c55e !important;font-weight:500;}.voice-error-icon.svelte-nv4d5v {width:36px;height:36px;border-radius:50%;background:#991b1b;color:white;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;}.voice-error-text.svelte-nv4d5v {color:#f87171 !important;}.voice-reset.svelte-nv4d5v {font-size:12px;color:#60a5fa;background:transparent;border:none;cursor:pointer;text-decoration:underline;font-family:inherit;padding:0;}.voice-footer.svelte-nv4d5v {font-size:11px;color:#4b5563;margin:0;line-height:1.5;}.voice-footer.svelte-nv4d5v strong:where(.svelte-nv4d5v) {color:#6b7280;}
445
445
 
446
- /* Voice confirmation UI */.voice-confirm.svelte-nv4d5v {display:flex;flex-direction:column;gap:0.75rem;width:100%;text-align:left;}.voice-confirm-hint.svelte-nv4d5v {font-size:12px;color:#9ca3af;margin:0;line-height:1.4;}.voice-confirm-field.svelte-nv4d5v {display:flex;flex-direction:column;gap:0.25rem;}.voice-confirm-label.svelte-nv4d5v {font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:0.04em;}.voice-confirm-input.svelte-nv4d5v {width:100%;background:#1f2937;border:1px solid #374151;border-radius:6px;color:#e5e7eb;font-size:13px;font-family:inherit;padding:0.5rem 0.625rem;box-sizing:border-box;outline:none;transition:border-color 0.15s;}.voice-confirm-input.svelte-nv4d5v:focus {border-color:#4b6cf7;}.voice-confirm-textarea.svelte-nv4d5v {width:100%;background:#1f2937;border:1px solid #374151;border-radius:6px;color:#e5e7eb;font-size:13px;font-family:inherit;padding:0.5rem 0.625rem;box-sizing:border-box;resize:vertical;outline:none;transition:border-color 0.15s;min-height:80px;}.voice-confirm-textarea.svelte-nv4d5v:focus {border-color:#4b6cf7;}.voice-confirm-actions.svelte-nv4d5v {display:flex;align-items:center;justify-content:space-between;margin-top:0.25rem;}.voice-btn-submit.svelte-nv4d5v {background:#1d4ed8;color:white;padding:0.5rem 1.125rem;font-size:13px;}.voice-btn-submit.svelte-nv4d5v:hover:not(:disabled) {background:#2563eb;}.voice-btn-submit.svelte-nv4d5v:disabled {opacity:0.45;cursor:not-allowed;}`};function FeedbackPanel(d,p){push(p,!0),append_styles(d,$$css$1);const h="3.3.4";let g=prop(p,"endpoint",7),m=prop(p,"project",7),_=prop(p,"isOpen",7,!1),b=prop(p,"userId",7,""),y=prop(p,"userEmail",7,""),w=prop(p,"userName",7,""),x=prop(p,"userRole",7,""),E=prop(p,"orgId",7,""),S=prop(p,"orgName",7,""),k=prop(p,"onclose",7),I=prop(p,"ongrip",7),A=prop(p,"agentProxy",7,""),M=prop(p,"agentModel",7,""),R=prop(p,"agentContext",7,""),C=prop(p,"registeredTools",23,()=>[]),$=prop(p,"supabaseUrl",7,""),N=prop(p,"supabaseAnonKey",7,""),O=state("new"),P=state(!1),W=state(!1),V=state(!1),q=state(proxy([]));function he(){if(get(V)){const F=stopRecording();set(q,F,!0),set(V,!1),xt(`Session recorded (${F.length} events)`,"success")}else startRecording(),set(q,[],!0),set(V,!0),xt("Recording session...","info")}let ne=state("idle"),ie=state(""),se=state(null),Ee=[],ae=state(null),Ie=state(""),Se=state(""),ge=null,xe=null,T=null;function z(){if(ge&&(clearTimeout(ge),ge=null),xe){try{xe.close()}catch{}xe=null}T&&(clearInterval(T),T=null)}function D(F,J){z(),set(Ie,F||"",!0),set(Se,J||"",!0),set(ne,"confirming"),set(ie,"")}function Z(F="Transcription failed. Try again."){z(),set(ne,"error"),set(ie,F,!0)}function G(F){const ye=$().replace(/\/$/,"").replace(/^https/,"wss").replace(/^http/,"ws")+`/realtime/v1/websocket?apikey=${N()}&vsn=1.0.0`;let ue,ke=null,Pe=1;function Xe(){return String(Pe++)}try{ue=new WebSocket(ye)}catch{oe(F);return}xe=ue,ue.onopen=()=>{const ct=Xe();ue.send(JSON.stringify({topic:"realtime:*",event:"phx_join",payload:{config:{broadcast:{self:!1},presence:{key:""},postgres_changes:[{event:"UPDATE",schema:"public",table:"project_tasks",filter:`id=eq.${F}`}]},access_token:N()},ref:ct,join_ref:ct})),ke=setInterval(()=>{ue.readyState===WebSocket.OPEN&&ue.send(JSON.stringify({topic:"phoenix",event:"heartbeat",payload:{},ref:Xe()}))},3e4)},ue.onmessage=ct=>{var wt;let dt;try{dt=JSON.parse(ct.data)}catch{return}if(dt.event==="postgres_changes"&&((wt=dt.payload)!=null&&wt.data)){const{type:$t,record:je}=dt.payload.data;$t==="UPDATE"&&je&&(je.status==="open"?(ke&&clearInterval(ke),D(je.title||"",je.description||"")):je.status==="failed"&&(ke&&clearInterval(ke),Z("Transcription failed. Try again.")))}},ue.onerror=()=>{ke&&clearInterval(ke),xe=null,oe(F)},ue.onclose=()=>{ke&&clearInterval(ke)}}function oe(F){T||(T=setInterval(async()=>{try{let J=null,ye="",ue="";if($()&&N()){const ke=`${$().replace(/\/$/,"")}/rest/v1/project_tasks?id=eq.${F}&select=id,status,title,description`,Pe=await fetch(ke,{headers:{apikey:N(),Authorization:`Bearer ${N()}`}});if(Pe.ok){const Xe=await Pe.json();Array.isArray(Xe)&&Xe.length>0&&(J=Xe[0].status,ye=Xe[0].title||"",ue=Xe[0].description||"")}}else{const ke=await fetch(`${g().replace(/\/$/,"")}/api/tasks/voice?id=${encodeURIComponent(F)}`);if(ke.ok){const Pe=await ke.json();J=Pe.status,ye=Pe.title||"",ue=Pe.description||""}}J==="open"?(clearInterval(T),T=null,D(ye,ue)):J==="failed"&&(clearInterval(T),T=null,Z("Transcription failed. Try again."))}catch{}},3e3))}function _e(F){ge=setTimeout(()=>{z(),set(ne,"error"),set(ie,"Transcription timed out (30s). Try again.")},3e4),$()&&N()?G(F):oe(F)}async function B(){var F;try{const J=await navigator.mediaDevices.getUserMedia({audio:!0}),ye=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":MediaRecorder.isTypeSupported("audio/webm")?"audio/webm":"audio/ogg",ue=new MediaRecorder(J,{mimeType:ye});Ee=[],ue.ondataavailable=ke=>{ke.data.size>0&&Ee.push(ke.data)},ue.onstop=()=>{J.getTracks().forEach(ke=>ke.stop()),de(new Blob(Ee,{type:ye}),ye)},ue.start(500),set(se,ue,!0),set(ne,"recording"),set(ie,"")}catch(J){set(ne,"error"),set(ie,(F=J.message)!=null&&F.includes("Permission")?"Microphone permission denied":"Could not start recording",!0)}}function Q(){get(se)&&get(se).state!=="inactive"&&get(se).stop(),set(se,null),set(ne,"uploading"),set(ie,"")}async function de(F,J){set(ne,"uploading");try{const ye=J.includes("webm")?"webm":J.includes("ogg")?"ogg":"audio",ue=new FormData;ue.append("audio",F,`voice-note.${ye}`),m()&&ue.append("project",m());const ke=await fetch(`${g().replace(/\/$/,"")}/api/tasks/voice`,{method:"POST",body:ue});if(ke.ok){const Xe=(await ke.json()).id;if(!Xe)throw new Error("No task ID returned from server");set(ae,Xe,!0),set(ne,"transcribing"),set(ie,""),_e(Xe)}else{const Pe=await ke.json().catch(()=>({}));throw new Error(Pe.error||Pe.message||`Upload failed (${ke.status})`)}}catch(ye){set(ne,"error"),set(ie,ye.message||"Failed to upload recording",!0)}finally{Ee=[]}}async function re(){if(get(ae)){set(ne,"uploading"),set(ie,"");try{if($()&&N()){const F=await fetch(`${$().replace(/\/$/,"")}/rest/v1/project_tasks?id=eq.${get(ae)}`,{method:"PATCH",headers:{apikey:N(),Authorization:`Bearer ${N()}`,"Content-Type":"application/json",Prefer:"return=minimal"},body:JSON.stringify({title:get(Ie),description:get(Se),status:"submitted"})});if(!F.ok)throw new Error(`HTTP ${F.status}`)}else{const F=await fetch(`${g().replace(/\/$/,"")}/api/tasks/voice?id=${encodeURIComponent(get(ae))}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:get(Ie),description:get(Se),status:"submitted"})});if(!F.ok){const J=await F.json().catch(()=>({}));throw new Error(J.error||`HTTP ${F.status}`)}}set(ne,"submitted"),set(ie,""),setTimeout(()=>{set(O,"requests"),be()},1500)}catch(F){set(ne,"confirming"),set(ie,F.message||"Failed to submit. Please try again.",!0)}}}function ve(){z(),get(se)&&get(se).state!=="inactive"&&get(se).stop(),set(se,null),set(ne,"idle"),set(ie,""),Ee=[],set(ae,null),set(Ie,""),set(Se,"")}let U=state(proxy([])),X=state("idle"),fe=state(0),le=state(!1),we=state(null);function Le(){return get(we)||set(we,new AgentBridge({proxyUrl:A(),model:M()||void 0,maxSteps:20,appContext:R()||void 0,endpoint:g(),project:m(),registeredTools:C(),onMessagesChange:F=>{set(U,F,!0)},onStateChange:(F,J)=>{set(X,F,!0),set(fe,J,!0)}}),!0),get(we)}function Ce(){var F;(F=get(we))==null||F.invalidateNotesCache()}user_effect(()=>{get(O)==="agent"&&!get(P)&&set(P,!0)}),user_effect(()=>{get(O)==="notes"&&!get(W)&&set(W,!0)});function He(F){Le().execute(F)}function Re(){var F;(F=get(we))==null||F.stop()}function H(F){var J;(J=get(we))==null||J.approve(F)}function L(F){var J;(J=get(we))==null||J.skip(F)}function Y(F){set(le,F,!0),get(we)&&(get(we).autoApprove=F)}onDestroy(()=>{var F;(F=get(we))==null||F.dispose(),z(),get(se)&&get(se).state!=="inactive"&&get(se).stop()});let ee=state(proxy([])),pe=state(!1),te=state(""),ce=user_derived(()=>get(ee).filter(F=>F.status==="completed").length);async function be(){set(pe,!0),set(te,"");const F=await fetchReports(g());set(ee,F.reports,!0),F.error&&set(te,F.error,!0),set(pe,!1)}user_effect(()=>{g()&&be()});let De=state(""),Te=state(""),ze=state("bug"),Be=state("medium"),K=state(proxy([])),Ze=state(proxy([])),tt=state(proxy([])),We=state(proxy([])),ot=state(proxy([])),Rt=state(void 0);const cn=["image/png","image/jpeg","image/gif","image/webp","image/svg+xml"];function Gn(){var F;(F=get(Rt))==null||F.click()}async function Ue(F){const J=F.target,ye=J.files;if(!(!ye||ye.length===0)){for(const ue of ye)try{const ke=await Ye(ue);cn.includes(ue.type)?(set(K,[...get(K),ke],!0),xt(`Image added: ${ue.name}`,"success")):(set(Ze,[...get(Ze),{name:ue.name,type:ue.type||"application/octet-stream",data:ke,size:ue.size}],!0),xt(`File attached: ${ue.name}`,"success"))}catch{xt(`Failed to read: ${ue.name}`,"error")}J.value=""}}function Ye(F){return new Promise((J,ye)=>{const ue=new FileReader;ue.onload=()=>J(ue.result),ue.onerror=()=>ye(ue.error),ue.readAsDataURL(F)})}function Nt(F){set(Ze,get(Ze).filter((J,ye)=>ye!==F),!0)}function gn(F){return F<1024?`${F}B`:F<1024*1024?`${(F/1024).toFixed(1)}KB`:`${(F/(1024*1024)).toFixed(1)}MB`}let ht=state(!1),kn=state(!1),Jt=state(!1),Pt=state(null),vn=state(!1),kt=state(null),Zt=state(""),Hn=state(void 0),qn=!1;user_effect(()=>{_()&&!qn&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{var F;(F=get(Hn))==null||F.focus()})}),get(O)==="new"&&setTimeout(()=>{captureViewportQuick().then(F=>{get(K).length===0?set(K,[F],!0):set(K,[F,...get(K).slice(1)],!0)}).catch(()=>{})},300)),qn=_()});let ir=state(""),ar=state("success"),Pn=state(!1);function xt(F,J){set(ir,F,!0),set(ar,J,!0),set(Pn,!0),setTimeout(()=>{set(Pn,!1)},3e3)}async function Yn(){set(kn,!0);try{const F=await captureViewport();set(Zt,F,!0),set(kt,get(K).length,!0)}catch(F){console.error("[jat-feedback] Screenshot failed:",F),xt("Screenshot failed: "+(F instanceof Error?F.message:"unknown error"),"error")}finally{set(kn,!1)}}function _r(F){set(K,get(K).filter((J,ye)=>ye!==F),!0)}function br(F){set(Zt,get(K)[F],!0),set(kt,F,!0)}function lr(F){get(kt)!==null&&(get(kt)>=get(K).length?(set(K,[...get(K),F],!0),xt(`Screenshot captured (${get(K).length})`,"success")):(set(K,get(K).map((J,ye)=>ye===get(kt)?F:J),!0),xt("Screenshot updated","success"))),set(kt,null),set(Zt,"")}function yr(){get(kt)!==null&&get(kt)>=get(K).length&&(set(K,[...get(K),get(Zt)],!0),xt(`Screenshot captured (${get(K).length})`,"success")),set(kt,null),set(Zt,"")}function cr(){set(Jt,!0),startElementPicker(F=>{set(tt,[...get(tt),F],!0),set(Jt,!1),xt(`Element captured: <${F.tagName.toLowerCase()}>`,"success")})}function Zn(){set(We,getCapturedLogs(),!0),set(ot,getCapturedRequests(),!0)}async function wr(F){if(F.preventDefault(),!get(De).trim())return;set(ht,!0),Zn();const J={};if((b()||y()||w()||x())&&(J.reporter={},b()&&(J.reporter.userId=b()),y()&&(J.reporter.email=y()),w()&&(J.reporter.name=w()),x()&&(J.reporter.role=x())),(E()||S())&&(J.organization={},E()&&(J.organization.id=E()),S()&&(J.organization.name=S())),get(V)){const ke=stopRecording();set(q,ke,!0),set(V,!1)}let ye;if(get(q).length>0){const ke=crypto.randomUUID(),Pe=await uploadRecording(g(),get(q),ke);Pe.ok&&Pe.recording_url&&(ye=Pe.recording_url)}const ue={title:get(De).trim(),description:get(Te).trim(),type:get(ze),priority:get(Be),project:m()||"",page_url:window.location.href,user_agent:navigator.userAgent,console_logs:get(We).length>0?get(We):null,network_requests:get(ot).length>0?get(ot):null,selected_elements:get(tt).length>0?get(tt):null,recording_events:null,screenshots:get(K).length>0?get(K):null,attachments:get(Ze).length>0?get(Ze):null,metadata:Object.keys(J).length>0?J:null,recording_url:ye||null};try{const ke=await submitReport(g(),ue);if(ke.ok){if(ue.recording_url){const Pe={recording_url:ue.recording_url,console_logs:ue.console_logs,network_requests:ue.network_requests};Le().setReportContext(Pe)}set(Pt,ke.id,!0),set(vn,!!ue.recording_url),xt(`Report submitted (${ke.id})`,"success"),xr(),setTimeout(()=>{be(),set(O,"requests")},1200)}else enqueue(g(),ue),xt("Queued for retry (endpoint unreachable)","error")}catch{enqueue(g(),ue),xt("Queued for retry (endpoint unreachable)","error")}finally{set(ht,!1)}}function xr(){set(De,""),set(Te,""),set(ze,"bug"),set(Be,"medium"),set(K,[],!0),set(Ze,[],!0),set(tt,[],!0),set(We,[],!0),set(ot,[],!0),set(q,[],!0),get(V)&&(stopRecording(),set(V,!1))}user_effect(()=>{Zn()});function Kn(F){F.stopPropagation()}const Er=[{value:"bug",label:"Bug"},{value:"enhancement",label:"Enhancement"},{value:"other",label:"Other"}],Sr=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"critical",label:"Critical"}];function $e(){return get(K).length+get(Ze).length+get(tt).length}var Fe={get endpoint(){return g()},set endpoint(F){g(F),flushSync()},get project(){return m()},set project(F){m(F),flushSync()},get isOpen(){return _()},set isOpen(F=!1){_(F),flushSync()},get userId(){return b()},set userId(F=""){b(F),flushSync()},get userEmail(){return y()},set userEmail(F=""){y(F),flushSync()},get userName(){return w()},set userName(F=""){w(F),flushSync()},get userRole(){return x()},set userRole(F=""){x(F),flushSync()},get orgId(){return E()},set orgId(F=""){E(F),flushSync()},get orgName(){return S()},set orgName(F=""){S(F),flushSync()},get onclose(){return k()},set onclose(F){k(F),flushSync()},get ongrip(){return I()},set ongrip(F){I(F),flushSync()},get agentProxy(){return A()},set agentProxy(F=""){A(F),flushSync()},get agentModel(){return M()},set agentModel(F=""){M(F),flushSync()},get agentContext(){return R()},set agentContext(F=""){R(F),flushSync()},get registeredTools(){return C()},set registeredTools(F=[]){C(F),flushSync()},get supabaseUrl(){return $()},set supabaseUrl(F=""){$(F),flushSync()},get supabaseAnonKey(){return N()},set supabaseAnonKey(F=""){N(F),flushSync()}},Ke=root$1(),at=first_child(Ke),Ct=child(at),lt=child(Ct);{var nt=F=>{var J=root_1$1();delegated("mousedown",J,function(...ye){var ue;(ue=I())==null||ue.apply(this,ye)}),append(F,J)};if_block(lt,F=>{I()&&F(nt)})}var Ve=sibling(lt,2),gt=child(Ve);let Ge;var mt=sibling(gt,2);let Qt;var Qe=sibling(child(mt),2);{var mn=F=>{var J=root_2$1(),ye=child(J,!0);reset(J),template_effect(()=>set_text(ye,get(ce))),append(F,J)};if_block(Qe,F=>{get(ce)>0&&F(mn)})}reset(mt);var _n=sibling(mt,2);{var Cn=F=>{var J=root_3();let ye;template_effect(()=>ye=set_class(J,1,"tab svelte-nv4d5v",null,ye,{active:get(O)==="agent"})),delegated("click",J,()=>{set(O,"agent"),set(P,!0)}),append(F,J)};if_block(_n,F=>{A()&&F(Cn)})}var Bt=sibling(_n,2);let In;var Dt=sibling(Bt,2);let Tn;reset(Ve);var Xn=sibling(Ve,2);reset(Ct);var An=sibling(Ct,2);{var Jn=F=>{var J=root_4(),ye=child(J),ue=sibling(child(ye),2);remove_input_defaults(ue),bind_this(ue,me=>set(Hn,me),()=>get(Hn)),reset(ye);var ke=sibling(ye,2),Pe=sibling(child(ke),2);remove_textarea_child(Pe),reset(ke);var Xe=sibling(ke,2),ct=child(Xe),dt=sibling(child(ct),2);each(dt,21,()=>Er,index,(me,Ne)=>{var et=root_5(),ut=child(et,!0);reset(et);var rt={};template_effect(()=>{set_text(ut,get(Ne).label),rt!==(rt=get(Ne).value)&&(et.value=(et.__value=get(Ne).value)??"")}),append(me,et)}),reset(dt),reset(ct);var wt=sibling(ct,2),$t=sibling(child(wt),2);each($t,21,()=>Sr,index,(me,Ne)=>{var et=root_6(),ut=child(et,!0);reset(et);var rt={};template_effect(()=>{set_text(ut,get(Ne).label),rt!==(rt=get(Ne).value)&&(et.value=(et.__value=get(Ne).value)??"")}),append(me,et)}),reset($t),reset(wt),reset(Xe);var je=sibling(Xe,2),it=child(je),_t=child(it),un=child(_t);{var Nn=me=>{var Ne=root_7();next(),append(me,Ne)},dr=me=>{var Ne=root_8(),et=sibling(first_child(Ne),2);{var ut=rt=>{var vt=root_9(),Mt=child(vt,!0);reset(vt),template_effect(()=>set_text(Mt,get(K).length)),append(rt,vt)};if_block(et,rt=>{get(K).length>0&&rt(ut)})}append(me,Ne)};if_block(un,me=>{get(kn)?me(Nn):me(dr,!1)})}reset(_t);var fn=sibling(_t,2),ur=sibling(child(fn),2);{var fr=me=>{var Ne=text("Click an element...");append(me,Ne)},pr=me=>{var Ne=root_11(),et=sibling(first_child(Ne));{var ut=rt=>{var vt=root_12(),Mt=child(vt,!0);reset(vt),template_effect(()=>set_text(Mt,get(tt).length)),append(rt,vt)};if_block(et,rt=>{get(tt).length>0&&rt(ut)})}append(me,Ne)};if_block(ur,me=>{get(Jt)?me(fr):me(pr,!1)})}reset(fn);var pn=sibling(fn,2);let Lt;var Qn=child(pn);{var kr=me=>{var Ne=root_13();next(),append(me,Ne)},Jr=me=>{var Ne=root_14(),et=sibling(first_child(Ne),2);{var ut=rt=>{var vt=root_15(),Mt=child(vt,!0);reset(vt),template_effect(()=>set_text(Mt,get(q).length)),append(rt,vt)};if_block(et,rt=>{get(q).length>0&&rt(ut)})}append(me,Ne)};if_block(Qn,me=>{get(V)?me(kr):me(Jr,!1)})}reset(pn);var er=sibling(pn,2),Qr=sibling(child(er),2);{var eo=me=>{var Ne=root_16(),et=child(Ne,!0);reset(Ne),template_effect(()=>set_text(et,get(Ze).length)),append(me,Ne)};if_block(Qr,me=>{get(Ze).length>0&&me(eo)})}reset(er);var Br=sibling(er,2);bind_this(Br,me=>set(Rt,me),()=>get(Rt)),reset(it);var to=sibling(it,2);ScreenshotPreview(to,{get screenshots(){return get(K)},get capturing(){return get(kn)},oncapture:Yn,onremove:_r,onedit:br}),reset(je);var Ur=sibling(je,2);{var no=me=>{var Ne=root_17();each(Ne,21,()=>get(Ze),index,(et,ut,rt)=>{var vt=root_18(),Mt=child(vt),Tr=child(Mt);{var tr=Gt=>{var rr=root_19();append(Gt,rr)},Ar=user_derived(()=>get(ut).type.includes("pdf")),Rr=Gt=>{var rr=root_20();append(Gt,rr)},$n=user_derived(()=>get(ut).type.includes("markdown")||get(ut).name.endsWith(".md")),nr=Gt=>{var rr=root_21();append(Gt,rr)};if_block(Tr,Gt=>{get(Ar)?Gt(tr):get($n)?Gt(Rr,1):Gt(nr,!1)})}reset(Mt);var Nr=sibling(Mt,2),uo=child(Nr,!0);reset(Nr);var $r=sibling(Nr,2),fo=child($r,!0);reset($r);var po=sibling($r,2);reset(vt),template_effect(Gt=>{set_text(uo,get(ut).name),set_text(fo,Gt)},[()=>gn(get(ut).size)]),delegated("click",po,()=>Nt(rt)),append(et,vt)}),reset(Ne),append(me,Ne)};if_block(Ur,me=>{get(Ze).length>0&&me(no)})}var jr=sibling(Ur,2);{var ro=me=>{var Ne=root_22();each(Ne,21,()=>get(tt),index,(et,ut,rt)=>{var vt=root_23(),Mt=child(vt),Tr=child(Mt);reset(Mt);var tr=sibling(Mt,2),Ar=child(tr,!0);reset(tr);var Rr=sibling(tr,2);reset(vt),template_effect(($n,nr)=>{set_text(Tr,`<${$n??""}>`),set_text(Ar,nr)},[()=>get(ut).tagName.toLowerCase(),()=>{var $n;return(($n=get(ut).textContent)==null?void 0:$n.substring(0,40))||get(ut).selector}]),delegated("click",Rr,()=>{set(tt,get(tt).filter(($n,nr)=>nr!==rt),!0)}),append(et,vt)}),reset(Ne),append(me,Ne)};if_block(jr,me=>{get(tt).length>0&&me(ro)})}var Wr=sibling(jr,2);ConsoleLogList(Wr,{get logs(){return get(We)}});var Vr=sibling(Wr,2);{var oo=me=>{var Ne=root_24(),et=child(Ne);reset(Ne),template_effect((ut,rt)=>set_text(et,`${ut??""} attachment${rt??""} will be included`),[$e,()=>$e()>1?"s":""]),append(me,Ne)},so=user_derived(()=>$e()>0);if_block(Vr,me=>{get(so)&&me(oo)})}var Gr=sibling(Vr,2),Cr=child(Gr),io=child(Cr);reset(Cr);var Ir=sibling(Cr,2),hr=sibling(Ir,2),ao=child(hr);{var lo=me=>{var Ne=root_25();next(),append(me,Ne)},co=me=>{var Ne=text("Submit");append(me,Ne)};if_block(ao,me=>{get(ht)?me(lo):me(co,!1)})}reset(hr),reset(Gr),reset(J),template_effect(me=>{ue.disabled=get(ht),Pe.disabled=get(ht),dt.disabled=get(ht),$t.disabled=get(ht),_t.disabled=get(kn),fn.disabled=get(Jt),Lt=set_class(pn,1,"tool-btn svelte-nv4d5v",null,Lt,{"recording-active":get(V)}),pn.disabled=get(ht),er.disabled=get(ht),set_text(io,`v${h}`),Ir.disabled=get(ht),hr.disabled=me,set_attribute(hr,"title",get(V)?"Stop recording first, or click Submit to auto-stop":"")},[()=>get(ht)||!get(De).trim()]),event("submit",J,wr),bind_value(ue,()=>get(De),me=>set(De,me)),bind_value(Pe,()=>get(Te),me=>set(Te,me)),bind_select_value(dt,()=>get(ze),me=>set(ze,me)),bind_select_value($t,()=>get(Be),me=>set(Be,me)),delegated("click",_t,Yn),delegated("click",fn,cr),delegated("click",pn,he),delegated("click",er,Gn),delegated("change",Br,Ue),delegated("click",Ir,function(...me){var Ne;(Ne=k())==null||Ne.apply(this,me)}),transition(3,J,()=>slide,()=>({duration:200})),append(F,J)};if_block(An,F=>{get(O)==="new"&&F(Jn)})}var st=sibling(An,2);{var Et=F=>{var J=root_27(),ye=child(J);{var ue=Pe=>{var Xe=root_28(),ct=sibling(child(Xe),4),dt=sibling(ct,2);reset(Xe),template_effect(()=>set_attribute(ct,"href",`${g()??""}/feedback/replay?id=${get(Pt)??""}`)),delegated("click",dt,()=>{set(Pt,null),set(vn,!1)}),append(Pe,Xe)};if_block(ye,Pe=>{get(Pt)&&get(vn)&&Pe(ue)})}var ke=sibling(ye,2);RequestList(ke,{get endpoint(){return g()},get loading(){return get(pe)},get error(){return get(te)},onreload:be,get reports(){return get(ee)},set reports(Pe){set(ee,Pe,!0)}}),reset(J),transition(3,J,()=>slide,()=>({duration:200})),append(F,J)};if_block(st,F=>{get(O)==="requests"&&F(Et)})}var Ut=sibling(st,2);{var jt=F=>{var J=root_29(),ye=child(J);{let ue=user_derived(()=>{var ke;return((ke=get(we))==null?void 0:ke.getMaxSteps())??20});AgentPanel(ye,{get messages(){return get(U)},get agentState(){return get(X)},get currentStep(){return get(fe)},get maxSteps(){return get(ue)},get autoApprove(){return get(le)},onsend:He,onstop:Re,onapprove:H,onskip:L,onautoapprovechange:Y})}reset(J),transition(3,J,()=>slide,()=>({duration:200})),append(F,J)};if_block(Ut,F=>{get(O)==="agent"&&get(P)&&F(jt)})}var en=sibling(Ut,2);{var Wt=F=>{var J=root_30(),ye=child(J);NotesPanel(ye,{get endpoint(){return g()},get project(){return m()},onnoteschanged:Ce}),reset(J),transition(3,J,()=>slide,()=>({duration:200})),append(F,J)};if_block(en,F=>{get(O)==="notes"&&get(W)&&F(Wt)})}var Vt=sibling(en,2);{var Rn=F=>{var J=root_31(),ye=child(J),ue=child(ye);{var ke=je=>{var it=root_32(),_t=sibling(first_child(it),2),un=child(_t);reset(_t),next(2),delegated("click",un,B),append(je,it)},Pe=je=>{var it=root_33(),_t=sibling(first_child(it),2),un=child(_t);next(2),reset(_t),delegated("click",un,Q),append(je,it)},Xe=je=>{var it=root_34();append(je,it)},ct=je=>{var it=root_35();next(2),append(je,it)},dt=je=>{var it=root_36(),_t=sibling(child(it),2);{var un=Lt=>{var Qn=root_37(),kr=child(Qn,!0);reset(Qn),template_effect(()=>set_text(kr,get(ie))),append(Lt,Qn)};if_block(_t,Lt=>{get(ie)&&Lt(un)})}var Nn=sibling(_t,2),dr=sibling(child(Nn),2);remove_input_defaults(dr),reset(Nn);var fn=sibling(Nn,2),ur=sibling(child(fn),2);remove_textarea_child(ur),reset(fn);var fr=sibling(fn,2),pr=child(fr),pn=sibling(pr,2);reset(fr),reset(it),template_effect(Lt=>pn.disabled=Lt,[()=>!get(Ie).trim()]),bind_value(dr,()=>get(Ie),Lt=>set(Ie,Lt)),bind_value(ur,()=>get(Se),Lt=>set(Se,Lt)),delegated("click",pr,ve),delegated("click",pn,re),append(je,it)},wt=je=>{var it=root_38();next(2),append(je,it)},$t=je=>{var it=root_39(),_t=sibling(first_child(it),2),un=child(_t,!0);reset(_t);var Nn=sibling(_t,2);template_effect(()=>set_text(un,get(ie))),delegated("click",Nn,ve),append(je,it)};if_block(ue,je=>{get(ne)==="idle"?je(ke):get(ne)==="recording"?je(Pe,1):get(ne)==="uploading"?je(Xe,2):get(ne)==="transcribing"?je(ct,3):get(ne)==="confirming"?je(dt,4):get(ne)==="submitted"?je(wt,5):get(ne)==="error"&&je($t,6)})}reset(ye),reset(J),transition(3,J,()=>slide,()=>({duration:200})),append(F,J)};if_block(Vt,F=>{get(O)==="voice"&&F(Rn)})}var yt=sibling(Vt,2);StatusToast(yt,{get message(){return get(ir)},get type(){return get(ar)},get visible(){return get(Pn)}}),reset(at);var It=sibling(at,2);{var dn=F=>{AnnotationEditor(F,{get imageDataUrl(){return get(Zt)},onsave:lr,oncancel:yr})};if_block(It,F=>{get(kt)!==null&&F(dn)})}return template_effect(()=>{Ge=set_class(gt,1,"tab svelte-nv4d5v",null,Ge,{active:get(O)==="new"}),Qt=set_class(mt,1,"tab svelte-nv4d5v",null,Qt,{active:get(O)==="requests"}),In=set_class(Bt,1,"tab svelte-nv4d5v",null,In,{active:get(O)==="notes"}),Tn=set_class(Dt,1,"tab svelte-nv4d5v",null,Tn,{active:get(O)==="voice"})}),delegated("keydown",at,Kn),delegated("keyup",at,Kn),event("keypress",at,Kn),delegated("click",gt,()=>set(O,"new")),delegated("click",mt,()=>set(O,"requests")),delegated("click",Bt,()=>{set(O,"notes"),set(W,!0)}),delegated("click",Dt,()=>set(O,"voice")),delegated("click",Xn,function(...F){var J;(J=k())==null||J.apply(this,F)}),append(d,Ke),pop(Fe)}delegate(["keydown","keyup","mousedown","click","change"]),create_custom_element(FeedbackPanel,{endpoint:{},project:{},isOpen:{},userId:{},userEmail:{},userName:{},userRole:{},orgId:{},orgName:{},onclose:{},ongrip:{},agentProxy:{},agentModel:{},agentContext:{},registeredTools:{},supabaseUrl:{},supabaseAnonKey:{}},[],[],{mode:"open"});var root_1=from_html("<div><!></div>"),root_2=from_html('<div class="jat-feedback-panel svelte-qpyrvv"><div class="no-endpoint svelte-qpyrvv"><p class="svelte-qpyrvv">No endpoint configured.</p> <p class="svelte-qpyrvv">Add the <code class="svelte-qpyrvv">endpoint</code> attribute:</p> <code class="example svelte-qpyrvv">&lt;jat-feedback endpoint="http://localhost:3333"&gt;</code></div></div>'),root=from_html('<div class="jat-feedback-root svelte-qpyrvv" data-page-agent-not-interactive=""><!> <!></div>');const $$css={hash:"svelte-qpyrvv",code:`.jat-feedback-root.svelte-qpyrvv {position:fixed;z-index:2147483647;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;}.jat-feedback-panel.svelte-qpyrvv {position:absolute;
446
+ /* Voice confirmation UI */.voice-confirm.svelte-nv4d5v {display:flex;flex-direction:column;gap:0.75rem;width:100%;text-align:left;}.voice-confirm-hint.svelte-nv4d5v {font-size:12px;color:#9ca3af;margin:0;line-height:1.4;}.voice-confirm-field.svelte-nv4d5v {display:flex;flex-direction:column;gap:0.25rem;}.voice-confirm-label.svelte-nv4d5v {font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:0.04em;}.voice-confirm-input.svelte-nv4d5v {width:100%;background:#1f2937;border:1px solid #374151;border-radius:6px;color:#e5e7eb;font-size:13px;font-family:inherit;padding:0.5rem 0.625rem;box-sizing:border-box;outline:none;transition:border-color 0.15s;}.voice-confirm-input.svelte-nv4d5v:focus {border-color:#4b6cf7;}.voice-confirm-textarea.svelte-nv4d5v {width:100%;background:#1f2937;border:1px solid #374151;border-radius:6px;color:#e5e7eb;font-size:13px;font-family:inherit;padding:0.5rem 0.625rem;box-sizing:border-box;resize:vertical;outline:none;transition:border-color 0.15s;min-height:80px;}.voice-confirm-textarea.svelte-nv4d5v:focus {border-color:#4b6cf7;}.voice-confirm-actions.svelte-nv4d5v {display:flex;align-items:center;justify-content:space-between;margin-top:0.25rem;}.voice-btn-submit.svelte-nv4d5v {background:#1d4ed8;color:white;padding:0.5rem 1.125rem;font-size:13px;}.voice-btn-submit.svelte-nv4d5v:hover:not(:disabled) {background:#2563eb;}.voice-btn-submit.svelte-nv4d5v:disabled {opacity:0.45;cursor:not-allowed;}`};function FeedbackPanel(d,p){push(p,!0),append_styles(d,$$css$1);const h="3.3.5";let g=prop(p,"endpoint",7),m=prop(p,"project",7),_=prop(p,"isOpen",7,!1),b=prop(p,"userId",7,""),y=prop(p,"userEmail",7,""),w=prop(p,"userName",7,""),x=prop(p,"userRole",7,""),E=prop(p,"orgId",7,""),S=prop(p,"orgName",7,""),k=prop(p,"onclose",7),I=prop(p,"ongrip",7),A=prop(p,"agentProxy",7,""),M=prop(p,"agentModel",7,""),R=prop(p,"agentContext",7,""),C=prop(p,"registeredTools",23,()=>[]),$=prop(p,"supabaseUrl",7,""),N=prop(p,"supabaseAnonKey",7,""),O=state("new"),P=state(!1),W=state(!1),V=state(!1),q=state(proxy([]));function he(){if(get(V)){const F=stopRecording();set(q,F,!0),set(V,!1),xt(`Session recorded (${F.length} events)`,"success")}else startRecording(),set(q,[],!0),set(V,!0),xt("Recording session...","info")}let ne=state("idle"),ie=state(""),se=state(null),Ee=[],ae=state(null),Ie=state(""),Se=state(""),ge=null,xe=null,T=null;function z(){if(ge&&(clearTimeout(ge),ge=null),xe){try{xe.close()}catch{}xe=null}T&&(clearInterval(T),T=null)}function D(F,J){z(),set(Ie,F||"",!0),set(Se,J||"",!0),set(ne,"confirming"),set(ie,"")}function Z(F="Transcription failed. Try again."){z(),set(ne,"error"),set(ie,F,!0)}function G(F){const ye=$().replace(/\/$/,"").replace(/^https/,"wss").replace(/^http/,"ws")+`/realtime/v1/websocket?apikey=${N()}&vsn=1.0.0`;let de,ke=null,Pe=1;function Xe(){return String(Pe++)}try{de=new WebSocket(ye)}catch{oe(F);return}xe=de,de.onopen=()=>{const ct=Xe();de.send(JSON.stringify({topic:"realtime:*",event:"phx_join",payload:{config:{broadcast:{self:!1},presence:{key:""},postgres_changes:[{event:"UPDATE",schema:"public",table:"project_tasks",filter:`id=eq.${F}`}]},access_token:N()},ref:ct,join_ref:ct})),ke=setInterval(()=>{de.readyState===WebSocket.OPEN&&de.send(JSON.stringify({topic:"phoenix",event:"heartbeat",payload:{},ref:Xe()}))},3e4)},de.onmessage=ct=>{var wt;let dt;try{dt=JSON.parse(ct.data)}catch{return}if(dt.event==="postgres_changes"&&((wt=dt.payload)!=null&&wt.data)){const{type:$t,record:je}=dt.payload.data;$t==="UPDATE"&&je&&(je.status==="open"?(ke&&clearInterval(ke),D(je.title||"",je.description||"")):je.status==="failed"&&(ke&&clearInterval(ke),Z("Transcription failed. Try again.")))}},de.onerror=()=>{ke&&clearInterval(ke),xe=null,oe(F)},de.onclose=()=>{ke&&clearInterval(ke)}}function oe(F){T||(T=setInterval(async()=>{try{let J=null,ye="",de="";if($()&&N()){const ke=`${$().replace(/\/$/,"")}/rest/v1/project_tasks?id=eq.${F}&select=id,status,title,description`,Pe=await fetch(ke,{headers:{apikey:N(),Authorization:`Bearer ${N()}`}});if(Pe.ok){const Xe=await Pe.json();Array.isArray(Xe)&&Xe.length>0&&(J=Xe[0].status,ye=Xe[0].title||"",de=Xe[0].description||"")}}else{const ke=await fetch(`${g().replace(/\/$/,"")}/api/tasks/voice?id=${encodeURIComponent(F)}`);if(ke.ok){const Pe=await ke.json();J=Pe.status,ye=Pe.title||"",de=Pe.description||""}}J==="open"?(clearInterval(T),T=null,D(ye,de)):J==="failed"&&(clearInterval(T),T=null,Z("Transcription failed. Try again."))}catch{}},3e3))}function _e(F){ge=setTimeout(()=>{z(),set(ne,"error"),set(ie,"Transcription timed out (30s). Try again.")},3e4),$()&&N()?G(F):oe(F)}async function B(){var F;try{const J=await navigator.mediaDevices.getUserMedia({audio:!0}),ye=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":MediaRecorder.isTypeSupported("audio/webm")?"audio/webm":"audio/ogg",de=new MediaRecorder(J,{mimeType:ye});Ee=[],de.ondataavailable=ke=>{ke.data.size>0&&Ee.push(ke.data)},de.onstop=()=>{J.getTracks().forEach(ke=>ke.stop()),ue(new Blob(Ee,{type:ye}),ye)},de.start(500),set(se,de,!0),set(ne,"recording"),set(ie,"")}catch(J){set(ne,"error"),set(ie,(F=J.message)!=null&&F.includes("Permission")?"Microphone permission denied":"Could not start recording",!0)}}function Q(){get(se)&&get(se).state!=="inactive"&&get(se).stop(),set(se,null),set(ne,"uploading"),set(ie,"")}async function ue(F,J){set(ne,"uploading");try{const ye=J.includes("webm")?"webm":J.includes("ogg")?"ogg":"audio",de=new FormData;de.append("audio",F,`voice-note.${ye}`),m()&&de.append("project",m()),b()&&de.append("user_id",b());const ke=await fetch(`${g().replace(/\/$/,"")}/api/tasks/voice`,{method:"POST",body:de});if(ke.ok){const Xe=(await ke.json()).id;if(!Xe)throw new Error("No task ID returned from server");set(ae,Xe,!0),set(ne,"transcribing"),set(ie,""),_e(Xe)}else{const Pe=await ke.json().catch(()=>({}));throw new Error(Pe.error||Pe.message||`Upload failed (${ke.status})`)}}catch(ye){set(ne,"error"),set(ie,ye.message||"Failed to upload recording",!0)}finally{Ee=[]}}async function re(){if(get(ae)){set(ne,"uploading"),set(ie,"");try{if($()&&N()){const F=await fetch(`${$().replace(/\/$/,"")}/rest/v1/project_tasks?id=eq.${get(ae)}`,{method:"PATCH",headers:{apikey:N(),Authorization:`Bearer ${N()}`,"Content-Type":"application/json",Prefer:"return=minimal"},body:JSON.stringify({title:get(Ie),description:get(Se),status:"submitted"})});if(!F.ok)throw new Error(`HTTP ${F.status}`)}else{const F=await fetch(`${g().replace(/\/$/,"")}/api/tasks/voice?id=${encodeURIComponent(get(ae))}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:get(Ie),description:get(Se),status:"submitted"})});if(!F.ok){const J=await F.json().catch(()=>({}));throw new Error(J.error||`HTTP ${F.status}`)}}set(ne,"submitted"),set(ie,""),setTimeout(()=>{set(O,"requests"),be()},1500)}catch(F){set(ne,"confirming"),set(ie,F.message||"Failed to submit. Please try again.",!0)}}}function ve(){z(),get(se)&&get(se).state!=="inactive"&&get(se).stop(),set(se,null),set(ne,"idle"),set(ie,""),Ee=[],set(ae,null),set(Ie,""),set(Se,"")}let U=state(proxy([])),X=state("idle"),fe=state(0),le=state(!1),we=state(null);function Le(){return get(we)||set(we,new AgentBridge({proxyUrl:A(),model:M()||void 0,maxSteps:20,appContext:R()||void 0,endpoint:g(),project:m(),registeredTools:C(),onMessagesChange:F=>{set(U,F,!0)},onStateChange:(F,J)=>{set(X,F,!0),set(fe,J,!0)}}),!0),get(we)}function Ce(){var F;(F=get(we))==null||F.invalidateNotesCache()}user_effect(()=>{get(O)==="agent"&&!get(P)&&set(P,!0)}),user_effect(()=>{get(O)==="notes"&&!get(W)&&set(W,!0)});function He(F){Le().execute(F)}function Re(){var F;(F=get(we))==null||F.stop()}function H(F){var J;(J=get(we))==null||J.approve(F)}function L(F){var J;(J=get(we))==null||J.skip(F)}function Y(F){set(le,F,!0),get(we)&&(get(we).autoApprove=F)}onDestroy(()=>{var F;(F=get(we))==null||F.dispose(),z(),get(se)&&get(se).state!=="inactive"&&get(se).stop()});let ee=state(proxy([])),pe=state(!1),te=state(""),ce=user_derived(()=>get(ee).filter(F=>F.status==="completed").length);async function be(){set(pe,!0),set(te,"");const F=await fetchReports(g());set(ee,F.reports,!0),F.error&&set(te,F.error,!0),set(pe,!1)}user_effect(()=>{g()&&be()});let De=state(""),Te=state(""),ze=state("bug"),Be=state("medium"),K=state(proxy([])),Ze=state(proxy([])),tt=state(proxy([])),We=state(proxy([])),ot=state(proxy([])),Rt=state(void 0);const cn=["image/png","image/jpeg","image/gif","image/webp","image/svg+xml"];function Gn(){var F;(F=get(Rt))==null||F.click()}async function Ue(F){const J=F.target,ye=J.files;if(!(!ye||ye.length===0)){for(const de of ye)try{const ke=await Ye(de);cn.includes(de.type)?(set(K,[...get(K),ke],!0),xt(`Image added: ${de.name}`,"success")):(set(Ze,[...get(Ze),{name:de.name,type:de.type||"application/octet-stream",data:ke,size:de.size}],!0),xt(`File attached: ${de.name}`,"success"))}catch{xt(`Failed to read: ${de.name}`,"error")}J.value=""}}function Ye(F){return new Promise((J,ye)=>{const de=new FileReader;de.onload=()=>J(de.result),de.onerror=()=>ye(de.error),de.readAsDataURL(F)})}function Nt(F){set(Ze,get(Ze).filter((J,ye)=>ye!==F),!0)}function gn(F){return F<1024?`${F}B`:F<1024*1024?`${(F/1024).toFixed(1)}KB`:`${(F/(1024*1024)).toFixed(1)}MB`}let ht=state(!1),kn=state(!1),Jt=state(!1),Pt=state(null),vn=state(!1),kt=state(null),Zt=state(""),Hn=state(void 0),qn=!1;user_effect(()=>{_()&&!qn&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{var F;(F=get(Hn))==null||F.focus()})}),get(O)==="new"&&setTimeout(()=>{captureViewportQuick().then(F=>{get(K).length===0?set(K,[F],!0):set(K,[F,...get(K).slice(1)],!0)}).catch(()=>{})},300)),qn=_()});let ir=state(""),ar=state("success"),Pn=state(!1);function xt(F,J){set(ir,F,!0),set(ar,J,!0),set(Pn,!0),setTimeout(()=>{set(Pn,!1)},3e3)}async function Yn(){set(kn,!0);try{const F=await captureViewport();set(Zt,F,!0),set(kt,get(K).length,!0)}catch(F){console.error("[jat-feedback] Screenshot failed:",F),xt("Screenshot failed: "+(F instanceof Error?F.message:"unknown error"),"error")}finally{set(kn,!1)}}function _r(F){set(K,get(K).filter((J,ye)=>ye!==F),!0)}function br(F){set(Zt,get(K)[F],!0),set(kt,F,!0)}function lr(F){get(kt)!==null&&(get(kt)>=get(K).length?(set(K,[...get(K),F],!0),xt(`Screenshot captured (${get(K).length})`,"success")):(set(K,get(K).map((J,ye)=>ye===get(kt)?F:J),!0),xt("Screenshot updated","success"))),set(kt,null),set(Zt,"")}function yr(){get(kt)!==null&&get(kt)>=get(K).length&&(set(K,[...get(K),get(Zt)],!0),xt(`Screenshot captured (${get(K).length})`,"success")),set(kt,null),set(Zt,"")}function cr(){set(Jt,!0),startElementPicker(F=>{set(tt,[...get(tt),F],!0),set(Jt,!1),xt(`Element captured: <${F.tagName.toLowerCase()}>`,"success")})}function Zn(){set(We,getCapturedLogs(),!0),set(ot,getCapturedRequests(),!0)}async function wr(F){if(F.preventDefault(),!get(De).trim())return;set(ht,!0),Zn();const J={};if((b()||y()||w()||x())&&(J.reporter={},b()&&(J.reporter.userId=b()),y()&&(J.reporter.email=y()),w()&&(J.reporter.name=w()),x()&&(J.reporter.role=x())),(E()||S())&&(J.organization={},E()&&(J.organization.id=E()),S()&&(J.organization.name=S())),get(V)){const ke=stopRecording();set(q,ke,!0),set(V,!1)}let ye;if(get(q).length>0){const ke=crypto.randomUUID(),Pe=await uploadRecording(g(),get(q),ke);Pe.ok&&Pe.recording_url&&(ye=Pe.recording_url)}const de={title:get(De).trim(),description:get(Te).trim(),type:get(ze),priority:get(Be),project:m()||"",page_url:window.location.href,user_agent:navigator.userAgent,console_logs:get(We).length>0?get(We):null,network_requests:get(ot).length>0?get(ot):null,selected_elements:get(tt).length>0?get(tt):null,recording_events:null,screenshots:get(K).length>0?get(K):null,attachments:get(Ze).length>0?get(Ze):null,metadata:Object.keys(J).length>0?J:null,recording_url:ye||null};try{const ke=await submitReport(g(),de);if(ke.ok){if(de.recording_url){const Pe={recording_url:de.recording_url,console_logs:de.console_logs,network_requests:de.network_requests};Le().setReportContext(Pe)}set(Pt,ke.id,!0),set(vn,!!de.recording_url),xt(`Report submitted (${ke.id})`,"success"),xr(),setTimeout(()=>{be(),set(O,"requests")},1200)}else enqueue(g(),de),xt("Queued for retry (endpoint unreachable)","error")}catch{enqueue(g(),de),xt("Queued for retry (endpoint unreachable)","error")}finally{set(ht,!1)}}function xr(){set(De,""),set(Te,""),set(ze,"bug"),set(Be,"medium"),set(K,[],!0),set(Ze,[],!0),set(tt,[],!0),set(We,[],!0),set(ot,[],!0),set(q,[],!0),get(V)&&(stopRecording(),set(V,!1))}user_effect(()=>{Zn()});function Kn(F){F.stopPropagation()}const Er=[{value:"bug",label:"Bug"},{value:"enhancement",label:"Enhancement"},{value:"other",label:"Other"}],Sr=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"critical",label:"Critical"}];function $e(){return get(K).length+get(Ze).length+get(tt).length}var Fe={get endpoint(){return g()},set endpoint(F){g(F),flushSync()},get project(){return m()},set project(F){m(F),flushSync()},get isOpen(){return _()},set isOpen(F=!1){_(F),flushSync()},get userId(){return b()},set userId(F=""){b(F),flushSync()},get userEmail(){return y()},set userEmail(F=""){y(F),flushSync()},get userName(){return w()},set userName(F=""){w(F),flushSync()},get userRole(){return x()},set userRole(F=""){x(F),flushSync()},get orgId(){return E()},set orgId(F=""){E(F),flushSync()},get orgName(){return S()},set orgName(F=""){S(F),flushSync()},get onclose(){return k()},set onclose(F){k(F),flushSync()},get ongrip(){return I()},set ongrip(F){I(F),flushSync()},get agentProxy(){return A()},set agentProxy(F=""){A(F),flushSync()},get agentModel(){return M()},set agentModel(F=""){M(F),flushSync()},get agentContext(){return R()},set agentContext(F=""){R(F),flushSync()},get registeredTools(){return C()},set registeredTools(F=[]){C(F),flushSync()},get supabaseUrl(){return $()},set supabaseUrl(F=""){$(F),flushSync()},get supabaseAnonKey(){return N()},set supabaseAnonKey(F=""){N(F),flushSync()}},Ke=root$1(),at=first_child(Ke),Ct=child(at),lt=child(Ct);{var nt=F=>{var J=root_1$1();delegated("mousedown",J,function(...ye){var de;(de=I())==null||de.apply(this,ye)}),append(F,J)};if_block(lt,F=>{I()&&F(nt)})}var Ve=sibling(lt,2),gt=child(Ve);let Ge;var mt=sibling(gt,2);let Qt;var Qe=sibling(child(mt),2);{var mn=F=>{var J=root_2$1(),ye=child(J,!0);reset(J),template_effect(()=>set_text(ye,get(ce))),append(F,J)};if_block(Qe,F=>{get(ce)>0&&F(mn)})}reset(mt);var _n=sibling(mt,2);{var Cn=F=>{var J=root_3();let ye;template_effect(()=>ye=set_class(J,1,"tab svelte-nv4d5v",null,ye,{active:get(O)==="agent"})),delegated("click",J,()=>{set(O,"agent"),set(P,!0)}),append(F,J)};if_block(_n,F=>{A()&&F(Cn)})}var Bt=sibling(_n,2);let In;var Dt=sibling(Bt,2);let Tn;reset(Ve);var Xn=sibling(Ve,2);reset(Ct);var An=sibling(Ct,2);{var Jn=F=>{var J=root_4(),ye=child(J),de=sibling(child(ye),2);remove_input_defaults(de),bind_this(de,me=>set(Hn,me),()=>get(Hn)),reset(ye);var ke=sibling(ye,2),Pe=sibling(child(ke),2);remove_textarea_child(Pe),reset(ke);var Xe=sibling(ke,2),ct=child(Xe),dt=sibling(child(ct),2);each(dt,21,()=>Er,index,(me,Ne)=>{var et=root_5(),ut=child(et,!0);reset(et);var rt={};template_effect(()=>{set_text(ut,get(Ne).label),rt!==(rt=get(Ne).value)&&(et.value=(et.__value=get(Ne).value)??"")}),append(me,et)}),reset(dt),reset(ct);var wt=sibling(ct,2),$t=sibling(child(wt),2);each($t,21,()=>Sr,index,(me,Ne)=>{var et=root_6(),ut=child(et,!0);reset(et);var rt={};template_effect(()=>{set_text(ut,get(Ne).label),rt!==(rt=get(Ne).value)&&(et.value=(et.__value=get(Ne).value)??"")}),append(me,et)}),reset($t),reset(wt),reset(Xe);var je=sibling(Xe,2),it=child(je),_t=child(it),un=child(_t);{var Nn=me=>{var Ne=root_7();next(),append(me,Ne)},dr=me=>{var Ne=root_8(),et=sibling(first_child(Ne),2);{var ut=rt=>{var vt=root_9(),Mt=child(vt,!0);reset(vt),template_effect(()=>set_text(Mt,get(K).length)),append(rt,vt)};if_block(et,rt=>{get(K).length>0&&rt(ut)})}append(me,Ne)};if_block(un,me=>{get(kn)?me(Nn):me(dr,!1)})}reset(_t);var fn=sibling(_t,2),ur=sibling(child(fn),2);{var fr=me=>{var Ne=text("Click an element...");append(me,Ne)},pr=me=>{var Ne=root_11(),et=sibling(first_child(Ne));{var ut=rt=>{var vt=root_12(),Mt=child(vt,!0);reset(vt),template_effect(()=>set_text(Mt,get(tt).length)),append(rt,vt)};if_block(et,rt=>{get(tt).length>0&&rt(ut)})}append(me,Ne)};if_block(ur,me=>{get(Jt)?me(fr):me(pr,!1)})}reset(fn);var pn=sibling(fn,2);let Lt;var Qn=child(pn);{var kr=me=>{var Ne=root_13();next(),append(me,Ne)},Jr=me=>{var Ne=root_14(),et=sibling(first_child(Ne),2);{var ut=rt=>{var vt=root_15(),Mt=child(vt,!0);reset(vt),template_effect(()=>set_text(Mt,get(q).length)),append(rt,vt)};if_block(et,rt=>{get(q).length>0&&rt(ut)})}append(me,Ne)};if_block(Qn,me=>{get(V)?me(kr):me(Jr,!1)})}reset(pn);var er=sibling(pn,2),Qr=sibling(child(er),2);{var eo=me=>{var Ne=root_16(),et=child(Ne,!0);reset(Ne),template_effect(()=>set_text(et,get(Ze).length)),append(me,Ne)};if_block(Qr,me=>{get(Ze).length>0&&me(eo)})}reset(er);var Br=sibling(er,2);bind_this(Br,me=>set(Rt,me),()=>get(Rt)),reset(it);var to=sibling(it,2);ScreenshotPreview(to,{get screenshots(){return get(K)},get capturing(){return get(kn)},oncapture:Yn,onremove:_r,onedit:br}),reset(je);var Ur=sibling(je,2);{var no=me=>{var Ne=root_17();each(Ne,21,()=>get(Ze),index,(et,ut,rt)=>{var vt=root_18(),Mt=child(vt),Tr=child(Mt);{var tr=Gt=>{var rr=root_19();append(Gt,rr)},Ar=user_derived(()=>get(ut).type.includes("pdf")),Rr=Gt=>{var rr=root_20();append(Gt,rr)},$n=user_derived(()=>get(ut).type.includes("markdown")||get(ut).name.endsWith(".md")),nr=Gt=>{var rr=root_21();append(Gt,rr)};if_block(Tr,Gt=>{get(Ar)?Gt(tr):get($n)?Gt(Rr,1):Gt(nr,!1)})}reset(Mt);var Nr=sibling(Mt,2),uo=child(Nr,!0);reset(Nr);var $r=sibling(Nr,2),fo=child($r,!0);reset($r);var po=sibling($r,2);reset(vt),template_effect(Gt=>{set_text(uo,get(ut).name),set_text(fo,Gt)},[()=>gn(get(ut).size)]),delegated("click",po,()=>Nt(rt)),append(et,vt)}),reset(Ne),append(me,Ne)};if_block(Ur,me=>{get(Ze).length>0&&me(no)})}var jr=sibling(Ur,2);{var ro=me=>{var Ne=root_22();each(Ne,21,()=>get(tt),index,(et,ut,rt)=>{var vt=root_23(),Mt=child(vt),Tr=child(Mt);reset(Mt);var tr=sibling(Mt,2),Ar=child(tr,!0);reset(tr);var Rr=sibling(tr,2);reset(vt),template_effect(($n,nr)=>{set_text(Tr,`<${$n??""}>`),set_text(Ar,nr)},[()=>get(ut).tagName.toLowerCase(),()=>{var $n;return(($n=get(ut).textContent)==null?void 0:$n.substring(0,40))||get(ut).selector}]),delegated("click",Rr,()=>{set(tt,get(tt).filter(($n,nr)=>nr!==rt),!0)}),append(et,vt)}),reset(Ne),append(me,Ne)};if_block(jr,me=>{get(tt).length>0&&me(ro)})}var Wr=sibling(jr,2);ConsoleLogList(Wr,{get logs(){return get(We)}});var Vr=sibling(Wr,2);{var oo=me=>{var Ne=root_24(),et=child(Ne);reset(Ne),template_effect((ut,rt)=>set_text(et,`${ut??""} attachment${rt??""} will be included`),[$e,()=>$e()>1?"s":""]),append(me,Ne)},so=user_derived(()=>$e()>0);if_block(Vr,me=>{get(so)&&me(oo)})}var Gr=sibling(Vr,2),Cr=child(Gr),io=child(Cr);reset(Cr);var Ir=sibling(Cr,2),hr=sibling(Ir,2),ao=child(hr);{var lo=me=>{var Ne=root_25();next(),append(me,Ne)},co=me=>{var Ne=text("Submit");append(me,Ne)};if_block(ao,me=>{get(ht)?me(lo):me(co,!1)})}reset(hr),reset(Gr),reset(J),template_effect(me=>{de.disabled=get(ht),Pe.disabled=get(ht),dt.disabled=get(ht),$t.disabled=get(ht),_t.disabled=get(kn),fn.disabled=get(Jt),Lt=set_class(pn,1,"tool-btn svelte-nv4d5v",null,Lt,{"recording-active":get(V)}),pn.disabled=get(ht),er.disabled=get(ht),set_text(io,`v${h}`),Ir.disabled=get(ht),hr.disabled=me,set_attribute(hr,"title",get(V)?"Stop recording first, or click Submit to auto-stop":"")},[()=>get(ht)||!get(De).trim()]),event("submit",J,wr),bind_value(de,()=>get(De),me=>set(De,me)),bind_value(Pe,()=>get(Te),me=>set(Te,me)),bind_select_value(dt,()=>get(ze),me=>set(ze,me)),bind_select_value($t,()=>get(Be),me=>set(Be,me)),delegated("click",_t,Yn),delegated("click",fn,cr),delegated("click",pn,he),delegated("click",er,Gn),delegated("change",Br,Ue),delegated("click",Ir,function(...me){var Ne;(Ne=k())==null||Ne.apply(this,me)}),transition(3,J,()=>slide,()=>({duration:200})),append(F,J)};if_block(An,F=>{get(O)==="new"&&F(Jn)})}var st=sibling(An,2);{var Et=F=>{var J=root_27(),ye=child(J);{var de=Pe=>{var Xe=root_28(),ct=sibling(child(Xe),4),dt=sibling(ct,2);reset(Xe),template_effect(()=>set_attribute(ct,"href",`${g()??""}/feedback/replay?id=${get(Pt)??""}`)),delegated("click",dt,()=>{set(Pt,null),set(vn,!1)}),append(Pe,Xe)};if_block(ye,Pe=>{get(Pt)&&get(vn)&&Pe(de)})}var ke=sibling(ye,2);RequestList(ke,{get endpoint(){return g()},get loading(){return get(pe)},get error(){return get(te)},onreload:be,get reports(){return get(ee)},set reports(Pe){set(ee,Pe,!0)}}),reset(J),transition(3,J,()=>slide,()=>({duration:200})),append(F,J)};if_block(st,F=>{get(O)==="requests"&&F(Et)})}var Ut=sibling(st,2);{var jt=F=>{var J=root_29(),ye=child(J);{let de=user_derived(()=>{var ke;return((ke=get(we))==null?void 0:ke.getMaxSteps())??20});AgentPanel(ye,{get messages(){return get(U)},get agentState(){return get(X)},get currentStep(){return get(fe)},get maxSteps(){return get(de)},get autoApprove(){return get(le)},onsend:He,onstop:Re,onapprove:H,onskip:L,onautoapprovechange:Y})}reset(J),transition(3,J,()=>slide,()=>({duration:200})),append(F,J)};if_block(Ut,F=>{get(O)==="agent"&&get(P)&&F(jt)})}var en=sibling(Ut,2);{var Wt=F=>{var J=root_30(),ye=child(J);NotesPanel(ye,{get endpoint(){return g()},get project(){return m()},onnoteschanged:Ce}),reset(J),transition(3,J,()=>slide,()=>({duration:200})),append(F,J)};if_block(en,F=>{get(O)==="notes"&&get(W)&&F(Wt)})}var Vt=sibling(en,2);{var Rn=F=>{var J=root_31(),ye=child(J),de=child(ye);{var ke=je=>{var it=root_32(),_t=sibling(first_child(it),2),un=child(_t);reset(_t),next(2),delegated("click",un,B),append(je,it)},Pe=je=>{var it=root_33(),_t=sibling(first_child(it),2),un=child(_t);next(2),reset(_t),delegated("click",un,Q),append(je,it)},Xe=je=>{var it=root_34();append(je,it)},ct=je=>{var it=root_35();next(2),append(je,it)},dt=je=>{var it=root_36(),_t=sibling(child(it),2);{var un=Lt=>{var Qn=root_37(),kr=child(Qn,!0);reset(Qn),template_effect(()=>set_text(kr,get(ie))),append(Lt,Qn)};if_block(_t,Lt=>{get(ie)&&Lt(un)})}var Nn=sibling(_t,2),dr=sibling(child(Nn),2);remove_input_defaults(dr),reset(Nn);var fn=sibling(Nn,2),ur=sibling(child(fn),2);remove_textarea_child(ur),reset(fn);var fr=sibling(fn,2),pr=child(fr),pn=sibling(pr,2);reset(fr),reset(it),template_effect(Lt=>pn.disabled=Lt,[()=>!get(Ie).trim()]),bind_value(dr,()=>get(Ie),Lt=>set(Ie,Lt)),bind_value(ur,()=>get(Se),Lt=>set(Se,Lt)),delegated("click",pr,ve),delegated("click",pn,re),append(je,it)},wt=je=>{var it=root_38();next(2),append(je,it)},$t=je=>{var it=root_39(),_t=sibling(first_child(it),2),un=child(_t,!0);reset(_t);var Nn=sibling(_t,2);template_effect(()=>set_text(un,get(ie))),delegated("click",Nn,ve),append(je,it)};if_block(de,je=>{get(ne)==="idle"?je(ke):get(ne)==="recording"?je(Pe,1):get(ne)==="uploading"?je(Xe,2):get(ne)==="transcribing"?je(ct,3):get(ne)==="confirming"?je(dt,4):get(ne)==="submitted"?je(wt,5):get(ne)==="error"&&je($t,6)})}reset(ye),reset(J),transition(3,J,()=>slide,()=>({duration:200})),append(F,J)};if_block(Vt,F=>{get(O)==="voice"&&F(Rn)})}var yt=sibling(Vt,2);StatusToast(yt,{get message(){return get(ir)},get type(){return get(ar)},get visible(){return get(Pn)}}),reset(at);var It=sibling(at,2);{var dn=F=>{AnnotationEditor(F,{get imageDataUrl(){return get(Zt)},onsave:lr,oncancel:yr})};if_block(It,F=>{get(kt)!==null&&F(dn)})}return template_effect(()=>{Ge=set_class(gt,1,"tab svelte-nv4d5v",null,Ge,{active:get(O)==="new"}),Qt=set_class(mt,1,"tab svelte-nv4d5v",null,Qt,{active:get(O)==="requests"}),In=set_class(Bt,1,"tab svelte-nv4d5v",null,In,{active:get(O)==="notes"}),Tn=set_class(Dt,1,"tab svelte-nv4d5v",null,Tn,{active:get(O)==="voice"})}),delegated("keydown",at,Kn),delegated("keyup",at,Kn),event("keypress",at,Kn),delegated("click",gt,()=>set(O,"new")),delegated("click",mt,()=>set(O,"requests")),delegated("click",Bt,()=>{set(O,"notes"),set(W,!0)}),delegated("click",Dt,()=>set(O,"voice")),delegated("click",Xn,function(...F){var J;(J=k())==null||J.apply(this,F)}),append(d,Ke),pop(Fe)}delegate(["keydown","keyup","mousedown","click","change"]),create_custom_element(FeedbackPanel,{endpoint:{},project:{},isOpen:{},userId:{},userEmail:{},userName:{},userRole:{},orgId:{},orgName:{},onclose:{},ongrip:{},agentProxy:{},agentModel:{},agentContext:{},registeredTools:{},supabaseUrl:{},supabaseAnonKey:{}},[],[],{mode:"open"});var root_1=from_html("<div><!></div>"),root_2=from_html('<div class="jat-feedback-panel svelte-qpyrvv"><div class="no-endpoint svelte-qpyrvv"><p class="svelte-qpyrvv">No endpoint configured.</p> <p class="svelte-qpyrvv">Add the <code class="svelte-qpyrvv">endpoint</code> attribute:</p> <code class="example svelte-qpyrvv">&lt;jat-feedback endpoint="http://localhost:3333"&gt;</code></div></div>'),root=from_html('<div class="jat-feedback-root svelte-qpyrvv" data-page-agent-not-interactive=""><!> <!></div>');const $$css={hash:"svelte-qpyrvv",code:`.jat-feedback-root.svelte-qpyrvv {position:fixed;z-index:2147483647;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;}.jat-feedback-panel.svelte-qpyrvv {position:absolute;
447
447
  animation: svelte-qpyrvv-panel-in 0.2s ease;}.jat-feedback-panel.hidden.svelte-qpyrvv {display:none;}.jat-feedback-panel.dragging.svelte-qpyrvv {pointer-events:none;opacity:0.9;}.no-endpoint.svelte-qpyrvv {width:320px;background:#111827;border:1px solid #374151;border-radius:12px;padding:20px;color:#d1d5db;font-size:13px;box-shadow:0 20px 60px rgba(0,0,0,0.4);}.no-endpoint.svelte-qpyrvv p:where(.svelte-qpyrvv) {margin:0 0 8px;}.no-endpoint.svelte-qpyrvv code:where(.svelte-qpyrvv) {font-family:'SF Mono', 'Fira Code', monospace;font-size:11px;color:#93c5fd;}.no-endpoint.svelte-qpyrvv code.example:where(.svelte-qpyrvv) {display:block;background:#1f2937;padding:8px 10px;border-radius:4px;margin-top:4px;}
448
448
  @keyframes svelte-qpyrvv-panel-in {
449
449
  from { opacity: 0; transform: translateY(8px) scale(0.96); }
450
450
  to { opacity: 1; transform: translateY(0) scale(1); }
451
- }`};function JatFeedback(d,p){push(p,!0),append_styles(d,$$css);let h=prop(p,"endpoint",7,""),g=prop(p,"project",7,""),m=prop(p,"position",7,"bottom-right"),_=prop(p,"theme",7,"dark"),b=prop(p,"buttoncolor",7,"#3b82f6"),y=prop(p,"user-id",7,""),w=prop(p,"user-email",7,""),x=prop(p,"user-name",7,""),E=prop(p,"user-role",7,""),S=prop(p,"org-id",7,""),k=prop(p,"org-name",7,""),I=prop(p,"agent-proxy",7,""),A=prop(p,"agent-model",7,""),M=prop(p,"agent-context",7,""),R=prop(p,"supabase-url",7,""),C=prop(p,"supabase-anon-key",7,""),$=state(!1),N=state(!1),O=state(proxy([])),P=state(!1),W={x:0,y:0},V=state(void 0);const q=5;function he(B,{onDragEnd:Q}={}){if(!get(V))return;const de=B.clientX,re=B.clientY,ve=get(V).getBoundingClientRect();W={x:B.clientX-ve.left,y:B.clientY-ve.top};let U=!1;function X(le){if(!get(V))return;const we=le.clientX-de,Le=le.clientY-re;if(!U&&Math.abs(we)+Math.abs(Le)<q)return;U=!0,set(P,!0),le.preventDefault();const Ce=le.clientX-W.x,He=le.clientY-W.y;get(V).style.top=`${He}px`,get(V).style.left=`${Ce}px`,get(V).style.bottom="auto",get(V).style.right="auto"}function fe(){set(P,!1),window.removeEventListener("mousemove",X),window.removeEventListener("mouseup",fe),Q==null||Q(U)}window.addEventListener("mousemove",X),window.addEventListener("mouseup",fe)}function ne(B){he(B)}function ie(B){B.button===0&&(B.preventDefault(),he(B,{onDragEnd(Q){Q||Ie()}}))}let se=null;function Ee(){se=setInterval(()=>{const B=isElementPickerActive();B&&!get(N)?set(N,!0):!B&&get(N)&&set(N,!1)},100)}let ae=user_derived(()=>({...DEFAULT_CONFIG,endpoint:h()||DEFAULT_CONFIG.endpoint,position:m()||DEFAULT_CONFIG.position,theme:_()||DEFAULT_CONFIG.theme,buttonColor:b()||DEFAULT_CONFIG.buttonColor}));function Ie(){set($,!get($))}function Se(){set($,!1)}const ge={"bottom-right":"bottom: 20px; right: 20px;","bottom-left":"bottom: 20px; left: 20px;","top-right":"top: 20px; right: 20px;","top-left":"top: 20px; left: 20px;"},xe={"bottom-right":"bottom: 80px; right: 0;","bottom-left":"bottom: 80px; left: 0;","top-right":"top: 80px; right: 0;","top-left":"top: 80px; left: 0;"};function T(B){if(B.key==="Escape"&&get($)){if(isAnnotationEditorOpen())return;B.stopPropagation(),B.stopImmediatePropagation(),Se()}}onMount(()=>{get(ae).captureConsole&&(startConsoleCapture(get(ae).maxConsoleLogs),startNetworkCapture()),startRetryLoop(),Ee(),window.addEventListener("keydown",T,!0);const B=()=>{set($,!0)};window.addEventListener("jat-feedback:open",B);const Q=p.$$host;return Q.registerTools=de=>{set(O,[...get(O),...de],!0)},()=>window.removeEventListener("jat-feedback:open",B)}),onDestroy(()=>{stopConsoleCapture(),stopNetworkCapture(),stopRetryLoop(),window.removeEventListener("keydown",T,!0),se&&clearInterval(se)});var z={get endpoint(){return h()},set endpoint(B=""){h(B),flushSync()},get project(){return g()},set project(B=""){g(B),flushSync()},get position(){return m()},set position(B="bottom-right"){m(B),flushSync()},get theme(){return _()},set theme(B="dark"){_(B),flushSync()},get buttoncolor(){return b()},set buttoncolor(B="#3b82f6"){b(B),flushSync()},get"user-id"(){return y()},set"user-id"(B=""){y(B),flushSync()},get"user-email"(){return w()},set"user-email"(B=""){w(B),flushSync()},get"user-name"(){return x()},set"user-name"(B=""){x(B),flushSync()},get"user-role"(){return E()},set"user-role"(B=""){E(B),flushSync()},get"org-id"(){return S()},set"org-id"(B=""){S(B),flushSync()},get"org-name"(){return k()},set"org-name"(B=""){k(B),flushSync()},get"agent-proxy"(){return I()},set"agent-proxy"(B=""){I(B),flushSync()},get"agent-model"(){return A()},set"agent-model"(B=""){A(B),flushSync()},get"agent-context"(){return M()},set"agent-context"(B=""){M(B),flushSync()},get"supabase-url"(){return R()},set"supabase-url"(B=""){R(B),flushSync()},get"supabase-anon-key"(){return C()},set"supabase-anon-key"(B=""){C(B),flushSync()}},D=root(),Z=child(D);{var G=B=>{var Q=root_1();let de;var re=child(Q);FeedbackPanel(re,{get endpoint(){return get(ae).endpoint},get project(){return g()},get isOpen(){return get($)},get userId(){return y()},get userEmail(){return w()},get userName(){return x()},get userRole(){return E()},get orgId(){return S()},get orgName(){return k()},get agentProxy(){return I()},get agentModel(){return A()},get agentContext(){return M()},get registeredTools(){return get(O)},get supabaseUrl(){return R()},get supabaseAnonKey(){return C()},onclose:Se,ongrip:ne}),reset(Q),template_effect(()=>{de=set_class(Q,1,"jat-feedback-panel svelte-qpyrvv",null,de,{dragging:get(P),hidden:!get($)}),set_style(Q,xe[get(ae).position]||xe["bottom-right"])}),append(B,Q)},oe=B=>{var Q=root_2();template_effect(()=>set_style(Q,xe[get(ae).position]||xe["bottom-right"])),append(B,Q)};if_block(Z,B=>{get(ae).endpoint?B(G):get($)&&B(oe,1)})}var _e=sibling(Z,2);return FeedbackButton(_e,{onmousedown:ie,get open(){return get($)}}),reset(D),bind_this(D,B=>set(V,B),()=>get(V)),template_effect(()=>set_style(D,`${(ge[get(ae).position]||ge["bottom-right"])??""}; --jat-btn-color: ${get(ae).buttonColor??""}; ${get(N)?"display: none;":""}`)),append(d,D),pop(z)}customElements.define("jat-feedback",create_custom_element(JatFeedback,{endpoint:{},project:{},position:{},theme:{},buttoncolor:{},"user-id":{},"user-email":{},"user-name":{},"user-role":{},"org-id":{},"org-name":{},"agent-proxy":{},"agent-model":{},"agent-context":{},"supabase-url":{},"supabase-anon-key":{}},[],[],{mode:"open"}));/**
451
+ }`};function JatFeedback(d,p){push(p,!0),append_styles(d,$$css);let h=prop(p,"endpoint",7,""),g=prop(p,"project",7,""),m=prop(p,"position",7,"bottom-right"),_=prop(p,"theme",7,"dark"),b=prop(p,"buttoncolor",7,"#3b82f6"),y=prop(p,"user-id",7,""),w=prop(p,"user-email",7,""),x=prop(p,"user-name",7,""),E=prop(p,"user-role",7,""),S=prop(p,"org-id",7,""),k=prop(p,"org-name",7,""),I=prop(p,"agent-proxy",7,""),A=prop(p,"agent-model",7,""),M=prop(p,"agent-context",7,""),R=prop(p,"supabase-url",7,""),C=prop(p,"supabase-anon-key",7,""),$=state(!1),N=state(!1),O=state(proxy([])),P=state(!1),W={x:0,y:0},V=state(void 0);const q=5;function he(B,{onDragEnd:Q}={}){if(!get(V))return;const ue=B.clientX,re=B.clientY,ve=get(V).getBoundingClientRect();W={x:B.clientX-ve.left,y:B.clientY-ve.top};let U=!1;function X(le){if(!get(V))return;const we=le.clientX-ue,Le=le.clientY-re;if(!U&&Math.abs(we)+Math.abs(Le)<q)return;U=!0,set(P,!0),le.preventDefault();const Ce=le.clientX-W.x,He=le.clientY-W.y;get(V).style.top=`${He}px`,get(V).style.left=`${Ce}px`,get(V).style.bottom="auto",get(V).style.right="auto"}function fe(){set(P,!1),window.removeEventListener("mousemove",X),window.removeEventListener("mouseup",fe),Q==null||Q(U)}window.addEventListener("mousemove",X),window.addEventListener("mouseup",fe)}function ne(B){he(B)}function ie(B){B.button===0&&(B.preventDefault(),he(B,{onDragEnd(Q){Q||Ie()}}))}let se=null;function Ee(){se=setInterval(()=>{const B=isElementPickerActive();B&&!get(N)?set(N,!0):!B&&get(N)&&set(N,!1)},100)}let ae=user_derived(()=>({...DEFAULT_CONFIG,endpoint:h()||DEFAULT_CONFIG.endpoint,position:m()||DEFAULT_CONFIG.position,theme:_()||DEFAULT_CONFIG.theme,buttonColor:b()||DEFAULT_CONFIG.buttonColor}));function Ie(){set($,!get($))}function Se(){set($,!1)}const ge={"bottom-right":"bottom: 20px; right: 20px;","bottom-left":"bottom: 20px; left: 20px;","top-right":"top: 20px; right: 20px;","top-left":"top: 20px; left: 20px;"},xe={"bottom-right":"bottom: 80px; right: 0;","bottom-left":"bottom: 80px; left: 0;","top-right":"top: 80px; right: 0;","top-left":"top: 80px; left: 0;"};function T(B){if(B.key==="Escape"&&get($)){if(isAnnotationEditorOpen())return;B.stopPropagation(),B.stopImmediatePropagation(),Se()}}onMount(()=>{get(ae).captureConsole&&(startConsoleCapture(get(ae).maxConsoleLogs),startNetworkCapture()),startRetryLoop(),Ee(),window.addEventListener("keydown",T,!0);const B=()=>{set($,!0)};window.addEventListener("jat-feedback:open",B);const Q=p.$$host;return Q.registerTools=ue=>{set(O,[...get(O),...ue],!0)},()=>window.removeEventListener("jat-feedback:open",B)}),onDestroy(()=>{stopConsoleCapture(),stopNetworkCapture(),stopRetryLoop(),window.removeEventListener("keydown",T,!0),se&&clearInterval(se)});var z={get endpoint(){return h()},set endpoint(B=""){h(B),flushSync()},get project(){return g()},set project(B=""){g(B),flushSync()},get position(){return m()},set position(B="bottom-right"){m(B),flushSync()},get theme(){return _()},set theme(B="dark"){_(B),flushSync()},get buttoncolor(){return b()},set buttoncolor(B="#3b82f6"){b(B),flushSync()},get"user-id"(){return y()},set"user-id"(B=""){y(B),flushSync()},get"user-email"(){return w()},set"user-email"(B=""){w(B),flushSync()},get"user-name"(){return x()},set"user-name"(B=""){x(B),flushSync()},get"user-role"(){return E()},set"user-role"(B=""){E(B),flushSync()},get"org-id"(){return S()},set"org-id"(B=""){S(B),flushSync()},get"org-name"(){return k()},set"org-name"(B=""){k(B),flushSync()},get"agent-proxy"(){return I()},set"agent-proxy"(B=""){I(B),flushSync()},get"agent-model"(){return A()},set"agent-model"(B=""){A(B),flushSync()},get"agent-context"(){return M()},set"agent-context"(B=""){M(B),flushSync()},get"supabase-url"(){return R()},set"supabase-url"(B=""){R(B),flushSync()},get"supabase-anon-key"(){return C()},set"supabase-anon-key"(B=""){C(B),flushSync()}},D=root(),Z=child(D);{var G=B=>{var Q=root_1();let ue;var re=child(Q);FeedbackPanel(re,{get endpoint(){return get(ae).endpoint},get project(){return g()},get isOpen(){return get($)},get userId(){return y()},get userEmail(){return w()},get userName(){return x()},get userRole(){return E()},get orgId(){return S()},get orgName(){return k()},get agentProxy(){return I()},get agentModel(){return A()},get agentContext(){return M()},get registeredTools(){return get(O)},get supabaseUrl(){return R()},get supabaseAnonKey(){return C()},onclose:Se,ongrip:ne}),reset(Q),template_effect(()=>{ue=set_class(Q,1,"jat-feedback-panel svelte-qpyrvv",null,ue,{dragging:get(P),hidden:!get($)}),set_style(Q,xe[get(ae).position]||xe["bottom-right"])}),append(B,Q)},oe=B=>{var Q=root_2();template_effect(()=>set_style(Q,xe[get(ae).position]||xe["bottom-right"])),append(B,Q)};if_block(Z,B=>{get(ae).endpoint?B(G):get($)&&B(oe,1)})}var _e=sibling(Z,2);return FeedbackButton(_e,{onmousedown:ie,get open(){return get($)}}),reset(D),bind_this(D,B=>set(V,B),()=>get(V)),template_effect(()=>set_style(D,`${(ge[get(ae).position]||ge["bottom-right"])??""}; --jat-btn-color: ${get(ae).buttonColor??""}; ${get(N)?"display: none;":""}`)),append(d,D),pop(z)}customElements.define("jat-feedback",create_custom_element(JatFeedback,{endpoint:{},project:{},position:{},theme:{},buttoncolor:{},"user-id":{},"user-email":{},"user-name":{},"user-role":{},"org-id":{},"org-name":{},"agent-proxy":{},"agent-model":{},"agent-context":{},"supabase-url":{},"supabase-anon-key":{}},[],[],{mode:"open"}));/**
452
452
  * AI Motion - WebGL2 animated border with AI-style glow effects
453
453
  *
454
454
  * @author Simon<gaomeng1900@gmail.com>